diff --git a/discovery/accesscontextmanager-v1.json b/discovery/accesscontextmanager-v1.json index 471e2b1bc6..e73ad1ddc0 100644 --- a/discovery/accesscontextmanager-v1.json +++ b/discovery/accesscontextmanager-v1.json @@ -958,7 +958,7 @@ "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`.", + "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": "accesscontextmanager.operations.cancel", @@ -1205,8 +1205,8 @@ "name" ], "parameters": { - "appendScopedAccessSettings": { - "description": "Optional. This field will be used to control whether or not scoped access settings are appended to the existing list of scoped access settings. If true, the scoped access settings in the request will be appended to the existing list of scoped access settings. If false, the scoped access settings in the request replace the existing list of scoped access settings.", + "append": { + "description": "Optional. This field controls whether or not certain repeated settings in the update request overwrite or append to existing settings on the binding. If true, then append. Otherwise overwrite. So far, only scoped_access_settings with reauth_settings supports appending. Global access_levels, access_levels in scoped_access_settings, dry_run_access_levels, reauth_settings, and session_settings are not compatible with append functionality, and the request will return an error if append=true when these settings are in the update_mask. The request will also return an error if append=true when \"scoped_access_settings\" is not set in the update_mask.", "location": "query", "type": "boolean" }, @@ -1218,7 +1218,7 @@ "type": "string" }, "updateMask": { - "description": "Required. Only the fields specified in this mask are updated. Because name and group_key cannot be changed, update_mask is required and may only contain the following fields: `access_levels`, `dry_run_access_levels`, `reauth_settings`, `scoped_access_settings`. update_mask { paths: \"access_levels\" }", + "description": "Required. Only the fields specified in this mask are updated. Because name and group_key cannot be changed, update_mask is required and may only contain the following fields: `access_levels`, `dry_run_access_levels`, `reauth_settings` `session_settings`, `scoped_access_settings`. update_mask { paths: \"access_levels\" }", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1295,7 +1295,7 @@ } } }, - "revision": "20240923", + "revision": "20241216", "rootUrl": "https://accesscontextmanager.googleapis.com/", "schemas": { "AccessContextManagerOperationMetadata": { @@ -1384,9 +1384,9 @@ }, "type": "array" }, - "reauthSettings": { - "$ref": "ReauthSettings", - "description": "Optional. Reauth settings applied to user access on a given AccessScope." + "sessionSettings": { + "$ref": "SessionSettings", + "description": "Optional. Session settings applied to user access on a given AccessScope." } }, "type": "object" @@ -1807,6 +1807,10 @@ "egressTo": { "$ref": "EgressTo", "description": "Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply." + }, + "title": { + "description": "Optional. Human-readable title for the egress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters.", + "type": "string" } }, "type": "object" @@ -1905,10 +1909,6 @@ "description": "Immutable. Assigned by the server during creation. The last segment has an arbitrary length and has only URI unreserved characters (as defined by [RFC 3986 Section 2.3](https://tools.ietf.org/html/rfc3986#section-2.3)). Should not be specified by the client during creation. Example: \"organizations/256/gcpUserAccessBindings/b3-BhcX_Ud5N\"", "type": "string" }, - "reauthSettings": { - "$ref": "ReauthSettings", - "description": "Optional. GCSL policy for the group key." - }, "restrictedClientApplications": { "description": "Optional. A list of applications that are subject to this binding's restrictions. If the list is empty, the binding restrictions will universally apply to all applications.", "items": { @@ -1922,12 +1922,16 @@ "$ref": "ScopedAccessSettings" }, "type": "array" + }, + "sessionSettings": { + "$ref": "SessionSettings", + "description": "Optional. The Google Cloud session length (GCSL) policy for the group key." } }, "type": "object" }, "GcpUserAccessBindingOperationMetadata": { - "description": "Metadata of GCP Access Binding Long Running Operations.", + "description": "Metadata of Google Cloud Access Binding Long Running Operations.", "id": "GcpUserAccessBindingOperationMetadata", "properties": {}, "type": "object" @@ -2003,6 +2007,10 @@ "ingressTo": { "$ref": "IngressTo", "description": "Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply." + }, + "title": { + "description": "Optional. Human-readable title for the ingress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters.", + "type": "string" } }, "type": "object" @@ -2287,47 +2295,6 @@ }, "type": "object" }, - "ReauthSettings": { - "description": "Stores settings related to Google Cloud Session Length including session duration, the type of challenge (i.e. method) they should face when their session expires, and other related settings.", - "id": "ReauthSettings", - "properties": { - "maxInactivity": { - "description": "Optional. How long a user is allowed to take between actions before a new access token must be issued. Presently only set for Cloud Apps.", - "format": "google-duration", - "type": "string" - }, - "reauthMethod": { - "description": "Optional. Reauth method when users GCP session is up.", - "enum": [ - "REAUTH_METHOD_UNSPECIFIED", - "LOGIN", - "SECURITY_KEY", - "PASSWORD" - ], - "enumDescriptions": [ - "If method undefined in API, we will use LOGIN by default.", - "The user will prompted to perform regular login. Users who are enrolled for two-step verification and haven't chosen to \"Remember this computer\" will be prompted for their second factor.", - "The user will be prompted to autheticate using their security key. If no security key has been configured, then we will fallback to LOGIN.", - "The user will be prompted for their password." - ], - "type": "string" - }, - "sessionLength": { - "description": "Optional. The session length. Setting this field to zero is equal to disabling. Reauth. Also can set infinite session by flipping the enabled bit to false below. If use_oidc_max_age is true, for OIDC apps, the session length will be the minimum of this field and OIDC max_age param.", - "format": "google-duration", - "type": "string" - }, - "sessionLengthEnabled": { - "description": "Optional. Big red button to turn off GCSL. When false, all fields set above will be disregarded and the session length is basically infinite.", - "type": "boolean" - }, - "useOidcMaxAge": { - "description": "Optional. Only useful for OIDC apps. When false, the OIDC max_age param, if passed in the authentication request will be ignored. When true, the re-auth period will be the minimum of the session_length field and the max_age OIDC param.", - "type": "boolean" - } - }, - "type": "object" - }, "ReplaceAccessLevelsRequest": { "description": "A request to replace all existing Access Levels in an Access Policy with the Access Levels provided. This is done atomically.", "id": "ReplaceAccessLevelsRequest", @@ -2419,6 +2386,10 @@ "description": "Description of the `ServicePerimeter` and its use. Does not affect behavior.", "type": "string" }, + "etag": { + "description": "Optional. An opaque identifier for the current version of the `ServicePerimeter`. This identifier does not follow any specific format. If an etag is not provided, the operation will be performed as if a valid etag is provided.", + "type": "string" + }, "name": { "description": "Identifier. Resource name for the `ServicePerimeter`. Format: `accessPolicies/{access_policy}/servicePerimeters/{service_perimeter}`. The `service_perimeter` component must begin with a letter, followed by alphanumeric characters or `_`. After you create a `ServicePerimeter`, you cannot change its `name`.", "type": "string" @@ -2500,6 +2471,47 @@ }, "type": "object" }, + "SessionSettings": { + "description": "Stores settings related to Google Cloud Session Length including session duration, the type of challenge (i.e. method) they should face when their session expires, and other related settings.", + "id": "SessionSettings", + "properties": { + "maxInactivity": { + "description": "Optional. How long a user is allowed to take between actions before a new access token must be issued. Only set for Google Cloud apps.", + "format": "google-duration", + "type": "string" + }, + "sessionLength": { + "description": "Optional. The session length. Setting this field to zero is equal to disabling session. Also can set infinite session by flipping the enabled bit to false below. If use_oidc_max_age is true, for OIDC apps, the session length will be the minimum of this field and OIDC max_age param.", + "format": "google-duration", + "type": "string" + }, + "sessionLengthEnabled": { + "description": "Optional. This field enables or disables Google Cloud session length. When false, all fields set above will be disregarded and the session length is basically infinite.", + "type": "boolean" + }, + "sessionReauthMethod": { + "description": "Optional. Session method when user's Google Cloud session is up.", + "enum": [ + "SESSION_REAUTH_METHOD_UNSPECIFIED", + "LOGIN", + "SECURITY_KEY", + "PASSWORD" + ], + "enumDescriptions": [ + "If method is undefined in the API, LOGIN will be used by default.", + "The user will be prompted to perform regular login. Users who are enrolled for two-step verification and haven't chosen \"Remember this computer\" will be prompted for their second factor.", + "The user will be prompted to authenticate using their security key. If no security key has been configured, then authentication will fallback to LOGIN.", + "The user will be prompted for their password." + ], + "type": "string" + }, + "useOidcMaxAge": { + "description": "Optional. Only useful for OIDC apps. When false, the OIDC max_age param, if passed in the authentication request will be ignored. When true, the re-auth period will be the minimum of the session_length field and the max_age OIDC param.", + "type": "boolean" + } + }, + "type": "object" + }, "SetIamPolicyRequest": { "description": "Request message for `SetIamPolicy` method.", "id": "SetIamPolicyRequest", diff --git a/discovery/addressvalidation-v1.json b/discovery/addressvalidation-v1.json index 8b20f509ea..1f3d9b164f 100644 --- a/discovery/addressvalidation-v1.json +++ b/discovery/addressvalidation-v1.json @@ -151,7 +151,7 @@ } } }, - "revision": "20240703", + "revision": "20241120", "rootUrl": "https://addressvalidation.googleapis.com/", "schemas": { "GoogleGeoTypeViewport": { @@ -181,7 +181,7 @@ "type": "array" }, "formattedAddress": { - "description": "The post-processed address, formatted as a single-line address following the address formatting rules of the region where the address is located.", + "description": "The post-processed address, formatted as a single-line address following the address formatting rules of the region where the address is located. Note: the format of this address may not match the format of the address in the `postal_address` field. For example, the `postal_address` always represents the country as a 2 letter `region_code`, such as \"US\" or \"NZ\". By contrast, this field uses a longer form of the country name, such as \"USA\" or \"New Zealand\".", "type": "string" }, "missingComponentTypes": { @@ -203,7 +203,7 @@ "type": "array" }, "unresolvedTokens": { - "description": "Any tokens in the input that could not be resolved. This might be an input that was not recognized as a valid part of an address (for example in an input like \"123235253253 Main St, San Francisco, CA, 94105\", the unresolved tokens may look like `[\"123235253253\"]` since that does not look like a valid street number.", + "description": "Any tokens in the input that could not be resolved. This might be an input that was not recognized as a valid part of an address. For example, for an input such as \"Parcel 0000123123 & 0000456456 Str # Guthrie Center IA 50115 US\", the unresolved tokens might look like `[\"Parcel\", \"0000123123\", \"&\", \"0000456456\"]`.", "items": { "type": "string" }, @@ -769,18 +769,18 @@ "type": "object" }, "GoogleTypePostalAddress": { - "description": "Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478", + "description": "Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478", "id": "GoogleTypePostalAddress", "properties": { "addressLines": { - "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", + "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", "items": { "type": "string" }, "type": "array" }, "administrativeArea": { - "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.", + "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated.", "type": "string" }, "languageCode": { @@ -796,7 +796,7 @@ "type": "string" }, "postalCode": { - "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.).", + "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.).", "type": "string" }, "recipients": { @@ -816,7 +816,7 @@ "type": "integer" }, "sortingCode": { - "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (e.g. \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (e.g. Côte d'Ivoire).", + "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (For example \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (For example Côte d'Ivoire).", "type": "string" }, "sublocality": { diff --git a/discovery/admin-directory_v1.json b/discovery/admin-directory_v1.json index ef6688c02c..6bef960870 100644 --- a/discovery/admin-directory_v1.json +++ b/discovery/admin-directory_v1.json @@ -4671,7 +4671,7 @@ } } }, - "revision": "20240924", + "revision": "20241210", "rootUrl": "https://admin.googleapis.com/", "schemas": { "Alias": { @@ -5184,6 +5184,25 @@ }, "type": "object" }, + "ByteUsage": { + "description": "Represents a data capacity with some amount of current usage in bytes.", + "id": "ByteUsage", + "properties": { + "capacityBytes": { + "description": "Output only. The total capacity value, in bytes.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "usedBytes": { + "description": "Output only. The current usage value, in bytes.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "CalendarResource": { "description": "Public API: Resources.calendars", "id": "CalendarResource", @@ -5640,6 +5659,11 @@ "readOnly": true, "type": "string" }, + "diskSpaceUsage": { + "$ref": "ByteUsage", + "description": "Output only. How much disk space the device has available and is currently using.", + "readOnly": true + }, "diskVolumeReports": { "description": "Reports of disk space and other info about mounted/connected volumes.", "items": { @@ -7046,7 +7070,7 @@ "properties": { "blockInheritance": { "deprecated": true, - "description": "Determines if a sub-organizational unit can inherit the settings of the parent organization. The default value is `false`, meaning a sub-organizational unit inherits the settings of the nearest parent organizational unit. This field is deprecated. Setting it to `true` is no longer supported and can have _unintended consequences_. For more information about inheritance and users in an organization structure, see the [administration help center](https://support.google.com/a/answer/4352075).", + "description": "This field is deprecated and setting its value has no effect.", "type": "boolean" }, "description": { @@ -7469,6 +7493,10 @@ "readOnly": true, "type": "string" }, + "condition": { + "description": "Optional. The condition associated with this role assignment. Note: Feature is available to Enterprise Standard, Enterprise Plus, Google Workspace for Education Plus and Cloud Identity Premium customers. A `RoleAssignment` with the `condition` field set will only take effect when the resource being accessed meets the condition. If `condition` is empty, the role (`role_id`) is applied to the actor (`assigned_to`) at the scope (`scope_type`) unconditionally. Currently, the following conditions are supported: - To make the `RoleAssignment` only applicable to [Security Groups](https://cloud.google.com/identity/docs/groups#group_types): `api.getAttribute('cloudidentity.googleapis.com/groups.labels', []).hasAny(['groups.security']) && resource.type == 'cloudidentity.googleapis.com/Group'` - To make the `RoleAssignment` not applicable to [Security Groups](https://cloud.google.com/identity/docs/groups#group_types): `!api.getAttribute('cloudidentity.googleapis.com/groups.labels', []).hasAny(['groups.security']) && resource.type == 'cloudidentity.googleapis.com/Group'` Currently, the condition strings have to be verbatim and they only work with the following [pre-built administrator roles](https://support.google.com/a/answer/2405986): - Groups Editor - Groups Reader The condition follows [Cloud IAM condition syntax](https://cloud.google.com/iam/docs/conditions-overview). Additional conditions related to Locked Groups are available under Open Beta. - To make the `RoleAssignment` not applicable to [Locked Groups](https://cloud.google.com/identity/docs/groups#group_types): `!api.getAttribute('cloudidentity.googleapis.com/groups.labels', []).hasAny(['groups.locked']) && resource.type == 'cloudidentity.googleapis.com/Group'` This condition can also be used in conjunction with a Security-related condition.", + "type": "string" + }, "etag": { "description": "ETag of the resource.", "type": "string" diff --git a/discovery/adsense-v2.json b/discovery/adsense-v2.json index 97e7150c2e..976d5d07d7 100644 --- a/discovery/adsense-v2.json +++ b/discovery/adsense-v2.json @@ -971,6 +971,7 @@ "AD_UNIT_SIZE_CODE", "CUSTOM_CHANNEL_NAME", "CUSTOM_CHANNEL_ID", + "HOSTED_CUSTOM_CHANNEL_ID", "OWNED_SITE_DOMAIN_NAME", "OWNED_SITE_ID", "PAGE_URL", @@ -1021,6 +1022,7 @@ "The size code of an ad unit (e.g. \"728x90\", \"responsive\").", "Custom channel name. The members of this dimension match the values from CustomChannel.display_name.", "Unique ID of a custom channel. The members of this dimension match the values from CustomChannel.reporting_dimension_id.", + "Unique ID of a hosted client's custom channel.", "Domain name of a verified site (e.g. \"example.com\"). The members of this dimension match the values from Site.domain.", "Unique ID of a verified site. The members of this dimension match the values from Site.reporting_dimension_id.", "URL of the page upon which the ad was served. This is a complete URL including scheme and query parameters. Note that the URL that appears in this dimension may be a canonicalized version of the one that was used in the original request, and so may not exactly match the URL that a user might have seen. Note that there are also some caveats to be aware of when using this dimension. For more information, see [Page URL breakdown](https://support.google.com/adsense/answer/11988478).", @@ -1291,6 +1293,7 @@ "AD_UNIT_SIZE_CODE", "CUSTOM_CHANNEL_NAME", "CUSTOM_CHANNEL_ID", + "HOSTED_CUSTOM_CHANNEL_ID", "OWNED_SITE_DOMAIN_NAME", "OWNED_SITE_ID", "PAGE_URL", @@ -1341,6 +1344,7 @@ "The size code of an ad unit (e.g. \"728x90\", \"responsive\").", "Custom channel name. The members of this dimension match the values from CustomChannel.display_name.", "Unique ID of a custom channel. The members of this dimension match the values from CustomChannel.reporting_dimension_id.", + "Unique ID of a hosted client's custom channel.", "Domain name of a verified site (e.g. \"example.com\"). The members of this dimension match the values from Site.domain.", "Unique ID of a verified site. The members of this dimension match the values from Site.reporting_dimension_id.", "URL of the page upon which the ad was served. This is a complete URL including scheme and query parameters. Note that the URL that appears in this dimension may be a canonicalized version of the one that was used in the original request, and so may not exactly match the URL that a user might have seen. Note that there are also some caveats to be aware of when using this dimension. For more information, see [Page URL breakdown](https://support.google.com/adsense/answer/11988478).", @@ -1912,7 +1916,7 @@ } } }, - "revision": "20240530", + "revision": "20241211", "rootUrl": "https://adsense.googleapis.com/", "schemas": { "Account": { @@ -2786,11 +2790,11 @@ "id": "TimeZone", "properties": { "id": { - "description": "IANA Time Zone Database time zone, e.g. \"America/New_York\".", + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", "type": "string" }, "version": { - "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", "type": "string" } }, diff --git a/discovery/adsenseplatform-v1.json b/discovery/adsenseplatform-v1.json index c0c646b06b..6588e00bcb 100644 --- a/discovery/adsenseplatform-v1.json +++ b/discovery/adsenseplatform-v1.json @@ -446,7 +446,7 @@ } } }, - "revision": "20240722", + "revision": "20241204", "rootUrl": "https://adsenseplatform.googleapis.com/", "schemas": { "Account": { @@ -703,11 +703,11 @@ "id": "TimeZone", "properties": { "id": { - "description": "IANA Time Zone Database time zone, e.g. \"America/New_York\".", + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", "type": "string" }, "version": { - "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", "type": "string" } }, diff --git a/discovery/adsenseplatform-v1alpha.json b/discovery/adsenseplatform-v1alpha.json index e3a4b08718..61b25cd766 100644 --- a/discovery/adsenseplatform-v1alpha.json +++ b/discovery/adsenseplatform-v1alpha.json @@ -108,6 +108,77 @@ }, "protocol": "rest", "resources": { + "accounts": { + "resources": { + "platforms": { + "methods": { + "get": { + "description": "Gets a platform.", + "flatPath": "v1alpha/accounts/{accountsId}/platforms/{platformsId}", + "httpMethod": "GET", + "id": "adsenseplatform.accounts.platforms.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the platform to retrieve. Format: accounts/{account}/platforms/{platform}", + "location": "path", + "pattern": "^accounts/[^/]+/platforms/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "Platform" + }, + "scopes": [ + "https://www.googleapis.com/auth/adsense", + "https://www.googleapis.com/auth/adsense.readonly" + ] + }, + "list": { + "description": "Lists platforms for a specified account.", + "flatPath": "v1alpha/accounts/{accountsId}/platforms", + "httpMethod": "GET", + "id": "adsenseplatform.accounts.platforms.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of platforms to include in the response, used for paging. If unspecified, at most 10000 platforms will be returned. The maximum value is 10000; values above 10000 will be coerced to 10000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListPlatforms` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPlatforms` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The account which owns the platforms. Format: accounts/{account}", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/platforms", + "response": { + "$ref": "ListPlatformsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adsense", + "https://www.googleapis.com/auth/adsense.readonly" + ] + } + } + } + } + }, "platforms": { "resources": { "accounts": { @@ -446,7 +517,7 @@ } } }, - "revision": "20240710", + "revision": "20250108", "rootUrl": "https://adsenseplatform.googleapis.com/", "schemas": { "Account": { @@ -628,6 +699,24 @@ }, "type": "object" }, + "ListPlatformsResponse": { + "description": "Response definition for the platform list rpc.", + "id": "ListPlatformsResponse", + "properties": { + "nextPageToken": { + "description": "Continuation token used to page through platforms. To retrieve the next page of the results, set the next request's \"page_token\" value to this.", + "type": "string" + }, + "platforms": { + "description": "The platforms returned in this list response.", + "items": { + "$ref": "Platform" + }, + "type": "array" + } + }, + "type": "object" + }, "ListSitesResponse": { "description": "Response definition for the site list rpc.", "id": "ListSitesResponse", @@ -657,6 +746,26 @@ }, "type": "object" }, + "Platform": { + "description": "Representation of a Transparent Platform.", + "id": "Platform", + "properties": { + "defaultPlatformGroup": { + "description": "Default platform group for the platform.", + "type": "string" + }, + "description": { + "description": "Output only. Description of the platform.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. Resource name of a platform. Format: accounts/{account}/platforms/{platform}", + "type": "string" + } + }, + "type": "object" + }, "RequestSiteReviewResponse": { "description": "Response definition for the site request review rpc.", "id": "RequestSiteReviewResponse", @@ -703,11 +812,11 @@ "id": "TimeZone", "properties": { "id": { - "description": "IANA Time Zone Database time zone, e.g. \"America/New_York\".", + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", "type": "string" }, "version": { - "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", "type": "string" } }, diff --git a/discovery/aiplatform-v1.json b/discovery/aiplatform-v1.json index 61aceac719..6fb603e7ad 100644 --- a/discovery/aiplatform-v1.json +++ b/discovery/aiplatform-v1.json @@ -184,6 +184,11 @@ "endpointUrl": "https://us-east4-aiplatform.googleapis.com/", "location": "us-east4" }, + { + "description": "Locational Endpoint", + "endpointUrl": "https://us-east7-aiplatform.googleapis.com/", + "location": "us-east7" + }, { "description": "Locational Endpoint", "endpointUrl": "https://us-south1-aiplatform.googleapis.com/", @@ -445,7 +450,7 @@ ], "parameters": { "name": { - "description": "Output only. Identifier. The resource name of the Dataset.", + "description": "Output only. Identifier. The resource name of the Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", "location": "path", "pattern": "^datasets/[^/]+$", "required": true, @@ -790,10 +795,165 @@ } } }, + "media": { + "methods": { + "upload": { + "description": "Upload a file into a RagCorpus.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles:upload", + "httpMethod": "POST", + "id": "aiplatform.media.upload", + "mediaUpload": { + "accept": [ + "*/*" + ], + "protocols": { + "simple": { + "multipart": true, + "path": "/upload/v1/{+parent}/ragFiles:upload" + } + } + }, + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the RagCorpus resource into which to upload the file. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/ragFiles:upload", + "request": { + "$ref": "GoogleCloudAiplatformV1UploadRagFileRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1UploadRagFileResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ], + "supportsMediaUpload": true + } + } + }, "projects": { + "methods": { + "getCacheConfig": { + "description": "Gets a GenAI cache config.", + "flatPath": "v1/projects/{projectsId}/cacheConfig", + "httpMethod": "GET", + "id": "aiplatform.projects.getCacheConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the cache config. Format: - `projects/{project}/cacheConfig`.", + "location": "path", + "pattern": "^projects/[^/]+/cacheConfig$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudAiplatformV1CacheConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateCacheConfig": { + "description": "Updates a cache config.", + "flatPath": "v1/projects/{projectsId}/cacheConfig", + "httpMethod": "PATCH", + "id": "aiplatform.projects.updateCacheConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. Name of the cache config. Format: - `projects/{project}/cacheConfig`.", + "location": "path", + "pattern": "^projects/[^/]+/cacheConfig$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudAiplatformV1CacheConfig" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, "resources": { "locations": { "methods": { + "augmentPrompt": { + "description": "Given an input prompt, it returns augmented prompt from vertex rag store to guide LLM towards generating grounded responses.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:augmentPrompt", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.augmentPrompt", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the Location from which to augment prompt. The users must have permission to make a call in the project. Format: `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}:augmentPrompt", + "request": { + "$ref": "GoogleCloudAiplatformV1AugmentPromptRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1AugmentPromptResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "corroborateContent": { + "description": "Given an input text, it returns a score that evaluates the factuality of the text. It also extracts and returns claims from the text and provides supporting facts.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:corroborateContent", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.corroborateContent", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the Location from which to corroborate text. The users must have permission to make a call in the project. Format: `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}:corroborateContent", + "request": { + "$ref": "GoogleCloudAiplatformV1CorroborateContentRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1CorroborateContentResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "evaluateInstances": { "description": "Evaluates instances based on a given metric.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:evaluateInstances", @@ -887,6 +1047,34 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "retrieveContexts": { + "description": "Retrieves relevant contexts for a query.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:retrieveContexts", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.retrieveContexts", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the Location from which to retrieve RagContexts. The users must have permission to make a call in the project. Format: `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}:retrieveContexts", + "request": { + "$ref": "GoogleCloudAiplatformV1RetrieveContextsRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1RetrieveContextsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { @@ -1047,6 +1235,158 @@ } } }, + "cachedContents": { + "methods": { + "create": { + "description": "Creates cached content, this call will initialize the cached content in the data storage, and users need to pay for the cache data storage.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/cachedContents", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.cachedContents.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource where the cached content will be created", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/cachedContents", + "request": { + "$ref": "GoogleCloudAiplatformV1CachedContent" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1CachedContent" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes cached content", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/cachedContents/{cachedContentsId}", + "httpMethod": "DELETE", + "id": "aiplatform.projects.locations.cachedContents.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name referring to the cached content", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/cachedContents/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets cached content configurations", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/cachedContents/{cachedContentsId}", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.cachedContents.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name referring to the cached content", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/cachedContents/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudAiplatformV1CachedContent" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists cached contents in a project", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/cachedContents", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.cachedContents.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of cached contents to return. The service may return fewer than this value. If unspecified, some default (under maximum) number of items will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListCachedContents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCachedContents` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent, which owns this collection of cached contents.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/cachedContents", + "response": { + "$ref": "GoogleCloudAiplatformV1ListCachedContentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates cached content configurations", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/cachedContents/{cachedContentsId}", + "httpMethod": "PATCH", + "id": "aiplatform.projects.locations.cachedContents.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. Identifier. The server-generated resource name of the cached content Format: projects/{project}/locations/{location}/cachedContents/{cached_content}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/cachedContents/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The list of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudAiplatformV1CachedContent" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1CachedContent" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "customJobs": { "methods": { "cancel": { @@ -1207,7 +1547,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.customJobs.operations.cancel", @@ -1522,7 +1862,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.dataLabelingJobs.operations.cancel", @@ -1876,7 +2216,7 @@ ], "parameters": { "name": { - "description": "Output only. Identifier. The resource name of the Dataset.", + "description": "Output only. Identifier. The resource name of the Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", "required": true, @@ -2037,7 +2377,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.datasets.annotationSpecs.operations.cancel", @@ -2302,7 +2642,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.datasets.dataItems.annotations.operations.cancel", @@ -2455,7 +2795,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.datasets.dataItems.operations.cancel", @@ -2807,7 +3147,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.datasets.operations.cancel", @@ -3039,7 +3379,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.datasets.savedQueries.operations.cancel", @@ -3382,7 +3722,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.deploymentResourcePools.operations.cancel", @@ -3763,6 +4103,35 @@ "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, + "fetchPredictOperation": { + "description": "Fetch an asynchronous online prediction operation.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:fetchPredictOperation", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.endpoints.fetchPredictOperation", + "parameterOrder": [ + "endpoint" + ], + "parameters": { + "endpoint": { + "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+endpoint}:fetchPredictOperation", + "request": { + "$ref": "GoogleCloudAiplatformV1FetchPredictOperationRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, "generateContent": { "description": "Generate content with multimodal inputs.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:generateContent", @@ -3960,6 +4329,35 @@ "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, + "predictLongRunning": { + "description": "", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:predictLongRunning", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.endpoints.predictLongRunning", + "parameterOrder": [ + "endpoint" + ], + "parameters": { + "endpoint": { + "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+endpoint}:predictLongRunning", + "request": { + "$ref": "GoogleCloudAiplatformV1PredictLongRunningRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, "rawPredict": { "description": "Perform an online prediction with an arbitrary HTTP payload. The response includes the following HTTP headers: * `X-Vertex-AI-Endpoint-Id`: ID of the Endpoint that served this prediction. * `X-Vertex-AI-Deployed-Model-Id`: ID of the Endpoint's DeployedModel that served this prediction.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:rawPredict", @@ -4103,13 +4501,74 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "update": { + "description": "Updates an Endpoint with a long running operation.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:update", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.endpoints.update", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The resource name of the Endpoint.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:update", + "request": { + "$ref": "GoogleCloudAiplatformV1UpdateEndpointLongRunningRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { + "chat": { + "methods": { + "completions": { + "description": "Exposes an OpenAI-compatible endpoint for chat completions.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/chat/completions", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.endpoints.chat.completions", + "parameterOrder": [ + "endpoint" + ], + "parameters": { + "endpoint": { + "description": "Required. The name of the endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+endpoint}/chat/completions", + "request": { + "$ref": "GoogleApiHttpBody" + }, + "response": { + "$ref": "GoogleApiHttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + } + } + }, "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.endpoints.operations.cancel", @@ -4375,7 +4834,7 @@ "type": "integer" }, "pageToken": { - "description": "A page token, received from a previous FeatureGroupAdminService.ListFeatureGroups call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureGroupAdminService.ListFeatureGroups must match the call that provided the page token.", + "description": "A page token, received from a previous FeatureRegistryService.ListFeatureGroups call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureRegistryService.ListFeatureGroups must match the call that provided the page token.", "location": "query", "type": "string" }, @@ -4433,6 +4892,34 @@ "resources": { "features": { "methods": { + "batchCreate": { + "description": "Creates a batch of Features in a given FeatureGroup.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features:batchCreate", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.featureGroups.features.batchCreate", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the EntityType/FeatureGroup to create the batch of Features under. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` `projects/{project}/locations/{location}/featureGroups/{feature_group}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/features:batchCreate", + "request": { + "$ref": "GoogleCloudAiplatformV1BatchCreateFeaturesRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "create": { "description": "Creates a new Feature in a given FeatureGroup.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features", @@ -5340,7 +5827,7 @@ "type": "string" }, "updateMask": { - "description": "Field mask is used to specify the fields to be overwritten in the FeatureView resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `labels` * `service_agent_type` * `big_query_source` * `big_query_source.uri` * `big_query_source.entity_id_columns` * `feature_registry_source` * `feature_registry_source.feature_groups` * `sync_config` * `sync_config.cron`", + "description": "Field mask is used to specify the fields to be overwritten in the FeatureView resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `labels` * `service_agent_type` * `big_query_source` * `big_query_source.uri` * `big_query_source.entity_id_columns` * `feature_registry_source` * `feature_registry_source.feature_groups` * `sync_config` * `sync_config.cron` * `optimized_config.automatic_resources`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -6788,7 +7275,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.featurestores.entityTypes.features.operations.cancel", @@ -6941,7 +7428,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.featurestores.entityTypes.operations.cancel", @@ -7094,7 +7581,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.featurestores.operations.cancel", @@ -7404,7 +7891,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.hyperparameterTuningJobs.operations.cancel", @@ -7860,7 +8347,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.indexEndpoints.operations.cancel", @@ -8232,7 +8719,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.indexes.operations.cancel", @@ -8755,7 +9242,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.metadataStores.artifacts.operations.cancel", @@ -9227,7 +9714,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.metadataStores.contexts.operations.cancel", @@ -9638,7 +10125,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.metadataStores.executions.operations.cancel", @@ -9894,7 +10381,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.metadataStores.operations.cancel", @@ -10107,7 +10594,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.migratableResources.operations.cancel", @@ -10507,7 +10994,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.cancel", @@ -11211,7 +11698,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.models.evaluations.operations.cancel", @@ -11468,7 +11955,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.models.operations.cancel", @@ -11969,7 +12456,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. The standard list page token. Typically obtained via ListNotebookExecutionJobs.next_page_token of the previous NotebookService.ListNotebookExecutionJobs call.", + "description": "Optional. The standard list page token. Typically obtained via ListNotebookExecutionJobsResponse.next_page_token of the previous NotebookService.ListNotebookExecutionJobs call.", "location": "query", "type": "string" }, @@ -12009,7 +12496,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.notebookExecutionJobs.operations.cancel", @@ -12285,7 +12772,7 @@ ], "parameters": { "filter": { - "description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate` represents the NotebookRuntimeTemplate ID, i.e. the last segment of the NotebookRuntimeTemplate's resource name. * `display_name` supports = and != * `labels` supports general map functions that is: * `labels.key=value` - key:value equality * `labels.key:* or labels:key - key existence * A key including a space must be quoted. `labels.\"a key\"`. * `notebookRuntimeType` supports = and !=. notebookRuntimeType enum: [USER_DEFINED, ONE_CLICK]. Some examples: * `notebookRuntimeTemplate=notebookRuntimeTemplate123` * `displayName=\"myDisplayName\"` * `labels.myKey=\"myValue\"` * `notebookRuntimeType=USER_DEFINED`", + "description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate` represents the NotebookRuntimeTemplate ID, i.e. the last segment of the NotebookRuntimeTemplate's resource name. * `display_name` supports = and != * `labels` supports general map functions that is: * `labels.key=value` - key:value equality * `labels.key:* or labels:key - key existence * A key including a space must be quoted. `labels.\"a key\"`. * `notebookRuntimeType` supports = and !=. notebookRuntimeType enum: [USER_DEFINED, ONE_CLICK]. * `machineType` supports = and !=. * `acceleratorType` supports = and !=. Some examples: * `notebookRuntimeTemplate=notebookRuntimeTemplate123` * `displayName=\"myDisplayName\"` * `labels.myKey=\"myValue\"` * `notebookRuntimeType=USER_DEFINED` * `machineType=e2-standard-4` * `acceleratorType=NVIDIA_TESLA_T4`", "location": "query", "type": "string" }, @@ -12425,7 +12912,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.notebookRuntimeTemplates.operations.cancel", @@ -12665,7 +13152,7 @@ ], "parameters": { "filter": { - "description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `notebookRuntime` supports = and !=. `notebookRuntime` represents the NotebookRuntime ID, i.e. the last segment of the NotebookRuntime's resource name. * `displayName` supports = and != and regex. * `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate` represents the NotebookRuntimeTemplate ID, i.e. the last segment of the NotebookRuntimeTemplate's resource name. * `healthState` supports = and !=. healthState enum: [HEALTHY, UNHEALTHY, HEALTH_STATE_UNSPECIFIED]. * `runtimeState` supports = and !=. runtimeState enum: [RUNTIME_STATE_UNSPECIFIED, RUNNING, BEING_STARTED, BEING_STOPPED, STOPPED, BEING_UPGRADED, ERROR, INVALID]. * `runtimeUser` supports = and !=. * API version is UI only: `uiState` supports = and !=. uiState enum: [UI_RESOURCE_STATE_UNSPECIFIED, UI_RESOURCE_STATE_BEING_CREATED, UI_RESOURCE_STATE_ACTIVE, UI_RESOURCE_STATE_BEING_DELETED, UI_RESOURCE_STATE_CREATION_FAILED]. * `notebookRuntimeType` supports = and !=. notebookRuntimeType enum: [USER_DEFINED, ONE_CLICK]. Some examples: * `notebookRuntime=\"notebookRuntime123\"` * `displayName=\"myDisplayName\"` and `displayName=~\"myDisplayNameRegex\"` * `notebookRuntimeTemplate=\"notebookRuntimeTemplate321\"` * `healthState=HEALTHY` * `runtimeState=RUNNING` * `runtimeUser=\"test@google.com\"` * `uiState=UI_RESOURCE_STATE_BEING_DELETED` * `notebookRuntimeType=USER_DEFINED`", + "description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `notebookRuntime` supports = and !=. `notebookRuntime` represents the NotebookRuntime ID, i.e. the last segment of the NotebookRuntime's resource name. * `displayName` supports = and != and regex. * `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate` represents the NotebookRuntimeTemplate ID, i.e. the last segment of the NotebookRuntimeTemplate's resource name. * `healthState` supports = and !=. healthState enum: [HEALTHY, UNHEALTHY, HEALTH_STATE_UNSPECIFIED]. * `runtimeState` supports = and !=. runtimeState enum: [RUNTIME_STATE_UNSPECIFIED, RUNNING, BEING_STARTED, BEING_STOPPED, STOPPED, BEING_UPGRADED, ERROR, INVALID]. * `runtimeUser` supports = and !=. * API version is UI only: `uiState` supports = and !=. uiState enum: [UI_RESOURCE_STATE_UNSPECIFIED, UI_RESOURCE_STATE_BEING_CREATED, UI_RESOURCE_STATE_ACTIVE, UI_RESOURCE_STATE_BEING_DELETED, UI_RESOURCE_STATE_CREATION_FAILED]. * `notebookRuntimeType` supports = and !=. notebookRuntimeType enum: [USER_DEFINED, ONE_CLICK]. * `machineType` supports = and !=. * `acceleratorType` supports = and !=. Some examples: * `notebookRuntime=\"notebookRuntime123\"` * `displayName=\"myDisplayName\"` and `displayName=~\"myDisplayNameRegex\"` * `notebookRuntimeTemplate=\"notebookRuntimeTemplate321\"` * `healthState=HEALTHY` * `runtimeState=RUNNING` * `runtimeUser=\"test@google.com\"` * `uiState=UI_RESOURCE_STATE_BEING_DELETED` * `notebookRuntimeType=USER_DEFINED` * `machineType=e2-standard-4` * `acceleratorType=NVIDIA_TESLA_T4`", "location": "query", "type": "string" }, @@ -12735,6 +13222,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "stop": { + "description": "Stops a NotebookRuntime.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}:stop", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.notebookRuntimes.stop", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the NotebookRuntime resource to be stopped. Instead of checking whether the name is in valid NotebookRuntime resource name format, directly throw NotFound exception if there is no such NotebookRuntime in spanner.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:stop", + "request": { + "$ref": "GoogleCloudAiplatformV1StopNotebookRuntimeRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "upgrade": { "description": "Upgrades a NotebookRuntime.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}:upgrade", @@ -12768,7 +13283,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.notebookRuntimes.operations.cancel", @@ -12921,7 +13436,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.operations.cancel", @@ -13170,7 +13685,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. The standard list page token. Typically obtained via ListPersistentResourceResponse.next_page_token of the previous PersistentResourceService.ListPersistentResource call.", + "description": "Optional. The standard list page token. Typically obtained via ListPersistentResourcesResponse.next_page_token of the previous PersistentResourceService.ListPersistentResource call.", "location": "query", "type": "string" }, @@ -13257,7 +13772,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.persistentResources.operations.cancel", @@ -13633,7 +14148,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.pipelineJobs.operations.cancel", @@ -13843,6 +14358,35 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "fetchPredictOperation": { + "description": "Fetch an asynchronous online prediction operation.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:fetchPredictOperation", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.publishers.models.fetchPredictOperation", + "parameterOrder": [ + "endpoint" + ], + "parameters": { + "endpoint": { + "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+endpoint}:fetchPredictOperation", + "request": { + "$ref": "GoogleCloudAiplatformV1FetchPredictOperationRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, "generateContent": { "description": "Generate content with multimodal inputs.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:generateContent", @@ -13901,6 +14445,35 @@ "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, + "predictLongRunning": { + "description": "", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:predictLongRunning", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.publishers.models.predictLongRunning", + "parameterOrder": [ + "endpoint" + ], + "parameters": { + "endpoint": { + "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+endpoint}:predictLongRunning", + "request": { + "$ref": "GoogleCloudAiplatformV1PredictLongRunningRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, "rawPredict": { "description": "Perform an online prediction with an arbitrary HTTP payload. The response includes the following HTTP headers: * `X-Vertex-AI-Endpoint-Id`: ID of the Endpoint that served this prediction. * `X-Vertex-AI-Deployed-Model-Id`: ID of the Endpoint's DeployedModel that served this prediction.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:rawPredict", @@ -14021,49 +14594,54 @@ } } }, - "schedules": { + "ragCorpora": { "methods": { "create": { - "description": "Creates a Schedule.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules", + "description": "Creates a RagCorpus.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora", "httpMethod": "POST", - "id": "aiplatform.projects.locations.schedules.create", + "id": "aiplatform.projects.locations.ragCorpora.create", "parameterOrder": [ "parent" ], "parameters": { "parent": { - "description": "Required. The resource name of the Location to create the Schedule in. Format: `projects/{project}/locations/{location}`", + "description": "Required. The resource name of the Location to create the RagCorpus in. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v1/{+parent}/schedules", + "path": "v1/{+parent}/ragCorpora", "request": { - "$ref": "GoogleCloudAiplatformV1Schedule" + "$ref": "GoogleCloudAiplatformV1RagCorpus" }, "response": { - "$ref": "GoogleCloudAiplatformV1Schedule" + "$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { - "description": "Deletes a Schedule.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}", + "description": "Deletes a RagCorpus.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}", "httpMethod": "DELETE", - "id": "aiplatform.projects.locations.schedules.delete", + "id": "aiplatform.projects.locations.ragCorpora.delete", "parameterOrder": [ "name" ], "parameters": { + "force": { + "description": "Optional. If set to true, any RagFiles in this RagCorpus will also be deleted. Otherwise, the request will only work if the RagCorpus has no RagFiles.", + "location": "query", + "type": "boolean" + }, "name": { - "description": "Required. The name of the Schedule resource to be deleted. Format: `projects/{project}/locations/{location}/schedules/{schedule}`", + "description": "Required. The name of the RagCorpus resource to be deleted. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", "required": true, "type": "string" } @@ -14077,161 +14655,89 @@ ] }, "get": { - "description": "Gets a Schedule.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}", + "description": "Gets a RagCorpus.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}", "httpMethod": "GET", - "id": "aiplatform.projects.locations.schedules.get", + "id": "aiplatform.projects.locations.ragCorpora.get", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "Required. The name of the Schedule resource. Format: `projects/{project}/locations/{location}/schedules/{schedule}`", + "description": "Required. The name of the RagCorpus resource. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", "required": true, "type": "string" } }, "path": "v1/{+name}", "response": { - "$ref": "GoogleCloudAiplatformV1Schedule" + "$ref": "GoogleCloudAiplatformV1RagCorpus" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { - "description": "Lists Schedules in a Location.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules", + "description": "Lists RagCorpora in a Location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora", "httpMethod": "GET", - "id": "aiplatform.projects.locations.schedules.list", + "id": "aiplatform.projects.locations.ragCorpora.list", "parameterOrder": [ "parent" ], "parameters": { - "filter": { - "description": "Lists the Schedules that match the filter expression. The following fields are supported: * `display_name`: Supports `=`, `!=` comparisons, and `:` wildcard. * `state`: Supports `=` and `!=` comparisons. * `request`: Supports existence of the check. (e.g. `create_pipeline_job_request:*` --> Schedule has create_pipeline_job_request). * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `start_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `end_time`: Supports `=`, `!=`, `<`, `>`, `<=`, `>=` comparisons and `:*` existence check. Values must be in RFC 3339 format. * `next_run_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. Filter expressions can be combined together using logical operators (`NOT`, `AND` & `OR`). The syntax to define filter expression is based on https://google.aip.dev/160. Examples: * `state=\"ACTIVE\" AND display_name:\"my_schedule_*\"` * `NOT display_name=\"my_schedule\"` * `create_time>\"2021-05-18T00:00:00Z\"` * `end_time>\"2021-05-18T00:00:00Z\" OR NOT end_time:*` * `create_pipeline_job_request:*`", - "location": "query", - "type": "string" - }, - "orderBy": { - "description": "A comma-separated list of fields to order by. The default sort order is in ascending order. Use \"desc\" after a field name for descending. You can have multiple order_by fields provided. For example, using \"create_time desc, end_time\" will order results by create time in descending order, and if there are multiple schedules having the same create time, order them by the end time in ascending order. If order_by is not specified, it will order by default with create_time in descending order. Supported fields: * `create_time` * `start_time` * `end_time` * `next_run_time`", - "location": "query", - "type": "string" - }, "pageSize": { - "description": "The standard list page size. Default to 100 if not specified.", + "description": "Optional. The standard list page size.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The standard list page token. Typically obtained via ListSchedulesResponse.next_page_token of the previous ScheduleService.ListSchedules call.", + "description": "Optional. The standard list page token. Typically obtained via ListRagCorporaResponse.next_page_token of the previous VertexRagDataService.ListRagCorpora call.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The resource name of the Location to list the Schedules from. Format: `projects/{project}/locations/{location}`", + "description": "Required. The resource name of the Location from which to list the RagCorpora. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v1/{+parent}/schedules", + "path": "v1/{+parent}/ragCorpora", "response": { - "$ref": "GoogleCloudAiplatformV1ListSchedulesResponse" + "$ref": "GoogleCloudAiplatformV1ListRagCorporaResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "patch": { - "description": "Updates an active or paused Schedule. When the Schedule is updated, new runs will be scheduled starting from the updated next execution time after the update time based on the time_specification in the updated Schedule. All unstarted runs before the update time will be skipped while already created runs will NOT be paused or canceled.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}", + "description": "Updates a RagCorpus.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}", "httpMethod": "PATCH", - "id": "aiplatform.projects.locations.schedules.patch", + "id": "aiplatform.projects.locations.ragCorpora.patch", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "Immutable. The resource name of the Schedule.", + "description": "Output only. The resource name of the RagCorpus.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", "required": true, "type": "string" - }, - "updateMask": { - "description": "Required. The update mask applies to the resource. See google.protobuf.FieldMask.", - "format": "google-fieldmask", - "location": "query", - "type": "string" } }, "path": "v1/{+name}", "request": { - "$ref": "GoogleCloudAiplatformV1Schedule" - }, - "response": { - "$ref": "GoogleCloudAiplatformV1Schedule" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "pause": { - "description": "Pauses a Schedule. Will mark Schedule.state to 'PAUSED'. If the schedule is paused, no new runs will be created. Already created runs will NOT be paused or canceled.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}:pause", - "httpMethod": "POST", - "id": "aiplatform.projects.locations.schedules.pause", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the Schedule resource to be paused. Format: `projects/{project}/locations/{location}/schedules/{schedule}`", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}:pause", - "request": { - "$ref": "GoogleCloudAiplatformV1PauseScheduleRequest" - }, - "response": { - "$ref": "GoogleProtobufEmpty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "resume": { - "description": "Resumes a paused Schedule to start scheduling new runs. Will mark Schedule.state to 'ACTIVE'. Only paused Schedule can be resumed. When the Schedule is resumed, new runs will be scheduled starting from the next execution time after the current time based on the time_specification in the Schedule. If Schedule.catchUp is set up true, all missed runs will be scheduled for backfill first.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}:resume", - "httpMethod": "POST", - "id": "aiplatform.projects.locations.schedules.resume", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. The name of the Schedule resource to be resumed. Format: `projects/{project}/locations/{location}/schedules/{schedule}`", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}:resume", - "request": { - "$ref": "GoogleCloudAiplatformV1ResumeScheduleRequest" + "$ref": "GoogleCloudAiplatformV1RagCorpus" }, "response": { - "$ref": "GoogleProtobufEmpty" + "$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -14242,10 +14748,10 @@ "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/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}: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/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations/{operationsId}:cancel", "httpMethod": "POST", - "id": "aiplatform.projects.locations.schedules.operations.cancel", + "id": "aiplatform.projects.locations.ragCorpora.operations.cancel", "parameterOrder": [ "name" ], @@ -14253,7 +14759,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -14268,9 +14774,9 @@ }, "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/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations/{operationsId}", "httpMethod": "DELETE", - "id": "aiplatform.projects.locations.schedules.operations.delete", + "id": "aiplatform.projects.locations.ragCorpora.operations.delete", "parameterOrder": [ "name" ], @@ -14278,7 +14784,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -14293,9 +14799,9 @@ }, "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/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations/{operationsId}", "httpMethod": "GET", - "id": "aiplatform.projects.locations.schedules.operations.get", + "id": "aiplatform.projects.locations.ragCorpora.operations.get", "parameterOrder": [ "name" ], @@ -14303,7 +14809,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -14318,9 +14824,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations", "httpMethod": "GET", - "id": "aiplatform.projects.locations.schedules.operations.list", + "id": "aiplatform.projects.locations.ragCorpora.operations.list", "parameterOrder": [ "name" ], @@ -14333,7 +14839,1015 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/operations", + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "wait": { + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.ragCorpora.operations.wait", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "format": "google-duration", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}:wait", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "ragFiles": { + "methods": { + "delete": { + "description": "Deletes a RagFile.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}", + "httpMethod": "DELETE", + "id": "aiplatform.projects.locations.ragCorpora.ragFiles.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the RagFile resource to be deleted. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a RagFile.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.ragCorpora.ragFiles.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the RagFile resource. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}/ragFiles/{rag_file}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudAiplatformV1RagFile" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "import": { + "description": "Import files from Google Cloud Storage or Google Drive into a RagCorpus.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles:import", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.ragCorpora.ragFiles.import", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the RagCorpus resource into which to import files. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/ragFiles:import", + "request": { + "$ref": "GoogleCloudAiplatformV1ImportRagFilesRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists RagFiles in a RagCorpus.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.ragCorpora.ragFiles.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The standard list page token. Typically obtained via ListRagFilesResponse.next_page_token of the previous VertexRagDataService.ListRagFiles call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the RagCorpus from which to list the RagFiles. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/ragFiles", + "response": { + "$ref": "GoogleCloudAiplatformV1ListRagFilesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "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/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "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/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "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/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/operations", + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "wait": { + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.wait", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/ragCorpora/[^/]+/ragFiles/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "format": "google-duration", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}:wait", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + }, + "reasoningEngines": { + "methods": { + "create": { + "description": "Creates a reasoning engine.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.reasoningEngines.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the Location to create the ReasoningEngine in. Format: `projects/{project}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/reasoningEngines", + "request": { + "$ref": "GoogleCloudAiplatformV1ReasoningEngine" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a reasoning engine.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}", + "httpMethod": "DELETE", + "id": "aiplatform.projects.locations.reasoningEngines.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the ReasoningEngine resource to be deleted. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a reasoning engine.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.reasoningEngines.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the ReasoningEngine resource. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudAiplatformV1ReasoningEngine" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists reasoning engines in a location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.reasoningEngines.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The standard list page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the Location to list the ReasoningEngines from. Format: `projects/{project}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/reasoningEngines", + "response": { + "$ref": "GoogleCloudAiplatformV1ListReasoningEnginesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a reasoning engine.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}", + "httpMethod": "PATCH", + "id": "aiplatform.projects.locations.reasoningEngines.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the ReasoningEngine.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Mask specifying which fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudAiplatformV1ReasoningEngine" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "query": { + "description": "Queries using a reasoning engine.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:query", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.reasoningEngines.query", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:query", + "request": { + "$ref": "GoogleCloudAiplatformV1QueryReasoningEngineRequest" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1QueryReasoningEngineResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "streamQuery": { + "description": "Streams queries using a reasoning engine.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:streamQuery", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.reasoningEngines.streamQuery", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:streamQuery", + "request": { + "$ref": "GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest" + }, + "response": { + "$ref": "GoogleApiHttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "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/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.reasoningEngines.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "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/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "aiplatform.projects.locations.reasoningEngines.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "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/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.reasoningEngines.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/operations", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.reasoningEngines.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/operations", + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "wait": { + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.reasoningEngines.operations.wait", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "format": "google-duration", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}:wait", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "schedules": { + "methods": { + "create": { + "description": "Creates a Schedule.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.schedules.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the Location to create the Schedule in. Format: `projects/{project}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/schedules", + "request": { + "$ref": "GoogleCloudAiplatformV1Schedule" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1Schedule" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a Schedule.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}", + "httpMethod": "DELETE", + "id": "aiplatform.projects.locations.schedules.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the Schedule resource to be deleted. Format: `projects/{project}/locations/{location}/schedules/{schedule}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a Schedule.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.schedules.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the Schedule resource. Format: `projects/{project}/locations/{location}/schedules/{schedule}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudAiplatformV1Schedule" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Schedules in a Location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.schedules.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Lists the Schedules that match the filter expression. The following fields are supported: * `display_name`: Supports `=`, `!=` comparisons, and `:` wildcard. * `state`: Supports `=` and `!=` comparisons. * `request`: Supports existence of the check. (e.g. `create_pipeline_job_request:*` --> Schedule has create_pipeline_job_request). * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `start_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `end_time`: Supports `=`, `!=`, `<`, `>`, `<=`, `>=` comparisons and `:*` existence check. Values must be in RFC 3339 format. * `next_run_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. Filter expressions can be combined together using logical operators (`NOT`, `AND` & `OR`). The syntax to define filter expression is based on https://google.aip.dev/160. Examples: * `state=\"ACTIVE\" AND display_name:\"my_schedule_*\"` * `NOT display_name=\"my_schedule\"` * `create_time>\"2021-05-18T00:00:00Z\"` * `end_time>\"2021-05-18T00:00:00Z\" OR NOT end_time:*` * `create_pipeline_job_request:*`", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "A comma-separated list of fields to order by. The default sort order is in ascending order. Use \"desc\" after a field name for descending. You can have multiple order_by fields provided. For example, using \"create_time desc, end_time\" will order results by create time in descending order, and if there are multiple schedules having the same create time, order them by the end time in ascending order. If order_by is not specified, it will order by default with create_time in descending order. Supported fields: * `create_time` * `start_time` * `end_time` * `next_run_time`", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The standard list page size. Default to 100 if not specified.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token. Typically obtained via ListSchedulesResponse.next_page_token of the previous ScheduleService.ListSchedules call.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the Location to list the Schedules from. Format: `projects/{project}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/schedules", + "response": { + "$ref": "GoogleCloudAiplatformV1ListSchedulesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an active or paused Schedule. When the Schedule is updated, new runs will be scheduled starting from the updated next execution time after the update time based on the time_specification in the updated Schedule. All unstarted runs before the update time will be skipped while already created runs will NOT be paused or canceled.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}", + "httpMethod": "PATCH", + "id": "aiplatform.projects.locations.schedules.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. The resource name of the Schedule.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The update mask applies to the resource. See google.protobuf.FieldMask.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudAiplatformV1Schedule" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1Schedule" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "pause": { + "description": "Pauses a Schedule. Will mark Schedule.state to 'PAUSED'. If the schedule is paused, no new runs will be created. Already created runs will NOT be paused or canceled.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}:pause", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.schedules.pause", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the Schedule resource to be paused. Format: `projects/{project}/locations/{location}/schedules/{schedule}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:pause", + "request": { + "$ref": "GoogleCloudAiplatformV1PauseScheduleRequest" + }, + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "resume": { + "description": "Resumes a paused Schedule to start scheduling new runs. Will mark Schedule.state to 'ACTIVE'. Only paused Schedule can be resumed. When the Schedule is resumed, new runs will be scheduled starting from the next execution time after the current time based on the time_specification in the Schedule. If Schedule.catch_up is set up true, all missed runs will be scheduled for backfill first.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}:resume", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.schedules.resume", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the Schedule resource to be resumed. Format: `projects/{project}/locations/{location}/schedules/{schedule}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:resume", + "request": { + "$ref": "GoogleCloudAiplatformV1ResumeScheduleRequest" + }, + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "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/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.schedules.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "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/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "aiplatform.projects.locations.schedules.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "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/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.schedules.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.schedules.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/schedules/[^/]+$", "required": true, "type": "string" }, @@ -14558,7 +16072,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.specialistPools.operations.cancel", @@ -14857,7 +16371,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.studies.operations.cancel", @@ -15294,7 +16808,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.studies.trials.operations.cancel", @@ -15931,7 +17445,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.tensorboards.experiments.operations.cancel", @@ -16313,7 +17827,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.tensorboards.experiments.runs.operations.cancel", @@ -16736,7 +18250,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.cancel", @@ -16893,7 +18407,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.tensorboards.operations.cancel", @@ -17203,7 +18717,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.trainingPipelines.operations.cancel", @@ -17457,7 +18971,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. The standard list page token. Typically obtained via ListTuningJob.next_page_token of the previous GenAiTuningService.ListTuningJob][] call.", + "description": "Optional. The standard list page token. Typically obtained via ListTuningJobsResponse.next_page_token of the previous GenAiTuningService.ListTuningJob][] call.", "location": "query", "type": "string" }, @@ -17510,7 +19024,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/tuningJobs/{tuningJobsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.tuningJobs.operations.cancel", @@ -17813,7 +19327,7 @@ } } }, - "revision": "20240925", + "revision": "20241214", "rootUrl": "https://aiplatform.googleapis.com/", "schemas": { "CloudAiLargeModelsVisionGenerateVideoResponse": { @@ -17864,6 +19378,10 @@ "$ref": "CloudAiLargeModelsVisionImageRAIScores", "description": "RAI scores for generated image." }, + "imageSize": { + "$ref": "CloudAiLargeModelsVisionImageImageSize", + "description": "Image size. The size of the image. Can be self reported, or computed from the image bytes." + }, "raiInfo": { "$ref": "CloudAiLargeModelsVisionRaiInfo", "description": "RAI info for image." @@ -17883,6 +19401,25 @@ }, "type": "object" }, + "CloudAiLargeModelsVisionImageImageSize": { + "description": "Image size.", + "id": "CloudAiLargeModelsVisionImageImageSize", + "properties": { + "channels": { + "format": "int32", + "type": "integer" + }, + "height": { + "format": "int32", + "type": "integer" + }, + "width": { + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "CloudAiLargeModelsVisionImageRAIScores": { "description": "RAI scores for generated image returned.", "id": "CloudAiLargeModelsVisionImageRAIScores", @@ -18086,6 +19623,14 @@ "description": "Video", "id": "CloudAiLargeModelsVisionVideo", "properties": { + "encodedVideo": { + "description": "Base 64 encoded video bytes.", + "type": "string" + }, + "encoding": { + "description": "Video encoding, for example \"video/mp4\".", + "type": "string" + }, "uri": { "description": "Path to another storage (typically Google Cloud Storage).", "type": "string" @@ -18377,6 +19922,28 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1ApiAuth": { + "description": "The generic reusable api auth config.", + "id": "GoogleCloudAiplatformV1ApiAuth", + "properties": { + "apiKeyConfig": { + "$ref": "GoogleCloudAiplatformV1ApiAuthApiKeyConfig", + "description": "The API secret." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1ApiAuthApiKeyConfig": { + "description": "The API secret.", + "id": "GoogleCloudAiplatformV1ApiAuthApiKeyConfig", + "properties": { + "apiKeySecretVersion": { + "description": "Required. The SecretManager secret version resource name storing API key. e.g. projects/{project}/secrets/{secret}/versions/{version}", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1Artifact": { "description": "Instance of a general artifact.", "id": "GoogleCloudAiplatformV1Artifact", @@ -18537,6 +20104,64 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1AugmentPromptRequest": { + "description": "Request message for AugmentPrompt.", + "id": "GoogleCloudAiplatformV1AugmentPromptRequest", + "properties": { + "contents": { + "description": "Optional. Input content to augment, only text format is supported for now.", + "items": { + "$ref": "GoogleCloudAiplatformV1Content" + }, + "type": "array" + }, + "model": { + "$ref": "GoogleCloudAiplatformV1AugmentPromptRequestModel", + "description": "Optional. Metadata of the backend deployed model." + }, + "vertexRagStore": { + "$ref": "GoogleCloudAiplatformV1VertexRagStore", + "description": "Optional. Retrieves contexts from the Vertex RagStore." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1AugmentPromptRequestModel": { + "description": "Metadata of the backend deployed model.", + "id": "GoogleCloudAiplatformV1AugmentPromptRequestModel", + "properties": { + "model": { + "description": "Optional. The model that the user will send the augmented prompt for content generation.", + "type": "string" + }, + "modelVersion": { + "description": "Optional. The model version of the backend deployed model.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1AugmentPromptResponse": { + "description": "Response message for AugmentPrompt.", + "id": "GoogleCloudAiplatformV1AugmentPromptResponse", + "properties": { + "augmentedPrompt": { + "description": "Augmented prompt, only text format is supported for now.", + "items": { + "$ref": "GoogleCloudAiplatformV1Content" + }, + "type": "array" + }, + "facts": { + "description": "Retrieved facts from RAG data sources.", + "items": { + "$ref": "GoogleCloudAiplatformV1Fact" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1AutomaticResources": { "description": "A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines.", "id": "GoogleCloudAiplatformV1AutomaticResources", @@ -18817,7 +20442,7 @@ }, "request": { "$ref": "GoogleCloudAiplatformV1MigrateResourceRequest", - "description": "It's the same as the value in MigrateResourceRequest.migrate_resource_requests." + "description": "It's the same as the value in BatchMigrateResourcesRequest.migrate_resource_requests." } }, "type": "object" @@ -19311,7 +20936,7 @@ "type": "object" }, "GoogleCloudAiplatformV1Blob": { - "description": "Content blob. It's preferred to send as text directly rather than raw bytes.", + "description": "Content blob.", "id": "GoogleCloudAiplatformV1Blob", "properties": { "data": { @@ -19352,6 +20977,121 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1CacheConfig": { + "description": "Config of GenAI caching features. This is a singleton resource.", + "id": "GoogleCloudAiplatformV1CacheConfig", + "properties": { + "disableCache": { + "description": "If set to true, disables GenAI caching. Otherwise caching is enabled.", + "type": "boolean" + }, + "name": { + "description": "Identifier. Name of the cache config. Format: - `projects/{project}/cacheConfig`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1CachedContent": { + "description": "A resource used in LLM queries for users to explicitly specify what to cache and how to cache.", + "id": "GoogleCloudAiplatformV1CachedContent", + "properties": { + "contents": { + "description": "Optional. Input only. Immutable. The content to cache", + "items": { + "$ref": "GoogleCloudAiplatformV1Content" + }, + "type": "array" + }, + "createTime": { + "description": "Output only. Creatation time of the cache entry.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Optional. Immutable. The user-generated meaningful display name of the cached content.", + "type": "string" + }, + "expireTime": { + "description": "Timestamp of when this resource is considered expired. This is *always* provided on output, regardless of what was sent on input.", + "format": "google-datetime", + "type": "string" + }, + "model": { + "description": "Immutable. The name of the publisher model to use for cached content. Format: projects/{project}/locations/{location}/publishers/{publisher}/models/{model}", + "type": "string" + }, + "name": { + "description": "Immutable. Identifier. The server-generated resource name of the cached content Format: projects/{project}/locations/{location}/cachedContents/{cached_content}", + "type": "string" + }, + "systemInstruction": { + "$ref": "GoogleCloudAiplatformV1Content", + "description": "Optional. Input only. Immutable. Developer set system instruction. Currently, text only" + }, + "toolConfig": { + "$ref": "GoogleCloudAiplatformV1ToolConfig", + "description": "Optional. Input only. Immutable. Tool config. This config is shared for all tools" + }, + "tools": { + "description": "Optional. Input only. Immutable. A list of `Tools` the model may use to generate the next response", + "items": { + "$ref": "GoogleCloudAiplatformV1Tool" + }, + "type": "array" + }, + "ttl": { + "description": "Input only. The TTL for this resource. The expiration time is computed: now + TTL.", + "format": "google-duration", + "type": "string" + }, + "updateTime": { + "description": "Output only. When the cache entry was last updated in UTC time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "usageMetadata": { + "$ref": "GoogleCloudAiplatformV1CachedContentUsageMetadata", + "description": "Output only. Metadata on the usage of the cached content.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1CachedContentUsageMetadata": { + "description": "Metadata on the usage of the cached content.", + "id": "GoogleCloudAiplatformV1CachedContentUsageMetadata", + "properties": { + "audioDurationSeconds": { + "description": "Duration of audio in seconds.", + "format": "int32", + "type": "integer" + }, + "imageCount": { + "description": "Number of images.", + "format": "int32", + "type": "integer" + }, + "textCount": { + "description": "Number of text characters.", + "format": "int32", + "type": "integer" + }, + "totalTokenCount": { + "description": "Total number of tokens that the cached content consumes.", + "format": "int32", + "type": "integer" + }, + "videoDurationSeconds": { + "description": "Duration of video in seconds.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1CancelBatchPredictionJobRequest": { "description": "Request message for JobService.CancelBatchPredictionJob.", "id": "GoogleCloudAiplatformV1CancelBatchPredictionJobRequest", @@ -19444,7 +21184,7 @@ "Token generation reached a natural stopping point or a configured stop sequence.", "Token generation reached the configured maximum output tokens.", "Token generation stopped because the content potentially contains safety violations. NOTE: When streaming, content is empty if content filters blocks the output.", - "Token generation stopped because the content potentially contains copyright violations.", + "The token generation stopped because of potential recitation.", "All other reasons that stopped the token generation.", "Token generation stopped because the content contains forbidden terms.", "Token generation stopped for potentially containing prohibited content.", @@ -19571,6 +21311,48 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1Claim": { + "description": "Claim that is extracted from the input text and facts that support it.", + "id": "GoogleCloudAiplatformV1Claim", + "properties": { + "endIndex": { + "description": "Index in the input text where the claim ends (exclusive).", + "format": "int32", + "type": "integer" + }, + "factIndexes": { + "description": "Indexes of the facts supporting this claim.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "score": { + "description": "Confidence score of this corroboration.", + "format": "float", + "type": "number" + }, + "startIndex": { + "description": "Index in the input text where the claim starts (inclusive).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1ClientConnectionConfig": { + "description": "Configurations (e.g. inference timeout) that are applied on your endpoints.", + "id": "GoogleCloudAiplatformV1ClientConnectionConfig", + "properties": { + "inferenceTimeout": { + "description": "Customizable online prediction request timeout.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1CoherenceInput": { "description": "Input for coherence metric.", "id": "GoogleCloudAiplatformV1CoherenceInput", @@ -19633,6 +21415,80 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1CometInput": { + "description": "Input for Comet metric.", + "id": "GoogleCloudAiplatformV1CometInput", + "properties": { + "instance": { + "$ref": "GoogleCloudAiplatformV1CometInstance", + "description": "Required. Comet instance." + }, + "metricSpec": { + "$ref": "GoogleCloudAiplatformV1CometSpec", + "description": "Required. Spec for comet metric." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1CometInstance": { + "description": "Spec for Comet instance - The fields used for evaluation are dependent on the comet version.", + "id": "GoogleCloudAiplatformV1CometInstance", + "properties": { + "prediction": { + "description": "Required. Output of the evaluated model.", + "type": "string" + }, + "reference": { + "description": "Optional. Ground truth used to compare against the prediction.", + "type": "string" + }, + "source": { + "description": "Optional. Source text in original language.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1CometResult": { + "description": "Spec for Comet result - calculates the comet score for the given instance using the version specified in the spec.", + "id": "GoogleCloudAiplatformV1CometResult", + "properties": { + "score": { + "description": "Output only. Comet score. Range depends on version.", + "format": "float", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1CometSpec": { + "description": "Spec for Comet metric.", + "id": "GoogleCloudAiplatformV1CometSpec", + "properties": { + "sourceLanguage": { + "description": "Optional. Source language in BCP-47 format.", + "type": "string" + }, + "targetLanguage": { + "description": "Optional. Target language in BCP-47 format. Covers both prediction and reference.", + "type": "string" + }, + "version": { + "description": "Required. Which version to use for evaluation.", + "enum": [ + "COMET_VERSION_UNSPECIFIED", + "COMET_22_SRC_REF" + ], + "enumDescriptions": [ + "Comet version unspecified.", + "Comet 22 for translation + source + reference (source-reference-combined)." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1CompleteTrialRequest": { "description": "Request message for VizierService.CompleteTrial.", "id": "GoogleCloudAiplatformV1CompleteTrialRequest", @@ -19899,6 +21755,88 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1CorpusStatus": { + "description": "RagCorpus status.", + "id": "GoogleCloudAiplatformV1CorpusStatus", + "properties": { + "errorStatus": { + "description": "Output only. Only when the `state` field is ERROR.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. RagCorpus life state.", + "enum": [ + "UNKNOWN", + "INITIALIZED", + "ACTIVE", + "ERROR" + ], + "enumDescriptions": [ + "This state is not supposed to happen.", + "RagCorpus resource entry is initialized, but hasn't done validation.", + "RagCorpus is provisioned successfully and is ready to serve.", + "RagCorpus is in a problematic situation. See `error_message` field for details." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1CorroborateContentRequest": { + "description": "Request message for CorroborateContent.", + "id": "GoogleCloudAiplatformV1CorroborateContentRequest", + "properties": { + "content": { + "$ref": "GoogleCloudAiplatformV1Content", + "description": "Optional. Input content to corroborate, only text format is supported for now." + }, + "facts": { + "description": "Optional. Facts used to generate the text can also be used to corroborate the text.", + "items": { + "$ref": "GoogleCloudAiplatformV1Fact" + }, + "type": "array" + }, + "parameters": { + "$ref": "GoogleCloudAiplatformV1CorroborateContentRequestParameters", + "description": "Optional. Parameters that can be set to override default settings per request." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1CorroborateContentRequestParameters": { + "description": "Parameters that can be overrided per request.", + "id": "GoogleCloudAiplatformV1CorroborateContentRequestParameters", + "properties": { + "citationThreshold": { + "description": "Optional. Only return claims with citation score larger than the threshold.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1CorroborateContentResponse": { + "description": "Response message for CorroborateContent.", + "id": "GoogleCloudAiplatformV1CorroborateContentResponse", + "properties": { + "claims": { + "description": "Claims that are extracted from the input content and facts that support the claims.", + "items": { + "$ref": "GoogleCloudAiplatformV1Claim" + }, + "type": "array" + }, + "corroborationScore": { + "description": "Confidence score of corroborating content. Value is [0,1] with 1 is the most confidence.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1CountTokensRequest": { "description": "Request message for PredictionService.CountTokens.", "id": "GoogleCloudAiplatformV1CountTokensRequest", @@ -20750,7 +22688,7 @@ "type": "string" }, "name": { - "description": "Output only. Identifier. The resource name of the Dataset.", + "description": "Output only. Identifier. The resource name of the Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", "readOnly": true, "type": "string" }, @@ -20862,6 +22800,11 @@ "format": "int32", "type": "integer" }, + "requiredReplicaCount": { + "description": "Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial model deployment/mutation is desired. If set, the model deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count.", + "format": "int32", + "type": "integer" + }, "spot": { "description": "Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms).", "type": "boolean" @@ -21239,6 +23182,10 @@ "$ref": "GoogleCloudAiplatformV1ExplanationSpec", "description": "Explanation configuration for this DeployedModel. When deploying a Model using EndpointService.DeployModel, this value overrides the value of Model.explanation_spec. All fields of explanation_spec are optional in the request. If a field of explanation_spec is not populated, the value of the same field of Model.explanation_spec is inherited. If the corresponding Model.explanation_spec is not populated, all fields of the explanation_spec will be used for the explanation configuration." }, + "fasterDeploymentConfig": { + "$ref": "GoogleCloudAiplatformV1FasterDeploymentConfig", + "description": "Configuration for faster model deployment." + }, "id": { "description": "Immutable. The ID of the DeployedModel. If not provided upon deployment, Vertex AI will generate a value for this ID. This value should be 1-10 characters, and valid characters are `/[0-9]/`.", "type": "string" @@ -21264,6 +23211,18 @@ "sharedResources": { "description": "The resource name of the shared DeploymentResourcePool to deploy on. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", "type": "string" + }, + "status": { + "$ref": "GoogleCloudAiplatformV1DeployedModelStatus", + "description": "Output only. Runtime status of the deployed model.", + "readOnly": true + }, + "systemLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "System labels to apply to Model Garden deployments. System labels are managed by Google for internal use only.", + "type": "object" } }, "type": "object" @@ -21283,6 +23242,30 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1DeployedModelStatus": { + "description": "Runtime status of the deployed model.", + "id": "GoogleCloudAiplatformV1DeployedModelStatus", + "properties": { + "availableReplicaCount": { + "description": "Output only. The number of available replicas of the deployed model.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "lastUpdateTime": { + "description": "Output only. The time at which the status was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "message": { + "description": "Output only. The latest deployed model's status message (if any).", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1DeploymentResourcePool": { "description": "A description of resources that can be shared by multiple DeployedModels, whose underlying specification consists of a DedicatedResources.", "id": "GoogleCloudAiplatformV1DeploymentResourcePool", @@ -21404,6 +23387,12 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1DirectUploadSource": { + "description": "The input content is encapsulated and uploaded in the request.", + "id": "GoogleCloudAiplatformV1DirectUploadSource", + "properties": {}, + "type": "object" + }, "GoogleCloudAiplatformV1DiskSpec": { "description": "Represents the spec of disk options.", "id": "GoogleCloudAiplatformV1DiskSpec", @@ -21435,6 +23424,30 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1DynamicRetrievalConfig": { + "description": "Describes the options to customize dynamic retrieval.", + "id": "GoogleCloudAiplatformV1DynamicRetrievalConfig", + "properties": { + "dynamicThreshold": { + "description": "Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.", + "format": "float", + "type": "number" + }, + "mode": { + "description": "The mode of the predictor to be used in dynamic retrieval.", + "enum": [ + "MODE_UNSPECIFIED", + "MODE_DYNAMIC" + ], + "enumDescriptions": [ + "Always trigger retrieval.", + "Run retrieval only when system decides it is necessary." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1EncryptionSpec": { "description": "Represents a customer-managed encryption key spec that can be applied to a top-level resource.", "id": "GoogleCloudAiplatformV1EncryptionSpec", @@ -21450,6 +23463,10 @@ "description": "Models are deployed into it, and afterwards Endpoint is called to obtain predictions and explanations.", "id": "GoogleCloudAiplatformV1Endpoint", "properties": { + "clientConnectionConfig": { + "$ref": "GoogleCloudAiplatformV1ClientConnectionConfig", + "description": "Configurations that are applied to the endpoint for online prediction." + }, "createTime": { "description": "Output only. Timestamp when this Endpoint was created.", "format": "google-datetime", @@ -21705,6 +23722,10 @@ "$ref": "GoogleCloudAiplatformV1CoherenceInput", "description": "Input for coherence metric." }, + "cometInput": { + "$ref": "GoogleCloudAiplatformV1CometInput", + "description": "Translation metrics. Input for Comet metric." + }, "exactMatchInput": { "$ref": "GoogleCloudAiplatformV1ExactMatchInput", "description": "Auto metric instances. Instances and metric spec for exact match metric." @@ -21721,6 +23742,10 @@ "$ref": "GoogleCloudAiplatformV1GroundednessInput", "description": "Input for groundedness metric." }, + "metricxInput": { + "$ref": "GoogleCloudAiplatformV1MetricxInput", + "description": "Input for Metricx metric." + }, "pairwiseMetricInput": { "$ref": "GoogleCloudAiplatformV1PairwiseMetricInput", "description": "Input for pairwise metric." @@ -21788,6 +23813,30 @@ "toolParameterKvMatchInput": { "$ref": "GoogleCloudAiplatformV1ToolParameterKVMatchInput", "description": "Input for tool parameter key value match metric." + }, + "trajectoryAnyOrderMatchInput": { + "$ref": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput", + "description": "Input for trajectory match any order metric." + }, + "trajectoryExactMatchInput": { + "$ref": "GoogleCloudAiplatformV1TrajectoryExactMatchInput", + "description": "Input for trajectory exact match metric." + }, + "trajectoryInOrderMatchInput": { + "$ref": "GoogleCloudAiplatformV1TrajectoryInOrderMatchInput", + "description": "Input for trajectory in order match metric." + }, + "trajectoryPrecisionInput": { + "$ref": "GoogleCloudAiplatformV1TrajectoryPrecisionInput", + "description": "Input for trajectory precision metric." + }, + "trajectoryRecallInput": { + "$ref": "GoogleCloudAiplatformV1TrajectoryRecallInput", + "description": "Input for trajectory recall metric." + }, + "trajectorySingleToolUseInput": { + "$ref": "GoogleCloudAiplatformV1TrajectorySingleToolUseInput", + "description": "Input for trajectory single tool use metric." } }, "type": "object" @@ -21804,6 +23853,10 @@ "$ref": "GoogleCloudAiplatformV1CoherenceResult", "description": "Result for coherence metric." }, + "cometResult": { + "$ref": "GoogleCloudAiplatformV1CometResult", + "description": "Translation metrics. Result for Comet metric." + }, "exactMatchResults": { "$ref": "GoogleCloudAiplatformV1ExactMatchResults", "description": "Auto metric evaluation results. Results for exact match metric." @@ -21820,6 +23873,10 @@ "$ref": "GoogleCloudAiplatformV1GroundednessResult", "description": "Result for groundedness metric." }, + "metricxResult": { + "$ref": "GoogleCloudAiplatformV1MetricxResult", + "description": "Result for Metricx metric." + }, "pairwiseMetricResult": { "$ref": "GoogleCloudAiplatformV1PairwiseMetricResult", "description": "Result for pairwise metric." @@ -21887,6 +23944,30 @@ "toolParameterKvMatchResults": { "$ref": "GoogleCloudAiplatformV1ToolParameterKVMatchResults", "description": "Results for tool parameter key value match metric." + }, + "trajectoryAnyOrderMatchResults": { + "$ref": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults", + "description": "Result for trajectory any order match metric." + }, + "trajectoryExactMatchResults": { + "$ref": "GoogleCloudAiplatformV1TrajectoryExactMatchResults", + "description": "Result for trajectory exact match metric." + }, + "trajectoryInOrderMatchResults": { + "$ref": "GoogleCloudAiplatformV1TrajectoryInOrderMatchResults", + "description": "Result for trajectory in order match metric." + }, + "trajectoryPrecisionResults": { + "$ref": "GoogleCloudAiplatformV1TrajectoryPrecisionResults", + "description": "Result for trajectory precision metric." + }, + "trajectoryRecallResults": { + "$ref": "GoogleCloudAiplatformV1TrajectoryRecallResults", + "description": "Results for trajectory recall metric." + }, + "trajectorySingleToolUseResults": { + "$ref": "GoogleCloudAiplatformV1TrajectorySingleToolUseResults", + "description": "Results for trajectory single tool use metric." } }, "type": "object" @@ -22695,7 +24776,7 @@ "id": "GoogleCloudAiplatformV1ExportDataConfig", "properties": { "annotationSchemaUri": { - "description": "The Cloud Storage URI that points to a YAML file describing the annotation schema. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). The schema files that can be used here are found in gs://google-cloud-aiplatform/schema/dataset/annotation/, note that the chosen schema must be consistent with metadata of the Dataset specified by dataset_id. Only used for custom training data export use cases. Only applicable to Datasets that have DataItems and Annotations. Only Annotations that both match this schema and belong to DataItems not ignored by the split method are used in respectively training, validation or test role, depending on the role of the DataItem they are on. When used in conjunction with annotations_filter, the Annotations used for training are filtered by both annotations_filter and annotation_schema_uri.", + "description": "The Cloud Storage URI that points to a YAML file describing the annotation schema. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). The schema files that can be used here are found in gs://google-cloud-aiplatform/schema/dataset/annotation/, note that the chosen schema must be consistent with metadata of the Dataset specified by ExportDataRequest.name. Only used for custom training data export use cases. Only applicable to Datasets that have DataItems and Annotations. Only Annotations that both match this schema and belong to DataItems not ignored by the split method are used in respectively training, validation or test role, depending on the role of the DataItem they are on. When used in conjunction with annotations_filter, the Annotations used for training are filtered by both annotations_filter and annotation_schema_uri.", "type": "string" }, "annotationsFilter": { @@ -22727,7 +24808,7 @@ "description": "The Google Cloud Storage location where the output is to be written to. In the given directory a new directory will be created with name: `export-data--` where timestamp is in YYYY-MM-DDThh:mm:ss.sssZ ISO-8601 format. All export output will be written into that directory. Inside that directory, annotations with the same schema will be grouped into sub directories which are named with the corresponding annotations' schema title. Inside these sub directories, a schema.yaml will be created to describe the output format." }, "savedQueryId": { - "description": "The ID of a SavedQuery (annotation set) under the Dataset specified by dataset_id used for filtering Annotations for training. Only used for custom training data export use cases. Only applicable to Datasets that have SavedQueries. Only Annotations that are associated with this SavedQuery are used in respectively training. When used in conjunction with annotations_filter, the Annotations used for training are filtered by both saved_query_id and annotations_filter. Only one of saved_query_id and annotation_schema_uri should be specified as both of them represent the same thing: problem type.", + "description": "The ID of a SavedQuery (annotation set) under the Dataset specified by ExportDataRequest.name used for filtering Annotations for training. Only used for custom training data export use cases. Only applicable to Datasets that have SavedQueries. Only Annotations that are associated with this SavedQuery are used in respectively training. When used in conjunction with annotations_filter, the Annotations used for training are filtered by both saved_query_id and annotations_filter. Only one of saved_query_id and annotation_schema_uri should be specified as both of them represent the same thing: problem type.", "type": "string" } }, @@ -23010,6 +25091,51 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1Fact": { + "description": "The fact used in grounding.", + "id": "GoogleCloudAiplatformV1Fact", + "properties": { + "query": { + "description": "Query that is used to retrieve this fact.", + "type": "string" + }, + "score": { + "description": "If present, according to the underlying Vector DB and the selected metric type, the score can be either the distance or the similarity between the query and the fact and its range depends on the metric type. For example, if the metric type is COSINE_DISTANCE, it represents the distance between the query and the fact. The larger the distance, the less relevant the fact is to the query. The range is [0, 2], while 0 means the most relevant and 2 means the least relevant.", + "format": "double", + "type": "number" + }, + "summary": { + "description": "If present, the summary/snippet of the fact.", + "type": "string" + }, + "title": { + "description": "If present, it refers to the title of this fact.", + "type": "string" + }, + "uri": { + "description": "If present, this uri links to the source of the fact.", + "type": "string" + }, + "vectorDistance": { + "deprecated": true, + "description": "If present, the distance between the query vector and this fact vector.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1FasterDeploymentConfig": { + "description": "Configuration for faster model deployment.", + "id": "GoogleCloudAiplatformV1FasterDeploymentConfig", + "properties": { + "fastTryoutEnabled": { + "description": "If true, enable fast tryout feature for this deployed model.", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1Feature": { "description": "Feature Metadata information. For example, color is a feature that describes an apple.", "id": "GoogleCloudAiplatformV1Feature", @@ -23557,6 +25683,10 @@ "description": "Identifier. Name of the FeatureView. Format: `projects/{project}/locations/{location}/featureOnlineStores/{feature_online_store}/featureViews/{feature_view}`", "type": "string" }, + "optimizedConfig": { + "$ref": "GoogleCloudAiplatformV1FeatureViewOptimizedConfig", + "description": "Optional. Configuration for FeatureView created under Optimized FeatureOnlineStore." + }, "satisfiesPzi": { "description": "Output only. Reserved for future use.", "readOnly": true, @@ -23736,6 +25866,17 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1FeatureViewOptimizedConfig": { + "description": "Configuration for FeatureViews created in Optimized FeatureOnlineStore.", + "id": "GoogleCloudAiplatformV1FeatureViewOptimizedConfig", + "properties": { + "automaticResources": { + "$ref": "GoogleCloudAiplatformV1AutomaticResources", + "description": "Optional. A description of resources that the FeatureView uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2. If max_replica_count is not set, the default value is 6. The max allowed replica count is 1000." + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1FeatureViewSync": { "description": "FeatureViewSync is a representation of sync operation which copies data from data source to Feature View in Online Store.", "id": "GoogleCloudAiplatformV1FeatureViewSync", @@ -23782,6 +25923,10 @@ "description": "Configuration for Sync. Only one option is set.", "id": "GoogleCloudAiplatformV1FeatureViewSyncConfig", "properties": { + "continuous": { + "description": "Optional. If true, syncs the FeatureView in a continuous manner to Online Store.", + "type": "boolean" + }, "cron": { "description": "Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: \"CRON_TZ=${IANA_TIME_ZONE}\" or \"TZ=${IANA_TIME_ZONE}\". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, \"CRON_TZ=America/New_York 1 * * * *\", or \"TZ=America/New_York 1 * * * *\".", "type": "string" @@ -24112,6 +26257,17 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1FetchPredictOperationRequest": { + "description": "Request message for PredictionService.FetchPredictOperation.", + "id": "GoogleCloudAiplatformV1FetchPredictOperationRequest", + "properties": { + "operationName": { + "description": "Required. The server-assigned name for the operation.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1FileData": { "description": "URI based data.", "id": "GoogleCloudAiplatformV1FileData", @@ -24127,6 +26283,33 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1FileStatus": { + "description": "RagFile status.", + "id": "GoogleCloudAiplatformV1FileStatus", + "properties": { + "errorStatus": { + "description": "Output only. Only when the `state` field is ERROR.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. RagFile state.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "ERROR" + ], + "enumDescriptions": [ + "RagFile state is unspecified.", + "RagFile resource has been created and indexed successfully.", + "RagFile resource is in a problematic state. See `error_message` field for details." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1FilterSplit": { "description": "Assigns input data to training, validation, and test sets based on the given filters, data pieces not matched by any filter are ignored. Currently only supported for Datasets containing DataItems. If any of the filters in this message are to match nothing, then they can be set as '-' (the minus sign). Supported only for unstructured Datasets. ", "id": "GoogleCloudAiplatformV1FilterSplit", @@ -24468,7 +26651,7 @@ "type": "object" }, "GoogleCloudAiplatformV1FunctionDeclaration": { - "description": "Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name and parameters. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.", + "description": "Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.", "id": "GoogleCloudAiplatformV1FunctionDeclaration", "properties": { "description": { @@ -24538,6 +26721,10 @@ "description": "Request message for [PredictionService.GenerateContent].", "id": "GoogleCloudAiplatformV1GenerateContentRequest", "properties": { + "cachedContent": { + "description": "Optional. The name of the cached content used as context to serve the prediction. Note: only used in explicit caching, where users can have control over caching (e.g. what content to cache) and enjoy guaranteed cost savings. Format: `projects/{project}/locations/{location}/cachedContents/{cachedContent}`", + "type": "string" + }, "contents": { "description": "Required. The content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history + latest request.", "items": { @@ -24653,6 +26840,12 @@ "description": "Usage metadata about response(s).", "id": "GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata", "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", @@ -24675,6 +26868,10 @@ "description": "Generation config.", "id": "GoogleCloudAiplatformV1GenerationConfig", "properties": { + "audioTimestamp": { + "description": "Optional. If enabled, audio timestamp will be included in the request to the model.", + "type": "boolean" + }, "candidateCount": { "description": "Optional. Number of candidates to generate.", "format": "int32", @@ -24695,6 +26892,22 @@ "format": "int32", "type": "integer" }, + "mediaResolution": { + "description": "Optional. If specified, the media resolution specified will be used.", + "enum": [ + "MEDIA_RESOLUTION_UNSPECIFIED", + "MEDIA_RESOLUTION_LOW", + "MEDIA_RESOLUTION_MEDIUM", + "MEDIA_RESOLUTION_HIGH" + ], + "enumDescriptions": [ + "Media resolution has not been set.", + "Media resolution set to low (64 tokens).", + "Media resolution set to medium (256 tokens).", + "Media resolution set to high (zoomed reframing with 256 tokens)." + ], + "type": "string" + }, "presencePenalty": { "description": "Optional. Positive penalties.", "format": "float", @@ -24708,6 +26921,25 @@ "description": "Optional. Output response mimetype of the generated candidate text. Supported mimetype: - `text/plain`: (default) Text output. - `application/json`: JSON response in the candidates. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. This is a preview feature.", "type": "string" }, + "responseModalities": { + "description": "Optional. The modalities of the response.", + "items": { + "enum": [ + "MODALITY_UNSPECIFIED", + "TEXT", + "IMAGE", + "AUDIO" + ], + "enumDescriptions": [ + "Unspecified modality. Will be processed as text.", + "Text modality.", + "Image modality.", + "Audio modality." + ], + "type": "string" + }, + "type": "array" + }, "responseSchema": { "$ref": "GoogleCloudAiplatformV1Schema", "description": "Optional. The `Schema` object allows the definition of input and output data types. These types can be objects, but also primitives and arrays. Represents a select subset of an [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema). If set, a compatible response_mime_type must also be set. Compatible mimetypes: `application/json`: Schema for JSON response." @@ -24721,6 +26953,10 @@ "format": "int32", "type": "integer" }, + "speechConfig": { + "$ref": "GoogleCloudAiplatformV1SpeechConfig", + "description": "Optional. The speech generation config." + }, "stopSequences": { "description": "Optional. Stop sequences.", "items": { @@ -24833,10 +27069,54 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1GoogleDriveSource": { + "description": "The Google Drive location for the input content.", + "id": "GoogleCloudAiplatformV1GoogleDriveSource", + "properties": { + "resourceIds": { + "description": "Required. Google Drive resource IDs.", + "items": { + "$ref": "GoogleCloudAiplatformV1GoogleDriveSourceResourceId" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1GoogleDriveSourceResourceId": { + "description": "The type and ID of the Google Drive resource.", + "id": "GoogleCloudAiplatformV1GoogleDriveSourceResourceId", + "properties": { + "resourceId": { + "description": "Required. The ID of the Google Drive resource.", + "type": "string" + }, + "resourceType": { + "description": "Required. The type of the Google Drive resource.", + "enum": [ + "RESOURCE_TYPE_UNSPECIFIED", + "RESOURCE_TYPE_FILE", + "RESOURCE_TYPE_FOLDER" + ], + "enumDescriptions": [ + "Unspecified resource type.", + "File resource type.", + "Folder resource type." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1GoogleSearchRetrieval": { "description": "Tool to retrieve public web data for grounding, powered by Google.", "id": "GoogleCloudAiplatformV1GoogleSearchRetrieval", - "properties": {}, + "properties": { + "dynamicRetrievalConfig": { + "$ref": "GoogleCloudAiplatformV1DynamicRetrievalConfig", + "description": "Specifies the dynamic retrieval configuration for the given source." + } + }, "type": "object" }, "GoogleCloudAiplatformV1GroundednessInput": { @@ -24924,6 +27204,10 @@ "description": "Chunk from context retrieved by the retrieval tools.", "id": "GoogleCloudAiplatformV1GroundingChunkRetrievedContext", "properties": { + "text": { + "description": "Text of the attribution.", + "type": "string" + }, "title": { "description": "Title of the attribution.", "type": "string" @@ -24968,6 +27252,11 @@ }, "type": "array" }, + "retrievalMetadata": { + "$ref": "GoogleCloudAiplatformV1RetrievalMetadata", + "description": "Optional. Output only. Retrieval metadata.", + "readOnly": true + }, "searchEntryPoint": { "$ref": "GoogleCloudAiplatformV1SearchEntryPoint", "description": "Optional. Google search entry for the following-up web searches." @@ -25361,6 +27650,63 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1ImportRagFilesConfig": { + "description": "Config for importing RagFiles.", + "id": "GoogleCloudAiplatformV1ImportRagFilesConfig", + "properties": { + "gcsSource": { + "$ref": "GoogleCloudAiplatformV1GcsSource", + "description": "Google Cloud Storage location. Supports importing individual files as well as entire Google Cloud Storage directories. Sample formats: - `gs://bucket_name/my_directory/object_name/my_file.txt` - `gs://bucket_name/my_directory`" + }, + "googleDriveSource": { + "$ref": "GoogleCloudAiplatformV1GoogleDriveSource", + "description": "Google Drive location. Supports importing individual files as well as Google Drive folders." + }, + "jiraSource": { + "$ref": "GoogleCloudAiplatformV1JiraSource", + "description": "Jira queries with their corresponding authentication." + }, + "maxEmbeddingRequestsPerMin": { + "description": "Optional. The max number of queries per minute that this job is allowed to make to the embedding model specified on the corpus. This value is specific to this job and not shared across other import jobs. Consult the Quotas page on the project to set an appropriate value here. If unspecified, a default value of 1,000 QPM would be used.", + "format": "int32", + "type": "integer" + }, + "partialFailureBigquerySink": { + "$ref": "GoogleCloudAiplatformV1BigQueryDestination", + "deprecated": true, + "description": "The BigQuery destination to write partial failures to. It should be a bigquery table resource name (e.g. \"bq://projectId.bqDatasetId.bqTableId\"). The dataset must exist. If the table does not exist, it will be created with the expected schema. If the table exists, the schema will be validated and data will be added to this existing table. Deprecated. Prefer to use `import_result_bq_sink`." + }, + "partialFailureGcsSink": { + "$ref": "GoogleCloudAiplatformV1GcsDestination", + "deprecated": true, + "description": "The Cloud Storage path to write partial failures to. Deprecated. Prefer to use `import_result_gcs_sink`." + }, + "ragFileTransformationConfig": { + "$ref": "GoogleCloudAiplatformV1RagFileTransformationConfig", + "description": "Specifies the transformation config for RagFiles." + }, + "sharePointSources": { + "$ref": "GoogleCloudAiplatformV1SharePointSources", + "description": "SharePoint sources." + }, + "slackSource": { + "$ref": "GoogleCloudAiplatformV1SlackSource", + "description": "Slack channels with their corresponding access tokens." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1ImportRagFilesRequest": { + "description": "Request message for VertexRagDataService.ImportRagFiles.", + "id": "GoogleCloudAiplatformV1ImportRagFilesRequest", + "properties": { + "importRagFilesConfig": { + "$ref": "GoogleCloudAiplatformV1ImportRagFilesConfig", + "description": "Required. The config for the RagFiles to be synced and imported into the RagCorpus. VertexRagDataService.ImportRagFiles." + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1Index": { "description": "A representation of a collection of database items organized in a way that allows for approximate nearest neighbor (a.k.a ANN) algorithms search.", "id": "GoogleCloudAiplatformV1Index", @@ -25828,6 +28174,53 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1JiraSource": { + "description": "The Jira source for the ImportRagFilesRequest.", + "id": "GoogleCloudAiplatformV1JiraSource", + "properties": { + "jiraQueries": { + "description": "Required. The Jira queries.", + "items": { + "$ref": "GoogleCloudAiplatformV1JiraSourceJiraQueries" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1JiraSourceJiraQueries": { + "description": "JiraQueries contains the Jira queries and corresponding authentication.", + "id": "GoogleCloudAiplatformV1JiraSourceJiraQueries", + "properties": { + "apiKeyConfig": { + "$ref": "GoogleCloudAiplatformV1ApiAuthApiKeyConfig", + "description": "Required. The SecretManager secret version resource name (e.g. projects/{project}/secrets/{secret}/versions/{version}) storing the Jira API key. See [Manage API tokens for your Atlassian account](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/)." + }, + "customQueries": { + "description": "A list of custom Jira queries to import. For information about JQL (Jira Query Language), see https://support.atlassian.com/jira-service-management-cloud/docs/use-advanced-search-with-jira-query-language-jql/", + "items": { + "type": "string" + }, + "type": "array" + }, + "email": { + "description": "Required. The Jira email address.", + "type": "string" + }, + "projects": { + "description": "A list of Jira projects to import in their entirety.", + "items": { + "type": "string" + }, + "type": "array" + }, + "serverUri": { + "description": "Required. The Jira server URI.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1LargeModelReference": { "description": "Contains information about the Large Model.", "id": "GoogleCloudAiplatformV1LargeModelReference", @@ -25921,6 +28314,24 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1ListCachedContentsResponse": { + "description": "Response with a list of CachedContents.", + "id": "GoogleCloudAiplatformV1ListCachedContentsResponse", + "properties": { + "cachedContents": { + "description": "List of cached contents.", + "items": { + "$ref": "GoogleCloudAiplatformV1CachedContent" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1ListContextsResponse": { "description": "Response message for MetadataService.ListContexts.", "id": "GoogleCloudAiplatformV1ListContextsResponse", @@ -26430,7 +28841,7 @@ "id": "GoogleCloudAiplatformV1ListNotebookExecutionJobsResponse", "properties": { "nextPageToken": { - "description": "A token to retrieve next page of results. Pass to ListNotebookExecutionJobs.page_token to obtain that page.", + "description": "A token to retrieve next page of results. Pass to ListNotebookExecutionJobsRequest.page_token to obtain that page.", "type": "string" }, "notebookExecutionJobs": { @@ -26534,6 +28945,60 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1ListRagCorporaResponse": { + "description": "Response message for VertexRagDataService.ListRagCorpora.", + "id": "GoogleCloudAiplatformV1ListRagCorporaResponse", + "properties": { + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass to ListRagCorporaRequest.page_token to obtain that page.", + "type": "string" + }, + "ragCorpora": { + "description": "List of RagCorpora in the requested page.", + "items": { + "$ref": "GoogleCloudAiplatformV1RagCorpus" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1ListRagFilesResponse": { + "description": "Response message for VertexRagDataService.ListRagFiles.", + "id": "GoogleCloudAiplatformV1ListRagFilesResponse", + "properties": { + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass to ListRagFilesRequest.page_token to obtain that page.", + "type": "string" + }, + "ragFiles": { + "description": "List of RagFiles in the requested page.", + "items": { + "$ref": "GoogleCloudAiplatformV1RagFile" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1ListReasoningEnginesResponse": { + "description": "Response message for ReasoningEngineService.ListReasoningEngines", + "id": "GoogleCloudAiplatformV1ListReasoningEnginesResponse", + "properties": { + "nextPageToken": { + "description": "A token to retrieve the next page of results. Pass to ListReasoningEnginesRequest.page_token to obtain that page.", + "type": "string" + }, + "reasoningEngines": { + "description": "List of ReasoningEngines in the requested page.", + "items": { + "$ref": "GoogleCloudAiplatformV1ReasoningEngine" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1ListSavedQueriesResponse": { "description": "Response message for DatasetService.ListSavedQueries.", "id": "GoogleCloudAiplatformV1ListSavedQueriesResponse", @@ -26763,11 +29228,11 @@ "type": "number" }, "token": { - "description": "The candidate’s token string value.", + "description": "The candidate's token string value.", "type": "string" }, "tokenId": { - "description": "The candidate’s token id value.", + "description": "The candidate's token id value.", "format": "int32", "type": "integer" } @@ -26821,6 +29286,7 @@ "NVIDIA_A100_80GB", "NVIDIA_L4", "NVIDIA_H100_80GB", + "NVIDIA_H100_MEGA_80GB", "TPU_V2", "TPU_V3", "TPU_V4_POD", @@ -26840,6 +29306,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -26853,6 +29320,7 @@ "Nvidia A100 80GB GPU.", "Nvidia L4 GPU.", "Nvidia H100 80Gb GPU.", + "Nvidia H100 Mega 80Gb GPU.", "TPU v2.", "TPU v3.", "TPU v4.", @@ -27056,6 +29524,84 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1MetricxInput": { + "description": "Input for MetricX metric.", + "id": "GoogleCloudAiplatformV1MetricxInput", + "properties": { + "instance": { + "$ref": "GoogleCloudAiplatformV1MetricxInstance", + "description": "Required. Metricx instance." + }, + "metricSpec": { + "$ref": "GoogleCloudAiplatformV1MetricxSpec", + "description": "Required. Spec for Metricx metric." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1MetricxInstance": { + "description": "Spec for MetricX instance - The fields used for evaluation are dependent on the MetricX version.", + "id": "GoogleCloudAiplatformV1MetricxInstance", + "properties": { + "prediction": { + "description": "Required. Output of the evaluated model.", + "type": "string" + }, + "reference": { + "description": "Optional. Ground truth used to compare against the prediction.", + "type": "string" + }, + "source": { + "description": "Optional. Source text in original language.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1MetricxResult": { + "description": "Spec for MetricX result - calculates the MetricX score for the given instance using the version specified in the spec.", + "id": "GoogleCloudAiplatformV1MetricxResult", + "properties": { + "score": { + "description": "Output only. MetricX score. Range depends on version.", + "format": "float", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1MetricxSpec": { + "description": "Spec for MetricX metric.", + "id": "GoogleCloudAiplatformV1MetricxSpec", + "properties": { + "sourceLanguage": { + "description": "Optional. Source language in BCP-47 format.", + "type": "string" + }, + "targetLanguage": { + "description": "Optional. Target language in BCP-47 format. Covers both prediction and reference.", + "type": "string" + }, + "version": { + "description": "Required. Which version to use for evaluation.", + "enum": [ + "METRICX_VERSION_UNSPECIFIED", + "METRICX_24_REF", + "METRICX_24_SRC", + "METRICX_24_SRC_REF" + ], + "enumDescriptions": [ + "MetricX version unspecified.", + "MetricX 2024 (2.6) for translation + reference (reference-based).", + "MetricX 2024 (2.6) for translation + source (QE).", + "MetricX 2024 (2.6) for translation + source + reference (source-reference-combined)." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1MigratableResource": { "description": "Represents one resource that exists in automl.googleapis.com, datalabeling.googleapis.com or ml.googleapis.com.", "id": "GoogleCloudAiplatformV1MigratableResource", @@ -27557,6 +30103,10 @@ "description": "Required. Immutable. URI of the Docker image to be used as the custom container for serving predictions. This URI must identify an image in Artifact Registry or Container Registry. Learn more about the [container publishing requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#publishing), including permissions requirements for the Vertex AI Service Agent. The container image is ingested upon ModelService.UploadModel, stored internally, and this original path is afterwards not used. To learn about the requirements for the Docker image itself, see [Custom container requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#). You can use the URI to one of Vertex AI's [pre-built container images for prediction](https://cloud.google.com/vertex-ai/docs/predictions/pre-built-containers) in this field.", "type": "string" }, + "livenessProbe": { + "$ref": "GoogleCloudAiplatformV1Probe", + "description": "Immutable. Specification for Kubernetes liveness probe." + }, "ports": { "description": "Immutable. List of ports to expose from the container. Vertex AI sends any prediction requests that it receives to the first port on this list. Vertex AI also sends [liveness and health checks](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#liveness) to this port. If you do not specify this field, it defaults to following value: ```json [ { \"containerPort\": 8080 } ] ``` Vertex AI does not use ports other than the first one listed. This field corresponds to the `ports` field of the Kubernetes Containers [v1 core API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).", "items": { @@ -28145,7 +30695,7 @@ "description": "Email alert config." }, "enableLogging": { - "description": "Dump the anomalies to Cloud Logging. The anomalies will be put to json payload encoded from proto google.cloud.aiplatform.logging.ModelMonitoringAnomaliesLogEntry. This can be further sinked to Pub/Sub or any other services supported by Cloud Logging.", + "description": "Dump the anomalies to Cloud Logging. The anomalies will be put to json payload encoded from proto ModelMonitoringStatsAnomalies. This can be further synced to Pub/Sub or any other services supported by Cloud Logging.", "type": "boolean" }, "notificationChannels": { @@ -29230,6 +31780,10 @@ "readOnly": true, "type": "string" }, + "customEnvironmentSpec": { + "$ref": "GoogleCloudAiplatformV1NotebookExecutionJobCustomEnvironmentSpec", + "description": "The custom compute configuration for an execution job." + }, "dataformRepositorySource": { "$ref": "GoogleCloudAiplatformV1NotebookExecutionJobDataformRepositorySource", "description": "The Dataform Repository pointing to a single file notebook repository." @@ -29244,7 +31798,7 @@ }, "encryptionSpec": { "$ref": "GoogleCloudAiplatformV1EncryptionSpec", - "description": "Customer-managed encryption key spec for the notebook execution job. This field is auto-populated if the NotebookService.NotebookRuntimeTemplate has an encryption spec." + "description": "Customer-managed encryption key spec for the notebook execution job. This field is auto-populated if the NotebookRuntimeTemplate has an encryption spec." }, "executionTimeout": { "description": "Max running time of the execution job in seconds (default 86400s / 24 hrs).", @@ -29296,6 +31850,10 @@ "readOnly": true, "type": "string" }, + "kernelName": { + "description": "The name of the kernel to use during notebook execution. If unset, the default kernel is used.", + "type": "string" + }, "labels": { "additionalProperties": { "type": "string" @@ -29331,6 +31889,29 @@ "format": "google-datetime", "readOnly": true, "type": "string" + }, + "workbenchRuntime": { + "$ref": "GoogleCloudAiplatformV1NotebookExecutionJobWorkbenchRuntime", + "description": "The Workbench runtime configuration to use for the notebook execution." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1NotebookExecutionJobCustomEnvironmentSpec": { + "description": "Compute configuration to use for an execution job.", + "id": "GoogleCloudAiplatformV1NotebookExecutionJobCustomEnvironmentSpec", + "properties": { + "machineSpec": { + "$ref": "GoogleCloudAiplatformV1MachineSpec", + "description": "The specification of a single machine for the execution job." + }, + "networkSpec": { + "$ref": "GoogleCloudAiplatformV1NetworkSpec", + "description": "The network configuration to use for the execution job." + }, + "persistentDiskSpec": { + "$ref": "GoogleCloudAiplatformV1PersistentDiskSpec", + "description": "The specification of a persistent disk to attach for the execution job." } }, "type": "object" @@ -29377,6 +31958,12 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1NotebookExecutionJobWorkbenchRuntime": { + "description": "Configuration for a Workbench Instances-based environment.", + "id": "GoogleCloudAiplatformV1NotebookExecutionJobWorkbenchRuntime", + "properties": {}, + "type": "object" + }, "GoogleCloudAiplatformV1NotebookIdleShutdownConfig": { "description": "The idle shutdown configuration of NotebookRuntimeTemplate, which contains the idle_timeout as required field.", "id": "GoogleCloudAiplatformV1NotebookIdleShutdownConfig", @@ -29403,6 +31990,11 @@ "readOnly": true, "type": "string" }, + "dataPersistentDiskSpec": { + "$ref": "GoogleCloudAiplatformV1PersistentDiskSpec", + "description": "Output only. The specification of persistent disk attached to the notebook runtime as data disk storage.", + "readOnly": true + }, "description": { "description": "The description of the NotebookRuntime.", "type": "string" @@ -29416,6 +32008,11 @@ "description": "Output only. Customer-managed encryption key spec for the notebook runtime.", "readOnly": true }, + "eucConfig": { + "$ref": "GoogleCloudAiplatformV1NotebookEucConfig", + "description": "Output only. EUC configuration of the notebook runtime.", + "readOnly": true + }, "expirationTime": { "description": "Output only. Timestamp when this NotebookRuntime will be expired: 1. System Predefined NotebookRuntime: 24 hours after creation. After expiration, system predifined runtime will be deleted. 2. User created NotebookRuntime: 6 months after last upgrade. After expiration, user created runtime will be stopped and allowed for upgrade.", "format": "google-datetime", @@ -29454,11 +32051,21 @@ "description": "The labels with user-defined metadata to organize your NotebookRuntime. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one NotebookRuntime (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable. Following system labels exist for NotebookRuntime: * \"aiplatform.googleapis.com/notebook_runtime_gce_instance_id\": output only, its value is the Compute Engine instance id. * \"aiplatform.googleapis.com/colab_enterprise_entry_service\": its value is either \"bigquery\" or \"vertex\"; if absent, it should be \"vertex\". This is to describe the entry service, either BigQuery or Vertex.", "type": "object" }, + "machineSpec": { + "$ref": "GoogleCloudAiplatformV1MachineSpec", + "description": "Output only. The specification of a single machine used by the notebook runtime.", + "readOnly": true + }, "name": { "description": "Output only. The resource name of the NotebookRuntime.", "readOnly": true, "type": "string" }, + "networkSpec": { + "$ref": "GoogleCloudAiplatformV1NetworkSpec", + "description": "Output only. Network spec of the notebook runtime.", + "readOnly": true + }, "networkTags": { "description": "Optional. The Compute Engine tags to add to runtime (see [Tagging instances](https://cloud.google.com/vpc/docs/add-remove-network-tags)).", "items": { @@ -29531,10 +32138,15 @@ "type": "boolean" }, "serviceAccount": { - "description": "Output only. The service account that the NotebookRuntime workload runs as.", + "description": "Output only. Deprecated: This field is no longer used and the \"Vertex AI Notebook Service Account\" (service-PROJECT_NUMBER@gcp-sa-aiplatform-vm.iam.gserviceaccount.com) is used for the runtime workload identity. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-notebook-service-account for more details. The service account that the NotebookRuntime workload runs as.", "readOnly": true, "type": "string" }, + "shieldedVmConfig": { + "$ref": "GoogleCloudAiplatformV1ShieldedVmConfig", + "description": "Output only. Runtime Shielded VM spec.", + "readOnly": true + }, "updateTime": { "description": "Output only. Timestamp when this NotebookRuntime was most recently updated.", "format": "google-datetime", @@ -29588,7 +32200,8 @@ "description": "The idle shutdown configuration of NotebookRuntimeTemplate. This config will only be set when idle shutdown is enabled." }, "isDefault": { - "description": "Output only. The default template to use if not specified.", + "deprecated": true, + "description": "Output only. Deprecated: This field has no behavior. Use notebook_runtime_type = 'ONE_CLICK' instead. The default template to use if not specified.", "readOnly": true, "type": "boolean" }, @@ -29633,7 +32246,8 @@ "type": "string" }, "serviceAccount": { - "description": "The service account that the runtime workload runs as. You can use any service account within the same project, but you must have the service account user permission to use the instance. If not specified, the [Compute Engine default service account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used.", + "deprecated": true, + "description": "Deprecated: This field is ignored and the \"Vertex AI Notebook Service Account\" (service-PROJECT_NUMBER@gcp-sa-aiplatform-vm.iam.gserviceaccount.com) is used for the runtime workload identity. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-notebook-service-account for more details. For NotebookExecutionJob, use NotebookExecutionJob.service_account instead. The service account that the runtime workload runs as. You can use any service account within the same project, but you must have the service account user permission to use the instance. If not specified, the [Compute Engine default service account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used.", "type": "string" }, "shieldedVmConfig": { @@ -30631,6 +33245,17 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1PrebuiltVoiceConfig": { + "description": "The configuration for the prebuilt speaker to use.", + "id": "GoogleCloudAiplatformV1PrebuiltVoiceConfig", + "properties": { + "voiceName": { + "description": "The name of the preset voice to use.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1PredefinedSplit": { "description": "Assigns input data to training, validation, and test sets based on the value of a provided key. Supported only for tabular Datasets.", "id": "GoogleCloudAiplatformV1PredefinedSplit", @@ -30642,6 +33267,24 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1PredictLongRunningRequest": { + "description": "Request message for PredictionService.PredictLongRunning.", + "id": "GoogleCloudAiplatformV1PredictLongRunningRequest", + "properties": { + "instances": { + "description": "Required. The instances that are the input to the prediction call. A DeployedModel may have an upper limit on the number of instances it supports per request, and when it is exceeded the prediction call errors in case of AutoML Models, or, in case of customer created Models, the behaviour is as documented by that Model. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri.", + "items": { + "type": "any" + }, + "type": "array" + }, + "parameters": { + "description": "Optional. The parameters that govern the prediction. The schema of the parameters may be specified via Endpoint's DeployedModels' Model's PredictSchemata's parameters_schema_uri.", + "type": "any" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1PredictRequest": { "description": "Request message for PredictionService.Predict.", "id": "GoogleCloudAiplatformV1PredictRequest", @@ -30830,11 +33473,23 @@ "$ref": "GoogleCloudAiplatformV1ProbeExecAction", "description": "ExecAction probes the health of a container by executing a command." }, + "grpc": { + "$ref": "GoogleCloudAiplatformV1ProbeGrpcAction", + "description": "GrpcAction probes the health of a container by sending a gRPC request." + }, + "httpGet": { + "$ref": "GoogleCloudAiplatformV1ProbeHttpGetAction", + "description": "HttpGetAction probes the health of a container by sending an HTTP GET request." + }, "periodSeconds": { "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Must be less than timeout_seconds. Maps to Kubernetes probe argument 'periodSeconds'.", "format": "int32", "type": "integer" }, + "tcpSocket": { + "$ref": "GoogleCloudAiplatformV1ProbeTcpSocketAction", + "description": "TcpSocketAction probes the health of a container by opening a TCP socket connection." + }, "timeoutSeconds": { "description": "Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Must be greater or equal to period_seconds. Maps to Kubernetes probe argument 'timeoutSeconds'.", "format": "int32", @@ -30857,6 +33512,84 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1ProbeGrpcAction": { + "description": "GrpcAction checks the health of a container using a gRPC service.", + "id": "GoogleCloudAiplatformV1ProbeGrpcAction", + "properties": { + "port": { + "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.", + "format": "int32", + "type": "integer" + }, + "service": { + "description": "Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). If this is not specified, the default behavior is defined by gRPC.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1ProbeHttpGetAction": { + "description": "HttpGetAction describes an action based on HTTP Get requests.", + "id": "GoogleCloudAiplatformV1ProbeHttpGetAction", + "properties": { + "host": { + "description": "Host name to connect to, defaults to the model serving container's IP. You probably want to set \"Host\" in httpHeaders instead.", + "type": "string" + }, + "httpHeaders": { + "description": "Custom headers to set in the request. HTTP allows repeated headers.", + "items": { + "$ref": "GoogleCloudAiplatformV1ProbeHttpHeader" + }, + "type": "array" + }, + "path": { + "description": "Path to access on the HTTP server.", + "type": "string" + }, + "port": { + "description": "Number of the port to access on the container. Number must be in the range 1 to 65535.", + "format": "int32", + "type": "integer" + }, + "scheme": { + "description": "Scheme to use for connecting to the host. Defaults to HTTP. Acceptable values are \"HTTP\" or \"HTTPS\".", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1ProbeHttpHeader": { + "description": "HttpHeader describes a custom header to be used in HTTP probes", + "id": "GoogleCloudAiplatformV1ProbeHttpHeader", + "properties": { + "name": { + "description": "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header.", + "type": "string" + }, + "value": { + "description": "The header field value", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1ProbeTcpSocketAction": { + "description": "TcpSocketAction probes the health of a container by opening a TCP socket connection.", + "id": "GoogleCloudAiplatformV1ProbeTcpSocketAction", + "properties": { + "host": { + "description": "Optional: Host name to connect to, defaults to the model serving container's IP.", + "type": "string" + }, + "port": { + "description": "Number of the port to access on the container. Number must be in the range 1 to 65535.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1PscAutomatedEndpoints": { "description": "PscAutomatedEndpoints defines the output of the forwarding rule automatically created by each PscAutomationConfig.", "id": "GoogleCloudAiplatformV1PscAutomatedEndpoints", @@ -31087,7 +33820,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. Labels for the deployment. For managing deployment config like verifying, source of deployment config, etc.", + "description": "Optional. Labels for the deployment config. For managing deployment config like verifying, source of deployment config, etc.", "type": "object" }, "sampleRequest": { @@ -31448,6 +34181,36 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1QueryReasoningEngineRequest": { + "description": "Request message for ReasoningEngineExecutionService.Query.", + "id": "GoogleCloudAiplatformV1QueryReasoningEngineRequest", + "properties": { + "classMethod": { + "description": "Optional. Class method to be used for the query. It is optional and defaults to \"query\" if unspecified.", + "type": "string" + }, + "input": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Input content provided by users in JSON object format. Examples include text query, function calling parameters, media bytes, etc.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1QueryReasoningEngineResponse": { + "description": "Response message for ReasoningEngineExecutionService.Query", + "id": "GoogleCloudAiplatformV1QueryReasoningEngineResponse", + "properties": { + "output": { + "description": "Response provided by users in JSON object format.", + "type": "any" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInput": { "description": "Input for question answering correctness metric.", "id": "GoogleCloudAiplatformV1QuestionAnsweringCorrectnessInput", @@ -31760,6 +34523,331 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1RagContexts": { + "description": "Relevant contexts for one query.", + "id": "GoogleCloudAiplatformV1RagContexts", + "properties": { + "contexts": { + "description": "All its contexts.", + "items": { + "$ref": "GoogleCloudAiplatformV1RagContextsContext" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1RagContextsContext": { + "description": "A context of the query.", + "id": "GoogleCloudAiplatformV1RagContextsContext", + "properties": { + "score": { + "description": "According to the underlying Vector DB and the selected metric type, the score can be either the distance or the similarity between the query and the context and its range depends on the metric type. For example, if the metric type is COSINE_DISTANCE, it represents the distance between the query and the context. The larger the distance, the less relevant the context is to the query. The range is [0, 2], while 0 means the most relevant and 2 means the least relevant.", + "format": "double", + "type": "number" + }, + "sourceDisplayName": { + "description": "The file display name.", + "type": "string" + }, + "sourceUri": { + "description": "If the file is imported from Cloud Storage or Google Drive, source_uri will be original file URI in Cloud Storage or Google Drive; if file is uploaded, source_uri will be file display name.", + "type": "string" + }, + "text": { + "description": "The text chunk.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1RagCorpus": { + "description": "A RagCorpus is a RagFile container and a project can have multiple RagCorpora.", + "id": "GoogleCloudAiplatformV1RagCorpus", + "properties": { + "corpusStatus": { + "$ref": "GoogleCloudAiplatformV1CorpusStatus", + "description": "Output only. RagCorpus state.", + "readOnly": true + }, + "createTime": { + "description": "Output only. Timestamp when this RagCorpus was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. The description of the RagCorpus.", + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the RagCorpus. The name can be up to 128 characters long and can consist of any UTF-8 characters.", + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the RagCorpus.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when this RagCorpus was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "vectorDbConfig": { + "$ref": "GoogleCloudAiplatformV1RagVectorDbConfig", + "description": "Optional. Immutable. The config for the Vector DBs." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1RagEmbeddingModelConfig": { + "description": "Config for the embedding model to use for RAG.", + "id": "GoogleCloudAiplatformV1RagEmbeddingModelConfig", + "properties": { + "vertexPredictionEndpoint": { + "$ref": "GoogleCloudAiplatformV1RagEmbeddingModelConfigVertexPredictionEndpoint", + "description": "The Vertex AI Prediction Endpoint that either refers to a publisher model or an endpoint that is hosting a 1P fine-tuned text embedding model. Endpoints hosting non-1P fine-tuned text embedding models are currently not supported. This is used for dense vector search." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1RagEmbeddingModelConfigVertexPredictionEndpoint": { + "description": "Config representing a model hosted on Vertex Prediction Endpoint.", + "id": "GoogleCloudAiplatformV1RagEmbeddingModelConfigVertexPredictionEndpoint", + "properties": { + "endpoint": { + "description": "Required. The endpoint resource name. Format: `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}` or `projects/{project}/locations/{location}/endpoints/{endpoint}`", + "type": "string" + }, + "model": { + "description": "Output only. The resource name of the model that is deployed on the endpoint. Present only when the endpoint is not a publisher model. Pattern: `projects/{project}/locations/{location}/models/{model}`", + "readOnly": true, + "type": "string" + }, + "modelVersionId": { + "description": "Output only. Version ID of the model that is deployed on the endpoint. Present only when the endpoint is not a publisher model.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1RagFile": { + "description": "A RagFile contains user data for chunking, embedding and indexing.", + "id": "GoogleCloudAiplatformV1RagFile", + "properties": { + "createTime": { + "description": "Output only. Timestamp when this RagFile was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. The description of the RagFile.", + "type": "string" + }, + "directUploadSource": { + "$ref": "GoogleCloudAiplatformV1DirectUploadSource", + "description": "Output only. The RagFile is encapsulated and uploaded in the UploadRagFile request.", + "readOnly": true + }, + "displayName": { + "description": "Required. The display name of the RagFile. The name can be up to 128 characters long and can consist of any UTF-8 characters.", + "type": "string" + }, + "fileStatus": { + "$ref": "GoogleCloudAiplatformV1FileStatus", + "description": "Output only. State of the RagFile.", + "readOnly": true + }, + "gcsSource": { + "$ref": "GoogleCloudAiplatformV1GcsSource", + "description": "Output only. Google Cloud Storage location of the RagFile. It does not support wildcards in the Cloud Storage uri for now.", + "readOnly": true + }, + "googleDriveSource": { + "$ref": "GoogleCloudAiplatformV1GoogleDriveSource", + "description": "Output only. Google Drive location. Supports importing individual files as well as Google Drive folders.", + "readOnly": true + }, + "jiraSource": { + "$ref": "GoogleCloudAiplatformV1JiraSource", + "description": "The RagFile is imported from a Jira query." + }, + "name": { + "description": "Output only. The resource name of the RagFile.", + "readOnly": true, + "type": "string" + }, + "sharePointSources": { + "$ref": "GoogleCloudAiplatformV1SharePointSources", + "description": "The RagFile is imported from a SharePoint source." + }, + "slackSource": { + "$ref": "GoogleCloudAiplatformV1SlackSource", + "description": "The RagFile is imported from a Slack channel." + }, + "updateTime": { + "description": "Output only. Timestamp when this RagFile was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1RagFileChunkingConfig": { + "description": "Specifies the size and overlap of chunks for RagFiles.", + "id": "GoogleCloudAiplatformV1RagFileChunkingConfig", + "properties": { + "fixedLengthChunking": { + "$ref": "GoogleCloudAiplatformV1RagFileChunkingConfigFixedLengthChunking", + "description": "Specifies the fixed length chunking config." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1RagFileChunkingConfigFixedLengthChunking": { + "description": "Specifies the fixed length chunking config.", + "id": "GoogleCloudAiplatformV1RagFileChunkingConfigFixedLengthChunking", + "properties": { + "chunkOverlap": { + "description": "The overlap between chunks.", + "format": "int32", + "type": "integer" + }, + "chunkSize": { + "description": "The size of the chunks.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1RagFileTransformationConfig": { + "description": "Specifies the transformation config for RagFiles.", + "id": "GoogleCloudAiplatformV1RagFileTransformationConfig", + "properties": { + "ragFileChunkingConfig": { + "$ref": "GoogleCloudAiplatformV1RagFileChunkingConfig", + "description": "Specifies the chunking config for RagFiles." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1RagQuery": { + "description": "A query to retrieve relevant contexts.", + "id": "GoogleCloudAiplatformV1RagQuery", + "properties": { + "ragRetrievalConfig": { + "$ref": "GoogleCloudAiplatformV1RagRetrievalConfig", + "description": "Optional. The retrieval config for the query." + }, + "text": { + "description": "Optional. The query in text format to get relevant contexts.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1RagRetrievalConfig": { + "description": "Specifies the context retrieval config.", + "id": "GoogleCloudAiplatformV1RagRetrievalConfig", + "properties": { + "filter": { + "$ref": "GoogleCloudAiplatformV1RagRetrievalConfigFilter", + "description": "Optional. Config for filters." + }, + "topK": { + "description": "Optional. The number of contexts to retrieve.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1RagRetrievalConfigFilter": { + "description": "Config for filters.", + "id": "GoogleCloudAiplatformV1RagRetrievalConfigFilter", + "properties": { + "metadataFilter": { + "description": "Optional. String for metadata filtering.", + "type": "string" + }, + "vectorDistanceThreshold": { + "description": "Optional. Only returns contexts with vector distance smaller than the threshold.", + "format": "double", + "type": "number" + }, + "vectorSimilarityThreshold": { + "description": "Optional. Only returns contexts with vector similarity larger than the threshold.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1RagVectorDbConfig": { + "description": "Config for the Vector DB to use for RAG.", + "id": "GoogleCloudAiplatformV1RagVectorDbConfig", + "properties": { + "apiAuth": { + "$ref": "GoogleCloudAiplatformV1ApiAuth", + "description": "Authentication config for the chosen Vector DB." + }, + "pinecone": { + "$ref": "GoogleCloudAiplatformV1RagVectorDbConfigPinecone", + "description": "The config for the Pinecone." + }, + "ragEmbeddingModelConfig": { + "$ref": "GoogleCloudAiplatformV1RagEmbeddingModelConfig", + "description": "Optional. Immutable. The embedding model config of the Vector DB." + }, + "ragManagedDb": { + "$ref": "GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDb", + "description": "The config for the RAG-managed Vector DB." + }, + "vertexVectorSearch": { + "$ref": "GoogleCloudAiplatformV1RagVectorDbConfigVertexVectorSearch", + "description": "The config for the Vertex Vector Search." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1RagVectorDbConfigPinecone": { + "description": "The config for the Pinecone.", + "id": "GoogleCloudAiplatformV1RagVectorDbConfigPinecone", + "properties": { + "indexName": { + "description": "Pinecone index name. This value cannot be changed after it's set.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDb": { + "description": "The config for the default RAG-managed Vector DB.", + "id": "GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDb", + "properties": {}, + "type": "object" + }, + "GoogleCloudAiplatformV1RagVectorDbConfigVertexVectorSearch": { + "description": "The config for the Vertex Vector Search.", + "id": "GoogleCloudAiplatformV1RagVectorDbConfigVertexVectorSearch", + "properties": { + "index": { + "description": "The resource name of the Index. Format: `projects/{project}/locations/{location}/indexes/{index}`", + "type": "string" + }, + "indexEndpoint": { + "description": "The resource name of the Index Endpoint. Format: `projects/{project}/locations/{location}/indexEndpoints/{index_endpoint}`", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1RawPredictRequest": { "description": "Request message for PredictionService.RawPredict.", "id": "GoogleCloudAiplatformV1RawPredictRequest", @@ -32028,6 +35116,90 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1ReasoningEngine": { + "description": "ReasoningEngine provides a customizable runtime for models to determine which actions to take and in which order.", + "id": "GoogleCloudAiplatformV1ReasoningEngine", + "properties": { + "createTime": { + "description": "Output only. Timestamp when this ReasoningEngine was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. The description of the ReasoningEngine.", + "type": "string" + }, + "displayName": { + "description": "Required. The display name of the ReasoningEngine.", + "type": "string" + }, + "etag": { + "description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the ReasoningEngine.", + "type": "string" + }, + "spec": { + "$ref": "GoogleCloudAiplatformV1ReasoningEngineSpec", + "description": "Required. Configurations of the ReasoningEngine" + }, + "updateTime": { + "description": "Output only. Timestamp when this ReasoningEngine was most recently updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1ReasoningEngineSpec": { + "description": "ReasoningEngine configurations", + "id": "GoogleCloudAiplatformV1ReasoningEngineSpec", + "properties": { + "classMethods": { + "description": "Optional. Declarations for object class methods in OpenAPI specification format.", + "items": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "packageSpec": { + "$ref": "GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec", + "description": "Required. User provided package spec of the ReasoningEngine." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec": { + "description": "User provided package spec like pickled object and package requirements.", + "id": "GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec", + "properties": { + "dependencyFilesGcsUri": { + "description": "Optional. The Cloud Storage URI of the dependency files in tar.gz format.", + "type": "string" + }, + "pickleObjectGcsUri": { + "description": "Optional. The Cloud Storage URI of the pickled python object.", + "type": "string" + }, + "pythonVersion": { + "description": "Optional. The Python version. Currently support 3.8, 3.9, 3.10, 3.11. If not specified, default value is 3.10.", + "type": "string" + }, + "requirementsGcsUri": { + "description": "Optional. The Cloud Storage URI of the `requirements.txt` file", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1RebaseTunedModelRequest": { "description": "Request message for GenAiTuningService.RebaseTunedModel.", "id": "GoogleCloudAiplatformV1RebaseTunedModelRequest", @@ -32288,6 +35460,82 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1RetrievalMetadata": { + "description": "Metadata related to retrieval in the grounding flow.", + "id": "GoogleCloudAiplatformV1RetrievalMetadata", + "properties": { + "googleSearchDynamicRetrievalScore": { + "description": "Optional. Score indicating how likely information from Google Search could help answer the prompt. The score is in the range `[0, 1]`, where 0 is the least likely and 1 is the most likely. This score is only populated when Google Search grounding and dynamic retrieval is enabled. It will be compared to the threshold to determine whether to trigger Google Search.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1RetrieveContextsRequest": { + "description": "Request message for VertexRagService.RetrieveContexts.", + "id": "GoogleCloudAiplatformV1RetrieveContextsRequest", + "properties": { + "query": { + "$ref": "GoogleCloudAiplatformV1RagQuery", + "description": "Required. Single RAG retrieve query." + }, + "vertexRagStore": { + "$ref": "GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore", + "description": "The data source for Vertex RagStore." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore": { + "description": "The data source for Vertex RagStore.", + "id": "GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore", + "properties": { + "ragResources": { + "description": "Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support.", + "items": { + "$ref": "GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResource" + }, + "type": "array" + }, + "vectorDistanceThreshold": { + "deprecated": true, + "description": "Optional. Only return contexts with vector distance smaller than the threshold.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResource": { + "description": "The definition of the Rag resource.", + "id": "GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResource", + "properties": { + "ragCorpus": { + "description": "Optional. RagCorpora resource name. Format: `projects/{project}/locations/{location}/ragCorpora/{rag_corpus}`", + "type": "string" + }, + "ragFileIds": { + "description": "Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1RetrieveContextsResponse": { + "description": "Response message for VertexRagService.RetrieveContexts.", + "id": "GoogleCloudAiplatformV1RetrieveContextsResponse", + "properties": { + "contexts": { + "$ref": "GoogleCloudAiplatformV1RagContexts", + "description": "The contexts of the query." + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1RougeInput": { "description": "Input for rouge metric.", "id": "GoogleCloudAiplatformV1RougeInput", @@ -32850,7 +36098,7 @@ "type": "string" }, "restartJobOnWorkerRestart": { - "description": "Restarts the entire CustomJob if a worker gets restarted. This feature can be used by distributed training jobs that are not resilient to workers leaving and joining a job.", + "description": "Optional. Restarts the entire CustomJob if a worker gets restarted. This feature can be used by distributed training jobs that are not resilient to workers leaving and joining a job.", "type": "boolean" }, "strategy": { @@ -32882,7 +36130,7 @@ "type": "string" }, "timeout": { - "description": "The maximum job running time. The default is 7 days.", + "description": "Optional. The maximum job running time. The default is 7 days.", "format": "google-duration", "type": "string" } @@ -32909,7 +36157,7 @@ "type": "string" }, "enum": { - "description": "Optional. Possible values of the element of Type.STRING with enum format. For example we can define an Enum Direction as : {type:STRING, format:enum, enum:[\"EAST\", NORTH\", \"SOUTH\", \"WEST\"]}", + "description": "Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:[\"EAST\", NORTH\", \"SOUTH\", \"WEST\"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:[\"101\", \"201\", \"301\"]}", "items": { "type": "string" }, @@ -34819,6 +38067,312 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1SchemaPromptApiSchema": { + "description": "The A2 schema of a prompt.", + "id": "GoogleCloudAiplatformV1SchemaPromptApiSchema", + "properties": { + "apiSchemaVersion": { + "description": "The Schema version that represents changes to the API behavior.", + "type": "string" + }, + "executions": { + "description": "A list of execution instances for constructing a ready-to-use prompt.", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptInstancePromptExecution" + }, + "type": "array" + }, + "multimodalPrompt": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecMultimodalPrompt", + "description": "Multimodal prompt which embeds preambles to prompt string." + }, + "structuredPrompt": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecStructuredPrompt", + "description": "The prompt variation that stores preambles in separate fields." + }, + "translationPrompt": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationPrompt", + "description": "The prompt variation for Translation use case." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1SchemaPromptInstancePromptExecution": { + "description": "A prompt instance's parameters set that contains a set of variable values.", + "id": "GoogleCloudAiplatformV1SchemaPromptInstancePromptExecution", + "properties": { + "arguments": { + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptInstanceVariableValue" + }, + "description": "Maps variable names to their value.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1SchemaPromptInstanceVariableValue": { + "description": "The value of a variable in prompt.", + "id": "GoogleCloudAiplatformV1SchemaPromptInstanceVariableValue", + "properties": { + "partList": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecPartList", + "description": "The parts of the variable value." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1SchemaPromptSpecMultimodalPrompt": { + "description": "Prompt variation that embeds preambles to prompt string.", + "id": "GoogleCloudAiplatformV1SchemaPromptSpecMultimodalPrompt", + "properties": { + "promptMessage": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage", + "description": "The prompt message." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1SchemaPromptSpecPartList": { + "description": "A list of elements and information that make up a portion of prompt.", + "id": "GoogleCloudAiplatformV1SchemaPromptSpecPartList", + "properties": { + "parts": { + "description": "A list of elements that can be part of a prompt.", + "items": { + "$ref": "GoogleCloudAiplatformV1Part" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage": { + "description": "The prompt message that aligns with the prompt message in google.cloud.aiplatform.master.GenerateContentRequest.", + "id": "GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage", + "properties": { + "contents": { + "description": "The content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history + latest request.", + "items": { + "$ref": "GoogleCloudAiplatformV1Content" + }, + "type": "array" + }, + "generationConfig": { + "$ref": "GoogleCloudAiplatformV1GenerationConfig", + "description": "Generation config." + }, + "model": { + "description": "The model name.", + "type": "string" + }, + "safetySettings": { + "description": "Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates.", + "items": { + "$ref": "GoogleCloudAiplatformV1SafetySetting" + }, + "type": "array" + }, + "systemInstruction": { + "$ref": "GoogleCloudAiplatformV1Content", + "description": "The user provided system instructions for the model. Note: only text should be used in parts and content in each part will be in a separate paragraph." + }, + "toolConfig": { + "$ref": "GoogleCloudAiplatformV1ToolConfig", + "description": "Tool config. This config is shared for all tools provided in the request." + }, + "tools": { + "description": "A list of `Tools` the model may use to generate the next response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.", + "items": { + "$ref": "GoogleCloudAiplatformV1Tool" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePair": { + "description": "A pair of sentences used as reference in source and target languages.", + "id": "GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePair", + "properties": { + "sourceSentence": { + "description": "Source sentence in the sentence pair.", + "type": "string" + }, + "targetSentence": { + "description": "Target sentence in the sentence pair.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePairList": { + "description": "A list of reference sentence pairs.", + "id": "GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePairList", + "properties": { + "referenceSentencePairs": { + "description": "Reference sentence pairs.", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePair" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1SchemaPromptSpecStructuredPrompt": { + "description": "Prompt variation that stores preambles in separate fields.", + "id": "GoogleCloudAiplatformV1SchemaPromptSpecStructuredPrompt", + "properties": { + "context": { + "$ref": "GoogleCloudAiplatformV1Content", + "description": "Preamble: The context of the prompt." + }, + "examples": { + "description": "Preamble: A set of examples for expected model response.", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecPartList" + }, + "type": "array" + }, + "infillPrefix": { + "description": "Preamble: For infill prompt, the prefix before expected model response.", + "type": "string" + }, + "infillSuffix": { + "description": "Preamble: For infill prompt, the suffix after expected model response.", + "type": "string" + }, + "inputPrefixes": { + "description": "Preamble: The input prefixes before each example input.", + "items": { + "type": "string" + }, + "type": "array" + }, + "outputPrefixes": { + "description": "Preamble: The output prefixes before each example output.", + "items": { + "type": "string" + }, + "type": "array" + }, + "predictionInputs": { + "description": "Preamble: The input test data for prediction. Each PartList in this field represents one text-only input set for a single model request.", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecPartList" + }, + "type": "array" + }, + "promptMessage": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage", + "description": "The prompt message." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1SchemaPromptSpecTranslationExample": { + "description": "The translation example that contains reference sentences from various sources.", + "id": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationExample", + "properties": { + "referenceSentencePairLists": { + "description": "The reference sentences from inline text.", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePairList" + }, + "type": "array" + }, + "referenceSentencesFileInputs": { + "description": "The reference sentences from file.", + "items": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationSentenceFileInput" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1SchemaPromptSpecTranslationFileInputSource": { + "id": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationFileInputSource", + "properties": { + "content": { + "description": "The file's contents.", + "type": "string" + }, + "displayName": { + "description": "The file's display name.", + "type": "string" + }, + "mimeType": { + "description": "The file's mime type.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1SchemaPromptSpecTranslationGcsInputSource": { + "id": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationGcsInputSource", + "properties": { + "inputUri": { + "description": "Source data URI. For example, `gs://my_bucket/my_object`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1SchemaPromptSpecTranslationOption": { + "description": "Optional settings for translation prompt.", + "id": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationOption", + "properties": { + "numberOfShots": { + "description": "How many shots to use.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1SchemaPromptSpecTranslationPrompt": { + "description": "Prompt variation for Translation use case.", + "id": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationPrompt", + "properties": { + "example": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationExample", + "description": "The translation example." + }, + "option": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationOption", + "description": "The translation option." + }, + "promptMessage": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage", + "description": "The prompt message." + }, + "sourceLanguageCode": { + "description": "The source language code.", + "type": "string" + }, + "targetLanguageCode": { + "description": "The target language code.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1SchemaPromptSpecTranslationSentenceFileInput": { + "id": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationSentenceFileInput", + "properties": { + "fileInputSource": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationFileInputSource", + "description": "Inlined file source." + }, + "gcsInputSource": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptSpecTranslationGcsInputSource", + "description": "Cloud Storage file source." + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1SchemaTablesDatasetMetadata": { "description": "The metadata of Datasets that contain tables data.", "id": "GoogleCloudAiplatformV1SchemaTablesDatasetMetadata", @@ -34960,6 +38514,10 @@ "description": "User-created prompt note. Note size limit is 2KB.", "type": "string" }, + "promptApiSchema": { + "$ref": "GoogleCloudAiplatformV1SchemaPromptApiSchema", + "description": "The API schema of the prompt to support both UI and SDK usages." + }, "promptType": { "description": "Type of the prompt dataset.", "type": "string" @@ -37063,6 +40621,64 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1SharePointSources": { + "description": "The SharePointSources to pass to ImportRagFiles.", + "id": "GoogleCloudAiplatformV1SharePointSources", + "properties": { + "sharePointSources": { + "description": "The SharePoint sources.", + "items": { + "$ref": "GoogleCloudAiplatformV1SharePointSourcesSharePointSource" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1SharePointSourcesSharePointSource": { + "description": "An individual SharePointSource.", + "id": "GoogleCloudAiplatformV1SharePointSourcesSharePointSource", + "properties": { + "clientId": { + "description": "The Application ID for the app registered in Microsoft Azure Portal. The application must also be configured with MS Graph permissions \"Files.ReadAll\", \"Sites.ReadAll\" and BrowserSiteLists.Read.All.", + "type": "string" + }, + "clientSecret": { + "$ref": "GoogleCloudAiplatformV1ApiAuthApiKeyConfig", + "description": "The application secret for the app registered in Azure." + }, + "driveId": { + "description": "The ID of the drive to download from.", + "type": "string" + }, + "driveName": { + "description": "The name of the drive to download from.", + "type": "string" + }, + "fileId": { + "description": "Output only. The SharePoint file id. Output only.", + "readOnly": true, + "type": "string" + }, + "sharepointFolderId": { + "description": "The ID of the SharePoint folder to download from.", + "type": "string" + }, + "sharepointFolderPath": { + "description": "The path of the SharePoint folder to download from.", + "type": "string" + }, + "sharepointSiteName": { + "description": "The name of the SharePoint site to download from. This can be the site name or the site id.", + "type": "string" + }, + "tenantId": { + "description": "Unique identifier of the Azure Active Directory Instance.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1ShieldedVmConfig": { "description": "A set of Shielded Instance options. See [Images using supported Shielded VM features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm).", "id": "GoogleCloudAiplatformV1ShieldedVmConfig", @@ -37074,6 +40690,59 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1SlackSource": { + "description": "The Slack source for the ImportRagFilesRequest.", + "id": "GoogleCloudAiplatformV1SlackSource", + "properties": { + "channels": { + "description": "Required. The Slack channels.", + "items": { + "$ref": "GoogleCloudAiplatformV1SlackSourceSlackChannels" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1SlackSourceSlackChannels": { + "description": "SlackChannels contains the Slack channels and corresponding access token.", + "id": "GoogleCloudAiplatformV1SlackSourceSlackChannels", + "properties": { + "apiKeyConfig": { + "$ref": "GoogleCloudAiplatformV1ApiAuthApiKeyConfig", + "description": "Required. The SecretManager secret version resource name (e.g. projects/{project}/secrets/{secret}/versions/{version}) storing the Slack channel access token that has access to the slack channel IDs. See: https://api.slack.com/tutorials/tracks/getting-a-token." + }, + "channels": { + "description": "Required. The Slack channel IDs.", + "items": { + "$ref": "GoogleCloudAiplatformV1SlackSourceSlackChannelsSlackChannel" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1SlackSourceSlackChannelsSlackChannel": { + "description": "SlackChannel contains the Slack channel ID and the time range to import.", + "id": "GoogleCloudAiplatformV1SlackSourceSlackChannelsSlackChannel", + "properties": { + "channelId": { + "description": "Required. The Slack channel ID.", + "type": "string" + }, + "endTime": { + "description": "Optional. The ending timestamp for messages to import.", + "format": "google-datetime", + "type": "string" + }, + "startTime": { + "description": "Optional. The starting timestamp for messages to import.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1SmoothGradConfig": { "description": "Config for SmoothGrad approximation of gradients. When enabled, the gradients are approximated by averaging the gradients from noisy samples in the vicinity of the inputs. Adding noise can help improve the computed gradients. Refer to this paper for more details: https://arxiv.org/pdf/1706.03825.pdf", "id": "GoogleCloudAiplatformV1SmoothGradConfig", @@ -37138,6 +40807,17 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1SpeechConfig": { + "description": "The speech generation config.", + "id": "GoogleCloudAiplatformV1SpeechConfig", + "properties": { + "voiceConfig": { + "$ref": "GoogleCloudAiplatformV1VoiceConfig", + "description": "The configuration for the speaker to use." + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1StartNotebookRuntimeOperationMetadata": { "description": "Metadata information for NotebookService.StartNotebookRuntime.", "id": "GoogleCloudAiplatformV1StartNotebookRuntimeOperationMetadata", @@ -37159,6 +40839,12 @@ "properties": {}, "type": "object" }, + "GoogleCloudAiplatformV1StopNotebookRuntimeRequest": { + "description": "Request message for NotebookService.StopNotebookRuntime.", + "id": "GoogleCloudAiplatformV1StopNotebookRuntimeRequest", + "properties": {}, + "type": "object" + }, "GoogleCloudAiplatformV1StopTrialRequest": { "description": "Request message for VizierService.StopTrial.", "id": "GoogleCloudAiplatformV1StopTrialRequest", @@ -37191,6 +40877,25 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest": { + "description": "Request message for ReasoningEngineExecutionService.StreamQuery.", + "id": "GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest", + "properties": { + "classMethod": { + "description": "Optional. Class method to be used for the stream query. It is optional and defaults to \"stream_query\" if unspecified.", + "type": "string" + }, + "input": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Input content provided by users in JSON object format. Examples include text query, function calling parameters, media bytes, etc.", + "type": "object" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1StreamRawPredictRequest": { "description": "Request message for PredictionService.StreamRawPredict.", "id": "GoogleCloudAiplatformV1StreamRawPredictRequest", @@ -37239,7 +40944,7 @@ "type": "object" }, "GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest": { - "description": "Request message for FeaturestoreOnlineServingService.StreamingFeatureValuesRead.", + "description": "Request message for FeaturestoreOnlineServingService.StreamingReadFeatureValues.", "id": "GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest", "properties": { "entityIds": { @@ -38919,6 +42624,10 @@ }, "type": "array" }, + "googleSearch": { + "$ref": "GoogleCloudAiplatformV1ToolGoogleSearch", + "description": "Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google." + }, "googleSearchRetrieval": { "$ref": "GoogleCloudAiplatformV1GoogleSearchRetrieval", "description": "Optional. GoogleSearchRetrieval tool type. Specialized retrieval tool that is powered by Google search." @@ -38930,6 +42639,21 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1ToolCall": { + "description": "Spec for tool call.", + "id": "GoogleCloudAiplatformV1ToolCall", + "properties": { + "toolInput": { + "description": "Optional. Spec for tool input", + "type": "string" + }, + "toolName": { + "description": "Required. Spec for tool name", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1ToolCallValidInput": { "description": "Input for tool call valid metric.", "id": "GoogleCloudAiplatformV1ToolCallValidInput", @@ -39008,6 +42732,12 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1ToolGoogleSearch": { + "description": "GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.", + "id": "GoogleCloudAiplatformV1ToolGoogleSearch", + "properties": {}, + "type": "object" + }, "GoogleCloudAiplatformV1ToolNameMatchInput": { "description": "Input for tool name match metric.", "id": "GoogleCloudAiplatformV1ToolNameMatchInput", @@ -39141,7 +42871,7 @@ "id": "GoogleCloudAiplatformV1ToolParameterKVMatchSpec", "properties": { "useStrictStringMatch": { - "description": "Optional. Whether to use STRCIT string match on parameter values.", + "description": "Optional. Whether to use STRICT string match on parameter values.", "type": "boolean" } }, @@ -39338,6 +43068,423 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1Trajectory": { + "description": "Spec for trajectory.", + "id": "GoogleCloudAiplatformV1Trajectory", + "properties": { + "toolCalls": { + "description": "Required. Tool calls in the trajectory.", + "items": { + "$ref": "GoogleCloudAiplatformV1ToolCall" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput": { + "description": "Instances and metric spec for TrajectoryAnyOrderMatch metric.", + "id": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput", + "properties": { + "instances": { + "description": "Required. Repeated TrajectoryAnyOrderMatch instance.", + "items": { + "$ref": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInstance" + }, + "type": "array" + }, + "metricSpec": { + "$ref": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchSpec", + "description": "Required. Spec for TrajectoryAnyOrderMatch metric." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInstance": { + "description": "Spec for TrajectoryAnyOrderMatch instance.", + "id": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInstance", + "properties": { + "predictedTrajectory": { + "$ref": "GoogleCloudAiplatformV1Trajectory", + "description": "Required. Spec for predicted tool call trajectory." + }, + "referenceTrajectory": { + "$ref": "GoogleCloudAiplatformV1Trajectory", + "description": "Required. Spec for reference tool call trajectory." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchMetricValue": { + "description": "TrajectoryAnyOrderMatch metric value for an instance.", + "id": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchMetricValue", + "properties": { + "score": { + "description": "Output only. TrajectoryAnyOrderMatch score.", + "format": "float", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults": { + "description": "Results for TrajectoryAnyOrderMatch metric.", + "id": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults", + "properties": { + "trajectoryAnyOrderMatchMetricValues": { + "description": "Output only. TrajectoryAnyOrderMatch metric values.", + "items": { + "$ref": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchMetricValue" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchSpec": { + "description": "Spec for TrajectoryAnyOrderMatch metric - returns 1 if all tool calls in the reference trajectory appear in the predicted trajectory in any order, else 0.", + "id": "GoogleCloudAiplatformV1TrajectoryAnyOrderMatchSpec", + "properties": {}, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectoryExactMatchInput": { + "description": "Instances and metric spec for TrajectoryExactMatch metric.", + "id": "GoogleCloudAiplatformV1TrajectoryExactMatchInput", + "properties": { + "instances": { + "description": "Required. Repeated TrajectoryExactMatch instance.", + "items": { + "$ref": "GoogleCloudAiplatformV1TrajectoryExactMatchInstance" + }, + "type": "array" + }, + "metricSpec": { + "$ref": "GoogleCloudAiplatformV1TrajectoryExactMatchSpec", + "description": "Required. Spec for TrajectoryExactMatch metric." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectoryExactMatchInstance": { + "description": "Spec for TrajectoryExactMatch instance.", + "id": "GoogleCloudAiplatformV1TrajectoryExactMatchInstance", + "properties": { + "predictedTrajectory": { + "$ref": "GoogleCloudAiplatformV1Trajectory", + "description": "Required. Spec for predicted tool call trajectory." + }, + "referenceTrajectory": { + "$ref": "GoogleCloudAiplatformV1Trajectory", + "description": "Required. Spec for reference tool call trajectory." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectoryExactMatchMetricValue": { + "description": "TrajectoryExactMatch metric value for an instance.", + "id": "GoogleCloudAiplatformV1TrajectoryExactMatchMetricValue", + "properties": { + "score": { + "description": "Output only. TrajectoryExactMatch score.", + "format": "float", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectoryExactMatchResults": { + "description": "Results for TrajectoryExactMatch metric.", + "id": "GoogleCloudAiplatformV1TrajectoryExactMatchResults", + "properties": { + "trajectoryExactMatchMetricValues": { + "description": "Output only. TrajectoryExactMatch metric values.", + "items": { + "$ref": "GoogleCloudAiplatformV1TrajectoryExactMatchMetricValue" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectoryExactMatchSpec": { + "description": "Spec for TrajectoryExactMatch metric - returns 1 if tool calls in the reference trajectory exactly match the predicted trajectory, else 0.", + "id": "GoogleCloudAiplatformV1TrajectoryExactMatchSpec", + "properties": {}, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectoryInOrderMatchInput": { + "description": "Instances and metric spec for TrajectoryInOrderMatch metric.", + "id": "GoogleCloudAiplatformV1TrajectoryInOrderMatchInput", + "properties": { + "instances": { + "description": "Required. Repeated TrajectoryInOrderMatch instance.", + "items": { + "$ref": "GoogleCloudAiplatformV1TrajectoryInOrderMatchInstance" + }, + "type": "array" + }, + "metricSpec": { + "$ref": "GoogleCloudAiplatformV1TrajectoryInOrderMatchSpec", + "description": "Required. Spec for TrajectoryInOrderMatch metric." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectoryInOrderMatchInstance": { + "description": "Spec for TrajectoryInOrderMatch instance.", + "id": "GoogleCloudAiplatformV1TrajectoryInOrderMatchInstance", + "properties": { + "predictedTrajectory": { + "$ref": "GoogleCloudAiplatformV1Trajectory", + "description": "Required. Spec for predicted tool call trajectory." + }, + "referenceTrajectory": { + "$ref": "GoogleCloudAiplatformV1Trajectory", + "description": "Required. Spec for reference tool call trajectory." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectoryInOrderMatchMetricValue": { + "description": "TrajectoryInOrderMatch metric value for an instance.", + "id": "GoogleCloudAiplatformV1TrajectoryInOrderMatchMetricValue", + "properties": { + "score": { + "description": "Output only. TrajectoryInOrderMatch score.", + "format": "float", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectoryInOrderMatchResults": { + "description": "Results for TrajectoryInOrderMatch metric.", + "id": "GoogleCloudAiplatformV1TrajectoryInOrderMatchResults", + "properties": { + "trajectoryInOrderMatchMetricValues": { + "description": "Output only. TrajectoryInOrderMatch metric values.", + "items": { + "$ref": "GoogleCloudAiplatformV1TrajectoryInOrderMatchMetricValue" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectoryInOrderMatchSpec": { + "description": "Spec for TrajectoryInOrderMatch metric - returns 1 if tool calls in the reference trajectory appear in the predicted trajectory in the same order, else 0.", + "id": "GoogleCloudAiplatformV1TrajectoryInOrderMatchSpec", + "properties": {}, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectoryPrecisionInput": { + "description": "Instances and metric spec for TrajectoryPrecision metric.", + "id": "GoogleCloudAiplatformV1TrajectoryPrecisionInput", + "properties": { + "instances": { + "description": "Required. Repeated TrajectoryPrecision instance.", + "items": { + "$ref": "GoogleCloudAiplatformV1TrajectoryPrecisionInstance" + }, + "type": "array" + }, + "metricSpec": { + "$ref": "GoogleCloudAiplatformV1TrajectoryPrecisionSpec", + "description": "Required. Spec for TrajectoryPrecision metric." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectoryPrecisionInstance": { + "description": "Spec for TrajectoryPrecision instance.", + "id": "GoogleCloudAiplatformV1TrajectoryPrecisionInstance", + "properties": { + "predictedTrajectory": { + "$ref": "GoogleCloudAiplatformV1Trajectory", + "description": "Required. Spec for predicted tool call trajectory." + }, + "referenceTrajectory": { + "$ref": "GoogleCloudAiplatformV1Trajectory", + "description": "Required. Spec for reference tool call trajectory." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectoryPrecisionMetricValue": { + "description": "TrajectoryPrecision metric value for an instance.", + "id": "GoogleCloudAiplatformV1TrajectoryPrecisionMetricValue", + "properties": { + "score": { + "description": "Output only. TrajectoryPrecision score.", + "format": "float", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectoryPrecisionResults": { + "description": "Results for TrajectoryPrecision metric.", + "id": "GoogleCloudAiplatformV1TrajectoryPrecisionResults", + "properties": { + "trajectoryPrecisionMetricValues": { + "description": "Output only. TrajectoryPrecision metric values.", + "items": { + "$ref": "GoogleCloudAiplatformV1TrajectoryPrecisionMetricValue" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectoryPrecisionSpec": { + "description": "Spec for TrajectoryPrecision metric - returns a float score based on average precision of individual tool calls.", + "id": "GoogleCloudAiplatformV1TrajectoryPrecisionSpec", + "properties": {}, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectoryRecallInput": { + "description": "Instances and metric spec for TrajectoryRecall metric.", + "id": "GoogleCloudAiplatformV1TrajectoryRecallInput", + "properties": { + "instances": { + "description": "Required. Repeated TrajectoryRecall instance.", + "items": { + "$ref": "GoogleCloudAiplatformV1TrajectoryRecallInstance" + }, + "type": "array" + }, + "metricSpec": { + "$ref": "GoogleCloudAiplatformV1TrajectoryRecallSpec", + "description": "Required. Spec for TrajectoryRecall metric." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectoryRecallInstance": { + "description": "Spec for TrajectoryRecall instance.", + "id": "GoogleCloudAiplatformV1TrajectoryRecallInstance", + "properties": { + "predictedTrajectory": { + "$ref": "GoogleCloudAiplatformV1Trajectory", + "description": "Required. Spec for predicted tool call trajectory." + }, + "referenceTrajectory": { + "$ref": "GoogleCloudAiplatformV1Trajectory", + "description": "Required. Spec for reference tool call trajectory." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectoryRecallMetricValue": { + "description": "TrajectoryRecall metric value for an instance.", + "id": "GoogleCloudAiplatformV1TrajectoryRecallMetricValue", + "properties": { + "score": { + "description": "Output only. TrajectoryRecall score.", + "format": "float", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectoryRecallResults": { + "description": "Results for TrajectoryRecall metric.", + "id": "GoogleCloudAiplatformV1TrajectoryRecallResults", + "properties": { + "trajectoryRecallMetricValues": { + "description": "Output only. TrajectoryRecall metric values.", + "items": { + "$ref": "GoogleCloudAiplatformV1TrajectoryRecallMetricValue" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectoryRecallSpec": { + "description": "Spec for TrajectoryRecall metric - returns a float score based on average recall of individual tool calls.", + "id": "GoogleCloudAiplatformV1TrajectoryRecallSpec", + "properties": {}, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectorySingleToolUseInput": { + "description": "Instances and metric spec for TrajectorySingleToolUse metric.", + "id": "GoogleCloudAiplatformV1TrajectorySingleToolUseInput", + "properties": { + "instances": { + "description": "Required. Repeated TrajectorySingleToolUse instance.", + "items": { + "$ref": "GoogleCloudAiplatformV1TrajectorySingleToolUseInstance" + }, + "type": "array" + }, + "metricSpec": { + "$ref": "GoogleCloudAiplatformV1TrajectorySingleToolUseSpec", + "description": "Required. Spec for TrajectorySingleToolUse metric." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectorySingleToolUseInstance": { + "description": "Spec for TrajectorySingleToolUse instance.", + "id": "GoogleCloudAiplatformV1TrajectorySingleToolUseInstance", + "properties": { + "predictedTrajectory": { + "$ref": "GoogleCloudAiplatformV1Trajectory", + "description": "Required. Spec for predicted tool call trajectory." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectorySingleToolUseMetricValue": { + "description": "TrajectorySingleToolUse metric value for an instance.", + "id": "GoogleCloudAiplatformV1TrajectorySingleToolUseMetricValue", + "properties": { + "score": { + "description": "Output only. TrajectorySingleToolUse score.", + "format": "float", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectorySingleToolUseResults": { + "description": "Results for TrajectorySingleToolUse metric.", + "id": "GoogleCloudAiplatformV1TrajectorySingleToolUseResults", + "properties": { + "trajectorySingleToolUseMetricValues": { + "description": "Output only. TrajectorySingleToolUse metric values.", + "items": { + "$ref": "GoogleCloudAiplatformV1TrajectorySingleToolUseMetricValue" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1TrajectorySingleToolUseSpec": { + "description": "Spec for TrajectorySingleToolUse metric - returns 1 if tool is present in the predicted trajectory, else 0.", + "id": "GoogleCloudAiplatformV1TrajectorySingleToolUseSpec", + "properties": { + "toolName": { + "description": "Required. Spec for tool name to be checked for in the predicted trajectory.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1Trial": { "description": "A message representing a Trial. A Trial contains a unique set of Parameters that has been or will be evaluated, along with the objective metrics got by running the Trial.", "id": "GoogleCloudAiplatformV1Trial", @@ -39518,7 +43665,7 @@ "id": "GoogleCloudAiplatformV1TuningJob", "properties": { "baseModel": { - "description": "The base model that is being tuned, e.g., \"gemini-1.0-pro-002\".", + "description": "The base model that is being tuned, e.g., \"gemini-1.0-pro-002\". .", "type": "string" }, "createTime": { @@ -39563,6 +43710,10 @@ "readOnly": true, "type": "string" }, + "serviceAccount": { + "description": "The service account that the tuningJob workload runs as. If not specified, the Vertex AI Secure Fine-Tuned Service Agent in the project will be used. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-secure-fine-tuning-service-agent Users starting the pipeline must have the `iam.serviceAccounts.actAs` permission on this service account.", + "type": "string" + }, "startTime": { "description": "Output only. Time when the TuningJob for the first time entered the `JOB_STATE_RUNNING` state.", "format": "google-datetime", @@ -39723,6 +43874,17 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1UpdateEndpointLongRunningRequest": { + "description": "Request message for EndpointService.UpdateEndpointLongRunning.", + "id": "GoogleCloudAiplatformV1UpdateEndpointLongRunningRequest", + "properties": { + "endpoint": { + "$ref": "GoogleCloudAiplatformV1Endpoint", + "description": "Required. The Endpoint which replaces the resource on the server. Currently we only support updating the `client_connection_config` field, all the other fields' update will be blocked." + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1UpdateExplanationDatasetOperationMetadata": { "description": "Runtime operation information for ModelService.UpdateExplanationDataset.", "id": "GoogleCloudAiplatformV1UpdateExplanationDatasetOperationMetadata", @@ -39945,6 +44107,47 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1UploadRagFileConfig": { + "description": "Config for uploading RagFile.", + "id": "GoogleCloudAiplatformV1UploadRagFileConfig", + "properties": { + "ragFileTransformationConfig": { + "$ref": "GoogleCloudAiplatformV1RagFileTransformationConfig", + "description": "Specifies the transformation config for RagFiles." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1UploadRagFileRequest": { + "description": "Request message for VertexRagDataService.UploadRagFile.", + "id": "GoogleCloudAiplatformV1UploadRagFileRequest", + "properties": { + "ragFile": { + "$ref": "GoogleCloudAiplatformV1RagFile", + "description": "Required. The RagFile to upload." + }, + "uploadRagFileConfig": { + "$ref": "GoogleCloudAiplatformV1UploadRagFileConfig", + "description": "Required. The config for the RagFiles to be uploaded into the RagCorpus. VertexRagDataService.UploadRagFile." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1UploadRagFileResponse": { + "description": "Response message for VertexRagDataService.UploadRagFile.", + "id": "GoogleCloudAiplatformV1UploadRagFileResponse", + "properties": { + "error": { + "$ref": "GoogleRpcStatus", + "description": "The error that occurred while processing the RagFile." + }, + "ragFile": { + "$ref": "GoogleCloudAiplatformV1RagFile", + "description": "The RagFile that had been uploaded into the RagCorpus." + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1UpsertDatapointsRequest": { "description": "Request message for IndexService.UpsertDatapoints", "id": "GoogleCloudAiplatformV1UpsertDatapointsRequest", @@ -40025,14 +44228,6 @@ "description": "Retrieve from Vertex RAG Store for grounding.", "id": "GoogleCloudAiplatformV1VertexRagStore", "properties": { - "ragCorpora": { - "deprecated": true, - "description": "Optional. Deprecated. Please use rag_resources instead.", - "items": { - "type": "string" - }, - "type": "array" - }, "ragResources": { "description": "Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support.", "items": { @@ -40040,12 +44235,18 @@ }, "type": "array" }, + "ragRetrievalConfig": { + "$ref": "GoogleCloudAiplatformV1RagRetrievalConfig", + "description": "Optional. The retrieval config for the Rag query." + }, "similarityTopK": { + "deprecated": true, "description": "Optional. Number of top k results to return from the selected corpora.", "format": "int32", "type": "integer" }, "vectorDistanceThreshold": { + "deprecated": true, "description": "Optional. Only return results with vector distance smaller than the threshold.", "format": "double", "type": "number" @@ -40088,6 +44289,17 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1VoiceConfig": { + "description": "The configuration for the voice to use.", + "id": "GoogleCloudAiplatformV1VoiceConfig", + "properties": { + "prebuiltVoiceConfig": { + "$ref": "GoogleCloudAiplatformV1PrebuiltVoiceConfig", + "description": "The configuration for the prebuilt voice to use." + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1WorkerPoolSpec": { "description": "Represents the spec of a worker pool in a job.", "id": "GoogleCloudAiplatformV1WorkerPoolSpec", diff --git a/discovery/aiplatform-v1beta1.json b/discovery/aiplatform-v1beta1.json index a60ec59680..54bddedf81 100644 --- a/discovery/aiplatform-v1beta1.json +++ b/discovery/aiplatform-v1beta1.json @@ -184,6 +184,11 @@ "endpointUrl": "https://us-east4-aiplatform.googleapis.com/", "location": "us-east4" }, + { + "description": "Locational Endpoint", + "endpointUrl": "https://us-east7-aiplatform.googleapis.com/", + "location": "us-east7" + }, { "description": "Locational Endpoint", "endpointUrl": "https://us-south1-aiplatform.googleapis.com/", @@ -445,7 +450,7 @@ ], "parameters": { "name": { - "description": "Output only. Identifier. The resource name of the Dataset.", + "description": "Output only. Identifier. The resource name of the Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", "location": "path", "pattern": "^datasets/[^/]+$", "required": true, @@ -950,6 +955,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "deploy": { + "description": "Deploys publisher models.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}:deploy", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.deploy", + "parameterOrder": [ + "destination" + ], + "parameters": { + "destination": { + "description": "Required. The resource name of the Location to deploy the model in. Format: `projects/{project}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+destination}:deploy", + "request": { + "$ref": "GoogleCloudAiplatformV1beta1DeployPublisherModelRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "evaluateInstances": { "description": "Evaluates instances based on a given metric.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}:evaluateInstances", @@ -1079,7 +1112,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.agents.operations.cancel", @@ -1234,7 +1267,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/apps/{appsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.apps.operations.cancel", @@ -1853,7 +1886,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/customJobs/{customJobsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.customJobs.operations.cancel", @@ -2168,7 +2201,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/dataLabelingJobs/{dataLabelingJobsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.dataLabelingJobs.operations.cancel", @@ -2522,7 +2555,7 @@ ], "parameters": { "name": { - "description": "Output only. Identifier. The resource name of the Dataset.", + "description": "Output only. Identifier. The resource name of the Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+$", "required": true, @@ -2683,7 +2716,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/annotationSpecs/{annotationSpecsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.datasets.annotationSpecs.operations.cancel", @@ -2948,7 +2981,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/annotations/{annotationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.datasets.dataItems.annotations.operations.cancel", @@ -3101,7 +3134,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/dataItems/{dataItemsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.datasets.dataItems.operations.cancel", @@ -3453,7 +3486,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.datasets.operations.cancel", @@ -3685,7 +3718,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/savedQueries/{savedQueriesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.datasets.savedQueries.operations.cancel", @@ -4028,7 +4061,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/deploymentResourcePools/{deploymentResourcePoolsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.deploymentResourcePools.operations.cancel", @@ -4183,7 +4216,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/edgeDevices/{edgeDevicesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.edgeDevices.operations.cancel", @@ -4565,6 +4598,35 @@ "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, + "fetchPredictOperation": { + "description": "Fetch an asynchronous online prediction operation.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:fetchPredictOperation", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.endpoints.fetchPredictOperation", + "parameterOrder": [ + "endpoint" + ], + "parameters": { + "endpoint": { + "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+endpoint}:fetchPredictOperation", + "request": { + "$ref": "GoogleCloudAiplatformV1beta1FetchPredictOperationRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, "generateContent": { "description": "Generate content with multimodal inputs.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:generateContent", @@ -4788,6 +4850,35 @@ "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, + "predictLongRunning": { + "description": "", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:predictLongRunning", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.endpoints.predictLongRunning", + "parameterOrder": [ + "endpoint" + ], + "parameters": { + "endpoint": { + "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+endpoint}:predictLongRunning", + "request": { + "$ref": "GoogleCloudAiplatformV1beta1PredictLongRunningRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, "rawPredict": { "description": "Perform an online prediction with an arbitrary HTTP payload. The response includes the following HTTP headers: * `X-Vertex-AI-Endpoint-Id`: ID of the Endpoint that served this prediction. * `X-Vertex-AI-Deployed-Model-Id`: ID of the Endpoint's DeployedModel that served this prediction.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:rawPredict", @@ -4990,6 +5081,34 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "update": { + "description": "Updates an Endpoint with a long running operation.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}:update", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.endpoints.update", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The resource name of the Endpoint.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:update", + "request": { + "$ref": "GoogleCloudAiplatformV1beta1UpdateEndpointLongRunningRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { @@ -5029,7 +5148,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.endpoints.operations.cancel", @@ -5314,7 +5433,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/exampleStores/{exampleStoresId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.exampleStores.operations.cancel", @@ -5469,7 +5588,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensionControllers/{extensionControllersId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.extensionControllers.operations.cancel", @@ -5841,7 +5960,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/extensions/{extensionsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.extensions.operations.cancel", @@ -6081,6 +6200,37 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}:getIamPolicy", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.featureGroups.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "list": { "description": "Lists FeatureGroups in a given project and location.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups", @@ -6107,7 +6257,7 @@ "type": "integer" }, "pageToken": { - "description": "A page token, received from a previous FeatureGroupAdminService.ListFeatureGroups call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureGroupAdminService.ListFeatureGroups must match the call that provided the page token.", + "description": "A page token, received from a previous FeatureRegistryService.ListFeatureGroups call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureRegistryService.ListFeatureGroups must match the call that provided the page token.", "location": "query", "type": "string" }, @@ -6160,36 +6310,95 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}:setIamPolicy", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.featureGroups.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}:testIamPermissions", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.featureGroups.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "location": "query", + "repeated": true, + "type": "string" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:testIamPermissions", + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { - "features": { + "featureMonitors": { "methods": { "create": { - "description": "Creates a new Feature in a given FeatureGroup.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features", + "description": "Creates a new FeatureMonitor in a given project, location and FeatureGroup.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors", "httpMethod": "POST", - "id": "aiplatform.projects.locations.featureGroups.features.create", + "id": "aiplatform.projects.locations.featureGroups.featureMonitors.create", "parameterOrder": [ "parent" ], "parameters": { - "featureId": { - "description": "Required. The ID to use for the Feature, which will become the final component of the Feature's resource name. This value may be up to 128 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within an EntityType/FeatureGroup.", + "featureMonitorId": { + "description": "Required. The ID to use for this FeatureMonitor, which will become the final component of the FeatureGroup's resource name. This value may be up to 60 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within the FeatureGroup.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The resource name of the EntityType or FeatureGroup to create a Feature. Format for entity_type as parent: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for feature_group as parent: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", + "description": "Required. The resource name of FeatureGroup to create FeatureMonitor. Format: `projects/{project}/locations/{location}/featureGroups/{featuregroup}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", "required": true, "type": "string" } }, - "path": "v1beta1/{+parent}/features", + "path": "v1beta1/{+parent}/featureMonitors", "request": { - "$ref": "GoogleCloudAiplatformV1beta1Feature" + "$ref": "GoogleCloudAiplatformV1beta1FeatureMonitor" }, "response": { "$ref": "GoogleLongrunningOperation" @@ -6199,18 +6408,18 @@ ] }, "delete": { - "description": "Deletes a single Feature.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}", + "description": "Deletes a single FeatureMonitor.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}", "httpMethod": "DELETE", - "id": "aiplatform.projects.locations.featureGroups.features.delete", + "id": "aiplatform.projects.locations.featureGroups.featureMonitors.delete", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "Required. The name of the Features to be deleted. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}`", + "description": "Required. The name of the FeatureMonitor to be deleted. Format: `projects/{project}/locations/{location}/featureGroups/{feature_group}/featureMonitors/{feature_monitor}`", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+$", "required": true, "type": "string" } @@ -6224,117 +6433,71 @@ ] }, "get": { - "description": "Gets details of a single Feature.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}", + "description": "Gets details of a single FeatureMonitor.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}", "httpMethod": "GET", - "id": "aiplatform.projects.locations.featureGroups.features.get", + "id": "aiplatform.projects.locations.featureGroups.featureMonitors.get", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "Required. The name of the Feature resource. Format for entity_type as parent: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for feature_group as parent: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", + "description": "Required. The name of the FeatureMonitor resource.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { - "$ref": "GoogleCloudAiplatformV1beta1Feature" + "$ref": "GoogleCloudAiplatformV1beta1FeatureMonitor" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { - "description": "Lists Features in a given FeatureGroup.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features", + "description": "Lists FeatureGroups in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors", "httpMethod": "GET", - "id": "aiplatform.projects.locations.featureGroups.features.list", + "id": "aiplatform.projects.locations.featureGroups.featureMonitors.list", "parameterOrder": [ "parent" ], "parameters": { "filter": { - "description": "Lists the Features that match the filter expression. The following filters are supported: * `value_type`: Supports = and != comparisons. * `create_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must be in RFC 3339 format. * `update_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality as well as key presence. Examples: * `value_type = DOUBLE` --> Features whose type is DOUBLE. * `create_time > \\\"2020-01-31T15:30:00.000000Z\\\" OR update_time > \\\"2020-01-31T15:30:00.000000Z\\\"` --> EntityTypes created or updated after 2020-01-31T15:30:00.000000Z. * `labels.active = yes AND labels.env = prod` --> Features having both (active: yes) and (env: prod) labels. * `labels.env: *` --> Any Feature which has a label with 'env' as the key.", + "description": "Optional. Lists the FeatureMonitors that match the filter expression. The following fields are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality and key presence. Examples: * `create_time > \"2020-01-01\" OR update_time > \"2020-01-01\"` FeatureMonitors created or updated after 2020-01-01. * `labels.env = \"prod\"` FeatureGroups with label \"env\" set to \"prod\".", "location": "query", "type": "string" }, - "latestStatsCount": { - "description": "Only applicable for Vertex AI Feature Store (Legacy). If set, return the most recent ListFeaturesRequest.latest_stats_count of stats for each Feature in response. Valid value is [0, 10]. If number of stats exists < ListFeaturesRequest.latest_stats_count, return all existing stats.", - "format": "int32", - "location": "query", - "type": "integer" - }, "orderBy": { - "description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `feature_id` * `value_type` (Not supported for FeatureRegistry Feature) * `create_time` * `update_time`", + "description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported Fields: * `create_time` * `update_time`", "location": "query", "type": "string" }, "pageSize": { - "description": "The maximum number of Features to return. The service may return fewer than this value. If unspecified, at most 1000 Features will be returned. The maximum value is 1000; any value greater than 1000 will be coerced to 1000.", + "description": "Optional. The maximum number of FeatureGroups to return. The service may return fewer than this value. If unspecified, at most 100 FeatureMonitors will be returned. The maximum value is 100; any value greater than 100 will be coerced to 100.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "A page token, received from a previous FeaturestoreService.ListFeatures call or FeatureRegistryService.ListFeatures call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeaturestoreService.ListFeatures or FeatureRegistryService.ListFeatures must match the call that provided the page token.", + "description": "Optional. A page token, received from a previous FeatureRegistryService.ListFeatureMonitors call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureRegistryService.ListFeatureMonitors must match the call that provided the page token.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The resource name of the Location to list Features. Format for entity_type as parent: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for feature_group as parent: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", + "description": "Required. The resource name of the FeatureGroup to list FeatureMonitors. Format: `projects/{project}/locations/{location}/featureGroups/{featureGroup}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", "required": true, "type": "string" - }, - "readMask": { - "description": "Mask specifying which fields to read.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - } - }, - "path": "v1beta1/{+parent}/features", - "response": { - "$ref": "GoogleCloudAiplatformV1beta1ListFeaturesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "patch": { - "description": "Updates the parameters of a single Feature.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}", - "httpMethod": "PATCH", - "id": "aiplatform.projects.locations.featureGroups.features.patch", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Immutable. Name of the Feature. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}` The last part feature is assigned by the client. The feature can be up to 64 characters long and can consist only of ASCII Latin letters A-Z and a-z, underscore(_), and ASCII digits 0-9 starting with a letter. The value will be unique given an entity type.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+$", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Field mask is used to specify the fields to be overwritten in the Features resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `description` * `labels` * `disable_monitoring` (Not supported for FeatureRegistryService Feature) * `point_of_contact` (Not supported for FeaturestoreService FeatureStore)", - "format": "google-fieldmask", - "location": "query", - "type": "string" } }, - "path": "v1beta1/{+name}", - "request": { - "$ref": "GoogleCloudAiplatformV1beta1Feature" - }, + "path": "v1beta1/{+parent}/featureMonitors", "response": { - "$ref": "GoogleLongrunningOperation" + "$ref": "GoogleCloudAiplatformV1beta1ListFeatureMonitorsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -6342,13 +6505,122 @@ } }, "resources": { + "featureMonitorJobs": { + "methods": { + "create": { + "description": "Creates a new feature monitor job.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}/featureMonitorJobs", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.featureGroups.featureMonitors.featureMonitorJobs.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "featureMonitorJobId": { + "description": "Optional. Output only. System-generated ID for feature monitor job.", + "format": "int64", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of FeatureMonitor to create FeatureMonitorJob. Format: `projects/{project}/locations/{location}/featureGroups/{feature_group}/featureMonitors/{feature_monitor}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/featureMonitorJobs", + "request": { + "$ref": "GoogleCloudAiplatformV1beta1FeatureMonitorJob" + }, + "response": { + "$ref": "GoogleCloudAiplatformV1beta1FeatureMonitorJob" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get a feature monitor job.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}/featureMonitorJobs/{featureMonitorJobsId}", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.featureGroups.featureMonitors.featureMonitorJobs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the FeatureMonitorJob resource. Format: `projects/{project}/locations/{location}/featureGroups/{feature_group}/featureMonitors/{feature_monitor}/featureMonitorJobs/{feature_monitor_job}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+/featureMonitorJobs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GoogleCloudAiplatformV1beta1FeatureMonitorJob" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List feature monitor jobs.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}/featureMonitorJobs", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.featureGroups.featureMonitors.featureMonitorJobs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Lists the FeatureMonitorJobs that match the filter expression. The following fields are supported: * `create_time`: Supports `=`, `!=`, `<`, `>`, `<=`, and `>=` comparisons. Values must be Examples: * `create_time > \"2020-01-01\"` FeatureMonitorJobs created after 2020-01-01.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported Fields: * `create_time`", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of FeatureMonitorJobs to return. The service may return fewer than this value. If unspecified, at most 100 FeatureMonitorJobs will be returned. The maximum value is 100; any value greater than 100 will be coerced to 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous FeatureRegistryService.ListFeatureMonitorJobs call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureRegistryService.ListFeatureMonitorJobs must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the FeatureMonitor to list FeatureMonitorJobs. Format: `projects/{project}/locations/{location}/featureGroups/{feature_group}/featureMonitors/{feature_monitor}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/featureMonitorJobs", + "response": { + "$ref": "GoogleCloudAiplatformV1beta1ListFeatureMonitorJobsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "operations": { "methods": { "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}/operations/{operationsId}", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}/operations/{operationsId}", "httpMethod": "DELETE", - "id": "aiplatform.projects.locations.featureGroups.features.operations.delete", + "id": "aiplatform.projects.locations.featureGroups.featureMonitors.operations.delete", "parameterOrder": [ "name" ], @@ -6356,7 +6628,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+/operations/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -6371,9 +6643,9 @@ }, "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}/operations/{operationsId}", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}/operations/{operationsId}", "httpMethod": "GET", - "id": "aiplatform.projects.locations.featureGroups.features.operations.get", + "id": "aiplatform.projects.locations.featureGroups.featureMonitors.operations.get", "parameterOrder": [ "name" ], @@ -6381,7 +6653,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+/operations/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+/operations/[^/]+$", "required": true, "type": "string" } @@ -6396,9 +6668,9 @@ }, "list": { "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}/operations", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}/operations", "httpMethod": "GET", - "id": "aiplatform.projects.locations.featureGroups.features.operations.list", + "id": "aiplatform.projects.locations.featureGroups.featureMonitors.operations.list", "parameterOrder": [ "name" ], @@ -6411,7 +6683,360 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}/operations", + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "wait": { + "description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/featureMonitors/{featureMonitorsId}/operations/{operationsId}:wait", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.featureGroups.featureMonitors.operations.wait", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to wait on.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/featureMonitors/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + }, + "timeout": { + "description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.", + "format": "google-duration", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}:wait", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "features": { + "methods": { + "batchCreate": { + "description": "Creates a batch of Features in a given FeatureGroup.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features:batchCreate", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.featureGroups.features.batchCreate", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the EntityType/FeatureGroup to create the batch of Features under. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` `projects/{project}/locations/{location}/featureGroups/{feature_group}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/features:batchCreate", + "request": { + "$ref": "GoogleCloudAiplatformV1beta1BatchCreateFeaturesRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Creates a new Feature in a given FeatureGroup.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.featureGroups.features.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "featureId": { + "description": "Required. The ID to use for the Feature, which will become the final component of the Feature's resource name. This value may be up to 128 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within an EntityType/FeatureGroup.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the EntityType or FeatureGroup to create a Feature. Format for entity_type as parent: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for feature_group as parent: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/features", + "request": { + "$ref": "GoogleCloudAiplatformV1beta1Feature" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single Feature.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}", + "httpMethod": "DELETE", + "id": "aiplatform.projects.locations.featureGroups.features.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the Features to be deleted. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single Feature.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.featureGroups.features.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "featureStatsAndAnomalySpec.latestStatsCount": { + "description": "Optional. If set, returns the most recent count of stats. Valid value is [0, 100]. If stats_time_range is set, return most recent count of stats within the stats_time_range.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "featureStatsAndAnomalySpec.statsTimeRange.endTime": { + "description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.", + "format": "google-datetime", + "location": "query", + "type": "string" + }, + "featureStatsAndAnomalySpec.statsTimeRange.startTime": { + "description": "Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.", + "format": "google-datetime", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the Feature resource. Format for entity_type as parent: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for feature_group as parent: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GoogleCloudAiplatformV1beta1Feature" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Features in a given FeatureGroup.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.featureGroups.features.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Lists the Features that match the filter expression. The following filters are supported: * `value_type`: Supports = and != comparisons. * `create_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must be in RFC 3339 format. * `update_time`: Supports =, !=, <, >, >=, and <= comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality as well as key presence. Examples: * `value_type = DOUBLE` --> Features whose type is DOUBLE. * `create_time > \\\"2020-01-31T15:30:00.000000Z\\\" OR update_time > \\\"2020-01-31T15:30:00.000000Z\\\"` --> EntityTypes created or updated after 2020-01-31T15:30:00.000000Z. * `labels.active = yes AND labels.env = prod` --> Features having both (active: yes) and (env: prod) labels. * `labels.env: *` --> Any Feature which has a label with 'env' as the key.", + "location": "query", + "type": "string" + }, + "latestStatsCount": { + "description": "Only applicable for Vertex AI Feature Store (Legacy). If set, return the most recent ListFeaturesRequest.latest_stats_count of stats for each Feature in response. Valid value is [0, 10]. If number of stats exists < ListFeaturesRequest.latest_stats_count, return all existing stats.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "orderBy": { + "description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `feature_id` * `value_type` (Not supported for FeatureRegistry Feature) * `create_time` * `update_time`", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of Features to return. The service may return fewer than this value. If unspecified, at most 1000 Features will be returned. The maximum value is 1000; any value greater than 1000 will be coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous FeaturestoreService.ListFeatures call or FeatureRegistryService.ListFeatures call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeaturestoreService.ListFeatures or FeatureRegistryService.ListFeatures must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the Location to list Features. Format for entity_type as parent: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for feature_group as parent: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+$", + "required": true, + "type": "string" + }, + "readMask": { + "description": "Mask specifying which fields to read.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/features", + "response": { + "$ref": "GoogleCloudAiplatformV1beta1ListFeaturesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single Feature.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}", + "httpMethod": "PATCH", + "id": "aiplatform.projects.locations.featureGroups.features.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. Name of the Feature. Format: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}/features/{feature}` `projects/{project}/locations/{location}/featureGroups/{feature_group}/features/{feature}` The last part feature is assigned by the client. The feature can be up to 64 characters long and can consist only of ASCII Latin letters A-Z and a-z, underscore(_), and ASCII digits 0-9 starting with a letter. The value will be unique given an entity type.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Field mask is used to specify the fields to be overwritten in the Features resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `description` * `labels` * `disable_monitoring` (Not supported for FeatureRegistryService Feature) * `point_of_contact` (Not supported for FeaturestoreService FeatureStore)", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "GoogleCloudAiplatformV1beta1Feature" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "operations": { + "methods": { + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "aiplatform.projects.locations.featureGroups.features.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.featureGroups.features.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/featureGroups/{featureGroupsId}/features/{featuresId}/operations", + "httpMethod": "GET", + "id": "aiplatform.projects.locations.featureGroups.features.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/featureGroups/[^/]+/features/[^/]+$", "required": true, "type": "string" }, @@ -7072,7 +7697,7 @@ "type": "string" }, "updateMask": { - "description": "Field mask is used to specify the fields to be overwritten in the FeatureView resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `labels` * `service_agent_type` * `big_query_source` * `big_query_source.uri` * `big_query_source.entity_id_columns` * `feature_registry_source` * `feature_registry_source.feature_groups` * `sync_config` * `sync_config.cron`", + "description": "Field mask is used to specify the fields to be overwritten in the FeatureView resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `labels` * `service_agent_type` * `big_query_source` * `big_query_source.uri` * `big_query_source.entity_id_columns` * `feature_registry_source` * `feature_registry_source.feature_groups` * `sync_config` * `sync_config.cron` * `optimized_config.automatic_resources`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -8429,6 +9054,24 @@ "name" ], "parameters": { + "featureStatsAndAnomalySpec.latestStatsCount": { + "description": "Optional. If set, returns the most recent count of stats. Valid value is [0, 100]. If stats_time_range is set, return most recent count of stats within the stats_time_range.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "featureStatsAndAnomalySpec.statsTimeRange.endTime": { + "description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.", + "format": "google-datetime", + "location": "query", + "type": "string" + }, + "featureStatsAndAnomalySpec.statsTimeRange.startTime": { + "description": "Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.", + "format": "google-datetime", + "location": "query", + "type": "string" + }, "name": { "description": "Required. The name of the Feature resource. Format for entity_type as parent: `projects/{project}/locations/{location}/featurestores/{featurestore}/entityTypes/{entity_type}` Format for feature_group as parent: `projects/{project}/locations/{location}/featureGroups/{feature_group}`", "location": "path", @@ -8542,7 +9185,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/features/{featuresId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.featurestores.entityTypes.features.operations.cancel", @@ -8695,7 +9338,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/entityTypes/{entityTypesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.featurestores.entityTypes.operations.cancel", @@ -8848,7 +9491,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/featurestores/{featurestoresId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.featurestores.operations.cancel", @@ -9158,7 +9801,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/hyperparameterTuningJobs/{hyperparameterTuningJobsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.hyperparameterTuningJobs.operations.cancel", @@ -9614,7 +10257,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexEndpoints/{indexEndpointsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.indexEndpoints.operations.cancel", @@ -9986,7 +10629,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/indexes/{indexesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.indexes.operations.cancel", @@ -10509,7 +11152,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/artifacts/{artifactsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.metadataStores.artifacts.operations.cancel", @@ -10981,7 +11624,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/contexts/{contextsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.metadataStores.contexts.operations.cancel", @@ -11392,7 +12035,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/executions/{executionsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.metadataStores.executions.operations.cancel", @@ -11648,7 +12291,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/metadataStores/{metadataStoresId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.metadataStores.operations.cancel", @@ -11861,7 +12504,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/migratableResources/{migratableResourcesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.migratableResources.operations.cancel", @@ -12261,7 +12904,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelDeploymentMonitoringJobs/{modelDeploymentMonitoringJobsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.modelDeploymentMonitoringJobs.operations.cancel", @@ -12777,7 +13420,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/modelMonitors/{modelMonitorsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.modelMonitors.operations.cancel", @@ -13476,7 +14119,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/evaluations/{evaluationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.models.evaluations.operations.cancel", @@ -13733,7 +14376,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/models/{modelsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.models.operations.cancel", @@ -14262,7 +14905,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. The standard list page token. Typically obtained via ListNotebookExecutionJobs.next_page_token of the previous NotebookService.ListNotebookExecutionJobs call.", + "description": "Optional. The standard list page token. Typically obtained via ListNotebookExecutionJobsResponse.next_page_token of the previous NotebookService.ListNotebookExecutionJobs call.", "location": "query", "type": "string" }, @@ -14330,7 +14973,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookExecutionJobs/{notebookExecutionJobsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.notebookExecutionJobs.operations.cancel", @@ -14606,7 +15249,7 @@ ], "parameters": { "filter": { - "description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate` represents the NotebookRuntimeTemplate ID, i.e. the last segment of the NotebookRuntimeTemplate's resource name. * `display_name` supports = and != * `labels` supports general map functions that is: * `labels.key=value` - key:value equality * `labels.key:* or labels:key - key existence * A key including a space must be quoted. `labels.\"a key\"`. * `notebookRuntimeType` supports = and !=. notebookRuntimeType enum: [USER_DEFINED, ONE_CLICK]. Some examples: * `notebookRuntimeTemplate=notebookRuntimeTemplate123` * `displayName=\"myDisplayName\"` * `labels.myKey=\"myValue\"` * `notebookRuntimeType=USER_DEFINED`", + "description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate` represents the NotebookRuntimeTemplate ID, i.e. the last segment of the NotebookRuntimeTemplate's resource name. * `display_name` supports = and != * `labels` supports general map functions that is: * `labels.key=value` - key:value equality * `labels.key:* or labels:key - key existence * A key including a space must be quoted. `labels.\"a key\"`. * `notebookRuntimeType` supports = and !=. notebookRuntimeType enum: [USER_DEFINED, ONE_CLICK]. * `machineType` supports = and !=. * `acceleratorType` supports = and !=. Some examples: * `notebookRuntimeTemplate=notebookRuntimeTemplate123` * `displayName=\"myDisplayName\"` * `labels.myKey=\"myValue\"` * `notebookRuntimeType=USER_DEFINED` * `machineType=e2-standard-4` * `acceleratorType=NVIDIA_TESLA_T4`", "location": "query", "type": "string" }, @@ -14746,7 +15389,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimeTemplates/{notebookRuntimeTemplatesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.notebookRuntimeTemplates.operations.cancel", @@ -15014,7 +15657,7 @@ ], "parameters": { "filter": { - "description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `notebookRuntime` supports = and !=. `notebookRuntime` represents the NotebookRuntime ID, i.e. the last segment of the NotebookRuntime's resource name. * `displayName` supports = and != and regex. * `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate` represents the NotebookRuntimeTemplate ID, i.e. the last segment of the NotebookRuntimeTemplate's resource name. * `healthState` supports = and !=. healthState enum: [HEALTHY, UNHEALTHY, HEALTH_STATE_UNSPECIFIED]. * `runtimeState` supports = and !=. runtimeState enum: [RUNTIME_STATE_UNSPECIFIED, RUNNING, BEING_STARTED, BEING_STOPPED, STOPPED, BEING_UPGRADED, ERROR, INVALID]. * `runtimeUser` supports = and !=. * API version is UI only: `uiState` supports = and !=. uiState enum: [UI_RESOURCE_STATE_UNSPECIFIED, UI_RESOURCE_STATE_BEING_CREATED, UI_RESOURCE_STATE_ACTIVE, UI_RESOURCE_STATE_BEING_DELETED, UI_RESOURCE_STATE_CREATION_FAILED]. * `notebookRuntimeType` supports = and !=. notebookRuntimeType enum: [USER_DEFINED, ONE_CLICK]. Some examples: * `notebookRuntime=\"notebookRuntime123\"` * `displayName=\"myDisplayName\"` and `displayName=~\"myDisplayNameRegex\"` * `notebookRuntimeTemplate=\"notebookRuntimeTemplate321\"` * `healthState=HEALTHY` * `runtimeState=RUNNING` * `runtimeUser=\"test@google.com\"` * `uiState=UI_RESOURCE_STATE_BEING_DELETED` * `notebookRuntimeType=USER_DEFINED`", + "description": "Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `notebookRuntime` supports = and !=. `notebookRuntime` represents the NotebookRuntime ID, i.e. the last segment of the NotebookRuntime's resource name. * `displayName` supports = and != and regex. * `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate` represents the NotebookRuntimeTemplate ID, i.e. the last segment of the NotebookRuntimeTemplate's resource name. * `healthState` supports = and !=. healthState enum: [HEALTHY, UNHEALTHY, HEALTH_STATE_UNSPECIFIED]. * `runtimeState` supports = and !=. runtimeState enum: [RUNTIME_STATE_UNSPECIFIED, RUNNING, BEING_STARTED, BEING_STOPPED, STOPPED, BEING_UPGRADED, ERROR, INVALID]. * `runtimeUser` supports = and !=. * API version is UI only: `uiState` supports = and !=. uiState enum: [UI_RESOURCE_STATE_UNSPECIFIED, UI_RESOURCE_STATE_BEING_CREATED, UI_RESOURCE_STATE_ACTIVE, UI_RESOURCE_STATE_BEING_DELETED, UI_RESOURCE_STATE_CREATION_FAILED]. * `notebookRuntimeType` supports = and !=. notebookRuntimeType enum: [USER_DEFINED, ONE_CLICK]. * `machineType` supports = and !=. * `acceleratorType` supports = and !=. Some examples: * `notebookRuntime=\"notebookRuntime123\"` * `displayName=\"myDisplayName\"` and `displayName=~\"myDisplayNameRegex\"` * `notebookRuntimeTemplate=\"notebookRuntimeTemplate321\"` * `healthState=HEALTHY` * `runtimeState=RUNNING` * `runtimeUser=\"test@google.com\"` * `uiState=UI_RESOURCE_STATE_BEING_DELETED` * `notebookRuntimeType=USER_DEFINED` * `machineType=e2-standard-4` * `acceleratorType=NVIDIA_TESLA_T4`", "location": "query", "type": "string" }, @@ -15112,6 +15755,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "stop": { + "description": "Stops a NotebookRuntime.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}:stop", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.notebookRuntimes.stop", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the NotebookRuntime resource to be stopped. Instead of checking whether the name is in valid NotebookRuntime resource name format, directly throw NotFound exception if there is no such NotebookRuntime in spanner.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/notebookRuntimes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:stop", + "request": { + "$ref": "GoogleCloudAiplatformV1beta1StopNotebookRuntimeRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "upgrade": { "description": "Upgrades a NotebookRuntime.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}:upgrade", @@ -15145,7 +15816,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/notebookRuntimes/{notebookRuntimesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.notebookRuntimes.operations.cancel", @@ -15298,7 +15969,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.operations.cancel", @@ -15547,7 +16218,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. The standard list page token. Typically obtained via ListPersistentResourceResponse.next_page_token of the previous PersistentResourceService.ListPersistentResource call.", + "description": "Optional. The standard list page token. Typically obtained via ListPersistentResourcesResponse.next_page_token of the previous PersistentResourceService.ListPersistentResource call.", "location": "query", "type": "string" }, @@ -15634,7 +16305,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/persistentResources/{persistentResourcesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.persistentResources.operations.cancel", @@ -16010,7 +16681,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/pipelineJobs/{pipelineJobsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.pipelineJobs.operations.cancel", @@ -16221,6 +16892,35 @@ "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, + "fetchPredictOperation": { + "description": "Fetch an asynchronous online prediction operation.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:fetchPredictOperation", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.publishers.models.fetchPredictOperation", + "parameterOrder": [ + "endpoint" + ], + "parameters": { + "endpoint": { + "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+endpoint}:fetchPredictOperation", + "request": { + "$ref": "GoogleCloudAiplatformV1beta1FetchPredictOperationRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, "generateContent": { "description": "Generate content with multimodal inputs.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:generateContent", @@ -16310,6 +17010,35 @@ "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, + "predictLongRunning": { + "description": "", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:predictLongRunning", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.publishers.models.predictLongRunning", + "parameterOrder": [ + "endpoint" + ], + "parameters": { + "endpoint": { + "description": "Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` or `projects/{project}/locations/{location}/publishers/{publisher}/models/{model}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/publishers/[^/]+/models/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+endpoint}:predictLongRunning", + "request": { + "$ref": "GoogleCloudAiplatformV1beta1PredictLongRunningRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, "rawPredict": { "description": "Perform an online prediction with an arbitrary HTTP payload. The response includes the following HTTP headers: * `X-Vertex-AI-Endpoint-Id`: ID of the Endpoint that served this prediction. * `X-Vertex-AI-Deployed-Model-Id`: ID of the Endpoint's DeployedModel that served this prediction.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/publishers/{publishersId}/models/{modelsId}:rawPredict", @@ -16584,7 +17313,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.ragCorpora.operations.cancel", @@ -16853,7 +17582,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/ragCorpora/{ragCorporaId}/ragFiles/{ragFilesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.ragCorpora.ragFiles.operations.cancel", @@ -17143,7 +17872,7 @@ "type": "string" }, "updateMask": { - "description": "Required. Mask specifying which fields to update.", + "description": "Optional. Mask specifying which fields to update.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -17187,13 +17916,41 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "streamQuery": { + "description": "Streams queries using a reasoning engine.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}:streamQuery", + "httpMethod": "POST", + "id": "aiplatform.projects.locations.reasoningEngines.streamQuery", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the ReasoningEngine resource to use. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:streamQuery", + "request": { + "$ref": "GoogleCloudAiplatformV1beta1StreamQueryReasoningEngineRequest" + }, + "response": { + "$ref": "GoogleApiHttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.reasoningEngines.operations.cancel", @@ -17532,7 +18289,7 @@ ] }, "resume": { - "description": "Resumes a paused Schedule to start scheduling new runs. Will mark Schedule.state to 'ACTIVE'. Only paused Schedule can be resumed. When the Schedule is resumed, new runs will be scheduled starting from the next execution time after the current time based on the time_specification in the Schedule. If Schedule.catchUp is set up true, all missed runs will be scheduled for backfill first.", + "description": "Resumes a paused Schedule to start scheduling new runs. Will mark Schedule.state to 'ACTIVE'. Only paused Schedule can be resumed. When the Schedule is resumed, new runs will be scheduled starting from the next execution time after the current time based on the time_specification in the Schedule. If Schedule.catch_up is set up true, all missed runs will be scheduled for backfill first.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}:resume", "httpMethod": "POST", "id": "aiplatform.projects.locations.schedules.resume", @@ -17564,7 +18321,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/schedules/{schedulesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.schedules.operations.cancel", @@ -17979,7 +18736,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/specialistPools/{specialistPoolsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.specialistPools.operations.cancel", @@ -18278,7 +19035,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.studies.operations.cancel", @@ -18715,7 +19472,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/studies/{studiesId}/trials/{trialsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.studies.trials.operations.cancel", @@ -19348,7 +20105,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.tensorboards.experiments.operations.cancel", @@ -19728,7 +20485,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.tensorboards.experiments.runs.operations.cancel", @@ -20147,7 +20904,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/experiments/{experimentsId}/runs/{runsId}/timeSeries/{timeSeriesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.tensorboards.experiments.runs.timeSeries.operations.cancel", @@ -20304,7 +21061,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/tensorboards/{tensorboardsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.tensorboards.operations.cancel", @@ -20614,7 +21371,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/trainingPipelines/{trainingPipelinesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "aiplatform.projects.locations.trainingPipelines.operations.cancel", @@ -20868,7 +21625,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. The standard list page token. Typically obtained via ListTuningJob.next_page_token of the previous GenAiTuningService.ListTuningJob][] call.", + "description": "Optional. The standard list page token. Typically obtained via ListTuningJobsResponse.next_page_token of the previous GenAiTuningService.ListTuningJob][] call.", "location": "query", "type": "string" }, @@ -21119,6 +21876,11 @@ "location": "query", "type": "string" }, + "listAllVersions": { + "description": "Optional. List all publisher model versions if the flag is set to true.", + "location": "query", + "type": "boolean" + }, "orderBy": { "description": "Optional. A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending.", "location": "query", @@ -21202,7 +21964,7 @@ } } }, - "revision": "20240925", + "revision": "20241214", "rootUrl": "https://aiplatform.googleapis.com/", "schemas": { "CloudAiLargeModelsVisionGenerateVideoResponse": { @@ -21253,6 +22015,10 @@ "$ref": "CloudAiLargeModelsVisionImageRAIScores", "description": "RAI scores for generated image." }, + "imageSize": { + "$ref": "CloudAiLargeModelsVisionImageImageSize", + "description": "Image size. The size of the image. Can be self reported, or computed from the image bytes." + }, "raiInfo": { "$ref": "CloudAiLargeModelsVisionRaiInfo", "description": "RAI info for image." @@ -21272,6 +22038,25 @@ }, "type": "object" }, + "CloudAiLargeModelsVisionImageImageSize": { + "description": "Image size.", + "id": "CloudAiLargeModelsVisionImageImageSize", + "properties": { + "channels": { + "format": "int32", + "type": "integer" + }, + "height": { + "format": "int32", + "type": "integer" + }, + "width": { + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "CloudAiLargeModelsVisionImageRAIScores": { "description": "RAI scores for generated image returned.", "id": "CloudAiLargeModelsVisionImageRAIScores", @@ -21475,6 +22260,14 @@ "description": "Video", "id": "CloudAiLargeModelsVisionVideo", "properties": { + "encodedVideo": { + "description": "Base 64 encoded video bytes.", + "type": "string" + }, + "encoding": { + "description": "Video encoding, for example \"video/mp4\".", + "type": "string" + }, "uri": { "description": "Path to another storage (typically Google Cloud Storage).", "type": "string" @@ -22084,7 +22877,11 @@ "id": "GoogleCloudAiplatformV1beta1AuthConfigApiKeyConfig", "properties": { "apiKeySecret": { - "description": "Required. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.", + "description": "Optional. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project}/secrets/{secrete}/versions/{version}` - If both `api_key_secret` and `api_key_string` are specified, this field takes precedence over `api_key_string`. - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource.", + "type": "string" + }, + "apiKeyString": { + "description": "Optional. The API key to be used in the request directly.", "type": "string" }, "httpElementLocation": { @@ -22474,7 +23271,7 @@ }, "request": { "$ref": "GoogleCloudAiplatformV1beta1MigrateResourceRequest", - "description": "It's the same as the value in MigrateResourceRequest.migrate_resource_requests." + "description": "It's the same as the value in BatchMigrateResourcesRequest.migrate_resource_requests." } }, "type": "object" @@ -22984,7 +23781,7 @@ "type": "object" }, "GoogleCloudAiplatformV1beta1Blob": { - "description": "Content blob. It's preferred to send as text directly rather than raw bytes.", + "description": "Content blob.", "id": "GoogleCloudAiplatformV1beta1Blob", "properties": { "data": { @@ -23232,7 +24029,7 @@ "Token generation reached a natural stopping point or a configured stop sequence.", "Token generation reached the configured maximum output tokens.", "Token generation stopped because the content potentially contains safety violations. NOTE: When streaming, content is empty if content filters blocks the output.", - "Token generation stopped because the content potentially contains copyright violations.", + "The token generation stopped because of potential recitation.", "All other reasons that stopped the token generation.", "Token generation stopped because the content contains forbidden terms.", "Token generation stopped for potentially containing prohibited content.", @@ -23389,6 +24186,45 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1ClientConnectionConfig": { + "description": "Configurations (e.g. inference timeout) that are applied on your endpoints.", + "id": "GoogleCloudAiplatformV1beta1ClientConnectionConfig", + "properties": { + "inferenceTimeout": { + "description": "Customizable online prediction request timeout.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1CodeExecutionResult": { + "description": "Result of executing the [ExecutableCode]. Always follows a `part` containing the [ExecutableCode].", + "id": "GoogleCloudAiplatformV1beta1CodeExecutionResult", + "properties": { + "outcome": { + "description": "Required. Outcome of the code execution.", + "enum": [ + "OUTCOME_UNSPECIFIED", + "OUTCOME_OK", + "OUTCOME_FAILED", + "OUTCOME_DEADLINE_EXCEEDED" + ], + "enumDescriptions": [ + "Unspecified status. This value should not be used.", + "Code execution completed successfully.", + "Code execution finished but with a failure. `stderr` should contain the reason.", + "Code execution ran for too long, and was cancelled. There may or may not be a partial output present." + ], + "type": "string" + }, + "output": { + "description": "Optional. Contains stdout when code execution is successful, stderr or other description otherwise.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1CoherenceInput": { "description": "Input for coherence metric.", "id": "GoogleCloudAiplatformV1beta1CoherenceInput", @@ -23451,6 +24287,80 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1CometInput": { + "description": "Input for Comet metric.", + "id": "GoogleCloudAiplatformV1beta1CometInput", + "properties": { + "instance": { + "$ref": "GoogleCloudAiplatformV1beta1CometInstance", + "description": "Required. Comet instance." + }, + "metricSpec": { + "$ref": "GoogleCloudAiplatformV1beta1CometSpec", + "description": "Required. Spec for comet metric." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1CometInstance": { + "description": "Spec for Comet instance - The fields used for evaluation are dependent on the comet version.", + "id": "GoogleCloudAiplatformV1beta1CometInstance", + "properties": { + "prediction": { + "description": "Required. Output of the evaluated model.", + "type": "string" + }, + "reference": { + "description": "Optional. Ground truth used to compare against the prediction.", + "type": "string" + }, + "source": { + "description": "Optional. Source text in original language.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1CometResult": { + "description": "Spec for Comet result - calculates the comet score for the given instance using the version specified in the spec.", + "id": "GoogleCloudAiplatformV1beta1CometResult", + "properties": { + "score": { + "description": "Output only. Comet score. Range depends on version.", + "format": "float", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1CometSpec": { + "description": "Spec for Comet metric.", + "id": "GoogleCloudAiplatformV1beta1CometSpec", + "properties": { + "sourceLanguage": { + "description": "Optional. Source language in BCP-47 format.", + "type": "string" + }, + "targetLanguage": { + "description": "Optional. Target language in BCP-47 format. Covers both prediction and reference.", + "type": "string" + }, + "version": { + "description": "Required. Which version to use for evaluation.", + "enum": [ + "COMET_VERSION_UNSPECIFIED", + "COMET_22_SRC_REF" + ], + "enumDescriptions": [ + "Comet version unspecified.", + "Comet 22 for translation + source + reference (source-reference-combined)." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1CompleteTrialRequest": { "description": "Request message for VizierService.CompleteTrial.", "id": "GoogleCloudAiplatformV1beta1CompleteTrialRequest", @@ -24415,6 +25325,10 @@ "description": "The ID of the location to store protected artifacts. e.g. us-central1. Populate only when the location is different than CustomJob location. List of supported locations: https://cloud.google.com/vertex-ai/docs/general/locations", "type": "string" }, + "pscInterfaceConfig": { + "$ref": "GoogleCloudAiplatformV1beta1PscInterfaceConfig", + "description": "Optional. Configuration for PSC-I for CustomJob." + }, "reservedIpRanges": { "description": "Optional. A list of names for the reserved ip ranges under the VPC network that can be used for this job. If set, we will deploy the job within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range'].", "items": { @@ -24702,7 +25616,7 @@ "type": "string" }, "name": { - "description": "Output only. Identifier. The resource name of the Dataset.", + "description": "Output only. Identifier. The resource name of the Dataset. Format: `projects/{project}/locations/{location}/datasets/{dataset}`", "readOnly": true, "type": "string" }, @@ -24950,6 +25864,11 @@ "format": "int32", "type": "integer" }, + "requiredReplicaCount": { + "description": "Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial model deployment/mutation is desired. If set, the model deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count.", + "format": "int32", + "type": "integer" + }, "spot": { "description": "Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms).", "type": "boolean" @@ -25167,6 +26086,37 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1DeployPublisherModelRequest": { + "description": "Request message for ModelGardenService.DeployPublisherModel.", + "id": "GoogleCloudAiplatformV1beta1DeployPublisherModelRequest", + "properties": { + "acceptEula": { + "description": "Optional. Whether the user accepts the End User License Agreement (EULA) for the model.", + "type": "boolean" + }, + "dedicatedResources": { + "$ref": "GoogleCloudAiplatformV1beta1DedicatedResources", + "description": "Optional. The dedicated resources to use for the endpoint. If not set, the default resources will be used." + }, + "endpointDisplayName": { + "description": "Optional. The user-specified display name of the endpoint. If not set, a default name will be used.", + "type": "string" + }, + "huggingFaceAccessToken": { + "description": "Optional. The Hugging Face read access token used to access the model artifacts of gated models.", + "type": "string" + }, + "model": { + "description": "Required. The name of the PublisherModel resource. Format: `publishers/{publisher}/models/{publisher_model}@{version_id}`, or `publishers/hf-{hugging-face-author}/models/{hugging-face-model-name}@001`", + "type": "string" + }, + "modelDisplayName": { + "description": "Optional. The user-specified display name of the uploaded model. If not set, a default name will be used.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1DeploySolverOperationMetadata": { "description": "Runtime operation information for SolverService.DeploySolver.", "id": "GoogleCloudAiplatformV1beta1DeploySolverOperationMetadata", @@ -25338,6 +26288,10 @@ "$ref": "GoogleCloudAiplatformV1beta1ExplanationSpec", "description": "Explanation configuration for this DeployedModel. When deploying a Model using EndpointService.DeployModel, this value overrides the value of Model.explanation_spec. All fields of explanation_spec are optional in the request. If a field of explanation_spec is not populated, the value of the same field of Model.explanation_spec is inherited. If the corresponding Model.explanation_spec is not populated, all fields of the explanation_spec will be used for the explanation configuration." }, + "fasterDeploymentConfig": { + "$ref": "GoogleCloudAiplatformV1beta1FasterDeploymentConfig", + "description": "Configuration for faster model deployment." + }, "id": { "description": "Immutable. The ID of the DeployedModel. If not provided upon deployment, Vertex AI will generate a value for this ID. This value should be 1-10 characters, and valid characters are `/[0-9]/`.", "type": "string" @@ -25363,6 +26317,18 @@ "sharedResources": { "description": "The resource name of the shared DeploymentResourcePool to deploy on. Format: `projects/{project}/locations/{location}/deploymentResourcePools/{deployment_resource_pool}`", "type": "string" + }, + "status": { + "$ref": "GoogleCloudAiplatformV1beta1DeployedModelStatus", + "description": "Output only. Runtime status of the deployed model.", + "readOnly": true + }, + "systemLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "System labels to apply to Model Garden deployments. System labels are managed by Google for internal use only.", + "type": "object" } }, "type": "object" @@ -25382,6 +26348,30 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1DeployedModelStatus": { + "description": "Runtime status of the deployed model.", + "id": "GoogleCloudAiplatformV1beta1DeployedModelStatus", + "properties": { + "availableReplicaCount": { + "description": "Output only. The number of available replicas of the deployed model.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "lastUpdateTime": { + "description": "Output only. The time at which the status was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "message": { + "description": "Output only. The latest deployed model's status message (if any).", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1DeploymentResourcePool": { "description": "A description of resources that can be shared by multiple DeployedModels, whose underlying specification consists of a DedicatedResources.", "id": "GoogleCloudAiplatformV1beta1DeploymentResourcePool", @@ -25587,15 +26577,18 @@ "description": "Optional. Hyperparameters for Distillation." }, "pipelineRootDirectory": { - "description": "Required. A path in a Cloud Storage bucket, which will be treated as the root output directory of the distillation pipeline. It is used by the system to generate the paths of output artifacts.", + "deprecated": true, + "description": "Deprecated. A path in a Cloud Storage bucket, which will be treated as the root output directory of the distillation pipeline. It is used by the system to generate the paths of output artifacts.", "type": "string" }, "studentModel": { - "description": "The student model that is being tuned, e.g., \"google/gemma-2b-1.1-it\".", + "deprecated": true, + "description": "The student model that is being tuned, e.g., \"google/gemma-2b-1.1-it\". Deprecated. Use base_model instead.", "type": "string" }, "trainingDatasetUri": { - "description": "Required. Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file.", + "deprecated": true, + "description": "Deprecated. Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file.", "type": "string" }, "tunedTeacherModelSource": { @@ -25624,6 +26617,30 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1DynamicRetrievalConfig": { + "description": "Describes the options to customize dynamic retrieval.", + "id": "GoogleCloudAiplatformV1beta1DynamicRetrievalConfig", + "properties": { + "dynamicThreshold": { + "description": "Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used.", + "format": "float", + "type": "number" + }, + "mode": { + "description": "The mode of the predictor to be used in dynamic retrieval.", + "enum": [ + "MODE_UNSPECIFIED", + "MODE_DYNAMIC" + ], + "enumDescriptions": [ + "Always trigger retrieval.", + "Run retrieval only when system decides it is necessary." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1EncryptionSpec": { "description": "Represents a customer-managed encryption key spec that can be applied to a top-level resource.", "id": "GoogleCloudAiplatformV1beta1EncryptionSpec", @@ -25639,6 +26656,10 @@ "description": "Models are deployed into it, and afterwards Endpoint is called to obtain predictions and explanations.", "id": "GoogleCloudAiplatformV1beta1Endpoint", "properties": { + "clientConnectionConfig": { + "$ref": "GoogleCloudAiplatformV1beta1ClientConnectionConfig", + "description": "Configurations that are applied to the endpoint for online prediction." + }, "createTime": { "description": "Output only. Timestamp when this Endpoint was created.", "format": "google-datetime", @@ -25894,6 +26915,10 @@ "$ref": "GoogleCloudAiplatformV1beta1CoherenceInput", "description": "Input for coherence metric." }, + "cometInput": { + "$ref": "GoogleCloudAiplatformV1beta1CometInput", + "description": "Translation metrics. Input for Comet metric." + }, "exactMatchInput": { "$ref": "GoogleCloudAiplatformV1beta1ExactMatchInput", "description": "Auto metric instances. Instances and metric spec for exact match metric." @@ -25910,6 +26935,10 @@ "$ref": "GoogleCloudAiplatformV1beta1GroundednessInput", "description": "Input for groundedness metric." }, + "metricxInput": { + "$ref": "GoogleCloudAiplatformV1beta1MetricxInput", + "description": "Input for Metricx metric." + }, "pairwiseMetricInput": { "$ref": "GoogleCloudAiplatformV1beta1PairwiseMetricInput", "description": "Input for pairwise metric." @@ -25977,6 +27006,30 @@ "toolParameterKvMatchInput": { "$ref": "GoogleCloudAiplatformV1beta1ToolParameterKVMatchInput", "description": "Input for tool parameter key value match metric." + }, + "trajectoryAnyOrderMatchInput": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchInput", + "description": "Input for trajectory match any order metric." + }, + "trajectoryExactMatchInput": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectoryExactMatchInput", + "description": "Input for trajectory exact match metric." + }, + "trajectoryInOrderMatchInput": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchInput", + "description": "Input for trajectory in order match metric." + }, + "trajectoryPrecisionInput": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectoryPrecisionInput", + "description": "Input for trajectory precision metric." + }, + "trajectoryRecallInput": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectoryRecallInput", + "description": "Input for trajectory recall metric." + }, + "trajectorySingleToolUseInput": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectorySingleToolUseInput", + "description": "Input for trajectory single tool use metric." } }, "type": "object" @@ -25993,6 +27046,10 @@ "$ref": "GoogleCloudAiplatformV1beta1CoherenceResult", "description": "Result for coherence metric." }, + "cometResult": { + "$ref": "GoogleCloudAiplatformV1beta1CometResult", + "description": "Translation metrics. Result for Comet metric." + }, "exactMatchResults": { "$ref": "GoogleCloudAiplatformV1beta1ExactMatchResults", "description": "Auto metric evaluation results. Results for exact match metric." @@ -26009,6 +27066,10 @@ "$ref": "GoogleCloudAiplatformV1beta1GroundednessResult", "description": "Result for groundedness metric." }, + "metricxResult": { + "$ref": "GoogleCloudAiplatformV1beta1MetricxResult", + "description": "Result for Metricx metric." + }, "pairwiseMetricResult": { "$ref": "GoogleCloudAiplatformV1beta1PairwiseMetricResult", "description": "Result for pairwise metric." @@ -26076,6 +27137,30 @@ "toolParameterKvMatchResults": { "$ref": "GoogleCloudAiplatformV1beta1ToolParameterKVMatchResults", "description": "Results for tool parameter key value match metric." + }, + "trajectoryAnyOrderMatchResults": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchResults", + "description": "Result for trajectory any order match metric." + }, + "trajectoryExactMatchResults": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectoryExactMatchResults", + "description": "Result for trajectory exact match metric." + }, + "trajectoryInOrderMatchResults": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchResults", + "description": "Result for trajectory in order match metric." + }, + "trajectoryPrecisionResults": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectoryPrecisionResults", + "description": "Result for trajectory precision metric." + }, + "trajectoryRecallResults": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectoryRecallResults", + "description": "Results for trajectory recall metric." + }, + "trajectorySingleToolUseResults": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectorySingleToolUseResults", + "description": "Results for trajectory single tool use metric." } }, "type": "object" @@ -26387,6 +27472,29 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1ExecutableCode": { + "description": "Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the [FunctionDeclaration] tool and [FunctionCallingConfig] mode is set to [Mode.CODE].", + "id": "GoogleCloudAiplatformV1beta1ExecutableCode", + "properties": { + "code": { + "description": "Required. The code to be executed.", + "type": "string" + }, + "language": { + "description": "Required. Programming language of the `code`.", + "enum": [ + "LANGUAGE_UNSPECIFIED", + "PYTHON" + ], + "enumDescriptions": [ + "Unspecified language. This value should not be used.", + "Python >= 3.10, with numpy and simpy available." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1ExecuteExtensionRequest": { "description": "Request message for ExtensionExecutionService.ExecuteExtension.", "id": "GoogleCloudAiplatformV1beta1ExecuteExtensionRequest", @@ -27258,12 +28366,22 @@ }, "privateServiceConnectConfig": { "$ref": "GoogleCloudAiplatformV1beta1ExtensionPrivateServiceConnectConfig", - "description": "Optional. The PrivateServiceConnect config for the extension. If specified, the service endpoints associated with the Extension should be registered with private network access in the provided Service Directory (https://cloud.google.com/service-directory/docs/configuring-private-network-access). If the service contains more than one endpoint with a network, the service will arbitrarilty choose one of the endpoints to use for extension execution." + "description": "Optional. The PrivateServiceConnect config for the extension. If specified, the service endpoints associated with the Extension should be [registered with private network access in the provided Service Directory](https://cloud.google.com/service-directory/docs/configuring-private-network-access). If the service contains more than one endpoint with a network, the service will arbitrarilty choose one of the endpoints to use for extension execution." }, "runtimeConfig": { "$ref": "GoogleCloudAiplatformV1beta1RuntimeConfig", "description": "Optional. Runtime config controlling the runtime behavior of this Extension." }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, "toolUseExamples": { "description": "Optional. Examples to illustrate the usage of the extension as a tool.", "items": { @@ -27353,6 +28471,11 @@ "description": "Query that is used to retrieve this fact.", "type": "string" }, + "score": { + "description": "If present, according to the underlying Vector DB and the selected metric type, the score can be either the distance or the similarity between the query and the fact and its range depends on the metric type. For example, if the metric type is COSINE_DISTANCE, it represents the distance between the query and the fact. The larger the distance, the less relevant the fact is to the query. The range is [0, 2], while 0 means the most relevant and 2 means the least relevant.", + "format": "double", + "type": "number" + }, "summary": { "description": "If present, the summary/snippet of the fact.", "type": "string" @@ -27366,6 +28489,7 @@ "type": "string" }, "vectorDistance": { + "deprecated": true, "description": "If present, the distance between the query vector and this fact vector.", "format": "double", "type": "number" @@ -27373,6 +28497,17 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1FasterDeploymentConfig": { + "description": "Configuration for faster model deployment.", + "id": "GoogleCloudAiplatformV1beta1FasterDeploymentConfig", + "properties": { + "fastTryoutEnabled": { + "description": "If true, enable fast tryout feature for this deployed model.", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1Feature": { "description": "Feature Metadata information. For example, color is a feature that describes an apple.", "id": "GoogleCloudAiplatformV1beta1Feature", @@ -27395,6 +28530,14 @@ "description": "Used to perform a consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", "type": "string" }, + "featureStatsAndAnomaly": { + "description": "Output only. Only applicable for Vertex AI Feature Store. The list of historical stats and anomalies.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1FeatureStatsAndAnomaly" + }, + "readOnly": true, + "type": "array" + }, "labels": { "additionalProperties": { "type": "string" @@ -27507,6 +28650,25 @@ "description": "Identifier. Name of the FeatureGroup. Format: `projects/{project}/locations/{location}/featureGroups/{featureGroup}`", "type": "string" }, + "serviceAccountEmail": { + "description": "Output only. A Service Account unique to this FeatureGroup. The role bigquery.dataViewer should be granted to this service account to allow Vertex AI Feature Store to access source data while running jobs under this FeatureGroup.", + "readOnly": true, + "type": "string" + }, + "serviceAgentType": { + "description": "Optional. Service agent type used during jobs under a FeatureGroup. By default, the Vertex AI Service Agent is used. When using an IAM Policy to isolate this FeatureGroup within a project, a separate service account should be provisioned by setting this field to `SERVICE_AGENT_TYPE_FEATURE_GROUP`. This will generate a separate service account to access the BigQuery source table.", + "enum": [ + "SERVICE_AGENT_TYPE_UNSPECIFIED", + "SERVICE_AGENT_TYPE_PROJECT", + "SERVICE_AGENT_TYPE_FEATURE_GROUP" + ], + "enumDescriptions": [ + "By default, the project-level Vertex AI Service Agent is enabled.", + "Specifies the project-level Vertex AI Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents).", + "Enable a FeatureGroup service account to be created by Vertex AI and output in the field `service_account_email`. This service account will be used to read from the source BigQuery table during jobs under a FeatureGroup." + ], + "type": "string" + }, "updateTime": { "description": "Output only. Timestamp when this FeatureGroup was last updated.", "format": "google-datetime", @@ -27556,6 +28718,143 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1FeatureMonitor": { + "description": "Vertex AI Feature Monitor.", + "id": "GoogleCloudAiplatformV1beta1FeatureMonitor", + "properties": { + "createTime": { + "description": "Output only. Timestamp when this FeatureMonitor was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Description of the FeatureMonitor.", + "type": "string" + }, + "etag": { + "description": "Optional. Used to perform consistent read-modify-write updates. If not set, a blind \"overwrite\" update happens.", + "type": "string" + }, + "featureSelectionConfig": { + "$ref": "GoogleCloudAiplatformV1beta1FeatureSelectionConfig", + "description": "Required. Feature selection config for the FeatureMonitor." + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The labels with user-defined metadata to organize your FeatureMonitor. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureMonitor(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", + "type": "object" + }, + "name": { + "description": "Identifier. Name of the FeatureMonitor. Format: `projects/{project}/locations/{location}/featureGroups/{featureGroup}/featureMonitors/{featureMonitor}`", + "type": "string" + }, + "scheduleConfig": { + "$ref": "GoogleCloudAiplatformV1beta1ScheduleConfig", + "description": "Required. Schedule config for the FeatureMonitor." + }, + "updateTime": { + "description": "Output only. Timestamp when this FeatureMonitor was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1FeatureMonitorJob": { + "description": "Vertex AI Feature Monitor Job.", + "id": "GoogleCloudAiplatformV1beta1FeatureMonitorJob", + "properties": { + "createTime": { + "description": "Output only. Timestamp when this FeatureMonitorJob was created. Creation of a FeatureMonitorJob means that the job is pending / waiting for sufficient resources but may not have started running yet.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Description of the FeatureMonitor.", + "type": "string" + }, + "driftBaseFeatureMonitorJobId": { + "description": "Output only. FeatureMonitorJob ID comparing to which the drift is calculated.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "driftBaseSnapshotTime": { + "description": "Output only. Data snapshot time comparing to which the drift is calculated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "featureSelectionConfig": { + "$ref": "GoogleCloudAiplatformV1beta1FeatureSelectionConfig", + "description": "Output only. Feature selection config used when creating FeatureMonitorJob.", + "readOnly": true + }, + "finalStatus": { + "$ref": "GoogleRpcStatus", + "description": "Output only. Final status of the FeatureMonitorJob.", + "readOnly": true + }, + "jobSummary": { + "$ref": "GoogleCloudAiplatformV1beta1FeatureMonitorJobJobSummary", + "description": "Output only. Summary from the FeatureMonitorJob.", + "readOnly": true + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The labels with user-defined metadata to organize your FeatureMonitorJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureMonitor(System labels are excluded).\" System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable.", + "type": "object" + }, + "name": { + "description": "Identifier. Name of the FeatureMonitorJob. Format: `projects/{project}/locations/{location}/featureGroups/{feature_group}/featureMonitors/{feature_monitor}/featureMonitorJobs/{feature_monitor_job}`.", + "type": "string" + }, + "triggerType": { + "description": "Output only. Trigger type of the Feature Monitor Job.", + "enum": [ + "FEATURE_MONITOR_JOB_TRIGGER_UNSPECIFIED", + "FEATURE_MONITOR_JOB_TRIGGER_PERIODIC", + "FEATURE_MONITOR_JOB_TRIGGER_ON_DEMAND" + ], + "enumDescriptions": [ + "Trigger type unspecified.", + "Triggered by periodic schedule.", + "Triggered on demand by CreateFeatureMonitorJob request." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1FeatureMonitorJobJobSummary": { + "description": "Summary from the FeatureMonitorJob.", + "id": "GoogleCloudAiplatformV1beta1FeatureMonitorJobJobSummary", + "properties": { + "featureStatsAndAnomalies": { + "description": "Output only. Features and their stats and anomalies", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1FeatureStatsAndAnomaly" + }, + "readOnly": true, + "type": "array" + }, + "totalSlotMs": { + "description": "Output only. BigQuery slot milliseconds consumed.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1FeatureMonitoringStatsAnomaly": { "description": "A list of historical SnapshotAnalysis or ImportFeaturesAnalysis stats requested by user, sorted by FeatureStatsAnomaly.start_time descending.", "id": "GoogleCloudAiplatformV1beta1FeatureMonitoringStatsAnomaly", @@ -27763,6 +29062,36 @@ "properties": {}, "type": "object" }, + "GoogleCloudAiplatformV1beta1FeatureSelectionConfig": { + "description": "Feature selection configuration for the FeatureMonitor.", + "id": "GoogleCloudAiplatformV1beta1FeatureSelectionConfig", + "properties": { + "featureConfigs": { + "description": "Optional. A list of features to be monitored and each feature's drift threshold.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1FeatureSelectionConfigFeatureConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1FeatureSelectionConfigFeatureConfig": { + "description": "Feature configuration.", + "id": "GoogleCloudAiplatformV1beta1FeatureSelectionConfigFeatureConfig", + "properties": { + "driftThreshold": { + "description": "Optional. Drift threshold. If calculated difference with baseline data larger than threshold, it will be considered as the feature has drift. If not present, the threshold will be default to 0.3.", + "format": "double", + "type": "number" + }, + "featureId": { + "description": "Required. The ID of the feature resource. Final component of the Feature's resource name.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1FeatureSelector": { "description": "Selector for Features of an EntityType.", "id": "GoogleCloudAiplatformV1beta1FeatureSelector", @@ -27774,6 +29103,49 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1FeatureStatsAndAnomaly": { + "description": "Stats and Anomaly generated by FeatureMonitorJobs. Anomaly only includes Drift.", + "id": "GoogleCloudAiplatformV1beta1FeatureStatsAndAnomaly", + "properties": { + "distributionDeviation": { + "description": "Deviation from the current stats to baseline stats. 1. For categorical feature, the distribution distance is calculated by L-inifinity norm. 2. For numerical feature, the distribution distance is calculated by Jensen–Shannon divergence.", + "format": "double", + "type": "number" + }, + "driftDetected": { + "description": "If set to true, indicates current stats is detected as and comparing with baseline stats.", + "type": "boolean" + }, + "driftDetectionThreshold": { + "description": "This is the threshold used when detecting drifts, which is set in FeatureMonitor.FeatureSelectionConfig.FeatureConfig.drift_threshold", + "format": "double", + "type": "number" + }, + "featureId": { + "description": "Feature Id.", + "type": "string" + }, + "featureMonitorId": { + "description": "The ID of the FeatureMonitor that this FeatureStatsAndAnomaly generated according to.", + "type": "string" + }, + "featureMonitorJobId": { + "description": "The ID of the FeatureMonitorJob that generated this FeatureStatsAndAnomaly.", + "format": "int64", + "type": "string" + }, + "featureStats": { + "description": "Feature stats. e.g. histogram buckets. In the format of tensorflow.metadata.v0.DatasetFeatureStatistics.", + "type": "any" + }, + "statsTime": { + "description": "The timestamp we take snapshot for feature values to generate stats.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1FeatureStatsAnomaly": { "description": "Stats and Anomaly generated at specific timestamp for specific Feature. The start_time and end_time are used to define the time range of the dataset that current stats belongs to, e.g. prediction traffic is bucketed into prediction datasets by time window. If the Dataset is not defined by time window, start_time = end_time. Timestamp of the stats and anomalies always refers to end_time. Raw stats and anomalies are stored in stats_uri or anomaly_uri in the tensorflow defined protos. Field data_stats contains almost identical information with the raw stats in Vertex AI defined proto, for UI to display.", "id": "GoogleCloudAiplatformV1beta1FeatureStatsAnomaly", @@ -28214,6 +29586,10 @@ "description": "Configuration for Sync. Only one option is set.", "id": "GoogleCloudAiplatformV1beta1FeatureViewSyncConfig", "properties": { + "continuous": { + "description": "Optional. If true, syncs the FeatureView in a continuous manner to Online Store.", + "type": "boolean" + }, "cron": { "description": "Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: \"CRON_TZ=${IANA_TIME_ZONE}\" or \"TZ=${IANA_TIME_ZONE}\". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, \"CRON_TZ=America/New_York 1 * * * *\", or \"TZ=America/New_York 1 * * * *\".", "type": "string" @@ -28638,6 +30014,17 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1FetchPredictOperationRequest": { + "description": "Request message for PredictionService.FetchPredictOperation.", + "id": "GoogleCloudAiplatformV1beta1FetchPredictOperationRequest", + "properties": { + "operationName": { + "description": "Required. The server-assigned name for the operation.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1FileData": { "description": "URI based data.", "id": "GoogleCloudAiplatformV1beta1FileData", @@ -29021,7 +30408,7 @@ "type": "object" }, "GoogleCloudAiplatformV1beta1FunctionDeclaration": { - "description": "Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name and parameters. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.", + "description": "Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.", "id": "GoogleCloudAiplatformV1beta1FunctionDeclaration", "properties": { "description": { @@ -29299,6 +30686,10 @@ "description": "Generation config.", "id": "GoogleCloudAiplatformV1beta1GenerationConfig", "properties": { + "audioTimestamp": { + "description": "Optional. If enabled, audio timestamp will be included in the request to the model.", + "type": "boolean" + }, "candidateCount": { "description": "Optional. Number of candidates to generate.", "format": "int32", @@ -29319,6 +30710,22 @@ "format": "int32", "type": "integer" }, + "mediaResolution": { + "description": "Optional. If specified, the media resolution specified will be used.", + "enum": [ + "MEDIA_RESOLUTION_UNSPECIFIED", + "MEDIA_RESOLUTION_LOW", + "MEDIA_RESOLUTION_MEDIUM", + "MEDIA_RESOLUTION_HIGH" + ], + "enumDescriptions": [ + "Media resolution has not been set.", + "Media resolution set to low (64 tokens).", + "Media resolution set to medium (256 tokens).", + "Media resolution set to high (zoomed reframing with 256 tokens)." + ], + "type": "string" + }, "presencePenalty": { "description": "Optional. Positive penalties.", "format": "float", @@ -29332,6 +30739,25 @@ "description": "Optional. Output response mimetype of the generated candidate text. Supported mimetype: - `text/plain`: (default) Text output. - `application/json`: JSON response in the candidates. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. This is a preview feature.", "type": "string" }, + "responseModalities": { + "description": "Optional. The modalities of the response.", + "items": { + "enum": [ + "MODALITY_UNSPECIFIED", + "TEXT", + "IMAGE", + "AUDIO" + ], + "enumDescriptions": [ + "Unspecified modality. Will be processed as text.", + "Text modality.", + "Image modality.", + "Audio modality." + ], + "type": "string" + }, + "type": "array" + }, "responseSchema": { "$ref": "GoogleCloudAiplatformV1beta1Schema", "description": "Optional. The `Schema` object allows the definition of input and output data types. These types can be objects, but also primitives and arrays. Represents a select subset of an [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema). If set, a compatible response_mime_type must also be set. Compatible mimetypes: `application/json`: Schema for JSON response." @@ -29345,6 +30771,10 @@ "format": "int32", "type": "integer" }, + "speechConfig": { + "$ref": "GoogleCloudAiplatformV1beta1SpeechConfig", + "description": "Optional. The speech generation config." + }, "stopSequences": { "description": "Optional. Stop sequences.", "items": { @@ -29499,7 +30929,12 @@ "GoogleCloudAiplatformV1beta1GoogleSearchRetrieval": { "description": "Tool to retrieve public web data for grounding, powered by Google.", "id": "GoogleCloudAiplatformV1beta1GoogleSearchRetrieval", - "properties": {}, + "properties": { + "dynamicRetrievalConfig": { + "$ref": "GoogleCloudAiplatformV1beta1DynamicRetrievalConfig", + "description": "Specifies the dynamic retrieval configuration for the given source." + } + }, "type": "object" }, "GoogleCloudAiplatformV1beta1GroundednessInput": { @@ -29587,6 +31022,10 @@ "description": "Chunk from context retrieved by the retrieval tools.", "id": "GoogleCloudAiplatformV1beta1GroundingChunkRetrievedContext", "properties": { + "text": { + "description": "Text of the attribution.", + "type": "string" + }, "title": { "description": "Title of the attribution.", "type": "string" @@ -29631,6 +31070,11 @@ }, "type": "array" }, + "retrievalMetadata": { + "$ref": "GoogleCloudAiplatformV1beta1RetrievalMetadata", + "description": "Optional. Output only. Retrieval metadata.", + "readOnly": true + }, "retrievalQueries": { "description": "Optional. Queries executed by the retrieval tools.", "items": { @@ -30065,19 +31509,26 @@ }, "partialFailureBigquerySink": { "$ref": "GoogleCloudAiplatformV1beta1BigQueryDestination", - "description": "The BigQuery destination to write partial failures to. It should be a bigquery table resource name (e.g. \"bq://projectId.bqDatasetId.bqTableId\"). If the dataset id does not exist, it will be created. If the table does not exist, it will be created with the expected schema. If the table exists, the schema will be validated and data will be added to this existing table." + "deprecated": true, + "description": "The BigQuery destination to write partial failures to. It should be a bigquery table resource name (e.g. \"bq://projectId.bqDatasetId.bqTableId\"). The dataset must exist. If the table does not exist, it will be created with the expected schema. If the table exists, the schema will be validated and data will be added to this existing table. Deprecated. Prefer to use `import_result_bq_sink`." }, "partialFailureGcsSink": { "$ref": "GoogleCloudAiplatformV1beta1GcsDestination", - "description": "The Cloud Storage path to write partial failures to." + "deprecated": true, + "description": "The Cloud Storage path to write partial failures to. Deprecated. Prefer to use `import_result_gcs_sink`." }, "ragFileChunkingConfig": { "$ref": "GoogleCloudAiplatformV1beta1RagFileChunkingConfig", + "deprecated": true, "description": "Specifies the size and overlap of chunks after importing RagFiles." }, "ragFileParsingConfig": { "$ref": "GoogleCloudAiplatformV1beta1RagFileParsingConfig", - "description": "Specifies the parsing config for RagFiles." + "description": "Optional. Specifies the parsing config for RagFiles. RAG will use the default parser if this field is not set." + }, + "ragFileTransformationConfig": { + "$ref": "GoogleCloudAiplatformV1beta1RagFileTransformationConfig", + "description": "Specifies the transformation config for RagFiles." }, "sharePointSources": { "$ref": "GoogleCloudAiplatformV1beta1SharePointSources", @@ -30641,7 +32092,7 @@ "properties": { "apiKeyConfig": { "$ref": "GoogleCloudAiplatformV1beta1ApiAuthApiKeyConfig", - "description": "Required. The SecretManager secret version resource name (e.g. projects/{project}/secrets/{secret}/versions/{version}) storing the Jira API key (https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/)." + "description": "Required. The SecretManager secret version resource name (e.g. projects/{project}/secrets/{secret}/versions/{version}) storing the Jira API key. See [Manage API tokens for your Atlassian account](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/)." }, "customQueries": { "description": "A list of custom Jira queries to import. For information about JQL (Jira Query Language), see https://support.atlassian.com/jira-service-management-cloud/docs/use-advanced-search-with-jira-query-language-jql/", @@ -30995,6 +32446,42 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1ListFeatureMonitorJobsResponse": { + "description": "Response message for FeatureRegistryService.ListFeatureMonitorJobs.", + "id": "GoogleCloudAiplatformV1beta1ListFeatureMonitorJobsResponse", + "properties": { + "featureMonitorJobs": { + "description": "The FeatureMonitorJobs matching the request.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1FeatureMonitorJob" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token, which can be sent as ListFeatureMonitorJobsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1ListFeatureMonitorsResponse": { + "description": "Response message for FeatureRegistryService.ListFeatureMonitors.", + "id": "GoogleCloudAiplatformV1beta1ListFeatureMonitorsResponse", + "properties": { + "featureMonitors": { + "description": "The FeatureMonitors matching the request.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1FeatureMonitor" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token, which can be sent as ListFeatureMonitorsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1ListFeatureOnlineStoresResponse": { "description": "Response message for FeatureOnlineStoreAdminService.ListFeatureOnlineStores.", "id": "GoogleCloudAiplatformV1beta1ListFeatureOnlineStoresResponse", @@ -31342,7 +32829,7 @@ "id": "GoogleCloudAiplatformV1beta1ListNotebookExecutionJobsResponse", "properties": { "nextPageToken": { - "description": "A token to retrieve next page of results. Pass to ListNotebookExecutionJobs.page_token to obtain that page.", + "description": "A token to retrieve next page of results. Pass to ListNotebookExecutionJobsRequest.page_token to obtain that page.", "type": "string" }, "notebookExecutionJobs": { @@ -31747,11 +33234,11 @@ "type": "number" }, "token": { - "description": "The candidate’s token string value.", + "description": "The candidate's token string value.", "type": "string" }, "tokenId": { - "description": "The candidate’s token id value.", + "description": "The candidate's token id value.", "format": "int32", "type": "integer" } @@ -31805,6 +33292,7 @@ "NVIDIA_A100_80GB", "NVIDIA_L4", "NVIDIA_H100_80GB", + "NVIDIA_H100_MEGA_80GB", "TPU_V2", "TPU_V3", "TPU_V4_POD", @@ -31824,6 +33312,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -31837,6 +33326,7 @@ "Nvidia A100 80GB GPU.", "Nvidia L4 GPU.", "Nvidia H100 80Gb GPU.", + "Nvidia H100 Mega 80Gb GPU.", "TPU v2.", "TPU v3.", "TPU v4.", @@ -32040,6 +33530,84 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1MetricxInput": { + "description": "Input for MetricX metric.", + "id": "GoogleCloudAiplatformV1beta1MetricxInput", + "properties": { + "instance": { + "$ref": "GoogleCloudAiplatformV1beta1MetricxInstance", + "description": "Required. Metricx instance." + }, + "metricSpec": { + "$ref": "GoogleCloudAiplatformV1beta1MetricxSpec", + "description": "Required. Spec for Metricx metric." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1MetricxInstance": { + "description": "Spec for MetricX instance - The fields used for evaluation are dependent on the MetricX version.", + "id": "GoogleCloudAiplatformV1beta1MetricxInstance", + "properties": { + "prediction": { + "description": "Required. Output of the evaluated model.", + "type": "string" + }, + "reference": { + "description": "Optional. Ground truth used to compare against the prediction.", + "type": "string" + }, + "source": { + "description": "Optional. Source text in original language.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1MetricxResult": { + "description": "Spec for MetricX result - calculates the MetricX score for the given instance using the version specified in the spec.", + "id": "GoogleCloudAiplatformV1beta1MetricxResult", + "properties": { + "score": { + "description": "Output only. MetricX score. Range depends on version.", + "format": "float", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1MetricxSpec": { + "description": "Spec for MetricX metric.", + "id": "GoogleCloudAiplatformV1beta1MetricxSpec", + "properties": { + "sourceLanguage": { + "description": "Optional. Source language in BCP-47 format.", + "type": "string" + }, + "targetLanguage": { + "description": "Optional. Target language in BCP-47 format. Covers both prediction and reference.", + "type": "string" + }, + "version": { + "description": "Required. Which version to use for evaluation.", + "enum": [ + "METRICX_VERSION_UNSPECIFIED", + "METRICX_24_REF", + "METRICX_24_SRC", + "METRICX_24_SRC_REF" + ], + "enumDescriptions": [ + "MetricX version unspecified.", + "MetricX 2024 (2.6) for translation + reference (reference-based).", + "MetricX 2024 (2.6) for translation + source (QE).", + "MetricX 2024 (2.6) for translation + source + reference (source-reference-combined)." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1MigratableResource": { "description": "Represents one resource that exists in automl.googleapis.com, datalabeling.googleapis.com or ml.googleapis.com.", "id": "GoogleCloudAiplatformV1beta1MigratableResource", @@ -32533,6 +34101,10 @@ "description": "Required. Immutable. URI of the Docker image to be used as the custom container for serving predictions. This URI must identify an image in Artifact Registry or Container Registry. Learn more about the [container publishing requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#publishing), including permissions requirements for the Vertex AI Service Agent. The container image is ingested upon ModelService.UploadModel, stored internally, and this original path is afterwards not used. To learn about the requirements for the Docker image itself, see [Custom container requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#). You can use the URI to one of Vertex AI's [pre-built container images for prediction](https://cloud.google.com/vertex-ai/docs/predictions/pre-built-containers) in this field.", "type": "string" }, + "livenessProbe": { + "$ref": "GoogleCloudAiplatformV1beta1Probe", + "description": "Immutable. Specification for Kubernetes liveness probe." + }, "ports": { "description": "Immutable. List of ports to expose from the container. Vertex AI sends any prediction requests that it receives to the first port on this list. Vertex AI also sends [liveness and health checks](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#liveness) to this port. If you do not specify this field, it defaults to following value: ```json [ { \"containerPort\": 8080 } ] ``` Vertex AI does not use ports other than the first one listed. This field corresponds to the `ports` field of the Kubernetes Containers [v1 core API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).", "items": { @@ -33225,7 +34797,7 @@ "description": "Email alert config." }, "enableLogging": { - "description": "Dump the anomalies to Cloud Logging. The anomalies will be put to json payload encoded from proto google.cloud.aiplatform.logging.ModelMonitoringAnomaliesLogEntry. This can be further sinked to Pub/Sub or any other services supported by Cloud Logging.", + "description": "Dump the anomalies to Cloud Logging. The anomalies will be put to json payload encoded from proto ModelMonitoringStatsAnomalies. This can be further synced to Pub/Sub or any other services supported by Cloud Logging.", "type": "boolean" }, "notificationChannels": { @@ -34981,6 +36553,10 @@ "readOnly": true, "type": "string" }, + "customEnvironmentSpec": { + "$ref": "GoogleCloudAiplatformV1beta1NotebookExecutionJobCustomEnvironmentSpec", + "description": "The custom compute configuration for an execution job." + }, "dataformRepositorySource": { "$ref": "GoogleCloudAiplatformV1beta1NotebookExecutionJobDataformRepositorySource", "description": "The Dataform Repository pointing to a single file notebook repository." @@ -34995,7 +36571,7 @@ }, "encryptionSpec": { "$ref": "GoogleCloudAiplatformV1beta1EncryptionSpec", - "description": "Customer-managed encryption key spec for the notebook execution job. This field is auto-populated if the NotebookService.NotebookRuntimeTemplate has an encryption spec." + "description": "Customer-managed encryption key spec for the notebook execution job. This field is auto-populated if the NotebookRuntimeTemplate has an encryption spec." }, "executionTimeout": { "description": "Max running time of the execution job in seconds (default 86400s / 24 hrs).", @@ -35047,6 +36623,10 @@ "readOnly": true, "type": "string" }, + "kernelName": { + "description": "The name of the kernel to use during notebook execution. If unset, the default kernel is used.", + "type": "string" + }, "labels": { "additionalProperties": { "type": "string" @@ -35082,6 +36662,29 @@ "format": "google-datetime", "readOnly": true, "type": "string" + }, + "workbenchRuntime": { + "$ref": "GoogleCloudAiplatformV1beta1NotebookExecutionJobWorkbenchRuntime", + "description": "The Workbench runtime configuration to use for the notebook execution." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1NotebookExecutionJobCustomEnvironmentSpec": { + "description": "Compute configuration to use for an execution job.", + "id": "GoogleCloudAiplatformV1beta1NotebookExecutionJobCustomEnvironmentSpec", + "properties": { + "machineSpec": { + "$ref": "GoogleCloudAiplatformV1beta1MachineSpec", + "description": "The specification of a single machine for the execution job." + }, + "networkSpec": { + "$ref": "GoogleCloudAiplatformV1beta1NetworkSpec", + "description": "The network configuration to use for the execution job." + }, + "persistentDiskSpec": { + "$ref": "GoogleCloudAiplatformV1beta1PersistentDiskSpec", + "description": "The specification of a persistent disk to attach for the execution job." } }, "type": "object" @@ -35128,6 +36731,12 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1NotebookExecutionJobWorkbenchRuntime": { + "description": "Configuration for a Workbench Instances-based environment.", + "id": "GoogleCloudAiplatformV1beta1NotebookExecutionJobWorkbenchRuntime", + "properties": {}, + "type": "object" + }, "GoogleCloudAiplatformV1beta1NotebookIdleShutdownConfig": { "description": "The idle shutdown configuration of NotebookRuntimeTemplate, which contains the idle_timeout as required field.", "id": "GoogleCloudAiplatformV1beta1NotebookIdleShutdownConfig", @@ -35154,6 +36763,11 @@ "readOnly": true, "type": "string" }, + "dataPersistentDiskSpec": { + "$ref": "GoogleCloudAiplatformV1beta1PersistentDiskSpec", + "description": "Output only. The specification of persistent disk attached to the notebook runtime as data disk storage.", + "readOnly": true + }, "description": { "description": "The description of the NotebookRuntime.", "type": "string" @@ -35167,6 +36781,11 @@ "description": "Output only. Customer-managed encryption key spec for the notebook runtime.", "readOnly": true }, + "eucConfig": { + "$ref": "GoogleCloudAiplatformV1beta1NotebookEucConfig", + "description": "Output only. EUC configuration of the notebook runtime.", + "readOnly": true + }, "expirationTime": { "description": "Output only. Timestamp when this NotebookRuntime will be expired: 1. System Predefined NotebookRuntime: 24 hours after creation. After expiration, system predifined runtime will be deleted. 2. User created NotebookRuntime: 6 months after last upgrade. After expiration, user created runtime will be stopped and allowed for upgrade.", "format": "google-datetime", @@ -35205,11 +36824,21 @@ "description": "The labels with user-defined metadata to organize your NotebookRuntime. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one NotebookRuntime (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with \"aiplatform.googleapis.com/\" and are immutable. Following system labels exist for NotebookRuntime: * \"aiplatform.googleapis.com/notebook_runtime_gce_instance_id\": output only, its value is the Compute Engine instance id. * \"aiplatform.googleapis.com/colab_enterprise_entry_service\": its value is either \"bigquery\" or \"vertex\"; if absent, it should be \"vertex\". This is to describe the entry service, either BigQuery or Vertex.", "type": "object" }, + "machineSpec": { + "$ref": "GoogleCloudAiplatformV1beta1MachineSpec", + "description": "Output only. The specification of a single machine used by the notebook runtime.", + "readOnly": true + }, "name": { "description": "Output only. The resource name of the NotebookRuntime.", "readOnly": true, "type": "string" }, + "networkSpec": { + "$ref": "GoogleCloudAiplatformV1beta1NetworkSpec", + "description": "Output only. Network spec of the notebook runtime.", + "readOnly": true + }, "networkTags": { "description": "Optional. The Compute Engine tags to add to runtime (see [Tagging instances](https://cloud.google.com/vpc/docs/add-remove-network-tags)).", "items": { @@ -35282,10 +36911,15 @@ "type": "boolean" }, "serviceAccount": { - "description": "Output only. The service account that the NotebookRuntime workload runs as.", + "description": "Output only. Deprecated: This field is no longer used and the \"Vertex AI Notebook Service Account\" (service-PROJECT_NUMBER@gcp-sa-aiplatform-vm.iam.gserviceaccount.com) is used for the runtime workload identity. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-notebook-service-account for more details. The service account that the NotebookRuntime workload runs as.", "readOnly": true, "type": "string" }, + "shieldedVmConfig": { + "$ref": "GoogleCloudAiplatformV1beta1ShieldedVmConfig", + "description": "Output only. Runtime Shielded VM spec.", + "readOnly": true + }, "updateTime": { "description": "Output only. Timestamp when this NotebookRuntime was most recently updated.", "format": "google-datetime", @@ -35339,7 +36973,8 @@ "description": "The idle shutdown configuration of NotebookRuntimeTemplate. This config will only be set when idle shutdown is enabled." }, "isDefault": { - "description": "Output only. The default template to use if not specified.", + "deprecated": true, + "description": "Output only. Deprecated: This field has no behavior. Use notebook_runtime_type = 'ONE_CLICK' instead. The default template to use if not specified.", "readOnly": true, "type": "boolean" }, @@ -35384,7 +37019,8 @@ "type": "string" }, "serviceAccount": { - "description": "The service account that the runtime workload runs as. You can use any service account within the same project, but you must have the service account user permission to use the instance. If not specified, the [Compute Engine default service account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used.", + "deprecated": true, + "description": "Deprecated: This field is ignored and the \"Vertex AI Notebook Service Account\" (service-PROJECT_NUMBER@gcp-sa-aiplatform-vm.iam.gserviceaccount.com) is used for the runtime workload identity. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-notebook-service-account for more details. For NotebookExecutionJob, use NotebookExecutionJob.service_account instead. The service account that the runtime workload runs as. You can use any service account within the same project, but you must have the service account user permission to use the instance. If not specified, the [Compute Engine default service account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used.", "type": "string" }, "shieldedVmConfig": { @@ -35682,6 +37318,14 @@ "description": "A datatype containing media that is part of a multi-part `Content` message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. A `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.", "id": "GoogleCloudAiplatformV1beta1Part", "properties": { + "codeExecutionResult": { + "$ref": "GoogleCloudAiplatformV1beta1CodeExecutionResult", + "description": "Optional. Result of executing the [ExecutableCode]." + }, + "executableCode": { + "$ref": "GoogleCloudAiplatformV1beta1ExecutableCode", + "description": "Optional. Code generated by the model that is meant to be executed." + }, "fileData": { "$ref": "GoogleCloudAiplatformV1beta1FileData", "description": "Optional. URI based data." @@ -35702,6 +37346,10 @@ "description": "Optional. Text part (can be code).", "type": "string" }, + "thought": { + "description": "Optional. Indicates if the part is thought from the model.", + "type": "boolean" + }, "videoMetadata": { "$ref": "GoogleCloudAiplatformV1beta1VideoMetadata", "description": "Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data." @@ -35709,6 +37357,28 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1PartnerModelTuningSpec": { + "description": "Tuning spec for Partner models.", + "id": "GoogleCloudAiplatformV1beta1PartnerModelTuningSpec", + "properties": { + "hyperParameters": { + "additionalProperties": { + "type": "any" + }, + "description": "Hyperparameters for tuning. The accepted hyper_parameters and their valid range of values will differ depending on the base model.", + "type": "object" + }, + "trainingDatasetUri": { + "description": "Required. Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file.", + "type": "string" + }, + "validationDatasetUri": { + "description": "Optional. Cloud Storage path to file containing validation dataset for tuning. The dataset must be formatted as a JSONL file.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1PauseModelDeploymentMonitoringJobRequest": { "description": "Request message for JobService.PauseModelDeploymentMonitoringJob.", "id": "GoogleCloudAiplatformV1beta1PauseModelDeploymentMonitoringJobRequest", @@ -35901,9 +37571,8 @@ "type": "string" }, "originalPipelineJobId": { - "description": "Output only. The original pipeline job id if this pipeline job is a rerun of a previous pipeline job.", + "description": "Optional. The original pipeline job id if this pipeline job is a rerun of a previous pipeline job.", "format": "int64", - "readOnly": true, "type": "string" }, "pipelineSpec": { @@ -35915,17 +37584,20 @@ "type": "object" }, "pipelineTaskRerunConfigs": { - "description": "Output only. The rerun configs for each task in the pipeline job. By default, the rerun will: 1. Use the same input artifacts as the original run. 2. Use the same input parameters as the original run. 3. Skip all the tasks that are already succeeded in the original run. 4. Rerun all the tasks that are not succeeded in the original run. By providing this field, users can override the default behavior and specify the rerun config for each task.", + "description": "Optional. The rerun configs for each task in the pipeline job. By default, the rerun will: 1. Use the same input artifacts as the original run. 2. Use the same input parameters as the original run. 3. Skip all the tasks that are already succeeded in the original run. 4. Rerun all the tasks that are not succeeded in the original run. By providing this field, users can override the default behavior and specify the rerun config for each task.", "items": { "$ref": "GoogleCloudAiplatformV1beta1PipelineTaskRerunConfig" }, - "readOnly": true, "type": "array" }, "preflightValidations": { "description": "Optional. Whether to do component level validations before job creation.", "type": "boolean" }, + "pscInterfaceConfig": { + "$ref": "GoogleCloudAiplatformV1beta1PscInterfaceConfig", + "description": "Optional. Configuration for PSC-I for PipelineJob." + }, "reservedIpRanges": { "description": "A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range'].", "items": { @@ -36036,6 +37708,10 @@ "description": "The runtime config of a PipelineJob.", "id": "GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfig", "properties": { + "defaultRuntime": { + "$ref": "GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigDefaultRuntime", + "description": "Optional. The default runtime for the PipelineJob. If not set, Standard Vertex Custom Job(https://cloud.google.com/vertex-ai/docs/training/overview) is used as the runtime. If set, all pipeline tasks will run on the default runtime unless a task is a GCPC custom job component (https://cloud.google.com/vertex-ai/docs/pipelines/customjob-component) based task. If the task is based on a GCPC custom job component, it runs solely according to the component's configuration." + }, "failurePolicy": { "description": "Represents the failure policy of a pipeline. Currently, the default of a pipeline is that the pipeline will continue to run until no more tasks can be executed, also known as PIPELINE_FAILURE_POLICY_FAIL_SLOW. However, if a pipeline is set to PIPELINE_FAILURE_POLICY_FAIL_FAST, it will stop scheduling any new tasks when a task has failed. Any scheduled tasks will continue to completion.", "enum": [ @@ -36079,6 +37755,17 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigDefaultRuntime": { + "description": "The default runtime for the PipelineJob.", + "id": "GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigDefaultRuntime", + "properties": { + "persistentResourceRuntimeDetail": { + "$ref": "GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigPersistentResourceRuntimeDetail", + "description": "Persistent resource based runtime detail." + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifact": { "description": "The type of an input artifact.", "id": "GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigInputArtifact", @@ -36090,6 +37777,36 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigPersistentResourceRuntimeDetail": { + "description": "Persistent resource based runtime detail. For more information about persistent resource, refer to https://cloud.google.com/vertex-ai/docs/training/persistent-resource-overview", + "id": "GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigPersistentResourceRuntimeDetail", + "properties": { + "persistentResourceName": { + "description": "Persistent resource name. Format: `projects/{project}/locations/{location}/persistentResources/{persistent_resource}`", + "type": "string" + }, + "taskResourceUnavailableTimeoutBehavior": { + "description": "Specifies the behavior to take if the timeout is reached.", + "enum": [ + "TASK_RESOURCE_UNAVAILABLE_TIMEOUT_BEHAVIOR_UNSPECIFIED", + "FAIL", + "FALL_BACK_TO_ON_DEMAND" + ], + "enumDescriptions": [ + "Unspecified. Behavior is same as `FAIL`.", + "Fail the task if the timeout is reached.", + "Fall back to on-demand execution if the timeout is reached." + ], + "type": "string" + }, + "taskResourceUnavailableWaitTimeMs": { + "description": "The max time a pipeline task waits for the required CPU, memory, or accelerator resource to become available from the specified persistent resource. Default wait time is 0.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1PipelineTaskDetail": { "description": "The runtime detail of a task execution.", "id": "GoogleCloudAiplatformV1beta1PipelineTaskDetail", @@ -36338,28 +38055,23 @@ "properties": { "inputs": { "$ref": "GoogleCloudAiplatformV1beta1PipelineTaskRerunConfigInputs", - "description": "Output only. The runtime input of the task overridden by the user.", - "readOnly": true + "description": "Optional. The runtime input of the task overridden by the user." }, "skipDownstreamTasks": { - "description": "Output only. Whether to skip downstream tasks. Default value is False.", - "readOnly": true, + "description": "Optional. Whether to skip downstream tasks. Default value is False.", "type": "boolean" }, "skipTask": { - "description": "Output only. Whether to skip this task. Default value is False.", - "readOnly": true, + "description": "Optional. Whether to skip this task. Default value is False.", "type": "boolean" }, "taskId": { - "description": "Output only. The system generated ID of the task. Retrieved from original run.", + "description": "Optional. The system generated ID of the task. Retrieved from original run.", "format": "int64", - "readOnly": true, "type": "string" }, "taskName": { - "description": "Output only. The name of the task.", - "readOnly": true, + "description": "Optional. The name of the task.", "type": "string" } }, @@ -36370,11 +38082,10 @@ "id": "GoogleCloudAiplatformV1beta1PipelineTaskRerunConfigArtifactList", "properties": { "artifacts": { - "description": "Output only. A list of artifact metadata.", + "description": "Optional. A list of artifact metadata.", "items": { "$ref": "GoogleCloudAiplatformV1beta1RuntimeArtifact" }, - "readOnly": true, "type": "array" } }, @@ -36388,16 +38099,14 @@ "additionalProperties": { "$ref": "GoogleCloudAiplatformV1beta1PipelineTaskRerunConfigArtifactList" }, - "description": "Output only. Input artifacts.", - "readOnly": true, + "description": "Optional. Input artifacts.", "type": "object" }, "parameterValues": { "additionalProperties": { "type": "any" }, - "description": "Output only. Input parameters.", - "readOnly": true, + "description": "Optional. Input parameters.", "type": "object" } }, @@ -36481,6 +38190,17 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1PrebuiltVoiceConfig": { + "description": "The configuration for the prebuilt speaker to use.", + "id": "GoogleCloudAiplatformV1beta1PrebuiltVoiceConfig", + "properties": { + "voiceName": { + "description": "The name of the preset voice to use.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1PredefinedSplit": { "description": "Assigns input data to training, validation, and test sets based on the value of a provided key. Supported only for tabular Datasets.", "id": "GoogleCloudAiplatformV1beta1PredefinedSplit", @@ -36498,6 +38218,24 @@ "properties": {}, "type": "object" }, + "GoogleCloudAiplatformV1beta1PredictLongRunningRequest": { + "description": "Request message for PredictionService.PredictLongRunning.", + "id": "GoogleCloudAiplatformV1beta1PredictLongRunningRequest", + "properties": { + "instances": { + "description": "Required. The instances that are the input to the prediction call. A DeployedModel may have an upper limit on the number of instances it supports per request, and when it is exceeded the prediction call errors in case of AutoML Models, or, in case of customer created Models, the behaviour is as documented by that Model. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri.", + "items": { + "type": "any" + }, + "type": "array" + }, + "parameters": { + "description": "Optional. The parameters that govern the prediction. The schema of the parameters may be specified via Endpoint's DeployedModels' Model's PredictSchemata's parameters_schema_uri.", + "type": "any" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1PredictLongRunningResponse": { "description": "Response message for [PredictionService.PredictLongRunning]", "id": "GoogleCloudAiplatformV1beta1PredictLongRunningResponse", @@ -36701,11 +38439,23 @@ "$ref": "GoogleCloudAiplatformV1beta1ProbeExecAction", "description": "ExecAction probes the health of a container by executing a command." }, + "grpc": { + "$ref": "GoogleCloudAiplatformV1beta1ProbeGrpcAction", + "description": "GrpcAction probes the health of a container by sending a gRPC request." + }, + "httpGet": { + "$ref": "GoogleCloudAiplatformV1beta1ProbeHttpGetAction", + "description": "HttpGetAction probes the health of a container by sending an HTTP GET request." + }, "periodSeconds": { "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Must be less than timeout_seconds. Maps to Kubernetes probe argument 'periodSeconds'.", "format": "int32", "type": "integer" }, + "tcpSocket": { + "$ref": "GoogleCloudAiplatformV1beta1ProbeTcpSocketAction", + "description": "TcpSocketAction probes the health of a container by opening a TCP socket connection." + }, "timeoutSeconds": { "description": "Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Must be greater or equal to period_seconds. Maps to Kubernetes probe argument 'timeoutSeconds'.", "format": "int32", @@ -36728,6 +38478,84 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1ProbeGrpcAction": { + "description": "GrpcAction checks the health of a container using a gRPC service.", + "id": "GoogleCloudAiplatformV1beta1ProbeGrpcAction", + "properties": { + "port": { + "description": "Port number of the gRPC service. Number must be in the range 1 to 65535.", + "format": "int32", + "type": "integer" + }, + "service": { + "description": "Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). If this is not specified, the default behavior is defined by gRPC.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1ProbeHttpGetAction": { + "description": "HttpGetAction describes an action based on HTTP Get requests.", + "id": "GoogleCloudAiplatformV1beta1ProbeHttpGetAction", + "properties": { + "host": { + "description": "Host name to connect to, defaults to the model serving container's IP. You probably want to set \"Host\" in httpHeaders instead.", + "type": "string" + }, + "httpHeaders": { + "description": "Custom headers to set in the request. HTTP allows repeated headers.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1ProbeHttpHeader" + }, + "type": "array" + }, + "path": { + "description": "Path to access on the HTTP server.", + "type": "string" + }, + "port": { + "description": "Number of the port to access on the container. Number must be in the range 1 to 65535.", + "format": "int32", + "type": "integer" + }, + "scheme": { + "description": "Scheme to use for connecting to the host. Defaults to HTTP. Acceptable values are \"HTTP\" or \"HTTPS\".", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1ProbeHttpHeader": { + "description": "HttpHeader describes a custom header to be used in HTTP probes", + "id": "GoogleCloudAiplatformV1beta1ProbeHttpHeader", + "properties": { + "name": { + "description": "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header.", + "type": "string" + }, + "value": { + "description": "The header field value", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1ProbeTcpSocketAction": { + "description": "TcpSocketAction probes the health of a container by opening a TCP socket connection.", + "id": "GoogleCloudAiplatformV1beta1ProbeTcpSocketAction", + "properties": { + "host": { + "description": "Optional: Host name to connect to, defaults to the model serving container's IP.", + "type": "string" + }, + "port": { + "description": "Number of the port to access on the container. Number must be in the range 1 to 65535.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1PscAutomatedEndpoints": { "description": "PscAutomatedEndpoints defines the output of the forwarding rule automatically created by each PscAutomationConfig.", "id": "GoogleCloudAiplatformV1beta1PscAutomatedEndpoints", @@ -36752,7 +38580,7 @@ "id": "GoogleCloudAiplatformV1beta1PscInterfaceConfig", "properties": { "networkAttachment": { - "description": "Optional. The full name of the Compute Engine [network attachment](https://cloud.google.com/vpc/docs/about-network-attachments) to attach to the resource. For example, `projects/12345/regions/us-central1/networkAttachments/myNA`. is of the form `projects/{project}/regions/{region}/networkAttachments/{networkAttachment}`. Where {project} is a project number, as in `12345`, and {networkAttachment} is a network attachment name. To specify this field, you must have already [created a network attachment] (https://cloud.google.com/vpc/docs/create-manage-network-attachments#create-network-attachments). This field is only used for resources using PSC-I.", + "description": "Optional. The name of the Compute Engine [network attachment](https://cloud.google.com/vpc/docs/about-network-attachments) to attach to the resource within the region and user project. To specify this field, you must have already [created a network attachment] (https://cloud.google.com/vpc/docs/create-manage-network-attachments#create-network-attachments). This field is only used for resources using PSC-I.", "type": "string" } }, @@ -36973,7 +38801,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. Labels for the deployment. For managing deployment config like verifying, source of deployment config, etc.", + "description": "Optional. Labels for the deployment config. For managing deployment config like verifying, source of deployment config, etc.", "type": "object" }, "sampleRequest": { @@ -37385,6 +39213,10 @@ "description": "Request message for ReasoningEngineExecutionService.Query.", "id": "GoogleCloudAiplatformV1beta1QueryReasoningEngineRequest", "properties": { + "classMethod": { + "description": "Optional. Class method to be used for the query. It is optional and defaults to \"query\" if unspecified.", + "type": "string" + }, "input": { "additionalProperties": { "description": "Properties of the object.", @@ -37738,15 +39570,26 @@ "id": "GoogleCloudAiplatformV1beta1RagContextsContext", "properties": { "distance": { + "deprecated": true, "description": "The distance between the query dense embedding vector and the context text vector.", "format": "double", "type": "number" }, + "score": { + "description": "According to the underlying Vector DB and the selected metric type, the score can be either the distance or the similarity between the query and the context and its range depends on the metric type. For example, if the metric type is COSINE_DISTANCE, it represents the distance between the query and the context. The larger the distance, the less relevant the context is to the query. The range is [0, 2], while 0 means the most relevant and 2 means the least relevant.", + "format": "double", + "type": "number" + }, + "sourceDisplayName": { + "description": "The file display name.", + "type": "string" + }, "sourceUri": { "description": "If the file is imported from Cloud Storage or Google Drive, source_uri will be original file URI in Cloud Storage or Google Drive; if file is uploaded, source_uri will be file display name.", "type": "string" }, "sparseDistance": { + "deprecated": true, "description": "The distance between the query sparse embedding vector and the context text vector.", "format": "double", "type": "number" @@ -37788,10 +39631,12 @@ }, "ragEmbeddingModelConfig": { "$ref": "GoogleCloudAiplatformV1beta1RagEmbeddingModelConfig", + "deprecated": true, "description": "Optional. Immutable. The embedding model config of the RagCorpus." }, "ragVectorDbConfig": { "$ref": "GoogleCloudAiplatformV1beta1RagVectorDbConfig", + "deprecated": true, "description": "Optional. Immutable. The Vector DB config of the RagCorpus." }, "updateTime": { @@ -37799,6 +39644,14 @@ "format": "google-datetime", "readOnly": true, "type": "string" + }, + "vectorDbConfig": { + "$ref": "GoogleCloudAiplatformV1beta1RagVectorDbConfig", + "description": "Optional. Immutable. The config for the Vector DBs." + }, + "vertexAiSearchConfig": { + "$ref": "GoogleCloudAiplatformV1beta1VertexAiSearchConfig", + "description": "Optional. Immutable. The config for the Vertex AI Search." } }, "type": "object" @@ -37974,6 +39827,29 @@ "GoogleCloudAiplatformV1beta1RagFileChunkingConfig": { "description": "Specifies the size and overlap of chunks for RagFiles.", "id": "GoogleCloudAiplatformV1beta1RagFileChunkingConfig", + "properties": { + "chunkOverlap": { + "deprecated": true, + "description": "The overlap between chunks.", + "format": "int32", + "type": "integer" + }, + "chunkSize": { + "deprecated": true, + "description": "The size of the chunks.", + "format": "int32", + "type": "integer" + }, + "fixedLengthChunking": { + "$ref": "GoogleCloudAiplatformV1beta1RagFileChunkingConfigFixedLengthChunking", + "description": "Specifies the fixed length chunking config." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1RagFileChunkingConfigFixedLengthChunking": { + "description": "Specifies the fixed length chunking config.", + "id": "GoogleCloudAiplatformV1beta1RagFileChunkingConfigFixedLengthChunking", "properties": { "chunkOverlap": { "description": "The overlap between chunks.", @@ -37992,22 +39868,99 @@ "description": "Specifies the parsing config for RagFiles.", "id": "GoogleCloudAiplatformV1beta1RagFileParsingConfig", "properties": { + "advancedParser": { + "$ref": "GoogleCloudAiplatformV1beta1RagFileParsingConfigAdvancedParser", + "description": "The Advanced Parser to use for RagFiles." + }, + "layoutParser": { + "$ref": "GoogleCloudAiplatformV1beta1RagFileParsingConfigLayoutParser", + "description": "The Layout Parser to use for RagFiles." + }, + "llmParser": { + "$ref": "GoogleCloudAiplatformV1beta1RagFileParsingConfigLlmParser", + "description": "The LLM Parser to use for RagFiles." + }, "useAdvancedPdfParsing": { + "deprecated": true, "description": "Whether to use advanced PDF parsing.", "type": "boolean" } }, "type": "object" }, + "GoogleCloudAiplatformV1beta1RagFileParsingConfigAdvancedParser": { + "description": "Specifies the advanced parsing for RagFiles.", + "id": "GoogleCloudAiplatformV1beta1RagFileParsingConfigAdvancedParser", + "properties": { + "useAdvancedPdfParsing": { + "description": "Whether to use advanced PDF parsing.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1RagFileParsingConfigLayoutParser": { + "description": "Document AI Layout Parser config.", + "id": "GoogleCloudAiplatformV1beta1RagFileParsingConfigLayoutParser", + "properties": { + "maxParsingRequestsPerMin": { + "description": "The maximum number of requests the job is allowed to make to the Document AI processor per minute. Consult https://cloud.google.com/document-ai/quotas and the Quota page for your project to set an appropriate value here. If unspecified, a default value of 120 QPM would be used.", + "format": "int32", + "type": "integer" + }, + "processorName": { + "description": "The full resource name of a Document AI processor or processor version. The processor must have type `LAYOUT_PARSER_PROCESSOR`. If specified, the `additional_config.parse_as_scanned_pdf` field must be false. Format: * `projects/{project_id}/locations/{location}/processors/{processor_id}` * `projects/{project_id}/locations/{location}/processors/{processor_id}/processorVersions/{processor_version_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1RagFileParsingConfigLlmParser": { + "description": "Specifies the advanced parsing for RagFiles.", + "id": "GoogleCloudAiplatformV1beta1RagFileParsingConfigLlmParser", + "properties": { + "customParsingPrompt": { + "description": "The prompt to use for parsing. If not specified, a default prompt will be used.", + "type": "string" + }, + "maxParsingRequestsPerMin": { + "description": "The maximum number of requests the job is allowed to make to the LLM model per minute. Consult https://cloud.google.com/vertex-ai/generative-ai/docs/quotas and your document size to set an appropriate value here. If unspecified, a default value of 5000 QPM would be used.", + "format": "int32", + "type": "integer" + }, + "modelName": { + "description": "The name of a LLM model used for parsing. Format: `gemini-1.5-pro-002`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1RagFileTransformationConfig": { + "description": "Specifies the transformation config for RagFiles.", + "id": "GoogleCloudAiplatformV1beta1RagFileTransformationConfig", + "properties": { + "ragFileChunkingConfig": { + "$ref": "GoogleCloudAiplatformV1beta1RagFileChunkingConfig", + "description": "Specifies the chunking config for RagFiles." + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1RagQuery": { "description": "A query to retrieve relevant contexts.", "id": "GoogleCloudAiplatformV1beta1RagQuery", "properties": { + "ragRetrievalConfig": { + "$ref": "GoogleCloudAiplatformV1beta1RagRetrievalConfig", + "description": "Optional. The retrieval config for the query." + }, "ranking": { "$ref": "GoogleCloudAiplatformV1beta1RagQueryRanking", + "deprecated": true, "description": "Optional. Configurations for hybrid search results ranking." }, "similarityTopK": { + "deprecated": true, "description": "Optional. The number of contexts to retrieve.", "format": "int32", "type": "integer" @@ -38031,6 +39984,100 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1RagRetrievalConfig": { + "description": "Specifies the context retrieval config.", + "id": "GoogleCloudAiplatformV1beta1RagRetrievalConfig", + "properties": { + "filter": { + "$ref": "GoogleCloudAiplatformV1beta1RagRetrievalConfigFilter", + "description": "Optional. Config for filters." + }, + "hybridSearch": { + "$ref": "GoogleCloudAiplatformV1beta1RagRetrievalConfigHybridSearch", + "description": "Optional. Config for Hybrid Search." + }, + "ranking": { + "$ref": "GoogleCloudAiplatformV1beta1RagRetrievalConfigRanking", + "description": "Optional. Config for ranking and reranking." + }, + "topK": { + "description": "Optional. The number of contexts to retrieve.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1RagRetrievalConfigFilter": { + "description": "Config for filters.", + "id": "GoogleCloudAiplatformV1beta1RagRetrievalConfigFilter", + "properties": { + "metadataFilter": { + "description": "Optional. String for metadata filtering.", + "type": "string" + }, + "vectorDistanceThreshold": { + "description": "Optional. Only returns contexts with vector distance smaller than the threshold.", + "format": "double", + "type": "number" + }, + "vectorSimilarityThreshold": { + "description": "Optional. Only returns contexts with vector similarity larger than the threshold.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1RagRetrievalConfigHybridSearch": { + "description": "Config for Hybrid Search.", + "id": "GoogleCloudAiplatformV1beta1RagRetrievalConfigHybridSearch", + "properties": { + "alpha": { + "description": "Optional. Alpha value controls the weight between dense and sparse vector search results. The range is [0, 1], while 0 means sparse vector search only and 1 means dense vector search only. The default value is 0.5 which balances sparse and dense vector search equally.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1RagRetrievalConfigRanking": { + "description": "Config for ranking and reranking.", + "id": "GoogleCloudAiplatformV1beta1RagRetrievalConfigRanking", + "properties": { + "llmRanker": { + "$ref": "GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingLlmRanker", + "description": "Optional. Config for LlmRanker." + }, + "rankService": { + "$ref": "GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingRankService", + "description": "Optional. Config for Rank Service." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingLlmRanker": { + "description": "Config for LlmRanker.", + "id": "GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingLlmRanker", + "properties": { + "modelName": { + "description": "Optional. The model name used for ranking. Format: `gemini-1.5-pro`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingRankService": { + "description": "Config for Rank Service.", + "id": "GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingRankService", + "properties": { + "modelName": { + "description": "Optional. The model name of the rank service. Format: `semantic-ranker-512@latest`", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1RagVectorDbConfig": { "description": "Config for the Vector DB to use for RAG.", "id": "GoogleCloudAiplatformV1beta1RagVectorDbConfig", @@ -38043,6 +40090,10 @@ "$ref": "GoogleCloudAiplatformV1beta1RagVectorDbConfigPinecone", "description": "The config for the Pinecone." }, + "ragEmbeddingModelConfig": { + "$ref": "GoogleCloudAiplatformV1beta1RagEmbeddingModelConfig", + "description": "Optional. Immutable. The embedding model config of the Vector DB." + }, "ragManagedDb": { "$ref": "GoogleCloudAiplatformV1beta1RagVectorDbConfigRagManagedDb", "description": "The config for the RAG-managed Vector DB." @@ -38165,6 +40216,13 @@ "description": "Optional. Default image for user to choose a preferred ML framework (for example, TensorFlow or Pytorch) by choosing from [Vertex prebuilt images](https://cloud.google.com/vertex-ai/docs/training/pre-built-containers). Either this or the resource_pool_images is required. Use this field if you need all the resource pools to have the same Ray image. Otherwise, use the {@code resource_pool_images} field.", "type": "string" }, + "nfsMounts": { + "description": "Optional. Use if you want to mount to any NFS storages.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1NfsMount" + }, + "type": "array" + }, "rayLogsSpec": { "$ref": "GoogleCloudAiplatformV1beta1RayLogsSpec", "description": "Optional. OSS Ray logging configurations." @@ -38432,7 +40490,7 @@ "id": "GoogleCloudAiplatformV1beta1ReasoningEngineSpec", "properties": { "classMethods": { - "description": "Optional. Declarations for object class methods.", + "description": "Optional. Declarations for object class methods in OpenAPI specification format.", "items": { "additionalProperties": { "description": "Properties of the object.", @@ -38833,6 +40891,18 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1RetrievalMetadata": { + "description": "Metadata related to retrieval in the grounding flow.", + "id": "GoogleCloudAiplatformV1beta1RetrievalMetadata", + "properties": { + "googleSearchDynamicRetrievalScore": { + "description": "Optional. Score indicating how likely information from Google Search could help answer the prompt. The score is in the range `[0, 1]`, where 0 is the least likely and 1 is the most likely. This score is only populated when Google Search grounding and dynamic retrieval is enabled. It will be compared to the threshold to determine whether to trigger Google Search.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1RetrieveContextsRequest": { "description": "Request message for VertexRagService.RetrieveContexts.", "id": "GoogleCloudAiplatformV1beta1RetrieveContextsRequest", @@ -38868,6 +40938,7 @@ "type": "array" }, "vectorDistanceThreshold": { + "deprecated": true, "description": "Optional. Only return contexts with vector distance smaller than the threshold.", "format": "double", "type": "number" @@ -39534,6 +41605,17 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1ScheduleConfig": { + "description": "Schedule configuration for the FeatureMonitor.", + "id": "GoogleCloudAiplatformV1beta1ScheduleConfig", + "properties": { + "cron": { + "description": "Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: \"CRON_TZ=${IANA_TIME_ZONE}\" or \"TZ=${IANA_TIME_ZONE}\". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, \"CRON_TZ=America/New_York 1 * * * *\", or \"TZ=America/New_York 1 * * * *\".", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1ScheduleRunResponse": { "description": "Status of a scheduled run.", "id": "GoogleCloudAiplatformV1beta1ScheduleRunResponse", @@ -39564,7 +41646,7 @@ "type": "string" }, "restartJobOnWorkerRestart": { - "description": "Restarts the entire CustomJob if a worker gets restarted. This feature can be used by distributed training jobs that are not resilient to workers leaving and joining a job.", + "description": "Optional. Restarts the entire CustomJob if a worker gets restarted. This feature can be used by distributed training jobs that are not resilient to workers leaving and joining a job.", "type": "boolean" }, "strategy": { @@ -39596,7 +41678,7 @@ "type": "string" }, "timeout": { - "description": "The maximum job running time. The default is 7 days.", + "description": "Optional. The maximum job running time. The default is 7 days.", "format": "google-duration", "type": "string" } @@ -39623,7 +41705,7 @@ "type": "string" }, "enum": { - "description": "Optional. Possible values of the element of Type.STRING with enum format. For example we can define an Enum Direction as : {type:STRING, format:enum, enum:[\"EAST\", NORTH\", \"SOUTH\", \"WEST\"]}", + "description": "Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:[\"EAST\", NORTH\", \"SOUTH\", \"WEST\"]} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:[\"101\", \"201\", \"301\"]}", "items": { "type": "string" }, @@ -40862,6 +42944,70 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1SchemaPredictParamsGroundingConfig": { + "description": "The configuration for grounding checking.", + "id": "GoogleCloudAiplatformV1beta1SchemaPredictParamsGroundingConfig", + "properties": { + "disableAttribution": { + "deprecated": true, + "description": "If set, skip finding claim attributions (i.e not generate grounding citation).", + "type": "boolean" + }, + "sources": { + "description": "The sources for the grounding checking.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPredictParamsGroundingConfigSourceEntry" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1SchemaPredictParamsGroundingConfigSourceEntry": { + "description": "Single source entry for the grounding checking.", + "id": "GoogleCloudAiplatformV1beta1SchemaPredictParamsGroundingConfigSourceEntry", + "properties": { + "enterpriseDatastore": { + "deprecated": true, + "description": "The uri of the Vertex AI Search data source. Deprecated. Use vertex_ai_search_datastore instead.", + "type": "string" + }, + "inlineContext": { + "description": "The grounding text passed inline with the Predict API. It can support up to 1 million bytes.", + "type": "string" + }, + "type": { + "description": "The type of the grounding checking source.", + "enum": [ + "UNSPECIFIED", + "WEB", + "ENTERPRISE", + "VERTEX_AI_SEARCH", + "INLINE" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false + ], + "enumDescriptions": [ + "", + "Uses Web Search to check the grounding.", + "Uses Vertex AI Search to check the grounding. Deprecated. Use VERTEX_AI_SEARCH instead.", + "Uses Vertex AI Search to check the grounding", + "Uses inline context to check the grounding." + ], + "type": "string" + }, + "vertexAiSearchDatastore": { + "description": "The uri of the Vertex AI Search data source.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1SchemaPredictParamsImageClassificationPredictionParams": { "description": "Prediction model parameters for Image Classification.", "id": "GoogleCloudAiplatformV1beta1SchemaPredictParamsImageClassificationPredictionParams", @@ -41469,6 +43615,312 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1SchemaPromptApiSchema": { + "description": "The A2 schema of a prompt.", + "id": "GoogleCloudAiplatformV1beta1SchemaPromptApiSchema", + "properties": { + "apiSchemaVersion": { + "description": "The Schema version that represents changes to the API behavior.", + "type": "string" + }, + "executions": { + "description": "A list of execution instances for constructing a ready-to-use prompt.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPromptInstancePromptExecution" + }, + "type": "array" + }, + "multimodalPrompt": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecMultimodalPrompt", + "description": "Multimodal prompt which embeds preambles to prompt string." + }, + "structuredPrompt": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecStructuredPrompt", + "description": "The prompt variation that stores preambles in separate fields." + }, + "translationPrompt": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationPrompt", + "description": "The prompt variation for Translation use case." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1SchemaPromptInstancePromptExecution": { + "description": "A prompt instance's parameters set that contains a set of variable values.", + "id": "GoogleCloudAiplatformV1beta1SchemaPromptInstancePromptExecution", + "properties": { + "arguments": { + "additionalProperties": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPromptInstanceVariableValue" + }, + "description": "Maps variable names to their value.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1SchemaPromptInstanceVariableValue": { + "description": "The value of a variable in prompt.", + "id": "GoogleCloudAiplatformV1beta1SchemaPromptInstanceVariableValue", + "properties": { + "partList": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecPartList", + "description": "The parts of the variable value." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1SchemaPromptSpecMultimodalPrompt": { + "description": "Prompt variation that embeds preambles to prompt string.", + "id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecMultimodalPrompt", + "properties": { + "promptMessage": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecPromptMessage", + "description": "The prompt message." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1SchemaPromptSpecPartList": { + "description": "A list of elements and information that make up a portion of prompt.", + "id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecPartList", + "properties": { + "parts": { + "description": "A list of elements that can be part of a prompt.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1Part" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1SchemaPromptSpecPromptMessage": { + "description": "The prompt message that aligns with the prompt message in google.cloud.aiplatform.master.GenerateContentRequest.", + "id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecPromptMessage", + "properties": { + "contents": { + "description": "The content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history + latest request.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1Content" + }, + "type": "array" + }, + "generationConfig": { + "$ref": "GoogleCloudAiplatformV1beta1GenerationConfig", + "description": "Generation config." + }, + "model": { + "description": "The model name.", + "type": "string" + }, + "safetySettings": { + "description": "Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1SafetySetting" + }, + "type": "array" + }, + "systemInstruction": { + "$ref": "GoogleCloudAiplatformV1beta1Content", + "description": "The user provided system instructions for the model. Note: only text should be used in parts and content in each part will be in a separate paragraph." + }, + "toolConfig": { + "$ref": "GoogleCloudAiplatformV1beta1ToolConfig", + "description": "Tool config. This config is shared for all tools provided in the request." + }, + "tools": { + "description": "A list of `Tools` the model may use to generate the next response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1Tool" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1SchemaPromptSpecReferenceSentencePair": { + "description": "A pair of sentences used as reference in source and target languages.", + "id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecReferenceSentencePair", + "properties": { + "sourceSentence": { + "description": "Source sentence in the sentence pair.", + "type": "string" + }, + "targetSentence": { + "description": "Target sentence in the sentence pair.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1SchemaPromptSpecReferenceSentencePairList": { + "description": "A list of reference sentence pairs.", + "id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecReferenceSentencePairList", + "properties": { + "referenceSentencePairs": { + "description": "Reference sentence pairs.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecReferenceSentencePair" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1SchemaPromptSpecStructuredPrompt": { + "description": "Prompt variation that stores preambles in separate fields.", + "id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecStructuredPrompt", + "properties": { + "context": { + "$ref": "GoogleCloudAiplatformV1beta1Content", + "description": "Preamble: The context of the prompt." + }, + "examples": { + "description": "Preamble: A set of examples for expected model response.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecPartList" + }, + "type": "array" + }, + "infillPrefix": { + "description": "Preamble: For infill prompt, the prefix before expected model response.", + "type": "string" + }, + "infillSuffix": { + "description": "Preamble: For infill prompt, the suffix after expected model response.", + "type": "string" + }, + "inputPrefixes": { + "description": "Preamble: The input prefixes before each example input.", + "items": { + "type": "string" + }, + "type": "array" + }, + "outputPrefixes": { + "description": "Preamble: The output prefixes before each example output.", + "items": { + "type": "string" + }, + "type": "array" + }, + "predictionInputs": { + "description": "Preamble: The input test data for prediction. Each PartList in this field represents one text-only input set for a single model request.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecPartList" + }, + "type": "array" + }, + "promptMessage": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecPromptMessage", + "description": "The prompt message." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationExample": { + "description": "The translation example that contains reference sentences from various sources.", + "id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationExample", + "properties": { + "referenceSentencePairLists": { + "description": "The reference sentences from inline text.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecReferenceSentencePairList" + }, + "type": "array" + }, + "referenceSentencesFileInputs": { + "description": "The reference sentences from file.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationSentenceFileInput" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationFileInputSource": { + "id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationFileInputSource", + "properties": { + "content": { + "description": "The file's contents.", + "type": "string" + }, + "displayName": { + "description": "The file's display name.", + "type": "string" + }, + "mimeType": { + "description": "The file's mime type.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationGcsInputSource": { + "id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationGcsInputSource", + "properties": { + "inputUri": { + "description": "Source data URI. For example, `gs://my_bucket/my_object`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationOption": { + "description": "Optional settings for translation prompt.", + "id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationOption", + "properties": { + "numberOfShots": { + "description": "How many shots to use.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationPrompt": { + "description": "Prompt variation for Translation use case.", + "id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationPrompt", + "properties": { + "example": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationExample", + "description": "The translation example." + }, + "option": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationOption", + "description": "The translation option." + }, + "promptMessage": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecPromptMessage", + "description": "The prompt message." + }, + "sourceLanguageCode": { + "description": "The source language code.", + "type": "string" + }, + "targetLanguageCode": { + "description": "The target language code.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationSentenceFileInput": { + "id": "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationSentenceFileInput", + "properties": { + "fileInputSource": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationFileInputSource", + "description": "Inlined file source." + }, + "gcsInputSource": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationGcsInputSource", + "description": "Cloud Storage file source." + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1SchemaTablesDatasetMetadata": { "description": "The metadata of Datasets that contain tables data.", "id": "GoogleCloudAiplatformV1beta1SchemaTablesDatasetMetadata", @@ -41576,6 +44028,94 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1SchemaTextPromptDatasetMetadata": { + "description": "The metadata of Datasets that contain Text Prompt data.", + "id": "GoogleCloudAiplatformV1beta1SchemaTextPromptDatasetMetadata", + "properties": { + "candidateCount": { + "description": "Number of candidates.", + "format": "int64", + "type": "string" + }, + "gcsUri": { + "description": "The Google Cloud Storage URI that stores the prompt data.", + "type": "string" + }, + "groundingConfig": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPredictParamsGroundingConfig", + "description": "Grounding checking configuration." + }, + "hasPromptVariable": { + "description": "Whether the prompt dataset has prompt variable.", + "type": "boolean" + }, + "logprobs": { + "description": "Whether or not the user has enabled logit probabilities in the model parameters.", + "type": "boolean" + }, + "maxOutputTokens": { + "description": "Value of the maximum number of tokens generated set when the dataset was saved.", + "format": "int64", + "type": "string" + }, + "note": { + "description": "User-created prompt note. Note size limit is 2KB.", + "type": "string" + }, + "promptApiSchema": { + "$ref": "GoogleCloudAiplatformV1beta1SchemaPromptApiSchema", + "description": "The API schema of the prompt to support both UI and SDK usages." + }, + "promptType": { + "description": "Type of the prompt dataset.", + "type": "string" + }, + "seedEnabled": { + "description": "Seeding enables model to return a deterministic response on a best effort basis. Determinism isn't guaranteed. This field determines whether or not seeding is enabled.", + "type": "boolean" + }, + "seedValue": { + "description": "The actual value of the seed.", + "format": "int64", + "type": "string" + }, + "stopSequences": { + "description": "Customized stop sequences.", + "items": { + "type": "string" + }, + "type": "array" + }, + "systemInstruction": { + "description": "The content of the prompt dataset system instruction.", + "type": "string" + }, + "systemInstructionGcsUri": { + "description": "The Google Cloud Storage URI that stores the system instruction, starting with gs://.", + "type": "string" + }, + "temperature": { + "description": "Temperature value used for sampling set when the dataset was saved. This value is used to tune the degree of randomness.", + "format": "float", + "type": "number" + }, + "text": { + "description": "The content of the prompt dataset.", + "type": "string" + }, + "topK": { + "description": "Top K value set when the dataset was saved. This value determines how many candidates with highest probability from the vocab would be selected for each decoding step.", + "format": "int64", + "type": "string" + }, + "topP": { + "description": "Top P value set when the dataset was saved. Given topK tokens for decoding, top candidates will be selected until the sum of their probabilities is topP.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1SchemaTextSegment": { "description": "The text segment inside of DataItem.", "id": "GoogleCloudAiplatformV1beta1SchemaTextSegment", @@ -43950,6 +46490,17 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1SpeechConfig": { + "description": "The speech generation config.", + "id": "GoogleCloudAiplatformV1beta1SpeechConfig", + "properties": { + "voiceConfig": { + "$ref": "GoogleCloudAiplatformV1beta1VoiceConfig", + "description": "The configuration for the speaker to use." + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1StartNotebookRuntimeOperationMetadata": { "description": "Metadata information for NotebookService.StartNotebookRuntime.", "id": "GoogleCloudAiplatformV1beta1StartNotebookRuntimeOperationMetadata", @@ -43971,6 +46522,12 @@ "properties": {}, "type": "object" }, + "GoogleCloudAiplatformV1beta1StopNotebookRuntimeRequest": { + "description": "Request message for NotebookService.StopNotebookRuntime.", + "id": "GoogleCloudAiplatformV1beta1StopNotebookRuntimeRequest", + "properties": {}, + "type": "object" + }, "GoogleCloudAiplatformV1beta1StopTrialRequest": { "description": "Request message for VizierService.StopTrial.", "id": "GoogleCloudAiplatformV1beta1StopTrialRequest", @@ -44003,6 +46560,25 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1StreamQueryReasoningEngineRequest": { + "description": "Request message for ReasoningEngineExecutionService.StreamQuery.", + "id": "GoogleCloudAiplatformV1beta1StreamQueryReasoningEngineRequest", + "properties": { + "classMethod": { + "description": "Optional. Class method to be used for the stream query. It is optional and defaults to \"stream_query\" if unspecified.", + "type": "string" + }, + "input": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Input content provided by users in JSON object format. Examples include text query, function calling parameters, media bytes, etc.", + "type": "object" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1StreamRawPredictRequest": { "description": "Request message for PredictionService.StreamRawPredict.", "id": "GoogleCloudAiplatformV1beta1StreamRawPredictRequest", @@ -44101,7 +46677,7 @@ "type": "object" }, "GoogleCloudAiplatformV1beta1StreamingReadFeatureValuesRequest": { - "description": "Request message for FeaturestoreOnlineServingService.StreamingFeatureValuesRead.", + "description": "Request message for FeaturestoreOnlineServingService.StreamingReadFeatureValues.", "id": "GoogleCloudAiplatformV1beta1StreamingReadFeatureValuesRequest", "properties": { "entityIds": { @@ -45833,6 +48409,10 @@ "description": "Tool details that the model may use to generate response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. A Tool object should contain exactly one type of Tool (e.g FunctionDeclaration, Retrieval or GoogleSearchRetrieval).", "id": "GoogleCloudAiplatformV1beta1Tool", "properties": { + "codeExecution": { + "$ref": "GoogleCloudAiplatformV1beta1ToolCodeExecution", + "description": "Optional. CodeExecution tool type. Enables the model to execute code as part of generation. This field is only used by the Gemini Developer API services." + }, "functionDeclarations": { "description": "Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 128 function declarations can be provided.", "items": { @@ -45840,6 +48420,10 @@ }, "type": "array" }, + "googleSearch": { + "$ref": "GoogleCloudAiplatformV1beta1ToolGoogleSearch", + "description": "Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google." + }, "googleSearchRetrieval": { "$ref": "GoogleCloudAiplatformV1beta1GoogleSearchRetrieval", "description": "Optional. GoogleSearchRetrieval tool type. Specialized retrieval tool that is powered by Google search." @@ -45851,6 +48435,21 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1ToolCall": { + "description": "Spec for tool call.", + "id": "GoogleCloudAiplatformV1beta1ToolCall", + "properties": { + "toolInput": { + "description": "Optional. Spec for tool input", + "type": "string" + }, + "toolName": { + "description": "Required. Spec for tool name", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1ToolCallValidInput": { "description": "Input for tool call valid metric.", "id": "GoogleCloudAiplatformV1beta1ToolCallValidInput", @@ -45918,6 +48517,12 @@ "properties": {}, "type": "object" }, + "GoogleCloudAiplatformV1beta1ToolCodeExecution": { + "description": "Tool that executes code generated by the model, and automatically returns the result to the model. See also [ExecutableCode]and [CodeExecutionResult] which are input and output to this tool.", + "id": "GoogleCloudAiplatformV1beta1ToolCodeExecution", + "properties": {}, + "type": "object" + }, "GoogleCloudAiplatformV1beta1ToolConfig": { "description": "Tool config. This config is shared for all tools provided in the request.", "id": "GoogleCloudAiplatformV1beta1ToolConfig", @@ -45929,6 +48534,12 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1ToolGoogleSearch": { + "description": "GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.", + "id": "GoogleCloudAiplatformV1beta1ToolGoogleSearch", + "properties": {}, + "type": "object" + }, "GoogleCloudAiplatformV1beta1ToolNameMatchInput": { "description": "Input for tool name match metric.", "id": "GoogleCloudAiplatformV1beta1ToolNameMatchInput", @@ -46062,7 +48673,7 @@ "id": "GoogleCloudAiplatformV1beta1ToolParameterKVMatchSpec", "properties": { "useStrictStringMatch": { - "description": "Optional. Whether to use STRCIT string match on parameter values.", + "description": "Optional. Whether to use STRICT string match on parameter values.", "type": "boolean" } }, @@ -46317,6 +48928,423 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1Trajectory": { + "description": "Spec for trajectory.", + "id": "GoogleCloudAiplatformV1beta1Trajectory", + "properties": { + "toolCalls": { + "description": "Required. Tool calls in the trajectory.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1ToolCall" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchInput": { + "description": "Instances and metric spec for TrajectoryAnyOrderMatch metric.", + "id": "GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchInput", + "properties": { + "instances": { + "description": "Required. Repeated TrajectoryAnyOrderMatch instance.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchInstance" + }, + "type": "array" + }, + "metricSpec": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchSpec", + "description": "Required. Spec for TrajectoryAnyOrderMatch metric." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchInstance": { + "description": "Spec for TrajectoryAnyOrderMatch instance.", + "id": "GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchInstance", + "properties": { + "predictedTrajectory": { + "$ref": "GoogleCloudAiplatformV1beta1Trajectory", + "description": "Required. Spec for predicted tool call trajectory." + }, + "referenceTrajectory": { + "$ref": "GoogleCloudAiplatformV1beta1Trajectory", + "description": "Required. Spec for reference tool call trajectory." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchMetricValue": { + "description": "TrajectoryAnyOrderMatch metric value for an instance.", + "id": "GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchMetricValue", + "properties": { + "score": { + "description": "Output only. TrajectoryAnyOrderMatch score.", + "format": "float", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchResults": { + "description": "Results for TrajectoryAnyOrderMatch metric.", + "id": "GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchResults", + "properties": { + "trajectoryAnyOrderMatchMetricValues": { + "description": "Output only. TrajectoryAnyOrderMatch metric values.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchMetricValue" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchSpec": { + "description": "Spec for TrajectoryAnyOrderMatch metric - returns 1 if all tool calls in the reference trajectory appear in the predicted trajectory in any order, else 0.", + "id": "GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchSpec", + "properties": {}, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectoryExactMatchInput": { + "description": "Instances and metric spec for TrajectoryExactMatch metric.", + "id": "GoogleCloudAiplatformV1beta1TrajectoryExactMatchInput", + "properties": { + "instances": { + "description": "Required. Repeated TrajectoryExactMatch instance.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectoryExactMatchInstance" + }, + "type": "array" + }, + "metricSpec": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectoryExactMatchSpec", + "description": "Required. Spec for TrajectoryExactMatch metric." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectoryExactMatchInstance": { + "description": "Spec for TrajectoryExactMatch instance.", + "id": "GoogleCloudAiplatformV1beta1TrajectoryExactMatchInstance", + "properties": { + "predictedTrajectory": { + "$ref": "GoogleCloudAiplatformV1beta1Trajectory", + "description": "Required. Spec for predicted tool call trajectory." + }, + "referenceTrajectory": { + "$ref": "GoogleCloudAiplatformV1beta1Trajectory", + "description": "Required. Spec for reference tool call trajectory." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectoryExactMatchMetricValue": { + "description": "TrajectoryExactMatch metric value for an instance.", + "id": "GoogleCloudAiplatformV1beta1TrajectoryExactMatchMetricValue", + "properties": { + "score": { + "description": "Output only. TrajectoryExactMatch score.", + "format": "float", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectoryExactMatchResults": { + "description": "Results for TrajectoryExactMatch metric.", + "id": "GoogleCloudAiplatformV1beta1TrajectoryExactMatchResults", + "properties": { + "trajectoryExactMatchMetricValues": { + "description": "Output only. TrajectoryExactMatch metric values.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectoryExactMatchMetricValue" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectoryExactMatchSpec": { + "description": "Spec for TrajectoryExactMatch metric - returns 1 if tool calls in the reference trajectory exactly match the predicted trajectory, else 0.", + "id": "GoogleCloudAiplatformV1beta1TrajectoryExactMatchSpec", + "properties": {}, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchInput": { + "description": "Instances and metric spec for TrajectoryInOrderMatch metric.", + "id": "GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchInput", + "properties": { + "instances": { + "description": "Required. Repeated TrajectoryInOrderMatch instance.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchInstance" + }, + "type": "array" + }, + "metricSpec": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchSpec", + "description": "Required. Spec for TrajectoryInOrderMatch metric." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchInstance": { + "description": "Spec for TrajectoryInOrderMatch instance.", + "id": "GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchInstance", + "properties": { + "predictedTrajectory": { + "$ref": "GoogleCloudAiplatformV1beta1Trajectory", + "description": "Required. Spec for predicted tool call trajectory." + }, + "referenceTrajectory": { + "$ref": "GoogleCloudAiplatformV1beta1Trajectory", + "description": "Required. Spec for reference tool call trajectory." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchMetricValue": { + "description": "TrajectoryInOrderMatch metric value for an instance.", + "id": "GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchMetricValue", + "properties": { + "score": { + "description": "Output only. TrajectoryInOrderMatch score.", + "format": "float", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchResults": { + "description": "Results for TrajectoryInOrderMatch metric.", + "id": "GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchResults", + "properties": { + "trajectoryInOrderMatchMetricValues": { + "description": "Output only. TrajectoryInOrderMatch metric values.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchMetricValue" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchSpec": { + "description": "Spec for TrajectoryInOrderMatch metric - returns 1 if tool calls in the reference trajectory appear in the predicted trajectory in the same order, else 0.", + "id": "GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchSpec", + "properties": {}, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectoryPrecisionInput": { + "description": "Instances and metric spec for TrajectoryPrecision metric.", + "id": "GoogleCloudAiplatformV1beta1TrajectoryPrecisionInput", + "properties": { + "instances": { + "description": "Required. Repeated TrajectoryPrecision instance.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectoryPrecisionInstance" + }, + "type": "array" + }, + "metricSpec": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectoryPrecisionSpec", + "description": "Required. Spec for TrajectoryPrecision metric." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectoryPrecisionInstance": { + "description": "Spec for TrajectoryPrecision instance.", + "id": "GoogleCloudAiplatformV1beta1TrajectoryPrecisionInstance", + "properties": { + "predictedTrajectory": { + "$ref": "GoogleCloudAiplatformV1beta1Trajectory", + "description": "Required. Spec for predicted tool call trajectory." + }, + "referenceTrajectory": { + "$ref": "GoogleCloudAiplatformV1beta1Trajectory", + "description": "Required. Spec for reference tool call trajectory." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectoryPrecisionMetricValue": { + "description": "TrajectoryPrecision metric value for an instance.", + "id": "GoogleCloudAiplatformV1beta1TrajectoryPrecisionMetricValue", + "properties": { + "score": { + "description": "Output only. TrajectoryPrecision score.", + "format": "float", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectoryPrecisionResults": { + "description": "Results for TrajectoryPrecision metric.", + "id": "GoogleCloudAiplatformV1beta1TrajectoryPrecisionResults", + "properties": { + "trajectoryPrecisionMetricValues": { + "description": "Output only. TrajectoryPrecision metric values.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectoryPrecisionMetricValue" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectoryPrecisionSpec": { + "description": "Spec for TrajectoryPrecision metric - returns a float score based on average precision of individual tool calls.", + "id": "GoogleCloudAiplatformV1beta1TrajectoryPrecisionSpec", + "properties": {}, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectoryRecallInput": { + "description": "Instances and metric spec for TrajectoryRecall metric.", + "id": "GoogleCloudAiplatformV1beta1TrajectoryRecallInput", + "properties": { + "instances": { + "description": "Required. Repeated TrajectoryRecall instance.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectoryRecallInstance" + }, + "type": "array" + }, + "metricSpec": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectoryRecallSpec", + "description": "Required. Spec for TrajectoryRecall metric." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectoryRecallInstance": { + "description": "Spec for TrajectoryRecall instance.", + "id": "GoogleCloudAiplatformV1beta1TrajectoryRecallInstance", + "properties": { + "predictedTrajectory": { + "$ref": "GoogleCloudAiplatformV1beta1Trajectory", + "description": "Required. Spec for predicted tool call trajectory." + }, + "referenceTrajectory": { + "$ref": "GoogleCloudAiplatformV1beta1Trajectory", + "description": "Required. Spec for reference tool call trajectory." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectoryRecallMetricValue": { + "description": "TrajectoryRecall metric value for an instance.", + "id": "GoogleCloudAiplatformV1beta1TrajectoryRecallMetricValue", + "properties": { + "score": { + "description": "Output only. TrajectoryRecall score.", + "format": "float", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectoryRecallResults": { + "description": "Results for TrajectoryRecall metric.", + "id": "GoogleCloudAiplatformV1beta1TrajectoryRecallResults", + "properties": { + "trajectoryRecallMetricValues": { + "description": "Output only. TrajectoryRecall metric values.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectoryRecallMetricValue" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectoryRecallSpec": { + "description": "Spec for TrajectoryRecall metric - returns a float score based on average recall of individual tool calls.", + "id": "GoogleCloudAiplatformV1beta1TrajectoryRecallSpec", + "properties": {}, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectorySingleToolUseInput": { + "description": "Instances and metric spec for TrajectorySingleToolUse metric.", + "id": "GoogleCloudAiplatformV1beta1TrajectorySingleToolUseInput", + "properties": { + "instances": { + "description": "Required. Repeated TrajectorySingleToolUse instance.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectorySingleToolUseInstance" + }, + "type": "array" + }, + "metricSpec": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectorySingleToolUseSpec", + "description": "Required. Spec for TrajectorySingleToolUse metric." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectorySingleToolUseInstance": { + "description": "Spec for TrajectorySingleToolUse instance.", + "id": "GoogleCloudAiplatformV1beta1TrajectorySingleToolUseInstance", + "properties": { + "predictedTrajectory": { + "$ref": "GoogleCloudAiplatformV1beta1Trajectory", + "description": "Required. Spec for predicted tool call trajectory." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectorySingleToolUseMetricValue": { + "description": "TrajectorySingleToolUse metric value for an instance.", + "id": "GoogleCloudAiplatformV1beta1TrajectorySingleToolUseMetricValue", + "properties": { + "score": { + "description": "Output only. TrajectorySingleToolUse score.", + "format": "float", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectorySingleToolUseResults": { + "description": "Results for TrajectorySingleToolUse metric.", + "id": "GoogleCloudAiplatformV1beta1TrajectorySingleToolUseResults", + "properties": { + "trajectorySingleToolUseMetricValues": { + "description": "Output only. TrajectorySingleToolUse metric values.", + "items": { + "$ref": "GoogleCloudAiplatformV1beta1TrajectorySingleToolUseMetricValue" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1TrajectorySingleToolUseSpec": { + "description": "Spec for TrajectorySingleToolUse metric - returns 1 if tool is present in the predicted trajectory, else 0.", + "id": "GoogleCloudAiplatformV1beta1TrajectorySingleToolUseSpec", + "properties": { + "toolName": { + "description": "Required. Spec for tool name to be checked for in the predicted trajectory.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1Trial": { "description": "A message representing a Trial. A Trial contains a unique set of Parameters that has been or will be evaluated, along with the objective metrics got by running the Trial.", "id": "GoogleCloudAiplatformV1beta1Trial", @@ -46502,7 +49530,7 @@ "id": "GoogleCloudAiplatformV1beta1TuningJob", "properties": { "baseModel": { - "description": "The base model that is being tuned, e.g., \"gemini-1.0-pro-002\".", + "description": "The base model that is being tuned, e.g., \"gemini-1.0-pro-002\". .", "type": "string" }, "createTime": { @@ -46551,11 +49579,20 @@ "readOnly": true, "type": "string" }, + "partnerModelTuningSpec": { + "$ref": "GoogleCloudAiplatformV1beta1PartnerModelTuningSpec", + "description": "Tuning Spec for open sourced and third party Partner models." + }, "pipelineJob": { + "deprecated": true, "description": "Output only. The resource name of the PipelineJob associated with the TuningJob. Format: `projects/{project}/locations/{location}/pipelineJobs/{pipeline_job}`.", "readOnly": true, "type": "string" }, + "serviceAccount": { + "description": "The service account that the tuningJob workload runs as. If not specified, the Vertex AI Secure Fine-Tuned Service Agent in the project will be used. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-secure-fine-tuning-service-agent Users starting the pipeline must have the `iam.serviceAccounts.actAs` permission on this service account.", + "type": "string" + }, "startTime": { "description": "Output only. Time when the TuningJob for the first time entered the `JOB_STATE_RUNNING` state.", "format": "google-datetime", @@ -46727,6 +49764,17 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1UpdateEndpointLongRunningRequest": { + "description": "Request message for EndpointService.UpdateEndpointLongRunning.", + "id": "GoogleCloudAiplatformV1beta1UpdateEndpointLongRunningRequest", + "properties": { + "endpoint": { + "$ref": "GoogleCloudAiplatformV1beta1Endpoint", + "description": "Required. The Endpoint which replaces the resource on the server. Currently we only support updating the `client_connection_config` field, all the other fields' update will be blocked." + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1UpdateExplanationDatasetOperationMetadata": { "description": "Runtime operation information for ModelService.UpdateExplanationDataset.", "id": "GoogleCloudAiplatformV1beta1UpdateExplanationDatasetOperationMetadata", @@ -46966,7 +50014,12 @@ "properties": { "ragFileChunkingConfig": { "$ref": "GoogleCloudAiplatformV1beta1RagFileChunkingConfig", + "deprecated": true, "description": "Specifies the size and overlap of chunks after uploading RagFile." + }, + "ragFileTransformationConfig": { + "$ref": "GoogleCloudAiplatformV1beta1RagFileTransformationConfig", + "description": "Specifies the transformation config for RagFiles." } }, "type": "object" @@ -47077,6 +50130,17 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1VertexAiSearchConfig": { + "description": "Config for the Vertex AI Search.", + "id": "GoogleCloudAiplatformV1beta1VertexAiSearchConfig", + "properties": { + "servingConfig": { + "description": "Vertex AI Search Serving Config resource full name. For example, `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/servingConfigs/{serving_config}` or `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/servingConfigs/{serving_config}`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1VertexRagStore": { "description": "Retrieve from Vertex RAG Store for grounding.", "id": "GoogleCloudAiplatformV1beta1VertexRagStore", @@ -47096,12 +50160,18 @@ }, "type": "array" }, + "ragRetrievalConfig": { + "$ref": "GoogleCloudAiplatformV1beta1RagRetrievalConfig", + "description": "Optional. The retrieval config for the Rag query." + }, "similarityTopK": { + "deprecated": true, "description": "Optional. Number of top k results to return from the selected corpora.", "format": "int32", "type": "integer" }, "vectorDistanceThreshold": { + "deprecated": true, "description": "Optional. Only return results with vector distance smaller than the threshold.", "format": "double", "type": "number" @@ -47144,6 +50214,17 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1VoiceConfig": { + "description": "The configuration for the voice to use.", + "id": "GoogleCloudAiplatformV1beta1VoiceConfig", + "properties": { + "prebuiltVoiceConfig": { + "$ref": "GoogleCloudAiplatformV1beta1PrebuiltVoiceConfig", + "description": "The configuration for the prebuilt voice to use." + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1WorkerPoolSpec": { "description": "Represents the spec of a worker pool in a job.", "id": "GoogleCloudAiplatformV1beta1WorkerPoolSpec", diff --git a/discovery/alertcenter-v1beta1.json b/discovery/alertcenter-v1beta1.json index 0b2956998b..ca306b50d7 100644 --- a/discovery/alertcenter-v1beta1.json +++ b/discovery/alertcenter-v1beta1.json @@ -423,7 +423,7 @@ } } }, - "revision": "20240429", + "revision": "20241028", "rootUrl": "https://alertcenter.googleapis.com/", "schemas": { "AbuseDetected": { @@ -856,7 +856,7 @@ "type": "object" }, "AppSettingsChanged": { - "description": "Alerts from AppSettingsChanged bucket Rules configured by Admin which contain the below rules. Calendar settings changed Drive settings changed Email settings changed Mobile settings changed", + "description": "* Alerts from AppSettingsChanged bucket Rules configured by Admin which contain the below rules. Calendar settings changed Drive settings changed Email settings changed Mobile settings changed", "id": "AppSettingsChanged", "properties": { "alertDetails": { @@ -1577,7 +1577,7 @@ "type": "object" }, "PrimaryAdminChangedEvent": { - "description": "Event occurred when primary admin changed in customer's account. The event are being received from insight forwarder", + "description": "* Event occurred when primary admin changed in customer's account. The event are being received from insight forwarder", "id": "PrimaryAdminChangedEvent", "properties": { "domain": { @@ -1888,7 +1888,7 @@ "type": "object" }, "SSOProfileCreatedEvent": { - "description": "Event occurred when SSO Profile created in customer's account. The event are being received from insight forwarder", + "description": "* Event occurred when SSO Profile created in customer's account. The event are being received from insight forwarder", "id": "SSOProfileCreatedEvent", "properties": { "inboundSsoProfileName": { @@ -1899,7 +1899,7 @@ "type": "object" }, "SSOProfileDeletedEvent": { - "description": "Event occurred when SSO Profile deleted in customer's account. The event are being received from insight forwarder", + "description": "* Event occurred when SSO Profile deleted in customer's account. The event are being received from insight forwarder", "id": "SSOProfileDeletedEvent", "properties": { "inboundSsoProfileName": { @@ -1910,7 +1910,7 @@ "type": "object" }, "SSOProfileUpdatedEvent": { - "description": "Event occurred when SSO Profile updated in customer's account. The event are being received from insight forwarder", + "description": "* Event occurred when SSO Profile updated in customer's account. The event are being received from insight forwarder", "id": "SSOProfileUpdatedEvent", "properties": { "inboundSsoProfileChanges": { @@ -2013,7 +2013,7 @@ "type": "object" }, "SuperAdminPasswordResetEvent": { - "description": "Event occurred when password was reset for super admin in customer's account. The event are being received from insight forwarder", + "description": "* Event occurred when password was reset for super admin in customer's account. The event are being received from insight forwarder", "id": "SuperAdminPasswordResetEvent", "properties": { "userEmail": { @@ -2193,7 +2193,7 @@ "type": "object" }, "UserChanges": { - "description": "Alerts from UserChanges bucket Rules for predefined rules which contain the below rules. Suspended user made active New user Added User suspended (by admin) User granted admin privileges User admin privileges revoked User deleted Users password changed", + "description": "* Alerts from UserChanges bucket Rules for predefined rules which contain the below rules. Suspended user made active New user Added User suspended (by admin) User granted admin privileges User admin privileges revoked User deleted Users password changed", "id": "UserChanges", "properties": { "name": { diff --git a/discovery/alloydb-v1.json b/discovery/alloydb-v1.json index 21fb419c76..58b4b94fee 100644 --- a/discovery/alloydb-v1.json +++ b/discovery/alloydb-v1.json @@ -517,6 +517,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "export": { + "description": "Exports data from the cluster. Imperative only.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:export", + "httpMethod": "POST", + "id": "alloydb.projects.locations.clusters.export", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the cluster.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:export", + "request": { + "$ref": "ExportClusterRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "get": { "description": "Gets details of a single Cluster.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}", @@ -1352,7 +1380,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "alloydb.projects.locations.operations.cancel", @@ -1517,7 +1545,7 @@ } } }, - "revision": "20240923", + "revision": "20241204", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { "AuthorizedNetwork": { @@ -1711,6 +1739,13 @@ "readOnly": true, "type": "string" }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: ``` \"123/environment\": \"production\", \"123/costCenter\": \"marketing\" ```", + "type": "object" + }, "type": { "description": "The backup type, which suggests the trigger for the backup.", "enum": [ @@ -2016,6 +2051,13 @@ ], "type": "string" }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: ``` \"123/environment\": \"production\", \"123/costCenter\": \"marketing\" ```", + "type": "object" + }, "trialMetadata": { "$ref": "TrialMetadata", "description": "Output only. Metadata for free trial clusters", @@ -2237,6 +2279,29 @@ }, "type": "object" }, + "CsvExportOptions": { + "description": "Options for exporting data in CSV format.", + "id": "CsvExportOptions", + "properties": { + "escapeCharacter": { + "description": "Optional. Specifies the character that should appear before a data character that needs to be escaped. The default is the same as quote character. The value of this argument has to be a character in Hex ASCII Code.", + "type": "string" + }, + "fieldDelimiter": { + "description": "Optional. Specifies the character that separates columns within each row (line) of the file. The default is comma. The value of this argument has to be a character in Hex ASCII Code.", + "type": "string" + }, + "quoteCharacter": { + "description": "Optional. Specifies the quoting character to be used when a data value is quoted. The default is double-quote. The value of this argument has to be a character in Hex ASCII Code.", + "type": "string" + }, + "selectQuery": { + "description": "Required. The SELECT query used to extract the data.", + "type": "string" + } + }, + "type": "object" + }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", @@ -2284,6 +2349,40 @@ }, "type": "object" }, + "ExportClusterRequest": { + "description": "Export cluster request.", + "id": "ExportClusterRequest", + "properties": { + "csvExportOptions": { + "$ref": "CsvExportOptions", + "description": "Options for exporting data in CSV format. Required field to be set for CSV file type." + }, + "database": { + "description": "Required. Name of the database where the export command will be executed. Note - Value provided should be the same as expected from `SELECT current_database();` and NOT as a resource reference.", + "type": "string" + }, + "gcsDestination": { + "$ref": "GcsDestination", + "description": "Required. Option to export data to cloud storage." + }, + "sqlExportOptions": { + "$ref": "SqlExportOptions", + "description": "Options for exporting data in SQL format. Required field to be set for SQL file type." + } + }, + "type": "object" + }, + "ExportClusterResponse": { + "description": "Response of export cluster rpc.", + "id": "ExportClusterResponse", + "properties": { + "gcsDestination": { + "$ref": "GcsDestination", + "description": "Required. Option to export data to cloud storage." + } + }, + "type": "object" + }, "FailoverInstanceRequest": { "description": "Message for triggering failover on an Instance", "id": "FailoverInstanceRequest", @@ -2299,6 +2398,17 @@ }, "type": "object" }, + "GcsDestination": { + "description": "Destination for Export. Export will be done to cloud storage.", + "id": "GcsDestination", + "properties": { + "uri": { + "description": "Required. The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form `gs://bucketName/fileName`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudLocationListLocationsResponse": { "description": "The response message for Locations.ListLocations.", "id": "GoogleCloudLocationListLocationsResponse", @@ -2356,22 +2466,22 @@ "id": "GoogleTypeTimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } @@ -2444,7 +2554,7 @@ "additionalProperties": { "type": "string" }, - "description": "Database flags. Set at instance level. * They are copied from primary instance on read instance creation. * Read instances can set new or override existing flags that are relevant for reads, e.g. for enabling columnar cache on a read instance. Flags set on read instance may or may not be present on primary. This is a list of \"key\": \"value\" pairs. \"key\": The name of the flag. These flags are passed at instance setup time, so include both server options and system variables for Postgres. Flags are specified with underscores, not hyphens. \"value\": The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn't take a value.", + "description": "Database flags. Set at the instance level. They are copied from the primary instance on secondary instance creation. Flags that have restrictions default to the value at primary instance on read instances during creation. Read instances can set new flags or override existing flags that are relevant for reads, for example, for enabling columnar cache on a read instance. Flags set on read instance might or might not be present on the primary instance. This is a list of \"key\": \"value\" pairs. \"key\": The name of the flag. These flags are passed at instance setup time, so include both server options and system variables for Postgres. Flags are specified with underscores, not hyphens. \"value\": The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn't take a value.", "type": "object" }, "deleteTime": { @@ -3020,7 +3130,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -3242,6 +3352,32 @@ }, "type": "object" }, + "SqlExportOptions": { + "description": "Options for exporting data in SQL format.", + "id": "SqlExportOptions", + "properties": { + "cleanTargetObjects": { + "description": "Optional. If true, output commands to DROP all the dumped database objects prior to outputting the commands for creating them.", + "type": "boolean" + }, + "ifExistTargetObjects": { + "description": "Optional. If true, use DROP ... IF EXISTS commands to check for the object's existence before dropping it in clean_target_objects mode.", + "type": "boolean" + }, + "schemaOnly": { + "description": "Optional. If true, only export the schema.", + "type": "boolean" + }, + "tables": { + "description": "Optional. Tables to export from.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "SslConfig": { "description": "SSL configuration.", "id": "SslConfig", @@ -3959,7 +4095,7 @@ "type": "object" }, "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata": { - "description": "Common model for database resource instance metadata. Next ID: 22", + "description": "Common model for database resource instance metadata. Next ID: 23", "id": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata", "properties": { "availabilityConfiguration": { @@ -4003,6 +4139,20 @@ "$ref": "StorageDatabasecenterPartnerapiV1mainCustomMetadataData", "description": "Any custom metadata associated with the resource" }, + "edition": { + "description": "Optional. Edition represents whether the instance is ENTERPRISE or ENTERPRISE_PLUS. This information is core to Cloud SQL only and is used to identify the edition of the instance.", + "enum": [ + "EDITION_UNSPECIFIED", + "EDITION_ENTERPRISE", + "EDITION_ENTERPRISE_PLUS" + ], + "enumDescriptions": [ + "Default, to make it consistent with instance edition enum.", + "Represents the enterprise edition.", + "Represents the enterprise plus edition." + ], + "type": "string" + }, "entitlements": { "description": "Entitlements associated with the resource", "items": { @@ -4497,6 +4647,11 @@ "description": "Optional. Number of shards (if applicable).", "format": "int32", "type": "integer" + }, + "vcpuCount": { + "description": "Optional. The number of vCPUs. TODO(b/342344482, b/342346271) add proto validations again after bug fix.", + "format": "double", + "type": "number" } }, "type": "object" @@ -4607,6 +4762,7 @@ "type": "integer" }, "retentionUnit": { + "deprecated": true, "description": "The unit that 'retained_backups' represents.", "enum": [ "RETENTION_UNIT_UNSPECIFIED", @@ -4627,6 +4783,11 @@ "timeBasedRetention": { "format": "google-duration", "type": "string" + }, + "timestampBasedRetentionTime": { + "description": "Timestamp based retention period i.e. 2024-05-01T00:00:00Z", + "format": "google-datetime", + "type": "string" } }, "type": "object" diff --git a/discovery/alloydb-v1alpha.json b/discovery/alloydb-v1alpha.json index fd79b66e23..b60e701121 100644 --- a/discovery/alloydb-v1alpha.json +++ b/discovery/alloydb-v1alpha.json @@ -517,6 +517,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "export": { + "description": "Exports data from the cluster. Imperative only.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:export", + "httpMethod": "POST", + "id": "alloydb.projects.locations.clusters.export", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the cluster.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}:export", + "request": { + "$ref": "ExportClusterRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "get": { "description": "Gets details of a single Cluster.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}", @@ -708,6 +736,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "restoreFromCloudSQL": { + "description": "Restores an AlloyDB cluster from a CloudSQL resource.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/clusters:restoreFromCloudSQL", + "httpMethod": "POST", + "id": "alloydb.projects.locations.clusters.restoreFromCloudSQL", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The location of the new cluster. For the required format, see the comment on Cluster.name field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/clusters:restoreFromCloudSQL", + "request": { + "$ref": "RestoreFromCloudSQLRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "switchover": { "description": "Switches the roles of PRIMARY and SECONDARY clusters without any data loss. This promotes the SECONDARY cluster to PRIMARY and sets up the original PRIMARY cluster to replicate from this newly promoted cluster.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:switchover", @@ -1352,7 +1408,7 @@ "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`.", + "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": "v1alpha/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "alloydb.projects.locations.operations.cancel", @@ -1517,7 +1573,7 @@ } } }, - "revision": "20240923", + "revision": "20241204", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { "AuthorizedNetwork": { @@ -1716,6 +1772,13 @@ "readOnly": true, "type": "string" }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: ``` \"123/environment\": \"production\", \"123/costCenter\": \"marketing\" ```", + "type": "object" + }, "type": { "description": "The backup type, which suggests the trigger for the backup.", "enum": [ @@ -2055,6 +2118,13 @@ ], "type": "string" }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: ``` \"123/environment\": \"production\", \"123/costCenter\": \"marketing\" ```", + "type": "object" + }, "trialMetadata": { "$ref": "TrialMetadata", "description": "Output only. Metadata for free trial clusters", @@ -2290,6 +2360,29 @@ }, "type": "object" }, + "CsvExportOptions": { + "description": "Options for exporting data in CSV format.", + "id": "CsvExportOptions", + "properties": { + "escapeCharacter": { + "description": "Optional. Specifies the character that should appear before a data character that needs to be escaped. The default is the same as quote character. The value of this argument has to be a character in Hex ASCII Code.", + "type": "string" + }, + "fieldDelimiter": { + "description": "Optional. Specifies the character that separates columns within each row (line) of the file. The default is comma. The value of this argument has to be a character in Hex ASCII Code.", + "type": "string" + }, + "quoteCharacter": { + "description": "Optional. Specifies the quoting character to be used when a data value is quoted. The default is double-quote. The value of this argument has to be a character in Hex ASCII Code.", + "type": "string" + }, + "selectQuery": { + "description": "Required. The SELECT query used to extract the data.", + "type": "string" + } + }, + "type": "object" + }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", @@ -2337,6 +2430,29 @@ }, "type": "object" }, + "ExportClusterRequest": { + "description": "Export cluster request.", + "id": "ExportClusterRequest", + "properties": { + "csvExportOptions": { + "$ref": "CsvExportOptions", + "description": "Options for exporting data in CSV format. Required field to be set for CSV file type." + }, + "database": { + "description": "Required. Name of the database where the export command will be executed. Note - Value provided should be the same as expected from `SELECT current_database();` and NOT as a resource reference.", + "type": "string" + }, + "gcsDestination": { + "$ref": "GcsDestination", + "description": "Required. Option to export data to cloud storage." + }, + "sqlExportOptions": { + "$ref": "SqlExportOptions", + "description": "Options for exporting data in SQL format. Required field to be set for SQL file type." + } + }, + "type": "object" + }, "FailoverInstanceRequest": { "description": "Message for triggering failover on an Instance", "id": "FailoverInstanceRequest", @@ -2352,6 +2468,17 @@ }, "type": "object" }, + "GcsDestination": { + "description": "Destination for Export. Export will be done to cloud storage.", + "id": "GcsDestination", + "properties": { + "uri": { + "description": "Required. The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form `gs://bucketName/fileName`.", + "type": "string" + } + }, + "type": "object" + }, "GeminiClusterConfig": { "description": "Cluster level configuration parameters related to the Gemini in Databases add-on.", "id": "GeminiClusterConfig", @@ -2433,22 +2560,22 @@ "id": "GoogleTypeTimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } @@ -2521,7 +2648,7 @@ "additionalProperties": { "type": "string" }, - "description": "Database flags. Set at instance level. * They are copied from primary instance on read instance creation. * Read instances can set new or override existing flags that are relevant for reads, e.g. for enabling columnar cache on a read instance. Flags set on read instance may or may not be present on primary. This is a list of \"key\": \"value\" pairs. \"key\": The name of the flag. These flags are passed at instance setup time, so include both server options and system variables for Postgres. Flags are specified with underscores, not hyphens. \"value\": The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn't take a value.", + "description": "Database flags. Set at the instance level. They are copied from the primary instance on secondary instance creation. Flags that have restrictions default to the value at primary instance on read instances during creation. Read instances can set new flags or override existing flags that are relevant for reads, for example, for enabling columnar cache on a read instance. Flags set on read instance might or might not be present on the primary instance. This is a list of \"key\": \"value\" pairs. \"key\": The name of the flag. These flags are passed at instance setup time, so include both server options and system variables for Postgres. Flags are specified with underscores, not hyphens. \"value\": The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn't take a value.", "type": "object" }, "deleteTime": { @@ -3160,7 +3287,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -3223,6 +3350,12 @@ "pscEnabled": { "description": "Optional. Create an instance that allows connections from Private Service Connect endpoints to the instance.", "type": "boolean" + }, + "serviceOwnedProjectNumber": { + "description": "Output only. The project number that needs to be allowlisted on the network attachment to enable outbound connectivity.", + "format": "int64", + "readOnly": true, + "type": "string" } }, "type": "object" @@ -3243,6 +3376,13 @@ "readOnly": true, "type": "string" }, + "pscInterfaceConfigs": { + "description": "Optional. Configurations for setting up PSC interfaces attached to the instance which are used for outbound connectivity. Only primary instances can have PSC interface attached. Currently we only support 0 or 1 PSC interface.", + "items": { + "$ref": "PscInterfaceConfig" + }, + "type": "array" + }, "serviceAttachmentLink": { "description": "Output only. The service attachment created when Private Service Connect (PSC) is enabled for the instance. The name of the resource will be in the format of `projects//regions//serviceAttachments/`", "readOnly": true, @@ -3251,6 +3391,17 @@ }, "type": "object" }, + "PscInterfaceConfig": { + "description": "Configuration for setting up a PSC interface to enable outbound connectivity.", + "id": "PscInterfaceConfig", + "properties": { + "networkAttachmentResource": { + "description": "The network attachment resource created in the consumer network to which the PSC interface will be linked. This is of the format: \"projects/${CONSUMER_PROJECT}/regions/${REGION}/networkAttachments/${NETWORK_ATTACHMENT_NAME}\". The network attachment must be in the same region as the instance.", + "type": "string" + } + }, + "type": "object" + }, "QuantityBasedExpiry": { "description": "A backup's position in a quantity-based retention queue, of backups with the same source cluster and type, with length, retention, specified by the backup's retention policy. Once the position is greater than the retention, the backup is eligible to be garbage collected. Example: 5 backups from the same source cluster and type with a quantity-based retention of 3 and denoted by backup_id (position, retention). Safe: backup_5 (1, 3), backup_4, (2, 3), backup_3 (3, 3). Awaiting garbage collection: backup_2 (4, 3), backup_1 (5, 3)", "id": "QuantityBasedExpiry", @@ -3371,6 +3522,25 @@ }, "type": "object" }, + "RestoreFromCloudSQLRequest": { + "description": "Message for registering Restoring from CloudSQL resource.", + "id": "RestoreFromCloudSQLRequest", + "properties": { + "cloudsqlBackupRunSource": { + "$ref": "CloudSQLBackupRunSource", + "description": "Cluster created from CloudSQL backup run." + }, + "cluster": { + "$ref": "Cluster", + "description": "Required. The resource being created" + }, + "clusterId": { + "description": "Required. ID of the requesting object.", + "type": "string" + } + }, + "type": "object" + }, "SecondaryConfig": { "description": "Configuration information for the secondary cluster. This should be set if and only if the cluster is of type SECONDARY.", "id": "SecondaryConfig", @@ -3382,6 +3552,32 @@ }, "type": "object" }, + "SqlExportOptions": { + "description": "Options for exporting data in SQL format.", + "id": "SqlExportOptions", + "properties": { + "cleanTargetObjects": { + "description": "Optional. If true, output commands to DROP all the dumped database objects prior to outputting the commands for creating them.", + "type": "boolean" + }, + "ifExistTargetObjects": { + "description": "Optional. If true, use DROP ... IF EXISTS commands to check for the object's existence before dropping it in clean_target_objects mode.", + "type": "boolean" + }, + "schemaOnly": { + "description": "Optional. If true, only export the schema.", + "type": "boolean" + }, + "tables": { + "description": "Optional. Tables to export from.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "SslConfig": { "description": "SSL configuration.", "id": "SslConfig", @@ -4099,7 +4295,7 @@ "type": "object" }, "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata": { - "description": "Common model for database resource instance metadata. Next ID: 22", + "description": "Common model for database resource instance metadata. Next ID: 23", "id": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata", "properties": { "availabilityConfiguration": { @@ -4143,6 +4339,20 @@ "$ref": "StorageDatabasecenterPartnerapiV1mainCustomMetadataData", "description": "Any custom metadata associated with the resource" }, + "edition": { + "description": "Optional. Edition represents whether the instance is ENTERPRISE or ENTERPRISE_PLUS. This information is core to Cloud SQL only and is used to identify the edition of the instance.", + "enum": [ + "EDITION_UNSPECIFIED", + "EDITION_ENTERPRISE", + "EDITION_ENTERPRISE_PLUS" + ], + "enumDescriptions": [ + "Default, to make it consistent with instance edition enum.", + "Represents the enterprise edition.", + "Represents the enterprise plus edition." + ], + "type": "string" + }, "entitlements": { "description": "Entitlements associated with the resource", "items": { @@ -4637,6 +4847,11 @@ "description": "Optional. Number of shards (if applicable).", "format": "int32", "type": "integer" + }, + "vcpuCount": { + "description": "Optional. The number of vCPUs. TODO(b/342344482, b/342346271) add proto validations again after bug fix.", + "format": "double", + "type": "number" } }, "type": "object" @@ -4747,6 +4962,7 @@ "type": "integer" }, "retentionUnit": { + "deprecated": true, "description": "The unit that 'retained_backups' represents.", "enum": [ "RETENTION_UNIT_UNSPECIFIED", @@ -4767,6 +4983,11 @@ "timeBasedRetention": { "format": "google-duration", "type": "string" + }, + "timestampBasedRetentionTime": { + "description": "Timestamp based retention period i.e. 2024-05-01T00:00:00Z", + "format": "google-datetime", + "type": "string" } }, "type": "object" diff --git a/discovery/alloydb-v1beta.json b/discovery/alloydb-v1beta.json index dd0ccb7645..efc4c5eff9 100644 --- a/discovery/alloydb-v1beta.json +++ b/discovery/alloydb-v1beta.json @@ -517,6 +517,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "export": { + "description": "Exports data from the cluster. Imperative only.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:export", + "httpMethod": "POST", + "id": "alloydb.projects.locations.clusters.export", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the cluster.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:export", + "request": { + "$ref": "ExportClusterRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "get": { "description": "Gets details of a single Cluster.", "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}", @@ -708,6 +736,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "restoreFromCloudSQL": { + "description": "Restores an AlloyDB cluster from a CloudSQL resource.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/clusters:restoreFromCloudSQL", + "httpMethod": "POST", + "id": "alloydb.projects.locations.clusters.restoreFromCloudSQL", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The location of the new cluster. For the required format, see the comment on Cluster.name field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/clusters:restoreFromCloudSQL", + "request": { + "$ref": "RestoreFromCloudSQLRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "switchover": { "description": "Switches the roles of PRIMARY and SECONDARY clusters without any data loss. This promotes the SECONDARY cluster to PRIMARY and sets up the original PRIMARY cluster to replicate from this newly promoted cluster.", "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:switchover", @@ -1352,7 +1408,7 @@ "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`.", + "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": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "alloydb.projects.locations.operations.cancel", @@ -1514,7 +1570,7 @@ } } }, - "revision": "20240923", + "revision": "20241204", "rootUrl": "https://alloydb.googleapis.com/", "schemas": { "AuthorizedNetwork": { @@ -1708,6 +1764,13 @@ "readOnly": true, "type": "string" }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: ``` \"123/environment\": \"production\", \"123/costCenter\": \"marketing\" ```", + "type": "object" + }, "type": { "description": "The backup type, which suggests the trigger for the backup.", "enum": [ @@ -2036,6 +2099,13 @@ ], "type": "string" }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: ``` \"123/environment\": \"production\", \"123/costCenter\": \"marketing\" ```", + "type": "object" + }, "trialMetadata": { "$ref": "TrialMetadata", "description": "Output only. Metadata for free trial clusters", @@ -2271,6 +2341,29 @@ }, "type": "object" }, + "CsvExportOptions": { + "description": "Options for exporting data in CSV format.", + "id": "CsvExportOptions", + "properties": { + "escapeCharacter": { + "description": "Optional. Specifies the character that should appear before a data character that needs to be escaped. The default is the same as quote character. The value of this argument has to be a character in Hex ASCII Code.", + "type": "string" + }, + "fieldDelimiter": { + "description": "Optional. Specifies the character that separates columns within each row (line) of the file. The default is comma. The value of this argument has to be a character in Hex ASCII Code.", + "type": "string" + }, + "quoteCharacter": { + "description": "Optional. Specifies the quoting character to be used when a data value is quoted. The default is double-quote. The value of this argument has to be a character in Hex ASCII Code.", + "type": "string" + }, + "selectQuery": { + "description": "Required. The SELECT query used to extract the data.", + "type": "string" + } + }, + "type": "object" + }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", @@ -2318,6 +2411,29 @@ }, "type": "object" }, + "ExportClusterRequest": { + "description": "Export cluster request.", + "id": "ExportClusterRequest", + "properties": { + "csvExportOptions": { + "$ref": "CsvExportOptions", + "description": "Options for exporting data in CSV format. Required field to be set for CSV file type." + }, + "database": { + "description": "Required. Name of the database where the export command will be executed. Note - Value provided should be the same as expected from `SELECT current_database();` and NOT as a resource reference.", + "type": "string" + }, + "gcsDestination": { + "$ref": "GcsDestination", + "description": "Required. Option to export data to cloud storage." + }, + "sqlExportOptions": { + "$ref": "SqlExportOptions", + "description": "Options for exporting data in SQL format. Required field to be set for SQL file type." + } + }, + "type": "object" + }, "FailoverInstanceRequest": { "description": "Message for triggering failover on an Instance", "id": "FailoverInstanceRequest", @@ -2333,6 +2449,17 @@ }, "type": "object" }, + "GcsDestination": { + "description": "Destination for Export. Export will be done to cloud storage.", + "id": "GcsDestination", + "properties": { + "uri": { + "description": "Required. The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form `gs://bucketName/fileName`.", + "type": "string" + } + }, + "type": "object" + }, "GeminiClusterConfig": { "description": "Cluster level configuration parameters related to the Gemini in Databases add-on.", "id": "GeminiClusterConfig", @@ -2414,22 +2541,22 @@ "id": "GoogleTypeTimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } @@ -2502,7 +2629,7 @@ "additionalProperties": { "type": "string" }, - "description": "Database flags. Set at instance level. * They are copied from primary instance on read instance creation. * Read instances can set new or override existing flags that are relevant for reads, e.g. for enabling columnar cache on a read instance. Flags set on read instance may or may not be present on primary. This is a list of \"key\": \"value\" pairs. \"key\": The name of the flag. These flags are passed at instance setup time, so include both server options and system variables for Postgres. Flags are specified with underscores, not hyphens. \"value\": The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn't take a value.", + "description": "Database flags. Set at the instance level. They are copied from the primary instance on secondary instance creation. Flags that have restrictions default to the value at primary instance on read instances during creation. Read instances can set new flags or override existing flags that are relevant for reads, for example, for enabling columnar cache on a read instance. Flags set on read instance might or might not be present on the primary instance. This is a list of \"key\": \"value\" pairs. \"key\": The name of the flag. These flags are passed at instance setup time, so include both server options and system variables for Postgres. Flags are specified with underscores, not hyphens. \"value\": The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn't take a value.", "type": "object" }, "deleteTime": { @@ -3136,7 +3263,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -3347,6 +3474,25 @@ }, "type": "object" }, + "RestoreFromCloudSQLRequest": { + "description": "Message for registering Restoring from CloudSQL resource.", + "id": "RestoreFromCloudSQLRequest", + "properties": { + "cloudsqlBackupRunSource": { + "$ref": "CloudSQLBackupRunSource", + "description": "Cluster created from CloudSQL backup run." + }, + "cluster": { + "$ref": "Cluster", + "description": "Required. The resource being created" + }, + "clusterId": { + "description": "Required. ID of the requesting object.", + "type": "string" + } + }, + "type": "object" + }, "SecondaryConfig": { "description": "Configuration information for the secondary cluster. This should be set if and only if the cluster is of type SECONDARY.", "id": "SecondaryConfig", @@ -3358,6 +3504,32 @@ }, "type": "object" }, + "SqlExportOptions": { + "description": "Options for exporting data in SQL format.", + "id": "SqlExportOptions", + "properties": { + "cleanTargetObjects": { + "description": "Optional. If true, output commands to DROP all the dumped database objects prior to outputting the commands for creating them.", + "type": "boolean" + }, + "ifExistTargetObjects": { + "description": "Optional. If true, use DROP ... IF EXISTS commands to check for the object's existence before dropping it in clean_target_objects mode.", + "type": "boolean" + }, + "schemaOnly": { + "description": "Optional. If true, only export the schema.", + "type": "boolean" + }, + "tables": { + "description": "Optional. Tables to export from.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "SslConfig": { "description": "SSL configuration.", "id": "SslConfig", @@ -4075,7 +4247,7 @@ "type": "object" }, "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata": { - "description": "Common model for database resource instance metadata. Next ID: 22", + "description": "Common model for database resource instance metadata. Next ID: 23", "id": "StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata", "properties": { "availabilityConfiguration": { @@ -4119,6 +4291,20 @@ "$ref": "StorageDatabasecenterPartnerapiV1mainCustomMetadataData", "description": "Any custom metadata associated with the resource" }, + "edition": { + "description": "Optional. Edition represents whether the instance is ENTERPRISE or ENTERPRISE_PLUS. This information is core to Cloud SQL only and is used to identify the edition of the instance.", + "enum": [ + "EDITION_UNSPECIFIED", + "EDITION_ENTERPRISE", + "EDITION_ENTERPRISE_PLUS" + ], + "enumDescriptions": [ + "Default, to make it consistent with instance edition enum.", + "Represents the enterprise edition.", + "Represents the enterprise plus edition." + ], + "type": "string" + }, "entitlements": { "description": "Entitlements associated with the resource", "items": { @@ -4613,6 +4799,11 @@ "description": "Optional. Number of shards (if applicable).", "format": "int32", "type": "integer" + }, + "vcpuCount": { + "description": "Optional. The number of vCPUs. TODO(b/342344482, b/342346271) add proto validations again after bug fix.", + "format": "double", + "type": "number" } }, "type": "object" @@ -4723,6 +4914,7 @@ "type": "integer" }, "retentionUnit": { + "deprecated": true, "description": "The unit that 'retained_backups' represents.", "enum": [ "RETENTION_UNIT_UNSPECIFIED", @@ -4743,6 +4935,11 @@ "timeBasedRetention": { "format": "google-duration", "type": "string" + }, + "timestampBasedRetentionTime": { + "description": "Timestamp based retention period i.e. 2024-05-01T00:00:00Z", + "format": "google-datetime", + "type": "string" } }, "type": "object" diff --git a/discovery/analyticsadmin-v1alpha.json b/discovery/analyticsadmin-v1alpha.json index 5c9d23de95..272a1c33bc 100644 --- a/discovery/analyticsadmin-v1alpha.json +++ b/discovery/analyticsadmin-v1alpha.json @@ -340,7 +340,7 @@ ] }, "searchChangeHistoryEvents": { - "description": "Searches through all changes to an account or its children given the specified set of filters.", + "description": "Searches through all changes to an account or its children given the specified set of filters. Only returns the subset of changes supported by the API. The UI may return additional changes.", "flatPath": "v1alpha/accounts/{accountsId}:searchChangeHistoryEvents", "httpMethod": "POST", "id": "analyticsadmin.accounts.searchChangeHistoryEvents", @@ -4886,7 +4886,7 @@ } } }, - "revision": "20240929", + "revision": "20250103", "rootUrl": "https://analyticsadmin.googleapis.com/", "schemas": { "GoogleAnalyticsAdminV1alphaAccessBetweenFilter": { @@ -6818,7 +6818,7 @@ "id": "GoogleAnalyticsAdminV1alphaDataRetentionSettings", "properties": { "eventDataRetention": { - "description": "The length of time that event-level data is retained.", + "description": "Required. The length of time that event-level data is retained.", "enum": [ "RETENTION_DURATION_UNSPECIFIED", "TWO_MONTHS", @@ -6831,9 +6831,9 @@ "Data retention time duration is not specified.", "The data retention time duration is 2 months.", "The data retention time duration is 14 months.", - "The data retention time duration is 26 months. Available to 360 properties only.", - "The data retention time duration is 38 months. Available to 360 properties only.", - "The data retention time duration is 50 months. Available to 360 properties only." + "The data retention time duration is 26 months. Available to 360 properties only. Available for event data only.", + "The data retention time duration is 38 months. Available to 360 properties only. Available for event data only.", + "The data retention time duration is 50 months. Available to 360 properties only. Available for event data only." ], "type": "string" }, @@ -8774,7 +8774,7 @@ "type": "string" }, "pageSize": { - "description": "Optional. The maximum number of ChangeHistoryEvent items to return. The service may return fewer than this value, even if there are additional pages. If unspecified, at most 50 items will be returned. The maximum value is 200 (higher values will be coerced to the maximum).", + "description": "Optional. The maximum number of ChangeHistoryEvent items to return. If unspecified, at most 50 items will be returned. The maximum value is 200 (higher values will be coerced to the maximum). Note that the service may return a page with fewer items than this value specifies (potentially even zero), and that there still may be additional pages. If you want a particular number of items, you'll need to continue requesting additional pages using `page_token` until you get the needed number.", "format": "int32", "type": "integer" }, diff --git a/discovery/analyticsadmin-v1beta.json b/discovery/analyticsadmin-v1beta.json index 148bc7f38f..455543c6b8 100644 --- a/discovery/analyticsadmin-v1beta.json +++ b/discovery/analyticsadmin-v1beta.json @@ -334,7 +334,7 @@ ] }, "searchChangeHistoryEvents": { - "description": "Searches through all changes to an account or its children given the specified set of filters.", + "description": "Searches through all changes to an account or its children given the specified set of filters. Only returns the subset of changes supported by the API. The UI may return additional changes.", "flatPath": "v1beta/accounts/{accountsId}:searchChangeHistoryEvents", "httpMethod": "POST", "id": "analyticsadmin.accounts.searchChangeHistoryEvents", @@ -1788,7 +1788,7 @@ } } }, - "revision": "20240916", + "revision": "20250103", "rootUrl": "https://analyticsadmin.googleapis.com/", "schemas": { "GoogleAnalyticsAdminV1betaAccessBetweenFilter": { @@ -2575,7 +2575,7 @@ "id": "GoogleAnalyticsAdminV1betaDataRetentionSettings", "properties": { "eventDataRetention": { - "description": "The length of time that event-level data is retained.", + "description": "Required. The length of time that event-level data is retained.", "enum": [ "RETENTION_DURATION_UNSPECIFIED", "TWO_MONTHS", @@ -2588,9 +2588,9 @@ "Data retention time duration is not specified.", "The data retention time duration is 2 months.", "The data retention time duration is 14 months.", - "The data retention time duration is 26 months. Available to 360 properties only.", - "The data retention time duration is 38 months. Available to 360 properties only.", - "The data retention time duration is 50 months. Available to 360 properties only." + "The data retention time duration is 26 months. Available to 360 properties only. Available for event data only.", + "The data retention time duration is 38 months. Available to 360 properties only. Available for event data only.", + "The data retention time duration is 50 months. Available to 360 properties only. Available for event data only." ], "type": "string" }, @@ -3470,7 +3470,7 @@ "type": "string" }, "pageSize": { - "description": "Optional. The maximum number of ChangeHistoryEvent items to return. The service may return fewer than this value, even if there are additional pages. If unspecified, at most 50 items will be returned. The maximum value is 200 (higher values will be coerced to the maximum).", + "description": "Optional. The maximum number of ChangeHistoryEvent items to return. If unspecified, at most 50 items will be returned. The maximum value is 200 (higher values will be coerced to the maximum). Note that the service may return a page with fewer items than this value specifies (potentially even zero), and that there still may be additional pages. If you want a particular number of items, you'll need to continue requesting additional pages using `page_token` until you get the needed number.", "format": "int32", "type": "integer" }, @@ -3494,6 +3494,8 @@ "GOOGLE_SIGNALS_SETTINGS", "CONVERSION_EVENT", "MEASUREMENT_PROTOCOL_SECRET", + "CUSTOM_DIMENSION", + "CUSTOM_METRIC", "DATA_RETENTION_SETTINGS", "DISPLAY_VIDEO_360_ADVERTISER_LINK", "DISPLAY_VIDEO_360_ADVERTISER_LINK_PROPOSAL", @@ -3509,6 +3511,8 @@ "GoogleSignalsSettings resource", "ConversionEvent resource", "MeasurementProtocolSecret resource", + "CustomDimension resource", + "CustomMetric resource", "DataRetentionSettings resource", "DisplayVideo360AdvertiserLink resource", "DisplayVideo360AdvertiserLinkProposal resource", diff --git a/discovery/analyticsdata-v1beta.json b/discovery/analyticsdata-v1beta.json index 37134f4f73..fb09abcb56 100644 --- a/discovery/analyticsdata-v1beta.json +++ b/discovery/analyticsdata-v1beta.json @@ -440,7 +440,7 @@ } } }, - "revision": "20240825", + "revision": "20241117", "rootUrl": "https://analyticsdata.googleapis.com/", "schemas": { "ActiveMetricRestriction": { @@ -1007,6 +1007,12 @@ }, "type": "object" }, + "EmptyFilter": { + "description": "Filter for empty values.", + "id": "EmptyFilter", + "properties": {}, + "type": "object" + }, "Filter": { "description": "An expression to filter dimension or metric values.", "id": "Filter", @@ -1015,6 +1021,10 @@ "$ref": "BetweenFilter", "description": "A filter for two values." }, + "emptyFilter": { + "$ref": "EmptyFilter", + "description": "A filter for empty values such as \"(not set)\" and \"\" values." + }, "fieldName": { "description": "The dimension name or metric name. In most methods, dimensions & metrics can be used for the first time in this field. However in a RunPivotReportRequest, this field must be additionally specified by name in the RunPivotReportRequest's dimensions or metrics.", "type": "string" diff --git a/discovery/analyticshub-v1.json b/discovery/analyticshub-v1.json index bac2f1cf82..3a9dbdef66 100644 --- a/discovery/analyticshub-v1.json +++ b/discovery/analyticshub-v1.json @@ -1022,11 +1022,11 @@ } } }, - "revision": "20240925", + "revision": "20241213", "rootUrl": "https://analyticshub.googleapis.com/", "schemas": { "AnalyticsHubSubscriptionInfo": { - "description": "Information about an associated Analytics Hub subscription (https://cloud.google.com/bigquery/docs/analytics-hub-manage-subscriptions).", + "description": "Information about an associated [Analytics Hub subscription](https://cloud.google.com/bigquery/docs/analytics-hub-manage-subscriptions).", "id": "AnalyticsHubSubscriptionInfo", "properties": { "listing": { @@ -1501,6 +1501,68 @@ }, "type": "object" }, + "GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo": { + "description": "Commercial info contains the information about the commercial data products associated with the listing.", + "id": "GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo", + "properties": { + "cloudMarketplace": { + "$ref": "GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo", + "description": "Output only. Details of the Marketplace Data Product associated with the Listing.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo": { + "description": "Specifies the details of the Marketplace Data Product associated with the Listing.", + "id": "GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo", + "properties": { + "commercialState": { + "description": "Output only. Commercial state of the Marketplace Data Product.", + "enum": [ + "COMMERCIAL_STATE_UNSPECIFIED", + "ONBOARDING", + "ACTIVE" + ], + "enumDescriptions": [ + "Commercialization is incomplete and cannot be used.", + "Commercialization has been initialized.", + "Commercialization is complete and available for use." + ], + "readOnly": true, + "type": "string" + }, + "service": { + "description": "Output only. Resource name of the commercial service associated with the Marketplace Data Product. e.g. example.com", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo": { + "description": "Commercial info metadata for this subscription.", + "id": "GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo", + "properties": { + "cloudMarketplace": { + "$ref": "GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo", + "description": "Output only. This is set when the subscription is commercialised via Cloud Marketplace.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo": { + "description": "Cloud Marketplace commercial metadata for this subscription.", + "id": "GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo", + "properties": { + "order": { + "description": "Resource name of the Marketplace Order.", + "type": "string" + } + }, + "type": "object" + }, "GooglePubsubV1Subscription": { "description": "A subscription resource. If none of `push_config`, `bigquery_config`, or `cloud_storage_config` is set, then the subscriber will pull and ack messages using API methods. At most one of these fields may be set.", "id": "GooglePubsubV1Subscription", @@ -1770,6 +1832,11 @@ }, "type": "array" }, + "commercialInfo": { + "$ref": "GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo", + "description": "Output only. Commercial info contains the information about the commercial data products associated with the listing.", + "readOnly": true + }, "dataProvider": { "$ref": "DataProvider", "description": "Optional. Details of the data provider who owns the source data." @@ -2228,6 +2295,10 @@ "description": "Required. The parent resource path of the Subscription. e.g. `projects/subscriberproject/locations/US`", "type": "string" }, + "destinationDataset": { + "$ref": "DestinationDataset", + "description": "Optional. BigQuery destination dataset to create for the subscriber." + }, "subscriberContact": { "description": "Email of the subscriber.", "type": "string" @@ -2280,6 +2351,11 @@ "description": "A subscription represents a subscribers' access to a particular set of published data. It contains references to associated listings, data exchanges, and linked datasets.", "id": "Subscription", "properties": { + "commercialInfo": { + "$ref": "GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo", + "description": "Output only. This is set if this is a commercial subscription i.e. if this subscription was created from subscribing to a commercial listing.", + "readOnly": true + }, "creationTime": { "description": "Output only. Timestamp when the subscription was created.", "format": "google-datetime", diff --git a/discovery/analyticshub-v1beta1.json b/discovery/analyticshub-v1beta1.json index 8a004a465b..02322dacff 100644 --- a/discovery/analyticshub-v1beta1.json +++ b/discovery/analyticshub-v1beta1.json @@ -695,7 +695,7 @@ } } }, - "revision": "20240624", + "revision": "20241213", "rootUrl": "https://analyticshub.googleapis.com/", "schemas": { "AuditConfig": { @@ -779,6 +779,18 @@ }, "type": "object" }, + "CommercialInfo": { + "description": "Commercial info metadata for this subscription.", + "id": "CommercialInfo", + "properties": { + "cloudMarketplace": { + "$ref": "GoogleCloudMarketplaceInfo", + "description": "Output only. This is set when the subscription is commercialised via Cloud Marketplace.", + "readOnly": true + } + }, + "type": "object" + }, "DataExchange": { "description": "A data exchange is a container that lets you share data. Along with the descriptive information about the data exchange, it contains listings that reference shared datasets.", "id": "DataExchange", @@ -833,51 +845,6 @@ }, "type": "object" }, - "DestinationDataset": { - "description": "Defines the destination bigquery dataset.", - "id": "DestinationDataset", - "properties": { - "datasetReference": { - "$ref": "DestinationDatasetReference", - "description": "Required. A reference that identifies the destination dataset." - }, - "description": { - "description": "Optional. A user-friendly description of the dataset.", - "type": "string" - }, - "friendlyName": { - "description": "Optional. A descriptive name for the dataset.", - "type": "string" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Optional. The labels associated with this dataset. You can use these to organize and group your datasets. You can set this property when inserting or updating a dataset. See https://cloud.google.com/resource-manager/docs/creating-managing-labels for more information.", - "type": "object" - }, - "location": { - "description": "Required. The geographic location where the dataset should reside. See https://cloud.google.com/bigquery/docs/locations for supported locations.", - "type": "string" - } - }, - "type": "object" - }, - "DestinationDatasetReference": { - "description": "Contains the reference that identifies a destination bigquery dataset.", - "id": "DestinationDatasetReference", - "properties": { - "datasetId": { - "description": "Required. A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.", - "type": "string" - }, - "projectId": { - "description": "Required. The ID of the project containing this dataset.", - "type": "string" - } - }, - "type": "object" - }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", @@ -930,6 +897,62 @@ }, "type": "object" }, + "GoogleCloudBigqueryDataexchangeV1beta1DestinationDataset": { + "description": "Defines the destination bigquery dataset.", + "id": "GoogleCloudBigqueryDataexchangeV1beta1DestinationDataset", + "properties": { + "datasetReference": { + "$ref": "GoogleCloudBigqueryDataexchangeV1beta1DestinationDatasetReference", + "description": "Required. A reference that identifies the destination dataset." + }, + "description": { + "description": "Optional. A user-friendly description of the dataset.", + "type": "string" + }, + "friendlyName": { + "description": "Optional. A descriptive name for the dataset.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The labels associated with this dataset. You can use these to organize and group your datasets. You can set this property when inserting or updating a dataset. See https://cloud.google.com/resource-manager/docs/creating-managing-labels for more information.", + "type": "object" + }, + "location": { + "description": "Required. The geographic location where the dataset should reside. See https://cloud.google.com/bigquery/docs/locations for supported locations.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudBigqueryDataexchangeV1beta1DestinationDatasetReference": { + "description": "Contains the reference that identifies a destination bigquery dataset.", + "id": "GoogleCloudBigqueryDataexchangeV1beta1DestinationDatasetReference", + "properties": { + "datasetId": { + "description": "Required. A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.", + "type": "string" + }, + "projectId": { + "description": "Required. The ID of the project containing this dataset.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMarketplaceInfo": { + "description": "Cloud Marketplace commercial metadata for this subscription.", + "id": "GoogleCloudMarketplaceInfo", + "properties": { + "order": { + "description": "Resource name of the Marketplace Order.", + "type": "string" + } + }, + "type": "object" + }, "LinkedResource": { "description": "Reference to a linked resource tracked by this Subscription.", "id": "LinkedResource", @@ -1276,7 +1299,7 @@ "id": "SubscribeListingRequest", "properties": { "destinationDataset": { - "$ref": "DestinationDataset", + "$ref": "GoogleCloudBigqueryDataexchangeV1beta1DestinationDataset", "description": "BigQuery destination dataset to create for the subscriber." } }, @@ -1292,6 +1315,11 @@ "description": "A subscription represents a subscribers' access to a particular set of published data. It contains references to associated listings, data exchanges, and linked datasets.", "id": "Subscription", "properties": { + "commercialInfo": { + "$ref": "CommercialInfo", + "description": "Output only. This is set if this is a commercial subscription i.e. if this subscription was created from subscribing to a commercial listing.", + "readOnly": true + }, "creationTime": { "description": "Output only. Timestamp when the subscription was created.", "format": "google-datetime", diff --git a/discovery/androiddeviceprovisioning-v1.json b/discovery/androiddeviceprovisioning-v1.json index 48c7c65ea9..7ca41aac66 100644 --- a/discovery/androiddeviceprovisioning-v1.json +++ b/discovery/androiddeviceprovisioning-v1.json @@ -106,7 +106,7 @@ "parameterOrder": [], "parameters": { "pageSize": { - "description": "The maximum number of customers to show in a page of results. A number between 1 and 100 (inclusive).", + "description": "Required. The maximum number of customers to show in a page of results. A number between 1 and 100 (inclusive).", "format": "int32", "location": "query", "type": "integer" @@ -309,7 +309,7 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of devices to show in a page of results. Must be between 1 and 100 inclusive.", + "description": "Required. The maximum number of devices to show in a page of results. Must be between 1 and 100 inclusive.", "format": "int64", "location": "query", "type": "string" @@ -851,7 +851,7 @@ } } }, - "revision": "20240916", + "revision": "20241202", "rootUrl": "https://androiddeviceprovisioning.googleapis.com/", "schemas": { "ClaimDeviceRequest": { diff --git a/discovery/androidenterprise-v1.json b/discovery/androidenterprise-v1.json index cea0553986..264b87d1a1 100644 --- a/discovery/androidenterprise-v1.json +++ b/discovery/androidenterprise-v1.json @@ -392,31 +392,19 @@ "enterpriseId" ], "parameters": { - "deviceType": { - "description": "Whether it’s a dedicated device or a knowledge worker device.", - "enum": [ - "unknown", - "dedicatedDevice", - "knowledgeWorker" - ], - "enumDescriptions": [ - "This value is unused", - "This device is a dedicated device.", - "This device is required to have an authenticated user." - ], - "location": "query", - "type": "string" - }, "enterpriseId": { - "description": "The ID of the enterprise.", + "description": "Required. The ID of the enterprise.", "location": "path", "required": true, "type": "string" } }, "path": "androidenterprise/v1/enterprises/{enterpriseId}/createEnrollmentToken", + "request": { + "$ref": "EnrollmentToken" + }, "response": { - "$ref": "CreateEnrollmentTokenResponse" + "$ref": "EnrollmentToken" }, "scopes": [ "https://www.googleapis.com/auth/androidenterprise" @@ -2654,7 +2642,7 @@ } } }, - "revision": "20240820", + "revision": "20250102", "rootUrl": "https://androidenterprise.googleapis.com/", "schemas": { "Administrator": { @@ -3148,17 +3136,6 @@ }, "type": "object" }, - "CreateEnrollmentTokenResponse": { - "description": "Response message for create enrollment token.", - "id": "CreateEnrollmentTokenResponse", - "properties": { - "enrollmentToken": { - "description": "Enrollment token.", - "type": "string" - } - }, - "type": "object" - }, "Device": { "description": "A Devices resource represents a mobile device managed by the EMM and belonging to a specific enterprise user.", "id": "Device", @@ -3293,6 +3270,36 @@ }, "type": "object" }, + "EnrollmentToken": { + "description": "A token used to enroll a device.", + "id": "EnrollmentToken", + "properties": { + "duration": { + "description": "[Optional] The length of time the enrollment token is valid, ranging from 1 minute to [`Durations.MAX_VALUE`](https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/util/Durations.html#MAX_VALUE), approximately 10,000 years. If not specified, the default duration is 1 hour.", + "format": "google-duration", + "type": "string" + }, + "enrollmentTokenType": { + "description": "[Required] The type of the enrollment token.", + "enum": [ + "enrollmentTokenTypeUnspecified", + "userlessDevice", + "userDevice" + ], + "enumDescriptions": [ + "The value is unused.", + "The enrollment token is for a userless device.", + "The enrollment token is for a user device." + ], + "type": "string" + }, + "token": { + "description": "The token value that's passed to the device and authorizes the device to enroll. This is a read-only field generated by the server.", + "type": "string" + } + }, + "type": "object" + }, "Enterprise": { "description": "An Enterprises resource represents the binding between an EMM and a specific organization. That binding can be instantiated in one of two different ways using this API as follows: - For Google managed domain customers, the process involves using Enterprises.enroll and Enterprises.setAccount (in conjunction with artifacts obtained from the Admin console and the Google API Console) and submitted to the EMM through a more-or-less manual process. - For managed Google Play Accounts customers, the process involves using Enterprises.generateSignupUrl and Enterprises.completeSignup in conjunction with the managed Google Play sign-up UI (Google-provided mechanism) to create the binding without manual steps. As an EMM, you can support either or both approaches in your EMM console. See Create an Enterprise for details.", "id": "Enterprise", @@ -4015,7 +4022,7 @@ "properties": { "autoUpdatePolicy": { "deprecated": true, - "description": "Controls when automatic app updates on the device can be applied. Recommended alternative: autoUpdateMode which is set per app, provides greater flexibility around update frequency. When autoUpdateMode is set to AUTO_UPDATE_POSTPONED or AUTO_UPDATE_HIGH_PRIORITY, autoUpdatePolicy has no effect. \"choiceToTheUser\" allows the device's user to configure the app update policy. \"always\" enables auto updates. \"never\" disables auto updates. \"wifiOnly\" enables auto updates only when the device is connected to wifi.", + "description": "Controls when automatic app updates on the device can be applied. Recommended alternative: autoUpdateMode which is set per app, provides greater flexibility around update frequency. When autoUpdateMode is set to AUTO_UPDATE_POSTPONED or AUTO_UPDATE_HIGH_PRIORITY, autoUpdatePolicy has no effect. - choiceToTheUser allows the device's user to configure the app update policy. - always enables auto updates. - never disables auto updates. - wifiOnly enables auto updates only when the device is connected to wifi. *Important:* Changes to app update policies don't affect updates that are in progress. Any policy changes will apply to subsequent app updates. ", "enum": [ "autoUpdatePolicyUnspecified", "choiceToTheUser", @@ -4050,6 +4057,10 @@ "$ref": "MaintenanceWindow", "description": "The maintenance window defining when apps running in the foreground should be updated." }, + "policyId": { + "description": "An identifier for the policy that will be passed with the app install feedback sent from the Play Store.", + "type": "string" + }, "productAvailabilityPolicy": { "description": "The availability granted to the device for the specified products. \"all\" gives the device access to all products, regardless of approval status. \"all\" does not enable automatic visibility of \"alpha\" or \"beta\" tracks. \"whitelist\" grants the device access the products specified in productPolicy[]. Only products that are approved or products that were previously approved (products with revoked approval) by the enterprise can be whitelisted. If no value is provided, the availability set at the user level is applied by default.", "enum": [ diff --git a/discovery/androidmanagement-v1.json b/discovery/androidmanagement-v1.json index c8923322e8..faa64b96d2 100644 --- a/discovery/androidmanagement-v1.json +++ b/discovery/androidmanagement-v1.json @@ -1146,6 +1146,12 @@ "location": "query", "type": "string" }, + "allowedDomains": { + "description": "Optional. A list of domains that are permitted for the admin email. The IT admin cannot enter an email address with a domain name that is not in this list. Subdomains of domains in this list are not allowed but can be allowed by adding a second entry which has *. prefixed to the domain name (e.g. *.example.com). If the field is not present or is an empty list then the IT admin is free to use any valid domain name. Personal email domains are always allowed, but will result in the creation of a managed Google Play Accounts enterprise.", + "location": "query", + "repeated": true, + "type": "string" + }, "callbackUrl": { "description": "The callback URL that the admin will be redirected to after successfully creating an enterprise. Before redirecting there the system will add a query parameter to this URL named enterpriseToken which will contain an opaque token to be used for the create enterprise request. The URL will be parsed then reformatted in order to add the enterpriseToken parameter, so there may be some minor formatting changes.", "location": "query", @@ -1168,7 +1174,7 @@ } } }, - "revision": "20240924", + "revision": "20250106", "rootUrl": "https://androidmanagement.googleapis.com/", "schemas": { "AdbShellCommandEvent": { @@ -1716,7 +1722,7 @@ "enumDescriptions": [ "Policy not specified. If no policy is specified for a permission at any level, then the PROMPT behavior is used by default.", "Prompt the user to grant a permission.", - "Automatically grant a permission.On Android 12 and above, Manifest.permission.READ_SMS (https://developer.android.com/reference/android/Manifest.permission#READ_SMS) and following sensor-related permissions can only be granted on fully managed devices: Manifest.permission.ACCESS_FINE_LOCATION (https://developer.android.com/reference/android/Manifest.permission#ACCESS_FINE_LOCATION) Manifest.permission.ACCESS_BACKGROUND_LOCATION (https://developer.android.com/reference/android/Manifest.permission#ACCESS_BACKGROUND_LOCATION) Manifest.permission.ACCESS_COARSE_LOCATION (https://developer.android.com/reference/android/Manifest.permission#ACCESS_COARSE_LOCATION) Manifest.permission.CAMERA (https://developer.android.com/reference/android/Manifest.permission#CAMERA) Manifest.permission.RECORD_AUDIO (https://developer.android.com/reference/android/Manifest.permission#RECORD_AUDIO) Manifest.permission.ACTIVITY_RECOGNITION (https://developer.android.com/reference/android/Manifest.permission#ACTIVITY_RECOGNITION) Manifest.permission.BODY_SENSORS (https://developer.android.com/reference/android/Manifest.permission#BODY_SENSORS)", + "Automatically grant a permission.On Android 12 and above, READ_SMS (https://developer.android.com/reference/android/Manifest.permission#READ_SMS) and following sensor-related permissions can only be granted on fully managed devices: ACCESS_FINE_LOCATION (https://developer.android.com/reference/android/Manifest.permission#ACCESS_FINE_LOCATION) ACCESS_BACKGROUND_LOCATION (https://developer.android.com/reference/android/Manifest.permission#ACCESS_BACKGROUND_LOCATION) ACCESS_COARSE_LOCATION (https://developer.android.com/reference/android/Manifest.permission#ACCESS_COARSE_LOCATION) CAMERA (https://developer.android.com/reference/android/Manifest.permission#CAMERA) RECORD_AUDIO (https://developer.android.com/reference/android/Manifest.permission#RECORD_AUDIO) ACTIVITY_RECOGNITION (https://developer.android.com/reference/android/Manifest.permission#ACTIVITY_RECOGNITION) BODY_SENSORS (https://developer.android.com/reference/android/Manifest.permission#BODY_SENSORS)", "Automatically deny a permission." ], "type": "string" @@ -1738,15 +1744,15 @@ ], "enumDescriptions": [ "No delegation scope specified.", - "Grants access to certificate installation and management.", - "Grants access to managed configurations management.", - "Grants access to blocking uninstallation.", - "Grants access to permission policy and permission grant state.", - "Grants access to package access state.", - "Grants access for enabling system apps.", + "Grants access to certificate installation and management. This scope can be delegated to multiple applications.", + "Grants access to managed configurations management. This scope can be delegated to multiple applications.", + "Grants access to blocking uninstallation. This scope can be delegated to multiple applications.", + "Grants access to permission policy and permission grant state. This scope can be delegated to multiple applications.", + "Grants access to package access state. This scope can be delegated to multiple applications.", + "Grants access for enabling system apps. This scope can be delegated to multiple applications.", "Grants access to network activity logs. Allows the delegated application to call setNetworkLoggingEnabled (https://developer.android.com/reference/android/app/admin/DevicePolicyManager#setNetworkLoggingEnabled%28android.content.ComponentName,%20boolean%29), isNetworkLoggingEnabled (https://developer.android.com/reference/android/app/admin/DevicePolicyManager#isNetworkLoggingEnabled%28android.content.ComponentName%29) and retrieveNetworkLogs (https://developer.android.com/reference/android/app/admin/DevicePolicyManager#retrieveNetworkLogs%28android.content.ComponentName,%20long%29) methods. This scope can be delegated to at most one application. Supported for fully managed devices on Android 10 and above. Supported for a work profile on Android 12 and above. When delegation is supported and set, NETWORK_ACTIVITY_LOGS is ignored.", "Grants access to security logs. Allows the delegated application to call setSecurityLoggingEnabled (https://developer.android.com/reference/android/app/admin/DevicePolicyManager#setSecurityLoggingEnabled%28android.content.ComponentName,%20boolean%29), isSecurityLoggingEnabled (https://developer.android.com/reference/android/app/admin/DevicePolicyManager#isSecurityLoggingEnabled%28android.content.ComponentName%29), retrieveSecurityLogs (https://developer.android.com/reference/android/app/admin/DevicePolicyManager#retrieveSecurityLogs%28android.content.ComponentName%29) and retrievePreRebootSecurityLogs (https://developer.android.com/reference/android/app/admin/DevicePolicyManager#retrievePreRebootSecurityLogs%28android.content.ComponentName%29) methods. This scope can be delegated to at most one application. Supported for fully managed devices and company-owned devices with a work profile on Android 12 and above. When delegation is supported and set, SECURITY_LOGS is ignored.", - "Grants access to selection of KeyChain certificates on behalf of requesting apps. Once granted, the delegated application will start receiving DelegatedAdminReceiver#onChoosePrivateKeyAlias (https://developer.android.com/reference/android/app/admin/DelegatedAdminReceiver#onChoosePrivateKeyAlias%28android.content.Context,%20android.content.Intent,%20int,%20android.net.Uri,%20java.lang.String%29). Allows the delegated application to call grantKeyPairToApp (https://developer.android.com/reference/android/app/admin/DevicePolicyManager#grantKeyPairToApp%28android.content.ComponentName,%20java.lang.String,%20java.lang.String%29) and revokeKeyPairFromApp (https://developer.android.com/reference/android/app/admin/DevicePolicyManager#revokeKeyPairFromApp%28android.content.ComponentName,%20java.lang.String,%20java.lang.String%29) methods. There can be at most one app that has this delegation. choosePrivateKeyRules must be empty and privateKeySelectionEnabled has no effect if certificate selection is delegated to an application." + "Grants access to selection of KeyChain certificates on behalf of requesting apps. Once granted, the delegated application will start receiving DelegatedAdminReceiver#onChoosePrivateKeyAlias (https://developer.android.com/reference/android/app/admin/DelegatedAdminReceiver#onChoosePrivateKeyAlias%28android.content.Context,%20android.content.Intent,%20int,%20android.net.Uri,%20java.lang.String%29). Allows the delegated application to call grantKeyPairToApp (https://developer.android.com/reference/android/app/admin/DevicePolicyManager#grantKeyPairToApp%28android.content.ComponentName,%20java.lang.String,%20java.lang.String%29) and revokeKeyPairFromApp (https://developer.android.com/reference/android/app/admin/DevicePolicyManager#revokeKeyPairFromApp%28android.content.ComponentName,%20java.lang.String,%20java.lang.String%29) methods. This scope can be delegated to at most one application. choosePrivateKeyRules must be empty and privateKeySelectionEnabled has no effect if certificate selection is delegated to an application." ], "type": "string" }, @@ -3087,7 +3093,7 @@ "Personal usage restriction is not specified", "Personal usage is allowed", "Personal usage is disallowed", - "Device is not associated with a single user, and thus both personal usage and corporate identity authentication are not expected." + "Device is not associated with a single user, and thus both personal usage and corporate identity authentication are not expected. Important: This setting is mandatory for dedicated device enrollment and it is a breaking change. This change needs to be implemented before January 2025.For additional details see the dedicated device provisioning guide (https://developers.google.com/android/management/provision-device#company-owned_devices_for_work_use_only). " ], "type": "string" }, @@ -3216,7 +3222,7 @@ "type": "object" }, "ExtensionConfig": { - "description": "Configuration to enable an app as an extension app, with the capability of interacting with Android Device Policy offline. For Android versions 13 and above, extension apps are exempt from battery restrictions so will not be placed into the restricted App Standby Bucket (https://developer.android.com/topic/performance/appstandby#restricted-bucket). Extensions apps are also protected against users clearing their data or force-closing the application, although admins can continue to use the clear app data command on extension apps if needed for Android 13 and above.", + "description": "Configuration to enable an app as an extension app, with the capability of interacting with Android Device Policy offline. For Android versions 11 and above, extension apps are exempt from battery restrictions so will not be placed into the restricted App Standby Bucket (https://developer.android.com/topic/performance/appstandby#restricted-bucket). Extensions apps are also protected against users clearing their data or force-closing the application, although admins can continue to use the clear app data command on extension apps if needed for Android 11 and above.", "id": "ExtensionConfig", "properties": { "notificationReceiver": { @@ -4708,7 +4714,7 @@ "enumDescriptions": [ "Policy not specified. If no policy is specified for a permission at any level, then the PROMPT behavior is used by default.", "Prompt the user to grant a permission.", - "Automatically grant a permission.On Android 12 and above, Manifest.permission.READ_SMS (https://developer.android.com/reference/android/Manifest.permission#READ_SMS) and following sensor-related permissions can only be granted on fully managed devices: Manifest.permission.ACCESS_FINE_LOCATION (https://developer.android.com/reference/android/Manifest.permission#ACCESS_FINE_LOCATION) Manifest.permission.ACCESS_BACKGROUND_LOCATION (https://developer.android.com/reference/android/Manifest.permission#ACCESS_BACKGROUND_LOCATION) Manifest.permission.ACCESS_COARSE_LOCATION (https://developer.android.com/reference/android/Manifest.permission#ACCESS_COARSE_LOCATION) Manifest.permission.CAMERA (https://developer.android.com/reference/android/Manifest.permission#CAMERA) Manifest.permission.RECORD_AUDIO (https://developer.android.com/reference/android/Manifest.permission#RECORD_AUDIO) Manifest.permission.ACTIVITY_RECOGNITION (https://developer.android.com/reference/android/Manifest.permission#ACTIVITY_RECOGNITION) Manifest.permission.BODY_SENSORS (https://developer.android.com/reference/android/Manifest.permission#BODY_SENSORS)", + "Automatically grant a permission.On Android 12 and above, READ_SMS (https://developer.android.com/reference/android/Manifest.permission#READ_SMS) and following sensor-related permissions can only be granted on fully managed devices: ACCESS_FINE_LOCATION (https://developer.android.com/reference/android/Manifest.permission#ACCESS_FINE_LOCATION) ACCESS_BACKGROUND_LOCATION (https://developer.android.com/reference/android/Manifest.permission#ACCESS_BACKGROUND_LOCATION) ACCESS_COARSE_LOCATION (https://developer.android.com/reference/android/Manifest.permission#ACCESS_COARSE_LOCATION) CAMERA (https://developer.android.com/reference/android/Manifest.permission#CAMERA) RECORD_AUDIO (https://developer.android.com/reference/android/Manifest.permission#RECORD_AUDIO) ACTIVITY_RECOGNITION (https://developer.android.com/reference/android/Manifest.permission#ACTIVITY_RECOGNITION) BODY_SENSORS (https://developer.android.com/reference/android/Manifest.permission#BODY_SENSORS)", "Automatically deny a permission." ], "type": "string" @@ -4815,6 +4821,20 @@ ], "type": "string" }, + "privateSpacePolicy": { + "description": "Optional. Controls whether a private space is allowed on the device.", + "enum": [ + "PRIVATE_SPACE_POLICY_UNSPECIFIED", + "PRIVATE_SPACE_ALLOWED", + "PRIVATE_SPACE_DISALLOWED" + ], + "enumDescriptions": [ + "Unspecified. Defaults to PRIVATE_SPACE_ALLOWED.", + "Users can create a private space profile.", + "Users cannot create a private space profile. Supported only for company-owned devices with a work profile. Caution: Any existing private space will be removed." + ], + "type": "string" + }, "screenCaptureDisabled": { "description": "If true, screen capture is disabled for all users.", "type": "boolean" @@ -4834,7 +4854,7 @@ "type": "array" }, "addUserDisabled": { - "description": "Whether adding new users and profiles is disabled.", + "description": "Whether adding new users and profiles is disabled. For devices where managementMode is DEVICE_OWNER this field is ignored and the user is never allowed to add or remove users.", "type": "boolean" }, "adjustVolumeDisabled": { @@ -5028,7 +5048,7 @@ "enumDescriptions": [ "Policy not specified. If no policy is specified for a permission at any level, then the PROMPT behavior is used by default.", "Prompt the user to grant a permission.", - "Automatically grant a permission.On Android 12 and above, Manifest.permission.READ_SMS (https://developer.android.com/reference/android/Manifest.permission#READ_SMS) and following sensor-related permissions can only be granted on fully managed devices: Manifest.permission.ACCESS_FINE_LOCATION (https://developer.android.com/reference/android/Manifest.permission#ACCESS_FINE_LOCATION) Manifest.permission.ACCESS_BACKGROUND_LOCATION (https://developer.android.com/reference/android/Manifest.permission#ACCESS_BACKGROUND_LOCATION) Manifest.permission.ACCESS_COARSE_LOCATION (https://developer.android.com/reference/android/Manifest.permission#ACCESS_COARSE_LOCATION) Manifest.permission.CAMERA (https://developer.android.com/reference/android/Manifest.permission#CAMERA) Manifest.permission.RECORD_AUDIO (https://developer.android.com/reference/android/Manifest.permission#RECORD_AUDIO) Manifest.permission.ACTIVITY_RECOGNITION (https://developer.android.com/reference/android/Manifest.permission#ACTIVITY_RECOGNITION) Manifest.permission.BODY_SENSORS (https://developer.android.com/reference/android/Manifest.permission#BODY_SENSORS)", + "Automatically grant a permission.On Android 12 and above, READ_SMS (https://developer.android.com/reference/android/Manifest.permission#READ_SMS) and following sensor-related permissions can only be granted on fully managed devices: ACCESS_FINE_LOCATION (https://developer.android.com/reference/android/Manifest.permission#ACCESS_FINE_LOCATION) ACCESS_BACKGROUND_LOCATION (https://developer.android.com/reference/android/Manifest.permission#ACCESS_BACKGROUND_LOCATION) ACCESS_COARSE_LOCATION (https://developer.android.com/reference/android/Manifest.permission#ACCESS_COARSE_LOCATION) CAMERA (https://developer.android.com/reference/android/Manifest.permission#CAMERA) RECORD_AUDIO (https://developer.android.com/reference/android/Manifest.permission#RECORD_AUDIO) ACTIVITY_RECOGNITION (https://developer.android.com/reference/android/Manifest.permission#ACTIVITY_RECOGNITION) BODY_SENSORS (https://developer.android.com/reference/android/Manifest.permission#BODY_SENSORS)", "Automatically deny a permission." ], "type": "string" @@ -5093,7 +5113,7 @@ "type": "boolean" }, "keyguardDisabled": { - "description": "If true, this disables the Lock Screen (https://source.android.com/docs/core/display/multi_display/lock-screen) for primary and/or secondary displays.", + "description": "If true, this disables the Lock Screen (https://source.android.com/docs/core/display/multi_display/lock-screen) for primary and/or secondary displays. This policy is supported only in dedicated device management mode.", "type": "boolean" }, "keyguardDisabledFeatures": { @@ -5800,7 +5820,7 @@ "Personal usage restriction is not specified", "Personal usage is allowed", "Personal usage is disallowed", - "Device is not associated with a single user, and thus both personal usage and corporate identity authentication are not expected." + "Device is not associated with a single user, and thus both personal usage and corporate identity authentication are not expected. Important: This setting is mandatory for dedicated device enrollment and it is a breaking change. This change needs to be implemented before January 2025.For additional details see the dedicated device provisioning guide (https://developers.google.com/android/management/provision-device#company-owned_devices_for_work_use_only). " ], "type": "string" }, @@ -6626,11 +6646,13 @@ "description": "Required. Wi-Fi roaming mode for the specified SSID.", "enum": [ "WIFI_ROAMING_MODE_UNSPECIFIED", + "WIFI_ROAMING_DISABLED", "WIFI_ROAMING_DEFAULT", "WIFI_ROAMING_AGGRESSIVE" ], "enumDescriptions": [ "Unspecified. Defaults to WIFI_ROAMING_DEFAULT.", + "Wi-Fi roaming is disabled. Supported on Android 15 and above on fully managed devices and work profiles on company-owned devices. A nonComplianceDetail with MANAGEMENT_MODE is reported for other management modes. A nonComplianceDetail with API_LEVEL is reported if the Android version is less than 15.", "Default Wi-Fi roaming mode of the device.", "Aggressive roaming mode which allows quicker Wi-Fi roaming. Supported on Android 15 and above on fully managed devices and work profiles on company-owned devices. A nonComplianceDetail with MANAGEMENT_MODE is reported for other management modes. A nonComplianceDetail with API_LEVEL is reported if the Android version is less than 15. A nonComplianceDetail with DEVICE_INCOMPATIBLE is reported if the device does not support aggressive roaming mode." ], diff --git a/discovery/androidpublisher-v3.json b/discovery/androidpublisher-v3.json index 67a28db42d..5c3bf1d414 100644 --- a/discovery/androidpublisher-v3.json +++ b/discovery/androidpublisher-v3.json @@ -4732,7 +4732,7 @@ } } }, - "revision": "20241003", + "revision": "20250102", "rootUrl": "https://androidpublisher.googleapis.com/", "schemas": { "Abi": { @@ -5249,7 +5249,7 @@ "id": "AutoRenewingBasePlanType", "properties": { "accountHoldDuration": { - "description": "Optional. Account hold period of the subscription, specified in ISO 8601 format. Acceptable values must be in DAYS and in the range P0D (zero days) to P30D (30 days). If not specified, the default value is P30D (30 days).", + "description": "Optional. Account hold period of the subscription, specified in ISO 8601 format. Acceptable values must be in days and between P0D and P60D. If not specified, the default value is P30D. The sum of gracePeriodDuration and accountHoldDuration must be between P30D and P60D days, inclusive.", "type": "string" }, "billingPeriodDuration": { @@ -5257,7 +5257,7 @@ "type": "string" }, "gracePeriodDuration": { - "description": "Grace period of the subscription, specified in ISO 8601 format. Acceptable values are P0D (zero days), P3D (3 days), P7D (7 days), P14D (14 days), and P30D (30 days). If not specified, a default value will be used based on the recurring period duration.", + "description": "Grace period of the subscription, specified in ISO 8601 format. Acceptable values must be in days and between P0D and the lesser of 30D and base plan billing period. If not specified, a default value will be used based on the billing period. The sum of gracePeriodDuration and accountHoldDuration must be between P30D and P60D days, inclusive.", "type": "string" }, "legacyCompatible": { @@ -5314,6 +5314,10 @@ "priceChangeDetails": { "$ref": "SubscriptionItemPriceChangeDetails", "description": "The information of the last price change for the item since subscription signup." + }, + "recurringPrice": { + "$ref": "Money", + "description": "The current recurring price of the auto renewing plan." } }, "type": "object" @@ -6086,6 +6090,13 @@ "$ref": "SystemFeature" }, "type": "array" + }, + "systemOnChips": { + "description": "Optional. The SoCs included by this selector. Only works for Android S+ devices.", + "items": { + "$ref": "SystemOnChip" + }, + "type": "array" } }, "type": "object" @@ -7066,7 +7077,7 @@ "id": "InstallmentsBasePlanType", "properties": { "accountHoldDuration": { - "description": "Optional. Account hold period of the subscription, specified exclusively in days and in ISO 8601 format. Acceptable values are P0D (zero days) to P30D (30days). If not specified, the default value is P30D (30 days).", + "description": "Optional. Account hold period of the subscription, specified in ISO 8601 format. Acceptable values must be in days and between P0D and P60D. If not specified, the default value is P30D. The sum of gracePeriodDuration and accountHoldDuration must be between P30D and P60D days, inclusive.", "type": "string" }, "billingPeriodDuration": { @@ -7079,7 +7090,7 @@ "type": "integer" }, "gracePeriodDuration": { - "description": "Grace period of the subscription, specified in ISO 8601 format. Acceptable values are P0D (zero days), P3D (3 days), P7D (7 days), P14D (14 days), and P30D (30 days). If not specified, a default value will be used based on the recurring period duration.", + "description": "Grace period of the subscription, specified in ISO 8601 format. Acceptable values must be in days and between P0D and the lesser of 30D and base plan billing period. If not specified, a default value will be used based on the billing period. The sum of gracePeriodDuration and accountHoldDuration must be between P30D and P60D days, inclusive.", "type": "string" }, "prorationMode": { @@ -7571,7 +7582,7 @@ "type": "object" }, "OfferTag": { - "description": "Represents a custom tag specified for base plans and subscription offers.", + "description": "Represents a custom tag specified for a product offer.", "id": "OfferTag", "properties": { "tag": { @@ -7581,6 +7592,12 @@ }, "type": "object" }, + "OneTimeCode": { + "description": "A single use promotion code.", + "id": "OneTimeCode", + "properties": {}, + "type": "object" + }, "OneTimeExternalTransaction": { "description": "Represents a one-time transaction.", "id": "OneTimeExternalTransaction", @@ -8399,6 +8416,21 @@ }, "type": "object" }, + "SignupPromotion": { + "description": "The promotion applied on this item when purchased.", + "id": "SignupPromotion", + "properties": { + "oneTimeCode": { + "$ref": "OneTimeCode", + "description": "A one-time code was applied." + }, + "vanityCode": { + "$ref": "VanityCode", + "description": "A vanity code was applied." + } + }, + "type": "object" + }, "SplitApkMetadata": { "description": "Holds data specific to Split APKs.", "id": "SplitApkMetadata", @@ -8916,6 +8948,10 @@ "productId": { "description": "The purchased product ID (for example, 'monthly001').", "type": "string" + }, + "signupPromotion": { + "$ref": "SignupPromotion", + "description": "Promotion details about this item. Only set if a promotion was applied during signup." } }, "type": "object" @@ -9131,6 +9167,21 @@ "properties": {}, "type": "object" }, + "SystemOnChip": { + "description": "Representation of a System-on-Chip (SoC) of an Android device. Can be used to target S+ devices.", + "id": "SystemOnChip", + "properties": { + "manufacturer": { + "description": "Required. The designer of the SoC, eg. \"Google\" Value of build property \"ro.soc.manufacturer\" https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER Required.", + "type": "string" + }, + "model": { + "description": "Required. The model of the SoC, eg. \"Tensor\" Value of build property \"ro.soc.model\" https://developer.android.com/reference/android/os/Build#SOC_MODEL Required.", + "type": "string" + } + }, + "type": "object" + }, "Targeting": { "description": "Targeting details for a recovery action such as regions, android sdk levels, app versions etc.", "id": "Targeting", @@ -9883,6 +9934,17 @@ }, "type": "object" }, + "VanityCode": { + "description": "A multiple use, predefined promotion code.", + "id": "VanityCode", + "properties": { + "promotionCode": { + "description": "The promotion code.", + "type": "string" + } + }, + "type": "object" + }, "Variant": { "description": "APK that is suitable for inclusion in a system image. The resource of SystemApksService.", "id": "Variant", diff --git a/discovery/apigateway-v1.json b/discovery/apigateway-v1.json index 4daecd0dce..bb976c9729 100644 --- a/discovery/apigateway-v1.json +++ b/discovery/apigateway-v1.json @@ -958,7 +958,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "apigateway.projects.locations.operations.cancel", @@ -1083,7 +1083,7 @@ } } }, - "revision": "20240118", + "revision": "20241204", "rootUrl": "https://apigateway.googleapis.com/", "schemas": { "ApigatewayApi": { @@ -1653,7 +1653,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, diff --git a/discovery/apigateway-v1beta.json b/discovery/apigateway-v1beta.json index 4615a2639d..589f28f2b0 100644 --- a/discovery/apigateway-v1beta.json +++ b/discovery/apigateway-v1beta.json @@ -958,7 +958,7 @@ "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`.", + "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": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "apigateway.projects.locations.operations.cancel", @@ -1083,7 +1083,7 @@ } } }, - "revision": "20240118", + "revision": "20241204", "rootUrl": "https://apigateway.googleapis.com/", "schemas": { "ApigatewayApi": { @@ -1681,7 +1681,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, diff --git a/discovery/apigee-v1.json b/discovery/apigee-v1.json index e6ef9053df..339bd97b81 100644 --- a/discovery/apigee-v1.json +++ b/discovery/apigee-v1.json @@ -15,6 +15,18 @@ "description": "Use the Apigee API to programmatically develop and manage APIs with a set of RESTful operations. Develop and secure API proxies, deploy and undeploy API proxy revisions, monitor APIs, configure environments, manage users, and more. Note: This product is available as a free trial for a time period of 60 days.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/apigee-api-management/", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://apigee.us.rep.googleapis.com/", + "location": "us" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://apigee.eu.rep.googleapis.com/", + "location": "eu" + } + ], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -9574,7 +9586,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource name.", + "description": "Required. The parent resource name. Format: `organizations/{org}`", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -9607,7 +9619,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the security profile v2 to delete.", + "description": "Required. The name of the security profile v2 to delete. Format: `organizations/{org}/securityProfilesV2/{profile}`", "location": "path", "pattern": "^organizations/[^/]+/securityProfilesV2/[^/]+$", "required": true, @@ -9632,7 +9644,7 @@ ], "parameters": { "name": { - "description": "Required. The security profile id.", + "description": "Required. The name of the security profile v2 to get. Format: `organizations/{org}/securityProfilesV2/{profile}`", "location": "path", "pattern": "^organizations/[^/]+/securityProfilesV2/[^/]+$", "required": true, @@ -9700,7 +9712,7 @@ "type": "string" }, "updateMask": { - "description": "Required. The list of fields to update.", + "description": "Optional. The list of fields to update. Valid fields to update are `description` and `profileAssessmentConfigs`.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -10373,7 +10385,7 @@ } } }, - "revision": "20241004", + "revision": "20241213", "rootUrl": "https://apigee.googleapis.com/", "schemas": { "EdgeConfigstoreBundleBadBundle": { @@ -13378,6 +13390,10 @@ ], "type": "string" }, + "clientIpResolutionConfig": { + "$ref": "GoogleCloudApigeeV1EnvironmentClientIPResolutionConfig", + "description": "Optional. The algorithm to resolve IP. This will affect Analytics, API Security, and other features that use the client ip. To remove a client ip resolution config, update the field to an empty value. Example: '{ \"clientIpResolutionConfig\" = {} }' For more information, see: https://cloud.google.com/apigee/docs/api-platform/system-administration/client-ip-resolution." + }, "createdAt": { "description": "Output only. Creation time of this environment as milliseconds since epoch.", "format": "int64", @@ -13469,6 +13485,33 @@ }, "type": "object" }, + "GoogleCloudApigeeV1EnvironmentClientIPResolutionConfig": { + "description": "Configuration for resolving the client ip.", + "id": "GoogleCloudApigeeV1EnvironmentClientIPResolutionConfig", + "properties": { + "headerIndexAlgorithm": { + "$ref": "GoogleCloudApigeeV1EnvironmentClientIPResolutionConfigHeaderIndexAlgorithm", + "description": "Resolves the client ip based on a custom header." + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1EnvironmentClientIPResolutionConfigHeaderIndexAlgorithm": { + "description": "Resolves the client ip based on a custom header.", + "id": "GoogleCloudApigeeV1EnvironmentClientIPResolutionConfigHeaderIndexAlgorithm", + "properties": { + "ipHeaderIndex": { + "description": "Required. The index of the ip in the header. Positive indices 0, 1, 2, 3 chooses indices from the left (first ips) Negative indices -1, -2, -3 chooses indices from the right (last ips)", + "format": "int32", + "type": "integer" + }, + "ipHeaderName": { + "description": "Required. The name of the header to extract the client ip from. We are currently only supporting the X-Forwarded-For header.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1EnvironmentConfig": { "id": "GoogleCloudApigeeV1EnvironmentConfig", "properties": { @@ -13480,6 +13523,10 @@ "description": "The location for the config blob of API Runtime Control, aka Envoy Adapter, for op-based authentication as a URI, e.g. a Cloud Storage URI. This is only used by Envoy-based gateways.", "type": "string" }, + "clientIpResolutionConfig": { + "$ref": "GoogleCloudApigeeV1EnvironmentConfigClientIPResolutionConfig", + "description": "The algorithm to resolve IP." + }, "createTime": { "description": "Time that the environment configuration was created.", "format": "google-datetime", @@ -13598,6 +13645,33 @@ }, "type": "object" }, + "GoogleCloudApigeeV1EnvironmentConfigClientIPResolutionConfig": { + "description": "Configuration for resolving the client ip.", + "id": "GoogleCloudApigeeV1EnvironmentConfigClientIPResolutionConfig", + "properties": { + "headerIndexAlgorithm": { + "$ref": "GoogleCloudApigeeV1EnvironmentConfigClientIPResolutionConfigHeaderIndexAlgorithm", + "description": "Resolves the client ip based on a custom header." + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1EnvironmentConfigClientIPResolutionConfigHeaderIndexAlgorithm": { + "description": "Resolves the client ip based on a custom header.", + "id": "GoogleCloudApigeeV1EnvironmentConfigClientIPResolutionConfigHeaderIndexAlgorithm", + "properties": { + "ipHeaderIndex": { + "description": "The index of the ip in the header. (By default, value is 0 if missing)", + "format": "int32", + "type": "integer" + }, + "ipHeaderName": { + "description": "The name of the header to extract the client ip from.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudApigeeV1EnvironmentGroup": { "description": "EnvironmentGroup configuration. An environment group is used to group one or more Apigee environments under a single host name.", "id": "GoogleCloudApigeeV1EnvironmentGroup", @@ -15429,7 +15503,7 @@ "type": "array" }, "authorizedNetwork": { - "description": "Compute Engine network used for Service Networking to be peered with Apigee runtime instances. See [Getting started with the Service Networking API](https://cloud.google.com/service-infrastructure/docs/service-networking/getting-started). Valid only when [RuntimeType](#RuntimeType) is set to `CLOUD`. The value must be set before the creation of a runtime instance and can be updated only when there are no runtime instances. For example: `default`. Apigee also supports shared VPC (that is, the host network project is not the same as the one that is peering with Apigee). See [Shared VPC overview](https://cloud.google.com/vpc/docs/shared-vpc). To use a shared VPC network, use the following format: `projects/{host-project-id}/{region}/networks/{network-name}`. For example: `projects/my-sharedvpc-host/global/networks/mynetwork` **Note:** Not supported for Apigee hybrid.", + "description": "Compute Engine network used for Service Networking to be peered with Apigee runtime instances. See [Getting started with the Service Networking API](https://cloud.google.com/service-infrastructure/docs/service-networking/getting-started). Valid only when [RuntimeType](#RuntimeType) is set to `CLOUD`. The value must be set before the creation of a runtime instance and can be updated only when there are no runtime instances. For example: `default`. When changing authorizedNetwork, you must reconfigure VPC peering. After VPC peering with previous network is deleted, [run the following command](https://cloud.google.com/sdk/gcloud/reference/services/vpc-peerings/delete): `gcloud services vpc-peerings delete --network=NETWORK`, where `NETWORK` is the name of the previous network. This will delete the previous Service Networking. Otherwise, you will get the following error: `The resource 'projects/...-tp' is already linked to another shared VPC host 'projects/...-tp`. Apigee also supports shared VPC (that is, the host network project is not the same as the one that is peering with Apigee). See [Shared VPC overview](https://cloud.google.com/vpc/docs/shared-vpc). To use a shared VPC network, use the following format: `projects/{host-project-id}/{region}/networks/{network-name}`. For example: `projects/my-sharedvpc-host/global/networks/mynetwork` **Note:** Not supported for Apigee hybrid.", "type": "string" }, "billingType": { diff --git a/discovery/apikeys-v2.json b/discovery/apikeys-v2.json index 5de86b47d3..d57bb7a96a 100644 --- a/discovery/apikeys-v2.json +++ b/discovery/apikeys-v2.json @@ -396,7 +396,7 @@ } } }, - "revision": "20240811", + "revision": "20241016", "rootUrl": "https://apikeys.googleapis.com/", "schemas": { "Operation": { @@ -593,6 +593,10 @@ "$ref": "V2Restrictions", "description": "Key restrictions." }, + "serviceAccountEmail": { + "description": "Optional. The email address of [the service account](https://cloud.google.com/iam/docs/service-accounts) the key is bound to.", + "type": "string" + }, "uid": { "description": "Output only. Unique id in UUID4 format.", "readOnly": true, diff --git a/discovery/appengine-v1.json b/discovery/appengine-v1.json index ec5d3e3041..12695fb7f7 100644 --- a/discovery/appengine-v1.json +++ b/discovery/appengine-v1.json @@ -1710,6 +1710,113 @@ ] } } + }, + "services": { + "methods": { + "delete": { + "description": "Deletes the specified service and all enclosed versions.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}", + "httpMethod": "DELETE", + "id": "appengine.projects.locations.applications.services.delete", + "parameterOrder": [ + "projectsId", + "locationsId", + "applicationsId", + "servicesId" + ], + "parameters": { + "applicationsId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "locationsId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "projectsId": { + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default.", + "location": "path", + "required": true, + "type": "string" + }, + "servicesId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "versions": { + "methods": { + "delete": { + "description": "Deletes an existing Version resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}/versions/{versionsId}", + "httpMethod": "DELETE", + "id": "appengine.projects.locations.applications.services.versions.delete", + "parameterOrder": [ + "projectsId", + "locationsId", + "applicationsId", + "servicesId", + "versionsId" + ], + "parameters": { + "applicationsId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "locationsId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "projectsId": { + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.", + "location": "path", + "required": true, + "type": "string" + }, + "servicesId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "versionsId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}/versions/{versionsId}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } } } } @@ -1718,7 +1825,7 @@ } } }, - "revision": "20240906", + "revision": "20241205", "rootUrl": "https://appengine.googleapis.com/", "schemas": { "ApiConfigHandler": { @@ -3557,6 +3664,25 @@ }, "type": "object" }, + "ResourceEvent": { + "description": "The request that is passed to CLH during per-resource events. The request will be sent with update semantics in all cases except for data governance purge events. These events will be sent with delete semantics and the CLH is expected to delete the resource receiving this event.", + "id": "ResourceEvent", + "properties": { + "eventId": { + "description": "The unique ID for this per-resource event. CLHs can use this value to dedup repeated calls. required", + "type": "string" + }, + "name": { + "description": "The name of the resource for which this event is. required", + "type": "string" + }, + "state": { + "$ref": "ContainerState", + "description": "The state of the project that led to this event." + } + }, + "type": "object" + }, "ResourceRecord": { "description": "A DNS resource record.", "id": "ResourceRecord", diff --git a/discovery/appengine-v1alpha.json b/discovery/appengine-v1alpha.json index 3f600d5341..c9aea7609b 100644 --- a/discovery/appengine-v1alpha.json +++ b/discovery/appengine-v1alpha.json @@ -946,7 +946,7 @@ } } }, - "revision": "20240906", + "revision": "20241118", "rootUrl": "https://appengine.googleapis.com/", "schemas": { "AuthorizedCertificate": { @@ -1702,6 +1702,25 @@ }, "type": "object" }, + "ResourceEvent": { + "description": "The request that is passed to CLH during per-resource events. The request will be sent with update semantics in all cases except for data governance purge events. These events will be sent with delete semantics and the CLH is expected to delete the resource receiving this event.", + "id": "ResourceEvent", + "properties": { + "eventId": { + "description": "The unique ID for this per-resource event. CLHs can use this value to dedup repeated calls. required", + "type": "string" + }, + "name": { + "description": "The name of the resource for which this event is. required", + "type": "string" + }, + "state": { + "$ref": "ContainerState", + "description": "The state of the project that led to this event." + } + }, + "type": "object" + }, "ResourceRecord": { "description": "A DNS resource record.", "id": "ResourceRecord", diff --git a/discovery/appengine-v1beta.json b/discovery/appengine-v1beta.json index 0babd8eee6..94a5ff236e 100644 --- a/discovery/appengine-v1beta.json +++ b/discovery/appengine-v1beta.json @@ -1817,6 +1817,113 @@ ] } } + }, + "services": { + "methods": { + "delete": { + "description": "Deletes the specified service and all enclosed versions.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}", + "httpMethod": "DELETE", + "id": "appengine.projects.locations.applications.services.delete", + "parameterOrder": [ + "projectsId", + "locationsId", + "applicationsId", + "servicesId" + ], + "parameters": { + "applicationsId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "locationsId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "projectsId": { + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default.", + "location": "path", + "required": true, + "type": "string" + }, + "servicesId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1beta/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "versions": { + "methods": { + "delete": { + "description": "Deletes an existing Version resource.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}/versions/{versionsId}", + "httpMethod": "DELETE", + "id": "appengine.projects.locations.applications.services.versions.delete", + "parameterOrder": [ + "projectsId", + "locationsId", + "applicationsId", + "servicesId", + "versionsId" + ], + "parameters": { + "applicationsId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "locationsId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "projectsId": { + "description": "Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1.", + "location": "path", + "required": true, + "type": "string" + }, + "servicesId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + }, + "versionsId": { + "description": "Part of `name`. See documentation of `projectsId`.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1beta/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}/versions/{versionsId}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } } } }, @@ -1918,7 +2025,7 @@ } } }, - "revision": "20240906", + "revision": "20241205", "rootUrl": "https://appengine.googleapis.com/", "schemas": { "ApiConfigHandler": { @@ -3808,6 +3915,25 @@ }, "type": "object" }, + "ResourceEvent": { + "description": "The request that is passed to CLH during per-resource events. The request will be sent with update semantics in all cases except for data governance purge events. These events will be sent with delete semantics and the CLH is expected to delete the resource receiving this event.", + "id": "ResourceEvent", + "properties": { + "eventId": { + "description": "The unique ID for this per-resource event. CLHs can use this value to dedup repeated calls. required", + "type": "string" + }, + "name": { + "description": "The name of the resource for which this event is. required", + "type": "string" + }, + "state": { + "$ref": "ContainerState", + "description": "The state of the project that led to this event." + } + }, + "type": "object" + }, "ResourceRecord": { "description": "A DNS resource record.", "id": "ResourceRecord", diff --git a/discovery/apphub-v1.json b/discovery/apphub-v1.json index 564164e3e4..1c007def08 100644 --- a/discovery/apphub-v1.json +++ b/discovery/apphub-v1.json @@ -412,7 +412,7 @@ ], "parameters": { "name": { - "description": "Identifier. The resource name of an Application. Format: \"projects/{host-project-id}/locations/{location}/applications/{application-id}\"", + "description": "Identifier. The resource name of an Application. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}\"`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/applications/[^/]+$", "required": true, @@ -650,7 +650,7 @@ ], "parameters": { "name": { - "description": "Identifier. The resource name of a Service. Format: \"projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}\"", + "description": "Identifier. The resource name of a Service. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}\"`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/applications/[^/]+/services/[^/]+$", "required": true, @@ -832,7 +832,7 @@ ], "parameters": { "name": { - "description": "Identifier. The resource name of the Workload. Format: \"projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}\"", + "description": "Identifier. The resource name of the Workload. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}\"`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/applications/[^/]+/workloads/[^/]+$", "required": true, @@ -1346,11 +1346,11 @@ } } }, - "revision": "20240311", + "revision": "20241008", "rootUrl": "https://apphub.googleapis.com/", "schemas": { "Application": { - "description": "Application defines the governance boundary for App Hub Entities that perform a logical end-to-end business function. App Hub supports application level IAM permission to align with governance requirements.", + "description": "Application defines the governance boundary for App Hub entities that perform a logical end-to-end business function. App Hub supports application level IAM permission to align with governance requirements.", "id": "Application", "properties": { "attributes": { @@ -1372,7 +1372,7 @@ "type": "string" }, "name": { - "description": "Identifier. The resource name of an Application. Format: \"projects/{host-project-id}/locations/{location}/applications/{application-id}\"", + "description": "Identifier. The resource name of an Application. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}\"`", "type": "string" }, "scope": { @@ -1410,6 +1410,42 @@ }, "type": "object" }, + "AssetLocation": { + "description": "Provides the mapping of a cloud asset to a direct physical location or to a proxy that defines the location on its behalf.", + "id": "AssetLocation", + "properties": { + "ccfeRmsPath": { + "description": "Spanner path of the CCFE RMS database. It is only applicable for CCFE tenants that use CCFE RMS for storing resource metadata.", + "type": "string" + }, + "expected": { + "$ref": "IsolationExpectations", + "description": "Defines the customer expectation around ZI/ZS for this asset and ZI/ZS state of the region at the time of asset creation." + }, + "extraParameters": { + "description": "Defines extra parameters required for specific asset types.", + "items": { + "$ref": "ExtraParameter" + }, + "type": "array" + }, + "locationData": { + "description": "Contains all kinds of physical location definitions for this asset.", + "items": { + "$ref": "LocationData" + }, + "type": "array" + }, + "parentAsset": { + "description": "Defines parents assets if any in order to allow later generation of child_asset_location data via child assets.", + "items": { + "$ref": "CloudAsset" + }, + "type": "array" + } + }, + "type": "object" + }, "Attributes": { "description": "Consumer provided attributes.", "id": "Attributes", @@ -1516,12 +1552,49 @@ }, "type": "object" }, + "BlobstoreLocation": { + "description": "Policy ID that identified data placement in Blobstore as per go/blobstore-user-guide#data-metadata-placement-and-failure-domains", + "id": "BlobstoreLocation", + "properties": { + "policyId": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", "properties": {}, "type": "object" }, + "CloudAsset": { + "id": "CloudAsset", + "properties": { + "assetName": { + "type": "string" + }, + "assetType": { + "type": "string" + } + }, + "type": "object" + }, + "CloudAssetComposition": { + "id": "CloudAssetComposition", + "properties": { + "childAsset": { + "items": { + "$ref": "CloudAsset" + }, + "type": "array" + } + }, + "type": "object" + }, "ContactInfo": { "description": "Contact information of stakeholders.", "id": "ContactInfo", @@ -1574,12 +1647,24 @@ "properties": {}, "type": "object" }, + "DirectLocationAssignment": { + "id": "DirectLocationAssignment", + "properties": { + "location": { + "items": { + "$ref": "LocationAssignment" + }, + "type": "array" + } + }, + "type": "object" + }, "DiscoveredService": { - "description": "DiscoveredService is a network/api interface that exposes some functionality to clients for consumption over the network. A discovered service can be registered to a App Hub service.", + "description": "DiscoveredService is a network or API interface that exposes some functionality to clients for consumption over the network. A discovered service can be registered to a App Hub service.", "id": "DiscoveredService", "properties": { "name": { - "description": "Identifier. The resource name of the discovered service. Format: \"projects/{host-project-id}/locations/{location}/discoveredServices/{uuid}\"\"", + "description": "Identifier. The resource name of the discovered service. Format: `\"projects/{host-project-id}/locations/{location}/discoveredServices/{uuid}\"`", "type": "string" }, "serviceProperties": { @@ -1600,7 +1685,7 @@ "id": "DiscoveredWorkload", "properties": { "name": { - "description": "Identifier. The resource name of the discovered workload. Format: \"projects/{host-project-id}/locations/{location}/discoveredWorkloads/{uuid}\"", + "description": "Identifier. The resource name of the discovered workload. Format: `\"projects/{host-project-id}/locations/{location}/discoveredWorkloads/{uuid}\"`", "type": "string" }, "workloadProperties": { @@ -1670,6 +1755,142 @@ }, "type": "object" }, + "ExtraParameter": { + "description": "Defines parameters that should only be used for specific asset types.", + "id": "ExtraParameter", + "properties": { + "regionalMigDistributionPolicy": { + "$ref": "RegionalMigDistributionPolicy", + "description": "Details about zones used by regional compute.googleapis.com/InstanceGroupManager to create instances." + } + }, + "type": "object" + }, + "IsolationExpectations": { + "id": "IsolationExpectations", + "properties": { + "requirementOverride": { + "$ref": "RequirementOverride", + "description": "Explicit overrides for ZI and ZS requirements to be used for resources that should be excluded from ZI/ZS verification logic." + }, + "ziOrgPolicy": { + "enum": [ + "ZI_UNSPECIFIED", + "ZI_UNKNOWN", + "ZI_NOT_REQUIRED", + "ZI_PREFERRED", + "ZI_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "", + "" + ], + "type": "string" + }, + "ziRegionPolicy": { + "enum": [ + "ZI_REGION_POLICY_UNSPECIFIED", + "ZI_REGION_POLICY_UNKNOWN", + "ZI_REGION_POLICY_NOT_SET", + "ZI_REGION_POLICY_FAIL_OPEN", + "ZI_REGION_POLICY_FAIL_CLOSED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "", + "" + ], + "type": "string" + }, + "ziRegionState": { + "enum": [ + "ZI_REGION_UNSPECIFIED", + "ZI_REGION_UNKNOWN", + "ZI_REGION_NOT_ENABLED", + "ZI_REGION_ENABLED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "" + ], + "type": "string" + }, + "zoneIsolation": { + "deprecated": true, + "description": "Deprecated: use zi_org_policy, zi_region_policy and zi_region_state instead for setting ZI expectations as per go/zicy-publish-physical-location.", + "enum": [ + "ZI_UNSPECIFIED", + "ZI_UNKNOWN", + "ZI_NOT_REQUIRED", + "ZI_PREFERRED", + "ZI_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "", + "" + ], + "type": "string" + }, + "zoneSeparation": { + "deprecated": true, + "description": "Deprecated: use zs_org_policy, and zs_region_stateinstead for setting Zs expectations as per go/zicy-publish-physical-location.", + "enum": [ + "ZS_UNSPECIFIED", + "ZS_UNKNOWN", + "ZS_NOT_REQUIRED", + "ZS_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "" + ], + "type": "string" + }, + "zsOrgPolicy": { + "enum": [ + "ZS_UNSPECIFIED", + "ZS_UNKNOWN", + "ZS_NOT_REQUIRED", + "ZS_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "" + ], + "type": "string" + }, + "zsRegionState": { + "enum": [ + "ZS_REGION_UNSPECIFIED", + "ZS_REGION_UNKNOWN", + "ZS_REGION_NOT_ENABLED", + "ZS_REGION_ENABLED" + ], + "enumDescriptions": [ + "", + "To be used if tracking of the asset ZS-bit is not available", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "ListApplicationsResponse": { "description": "Response for ListApplications.", "id": "ListApplicationsResponse", @@ -1890,6 +2111,64 @@ }, "type": "object" }, + "LocationAssignment": { + "id": "LocationAssignment", + "properties": { + "location": { + "type": "string" + }, + "locationType": { + "enum": [ + "UNSPECIFIED", + "CLUSTER", + "POP", + "CLOUD_ZONE", + "CLOUD_REGION", + "MULTI_REGION_GEO", + "MULTI_REGION_JURISDICTION", + "GLOBAL", + "OTHER" + ], + "enumDescriptions": [ + "", + "1-10: Physical failure domains.", + "", + "11-20: Logical failure domains.", + "", + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "LocationData": { + "id": "LocationData", + "properties": { + "blobstoreLocation": { + "$ref": "BlobstoreLocation" + }, + "childAssetLocation": { + "$ref": "CloudAssetComposition" + }, + "directLocation": { + "$ref": "DirectLocationAssignment" + }, + "gcpProjectProxy": { + "$ref": "TenantProjectProxy" + }, + "placerLocation": { + "$ref": "PlacerLocation" + }, + "spannerLocation": { + "$ref": "SpannerLocation" + } + }, + "type": "object" + }, "LookupDiscoveredServiceResponse": { "description": "Response for LookupDiscoveredService.", "id": "LookupDiscoveredServiceResponse", @@ -2002,6 +2281,17 @@ }, "type": "object" }, + "PlacerLocation": { + "description": "Message describing that the location of the customer resource is tied to placer allocations", + "id": "PlacerLocation", + "properties": { + "placerConfig": { + "description": "Directory with a config related to it in placer (e.g. \"/placer/prod/home/my-root/my-dir\")", + "type": "string" + } + }, + "type": "object" + }, "Policy": { "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", @@ -2064,6 +2354,63 @@ }, "type": "object" }, + "RegionalMigDistributionPolicy": { + "description": "To be used for specifying the intended distribution of regional compute.googleapis.com/InstanceGroupManager instances", + "id": "RegionalMigDistributionPolicy", + "properties": { + "targetShape": { + "description": "The shape in which the group converges around distribution of resources. Instance of proto2 enum", + "format": "int32", + "type": "integer" + }, + "zones": { + "description": "Cloud zones used by regional MIG to create instances.", + "items": { + "$ref": "ZoneConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "RequirementOverride": { + "id": "RequirementOverride", + "properties": { + "ziOverride": { + "enum": [ + "ZI_UNSPECIFIED", + "ZI_UNKNOWN", + "ZI_NOT_REQUIRED", + "ZI_PREFERRED", + "ZI_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "", + "" + ], + "type": "string" + }, + "zsOverride": { + "enum": [ + "ZS_UNSPECIFIED", + "ZS_UNKNOWN", + "ZS_NOT_REQUIRED", + "ZS_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "Scope": { "description": "Scope of an application.", "id": "Scope", @@ -2072,11 +2419,13 @@ "description": "Required. Scope Type.", "enum": [ "TYPE_UNSPECIFIED", - "REGIONAL" + "REGIONAL", + "GLOBAL" ], "enumDescriptions": [ "Unspecified type.", - "Regional type." + "Regional type.", + "Global type." ], "type": "string" } @@ -2084,7 +2433,7 @@ "type": "object" }, "Service": { - "description": "Service is an App Hub data model that contains a discovered service, which represents a network/api interface that exposes some functionality to clients for consumption over the network.", + "description": "Service is an App Hub data model that contains a discovered service, which represents a network or API interface that exposes some functionality to clients for consumption over the network.", "id": "Service", "properties": { "attributes": { @@ -2110,7 +2459,7 @@ "type": "string" }, "name": { - "description": "Identifier. The resource name of a Service. Format: \"projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}\"", + "description": "Identifier. The resource name of a Service. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}\"`", "type": "string" }, "serviceProperties": { @@ -2167,11 +2516,11 @@ "type": "string" }, "name": { - "description": "Identifier. The resource name of a ServiceProjectAttachment. Format: \"projects/{host-project-id}/locations/global/serviceProjectAttachments/{service-project-id}.\"", + "description": "Identifier. The resource name of a ServiceProjectAttachment. Format: `\"projects/{host-project-id}/locations/global/serviceProjectAttachments/{service-project-id}.\"`", "type": "string" }, "serviceProject": { - "description": "Required. Immutable. Service project name in the format: \"projects/abc\" or \"projects/123\". As input, project name with either project id or number are accepted. As output, this field will contain project number.", + "description": "Required. Immutable. Service project name in the format: `\"projects/abc\"` or `\"projects/123\"`. As input, project name with either project id or number are accepted. As output, this field will contain project number.", "type": "string" }, "state": { @@ -2226,7 +2575,7 @@ "id": "ServiceReference", "properties": { "uri": { - "description": "Output only. The underlying resource URI (For example, URI of Forwarding Rule, URL Map, and Backend Service).", + "description": "Output only. The underlying resource URI. For example, URI of Forwarding Rule, URL Map, and Backend Service.", "readOnly": true, "type": "string" } @@ -2249,6 +2598,26 @@ }, "type": "object" }, + "SpannerLocation": { + "id": "SpannerLocation", + "properties": { + "backupName": { + "description": "Set of backups used by the resource with name in the same format as what is available at http://table/spanner_automon.backup_metadata", + "items": { + "type": "string" + }, + "type": "array" + }, + "dbName": { + "description": "Set of databases used by the resource in format /span//", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "Status": { "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", "id": "Status", @@ -2276,6 +2645,18 @@ }, "type": "object" }, + "TenantProjectProxy": { + "id": "TenantProjectProxy", + "properties": { + "projectNumbers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "TestIamPermissionsRequest": { "description": "Request message for `TestIamPermissions` method.", "id": "TestIamPermissionsRequest", @@ -2331,7 +2712,7 @@ "type": "string" }, "name": { - "description": "Identifier. The resource name of the Workload. Format: \"projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}\"", + "description": "Identifier. The resource name of the Workload. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}\"`", "type": "string" }, "state": { @@ -2382,17 +2763,17 @@ "id": "WorkloadProperties", "properties": { "gcpProject": { - "description": "Output only. The service project identifier that the underlying cloud resource resides in. Empty for non cloud resources.", + "description": "Output only. The service project identifier that the underlying cloud resource resides in. Empty for non-cloud resources.", "readOnly": true, "type": "string" }, "location": { - "description": "Output only. The location that the underlying compute resource resides in (e.g us-west1).", + "description": "Output only. The location that the underlying compute resource resides in (for example, us-west1).", "readOnly": true, "type": "string" }, "zone": { - "description": "Output only. The location that the underlying compute resource resides in if it is zonal (e.g us-west1-a).", + "description": "Output only. The location that the underlying compute resource resides in if it is zonal (for example, us-west1-a).", "readOnly": true, "type": "string" } @@ -2410,6 +2791,15 @@ } }, "type": "object" + }, + "ZoneConfiguration": { + "id": "ZoneConfiguration", + "properties": { + "zone": { + "type": "string" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/discovery/apphub-v1alpha.json b/discovery/apphub-v1alpha.json index 0fc0d90718..0fb5472d34 100644 --- a/discovery/apphub-v1alpha.json +++ b/discovery/apphub-v1alpha.json @@ -412,7 +412,7 @@ ], "parameters": { "name": { - "description": "Identifier. The resource name of an Application. Format: \"projects/{host-project-id}/locations/{location}/applications/{application-id}\"", + "description": "Identifier. The resource name of an Application. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}\"`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/applications/[^/]+$", "required": true, @@ -650,7 +650,7 @@ ], "parameters": { "name": { - "description": "Identifier. The resource name of a Service. Format: \"projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}\"", + "description": "Identifier. The resource name of a Service. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}\"`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/applications/[^/]+/services/[^/]+$", "required": true, @@ -832,7 +832,7 @@ ], "parameters": { "name": { - "description": "Identifier. The resource name of the Workload. Format: \"projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}\"", + "description": "Identifier. The resource name of the Workload. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}\"`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/applications/[^/]+/workloads/[^/]+$", "required": true, @@ -1438,11 +1438,11 @@ } } }, - "revision": "20240417", + "revision": "20241008", "rootUrl": "https://apphub.googleapis.com/", "schemas": { "Application": { - "description": "Application defines the governance boundary for App Hub Entities that perform a logical end-to-end business function. App Hub supports application level IAM permission to align with governance requirements.", + "description": "Application defines the governance boundary for App Hub entities that perform a logical end-to-end business function. App Hub supports application level IAM permission to align with governance requirements.", "id": "Application", "properties": { "attributes": { @@ -1464,7 +1464,7 @@ "type": "string" }, "name": { - "description": "Identifier. The resource name of an Application. Format: \"projects/{host-project-id}/locations/{location}/applications/{application-id}\"", + "description": "Identifier. The resource name of an Application. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}\"`", "type": "string" }, "scope": { @@ -1502,6 +1502,42 @@ }, "type": "object" }, + "AssetLocation": { + "description": "Provides the mapping of a cloud asset to a direct physical location or to a proxy that defines the location on its behalf.", + "id": "AssetLocation", + "properties": { + "ccfeRmsPath": { + "description": "Spanner path of the CCFE RMS database. It is only applicable for CCFE tenants that use CCFE RMS for storing resource metadata.", + "type": "string" + }, + "expected": { + "$ref": "IsolationExpectations", + "description": "Defines the customer expectation around ZI/ZS for this asset and ZI/ZS state of the region at the time of asset creation." + }, + "extraParameters": { + "description": "Defines extra parameters required for specific asset types.", + "items": { + "$ref": "ExtraParameter" + }, + "type": "array" + }, + "locationData": { + "description": "Contains all kinds of physical location definitions for this asset.", + "items": { + "$ref": "LocationData" + }, + "type": "array" + }, + "parentAsset": { + "description": "Defines parents assets if any in order to allow later generation of child_asset_location data via child assets.", + "items": { + "$ref": "CloudAsset" + }, + "type": "array" + } + }, + "type": "object" + }, "Attributes": { "description": "Consumer provided attributes.", "id": "Attributes", @@ -1608,6 +1644,19 @@ }, "type": "object" }, + "BlobstoreLocation": { + "description": "Policy ID that identified data placement in Blobstore as per go/blobstore-user-guide#data-metadata-placement-and-failure-domains", + "id": "BlobstoreLocation", + "properties": { + "policyId": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", @@ -1625,6 +1674,30 @@ }, "type": "object" }, + "CloudAsset": { + "id": "CloudAsset", + "properties": { + "assetName": { + "type": "string" + }, + "assetType": { + "type": "string" + } + }, + "type": "object" + }, + "CloudAssetComposition": { + "id": "CloudAssetComposition", + "properties": { + "childAsset": { + "items": { + "$ref": "CloudAsset" + }, + "type": "array" + } + }, + "type": "object" + }, "ContactInfo": { "description": "Contact information of stakeholders.", "id": "ContactInfo", @@ -1691,12 +1764,24 @@ "properties": {}, "type": "object" }, + "DirectLocationAssignment": { + "id": "DirectLocationAssignment", + "properties": { + "location": { + "items": { + "$ref": "LocationAssignment" + }, + "type": "array" + } + }, + "type": "object" + }, "DiscoveredService": { - "description": "DiscoveredService is a network/api interface that exposes some functionality to clients for consumption over the network. A discovered service can be registered to a App Hub service.", + "description": "DiscoveredService is a network or API interface that exposes some functionality to clients for consumption over the network. A discovered service can be registered to a App Hub service.", "id": "DiscoveredService", "properties": { "name": { - "description": "Identifier. The resource name of the discovered service. Format: \"projects/{host-project-id}/locations/{location}/discoveredServices/{uuid}\"\"", + "description": "Identifier. The resource name of the discovered service. Format: `\"projects/{host-project-id}/locations/{location}/discoveredServices/{uuid}\"`", "type": "string" }, "serviceProperties": { @@ -1717,7 +1802,7 @@ "id": "DiscoveredWorkload", "properties": { "name": { - "description": "Identifier. The resource name of the discovered workload. Format: \"projects/{host-project-id}/locations/{location}/discoveredWorkloads/{uuid}\"", + "description": "Identifier. The resource name of the discovered workload. Format: `\"projects/{host-project-id}/locations/{location}/discoveredWorkloads/{uuid}\"`", "type": "string" }, "workloadProperties": { @@ -1792,6 +1877,17 @@ }, "type": "object" }, + "ExtraParameter": { + "description": "Defines parameters that should only be used for specific asset types.", + "id": "ExtraParameter", + "properties": { + "regionalMigDistributionPolicy": { + "$ref": "RegionalMigDistributionPolicy", + "description": "Details about zones used by regional compute.googleapis.com/InstanceGroupManager to create instances." + } + }, + "type": "object" + }, "FindUnregisteredServicesResponse": { "description": "Response for FindUnregisteredServices.", "id": "FindUnregisteredServicesResponse", @@ -1842,6 +1938,131 @@ }, "type": "object" }, + "IsolationExpectations": { + "id": "IsolationExpectations", + "properties": { + "requirementOverride": { + "$ref": "RequirementOverride", + "description": "Explicit overrides for ZI and ZS requirements to be used for resources that should be excluded from ZI/ZS verification logic." + }, + "ziOrgPolicy": { + "enum": [ + "ZI_UNSPECIFIED", + "ZI_UNKNOWN", + "ZI_NOT_REQUIRED", + "ZI_PREFERRED", + "ZI_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "", + "" + ], + "type": "string" + }, + "ziRegionPolicy": { + "enum": [ + "ZI_REGION_POLICY_UNSPECIFIED", + "ZI_REGION_POLICY_UNKNOWN", + "ZI_REGION_POLICY_NOT_SET", + "ZI_REGION_POLICY_FAIL_OPEN", + "ZI_REGION_POLICY_FAIL_CLOSED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "", + "" + ], + "type": "string" + }, + "ziRegionState": { + "enum": [ + "ZI_REGION_UNSPECIFIED", + "ZI_REGION_UNKNOWN", + "ZI_REGION_NOT_ENABLED", + "ZI_REGION_ENABLED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "" + ], + "type": "string" + }, + "zoneIsolation": { + "deprecated": true, + "description": "Deprecated: use zi_org_policy, zi_region_policy and zi_region_state instead for setting ZI expectations as per go/zicy-publish-physical-location.", + "enum": [ + "ZI_UNSPECIFIED", + "ZI_UNKNOWN", + "ZI_NOT_REQUIRED", + "ZI_PREFERRED", + "ZI_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "", + "" + ], + "type": "string" + }, + "zoneSeparation": { + "deprecated": true, + "description": "Deprecated: use zs_org_policy, and zs_region_stateinstead for setting Zs expectations as per go/zicy-publish-physical-location.", + "enum": [ + "ZS_UNSPECIFIED", + "ZS_UNKNOWN", + "ZS_NOT_REQUIRED", + "ZS_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "" + ], + "type": "string" + }, + "zsOrgPolicy": { + "enum": [ + "ZS_UNSPECIFIED", + "ZS_UNKNOWN", + "ZS_NOT_REQUIRED", + "ZS_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "" + ], + "type": "string" + }, + "zsRegionState": { + "enum": [ + "ZS_REGION_UNSPECIFIED", + "ZS_REGION_UNKNOWN", + "ZS_REGION_NOT_ENABLED", + "ZS_REGION_ENABLED" + ], + "enumDescriptions": [ + "", + "To be used if tracking of the asset ZS-bit is not available", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "ListApplicationsResponse": { "description": "Response for ListApplications.", "id": "ListApplicationsResponse", @@ -2062,6 +2283,64 @@ }, "type": "object" }, + "LocationAssignment": { + "id": "LocationAssignment", + "properties": { + "location": { + "type": "string" + }, + "locationType": { + "enum": [ + "UNSPECIFIED", + "CLUSTER", + "POP", + "CLOUD_ZONE", + "CLOUD_REGION", + "MULTI_REGION_GEO", + "MULTI_REGION_JURISDICTION", + "GLOBAL", + "OTHER" + ], + "enumDescriptions": [ + "", + "1-10: Physical failure domains.", + "", + "11-20: Logical failure domains.", + "", + "", + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "LocationData": { + "id": "LocationData", + "properties": { + "blobstoreLocation": { + "$ref": "BlobstoreLocation" + }, + "childAssetLocation": { + "$ref": "CloudAssetComposition" + }, + "directLocation": { + "$ref": "DirectLocationAssignment" + }, + "gcpProjectProxy": { + "$ref": "TenantProjectProxy" + }, + "placerLocation": { + "$ref": "PlacerLocation" + }, + "spannerLocation": { + "$ref": "SpannerLocation" + } + }, + "type": "object" + }, "LookupDiscoveredServiceResponse": { "description": "Response for LookupDiscoveredService.", "id": "LookupDiscoveredServiceResponse", @@ -2174,6 +2453,17 @@ }, "type": "object" }, + "PlacerLocation": { + "description": "Message describing that the location of the customer resource is tied to placer allocations", + "id": "PlacerLocation", + "properties": { + "placerConfig": { + "description": "Directory with a config related to it in placer (e.g. \"/placer/prod/home/my-root/my-dir\")", + "type": "string" + } + }, + "type": "object" + }, "Policy": { "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", @@ -2205,6 +2495,63 @@ }, "type": "object" }, + "RegionalMigDistributionPolicy": { + "description": "To be used for specifying the intended distribution of regional compute.googleapis.com/InstanceGroupManager instances", + "id": "RegionalMigDistributionPolicy", + "properties": { + "targetShape": { + "description": "The shape in which the group converges around distribution of resources. Instance of proto2 enum", + "format": "int32", + "type": "integer" + }, + "zones": { + "description": "Cloud zones used by regional MIG to create instances.", + "items": { + "$ref": "ZoneConfiguration" + }, + "type": "array" + } + }, + "type": "object" + }, + "RequirementOverride": { + "id": "RequirementOverride", + "properties": { + "ziOverride": { + "enum": [ + "ZI_UNSPECIFIED", + "ZI_UNKNOWN", + "ZI_NOT_REQUIRED", + "ZI_PREFERRED", + "ZI_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "", + "" + ], + "type": "string" + }, + "zsOverride": { + "enum": [ + "ZS_UNSPECIFIED", + "ZS_UNKNOWN", + "ZS_NOT_REQUIRED", + "ZS_REQUIRED" + ], + "enumDescriptions": [ + "", + "To be used if tracking is not available", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "Scope": { "description": "Scope of an application.", "id": "Scope", @@ -2213,11 +2560,13 @@ "description": "Required. Scope Type.", "enum": [ "TYPE_UNSPECIFIED", - "REGIONAL" + "REGIONAL", + "GLOBAL" ], "enumDescriptions": [ "Unspecified type.", - "Regional type." + "Regional type.", + "Global type." ], "type": "string" } @@ -2225,7 +2574,7 @@ "type": "object" }, "Service": { - "description": "Service is an App Hub data model that contains a discovered service, which represents a network/api interface that exposes some functionality to clients for consumption over the network.", + "description": "Service is an App Hub data model that contains a discovered service, which represents a network or API interface that exposes some functionality to clients for consumption over the network.", "id": "Service", "properties": { "attributes": { @@ -2251,7 +2600,7 @@ "type": "string" }, "name": { - "description": "Identifier. The resource name of a Service. Format: \"projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}\"", + "description": "Identifier. The resource name of a Service. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}/services/{service-id}\"`", "type": "string" }, "serviceProperties": { @@ -2308,11 +2657,11 @@ "type": "string" }, "name": { - "description": "Identifier. The resource name of a ServiceProjectAttachment. Format: \"projects/{host-project-id}/locations/global/serviceProjectAttachments/{service-project-id}.\"", + "description": "Identifier. The resource name of a ServiceProjectAttachment. Format: `\"projects/{host-project-id}/locations/global/serviceProjectAttachments/{service-project-id}.\"`", "type": "string" }, "serviceProject": { - "description": "Required. Immutable. Service project name in the format: \"projects/abc\" or \"projects/123\". As input, project name with either project id or number are accepted. As output, this field will contain project number.", + "description": "Required. Immutable. Service project name in the format: `\"projects/abc\"` or `\"projects/123\"`. As input, project name with either project id or number are accepted. As output, this field will contain project number.", "type": "string" }, "state": { @@ -2372,7 +2721,7 @@ "type": "string" }, "uri": { - "description": "Output only. The underlying resource URI (For example, URI of Forwarding Rule, URL Map, and Backend Service).", + "description": "Output only. The underlying resource URI. For example, URI of Forwarding Rule, URL Map, and Backend Service.", "readOnly": true, "type": "string" } @@ -2395,6 +2744,26 @@ }, "type": "object" }, + "SpannerLocation": { + "id": "SpannerLocation", + "properties": { + "backupName": { + "description": "Set of backups used by the resource with name in the same format as what is available at http://table/spanner_automon.backup_metadata", + "items": { + "type": "string" + }, + "type": "array" + }, + "dbName": { + "description": "Set of databases used by the resource in format /span//", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "Status": { "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", "id": "Status", @@ -2422,6 +2791,18 @@ }, "type": "object" }, + "TenantProjectProxy": { + "id": "TenantProjectProxy", + "properties": { + "projectNumbers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "TestIamPermissionsRequest": { "description": "Request message for `TestIamPermissions` method.", "id": "TestIamPermissionsRequest", @@ -2477,7 +2858,7 @@ "type": "string" }, "name": { - "description": "Identifier. The resource name of the Workload. Format: \"projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}\"", + "description": "Identifier. The resource name of the Workload. Format: `\"projects/{host-project-id}/locations/{location}/applications/{application-id}/workloads/{workload-id}\"`", "type": "string" }, "state": { @@ -2528,17 +2909,17 @@ "id": "WorkloadProperties", "properties": { "gcpProject": { - "description": "Output only. The service project identifier that the underlying cloud resource resides in. Empty for non cloud resources.", + "description": "Output only. The service project identifier that the underlying cloud resource resides in. Empty for non-cloud resources.", "readOnly": true, "type": "string" }, "location": { - "description": "Output only. The location that the underlying compute resource resides in (e.g us-west1).", + "description": "Output only. The location that the underlying compute resource resides in (for example, us-west1).", "readOnly": true, "type": "string" }, "zone": { - "description": "Output only. The location that the underlying compute resource resides in if it is zonal (e.g us-west1-a).", + "description": "Output only. The location that the underlying compute resource resides in if it is zonal (for example, us-west1-a).", "readOnly": true, "type": "string" } @@ -2556,6 +2937,15 @@ } }, "type": "object" + }, + "ZoneConfiguration": { + "id": "ZoneConfiguration", + "properties": { + "zone": { + "type": "string" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/discovery/areainsights-v1.json b/discovery/areainsights-v1.json new file mode 100644 index 0000000000..b59455ae10 --- /dev/null +++ b/discovery/areainsights-v1.json @@ -0,0 +1,402 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + } + } + } + }, + "basePath": "", + "baseUrl": "https://areainsights.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Area Insights", + "description": "Places Insights API.", + "discoveryVersion": "v1", + "documentationLink": "https://g3doc.corp.google.com/geo/platform/area_insights/README.md?cl=head", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "areainsights:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://areainsights.mtls.googleapis.com/", + "name": "areainsights", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "v1": { + "methods": { + "computeInsights": { + "description": "Compute Insights RPC This method lets you retrieve insights about areas using a variaty of filter such as: area, place type, operating status, price level and ratings. Currently \"count\" and \"places\" insights are supported. With \"count\" insights you can answer questions such as \"How many restaurant are located in California that are operational, are inexpensive and have an average rating of at least 4 stars\" (see `insight` enum for more details). With \"places\" insights, you can determine which places match the requested filter. Clients can then use those place resource names to fetch more details about each individual place using the Places API.", + "flatPath": "v1:computeInsights", + "httpMethod": "POST", + "id": "areainsights.computeInsights", + "parameterOrder": [], + "parameters": {}, + "path": "v1:computeInsights", + "request": { + "$ref": "ComputeInsightsRequest" + }, + "response": { + "$ref": "ComputeInsightsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + }, + "revision": "20241211", + "rootUrl": "https://areainsights.googleapis.com/", + "schemas": { + "Circle": { + "description": "A circle is defined by a center point and radius in meters.", + "id": "Circle", + "properties": { + "latLng": { + "$ref": "LatLng", + "description": "The latitude and longitude of the center of the circle." + }, + "place": { + "description": "The Place resource name of the center of the circle. Only point places are supported.", + "type": "string" + }, + "radius": { + "description": "Optional. The radius of the circle in meters", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ComputeInsightsRequest": { + "description": "Request for the ComputeInsights RPC.", + "id": "ComputeInsightsRequest", + "properties": { + "filter": { + "$ref": "Filter", + "description": "Required. Insight filter." + }, + "insights": { + "description": "Required. Insights to compute. Currently only INSIGHT_COUNT and INSIGHT_PLACES are supported.", + "items": { + "enum": [ + "INSIGHT_UNSPECIFIED", + "INSIGHT_COUNT", + "INSIGHT_PLACES" + ], + "enumDescriptions": [ + "Not Specified.", + "Count insight. When this insight is specified ComputeInsights returns the number of places that match the specified filter criteria. ``` For example if the request is: ComputeInsightsRequest { insights: INSIGHT_COUNT filter { location_filter {region: } type_filter {included_types: \"restaurant\"} operating_status: OPERATING_STATUS_OPERATIONAL price_levels: PRICE_LEVEL_FREE price_levels: PRICE_LEVEL_INEXPENSIVE min_rating: 4.0 } } The method will return the count of restaurants in California that are operational, with price level free or inexpensive and have an average rating of at least 4 starts. Example response: ComputeInsightsResponse { count: } ```", + "Return Places When this insight is specified ComputeInsights returns Places that match the specified filter criteria. ``` For example if the request is: ComputeInsightsRequest { insights: INSIGHT_PLACES filter { location_filter {region: } type_filter {included_types: \"restaurant\"} operating_status: OPERATING_STATUS_OPERATIONAL price_levels: PRICE_LEVEL_FREE price_levels: PRICE_LEVEL_INEXPENSIVE min_rating: 4.0 } } The method will return list of places of restaurants in California that are operational, with price level free or inexpensive and have an average rating of at least 4 stars. Example response: ComputeInsightsResponse { place_insights { place: \"places/ABC\" } place_insights { place: \"places/PQR\" } place_insights { place: \"places/XYZ\" } } ```" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ComputeInsightsResponse": { + "description": "Response for the ComputeInsights RPC.", + "id": "ComputeInsightsResponse", + "properties": { + "count": { + "description": "Result for Insights.INSIGHT_COUNT.", + "format": "int64", + "type": "string" + }, + "placeInsights": { + "description": "Result for Insights.INSIGHT_PLACES.", + "items": { + "$ref": "PlaceInsight" + }, + "type": "array" + } + }, + "type": "object" + }, + "CustomArea": { + "description": "Custom Area.", + "id": "CustomArea", + "properties": { + "polygon": { + "$ref": "Polygon", + "description": "Required. The custom area represented as a polygon" + } + }, + "type": "object" + }, + "Filter": { + "description": "Filters for the ComputeInsights RPC.", + "id": "Filter", + "properties": { + "locationFilter": { + "$ref": "LocationFilter", + "description": "Required. Restricts results to places which are located in the area specified by location filters." + }, + "operatingStatus": { + "description": "Optional. Restricts results to places whose operating status is included on this list. If operating_status is not set, OPERATING_STATUS_OPERATIONAL is used as default.", + "items": { + "enum": [ + "OPERATING_STATUS_UNSPECIFIED", + "OPERATING_STATUS_OPERATIONAL", + "OPERATING_STATUS_PERMANENTLY_CLOSED", + "OPERATING_STATUS_TEMPORARILY_CLOSED" + ], + "enumDescriptions": [ + "Not Specified.", + "The place is operational and its open during its defined hours.", + "The Place is no longer in business.", + "The Place is temporarily closed and expected to reopen in the future." + ], + "type": "string" + }, + "type": "array" + }, + "priceLevels": { + "description": "Optional. Restricts results to places whose price level is included on this list. If price_level is not set, all price levels are included in the results.", + "items": { + "enum": [ + "PRICE_LEVEL_UNSPECIFIED", + "PRICE_LEVEL_FREE", + "PRICE_LEVEL_INEXPENSIVE", + "PRICE_LEVEL_MODERATE", + "PRICE_LEVEL_EXPENSIVE", + "PRICE_LEVEL_VERY_EXPENSIVE" + ], + "enumDescriptions": [ + "Place price level is unspecified or unknown.", + "Place provides free services.", + "Place provides inexpensive services.", + "Place provides moderately priced services.", + "Place provides expensive services.", + "Place provides very expensive services." + ], + "type": "string" + }, + "type": "array" + }, + "ratingFilter": { + "$ref": "RatingFilter", + "description": "Optional. Restricts results to places whose average user ratings are in the range specified by rating_filter. If rating_filter is not set, all ratings are included in the result." + }, + "typeFilter": { + "$ref": "TypeFilter", + "description": "Required. Place type filters." + } + }, + "type": "object" + }, + "LatLng": { + "description": "An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges.", + "id": "LatLng", + "properties": { + "latitude": { + "description": "The latitude in degrees. It must be in the range [-90.0, +90.0].", + "format": "double", + "type": "number" + }, + "longitude": { + "description": "The longitude in degrees. It must be in the range [-180.0, +180.0].", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "LocationFilter": { + "description": "Location filters. Specifies the area of interest for the insight.", + "id": "LocationFilter", + "properties": { + "circle": { + "$ref": "Circle", + "description": "Area as a circle." + }, + "customArea": { + "$ref": "CustomArea", + "description": "Custom area specified by a polygon." + }, + "region": { + "$ref": "Region", + "description": "Area as region." + } + }, + "type": "object" + }, + "PlaceInsight": { + "description": "Holds information about a place", + "id": "PlaceInsight", + "properties": { + "place": { + "description": "The unique identifier of the place. This resource name can be used to retrieve details about the place using the [Places API](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places/get).", + "type": "string" + } + }, + "type": "object" + }, + "Polygon": { + "description": "A polygon is represented by a series of connected coordinates in an counterclockwise ordered sequence. The coordinates form a closed loop and define a filled region. The first and last coordinates are equivalent, and they must contain identical values. The format is a simplified version of GeoJSON polygons (we only support one counterclockwise exterior ring).", + "id": "Polygon", + "properties": { + "coordinates": { + "description": "Optional. The coordinates that define the polygon.", + "items": { + "$ref": "LatLng" + }, + "type": "array" + } + }, + "type": "object" + }, + "RatingFilter": { + "description": "Average user rating filters.", + "id": "RatingFilter", + "properties": { + "maxRating": { + "description": "Optional. Restricts results to places whose average user rating is strictly less than or equal to max_rating. Values must be between 1.0 and 5.0.", + "format": "float", + "type": "number" + }, + "minRating": { + "description": "Optional. Restricts results to places whose average user rating is greater than or equal to min_rating. Values must be between 1.0 and 5.0.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "Region": { + "description": "A region is a geographic boundary such as: cities, postal codes, counties, states, etc.", + "id": "Region", + "properties": { + "place": { + "description": "The unique identifier of a specific geographic region.", + "type": "string" + } + }, + "type": "object" + }, + "TypeFilter": { + "description": "Place type filters. Only Place types from [Table a](https://developers.google.com/maps/documentation/places/web-service/place-types#table-a) are supported. A place can only have a single primary type associated with it. For example, the primary type might be \"mexican_restaurant\" or \"steak_house\". Use included_primary_types and excluded_primary_types to filter the results on a place's primary type. A place can also have multiple type values associated with it. For example a restaurant might have the following types: \"seafood_restaurant\", \"restaurant\", \"food\", \"point_of_interest\", \"establishment\". Use included_types and excluded_types to filter the results on the list of types associated with a place. If a search is specified with multiple type restrictions, only places that satisfy all of the restrictions are returned. For example, if you specify {\"included_types\": [\"restaurant\"], \"excluded_primary_types\": [\"steak_house\"]}, the returned places provide \"restaurant\" related services but do not operate primarily as a \"steak_house\". If there are any conflicting types, i.e. a type appears in both included_types and excluded_types types or included_primary_types and excluded_primary_types, an INVALID_ARGUMENT error is returned. One of included_types or included_primary_types must be set.", + "id": "TypeFilter", + "properties": { + "excludedPrimaryTypes": { + "description": "Optional. Excluded primary Place types.", + "items": { + "type": "string" + }, + "type": "array" + }, + "excludedTypes": { + "description": "Optional. Excluded Place types.", + "items": { + "type": "string" + }, + "type": "array" + }, + "includedPrimaryTypes": { + "description": "Optional. Included primary Place types.", + "items": { + "type": "string" + }, + "type": "array" + }, + "includedTypes": { + "description": "Optional. Included Place types.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Places Insights API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/discovery/artifactregistry-v1.json b/discovery/artifactregistry-v1.json index 89b32dc905..10ae376377 100644 --- a/discovery/artifactregistry-v1.json +++ b/discovery/artifactregistry-v1.json @@ -2334,7 +2334,7 @@ ], "parameters": { "name": { - "description": "The name of the rule, for example: \"projects/p1/locations/us-central1/repositories/repo1/rules/rule1\".", + "description": "The name of the rule, for example: `projects/p1/locations/us-central1/repositories/repo1/rules/rule1`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/rules/[^/]+$", "required": true, @@ -2439,7 +2439,7 @@ } } }, - "revision": "20241001", + "revision": "20241205", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { "AptArtifact": { @@ -2517,7 +2517,7 @@ "type": "object" }, "attachmentNamespace": { - "description": "The namespace this attachment belongs to. E.g. If an Attachment is created by artifact analysis, namespace is set to `artifactanalysis.googleapis.com`.", + "description": "The namespace this attachment belongs to. E.g. If an attachment is created by artifact analysis, namespace is set to `artifactanalysis.googleapis.com`.", "type": "string" }, "createTime": { @@ -2534,7 +2534,7 @@ "type": "array" }, "name": { - "description": "The name of the attachment. E.g. \"projects/p1/locations/us/repositories/repo/attachments/sbom\".", + "description": "The name of the attachment. E.g. `projects/p1/locations/us/repositories/repo/attachments/sbom`.", "type": "string" }, "ociVersionName": { @@ -2543,11 +2543,11 @@ "type": "string" }, "target": { - "description": "Required. The target the attachment is for, can be a Version, Package or Repository. E.g. \"projects/p1/locations/us-central1/repositories/repo1/packages/p1/versions/v1\".", + "description": "Required. The target the attachment is for, can be a Version, Package or Repository. E.g. `projects/p1/locations/us-central1/repositories/repo1/packages/p1/versions/v1`.", "type": "string" }, "type": { - "description": "Type of Attachment. E.g. `application/vnd.spdx+json`", + "description": "Type of attachment. E.g. `application/vnd.spdx+json`", "type": "string" }, "updateTime": { @@ -3101,11 +3101,11 @@ "type": "object" }, "GoogleDevtoolsArtifactregistryV1Rule": { - "description": "A Rule applies to repository or package level. It defines the deny or allow action of the operation when the conditions in the rule are met.", + "description": "A rule defines the deny or allow action of the operation it applies to and the conditions required for the rule to apply. You can set one rule for an entire repository and one rule for each package within.", "id": "GoogleDevtoolsArtifactregistryV1Rule", "properties": { "action": { - "description": "The action this rule makes.", + "description": "The action this rule takes.", "enum": [ "ACTION_UNSPECIFIED", "ALLOW", @@ -3120,10 +3120,10 @@ }, "condition": { "$ref": "Expr", - "description": "Optional. The condition of the rule in CEL expression. If not provided, the rule matches all the objects." + "description": "Optional. A CEL expression for conditions that must be met in order for the rule to apply. If not provided, the rule matches all objects." }, "name": { - "description": "The name of the rule, for example: \"projects/p1/locations/us-central1/repositories/repo1/rules/rule1\".", + "description": "The name of the rule, for example: `projects/p1/locations/us-central1/repositories/repo1/rules/rule1`.", "type": "string" }, "operation": { @@ -3138,7 +3138,7 @@ "type": "string" }, "packageId": { - "description": "The package ID the rule applies to. If empty, this rule applies to all the packages inside the repository.", + "description": "The package ID the rule applies to. If empty, this rule applies to all packages inside the repository.", "type": "string" } }, @@ -3404,7 +3404,7 @@ "id": "ListAttachmentsResponse", "properties": { "attachments": { - "description": "The Attachments returned.", + "description": "The attachments returned.", "items": { "$ref": "Attachment" }, @@ -4006,7 +4006,7 @@ }, "commonRepository": { "$ref": "CommonRemoteRepository", - "description": "Common remote repository settings. Used as the RemoteRepository upstream URL instead of Predefined and Custom remote repositories. Google Cloud Console and Google Cloud CLI will map all the new remote repositories to this field." + "description": "Common remote repository settings. Used as the remote repository upstream URL." }, "description": { "description": "The description of the remote source.", @@ -4145,6 +4145,11 @@ "description": "The name of the repository, for example: `projects/p1/locations/us-central1/repositories/repo1`. For each location in a project, repository names must be unique.", "type": "string" }, + "registryUri": { + "description": "Output only. The repository endpoint, for example: `us-docker.pkg.dev/my-proj/my-repo`.", + "readOnly": true, + "type": "string" + }, "remoteRepositoryConfig": { "$ref": "RemoteRepositoryConfig", "description": "Configuration specific for a Remote Repository." @@ -4174,6 +4179,10 @@ "virtualRepositoryConfig": { "$ref": "VirtualRepositoryConfig", "description": "Configuration specific for a Virtual Repository." + }, + "vulnerabilityScanningConfig": { + "$ref": "VulnerabilityScanningConfig", + "description": "Optional. Config and state for vulnerability scanning of resources within this Repository." } }, "type": "object" @@ -4225,7 +4234,7 @@ "type": "string" }, "version": { - "description": "The name of the version the tag refers to, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811\" If the package or version ID parts contain slashes, the slashes are escaped.", + "description": "The name of the version the tag refers to, for example: `projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811` If the package or version ID parts contain slashes, the slashes are escaped.", "type": "string" } }, @@ -4619,6 +4628,55 @@ }, "type": "object" }, + "VulnerabilityScanningConfig": { + "description": "Config on whether to perform vulnerability scanning for resources in this repository, as well as output fields describing current state.", + "id": "VulnerabilityScanningConfig", + "properties": { + "enablementConfig": { + "description": "Optional. Config for whether this repository has vulnerability scanning disabled.", + "enum": [ + "ENABLEMENT_CONFIG_UNSPECIFIED", + "INHERITED", + "DISABLED" + ], + "enumDescriptions": [ + "Not set. This will be treated as INHERITED.", + "Scanning is Enabled, but dependent on API enablement.", + "No automatic vulnerability scanning will be performed for this repository." + ], + "type": "string" + }, + "enablementState": { + "description": "Output only. State of feature enablement, combining repository enablement config and API enablement state.", + "enum": [ + "ENABLEMENT_STATE_UNSPECIFIED", + "SCANNING_UNSUPPORTED", + "SCANNING_DISABLED", + "SCANNING_ACTIVE" + ], + "enumDescriptions": [ + "Enablement state is unclear.", + "Repository does not support vulnerability scanning.", + "Vulnerability scanning is disabled for this repository.", + "Vulnerability scanning is active for this repository." + ], + "readOnly": true, + "type": "string" + }, + "enablementStateReason": { + "description": "Output only. Reason for the repository state.", + "readOnly": true, + "type": "string" + }, + "lastEnableTime": { + "description": "Output only. The last time this repository config was enabled.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "YumArtifact": { "description": "A detailed representation of a Yum artifact.", "id": "YumArtifact", diff --git a/discovery/artifactregistry-v1beta1.json b/discovery/artifactregistry-v1beta1.json index 76c0734aec..cd2025b7fc 100644 --- a/discovery/artifactregistry-v1beta1.json +++ b/discovery/artifactregistry-v1beta1.json @@ -1156,7 +1156,7 @@ } } }, - "revision": "20241001", + "revision": "20241010", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { "Binding": { @@ -1626,7 +1626,7 @@ "type": "string" }, "version": { - "description": "The name of the version the tag refers to, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811\" If the package or version ID parts contain slashes, the slashes are escaped.", + "description": "The name of the version the tag refers to, for example: `projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811` If the package or version ID parts contain slashes, the slashes are escaped.", "type": "string" } }, diff --git a/discovery/artifactregistry-v1beta2.json b/discovery/artifactregistry-v1beta2.json index ceb897d92d..42400d9bba 100644 --- a/discovery/artifactregistry-v1beta2.json +++ b/discovery/artifactregistry-v1beta2.json @@ -1424,7 +1424,7 @@ } } }, - "revision": "20241001", + "revision": "20241010", "rootUrl": "https://artifactregistry.googleapis.com/", "schemas": { "AptArtifact": { @@ -2176,7 +2176,7 @@ "type": "string" }, "version": { - "description": "The name of the version the tag refers to, for example: \"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811\" If the package or version ID parts contain slashes, the slashes are escaped.", + "description": "The name of the version the tag refers to, for example: `projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811` If the package or version ID parts contain slashes, the slashes are escaped.", "type": "string" } }, diff --git a/discovery/assuredworkloads-v1.json b/discovery/assuredworkloads-v1.json index 8c8928be22..b4605623d7 100644 --- a/discovery/assuredworkloads-v1.json +++ b/discovery/assuredworkloads-v1.json @@ -591,7 +591,7 @@ } } }, - "revision": "20240913", + "revision": "20241206", "rootUrl": "https://assuredworkloads.googleapis.com/", "schemas": { "GoogleCloudAssuredworkloadsV1AcknowledgeViolationRequest": { @@ -700,7 +700,35 @@ "REGIONAL_CONTROLS", "HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS", "HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS_US_SUPPORT", - "IRS_1075" + "IRS_1075", + "CANADA_CONTROLLED_GOODS" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false ], "enumDescriptions": [ "Unknown compliance regime.", @@ -709,8 +737,8 @@ "FedRAMP High data protection controls", "FedRAMP Moderate data protection controls", "Assured Workloads For US Regions data protection controls", - "Health Insurance Portability and Accountability Act controls", - "Health Information Trust Alliance controls", + "[DEPRECATED] Health Insurance Portability and Accountability Act controls", + "[DEPRECATED] Health Information Trust Alliance controls", "Assured Workloads For EU Regions and Support controls", "Assured Workloads For Canada Regions and Support controls", "International Traffic in Arms Regulations", @@ -726,7 +754,8 @@ "Assured Workloads for Regional Controls", "Healthcare and Life Science Controls", "Healthcare and Life Science Controls with US Support", - "Internal Revenue Service 1075 controls" + "Internal Revenue Service 1075 controls", + "Canada Controlled Goods" ], "type": "string" }, @@ -1189,7 +1218,35 @@ "REGIONAL_CONTROLS", "HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS", "HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS_US_SUPPORT", - "IRS_1075" + "IRS_1075", + "CANADA_CONTROLLED_GOODS" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false ], "enumDescriptions": [ "Unknown compliance regime.", @@ -1198,8 +1255,8 @@ "FedRAMP High data protection controls", "FedRAMP Moderate data protection controls", "Assured Workloads For US Regions data protection controls", - "Health Insurance Portability and Accountability Act controls", - "Health Information Trust Alliance controls", + "[DEPRECATED] Health Insurance Portability and Accountability Act controls", + "[DEPRECATED] Health Information Trust Alliance controls", "Assured Workloads For EU Regions and Support controls", "Assured Workloads For Canada Regions and Support controls", "International Traffic in Arms Regulations", @@ -1215,7 +1272,8 @@ "Assured Workloads for Regional Controls", "Healthcare and Life Science Controls", "Healthcare and Life Science Controls with US Support", - "Internal Revenue Service 1075 controls" + "Internal Revenue Service 1075 controls", + "Canada Controlled Goods" ], "type": "string" }, @@ -1348,6 +1406,10 @@ "violationNotificationsEnabled": { "description": "Optional. Indicates whether the e-mail notification for a violation is enabled for a workload. This value will be by default True, and if not present will be considered as true. This should only be updated via updateWorkload call. Any Changes to this field during the createWorkload call will not be honored. This will always be true while creating the workload.", "type": "boolean" + }, + "workloadOptions": { + "$ref": "GoogleCloudAssuredworkloadsV1WorkloadWorkloadOptions", + "description": "Optional. Options to be set for the given created workload." } }, "type": "object" @@ -1420,7 +1482,7 @@ "type": "string" }, "ekmProvisioningState": { - "description": "Indicates Ekm enrollment Provisioning of a given workload.", + "description": "Output only. Indicates Ekm enrollment Provisioning of a given workload.", "enum": [ "EKM_PROVISIONING_STATE_UNSPECIFIED", "EKM_PROVISIONING_STATE_PENDING", @@ -1433,6 +1495,7 @@ "Failed State for Ekm Provisioning", "Completed State for Ekm Provisioning" ], + "readOnly": true, "type": "string" } }, @@ -1469,7 +1532,7 @@ "type": "boolean" }, "dataLogsViewer": { - "description": "Allow the partner to view inspectability logs and monitoring violations.", + "description": "Optional. Allow the partner to view inspectability logs and monitoring violations.", "type": "boolean" }, "serviceAccessApprover": { @@ -1484,8 +1547,9 @@ "id": "GoogleCloudAssuredworkloadsV1WorkloadResourceInfo", "properties": { "resourceId": { - "description": "Resource identifier. For a project this represents project_number.", + "description": "Output only. Resource identifier. For a project this represents project_number.", "format": "int64", + "readOnly": true, "type": "string" }, "resourceType": { @@ -1582,7 +1646,7 @@ "type": "array" }, "setupStatus": { - "description": "Indicates SAA enrollment status of a given workload.", + "description": "Output only. Indicates SAA enrollment status of a given workload.", "enum": [ "SETUP_STATE_UNSPECIFIED", "STATUS_PENDING", @@ -1593,6 +1657,26 @@ "SAA enrollment pending.", "SAA enrollment comopleted." ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAssuredworkloadsV1WorkloadWorkloadOptions": { + "description": "Options to be set for the given created workload.", + "id": "GoogleCloudAssuredworkloadsV1WorkloadWorkloadOptions", + "properties": { + "kajEnrollmentType": { + "description": "Optional. Specifies type of KAJ Enrollment if provided.", + "enum": [ + "KAJ_ENROLLMENT_TYPE_UNSPECIFIED", + "KEY_ACCESS_TRANSPARENCY_OFF" + ], + "enumDescriptions": [ + "KAJ Enrollment type is unspecified", + "KAT sets External, Hardware, and Software key feature logging only to TRUE. (no enforcement)" + ], "type": "string" } }, diff --git a/discovery/assuredworkloads-v1beta1.json b/discovery/assuredworkloads-v1beta1.json index 61ef72139d..5f956df863 100644 --- a/discovery/assuredworkloads-v1beta1.json +++ b/discovery/assuredworkloads-v1beta1.json @@ -656,7 +656,7 @@ } } }, - "revision": "20240923", + "revision": "20241206", "rootUrl": "https://assuredworkloads.googleapis.com/", "schemas": { "GoogleCloudAssuredworkloadsV1beta1AcknowledgeViolationRequest": { @@ -824,7 +824,35 @@ "REGIONAL_CONTROLS", "HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS", "HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS_US_SUPPORT", - "IRS_1075" + "IRS_1075", + "CANADA_CONTROLLED_GOODS" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false ], "enumDescriptions": [ "Unknown compliance regime.", @@ -833,8 +861,8 @@ "FedRAMP High data protection controls", "FedRAMP Moderate data protection controls", "Assured Workloads For US Regions data protection controls", - "Health Insurance Portability and Accountability Act controls", - "Health Information Trust Alliance controls", + "[DEPRECATED] Health Insurance Portability and Accountability Act controls", + "[DEPRECATED] Health Information Trust Alliance controls", "Assured Workloads For EU Regions and Support controls", "Assured Workloads For Canada Regions and Support controls", "International Traffic in Arms Regulations", @@ -850,7 +878,8 @@ "Assured Workloads for Regional Controls", "Healthcare and Life Science Controls", "Healthcare and Life Science Controls with US Support", - "Internal Revenue Service 1075 controls" + "Internal Revenue Service 1075 controls", + "Canada Controlled Goods" ], "type": "string" }, @@ -1432,7 +1461,35 @@ "REGIONAL_CONTROLS", "HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS", "HEALTHCARE_AND_LIFE_SCIENCES_CONTROLS_US_SUPPORT", - "IRS_1075" + "IRS_1075", + "CANADA_CONTROLLED_GOODS" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false ], "enumDescriptions": [ "Unknown compliance regime.", @@ -1441,8 +1498,8 @@ "FedRAMP High data protection controls", "FedRAMP Moderate data protection controls", "Assured Workloads For US Regions data protection controls", - "Health Insurance Portability and Accountability Act controls", - "Health Information Trust Alliance controls", + "[DEPRECATED] Health Insurance Portability and Accountability Act controls", + "[DEPRECATED] Health Information Trust Alliance controls", "Assured Workloads For EU Regions and Support controls", "Assured Workloads For Canada Regions and Support controls", "International Traffic in Arms Regulations", @@ -1458,7 +1515,8 @@ "Assured Workloads for Regional Controls", "Healthcare and Life Science Controls", "Healthcare and Life Science Controls with US Support", - "Internal Revenue Service 1075 controls" + "Internal Revenue Service 1075 controls", + "Canada Controlled Goods" ], "type": "string" }, @@ -1611,6 +1669,10 @@ "violationNotificationsEnabled": { "description": "Optional. Indicates whether the e-mail notification for a violation is enabled for a workload. This value will be by default True, and if not present will be considered as true. This should only be updated via updateWorkload call. Any Changes to this field during the createWorkload call will not be honored. This will always be true while creating the workload.", "type": "boolean" + }, + "workloadOptions": { + "$ref": "GoogleCloudAssuredworkloadsV1beta1WorkloadWorkloadOptions", + "description": "Optional. Options to be set for the given created workload." } }, "type": "object" @@ -1695,7 +1757,7 @@ "type": "string" }, "ekmProvisioningState": { - "description": "Indicates Ekm enrollment Provisioning of a given workload.", + "description": "Output only. Indicates Ekm enrollment Provisioning of a given workload.", "enum": [ "EKM_PROVISIONING_STATE_UNSPECIFIED", "EKM_PROVISIONING_STATE_PENDING", @@ -1708,6 +1770,7 @@ "Failed State for Ekm Provisioning", "Completed State for Ekm Provisioning" ], + "readOnly": true, "type": "string" } }, @@ -1780,7 +1843,7 @@ "type": "boolean" }, "dataLogsViewer": { - "description": "Allow the partner to view inspectability logs and monitoring violations.", + "description": "Optional. Allow the partner to view inspectability logs and monitoring violations.", "type": "boolean" }, "serviceAccessApprover": { @@ -1795,8 +1858,9 @@ "id": "GoogleCloudAssuredworkloadsV1beta1WorkloadResourceInfo", "properties": { "resourceId": { - "description": "Resource identifier. For a project this represents project_number.", + "description": "Output only. Resource identifier. For a project this represents project_number.", "format": "int64", + "readOnly": true, "type": "string" }, "resourceType": { @@ -1893,7 +1957,7 @@ "type": "array" }, "setupStatus": { - "description": "Indicates SAA enrollment status of a given workload.", + "description": "Output only. Indicates SAA enrollment status of a given workload.", "enum": [ "SETUP_STATE_UNSPECIFIED", "STATUS_PENDING", @@ -1904,6 +1968,7 @@ "SAA enrollment pending.", "SAA enrollment comopleted." ], + "readOnly": true, "type": "string" } }, @@ -1952,6 +2017,25 @@ }, "type": "object" }, + "GoogleCloudAssuredworkloadsV1beta1WorkloadWorkloadOptions": { + "description": "Options to be set for the given created workload.", + "id": "GoogleCloudAssuredworkloadsV1beta1WorkloadWorkloadOptions", + "properties": { + "kajEnrollmentType": { + "description": "Optional. Specifies type of KAJ Enrollment if provided.", + "enum": [ + "KAJ_ENROLLMENT_TYPE_UNSPECIFIED", + "KEY_ACCESS_TRANSPARENCY_OFF" + ], + "enumDescriptions": [ + "KAJ Enrollment type is unspecified", + "KAT sets External, Hardware, and Software key feature logging only to TRUE. (no enforcement)" + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleLongrunningListOperationsResponse": { "description": "The response message for Operations.ListOperations.", "id": "GoogleLongrunningListOperationsResponse", diff --git a/discovery/authorizedbuyersmarketplace-v1.json b/discovery/authorizedbuyersmarketplace-v1.json index b2d4ec6e54..49f2aa6c70 100644 --- a/discovery/authorizedbuyersmarketplace-v1.json +++ b/discovery/authorizedbuyersmarketplace-v1.json @@ -1367,7 +1367,7 @@ } } }, - "revision": "20241002", + "revision": "20250107", "rootUrl": "https://authorizedbuyersmarketplace.googleapis.com/", "schemas": { "AcceptProposalRequest": { @@ -1466,6 +1466,11 @@ "readOnly": true, "type": "string" }, + "dealOwnerSeatId": { + "description": "Output only. If set, this field contains the DSP specific seat id set by the media planner account that is considered the owner of this deal. The seat ID is in the calling DSP's namespace.", + "readOnly": true, + "type": "string" + }, "description": { "description": "Output only. A description of the auction package.", "readOnly": true, @@ -1476,7 +1481,7 @@ "type": "string" }, "eligibleSeatIds": { - "description": "Output only. If set, this field contains the list of DSP specific seat ids set by media planners that are eligible to transact on this deal. The seat ID is in the calling DSP's namespace.", + "description": "Output only. If set, this field identifies a seat that the media planner selected as the owner of this auction package. This is a seat ID in the DSP's namespace that was provided to the media planner.", "items": { "type": "string" }, @@ -3138,11 +3143,11 @@ "id": "TimeZone", "properties": { "id": { - "description": "IANA Time Zone Database time zone, e.g. \"America/New_York\".", + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", "type": "string" }, "version": { - "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", "type": "string" } }, diff --git a/discovery/authorizedbuyersmarketplace-v1alpha.json b/discovery/authorizedbuyersmarketplace-v1alpha.json index 16f3e45bc2..3ea191d8d8 100644 --- a/discovery/authorizedbuyersmarketplace-v1alpha.json +++ b/discovery/authorizedbuyersmarketplace-v1alpha.json @@ -1550,7 +1550,7 @@ } } }, - "revision": "20241002", + "revision": "20250107", "rootUrl": "https://authorizedbuyersmarketplace.googleapis.com/", "schemas": { "AcceptProposalRequest": { @@ -1655,6 +1655,11 @@ "readOnly": true, "type": "string" }, + "dealOwnerSeatId": { + "description": "Output only. If set, this field contains the DSP specific seat id set by the media planner account that is considered the owner of this deal. The seat ID is in the calling DSP's namespace.", + "readOnly": true, + "type": "string" + }, "description": { "description": "Output only. A description of the auction package.", "readOnly": true, @@ -1665,7 +1670,7 @@ "type": "string" }, "eligibleSeatIds": { - "description": "Output only. If set, this field contains the list of DSP specific seat ids set by media planners that are eligible to transact on this deal. The seat ID is in the calling DSP's namespace.", + "description": "Output only. If set, this field identifies a seat that the media planner selected as the owner of this auction package. This is a seat ID in the DSP's namespace that was provided to the media planner.", "items": { "type": "string" }, @@ -3393,11 +3398,11 @@ "id": "TimeZone", "properties": { "id": { - "description": "IANA Time Zone Database time zone, e.g. \"America/New_York\".", + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", "type": "string" }, "version": { - "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", "type": "string" } }, diff --git a/discovery/backupdr-v1.json b/discovery/backupdr-v1.json index 4592fb9403..bac63c5940 100644 --- a/discovery/backupdr-v1.json +++ b/discovery/backupdr-v1.json @@ -555,6 +555,11 @@ "location": "query", "type": "boolean" }, + "ignoreBackupPlanReferences": { + "description": "Optional. If set to true, backupvault deletion will proceed even if there are backup plans referencing the backupvault. The default is 'false'.", + "location": "query", + "type": "boolean" + }, "name": { "description": "Required. Name of the resource.", "location": "path", @@ -1533,7 +1538,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "backupdr.projects.locations.operations.cancel", @@ -1652,13 +1657,45 @@ ] } } + }, + "serviceConfig": { + "methods": { + "initialize": { + "description": "Initializes the service related config for a project.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/serviceConfig:initialize", + "httpMethod": "POST", + "id": "backupdr.projects.locations.serviceConfig.initialize", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the serviceConfig used to initialize the service. Format: `projects/{project_id}/locations/{location}/serviceConfig`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/serviceConfig$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:initialize", + "request": { + "$ref": "InitializeServiceRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } } } } } } }, - "revision": "20240920", + "revision": "20241204", "rootUrl": "https://backupdr.googleapis.com/", "schemas": { "AbandonBackupRequest": { @@ -1822,42 +1859,6 @@ }, "type": "object" }, - "AssetLocation": { - "description": "Provides the mapping of a cloud asset to a direct physical location or to a proxy that defines the location on its behalf.", - "id": "AssetLocation", - "properties": { - "ccfeRmsPath": { - "description": "Spanner path of the CCFE RMS database. It is only applicable for CCFE tenants that use CCFE RMS for storing resource metadata.", - "type": "string" - }, - "expected": { - "$ref": "IsolationExpectations", - "description": "Defines the customer expectation around ZI/ZS for this asset and ZI/ZS state of the region at the time of asset creation." - }, - "extraParameters": { - "description": "Defines extra parameters required for specific asset types.", - "items": { - "$ref": "ExtraParameter" - }, - "type": "array" - }, - "locationData": { - "description": "Contains all kinds of physical location definitions for this asset.", - "items": { - "$ref": "LocationData" - }, - "type": "array" - }, - "parentAsset": { - "description": "Defines parents assets if any in order to allow later generation of child_asset_location data via child assets.", - "items": { - "$ref": "CloudAsset" - }, - "type": "array" - } - }, - "type": "object" - }, "AttachedDisk": { "description": "An instance-attached disk resource.", "id": "AttachedDisk", @@ -2136,6 +2137,16 @@ "readOnly": true, "type": "string" }, + "satisfiesPzi": { + "description": "Optional. Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzs": { + "description": "Optional. Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, "serviceLocks": { "description": "Output only. The list of BackupLocks taken by the service to prevent the deletion of the backup.", "items": { @@ -2384,7 +2395,7 @@ "type": "string" }, "resourceType": { - "description": "Required. The resource type to which the `BackupPlan` will be applied. Examples include, \"compute.googleapis.com/Instance\" and \"storage.googleapis.com/Bucket\".", + "description": "Required. The resource type to which the `BackupPlan` will be applied. Examples include, \"compute.googleapis.com/Instance\", \"sqladmin.googleapis.com/Instance\", or \"alloydb.googleapis.com/Cluster\".", "type": "string" }, "state": { @@ -2430,7 +2441,7 @@ "type": "string" }, "dataSource": { - "description": "Output only. Output Only. Resource name of data source which will be used as storage location for backups taken. Format : projects/{project}/locations/{location}/backupVaults/{backupvault}/dataSources/{datasource}", + "description": "Output only. Resource name of data source which will be used as storage location for backups taken. Format : projects/{project}/locations/{location}/backupVaults/{backupvault}/dataSources/{datasource}", "readOnly": true, "type": "string" }, @@ -2444,8 +2455,7 @@ "type": "string" }, "resourceType": { - "description": "Output only. Output Only. Resource type of workload on which backupplan is applied", - "readOnly": true, + "description": "Required. Immutable. Resource type of workload on which backupplan is applied", "type": "string" }, "rulesConfigInfo": { @@ -2463,14 +2473,16 @@ "CREATING", "ACTIVE", "DELETING", - "INACTIVE" + "INACTIVE", + "UPDATING" ], "enumDescriptions": [ "State not set.", "The resource is being created.", "The resource has been created and is fully usable.", "The resource is being deleted.", - "The resource has been created but is not usable." + "The resource has been created but is not usable.", + "The resource is being updated." ], "readOnly": true, "type": "string" @@ -2489,7 +2501,7 @@ "id": "BackupRule", "properties": { "backupRetentionDays": { - "description": "Required. Configures the duration for which backup data will be kept. It is defined in “days”. The value should be greater than or equal to minimum enforced retention of the backup vault.", + "description": "Required. Configures the duration for which backup data will be kept. It is defined in “days”. The value should be greater than or equal to minimum enforced retention of the backup vault. Minimum value is 1 and maximum value is 90 for hourly backups. Minimum value is 1 and maximum value is 90 for daily backups. Minimum value is 7 and maximum value is 186 for weekly backups. Minimum value is 30 and maximum value is 732 for monthly backups. Minimum value is 365 and maximum value is 36159 for yearly backups.", "format": "int32", "type": "integer" }, @@ -2509,18 +2521,20 @@ "id": "BackupVault", "properties": { "accessRestriction": { - "description": "Optional. Note: This field is added for future use case and will not be supported in the current release. Optional. Access restriction for the backup vault. Default value is WITHIN_ORGANIZATION if not provided during creation.", + "description": "Optional. Note: This field is added for future use case and will not be supported in the current release. Access restriction for the backup vault. Default value is WITHIN_ORGANIZATION if not provided during creation.", "enum": [ "ACCESS_RESTRICTION_UNSPECIFIED", "WITHIN_PROJECT", "WITHIN_ORGANIZATION", - "UNRESTRICTED" + "UNRESTRICTED", + "WITHIN_ORG_BUT_UNRESTRICTED_FOR_BA" ], "enumDescriptions": [ - "Access restriction not set.", + "Access restriction not set. If user does not provide any value or pass this value, it will be changed to WITHIN_ORGANIZATION.", "Access to or from resources outside your current project will be denied.", "Access to or from resources outside your current organization will be denied.", - "No access restriction." + "No access restriction.", + "Access to or from resources outside your current organization will be denied except for backup appliance." ], "type": "string" }, @@ -2609,7 +2623,7 @@ "type": "string" }, "uid": { - "description": "Output only. Output only Immutable after resource creation until resource deletion.", + "description": "Output only. Immutable after resource creation until resource deletion.", "readOnly": true, "type": "string" }, @@ -2661,49 +2675,12 @@ }, "type": "object" }, - "BlobstoreLocation": { - "description": "Policy ID that identified data placement in Blobstore as per go/blobstore-user-guide#data-metadata-placement-and-failure-domains", - "id": "BlobstoreLocation", - "properties": { - "policyId": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", "properties": {}, "type": "object" }, - "CloudAsset": { - "id": "CloudAsset", - "properties": { - "assetName": { - "type": "string" - }, - "assetType": { - "type": "string" - } - }, - "type": "object" - }, - "CloudAssetComposition": { - "id": "CloudAssetComposition", - "properties": { - "childAsset": { - "items": { - "$ref": "CloudAsset" - }, - "type": "array" - } - }, - "type": "object" - }, "ComputeInstanceBackupProperties": { "description": "ComputeInstanceBackupProperties represents Compute Engine instance backup properties.", "id": "ComputeInstanceBackupProperties", @@ -3171,18 +3148,6 @@ }, "type": "object" }, - "DirectLocationAssignment": { - "id": "DirectLocationAssignment", - "properties": { - "location": { - "items": { - "$ref": "LocationAssignment" - }, - "type": "array" - } - }, - "type": "object" - }, "DisplayDevice": { "description": "A set of Display Device options", "id": "DisplayDevice", @@ -3238,17 +3203,6 @@ }, "type": "object" }, - "ExtraParameter": { - "description": "Defines parameters that should only be used for specific asset types.", - "id": "ExtraParameter", - "properties": { - "regionalMigDistributionPolicy": { - "$ref": "RegionalMigDistributionPolicy", - "description": "Details about zones used by regional compute.googleapis.com/InstanceGroupManager to create instances." - } - }, - "type": "object" - }, "FetchAccessTokenRequest": { "description": "Request message for FetchAccessToken.", "id": "FetchAccessTokenRequest", @@ -3472,6 +3426,21 @@ }, "type": "object" }, + "InitializeServiceRequest": { + "description": "Request message for initializing the service.", + "id": "InitializeServiceRequest", + "properties": { + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "type": "string" + }, + "resourceType": { + "description": "Required. The resource type to which the default service config will be applied. Examples include, \"compute.googleapis.com/Instance\" and \"storage.googleapis.com/Bucket\".", + "type": "string" + } + }, + "type": "object" + }, "InitiateBackupRequest": { "description": "request message for InitiateBackup.", "id": "InitiateBackupRequest", @@ -3522,131 +3491,6 @@ }, "type": "object" }, - "IsolationExpectations": { - "id": "IsolationExpectations", - "properties": { - "requirementOverride": { - "$ref": "RequirementOverride", - "description": "Explicit overrides for ZI and ZS requirements to be used for resources that should be excluded from ZI/ZS verification logic." - }, - "ziOrgPolicy": { - "enum": [ - "ZI_UNSPECIFIED", - "ZI_UNKNOWN", - "ZI_NOT_REQUIRED", - "ZI_PREFERRED", - "ZI_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "ziRegionPolicy": { - "enum": [ - "ZI_REGION_POLICY_UNSPECIFIED", - "ZI_REGION_POLICY_UNKNOWN", - "ZI_REGION_POLICY_NOT_SET", - "ZI_REGION_POLICY_FAIL_OPEN", - "ZI_REGION_POLICY_FAIL_CLOSED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "ziRegionState": { - "enum": [ - "ZI_REGION_UNSPECIFIED", - "ZI_REGION_UNKNOWN", - "ZI_REGION_NOT_ENABLED", - "ZI_REGION_ENABLED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - }, - "zoneIsolation": { - "deprecated": true, - "description": "Deprecated: use zi_org_policy, zi_region_policy and zi_region_state instead for setting ZI expectations as per go/zicy-publish-physical-location.", - "enum": [ - "ZI_UNSPECIFIED", - "ZI_UNKNOWN", - "ZI_NOT_REQUIRED", - "ZI_PREFERRED", - "ZI_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "zoneSeparation": { - "deprecated": true, - "description": "Deprecated: use zs_org_policy, and zs_region_stateinstead for setting Zs expectations as per go/zicy-publish-physical-location.", - "enum": [ - "ZS_UNSPECIFIED", - "ZS_UNKNOWN", - "ZS_NOT_REQUIRED", - "ZS_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - }, - "zsOrgPolicy": { - "enum": [ - "ZS_UNSPECIFIED", - "ZS_UNKNOWN", - "ZS_NOT_REQUIRED", - "ZS_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - }, - "zsRegionState": { - "enum": [ - "ZS_REGION_UNSPECIFIED", - "ZS_REGION_UNKNOWN", - "ZS_REGION_NOT_ENABLED", - "ZS_REGION_ENABLED" - ], - "enumDescriptions": [ - "", - "To be used if tracking of the asset ZS-bit is not available", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, "ListBackupPlanAssociationsResponse": { "description": "Response message for List BackupPlanAssociation", "id": "ListBackupPlanAssociationsResponse", @@ -3867,64 +3711,6 @@ }, "type": "object" }, - "LocationAssignment": { - "id": "LocationAssignment", - "properties": { - "location": { - "type": "string" - }, - "locationType": { - "enum": [ - "UNSPECIFIED", - "CLUSTER", - "POP", - "CLOUD_ZONE", - "CLOUD_REGION", - "MULTI_REGION_GEO", - "MULTI_REGION_JURISDICTION", - "GLOBAL", - "OTHER" - ], - "enumDescriptions": [ - "", - "1-10: Physical failure domains.", - "", - "11-20: Logical failure domains.", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "LocationData": { - "id": "LocationData", - "properties": { - "blobstoreLocation": { - "$ref": "BlobstoreLocation" - }, - "childAssetLocation": { - "$ref": "CloudAssetComposition" - }, - "directLocation": { - "$ref": "DirectLocationAssignment" - }, - "gcpProjectProxy": { - "$ref": "TenantProjectProxy" - }, - "placerLocation": { - "$ref": "PlacerLocation" - }, - "spannerLocation": { - "$ref": "SpannerLocation" - } - }, - "type": "object" - }, "ManagementServer": { "description": "ManagementServer describes a single BackupDR ManagementServer instance.", "id": "ManagementServer", @@ -3969,7 +3755,7 @@ "type": "string" }, "networks": { - "description": "Required. VPC networks to which the ManagementServer instance is connected. For this version, only a single network is supported.", + "description": "Optional. VPC networks to which the ManagementServer instance is connected. For this version, only a single network is supported. This field is optional if MS is created without PSA", "items": { "$ref": "NetworkConfig" }, @@ -4323,7 +4109,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to 'Code.CANCELLED'.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to 'Code.CANCELLED'.", "readOnly": true, "type": "boolean" }, @@ -4345,17 +4131,6 @@ }, "type": "object" }, - "PlacerLocation": { - "description": "Message describing that the location of the customer resource is tied to placer allocations", - "id": "PlacerLocation", - "properties": { - "placerConfig": { - "description": "Directory with a config related to it in placer (e.g. \"/placer/prod/home/my-root/my-dir\")", - "type": "string" - } - }, - "type": "object" - }, "Policy": { "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", @@ -4387,25 +4162,6 @@ }, "type": "object" }, - "RegionalMigDistributionPolicy": { - "description": "To be used for specifying the intended distribution of regional compute.googleapis.com/InstanceGroupManager instances", - "id": "RegionalMigDistributionPolicy", - "properties": { - "targetShape": { - "description": "The shape in which the group converges around distribution of resources. Instance of proto2 enum", - "format": "int32", - "type": "integer" - }, - "zones": { - "description": "Cloud zones used by regional MIG to create instances.", - "items": { - "$ref": "ZoneConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, "RemoveDataSourceRequest": { "description": "Message for deleting a DataSource.", "id": "RemoveDataSourceRequest", @@ -4417,44 +4173,6 @@ }, "type": "object" }, - "RequirementOverride": { - "id": "RequirementOverride", - "properties": { - "ziOverride": { - "enum": [ - "ZI_UNSPECIFIED", - "ZI_UNKNOWN", - "ZI_NOT_REQUIRED", - "ZI_PREFERRED", - "ZI_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "zsOverride": { - "enum": [ - "ZS_UNSPECIFIED", - "ZS_UNKNOWN", - "ZS_NOT_REQUIRED", - "ZS_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, "RestoreBackupRequest": { "description": "Request message for restoring from a Backup.", "id": "RestoreBackupRequest", @@ -4491,7 +4209,7 @@ "properties": { "lastBackupError": { "$ref": "Status", - "description": "Output only. Output Only. google.rpc.Status object to store the last backup error.", + "description": "Output only. google.rpc.Status object to store the last backup error.", "readOnly": true }, "lastBackupState": { @@ -4520,7 +4238,7 @@ "type": "string" }, "ruleId": { - "description": "Output only. Output Only. Backup Rule id fetched from backup plan.", + "description": "Output only. Backup Rule id fetched from backup plan.", "readOnly": true, "type": "string" } @@ -4700,26 +4418,6 @@ "properties": {}, "type": "object" }, - "SpannerLocation": { - "id": "SpannerLocation", - "properties": { - "backupName": { - "description": "Set of backups used by the resource with name in the same format as what is available at http://table/spanner_automon.backup_metadata", - "items": { - "type": "string" - }, - "type": "array" - }, - "dbName": { - "description": "Set of databases used by the resource in format /span//", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "StandardSchedule": { "description": "`StandardSchedule` defines a schedule that run within the confines of a defined window of days. We can define recurrence type for schedule as HOURLY, DAILY, WEEKLY, MONTHLY or YEARLY.", "id": "StandardSchedule", @@ -4888,18 +4586,6 @@ }, "type": "object" }, - "TenantProjectProxy": { - "id": "TenantProjectProxy", - "properties": { - "projectNumbers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "TestIamPermissionsRequest": { "description": "Request message for `TestIamPermissions` method.", "id": "TestIamPermissionsRequest", @@ -5027,15 +4713,6 @@ } }, "type": "object" - }, - "ZoneConfiguration": { - "id": "ZoneConfiguration", - "properties": { - "zone": { - "type": "string" - } - }, - "type": "object" } }, "servicePath": "", diff --git a/discovery/batch-v1.json b/discovery/batch-v1.json index babc2aa5d5..00cffc9a38 100644 --- a/discovery/batch-v1.json +++ b/discovery/batch-v1.json @@ -404,7 +404,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "batch.projects.locations.operations.cancel", @@ -561,7 +561,7 @@ } } }, - "revision": "20240925", + "revision": "20241204", "rootUrl": "https://batch.googleapis.com/", "schemas": { "Accelerator": { @@ -1070,7 +1070,7 @@ "id": "CloudLoggingOption", "properties": { "useGenericTaskMonitoredResource": { - "description": "Optional. Set this flag to true to change the [monitored resource type](https://cloud.google.com/monitoring/api/resources) for Cloud Logging logs generated by this Batch job from the [`batch.googleapis.com/Job`](https://cloud.google.com/monitoring/api/resources#tag_batch.googleapis.com/Job) type to the formerly used [`generic_task`](https://cloud.google.com/monitoring/api/resources#tag_generic_task) type.", + "description": "Optional. Set this field to `true` to change the [monitored resource type](https://cloud.google.com/monitoring/api/resources) for Cloud Logging logs generated by this Batch job from the [`batch.googleapis.com/Job`](https://cloud.google.com/monitoring/api/resources#tag_batch.googleapis.com/Job) type to the formerly used [`generic_task`](https://cloud.google.com/monitoring/api/resources#tag_generic_task) type.", "type": "boolean" } }, @@ -1264,7 +1264,7 @@ "type": "string" }, "reservation": { - "description": "Optional. If specified, VMs will consume only the specified reservation. If not specified (default), VMs will consume any applicable reservation. Additionally, VMs will not consume any reservation if \"NO_RESERVATION\" is specified.", + "description": "Optional. If not specified (default), VMs will consume any applicable reservation. If \"NO_RESERVATION\" is specified, VMs will not consume any reservation. Otherwise, if specified, VMs will consume only the specified reservation.", "type": "string" } }, @@ -1287,7 +1287,7 @@ "type": "boolean" }, "instanceTemplate": { - "description": "Name of an instance template used to create VMs. Named the field as 'instance_template' instead of 'template' to avoid C++ keyword conflict. Batch only supports global instance templates. You can specify the global instance template as a full or partial URL.", + "description": "Name of an instance template used to create VMs. Named the field as 'instance_template' instead of 'template' to avoid C++ keyword conflict. Batch only supports global instance templates from the same project as the job. You can specify the global instance template as a full or partial URL.", "type": "string" }, "policy": { @@ -1637,29 +1637,29 @@ "type": "object" }, "LogsPolicy": { - "description": "LogsPolicy describes how outputs from a Job's Tasks (stdout/stderr) will be preserved.", + "description": "LogsPolicy describes if and how a job's logs are preserved. Logs include information that is automatically written by the Batch service agent and any information that you configured the job's runnables to write to the `stdout` or `stderr` streams.", "id": "LogsPolicy", "properties": { "cloudLoggingOption": { "$ref": "CloudLoggingOption", - "description": "Optional. Additional settings for Cloud Logging. It will only take effect when the destination of `LogsPolicy` is set to `CLOUD_LOGGING`." + "description": "Optional. When `destination` is set to `CLOUD_LOGGING`, you can optionally set this field to configure additional settings for Cloud Logging." }, "destination": { - "description": "Where logs should be saved.", + "description": "If and where logs should be saved.", "enum": [ "DESTINATION_UNSPECIFIED", "CLOUD_LOGGING", "PATH" ], "enumDescriptions": [ - "Logs are not preserved.", - "Logs are streamed to Cloud Logging.", - "Logs are saved to a file path." + "(Default) Logs are not preserved.", + "Logs are streamed to Cloud Logging. Optionally, you can configure additional settings in the `cloudLoggingOption` field.", + "Logs are saved to the file path specified in the `logsPath` field." ], "type": "string" }, "logsPath": { - "description": "The path to which logs are saved when the destination = PATH. This can be a local file path on the VM, or under the mount point of a Persistent Disk or Filestore, or a Cloud Storage path.", + "description": "When `destination` is set to `PATH`, you must set this field to the path where you want logs to be saved. This path can point to a local directory on the VM or (if congifured) a directory under the mount path of any Cloud Storage bucket, network file system (NFS), or writable persistent disk that is mounted to the job. For example, if the job has a bucket with `mountPath` set to `/mnt/disks/my-bucket`, you can write logs to the root directory of the `remotePath` of that bucket by setting this field to `/mnt/disks/my-bucket/`.", "type": "string" } }, @@ -1835,7 +1835,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, diff --git a/discovery/beyondcorp-v1.json b/discovery/beyondcorp-v1.json index cbe074a290..5e0a04aa22 100644 --- a/discovery/beyondcorp-v1.json +++ b/discovery/beyondcorp-v1.json @@ -391,7 +391,7 @@ "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`.", + "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/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "beyondcorp.organizations.locations.operations.cancel", @@ -1795,6 +1795,34 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/global/securityGateways/{securityGatewaysId}/applications/{applicationsId}:testIamPermissions", + "httpMethod": "POST", + "id": "beyondcorp.projects.locations.global.securityGateways.applications.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/securityGateways/[^/]+/applications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } } @@ -1805,7 +1833,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "beyondcorp.projects.locations.operations.cancel", @@ -2025,6 +2053,37 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}:getIamPolicy", + "httpMethod": "GET", + "id": "beyondcorp.projects.locations.securityGateways.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/securityGateways/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "list": { "description": "Lists SecurityGateways in a given project and location.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityGateways", @@ -2110,29 +2169,57 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, - "setPeering": { - "description": "This is a custom method to allow customers to create a peering connections between Google network and customer networks. This is enabled only for the allowlisted customers.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}:setPeering", + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}:setIamPolicy", "httpMethod": "POST", - "id": "beyondcorp.projects.locations.securityGateways.setPeering", + "id": "beyondcorp.projects.locations.securityGateways.setIamPolicy", "parameterOrder": [ - "securityGateway" + "resource" ], "parameters": { - "securityGateway": { - "description": "Required. BeyondCorp SecurityGateway name using the form: `projects/{project}/locations/{location}/securityGateways/{security_gateway}`", + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/securityGateways/[^/]+$", "required": true, "type": "string" } }, - "path": "v1/{+securityGateway}:setPeering", + "path": "v1/{+resource}:setIamPolicy", "request": { - "$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1SetPeeringRequest" + "$ref": "GoogleIamV1SetIamPolicyRequest" }, "response": { - "$ref": "GoogleLongrunningOperation" + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}:testIamPermissions", + "httpMethod": "POST", + "id": "beyondcorp.projects.locations.securityGateways.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/securityGateways/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -2202,6 +2289,37 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}/applications/{applicationsId}:getIamPolicy", + "httpMethod": "GET", + "id": "beyondcorp.projects.locations.securityGateways.applications.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/securityGateways/[^/]+/applications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "list": { "description": "Lists Applications in a given project and location.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}/applications", @@ -2247,6 +2365,34 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}/applications/{applicationsId}:setIamPolicy", + "httpMethod": "POST", + "id": "beyondcorp.projects.locations.securityGateways.applications.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/securityGateways/[^/]+/applications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } } @@ -2257,7 +2403,7 @@ } } }, - "revision": "20240925", + "revision": "20241204", "rootUrl": "https://beyondcorp.googleapis.com/", "schemas": { "AllocatedConnection": { @@ -2405,7 +2551,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -2691,7 +2837,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -2803,7 +2949,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -2943,7 +3089,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -3182,7 +3328,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -3258,7 +3404,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -3545,9 +3691,24 @@ "description": "The Hub message contains information pertaining to the regional data path deployments.", "id": "GoogleCloudBeyondcorpSecuritygatewaysV1Hub", "properties": { - "natGatewayConfig": { - "$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1NatGatewayConfig", - "description": "Optional. NAT gateway setup to ensure enough NAT IP addresses are available to handle the traffic needed to access the applications. Allows to explicitly enable or disable the NAT in the Hub along with the total IPs allocated to handle the capacity limits." + "internetGateway": { + "$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1InternetGateway", + "description": "Optional. Internet Gateway configuration." + } + }, + "type": "object" + }, + "GoogleCloudBeyondcorpSecuritygatewaysV1InternetGateway": { + "description": "Represents the Internet Gateway configuration.", + "id": "GoogleCloudBeyondcorpSecuritygatewaysV1InternetGateway", + "properties": { + "assignedIps": { + "description": "Output only. List of IP addresses assigned to the Cloud NAT.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" } }, "type": "object" @@ -3602,39 +3763,6 @@ }, "type": "object" }, - "GoogleCloudBeyondcorpSecuritygatewaysV1NatGatewayConfig": { - "description": "Represents the NAT Gateway configuration.", - "id": "GoogleCloudBeyondcorpSecuritygatewaysV1NatGatewayConfig", - "properties": { - "natIps": { - "description": "Output only. List of NAT IPs that will be used for establishing connection to the endpoints.", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudBeyondcorpSecuritygatewaysV1Peering": { - "description": "VPC Peering details.", - "id": "GoogleCloudBeyondcorpSecuritygatewaysV1Peering", - "properties": { - "dnsZones": { - "description": "Optional. List of DNS zones for DNS peering with the customer VPC network.", - "items": { - "type": "string" - }, - "type": "array" - }, - "targetVpcNetwork": { - "description": "Required. The name of the Target VPC network name in the format: `projects/{project}/global/networks/{network}", - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudBeyondcorpSecuritygatewaysV1SecurityGateway": { "description": "Information about a BeyoncCorp SecurityGateway resource.", "id": "GoogleCloudBeyondcorpSecuritygatewaysV1SecurityGateway", @@ -3744,28 +3872,6 @@ }, "type": "object" }, - "GoogleCloudBeyondcorpSecuritygatewaysV1SetPeeringRequest": { - "description": "Set Peering request for creating a VPC peering between Google network and customer networks.", - "id": "GoogleCloudBeyondcorpSecuritygatewaysV1SetPeeringRequest", - "properties": { - "requestId": { - "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", - "type": "string" - }, - "validateOnly": { - "description": "Optional. If set, validates request by executing a dry-run which would not alter the resource in any way.", - "type": "boolean" - }, - "vpcPeerings": { - "description": "Required. List of Peering connection information.", - "items": { - "$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1Peering" - }, - "type": "array" - } - }, - "type": "object" - }, "GoogleCloudBeyondcorpSecuritygatewaysV1alphaSecurityGatewayOperationMetadata": { "description": "Represents the metadata of the long-running operation.", "id": "GoogleCloudBeyondcorpSecuritygatewaysV1alphaSecurityGatewayOperationMetadata", diff --git a/discovery/beyondcorp-v1alpha.json b/discovery/beyondcorp-v1alpha.json index 0776309f91..3222978934 100644 --- a/discovery/beyondcorp-v1alpha.json +++ b/discovery/beyondcorp-v1alpha.json @@ -1117,7 +1117,7 @@ "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`.", + "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": "v1alpha/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "beyondcorp.organizations.locations.operations.cancel", @@ -3810,7 +3810,7 @@ "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`.", + "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": "v1alpha/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "beyondcorp.projects.locations.operations.cancel", @@ -4174,34 +4174,6 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, - "setPeering": { - "description": "This is a custom method to allow customers to create a peering connections between Google network and customer networks. This is enabled only for the allowlisted customers.", - "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}:setPeering", - "httpMethod": "POST", - "id": "beyondcorp.projects.locations.securityGateways.setPeering", - "parameterOrder": [ - "securityGateway" - ], - "parameters": { - "securityGateway": { - "description": "Required. BeyondCorp SecurityGateway name using the form: `projects/{project}/locations/{location}/securityGateways/{security_gateway}`", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/securityGateways/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha/{+securityGateway}:setPeering", - "request": { - "$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1alphaSetPeeringRequest" - }, - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, "testIamPermissions": { "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/securityGateways/{securityGatewaysId}:testIamPermissions", @@ -4408,7 +4380,7 @@ } } }, - "revision": "20240925", + "revision": "20241204", "rootUrl": "https://beyondcorp.googleapis.com/", "schemas": { "AllocatedConnection": { @@ -4556,7 +4528,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -5062,7 +5034,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -5258,7 +5230,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -5370,7 +5342,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -5542,7 +5514,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -5781,7 +5753,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -6683,9 +6655,24 @@ "description": "The Hub message contains information pertaining to the regional data path deployments.", "id": "GoogleCloudBeyondcorpSecuritygatewaysV1alphaHub", "properties": { - "natGatewayConfig": { - "$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1alphaNatGatewayConfig", - "description": "Optional. NAT gateway setup to ensure enough NAT IP addresses are available to handle the traffic needed to access the applications. Allows to explicitly enable or disable the NAT in the Hub along with the total IPs allocated to handle the capacity limits." + "internetGateway": { + "$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1alphaInternetGateway", + "description": "Optional. Internet Gateway configuration." + } + }, + "type": "object" + }, + "GoogleCloudBeyondcorpSecuritygatewaysV1alphaInternetGateway": { + "description": "Represents the Internet Gateway configuration.", + "id": "GoogleCloudBeyondcorpSecuritygatewaysV1alphaInternetGateway", + "properties": { + "assignedIps": { + "description": "Output only. List of IP addresses assigned to the Cloud NAT.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" } }, "type": "object" @@ -6740,39 +6727,6 @@ }, "type": "object" }, - "GoogleCloudBeyondcorpSecuritygatewaysV1alphaNatGatewayConfig": { - "description": "Represents the NAT Gateway configuration.", - "id": "GoogleCloudBeyondcorpSecuritygatewaysV1alphaNatGatewayConfig", - "properties": { - "natIps": { - "description": "Output only. List of NAT IPs that will be used for establishing connection to the endpoints.", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudBeyondcorpSecuritygatewaysV1alphaPeering": { - "description": "VPC Peering details.", - "id": "GoogleCloudBeyondcorpSecuritygatewaysV1alphaPeering", - "properties": { - "dnsZones": { - "description": "Optional. List of DNS zones for DNS peering with the customer VPC network.", - "items": { - "type": "string" - }, - "type": "array" - }, - "targetVpcNetwork": { - "description": "Required. The name of the Target VPC network name in the format: `projects/{project}/global/networks/{network}", - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudBeyondcorpSecuritygatewaysV1alphaSecurityGateway": { "description": "Information about a BeyoncCorp SecurityGateway resource.", "id": "GoogleCloudBeyondcorpSecuritygatewaysV1alphaSecurityGateway", @@ -6882,28 +6836,6 @@ }, "type": "object" }, - "GoogleCloudBeyondcorpSecuritygatewaysV1alphaSetPeeringRequest": { - "description": "Set Peering request for creating a VPC peering between Google network and customer networks.", - "id": "GoogleCloudBeyondcorpSecuritygatewaysV1alphaSetPeeringRequest", - "properties": { - "requestId": { - "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", - "type": "string" - }, - "validateOnly": { - "description": "Optional. If set, validates request by executing a dry-run which would not alter the resource in any way.", - "type": "boolean" - }, - "vpcPeerings": { - "description": "Required. List of Peering connection information.", - "items": { - "$ref": "GoogleCloudBeyondcorpSecuritygatewaysV1alphaPeering" - }, - "type": "array" - } - }, - "type": "object" - }, "GoogleCloudLocationListLocationsResponse": { "description": "The response message for Locations.ListLocations.", "id": "GoogleCloudLocationListLocationsResponse", diff --git a/discovery/bigquery-v2.json b/discovery/bigquery-v2.json index abb6041154..51a4c73228 100644 --- a/discovery/bigquery-v2.json +++ b/discovery/bigquery-v2.json @@ -253,6 +253,12 @@ "datasetId" ], "parameters": { + "accessPolicyVersion": { + "description": "Optional. The version of the access policy schema to fetch. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for conditional access policy binding in datasets must specify version 3. Dataset with no conditional role bindings in access policy may specify any valid value or leave the field unset. This field will be mapped to [IAM Policy version] (https://cloud.google.com/iam/docs/policies#versions) and will be used to fetch policy from IAM. If unset or if 0 or 1 value is used for dataset with conditional bindings, access entry with condition will have role string appended by 'withcond' string followed by a hash value. For example : { \"access\": [ { \"role\": \"roles/bigquery.dataViewer_with_conditionalbinding_7a34awqsda\", \"userByEmail\": \"user@example.com\", } ] } Please refer https://cloud.google.com/iam/docs/troubleshooting-withcond for more details.", + "format": "int32", + "location": "query", + "type": "integer" + }, "datasetId": { "description": "Required. Dataset ID of the requested dataset", "location": "path", @@ -304,6 +310,12 @@ "projectId" ], "parameters": { + "accessPolicyVersion": { + "description": "Optional. The version of the provided access policy schema. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. This version refers to the schema version of the access policy and not the version of access policy. This field's value can be equal or more than the access policy schema provided in the request. For example, * Requests with conditional access policy binding in datasets must specify version 3. * But dataset with no conditional role bindings in access policy may specify any valid value or leave the field unset. If unset or if 0 or 1 value is used for dataset with conditional bindings, request will be rejected. This field will be mapped to IAM Policy version (https://cloud.google.com/iam/docs/policies#versions) and will be used to set policy in IAM.", + "format": "int32", + "location": "query", + "type": "integer" + }, "projectId": { "description": "Required. Project ID of the new dataset", "location": "path", @@ -382,6 +394,12 @@ "datasetId" ], "parameters": { + "accessPolicyVersion": { + "description": "Optional. The version of the provided access policy schema. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. This version refers to the schema version of the access policy and not the version of access policy. This field's value can be equal or more than the access policy schema provided in the request. For example, * Operations updating conditional access policy binding in datasets must specify version 3. Some of the operations are : - Adding a new access policy entry with condition. - Removing an access policy entry with condition. - Updating an access policy entry with condition. * But dataset with no conditional role bindings in access policy may specify any valid value or leave the field unset. If unset or if 0 or 1 value is used for dataset with conditional bindings, request will be rejected. This field will be mapped to IAM Policy version (https://cloud.google.com/iam/docs/policies#versions) and will be used to set policy in IAM.", + "format": "int32", + "location": "query", + "type": "integer" + }, "datasetId": { "description": "Required. Dataset ID of the dataset being updated", "location": "path", @@ -456,6 +474,12 @@ "datasetId" ], "parameters": { + "accessPolicyVersion": { + "description": "Optional. The version of the provided access policy schema. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. This version refers to the schema version of the access policy and not the version of access policy. This field's value can be equal or more than the access policy schema provided in the request. For example, * Operations updating conditional access policy binding in datasets must specify version 3. Some of the operations are : - Adding a new access policy entry with condition. - Removing an access policy entry with condition. - Updating an access policy entry with condition. * But dataset with no conditional role bindings in access policy may specify any valid value or leave the field unset. If unset or if 0 or 1 value is used for dataset with conditional bindings, request will be rejected. This field will be mapped to IAM Policy version (https://cloud.google.com/iam/docs/policies#versions) and will be used to set policy in IAM.", + "format": "int32", + "location": "query", + "type": "integer" + }, "datasetId": { "description": "Required. Dataset ID of the dataset being updated", "location": "path", @@ -505,7 +529,7 @@ "type": "string" }, "location": { - "description": "The geographic location of the job. You must specify the location to run the job for the following scenarios: * If the location to run a job is not in the `us` or the `eu` multi-regional location * If the job's location is in a single region (for example, `us-central1`) For more information, see https://cloud.google.com/bigquery/docs/locations#specifying_your_location.", + "description": "The geographic location of the job. You must [specify the location](https://cloud.google.com/bigquery/docs/locations#specify_locations) to run the job for the following scenarios: * If the location to run a job is not in the `us` or the `eu` multi-regional location * If the job's location is in a single region (for example, `us-central1`)", "location": "query", "type": "string" }, @@ -544,7 +568,7 @@ "type": "string" }, "location": { - "description": "The geographic location of the job. Required. See details at: https://cloud.google.com/bigquery/docs/locations#specifying_your_location.", + "description": "The geographic location of the job. Required. For more information, see how to [specify locations](https://cloud.google.com/bigquery/docs/locations#specify_locations).", "location": "query", "type": "string" }, @@ -580,7 +604,7 @@ "type": "string" }, "location": { - "description": "The geographic location of the job. You must specify the location to run the job for the following scenarios: * If the location to run a job is not in the `us` or the `eu` multi-regional location * If the job's location is in a single region (for example, `us-central1`) For more information, see https://cloud.google.com/bigquery/docs/locations#specifying_your_location.", + "description": "The geographic location of the job. You must specify the location to run the job for the following scenarios: * If the location to run a job is not in the `us` or the `eu` multi-regional location * If the job's location is in a single region (for example, `us-central1`) For more information, see how to [specify locations](https://cloud.google.com/bigquery/docs/locations#specify_locations).", "location": "query", "type": "string" }, @@ -625,7 +649,7 @@ "type": "string" }, "location": { - "description": "The geographic location of the job. You must specify the location to run the job for the following scenarios: * If the location to run a job is not in the `us` or the `eu` multi-regional location * If the job's location is in a single region (for example, `us-central1`) For more information, see https://cloud.google.com/bigquery/docs/locations#specifying_your_location.", + "description": "The geographic location of the job. You must specify the location to run the job for the following scenarios: * If the location to run a job is not in the `us` or the `eu` multi-regional location * If the job's location is in a single region (for example, `us-central1`) For more information, see how to [specify locations](https://cloud.google.com/bigquery/docs/locations#specify_locations).", "location": "query", "type": "string" }, @@ -1985,7 +2009,7 @@ } } }, - "revision": "20240919", + "revision": "20241222", "rootUrl": "https://bigquery.googleapis.com/", "schemas": { "AggregateClassificationMetrics": { @@ -2063,13 +2087,13 @@ "enumDescriptions": [ "Default value.", "The argument is a variable with fully specified type, which can be a struct or an array, but not a table.", - "The argument is any type, including struct or array, but not a table. To be added: FIXED_TABLE, ANY_TABLE" + "The argument is any type, including struct or array, but not a table." ], "type": "string" }, "dataType": { "$ref": "StandardSqlDataType", - "description": "Required unless argument_kind = ANY_TYPE." + "description": "Set if argument_kind == FIXED_TYPE." }, "isAggregate": { "description": "Optional. Whether the argument is an aggregate function parameter. Must be Unset for routine types other than AGGREGATE_FUNCTION. For AGGREGATE_FUNCTION, if set to false, it is equivalent to adding \"NOT AGGREGATE\" clause in DDL; Otherwise, it is equivalent to omitting \"NOT AGGREGATE\" clause in DDL.", @@ -2568,11 +2592,11 @@ "id": "BigLakeConfiguration", "properties": { "connectionId": { - "description": "Required. The connection specifying the credentials to be used to read and write to external storage, such as Cloud Storage. The connection_id can have the form `{project}.{location}.{connection_id}` or `projects/{project}/locations/{location}/connections/{connection_id}\".", + "description": "Optional. The connection specifying the credentials to be used to read and write to external storage, such as Cloud Storage. The connection_id can have the form `{project}.{location}.{connection_id}` or `projects/{project}/locations/{location}/connections/{connection_id}\".", "type": "string" }, "fileFormat": { - "description": "Required. The file format the table data is stored in.", + "description": "Optional. The file format the table data is stored in.", "enum": [ "FILE_FORMAT_UNSPECIFIED", "PARQUET" @@ -2584,11 +2608,11 @@ "type": "string" }, "storageUri": { - "description": "Required. The fully qualified location prefix of the external folder where table data is stored. The '*' wildcard character is not allowed. The URI should be in the format `gs://bucket/path_to_table/`", + "description": "Optional. The fully qualified location prefix of the external folder where table data is stored. The '*' wildcard character is not allowed. The URI should be in the format `gs://bucket/path_to_table/`", "type": "string" }, "tableFormat": { - "description": "Required. The table format the metadata only snapshots are stored in.", + "description": "Optional. The table format the metadata only snapshots are stored in.", "enum": [ "TABLE_FORMAT_UNSPECIFIED", "ICEBERG" @@ -2995,7 +3019,7 @@ "id": "Clustering", "properties": { "fields": { - "description": "One or more fields on which data should be clustered. Only top-level, non-repeated, simple-type fields are supported. The ordering of the clustering fields should be prioritized from most to least important for filtering purposes. Additional information on limitations can be found here: https://cloud.google.com/bigquery/docs/creating-clustered-tables#limitations", + "description": "One or more fields on which data should be clustered. Only top-level, non-repeated, simple-type fields are supported. The ordering of the clustering fields should be prioritized from most to least important for filtering purposes. For additional information, see [Introduction to clustered tables](https://cloud.google.com/bigquery/docs/clustered-tables#limitations).", "items": { "type": "string" }, @@ -3165,6 +3189,10 @@ "items": { "description": "An object that defines dataset access for an entity.", "properties": { + "condition": { + "$ref": "Expr", + "description": "Optional. condition for the binding. If CEL expression in this field is true, this access binding will be considered" + }, "dataset": { "$ref": "DatasetAccessEntry", "description": "[Pick one] A grant authorizing all resources of a particular type in a particular dataset access to this dataset. Only views are supported for now. The role field is not required when this field is set. If that dataset is deleted and re-created, its access needs to be granted again via an update operation." @@ -3987,7 +4015,7 @@ "type": "object" }, "ExternalCatalogDatasetOptions": { - "description": "Options defining open source compatible datasets living in the BigQuery catalog. Contains metadata of open source database, schema or namespace represented by the current dataset.", + "description": "Options defining open source compatible datasets living in the BigQuery catalog. Contains metadata of open source database, schema, or namespace represented by the current dataset.", "id": "ExternalCatalogDatasetOptions", "properties": { "defaultStorageLocationUri": { @@ -3998,25 +4026,25 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. A map of key value pairs defining the parameters and properties of the open source schema. Maximum size of 2Mib.", + "description": "Optional. A map of key value pairs defining the parameters and properties of the open source schema. Maximum size of 2MiB.", "type": "object" } }, "type": "object" }, "ExternalCatalogTableOptions": { - "description": "Metadata about open source compatible table. The fields contained in these options correspond to hive metastore's table level properties.", + "description": "Metadata about open source compatible table. The fields contained in these options correspond to Hive metastore's table-level properties.", "id": "ExternalCatalogTableOptions", "properties": { "connectionId": { - "description": "Optional. The connection specifying the credentials to be used to read external storage, such as Azure Blob, Cloud Storage, or S3. The connection is needed to read the open source table from BigQuery Engine. The connection_id can have the form `..` or `projects//locations//connections/`.", + "description": "Optional. A connection ID that specifies the credentials to be used to read external storage, such as Azure Blob, Cloud Storage, or Amazon S3. This connection is needed to read the open source table from BigQuery. The connection_id format must be either `..` or `projects//locations//connections/`.", "type": "string" }, "parameters": { "additionalProperties": { "type": "string" }, - "description": "Optional. A map of key value pairs defining the parameters and properties of the open source table. Corresponds with hive meta store table parameters. Maximum size of 4Mib.", + "description": "Optional. A map of the key-value pairs defining the parameters and properties of the open source table. Corresponds with Hive metastore table parameters. Maximum size of 4MiB.", "type": "object" }, "storageDescriptor": { @@ -5582,7 +5610,7 @@ "Default value, which will be treated as ENTERPRISE.", "Standard edition.", "Enterprise edition.", - "Enterprise plus edition." + "Enterprise Plus edition." ], "readOnly": true, "type": "string" @@ -5906,7 +5934,7 @@ "readOnly": true }, "statementType": { - "description": "Output only. The type of query statement, if valid. Possible values: * `SELECT`: [`SELECT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#select_list) statement. * `ASSERT`: [`ASSERT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/debugging-statements#assert) statement. * `INSERT`: [`INSERT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/dml-syntax#insert_statement) statement. * `UPDATE`: [`UPDATE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#update_statement) statement. * `DELETE`: [`DELETE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language) statement. * `MERGE`: [`MERGE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language) statement. * `CREATE_TABLE`: [`CREATE TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_table_statement) statement, without `AS SELECT`. * `CREATE_TABLE_AS_SELECT`: [`CREATE TABLE AS SELECT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#query_statement) statement. * `CREATE_VIEW`: [`CREATE VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_view_statement) statement. * `CREATE_MODEL`: [`CREATE MODEL`](https://cloud.google.com/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-create#create_model_statement) statement. * `CREATE_MATERIALIZED_VIEW`: [`CREATE MATERIALIZED VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_materialized_view_statement) statement. * `CREATE_FUNCTION`: [`CREATE FUNCTION`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_function_statement) statement. * `CREATE_TABLE_FUNCTION`: [`CREATE TABLE FUNCTION`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_table_function_statement) statement. * `CREATE_PROCEDURE`: [`CREATE PROCEDURE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_procedure) statement. * `CREATE_ROW_ACCESS_POLICY`: [`CREATE ROW ACCESS POLICY`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_row_access_policy_statement) statement. * `CREATE_SCHEMA`: [`CREATE SCHEMA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_schema_statement) statement. * `CREATE_SNAPSHOT_TABLE`: [`CREATE SNAPSHOT TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_snapshot_table_statement) statement. * `CREATE_SEARCH_INDEX`: [`CREATE SEARCH INDEX`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_search_index_statement) statement. * `DROP_TABLE`: [`DROP TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_table_statement) statement. * `DROP_EXTERNAL_TABLE`: [`DROP EXTERNAL TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_external_table_statement) statement. * `DROP_VIEW`: [`DROP VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_view_statement) statement. * `DROP_MODEL`: [`DROP MODEL`](https://cloud.google.com/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-drop-model) statement. * `DROP_MATERIALIZED_VIEW`: [`DROP MATERIALIZED VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_materialized_view_statement) statement. * `DROP_FUNCTION` : [`DROP FUNCTION`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_function_statement) statement. * `DROP_TABLE_FUNCTION` : [`DROP TABLE FUNCTION`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_table_function) statement. * `DROP_PROCEDURE`: [`DROP PROCEDURE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_procedure_statement) statement. * `DROP_SEARCH_INDEX`: [`DROP SEARCH INDEX`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_search_index) statement. * `DROP_SCHEMA`: [`DROP SCHEMA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_schema_statement) statement. * `DROP_SNAPSHOT_TABLE`: [`DROP SNAPSHOT TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_snapshot_table_statement) statement. * `DROP_ROW_ACCESS_POLICY`: [`DROP [ALL] ROW ACCESS POLICY|POLICIES`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_row_access_policy_statement) statement. * `ALTER_TABLE`: [`ALTER TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#alter_table_set_options_statement) statement. * `ALTER_VIEW`: [`ALTER VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#alter_view_set_options_statement) statement. * `ALTER_MATERIALIZED_VIEW`: [`ALTER MATERIALIZED VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#alter_materialized_view_set_options_statement) statement. * `ALTER_SCHEMA`: [`ALTER SCHEMA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#aalter_schema_set_options_statement) statement. * `SCRIPT`: [`SCRIPT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/procedural-language). * `TRUNCATE_TABLE`: [`TRUNCATE TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/dml-syntax#truncate_table_statement) statement. * `CREATE_EXTERNAL_TABLE`: [`CREATE EXTERNAL TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_external_table_statement) statement. * `EXPORT_DATA`: [`EXPORT DATA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/other-statements#export_data_statement) statement. * `EXPORT_MODEL`: [`EXPORT MODEL`](https://cloud.google.com/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-export-model) statement. * `LOAD_DATA`: [`LOAD DATA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/other-statements#load_data_statement) statement. * `CALL`: [`CALL`](https://cloud.google.com/bigquery/docs/reference/standard-sql/procedural-language#call) statement.", + "description": "Output only. The type of query statement, if valid. Possible values: * `SELECT`: [`SELECT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#select_list) statement. * `ASSERT`: [`ASSERT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/debugging-statements#assert) statement. * `INSERT`: [`INSERT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/dml-syntax#insert_statement) statement. * `UPDATE`: [`UPDATE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/dml-syntax#update_statement) statement. * `DELETE`: [`DELETE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language) statement. * `MERGE`: [`MERGE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language) statement. * `CREATE_TABLE`: [`CREATE TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_table_statement) statement, without `AS SELECT`. * `CREATE_TABLE_AS_SELECT`: [`CREATE TABLE AS SELECT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_table_statement) statement. * `CREATE_VIEW`: [`CREATE VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_view_statement) statement. * `CREATE_MODEL`: [`CREATE MODEL`](https://cloud.google.com/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-create#create_model_statement) statement. * `CREATE_MATERIALIZED_VIEW`: [`CREATE MATERIALIZED VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_materialized_view_statement) statement. * `CREATE_FUNCTION`: [`CREATE FUNCTION`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_function_statement) statement. * `CREATE_TABLE_FUNCTION`: [`CREATE TABLE FUNCTION`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_table_function_statement) statement. * `CREATE_PROCEDURE`: [`CREATE PROCEDURE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_procedure) statement. * `CREATE_ROW_ACCESS_POLICY`: [`CREATE ROW ACCESS POLICY`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_row_access_policy_statement) statement. * `CREATE_SCHEMA`: [`CREATE SCHEMA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_schema_statement) statement. * `CREATE_SNAPSHOT_TABLE`: [`CREATE SNAPSHOT TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_snapshot_table_statement) statement. * `CREATE_SEARCH_INDEX`: [`CREATE SEARCH INDEX`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_search_index_statement) statement. * `DROP_TABLE`: [`DROP TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_table_statement) statement. * `DROP_EXTERNAL_TABLE`: [`DROP EXTERNAL TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_external_table_statement) statement. * `DROP_VIEW`: [`DROP VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_view_statement) statement. * `DROP_MODEL`: [`DROP MODEL`](https://cloud.google.com/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-drop-model) statement. * `DROP_MATERIALIZED_VIEW`: [`DROP MATERIALIZED VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_materialized_view_statement) statement. * `DROP_FUNCTION` : [`DROP FUNCTION`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_function_statement) statement. * `DROP_TABLE_FUNCTION` : [`DROP TABLE FUNCTION`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_table_function) statement. * `DROP_PROCEDURE`: [`DROP PROCEDURE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_procedure_statement) statement. * `DROP_SEARCH_INDEX`: [`DROP SEARCH INDEX`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_search_index) statement. * `DROP_SCHEMA`: [`DROP SCHEMA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_schema_statement) statement. * `DROP_SNAPSHOT_TABLE`: [`DROP SNAPSHOT TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_snapshot_table_statement) statement. * `DROP_ROW_ACCESS_POLICY`: [`DROP [ALL] ROW ACCESS POLICY|POLICIES`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_row_access_policy_statement) statement. * `ALTER_TABLE`: [`ALTER TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#alter_table_set_options_statement) statement. * `ALTER_VIEW`: [`ALTER VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#alter_view_set_options_statement) statement. * `ALTER_MATERIALIZED_VIEW`: [`ALTER MATERIALIZED VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#alter_materialized_view_set_options_statement) statement. * `ALTER_SCHEMA`: [`ALTER SCHEMA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#alter_schema_set_options_statement) statement. * `SCRIPT`: [`SCRIPT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/procedural-language). * `TRUNCATE_TABLE`: [`TRUNCATE TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/dml-syntax#truncate_table_statement) statement. * `CREATE_EXTERNAL_TABLE`: [`CREATE EXTERNAL TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_external_table_statement) statement. * `EXPORT_DATA`: [`EXPORT DATA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/other-statements#export_data_statement) statement. * `EXPORT_MODEL`: [`EXPORT MODEL`](https://cloud.google.com/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-export-model) statement. * `LOAD_DATA`: [`LOAD DATA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/other-statements#load_data_statement) statement. * `CALL`: [`CALL`](https://cloud.google.com/bigquery/docs/reference/standard-sql/procedural-language#call) statement.", "readOnly": true, "type": "string" }, @@ -6318,7 +6346,7 @@ "View has no cached data because it has not refreshed yet.", "The estimated cost of the view is more expensive than another view or the base table. Note: The estimate cost might not match the billed cost.", "View has no cached data because a base table is truncated.", - "View is invalidated because of a data change in one or more base tables. It could be any recent change if the [`max_staleness`](https://cloud.google.com/bigquery/docs/materialized-views-create#max_staleness) option is not set for the view, or otherwise any change outside of the staleness window.", + "View is invalidated because of a data change in one or more base tables. It could be any recent change if the [`maxStaleness`](https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#Table.FIELDS.max_staleness) option is not set for the view, or otherwise any change outside of the staleness window.", "View is invalidated because a base table's partition expiration has changed.", "View is invalidated because a base table's partition has expired.", "View is invalidated because a base table has an incompatible metadata change.", @@ -7191,7 +7219,7 @@ "type": "object" }, "location": { - "description": "The geographic location where the job should run. See details at https://cloud.google.com/bigquery/docs/locations#specifying_your_location.", + "description": "The geographic location where the job should run. For more information, see how to [specify locations](https://cloud.google.com/bigquery/docs/locations#specify_locations).", "type": "string" }, "maxResults": { @@ -8496,6 +8524,20 @@ "readOnly": true, "type": "string" }, + "managedTableType": { + "description": "Optional. If set, overrides the default managed table type configured in the dataset.", + "enum": [ + "MANAGED_TABLE_TYPE_UNSPECIFIED", + "NATIVE", + "ICEBERG" + ], + "enumDescriptions": [ + "No managed table type specified.", + "The managed table is a native BigQuery table.", + "The managed table is a BigQuery table for Apache Iceberg." + ], + "type": "string" + }, "materializedView": { "$ref": "MaterializedViewDefinition", "description": "Optional. The materialized view definition." @@ -9379,7 +9421,7 @@ "type": "number" }, "contributionMetric": { - "description": "The contribution metric. Applies to contribution analysis models. Allowed formats supported are for summable and summable ratio contribution metrics. These include expressions such as \"SUM(x)\" or \"SUM(x)/SUM(y)\", where x and y are column names from the base table.", + "description": "The contribution metric. Applies to contribution analysis models. Allowed formats supported are for summable and summable ratio contribution metrics. These include expressions such as `SUM(x)` or `SUM(x)/SUM(y)`, where x and y are column names from the base table.", "type": "string" }, "dartNormalizeType": { @@ -9423,7 +9465,7 @@ "type": "string" }, "dataSplitColumn": { - "description": "The column to split data with. This column won't be used as a feature. 1. When data_split_method is CUSTOM, the corresponding column should be boolean. The rows with true value tag are eval data, and the false are training data. 2. When data_split_method is SEQ, the first DATA_SPLIT_EVAL_FRACTION rows (from smallest to largest) in the corresponding column are used as training data, and the rest are eval data. It respects the order in Orderable data types: https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#data-type-properties", + "description": "The column to split data with. This column won't be used as a feature. 1. When data_split_method is CUSTOM, the corresponding column should be boolean. The rows with true value tag are eval data, and the false are training data. 2. When data_split_method is SEQ, the first DATA_SPLIT_EVAL_FRACTION rows (from smallest to largest) in the corresponding column are used as training data, and the rest are eval data. It respects the order in Orderable data types: https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#data_type_properties", "type": "string" }, "dataSplitEvalFraction": { diff --git a/discovery/bigqueryreservation-v1.json b/discovery/bigqueryreservation-v1.json index 9f4708c8b3..5a84bbbd26 100644 --- a/discovery/bigqueryreservation-v1.json +++ b/discovery/bigqueryreservation-v1.json @@ -635,7 +635,7 @@ ] }, "failoverReservation": { - "description": "Failover a reservation to the secondary location. The operation should be done in the current secondary location, which will be promoted to the new primary location for the reservation. Attempting to failover a reservation in the current primary location will fail with the error code `google.rpc.Code.FAILED_PRECONDITION`.", + "description": "Fail over a reservation to the secondary location. The operation should be done in the current secondary location, which will be promoted to the new primary location for the reservation. Attempting to failover a reservation in the current primary location will fail with the error code `google.rpc.Code.FAILED_PRECONDITION`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}:failoverReservation", "httpMethod": "POST", "id": "bigqueryreservation.projects.locations.reservations.failoverReservation", @@ -935,7 +935,7 @@ } } }, - "revision": "20240921", + "revision": "20241209", "rootUrl": "https://bigqueryreservation.googleapis.com/", "schemas": { "Assignment": { @@ -946,6 +946,10 @@ "description": "The resource which will use the reservation. E.g. `projects/myproject`, `folders/123`, or `organizations/456`.", "type": "string" }, + "enableGeminiInBigquery": { + "description": "Optional. This field controls if \"Gemini in BigQuery\" (https://cloud.google.com/gemini/docs/bigquery/overview) features should be enabled for this reservation assignment, which is not on by default. \"Gemini in BigQuery\" has a distinct compliance posture from BigQuery. If this field is set to true, the assignment job type is QUERY, and the parent reservation edition is ENTERPRISE_PLUS, then the assignment will give the grantee project/organization access to \"Gemini in BigQuery\" features.", + "type": "boolean" + }, "jobType": { "description": "Which type of jobs will use the reservation.", "enum": [ @@ -994,7 +998,7 @@ "id": "Autoscale", "properties": { "currentSlots": { - "description": "Output only. The slot capacity added to this reservation when autoscale happens. Will be between [0, max_slots].", + "description": "Output only. The slot capacity added to this reservation when autoscale happens. Will be between [0, max_slots]. Note: after users reduce max_slots, it may take a while before it can be propagated, so current_slots may stay in the original value and could be larger than max_slots for that brief period (less than one minute)", "format": "int64", "readOnly": true, "type": "string" @@ -1064,7 +1068,7 @@ "Default value, which will be treated as ENTERPRISE.", "Standard edition.", "Enterprise edition.", - "Enterprise plus edition." + "Enterprise Plus edition." ], "type": "string" }, @@ -1296,7 +1300,7 @@ "description": "The configuration parameters for the auto scaling feature." }, "concurrency": { - "description": "Job concurrency target which sets a soft upper bound on the number of jobs that can run concurrently in this reservation. This is a soft target due to asynchronous nature of the system and various optimizations for small queries. Default value is 0 which means that concurrency target will be automatically computed by the system. NOTE: this field is exposed as target job concurrency in the Information Schema, DDL and BQ CLI.", + "description": "Job concurrency target which sets a soft upper bound on the number of jobs that can run concurrently in this reservation. This is a soft target due to asynchronous nature of the system and various optimizations for small queries. Default value is 0 which means that concurrency target will be automatically computed by the system. NOTE: this field is exposed as target job concurrency in the Information Schema, DDL and BigQuery CLI.", "format": "int64", "type": "string" }, @@ -1318,7 +1322,7 @@ "Default value, which will be treated as ENTERPRISE.", "Standard edition.", "Enterprise edition.", - "Enterprise plus edition." + "Enterprise Plus edition." ], "type": "string" }, @@ -1326,6 +1330,13 @@ "description": "If false, any query or pipeline job using this reservation will use idle slots from other reservations within the same admin project. If true, a query or pipeline job using this reservation will execute with the slot capacity specified in the slot_capacity field at most.", "type": "boolean" }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The labels associated with this reservation. You can use these to organize and group your reservations. You can set this property when inserting or updating a reservation.", + "type": "object" + }, "multiRegionAuxiliary": { "description": "Applicable only for reservations located within one of the BigQuery multi-regions (US or EU). If set to true, this reservation is placed in the organization's secondary region which is designated for disaster recovery purposes. If false, this reservation is placed in the organization's default region. NOTE: this is a preview feature. Project must be allow-listed in order to set this field.", "type": "boolean" @@ -1335,15 +1346,17 @@ "type": "string" }, "originalPrimaryLocation": { - "description": "Optional. The original primary location of the reservation which is set only during its creation and remains unchanged afterwards. It can be used by the customer to answer questions about disaster recovery billing. The field is output only for customers and should not be specified, however, the google.api.field_behavior is not set to OUTPUT_ONLY since these fields are set in rerouted requests sent across regions.", + "description": "Output only. The location where the reservation was originally created. This is set only during the failover reservation's creation. All billing charges for the failover reservation will be applied to this location.", + "readOnly": true, "type": "string" }, "primaryLocation": { - "description": "Optional. The primary location of the reservation. The field is only meaningful for reservation used for cross region disaster recovery. The field is output only for customers and should not be specified, however, the google.api.field_behavior is not set to OUTPUT_ONLY since these fields are set in rerouted requests sent across regions.", + "description": "Output only. The current location of the reservation's primary replica. This field is only set for reservations using the managed disaster recovery feature.", + "readOnly": true, "type": "string" }, "secondaryLocation": { - "description": "Optional. The secondary location of the reservation which is used for cross region disaster recovery purposes. Customer can set this in create/update reservation calls to create a failover reservation or convert a non-failover reservation to a failover reservation.", + "description": "Optional. The current location of the reservation's secondary replica. This field is only set for reservations using the managed disaster recovery feature. Users can set this in create reservation calls to create a failover reservation or in update reservation calls to convert a non-failover reservation to a failover reservation(or vice versa).", "type": "string" }, "slotCapacity": { diff --git a/discovery/bigtableadmin-v2.json b/discovery/bigtableadmin-v2.json index 1907f6ab8d..617aa90a5e 100644 --- a/discovery/bigtableadmin-v2.json +++ b/discovery/bigtableadmin-v2.json @@ -2194,7 +2194,7 @@ } } }, - "revision": "20240918", + "revision": "20241203", "rootUrl": "https://bigtableadmin.googleapis.com/", "schemas": { "AppProfile": { @@ -2325,12 +2325,12 @@ "id": "AutomatedBackupPolicy", "properties": { "frequency": { - "description": "Required. How frequently automated backups should occur. The only supported value at this time is 24 hours.", + "description": "How frequently automated backups should occur. The only supported value at this time is 24 hours. An undefined frequency is treated as 24 hours.", "format": "google-duration", "type": "string" }, "retentionPeriod": { - "description": "Required. How long the automated backups should be retained. The only supported value at this time is 3 days.", + "description": "Required. How long the automated backups should be retained. Values must be at least 3 days and at most 90 days.", "format": "google-duration", "type": "string" } @@ -3174,7 +3174,7 @@ "type": "object" }, "GoogleBigtableAdminV2TypeAggregate": { - "description": "A value that combines incremental updates into a summarized value. Data is never directly written or read using type `Aggregate`. Writes will provide either the `input_type` or `state_type`, and reads will always return the `state_type` .", + "description": "A value that combines incremental updates into a summarized value. Data is never directly written or read using type `Aggregate`. Writes provide either the `input_type` or `state_type`, and reads always return the `state_type` .", "id": "GoogleBigtableAdminV2TypeAggregate", "properties": { "hllppUniqueCount": { @@ -3183,7 +3183,7 @@ }, "inputType": { "$ref": "Type", - "description": "Type of the inputs that are accumulated by this `Aggregate`, which must specify a full encoding. Use `AddInput` mutations to accumulate new inputs." + "description": "Type of the inputs that are accumulated by this `Aggregate`. Use `AddInput` mutations to accumulate new inputs." }, "max": { "$ref": "GoogleBigtableAdminV2TypeAggregateMax", @@ -3195,7 +3195,7 @@ }, "stateType": { "$ref": "Type", - "description": "Output only. Type that holds the internal accumulator state for the `Aggregate`. This is a function of the `input_type` and `aggregator` chosen, and will always specify a full encoding.", + "description": "Output only. Type that holds the internal accumulator state for the `Aggregate`. This is a function of the `input_type` and `aggregator` chosen.", "readOnly": true }, "sum": { @@ -3252,13 +3252,13 @@ "properties": { "encoding": { "$ref": "GoogleBigtableAdminV2TypeBytesEncoding", - "description": "The encoding to use when converting to/from lower level types." + "description": "The encoding to use when converting to or from lower level types." } }, "type": "object" }, "GoogleBigtableAdminV2TypeBytesEncoding": { - "description": "Rules used to convert to/from lower level types.", + "description": "Rules used to convert to or from lower level types.", "id": "GoogleBigtableAdminV2TypeBytesEncoding", "properties": { "raw": { @@ -3269,7 +3269,7 @@ "type": "object" }, "GoogleBigtableAdminV2TypeBytesEncodingRaw": { - "description": "Leaves the value \"as-is\" * Order-preserving? Yes * Self-delimiting? No * Compatibility? N/A", + "description": "Leaves the value as-is. Sorted mode: all values are supported. Distinct mode: all values are supported.", "id": "GoogleBigtableAdminV2TypeBytesEncodingRaw", "properties": {}, "type": "object" @@ -3298,13 +3298,13 @@ "properties": { "encoding": { "$ref": "GoogleBigtableAdminV2TypeInt64Encoding", - "description": "The encoding to use when converting to/from lower level types." + "description": "The encoding to use when converting to or from lower level types." } }, "type": "object" }, "GoogleBigtableAdminV2TypeInt64Encoding": { - "description": "Rules used to convert to/from lower level types.", + "description": "Rules used to convert to or from lower level types.", "id": "GoogleBigtableAdminV2TypeInt64Encoding", "properties": { "bigEndianBytes": { @@ -3315,7 +3315,7 @@ "type": "object" }, "GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes": { - "description": "Encodes the value as an 8-byte big endian twos complement `Bytes` value. * Order-preserving? No (positive values only) * Self-delimiting? Yes * Compatibility? - BigQuery Federation `BINARY` encoding - HBase `Bytes.toBytes` - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`", + "description": "Encodes the value as an 8-byte big-endian two's complement value. Sorted mode: non-negative values are supported. Distinct mode: all values are supported. Compatible with: - BigQuery `BINARY` encoding - HBase `Bytes.toBytes` - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`", "id": "GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes", "properties": { "bytesType": { @@ -3347,13 +3347,13 @@ "properties": { "encoding": { "$ref": "GoogleBigtableAdminV2TypeStringEncoding", - "description": "The encoding to use when converting to/from lower level types." + "description": "The encoding to use when converting to or from lower level types." } }, "type": "object" }, "GoogleBigtableAdminV2TypeStringEncoding": { - "description": "Rules used to convert to/from lower level types.", + "description": "Rules used to convert to or from lower level types.", "id": "GoogleBigtableAdminV2TypeStringEncoding", "properties": { "utf8Bytes": { @@ -3369,7 +3369,7 @@ "type": "object" }, "GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes": { - "description": "UTF-8 encoding * Order-preserving? Yes (code point order) * Self-delimiting? No * Compatibility? - BigQuery Federation `TEXT` encoding - HBase `Bytes.toBytes` - Java `String#getBytes(StandardCharsets.UTF_8)`", + "description": "UTF-8 encoding. Sorted mode: - All values are supported. - Code point order is preserved. Distinct mode: all values are supported. Compatible with: - BigQuery `TEXT` encoding - HBase `Bytes.toBytes` - Java `String#getBytes(StandardCharsets.UTF_8)`", "id": "GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes", "properties": {}, "type": "object" @@ -4010,7 +4010,7 @@ "type": "string" }, "optimizeTableOperationName": { - "description": "If exists, the name of the long-running operation that will be used to track the post-restore optimization process to optimize the performance of the restored table. The metadata type of the long-running operation is OptimizeRestoreTableMetadata. The response type is Empty. This long-running operation may be automatically created by the system if applicable after the RestoreTable long-running operation completes successfully. This operation may not be created if the table is already optimized or the restore was not successful.", + "description": "If exists, the name of the long-running operation that will be used to track the post-restore optimization process to optimize the performance of the restored table. The metadata type of the long-running operation is OptimizeRestoredTableMetadata. The response type is Empty. This long-running operation may be automatically created by the system if applicable after the RestoreTable long-running operation completes successfully. This operation may not be created if the table is already optimized or the restore was not successful.", "type": "string" }, "progress": { @@ -4302,7 +4302,7 @@ "type": "object" }, "Type": { - "description": "`Type` represents the type of data that is written to, read from, or stored in Bigtable. It is heavily based on the GoogleSQL standard to help maintain familiarity and consistency across products and features. For compatibility with Bigtable's existing untyped APIs, each `Type` includes an `Encoding` which describes how to convert to/from the underlying data. Each encoding also defines the following properties: * Order-preserving: Does the encoded value sort consistently with the original typed value? Note that Bigtable will always sort data based on the raw encoded value, *not* the decoded type. - Example: BYTES values sort in the same order as their raw encodings. - Counterexample: Encoding INT64 as a fixed-width decimal string does *not* preserve sort order when dealing with negative numbers. `INT64(1) > INT64(-1)`, but `STRING(\"-00001\") > STRING(\"00001)`. * Self-delimiting: If we concatenate two encoded values, can we always tell where the first one ends and the second one begins? - Example: If we encode INT64s to fixed-width STRINGs, the first value will always contain exactly N digits, possibly preceded by a sign. - Counterexample: If we concatenate two UTF-8 encoded STRINGs, we have no way to tell where the first one ends. * Compatibility: Which other systems have matching encoding schemes? For example, does this encoding have a GoogleSQL equivalent? HBase? Java?", + "description": "`Type` represents the type of data that is written to, read from, or stored in Bigtable. It is heavily based on the GoogleSQL standard to help maintain familiarity and consistency across products and features. For compatibility with Bigtable's existing untyped APIs, each `Type` includes an `Encoding` which describes how to convert to or from the underlying data. Each encoding can operate in one of two modes: - Sorted: In this mode, Bigtable guarantees that `Encode(X) <= Encode(Y)` if and only if `X <= Y`. This is useful anywhere sort order is important, for example when encoding keys. - Distinct: In this mode, Bigtable guarantees that if `X != Y` then `Encode(X) != Encode(Y)`. However, the converse is not guaranteed. For example, both \"{'foo': '1', 'bar': '2'}\" and \"{'bar': '2', 'foo': '1'}\" are valid encodings of the same JSON value. The API clearly documents which mode is used wherever an encoding can be configured. Each encoding also documents which values are supported in which modes. For example, when encoding INT64 as a numeric STRING, negative numbers cannot be encoded in sorted mode. This is because `INT64(1) > INT64(-1)`, but `STRING(\"-00001\") > STRING(\"00001\")`.", "id": "Type", "properties": { "aggregateType": { diff --git a/discovery/binaryauthorization-v1.json b/discovery/binaryauthorization-v1.json index 3bbbceae41..063fc6f3f9 100644 --- a/discovery/binaryauthorization-v1.json +++ b/discovery/binaryauthorization-v1.json @@ -747,7 +747,7 @@ } } }, - "revision": "20240621", + "revision": "20241115", "rootUrl": "https://binaryauthorization.googleapis.com/", "schemas": { "AdmissionRule": { @@ -785,7 +785,6 @@ "type": "string" }, "requireAttestationsBy": { - "description": "Optional. The resource names of the attestors that must attest to a container image, in the format `projects/*/attestors/*`. Each attestor must exist before a policy can reference it. To add an attestor to a policy the principal issuing the policy change request must be able to read the attestor resource. Note: this field must be non-empty when the `evaluation_mode` field specifies `REQUIRE_ATTESTATION`, otherwise it must be empty.", "items": { "type": "string" }, diff --git a/discovery/binaryauthorization-v1beta1.json b/discovery/binaryauthorization-v1beta1.json index 0b5c1a02d5..c372ea2766 100644 --- a/discovery/binaryauthorization-v1beta1.json +++ b/discovery/binaryauthorization-v1beta1.json @@ -551,7 +551,7 @@ } } }, - "revision": "20240119", + "revision": "20241018", "rootUrl": "https://binaryauthorization.googleapis.com/", "schemas": { "AdmissionRule": { @@ -589,7 +589,6 @@ "type": "string" }, "requireAttestationsBy": { - "description": "Optional. The resource names of the attestors that must attest to a container image, in the format `projects/*/attestors/*`. Each attestor must exist before a policy can reference it. To add an attestor to a policy the principal issuing the policy change request must be able to read the attestor resource. Note: this field must be non-empty when the evaluation_mode field specifies REQUIRE_ATTESTATION, otherwise it must be empty.", "items": { "type": "string" }, diff --git a/discovery/blockchainnodeengine-v1.json b/discovery/blockchainnodeengine-v1.json index c512776645..ff9c0e7480 100644 --- a/discovery/blockchainnodeengine-v1.json +++ b/discovery/blockchainnodeengine-v1.json @@ -362,7 +362,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "blockchainnodeengine.projects.locations.operations.cancel", @@ -487,7 +487,7 @@ } } }, - "revision": "20240504", + "revision": "20241204", "rootUrl": "https://blockchainnodeengine.googleapis.com/", "schemas": { "BlockchainNode": { diff --git a/discovery/calendar-v3.json b/discovery/calendar-v3.json index 5b4b20d757..c5abdfa984 100644 --- a/discovery/calendar-v3.json +++ b/discovery/calendar-v3.json @@ -1767,7 +1767,7 @@ } } }, - "revision": "20240927", + "revision": "20241101", "rootUrl": "https://www.googleapis.com/", "schemas": { "Acl": { @@ -2362,6 +2362,10 @@ "description": "Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the maxAttendee query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False.", "type": "boolean" }, + "birthdayProperties": { + "$ref": "EventBirthdayProperties", + "description": "Birthday or special event data. Used if eventType is \"birthday\". Immutable." + }, "colorId": { "description": "The color of the event. This is an ID referring to an entry in the event section of the colors definition (see the colors endpoint). Optional.", "type": "string" @@ -2748,6 +2752,25 @@ }, "type": "object" }, + "EventBirthdayProperties": { + "id": "EventBirthdayProperties", + "properties": { + "contact": { + "description": "Resource name of the contact this birthday event is linked to. This can be used to fetch contact details from People API. Format: \"people/c12345\". Read-only.", + "type": "string" + }, + "customTypeName": { + "description": "Custom type label specified for this event. This is populated if birthdayProperties.type is set to \"custom\". Read-only.", + "type": "string" + }, + "type": { + "default": "birthday", + "description": "Type of birthday or special event. Possible values are: \n- \"anniversary\" - An anniversary other than birthday. Always has a contact. \n- \"birthday\" - A birthday event. This is the default value. \n- \"custom\" - A special date whose label is further specified in the customTypeName field. Always has a contact. \n- \"other\" - A special date which does not fall into the other categories, and does not have a custom label. Always has a contact. \n- \"self\" - Calendar owner's own birthday. Cannot have a contact. The Calendar API only supports creating events with the type \"birthday\". The type cannot be changed after the event is created.", + "type": "string" + } + }, + "type": "object" + }, "EventDateTime": { "id": "EventDateTime", "properties": { diff --git a/discovery/certificatemanager-v1.json b/discovery/certificatemanager-v1.json index ead5a53b0d..a6aec77ace 100644 --- a/discovery/certificatemanager-v1.json +++ b/discovery/certificatemanager-v1.json @@ -1017,7 +1017,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "certificatemanager.projects.locations.operations.cancel", @@ -1314,7 +1314,7 @@ } } }, - "revision": "20240729", + "revision": "20241204", "rootUrl": "https://certificatemanager.googleapis.com/", "schemas": { "AllowlistedCertificate": { @@ -1441,9 +1441,9 @@ "ALL_REGIONS" ], "enumDescriptions": [ - "Certificates with default scope are served from core Google data centers. If unsure, choose this option.", - "Certificates with scope EDGE_CACHE are special-purposed certificates, served from Edge Points of Presence. See https://cloud.google.com/vpc/docs/edge-locations.", - "Certificates with ALL_REGIONS scope are served from all Google Cloud regions. See https://cloud.google.com/compute/docs/regions-zones." + "Use the DEFAULT scope if you plan to use the certificate with global external Application Load Balancer, global external proxy Network Load Balancer, or any of the regional Google Cloud services.", + "Use the EDGE_CACHE scope if you plan to use the certificate with Media CDN. The certificates are served from Edge Points of Presence. See https://cloud.google.com/vpc/docs/edge-locations.", + "Use the ALL_REGIONS scope if you plan to use the certificate with cross-region internal Application Load Balancer. The certificates are served from all Google Cloud regions. See https://cloud.google.com/compute/docs/regions-zones." ], "type": "string" }, @@ -2129,7 +2129,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "type": "boolean" }, "statusMessage": { diff --git a/discovery/chat-v1.json b/discovery/chat-v1.json index 6ec5d561a7..0207d19d2c 100644 --- a/discovery/chat-v1.json +++ b/discovery/chat-v1.json @@ -262,7 +262,7 @@ "spaces": { "methods": { "completeImport": { - "description": "Completes the [import process](https://developers.google.com/workspace/chat/import-data) for the specified space and makes it visible to users. Requires app authentication and domain-wide delegation. For more information, see [Authorize Google Chat apps to import data](https://developers.google.com/workspace/chat/authorize-import).", + "description": "Completes the [import process](https://developers.google.com/workspace/chat/import-data) for the specified space and makes it visible to users. Requires [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) and domain-wide delegation. For more information, see [Authorize Google Chat apps to import data](https://developers.google.com/workspace/chat/authorize-import).", "flatPath": "v1/spaces/{spacesId}:completeImport", "httpMethod": "POST", "id": "chat.spaces.completeImport", @@ -290,7 +290,7 @@ ] }, "create": { - "description": "Creates a space with no members. Can be used to create a named space. Spaces grouped by topics aren't supported. For an example, see [Create a space](https://developers.google.com/workspace/chat/create-spaces). If you receive the error message `ALREADY_EXISTS` when creating a space, try a different `displayName`. An existing space within the Google Workspace organization might already use this display name. If you're a member of the [Developer Preview program](https://developers.google.com/workspace/preview), you can create a group chat in import mode using `spaceType.GROUP_CHAT`. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) When authenticating as an app, the `space.customer` field must be set in the request.", + "description": "Creates a space. Can be used to create a named space, or a group chat in `Import mode`. For an example, see [Create a space](https://developers.google.com/workspace/chat/create-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) When authenticating as an app, the `space.customer` field must be set in the request. Space membership upon creation depends on whether the space is created in `Import mode`: * **Import mode:** No members are created. * **All other modes:** The calling user is added as a member. This is: * The app itself when using app authentication. * The human user when using user authentication. If you receive the error message `ALREADY_EXISTS` when creating a space, try a different `displayName`. An existing space within the Google Workspace organization might already use this display name.", "flatPath": "v1/spaces", "httpMethod": "POST", "id": "chat.spaces.create", @@ -318,7 +318,7 @@ ] }, "delete": { - "description": "Deletes a named space. Always performs a cascading delete, which means that the space's child resources—like messages posted in the space and memberships in the space—are also deleted. For an example, see [Delete a space](https://developers.google.com/workspace/chat/delete-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)", + "description": "Deletes a named space. Always performs a cascading delete, which means that the space's child resources—like messages posted in the space and memberships in the space—are also deleted. For an example, see [Delete a space](https://developers.google.com/workspace/chat/delete-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request.", "flatPath": "v1/spaces/{spacesId}", "httpMethod": "DELETE", "id": "chat.spaces.delete", @@ -334,7 +334,7 @@ "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 the `chat.admin.delete` [OAuth 2.0 scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes).", + "description": "Optional. 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" } @@ -374,7 +374,7 @@ ] }, "get": { - "description": "Returns details about a space. For an example, see [Get details about a space](https://developers.google.com/workspace/chat/get-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)", + "description": "Returns details about a space. For an example, see [Get details about a space](https://developers.google.com/workspace/chat/get-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request.", "flatPath": "v1/spaces/{spacesId}", "httpMethod": "GET", "id": "chat.spaces.get", @@ -390,7 +390,7 @@ "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 the `chat.admin.spaces` or `chat.admin.spaces.readonly` [OAuth 2.0 scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes).", + "description": "Optional. 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" } @@ -409,7 +409,7 @@ ] }, "list": { - "description": "Lists spaces the caller is a member of. Group chats and DMs aren't listed until the first message is sent. For an example, see [List spaces](https://developers.google.com/workspace/chat/list-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) Lists spaces visible to the caller or authenticated user. Group chats and DMs aren't listed until the first message is sent. To list all named spaces by Google Workspace organization, use the [`spaces.search()`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/search) method using Workspace administrator privileges instead.", + "description": "Lists spaces the caller is a member of. Group chats and DMs aren't listed until the first message is sent. For an example, see [List spaces](https://developers.google.com/workspace/chat/list-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) To list all named spaces by Google Workspace organization, use the [`spaces.search()`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/search) method using Workspace administrator privileges instead.", "flatPath": "v1/spaces", "httpMethod": "GET", "id": "chat.spaces.list", @@ -443,7 +443,7 @@ ] }, "patch": { - "description": "Updates a space. For an example, see [Update a space](https://developers.google.com/workspace/chat/update-spaces). If you're updating the `displayName` field and receive the error message `ALREADY_EXISTS`, try a different display name.. An existing space within the Google Workspace organization might already use this display name. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)", + "description": "Updates a space. For an example, see [Update a space](https://developers.google.com/workspace/chat/update-spaces). If you're updating the `displayName` field and receive the error message `ALREADY_EXISTS`, try a different display name.. An existing space within the Google Workspace organization might already use this display name. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request.", "flatPath": "v1/spaces/{spacesId}", "httpMethod": "PATCH", "id": "chat.spaces.patch", @@ -452,20 +452,20 @@ ], "parameters": { "name": { - "description": "Resource name of the space. Format: `spaces/{space}` Where `{space}` represents the system-assigned ID for the space. You can obtain the space ID by calling the [`spaces.list()`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/list) method or from the space URL. For example, if the space URL is `https://mail.google.com/mail/u/0/#chat/space/AAAAAAAAA`, the space ID is `AAAAAAAAA`.", + "description": "Identifier. Resource name of the space. Format: `spaces/{space}` Where `{space}` represents the system-assigned ID for the space. You can obtain the space ID by calling the [`spaces.list()`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/list) method or from the space URL. For example, if the space URL is `https://mail.google.com/mail/u/0/#chat/space/AAAAAAAAA`, the space ID is `AAAAAAAAA`.", "location": "path", "pattern": "^spaces/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "- Supports changing the [permission settings](https://support.google.com/chat/answer/13340792) of a space, supported field paths include: `permission_settings.manage_members_and_groups`, `permission_settings.modify_space_details`, `permission_settings.toggle_history`, `permission_settings.use_at_mention_all`, `permission_settings.manage_apps`, `permission_settings.manage_webhooks`, `permission_settings.reply_messages` (Warning: mutually exclusive with all other non-permission settings field paths). `permission_settings` is not supported with admin access.", + "description": "Required. The updated field paths, comma separated if there are multiple. You can update the following fields for a space: `space_details`: Updates the space's description. Supports up to 150 characters. `display_name`: Only supports updating the display name for spaces where `spaceType` field is `SPACE`. If you receive the error message `ALREADY_EXISTS`, try a different value. An existing space within the Google Workspace organization might already use this display name. `space_type`: Only supports changing a `GROUP_CHAT` space type to `SPACE`. Include `display_name` together with `space_type` in the update mask and ensure that the specified space has a non-empty display name and the `SPACE` space type. Including the `space_type` mask and the `SPACE` type in the specified space when updating the display name is optional if the existing space already has the `SPACE` type. Trying to update the space type in other ways results in an invalid argument error. `space_type` is not supported with `useAdminAccess`. `space_history_state`: Updates [space history settings](https://support.google.com/chat/answer/7664687) by turning history on or off for the space. Only supported if history settings are enabled for the Google Workspace organization. To update the space history state, you must omit all other field masks in your request. `space_history_state` is not supported with `useAdminAccess`. `access_settings.audience`: Updates the [access setting](https://support.google.com/chat/answer/11971020) of who can discover the space, join the space, and preview the messages in named space where `spaceType` field is `SPACE`. If the existing space has a target audience, you can remove the audience and restrict space access by omitting a value for this field mask. To update access settings for a space, the authenticating user must be a space manager and omit all other field masks in your request. You can't update this field if the space is in [import mode](https://developers.google.com/workspace/chat/import-data-overview). To learn more, see [Make a space discoverable to specific users](https://developers.google.com/workspace/chat/space-target-audience). `access_settings.audience` is not supported with `useAdminAccess`. `permission_settings`: Supports changing the [permission settings](https://support.google.com/chat/answer/13340792) of a space. When updating permission settings, you can only specify `permissionSettings` field masks; you cannot update other field masks at the same time. `permissionSettings` is not supported with `useAdminAccess`. The supported field masks include: - `permission_settings.manageMembersAndGroups` - `permission_settings.modifySpaceDetails` - `permission_settings.toggleHistory` - `permission_settings.useAtMentionAll` - `permission_settings.manageApps` - `permission_settings.manageWebhooks` - `permission_settings.replyMessages`", "format": "google-fieldmask", "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 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`.", + "description": "Optional. 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" } @@ -551,7 +551,7 @@ "members": { "methods": { "create": { - "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. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [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).", + "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. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request. 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", @@ -567,7 +567,7 @@ "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 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.", + "description": "Optional. 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" } @@ -588,7 +588,7 @@ ] }, "delete": { - "description": "Deletes a membership. For an example, see [Remove a user or a Google Chat app from a space](https://developers.google.com/workspace/chat/delete-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)", + "description": "Deletes a membership. For an example, see [Remove a user or a Google Chat app from a space](https://developers.google.com/workspace/chat/delete-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request.", "flatPath": "v1/spaces/{spacesId}/members/{membersId}", "httpMethod": "DELETE", "id": "chat.spaces.members.delete", @@ -604,7 +604,7 @@ "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 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.", + "description": "Optional. 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" } @@ -622,7 +622,7 @@ ] }, "get": { - "description": "Returns details about a membership. For an example, see [Get details about a user's or Google Chat app's membership](https://developers.google.com/workspace/chat/get-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)", + "description": "Returns details about a membership. For an example, see [Get details about a user's or Google Chat app's membership](https://developers.google.com/workspace/chat/get-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request.", "flatPath": "v1/spaces/{spacesId}/members/{membersId}", "httpMethod": "GET", "id": "chat.spaces.members.get", @@ -638,7 +638,7 @@ "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 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.", + "description": "Optional. 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" } @@ -656,7 +656,7 @@ ] }, "list": { - "description": "Lists memberships in a space. For an example, see [List users and Google Chat apps in a space](https://developers.google.com/workspace/chat/list-members). Listing memberships with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) lists memberships in spaces that the Chat app has access to, but excludes Chat app memberships, including its own. Listing memberships with [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) lists memberships in spaces that the authenticated user has access to. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)", + "description": "Lists memberships in a space. For an example, see [List users and Google Chat apps in a space](https://developers.google.com/workspace/chat/list-members). Listing memberships with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) lists memberships in spaces that the Chat app has access to, but excludes Chat app memberships, including its own. Listing memberships with [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) lists memberships in spaces that the authenticated user has access to. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request.", "flatPath": "v1/spaces/{spacesId}/members", "httpMethod": "GET", "id": "chat.spaces.members.list", @@ -698,7 +698,7 @@ "type": "boolean" }, "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.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.", + "description": "Optional. 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" } @@ -717,7 +717,7 @@ ] }, "patch": { - "description": "Updates a membership. For an example, see [Update a user's membership in a space](https://developers.google.com/workspace/chat/update-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)", + "description": "Updates a membership. For an example, see [Update a user's membership in a space](https://developers.google.com/workspace/chat/update-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request.", "flatPath": "v1/spaces/{spacesId}/members/{membersId}", "httpMethod": "PATCH", "id": "chat.spaces.members.patch", @@ -726,7 +726,7 @@ ], "parameters": { "name": { - "description": "Resource name of the membership, assigned by the server. Format: `spaces/{space}/members/{member}`", + "description": "Identifier. Resource name of the membership, assigned by the server. Format: `spaces/{space}/members/{member}`", "location": "path", "pattern": "^spaces/[^/]+/members/[^/]+$", "required": true, @@ -739,7 +739,7 @@ "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 the `chat.admin.memberships` [OAuth 2.0 scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes).", + "description": "Optional. 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" } @@ -763,7 +763,7 @@ "messages": { "methods": { "create": { - "description": "Creates a message in a Google Chat space. For an example, see [Send a message](https://developers.google.com/workspace/chat/create-messages). The `create()` method requires either user or app authentication. Chat attributes the message sender differently depending on the type of authentication that you use in your request. The following image shows how Chat attributes a message when you use app authentication. Chat displays the Chat app as the message sender. The content of the message can contain text (`text`), cards (`cardsV2`), and accessory widgets (`accessoryWidgets`). ![Message sent with app authentication](https://developers.google.com/workspace/chat/images/message-app-auth.svg) The following image shows how Chat attributes a message when you use user authentication. Chat displays the user as the message sender and attributes the Chat app to the message by displaying its name. The content of message can only contain text (`text`). ![Message sent with user authentication](https://developers.google.com/workspace/chat/images/message-user-auth.svg) The maximum message size, including the message contents, is 32,000 bytes.", + "description": "Creates a message in a Google Chat space. For an example, see [Send a message](https://developers.google.com/workspace/chat/create-messages). The `create()` method requires either [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) or [app authentication](https://developers.google.com/workspace/chat/authorize-import). Chat attributes the message sender differently depending on the type of authentication that you use in your request. The following image shows how Chat attributes a message when you use app authentication. Chat displays the Chat app as the message sender. The content of the message can contain text (`text`), cards (`cardsV2`), and accessory widgets (`accessoryWidgets`). ![Message sent with app authentication](https://developers.google.com/workspace/chat/images/message-app-auth.svg) The following image shows how Chat attributes a message when you use user authentication. Chat displays the user as the message sender and attributes the Chat app to the message by displaying its name. The content of message can only contain text (`text`). ![Message sent with user authentication](https://developers.google.com/workspace/chat/images/message-user-auth.svg) The maximum message size, including the message contents, is 32,000 bytes. For [webhook](https://developers.google.com/workspace/chat/quickstart/webhooks) requests, the response doesn't contain the full message. The response only populates the `name` and `thread.name` fields in addition to the information that was in the request.", "flatPath": "v1/spaces/{spacesId}/messages", "httpMethod": "POST", "id": "chat.spaces.messages.create", @@ -777,7 +777,7 @@ "type": "string" }, "messageReplyOption": { - "description": "Optional. Specifies whether a message starts a thread or replies to one. Only supported in named spaces.", + "description": "Optional. Specifies whether a message starts a thread or replies to one. Only supported in named spaces. When [responding to user interactions](https://developers.google.com/workspace/chat/receive-respond-interactions), this field is ignored. For interactions within a thread, the reply is created in the same thread. Otherwise, the reply is created as a new thread.", "enum": [ "MESSAGE_REPLY_OPTION_UNSPECIFIED", "REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD", @@ -834,7 +834,7 @@ ], "parameters": { "force": { - "description": "When `true`, deleting a message also deletes its threaded replies. When `false`, if a message has threaded replies, deletion fails. Only applies when [authenticating as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). Has no effect when [authenticating as a Chat app] (https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).", + "description": "Optional. When `true`, deleting a message also deletes its threaded replies. When `false`, if a message has threaded replies, deletion fails. Only applies when [authenticating as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). Has no effect when [authenticating as a Chat app] (https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).", "location": "query", "type": "boolean" }, @@ -893,23 +893,23 @@ ], "parameters": { "filter": { - "description": "A query filter. You can filter messages by date (`create_time`) and thread (`thread.name`). To filter messages by the date they were created, specify the `create_time` with a timestamp in [RFC-3339](https://www.rfc-editor.org/rfc/rfc3339) format and double quotation marks. For example, `\"2023-04-21T11:30:00-04:00\"`. You can use the greater than operator `>` to list messages that were created after a timestamp, or the less than operator `<` to list messages that were created before a timestamp. To filter messages within a time interval, use the `AND` operator between two timestamps. To filter by thread, specify the `thread.name`, formatted as `spaces/{space}/threads/{thread}`. You can only specify one `thread.name` per query. To filter by both thread and date, use the `AND` operator in your query. For example, the following queries are valid: ``` create_time > \"2012-04-21T11:30:00-04:00\" create_time > \"2012-04-21T11:30:00-04:00\" AND thread.name = spaces/AAAAAAAAAAA/threads/123 create_time > \"2012-04-21T11:30:00+00:00\" AND create_time < \"2013-01-01T00:00:00+00:00\" AND thread.name = spaces/AAAAAAAAAAA/threads/123 thread.name = spaces/AAAAAAAAAAA/threads/123 ``` Invalid queries are rejected by the server with an `INVALID_ARGUMENT` error.", + "description": "Optional. A query filter. You can filter messages by date (`create_time`) and thread (`thread.name`). To filter messages by the date they were created, specify the `create_time` with a timestamp in [RFC-3339](https://www.rfc-editor.org/rfc/rfc3339) format and double quotation marks. For example, `\"2023-04-21T11:30:00-04:00\"`. You can use the greater than operator `>` to list messages that were created after a timestamp, or the less than operator `<` to list messages that were created before a timestamp. To filter messages within a time interval, use the `AND` operator between two timestamps. To filter by thread, specify the `thread.name`, formatted as `spaces/{space}/threads/{thread}`. You can only specify one `thread.name` per query. To filter by both thread and date, use the `AND` operator in your query. For example, the following queries are valid: ``` create_time > \"2012-04-21T11:30:00-04:00\" create_time > \"2012-04-21T11:30:00-04:00\" AND thread.name = spaces/AAAAAAAAAAA/threads/123 create_time > \"2012-04-21T11:30:00+00:00\" AND create_time < \"2013-01-01T00:00:00+00:00\" AND thread.name = spaces/AAAAAAAAAAA/threads/123 thread.name = spaces/AAAAAAAAAAA/threads/123 ``` Invalid queries are rejected by the server with an `INVALID_ARGUMENT` error.", "location": "query", "type": "string" }, "orderBy": { - "description": "Optional, if resuming from a previous query. How the list of messages is ordered. Specify a value to order by an ordering operation. Valid ordering operation values are as follows: - `ASC` for ascending. - `DESC` for descending. The default ordering is `create_time ASC`.", + "description": "Optional. How the list of messages is ordered. Specify a value to order by an ordering operation. Valid ordering operation values are as follows: - `ASC` for ascending. - `DESC` for descending. The default ordering is `create_time ASC`.", "location": "query", "type": "string" }, "pageSize": { - "description": "The maximum number of messages returned. The service might return fewer messages than this value. If unspecified, at most 25 are returned. The maximum value is 1000. If you use a value more than 1000, it's automatically changed to 1000. Negative values return an `INVALID_ARGUMENT` error.", + "description": "Optional. The maximum number of messages returned. The service might return fewer messages than this value. If unspecified, at most 25 are returned. The maximum value is 1000. If you use a value more than 1000, it's automatically changed to 1000. Negative values return an `INVALID_ARGUMENT` error.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Optional, if resuming from a previous query. A page token received from a previous list messages 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.", + "description": "Optional. A page token received from a previous list messages 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" }, @@ -921,7 +921,7 @@ "type": "string" }, "showDeleted": { - "description": "Whether to include deleted messages. Deleted messages include deleted time and metadata about their deletion, but message content is unavailable.", + "description": "Optional. Whether to include deleted messages. Deleted messages include deleted time and metadata about their deletion, but message content is unavailable.", "location": "query", "type": "boolean" } @@ -951,7 +951,7 @@ "type": "boolean" }, "name": { - "description": "Resource name of the message. Format: `spaces/{space}/messages/{message}` Where `{space}` is the ID of the space where the message is posted and `{message}` is a system-assigned ID for the message. For example, `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`. If you set a custom ID when you create a message, you can use this ID to specify the message in a request by replacing `{message}` with the value from the `clientAssignedMessageId` field. For example, `spaces/AAAAAAAAAAA/messages/client-custom-name`. For details, see [Name a message](https://developers.google.com/workspace/chat/create-messages#name_a_created_message).", + "description": "Identifier. Resource name of the message. Format: `spaces/{space}/messages/{message}` Where `{space}` is the ID of the space where the message is posted and `{message}` is a system-assigned ID for the message. For example, `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`. If you set a custom ID when you create a message, you can use this ID to specify the message in a request by replacing `{message}` with the value from the `clientAssignedMessageId` field. For example, `spaces/AAAAAAAAAAA/messages/client-custom-name`. For details, see [Name a message](https://developers.google.com/workspace/chat/create-messages#name_a_created_message).", "location": "path", "pattern": "^spaces/[^/]+/messages/[^/]+$", "required": true, @@ -992,7 +992,7 @@ "type": "boolean" }, "name": { - "description": "Resource name of the message. Format: `spaces/{space}/messages/{message}` Where `{space}` is the ID of the space where the message is posted and `{message}` is a system-assigned ID for the message. For example, `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`. If you set a custom ID when you create a message, you can use this ID to specify the message in a request by replacing `{message}` with the value from the `clientAssignedMessageId` field. For example, `spaces/AAAAAAAAAAA/messages/client-custom-name`. For details, see [Name a message](https://developers.google.com/workspace/chat/create-messages#name_a_created_message).", + "description": "Identifier. Resource name of the message. Format: `spaces/{space}/messages/{message}` Where `{space}` is the ID of the space where the message is posted and `{message}` is a system-assigned ID for the message. For example, `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`. If you set a custom ID when you create a message, you can use this ID to specify the message in a request by replacing `{message}` with the value from the `clientAssignedMessageId` field. For example, `spaces/AAAAAAAAAAA/messages/client-custom-name`. For details, see [Name a message](https://developers.google.com/workspace/chat/create-messages#name_a_created_message).", "location": "path", "pattern": "^spaces/[^/]+/messages/[^/]+$", "required": true, @@ -1160,7 +1160,7 @@ "spaceEvents": { "methods": { "get": { - "description": "Returns an event from a Google Chat space. The [event payload](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.spaceEvents#SpaceEvent.FIELDS.oneof_payload) contains the most recent version of the resource that changed. For example, if you request an event about a new message but the message was later updated, the server returns the updated `Message` resource in the event payload. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). To get an event, the authenticated user must be a member of the space. For an example, see [Get details about an event from a Google Chat space](https://developers.google.com/workspace/chat/get-space-event).", + "description": "Returns an event from a Google Chat space. The [event payload](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.spaceEvents#SpaceEvent.FIELDS.oneof_payload) contains the most recent version of the resource that changed. For example, if you request an event about a new message but the message was later updated, the server returns the updated `Message` resource in the event payload. Note: The `permissionSettings` field is not returned in the Space object of the Space event data for this request. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). To get an event, the authenticated user must be a member of the space. For an example, see [Get details about an event from a Google Chat space](https://developers.google.com/workspace/chat/get-space-event).", "flatPath": "v1/spaces/{spacesId}/spaceEvents/{spaceEventsId}", "httpMethod": "GET", "id": "chat.spaces.spaceEvents.get", @@ -1212,7 +1212,7 @@ "type": "integer" }, "pageToken": { - "description": "A page token, received from a previous list space events call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to list space events must match the call that provided the page token. Passing different values to the other parameters might lead to unexpected results.", + "description": "Optional. A page token, received from a previous list space events call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to list space events must match the call that provided the page token. Passing different values to the other parameters might lead to unexpected results.", "location": "query", "type": "string" }, @@ -1344,7 +1344,7 @@ } } }, - "revision": "20241001", + "revision": "20241229", "rootUrl": "https://chat.googleapis.com/", "schemas": { "AccessSettings": { @@ -1556,7 +1556,7 @@ "properties": { "attachmentDataRef": { "$ref": "AttachmentDataRef", - "description": "A reference to the attachment data. This field is used with the media API to download the attachment data." + "description": "Optional. A reference to the attachment data. This field is used to create or update messages with attachments, or with the media API to download the attachment data." }, "contentName": { "description": "Output only. The original file name for the content, not the full path.", @@ -1579,7 +1579,7 @@ "readOnly": true }, "name": { - "description": "Resource name of the attachment, in the form `spaces/{space}/messages/{message}/attachments/{attachment}`.", + "description": "Optional. Resource name of the attachment, in the form `spaces/{space}/messages/{message}/attachments/{attachment}`.", "type": "string" }, "source": { @@ -1610,11 +1610,11 @@ "id": "AttachmentDataRef", "properties": { "attachmentUploadToken": { - "description": "Opaque token containing a reference to an uploaded attachment. Treated by clients as an opaque string and used to create or update Chat messages with attachments.", + "description": "Optional. Opaque token containing a reference to an uploaded attachment. Treated by clients as an opaque string and used to create or update Chat messages with attachments.", "type": "string" }, "resourceName": { - "description": "The resource name of the attachment data. This field is used with the media API to download the attachment data.", + "description": "Optional. The resource name of the attachment data. This field is used with the media API to download the attachment data.", "type": "string" } }, @@ -1999,7 +1999,7 @@ "Default value. Unspecified.", "A user opens a dialog.", "A user clicks an interactive element of a dialog. For example, a user fills out information in a dialog and clicks a button to submit the information.", - "A user closes a dialog without submitting information, or the dialog is canceled." + "A user closes a dialog without submitting information. The Chat app only receives this interaction event when users click the close icon in the top right corner of the dialog. When the user closes the dialog by other means (such as refreshing the browser, clicking outside the dialog box, or pressing the escape key), no event is sent. ." ], "type": "string" }, @@ -2117,7 +2117,7 @@ "readOnly": true }, "unicode": { - "description": "A basic emoji represented by a unicode string.", + "description": "Optional. A basic emoji represented by a unicode string.", "type": "string" } }, @@ -2129,11 +2129,13 @@ "properties": { "emoji": { "$ref": "Emoji", - "description": "Emoji associated with the reactions." + "description": "Output only. Emoji associated with the reactions.", + "readOnly": true }, "reactionCount": { - "description": "The total number of reactions using the associated emoji.", + "description": "Output only. The total number of reactions using the associated emoji.", "format": "int32", + "readOnly": true, "type": "integer" } }, @@ -2167,6 +2169,10 @@ "description": "An action that describes the behavior when the form is submitted. For example, you can invoke an Apps Script script to handle the form. If the action is triggered, the form values are sent to the server. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1Action", "properties": { + "allWidgetsAreRequired": { + "description": "Optional. If this is true, then all widgets are considered required by this action. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "type": "boolean" + }, "function": { "description": "A custom function to invoke when the containing element is clicked or otherwise activated. For example usage, see [Read form data](https://developers.google.com/workspace/chat/read-form-data).", "type": "string" @@ -2205,6 +2211,13 @@ "persistValues": { "description": "Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. To let the user make changes while the action is being processed, set [`LoadIndicator`](https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) to `NONE`. For [card messages](https://developers.google.com/workspace/chat/api/guides/v1/messages/create#create) in Chat apps, you must also set the action's [`ResponseType`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages#responsetype) to `UPDATE_MESSAGE` and use the same [`card_id`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages#CardWithId) from the card that contained the action. If `false`, the form values are cleared when the action is triggered. To prevent the user from making changes while the action is being processed, set [`LoadIndicator`](https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) to `SPINNER`.", "type": "boolean" + }, + "requiredWidgets": { + "description": "Optional. Fill this list with the names of widgets that this Action needs for a valid submission. If the widgets listed here don't have a value when this Action is invoked, the form submission is aborted. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -2281,6 +2294,24 @@ "text": { "description": "The text displayed inside the button.", "type": "string" + }, + "type": { + "description": "Optional. The type of a button. If unset, button type defaults to `OUTLINED`. If the `color` field is set, the button type is forced to `FILLED` and any value set for this field is ignored.", + "enum": [ + "TYPE_UNSPECIFIED", + "OUTLINED", + "FILLED", + "FILLED_TONAL", + "BORDERLESS" + ], + "enumDescriptions": [ + "Don't use. Unspecified.", + "Outlined buttons are medium-emphasis buttons. They usually contain actions that are important, but aren’t the primary action in a Chat app or an add-on.", + "A filled button has a container with a solid color. It has the most visual impact and is recommended for the important and primary action in a Chat app or an add-on.", + "A filled tonal button is an alternative middle ground between filled and outlined buttons. They’re useful in contexts where a lower-priority button requires slightly more emphasis than an outline button would give.", + "A button does not have an invisible container in its default state. It is often used for the lowest priority actions, especially when presenting multiple options." + ], + "type": "string" } }, "type": "object" @@ -2300,7 +2331,7 @@ "type": "object" }, "GoogleAppsCardV1Card": { - "description": "A card interface displayed in a Google Chat message or Google Workspace Add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace Add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { \"cardsV2\": [ { \"cardId\": \"unique-card-id\", \"card\": { \"header\": { \"title\": \"Sasha\", \"subtitle\": \"Software Engineer\", \"imageUrl\": \"https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png\", \"imageType\": \"CIRCLE\", \"imageAltText\": \"Avatar for Sasha\" }, \"sections\": [ { \"header\": \"Contact Info\", \"collapsible\": true, \"uncollapsibleWidgetsCount\": 1, \"widgets\": [ { \"decoratedText\": { \"startIcon\": { \"knownIcon\": \"EMAIL\" }, \"text\": \"sasha@example.com\" } }, { \"decoratedText\": { \"startIcon\": { \"knownIcon\": \"PERSON\" }, \"text\": \"Online\" } }, { \"decoratedText\": { \"startIcon\": { \"knownIcon\": \"PHONE\" }, \"text\": \"+1 (555) 555-1234\" } }, { \"buttonList\": { \"buttons\": [ { \"text\": \"Share\", \"onClick\": { \"openLink\": { \"url\": \"https://example.com/share\" } } }, { \"text\": \"Edit\", \"onClick\": { \"action\": { \"function\": \"goToView\", \"parameters\": [ { \"key\": \"viewType\", \"value\": \"EDIT\" } ] } } } ] } } ] } ] } } ] } ```", + "description": "A card interface displayed in a Google Chat message or Google Workspace Add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace Add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. Any widgets beyond this limit are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace Add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { \"cardsV2\": [ { \"cardId\": \"unique-card-id\", \"card\": { \"header\": { \"title\": \"Sasha\", \"subtitle\": \"Software Engineer\", \"imageUrl\": \"https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png\", \"imageType\": \"CIRCLE\", \"imageAltText\": \"Avatar for Sasha\" }, \"sections\": [ { \"header\": \"Contact Info\", \"collapsible\": true, \"uncollapsibleWidgetsCount\": 1, \"widgets\": [ { \"decoratedText\": { \"startIcon\": { \"knownIcon\": \"EMAIL\" }, \"text\": \"sasha@example.com\" } }, { \"decoratedText\": { \"startIcon\": { \"knownIcon\": \"PERSON\" }, \"text\": \"Online\" } }, { \"decoratedText\": { \"startIcon\": { \"knownIcon\": \"PHONE\" }, \"text\": \"+1 (555) 555-1234\" } }, { \"buttonList\": { \"buttons\": [ { \"text\": \"Share\", \"onClick\": { \"openLink\": { \"url\": \"https://example.com/share\" } } }, { \"text\": \"Edit\", \"onClick\": { \"action\": { \"function\": \"goToView\", \"parameters\": [ { \"key\": \"viewType\", \"value\": \"EDIT\" } ] } } } ] } } ] } ] } } ] } ```", "id": "GoogleAppsCardV1Card", "properties": { "cardActions": { @@ -2429,6 +2460,132 @@ }, "type": "object" }, + "GoogleAppsCardV1Carousel": { + "description": "[Developer Preview](https://developers.google.com/workspace/preview): A carousel, also known as a slider, rotates and displays a list of widgets in a slideshow format, with buttons navigating to the previous or next widget. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { \"carouselCards\": [ { \"widgets\": [ { \"textParagraph\": { \"text\": \"First text paragraph in carousel\", } } ] }, { \"widgets\": [ { \"textParagraph\": { \"text\": \"Second text paragraph in carousel\", } } ] }, { \"widgets\": [ { \"textParagraph\": { \"text\": \"Third text paragraph in carousel\", } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat):", + "id": "GoogleAppsCardV1Carousel", + "properties": { + "carouselCards": { + "description": "A list of cards included in the carousel.", + "items": { + "$ref": "GoogleAppsCardV1CarouselCard" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAppsCardV1CarouselCard": { + "description": "[Developer Preview](https://developers.google.com/workspace/preview): A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat):", + "id": "GoogleAppsCardV1CarouselCard", + "properties": { + "footerWidgets": { + "description": "A list of widgets displayed at the bottom of the carousel card. The widgets are displayed in the order that they are specified.", + "items": { + "$ref": "GoogleAppsCardV1NestedWidget" + }, + "type": "array" + }, + "widgets": { + "description": "A list of widgets displayed in the carousel card. The widgets are displayed in the order that they are specified.", + "items": { + "$ref": "GoogleAppsCardV1NestedWidget" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAppsCardV1Chip": { + "description": "A text, icon, or text and icon chip that users can click. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "id": "GoogleAppsCardV1Chip", + "properties": { + "altText": { + "description": "The alternative text that's used for accessibility. Set descriptive text that lets users know what the chip does. For example, if a chip opens a hyperlink, write: \"Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat\".", + "type": "string" + }, + "disabled": { + "description": "Whether the chip is in an inactive state and ignores user actions. Defaults to `false`.", + "type": "boolean" + }, + "enabled": { + "deprecated": true, + "description": "Whether the chip is in an active state and responds to user actions. Defaults to `true`. Deprecated. Use `disabled` instead.", + "type": "boolean" + }, + "icon": { + "$ref": "GoogleAppsCardV1Icon", + "description": "The icon image. If both `icon` and `text` are set, then the icon appears before the text." + }, + "label": { + "description": "The text displayed inside the chip.", + "type": "string" + }, + "onClick": { + "$ref": "GoogleAppsCardV1OnClick", + "description": "Optional. The action to perform when a user clicks the chip, such as opening a hyperlink or running a custom function." + } + }, + "type": "object" + }, + "GoogleAppsCardV1ChipList": { + "description": "A list of chips layed out horizontally, which can either scroll horizontally or wrap to the next line. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "id": "GoogleAppsCardV1ChipList", + "properties": { + "chips": { + "description": "An array of chips.", + "items": { + "$ref": "GoogleAppsCardV1Chip" + }, + "type": "array" + }, + "layout": { + "description": "Specified chip list layout.", + "enum": [ + "LAYOUT_UNSPECIFIED", + "WRAPPED", + "HORIZONTAL_SCROLLABLE" + ], + "enumDescriptions": [ + "Don't use. Unspecified.", + "Default value. The chip list wraps to the next line if there isn't enough horizontal space.", + "The chips scroll horizontally if they don't fit in the available space." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleAppsCardV1CollapseControl": { + "description": "Represent an expand and collapse control. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "id": "GoogleAppsCardV1CollapseControl", + "properties": { + "collapseButton": { + "$ref": "GoogleAppsCardV1Button", + "description": "Optional. Define a customizable button to collapse the section. Both expand_button and collapse_button field must be set. Only one field set will not take into effect. If this field isn't set, the default button is used." + }, + "expandButton": { + "$ref": "GoogleAppsCardV1Button", + "description": "Optional. Define a customizable button to expand the section. Both expand_button and collapse_button field must be set. Only one field set will not take into effect. If this field isn't set, the default button is used." + }, + "horizontalAlignment": { + "description": "The horizontal alignment of the expand and collapse button.", + "enum": [ + "HORIZONTAL_ALIGNMENT_UNSPECIFIED", + "START", + "CENTER", + "END" + ], + "enumDescriptions": [ + "Don't use. Unspecified.", + "Default value. Aligns widgets to the start position of the column. For left-to-right layouts, aligns to the left. For right-to-left layouts, aligns to the right.", + "Aligns widgets to the center of the column.", + "Aligns widgets to the end position of the column. For left-to-right layouts, aligns widgets to the right. For right-to-left layouts, aligns widgets to the left." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleAppsCardV1Column": { "description": "A column. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend)", "id": "GoogleAppsCardV1Column", @@ -2504,7 +2661,7 @@ "type": "object" }, "GoogleAppsCardV1DateTimePicker": { - "description": "Lets users input a date, a time, or both a date and a time. For an example in Google Chat apps, see [Let a user pick a date and time](https://developers.google.com/workspace/chat/design-interactive-card-dialog#let_a_user_pick_a_date_and_time). Users can input text or use the picker to select dates and times. If users input an invalid date or time, the picker shows an error that prompts users to input the information correctly. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "Lets users input a date, a time, or both a date and a time. Supports form submission validation. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For an example in Google Chat apps, see [Let a user pick a date and time](https://developers.google.com/workspace/chat/design-interactive-card-dialog#let_a_user_pick_a_date_and_time). Users can input text or use the picker to select dates and times. If users input an invalid date or time, the picker shows an error that prompts users to input the information correctly. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1DateTimePicker", "properties": { "label": { @@ -2800,6 +2957,25 @@ }, "type": "object" }, + "GoogleAppsCardV1NestedWidget": { + "description": "[Developer Preview](https://developers.google.com/workspace/preview): A list of widgets that can be displayed in a containing layout, such as a `CarouselCard`. [Google Chat apps](https://developers.google.com/workspace/chat):", + "id": "GoogleAppsCardV1NestedWidget", + "properties": { + "buttonList": { + "$ref": "GoogleAppsCardV1ButtonList", + "description": "A button list widget." + }, + "image": { + "$ref": "GoogleAppsCardV1Image", + "description": "An image widget." + }, + "textParagraph": { + "$ref": "GoogleAppsCardV1TextParagraph", + "description": "A text paragraph widget." + } + }, + "type": "object" + }, "GoogleAppsCardV1OnClick": { "description": "Represents how to respond when users click an interactive element on a card, such as a button. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1OnClick", @@ -2819,6 +2995,10 @@ "openLink": { "$ref": "GoogleAppsCardV1OpenLink", "description": "If specified, this `onClick` triggers an open link action." + }, + "overflowMenu": { + "$ref": "GoogleAppsCardV1OverflowMenu", + "description": "If specified, this `onClick` opens an overflow menu." } }, "type": "object" @@ -2858,6 +3038,43 @@ }, "type": "object" }, + "GoogleAppsCardV1OverflowMenu": { + "description": "A widget that presents a pop-up menu with one or more actions that users can invoke. For example, showing non-primary actions in a card. You can use this widget when actions don't fit in the available space. To use, specify this widget in the `OnClick` action of widgets that support it. For example, in a `Button`. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "id": "GoogleAppsCardV1OverflowMenu", + "properties": { + "items": { + "description": "Required. The list of menu options.", + "items": { + "$ref": "GoogleAppsCardV1OverflowMenuItem" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleAppsCardV1OverflowMenuItem": { + "description": "An option that users can invoke in an overflow menu. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "id": "GoogleAppsCardV1OverflowMenuItem", + "properties": { + "disabled": { + "description": "Whether the menu option is disabled. Defaults to false.", + "type": "boolean" + }, + "onClick": { + "$ref": "GoogleAppsCardV1OnClick", + "description": "Required. The action invoked when a menu option is selected. This `OnClick` cannot contain an `OverflowMenu`, any specified `OverflowMenu` is dropped and the menu item disabled." + }, + "startIcon": { + "$ref": "GoogleAppsCardV1Icon", + "description": "The icon displayed in front of the text." + }, + "text": { + "description": "Required. The text that identifies or describes the item to users.", + "type": "string" + } + }, + "type": "object" + }, "GoogleAppsCardV1PlatformDataSource": { "description": "For a `SelectionInput` widget that uses a multiselect menu, a data source from Google Workspace. Used to populate items in a multiselect menu. [Google Chat apps](https://developers.google.com/workspace/chat):", "id": "GoogleAppsCardV1PlatformDataSource", @@ -2885,6 +3102,10 @@ "description": "A section contains a collection of widgets that are rendered vertically in the order that they're specified. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1Section", "properties": { + "collapseControl": { + "$ref": "GoogleAppsCardV1CollapseControl", + "description": "Optional. Define the expand and collapse button of the section. This button will be shown only if the section is collapsible. If this field isn't set, the default button is used." + }, "collapsible": { "description": "Indicates whether this section is collapsible. Collapsible sections hide some or all widgets, but users can expand the section to reveal the hidden widgets by clicking **Show more**. Users can hide the widgets again by clicking **Show less**. To determine which widgets are hidden, specify `uncollapsibleWidgetsCount`.", "type": "boolean" @@ -2909,12 +3130,12 @@ "type": "object" }, "GoogleAppsCardV1SelectionInput": { - "description": "A widget that creates one or more UI items that users can select. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1SelectionInput", "properties": { "externalDataSource": { "$ref": "GoogleAppsCardV1Action", - "description": "An external data source, such as a relational data base." + "description": "An external data source, such as a relational database." }, "items": { "description": "An array of selectable items. For example, an array of radio buttons or checkboxes. Supports up to 100 items.", @@ -2933,7 +3154,7 @@ "type": "integer" }, "multiSelectMinQueryLength": { - "description": "For multiselect menus, the number of text characters that a user inputs before the app queries autocomplete and displays suggested items in the menu. If unspecified, defaults to 0 characters for static data sources and 3 characters for external data sources.", + "description": "For multiselect menus, the number of text characters that a user inputs before the menu returns suggested selection items. If unset, the multiselect menu uses the following default values: * If the menu uses a static array of `SelectionInput` items, defaults to 0 characters and immediately populates items from the array. * If the menu uses a dynamic data source (`multi_select_data_source`), defaults to 3 characters before querying the data source to return suggested items.", "format": "int32", "type": "integer" }, @@ -2963,7 +3184,7 @@ "A set of radio buttons. Users can select one radio button.", "A set of switches. Users can turn on one or more switches.", "A dropdown menu. Users can select one item from the menu.", - "A multiselect menu for static or dynamic data. From the menu bar, users select one or more items. Users can also input values to populate dynamic data. For example, users can start typing the name of a Google Chat space and the widget autosuggests the space. To populate items for a multiselect menu, you can use one of the following types of data sources: * Static data: Items are specified as `SelectionItem` objects in the widget. Up to 100 items. * Google Workspace data: Items are populated using data from Google Workspace, such as Google Workspace users or Google Chat spaces. * External data: Items are populated from an external data source outside of Google Workspace. For examples of how to implement multiselect menus, see [Add a multiselect menu](https://developers.google.com/workspace/chat/design-interactive-card-dialog#multiselect-menu). [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):" + "A menu with a text box. Users can type and select one or more items. For Google Workspace Add-ons, you must populate items using a static array of `SelectionItem` objects. For Google Chat apps, you can also populate items using a dynamic data source and autosuggest items as users type in the menu. For example, users can start typing the name of a Google Chat space and the widget autosuggests the space. To dynamically populate items for a multiselect menu, use one of the following types of data sources: * Google Workspace data: Items are populated using data from Google Workspace, such as Google Workspace users or Google Chat spaces. * External data: Items are populated from an external data source outside of Google Workspace. For examples of how to implement multiselect menus for Chat apps, see [Add a multiselect menu](https://developers.google.com/workspace/chat/design-interactive-card-dialog#multiselect-menu). [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):" ], "type": "string" } @@ -2971,7 +3192,7 @@ "type": "object" }, "GoogleAppsCardV1SelectionItem": { - "description": "An item that users can select in a selection input, such as a checkbox or switch. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "An item that users can select in a selection input, such as a checkbox or switch. Supports up to 100 items. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1SelectionItem", "properties": { "bottomText": { @@ -3060,7 +3281,7 @@ "type": "object" }, "GoogleAppsCardV1TextInput": { - "description": "A field in which users can enter text. Supports suggestions and on-change actions. For an example in Google Chat apps, see [Add a field in which a user can enter text](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_field_in_which_a_user_can_enter_text). Chat apps receive and can process the value of entered text during form input events. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). When you need to collect undefined or abstract data from users, use a text input. To collect defined or enumerated data from users, use the SelectionInput widget. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "description": "A field in which users can enter text. Supports suggestions and on-change actions. Supports form submission validation. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is entered. For an example in Google Chat apps, see [Add a field in which a user can enter text](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_field_in_which_a_user_can_enter_text). Chat apps receive and can process the value of entered text during form input events. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). When you need to collect undefined or abstract data from users, use a text input. To collect defined or enumerated data from users, use the SelectionInput widget. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1TextInput", "properties": { "autoCompleteAction": { @@ -3103,6 +3324,10 @@ ], "type": "string" }, + "validation": { + "$ref": "GoogleAppsCardV1Validation", + "description": "Specify the input format validation necessary for this text field. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):" + }, "value": { "description": "The value entered by a user, returned as part of a form input event. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data).", "type": "string" @@ -3114,6 +3339,11 @@ "description": "A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", "id": "GoogleAppsCardV1TextParagraph", "properties": { + "maxLines": { + "description": "The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored.", + "format": "int32", + "type": "integer" + }, "text": { "description": "The text that's shown in the widget.", "type": "string" @@ -3121,6 +3351,38 @@ }, "type": "object" }, + "GoogleAppsCardV1Validation": { + "description": "Represents the necessary data for validating the widget it's attached to. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "id": "GoogleAppsCardV1Validation", + "properties": { + "characterLimit": { + "description": "Specify the character limit for text input widgets. Note that this is only used for text input and is ignored for other widgets. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "format": "int32", + "type": "integer" + }, + "inputType": { + "description": "Specify the type of the input widgets. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend):", + "enum": [ + "INPUT_TYPE_UNSPECIFIED", + "TEXT", + "INTEGER", + "FLOAT", + "EMAIL", + "EMOJI_PICKER" + ], + "enumDescriptions": [ + "Unspecified type. Do not use.", + "Regular text that accepts all characters.", + "An integer value.", + "A float value.", + "An email address.", + "A emoji selected from system-provided emoji picker." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleAppsCardV1Widget": { "description": "Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types.", "id": "GoogleAppsCardV1Widget", @@ -3129,6 +3391,14 @@ "$ref": "GoogleAppsCardV1ButtonList", "description": "A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` \"buttonList\": { \"buttons\": [ { \"text\": \"Edit\", \"color\": { \"red\": 0, \"green\": 0, \"blue\": 1, }, \"disabled\": true, }, { \"icon\": { \"knownIcon\": \"INVITE\", \"altText\": \"check calendar\" }, \"onClick\": { \"openLink\": { \"url\": \"https://example.com/calendar\" } } } ] } ```" }, + "carousel": { + "$ref": "GoogleAppsCardV1Carousel", + "description": "A carousel contains a collection of nested widgets. For example, this is a JSON representation of a carousel that contains two text paragraphs. ``` { \"widgets\": [ { \"textParagraph\": { \"text\": \"First text paragraph in the carousel.\" } }, { \"textParagraph\": { \"text\": \"Second text paragraph in the carousel.\" } } ] } ```" + }, + "chipList": { + "$ref": "GoogleAppsCardV1ChipList", + "description": "A list of chips. For example, the following JSON creates two chips. The first is a text chip and the second is an icon chip that opens a link: ``` \"chipList\": { \"chips\": [ { \"text\": \"Edit\", \"disabled\": true, }, { \"icon\": { \"knownIcon\": \"INVITE\", \"altText\": \"check calendar\" }, \"onClick\": { \"openLink\": { \"url\": \"https://example.com/calendar\" } } } ] } ```" + }, "columns": { "$ref": "GoogleAppsCardV1Columns", "description": "Displays up to 2 columns. To include more than 2 columns, or to use rows, use the `Grid` widget. For example, the following JSON creates 2 columns that each contain text paragraphs: ``` \"columns\": { \"columnItems\": [ { \"horizontalSizeStyle\": \"FILL_AVAILABLE_SPACE\", \"horizontalAlignment\": \"CENTER\", \"verticalAlignment\": \"CENTER\", \"widgets\": [ { \"textParagraph\": { \"text\": \"First column text paragraph\" } } ] }, { \"horizontalSizeStyle\": \"FILL_AVAILABLE_SPACE\", \"horizontalAlignment\": \"CENTER\", \"verticalAlignment\": \"CENTER\", \"widgets\": [ { \"textParagraph\": { \"text\": \"Second column text paragraph\" } } ] } ] } ```" @@ -3192,6 +3462,10 @@ "$ref": "GoogleAppsCardV1ButtonList", "description": "ButtonList widget." }, + "chipList": { + "$ref": "GoogleAppsCardV1ChipList", + "description": "ChipList widget." + }, "dateTimePicker": { "$ref": "GoogleAppsCardV1DateTimePicker", "description": "DateTimePicker widget." @@ -3541,7 +3815,7 @@ "type": "string" }, "spaceEvents": { - "description": "Results are returned in chronological order (oldest event first).", + "description": "Results are returned in chronological order (oldest event first). Note: The `permissionSettings` field is not returned in the Space object for list requests.", "items": { "$ref": "SpaceEvent" }, @@ -3559,7 +3833,7 @@ "type": "string" }, "spaces": { - "description": "List of spaces in the requested (or first) page.", + "description": "List of spaces in the requested (or first) page. Note: The `permissionSettings` field is not returned in the Space object for list requests.", "items": { "$ref": "Space" }, @@ -3607,14 +3881,14 @@ }, "groupMember": { "$ref": "Group", - "description": "The Google Group the membership corresponds to. Reading or mutating memberships for Google Groups requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)." + "description": "Optional. The Google Group the membership corresponds to. Reading or mutating memberships for Google Groups requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)." }, "member": { "$ref": "User", - "description": "The Google Chat user or app the membership corresponds to. If your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), the output populates the [user](https://developers.google.com/workspace/chat/api/reference/rest/v1/User) `name` and `type`." + "description": "Optional. The Google Chat user or app the membership corresponds to. If your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), the output populates the [user](https://developers.google.com/workspace/chat/api/reference/rest/v1/User) `name` and `type`." }, "name": { - "description": "Resource name of the membership, assigned by the server. Format: `spaces/{space}/members/{member}`", + "description": "Identifier. Resource name of the membership, assigned by the server. Format: `spaces/{space}/members/{member}`", "type": "string" }, "role": { @@ -3698,13 +3972,15 @@ "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.", + "description": "Output only. Count of human users that have directly joined the space, not counting users joined by having membership in a joined group.", "format": "int32", + "readOnly": true, "type": "integer" }, "joinedGroupCount": { - "description": "Count of all groups that have directly joined the space.", + "description": "Output only. Count of all groups that have directly joined the space.", "format": "int32", + "readOnly": true, "type": "integer" } }, @@ -3748,7 +4024,7 @@ "id": "Message", "properties": { "accessoryWidgets": { - "description": "One or more interactive widgets that appear at the bottom of a message. You can add accessory widgets to messages that contain text, cards, or both text and cards. Not supported for messages that contain dialogs. For details, see [Add interactive widgets at the bottom of a message](https://developers.google.com/workspace/chat/create-messages#add-accessory-widgets). Creating a message with accessory widgets requires [app authentication] (https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).", + "description": "Optional. One or more interactive widgets that appear at the bottom of a message. You can add accessory widgets to messages that contain text, cards, or both text and cards. Not supported for messages that contain dialogs. For details, see [Add interactive widgets at the bottom of a message](https://developers.google.com/workspace/chat/create-messages#add-accessory-widgets). Creating a message with accessory widgets requires [app authentication] (https://developers.google.com/workspace/chat/authenticate-authorize-chat-app).", "items": { "$ref": "AccessoryWidget" }, @@ -3780,7 +4056,7 @@ "type": "array" }, "attachment": { - "description": "User-uploaded attachment.", + "description": "Optional. User-uploaded attachment.", "items": { "$ref": "Attachment" }, @@ -3795,7 +4071,7 @@ "type": "array" }, "cardsV2": { - "description": "An array of [cards](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards). Only Chat apps can create cards. If your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), the messages can't contain cards. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder)", + "description": "Optional. An array of [cards](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards). Only Chat apps can create cards. If your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), the messages can't contain cards. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder)", "items": { "$ref": "CardWithId" }, @@ -3830,7 +4106,7 @@ "type": "array" }, "fallbackText": { - "description": "A plain-text description of the message's cards, used when the actual cards can't be displayed—for example, mobile notifications.", + "description": "Optional. A plain-text description of the message's cards, used when the actual cards can't be displayed—for example, mobile notifications.", "type": "string" }, "formattedText": { @@ -3850,12 +4126,12 @@ "readOnly": true }, "name": { - "description": "Resource name of the message. Format: `spaces/{space}/messages/{message}` Where `{space}` is the ID of the space where the message is posted and `{message}` is a system-assigned ID for the message. For example, `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`. If you set a custom ID when you create a message, you can use this ID to specify the message in a request by replacing `{message}` with the value from the `clientAssignedMessageId` field. For example, `spaces/AAAAAAAAAAA/messages/client-custom-name`. For details, see [Name a message](https://developers.google.com/workspace/chat/create-messages#name_a_created_message).", + "description": "Identifier. Resource name of the message. Format: `spaces/{space}/messages/{message}` Where `{space}` is the ID of the space where the message is posted and `{message}` is a system-assigned ID for the message. For example, `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`. If you set a custom ID when you create a message, you can use this ID to specify the message in a request by replacing `{message}` with the value from the `clientAssignedMessageId` field. For example, `spaces/AAAAAAAAAAA/messages/client-custom-name`. For details, see [Name a message](https://developers.google.com/workspace/chat/create-messages#name_a_created_message).", "type": "string" }, "privateMessageViewer": { "$ref": "User", - "description": "Immutable. Input for creating a message, otherwise output only. The user that can view the message. When set, the message is private and only visible to the specified user and the Chat app. To include this field in your request, you must call the Chat API using [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) and omit the following: * [Attachments](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages.attachments) * [Accessory widgets](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages#Message.AccessoryWidget) For details, see [Send a message privately](https://developers.google.com/workspace/chat/create-messages#private)." + "description": "Optional. Immutable. Input for creating a message, otherwise output only. The user that can view the message. When set, the message is private and only visible to the specified user and the Chat app. To include this field in your request, you must call the Chat API using [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) and omit the following: * [Attachments](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages.attachments) * [Accessory widgets](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages#Message.AccessoryWidget) For details, see [Send a message privately](https://developers.google.com/workspace/chat/create-messages#private)." }, "quotedMessageMetadata": { "$ref": "QuotedMessageMetadata", @@ -3874,10 +4150,11 @@ }, "space": { "$ref": "Space", - "description": "If your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), the output populates the [space](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces) `name`." + "description": "Output only. If your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), the output only populates the [space](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces) `name`.", + "readOnly": true }, "text": { - "description": "Plain-text body of the message. The first link to an image, video, or web page generates a [preview chip](https://developers.google.com/workspace/chat/preview-links). You can also [@mention a Google Chat user](https://developers.google.com/workspace/chat/format-messages#messages-@mention), or everyone in the space. To learn about creating text messages, see [Send a message](https://developers.google.com/workspace/chat/create-messages).", + "description": "Optional. Plain-text body of the message. The first link to an image, video, or web page generates a [preview chip](https://developers.google.com/workspace/chat/preview-links). You can also [@mention a Google Chat user](https://developers.google.com/workspace/chat/format-messages#messages-@mention), or everyone in the space. To learn about creating text messages, see [Send a message](https://developers.google.com/workspace/chat/create-messages).", "type": "string" }, "thread": { @@ -3998,35 +4275,35 @@ "id": "PermissionSetting", "properties": { "managersAllowed": { - "description": "Whether spaces managers have this permission.", + "description": "Optional. Whether spaces managers have this permission.", "type": "boolean" }, "membersAllowed": { - "description": "Whether non-manager members have this permission.", + "description": "Optional. Whether non-manager members have this permission.", "type": "boolean" } }, "type": "object" }, "PermissionSettings": { - "description": "[Permission settings](https://support.google.com/chat/answer/13340792) for a named space. To set permission settings when creating a space, specify the `PredefinedPermissionSettings` field in your request.", + "description": "[Permission settings](https://support.google.com/chat/answer/13340792) that you can specify when updating an existing named space. To set permission settings when creating a space, specify the `PredefinedPermissionSettings` field in your request.", "id": "PermissionSettings", "properties": { "manageApps": { "$ref": "PermissionSetting", - "description": "Setting for managing apps in a space." + "description": "Optional. Setting for managing apps in a space." }, "manageMembersAndGroups": { "$ref": "PermissionSetting", - "description": "Setting for managing members and groups in a space." + "description": "Optional. Setting for managing members and groups in a space." }, "manageWebhooks": { "$ref": "PermissionSetting", - "description": "Setting for managing webhooks in a space." + "description": "Optional. Setting for managing webhooks in a space." }, "modifySpaceDetails": { "$ref": "PermissionSetting", - "description": "Setting for updating space name, avatar, description and guidelines." + "description": "Optional. Setting for updating space name, avatar, description and guidelines." }, "postMessages": { "$ref": "PermissionSetting", @@ -4035,15 +4312,15 @@ }, "replyMessages": { "$ref": "PermissionSetting", - "description": "Setting for replying to messages in a space." + "description": "Optional. Setting for replying to messages in a space." }, "toggleHistory": { "$ref": "PermissionSetting", - "description": "Setting for toggling space history on and off." + "description": "Optional. Setting for toggling space history on and off." }, "useAtMentionAll": { "$ref": "PermissionSetting", - "description": "Setting for using @all in a space." + "description": "Optional. Setting for using @all in a space." } }, "type": "object" @@ -4072,10 +4349,10 @@ "properties": { "emoji": { "$ref": "Emoji", - "description": "The emoji used in the reaction." + "description": "Required. The emoji used in the reaction." }, "name": { - "description": "The resource name of the reaction. Format: `spaces/{space}/messages/{message}/reactions/{reaction}`", + "description": "Identifier. The resource name of the reaction. Format: `spaces/{space}/messages/{message}/reactions/{reaction}`", "type": "string" }, "user": { @@ -4229,7 +4506,7 @@ "id": "SetUpSpaceRequest", "properties": { "memberships": { - "description": "Optional. The Google Chat users or groups to invite to join the space. Omit the calling user, as they are added automatically. The set currently allows up to 20 memberships (in addition to the caller). For human membership, the `Membership.member` field must contain a `user` with `name` populated (format: `users/{user}`) and `type` set to `User.Type.HUMAN`. You can only add human users when setting up a space (adding Chat apps is only supported for direct message setup with the calling app). You can also add members using the user's email as an alias for {user}. For example, the `user.name` can be `users/example@gmail.com`. To invite Gmail users or users from external Google Workspace domains, user's email must be used for `{user}`. For Google group membership, the `Membership.group_member` field must contain a `group` with `name` populated (format `groups/{group}`). You can only add Google groups when setting `Space.spaceType` to `SPACE`. Optional when setting `Space.spaceType` to `SPACE`. Required when setting `Space.spaceType` to `GROUP_CHAT`, along with at least two memberships. Required when setting `Space.spaceType` to `DIRECT_MESSAGE` with a human user, along with exactly one membership. Must be empty when creating a 1:1 conversation between a human and the calling Chat app (when setting `Space.spaceType` to `DIRECT_MESSAGE` and `Space.singleUserBotDm` to `true`).", + "description": "Optional. The Google Chat users or groups to invite to join the space. Omit the calling user, as they are added automatically. The set currently allows up to 49 memberships (in addition to the caller). For human membership, the `Membership.member` field must contain a `user` with `name` populated (format: `users/{user}`) and `type` set to `User.Type.HUMAN`. You can only add human users when setting up a space (adding Chat apps is only supported for direct message setup with the calling app). You can also add members using the user's email as an alias for {user}. For example, the `user.name` can be `users/example@gmail.com`. To invite Gmail users or users from external Google Workspace domains, user's email must be used for `{user}`. For Google group membership, the `Membership.group_member` field must contain a `group` with `name` populated (format `groups/{group}`). You can only add Google groups when setting `Space.spaceType` to `SPACE`. Optional when setting `Space.spaceType` to `SPACE`. Required when setting `Space.spaceType` to `GROUP_CHAT`, along with at least two memberships. Required when setting `Space.spaceType` to `DIRECT_MESSAGE` with a human user, along with exactly one membership. Must be empty when creating a 1:1 conversation between a human and the calling Chat app (when setting `Space.spaceType` to `DIRECT_MESSAGE` and `Space.singleUserBotDm` to `true`).", "items": { "$ref": "Membership" }, @@ -4315,17 +4592,23 @@ "type": "string" }, "displayName": { - "description": "The space's display name. Required when [creating a space](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/create) with a `spaceType` of `SPACE`. If you receive the error message `ALREADY_EXISTS` when creating a space or updating the `displayName`, try a different `displayName`. An existing space within the Google Workspace organization might already use this display name. For direct messages, this field might be empty. Supports up to 128 characters.", + "description": "Optional. The space's display name. Required when [creating a space](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/create) with a `spaceType` of `SPACE`. If you receive the error message `ALREADY_EXISTS` when creating a space or updating the `displayName`, try a different `displayName`. An existing space within the Google Workspace organization might already use this display name. For direct messages, this field might be empty. Supports up to 128 characters.", "type": "string" }, "externalUserAllowed": { - "description": "Immutable. Whether this space permits any Google Chat user as a member. Input when creating a space in a Google Workspace organization. Omit this field when creating spaces in the following conditions: * The authenticated user uses a consumer account (unmanaged user account). By default, a space created by a consumer account permits any Google Chat user. For existing spaces, this field is output only.", + "description": "Optional. Immutable. Whether this space permits any Google Chat user as a member. Input when creating a space in a Google Workspace organization. Omit this field when creating spaces in the following conditions: * The authenticated user uses a consumer account (unmanaged user account). By default, a space created by a consumer account permits any Google Chat user. For existing spaces, this field is output only.", "type": "boolean" }, "importMode": { "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. Creating a space in `Import Mode`requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user).", "type": "boolean" }, + "importModeExpireTime": { + "description": "Output only. The time when the space will be automatically deleted by the system if it remains in import mode. Each space created in import mode must exit this mode before this expire time using `spaces.completeImport`. This field is only populated for spaces that were created with import mode.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, "lastActiveTime": { "description": "Output only. Timestamp of the last message in the space.", "format": "google-datetime", @@ -4338,15 +4621,15 @@ "readOnly": true }, "name": { - "description": "Resource name of the space. Format: `spaces/{space}` Where `{space}` represents the system-assigned ID for the space. You can obtain the space ID by calling the [`spaces.list()`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/list) method or from the space URL. For example, if the space URL is `https://mail.google.com/mail/u/0/#chat/space/AAAAAAAAA`, the space ID is `AAAAAAAAA`.", + "description": "Identifier. Resource name of the space. Format: `spaces/{space}` Where `{space}` represents the system-assigned ID for the space. You can obtain the space ID by calling the [`spaces.list()`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/list) method or from the space URL. For example, if the space URL is `https://mail.google.com/mail/u/0/#chat/space/AAAAAAAAA`, the space ID is `AAAAAAAAA`.", "type": "string" }, "permissionSettings": { "$ref": "PermissionSettings", - "description": "Optional. Exact permission settings which can be set to update the space. Input for updating a space. Otherwise, output only. For space creation, use `predefined_permission_settings` instead." + "description": "Optional. Space permission settings for existing spaces. Input for updating exact space permission settings, where existing permission settings are replaced. Output lists current permission settings. Reading and updating permission settings supports: - In [Developer Preview](https://developers.google.com/workspace/preview), [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) with the `chat.app.spaces` scope. Only populated and settable when the Chat app created the space. - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)" }, "predefinedPermissionSettings": { - "description": "Optional. Input only. Space permission settings. Input for creating a space, a collaboration space is created if this field is not set. After you create the space, settings are populated in the `PermissionSettings` field.", + "description": "Optional. Input only. Predefined space permission settings, input only when creating a space. If the field is not set, a collaboration space is created. After you create the space, settings are populated in the `PermissionSettings` field. Setting predefined permission settings supports: - In [Developer Preview](https://developers.google.com/workspace/preview), [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) with the `chat.app.spaces` or `chat.app.spaces.create` scopes. - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user)", "enum": [ "PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED", "COLLABORATION_SPACE", @@ -4365,10 +4648,10 @@ }, "spaceDetails": { "$ref": "SpaceDetails", - "description": "Details about the space including description and rules." + "description": "Optional. Details about the space including description and rules." }, "spaceHistoryState": { - "description": "The message history state for messages and threads in this space.", + "description": "Optional. The message history state for messages and threads in this space.", "enum": [ "HISTORY_STATE_UNSPECIFIED", "HISTORY_OFF", @@ -4399,7 +4682,7 @@ "type": "string" }, "spaceType": { - "description": "The type of space. Required when creating a space or updating the space type of a space. Output only for other usage.", + "description": "Optional. The type of space. Required when creating a space or updating the space type of a space. Output only for other usage.", "enum": [ "SPACE_TYPE_UNSPECIFIED", "SPACE", @@ -4674,7 +4957,7 @@ "id": "Thread", "properties": { "name": { - "description": "Resource name of the thread. Example: `spaces/{space}/threads/{thread}`", + "description": "Identifier. Resource name of the thread. Example: `spaces/{space}/threads/{thread}`", "type": "string" }, "threadKey": { @@ -4734,7 +5017,7 @@ "type": "object" }, "UpdatedWidget": { - "description": "The response of the updated widget. Used to provide autocomplete options for a widget.", + "description": "For `selectionInput` widgets, returns autocomplete suggestions for a multiselect menu.", "id": "UpdatedWidget", "properties": { "suggestions": { diff --git a/discovery/checks-v1alpha.json b/discovery/checks-v1alpha.json index 5bd5ec6998..01581780e4 100644 --- a/discovery/checks-v1alpha.json +++ b/discovery/checks-v1alpha.json @@ -160,7 +160,7 @@ "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`.", + "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": "v1alpha/accounts/{accountsId}/apps/{appsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "checks.accounts.apps.operations.cancel", @@ -396,11 +396,119 @@ } } } + }, + "scans": { + "methods": { + "generate": { + "description": "Uploads the results of local Code Compliance analysis and generates a scan of privacy issues. Returns a google.longrunning.Operation containing analysis and findings.", + "flatPath": "v1alpha/accounts/{accountsId}/repos/{reposId}/scans:generate", + "httpMethod": "POST", + "id": "checks.accounts.repos.scans.generate", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Resource name of the repo. Example: `accounts/123/repos/456`", + "location": "path", + "pattern": "^accounts/[^/]+/repos/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/scans:generate", + "request": { + "$ref": "GoogleChecksRepoScanV1alphaGenerateScanRequest" + }, + "response": { + "$ref": "Operation" + } + }, + "get": { + "description": "Gets a repo scan. By default, only the name and results_uri fields are returned. You can include other fields by listing them in the `fields` URL query parameter. For example, `?fields=name,sources` will return the name and sources fields.", + "flatPath": "v1alpha/accounts/{accountsId}/repos/{reposId}/scans/{scansId}", + "httpMethod": "GET", + "id": "checks.accounts.repos.scans.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of the repo scan. Example: `accounts/123/repos/456/scans/789`", + "location": "path", + "pattern": "^accounts/[^/]+/repos/[^/]+/scans/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleChecksRepoScanV1alphaRepoScan" + } + }, + "list": { + "description": "Lists repo scans for the specified repo.", + "flatPath": "v1alpha/accounts/{accountsId}/repos/{reposId}/scans", + "httpMethod": "GET", + "id": "checks.accounts.repos.scans.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. An [AIP-160](https://google.aip.dev/160) filter string to filter repo scans. Example: `scmMetadata.branch = main`", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of repo scans to return. If unspecified, at most 10 repo scans will be returned. The maximum value is 50; values above 50 will be coerced to 50.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token received from a previous `ListRepoScans` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListRepoScans` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Resource name of the repo. Example: `accounts/123/repos/456`", + "location": "path", + "pattern": "^accounts/[^/]+/repos/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/scans", + "response": { + "$ref": "GoogleChecksRepoScanV1alphaListRepoScansResponse" + } + } + } } } } } }, + "aisafety": { + "methods": { + "classifyContent": { + "description": "Analyze a piece of content with the provided set of policies.", + "flatPath": "v1alpha/aisafety:classifyContent", + "httpMethod": "POST", + "id": "checks.aisafety.classifyContent", + "parameterOrder": [], + "parameters": {}, + "path": "v1alpha/aisafety:classifyContent", + "request": { + "$ref": "GoogleChecksAisafetyV1alphaClassifyContentRequest" + }, + "response": { + "$ref": "GoogleChecksAisafetyV1alphaClassifyContentResponse" + } + } + } + }, "media": { "methods": { "upload": { @@ -444,7 +552,7 @@ } } }, - "revision": "20240904", + "revision": "20241203", "rootUrl": "https://checks.googleapis.com/", "schemas": { "CancelOperationRequest": { @@ -492,6 +600,586 @@ }, "type": "object" }, + "GoogleChecksAisafetyV1alphaClassifyContentRequest": { + "description": "Request proto for ClassifyContent RPC.", + "id": "GoogleChecksAisafetyV1alphaClassifyContentRequest", + "properties": { + "classifierVersion": { + "description": "Optional. Version of the classifier to use. If not specified, the latest version will be used.", + "enum": [ + "CLASSIFIER_VERSION_UNSPECIFIED", + "STABLE", + "LATEST" + ], + "enumDescriptions": [ + "Unspecified version.", + "Stable version.", + "Latest version." + ], + "type": "string" + }, + "context": { + "$ref": "GoogleChecksAisafetyV1alphaClassifyContentRequestContext", + "description": "Optional. Context about the input that will be used to help on the classification." + }, + "input": { + "$ref": "GoogleChecksAisafetyV1alphaClassifyContentRequestInputContent", + "description": "Required. Content to be classified." + }, + "policies": { + "description": "Required. List of policies to classify against.", + "items": { + "$ref": "GoogleChecksAisafetyV1alphaClassifyContentRequestPolicyConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleChecksAisafetyV1alphaClassifyContentRequestContext": { + "description": "Context about the input that will be used to help on the classification.", + "id": "GoogleChecksAisafetyV1alphaClassifyContentRequestContext", + "properties": { + "prompt": { + "description": "Optional. Prompt that generated the model response.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleChecksAisafetyV1alphaClassifyContentRequestInputContent": { + "description": "Content to be classified.", + "id": "GoogleChecksAisafetyV1alphaClassifyContentRequestInputContent", + "properties": { + "textInput": { + "$ref": "GoogleChecksAisafetyV1alphaTextInput", + "description": "Content in text format." + } + }, + "type": "object" + }, + "GoogleChecksAisafetyV1alphaClassifyContentRequestPolicyConfig": { + "description": "List of policies to classify against.", + "id": "GoogleChecksAisafetyV1alphaClassifyContentRequestPolicyConfig", + "properties": { + "policyType": { + "description": "Required. Type of the policy.", + "enum": [ + "POLICY_TYPE_UNSPECIFIED", + "DANGEROUS_CONTENT", + "PII_SOLICITING_RECITING", + "HARASSMENT", + "SEXUALLY_EXPLICIT", + "HATE_SPEECH", + "MEDICAL_INFO", + "VIOLENCE_AND_GORE", + "OBSCENITY_AND_PROFANITY" + ], + "enumDescriptions": [ + "Default.", + "The model facilitates, promotes or enables access to harmful goods, services, and activities.", + "The model reveals an individual’s personal information and data.", + "The model generates content that is malicious, intimidating, bullying, or abusive towards another individual.", + "The model generates content that is sexually explicit in nature.", + "The model promotes violence, hatred, discrimination on the basis of race, religion, etc.", + "The model provides or offers to facilitate access to medical advice or guidance.", + "The model generates content that contains gratuitous, realistic descriptions of violence or gore.", + "The model generates profanity and obscenities." + ], + "type": "string" + }, + "threshold": { + "description": "Optional. Score threshold to use when deciding if the content is violative or non-violative. If not specified, the default 0.5 threshold for the policy will be used.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "GoogleChecksAisafetyV1alphaClassifyContentResponse": { + "description": "Response proto for ClassifyContent RPC.", + "id": "GoogleChecksAisafetyV1alphaClassifyContentResponse", + "properties": { + "policyResults": { + "description": "Results of the classification for each policy.", + "items": { + "$ref": "GoogleChecksAisafetyV1alphaClassifyContentResponsePolicyResult" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleChecksAisafetyV1alphaClassifyContentResponsePolicyResult": { + "description": "Result for one policy against the corresponding input.", + "id": "GoogleChecksAisafetyV1alphaClassifyContentResponsePolicyResult", + "properties": { + "policyType": { + "description": "Type of the policy.", + "enum": [ + "POLICY_TYPE_UNSPECIFIED", + "DANGEROUS_CONTENT", + "PII_SOLICITING_RECITING", + "HARASSMENT", + "SEXUALLY_EXPLICIT", + "HATE_SPEECH", + "MEDICAL_INFO", + "VIOLENCE_AND_GORE", + "OBSCENITY_AND_PROFANITY" + ], + "enumDescriptions": [ + "Default.", + "The model facilitates, promotes or enables access to harmful goods, services, and activities.", + "The model reveals an individual’s personal information and data.", + "The model generates content that is malicious, intimidating, bullying, or abusive towards another individual.", + "The model generates content that is sexually explicit in nature.", + "The model promotes violence, hatred, discrimination on the basis of race, religion, etc.", + "The model provides or offers to facilitate access to medical advice or guidance.", + "The model generates content that contains gratuitous, realistic descriptions of violence or gore.", + "The model generates profanity and obscenities." + ], + "type": "string" + }, + "score": { + "description": "Final score for the results of this policy.", + "format": "float", + "type": "number" + }, + "violationResult": { + "description": "Result of the classification for the policy.", + "enum": [ + "VIOLATION_RESULT_UNSPECIFIED", + "VIOLATIVE", + "NON_VIOLATIVE", + "CLASSIFICATION_ERROR" + ], + "enumDescriptions": [ + "Unspecified result.", + "The final score is greater or equal the input score threshold.", + "The final score is smaller than the input score threshold.", + "There was an error and the violation result could not be determined." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleChecksAisafetyV1alphaTextInput": { + "description": "Text input to be classified.", + "id": "GoogleChecksAisafetyV1alphaTextInput", + "properties": { + "content": { + "description": "Actual piece of text to be classified.", + "type": "string" + }, + "languageCode": { + "description": "Optional. Language of the text in ISO 639-1 format. If the language is invalid or not specified, the system will try to detect it.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleChecksRepoScanV1alphaCliAnalysis": { + "description": "The results of a Code Compliance CLI analysis.", + "id": "GoogleChecksRepoScanV1alphaCliAnalysis", + "properties": { + "codeScans": { + "description": "Optional. Requested code scans resulting from preliminary CLI analysis.", + "items": { + "$ref": "GoogleChecksRepoScanV1alphaCodeScan" + }, + "type": "array" + }, + "sources": { + "description": "Optional. Data sources detected in the scan.", + "items": { + "$ref": "GoogleChecksRepoScanV1alphaSource" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleChecksRepoScanV1alphaCodeAttribution": { + "description": "Source code attribution.", + "id": "GoogleChecksRepoScanV1alphaCodeAttribution", + "properties": { + "codeExcerpt": { + "description": "Optional. Code excerpt where the source was detected along with surrounding code.", + "type": "string" + }, + "lineNumber": { + "description": "Required. Line number (1-based).", + "format": "int32", + "type": "integer" + }, + "path": { + "description": "Required. Path of the file.", + "type": "string" + }, + "startLineNumber": { + "description": "Optional. Start line number of the code excerpt (1-based).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleChecksRepoScanV1alphaCodeScan": { + "description": "A requested analysis of source code. Contains the source code and processing state.", + "id": "GoogleChecksRepoScanV1alphaCodeScan", + "properties": { + "dataTypeClassifications": { + "description": "Optional. Data type classification requests.", + "items": { + "$ref": "GoogleChecksRepoScanV1alphaCodeScanDataTypeClassification" + }, + "type": "array" + }, + "sourceCode": { + "$ref": "GoogleChecksRepoScanV1alphaSourceCode", + "description": "Required. Source code to analyze." + } + }, + "type": "object" + }, + "GoogleChecksRepoScanV1alphaCodeScanDataTypeClassification": { + "description": "A request to classify data types.", + "id": "GoogleChecksRepoScanV1alphaCodeScanDataTypeClassification", + "properties": { + "dataType": { + "description": "Required. Candidate data type.", + "enum": [ + "DATA_TYPE_UNSPECIFIED", + "DATA_TYPE_APPROXIMATE_LOCATION", + "DATA_TYPE_PRECISE_LOCATION", + "DATA_TYPE_PERSONAL_NAME", + "DATA_TYPE_EMAIL_ADDRESS", + "DATA_TYPE_USER_IDS", + "DATA_TYPE_PHYSICAL_ADDRESS", + "DATA_TYPE_PHONE_NUMBER", + "DATA_TYPE_RACE_AND_ETHNICITY", + "DATA_TYPE_POLITICAL_OR_RELIGIOUS_BELIEFS", + "DATA_TYPE_SEXUAL_ORIENTATION", + "DATA_TYPE_OTHER_PERSONAL_INFO", + "DATA_TYPE_PAYMENT_INFO", + "DATA_TYPE_PURCHASE_HISTORY", + "DATA_TYPE_CREDIT_SCORE", + "DATA_TYPE_OTHER_FINANCIAL_INFO", + "DATA_TYPE_HEALTH_INFO", + "DATA_TYPE_FITNESS_INFO", + "DATA_TYPE_EMAILS", + "DATA_TYPE_TEXT_MESSAGES", + "DATA_TYPE_OTHER_IN_APP_MESSAGES", + "DATA_TYPE_PHOTOS", + "DATA_TYPE_VIDEOS", + "DATA_TYPE_VOICE_OR_SOUND_RECORDINGS", + "DATA_TYPE_MUSIC_FILES", + "DATA_TYPE_OTHER_AUDIO_FILES", + "DATA_TYPE_FILES_AND_DOCS", + "DATA_TYPE_CALENDAR_EVENTS", + "DATA_TYPE_CONTACTS", + "DATA_TYPE_APP_INTERACTIONS", + "DATA_TYPE_IN_APP_SEARCH_HISTORY", + "DATA_TYPE_INSTALLED_APPS", + "DATA_TYPE_OTHER_USER_GENERATED_CONTENT", + "DATA_TYPE_OTHER_ACTIONS", + "DATA_TYPE_WEB_BROWSING_HISTORY", + "DATA_TYPE_CRASH_LOGS", + "DATA_TYPE_PERFORMANCE_DIAGNOSTICS", + "DATA_TYPE_OTHER_APP_PERFORMANCE_DATA", + "DATA_TYPE_DEVICE_OR_OTHER_IDS" + ], + "enumDescriptions": [ + "Not specified.", + "User or device physical location to an area greater than or equal to 3 square kilometers, such as the city a user is in, or location provided by Android's ACCESS_COARSE_LOCATION permission.", + "User or device physical location within an area less than 3 square kilometers, such as location provided by Android's ACCESS_FINE_LOCATION permission.", + "How a user refers to themselves, such as their first or last name, or nickname.", + "A user's email address.", + "Identifiers that relate to an identifiable person. For example, an account ID, account number, or account name.", + "A user's address, such as a mailing or home address.", + "A user's phone number.", + "Information about a user's race or ethnicity.", + "Information about a user's political or religious beliefs.", + "Information about a user's sexual orientation.", + "Any other personal information such as date of birth, gender identity, veteran status, etc.", + "Information about a user's financial accounts such as credit card number.", + "Information about purchases or transactions a user has made.", + "Information about a user's credit score.", + "Any other financial information such as user salary or debts.", + "Information about a user's health, such as medical records or symptoms.", + "Information about a user's fitness, such as exercise or other physical activity.", + "A user's emails including the email subject line, sender, recipients, and the content of the email.", + "A user's text messages including the sender, recipients, and the content of the message.", + "Any other types of messages. For example, instant messages or chat content.", + "A user's photos.", + "A user's videos.", + "A user's voice such as a voicemail or a sound recording.", + "A user's music files.", + "Any other user-created or user-provided audio files.", + "A user's files or documents, or information about their files or documents such as file names.", + "Information from a user's calendar such as events, event notes, and attendees.", + "Information about the user’s contacts such as contact names, message history, and social graph information like usernames, contact recency, contact frequency, interaction duration and call history.", + "Information about how a user interacts with your app, such as the number of page views or taps.", + "Information about what a user has searched for in your app.", + "Inventory of apps or packages installed on the user’s device.", + "Any other user-generated content not listed here, or in any other section. For example, user bios, notes, or open-ended responses.", + "Any other user activity or actions in-app not listed here such as gameplay, likes, and dialog options.", + "Information about the websites a user has visited.", + "Crash log data from your app. For example, the number of times your app has crashed, stack traces, or other information directly related to a crash.", + "Information about the performance of your app. For example battery life, loading time, latency, framerate, or any technical diagnostics.", + "Any other app performance data not listed here.", + "Identifiers that relate to an individual device, browser or app. For example, an IMEI number, MAC address, Widevine Device ID, Firebase installation ID, or advertising identifier." + ], + "type": "string" + }, + "lineNumber": { + "description": "Required. Line number (1-based).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleChecksRepoScanV1alphaGenerateScanRequest": { + "description": "The request message for RepoScanService.GenerateScan.", + "id": "GoogleChecksRepoScanV1alphaGenerateScanRequest", + "properties": { + "cliAnalysis": { + "$ref": "GoogleChecksRepoScanV1alphaCliAnalysis", + "description": "Required. CLI analysis results." + }, + "cliVersion": { + "description": "Required. CLI version.", + "type": "string" + }, + "localScanPath": { + "description": "Required. Local scan path.", + "type": "string" + }, + "scmMetadata": { + "$ref": "GoogleChecksRepoScanV1alphaScmMetadata", + "description": "Required. SCM metadata." + } + }, + "type": "object" + }, + "GoogleChecksRepoScanV1alphaListRepoScansResponse": { + "description": "The response message for RepoScanService.ListRepoScans.", + "id": "GoogleChecksRepoScanV1alphaListRepoScansResponse", + "properties": { + "nextPageToken": { + "description": "A token which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "repoScans": { + "description": "The repo scans for the specified app.", + "items": { + "$ref": "GoogleChecksRepoScanV1alphaRepoScan" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleChecksRepoScanV1alphaPullRequest": { + "description": "Pull request info.", + "id": "GoogleChecksRepoScanV1alphaPullRequest", + "properties": { + "baseBranch": { + "description": "Required. For PR analysis, we compare against the most recent scan of the base branch to highlight new issues.", + "type": "string" + }, + "prNumber": { + "description": "Required. This can be supplied by the user or parsed automatically from predefined CI environment variables.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleChecksRepoScanV1alphaRepoScan": { + "description": "Repo scan.", + "id": "GoogleChecksRepoScanV1alphaRepoScan", + "properties": { + "cliVersion": { + "description": "CLI version.", + "type": "string" + }, + "localScanPath": { + "description": "Local scan path.", + "type": "string" + }, + "name": { + "description": "Identifier. Resource name of the scan.", + "type": "string" + }, + "resultsUri": { + "description": "A URL to view results.", + "type": "string" + }, + "scmMetadata": { + "$ref": "GoogleChecksRepoScanV1alphaScmMetadata", + "description": "SCM metadata." + }, + "sources": { + "description": "Data sources detected.", + "items": { + "$ref": "GoogleChecksRepoScanV1alphaSource" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleChecksRepoScanV1alphaScmMetadata": { + "description": "SCM metadata.", + "id": "GoogleChecksRepoScanV1alphaScmMetadata", + "properties": { + "branch": { + "description": "Required. Branch name.", + "type": "string" + }, + "pullRequest": { + "$ref": "GoogleChecksRepoScanV1alphaPullRequest", + "description": "Optional. Contains info about the associated pull request. This is only populated for pull request scans." + }, + "remoteUri": { + "description": "Required. Git remote URL.", + "type": "string" + }, + "revisionId": { + "description": "Required. Revision ID, e.g. Git commit hash.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleChecksRepoScanV1alphaSource": { + "description": "Represents a data source finding.", + "id": "GoogleChecksRepoScanV1alphaSource", + "properties": { + "codeAttribution": { + "$ref": "GoogleChecksRepoScanV1alphaCodeAttribution", + "description": "Optional. Source code attribution for the finding." + }, + "dataType": { + "description": "Required. Data type.", + "enum": [ + "DATA_TYPE_UNSPECIFIED", + "DATA_TYPE_APPROXIMATE_LOCATION", + "DATA_TYPE_PRECISE_LOCATION", + "DATA_TYPE_PERSONAL_NAME", + "DATA_TYPE_EMAIL_ADDRESS", + "DATA_TYPE_USER_IDS", + "DATA_TYPE_PHYSICAL_ADDRESS", + "DATA_TYPE_PHONE_NUMBER", + "DATA_TYPE_RACE_AND_ETHNICITY", + "DATA_TYPE_POLITICAL_OR_RELIGIOUS_BELIEFS", + "DATA_TYPE_SEXUAL_ORIENTATION", + "DATA_TYPE_OTHER_PERSONAL_INFO", + "DATA_TYPE_PAYMENT_INFO", + "DATA_TYPE_PURCHASE_HISTORY", + "DATA_TYPE_CREDIT_SCORE", + "DATA_TYPE_OTHER_FINANCIAL_INFO", + "DATA_TYPE_HEALTH_INFO", + "DATA_TYPE_FITNESS_INFO", + "DATA_TYPE_EMAILS", + "DATA_TYPE_TEXT_MESSAGES", + "DATA_TYPE_OTHER_IN_APP_MESSAGES", + "DATA_TYPE_PHOTOS", + "DATA_TYPE_VIDEOS", + "DATA_TYPE_VOICE_OR_SOUND_RECORDINGS", + "DATA_TYPE_MUSIC_FILES", + "DATA_TYPE_OTHER_AUDIO_FILES", + "DATA_TYPE_FILES_AND_DOCS", + "DATA_TYPE_CALENDAR_EVENTS", + "DATA_TYPE_CONTACTS", + "DATA_TYPE_APP_INTERACTIONS", + "DATA_TYPE_IN_APP_SEARCH_HISTORY", + "DATA_TYPE_INSTALLED_APPS", + "DATA_TYPE_OTHER_USER_GENERATED_CONTENT", + "DATA_TYPE_OTHER_ACTIONS", + "DATA_TYPE_WEB_BROWSING_HISTORY", + "DATA_TYPE_CRASH_LOGS", + "DATA_TYPE_PERFORMANCE_DIAGNOSTICS", + "DATA_TYPE_OTHER_APP_PERFORMANCE_DATA", + "DATA_TYPE_DEVICE_OR_OTHER_IDS" + ], + "enumDescriptions": [ + "Not specified.", + "User or device physical location to an area greater than or equal to 3 square kilometers, such as the city a user is in, or location provided by Android's ACCESS_COARSE_LOCATION permission.", + "User or device physical location within an area less than 3 square kilometers, such as location provided by Android's ACCESS_FINE_LOCATION permission.", + "How a user refers to themselves, such as their first or last name, or nickname.", + "A user's email address.", + "Identifiers that relate to an identifiable person. For example, an account ID, account number, or account name.", + "A user's address, such as a mailing or home address.", + "A user's phone number.", + "Information about a user's race or ethnicity.", + "Information about a user's political or religious beliefs.", + "Information about a user's sexual orientation.", + "Any other personal information such as date of birth, gender identity, veteran status, etc.", + "Information about a user's financial accounts such as credit card number.", + "Information about purchases or transactions a user has made.", + "Information about a user's credit score.", + "Any other financial information such as user salary or debts.", + "Information about a user's health, such as medical records or symptoms.", + "Information about a user's fitness, such as exercise or other physical activity.", + "A user's emails including the email subject line, sender, recipients, and the content of the email.", + "A user's text messages including the sender, recipients, and the content of the message.", + "Any other types of messages. For example, instant messages or chat content.", + "A user's photos.", + "A user's videos.", + "A user's voice such as a voicemail or a sound recording.", + "A user's music files.", + "Any other user-created or user-provided audio files.", + "A user's files or documents, or information about their files or documents such as file names.", + "Information from a user's calendar such as events, event notes, and attendees.", + "Information about the user’s contacts such as contact names, message history, and social graph information like usernames, contact recency, contact frequency, interaction duration and call history.", + "Information about how a user interacts with your app, such as the number of page views or taps.", + "Information about what a user has searched for in your app.", + "Inventory of apps or packages installed on the user’s device.", + "Any other user-generated content not listed here, or in any other section. For example, user bios, notes, or open-ended responses.", + "Any other user activity or actions in-app not listed here such as gameplay, likes, and dialog options.", + "Information about the websites a user has visited.", + "Crash log data from your app. For example, the number of times your app has crashed, stack traces, or other information directly related to a crash.", + "Information about the performance of your app. For example battery life, loading time, latency, framerate, or any technical diagnostics.", + "Any other app performance data not listed here.", + "Identifiers that relate to an individual device, browser or app. For example, an IMEI number, MAC address, Widevine Device ID, Firebase installation ID, or advertising identifier." + ], + "type": "string" + }, + "falsePositive": { + "description": "Optional. Whether the finding was marked as a false positive.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleChecksRepoScanV1alphaSourceCode": { + "description": "Contains source code from a repo.", + "id": "GoogleChecksRepoScanV1alphaSourceCode", + "properties": { + "code": { + "description": "Required. Source code.", + "type": "string" + }, + "endLine": { + "description": "Required. End line number (1-based).", + "format": "int32", + "type": "integer" + }, + "path": { + "description": "Required. Path of the file.", + "type": "string" + }, + "startLine": { + "description": "Required. Start line number (1-based).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleChecksReportV1alphaAnalyzeUploadRequest": { "description": "The request message for ReportService.AnalyzeUpload.", "id": "GoogleChecksReportV1alphaAnalyzeUploadRequest", @@ -705,7 +1393,10 @@ "DATA_MONITORING_OUTDATED_SDK_VERSION", "DATA_MONITORING_CRITICAL_SDK_ISSUE", "PRIVACY_POLICY_DATA_TYPE_SENSITIVE_INFO", - "DATA_MONITORING_PII_LOGCAT_LEAK" + "DATA_MONITORING_PII_LOGCAT_LEAK", + "DATA_MONITORING_MINIMIZE_PERMISSION_MEDIA", + "DATA_MONITORING_MINIMIZE_PERMISSION_CAMERA", + "DATA_MONITORING_MINIMIZE_PERMISSION_DOCUMENTS" ], "enumDescriptions": [ "Not specified.", @@ -796,7 +1487,10 @@ "Checks if there are any outdated SDKs.", "Checks if there are any SDKs with critical issues.", "Checks if the Sensitive Information data type declaration matches usage.", - "Checks if there were any PII leaked to device logs." + "Checks if there were any PII leaked to device logs.", + "Checks if there are media (photo and video) permissions that are considered sensitive and should be minimized for Android.", + "Checks if there are camera use permissions that are considered sensitive and should be minimized for Android.", + "Checks if there are documents and file permissions that are considered sensitive and should be minimized for Android." ], "type": "string" } @@ -924,6 +1618,7 @@ "DATA_TYPE_FITNESS_INFO", "DATA_TYPE_EMAILS", "DATA_TYPE_TEXT_MESSAGES", + "DATA_TYPE_OTHER_IN_APP_MESSAGES", "DATA_TYPE_PHOTOS", "DATA_TYPE_VIDEOS", "DATA_TYPE_VOICE_OR_SOUND_RECORDINGS", @@ -964,6 +1659,7 @@ "Information about a user's fitness, such as exercise or other physical activity.", "A user's emails including the email subject line, sender, recipients, and the content of the email.", "A user's text messages including the sender, recipients, and the content of the message.", + "Any other types of messages. For example, instant messages or chat content.", "A user's photos.", "A user's videos.", "A user's voice such as a voicemail or a sound recording.", @@ -1298,6 +1994,7 @@ "DATA_TYPE_FITNESS_INFO", "DATA_TYPE_EMAILS", "DATA_TYPE_TEXT_MESSAGES", + "DATA_TYPE_OTHER_IN_APP_MESSAGES", "DATA_TYPE_PHOTOS", "DATA_TYPE_VIDEOS", "DATA_TYPE_VOICE_OR_SOUND_RECORDINGS", @@ -1338,6 +2035,7 @@ "Information about a user's fitness, such as exercise or other physical activity.", "A user's emails including the email subject line, sender, recipients, and the content of the email.", "A user's text messages including the sender, recipients, and the content of the message.", + "Any other types of messages. For example, instant messages or chat content.", "A user's photos.", "A user's videos.", "A user's voice such as a voicemail or a sound recording.", diff --git a/discovery/chromemanagement-v1.json b/discovery/chromemanagement-v1.json index be8613eed7..be12e6f521 100644 --- a/discovery/chromemanagement-v1.json +++ b/discovery/chromemanagement-v1.json @@ -20,7 +20,7 @@ "canonicalName": "Chrome Management", "description": "The Chrome Management API is a suite of services that allows Chrome administrators to view, manage and gain insights on their Chrome OS and Chrome Browser devices.", "discoveryVersion": "v1", - "documentationLink": "http://developers.google.com/chrome/management/", + "documentationLink": "https://developers.google.com/chrome/management/", "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -344,6 +344,97 @@ } } }, + "profiles": { + "methods": { + "delete": { + "description": "Deletes the data collected from a Chrome browser profile.", + "flatPath": "v1/customers/{customersId}/profiles/{profilesId}", + "httpMethod": "DELETE", + "id": "chromemanagement.customers.profiles.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Format: customers/{customer_id}/profiles/{profile_permanent_id}", + "location": "path", + "pattern": "^customers/[^/]+/profiles/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + } + }, + "get": { + "description": "Gets a Chrome browser profile with customer ID and profile permanent ID.", + "flatPath": "v1/customers/{customersId}/profiles/{profilesId}", + "httpMethod": "GET", + "id": "chromemanagement.customers.profiles.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Format: customers/{customer_id}/profiles/{profile_permanent_id}", + "location": "path", + "pattern": "^customers/[^/]+/profiles/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleChromeManagementVersionsV1ChromeBrowserProfile" + } + }, + "list": { + "description": "Lists Chrome browser profiles of a customer based on the given search and sorting criteria.", + "flatPath": "v1/customers/{customersId}/profiles", + "httpMethod": "GET", + "id": "chromemanagement.customers.profiles.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. The filter used to filter profiles. The following fields can be used in the filter: - profile_id - display_name - user_email - last_activity_time - last_policy_sync_time - last_status_report_time - first_enrollment_time - os_platform_type - os_version - browser_version - browser_channel - policy_count - extension_count - identity_provider - affiliation_state - ouId Any of the above fields can be used to specify a filter, and filtering by multiple fields is supported with AND operator. String type fields and enum type fields support '=' and '!=' operators. The integer type and the timestamp type fields support '=', '!=', '<', '>', '<=' and '>=' operators. Timestamps expect an RFC-3339 formatted string (e.g. 2012-04-21T11:30:00-04:00). Wildcard '*' can be used with a string type field filter. In addition, string literal filtering is also supported, for example, 'ABC' as a filter maps to a filter that checks if any of the filterable string type fields contains 'ABC'. Organization unit number can be used as a filtering criteria here by specifying 'ouId = ${your_org_unit_id}', please note that only single OU ID matching is supported.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. The fields used to specify the ordering of the results. The supported fields are: - profile_id - display_name - user_email - last_activity_time - last_policy_sync_time - last_status_report_time - first_enrollment_time - os_platform_type - os_version - browser_version - browser_channel - policy_count - extension_count - identity_provider - affiliation_state By default, sorting is in ascending order, to specify descending order for a field, a suffix \" desc\" should be added to the field name. The default ordering is the descending order of last_status_report_time.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of profiles to return. The default page size is 100 if page_size is unspecified, and the maximum page size allowed is 200.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The page token used to retrieve a specific page of the listing request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Format: customers/{customer_id}", + "location": "path", + "pattern": "^customers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/profiles", + "response": { + "$ref": "GoogleChromeManagementVersionsV1ListChromeBrowserProfilesResponse" + } + } + } + }, "reports": { "methods": { "countChromeBrowsersNeedingAttention": { @@ -591,12 +682,12 @@ "type": "string" }, "filter": { - "description": "Query string to filter results, AND-separated fields in EBNF syntax. Note: OR operations are not supported in this filter. Supported filter fields: * app_name * app_type * install_type * number_of_permissions * total_install_count * latest_profile_active_date * permission_name * app_id * manifest_versions", + "description": "Query string to filter results, AND-separated fields in EBNF syntax. Note: OR operations are not supported in this filter. Supported filter fields: * app_name * app_type * install_type * number_of_permissions * total_install_count * latest_profile_active_date * permission_name * app_id * manifest_versions * risk_score", "location": "query", "type": "string" }, "orderBy": { - "description": "Field used to order results. Supported order by fields: * app_name * app_type * install_type * number_of_permissions * total_install_count * app_id * manifest_versions", + "description": "Field used to order results. Supported order by fields: * app_name * app_type * install_type * number_of_permissions * total_install_count * app_id * manifest_versions * risk_score", "location": "query", "type": "string" }, @@ -1172,7 +1263,7 @@ } } }, - "revision": "20241003", + "revision": "20241216", "rootUrl": "https://chromemanagement.googleapis.com/", "schemas": { "GoogleChromeManagementV1AndroidAppInfo": { @@ -1371,6 +1462,24 @@ "APPLICATION_TYPE_STANDALONE_BROWSER_EXTENSION", "APPLICATION_TYPE_BRUSCHETTA" ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + true, + false, + true, + false + ], "enumDescriptions": [ "Application type unknown.", "Application type arc (Android app).", @@ -1380,13 +1489,13 @@ "Application type web.", "Application type Mac OS.", "Application type Plugin VM.", - "Application type standalone browser (Lacros browser app).", + "Deprecated. This vaule is no longer used. Application type standalone browser (Lacros browser app).", "Application type remote.", "Application type borealis.", "Application type system web.", - "Application type standalone browser chrome app (hosted in Lacros).", + "Deprecated. This vaule is no longer used. Application type standalone browser chrome app.", "Application type extension.", - "Application type standalone browser extension.", + "Deprecated. This vaule is no longer used. Application type standalone browser extension.", "Application type bruschetta." ], "type": "string" @@ -2849,6 +2958,11 @@ }, "readOnly": true, "type": "array" + }, + "riskAssessment": { + "$ref": "GoogleChromeManagementV1RiskAssessmentData", + "description": "Output only. If available, the risk assessment data about this extension.", + "readOnly": true } }, "type": "object" @@ -3419,6 +3533,96 @@ }, "type": "object" }, + "GoogleChromeManagementV1RiskAssessment": { + "description": "Risk assessment for a Chrome extension.", + "id": "GoogleChromeManagementV1RiskAssessment", + "properties": { + "assessment": { + "description": "Risk assessment for the extension. Currently, this is a numerical value, and its interpretation is specific to each risk assessment provider.", + "type": "string" + }, + "detailsUrl": { + "description": "A URL that a user can navigate to for more information about the risk assessment.", + "type": "string" + }, + "version": { + "description": "The version of the extension that this assessment applies to.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleChromeManagementV1RiskAssessmentData": { + "description": "Risk assessment data about an extension/app.", + "id": "GoogleChromeManagementV1RiskAssessmentData", + "properties": { + "entries": { + "description": "Individual risk assessments.", + "items": { + "$ref": "GoogleChromeManagementV1RiskAssessmentEntry" + }, + "type": "array" + }, + "overallRiskLevel": { + "description": "Overall assessed risk level across all entries. This will be the highest risk level from all entries.", + "enum": [ + "RISK_LEVEL_UNSPECIFIED", + "RISK_LEVEL_LOW", + "RISK_LEVEL_MEDIUM", + "RISK_LEVEL_HIGH" + ], + "enumDescriptions": [ + "Risk level not specified.", + "Extension that represents a low risk.", + "Extension that represents a medium risk.", + "Extension that represents a high risk." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleChromeManagementV1RiskAssessmentEntry": { + "description": "One risk assessment entry.", + "id": "GoogleChromeManagementV1RiskAssessmentEntry", + "properties": { + "provider": { + "description": "The risk assessment provider from which this entry comes from.", + "enum": [ + "RISK_ASSESSMENT_PROVIDER_UNSPECIFIED", + "RISK_ASSESSMENT_PROVIDER_CRXCAVATOR", + "RISK_ASSESSMENT_PROVIDER_SPIN_AI" + ], + "enumDescriptions": [ + "Default value when no provider is specified.", + "CRXcavator.", + "Spin.Ai." + ], + "type": "string" + }, + "riskAssessment": { + "$ref": "GoogleChromeManagementV1RiskAssessment", + "description": "The details of the provider's risk assessment." + }, + "riskLevel": { + "description": "The bucketed risk level for the risk assessment.", + "enum": [ + "RISK_LEVEL_UNSPECIFIED", + "RISK_LEVEL_LOW", + "RISK_LEVEL_MEDIUM", + "RISK_LEVEL_HIGH" + ], + "enumDescriptions": [ + "Risk level not specified.", + "Extension that represents a low risk.", + "Extension that represents a medium risk.", + "Extension that represents a high risk." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleChromeManagementV1RuntimeCountersReport": { "description": "Runtime counters retrieved from CPU. Currently the runtime counters telemetry is only supported by Intel vPro PSR on Gen 14+.", "id": "GoogleChromeManagementV1RuntimeCountersReport", @@ -3607,6 +3811,24 @@ "APPLICATION_TYPE_STANDALONE_BROWSER_EXTENSION", "APPLICATION_TYPE_BRUSCHETTA" ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + true, + false, + true, + false + ], "enumDescriptions": [ "Application type unknown.", "Application type arc (Android app).", @@ -3616,13 +3838,13 @@ "Application type web.", "Application type Mac OS.", "Application type Plugin VM.", - "Application type standalone browser (Lacros browser app).", + "Deprecated. This vaule is no longer used. Application type standalone browser (Lacros browser app).", "Application type remote.", "Application type borealis.", "Application type system web.", - "Application type standalone browser chrome app (hosted in Lacros).", + "Deprecated. This vaule is no longer used. Application type standalone browser chrome app.", "Application type extension.", - "Application type standalone browser extension.", + "Deprecated. This vaule is no longer used. Application type standalone browser extension.", "Application type bruschetta." ], "type": "string" @@ -3683,7 +3905,8 @@ "APPLICATION_LAUNCH_SOURCE_WELCOME_TOUR", "APPLICATION_LAUNCH_SOURCE_FOCUS_MODE", "APPLICATION_LAUNCH_SOURCE_SPARKY", - "APPLICATION_LAUNCH_SOURCE_NAVIGATION_CAPTURING" + "APPLICATION_LAUNCH_SOURCE_NAVIGATION_CAPTURING", + "APPLICATION_LAUNCH_SOURCE_WEB_INSTALL_API" ], "enumDescriptions": [ "Application launch source unknown.", @@ -3728,7 +3951,8 @@ "Application launched from welcome tour.", "Applicationed launched from focus panel.", "Application launched from experimental feature Sparky.", - "Application launched from navigation capturing." + "Application launched from navigation capturing.", + "Application launched from web install API." ], "type": "string" }, @@ -3752,6 +3976,24 @@ "APPLICATION_TYPE_STANDALONE_BROWSER_EXTENSION", "APPLICATION_TYPE_BRUSCHETTA" ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + true, + false, + true, + false + ], "enumDescriptions": [ "Application type unknown.", "Application type arc (Android app).", @@ -3761,13 +4003,13 @@ "Application type web.", "Application type Mac OS.", "Application type Plugin VM.", - "Application type standalone browser (Lacros browser app).", + "Deprecated. This vaule is no longer used. Application type standalone browser (Lacros browser app).", "Application type remote.", "Application type borealis.", "Application type system web.", - "Application type standalone browser chrome app (hosted in Lacros).", + "Deprecated. This vaule is no longer used. Application type standalone browser chrome app.", "Application type extension.", - "Application type standalone browser extension.", + "Deprecated. This vaule is no longer used. Application type standalone browser extension.", "Application type bruschetta." ], "type": "string" @@ -3803,6 +4045,24 @@ "APPLICATION_TYPE_STANDALONE_BROWSER_EXTENSION", "APPLICATION_TYPE_BRUSCHETTA" ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + true, + false, + true, + false + ], "enumDescriptions": [ "Application type unknown.", "Application type arc (Android app).", @@ -3812,13 +4072,13 @@ "Application type web.", "Application type Mac OS.", "Application type Plugin VM.", - "Application type standalone browser (Lacros browser app).", + "Deprecated. This vaule is no longer used. Application type standalone browser (Lacros browser app).", "Application type remote.", "Application type borealis.", "Application type system web.", - "Application type standalone browser chrome app (hosted in Lacros).", + "Deprecated. This vaule is no longer used. Application type standalone browser chrome app.", "Application type extension.", - "Application type standalone browser extension.", + "Deprecated. This vaule is no longer used. Application type standalone browser extension.", "Application type bruschetta." ], "type": "string" @@ -4683,6 +4943,826 @@ }, "type": "object" }, + "GoogleChromeManagementVersionsV1AttestationCredential": { + "description": "Information of public key associated with a Chrome browser profile.", + "id": "GoogleChromeManagementVersionsV1AttestationCredential", + "properties": { + "keyRotationTime": { + "description": "Output only. Latest rotation timestamp of the public key rotation.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "keyTrustLevel": { + "description": "Output only. Trust level of the public key.", + "enum": [ + "KEY_TRUST_LEVEL_UNSPECIFIED", + "CHROME_BROWSER_HW_KEY", + "CHROME_BROWSER_OS_KEY" + ], + "enumDescriptions": [ + "Represents an unspecified public key trust level.", + "Represents a HW key.", + "Represents an OS key." + ], + "readOnly": true, + "type": "string" + }, + "keyType": { + "description": "Output only. Type of the public key.", + "enum": [ + "KEY_TYPE_UNSPECIFIED", + "RSA_KEY", + "EC_KEY" + ], + "enumDescriptions": [ + "Represents an unspecified public key type.", + "Represents a RSA key.", + "Represents an EC key." + ], + "readOnly": true, + "type": "string" + }, + "publicKey": { + "description": "Output only. Value of the public key.", + "format": "byte", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleChromeManagementVersionsV1CertificateProvisioningProcess": { + "description": "A certificate provisioning process.", + "id": "GoogleChromeManagementVersionsV1CertificateProvisioningProcess", + "properties": { + "caConnectionAdapterConfigReference": { + "description": "Output only. A JSON string that contains the administrator-provided configuration for the certification authority service. This field can be missing if no configuration was given.", + "readOnly": true, + "type": "string" + }, + "chromeOsDevice": { + "$ref": "GoogleChromeManagementVersionsV1ChromeOsDevice", + "description": "Output only. The client certificate is being provisioned for a ChromeOS device. This contains information about the device.", + "readOnly": true + }, + "chromeOsUserSession": { + "$ref": "GoogleChromeManagementVersionsV1ChromeOsUserSession", + "description": "Output only. The client certificate is being provisioned for a ChromeOS user session. This contains information about the user session.", + "readOnly": true + }, + "failureMessage": { + "description": "Output only. A message describing why this `CertificateProvisioningProcess` failed. Presence of this field indicates that the `CertificateProvisioningProcess` has failed.", + "readOnly": true, + "type": "string" + }, + "issuedCertificate": { + "description": "Output only. The issued certificate for this `CertificateProvisioningProcess` in PEM format.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. Resource name of the `CertificateProvisioningProcess`. The name pattern is given as `customers/{customer}/certificateProvisioningProcesses/{certificate_provisioning_process}` with `{customer}` being the obfuscated customer id and `{certificate_provisioning_process}` being the certificate provisioning process id.", + "type": "string" + }, + "profileAdapterConfigReference": { + "description": "Output only. A JSON string that contains the administrator-provided configuration for the certificate provisioning profile. This field can be missing if no configuration was given.", + "readOnly": true, + "type": "string" + }, + "provisioningProfileId": { + "description": "Output only. The ID of the certificate provisioning profile.", + "readOnly": true, + "type": "string" + }, + "signData": { + "description": "Output only. The data that the client was asked to sign. This field is only present after the `SignData` operation has been initiated.", + "format": "byte", + "readOnly": true, + "type": "string" + }, + "signature": { + "description": "Output only. The signature of `signature_algorithm`, generated using the client's private key using `signature_algorithm`. This field is only present after the`SignData` operation has finished.", + "format": "byte", + "readOnly": true, + "type": "string" + }, + "signatureAlgorithm": { + "description": "Output only. The signature algorithm that the adapter expects the client and backend components to use when processing `sign_data`. This field is only present after the `SignData` operation has been initiated.", + "enum": [ + "SIGNATURE_ALGORITHM_UNSPECIFIED", + "SIGNATURE_ALGORITHM_RSA_PKCS1_V1_5_SHA256", + "SIGNATURE_ALGORITHM_ECDSA_SHA256" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The server-side builds the PKCS#1 DigestInfo, i.e., the SHA256 hash is constructed on the server-side. The client should sign using RSA with PKCS#1 v1.5 padding.", + "The PKCS#1 digest info is built by the server-side and sent to the client unhashed. The client is responsible for signing and hashing. Uses the P-256 curve." + ], + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. Server-generated timestamp of when the certificate provisioning process has been created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "subjectPublicKeyInfo": { + "description": "Output only. The public key for which a certificate should be provisioned. Represented as a DER-encoded X.509 SubjectPublicKeyInfo.", + "format": "byte", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleChromeManagementVersionsV1ChromeBrowserProfile": { + "description": "A representation of a Chrome browser profile.", + "id": "GoogleChromeManagementVersionsV1ChromeBrowserProfile", + "properties": { + "affiliationState": { + "description": "Output only. The specific affiliation state of the profile.", + "enum": [ + "AFFILIATION_STATE_UNSPECIFIED", + "UNAFFILIATED_GENERIC", + "PROFILE_ONLY", + "UNAFFILIATED_LOCAL_MACHINE", + "UNAFFILIATED_CLOUD_MACHINE", + "AFFILIATED_CLOUD_MANAGED" + ], + "enumDescriptions": [ + "Unspecified affiliation state.", + "Unaffiliated - but we do not have the details for the type of unaffiliated profile.", + "Unaffiliated - A managed profile that appears on a totally unamanaged browser.", + "Unaffiliated - A managed profile that appears on a machine that is locally managed by a different organization (through platform management mechanisms like GPO).", + "Unaffiliated - A managed profile that appears on a managed browser that is cloud managed by a different organization (using Chrome Browser Cloud Management).", + "Affiliated - Both the profile and the managed browser are managed by the same organization." + ], + "readOnly": true, + "type": "string" + }, + "annotatedLocation": { + "description": "Optional. Location of the profile annotated by the admin.", + "type": "string" + }, + "annotatedUser": { + "description": "Optional. User of the profile annotated by the admin.", + "type": "string" + }, + "attestationCredential": { + "$ref": "GoogleChromeManagementVersionsV1AttestationCredential", + "description": "Output only. Attestation credential information of the profile.", + "readOnly": true + }, + "browserChannel": { + "description": "Output only. Channel of the browser on which the profile exists.", + "readOnly": true, + "type": "string" + }, + "browserVersion": { + "description": "Output only. Version of the browser on which the profile exists.", + "readOnly": true, + "type": "string" + }, + "deviceInfo": { + "$ref": "GoogleChromeManagementVersionsV1DeviceInfo", + "description": "Output only. Basic information of the device on which the profile exists. This information is only available for the affiliated profiles.", + "readOnly": true + }, + "displayName": { + "description": "Output only. Profile display name set by client.", + "readOnly": true, + "type": "string" + }, + "etag": { + "description": "Output only. Etag of this ChromeBrowserProfile resource. This etag can be used with UPDATE operation to ensure consistency.", + "readOnly": true, + "type": "string" + }, + "extensionCount": { + "description": "Output only. Number of extensions installed on the profile.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "firstEnrollmentTime": { + "description": "Output only. Timestamp of the first enrollment of the profile.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "identityProvider": { + "description": "Output only. Identify provider of the profile.", + "enum": [ + "IDENTITY_PROVIDER_UNSPECIFIED", + "GOOGLE_IDENTITY_PROVIDER", + "EXTERNAL_IDENTITY_PROVIDER" + ], + "enumDescriptions": [ + "Represents an unspecified identity provider.", + "Represents a Google identity provider.", + "Represents an external identity provider." + ], + "readOnly": true, + "type": "string" + }, + "lastActivityTime": { + "description": "Output only. Timestamp of the latest activity by the profile.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "lastPolicyFetchTime": { + "description": "Output only. Timestamp of the latest policy fetch by the profile.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "lastPolicySyncTime": { + "description": "Output only. Timestamp of the latest policy sync by the profile.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "lastStatusReportTime": { + "description": "Output only. Timestamp of the latest status report by the profile.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. Format: customers/{customer_id}/profiles/{profile_permanent_id}", + "type": "string" + }, + "osPlatformType": { + "description": "Output only. OS platform of the device on which the profile exists.", + "readOnly": true, + "type": "string" + }, + "osPlatformVersion": { + "description": "Output only. Major OS version of the device on which the profile exists. (i.e. Windows 10)", + "readOnly": true, + "type": "string" + }, + "osVersion": { + "description": "Output only. OS version of the device on which the profile exists.", + "readOnly": true, + "type": "string" + }, + "policyCount": { + "description": "Output only. Number of policies applied on the profile.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "profileId": { + "description": "Output only. Chrome client side profile ID.", + "readOnly": true, + "type": "string" + }, + "profilePermanentId": { + "description": "Output only. Profile permanent ID is the unique identifier of a profile within one customer.", + "readOnly": true, + "type": "string" + }, + "reportingData": { + "$ref": "GoogleChromeManagementVersionsV1ReportingData", + "description": "Output only. Detailed reporting data of the profile. This information is only available when the profile reporting policy is enabled.", + "readOnly": true + }, + "userEmail": { + "description": "Output only. Email address of the user to which the profile belongs.", + "readOnly": true, + "type": "string" + }, + "userId": { + "description": "Output only. Unique Directory API ID of the user that can be used in Admin SDK Users API.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleChromeManagementVersionsV1ChromeOsDevice": { + "description": "Describes the ChromeOS device that a `CertificateProvisioningProcess` belongs to.", + "id": "GoogleChromeManagementVersionsV1ChromeOsDevice", + "properties": { + "deviceDirectoryApiId": { + "description": "Output only. The unique Directory API ID of the device. This value is the same as the Admin Console's Directory API ID in the ChromeOS Devices tab.", + "readOnly": true, + "type": "string" + }, + "serialNumber": { + "description": "Output only. Device serial number. This value is the same as the Admin Console's Serial Number in the ChromeOS Devices tab.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleChromeManagementVersionsV1ChromeOsUserSession": { + "description": "Describes the ChromeOS user session that a `CertificateProvisioningProcess` belongs to.", + "id": "GoogleChromeManagementVersionsV1ChromeOsUserSession", + "properties": { + "chromeOsDevice": { + "$ref": "GoogleChromeManagementVersionsV1ChromeOsDevice", + "description": "Output only. This field contains information about the ChromeOS device that the user session is running on. It is only set if the user session is affiliated, i.e. if the user is managed by the same organization that managed the ChromeOS device.", + "readOnly": true + }, + "userDirectoryApiId": { + "description": "Output only. The unique Directory API ID of the user.", + "readOnly": true, + "type": "string" + }, + "userPrimaryEmail": { + "description": "Output only. The primary e-mail address of the user.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleChromeManagementVersionsV1DeviceInfo": { + "description": "Information of a device that runs a Chrome browser profile.", + "id": "GoogleChromeManagementVersionsV1DeviceInfo", + "properties": { + "affiliatedDeviceId": { + "description": "Output only. Device ID that identifies the affiliated device on which the profile exists. If the device type is CHROME_BROWSER, then this represents a unique Directory API ID of the device that can be used in Admin SDK Browsers API.", + "readOnly": true, + "type": "string" + }, + "deviceType": { + "description": "Output only. Type of the device on which the profile exists.", + "enum": [ + "DEVICE_TYPE_UNSPECIFIED", + "CHROME_BROWSER" + ], + "enumDescriptions": [ + "Represents an unspecified device type.", + "Represents a Chrome browser device." + ], + "readOnly": true, + "type": "string" + }, + "hostname": { + "description": "Output only. Hostname of the device on which the profile exists.", + "readOnly": true, + "type": "string" + }, + "machine": { + "description": "Output only. Machine name of the device on which the profile exists. On platforms which do not report the machine name (currently iOS and Android) this is instead set to the browser's device_id - but note that this is a different device_id than the |affiliated_device_id|.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleChromeManagementVersionsV1ListChromeBrowserProfilesResponse": { + "description": "Response to ListChromeBrowserProfiles method.", + "id": "GoogleChromeManagementVersionsV1ListChromeBrowserProfilesResponse", + "properties": { + "chromeBrowserProfiles": { + "description": "The list of profiles returned.", + "items": { + "$ref": "GoogleChromeManagementVersionsV1ChromeBrowserProfile" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The pagination token that can be used to list the next page.", + "type": "string" + }, + "totalSize": { + "description": "Total size represents an estimated number of resources returned. Not guaranteed to be accurate above 10k profiles.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleChromeManagementVersionsV1ReportingData": { + "description": "Reporting data of a Chrome browser profile.", + "id": "GoogleChromeManagementVersionsV1ReportingData", + "properties": { + "browserExecutablePath": { + "description": "Output only. Executable path of the installed Chrome browser. A valid path is included only in affiliated profiles.", + "readOnly": true, + "type": "string" + }, + "extensionData": { + "description": "Output only. Information of the extensions installed on the profile.", + "items": { + "$ref": "GoogleChromeManagementVersionsV1ReportingDataExtensionData" + }, + "readOnly": true, + "type": "array" + }, + "extensionPolicyData": { + "description": "Output only. Information of the policies applied on the extensions.", + "items": { + "$ref": "GoogleChromeManagementVersionsV1ReportingDataExtensionPolicyData" + }, + "readOnly": true, + "type": "array" + }, + "installedBrowserVersion": { + "description": "Output only. Updated version of a browser, if it is different from the active browser version.", + "readOnly": true, + "type": "string" + }, + "policyData": { + "description": "Output only. Information of the policies applied on the profile.", + "items": { + "$ref": "GoogleChromeManagementVersionsV1ReportingDataPolicyData" + }, + "readOnly": true, + "type": "array" + }, + "profilePath": { + "description": "Output only. Path of the profile. A valid path is included only in affiliated profiles.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleChromeManagementVersionsV1ReportingDataConflictingPolicyData": { + "description": "Information of conflicting policy applied on a Chrome browser profile.", + "id": "GoogleChromeManagementVersionsV1ReportingDataConflictingPolicyData", + "properties": { + "source": { + "description": "Output only. Source of the policy.", + "enum": [ + "POLICY_SOURCE_UNSPECIFIED", + "MACHINE_PLATFORM", + "USER_PLATFORM", + "MACHINE_LEVEL_USER_CLOUD", + "USER_CLOUD", + "MACHINE_MERGED" + ], + "enumDescriptions": [ + "Represents an unspecified policy source.", + "Represents a machine level platform policy.", + "Represents a user level platform policy.", + "Represents a machine level user cloud policy.", + "Represents a user level cloud policy.", + "Represents a machine level merged policy." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleChromeManagementVersionsV1ReportingDataExtensionData": { + "description": "Information of an extension installed on a Chrome browser profile.", + "id": "GoogleChromeManagementVersionsV1ReportingDataExtensionData", + "properties": { + "description": { + "description": "Output only. Description of the extension.", + "readOnly": true, + "type": "string" + }, + "extensionId": { + "description": "Output only. ID of the extension.", + "readOnly": true, + "type": "string" + }, + "extensionType": { + "description": "Output only. Type of the extension.", + "enum": [ + "EXTENSION_TYPE_UNSPECIFIED", + "EXTENSION", + "APP", + "THEME", + "HOSTED_APP" + ], + "enumDescriptions": [ + "Represents an unspecified extension type.", + "Represents an extension.", + "Represents an app.", + "Represents a theme.", + "Represents a hosted app." + ], + "readOnly": true, + "type": "string" + }, + "homepageUri": { + "description": "Output only. The URL of the homepage of the extension.", + "readOnly": true, + "type": "string" + }, + "installationType": { + "description": "Output only. Installation type of the extension.", + "enum": [ + "INSTALLATION_TYPE_UNSPECIFIED", + "MULTIPLE", + "NORMAL", + "ADMIN", + "DEVELOPMENT", + "SIDELOAD", + "OTHER" + ], + "enumDescriptions": [ + "Represents an unspecified installation type.", + "Represents instances of the extension having mixed installation types.", + "Represents a normal installation type.", + "Represents an installation by admin.", + "Represents a development installation type.", + "Represents a sideload installation type.", + "Represents an installation type that is not covered in the other options." + ], + "readOnly": true, + "type": "string" + }, + "isDisabled": { + "description": "Output only. Represents whether the user disabled the extension.", + "readOnly": true, + "type": "boolean" + }, + "isWebstoreExtension": { + "description": "Output only. Represents whether the extension is from the webstore.", + "readOnly": true, + "type": "boolean" + }, + "manifestVersion": { + "description": "Output only. Manifest version of the extension.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "name": { + "description": "Output only. Name of the extension.", + "readOnly": true, + "type": "string" + }, + "permissions": { + "description": "Output only. Permissions requested by the extension.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "version": { + "description": "Output only. Version of the extension.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleChromeManagementVersionsV1ReportingDataExtensionPolicyData": { + "description": "Information of the policies applied on an extension.", + "id": "GoogleChromeManagementVersionsV1ReportingDataExtensionPolicyData", + "properties": { + "extensionId": { + "description": "Output only. ID of the extension.", + "readOnly": true, + "type": "string" + }, + "extensionName": { + "description": "Output only. Name of the extension.", + "readOnly": true, + "type": "string" + }, + "policyData": { + "description": "Output only. Information of the policies applied on the extension.", + "items": { + "$ref": "GoogleChromeManagementVersionsV1ReportingDataPolicyData" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "GoogleChromeManagementVersionsV1ReportingDataPolicyData": { + "description": "Information of a policy applied on a Chrome browser profile.", + "id": "GoogleChromeManagementVersionsV1ReportingDataPolicyData", + "properties": { + "conflicts": { + "description": "Output only. Conflicting policy information.", + "items": { + "$ref": "GoogleChromeManagementVersionsV1ReportingDataConflictingPolicyData" + }, + "readOnly": true, + "type": "array" + }, + "error": { + "description": "Output only. Error message of the policy, if any.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Name of the policy.", + "readOnly": true, + "type": "string" + }, + "source": { + "description": "Output only. Source of the policy.", + "enum": [ + "POLICY_SOURCE_UNSPECIFIED", + "MACHINE_PLATFORM", + "USER_PLATFORM", + "MACHINE_LEVEL_USER_CLOUD", + "USER_CLOUD", + "MACHINE_MERGED" + ], + "enumDescriptions": [ + "Represents an unspecified policy source.", + "Represents a machine level platform policy.", + "Represents a user level platform policy.", + "Represents a machine level user cloud policy.", + "Represents a user level cloud policy.", + "Represents a machine level merged policy." + ], + "readOnly": true, + "type": "string" + }, + "value": { + "description": "Output only. Value of the policy.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleChromeManagementVersionsV1SignDataMetadata": { + "description": "Metadata for the long-running operation returned by signData.", + "id": "GoogleChromeManagementVersionsV1SignDataMetadata", + "properties": { + "startTime": { + "description": "Output only. Start time of the SignData operation.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleChromeManagementVersionsV1SignDataResponse": { + "description": "Response message for requesting a signature from the client that initated a certificate provisioning process.", + "id": "GoogleChromeManagementVersionsV1SignDataResponse", + "properties": { + "certificateProvisioningProcess": { + "$ref": "GoogleChromeManagementVersionsV1CertificateProvisioningProcess", + "description": "Output only. The certificate provisioning process. The signature generated by the client will be available in the `signature` field of `CertificateProvisioningProcess`.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleChromeManagementVersionsV1alpha1CertificateProvisioningProcess": { + "description": "A certificate provisioning process.", + "id": "GoogleChromeManagementVersionsV1alpha1CertificateProvisioningProcess", + "properties": { + "caConnectionAdapterConfigReference": { + "description": "Output only. A JSON string that contains the administrator-provided configuration for the certification authority service. This field can be missing if no configuration was given.", + "readOnly": true, + "type": "string" + }, + "chromeOsDevice": { + "$ref": "GoogleChromeManagementVersionsV1alpha1ChromeOsDevice", + "description": "Output only. The client certificate is being provisioned for a ChromeOS device. This contains information about the device.", + "readOnly": true + }, + "chromeOsUserSession": { + "$ref": "GoogleChromeManagementVersionsV1alpha1ChromeOsUserSession", + "description": "Output only. The client certificate is being provisioned for a ChromeOS user session. This contains information about the user session.", + "readOnly": true + }, + "failureMessage": { + "description": "Output only. A message describing why this `CertificateProvisioningProcess` failed. Presence of this field indicates that the `CertificateProvisioningProcess` has failed.", + "readOnly": true, + "type": "string" + }, + "issuedCertificate": { + "description": "Output only. The issued certificate for this `CertificateProvisioningProcess` in PEM format.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. Resource name of the `CertificateProvisioningProcess`. The name pattern is given as `customers/{customer}/certificateProvisioningProcesses/{certificate_provisioning_process}` with `{customer}` being the obfuscated customer id and `{certificate_provisioning_process}` being the certificate provisioning process id.", + "type": "string" + }, + "profileAdapterConfigReference": { + "description": "Output only. A JSON string that contains the administrator-provided configuration for the certificate provisioning profile. This field can be missing if no configuration was given.", + "readOnly": true, + "type": "string" + }, + "provisioningProfileId": { + "description": "Output only. The ID of the certificate provisioning profile.", + "readOnly": true, + "type": "string" + }, + "signData": { + "description": "Output only. The data that the client was asked to sign. This field is only present after the `SignData` operation has been initiated.", + "format": "byte", + "readOnly": true, + "type": "string" + }, + "signature": { + "description": "Output only. The signature of `signature_algorithm`, generated using the client's private key using `signature_algorithm`. This field is only present after the`SignData` operation has finished.", + "format": "byte", + "readOnly": true, + "type": "string" + }, + "signatureAlgorithm": { + "description": "Output only. The signature algorithm that the adapter expects the client and backend components to use when processing `sign_data`. This field is only present after the `SignData` operation has been initiated.", + "enum": [ + "SIGNATURE_ALGORITHM_UNSPECIFIED", + "SIGNATURE_ALGORITHM_RSA_PKCS1_V1_5_SHA256", + "SIGNATURE_ALGORITHM_ECDSA_SHA256" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The server-side builds the PKCS#1 DigestInfo, i.e., the SHA256 hash is constructed on the server-side. The client should sign using RSA with PKCS#1 v1.5 padding.", + "The PKCS#1 digest info is built by the server-side and sent to the client unhashed. The client is responsible for signing and hashing. Uses the P-256 curve." + ], + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. Server-generated timestamp of when the certificate provisioning process has been created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "subjectPublicKeyInfo": { + "description": "Output only. The public key for which a certificate should be provisioned. Represented as a DER-encoded X.509 SubjectPublicKeyInfo.", + "format": "byte", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleChromeManagementVersionsV1alpha1ChromeOsDevice": { + "description": "Describes the ChromeOS device that a `CertificateProvisioningProcess` belongs to.", + "id": "GoogleChromeManagementVersionsV1alpha1ChromeOsDevice", + "properties": { + "deviceDirectoryApiId": { + "description": "Output only. The unique Directory API ID of the device. This value is the same as the Admin Console's Directory API ID in the ChromeOS Devices tab.", + "readOnly": true, + "type": "string" + }, + "serialNumber": { + "description": "Output only. Device serial number. This value is the same as the Admin Console's Serial Number in the ChromeOS Devices tab.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleChromeManagementVersionsV1alpha1ChromeOsUserSession": { + "description": "Describes the ChromeOS user session that a `CertificateProvisioningProcess` belongs to.", + "id": "GoogleChromeManagementVersionsV1alpha1ChromeOsUserSession", + "properties": { + "chromeOsDevice": { + "$ref": "GoogleChromeManagementVersionsV1alpha1ChromeOsDevice", + "description": "Output only. This field contains information about the ChromeOS device that the user session is running on. It is only set if the user session is affiliated, i.e. if the user is managed by the same organization that managed the ChromeOS device.", + "readOnly": true + }, + "userDirectoryApiId": { + "description": "Output only. The unique Directory API ID of the user.", + "readOnly": true, + "type": "string" + }, + "userPrimaryEmail": { + "description": "Output only. The primary e-mail address of the user.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleChromeManagementVersionsV1alpha1SignDataMetadata": { + "description": "Metadata for the long-running operation returned by signData.", + "id": "GoogleChromeManagementVersionsV1alpha1SignDataMetadata", + "properties": { + "startTime": { + "description": "Output only. Start time of the SignData operation.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleChromeManagementVersionsV1alpha1SignDataResponse": { + "description": "Response message for requesting a signature from the client that initated a certificate provisioning process.", + "id": "GoogleChromeManagementVersionsV1alpha1SignDataResponse", + "properties": { + "certificateProvisioningProcess": { + "$ref": "GoogleChromeManagementVersionsV1alpha1CertificateProvisioningProcess", + "description": "Output only. The certificate provisioning process. The signature generated by the client will be available in the `signature` field of `CertificateProvisioningProcess`.", + "readOnly": true + } + }, + "type": "object" + }, "GoogleProtobufEmpty": { "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "GoogleProtobufEmpty", diff --git a/discovery/chromepolicy-v1.json b/discovery/chromepolicy-v1.json index a10d376f06..53c35b68e7 100644 --- a/discovery/chromepolicy-v1.json +++ b/discovery/chromepolicy-v1.json @@ -557,7 +557,7 @@ } } }, - "revision": "20241004", + "revision": "20241118", "rootUrl": "https://chromepolicy.googleapis.com/", "schemas": { "GoogleChromePolicyVersionsV1AdditionalTargetKeyName": { @@ -1786,7 +1786,7 @@ "type": "string" }, "syntax": { - "description": "The syntax of the proto file. The supported values are \"proto2\", \"proto3\", and \"editions\". If `edition` is present, this value must be \"editions\".", + "description": "The syntax of the proto file. The supported values are \"proto2\", \"proto3\", and \"editions\". If `edition` is present, this value must be \"editions\". WARNING: This field should only be used by protobuf plugins or special cases like the proto compiler. Other uses are discouraged and developers should rely on the protoreflect APIs for their client language.", "type": "string" } }, diff --git a/discovery/classroom-v1.json b/discovery/classroom-v1.json index 319e2e8829..75d2143507 100644 --- a/discovery/classroom-v1.json +++ b/discovery/classroom-v1.json @@ -1223,6 +1223,51 @@ "scopes": [ "https://www.googleapis.com/auth/classroom.coursework.students" ] + }, + "updateRubric": { + "description": "Updates a rubric. See google.classroom.v1.Rubric for details of which fields can be updated. Rubric update capabilities are [limited](/classroom/rubrics/limitations) once grading has started. The requesting user and course owner must have rubrics creation capabilities. For details, see [licensing requirements](https://developers.google.com/classroom/rubrics/limitations#license-requirements). This request must be made by the Google Cloud console of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the parent course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project didn't create the corresponding course work, if the user isn't permitted to make the requested modification to the rubric, or for access errors. This error code is also returned if grading has already started on the rubric. * `INVALID_ARGUMENT` if the request is malformed and for the following request error: * `RubricCriteriaInvalidFormat` * `NOT_FOUND` if the requested course, course work, or rubric doesn't exist or if the user doesn't have access to the corresponding course work. * `INTERNAL` if grading has already started on the rubric.", + "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/rubric", + "httpMethod": "PATCH", + "id": "classroom.courses.courseWork.updateRubric", + "parameterOrder": [ + "courseId", + "courseWorkId" + ], + "parameters": { + "courseId": { + "description": "Required. Identifier of the course.", + "location": "path", + "required": true, + "type": "string" + }, + "courseWorkId": { + "description": "Required. Identifier of the course work.", + "location": "path", + "required": true, + "type": "string" + }, + "id": { + "description": "Optional. Identifier of the rubric.", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Optional. Mask that identifies which fields on the rubric to update. This field is required to do an update. The update fails if invalid fields are specified. There are multiple options to define the criteria of a rubric: the `source_spreadsheet_id` and the `criteria` list. Only one of these can be used at a time to define a rubric. The rubric `criteria` list is fully replaced by the rubric criteria specified in the update request. For example, if a criterion or level is missing from the request, it is deleted. New criteria and levels are added and an ID is assigned. Existing criteria and levels retain the previously assigned ID if the ID is specified in the request. The following fields can be specified by teachers: * `criteria` * `source_spreadsheet_id`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/rubric", + "request": { + "$ref": "Rubric" + }, + "response": { + "$ref": "Rubric" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.coursework.students" + ] } }, "resources": { @@ -1562,6 +1607,215 @@ } } }, + "rubrics": { + "methods": { + "create": { + "description": "Creates a rubric. The requesting user and course owner must have rubrics creation capabilities. For details, see [licensing requirements](https://developers.google.com/classroom/rubrics/limitations#license-requirements). For further details, see [Rubrics structure and known limitations](/classroom/rubrics/limitations). This request must be made by the Google Cloud console of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the parent course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user isn't permitted to create rubrics for course work in the requested course. * `INTERNAL` if the request has insufficient OAuth scopes. * `INVALID_ARGUMENT` if the request is malformed and for the following request error: * `RubricCriteriaInvalidFormat` * `NOT_FOUND` if the requested course or course work don't exist or the user doesn't have access to the course or course work. * `FAILED_PRECONDITION` for the following request error: * `AttachmentNotVisible`", + "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics", + "httpMethod": "POST", + "id": "classroom.courses.courseWork.rubrics.create", + "parameterOrder": [ + "courseId", + "courseWorkId" + ], + "parameters": { + "courseId": { + "description": "Required. Identifier of the course.", + "location": "path", + "required": true, + "type": "string" + }, + "courseWorkId": { + "description": "Required. Identifier of the course work.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics", + "request": { + "$ref": "Rubric" + }, + "response": { + "$ref": "Rubric" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.coursework.students" + ] + }, + "delete": { + "description": "Deletes a rubric. The requesting user and course owner must have rubrics creation capabilities. For details, see [licensing requirements](https://developers.google.com/classroom/rubrics/limitations#license-requirements). This request must be made by the Google Cloud console of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding rubric. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project didn't create the corresponding rubric, or if the requesting user isn't permitted to delete the requested rubric. * `NOT_FOUND` if no rubric exists with the requested ID or the user does not have access to the course, course work, or rubric. * `INVALID_ARGUMENT` if grading has already started on the rubric.", + "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics/{id}", + "httpMethod": "DELETE", + "id": "classroom.courses.courseWork.rubrics.delete", + "parameterOrder": [ + "courseId", + "courseWorkId", + "id" + ], + "parameters": { + "courseId": { + "description": "Required. Identifier of the course.", + "location": "path", + "required": true, + "type": "string" + }, + "courseWorkId": { + "description": "Required. Identifier of the course work.", + "location": "path", + "required": true, + "type": "string" + }, + "id": { + "description": "Required. Identifier of the rubric.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics/{id}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.coursework.students" + ] + }, + "get": { + "description": "Returns a rubric. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or rubric doesn't exist or if the user doesn't have access to the corresponding course work.", + "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics/{id}", + "httpMethod": "GET", + "id": "classroom.courses.courseWork.rubrics.get", + "parameterOrder": [ + "courseId", + "courseWorkId", + "id" + ], + "parameters": { + "courseId": { + "description": "Required. Identifier of the course.", + "location": "path", + "required": true, + "type": "string" + }, + "courseWorkId": { + "description": "Required. Identifier of the course work.", + "location": "path", + "required": true, + "type": "string" + }, + "id": { + "description": "Required. Identifier of the rubric.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics/{id}", + "response": { + "$ref": "Rubric" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.coursework.me", + "https://www.googleapis.com/auth/classroom.coursework.me.readonly", + "https://www.googleapis.com/auth/classroom.coursework.students", + "https://www.googleapis.com/auth/classroom.coursework.students.readonly" + ] + }, + "list": { + "description": "Returns a list of rubrics that the requester is permitted to view. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course or course work doesn't exist or if the user doesn't have access to the corresponding course work.", + "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics", + "httpMethod": "GET", + "id": "classroom.courses.courseWork.rubrics.list", + "parameterOrder": [ + "courseId", + "courseWorkId" + ], + "parameters": { + "courseId": { + "description": "Required. Identifier of the course.", + "location": "path", + "required": true, + "type": "string" + }, + "courseWorkId": { + "description": "Required. Identifier of the course work.", + "location": "path", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The maximum number of rubrics to return. If unspecified, at most 1 rubric is returned. The maximum value is 1; values above 1 are coerced to 1.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics", + "response": { + "$ref": "ListRubricsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.coursework.me", + "https://www.googleapis.com/auth/classroom.coursework.me.readonly", + "https://www.googleapis.com/auth/classroom.coursework.students", + "https://www.googleapis.com/auth/classroom.coursework.students.readonly" + ] + }, + "patch": { + "description": "Updates a rubric. See google.classroom.v1.Rubric for details of which fields can be updated. Rubric update capabilities are [limited](/classroom/rubrics/limitations) once grading has started. The requesting user and course owner must have rubrics creation capabilities. For details, see [licensing requirements](https://developers.google.com/classroom/rubrics/limitations#license-requirements). This request must be made by the Google Cloud console of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the parent course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project didn't create the corresponding course work, if the user isn't permitted to make the requested modification to the rubric, or for access errors. This error code is also returned if grading has already started on the rubric. * `INVALID_ARGUMENT` if the request is malformed and for the following request error: * `RubricCriteriaInvalidFormat` * `NOT_FOUND` if the requested course, course work, or rubric doesn't exist or if the user doesn't have access to the corresponding course work. * `INTERNAL` if grading has already started on the rubric.", + "flatPath": "v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics/{id}", + "httpMethod": "PATCH", + "id": "classroom.courses.courseWork.rubrics.patch", + "parameterOrder": [ + "courseId", + "courseWorkId", + "id" + ], + "parameters": { + "courseId": { + "description": "Required. Identifier of the course.", + "location": "path", + "required": true, + "type": "string" + }, + "courseWorkId": { + "description": "Required. Identifier of the course work.", + "location": "path", + "required": true, + "type": "string" + }, + "id": { + "description": "Optional. Identifier of the rubric.", + "location": "path", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Mask that identifies which fields on the rubric to update. This field is required to do an update. The update fails if invalid fields are specified. There are multiple options to define the criteria of a rubric: the `source_spreadsheet_id` and the `criteria` list. Only one of these can be used at a time to define a rubric. The rubric `criteria` list is fully replaced by the rubric criteria specified in the update request. For example, if a criterion or level is missing from the request, it is deleted. New criteria and levels are added and an ID is assigned. Existing criteria and levels retain the previously assigned ID if the ID is specified in the request. The following fields can be specified by teachers: * `criteria` * `source_spreadsheet_id`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics/{id}", + "request": { + "$ref": "Rubric" + }, + "response": { + "$ref": "Rubric" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.coursework.students" + ] + } + } + }, "studentSubmissions": { "methods": { "get": { @@ -3695,7 +3949,7 @@ } } }, - "revision": "20240911", + "revision": "20241209", "rootUrl": "https://classroom.googleapis.com/", "schemas": { "AddOnAttachment": { @@ -4409,6 +4663,32 @@ }, "type": "object" }, + "Criterion": { + "description": "A rubric criterion. Each criterion is a dimension on which performance is rated.", + "id": "Criterion", + "properties": { + "description": { + "description": "The description of the criterion.", + "type": "string" + }, + "id": { + "description": "The criterion ID. On creation, an ID is assigned.", + "type": "string" + }, + "levels": { + "description": "The list of levels within this criterion.", + "items": { + "$ref": "Level" + }, + "type": "array" + }, + "title": { + "description": "The title of the criterion.", + "type": "string" + } + }, + "type": "object" + }, "Date": { "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "id": "Date", @@ -4784,6 +5064,30 @@ }, "type": "object" }, + "Level": { + "description": "A level of the criterion.", + "id": "Level", + "properties": { + "description": { + "description": "The description of the level.", + "type": "string" + }, + "id": { + "description": "The level ID. On creation, an ID is assigned.", + "type": "string" + }, + "points": { + "description": "Optional points associated with this level. If set, all levels within the rubric must specify points and the value must be distinct across all levels within a single criterion. 0 is distinct from no points.", + "format": "double", + "type": "number" + }, + "title": { + "description": "The title of the level. If the level has no points set, title must be set.", + "type": "string" + } + }, + "type": "object" + }, "Link": { "description": "URL item.", "id": "Link", @@ -4965,6 +5269,24 @@ }, "type": "object" }, + "ListRubricsResponse": { + "description": "Response when listing rubrics.", + "id": "ListRubricsResponse", + "properties": { + "nextPageToken": { + "description": "Token identifying the next page of results to return. If empty, no further results are available.", + "type": "string" + }, + "rubrics": { + "description": "Rubrics that match the request.", + "items": { + "$ref": "Rubric" + }, + "type": "array" + } + }, + "type": "object" + }, "ListStudentSubmissionsResponse": { "description": "Response when listing student submissions.", "id": "ListStudentSubmissionsResponse", @@ -5225,6 +5547,68 @@ "properties": {}, "type": "object" }, + "Rubric": { + "description": "The rubric of the course work. A rubric is a scoring guide used to evaluate student work and give feedback. For further details, see [Rubrics structure and known limitations](/classroom/rubrics/limitations).", + "id": "Rubric", + "properties": { + "courseId": { + "description": "Identifier of the course. Read-only.", + "type": "string" + }, + "courseWorkId": { + "description": "Identifier for the course work this corresponds to. Read-only.", + "type": "string" + }, + "creationTime": { + "description": "Output only. Timestamp when this rubric was created. Read-only.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "criteria": { + "description": "List of criteria. Each criterion is a dimension on which performance is rated.", + "items": { + "$ref": "Criterion" + }, + "type": "array" + }, + "id": { + "description": "Classroom-assigned identifier for the rubric. This is unique among rubrics for the relevant course work. Read-only.", + "type": "string" + }, + "sourceSpreadsheetId": { + "description": "Input only. Immutable. Google Sheets ID of the spreadsheet. This spreadsheet must contain formatted rubric settings. See [Create or reuse a rubric for an assignment](https://support.google.com/edu/classroom/answer/9335069). Use of this field requires the `https://www.googleapis.com/auth/spreadsheets.readonly` or `https://www.googleapis.com/auth/spreadsheets` scope.", + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp of the most recent change to this rubric. Read-only.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "RubricGrade": { + "description": "A rubric grade set for the student submission. There is at most one entry per rubric criterion.", + "id": "RubricGrade", + "properties": { + "criterionId": { + "description": "Optional. Criterion ID.", + "type": "string" + }, + "levelId": { + "description": "Optional. Optional level ID of the selected level. If empty, no level was selected.", + "type": "string" + }, + "points": { + "description": "Optional. Optional points assigned for this criterion, typically based on the level. Levels might or might not have points. If unset, no points were set for this criterion.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, "SharedDriveFile": { "description": "Drive file that is used as material for course work.", "id": "SharedDriveFile", @@ -5346,6 +5730,13 @@ "format": "double", "type": "number" }, + "assignedRubricGrades": { + "additionalProperties": { + "$ref": "RubricGrade" + }, + "description": "Assigned rubric grades based on the rubric's Criteria. This map is empty if there is no rubric attached to this course work or if a rubric is attached, but no grades have been set on any Criteria. Entries are only populated for grades that have been set. Key: The rubric's criterion ID. Read-only.", + "type": "object" + }, "assignmentSubmission": { "$ref": "AssignmentSubmission", "description": "Submission content when course_work_type is ASSIGNMENT. Students can modify this content using ModifyAttachments." @@ -5388,6 +5779,13 @@ "format": "double", "type": "number" }, + "draftRubricGrades": { + "additionalProperties": { + "$ref": "RubricGrade" + }, + "description": "Pending rubric grades based on the rubric's criteria. This map is empty if there is no rubric attached to this course work or if a rubric is attached, but no grades have been set on any criteria. Entries are only populated for grades that have been set. Key: The rubric's criterion ID. Read-only.", + "type": "object" + }, "id": { "description": "Classroom-assigned Identifier for the student submission. This is unique among submissions for the relevant course work. Read-only.", "type": "string" @@ -5488,22 +5886,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } diff --git a/discovery/cloudasset-v1.json b/discovery/cloudasset-v1.json index d9e2f05222..1450896fbd 100644 --- a/discovery/cloudasset-v1.json +++ b/discovery/cloudasset-v1.json @@ -1095,7 +1095,7 @@ } } }, - "revision": "20240831", + "revision": "20250104", "rootUrl": "https://cloudasset.googleapis.com/", "schemas": { "AccessSelector": { @@ -1170,7 +1170,7 @@ "description": "The main analysis that matches the original request." }, "serviceAccountImpersonationAnalysis": { - "description": "The service account impersonation analysis if AnalyzeIamPolicyRequest.analyze_service_account_impersonation is enabled.", + "description": "The service account impersonation analysis if IamPolicyAnalysisQuery.Options.analyze_service_account_impersonation is enabled.", "items": { "$ref": "IamPolicyAnalysis" }, @@ -1620,7 +1620,7 @@ "id": "EffectiveTagDetails", "properties": { "attachedResource": { - "description": "The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the ancestor from which an effective_tag is inherited, according to [tag inheritance](https://cloud.google.com/resource-manager/docs/tags/tags-overview#inheritance).", + "description": "The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the ancestor from which effective_tags are inherited, according to [tag inheritance](https://cloud.google.com/resource-manager/docs/tags/tags-overview#inheritance).", "type": "string" }, "effectiveTags": { @@ -1884,7 +1884,7 @@ "description": "A Google Cloud resource governed by the organization policies of the AnalyzeOrgPolicyGovernedAssetsRequest.constraint." }, "policyBundle": { - "description": "The ordered list of all organization policies from the AnalyzeOrgPoliciesResponse.OrgPolicyResult.consolidated_policy.attached_resource to the scope specified in the request. If the constraint is defined with default policy, it will also appear in the list.", + "description": "The ordered list of all organization policies from the consolidated_policy.attached_resource to the scope specified in the request. If the constraint is defined with default policy, it will also appear in the list.", "items": { "$ref": "AnalyzerOrgPolicy" }, @@ -2174,7 +2174,7 @@ "type": "string" }, "policyBundle": { - "description": "The ordered list of all organization policies from the AnalyzeOrgPoliciesResponse.OrgPolicyResult.consolidated_policy.attached_resource. to the scope specified in the request. If the constraint is defined with default policy, it will also appear in the list.", + "description": "The ordered list of all organization policies from the consolidated_policy.attached_resource. to the scope specified in the request. If the constraint is defined with default policy, it will also appear in the list.", "items": { "$ref": "AnalyzerOrgPolicy" }, @@ -2871,6 +2871,10 @@ "egressTo": { "$ref": "GoogleIdentityAccesscontextmanagerV1EgressTo", "description": "Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply." + }, + "title": { + "description": "Optional. Human-readable title for the egress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters.", + "type": "string" } }, "type": "object" @@ -2882,6 +2886,10 @@ "accessLevel": { "description": "An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all EgressSources will be allowed.", "type": "string" + }, + "resource": { + "description": "A Google Cloud resource that you want to allow to egress the perimeter. These resources can access data outside the perimeter. This field only supports projects. The project format is `projects/{project_number}`. The resource can be in any Google Cloud organization, not just the organization where the perimeter is defined. You can't use `*` in this field to allow all Google Cloud resources.", + "type": "string" } }, "type": "object" @@ -2962,6 +2970,10 @@ "ingressTo": { "$ref": "GoogleIdentityAccesscontextmanagerV1IngressTo", "description": "Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply." + }, + "title": { + "description": "Optional. Human-readable title for the ingress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters.", + "type": "string" } }, "type": "object" @@ -3062,6 +3074,10 @@ "description": "Description of the `ServicePerimeter` and its use. Does not affect behavior.", "type": "string" }, + "etag": { + "description": "Optional. An opaque identifier for the current version of the `ServicePerimeter`. This identifier does not follow any specific format. If an etag is not provided, the operation will be performed as if a valid etag is provided.", + "type": "string" + }, "name": { "description": "Identifier. Resource name for the `ServicePerimeter`. Format: `accessPolicies/{access_policy}/servicePerimeters/{service_perimeter}`. The `service_perimeter` component must begin with a letter, followed by alphanumeric characters or `_`. After you create a `ServicePerimeter`, you cannot change its `name`.", "type": "string" @@ -3658,7 +3674,7 @@ "properties": { "consolidatedPolicy": { "$ref": "AnalyzerOrgPolicy", - "description": "The consolidated organization policy for the analyzed resource. The consolidated organization policy is computed by merging and evaluating AnalyzeOrgPoliciesResponse.policy_bundle. The evaluation will respect the organization policy [hierarchy rules](https://cloud.google.com/resource-manager/docs/organization-policy/understanding-hierarchy)." + "description": "The consolidated organization policy for the analyzed resource. The consolidated organization policy is computed by merging and evaluating policy_bundle. The evaluation will respect the organization policy [hierarchy rules](https://cloud.google.com/resource-manager/docs/organization-policy/understanding-hierarchy)." }, "folders": { "description": "The folder(s) that this consolidated policy belongs to, in the format of folders/{FOLDER_NUMBER}. This field is available when the consolidated policy belongs (directly or cascadingly) to one or more folders.", @@ -3672,7 +3688,7 @@ "type": "string" }, "policyBundle": { - "description": "The ordered list of all organization policies from the AnalyzeOrgPoliciesResponse.OrgPolicyResult.consolidated_policy.attached_resource. to the scope specified in the request. If the constraint is defined with default policy, it will also appear in the list.", + "description": "The ordered list of all organization policies from the consolidated_policy.attached_resource. to the scope specified in the request. If the constraint is defined with default policy, it will also appear in the list.", "items": { "$ref": "AnalyzerOrgPolicy" }, diff --git a/discovery/cloudasset-v1beta1.json b/discovery/cloudasset-v1beta1.json index 3077e624e9..cba4cb94cf 100644 --- a/discovery/cloudasset-v1beta1.json +++ b/discovery/cloudasset-v1beta1.json @@ -411,7 +411,7 @@ } } }, - "revision": "20240803", + "revision": "20250104", "rootUrl": "https://cloudasset.googleapis.com/", "schemas": { "AnalyzeIamPolicyLongrunningMetadata": { @@ -1181,6 +1181,10 @@ "egressTo": { "$ref": "GoogleIdentityAccesscontextmanagerV1EgressTo", "description": "Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply." + }, + "title": { + "description": "Optional. Human-readable title for the egress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters.", + "type": "string" } }, "type": "object" @@ -1192,6 +1196,10 @@ "accessLevel": { "description": "An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all EgressSources will be allowed.", "type": "string" + }, + "resource": { + "description": "A Google Cloud resource that you want to allow to egress the perimeter. These resources can access data outside the perimeter. This field only supports projects. The project format is `projects/{project_number}`. The resource can be in any Google Cloud organization, not just the organization where the perimeter is defined. You can't use `*` in this field to allow all Google Cloud resources.", + "type": "string" } }, "type": "object" @@ -1272,6 +1280,10 @@ "ingressTo": { "$ref": "GoogleIdentityAccesscontextmanagerV1IngressTo", "description": "Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply." + }, + "title": { + "description": "Optional. Human-readable title for the ingress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters.", + "type": "string" } }, "type": "object" @@ -1372,6 +1384,10 @@ "description": "Description of the `ServicePerimeter` and its use. Does not affect behavior.", "type": "string" }, + "etag": { + "description": "Optional. An opaque identifier for the current version of the `ServicePerimeter`. This identifier does not follow any specific format. If an etag is not provided, the operation will be performed as if a valid etag is provided.", + "type": "string" + }, "name": { "description": "Identifier. Resource name for the `ServicePerimeter`. Format: `accessPolicies/{access_policy}/servicePerimeters/{service_perimeter}`. The `service_perimeter` component must begin with a letter, followed by alphanumeric characters or `_`. After you create a `ServicePerimeter`, you cannot change its `name`.", "type": "string" diff --git a/discovery/cloudasset-v1p1beta1.json b/discovery/cloudasset-v1p1beta1.json index 5c07b414af..5b5f50fc53 100644 --- a/discovery/cloudasset-v1p1beta1.json +++ b/discovery/cloudasset-v1p1beta1.json @@ -207,7 +207,7 @@ } } }, - "revision": "20240803", + "revision": "20250104", "rootUrl": "https://cloudasset.googleapis.com/", "schemas": { "AnalyzeIamPolicyLongrunningMetadata": { @@ -883,6 +883,10 @@ "egressTo": { "$ref": "GoogleIdentityAccesscontextmanagerV1EgressTo", "description": "Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply." + }, + "title": { + "description": "Optional. Human-readable title for the egress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters.", + "type": "string" } }, "type": "object" @@ -894,6 +898,10 @@ "accessLevel": { "description": "An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all EgressSources will be allowed.", "type": "string" + }, + "resource": { + "description": "A Google Cloud resource that you want to allow to egress the perimeter. These resources can access data outside the perimeter. This field only supports projects. The project format is `projects/{project_number}`. The resource can be in any Google Cloud organization, not just the organization where the perimeter is defined. You can't use `*` in this field to allow all Google Cloud resources.", + "type": "string" } }, "type": "object" @@ -974,6 +982,10 @@ "ingressTo": { "$ref": "GoogleIdentityAccesscontextmanagerV1IngressTo", "description": "Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply." + }, + "title": { + "description": "Optional. Human-readable title for the ingress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters.", + "type": "string" } }, "type": "object" @@ -1074,6 +1086,10 @@ "description": "Description of the `ServicePerimeter` and its use. Does not affect behavior.", "type": "string" }, + "etag": { + "description": "Optional. An opaque identifier for the current version of the `ServicePerimeter`. This identifier does not follow any specific format. If an etag is not provided, the operation will be performed as if a valid etag is provided.", + "type": "string" + }, "name": { "description": "Identifier. Resource name for the `ServicePerimeter`. Format: `accessPolicies/{access_policy}/servicePerimeters/{service_perimeter}`. The `service_perimeter` component must begin with a letter, followed by alphanumeric characters or `_`. After you create a `ServicePerimeter`, you cannot change its `name`.", "type": "string" diff --git a/discovery/cloudasset-v1p5beta1.json b/discovery/cloudasset-v1p5beta1.json index 47071c688a..aad720eefd 100644 --- a/discovery/cloudasset-v1p5beta1.json +++ b/discovery/cloudasset-v1p5beta1.json @@ -177,7 +177,7 @@ } } }, - "revision": "20240803", + "revision": "20250104", "rootUrl": "https://cloudasset.googleapis.com/", "schemas": { "AnalyzeIamPolicyLongrunningMetadata": { @@ -888,6 +888,10 @@ "egressTo": { "$ref": "GoogleIdentityAccesscontextmanagerV1EgressTo", "description": "Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply." + }, + "title": { + "description": "Optional. Human-readable title for the egress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters.", + "type": "string" } }, "type": "object" @@ -899,6 +903,10 @@ "accessLevel": { "description": "An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all EgressSources will be allowed.", "type": "string" + }, + "resource": { + "description": "A Google Cloud resource that you want to allow to egress the perimeter. These resources can access data outside the perimeter. This field only supports projects. The project format is `projects/{project_number}`. The resource can be in any Google Cloud organization, not just the organization where the perimeter is defined. You can't use `*` in this field to allow all Google Cloud resources.", + "type": "string" } }, "type": "object" @@ -979,6 +987,10 @@ "ingressTo": { "$ref": "GoogleIdentityAccesscontextmanagerV1IngressTo", "description": "Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply." + }, + "title": { + "description": "Optional. Human-readable title for the ingress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters.", + "type": "string" } }, "type": "object" @@ -1079,6 +1091,10 @@ "description": "Description of the `ServicePerimeter` and its use. Does not affect behavior.", "type": "string" }, + "etag": { + "description": "Optional. An opaque identifier for the current version of the `ServicePerimeter`. This identifier does not follow any specific format. If an etag is not provided, the operation will be performed as if a valid etag is provided.", + "type": "string" + }, "name": { "description": "Identifier. Resource name for the `ServicePerimeter`. Format: `accessPolicies/{access_policy}/servicePerimeters/{service_perimeter}`. The `service_perimeter` component must begin with a letter, followed by alphanumeric characters or `_`. After you create a `ServicePerimeter`, you cannot change its `name`.", "type": "string" diff --git a/discovery/cloudasset-v1p7beta1.json b/discovery/cloudasset-v1p7beta1.json index ea9b152752..5515f837f0 100644 --- a/discovery/cloudasset-v1p7beta1.json +++ b/discovery/cloudasset-v1p7beta1.json @@ -167,7 +167,7 @@ } } }, - "revision": "20240803", + "revision": "20250104", "rootUrl": "https://cloudasset.googleapis.com/", "schemas": { "AnalyzeIamPolicyLongrunningMetadata": { @@ -957,6 +957,10 @@ "egressTo": { "$ref": "GoogleIdentityAccesscontextmanagerV1EgressTo", "description": "Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply." + }, + "title": { + "description": "Optional. Human-readable title for the egress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters.", + "type": "string" } }, "type": "object" @@ -968,6 +972,10 @@ "accessLevel": { "description": "An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all EgressSources will be allowed.", "type": "string" + }, + "resource": { + "description": "A Google Cloud resource that you want to allow to egress the perimeter. These resources can access data outside the perimeter. This field only supports projects. The project format is `projects/{project_number}`. The resource can be in any Google Cloud organization, not just the organization where the perimeter is defined. You can't use `*` in this field to allow all Google Cloud resources.", + "type": "string" } }, "type": "object" @@ -1048,6 +1056,10 @@ "ingressTo": { "$ref": "GoogleIdentityAccesscontextmanagerV1IngressTo", "description": "Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply." + }, + "title": { + "description": "Optional. Human-readable title for the ingress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters.", + "type": "string" } }, "type": "object" @@ -1148,6 +1160,10 @@ "description": "Description of the `ServicePerimeter` and its use. Does not affect behavior.", "type": "string" }, + "etag": { + "description": "Optional. An opaque identifier for the current version of the `ServicePerimeter`. This identifier does not follow any specific format. If an etag is not provided, the operation will be performed as if a valid etag is provided.", + "type": "string" + }, "name": { "description": "Identifier. Resource name for the `ServicePerimeter`. Format: `accessPolicies/{access_policy}/servicePerimeters/{service_perimeter}`. The `service_perimeter` component must begin with a letter, followed by alphanumeric characters or `_`. After you create a `ServicePerimeter`, you cannot change its `name`.", "type": "string" diff --git a/discovery/cloudbilling-v1.json b/discovery/cloudbilling-v1.json index 8675360d2c..d592dbd04e 100644 --- a/discovery/cloudbilling-v1.json +++ b/discovery/cloudbilling-v1.json @@ -751,7 +751,7 @@ } } }, - "revision": "20240517", + "revision": "20241011", "rootUrl": "https://cloudbilling.googleapis.com/", "schemas": { "AggregationInfo": { @@ -844,6 +844,10 @@ "description": "A billing account in the [Google Cloud Console](https://console.cloud.google.com/). You can assign a billing account to one or more projects.", "id": "BillingAccount", "properties": { + "currencyCode": { + "description": "Optional. The currency in which the billing account is billed and charged, represented as an ISO 4217 code such as `USD`. Billing account currency is determined at the time of billing account creation and cannot be updated subsequently, so this field should not be set on update requests. In addition, a subaccount always matches the currency of its parent billing account, so this field should not be set on subaccount creation requests. Clients can read this field to determine the currency of an existing billing account.", + "type": "string" + }, "displayName": { "description": "The display name given to the billing account, such as `My Billing Account`. This name is displayed in the Google Cloud Console.", "type": "string" diff --git a/discovery/cloudbilling-v1beta.json b/discovery/cloudbilling-v1beta.json index 3b4e1054f0..5145c670a8 100644 --- a/discovery/cloudbilling-v1beta.json +++ b/discovery/cloudbilling-v1beta.json @@ -761,7 +761,7 @@ } } }, - "revision": "20240906", + "revision": "20241106", "rootUrl": "https://cloudbilling.googleapis.com/", "schemas": { "CacheFillRegions": { @@ -1245,7 +1245,7 @@ "type": "object" }, "Decimal": { - "description": "A representation of a decimal value, such as 2.5. Clients may convert values into language-native decimal formats, such as Java's BigDecimal or Python's decimal.Decimal. [BigDecimal]: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html [decimal.Decimal]: https://docs.python.org/3/library/decimal.html", + "description": "A representation of a decimal value, such as 2.5. Clients may convert values into language-native decimal formats, such as Java's [BigDecimal](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html) or Python's [decimal.Decimal](https://docs.python.org/3/library/decimal.html).", "id": "Decimal", "properties": { "value": { diff --git a/discovery/cloudbuild-v1.json b/discovery/cloudbuild-v1.json index 46b1e8beb5..e0e2dff018 100644 --- a/discovery/cloudbuild-v1.json +++ b/discovery/cloudbuild-v1.json @@ -15,6 +15,228 @@ "description": "Creates and manages builds on Google Cloud Platform.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/cloud-build/docs/", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.africa-south1.rep.googleapis.com/", + "location": "africa-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.asia-east1.rep.googleapis.com/", + "location": "asia-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.asia-east2.rep.googleapis.com/", + "location": "asia-east2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.asia-northeast1.rep.googleapis.com/", + "location": "asia-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.asia-northeast2.rep.googleapis.com/", + "location": "asia-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.asia-northeast3.rep.googleapis.com/", + "location": "asia-northeast3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.asia-south1.rep.googleapis.com/", + "location": "asia-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.asia-south2.rep.googleapis.com/", + "location": "asia-south2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.asia-southeast1.rep.googleapis.com/", + "location": "asia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.asia-southeast2.rep.googleapis.com/", + "location": "asia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.australia-southeast1.rep.googleapis.com/", + "location": "australia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.australia-southeast2.rep.googleapis.com/", + "location": "australia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.europe-central2.rep.googleapis.com/", + "location": "europe-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.europe-north1.rep.googleapis.com/", + "location": "europe-north1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.europe-southwest1.rep.googleapis.com/", + "location": "europe-southwest1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.europe-west1.rep.googleapis.com/", + "location": "europe-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.europe-west10.rep.googleapis.com/", + "location": "europe-west10" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.europe-west12.rep.googleapis.com/", + "location": "europe-west12" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.europe-west2.rep.googleapis.com/", + "location": "europe-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.europe-west3.rep.googleapis.com/", + "location": "europe-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.europe-west4.rep.googleapis.com/", + "location": "europe-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.europe-west6.rep.googleapis.com/", + "location": "europe-west6" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.europe-west8.rep.googleapis.com/", + "location": "europe-west8" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.europe-west9.rep.googleapis.com/", + "location": "europe-west9" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.me-central1.rep.googleapis.com/", + "location": "me-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.me-central2.rep.googleapis.com/", + "location": "me-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.me-west1.rep.googleapis.com/", + "location": "me-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.northamerica-northeast1.rep.googleapis.com/", + "location": "northamerica-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.northamerica-northeast2.rep.googleapis.com/", + "location": "northamerica-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.northamerica-south1.rep.googleapis.com/", + "location": "northamerica-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.southamerica-east1.rep.googleapis.com/", + "location": "southamerica-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.southamerica-west1.rep.googleapis.com/", + "location": "southamerica-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.us-central2.rep.googleapis.com/", + "location": "us-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.us-east1.rep.googleapis.com/", + "location": "us-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.us-east4.rep.googleapis.com/", + "location": "us-east4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.us-east5.rep.googleapis.com/", + "location": "us-east5" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.us-east7.rep.googleapis.com/", + "location": "us-east7" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.us-south1.rep.googleapis.com/", + "location": "us-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.us-west1.rep.googleapis.com/", + "location": "us-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.us-west2.rep.googleapis.com/", + "location": "us-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.us-west3.rep.googleapis.com/", + "location": "us-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.us-west4.rep.googleapis.com/", + "location": "us-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.us-west8.rep.googleapis.com/", + "location": "us-west8" + } + ], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -167,7 +389,7 @@ "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`.", + "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": "cloudbuild.operations.cancel", @@ -1552,7 +1774,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "cloudbuild.projects.locations.operations.cancel", @@ -2346,7 +2568,7 @@ } } }, - "revision": "20240923", + "revision": "20250102", "rootUrl": "https://cloudbuild.googleapis.com/", "schemas": { "ApprovalConfig": { @@ -4578,7 +4800,7 @@ "type": "string" }, "cancelRequested": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -4631,6 +4853,10 @@ "$ref": "NetworkConfig", "description": "Network configuration for the pool." }, + "privateServiceConnect": { + "$ref": "PrivateServiceConnect", + "description": "Immutable. Private Service Connect(PSC) Network configuration for the pool." + }, "workerConfig": { "$ref": "WorkerConfig", "description": "Machine configuration for the workers in the pool." @@ -4638,6 +4864,25 @@ }, "type": "object" }, + "PrivateServiceConnect": { + "description": "Defines the Private Service Connect network configuration for the pool.", + "id": "PrivateServiceConnect", + "properties": { + "networkAttachment": { + "description": "Required. Immutable. The network attachment that the worker network interface is peered to. Must be in the format `projects/{project}/regions/{region}/networkAttachments/{networkAttachment}`. The region of network attachment must be the same as the worker pool. See [Network Attachments](https://cloud.google.com/vpc/docs/about-network-attachments)", + "type": "string" + }, + "publicIpAddressDisabled": { + "description": "Required. Immutable. Disable public IP on the primary network interface. If true, workers are created without any public address, which prevents network egress to public IPs unless a network proxy is configured. If false, workers are created with a public address which allows for public internet egress. The public address only applies to traffic through the primary network interface. If `route_all_traffic` is set to true, all traffic will go through the non-primary network interface, this boolean has no effect.", + "type": "boolean" + }, + "routeAllTraffic": { + "description": "Immutable. Route all traffic through PSC interface. Enable this if you want full control of traffic in the private pool. Configure Cloud NAT for the subnet of network attachment if you need to access public Internet. If false, Only route private IPs, e.g. 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16 through PSC interface.", + "type": "boolean" + } + }, + "type": "object" + }, "ProcessAppManifestCallbackOperationMetadata": { "description": "Metadata for `ProcessAppManifestCallback` operation.", "id": "ProcessAppManifestCallbackOperationMetadata", diff --git a/discovery/cloudbuild-v2.json b/discovery/cloudbuild-v2.json index 09e77c4b78..8d919d2388 100644 --- a/discovery/cloudbuild-v2.json +++ b/discovery/cloudbuild-v2.json @@ -15,6 +15,228 @@ "description": "Creates and manages builds on Google Cloud Platform.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/cloud-build/docs/", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.africa-south1.rep.googleapis.com/", + "location": "africa-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.asia-east1.rep.googleapis.com/", + "location": "asia-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.asia-east2.rep.googleapis.com/", + "location": "asia-east2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.asia-northeast1.rep.googleapis.com/", + "location": "asia-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.asia-northeast2.rep.googleapis.com/", + "location": "asia-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.asia-northeast3.rep.googleapis.com/", + "location": "asia-northeast3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.asia-south1.rep.googleapis.com/", + "location": "asia-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.asia-south2.rep.googleapis.com/", + "location": "asia-south2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.asia-southeast1.rep.googleapis.com/", + "location": "asia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.asia-southeast2.rep.googleapis.com/", + "location": "asia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.australia-southeast1.rep.googleapis.com/", + "location": "australia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.australia-southeast2.rep.googleapis.com/", + "location": "australia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.europe-central2.rep.googleapis.com/", + "location": "europe-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.europe-north1.rep.googleapis.com/", + "location": "europe-north1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.europe-southwest1.rep.googleapis.com/", + "location": "europe-southwest1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.europe-west1.rep.googleapis.com/", + "location": "europe-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.europe-west10.rep.googleapis.com/", + "location": "europe-west10" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.europe-west12.rep.googleapis.com/", + "location": "europe-west12" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.europe-west2.rep.googleapis.com/", + "location": "europe-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.europe-west3.rep.googleapis.com/", + "location": "europe-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.europe-west4.rep.googleapis.com/", + "location": "europe-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.europe-west6.rep.googleapis.com/", + "location": "europe-west6" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.europe-west8.rep.googleapis.com/", + "location": "europe-west8" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.europe-west9.rep.googleapis.com/", + "location": "europe-west9" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.me-central1.rep.googleapis.com/", + "location": "me-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.me-central2.rep.googleapis.com/", + "location": "me-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.me-west1.rep.googleapis.com/", + "location": "me-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.northamerica-northeast1.rep.googleapis.com/", + "location": "northamerica-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.northamerica-northeast2.rep.googleapis.com/", + "location": "northamerica-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.northamerica-south1.rep.googleapis.com/", + "location": "northamerica-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.southamerica-east1.rep.googleapis.com/", + "location": "southamerica-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.southamerica-west1.rep.googleapis.com/", + "location": "southamerica-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.us-central2.rep.googleapis.com/", + "location": "us-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.us-east1.rep.googleapis.com/", + "location": "us-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.us-east4.rep.googleapis.com/", + "location": "us-east4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.us-east5.rep.googleapis.com/", + "location": "us-east5" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.us-east7.rep.googleapis.com/", + "location": "us-east7" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.us-south1.rep.googleapis.com/", + "location": "us-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.us-west1.rep.googleapis.com/", + "location": "us-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.us-west2.rep.googleapis.com/", + "location": "us-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.us-west3.rep.googleapis.com/", + "location": "us-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.us-west4.rep.googleapis.com/", + "location": "us-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://cloudbuild.us-west8.rep.googleapis.com/", + "location": "us-west8" + } + ], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -785,7 +1007,7 @@ "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`.", + "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": "v2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "cloudbuild.projects.locations.operations.cancel", @@ -844,7 +1066,7 @@ } } }, - "revision": "20240731", + "revision": "20250102", "rootUrl": "https://cloudbuild.googleapis.com/", "schemas": { "AuditConfig": { @@ -1736,7 +1958,7 @@ "type": "string" }, "cancelRequested": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, diff --git a/discovery/cloudchannel-v1.json b/discovery/cloudchannel-v1.json index 4502e083ed..bf69a4f661 100644 --- a/discovery/cloudchannel-v1.json +++ b/discovery/cloudchannel-v1.json @@ -139,7 +139,7 @@ ] }, "listSubscribers": { - "description": "Lists service accounts with subscriber privileges on the Cloud Pub/Sub topic created for this Channel Services account. Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: The topic resource doesn't exist. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: A list of service email addresses.", + "description": "Lists service accounts with subscriber privileges on the Pub/Sub topic created for this Channel Services account or integrator. Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: The topic resource doesn't exist. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: A list of service email addresses.", "flatPath": "v1/accounts/{accountsId}:listSubscribers", "httpMethod": "GET", "id": "cloudchannel.accounts.listSubscribers", @@ -148,12 +148,17 @@ ], "parameters": { "account": { - "description": "Optional. Resource name of the account.", + "description": "Optional. Resource name of the account. Required if integrator is not provided. Otherwise, leave this field empty/unset.", "location": "path", "pattern": "^accounts/[^/]+$", "required": true, "type": "string" }, + "integrator": { + "description": "Optional. Resource name of the integrator. Required if account is not provided. Otherwise, leave this field empty/unset.", + "location": "query", + "type": "string" + }, "pageSize": { "description": "Optional. The maximum number of service accounts to return. The service may return fewer than this value. If unspecified, returns at most 100 service accounts. The maximum value is 1000; the server will coerce values above 1000.", "format": "int32", @@ -231,7 +236,7 @@ ] }, "register": { - "description": "Registers a service account with subscriber privileges on the Cloud Pub/Sub topic for this Channel Services account. After you create a subscriber, you get the events through SubscriberEvent Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The topic name with the registered service email address.", + "description": "Registers a service account with subscriber privileges on the Pub/Sub topic for this Channel Services account or integrator. After you create a subscriber, you get the events through SubscriberEvent Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The topic name with the registered service email address.", "flatPath": "v1/accounts/{accountsId}:register", "httpMethod": "POST", "id": "cloudchannel.accounts.register", @@ -240,7 +245,7 @@ ], "parameters": { "account": { - "description": "Optional. Resource name of the account.", + "description": "Optional. Resource name of the account. Required if integrator is not provided. Otherwise, leave this field empty/unset.", "location": "path", "pattern": "^accounts/[^/]+$", "required": true, @@ -259,7 +264,7 @@ ] }, "unregister": { - "description": "Unregisters a service account with subscriber privileges on the Cloud Pub/Sub topic created for this Channel Services account. If there are no service accounts left with subscriber privileges, this deletes the topic. You can call ListSubscribers to check for these accounts. Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: The topic resource doesn't exist. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The topic name that unregistered the service email address. Returns a success response if the service email address wasn't registered with the topic.", + "description": "Unregisters a service account with subscriber privileges on the Pub/Sub topic created for this Channel Services account or integrator. If there are no service accounts left with subscriber privileges, this deletes the topic. You can call ListSubscribers to check for these accounts. Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: The topic resource doesn't exist. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The topic name that unregistered the service email address. Returns a success response if the service email address wasn't registered with the topic.", "flatPath": "v1/accounts/{accountsId}:unregister", "httpMethod": "POST", "id": "cloudchannel.accounts.unregister", @@ -268,7 +273,7 @@ ], "parameters": { "account": { - "description": "Optional. Resource name of the account.", + "description": "Optional. Resource name of the account. Required if integrator is not provided. Otherwise, leave this field empty/unset.", "location": "path", "pattern": "^accounts/[^/]+$", "required": true, @@ -1900,7 +1905,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. A token identifying a page of results beyond the first page. Obtained through ListSkuGroups.next_page_token of the previous CloudChannelService.ListSkuGroups call.", + "description": "Optional. A token identifying a page of results beyond the first page. Obtained through ListSkuGroupsResponse.next_page_token of the previous CloudChannelService.ListSkuGroups call.", "location": "query", "type": "string" }, @@ -1940,7 +1945,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. A token identifying a page of results beyond the first page. Obtained through ListSkuGroupBillableSkus.next_page_token of the previous CloudChannelService.ListSkuGroupBillableSkus call.", + "description": "Optional. A token identifying a page of results beyond the first page. Obtained through ListSkuGroupBillableSkusResponse.next_page_token of the previous CloudChannelService.ListSkuGroupBillableSkus call.", "location": "query", "type": "string" }, @@ -1966,10 +1971,111 @@ } } }, + "integrators": { + "methods": { + "listSubscribers": { + "description": "Lists service accounts with subscriber privileges on the Pub/Sub topic created for this Channel Services account or integrator. Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: The topic resource doesn't exist. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: A list of service email addresses.", + "flatPath": "v1/integrators/{integratorsId}:listSubscribers", + "httpMethod": "GET", + "id": "cloudchannel.integrators.listSubscribers", + "parameterOrder": [ + "integrator" + ], + "parameters": { + "account": { + "description": "Optional. Resource name of the account. Required if integrator is not provided. Otherwise, leave this field empty/unset.", + "location": "query", + "type": "string" + }, + "integrator": { + "description": "Optional. Resource name of the integrator. Required if account is not provided. Otherwise, leave this field empty/unset.", + "location": "path", + "pattern": "^integrators/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of service accounts to return. The service may return fewer than this value. If unspecified, returns at most 100 service accounts. The maximum value is 1000; the server will coerce values above 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListSubscribers` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSubscribers` must match the call that provided the page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+integrator}:listSubscribers", + "response": { + "$ref": "GoogleCloudChannelV1ListSubscribersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/apps.order" + ] + }, + "registerSubscriber": { + "description": "Registers a service account with subscriber privileges on the Pub/Sub topic for this Channel Services account or integrator. After you create a subscriber, you get the events through SubscriberEvent Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The topic name with the registered service email address.", + "flatPath": "v1/integrators/{integratorsId}:registerSubscriber", + "httpMethod": "POST", + "id": "cloudchannel.integrators.registerSubscriber", + "parameterOrder": [ + "integrator" + ], + "parameters": { + "integrator": { + "description": "Optional. Resource name of the integrator. Required if account is not provided. Otherwise, leave this field empty/unset.", + "location": "path", + "pattern": "^integrators/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+integrator}:registerSubscriber", + "request": { + "$ref": "GoogleCloudChannelV1RegisterSubscriberRequest" + }, + "response": { + "$ref": "GoogleCloudChannelV1RegisterSubscriberResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/apps.order" + ] + }, + "unregisterSubscriber": { + "description": "Unregisters a service account with subscriber privileges on the Pub/Sub topic created for this Channel Services account or integrator. If there are no service accounts left with subscriber privileges, this deletes the topic. You can call ListSubscribers to check for these accounts. Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: The topic resource doesn't exist. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The topic name that unregistered the service email address. Returns a success response if the service email address wasn't registered with the topic.", + "flatPath": "v1/integrators/{integratorsId}:unregisterSubscriber", + "httpMethod": "POST", + "id": "cloudchannel.integrators.unregisterSubscriber", + "parameterOrder": [ + "integrator" + ], + "parameters": { + "integrator": { + "description": "Optional. Resource name of the integrator. Required if account is not provided. Otherwise, leave this field empty/unset.", + "location": "path", + "pattern": "^integrators/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+integrator}:unregisterSubscriber", + "request": { + "$ref": "GoogleCloudChannelV1UnregisterSubscriberRequest" + }, + "response": { + "$ref": "GoogleCloudChannelV1UnregisterSubscriberResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/apps.order" + ] + } + } + }, "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`.", + "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": "cloudchannel.operations.cancel", @@ -2183,7 +2289,7 @@ } } }, - "revision": "20240913", + "revision": "20241202", "rootUrl": "https://cloudchannel.googleapis.com/", "schemas": { "GoogleCloudChannelV1ActivateEntitlementRequest": { @@ -2323,6 +2429,10 @@ }, "type": "array" }, + "priceReferenceId": { + "description": "Optional. Price reference ID for the offer. Optional field only for offers that require additional price information. Used to guarantee that the pricing is consistent between quoting the offer and placing the order. Not yet implemented: if populated in a request, this field isn't evaluated in the API.", + "type": "string" + }, "purchaseOrderId": { "description": "Optional. Purchase order id provided by the reseller.", "type": "string" @@ -2335,7 +2445,7 @@ "type": "object" }, "GoogleCloudChannelV1ChangeParametersRequest": { - "description": "Request message for CloudChannelService.ChangeParametersRequest.", + "description": "Request message for CloudChannelService.ChangeParameters.", "id": "GoogleCloudChannelV1ChangeParametersRequest", "properties": { "parameters": { @@ -2518,7 +2628,7 @@ "type": "boolean" }, "owned": { - "description": "Returns true if the Cloud Identity account is associated with a customer of the Channel Services partner.", + "description": "Returns true if the Cloud Identity account is associated with a customer of the Channel Services partner (with active subscriptions or purchase consents).", "type": "boolean" } }, @@ -2849,7 +2959,7 @@ "type": "string" }, "eventType": { - "description": "Type of event which happened on the customer.", + "description": "Type of event which happened for the customer.", "enum": [ "TYPE_UNSPECIFIED", "PRIMARY_DOMAIN_CHANGED", @@ -2998,6 +3108,10 @@ }, "type": "array" }, + "priceReferenceId": { + "description": "Optional. Price reference ID for the offer. Optional field only for offers that require additional price information. Used to guarantee that the pricing is consistent between quoting the offer and placing the order. Not yet implemented: if this field is populated in a request, it isn't evaluated in the API.", + "type": "string" + }, "provisionedService": { "$ref": "GoogleCloudChannelV1ProvisionedService", "description": "Output only. Service provisioning details for the entitlement.", @@ -3218,7 +3332,7 @@ "type": "string" }, "eventType": { - "description": "Type of event which happened on the entitlement.", + "description": "Type of event which happened for the entitlement.", "enum": [ "TYPE_UNSPECIFIED", "CREATED", @@ -3547,7 +3661,7 @@ "type": "array" }, "nextPageToken": { - "description": "A token to retrieve the next page of results. Pass to ListSkuGroupBillableSkus.page_token to obtain that page.", + "description": "A token to retrieve the next page of results. Pass to ListSkuGroupBillableSkusRequest.page_token to obtain that page.", "type": "string" } }, @@ -3558,7 +3672,7 @@ "id": "GoogleCloudChannelV1ListSkuGroupsResponse", "properties": { "nextPageToken": { - "description": "A token to retrieve the next page of results. Pass to ListSkuGroups.page_token to obtain that page.", + "description": "A token to retrieve the next page of results. Pass to ListSkuGroupsRequest.page_token to obtain that page.", "type": "string" }, "skuGroups": { @@ -4210,6 +4324,10 @@ "offer": { "$ref": "GoogleCloudChannelV1Offer", "description": "Offer." + }, + "priceReferenceId": { + "description": "Optional. Price reference ID for the offer. Optional field only for offers that require additional price information. Used to guarantee that the pricing is consistent between quoting the offer and placing the order.", + "type": "string" } }, "type": "object" @@ -4243,6 +4361,14 @@ "description": "Request Message for RegisterSubscriber.", "id": "GoogleCloudChannelV1RegisterSubscriberRequest", "properties": { + "account": { + "description": "Optional. Resource name of the account. Required if integrator is not provided. Otherwise, leave this field empty/unset.", + "type": "string" + }, + "integrator": { + "description": "Optional. Resource name of the integrator. Required if account is not provided. Otherwise, leave this field empty/unset.", + "type": "string" + }, "serviceAccount": { "description": "Required. Service account that provides subscriber access to the registered topic.", "type": "string" @@ -4774,6 +4900,10 @@ "offer": { "$ref": "GoogleCloudChannelV1Offer", "description": "Offer with parameter constraints updated to allow the Transfer." + }, + "priceReferenceId": { + "description": "Optional. Price reference ID for the offer. Optional field only for offers that require additional price information. Used to guarantee that the pricing is consistent between quoting the offer and placing the order.", + "type": "string" } }, "type": "object" @@ -4817,6 +4947,14 @@ "description": "Request Message for UnregisterSubscriber.", "id": "GoogleCloudChannelV1UnregisterSubscriberRequest", "properties": { + "account": { + "description": "Optional. Resource name of the account. Required if integrator is not provided. Otherwise, leave this field empty/unset.", + "type": "string" + }, + "integrator": { + "description": "Optional. Resource name of the integrator. Required if account is not provided. Otherwise, leave this field empty/unset.", + "type": "string" + }, "serviceAccount": { "description": "Required. Service account to unregister from subscriber access to the topic.", "type": "string" @@ -4904,7 +5042,7 @@ "type": "string" }, "eventType": { - "description": "Type of event performed on the Channel Partner.", + "description": "Type of event which happened for the channel partner.", "enum": [ "TYPE_UNSPECIFIED", "LINK_STATE_CHANGED", @@ -4990,7 +5128,7 @@ "type": "string" }, "eventType": { - "description": "Type of event which happened on the customer.", + "description": "Type of event which happened for the customer.", "enum": [ "TYPE_UNSPECIFIED", "PRIMARY_DOMAIN_CHANGED", @@ -5091,6 +5229,10 @@ }, "type": "array" }, + "priceReferenceId": { + "description": "Optional. Price reference ID for the offer. Optional field only for offers that require additional price information. Used to guarantee that the pricing is consistent between quoting the offer and placing the order. Not yet implemented: if this field is populated in a request, it isn't evaluated in the API.", + "type": "string" + }, "provisionedService": { "$ref": "GoogleCloudChannelV1alpha1ProvisionedService", "description": "Output only. Service provisioning details for the entitlement.", @@ -5176,7 +5318,7 @@ "type": "string" }, "eventType": { - "description": "Type of event which happened on the entitlement.", + "description": "Type of event which happened for the entitlement.", "enum": [ "TYPE_UNSPECIFIED", "CREATED", @@ -5257,6 +5399,31 @@ }, "type": "object" }, + "GoogleCloudChannelV1alpha1OpportunityEvent": { + "description": "Represents Pub/Sub message content describing opportunity updates.", + "id": "GoogleCloudChannelV1alpha1OpportunityEvent", + "properties": { + "eventType": { + "description": "Type of event which happened for the opportunity.", + "enum": [ + "TYPE_UNSPECIFIED", + "CREATED", + "UPDATED" + ], + "enumDescriptions": [ + "Not used.", + "New opportunity created.", + "Existing opportunity updated." + ], + "type": "string" + }, + "opportunity": { + "description": "Resource name of the opportunity. Format: opportunities/{opportunity}", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudChannelV1alpha1Parameter": { "description": "Definition for extended entitlement parameters.", "id": "GoogleCloudChannelV1alpha1Parameter", @@ -5526,6 +5693,10 @@ "entitlementEvent": { "$ref": "GoogleCloudChannelV1alpha1EntitlementEvent", "description": "Entitlement event sent as part of Pub/Sub event to partners." + }, + "opportunityEvent": { + "$ref": "GoogleCloudChannelV1alpha1OpportunityEvent", + "description": "Opportunity event sent as part of Pub/Sub event to partners/integrators." } }, "type": "object" @@ -5759,7 +5930,7 @@ "type": "object" }, "GoogleTypeDecimal": { - "description": "A representation of a decimal value, such as 2.5. Clients may convert values into language-native decimal formats, such as Java's BigDecimal or Python's decimal.Decimal. [BigDecimal]: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html [decimal.Decimal]: https://docs.python.org/3/library/decimal.html", + "description": "A representation of a decimal value, such as 2.5. Clients may convert values into language-native decimal formats, such as Java's [BigDecimal](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html) or Python's [decimal.Decimal](https://docs.python.org/3/library/decimal.html).", "id": "GoogleTypeDecimal", "properties": { "value": { @@ -5791,18 +5962,18 @@ "type": "object" }, "GoogleTypePostalAddress": { - "description": "Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478", + "description": "Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478", "id": "GoogleTypePostalAddress", "properties": { "addressLines": { - "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", + "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", "items": { "type": "string" }, "type": "array" }, "administrativeArea": { - "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.", + "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated.", "type": "string" }, "languageCode": { @@ -5818,7 +5989,7 @@ "type": "string" }, "postalCode": { - "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.).", + "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.).", "type": "string" }, "recipients": { @@ -5838,7 +6009,7 @@ "type": "integer" }, "sortingCode": { - "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (e.g. \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (e.g. Côte d'Ivoire).", + "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (For example \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (For example Côte d'Ivoire).", "type": "string" }, "sublocality": { @@ -5853,11 +6024,11 @@ "id": "GoogleTypeTimeZone", "properties": { "id": { - "description": "IANA Time Zone Database time zone, e.g. \"America/New_York\".", + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", "type": "string" }, "version": { - "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", "type": "string" } }, diff --git a/discovery/cloudcontrolspartner-v1.json b/discovery/cloudcontrolspartner-v1.json index b8f67bcb8e..0b6ed6ad03 100644 --- a/discovery/cloudcontrolspartner-v1.json +++ b/discovery/cloudcontrolspartner-v1.json @@ -138,6 +138,64 @@ "resources": { "customers": { "methods": { + "create": { + "description": "Creates a new customer.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/customers", + "httpMethod": "POST", + "id": "cloudcontrolspartner.organizations.locations.customers.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "customerId": { + "description": "Required. The customer id to use for the customer, which will become the final component of the customer's resource name. The specified value must be a valid Google cloud organization id.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent resource Format: `organizations/{organization}/locations/{location}`", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/customers", + "request": { + "$ref": "Customer" + }, + "response": { + "$ref": "Customer" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete details of a single customer", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/customers/{customersId}", + "httpMethod": "DELETE", + "id": "cloudcontrolspartner.organizations.locations.customers.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. name of the resource to be deleted format: name=organizations/*/locations/*/customers/*", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/customers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "get": { "description": "Gets details of a single customer", "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/customers/{customersId}", @@ -208,6 +266,40 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "patch": { + "description": "Update details of a single customer", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/customers/{customersId}", + "httpMethod": "PATCH", + "id": "cloudcontrolspartner.organizations.locations.customers.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. Format: `organizations/{organization}/locations/{location}/customers/{customer}`", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/customers/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The list of fields to update", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Customer" + }, + "response": { + "$ref": "Customer" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { @@ -484,7 +576,7 @@ } } }, - "revision": "20240904", + "revision": "20241231", "rootUrl": "https://cloudcontrolspartner.googleapis.com/", "schemas": { "AccessApprovalRequest": { @@ -609,6 +701,11 @@ "name": { "description": "Identifier. Format: `organizations/{organization}/locations/{location}/customers/{customer}`", "type": "string" + }, + "organizationDomain": { + "description": "Output only. The customer organization domain, extracted from CRM Organization’s display_name field. e.g. \"google.com\"", + "readOnly": true, + "type": "string" } }, "type": "object" @@ -746,18 +843,31 @@ "THALES", "VIRTRU" ], + "enumDeprecated": [ + false, + false, + false, + false, + true + ], "enumDescriptions": [ "Unspecified EKM solution", "EKM Partner Fortanix", "EKM Partner FutureX", "EKM Partner Thales", - "EKM Partner Virtu" + "This enum value is never used." ], "type": "string" } }, "type": "object" }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, "Gcloud": { "description": "Remediation instructions to resolve violation via gcloud cli", "id": "Gcloud", diff --git a/discovery/cloudcontrolspartner-v1beta.json b/discovery/cloudcontrolspartner-v1beta.json index eaf354817f..e1eea13b9d 100644 --- a/discovery/cloudcontrolspartner-v1beta.json +++ b/discovery/cloudcontrolspartner-v1beta.json @@ -138,6 +138,64 @@ "resources": { "customers": { "methods": { + "create": { + "description": "Creates a new customer.", + "flatPath": "v1beta/organizations/{organizationsId}/locations/{locationsId}/customers", + "httpMethod": "POST", + "id": "cloudcontrolspartner.organizations.locations.customers.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "customerId": { + "description": "Required. The customer id to use for the customer, which will become the final component of the customer's resource name. The specified value must be a valid Google cloud organization id.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent resource Format: `organizations/{organization}/locations/{location}`", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/customers", + "request": { + "$ref": "Customer" + }, + "response": { + "$ref": "Customer" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete details of a single customer", + "flatPath": "v1beta/organizations/{organizationsId}/locations/{locationsId}/customers/{customersId}", + "httpMethod": "DELETE", + "id": "cloudcontrolspartner.organizations.locations.customers.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. name of the resource to be deleted format: name=organizations/*/locations/*/customers/*", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/customers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "get": { "description": "Gets details of a single customer", "flatPath": "v1beta/organizations/{organizationsId}/locations/{locationsId}/customers/{customersId}", @@ -208,6 +266,40 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "patch": { + "description": "Update details of a single customer", + "flatPath": "v1beta/organizations/{organizationsId}/locations/{locationsId}/customers/{customersId}", + "httpMethod": "PATCH", + "id": "cloudcontrolspartner.organizations.locations.customers.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. Format: `organizations/{organization}/locations/{location}/customers/{customer}`", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/customers/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The list of fields to update", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "Customer" + }, + "response": { + "$ref": "Customer" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { @@ -484,7 +576,7 @@ } } }, - "revision": "20240904", + "revision": "20241231", "rootUrl": "https://cloudcontrolspartner.googleapis.com/", "schemas": { "AccessApprovalRequest": { @@ -609,6 +701,11 @@ "name": { "description": "Identifier. Format: `organizations/{organization}/locations/{location}/customers/{customer}`", "type": "string" + }, + "organizationDomain": { + "description": "Output only. The customer organization domain, extracted from CRM Organization’s display_name field. e.g. \"google.com\"", + "readOnly": true, + "type": "string" } }, "type": "object" @@ -746,18 +843,31 @@ "THALES", "VIRTRU" ], + "enumDeprecated": [ + false, + false, + false, + false, + true + ], "enumDescriptions": [ "Unspecified EKM solution", "EKM Partner Fortanix", "EKM Partner FutureX", "EKM Partner Thales", - "EKM Partner Virtu" + "This enum value is never used." ], "type": "string" } }, "type": "object" }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, "Gcloud": { "description": "Remediation instructions to resolve violation via gcloud cli", "id": "Gcloud", diff --git a/discovery/clouddeploy-v1.json b/discovery/clouddeploy-v1.json index ada8a0ad99..f371260e75 100644 --- a/discovery/clouddeploy-v1.json +++ b/discovery/clouddeploy-v1.json @@ -1865,7 +1865,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "clouddeploy.projects.locations.operations.cancel", @@ -2289,7 +2289,7 @@ } } }, - "revision": "20240929", + "revision": "20241204", "rootUrl": "https://clouddeploy.googleapis.com/", "schemas": { "AbandonReleaseRequest": { @@ -2442,6 +2442,27 @@ "properties": {}, "type": "object" }, + "AssociatedEntities": { + "description": "Information about entities associated with a `Target`.", + "id": "AssociatedEntities", + "properties": { + "anthosClusters": { + "description": "Optional. Information specifying Anthos clusters as associated entities.", + "items": { + "$ref": "AnthosCluster" + }, + "type": "array" + }, + "gkeClusters": { + "description": "Optional. Information specifying GKE clusters as associated entities.", + "items": { + "$ref": "GkeCluster" + }, + "type": "array" + } + }, + "type": "object" + }, "AuditConfig": { "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", "id": "AuditConfig", @@ -2673,6 +2694,10 @@ "repairRolloutRule": { "$ref": "RepairRolloutRule", "description": "Optional. The `RepairRolloutRule` will automatically repair a failed rollout." + }, + "timedPromoteReleaseRule": { + "$ref": "TimedPromoteReleaseRule", + "description": "Optional. The `TimedPromoteReleaseRule` will automatically promote a release from the current target(s) to the specified target(s) on a configured schedule." } }, "type": "object" @@ -2684,6 +2709,10 @@ "targetsPresentCondition": { "$ref": "TargetsPresentCondition", "description": "Optional. Details around targets enumerated in the rule." + }, + "timedPromoteReleaseCondition": { + "$ref": "TimedPromoteReleaseCondition", + "description": "Optional. TimedPromoteReleaseCondition contains rule conditions specific to a an Automation with a timed promote release rule defined." } }, "type": "object" @@ -2783,10 +2812,15 @@ "type": "string" }, "targetId": { - "description": "Output only. The ID of the target that represents the promotion stage that initiates the `AutomationRun`. The value of this field is the last segment of a target name.", + "description": "Output only. The ID of the source target that initiates the `AutomationRun`. The value of this field is the last segment of a target name.", "readOnly": true, "type": "string" }, + "timedPromoteReleaseOperation": { + "$ref": "TimedPromoteReleaseOperation", + "description": "Output only. Promotes a release to a specified 'Target' as defined in a Timed Promote Release rule.", + "readOnly": true + }, "updateTime": { "description": "Output only. Time at which the automationRun was updated.", "format": "google-datetime", @@ -3989,6 +4023,10 @@ "description": "Optional. The label to use when selecting Pods for the Deployment and Service resources. This label must already be present in both resources.", "type": "string" }, + "routeDestinations": { + "$ref": "RouteDestinations", + "description": "Optional. Route destinations allow configuring the Gateway API HTTPRoute to be deployed to additional clusters. This option is available for multi-cluster service mesh set ups that require the route to exist in the clusters that call the service. If unspecified, the HTTPRoute will only be deployed to the Target cluster." + }, "routeUpdateWaitTime": { "description": "Optional. The time to wait for route updates to propagate. The maximum configurable time is 3 hours, in seconds format. If unspecified, there is no wait time.", "format": "google-duration", @@ -4734,7 +4772,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -5290,7 +5328,7 @@ "type": "string" }, "skaffoldVersion": { - "description": "The Skaffold version to use when operating on this release, such as \"1.20.0\". Not all versions are valid; Cloud Deploy supports a specific set of versions. If unset, the most recent supported Skaffold version will be used.", + "description": "Optional. The Skaffold version to use when operating on this release, such as \"1.20.0\". Not all versions are valid; Cloud Deploy supports a specific set of versions. If unset, the most recent supported Skaffold version will be used.", "type": "string" }, "targetArtifacts": { @@ -6308,6 +6346,24 @@ }, "type": "object" }, + "RouteDestinations": { + "description": "Information about route destinations for the Gateway API service mesh.", + "id": "RouteDestinations", + "properties": { + "destinationIds": { + "description": "Required. The clusters where the Gateway API HTTPRoute resource will be deployed to. Valid entries include the associated entities IDs configured in the Target resource and \"@self\" to include the Target cluster.", + "items": { + "type": "string" + }, + "type": "array" + }, + "propagateService": { + "description": "Optional. Whether to propagate the Kubernetes Service to the route destination clusters. The Service will always be deployed to the Target cluster even if the HTTPRoute is not. This option may be used to facilitiate successful DNS lookup in the route destination clusters. Can only be set to true if destinations are specified.", + "type": "boolean" + } + }, + "type": "object" + }, "RuntimeConfig": { "description": "RuntimeConfig contains the runtime specific configurations for a deployment strategy.", "id": "RuntimeConfig", @@ -6622,6 +6678,13 @@ "$ref": "AnthosCluster", "description": "Optional. Information specifying an Anthos Cluster." }, + "associatedEntities": { + "additionalProperties": { + "$ref": "AssociatedEntities" + }, + "description": "Optional. Map of entity IDs to their associated entities. Associated entities allows specifying places other than the deployment target for specific features. For example, the Gateway API canary can be configured to deploy the HTTPRoute to a different cluster(s) than the deployment cluster using associated entities. An entity ID must consist of lower-case letters, numbers, and hyphens, start with a letter and end with a letter or a number, and have a max length of 63 characters. In other words, it must match the following regex: `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.", + "type": "object" + }, "createTime": { "description": "Output only. Time at which the `Target` was created.", "format": "google-datetime", @@ -6864,6 +6927,21 @@ }, "type": "object" }, + "Targets": { + "description": "The targets involved in a single timed promotion.", + "id": "Targets", + "properties": { + "destinationTargetId": { + "description": "Optional. The destination target ID.", + "type": "string" + }, + "sourceTargetId": { + "description": "Optional. The source target ID.", + "type": "string" + } + }, + "type": "object" + }, "TargetsPresentCondition": { "description": "`TargetsPresentCondition` contains information on any Targets referenced in the Delivery Pipeline that do not actually exist.", "id": "TargetsPresentCondition", @@ -6955,22 +7033,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } @@ -7002,6 +7080,81 @@ }, "type": "object" }, + "TimedPromoteReleaseCondition": { + "description": "`TimedPromoteReleaseCondition` contains conditions specific to an Automation with a Timed Promote Release rule defined.", + "id": "TimedPromoteReleaseCondition", + "properties": { + "nextPromotionTime": { + "description": "Output only. When the next scheduled promotion(s) will occur.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "targetsList": { + "description": "Output only. A list of targets involved in the upcoming timed promotion(s).", + "items": { + "$ref": "Targets" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "TimedPromoteReleaseOperation": { + "description": "Contains the information of an automated timed promote-release operation.", + "id": "TimedPromoteReleaseOperation", + "properties": { + "phase": { + "description": "Output only. The starting phase of the rollout created by this operation.", + "readOnly": true, + "type": "string" + }, + "release": { + "description": "Output only. The name of the release to be promoted.", + "readOnly": true, + "type": "string" + }, + "targetId": { + "description": "Output only. The ID of the target that represents the promotion stage to which the release will be promoted. The value of this field is the last segment of a target name.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "TimedPromoteReleaseRule": { + "description": "The `TimedPromoteReleaseRule` will automatically promote a release from the current target(s) to the specified target(s) on a configured schedule.", + "id": "TimedPromoteReleaseRule", + "properties": { + "condition": { + "$ref": "AutomationRuleCondition", + "description": "Output only. Information around the state of the Automation rule.", + "readOnly": true + }, + "destinationPhase": { + "description": "Optional. The starting phase of the rollout created by this rule. Default to the first phase.", + "type": "string" + }, + "destinationTargetId": { + "description": "Optional. The ID of the stage in the pipeline to which this `Release` is deploying. If unspecified, default it to the next stage in the promotion flow. The value of this field could be one of the following: * The last segment of a target name * \"@next\", the next target in the promotion sequence", + "type": "string" + }, + "id": { + "description": "Required. ID of the rule. This ID must be unique in the `Automation` resource to which this rule belongs. The format is `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.", + "type": "string" + }, + "schedule": { + "description": "Required. Schedule in crontab format. e.g. \"0 9 * * 1\" for every Monday at 9am.", + "type": "string" + }, + "timeZone": { + "description": "Required. The time zone in IANA format [IANA Time Zone Database](https://www.iana.org/time-zones) (e.g. America/New_York).", + "type": "string" + } + }, + "type": "object" + }, "VerifyJob": { "description": "A verify Job.", "id": "VerifyJob", diff --git a/discovery/cloudfunctions-v1.json b/discovery/cloudfunctions-v1.json index f3663d1a6b..9ddd3db3ec 100644 --- a/discovery/cloudfunctions-v1.json +++ b/discovery/cloudfunctions-v1.json @@ -552,7 +552,7 @@ } } }, - "revision": "20240905", + "revision": "20250102", "rootUrl": "https://cloudfunctions.googleapis.com/", "schemas": { "AuditConfig": { @@ -703,7 +703,8 @@ "type": "string" }, "dockerRegistry": { - "description": "Docker Registry to use for this deployment. If unspecified, it defaults to `ARTIFACT_REGISTRY`. If `docker_repository` field is specified, this field should either be left unspecified or set to `ARTIFACT_REGISTRY`.", + "deprecated": true, + "description": "Docker Registry to use for this deployment. Deprecated: Container Registry option will no longer be available after March 2025: https://cloud.google.com/artifact-registry/docs/transition/transition-from-gcr Please use Artifact Registry instead, which is the default choice. If unspecified, it defaults to `ARTIFACT_REGISTRY`. If `docker_repository` field is specified, this field should either be left unspecified or set to `ARTIFACT_REGISTRY`.", "enum": [ "DOCKER_REGISTRY_UNSPECIFIED", "CONTAINER_REGISTRY", diff --git a/discovery/cloudfunctions-v2.json b/discovery/cloudfunctions-v2.json index de44c572e7..7774bdb1ff 100644 --- a/discovery/cloudfunctions-v2.json +++ b/discovery/cloudfunctions-v2.json @@ -716,7 +716,7 @@ } } }, - "revision": "20240905", + "revision": "20241205", "rootUrl": "https://cloudfunctions.googleapis.com/", "schemas": { "AbortFunctionUpgradeRequest": { @@ -828,7 +828,7 @@ "type": "string" }, "dockerRepository": { - "description": "Repository in Artifact Registry to which the function docker image will be pushed after it is built by Cloud Build. If specified by user, it is created and managed by user with a customer managed encryption key. Otherwise, GCF will create and use a repository named 'gcf-artifacts' for every deployed region. It must match the pattern `projects/{project}/locations/{location}/repositories/{repository}`. Cross-project repositories are not supported. Cross-location repositories are not supported. Repository format must be 'DOCKER'.", + "description": "Repository in Artifact Registry to which the function docker image will be pushed after it is built by Cloud Build. If specified by user, it is created and managed by user with a customer managed encryption key. Otherwise, GCF will create and use a repository named 'gcf-artifacts' for every deployed region. It must match the pattern `projects/{project}/locations/{location}/repositories/{repository}`. Repository format must be 'DOCKER'.", "type": "string" }, "entryPoint": { @@ -1226,7 +1226,8 @@ "ROLLBACK_FUNCTION_UPGRADE_TRAFFIC", "SETUP_FUNCTION_UPGRADE_CONFIG", "ABORT_FUNCTION_UPGRADE", - "COMMIT_FUNCTION_UPGRADE" + "COMMIT_FUNCTION_UPGRADE", + "DETACH_FUNCTION" ], "enumDescriptions": [ "Unspecified", @@ -1237,7 +1238,8 @@ "RollbackFunctionUpgradeTraffic", "SetupFunctionUpgradeConfig", "AbortFunctionUpgrade", - "CommitFunctionUpgrade" + "CommitFunctionUpgrade", + "DetachFunction" ], "type": "string" }, @@ -2058,7 +2060,7 @@ "type": "object" }, "UpgradeInfo": { - "description": "Information related to: * A function's eligibility for 1st Gen to 2nd Gen migration * Current state of migration for function undergoing migration.", + "description": "Information related to: * A function's eligibility for 1st Gen to 2nd Gen migration and 2nd Gen to CRf detach. * Current state of migration for function undergoing migration/detach.", "id": "UpgradeInfo", "properties": { "buildConfig": { @@ -2085,7 +2087,8 @@ "REDIRECT_FUNCTION_UPGRADE_TRAFFIC_SUCCESSFUL", "REDIRECT_FUNCTION_UPGRADE_TRAFFIC_ERROR", "ROLLBACK_FUNCTION_UPGRADE_TRAFFIC_ERROR", - "COMMIT_FUNCTION_UPGRADE_ERROR" + "COMMIT_FUNCTION_UPGRADE_ERROR", + "DETACH_IN_PROGRESS" ], "enumDescriptions": [ "Unspecified state. Most functions are in this upgrade state.", @@ -2097,7 +2100,8 @@ "RedirectFunctionUpgradeTraffic API was successful and traffic is served by 2nd Gen function stack.", "RedirectFunctionUpgradeTraffic API was un-successful.", "RollbackFunctionUpgradeTraffic API was un-successful.", - "CommitFunctionUpgrade API was un-successful." + "CommitFunctionUpgrade API was un-successful.", + "Function is requested to be detached from 2nd Gen to CRf." ], "type": "string" } diff --git a/discovery/cloudfunctions-v2alpha.json b/discovery/cloudfunctions-v2alpha.json index 4fd5ac35b6..150996cee8 100644 --- a/discovery/cloudfunctions-v2alpha.json +++ b/discovery/cloudfunctions-v2alpha.json @@ -716,7 +716,7 @@ } } }, - "revision": "20240905", + "revision": "20241205", "rootUrl": "https://cloudfunctions.googleapis.com/", "schemas": { "AbortFunctionUpgradeRequest": { @@ -828,7 +828,7 @@ "type": "string" }, "dockerRepository": { - "description": "Repository in Artifact Registry to which the function docker image will be pushed after it is built by Cloud Build. If specified by user, it is created and managed by user with a customer managed encryption key. Otherwise, GCF will create and use a repository named 'gcf-artifacts' for every deployed region. It must match the pattern `projects/{project}/locations/{location}/repositories/{repository}`. Cross-project repositories are not supported. Cross-location repositories are not supported. Repository format must be 'DOCKER'.", + "description": "Repository in Artifact Registry to which the function docker image will be pushed after it is built by Cloud Build. If specified by user, it is created and managed by user with a customer managed encryption key. Otherwise, GCF will create and use a repository named 'gcf-artifacts' for every deployed region. It must match the pattern `projects/{project}/locations/{location}/repositories/{repository}`. Repository format must be 'DOCKER'.", "type": "string" }, "entryPoint": { @@ -1226,7 +1226,8 @@ "ROLLBACK_FUNCTION_UPGRADE_TRAFFIC", "SETUP_FUNCTION_UPGRADE_CONFIG", "ABORT_FUNCTION_UPGRADE", - "COMMIT_FUNCTION_UPGRADE" + "COMMIT_FUNCTION_UPGRADE", + "DETACH_FUNCTION" ], "enumDescriptions": [ "Unspecified", @@ -1237,7 +1238,8 @@ "RollbackFunctionUpgradeTraffic", "SetupFunctionUpgradeConfig", "AbortFunctionUpgrade", - "CommitFunctionUpgrade" + "CommitFunctionUpgrade", + "DetachFunction" ], "type": "string" }, @@ -2058,7 +2060,7 @@ "type": "object" }, "UpgradeInfo": { - "description": "Information related to: * A function's eligibility for 1st Gen to 2nd Gen migration * Current state of migration for function undergoing migration.", + "description": "Information related to: * A function's eligibility for 1st Gen to 2nd Gen migration and 2nd Gen to CRf detach. * Current state of migration for function undergoing migration/detach.", "id": "UpgradeInfo", "properties": { "buildConfig": { @@ -2085,7 +2087,8 @@ "REDIRECT_FUNCTION_UPGRADE_TRAFFIC_SUCCESSFUL", "REDIRECT_FUNCTION_UPGRADE_TRAFFIC_ERROR", "ROLLBACK_FUNCTION_UPGRADE_TRAFFIC_ERROR", - "COMMIT_FUNCTION_UPGRADE_ERROR" + "COMMIT_FUNCTION_UPGRADE_ERROR", + "DETACH_IN_PROGRESS" ], "enumDescriptions": [ "Unspecified state. Most functions are in this upgrade state.", @@ -2097,7 +2100,8 @@ "RedirectFunctionUpgradeTraffic API was successful and traffic is served by 2nd Gen function stack.", "RedirectFunctionUpgradeTraffic API was un-successful.", "RollbackFunctionUpgradeTraffic API was un-successful.", - "CommitFunctionUpgrade API was un-successful." + "CommitFunctionUpgrade API was un-successful.", + "Function is requested to be detached from 2nd Gen to CRf." ], "type": "string" } diff --git a/discovery/cloudfunctions-v2beta.json b/discovery/cloudfunctions-v2beta.json index ccdd06e508..bd6b0cf352 100644 --- a/discovery/cloudfunctions-v2beta.json +++ b/discovery/cloudfunctions-v2beta.json @@ -716,7 +716,7 @@ } } }, - "revision": "20240905", + "revision": "20241205", "rootUrl": "https://cloudfunctions.googleapis.com/", "schemas": { "AbortFunctionUpgradeRequest": { @@ -828,7 +828,7 @@ "type": "string" }, "dockerRepository": { - "description": "Repository in Artifact Registry to which the function docker image will be pushed after it is built by Cloud Build. If specified by user, it is created and managed by user with a customer managed encryption key. Otherwise, GCF will create and use a repository named 'gcf-artifacts' for every deployed region. It must match the pattern `projects/{project}/locations/{location}/repositories/{repository}`. Cross-project repositories are not supported. Cross-location repositories are not supported. Repository format must be 'DOCKER'.", + "description": "Repository in Artifact Registry to which the function docker image will be pushed after it is built by Cloud Build. If specified by user, it is created and managed by user with a customer managed encryption key. Otherwise, GCF will create and use a repository named 'gcf-artifacts' for every deployed region. It must match the pattern `projects/{project}/locations/{location}/repositories/{repository}`. Repository format must be 'DOCKER'.", "type": "string" }, "entryPoint": { @@ -1226,7 +1226,8 @@ "ROLLBACK_FUNCTION_UPGRADE_TRAFFIC", "SETUP_FUNCTION_UPGRADE_CONFIG", "ABORT_FUNCTION_UPGRADE", - "COMMIT_FUNCTION_UPGRADE" + "COMMIT_FUNCTION_UPGRADE", + "DETACH_FUNCTION" ], "enumDescriptions": [ "Unspecified", @@ -1237,7 +1238,8 @@ "RollbackFunctionUpgradeTraffic", "SetupFunctionUpgradeConfig", "AbortFunctionUpgrade", - "CommitFunctionUpgrade" + "CommitFunctionUpgrade", + "DetachFunction" ], "type": "string" }, @@ -2058,7 +2060,7 @@ "type": "object" }, "UpgradeInfo": { - "description": "Information related to: * A function's eligibility for 1st Gen to 2nd Gen migration * Current state of migration for function undergoing migration.", + "description": "Information related to: * A function's eligibility for 1st Gen to 2nd Gen migration and 2nd Gen to CRf detach. * Current state of migration for function undergoing migration/detach.", "id": "UpgradeInfo", "properties": { "buildConfig": { @@ -2085,7 +2087,8 @@ "REDIRECT_FUNCTION_UPGRADE_TRAFFIC_SUCCESSFUL", "REDIRECT_FUNCTION_UPGRADE_TRAFFIC_ERROR", "ROLLBACK_FUNCTION_UPGRADE_TRAFFIC_ERROR", - "COMMIT_FUNCTION_UPGRADE_ERROR" + "COMMIT_FUNCTION_UPGRADE_ERROR", + "DETACH_IN_PROGRESS" ], "enumDescriptions": [ "Unspecified state. Most functions are in this upgrade state.", @@ -2097,7 +2100,8 @@ "RedirectFunctionUpgradeTraffic API was successful and traffic is served by 2nd Gen function stack.", "RedirectFunctionUpgradeTraffic API was un-successful.", "RollbackFunctionUpgradeTraffic API was un-successful.", - "CommitFunctionUpgrade API was un-successful." + "CommitFunctionUpgrade API was un-successful.", + "Function is requested to be detached from 2nd Gen to CRf." ], "type": "string" } diff --git a/discovery/cloudidentity-v1.json b/discovery/cloudidentity-v1.json index 8f0943f734..de19a3bf60 100644 --- a/discovery/cloudidentity-v1.json +++ b/discovery/cloudidentity-v1.json @@ -17,6 +17,18 @@ "https://www.googleapis.com/auth/cloud-identity.groups.readonly": { "description": "See any Cloud Identity Groups that you can access, including group members and their emails" }, + "https://www.googleapis.com/auth/cloud-identity.inboundsso": { + "description": "See and edit all of the Inbound SSO profiles and their assignments to any Org Units or Google Groups in your Cloud Identity Organization." + }, + "https://www.googleapis.com/auth/cloud-identity.inboundsso.readonly": { + "description": "See all of the Inbound SSO profiles and their assignments to any Org Units or Google Groups in your Cloud Identity Organization." + }, + "https://www.googleapis.com/auth/cloud-identity.policies": { + "description": "See and edit policies in your Cloud Identity Organization." + }, + "https://www.googleapis.com/auth/cloud-identity.policies.readonly": { + "description": "See policies in your Cloud Identity Organization." + }, "https://www.googleapis.com/auth/cloud-platform": { "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } @@ -1481,7 +1493,7 @@ "type": "integer" }, "pageToken": { - "description": "The next_page_token value returned from a previous list request, if any", + "description": "The `next_page_token` value returned from a previous list request, if any", "location": "query", "type": "string" }, @@ -1524,7 +1536,7 @@ "type": "integer" }, "pageToken": { - "description": "The next_page_token value returned from a previous list request, if any.", + "description": "The `next_page_token` value returned from a previous list request, if any.", "location": "query", "type": "string" }, @@ -1536,7 +1548,7 @@ "type": "string" }, "query": { - "description": "Required. A CEL expression that MUST include member specification AND label(s). This is a `required` field. Users can search on label attributes of groups. CONTAINS match ('in') is supported on labels. Identity-mapped groups are uniquely identified by both a `member_key_id` and a `member_key_namespace`, which requires an additional query input: `member_key_namespace`. Example query: `member_key_id == 'member_key_id_value' && in labels` Query may optionally contain equality operators on the parent of the group restricting the search within a particular customer, e.g. `parent == 'customers/{customer_id}'`. The `customer_id` must begin with \"C\" (for example, 'C046psxkn'). This filtering is only supported for Admins with groups read permissons on the input customer. Example query: `member_key_id == 'member_key_id_value' && in labels && parent == 'customers/C046psxkn'`", + "description": "Required. A CEL expression that MUST include member specification AND label(s). This is a `required` field. Users can search on label attributes of groups. CONTAINS match ('in') is supported on labels. Identity-mapped groups are uniquely identified by both a `member_key_id` and a `member_key_namespace`, which requires an additional query input: `member_key_namespace`. Example query: `member_key_id == 'member_key_id_value' && in labels` Query may optionally contain equality operators on the parent of the group restricting the search within a particular customer, e.g. `parent == 'customers/{customer_id}'`. The `customer_id` must begin with \"C\" (for example, 'C046psxkn'). This filtering is only supported for Admins with groups read permissions on the input customer. Example query: `member_key_id == 'member_key_id_value' && in labels && parent == 'customers/C046psxkn'`", "location": "query", "type": "string" } @@ -1567,7 +1579,7 @@ "type": "integer" }, "pageToken": { - "description": "The next_page_token value returned from a previous list request, if any.", + "description": "The `next_page_token` value returned from a previous list request, if any.", "location": "query", "type": "string" }, @@ -1610,6 +1622,7 @@ "$ref": "Operation" }, "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -1635,6 +1648,7 @@ "$ref": "Operation" }, "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -1660,6 +1674,8 @@ "$ref": "InboundSamlSsoProfile" }, "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", + "https://www.googleapis.com/auth/cloud-identity.inboundsso.readonly", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -1692,6 +1708,8 @@ "$ref": "ListInboundSamlSsoProfilesResponse" }, "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", + "https://www.googleapis.com/auth/cloud-identity.inboundsso.readonly", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -1726,6 +1744,7 @@ "$ref": "Operation" }, "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", "https://www.googleapis.com/auth/cloud-platform" ] } @@ -1758,6 +1777,7 @@ "$ref": "Operation" }, "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -1783,6 +1803,7 @@ "$ref": "Operation" }, "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -1808,6 +1829,8 @@ "$ref": "IdpCredential" }, "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", + "https://www.googleapis.com/auth/cloud-identity.inboundsso.readonly", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -1844,6 +1867,8 @@ "$ref": "ListIdpCredentialsResponse" }, "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", + "https://www.googleapis.com/auth/cloud-identity.inboundsso.readonly", "https://www.googleapis.com/auth/cloud-platform" ] } @@ -1868,6 +1893,7 @@ "$ref": "Operation" }, "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -1893,6 +1919,7 @@ "$ref": "Operation" }, "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -1918,6 +1945,8 @@ "$ref": "InboundSsoAssignment" }, "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", + "https://www.googleapis.com/auth/cloud-identity.inboundsso.readonly", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -1950,6 +1979,8 @@ "$ref": "ListInboundSsoAssignmentsResponse" }, "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", + "https://www.googleapis.com/auth/cloud-identity.inboundsso.readonly", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -1984,13 +2015,77 @@ "$ref": "Operation" }, "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", "https://www.googleapis.com/auth/cloud-platform" ] } } + }, + "policies": { + "methods": { + "get": { + "description": "Get a Policy", + "flatPath": "v1/policies/{policiesId}", + "httpMethod": "GET", + "id": "cloudidentity.policies.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the policy to retrieve. Format: \"policies/{policy}\".", + "location": "path", + "pattern": "^policies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.policies", + "https://www.googleapis.com/auth/cloud-identity.policies.readonly" + ] + }, + "list": { + "description": "List Policies", + "flatPath": "v1/policies", + "httpMethod": "GET", + "id": "cloudidentity.policies.list", + "parameterOrder": [], + "parameters": { + "filter": { + "description": "Optional. A CEL expression for filtering the results. Policies can be filtered by application with this expression: setting.name = 'settings/gmail.*' Policies can be filtered by setting type with this expression: setting.name = '*.service_status' A maximum of one of the above setting.name clauses can be used. Policies can be filtered by customer with this expression: customer = \"customers/{customer}\" Where `customer` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may use `customers/my_customer` to specify your own organization. When no customer is mentioned it will be default to customers/my_customer. A maximum of one customer clause can be used. The above clauses can only be combined together in a single filter expression with the `&&` operator.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of results to return. The service can return fewer than this number. If omitted or set to 0, the default is 50 results per page. The maximum allowed value is 100. `page_size` values greater than 100 default to 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The pagination token received from a prior call to PoliciesService.ListPolicies to retrieve the next page of results. When paginating, all other parameters provided to `ListPoliciesRequest` must match the call that provided the page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/policies", + "response": { + "$ref": "ListPoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.policies", + "https://www.googleapis.com/auth/cloud-identity.policies.readonly" + ] + } + } } }, - "revision": "20240924", + "revision": "20241208", "rootUrl": "https://cloudidentity.googleapis.com/", "schemas": { "AddIdpCredentialOperationMetadata": { @@ -2913,7 +3008,7 @@ "type": "string" }, "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}`, where device is the unique id assigned to the Device.", + "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}`, where device is the unique id assigned to the Device. Important: Device API scopes require that you use domain-wide delegation to access the API. For more information, see [Set up the Devices API](https://cloud.google.com/identity/docs/how-to/setup-devices).", "readOnly": true, "type": "string" }, @@ -3581,6 +3676,24 @@ }, "type": "object" }, + "ListPoliciesResponse": { + "description": "The response message for PoliciesService.ListPolicies.", + "id": "ListPoliciesResponse", + "properties": { + "nextPageToken": { + "description": "The pagination token to retrieve the next page of results. If this field is empty, there are no subsequent pages.", + "type": "string" + }, + "policies": { + "description": "The results", + "items": { + "$ref": "Policy" + }, + "type": "array" + } + }, + "type": "object" + }, "ListUserInvitationsResponse": { "description": "Response message for UserInvitation listing request.", "id": "ListUserInvitationsResponse", @@ -3761,7 +3874,7 @@ "id": "MembershipAdjacencyList", "properties": { "edges": { - "description": "Each edge contains information about the member that belongs to this group. Note: Fields returned here will help identify the specific Membership resource (e.g name, preferred_member_key and role), but may not be a comprehensive list of all fields.", + "description": "Each edge contains information about the member that belongs to this group. Note: Fields returned here will help identify the specific Membership resource (e.g `name`, `preferred_member_key` and `role`), but may not be a comprehensive list of all fields.", "items": { "$ref": "Membership" }, @@ -3934,6 +4047,70 @@ }, "type": "object" }, + "Policy": { + "description": "A Policy resource binds an instance of a single Setting with the scope of a PolicyQuery. The Setting instance will be applied to all entities that satisfy the query.", + "id": "Policy", + "properties": { + "customer": { + "description": "Immutable. Customer that the Policy belongs to. The value is in the format 'customers/{customerId}'. The `customerId` must begin with \"C\" To find your customer ID in Admin Console see https://support.google.com/a/answer/10070793.", + "type": "string" + }, + "name": { + "description": "Output only. Identifier. The [resource name](https://cloud.google.com/apis/design/resource_names) of the Policy. Format: policies/{policy}.", + "readOnly": true, + "type": "string" + }, + "policyQuery": { + "$ref": "PolicyQuery", + "description": "Required. The PolicyQuery the Setting applies to." + }, + "setting": { + "$ref": "Setting", + "description": "Required. The Setting configured by this Policy." + }, + "type": { + "description": "Output only. The type of the policy.", + "enum": [ + "POLICY_TYPE_UNSPECIFIED", + "SYSTEM", + "ADMIN" + ], + "enumDescriptions": [ + "Unspecified policy type.", + "Policy type denoting the system-configured policies.", + "Policy type denoting the admin-configurable policies." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "PolicyQuery": { + "description": "PolicyQuery", + "id": "PolicyQuery", + "properties": { + "group": { + "description": "Immutable. The group that the query applies to. This field is only set if there is a single value for group that satisfies all clauses of the query. If no group applies, this will be the empty string.", + "type": "string" + }, + "orgUnit": { + "description": "Required. Immutable. Non-empty default. The OrgUnit the query applies to. This field is only set if there is a single value for org_unit that satisfies all clauses of the query.", + "type": "string" + }, + "query": { + "description": "Immutable. The CEL query that defines which entities the Policy applies to (ex. a User entity). For details about CEL see https://opensource.google.com/projects/cel. The OrgUnits the Policy applies to are represented by a clause like so: entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('{orgUnitId}')) The Group the Policy applies to are represented by a clause like so: entity.groups.exists(group, group.group_id == groupId('{groupId}')) The Licenses the Policy applies to are represented by a clause like so: entity.licenses.exists(license, license in ['/product/{productId}/sku/{skuId}']) The above clauses can be present in any combination, and used in conjunction with the &&, || and ! operators. The org_unit and group fields below are helper fields that contain the corresponding value(s) as the query to make the query easier to use.", + "type": "string" + }, + "sortOrder": { + "description": "Output only. The decimal sort order of this PolicyQuery. The value is relative to all other policies with the same setting type for the customer. (There are no duplicates within this set).", + "format": "double", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, "RestrictionEvaluation": { "description": "The evaluated state of this restriction.", "id": "RestrictionEvaluation", @@ -4128,6 +4305,25 @@ "properties": {}, "type": "object" }, + "Setting": { + "description": "Setting", + "id": "Setting", + "properties": { + "type": { + "description": "Required. Immutable. The type of the Setting. .", + "type": "string" + }, + "value": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Required. The value of the Setting.", + "type": "object" + } + }, + "type": "object" + }, "SignInBehavior": { "description": "Controls sign-in behavior.", "id": "SignInBehavior", diff --git a/discovery/cloudidentity-v1beta1.json b/discovery/cloudidentity-v1beta1.json index b7592661d4..b25fe3c3f3 100644 --- a/discovery/cloudidentity-v1beta1.json +++ b/discovery/cloudidentity-v1beta1.json @@ -17,6 +17,18 @@ "https://www.googleapis.com/auth/cloud-identity.groups.readonly": { "description": "See any Cloud Identity Groups that you can access, including group members and their emails" }, + "https://www.googleapis.com/auth/cloud-identity.inboundsso": { + "description": "See and edit all of the Inbound SSO profiles and their assignments to any Org Units or Google Groups in your Cloud Identity Organization." + }, + "https://www.googleapis.com/auth/cloud-identity.inboundsso.readonly": { + "description": "See all of the Inbound SSO profiles and their assignments to any Org Units or Google Groups in your Cloud Identity Organization." + }, + "https://www.googleapis.com/auth/cloud-identity.policies": { + "description": "See and edit policies in your Cloud Identity Organization." + }, + "https://www.googleapis.com/auth/cloud-identity.policies.readonly": { + "description": "See policies in your Cloud Identity Organization." + }, "https://www.googleapis.com/auth/cloud-platform": { "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." } @@ -1270,7 +1282,7 @@ ], "parameters": { "parent": { - "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the group to search transitive memberships in. Format: `groups/{group_id}`, where `group_id` is the unique ID assigned to the Group to which the Membership belongs to. group_id can be a wildcard collection id \"-\". When a group_id is specified, the membership graph will be constrained to paths between the member (defined in the query) and the parent. If a wildcard collection is provided, all membership paths connected to the member will be returned.", + "description": "Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the group to search transitive memberships in. Format: `groups/{group_id}`, where `group_id` is the unique ID assigned to the Group to which the Membership belongs to. group_id can be a wildcard collection id \"-\". When `group_id` is specified, the membership graph will be constrained to paths between the member (defined in the query) and the parent. If a wildcard collection is provided, all membership paths connected to the member will be returned.", "location": "path", "pattern": "^groups/[^/]+$", "required": true, @@ -1430,7 +1442,7 @@ "type": "integer" }, "pageToken": { - "description": "The next_page_token value returned from a previous list request, if any", + "description": "The next_page_token value returned from a previous list request, if any.", "location": "query", "type": "string" }, @@ -1473,7 +1485,7 @@ "type": "integer" }, "pageToken": { - "description": "The next_page_token value returned from a previous list request, if any.", + "description": "The `next_page_token` value returned from a previous list request, if any.", "location": "query", "type": "string" }, @@ -1485,7 +1497,7 @@ "type": "string" }, "query": { - "description": "Required. A CEL expression that MUST include member specification AND label(s). This is a `required` field. Users can search on label attributes of groups. CONTAINS match ('in') is supported on labels. Identity-mapped groups are uniquely identified by both a `member_key_id` and a `member_key_namespace`, which requires an additional query input: `member_key_namespace`. Example query: `member_key_id == 'member_key_id_value' && in labels` Query may optionally contain equality operators on the parent of the group restricting the search within a particular customer, e.g. `parent == 'customers/{customer_id}'`. The `customer_id` must begin with \"C\" (for example, 'C046psxkn'). This filtering is only supported for Admins with groups read permissons on the input customer. Example query: `member_key_id == 'member_key_id_value' && in labels && parent == 'customers/C046psxkn'`", + "description": "Required. A CEL expression that MUST include member specification AND label(s). This is a `required` field. Users can search on label attributes of groups. CONTAINS match ('in') is supported on labels. Identity-mapped groups are uniquely identified by both a `member_key_id` and a `member_key_namespace`, which requires an additional query input: `member_key_namespace`. Example query: `member_key_id == 'member_key_id_value' && in labels` Query may optionally contain equality operators on the parent of the group restricting the search within a particular customer, e.g. `parent == 'customers/{customer_id}'`. The `customer_id` must begin with \"C\" (for example, 'C046psxkn'). This filtering is only supported for Admins with groups read permissions on the input customer. Example query: `member_key_id == 'member_key_id_value' && in labels && parent == 'customers/C046psxkn'`", "location": "query", "type": "string" } @@ -1559,6 +1571,7 @@ "$ref": "Operation" }, "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -1584,6 +1597,7 @@ "$ref": "Operation" }, "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -1609,6 +1623,8 @@ "$ref": "InboundSamlSsoProfile" }, "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", + "https://www.googleapis.com/auth/cloud-identity.inboundsso.readonly", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -1641,6 +1657,8 @@ "$ref": "ListInboundSamlSsoProfilesResponse" }, "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", + "https://www.googleapis.com/auth/cloud-identity.inboundsso.readonly", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -1675,6 +1693,7 @@ "$ref": "Operation" }, "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", "https://www.googleapis.com/auth/cloud-platform" ] } @@ -1707,6 +1726,7 @@ "$ref": "Operation" }, "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -1732,6 +1752,7 @@ "$ref": "Operation" }, "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -1757,6 +1778,8 @@ "$ref": "IdpCredential" }, "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", + "https://www.googleapis.com/auth/cloud-identity.inboundsso.readonly", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -1793,6 +1816,8 @@ "$ref": "ListIdpCredentialsResponse" }, "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", + "https://www.googleapis.com/auth/cloud-identity.inboundsso.readonly", "https://www.googleapis.com/auth/cloud-platform" ] } @@ -1817,6 +1842,7 @@ "$ref": "Operation" }, "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -1842,6 +1868,7 @@ "$ref": "Operation" }, "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -1867,6 +1894,8 @@ "$ref": "InboundSsoAssignment" }, "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", + "https://www.googleapis.com/auth/cloud-identity.inboundsso.readonly", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -1899,6 +1928,8 @@ "$ref": "ListInboundSsoAssignmentsResponse" }, "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", + "https://www.googleapis.com/auth/cloud-identity.inboundsso.readonly", "https://www.googleapis.com/auth/cloud-platform" ] }, @@ -1933,6 +1964,7 @@ "$ref": "Operation" }, "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.inboundsso", "https://www.googleapis.com/auth/cloud-platform" ] } @@ -2013,9 +2045,72 @@ } } } + }, + "policies": { + "methods": { + "get": { + "description": "Get a Policy", + "flatPath": "v1beta1/policies/{policiesId}", + "httpMethod": "GET", + "id": "cloudidentity.policies.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the policy to retrieve. Format: \"policies/{policy}\".", + "location": "path", + "pattern": "^policies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.policies", + "https://www.googleapis.com/auth/cloud-identity.policies.readonly" + ] + }, + "list": { + "description": "List Policies", + "flatPath": "v1beta1/policies", + "httpMethod": "GET", + "id": "cloudidentity.policies.list", + "parameterOrder": [], + "parameters": { + "filter": { + "description": "Optional. A CEL expression for filtering the results. Policies can be filtered by application with this expression: setting.name = 'settings/gmail.*' Policies can be filtered by setting type with this expression: setting.name = '*.service_status' A maximum of one of the above setting.name clauses can be used. Policies can be filtered by customer with this expression: customer = \"customers/{customer}\" Where `customer` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may use `customers/my_customer` to specify your own organization. When no customer is mentioned it will be default to customers/my_customer. A maximum of one customer clause can be used. The above clauses can only be combined together in a single filter expression with the `&&` operator.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of results to return. The service can return fewer than this number. If omitted or set to 0, the default is 50 results per page. The maximum allowed value is 100. `page_size` values greater than 100 default to 100.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The pagination token received from a prior call to PoliciesService.ListPolicies to retrieve the next page of results. When paginating, all other parameters provided to `ListPoliciesRequest` must match the call that provided the page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/policies", + "response": { + "$ref": "ListPoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-identity.policies", + "https://www.googleapis.com/auth/cloud-identity.policies.readonly" + ] + } + } } }, - "revision": "20241001", + "revision": "20250107", "rootUrl": "https://cloudidentity.googleapis.com/", "schemas": { "AddIdpCredentialOperationMetadata": { @@ -2578,7 +2673,7 @@ "type": "object" }, "Device": { - "description": "A Device within the Cloud Identity Devices API. Represents a Device known to Google Cloud, independent of the device ownership, type, and whether it is assigned or in use by a user.", + "description": "A Device within the Cloud Identity Devices API. Represents a Device known to Google Cloud, independent of the device ownership, type, and whether it is assigned or in use by a user. Important: Device API scopes require that you use domain-wide delegation to access the API. For more information, see [Set up the Devices API](https://cloud.google.com/identity/docs/how-to/setup-devices).", "id": "Device", "properties": { "androidSpecificAttributes": { @@ -3734,7 +3829,7 @@ "type": "string" }, "name": { - "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}`, where device is the unique id assigned to the Device.", + "description": "Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device}`, where device is the unique id assigned to the Device. Important: Device API scopes require that you use domain-wide delegation to access the API. For more information, see [Set up the Devices API](https://cloud.google.com/identity/docs/how-to/setup-devices).", "readOnly": true, "type": "string" }, @@ -4020,7 +4115,7 @@ "additionalProperties": { "type": "string" }, - "description": "Required. One or more label entries that apply to the Group. Currently supported labels contain a key with an empty value. Google Groups are the default type of group and have a label with a key of `cloudidentity.googleapis.com/groups.discussion_forum` and an empty value. Existing Google Groups can have an additional label with a key of `cloudidentity.googleapis.com/groups.security` and an empty value added to them. **This is an immutable change and the security label cannot be removed once added.** Dynamic groups have a label with a key of `cloudidentity.googleapis.com/groups.dynamic`. Identity-mapped groups for Cloud Search have a label with a key of `system/groups/external` and an empty value.", + "description": "Required. One or more label entries that apply to the Group. Labels contain a key with an empty value. Google Groups are the default type of group and have a label with a key of `cloudidentity.googleapis.com/groups.discussion_forum` and an empty value. Existing Google Groups can have an additional label with a key of `cloudidentity.googleapis.com/groups.security` and an empty value added to them. **This is an immutable change and the security label cannot be removed once added.** Dynamic groups have a label with a key of `cloudidentity.googleapis.com/groups.dynamic`. Identity-mapped groups for Cloud Search have a label with a key of `system/groups/external` and an empty value. (Beta) Google Groups can be [locked](https://support.google.com/a?p=locked-groups). To lock a group, add a label with a key of `cloudidentity.googleapis.com/groups.locked` and an empty value. Doing so locks the group. To unlock the group, remove this label.", "type": "object" }, "name": { @@ -4379,6 +4474,24 @@ }, "type": "object" }, + "ListPoliciesResponse": { + "description": "The response message for PoliciesService.ListPolicies.", + "id": "ListPoliciesResponse", + "properties": { + "nextPageToken": { + "description": "The pagination token to retrieve the next page of results. If this field is empty, there are no subsequent pages.", + "type": "string" + }, + "policies": { + "description": "The results", + "items": { + "$ref": "Policy" + }, + "type": "array" + } + }, + "type": "object" + }, "ListUserInvitationsResponse": { "description": "Response message for UserInvitation listing request.", "id": "ListUserInvitationsResponse", @@ -4586,7 +4699,7 @@ "id": "MembershipAdjacencyList", "properties": { "edges": { - "description": "Each edge contains information about the member that belongs to this group. Note: Fields returned here will help identify the specific Membership resource (e.g name, preferred_member_key and role), but may not be a comprehensive list of all fields.", + "description": "Each edge contains information about the member that belongs to this group. Note: Fields returned here will help identify the specific Membership resource (e.g `name`, `preferred_member_key` and `role`), but may not be a comprehensive list of all fields.", "items": { "$ref": "Membership" }, @@ -4805,6 +4918,70 @@ }, "type": "object" }, + "Policy": { + "description": "A Policy resource binds an instance of a single Setting with the scope of a PolicyQuery. The Setting instance will be applied to all entities that satisfy the query.", + "id": "Policy", + "properties": { + "customer": { + "description": "Immutable. Customer that the Policy belongs to. The value is in the format 'customers/{customerId}'. The `customerId` must begin with \"C\" To find your customer ID in Admin Console see https://support.google.com/a/answer/10070793.", + "type": "string" + }, + "name": { + "description": "Output only. Identifier. The [resource name](https://cloud.google.com/apis/design/resource_names) of the Policy. Format: policies/{policy}.", + "readOnly": true, + "type": "string" + }, + "policyQuery": { + "$ref": "PolicyQuery", + "description": "Required. The PolicyQuery the Setting applies to." + }, + "setting": { + "$ref": "Setting", + "description": "Required. The Setting configured by this Policy." + }, + "type": { + "description": "Output only. The type of the policy.", + "enum": [ + "POLICY_TYPE_UNSPECIFIED", + "SYSTEM", + "ADMIN" + ], + "enumDescriptions": [ + "Unspecified policy type.", + "Policy type denoting the system-configured policies.", + "Policy type denoting the admin-configurable policies." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "PolicyQuery": { + "description": "PolicyQuery", + "id": "PolicyQuery", + "properties": { + "group": { + "description": "Immutable. The group that the query applies to. This field is only set if there is a single value for group that satisfies all clauses of the query. If no group applies, this will be the empty string.", + "type": "string" + }, + "orgUnit": { + "description": "Required. Immutable. Non-empty default. The OrgUnit the query applies to. This field is only set if there is a single value for org_unit that satisfies all clauses of the query.", + "type": "string" + }, + "query": { + "description": "Immutable. The CEL query that defines which entities the Policy applies to (ex. a User entity). For details about CEL see https://opensource.google.com/projects/cel. The OrgUnits the Policy applies to are represented by a clause like so: entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('{orgUnitId}')) The Group the Policy applies to are represented by a clause like so: entity.groups.exists(group, group.group_id == groupId('{groupId}')) The Licenses the Policy applies to are represented by a clause like so: entity.licenses.exists(license, license in ['/product/{productId}/sku/{skuId}']) The above clauses can be present in any combination, and used in conjunction with the &&, || and ! operators. The org_unit and group fields below are helper fields that contain the corresponding value(s) as the query to make the query easier to use.", + "type": "string" + }, + "sortOrder": { + "description": "Output only. The decimal sort order of this PolicyQuery. The value is relative to all other policies with the same setting type for the customer. (There are no duplicates within this set).", + "format": "double", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, "PosixGroup": { "description": "POSIX Group definition to represent a group in a POSIX compliant system. Caution: POSIX groups are deprecated. As of September 26, 2024, you can no longer create new POSIX groups. For more information, see https://cloud.google.com/identity/docs/deprecations/posix-groups", "id": "PosixGroup", @@ -5019,6 +5196,25 @@ "properties": {}, "type": "object" }, + "Setting": { + "description": "Setting", + "id": "Setting", + "properties": { + "type": { + "description": "Required. Immutable. The type of the Setting. .", + "type": "string" + }, + "value": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Required. The value of the Setting.", + "type": "object" + } + }, + "type": "object" + }, "SignInBehavior": { "description": "Controls sign-in behavior.", "id": "SignInBehavior", diff --git a/discovery/cloudkms-v1.json b/discovery/cloudkms-v1.json index 607e018742..3b1cd380a9 100644 --- a/discovery/cloudkms-v1.json +++ b/discovery/cloudkms-v1.json @@ -2132,7 +2132,7 @@ } } }, - "revision": "20240926", + "revision": "20241111", "rootUrl": "https://cloudkms.googleapis.com/", "schemas": { "AsymmetricDecryptRequest": { @@ -3760,7 +3760,7 @@ "type": "string" }, "macCrc32c": { - "description": "Optional. An optional CRC32C checksum of the MacVerifyRequest.mac. If specified, KeyManagementService will verify the integrity of the received MacVerifyRequest.mac using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(MacVerifyRequest.tag) is equal to MacVerifyRequest.mac_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", + "description": "Optional. An optional CRC32C checksum of the MacVerifyRequest.mac. If specified, KeyManagementService will verify the integrity of the received MacVerifyRequest.mac using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(MacVerifyRequest.mac) is equal to MacVerifyRequest.mac_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type.", "format": "int64", "type": "string" } diff --git a/discovery/cloudscheduler-v1.json b/discovery/cloudscheduler-v1.json index 9fdcc84372..806b13083f 100644 --- a/discovery/cloudscheduler-v1.json +++ b/discovery/cloudscheduler-v1.json @@ -108,7 +108,7 @@ "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`.", + "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": "cloudscheduler.operations.cancel", @@ -384,7 +384,7 @@ "type": "integer" }, "pageToken": { - "description": "A token identifying a page of results the server will return. To request the first page results, page_token must be empty. To request the next page of results, page_token must be the value of next_page_token returned from the previous call to ListJobs. It is an error to switch the value of filter or order_by while iterating through pages.", + "description": "A token identifying a page of results the server will return. To request the first page results, page_token must be empty. To request the next page of results, page_token must be the value of next_page_token returned from the previous call to ListJobs.", "location": "query", "type": "string" }, @@ -529,7 +529,7 @@ } } }, - "revision": "20240917", + "revision": "20241203", "rootUrl": "https://cloudscheduler.googleapis.com/", "schemas": { "AppEngineHttpTarget": { @@ -922,7 +922,7 @@ "type": "string" }, "cancelRequested": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, diff --git a/discovery/cloudscheduler-v1beta1.json b/discovery/cloudscheduler-v1beta1.json index a3d0e03a87..9687233541 100644 --- a/discovery/cloudscheduler-v1beta1.json +++ b/discovery/cloudscheduler-v1beta1.json @@ -433,7 +433,7 @@ } } }, - "revision": "20240917", + "revision": "20241113", "rootUrl": "https://cloudscheduler.googleapis.com/", "schemas": { "AppEngineHttpTarget": { @@ -771,7 +771,7 @@ "type": "string" }, "cancelRequested": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, diff --git a/discovery/cloudsearch-v1.json b/discovery/cloudsearch-v1.json index 42733e7173..9a4714da98 100644 --- a/discovery/cloudsearch-v1.json +++ b/discovery/cloudsearch-v1.json @@ -2115,7 +2115,7 @@ } } }, - "revision": "20240529", + "revision": "20241113", "rootUrl": "https://cloudsearch.googleapis.com/", "schemas": { "Action": { @@ -7042,68 +7042,6 @@ }, "type": "object" }, - "RewrittenQueries": { - "description": "The rewritten queries returned by Apps Search Query Understanding service.", - "id": "RewrittenQueries", - "properties": { - "rewrittenQueries": { - "items": { - "$ref": "RewrittenQuery" - }, - "type": "array" - }, - "selectedQueryIndex": { - "description": "The index of the selected query in `rewritten_queries` that is used by QAPI to call CSSR to get search results. If none of the queries were used (i.e. they all give empty search results), `selected_query_index` would default to -1.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "RewrittenQuery": { - "id": "RewrittenQuery", - "properties": { - "rewrittenQuery": { - "type": "string" - }, - "score": { - "format": "double", - "type": "number" - }, - "sortBy": { - "enum": [ - "SORTBY_UNSUPPORTED", - "SORTBY_RELEVANCY", - "SORTBY_LATEST", - "SORTBY_OLDEST", - "SORTBY_LARGEST", - "SORTBY_SMALLEST", - "SORTBY_MODIFY_LATEST", - "SORTBY_MODIFY_OLDEST", - "SORTBY_VIEW_LATEST", - "SORTBY_VIEW_OLDEST", - "SORTBY_CREATE_LATEST", - "SORTBY_CREATE_OLDEST" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, "SafeHtmlProto": { "description": "IMPORTANT: It is unsafe to accept this message from an untrusted source, since it's trivial for an attacker to forge serialized messages that don't fulfill the type's safety contract -- for example, it could contain attacker controlled script. A system which receives a SafeHtmlProto implicitly trusts the producer of the SafeHtmlProto. So, it's generally safe to return this message in RPC responses, but generally unsafe to accept it in RPC requests.", "id": "SafeHtmlProto", @@ -7330,7 +7268,7 @@ "type": "object" }, "SearchRequest": { - "description": "The search API request.", + "description": "The search API request. NEXT ID: 17", "id": "SearchRequest", "properties": { "contextAttributes": { @@ -7383,7 +7321,7 @@ "type": "object" }, "SearchResponse": { - "description": "The search API response.", + "description": "The search API response. NEXT ID: 17", "id": "SearchResponse", "properties": { "debugInfo": { diff --git a/discovery/cloudshell-v1.json b/discovery/cloudshell-v1.json index f2747347ed..e65fdd1fbb 100644 --- a/discovery/cloudshell-v1.json +++ b/discovery/cloudshell-v1.json @@ -108,7 +108,7 @@ "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`.", + "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": "cloudshell.operations.cancel", @@ -374,7 +374,7 @@ } } }, - "revision": "20230807", + "revision": "20241118", "rootUrl": "https://cloudshell.googleapis.com/", "schemas": { "AddPublicKeyMetadata": { diff --git a/discovery/cloudsupport-v2.json b/discovery/cloudsupport-v2.json index 2240d98d82..bede63c909 100644 --- a/discovery/cloudsupport-v2.json +++ b/discovery/cloudsupport-v2.json @@ -382,7 +382,7 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of attachments fetched with each request. If not provided, the default is 10. The maximum page size that will be returned is 100.", + "description": "The maximum number of attachments fetched with each request. If not provided, the default is 10. The maximum page size that will be returned is 100. The size of each page can be smaller than the requested page size and can include zero. For example, you could request 100 attachments on one page, receive 0, and then on the next page, receive 90.", "format": "int32", "location": "query", "type": "integer" @@ -552,7 +552,7 @@ } } }, - "revision": "20240430", + "revision": "20241231", "rootUrl": "https://cloudsupport.googleapis.com/", "schemas": { "Actor": { diff --git a/discovery/cloudsupport-v2beta.json b/discovery/cloudsupport-v2beta.json index 7e6a21aac0..5d17175d89 100644 --- a/discovery/cloudsupport-v2beta.json +++ b/discovery/cloudsupport-v2beta.json @@ -449,7 +449,7 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of attachments fetched with each request. If not provided, the default is 10. The maximum page size that will be returned is 100.", + "description": "The maximum number of attachments fetched with each request. If not provided, the default is 10. The maximum page size that will be returned is 100. The size of each page can be smaller than the requested page size and can include zero. For example, you could request 100 attachments on one page, receive 0, and then on the next page, receive 90.", "format": "int32", "location": "query", "type": "integer" @@ -619,7 +619,7 @@ } } }, - "revision": "20240430", + "revision": "20241231", "rootUrl": "https://cloudsupport.googleapis.com/", "schemas": { "Actor": { diff --git a/discovery/cloudtasks-v2.json b/discovery/cloudtasks-v2.json index 416a1a7c86..120aaa69b9 100644 --- a/discovery/cloudtasks-v2.json +++ b/discovery/cloudtasks-v2.json @@ -743,7 +743,7 @@ ] }, "run": { - "description": "Forces a task to run now. When this method is called, Cloud Tasks will dispatch the task, even if the task is already running, the queue has reached its RateLimits or is PAUSED. This command is meant to be used for manual debugging. For example, RunTask can be used to retry a failed task after a fix has been made or to manually force a task to be dispatched now. The dispatched task is returned. That is, the task that is returned contains the status after the task is dispatched but before the task is received by its target. If Cloud Tasks receives a successful response from the task's target, then the task will be deleted; otherwise the task's schedule_time will be reset to the time that RunTask was called plus the retry delay specified in the queue's RetryConfig. RunTask returns NOT_FOUND when it is called on a task that has already succeeded or permanently failed.", + "description": "Forces a task to run now. When this method is called, Cloud Tasks will dispatch the task, even if the task is already running, the queue has reached its RateLimits or is PAUSED. This command is meant to be used for manual debugging. For example, RunTask can be used to retry a failed task after a fix has been made or to manually force a task to be dispatched now. If Cloud Tasks receives a successful response from the task's target, then the task will be deleted; otherwise the task's schedule_time will be reset to the time that RunTask was called plus the retry delay specified in the queue's RetryConfig. RunTask returns NOT_FOUND when it is called on a task that has already succeeded or permanently failed.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/queues/{queuesId}/tasks/{tasksId}:run", "httpMethod": "POST", "id": "cloudtasks.projects.locations.queues.tasks.run", @@ -779,7 +779,7 @@ } } }, - "revision": "20240808", + "revision": "20241111", "rootUrl": "https://cloudtasks.googleapis.com/", "schemas": { "AppEngineHttpRequest": { diff --git a/discovery/cloudtasks-v2beta3.json b/discovery/cloudtasks-v2beta3.json index 94a9c00117..64c16a64e9 100644 --- a/discovery/cloudtasks-v2beta3.json +++ b/discovery/cloudtasks-v2beta3.json @@ -791,7 +791,7 @@ } } }, - "revision": "20240808", + "revision": "20241111", "rootUrl": "https://cloudtasks.googleapis.com/", "schemas": { "AppEngineHttpQueue": { @@ -1108,7 +1108,7 @@ "additionalProperties": { "type": "string" }, - "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Any header that is prefixed with \"X-CloudTasks-\" will be treated as service header. Service headers define properties of the task and are predefined in CloudTask. * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `\"Google-Cloud-Tasks\"`. * `X-Google-*`: Google use only. * `X-AppEngine-*`: Google use only. `Content-Type` won't be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `\"application/octet-stream\"` or `\"application/json\"`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.", + "description": "HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Any header that is prefixed with \"X-CloudTasks-\" will be treated as service header. Service headers define properties of the task and are predefined in Cloud Tasks. * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `\"Google-Cloud-Tasks\"`. * `X-Google-*`: Google use only. * `X-AppEngine-*`: Google use only. `Content-Type` won't be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `\"application/octet-stream\"` or `\"application/json\"`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB.", "type": "object" }, "httpMethod": { @@ -1162,7 +1162,7 @@ "type": "array" }, "httpMethod": { - "description": "The HTTP method to use for the request. When specified, it overrides HttpRequest for the task. Note that if the value is set to HttpMethod the HttpRequest of the task will be ignored at execution time.", + "description": "The HTTP method to use for the request. When specified, it overrides HttpRequest.http_method for the task. Note that if the value is set to HttpMethod.GET the HttpRequest.body of the task will be ignored at execution time.", "enum": [ "HTTP_METHOD_UNSPECIFIED", "POST", diff --git a/discovery/composer-v1.json b/discovery/composer-v1.json index a1acd36b4d..e006ae2ad4 100644 --- a/discovery/composer-v1.json +++ b/discovery/composer-v1.json @@ -16,10 +16,225 @@ "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/composer/", "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.africa-south1.rep.googleapis.com/", + "location": "africa-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.asia-east1.rep.googleapis.com/", + "location": "asia-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.asia-east2.rep.googleapis.com/", + "location": "asia-east2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.asia-northeast1.rep.googleapis.com/", + "location": "asia-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.asia-northeast2.rep.googleapis.com/", + "location": "asia-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.asia-northeast3.rep.googleapis.com/", + "location": "asia-northeast3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.asia-south1.rep.googleapis.com/", + "location": "asia-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.asia-south2.rep.googleapis.com/", + "location": "asia-south2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.asia-southeast1.rep.googleapis.com/", + "location": "asia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.asia-southeast2.rep.googleapis.com/", + "location": "asia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.australia-southeast1.rep.googleapis.com/", + "location": "australia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.australia-southeast2.rep.googleapis.com/", + "location": "australia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-central2.rep.googleapis.com/", + "location": "europe-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-north1.rep.googleapis.com/", + "location": "europe-north1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-north2.rep.googleapis.com/", + "location": "europe-north2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-southwest1.rep.googleapis.com/", + "location": "europe-southwest1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-west1.rep.googleapis.com/", + "location": "europe-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-west2.rep.googleapis.com/", + "location": "europe-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-west3.rep.googleapis.com/", + "location": "europe-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-west4.rep.googleapis.com/", + "location": "europe-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-west6.rep.googleapis.com/", + "location": "europe-west6" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-west8.rep.googleapis.com/", + "location": "europe-west8" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-west9.rep.googleapis.com/", + "location": "europe-west9" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-west10.rep.googleapis.com/", + "location": "europe-west10" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-west12.rep.googleapis.com/", + "location": "europe-west12" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.me-central1.rep.googleapis.com/", + "location": "me-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.me-central2.rep.googleapis.com/", + "location": "me-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.me-west1.rep.googleapis.com/", + "location": "me-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.northamerica-northeast1.rep.googleapis.com/", + "location": "northamerica-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.northamerica-northeast2.rep.googleapis.com/", + "location": "northamerica-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.northamerica-south1.rep.googleapis.com/", + "location": "northamerica-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.southamerica-east1.rep.googleapis.com/", + "location": "southamerica-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.southamerica-west1.rep.googleapis.com/", + "location": "southamerica-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-east1.rep.googleapis.com/", + "location": "us-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-east4.rep.googleapis.com/", + "location": "us-east4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-east5.rep.googleapis.com/", + "location": "us-east5" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-east7.rep.googleapis.com/", + "location": "us-east7" + }, { "description": "Regional Endpoint", "endpointUrl": "https://composer.us-south1.rep.googleapis.com/", "location": "us-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-west1.rep.googleapis.com/", + "location": "us-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-west2.rep.googleapis.com/", + "location": "us-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-west3.rep.googleapis.com/", + "location": "us-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-west4.rep.googleapis.com/", + "location": "us-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-west8.rep.googleapis.com/", + "location": "us-west8" } ], "fullyEncodeReservedExpansion": true, @@ -784,7 +999,7 @@ "workloads": { "methods": { "list": { - "description": "Lists workloads in a Cloud Composer environment. Workload is a unit that runs a single Composer component. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer.", + "description": "Lists workloads in a Cloud Composer environment. Workload is a unit that runs a single Composer component. This method is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/environments/{environmentsId}/workloads", "httpMethod": "GET", "id": "composer.projects.locations.environments.workloads.list", @@ -973,7 +1188,7 @@ } } }, - "revision": "20240917", + "revision": "20241210", "rootUrl": "https://composer.googleapis.com/", "schemas": { "AirflowMetadataRetentionPolicyConfig": { @@ -1293,7 +1508,7 @@ "properties": { "config": { "$ref": "EnvironmentConfig", - "description": "Configuration parameters for this environment." + "description": "Optional. Configuration parameters for this environment." }, "createTime": { "description": "Output only. The time at which this environment was created.", @@ -1308,7 +1523,7 @@ "type": "object" }, "name": { - "description": "The resource name of the environment, in the form: \"projects/{projectId}/locations/{locationId}/environments/{environmentId}\" EnvironmentId must start with a lowercase letter followed by up to 63 lowercase letters, numbers, or hyphens, and cannot end with a hyphen.", + "description": "Identifier. The resource name of the environment, in the form: \"projects/{projectId}/locations/{locationId}/environments/{environmentId}\" EnvironmentId must start with a lowercase letter followed by up to 63 lowercase letters, numbers, or hyphens, and cannot end with a hyphen.", "type": "string" }, "satisfiesPzi": { @@ -1416,7 +1631,7 @@ }, "nodeConfig": { "$ref": "NodeConfig", - "description": "The configuration used for the Kubernetes Engine cluster." + "description": "Optional. The configuration used for the Kubernetes Engine cluster." }, "nodeCount": { "description": "The number of nodes in the Kubernetes Engine cluster that will be used to run this environment. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", @@ -1425,7 +1640,7 @@ }, "privateEnvironmentConfig": { "$ref": "PrivateEnvironmentConfig", - "description": "The configuration used for the Private IP Cloud Composer environment." + "description": "Optional. The configuration used for the Private IP Cloud Composer environment." }, "recoveryConfig": { "$ref": "RecoveryConfig", @@ -1445,7 +1660,7 @@ }, "softwareConfig": { "$ref": "SoftwareConfig", - "description": "The configuration settings for software inside the environment." + "description": "Optional. The configuration settings for software inside the environment." }, "webServerConfig": { "$ref": "WebServerConfig", @@ -2211,7 +2426,7 @@ "type": "object" }, "imageVersion": { - "description": "The version of the software running in the environment. This encapsulates both the version of Cloud Composer functionality and the version of Apache Airflow. It must match the regular expression `composer-([0-9]+(\\.[0-9]+\\.[0-9]+(-preview\\.[0-9]+)?)?|latest)-airflow-([0-9]+(\\.[0-9]+(\\.[0-9]+)?)?)`. When used as input, the server also checks if the provided version is supported and denies the request for an unsupported version. The Cloud Composer portion of the image version is a full [semantic version](https://semver.org), or an alias in the form of major version number or `latest`. When an alias is provided, the server replaces it with the current Cloud Composer version that satisfies the alias. The Apache Airflow portion of the image version is a full semantic version that points to one of the supported Apache Airflow versions, or an alias in the form of only major or major.minor versions specified. When an alias is provided, the server replaces it with the latest Apache Airflow version that satisfies the alias and is supported in the given Cloud Composer version. In all cases, the resolved image version is stored in the same field. See also [version list](/composer/docs/concepts/versioning/composer-versions) and [versioning overview](/composer/docs/concepts/versioning/composer-versioning-overview).", + "description": "Optional. The version of the software running in the environment. This encapsulates both the version of Cloud Composer functionality and the version of Apache Airflow. It must match the regular expression `composer-([0-9]+(\\.[0-9]+\\.[0-9]+(-preview\\.[0-9]+)?)?|latest)-airflow-([0-9]+(\\.[0-9]+(\\.[0-9]+)?)?)`. When used as input, the server also checks if the provided version is supported and denies the request for an unsupported version. The Cloud Composer portion of the image version is a full [semantic version](https://semver.org), or an alias in the form of major version number or `latest`. When an alias is provided, the server replaces it with the current Cloud Composer version that satisfies the alias. The Apache Airflow portion of the image version is a full semantic version that points to one of the supported Apache Airflow versions, or an alias in the form of only major or major.minor versions specified. When an alias is provided, the server replaces it with the latest Apache Airflow version that satisfies the alias and is supported in the given Cloud Composer version. In all cases, the resolved image version is stored in the same field. See also [version list](/composer/docs/concepts/versioning/composer-versions) and [versioning overview](/composer/docs/concepts/versioning/composer-versioning-overview).", "type": "string" }, "pypiPackages": { @@ -2377,7 +2592,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. The \"data\" field of Kubernetes ConfigMap, organized in key-value pairs. For details see: https://kubernetes.io/docs/concepts/configuration/configmap/", + "description": "Optional. The \"data\" field of Kubernetes ConfigMap, organized in key-value pairs. For details see: https://kubernetes.io/docs/concepts/configuration/configmap/ Example: { \"example_key\": \"example_value\", \"another_key\": \"another_value\" }", "type": "object" }, "name": { @@ -2395,7 +2610,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. The \"data\" field of Kubernetes Secret, organized in key-value pairs, which can contain sensitive values such as a password, a token, or a key. The values for all keys have to be base64-encoded strings. For details see: https://kubernetes.io/docs/concepts/configuration/secret/", + "description": "Optional. The \"data\" field of Kubernetes Secret, organized in key-value pairs, which can contain sensitive values such as a password, a token, or a key. The values for all keys have to be base64-encoded strings. For details see: https://kubernetes.io/docs/concepts/configuration/secret/ Example: { \"example\": \"ZXhhbXBsZV92YWx1ZQ==\", \"another-example\": \"YW5vdGhlcl9leGFtcGxlX3ZhbHVl\" }", "type": "object" }, "name": { diff --git a/discovery/composer-v1beta1.json b/discovery/composer-v1beta1.json index 6a65a04601..0a61fda531 100644 --- a/discovery/composer-v1beta1.json +++ b/discovery/composer-v1beta1.json @@ -16,10 +16,225 @@ "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/composer/", "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.africa-south1.rep.googleapis.com/", + "location": "africa-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.asia-east1.rep.googleapis.com/", + "location": "asia-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.asia-east2.rep.googleapis.com/", + "location": "asia-east2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.asia-northeast1.rep.googleapis.com/", + "location": "asia-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.asia-northeast2.rep.googleapis.com/", + "location": "asia-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.asia-northeast3.rep.googleapis.com/", + "location": "asia-northeast3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.asia-south1.rep.googleapis.com/", + "location": "asia-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.asia-south2.rep.googleapis.com/", + "location": "asia-south2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.asia-southeast1.rep.googleapis.com/", + "location": "asia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.asia-southeast2.rep.googleapis.com/", + "location": "asia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.australia-southeast1.rep.googleapis.com/", + "location": "australia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.australia-southeast2.rep.googleapis.com/", + "location": "australia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-central2.rep.googleapis.com/", + "location": "europe-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-north1.rep.googleapis.com/", + "location": "europe-north1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-north2.rep.googleapis.com/", + "location": "europe-north2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-southwest1.rep.googleapis.com/", + "location": "europe-southwest1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-west1.rep.googleapis.com/", + "location": "europe-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-west2.rep.googleapis.com/", + "location": "europe-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-west3.rep.googleapis.com/", + "location": "europe-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-west4.rep.googleapis.com/", + "location": "europe-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-west6.rep.googleapis.com/", + "location": "europe-west6" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-west8.rep.googleapis.com/", + "location": "europe-west8" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-west9.rep.googleapis.com/", + "location": "europe-west9" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-west10.rep.googleapis.com/", + "location": "europe-west10" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.europe-west12.rep.googleapis.com/", + "location": "europe-west12" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.me-central1.rep.googleapis.com/", + "location": "me-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.me-central2.rep.googleapis.com/", + "location": "me-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.me-west1.rep.googleapis.com/", + "location": "me-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.northamerica-northeast1.rep.googleapis.com/", + "location": "northamerica-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.northamerica-northeast2.rep.googleapis.com/", + "location": "northamerica-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.northamerica-south1.rep.googleapis.com/", + "location": "northamerica-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.southamerica-east1.rep.googleapis.com/", + "location": "southamerica-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.southamerica-west1.rep.googleapis.com/", + "location": "southamerica-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-east1.rep.googleapis.com/", + "location": "us-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-east4.rep.googleapis.com/", + "location": "us-east4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-east5.rep.googleapis.com/", + "location": "us-east5" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-east7.rep.googleapis.com/", + "location": "us-east7" + }, { "description": "Regional Endpoint", "endpointUrl": "https://composer.us-south1.rep.googleapis.com/", "location": "us-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-west1.rep.googleapis.com/", + "location": "us-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-west2.rep.googleapis.com/", + "location": "us-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-west3.rep.googleapis.com/", + "location": "us-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-west4.rep.googleapis.com/", + "location": "us-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://composer.us-west8.rep.googleapis.com/", + "location": "us-west8" } ], "fullyEncodeReservedExpansion": true, @@ -812,7 +1027,7 @@ "workloads": { "methods": { "list": { - "description": "Lists workloads in a Cloud Composer environment. Workload is a unit that runs a single Composer component. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer.", + "description": "Lists workloads in a Cloud Composer environment. Workload is a unit that runs a single Composer component. This method is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/environments/{environmentsId}/workloads", "httpMethod": "GET", "id": "composer.projects.locations.environments.workloads.list", @@ -1001,7 +1216,7 @@ } } }, - "revision": "20240917", + "revision": "20241210", "rootUrl": "https://composer.googleapis.com/", "schemas": { "AirflowMetadataRetentionPolicyConfig": { @@ -1327,7 +1542,7 @@ "properties": { "config": { "$ref": "EnvironmentConfig", - "description": "Configuration parameters for this environment." + "description": "Optional. Configuration parameters for this environment." }, "createTime": { "description": "Output only. The time at which this environment was created.", @@ -1343,7 +1558,7 @@ "type": "object" }, "name": { - "description": "The resource name of the environment, in the form: \"projects/{projectId}/locations/{locationId}/environments/{environmentId}\" EnvironmentId must start with a lowercase letter followed by up to 63 lowercase letters, numbers, or hyphens, and cannot end with a hyphen.", + "description": "Identifier. The resource name of the environment, in the form: \"projects/{projectId}/locations/{locationId}/environments/{environmentId}\" EnvironmentId must start with a lowercase letter followed by up to 63 lowercase letters, numbers, or hyphens, and cannot end with a hyphen.", "type": "string" }, "satisfiesPzi": { @@ -1456,7 +1671,7 @@ }, "nodeConfig": { "$ref": "NodeConfig", - "description": "The configuration used for the Kubernetes Engine cluster." + "description": "Optional. The configuration used for the Kubernetes Engine cluster." }, "nodeCount": { "description": "The number of nodes in the Kubernetes Engine cluster that will be used to run this environment. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.", @@ -1465,7 +1680,7 @@ }, "privateEnvironmentConfig": { "$ref": "PrivateEnvironmentConfig", - "description": "The configuration used for the Private IP Cloud Composer environment." + "description": "Optional. The configuration used for the Private IP Cloud Composer environment." }, "recoveryConfig": { "$ref": "RecoveryConfig", @@ -1485,7 +1700,7 @@ }, "softwareConfig": { "$ref": "SoftwareConfig", - "description": "The configuration settings for software inside the environment." + "description": "Optional. The configuration settings for software inside the environment." }, "webServerConfig": { "$ref": "WebServerConfig", @@ -2260,7 +2475,7 @@ "type": "object" }, "imageVersion": { - "description": "The version of the software running in the environment. This encapsulates both the version of Cloud Composer functionality and the version of Apache Airflow. It must match the regular expression `composer-([0-9]+(\\.[0-9]+\\.[0-9]+(-preview\\.[0-9]+)?)?|latest)-airflow-([0-9]+(\\.[0-9]+(\\.[0-9]+)?)?)`. When used as input, the server also checks if the provided version is supported and denies the request for an unsupported version. The Cloud Composer portion of the image version is a full [semantic version](https://semver.org), or an alias in the form of major version number or `latest`. When an alias is provided, the server replaces it with the current Cloud Composer version that satisfies the alias. The Apache Airflow portion of the image version is a full semantic version that points to one of the supported Apache Airflow versions, or an alias in the form of only major or major.minor versions specified. When an alias is provided, the server replaces it with the latest Apache Airflow version that satisfies the alias and is supported in the given Cloud Composer version. In all cases, the resolved image version is stored in the same field. See also [version list](/composer/docs/concepts/versioning/composer-versions) and [versioning overview](/composer/docs/concepts/versioning/composer-versioning-overview).", + "description": "Optional. The version of the software running in the environment. This encapsulates both the version of Cloud Composer functionality and the version of Apache Airflow. It must match the regular expression `composer-([0-9]+(\\.[0-9]+\\.[0-9]+(-preview\\.[0-9]+)?)?|latest)-airflow-([0-9]+(\\.[0-9]+(\\.[0-9]+)?)?)`. When used as input, the server also checks if the provided version is supported and denies the request for an unsupported version. The Cloud Composer portion of the image version is a full [semantic version](https://semver.org), or an alias in the form of major version number or `latest`. When an alias is provided, the server replaces it with the current Cloud Composer version that satisfies the alias. The Apache Airflow portion of the image version is a full semantic version that points to one of the supported Apache Airflow versions, or an alias in the form of only major or major.minor versions specified. When an alias is provided, the server replaces it with the latest Apache Airflow version that satisfies the alias and is supported in the given Cloud Composer version. In all cases, the resolved image version is stored in the same field. See also [version list](/composer/docs/concepts/versioning/composer-versions) and [versioning overview](/composer/docs/concepts/versioning/composer-versioning-overview).", "type": "string" }, "pypiPackages": { @@ -2426,7 +2641,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. The \"data\" field of Kubernetes ConfigMap, organized in key-value pairs. For details see: https://kubernetes.io/docs/concepts/configuration/configmap/", + "description": "Optional. The \"data\" field of Kubernetes ConfigMap, organized in key-value pairs. For details see: https://kubernetes.io/docs/concepts/configuration/configmap/ Example: { \"example_key\": \"example_value\", \"another_key\": \"another_value\" }", "type": "object" }, "name": { @@ -2444,7 +2659,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. The \"data\" field of Kubernetes Secret, organized in key-value pairs, which can contain sensitive values such as a password, a token, or a key. The values for all keys have to be base64-encoded strings. For details see: https://kubernetes.io/docs/concepts/configuration/secret/", + "description": "Optional. The \"data\" field of Kubernetes Secret, organized in key-value pairs, which can contain sensitive values such as a password, a token, or a key. The values for all keys have to be base64-encoded strings. For details see: https://kubernetes.io/docs/concepts/configuration/secret/ Example: { \"example\": \"ZXhhbXBsZV92YWx1ZQ==\", \"another-example\": \"YW5vdGhlcl9leGFtcGxlX3ZhbHVl\" }", "type": "object" }, "name": { diff --git a/discovery/compute-alpha.json b/discovery/compute-alpha.json index 1ad1e3b938..94e5feba10 100644 --- a/discovery/compute-alpha.json +++ b/discovery/compute-alpha.json @@ -710,6 +710,47 @@ } } }, + "advice": { + "methods": { + "calendarMode": { + "description": "Advise how, where and when to create the requested amount of instances with specified accelerators, within the specified time and location limits. The method recommends creating future reservations for the requested resources.", + "flatPath": "projects/{project}/regions/{region}/advice/calendarMode", + "httpMethod": "POST", + "id": "compute.advice.calendarMode", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/advice/calendarMode", + "request": { + "$ref": "CalendarModeAdviceRequest" + }, + "response": { + "$ref": "CalendarModeAdviceResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + } + } + }, "autoscalers": { "methods": { "aggregatedList": { @@ -1894,6 +1935,41 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "getEffectiveSecurityPolicies": { + "description": "Returns effective security policies applied to this backend service.", + "flatPath": "projects/{project}/global/backendServices/{backendService}/getEffectiveSecurityPolicies", + "httpMethod": "GET", + "id": "compute.backendServices.getEffectiveSecurityPolicies", + "parameterOrder": [ + "project", + "backendService" + ], + "parameters": { + "backendService": { + "description": "Name of the Backend Service for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/backendServices/{backendService}/getEffectiveSecurityPolicies", + "response": { + "$ref": "BackendServicesGetEffectiveSecurityPoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, "getHealth": { "description": "Gets the most recent health check results for this BackendService. Example request body: { \"group\": \"/zones/us-east1-b/instanceGroups/lb-backend-example\" }", "flatPath": "projects/{project}/global/backendServices/{backendService}/getHealth", @@ -2359,6 +2435,231 @@ } } }, + "crossSiteNetworks": { + "methods": { + "delete": { + "description": "Deletes the specified cross-site network in the given scope.", + "flatPath": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}", + "httpMethod": "DELETE", + "id": "compute.crossSiteNetworks.delete", + "parameterOrder": [ + "project", + "crossSiteNetwork" + ], + "parameters": { + "crossSiteNetwork": { + "description": "Name of the cross-site network to delete.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Returns the specified cross-site network in the given scope.", + "flatPath": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}", + "httpMethod": "GET", + "id": "compute.crossSiteNetworks.get", + "parameterOrder": [ + "project", + "crossSiteNetwork" + ], + "parameters": { + "crossSiteNetwork": { + "description": "Name of the cross-site network to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}", + "response": { + "$ref": "CrossSiteNetwork" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates a cross-site network in the specified project in the given scope using the parameters that are included in the request.", + "flatPath": "projects/{project}/global/crossSiteNetworks", + "httpMethod": "POST", + "id": "compute.crossSiteNetworks.insert", + "parameterOrder": [ + "project" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "[Input Only] Validate the new configuration, but don't create it.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/global/crossSiteNetworks", + "request": { + "$ref": "CrossSiteNetwork" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Lists the cross-site networks for a project in the given scope.", + "flatPath": "projects/{project}/global/crossSiteNetworks", + "httpMethod": "GET", + "id": "compute.crossSiteNetworks.list", + "parameterOrder": [ + "project" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/global/crossSiteNetworks", + "response": { + "$ref": "CrossSiteNetworkList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "patch": { + "description": "Updates the specified cross-site network with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", + "flatPath": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}", + "httpMethod": "PATCH", + "id": "compute.crossSiteNetworks.patch", + "parameterOrder": [ + "project", + "crossSiteNetwork" + ], + "parameters": { + "crossSiteNetwork": { + "description": "Name of the cross-site network to update.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "update_mask indicates fields to be updated as part of this request.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "[Input Only] Validate the new configuration, but don't update it.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}", + "request": { + "$ref": "CrossSiteNetwork" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + } + } + }, "diskSettings": { "methods": { "get": { @@ -2926,6 +3227,48 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "getAsyncReplicationStatus": { + "description": "Gets the status of current async replication for a given device.", + "flatPath": "projects/{project}/zones/{zone}/disks/{disk}/getAsyncReplicationStatus", + "httpMethod": "GET", + "id": "compute.disks.getAsyncReplicationStatus", + "parameterOrder": [ + "project", + "zone", + "disk" + ], + "parameters": { + "disk": { + "description": "Name of the Disk resource whose Async replication details are requested. Name should conform to RFC1035 or be an unsigned long integer.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "zone": { + "description": "The name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/disks/{disk}/getAsyncReplicationStatus", + "response": { + "$ref": "GetAsyncReplicationStatusResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, "getIamPolicy": { "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", "flatPath": "projects/{project}/zones/{zone}/disks/{resource}/getIamPolicy", @@ -3525,6 +3868,55 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] + }, + "waitForReplicationCatchUp": { + "description": "Wait for replication to catch up on the secondary disk.", + "flatPath": "projects/{project}/zones/{zone}/disks/{disk}/waitForReplicationCatchUp", + "httpMethod": "POST", + "id": "compute.disks.waitForReplicationCatchUp", + "parameterOrder": [ + "project", + "zone", + "disk" + ], + "parameters": { + "disk": { + "description": "The name of the persistent disk. Name should conform to RFC1035 or be an unsigned long integer.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "zone": { + "description": "The name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/disks/{disk}/waitForReplicationCatchUp", + "request": { + "$ref": "WaitForReplicationCatchUpRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] } } }, @@ -11311,7 +11703,7 @@ ] }, "addNetworkInterface": { - "description": "Adds a network interface to an instance.", + "description": "Adds one dynamic network interface to an active instance.", "flatPath": "projects/{project}/zones/{zone}/instances/{instance}/addNetworkInterface", "httpMethod": "POST", "id": "compute.instances.addNetworkInterface", @@ -11591,7 +11983,7 @@ "type": "string" }, "noGracefulShutdown": { - "description": "If true, skips Graceful Shutdown.", + "description": "If set to true, Graceful Shutdown is skipped.", "location": "query", "type": "boolean" }, @@ -11686,7 +12078,7 @@ ] }, "deleteNetworkInterface": { - "description": "Deletes one network interface from an active instance. InstancesDeleteNetworkInterfaceRequest indicates: - instance from which to delete, using project+zone+resource_id fields; - network interface to be deleted, using network_interface_name field; Only VLAN interface deletion is supported for now.", + "description": "Deletes one dynamic network interface from an active instance. InstancesDeleteNetworkInterfaceRequest indicates: - instance from which to delete, using project+zone+resource_id fields; - dynamic network interface to be deleted, using network_interface_name field;", "flatPath": "projects/{project}/zones/{zone}/instances/{instance}/deleteNetworkInterface", "httpMethod": "POST", "id": "compute.instances.deleteNetworkInterface", @@ -11704,7 +12096,7 @@ "type": "string" }, "networkInterfaceName": { - "description": "The name of the network interface to be deleted from the instance. Only VLAN network interface deletion is supported.", + "description": "The name of the dynamic network interface to be deleted from the instance.", "location": "query", "required": true, "type": "string" @@ -12128,7 +12520,7 @@ "type": "string" }, "start": { - "description": "Specifies the starting byte position of the output to return. To start with the first byte of output to the specified port, omit this field or set it to `0`. If the output for that byte position is available, this field matches the `start` parameter sent with the request. If the amount of serial console output exceeds the size of the buffer (1 MB), the oldest output is discarded and is no longer available. If the requested start position refers to discarded output, the start position is adjusted to the oldest output still available, and the adjusted start position is returned as the `start` property value. You can also provide a negative start position, which translates to the most recent number of bytes written to the serial port. For example, -3 is interpreted as the most recent 3 bytes written to the serial console.", + "description": "Specifies the starting byte position of the output to return. To start with the first byte of output to the specified port, omit this field or set it to `0`. If the output for that byte position is available, this field matches the `start` parameter sent with the request. If the amount of serial console output exceeds the size of the buffer (1 MB), the oldest output is discarded and is no longer available. If the requested start position refers to discarded output, the start position is adjusted to the oldest output still available, and the adjusted start position is returned as the `start` property value. You can also provide a negative start position, which translates to the most recent number of bytes written to the serial port. For example, -3 is interpreted as the most recent 3 bytes written to the serial console. Note that the negative start is bounded by the retained buffer size, and the returned serial console output will not exceed the max buffer size.", "format": "int64", "location": "query", "type": "string" @@ -13703,7 +14095,7 @@ "type": "string" }, "noGracefulShutdown": { - "description": "If true, skips Graceful Shutdown.", + "description": "If set to true, Graceful Shutdown is skipped.", "location": "query", "type": "boolean" }, @@ -14988,44 +15380,63 @@ } } }, - "interconnectAttachments": { + "interconnectAttachmentGroups": { "methods": { - "aggregatedList": { - "description": "Retrieves an aggregated list of interconnect attachments. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/interconnectAttachments", - "httpMethod": "GET", - "id": "compute.interconnectAttachments.aggregatedList", + "delete": { + "description": "Deletes the specified InterconnectAttachmentGroup in the given scope", + "flatPath": "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}", + "httpMethod": "DELETE", + "id": "compute.interconnectAttachmentGroups.delete", "parameterOrder": [ - "project" + "project", + "interconnectAttachmentGroup" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", + "interconnectAttachmentGroup": { + "description": "Name of the InterconnectAttachmentGroup resource to delete.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, "type": "string" }, - "includeAllScopes": { - "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", - "location": "query", - "type": "boolean" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, "type": "string" }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", "location": "query", "type": "string" + } + }, + "path": "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Returns the specified InterconnectAttachmentGroup resource in the given scope.", + "flatPath": "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}", + "httpMethod": "GET", + "id": "compute.interconnectAttachmentGroups.get", + "parameterOrder": [ + "project", + "interconnectAttachmentGroup" + ], + "parameters": { + "interconnectAttachmentGroup": { + "description": "Name of the InterconnectAttachmentGroup resource to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" }, "project": { "description": "Project ID for this request.", @@ -15033,22 +15444,52 @@ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" - }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + } + }, + "path": "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}", + "response": { + "$ref": "InterconnectAttachmentGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "flatPath": "projects/{project}/global/interconnectAttachmentGroups/{resource}/getIamPolicy", + "httpMethod": "GET", + "id": "compute.interconnectAttachmentGroups.getIamPolicy", + "parameterOrder": [ + "project", + "resource" + ], + "parameters": { + "optionsRequestedPolicyVersion": { + "description": "Requested IAM Policy version.", + "format": "int32", "location": "query", - "type": "boolean" + "type": "integer" }, - "serviceProjectNumber": { - "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", - "format": "int64", - "location": "query", + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, "type": "string" } }, - "path": "projects/{project}/aggregated/interconnectAttachments", + "path": "projects/{project}/global/interconnectAttachmentGroups/{resource}/getIamPolicy", "response": { - "$ref": "InterconnectAttachmentAggregatedList" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -15056,19 +15497,18 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "delete": { - "description": "Deletes the specified interconnect attachment.", - "flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", - "httpMethod": "DELETE", - "id": "compute.interconnectAttachments.delete", + "getOperationalStatus": { + "description": "Returns the InterconnectAttachmentStatuses for the specified InterconnectAttachmentGroup resource.", + "flatPath": "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}/getOperationalStatus", + "httpMethod": "GET", + "id": "compute.interconnectAttachmentGroups.getOperationalStatus", "parameterOrder": [ "project", - "region", - "interconnectAttachment" + "interconnectAttachmentGroup" ], "parameters": { - "interconnectAttachment": { - "description": "Name of the interconnect attachment to delete.", + "interconnectAttachmentGroup": { + "description": "Name of the interconnectAttachmentGroup resource to query.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -15080,21 +15520,44 @@ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" - }, - "region": { - "description": "Name of the region for this request.", + } + }, + "path": "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}/getOperationalStatus", + "response": { + "$ref": "InterconnectAttachmentGroupsGetOperationalStatusResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates a InterconnectAttachmentGroup in the specified project in the given scope using the parameters that are included in the request.", + "flatPath": "projects/{project}/global/interconnectAttachmentGroups", + "httpMethod": "POST", + "id": "compute.interconnectAttachmentGroups.insert", + "parameterOrder": [ + "project" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", + "path": "projects/{project}/global/interconnectAttachmentGroups", + "request": { + "$ref": "InterconnectAttachmentGroup" + }, "response": { "$ref": "Operation" }, @@ -15103,22 +15566,36 @@ "https://www.googleapis.com/auth/compute" ] }, - "get": { - "description": "Returns the specified interconnect attachment.", - "flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", + "list": { + "description": "Lists the InterconnectAttachmentGroups for a project in the given scope.", + "flatPath": "projects/{project}/global/interconnectAttachmentGroups", "httpMethod": "GET", - "id": "compute.interconnectAttachments.get", + "id": "compute.interconnectAttachmentGroups.list", "parameterOrder": [ - "project", - "region", - "interconnectAttachment" + "project" ], "parameters": { - "interconnectAttachment": { - "description": "Name of the interconnect attachment to return.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", "type": "string" }, "project": { @@ -15128,17 +15605,15 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", + "path": "projects/{project}/global/interconnectAttachmentGroups", "response": { - "$ref": "InterconnectAttachment" + "$ref": "InterconnectAttachmentGroupsListResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -15146,22 +15621,22 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "getIamPolicy": { - "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", - "flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/getIamPolicy", - "httpMethod": "GET", - "id": "compute.interconnectAttachments.getIamPolicy", + "patch": { + "description": "Patches the specified InterconnectAttachmentGroup resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", + "flatPath": "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}", + "httpMethod": "PATCH", + "id": "compute.interconnectAttachmentGroups.patch", "parameterOrder": [ "project", - "region", - "resource" + "interconnectAttachmentGroup" ], "parameters": { - "optionsRequestedPolicyVersion": { - "description": "Requested IAM Policy version.", - "format": "int32", - "location": "query", - "type": "integer" + "interconnectAttachmentGroup": { + "description": "Name of the InterconnectAttachmentGroup resource to patch.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" }, "project": { "description": "Project ID for this request.", @@ -15170,39 +15645,75 @@ "required": true, "type": "string" }, - "region": { - "description": "The name of the region for this request.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "The list of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}", + "request": { + "$ref": "InterconnectAttachmentGroup" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "projects/{project}/global/interconnectAttachmentGroups/{resource}/setIamPolicy", + "httpMethod": "POST", + "id": "compute.interconnectAttachmentGroups.setIamPolicy", + "parameterOrder": [ + "project", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" }, "resource": { "description": "Name or id of the resource for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/getIamPolicy", + "path": "projects/{project}/global/interconnectAttachmentGroups/{resource}/setIamPolicy", + "request": { + "$ref": "GlobalSetPolicyRequest" + }, "response": { "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "insert": { - "description": "Creates an InterconnectAttachment in the specified project using the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/interconnectAttachments", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/global/interconnectAttachmentGroups/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.interconnectAttachments.insert", + "id": "compute.interconnectAttachmentGroups.testIamPermissions", "parameterOrder": [ "project", - "region" + "resource" ], "parameters": { "project": { @@ -15212,44 +15723,38 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region for this request.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "validateOnly": { - "description": "If true, the request will not be committed.", - "location": "query", - "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/interconnectAttachments", + "path": "projects/{project}/global/interconnectAttachmentGroups/{resource}/testIamPermissions", "request": { - "$ref": "InterconnectAttachment" + "$ref": "TestPermissionsRequest" }, "response": { - "$ref": "Operation" + "$ref": "TestPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] - }, - "list": { - "description": "Retrieves the list of interconnect attachments contained within the specified region.", - "flatPath": "projects/{project}/regions/{region}/interconnectAttachments", + } + } + }, + "interconnectAttachments": { + "methods": { + "aggregatedList": { + "description": "Retrieves an aggregated list of interconnect attachments. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/interconnectAttachments", "httpMethod": "GET", - "id": "compute.interconnectAttachments.list", + "id": "compute.interconnectAttachments.aggregatedList", "parameterOrder": [ - "project", - "region" + "project" ], "parameters": { "filter": { @@ -15257,6 +15762,11 @@ "location": "query", "type": "string" }, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "location": "query", + "type": "boolean" + }, "maxResults": { "default": "500", "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", @@ -15282,22 +15792,21 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "returnPartialSuccess": { "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" + }, + "serviceProjectNumber": { + "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", + "format": "int64", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/regions/{region}/interconnectAttachments", + "path": "projects/{project}/aggregated/interconnectAttachments", "response": { - "$ref": "InterconnectAttachmentList" + "$ref": "InterconnectAttachmentAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -15305,11 +15814,11 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "patch": { - "description": "Updates the specified interconnect attachment with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", + "delete": { + "description": "Deletes the specified interconnect attachment.", "flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", - "httpMethod": "PATCH", - "id": "compute.interconnectAttachments.patch", + "httpMethod": "DELETE", + "id": "compute.interconnectAttachments.delete", "parameterOrder": [ "project", "region", @@ -15317,7 +15826,7 @@ ], "parameters": { "interconnectAttachment": { - "description": "Name of the interconnect attachment to patch.", + "description": "Name of the interconnect attachment to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -15331,7 +15840,7 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -15344,9 +15853,6 @@ } }, "path": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", - "request": { - "$ref": "InterconnectAttachment" - }, "response": { "$ref": "Operation" }, @@ -15355,17 +15861,24 @@ "https://www.googleapis.com/auth/compute" ] }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", - "flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/setIamPolicy", - "httpMethod": "POST", - "id": "compute.interconnectAttachments.setIamPolicy", + "get": { + "description": "Returns the specified interconnect attachment.", + "flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", + "httpMethod": "GET", + "id": "compute.interconnectAttachments.get", "parameterOrder": [ "project", "region", - "resource" + "interconnectAttachment" ], "parameters": { + "interconnectAttachment": { + "description": "Name of the interconnect attachment to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -15374,43 +15887,40 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" - }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" } }, - "path": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/setIamPolicy", - "request": { - "$ref": "RegionSetPolicyRequest" - }, + "path": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", "response": { - "$ref": "Policy" + "$ref": "InterconnectAttachment" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "setLabels": { - "description": "Sets the labels on an InterconnectAttachment. To learn more about labels, read the Labeling Resources documentation.", - "flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/setLabels", - "httpMethod": "POST", - "id": "compute.interconnectAttachments.setLabels", + "getIamPolicy": { + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/getIamPolicy", + "httpMethod": "GET", + "id": "compute.interconnectAttachments.getIamPolicy", "parameterOrder": [ "project", "region", "resource" ], "parameters": { + "optionsRequestedPolicyVersion": { + "description": "Requested IAM Policy version.", + "format": "int32", + "location": "query", + "type": "integer" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -15419,17 +15929,12 @@ "type": "string" }, "region": { - "description": "The region for this request.", + "description": "The name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, "resource": { "description": "Name or id of the resource for this request.", "location": "path", @@ -15438,27 +15943,24 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/setLabels", - "request": { - "$ref": "RegionSetLabelsRequest" - }, + "path": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/getIamPolicy", "response": { - "$ref": "Operation" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/testIamPermissions", + "insert": { + "description": "Creates an InterconnectAttachment in the specified project using the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/interconnectAttachments", "httpMethod": "POST", - "id": "compute.interconnectAttachments.testIamPermissions", + "id": "compute.interconnectAttachments.insert", "parameterOrder": [ "project", - "region", - "resource" + "region" ], "parameters": { "project": { @@ -15469,79 +15971,43 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", "type": "string" + }, + "validateOnly": { + "description": "If true, the request will not be committed.", + "location": "query", + "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/testIamPermissions", + "path": "projects/{project}/regions/{region}/interconnectAttachments", "request": { - "$ref": "TestPermissionsRequest" - }, - "response": { - "$ref": "TestPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - } - } - }, - "interconnectLocations": { - "methods": { - "get": { - "description": "Returns the details for the specified interconnect location. Gets a list of available interconnect locations by making a list() request.", - "flatPath": "projects/{project}/global/interconnectLocations/{interconnectLocation}", - "httpMethod": "GET", - "id": "compute.interconnectLocations.get", - "parameterOrder": [ - "project", - "interconnectLocation" - ], - "parameters": { - "interconnectLocation": { - "description": "Name of the interconnect location to return.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - } + "$ref": "InterconnectAttachment" }, - "path": "projects/{project}/global/interconnectLocations/{interconnectLocation}", "response": { - "$ref": "InterconnectLocation" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "list": { - "description": "Retrieves the list of interconnect locations available to the specified project.", - "flatPath": "projects/{project}/global/interconnectLocations", + "description": "Retrieves the list of interconnect attachments contained within the specified region.", + "flatPath": "projects/{project}/regions/{region}/interconnectAttachments", "httpMethod": "GET", - "id": "compute.interconnectLocations.list", + "id": "compute.interconnectAttachments.list", "parameterOrder": [ - "project" + "project", + "region" ], "parameters": { "filter": { @@ -15574,15 +16040,22 @@ "required": true, "type": "string" }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, "returnPartialSuccess": { "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" } }, - "path": "projects/{project}/global/interconnectLocations", + "path": "projects/{project}/regions/{region}/interconnectAttachments", "response": { - "$ref": "InterconnectLocationList" + "$ref": "InterconnectAttachmentList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -15590,16 +16063,24 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/global/interconnectLocations/{resource}/testIamPermissions", - "httpMethod": "POST", - "id": "compute.interconnectLocations.testIamPermissions", + "patch": { + "description": "Updates the specified interconnect attachment with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", + "flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", + "httpMethod": "PATCH", + "id": "compute.interconnectAttachments.patch", "parameterOrder": [ "project", - "resource" + "region", + "interconnectAttachment" ], "parameters": { + "interconnectAttachment": { + "description": "Name of the interconnect attachment to patch.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -15607,128 +16088,134 @@ "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "region": { + "description": "Name of the region scoping this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/global/interconnectLocations/{resource}/testIamPermissions", + "path": "projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}", "request": { - "$ref": "TestPermissionsRequest" + "$ref": "InterconnectAttachment" }, "response": { - "$ref": "TestPermissionsResponse" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] - } - } - }, - "interconnectRemoteLocations": { - "methods": { - "get": { - "description": "Returns the details for the specified interconnect remote location. Gets a list of available interconnect remote locations by making a list() request.", - "flatPath": "projects/{project}/global/interconnectRemoteLocations/{interconnectRemoteLocation}", - "httpMethod": "GET", - "id": "compute.interconnectRemoteLocations.get", + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/setIamPolicy", + "httpMethod": "POST", + "id": "compute.interconnectAttachments.setIamPolicy", "parameterOrder": [ "project", - "interconnectRemoteLocation" + "region", + "resource" ], "parameters": { - "interconnectRemoteLocation": { - "description": "Name of the interconnect remote location to return.", + "project": { + "description": "Project ID for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" }, - "project": { - "description": "Project ID for this request.", + "region": { + "description": "The name of the region for this request.", "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/interconnectRemoteLocations/{interconnectRemoteLocation}", + "path": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/setIamPolicy", + "request": { + "$ref": "RegionSetPolicyRequest" + }, "response": { - "$ref": "InterconnectRemoteLocation" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "list": { - "description": "Retrieves the list of interconnect remote locations available to the specified project.", - "flatPath": "projects/{project}/global/interconnectRemoteLocations", - "httpMethod": "GET", - "id": "compute.interconnectRemoteLocations.list", + "setLabels": { + "description": "Sets the labels on an InterconnectAttachment. To learn more about labels, read the Labeling Resources documentation.", + "flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/setLabels", + "httpMethod": "POST", + "id": "compute.interconnectAttachments.setLabels", "parameterOrder": [ - "project" + "project", + "region", + "resource" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, "type": "string" }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", + "region": { + "description": "The region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, "type": "string" }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, - "project": { - "description": "Project ID for this request.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" - }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" } }, - "path": "projects/{project}/global/interconnectRemoteLocations", + "path": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/setLabels", + "request": { + "$ref": "RegionSetLabelsRequest" + }, "response": { - "$ref": "InterconnectRemoteLocationList" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "testIamPermissions": { "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/global/interconnectRemoteLocations/{resource}/testIamPermissions", + "flatPath": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.interconnectRemoteLocations.testIamPermissions", + "id": "compute.interconnectAttachments.testIamPermissions", "parameterOrder": [ "project", + "region", "resource" ], "parameters": { @@ -15739,15 +16226,22 @@ "required": true, "type": "string" }, + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, "resource": { "description": "Name or id of the resource for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/interconnectRemoteLocations/{resource}/testIamPermissions", + "path": "projects/{project}/regions/{region}/interconnectAttachments/{resource}/testIamPermissions", "request": { "$ref": "TestPermissionsRequest" }, @@ -15762,20 +16256,20 @@ } } }, - "interconnects": { + "interconnectGroups": { "methods": { "delete": { - "description": "Deletes the specified Interconnect.", - "flatPath": "projects/{project}/global/interconnects/{interconnect}", + "description": "Deletes the specified InterconnectGroup in the given scope", + "flatPath": "projects/{project}/global/interconnectGroups/{interconnectGroup}", "httpMethod": "DELETE", - "id": "compute.interconnects.delete", + "id": "compute.interconnectGroups.delete", "parameterOrder": [ "project", - "interconnect" + "interconnectGroup" ], "parameters": { - "interconnect": { - "description": "Name of the interconnect to delete.", + "interconnectGroup": { + "description": "Name of the InterconnectGroup resource to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -15789,12 +16283,12 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", "location": "query", "type": "string" } }, - "path": "projects/{project}/global/interconnects/{interconnect}", + "path": "projects/{project}/global/interconnectGroups/{interconnectGroup}", "response": { "$ref": "Operation" }, @@ -15804,52 +16298,17 @@ ] }, "get": { - "description": "Returns the specified Interconnect. Get a list of available Interconnects by making a list() request.", - "flatPath": "projects/{project}/global/interconnects/{interconnect}", - "httpMethod": "GET", - "id": "compute.interconnects.get", - "parameterOrder": [ - "project", - "interconnect" - ], - "parameters": { - "interconnect": { - "description": "Name of the interconnect to return.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/global/interconnects/{interconnect}", - "response": { - "$ref": "Interconnect" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "getDiagnostics": { - "description": "Returns the interconnectDiagnostics for the specified Interconnect. In the event of a global outage, do not use this API to make decisions about where to redirect your network traffic. Unlike a VLAN attachment, which is regional, a Cloud Interconnect connection is a global resource. A global outage can prevent this API from functioning properly.", - "flatPath": "projects/{project}/global/interconnects/{interconnect}/getDiagnostics", + "description": "Returns the specified InterconnectGroup resource in the given scope.", + "flatPath": "projects/{project}/global/interconnectGroups/{interconnectGroup}", "httpMethod": "GET", - "id": "compute.interconnects.getDiagnostics", + "id": "compute.interconnectGroups.get", "parameterOrder": [ "project", - "interconnect" + "interconnectGroup" ], "parameters": { - "interconnect": { - "description": "Name of the interconnect resource to query.", + "interconnectGroup": { + "description": "Name of the InterconnectGroup resource to return.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -15863,9 +16322,9 @@ "type": "string" } }, - "path": "projects/{project}/global/interconnects/{interconnect}/getDiagnostics", + "path": "projects/{project}/global/interconnectGroups/{interconnectGroup}", "response": { - "$ref": "InterconnectsGetDiagnosticsResponse" + "$ref": "InterconnectGroup" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -15875,9 +16334,9 @@ }, "getIamPolicy": { "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", - "flatPath": "projects/{project}/global/interconnects/{resource}/getIamPolicy", + "flatPath": "projects/{project}/global/interconnectGroups/{resource}/getIamPolicy", "httpMethod": "GET", - "id": "compute.interconnects.getIamPolicy", + "id": "compute.interconnectGroups.getIamPolicy", "parameterOrder": [ "project", "resource" @@ -15904,7 +16363,7 @@ "type": "string" } }, - "path": "projects/{project}/global/interconnects/{resource}/getIamPolicy", + "path": "projects/{project}/global/interconnectGroups/{resource}/getIamPolicy", "response": { "$ref": "Policy" }, @@ -15914,18 +16373,18 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "getMacsecConfig": { - "description": "Returns the interconnectMacsecConfig for the specified Interconnect.", - "flatPath": "projects/{project}/global/interconnects/{interconnect}/getMacsecConfig", + "getOperationalStatus": { + "description": "Returns the interconnectStatuses for the specified InterconnectGroup.", + "flatPath": "projects/{project}/global/interconnectGroups/{interconnectGroup}/getOperationalStatus", "httpMethod": "GET", - "id": "compute.interconnects.getMacsecConfig", + "id": "compute.interconnectGroups.getOperationalStatus", "parameterOrder": [ "project", - "interconnect" + "interconnectGroup" ], "parameters": { - "interconnect": { - "description": "Name of the interconnect resource to query.", + "interconnectGroup": { + "description": "Name of the interconnectGroup resource to query.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -15939,9 +16398,9 @@ "type": "string" } }, - "path": "projects/{project}/global/interconnects/{interconnect}/getMacsecConfig", + "path": "projects/{project}/global/interconnectGroups/{interconnectGroup}/getOperationalStatus", "response": { - "$ref": "InterconnectsGetMacsecConfigResponse" + "$ref": "InterconnectGroupsGetOperationalStatusResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -15950,10 +16409,10 @@ ] }, "insert": { - "description": "Creates an Interconnect in the specified project using the data included in the request.", - "flatPath": "projects/{project}/global/interconnects", + "description": "Creates a InterconnectGroup in the specified project in the given scope using the parameters that are included in the request.", + "flatPath": "projects/{project}/global/interconnectGroups", "httpMethod": "POST", - "id": "compute.interconnects.insert", + "id": "compute.interconnectGroups.insert", "parameterOrder": [ "project" ], @@ -15966,14 +16425,14 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", "location": "query", "type": "string" } }, - "path": "projects/{project}/global/interconnects", + "path": "projects/{project}/global/interconnectGroups", "request": { - "$ref": "Interconnect" + "$ref": "InterconnectGroup" }, "response": { "$ref": "Operation" @@ -15984,10 +16443,10 @@ ] }, "list": { - "description": "Retrieves the list of Interconnects available to the specified project.", - "flatPath": "projects/{project}/global/interconnects", + "description": "Lists the InterconnectGroups for a project in the given scope.", + "flatPath": "projects/{project}/global/interconnectGroups", "httpMethod": "GET", - "id": "compute.interconnects.list", + "id": "compute.interconnectGroups.list", "parameterOrder": [ "project" ], @@ -16028,9 +16487,9 @@ "type": "boolean" } }, - "path": "projects/{project}/global/interconnects", + "path": "projects/{project}/global/interconnectGroups", "response": { - "$ref": "InterconnectList" + "$ref": "InterconnectGroupsListResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -16039,17 +16498,17 @@ ] }, "patch": { - "description": "Updates the specified Interconnect with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", - "flatPath": "projects/{project}/global/interconnects/{interconnect}", + "description": "Patches the specified InterconnectGroup resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", + "flatPath": "projects/{project}/global/interconnectGroups/{interconnectGroup}", "httpMethod": "PATCH", - "id": "compute.interconnects.patch", + "id": "compute.interconnectGroups.patch", "parameterOrder": [ "project", - "interconnect" + "interconnectGroup" ], "parameters": { - "interconnect": { - "description": "Name of the interconnect to update.", + "interconnectGroup": { + "description": "Name of the InterconnectGroup resource to patch.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -16063,14 +16522,20 @@ "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "The list of fields to update.", + "format": "google-fieldmask", "location": "query", "type": "string" } }, - "path": "projects/{project}/global/interconnects/{interconnect}", + "path": "projects/{project}/global/interconnectGroups/{interconnectGroup}", "request": { - "$ref": "Interconnect" + "$ref": "InterconnectGroup" }, "response": { "$ref": "Operation" @@ -16082,9 +16547,9 @@ }, "setIamPolicy": { "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", - "flatPath": "projects/{project}/global/interconnects/{resource}/setIamPolicy", + "flatPath": "projects/{project}/global/interconnectGroups/{resource}/setIamPolicy", "httpMethod": "POST", - "id": "compute.interconnects.setIamPolicy", + "id": "compute.interconnectGroups.setIamPolicy", "parameterOrder": [ "project", "resource" @@ -16105,7 +16570,7 @@ "type": "string" } }, - "path": "projects/{project}/global/interconnects/{resource}/setIamPolicy", + "path": "projects/{project}/global/interconnectGroups/{resource}/setIamPolicy", "request": { "$ref": "GlobalSetPolicyRequest" }, @@ -16117,11 +16582,11 @@ "https://www.googleapis.com/auth/compute" ] }, - "setLabels": { - "description": "Sets the labels on an Interconnect. To learn more about labels, read the Labeling Resources documentation.", - "flatPath": "projects/{project}/global/interconnects/{resource}/setLabels", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/global/interconnectGroups/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.interconnects.setLabels", + "id": "compute.interconnectGroups.testIamPermissions", "parameterOrder": [ "project", "resource" @@ -16142,75 +16607,88 @@ "type": "string" } }, - "path": "projects/{project}/global/interconnects/{resource}/setLabels", + "path": "projects/{project}/global/interconnectGroups/{resource}/testIamPermissions", "request": { - "$ref": "GlobalSetLabelsRequest" + "$ref": "TestPermissionsRequest" }, "response": { - "$ref": "Operation" + "$ref": "TestPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] - }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/global/interconnects/{resource}/testIamPermissions", - "httpMethod": "POST", - "id": "compute.interconnects.testIamPermissions", + } + } + }, + "interconnectLocations": { + "methods": { + "get": { + "description": "Returns the details for the specified interconnect location. Gets a list of available interconnect locations by making a list() request.", + "flatPath": "projects/{project}/global/interconnectLocations/{interconnectLocation}", + "httpMethod": "GET", + "id": "compute.interconnectLocations.get", "parameterOrder": [ "project", - "resource" + "interconnectLocation" ], "parameters": { - "project": { - "description": "Project ID for this request.", + "interconnectLocation": { + "description": "Name of the interconnect location to return.", "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "project": { + "description": "Project ID for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" } }, - "path": "projects/{project}/global/interconnects/{resource}/testIamPermissions", - "request": { - "$ref": "TestPermissionsRequest" - }, + "path": "projects/{project}/global/interconnectLocations/{interconnectLocation}", "response": { - "$ref": "TestPermissionsResponse" + "$ref": "InterconnectLocation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - } - } - }, - "licenseCodes": { - "methods": { - "get": { - "description": "Return a specified license code. License codes are mirrored across all projects that have permissions to read the License Code. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", - "flatPath": "projects/{project}/global/licenseCodes/{licenseCode}", + }, + "list": { + "description": "Retrieves the list of interconnect locations available to the specified project.", + "flatPath": "projects/{project}/global/interconnectLocations", "httpMethod": "GET", - "id": "compute.licenseCodes.get", + "id": "compute.interconnectLocations.list", "parameterOrder": [ - "project", - "licenseCode" + "project" ], "parameters": { - "licenseCode": { - "description": "Number corresponding to the License code resource to return.", - "location": "path", - "pattern": "[0-9]{0,61}?", - "required": true, + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", "type": "string" }, "project": { @@ -16219,11 +16697,16 @@ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" } }, - "path": "projects/{project}/global/licenseCodes/{licenseCode}", + "path": "projects/{project}/global/interconnectLocations", "response": { - "$ref": "LicenseCode" + "$ref": "InterconnectLocationList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -16231,22 +16714,16 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "getIamPolicy": { - "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", - "flatPath": "projects/{project}/global/licenseCodes/{resource}/getIamPolicy", - "httpMethod": "GET", - "id": "compute.licenseCodes.getIamPolicy", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/global/interconnectLocations/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.interconnectLocations.testIamPermissions", "parameterOrder": [ "project", "resource" ], "parameters": { - "optionsRequestedPolicyVersion": { - "description": "Requested IAM Policy version.", - "format": "int32", - "location": "query", - "type": "integer" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -16262,58 +16739,118 @@ "type": "string" } }, - "path": "projects/{project}/global/licenseCodes/{resource}/getIamPolicy", + "path": "projects/{project}/global/interconnectLocations/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, "response": { - "$ref": "Policy" + "$ref": "TestPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", - "flatPath": "projects/{project}/global/licenseCodes/{resource}/setIamPolicy", - "httpMethod": "POST", - "id": "compute.licenseCodes.setIamPolicy", + } + } + }, + "interconnectRemoteLocations": { + "methods": { + "get": { + "description": "Returns the details for the specified interconnect remote location. Gets a list of available interconnect remote locations by making a list() request.", + "flatPath": "projects/{project}/global/interconnectRemoteLocations/{interconnectRemoteLocation}", + "httpMethod": "GET", + "id": "compute.interconnectRemoteLocations.get", "parameterOrder": [ "project", - "resource" + "interconnectRemoteLocation" ], "parameters": { + "interconnectRemoteLocation": { + "description": "Name of the interconnect remote location to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" + } + }, + "path": "projects/{project}/global/interconnectRemoteLocations/{interconnectRemoteLocation}", + "response": { + "$ref": "InterconnectRemoteLocation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "list": { + "description": "Retrieves the list of interconnect remote locations available to the specified project.", + "flatPath": "projects/{project}/global/interconnectRemoteLocations", + "httpMethod": "GET", + "id": "compute.interconnectRemoteLocations.list", + "parameterOrder": [ + "project" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" } }, - "path": "projects/{project}/global/licenseCodes/{resource}/setIamPolicy", - "request": { - "$ref": "GlobalSetPolicyRequest" - }, + "path": "projects/{project}/global/interconnectRemoteLocations", "response": { - "$ref": "Policy" + "$ref": "InterconnectRemoteLocationList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", - "flatPath": "projects/{project}/global/licenseCodes/{resource}/testIamPermissions", + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/global/interconnectRemoteLocations/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.licenseCodes.testIamPermissions", + "id": "compute.interconnectRemoteLocations.testIamPermissions", "parameterOrder": [ "project", "resource" @@ -16334,7 +16871,7 @@ "type": "string" } }, - "path": "projects/{project}/global/licenseCodes/{resource}/testIamPermissions", + "path": "projects/{project}/global/interconnectRemoteLocations/{resource}/testIamPermissions", "request": { "$ref": "TestPermissionsRequest" }, @@ -16349,20 +16886,20 @@ } } }, - "licenses": { + "interconnects": { "methods": { "delete": { - "description": "Deletes the specified license. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", - "flatPath": "projects/{project}/global/licenses/{license}", + "description": "Deletes the specified Interconnect.", + "flatPath": "projects/{project}/global/interconnects/{interconnect}", "httpMethod": "DELETE", - "id": "compute.licenses.delete", + "id": "compute.interconnects.delete", "parameterOrder": [ "project", - "license" + "interconnect" ], "parameters": { - "license": { - "description": "Name of the license resource to delete.", + "interconnect": { + "description": "Name of the interconnect to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -16381,7 +16918,7 @@ "type": "string" } }, - "path": "projects/{project}/global/licenses/{license}", + "path": "projects/{project}/global/interconnects/{interconnect}", "response": { "$ref": "Operation" }, @@ -16391,17 +16928,17 @@ ] }, "get": { - "description": "Returns the specified License resource. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", - "flatPath": "projects/{project}/global/licenses/{license}", + "description": "Returns the specified Interconnect. Get a list of available Interconnects by making a list() request.", + "flatPath": "projects/{project}/global/interconnects/{interconnect}", "httpMethod": "GET", - "id": "compute.licenses.get", + "id": "compute.interconnects.get", "parameterOrder": [ "project", - "license" + "interconnect" ], "parameters": { - "license": { - "description": "Name of the License resource to return.", + "interconnect": { + "description": "Name of the interconnect to return.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -16415,9 +16952,44 @@ "type": "string" } }, - "path": "projects/{project}/global/licenses/{license}", + "path": "projects/{project}/global/interconnects/{interconnect}", "response": { - "$ref": "License" + "$ref": "Interconnect" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "getDiagnostics": { + "description": "Returns the interconnectDiagnostics for the specified Interconnect. In the event of a global outage, do not use this API to make decisions about where to redirect your network traffic. Unlike a VLAN attachment, which is regional, a Cloud Interconnect connection is a global resource. A global outage can prevent this API from functioning properly.", + "flatPath": "projects/{project}/global/interconnects/{interconnect}/getDiagnostics", + "httpMethod": "GET", + "id": "compute.interconnects.getDiagnostics", + "parameterOrder": [ + "project", + "interconnect" + ], + "parameters": { + "interconnect": { + "description": "Name of the interconnect resource to query.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/interconnects/{interconnect}/getDiagnostics", + "response": { + "$ref": "InterconnectsGetDiagnosticsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -16426,10 +16998,10 @@ ] }, "getIamPolicy": { - "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", - "flatPath": "projects/{project}/global/licenses/{resource}/getIamPolicy", + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "flatPath": "projects/{project}/global/interconnects/{resource}/getIamPolicy", "httpMethod": "GET", - "id": "compute.licenses.getIamPolicy", + "id": "compute.interconnects.getIamPolicy", "parameterOrder": [ "project", "resource" @@ -16456,7 +17028,7 @@ "type": "string" } }, - "path": "projects/{project}/global/licenses/{resource}/getIamPolicy", + "path": "projects/{project}/global/interconnects/{resource}/getIamPolicy", "response": { "$ref": "Policy" }, @@ -16466,11 +17038,46 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "getMacsecConfig": { + "description": "Returns the interconnectMacsecConfig for the specified Interconnect.", + "flatPath": "projects/{project}/global/interconnects/{interconnect}/getMacsecConfig", + "httpMethod": "GET", + "id": "compute.interconnects.getMacsecConfig", + "parameterOrder": [ + "project", + "interconnect" + ], + "parameters": { + "interconnect": { + "description": "Name of the interconnect resource to query.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/interconnects/{interconnect}/getMacsecConfig", + "response": { + "$ref": "InterconnectsGetMacsecConfigResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, "insert": { - "description": "Create a License resource in the specified project. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", - "flatPath": "projects/{project}/global/licenses", + "description": "Creates an Interconnect in the specified project using the data included in the request.", + "flatPath": "projects/{project}/global/interconnects", "httpMethod": "POST", - "id": "compute.licenses.insert", + "id": "compute.interconnects.insert", "parameterOrder": [ "project" ], @@ -16488,26 +17095,23 @@ "type": "string" } }, - "path": "projects/{project}/global/licenses", + "path": "projects/{project}/global/interconnects", "request": { - "$ref": "License" + "$ref": "Interconnect" }, "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/devstorage.full_control", - "https://www.googleapis.com/auth/devstorage.read_only", - "https://www.googleapis.com/auth/devstorage.read_write" + "https://www.googleapis.com/auth/compute" ] }, "list": { - "description": "Retrieves the list of licenses available in the specified project. This method does not get any licenses that belong to other projects, including licenses attached to publicly-available images, like Debian 9. If you want to get a list of publicly-available licenses, use this method to make a request to the respective image project, such as debian-cloud or windows-cloud. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", - "flatPath": "projects/{project}/global/licenses", + "description": "Retrieves the list of Interconnects available to the specified project.", + "flatPath": "projects/{project}/global/interconnects", "httpMethod": "GET", - "id": "compute.licenses.list", + "id": "compute.interconnects.list", "parameterOrder": [ "project" ], @@ -16548,9 +17152,9 @@ "type": "boolean" } }, - "path": "projects/{project}/global/licenses", + "path": "projects/{project}/global/interconnects", "response": { - "$ref": "LicensesListResponse" + "$ref": "InterconnectList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -16558,11 +17162,53 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "patch": { + "description": "Updates the specified Interconnect with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", + "flatPath": "projects/{project}/global/interconnects/{interconnect}", + "httpMethod": "PATCH", + "id": "compute.interconnects.patch", + "parameterOrder": [ + "project", + "interconnect" + ], + "parameters": { + "interconnect": { + "description": "Name of the interconnect to update.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/global/interconnects/{interconnect}", + "request": { + "$ref": "Interconnect" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", - "flatPath": "projects/{project}/global/licenses/{resource}/setIamPolicy", + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "projects/{project}/global/interconnects/{resource}/setIamPolicy", "httpMethod": "POST", - "id": "compute.licenses.setIamPolicy", + "id": "compute.interconnects.setIamPolicy", "parameterOrder": [ "project", "resource" @@ -16583,7 +17229,7 @@ "type": "string" } }, - "path": "projects/{project}/global/licenses/{resource}/setIamPolicy", + "path": "projects/{project}/global/interconnects/{resource}/setIamPolicy", "request": { "$ref": "GlobalSetPolicyRequest" }, @@ -16595,11 +17241,11 @@ "https://www.googleapis.com/auth/compute" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", - "flatPath": "projects/{project}/global/licenses/{resource}/testIamPermissions", + "setLabels": { + "description": "Sets the labels on an Interconnect. To learn more about labels, read the Labeling Resources documentation.", + "flatPath": "projects/{project}/global/interconnects/{resource}/setLabels", "httpMethod": "POST", - "id": "compute.licenses.testIamPermissions", + "id": "compute.interconnects.setLabels", "parameterOrder": [ "project", "resource" @@ -16620,40 +17266,28 @@ "type": "string" } }, - "path": "projects/{project}/global/licenses/{resource}/testIamPermissions", + "path": "projects/{project}/global/interconnects/{resource}/setLabels", "request": { - "$ref": "TestPermissionsRequest" + "$ref": "GlobalSetLabelsRequest" }, "response": { - "$ref": "TestPermissionsResponse" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] - } - } - }, - "machineImages": { - "methods": { - "delete": { - "description": "Deletes the specified machine image. Deleting a machine image is permanent and cannot be undone.", - "flatPath": "projects/{project}/global/machineImages/{machineImage}", - "httpMethod": "DELETE", - "id": "compute.machineImages.delete", + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/global/interconnects/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.interconnects.testIamPermissions", "parameterOrder": [ "project", - "machineImage" + "resource" ], "parameters": { - "machineImage": { - "description": "The name of the machine image to delete.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -16661,35 +17295,45 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, "type": "string" } }, - "path": "projects/{project}/global/machineImages/{machineImage}", + "path": "projects/{project}/global/interconnects/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, "response": { - "$ref": "Operation" + "$ref": "TestPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] - }, + } + } + }, + "licenseCodes": { + "methods": { "get": { - "description": "Returns the specified machine image.", - "flatPath": "projects/{project}/global/machineImages/{machineImage}", + "description": "Return a specified license code. License codes are mirrored across all projects that have permissions to read the License Code. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", + "flatPath": "projects/{project}/global/licenseCodes/{licenseCode}", "httpMethod": "GET", - "id": "compute.machineImages.get", + "id": "compute.licenseCodes.get", "parameterOrder": [ "project", - "machineImage" + "licenseCode" ], "parameters": { - "machineImage": { - "description": "The name of the machine image.", + "licenseCode": { + "description": "Number corresponding to the License code resource to return.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[0-9]{0,61}?", "required": true, "type": "string" }, @@ -16701,9 +17345,9 @@ "type": "string" } }, - "path": "projects/{project}/global/machineImages/{machineImage}", + "path": "projects/{project}/global/licenseCodes/{licenseCode}", "response": { - "$ref": "MachineImage" + "$ref": "LicenseCode" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -16712,10 +17356,10 @@ ] }, "getIamPolicy": { - "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", - "flatPath": "projects/{project}/global/machineImages/{resource}/getIamPolicy", + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", + "flatPath": "projects/{project}/global/licenseCodes/{resource}/getIamPolicy", "httpMethod": "GET", - "id": "compute.machineImages.getIamPolicy", + "id": "compute.licenseCodes.getIamPolicy", "parameterOrder": [ "project", "resource" @@ -16742,7 +17386,7 @@ "type": "string" } }, - "path": "projects/{project}/global/machineImages/{resource}/getIamPolicy", + "path": "projects/{project}/global/licenseCodes/{resource}/getIamPolicy", "response": { "$ref": "Policy" }, @@ -16752,13 +17396,14 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "insert": { - "description": "Creates a machine image in the specified project using the data that is included in the request. If you are creating a new machine image to update an existing instance, your new machine image should use the same network or, if applicable, the same subnetwork as the original instance.", - "flatPath": "projects/{project}/global/machineImages", + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", + "flatPath": "projects/{project}/global/licenseCodes/{resource}/setIamPolicy", "httpMethod": "POST", - "id": "compute.machineImages.insert", + "id": "compute.licenseCodes.setIamPolicy", "parameterOrder": [ - "project" + "project", + "resource" ], "parameters": { "project": { @@ -16768,59 +17413,83 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "sourceInstance": { - "description": "Required. Source instance that is used to create the machine image from.", - "location": "query", + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, "type": "string" } }, - "path": "projects/{project}/global/machineImages", + "path": "projects/{project}/global/licenseCodes/{resource}/setIamPolicy", "request": { - "$ref": "MachineImage" + "$ref": "GlobalSetPolicyRequest" }, "response": { - "$ref": "Operation" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] }, - "list": { - "description": "Retrieves a list of machine images that are contained within the specified project.", - "flatPath": "projects/{project}/global/machineImages", - "httpMethod": "GET", - "id": "compute.machineImages.list", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", + "flatPath": "projects/{project}/global/licenseCodes/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.licenseCodes.testIamPermissions", "parameterOrder": [ - "project" + "project", + "resource" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, "type": "string" }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/licenseCodes/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, + "response": { + "$ref": "TestPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, + "licenses": { + "methods": { + "delete": { + "description": "Deletes the specified license. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", + "flatPath": "projects/{project}/global/licenses/{license}", + "httpMethod": "DELETE", + "id": "compute.licenses.delete", + "parameterOrder": [ + "project", + "license" + ], + "parameters": { + "license": { + "description": "Name of the license resource to delete.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, "type": "string" }, "project": { @@ -16830,15 +17499,49 @@ "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", - "type": "boolean" + "type": "string" } }, - "path": "projects/{project}/global/machineImages", + "path": "projects/{project}/global/licenses/{license}", "response": { - "$ref": "MachineImageList" + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Returns the specified License resource. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", + "flatPath": "projects/{project}/global/licenses/{license}", + "httpMethod": "GET", + "id": "compute.licenses.get", + "parameterOrder": [ + "project", + "license" + ], + "parameters": { + "license": { + "description": "Name of the License resource to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/licenses/{license}", + "response": { + "$ref": "License" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -16846,16 +17549,22 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", - "flatPath": "projects/{project}/global/machineImages/{resource}/setIamPolicy", - "httpMethod": "POST", - "id": "compute.machineImages.setIamPolicy", + "getIamPolicy": { + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", + "flatPath": "projects/{project}/global/licenses/{resource}/getIamPolicy", + "httpMethod": "GET", + "id": "compute.licenses.getIamPolicy", "parameterOrder": [ "project", "resource" ], "parameters": { + "optionsRequestedPolicyVersion": { + "description": "Requested IAM Policy version.", + "format": "int32", + "location": "query", + "type": "integer" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -16871,26 +17580,23 @@ "type": "string" } }, - "path": "projects/{project}/global/machineImages/{resource}/setIamPolicy", - "request": { - "$ref": "GlobalSetPolicyRequest" - }, + "path": "projects/{project}/global/licenses/{resource}/getIamPolicy", "response": { "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/global/machineImages/{resource}/testIamPermissions", + "insert": { + "description": "Create a License resource in the specified project. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", + "flatPath": "projects/{project}/global/licenses", "httpMethod": "POST", - "id": "compute.machineImages.testIamPermissions", + "id": "compute.licenses.insert", "parameterOrder": [ - "project", - "resource" + "project" ], "parameters": { "project": { @@ -16900,36 +17606,32 @@ "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", "type": "string" } }, - "path": "projects/{project}/global/machineImages/{resource}/testIamPermissions", + "path": "projects/{project}/global/licenses", "request": { - "$ref": "TestPermissionsRequest" + "$ref": "License" }, "response": { - "$ref": "TestPermissionsResponse" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/devstorage.full_control", + "https://www.googleapis.com/auth/devstorage.read_only", + "https://www.googleapis.com/auth/devstorage.read_write" ] - } - } - }, - "machineTypes": { - "methods": { - "aggregatedList": { - "description": "Retrieves an aggregated list of machine types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/machineTypes", + }, + "list": { + "description": "Retrieves the list of licenses available in the specified project. This method does not get any licenses that belong to other projects, including licenses attached to publicly-available images, like Debian 9. If you want to get a list of publicly-available licenses, use this method to make a request to the respective image project, such as debian-cloud or windows-cloud. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", + "flatPath": "projects/{project}/global/licenses", "httpMethod": "GET", - "id": "compute.machineTypes.aggregatedList", + "id": "compute.licenses.list", "parameterOrder": [ "project" ], @@ -16939,11 +17641,6 @@ "location": "query", "type": "string" }, - "includeAllScopes": { - "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", - "location": "query", - "type": "boolean" - }, "maxResults": { "default": "500", "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", @@ -16973,17 +17670,11 @@ "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" - }, - "serviceProjectNumber": { - "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", - "format": "int64", - "location": "query", - "type": "string" } }, - "path": "projects/{project}/aggregated/machineTypes", + "path": "projects/{project}/global/licenses", "response": { - "$ref": "MachineTypeAggregatedList" + "$ref": "LicensesListResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -16991,24 +17682,16 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "get": { - "description": "Returns the specified machine type.", - "flatPath": "projects/{project}/zones/{zone}/machineTypes/{machineType}", - "httpMethod": "GET", - "id": "compute.machineTypes.get", + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", + "flatPath": "projects/{project}/global/licenses/{resource}/setIamPolicy", + "httpMethod": "POST", + "id": "compute.licenses.setIamPolicy", "parameterOrder": [ "project", - "zone", - "machineType" + "resource" ], "parameters": { - "machineType": { - "description": "Name of the machine type to return.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -17016,57 +17699,36 @@ "required": true, "type": "string" }, - "zone": { - "description": "The name of the zone for this request.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/machineTypes/{machineType}", + "path": "projects/{project}/global/licenses/{resource}/setIamPolicy", + "request": { + "$ref": "GlobalSetPolicyRequest" + }, "response": { - "$ref": "MachineType" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "list": { - "description": "Retrieves a list of machine types available to the specified project.", - "flatPath": "projects/{project}/zones/{zone}/machineTypes", - "httpMethod": "GET", - "id": "compute.machineTypes.list", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", + "flatPath": "projects/{project}/global/licenses/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.licenses.testIamPermissions", "parameterOrder": [ "project", - "zone" + "resource" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -17074,68 +17736,42 @@ "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" - }, - "zone": { - "description": "The name of the zone for this request.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/machineTypes", + "path": "projects/{project}/global/licenses/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, "response": { - "$ref": "MachineTypeList" + "$ref": "TestPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - } - } - }, - "networkAttachments": { - "methods": { - "aggregatedList": { - "description": "Retrieves the list of all NetworkAttachment resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/networkAttachments", - "httpMethod": "GET", - "id": "compute.networkAttachments.aggregatedList", + }, + "update": { + "description": "Updates a License resource in the specified project. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. ", + "flatPath": "projects/{project}/global/licenses/{license}", + "httpMethod": "PATCH", + "id": "compute.licenses.update", "parameterOrder": [ - "project" + "project", + "license" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "includeAllScopes": { - "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", - "location": "query", - "type": "boolean" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", + "license": { + "description": "The license name for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, "type": "string" }, "project": { @@ -17145,41 +17781,46 @@ "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", - "type": "boolean" + "type": "string" }, - "serviceProjectNumber": { - "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", - "format": "int64", + "updateMask": { + "description": "update_mask indicates fields to be updated as part of this request.", + "format": "google-fieldmask", "location": "query", "type": "string" } }, - "path": "projects/{project}/aggregated/networkAttachments", + "path": "projects/{project}/global/licenses/{license}", + "request": { + "$ref": "License" + }, "response": { - "$ref": "NetworkAttachmentAggregatedList" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] - }, + } + } + }, + "machineImages": { + "methods": { "delete": { - "description": "Deletes the specified NetworkAttachment in the given scope", - "flatPath": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", + "description": "Deletes the specified machine image. Deleting a machine image is permanent and cannot be undone.", + "flatPath": "projects/{project}/global/machineImages/{machineImage}", "httpMethod": "DELETE", - "id": "compute.networkAttachments.delete", + "id": "compute.machineImages.delete", "parameterOrder": [ "project", - "region", - "networkAttachment" + "machineImage" ], "parameters": { - "networkAttachment": { - "description": "Name of the NetworkAttachment resource to delete.", + "machineImage": { + "description": "The name of the machine image to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -17192,20 +17833,13 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region of this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", + "path": "projects/{project}/global/machineImages/{machineImage}", "response": { "$ref": "Operation" }, @@ -17215,18 +17849,17 @@ ] }, "get": { - "description": "Returns the specified NetworkAttachment resource in the given scope.", - "flatPath": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", + "description": "Returns the specified machine image.", + "flatPath": "projects/{project}/global/machineImages/{machineImage}", "httpMethod": "GET", - "id": "compute.networkAttachments.get", + "id": "compute.machineImages.get", "parameterOrder": [ "project", - "region", - "networkAttachment" + "machineImage" ], "parameters": { - "networkAttachment": { - "description": "Name of the NetworkAttachment resource to return.", + "machineImage": { + "description": "The name of the machine image.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -17238,18 +17871,11 @@ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" - }, - "region": { - "description": "Name of the region of this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" } }, - "path": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", + "path": "projects/{project}/global/machineImages/{machineImage}", "response": { - "$ref": "NetworkAttachment" + "$ref": "MachineImage" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -17259,12 +17885,11 @@ }, "getIamPolicy": { "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", - "flatPath": "projects/{project}/regions/{region}/networkAttachments/{resource}/getIamPolicy", + "flatPath": "projects/{project}/global/machineImages/{resource}/getIamPolicy", "httpMethod": "GET", - "id": "compute.networkAttachments.getIamPolicy", + "id": "compute.machineImages.getIamPolicy", "parameterOrder": [ "project", - "region", "resource" ], "parameters": { @@ -17281,22 +17906,15 @@ "required": true, "type": "string" }, - "region": { - "description": "The name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "resource": { "description": "Name or id of the resource for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/networkAttachments/{resource}/getIamPolicy", + "path": "projects/{project}/global/machineImages/{resource}/getIamPolicy", "response": { "$ref": "Policy" }, @@ -17307,13 +17925,12 @@ ] }, "insert": { - "description": "Creates a NetworkAttachment in the specified project in the given scope using the parameters that are included in the request.", - "flatPath": "projects/{project}/regions/{region}/networkAttachments", + "description": "Creates a machine image in the specified project using the data that is included in the request. If you are creating a new machine image to update an existing instance, your new machine image should use the same network or, if applicable, the same subnetwork as the original instance.", + "flatPath": "projects/{project}/global/machineImages", "httpMethod": "POST", - "id": "compute.networkAttachments.insert", + "id": "compute.machineImages.insert", "parameterOrder": [ - "project", - "region" + "project" ], "parameters": { "project": { @@ -17323,22 +17940,20 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region of this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", + "sourceInstance": { + "description": "Required. Source instance that is used to create the machine image from.", "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/networkAttachments", + "path": "projects/{project}/global/machineImages", "request": { - "$ref": "NetworkAttachment" + "$ref": "MachineImage" }, "response": { "$ref": "Operation" @@ -17349,13 +17964,12 @@ ] }, "list": { - "description": "Lists the NetworkAttachments for a project in the given scope.", - "flatPath": "projects/{project}/regions/{region}/networkAttachments", + "description": "Retrieves a list of machine images that are contained within the specified project.", + "flatPath": "projects/{project}/global/machineImages", "httpMethod": "GET", - "id": "compute.networkAttachments.list", + "id": "compute.machineImages.list", "parameterOrder": [ - "project", - "region" + "project" ], "parameters": { "filter": { @@ -17388,22 +18002,15 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region of this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "returnPartialSuccess": { "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/networkAttachments", + "path": "projects/{project}/global/machineImages", "response": { - "$ref": "NetworkAttachmentList" + "$ref": "MachineImageList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -17411,24 +18018,16 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "patch": { - "description": "Patches the specified NetworkAttachment resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", - "flatPath": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", - "httpMethod": "PATCH", - "id": "compute.networkAttachments.patch", + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "projects/{project}/global/machineImages/{resource}/setIamPolicy", + "httpMethod": "POST", + "id": "compute.machineImages.setIamPolicy", "parameterOrder": [ "project", - "region", - "networkAttachment" + "resource" ], "parameters": { - "networkAttachment": { - "description": "Name of the NetworkAttachment resource to patch.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -17436,39 +18035,33 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region for this request.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", - "location": "query", - "type": "string" } }, - "path": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", + "path": "projects/{project}/global/machineImages/{resource}/setIamPolicy", "request": { - "$ref": "NetworkAttachment" + "$ref": "GlobalSetPolicyRequest" }, "response": { - "$ref": "Operation" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", - "flatPath": "projects/{project}/regions/{region}/networkAttachments/{resource}/setIamPolicy", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/global/machineImages/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.networkAttachments.setIamPolicy", + "id": "compute.machineImages.testIamPermissions", "parameterOrder": [ "project", - "region", "resource" ], "parameters": { @@ -17479,88 +18072,36 @@ "required": true, "type": "string" }, - "region": { - "description": "The name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "resource": { "description": "Name or id of the resource for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/networkAttachments/{resource}/setIamPolicy", + "path": "projects/{project}/global/machineImages/{resource}/testIamPermissions", "request": { - "$ref": "RegionSetPolicyRequest" + "$ref": "TestPermissionsRequest" }, "response": { - "$ref": "Policy" + "$ref": "TestPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/networkAttachments/{resource}/testIamPermissions", - "httpMethod": "POST", - "id": "compute.networkAttachments.testIamPermissions", - "parameterOrder": [ - "project", - "region", - "resource" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "The name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/networkAttachments/{resource}/testIamPermissions", - "request": { - "$ref": "TestPermissionsRequest" - }, - "response": { - "$ref": "TestPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] } } }, - "networkEdgeSecurityServices": { + "machineTypes": { "methods": { "aggregatedList": { - "description": "Retrieves the list of all NetworkEdgeSecurityService resources available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/networkEdgeSecurityServices", + "description": "Retrieves an aggregated list of machine types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/machineTypes", "httpMethod": "GET", - "id": "compute.networkEdgeSecurityServices.aggregatedList", + "id": "compute.machineTypes.aggregatedList", "parameterOrder": [ "project" ], @@ -17594,7 +18135,7 @@ "type": "string" }, "project": { - "description": "Name of the project scoping this request.", + "description": "Project ID for this request.", "location": "path", "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, @@ -17612,9 +18153,9 @@ "type": "string" } }, - "path": "projects/{project}/aggregated/networkEdgeSecurityServices", + "path": "projects/{project}/aggregated/machineTypes", "response": { - "$ref": "NetworkEdgeSecurityServiceAggregatedList" + "$ref": "MachineTypeAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -17622,66 +18163,19 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "delete": { - "description": "Deletes the specified service.", - "flatPath": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", - "httpMethod": "DELETE", - "id": "compute.networkEdgeSecurityServices.delete", - "parameterOrder": [ - "project", - "region", - "networkEdgeSecurityService" - ], - "parameters": { - "networkEdgeSecurityService": { - "description": "Name of the network edge security service to delete.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "Name of the region scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, "get": { - "description": "Gets a specified NetworkEdgeSecurityService.", - "flatPath": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", + "description": "Returns the specified machine type.", + "flatPath": "projects/{project}/zones/{zone}/machineTypes/{machineType}", "httpMethod": "GET", - "id": "compute.networkEdgeSecurityServices.get", + "id": "compute.machineTypes.get", "parameterOrder": [ "project", - "region", - "networkEdgeSecurityService" + "zone", + "machineType" ], "parameters": { - "networkEdgeSecurityService": { - "description": "Name of the network edge security service to get.", + "machineType": { + "description": "Name of the machine type to return.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -17694,17 +18188,17 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region scoping this request.", + "zone": { + "description": "The name of the zone for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", + "path": "projects/{project}/zones/{zone}/machineTypes/{machineType}", "response": { - "$ref": "NetworkEdgeSecurityService" + "$ref": "MachineType" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -17712,74 +18206,37 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "insert": { - "description": "Creates a new service in the specified project using the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/networkEdgeSecurityServices", - "httpMethod": "POST", - "id": "compute.networkEdgeSecurityServices.insert", + "list": { + "description": "Retrieves a list of machine types available to the specified project.", + "flatPath": "projects/{project}/zones/{zone}/machineTypes", + "httpMethod": "GET", + "id": "compute.machineTypes.list", "parameterOrder": [ "project", - "region" + "zone" ], "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "Name of the region scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", "location": "query", - "type": "string" + "minimum": "0", + "type": "integer" }, - "validateOnly": { - "description": "If true, the request will not be committed.", + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", "location": "query", - "type": "boolean" - } - }, - "path": "projects/{project}/regions/{region}/networkEdgeSecurityServices", - "request": { - "$ref": "NetworkEdgeSecurityService" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "patch": { - "description": "Patches the specified policy with the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", - "httpMethod": "PATCH", - "id": "compute.networkEdgeSecurityServices.patch", - "parameterOrder": [ - "project", - "region", - "networkEdgeSecurityService" - ], - "parameters": { - "networkEdgeSecurityService": { - "description": "Name of the network edge security service to update.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, "type": "string" }, - "paths": { + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", "location": "query", - "repeated": true, "type": "string" }, "project": { @@ -17789,46 +18246,38 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region scoping this request.", + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + }, + "zone": { + "description": "The name of the zone for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "updateMask": { - "description": "Indicates fields to be updated as part of this request.", - "format": "google-fieldmask", - "location": "query", - "type": "string" } }, - "path": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", - "request": { - "$ref": "NetworkEdgeSecurityService" - }, + "path": "projects/{project}/zones/{zone}/machineTypes", "response": { - "$ref": "Operation" + "$ref": "MachineTypeList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] } } }, - "networkEndpointGroups": { + "networkAttachments": { "methods": { "aggregatedList": { - "description": "Retrieves the list of network endpoint groups and sorts them by zone. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/networkEndpointGroups", + "description": "Retrieves the list of all NetworkAttachment resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/networkAttachments", "httpMethod": "GET", - "id": "compute.networkEndpointGroups.aggregatedList", + "id": "compute.networkAttachments.aggregatedList", "parameterOrder": [ "project" ], @@ -17880,9 +18329,9 @@ "type": "string" } }, - "path": "projects/{project}/aggregated/networkEndpointGroups", + "path": "projects/{project}/aggregated/networkAttachments", "response": { - "$ref": "NetworkEndpointGroupAggregatedList" + "$ref": "NetworkAttachmentAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -17890,20 +18339,21 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "attachNetworkEndpoints": { - "description": "Attach a list of network endpoints to the specified network endpoint group.", - "flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", - "httpMethod": "POST", - "id": "compute.networkEndpointGroups.attachNetworkEndpoints", + "delete": { + "description": "Deletes the specified NetworkAttachment in the given scope", + "flatPath": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", + "httpMethod": "DELETE", + "id": "compute.networkAttachments.delete", "parameterOrder": [ "project", - "zone", - "networkEndpointGroup" + "region", + "networkAttachment" ], "parameters": { - "networkEndpointGroup": { - "description": "The name of the network endpoint group where you are attaching network endpoints to. It should comply with RFC1035.", + "networkAttachment": { + "description": "Name of the NetworkAttachment resource to delete.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, @@ -17914,67 +18364,20 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "zone": { - "description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", - "request": { - "$ref": "NetworkEndpointGroupsAttachEndpointsRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "delete": { - "description": "Deletes the specified network endpoint group. The network endpoints in the NEG and the VM instances they belong to are not terminated when the NEG is deleted. Note that the NEG cannot be deleted if there are backend services referencing it.", - "flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", - "httpMethod": "DELETE", - "id": "compute.networkEndpointGroups.delete", - "parameterOrder": [ - "project", - "zone", - "networkEndpointGroup" - ], - "parameters": { - "networkEndpointGroup": { - "description": "The name of the network endpoint group to delete. It should comply with RFC1035.", - "location": "path", - "required": true, - "type": "string" - }, - "project": { - "description": "Project ID for this request.", + "region": { + "description": "Name of the region of this request.", "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", "location": "query", "type": "string" - }, - "zone": { - "description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", - "location": "path", - "required": true, - "type": "string" } }, - "path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", + "path": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", "response": { "$ref": "Operation" }, @@ -17983,20 +18386,21 @@ "https://www.googleapis.com/auth/compute" ] }, - "detachNetworkEndpoints": { - "description": "Detach a list of network endpoints from the specified network endpoint group.", - "flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", - "httpMethod": "POST", - "id": "compute.networkEndpointGroups.detachNetworkEndpoints", + "get": { + "description": "Returns the specified NetworkAttachment resource in the given scope.", + "flatPath": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", + "httpMethod": "GET", + "id": "compute.networkAttachments.get", "parameterOrder": [ "project", - "zone", - "networkEndpointGroup" + "region", + "networkAttachment" ], "parameters": { - "networkEndpointGroup": { - "description": "The name of the network endpoint group where you are removing network endpoints. It should comply with RFC1035.", + "networkAttachment": { + "description": "Name of the NetworkAttachment resource to return.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, @@ -18007,46 +18411,40 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "zone": { - "description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", + "region": { + "description": "Name of the region of this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", - "request": { - "$ref": "NetworkEndpointGroupsDetachEndpointsRequest" - }, + "path": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", "response": { - "$ref": "Operation" + "$ref": "NetworkAttachment" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "get": { - "description": "Returns the specified network endpoint group.", - "flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", + "getIamPolicy": { + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "flatPath": "projects/{project}/regions/{region}/networkAttachments/{resource}/getIamPolicy", "httpMethod": "GET", - "id": "compute.networkEndpointGroups.get", + "id": "compute.networkAttachments.getIamPolicy", "parameterOrder": [ "project", - "zone", - "networkEndpointGroup" + "region", + "resource" ], "parameters": { - "networkEndpointGroup": { - "description": "The name of the network endpoint group. It should comply with RFC1035.", - "location": "path", - "required": true, - "type": "string" + "optionsRequestedPolicyVersion": { + "description": "Requested IAM Policy version.", + "format": "int32", + "location": "query", + "type": "integer" }, "project": { "description": "Project ID for this request.", @@ -18055,16 +18453,24 @@ "required": true, "type": "string" }, - "zone": { - "description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", + "path": "projects/{project}/regions/{region}/networkAttachments/{resource}/getIamPolicy", "response": { - "$ref": "NetworkEndpointGroup" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -18073,13 +18479,13 @@ ] }, "insert": { - "description": "Creates a network endpoint group in the specified project using the parameters that are included in the request.", - "flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups", + "description": "Creates a NetworkAttachment in the specified project in the given scope using the parameters that are included in the request.", + "flatPath": "projects/{project}/regions/{region}/networkAttachments", "httpMethod": "POST", - "id": "compute.networkEndpointGroups.insert", + "id": "compute.networkAttachments.insert", "parameterOrder": [ "project", - "zone" + "region" ], "parameters": { "project": { @@ -18089,21 +18495,22 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "zone": { - "description": "The name of the zone where you want to create the network endpoint group. It should comply with RFC1035.", + "region": { + "description": "Name of the region of this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/zones/{zone}/networkEndpointGroups", + "path": "projects/{project}/regions/{region}/networkAttachments", "request": { - "$ref": "NetworkEndpointGroup" + "$ref": "NetworkAttachment" }, "response": { "$ref": "Operation" @@ -18114,13 +18521,13 @@ ] }, "list": { - "description": "Retrieves the list of network endpoint groups that are located in the specified project and zone.", - "flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups", + "description": "Lists the NetworkAttachments for a project in the given scope.", + "flatPath": "projects/{project}/regions/{region}/networkAttachments", "httpMethod": "GET", - "id": "compute.networkEndpointGroups.list", + "id": "compute.networkAttachments.list", "parameterOrder": [ "project", - "zone" + "region" ], "parameters": { "filter": { @@ -18153,21 +18560,22 @@ "required": true, "type": "string" }, + "region": { + "description": "Name of the region of this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, "returnPartialSuccess": { "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" - }, - "zone": { - "description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", - "location": "path", - "required": true, - "type": "string" } }, - "path": "projects/{project}/zones/{zone}/networkEndpointGroups", + "path": "projects/{project}/regions/{region}/networkAttachments", "response": { - "$ref": "NetworkEndpointGroupList" + "$ref": "NetworkAttachmentList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -18175,46 +18583,24 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "listNetworkEndpoints": { - "description": "Lists the network endpoints in the specified network endpoint group.", - "flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", - "httpMethod": "POST", - "id": "compute.networkEndpointGroups.listNetworkEndpoints", + "patch": { + "description": "Patches the specified NetworkAttachment resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", + "flatPath": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", + "httpMethod": "PATCH", + "id": "compute.networkAttachments.patch", "parameterOrder": [ "project", - "zone", - "networkEndpointGroup" + "region", + "networkAttachment" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "networkEndpointGroup": { - "description": "The name of the network endpoint group from which you want to generate a list of included network endpoints. It should comply with RFC1035.", + "networkAttachment": { + "description": "Name of the NetworkAttachment resource to patch.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -18222,39 +18608,39 @@ "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" - }, - "zone": { - "description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", + "region": { + "description": "Name of the region for this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", + "path": "projects/{project}/regions/{region}/networkAttachments/{networkAttachment}", "request": { - "$ref": "NetworkEndpointGroupsListEndpointsRequest" + "$ref": "NetworkAttachment" }, "response": { - "$ref": "NetworkEndpointGroupsListNetworkEndpoints" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{resource}/testIamPermissions", + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "projects/{project}/regions/{region}/networkAttachments/{resource}/setIamPolicy", "httpMethod": "POST", - "id": "compute.networkEndpointGroups.testIamPermissions", + "id": "compute.networkAttachments.setIamPolicy", "parameterOrder": [ "project", - "zone", + "region", "resource" ], "parameters": { @@ -18265,22 +18651,67 @@ "required": true, "type": "string" }, + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, "resource": { "description": "Name or id of the resource for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/networkAttachments/{resource}/setIamPolicy", + "request": { + "$ref": "RegionSetPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/regions/{region}/networkAttachments/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.networkAttachments.testIamPermissions", + "parameterOrder": [ + "project", + "region", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" }, - "zone": { - "description": "The name of the zone for this request.", + "region": { + "description": "The name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" } }, - "path": "projects/{project}/zones/{zone}/networkEndpointGroups/{resource}/testIamPermissions", + "path": "projects/{project}/regions/{region}/networkAttachments/{resource}/testIamPermissions", "request": { "$ref": "TestPermissionsRequest" }, @@ -18295,90 +18726,92 @@ } } }, - "networkFirewallPolicies": { + "networkEdgeSecurityServices": { "methods": { - "addAssociation": { - "description": "Inserts an association for the specified firewall policy.", - "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addAssociation", - "httpMethod": "POST", - "id": "compute.networkFirewallPolicies.addAssociation", + "aggregatedList": { + "description": "Retrieves the list of all NetworkEdgeSecurityService resources available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/networkEdgeSecurityServices", + "httpMethod": "GET", + "id": "compute.networkEdgeSecurityServices.aggregatedList", "parameterOrder": [ - "project", - "firewallPolicy" + "project" ], "parameters": { - "associatedPolicyToBeReplaced": { - "description": "Name of the firewall policy associated with the target network to swap association with. This field is mutually exclusive with 'replace_existing_association'.", + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", "location": "query", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "type": "string" }, - "firewallPolicy": { - "description": "Name of the firewall policy to update.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "location": "query", + "type": "boolean" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", "type": "string" }, "project": { - "description": "Project ID for this request.", + "description": "Name of the project scoping this request.", "location": "path", "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" }, - "replaceExistingAssociation": { - "description": "Indicates whether or not to replace it if an association of the attachment already exists. This is false by default, in which case an error will be returned if an association already exists.", + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "serviceProjectNumber": { + "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", + "format": "int64", "location": "query", "type": "string" } }, - "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addAssociation", - "request": { - "$ref": "FirewallPolicyAssociation" - }, + "path": "projects/{project}/aggregated/networkEdgeSecurityServices", "response": { - "$ref": "Operation" + "$ref": "NetworkEdgeSecurityServiceAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "addPacketMirroringRule": { - "description": "Inserts a packet mirroring rule into a firewall policy.", - "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addPacketMirroringRule", - "httpMethod": "POST", - "id": "compute.networkFirewallPolicies.addPacketMirroringRule", + "delete": { + "description": "Deletes the specified service.", + "flatPath": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", + "httpMethod": "DELETE", + "id": "compute.networkEdgeSecurityServices.delete", "parameterOrder": [ "project", - "firewallPolicy" + "region", + "networkEdgeSecurityService" ], "parameters": { - "firewallPolicy": { - "description": "Name of the firewall policy to update.", + "networkEdgeSecurityService": { + "description": "Name of the network edge security service to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "maxPriority": { - "description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "minPriority": { - "description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", - "format": "int32", - "location": "query", - "type": "integer" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -18386,16 +18819,20 @@ "required": true, "type": "string" }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } }, - "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addPacketMirroringRule", - "request": { - "$ref": "FirewallPolicyRule" - }, + "path": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", "response": { "$ref": "Operation" }, @@ -18404,35 +18841,24 @@ "https://www.googleapis.com/auth/compute" ] }, - "addRule": { - "description": "Inserts a rule into a firewall policy.", - "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addRule", - "httpMethod": "POST", - "id": "compute.networkFirewallPolicies.addRule", + "get": { + "description": "Gets a specified NetworkEdgeSecurityService.", + "flatPath": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", + "httpMethod": "GET", + "id": "compute.networkEdgeSecurityServices.get", "parameterOrder": [ "project", - "firewallPolicy" + "region", + "networkEdgeSecurityService" ], "parameters": { - "firewallPolicy": { - "description": "Name of the firewall policy to update.", + "networkEdgeSecurityService": { + "description": "Name of the network edge security service to get.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "maxPriority": { - "description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "minPriority": { - "description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", - "format": "int32", - "location": "query", - "type": "integer" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -18440,45 +18866,45 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, "type": "string" } }, - "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addRule", - "request": { - "$ref": "FirewallPolicyRule" - }, + "path": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", "response": { - "$ref": "Operation" + "$ref": "NetworkEdgeSecurityService" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "cloneRules": { - "description": "Copies rules to the specified firewall policy.", - "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/cloneRules", + "insert": { + "description": "Creates a new service in the specified project using the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/networkEdgeSecurityServices", "httpMethod": "POST", - "id": "compute.networkFirewallPolicies.cloneRules", + "id": "compute.networkEdgeSecurityServices.insert", "parameterOrder": [ "project", - "firewallPolicy" + "region" ], "parameters": { - "firewallPolicy": { - "description": "Name of the firewall policy to update.", + "project": { + "description": "Project ID for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" }, - "project": { - "description": "Project ID for this request.", + "region": { + "description": "Name of the region scoping this request.", "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -18487,13 +18913,16 @@ "location": "query", "type": "string" }, - "sourceFirewallPolicy": { - "description": "The firewall policy from which to copy rules.", + "validateOnly": { + "description": "If true, the request will not be committed.", "location": "query", - "type": "string" + "type": "boolean" } }, - "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/cloneRules", + "path": "projects/{project}/regions/{region}/networkEdgeSecurityServices", + "request": { + "$ref": "NetworkEdgeSecurityService" + }, "response": { "$ref": "Operation" }, @@ -18502,23 +18931,29 @@ "https://www.googleapis.com/auth/compute" ] }, - "delete": { - "description": "Deletes the specified policy.", - "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}", - "httpMethod": "DELETE", - "id": "compute.networkFirewallPolicies.delete", + "patch": { + "description": "Patches the specified policy with the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", + "httpMethod": "PATCH", + "id": "compute.networkEdgeSecurityServices.patch", "parameterOrder": [ "project", - "firewallPolicy" + "region", + "networkEdgeSecurityService" ], "parameters": { - "firewallPolicy": { - "description": "Name of the firewall policy to delete.", + "networkEdgeSecurityService": { + "description": "Name of the network edge security service to update.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, + "paths": { + "location": "query", + "repeated": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -18526,13 +18961,29 @@ "required": true, "type": "string" }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" + }, + "updateMask": { + "description": "Indicates fields to be updated as part of this request.", + "format": "google-fieldmask", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}", + "path": "projects/{project}/regions/{region}/networkEdgeSecurityServices/{networkEdgeSecurityService}", + "request": { + "$ref": "NetworkEdgeSecurityService" + }, "response": { "$ref": "Operation" }, @@ -18540,22 +18991,46 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] - }, - "get": { - "description": "Returns the specified network firewall policy.", - "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}", + } + } + }, + "networkEndpointGroups": { + "methods": { + "aggregatedList": { + "description": "Retrieves the list of network endpoint groups and sorts them by zone. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/networkEndpointGroups", "httpMethod": "GET", - "id": "compute.networkFirewallPolicies.get", + "id": "compute.networkEndpointGroups.aggregatedList", "parameterOrder": [ - "project", - "firewallPolicy" + "project" ], "parameters": { - "firewallPolicy": { - "description": "Name of the firewall policy to get.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "location": "query", + "type": "boolean" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", "type": "string" }, "project": { @@ -18564,11 +19039,22 @@ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + }, + "serviceProjectNumber": { + "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", + "format": "int64", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}", + "path": "projects/{project}/aggregated/networkEndpointGroups", "response": { - "$ref": "FirewallPolicy" + "$ref": "NetworkEndpointGroupAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -18576,61 +19062,70 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "getAssociation": { - "description": "Gets an association with the specified name.", - "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getAssociation", - "httpMethod": "GET", - "id": "compute.networkFirewallPolicies.getAssociation", + "attachNetworkEndpoints": { + "description": "Attach a list of network endpoints to the specified network endpoint group.", + "flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", + "httpMethod": "POST", + "id": "compute.networkEndpointGroups.attachNetworkEndpoints", "parameterOrder": [ "project", - "firewallPolicy" + "zone", + "networkEndpointGroup" ], "parameters": { - "firewallPolicy": { - "description": "Name of the firewall policy to which the queried association belongs.", + "networkEndpointGroup": { + "description": "The name of the network endpoint group where you are attaching network endpoints to. It should comply with RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "name": { - "description": "The name of the association to get from the firewall policy.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "zone": { + "description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" } }, - "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getAssociation", + "path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", + "request": { + "$ref": "NetworkEndpointGroupsAttachEndpointsRequest" + }, "response": { - "$ref": "FirewallPolicyAssociation" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "getIamPolicy": { - "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", - "flatPath": "projects/{project}/global/firewallPolicies/{resource}/getIamPolicy", - "httpMethod": "GET", - "id": "compute.networkFirewallPolicies.getIamPolicy", + "delete": { + "description": "Deletes the specified network endpoint group. The network endpoints in the NEG and the VM instances they belong to are not terminated when the NEG is deleted. Note that the NEG cannot be deleted if there are backend services referencing it.", + "flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", + "httpMethod": "DELETE", + "id": "compute.networkEndpointGroups.delete", "parameterOrder": [ "project", - "resource" + "zone", + "networkEndpointGroup" ], "parameters": { - "optionsRequestedPolicyVersion": { - "description": "Requested IAM Policy version.", - "format": "int32", - "location": "query", - "type": "integer" + "networkEndpointGroup": { + "description": "The name of the network endpoint group to delete. It should comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" }, "project": { "description": "Project ID for this request.", @@ -18639,99 +19134,109 @@ "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "zone": { + "description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/firewallPolicies/{resource}/getIamPolicy", + "path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", "response": { - "$ref": "Policy" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "getPacketMirroringRule": { - "description": "Gets a packet mirroring rule of the specified priority.", - "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getPacketMirroringRule", - "httpMethod": "GET", - "id": "compute.networkFirewallPolicies.getPacketMirroringRule", + "detachNetworkEndpoints": { + "description": "Detach a list of network endpoints from the specified network endpoint group.", + "flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", + "httpMethod": "POST", + "id": "compute.networkEndpointGroups.detachNetworkEndpoints", "parameterOrder": [ "project", - "firewallPolicy" + "zone", + "networkEndpointGroup" ], "parameters": { - "firewallPolicy": { - "description": "Name of the firewall policy to which the queried rule belongs.", + "networkEndpointGroup": { + "description": "The name of the network endpoint group where you are removing network endpoints. It should comply with RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "priority": { - "description": "The priority of the rule to get from the firewall policy.", - "format": "int32", - "location": "query", - "type": "integer" - }, "project": { "description": "Project ID for this request.", "location": "path", "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "zone": { + "description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" } }, - "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getPacketMirroringRule", + "path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", + "request": { + "$ref": "NetworkEndpointGroupsDetachEndpointsRequest" + }, "response": { - "$ref": "FirewallPolicyRule" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "getRule": { - "description": "Gets a rule of the specified priority.", - "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getRule", + "get": { + "description": "Returns the specified network endpoint group.", + "flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", "httpMethod": "GET", - "id": "compute.networkFirewallPolicies.getRule", + "id": "compute.networkEndpointGroups.get", "parameterOrder": [ "project", - "firewallPolicy" + "zone", + "networkEndpointGroup" ], "parameters": { - "firewallPolicy": { - "description": "Name of the firewall policy to which the queried rule belongs.", + "networkEndpointGroup": { + "description": "The name of the network endpoint group. It should comply with RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "priority": { - "description": "The priority of the rule to get from the firewall policy.", - "format": "int32", - "location": "query", - "type": "integer" - }, "project": { "description": "Project ID for this request.", "location": "path", "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" + }, + "zone": { + "description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" } }, - "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getRule", + "path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}", "response": { - "$ref": "FirewallPolicyRule" + "$ref": "NetworkEndpointGroup" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -18740,12 +19245,13 @@ ] }, "insert": { - "description": "Creates a new policy in the specified project using the data included in the request.", - "flatPath": "projects/{project}/global/firewallPolicies", + "description": "Creates a network endpoint group in the specified project using the parameters that are included in the request.", + "flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups", "httpMethod": "POST", - "id": "compute.networkFirewallPolicies.insert", + "id": "compute.networkEndpointGroups.insert", "parameterOrder": [ - "project" + "project", + "zone" ], "parameters": { "project": { @@ -18759,11 +19265,17 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" + }, + "zone": { + "description": "The name of the zone where you want to create the network endpoint group. It should comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" } }, - "path": "projects/{project}/global/firewallPolicies", + "path": "projects/{project}/zones/{zone}/networkEndpointGroups", "request": { - "$ref": "FirewallPolicy" + "$ref": "NetworkEndpointGroup" }, "response": { "$ref": "Operation" @@ -18774,12 +19286,13 @@ ] }, "list": { - "description": "Lists all the policies that have been configured for the specified project.", - "flatPath": "projects/{project}/global/firewallPolicies", + "description": "Retrieves the list of network endpoint groups that are located in the specified project and zone.", + "flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups", "httpMethod": "GET", - "id": "compute.networkFirewallPolicies.list", + "id": "compute.networkEndpointGroups.list", "parameterOrder": [ - "project" + "project", + "zone" ], "parameters": { "filter": { @@ -18816,11 +19329,17 @@ "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" + }, + "zone": { + "description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" } }, - "path": "projects/{project}/global/firewallPolicies", + "path": "projects/{project}/zones/{zone}/networkEndpointGroups", "response": { - "$ref": "FirewallPolicyList" + "$ref": "NetworkEndpointGroupList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -18828,23 +19347,46 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "patch": { - "description": "Patches the specified policy with the data included in the request.", - "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}", - "httpMethod": "PATCH", - "id": "compute.networkFirewallPolicies.patch", + "listNetworkEndpoints": { + "description": "Lists the network endpoints in the specified network endpoint group.", + "flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", + "httpMethod": "POST", + "id": "compute.networkEndpointGroups.listNetworkEndpoints", "parameterOrder": [ "project", - "firewallPolicy" + "zone", + "networkEndpointGroup" ], "parameters": { - "firewallPolicy": { - "description": "Name of the firewall policy to update.", + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "networkEndpointGroup": { + "description": "The name of the network endpoint group from which you want to generate a list of included network endpoints. It should comply with RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -18852,34 +19394,97 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", + "type": "boolean" + }, + "zone": { + "description": "The name of the zone where the network endpoint group is located. It should comply with RFC1035.", + "location": "path", + "required": true, "type": "string" } }, - "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}", + "path": "projects/{project}/zones/{zone}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", "request": { - "$ref": "FirewallPolicy" + "$ref": "NetworkEndpointGroupsListEndpointsRequest" }, "response": { - "$ref": "Operation" + "$ref": "NetworkEndpointGroupsListNetworkEndpoints" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "patchAssociation": { - "description": "Updates an association for the specified network firewall policy.", - "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchAssociation", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/zones/{zone}/networkEndpointGroups/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.networkFirewallPolicies.patchAssociation", + "id": "compute.networkEndpointGroups.testIamPermissions", + "parameterOrder": [ + "project", + "zone", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "zone": { + "description": "The name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/networkEndpointGroups/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, + "response": { + "$ref": "TestPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, + "networkFirewallPolicies": { + "methods": { + "addAssociation": { + "description": "Inserts an association for the specified firewall policy.", + "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addAssociation", + "httpMethod": "POST", + "id": "compute.networkFirewallPolicies.addAssociation", "parameterOrder": [ "project", "firewallPolicy" ], "parameters": { + "associatedPolicyToBeReplaced": { + "description": "Name of the firewall policy associated with the target network to swap association with. This field is mutually exclusive with 'replace_existing_association'.", + "location": "query", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "type": "string" + }, "firewallPolicy": { "description": "Name of the firewall policy to update.", "location": "path", @@ -18894,13 +19499,18 @@ "required": true, "type": "string" }, + "replaceExistingAssociation": { + "description": "Indicates whether or not to replace it if an association of the attachment already exists. This is false by default, in which case an error will be returned if an association already exists.", + "location": "query", + "type": "boolean" + }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } }, - "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchAssociation", + "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addAssociation", "request": { "$ref": "FirewallPolicyAssociation" }, @@ -18912,11 +19522,11 @@ "https://www.googleapis.com/auth/compute" ] }, - "patchPacketMirroringRule": { - "description": "Patches a packet mirroring rule of the specified priority.", - "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchPacketMirroringRule", + "addPacketMirroringRule": { + "description": "Inserts a packet mirroring rule into a firewall policy.", + "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addPacketMirroringRule", "httpMethod": "POST", - "id": "compute.networkFirewallPolicies.patchPacketMirroringRule", + "id": "compute.networkFirewallPolicies.addPacketMirroringRule", "parameterOrder": [ "project", "firewallPolicy" @@ -18929,8 +19539,14 @@ "required": true, "type": "string" }, - "priority": { - "description": "The priority of the rule to patch.", + "maxPriority": { + "description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "minPriority": { + "description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", "format": "int32", "location": "query", "type": "integer" @@ -18948,7 +19564,7 @@ "type": "string" } }, - "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchPacketMirroringRule", + "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addPacketMirroringRule", "request": { "$ref": "FirewallPolicyRule" }, @@ -18960,11 +19576,11 @@ "https://www.googleapis.com/auth/compute" ] }, - "patchRule": { - "description": "Patches a rule of the specified priority.", - "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchRule", + "addRule": { + "description": "Inserts a rule into a firewall policy.", + "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addRule", "httpMethod": "POST", - "id": "compute.networkFirewallPolicies.patchRule", + "id": "compute.networkFirewallPolicies.addRule", "parameterOrder": [ "project", "firewallPolicy" @@ -18977,8 +19593,14 @@ "required": true, "type": "string" }, - "priority": { - "description": "The priority of the rule to patch.", + "maxPriority": { + "description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "minPriority": { + "description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", "format": "int32", "location": "query", "type": "integer" @@ -18996,7 +19618,7 @@ "type": "string" } }, - "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchRule", + "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/addRule", "request": { "$ref": "FirewallPolicyRule" }, @@ -19008,25 +19630,40 @@ "https://www.googleapis.com/auth/compute" ] }, - "removeAssociation": { - "description": "Removes an association for the specified firewall policy.", - "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removeAssociation", - "httpMethod": "POST", - "id": "compute.networkFirewallPolicies.removeAssociation", + "aggregatedList": { + "description": "Retrieves an aggregated list of network firewall policies, listing network firewall policies from all applicable scopes (global and regional) and grouping the results per scope. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/firewallPolicies", + "httpMethod": "GET", + "id": "compute.networkFirewallPolicies.aggregatedList", "parameterOrder": [ - "project", - "firewallPolicy" + "project" ], "parameters": { - "firewallPolicy": { - "description": "Name of the firewall policy to update.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", "type": "string" }, - "name": { - "description": "Name for the attachment that will be removed.", + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "location": "query", + "type": "boolean" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", "location": "query", "type": "string" }, @@ -19037,26 +19674,33 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + }, + "serviceProjectNumber": { + "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", + "format": "int64", "location": "query", "type": "string" } }, - "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removeAssociation", + "path": "projects/{project}/aggregated/firewallPolicies", "response": { - "$ref": "Operation" + "$ref": "NetworkFirewallPolicyAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "removePacketMirroringRule": { - "description": "Deletes a packet mirroring rule of the specified priority.", - "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removePacketMirroringRule", + "cloneRules": { + "description": "Copies rules to the specified firewall policy.", + "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/cloneRules", "httpMethod": "POST", - "id": "compute.networkFirewallPolicies.removePacketMirroringRule", + "id": "compute.networkFirewallPolicies.cloneRules", "parameterOrder": [ "project", "firewallPolicy" @@ -19069,12 +19713,6 @@ "required": true, "type": "string" }, - "priority": { - "description": "The priority of the rule to remove from the firewall policy.", - "format": "int32", - "location": "query", - "type": "integer" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -19086,9 +19724,14 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" + }, + "sourceFirewallPolicy": { + "description": "The firewall policy from which to copy rules.", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removePacketMirroringRule", + "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/cloneRules", "response": { "$ref": "Operation" }, @@ -19097,29 +19740,23 @@ "https://www.googleapis.com/auth/compute" ] }, - "removeRule": { - "description": "Deletes a rule of the specified priority.", - "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removeRule", - "httpMethod": "POST", - "id": "compute.networkFirewallPolicies.removeRule", + "delete": { + "description": "Deletes the specified policy.", + "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}", + "httpMethod": "DELETE", + "id": "compute.networkFirewallPolicies.delete", "parameterOrder": [ "project", "firewallPolicy" ], "parameters": { "firewallPolicy": { - "description": "Name of the firewall policy to update.", + "description": "Name of the firewall policy to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "priority": { - "description": "The priority of the rule to remove from the firewall policy.", - "format": "int32", - "location": "query", - "type": "integer" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -19133,7 +19770,7 @@ "type": "string" } }, - "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removeRule", + "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}", "response": { "$ref": "Operation" }, @@ -19142,53 +19779,97 @@ "https://www.googleapis.com/auth/compute" ] }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", - "flatPath": "projects/{project}/global/firewallPolicies/{resource}/setIamPolicy", - "httpMethod": "POST", - "id": "compute.networkFirewallPolicies.setIamPolicy", + "get": { + "description": "Returns the specified network firewall policy.", + "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}", + "httpMethod": "GET", + "id": "compute.networkFirewallPolicies.get", "parameterOrder": [ "project", - "resource" + "firewallPolicy" ], "parameters": { + "firewallPolicy": { + "description": "Name of the firewall policy to get.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" + } + }, + "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}", + "response": { + "$ref": "FirewallPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "getAssociation": { + "description": "Gets an association with the specified name.", + "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getAssociation", + "httpMethod": "GET", + "id": "compute.networkFirewallPolicies.getAssociation", + "parameterOrder": [ + "project", + "firewallPolicy" + ], + "parameters": { + "firewallPolicy": { + "description": "Name of the firewall policy to which the queried association belongs.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "name": { + "description": "The name of the association to get from the firewall policy.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" } }, - "path": "projects/{project}/global/firewallPolicies/{resource}/setIamPolicy", - "request": { - "$ref": "GlobalSetPolicyRequest" - }, + "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getAssociation", "response": { - "$ref": "Policy" + "$ref": "FirewallPolicyAssociation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/global/firewallPolicies/{resource}/testIamPermissions", - "httpMethod": "POST", - "id": "compute.networkFirewallPolicies.testIamPermissions", + "getIamPolicy": { + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "flatPath": "projects/{project}/global/firewallPolicies/{resource}/getIamPolicy", + "httpMethod": "GET", + "id": "compute.networkFirewallPolicies.getIamPolicy", "parameterOrder": [ "project", "resource" ], "parameters": { + "optionsRequestedPolicyVersion": { + "description": "Requested IAM Policy version.", + "format": "int32", + "location": "query", + "type": "integer" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -19204,40 +19885,39 @@ "type": "string" } }, - "path": "projects/{project}/global/firewallPolicies/{resource}/testIamPermissions", - "request": { - "$ref": "TestPermissionsRequest" - }, + "path": "projects/{project}/global/firewallPolicies/{resource}/getIamPolicy", "response": { - "$ref": "TestPermissionsResponse" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - } - } - }, - "networkProfiles": { - "methods": { - "get": { - "description": "Returns the specified network profile.", - "flatPath": "projects/{project}/global/networkProfiles/{networkProfile}", + }, + "getPacketMirroringRule": { + "description": "Gets a packet mirroring rule of the specified priority.", + "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getPacketMirroringRule", "httpMethod": "GET", - "id": "compute.networkProfiles.get", + "id": "compute.networkFirewallPolicies.getPacketMirroringRule", "parameterOrder": [ "project", - "networkProfile" + "firewallPolicy" ], "parameters": { - "networkProfile": { - "description": "Name of the network profile to return.", + "firewallPolicy": { + "description": "Name of the firewall policy to which the queried rule belongs.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, + "priority": { + "description": "The priority of the rule to get from the firewall policy.", + "format": "int32", + "location": "query", + "type": "integer" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -19246,9 +19926,9 @@ "type": "string" } }, - "path": "projects/{project}/global/networkProfiles/{networkProfile}", + "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getPacketMirroringRule", "response": { - "$ref": "NetworkProfile" + "$ref": "FirewallPolicyRule" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -19256,82 +19936,56 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "list": { - "description": "Retrieves a list of network profiles available to the specified project.", - "flatPath": "projects/{project}/global/networkProfiles", + "getRule": { + "description": "Gets a rule of the specified priority.", + "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getRule", "httpMethod": "GET", - "id": "compute.networkProfiles.list", + "id": "compute.networkFirewallPolicies.getRule", "parameterOrder": [ - "project" + "project", + "firewallPolicy" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", + "firewallPolicy": { + "description": "Name of the firewall policy to which the queried rule belongs.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, "type": "string" }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", + "priority": { + "description": "The priority of the rule to get from the firewall policy.", + "format": "int32", "location": "query", - "minimum": "0", "type": "integer" }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" - }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" } }, - "path": "projects/{project}/global/networkProfiles", + "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/getRule", "response": { - "$ref": "NetworkProfilesListResponse" + "$ref": "FirewallPolicyRule" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - } - } - }, - "networks": { - "methods": { - "addPeering": { - "description": "Adds a peering to the specified network.", - "flatPath": "projects/{project}/global/networks/{network}/addPeering", + }, + "insert": { + "description": "Creates a new policy in the specified project using the data included in the request.", + "flatPath": "projects/{project}/global/firewallPolicies", "httpMethod": "POST", - "id": "compute.networks.addPeering", + "id": "compute.networkFirewallPolicies.insert", "parameterOrder": [ - "project", - "network" + "project" ], "parameters": { - "network": { - "description": "Name of the network resource to add peering to.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -19345,9 +19999,9 @@ "type": "string" } }, - "path": "projects/{project}/global/networks/{network}/addPeering", + "path": "projects/{project}/global/firewallPolicies", "request": { - "$ref": "NetworksAddPeeringRequest" + "$ref": "FirewallPolicy" }, "response": { "$ref": "Operation" @@ -19357,60 +20011,36 @@ "https://www.googleapis.com/auth/compute" ] }, - "delete": { - "description": "Deletes the specified network.", - "flatPath": "projects/{project}/global/networks/{network}", - "httpMethod": "DELETE", - "id": "compute.networks.delete", + "list": { + "description": "Lists all the policies that have been configured for the specified project.", + "flatPath": "projects/{project}/global/firewallPolicies", + "httpMethod": "GET", + "id": "compute.networkFirewallPolicies.list", "parameterOrder": [ - "project", - "network" + "project" ], "parameters": { - "network": { - "description": "Name of the network to delete.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", "type": "string" }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", "location": "query", "type": "string" - } - }, - "path": "projects/{project}/global/networks/{network}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "get": { - "description": "Returns the specified network.", - "flatPath": "projects/{project}/global/networks/{network}", - "httpMethod": "GET", - "id": "compute.networks.get", - "parameterOrder": [ - "project", - "network" - ], - "parameters": { - "network": { - "description": "Name of the network to return.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", "type": "string" }, "project": { @@ -19419,11 +20049,16 @@ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" } }, - "path": "projects/{project}/global/networks/{network}", + "path": "projects/{project}/global/firewallPolicies", "response": { - "$ref": "Network" + "$ref": "FirewallPolicyList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -19431,50 +20066,23 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "getEffectiveFirewalls": { - "description": "Returns the effective firewalls on a given network.", - "flatPath": "projects/{project}/global/networks/{network}/getEffectiveFirewalls", - "httpMethod": "GET", - "id": "compute.networks.getEffectiveFirewalls", + "patch": { + "description": "Patches the specified policy with the data included in the request.", + "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}", + "httpMethod": "PATCH", + "id": "compute.networkFirewallPolicies.patch", "parameterOrder": [ "project", - "network" + "firewallPolicy" ], "parameters": { - "network": { - "description": "Name of the network for this request.", + "firewallPolicy": { + "description": "Name of the firewall policy to update.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/global/networks/{network}/getEffectiveFirewalls", - "response": { - "$ref": "NetworksGetEffectiveFirewallsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "insert": { - "description": "Creates a network in the specified project using the data included in the request.", - "flatPath": "projects/{project}/global/networks", - "httpMethod": "POST", - "id": "compute.networks.insert", - "parameterOrder": [ - "project" - ], - "parameters": { "project": { "description": "Project ID for this request.", "location": "path", @@ -19488,9 +20096,9 @@ "type": "string" } }, - "path": "projects/{project}/global/networks", + "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}", "request": { - "$ref": "Network" + "$ref": "FirewallPolicy" }, "response": { "$ref": "Operation" @@ -19500,36 +20108,21 @@ "https://www.googleapis.com/auth/compute" ] }, - "list": { - "description": "Retrieves the list of networks available to the specified project.", - "flatPath": "projects/{project}/global/networks", - "httpMethod": "GET", - "id": "compute.networks.list", + "patchAssociation": { + "description": "Updates an association for the specified network firewall policy.", + "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchAssociation", + "httpMethod": "POST", + "id": "compute.networkFirewallPolicies.patchAssociation", "parameterOrder": [ - "project" + "project", + "firewallPolicy" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", + "firewallPolicy": { + "description": "Name of the firewall policy to update.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, "type": "string" }, "project": { @@ -19539,61 +20132,46 @@ "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", - "type": "boolean" + "type": "string" } }, - "path": "projects/{project}/global/networks", + "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchAssociation", + "request": { + "$ref": "FirewallPolicyAssociation" + }, "response": { - "$ref": "NetworkList" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "listIpAddresses": { - "description": "Lists the internal IP addresses in the specified network.", - "flatPath": "projects/{project}/global/networks/{network}/listIpAddresses", - "httpMethod": "GET", - "id": "compute.networks.listIpAddresses", + "patchPacketMirroringRule": { + "description": "Patches a packet mirroring rule of the specified priority.", + "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchPacketMirroringRule", + "httpMethod": "POST", + "id": "compute.networkFirewallPolicies.patchPacketMirroringRule", "parameterOrder": [ "project", - "network" + "firewallPolicy" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "network": { - "description": "Name of the network for this request.", + "firewallPolicy": { + "description": "Name of the firewall policy to update.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "priority": { + "description": "The priority of the rule to patch.", + "format": "int32", "location": "query", - "type": "string" + "type": "integer" }, "project": { "description": "Project ID for this request.", @@ -19602,81 +20180,46 @@ "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" - }, - "types": { - "description": "(Optional) types filter separate by comma, valid values are: SUBNETWORK, RESERVED, PEER_USED, PEER_RESERVED, REMOTE_USED, REMOTE_RESERVED.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } }, - "path": "projects/{project}/global/networks/{network}/listIpAddresses", + "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchPacketMirroringRule", + "request": { + "$ref": "FirewallPolicyRule" + }, "response": { - "$ref": "IpAddressesList" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "listIpOwners": { - "description": "Lists the internal IP owners in the specified network.", - "flatPath": "projects/{project}/global/networks/{network}/listIpOwners", - "httpMethod": "GET", - "id": "compute.networks.listIpOwners", + "patchRule": { + "description": "Patches a rule of the specified priority.", + "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchRule", + "httpMethod": "POST", + "id": "compute.networkFirewallPolicies.patchRule", "parameterOrder": [ "project", - "network" + "firewallPolicy" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "ipCidrRange": { - "description": "(Optional) IP CIDR range filter, example: \"10.128.10.0/30\".", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "network": { - "description": "Name of the network to return.", + "firewallPolicy": { + "description": "Name of the firewall policy to update.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "ownerProjects": { - "description": "(Optional) Project IDs filter, example: \"project-1,project-2\".", - "location": "query", - "type": "string" - }, - "ownerTypes": { - "description": "(Optional) Owner types filter, example: \"instance,forwardingRule\".", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "priority": { + "description": "The priority of the rule to patch.", + "format": "int32", "location": "query", - "type": "string" + "type": "integer" }, "project": { "description": "Project ID for this request.", @@ -19685,89 +20228,43 @@ "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" - }, - "subnetName": { - "description": "(Optional) Subnetwork name filter.", - "location": "query", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" - }, - "subnetRegion": { - "description": "(Optional) Subnetwork region filter.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" } }, - "path": "projects/{project}/global/networks/{network}/listIpOwners", + "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/patchRule", + "request": { + "$ref": "FirewallPolicyRule" + }, "response": { - "$ref": "IpOwnerList" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "listPeeringRoutes": { - "description": "Lists the peering routes exchanged over peering connection.", - "flatPath": "projects/{project}/global/networks/{network}/listPeeringRoutes", - "httpMethod": "GET", - "id": "compute.networks.listPeeringRoutes", + "removeAssociation": { + "description": "Removes an association for the specified firewall policy.", + "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removeAssociation", + "httpMethod": "POST", + "id": "compute.networkFirewallPolicies.removeAssociation", "parameterOrder": [ "project", - "network" + "firewallPolicy" ], "parameters": { - "direction": { - "description": "The direction of the exchanged routes.", - "enum": [ - "INCOMING", - "OUTGOING" - ], - "enumDescriptions": [ - "For routes exported from peer network.", - "For routes exported from local network." - ], - "location": "query", - "type": "string" - }, - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "network": { - "description": "Name of the network for this request.", + "firewallPolicy": { + "description": "Name of the firewall policy to update.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, - "peeringName": { - "description": "The response will show routes exchanged over the given peering connection.", + "name": { + "description": "Name for the attachment that will be removed.", "location": "query", "type": "string" }, @@ -19778,44 +20275,44 @@ "required": true, "type": "string" }, - "region": { - "description": "The region of the request. The response will include all subnet routes, static routes and dynamic routes in the region.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" - }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" } }, - "path": "projects/{project}/global/networks/{network}/listPeeringRoutes", + "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removeAssociation", "response": { - "$ref": "ExchangedPeeringRoutesList" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "patch": { - "description": "Patches the specified network with the data included in the request. Only routingConfig can be modified.", - "flatPath": "projects/{project}/global/networks/{network}", - "httpMethod": "PATCH", - "id": "compute.networks.patch", + "removePacketMirroringRule": { + "description": "Deletes a packet mirroring rule of the specified priority.", + "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removePacketMirroringRule", + "httpMethod": "POST", + "id": "compute.networkFirewallPolicies.removePacketMirroringRule", "parameterOrder": [ "project", - "network" + "firewallPolicy" ], "parameters": { - "network": { - "description": "Name of the network to update.", + "firewallPolicy": { + "description": "Name of the firewall policy to update.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, + "priority": { + "description": "The priority of the rule to remove from the firewall policy.", + "format": "int32", + "location": "query", + "type": "integer" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -19829,10 +20326,7 @@ "type": "string" } }, - "path": "projects/{project}/global/networks/{network}", - "request": { - "$ref": "Network" - }, + "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removePacketMirroringRule", "response": { "$ref": "Operation" }, @@ -19841,23 +20335,29 @@ "https://www.googleapis.com/auth/compute" ] }, - "removePeering": { - "description": "Removes a peering from the specified network.", - "flatPath": "projects/{project}/global/networks/{network}/removePeering", + "removeRule": { + "description": "Deletes a rule of the specified priority.", + "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removeRule", "httpMethod": "POST", - "id": "compute.networks.removePeering", + "id": "compute.networkFirewallPolicies.removeRule", "parameterOrder": [ "project", - "network" + "firewallPolicy" ], "parameters": { - "network": { - "description": "Name of the network resource to remove peering from.", + "firewallPolicy": { + "description": "Name of the firewall policy to update.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, + "priority": { + "description": "The priority of the rule to remove from the firewall policy.", + "format": "int32", + "location": "query", + "type": "integer" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -19871,10 +20371,7 @@ "type": "string" } }, - "path": "projects/{project}/global/networks/{network}/removePeering", - "request": { - "$ref": "NetworksRemovePeeringRequest" - }, + "path": "projects/{project}/global/firewallPolicies/{firewallPolicy}/removeRule", "response": { "$ref": "Operation" }, @@ -19883,23 +20380,16 @@ "https://www.googleapis.com/auth/compute" ] }, - "switchToCustomMode": { - "description": "Switches the network mode from auto subnet mode to custom subnet mode.", - "flatPath": "projects/{project}/global/networks/{network}/switchToCustomMode", + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "projects/{project}/global/firewallPolicies/{resource}/setIamPolicy", "httpMethod": "POST", - "id": "compute.networks.switchToCustomMode", + "id": "compute.networkFirewallPolicies.setIamPolicy", "parameterOrder": [ "project", - "network" + "resource" ], "parameters": { - "network": { - "description": "Name of the network to be updated.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -19907,15 +20397,20 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, "type": "string" } }, - "path": "projects/{project}/global/networks/{network}/switchToCustomMode", + "path": "projects/{project}/global/firewallPolicies/{resource}/setIamPolicy", + "request": { + "$ref": "GlobalSetPolicyRequest" + }, "response": { - "$ref": "Operation" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -19924,9 +20419,9 @@ }, "testIamPermissions": { "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/global/networks/{resource}/testIamPermissions", + "flatPath": "projects/{project}/global/firewallPolicies/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.networks.testIamPermissions", + "id": "compute.networkFirewallPolicies.testIamPermissions", "parameterOrder": [ "project", "resource" @@ -19947,7 +20442,7 @@ "type": "string" } }, - "path": "projects/{project}/global/networks/{resource}/testIamPermissions", + "path": "projects/{project}/global/firewallPolicies/{resource}/testIamPermissions", "request": { "$ref": "TestPermissionsRequest" }, @@ -19959,19 +20454,23 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - }, - "updatePeering": { - "description": "Updates the specified network peering with the data included in the request. You can only modify the NetworkPeering.export_custom_routes field and the NetworkPeering.import_custom_routes field.", - "flatPath": "projects/{project}/global/networks/{network}/updatePeering", - "httpMethod": "PATCH", - "id": "compute.networks.updatePeering", + } + } + }, + "networkProfiles": { + "methods": { + "get": { + "description": "Returns the specified network profile.", + "flatPath": "projects/{project}/global/networkProfiles/{networkProfile}", + "httpMethod": "GET", + "id": "compute.networkProfiles.get", "parameterOrder": [ "project", - "network" + "networkProfile" ], "parameters": { - "network": { - "description": "Name of the network resource which the updated peering is belonging to.", + "networkProfile": { + "description": "Name of the network profile to return.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -19983,84 +20482,23 @@ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" } }, - "path": "projects/{project}/global/networks/{network}/updatePeering", - "request": { - "$ref": "NetworksUpdatePeeringRequest" - }, + "path": "projects/{project}/global/networkProfiles/{networkProfile}", "response": { - "$ref": "Operation" + "$ref": "NetworkProfile" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - } - } - }, - "nodeGroups": { - "methods": { - "addNodes": { - "description": "Adds specified number of nodes to the node group.", - "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/addNodes", - "httpMethod": "POST", - "id": "compute.nodeGroups.addNodes", - "parameterOrder": [ - "project", - "zone", - "nodeGroup" - ], - "parameters": { - "nodeGroup": { - "description": "Name of the NodeGroup resource.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "zone": { - "description": "The name of the zone for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/addNodes", - "request": { - "$ref": "NodeGroupsAddNodesRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "aggregatedList": { - "description": "Retrieves an aggregated list of node groups. Note: use nodeGroups.listNodes for more details about each group. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/nodeGroups", + "list": { + "description": "Retrieves a list of network profiles available to the specified project.", + "flatPath": "projects/{project}/global/networkProfiles", "httpMethod": "GET", - "id": "compute.nodeGroups.aggregatedList", + "id": "compute.networkProfiles.list", "parameterOrder": [ "project" ], @@ -20070,11 +20508,6 @@ "location": "query", "type": "string" }, - "includeAllScopes": { - "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", - "location": "query", - "type": "boolean" - }, "maxResults": { "default": "500", "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", @@ -20104,37 +20537,34 @@ "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" - }, - "serviceProjectNumber": { - "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", - "format": "int64", - "location": "query", - "type": "string" } }, - "path": "projects/{project}/aggregated/nodeGroups", + "path": "projects/{project}/global/networkProfiles", "response": { - "$ref": "NodeGroupAggregatedList" + "$ref": "NetworkProfilesListResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - }, - "delete": { - "description": "Deletes the specified NodeGroup resource.", - "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", - "httpMethod": "DELETE", - "id": "compute.nodeGroups.delete", + } + } + }, + "networks": { + "methods": { + "addPeering": { + "description": "Adds a peering to the specified network.", + "flatPath": "projects/{project}/global/networks/{network}/addPeering", + "httpMethod": "POST", + "id": "compute.networks.addPeering", "parameterOrder": [ "project", - "zone", - "nodeGroup" + "network" ], "parameters": { - "nodeGroup": { - "description": "Name of the NodeGroup resource to delete.", + "network": { + "description": "Name of the network resource to add peering to.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -20151,16 +20581,12 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" - }, - "zone": { - "description": "The name of the zone for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" } }, - "path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", + "path": "projects/{project}/global/networks/{network}/addPeering", + "request": { + "$ref": "NetworksAddPeeringRequest" + }, "response": { "$ref": "Operation" }, @@ -20169,19 +20595,18 @@ "https://www.googleapis.com/auth/compute" ] }, - "deleteNodes": { - "description": "Deletes specified nodes from the node group.", - "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/deleteNodes", - "httpMethod": "POST", - "id": "compute.nodeGroups.deleteNodes", + "delete": { + "description": "Deletes the specified network.", + "flatPath": "projects/{project}/global/networks/{network}", + "httpMethod": "DELETE", + "id": "compute.networks.delete", "parameterOrder": [ "project", - "zone", - "nodeGroup" + "network" ], "parameters": { - "nodeGroup": { - "description": "Name of the NodeGroup resource whose nodes will be deleted.", + "network": { + "description": "Name of the network to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -20198,19 +20623,9 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" - }, - "zone": { - "description": "The name of the zone for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" } }, - "path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/deleteNodes", - "request": { - "$ref": "NodeGroupsDeleteNodesRequest" - }, + "path": "projects/{project}/global/networks/{network}", "response": { "$ref": "Operation" }, @@ -20220,18 +20635,17 @@ ] }, "get": { - "description": "Returns the specified NodeGroup. Get a list of available NodeGroups by making a list() request. Note: the \"nodes\" field should not be used. Use nodeGroups.listNodes instead.", - "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", + "description": "Returns the specified network.", + "flatPath": "projects/{project}/global/networks/{network}", "httpMethod": "GET", - "id": "compute.nodeGroups.get", + "id": "compute.networks.get", "parameterOrder": [ "project", - "zone", - "nodeGroup" + "network" ], "parameters": { - "nodeGroup": { - "description": "Name of the node group to return.", + "network": { + "description": "Name of the network to return.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -20243,18 +20657,11 @@ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" - }, - "zone": { - "description": "The name of the zone for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" } }, - "path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", + "path": "projects/{project}/global/networks/{network}", "response": { - "$ref": "NodeGroup" + "$ref": "Network" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -20262,48 +20669,34 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "getIamPolicy": { - "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", - "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{resource}/getIamPolicy", + "getEffectiveFirewalls": { + "description": "Returns the effective firewalls on a given network.", + "flatPath": "projects/{project}/global/networks/{network}/getEffectiveFirewalls", "httpMethod": "GET", - "id": "compute.nodeGroups.getIamPolicy", + "id": "compute.networks.getEffectiveFirewalls", "parameterOrder": [ "project", - "zone", - "resource" + "network" ], "parameters": { - "optionsRequestedPolicyVersion": { - "description": "Requested IAM Policy version.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "resource": { - "description": "Name or id of the resource for this request.", + "network": { + "description": "Name of the network for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "zone": { - "description": "The name of the zone for this request.", + "project": { + "description": "Project ID for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/nodeGroups/{resource}/getIamPolicy", + "path": "projects/{project}/global/networks/{network}/getEffectiveFirewalls", "response": { - "$ref": "Policy" + "$ref": "NetworksGetEffectiveFirewallsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -20312,23 +20705,14 @@ ] }, "insert": { - "description": "Creates a NodeGroup resource in the specified project using the data included in the request.", - "flatPath": "projects/{project}/zones/{zone}/nodeGroups", + "description": "Creates a network in the specified project using the data included in the request.", + "flatPath": "projects/{project}/global/networks", "httpMethod": "POST", - "id": "compute.nodeGroups.insert", + "id": "compute.networks.insert", "parameterOrder": [ - "project", - "zone", - "initialNodeCount" + "project" ], "parameters": { - "initialNodeCount": { - "description": "Initial count of nodes in the node group.", - "format": "int32", - "location": "query", - "required": true, - "type": "integer" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -20340,18 +20724,11 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" - }, - "zone": { - "description": "The name of the zone for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" } }, - "path": "projects/{project}/zones/{zone}/nodeGroups", + "path": "projects/{project}/global/networks", "request": { - "$ref": "NodeGroup" + "$ref": "Network" }, "response": { "$ref": "Operation" @@ -20362,13 +20739,12 @@ ] }, "list": { - "description": "Retrieves a list of node groups available to the specified project. Note: use nodeGroups.listNodes for more details about each group.", - "flatPath": "projects/{project}/zones/{zone}/nodeGroups", + "description": "Retrieves the list of networks available to the specified project.", + "flatPath": "projects/{project}/global/networks", "httpMethod": "GET", - "id": "compute.nodeGroups.list", + "id": "compute.networks.list", "parameterOrder": [ - "project", - "zone" + "project" ], "parameters": { "filter": { @@ -20405,18 +20781,11 @@ "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" - }, - "zone": { - "description": "The name of the zone for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" } }, - "path": "projects/{project}/zones/{zone}/nodeGroups", + "path": "projects/{project}/global/networks", "response": { - "$ref": "NodeGroupList" + "$ref": "NetworkList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -20424,15 +20793,14 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "listNodes": { - "description": "Lists nodes in the node group.", - "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/listNodes", - "httpMethod": "POST", - "id": "compute.nodeGroups.listNodes", + "listIpAddresses": { + "description": "Lists the internal IP addresses in the specified network.", + "flatPath": "projects/{project}/global/networks/{network}/listIpAddresses", + "httpMethod": "GET", + "id": "compute.networks.listIpAddresses", "parameterOrder": [ "project", - "zone", - "nodeGroup" + "network" ], "parameters": { "filter": { @@ -20448,8 +20816,8 @@ "minimum": "0", "type": "integer" }, - "nodeGroup": { - "description": "Name of the NodeGroup resource whose nodes you want to list.", + "network": { + "description": "Name of the network for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -20477,17 +20845,15 @@ "location": "query", "type": "boolean" }, - "zone": { - "description": "The name of the zone for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, + "types": { + "description": "(Optional) types filter separate by comma, valid values are: SUBNETWORK, RESERVED, PEER_USED, PEER_RESERVED, REMOTE_USED, REMOTE_RESERVED.", + "location": "query", "type": "string" } }, - "path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/listNodes", + "path": "projects/{project}/global/networks/{network}/listIpAddresses", "response": { - "$ref": "NodeGroupsListNodes" + "$ref": "IpAddressesList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -20495,24 +20861,61 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "patch": { - "description": "Updates the specified node group.", - "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", - "httpMethod": "PATCH", - "id": "compute.nodeGroups.patch", + "listIpOwners": { + "description": "Lists the internal IP owners in the specified network.", + "flatPath": "projects/{project}/global/networks/{network}/listIpOwners", + "httpMethod": "GET", + "id": "compute.networks.listIpOwners", "parameterOrder": [ "project", - "zone", - "nodeGroup" + "network" ], "parameters": { - "nodeGroup": { - "description": "Name of the NodeGroup resource to update.", + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "ipCidrRange": { + "description": "(Optional) IP CIDR range filter, example: \"10.128.10.0/30\".", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "network": { + "description": "Name of the network to return.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "ownerProjects": { + "description": "(Optional) Project IDs filter, example: \"project-1,project-2\".", + "location": "query", + "type": "string" + }, + "ownerTypes": { + "description": "(Optional) Owner types filter, example: \"instance,forwardingRule\".", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -20520,49 +20923,92 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + }, + "subnetName": { + "description": "(Optional) Subnetwork name filter.", "location": "query", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, - "zone": { - "description": "The name of the zone for this request.", - "location": "path", + "subnetRegion": { + "description": "(Optional) Subnetwork region filter.", + "location": "query", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", - "request": { - "$ref": "NodeGroup" - }, + "path": "projects/{project}/global/networks/{network}/listIpOwners", "response": { - "$ref": "Operation" + "$ref": "IpOwnerList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "performMaintenance": { - "description": "Perform maintenance on a subset of nodes in the node group.", - "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/performMaintenance", - "httpMethod": "POST", - "id": "compute.nodeGroups.performMaintenance", + "listPeeringRoutes": { + "description": "Lists the peering routes exchanged over peering connection.", + "flatPath": "projects/{project}/global/networks/{network}/listPeeringRoutes", + "httpMethod": "GET", + "id": "compute.networks.listPeeringRoutes", "parameterOrder": [ "project", - "zone", - "nodeGroup" + "network" ], "parameters": { - "nodeGroup": { - "description": "Name of the node group scoping this request.", + "direction": { + "description": "The direction of the exchanged routes.", + "enum": [ + "INCOMING", + "OUTGOING" + ], + "enumDescriptions": [ + "For routes exported from peer network.", + "For routes exported from local network." + ], + "location": "query", + "type": "string" + }, + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "network": { + "description": "Name of the network for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "peeringName": { + "description": "The response will show routes exchanged over the given peering connection.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -20570,89 +21016,81 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "region": { + "description": "The region of the request. The response will include all subnet routes, static routes and dynamic routes in the region.", "location": "query", "type": "string" }, - "zone": { - "description": "The name of the zone for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" } }, - "path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/performMaintenance", - "request": { - "$ref": "NodeGroupsPerformMaintenanceRequest" - }, + "path": "projects/{project}/global/networks/{network}/listPeeringRoutes", "response": { - "$ref": "Operation" + "$ref": "ExchangedPeeringRoutesList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", - "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{resource}/setIamPolicy", - "httpMethod": "POST", - "id": "compute.nodeGroups.setIamPolicy", + "patch": { + "description": "Patches the specified network with the data included in the request. Only routingConfig can be modified.", + "flatPath": "projects/{project}/global/networks/{network}", + "httpMethod": "PATCH", + "id": "compute.networks.patch", "parameterOrder": [ "project", - "zone", - "resource" + "network" ], "parameters": { - "project": { - "description": "Project ID for this request.", + "network": { + "description": "Name of the network to update.", "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "project": { + "description": "Project ID for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" }, - "zone": { - "description": "The name of the zone for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", "type": "string" } }, - "path": "projects/{project}/zones/{zone}/nodeGroups/{resource}/setIamPolicy", + "path": "projects/{project}/global/networks/{network}", "request": { - "$ref": "ZoneSetPolicyRequest" + "$ref": "Network" }, "response": { - "$ref": "Policy" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] }, - "setNodeTemplate": { - "description": "Updates the node template of the node group.", - "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/setNodeTemplate", + "removePeering": { + "description": "Removes a peering from the specified network.", + "flatPath": "projects/{project}/global/networks/{network}/removePeering", "httpMethod": "POST", - "id": "compute.nodeGroups.setNodeTemplate", + "id": "compute.networks.removePeering", "parameterOrder": [ "project", - "zone", - "nodeGroup" + "network" ], "parameters": { - "nodeGroup": { - "description": "Name of the NodeGroup resource to update.", + "network": { + "description": "Name of the network resource to remove peering from.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -20669,18 +21107,11 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" - }, - "zone": { - "description": "The name of the zone for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" } }, - "path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/setNodeTemplate", + "path": "projects/{project}/global/networks/{network}/removePeering", "request": { - "$ref": "NodeGroupsSetNodeTemplateRequest" + "$ref": "NetworksRemovePeeringRequest" }, "response": { "$ref": "Operation" @@ -20690,19 +21121,18 @@ "https://www.googleapis.com/auth/compute" ] }, - "simulateMaintenanceEvent": { - "description": "Simulates maintenance event on specified nodes from the node group.", - "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/simulateMaintenanceEvent", + "switchToCustomMode": { + "description": "Switches the network mode from auto subnet mode to custom subnet mode.", + "flatPath": "projects/{project}/global/networks/{network}/switchToCustomMode", "httpMethod": "POST", - "id": "compute.nodeGroups.simulateMaintenanceEvent", + "id": "compute.networks.switchToCustomMode", "parameterOrder": [ "project", - "zone", - "nodeGroup" + "network" ], "parameters": { - "nodeGroup": { - "description": "Name of the NodeGroup resource whose nodes will go under maintenance simulation.", + "network": { + "description": "Name of the network to be updated.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -20719,19 +21149,9 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" - }, - "zone": { - "description": "The name of the zone for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" } }, - "path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/simulateMaintenanceEvent", - "request": { - "$ref": "NodeGroupsSimulateMaintenanceEventRequest" - }, + "path": "projects/{project}/global/networks/{network}/switchToCustomMode", "response": { "$ref": "Operation" }, @@ -20742,12 +21162,11 @@ }, "testIamPermissions": { "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions", + "flatPath": "projects/{project}/global/networks/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.nodeGroups.testIamPermissions", + "id": "compute.networks.testIamPermissions", "parameterOrder": [ "project", - "zone", "resource" ], "parameters": { @@ -20761,40 +21180,125 @@ "resource": { "description": "Name or id of the resource for this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/networks/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, + "response": { + "$ref": "TestPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "updatePeering": { + "description": "Updates the specified network peering with the data included in the request. You can only modify the NetworkPeering.export_custom_routes field and the NetworkPeering.import_custom_routes field.", + "flatPath": "projects/{project}/global/networks/{network}/updatePeering", + "httpMethod": "PATCH", + "id": "compute.networks.updatePeering", + "parameterOrder": [ + "project", + "network" + ], + "parameters": { + "network": { + "description": "Name of the network resource which the updated peering is belonging to.", + "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "zone": { - "description": "The name of the zone for this request.", + "project": { + "description": "Project ID for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions", + "path": "projects/{project}/global/networks/{network}/updatePeering", "request": { - "$ref": "TestPermissionsRequest" + "$ref": "NetworksUpdatePeeringRequest" }, "response": { - "$ref": "TestPermissionsResponse" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] } } }, - "nodeTemplates": { + "nodeGroups": { "methods": { + "addNodes": { + "description": "Adds specified number of nodes to the node group.", + "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/addNodes", + "httpMethod": "POST", + "id": "compute.nodeGroups.addNodes", + "parameterOrder": [ + "project", + "zone", + "nodeGroup" + ], + "parameters": { + "nodeGroup": { + "description": "Name of the NodeGroup resource.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "zone": { + "description": "The name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/addNodes", + "request": { + "$ref": "NodeGroupsAddNodesRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "aggregatedList": { - "description": "Retrieves an aggregated list of node templates. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/nodeTemplates", + "description": "Retrieves an aggregated list of node groups. Note: use nodeGroups.listNodes for more details about each group. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/nodeGroups", "httpMethod": "GET", - "id": "compute.nodeTemplates.aggregatedList", + "id": "compute.nodeGroups.aggregatedList", "parameterOrder": [ "project" ], @@ -20846,9 +21350,9 @@ "type": "string" } }, - "path": "projects/{project}/aggregated/nodeTemplates", + "path": "projects/{project}/aggregated/nodeGroups", "response": { - "$ref": "NodeTemplateAggregatedList" + "$ref": "NodeGroupAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -20857,18 +21361,18 @@ ] }, "delete": { - "description": "Deletes the specified NodeTemplate resource.", - "flatPath": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}", + "description": "Deletes the specified NodeGroup resource.", + "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", "httpMethod": "DELETE", - "id": "compute.nodeTemplates.delete", + "id": "compute.nodeGroups.delete", "parameterOrder": [ "project", - "region", - "nodeTemplate" + "zone", + "nodeGroup" ], "parameters": { - "nodeTemplate": { - "description": "Name of the NodeTemplate resource to delete.", + "nodeGroup": { + "description": "Name of the NodeGroup resource to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -20881,20 +21385,70 @@ "required": true, "type": "string" }, - "region": { - "description": "The name of the region for this request.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "zone": { + "description": "The name of the zone for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "deleteNodes": { + "description": "Deletes specified nodes from the node group.", + "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/deleteNodes", + "httpMethod": "POST", + "id": "compute.nodeGroups.deleteNodes", + "parameterOrder": [ + "project", + "zone", + "nodeGroup" + ], + "parameters": { + "nodeGroup": { + "description": "Name of the NodeGroup resource whose nodes will be deleted.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" + }, + "zone": { + "description": "The name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" } }, - "path": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}", + "path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/deleteNodes", + "request": { + "$ref": "NodeGroupsDeleteNodesRequest" + }, "response": { "$ref": "Operation" }, @@ -20904,18 +21458,18 @@ ] }, "get": { - "description": "Returns the specified node template.", - "flatPath": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}", + "description": "Returns the specified NodeGroup. Get a list of available NodeGroups by making a list() request. Note: the \"nodes\" field should not be used. Use nodeGroups.listNodes instead.", + "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", "httpMethod": "GET", - "id": "compute.nodeTemplates.get", + "id": "compute.nodeGroups.get", "parameterOrder": [ "project", - "region", - "nodeTemplate" + "zone", + "nodeGroup" ], "parameters": { - "nodeTemplate": { - "description": "Name of the node template to return.", + "nodeGroup": { + "description": "Name of the node group to return.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -20928,17 +21482,17 @@ "required": true, "type": "string" }, - "region": { - "description": "The name of the region for this request.", + "zone": { + "description": "The name of the zone for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}", + "path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", "response": { - "$ref": "NodeTemplate" + "$ref": "NodeGroup" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -20948,12 +21502,12 @@ }, "getIamPolicy": { "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", - "flatPath": "projects/{project}/regions/{region}/nodeTemplates/{resource}/getIamPolicy", + "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{resource}/getIamPolicy", "httpMethod": "GET", - "id": "compute.nodeTemplates.getIamPolicy", + "id": "compute.nodeGroups.getIamPolicy", "parameterOrder": [ "project", - "region", + "zone", "resource" ], "parameters": { @@ -20970,22 +21524,22 @@ "required": true, "type": "string" }, - "region": { - "description": "The name of the region for this request.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "zone": { + "description": "The name of the zone for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/nodeTemplates/{resource}/getIamPolicy", + "path": "projects/{project}/zones/{zone}/nodeGroups/{resource}/getIamPolicy", "response": { "$ref": "Policy" }, @@ -20996,15 +21550,23 @@ ] }, "insert": { - "description": "Creates a NodeTemplate resource in the specified project using the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/nodeTemplates", + "description": "Creates a NodeGroup resource in the specified project using the data included in the request.", + "flatPath": "projects/{project}/zones/{zone}/nodeGroups", "httpMethod": "POST", - "id": "compute.nodeTemplates.insert", + "id": "compute.nodeGroups.insert", "parameterOrder": [ "project", - "region" + "zone", + "initialNodeCount" ], "parameters": { + "initialNodeCount": { + "description": "Initial count of nodes in the node group.", + "format": "int32", + "location": "query", + "required": true, + "type": "integer" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -21012,22 +21574,22 @@ "required": true, "type": "string" }, - "region": { - "description": "The name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" + }, + "zone": { + "description": "The name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" } }, - "path": "projects/{project}/regions/{region}/nodeTemplates", + "path": "projects/{project}/zones/{zone}/nodeGroups", "request": { - "$ref": "NodeTemplate" + "$ref": "NodeGroup" }, "response": { "$ref": "Operation" @@ -21038,13 +21600,13 @@ ] }, "list": { - "description": "Retrieves a list of node templates available to the specified project.", - "flatPath": "projects/{project}/regions/{region}/nodeTemplates", + "description": "Retrieves a list of node groups available to the specified project. Note: use nodeGroups.listNodes for more details about each group.", + "flatPath": "projects/{project}/zones/{zone}/nodeGroups", "httpMethod": "GET", - "id": "compute.nodeTemplates.list", + "id": "compute.nodeGroups.list", "parameterOrder": [ "project", - "region" + "zone" ], "parameters": { "filter": { @@ -21077,131 +21639,38 @@ "required": true, "type": "string" }, - "region": { - "description": "The name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "returnPartialSuccess": { "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" - } - }, - "path": "projects/{project}/regions/{region}/nodeTemplates", - "response": { - "$ref": "NodeTemplateList" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", - "flatPath": "projects/{project}/regions/{region}/nodeTemplates/{resource}/setIamPolicy", - "httpMethod": "POST", - "id": "compute.nodeTemplates.setIamPolicy", - "parameterOrder": [ - "project", - "region", - "resource" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" }, - "region": { - "description": "The name of the region for this request.", + "zone": { + "description": "The name of the zone for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" - }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" } }, - "path": "projects/{project}/regions/{region}/nodeTemplates/{resource}/setIamPolicy", - "request": { - "$ref": "RegionSetPolicyRequest" - }, + "path": "projects/{project}/zones/{zone}/nodeGroups", "response": { - "$ref": "Policy" + "$ref": "NodeGroupList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/nodeTemplates/{resource}/testIamPermissions", + "listNodes": { + "description": "Lists nodes in the node group.", + "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/listNodes", "httpMethod": "POST", - "id": "compute.nodeTemplates.testIamPermissions", + "id": "compute.nodeGroups.listNodes", "parameterOrder": [ "project", - "region", - "resource" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "The name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/nodeTemplates/{resource}/testIamPermissions", - "request": { - "$ref": "TestPermissionsRequest" - }, - "response": { - "$ref": "TestPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - } - } - }, - "nodeTypes": { - "methods": { - "aggregatedList": { - "description": "Retrieves an aggregated list of node types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/nodeTypes", - "httpMethod": "GET", - "id": "compute.nodeTypes.aggregatedList", - "parameterOrder": [ - "project" + "zone", + "nodeGroup" ], "parameters": { "filter": { @@ -21209,11 +21678,6 @@ "location": "query", "type": "string" }, - "includeAllScopes": { - "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", - "location": "query", - "type": "boolean" - }, "maxResults": { "default": "500", "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", @@ -21222,6 +21686,13 @@ "minimum": "0", "type": "integer" }, + "nodeGroup": { + "description": "Name of the NodeGroup resource whose nodes you want to list.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, "orderBy": { "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", "location": "query", @@ -21244,16 +21715,17 @@ "location": "query", "type": "boolean" }, - "serviceProjectNumber": { - "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", - "format": "int64", - "location": "query", + "zone": { + "description": "The name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, "type": "string" } }, - "path": "projects/{project}/aggregated/nodeTypes", + "path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/listNodes", "response": { - "$ref": "NodeTypeAggregatedList" + "$ref": "NodeGroupsListNodes" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -21261,19 +21733,19 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "get": { - "description": "Returns the specified node type.", - "flatPath": "projects/{project}/zones/{zone}/nodeTypes/{nodeType}", - "httpMethod": "GET", - "id": "compute.nodeTypes.get", + "patch": { + "description": "Updates the specified node group.", + "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", + "httpMethod": "PATCH", + "id": "compute.nodeGroups.patch", "parameterOrder": [ "project", "zone", - "nodeType" + "nodeGroup" ], "parameters": { - "nodeType": { - "description": "Name of the node type to return.", + "nodeGroup": { + "description": "Name of the NodeGroup resource to update.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -21286,6 +21758,11 @@ "required": true, "type": "string" }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, "zone": { "description": "The name of the zone for this request.", "location": "path", @@ -21294,47 +21771,34 @@ "type": "string" } }, - "path": "projects/{project}/zones/{zone}/nodeTypes/{nodeType}", + "path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}", + "request": { + "$ref": "NodeGroup" + }, "response": { - "$ref": "NodeType" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "list": { - "description": "Retrieves a list of node types available to the specified project.", - "flatPath": "projects/{project}/zones/{zone}/nodeTypes", - "httpMethod": "GET", - "id": "compute.nodeTypes.list", + "performMaintenance": { + "description": "Perform maintenance on a subset of nodes in the node group.", + "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/performMaintenance", + "httpMethod": "POST", + "id": "compute.nodeGroups.performMaintenance", "parameterOrder": [ "project", - "zone" + "zone", + "nodeGroup" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", + "nodeGroup": { + "description": "Name of the node group scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, "type": "string" }, "project": { @@ -21344,10 +21808,10 @@ "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", - "type": "boolean" + "type": "string" }, "zone": { "description": "The name of the zone for this request.", @@ -21357,84 +21821,104 @@ "type": "string" } }, - "path": "projects/{project}/zones/{zone}/nodeTypes", + "path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/performMaintenance", + "request": { + "$ref": "NodeGroupsPerformMaintenanceRequest" + }, "response": { - "$ref": "NodeTypeList" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] - } - } - }, - "organizationSecurityPolicies": { - "methods": { - "addAssociation": { - "description": "Inserts an association for the specified security policy.", - "flatPath": "locations/global/securityPolicies/{securityPolicy}/addAssociation", + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{resource}/setIamPolicy", "httpMethod": "POST", - "id": "compute.organizationSecurityPolicies.addAssociation", + "id": "compute.nodeGroups.setIamPolicy", "parameterOrder": [ - "securityPolicy" + "project", + "zone", + "resource" ], "parameters": { - "replaceExistingAssociation": { - "description": "Indicates whether or not to replace it if an association of the attachment already exists. This is false by default, in which case an error will be returned if an association already exists.", - "location": "query", - "type": "boolean" + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, "type": "string" }, - "securityPolicy": { - "description": "Name of the security policy to update.", + "zone": { + "description": "The name of the zone for this request.", "location": "path", - "pattern": "(securityPolicies/)?[0-9]{0,20}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "locations/global/securityPolicies/{securityPolicy}/addAssociation", + "path": "projects/{project}/zones/{zone}/nodeGroups/{resource}/setIamPolicy", "request": { - "$ref": "SecurityPolicyAssociation" + "$ref": "ZoneSetPolicyRequest" }, "response": { - "$ref": "Operation" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] }, - "addRule": { - "description": "Inserts a rule into a security policy.", - "flatPath": "locations/global/securityPolicies/{securityPolicy}/addRule", + "setNodeTemplate": { + "description": "Updates the node template of the node group.", + "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/setNodeTemplate", "httpMethod": "POST", - "id": "compute.organizationSecurityPolicies.addRule", + "id": "compute.nodeGroups.setNodeTemplate", "parameterOrder": [ - "securityPolicy" + "project", + "zone", + "nodeGroup" ], "parameters": { + "nodeGroup": { + "description": "Name of the NodeGroup resource to update.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, - "securityPolicy": { - "description": "Name of the security policy to update.", + "zone": { + "description": "The name of the zone for this request.", "location": "path", - "pattern": "(securityPolicies/)?[0-9]{0,20}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "locations/global/securityPolicies/{securityPolicy}/addRule", + "path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/setNodeTemplate", "request": { - "$ref": "SecurityPolicyRule" + "$ref": "NodeGroupsSetNodeTemplateRequest" }, "response": { "$ref": "Operation" @@ -21444,34 +21928,48 @@ "https://www.googleapis.com/auth/compute" ] }, - "copyRules": { - "description": "Copies rules to the specified security policy.", - "flatPath": "locations/global/securityPolicies/{securityPolicy}/copyRules", + "simulateMaintenanceEvent": { + "description": "Simulates maintenance event on specified nodes from the node group.", + "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/simulateMaintenanceEvent", "httpMethod": "POST", - "id": "compute.organizationSecurityPolicies.copyRules", + "id": "compute.nodeGroups.simulateMaintenanceEvent", "parameterOrder": [ - "securityPolicy" + "project", + "zone", + "nodeGroup" ], "parameters": { - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", + "nodeGroup": { + "description": "Name of the NodeGroup resource whose nodes will go under maintenance simulation.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, "type": "string" }, - "securityPolicy": { - "description": "Name of the security policy to update.", + "project": { + "description": "Project ID for this request.", "location": "path", - "pattern": "(securityPolicies/)?[0-9]{0,20}", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" }, - "sourceSecurityPolicy": { - "description": "The security policy from which to copy rules.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" + }, + "zone": { + "description": "The name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" } }, - "path": "locations/global/securityPolicies/{securityPolicy}/copyRules", + "path": "projects/{project}/zones/{zone}/nodeGroups/{nodeGroup}/simulateMaintenanceEvent", + "request": { + "$ref": "NodeGroupsSimulateMaintenanceEventRequest" + }, "response": { "$ref": "Operation" }, @@ -21480,57 +21978,115 @@ "https://www.googleapis.com/auth/compute" ] }, - "delete": { - "description": "Deletes the specified policy.", - "flatPath": "locations/global/securityPolicies/{securityPolicy}", - "httpMethod": "DELETE", - "id": "compute.organizationSecurityPolicies.delete", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.nodeGroups.testIamPermissions", "parameterOrder": [ - "securityPolicy" + "project", + "zone", + "resource" ], "parameters": { - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, "type": "string" }, - "securityPolicy": { - "description": "Name of the security policy to delete.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", - "pattern": "(securityPolicies/)?[0-9]{0,20}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "zone": { + "description": "The name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "locations/global/securityPolicies/{securityPolicy}", + "path": "projects/{project}/zones/{zone}/nodeGroups/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, "response": { - "$ref": "Operation" + "$ref": "TestPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] - }, - "get": { - "description": "List all of the ordered rules present in a single specified policy.", - "flatPath": "locations/global/securityPolicies/{securityPolicy}", + } + } + }, + "nodeTemplates": { + "methods": { + "aggregatedList": { + "description": "Retrieves an aggregated list of node templates. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/nodeTemplates", "httpMethod": "GET", - "id": "compute.organizationSecurityPolicies.get", + "id": "compute.nodeTemplates.aggregatedList", "parameterOrder": [ - "securityPolicy" + "project" ], "parameters": { - "securityPolicy": { - "description": "Name of the security policy to get.", + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "location": "query", + "type": "boolean" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", "location": "path", - "pattern": "(securityPolicies/)?[0-9]{0,20}", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + }, + "serviceProjectNumber": { + "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", + "format": "int64", + "location": "query", + "type": "string" } }, - "path": "locations/global/securityPolicies/{securityPolicy}", + "path": "projects/{project}/aggregated/nodeTemplates", "response": { - "$ref": "SecurityPolicy" + "$ref": "NodeTemplateAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -21538,31 +22094,89 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "getAssociation": { - "description": "Gets an association with the specified name.", - "flatPath": "locations/global/securityPolicies/{securityPolicy}/getAssociation", - "httpMethod": "GET", - "id": "compute.organizationSecurityPolicies.getAssociation", + "delete": { + "description": "Deletes the specified NodeTemplate resource.", + "flatPath": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}", + "httpMethod": "DELETE", + "id": "compute.nodeTemplates.delete", "parameterOrder": [ - "securityPolicy" + "project", + "region", + "nodeTemplate" ], "parameters": { - "name": { - "description": "The name of the association to get from the security policy.", + "nodeTemplate": { + "description": "Name of the NodeTemplate resource to delete.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Returns the specified node template.", + "flatPath": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}", + "httpMethod": "GET", + "id": "compute.nodeTemplates.get", + "parameterOrder": [ + "project", + "region", + "nodeTemplate" + ], + "parameters": { + "nodeTemplate": { + "description": "Name of the node template to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" }, - "securityPolicy": { - "description": "Name of the security policy to which the queried rule belongs.", + "project": { + "description": "Project ID for this request.", "location": "path", - "pattern": "(securityPolicies/)?[0-9]{0,20}", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "locations/global/securityPolicies/{securityPolicy}/getAssociation", + "path": "projects/{project}/regions/{region}/nodeTemplates/{nodeTemplate}", "response": { - "$ref": "SecurityPolicyAssociation" + "$ref": "NodeTemplate" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -21570,32 +22184,48 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "getRule": { - "description": "Gets a rule at the specified priority.", - "flatPath": "locations/global/securityPolicies/{securityPolicy}/getRule", + "getIamPolicy": { + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "flatPath": "projects/{project}/regions/{region}/nodeTemplates/{resource}/getIamPolicy", "httpMethod": "GET", - "id": "compute.organizationSecurityPolicies.getRule", + "id": "compute.nodeTemplates.getIamPolicy", "parameterOrder": [ - "securityPolicy" + "project", + "region", + "resource" ], "parameters": { - "priority": { - "description": "The priority of the rule to get from the security policy.", + "optionsRequestedPolicyVersion": { + "description": "Requested IAM Policy version.", "format": "int32", "location": "query", "type": "integer" }, - "securityPolicy": { - "description": "Name of the security policy to which the queried rule belongs.", + "project": { + "description": "Project ID for this request.", "location": "path", - "pattern": "(securityPolicies/)?[0-9]{0,20}", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "locations/global/securityPolicies/{securityPolicy}/getRule", + "path": "projects/{project}/regions/{region}/nodeTemplates/{resource}/getIamPolicy", "response": { - "$ref": "SecurityPolicyRule" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -21604,14 +22234,27 @@ ] }, "insert": { - "description": "Creates a new policy in the specified project using the data included in the request.", - "flatPath": "locations/global/securityPolicies", + "description": "Creates a NodeTemplate resource in the specified project using the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/nodeTemplates", "httpMethod": "POST", - "id": "compute.organizationSecurityPolicies.insert", + "id": "compute.nodeTemplates.insert", + "parameterOrder": [ + "project", + "region" + ], "parameters": { - "parentId": { - "description": "Parent ID for this request. The ID can be either be \"folders/[FOLDER_ID]\" if the parent is a folder or \"organizations/[ORGANIZATION_ID]\" if the parent is an organization.", - "location": "query", + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, "type": "string" }, "requestId": { @@ -21620,9 +22263,9 @@ "type": "string" } }, - "path": "locations/global/securityPolicies", + "path": "projects/{project}/regions/{region}/nodeTemplates", "request": { - "$ref": "SecurityPolicy" + "$ref": "NodeTemplate" }, "response": { "$ref": "Operation" @@ -21633,10 +22276,14 @@ ] }, "list": { - "description": "List all the policies that have been configured for the specified project.", - "flatPath": "locations/global/securityPolicies", + "description": "Retrieves a list of node templates available to the specified project.", + "flatPath": "projects/{project}/regions/{region}/nodeTemplates", "httpMethod": "GET", - "id": "compute.organizationSecurityPolicies.list", + "id": "compute.nodeTemplates.list", + "parameterOrder": [ + "project", + "region" + ], "parameters": { "filter": { "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", @@ -21661,9 +22308,18 @@ "location": "query", "type": "string" }, - "parentId": { - "description": "Parent ID for this request.", - "location": "query", + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, "type": "string" }, "returnPartialSuccess": { @@ -21672,31 +22328,9 @@ "type": "boolean" } }, - "path": "locations/global/securityPolicies", - "response": { - "$ref": "SecurityPolicyList" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "listAssociations": { - "description": "Lists associations of a specified target, i.e., organization or folder.", - "flatPath": "locations/global/securityPolicies/listAssociations", - "httpMethod": "GET", - "id": "compute.organizationSecurityPolicies.listAssociations", - "parameters": { - "targetResource": { - "description": "The target resource to list associations. It is an organization, or a folder.", - "location": "query", - "type": "string" - } - }, - "path": "locations/global/securityPolicies/listAssociations", + "path": "projects/{project}/regions/{region}/nodeTemplates", "response": { - "$ref": "OrganizationSecurityPoliciesListAssociationsResponse" + "$ref": "NodeTemplateList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -21704,198 +22338,106 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "move": { - "description": "Moves the specified security policy.", - "flatPath": "locations/global/securityPolicies/{securityPolicy}/move", + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "projects/{project}/regions/{region}/nodeTemplates/{resource}/setIamPolicy", "httpMethod": "POST", - "id": "compute.organizationSecurityPolicies.move", + "id": "compute.nodeTemplates.setIamPolicy", "parameterOrder": [ - "securityPolicy" + "project", + "region", + "resource" ], "parameters": { - "parentId": { - "description": "The new parent of the security policy.", - "location": "query", + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, "type": "string" }, - "securityPolicy": { - "description": "Name of the security policy to update.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", - "pattern": "(securityPolicies/)?[0-9]{0,20}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "locations/global/securityPolicies/{securityPolicy}/move", + "path": "projects/{project}/regions/{region}/nodeTemplates/{resource}/setIamPolicy", + "request": { + "$ref": "RegionSetPolicyRequest" + }, "response": { - "$ref": "Operation" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] }, - "patch": { - "description": "Patches the specified policy with the data included in the request.", - "flatPath": "locations/global/securityPolicies/{securityPolicy}", - "httpMethod": "PATCH", - "id": "compute.organizationSecurityPolicies.patch", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/regions/{region}/nodeTemplates/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.nodeTemplates.testIamPermissions", "parameterOrder": [ - "securityPolicy" + "project", + "region", + "resource" ], "parameters": { - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "securityPolicy": { - "description": "Name of the security policy to update.", + "project": { + "description": "Project ID for this request.", "location": "path", - "pattern": "(securityPolicies/)?[0-9]{0,20}", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" - } - }, - "path": "locations/global/securityPolicies/{securityPolicy}", - "request": { - "$ref": "SecurityPolicy" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "patchRule": { - "description": "Patches a rule at the specified priority.", - "flatPath": "locations/global/securityPolicies/{securityPolicy}/patchRule", - "httpMethod": "POST", - "id": "compute.organizationSecurityPolicies.patchRule", - "parameterOrder": [ - "securityPolicy" - ], - "parameters": { - "priority": { - "description": "The priority of the rule to patch.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" }, - "securityPolicy": { - "description": "Name of the security policy to update.", + "region": { + "description": "The name of the region for this request.", "location": "path", - "pattern": "(securityPolicies/)?[0-9]{0,20}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" - } - }, - "path": "locations/global/securityPolicies/{securityPolicy}/patchRule", - "request": { - "$ref": "SecurityPolicyRule" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "removeAssociation": { - "description": "Removes an association for the specified security policy.", - "flatPath": "locations/global/securityPolicies/{securityPolicy}/removeAssociation", - "httpMethod": "POST", - "id": "compute.organizationSecurityPolicies.removeAssociation", - "parameterOrder": [ - "securityPolicy" - ], - "parameters": { - "name": { - "description": "Name for the attachment that will be removed.", - "location": "query", - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" }, - "securityPolicy": { - "description": "Name of the security policy to update.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", - "pattern": "(securityPolicies/)?[0-9]{0,20}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "locations/global/securityPolicies/{securityPolicy}/removeAssociation", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "removeRule": { - "description": "Deletes a rule at the specified priority.", - "flatPath": "locations/global/securityPolicies/{securityPolicy}/removeRule", - "httpMethod": "POST", - "id": "compute.organizationSecurityPolicies.removeRule", - "parameterOrder": [ - "securityPolicy" - ], - "parameters": { - "priority": { - "description": "The priority of the rule to remove from the security policy.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "securityPolicy": { - "description": "Name of the security policy to update.", - "location": "path", - "pattern": "(securityPolicies/)?[0-9]{0,20}", - "required": true, - "type": "string" - } + "path": "projects/{project}/regions/{region}/nodeTemplates/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" }, - "path": "locations/global/securityPolicies/{securityPolicy}/removeRule", "response": { - "$ref": "Operation" + "$ref": "TestPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] } } }, - "packetMirrorings": { + "nodeTypes": { "methods": { "aggregatedList": { - "description": "Retrieves an aggregated list of packetMirrorings. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/packetMirrorings", + "description": "Retrieves an aggregated list of node types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/nodeTypes", "httpMethod": "GET", - "id": "compute.packetMirrorings.aggregatedList", + "id": "compute.nodeTypes.aggregatedList", "parameterOrder": [ "project" ], @@ -21947,9 +22489,9 @@ "type": "string" } }, - "path": "projects/{project}/aggregated/packetMirrorings", + "path": "projects/{project}/aggregated/nodeTypes", "response": { - "$ref": "PacketMirroringAggregatedList" + "$ref": "NodeTypeAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -21957,66 +22499,19 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "delete": { - "description": "Deletes the specified PacketMirroring resource.", - "flatPath": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", - "httpMethod": "DELETE", - "id": "compute.packetMirrorings.delete", - "parameterOrder": [ - "project", - "region", - "packetMirroring" - ], - "parameters": { - "packetMirroring": { - "description": "Name of the PacketMirroring resource to delete.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "Name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, "get": { - "description": "Returns the specified PacketMirroring resource.", - "flatPath": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", + "description": "Returns the specified node type.", + "flatPath": "projects/{project}/zones/{zone}/nodeTypes/{nodeType}", "httpMethod": "GET", - "id": "compute.packetMirrorings.get", + "id": "compute.nodeTypes.get", "parameterOrder": [ "project", - "region", - "packetMirroring" + "zone", + "nodeType" ], "parameters": { - "packetMirroring": { - "description": "Name of the PacketMirroring resource to return.", + "nodeType": { + "description": "Name of the node type to return.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -22029,17 +22524,17 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region for this request.", + "zone": { + "description": "The name of the zone for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", + "path": "projects/{project}/zones/{zone}/nodeTypes/{nodeType}", "response": { - "$ref": "PacketMirroring" + "$ref": "NodeType" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -22047,56 +22542,14 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "insert": { - "description": "Creates a PacketMirroring resource in the specified project and region using the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/packetMirrorings", - "httpMethod": "POST", - "id": "compute.packetMirrorings.insert", - "parameterOrder": [ - "project", - "region" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "Name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/packetMirrorings", - "request": { - "$ref": "PacketMirroring" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, "list": { - "description": "Retrieves a list of PacketMirroring resources available to the specified project and region.", - "flatPath": "projects/{project}/regions/{region}/packetMirrorings", + "description": "Retrieves a list of node types available to the specified project.", + "flatPath": "projects/{project}/zones/{zone}/nodeTypes", "httpMethod": "GET", - "id": "compute.packetMirrorings.list", + "id": "compute.nodeTypes.list", "parameterOrder": [ "project", - "region" + "zone" ], "parameters": { "filter": { @@ -22129,118 +22582,22 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "returnPartialSuccess": { "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" - } - }, - "path": "projects/{project}/regions/{region}/packetMirrorings", - "response": { - "$ref": "PacketMirroringList" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "patch": { - "description": "Patches the specified PacketMirroring resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", - "flatPath": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", - "httpMethod": "PATCH", - "id": "compute.packetMirrorings.patch", - "parameterOrder": [ - "project", - "region", - "packetMirroring" - ], - "parameters": { - "packetMirroring": { - "description": "Name of the PacketMirroring resource to patch.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "Name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", - "request": { - "$ref": "PacketMirroring" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/packetMirrorings/{resource}/testIamPermissions", - "httpMethod": "POST", - "id": "compute.packetMirrorings.testIamPermissions", - "parameterOrder": [ - "project", - "region", - "resource" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" }, - "region": { - "description": "The name of the region for this request.", + "zone": { + "description": "The name of the zone for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" - }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" } }, - "path": "projects/{project}/regions/{region}/packetMirrorings/{resource}/testIamPermissions", - "request": { - "$ref": "TestPermissionsRequest" - }, + "path": "projects/{project}/zones/{zone}/nodeTypes", "response": { - "$ref": "TestPermissionsResponse" + "$ref": "NodeTypeList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -22250,31 +22607,39 @@ } } }, - "projects": { + "organizationSecurityPolicies": { "methods": { - "disableXpnHost": { - "description": "Disable this project as a shared VPC host project.", - "flatPath": "projects/{project}/disableXpnHost", + "addAssociation": { + "description": "Inserts an association for the specified security policy.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}/addAssociation", "httpMethod": "POST", - "id": "compute.projects.disableXpnHost", + "id": "compute.organizationSecurityPolicies.addAssociation", "parameterOrder": [ - "project" + "securityPolicy" ], "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" + "replaceExistingAssociation": { + "description": "Indicates whether or not to replace it if an association of the attachment already exists. This is false by default, in which case an error will be returned if an association already exists.", + "location": "query", + "type": "boolean" }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" + }, + "securityPolicy": { + "description": "Name of the security policy to update.", + "location": "path", + "pattern": "(securityPolicies/)?[0-9]{0,20}", + "required": true, + "type": "string" } }, - "path": "projects/{project}/disableXpnHost", + "path": "locations/global/securityPolicies/{securityPolicy}/addAssociation", + "request": { + "$ref": "SecurityPolicyAssociation" + }, "response": { "$ref": "Operation" }, @@ -22283,31 +22648,31 @@ "https://www.googleapis.com/auth/compute" ] }, - "disableXpnResource": { - "description": "Disable a service resource (also known as service project) associated with this host project.", - "flatPath": "projects/{project}/disableXpnResource", + "addRule": { + "description": "Inserts a rule into a security policy.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}/addRule", "httpMethod": "POST", - "id": "compute.projects.disableXpnResource", + "id": "compute.organizationSecurityPolicies.addRule", "parameterOrder": [ - "project" + "securityPolicy" ], "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" + }, + "securityPolicy": { + "description": "Name of the security policy to update.", + "location": "path", + "pattern": "(securityPolicies/)?[0-9]{0,20}", + "required": true, + "type": "string" } }, - "path": "projects/{project}/disableXpnResource", + "path": "locations/global/securityPolicies/{securityPolicy}/addRule", "request": { - "$ref": "ProjectsDisableXpnResourceRequest" + "$ref": "SecurityPolicyRule" }, "response": { "$ref": "Operation" @@ -22317,29 +22682,34 @@ "https://www.googleapis.com/auth/compute" ] }, - "enableXpnHost": { - "description": "Enable this project as a shared VPC host project.", - "flatPath": "projects/{project}/enableXpnHost", + "copyRules": { + "description": "Copies rules to the specified security policy.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}/copyRules", "httpMethod": "POST", - "id": "compute.projects.enableXpnHost", + "id": "compute.organizationSecurityPolicies.copyRules", "parameterOrder": [ - "project" + "securityPolicy" ], "parameters": { - "project": { - "description": "Project ID for this request.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "securityPolicy": { + "description": "Name of the security policy to update.", "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "pattern": "(securityPolicies/)?[0-9]{0,20}", "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "sourceSecurityPolicy": { + "description": "The security policy from which to copy rules.", "location": "query", "type": "string" } }, - "path": "projects/{project}/enableXpnHost", + "path": "locations/global/securityPolicies/{securityPolicy}/copyRules", "response": { "$ref": "Operation" }, @@ -22348,32 +22718,29 @@ "https://www.googleapis.com/auth/compute" ] }, - "enableXpnResource": { - "description": "Enable service resource (a.k.a service project) for a host project, so that subnets in the host project can be used by instances in the service project.", - "flatPath": "projects/{project}/enableXpnResource", - "httpMethod": "POST", - "id": "compute.projects.enableXpnResource", + "delete": { + "description": "Deletes the specified policy.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}", + "httpMethod": "DELETE", + "id": "compute.organizationSecurityPolicies.delete", "parameterOrder": [ - "project" + "securityPolicy" ], "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" + }, + "securityPolicy": { + "description": "Name of the security policy to delete.", + "location": "path", + "pattern": "(securityPolicies/)?[0-9]{0,20}", + "required": true, + "type": "string" } }, - "path": "projects/{project}/enableXpnResource", - "request": { - "$ref": "ProjectsEnableXpnResourceRequest" - }, + "path": "locations/global/securityPolicies/{securityPolicy}", "response": { "$ref": "Operation" }, @@ -22383,25 +22750,25 @@ ] }, "get": { - "description": "Returns the specified Project resource. To decrease latency for this method, you can optionally omit any unneeded information from the response by using a field mask. This practice is especially recommended for unused quota information (the `quotas` field). To exclude one or more fields, set your request's `fields` query parameter to only include the fields you need. For example, to only include the `id` and `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request.", - "flatPath": "projects/{project}", + "description": "List all of the ordered rules present in a single specified policy.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}", "httpMethod": "GET", - "id": "compute.projects.get", + "id": "compute.organizationSecurityPolicies.get", "parameterOrder": [ - "project" + "securityPolicy" ], "parameters": { - "project": { - "description": "Project ID for this request.", + "securityPolicy": { + "description": "Name of the security policy to get.", "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "pattern": "(securityPolicies/)?[0-9]{0,20}", "required": true, "type": "string" } }, - "path": "projects/{project}", + "path": "locations/global/securityPolicies/{securityPolicy}", "response": { - "$ref": "Project" + "$ref": "SecurityPolicy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -22409,40 +22776,105 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "getXpnHost": { - "description": "Gets the shared VPC host project that this project links to. May be empty if no link exists.", - "flatPath": "projects/{project}/getXpnHost", + "getAssociation": { + "description": "Gets an association with the specified name.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}/getAssociation", "httpMethod": "GET", - "id": "compute.projects.getXpnHost", + "id": "compute.organizationSecurityPolicies.getAssociation", "parameterOrder": [ - "project" + "securityPolicy" ], "parameters": { - "project": { - "description": "Project ID for this request.", + "name": { + "description": "The name of the association to get from the security policy.", + "location": "query", + "type": "string" + }, + "securityPolicy": { + "description": "Name of the security policy to which the queried rule belongs.", "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "pattern": "(securityPolicies/)?[0-9]{0,20}", "required": true, "type": "string" } }, - "path": "projects/{project}/getXpnHost", + "path": "locations/global/securityPolicies/{securityPolicy}/getAssociation", "response": { - "$ref": "Project" + "$ref": "SecurityPolicyAssociation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "getXpnResources": { - "description": "Gets service resources (a.k.a service project) associated with this host project.", - "flatPath": "projects/{project}/getXpnResources", + "getRule": { + "description": "Gets a rule at the specified priority.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}/getRule", "httpMethod": "GET", - "id": "compute.projects.getXpnResources", + "id": "compute.organizationSecurityPolicies.getRule", "parameterOrder": [ - "project" + "securityPolicy" ], + "parameters": { + "priority": { + "description": "The priority of the rule to get from the security policy.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "securityPolicy": { + "description": "Name of the security policy to which the queried rule belongs.", + "location": "path", + "pattern": "(securityPolicies/)?[0-9]{0,20}", + "required": true, + "type": "string" + } + }, + "path": "locations/global/securityPolicies/{securityPolicy}/getRule", + "response": { + "$ref": "SecurityPolicyRule" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates a new policy in the specified project using the data included in the request.", + "flatPath": "locations/global/securityPolicies", + "httpMethod": "POST", + "id": "compute.organizationSecurityPolicies.insert", + "parameters": { + "parentId": { + "description": "Parent ID for this request. The ID can be either be \"folders/[FOLDER_ID]\" if the parent is a folder or \"organizations/[ORGANIZATION_ID]\" if the parent is an organization.", + "location": "query", + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "locations/global/securityPolicies", + "request": { + "$ref": "SecurityPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "List all the policies that have been configured for the specified project.", + "flatPath": "locations/global/securityPolicies", + "httpMethod": "GET", + "id": "compute.organizationSecurityPolicies.list", "parameters": { "filter": { "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", @@ -22467,11 +22899,9 @@ "location": "query", "type": "string" }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, + "parentId": { + "description": "Parent ID for this request.", + "location": "query", "type": "string" }, "returnPartialSuccess": { @@ -22480,23 +22910,43 @@ "type": "boolean" } }, - "path": "projects/{project}/getXpnResources", + "path": "locations/global/securityPolicies", "response": { - "$ref": "ProjectsGetXpnResources" + "$ref": "SecurityPolicyList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "listXpnHosts": { - "description": "Lists all shared VPC host projects visible to the user in an organization.", - "flatPath": "projects/{project}/listXpnHosts", - "httpMethod": "POST", - "id": "compute.projects.listXpnHosts", - "parameterOrder": [ - "project" - ], + "listAssociations": { + "description": "Lists associations of a specified target, i.e., organization or folder.", + "flatPath": "locations/global/securityPolicies/listAssociations", + "httpMethod": "GET", + "id": "compute.organizationSecurityPolicies.listAssociations", + "parameters": { + "targetResource": { + "description": "The target resource to list associations. It is an organization, or a folder.", + "location": "query", + "type": "string" + } + }, + "path": "locations/global/securityPolicies/listAssociations", + "response": { + "$ref": "OrganizationSecurityPoliciesListAssociationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "listPreconfiguredExpressionSets": { + "description": "Gets the current list of preconfigured Web Application Firewall (WAF) expressions.", + "flatPath": "locations/global/securityPolicies/listPreconfiguredExpressionSets", + "httpMethod": "GET", + "id": "compute.organizationSecurityPolicies.listPreconfiguredExpressionSets", "parameters": { "filter": { "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", @@ -22521,11 +22971,9 @@ "location": "query", "type": "string" }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, + "parentId": { + "description": "Parent ID for this request.", + "location": "query", "type": "string" }, "returnPartialSuccess": { @@ -22534,44 +22982,44 @@ "type": "boolean" } }, - "path": "projects/{project}/listXpnHosts", - "request": { - "$ref": "ProjectsListXpnHostsRequest" - }, + "path": "locations/global/securityPolicies/listPreconfiguredExpressionSets", "response": { - "$ref": "XpnHostList" + "$ref": "SecurityPoliciesListPreconfiguredExpressionSetsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "moveDisk": { - "description": "Moves a persistent disk from one zone to another.", - "flatPath": "projects/{project}/moveDisk", + "move": { + "description": "Moves the specified security policy.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}/move", "httpMethod": "POST", - "id": "compute.projects.moveDisk", + "id": "compute.organizationSecurityPolicies.move", "parameterOrder": [ - "project" + "securityPolicy" ], "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, + "parentId": { + "description": "The new parent of the security policy.", + "location": "query", "type": "string" }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" + }, + "securityPolicy": { + "description": "Name of the security policy to update.", + "location": "path", + "pattern": "(securityPolicies/)?[0-9]{0,20}", + "required": true, + "type": "string" } }, - "path": "projects/{project}/moveDisk", - "request": { - "$ref": "DiskMoveRequest" - }, + "path": "locations/global/securityPolicies/{securityPolicy}/move", "response": { "$ref": "Operation" }, @@ -22580,32 +23028,31 @@ "https://www.googleapis.com/auth/compute" ] }, - "moveInstance": { - "deprecated": true, - "description": "Moves an instance and its attached persistent disks from one zone to another. *Note*: Moving VMs or disks by using this method might cause unexpected behavior. For more information, see the [known issue](/compute/docs/troubleshooting/known-issues#moving_vms_or_disks_using_the_moveinstance_api_or_the_causes_unexpected_behavior). [Deprecated] This method is deprecated. See [moving instance across zones](/compute/docs/instances/moving-instance-across-zones) instead.", - "flatPath": "projects/{project}/moveInstance", - "httpMethod": "POST", - "id": "compute.projects.moveInstance", + "patch": { + "description": "Patches the specified policy with the data included in the request.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}", + "httpMethod": "PATCH", + "id": "compute.organizationSecurityPolicies.patch", "parameterOrder": [ - "project" + "securityPolicy" ], "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" + }, + "securityPolicy": { + "description": "Name of the security policy to update.", + "location": "path", + "pattern": "(securityPolicies/)?[0-9]{0,20}", + "required": true, + "type": "string" } }, - "path": "projects/{project}/moveInstance", + "path": "locations/global/securityPolicies/{securityPolicy}", "request": { - "$ref": "InstanceMoveRequest" + "$ref": "SecurityPolicy" }, "response": { "$ref": "Operation" @@ -22615,31 +23062,37 @@ "https://www.googleapis.com/auth/compute" ] }, - "setCloudArmorTier": { - "description": "Sets the Cloud Armor tier of the project. To set ENTERPRISE or above the billing account of the project must be subscribed to Cloud Armor Enterprise. See Subscribing to Cloud Armor Enterprise for more information.", - "flatPath": "projects/{project}/setCloudArmorTier", + "patchRule": { + "description": "Patches a rule at the specified priority.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}/patchRule", "httpMethod": "POST", - "id": "compute.projects.setCloudArmorTier", + "id": "compute.organizationSecurityPolicies.patchRule", "parameterOrder": [ - "project" + "securityPolicy" ], "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" + "priority": { + "description": "The priority of the rule to patch.", + "format": "int32", + "location": "query", + "type": "integer" }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" + }, + "securityPolicy": { + "description": "Name of the security policy to update.", + "location": "path", + "pattern": "(securityPolicies/)?[0-9]{0,20}", + "required": true, + "type": "string" } }, - "path": "projects/{project}/setCloudArmorTier", + "path": "locations/global/securityPolicies/{securityPolicy}/patchRule", "request": { - "$ref": "ProjectsSetCloudArmorTierRequest" + "$ref": "SecurityPolicyRule" }, "response": { "$ref": "Operation" @@ -22649,32 +23102,34 @@ "https://www.googleapis.com/auth/compute" ] }, - "setCommonInstanceMetadata": { - "description": "Sets metadata common to all instances within the specified project using the data included in the request.", - "flatPath": "projects/{project}/setCommonInstanceMetadata", + "removeAssociation": { + "description": "Removes an association for the specified security policy.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}/removeAssociation", "httpMethod": "POST", - "id": "compute.projects.setCommonInstanceMetadata", + "id": "compute.organizationSecurityPolicies.removeAssociation", "parameterOrder": [ - "project" + "securityPolicy" ], "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, + "name": { + "description": "Name for the attachment that will be removed.", + "location": "query", "type": "string" }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" + }, + "securityPolicy": { + "description": "Name of the security policy to update.", + "location": "path", + "pattern": "(securityPolicies/)?[0-9]{0,20}", + "required": true, + "type": "string" } }, - "path": "projects/{project}/setCommonInstanceMetadata", - "request": { - "$ref": "Metadata" - }, + "path": "locations/global/securityPolicies/{securityPolicy}/removeAssociation", "response": { "$ref": "Operation" }, @@ -22683,32 +23138,35 @@ "https://www.googleapis.com/auth/compute" ] }, - "setDefaultNetworkTier": { - "description": "Sets the default network tier of the project. The default network tier is used when an address/forwardingRule/instance is created without specifying the network tier field.", - "flatPath": "projects/{project}/setDefaultNetworkTier", + "removeRule": { + "description": "Deletes a rule at the specified priority.", + "flatPath": "locations/global/securityPolicies/{securityPolicy}/removeRule", "httpMethod": "POST", - "id": "compute.projects.setDefaultNetworkTier", + "id": "compute.organizationSecurityPolicies.removeRule", "parameterOrder": [ - "project" + "securityPolicy" ], "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" + "priority": { + "description": "The priority of the rule to remove from the security policy.", + "format": "int32", + "location": "query", + "type": "integer" }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" + }, + "securityPolicy": { + "description": "Name of the security policy to update.", + "location": "path", + "pattern": "(securityPolicies/)?[0-9]{0,20}", + "required": true, + "type": "string" } }, - "path": "projects/{project}/setDefaultNetworkTier", - "request": { - "$ref": "ProjectsSetDefaultNetworkTierRequest" - }, + "path": "locations/global/securityPolicies/{securityPolicy}/removeRule", "response": { "$ref": "Operation" }, @@ -22716,16 +23174,48 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] - }, - "setDefaultServiceAccount": { - "description": "Sets the default service account of the project. The default service account is used when a VM instance is created with the service account email address set to \"default\".", - "flatPath": "projects/{project}/setDefaultServiceAccount", - "httpMethod": "POST", - "id": "compute.projects.setDefaultServiceAccount", + } + } + }, + "packetMirrorings": { + "methods": { + "aggregatedList": { + "description": "Retrieves an aggregated list of packetMirrorings. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/packetMirrorings", + "httpMethod": "GET", + "id": "compute.packetMirrorings.aggregatedList", "parameterOrder": [ "project" ], "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "location": "query", + "type": "boolean" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -22733,33 +23223,46 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + }, + "serviceProjectNumber": { + "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", + "format": "int64", "location": "query", "type": "string" } }, - "path": "projects/{project}/setDefaultServiceAccount", - "request": { - "$ref": "ProjectsSetDefaultServiceAccountRequest" - }, + "path": "projects/{project}/aggregated/packetMirrorings", "response": { - "$ref": "Operation" + "$ref": "PacketMirroringAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "setManagedProtectionTier": { - "description": "Sets the Cloud Armor Managed Protection (CAMP) tier of the project. To set PLUS or above the billing account of the project must be subscribed to Managed Protection Plus. See Subscribing to Managed Protection Plus for more information.", - "flatPath": "projects/{project}/setManagedProtectionTier", - "httpMethod": "POST", - "id": "compute.projects.setManagedProtectionTier", + "delete": { + "description": "Deletes the specified PacketMirroring resource.", + "flatPath": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", + "httpMethod": "DELETE", + "id": "compute.packetMirrorings.delete", "parameterOrder": [ - "project" + "project", + "region", + "packetMirroring" ], "parameters": { + "packetMirroring": { + "description": "Name of the PacketMirroring resource to delete.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -22767,16 +23270,20 @@ "required": true, "type": "string" }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } }, - "path": "projects/{project}/setManagedProtectionTier", - "request": { - "$ref": "ProjectsSetManagedProtectionTierRequest" - }, + "path": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", "response": { "$ref": "Operation" }, @@ -22785,15 +23292,24 @@ "https://www.googleapis.com/auth/compute" ] }, - "setUsageExportBucket": { - "description": "Enables the usage export feature and sets the usage export bucket where reports are stored. If you provide an empty request body using this method, the usage export feature will be disabled.", - "flatPath": "projects/{project}/setUsageExportBucket", - "httpMethod": "POST", - "id": "compute.projects.setUsageExportBucket", + "get": { + "description": "Returns the specified PacketMirroring resource.", + "flatPath": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", + "httpMethod": "GET", + "id": "compute.packetMirrorings.get", "parameterOrder": [ - "project" + "project", + "region", + "packetMirroring" ], "parameters": { + "packetMirroring": { + "description": "Name of the PacketMirroring resource to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -22801,39 +23317,32 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, "type": "string" } }, - "path": "projects/{project}/setUsageExportBucket", - "request": { - "$ref": "UsageExportLocation" - }, + "path": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", "response": { - "$ref": "Operation" + "$ref": "PacketMirroring" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/devstorage.full_control", - "https://www.googleapis.com/auth/devstorage.read_only", - "https://www.googleapis.com/auth/devstorage.read_write" + "https://www.googleapis.com/auth/compute.readonly" ] - } - } - }, - "publicAdvertisedPrefixes": { - "methods": { - "announce": { - "description": "Announces the specified PublicAdvertisedPrefix", - "flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/announce", + }, + "insert": { + "description": "Creates a PacketMirroring resource in the specified project and region using the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/packetMirrorings", "httpMethod": "POST", - "id": "compute.publicAdvertisedPrefixes.announce", + "id": "compute.packetMirrorings.insert", "parameterOrder": [ "project", - "publicAdvertisedPrefix" + "region" ], "parameters": { "project": { @@ -22843,9 +23352,10 @@ "required": true, "type": "string" }, - "publicAdvertisedPrefix": { - "description": "The name of the public advertised prefix. It should comply with RFC1035.", + "region": { + "description": "Name of the region for this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -22855,7 +23365,10 @@ "type": "string" } }, - "path": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/announce", + "path": "projects/{project}/regions/{region}/packetMirrorings", + "request": { + "$ref": "PacketMirroring" + }, "response": { "$ref": "Operation" }, @@ -22864,16 +23377,39 @@ "https://www.googleapis.com/auth/compute" ] }, - "delete": { - "description": "Deletes the specified PublicAdvertisedPrefix", - "flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", - "httpMethod": "DELETE", - "id": "compute.publicAdvertisedPrefixes.delete", + "list": { + "description": "Retrieves a list of PacketMirroring resources available to the specified project and region.", + "flatPath": "projects/{project}/regions/{region}/packetMirrorings", + "httpMethod": "GET", + "id": "compute.packetMirrorings.list", "parameterOrder": [ "project", - "publicAdvertisedPrefix" + "region" ], "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -22881,72 +23417,47 @@ "required": true, "type": "string" }, - "publicAdvertisedPrefix": { - "description": "Name of the PublicAdvertisedPrefix resource to delete.", + "region": { + "description": "Name of the region for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", - "type": "string" + "type": "boolean" } }, - "path": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", + "path": "projects/{project}/regions/{region}/packetMirrorings", "response": { - "$ref": "Operation" + "$ref": "PacketMirroringList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "get": { - "description": "Returns the specified PublicAdvertisedPrefix resource.", - "flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", - "httpMethod": "GET", - "id": "compute.publicAdvertisedPrefixes.get", + "patch": { + "description": "Patches the specified PacketMirroring resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", + "flatPath": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", + "httpMethod": "PATCH", + "id": "compute.packetMirrorings.patch", "parameterOrder": [ "project", - "publicAdvertisedPrefix" + "region", + "packetMirroring" ], "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "publicAdvertisedPrefix": { - "description": "Name of the PublicAdvertisedPrefix resource to return.", + "packetMirroring": { + "description": "Name of the PacketMirroring resource to patch.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" - } - }, - "path": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", - "response": { - "$ref": "PublicAdvertisedPrefix" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "insert": { - "description": "Creates a PublicAdvertisedPrefix in the specified project using the parameters that are included in the request.", - "flatPath": "projects/{project}/global/publicAdvertisedPrefixes", - "httpMethod": "POST", - "id": "compute.publicAdvertisedPrefixes.insert", - "parameterOrder": [ - "project" - ], - "parameters": { + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -22954,15 +23465,22 @@ "required": true, "type": "string" }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } }, - "path": "projects/{project}/global/publicAdvertisedPrefixes", + "path": "projects/{project}/regions/{region}/packetMirrorings/{packetMirroring}", "request": { - "$ref": "PublicAdvertisedPrefix" + "$ref": "PacketMirroring" }, "response": { "$ref": "Operation" @@ -22972,38 +23490,17 @@ "https://www.googleapis.com/auth/compute" ] }, - "list": { - "description": "Lists the PublicAdvertisedPrefixes for a project.", - "flatPath": "projects/{project}/global/publicAdvertisedPrefixes", - "httpMethod": "GET", - "id": "compute.publicAdvertisedPrefixes.list", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/regions/{region}/packetMirrorings/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.packetMirrorings.testIamPermissions", "parameterOrder": [ - "project" + "project", + "region", + "resource" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -23011,72 +23508,45 @@ "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" - } - }, - "path": "projects/{project}/global/publicAdvertisedPrefixes", - "response": { - "$ref": "PublicAdvertisedPrefixList" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "patch": { - "description": "Patches the specified Router resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", - "flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", - "httpMethod": "PATCH", - "id": "compute.publicAdvertisedPrefixes.patch", - "parameterOrder": [ - "project", - "publicAdvertisedPrefix" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", + "region": { + "description": "The name of the region for this request.", "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "publicAdvertisedPrefix": { - "description": "Name of the PublicAdvertisedPrefix resource to patch.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" } }, - "path": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", + "path": "projects/{project}/regions/{region}/packetMirrorings/{resource}/testIamPermissions", "request": { - "$ref": "PublicAdvertisedPrefix" + "$ref": "TestPermissionsRequest" }, "response": { - "$ref": "Operation" + "$ref": "TestPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] - }, - "withdraw": { - "description": "Withdraws the specified PublicAdvertisedPrefix", - "flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/withdraw", + } + } + }, + "projects": { + "methods": { + "disableXpnHost": { + "description": "Disable this project as a shared VPC host project.", + "flatPath": "projects/{project}/disableXpnHost", "httpMethod": "POST", - "id": "compute.publicAdvertisedPrefixes.withdraw", + "id": "compute.projects.disableXpnHost", "parameterOrder": [ - "project", - "publicAdvertisedPrefix" + "project" ], "parameters": { "project": { @@ -23086,19 +23556,13 @@ "required": true, "type": "string" }, - "publicAdvertisedPrefix": { - "description": "The name of the public advertised prefix. It should comply with RFC1035.", - "location": "path", - "required": true, - "type": "string" - }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } }, - "path": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/withdraw", + "path": "projects/{project}/disableXpnHost", "response": { "$ref": "Operation" }, @@ -23106,86 +23570,48 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] - } - } - }, - "publicDelegatedPrefixes": { - "methods": { - "aggregatedList": { - "description": "Lists all PublicDelegatedPrefix resources owned by the specific project across all scopes. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/publicDelegatedPrefixes", - "httpMethod": "GET", - "id": "compute.publicDelegatedPrefixes.aggregatedList", + }, + "disableXpnResource": { + "description": "Disable a service resource (also known as service project) associated with this host project.", + "flatPath": "projects/{project}/disableXpnResource", + "httpMethod": "POST", + "id": "compute.projects.disableXpnResource", "parameterOrder": [ "project" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "includeAllScopes": { - "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", - "location": "query", - "type": "boolean" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, "project": { - "description": "Name of the project scoping this request.", + "description": "Project ID for this request.", "location": "path", "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" - }, - "serviceProjectNumber": { - "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", - "format": "int64", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } }, - "path": "projects/{project}/aggregated/publicDelegatedPrefixes", + "path": "projects/{project}/disableXpnResource", + "request": { + "$ref": "ProjectsDisableXpnResourceRequest" + }, "response": { - "$ref": "PublicDelegatedPrefixAggregatedList" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "announce": { - "description": "Announces the specified PublicDelegatedPrefix in the given region.", - "flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/announce", + "enableXpnHost": { + "description": "Enable this project as a shared VPC host project.", + "flatPath": "projects/{project}/enableXpnHost", "httpMethod": "POST", - "id": "compute.publicDelegatedPrefixes.announce", + "id": "compute.projects.enableXpnHost", "parameterOrder": [ - "project", - "region", - "publicDelegatedPrefix" + "project" ], "parameters": { "project": { @@ -23195,25 +23621,13 @@ "required": true, "type": "string" }, - "publicDelegatedPrefix": { - "description": "The name of the public delegated prefix. It should comply with RFC1035.", - "location": "path", - "required": true, - "type": "string" - }, - "region": { - "description": "The name of the region where the public delegated prefix is located. It should comply with RFC1035.", - "location": "path", - "required": true, - "type": "string" - }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/announce", + "path": "projects/{project}/enableXpnHost", "response": { "$ref": "Operation" }, @@ -23222,15 +23636,13 @@ "https://www.googleapis.com/auth/compute" ] }, - "delete": { - "description": "Deletes the specified PublicDelegatedPrefix in the given region.", - "flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", - "httpMethod": "DELETE", - "id": "compute.publicDelegatedPrefixes.delete", + "enableXpnResource": { + "description": "Enable service resource (a.k.a service project) for a host project, so that subnets in the host project can be used by instances in the service project.", + "flatPath": "projects/{project}/enableXpnResource", + "httpMethod": "POST", + "id": "compute.projects.enableXpnResource", "parameterOrder": [ - "project", - "region", - "publicDelegatedPrefix" + "project" ], "parameters": { "project": { @@ -23240,27 +23652,16 @@ "required": true, "type": "string" }, - "publicDelegatedPrefix": { - "description": "Name of the PublicDelegatedPrefix resource to delete.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, - "region": { - "description": "Name of the region of this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", + "path": "projects/{project}/enableXpnResource", + "request": { + "$ref": "ProjectsEnableXpnResourceRequest" + }, "response": { "$ref": "Operation" }, @@ -23270,14 +23671,12 @@ ] }, "get": { - "description": "Returns the specified PublicDelegatedPrefix resource in the given region.", - "flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", + "description": "Returns the specified Project resource. To decrease latency for this method, you can optionally omit any unneeded information from the response by using a field mask. This practice is especially recommended for unused quota information (the `quotas` field). To exclude one or more fields, set your request's `fields` query parameter to only include the fields you need. For example, to only include the `id` and `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request.", + "flatPath": "projects/{project}", "httpMethod": "GET", - "id": "compute.publicDelegatedPrefixes.get", + "id": "compute.projects.get", "parameterOrder": [ - "project", - "region", - "publicDelegatedPrefix" + "project" ], "parameters": { "project": { @@ -23286,25 +23685,11 @@ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" - }, - "publicDelegatedPrefix": { - "description": "Name of the PublicDelegatedPrefix resource to return.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, - "region": { - "description": "Name of the region of this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" } }, - "path": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", + "path": "projects/{project}", "response": { - "$ref": "PublicDelegatedPrefix" + "$ref": "Project" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -23312,14 +23697,13 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "insert": { - "description": "Creates a PublicDelegatedPrefix in the specified project in the given region using the parameters that are included in the request.", - "flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes", - "httpMethod": "POST", - "id": "compute.publicDelegatedPrefixes.insert", + "getXpnHost": { + "description": "Gets the shared VPC host project that this project links to. May be empty if no link exists.", + "flatPath": "projects/{project}/getXpnHost", + "httpMethod": "GET", + "id": "compute.projects.getXpnHost", "parameterOrder": [ - "project", - "region" + "project" ], "parameters": { "project": { @@ -23328,40 +23712,24 @@ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" - }, - "region": { - "description": "Name of the region of this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" } }, - "path": "projects/{project}/regions/{region}/publicDelegatedPrefixes", - "request": { - "$ref": "PublicDelegatedPrefix" - }, + "path": "projects/{project}/getXpnHost", "response": { - "$ref": "Operation" + "$ref": "Project" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] }, - "list": { - "description": "Lists the PublicDelegatedPrefixes for a project in the given region.", - "flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes", + "getXpnResources": { + "description": "Gets service resources (a.k.a service project) associated with this host project.", + "flatPath": "projects/{project}/getXpnResources", "httpMethod": "GET", - "id": "compute.publicDelegatedPrefixes.list", + "id": "compute.projects.getXpnResources", "parameterOrder": [ - "project", - "region" + "project" ], "parameters": { "filter": { @@ -23394,88 +23762,85 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region of this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "returnPartialSuccess": { "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/publicDelegatedPrefixes", + "path": "projects/{project}/getXpnResources", "response": { - "$ref": "PublicDelegatedPrefixList" + "$ref": "ProjectsGetXpnResources" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "patch": { - "description": "Patches the specified PublicDelegatedPrefix resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", - "flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", - "httpMethod": "PATCH", - "id": "compute.publicDelegatedPrefixes.patch", + "listXpnHosts": { + "description": "Lists all shared VPC host projects visible to the user in an organization.", + "flatPath": "projects/{project}/listXpnHosts", + "httpMethod": "POST", + "id": "compute.projects.listXpnHosts", "parameterOrder": [ - "project", - "region", - "publicDelegatedPrefix" + "project" ], "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", "type": "string" }, - "publicDelegatedPrefix": { - "description": "Name of the PublicDelegatedPrefix resource to patch.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", "type": "string" }, - "region": { - "description": "Name of the region for this request.", + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", - "type": "string" + "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", + "path": "projects/{project}/listXpnHosts", "request": { - "$ref": "PublicDelegatedPrefix" + "$ref": "ProjectsListXpnHostsRequest" }, "response": { - "$ref": "Operation" + "$ref": "XpnHostList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] }, - "withdraw": { - "description": "Withdraws the specified PublicDelegatedPrefix in the given region.", - "flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/withdraw", + "moveDisk": { + "description": "Moves a persistent disk from one zone to another.", + "flatPath": "projects/{project}/moveDisk", "httpMethod": "POST", - "id": "compute.publicDelegatedPrefixes.withdraw", + "id": "compute.projects.moveDisk", "parameterOrder": [ - "project", - "region", - "publicDelegatedPrefix" + "project" ], "parameters": { "project": { @@ -23485,25 +23850,16 @@ "required": true, "type": "string" }, - "publicDelegatedPrefix": { - "description": "The name of the public delegated prefix. It should comply with RFC1035.", - "location": "path", - "required": true, - "type": "string" - }, - "region": { - "description": "The name of the region where the public delegated prefix is located. It should comply with RFC1035.", - "location": "path", - "required": true, - "type": "string" - }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/withdraw", + "path": "projects/{project}/moveDisk", + "request": { + "$ref": "DiskMoveRequest" + }, "response": { "$ref": "Operation" }, @@ -23511,29 +23867,17 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] - } - } - }, - "regionAutoscalers": { - "methods": { - "delete": { - "description": "Deletes the specified autoscaler.", - "flatPath": "projects/{project}/regions/{region}/autoscalers/{autoscaler}", - "httpMethod": "DELETE", - "id": "compute.regionAutoscalers.delete", + }, + "moveInstance": { + "deprecated": true, + "description": "Moves an instance and its attached persistent disks from one zone to another. *Note*: Moving VMs or disks by using this method might cause unexpected behavior. For more information, see the [known issue](/compute/docs/troubleshooting/known-issues#moving_vms_or_disks_using_the_moveinstance_api_or_the_causes_unexpected_behavior). [Deprecated] This method is deprecated. See [moving instance across zones](/compute/docs/instances/moving-instance-across-zones) instead.", + "flatPath": "projects/{project}/moveInstance", + "httpMethod": "POST", + "id": "compute.projects.moveInstance", "parameterOrder": [ - "project", - "region", - "autoscaler" + "project" ], "parameters": { - "autoscaler": { - "description": "Name of the autoscaler to delete.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -23541,20 +23885,16 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/autoscalers/{autoscaler}", + "path": "projects/{project}/moveInstance", + "request": { + "$ref": "InstanceMoveRequest" + }, "response": { "$ref": "Operation" }, @@ -23563,24 +23903,15 @@ "https://www.googleapis.com/auth/compute" ] }, - "get": { - "description": "Returns the specified autoscaler.", - "flatPath": "projects/{project}/regions/{region}/autoscalers/{autoscaler}", - "httpMethod": "GET", - "id": "compute.regionAutoscalers.get", + "setCloudArmorTier": { + "description": "Sets the Cloud Armor tier of the project. To set ENTERPRISE or above the billing account of the project must be subscribed to Cloud Armor Enterprise. See Subscribing to Cloud Armor Enterprise for more information.", + "flatPath": "projects/{project}/setCloudArmorTier", + "httpMethod": "POST", + "id": "compute.projects.setCloudArmorTier", "parameterOrder": [ - "project", - "region", - "autoscaler" + "project" ], "parameters": { - "autoscaler": { - "description": "Name of the autoscaler to return.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -23588,32 +23919,31 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/autoscalers/{autoscaler}", + "path": "projects/{project}/setCloudArmorTier", + "request": { + "$ref": "ProjectsSetCloudArmorTierRequest" + }, "response": { - "$ref": "Autoscaler" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "insert": { - "description": "Creates an autoscaler in the specified project using the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/autoscalers", + "setCommonInstanceMetadata": { + "description": "Sets metadata common to all instances within the specified project using the data included in the request.", + "flatPath": "projects/{project}/setCommonInstanceMetadata", "httpMethod": "POST", - "id": "compute.regionAutoscalers.insert", + "id": "compute.projects.setCommonInstanceMetadata", "parameterOrder": [ - "project", - "region" + "project" ], "parameters": { "project": { @@ -23623,22 +23953,15 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/autoscalers", + "path": "projects/{project}/setCommonInstanceMetadata", "request": { - "$ref": "Autoscaler" + "$ref": "Metadata" }, "response": { "$ref": "Operation" @@ -23648,39 +23971,15 @@ "https://www.googleapis.com/auth/compute" ] }, - "list": { - "description": "Retrieves a list of autoscalers contained within the specified region.", - "flatPath": "projects/{project}/regions/{region}/autoscalers", - "httpMethod": "GET", - "id": "compute.regionAutoscalers.list", + "setDefaultNetworkTier": { + "description": "Sets the default network tier of the project. The default network tier is used when an address/forwardingRule/instance is created without specifying the network tier field.", + "flatPath": "projects/{project}/setDefaultNetworkTier", + "httpMethod": "POST", + "id": "compute.projects.setDefaultNetworkTier", "parameterOrder": [ - "project", - "region" + "project" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -23688,45 +23987,33 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", - "type": "boolean" + "type": "string" } }, - "path": "projects/{project}/regions/{region}/autoscalers", + "path": "projects/{project}/setDefaultNetworkTier", + "request": { + "$ref": "ProjectsSetDefaultNetworkTierRequest" + }, "response": { - "$ref": "RegionAutoscalerList" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "patch": { - "description": "Updates an autoscaler in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", - "flatPath": "projects/{project}/regions/{region}/autoscalers", - "httpMethod": "PATCH", - "id": "compute.regionAutoscalers.patch", + "setDefaultServiceAccount": { + "description": "Sets the default service account of the project. The default service account is used when a VM instance is created with the service account email address set to \"default\".", + "flatPath": "projects/{project}/setDefaultServiceAccount", + "httpMethod": "POST", + "id": "compute.projects.setDefaultServiceAccount", "parameterOrder": [ - "project", - "region" + "project" ], "parameters": { - "autoscaler": { - "description": "Name of the autoscaler to patch.", - "location": "query", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -23734,22 +24021,15 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/autoscalers", + "path": "projects/{project}/setDefaultServiceAccount", "request": { - "$ref": "Autoscaler" + "$ref": "ProjectsSetDefaultServiceAccountRequest" }, "response": { "$ref": "Operation" @@ -23759,15 +24039,13 @@ "https://www.googleapis.com/auth/compute" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/autoscalers/{resource}/testIamPermissions", + "setManagedProtectionTier": { + "description": "Sets the Cloud Armor Managed Protection (CAMP) tier of the project. To set PLUS or above the billing account of the project must be subscribed to Managed Protection Plus. See Subscribing to Managed Protection Plus for more information.", + "flatPath": "projects/{project}/setManagedProtectionTier", "httpMethod": "POST", - "id": "compute.regionAutoscalers.testIamPermissions", + "id": "compute.projects.setManagedProtectionTier", "parameterOrder": [ - "project", - "region", - "resource" + "project" ], "parameters": { "project": { @@ -23777,50 +24055,33 @@ "required": true, "type": "string" }, - "region": { - "description": "The name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/autoscalers/{resource}/testIamPermissions", + "path": "projects/{project}/setManagedProtectionTier", "request": { - "$ref": "TestPermissionsRequest" + "$ref": "ProjectsSetManagedProtectionTierRequest" }, "response": { - "$ref": "TestPermissionsResponse" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "update": { - "description": "Updates an autoscaler in the specified project using the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/autoscalers", - "httpMethod": "PUT", - "id": "compute.regionAutoscalers.update", + "setUsageExportBucket": { + "description": "Enables the usage export feature and sets the usage export bucket where reports are stored. If you provide an empty request body using this method, the usage export feature will be disabled.", + "flatPath": "projects/{project}/setUsageExportBucket", + "httpMethod": "POST", + "id": "compute.projects.setUsageExportBucket", "parameterOrder": [ - "project", - "region" + "project" ], "parameters": { - "autoscaler": { - "description": "Name of the autoscaler to update.", - "location": "query", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -23828,53 +24089,41 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/autoscalers", + "path": "projects/{project}/setUsageExportBucket", "request": { - "$ref": "Autoscaler" + "$ref": "UsageExportLocation" }, "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/devstorage.full_control", + "https://www.googleapis.com/auth/devstorage.read_only", + "https://www.googleapis.com/auth/devstorage.read_write" ] } } }, - "regionBackendServices": { + "publicAdvertisedPrefixes": { "methods": { - "delete": { - "description": "Deletes the specified regional BackendService resource.", - "flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}", - "httpMethod": "DELETE", - "id": "compute.regionBackendServices.delete", + "announce": { + "description": "Announces the specified PublicAdvertisedPrefix", + "flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/announce", + "httpMethod": "POST", + "id": "compute.publicAdvertisedPrefixes.announce", "parameterOrder": [ "project", - "region", - "backendService" + "publicAdvertisedPrefix" ], "parameters": { - "backendService": { - "description": "Name of the BackendService resource to delete.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -23882,10 +24131,9 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region scoping this request.", + "publicAdvertisedPrefix": { + "description": "The name of the public advertised prefix. It should comply with RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -23895,7 +24143,7 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/backendServices/{backendService}", + "path": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/announce", "response": { "$ref": "Operation" }, @@ -23904,24 +24152,16 @@ "https://www.googleapis.com/auth/compute" ] }, - "get": { - "description": "Returns the specified regional BackendService resource.", - "flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}", - "httpMethod": "GET", - "id": "compute.regionBackendServices.get", + "delete": { + "description": "Deletes the specified PublicAdvertisedPrefix", + "flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", + "httpMethod": "DELETE", + "id": "compute.publicAdvertisedPrefixes.delete", "parameterOrder": [ "project", - "region", - "backendService" + "publicAdvertisedPrefix" ], "parameters": { - "backendService": { - "description": "Name of the BackendService resource to return.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -23929,86 +24169,38 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/backendServices/{backendService}", - "response": { - "$ref": "BackendService" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "getHealth": { - "description": "Gets the most recent health check results for this regional BackendService.", - "flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}/getHealth", - "httpMethod": "POST", - "id": "compute.regionBackendServices.getHealth", - "parameterOrder": [ - "project", - "region", - "backendService" - ], - "parameters": { - "backendService": { - "description": "Name of the BackendService resource for which to get health.", + "publicAdvertisedPrefix": { + "description": "Name of the PublicAdvertisedPrefix resource to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "project": { - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "Name of the region scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/backendServices/{backendService}/getHealth", - "request": { - "$ref": "ResourceGroupReference" - }, + "path": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", "response": { - "$ref": "BackendServiceGroupHealth" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "getIamPolicy": { - "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", - "flatPath": "projects/{project}/regions/{region}/backendServices/{resource}/getIamPolicy", + "get": { + "description": "Returns the specified PublicAdvertisedPrefix resource.", + "flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", "httpMethod": "GET", - "id": "compute.regionBackendServices.getIamPolicy", + "id": "compute.publicAdvertisedPrefixes.get", "parameterOrder": [ "project", - "region", - "resource" + "publicAdvertisedPrefix" ], "parameters": { - "optionsRequestedPolicyVersion": { - "description": "Requested IAM Policy version.", - "format": "int32", - "location": "query", - "type": "integer" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -24016,24 +24208,17 @@ "required": true, "type": "string" }, - "region": { - "description": "The name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "resource": { - "description": "Name or id of the resource for this request.", + "publicAdvertisedPrefix": { + "description": "Name of the PublicAdvertisedPrefix resource to return.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/backendServices/{resource}/getIamPolicy", + "path": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", "response": { - "$ref": "Policy" + "$ref": "PublicAdvertisedPrefix" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -24042,13 +24227,12 @@ ] }, "insert": { - "description": "Creates a regional BackendService resource in the specified project using the data included in the request. For more information, see Backend services overview.", - "flatPath": "projects/{project}/regions/{region}/backendServices", + "description": "Creates a PublicAdvertisedPrefix in the specified project using the parameters that are included in the request.", + "flatPath": "projects/{project}/global/publicAdvertisedPrefixes", "httpMethod": "POST", - "id": "compute.regionBackendServices.insert", + "id": "compute.publicAdvertisedPrefixes.insert", "parameterOrder": [ - "project", - "region" + "project" ], "parameters": { "project": { @@ -24058,22 +24242,15 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/backendServices", + "path": "projects/{project}/global/publicAdvertisedPrefixes", "request": { - "$ref": "BackendService" + "$ref": "PublicAdvertisedPrefix" }, "response": { "$ref": "Operation" @@ -24084,13 +24261,12 @@ ] }, "list": { - "description": "Retrieves the list of regional BackendService resources available to the specified project in the given region.", - "flatPath": "projects/{project}/regions/{region}/backendServices", + "description": "Lists the PublicAdvertisedPrefixes for a project.", + "flatPath": "projects/{project}/global/publicAdvertisedPrefixes", "httpMethod": "GET", - "id": "compute.regionBackendServices.list", + "id": "compute.publicAdvertisedPrefixes.list", "parameterOrder": [ - "project", - "region" + "project" ], "parameters": { "filter": { @@ -24123,22 +24299,15 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "returnPartialSuccess": { "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/backendServices", + "path": "projects/{project}/global/publicAdvertisedPrefixes", "response": { - "$ref": "BackendServiceList" + "$ref": "PublicAdvertisedPrefixList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -24146,39 +24315,16 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "listUsable": { - "description": "Retrieves a list of all usable backend services in the specified project in the given region.", - "flatPath": "projects/{project}/regions/{region}/backendServices/listUsable", - "httpMethod": "GET", - "id": "compute.regionBackendServices.listUsable", + "patch": { + "description": "Patches the specified Router resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", + "flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", + "httpMethod": "PATCH", + "id": "compute.publicAdvertisedPrefixes.patch", "parameterOrder": [ "project", - "region" + "publicAdvertisedPrefix" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -24186,46 +24332,41 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region scoping this request. It must be a string that meets the requirements in RFC1035.", + "publicAdvertisedPrefix": { + "description": "Name of the PublicAdvertisedPrefix resource to patch.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", - "type": "boolean" + "type": "string" } }, - "path": "projects/{project}/regions/{region}/backendServices/listUsable", + "path": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}", + "request": { + "$ref": "PublicAdvertisedPrefix" + }, "response": { - "$ref": "BackendServiceListUsable" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "patch": { - "description": "Updates the specified regional BackendService resource with the data included in the request. For more information, see Understanding backend services This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", - "flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}", - "httpMethod": "PATCH", - "id": "compute.regionBackendServices.patch", + "withdraw": { + "description": "Withdraws the specified PublicAdvertisedPrefix", + "flatPath": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/withdraw", + "httpMethod": "POST", + "id": "compute.publicAdvertisedPrefixes.withdraw", "parameterOrder": [ "project", - "region", - "backendService" + "publicAdvertisedPrefix" ], "parameters": { - "backendService": { - "description": "Name of the BackendService resource to patch.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -24233,10 +24374,9 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region scoping this request.", + "publicAdvertisedPrefix": { + "description": "The name of the public advertised prefix. It should comply with RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -24246,10 +24386,7 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/backendServices/{backendService}", - "request": { - "$ref": "BackendService" - }, + "path": "projects/{project}/global/publicAdvertisedPrefixes/{publicAdvertisedPrefix}/withdraw", "response": { "$ref": "Operation" }, @@ -24257,78 +24394,149 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] - }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", - "flatPath": "projects/{project}/regions/{region}/backendServices/{resource}/setIamPolicy", - "httpMethod": "POST", - "id": "compute.regionBackendServices.setIamPolicy", - "parameterOrder": [ - "project", - "region", - "resource" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", + } + } + }, + "publicDelegatedPrefixes": { + "methods": { + "aggregatedList": { + "description": "Lists all PublicDelegatedPrefix resources owned by the specific project across all scopes. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/publicDelegatedPrefixes", + "httpMethod": "GET", + "id": "compute.publicDelegatedPrefixes.aggregatedList", + "parameterOrder": [ + "project" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "location": "query", + "type": "boolean" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Name of the project scoping this request.", + "location": "path", "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" }, - "region": { - "description": "The name of the region for this request.", + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + }, + "serviceProjectNumber": { + "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/aggregated/publicDelegatedPrefixes", + "response": { + "$ref": "PublicDelegatedPrefixAggregatedList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "announce": { + "description": "Announces the specified PublicDelegatedPrefix in the given region.", + "flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/announce", + "httpMethod": "POST", + "id": "compute.publicDelegatedPrefixes.announce", + "parameterOrder": [ + "project", + "region", + "publicDelegatedPrefix" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "publicDelegatedPrefix": { + "description": "The name of the public delegated prefix. It should comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region where the public delegated prefix is located. It should comply with RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/regions/{region}/backendServices/{resource}/setIamPolicy", - "request": { - "$ref": "RegionSetPolicyRequest" - }, + "path": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/announce", "response": { - "$ref": "Policy" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] }, - "setSecurityPolicy": { - "description": "Sets the Google Cloud Armor security policy for the specified backend service. For more information, see Google Cloud Armor Overview", - "flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}/setSecurityPolicy", - "httpMethod": "POST", - "id": "compute.regionBackendServices.setSecurityPolicy", + "delete": { + "description": "Deletes the specified PublicDelegatedPrefix in the given region.", + "flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", + "httpMethod": "DELETE", + "id": "compute.publicDelegatedPrefixes.delete", "parameterOrder": [ "project", "region", - "backendService" + "publicDelegatedPrefix" ], "parameters": { - "backendService": { - "description": "Name of the BackendService resource to which the security policy should be set. The name should conform to RFC1035.", + "project": { + "description": "Project ID for this request.", "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" }, - "project": { - "description": "Project ID for this request.", + "publicDelegatedPrefix": { + "description": "Name of the PublicDelegatedPrefix resource to delete.", "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "Name of the region of this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -24340,10 +24548,7 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/backendServices/{backendService}/setSecurityPolicy", - "request": { - "$ref": "SecurityPolicyReference" - }, + "path": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", "response": { "$ref": "Operation" }, @@ -24352,15 +24557,15 @@ "https://www.googleapis.com/auth/compute" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/backendServices/{resource}/testIamPermissions", - "httpMethod": "POST", - "id": "compute.regionBackendServices.testIamPermissions", + "get": { + "description": "Returns the specified PublicDelegatedPrefix resource in the given region.", + "flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", + "httpMethod": "GET", + "id": "compute.publicDelegatedPrefixes.get", "parameterOrder": [ "project", "region", - "resource" + "publicDelegatedPrefix" ], "parameters": { "project": { @@ -24370,27 +24575,24 @@ "required": true, "type": "string" }, - "region": { - "description": "The name of the region for this request.", + "publicDelegatedPrefix": { + "description": "Name of the PublicDelegatedPrefix resource to return.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "region": { + "description": "Name of the region of this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/backendServices/{resource}/testIamPermissions", - "request": { - "$ref": "TestPermissionsRequest" - }, + "path": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", "response": { - "$ref": "TestPermissionsResponse" + "$ref": "PublicDelegatedPrefix" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -24398,24 +24600,16 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "update": { - "description": "Updates the specified regional BackendService resource with the data included in the request. For more information, see Backend services overview .", - "flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}", - "httpMethod": "PUT", - "id": "compute.regionBackendServices.update", + "insert": { + "description": "Creates a PublicDelegatedPrefix in the specified project in the given region using the parameters that are included in the request.", + "flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes", + "httpMethod": "POST", + "id": "compute.publicDelegatedPrefixes.insert", "parameterOrder": [ "project", - "region", - "backendService" + "region" ], "parameters": { - "backendService": { - "description": "Name of the BackendService resource to update.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -24424,7 +24618,7 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "Name of the region of this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -24436,9 +24630,9 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/backendServices/{backendService}", + "path": "projects/{project}/regions/{region}/publicDelegatedPrefixes", "request": { - "$ref": "BackendService" + "$ref": "PublicDelegatedPrefix" }, "response": { "$ref": "Operation" @@ -24447,18 +24641,15 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] - } - } - }, - "regionCommitments": { - "methods": { - "aggregatedList": { - "description": "Retrieves an aggregated list of commitments by region. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/commitments", + }, + "list": { + "description": "Lists the PublicDelegatedPrefixes for a project in the given region.", + "flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes", "httpMethod": "GET", - "id": "compute.regionCommitments.aggregatedList", + "id": "compute.publicDelegatedPrefixes.list", "parameterOrder": [ - "project" + "project", + "region" ], "parameters": { "filter": { @@ -24466,11 +24657,6 @@ "location": "query", "type": "string" }, - "includeAllScopes": { - "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", - "location": "query", - "type": "boolean" - }, "maxResults": { "default": "500", "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", @@ -24496,21 +24682,22 @@ "required": true, "type": "string" }, + "region": { + "description": "Name of the region of this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, "returnPartialSuccess": { "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" - }, - "serviceProjectNumber": { - "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", - "format": "int64", - "location": "query", - "type": "string" } }, - "path": "projects/{project}/aggregated/commitments", + "path": "projects/{project}/regions/{region}/publicDelegatedPrefixes", "response": { - "$ref": "CommitmentAggregatedList" + "$ref": "PublicDelegatedPrefixList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -24518,28 +24705,28 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "calculateCancellationFee": { - "description": "Calculate cancellation fee for the specified commitment.", - "flatPath": "projects/{project}/regions/{region}/commitments/{commitment}/calculateCancellationFee", - "httpMethod": "POST", - "id": "compute.regionCommitments.calculateCancellationFee", + "patch": { + "description": "Patches the specified PublicDelegatedPrefix resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", + "flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", + "httpMethod": "PATCH", + "id": "compute.publicDelegatedPrefixes.patch", "parameterOrder": [ "project", "region", - "commitment" + "publicDelegatedPrefix" ], "parameters": { - "commitment": { - "description": "Name of the commitment to delete.", + "project": { + "description": "Project ID for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" }, - "project": { - "description": "Project ID for this request.", + "publicDelegatedPrefix": { + "description": "Name of the PublicDelegatedPrefix resource to patch.", "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, @@ -24556,7 +24743,10 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/commitments/{commitment}/calculateCancellationFee", + "path": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}", + "request": { + "$ref": "PublicDelegatedPrefix" + }, "response": { "$ref": "Operation" }, @@ -24565,19 +24755,68 @@ "https://www.googleapis.com/auth/compute" ] }, - "cancel": { - "description": "Cancel the specified commitment.", - "flatPath": "projects/{project}/regions/{region}/commitments/{commitment}/cancel", + "withdraw": { + "description": "Withdraws the specified PublicDelegatedPrefix in the given region.", + "flatPath": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/withdraw", "httpMethod": "POST", - "id": "compute.regionCommitments.cancel", + "id": "compute.publicDelegatedPrefixes.withdraw", "parameterOrder": [ "project", "region", - "commitment" + "publicDelegatedPrefix" ], "parameters": { - "commitment": { - "description": "Name of the commitment to delete.", + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "publicDelegatedPrefix": { + "description": "The name of the public delegated prefix. It should comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region where the public delegated prefix is located. It should comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/publicDelegatedPrefixes/{publicDelegatedPrefix}/withdraw", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + } + } + }, + "regionAutoscalers": { + "methods": { + "delete": { + "description": "Deletes the specified autoscaler.", + "flatPath": "projects/{project}/regions/{region}/autoscalers/{autoscaler}", + "httpMethod": "DELETE", + "id": "compute.regionAutoscalers.delete", + "parameterOrder": [ + "project", + "region", + "autoscaler" + ], + "parameters": { + "autoscaler": { + "description": "Name of the autoscaler to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -24591,7 +24830,7 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -24603,7 +24842,7 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/commitments/{commitment}/cancel", + "path": "projects/{project}/regions/{region}/autoscalers/{autoscaler}", "response": { "$ref": "Operation" }, @@ -24613,18 +24852,18 @@ ] }, "get": { - "description": "Returns the specified commitment resource.", - "flatPath": "projects/{project}/regions/{region}/commitments/{commitment}", + "description": "Returns the specified autoscaler.", + "flatPath": "projects/{project}/regions/{region}/autoscalers/{autoscaler}", "httpMethod": "GET", - "id": "compute.regionCommitments.get", + "id": "compute.regionAutoscalers.get", "parameterOrder": [ "project", "region", - "commitment" + "autoscaler" ], "parameters": { - "commitment": { - "description": "Name of the commitment to return.", + "autoscaler": { + "description": "Name of the autoscaler to return.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -24638,16 +24877,16 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/commitments/{commitment}", + "path": "projects/{project}/regions/{region}/autoscalers/{autoscaler}", "response": { - "$ref": "Commitment" + "$ref": "Autoscaler" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -24656,10 +24895,10 @@ ] }, "insert": { - "description": "Creates a commitment in the specified project using the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/commitments", + "description": "Creates an autoscaler in the specified project using the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/autoscalers", "httpMethod": "POST", - "id": "compute.regionCommitments.insert", + "id": "compute.regionAutoscalers.insert", "parameterOrder": [ "project", "region" @@ -24673,7 +24912,7 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -24685,9 +24924,9 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/commitments", + "path": "projects/{project}/regions/{region}/autoscalers", "request": { - "$ref": "Commitment" + "$ref": "Autoscaler" }, "response": { "$ref": "Operation" @@ -24698,10 +24937,10 @@ ] }, "list": { - "description": "Retrieves a list of commitments contained within the specified region.", - "flatPath": "projects/{project}/regions/{region}/commitments", + "description": "Retrieves a list of autoscalers contained within the specified region.", + "flatPath": "projects/{project}/regions/{region}/autoscalers", "httpMethod": "GET", - "id": "compute.regionCommitments.list", + "id": "compute.regionAutoscalers.list", "parameterOrder": [ "project", "region" @@ -24738,7 +24977,7 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -24750,9 +24989,9 @@ "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/commitments", + "path": "projects/{project}/regions/{region}/autoscalers", "response": { - "$ref": "CommitmentList" + "$ref": "RegionAutoscalerList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -24760,11 +24999,59 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "patch": { + "description": "Updates an autoscaler in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", + "flatPath": "projects/{project}/regions/{region}/autoscalers", + "httpMethod": "PATCH", + "id": "compute.regionAutoscalers.patch", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "autoscaler": { + "description": "Name of the autoscaler to patch.", + "location": "query", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/autoscalers", + "request": { + "$ref": "Autoscaler" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "testIamPermissions": { "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/commitments/{resource}/testIamPermissions", + "flatPath": "projects/{project}/regions/{region}/autoscalers/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.regionCommitments.testIamPermissions", + "id": "compute.regionAutoscalers.testIamPermissions", "parameterOrder": [ "project", "region", @@ -24793,7 +25080,7 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/commitments/{resource}/testIamPermissions", + "path": "projects/{project}/regions/{region}/autoscalers/{resource}/testIamPermissions", "request": { "$ref": "TestPermissionsRequest" }, @@ -24807,26 +25094,19 @@ ] }, "update": { - "description": "Updates the specified commitment with the data included in the request. Update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: auto_renew.", - "flatPath": "projects/{project}/regions/{region}/commitments/{commitment}", - "httpMethod": "PATCH", - "id": "compute.regionCommitments.update", + "description": "Updates an autoscaler in the specified project using the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/autoscalers", + "httpMethod": "PUT", + "id": "compute.regionAutoscalers.update", "parameterOrder": [ "project", - "region", - "commitment" + "region" ], "parameters": { - "commitment": { - "description": "Name of the commitment for which auto renew is being updated.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, - "paths": { + "autoscaler": { + "description": "Name of the autoscaler to update.", "location": "query", - "repeated": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "type": "string" }, "project": { @@ -24837,7 +25117,7 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -24847,17 +25127,11 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" - }, - "updateMask": { - "description": "update_mask indicates fields to be updated as part of this request.", - "format": "google-fieldmask", - "location": "query", - "type": "string" } }, - "path": "projects/{project}/regions/{region}/commitments/{commitment}", + "path": "projects/{project}/regions/{region}/autoscalers", "request": { - "$ref": "Commitment" + "$ref": "Autoscaler" }, "response": { "$ref": "Operation" @@ -24866,20 +25140,24 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] - }, - "updateReservations": { - "description": "Transfers GPUs or local SSDs between reservations within commitments.", - "flatPath": "projects/{project}/regions/{region}/commitments/{commitment}/updateReservations", - "httpMethod": "POST", - "id": "compute.regionCommitments.updateReservations", + } + } + }, + "regionBackendServices": { + "methods": { + "delete": { + "description": "Deletes the specified regional BackendService resource.", + "flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}", + "httpMethod": "DELETE", + "id": "compute.regionBackendServices.delete", "parameterOrder": [ "project", "region", - "commitment" + "backendService" ], "parameters": { - "commitment": { - "description": "Name of the commitment for which the reservation is being updated.", + "backendService": { + "description": "Name of the BackendService resource to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -24893,7 +25171,7 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -24905,10 +25183,7 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/commitments/{commitment}/updateReservations", - "request": { - "$ref": "RegionCommitmentsUpdateReservationsRequest" - }, + "path": "projects/{project}/regions/{region}/backendServices/{backendService}", "response": { "$ref": "Operation" }, @@ -24916,21 +25191,25 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] - } - } - }, - "regionDiskSettings": { - "methods": { + }, "get": { - "description": "Get Regional Disk Settings.", - "flatPath": "projects/{project}/regions/{region}/diskSettings", + "description": "Returns the specified regional BackendService resource.", + "flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}", "httpMethod": "GET", - "id": "compute.regionDiskSettings.get", + "id": "compute.regionBackendServices.get", "parameterOrder": [ "project", - "region" + "region", + "backendService" ], "parameters": { + "backendService": { + "description": "Name of the BackendService resource to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -24939,16 +25218,16 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/diskSettings", + "path": "projects/{project}/regions/{region}/backendServices/{backendService}", "response": { - "$ref": "DiskSettings" + "$ref": "BackendService" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -24956,75 +25235,67 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "patch": { - "description": "Patch Regional Disk Settings", - "flatPath": "projects/{project}/regions/{region}/diskSettings", - "httpMethod": "PATCH", - "id": "compute.regionDiskSettings.patch", + "getHealth": { + "description": "Gets the most recent health check results for this regional BackendService.", + "flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}/getHealth", + "httpMethod": "POST", + "id": "compute.regionBackendServices.getHealth", "parameterOrder": [ "project", - "region" + "region", + "backendService" ], "parameters": { + "backendService": { + "description": "Name of the BackendService resource for which to get health.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, "project": { - "description": "Project ID for this request.", "location": "path", "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "updateMask": { - "description": "update_mask indicates fields to be updated as part of this request.", - "format": "google-fieldmask", - "location": "query", - "type": "string" } }, - "path": "projects/{project}/regions/{region}/diskSettings", + "path": "projects/{project}/regions/{region}/backendServices/{backendService}/getHealth", "request": { - "$ref": "DiskSettings" + "$ref": "ResourceGroupReference" }, "response": { - "$ref": "Operation" + "$ref": "BackendServiceGroupHealth" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] - } - } - }, - "regionDiskTypes": { - "methods": { - "get": { - "description": "Returns the specified regional disk type.", - "flatPath": "projects/{project}/regions/{region}/diskTypes/{diskType}", + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "flatPath": "projects/{project}/regions/{region}/backendServices/{resource}/getIamPolicy", "httpMethod": "GET", - "id": "compute.regionDiskTypes.get", + "id": "compute.regionBackendServices.getIamPolicy", "parameterOrder": [ "project", "region", - "diskType" + "resource" ], "parameters": { - "diskType": { - "description": "Name of the disk type to return.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" + "optionsRequestedPolicyVersion": { + "description": "Requested IAM Policy version.", + "format": "int32", + "location": "query", + "type": "integer" }, "project": { "description": "Project ID for this request.", @@ -25039,11 +25310,18 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" } }, - "path": "projects/{project}/regions/{region}/diskTypes/{diskType}", + "path": "projects/{project}/regions/{region}/backendServices/{resource}/getIamPolicy", "response": { - "$ref": "DiskType" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -25051,11 +25329,53 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "insert": { + "description": "Creates a regional BackendService resource in the specified project using the data included in the request. For more information, see Backend services overview.", + "flatPath": "projects/{project}/regions/{region}/backendServices", + "httpMethod": "POST", + "id": "compute.regionBackendServices.insert", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/backendServices", + "request": { + "$ref": "BackendService" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "list": { - "description": "Retrieves a list of regional disk types available to the specified project.", - "flatPath": "projects/{project}/regions/{region}/diskTypes", + "description": "Retrieves the list of regional BackendService resources available to the specified project in the given region.", + "flatPath": "projects/{project}/regions/{region}/backendServices", "httpMethod": "GET", - "id": "compute.regionDiskTypes.list", + "id": "compute.regionBackendServices.list", "parameterOrder": [ "project", "region" @@ -25092,7 +25412,7 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -25104,80 +25424,49 @@ "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/diskTypes", + "path": "projects/{project}/regions/{region}/backendServices", "response": { - "$ref": "RegionDiskTypeList" + "$ref": "BackendServiceList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - } - } - }, - "regionDisks": { - "methods": { - "addResourcePolicies": { - "description": "Adds existing resource policies to a regional disk. You can only add one policy which will be applied to this disk for scheduling snapshot creation.", - "flatPath": "projects/{project}/regions/{region}/disks/{disk}/addResourcePolicies", - "httpMethod": "POST", - "id": "compute.regionDisks.addResourcePolicies", + }, + "listUsable": { + "description": "Retrieves a list of all usable backend services in the specified project in the given region.", + "flatPath": "projects/{project}/regions/{region}/backendServices/listUsable", + "httpMethod": "GET", + "id": "compute.regionBackendServices.listUsable", "parameterOrder": [ "project", - "region", - "disk" + "region" ], "parameters": { - "disk": { - "description": "The disk name for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", "type": "string" }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" }, - "region": { - "description": "The name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", "location": "query", "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/disks/{disk}/addResourcePolicies", - "request": { - "$ref": "RegionDisksAddResourcePoliciesRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "bulkInsert": { - "description": "Bulk create a set of disks.", - "flatPath": "projects/{project}/regions/{region}/disks/bulkInsert", - "httpMethod": "POST", - "id": "compute.regionDisks.bulkInsert", - "parameterOrder": [ - "project", - "region" - ], - "parameters": { + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -25186,53 +25475,45 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region scoping this request. It must be a string that meets the requirements in RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", - "type": "string" + "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/disks/bulkInsert", - "request": { - "$ref": "BulkInsertDiskResource" - }, + "path": "projects/{project}/regions/{region}/backendServices/listUsable", "response": { - "$ref": "Operation" + "$ref": "BackendServiceListUsable" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "createSnapshot": { - "description": "Creates a snapshot of a specified persistent disk. For regular snapshot creation, consider using snapshots.insert instead, as that method supports more features, such as creating snapshots in a project different from the source disk project.", - "flatPath": "projects/{project}/regions/{region}/disks/{disk}/createSnapshot", - "httpMethod": "POST", - "id": "compute.regionDisks.createSnapshot", + "patch": { + "description": "Updates the specified regional BackendService resource with the data included in the request. For more information, see Understanding backend services This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", + "flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}", + "httpMethod": "PATCH", + "id": "compute.regionBackendServices.patch", "parameterOrder": [ "project", "region", - "disk" + "backendService" ], "parameters": { - "disk": { - "description": "Name of the regional persistent disk to snapshot.", + "backendService": { + "description": "Name of the BackendService resource to patch.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "guestFlush": { - "description": "[Input Only] Specifies to create an application consistent snapshot by informing the OS to prepare for the snapshot process.", - "location": "query", - "type": "boolean" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -25241,7 +25522,7 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -25253,9 +25534,9 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/disks/{disk}/createSnapshot", + "path": "projects/{project}/regions/{region}/backendServices/{backendService}", "request": { - "$ref": "Snapshot" + "$ref": "BackendService" }, "response": { "$ref": "Operation" @@ -25265,23 +25546,17 @@ "https://www.googleapis.com/auth/compute" ] }, - "delete": { - "description": "Deletes the specified regional persistent disk. Deleting a regional disk removes all the replicas of its data permanently and is irreversible. However, deleting a disk does not delete any snapshots previously made from the disk. You must separately delete snapshots.", - "flatPath": "projects/{project}/regions/{region}/disks/{disk}", - "httpMethod": "DELETE", - "id": "compute.regionDisks.delete", + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "projects/{project}/regions/{region}/backendServices/{resource}/setIamPolicy", + "httpMethod": "POST", + "id": "compute.regionBackendServices.setIamPolicy", "parameterOrder": [ "project", "region", - "disk" + "resource" ], "parameters": { - "disk": { - "description": "Name of the regional persistent disk to delete.", - "location": "path", - "required": true, - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -25290,42 +25565,46 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "The name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/disks/{disk}", + "path": "projects/{project}/regions/{region}/backendServices/{resource}/setIamPolicy", + "request": { + "$ref": "RegionSetPolicyRequest" + }, "response": { - "$ref": "Operation" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] }, - "get": { - "description": "Returns a specified regional persistent disk.", - "flatPath": "projects/{project}/regions/{region}/disks/{disk}", - "httpMethod": "GET", - "id": "compute.regionDisks.get", + "setSecurityPolicy": { + "description": "Sets the Google Cloud Armor security policy for the specified backend service. For more information, see Google Cloud Armor Overview", + "flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}/setSecurityPolicy", + "httpMethod": "POST", + "id": "compute.regionBackendServices.setSecurityPolicy", "parameterOrder": [ "project", "region", - "disk" + "backendService" ], "parameters": { - "disk": { - "description": "Name of the regional persistent disk to return.", + "backendService": { + "description": "Name of the BackendService resource to which the security policy should be set. The name should conform to RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, @@ -25337,40 +25616,41 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/regions/{region}/disks/{disk}", + "path": "projects/{project}/regions/{region}/backendServices/{backendService}/setSecurityPolicy", + "request": { + "$ref": "SecurityPolicyReference" + }, "response": { - "$ref": "Disk" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "getIamPolicy": { - "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", - "flatPath": "projects/{project}/regions/{region}/disks/{resource}/getIamPolicy", - "httpMethod": "GET", - "id": "compute.regionDisks.getIamPolicy", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/regions/{region}/backendServices/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.regionBackendServices.testIamPermissions", "parameterOrder": [ "project", "region", "resource" ], "parameters": { - "optionsRequestedPolicyVersion": { - "description": "Requested IAM Policy version.", - "format": "int32", - "location": "query", - "type": "integer" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -25393,9 +25673,12 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/disks/{resource}/getIamPolicy", + "path": "projects/{project}/regions/{region}/backendServices/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, "response": { - "$ref": "Policy" + "$ref": "TestPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -25403,16 +25686,24 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "insert": { - "description": "Creates a persistent regional disk in the specified project using the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/disks", - "httpMethod": "POST", - "id": "compute.regionDisks.insert", + "update": { + "description": "Updates the specified regional BackendService resource with the data included in the request. For more information, see Backend services overview .", + "flatPath": "projects/{project}/regions/{region}/backendServices/{backendService}", + "httpMethod": "PUT", + "id": "compute.regionBackendServices.update", "parameterOrder": [ "project", - "region" + "region", + "backendService" ], "parameters": { + "backendService": { + "description": "Name of the BackendService resource to update.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -25421,7 +25712,7 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -25431,16 +25722,11 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" - }, - "sourceImage": { - "description": "Source image to restore onto a disk. This field is optional.", - "location": "query", - "type": "string" } }, - "path": "projects/{project}/regions/{region}/disks", + "path": "projects/{project}/regions/{region}/backendServices/{backendService}", "request": { - "$ref": "Disk" + "$ref": "BackendService" }, "response": { "$ref": "Operation" @@ -25449,15 +25735,18 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] - }, - "list": { - "description": "Retrieves the list of persistent disks contained within the specified region.", - "flatPath": "projects/{project}/regions/{region}/disks", + } + } + }, + "regionCommitments": { + "methods": { + "aggregatedList": { + "description": "Retrieves an aggregated list of commitments by region. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/commitments", "httpMethod": "GET", - "id": "compute.regionDisks.list", + "id": "compute.regionCommitments.aggregatedList", "parameterOrder": [ - "project", - "region" + "project" ], "parameters": { "filter": { @@ -25465,6 +25754,11 @@ "location": "query", "type": "string" }, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "location": "query", + "type": "boolean" + }, "maxResults": { "default": "500", "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", @@ -25490,22 +25784,21 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "returnPartialSuccess": { "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" + }, + "serviceProjectNumber": { + "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", + "format": "int64", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/regions/{region}/disks", + "path": "projects/{project}/aggregated/commitments", "response": { - "$ref": "DiskList" + "$ref": "CommitmentAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -25513,19 +25806,19 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "removeResourcePolicies": { - "description": "Removes resource policies from a regional disk.", - "flatPath": "projects/{project}/regions/{region}/disks/{disk}/removeResourcePolicies", + "calculateCancellationFee": { + "description": "Calculate cancellation fee for the specified commitment.", + "flatPath": "projects/{project}/regions/{region}/commitments/{commitment}/calculateCancellationFee", "httpMethod": "POST", - "id": "compute.regionDisks.removeResourcePolicies", + "id": "compute.regionCommitments.calculateCancellationFee", "parameterOrder": [ "project", "region", - "disk" + "commitment" ], "parameters": { - "disk": { - "description": "The disk name for this request.", + "commitment": { + "description": "Name of the commitment to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -25539,7 +25832,7 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -25551,10 +25844,7 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/disks/{disk}/removeResourcePolicies", - "request": { - "$ref": "RegionDisksRemoveResourcePoliciesRequest" - }, + "path": "projects/{project}/regions/{region}/commitments/{commitment}/calculateCancellationFee", "response": { "$ref": "Operation" }, @@ -25563,26 +25853,26 @@ "https://www.googleapis.com/auth/compute" ] }, - "resize": { - "description": "Resizes the specified regional persistent disk.", - "flatPath": "projects/{project}/regions/{region}/disks/{disk}/resize", + "cancel": { + "description": "Cancel the specified commitment.", + "flatPath": "projects/{project}/regions/{region}/commitments/{commitment}/cancel", "httpMethod": "POST", - "id": "compute.regionDisks.resize", + "id": "compute.regionCommitments.cancel", "parameterOrder": [ "project", "region", - "disk" + "commitment" ], "parameters": { - "disk": { - "description": "Name of the regional persistent disk.", + "commitment": { + "description": "Name of the commitment to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, "project": { - "description": "The project ID for this request.", + "description": "Project ID for this request.", "location": "path", "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, @@ -25601,10 +25891,7 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/disks/{disk}/resize", - "request": { - "$ref": "RegionDisksResizeRequest" - }, + "path": "projects/{project}/regions/{region}/commitments/{commitment}/cancel", "response": { "$ref": "Operation" }, @@ -25613,17 +25900,24 @@ "https://www.googleapis.com/auth/compute" ] }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", - "flatPath": "projects/{project}/regions/{region}/disks/{resource}/setIamPolicy", - "httpMethod": "POST", - "id": "compute.regionDisks.setIamPolicy", + "get": { + "description": "Returns the specified commitment resource.", + "flatPath": "projects/{project}/regions/{region}/commitments/{commitment}", + "httpMethod": "GET", + "id": "compute.regionCommitments.get", "parameterOrder": [ "project", "region", - "resource" + "commitment" ], "parameters": { + "commitment": { + "description": "Name of the commitment to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -25632,41 +25926,31 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" - }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" } }, - "path": "projects/{project}/regions/{region}/disks/{resource}/setIamPolicy", - "request": { - "$ref": "RegionSetPolicyRequest" - }, + "path": "projects/{project}/regions/{region}/commitments/{commitment}", "response": { - "$ref": "Policy" + "$ref": "Commitment" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "setLabels": { - "description": "Sets the labels on the target regional disk.", - "flatPath": "projects/{project}/regions/{region}/disks/{resource}/setLabels", + "insert": { + "description": "Creates a commitment in the specified project using the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/commitments", "httpMethod": "POST", - "id": "compute.regionDisks.setLabels", + "id": "compute.regionCommitments.insert", "parameterOrder": [ "project", - "region", - "resource" + "region" ], "parameters": { "project": { @@ -25677,7 +25961,7 @@ "type": "string" }, "region": { - "description": "The region for this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -25687,18 +25971,11 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" - }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" } }, - "path": "projects/{project}/regions/{region}/disks/{resource}/setLabels", + "path": "projects/{project}/regions/{region}/commitments", "request": { - "$ref": "RegionSetLabelsRequest" + "$ref": "Commitment" }, "response": { "$ref": "Operation" @@ -25708,113 +25985,39 @@ "https://www.googleapis.com/auth/compute" ] }, - "startAsyncReplication": { - "description": "Starts asynchronous replication. Must be invoked on the primary disk.", - "flatPath": "projects/{project}/regions/{region}/disks/{disk}/startAsyncReplication", - "httpMethod": "POST", - "id": "compute.regionDisks.startAsyncReplication", + "list": { + "description": "Retrieves a list of commitments contained within the specified region.", + "flatPath": "projects/{project}/regions/{region}/commitments", + "httpMethod": "GET", + "id": "compute.regionCommitments.list", "parameterOrder": [ "project", - "region", - "disk" + "region" ], "parameters": { - "disk": { - "description": "The name of the persistent disk.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "The name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", "location": "query", "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/disks/{disk}/startAsyncReplication", - "request": { - "$ref": "RegionDisksStartAsyncReplicationRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "stopAsyncReplication": { - "description": "Stops asynchronous replication. Can be invoked either on the primary or on the secondary disk.", - "flatPath": "projects/{project}/regions/{region}/disks/{disk}/stopAsyncReplication", - "httpMethod": "POST", - "id": "compute.regionDisks.stopAsyncReplication", - "parameterOrder": [ - "project", - "region", - "disk" - ], - "parameters": { - "disk": { - "description": "The name of the persistent disk.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" }, - "region": { - "description": "The name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", "location": "query", "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/disks/{disk}/stopAsyncReplication", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "stopGroupAsyncReplication": { - "description": "Stops asynchronous replication for a consistency group of disks. Can be invoked either in the primary or secondary scope.", - "flatPath": "projects/{project}/regions/{region}/disks/stopGroupAsyncReplication", - "httpMethod": "POST", - "id": "compute.regionDisks.stopGroupAsyncReplication", - "parameterOrder": [ - "project", - "region" - ], - "parameters": { + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -25823,35 +26026,33 @@ "type": "string" }, "region": { - "description": "The name of the region for this request. This must be the region of the primary or secondary disks in the consistency group.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", - "type": "string" + "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/disks/stopGroupAsyncReplication", - "request": { - "$ref": "DisksStopGroupAsyncReplicationResource" - }, + "path": "projects/{project}/regions/{region}/commitments", "response": { - "$ref": "Operation" + "$ref": "CommitmentList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, "testIamPermissions": { "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/disks/{resource}/testIamPermissions", + "flatPath": "projects/{project}/regions/{region}/commitments/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.regionDisks.testIamPermissions", + "id": "compute.regionCommitments.testIamPermissions", "parameterOrder": [ "project", "region", @@ -25880,7 +26081,7 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/disks/{resource}/testIamPermissions", + "path": "projects/{project}/regions/{region}/commitments/{resource}/testIamPermissions", "request": { "$ref": "TestPermissionsRequest" }, @@ -25894,18 +26095,18 @@ ] }, "update": { - "description": "Update the specified disk with the data included in the request. Update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: user_license.", - "flatPath": "projects/{project}/regions/{region}/disks/{disk}", + "description": "Updates the specified commitment with the data included in the request. Update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: auto_renew.", + "flatPath": "projects/{project}/regions/{region}/commitments/{commitment}", "httpMethod": "PATCH", - "id": "compute.regionDisks.update", + "id": "compute.regionCommitments.update", "parameterOrder": [ "project", "region", - "disk" + "commitment" ], "parameters": { - "disk": { - "description": "The disk name for this request.", + "commitment": { + "description": "Name of the commitment for which auto renew is being updated.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -25924,7 +26125,7 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -25942,9 +26143,9 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/disks/{disk}", + "path": "projects/{project}/regions/{region}/commitments/{commitment}", "request": { - "$ref": "Disk" + "$ref": "Commitment" }, "response": { "$ref": "Operation" @@ -25953,91 +26154,22 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] - } - } - }, - "regionHealthCheckServices": { - "methods": { - "aggregatedList": { - "description": "Retrieves the list of all HealthCheckService resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/healthCheckServices", - "httpMethod": "GET", - "id": "compute.regionHealthCheckServices.aggregatedList", - "parameterOrder": [ - "project" - ], - "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "includeAllScopes": { - "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", - "location": "query", - "type": "boolean" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, - "project": { - "description": "Name of the project scoping this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" - }, - "serviceProjectNumber": { - "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", - "format": "int64", - "location": "query", - "type": "string" - } - }, - "path": "projects/{project}/aggregated/healthCheckServices", - "response": { - "$ref": "HealthCheckServiceAggregatedList" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] }, - "delete": { - "description": "Deletes the specified regional HealthCheckService.", - "flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", - "httpMethod": "DELETE", - "id": "compute.regionHealthCheckServices.delete", + "updateReservations": { + "description": "Transfers GPUs or local SSDs between reservations within commitments.", + "flatPath": "projects/{project}/regions/{region}/commitments/{commitment}/updateReservations", + "httpMethod": "POST", + "id": "compute.regionCommitments.updateReservations", "parameterOrder": [ "project", "region", - "healthCheckService" + "commitment" ], "parameters": { - "healthCheckService": { - "description": "Name of the HealthCheckService to delete. The name must be 1-63 characters long, and comply with RFC1035.", + "commitment": { + "description": "Name of the commitment for which the reservation is being updated.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, @@ -26049,7 +26181,7 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -26061,7 +26193,10 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", + "path": "projects/{project}/regions/{region}/commitments/{commitment}/updateReservations", + "request": { + "$ref": "RegionCommitmentsUpdateReservationsRequest" + }, "response": { "$ref": "Operation" }, @@ -26069,24 +26204,21 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] - }, + } + } + }, + "regionDiskSettings": { + "methods": { "get": { - "description": "Returns the specified regional HealthCheckService resource.", - "flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", + "description": "Get Regional Disk Settings.", + "flatPath": "projects/{project}/regions/{region}/diskSettings", "httpMethod": "GET", - "id": "compute.regionHealthCheckServices.get", + "id": "compute.regionDiskSettings.get", "parameterOrder": [ "project", - "region", - "healthCheckService" + "region" ], "parameters": { - "healthCheckService": { - "description": "Name of the HealthCheckService to update. The name must be 1-63 characters long, and comply with RFC1035.", - "location": "path", - "required": true, - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -26095,16 +26227,16 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", + "path": "projects/{project}/regions/{region}/diskSettings", "response": { - "$ref": "HealthCheckService" + "$ref": "DiskSettings" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -26112,11 +26244,11 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "insert": { - "description": "Creates a regional HealthCheckService resource in the specified project and region using the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/healthCheckServices", - "httpMethod": "POST", - "id": "compute.regionHealthCheckServices.insert", + "patch": { + "description": "Patch Regional Disk Settings", + "flatPath": "projects/{project}/regions/{region}/diskSettings", + "httpMethod": "PATCH", + "id": "compute.regionDiskSettings.patch", "parameterOrder": [ "project", "region" @@ -26130,7 +26262,7 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -26140,11 +26272,17 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" + }, + "updateMask": { + "description": "update_mask indicates fields to be updated as part of this request.", + "format": "google-fieldmask", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/regions/{region}/healthCheckServices", + "path": "projects/{project}/regions/{region}/diskSettings", "request": { - "$ref": "HealthCheckService" + "$ref": "DiskSettings" }, "response": { "$ref": "Operation" @@ -26153,12 +26291,59 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] + } + } + }, + "regionDiskTypes": { + "methods": { + "get": { + "description": "Returns the specified regional disk type.", + "flatPath": "projects/{project}/regions/{region}/diskTypes/{diskType}", + "httpMethod": "GET", + "id": "compute.regionDiskTypes.get", + "parameterOrder": [ + "project", + "region", + "diskType" + ], + "parameters": { + "diskType": { + "description": "Name of the disk type to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/diskTypes/{diskType}", + "response": { + "$ref": "DiskType" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] }, "list": { - "description": "Lists all the HealthCheckService resources that have been configured for the specified project in the given region.", - "flatPath": "projects/{project}/regions/{region}/healthCheckServices", + "description": "Retrieves a list of regional disk types available to the specified project.", + "flatPath": "projects/{project}/regions/{region}/diskTypes", "httpMethod": "GET", - "id": "compute.regionHealthCheckServices.list", + "id": "compute.regionDiskTypes.list", "parameterOrder": [ "project", "region" @@ -26195,7 +26380,7 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -26207,30 +26392,35 @@ "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/healthCheckServices", + "path": "projects/{project}/regions/{region}/diskTypes", "response": { - "$ref": "HealthCheckServicesList" + "$ref": "RegionDiskTypeList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - }, - "patch": { - "description": "Updates the specified regional HealthCheckService resource with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", - "flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", - "httpMethod": "PATCH", - "id": "compute.regionHealthCheckServices.patch", + } + } + }, + "regionDisks": { + "methods": { + "addResourcePolicies": { + "description": "Adds existing resource policies to a regional disk. You can only add one policy which will be applied to this disk for scheduling snapshot creation.", + "flatPath": "projects/{project}/regions/{region}/disks/{disk}/addResourcePolicies", + "httpMethod": "POST", + "id": "compute.regionDisks.addResourcePolicies", "parameterOrder": [ "project", "region", - "healthCheckService" + "disk" ], "parameters": { - "healthCheckService": { - "description": "Name of the HealthCheckService to update. The name must be 1-63 characters long, and comply with RFC1035.", + "disk": { + "description": "The disk name for this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, @@ -26242,7 +26432,7 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -26254,9 +26444,9 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", + "path": "projects/{project}/regions/{region}/disks/{disk}/addResourcePolicies", "request": { - "$ref": "HealthCheckService" + "$ref": "RegionDisksAddResourcePoliciesRequest" }, "response": { "$ref": "Operation" @@ -26266,15 +26456,14 @@ "https://www.googleapis.com/auth/compute" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/healthCheckServices/{resource}/testIamPermissions", + "bulkInsert": { + "description": "Bulk create a set of disks.", + "flatPath": "projects/{project}/regions/{region}/disks/bulkInsert", "httpMethod": "POST", - "id": "compute.regionHealthCheckServices.testIamPermissions", + "id": "compute.regionDisks.bulkInsert", "parameterOrder": [ "project", - "region", - "resource" + "region" ], "parameters": { "project": { @@ -26291,49 +26480,47 @@ "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/healthCheckServices/{resource}/testIamPermissions", + "path": "projects/{project}/regions/{region}/disks/bulkInsert", "request": { - "$ref": "TestPermissionsRequest" + "$ref": "BulkInsertDiskResource" }, "response": { - "$ref": "TestPermissionsResponse" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] - } - } - }, - "regionHealthChecks": { - "methods": { - "delete": { - "description": "Deletes the specified HealthCheck resource.", - "flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", - "httpMethod": "DELETE", - "id": "compute.regionHealthChecks.delete", + }, + "createSnapshot": { + "description": "Creates a snapshot of a specified persistent disk. For regular snapshot creation, consider using snapshots.insert instead, as that method supports more features, such as creating snapshots in a project different from the source disk project.", + "flatPath": "projects/{project}/regions/{region}/disks/{disk}/createSnapshot", + "httpMethod": "POST", + "id": "compute.regionDisks.createSnapshot", "parameterOrder": [ "project", "region", - "healthCheck" + "disk" ], "parameters": { - "healthCheck": { - "description": "Name of the HealthCheck resource to delete.", + "disk": { + "description": "Name of the regional persistent disk to snapshot.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, + "guestFlush": { + "description": "[Input Only] Specifies to create an application consistent snapshot by informing the OS to prepare for the snapshot process.", + "location": "query", + "type": "boolean" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -26342,7 +26529,7 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -26354,7 +26541,10 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", + "path": "projects/{project}/regions/{region}/disks/{disk}/createSnapshot", + "request": { + "$ref": "Snapshot" + }, "response": { "$ref": "Operation" }, @@ -26363,21 +26553,20 @@ "https://www.googleapis.com/auth/compute" ] }, - "get": { - "description": "Returns the specified HealthCheck resource.", - "flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", - "httpMethod": "GET", - "id": "compute.regionHealthChecks.get", + "delete": { + "description": "Deletes the specified regional persistent disk. Deleting a regional disk removes all the replicas of its data permanently and is irreversible. However, deleting a disk does not delete any snapshots previously made from the disk. You must separately delete snapshots.", + "flatPath": "projects/{project}/regions/{region}/disks/{disk}", + "httpMethod": "DELETE", + "id": "compute.regionDisks.delete", "parameterOrder": [ "project", "region", - "healthCheck" + "disk" ], "parameters": { - "healthCheck": { - "description": "Name of the HealthCheck resource to return.", + "disk": { + "description": "Name of the regional persistent disk to delete.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, @@ -26389,33 +26578,45 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", + "path": "projects/{project}/regions/{region}/disks/{disk}", "response": { - "$ref": "HealthCheck" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "insert": { - "description": "Creates a HealthCheck resource in the specified project using the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/healthChecks", - "httpMethod": "POST", - "id": "compute.regionHealthChecks.insert", + "get": { + "description": "Returns a specified regional persistent disk.", + "flatPath": "projects/{project}/regions/{region}/disks/{disk}", + "httpMethod": "GET", + "id": "compute.regionDisks.get", "parameterOrder": [ "project", - "region" + "region", + "disk" ], "parameters": { + "disk": { + "description": "Name of the regional persistent disk to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -26424,7 +26625,133 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/disks/{disk}", + "response": { + "$ref": "Disk" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "getAsyncReplicationStatus": { + "description": "Gets the status of current async replication for a given device.", + "flatPath": "projects/{project}/regions/{region}/disks/{disk}/getAsyncReplicationStatus", + "httpMethod": "GET", + "id": "compute.regionDisks.getAsyncReplicationStatus", + "parameterOrder": [ + "project", + "region", + "disk" + ], + "parameters": { + "disk": { + "description": "Name of the Disk resource whose Async replication details are requested. Name should conform to RFC1035 or be an unsigned long integer.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/disks/{disk}/getAsyncReplicationStatus", + "response": { + "$ref": "GetAsyncReplicationStatusResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "flatPath": "projects/{project}/regions/{region}/disks/{resource}/getIamPolicy", + "httpMethod": "GET", + "id": "compute.regionDisks.getIamPolicy", + "parameterOrder": [ + "project", + "region", + "resource" + ], + "parameters": { + "optionsRequestedPolicyVersion": { + "description": "Requested IAM Policy version.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/disks/{resource}/getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates a persistent regional disk in the specified project using the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/disks", + "httpMethod": "POST", + "id": "compute.regionDisks.insert", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -26434,11 +26761,16 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" + }, + "sourceImage": { + "description": "Source image to restore onto a disk. This field is optional.", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/regions/{region}/healthChecks", + "path": "projects/{project}/regions/{region}/disks", "request": { - "$ref": "HealthCheck" + "$ref": "Disk" }, "response": { "$ref": "Operation" @@ -26449,10 +26781,10 @@ ] }, "list": { - "description": "Retrieves the list of HealthCheck resources available to the specified project.", - "flatPath": "projects/{project}/regions/{region}/healthChecks", + "description": "Retrieves the list of persistent disks contained within the specified region.", + "flatPath": "projects/{project}/regions/{region}/disks", "httpMethod": "GET", - "id": "compute.regionHealthChecks.list", + "id": "compute.regionDisks.list", "parameterOrder": [ "project", "region" @@ -26489,7 +26821,7 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -26501,9 +26833,9 @@ "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/healthChecks", + "path": "projects/{project}/regions/{region}/disks", "response": { - "$ref": "HealthCheckList" + "$ref": "DiskList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -26511,19 +26843,19 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "patch": { - "description": "Updates a HealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", - "flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", - "httpMethod": "PATCH", - "id": "compute.regionHealthChecks.patch", + "removeResourcePolicies": { + "description": "Removes resource policies from a regional disk.", + "flatPath": "projects/{project}/regions/{region}/disks/{disk}/removeResourcePolicies", + "httpMethod": "POST", + "id": "compute.regionDisks.removeResourcePolicies", "parameterOrder": [ "project", "region", - "healthCheck" + "disk" ], "parameters": { - "healthCheck": { - "description": "Name of the HealthCheck resource to patch.", + "disk": { + "description": "The disk name for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -26537,7 +26869,7 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -26549,9 +26881,9 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", + "path": "projects/{project}/regions/{region}/disks/{disk}/removeResourcePolicies", "request": { - "$ref": "HealthCheck" + "$ref": "RegionDisksRemoveResourcePoliciesRequest" }, "response": { "$ref": "Operation" @@ -26561,70 +26893,67 @@ "https://www.googleapis.com/auth/compute" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/healthChecks/{resource}/testIamPermissions", + "resize": { + "description": "Resizes the specified regional persistent disk.", + "flatPath": "projects/{project}/regions/{region}/disks/{disk}/resize", "httpMethod": "POST", - "id": "compute.regionHealthChecks.testIamPermissions", + "id": "compute.regionDisks.resize", "parameterOrder": [ "project", "region", - "resource" + "disk" ], "parameters": { + "disk": { + "description": "Name of the regional persistent disk.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, "project": { - "description": "Project ID for this request.", + "description": "The project ID for this request.", "location": "path", "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/healthChecks/{resource}/testIamPermissions", + "path": "projects/{project}/regions/{region}/disks/{disk}/resize", "request": { - "$ref": "TestPermissionsRequest" + "$ref": "RegionDisksResizeRequest" }, "response": { - "$ref": "TestPermissionsResponse" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "update": { - "description": "Updates a HealthCheck resource in the specified project using the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", - "httpMethod": "PUT", - "id": "compute.regionHealthChecks.update", + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "projects/{project}/regions/{region}/disks/{resource}/setIamPolicy", + "httpMethod": "POST", + "id": "compute.regionDisks.setIamPolicy", "parameterOrder": [ "project", "region", - "healthCheck" + "resource" ], "parameters": { - "healthCheck": { - "description": "Name of the HealthCheck resource to update.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -26633,52 +26962,43 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", + "path": "projects/{project}/regions/{region}/disks/{resource}/setIamPolicy", "request": { - "$ref": "HealthCheck" + "$ref": "RegionSetPolicyRequest" }, "response": { - "$ref": "Operation" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] - } - } - }, - "regionInstanceGroupManagerResizeRequests": { - "methods": { - "cancel": { - "description": "Cancels the specified resize request. Cancelled resize request no longer waits for the resources to be provisioned. Cancel is only possible for requests that are in accepted state.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}/cancel", + }, + "setLabels": { + "description": "Sets the labels on the target regional disk.", + "flatPath": "projects/{project}/regions/{region}/disks/{resource}/setLabels", "httpMethod": "POST", - "id": "compute.regionInstanceGroupManagerResizeRequests.cancel", + "id": "compute.regionDisks.setLabels", "parameterOrder": [ "project", "region", - "instanceGroupManager", - "resizeRequest" + "resource" ], "parameters": { - "instanceGroupManager": { - "description": "The name of the managed instance group. Name should conform to RFC1035 or be a resource ID.", - "location": "path", - "required": true, - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -26687,8 +27007,9 @@ "type": "string" }, "region": { - "description": "The name of the region scoping this request. Name should conform to RFC1035.", + "description": "The region for this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -26697,14 +27018,18 @@ "location": "query", "type": "string" }, - "resizeRequest": { - "description": "The name of the resize request to cancel. Name should conform to RFC1035 or be a resource ID.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}/cancel", + "path": "projects/{project}/regions/{region}/disks/{resource}/setLabels", + "request": { + "$ref": "RegionSetLabelsRequest" + }, "response": { "$ref": "Operation" }, @@ -26713,21 +27038,21 @@ "https://www.googleapis.com/auth/compute" ] }, - "delete": { - "description": "Deletes the specified, inactive resize request. Requests that are still active cannot be deleted. Deleting request does not delete instances that were provisioned previously.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", - "httpMethod": "DELETE", - "id": "compute.regionInstanceGroupManagerResizeRequests.delete", + "startAsyncReplication": { + "description": "Starts asynchronous replication. Must be invoked on the primary disk.", + "flatPath": "projects/{project}/regions/{region}/disks/{disk}/startAsyncReplication", + "httpMethod": "POST", + "id": "compute.regionDisks.startAsyncReplication", "parameterOrder": [ "project", "region", - "instanceGroupManager", - "resizeRequest" + "disk" ], "parameters": { - "instanceGroupManager": { - "description": "The name of the managed instance group. Name should conform to RFC1035 or be a resource ID.", + "disk": { + "description": "The name of the persistent disk.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, @@ -26739,8 +27064,9 @@ "type": "string" }, "region": { - "description": "The name of the region scoping this request. Name should conform to RFC1035.", + "description": "The name of the region for this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -26748,15 +27074,12 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" - }, - "resizeRequest": { - "description": "The name of the resize request to delete. Name should conform to RFC1035 or be a resource ID.", - "location": "path", - "required": true, - "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", + "path": "projects/{project}/regions/{region}/disks/{disk}/startAsyncReplication", + "request": { + "$ref": "RegionDisksStartAsyncReplicationRequest" + }, "response": { "$ref": "Operation" }, @@ -26765,21 +27088,21 @@ "https://www.googleapis.com/auth/compute" ] }, - "get": { - "description": "Returns all of the details about the specified resize request.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", - "httpMethod": "GET", - "id": "compute.regionInstanceGroupManagerResizeRequests.get", + "stopAsyncReplication": { + "description": "Stops asynchronous replication. Can be invoked either on the primary or on the secondary disk.", + "flatPath": "projects/{project}/regions/{region}/disks/{disk}/stopAsyncReplication", + "httpMethod": "POST", + "id": "compute.regionDisks.stopAsyncReplication", "parameterOrder": [ "project", "region", - "instanceGroupManager", - "resizeRequest" + "disk" ], "parameters": { - "instanceGroupManager": { - "description": "The name of the managed instance group. Name should conform to RFC1035 or be a resource ID.", + "disk": { + "description": "The name of the persistent disk.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, @@ -26791,45 +27114,37 @@ "type": "string" }, "region": { - "description": "The name of the region scoping this request. Name should conform to RFC1035.", + "description": "The name of the region for this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "resizeRequest": { - "description": "The name of the resize request. Name should conform to RFC1035 or be a resource ID.", - "location": "path", - "required": true, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", + "path": "projects/{project}/regions/{region}/disks/{disk}/stopAsyncReplication", "response": { - "$ref": "InstanceGroupManagerResizeRequest" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "insert": { - "description": "Creates a new Resize Request that starts provisioning VMs immediately or queues VM creation.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", + "stopGroupAsyncReplication": { + "description": "Stops asynchronous replication for a consistency group of disks. Can be invoked either in the primary or secondary scope.", + "flatPath": "projects/{project}/regions/{region}/disks/stopGroupAsyncReplication", "httpMethod": "POST", - "id": "compute.regionInstanceGroupManagerResizeRequests.insert", + "id": "compute.regionDisks.stopGroupAsyncReplication", "parameterOrder": [ "project", - "region", - "instanceGroupManager" + "region" ], "parameters": { - "instanceGroupManager": { - "description": "Name of the managed instance group to which the resize request is scoped. Name should conform to RFC1035 or be a resource ID.", - "location": "path", - "required": true, - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -26838,8 +27153,9 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request. Name should conform to RFC1035.", + "description": "The name of the region for this request. This must be the region of the primary or secondary disks in the consistency group.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -26849,9 +27165,9 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", + "path": "projects/{project}/regions/{region}/disks/stopGroupAsyncReplication", "request": { - "$ref": "InstanceGroupManagerResizeRequest" + "$ref": "DisksStopGroupAsyncReplicationResource" }, "response": { "$ref": "Operation" @@ -26861,46 +27177,17 @@ "https://www.googleapis.com/auth/compute" ] }, - "list": { - "description": "Retrieves a list of Resize Requests that are contained in the managed instance group.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", - "httpMethod": "GET", - "id": "compute.regionInstanceGroupManagerResizeRequests.list", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/regions/{region}/disks/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.regionDisks.testIamPermissions", "parameterOrder": [ "project", "region", - "instanceGroupManager" + "resource" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "instanceGroupManager": { - "description": "The name of the managed instance group. The name should conform to RFC1035.", - "location": "path", - "required": true, - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -26909,48 +27196,56 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request. Name should conform to RFC1035.", + "description": "The name of the region for this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", + "path": "projects/{project}/regions/{region}/disks/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, "response": { - "$ref": "RegionInstanceGroupManagerResizeRequestsListResponse" + "$ref": "TestPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - } - } - }, - "regionInstanceGroupManagers": { - "methods": { - "abandonInstances": { - "description": "Flags the specified instances to be immediately removed from the managed instance group. Abandoning an instance does not delete the instance, but it does remove the instance from any target pools that are applied by the managed instance group. This method reduces the targetSize of the managed instance group by the number of instances that you abandon. This operation is marked as DONE when the action is scheduled even if the instances have not yet been removed from the group. You must separately verify the status of the abandoning action with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/abandonInstances", - "httpMethod": "POST", - "id": "compute.regionInstanceGroupManagers.abandonInstances", + }, + "update": { + "description": "Update the specified disk with the data included in the request. Update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: user_license.", + "flatPath": "projects/{project}/regions/{region}/disks/{disk}", + "httpMethod": "PATCH", + "id": "compute.regionDisks.update", "parameterOrder": [ "project", "region", - "instanceGroupManager" + "disk" ], "parameters": { - "instanceGroupManager": { - "description": "Name of the managed instance group.", + "disk": { + "description": "The disk name for this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, + "paths": { + "location": "query", + "repeated": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -26959,8 +27254,9 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The name of the region for this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -26968,11 +27264,17 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" + }, + "updateMask": { + "description": "update_mask indicates fields to be updated as part of this request.", + "format": "google-fieldmask", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/abandonInstances", + "path": "projects/{project}/regions/{region}/disks/{disk}", "request": { - "$ref": "RegionInstanceGroupManagersAbandonInstancesRequest" + "$ref": "Disk" }, "response": { "$ref": "Operation" @@ -26982,19 +27284,19 @@ "https://www.googleapis.com/auth/compute" ] }, - "applyUpdatesToInstances": { - "description": "Apply updates to selected instances the managed instance group.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances", + "waitForReplicationCatchUp": { + "description": "Wait for replication to catch up on the secondary disk.", + "flatPath": "projects/{project}/regions/{region}/disks/{disk}/waitForReplicationCatchUp", "httpMethod": "POST", - "id": "compute.regionInstanceGroupManagers.applyUpdatesToInstances", + "id": "compute.regionDisks.waitForReplicationCatchUp", "parameterOrder": [ "project", "region", - "instanceGroupManager" + "disk" ], "parameters": { - "instanceGroupManager": { - "description": "The name of the managed instance group, should conform to RFC1035.", + "disk": { + "description": "The name of the persistent disk. Name should conform to RFC1035 or be an unsigned long integer.", "location": "path", "required": true, "type": "string" @@ -27007,15 +27309,21 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request, should conform to RFC1035.", + "description": "Name of the region for this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances", + "path": "projects/{project}/regions/{region}/disks/{disk}/waitForReplicationCatchUp", "request": { - "$ref": "RegionInstanceGroupManagersApplyUpdatesRequest" + "$ref": "RegionWaitForReplicationCatchUpRequest" }, "response": { "$ref": "Operation" @@ -27024,68 +27332,90 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] - }, - "createInstances": { - "description": "Creates instances with per-instance configurations in this regional managed instance group. Instances are created using the current instance template. The create instances operation is marked DONE if the createInstances request is successful. The underlying actions take additional time. You must separately verify the status of the creating or actions with the listmanagedinstances method.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/createInstances", - "httpMethod": "POST", - "id": "compute.regionInstanceGroupManagers.createInstances", + } + } + }, + "regionHealthCheckServices": { + "methods": { + "aggregatedList": { + "description": "Retrieves the list of all HealthCheckService resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/healthCheckServices", + "httpMethod": "GET", + "id": "compute.regionHealthCheckServices.aggregatedList", "parameterOrder": [ - "project", - "region", - "instanceGroupManager" + "project" ], "parameters": { - "instanceGroupManager": { - "description": "The name of the managed instance group. It should conform to RFC1035.", - "location": "path", - "required": true, + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "location": "query", + "type": "boolean" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", "type": "string" }, "project": { - "description": "Project ID for this request.", + "description": "Name of the project scoping this request.", "location": "path", "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" }, - "region": { - "description": "The name of the region where the managed instance group is located. It should conform to RFC1035.", - "location": "path", - "required": true, - "type": "string" + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "serviceProjectNumber": { + "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", + "format": "int64", "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/createInstances", - "request": { - "$ref": "RegionInstanceGroupManagersCreateInstancesRequest" - }, + "path": "projects/{project}/aggregated/healthCheckServices", "response": { - "$ref": "Operation" + "$ref": "HealthCheckServiceAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, "delete": { - "description": "Deletes the specified managed instance group and all of the instances in that group.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", + "description": "Deletes the specified regional HealthCheckService.", + "flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", "httpMethod": "DELETE", - "id": "compute.regionInstanceGroupManagers.delete", + "id": "compute.regionHealthCheckServices.delete", "parameterOrder": [ "project", "region", - "instanceGroupManager" + "healthCheckService" ], "parameters": { - "instanceGroupManager": { - "description": "Name of the managed instance group to delete.", + "healthCheckService": { + "description": "Name of the HealthCheckService to delete. The name must be 1-63 characters long, and comply with RFC1035.", "location": "path", "required": true, "type": "string" @@ -27100,6 +27430,7 @@ "region": { "description": "Name of the region scoping this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -27109,7 +27440,7 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", + "path": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", "response": { "$ref": "Operation" }, @@ -27118,19 +27449,19 @@ "https://www.googleapis.com/auth/compute" ] }, - "deleteInstances": { - "description": "Flags the specified instances in the managed instance group to be immediately deleted. The instances are also removed from any target pools of which they were a member. This method reduces the targetSize of the managed instance group by the number of instances that you delete. The deleteInstances operation is marked DONE if the deleteInstances request is successful. The underlying actions take additional time. You must separately verify the status of the deleting action with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deleteInstances", - "httpMethod": "POST", - "id": "compute.regionInstanceGroupManagers.deleteInstances", + "get": { + "description": "Returns the specified regional HealthCheckService resource.", + "flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", + "httpMethod": "GET", + "id": "compute.regionHealthCheckServices.get", "parameterOrder": [ "project", "region", - "instanceGroupManager" + "healthCheckService" ], "parameters": { - "instanceGroupManager": { - "description": "Name of the managed instance group.", + "healthCheckService": { + "description": "Name of the HealthCheckService to update. The name must be 1-63 characters long, and comply with RFC1035.", "location": "path", "required": true, "type": "string" @@ -27145,44 +27476,31 @@ "region": { "description": "Name of the region scoping this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deleteInstances", - "request": { - "$ref": "RegionInstanceGroupManagersDeleteInstancesRequest" - }, + "path": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", "response": { - "$ref": "Operation" + "$ref": "HealthCheckService" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "deletePerInstanceConfigs": { - "description": "Deletes selected per-instance configurations for the managed instance group.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs", + "insert": { + "description": "Creates a regional HealthCheckService resource in the specified project and region using the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/healthCheckServices", "httpMethod": "POST", - "id": "compute.regionInstanceGroupManagers.deletePerInstanceConfigs", + "id": "compute.regionHealthCheckServices.insert", "parameterOrder": [ "project", - "region", - "instanceGroupManager" + "region" ], "parameters": { - "instanceGroupManager": { - "description": "The name of the managed instance group. It should conform to RFC1035.", - "location": "path", - "required": true, - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -27191,15 +27509,21 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request, should conform to RFC1035.", + "description": "Name of the region scoping this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs", + "path": "projects/{project}/regions/{region}/healthCheckServices", "request": { - "$ref": "RegionInstanceGroupManagerDeleteInstanceConfigReq" + "$ref": "HealthCheckService" }, "response": { "$ref": "Operation" @@ -27209,21 +27533,37 @@ "https://www.googleapis.com/auth/compute" ] }, - "get": { - "description": "Returns all of the details about the specified managed instance group.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", + "list": { + "description": "Lists all the HealthCheckService resources that have been configured for the specified project in the given region.", + "flatPath": "projects/{project}/regions/{region}/healthCheckServices", "httpMethod": "GET", - "id": "compute.regionInstanceGroupManagers.get", + "id": "compute.regionHealthCheckServices.list", "parameterOrder": [ "project", - "region", - "instanceGroupManager" + "region" ], "parameters": { - "instanceGroupManager": { - "description": "Name of the managed instance group to return.", - "location": "path", - "required": true, + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", "type": "string" }, "project": { @@ -27236,13 +27576,19 @@ "region": { "description": "Name of the region scoping this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", + "path": "projects/{project}/regions/{region}/healthCheckServices", "response": { - "$ref": "InstanceGroupManager" + "$ref": "HealthCheckServicesList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -27250,16 +27596,23 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "insert": { - "description": "Creates a managed instance group using the information that you specify in the request. After the group is created, instances in the group are created using the specified instance template. This operation is marked as DONE when the group is created even if the instances in the group have not yet been created. You must separately verify the status of the individual instances with the listmanagedinstances method. A regional managed instance group can contain up to 2000 instances.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers", - "httpMethod": "POST", - "id": "compute.regionInstanceGroupManagers.insert", + "patch": { + "description": "Updates the specified regional HealthCheckService resource with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", + "flatPath": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", + "httpMethod": "PATCH", + "id": "compute.regionHealthCheckServices.patch", "parameterOrder": [ "project", - "region" + "region", + "healthCheckService" ], "parameters": { + "healthCheckService": { + "description": "Name of the HealthCheckService to update. The name must be 1-63 characters long, and comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -27270,6 +27623,7 @@ "region": { "description": "Name of the region scoping this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -27279,9 +27633,9 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers", + "path": "projects/{project}/regions/{region}/healthCheckServices/{healthCheckService}", "request": { - "$ref": "InstanceGroupManager" + "$ref": "HealthCheckService" }, "response": { "$ref": "Operation" @@ -27291,37 +27645,72 @@ "https://www.googleapis.com/auth/compute" ] }, - "list": { - "description": "Retrieves the list of managed instance groups that are contained within the specified region.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers", - "httpMethod": "GET", - "id": "compute.regionInstanceGroupManagers.list", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/regions/{region}/healthCheckServices/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.regionHealthCheckServices.testIamPermissions", "parameterOrder": [ "project", - "region" + "region", + "resource" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, "type": "string" }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, "type": "string" }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/healthCheckServices/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, + "response": { + "$ref": "TestPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, + "regionHealthChecks": { + "methods": { + "delete": { + "description": "Deletes the specified HealthCheck resource.", + "flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", + "httpMethod": "DELETE", + "id": "compute.regionHealthChecks.delete", + "parameterOrder": [ + "project", + "region", + "healthCheck" + ], + "parameters": { + "healthCheck": { + "description": "Name of the HealthCheck resource to delete.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, "type": "string" }, "project": { @@ -27334,65 +27723,43 @@ "region": { "description": "Name of the region scoping this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", - "type": "boolean" + "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers", + "path": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", "response": { - "$ref": "RegionInstanceGroupManagerList" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "listErrors": { - "description": "Lists all errors thrown by actions on instances for a given regional managed instance group. The filter and orderBy query parameters are not supported.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listErrors", + "get": { + "description": "Returns the specified HealthCheck resource.", + "flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", "httpMethod": "GET", - "id": "compute.regionInstanceGroupManagers.listErrors", + "id": "compute.regionHealthChecks.get", "parameterOrder": [ "project", "region", - "instanceGroupManager" + "healthCheck" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "instanceGroupManager": { - "description": "The name of the managed instance group. It must be a string that meets the requirements in RFC1035, or an unsigned long integer: must match regexp pattern: (?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)|1-9{0,19}.", + "healthCheck": { + "description": "Name of the HealthCheck resource to return.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -27401,20 +27768,16 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request. This should conform to RFC1035.", + "description": "Name of the region scoping this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" - }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listErrors", + "path": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", "response": { - "$ref": "RegionInstanceGroupManagersListErrorsResponse" + "$ref": "HealthCheck" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -27422,46 +27785,16 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "listManagedInstances": { - "description": "Lists the instances in the managed instance group and instances that are scheduled to be created. The list includes any current actions that the group has scheduled for its instances. The orderBy query parameter is not supported. The `pageToken` query parameter is supported only if the group's `listManagedInstancesResults` field is set to `PAGINATED`.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances", + "insert": { + "description": "Creates a HealthCheck resource in the specified project using the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/healthChecks", "httpMethod": "POST", - "id": "compute.regionInstanceGroupManagers.listManagedInstances", + "id": "compute.regionHealthChecks.insert", "parameterOrder": [ "project", - "region", - "instanceGroupManager" + "region" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "instanceGroupManager": { - "description": "The name of the managed instance group.", - "location": "path", - "required": true, - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -27472,34 +27805,36 @@ "region": { "description": "Name of the region scoping this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", - "type": "boolean" + "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances", + "path": "projects/{project}/regions/{region}/healthChecks", + "request": { + "$ref": "HealthCheck" + }, "response": { - "$ref": "RegionInstanceGroupManagersListInstancesResponse" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "listPerInstanceConfigs": { - "description": "Lists all of the per-instance configurations defined for the managed instance group. The orderBy query parameter is not supported.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs", - "httpMethod": "POST", - "id": "compute.regionInstanceGroupManagers.listPerInstanceConfigs", + "list": { + "description": "Retrieves the list of HealthCheck resources available to the specified project.", + "flatPath": "projects/{project}/regions/{region}/healthChecks", + "httpMethod": "GET", + "id": "compute.regionHealthChecks.list", "parameterOrder": [ "project", - "region", - "instanceGroupManager" + "region" ], "parameters": { "filter": { @@ -27507,12 +27842,6 @@ "location": "query", "type": "string" }, - "instanceGroupManager": { - "description": "The name of the managed instance group. It should conform to RFC1035.", - "location": "path", - "required": true, - "type": "string" - }, "maxResults": { "default": "500", "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", @@ -27539,8 +27868,9 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request, should conform to RFC1035.", + "description": "Name of the region scoping this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -27550,9 +27880,9 @@ "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs", + "path": "projects/{project}/regions/{region}/healthChecks", "response": { - "$ref": "RegionInstanceGroupManagersListInstanceConfigsResp" + "$ref": "HealthCheckList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -27561,19 +27891,20 @@ ] }, "patch": { - "description": "Updates a managed instance group using the information that you specify in the request. This operation is marked as DONE when the group is patched even if the instances in the group are still in the process of being patched. You must separately verify the status of the individual instances with the listmanagedinstances method. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. If you update your group to specify a new template or instance configuration, it's possible that your intended specification for each VM in the group is different from the current state of that VM. To learn how to apply an updated configuration to the VMs in a MIG, see Updating instances in a MIG.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", + "description": "Updates a HealthCheck resource in the specified project using the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", + "flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", "httpMethod": "PATCH", - "id": "compute.regionInstanceGroupManagers.patch", + "id": "compute.regionHealthChecks.patch", "parameterOrder": [ "project", "region", - "instanceGroupManager" + "healthCheck" ], "parameters": { - "instanceGroupManager": { - "description": "The name of the instance group manager.", + "healthCheck": { + "description": "Name of the HealthCheck resource to patch.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, @@ -27587,6 +27918,7 @@ "region": { "description": "Name of the region scoping this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -27596,9 +27928,9 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", + "path": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", "request": { - "$ref": "InstanceGroupManager" + "$ref": "HealthCheck" }, "response": { "$ref": "Operation" @@ -27608,23 +27940,17 @@ "https://www.googleapis.com/auth/compute" ] }, - "patchPerInstanceConfigs": { - "description": "Inserts or patches per-instance configurations for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/regions/{region}/healthChecks/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.regionInstanceGroupManagers.patchPerInstanceConfigs", + "id": "compute.regionHealthChecks.testIamPermissions", "parameterOrder": [ "project", "region", - "instanceGroupManager" + "resource" ], "parameters": { - "instanceGroupManager": { - "description": "The name of the managed instance group. It should conform to RFC1035.", - "location": "path", - "required": true, - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -27633,43 +27959,48 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request, should conform to RFC1035.", + "description": "The name of the region for this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs", + "path": "projects/{project}/regions/{region}/healthChecks/{resource}/testIamPermissions", "request": { - "$ref": "RegionInstanceGroupManagerPatchInstanceConfigReq" + "$ref": "TestPermissionsRequest" }, "response": { - "$ref": "Operation" + "$ref": "TestPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "recreateInstances": { - "description": "Flags the specified VM instances in the managed instance group to be immediately recreated. Each instance is recreated using the group's current configuration. This operation is marked as DONE when the flag is set even if the instances have not yet been recreated. You must separately verify the status of each instance by checking its currentAction field; for more information, see Checking the status of managed instances. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/recreateInstances", - "httpMethod": "POST", - "id": "compute.regionInstanceGroupManagers.recreateInstances", + "update": { + "description": "Updates a HealthCheck resource in the specified project using the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", + "httpMethod": "PUT", + "id": "compute.regionHealthChecks.update", "parameterOrder": [ "project", "region", - "instanceGroupManager" + "healthCheck" ], "parameters": { - "instanceGroupManager": { - "description": "Name of the managed instance group.", + "healthCheck": { + "description": "Name of the HealthCheck resource to update.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, @@ -27683,6 +28014,7 @@ "region": { "description": "Name of the region scoping this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -27692,9 +28024,9 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/recreateInstances", + "path": "projects/{project}/regions/{region}/healthChecks/{healthCheck}", "request": { - "$ref": "RegionInstanceGroupManagersRecreateRequest" + "$ref": "HealthCheck" }, "response": { "$ref": "Operation" @@ -27703,21 +28035,25 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] - }, - "resize": { - "description": "Changes the intended size of the managed instance group. If you increase the size, the group creates new instances using the current instance template. If you decrease the size, the group deletes one or more instances. The resize operation is marked DONE if the resize request is successful. The underlying actions take additional time. You must separately verify the status of the creating or deleting actions with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resize", - "httpMethod": "POST", - "id": "compute.regionInstanceGroupManagers.resize", + } + } + }, + "regionInstanceGroupManagerResizeRequests": { + "methods": { + "cancel": { + "description": "Cancels the specified resize request. Cancelled resize request no longer waits for the resources to be provisioned. Cancel is only possible for requests that are in accepted state.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}/cancel", + "httpMethod": "POST", + "id": "compute.regionInstanceGroupManagerResizeRequests.cancel", "parameterOrder": [ "project", "region", "instanceGroupManager", - "size" + "resizeRequest" ], "parameters": { "instanceGroupManager": { - "description": "Name of the managed instance group.", + "description": "The name of the managed instance group. Name should conform to RFC1035 or be a resource ID.", "location": "path", "required": true, "type": "string" @@ -27730,7 +28066,7 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The name of the region scoping this request. Name should conform to RFC1035.", "location": "path", "required": true, "type": "string" @@ -27740,16 +28076,14 @@ "location": "query", "type": "string" }, - "size": { - "description": "Number of instances that should exist in this instance group manager.", - "format": "int32", - "location": "query", - "minimum": "0", + "resizeRequest": { + "description": "The name of the resize request to cancel. Name should conform to RFC1035 or be a resource ID.", + "location": "path", "required": true, - "type": "integer" + "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resize", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}/cancel", "response": { "$ref": "Operation" }, @@ -27758,19 +28092,20 @@ "https://www.googleapis.com/auth/compute" ] }, - "resizeAdvanced": { - "description": "Resizes the regional managed instance group with advanced configuration options like disabling creation retries. This is an extended version of the resize method. If you increase the size, the group creates new instances using the current instance template. If you decrease the size, the group deletes one or more instances. The resize operation is marked DONE if the resize request is successful. The underlying actions take additional time. You must separately verify the status of the creating or deleting actions with the get or listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeAdvanced", - "httpMethod": "POST", - "id": "compute.regionInstanceGroupManagers.resizeAdvanced", + "delete": { + "description": "Deletes the specified, inactive resize request. Requests that are still active cannot be deleted. Deleting request does not delete instances that were provisioned previously.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", + "httpMethod": "DELETE", + "id": "compute.regionInstanceGroupManagerResizeRequests.delete", "parameterOrder": [ "project", "region", - "instanceGroupManager" + "instanceGroupManager", + "resizeRequest" ], "parameters": { "instanceGroupManager": { - "description": "The name of the managed instance group. It must be a string that meets the requirements in RFC1035.", + "description": "The name of the managed instance group. Name should conform to RFC1035 or be a resource ID.", "location": "path", "required": true, "type": "string" @@ -27783,7 +28118,7 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request. It must be a string that meets the requirements in RFC1035.", + "description": "The name of the region scoping this request. Name should conform to RFC1035.", "location": "path", "required": true, "type": "string" @@ -27792,12 +28127,15 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" + }, + "resizeRequest": { + "description": "The name of the resize request to delete. Name should conform to RFC1035 or be a resource ID.", + "location": "path", + "required": true, + "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeAdvanced", - "request": { - "$ref": "RegionInstanceGroupManagersResizeAdvancedRequest" - }, + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", "response": { "$ref": "Operation" }, @@ -27806,19 +28144,20 @@ "https://www.googleapis.com/auth/compute" ] }, - "resumeInstances": { - "description": "Flags the specified instances in the managed instance group to be resumed. This method increases the targetSize and decreases the targetSuspendedSize of the managed instance group by the number of instances that you resume. The resumeInstances operation is marked DONE if the resumeInstances request is successful. The underlying actions take additional time. You must separately verify the status of the RESUMING action with the listmanagedinstances method. In this request, you can only specify instances that are suspended. For example, if an instance was previously suspended using the suspendInstances method, it can be resumed using the resumeInstances method. If a health check is attached to the managed instance group, the specified instances will be verified as healthy after they are resumed. You can specify a maximum of 1000 instances with this method per request.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resumeInstances", - "httpMethod": "POST", - "id": "compute.regionInstanceGroupManagers.resumeInstances", + "get": { + "description": "Returns all of the details about the specified resize request.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", + "httpMethod": "GET", + "id": "compute.regionInstanceGroupManagerResizeRequests.get", "parameterOrder": [ "project", "region", - "instanceGroupManager" + "instanceGroupManager", + "resizeRequest" ], "parameters": { "instanceGroupManager": { - "description": "Name of the managed instance group.", + "description": "The name of the managed instance group. Name should conform to RFC1035 or be a resource ID.", "location": "path", "required": true, "type": "string" @@ -27831,35 +28170,33 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The name of the region scoping this request. Name should conform to RFC1035.", "location": "path", "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", + "resizeRequest": { + "description": "The name of the resize request. Name should conform to RFC1035 or be a resource ID.", + "location": "path", + "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resumeInstances", - "request": { - "$ref": "RegionInstanceGroupManagersResumeInstancesRequest" - }, + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests/{resizeRequest}", "response": { - "$ref": "Operation" + "$ref": "InstanceGroupManagerResizeRequest" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "setAutoHealingPolicies": { - "deprecated": true, - "description": "Modifies the autohealing policy for the instances in this managed instance group. [Deprecated] This method is deprecated. Use regionInstanceGroupManagers.patch instead.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setAutoHealingPolicies", + "insert": { + "description": "Creates a new Resize Request that starts provisioning VMs immediately or queues VM creation.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", "httpMethod": "POST", - "id": "compute.regionInstanceGroupManagers.setAutoHealingPolicies", + "id": "compute.regionInstanceGroupManagerResizeRequests.insert", "parameterOrder": [ "project", "region", @@ -27867,7 +28204,7 @@ ], "parameters": { "instanceGroupManager": { - "description": "Name of the managed instance group.", + "description": "Name of the managed instance group to which the resize request is scoped. Name should conform to RFC1035 or be a resource ID.", "location": "path", "required": true, "type": "string" @@ -27880,7 +28217,7 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "Name of the region scoping this request. Name should conform to RFC1035.", "location": "path", "required": true, "type": "string" @@ -27891,9 +28228,9 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setAutoHealingPolicies", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", "request": { - "$ref": "RegionInstanceGroupManagersSetAutoHealingRequest" + "$ref": "InstanceGroupManagerResizeRequest" }, "response": { "$ref": "Operation" @@ -27903,23 +28240,46 @@ "https://www.googleapis.com/auth/compute" ] }, - "setInstanceTemplate": { - "description": "Sets the instance template to use when creating new instances or recreating instances in this group. Existing instances are not affected.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate", - "httpMethod": "POST", - "id": "compute.regionInstanceGroupManagers.setInstanceTemplate", + "list": { + "description": "Retrieves a list of Resize Requests that are contained in the managed instance group.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", + "httpMethod": "GET", + "id": "compute.regionInstanceGroupManagerResizeRequests.list", "parameterOrder": [ "project", "region", "instanceGroupManager" ], "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, "instanceGroupManager": { - "description": "The name of the managed instance group.", + "description": "The name of the managed instance group. The name should conform to RFC1035.", "location": "path", "required": true, "type": "string" }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -27928,34 +28288,36 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "Name of the region scoping this request. Name should conform to RFC1035.", "location": "path", "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", - "type": "string" + "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate", - "request": { - "$ref": "RegionInstanceGroupManagersSetTemplateRequest" - }, + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeRequests", "response": { - "$ref": "Operation" + "$ref": "RegionInstanceGroupManagerResizeRequestsListResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] - }, - "setTargetPools": { - "description": "Modifies the target pools to which all new instances in this group are assigned. Existing instances in the group are not affected.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setTargetPools", + } + } + }, + "regionInstanceGroupManagers": { + "methods": { + "abandonInstances": { + "description": "Flags the specified instances to be immediately removed from the managed instance group. Abandoning an instance does not delete the instance, but it does remove the instance from any target pools that are applied by the managed instance group. This method reduces the targetSize of the managed instance group by the number of instances that you abandon. This operation is marked as DONE when the action is scheduled even if the instances have not yet been removed from the group. You must separately verify the status of the abandoning action with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/abandonInstances", "httpMethod": "POST", - "id": "compute.regionInstanceGroupManagers.setTargetPools", + "id": "compute.regionInstanceGroupManagers.abandonInstances", "parameterOrder": [ "project", "region", @@ -27987,9 +28349,9 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setTargetPools", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/abandonInstances", "request": { - "$ref": "RegionInstanceGroupManagersSetTargetPoolsRequest" + "$ref": "RegionInstanceGroupManagersAbandonInstancesRequest" }, "response": { "$ref": "Operation" @@ -27999,11 +28361,11 @@ "https://www.googleapis.com/auth/compute" ] }, - "startInstances": { - "description": "Flags the specified instances in the managed instance group to be started. This method increases the targetSize and decreases the targetStoppedSize of the managed instance group by the number of instances that you start. The startInstances operation is marked DONE if the startInstances request is successful. The underlying actions take additional time. You must separately verify the status of the STARTING action with the listmanagedinstances method. In this request, you can only specify instances that are stopped. For example, if an instance was previously stopped using the stopInstances method, it can be started using the startInstances method. If a health check is attached to the managed instance group, the specified instances will be verified as healthy after they are started. You can specify a maximum of 1000 instances with this method per request.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/startInstances", + "applyUpdatesToInstances": { + "description": "Apply updates to selected instances the managed instance group.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances", "httpMethod": "POST", - "id": "compute.regionInstanceGroupManagers.startInstances", + "id": "compute.regionInstanceGroupManagers.applyUpdatesToInstances", "parameterOrder": [ "project", "region", @@ -28011,7 +28373,7 @@ ], "parameters": { "instanceGroupManager": { - "description": "Name of the managed instance group.", + "description": "The name of the managed instance group, should conform to RFC1035.", "location": "path", "required": true, "type": "string" @@ -28024,20 +28386,15 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "Name of the region scoping this request, should conform to RFC1035.", "location": "path", "required": true, "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/startInstances", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/applyUpdatesToInstances", "request": { - "$ref": "RegionInstanceGroupManagersStartInstancesRequest" + "$ref": "RegionInstanceGroupManagersApplyUpdatesRequest" }, "response": { "$ref": "Operation" @@ -28047,11 +28404,11 @@ "https://www.googleapis.com/auth/compute" ] }, - "stopInstances": { - "description": "Flags the specified instances in the managed instance group to be immediately stopped. You can only specify instances that are running in this request. This method reduces the targetSize and increases the targetStoppedSize of the managed instance group by the number of instances that you stop. The stopInstances operation is marked DONE if the stopInstances request is successful. The underlying actions take additional time. You must separately verify the status of the STOPPING action with the listmanagedinstances method. If the standbyPolicy.initialDelaySec field is set, the group delays stopping the instances until initialDelaySec have passed from instance.creationTimestamp (that is, when the instance was created). This delay gives your application time to set itself up and initialize on the instance. If more than initialDelaySec seconds have passed since instance.creationTimestamp when this method is called, there will be zero delay. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is stopped. Stopped instances can be started using the startInstances method. You can specify a maximum of 1000 instances with this method per request.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/stopInstances", + "createInstances": { + "description": "Creates instances with per-instance configurations in this regional managed instance group. Instances are created using the current instance template. The create instances operation is marked DONE if the createInstances request is successful. The underlying actions take additional time. You must separately verify the status of the creating or actions with the listmanagedinstances method.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/createInstances", "httpMethod": "POST", - "id": "compute.regionInstanceGroupManagers.stopInstances", + "id": "compute.regionInstanceGroupManagers.createInstances", "parameterOrder": [ "project", "region", @@ -28059,7 +28416,7 @@ ], "parameters": { "instanceGroupManager": { - "description": "The name of the managed instance group.", + "description": "The name of the managed instance group. It should conform to RFC1035.", "location": "path", "required": true, "type": "string" @@ -28072,20 +28429,20 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The name of the region where the managed instance group is located. It should conform to RFC1035.", "location": "path", "required": true, "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/stopInstances", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/createInstances", "request": { - "$ref": "RegionInstanceGroupManagersStopInstancesRequest" + "$ref": "RegionInstanceGroupManagersCreateInstancesRequest" }, "response": { "$ref": "Operation" @@ -28095,11 +28452,11 @@ "https://www.googleapis.com/auth/compute" ] }, - "suspendInstances": { - "description": "Flags the specified instances in the managed instance group to be immediately suspended. You can only specify instances that are running in this request. This method reduces the targetSize and increases the targetSuspendedSize of the managed instance group by the number of instances that you suspend. The suspendInstances operation is marked DONE if the suspendInstances request is successful. The underlying actions take additional time. You must separately verify the status of the SUSPENDING action with the listmanagedinstances method. If the standbyPolicy.initialDelaySec field is set, the group delays suspension of the instances until initialDelaySec have passed from instance.creationTimestamp (that is, when the instance was created). This delay gives your application time to set itself up and initialize on the instance. If more than initialDelaySec seconds have passed since instance.creationTimestamp when this method is called, there will be zero delay. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is suspended. Suspended instances can be resumed using the resumeInstances method. You can specify a maximum of 1000 instances with this method per request.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/suspendInstances", - "httpMethod": "POST", - "id": "compute.regionInstanceGroupManagers.suspendInstances", + "delete": { + "description": "Deletes the specified managed instance group and all of the instances in that group.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", + "httpMethod": "DELETE", + "id": "compute.regionInstanceGroupManagers.delete", "parameterOrder": [ "project", "region", @@ -28107,7 +28464,7 @@ ], "parameters": { "instanceGroupManager": { - "description": "Name of the managed instance group.", + "description": "Name of the managed instance group to delete.", "location": "path", "required": true, "type": "string" @@ -28131,10 +28488,7 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/suspendInstances", - "request": { - "$ref": "RegionInstanceGroupManagersSuspendInstancesRequest" - }, + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", "response": { "$ref": "Operation" }, @@ -28143,17 +28497,23 @@ "https://www.googleapis.com/auth/compute" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{resource}/testIamPermissions", + "deleteInstances": { + "description": "Flags the specified instances in the managed instance group to be immediately deleted. The instances are also removed from any target pools of which they were a member. This method reduces the targetSize of the managed instance group by the number of instances that you delete. The deleteInstances operation is marked DONE if the deleteInstances request is successful. The underlying actions take additional time. You must separately verify the status of the deleting action with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deleteInstances", "httpMethod": "POST", - "id": "compute.regionInstanceGroupManagers.testIamPermissions", + "id": "compute.regionInstanceGroupManagers.deleteInstances", "parameterOrder": [ "project", "region", - "resource" + "instanceGroupManager" ], "parameters": { + "instanceGroupManager": { + "description": "Name of the managed instance group.", + "location": "path", + "required": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -28162,38 +28522,34 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{resource}/testIamPermissions", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deleteInstances", "request": { - "$ref": "TestPermissionsRequest" + "$ref": "RegionInstanceGroupManagersDeleteInstancesRequest" }, "response": { - "$ref": "TestPermissionsResponse" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "update": { - "description": "Updates a managed instance group using the information that you specify in the request. This operation is marked as DONE when the group is updated even if the instances in the group have not yet been updated. You must separately verify the status of the individual instances with the listmanagedinstances method. If you update your group to specify a new template or instance configuration, it's possible that your intended specification for each VM in the group is different from the current state of that VM. To learn how to apply an updated configuration to the VMs in a MIG, see Updating instances in a MIG.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", - "httpMethod": "PUT", - "id": "compute.regionInstanceGroupManagers.update", + "deletePerInstanceConfigs": { + "description": "Deletes selected per-instance configurations for the managed instance group.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs", + "httpMethod": "POST", + "id": "compute.regionInstanceGroupManagers.deletePerInstanceConfigs", "parameterOrder": [ "project", "region", @@ -28201,7 +28557,7 @@ ], "parameters": { "instanceGroupManager": { - "description": "The name of the instance group manager.", + "description": "The name of the managed instance group. It should conform to RFC1035.", "location": "path", "required": true, "type": "string" @@ -28214,20 +28570,15 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "Name of the region scoping this request, should conform to RFC1035.", "location": "path", "required": true, "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/deletePerInstanceConfigs", "request": { - "$ref": "InstanceGroupManager" + "$ref": "RegionInstanceGroupManagerDeleteInstanceConfigReq" }, "response": { "$ref": "Operation" @@ -28237,11 +28588,11 @@ "https://www.googleapis.com/auth/compute" ] }, - "updatePerInstanceConfigs": { - "description": "Inserts or updates per-instance configurations for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch.", - "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs", - "httpMethod": "POST", - "id": "compute.regionInstanceGroupManagers.updatePerInstanceConfigs", + "get": { + "description": "Returns all of the details about the specified managed instance group.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", + "httpMethod": "GET", + "id": "compute.regionInstanceGroupManagers.get", "parameterOrder": [ "project", "region", @@ -28249,7 +28600,7 @@ ], "parameters": { "instanceGroupManager": { - "description": "The name of the managed instance group. It should conform to RFC1035.", + "description": "Name of the managed instance group to return.", "location": "path", "required": true, "type": "string" @@ -28262,50 +28613,32 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request, should conform to RFC1035.", + "description": "Name of the region scoping this request.", "location": "path", "required": true, "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs", - "request": { - "$ref": "RegionInstanceGroupManagerUpdateInstanceConfigReq" - }, + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", "response": { - "$ref": "Operation" + "$ref": "InstanceGroupManager" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] - } - } - }, - "regionInstanceGroups": { - "methods": { - "get": { - "description": "Returns the specified instance group resource.", - "flatPath": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}", - "httpMethod": "GET", - "id": "compute.regionInstanceGroups.get", + }, + "insert": { + "description": "Creates a managed instance group using the information that you specify in the request. After the group is created, instances in the group are created using the specified instance template. This operation is marked as DONE when the group is created even if the instances in the group have not yet been created. You must separately verify the status of the individual instances with the listmanagedinstances method. A regional managed instance group can contain up to 2000 instances.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers", + "httpMethod": "POST", + "id": "compute.regionInstanceGroupManagers.insert", "parameterOrder": [ "project", - "region", - "instanceGroup" + "region" ], "parameters": { - "instanceGroup": { - "description": "Name of the instance group resource to return.", - "location": "path", - "required": true, - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -28318,23 +28651,30 @@ "location": "path", "required": true, "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}", + "path": "projects/{project}/regions/{region}/instanceGroupManagers", + "request": { + "$ref": "InstanceGroupManager" + }, "response": { - "$ref": "InstanceGroup" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "list": { - "description": "Retrieves the list of instance group resources contained within the specified region.", - "flatPath": "projects/{project}/regions/{region}/instanceGroups", + "description": "Retrieves the list of managed instance groups that are contained within the specified region.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers", "httpMethod": "GET", - "id": "compute.regionInstanceGroups.list", + "id": "compute.regionInstanceGroupManagers.list", "parameterOrder": [ "project", "region" @@ -28382,9 +28722,9 @@ "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/instanceGroups", + "path": "projects/{project}/regions/{region}/instanceGroupManagers", "response": { - "$ref": "RegionInstanceGroupList" + "$ref": "RegionInstanceGroupManagerList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -28392,15 +28732,15 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "listInstances": { - "description": "Lists the instances in the specified instance group and displays information about the named ports. Depending on the specified options, this method can list all instances or only the instances that are running. The orderBy query parameter is not supported.", - "flatPath": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/listInstances", - "httpMethod": "POST", - "id": "compute.regionInstanceGroups.listInstances", + "listErrors": { + "description": "Lists all errors thrown by actions on instances for a given regional managed instance group. The filter and orderBy query parameters are not supported.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listErrors", + "httpMethod": "GET", + "id": "compute.regionInstanceGroupManagers.listErrors", "parameterOrder": [ "project", "region", - "instanceGroup" + "instanceGroupManager" ], "parameters": { "filter": { @@ -28408,8 +28748,8 @@ "location": "query", "type": "string" }, - "instanceGroup": { - "description": "Name of the regional instance group for which we want to list the instances.", + "instanceGroupManager": { + "description": "The name of the managed instance group. It must be a string that meets the requirements in RFC1035, or an unsigned long integer: must match regexp pattern: (?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?)|1-9{0,19}.", "location": "path", "required": true, "type": "string" @@ -28440,7 +28780,7 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "Name of the region scoping this request. This should conform to RFC1035.", "location": "path", "required": true, "type": "string" @@ -28451,12 +28791,9 @@ "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/listInstances", - "request": { - "$ref": "RegionInstanceGroupsListInstancesRequest" - }, + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listErrors", "response": { - "$ref": "RegionInstanceGroupsListInstances" + "$ref": "RegionInstanceGroupManagersListErrorsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -28464,23 +28801,46 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "setNamedPorts": { - "description": "Sets the named ports for the specified regional instance group.", - "flatPath": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/setNamedPorts", + "listManagedInstances": { + "description": "Lists the instances in the managed instance group and instances that are scheduled to be created. The list includes any current actions that the group has scheduled for its instances. The orderBy query parameter is not supported. The `pageToken` query parameter is supported only if the group's `listManagedInstancesResults` field is set to `PAGINATED`.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances", "httpMethod": "POST", - "id": "compute.regionInstanceGroups.setNamedPorts", + "id": "compute.regionInstanceGroupManagers.listManagedInstances", "parameterOrder": [ "project", "region", - "instanceGroup" + "instanceGroupManager" ], "parameters": { - "instanceGroup": { - "description": "The name of the regional instance group where the named ports are updated.", + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "instanceGroupManager": { + "description": "The name of the managed instance group.", "location": "path", "required": true, "type": "string" }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -28494,35 +28854,62 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", - "type": "string" + "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/setNamedPorts", - "request": { - "$ref": "RegionInstanceGroupsSetNamedPortsRequest" - }, + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances", "response": { - "$ref": "Operation" + "$ref": "RegionInstanceGroupManagersListInstancesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/instanceGroups/{resource}/testIamPermissions", + "listPerInstanceConfigs": { + "description": "Lists all of the per-instance configurations defined for the managed instance group. The orderBy query parameter is not supported.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs", "httpMethod": "POST", - "id": "compute.regionInstanceGroups.testIamPermissions", + "id": "compute.regionInstanceGroupManagers.listPerInstanceConfigs", "parameterOrder": [ "project", "region", - "resource" + "instanceGroupManager" ], "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "instanceGroupManager": { + "description": "The name of the managed instance group. It should conform to RFC1035.", + "location": "path", + "required": true, + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -28531,52 +28918,41 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region scoping this request, should conform to RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/instanceGroups/{resource}/testIamPermissions", - "request": { - "$ref": "TestPermissionsRequest" - }, + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/listPerInstanceConfigs", "response": { - "$ref": "TestPermissionsResponse" + "$ref": "RegionInstanceGroupManagersListInstanceConfigsResp" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - } - } - }, - "regionInstanceTemplates": { - "methods": { - "delete": { - "description": "Deletes the specified instance template. Deleting an instance template is permanent and cannot be undone.", - "flatPath": "projects/{project}/regions/{region}/instanceTemplates/{instanceTemplate}", - "httpMethod": "DELETE", - "id": "compute.regionInstanceTemplates.delete", + }, + "patch": { + "description": "Updates a managed instance group using the information that you specify in the request. This operation is marked as DONE when the group is patched even if the instances in the group are still in the process of being patched. You must separately verify the status of the individual instances with the listmanagedinstances method. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. If you update your group to specify a new template or instance configuration, it's possible that your intended specification for each VM in the group is different from the current state of that VM. To learn how to apply an updated configuration to the VMs in a MIG, see Updating instances in a MIG.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", + "httpMethod": "PATCH", + "id": "compute.regionInstanceGroupManagers.patch", "parameterOrder": [ "project", "region", - "instanceTemplate" + "instanceGroupManager" ], "parameters": { - "instanceTemplate": { - "description": "The name of the instance template to delete.", + "instanceGroupManager": { + "description": "The name of the instance group manager.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, @@ -28588,9 +28964,8 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -28600,7 +28975,10 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceTemplates/{instanceTemplate}", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", + "request": { + "$ref": "InstanceGroupManager" + }, "response": { "$ref": "Operation" }, @@ -28609,21 +28987,20 @@ "https://www.googleapis.com/auth/compute" ] }, - "get": { - "description": "Returns the specified instance template.", - "flatPath": "projects/{project}/regions/{region}/instanceTemplates/{instanceTemplate}", - "httpMethod": "GET", - "id": "compute.regionInstanceTemplates.get", + "patchPerInstanceConfigs": { + "description": "Inserts or patches per-instance configurations for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs", + "httpMethod": "POST", + "id": "compute.regionInstanceGroupManagers.patchPerInstanceConfigs", "parameterOrder": [ "project", "region", - "instanceTemplate" + "instanceGroupManager" ], "parameters": { - "instanceTemplate": { - "description": "The name of the instance template.", + "instanceGroupManager": { + "description": "The name of the managed instance group. It should conform to RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, @@ -28635,48 +29012,46 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region scoping this request, should conform to RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "view": { - "description": "View of the instance template.", - "enum": [ - "BASIC", - "FULL", - "INSTANCE_VIEW_UNSPECIFIED" - ], - "enumDescriptions": [ - "Include everything except Partner Metadata.", - "Include everything.", - "The default / unset value. The API will default to the BASIC view." - ], + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceTemplates/{instanceTemplate}", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/patchPerInstanceConfigs", + "request": { + "$ref": "RegionInstanceGroupManagerPatchInstanceConfigReq" + }, "response": { - "$ref": "InstanceTemplate" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "insert": { - "description": "Creates an instance template in the specified project and region using the global instance template whose URL is included in the request.", - "flatPath": "projects/{project}/regions/{region}/instanceTemplates", + "recreateInstances": { + "description": "Flags the specified VM instances in the managed instance group to be immediately recreated. Each instance is recreated using the group's current configuration. This operation is marked as DONE when the flag is set even if the instances have not yet been recreated. You must separately verify the status of each instance by checking its currentAction field; for more information, see Checking the status of managed instances. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/recreateInstances", "httpMethod": "POST", - "id": "compute.regionInstanceTemplates.insert", + "id": "compute.regionInstanceGroupManagers.recreateInstances", "parameterOrder": [ "project", - "region" + "region", + "instanceGroupManager" ], "parameters": { + "instanceGroupManager": { + "description": "Name of the managed instance group.", + "location": "path", + "required": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -28685,9 +29060,8 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -28697,9 +29071,9 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/instanceTemplates", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/recreateInstances", "request": { - "$ref": "InstanceTemplate" + "$ref": "RegionInstanceGroupManagersRecreateRequest" }, "response": { "$ref": "Operation" @@ -28709,37 +29083,22 @@ "https://www.googleapis.com/auth/compute" ] }, - "list": { - "description": "Retrieves a list of instance templates that are contained within the specified project and region.", - "flatPath": "projects/{project}/regions/{region}/instanceTemplates", - "httpMethod": "GET", - "id": "compute.regionInstanceTemplates.list", + "resize": { + "description": "Changes the intended size of the managed instance group. If you increase the size, the group creates new instances using the current instance template. If you decrease the size, the group deletes one or more instances. The resize operation is marked DONE if the resize request is successful. The underlying actions take additional time. You must separately verify the status of the creating or deleting actions with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resize", + "httpMethod": "POST", + "id": "compute.regionInstanceGroupManagers.resize", "parameterOrder": [ "project", - "region" + "region", + "instanceGroupManager", + "size" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", + "instanceGroupManager": { + "description": "Name of the managed instance group.", + "location": "path", + "required": true, "type": "string" }, "project": { @@ -28750,57 +29109,51 @@ "type": "string" }, "region": { - "description": "The name of the regions for this request.", + "description": "Name of the region scoping this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", - "type": "boolean" + "type": "string" }, - "view": { - "description": "View of the instance template.", - "enum": [ - "BASIC", - "FULL", - "INSTANCE_VIEW_UNSPECIFIED" - ], - "enumDescriptions": [ - "Include everything except Partner Metadata.", - "Include everything.", - "The default / unset value. The API will default to the BASIC view." - ], + "size": { + "description": "Number of instances that should exist in this instance group manager.", + "format": "int32", "location": "query", - "type": "string" + "minimum": "0", + "required": true, + "type": "integer" } }, - "path": "projects/{project}/regions/{region}/instanceTemplates", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resize", "response": { - "$ref": "InstanceTemplateList" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] - } - } - }, - "regionInstances": { - "methods": { - "bulkInsert": { - "description": "Creates multiple instances in a given region. Count specifies the number of instances to create.", - "flatPath": "projects/{project}/regions/{region}/instances/bulkInsert", + }, + "resizeAdvanced": { + "description": "Resizes the regional managed instance group with advanced configuration options like disabling creation retries. This is an extended version of the resize method. If you increase the size, the group creates new instances using the current instance template. If you decrease the size, the group deletes one or more instances. The resize operation is marked DONE if the resize request is successful. The underlying actions take additional time. You must separately verify the status of the creating or deleting actions with the get or listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeAdvanced", "httpMethod": "POST", - "id": "compute.regionInstances.bulkInsert", + "id": "compute.regionInstanceGroupManagers.resizeAdvanced", "parameterOrder": [ "project", - "region" + "region", + "instanceGroupManager" ], "parameters": { + "instanceGroupManager": { + "description": "The name of the managed instance group. It must be a string that meets the requirements in RFC1035.", + "location": "path", + "required": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -28809,9 +29162,8 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region scoping this request. It must be a string that meets the requirements in RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -28821,9 +29173,9 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/instances/bulkInsert", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resizeAdvanced", "request": { - "$ref": "BulkInsertInstanceResource" + "$ref": "RegionInstanceGroupManagersResizeAdvancedRequest" }, "response": { "$ref": "Operation" @@ -28832,26 +29184,21 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] - } - } - }, - "regionInstantSnapshotGroups": { - "methods": { - "delete": { - "description": "deletes a Regional InstantSnapshotGroup resource", - "flatPath": "projects/{project}/regions/{region}/instantSnapshotGroups/{instantSnapshotGroup}", - "httpMethod": "DELETE", - "id": "compute.regionInstantSnapshotGroups.delete", + }, + "resumeInstances": { + "description": "Flags the specified instances in the managed instance group to be resumed. This method increases the targetSize and decreases the targetSuspendedSize of the managed instance group by the number of instances that you resume. The resumeInstances operation is marked DONE if the resumeInstances request is successful. The underlying actions take additional time. You must separately verify the status of the RESUMING action with the listmanagedinstances method. In this request, you can only specify instances that are suspended. For example, if an instance was previously suspended using the suspendInstances method, it can be resumed using the resumeInstances method. If a health check is attached to the managed instance group, the specified instances will be verified as healthy after they are resumed. You can specify a maximum of 1000 instances with this method per request.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resumeInstances", + "httpMethod": "POST", + "id": "compute.regionInstanceGroupManagers.resumeInstances", "parameterOrder": [ "project", "region", - "instantSnapshotGroup" + "instanceGroupManager" ], "parameters": { - "instantSnapshotGroup": { - "description": "Name of the InstantSnapshotGroup resource to delete.", + "instanceGroupManager": { + "description": "Name of the managed instance group.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, @@ -28863,9 +29210,8 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -28875,7 +29221,10 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/instantSnapshotGroups/{instantSnapshotGroup}", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resumeInstances", + "request": { + "$ref": "RegionInstanceGroupManagersResumeInstancesRequest" + }, "response": { "$ref": "Operation" }, @@ -28884,21 +29233,21 @@ "https://www.googleapis.com/auth/compute" ] }, - "get": { - "description": "returns the specified InstantSnapshotGroup resource in the specified region.", - "flatPath": "projects/{project}/regions/{region}/instantSnapshotGroups/{instantSnapshotGroup}", - "httpMethod": "GET", - "id": "compute.regionInstantSnapshotGroups.get", + "setAutoHealingPolicies": { + "deprecated": true, + "description": "Modifies the autohealing policy for the instances in this managed instance group. [Deprecated] This method is deprecated. Use regionInstanceGroupManagers.patch instead.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setAutoHealingPolicies", + "httpMethod": "POST", + "id": "compute.regionInstanceGroupManagers.setAutoHealingPolicies", "parameterOrder": [ "project", "region", - "instantSnapshotGroup" + "instanceGroupManager" ], "parameters": { - "instantSnapshotGroup": { - "description": "Name of the InstantSnapshotGroup resource to return.", + "instanceGroupManager": { + "description": "Name of the managed instance group.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, @@ -28910,39 +29259,45 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/regions/{region}/instantSnapshotGroups/{instantSnapshotGroup}", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setAutoHealingPolicies", + "request": { + "$ref": "RegionInstanceGroupManagersSetAutoHealingRequest" + }, "response": { - "$ref": "InstantSnapshotGroup" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "getIamPolicy": { - "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", - "flatPath": "projects/{project}/regions/{region}/instantSnapshotGroups/{resource}/getIamPolicy", - "httpMethod": "GET", - "id": "compute.regionInstantSnapshotGroups.getIamPolicy", + "setInstanceTemplate": { + "description": "Sets the instance template to use when creating new instances or recreating instances in this group. Existing instances are not affected.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate", + "httpMethod": "POST", + "id": "compute.regionInstanceGroupManagers.setInstanceTemplate", "parameterOrder": [ "project", "region", - "resource" + "instanceGroupManager" ], "parameters": { - "optionsRequestedPolicyVersion": { - "description": "Requested IAM Policy version.", - "format": "int32", - "location": "query", - "type": "integer" + "instanceGroupManager": { + "description": "The name of the managed instance group.", + "location": "path", + "required": true, + "type": "string" }, "project": { "description": "Project ID for this request.", @@ -28952,40 +29307,46 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/instantSnapshotGroups/{resource}/getIamPolicy", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate", + "request": { + "$ref": "RegionInstanceGroupManagersSetTemplateRequest" + }, "response": { - "$ref": "Policy" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "insert": { - "description": "creates a Regional InstantSnapshotGroup resource", - "flatPath": "projects/{project}/regions/{region}/instantSnapshotGroups", + "setTargetPools": { + "description": "Modifies the target pools to which all new instances in this group are assigned. Existing instances in the group are not affected.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setTargetPools", "httpMethod": "POST", - "id": "compute.regionInstantSnapshotGroups.insert", + "id": "compute.regionInstanceGroupManagers.setTargetPools", "parameterOrder": [ "project", - "region" + "region", + "instanceGroupManager" ], "parameters": { + "instanceGroupManager": { + "description": "Name of the managed instance group.", + "location": "path", + "required": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -28994,9 +29355,8 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -29004,16 +29364,11 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" - }, - "sourceConsistencyGroup": { - "description": "begin_interface: MixerMutationRequestBuilder", - "location": "query", - "type": "string" } }, - "path": "projects/{project}/regions/{region}/instantSnapshotGroups", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setTargetPools", "request": { - "$ref": "InstantSnapshotGroup" + "$ref": "RegionInstanceGroupManagersSetTargetPoolsRequest" }, "response": { "$ref": "Operation" @@ -29023,38 +29378,70 @@ "https://www.googleapis.com/auth/compute" ] }, - "list": { - "description": "retrieves the list of InstantSnapshotGroup resources contained within the specified region.", - "flatPath": "projects/{project}/regions/{region}/instantSnapshotGroups", - "httpMethod": "GET", - "id": "compute.regionInstantSnapshotGroups.list", + "startInstances": { + "description": "Flags the specified instances in the managed instance group to be started. This method increases the targetSize and decreases the targetStoppedSize of the managed instance group by the number of instances that you start. The startInstances operation is marked DONE if the startInstances request is successful. The underlying actions take additional time. You must separately verify the status of the STARTING action with the listmanagedinstances method. In this request, you can only specify instances that are stopped. For example, if an instance was previously stopped using the stopInstances method, it can be started using the startInstances method. If a health check is attached to the managed instance group, the specified instances will be verified as healthy after they are started. You can specify a maximum of 1000 instances with this method per request.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/startInstances", + "httpMethod": "POST", + "id": "compute.regionInstanceGroupManagers.startInstances", "parameterOrder": [ "project", - "region" + "region", + "instanceGroupManager" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", + "instanceGroupManager": { + "description": "Name of the managed instance group.", + "location": "path", + "required": true, "type": "string" }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "required": true, "type": "string" }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/startInstances", + "request": { + "$ref": "RegionInstanceGroupManagersStartInstancesRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "stopInstances": { + "description": "Flags the specified instances in the managed instance group to be immediately stopped. You can only specify instances that are running in this request. This method reduces the targetSize and increases the targetStoppedSize of the managed instance group by the number of instances that you stop. The stopInstances operation is marked DONE if the stopInstances request is successful. The underlying actions take additional time. You must separately verify the status of the STOPPING action with the listmanagedinstances method. If the standbyPolicy.initialDelaySec field is set, the group delays stopping the instances until initialDelaySec have passed from instance.creationTimestamp (that is, when the instance was created). This delay gives your application time to set itself up and initialize on the instance. If more than initialDelaySec seconds have passed since instance.creationTimestamp when this method is called, there will be zero delay. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is stopped. Stopped instances can be started using the startInstances method. You can specify a maximum of 1000 instances with this method per request.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/stopInstances", + "httpMethod": "POST", + "id": "compute.regionInstanceGroupManagers.stopInstances", + "parameterOrder": [ + "project", + "region", + "instanceGroupManager" + ], + "parameters": { + "instanceGroupManager": { + "description": "The name of the managed instance group.", + "location": "path", + "required": true, + "type": "string" }, "project": { "description": "Project ID for this request.", @@ -29064,39 +29451,46 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", - "type": "boolean" + "type": "string" } }, - "path": "projects/{project}/regions/{region}/instantSnapshotGroups", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/stopInstances", + "request": { + "$ref": "RegionInstanceGroupManagersStopInstancesRequest" + }, "response": { - "$ref": "ListInstantSnapshotGroups" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", - "flatPath": "projects/{project}/regions/{region}/instantSnapshotGroups/{resource}/setIamPolicy", + "suspendInstances": { + "description": "Flags the specified instances in the managed instance group to be immediately suspended. You can only specify instances that are running in this request. This method reduces the targetSize and increases the targetSuspendedSize of the managed instance group by the number of instances that you suspend. The suspendInstances operation is marked DONE if the suspendInstances request is successful. The underlying actions take additional time. You must separately verify the status of the SUSPENDING action with the listmanagedinstances method. If the standbyPolicy.initialDelaySec field is set, the group delays suspension of the instances until initialDelaySec have passed from instance.creationTimestamp (that is, when the instance was created). This delay gives your application time to set itself up and initialize on the instance. If more than initialDelaySec seconds have passed since instance.creationTimestamp when this method is called, there will be zero delay. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is suspended. Suspended instances can be resumed using the resumeInstances method. You can specify a maximum of 1000 instances with this method per request.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/suspendInstances", "httpMethod": "POST", - "id": "compute.regionInstantSnapshotGroups.setIamPolicy", + "id": "compute.regionInstanceGroupManagers.suspendInstances", "parameterOrder": [ "project", "region", - "resource" + "instanceGroupManager" ], "parameters": { + "instanceGroupManager": { + "description": "Name of the managed instance group.", + "location": "path", + "required": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -29105,26 +29499,23 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/instantSnapshotGroups/{resource}/setIamPolicy", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/suspendInstances", "request": { - "$ref": "RegionSetPolicyRequest" + "$ref": "RegionInstanceGroupManagersSuspendInstancesRequest" }, "response": { - "$ref": "Policy" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -29133,9 +29524,9 @@ }, "testIamPermissions": { "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/instantSnapshotGroups/{resource}/testIamPermissions", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.regionInstantSnapshotGroups.testIamPermissions", + "id": "compute.regionInstanceGroupManagers.testIamPermissions", "parameterOrder": [ "project", "region", @@ -29164,7 +29555,7 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/instantSnapshotGroups/{resource}/testIamPermissions", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{resource}/testIamPermissions", "request": { "$ref": "TestPermissionsRequest" }, @@ -29176,26 +29567,21 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - } - } - }, - "regionInstantSnapshots": { - "methods": { - "delete": { - "description": "Deletes the specified InstantSnapshot resource. Keep in mind that deleting a single instantSnapshot might not necessarily delete all the data on that instantSnapshot. If any data on the instantSnapshot that is marked for deletion is needed for subsequent instantSnapshots, the data will be moved to the next corresponding instantSnapshot. For more information, see Deleting instantSnapshots.", - "flatPath": "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}", - "httpMethod": "DELETE", - "id": "compute.regionInstantSnapshots.delete", + }, + "update": { + "description": "Updates a managed instance group using the information that you specify in the request. This operation is marked as DONE when the group is updated even if the instances in the group have not yet been updated. You must separately verify the status of the individual instances with the listmanagedinstances method. If you update your group to specify a new template or instance configuration, it's possible that your intended specification for each VM in the group is different from the current state of that VM. To learn how to apply an updated configuration to the VMs in a MIG, see Updating instances in a MIG.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", + "httpMethod": "PUT", + "id": "compute.regionInstanceGroupManagers.update", "parameterOrder": [ "project", "region", - "instantSnapshot" + "instanceGroupManager" ], "parameters": { - "instantSnapshot": { - "description": "Name of the InstantSnapshot resource to delete.", + "instanceGroupManager": { + "description": "The name of the instance group manager.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, @@ -29207,9 +29593,8 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -29219,7 +29604,10 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}", + "request": { + "$ref": "InstanceGroupManager" + }, "response": { "$ref": "Operation" }, @@ -29228,21 +29616,20 @@ "https://www.googleapis.com/auth/compute" ] }, - "get": { - "description": "Returns the specified InstantSnapshot resource in the specified region.", - "flatPath": "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}", - "httpMethod": "GET", - "id": "compute.regionInstantSnapshots.get", + "updatePerInstanceConfigs": { + "description": "Inserts or updates per-instance configurations for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs", + "httpMethod": "POST", + "id": "compute.regionInstanceGroupManagers.updatePerInstanceConfigs", "parameterOrder": [ "project", "region", - "instantSnapshot" + "instanceGroupManager" ], "parameters": { - "instantSnapshot": { - "description": "Name of the InstantSnapshot resource to return.", + "instanceGroupManager": { + "description": "The name of the managed instance group. It should conform to RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, @@ -29254,82 +29641,50 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region scoping this request, should conform to RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}", + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs", + "request": { + "$ref": "RegionInstanceGroupManagerUpdateInstanceConfigReq" + }, "response": { - "$ref": "InstantSnapshot" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] - }, - "getIamPolicy": { - "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", - "flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/getIamPolicy", + } + } + }, + "regionInstanceGroups": { + "methods": { + "get": { + "description": "Returns the specified instance group resource.", + "flatPath": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}", "httpMethod": "GET", - "id": "compute.regionInstantSnapshots.getIamPolicy", + "id": "compute.regionInstanceGroups.get", "parameterOrder": [ "project", "region", - "resource" + "instanceGroup" ], "parameters": { - "optionsRequestedPolicyVersion": { - "description": "Requested IAM Policy version.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "The name of the region for this request.", + "instanceGroup": { + "description": "Name of the instance group resource to return.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/instantSnapshots/{resource}/getIamPolicy", - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "insert": { - "description": "Creates an instant snapshot in the specified region.", - "flatPath": "projects/{project}/regions/{region}/instantSnapshots", - "httpMethod": "POST", - "id": "compute.regionInstantSnapshots.insert", - "parameterOrder": [ - "project", - "region" - ], - "parameters": { "project": { "description": "Project ID for this request.", "location": "path", @@ -29338,35 +29693,27 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" } }, - "path": "projects/{project}/regions/{region}/instantSnapshots", - "request": { - "$ref": "InstantSnapshot" - }, + "path": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}", "response": { - "$ref": "Operation" + "$ref": "InstanceGroup" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, "list": { - "description": "Retrieves the list of InstantSnapshot resources contained within the specified region.", - "flatPath": "projects/{project}/regions/{region}/instantSnapshots", + "description": "Retrieves the list of instance group resources contained within the specified region.", + "flatPath": "projects/{project}/regions/{region}/instanceGroups", "httpMethod": "GET", - "id": "compute.regionInstantSnapshots.list", + "id": "compute.regionInstanceGroups.list", "parameterOrder": [ "project", "region" @@ -29403,9 +29750,8 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -29415,9 +29761,9 @@ "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/instantSnapshots", + "path": "projects/{project}/regions/{region}/instanceGroups", "response": { - "$ref": "InstantSnapshotList" + "$ref": "RegionInstanceGroupList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -29425,17 +29771,46 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", - "flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setIamPolicy", + "listInstances": { + "description": "Lists the instances in the specified instance group and displays information about the named ports. Depending on the specified options, this method can list all instances or only the instances that are running. The orderBy query parameter is not supported.", + "flatPath": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/listInstances", "httpMethod": "POST", - "id": "compute.regionInstantSnapshots.setIamPolicy", + "id": "compute.regionInstanceGroups.listInstances", "parameterOrder": [ "project", "region", - "resource" + "instanceGroup" ], "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "instanceGroup": { + "description": "Name of the regional instance group for which we want to list the instances.", + "location": "path", + "required": true, + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -29444,43 +29819,47 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setIamPolicy", + "path": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/listInstances", "request": { - "$ref": "RegionSetPolicyRequest" + "$ref": "RegionInstanceGroupsListInstancesRequest" }, "response": { - "$ref": "Policy" + "$ref": "RegionInstanceGroupsListInstances" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "setLabels": { - "description": "Sets the labels on a instantSnapshot in the given region. To learn more about labels, read the Labeling Resources documentation.", - "flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setLabels", + "setNamedPorts": { + "description": "Sets the named ports for the specified regional instance group.", + "flatPath": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/setNamedPorts", "httpMethod": "POST", - "id": "compute.regionInstantSnapshots.setLabels", + "id": "compute.regionInstanceGroups.setNamedPorts", "parameterOrder": [ "project", "region", - "resource" + "instanceGroup" ], "parameters": { + "instanceGroup": { + "description": "The name of the regional instance group where the named ports are updated.", + "location": "path", + "required": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -29489,9 +29868,8 @@ "type": "string" }, "region": { - "description": "The region for this request.", + "description": "Name of the region scoping this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -29499,18 +29877,11 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" - }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" } }, - "path": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setLabels", + "path": "projects/{project}/regions/{region}/instanceGroups/{instanceGroup}/setNamedPorts", "request": { - "$ref": "RegionSetLabelsRequest" + "$ref": "RegionInstanceGroupsSetNamedPortsRequest" }, "response": { "$ref": "Operation" @@ -29522,9 +29893,9 @@ }, "testIamPermissions": { "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/testIamPermissions", + "flatPath": "projects/{project}/regions/{region}/instanceGroups/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.regionInstantSnapshots.testIamPermissions", + "id": "compute.regionInstanceGroups.testIamPermissions", "parameterOrder": [ "project", "region", @@ -29553,7 +29924,7 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/instantSnapshots/{resource}/testIamPermissions", + "path": "projects/{project}/regions/{region}/instanceGroups/{resource}/testIamPermissions", "request": { "$ref": "TestPermissionsRequest" }, @@ -29568,70 +29939,23 @@ } } }, - "regionNetworkEndpointGroups": { + "regionInstanceTemplates": { "methods": { - "attachNetworkEndpoints": { - "description": "Attach a list of network endpoints to the specified network endpoint group.", - "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", - "httpMethod": "POST", - "id": "compute.regionNetworkEndpointGroups.attachNetworkEndpoints", - "parameterOrder": [ - "project", - "region", - "networkEndpointGroup" - ], - "parameters": { - "networkEndpointGroup": { - "description": "The name of the network endpoint group where you are attaching network endpoints to. It should comply with RFC1035.", - "location": "path", - "required": true, - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "The name of the region where you want to create the network endpoint group. It should comply with RFC1035.", - "location": "path", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", - "request": { - "$ref": "RegionNetworkEndpointGroupsAttachEndpointsRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, "delete": { - "description": "Deletes the specified network endpoint group. Note that the NEG cannot be deleted if it is configured as a backend of a backend service.", - "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", + "description": "Deletes the specified instance template. Deleting an instance template is permanent and cannot be undone.", + "flatPath": "projects/{project}/regions/{region}/instanceTemplates/{instanceTemplate}", "httpMethod": "DELETE", - "id": "compute.regionNetworkEndpointGroups.delete", + "id": "compute.regionInstanceTemplates.delete", "parameterOrder": [ "project", "region", - "networkEndpointGroup" + "instanceTemplate" ], "parameters": { - "networkEndpointGroup": { - "description": "The name of the network endpoint group to delete. It should comply with RFC1035.", + "instanceTemplate": { + "description": "The name of the instance template to delete.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, @@ -29643,8 +29967,9 @@ "type": "string" }, "region": { - "description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", + "description": "The name of the region for this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -29654,7 +29979,7 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", + "path": "projects/{project}/regions/{region}/instanceTemplates/{instanceTemplate}", "response": { "$ref": "Operation" }, @@ -29663,20 +29988,21 @@ "https://www.googleapis.com/auth/compute" ] }, - "detachNetworkEndpoints": { - "description": "Detach the network endpoint from the specified network endpoint group.", - "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", - "httpMethod": "POST", - "id": "compute.regionNetworkEndpointGroups.detachNetworkEndpoints", + "get": { + "description": "Returns the specified instance template.", + "flatPath": "projects/{project}/regions/{region}/instanceTemplates/{instanceTemplate}", + "httpMethod": "GET", + "id": "compute.regionInstanceTemplates.get", "parameterOrder": [ "project", "region", - "networkEndpointGroup" + "instanceTemplate" ], "parameters": { - "networkEndpointGroup": { - "description": "The name of the network endpoint group you are detaching network endpoints from. It should comply with RFC1035.", + "instanceTemplate": { + "description": "The name of the instance template.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, @@ -29688,63 +30014,31 @@ "type": "string" }, "region": { - "description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", + "description": "The name of the region for this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", + "view": { + "description": "View of the instance template.", + "enum": [ + "BASIC", + "FULL", + "INSTANCE_VIEW_UNSPECIFIED" + ], + "enumDescriptions": [ + "Include everything except Partner Metadata.", + "Include everything.", + "The default / unset value. The API will default to the BASIC view." + ], "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", - "request": { - "$ref": "RegionNetworkEndpointGroupsDetachEndpointsRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "get": { - "description": "Returns the specified network endpoint group.", - "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", - "httpMethod": "GET", - "id": "compute.regionNetworkEndpointGroups.get", - "parameterOrder": [ - "project", - "region", - "networkEndpointGroup" - ], - "parameters": { - "networkEndpointGroup": { - "description": "The name of the network endpoint group. It should comply with RFC1035.", - "location": "path", - "required": true, - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", + "path": "projects/{project}/regions/{region}/instanceTemplates/{instanceTemplate}", "response": { - "$ref": "NetworkEndpointGroup" + "$ref": "InstanceTemplate" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -29753,10 +30047,10 @@ ] }, "insert": { - "description": "Creates a network endpoint group in the specified project using the parameters that are included in the request.", - "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups", + "description": "Creates an instance template in the specified project and region using the global instance template whose URL is included in the request.", + "flatPath": "projects/{project}/regions/{region}/instanceTemplates", "httpMethod": "POST", - "id": "compute.regionNetworkEndpointGroups.insert", + "id": "compute.regionInstanceTemplates.insert", "parameterOrder": [ "project", "region" @@ -29770,8 +30064,9 @@ "type": "string" }, "region": { - "description": "The name of the region where you want to create the network endpoint group. It should comply with RFC1035.", + "description": "The name of the region for this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -29781,9 +30076,9 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/networkEndpointGroups", + "path": "projects/{project}/regions/{region}/instanceTemplates", "request": { - "$ref": "NetworkEndpointGroup" + "$ref": "InstanceTemplate" }, "response": { "$ref": "Operation" @@ -29794,10 +30089,10 @@ ] }, "list": { - "description": "Retrieves the list of regional network endpoint groups available to the specified project in the given region.", - "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups", + "description": "Retrieves a list of instance templates that are contained within the specified project and region.", + "flatPath": "projects/{project}/regions/{region}/instanceTemplates", "httpMethod": "GET", - "id": "compute.regionNetworkEndpointGroups.list", + "id": "compute.regionInstanceTemplates.list", "parameterOrder": [ "project", "region" @@ -29834,8 +30129,9 @@ "type": "string" }, "region": { - "description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", + "description": "The name of the regions for this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -29843,58 +30139,47 @@ "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" + }, + "view": { + "description": "View of the instance template.", + "enum": [ + "BASIC", + "FULL", + "INSTANCE_VIEW_UNSPECIFIED" + ], + "enumDescriptions": [ + "Include everything except Partner Metadata.", + "Include everything.", + "The default / unset value. The API will default to the BASIC view." + ], + "location": "query", + "type": "string" } }, - "path": "projects/{project}/regions/{region}/networkEndpointGroups", + "path": "projects/{project}/regions/{region}/instanceTemplates", "response": { - "$ref": "NetworkEndpointGroupList" + "$ref": "InstanceTemplateList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - }, - "listNetworkEndpoints": { - "description": "Lists the network endpoints in the specified network endpoint group.", - "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", + } + } + }, + "regionInstances": { + "methods": { + "bulkInsert": { + "description": "Creates multiple instances in a given region. Count specifies the number of instances to create.", + "flatPath": "projects/{project}/regions/{region}/instances/bulkInsert", "httpMethod": "POST", - "id": "compute.regionNetworkEndpointGroups.listNetworkEndpoints", + "id": "compute.regionInstances.bulkInsert", "parameterOrder": [ "project", - "region", - "networkEndpointGroup" + "region" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "networkEndpointGroup": { - "description": "The name of the network endpoint group from which you want to generate a list of included network endpoints. It should comply with RFC1035.", - "location": "path", - "required": true, - "type": "string" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -29903,50 +30188,47 @@ "type": "string" }, "region": { - "description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", + "description": "The name of the region for this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", - "type": "boolean" + "type": "string" } }, - "path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", + "path": "projects/{project}/regions/{region}/instances/bulkInsert", + "request": { + "$ref": "BulkInsertInstanceResource" + }, "response": { - "$ref": "NetworkEndpointGroupsListNetworkEndpoints" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] } } }, - "regionNetworkFirewallPolicies": { + "regionInstantSnapshotGroups": { "methods": { - "addAssociation": { - "description": "Inserts an association for the specified network firewall policy.", - "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/addAssociation", - "httpMethod": "POST", - "id": "compute.regionNetworkFirewallPolicies.addAssociation", + "delete": { + "description": "deletes a Regional InstantSnapshotGroup resource", + "flatPath": "projects/{project}/regions/{region}/instantSnapshotGroups/{instantSnapshotGroup}", + "httpMethod": "DELETE", + "id": "compute.regionInstantSnapshotGroups.delete", "parameterOrder": [ "project", "region", - "firewallPolicy" + "instantSnapshotGroup" ], "parameters": { - "associatedPolicyToBeReplaced": { - "description": "Name of the firewall policy associated with the target network to swap association with. This field is mutually exclusive with 'replace_existing_association'.", - "location": "query", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "type": "string" - }, - "firewallPolicy": { - "description": "Name of the firewall policy to update.", + "instantSnapshotGroup": { + "description": "Name of the InstantSnapshotGroup resource to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -29960,27 +30242,19 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "replaceExistingAssociation": { - "description": "Indicates whether or not to replace it if an association already exists. This is false by default, in which case an error will be returned if an association already exists.", - "location": "query", - "type": "boolean" - }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/addAssociation", - "request": { - "$ref": "FirewallPolicyAssociation" - }, + "path": "projects/{project}/regions/{region}/instantSnapshotGroups/{instantSnapshotGroup}", "response": { "$ref": "Operation" }, @@ -29989,32 +30263,62 @@ "https://www.googleapis.com/auth/compute" ] }, - "addRule": { - "description": "Inserts a rule into a network firewall policy.", - "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/addRule", - "httpMethod": "POST", - "id": "compute.regionNetworkFirewallPolicies.addRule", - "parameterOrder": [ + "get": { + "description": "returns the specified InstantSnapshotGroup resource in the specified region.", + "flatPath": "projects/{project}/regions/{region}/instantSnapshotGroups/{instantSnapshotGroup}", + "httpMethod": "GET", + "id": "compute.regionInstantSnapshotGroups.get", + "parameterOrder": [ "project", "region", - "firewallPolicy" + "instantSnapshotGroup" ], "parameters": { - "firewallPolicy": { - "description": "Name of the firewall policy to update.", + "instantSnapshotGroup": { + "description": "Name of the InstantSnapshotGroup resource to return.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "maxPriority": { - "description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", - "format": "int32", - "location": "query", - "type": "integer" + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" }, - "minPriority": { - "description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/instantSnapshotGroups/{instantSnapshotGroup}", + "response": { + "$ref": "InstantSnapshotGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "flatPath": "projects/{project}/regions/{region}/instantSnapshotGroups/{resource}/getIamPolicy", + "httpMethod": "GET", + "id": "compute.regionInstantSnapshotGroups.getIamPolicy", + "parameterOrder": [ + "project", + "region", + "resource" + ], + "parameters": { + "optionsRequestedPolicyVersion": { + "description": "Requested IAM Policy version.", "format": "int32", "location": "query", "type": "integer" @@ -30027,48 +30331,40 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/addRule", - "request": { - "$ref": "FirewallPolicyRule" - }, + "path": "projects/{project}/regions/{region}/instantSnapshotGroups/{resource}/getIamPolicy", "response": { - "$ref": "Operation" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "cloneRules": { - "description": "Copies rules to the specified network firewall policy.", - "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/cloneRules", + "insert": { + "description": "creates a Regional InstantSnapshotGroup resource", + "flatPath": "projects/{project}/regions/{region}/instantSnapshotGroups", "httpMethod": "POST", - "id": "compute.regionNetworkFirewallPolicies.cloneRules", + "id": "compute.regionInstantSnapshotGroups.insert", "parameterOrder": [ "project", - "region", - "firewallPolicy" + "region" ], "parameters": { - "firewallPolicy": { - "description": "Name of the firewall policy to update.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -30077,7 +30373,7 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -30088,13 +30384,16 @@ "location": "query", "type": "string" }, - "sourceFirewallPolicy": { - "description": "The firewall policy from which to copy rules.", + "sourceConsistencyGroup": { + "description": "begin_interface: MixerMutationRequestBuilder", "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/cloneRules", + "path": "projects/{project}/regions/{region}/instantSnapshotGroups", + "request": { + "$ref": "InstantSnapshotGroup" + }, "response": { "$ref": "Operation" }, @@ -30103,22 +30402,37 @@ "https://www.googleapis.com/auth/compute" ] }, - "delete": { - "description": "Deletes the specified network firewall policy.", - "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", - "httpMethod": "DELETE", - "id": "compute.regionNetworkFirewallPolicies.delete", + "list": { + "description": "retrieves the list of InstantSnapshotGroup resources contained within the specified region.", + "flatPath": "projects/{project}/regions/{region}/instantSnapshotGroups", + "httpMethod": "GET", + "id": "compute.regionInstantSnapshotGroups.list", "parameterOrder": [ "project", - "region", - "firewallPolicy" + "region" ], "parameters": { - "firewallPolicy": { - "description": "Name of the firewall policy to delete.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", "type": "string" }, "project": { @@ -30129,45 +30443,39 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", - "type": "string" + "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", + "path": "projects/{project}/regions/{region}/instantSnapshotGroups", "response": { - "$ref": "Operation" + "$ref": "ListInstantSnapshotGroups" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "get": { - "description": "Returns the specified network firewall policy.", - "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", - "httpMethod": "GET", - "id": "compute.regionNetworkFirewallPolicies.get", + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "projects/{project}/regions/{region}/instantSnapshotGroups/{resource}/setIamPolicy", + "httpMethod": "POST", + "id": "compute.regionInstantSnapshotGroups.setIamPolicy", "parameterOrder": [ "project", "region", - "firewallPolicy" + "resource" ], "parameters": { - "firewallPolicy": { - "description": "Name of the firewall policy to get.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -30176,46 +30484,43 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" } }, - "path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", + "path": "projects/{project}/regions/{region}/instantSnapshotGroups/{resource}/setIamPolicy", + "request": { + "$ref": "RegionSetPolicyRequest" + }, "response": { - "$ref": "FirewallPolicy" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "getAssociation": { - "description": "Gets an association with the specified name.", - "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getAssociation", - "httpMethod": "GET", - "id": "compute.regionNetworkFirewallPolicies.getAssociation", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/regions/{region}/instantSnapshotGroups/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.regionInstantSnapshotGroups.testIamPermissions", "parameterOrder": [ "project", "region", - "firewallPolicy" + "resource" ], "parameters": { - "firewallPolicy": { - "description": "Name of the firewall policy to which the queried association belongs.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, - "name": { - "description": "The name of the association to get from the firewall policy.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -30224,37 +30529,52 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" } }, - "path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getAssociation", + "path": "projects/{project}/regions/{region}/instantSnapshotGroups/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, "response": { - "$ref": "FirewallPolicyAssociation" + "$ref": "TestPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - }, - "getEffectiveFirewalls": { - "description": "Returns the effective firewalls on a given network.", - "flatPath": "projects/{project}/regions/{region}/firewallPolicies/getEffectiveFirewalls", - "httpMethod": "GET", - "id": "compute.regionNetworkFirewallPolicies.getEffectiveFirewalls", + } + } + }, + "regionInstantSnapshots": { + "methods": { + "delete": { + "description": "Deletes the specified InstantSnapshot resource. Keep in mind that deleting a single instantSnapshot might not necessarily delete all the data on that instantSnapshot. If any data on the instantSnapshot that is marked for deletion is needed for subsequent instantSnapshots, the data will be moved to the next corresponding instantSnapshot. For more information, see Deleting instantSnapshots.", + "flatPath": "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}", + "httpMethod": "DELETE", + "id": "compute.regionInstantSnapshots.delete", "parameterOrder": [ "project", "region", - "network" + "instantSnapshot" ], "parameters": { - "network": { - "description": "Network reference", - "location": "query", + "instantSnapshot": { + "description": "Name of the InstantSnapshot resource to delete.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, @@ -30266,39 +30586,44 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/regions/{region}/firewallPolicies/getEffectiveFirewalls", + "path": "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}", "response": { - "$ref": "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "getIamPolicy": { - "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", - "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{resource}/getIamPolicy", + "get": { + "description": "Returns the specified InstantSnapshot resource in the specified region.", + "flatPath": "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}", "httpMethod": "GET", - "id": "compute.regionNetworkFirewallPolicies.getIamPolicy", + "id": "compute.regionInstantSnapshots.get", "parameterOrder": [ "project", "region", - "resource" + "instantSnapshot" ], "parameters": { - "optionsRequestedPolicyVersion": { - "description": "Requested IAM Policy version.", - "format": "int32", - "location": "query", - "type": "integer" + "instantSnapshot": { + "description": "Name of the InstantSnapshot resource to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" }, "project": { "description": "Project ID for this request.", @@ -30313,18 +30638,11 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" - }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" } }, - "path": "projects/{project}/regions/{region}/firewallPolicies/{resource}/getIamPolicy", + "path": "projects/{project}/regions/{region}/instantSnapshots/{instantSnapshot}", "response": { - "$ref": "Policy" + "$ref": "InstantSnapshot" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -30332,26 +30650,19 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "getRule": { - "description": "Gets a rule of the specified priority.", - "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getRule", + "getIamPolicy": { + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/getIamPolicy", "httpMethod": "GET", - "id": "compute.regionNetworkFirewallPolicies.getRule", + "id": "compute.regionInstantSnapshots.getIamPolicy", "parameterOrder": [ "project", "region", - "firewallPolicy" + "resource" ], "parameters": { - "firewallPolicy": { - "description": "Name of the firewall policy to which the queried rule belongs.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, - "priority": { - "description": "The priority of the rule to get from the firewall policy.", + "optionsRequestedPolicyVersion": { + "description": "Requested IAM Policy version.", "format": "int32", "location": "query", "type": "integer" @@ -30364,16 +30675,23 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" } }, - "path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getRule", + "path": "projects/{project}/regions/{region}/instantSnapshots/{resource}/getIamPolicy", "response": { - "$ref": "FirewallPolicyRule" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -30382,10 +30700,10 @@ ] }, "insert": { - "description": "Creates a new network firewall policy in the specified project and region.", - "flatPath": "projects/{project}/regions/{region}/firewallPolicies", + "description": "Creates an instant snapshot in the specified region.", + "flatPath": "projects/{project}/regions/{region}/instantSnapshots", "httpMethod": "POST", - "id": "compute.regionNetworkFirewallPolicies.insert", + "id": "compute.regionInstantSnapshots.insert", "parameterOrder": [ "project", "region" @@ -30399,7 +30717,7 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -30411,9 +30729,9 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/firewallPolicies", + "path": "projects/{project}/regions/{region}/instantSnapshots", "request": { - "$ref": "FirewallPolicy" + "$ref": "InstantSnapshot" }, "response": { "$ref": "Operation" @@ -30424,10 +30742,10 @@ ] }, "list": { - "description": "Lists all the network firewall policies that have been configured for the specified project in the given region.", - "flatPath": "projects/{project}/regions/{region}/firewallPolicies", + "description": "Retrieves the list of InstantSnapshot resources contained within the specified region.", + "flatPath": "projects/{project}/regions/{region}/instantSnapshots", "httpMethod": "GET", - "id": "compute.regionNetworkFirewallPolicies.list", + "id": "compute.regionInstantSnapshots.list", "parameterOrder": [ "project", "region" @@ -30464,7 +30782,7 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -30476,9 +30794,9 @@ "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/firewallPolicies", + "path": "projects/{project}/regions/{region}/instantSnapshots", "response": { - "$ref": "FirewallPolicyList" + "$ref": "InstantSnapshotList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -30486,24 +30804,17 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "patch": { - "description": "Patches the specified network firewall policy.", - "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", - "httpMethod": "PATCH", - "id": "compute.regionNetworkFirewallPolicies.patch", + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setIamPolicy", + "httpMethod": "POST", + "id": "compute.regionInstantSnapshots.setIamPolicy", "parameterOrder": [ "project", "region", - "firewallPolicy" + "resource" ], "parameters": { - "firewallPolicy": { - "description": "Name of the firewall policy to update.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -30512,48 +30823,43 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", + "path": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setIamPolicy", "request": { - "$ref": "FirewallPolicy" + "$ref": "RegionSetPolicyRequest" }, "response": { - "$ref": "Operation" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] }, - "patchAssociation": { - "description": "Updates an association for the specified network firewall policy.", - "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/patchAssociation", + "setLabels": { + "description": "Sets the labels on a instantSnapshot in the given region. To learn more about labels, read the Labeling Resources documentation.", + "flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setLabels", "httpMethod": "POST", - "id": "compute.regionNetworkFirewallPolicies.patchAssociation", + "id": "compute.regionInstantSnapshots.setLabels", "parameterOrder": [ "project", "region", - "firewallPolicy" + "resource" ], "parameters": { - "firewallPolicy": { - "description": "Name of the firewall policy to update.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -30562,7 +30868,7 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -30572,11 +30878,18 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" } }, - "path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/patchAssociation", + "path": "projects/{project}/regions/{region}/instantSnapshots/{resource}/setLabels", "request": { - "$ref": "FirewallPolicyAssociation" + "$ref": "RegionSetLabelsRequest" }, "response": { "$ref": "Operation" @@ -30586,30 +30899,17 @@ "https://www.googleapis.com/auth/compute" ] }, - "patchRule": { - "description": "Patches a rule of the specified priority.", - "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/patchRule", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/regions/{region}/instantSnapshots/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.regionNetworkFirewallPolicies.patchRule", + "id": "compute.regionInstantSnapshots.testIamPermissions", "parameterOrder": [ "project", "region", - "firewallPolicy" + "resource" ], "parameters": { - "firewallPolicy": { - "description": "Name of the firewall policy to update.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, - "priority": { - "description": "The priority of the rule to patch.", - "format": "int32", - "location": "query", - "type": "integer" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -30618,53 +30918,54 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/patchRule", + "path": "projects/{project}/regions/{region}/instantSnapshots/{resource}/testIamPermissions", "request": { - "$ref": "FirewallPolicyRule" + "$ref": "TestPermissionsRequest" }, "response": { - "$ref": "Operation" + "$ref": "TestPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] - }, - "removeAssociation": { - "description": "Removes an association for the specified network firewall policy.", - "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeAssociation", - "httpMethod": "POST", - "id": "compute.regionNetworkFirewallPolicies.removeAssociation", + } + } + }, + "regionMultiMigs": { + "methods": { + "delete": { + "description": "Deletes a multi-MIG in the specified project.", + "flatPath": "projects/{project}/regions/{region}/multiMigs/{multiMig}", + "httpMethod": "DELETE", + "id": "compute.regionMultiMigs.delete", "parameterOrder": [ "project", "region", - "firewallPolicy" + "multiMig" ], "parameters": { - "firewallPolicy": { - "description": "Name of the firewall policy to update.", + "multiMig": { + "description": "Name of the multi-MIG to delete.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "name": { - "description": "Name for the association that will be removed.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -30673,7 +30974,7 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -30685,7 +30986,7 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeAssociation", + "path": "projects/{project}/regions/{region}/multiMigs/{multiMig}", "response": { "$ref": "Operation" }, @@ -30694,30 +30995,24 @@ "https://www.googleapis.com/auth/compute" ] }, - "removeRule": { - "description": "Deletes a rule of the specified priority.", - "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeRule", - "httpMethod": "POST", - "id": "compute.regionNetworkFirewallPolicies.removeRule", + "get": { + "description": "Returns all the details of a specific multi-MIG.", + "flatPath": "projects/{project}/regions/{region}/multiMigs/{multiMig}", + "httpMethod": "GET", + "id": "compute.regionMultiMigs.get", "parameterOrder": [ "project", "region", - "firewallPolicy" + "multiMig" ], "parameters": { - "firewallPolicy": { - "description": "Name of the firewall policy to update.", + "multiMig": { + "description": "Name of the multi-MIG resource to return.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "priority": { - "description": "The priority of the rule to remove from the firewall policy.", - "format": "int32", - "location": "query", - "type": "integer" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -30726,36 +31021,31 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" } }, - "path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeRule", + "path": "projects/{project}/regions/{region}/multiMigs/{multiMig}", "response": { - "$ref": "Operation" + "$ref": "MultiMig" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", - "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{resource}/setIamPolicy", + "insert": { + "description": "Creates a multi-MIG in the specified project.", + "flatPath": "projects/{project}/regions/{region}/multiMigs", "httpMethod": "POST", - "id": "compute.regionNetworkFirewallPolicies.setIamPolicy", + "id": "compute.regionMultiMigs.insert", "parameterOrder": [ "project", - "region", - "resource" + "region" ], "parameters": { "project": { @@ -30766,89 +31056,38 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents you from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/firewallPolicies/{resource}/setIamPolicy", + "path": "projects/{project}/regions/{region}/multiMigs", "request": { - "$ref": "RegionSetPolicyRequest" + "$ref": "MultiMig" }, "response": { - "$ref": "Policy" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{resource}/testIamPermissions", - "httpMethod": "POST", - "id": "compute.regionNetworkFirewallPolicies.testIamPermissions", - "parameterOrder": [ - "project", - "region", - "resource" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "The name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/firewallPolicies/{resource}/testIamPermissions", - "request": { - "$ref": "TestPermissionsRequest" - }, - "response": { - "$ref": "TestPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - } - } - }, - "regionNotificationEndpoints": { - "methods": { - "aggregatedList": { - "description": "Retrieves the list of all NotificationEndpoint resources, regional and global, available to the specified project.", - "flatPath": "projects/{project}/aggregated/notificationEndpoints", + "list": { + "description": "Retrieves a list of multi-MIGs in a project and region.", + "flatPath": "projects/{project}/regions/{region}/multiMigs", "httpMethod": "GET", - "id": "compute.regionNotificationEndpoints.aggregatedList", + "id": "compute.regionMultiMigs.list", "parameterOrder": [ - "project" + "project", + "region" ], "parameters": { "filter": { @@ -30856,11 +31095,6 @@ "location": "query", "type": "string" }, - "includeAllScopes": { - "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", - "location": "query", - "type": "boolean" - }, "maxResults": { "default": "500", "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", @@ -30880,49 +31114,53 @@ "type": "string" }, "project": { - "description": "Name of the project scoping this request.", + "description": "Project ID for this request.", "location": "path", "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, "returnPartialSuccess": { "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" - }, - "serviceProjectNumber": { - "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", - "format": "int64", - "location": "query", - "type": "string" } }, - "path": "projects/{project}/aggregated/notificationEndpoints", + "path": "projects/{project}/regions/{region}/multiMigs", "response": { - "$ref": "NotificationEndpointAggregatedList" + "$ref": "MultiMigsList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - }, - "delete": { - "description": "Deletes the specified NotificationEndpoint in the given region", - "flatPath": "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}", - "httpMethod": "DELETE", - "id": "compute.regionNotificationEndpoints.delete", + } + } + }, + "regionNetworkEndpointGroups": { + "methods": { + "attachNetworkEndpoints": { + "description": "Attach a list of network endpoints to the specified network endpoint group.", + "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", + "httpMethod": "POST", + "id": "compute.regionNetworkEndpointGroups.attachNetworkEndpoints", "parameterOrder": [ "project", "region", - "notificationEndpoint" + "networkEndpointGroup" ], "parameters": { - "notificationEndpoint": { - "description": "Name of the NotificationEndpoint resource to delete.", + "networkEndpointGroup": { + "description": "The name of the network endpoint group where you are attaching network endpoints to. It should comply with RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, @@ -30934,9 +31172,8 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The name of the region where you want to create the network endpoint group. It should comply with RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -30946,7 +31183,10 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}", + "path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/attachNetworkEndpoints", + "request": { + "$ref": "RegionNetworkEndpointGroupsAttachEndpointsRequest" + }, "response": { "$ref": "Operation" }, @@ -30955,21 +31195,20 @@ "https://www.googleapis.com/auth/compute" ] }, - "get": { - "description": "Returns the specified NotificationEndpoint resource in the given region.", - "flatPath": "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}", - "httpMethod": "GET", - "id": "compute.regionNotificationEndpoints.get", + "delete": { + "description": "Deletes the specified network endpoint group. Note that the NEG cannot be deleted if it is configured as a backend of a backend service.", + "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", + "httpMethod": "DELETE", + "id": "compute.regionNetworkEndpointGroups.delete", "parameterOrder": [ "project", "region", - "notificationEndpoint" + "networkEndpointGroup" ], "parameters": { - "notificationEndpoint": { - "description": "Name of the NotificationEndpoint resource to return.", + "networkEndpointGroup": { + "description": "The name of the network endpoint group to delete. It should comply with RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, @@ -30981,33 +31220,43 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}", + "path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", "response": { - "$ref": "NotificationEndpoint" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "insert": { - "description": "Create a NotificationEndpoint in the specified project in the given region using the parameters that are included in the request.", - "flatPath": "projects/{project}/regions/{region}/notificationEndpoints", + "detachNetworkEndpoints": { + "description": "Detach the network endpoint from the specified network endpoint group.", + "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", "httpMethod": "POST", - "id": "compute.regionNotificationEndpoints.insert", + "id": "compute.regionNetworkEndpointGroups.detachNetworkEndpoints", "parameterOrder": [ "project", - "region" + "region", + "networkEndpointGroup" ], "parameters": { + "networkEndpointGroup": { + "description": "The name of the network endpoint group you are detaching network endpoints from. It should comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -31016,21 +31265,20 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/notificationEndpoints", + "path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/detachNetworkEndpoints", "request": { - "$ref": "NotificationEndpoint" + "$ref": "RegionNetworkEndpointGroupsDetachEndpointsRequest" }, "response": { "$ref": "Operation" @@ -31040,37 +31288,21 @@ "https://www.googleapis.com/auth/compute" ] }, - "list": { - "description": "Lists the NotificationEndpoints for a project in the given region.", - "flatPath": "projects/{project}/regions/{region}/notificationEndpoints", + "get": { + "description": "Returns the specified network endpoint group.", + "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", "httpMethod": "GET", - "id": "compute.regionNotificationEndpoints.list", + "id": "compute.regionNetworkEndpointGroups.get", "parameterOrder": [ "project", - "region" + "region", + "networkEndpointGroup" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", + "networkEndpointGroup": { + "description": "The name of the network endpoint group. It should comply with RFC1035.", + "location": "path", + "required": true, "type": "string" }, "project": { @@ -31081,21 +31313,15 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" - }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/notificationEndpoints", + "path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}", "response": { - "$ref": "NotificationEndpointList" + "$ref": "NetworkEndpointGroup" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -31103,15 +31329,14 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/notificationEndpoints/{resource}/testIamPermissions", + "insert": { + "description": "Creates a network endpoint group in the specified project using the parameters that are included in the request.", + "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups", "httpMethod": "POST", - "id": "compute.regionNotificationEndpoints.testIamPermissions", + "id": "compute.regionNetworkEndpointGroups.insert", "parameterOrder": [ "project", - "region", - "resource" + "region" ], "parameters": { "project": { @@ -31122,92 +31347,60 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "The name of the region where you want to create the network endpoint group. It should comply with RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/notificationEndpoints/{resource}/testIamPermissions", + "path": "projects/{project}/regions/{region}/networkEndpointGroups", "request": { - "$ref": "TestPermissionsRequest" + "$ref": "NetworkEndpointGroup" }, "response": { - "$ref": "TestPermissionsResponse" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] - } - } - }, - "regionOperations": { - "methods": { - "delete": { - "description": "Deletes the specified region-specific Operations resource.", - "flatPath": "projects/{project}/regions/{region}/operations/{operation}", - "httpMethod": "DELETE", - "id": "compute.regionOperations.delete", + }, + "list": { + "description": "Retrieves the list of regional network endpoint groups available to the specified project in the given region.", + "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups", + "httpMethod": "GET", + "id": "compute.regionNetworkEndpointGroups.list", "parameterOrder": [ "project", - "region", - "operation" + "region" ], "parameters": { - "operation": { - "description": "Name of the Operations resource to delete, or its unique numeric identifier.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", "type": "string" }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" }, - "region": { - "description": "Name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/operations/{operation}", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "get": { - "description": "Retrieves the specified region-specific Operations resource.", - "flatPath": "projects/{project}/regions/{region}/operations/{operation}", - "httpMethod": "GET", - "id": "compute.regionOperations.get", - "parameterOrder": [ - "project", - "region", - "operation" - ], - "parameters": { - "operation": { - "description": "Name of the Operations resource to return, or its unique numeric identifier.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", "type": "string" }, "project": { @@ -31218,16 +31411,20 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/operations/{operation}", + "path": "projects/{project}/regions/{region}/networkEndpointGroups", "response": { - "$ref": "Operation" + "$ref": "NetworkEndpointGroupList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -31235,14 +31432,15 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "list": { - "description": "Retrieves a list of Operation resources contained within the specified region.", - "flatPath": "projects/{project}/regions/{region}/operations", - "httpMethod": "GET", - "id": "compute.regionOperations.list", + "listNetworkEndpoints": { + "description": "Lists the network endpoints in the specified network endpoint group.", + "flatPath": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", + "httpMethod": "POST", + "id": "compute.regionNetworkEndpointGroups.listNetworkEndpoints", "parameterOrder": [ "project", - "region" + "region", + "networkEndpointGroup" ], "parameters": { "filter": { @@ -31258,6 +31456,12 @@ "minimum": "0", "type": "integer" }, + "networkEndpointGroup": { + "description": "The name of the network endpoint group from which you want to generate a list of included network endpoints. It should comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" + }, "orderBy": { "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", "location": "query", @@ -31276,9 +31480,8 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "The name of the region where the network endpoint group is located. It should comply with RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -31288,29 +31491,39 @@ "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/operations", + "path": "projects/{project}/regions/{region}/networkEndpointGroups/{networkEndpointGroup}/listNetworkEndpoints", "response": { - "$ref": "OperationList" + "$ref": "NetworkEndpointGroupsListNetworkEndpoints" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - }, - "wait": { - "description": "Waits for the specified Operation resource to return as `DONE` or for the request to approach the 2 minute deadline, and retrieves the specified Operation resource. This method differs from the `GET` method in that it waits for no more than the default deadline (2 minutes) and then returns the current state of the operation, which might be `DONE` or still in progress. This method is called on a best-effort basis. Specifically: - In uncommon cases, when the server is overloaded, the request might return before the default deadline is reached, or might return after zero seconds. - If the default deadline is reached, there is no guarantee that the operation is actually done when the method returns. Be prepared to retry if the operation is not `DONE`. ", - "flatPath": "projects/{project}/regions/{region}/operations/{operation}/wait", + } + } + }, + "regionNetworkFirewallPolicies": { + "methods": { + "addAssociation": { + "description": "Inserts an association for the specified network firewall policy.", + "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/addAssociation", "httpMethod": "POST", - "id": "compute.regionOperations.wait", + "id": "compute.regionNetworkFirewallPolicies.addAssociation", "parameterOrder": [ "project", "region", - "operation" + "firewallPolicy" ], "parameters": { - "operation": { - "description": "Name of the Operations resource to return, or its unique numeric identifier.", + "associatedPolicyToBeReplaced": { + "description": "Name of the firewall policy associated with the target network to swap association with. This field is mutually exclusive with 'replace_existing_association'.", + "location": "query", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "type": "string" + }, + "firewallPolicy": { + "description": "Name of the firewall policy to update.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -31324,38 +31537,65 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" + }, + "replaceExistingAssociation": { + "description": "Indicates whether or not to replace it if an association already exists. This is false by default, in which case an error will be returned if an association already exists.", + "location": "query", + "type": "boolean" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/regions/{region}/operations/{operation}/wait", + "path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/addAssociation", + "request": { + "$ref": "FirewallPolicyAssociation" + }, "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] - } - } - }, - "regionSecurityPolicies": { - "methods": { + }, "addRule": { - "description": "Inserts a rule into a security policy.", - "flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/addRule", + "description": "Inserts a rule into a network firewall policy.", + "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/addRule", "httpMethod": "POST", - "id": "compute.regionSecurityPolicies.addRule", + "id": "compute.regionNetworkFirewallPolicies.addRule", "parameterOrder": [ "project", "region", - "securityPolicy" + "firewallPolicy" ], "parameters": { + "firewallPolicy": { + "description": "Name of the firewall policy to update.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "maxPriority": { + "description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "minPriority": { + "description": "When rule.priority is not specified, auto choose a unused priority between minPriority and maxPriority>. This field is exclusive with rule.priority.", + "format": "int32", + "location": "query", + "type": "integer" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -31370,22 +31610,15 @@ "required": true, "type": "string" }, - "securityPolicy": { - "description": "Name of the security policy to update.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, - "validateOnly": { - "description": "If true, the request will not be committed.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", - "type": "boolean" + "type": "string" } }, - "path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/addRule", + "path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/addRule", "request": { - "$ref": "SecurityPolicyRule" + "$ref": "FirewallPolicyRule" }, "response": { "$ref": "Operation" @@ -31395,17 +31628,24 @@ "https://www.googleapis.com/auth/compute" ] }, - "delete": { - "description": "Deletes the specified policy.", - "flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", - "httpMethod": "DELETE", - "id": "compute.regionSecurityPolicies.delete", + "cloneRules": { + "description": "Copies rules to the specified network firewall policy.", + "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/cloneRules", + "httpMethod": "POST", + "id": "compute.regionNetworkFirewallPolicies.cloneRules", "parameterOrder": [ "project", "region", - "securityPolicy" + "firewallPolicy" ], "parameters": { + "firewallPolicy": { + "description": "Name of the firewall policy to update.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -31425,15 +31665,60 @@ "location": "query", "type": "string" }, - "securityPolicy": { - "description": "Name of the security policy to delete.", + "sourceFirewallPolicy": { + "description": "The firewall policy from which to copy rules.", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/cloneRules", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "delete": { + "description": "Deletes the specified network firewall policy.", + "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", + "httpMethod": "DELETE", + "id": "compute.regionNetworkFirewallPolicies.delete", + "parameterOrder": [ + "project", + "region", + "firewallPolicy" + ], + "parameters": { + "firewallPolicy": { + "description": "Name of the firewall policy to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", + "path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", "response": { "$ref": "Operation" }, @@ -31443,16 +31728,23 @@ ] }, "get": { - "description": "List all of the ordered rules present in a single specified policy.", - "flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", + "description": "Returns the specified network firewall policy.", + "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", "httpMethod": "GET", - "id": "compute.regionSecurityPolicies.get", + "id": "compute.regionNetworkFirewallPolicies.get", "parameterOrder": [ "project", "region", - "securityPolicy" + "firewallPolicy" ], "parameters": { + "firewallPolicy": { + "description": "Name of the firewall policy to get.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -31466,18 +31758,59 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" - }, - "securityPolicy": { - "description": "Name of the security policy to get.", + } + }, + "path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", + "response": { + "$ref": "FirewallPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "getAssociation": { + "description": "Gets an association with the specified name.", + "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getAssociation", + "httpMethod": "GET", + "id": "compute.regionNetworkFirewallPolicies.getAssociation", + "parameterOrder": [ + "project", + "region", + "firewallPolicy" + ], + "parameters": { + "firewallPolicy": { + "description": "Name of the firewall policy to which the queried association belongs.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" + }, + "name": { + "description": "The name of the association to get from the firewall policy.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" } }, - "path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", + "path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getAssociation", "response": { - "$ref": "SecurityPolicy" + "$ref": "FirewallPolicyAssociation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -31485,19 +31818,61 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "getRule": { - "description": "Gets a rule at the specified priority.", - "flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/getRule", + "getEffectiveFirewalls": { + "description": "Returns the effective firewalls on a given network.", + "flatPath": "projects/{project}/regions/{region}/firewallPolicies/getEffectiveFirewalls", "httpMethod": "GET", - "id": "compute.regionSecurityPolicies.getRule", + "id": "compute.regionNetworkFirewallPolicies.getEffectiveFirewalls", "parameterOrder": [ "project", "region", - "securityPolicy" + "network" ], "parameters": { - "priority": { - "description": "The priority of the rule to get from the security policy.", + "network": { + "description": "Network reference", + "location": "query", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/firewallPolicies/getEffectiveFirewalls", + "response": { + "$ref": "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{resource}/getIamPolicy", + "httpMethod": "GET", + "id": "compute.regionNetworkFirewallPolicies.getIamPolicy", + "parameterOrder": [ + "project", + "region", + "resource" + ], + "parameters": { + "optionsRequestedPolicyVersion": { + "description": "Requested IAM Policy version.", "format": "int32", "location": "query", "type": "integer" @@ -31510,23 +31885,72 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "securityPolicy": { - "description": "Name of the security policy to which the queried rule belongs.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/getRule", + "path": "projects/{project}/regions/{region}/firewallPolicies/{resource}/getIamPolicy", "response": { - "$ref": "SecurityPolicyRule" + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "getRule": { + "description": "Gets a rule of the specified priority.", + "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getRule", + "httpMethod": "GET", + "id": "compute.regionNetworkFirewallPolicies.getRule", + "parameterOrder": [ + "project", + "region", + "firewallPolicy" + ], + "parameters": { + "firewallPolicy": { + "description": "Name of the firewall policy to which the queried rule belongs.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "priority": { + "description": "The priority of the rule to get from the firewall policy.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/getRule", + "response": { + "$ref": "FirewallPolicyRule" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -31535,10 +31959,10 @@ ] }, "insert": { - "description": "Creates a new policy in the specified project using the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/securityPolicies", + "description": "Creates a new network firewall policy in the specified project and region.", + "flatPath": "projects/{project}/regions/{region}/firewallPolicies", "httpMethod": "POST", - "id": "compute.regionSecurityPolicies.insert", + "id": "compute.regionNetworkFirewallPolicies.insert", "parameterOrder": [ "project", "region" @@ -31562,16 +31986,11 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" - }, - "validateOnly": { - "description": "If true, the request will not be committed.", - "location": "query", - "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/securityPolicies", + "path": "projects/{project}/regions/{region}/firewallPolicies", "request": { - "$ref": "SecurityPolicy" + "$ref": "FirewallPolicy" }, "response": { "$ref": "Operation" @@ -31582,10 +32001,10 @@ ] }, "list": { - "description": "List all the policies that have been configured for the specified project and region.", - "flatPath": "projects/{project}/regions/{region}/securityPolicies", + "description": "Lists all the network firewall policies that have been configured for the specified project in the given region.", + "flatPath": "projects/{project}/regions/{region}/firewallPolicies", "httpMethod": "GET", - "id": "compute.regionSecurityPolicies.list", + "id": "compute.regionNetworkFirewallPolicies.list", "parameterOrder": [ "project", "region" @@ -31634,9 +32053,9 @@ "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/securityPolicies", + "path": "projects/{project}/regions/{region}/firewallPolicies", "response": { - "$ref": "SecurityPolicyList" + "$ref": "FirewallPolicyList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -31645,19 +32064,21 @@ ] }, "patch": { - "description": "Patches the specified policy with the data included in the request. To clear fields in the policy, leave the fields empty and specify them in the updateMask. This cannot be used to be update the rules in the policy. Please use the per rule methods like addRule, patchRule, and removeRule instead.", - "flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", + "description": "Patches the specified network firewall policy.", + "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", "httpMethod": "PATCH", - "id": "compute.regionSecurityPolicies.patch", + "id": "compute.regionNetworkFirewallPolicies.patch", "parameterOrder": [ "project", "region", - "securityPolicy" + "firewallPolicy" ], "parameters": { - "paths": { - "location": "query", - "repeated": true, + "firewallPolicy": { + "description": "Name of the firewall policy to update.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, "type": "string" }, "project": { @@ -31678,24 +32099,11 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" - }, - "securityPolicy": { - "description": "Name of the security policy to update.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Indicates fields to be cleared as part of this request.", - "format": "google-fieldmask", - "location": "query", - "type": "string" } }, - "path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", + "path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}", "request": { - "$ref": "SecurityPolicy" + "$ref": "FirewallPolicy" }, "response": { "$ref": "Operation" @@ -31705,22 +32113,23 @@ "https://www.googleapis.com/auth/compute" ] }, - "patchRule": { - "description": "Patches a rule at the specified priority. To clear fields in the rule, leave the fields empty and specify them in the updateMask.", - "flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/patchRule", + "patchAssociation": { + "description": "Updates an association for the specified network firewall policy.", + "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/patchAssociation", "httpMethod": "POST", - "id": "compute.regionSecurityPolicies.patchRule", + "id": "compute.regionNetworkFirewallPolicies.patchAssociation", "parameterOrder": [ "project", "region", - "securityPolicy" + "firewallPolicy" ], "parameters": { - "priority": { - "description": "The priority of the rule to patch.", - "format": "int32", - "location": "query", - "type": "integer" + "firewallPolicy": { + "description": "Name of the firewall policy to update.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" }, "project": { "description": "Project ID for this request.", @@ -31736,28 +32145,15 @@ "required": true, "type": "string" }, - "securityPolicy": { - "description": "Name of the security policy to update.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, - "updateMask": { - "description": "Indicates fields to be cleared as part of this request.", - "format": "google-fieldmask", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" - }, - "validateOnly": { - "description": "If true, the request will not be committed.", - "location": "query", - "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/patchRule", + "path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/patchAssociation", "request": { - "$ref": "SecurityPolicyRule" + "$ref": "FirewallPolicyAssociation" }, "response": { "$ref": "Operation" @@ -31767,19 +32163,26 @@ "https://www.googleapis.com/auth/compute" ] }, - "removeRule": { - "description": "Deletes a rule at the specified priority.", - "flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/removeRule", + "patchRule": { + "description": "Patches a rule of the specified priority.", + "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/patchRule", "httpMethod": "POST", - "id": "compute.regionSecurityPolicies.removeRule", + "id": "compute.regionNetworkFirewallPolicies.patchRule", "parameterOrder": [ "project", "region", - "securityPolicy" + "firewallPolicy" ], "parameters": { + "firewallPolicy": { + "description": "Name of the firewall policy to update.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, "priority": { - "description": "The priority of the rule to remove from the security policy.", + "description": "The priority of the rule to patch.", "format": "int32", "location": "query", "type": "integer" @@ -31798,15 +32201,16 @@ "required": true, "type": "string" }, - "securityPolicy": { - "description": "Name of the security policy to update.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/removeRule", + "path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/patchRule", + "request": { + "$ref": "FirewallPolicyRule" + }, "response": { "$ref": "Operation" }, @@ -31814,21 +32218,30 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] - } - } - }, - "regionSnapshotSettings": { - "methods": { - "get": { - "description": "Get region snapshot settings.", - "flatPath": "projects/{project}/regions/{region}/snapshotSettings", - "httpMethod": "GET", - "id": "compute.regionSnapshotSettings.get", + }, + "removeAssociation": { + "description": "Removes an association for the specified network firewall policy.", + "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeAssociation", + "httpMethod": "POST", + "id": "compute.regionNetworkFirewallPolicies.removeAssociation", "parameterOrder": [ "project", - "region" + "region", + "firewallPolicy" ], "parameters": { + "firewallPolicy": { + "description": "Name of the firewall policy to update.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "name": { + "description": "Name for the association that will be removed.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -31837,33 +32250,51 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/regions/{region}/snapshotSettings", + "path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeAssociation", "response": { - "$ref": "SnapshotSettings" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "patch": { - "description": "Patch region snapshot settings.", - "flatPath": "projects/{project}/regions/{region}/snapshotSettings", - "httpMethod": "PATCH", - "id": "compute.regionSnapshotSettings.patch", + "removeRule": { + "description": "Deletes a rule of the specified priority.", + "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeRule", + "httpMethod": "POST", + "id": "compute.regionNetworkFirewallPolicies.removeRule", "parameterOrder": [ "project", - "region" + "region", + "firewallPolicy" ], "parameters": { + "firewallPolicy": { + "description": "Name of the firewall policy to update.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "priority": { + "description": "The priority of the rule to remove from the firewall policy.", + "format": "int32", + "location": "query", + "type": "integer" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -31872,7 +32303,7 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -31882,18 +32313,9 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" - }, - "updateMask": { - "description": "update_mask indicates fields to be updated as part of this request.", - "format": "google-fieldmask", - "location": "query", - "type": "string" } }, - "path": "projects/{project}/regions/{region}/snapshotSettings", - "request": { - "$ref": "SnapshotSettings" - }, + "path": "projects/{project}/regions/{region}/firewallPolicies/{firewallPolicy}/removeRule", "response": { "$ref": "Operation" }, @@ -31901,20 +32323,16 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] - } - } - }, - "regionSnapshots": { - "methods": { - "delete": { - "description": "Deletes the specified Snapshot resource. Keep in mind that deleting a single snapshot might not necessarily delete all the data on that snapshot. If any data on the snapshot that is marked for deletion is needed for subsequent snapshots, the data will be moved to the next corresponding snapshot. For more information, see Deleting snapshots.", - "flatPath": "projects/{project}/regions/{region}/snapshots/{snapshot}", - "httpMethod": "DELETE", - "id": "compute.regionSnapshots.delete", + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{resource}/setIamPolicy", + "httpMethod": "POST", + "id": "compute.regionNetworkFirewallPolicies.setIamPolicy", "parameterOrder": [ "project", "region", - "snapshot" + "resource" ], "parameters": { "project": { @@ -31931,37 +32349,35 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "snapshot": { - "description": "Name of the snapshot resource to delete.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/snapshots/{snapshot}", + "path": "projects/{project}/regions/{region}/firewallPolicies/{resource}/setIamPolicy", + "request": { + "$ref": "RegionSetPolicyRequest" + }, "response": { - "$ref": "Operation" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] }, - "get": { - "description": "Returns the specified Snapshot resource.", - "flatPath": "projects/{project}/regions/{region}/snapshots/{snapshot}", - "httpMethod": "GET", - "id": "compute.regionSnapshots.get", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/regions/{region}/firewallPolicies/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.regionNetworkFirewallPolicies.testIamPermissions", "parameterOrder": [ "project", "region", - "snapshot" + "resource" ], "parameters": { "project": { @@ -31972,72 +32388,96 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "The name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "snapshot": { - "description": "Name of the Snapshot resource to return.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/snapshots/{snapshot}", + "path": "projects/{project}/regions/{region}/firewallPolicies/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, "response": { - "$ref": "Snapshot" + "$ref": "TestPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - }, - "getIamPolicy": { - "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", - "flatPath": "projects/{project}/regions/{region}/snapshots/{resource}/getIamPolicy", - "httpMethod": "GET", - "id": "compute.regionSnapshots.getIamPolicy", + } + } + }, + "regionNotificationEndpoints": { + "methods": { + "aggregatedList": { + "description": "Retrieves the list of all NotificationEndpoint resources, regional and global, available to the specified project.", + "flatPath": "projects/{project}/aggregated/notificationEndpoints", + "httpMethod": "GET", + "id": "compute.regionNotificationEndpoints.aggregatedList", "parameterOrder": [ - "project", - "region", - "resource" + "project" ], "parameters": { - "optionsRequestedPolicyVersion": { - "description": "Requested IAM Policy version.", - "format": "int32", + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", "location": "query", + "type": "boolean" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", "type": "integer" }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, "project": { - "description": "Project ID for this request.", + "description": "Name of the project scoping this request.", "location": "path", "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" }, - "region": { - "description": "The name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, + "serviceProjectNumber": { + "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", + "format": "int64", + "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/snapshots/{resource}/getIamPolicy", + "path": "projects/{project}/aggregated/notificationEndpoints", "response": { - "$ref": "Policy" + "$ref": "NotificationEndpointAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -32045,16 +32485,24 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "insert": { - "description": "Creates a snapshot in the specified region using the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/snapshots", - "httpMethod": "POST", - "id": "compute.regionSnapshots.insert", + "delete": { + "description": "Deletes the specified NotificationEndpoint in the given region", + "flatPath": "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}", + "httpMethod": "DELETE", + "id": "compute.regionNotificationEndpoints.delete", "parameterOrder": [ "project", - "region" + "region", + "notificationEndpoint" ], "parameters": { + "notificationEndpoint": { + "description": "Name of the NotificationEndpoint resource to delete.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -32063,7 +32511,7 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -32075,10 +32523,7 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/snapshots", - "request": { - "$ref": "Snapshot" - }, + "path": "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}", "response": { "$ref": "Operation" }, @@ -32087,37 +32532,22 @@ "https://www.googleapis.com/auth/compute" ] }, - "list": { - "description": "Retrieves the list of Snapshot resources contained within the specified region.", - "flatPath": "projects/{project}/regions/{region}/snapshots", + "get": { + "description": "Returns the specified NotificationEndpoint resource in the given region.", + "flatPath": "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}", "httpMethod": "GET", - "id": "compute.regionSnapshots.list", + "id": "compute.regionNotificationEndpoints.get", "parameterOrder": [ "project", - "region" + "region", + "notificationEndpoint" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", + "notificationEndpoint": { + "description": "Name of the NotificationEndpoint resource to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, "type": "string" }, "project": { @@ -32128,21 +32558,16 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" - }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/snapshots", + "path": "projects/{project}/regions/{region}/notificationEndpoints/{notificationEndpoint}", "response": { - "$ref": "SnapshotList" + "$ref": "NotificationEndpoint" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -32150,15 +32575,14 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", - "flatPath": "projects/{project}/regions/{region}/snapshots/{resource}/setIamPolicy", + "insert": { + "description": "Create a NotificationEndpoint in the specified project in the given region using the parameters that are included in the request.", + "flatPath": "projects/{project}/regions/{region}/notificationEndpoints", "httpMethod": "POST", - "id": "compute.regionSnapshots.setIamPolicy", + "id": "compute.regionNotificationEndpoints.insert", "parameterOrder": [ "project", - "region", - "resource" + "region" ], "parameters": { "project": { @@ -32169,43 +32593,63 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/snapshots/{resource}/setIamPolicy", + "path": "projects/{project}/regions/{region}/notificationEndpoints", "request": { - "$ref": "RegionSetPolicyRequest" + "$ref": "NotificationEndpoint" }, "response": { - "$ref": "Policy" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] }, - "setLabels": { - "description": "Sets the labels on a regional snapshot. To learn more about labels, read the Labeling Resources documentation.", - "flatPath": "projects/{project}/regions/{region}/snapshots/{resource}/setLabels", - "httpMethod": "POST", - "id": "compute.regionSnapshots.setLabels", + "list": { + "description": "Lists the NotificationEndpoints for a project in the given region.", + "flatPath": "projects/{project}/regions/{region}/notificationEndpoints", + "httpMethod": "GET", + "id": "compute.regionNotificationEndpoints.list", "parameterOrder": [ "project", - "region", - "resource" + "region" ], "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -32214,42 +32658,33 @@ "type": "string" }, "region": { - "description": "The region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", - "type": "string" - }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" + "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/snapshots/{resource}/setLabels", - "request": { - "$ref": "RegionSetLabelsRequest" - }, + "path": "projects/{project}/regions/{region}/notificationEndpoints", "response": { - "$ref": "Operation" + "$ref": "NotificationEndpointList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, "testIamPermissions": { "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/snapshots/{resource}/testIamPermissions", + "flatPath": "projects/{project}/regions/{region}/notificationEndpoints/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.regionSnapshots.testIamPermissions", + "id": "compute.regionNotificationEndpoints.testIamPermissions", "parameterOrder": [ "project", "region", @@ -32278,7 +32713,7 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/snapshots/{resource}/testIamPermissions", + "path": "projects/{project}/regions/{region}/notificationEndpoints/{resource}/testIamPermissions", "request": { "$ref": "TestPermissionsRequest" }, @@ -32293,19 +32728,26 @@ } } }, - "regionSslCertificates": { + "regionOperations": { "methods": { "delete": { - "description": "Deletes the specified SslCertificate resource in the region.", - "flatPath": "projects/{project}/regions/{region}/sslCertificates/{sslCertificate}", + "description": "Deletes the specified region-specific Operations resource.", + "flatPath": "projects/{project}/regions/{region}/operations/{operation}", "httpMethod": "DELETE", - "id": "compute.regionSslCertificates.delete", + "id": "compute.regionOperations.delete", "parameterOrder": [ "project", "region", - "sslCertificate" + "operation" ], "parameters": { + "operation": { + "description": "Name of the Operations resource to delete, or its unique numeric identifier.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -32314,87 +32756,37 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "sslCertificate": { - "description": "Name of the SslCertificate resource to delete.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" } }, - "path": "projects/{project}/regions/{region}/sslCertificates/{sslCertificate}", - "response": { - "$ref": "Operation" - }, + "path": "projects/{project}/regions/{region}/operations/{operation}", "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] }, "get": { - "description": "Returns the specified SslCertificate resource in the specified region. Get a list of available SSL certificates by making a list() request.", - "flatPath": "projects/{project}/regions/{region}/sslCertificates/{sslCertificate}", + "description": "Retrieves the specified region-specific Operations resource.", + "flatPath": "projects/{project}/regions/{region}/operations/{operation}", "httpMethod": "GET", - "id": "compute.regionSslCertificates.get", + "id": "compute.regionOperations.get", "parameterOrder": [ "project", "region", - "sslCertificate" + "operation" ], "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "Name of the region scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "sslCertificate": { - "description": "Name of the SslCertificate resource to return.", + "operation": { + "description": "Name of the Operations resource to return, or its unique numeric identifier.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/sslCertificates/{sslCertificate}", - "response": { - "$ref": "SslCertificate" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "insert": { - "description": "Creates a SslCertificate resource in the specified project and region using the data included in the request", - "flatPath": "projects/{project}/regions/{region}/sslCertificates", - "httpMethod": "POST", - "id": "compute.regionSslCertificates.insert", - "parameterOrder": [ - "project", - "region" - ], - "parameters": { + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -32403,35 +32795,28 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" } }, - "path": "projects/{project}/regions/{region}/sslCertificates", - "request": { - "$ref": "SslCertificate" - }, + "path": "projects/{project}/regions/{region}/operations/{operation}", "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, "list": { - "description": "Retrieves the list of SslCertificate resources available to the specified project in the specified region.", - "flatPath": "projects/{project}/regions/{region}/sslCertificates", + "description": "Retrieves a list of Operation resources contained within the specified region.", + "flatPath": "projects/{project}/regions/{region}/operations", "httpMethod": "GET", - "id": "compute.regionSslCertificates.list", + "id": "compute.regionOperations.list", "parameterOrder": [ "project", "region" @@ -32468,7 +32853,7 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -32480,9 +32865,9 @@ "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/sslCertificates", + "path": "projects/{project}/regions/{region}/operations", "response": { - "$ref": "SslCertificateList" + "$ref": "OperationList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -32490,17 +32875,24 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource and region.", - "flatPath": "projects/{project}/regions/{region}/sslCertificates/{resource}/testIamPermissions", + "wait": { + "description": "Waits for the specified Operation resource to return as `DONE` or for the request to approach the 2 minute deadline, and retrieves the specified Operation resource. This method differs from the `GET` method in that it waits for no more than the default deadline (2 minutes) and then returns the current state of the operation, which might be `DONE` or still in progress. This method is called on a best-effort basis. Specifically: - In uncommon cases, when the server is overloaded, the request might return before the default deadline is reached, or might return after zero seconds. - If the default deadline is reached, there is no guarantee that the operation is actually done when the method returns. Be prepared to retry if the operation is not `DONE`. ", + "flatPath": "projects/{project}/regions/{region}/operations/{operation}/wait", "httpMethod": "POST", - "id": "compute.regionSslCertificates.testIamPermissions", + "id": "compute.regionOperations.wait", "parameterOrder": [ "project", "region", - "resource" + "operation" ], "parameters": { + "operation": { + "description": "Name of the Operations resource to return, or its unique numeric identifier.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -32509,26 +32901,16 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" - }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" } }, - "path": "projects/{project}/regions/{region}/sslCertificates/{resource}/testIamPermissions", - "request": { - "$ref": "TestPermissionsRequest" - }, + "path": "projects/{project}/regions/{region}/operations/{operation}/wait", "response": { - "$ref": "TestPermissionsResponse" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -32538,17 +32920,17 @@ } } }, - "regionSslPolicies": { + "regionSecurityPolicies": { "methods": { - "delete": { - "description": "Deletes the specified SSL policy. The SSL policy resource can be deleted only if it is not in use by any TargetHttpsProxy or TargetSslProxy resources.", - "flatPath": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", - "httpMethod": "DELETE", - "id": "compute.regionSslPolicies.delete", + "addRule": { + "description": "Inserts a rule into a security policy.", + "flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/addRule", + "httpMethod": "POST", + "id": "compute.regionSecurityPolicies.addRule", "parameterOrder": [ "project", "region", - "sslPolicy" + "securityPolicy" ], "parameters": { "project": { @@ -32565,19 +32947,23 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "sslPolicy": { - "description": "Name of the SSL policy to delete. The name must be 1-63 characters long, and comply with RFC1035.", + "securityPolicy": { + "description": "Name of the security policy to update.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" + }, + "validateOnly": { + "description": "If true, the request will not be committed.", + "location": "query", + "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", + "path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/addRule", + "request": { + "$ref": "SecurityPolicyRule" + }, "response": { "$ref": "Operation" }, @@ -32586,15 +32972,15 @@ "https://www.googleapis.com/auth/compute" ] }, - "get": { - "description": "Lists all of the ordered rules present in a single specified policy.", - "flatPath": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", - "httpMethod": "GET", - "id": "compute.regionSslPolicies.get", + "delete": { + "description": "Deletes the specified policy.", + "flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", + "httpMethod": "DELETE", + "id": "compute.regionSecurityPolicies.delete", "parameterOrder": [ "project", "region", - "sslPolicy" + "securityPolicy" ], "parameters": { "project": { @@ -32611,31 +32997,37 @@ "required": true, "type": "string" }, - "sslPolicy": { - "description": "Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "securityPolicy": { + "description": "Name of the security policy to delete.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", + "path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", "response": { - "$ref": "SslPolicy" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "insert": { - "description": "Creates a new policy in the specified project and region using the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/sslPolicies", - "httpMethod": "POST", - "id": "compute.regionSslPolicies.insert", + "get": { + "description": "List all of the ordered rules present in a single specified policy.", + "flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", + "httpMethod": "GET", + "id": "compute.regionSecurityPolicies.get", "parameterOrder": [ "project", - "region" + "region", + "securityPolicy" ], "parameters": { "project": { @@ -32652,57 +33044,41 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", + "securityPolicy": { + "description": "Name of the security policy to get.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/sslPolicies", - "request": { - "$ref": "SslPolicy" - }, + "path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", "response": { - "$ref": "Operation" + "$ref": "SecurityPolicy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "list": { - "description": "Lists all the SSL policies that have been configured for the specified project and region.", - "flatPath": "projects/{project}/regions/{region}/sslPolicies", + "getRule": { + "description": "Gets a rule at the specified priority.", + "flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/getRule", "httpMethod": "GET", - "id": "compute.regionSslPolicies.list", + "id": "compute.regionSecurityPolicies.getRule", "parameterOrder": [ "project", - "region" + "region", + "securityPolicy" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", + "priority": { + "description": "The priority of the rule to get from the security policy.", + "format": "int32", "location": "query", - "minimum": "0", "type": "integer" }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -32717,15 +33093,17 @@ "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" + "securityPolicy": { + "description": "Name of the security policy to which the queried rule belongs.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" } }, - "path": "projects/{project}/regions/{region}/sslPolicies", + "path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/getRule", "response": { - "$ref": "SslPoliciesList" + "$ref": "SecurityPolicyRule" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -32733,11 +33111,58 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "listAvailableFeatures": { - "description": "Lists all features that can be specified in the SSL policy when using custom profile.", - "flatPath": "projects/{project}/regions/{region}/sslPolicies/listAvailableFeatures", + "insert": { + "description": "Creates a new policy in the specified project using the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/securityPolicies", + "httpMethod": "POST", + "id": "compute.regionSecurityPolicies.insert", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "If true, the request will not be committed.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/regions/{region}/securityPolicies", + "request": { + "$ref": "SecurityPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "List all the policies that have been configured for the specified project and region.", + "flatPath": "projects/{project}/regions/{region}/securityPolicies", "httpMethod": "GET", - "id": "compute.regionSslPolicies.listAvailableFeatures", + "id": "compute.regionSecurityPolicies.list", "parameterOrder": [ "project", "region" @@ -32786,9 +33211,9 @@ "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/sslPolicies/listAvailableFeatures", + "path": "projects/{project}/regions/{region}/securityPolicies", "response": { - "$ref": "SslPoliciesListAvailableFeaturesResponse" + "$ref": "SecurityPolicyList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -32797,16 +33222,21 @@ ] }, "patch": { - "description": "Patches the specified SSL policy with the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", + "description": "Patches the specified policy with the data included in the request. To clear fields in the policy, leave the fields empty and specify them in the updateMask. This cannot be used to be update the rules in the policy. Please use the per rule methods like addRule, patchRule, and removeRule instead.", + "flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", "httpMethod": "PATCH", - "id": "compute.regionSslPolicies.patch", + "id": "compute.regionSecurityPolicies.patch", "parameterOrder": [ "project", "region", - "sslPolicy" + "securityPolicy" ], "parameters": { + "paths": { + "location": "query", + "repeated": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -32826,16 +33256,23 @@ "location": "query", "type": "string" }, - "sslPolicy": { - "description": "Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035.", + "securityPolicy": { + "description": "Name of the security policy to update.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" + }, + "updateMask": { + "description": "Indicates fields to be cleared as part of this request.", + "format": "google-fieldmask", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", + "path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}", "request": { - "$ref": "SslPolicy" + "$ref": "SecurityPolicy" }, "response": { "$ref": "Operation" @@ -32845,17 +33282,23 @@ "https://www.googleapis.com/auth/compute" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/sslPolicies/{resource}/testIamPermissions", + "patchRule": { + "description": "Patches a rule at the specified priority. To clear fields in the rule, leave the fields empty and specify them in the updateMask.", + "flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/patchRule", "httpMethod": "POST", - "id": "compute.regionSslPolicies.testIamPermissions", + "id": "compute.regionSecurityPolicies.patchRule", "parameterOrder": [ "project", "region", - "resource" + "securityPolicy" ], "parameters": { + "priority": { + "description": "The priority of the rule to patch.", + "format": "int32", + "location": "query", + "type": "integer" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -32864,76 +33307,35 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "securityPolicy": { + "description": "Name of the security policy to update.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/sslPolicies/{resource}/testIamPermissions", - "request": { - "$ref": "TestPermissionsRequest" - }, - "response": { - "$ref": "TestPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - } - } - }, - "regionTargetHttpProxies": { - "methods": { - "delete": { - "description": "Deletes the specified TargetHttpProxy resource.", - "flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}", - "httpMethod": "DELETE", - "id": "compute.regionTargetHttpProxies.delete", - "parameterOrder": [ - "project", - "region", - "targetHttpProxy" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "Name of the region scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "updateMask": { + "description": "Indicates fields to be cleared as part of this request.", + "format": "google-fieldmask", "location": "query", "type": "string" }, - "targetHttpProxy": { - "description": "Name of the TargetHttpProxy resource to delete.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" + "validateOnly": { + "description": "If true, the request will not be committed.", + "location": "query", + "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}", + "path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/patchRule", + "request": { + "$ref": "SecurityPolicyRule" + }, "response": { "$ref": "Operation" }, @@ -32942,17 +33344,23 @@ "https://www.googleapis.com/auth/compute" ] }, - "get": { - "description": "Returns the specified TargetHttpProxy resource in the specified region.", - "flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}", - "httpMethod": "GET", - "id": "compute.regionTargetHttpProxies.get", + "removeRule": { + "description": "Deletes a rule at the specified priority.", + "flatPath": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/removeRule", + "httpMethod": "POST", + "id": "compute.regionSecurityPolicies.removeRule", "parameterOrder": [ "project", "region", - "targetHttpProxy" + "securityPolicy" ], "parameters": { + "priority": { + "description": "The priority of the rule to remove from the security policy.", + "format": "int32", + "location": "query", + "type": "integer" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -32967,32 +33375,32 @@ "required": true, "type": "string" }, - "targetHttpProxy": { - "description": "Name of the TargetHttpProxy resource to return.", + "securityPolicy": { + "description": "Name of the security policy to update.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}", + "path": "projects/{project}/regions/{region}/securityPolicies/{securityPolicy}/removeRule", "response": { - "$ref": "TargetHttpProxy" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "insert": { - "description": "Creates a TargetHttpProxy resource in the specified project and region using the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/targetHttpProxies", + "setLabels": { + "description": "Sets the labels on a security policy. To learn more about labels, read the Labeling Resources documentation.", + "flatPath": "projects/{project}/regions/{region}/securityPolicies/{resource}/setLabels", "httpMethod": "POST", - "id": "compute.regionTargetHttpProxies.insert", + "id": "compute.regionSecurityPolicies.setLabels", "parameterOrder": [ "project", - "region" + "region", + "resource" ], "parameters": { "project": { @@ -33003,7 +33411,7 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -33013,11 +33421,18 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" } }, - "path": "projects/{project}/regions/{region}/targetHttpProxies", + "path": "projects/{project}/regions/{region}/securityPolicies/{resource}/setLabels", "request": { - "$ref": "TargetHttpProxy" + "$ref": "RegionSetLabelsRequest" }, "response": { "$ref": "Operation" @@ -33026,40 +33441,21 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] - }, - "list": { - "description": "Retrieves the list of TargetHttpProxy resources available to the specified project in the specified region.", - "flatPath": "projects/{project}/regions/{region}/targetHttpProxies", + } + } + }, + "regionSnapshotSettings": { + "methods": { + "get": { + "description": "Get region snapshot settings.", + "flatPath": "projects/{project}/regions/{region}/snapshotSettings", "httpMethod": "GET", - "id": "compute.regionTargetHttpProxies.list", + "id": "compute.regionSnapshotSettings.get", "parameterOrder": [ "project", "region" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -33068,21 +33464,16 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" - }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/targetHttpProxies", + "path": "projects/{project}/regions/{region}/snapshotSettings", "response": { - "$ref": "TargetHttpProxyList" + "$ref": "SnapshotSettings" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -33090,15 +33481,14 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "setUrlMap": { - "description": "Changes the URL map for TargetHttpProxy.", - "flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}/setUrlMap", - "httpMethod": "POST", - "id": "compute.regionTargetHttpProxies.setUrlMap", + "patch": { + "description": "Patch region snapshot settings.", + "flatPath": "projects/{project}/regions/{region}/snapshotSettings", + "httpMethod": "PATCH", + "id": "compute.regionSnapshotSettings.patch", "parameterOrder": [ "project", - "region", - "targetHttpProxy" + "region" ], "parameters": { "project": { @@ -33109,7 +33499,7 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -33120,17 +33510,16 @@ "location": "query", "type": "string" }, - "targetHttpProxy": { - "description": "Name of the TargetHttpProxy to set a URL map for.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, + "updateMask": { + "description": "update_mask indicates fields to be updated as part of this request.", + "format": "google-fieldmask", + "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}/setUrlMap", + "path": "projects/{project}/regions/{region}/snapshotSettings", "request": { - "$ref": "UrlMapReference" + "$ref": "SnapshotSettings" }, "response": { "$ref": "Operation" @@ -33139,16 +33528,20 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] - }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{resource}/testIamPermissions", - "httpMethod": "POST", - "id": "compute.regionTargetHttpProxies.testIamPermissions", + } + } + }, + "regionSnapshots": { + "methods": { + "delete": { + "description": "Deletes the specified Snapshot resource. Keep in mind that deleting a single snapshot might not necessarily delete all the data on that snapshot. If any data on the snapshot that is marked for deletion is needed for subsequent snapshots, the data will be moved to the next corresponding snapshot. For more information, see Deleting snapshots.", + "flatPath": "projects/{project}/regions/{region}/snapshots/{snapshot}", + "httpMethod": "DELETE", + "id": "compute.regionSnapshots.delete", "parameterOrder": [ "project", "region", - "resource" + "snapshot" ], "parameters": { "project": { @@ -33165,40 +33558,37 @@ "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "snapshot": { + "description": "Name of the snapshot resource to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/targetHttpProxies/{resource}/testIamPermissions", - "request": { - "$ref": "TestPermissionsRequest" - }, + "path": "projects/{project}/regions/{region}/snapshots/{snapshot}", "response": { - "$ref": "TestPermissionsResponse" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] - } - } - }, - "regionTargetHttpsProxies": { - "methods": { - "delete": { - "description": "Deletes the specified TargetHttpsProxy resource.", - "flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", - "httpMethod": "DELETE", - "id": "compute.regionTargetHttpsProxies.delete", + }, + "get": { + "description": "Returns the specified Snapshot resource.", + "flatPath": "projects/{project}/regions/{region}/snapshots/{snapshot}", + "httpMethod": "GET", + "id": "compute.regionSnapshots.get", "parameterOrder": [ "project", "region", - "targetHttpsProxy" + "snapshot" ], "parameters": { "project": { @@ -33209,45 +33599,47 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "targetHttpsProxy": { - "description": "Name of the TargetHttpsProxy resource to delete.", + "snapshot": { + "description": "Name of the Snapshot resource to return.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", + "path": "projects/{project}/regions/{region}/snapshots/{snapshot}", "response": { - "$ref": "Operation" + "$ref": "Snapshot" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "get": { - "description": "Returns the specified TargetHttpsProxy resource in the specified region.", - "flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", + "getIamPolicy": { + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "flatPath": "projects/{project}/regions/{region}/snapshots/{resource}/getIamPolicy", "httpMethod": "GET", - "id": "compute.regionTargetHttpsProxies.get", + "id": "compute.regionSnapshots.getIamPolicy", "parameterOrder": [ "project", "region", - "targetHttpsProxy" + "resource" ], "parameters": { + "optionsRequestedPolicyVersion": { + "description": "Requested IAM Policy version.", + "format": "int32", + "location": "query", + "type": "integer" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -33256,23 +33648,23 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "targetHttpsProxy": { - "description": "Name of the TargetHttpsProxy resource to return.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", + "path": "projects/{project}/regions/{region}/snapshots/{resource}/getIamPolicy", "response": { - "$ref": "TargetHttpsProxy" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -33281,10 +33673,10 @@ ] }, "insert": { - "description": "Creates a TargetHttpsProxy resource in the specified project and region using the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/targetHttpsProxies", + "description": "Creates a snapshot in the specified region using the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/snapshots", "httpMethod": "POST", - "id": "compute.regionTargetHttpsProxies.insert", + "id": "compute.regionSnapshots.insert", "parameterOrder": [ "project", "region" @@ -33298,7 +33690,7 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -33310,9 +33702,9 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/targetHttpsProxies", + "path": "projects/{project}/regions/{region}/snapshots", "request": { - "$ref": "TargetHttpsProxy" + "$ref": "Snapshot" }, "response": { "$ref": "Operation" @@ -33323,10 +33715,10 @@ ] }, "list": { - "description": "Retrieves the list of TargetHttpsProxy resources available to the specified project in the specified region.", - "flatPath": "projects/{project}/regions/{region}/targetHttpsProxies", + "description": "Retrieves the list of Snapshot resources contained within the specified region.", + "flatPath": "projects/{project}/regions/{region}/snapshots", "httpMethod": "GET", - "id": "compute.regionTargetHttpsProxies.list", + "id": "compute.regionSnapshots.list", "parameterOrder": [ "project", "region" @@ -33363,7 +33755,7 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -33375,9 +33767,9 @@ "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/targetHttpsProxies", + "path": "projects/{project}/regions/{region}/snapshots", "response": { - "$ref": "TargetHttpsProxyList" + "$ref": "SnapshotList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -33385,15 +33777,15 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "patch": { - "description": "Patches the specified regional TargetHttpsProxy resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", - "flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", - "httpMethod": "PATCH", - "id": "compute.regionTargetHttpsProxies.patch", + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "projects/{project}/regions/{region}/snapshots/{resource}/setIamPolicy", + "httpMethod": "POST", + "id": "compute.regionSnapshots.setIamPolicy", "parameterOrder": [ "project", "region", - "targetHttpsProxy" + "resource" ], "parameters": { "project": { @@ -33404,46 +33796,41 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "The name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "targetHttpsProxy": { - "description": "Name of the TargetHttpsProxy resource to patch.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", + "path": "projects/{project}/regions/{region}/snapshots/{resource}/setIamPolicy", "request": { - "$ref": "TargetHttpsProxy" + "$ref": "RegionSetPolicyRequest" }, "response": { - "$ref": "Operation" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] }, - "setSslCertificates": { - "description": "Replaces SslCertificates for TargetHttpsProxy.", - "flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", + "setLabels": { + "description": "Sets the labels on a regional snapshot. To learn more about labels, read the Labeling Resources documentation.", + "flatPath": "projects/{project}/regions/{region}/snapshots/{resource}/setLabels", "httpMethod": "POST", - "id": "compute.regionTargetHttpsProxies.setSslCertificates", + "id": "compute.regionSnapshots.setLabels", "parameterOrder": [ "project", "region", - "targetHttpsProxy" + "resource" ], "parameters": { "project": { @@ -33454,7 +33841,7 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -33465,17 +33852,17 @@ "location": "query", "type": "string" }, - "targetHttpsProxy": { - "description": "Name of the TargetHttpsProxy resource to set an SslCertificates resource for.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", + "path": "projects/{project}/regions/{region}/snapshots/{resource}/setLabels", "request": { - "$ref": "RegionTargetHttpsProxiesSetSslCertificatesRequest" + "$ref": "RegionSetLabelsRequest" }, "response": { "$ref": "Operation" @@ -33485,15 +33872,15 @@ "https://www.googleapis.com/auth/compute" ] }, - "setUrlMap": { - "description": "Changes the URL map for TargetHttpsProxy.", - "flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/regions/{region}/snapshots/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.regionTargetHttpsProxies.setUrlMap", + "id": "compute.regionSnapshots.testIamPermissions", "parameterOrder": [ "project", "region", - "targetHttpsProxy" + "resource" ], "parameters": { "project": { @@ -33504,96 +33891,46 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "targetHttpsProxy": { - "description": "Name of the TargetHttpsProxy to set a URL map for.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", + "path": "projects/{project}/regions/{region}/snapshots/{resource}/testIamPermissions", "request": { - "$ref": "UrlMapReference" + "$ref": "TestPermissionsRequest" }, "response": { - "$ref": "Operation" + "$ref": "TestPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{resource}/testIamPermissions", - "httpMethod": "POST", - "id": "compute.regionTargetHttpsProxies.testIamPermissions", - "parameterOrder": [ - "project", - "region", - "resource" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "The name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/targetHttpsProxies/{resource}/testIamPermissions", - "request": { - "$ref": "TestPermissionsRequest" - }, - "response": { - "$ref": "TestPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] } } }, - "regionTargetTcpProxies": { + "regionSslCertificates": { "methods": { "delete": { - "description": "Deletes the specified TargetTcpProxy resource.", - "flatPath": "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}", + "description": "Deletes the specified SslCertificate resource in the region.", + "flatPath": "projects/{project}/regions/{region}/sslCertificates/{sslCertificate}", "httpMethod": "DELETE", - "id": "compute.regionTargetTcpProxies.delete", + "id": "compute.regionSslCertificates.delete", "parameterOrder": [ "project", "region", - "targetTcpProxy" + "sslCertificate" ], "parameters": { "project": { @@ -33615,15 +33952,15 @@ "location": "query", "type": "string" }, - "targetTcpProxy": { - "description": "Name of the TargetTcpProxy resource to delete.", + "sslCertificate": { + "description": "Name of the SslCertificate resource to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}", + "path": "projects/{project}/regions/{region}/sslCertificates/{sslCertificate}", "response": { "$ref": "Operation" }, @@ -33633,14 +33970,14 @@ ] }, "get": { - "description": "Returns the specified TargetTcpProxy resource.", - "flatPath": "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}", + "description": "Returns the specified SslCertificate resource in the specified region. Get a list of available SSL certificates by making a list() request.", + "flatPath": "projects/{project}/regions/{region}/sslCertificates/{sslCertificate}", "httpMethod": "GET", - "id": "compute.regionTargetTcpProxies.get", + "id": "compute.regionSslCertificates.get", "parameterOrder": [ "project", "region", - "targetTcpProxy" + "sslCertificate" ], "parameters": { "project": { @@ -33657,17 +33994,17 @@ "required": true, "type": "string" }, - "targetTcpProxy": { - "description": "Name of the TargetTcpProxy resource to return.", + "sslCertificate": { + "description": "Name of the SslCertificate resource to return.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}", + "path": "projects/{project}/regions/{region}/sslCertificates/{sslCertificate}", "response": { - "$ref": "TargetTcpProxy" + "$ref": "SslCertificate" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -33676,10 +34013,10 @@ ] }, "insert": { - "description": "Creates a TargetTcpProxy resource in the specified project and region using the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/targetTcpProxies", + "description": "Creates a SslCertificate resource in the specified project and region using the data included in the request", + "flatPath": "projects/{project}/regions/{region}/sslCertificates", "httpMethod": "POST", - "id": "compute.regionTargetTcpProxies.insert", + "id": "compute.regionSslCertificates.insert", "parameterOrder": [ "project", "region" @@ -33705,9 +34042,9 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/targetTcpProxies", + "path": "projects/{project}/regions/{region}/sslCertificates", "request": { - "$ref": "TargetTcpProxy" + "$ref": "SslCertificate" }, "response": { "$ref": "Operation" @@ -33718,10 +34055,10 @@ ] }, "list": { - "description": "Retrieves a list of TargetTcpProxy resources available to the specified project in a given region.", - "flatPath": "projects/{project}/regions/{region}/targetTcpProxies", + "description": "Retrieves the list of SslCertificate resources available to the specified project in the specified region.", + "flatPath": "projects/{project}/regions/{region}/sslCertificates", "httpMethod": "GET", - "id": "compute.regionTargetTcpProxies.list", + "id": "compute.regionSslCertificates.list", "parameterOrder": [ "project", "region" @@ -33770,9 +34107,9 @@ "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/targetTcpProxies", + "path": "projects/{project}/regions/{region}/sslCertificates", "response": { - "$ref": "TargetTcpProxyList" + "$ref": "SslCertificateList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -33781,10 +34118,10 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/targetTcpProxies/{resource}/testIamPermissions", + "description": "Returns permissions that a caller has on the specified resource and region.", + "flatPath": "projects/{project}/regions/{region}/sslCertificates/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.regionTargetTcpProxies.testIamPermissions", + "id": "compute.regionSslCertificates.testIamPermissions", "parameterOrder": [ "project", "region", @@ -33813,7 +34150,7 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/targetTcpProxies/{resource}/testIamPermissions", + "path": "projects/{project}/regions/{region}/sslCertificates/{resource}/testIamPermissions", "request": { "$ref": "TestPermissionsRequest" }, @@ -33828,17 +34165,17 @@ } } }, - "regionUrlMaps": { + "regionSslPolicies": { "methods": { "delete": { - "description": "Deletes the specified UrlMap resource.", - "flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}", + "description": "Deletes the specified SSL policy. The SSL policy resource can be deleted only if it is not in use by any TargetHttpsProxy or TargetSslProxy resources.", + "flatPath": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", "httpMethod": "DELETE", - "id": "compute.regionUrlMaps.delete", + "id": "compute.regionSslPolicies.delete", "parameterOrder": [ "project", "region", - "urlMap" + "sslPolicy" ], "parameters": { "project": { @@ -33856,19 +34193,18 @@ "type": "string" }, "requestId": { - "description": "begin_interface: MixerMutationRequestBuilder Request ID to support idempotency.", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, - "urlMap": { - "description": "Name of the UrlMap resource to delete.", + "sslPolicy": { + "description": "Name of the SSL policy to delete. The name must be 1-63 characters long, and comply with RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/urlMaps/{urlMap}", + "path": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", "response": { "$ref": "Operation" }, @@ -33878,14 +34214,14 @@ ] }, "get": { - "description": "Returns the specified UrlMap resource.", - "flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}", + "description": "Lists all of the ordered rules present in a single specified policy.", + "flatPath": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", "httpMethod": "GET", - "id": "compute.regionUrlMaps.get", + "id": "compute.regionSslPolicies.get", "parameterOrder": [ "project", "region", - "urlMap" + "sslPolicy" ], "parameters": { "project": { @@ -33902,17 +34238,16 @@ "required": true, "type": "string" }, - "urlMap": { - "description": "Name of the UrlMap resource to return.", + "sslPolicy": { + "description": "Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/urlMaps/{urlMap}", + "path": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", "response": { - "$ref": "UrlMap" + "$ref": "SslPolicy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -33921,10 +34256,10 @@ ] }, "insert": { - "description": "Creates a UrlMap resource in the specified project using the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/urlMaps", + "description": "Creates a new policy in the specified project and region using the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/sslPolicies", "httpMethod": "POST", - "id": "compute.regionUrlMaps.insert", + "id": "compute.regionSslPolicies.insert", "parameterOrder": [ "project", "region" @@ -33945,14 +34280,14 @@ "type": "string" }, "requestId": { - "description": "begin_interface: MixerMutationRequestBuilder Request ID to support idempotency.", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/urlMaps", + "path": "projects/{project}/regions/{region}/sslPolicies", "request": { - "$ref": "UrlMap" + "$ref": "SslPolicy" }, "response": { "$ref": "Operation" @@ -33962,17 +34297,39 @@ "https://www.googleapis.com/auth/compute" ] }, - "invalidateCache": { - "description": "Initiates a cache invalidation operation, invalidating the specified path, scoped to the specified UrlMap. For more information, see [Invalidating cached content](/cdn/docs/invalidating-cached-content).", - "flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}/invalidateCache", - "httpMethod": "POST", - "id": "compute.regionUrlMaps.invalidateCache", + "list": { + "description": "Lists all the SSL policies that have been configured for the specified project and region.", + "flatPath": "projects/{project}/regions/{region}/sslPolicies", + "httpMethod": "GET", + "id": "compute.regionSslPolicies.list", "parameterOrder": [ "project", - "region", - "urlMap" + "region" ], "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -33987,36 +34344,27 @@ "required": true, "type": "string" }, - "requestId": { - "description": "begin_interface: MixerMutationRequestBuilder Request ID to support idempotency.", + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", - "type": "string" - }, - "urlMap": { - "description": "Name of the UrlMap scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" + "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/urlMaps/{urlMap}/invalidateCache", - "request": { - "$ref": "CacheInvalidationRule" - }, + "path": "projects/{project}/regions/{region}/sslPolicies", "response": { - "$ref": "Operation" + "$ref": "SslPoliciesList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "list": { - "description": "Retrieves the list of UrlMap resources available to the specified project in the specified region.", - "flatPath": "projects/{project}/regions/{region}/urlMaps", + "listAvailableFeatures": { + "description": "Lists all features that can be specified in the SSL policy when using custom profile.", + "flatPath": "projects/{project}/regions/{region}/sslPolicies/listAvailableFeatures", "httpMethod": "GET", - "id": "compute.regionUrlMaps.list", + "id": "compute.regionSslPolicies.listAvailableFeatures", "parameterOrder": [ "project", "region" @@ -34065,9 +34413,9 @@ "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/urlMaps", + "path": "projects/{project}/regions/{region}/sslPolicies/listAvailableFeatures", "response": { - "$ref": "UrlMapList" + "$ref": "SslPoliciesListAvailableFeaturesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -34076,14 +34424,14 @@ ] }, "patch": { - "description": "Patches the specified UrlMap resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", - "flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}", + "description": "Patches the specified SSL policy with the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", "httpMethod": "PATCH", - "id": "compute.regionUrlMaps.patch", + "id": "compute.regionSslPolicies.patch", "parameterOrder": [ "project", "region", - "urlMap" + "sslPolicy" ], "parameters": { "project": { @@ -34101,21 +34449,20 @@ "type": "string" }, "requestId": { - "description": "begin_interface: MixerMutationRequestBuilder Request ID to support idempotency.", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, - "urlMap": { - "description": "Name of the UrlMap resource to patch.", + "sslPolicy": { + "description": "Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/urlMaps/{urlMap}", + "path": "projects/{project}/regions/{region}/sslPolicies/{sslPolicy}", "request": { - "$ref": "UrlMap" + "$ref": "SslPolicy" }, "response": { "$ref": "Operation" @@ -34127,9 +34474,9 @@ }, "testIamPermissions": { "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/urlMaps/{resource}/testIamPermissions", + "flatPath": "projects/{project}/regions/{region}/sslPolicies/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.regionUrlMaps.testIamPermissions", + "id": "compute.regionSslPolicies.testIamPermissions", "parameterOrder": [ "project", "region", @@ -34158,7 +34505,7 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/urlMaps/{resource}/testIamPermissions", + "path": "projects/{project}/regions/{region}/sslPolicies/{resource}/testIamPermissions", "request": { "$ref": "TestPermissionsRequest" }, @@ -34170,16 +34517,20 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - }, - "update": { - "description": "Updates the specified UrlMap resource with the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}", - "httpMethod": "PUT", - "id": "compute.regionUrlMaps.update", + } + } + }, + "regionTargetHttpProxies": { + "methods": { + "delete": { + "description": "Deletes the specified TargetHttpProxy resource.", + "flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}", + "httpMethod": "DELETE", + "id": "compute.regionTargetHttpProxies.delete", "parameterOrder": [ "project", "region", - "urlMap" + "targetHttpProxy" ], "parameters": { "project": { @@ -34197,22 +34548,19 @@ "type": "string" }, "requestId": { - "description": "begin_interface: MixerMutationRequestBuilder Request ID to support idempotency.", + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, - "urlMap": { - "description": "Name of the UrlMap resource to update.", + "targetHttpProxy": { + "description": "Name of the TargetHttpProxy resource to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/urlMaps/{urlMap}", - "request": { - "$ref": "UrlMap" - }, + "path": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}", "response": { "$ref": "Operation" }, @@ -34221,15 +34569,15 @@ "https://www.googleapis.com/auth/compute" ] }, - "validate": { - "description": "Runs static validation for the UrlMap. In particular, the tests of the provided UrlMap will be run. Calling this method does NOT create the UrlMap.", - "flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}/validate", - "httpMethod": "POST", - "id": "compute.regionUrlMaps.validate", + "get": { + "description": "Returns the specified TargetHttpProxy resource in the specified region.", + "flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}", + "httpMethod": "GET", + "id": "compute.regionTargetHttpProxies.get", "parameterOrder": [ "project", "region", - "urlMap" + "targetHttpProxy" ], "parameters": { "project": { @@ -34246,35 +34594,71 @@ "required": true, "type": "string" }, - "urlMap": { - "description": "Name of the UrlMap resource to be validated as.", + "targetHttpProxy": { + "description": "Name of the TargetHttpProxy resource to return.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/urlMaps/{urlMap}/validate", + "path": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}", + "response": { + "$ref": "TargetHttpProxy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates a TargetHttpProxy resource in the specified project and region using the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/targetHttpProxies", + "httpMethod": "POST", + "id": "compute.regionTargetHttpProxies.insert", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/targetHttpProxies", "request": { - "$ref": "RegionUrlMapsValidateRequest" + "$ref": "TargetHttpProxy" }, "response": { - "$ref": "UrlMapsValidateResponse" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] - } - } - }, - "regionZones": { - "methods": { + }, "list": { - "description": "Retrieves the list of Zone resources under the specific region available to the specified project.", - "flatPath": "projects/{project}/regions/{region}/zones", + "description": "Retrieves the list of TargetHttpProxy resources available to the specified project in the specified region.", + "flatPath": "projects/{project}/regions/{region}/targetHttpProxies", "httpMethod": "GET", - "id": "compute.regionZones.list", + "id": "compute.regionTargetHttpProxies.list", "parameterOrder": [ "project", "region" @@ -34311,7 +34695,7 @@ "type": "string" }, "region": { - "description": "Region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -34323,28 +34707,25 @@ "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/zones", + "path": "projects/{project}/regions/{region}/targetHttpProxies", "response": { - "$ref": "ZoneList" + "$ref": "TargetHttpProxyList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - } - } - }, - "regions": { - "methods": { - "get": { - "description": "Returns the specified Region resource. To decrease latency for this method, you can optionally omit any unneeded information from the response by using a field mask. This practice is especially recommended for unused quota information (the `quotas` field). To exclude one or more fields, set your request's `fields` query parameter to only include the fields you need. For example, to only include the `id` and `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request. This method fails if the quota information is unavailable for the region and if the organization policy constraint compute.requireBasicQuotaInResponse is enforced. This constraint, when enforced, disables the fail-open behaviour when quota information (the `items.quotas` field) is unavailable for the region. It is recommended to use the default setting for the constraint unless your application requires the fail-closed behaviour for this method.", - "flatPath": "projects/{project}/regions/{region}", - "httpMethod": "GET", - "id": "compute.regions.get", + }, + "setUrlMap": { + "description": "Changes the URL map for TargetHttpProxy.", + "flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}/setUrlMap", + "httpMethod": "POST", + "id": "compute.regionTargetHttpProxies.setUrlMap", "parameterOrder": [ "project", - "region" + "region", + "targetHttpProxy" ], "parameters": { "project": { @@ -34355,190 +34736,76 @@ "type": "string" }, "region": { - "description": "Name of the region resource to return.", + "description": "Name of the region scoping this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" - } - }, - "path": "projects/{project}/regions/{region}", - "response": { - "$ref": "Region" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "list": { - "description": "Retrieves the list of region resources available to the specified project. To decrease latency for this method, you can optionally omit any unneeded information from the response by using a field mask. This practice is especially recommended for unused quota information (the `items.quotas` field). To exclude one or more fields, set your request's `fields` query parameter to only include the fields you need. For example, to only include the `id` and `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request. This method fails if the quota information is unavailable for the region and if the organization policy constraint compute.requireBasicQuotaInResponse is enforced. This constraint, when enforced, disables the fail-open behaviour when quota information (the `items.quotas` field) is unavailable for the region. It is recommended to use the default setting for the constraint unless your application requires the fail-closed behaviour for this method.", - "flatPath": "projects/{project}/regions", - "httpMethod": "GET", - "id": "compute.regions.list", - "parameterOrder": [ - "project" - ], - "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, - "project": { - "description": "Project ID for this request.", + "targetHttpProxy": { + "description": "Name of the TargetHttpProxy to set a URL map for.", "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" - }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" } }, - "path": "projects/{project}/regions", - "response": { - "$ref": "RegionList" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - } - } - }, - "reservationBlocks": { - "methods": { - "get": { - "description": "Retrieves information about the specified reservation block.", - "flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}", - "httpMethod": "GET", - "id": "compute.reservationBlocks.get", - "parameterOrder": [ - "project", - "zone", - "reservation", - "reservationBlock" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "required": true, - "type": "string" - }, - "reservation": { - "description": "The name of the reservation. Name should conform to RFC1035 or be a resource ID.", - "location": "path", - "required": true, - "type": "string" - }, - "reservationBlock": { - "description": "The name of the reservation block. Name should conform to RFC1035 or be a resource ID.", - "location": "path", - "required": true, - "type": "string" - }, - "zone": { - "description": "Name of the zone for this request. Zone name should conform to RFC1035.", - "location": "path", - "required": true, - "type": "string" - } + "path": "projects/{project}/regions/{region}/targetHttpProxies/{targetHttpProxy}/setUrlMap", + "request": { + "$ref": "UrlMapReference" }, - "path": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}", "response": { - "$ref": "ReservationBlocksGetResponse" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "list": { - "description": "Retrieves a list of reservation blocks under a single reservation.", - "flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks", - "httpMethod": "GET", - "id": "compute.reservationBlocks.list", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/regions/{region}/targetHttpProxies/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.regionTargetHttpProxies.testIamPermissions", "parameterOrder": [ "project", - "zone", - "reservation" + "region", + "resource" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" }, - "reservation": { - "description": "The name of the reservation. Name should conform to RFC1035 or be a resource ID.", + "region": { + "description": "The name of the region for this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" - }, - "zone": { - "description": "Name of the zone for this request. Zone name should conform to RFC1035.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks", + "path": "projects/{project}/regions/{region}/targetHttpProxies/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, "response": { - "$ref": "ReservationBlocksListResponse" + "$ref": "TestPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -34548,45 +34815,19 @@ } } }, - "reservations": { + "regionTargetHttpsProxies": { "methods": { - "aggregatedList": { - "description": "Retrieves an aggregated list of reservations. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/reservations", - "httpMethod": "GET", - "id": "compute.reservations.aggregatedList", + "delete": { + "description": "Deletes the specified TargetHttpsProxy resource.", + "flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", + "httpMethod": "DELETE", + "id": "compute.regionTargetHttpsProxies.delete", "parameterOrder": [ - "project" + "project", + "region", + "targetHttpsProxy" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "includeAllScopes": { - "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", - "location": "query", - "type": "boolean" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -34594,43 +34835,10 @@ "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" - }, - "serviceProjectNumber": { - "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", - "format": "int64", - "location": "query", - "type": "string" - } - }, - "path": "projects/{project}/aggregated/reservations", - "response": { - "$ref": "ReservationAggregatedList" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "delete": { - "description": "Deletes the specified reservation.", - "flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}", - "httpMethod": "DELETE", - "id": "compute.reservations.delete", - "parameterOrder": [ - "project", - "zone", - "reservation" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", + "region": { + "description": "Name of the region scoping this request.", "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -34639,22 +34847,15 @@ "location": "query", "type": "string" }, - "reservation": { - "description": "Name of the reservation to delete.", + "targetHttpsProxy": { + "description": "Name of the TargetHttpsProxy resource to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" - }, - "zone": { - "description": "Name of the zone for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" } }, - "path": "projects/{project}/zones/{zone}/reservations/{reservation}", + "path": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", "response": { "$ref": "Operation" }, @@ -34664,14 +34865,14 @@ ] }, "get": { - "description": "Retrieves information about the specified reservation.", - "flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}", + "description": "Returns the specified TargetHttpsProxy resource in the specified region.", + "flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", "httpMethod": "GET", - "id": "compute.reservations.get", + "id": "compute.regionTargetHttpsProxies.get", "parameterOrder": [ "project", - "zone", - "reservation" + "region", + "targetHttpsProxy" ], "parameters": { "project": { @@ -34681,24 +34882,24 @@ "required": true, "type": "string" }, - "reservation": { - "description": "Name of the reservation to retrieve.", + "region": { + "description": "Name of the region scoping this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "zone": { - "description": "Name of the zone for this request.", + "targetHttpsProxy": { + "description": "Name of the TargetHttpsProxy resource to return.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/reservations/{reservation}", + "path": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", "response": { - "$ref": "Reservation" + "$ref": "TargetHttpsProxy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -34706,23 +34907,16 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "getIamPolicy": { - "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", - "flatPath": "projects/{project}/zones/{zone}/reservations/{resource}/getIamPolicy", - "httpMethod": "GET", - "id": "compute.reservations.getIamPolicy", + "insert": { + "description": "Creates a TargetHttpsProxy resource in the specified project and region using the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/targetHttpsProxies", + "httpMethod": "POST", + "id": "compute.regionTargetHttpsProxies.insert", "parameterOrder": [ "project", - "zone", - "resource" + "region" ], "parameters": { - "optionsRequestedPolicyVersion": { - "description": "Requested IAM Policy version.", - "format": "int32", - "location": "query", - "type": "integer" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -34730,64 +34924,22 @@ "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, - "zone": { - "description": "The name of the zone for this request.", + "region": { + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" - } - }, - "path": "projects/{project}/zones/{zone}/reservations/{resource}/getIamPolicy", - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "insert": { - "description": "Creates a new reservation. For more information, read Reserving zonal resources.", - "flatPath": "projects/{project}/zones/{zone}/reservations", - "httpMethod": "POST", - "id": "compute.reservations.insert", - "parameterOrder": [ - "project", - "zone" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" - }, - "zone": { - "description": "Name of the zone for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" } }, - "path": "projects/{project}/zones/{zone}/reservations", + "path": "projects/{project}/regions/{region}/targetHttpsProxies", "request": { - "$ref": "Reservation" + "$ref": "TargetHttpsProxy" }, "response": { "$ref": "Operation" @@ -34798,13 +34950,13 @@ ] }, "list": { - "description": "A list of all the reservations that have been configured for the specified project in specified zone.", - "flatPath": "projects/{project}/zones/{zone}/reservations", + "description": "Retrieves the list of TargetHttpsProxy resources available to the specified project in the specified region.", + "flatPath": "projects/{project}/regions/{region}/targetHttpsProxies", "httpMethod": "GET", - "id": "compute.reservations.list", + "id": "compute.regionTargetHttpsProxies.list", "parameterOrder": [ "project", - "zone" + "region" ], "parameters": { "filter": { @@ -34837,22 +34989,22 @@ "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" - }, - "zone": { - "description": "Name of the zone for this request.", + "region": { + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" } }, - "path": "projects/{project}/zones/{zone}/reservations", + "path": "projects/{project}/regions/{region}/targetHttpsProxies", "response": { - "$ref": "ReservationList" + "$ref": "TargetHttpsProxyList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -34860,15 +35012,15 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "resize": { - "description": "Resizes the reservation (applicable to standalone reservations only). For more information, read Modifying reservations.", - "flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}/resize", - "httpMethod": "POST", - "id": "compute.reservations.resize", + "patch": { + "description": "Patches the specified regional TargetHttpsProxy resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", + "flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", + "httpMethod": "PATCH", + "id": "compute.regionTargetHttpsProxies.patch", "parameterOrder": [ "project", - "zone", - "reservation" + "region", + "targetHttpsProxy" ], "parameters": { "project": { @@ -34878,29 +35030,29 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "reservation": { - "description": "Name of the reservation to update.", + "region": { + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "zone": { - "description": "Name of the zone for this request.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "targetHttpsProxy": { + "description": "Name of the TargetHttpsProxy resource to patch.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/reservations/{reservation}/resize", + "path": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}", "request": { - "$ref": "ReservationsResizeRequest" + "$ref": "TargetHttpsProxy" }, "response": { "$ref": "Operation" @@ -34910,15 +35062,15 @@ "https://www.googleapis.com/auth/compute" ] }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", - "flatPath": "projects/{project}/zones/{zone}/reservations/{resource}/setIamPolicy", + "setSslCertificates": { + "description": "Replaces SslCertificates for TargetHttpsProxy.", + "flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", "httpMethod": "POST", - "id": "compute.reservations.setIamPolicy", + "id": "compute.regionTargetHttpsProxies.setSslCertificates", "parameterOrder": [ "project", - "zone", - "resource" + "region", + "targetHttpsProxy" ], "parameters": { "project": { @@ -34928,42 +35080,47 @@ "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "region": { + "description": "Name of the region scoping this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "zone": { - "description": "The name of the zone for this request.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "targetHttpsProxy": { + "description": "Name of the TargetHttpsProxy resource to set an SslCertificates resource for.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/reservations/{resource}/setIamPolicy", + "path": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", "request": { - "$ref": "ZoneSetPolicyRequest" + "$ref": "RegionTargetHttpsProxiesSetSslCertificatesRequest" }, "response": { - "$ref": "Policy" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/zones/{zone}/reservations/{resource}/testIamPermissions", + "setUrlMap": { + "description": "Changes the URL map for TargetHttpsProxy.", + "flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", "httpMethod": "POST", - "id": "compute.reservations.testIamPermissions", + "id": "compute.regionTargetHttpsProxies.setUrlMap", "parameterOrder": [ "project", - "zone", - "resource" + "region", + "targetHttpsProxy" ], "parameters": { "project": { @@ -34973,50 +35130,49 @@ "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "region": { + "description": "Name of the region scoping this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "zone": { - "description": "The name of the zone for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "targetHttpsProxy": { + "description": "Name of the TargetHttpsProxy to set a URL map for.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/reservations/{resource}/testIamPermissions", + "path": "projects/{project}/regions/{region}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", "request": { - "$ref": "TestPermissionsRequest" + "$ref": "UrlMapReference" }, "response": { - "$ref": "TestPermissionsResponse" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "update": { - "description": "Update share settings of the reservation.", - "flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}", - "httpMethod": "PATCH", - "id": "compute.reservations.update", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/regions/{region}/targetHttpsProxies/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.regionTargetHttpsProxies.testIamPermissions", "parameterOrder": [ "project", - "zone", - "reservation" + "region", + "resource" ], "parameters": { - "paths": { - "location": "query", - "repeated": true, - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -35024,123 +35180,47 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "reservation": { - "description": "Name of the reservation to update.", + "region": { + "description": "The name of the region for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "updateMask": { - "description": "Update_mask indicates fields to be updated as part of this request.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - }, - "zone": { - "description": "Name of the zone for this request.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/reservations/{reservation}", + "path": "projects/{project}/regions/{region}/targetHttpsProxies/{resource}/testIamPermissions", "request": { - "$ref": "Reservation" + "$ref": "TestPermissionsRequest" }, "response": { - "$ref": "Operation" + "$ref": "TestPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] } } }, - "resourcePolicies": { + "regionTargetTcpProxies": { "methods": { - "aggregatedList": { - "description": "Retrieves an aggregated list of resource policies. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/resourcePolicies", - "httpMethod": "GET", - "id": "compute.resourcePolicies.aggregatedList", - "parameterOrder": [ - "project" - ], - "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "includeAllScopes": { - "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", - "location": "query", - "type": "boolean" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" - }, - "serviceProjectNumber": { - "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", - "format": "int64", - "location": "query", - "type": "string" - } - }, - "path": "projects/{project}/aggregated/resourcePolicies", - "response": { - "$ref": "ResourcePolicyAggregatedList" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, "delete": { - "description": "Deletes the specified resource policy.", - "flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", + "description": "Deletes the specified TargetTcpProxy resource.", + "flatPath": "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}", "httpMethod": "DELETE", - "id": "compute.resourcePolicies.delete", + "id": "compute.regionTargetTcpProxies.delete", "parameterOrder": [ "project", "region", - "resourcePolicy" + "targetTcpProxy" ], "parameters": { "project": { @@ -35151,7 +35231,7 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -35162,15 +35242,15 @@ "location": "query", "type": "string" }, - "resourcePolicy": { - "description": "Name of the resource policy to delete.", + "targetTcpProxy": { + "description": "Name of the TargetTcpProxy resource to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", + "path": "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}", "response": { "$ref": "Operation" }, @@ -35180,65 +35260,16 @@ ] }, "get": { - "description": "Retrieves all information of the specified resource policy.", - "flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", - "httpMethod": "GET", - "id": "compute.resourcePolicies.get", - "parameterOrder": [ - "project", - "region", - "resourcePolicy" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "Name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "resourcePolicy": { - "description": "Name of the resource policy to retrieve.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", - "response": { - "$ref": "ResourcePolicy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "getIamPolicy": { - "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", - "flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resource}/getIamPolicy", + "description": "Returns the specified TargetTcpProxy resource.", + "flatPath": "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}", "httpMethod": "GET", - "id": "compute.resourcePolicies.getIamPolicy", + "id": "compute.regionTargetTcpProxies.get", "parameterOrder": [ "project", "region", - "resource" + "targetTcpProxy" ], "parameters": { - "optionsRequestedPolicyVersion": { - "description": "Requested IAM Policy version.", - "format": "int32", - "location": "query", - "type": "integer" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -35247,23 +35278,23 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "targetTcpProxy": { + "description": "Name of the TargetTcpProxy resource to return.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/resourcePolicies/{resource}/getIamPolicy", + "path": "projects/{project}/regions/{region}/targetTcpProxies/{targetTcpProxy}", "response": { - "$ref": "Policy" + "$ref": "TargetTcpProxy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -35272,10 +35303,10 @@ ] }, "insert": { - "description": "Creates a new resource policy.", - "flatPath": "projects/{project}/regions/{region}/resourcePolicies", + "description": "Creates a TargetTcpProxy resource in the specified project and region using the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/targetTcpProxies", "httpMethod": "POST", - "id": "compute.resourcePolicies.insert", + "id": "compute.regionTargetTcpProxies.insert", "parameterOrder": [ "project", "region" @@ -35289,7 +35320,7 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -35301,9 +35332,9 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/resourcePolicies", + "path": "projects/{project}/regions/{region}/targetTcpProxies", "request": { - "$ref": "ResourcePolicy" + "$ref": "TargetTcpProxy" }, "response": { "$ref": "Operation" @@ -35314,10 +35345,10 @@ ] }, "list": { - "description": "A list all the resource policies that have been configured for the specified project in specified region.", - "flatPath": "projects/{project}/regions/{region}/resourcePolicies", + "description": "Retrieves a list of TargetTcpProxy resources available to the specified project in a given region.", + "flatPath": "projects/{project}/regions/{region}/targetTcpProxies", "httpMethod": "GET", - "id": "compute.resourcePolicies.list", + "id": "compute.regionTargetTcpProxies.list", "parameterOrder": [ "project", "region" @@ -35354,7 +35385,7 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -35366,9 +35397,9 @@ "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/resourcePolicies", + "path": "projects/{project}/regions/{region}/targetTcpProxies", "response": { - "$ref": "ResourcePolicyList" + "$ref": "TargetTcpProxyList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -35376,22 +35407,67 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "patch": { - "description": "Modify the specified resource policy.", - "flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", - "httpMethod": "PATCH", - "id": "compute.resourcePolicies.patch", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/regions/{region}/targetTcpProxies/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.regionTargetTcpProxies.testIamPermissions", "parameterOrder": [ "project", "region", - "resourcePolicy" + "resource" ], "parameters": { - "paths": { - "location": "query", - "repeated": true, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, "type": "string" }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/targetTcpProxies/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, + "response": { + "$ref": "TestPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, + "regionUrlMaps": { + "methods": { + "delete": { + "description": "Deletes the specified UrlMap resource.", + "flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}", + "httpMethod": "DELETE", + "id": "compute.regionUrlMaps.delete", + "parameterOrder": [ + "project", + "region", + "urlMap" + ], + "parameters": { "project": { "description": "Project ID for this request.", "location": "path", @@ -35400,35 +35476,26 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "description": "begin_interface: MixerMutationRequestBuilder Request ID to support idempotency.", "location": "query", "type": "string" }, - "resourcePolicy": { - "description": "Id of the resource policy to patch.", + "urlMap": { + "description": "Name of the UrlMap resource to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" - }, - "updateMask": { - "description": "update_mask indicates fields to be updated as part of this request.", - "format": "google-fieldmask", - "location": "query", - "type": "string" } }, - "path": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", - "request": { - "$ref": "ResourcePolicy" - }, + "path": "projects/{project}/regions/{region}/urlMaps/{urlMap}", "response": { "$ref": "Operation" }, @@ -35437,15 +35504,15 @@ "https://www.googleapis.com/auth/compute" ] }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", - "flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resource}/setIamPolicy", - "httpMethod": "POST", - "id": "compute.resourcePolicies.setIamPolicy", + "get": { + "description": "Returns the specified UrlMap resource.", + "flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}", + "httpMethod": "GET", + "id": "compute.regionUrlMaps.get", "parameterOrder": [ "project", "region", - "resource" + "urlMap" ], "parameters": { "project": { @@ -35456,41 +35523,81 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "urlMap": { + "description": "Name of the UrlMap resource to return.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/resourcePolicies/{resource}/setIamPolicy", + "path": "projects/{project}/regions/{region}/urlMaps/{urlMap}", + "response": { + "$ref": "UrlMap" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates a UrlMap resource in the specified project using the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/urlMaps", + "httpMethod": "POST", + "id": "compute.regionUrlMaps.insert", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "begin_interface: MixerMutationRequestBuilder Request ID to support idempotency.", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/urlMaps", "request": { - "$ref": "RegionSetPolicyRequest" + "$ref": "UrlMap" }, "response": { - "$ref": "Policy" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resource}/testIamPermissions", + "invalidateCache": { + "description": "Initiates a cache invalidation operation, invalidating the specified path, scoped to the specified UrlMap. For more information, see [Invalidating cached content](/cdn/docs/invalidating-cached-content).", + "flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}/invalidateCache", "httpMethod": "POST", - "id": "compute.resourcePolicies.testIamPermissions", + "id": "compute.regionUrlMaps.invalidateCache", "parameterOrder": [ "project", "region", - "resource" + "urlMap" ], "parameters": { "project": { @@ -35501,44 +35608,45 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "requestId": { + "description": "begin_interface: MixerMutationRequestBuilder Request ID to support idempotency.", + "location": "query", + "type": "string" + }, + "urlMap": { + "description": "Name of the UrlMap scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/resourcePolicies/{resource}/testIamPermissions", + "path": "projects/{project}/regions/{region}/urlMaps/{urlMap}/invalidateCache", "request": { - "$ref": "TestPermissionsRequest" + "$ref": "CacheInvalidationRule" }, "response": { - "$ref": "TestPermissionsResponse" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] - } - } - }, - "routers": { - "methods": { - "aggregatedList": { - "description": "Retrieves an aggregated list of routers. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/routers", + }, + "list": { + "description": "Retrieves the list of UrlMap resources available to the specified project in the specified region.", + "flatPath": "projects/{project}/regions/{region}/urlMaps", "httpMethod": "GET", - "id": "compute.routers.aggregatedList", + "id": "compute.regionUrlMaps.list", "parameterOrder": [ - "project" + "project", + "region" ], "parameters": { "filter": { @@ -35546,11 +35654,6 @@ "location": "query", "type": "string" }, - "includeAllScopes": { - "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", - "location": "query", - "type": "boolean" - }, "maxResults": { "default": "500", "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", @@ -35576,21 +35679,22 @@ "required": true, "type": "string" }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, "returnPartialSuccess": { "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" - }, - "serviceProjectNumber": { - "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", - "format": "int64", - "location": "query", - "type": "string" } }, - "path": "projects/{project}/aggregated/routers", + "path": "projects/{project}/regions/{region}/urlMaps", "response": { - "$ref": "RouterAggregatedList" + "$ref": "UrlMapList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -35598,15 +35702,15 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "delete": { - "description": "Deletes the specified Router resource.", - "flatPath": "projects/{project}/regions/{region}/routers/{router}", - "httpMethod": "DELETE", - "id": "compute.routers.delete", + "patch": { + "description": "Patches the specified UrlMap resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", + "flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}", + "httpMethod": "PATCH", + "id": "compute.regionUrlMaps.patch", "parameterOrder": [ "project", "region", - "router" + "urlMap" ], "parameters": { "project": { @@ -35617,26 +35721,29 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "description": "begin_interface: MixerMutationRequestBuilder Request ID to support idempotency.", "location": "query", "type": "string" }, - "router": { - "description": "Name of the Router resource to delete.", + "urlMap": { + "description": "Name of the UrlMap resource to patch.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/routers/{router}", + "path": "projects/{project}/regions/{region}/urlMaps/{urlMap}", + "request": { + "$ref": "UrlMap" + }, "response": { "$ref": "Operation" }, @@ -35645,22 +35752,17 @@ "https://www.googleapis.com/auth/compute" ] }, - "deleteNamedSet": { - "description": "Deletes Named Set", - "flatPath": "projects/{project}/regions/{region}/routers/{router}/deleteNamedSet", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/regions/{region}/urlMaps/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.routers.deleteNamedSet", + "id": "compute.regionUrlMaps.testIamPermissions", "parameterOrder": [ "project", "region", - "router" + "resource" ], "parameters": { - "namedSet": { - "description": "The Named Set name for this request. Name must conform to RFC1035", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -35669,50 +35771,44 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "The name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "router": { - "description": "Name of the Router resource where Named Set is defined.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/routers/{router}/deleteNamedSet", + "path": "projects/{project}/regions/{region}/urlMaps/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, "response": { - "$ref": "Operation" + "$ref": "TestPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "deleteRoutePolicy": { - "description": "Deletes Route Policy", - "flatPath": "projects/{project}/regions/{region}/routers/{router}/deleteRoutePolicy", - "httpMethod": "POST", - "id": "compute.routers.deleteRoutePolicy", + "update": { + "description": "Updates the specified UrlMap resource with the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}", + "httpMethod": "PUT", + "id": "compute.regionUrlMaps.update", "parameterOrder": [ "project", "region", - "router" + "urlMap" ], "parameters": { - "policy": { - "description": "The Policy name for this request. Name must conform to RFC1035", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -35721,26 +35817,29 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "description": "begin_interface: MixerMutationRequestBuilder Request ID to support idempotency.", "location": "query", "type": "string" }, - "router": { - "description": "Name of the Router resource where Route Policy is defined.", + "urlMap": { + "description": "Name of the UrlMap resource to update.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/routers/{router}/deleteRoutePolicy", + "path": "projects/{project}/regions/{region}/urlMaps/{urlMap}", + "request": { + "$ref": "UrlMap" + }, "response": { "$ref": "Operation" }, @@ -35749,15 +35848,15 @@ "https://www.googleapis.com/auth/compute" ] }, - "get": { - "description": "Returns the specified Router resource.", - "flatPath": "projects/{project}/regions/{region}/routers/{router}", - "httpMethod": "GET", - "id": "compute.routers.get", + "validate": { + "description": "Runs static validation for the UrlMap. In particular, the tests of the provided UrlMap will be run. Calling this method does NOT create the UrlMap.", + "flatPath": "projects/{project}/regions/{region}/urlMaps/{urlMap}/validate", + "httpMethod": "POST", + "id": "compute.regionUrlMaps.validate", "parameterOrder": [ "project", "region", - "router" + "urlMap" ], "parameters": { "project": { @@ -35768,43 +35867,66 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "router": { - "description": "Name of the Router resource to return.", + "urlMap": { + "description": "Name of the UrlMap resource to be validated as.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/routers/{router}", + "path": "projects/{project}/regions/{region}/urlMaps/{urlMap}/validate", + "request": { + "$ref": "RegionUrlMapsValidateRequest" + }, "response": { - "$ref": "Router" + "$ref": "UrlMapsValidateResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] - }, - "getNamedSet": { - "description": "Returns specified Named Set", - "flatPath": "projects/{project}/regions/{region}/routers/{router}/getNamedSet", + } + } + }, + "regionZones": { + "methods": { + "list": { + "description": "Retrieves the list of Zone resources under the specific region available to the specified project.", + "flatPath": "projects/{project}/regions/{region}/zones", "httpMethod": "GET", - "id": "compute.routers.getNamedSet", + "id": "compute.regionZones.list", "parameterOrder": [ "project", - "region", - "router" + "region" ], "parameters": { - "namedSet": { - "description": "The Named Set name for this request. Name must conform to RFC1035", + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", "location": "query", "type": "string" }, @@ -35816,45 +35938,42 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "router": { - "description": "Name of the Router resource to query for the named set. The name should conform to RFC1035.", - "location": "path", - "required": true, - "type": "string" + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/routers/{router}/getNamedSet", + "path": "projects/{project}/regions/{region}/zones", "response": { - "$ref": "RoutersGetNamedSetResponse" + "$ref": "ZoneList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - }, - "getNatIpInfo": { - "description": "Retrieves runtime NAT IP information.", - "flatPath": "projects/{project}/regions/{region}/routers/{router}/getNatIpInfo", + } + } + }, + "regions": { + "methods": { + "get": { + "description": "Returns the specified Region resource. To decrease latency for this method, you can optionally omit any unneeded information from the response by using a field mask. This practice is especially recommended for unused quota information (the `quotas` field). To exclude one or more fields, set your request's `fields` query parameter to only include the fields you need. For example, to only include the `id` and `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request. This method fails if the quota information is unavailable for the region and if the organization policy constraint compute.requireBasicQuotaInResponse is enforced. This constraint, when enforced, disables the fail-open behaviour when quota information (the `items.quotas` field) is unavailable for the region. It is recommended to use the default setting for the constraint unless your application requires the fail-closed behaviour for this method.", + "flatPath": "projects/{project}/regions/{region}", "httpMethod": "GET", - "id": "compute.routers.getNatIpInfo", + "id": "compute.regions.get", "parameterOrder": [ "project", - "region", - "router" + "region" ], "parameters": { - "natName": { - "description": "Name of the nat service to filter the NAT IP information. If it is omitted, all nats for this router will be returned. Name should conform to RFC1035.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -35863,22 +35982,16 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "router": { - "description": "Name of the Router resource to query for Nat IP information. The name should conform to RFC1035.", + "description": "Name of the region resource to return.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/routers/{router}/getNatIpInfo", + "path": "projects/{project}/regions/{region}", "response": { - "$ref": "NatIpInfoResponse" + "$ref": "Region" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -35886,15 +35999,13 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "getNatMappingInfo": { - "description": "Retrieves runtime Nat mapping information of VM endpoints.", - "flatPath": "projects/{project}/regions/{region}/routers/{router}/getNatMappingInfo", + "list": { + "description": "Retrieves the list of region resources available to the specified project. To decrease latency for this method, you can optionally omit any unneeded information from the response by using a field mask. This practice is especially recommended for unused quota information (the `items.quotas` field). To exclude one or more fields, set your request's `fields` query parameter to only include the fields you need. For example, to only include the `id` and `selfLink` fields, add the query parameter `?fields=id,selfLink` to your request. This method fails if the quota information is unavailable for the region and if the organization policy constraint compute.requireBasicQuotaInResponse is enforced. This constraint, when enforced, disables the fail-open behaviour when quota information (the `items.quotas` field) is unavailable for the region. It is recommended to use the default setting for the constraint unless your application requires the fail-closed behaviour for this method.", + "flatPath": "projects/{project}/regions", "httpMethod": "GET", - "id": "compute.routers.getNatMappingInfo", + "id": "compute.regions.list", "parameterOrder": [ - "project", - "region", - "router" + "project" ], "parameters": { "filter": { @@ -35910,11 +36021,6 @@ "minimum": "0", "type": "integer" }, - "natName": { - "description": "Name of the nat service to filter the Nat Mapping information. If it is omitted, all nats for this router will be returned. Name should conform to RFC1035.", - "location": "query", - "type": "string" - }, "orderBy": { "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", "location": "query", @@ -35932,76 +36038,66 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "returnPartialSuccess": { "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" - }, - "router": { - "description": "Name of the Router resource to query for Nat Mapping information of VM endpoints.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" } }, - "path": "projects/{project}/regions/{region}/routers/{router}/getNatMappingInfo", + "path": "projects/{project}/regions", "response": { - "$ref": "VmEndpointNatMappingsList" + "$ref": "RegionList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - }, - "getRoutePolicy": { - "description": "Returns specified Route Policy", - "flatPath": "projects/{project}/regions/{region}/routers/{router}/getRoutePolicy", + } + } + }, + "reservationBlocks": { + "methods": { + "get": { + "description": "Retrieves information about the specified reservation block.", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}", "httpMethod": "GET", - "id": "compute.routers.getRoutePolicy", + "id": "compute.reservationBlocks.get", "parameterOrder": [ "project", - "region", - "router" + "zone", + "reservation", + "reservationBlock" ], "parameters": { - "policy": { - "description": "The Policy name for this request. Name must conform to RFC1035", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" }, - "region": { - "description": "Name of the region for this request.", + "reservation": { + "description": "The name of the reservation. Name should conform to RFC1035 or be a resource ID.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "router": { - "description": "Name of the Router resource to query for the route policy. The name should conform to RFC1035.", + "reservationBlock": { + "description": "The name of the reservation block. Name should conform to RFC1035 or be a resource ID.", + "location": "path", + "required": true, + "type": "string" + }, + "zone": { + "description": "Name of the zone for this request. Zone name should conform to RFC1035.", "location": "path", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/routers/{router}/getRoutePolicy", + "path": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}", "response": { - "$ref": "RoutersGetRoutePolicyResponse" + "$ref": "ReservationBlocksGetResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -36009,42 +36105,67 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "getRouterStatus": { - "description": "Retrieves runtime information of the specified router.", - "flatPath": "projects/{project}/regions/{region}/routers/{router}/getRouterStatus", + "list": { + "description": "Retrieves a list of reservation blocks under a single reservation.", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks", "httpMethod": "GET", - "id": "compute.routers.getRouterStatus", + "id": "compute.reservationBlocks.list", "parameterOrder": [ "project", - "region", - "router" + "zone", + "reservation" ], "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" }, - "region": { - "description": "Name of the region for this request.", + "reservation": { + "description": "The name of the reservation. Name should conform to RFC1035 or be a resource ID.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "router": { - "description": "Name of the Router resource to query.", + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + }, + "zone": { + "description": "Name of the zone for this request. Zone name should conform to RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/routers/{router}/getRouterStatus", + "path": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks", "response": { - "$ref": "RouterStatusResponse" + "$ref": "ReservationBlocksListResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -36052,39 +36173,53 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "insert": { - "description": "Creates a Router resource in the specified project and region using the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/routers", + "performMaintenance": { + "description": "Allows customers to perform maintenance on a reservation block", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}/performMaintenance", "httpMethod": "POST", - "id": "compute.routers.insert", + "id": "compute.reservationBlocks.performMaintenance", "parameterOrder": [ "project", - "region" + "zone", + "reservation", + "reservationBlock" ], "parameters": { "project": { "description": "Project ID for this request.", "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" }, - "region": { - "description": "Name of the region for this request.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "reservation": { + "description": "The name of the reservation. Name should conform to RFC1035 or be a resource ID.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", + "reservationBlock": { + "description": "The name of the reservation block. Name should conform to RFC1035 or be a resource ID.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "zone": { + "description": "Name of the zone for this request. Zone name should conform to RFC1035.", + "location": "path", + "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/routers", + "path": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}/performMaintenance", "request": { - "$ref": "Router" + "$ref": "ReservationsBlocksPerformMaintenanceRequest" }, "response": { "$ref": "Operation" @@ -36093,15 +36228,18 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] - }, - "list": { - "description": "Retrieves a list of Router resources available to the specified project.", - "flatPath": "projects/{project}/regions/{region}/routers", + } + } + }, + "reservations": { + "methods": { + "aggregatedList": { + "description": "Retrieves an aggregated list of reservations. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/reservations", "httpMethod": "GET", - "id": "compute.routers.list", + "id": "compute.reservations.aggregatedList", "parameterOrder": [ - "project", - "region" + "project" ], "parameters": { "filter": { @@ -36109,6 +36247,11 @@ "location": "query", "type": "string" }, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "location": "query", + "type": "boolean" + }, "maxResults": { "default": "500", "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", @@ -36134,22 +36277,21 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "returnPartialSuccess": { "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" + }, + "serviceProjectNumber": { + "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", + "format": "int64", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/regions/{region}/routers", + "path": "projects/{project}/aggregated/reservations", "response": { - "$ref": "RouterList" + "$ref": "ReservationAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -36157,72 +36299,64 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "listBgpRoutes": { - "description": "Retrieves a list of router bgp routes available to the specified project.", - "flatPath": "projects/{project}/regions/{region}/routers/{router}/listBgpRoutes", - "httpMethod": "GET", - "id": "compute.routers.listBgpRoutes", + "delete": { + "description": "Deletes the specified reservation.", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}", + "httpMethod": "DELETE", + "id": "compute.reservations.delete", "parameterOrder": [ "project", - "region", - "router" + "zone", + "reservation" ], "parameters": { - "addressFamily": { - "default": "UNSPECIFIED_IP_VERSION", - "description": "(Required) limit results to this address family (either IPv4 or IPv6)", - "enum": [ - "IPV4", - "IPV6", - "UNSPECIFIED_IP_VERSION" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "location": "query", - "type": "string" - }, - "destinationPrefix": { - "description": "Limit results to destinations that are subnets of this CIDR range", - "location": "query", - "type": "string" - }, - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, "type": "string" }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", + "reservation": { + "description": "Name of the reservation to delete.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, "type": "string" }, - "peer": { - "description": "(Required) limit results to the BGP peer with the given name. Name should conform to RFC1035.", - "location": "query", + "zone": { + "description": "Name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, "type": "string" - }, - "policyApplied": { - "default": "true", - "description": "When true, the method returns post-policy routes. Otherwise, it returns pre-policy routes.", - "location": "query", - "type": "boolean" - }, + } + }, + "path": "projects/{project}/zones/{zone}/reservations/{reservation}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Retrieves information about the specified reservation.", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}", + "httpMethod": "GET", + "id": "compute.reservations.get", + "parameterOrder": [ + "project", + "zone", + "reservation" + ], + "parameters": { "project": { "description": "Project ID for this request.", "location": "path", @@ -36230,45 +36364,24 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region for this request.", + "reservation": { + "description": "Name of the reservation to retrieve.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" - }, - "routeType": { - "default": "UNSPECIFIED_ROUTE_TYPE", - "description": "(Required) limit results to this type of route (either LEARNED or ADVERTISED)", - "enum": [ - "ADVERTISED", - "LEARNED", - "UNSPECIFIED_ROUTE_TYPE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "location": "query", - "type": "string" - }, - "router": { - "description": "Name or id of the resource for this request. Name should conform to RFC1035.", + "zone": { + "description": "Name of the zone for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/routers/{router}/listBgpRoutes", + "path": "projects/{project}/zones/{zone}/reservations/{reservation}", "response": { - "$ref": "RoutersListBgpRoutes" + "$ref": "Reservation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -36276,40 +36389,23 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "listNamedSets": { - "description": "Retrieves a list of router named set subresources available to the specified project.", - "flatPath": "projects/{project}/regions/{region}/routers/{router}/listNamedSets", + "getIamPolicy": { + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "flatPath": "projects/{project}/zones/{zone}/reservations/{resource}/getIamPolicy", "httpMethod": "GET", - "id": "compute.routers.listNamedSets", + "id": "compute.reservations.getIamPolicy", "parameterOrder": [ "project", - "region", - "router" + "zone", + "resource" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", + "optionsRequestedPolicyVersion": { + "description": "Requested IAM Policy version.", + "format": "int32", "location": "query", - "minimum": "0", "type": "integer" }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -36317,45 +36413,81 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region for this request.", + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "zone": { + "description": "The name of the zone for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/reservations/{resource}/getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates a new reservation. For more information, read Reserving zonal resources.", + "flatPath": "projects/{project}/zones/{zone}/reservations", + "httpMethod": "POST", + "id": "compute.reservations.insert", + "parameterOrder": [ + "project", + "zone" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", - "type": "boolean" + "type": "string" }, - "router": { - "description": "Name or id of the resource for this request. Name should conform to RFC1035.", + "zone": { + "description": "Name of the zone for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/routers/{router}/listNamedSets", + "path": "projects/{project}/zones/{zone}/reservations", + "request": { + "$ref": "Reservation" + }, "response": { - "$ref": "RoutersListNamedSets" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "listRoutePolicies": { - "description": "Retrieves a list of router route policy subresources available to the specified project.", - "flatPath": "projects/{project}/regions/{region}/routers/{router}/listRoutePolicies", + "list": { + "description": "A list of all the reservations that have been configured for the specified project in specified zone.", + "flatPath": "projects/{project}/zones/{zone}/reservations", "httpMethod": "GET", - "id": "compute.routers.listRoutePolicies", + "id": "compute.reservations.list", "parameterOrder": [ "project", - "region", - "router" + "zone" ], "parameters": { "filter": { @@ -36388,29 +36520,22 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "returnPartialSuccess": { "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" }, - "router": { - "description": "Name or id of the resource for this request. Name should conform to RFC1035.", + "zone": { + "description": "Name of the zone for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/routers/{router}/listRoutePolicies", + "path": "projects/{project}/zones/{zone}/reservations", "response": { - "$ref": "RoutersListRoutePolicies" + "$ref": "ReservationList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -36418,28 +36543,20 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "patch": { - "description": "Patches the specified Router resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", - "flatPath": "projects/{project}/regions/{region}/routers/{router}", - "httpMethod": "PATCH", - "id": "compute.routers.patch", + "performMaintenance": { + "description": "Perform maintenance on an extended reservation", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}/performMaintenance", + "httpMethod": "POST", + "id": "compute.reservations.performMaintenance", "parameterOrder": [ "project", - "region", - "router" + "zone", + "reservation" ], "parameters": { "project": { "description": "Project ID for this request.", "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "Name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -36448,17 +36565,23 @@ "location": "query", "type": "string" }, - "router": { - "description": "Name of the Router resource to patch.", + "reservation": { + "description": "The name of the reservation. Name should conform to RFC1035 or be a resource ID.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" + }, + "zone": { + "description": "Name of the zone for this request. Zone name should conform to RFC1035.", + "location": "path", + "required": true, + "type": "string" } }, - "path": "projects/{project}/regions/{region}/routers/{router}", + "path": "projects/{project}/zones/{zone}/reservations/{reservation}/performMaintenance", "request": { - "$ref": "Router" + "$ref": "ReservationsPerformMaintenanceRequest" }, "response": { "$ref": "Operation" @@ -36468,15 +36591,15 @@ "https://www.googleapis.com/auth/compute" ] }, - "patchNamedSet": { - "description": "Patches Named Set", - "flatPath": "projects/{project}/regions/{region}/routers/{router}/patchNamedSet", + "resize": { + "description": "Resizes the reservation (applicable to standalone reservations only). For more information, read Modifying reservations.", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}/resize", "httpMethod": "POST", - "id": "compute.routers.patchNamedSet", + "id": "compute.reservations.resize", "parameterOrder": [ "project", - "region", - "router" + "zone", + "reservation" ], "parameters": { "project": { @@ -36486,79 +36609,29 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, - "router": { - "description": "Name of the Router resource where Named Set is defined.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/routers/{router}/patchNamedSet", - "request": { - "$ref": "NamedSet" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "patchRoutePolicy": { - "description": "Patches Route Policy", - "flatPath": "projects/{project}/regions/{region}/routers/{router}/patchRoutePolicy", - "httpMethod": "POST", - "id": "compute.routers.patchRoutePolicy", - "parameterOrder": [ - "project", - "region", - "router" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "Name of the region for this request.", + "reservation": { + "description": "Name of the reservation to update.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "router": { - "description": "Name of the Router resource where Route Policy is defined.", + "zone": { + "description": "Name of the zone for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/routers/{router}/patchRoutePolicy", + "path": "projects/{project}/zones/{zone}/reservations/{reservation}/resize", "request": { - "$ref": "RoutePolicy" + "$ref": "ReservationsResizeRequest" }, "response": { "$ref": "Operation" @@ -36568,15 +36641,15 @@ "https://www.googleapis.com/auth/compute" ] }, - "preview": { - "description": "Preview fields auto-generated during router create and update operations. Calling this method does NOT create or update the router.", - "flatPath": "projects/{project}/regions/{region}/routers/{router}/preview", + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "projects/{project}/zones/{zone}/reservations/{resource}/setIamPolicy", "httpMethod": "POST", - "id": "compute.routers.preview", + "id": "compute.reservations.setIamPolicy", "parameterOrder": [ "project", - "region", - "router" + "zone", + "resource" ], "parameters": { "project": { @@ -36586,42 +36659,41 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region for this request.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "router": { - "description": "Name of the Router resource to query.", + "zone": { + "description": "The name of the zone for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/routers/{router}/preview", + "path": "projects/{project}/zones/{zone}/reservations/{resource}/setIamPolicy", "request": { - "$ref": "Router" + "$ref": "ZoneSetPolicyRequest" }, "response": { - "$ref": "RoutersPreviewResponse" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "testIamPermissions": { "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/routers/{resource}/testIamPermissions", + "flatPath": "projects/{project}/zones/{zone}/reservations/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.routers.testIamPermissions", + "id": "compute.reservations.testIamPermissions", "parameterOrder": [ "project", - "region", + "zone", "resource" ], "parameters": { @@ -36632,22 +36704,22 @@ "required": true, "type": "string" }, - "region": { - "description": "The name of the region for this request.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "zone": { + "description": "The name of the zone for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/routers/{resource}/testIamPermissions", + "path": "projects/{project}/zones/{zone}/reservations/{resource}/testIamPermissions", "request": { "$ref": "TestPermissionsRequest" }, @@ -36661,16 +36733,21 @@ ] }, "update": { - "description": "Updates the specified Router resource with the data included in the request. This method conforms to PUT semantics, which requests that the state of the target resource be created or replaced with the state defined by the representation enclosed in the request message payload.", - "flatPath": "projects/{project}/regions/{region}/routers/{router}", - "httpMethod": "PUT", - "id": "compute.routers.update", + "description": "Update share settings of the reservation.", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}", + "httpMethod": "PATCH", + "id": "compute.reservations.update", "parameterOrder": [ "project", - "region", - "router" + "zone", + "reservation" ], "parameters": { + "paths": { + "location": "query", + "repeated": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -36678,29 +36755,35 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region for this request.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "reservation": { + "description": "Name of the reservation to update.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "updateMask": { + "description": "Update_mask indicates fields to be updated as part of this request.", + "format": "google-fieldmask", "location": "query", "type": "string" }, - "router": { - "description": "Name of the Router resource to update.", + "zone": { + "description": "Name of the zone for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/routers/{router}", + "path": "projects/{project}/zones/{zone}/reservations/{reservation}", "request": { - "$ref": "Router" + "$ref": "Reservation" }, "response": { "$ref": "Operation" @@ -36709,66 +36792,86 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] - }, - "updateNamedSet": { - "description": "Updates or creates new Named Set", - "flatPath": "projects/{project}/regions/{region}/routers/{router}/updateNamedSet", - "httpMethod": "POST", - "id": "compute.routers.updateNamedSet", + } + } + }, + "resourcePolicies": { + "methods": { + "aggregatedList": { + "description": "Retrieves an aggregated list of resource policies. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/resourcePolicies", + "httpMethod": "GET", + "id": "compute.resourcePolicies.aggregatedList", "parameterOrder": [ - "project", - "region", - "router" + "project" ], "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", "type": "string" }, - "region": { - "description": "Name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "location": "query", + "type": "boolean" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", "location": "query", "type": "string" }, - "router": { - "description": "Name of the Router resource where Named Set is defined.", + "project": { + "description": "Project ID for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + }, + "serviceProjectNumber": { + "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", + "format": "int64", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/regions/{region}/routers/{router}/updateNamedSet", - "request": { - "$ref": "NamedSet" - }, + "path": "projects/{project}/aggregated/resourcePolicies", "response": { - "$ref": "Operation" + "$ref": "ResourcePolicyAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "updateRoutePolicy": { - "description": "Updates or creates new Route Policy", - "flatPath": "projects/{project}/regions/{region}/routers/{router}/updateRoutePolicy", - "httpMethod": "POST", - "id": "compute.routers.updateRoutePolicy", + "delete": { + "description": "Deletes the specified resource policy.", + "flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", + "httpMethod": "DELETE", + "id": "compute.resourcePolicies.delete", "parameterOrder": [ "project", "region", - "router" + "resourcePolicy" ], "parameters": { "project": { @@ -36790,18 +36893,15 @@ "location": "query", "type": "string" }, - "router": { - "description": "Name of the Router resource where Route Policy is defined.", + "resourcePolicy": { + "description": "Name of the resource policy to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/routers/{router}/updateRoutePolicy", - "request": { - "$ref": "RoutePolicy" - }, + "path": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", "response": { "$ref": "Operation" }, @@ -36809,19 +36909,16 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] - } - } - }, - "routes": { - "methods": { - "delete": { - "description": "Deletes the specified Route resource.", - "flatPath": "projects/{project}/global/routes/{route}", - "httpMethod": "DELETE", - "id": "compute.routes.delete", + }, + "get": { + "description": "Retrieves all information of the specified resource policy.", + "flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", + "httpMethod": "GET", + "id": "compute.resourcePolicies.get", "parameterOrder": [ "project", - "route" + "region", + "resourcePolicy" ], "parameters": { "project": { @@ -36831,38 +36928,48 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, "type": "string" }, - "route": { - "description": "Name of the Route resource to delete.", + "resourcePolicy": { + "description": "Name of the resource policy to retrieve.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/routes/{route}", + "path": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", "response": { - "$ref": "Operation" + "$ref": "ResourcePolicy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "get": { - "description": "Returns the specified Route resource.", - "flatPath": "projects/{project}/global/routes/{route}", + "getIamPolicy": { + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resource}/getIamPolicy", "httpMethod": "GET", - "id": "compute.routes.get", + "id": "compute.resourcePolicies.getIamPolicy", "parameterOrder": [ "project", - "route" + "region", + "resource" ], "parameters": { + "optionsRequestedPolicyVersion": { + "description": "Requested IAM Policy version.", + "format": "int32", + "location": "query", + "type": "integer" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -36870,17 +36977,24 @@ "required": true, "type": "string" }, - "route": { - "description": "Name of the Route resource to return.", + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/routes/{route}", + "path": "projects/{project}/regions/{region}/resourcePolicies/{resource}/getIamPolicy", "response": { - "$ref": "Route" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -36889,12 +37003,13 @@ ] }, "insert": { - "description": "Creates a Route resource in the specified project using the data included in the request.", - "flatPath": "projects/{project}/global/routes", + "description": "Creates a new resource policy.", + "flatPath": "projects/{project}/regions/{region}/resourcePolicies", "httpMethod": "POST", - "id": "compute.routes.insert", + "id": "compute.resourcePolicies.insert", "parameterOrder": [ - "project" + "project", + "region" ], "parameters": { "project": { @@ -36904,15 +37019,22 @@ "required": true, "type": "string" }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } }, - "path": "projects/{project}/global/routes", + "path": "projects/{project}/regions/{region}/resourcePolicies", "request": { - "$ref": "Route" + "$ref": "ResourcePolicy" }, "response": { "$ref": "Operation" @@ -36923,12 +37045,13 @@ ] }, "list": { - "description": "Retrieves the list of Route resources available to the specified project.", - "flatPath": "projects/{project}/global/routes", + "description": "A list all the resource policies that have been configured for the specified project in specified region.", + "flatPath": "projects/{project}/regions/{region}/resourcePolicies", "httpMethod": "GET", - "id": "compute.routes.list", + "id": "compute.resourcePolicies.list", "parameterOrder": [ - "project" + "project", + "region" ], "parameters": { "filter": { @@ -36961,15 +37084,22 @@ "required": true, "type": "string" }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, "returnPartialSuccess": { "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" } }, - "path": "projects/{project}/global/routes", + "path": "projects/{project}/regions/{region}/resourcePolicies", "response": { - "$ref": "RouteList" + "$ref": "ResourcePolicyList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -36977,13 +37107,75 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/global/routes/{resource}/testIamPermissions", + "patch": { + "description": "Modify the specified resource policy.", + "flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", + "httpMethod": "PATCH", + "id": "compute.resourcePolicies.patch", + "parameterOrder": [ + "project", + "region", + "resourcePolicy" + ], + "parameters": { + "paths": { + "location": "query", + "repeated": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "resourcePolicy": { + "description": "Id of the resource policy to patch.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "update_mask indicates fields to be updated as part of this request.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/resourcePolicies/{resourcePolicy}", + "request": { + "$ref": "ResourcePolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resource}/setIamPolicy", "httpMethod": "POST", - "id": "compute.routes.testIamPermissions", + "id": "compute.resourcePolicies.setIamPolicy", "parameterOrder": [ "project", + "region", "resource" ], "parameters": { @@ -36994,39 +37186,42 @@ "required": true, "type": "string" }, + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, "resource": { "description": "Name or id of the resource for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/routes/{resource}/testIamPermissions", + "path": "projects/{project}/regions/{region}/resourcePolicies/{resource}/setIamPolicy", "request": { - "$ref": "TestPermissionsRequest" + "$ref": "RegionSetPolicyRequest" }, "response": { - "$ref": "TestPermissionsResponse" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] - } - } - }, - "securityPolicies": { - "methods": { - "addRule": { - "description": "Inserts a rule into a security policy.", - "flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/addRule", + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/regions/{region}/resourcePolicies/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.securityPolicies.addRule", + "id": "compute.resourcePolicies.testIamPermissions", "parameterOrder": [ "project", - "securityPolicy" + "region", + "resource" ], "parameters": { "project": { @@ -37036,36 +37231,43 @@ "required": true, "type": "string" }, - "securityPolicy": { - "description": "Name of the security policy to update.", + "region": { + "description": "The name of the region for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "validateOnly": { - "description": "If true, the request will not be committed.", - "location": "query", - "type": "boolean" + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" } }, - "path": "projects/{project}/global/securityPolicies/{securityPolicy}/addRule", + "path": "projects/{project}/regions/{region}/resourcePolicies/{resource}/testIamPermissions", "request": { - "$ref": "SecurityPolicyRule" + "$ref": "TestPermissionsRequest" }, "response": { - "$ref": "Operation" + "$ref": "TestPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] - }, + } + } + }, + "routers": { + "methods": { "aggregatedList": { - "description": "Retrieves the list of all SecurityPolicy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/securityPolicies", + "description": "Retrieves an aggregated list of routers. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/routers", "httpMethod": "GET", - "id": "compute.securityPolicies.aggregatedList", + "id": "compute.routers.aggregatedList", "parameterOrder": [ "project" ], @@ -37099,7 +37301,7 @@ "type": "string" }, "project": { - "description": "Name of the project scoping this request.", + "description": "Project ID for this request.", "location": "path", "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, @@ -37117,9 +37319,9 @@ "type": "string" } }, - "path": "projects/{project}/aggregated/securityPolicies", + "path": "projects/{project}/aggregated/routers", "response": { - "$ref": "SecurityPoliciesAggregatedList" + "$ref": "RouterAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -37128,13 +37330,14 @@ ] }, "delete": { - "description": "Deletes the specified policy.", - "flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}", + "description": "Deletes the specified Router resource.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}", "httpMethod": "DELETE", - "id": "compute.securityPolicies.delete", + "id": "compute.routers.delete", "parameterOrder": [ "project", - "securityPolicy" + "region", + "router" ], "parameters": { "project": { @@ -37144,20 +37347,27 @@ "required": true, "type": "string" }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, - "securityPolicy": { - "description": "Name of the security policy to delete.", + "router": { + "description": "Name of the Router resource to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/securityPolicies/{securityPolicy}", + "path": "projects/{project}/regions/{region}/routers/{router}", "response": { "$ref": "Operation" }, @@ -37166,16 +37376,22 @@ "https://www.googleapis.com/auth/compute" ] }, - "get": { - "description": "List all of the ordered rules present in a single specified policy.", - "flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}", - "httpMethod": "GET", - "id": "compute.securityPolicies.get", + "deleteNamedSet": { + "description": "Deletes Named Set", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/deleteNamedSet", + "httpMethod": "POST", + "id": "compute.routers.deleteNamedSet", "parameterOrder": [ "project", - "securityPolicy" + "region", + "router" ], "parameters": { + "namedSet": { + "description": "The Named Set name for this request. Name must conform to RFC1035", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -37183,39 +37399,50 @@ "required": true, "type": "string" }, - "securityPolicy": { - "description": "Name of the security policy to get.", + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "router": { + "description": "Name of the Router resource where Named Set is defined.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/securityPolicies/{securityPolicy}", + "path": "projects/{project}/regions/{region}/routers/{router}/deleteNamedSet", "response": { - "$ref": "SecurityPolicy" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "getRule": { - "description": "Gets a rule at the specified priority.", - "flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/getRule", - "httpMethod": "GET", - "id": "compute.securityPolicies.getRule", + "deleteRoutePolicy": { + "description": "Deletes Route Policy", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/deleteRoutePolicy", + "httpMethod": "POST", + "id": "compute.routers.deleteRoutePolicy", "parameterOrder": [ "project", - "securityPolicy" + "region", + "router" ], "parameters": { - "priority": { - "description": "The priority of the rule to get from the security policy.", - "format": "int32", + "policy": { + "description": "The Policy name for this request. Name must conform to RFC1035", "location": "query", - "type": "integer" + "type": "string" }, "project": { "description": "Project ID for this request.", @@ -37224,31 +37451,44 @@ "required": true, "type": "string" }, - "securityPolicy": { - "description": "Name of the security policy to which the queried rule belongs.", + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "router": { + "description": "Name of the Router resource where Route Policy is defined.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/securityPolicies/{securityPolicy}/getRule", + "path": "projects/{project}/regions/{region}/routers/{router}/deleteRoutePolicy", "response": { - "$ref": "SecurityPolicyRule" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "insert": { - "description": "Creates a new policy in the specified project using the data included in the request.", - "flatPath": "projects/{project}/global/securityPolicies", - "httpMethod": "POST", - "id": "compute.securityPolicies.insert", + "get": { + "description": "Returns the specified Router resource.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}", + "httpMethod": "GET", + "id": "compute.routers.get", "parameterOrder": [ - "project" + "project", + "region", + "router" ], "parameters": { "project": { @@ -37258,58 +37498,91 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, "type": "string" }, - "validateOnly": { - "description": "If true, the request will not be committed.", - "location": "query", - "type": "boolean" + "router": { + "description": "Name of the Router resource to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" } }, - "path": "projects/{project}/global/securityPolicies", - "request": { - "$ref": "SecurityPolicy" - }, + "path": "projects/{project}/regions/{region}/routers/{router}", "response": { - "$ref": "Operation" + "$ref": "Router" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "list": { - "description": "List all the policies that have been configured for the specified project.", - "flatPath": "projects/{project}/global/securityPolicies", + "getNamedSet": { + "description": "Returns specified Named Set", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/getNamedSet", "httpMethod": "GET", - "id": "compute.securityPolicies.list", + "id": "compute.routers.getNamedSet", "parameterOrder": [ - "project" + "project", + "region", + "router" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "namedSet": { + "description": "The Named Set name for this request. Name must conform to RFC1035", "location": "query", "type": "string" }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, "type": "string" }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "router": { + "description": "Name of the Router resource to query for the named set. The name should conform to RFC1035.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/routers/{router}/getNamedSet", + "response": { + "$ref": "RoutersGetNamedSetResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "getNatIpInfo": { + "description": "Retrieves runtime NAT IP information.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/getNatIpInfo", + "httpMethod": "GET", + "id": "compute.routers.getNatIpInfo", + "parameterOrder": [ + "project", + "region", + "router" + ], + "parameters": { + "natName": { + "description": "Name of the nat service to filter the NAT IP information. If it is omitted, all nats for this router will be returned. Name should conform to RFC1035.", "location": "query", "type": "string" }, @@ -37320,15 +37593,23 @@ "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "router": { + "description": "Name of the Router resource to query for Nat IP information. The name should conform to RFC1035.", + "location": "path", + "required": true, + "type": "string" } }, - "path": "projects/{project}/global/securityPolicies", + "path": "projects/{project}/regions/{region}/routers/{router}/getNatIpInfo", "response": { - "$ref": "SecurityPolicyList" + "$ref": "NatIpInfoResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -37336,13 +37617,15 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "listPreconfiguredExpressionSets": { - "description": "Gets the current list of preconfigured Web Application Firewall (WAF) expressions.", - "flatPath": "projects/{project}/global/securityPolicies/listPreconfiguredExpressionSets", + "getNatMappingInfo": { + "description": "Retrieves runtime Nat mapping information of VM endpoints.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/getNatMappingInfo", "httpMethod": "GET", - "id": "compute.securityPolicies.listPreconfiguredExpressionSets", + "id": "compute.routers.getNatMappingInfo", "parameterOrder": [ - "project" + "project", + "region", + "router" ], "parameters": { "filter": { @@ -37358,6 +37641,11 @@ "minimum": "0", "type": "integer" }, + "natName": { + "description": "Name of the nat service to filter the Nat Mapping information. If it is omitted, all nats for this router will be returned. Name should conform to RFC1035.", + "location": "query", + "type": "string" + }, "orderBy": { "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", "location": "query", @@ -37375,15 +37663,29 @@ "required": true, "type": "string" }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, "returnPartialSuccess": { "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" + }, + "router": { + "description": "Name of the Router resource to query for Nat Mapping information of VM endpoints.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" } }, - "path": "projects/{project}/global/securityPolicies/listPreconfiguredExpressionSets", + "path": "projects/{project}/regions/{region}/routers/{router}/getNatMappingInfo", "response": { - "$ref": "SecurityPoliciesListPreconfiguredExpressionSetsResponse" + "$ref": "VmEndpointNatMappingsList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -37391,19 +37693,20 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "patch": { - "description": "Patches the specified policy with the data included in the request. To clear fields in the policy, leave the fields empty and specify them in the updateMask. This cannot be used to be update the rules in the policy. Please use the per rule methods like addRule, patchRule, and removeRule instead.", - "flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}", - "httpMethod": "PATCH", - "id": "compute.securityPolicies.patch", + "getRoutePolicy": { + "description": "Returns specified Route Policy", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/getRoutePolicy", + "httpMethod": "GET", + "id": "compute.routers.getRoutePolicy", "parameterOrder": [ "project", - "securityPolicy" + "region", + "router" ], "parameters": { - "paths": { + "policy": { + "description": "The Policy name for this request. Name must conform to RFC1035", "location": "query", - "repeated": true, "type": "string" }, "project": { @@ -37413,53 +37716,41 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "securityPolicy": { - "description": "Name of the security policy to update.", + "region": { + "description": "Name of the region for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "updateMask": { - "description": "Indicates fields to be cleared as part of this request.", - "format": "google-fieldmask", - "location": "query", + "router": { + "description": "Name of the Router resource to query for the route policy. The name should conform to RFC1035.", + "location": "path", + "required": true, "type": "string" } }, - "path": "projects/{project}/global/securityPolicies/{securityPolicy}", - "request": { - "$ref": "SecurityPolicy" - }, + "path": "projects/{project}/regions/{region}/routers/{router}/getRoutePolicy", "response": { - "$ref": "Operation" + "$ref": "RoutersGetRoutePolicyResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "patchRule": { - "description": "Patches a rule at the specified priority. To clear fields in the rule, leave the fields empty and specify them in the updateMask.", - "flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/patchRule", - "httpMethod": "POST", - "id": "compute.securityPolicies.patchRule", + "getRouterStatus": { + "description": "Retrieves runtime information of the specified router.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/getRouterStatus", + "httpMethod": "GET", + "id": "compute.routers.getRouterStatus", "parameterOrder": [ "project", - "securityPolicy" + "region", + "router" ], "parameters": { - "priority": { - "description": "The priority of the rule to patch.", - "format": "int32", - "location": "query", - "type": "integer" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -37467,85 +37758,39 @@ "required": true, "type": "string" }, - "securityPolicy": { - "description": "Name of the security policy to update.", + "region": { + "description": "Name of the region for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "updateMask": { - "description": "Indicates fields to be cleared as part of this request.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - }, - "validateOnly": { - "description": "If true, the request will not be committed.", - "location": "query", - "type": "boolean" - } - }, - "path": "projects/{project}/global/securityPolicies/{securityPolicy}/patchRule", - "request": { - "$ref": "SecurityPolicyRule" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "removeRule": { - "description": "Deletes a rule at the specified priority.", - "flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/removeRule", - "httpMethod": "POST", - "id": "compute.securityPolicies.removeRule", - "parameterOrder": [ - "project", - "securityPolicy" - ], - "parameters": { - "priority": { - "description": "The priority of the rule to remove from the security policy.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "securityPolicy": { - "description": "Name of the security policy to update.", + "router": { + "description": "Name of the Router resource to query.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/securityPolicies/{securityPolicy}/removeRule", + "path": "projects/{project}/regions/{region}/routers/{router}/getRouterStatus", "response": { - "$ref": "Operation" + "$ref": "RouterStatusResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "setLabels": { - "description": "Sets the labels on a security policy. To learn more about labels, read the Labeling Resources documentation.", - "flatPath": "projects/{project}/global/securityPolicies/{resource}/setLabels", + "insert": { + "description": "Creates a Router resource in the specified project and region using the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/routers", "httpMethod": "POST", - "id": "compute.securityPolicies.setLabels", + "id": "compute.routers.insert", "parameterOrder": [ "project", - "resource" + "region" ], "parameters": { "project": { @@ -37555,17 +37800,22 @@ "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "region": { + "description": "Name of the region for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/global/securityPolicies/{resource}/setLabels", + "path": "projects/{project}/regions/{region}/routers", "request": { - "$ref": "GlobalSetLabelsRequest" + "$ref": "Router" }, "response": { "$ref": "Operation" @@ -37575,16 +37825,39 @@ "https://www.googleapis.com/auth/compute" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/global/securityPolicies/{resource}/testIamPermissions", - "httpMethod": "POST", - "id": "compute.securityPolicies.testIamPermissions", + "list": { + "description": "Retrieves a list of Router resources available to the specified project.", + "flatPath": "projects/{project}/regions/{region}/routers", + "httpMethod": "GET", + "id": "compute.routers.list", "parameterOrder": [ "project", - "resource" + "region" ], "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -37592,49 +37865,65 @@ "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "region": { + "description": "Name of the region for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" } }, - "path": "projects/{project}/global/securityPolicies/{resource}/testIamPermissions", - "request": { - "$ref": "TestPermissionsRequest" - }, + "path": "projects/{project}/regions/{region}/routers", "response": { - "$ref": "TestPermissionsResponse" + "$ref": "RouterList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - } - } - }, - "serviceAttachments": { - "methods": { - "aggregatedList": { - "description": "Retrieves the list of all ServiceAttachment resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/serviceAttachments", + }, + "listBgpRoutes": { + "description": "Retrieves a list of router bgp routes available to the specified project.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/listBgpRoutes", "httpMethod": "GET", - "id": "compute.serviceAttachments.aggregatedList", + "id": "compute.routers.listBgpRoutes", "parameterOrder": [ - "project" + "project", + "region", + "router" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "addressFamily": { + "default": "UNSPECIFIED_IP_VERSION", + "description": "(Required) limit results to this address family (either IPv4 or IPv6)", + "enum": [ + "IPV4", + "IPV6", + "UNSPECIFIED_IP_VERSION" + ], + "enumDescriptions": [ + "", + "", + "" + ], "location": "query", "type": "string" }, - "includeAllScopes": { - "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "destinationPrefix": { + "description": "Limit results to destinations that are subnets of this CIDR range", "location": "query", - "type": "boolean" + "type": "string" + }, + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" }, "maxResults": { "default": "500", @@ -37654,46 +37943,17 @@ "location": "query", "type": "string" }, - "project": { - "description": "Name of the project scoping this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, + "peer": { + "description": "(Required) limit results to the BGP peer with the given name. Name should conform to RFC1035.", + "location": "query", "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "policyApplied": { + "default": "true", + "description": "When true, the method returns post-policy routes. Otherwise, it returns pre-policy routes.", "location": "query", "type": "boolean" }, - "serviceProjectNumber": { - "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", - "format": "int64", - "location": "query", - "type": "string" - } - }, - "path": "projects/{project}/aggregated/serviceAttachments", - "response": { - "$ref": "ServiceAttachmentAggregatedList" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "delete": { - "description": "Deletes the specified ServiceAttachment in the given scope", - "flatPath": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", - "httpMethod": "DELETE", - "id": "compute.serviceAttachments.delete", - "parameterOrder": [ - "project", - "region", - "serviceAttachment" - ], - "parameters": { "project": { "description": "Project ID for this request.", "location": "path", @@ -37702,45 +37962,85 @@ "type": "string" }, "region": { - "description": "Name of the region of this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + }, + "routeType": { + "default": "UNSPECIFIED_ROUTE_TYPE", + "description": "(Required) limit results to this type of route (either LEARNED or ADVERTISED)", + "enum": [ + "ADVERTISED", + "LEARNED", + "UNSPECIFIED_ROUTE_TYPE" + ], + "enumDescriptions": [ + "", + "", + "" + ], "location": "query", "type": "string" }, - "serviceAttachment": { - "description": "Name of the ServiceAttachment resource to delete.", + "router": { + "description": "Name or id of the resource for this request. Name should conform to RFC1035.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", + "path": "projects/{project}/regions/{region}/routers/{router}/listBgpRoutes", "response": { - "$ref": "Operation" + "$ref": "RoutersListBgpRoutes" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "get": { - "description": "Returns the specified ServiceAttachment resource in the given scope.", - "flatPath": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", + "listNamedSets": { + "description": "Retrieves a list of router named set subresources available to the specified project.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/listNamedSets", "httpMethod": "GET", - "id": "compute.serviceAttachments.get", + "id": "compute.routers.listNamedSets", "parameterOrder": [ "project", "region", - "serviceAttachment" + "router" ], "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -37749,23 +38049,28 @@ "type": "string" }, "region": { - "description": "Name of the region of this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "serviceAttachment": { - "description": "Name of the ServiceAttachment resource to return.", + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + }, + "router": { + "description": "Name or id of the resource for this request. Name should conform to RFC1035.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", + "path": "projects/{project}/regions/{region}/routers/{router}/listNamedSets", "response": { - "$ref": "ServiceAttachment" + "$ref": "RoutersListNamedSets" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -37773,23 +38078,40 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "getIamPolicy": { - "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", - "flatPath": "projects/{project}/regions/{region}/serviceAttachments/{resource}/getIamPolicy", + "listRoutePolicies": { + "description": "Retrieves a list of router route policy subresources available to the specified project.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/listRoutePolicies", "httpMethod": "GET", - "id": "compute.serviceAttachments.getIamPolicy", + "id": "compute.routers.listRoutePolicies", "parameterOrder": [ "project", "region", - "resource" + "router" ], "parameters": { - "optionsRequestedPolicyVersion": { - "description": "Requested IAM Policy version.", - "format": "int32", + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", "location": "query", + "minimum": "0", "type": "integer" }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -37798,23 +38120,28 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + }, + "router": { + "description": "Name or id of the resource for this request. Name should conform to RFC1035.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/serviceAttachments/{resource}/getIamPolicy", + "path": "projects/{project}/regions/{region}/routers/{router}/listRoutePolicies", "response": { - "$ref": "Policy" + "$ref": "RoutersListRoutePolicies" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -37822,14 +38149,15 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "insert": { - "description": "Creates a ServiceAttachment in the specified project in the given scope using the parameters that are included in the request.", - "flatPath": "projects/{project}/regions/{region}/serviceAttachments", - "httpMethod": "POST", - "id": "compute.serviceAttachments.insert", + "patch": { + "description": "Patches the specified Router resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}", + "httpMethod": "PATCH", + "id": "compute.routers.patch", "parameterOrder": [ "project", - "region" + "region", + "router" ], "parameters": { "project": { @@ -37840,7 +38168,7 @@ "type": "string" }, "region": { - "description": "Name of the region of this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -37850,11 +38178,18 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" + }, + "router": { + "description": "Name of the Router resource to patch.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" } }, - "path": "projects/{project}/regions/{region}/serviceAttachments", + "path": "projects/{project}/regions/{region}/routers/{router}", "request": { - "$ref": "ServiceAttachment" + "$ref": "Router" }, "response": { "$ref": "Operation" @@ -37864,39 +38199,17 @@ "https://www.googleapis.com/auth/compute" ] }, - "list": { - "description": "Lists the ServiceAttachments for a project in the given scope.", - "flatPath": "projects/{project}/regions/{region}/serviceAttachments", - "httpMethod": "GET", - "id": "compute.serviceAttachments.list", + "patchNamedSet": { + "description": "Patches Named Set", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/patchNamedSet", + "httpMethod": "POST", + "id": "compute.routers.patchNamedSet", "parameterOrder": [ "project", - "region" + "region", + "router" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -37905,37 +38218,46 @@ "type": "string" }, "region": { - "description": "Name of the region of this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", - "type": "boolean" + "type": "string" + }, + "router": { + "description": "Name of the Router resource where Named Set is defined.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" } }, - "path": "projects/{project}/regions/{region}/serviceAttachments", + "path": "projects/{project}/regions/{region}/routers/{router}/patchNamedSet", + "request": { + "$ref": "NamedSet" + }, "response": { - "$ref": "ServiceAttachmentList" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "patch": { - "description": "Patches the specified ServiceAttachment resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", - "flatPath": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", - "httpMethod": "PATCH", - "id": "compute.serviceAttachments.patch", + "patchRoutePolicy": { + "description": "Patches Route Policy", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/patchRoutePolicy", + "httpMethod": "POST", + "id": "compute.routers.patchRoutePolicy", "parameterOrder": [ "project", "region", - "serviceAttachment" + "router" ], "parameters": { "project": { @@ -37946,8 +38268,9 @@ "type": "string" }, "region": { - "description": "The region scoping this request and should conform to RFC1035.", + "description": "Name of the region for this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -37956,16 +38279,17 @@ "location": "query", "type": "string" }, - "serviceAttachment": { - "description": "The resource id of the ServiceAttachment to patch. It should conform to RFC1035 resource name or be a string form on an unsigned long number.", + "router": { + "description": "Name of the Router resource where Route Policy is defined.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", + "path": "projects/{project}/regions/{region}/routers/{router}/patchRoutePolicy", "request": { - "$ref": "ServiceAttachment" + "$ref": "RoutePolicy" }, "response": { "$ref": "Operation" @@ -37975,15 +38299,15 @@ "https://www.googleapis.com/auth/compute" ] }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", - "flatPath": "projects/{project}/regions/{region}/serviceAttachments/{resource}/setIamPolicy", + "preview": { + "description": "Preview fields auto-generated during router create and update operations. Calling this method does NOT create or update the router.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/preview", "httpMethod": "POST", - "id": "compute.serviceAttachments.setIamPolicy", + "id": "compute.routers.preview", "parameterOrder": [ "project", "region", - "resource" + "router" ], "parameters": { "project": { @@ -37994,37 +38318,38 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "router": { + "description": "Name of the Router resource to query.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/serviceAttachments/{resource}/setIamPolicy", + "path": "projects/{project}/regions/{region}/routers/{router}/preview", "request": { - "$ref": "RegionSetPolicyRequest" + "$ref": "Router" }, "response": { - "$ref": "Policy" + "$ref": "RoutersPreviewResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, "testIamPermissions": { "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/serviceAttachments/{resource}/testIamPermissions", + "flatPath": "projects/{project}/regions/{region}/routers/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.serviceAttachments.testIamPermissions", + "id": "compute.routers.testIamPermissions", "parameterOrder": [ "project", "region", @@ -38053,7 +38378,7 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/serviceAttachments/{resource}/testIamPermissions", + "path": "projects/{project}/regions/{region}/routers/{resource}/testIamPermissions", "request": { "$ref": "TestPermissionsRequest" }, @@ -38065,18 +38390,16 @@ "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - } - } - }, - "snapshotSettings": { - "methods": { - "get": { - "description": "Get snapshot settings.", - "flatPath": "projects/{project}/global/snapshotSettings", - "httpMethod": "GET", - "id": "compute.snapshotSettings.get", + }, + "update": { + "description": "Updates the specified Router resource with the data included in the request. This method conforms to PUT semantics, which requests that the state of the target resource be created or replaced with the state defined by the representation enclosed in the request message payload.", + "flatPath": "projects/{project}/regions/{region}/routers/{router}", + "httpMethod": "PUT", + "id": "compute.routers.update", "parameterOrder": [ - "project" + "project", + "region", + "router" ], "parameters": { "project": { @@ -38085,31 +38408,11 @@ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" - } - }, - "path": "projects/{project}/global/snapshotSettings", - "response": { - "$ref": "SnapshotSettings" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "patch": { - "description": "Patch snapshot settings.", - "flatPath": "projects/{project}/global/snapshotSettings", - "httpMethod": "PATCH", - "id": "compute.snapshotSettings.patch", - "parameterOrder": [ - "project" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", + }, + "region": { + "description": "Name of the region for this request.", "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, @@ -38118,16 +38421,17 @@ "location": "query", "type": "string" }, - "updateMask": { - "description": "update_mask indicates fields to be updated as part of this request.", - "format": "google-fieldmask", - "location": "query", + "router": { + "description": "Name of the Router resource to update.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, "type": "string" } }, - "path": "projects/{project}/global/snapshotSettings", + "path": "projects/{project}/regions/{region}/routers/{router}", "request": { - "$ref": "SnapshotSettings" + "$ref": "Router" }, "response": { "$ref": "Operation" @@ -38136,48 +38440,18 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] - } - } - }, - "snapshots": { - "methods": { - "aggregatedList": { - "description": "Retrieves an aggregated list of all of the snapshots in your project across all regions and global scope. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/snapshots", - "httpMethod": "GET", - "id": "compute.snapshots.aggregatedList", + }, + "updateNamedSet": { + "description": "Updates or creates new Named Set", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/updateNamedSet", + "httpMethod": "POST", + "id": "compute.routers.updateNamedSet", "parameterOrder": [ - "project" + "project", + "region", + "router" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "includeAllScopes": { - "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", - "location": "query", - "type": "boolean" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -38185,36 +38459,47 @@ "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" }, - "serviceProjectNumber": { - "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", - "format": "int64", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" + }, + "router": { + "description": "Name of the Router resource where Named Set is defined.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" } }, - "path": "projects/{project}/aggregated/snapshots", + "path": "projects/{project}/regions/{region}/routers/{router}/updateNamedSet", + "request": { + "$ref": "NamedSet" + }, "response": { - "$ref": "SnapshotAggregatedList" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "delete": { - "description": "Deletes the specified Snapshot resource. Keep in mind that deleting a single snapshot might not necessarily delete all the data on that snapshot. If any data on the snapshot that is marked for deletion is needed for subsequent snapshots, the data will be moved to the next corresponding snapshot. For more information, see Deleting snapshots.", - "flatPath": "projects/{project}/global/snapshots/{snapshot}", - "httpMethod": "DELETE", - "id": "compute.snapshots.delete", + "updateRoutePolicy": { + "description": "Updates or creates new Route Policy", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/updateRoutePolicy", + "httpMethod": "POST", + "id": "compute.routers.updateRoutePolicy", "parameterOrder": [ "project", - "snapshot" + "region", + "router" ], "parameters": { "project": { @@ -38224,20 +38509,30 @@ "required": true, "type": "string" }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, - "snapshot": { - "description": "Name of the Snapshot resource to delete.", + "router": { + "description": "Name of the Router resource where Route Policy is defined.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/snapshots/{snapshot}", + "path": "projects/{project}/regions/{region}/routers/{router}/updateRoutePolicy", + "request": { + "$ref": "RoutePolicy" + }, "response": { "$ref": "Operation" }, @@ -38245,15 +38540,19 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] - }, - "get": { - "description": "Returns the specified Snapshot resource.", - "flatPath": "projects/{project}/global/snapshots/{snapshot}", - "httpMethod": "GET", - "id": "compute.snapshots.get", + } + } + }, + "routes": { + "methods": { + "delete": { + "description": "Deletes the specified Route resource.", + "flatPath": "projects/{project}/global/routes/{route}", + "httpMethod": "DELETE", + "id": "compute.routes.delete", "parameterOrder": [ "project", - "snapshot" + "route" ], "parameters": { "project": { @@ -38263,40 +38562,38 @@ "required": true, "type": "string" }, - "snapshot": { - "description": "Name of the Snapshot resource to return.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "route": { + "description": "Name of the Route resource to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/snapshots/{snapshot}", + "path": "projects/{project}/global/routes/{route}", "response": { - "$ref": "Snapshot" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "getIamPolicy": { - "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", - "flatPath": "projects/{project}/global/snapshots/{resource}/getIamPolicy", + "get": { + "description": "Returns the specified Route resource.", + "flatPath": "projects/{project}/global/routes/{route}", "httpMethod": "GET", - "id": "compute.snapshots.getIamPolicy", + "id": "compute.routes.get", "parameterOrder": [ "project", - "resource" + "route" ], "parameters": { - "optionsRequestedPolicyVersion": { - "description": "Requested IAM Policy version.", - "format": "int32", - "location": "query", - "type": "integer" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -38304,17 +38601,17 @@ "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "route": { + "description": "Name of the Route resource to return.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/snapshots/{resource}/getIamPolicy", + "path": "projects/{project}/global/routes/{route}", "response": { - "$ref": "Policy" + "$ref": "Route" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -38323,10 +38620,10 @@ ] }, "insert": { - "description": "Creates a snapshot in the specified project using the data included in the request. For regular snapshot creation, consider using this method instead of disks.createSnapshot, as this method supports more features, such as creating snapshots in a project different from the source disk project.", - "flatPath": "projects/{project}/global/snapshots", + "description": "Creates a Route resource in the specified project using the data included in the request.", + "flatPath": "projects/{project}/global/routes", "httpMethod": "POST", - "id": "compute.snapshots.insert", + "id": "compute.routes.insert", "parameterOrder": [ "project" ], @@ -38344,9 +38641,9 @@ "type": "string" } }, - "path": "projects/{project}/global/snapshots", + "path": "projects/{project}/global/routes", "request": { - "$ref": "Snapshot" + "$ref": "Route" }, "response": { "$ref": "Operation" @@ -38357,10 +38654,10 @@ ] }, "list": { - "description": "Retrieves the list of Snapshot resources contained within the specified project.", - "flatPath": "projects/{project}/global/snapshots", + "description": "Retrieves the list of Route resources available to the specified project.", + "flatPath": "projects/{project}/global/routes", "httpMethod": "GET", - "id": "compute.snapshots.list", + "id": "compute.routes.list", "parameterOrder": [ "project" ], @@ -38401,9 +38698,9 @@ "type": "boolean" } }, - "path": "projects/{project}/global/snapshots", + "path": "projects/{project}/global/routes", "response": { - "$ref": "SnapshotList" + "$ref": "RouteList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -38411,11 +38708,11 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", - "flatPath": "projects/{project}/global/snapshots/{resource}/setIamPolicy", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/global/routes/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.snapshots.setIamPolicy", + "id": "compute.routes.testIamPermissions", "parameterOrder": [ "project", "resource" @@ -38436,26 +38733,31 @@ "type": "string" } }, - "path": "projects/{project}/global/snapshots/{resource}/setIamPolicy", + "path": "projects/{project}/global/routes/{resource}/testIamPermissions", "request": { - "$ref": "GlobalSetPolicyRequest" + "$ref": "TestPermissionsRequest" }, "response": { - "$ref": "Policy" + "$ref": "TestPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] - }, - "setLabels": { - "description": "Sets the labels on a snapshot. To learn more about labels, read the Labeling Resources documentation.", - "flatPath": "projects/{project}/global/snapshots/{resource}/setLabels", + } + } + }, + "securityPolicies": { + "methods": { + "addRule": { + "description": "Inserts a rule into a security policy.", + "flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/addRule", "httpMethod": "POST", - "id": "compute.snapshots.setLabels", + "id": "compute.securityPolicies.addRule", "parameterOrder": [ "project", - "resource" + "securityPolicy" ], "parameters": { "project": { @@ -38465,17 +38767,22 @@ "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "securityPolicy": { + "description": "Name of the security policy to update.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" + }, + "validateOnly": { + "description": "If true, the request will not be committed.", + "location": "query", + "type": "boolean" } }, - "path": "projects/{project}/global/snapshots/{resource}/setLabels", + "path": "projects/{project}/global/securityPolicies/{securityPolicy}/addRule", "request": { - "$ref": "GlobalSetLabelsRequest" + "$ref": "SecurityPolicyRule" }, "response": { "$ref": "Operation" @@ -38485,53 +38792,11 @@ "https://www.googleapis.com/auth/compute" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/global/snapshots/{resource}/testIamPermissions", - "httpMethod": "POST", - "id": "compute.snapshots.testIamPermissions", - "parameterOrder": [ - "project", - "resource" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/global/snapshots/{resource}/testIamPermissions", - "request": { - "$ref": "TestPermissionsRequest" - }, - "response": { - "$ref": "TestPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - } - } - }, - "sslCertificates": { - "methods": { "aggregatedList": { - "description": "Retrieves the list of all SslCertificate resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/sslCertificates", + "description": "Retrieves the list of all SecurityPolicy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/securityPolicies", "httpMethod": "GET", - "id": "compute.sslCertificates.aggregatedList", + "id": "compute.securityPolicies.aggregatedList", "parameterOrder": [ "project" ], @@ -38583,9 +38848,9 @@ "type": "string" } }, - "path": "projects/{project}/aggregated/sslCertificates", + "path": "projects/{project}/aggregated/securityPolicies", "response": { - "$ref": "SslCertificateAggregatedList" + "$ref": "SecurityPoliciesAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -38594,13 +38859,13 @@ ] }, "delete": { - "description": "Deletes the specified SslCertificate resource.", - "flatPath": "projects/{project}/global/sslCertificates/{sslCertificate}", + "description": "Deletes the specified policy.", + "flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}", "httpMethod": "DELETE", - "id": "compute.sslCertificates.delete", + "id": "compute.securityPolicies.delete", "parameterOrder": [ "project", - "sslCertificate" + "securityPolicy" ], "parameters": { "project": { @@ -38615,15 +38880,15 @@ "location": "query", "type": "string" }, - "sslCertificate": { - "description": "Name of the SslCertificate resource to delete.", + "securityPolicy": { + "description": "Name of the security policy to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/sslCertificates/{sslCertificate}", + "path": "projects/{project}/global/securityPolicies/{securityPolicy}", "response": { "$ref": "Operation" }, @@ -38633,13 +38898,13 @@ ] }, "get": { - "description": "Returns the specified SslCertificate resource.", - "flatPath": "projects/{project}/global/sslCertificates/{sslCertificate}", + "description": "List all of the ordered rules present in a single specified policy.", + "flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}", "httpMethod": "GET", - "id": "compute.sslCertificates.get", + "id": "compute.securityPolicies.get", "parameterOrder": [ "project", - "sslCertificate" + "securityPolicy" ], "parameters": { "project": { @@ -38649,17 +38914,58 @@ "required": true, "type": "string" }, - "sslCertificate": { - "description": "Name of the SslCertificate resource to return.", + "securityPolicy": { + "description": "Name of the security policy to get.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/sslCertificates/{sslCertificate}", + "path": "projects/{project}/global/securityPolicies/{securityPolicy}", "response": { - "$ref": "SslCertificate" + "$ref": "SecurityPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "getRule": { + "description": "Gets a rule at the specified priority.", + "flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/getRule", + "httpMethod": "GET", + "id": "compute.securityPolicies.getRule", + "parameterOrder": [ + "project", + "securityPolicy" + ], + "parameters": { + "priority": { + "description": "The priority of the rule to get from the security policy.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "securityPolicy": { + "description": "Name of the security policy to which the queried rule belongs.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/securityPolicies/{securityPolicy}/getRule", + "response": { + "$ref": "SecurityPolicyRule" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -38668,10 +38974,10 @@ ] }, "insert": { - "description": "Creates a SslCertificate resource in the specified project using the data included in the request.", - "flatPath": "projects/{project}/global/sslCertificates", + "description": "Creates a new policy in the specified project using the data included in the request.", + "flatPath": "projects/{project}/global/securityPolicies", "httpMethod": "POST", - "id": "compute.sslCertificates.insert", + "id": "compute.securityPolicies.insert", "parameterOrder": [ "project" ], @@ -38687,11 +38993,16 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" + }, + "validateOnly": { + "description": "If true, the request will not be committed.", + "location": "query", + "type": "boolean" } }, - "path": "projects/{project}/global/sslCertificates", + "path": "projects/{project}/global/securityPolicies", "request": { - "$ref": "SslCertificate" + "$ref": "SecurityPolicy" }, "response": { "$ref": "Operation" @@ -38702,10 +39013,10 @@ ] }, "list": { - "description": "Retrieves the list of SslCertificate resources available to the specified project.", - "flatPath": "projects/{project}/global/sslCertificates", + "description": "List all the policies that have been configured for the specified project.", + "flatPath": "projects/{project}/global/securityPolicies", "httpMethod": "GET", - "id": "compute.sslCertificates.list", + "id": "compute.securityPolicies.list", "parameterOrder": [ "project" ], @@ -38746,9 +39057,9 @@ "type": "boolean" } }, - "path": "projects/{project}/global/sslCertificates", + "path": "projects/{project}/global/securityPolicies", "response": { - "$ref": "SslCertificateList" + "$ref": "SecurityPolicyList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -38756,53 +39067,11 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/global/sslCertificates/{resource}/testIamPermissions", - "httpMethod": "POST", - "id": "compute.sslCertificates.testIamPermissions", - "parameterOrder": [ - "project", - "resource" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/global/sslCertificates/{resource}/testIamPermissions", - "request": { - "$ref": "TestPermissionsRequest" - }, - "response": { - "$ref": "TestPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - } - } - }, - "sslPolicies": { - "methods": { - "aggregatedList": { - "description": "Retrieves the list of all SslPolicy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/sslPolicies", + "listPreconfiguredExpressionSets": { + "description": "Gets the current list of preconfigured Web Application Firewall (WAF) expressions.", + "flatPath": "projects/{project}/global/securityPolicies/listPreconfiguredExpressionSets", "httpMethod": "GET", - "id": "compute.sslPolicies.aggregatedList", + "id": "compute.securityPolicies.listPreconfiguredExpressionSets", "parameterOrder": [ "project" ], @@ -38812,11 +39081,6 @@ "location": "query", "type": "string" }, - "includeAllScopes": { - "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", - "location": "query", - "type": "boolean" - }, "maxResults": { "default": "500", "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", @@ -38836,7 +39100,7 @@ "type": "string" }, "project": { - "description": "Name of the project scoping this request.", + "description": "Project ID for this request.", "location": "path", "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, @@ -38846,17 +39110,11 @@ "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" - }, - "serviceProjectNumber": { - "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", - "format": "int64", - "location": "query", - "type": "string" } }, - "path": "projects/{project}/aggregated/sslPolicies", + "path": "projects/{project}/global/securityPolicies/listPreconfiguredExpressionSets", "response": { - "$ref": "SslPoliciesAggregatedList" + "$ref": "SecurityPoliciesListPreconfiguredExpressionSetsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -38864,16 +39122,21 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "delete": { - "description": "Deletes the specified SSL policy. The SSL policy resource can be deleted only if it is not in use by any TargetHttpsProxy or TargetSslProxy resources.", - "flatPath": "projects/{project}/global/sslPolicies/{sslPolicy}", - "httpMethod": "DELETE", - "id": "compute.sslPolicies.delete", + "patch": { + "description": "Patches the specified policy with the data included in the request. To clear fields in the policy, leave the fields empty and specify them in the updateMask. This cannot be used to be update the rules in the policy. Please use the per rule methods like addRule, patchRule, and removeRule instead.", + "flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}", + "httpMethod": "PATCH", + "id": "compute.securityPolicies.patch", "parameterOrder": [ "project", - "sslPolicy" + "securityPolicy" ], "parameters": { + "paths": { + "location": "query", + "repeated": true, + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -38886,14 +39149,24 @@ "location": "query", "type": "string" }, - "sslPolicy": { - "description": "Name of the SSL policy to delete. The name must be 1-63 characters long, and comply with RFC1035.", + "securityPolicy": { + "description": "Name of the security policy to update.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" + }, + "updateMask": { + "description": "Indicates fields to be cleared as part of this request.", + "format": "google-fieldmask", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/global/sslPolicies/{sslPolicy}", + "path": "projects/{project}/global/securityPolicies/{securityPolicy}", + "request": { + "$ref": "SecurityPolicy" + }, "response": { "$ref": "Operation" }, @@ -38902,16 +39175,22 @@ "https://www.googleapis.com/auth/compute" ] }, - "get": { - "description": "Lists all of the ordered rules present in a single specified policy.", - "flatPath": "projects/{project}/global/sslPolicies/{sslPolicy}", - "httpMethod": "GET", - "id": "compute.sslPolicies.get", + "patchRule": { + "description": "Patches a rule at the specified priority. To clear fields in the rule, leave the fields empty and specify them in the updateMask.", + "flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/patchRule", + "httpMethod": "POST", + "id": "compute.securityPolicies.patchRule", "parameterOrder": [ "project", - "sslPolicy" + "securityPolicy" ], "parameters": { + "priority": { + "description": "The priority of the rule to patch.", + "format": "int32", + "location": "query", + "type": "integer" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -38919,48 +39198,28 @@ "required": true, "type": "string" }, - "sslPolicy": { - "description": "Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/global/sslPolicies/{sslPolicy}", - "response": { - "$ref": "SslPolicy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "insert": { - "description": "Returns the specified SSL policy resource.", - "flatPath": "projects/{project}/global/sslPolicies", - "httpMethod": "POST", - "id": "compute.sslPolicies.insert", - "parameterOrder": [ - "project" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", + "securityPolicy": { + "description": "Name of the security policy to update.", "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "updateMask": { + "description": "Indicates fields to be cleared as part of this request.", + "format": "google-fieldmask", "location": "query", "type": "string" + }, + "validateOnly": { + "description": "If true, the request will not be committed.", + "location": "query", + "type": "boolean" } }, - "path": "projects/{project}/global/sslPolicies", + "path": "projects/{project}/global/securityPolicies/{securityPolicy}/patchRule", "request": { - "$ref": "SslPolicy" + "$ref": "SecurityPolicyRule" }, "response": { "$ref": "Operation" @@ -38970,38 +39229,22 @@ "https://www.googleapis.com/auth/compute" ] }, - "list": { - "description": "Lists all the SSL policies that have been configured for the specified project.", - "flatPath": "projects/{project}/global/sslPolicies", - "httpMethod": "GET", - "id": "compute.sslPolicies.list", + "removeRule": { + "description": "Deletes a rule at the specified priority.", + "flatPath": "projects/{project}/global/securityPolicies/{securityPolicy}/removeRule", + "httpMethod": "POST", + "id": "compute.securityPolicies.removeRule", "parameterOrder": [ - "project" + "project", + "securityPolicy" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", + "priority": { + "description": "The priority of the rule to remove from the security policy.", + "format": "int32", "location": "query", - "minimum": "0", "type": "integer" }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -39009,85 +39252,31 @@ "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" - } - }, - "path": "projects/{project}/global/sslPolicies", - "response": { - "$ref": "SslPoliciesList" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "listAvailableFeatures": { - "description": "Lists all features that can be specified in the SSL policy when using custom profile.", - "flatPath": "projects/{project}/global/sslPolicies/listAvailableFeatures", - "httpMethod": "GET", - "id": "compute.sslPolicies.listAvailableFeatures", - "parameterOrder": [ - "project" - ], - "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, - "project": { - "description": "Project ID for this request.", + "securityPolicy": { + "description": "Name of the security policy to update.", "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" - }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" } }, - "path": "projects/{project}/global/sslPolicies/listAvailableFeatures", + "path": "projects/{project}/global/securityPolicies/{securityPolicy}/removeRule", "response": { - "$ref": "SslPoliciesListAvailableFeaturesResponse" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "patch": { - "description": "Patches the specified SSL policy with the data included in the request.", - "flatPath": "projects/{project}/global/sslPolicies/{sslPolicy}", - "httpMethod": "PATCH", - "id": "compute.sslPolicies.patch", + "setLabels": { + "description": "Sets the labels on a security policy. To learn more about labels, read the Labeling Resources documentation.", + "flatPath": "projects/{project}/global/securityPolicies/{resource}/setLabels", + "httpMethod": "POST", + "id": "compute.securityPolicies.setLabels", "parameterOrder": [ "project", - "sslPolicy" + "resource" ], "parameters": { "project": { @@ -39097,21 +39286,17 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "sslPolicy": { - "description": "Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/sslPolicies/{sslPolicy}", + "path": "projects/{project}/global/securityPolicies/{resource}/setLabels", "request": { - "$ref": "SslPolicy" + "$ref": "GlobalSetLabelsRequest" }, "response": { "$ref": "Operation" @@ -39123,9 +39308,9 @@ }, "testIamPermissions": { "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/global/sslPolicies/{resource}/testIamPermissions", + "flatPath": "projects/{project}/global/securityPolicies/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.sslPolicies.testIamPermissions", + "id": "compute.securityPolicies.testIamPermissions", "parameterOrder": [ "project", "resource" @@ -39146,7 +39331,7 @@ "type": "string" } }, - "path": "projects/{project}/global/sslPolicies/{resource}/testIamPermissions", + "path": "projects/{project}/global/securityPolicies/{resource}/testIamPermissions", "request": { "$ref": "TestPermissionsRequest" }, @@ -39161,13 +39346,13 @@ } } }, - "storagePoolTypes": { + "serviceAttachments": { "methods": { "aggregatedList": { - "description": "Retrieves an aggregated list of storage pool types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/storagePoolTypes", + "description": "Retrieves the list of all ServiceAttachment resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/serviceAttachments", "httpMethod": "GET", - "id": "compute.storagePoolTypes.aggregatedList", + "id": "compute.serviceAttachments.aggregatedList", "parameterOrder": [ "project" ], @@ -39201,7 +39386,7 @@ "type": "string" }, "project": { - "description": "Project ID for this request.", + "description": "Name of the project scoping this request.", "location": "path", "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, @@ -39219,52 +39404,9 @@ "type": "string" } }, - "path": "projects/{project}/aggregated/storagePoolTypes", - "response": { - "$ref": "StoragePoolTypeAggregatedList" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "get": { - "description": "Returns the specified storage pool type.", - "flatPath": "projects/{project}/zones/{zone}/storagePoolTypes/{storagePoolType}", - "httpMethod": "GET", - "id": "compute.storagePoolTypes.get", - "parameterOrder": [ - "project", - "zone", - "storagePoolType" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "storagePoolType": { - "description": "Name of the storage pool type to return.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, - "zone": { - "description": "The name of the zone for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/zones/{zone}/storagePoolTypes/{storagePoolType}", + "path": "projects/{project}/aggregated/serviceAttachments", "response": { - "$ref": "StoragePoolType" + "$ref": "ServiceAttachmentAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -39272,39 +39414,17 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "list": { - "description": "Retrieves a list of storage pool types available to the specified project.", - "flatPath": "projects/{project}/zones/{zone}/storagePoolTypes", - "httpMethod": "GET", - "id": "compute.storagePoolTypes.list", + "delete": { + "description": "Deletes the specified ServiceAttachment in the given scope", + "flatPath": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", + "httpMethod": "DELETE", + "id": "compute.serviceAttachments.delete", "parameterOrder": [ "project", - "zone" + "region", + "serviceAttachment" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -39312,137 +39432,27 @@ "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" - }, - "zone": { - "description": "The name of the zone for this request.", + "region": { + "description": "Name of the region of this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" - } - }, - "path": "projects/{project}/zones/{zone}/storagePoolTypes", - "response": { - "$ref": "StoragePoolTypeList" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - } - } - }, - "storagePools": { - "methods": { - "aggregatedList": { - "description": "Retrieves an aggregated list of storage pools. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/storagePools", - "httpMethod": "GET", - "id": "compute.storagePools.aggregatedList", - "parameterOrder": [ - "project" - ], - "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "includeAllScopes": { - "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", - "location": "query", - "type": "boolean" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" - }, - "serviceProjectNumber": { - "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", - "format": "int64", - "location": "query", - "type": "string" - } - }, - "path": "projects/{project}/aggregated/storagePools", - "response": { - "$ref": "StoragePoolAggregatedList" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "delete": { - "description": "Deletes the specified storage pool. Deleting a storagePool removes its data permanently and is irreversible. However, deleting a storagePool does not delete any snapshots previously made from the storagePool. You must separately delete snapshots.", - "flatPath": "projects/{project}/zones/{zone}/storagePools/{storagePool}", - "httpMethod": "DELETE", - "id": "compute.storagePools.delete", - "parameterOrder": [ - "project", - "zone", - "storagePool" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, - "storagePool": { - "description": "Name of the storage pool to delete.", - "location": "path", - "required": true, - "type": "string" - }, - "zone": { - "description": "The name of the zone for this request.", + "serviceAttachment": { + "description": "Name of the ServiceAttachment resource to delete.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/storagePools/{storagePool}", + "path": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", "response": { "$ref": "Operation" }, @@ -39452,14 +39462,14 @@ ] }, "get": { - "description": "Returns a specified storage pool. Gets a list of available storage pools by making a list() request.", - "flatPath": "projects/{project}/zones/{zone}/storagePools/{storagePool}", + "description": "Returns the specified ServiceAttachment resource in the given scope.", + "flatPath": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", "httpMethod": "GET", - "id": "compute.storagePools.get", + "id": "compute.serviceAttachments.get", "parameterOrder": [ "project", - "zone", - "storagePool" + "region", + "serviceAttachment" ], "parameters": { "project": { @@ -39469,24 +39479,24 @@ "required": true, "type": "string" }, - "storagePool": { - "description": "Name of the storage pool to return.", + "region": { + "description": "Name of the region of this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "zone": { - "description": "The name of the zone for this request.", + "serviceAttachment": { + "description": "Name of the ServiceAttachment resource to return.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/storagePools/{storagePool}", + "path": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", "response": { - "$ref": "StoragePool" + "$ref": "ServiceAttachment" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -39496,12 +39506,12 @@ }, "getIamPolicy": { "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", - "flatPath": "projects/{project}/zones/{zone}/storagePools/{resource}/getIamPolicy", + "flatPath": "projects/{project}/regions/{region}/serviceAttachments/{resource}/getIamPolicy", "httpMethod": "GET", - "id": "compute.storagePools.getIamPolicy", + "id": "compute.serviceAttachments.getIamPolicy", "parameterOrder": [ "project", - "zone", + "region", "resource" ], "parameters": { @@ -39518,22 +39528,22 @@ "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "region": { + "description": "The name of the region for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "zone": { - "description": "The name of the zone for this request.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/storagePools/{resource}/getIamPolicy", + "path": "projects/{project}/regions/{region}/serviceAttachments/{resource}/getIamPolicy", "response": { "$ref": "Policy" }, @@ -39544,13 +39554,13 @@ ] }, "insert": { - "description": "Creates a storage pool in the specified project using the data in the request.", - "flatPath": "projects/{project}/zones/{zone}/storagePools", + "description": "Creates a ServiceAttachment in the specified project in the given scope using the parameters that are included in the request.", + "flatPath": "projects/{project}/regions/{region}/serviceAttachments", "httpMethod": "POST", - "id": "compute.storagePools.insert", + "id": "compute.serviceAttachments.insert", "parameterOrder": [ "project", - "zone" + "region" ], "parameters": { "project": { @@ -39560,22 +39570,22 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "zone": { - "description": "The name of the zone for this request.", + "region": { + "description": "Name of the region of this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/zones/{zone}/storagePools", + "path": "projects/{project}/regions/{region}/serviceAttachments", "request": { - "$ref": "StoragePool" + "$ref": "ServiceAttachment" }, "response": { "$ref": "Operation" @@ -39586,13 +39596,13 @@ ] }, "list": { - "description": "Retrieves a list of storage pools contained within the specified zone.", - "flatPath": "projects/{project}/zones/{zone}/storagePools", + "description": "Lists the ServiceAttachments for a project in the given scope.", + "flatPath": "projects/{project}/regions/{region}/serviceAttachments", "httpMethod": "GET", - "id": "compute.storagePools.list", + "id": "compute.serviceAttachments.list", "parameterOrder": [ "project", - "zone" + "region" ], "parameters": { "filter": { @@ -39625,22 +39635,22 @@ "required": true, "type": "string" }, + "region": { + "description": "Name of the region of this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, "returnPartialSuccess": { "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" - }, - "zone": { - "description": "The name of the zone for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" } }, - "path": "projects/{project}/zones/{zone}/storagePools", + "path": "projects/{project}/regions/{region}/serviceAttachments", "response": { - "$ref": "StoragePoolList" + "$ref": "ServiceAttachmentList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -39648,40 +39658,17 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "listDisks": { - "description": "Lists the disks in a specified storage pool.", - "flatPath": "projects/{project}/zones/{zone}/storagePools/{storagePool}/listDisks", - "httpMethod": "GET", - "id": "compute.storagePools.listDisks", + "patch": { + "description": "Patches the specified ServiceAttachment resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", + "flatPath": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", + "httpMethod": "PATCH", + "id": "compute.serviceAttachments.patch", "parameterOrder": [ "project", - "zone", - "storagePool" + "region", + "serviceAttachment" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -39689,44 +39676,44 @@ "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" - }, - "storagePool": { - "description": "Name of the storage pool to list disks of.", + "region": { + "description": "The region scoping this request and should conform to RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "zone": { - "description": "The name of the zone for this request.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "serviceAttachment": { + "description": "The resource id of the ServiceAttachment to patch. It should conform to RFC1035 resource name or be a string form on an unsigned long number.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/storagePools/{storagePool}/listDisks", + "path": "projects/{project}/regions/{region}/serviceAttachments/{serviceAttachment}", + "request": { + "$ref": "ServiceAttachment" + }, "response": { - "$ref": "StoragePoolListDisks" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, "setIamPolicy": { "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", - "flatPath": "projects/{project}/zones/{zone}/storagePools/{resource}/setIamPolicy", + "flatPath": "projects/{project}/regions/{region}/serviceAttachments/{resource}/setIamPolicy", "httpMethod": "POST", - "id": "compute.storagePools.setIamPolicy", + "id": "compute.serviceAttachments.setIamPolicy", "parameterOrder": [ "project", - "zone", + "region", "resource" ], "parameters": { @@ -39737,24 +39724,24 @@ "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "region": { + "description": "The name of the region for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "zone": { - "description": "The name of the zone for this request.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/storagePools/{resource}/setIamPolicy", + "path": "projects/{project}/regions/{region}/serviceAttachments/{resource}/setIamPolicy", "request": { - "$ref": "ZoneSetPolicyRequest" + "$ref": "RegionSetPolicyRequest" }, "response": { "$ref": "Policy" @@ -39764,14 +39751,14 @@ "https://www.googleapis.com/auth/compute" ] }, - "setLabels": { - "description": "Sets the labels on a storage pools. To learn more about labels, read the Labeling Resources documentation.", - "flatPath": "projects/{project}/zones/{zone}/storagePools/{resource}/setLabels", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/regions/{region}/serviceAttachments/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.storagePools.setLabels", + "id": "compute.serviceAttachments.testIamPermissions", "parameterOrder": [ "project", - "zone", + "region", "resource" ], "parameters": { @@ -39782,9 +39769,11 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, "type": "string" }, "resource": { @@ -39793,36 +39782,32 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" - }, - "zone": { - "description": "The name of the zone for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" } }, - "path": "projects/{project}/zones/{zone}/storagePools/{resource}/setLabels", + "path": "projects/{project}/regions/{region}/serviceAttachments/{resource}/testIamPermissions", "request": { - "$ref": "ZoneSetLabelsRequest" + "$ref": "TestPermissionsRequest" }, "response": { - "$ref": "Operation" + "$ref": "TestPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] - }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/zones/{zone}/storagePools/{resource}/testIamPermissions", - "httpMethod": "POST", - "id": "compute.storagePools.testIamPermissions", + } + } + }, + "snapshotSettings": { + "methods": { + "get": { + "description": "Get snapshot settings.", + "flatPath": "projects/{project}/global/snapshotSettings", + "httpMethod": "GET", + "id": "compute.snapshotSettings.get", "parameterOrder": [ - "project", - "zone", - "resource" + "project" ], "parameters": { "project": { @@ -39831,28 +39816,11 @@ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" - }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, - "zone": { - "description": "The name of the zone for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" } }, - "path": "projects/{project}/zones/{zone}/storagePools/{resource}/testIamPermissions", - "request": { - "$ref": "TestPermissionsRequest" - }, + "path": "projects/{project}/global/snapshotSettings", "response": { - "$ref": "TestPermissionsResponse" + "$ref": "SnapshotSettings" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -39860,15 +39828,13 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "update": { - "description": "Updates the specified storagePool with the data included in the request. The update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: pool_provisioned_capacity_gb, pool_provisioned_iops and pool_provisioned_throughput.", - "flatPath": "projects/{project}/zones/{zone}/storagePools/{storagePool}", + "patch": { + "description": "Patch snapshot settings.", + "flatPath": "projects/{project}/global/snapshotSettings", "httpMethod": "PATCH", - "id": "compute.storagePools.update", + "id": "compute.snapshotSettings.patch", "parameterOrder": [ - "project", - "zone", - "storagePool" + "project" ], "parameters": { "project": { @@ -39883,30 +39849,16 @@ "location": "query", "type": "string" }, - "storagePool": { - "description": "The storagePool name for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, "updateMask": { "description": "update_mask indicates fields to be updated as part of this request.", "format": "google-fieldmask", "location": "query", "type": "string" - }, - "zone": { - "description": "The name of the zone for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" } }, - "path": "projects/{project}/zones/{zone}/storagePools/{storagePool}", + "path": "projects/{project}/global/snapshotSettings", "request": { - "$ref": "StoragePool" + "$ref": "SnapshotSettings" }, "response": { "$ref": "Operation" @@ -39918,13 +39870,13 @@ } } }, - "subnetworks": { + "snapshots": { "methods": { "aggregatedList": { - "description": "Retrieves an aggregated list of subnetworks. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/subnetworks", + "description": "Retrieves an aggregated list of all of the snapshots in your project across all regions and global scope. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/snapshots", "httpMethod": "GET", - "id": "compute.subnetworks.aggregatedList", + "id": "compute.snapshots.aggregatedList", "parameterOrder": [ "project" ], @@ -39976,9 +39928,9 @@ "type": "string" } }, - "path": "projects/{project}/aggregated/subnetworks", + "path": "projects/{project}/aggregated/snapshots", "response": { - "$ref": "SubnetworkAggregatedList" + "$ref": "SnapshotAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -39987,61 +39939,13 @@ ] }, "delete": { - "description": "Deletes the specified subnetwork.", - "flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", + "description": "Deletes the specified Snapshot resource. Keep in mind that deleting a single snapshot might not necessarily delete all the data on that snapshot. If any data on the snapshot that is marked for deletion is needed for subsequent snapshots, the data will be moved to the next corresponding snapshot. For more information, see Deleting snapshots.", + "flatPath": "projects/{project}/global/snapshots/{snapshot}", "httpMethod": "DELETE", - "id": "compute.subnetworks.delete", - "parameterOrder": [ - "project", - "region", - "subnetwork" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "Name of the region scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "subnetwork": { - "description": "Name of the Subnetwork resource to delete.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "expandIpCidrRange": { - "description": "Expands the IP CIDR range of the subnetwork to a specified value.", - "flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}/expandIpCidrRange", - "httpMethod": "POST", - "id": "compute.subnetworks.expandIpCidrRange", + "id": "compute.snapshots.delete", "parameterOrder": [ "project", - "region", - "subnetwork" + "snapshot" ], "parameters": { "project": { @@ -40051,30 +39955,20 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, - "subnetwork": { - "description": "Name of the Subnetwork resource to update.", + "snapshot": { + "description": "Name of the Snapshot resource to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}/expandIpCidrRange", - "request": { - "$ref": "SubnetworksExpandIpCidrRangeRequest" - }, + "path": "projects/{project}/global/snapshots/{snapshot}", "response": { "$ref": "Operation" }, @@ -40084,14 +39978,13 @@ ] }, "get": { - "description": "Returns the specified subnetwork.", - "flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", + "description": "Returns the specified Snapshot resource.", + "flatPath": "projects/{project}/global/snapshots/{snapshot}", "httpMethod": "GET", - "id": "compute.subnetworks.get", + "id": "compute.snapshots.get", "parameterOrder": [ "project", - "region", - "subnetwork" + "snapshot" ], "parameters": { "project": { @@ -40101,24 +39994,17 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "subnetwork": { - "description": "Name of the Subnetwork resource to return.", + "snapshot": { + "description": "Name of the Snapshot resource to return.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", + "path": "projects/{project}/global/snapshots/{snapshot}", "response": { - "$ref": "Subnetwork" + "$ref": "Snapshot" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -40128,12 +40014,11 @@ }, "getIamPolicy": { "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", - "flatPath": "projects/{project}/regions/{region}/subnetworks/{resource}/getIamPolicy", + "flatPath": "projects/{project}/global/snapshots/{resource}/getIamPolicy", "httpMethod": "GET", - "id": "compute.subnetworks.getIamPolicy", + "id": "compute.snapshots.getIamPolicy", "parameterOrder": [ "project", - "region", "resource" ], "parameters": { @@ -40150,22 +40035,15 @@ "required": true, "type": "string" }, - "region": { - "description": "The name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "resource": { "description": "Name or id of the resource for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/subnetworks/{resource}/getIamPolicy", + "path": "projects/{project}/global/snapshots/{resource}/getIamPolicy", "response": { "$ref": "Policy" }, @@ -40176,13 +40054,12 @@ ] }, "insert": { - "description": "Creates a subnetwork in the specified project using the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/subnetworks", + "description": "Creates a snapshot in the specified project using the data included in the request. For regular snapshot creation, consider using this method instead of disks.createSnapshot, as this method supports more features, such as creating snapshots in a project different from the source disk project.", + "flatPath": "projects/{project}/global/snapshots", "httpMethod": "POST", - "id": "compute.subnetworks.insert", + "id": "compute.snapshots.insert", "parameterOrder": [ - "project", - "region" + "project" ], "parameters": { "project": { @@ -40192,22 +40069,15 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/subnetworks", + "path": "projects/{project}/global/snapshots", "request": { - "$ref": "Subnetwork" + "$ref": "Snapshot" }, "response": { "$ref": "Operation" @@ -40218,13 +40088,12 @@ ] }, "list": { - "description": "Retrieves a list of subnetworks available to the specified project.", - "flatPath": "projects/{project}/regions/{region}/subnetworks", + "description": "Retrieves the list of Snapshot resources contained within the specified project.", + "flatPath": "projects/{project}/global/snapshots", "httpMethod": "GET", - "id": "compute.subnetworks.list", + "id": "compute.snapshots.list", "parameterOrder": [ - "project", - "region" + "project" ], "parameters": { "filter": { @@ -40257,22 +40126,15 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "returnPartialSuccess": { "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/subnetworks", + "path": "projects/{project}/global/snapshots", "response": { - "$ref": "SubnetworkList" + "$ref": "SnapshotList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -40280,38 +40142,16 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "listUsable": { - "description": "Retrieves an aggregated list of all usable subnetworks in the project.", - "flatPath": "projects/{project}/aggregated/subnetworks/listUsable", - "httpMethod": "GET", - "id": "compute.subnetworks.listUsable", + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "projects/{project}/global/snapshots/{resource}/setIamPolicy", + "httpMethod": "POST", + "id": "compute.snapshots.setIamPolicy", "parameterOrder": [ - "project" + "project", + "resource" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -40319,44 +40159,36 @@ "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" - }, - "serviceProject": { - "description": "The project id or project number in which the subnetwork is intended to be used. Only applied for Shared VPC. See [Shared VPC documentation](https://cloud.google.com/vpc/docs/shared-vpc/)", - "location": "query", + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, "type": "string" } }, - "path": "projects/{project}/aggregated/subnetworks/listUsable", + "path": "projects/{project}/global/snapshots/{resource}/setIamPolicy", + "request": { + "$ref": "GlobalSetPolicyRequest" + }, "response": { - "$ref": "UsableSubnetworksAggregatedList" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "patch": { - "description": "Patches the specified subnetwork with the data included in the request. Only certain fields can be updated with a patch request as indicated in the field descriptions. You must specify the current fingerprint of the subnetwork resource being patched.", - "flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", - "httpMethod": "PATCH", - "id": "compute.subnetworks.patch", + "setLabels": { + "description": "Sets the labels on a snapshot. To learn more about labels, read the Labeling Resources documentation.", + "flatPath": "projects/{project}/global/snapshots/{resource}/setLabels", + "httpMethod": "POST", + "id": "compute.snapshots.setLabels", "parameterOrder": [ "project", - "region", - "subnetwork" + "resource" ], "parameters": { - "drainTimeoutSeconds": { - "description": "The drain timeout specifies the upper bound in seconds on the amount of time allowed to drain connections from the current ACTIVE subnetwork to the current BACKUP subnetwork. The drain timeout is only applicable when the following conditions are true: - the subnetwork being patched has purpose = INTERNAL_HTTPS_LOAD_BALANCER - the subnetwork being patched has role = BACKUP - the patch request is setting the role to ACTIVE. Note that after this patch operation the roles of the ACTIVE and BACKUP subnetworks will be swapped.", - "format": "int32", - "location": "query", - "type": "integer" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -40364,29 +40196,17 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "subnetwork": { - "description": "Name of the Subnetwork resource to patch.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", + "path": "projects/{project}/global/snapshots/{resource}/setLabels", "request": { - "$ref": "Subnetwork" + "$ref": "GlobalSetLabelsRequest" }, "response": { "$ref": "Operation" @@ -40396,14 +40216,13 @@ "https://www.googleapis.com/auth/compute" ] }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", - "flatPath": "projects/{project}/regions/{region}/subnetworks/{resource}/setIamPolicy", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/global/snapshots/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.subnetworks.setIamPolicy", + "id": "compute.snapshots.testIamPermissions", "parameterOrder": [ "project", - "region", "resource" ], "parameters": { @@ -40414,141 +40233,105 @@ "required": true, "type": "string" }, - "region": { - "description": "The name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "resource": { "description": "Name or id of the resource for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/subnetworks/{resource}/setIamPolicy", + "path": "projects/{project}/global/snapshots/{resource}/testIamPermissions", "request": { - "$ref": "RegionSetPolicyRequest" + "$ref": "TestPermissionsRequest" }, "response": { - "$ref": "Policy" + "$ref": "TestPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] - }, - "setPrivateIpGoogleAccess": { - "description": "Set whether VMs in this subnet can access Google services without assigning external IP addresses through Private Google Access.", - "flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}/setPrivateIpGoogleAccess", - "httpMethod": "POST", - "id": "compute.subnetworks.setPrivateIpGoogleAccess", + } + } + }, + "sslCertificates": { + "methods": { + "aggregatedList": { + "description": "Retrieves the list of all SslCertificate resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/sslCertificates", + "httpMethod": "GET", + "id": "compute.sslCertificates.aggregatedList", "parameterOrder": [ - "project", - "region", - "subnetwork" + "project" ], "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", "type": "string" }, - "region": { - "description": "Name of the region scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "location": "query", + "type": "boolean" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", "location": "query", "type": "string" }, - "subnetwork": { - "description": "Name of the Subnetwork resource.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}/setPrivateIpGoogleAccess", - "request": { - "$ref": "SubnetworksSetPrivateIpGoogleAccessRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/subnetworks/{resource}/testIamPermissions", - "httpMethod": "POST", - "id": "compute.subnetworks.testIamPermissions", - "parameterOrder": [ - "project", - "region", - "resource" - ], - "parameters": { + }, "project": { - "description": "Project ID for this request.", + "description": "Name of the project scoping this request.", "location": "path", "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" }, - "region": { - "description": "The name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" }, - "resource": { - "description": "Name or id of the resource for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, + "serviceProjectNumber": { + "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", + "format": "int64", + "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/subnetworks/{resource}/testIamPermissions", - "request": { - "$ref": "TestPermissionsRequest" - }, + "path": "projects/{project}/aggregated/sslCertificates", "response": { - "$ref": "TestPermissionsResponse" + "$ref": "SslCertificateAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - } - } - }, - "targetGrpcProxies": { - "methods": { + }, "delete": { - "description": "Deletes the specified TargetGrpcProxy in the given scope", - "flatPath": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", + "description": "Deletes the specified SslCertificate resource.", + "flatPath": "projects/{project}/global/sslCertificates/{sslCertificate}", "httpMethod": "DELETE", - "id": "compute.targetGrpcProxies.delete", + "id": "compute.sslCertificates.delete", "parameterOrder": [ "project", - "targetGrpcProxy" + "sslCertificate" ], "parameters": { "project": { @@ -40563,15 +40346,15 @@ "location": "query", "type": "string" }, - "targetGrpcProxy": { - "description": "Name of the TargetGrpcProxy resource to delete.", + "sslCertificate": { + "description": "Name of the SslCertificate resource to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", + "path": "projects/{project}/global/sslCertificates/{sslCertificate}", "response": { "$ref": "Operation" }, @@ -40581,13 +40364,13 @@ ] }, "get": { - "description": "Returns the specified TargetGrpcProxy resource in the given scope.", - "flatPath": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", + "description": "Returns the specified SslCertificate resource.", + "flatPath": "projects/{project}/global/sslCertificates/{sslCertificate}", "httpMethod": "GET", - "id": "compute.targetGrpcProxies.get", + "id": "compute.sslCertificates.get", "parameterOrder": [ "project", - "targetGrpcProxy" + "sslCertificate" ], "parameters": { "project": { @@ -40597,17 +40380,17 @@ "required": true, "type": "string" }, - "targetGrpcProxy": { - "description": "Name of the TargetGrpcProxy resource to return.", + "sslCertificate": { + "description": "Name of the SslCertificate resource to return.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", + "path": "projects/{project}/global/sslCertificates/{sslCertificate}", "response": { - "$ref": "TargetGrpcProxy" + "$ref": "SslCertificate" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -40616,10 +40399,10 @@ ] }, "insert": { - "description": "Creates a TargetGrpcProxy in the specified project in the given scope using the parameters that are included in the request.", - "flatPath": "projects/{project}/global/targetGrpcProxies", + "description": "Creates a SslCertificate resource in the specified project using the data included in the request.", + "flatPath": "projects/{project}/global/sslCertificates", "httpMethod": "POST", - "id": "compute.targetGrpcProxies.insert", + "id": "compute.sslCertificates.insert", "parameterOrder": [ "project" ], @@ -40637,9 +40420,9 @@ "type": "string" } }, - "path": "projects/{project}/global/targetGrpcProxies", + "path": "projects/{project}/global/sslCertificates", "request": { - "$ref": "TargetGrpcProxy" + "$ref": "SslCertificate" }, "response": { "$ref": "Operation" @@ -40650,10 +40433,10 @@ ] }, "list": { - "description": "Lists the TargetGrpcProxies for a project in the given scope.", - "flatPath": "projects/{project}/global/targetGrpcProxies", + "description": "Retrieves the list of SslCertificate resources available to the specified project.", + "flatPath": "projects/{project}/global/sslCertificates", "httpMethod": "GET", - "id": "compute.targetGrpcProxies.list", + "id": "compute.sslCertificates.list", "parameterOrder": [ "project" ], @@ -40694,9 +40477,9 @@ "type": "boolean" } }, - "path": "projects/{project}/global/targetGrpcProxies", + "path": "projects/{project}/global/sslCertificates", "response": { - "$ref": "TargetGrpcProxyList" + "$ref": "SslCertificateList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -40704,53 +40487,11 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "patch": { - "description": "Patches the specified TargetGrpcProxy resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", - "flatPath": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", - "httpMethod": "PATCH", - "id": "compute.targetGrpcProxies.patch", - "parameterOrder": [ - "project", - "targetGrpcProxy" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "targetGrpcProxy": { - "description": "Name of the TargetGrpcProxy resource to patch.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", - "request": { - "$ref": "TargetGrpcProxy" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, "testIamPermissions": { "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/global/targetGrpcProxies/{resource}/testIamPermissions", + "flatPath": "projects/{project}/global/sslCertificates/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.targetGrpcProxies.testIamPermissions", + "id": "compute.sslCertificates.testIamPermissions", "parameterOrder": [ "project", "resource" @@ -40771,7 +40512,7 @@ "type": "string" } }, - "path": "projects/{project}/global/targetGrpcProxies/{resource}/testIamPermissions", + "path": "projects/{project}/global/sslCertificates/{resource}/testIamPermissions", "request": { "$ref": "TestPermissionsRequest" }, @@ -40786,13 +40527,13 @@ } } }, - "targetHttpProxies": { + "sslPolicies": { "methods": { "aggregatedList": { - "description": "Retrieves the list of all TargetHttpProxy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/targetHttpProxies", + "description": "Retrieves the list of all SslPolicy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/sslPolicies", "httpMethod": "GET", - "id": "compute.targetHttpProxies.aggregatedList", + "id": "compute.sslPolicies.aggregatedList", "parameterOrder": [ "project" ], @@ -40844,9 +40585,9 @@ "type": "string" } }, - "path": "projects/{project}/aggregated/targetHttpProxies", + "path": "projects/{project}/aggregated/sslPolicies", "response": { - "$ref": "TargetHttpProxyAggregatedList" + "$ref": "SslPoliciesAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -40855,13 +40596,13 @@ ] }, "delete": { - "description": "Deletes the specified TargetHttpProxy resource.", - "flatPath": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", + "description": "Deletes the specified SSL policy. The SSL policy resource can be deleted only if it is not in use by any TargetHttpsProxy or TargetSslProxy resources.", + "flatPath": "projects/{project}/global/sslPolicies/{sslPolicy}", "httpMethod": "DELETE", - "id": "compute.targetHttpProxies.delete", + "id": "compute.sslPolicies.delete", "parameterOrder": [ "project", - "targetHttpProxy" + "sslPolicy" ], "parameters": { "project": { @@ -40876,15 +40617,14 @@ "location": "query", "type": "string" }, - "targetHttpProxy": { - "description": "Name of the TargetHttpProxy resource to delete.", + "sslPolicy": { + "description": "Name of the SSL policy to delete. The name must be 1-63 characters long, and comply with RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", + "path": "projects/{project}/global/sslPolicies/{sslPolicy}", "response": { "$ref": "Operation" }, @@ -40894,13 +40634,13 @@ ] }, "get": { - "description": "Returns the specified TargetHttpProxy resource.", - "flatPath": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", + "description": "Lists all of the ordered rules present in a single specified policy.", + "flatPath": "projects/{project}/global/sslPolicies/{sslPolicy}", "httpMethod": "GET", - "id": "compute.targetHttpProxies.get", + "id": "compute.sslPolicies.get", "parameterOrder": [ "project", - "targetHttpProxy" + "sslPolicy" ], "parameters": { "project": { @@ -40910,17 +40650,16 @@ "required": true, "type": "string" }, - "targetHttpProxy": { - "description": "Name of the TargetHttpProxy resource to return.", + "sslPolicy": { + "description": "Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", + "path": "projects/{project}/global/sslPolicies/{sslPolicy}", "response": { - "$ref": "TargetHttpProxy" + "$ref": "SslPolicy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -40929,10 +40668,10 @@ ] }, "insert": { - "description": "Creates a TargetHttpProxy resource in the specified project using the data included in the request.", - "flatPath": "projects/{project}/global/targetHttpProxies", + "description": "Returns the specified SSL policy resource.", + "flatPath": "projects/{project}/global/sslPolicies", "httpMethod": "POST", - "id": "compute.targetHttpProxies.insert", + "id": "compute.sslPolicies.insert", "parameterOrder": [ "project" ], @@ -40950,9 +40689,9 @@ "type": "string" } }, - "path": "projects/{project}/global/targetHttpProxies", + "path": "projects/{project}/global/sslPolicies", "request": { - "$ref": "TargetHttpProxy" + "$ref": "SslPolicy" }, "response": { "$ref": "Operation" @@ -40963,10 +40702,10 @@ ] }, "list": { - "description": "Retrieves the list of TargetHttpProxy resources available to the specified project.", - "flatPath": "projects/{project}/global/targetHttpProxies", + "description": "Lists all the SSL policies that have been configured for the specified project.", + "flatPath": "projects/{project}/global/sslPolicies", "httpMethod": "GET", - "id": "compute.targetHttpProxies.list", + "id": "compute.sslPolicies.list", "parameterOrder": [ "project" ], @@ -41007,9 +40746,9 @@ "type": "boolean" } }, - "path": "projects/{project}/global/targetHttpProxies", + "path": "projects/{project}/global/sslPolicies", "response": { - "$ref": "TargetHttpProxyList" + "$ref": "SslPoliciesList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -41017,56 +40756,69 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "patch": { - "description": "Patches the specified TargetHttpProxy resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", - "flatPath": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", - "httpMethod": "PATCH", - "id": "compute.targetHttpProxies.patch", + "listAvailableFeatures": { + "description": "Lists all features that can be specified in the SSL policy when using custom profile.", + "flatPath": "projects/{project}/global/sslPolicies/listAvailableFeatures", + "httpMethod": "GET", + "id": "compute.sslPolicies.listAvailableFeatures", "parameterOrder": [ - "project", - "targetHttpProxy" + "project" ], "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", "location": "query", "type": "string" }, - "targetHttpProxy": { - "description": "Name of the TargetHttpProxy resource to patch.", + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" } }, - "path": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", - "request": { - "$ref": "TargetHttpProxy" - }, + "path": "projects/{project}/global/sslPolicies/listAvailableFeatures", "response": { - "$ref": "Operation" + "$ref": "SslPoliciesListAvailableFeaturesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "setUrlMap": { - "description": "Changes the URL map for TargetHttpProxy.", - "flatPath": "projects/{project}/targetHttpProxies/{targetHttpProxy}/setUrlMap", - "httpMethod": "POST", - "id": "compute.targetHttpProxies.setUrlMap", + "patch": { + "description": "Patches the specified SSL policy with the data included in the request.", + "flatPath": "projects/{project}/global/sslPolicies/{sslPolicy}", + "httpMethod": "PATCH", + "id": "compute.sslPolicies.patch", "parameterOrder": [ "project", - "targetHttpProxy" + "sslPolicy" ], "parameters": { "project": { @@ -41081,17 +40833,16 @@ "location": "query", "type": "string" }, - "targetHttpProxy": { - "description": "Name of the TargetHttpProxy to set a URL map for.", + "sslPolicy": { + "description": "Name of the SSL policy to update. The name must be 1-63 characters long, and comply with RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/targetHttpProxies/{targetHttpProxy}/setUrlMap", + "path": "projects/{project}/global/sslPolicies/{sslPolicy}", "request": { - "$ref": "UrlMapReference" + "$ref": "SslPolicy" }, "response": { "$ref": "Operation" @@ -41103,9 +40854,9 @@ }, "testIamPermissions": { "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/global/targetHttpProxies/{resource}/testIamPermissions", + "flatPath": "projects/{project}/global/sslPolicies/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.targetHttpProxies.testIamPermissions", + "id": "compute.sslPolicies.testIamPermissions", "parameterOrder": [ "project", "resource" @@ -41126,7 +40877,7 @@ "type": "string" } }, - "path": "projects/{project}/global/targetHttpProxies/{resource}/testIamPermissions", + "path": "projects/{project}/global/sslPolicies/{resource}/testIamPermissions", "request": { "$ref": "TestPermissionsRequest" }, @@ -41141,13 +40892,13 @@ } } }, - "targetHttpsProxies": { + "storagePoolTypes": { "methods": { "aggregatedList": { - "description": "Retrieves the list of all TargetHttpsProxy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/targetHttpsProxies", + "description": "Retrieves an aggregated list of storage pool types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/storagePoolTypes", "httpMethod": "GET", - "id": "compute.targetHttpsProxies.aggregatedList", + "id": "compute.storagePoolTypes.aggregatedList", "parameterOrder": [ "project" ], @@ -41181,7 +40932,7 @@ "type": "string" }, "project": { - "description": "Name of the project scoping this request.", + "description": "Project ID for this request.", "location": "path", "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, @@ -41199,9 +40950,9 @@ "type": "string" } }, - "path": "projects/{project}/aggregated/targetHttpsProxies", + "path": "projects/{project}/aggregated/storagePoolTypes", "response": { - "$ref": "TargetHttpsProxyAggregatedList" + "$ref": "StoragePoolTypeAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -41209,14 +40960,15 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "delete": { - "description": "Deletes the specified TargetHttpsProxy resource.", - "flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", - "httpMethod": "DELETE", - "id": "compute.targetHttpsProxies.delete", + "get": { + "description": "Returns the specified storage pool type.", + "flatPath": "projects/{project}/zones/{zone}/storagePoolTypes/{storagePoolType}", + "httpMethod": "GET", + "id": "compute.storagePoolTypes.get", "parameterOrder": [ "project", - "targetHttpsProxy" + "zone", + "storagePoolType" ], "parameters": { "project": { @@ -41226,56 +40978,24 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "targetHttpsProxy": { - "description": "Name of the TargetHttpsProxy resource to delete.", + "storagePoolType": { + "description": "Name of the storage pool type to return.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" - } - }, - "path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "get": { - "description": "Returns the specified TargetHttpsProxy resource.", - "flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", - "httpMethod": "GET", - "id": "compute.targetHttpsProxies.get", - "parameterOrder": [ - "project", - "targetHttpsProxy" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" }, - "targetHttpsProxy": { - "description": "Name of the TargetHttpsProxy resource to return.", + "zone": { + "description": "The name of the zone for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", + "path": "projects/{project}/zones/{zone}/storagePoolTypes/{storagePoolType}", "response": { - "$ref": "TargetHttpsProxy" + "$ref": "StoragePoolType" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -41283,15 +41003,39 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "insert": { - "description": "Creates a TargetHttpsProxy resource in the specified project using the data included in the request.", - "flatPath": "projects/{project}/global/targetHttpsProxies", - "httpMethod": "POST", - "id": "compute.targetHttpsProxies.insert", + "list": { + "description": "Retrieves a list of storage pool types available to the specified project.", + "flatPath": "projects/{project}/zones/{zone}/storagePoolTypes", + "httpMethod": "GET", + "id": "compute.storagePoolTypes.list", "parameterOrder": [ - "project" + "project", + "zone" ], "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -41299,29 +41043,38 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", + "type": "boolean" + }, + "zone": { + "description": "The name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, "type": "string" } }, - "path": "projects/{project}/global/targetHttpsProxies", - "request": { - "$ref": "TargetHttpsProxy" - }, + "path": "projects/{project}/zones/{zone}/storagePoolTypes", "response": { - "$ref": "Operation" + "$ref": "StoragePoolTypeList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] - }, - "list": { - "description": "Retrieves the list of TargetHttpsProxy resources available to the specified project.", - "flatPath": "projects/{project}/global/targetHttpsProxies", + } + } + }, + "storagePools": { + "methods": { + "aggregatedList": { + "description": "Retrieves an aggregated list of storage pools. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/storagePools", "httpMethod": "GET", - "id": "compute.targetHttpsProxies.list", + "id": "compute.storagePools.aggregatedList", "parameterOrder": [ "project" ], @@ -41331,6 +41084,11 @@ "location": "query", "type": "string" }, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "location": "query", + "type": "boolean" + }, "maxResults": { "default": "500", "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", @@ -41360,11 +41118,17 @@ "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" + }, + "serviceProjectNumber": { + "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", + "format": "int64", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/global/targetHttpsProxies", + "path": "projects/{project}/aggregated/storagePools", "response": { - "$ref": "TargetHttpsProxyList" + "$ref": "StoragePoolAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -41372,14 +41136,15 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "patch": { - "description": "Patches the specified TargetHttpsProxy resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", - "flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", - "httpMethod": "PATCH", - "id": "compute.targetHttpsProxies.patch", + "delete": { + "description": "Deletes the specified storage pool. Deleting a storagePool removes its data permanently and is irreversible. However, deleting a storagePool does not delete any snapshots previously made from the storagePool. You must separately delete snapshots.", + "flatPath": "projects/{project}/zones/{zone}/storagePools/{storagePool}", + "httpMethod": "DELETE", + "id": "compute.storagePools.delete", "parameterOrder": [ "project", - "targetHttpsProxy" + "zone", + "storagePool" ], "parameters": { "project": { @@ -41394,59 +41159,21 @@ "location": "query", "type": "string" }, - "targetHttpsProxy": { - "description": "Name of the TargetHttpsProxy resource to patch.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", - "request": { - "$ref": "TargetHttpsProxy" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "setCertificateMap": { - "description": "Changes the Certificate Map for TargetHttpsProxy.", - "flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setCertificateMap", - "httpMethod": "POST", - "id": "compute.targetHttpsProxies.setCertificateMap", - "parameterOrder": [ - "project", - "targetHttpsProxy" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", + "storagePool": { + "description": "Name of the storage pool to delete.", "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "targetHttpsProxy": { - "description": "Name of the TargetHttpsProxy resource whose CertificateMap is to be set. The name must be 1-63 characters long, and comply with RFC1035.", + "zone": { + "description": "The name of the zone for this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setCertificateMap", - "request": { - "$ref": "TargetHttpsProxiesSetCertificateMapRequest" - }, + "path": "projects/{project}/zones/{zone}/storagePools/{storagePool}", "response": { "$ref": "Operation" }, @@ -41455,14 +41182,15 @@ "https://www.googleapis.com/auth/compute" ] }, - "setQuicOverride": { - "description": "Sets the QUIC override policy for TargetHttpsProxy.", - "flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setQuicOverride", - "httpMethod": "POST", - "id": "compute.targetHttpsProxies.setQuicOverride", + "get": { + "description": "Returns a specified storage pool. Gets a list of available storage pools by making a list() request.", + "flatPath": "projects/{project}/zones/{zone}/storagePools/{storagePool}", + "httpMethod": "GET", + "id": "compute.storagePools.get", "parameterOrder": [ "project", - "targetHttpsProxy" + "zone", + "storagePool" ], "parameters": { "project": { @@ -41472,40 +41200,48 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", + "storagePool": { + "description": "Name of the storage pool to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, "type": "string" }, - "targetHttpsProxy": { - "description": "Name of the TargetHttpsProxy resource to set the QUIC override policy for. The name should conform to RFC1035.", + "zone": { + "description": "The name of the zone for this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setQuicOverride", - "request": { - "$ref": "TargetHttpsProxiesSetQuicOverrideRequest" - }, + "path": "projects/{project}/zones/{zone}/storagePools/{storagePool}", "response": { - "$ref": "Operation" + "$ref": "StoragePool" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "setSslCertificates": { - "description": "Replaces SslCertificates for TargetHttpsProxy.", - "flatPath": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", - "httpMethod": "POST", - "id": "compute.targetHttpsProxies.setSslCertificates", + "getIamPolicy": { + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "flatPath": "projects/{project}/zones/{zone}/storagePools/{resource}/getIamPolicy", + "httpMethod": "GET", + "id": "compute.storagePools.getIamPolicy", "parameterOrder": [ "project", - "targetHttpsProxy" + "zone", + "resource" ], "parameters": { + "optionsRequestedPolicyVersion": { + "description": "Requested IAM Policy version.", + "format": "int32", + "location": "query", + "type": "integer" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -41513,39 +41249,39 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, "type": "string" }, - "targetHttpsProxy": { - "description": "Name of the TargetHttpsProxy resource to set an SslCertificates resource for.", + "zone": { + "description": "The name of the zone for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", - "request": { - "$ref": "TargetHttpsProxiesSetSslCertificatesRequest" - }, + "path": "projects/{project}/zones/{zone}/storagePools/{resource}/getIamPolicy", "response": { - "$ref": "Operation" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "setSslPolicy": { - "description": "Sets the SSL policy for TargetHttpsProxy. The SSL policy specifies the server-side support for SSL features. This affects connections between clients and the HTTPS proxy load balancer. They do not affect the connection between the load balancer and the backends.", - "flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setSslPolicy", + "insert": { + "description": "Creates a storage pool in the specified project using the data in the request.", + "flatPath": "projects/{project}/zones/{zone}/storagePools", "httpMethod": "POST", - "id": "compute.targetHttpsProxies.setSslPolicy", + "id": "compute.storagePools.insert", "parameterOrder": [ "project", - "targetHttpsProxy" + "zone" ], "parameters": { "project": { @@ -41560,16 +41296,17 @@ "location": "query", "type": "string" }, - "targetHttpsProxy": { - "description": "Name of the TargetHttpsProxy resource whose SSL policy is to be set. The name must be 1-63 characters long, and comply with RFC1035.", + "zone": { + "description": "The name of the zone for this request.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setSslPolicy", + "path": "projects/{project}/zones/{zone}/storagePools", "request": { - "$ref": "SslPolicyReference" + "$ref": "StoragePool" }, "response": { "$ref": "Operation" @@ -41579,58 +41316,39 @@ "https://www.googleapis.com/auth/compute" ] }, - "setUrlMap": { - "description": "Changes the URL map for TargetHttpsProxy.", - "flatPath": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", - "httpMethod": "POST", - "id": "compute.targetHttpsProxies.setUrlMap", + "list": { + "description": "Retrieves a list of storage pools contained within the specified zone.", + "flatPath": "projects/{project}/zones/{zone}/storagePools", + "httpMethod": "GET", + "id": "compute.storagePools.list", "parameterOrder": [ "project", - "targetHttpsProxy" + "zone" ], "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", "location": "query", "type": "string" }, - "targetHttpsProxy": { - "description": "Name of the TargetHttpsProxy resource whose URL map is to be set.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", "type": "string" - } - }, - "path": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", - "request": { - "$ref": "UrlMapReference" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/global/targetHttpsProxies/{resource}/testIamPermissions", - "httpMethod": "POST", - "id": "compute.targetHttpsProxies.testIamPermissions", - "parameterOrder": [ - "project", - "resource" - ], - "parameters": { + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -41638,38 +41356,38 @@ "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + }, + "zone": { + "description": "The name of the zone for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/global/targetHttpsProxies/{resource}/testIamPermissions", - "request": { - "$ref": "TestPermissionsRequest" - }, + "path": "projects/{project}/zones/{zone}/storagePools", "response": { - "$ref": "TestPermissionsResponse" + "$ref": "StoragePoolList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - } - } - }, - "targetInstances": { - "methods": { - "aggregatedList": { - "description": "Retrieves an aggregated list of target instances. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/targetInstances", + }, + "listDisks": { + "description": "Lists the disks in a specified storage pool.", + "flatPath": "projects/{project}/zones/{zone}/storagePools/{storagePool}/listDisks", "httpMethod": "GET", - "id": "compute.targetInstances.aggregatedList", + "id": "compute.storagePools.listDisks", "parameterOrder": [ - "project" + "project", + "zone", + "storagePool" ], "parameters": { "filter": { @@ -41677,11 +41395,6 @@ "location": "query", "type": "string" }, - "includeAllScopes": { - "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", - "location": "query", - "type": "boolean" - }, "maxResults": { "default": "500", "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", @@ -41712,16 +41425,24 @@ "location": "query", "type": "boolean" }, - "serviceProjectNumber": { - "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", - "format": "int64", - "location": "query", + "storagePool": { + "description": "Name of the storage pool to list disks of.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "zone": { + "description": "The name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, "type": "string" } }, - "path": "projects/{project}/aggregated/targetInstances", + "path": "projects/{project}/zones/{zone}/storagePools/{storagePool}/listDisks", "response": { - "$ref": "TargetInstanceAggregatedList" + "$ref": "StoragePoolListDisks" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -41729,15 +41450,60 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "delete": { - "description": "Deletes the specified TargetInstance resource.", - "flatPath": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}", - "httpMethod": "DELETE", - "id": "compute.targetInstances.delete", + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "projects/{project}/zones/{zone}/storagePools/{resource}/setIamPolicy", + "httpMethod": "POST", + "id": "compute.storagePools.setIamPolicy", "parameterOrder": [ "project", "zone", - "targetInstance" + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "zone": { + "description": "The name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/storagePools/{resource}/setIamPolicy", + "request": { + "$ref": "ZoneSetPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "setLabels": { + "description": "Sets the labels on a storage pools. To learn more about labels, read the Labeling Resources documentation.", + "flatPath": "projects/{project}/zones/{zone}/storagePools/{resource}/setLabels", + "httpMethod": "POST", + "id": "compute.storagePools.setLabels", + "parameterOrder": [ + "project", + "zone", + "resource" ], "parameters": { "project": { @@ -41752,22 +41518,25 @@ "location": "query", "type": "string" }, - "targetInstance": { - "description": "Name of the TargetInstance resource to delete.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, "zone": { - "description": "Name of the zone scoping this request.", + "description": "The name of the zone for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}", + "path": "projects/{project}/zones/{zone}/storagePools/{resource}/setLabels", + "request": { + "$ref": "ZoneSetLabelsRequest" + }, "response": { "$ref": "Operation" }, @@ -41776,15 +41545,15 @@ "https://www.googleapis.com/auth/compute" ] }, - "get": { - "description": "Returns the specified TargetInstance resource.", - "flatPath": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}", - "httpMethod": "GET", - "id": "compute.targetInstances.get", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/zones/{zone}/storagePools/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.storagePools.testIamPermissions", "parameterOrder": [ "project", "zone", - "targetInstance" + "resource" ], "parameters": { "project": { @@ -41794,24 +41563,27 @@ "required": true, "type": "string" }, - "targetInstance": { - "description": "Name of the TargetInstance resource to return.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, "zone": { - "description": "Name of the zone scoping this request.", + "description": "The name of the zone for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}", + "path": "projects/{project}/zones/{zone}/storagePools/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, "response": { - "$ref": "TargetInstance" + "$ref": "TestPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -41819,14 +41591,15 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "insert": { - "description": "Creates a TargetInstance resource in the specified project and zone using the data included in the request.", - "flatPath": "projects/{project}/zones/{zone}/targetInstances", - "httpMethod": "POST", - "id": "compute.targetInstances.insert", + "update": { + "description": "Updates the specified storagePool with the data included in the request. The update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: pool_provisioned_capacity_gb, pool_provisioned_iops and pool_provisioned_throughput.", + "flatPath": "projects/{project}/zones/{zone}/storagePools/{storagePool}", + "httpMethod": "PATCH", + "id": "compute.storagePools.update", "parameterOrder": [ "project", - "zone" + "zone", + "storagePool" ], "parameters": { "project": { @@ -41841,17 +41614,30 @@ "location": "query", "type": "string" }, + "storagePool": { + "description": "The storagePool name for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "update_mask indicates fields to be updated as part of this request.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, "zone": { - "description": "Name of the zone scoping this request.", + "description": "The name of the zone for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/targetInstances", + "path": "projects/{project}/zones/{zone}/storagePools/{storagePool}", "request": { - "$ref": "TargetInstance" + "$ref": "StoragePool" }, "response": { "$ref": "Operation" @@ -41860,15 +41646,18 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] - }, - "list": { - "description": "Retrieves a list of TargetInstance resources available to the specified project and zone.", - "flatPath": "projects/{project}/zones/{zone}/targetInstances", + } + } + }, + "subnetworks": { + "methods": { + "aggregatedList": { + "description": "Retrieves an aggregated list of subnetworks. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/subnetworks", "httpMethod": "GET", - "id": "compute.targetInstances.list", + "id": "compute.subnetworks.aggregatedList", "parameterOrder": [ - "project", - "zone" + "project" ], "parameters": { "filter": { @@ -41876,6 +41665,11 @@ "location": "query", "type": "string" }, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "location": "query", + "type": "boolean" + }, "maxResults": { "default": "500", "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", @@ -41906,17 +41700,16 @@ "location": "query", "type": "boolean" }, - "zone": { - "description": "Name of the zone scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, + "serviceProjectNumber": { + "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", + "format": "int64", + "location": "query", "type": "string" } }, - "path": "projects/{project}/zones/{zone}/targetInstances", + "path": "projects/{project}/aggregated/subnetworks", "response": { - "$ref": "TargetInstanceList" + "$ref": "SubnetworkAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -41924,15 +41717,15 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "setSecurityPolicy": { - "description": "Sets the Google Cloud Armor security policy for the specified target instance. For more information, see Google Cloud Armor Overview", - "flatPath": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}/setSecurityPolicy", - "httpMethod": "POST", - "id": "compute.targetInstances.setSecurityPolicy", + "delete": { + "description": "Deletes the specified subnetwork.", + "flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", + "httpMethod": "DELETE", + "id": "compute.subnetworks.delete", "parameterOrder": [ "project", - "zone", - "targetInstance" + "region", + "subnetwork" ], "parameters": { "project": { @@ -41942,29 +41735,27 @@ "required": true, "type": "string" }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, - "targetInstance": { - "description": "Name of the TargetInstance resource to which the security policy should be set. The name should conform to RFC1035.", - "location": "path", - "required": true, - "type": "string" - }, - "zone": { - "description": "Name of the zone scoping this request.", + "subnetwork": { + "description": "Name of the Subnetwork resource to delete.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}/setSecurityPolicy", - "request": { - "$ref": "SecurityPolicyReference" - }, + "path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", "response": { "$ref": "Operation" }, @@ -41973,15 +41764,15 @@ "https://www.googleapis.com/auth/compute" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/zones/{zone}/targetInstances/{resource}/testIamPermissions", + "expandIpCidrRange": { + "description": "Expands the IP CIDR range of the subnetwork to a specified value.", + "flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}/expandIpCidrRange", "httpMethod": "POST", - "id": "compute.targetInstances.testIamPermissions", + "id": "compute.subnetworks.expandIpCidrRange", "parameterOrder": [ "project", - "zone", - "resource" + "region", + "subnetwork" ], "parameters": { "project": { @@ -41991,243 +41782,30 @@ "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "region": { + "description": "Name of the region scoping this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "zone": { - "description": "The name of the zone for this request.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "subnetwork": { + "description": "Name of the Subnetwork resource to update.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/targetInstances/{resource}/testIamPermissions", + "path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}/expandIpCidrRange", "request": { - "$ref": "TestPermissionsRequest" - }, - "response": { - "$ref": "TestPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - } - } - }, - "targetPools": { - "methods": { - "addHealthCheck": { - "description": "Adds health check URLs to a target pool.", - "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/addHealthCheck", - "httpMethod": "POST", - "id": "compute.targetPools.addHealthCheck", - "parameterOrder": [ - "project", - "region", - "targetPool" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "Name of the region scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "targetPool": { - "description": "Name of the target pool to add a health check to.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/targetPools/{targetPool}/addHealthCheck", - "request": { - "$ref": "TargetPoolsAddHealthCheckRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "addInstance": { - "description": "Adds an instance to a target pool.", - "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/addInstance", - "httpMethod": "POST", - "id": "compute.targetPools.addInstance", - "parameterOrder": [ - "project", - "region", - "targetPool" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "Name of the region scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "targetPool": { - "description": "Name of the TargetPool resource to add instances to.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/regions/{region}/targetPools/{targetPool}/addInstance", - "request": { - "$ref": "TargetPoolsAddInstanceRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "aggregatedList": { - "description": "Retrieves an aggregated list of target pools. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/targetPools", - "httpMethod": "GET", - "id": "compute.targetPools.aggregatedList", - "parameterOrder": [ - "project" - ], - "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "includeAllScopes": { - "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", - "location": "query", - "type": "boolean" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" - }, - "serviceProjectNumber": { - "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", - "format": "int64", - "location": "query", - "type": "string" - } - }, - "path": "projects/{project}/aggregated/targetPools", - "response": { - "$ref": "TargetPoolAggregatedList" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "delete": { - "description": "Deletes the specified target pool.", - "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}", - "httpMethod": "DELETE", - "id": "compute.targetPools.delete", - "parameterOrder": [ - "project", - "region", - "targetPool" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "region": { - "description": "Name of the region scoping this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "targetPool": { - "description": "Name of the TargetPool resource to delete.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - } + "$ref": "SubnetworksExpandIpCidrRangeRequest" }, - "path": "projects/{project}/regions/{region}/targetPools/{targetPool}", "response": { "$ref": "Operation" }, @@ -42237,14 +41815,14 @@ ] }, "get": { - "description": "Returns the specified target pool.", - "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}", + "description": "Returns the specified subnetwork.", + "flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", "httpMethod": "GET", - "id": "compute.targetPools.get", + "id": "compute.subnetworks.get", "parameterOrder": [ "project", "region", - "targetPool" + "subnetwork" ], "parameters": { "project": { @@ -42261,17 +41839,17 @@ "required": true, "type": "string" }, - "targetPool": { - "description": "Name of the TargetPool resource to return.", + "subnetwork": { + "description": "Name of the Subnetwork resource to return.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/targetPools/{targetPool}", + "path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", "response": { - "$ref": "TargetPool" + "$ref": "Subnetwork" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -42279,17 +41857,23 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "getHealth": { - "description": "Gets the most recent health check results for each IP for the instance that is referenced by the given target pool.", - "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/getHealth", - "httpMethod": "POST", - "id": "compute.targetPools.getHealth", + "getIamPolicy": { + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "flatPath": "projects/{project}/regions/{region}/subnetworks/{resource}/getIamPolicy", + "httpMethod": "GET", + "id": "compute.subnetworks.getIamPolicy", "parameterOrder": [ "project", "region", - "targetPool" + "resource" ], "parameters": { + "optionsRequestedPolicyVersion": { + "description": "Requested IAM Policy version.", + "format": "int32", + "location": "query", + "type": "integer" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -42298,26 +41882,23 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "targetPool": { - "description": "Name of the TargetPool resource to which the queried instance belongs.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/targetPools/{targetPool}/getHealth", - "request": { - "$ref": "InstanceReference" - }, + "path": "projects/{project}/regions/{region}/subnetworks/{resource}/getIamPolicy", "response": { - "$ref": "TargetPoolInstanceHealth" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -42326,10 +41907,10 @@ ] }, "insert": { - "description": "Creates a target pool in the specified project and region using the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/targetPools", + "description": "Creates a subnetwork in the specified project using the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/subnetworks", "httpMethod": "POST", - "id": "compute.targetPools.insert", + "id": "compute.subnetworks.insert", "parameterOrder": [ "project", "region" @@ -42355,9 +41936,9 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/targetPools", + "path": "projects/{project}/regions/{region}/subnetworks", "request": { - "$ref": "TargetPool" + "$ref": "Subnetwork" }, "response": { "$ref": "Operation" @@ -42368,10 +41949,10 @@ ] }, "list": { - "description": "Retrieves a list of target pools available to the specified project and region.", - "flatPath": "projects/{project}/regions/{region}/targetPools", + "description": "Retrieves a list of subnetworks available to the specified project.", + "flatPath": "projects/{project}/regions/{region}/subnetworks", "httpMethod": "GET", - "id": "compute.targetPools.list", + "id": "compute.subnetworks.list", "parameterOrder": [ "project", "region" @@ -42420,9 +42001,9 @@ "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/targetPools", + "path": "projects/{project}/regions/{region}/subnetworks", "response": { - "$ref": "TargetPoolList" + "$ref": "SubnetworkList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -42430,67 +42011,83 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "removeHealthCheck": { - "description": "Removes health check URL from a target pool.", - "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/removeHealthCheck", - "httpMethod": "POST", - "id": "compute.targetPools.removeHealthCheck", + "listUsable": { + "description": "Retrieves an aggregated list of all usable subnetworks in the project.", + "flatPath": "projects/{project}/aggregated/subnetworks/listUsable", + "httpMethod": "GET", + "id": "compute.subnetworks.listUsable", "parameterOrder": [ - "project", - "region", - "targetPool" + "project" ], "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", "type": "string" }, - "region": { - "description": "Name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", "location": "query", "type": "string" }, - "targetPool": { - "description": "Name of the target pool to remove health checks from.", + "project": { + "description": "Project ID for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + }, + "serviceProject": { + "description": "The project id or project number in which the subnetwork is intended to be used. Only applied for Shared VPC. See [Shared VPC documentation](https://cloud.google.com/vpc/docs/shared-vpc/)", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/regions/{region}/targetPools/{targetPool}/removeHealthCheck", - "request": { - "$ref": "TargetPoolsRemoveHealthCheckRequest" - }, + "path": "projects/{project}/aggregated/subnetworks/listUsable", "response": { - "$ref": "Operation" + "$ref": "UsableSubnetworksAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] }, - "removeInstance": { - "description": "Removes instance URL from a target pool.", - "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/removeInstance", - "httpMethod": "POST", - "id": "compute.targetPools.removeInstance", + "patch": { + "description": "Patches the specified subnetwork with the data included in the request. Only certain fields can be updated with a patch request as indicated in the field descriptions. You must specify the current fingerprint of the subnetwork resource being patched.", + "flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", + "httpMethod": "PATCH", + "id": "compute.subnetworks.patch", "parameterOrder": [ "project", "region", - "targetPool" + "subnetwork" ], "parameters": { + "drainTimeoutSeconds": { + "description": "The drain timeout specifies the upper bound in seconds on the amount of time allowed to drain connections from the current ACTIVE subnetwork to the current BACKUP subnetwork. The drain timeout is only applicable when the following conditions are true: - the subnetwork being patched has purpose = INTERNAL_HTTPS_LOAD_BALANCER - the subnetwork being patched has role = BACKUP - the patch request is setting the role to ACTIVE. Note that after this patch operation the roles of the ACTIVE and BACKUP subnetworks will be swapped.", + "format": "int32", + "location": "query", + "type": "integer" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -42510,17 +42107,17 @@ "location": "query", "type": "string" }, - "targetPool": { - "description": "Name of the TargetPool resource to remove instances from.", + "subnetwork": { + "description": "Name of the Subnetwork resource to patch.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/targetPools/{targetPool}/removeInstance", + "path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}", "request": { - "$ref": "TargetPoolsRemoveInstanceRequest" + "$ref": "Subnetwork" }, "response": { "$ref": "Operation" @@ -42530,23 +42127,17 @@ "https://www.googleapis.com/auth/compute" ] }, - "setBackup": { - "description": "Changes a backup target pool's configurations.", - "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/setBackup", + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "flatPath": "projects/{project}/regions/{region}/subnetworks/{resource}/setIamPolicy", "httpMethod": "POST", - "id": "compute.targetPools.setBackup", + "id": "compute.subnetworks.setIamPolicy", "parameterOrder": [ "project", "region", - "targetPool" + "resource" ], "parameters": { - "failoverRatio": { - "description": "New failoverRatio value for the target pool.", - "format": "float", - "location": "query", - "type": "number" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -42555,46 +42146,41 @@ "type": "string" }, "region": { - "description": "Name of the region scoping this request.", + "description": "The name of the region for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "targetPool": { - "description": "Name of the TargetPool resource to set a backup pool for.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/targetPools/{targetPool}/setBackup", + "path": "projects/{project}/regions/{region}/subnetworks/{resource}/setIamPolicy", "request": { - "$ref": "TargetReference" + "$ref": "RegionSetPolicyRequest" }, "response": { - "$ref": "Operation" + "$ref": "Policy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] }, - "setSecurityPolicy": { - "description": "Sets the Google Cloud Armor security policy for the specified target pool. For more information, see Google Cloud Armor Overview", - "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/setSecurityPolicy", + "setPrivateIpGoogleAccess": { + "description": "Set whether VMs in this subnet can access Google services without assigning external IP addresses through Private Google Access.", + "flatPath": "projects/{project}/regions/{region}/subnetworks/{subnetwork}/setPrivateIpGoogleAccess", "httpMethod": "POST", - "id": "compute.targetPools.setSecurityPolicy", + "id": "compute.subnetworks.setPrivateIpGoogleAccess", "parameterOrder": [ "project", "region", - "targetPool" + "subnetwork" ], "parameters": { "project": { @@ -42616,16 +42202,17 @@ "location": "query", "type": "string" }, - "targetPool": { - "description": "Name of the TargetPool resource to which the security policy should be set. The name should conform to RFC1035.", + "subnetwork": { + "description": "Name of the Subnetwork resource.", "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/targetPools/{targetPool}/setSecurityPolicy", + "path": "projects/{project}/regions/{region}/subnetworks/{subnetwork}/setPrivateIpGoogleAccess", "request": { - "$ref": "SecurityPolicyReference" + "$ref": "SubnetworksSetPrivateIpGoogleAccessRequest" }, "response": { "$ref": "Operation" @@ -42637,9 +42224,9 @@ }, "testIamPermissions": { "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/targetPools/{resource}/testIamPermissions", + "flatPath": "projects/{project}/regions/{region}/subnetworks/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.targetPools.testIamPermissions", + "id": "compute.subnetworks.testIamPermissions", "parameterOrder": [ "project", "region", @@ -42668,7 +42255,7 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/targetPools/{resource}/testIamPermissions", + "path": "projects/{project}/regions/{region}/subnetworks/{resource}/testIamPermissions", "request": { "$ref": "TestPermissionsRequest" }, @@ -42683,16 +42270,16 @@ } } }, - "targetSslProxies": { + "targetGrpcProxies": { "methods": { "delete": { - "description": "Deletes the specified TargetSslProxy resource.", - "flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}", + "description": "Deletes the specified TargetGrpcProxy in the given scope", + "flatPath": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", "httpMethod": "DELETE", - "id": "compute.targetSslProxies.delete", + "id": "compute.targetGrpcProxies.delete", "parameterOrder": [ "project", - "targetSslProxy" + "targetGrpcProxy" ], "parameters": { "project": { @@ -42707,15 +42294,15 @@ "location": "query", "type": "string" }, - "targetSslProxy": { - "description": "Name of the TargetSslProxy resource to delete.", + "targetGrpcProxy": { + "description": "Name of the TargetGrpcProxy resource to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/targetSslProxies/{targetSslProxy}", + "path": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", "response": { "$ref": "Operation" }, @@ -42725,13 +42312,13 @@ ] }, "get": { - "description": "Returns the specified TargetSslProxy resource.", - "flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}", + "description": "Returns the specified TargetGrpcProxy resource in the given scope.", + "flatPath": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", "httpMethod": "GET", - "id": "compute.targetSslProxies.get", + "id": "compute.targetGrpcProxies.get", "parameterOrder": [ "project", - "targetSslProxy" + "targetGrpcProxy" ], "parameters": { "project": { @@ -42741,17 +42328,17 @@ "required": true, "type": "string" }, - "targetSslProxy": { - "description": "Name of the TargetSslProxy resource to return.", + "targetGrpcProxy": { + "description": "Name of the TargetGrpcProxy resource to return.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/targetSslProxies/{targetSslProxy}", + "path": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", "response": { - "$ref": "TargetSslProxy" + "$ref": "TargetGrpcProxy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -42760,10 +42347,10 @@ ] }, "insert": { - "description": "Creates a TargetSslProxy resource in the specified project using the data included in the request.", - "flatPath": "projects/{project}/global/targetSslProxies", + "description": "Creates a TargetGrpcProxy in the specified project in the given scope using the parameters that are included in the request.", + "flatPath": "projects/{project}/global/targetGrpcProxies", "httpMethod": "POST", - "id": "compute.targetSslProxies.insert", + "id": "compute.targetGrpcProxies.insert", "parameterOrder": [ "project" ], @@ -42781,9 +42368,9 @@ "type": "string" } }, - "path": "projects/{project}/global/targetSslProxies", + "path": "projects/{project}/global/targetGrpcProxies", "request": { - "$ref": "TargetSslProxy" + "$ref": "TargetGrpcProxy" }, "response": { "$ref": "Operation" @@ -42794,10 +42381,10 @@ ] }, "list": { - "description": "Retrieves the list of TargetSslProxy resources available to the specified project.", - "flatPath": "projects/{project}/global/targetSslProxies", + "description": "Lists the TargetGrpcProxies for a project in the given scope.", + "flatPath": "projects/{project}/global/targetGrpcProxies", "httpMethod": "GET", - "id": "compute.targetSslProxies.list", + "id": "compute.targetGrpcProxies.list", "parameterOrder": [ "project" ], @@ -42838,9 +42425,9 @@ "type": "boolean" } }, - "path": "projects/{project}/global/targetSslProxies", + "path": "projects/{project}/global/targetGrpcProxies", "response": { - "$ref": "TargetSslProxyList" + "$ref": "TargetGrpcProxyList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -42848,14 +42435,14 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "setBackendService": { - "description": "Changes the BackendService for TargetSslProxy.", - "flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setBackendService", - "httpMethod": "POST", - "id": "compute.targetSslProxies.setBackendService", + "patch": { + "description": "Patches the specified TargetGrpcProxy resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", + "flatPath": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", + "httpMethod": "PATCH", + "id": "compute.targetGrpcProxies.patch", "parameterOrder": [ "project", - "targetSslProxy" + "targetGrpcProxy" ], "parameters": { "project": { @@ -42870,183 +42457,17 @@ "location": "query", "type": "string" }, - "targetSslProxy": { - "description": "Name of the TargetSslProxy resource whose BackendService resource is to be set.", + "targetGrpcProxy": { + "description": "Name of the TargetGrpcProxy resource to patch.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setBackendService", + "path": "projects/{project}/global/targetGrpcProxies/{targetGrpcProxy}", "request": { - "$ref": "TargetSslProxiesSetBackendServiceRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "setCertificateMap": { - "description": "Changes the Certificate Map for TargetSslProxy.", - "flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setCertificateMap", - "httpMethod": "POST", - "id": "compute.targetSslProxies.setCertificateMap", - "parameterOrder": [ - "project", - "targetSslProxy" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "targetSslProxy": { - "description": "Name of the TargetSslProxy resource whose CertificateMap is to be set. The name must be 1-63 characters long, and comply with RFC1035.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setCertificateMap", - "request": { - "$ref": "TargetSslProxiesSetCertificateMapRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "setProxyHeader": { - "description": "Changes the ProxyHeaderType for TargetSslProxy.", - "flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setProxyHeader", - "httpMethod": "POST", - "id": "compute.targetSslProxies.setProxyHeader", - "parameterOrder": [ - "project", - "targetSslProxy" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "targetSslProxy": { - "description": "Name of the TargetSslProxy resource whose ProxyHeader is to be set.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setProxyHeader", - "request": { - "$ref": "TargetSslProxiesSetProxyHeaderRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "setSslCertificates": { - "description": "Changes SslCertificates for TargetSslProxy.", - "flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslCertificates", - "httpMethod": "POST", - "id": "compute.targetSslProxies.setSslCertificates", - "parameterOrder": [ - "project", - "targetSslProxy" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "targetSslProxy": { - "description": "Name of the TargetSslProxy resource whose SslCertificate resource is to be set.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslCertificates", - "request": { - "$ref": "TargetSslProxiesSetSslCertificatesRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "setSslPolicy": { - "description": "Sets the SSL policy for TargetSslProxy. The SSL policy specifies the server-side support for SSL features. This affects connections between clients and the load balancer. They do not affect the connection between the load balancer and the backends.", - "flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslPolicy", - "httpMethod": "POST", - "id": "compute.targetSslProxies.setSslPolicy", - "parameterOrder": [ - "project", - "targetSslProxy" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "targetSslProxy": { - "description": "Name of the TargetSslProxy resource whose SSL policy is to be set. The name must be 1-63 characters long, and comply with RFC1035.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslPolicy", - "request": { - "$ref": "SslPolicyReference" + "$ref": "TargetGrpcProxy" }, "response": { "$ref": "Operation" @@ -43058,9 +42479,9 @@ }, "testIamPermissions": { "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/global/targetSslProxies/{resource}/testIamPermissions", + "flatPath": "projects/{project}/global/targetGrpcProxies/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.targetSslProxies.testIamPermissions", + "id": "compute.targetGrpcProxies.testIamPermissions", "parameterOrder": [ "project", "resource" @@ -43081,7 +42502,7 @@ "type": "string" } }, - "path": "projects/{project}/global/targetSslProxies/{resource}/testIamPermissions", + "path": "projects/{project}/global/targetGrpcProxies/{resource}/testIamPermissions", "request": { "$ref": "TestPermissionsRequest" }, @@ -43096,13 +42517,13 @@ } } }, - "targetTcpProxies": { + "targetHttpProxies": { "methods": { "aggregatedList": { - "description": "Retrieves the list of all TargetTcpProxy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/targetTcpProxies", + "description": "Retrieves the list of all TargetHttpProxy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/targetHttpProxies", "httpMethod": "GET", - "id": "compute.targetTcpProxies.aggregatedList", + "id": "compute.targetHttpProxies.aggregatedList", "parameterOrder": [ "project" ], @@ -43154,9 +42575,9 @@ "type": "string" } }, - "path": "projects/{project}/aggregated/targetTcpProxies", + "path": "projects/{project}/aggregated/targetHttpProxies", "response": { - "$ref": "TargetTcpProxyAggregatedList" + "$ref": "TargetHttpProxyAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -43165,13 +42586,13 @@ ] }, "delete": { - "description": "Deletes the specified TargetTcpProxy resource.", - "flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}", + "description": "Deletes the specified TargetHttpProxy resource.", + "flatPath": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", "httpMethod": "DELETE", - "id": "compute.targetTcpProxies.delete", + "id": "compute.targetHttpProxies.delete", "parameterOrder": [ "project", - "targetTcpProxy" + "targetHttpProxy" ], "parameters": { "project": { @@ -43186,15 +42607,15 @@ "location": "query", "type": "string" }, - "targetTcpProxy": { - "description": "Name of the TargetTcpProxy resource to delete.", + "targetHttpProxy": { + "description": "Name of the TargetHttpProxy resource to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}", + "path": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", "response": { "$ref": "Operation" }, @@ -43204,13 +42625,13 @@ ] }, "get": { - "description": "Returns the specified TargetTcpProxy resource.", - "flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}", + "description": "Returns the specified TargetHttpProxy resource.", + "flatPath": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", "httpMethod": "GET", - "id": "compute.targetTcpProxies.get", + "id": "compute.targetHttpProxies.get", "parameterOrder": [ "project", - "targetTcpProxy" + "targetHttpProxy" ], "parameters": { "project": { @@ -43220,17 +42641,17 @@ "required": true, "type": "string" }, - "targetTcpProxy": { - "description": "Name of the TargetTcpProxy resource to return.", + "targetHttpProxy": { + "description": "Name of the TargetHttpProxy resource to return.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}", + "path": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", "response": { - "$ref": "TargetTcpProxy" + "$ref": "TargetHttpProxy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -43239,10 +42660,10 @@ ] }, "insert": { - "description": "Creates a TargetTcpProxy resource in the specified project using the data included in the request.", - "flatPath": "projects/{project}/global/targetTcpProxies", + "description": "Creates a TargetHttpProxy resource in the specified project using the data included in the request.", + "flatPath": "projects/{project}/global/targetHttpProxies", "httpMethod": "POST", - "id": "compute.targetTcpProxies.insert", + "id": "compute.targetHttpProxies.insert", "parameterOrder": [ "project" ], @@ -43260,9 +42681,9 @@ "type": "string" } }, - "path": "projects/{project}/global/targetTcpProxies", + "path": "projects/{project}/global/targetHttpProxies", "request": { - "$ref": "TargetTcpProxy" + "$ref": "TargetHttpProxy" }, "response": { "$ref": "Operation" @@ -43273,10 +42694,10 @@ ] }, "list": { - "description": "Retrieves the list of TargetTcpProxy resources available to the specified project.", - "flatPath": "projects/{project}/global/targetTcpProxies", + "description": "Retrieves the list of TargetHttpProxy resources available to the specified project.", + "flatPath": "projects/{project}/global/targetHttpProxies", "httpMethod": "GET", - "id": "compute.targetTcpProxies.list", + "id": "compute.targetHttpProxies.list", "parameterOrder": [ "project" ], @@ -43317,9 +42738,9 @@ "type": "boolean" } }, - "path": "projects/{project}/global/targetTcpProxies", + "path": "projects/{project}/global/targetHttpProxies", "response": { - "$ref": "TargetTcpProxyList" + "$ref": "TargetHttpProxyList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -43327,14 +42748,14 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "setBackendService": { - "description": "Changes the BackendService for TargetTcpProxy.", - "flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setBackendService", - "httpMethod": "POST", - "id": "compute.targetTcpProxies.setBackendService", + "patch": { + "description": "Patches the specified TargetHttpProxy resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", + "flatPath": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", + "httpMethod": "PATCH", + "id": "compute.targetHttpProxies.patch", "parameterOrder": [ "project", - "targetTcpProxy" + "targetHttpProxy" ], "parameters": { "project": { @@ -43349,17 +42770,17 @@ "location": "query", "type": "string" }, - "targetTcpProxy": { - "description": "Name of the TargetTcpProxy resource whose BackendService resource is to be set.", + "targetHttpProxy": { + "description": "Name of the TargetHttpProxy resource to patch.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setBackendService", + "path": "projects/{project}/global/targetHttpProxies/{targetHttpProxy}", "request": { - "$ref": "TargetTcpProxiesSetBackendServiceRequest" + "$ref": "TargetHttpProxy" }, "response": { "$ref": "Operation" @@ -43369,14 +42790,14 @@ "https://www.googleapis.com/auth/compute" ] }, - "setProxyHeader": { - "description": "Changes the ProxyHeaderType for TargetTcpProxy.", - "flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setProxyHeader", + "setUrlMap": { + "description": "Changes the URL map for TargetHttpProxy.", + "flatPath": "projects/{project}/targetHttpProxies/{targetHttpProxy}/setUrlMap", "httpMethod": "POST", - "id": "compute.targetTcpProxies.setProxyHeader", + "id": "compute.targetHttpProxies.setUrlMap", "parameterOrder": [ "project", - "targetTcpProxy" + "targetHttpProxy" ], "parameters": { "project": { @@ -43391,17 +42812,17 @@ "location": "query", "type": "string" }, - "targetTcpProxy": { - "description": "Name of the TargetTcpProxy resource whose ProxyHeader is to be set.", + "targetHttpProxy": { + "description": "Name of the TargetHttpProxy to set a URL map for.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setProxyHeader", + "path": "projects/{project}/targetHttpProxies/{targetHttpProxy}/setUrlMap", "request": { - "$ref": "TargetTcpProxiesSetProxyHeaderRequest" + "$ref": "UrlMapReference" }, "response": { "$ref": "Operation" @@ -43413,9 +42834,9 @@ }, "testIamPermissions": { "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/global/targetTcpProxies/{resource}/testIamPermissions", + "flatPath": "projects/{project}/global/targetHttpProxies/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.targetTcpProxies.testIamPermissions", + "id": "compute.targetHttpProxies.testIamPermissions", "parameterOrder": [ "project", "resource" @@ -43436,7 +42857,7 @@ "type": "string" } }, - "path": "projects/{project}/global/targetTcpProxies/{resource}/testIamPermissions", + "path": "projects/{project}/global/targetHttpProxies/{resource}/testIamPermissions", "request": { "$ref": "TestPermissionsRequest" }, @@ -43451,13 +42872,13 @@ } } }, - "targetVpnGateways": { + "targetHttpsProxies": { "methods": { "aggregatedList": { - "description": "Retrieves an aggregated list of target VPN gateways. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/targetVpnGateways", + "description": "Retrieves the list of all TargetHttpsProxy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/targetHttpsProxies", "httpMethod": "GET", - "id": "compute.targetVpnGateways.aggregatedList", + "id": "compute.targetHttpsProxies.aggregatedList", "parameterOrder": [ "project" ], @@ -43491,7 +42912,7 @@ "type": "string" }, "project": { - "description": "Project ID for this request.", + "description": "Name of the project scoping this request.", "location": "path", "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, @@ -43509,9 +42930,9 @@ "type": "string" } }, - "path": "projects/{project}/aggregated/targetVpnGateways", + "path": "projects/{project}/aggregated/targetHttpsProxies", "response": { - "$ref": "TargetVpnGatewayAggregatedList" + "$ref": "TargetHttpsProxyAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -43520,14 +42941,13 @@ ] }, "delete": { - "description": "Deletes the specified target VPN gateway.", - "flatPath": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", + "description": "Deletes the specified TargetHttpsProxy resource.", + "flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", "httpMethod": "DELETE", - "id": "compute.targetVpnGateways.delete", + "id": "compute.targetHttpsProxies.delete", "parameterOrder": [ "project", - "region", - "targetVpnGateway" + "targetHttpsProxy" ], "parameters": { "project": { @@ -43537,27 +42957,20 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, - "targetVpnGateway": { - "description": "Name of the target VPN gateway to delete.", + "targetHttpsProxy": { + "description": "Name of the TargetHttpsProxy resource to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", + "path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", "response": { "$ref": "Operation" }, @@ -43567,14 +42980,13 @@ ] }, "get": { - "description": "Returns the specified target VPN gateway.", - "flatPath": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", + "description": "Returns the specified TargetHttpsProxy resource.", + "flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", "httpMethod": "GET", - "id": "compute.targetVpnGateways.get", + "id": "compute.targetHttpsProxies.get", "parameterOrder": [ "project", - "region", - "targetVpnGateway" + "targetHttpsProxy" ], "parameters": { "project": { @@ -43584,24 +42996,17 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "targetVpnGateway": { - "description": "Name of the target VPN gateway to return.", + "targetHttpsProxy": { + "description": "Name of the TargetHttpsProxy resource to return.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", + "path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", "response": { - "$ref": "TargetVpnGateway" + "$ref": "TargetHttpsProxy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -43610,13 +43015,12 @@ ] }, "insert": { - "description": "Creates a target VPN gateway in the specified project and region using the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/targetVpnGateways", + "description": "Creates a TargetHttpsProxy resource in the specified project using the data included in the request.", + "flatPath": "projects/{project}/global/targetHttpsProxies", "httpMethod": "POST", - "id": "compute.targetVpnGateways.insert", + "id": "compute.targetHttpsProxies.insert", "parameterOrder": [ - "project", - "region" + "project" ], "parameters": { "project": { @@ -43626,22 +43030,15 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } }, - "path": "projects/{project}/regions/{region}/targetVpnGateways", + "path": "projects/{project}/global/targetHttpsProxies", "request": { - "$ref": "TargetVpnGateway" + "$ref": "TargetHttpsProxy" }, "response": { "$ref": "Operation" @@ -43652,13 +43049,12 @@ ] }, "list": { - "description": "Retrieves a list of target VPN gateways available to the specified project and region.", - "flatPath": "projects/{project}/regions/{region}/targetVpnGateways", + "description": "Retrieves the list of TargetHttpsProxy resources available to the specified project.", + "flatPath": "projects/{project}/global/targetHttpsProxies", "httpMethod": "GET", - "id": "compute.targetVpnGateways.list", + "id": "compute.targetHttpsProxies.list", "parameterOrder": [ - "project", - "region" + "project" ], "parameters": { "filter": { @@ -43691,22 +43087,15 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "returnPartialSuccess": { "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/targetVpnGateways", + "path": "projects/{project}/global/targetHttpsProxies", "response": { - "$ref": "TargetVpnGatewayList" + "$ref": "TargetHttpsProxyList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -43714,15 +43103,14 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "setLabels": { - "description": "Sets the labels on a TargetVpnGateway. To learn more about labels, read the Labeling Resources documentation.", - "flatPath": "projects/{project}/regions/{region}/targetVpnGateways/{resource}/setLabels", - "httpMethod": "POST", - "id": "compute.targetVpnGateways.setLabels", + "patch": { + "description": "Patches the specified TargetHttpsProxy resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", + "flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", + "httpMethod": "PATCH", + "id": "compute.targetHttpsProxies.patch", "parameterOrder": [ "project", - "region", - "resource" + "targetHttpsProxy" ], "parameters": { "project": { @@ -43732,29 +43120,22 @@ "required": true, "type": "string" }, - "region": { - "description": "The region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "targetHttpsProxy": { + "description": "Name of the TargetHttpsProxy resource to patch.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/targetVpnGateways/{resource}/setLabels", + "path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}", "request": { - "$ref": "RegionSetLabelsRequest" + "$ref": "TargetHttpsProxy" }, "response": { "$ref": "Operation" @@ -43764,15 +43145,14 @@ "https://www.googleapis.com/auth/compute" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/targetVpnGateways/{resource}/testIamPermissions", + "setCertificateMap": { + "description": "Changes the Certificate Map for TargetHttpsProxy.", + "flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setCertificateMap", "httpMethod": "POST", - "id": "compute.targetVpnGateways.testIamPermissions", + "id": "compute.targetHttpsProxies.setCertificateMap", "parameterOrder": [ "project", - "region", - "resource" + "targetHttpsProxy" ], "parameters": { "project": { @@ -43782,112 +43162,79 @@ "required": true, "type": "string" }, - "region": { - "description": "The name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "targetHttpsProxy": { + "description": "Name of the TargetHttpsProxy resource whose CertificateMap is to be set. The name must be 1-63 characters long, and comply with RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/targetVpnGateways/{resource}/testIamPermissions", + "path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setCertificateMap", "request": { - "$ref": "TestPermissionsRequest" + "$ref": "TargetHttpsProxiesSetCertificateMapRequest" }, "response": { - "$ref": "TestPermissionsResponse" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] - } - } - }, - "urlMaps": { - "methods": { - "aggregatedList": { - "description": "Retrieves the list of all UrlMap resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/urlMaps", - "httpMethod": "GET", - "id": "compute.urlMaps.aggregatedList", + }, + "setQuicOverride": { + "description": "Sets the QUIC override policy for TargetHttpsProxy.", + "flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setQuicOverride", + "httpMethod": "POST", + "id": "compute.targetHttpsProxies.setQuicOverride", "parameterOrder": [ - "project" + "project", + "targetHttpsProxy" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "includeAllScopes": { - "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", - "location": "query", - "type": "boolean" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, "project": { - "description": "Name of the project scoping this request.", + "description": "Project ID for this request.", "location": "path", "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", - "type": "boolean" + "type": "string" }, - "serviceProjectNumber": { - "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", - "format": "int64", - "location": "query", + "targetHttpsProxy": { + "description": "Name of the TargetHttpsProxy resource to set the QUIC override policy for. The name should conform to RFC1035.", + "location": "path", + "required": true, "type": "string" } }, - "path": "projects/{project}/aggregated/urlMaps", + "path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setQuicOverride", + "request": { + "$ref": "TargetHttpsProxiesSetQuicOverrideRequest" + }, "response": { - "$ref": "UrlMapsAggregatedList" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "delete": { - "description": "Deletes the specified UrlMap resource.", - "flatPath": "projects/{project}/global/urlMaps/{urlMap}", - "httpMethod": "DELETE", - "id": "compute.urlMaps.delete", + "setSslCertificates": { + "description": "Replaces SslCertificates for TargetHttpsProxy.", + "flatPath": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", + "httpMethod": "POST", + "id": "compute.targetHttpsProxies.setSslCertificates", "parameterOrder": [ "project", - "urlMap" + "targetHttpsProxy" ], "parameters": { "project": { @@ -43902,15 +43249,18 @@ "location": "query", "type": "string" }, - "urlMap": { - "description": "Name of the UrlMap resource to delete.", + "targetHttpsProxy": { + "description": "Name of the TargetHttpsProxy resource to set an SslCertificates resource for.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/urlMaps/{urlMap}", + "path": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", + "request": { + "$ref": "TargetHttpsProxiesSetSslCertificatesRequest" + }, "response": { "$ref": "Operation" }, @@ -43919,14 +43269,14 @@ "https://www.googleapis.com/auth/compute" ] }, - "get": { - "description": "Returns the specified UrlMap resource.", - "flatPath": "projects/{project}/global/urlMaps/{urlMap}", - "httpMethod": "GET", - "id": "compute.urlMaps.get", + "setSslPolicy": { + "description": "Sets the SSL policy for TargetHttpsProxy. The SSL policy specifies the server-side support for SSL features. This affects connections between clients and the HTTPS proxy load balancer. They do not affect the connection between the load balancer and the backends.", + "flatPath": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setSslPolicy", + "httpMethod": "POST", + "id": "compute.targetHttpsProxies.setSslPolicy", "parameterOrder": [ "project", - "urlMap" + "targetHttpsProxy" ], "parameters": { "project": { @@ -43936,31 +43286,38 @@ "required": true, "type": "string" }, - "urlMap": { - "description": "Name of the UrlMap resource to return.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "targetHttpsProxy": { + "description": "Name of the TargetHttpsProxy resource whose SSL policy is to be set. The name must be 1-63 characters long, and comply with RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/urlMaps/{urlMap}", + "path": "projects/{project}/global/targetHttpsProxies/{targetHttpsProxy}/setSslPolicy", + "request": { + "$ref": "SslPolicyReference" + }, "response": { - "$ref": "UrlMap" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "insert": { - "description": "Creates a UrlMap resource in the specified project using the data included in the request.", - "flatPath": "projects/{project}/global/urlMaps", + "setUrlMap": { + "description": "Changes the URL map for TargetHttpsProxy.", + "flatPath": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", "httpMethod": "POST", - "id": "compute.urlMaps.insert", + "id": "compute.targetHttpsProxies.setUrlMap", "parameterOrder": [ - "project" + "project", + "targetHttpsProxy" ], "parameters": { "project": { @@ -43974,11 +43331,18 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" + }, + "targetHttpsProxy": { + "description": "Name of the TargetHttpsProxy resource whose URL map is to be set.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" } }, - "path": "projects/{project}/global/urlMaps", + "path": "projects/{project}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", "request": { - "$ref": "UrlMap" + "$ref": "UrlMapReference" }, "response": { "$ref": "Operation" @@ -43988,14 +43352,14 @@ "https://www.googleapis.com/auth/compute" ] }, - "invalidateCache": { - "description": "Initiates a cache invalidation operation, invalidating the specified path, scoped to the specified UrlMap. For more information, see [Invalidating cached content](/cdn/docs/invalidating-cached-content).", - "flatPath": "projects/{project}/global/urlMaps/{urlMap}/invalidateCache", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/global/targetHttpsProxies/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.urlMaps.invalidateCache", + "id": "compute.targetHttpsProxies.testIamPermissions", "parameterOrder": [ "project", - "urlMap" + "resource" ], "parameters": { "project": { @@ -44005,36 +43369,36 @@ "required": true, "type": "string" }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "urlMap": { - "description": "Name of the UrlMap scoping this request.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/global/urlMaps/{urlMap}/invalidateCache", + "path": "projects/{project}/global/targetHttpsProxies/{resource}/testIamPermissions", "request": { - "$ref": "CacheInvalidationRule" + "$ref": "TestPermissionsRequest" }, "response": { - "$ref": "Operation" + "$ref": "TestPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" ] - }, - "list": { - "description": "Retrieves the list of UrlMap resources available to the specified project.", - "flatPath": "projects/{project}/global/urlMaps", + } + } + }, + "targetInstances": { + "methods": { + "aggregatedList": { + "description": "Retrieves an aggregated list of target instances. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/targetInstances", "httpMethod": "GET", - "id": "compute.urlMaps.list", + "id": "compute.targetInstances.aggregatedList", "parameterOrder": [ "project" ], @@ -44044,6 +43408,11 @@ "location": "query", "type": "string" }, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "location": "query", + "type": "boolean" + }, "maxResults": { "default": "500", "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", @@ -44073,11 +43442,17 @@ "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" + }, + "serviceProjectNumber": { + "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", + "format": "int64", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/global/urlMaps", + "path": "projects/{project}/aggregated/targetInstances", "response": { - "$ref": "UrlMapList" + "$ref": "TargetInstanceAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -44085,14 +43460,15 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "patch": { - "description": "Patches the specified UrlMap resource with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", - "flatPath": "projects/{project}/global/urlMaps/{urlMap}", - "httpMethod": "PATCH", - "id": "compute.urlMaps.patch", + "delete": { + "description": "Deletes the specified TargetInstance resource.", + "flatPath": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}", + "httpMethod": "DELETE", + "id": "compute.targetInstances.delete", "parameterOrder": [ "project", - "urlMap" + "zone", + "targetInstance" ], "parameters": { "project": { @@ -44107,18 +43483,22 @@ "location": "query", "type": "string" }, - "urlMap": { - "description": "Name of the UrlMap resource to patch.", + "targetInstance": { + "description": "Name of the TargetInstance resource to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" + }, + "zone": { + "description": "Name of the zone scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" } }, - "path": "projects/{project}/global/urlMaps/{urlMap}", - "request": { - "$ref": "UrlMap" - }, + "path": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}", "response": { "$ref": "Operation" }, @@ -44127,14 +43507,15 @@ "https://www.googleapis.com/auth/compute" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/global/urlMaps/{resource}/testIamPermissions", - "httpMethod": "POST", - "id": "compute.urlMaps.testIamPermissions", + "get": { + "description": "Returns the specified TargetInstance resource.", + "flatPath": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}", + "httpMethod": "GET", + "id": "compute.targetInstances.get", "parameterOrder": [ "project", - "resource" + "zone", + "targetInstance" ], "parameters": { "project": { @@ -44144,20 +43525,24 @@ "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "targetInstance": { + "description": "Name of the TargetInstance resource to return.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "zone": { + "description": "Name of the zone scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/global/urlMaps/{resource}/testIamPermissions", - "request": { - "$ref": "TestPermissionsRequest" - }, + "path": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}", "response": { - "$ref": "TestPermissionsResponse" + "$ref": "TargetInstance" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -44165,14 +43550,14 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "update": { - "description": "Updates the specified UrlMap resource with the data included in the request.", - "flatPath": "projects/{project}/global/urlMaps/{urlMap}", - "httpMethod": "PUT", - "id": "compute.urlMaps.update", + "insert": { + "description": "Creates a TargetInstance resource in the specified project and zone using the data included in the request.", + "flatPath": "projects/{project}/zones/{zone}/targetInstances", + "httpMethod": "POST", + "id": "compute.targetInstances.insert", "parameterOrder": [ "project", - "urlMap" + "zone" ], "parameters": { "project": { @@ -44187,17 +43572,17 @@ "location": "query", "type": "string" }, - "urlMap": { - "description": "Name of the UrlMap resource to update.", + "zone": { + "description": "Name of the zone scoping this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/global/urlMaps/{urlMap}", + "path": "projects/{project}/zones/{zone}/targetInstances", "request": { - "$ref": "UrlMap" + "$ref": "TargetInstance" }, "response": { "$ref": "Operation" @@ -44207,54 +43592,14 @@ "https://www.googleapis.com/auth/compute" ] }, - "validate": { - "description": "Runs static validation for the UrlMap. In particular, the tests of the provided UrlMap will be run. Calling this method does NOT create the UrlMap.", - "flatPath": "projects/{project}/global/urlMaps/{urlMap}/validate", - "httpMethod": "POST", - "id": "compute.urlMaps.validate", - "parameterOrder": [ - "project", - "urlMap" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "urlMap": { - "description": "Name of the UrlMap resource to be validated as.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/global/urlMaps/{urlMap}/validate", - "request": { - "$ref": "UrlMapsValidateRequest" - }, - "response": { - "$ref": "UrlMapsValidateResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - } - } - }, - "vpnGateways": { - "methods": { - "aggregatedList": { - "description": "Retrieves an aggregated list of VPN gateways. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/vpnGateways", + "list": { + "description": "Retrieves a list of TargetInstance resources available to the specified project and zone.", + "flatPath": "projects/{project}/zones/{zone}/targetInstances", "httpMethod": "GET", - "id": "compute.vpnGateways.aggregatedList", + "id": "compute.targetInstances.list", "parameterOrder": [ - "project" + "project", + "zone" ], "parameters": { "filter": { @@ -44262,11 +43607,6 @@ "location": "query", "type": "string" }, - "includeAllScopes": { - "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", - "location": "query", - "type": "boolean" - }, "maxResults": { "default": "500", "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", @@ -44297,16 +43637,17 @@ "location": "query", "type": "boolean" }, - "serviceProjectNumber": { - "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", - "format": "int64", - "location": "query", + "zone": { + "description": "Name of the zone scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, "type": "string" } }, - "path": "projects/{project}/aggregated/vpnGateways", + "path": "projects/{project}/zones/{zone}/targetInstances", "response": { - "$ref": "VpnGatewayAggregatedList" + "$ref": "TargetInstanceList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -44314,15 +43655,15 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "delete": { - "description": "Deletes the specified VPN gateway.", - "flatPath": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}", - "httpMethod": "DELETE", - "id": "compute.vpnGateways.delete", + "setSecurityPolicy": { + "description": "Sets the Google Cloud Armor security policy for the specified target instance. For more information, see Google Cloud Armor Overview", + "flatPath": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}/setSecurityPolicy", + "httpMethod": "POST", + "id": "compute.targetInstances.setSecurityPolicy", "parameterOrder": [ "project", - "region", - "vpnGateway" + "zone", + "targetInstance" ], "parameters": { "project": { @@ -44332,27 +43673,29 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, - "vpnGateway": { - "description": "Name of the VPN gateway to delete.", + "targetInstance": { + "description": "Name of the TargetInstance resource to which the security policy should be set. The name should conform to RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "zone": { + "description": "Name of the zone scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}", + "path": "projects/{project}/zones/{zone}/targetInstances/{targetInstance}/setSecurityPolicy", + "request": { + "$ref": "SecurityPolicyReference" + }, "response": { "$ref": "Operation" }, @@ -44361,15 +43704,15 @@ "https://www.googleapis.com/auth/compute" ] }, - "get": { - "description": "Returns the specified VPN gateway.", - "flatPath": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}", - "httpMethod": "GET", - "id": "compute.vpnGateways.get", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/zones/{zone}/targetInstances/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.targetInstances.testIamPermissions", "parameterOrder": [ "project", - "region", - "vpnGateway" + "zone", + "resource" ], "parameters": { "project": { @@ -44379,40 +43722,47 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region for this request.", + "resource": { + "description": "Name or id of the resource for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" }, - "vpnGateway": { - "description": "Name of the VPN gateway to return.", + "zone": { + "description": "The name of the zone for this request.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}", + "path": "projects/{project}/zones/{zone}/targetInstances/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, "response": { - "$ref": "VpnGateway" + "$ref": "TestPermissionsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - }, - "getStatus": { - "description": "Returns the status for the specified VPN gateway.", - "flatPath": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}/getStatus", - "httpMethod": "GET", - "id": "compute.vpnGateways.getStatus", + } + } + }, + "targetPools": { + "methods": { + "addHealthCheck": { + "description": "Adds health check URLs to a target pool.", + "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/addHealthCheck", + "httpMethod": "POST", + "id": "compute.targetPools.addHealthCheck", "parameterOrder": [ "project", "region", - "vpnGateway" + "targetPool" ], "parameters": { "project": { @@ -44423,38 +43773,46 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "vpnGateway": { - "description": "Name of the VPN gateway to return.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "targetPool": { + "description": "Name of the target pool to add a health check to.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}/getStatus", + "path": "projects/{project}/regions/{region}/targetPools/{targetPool}/addHealthCheck", + "request": { + "$ref": "TargetPoolsAddHealthCheckRequest" + }, "response": { - "$ref": "VpnGatewaysGetStatusResponse" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "insert": { - "description": "Creates a VPN gateway in the specified project and region using the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/vpnGateways", + "addInstance": { + "description": "Adds an instance to a target pool.", + "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/addInstance", "httpMethod": "POST", - "id": "compute.vpnGateways.insert", + "id": "compute.targetPools.addInstance", "parameterOrder": [ "project", - "region" + "region", + "targetPool" ], "parameters": { "project": { @@ -44465,7 +43823,7 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -44475,11 +43833,18 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" + }, + "targetPool": { + "description": "Name of the TargetPool resource to add instances to.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" } }, - "path": "projects/{project}/regions/{region}/vpnGateways", + "path": "projects/{project}/regions/{region}/targetPools/{targetPool}/addInstance", "request": { - "$ref": "VpnGateway" + "$ref": "TargetPoolsAddInstanceRequest" }, "response": { "$ref": "Operation" @@ -44489,14 +43854,13 @@ "https://www.googleapis.com/auth/compute" ] }, - "list": { - "description": "Retrieves a list of VPN gateways available to the specified project and region.", - "flatPath": "projects/{project}/regions/{region}/vpnGateways", + "aggregatedList": { + "description": "Retrieves an aggregated list of target pools. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/targetPools", "httpMethod": "GET", - "id": "compute.vpnGateways.list", + "id": "compute.targetPools.aggregatedList", "parameterOrder": [ - "project", - "region" + "project" ], "parameters": { "filter": { @@ -44504,6 +43868,11 @@ "location": "query", "type": "string" }, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "location": "query", + "type": "boolean" + }, "maxResults": { "default": "500", "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", @@ -44529,22 +43898,21 @@ "required": true, "type": "string" }, - "region": { - "description": "Name of the region for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, "returnPartialSuccess": { "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" + }, + "serviceProjectNumber": { + "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", + "format": "int64", + "location": "query", + "type": "string" } }, - "path": "projects/{project}/regions/{region}/vpnGateways", + "path": "projects/{project}/aggregated/targetPools", "response": { - "$ref": "VpnGatewayList" + "$ref": "TargetPoolAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -44552,15 +43920,15 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "setLabels": { - "description": "Sets the labels on a VpnGateway. To learn more about labels, read the Labeling Resources documentation.", - "flatPath": "projects/{project}/regions/{region}/vpnGateways/{resource}/setLabels", - "httpMethod": "POST", - "id": "compute.vpnGateways.setLabels", + "delete": { + "description": "Deletes the specified target pool.", + "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}", + "httpMethod": "DELETE", + "id": "compute.targetPools.delete", "parameterOrder": [ "project", "region", - "resource" + "targetPool" ], "parameters": { "project": { @@ -44571,7 +43939,7 @@ "type": "string" }, "region": { - "description": "The region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -44582,18 +43950,15 @@ "location": "query", "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "targetPool": { + "description": "Name of the TargetPool resource to delete.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/vpnGateways/{resource}/setLabels", - "request": { - "$ref": "RegionSetLabelsRequest" - }, + "path": "projects/{project}/regions/{region}/targetPools/{targetPool}", "response": { "$ref": "Operation" }, @@ -44602,15 +43967,15 @@ "https://www.googleapis.com/auth/compute" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/vpnGateways/{resource}/testIamPermissions", - "httpMethod": "POST", - "id": "compute.vpnGateways.testIamPermissions", + "get": { + "description": "Returns the specified target pool.", + "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}", + "httpMethod": "GET", + "id": "compute.targetPools.get", "parameterOrder": [ "project", "region", - "resource" + "targetPool" ], "parameters": { "project": { @@ -44621,74 +43986,41 @@ "type": "string" }, "region": { - "description": "The name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "targetPool": { + "description": "Name of the TargetPool resource to return.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/vpnGateways/{resource}/testIamPermissions", - "request": { - "$ref": "TestPermissionsRequest" - }, + "path": "projects/{project}/regions/{region}/targetPools/{targetPool}", "response": { - "$ref": "TestPermissionsResponse" + "$ref": "TargetPool" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - } - } - }, - "vpnTunnels": { - "methods": { - "aggregatedList": { - "description": "Retrieves an aggregated list of VPN tunnels. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/vpnTunnels", - "httpMethod": "GET", - "id": "compute.vpnTunnels.aggregatedList", + }, + "getHealth": { + "description": "Gets the most recent health check results for each IP for the instance that is referenced by the given target pool.", + "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/getHealth", + "httpMethod": "POST", + "id": "compute.targetPools.getHealth", "parameterOrder": [ - "project" + "project", + "region", + "targetPool" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "includeAllScopes": { - "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", - "location": "query", - "type": "boolean" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -44696,21 +44028,27 @@ "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" }, - "serviceProjectNumber": { - "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", - "format": "int64", - "location": "query", + "targetPool": { + "description": "Name of the TargetPool resource to which the queried instance belongs.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, "type": "string" } }, - "path": "projects/{project}/aggregated/vpnTunnels", + "path": "projects/{project}/regions/{region}/targetPools/{targetPool}/getHealth", + "request": { + "$ref": "InstanceReference" + }, "response": { - "$ref": "VpnTunnelAggregatedList" + "$ref": "TargetPoolInstanceHealth" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -44718,15 +44056,14 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "delete": { - "description": "Deletes the specified VpnTunnel resource.", - "flatPath": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}", - "httpMethod": "DELETE", - "id": "compute.vpnTunnels.delete", + "insert": { + "description": "Creates a target pool in the specified project and region using the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/targetPools", + "httpMethod": "POST", + "id": "compute.targetPools.insert", "parameterOrder": [ "project", - "region", - "vpnTunnel" + "region" ], "parameters": { "project": { @@ -44737,7 +44074,7 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -44747,16 +44084,12 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" - }, - "vpnTunnel": { - "description": "Name of the VpnTunnel resource to delete.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" } }, - "path": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}", + "path": "projects/{project}/regions/{region}/targetPools", + "request": { + "$ref": "TargetPool" + }, "response": { "$ref": "Operation" }, @@ -44765,17 +44098,39 @@ "https://www.googleapis.com/auth/compute" ] }, - "get": { - "description": "Returns the specified VpnTunnel resource.", - "flatPath": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}", + "list": { + "description": "Retrieves a list of target pools available to the specified project and region.", + "flatPath": "projects/{project}/regions/{region}/targetPools", "httpMethod": "GET", - "id": "compute.vpnTunnels.get", + "id": "compute.targetPools.list", "parameterOrder": [ "project", - "region", - "vpnTunnel" + "region" ], "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -44784,23 +44139,21 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "vpnTunnel": { - "description": "Name of the VpnTunnel resource to return.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" } }, - "path": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}", + "path": "projects/{project}/regions/{region}/targetPools", "response": { - "$ref": "VpnTunnel" + "$ref": "TargetPoolList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -44808,14 +44161,15 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "insert": { - "description": "Creates a VpnTunnel resource in the specified project and region using the data included in the request.", - "flatPath": "projects/{project}/regions/{region}/vpnTunnels", + "removeHealthCheck": { + "description": "Removes health check URL from a target pool.", + "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/removeHealthCheck", "httpMethod": "POST", - "id": "compute.vpnTunnels.insert", + "id": "compute.targetPools.removeHealthCheck", "parameterOrder": [ "project", - "region" + "region", + "targetPool" ], "parameters": { "project": { @@ -44836,11 +44190,18 @@ "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" + }, + "targetPool": { + "description": "Name of the target pool to remove health checks from.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" } }, - "path": "projects/{project}/regions/{region}/vpnTunnels", + "path": "projects/{project}/regions/{region}/targetPools/{targetPool}/removeHealthCheck", "request": { - "$ref": "VpnTunnel" + "$ref": "TargetPoolsRemoveHealthCheckRequest" }, "response": { "$ref": "Operation" @@ -44850,38 +44211,72 @@ "https://www.googleapis.com/auth/compute" ] }, - "list": { - "description": "Retrieves a list of VpnTunnel resources contained in the specified project and region.", - "flatPath": "projects/{project}/regions/{region}/vpnTunnels", - "httpMethod": "GET", - "id": "compute.vpnTunnels.list", + "removeInstance": { + "description": "Removes instance URL from a target pool.", + "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/removeInstance", + "httpMethod": "POST", + "id": "compute.targetPools.removeInstance", "parameterOrder": [ "project", - "region" + "region", + "targetPool" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, "type": "string" }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", + "targetPool": { + "description": "Name of the TargetPool resource to remove instances from.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/targetPools/{targetPool}/removeInstance", + "request": { + "$ref": "TargetPoolsRemoveInstanceRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "setBackup": { + "description": "Changes a backup target pool's configurations.", + "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/setBackup", + "httpMethod": "POST", + "id": "compute.targetPools.setBackup", + "parameterOrder": [ + "project", + "region", + "targetPool" + ], + "parameters": { + "failoverRatio": { + "description": "New failoverRatio value for the target pool.", + "format": "float", + "location": "query", + "type": "number" }, "project": { "description": "Project ID for this request.", @@ -44891,37 +44286,46 @@ "type": "string" }, "region": { - "description": "Name of the region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", - "type": "boolean" + "type": "string" + }, + "targetPool": { + "description": "Name of the TargetPool resource to set a backup pool for.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" } }, - "path": "projects/{project}/regions/{region}/vpnTunnels", + "path": "projects/{project}/regions/{region}/targetPools/{targetPool}/setBackup", + "request": { + "$ref": "TargetReference" + }, "response": { - "$ref": "VpnTunnelList" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "setLabels": { - "description": "Sets the labels on a VpnTunnel. To learn more about labels, read the Labeling Resources documentation.", - "flatPath": "projects/{project}/regions/{region}/vpnTunnels/{resource}/setLabels", + "setSecurityPolicy": { + "description": "Sets the Google Cloud Armor security policy for the specified target pool. For more information, see Google Cloud Armor Overview", + "flatPath": "projects/{project}/regions/{region}/targetPools/{targetPool}/setSecurityPolicy", "httpMethod": "POST", - "id": "compute.vpnTunnels.setLabels", + "id": "compute.targetPools.setSecurityPolicy", "parameterOrder": [ "project", "region", - "resource" + "targetPool" ], "parameters": { "project": { @@ -44932,7 +44336,7 @@ "type": "string" }, "region": { - "description": "The region for this request.", + "description": "Name of the region scoping this request.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, @@ -44943,17 +44347,16 @@ "location": "query", "type": "string" }, - "resource": { - "description": "Name or id of the resource for this request.", + "targetPool": { + "description": "Name of the TargetPool resource to which the security policy should be set. The name should conform to RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/regions/{region}/vpnTunnels/{resource}/setLabels", + "path": "projects/{project}/regions/{region}/targetPools/{targetPool}/setSecurityPolicy", "request": { - "$ref": "RegionSetLabelsRequest" + "$ref": "SecurityPolicyReference" }, "response": { "$ref": "Operation" @@ -44965,9 +44368,9 @@ }, "testIamPermissions": { "description": "Returns permissions that a caller has on the specified resource.", - "flatPath": "projects/{project}/regions/{region}/vpnTunnels/{resource}/testIamPermissions", + "flatPath": "projects/{project}/regions/{region}/targetPools/{resource}/testIamPermissions", "httpMethod": "POST", - "id": "compute.vpnTunnels.testIamPermissions", + "id": "compute.targetPools.testIamPermissions", "parameterOrder": [ "project", "region", @@ -44996,7 +44399,7 @@ "type": "string" } }, - "path": "projects/{project}/regions/{region}/vpnTunnels/{resource}/testIamPermissions", + "path": "projects/{project}/regions/{region}/targetPools/{resource}/testIamPermissions", "request": { "$ref": "TestPermissionsRequest" }, @@ -45011,26 +44414,18 @@ } } }, - "zoneOperations": { + "targetSslProxies": { "methods": { "delete": { - "description": "Deletes the specified zone-specific Operations resource.", - "flatPath": "projects/{project}/zones/{zone}/operations/{operation}", + "description": "Deletes the specified TargetSslProxy resource.", + "flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}", "httpMethod": "DELETE", - "id": "compute.zoneOperations.delete", + "id": "compute.targetSslProxies.delete", "parameterOrder": [ "project", - "zone", - "operation" + "targetSslProxy" ], "parameters": { - "operation": { - "description": "Name of the Operations resource to delete, or its unique numeric identifier.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -45038,96 +44433,38 @@ "required": true, "type": "string" }, - "zone": { - "description": "Name of the zone for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/zones/{zone}/operations/{operation}", - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "get": { - "description": "Retrieves the specified zone-specific Operations resource.", - "flatPath": "projects/{project}/zones/{zone}/operations/{operation}", - "httpMethod": "GET", - "id": "compute.zoneOperations.get", - "parameterOrder": [ - "project", - "zone", - "operation" - ], - "parameters": { - "operation": { - "description": "Name of the Operations resource to return, or its unique numeric identifier.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", "type": "string" }, - "zone": { - "description": "Name of the zone for this request.", + "targetSslProxy": { + "description": "Name of the TargetSslProxy resource to delete.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/operations/{operation}", + "path": "projects/{project}/global/targetSslProxies/{targetSslProxy}", "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "list": { - "description": "Retrieves a list of Operation resources contained within the specified zone.", - "flatPath": "projects/{project}/zones/{zone}/operations", + "get": { + "description": "Returns the specified TargetSslProxy resource.", + "flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}", "httpMethod": "GET", - "id": "compute.zoneOperations.list", + "id": "compute.targetSslProxies.get", "parameterOrder": [ "project", - "zone" + "targetSslProxy" ], "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -45135,22 +44472,17 @@ "required": true, "type": "string" }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" - }, - "zone": { - "description": "Name of the zone for request.", + "targetSslProxy": { + "description": "Name of the TargetSslProxy resource to return.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/operations", + "path": "projects/{project}/global/targetSslProxies/{targetSslProxy}", "response": { - "$ref": "OperationList" + "$ref": "TargetSslProxy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -45158,24 +44490,15 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "wait": { - "description": "Waits for the specified Operation resource to return as `DONE` or for the request to approach the 2 minute deadline, and retrieves the specified Operation resource. This method waits for no more than the 2 minutes and then returns the current state of the operation, which might be `DONE` or still in progress. This method is called on a best-effort basis. Specifically: - In uncommon cases, when the server is overloaded, the request might return before the default deadline is reached, or might return after zero seconds. - If the default deadline is reached, there is no guarantee that the operation is actually done when the method returns. Be prepared to retry if the operation is not `DONE`. ", - "flatPath": "projects/{project}/zones/{zone}/operations/{operation}/wait", + "insert": { + "description": "Creates a TargetSslProxy resource in the specified project using the data included in the request.", + "flatPath": "projects/{project}/global/targetSslProxies", "httpMethod": "POST", - "id": "compute.zoneOperations.wait", + "id": "compute.targetSslProxies.insert", "parameterOrder": [ - "project", - "zone", - "operation" + "project" ], "parameters": { - "operation": { - "description": "Name of the Operations resource to return, or its unique numeric identifier.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, "project": { "description": "Project ID for this request.", "location": "path", @@ -45183,33 +44506,29 @@ "required": true, "type": "string" }, - "zone": { - "description": "Name of the zone for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", "type": "string" } }, - "path": "projects/{project}/zones/{zone}/operations/{operation}/wait", + "path": "projects/{project}/global/targetSslProxies", + "request": { + "$ref": "TargetSslProxy" + }, "response": { "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] - } - } - }, - "zoneQueuedResources": { - "methods": { - "aggregatedList": { - "description": "Retrieves an aggregated list of all of the queued resources in a project across all zones. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/queuedResources", + }, + "list": { + "description": "Retrieves the list of TargetSslProxy resources available to the specified project.", + "flatPath": "projects/{project}/global/targetSslProxies", "httpMethod": "GET", - "id": "compute.zoneQueuedResources.aggregatedList", + "id": "compute.targetSslProxies.list", "parameterOrder": [ "project" ], @@ -45219,11 +44538,6 @@ "location": "query", "type": "string" }, - "includeAllScopes": { - "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", - "location": "query", - "type": "boolean" - }, "maxResults": { "default": "500", "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", @@ -45253,17 +44567,11 @@ "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", "location": "query", "type": "boolean" - }, - "serviceProjectNumber": { - "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", - "format": "int64", - "location": "query", - "type": "string" } }, - "path": "projects/{project}/aggregated/queuedResources", + "path": "projects/{project}/global/targetSslProxies", "response": { - "$ref": "QueuedResourcesAggregatedList" + "$ref": "TargetSslProxyList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -45271,15 +44579,14 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "cancel": { - "description": "Cancels a QueuedResource. Only a resource in ACCEPTED state may be cancelled.", - "flatPath": "projects/{project}/zones/{zone}/queuedResources/{queuedResource}/cancel", + "setBackendService": { + "description": "Changes the BackendService for TargetSslProxy.", + "flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setBackendService", "httpMethod": "POST", - "id": "compute.zoneQueuedResources.cancel", + "id": "compute.targetSslProxies.setBackendService", "parameterOrder": [ "project", - "zone", - "queuedResource" + "targetSslProxy" ], "parameters": { "project": { @@ -45289,26 +44596,23 @@ "required": true, "type": "string" }, - "queuedResource": { - "description": "Name of the QueuedResource to cancel.", - "location": "path", - "required": true, - "type": "string" - }, "requestId": { "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" }, - "zone": { - "description": "Name of the zone for this request.", + "targetSslProxy": { + "description": "Name of the TargetSslProxy resource whose BackendService resource is to be set.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/queuedResources/{queuedResource}/cancel", + "path": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setBackendService", + "request": { + "$ref": "TargetSslProxiesSetBackendServiceRequest" + }, "response": { "$ref": "Operation" }, @@ -45317,15 +44621,14 @@ "https://www.googleapis.com/auth/compute" ] }, - "delete": { - "description": "Deletes a QueuedResource. For a QueuedResource in ACCEPTED state, call cancel on the resource before deleting, to make sure no VMs have been provisioned and may require cleaning up. For a QueuedResource in PROVISIONING state the request to delete is registered for execution following the provisioning.", - "flatPath": "projects/{project}/zones/{zone}/queuedResources/{queuedResource}", - "httpMethod": "DELETE", - "id": "compute.zoneQueuedResources.delete", + "setCertificateMap": { + "description": "Changes the Certificate Map for TargetSslProxy.", + "flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setCertificateMap", + "httpMethod": "POST", + "id": "compute.targetSslProxies.setCertificateMap", "parameterOrder": [ "project", - "zone", - "queuedResource" + "targetSslProxy" ], "parameters": { "project": { @@ -45335,9 +44638,44 @@ "required": true, "type": "string" }, - "queuedResource": { - "description": "Name of the QueuedResource to delete.", + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "targetSslProxy": { + "description": "Name of the TargetSslProxy resource whose CertificateMap is to be set. The name must be 1-63 characters long, and comply with RFC1035.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setCertificateMap", + "request": { + "$ref": "TargetSslProxiesSetCertificateMapRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "setProxyHeader": { + "description": "Changes the ProxyHeaderType for TargetSslProxy.", + "flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setProxyHeader", + "httpMethod": "POST", + "id": "compute.targetSslProxies.setProxyHeader", + "parameterOrder": [ + "project", + "targetSslProxy" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, "type": "string" }, @@ -45346,15 +44684,18 @@ "location": "query", "type": "string" }, - "zone": { - "description": "Name of the zone for this request.", + "targetSslProxy": { + "description": "Name of the TargetSslProxy resource whose ProxyHeader is to be set.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/queuedResources/{queuedResource}", + "path": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setProxyHeader", + "request": { + "$ref": "TargetSslProxiesSetProxyHeaderRequest" + }, "response": { "$ref": "Operation" }, @@ -45363,15 +44704,14 @@ "https://www.googleapis.com/auth/compute" ] }, - "get": { - "description": "Returns the specified QueuedResource resource.", - "flatPath": "projects/{project}/zones/{zone}/queuedResources/{queuedResource}", - "httpMethod": "GET", - "id": "compute.zoneQueuedResources.get", + "setSslCertificates": { + "description": "Changes SslCertificates for TargetSslProxy.", + "flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslCertificates", + "httpMethod": "POST", + "id": "compute.targetSslProxies.setSslCertificates", "parameterOrder": [ "project", - "zone", - "queuedResource" + "targetSslProxy" ], "parameters": { "project": { @@ -45381,39 +44721,39 @@ "required": true, "type": "string" }, - "queuedResource": { - "description": "Name of the QueuedResource resource to return.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", "type": "string" }, - "zone": { - "description": "Name of the zone for this request.", + "targetSslProxy": { + "description": "Name of the TargetSslProxy resource whose SslCertificate resource is to be set.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/queuedResources/{queuedResource}", + "path": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslCertificates", + "request": { + "$ref": "TargetSslProxiesSetSslCertificatesRequest" + }, "response": { - "$ref": "QueuedResource" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" + "https://www.googleapis.com/auth/compute" ] }, - "insert": { - "description": "Creates a QueuedResource.", - "flatPath": "projects/{project}/zones/{zone}/queuedResources", + "setSslPolicy": { + "description": "Sets the SSL policy for TargetSslProxy. The SSL policy specifies the server-side support for SSL features. This affects connections between clients and the load balancer. They do not affect the connection between the load balancer and the backends.", + "flatPath": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslPolicy", "httpMethod": "POST", - "id": "compute.zoneQueuedResources.insert", + "id": "compute.targetSslProxies.setSslPolicy", "parameterOrder": [ "project", - "zone" + "targetSslProxy" ], "parameters": { "project": { @@ -45428,17 +44768,16 @@ "location": "query", "type": "string" }, - "zone": { - "description": "Name of the zone for this request.", + "targetSslProxy": { + "description": "Name of the TargetSslProxy resource whose SSL policy is to be set. The name must be 1-63 characters long, and comply with RFC1035.", "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}/queuedResources", + "path": "projects/{project}/global/targetSslProxies/{targetSslProxy}/setSslPolicy", "request": { - "$ref": "QueuedResource" + "$ref": "SslPolicyReference" }, "response": { "$ref": "Operation" @@ -45448,14 +44787,55 @@ "https://www.googleapis.com/auth/compute" ] }, - "list": { - "description": "Retrieves the list of QueuedResource resources.", - "flatPath": "projects/{project}/zones/{zone}/queuedResources", - "httpMethod": "GET", - "id": "compute.zoneQueuedResources.list", + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/global/targetSslProxies/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.targetSslProxies.testIamPermissions", "parameterOrder": [ "project", - "zone" + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/targetSslProxies/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, + "response": { + "$ref": "TestPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, + "targetTcpProxies": { + "methods": { + "aggregatedList": { + "description": "Retrieves the list of all TargetTcpProxy resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/targetTcpProxies", + "httpMethod": "GET", + "id": "compute.targetTcpProxies.aggregatedList", + "parameterOrder": [ + "project" ], "parameters": { "filter": { @@ -45463,6 +44843,11 @@ "location": "query", "type": "string" }, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "location": "query", + "type": "boolean" + }, "maxResults": { "default": "500", "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", @@ -45482,7 +44867,7 @@ "type": "string" }, "project": { - "description": "Project ID for this request.", + "description": "Name of the project scoping this request.", "location": "path", "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", "required": true, @@ -45493,36 +44878,70 @@ "location": "query", "type": "boolean" }, - "zone": { - "description": "Name of the zone for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, + "serviceProjectNumber": { + "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", + "format": "int64", + "location": "query", "type": "string" } }, - "path": "projects/{project}/zones/{zone}/queuedResources", + "path": "projects/{project}/aggregated/targetTcpProxies", "response": { - "$ref": "QueuedResourceList" + "$ref": "TargetTcpProxyAggregatedList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - } - } - }, - "zones": { - "methods": { + }, + "delete": { + "description": "Deletes the specified TargetTcpProxy resource.", + "flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}", + "httpMethod": "DELETE", + "id": "compute.targetTcpProxies.delete", + "parameterOrder": [ + "project", + "targetTcpProxy" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "targetTcpProxy": { + "description": "Name of the TargetTcpProxy resource to delete.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "get": { - "description": "Returns the specified Zone resource.", - "flatPath": "projects/{project}/zones/{zone}", + "description": "Returns the specified TargetTcpProxy resource.", + "flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}", "httpMethod": "GET", - "id": "compute.zones.get", + "id": "compute.targetTcpProxies.get", "parameterOrder": [ "project", - "zone" + "targetTcpProxy" ], "parameters": { "project": { @@ -45532,17 +44951,17 @@ "required": true, "type": "string" }, - "zone": { - "description": "Name of the zone resource to return.", + "targetTcpProxy": { + "description": "Name of the TargetTcpProxy resource to return.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, "type": "string" } }, - "path": "projects/{project}/zones/{zone}", + "path": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}", "response": { - "$ref": "Zone" + "$ref": "TargetTcpProxy" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -45550,11 +44969,45 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "insert": { + "description": "Creates a TargetTcpProxy resource in the specified project using the data included in the request.", + "flatPath": "projects/{project}/global/targetTcpProxies", + "httpMethod": "POST", + "id": "compute.targetTcpProxies.insert", + "parameterOrder": [ + "project" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/global/targetTcpProxies", + "request": { + "$ref": "TargetTcpProxy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "list": { - "description": "Retrieves the list of Zone resources available to the specified project.", - "flatPath": "projects/{project}/zones", + "description": "Retrieves the list of TargetTcpProxy resources available to the specified project.", + "flatPath": "projects/{project}/global/targetTcpProxies", "httpMethod": "GET", - "id": "compute.zones.list", + "id": "compute.targetTcpProxies.list", "parameterOrder": [ "project" ], @@ -45595,62 +45048,2600 @@ "type": "boolean" } }, - "path": "projects/{project}/zones", + "path": "projects/{project}/global/targetTcpProxies", "response": { - "$ref": "ZoneList" + "$ref": "TargetTcpProxyList" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] - } - } - } - }, - "revision": "20240919", - "rootUrl": "https://compute.googleapis.com/", - "schemas": { - "AWSV4Signature": { - "description": "Contains the configurations necessary to generate a signature for access to private storage buckets that support Signature Version 4 for authentication. The service name for generating the authentication header will always default to 's3'.", - "id": "AWSV4Signature", - "properties": { - "accessKey": { - "description": "The access key used for s3 bucket authentication. Required for updating or creating a backend that uses AWS v4 signature authentication, but will not be returned as part of the configuration when queried with a REST API GET request. @InputOnly", - "type": "string" }, - "accessKeyId": { - "description": "The identifier of an access key used for s3 bucket authentication.", - "type": "string" + "setBackendService": { + "description": "Changes the BackendService for TargetTcpProxy.", + "flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setBackendService", + "httpMethod": "POST", + "id": "compute.targetTcpProxies.setBackendService", + "parameterOrder": [ + "project", + "targetTcpProxy" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "targetTcpProxy": { + "description": "Name of the TargetTcpProxy resource whose BackendService resource is to be set.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setBackendService", + "request": { + "$ref": "TargetTcpProxiesSetBackendServiceRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] }, - "accessKeyVersion": { - "description": "The optional version identifier for the access key. You can use this to keep track of different iterations of your access key.", - "type": "string" + "setProxyHeader": { + "description": "Changes the ProxyHeaderType for TargetTcpProxy.", + "flatPath": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setProxyHeader", + "httpMethod": "POST", + "id": "compute.targetTcpProxies.setProxyHeader", + "parameterOrder": [ + "project", + "targetTcpProxy" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "targetTcpProxy": { + "description": "Name of the TargetTcpProxy resource whose ProxyHeader is to be set.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/targetTcpProxies/{targetTcpProxy}/setProxyHeader", + "request": { + "$ref": "TargetTcpProxiesSetProxyHeaderRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] }, - "originRegion": { - "description": "The name of the cloud region of your origin. This is a free-form field with the name of the region your cloud uses to host your origin. For example, \"us-east-1\" for AWS or \"us-ashburn-1\" for OCI.", - "type": "string" + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/global/targetTcpProxies/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.targetTcpProxies.testIamPermissions", + "parameterOrder": [ + "project", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/targetTcpProxies/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, + "response": { + "$ref": "TestPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] } - }, - "type": "object" + } }, - "AcceleratorConfig": { - "description": "A specification of the type and number of accelerator cards attached to the instance.", - "id": "AcceleratorConfig", - "properties": { - "acceleratorCount": { - "description": "The number of the guest accelerator cards exposed to this instance.", - "format": "int32", - "type": "integer" + "targetVpnGateways": { + "methods": { + "aggregatedList": { + "description": "Retrieves an aggregated list of target VPN gateways. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/targetVpnGateways", + "httpMethod": "GET", + "id": "compute.targetVpnGateways.aggregatedList", + "parameterOrder": [ + "project" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "location": "query", + "type": "boolean" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + }, + "serviceProjectNumber": { + "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/aggregated/targetVpnGateways", + "response": { + "$ref": "TargetVpnGatewayAggregatedList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] }, - "acceleratorType": { - "description": "Full or partial URL of the accelerator type resource to attach to this instance. For example: projects/my-project/zones/us-central1-c/acceleratorTypes/nvidia-tesla-p100 If you are creating an instance template, specify only the accelerator name. See GPUs on Compute Engine for a full list of accelerator types.", - "type": "string" - } - }, - "type": "object" - }, - "AcceleratorType": { + "delete": { + "description": "Deletes the specified target VPN gateway.", + "flatPath": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", + "httpMethod": "DELETE", + "id": "compute.targetVpnGateways.delete", + "parameterOrder": [ + "project", + "region", + "targetVpnGateway" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "targetVpnGateway": { + "description": "Name of the target VPN gateway to delete.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Returns the specified target VPN gateway.", + "flatPath": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", + "httpMethod": "GET", + "id": "compute.targetVpnGateways.get", + "parameterOrder": [ + "project", + "region", + "targetVpnGateway" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "targetVpnGateway": { + "description": "Name of the target VPN gateway to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/targetVpnGateways/{targetVpnGateway}", + "response": { + "$ref": "TargetVpnGateway" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates a target VPN gateway in the specified project and region using the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/targetVpnGateways", + "httpMethod": "POST", + "id": "compute.targetVpnGateways.insert", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/targetVpnGateways", + "request": { + "$ref": "TargetVpnGateway" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Retrieves a list of target VPN gateways available to the specified project and region.", + "flatPath": "projects/{project}/regions/{region}/targetVpnGateways", + "httpMethod": "GET", + "id": "compute.targetVpnGateways.list", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/regions/{region}/targetVpnGateways", + "response": { + "$ref": "TargetVpnGatewayList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "setLabels": { + "description": "Sets the labels on a TargetVpnGateway. To learn more about labels, read the Labeling Resources documentation.", + "flatPath": "projects/{project}/regions/{region}/targetVpnGateways/{resource}/setLabels", + "httpMethod": "POST", + "id": "compute.targetVpnGateways.setLabels", + "parameterOrder": [ + "project", + "region", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/targetVpnGateways/{resource}/setLabels", + "request": { + "$ref": "RegionSetLabelsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/regions/{region}/targetVpnGateways/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.targetVpnGateways.testIamPermissions", + "parameterOrder": [ + "project", + "region", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/targetVpnGateways/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, + "response": { + "$ref": "TestPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, + "urlMaps": { + "methods": { + "aggregatedList": { + "description": "Retrieves the list of all UrlMap resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/urlMaps", + "httpMethod": "GET", + "id": "compute.urlMaps.aggregatedList", + "parameterOrder": [ + "project" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "location": "query", + "type": "boolean" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Name of the project scoping this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + }, + "serviceProjectNumber": { + "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/aggregated/urlMaps", + "response": { + "$ref": "UrlMapsAggregatedList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "delete": { + "description": "Deletes the specified UrlMap resource.", + "flatPath": "projects/{project}/global/urlMaps/{urlMap}", + "httpMethod": "DELETE", + "id": "compute.urlMaps.delete", + "parameterOrder": [ + "project", + "urlMap" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "urlMap": { + "description": "Name of the UrlMap resource to delete.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/urlMaps/{urlMap}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Returns the specified UrlMap resource.", + "flatPath": "projects/{project}/global/urlMaps/{urlMap}", + "httpMethod": "GET", + "id": "compute.urlMaps.get", + "parameterOrder": [ + "project", + "urlMap" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "urlMap": { + "description": "Name of the UrlMap resource to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/urlMaps/{urlMap}", + "response": { + "$ref": "UrlMap" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates a UrlMap resource in the specified project using the data included in the request.", + "flatPath": "projects/{project}/global/urlMaps", + "httpMethod": "POST", + "id": "compute.urlMaps.insert", + "parameterOrder": [ + "project" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/global/urlMaps", + "request": { + "$ref": "UrlMap" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "invalidateCache": { + "description": "Initiates a cache invalidation operation, invalidating the specified path, scoped to the specified UrlMap. For more information, see [Invalidating cached content](/cdn/docs/invalidating-cached-content).", + "flatPath": "projects/{project}/global/urlMaps/{urlMap}/invalidateCache", + "httpMethod": "POST", + "id": "compute.urlMaps.invalidateCache", + "parameterOrder": [ + "project", + "urlMap" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "urlMap": { + "description": "Name of the UrlMap scoping this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/urlMaps/{urlMap}/invalidateCache", + "request": { + "$ref": "CacheInvalidationRule" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Retrieves the list of UrlMap resources available to the specified project.", + "flatPath": "projects/{project}/global/urlMaps", + "httpMethod": "GET", + "id": "compute.urlMaps.list", + "parameterOrder": [ + "project" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/global/urlMaps", + "response": { + "$ref": "UrlMapList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "patch": { + "description": "Patches the specified UrlMap resource with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules.", + "flatPath": "projects/{project}/global/urlMaps/{urlMap}", + "httpMethod": "PATCH", + "id": "compute.urlMaps.patch", + "parameterOrder": [ + "project", + "urlMap" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "urlMap": { + "description": "Name of the UrlMap resource to patch.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/urlMaps/{urlMap}", + "request": { + "$ref": "UrlMap" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/global/urlMaps/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.urlMaps.testIamPermissions", + "parameterOrder": [ + "project", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/urlMaps/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, + "response": { + "$ref": "TestPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "update": { + "description": "Updates the specified UrlMap resource with the data included in the request.", + "flatPath": "projects/{project}/global/urlMaps/{urlMap}", + "httpMethod": "PUT", + "id": "compute.urlMaps.update", + "parameterOrder": [ + "project", + "urlMap" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "urlMap": { + "description": "Name of the UrlMap resource to update.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/urlMaps/{urlMap}", + "request": { + "$ref": "UrlMap" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "validate": { + "description": "Runs static validation for the UrlMap. In particular, the tests of the provided UrlMap will be run. Calling this method does NOT create the UrlMap.", + "flatPath": "projects/{project}/global/urlMaps/{urlMap}/validate", + "httpMethod": "POST", + "id": "compute.urlMaps.validate", + "parameterOrder": [ + "project", + "urlMap" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "urlMap": { + "description": "Name of the UrlMap resource to be validated as.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/urlMaps/{urlMap}/validate", + "request": { + "$ref": "UrlMapsValidateRequest" + }, + "response": { + "$ref": "UrlMapsValidateResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + } + } + }, + "vpnGateways": { + "methods": { + "aggregatedList": { + "description": "Retrieves an aggregated list of VPN gateways. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/vpnGateways", + "httpMethod": "GET", + "id": "compute.vpnGateways.aggregatedList", + "parameterOrder": [ + "project" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "location": "query", + "type": "boolean" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + }, + "serviceProjectNumber": { + "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/aggregated/vpnGateways", + "response": { + "$ref": "VpnGatewayAggregatedList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "delete": { + "description": "Deletes the specified VPN gateway.", + "flatPath": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}", + "httpMethod": "DELETE", + "id": "compute.vpnGateways.delete", + "parameterOrder": [ + "project", + "region", + "vpnGateway" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "vpnGateway": { + "description": "Name of the VPN gateway to delete.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Returns the specified VPN gateway.", + "flatPath": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}", + "httpMethod": "GET", + "id": "compute.vpnGateways.get", + "parameterOrder": [ + "project", + "region", + "vpnGateway" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "vpnGateway": { + "description": "Name of the VPN gateway to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}", + "response": { + "$ref": "VpnGateway" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "getStatus": { + "description": "Returns the status for the specified VPN gateway.", + "flatPath": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}/getStatus", + "httpMethod": "GET", + "id": "compute.vpnGateways.getStatus", + "parameterOrder": [ + "project", + "region", + "vpnGateway" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "vpnGateway": { + "description": "Name of the VPN gateway to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/vpnGateways/{vpnGateway}/getStatus", + "response": { + "$ref": "VpnGatewaysGetStatusResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates a VPN gateway in the specified project and region using the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/vpnGateways", + "httpMethod": "POST", + "id": "compute.vpnGateways.insert", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/vpnGateways", + "request": { + "$ref": "VpnGateway" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Retrieves a list of VPN gateways available to the specified project and region.", + "flatPath": "projects/{project}/regions/{region}/vpnGateways", + "httpMethod": "GET", + "id": "compute.vpnGateways.list", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/regions/{region}/vpnGateways", + "response": { + "$ref": "VpnGatewayList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "setLabels": { + "description": "Sets the labels on a VpnGateway. To learn more about labels, read the Labeling Resources documentation.", + "flatPath": "projects/{project}/regions/{region}/vpnGateways/{resource}/setLabels", + "httpMethod": "POST", + "id": "compute.vpnGateways.setLabels", + "parameterOrder": [ + "project", + "region", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/vpnGateways/{resource}/setLabels", + "request": { + "$ref": "RegionSetLabelsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/regions/{region}/vpnGateways/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.vpnGateways.testIamPermissions", + "parameterOrder": [ + "project", + "region", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/vpnGateways/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, + "response": { + "$ref": "TestPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, + "vpnTunnels": { + "methods": { + "aggregatedList": { + "description": "Retrieves an aggregated list of VPN tunnels. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/vpnTunnels", + "httpMethod": "GET", + "id": "compute.vpnTunnels.aggregatedList", + "parameterOrder": [ + "project" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "location": "query", + "type": "boolean" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + }, + "serviceProjectNumber": { + "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/aggregated/vpnTunnels", + "response": { + "$ref": "VpnTunnelAggregatedList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "delete": { + "description": "Deletes the specified VpnTunnel resource.", + "flatPath": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}", + "httpMethod": "DELETE", + "id": "compute.vpnTunnels.delete", + "parameterOrder": [ + "project", + "region", + "vpnTunnel" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "vpnTunnel": { + "description": "Name of the VpnTunnel resource to delete.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Returns the specified VpnTunnel resource.", + "flatPath": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}", + "httpMethod": "GET", + "id": "compute.vpnTunnels.get", + "parameterOrder": [ + "project", + "region", + "vpnTunnel" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "vpnTunnel": { + "description": "Name of the VpnTunnel resource to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/vpnTunnels/{vpnTunnel}", + "response": { + "$ref": "VpnTunnel" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates a VpnTunnel resource in the specified project and region using the data included in the request.", + "flatPath": "projects/{project}/regions/{region}/vpnTunnels", + "httpMethod": "POST", + "id": "compute.vpnTunnels.insert", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/vpnTunnels", + "request": { + "$ref": "VpnTunnel" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Retrieves a list of VpnTunnel resources contained in the specified project and region.", + "flatPath": "projects/{project}/regions/{region}/vpnTunnels", + "httpMethod": "GET", + "id": "compute.vpnTunnels.list", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/regions/{region}/vpnTunnels", + "response": { + "$ref": "VpnTunnelList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "setLabels": { + "description": "Sets the labels on a VpnTunnel. To learn more about labels, read the Labeling Resources documentation.", + "flatPath": "projects/{project}/regions/{region}/vpnTunnels/{resource}/setLabels", + "httpMethod": "POST", + "id": "compute.vpnTunnels.setLabels", + "parameterOrder": [ + "project", + "region", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/vpnTunnels/{resource}/setLabels", + "request": { + "$ref": "RegionSetLabelsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.", + "flatPath": "projects/{project}/regions/{region}/vpnTunnels/{resource}/testIamPermissions", + "httpMethod": "POST", + "id": "compute.vpnTunnels.testIamPermissions", + "parameterOrder": [ + "project", + "region", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/vpnTunnels/{resource}/testIamPermissions", + "request": { + "$ref": "TestPermissionsRequest" + }, + "response": { + "$ref": "TestPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, + "wireGroups": { + "methods": { + "delete": { + "description": "Deletes the specified wire group in the given scope.", + "flatPath": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups/{wireGroup}", + "httpMethod": "DELETE", + "id": "compute.wireGroups.delete", + "parameterOrder": [ + "project", + "crossSiteNetwork", + "wireGroup" + ], + "parameters": { + "crossSiteNetwork": { + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", + "location": "query", + "type": "string" + }, + "wireGroup": { + "description": "Name of the wire group resource to delete.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups/{wireGroup}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Gets the specified wire group resource in the given scope.", + "flatPath": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups/{wireGroup}", + "httpMethod": "GET", + "id": "compute.wireGroups.get", + "parameterOrder": [ + "project", + "crossSiteNetwork", + "wireGroup" + ], + "parameters": { + "crossSiteNetwork": { + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "wireGroup": { + "description": "Name of the wire group resource to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups/{wireGroup}", + "response": { + "$ref": "WireGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates a wire group in the specified project in the given scope using the parameters that are included in the request.", + "flatPath": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups", + "httpMethod": "POST", + "id": "compute.wireGroups.insert", + "parameterOrder": [ + "project", + "crossSiteNetwork" + ], + "parameters": { + "crossSiteNetwork": { + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "[Input Only] Validate the new configuration, but don't create it.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups", + "request": { + "$ref": "WireGroup" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Lists the wire groups for a project in the given scope.", + "flatPath": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups", + "httpMethod": "GET", + "id": "compute.wireGroups.list", + "parameterOrder": [ + "project", + "crossSiteNetwork" + ], + "parameters": { + "crossSiteNetwork": { + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups", + "response": { + "$ref": "WireGroupList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "patch": { + "description": "Updates the specified wire group resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules.", + "flatPath": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups/{wireGroup}", + "httpMethod": "PATCH", + "id": "compute.wireGroups.patch", + "parameterOrder": [ + "project", + "crossSiteNetwork", + "wireGroup" + ], + "parameters": { + "crossSiteNetwork": { + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "update_mask indicates fields to be updated as part of this request.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "[Input Only] Validate the new configuration, but don't update it.", + "location": "query", + "type": "boolean" + }, + "wireGroup": { + "description": "Name of the WireGroups resource to patch.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups/{wireGroup}", + "request": { + "$ref": "WireGroup" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + } + } + }, + "zoneOperations": { + "methods": { + "delete": { + "description": "Deletes the specified zone-specific Operations resource.", + "flatPath": "projects/{project}/zones/{zone}/operations/{operation}", + "httpMethod": "DELETE", + "id": "compute.zoneOperations.delete", + "parameterOrder": [ + "project", + "zone", + "operation" + ], + "parameters": { + "operation": { + "description": "Name of the Operations resource to delete, or its unique numeric identifier.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "zone": { + "description": "Name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/operations/{operation}", + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Retrieves the specified zone-specific Operations resource.", + "flatPath": "projects/{project}/zones/{zone}/operations/{operation}", + "httpMethod": "GET", + "id": "compute.zoneOperations.get", + "parameterOrder": [ + "project", + "zone", + "operation" + ], + "parameters": { + "operation": { + "description": "Name of the Operations resource to return, or its unique numeric identifier.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "zone": { + "description": "Name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/operations/{operation}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "list": { + "description": "Retrieves a list of Operation resources contained within the specified zone.", + "flatPath": "projects/{project}/zones/{zone}/operations", + "httpMethod": "GET", + "id": "compute.zoneOperations.list", + "parameterOrder": [ + "project", + "zone" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + }, + "zone": { + "description": "Name of the zone for request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/operations", + "response": { + "$ref": "OperationList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "wait": { + "description": "Waits for the specified Operation resource to return as `DONE` or for the request to approach the 2 minute deadline, and retrieves the specified Operation resource. This method waits for no more than the 2 minutes and then returns the current state of the operation, which might be `DONE` or still in progress. This method is called on a best-effort basis. Specifically: - In uncommon cases, when the server is overloaded, the request might return before the default deadline is reached, or might return after zero seconds. - If the default deadline is reached, there is no guarantee that the operation is actually done when the method returns. Be prepared to retry if the operation is not `DONE`. ", + "flatPath": "projects/{project}/zones/{zone}/operations/{operation}/wait", + "httpMethod": "POST", + "id": "compute.zoneOperations.wait", + "parameterOrder": [ + "project", + "zone", + "operation" + ], + "parameters": { + "operation": { + "description": "Name of the Operations resource to return, or its unique numeric identifier.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "zone": { + "description": "Name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/operations/{operation}/wait", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, + "zoneQueuedResources": { + "methods": { + "aggregatedList": { + "description": "Retrieves an aggregated list of all of the queued resources in a project across all zones. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/queuedResources", + "httpMethod": "GET", + "id": "compute.zoneQueuedResources.aggregatedList", + "parameterOrder": [ + "project" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "location": "query", + "type": "boolean" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + }, + "serviceProjectNumber": { + "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/aggregated/queuedResources", + "response": { + "$ref": "QueuedResourcesAggregatedList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "cancel": { + "description": "Cancels a QueuedResource. Only a resource in ACCEPTED state may be cancelled.", + "flatPath": "projects/{project}/zones/{zone}/queuedResources/{queuedResource}/cancel", + "httpMethod": "POST", + "id": "compute.zoneQueuedResources.cancel", + "parameterOrder": [ + "project", + "zone", + "queuedResource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "queuedResource": { + "description": "Name of the QueuedResource to cancel.", + "location": "path", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "zone": { + "description": "Name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/queuedResources/{queuedResource}/cancel", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "delete": { + "description": "Deletes a QueuedResource. For a QueuedResource in ACCEPTED state, call cancel on the resource before deleting, to make sure no VMs have been provisioned and may require cleaning up. For a QueuedResource in PROVISIONING state the request to delete is registered for execution following the provisioning.", + "flatPath": "projects/{project}/zones/{zone}/queuedResources/{queuedResource}", + "httpMethod": "DELETE", + "id": "compute.zoneQueuedResources.delete", + "parameterOrder": [ + "project", + "zone", + "queuedResource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "queuedResource": { + "description": "Name of the QueuedResource to delete.", + "location": "path", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "zone": { + "description": "Name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/queuedResources/{queuedResource}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Returns the specified QueuedResource resource.", + "flatPath": "projects/{project}/zones/{zone}/queuedResources/{queuedResource}", + "httpMethod": "GET", + "id": "compute.zoneQueuedResources.get", + "parameterOrder": [ + "project", + "zone", + "queuedResource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "queuedResource": { + "description": "Name of the QueuedResource resource to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "zone": { + "description": "Name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/queuedResources/{queuedResource}", + "response": { + "$ref": "QueuedResource" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates a QueuedResource.", + "flatPath": "projects/{project}/zones/{zone}/queuedResources", + "httpMethod": "POST", + "id": "compute.zoneQueuedResources.insert", + "parameterOrder": [ + "project", + "zone" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "zone": { + "description": "Name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/queuedResources", + "request": { + "$ref": "QueuedResource" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Retrieves the list of QueuedResource resources.", + "flatPath": "projects/{project}/zones/{zone}/queuedResources", + "httpMethod": "GET", + "id": "compute.zoneQueuedResources.list", + "parameterOrder": [ + "project", + "zone" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + }, + "zone": { + "description": "Name of the zone for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/queuedResources", + "response": { + "$ref": "QueuedResourceList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, + "zones": { + "methods": { + "get": { + "description": "Returns the specified Zone resource.", + "flatPath": "projects/{project}/zones/{zone}", + "httpMethod": "GET", + "id": "compute.zones.get", + "parameterOrder": [ + "project", + "zone" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "zone": { + "description": "Name of the zone resource to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}", + "response": { + "$ref": "Zone" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "list": { + "description": "Retrieves the list of Zone resources available to the specified project.", + "flatPath": "projects/{project}/zones", + "httpMethod": "GET", + "id": "compute.zones.list", + "parameterOrder": [ + "project" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/zones", + "response": { + "$ref": "ZoneList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + } + }, + "revision": "20241231", + "rootUrl": "https://compute.googleapis.com/", + "schemas": { + "AWSV4Signature": { + "description": "Contains the configurations necessary to generate a signature for access to private storage buckets that support Signature Version 4 for authentication. The service name for generating the authentication header will always default to 's3'.", + "id": "AWSV4Signature", + "properties": { + "accessKey": { + "description": "The access key used for s3 bucket authentication. Required for updating or creating a backend that uses AWS v4 signature authentication, but will not be returned as part of the configuration when queried with a REST API GET request. @InputOnly", + "type": "string" + }, + "accessKeyId": { + "description": "The identifier of an access key used for s3 bucket authentication.", + "type": "string" + }, + "accessKeyVersion": { + "description": "The optional version identifier for the access key. You can use this to keep track of different iterations of your access key.", + "type": "string" + }, + "originRegion": { + "description": "The name of the cloud region of your origin. This is a free-form field with the name of the region your cloud uses to host your origin. For example, \"us-east-1\" for AWS or \"us-ashburn-1\" for OCI.", + "type": "string" + } + }, + "type": "object" + }, + "AcceleratorConfig": { + "description": "A specification of the type and number of accelerator cards attached to the instance.", + "id": "AcceleratorConfig", + "properties": { + "acceleratorCount": { + "description": "The number of the guest accelerator cards exposed to this instance.", + "format": "int32", + "type": "integer" + }, + "acceleratorType": { + "description": "Full or partial URL of the accelerator type resource to attach to this instance. For example: projects/my-project/zones/us-central1-c/acceleratorTypes/nvidia-tesla-p100 If you are creating an instance template, specify only the accelerator name. See GPUs on Compute Engine for a full list of accelerator types.", + "type": "string" + } + }, + "type": "object" + }, + "AcceleratorType": { "description": "Represents an Accelerator Type resource. Google Cloud Platform provides graphics processing units (accelerators) that you can add to VM instances to improve or accelerate performance when working with intensive workloads. For more information, read GPUs on Compute Engine.", "id": "AcceleratorType", "properties": { @@ -45658,12 +47649,1961 @@ "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" }, - "deprecated": { - "$ref": "DeprecationStatus", - "description": "[Output Only] The deprecation status associated with this accelerator type." - }, + "deprecated": { + "$ref": "DeprecationStatus", + "description": "[Output Only] The deprecation status associated with this accelerator type." + }, + "description": { + "description": "[Output Only] An optional textual description of the resource.", + "type": "string" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64", + "type": "string" + }, + "kind": { + "default": "compute#acceleratorType", + "description": "[Output Only] The type of the resource. Always compute#acceleratorType for accelerator types.", + "type": "string" + }, + "maximumCardsPerInstance": { + "description": "[Output Only] Maximum number of accelerator cards allowed per instance.", + "format": "int32", + "type": "integer" + }, + "name": { + "description": "[Output Only] Name of the resource.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined, fully qualified URL for this resource.", + "type": "string" + }, + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource's resource id.", + "type": "string" + }, + "zone": { + "description": "[Output Only] The name of the zone where the accelerator type resides, such as us-central1-a. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "type": "string" + } + }, + "type": "object" + }, + "AcceleratorTypeAggregatedList": { + "id": "AcceleratorTypeAggregatedList", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "additionalProperties": { + "$ref": "AcceleratorTypesScopedList", + "description": "[Output Only] Name of the scope containing this set of accelerator types." + }, + "description": "A list of AcceleratorTypesScopedList resources.", + "type": "object" + }, + "kind": { + "default": "compute#acceleratorTypeAggregatedList", + "description": "[Output Only] Type of resource. Always compute#acceleratorTypeAggregatedList for aggregated lists of accelerator types.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "[Output Only] Unreachable resources.", + "items": { + "type": "string" + }, + "type": "array" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AcceleratorTypeList": { + "description": "Contains a list of accelerator types.", + "id": "AcceleratorTypeList", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of AcceleratorType resources.", + "items": { + "$ref": "AcceleratorType" + }, + "type": "array" + }, + "kind": { + "default": "compute#acceleratorTypeList", + "description": "[Output Only] Type of resource. Always compute#acceleratorTypeList for lists of accelerator types.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AcceleratorTypesScopedList": { + "id": "AcceleratorTypesScopedList", + "properties": { + "acceleratorTypes": { + "description": "[Output Only] A list of accelerator types contained in this scope.", + "items": { + "$ref": "AcceleratorType" + }, + "type": "array" + }, + "warning": { + "description": "[Output Only] An informational warning that appears when the accelerator types list is empty.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AccessConfig": { + "description": "An access configuration attached to an instance's network interface. Only one access config per instance is supported.", + "id": "AccessConfig", + "properties": { + "externalIpv6": { + "description": "Applies to ipv6AccessConfigs only. The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. To use a static external IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an external IPv6 address from the instance's subnetwork.", + "type": "string" + }, + "externalIpv6PrefixLength": { + "description": "Applies to ipv6AccessConfigs only. The prefix length of the external IPv6 range.", + "format": "int32", + "type": "integer" + }, + "kind": { + "default": "compute#accessConfig", + "description": "[Output Only] Type of the resource. Always compute#accessConfig for access configs.", + "type": "string" + }, + "name": { + "description": "The name of this access configuration. In accessConfigs (IPv4), the default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access. In ipv6AccessConfigs, the recommend name is External IPv6.", + "type": "string" + }, + "natIP": { + "description": "Applies to accessConfigs (IPv4) only. An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.", + "type": "string" + }, + "networkTier": { + "description": "This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD. If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier. If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.", + "enum": [ + "FIXED_STANDARD", + "PREMIUM", + "SELECT", + "STANDARD", + "STANDARD_OVERRIDES_FIXED_STANDARD" + ], + "enumDescriptions": [ + "Public internet quality with fixed bandwidth.", + "High quality, Google-grade network tier, support for all networking products.", + "Price competitive network tier, support for all networking products.", + "Public internet quality, only limited support for other networking products.", + "(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured." + ], + "type": "string" + }, + "publicDnsName": { + "description": "[Output Only] The public DNS domain name for the instance.", + "type": "string" + }, + "publicPtrDomainName": { + "description": "The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled in accessConfig. If this field is unspecified in ipv6AccessConfig, a default PTR record will be created for first IP in associated external IPv6 range.", + "type": "string" + }, + "securityPolicy": { + "description": "The resource URL for the security policy associated with this access config.", + "type": "string" + }, + "setPublicDns": { + "description": "Specifies whether a public DNS 'A' record should be created for the external IP address of this access configuration.", + "type": "boolean" + }, + "setPublicPtr": { + "description": "Specifies whether a public DNS 'PTR' record should be created to map the external IP address of the instance to a DNS domain name. This field is not used in ipv6AccessConfig. A default PTR record will be created if the VM has external IPv6 range associated.", + "type": "boolean" + }, + "type": { + "description": "The type of configuration. In accessConfigs (IPv4), the default and only option is ONE_TO_ONE_NAT. In ipv6AccessConfigs, the default and only option is DIRECT_IPV6.", + "enum": [ + "DIRECT_IPV6", + "ONE_TO_ONE_NAT" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "Address": { + "description": "Represents an IP Address resource. Google Compute Engine has two IP Address resources: * [Global (external and internal)](https://cloud.google.com/compute/docs/reference/rest/alpha/globalAddresses) * [Regional (external and internal)](https://cloud.google.com/compute/docs/reference/rest/alpha/addresses) For more information, see Reserving a static external IP address.", + "id": "Address", + "properties": { + "address": { + "description": "The static IP address represented by this resource.", + "type": "string" + }, + "addressType": { + "description": "The type of address to reserve, either INTERNAL or EXTERNAL. If unspecified, defaults to EXTERNAL.", + "enum": [ + "DNS_FORWARDING", + "EXTERNAL", + "INTERNAL", + "UNSPECIFIED_TYPE" + ], + "enumDescriptions": [ + "DNS resolver address in the subnetwork.", + "A publicly visible external IP address.", + "A private network IP address, for use with an Instance or Internal Load Balancer forwarding rule.", + "" + ], + "type": "string" + }, + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "An optional description of this resource. Provide this field when you create the resource.", + "type": "string" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64", + "type": "string" + }, + "ipVersion": { + "description": "The IP version that will be used by this address. Valid options are IPV4 or IPV6.", + "enum": [ + "IPV4", + "IPV6", + "UNSPECIFIED_VERSION" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "ipv6EndpointType": { + "description": "The endpoint type of this address, which should be VM or NETLB. This is used for deciding which type of endpoint this address can be used after the external IPv6 address reservation.", + "enum": [ + "NETLB", + "VM" + ], + "enumDescriptions": [ + "Reserved IPv6 address can be used on network load balancer.", + "Reserved IPv6 address can be used on VM." + ], + "type": "string" + }, + "kind": { + "default": "compute#address", + "description": "[Output Only] Type of the resource. Always compute#address for addresses.", + "type": "string" + }, + "labelFingerprint": { + "description": "A fingerprint for the labels being applied to this Address, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an Address.", + "format": "byte", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", + "type": "object" + }, + "name": { + "annotations": { + "required": [ + "compute.addresses.insert" + ] + }, + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "network": { + "description": "The URL of the network in which to reserve the address. This field can only be used with INTERNAL type with the VPC_PEERING purpose.", + "type": "string" + }, + "networkTier": { + "description": "This signifies the networking tier used for configuring this address and can only take the following values: PREMIUM or STANDARD. Internal IP addresses are always Premium Tier; global external IP addresses are always Premium Tier; regional external IP addresses can be either Standard or Premium Tier. If this field is not specified, it is assumed to be PREMIUM.", + "enum": [ + "FIXED_STANDARD", + "PREMIUM", + "SELECT", + "STANDARD", + "STANDARD_OVERRIDES_FIXED_STANDARD" + ], + "enumDescriptions": [ + "Public internet quality with fixed bandwidth.", + "High quality, Google-grade network tier, support for all networking products.", + "Price competitive network tier, support for all networking products.", + "Public internet quality, only limited support for other networking products.", + "(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured." + ], + "type": "string" + }, + "prefixLength": { + "description": "The prefix length if the resource represents an IP range.", + "format": "int32", + "type": "integer" + }, + "purpose": { + "description": "The purpose of this resource, which can be one of the following values: - GCE_ENDPOINT for addresses that are used by VM instances, alias IP ranges, load balancers, and similar resources. - DNS_RESOLVER for a DNS resolver address in a subnetwork for a Cloud DNS inbound forwarder IP addresses (regional internal IP address in a subnet of a VPC network) - VPC_PEERING for global internal IP addresses used for private services access allocated ranges. - NAT_AUTO for the regional external IP addresses used by Cloud NAT when allocating addresses using automatic NAT IP address allocation. - IPSEC_INTERCONNECT for addresses created from a private IP range that are reserved for a VLAN attachment in an *HA VPN over Cloud Interconnect* configuration. These addresses are regional resources. - `SHARED_LOADBALANCER_VIP` for an internal IP address that is assigned to multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT` for a private network address that is used to configure Private Service Connect. Only global internal addresses can use this purpose. ", + "enum": [ + "DNS_RESOLVER", + "GCE_ENDPOINT", + "IPSEC_INTERCONNECT", + "NAT_AUTO", + "PRIVATE_SERVICE_CONNECT", + "SERVERLESS", + "SHARED_LOADBALANCER_VIP", + "SYSTEM_MANAGED", + "VPC_PEERING" + ], + "enumDescriptions": [ + "DNS resolver address in the subnetwork.", + "VM internal/alias IP, Internal LB service IP, etc.", + "A regional internal IP address range reserved for the VLAN attachment that is used in HA VPN over Cloud Interconnect. This regional internal IP address range must not overlap with any IP address range of subnet/route in the VPC network and its peering networks. After the VLAN attachment is created with the reserved IP address range, when creating a new VPN gateway, its interface IP address is allocated from the associated VLAN attachment’s IP address range.", + "External IP automatically reserved for Cloud NAT.", + "A private network IP address that can be used to configure Private Service Connect. This purpose can be specified only for GLOBAL addresses of Type INTERNAL", + "A regional internal IP address range reserved for Serverless.", + "A private network IP address that can be shared by multiple Internal Load Balancer forwarding rules.", + "A regional internal IP address that is reserved and managed by Google Cloud. It can not be assigned to Google Cloud compute resources such as VM and internal load balancer.", + "IP range for peer networks." + ], + "type": "string" + }, + "region": { + "description": "[Output Only] The URL of the region where a regional address resides. For regional addresses, you must specify the region as a path parameter in the HTTP request URL. *This field is not applicable to global addresses.*", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + }, + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "type": "string" + }, + "status": { + "description": "[Output Only] The status of the address, which can be one of RESERVING, RESERVED, or IN_USE. An address that is RESERVING is currently in the process of being reserved. A RESERVED address is currently reserved and available to use. An IN_USE address is currently being used by another resource and is not available.", + "enum": [ + "IN_USE", + "RESERVED", + "RESERVING" + ], + "enumDescriptions": [ + "Address is being used by another resource and is not available.", + "Address is reserved and available to use.", + "Address is being reserved." + ], + "type": "string" + }, + "subnetwork": { + "description": "The URL of the subnetwork in which to reserve the address. If an IP address is specified, it must be within the subnetwork's IP range. This field can only be used with INTERNAL type with a GCE_ENDPOINT or DNS_RESOLVER purpose.", + "type": "string" + }, + "users": { + "description": "[Output Only] The URLs of the resources that are using this address.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AddressAggregatedList": { + "id": "AddressAggregatedList", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "additionalProperties": { + "$ref": "AddressesScopedList", + "description": "[Output Only] Name of the scope containing this set of addresses." + }, + "description": "A list of AddressesScopedList resources.", + "type": "object" + }, + "kind": { + "default": "compute#addressAggregatedList", + "description": "[Output Only] Type of resource. Always compute#addressAggregatedList for aggregated lists of addresses.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "[Output Only] Unreachable resources.", + "items": { + "type": "string" + }, + "type": "array" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AddressList": { + "description": "Contains a list of addresses.", + "id": "AddressList", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of Address resources.", + "items": { + "$ref": "Address" + }, + "type": "array" + }, + "kind": { + "default": "compute#addressList", + "description": "[Output Only] Type of resource. Always compute#addressList for lists of addresses.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AddressesScopedList": { + "id": "AddressesScopedList", + "properties": { + "addresses": { + "description": "[Output Only] A list of addresses contained in this scope.", + "items": { + "$ref": "Address" + }, + "type": "array" + }, + "warning": { + "description": "[Output Only] Informational warning which replaces the list of addresses when the list is empty.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "AdvancedMachineFeatures": { + "description": "Specifies options for controlling advanced machine features. Options that would traditionally be configured in a BIOS belong here. Features that require operating system support may have corresponding entries in the GuestOsFeatures of an Image (e.g., whether or not the OS in the Image supports nested virtualization being enabled or disabled).", + "id": "AdvancedMachineFeatures", + "properties": { + "enableNestedVirtualization": { + "description": "Whether to enable nested virtualization or not (default is false).", + "type": "boolean" + }, + "enableUefiNetworking": { + "description": "Whether to enable UEFI networking for instance creation.", + "type": "boolean" + }, + "enableWatchdogTimer": { + "description": "Whether to enable the watchdog timer.", + "type": "boolean" + }, + "numaNodeCount": { + "description": "The number of vNUMA nodes.", + "format": "int32", + "type": "integer" + }, + "performanceMonitoringUnit": { + "description": "Type of Performance Monitoring Unit requested on instance.", + "enum": [ + "ARCHITECTURAL", + "ENHANCED", + "PERFORMANCE_MONITORING_UNIT_UNSPECIFIED", + "STANDARD" + ], + "enumDescriptions": [ + "Architecturally defined non-LLC events.", + "Most documented core/L2 and LLC events.", + "", + "Most documented core/L2 events." + ], + "type": "string" + }, + "threadsPerCore": { + "description": "The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.", + "format": "int32", + "type": "integer" + }, + "turboMode": { + "description": "Turbo frequency mode to use for the instance. Supported modes include: * ALL_CORE_MAX Using empty string or not setting this field will use the platform-specific default turbo mode.", + "type": "string" + }, + "visibleCoreCount": { + "description": "The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance's nominal CPU count and the underlying platform's SMT width.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "AliasIpRange": { + "description": "An alias IP range attached to an instance's network interface.", + "id": "AliasIpRange", + "properties": { + "ipCidrRange": { + "description": "The IP alias ranges to allocate for this interface. This IP CIDR range must belong to the specified subnetwork and cannot contain IP addresses reserved by system or used by other network interfaces. This range may be a single IP address (such as 10.2.3.4), a netmask (such as /24) or a CIDR-formatted string (such as 10.1.2.0/24).", + "type": "string" + }, + "subnetworkRangeName": { + "description": "The name of a subnetwork secondary IP range from which to allocate an IP alias range. If not specified, the primary range of the subnetwork is used.", + "type": "string" + } + }, + "type": "object" + }, + "AllocationAggregateReservation": { + "description": "This reservation type is specified by total resource amounts (e.g. total count of CPUs) and can account for multiple instance SKUs. In other words, one can create instances of varying shapes against this reservation.", + "id": "AllocationAggregateReservation", + "properties": { + "inUseResources": { + "description": "[Output only] List of resources currently in use.", + "items": { + "$ref": "AllocationAggregateReservationReservedResourceInfo" + }, + "type": "array" + }, + "reservedResources": { + "description": "List of reserved resources (CPUs, memory, accelerators).", + "items": { + "$ref": "AllocationAggregateReservationReservedResourceInfo" + }, + "type": "array" + }, + "vmFamily": { + "description": "The VM family that all instances scheduled against this reservation must belong to.", + "enum": [ + "VM_FAMILY_CLOUD_TPU_DEVICE_CT3", + "VM_FAMILY_CLOUD_TPU_LITE_DEVICE_CT5L", + "VM_FAMILY_CLOUD_TPU_LITE_POD_SLICE_CT5LP", + "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT3P", + "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT4P" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "workloadType": { + "description": "The workload type of the instances that will target this reservation.", + "enum": [ + "BATCH", + "SERVING", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "Reserved resources will be optimized for BATCH workloads, such as ML training.", + "Reserved resources will be optimized for SERVING workloads, such as ML inference.", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "AllocationAggregateReservationReservedResourceInfo": { + "id": "AllocationAggregateReservationReservedResourceInfo", + "properties": { + "accelerator": { + "$ref": "AllocationAggregateReservationReservedResourceInfoAccelerator", + "description": "Properties of accelerator resources in this reservation." + } + }, + "type": "object" + }, + "AllocationAggregateReservationReservedResourceInfoAccelerator": { + "id": "AllocationAggregateReservationReservedResourceInfoAccelerator", + "properties": { + "acceleratorCount": { + "description": "Number of accelerators of specified type.", + "format": "int32", + "type": "integer" + }, + "acceleratorType": { + "description": "Full or partial URL to accelerator type. e.g. \"projects/{PROJECT}/zones/{ZONE}/acceleratorTypes/ct4l\"", + "type": "string" + } + }, + "type": "object" + }, + "AllocationReservationSharingPolicy": { + "id": "AllocationReservationSharingPolicy", + "properties": { + "serviceShareType": { + "description": "Sharing config for all Google Cloud services.", + "enum": [ + "ALLOW_ALL", + "DISALLOW_ALL", + "SERVICE_SHARE_TYPE_UNSPECIFIED" + ], + "enumDescriptions": [ + "Allow all Google Cloud managed services to share reservations.", + "[Default] Disallow sharing with all Google Cloud services.", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "AllocationResourceStatus": { + "description": "[Output Only] Contains output only fields.", + "id": "AllocationResourceStatus", + "properties": { + "reservationBlockCount": { + "description": "The number of reservation blocks associated with this reservation.", + "format": "int32", + "type": "integer" + }, + "reservationMaintenance": { + "$ref": "GroupMaintenanceInfo", + "description": "Maintenance information for this reservation" + }, + "specificSkuAllocation": { + "$ref": "AllocationResourceStatusSpecificSKUAllocation", + "description": "Allocation Properties of this reservation." + } + }, + "type": "object" + }, + "AllocationResourceStatusSpecificSKUAllocation": { + "description": "Contains Properties set for the reservation.", + "id": "AllocationResourceStatusSpecificSKUAllocation", + "properties": { + "sourceInstanceTemplateId": { + "description": "ID of the instance template used to populate reservation properties.", + "type": "string" + }, + "utilizations": { + "additionalProperties": { + "format": "int64", + "type": "string" + }, + "description": "Per service utilization breakdown. The Key is the Google Cloud managed service name.", + "type": "object" + } + }, + "type": "object" + }, + "AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk": { + "id": "AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk", + "properties": { + "diskSizeGb": { + "description": "Specifies the size of the disk in base-2 GB.", + "format": "int64", + "type": "string" + }, + "interface": { + "description": "Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance.", + "enum": [ + "NVDIMM", + "NVME", + "SCSI" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "AllocationSpecificSKUAllocationReservedInstanceProperties": { + "description": "Properties of the SKU instances being reserved. Next ID: 9", + "id": "AllocationSpecificSKUAllocationReservedInstanceProperties", + "properties": { + "guestAccelerators": { + "description": "Specifies accelerator type and count.", + "items": { + "$ref": "AcceleratorConfig" + }, + "type": "array" + }, + "localSsds": { + "description": "Specifies amount of local ssd to reserve with each instance. The type of disk is local-ssd.", + "items": { + "$ref": "AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk" + }, + "type": "array" + }, + "locationHint": { + "description": "An opaque location hint used to place the allocation close to other resources. This field is for use by internal tools that use the public API.", + "type": "string" + }, + "machineType": { + "description": "Specifies type of machine (name only) which has fixed number of vCPUs and fixed amount of memory. This also includes specifying custom machine type following custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY pattern.", + "type": "string" + }, + "maintenanceFreezeDurationHours": { + "description": "Specifies the number of hours after reservation creation where instances using the reservation won't be scheduled for maintenance.", + "format": "int32", + "type": "integer" + }, + "maintenanceInterval": { + "description": "Specifies the frequency of planned maintenance events. The accepted values are: `PERIODIC`.", + "enum": [ + "AS_NEEDED", + "PERIODIC", + "RECURRENT" + ], + "enumDescriptions": [ + "VMs are eligible to receive infrastructure and hypervisor updates as they become available. This may result in more maintenance operations (live migrations or terminations) for the VM than the PERIODIC and RECURRENT options.", + "VMs receive infrastructure and hypervisor updates on a periodic basis, minimizing the number of maintenance operations (live migrations or terminations) on an individual VM. This may mean a VM will take longer to receive an update than if it was configured for AS_NEEDED. Security updates will still be applied as soon as they are available.", + "VMs receive infrastructure and hypervisor updates on a periodic basis, minimizing the number of maintenance operations (live migrations or terminations) on an individual VM. This may mean a VM will take longer to receive an update than if it was configured for AS_NEEDED. Security updates will still be applied as soon as they are available. RECURRENT is used for GEN3 and Slice of Hardware VMs." + ], + "type": "string" + }, + "minCpuPlatform": { + "description": "Minimum cpu platform the reservation.", + "type": "string" + } + }, + "type": "object" + }, + "AllocationSpecificSKUReservation": { + "description": "This reservation type allows to pre allocate specific instance configuration.", + "id": "AllocationSpecificSKUReservation", + "properties": { + "assuredCount": { + "description": "[Output Only] Indicates how many instances are actually usable currently.", + "format": "int64", + "type": "string" + }, + "count": { + "description": "Specifies the number of resources that are allocated.", + "format": "int64", + "type": "string" + }, + "inUseCount": { + "description": "[Output Only] Indicates how many instances are in use.", + "format": "int64", + "type": "string" + }, + "instanceProperties": { + "$ref": "AllocationSpecificSKUAllocationReservedInstanceProperties", + "description": "The instance properties for the reservation." + }, + "sourceInstanceTemplate": { + "description": "Specifies the instance template to create the reservation. If you use this field, you must exclude the instanceProperties field. This field is optional, and it can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project /global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate ", + "type": "string" + } + }, + "type": "object" + }, + "AsyncReplicationStatus": { + "id": "AsyncReplicationStatus", + "properties": { + "diskPairReplicationState": { + "$ref": "DiskPairReplicationState" + }, + "lastReplicationDetails": { + "$ref": "ReplicationDetails" + } + }, + "type": "object" + }, + "AttachedDisk": { + "description": "An instance-attached disk resource.", + "id": "AttachedDisk", + "properties": { + "architecture": { + "description": "[Output Only] The architecture of the attached disk. Valid values are ARM64 or X86_64.", + "enum": [ + "ARCHITECTURE_UNSPECIFIED", + "ARM64", + "X86_64" + ], + "enumDescriptions": [ + "Default value indicating Architecture is not set.", + "Machines with architecture ARM64", + "Machines with architecture X86_64" + ], + "type": "string" + }, + "autoDelete": { + "description": "Specifies whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).", + "type": "boolean" + }, + "boot": { + "description": "Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.", + "type": "boolean" + }, + "deviceName": { + "description": "Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. This name can be used to reference the device for mounting, resizing, and so on, from within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks.", + "type": "string" + }, + "diskEncryptionKey": { + "$ref": "CustomerEncryptionKey", + "description": "Encrypts or decrypts a disk using a customer-supplied encryption key. If you are creating a new disk, this field encrypts the new disk using an encryption key that you provide. If you are attaching an existing disk that is already encrypted, this field decrypts the disk using the customer-supplied encryption key. If you encrypt a disk using a customer-supplied key, you must provide the same key again when you attempt to use this resource at a later time. For example, you must provide the key when you create a snapshot or an image from the disk or when you attach the disk to a virtual machine instance. If you do not provide an encryption key, then the disk will be encrypted using an automatically generated key and you do not need to provide a key to use the disk later. Note: Instance templates do not store customer-supplied encryption keys, so you cannot use your own keys to encrypt disks in a managed instance group. You cannot create VMs that have disks with customer-supplied keys using the bulk insert method." + }, + "diskSizeGb": { + "description": "The size of the disk in GB.", + "format": "int64", + "type": "string" + }, + "forceAttach": { + "description": "[Input Only] Whether to force attach the regional disk even if it's currently attached to another instance. If you try to force attach a zonal disk to an instance, you will receive an error.", + "type": "boolean" + }, + "guestOsFeatures": { + "description": "A list of features to enable on the guest operating system. Applicable only for bootable images. Read Enabling guest operating system features to see a list of available options.", + "items": { + "$ref": "GuestOsFeature" + }, + "type": "array" + }, + "index": { + "description": "[Output Only] A zero-based index to this disk, where 0 is reserved for the boot disk. If you have many disks attached to an instance, each disk would have a unique index number.", + "format": "int32", + "type": "integer" + }, + "initializeParams": { + "$ref": "AttachedDiskInitializeParams", + "description": "[Input Only] Specifies the parameters for a new disk that will be created alongside the new instance. Use initialization parameters to create boot disks or local SSDs attached to the new instance. This property is mutually exclusive with the source property; you can only define one or the other, but not both." + }, + "interface": { + "description": "Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. For most machine types, the default is SCSI. Local SSDs can use either NVME or SCSI. In certain configurations, persistent disks can use NVMe. For more information, see About persistent disks.", + "enum": [ + "NVDIMM", + "NVME", + "SCSI" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "kind": { + "default": "compute#attachedDisk", + "description": "[Output Only] Type of the resource. Always compute#attachedDisk for attached disks.", + "type": "string" + }, + "licenses": { + "description": "[Output Only] Any valid publicly visible licenses.", + "items": { + "type": "string" + }, + "type": "array" + }, + "locked": { + "description": "[Output Only] Whether to indicate the attached disk is locked. The locked disk is not allowed to be detached from the instance, or to be used as the source of the snapshot creation, and the image creation. The instance with at least one locked attached disk is not allow to be used as source of machine image creation, instant snapshot creation, and not allowed to be deleted with --keep-disk parameter set to true for locked disks.", + "type": "boolean" + }, + "mode": { + "description": "The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not specified, the default is to attach the disk in READ_WRITE mode.", + "enum": [ + "READ_ONLY", + "READ_WRITE" + ], + "enumDescriptions": [ + "Attaches this disk in read-only mode. Multiple virtual machines can use a disk in read-only mode at a time.", + "*[Default]* Attaches this disk in read-write mode. Only one virtual machine at a time can be attached to a disk in read-write mode." + ], + "type": "string" + }, + "savedState": { + "description": "For LocalSSD disks on VM Instances in STOPPED or SUSPENDED state, this field is set to PRESERVED if the LocalSSD data has been saved to a persistent location by customer request. (see the discard_local_ssd option on Stop/Suspend). Read-only in the api.", + "enum": [ + "DISK_SAVED_STATE_UNSPECIFIED", + "PRESERVED" + ], + "enumDescriptions": [ + "*[Default]* Disk state has not been preserved.", + "Disk state has been preserved." + ], + "type": "string" + }, + "shieldedInstanceInitialState": { + "$ref": "InitialStateConfig", + "description": "[Output Only] shielded vm initial state stored on disk" + }, + "source": { + "description": "Specifies a valid partial or full URL to an existing Persistent Disk resource. When creating a new instance boot disk, one of initializeParams.sourceImage or initializeParams.sourceSnapshot or disks.source is required. If desired, you can also attach existing non-root persistent disks using this property. This field is only applicable for persistent disks. Note that for InstanceTemplate, specify the disk name for zonal disk, and the URL for regional disk.", + "type": "string" + }, + "type": { + "description": "Specifies the type of the disk, either SCRATCH or PERSISTENT. If not specified, the default is PERSISTENT.", + "enum": [ + "PERSISTENT", + "SCRATCH" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "userLicenses": { + "description": "[Output Only] A list of user provided licenses. It represents a list of URLs to the license resource. Unlike regular licenses, user provided licenses can be modified after the disk is created.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AttachedDiskInitializeParams": { + "description": "[Input Only] Specifies the parameters for a new disk that will be created alongside the new instance. Use initialization parameters to create boot disks or local SSDs attached to the new instance. This field is persisted and returned for instanceTemplate and not returned in the context of instance. This property is mutually exclusive with the source property; you can only define one or the other, but not both.", + "id": "AttachedDiskInitializeParams", + "properties": { + "architecture": { + "description": "The architecture of the attached disk. Valid values are arm64 or x86_64.", + "enum": [ + "ARCHITECTURE_UNSPECIFIED", + "ARM64", + "X86_64" + ], + "enumDescriptions": [ + "Default value indicating Architecture is not set.", + "Machines with architecture ARM64", + "Machines with architecture X86_64" + ], + "type": "string" + }, + "description": { + "description": "An optional description. Provide this property when creating the disk.", + "type": "string" + }, + "diskName": { + "description": "Specifies the disk name. If not specified, the default is to use the name of the instance. If a disk with the same name already exists in the given region, the existing disk is attached to the new instance and the new disk is not created.", + "type": "string" + }, + "diskSizeGb": { + "description": "Specifies the size of the disk in base-2 GB. The size must be at least 10 GB. If you specify a sourceImage, which is required for boot disks, the default size is the size of the sourceImage. If you do not specify a sourceImage, the default disk size is 500 GB.", + "format": "int64", + "type": "string" + }, + "diskType": { + "description": "Specifies the disk type to use to create the instance. If not specified, the default is pd-standard, specified using the full URL. For example: https://www.googleapis.com/compute/v1/projects/project/zones/zone /diskTypes/pd-standard For a full list of acceptable values, see Persistent disk types. If you specify this field when creating a VM, you can provide either the full or partial URL. For example, the following values are valid: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /diskTypes/diskType - projects/project/zones/zone/diskTypes/diskType - zones/zone/diskTypes/diskType If you specify this field when creating or updating an instance template or all-instances configuration, specify the type of the disk, not the URL. For example: pd-standard.", + "type": "string" + }, + "enableConfidentialCompute": { + "description": "Whether this disk is using confidential compute mode.", + "type": "boolean" + }, + "guestOsFeatures": { + "description": "A list of features to enable on the guest operating system. Applicable only for bootable images. Read Enabling guest operating system features to see a list of available options. Guest OS features are applied by merging initializeParams.guestOsFeatures and disks.guestOsFeatures", + "items": { + "$ref": "GuestOsFeature" + }, + "type": "array" + }, + "interface": { + "deprecated": true, + "description": "[Deprecated] Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI.", + "enum": [ + "NVME", + "SCSI", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels to apply to this disk. These can be later modified by the disks.setLabels method. This field is only applicable for persistent disks.", + "type": "object" + }, + "licenseCodes": { + "description": "Integer license codes indicating which licenses are attached to this disk.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "licenses": { + "description": "A list of publicly visible licenses. Reserved for Google's use.", + "items": { + "type": "string" + }, + "type": "array" + }, + "multiWriter": { + "description": "Indicates whether or not the disk can be read/write attached to more than one instance.", + "type": "boolean" + }, + "onUpdateAction": { + "description": "Specifies which action to take on instance update with this disk. Default is to use the existing disk.", + "enum": [ + "RECREATE_DISK", + "RECREATE_DISK_IF_SOURCE_CHANGED", + "USE_EXISTING_DISK" + ], + "enumDescriptions": [ + "Always recreate the disk.", + "Recreate the disk if source (image, snapshot) of this disk is different from source of existing disk.", + "Use the existing disk, this is the default behaviour." + ], + "type": "string" + }, + "provisionedIops": { + "description": "Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation.", + "format": "int64", + "type": "string" + }, + "provisionedThroughput": { + "description": "Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle. Values must greater than or equal to 1.", + "format": "int64", + "type": "string" + }, + "replicaZones": { + "description": "Required for each regional disk associated with the instance. Specify the URLs of the zones where the disk should be replicated to. You must provide exactly two replica zones, and one zone must be the same as the instance zone.", + "items": { + "type": "string" + }, + "type": "array" + }, + "resourceManagerTags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty.", + "type": "object" + }, + "resourcePolicies": { + "description": "Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name.", + "items": { + "type": "string" + }, + "type": "array" + }, + "sourceImage": { + "description": "The source image to create this disk. When creating a new instance boot disk, one of initializeParams.sourceImage or initializeParams.sourceSnapshot or disks.source is required. To create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-9 to use the latest Debian 9 image: projects/debian-cloud/global/images/family/debian-9 Alternatively, use a specific version of a public operating system image: projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD To create a disk with a custom image that you created, specify the image name in the following format: global/images/my-custom-image You can also specify a custom image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name: global/images/family/my-image-family If the source image is deleted later, this field will not be set.", + "type": "string" + }, + "sourceImageEncryptionKey": { + "$ref": "CustomerEncryptionKey", + "description": "The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key. InstanceTemplate and InstancePropertiesPatch do not store customer-supplied encryption keys, so you cannot create disks for instances in a managed instance group if the source images are encrypted with your own keys." + }, + "sourceInstantSnapshot": { + "description": "The source instant-snapshot to create this disk. When creating a new instance boot disk, one of initializeParams.sourceSnapshot or initializeParams.sourceInstantSnapshot initializeParams.sourceImage or disks.source is required. To create a disk with a snapshot that you created, specify the snapshot name in the following format: us-central1-a/instantSnapshots/my-backup If the source instant-snapshot is deleted later, this field will not be set.", + "type": "string" + }, + "sourceSnapshot": { + "description": "The source snapshot to create this disk. When creating a new instance boot disk, one of initializeParams.sourceSnapshot or initializeParams.sourceImage or disks.source is required. To create a disk with a snapshot that you created, specify the snapshot name in the following format: global/snapshots/my-backup If the source snapshot is deleted later, this field will not be set. Note: You cannot create VMs in bulk using a snapshot as the source. Use an image instead when you create VMs using the bulk insert method.", + "type": "string" + }, + "sourceSnapshotEncryptionKey": { + "$ref": "CustomerEncryptionKey", + "description": "The customer-supplied encryption key of the source snapshot." + }, + "storagePool": { + "description": "The storage pool in which the new disk is created. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /storagePools/storagePool - projects/project/zones/zone/storagePools/storagePool - zones/zone/storagePools/storagePool ", + "type": "string" + } + }, + "type": "object" + }, + "AuditConfig": { + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", + "id": "AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "AuditLogConfig" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "id": "AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "ADMIN_READ", + "DATA_READ", + "DATA_WRITE", + "LOG_TYPE_UNSPECIFIED" + ], + "enumDescriptions": [ + "Admin reads. Example: CloudIAM getIamPolicy", + "Data reads. Example: CloudSQL Users list", + "Data writes. Example: CloudSQL Users create", + "Default case. Should never be this." + ], + "type": "string" + } + }, + "type": "object" + }, + "AuthenticationPolicy": { + "description": "[Deprecated] The authentication settings for the backend service. The authentication settings for the backend service.", + "id": "AuthenticationPolicy", + "properties": { + "origins": { + "description": "List of authentication methods that can be used for origin authentication. Similar to peers, these will be evaluated in order the first valid one will be used to set origin identity. If none of these methods pass, the request will be rejected with authentication failed error (401). Leave the list empty if origin authentication is not required.", + "items": { + "$ref": "OriginAuthenticationMethod" + }, + "type": "array" + }, + "peers": { + "description": "List of authentication methods that can be used for peer authentication. They will be evaluated in order the first valid one will be used to set peer identity. If none of these methods pass, the request will be rejected with authentication failed error (401). Leave the list empty if peer authentication is not required.", + "items": { + "$ref": "PeerAuthenticationMethod" + }, + "type": "array" + }, + "principalBinding": { + "description": "Define whether peer or origin identity should be used for principal. Default value is USE_PEER. If peer (or origin) identity is not available, either because peer/origin authentication is not defined, or failed, principal will be left unset. In other words, binding rule does not affect the decision to accept or reject request. This field can be set to one of the following: USE_PEER: Principal will be set to the identity from peer authentication. USE_ORIGIN: Principal will be set to the identity from origin authentication.", + "enum": [ + "INVALID", + "USE_ORIGIN", + "USE_PEER" + ], + "enumDescriptions": [ + "", + "Principal will be set to the identity from origin authentication.", + "Principal will be set to the identity from peer authentication." + ], + "type": "string" + }, + "serverTlsContext": { + "$ref": "TlsContext", + "description": "Configures the mechanism to obtain server-side security certificates and identity information." + } + }, + "type": "object" + }, + "AuthorizationConfig": { + "description": "[Deprecated] Authorization configuration provides service-level and method-level access control for a service. control for a service.", + "id": "AuthorizationConfig", + "properties": { + "policies": { + "description": "List of RbacPolicies.", + "items": { + "$ref": "RbacPolicy" + }, + "type": "array" + } + }, + "type": "object" + }, + "Autoscaler": { + "description": "Represents an Autoscaler resource. Google Compute Engine has two Autoscaler resources: * [Zonal](/compute/docs/reference/rest/alpha/autoscalers) * [Regional](/compute/docs/reference/rest/alpha/regionAutoscalers) Use autoscalers to automatically add or delete instances from a managed instance group according to your defined autoscaling policy. For more information, read Autoscaling Groups of Instances. For zonal managed instance groups resource, use the autoscaler resource. For regional managed instance groups, use the regionAutoscalers resource.", + "id": "Autoscaler", + "properties": { + "autoscalingPolicy": { + "$ref": "AutoscalingPolicy", + "description": "The configuration parameters for the autoscaling algorithm. You can define one or more signals for an autoscaler: cpuUtilization, customMetricUtilizations, and loadBalancingUtilization. If none of these are specified, the default will be to autoscale based on cpuUtilization to 0.6 or 60%." + }, + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, "description": { - "description": "[Output Only] An optional textual description of the resource.", + "description": "An optional description of this resource. Provide this property when you create the resource.", "type": "string" }, "id": { @@ -45672,37 +49612,80 @@ "type": "string" }, "kind": { - "default": "compute#acceleratorType", - "description": "[Output Only] The type of the resource. Always compute#acceleratorType for accelerator types.", + "default": "compute#autoscaler", + "description": "[Output Only] Type of the resource. Always compute#autoscaler for autoscalers.", "type": "string" }, - "maximumCardsPerInstance": { - "description": "[Output Only] Maximum number of accelerator cards allowed per instance.", + "name": { + "annotations": { + "required": [ + "compute.autoscalers.insert" + ] + }, + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "recommendedSize": { + "description": "[Output Only] Target recommended MIG size (number of instances) computed by autoscaler. Autoscaler calculates the recommended MIG size even when the autoscaling policy mode is different from ON. This field is empty when autoscaler is not connected to an existing managed instance group or autoscaler did not generate its prediction.", "format": "int32", "type": "integer" }, - "name": { - "description": "[Output Only] Name of the resource.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "region": { + "description": "[Output Only] URL of the region where the instance group resides (for autoscalers living in regional scope).", "type": "string" }, + "scalingScheduleStatus": { + "additionalProperties": { + "$ref": "ScalingScheduleStatus" + }, + "description": "[Output Only] Status information of existing scaling schedules.", + "type": "object" + }, "selfLink": { - "description": "[Output Only] Server-defined, fully qualified URL for this resource.", + "description": "[Output Only] Server-defined URL for the resource.", "type": "string" }, "selfLinkWithId": { - "description": "[Output Only] Server-defined URL for this resource's resource id.", + "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "type": "string" + }, + "status": { + "description": "[Output Only] The status of the autoscaler configuration. Current set of possible values: - PENDING: Autoscaler backend hasn't read new/updated configuration. - DELETING: Configuration is being deleted. - ACTIVE: Configuration is acknowledged to be effective. Some warnings might be present in the statusDetails field. - ERROR: Configuration has errors. Actionable for users. Details are present in the statusDetails field. New values might be added in the future.", + "enum": [ + "ACTIVE", + "DELETING", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Configuration is acknowledged to be effective", + "Configuration is being deleted", + "Configuration has errors. Actionable for users.", + "Autoscaler backend hasn't read new/updated configuration" + ], + "type": "string" + }, + "statusDetails": { + "description": "[Output Only] Human-readable details about the current state of the autoscaler. Read the documentation for Commonly returned status messages for examples of status messages you might encounter.", + "items": { + "$ref": "AutoscalerStatusDetails" + }, + "type": "array" + }, + "target": { + "description": "URL of the managed instance group that this autoscaler will scale. This field is required when creating an autoscaler.", "type": "string" }, "zone": { - "description": "[Output Only] The name of the zone where the accelerator type resides, such as us-central1-a. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "description": "[Output Only] URL of the zone where the instance group resides (for autoscalers living in zonal scope).", "type": "string" } }, "type": "object" }, - "AcceleratorTypeAggregatedList": { - "id": "AcceleratorTypeAggregatedList", + "AutoscalerAggregatedList": { + "id": "AutoscalerAggregatedList", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", @@ -45710,15 +49693,15 @@ }, "items": { "additionalProperties": { - "$ref": "AcceleratorTypesScopedList", - "description": "[Output Only] Name of the scope containing this set of accelerator types." + "$ref": "AutoscalersScopedList", + "description": "[Output Only] Name of the scope containing this set of autoscalers." }, - "description": "A list of AcceleratorTypesScopedList resources.", + "description": "A list of AutoscalersScopedList resources.", "type": "object" }, "kind": { - "default": "compute#acceleratorTypeAggregatedList", - "description": "[Output Only] Type of resource. Always compute#acceleratorTypeAggregatedList for aggregated lists of accelerator types.", + "default": "compute#autoscalerAggregatedList", + "description": "[Output Only] Type of resource. Always compute#autoscalerAggregatedList for aggregated lists of autoscalers.", "type": "string" }, "nextPageToken": { @@ -45730,7 +49713,7 @@ "type": "string" }, "unreachables": { - "description": "[Output Only] Unreachable resources.", + "description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", "items": { "type": "string" }, @@ -45763,6 +49746,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -45799,6 +49783,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -45823,6 +49808,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -45860,24 +49846,24 @@ }, "type": "object" }, - "AcceleratorTypeList": { - "description": "Contains a list of accelerator types.", - "id": "AcceleratorTypeList", + "AutoscalerList": { + "description": "Contains a list of Autoscaler resources.", + "id": "AutoscalerList", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "description": "A list of AcceleratorType resources.", + "description": "A list of Autoscaler resources.", "items": { - "$ref": "AcceleratorType" + "$ref": "Autoscaler" }, "type": "array" }, "kind": { - "default": "compute#acceleratorTypeList", - "description": "[Output Only] Type of resource. Always compute#acceleratorTypeList for lists of accelerator types.", + "default": "compute#autoscalerList", + "description": "[Output Only] Type of resource. Always compute#autoscalerList for lists of autoscalers.", "type": "string" }, "nextPageToken": { @@ -45915,6 +49901,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -45951,6 +49938,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -45975,6 +49963,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -46012,18 +50001,76 @@ }, "type": "object" }, - "AcceleratorTypesScopedList": { - "id": "AcceleratorTypesScopedList", + "AutoscalerStatusDetails": { + "id": "AutoscalerStatusDetails", "properties": { - "acceleratorTypes": { - "description": "[Output Only] A list of accelerator types contained in this scope.", + "message": { + "description": "The status message.", + "type": "string" + }, + "type": { + "description": "The type of error, warning, or notice returned. Current set of possible values: - ALL_INSTANCES_UNHEALTHY (WARNING): All instances in the instance group are unhealthy (not in RUNNING state). - BACKEND_SERVICE_DOES_NOT_EXIST (ERROR): There is no backend service attached to the instance group. - CAPPED_AT_MAX_NUM_REPLICAS (WARNING): Autoscaler recommends a size greater than maxNumReplicas. - CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE (WARNING): The custom metric samples are not exported often enough to be a credible base for autoscaling. - CUSTOM_METRIC_INVALID (ERROR): The custom metric that was specified does not exist or does not have the necessary labels. - MIN_EQUALS_MAX (WARNING): The minNumReplicas is equal to maxNumReplicas. This means the autoscaler cannot add or remove instances from the instance group. - MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): The autoscaler did not receive any data from the custom metric configured for autoscaling. - MISSING_LOAD_BALANCING_DATA_POINTS (WARNING): The autoscaler is configured to scale based on a load balancing signal but the instance group has not received any requests from the load balancer. - MODE_OFF (WARNING): Autoscaling is turned off. The number of instances in the group won't change automatically. The autoscaling configuration is preserved. - MODE_ONLY_UP (WARNING): Autoscaling is in the \"Autoscale only out\" mode. The autoscaler can add instances but not remove any. - MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be autoscaled because it has more than one backend service attached to it. - NOT_ENOUGH_QUOTA_AVAILABLE (ERROR): There is insufficient quota for the necessary resources, such as CPU or number of instances. - REGION_RESOURCE_STOCKOUT (ERROR): Shown only for regional autoscalers: there is a resource stockout in the chosen region. - SCALING_TARGET_DOES_NOT_EXIST (ERROR): The target to be scaled does not exist. - UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION (ERROR): Autoscaling does not work with an HTTP/S load balancer that has been configured for maxRate. - ZONE_RESOURCE_STOCKOUT (ERROR): For zonal autoscalers: there is a resource stockout in the chosen zone. For regional autoscalers: in at least one of the zones you're using there is a resource stockout. New values might be added in the future. Some of the values might not be available in all API versions.", + "enum": [ + "ALL_INSTANCES_UNHEALTHY", + "BACKEND_SERVICE_DOES_NOT_EXIST", + "CAPPED_AT_MAX_NUM_REPLICAS", + "CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE", + "CUSTOM_METRIC_INVALID", + "MIN_EQUALS_MAX", + "MISSING_CUSTOM_METRIC_DATA_POINTS", + "MISSING_LOAD_BALANCING_DATA_POINTS", + "MODE_OFF", + "MODE_ONLY_SCALE_OUT", + "MODE_ONLY_UP", + "MORE_THAN_ONE_BACKEND_SERVICE", + "NOT_ENOUGH_QUOTA_AVAILABLE", + "REGION_RESOURCE_STOCKOUT", + "SCALING_TARGET_DOES_NOT_EXIST", + "SCHEDULED_INSTANCES_GREATER_THAN_AUTOSCALER_MAX", + "SCHEDULED_INSTANCES_LESS_THAN_AUTOSCALER_MIN", + "UNKNOWN", + "UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION", + "ZONE_RESOURCE_STOCKOUT" + ], + "enumDescriptions": [ + "All instances in the instance group are unhealthy (not in RUNNING state).", + "There is no backend service attached to the instance group.", + "Autoscaler recommends a size greater than maxNumReplicas.", + "The custom metric samples are not exported often enough to be a credible base for autoscaling.", + "The custom metric that was specified does not exist or does not have the necessary labels.", + "The minNumReplicas is equal to maxNumReplicas. This means the autoscaler cannot add or remove instances from the instance group.", + "The autoscaler did not receive any data from the custom metric configured for autoscaling.", + "The autoscaler is configured to scale based on a load balancing signal but the instance group has not received any requests from the load balancer.", + "Autoscaling is turned off. The number of instances in the group won't change automatically. The autoscaling configuration is preserved.", + "Autoscaling is in the \"Autoscale only scale out\" mode. Instances in the group will be only added.", + "Autoscaling is in the \"Autoscale only out\" mode. Instances in the group will be only added.", + "The instance group cannot be autoscaled because it has more than one backend service attached to it.", + "There is insufficient quota for the necessary resources, such as CPU or number of instances.", + "Showed only for regional autoscalers: there is a resource stockout in the chosen region.", + "The target to be scaled does not exist.", + "For some scaling schedules minRequiredReplicas is greater than maxNumReplicas. Autoscaler always recommends at most maxNumReplicas instances.", + "For some scaling schedules minRequiredReplicas is less than minNumReplicas. Autoscaler always recommends at least minNumReplicas instances.", + "", + "Autoscaling does not work with an HTTP/S load balancer that has been configured for maxRate.", + "For zonal autoscalers: there is a resource stockout in the chosen zone. For regional autoscalers: in at least one of the zones you're using there is a resource stockout." + ], + "type": "string" + } + }, + "type": "object" + }, + "AutoscalersScopedList": { + "id": "AutoscalersScopedList", + "properties": { + "autoscalers": { + "description": "[Output Only] A list of autoscalers contained in this scope.", "items": { - "$ref": "AcceleratorType" + "$ref": "Autoscaler" }, "type": "array" }, "warning": { - "description": "[Output Only] An informational warning that appears when the accelerator types list is empty.", + "description": "[Output Only] Informational warning which replaces the list of autoscalers when the list is empty.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", @@ -46049,6 +50096,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -46085,6 +50133,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -46109,6 +50158,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -46146,106 +50196,333 @@ }, "type": "object" }, - "AccessConfig": { - "description": "An access configuration attached to an instance's network interface. Only one access config per instance is supported.", - "id": "AccessConfig", + "AutoscalingPolicy": { + "description": "Cloud Autoscaler policy.", + "id": "AutoscalingPolicy", + "properties": { + "coolDownPeriodSec": { + "description": "The number of seconds that your application takes to initialize on a VM instance. This is referred to as the [initialization period](/compute/docs/autoscaler#cool_down_period). Specifying an accurate initialization period improves autoscaler decisions. For example, when scaling out, the autoscaler ignores data from VMs that are still initializing because those VMs might not yet represent normal usage of your application. The default initialization period is 60 seconds. Initialization periods might vary because of numerous factors. We recommend that you test how long your application takes to initialize. To do this, create a VM and time your application's startup process.", + "format": "int32", + "type": "integer" + }, + "cpuUtilization": { + "$ref": "AutoscalingPolicyCpuUtilization", + "description": "Defines the CPU utilization policy that allows the autoscaler to scale based on the average CPU utilization of a managed instance group." + }, + "customMetricUtilizations": { + "description": "Configuration parameters of autoscaling based on a custom metric.", + "items": { + "$ref": "AutoscalingPolicyCustomMetricUtilization" + }, + "type": "array" + }, + "loadBalancingUtilization": { + "$ref": "AutoscalingPolicyLoadBalancingUtilization", + "description": "Configuration parameters of autoscaling based on load balancer." + }, + "maxNumReplicas": { + "description": "The maximum number of instances that the autoscaler can scale out to. This is required when creating or updating an autoscaler. The maximum number of replicas must not be lower than minimal number of replicas.", + "format": "int32", + "type": "integer" + }, + "minNumReplicas": { + "description": "The minimum number of replicas that the autoscaler can scale in to. This cannot be less than 0. If not provided, autoscaler chooses a default value depending on maximum number of instances allowed.", + "format": "int32", + "type": "integer" + }, + "mode": { + "description": "Defines the operating mode for this policy. The following modes are available: - OFF: Disables the autoscaler but maintains its configuration. - ONLY_SCALE_OUT: Restricts the autoscaler to add VM instances only. - ON: Enables all autoscaler activities according to its policy. For more information, see \"Turning off or restricting an autoscaler\"", + "enum": [ + "OFF", + "ON", + "ONLY_SCALE_OUT", + "ONLY_UP" + ], + "enumDescriptions": [ + "Do not automatically scale the MIG in or out. The recommended_size field contains the size of MIG that would be set if the actuation mode was enabled.", + "Automatically scale the MIG in and out according to the policy.", + "Automatically create VMs according to the policy, but do not scale the MIG in.", + "Automatically create VMs according to the policy, but do not scale the MIG in." + ], + "type": "string" + }, + "scaleDownControl": { + "$ref": "AutoscalingPolicyScaleDownControl" + }, + "scaleInControl": { + "$ref": "AutoscalingPolicyScaleInControl" + }, + "scalingSchedules": { + "additionalProperties": { + "$ref": "AutoscalingPolicyScalingSchedule" + }, + "description": "Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed.", + "type": "object" + } + }, + "type": "object" + }, + "AutoscalingPolicyCpuUtilization": { + "description": "CPU utilization policy.", + "id": "AutoscalingPolicyCpuUtilization", + "properties": { + "predictiveMethod": { + "description": "Indicates whether predictive autoscaling based on CPU metric is enabled. Valid values are: * NONE (default). No predictive method is used. The autoscaler scales the group to meet current demand based on real-time metrics. * OPTIMIZE_AVAILABILITY. Predictive autoscaling improves availability by monitoring daily and weekly load patterns and scaling out ahead of anticipated demand.", + "enum": [ + "NONE", + "OPTIMIZE_AVAILABILITY", + "PREDICTIVE_METHOD_UNSPECIFIED", + "STANDARD" + ], + "enumDescriptions": [ + "No predictive method is used. The autoscaler scales the group to meet current demand based on real-time metrics", + "Predictive autoscaling improves availability by monitoring daily and weekly load patterns and scaling out ahead of anticipated demand.", + "", + "Predictive autoscaling improves availability by monitoring daily and weekly load patterns and scaling out ahead of anticipated demand. This value is being DEPRECATED - it won't be promoted to beta and v1. Use OPTIMIZE_AVAILABILITY instead." + ], + "type": "string" + }, + "utilizationTarget": { + "description": "The target CPU utilization that the autoscaler maintains. Must be a float value in the range (0, 1]. If not specified, the default is 0.6. If the CPU level is below the target utilization, the autoscaler scales in the number of instances until it reaches the minimum number of instances you specified or until the average CPU of your instances reaches the target utilization. If the average CPU is above the target utilization, the autoscaler scales out until it reaches the maximum number of instances you specified or until the average utilization reaches the target utilization.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "AutoscalingPolicyCustomMetricUtilization": { + "description": "Custom utilization metric policy.", + "id": "AutoscalingPolicyCustomMetricUtilization", + "properties": { + "filter": { + "description": "A filter string, compatible with a Stackdriver Monitoring filter string for TimeSeries.list API call. This filter is used to select a specific TimeSeries for the purpose of autoscaling and to determine whether the metric is exporting per-instance or per-group data. For the filter to be valid for autoscaling purposes, the following rules apply: - You can only use the AND operator for joining selectors. - You can only use direct equality comparison operator (=) without any functions for each selector. - You can specify the metric in both the filter string and in the metric field. However, if specified in both places, the metric must be identical. - The monitored resource type determines what kind of values are expected for the metric. If it is a gce_instance, the autoscaler expects the metric to include a separate TimeSeries for each instance in a group. In such a case, you cannot filter on resource labels. If the resource type is any other value, the autoscaler expects this metric to contain values that apply to the entire autoscaled instance group and resource label filtering can be performed to point autoscaler at the correct TimeSeries to scale upon. This is called a *per-group metric* for the purpose of autoscaling. If not specified, the type defaults to gce_instance. Try to provide a filter that is selective enough to pick just one TimeSeries for the autoscaled group or for each of the instances (if you are using gce_instance resource type). If multiple TimeSeries are returned upon the query execution, the autoscaler will sum their respective values to obtain its scaling value.", + "type": "string" + }, + "metric": { + "description": "The identifier (type) of the Stackdriver Monitoring metric. The metric cannot have negative values. The metric must have a value type of INT64 or DOUBLE.", + "type": "string" + }, + "singleInstanceAssignment": { + "description": "If scaling is based on a per-group metric value that represents the total amount of work to be done or resource usage, set this value to an amount assigned for a single instance of the scaled group. Autoscaler keeps the number of instances proportional to the value of this metric. The metric itself does not change value due to group resizing. A good metric to use with the target is for example pubsub.googleapis.com/subscription/num_undelivered_messages or a custom metric exporting the total number of requests coming to your instances. A bad example would be a metric exporting an average or median latency, since this value can't include a chunk assignable to a single instance, it could be better used with utilization_target instead.", + "format": "double", + "type": "number" + }, + "utilizationTarget": { + "description": "The target value of the metric that autoscaler maintains. This must be a positive value. A utilization metric scales number of virtual machines handling requests to increase or decrease proportionally to the metric. For example, a good metric to use as a utilization_target is https://www.googleapis.com/compute/v1/instance/network/received_bytes_count. The autoscaler works to keep this value constant for each of the instances.", + "format": "double", + "type": "number" + }, + "utilizationTargetType": { + "description": "Defines how target utilization value is expressed for a Stackdriver Monitoring metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE.", + "enum": [ + "DELTA_PER_MINUTE", + "DELTA_PER_SECOND", + "GAUGE" + ], + "enumDescriptions": [ + "Sets the utilization target value for a cumulative or delta metric, expressed as the rate of growth per minute.", + "Sets the utilization target value for a cumulative or delta metric, expressed as the rate of growth per second.", + "Sets the utilization target value for a gauge metric. The autoscaler will collect the average utilization of the virtual machines from the last couple of minutes, and compare the value to the utilization target value to perform autoscaling." + ], + "type": "string" + } + }, + "type": "object" + }, + "AutoscalingPolicyLoadBalancingUtilization": { + "description": "Configuration parameters of autoscaling based on load balancing.", + "id": "AutoscalingPolicyLoadBalancingUtilization", + "properties": { + "utilizationTarget": { + "description": "Fraction of backend capacity utilization (set in HTTP(S) load balancing configuration) that the autoscaler maintains. Must be a positive float value. If not defined, the default is 0.8.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "AutoscalingPolicyScaleDownControl": { + "description": "Configuration that allows for slower scale in so that even if Autoscaler recommends an abrupt scale in of a MIG, it will be throttled as specified by the parameters below.", + "id": "AutoscalingPolicyScaleDownControl", + "properties": { + "maxScaledDownReplicas": { + "$ref": "FixedOrPercent", + "description": "Maximum allowed number (or %) of VMs that can be deducted from the peak recommendation during the window autoscaler looks at when computing recommendations. Possibly all these VMs can be deleted at once so user service needs to be prepared to lose that many VMs in one step." + }, + "timeWindowSec": { + "description": "How far back autoscaling looks when computing recommendations to include directives regarding slower scale in, as described above.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "AutoscalingPolicyScaleInControl": { + "description": "Configuration that allows for slower scale in so that even if Autoscaler recommends an abrupt scale in of a MIG, it will be throttled as specified by the parameters below.", + "id": "AutoscalingPolicyScaleInControl", "properties": { - "externalIpv6": { - "description": "Applies to ipv6AccessConfigs only. The first IPv6 address of the external IPv6 range associated with this instance, prefix length is stored in externalIpv6PrefixLength in ipv6AccessConfig. To use a static external IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an external IPv6 address from the instance's subnetwork.", + "maxScaledInReplicas": { + "$ref": "FixedOrPercent", + "description": "Maximum allowed number (or %) of VMs that can be deducted from the peak recommendation during the window autoscaler looks at when computing recommendations. Possibly all these VMs can be deleted at once so user service needs to be prepared to lose that many VMs in one step." + }, + "timeWindowSec": { + "description": "How far back autoscaling looks when computing recommendations to include directives regarding slower scale in, as described above.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "AutoscalingPolicyScalingSchedule": { + "description": "Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out.", + "id": "AutoscalingPolicyScalingSchedule", + "properties": { + "description": { + "description": "A description of a scaling schedule.", "type": "string" }, - "externalIpv6PrefixLength": { - "description": "Applies to ipv6AccessConfigs only. The prefix length of the external IPv6 range.", + "disabled": { + "description": "A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default.", + "type": "boolean" + }, + "durationSec": { + "description": "The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required.", "format": "int32", "type": "integer" }, - "kind": { - "default": "compute#accessConfig", - "description": "[Output Only] Type of the resource. Always compute#accessConfig for access configs.", - "type": "string" + "minRequiredReplicas": { + "description": "The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required.", + "format": "int32", + "type": "integer" }, - "name": { - "description": "The name of this access configuration. In accessConfigs (IPv4), the default and recommended name is External NAT, but you can use any arbitrary string, such as My external IP or Network Access. In ipv6AccessConfigs, the recommend name is External IPv6.", + "schedule": { + "description": "The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving.", "type": "string" }, - "natIP": { - "description": "Applies to accessConfigs (IPv4) only. An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.", + "timeZone": { + "description": "The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of \"UTC\" if left empty.", "type": "string" - }, - "networkTier": { - "description": "This signifies the networking tier used for configuring this access configuration and can only take the following values: PREMIUM, STANDARD. If an AccessConfig is specified without a valid external IP address, an ephemeral IP will be created with this networkTier. If an AccessConfig with a valid external IP address is specified, it must match that of the networkTier associated with the Address resource owning that IP.", + } + }, + "type": "object" + }, + "Backend": { + "description": "Message containing information of one individual backend.", + "id": "Backend", + "properties": { + "balancingMode": { + "description": "Specifies how to determine whether the backend of a load balancer can handle additional traffic or is fully loaded. For usage guidelines, see Connection balancing mode. Backends must use compatible balancing modes. For more information, see Supported balancing modes and target capacity settings and Restrictions and guidance for instance groups. Note: Currently, if you use the API to configure incompatible balancing modes, the configuration might be accepted even though it has no impact and is ignored. Specifically, Backend.maxUtilization is ignored when Backend.balancingMode is RATE. In the future, this incompatible combination will be rejected.", "enum": [ - "FIXED_STANDARD", - "PREMIUM", - "SELECT", - "STANDARD", - "STANDARD_OVERRIDES_FIXED_STANDARD" + "CONNECTION", + "CUSTOM_METRICS", + "RATE", + "UTILIZATION" ], "enumDescriptions": [ - "Public internet quality with fixed bandwidth.", - "High quality, Google-grade network tier, support for all networking products.", - "Price competitive network tier, support for all networking products.", - "Public internet quality, only limited support for other networking products.", - "(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured." + "Balance based on the number of simultaneous connections.", + "Based on custom defined and reported metrics.", + "Balance based on requests per second (RPS).", + "Balance based on the backend utilization." ], "type": "string" }, - "publicDnsName": { - "description": "[Output Only] The public DNS domain name for the instance.", - "type": "string" + "capacityScaler": { + "description": "A multiplier applied to the backend's target capacity of its balancing mode. The default value is 1, which means the group serves up to 100% of its configured capacity (depending on balancingMode). A setting of 0 means the group is completely drained, offering 0% of its available capacity. The valid ranges are 0.0 and [0.1,1.0]. You cannot configure a setting larger than 0 and smaller than 0.1. You cannot configure a setting of 0 when there is only one backend attached to the backend service. Not available with backends that don't support using a balancingMode. This includes backends such as global internet NEGs, regional serverless NEGs, and PSC NEGs.", + "format": "float", + "type": "number" }, - "publicPtrDomainName": { - "description": "The DNS domain name for the public PTR record. You can set this field only if the `setPublicPtr` field is enabled in accessConfig. If this field is unspecified in ipv6AccessConfig, a default PTR record will be created for first IP in associated external IPv6 range.", - "type": "string" + "customMetrics": { + "description": "List of custom metrics that are used for CUSTOM_METRICS BalancingMode.", + "items": { + "$ref": "BackendCustomMetric" + }, + "type": "array" }, - "securityPolicy": { - "description": "[Output Only] The resource URL for the security policy associated with this access config.", + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", "type": "string" }, - "setPublicDns": { - "description": "Specifies whether a public DNS 'A' record should be created for the external IP address of this access configuration.", + "failover": { + "description": "This field designates whether this is a failover backend. More than one failover backend can be configured for a given BackendService.", "type": "boolean" }, - "setPublicPtr": { - "description": "Specifies whether a public DNS 'PTR' record should be created to map the external IP address of the instance to a DNS domain name. This field is not used in ipv6AccessConfig. A default PTR record will be created if the VM has external IPv6 range associated.", - "type": "boolean" + "group": { + "description": "The fully-qualified URL of an instance group or network endpoint group (NEG) resource. To determine what types of backends a load balancer supports, see the [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service#backends). You must use the *fully-qualified* URL (starting with https://www.googleapis.com/) to specify the instance group or NEG. Partial URLs are not supported.", + "type": "string" }, - "type": { - "description": "The type of configuration. In accessConfigs (IPv4), the default and only option is ONE_TO_ONE_NAT. In ipv6AccessConfigs, the default and only option is DIRECT_IPV6.", + "maxConnections": { + "description": "Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.", + "format": "int32", + "type": "integer" + }, + "maxConnectionsPerEndpoint": { + "description": "Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.", + "format": "int32", + "type": "integer" + }, + "maxConnectionsPerInstance": { + "description": "Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.", + "format": "int32", + "type": "integer" + }, + "maxRate": { + "description": "Defines a maximum number of HTTP requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.", + "format": "int32", + "type": "integer" + }, + "maxRatePerEndpoint": { + "description": "Defines a maximum target for requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.", + "format": "float", + "type": "number" + }, + "maxRatePerInstance": { + "description": "Defines a maximum target for requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.", + "format": "float", + "type": "number" + }, + "maxUtilization": { + "description": "Optional parameter to define a target capacity for the UTILIZATION balancing mode. The valid range is [0.0, 1.0]. For usage guidelines, see Utilization balancing mode.", + "format": "float", + "type": "number" + }, + "preference": { + "description": "This field indicates whether this backend should be fully utilized before sending traffic to backends with default preference. The possible values are: - PREFERRED: Backends with this preference level will be filled up to their capacity limits first, based on RTT. - DEFAULT: If preferred backends don't have enough capacity, backends in this layer would be used and traffic would be assigned based on the load balancing algorithm you use. This is the default ", "enum": [ - "DIRECT_IPV6", - "ONE_TO_ONE_NAT" + "DEFAULT", + "PREFERENCE_UNSPECIFIED", + "PREFERRED" ], "enumDescriptions": [ - "", - "" + "No preference.", + "If preference is unspecified, we set it to the DEFAULT value", + "Traffic will be sent to this backend first." ], "type": "string" } }, "type": "object" }, - "Address": { - "description": "Represents an IP Address resource. Google Compute Engine has two IP Address resources: * [Global (external and internal)](https://cloud.google.com/compute/docs/reference/rest/alpha/globalAddresses) * [Regional (external and internal)](https://cloud.google.com/compute/docs/reference/rest/alpha/addresses) For more information, see Reserving a static external IP address.", - "id": "Address", + "BackendBucket": { + "description": "Represents a Cloud Storage Bucket resource. This Cloud Storage bucket resource is referenced by a URL map of a load balancer. For more information, read Backend Buckets.", + "id": "BackendBucket", "properties": { - "address": { - "description": "The static IP address represented by this resource.", + "bucketName": { + "description": "Cloud Storage bucket name.", "type": "string" }, - "addressType": { - "description": "The type of address to reserve, either INTERNAL or EXTERNAL. If unspecified, defaults to EXTERNAL.", + "cdnPolicy": { + "$ref": "BackendBucketCdnPolicy", + "description": "Cloud CDN configuration for this BackendBucket." + }, + "compressionMode": { + "description": "Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header.", "enum": [ - "DNS_FORWARDING", - "EXTERNAL", - "INTERNAL", - "UNSPECIFIED_TYPE" + "AUTOMATIC", + "DISABLED" ], "enumDescriptions": [ - "DNS resolver address in the subnetwork.", - "A publicly visible external IP address.", - "A private network IP address, for use with an Instance or Internal Load Balancer forwarding rule.", - "" + "Automatically uses the best compression based on the Accept-Encoding header sent by the client.", + "Disables compression. Existing compressed responses cached by Cloud CDN will not be served to clients." ], "type": "string" }, @@ -46253,179 +50530,370 @@ "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" }, + "customResponseHeaders": { + "description": "Headers that the Application Load Balancer should add to proxied responses.", + "items": { + "type": "string" + }, + "type": "array" + }, "description": { - "description": "An optional description of this resource. Provide this field when you create the resource.", + "description": "An optional textual description of the resource; provided by the client when the resource is created.", + "type": "string" + }, + "edgeSecurityPolicy": { + "description": "[Output Only] The resource URL for the edge security policy associated with this backend bucket.", "type": "string" }, + "enableCdn": { + "description": "If true, enable Cloud CDN for this BackendBucket.", + "type": "boolean" + }, "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "description": "[Output Only] Unique identifier for the resource; defined by the server.", "format": "uint64", "type": "string" }, - "ipVersion": { - "description": "The IP version that will be used by this address. Valid options are IPV4 or IPV6.", - "enum": [ - "IPV4", - "IPV6", - "UNSPECIFIED_VERSION" - ], - "enumDescriptions": [ - "", - "", - "" - ], + "kind": { + "default": "compute#backendBucket", + "description": "Type of the resource.", "type": "string" }, - "ipv6EndpointType": { - "description": "The endpoint type of this address, which should be VM or NETLB. This is used for deciding which type of endpoint this address can be used after the external IPv6 address reservation.", + "loadBalancingScheme": { + "description": "The value can only be INTERNAL_MANAGED for cross-region internal layer 7 load balancer. If loadBalancingScheme is not specified, the backend bucket can be used by classic global external load balancers, or global application external load balancers, or both.", "enum": [ - "NETLB", - "VM" + "INTERNAL_MANAGED" ], "enumDescriptions": [ - "Reserved IPv6 address can be used on network load balancer.", - "Reserved IPv6 address can be used on VM." + "Signifies that this will be used for internal Application Load Balancers." ], "type": "string" }, - "kind": { - "default": "compute#address", - "description": "[Output Only] Type of the resource. Always compute#address for addresses.", + "name": { + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, - "labelFingerprint": { - "description": "A fingerprint for the labels being applied to this Address, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an Address.", - "format": "byte", + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", "type": "string" }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", - "type": "object" + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "type": "string" }, - "name": { - "annotations": { - "required": [ - "compute.addresses.insert" - ] + "usedBy": { + "description": "[Output Only] List of resources referencing that backend bucket.", + "items": { + "$ref": "BackendBucketUsedBy" }, - "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" + "type": "array" + } + }, + "type": "object" + }, + "BackendBucketCdnPolicy": { + "description": "Message containing Cloud CDN configuration for a backend bucket.", + "id": "BackendBucketCdnPolicy", + "properties": { + "bypassCacheOnRequestHeaders": { + "description": "Bypass the cache when the specified request headers are matched - e.g. Pragma or Authorization headers. Up to 5 headers can be specified. The cache is bypassed for all cdnPolicy.cacheMode settings.", + "items": { + "$ref": "BackendBucketCdnPolicyBypassCacheOnRequestHeader" + }, + "type": "array" }, - "network": { - "description": "The URL of the network in which to reserve the address. This field can only be used with INTERNAL type with the VPC_PEERING purpose.", - "type": "string" + "cacheKeyPolicy": { + "$ref": "BackendBucketCdnPolicyCacheKeyPolicy", + "description": "The CacheKeyPolicy for this CdnPolicy." }, - "networkTier": { - "description": "This signifies the networking tier used for configuring this address and can only take the following values: PREMIUM or STANDARD. Internal IP addresses are always Premium Tier; global external IP addresses are always Premium Tier; regional external IP addresses can be either Standard or Premium Tier. If this field is not specified, it is assumed to be PREMIUM.", + "cacheMode": { + "description": "Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. If no value is provided for cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC.", "enum": [ - "FIXED_STANDARD", - "PREMIUM", - "SELECT", - "STANDARD", - "STANDARD_OVERRIDES_FIXED_STANDARD" + "CACHE_ALL_STATIC", + "FORCE_CACHE_ALL", + "INVALID_CACHE_MODE", + "USE_ORIGIN_HEADERS" ], "enumDescriptions": [ - "Public internet quality with fixed bandwidth.", - "High quality, Google-grade network tier, support for all networking products.", - "Price competitive network tier, support for all networking products.", - "Public internet quality, only limited support for other networking products.", - "(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured." + "Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached.", + "Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content.", + "", + "Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server." ], "type": "string" }, - "prefixLength": { - "description": "The prefix length if the resource represents an IP range.", + "clientTtl": { + "description": "Specifies a separate client (e.g. browser client) maximum TTL. This is used to clamp the max-age (or Expires) value sent to the client. With FORCE_CACHE_ALL, the lesser of client_ttl and default_ttl is used for the response max-age directive, along with a \"public\" directive. For cacheable content in CACHE_ALL_STATIC mode, client_ttl clamps the max-age from the origin (if specified), or else sets the response max-age directive to the lesser of the client_ttl and default_ttl, and also ensures a \"public\" cache-control directive is present. If a client TTL is not specified, a default value (1 hour) will be used. The maximum allowed value is 31,622,400s (1 year).", "format": "int32", "type": "integer" }, - "purpose": { - "description": "The purpose of this resource, which can be one of the following values: - GCE_ENDPOINT for addresses that are used by VM instances, alias IP ranges, load balancers, and similar resources. - DNS_RESOLVER for a DNS resolver address in a subnetwork for a Cloud DNS inbound forwarder IP addresses (regional internal IP address in a subnet of a VPC network) - VPC_PEERING for global internal IP addresses used for private services access allocated ranges. - NAT_AUTO for the regional external IP addresses used by Cloud NAT when allocating addresses using automatic NAT IP address allocation. - IPSEC_INTERCONNECT for addresses created from a private IP range that are reserved for a VLAN attachment in an *HA VPN over Cloud Interconnect* configuration. These addresses are regional resources. - `SHARED_LOADBALANCER_VIP` for an internal IP address that is assigned to multiple internal forwarding rules. - `PRIVATE_SERVICE_CONNECT` for a private network address that is used to configure Private Service Connect. Only global internal addresses can use this purpose. ", - "enum": [ - "DNS_RESOLVER", - "GCE_ENDPOINT", - "IPSEC_INTERCONNECT", - "NAT_AUTO", - "PRIVATE_SERVICE_CONNECT", - "SERVERLESS", - "SHARED_LOADBALANCER_VIP", - "SYSTEM_MANAGED", - "VPC_PEERING" - ], - "enumDescriptions": [ - "DNS resolver address in the subnetwork.", - "VM internal/alias IP, Internal LB service IP, etc.", - "A regional internal IP address range reserved for the VLAN attachment that is used in HA VPN over Cloud Interconnect. This regional internal IP address range must not overlap with any IP address range of subnet/route in the VPC network and its peering networks. After the VLAN attachment is created with the reserved IP address range, when creating a new VPN gateway, its interface IP address is allocated from the associated VLAN attachment’s IP address range.", - "External IP automatically reserved for Cloud NAT.", - "A private network IP address that can be used to configure Private Service Connect. This purpose can be specified only for GLOBAL addresses of Type INTERNAL", - "A regional internal IP address range reserved for Serverless.", - "A private network IP address that can be shared by multiple Internal Load Balancer forwarding rules.", - "A regional internal IP address that is reserved and managed by Google Cloud. It can not be assigned to Google Cloud compute resources such as VM and internal load balancer.", - "IP range for peer networks." - ], + "defaultTtl": { + "description": "Specifies the default TTL for cached content served by this origin for responses that do not have an existing valid TTL (max-age or s-max-age). Setting a TTL of \"0\" means \"always revalidate\". The value of defaultTTL cannot be set to a value greater than that of maxTTL, but can be equal. When the cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set in all responses. The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", + "format": "int32", + "type": "integer" + }, + "maxTtl": { + "description": "Specifies the maximum allowed TTL for cached content served by this origin. Cache directives that attempt to set a max-age or s-maxage higher than this, or an Expires header more than maxTTL seconds in the future will be capped at the value of maxTTL, as if it were the value of an s-maxage Cache-Control directive. Headers sent to the client will not be modified. Setting a TTL of \"0\" means \"always revalidate\". The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", + "format": "int32", + "type": "integer" + }, + "negativeCaching": { + "description": "Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects. This can reduce the load on your origin and improve end-user experience by reducing response latency. When the cache mode is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS, negative caching applies to responses with the specified response code that lack any Cache-Control, Expires, or Pragma: no-cache directives. When the cache mode is set to FORCE_CACHE_ALL, negative caching applies to all responses with the specified response code, and override any caching headers. By default, Cloud CDN will apply the following default TTLs to these status codes: HTTP 300 (Multiple Choice), 301, 308 (Permanent Redirects): 10m HTTP 404 (Not Found), 410 (Gone), 451 (Unavailable For Legal Reasons): 120s HTTP 405 (Method Not Found), 421 (Misdirected Request), 501 (Not Implemented): 60s. These defaults can be overridden in negative_caching_policy.", + "type": "boolean" + }, + "negativeCachingPolicy": { + "description": "Sets a cache TTL for the specified HTTP status code. negative_caching must be enabled to configure negative_caching_policy. Omitting the policy and leaving negative_caching enabled will use Cloud CDN's default cache TTLs. Note that when specifying an explicit negative_caching_policy, you should take care to specify a cache TTL for all response codes that you wish to cache. Cloud CDN will not apply any default negative caching when a policy exists.", + "items": { + "$ref": "BackendBucketCdnPolicyNegativeCachingPolicy" + }, + "type": "array" + }, + "requestCoalescing": { + "description": "If true then Cloud CDN will combine multiple concurrent cache fill requests into a small number of requests to the origin.", + "type": "boolean" + }, + "serveWhileStale": { + "description": "Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache. This setting defines the default \"max-stale\" duration for any cached responses that do not specify a max-stale directive. Stale responses that exceed the TTL configured here will not be served. The default limit (max-stale) is 86400s (1 day), which will allow stale content to be served up to this limit beyond the max-age (or s-max-age) of a cached response. The maximum allowed value is 604800 (1 week). Set this to zero (0) to disable serve-while-stale.", + "format": "int32", + "type": "integer" + }, + "signedUrlCacheMaxAgeSec": { + "description": "Maximum number of seconds the response to a signed URL request will be considered fresh. After this time period, the response will be revalidated before being served. Defaults to 1hr (3600s). When serving responses to signed URL requests, Cloud CDN will internally behave as though all responses from this backend had a \"Cache-Control: public, max-age=[TTL]\" header, regardless of any existing Cache-Control header. The actual headers served in responses will not be altered.", + "format": "int64", "type": "string" }, - "region": { - "description": "[Output Only] The URL of the region where a regional address resides. For regional addresses, you must specify the region as a path parameter in the HTTP request URL. *This field is not applicable to global addresses.*", + "signedUrlKeyNames": { + "description": "[Output Only] Names of the keys for signing request URLs.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "BackendBucketCdnPolicyBypassCacheOnRequestHeader": { + "description": "Bypass the cache when the specified request headers are present, e.g. Pragma or Authorization headers. Values are case insensitive. The presence of such a header overrides the cache_mode setting.", + "id": "BackendBucketCdnPolicyBypassCacheOnRequestHeader", + "properties": { + "headerName": { + "description": "The header field name to match on when bypassing cache. Values are case-insensitive.", "type": "string" + } + }, + "type": "object" + }, + "BackendBucketCdnPolicyCacheKeyPolicy": { + "description": "Message containing what to include in the cache key for a request for Cloud CDN.", + "id": "BackendBucketCdnPolicyCacheKeyPolicy", + "properties": { + "includeHttpHeaders": { + "description": "Allows HTTP request headers (by name) to be used in the cache key.", + "items": { + "type": "string" + }, + "type": "array" }, - "selfLink": { - "description": "[Output Only] Server-defined URL for the resource.", + "queryStringWhitelist": { + "description": "Names of query string parameters to include in cache keys. Default parameters are always included. '&' and '=' will be percent encoded and not treated as delimiters.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "BackendBucketCdnPolicyNegativeCachingPolicy": { + "description": "Specify CDN TTLs for response error codes.", + "id": "BackendBucketCdnPolicyNegativeCachingPolicy", + "properties": { + "code": { + "description": "The HTTP status code to define a TTL against. Only HTTP status codes 300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values, and you cannot specify a status code more than once.", + "format": "int32", + "type": "integer" + }, + "ttl": { + "description": "The TTL (in seconds) for which to cache responses with the corresponding status code. The maximum allowed value is 1800s (30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "BackendBucketList": { + "description": "Contains a list of BackendBucket resources.", + "id": "BackendBucketList", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, - "selfLinkWithId": { - "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "items": { + "description": "A list of BackendBucket resources.", + "items": { + "$ref": "BackendBucket" + }, + "type": "array" + }, + "kind": { + "default": "compute#backendBucketList", + "description": "Type of resource.", "type": "string" }, - "status": { - "description": "[Output Only] The status of the address, which can be one of RESERVING, RESERVED, or IN_USE. An address that is RESERVING is currently in the process of being reserved. A RESERVED address is currently reserved and available to use. An IN_USE address is currently being used by another resource and is not available.", - "enum": [ - "IN_USE", - "RESERVED", - "RESERVING" - ], - "enumDescriptions": [ - "Address is being used by another resource and is not available.", - "Address is reserved and available to use.", - "Address is being reserved." - ], + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", "type": "string" }, - "subnetwork": { - "description": "The URL of the subnetwork in which to reserve the address. If an IP address is specified, it must be within the subnetwork's IP range. This field can only be used with INTERNAL type with a GCE_ENDPOINT or DNS_RESOLVER purpose.", + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", "type": "string" }, - "users": { - "description": "[Output Only] The URLs of the resources that are using this address.", - "items": { - "type": "string" + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } }, - "type": "array" + "type": "object" } }, "type": "object" }, - "AddressAggregatedList": { - "id": "AddressAggregatedList", + "BackendBucketListUsable": { + "id": "BackendBucketListUsable", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "additionalProperties": { - "$ref": "AddressesScopedList", - "description": "[Output Only] Name of the scope containing this set of addresses." + "description": "A list of BackendBucket resources.", + "items": { + "$ref": "BackendBucket" }, - "description": "A list of AddressesScopedList resources.", - "type": "object" + "type": "array" }, "kind": { - "default": "compute#addressAggregatedList", - "description": "[Output Only] Type of resource. Always compute#addressAggregatedList for aggregated lists of addresses.", + "default": "compute#usableBackendBucketList", + "description": "[Output Only] Type of resource. Always compute#usableBackendBucketList for lists of usable backend buckets.", "type": "string" }, "nextPageToken": { @@ -46436,13 +50904,6 @@ "description": "[Output Only] Server-defined URL for this resource.", "type": "string" }, - "unreachables": { - "description": "[Output Only] Unreachable resources.", - "items": { - "type": "string" - }, - "type": "array" - }, "warning": { "description": "[Output Only] Informational warning message.", "properties": { @@ -46470,6 +50931,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -46506,6 +50968,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -46530,6 +50993,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -46567,24 +51031,425 @@ }, "type": "object" }, - "AddressList": { - "description": "Contains a list of addresses.", - "id": "AddressList", + "BackendBucketUsedBy": { + "id": "BackendBucketUsedBy", + "properties": { + "reference": { + "description": "[Output Only] Server-defined URL for UrlMaps referencing that BackendBucket.", + "type": "string" + } + }, + "type": "object" + }, + "BackendCustomMetric": { + "description": "Custom Metrics are used for CUSTOM_METRICS balancing_mode.", + "id": "BackendCustomMetric", + "properties": { + "dryRun": { + "description": "If true, the metric data is collected and reported to Cloud Monitoring, but is not used for load balancing.", + "type": "boolean" + }, + "maxUtilization": { + "description": "Optional parameter to define a target utilization for the Custom Metrics balancing mode. The valid range is [0.0, 1.0].", + "format": "float", + "type": "number" + }, + "name": { + "description": "Name of a custom utilization signal. The name must be 1-24 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", + "type": "string" + } + }, + "type": "object" + }, + "BackendService": { + "description": "Represents a Backend Service resource. A backend service defines how Google Cloud load balancers distribute traffic. The backend service configuration contains a set of values, such as the protocol used to connect to backends, various distribution and session settings, health checks, and timeouts. These settings provide fine-grained control over how your load balancer behaves. Most of the settings have default values that allow for easy configuration if you need to get started quickly. Backend services in Google Compute Engine can be either regionally or globally scoped. * [Global](https://cloud.google.com/compute/docs/reference/rest/alpha/backendServices) * [Regional](https://cloud.google.com/compute/docs/reference/rest/alpha/regionBackendServices) For more information, see Backend Services.", + "id": "BackendService", + "properties": { + "affinityCookieTtlSec": { + "description": "Lifetime of cookies in seconds. This setting is applicable to Application Load Balancers and Traffic Director and requires GENERATED_COOKIE or HTTP_COOKIE session affinity. If set to 0, the cookie is non-persistent and lasts only until the end of the browser session (or equivalent). The maximum allowed value is two weeks (1,209,600). Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", + "format": "int32", + "type": "integer" + }, + "backends": { + "description": "The list of backends that serve this BackendService.", + "items": { + "$ref": "Backend" + }, + "type": "array" + }, + "cdnPolicy": { + "$ref": "BackendServiceCdnPolicy", + "description": "Cloud CDN configuration for this BackendService. Only available for specified load balancer types." + }, + "circuitBreakers": { + "$ref": "CircuitBreakers" + }, + "compressionMode": { + "description": "Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header.", + "enum": [ + "AUTOMATIC", + "DISABLED" + ], + "enumDescriptions": [ + "Automatically uses the best compression based on the Accept-Encoding header sent by the client.", + "Disables compression. Existing compressed responses cached by Cloud CDN will not be served to clients." + ], + "type": "string" + }, + "connectionDraining": { + "$ref": "ConnectionDraining" + }, + "connectionTrackingPolicy": { + "$ref": "BackendServiceConnectionTrackingPolicy", + "description": "Connection Tracking configuration for this BackendService. Connection tracking policy settings are only available for external passthrough Network Load Balancers and internal passthrough Network Load Balancers." + }, + "consistentHash": { + "$ref": "ConsistentHashLoadBalancerSettings", + "description": "Consistent Hash-based load balancing can be used to provide soft session affinity based on HTTP headers, cookies or other properties. This load balancing policy is applicable only for HTTP connections. The affinity to a particular destination host will be lost when one or more hosts are added/removed from the destination service. This field specifies parameters that control consistent hashing. This field is only applicable when localityLbPolicy is set to MAGLEV or RING_HASH. This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. " + }, + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "customMetrics": { + "description": "List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN locality_lb_policy.", + "items": { + "$ref": "BackendServiceCustomMetric" + }, + "type": "array" + }, + "customRequestHeaders": { + "description": "Headers that the load balancer adds to proxied requests. See [Creating custom headers](https://cloud.google.com/load-balancing/docs/custom-headers).", + "items": { + "type": "string" + }, + "type": "array" + }, + "customResponseHeaders": { + "description": "Headers that the load balancer adds to proxied responses. See [Creating custom headers](https://cloud.google.com/load-balancing/docs/custom-headers).", + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", + "type": "string" + }, + "edgeSecurityPolicy": { + "description": "[Output Only] The resource URL for the edge security policy associated with this backend service.", + "type": "string" + }, + "enableCDN": { + "description": "If true, enables Cloud CDN for the backend service of a global external Application Load Balancer.", + "type": "boolean" + }, + "externalManagedMigrationState": { + "description": "Specifies the canary migration state. Possible values are PREPARE, TEST_BY_PERCENTAGE, and TEST_ALL_TRAFFIC. To begin the migration from EXTERNAL to EXTERNAL_MANAGED, the state must be changed to PREPARE. The state must be changed to TEST_ALL_TRAFFIC before the loadBalancingScheme can be changed to EXTERNAL_MANAGED. Optionally, the TEST_BY_PERCENTAGE state can be used to migrate traffic by percentage using externalManagedMigrationTestingPercentage. Rolling back a migration requires the states to be set in reverse order. So changing the scheme from EXTERNAL_MANAGED to EXTERNAL requires the state to be set to TEST_ALL_TRAFFIC at the same time. Optionally, the TEST_BY_PERCENTAGE state can be used to migrate some traffic back to EXTERNAL or PREPARE can be used to migrate all traffic back to EXTERNAL.", + "enum": [ + "PREPARE", + "TEST_ALL_TRAFFIC", + "TEST_BY_PERCENTAGE" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "externalManagedMigrationTestingPercentage": { + "description": "Determines the fraction of requests that should be processed by the Global external Application Load Balancer. The value of this field must be in the range [0, 100]. Session affinity options will slightly affect this routing behavior, for more details, see: Session Affinity. This value can only be set if the loadBalancingScheme in the BackendService is set to EXTERNAL (when using the classic Application Load Balancer) and the migration state is TEST_BY_PERCENTAGE.", + "format": "float", + "type": "number" + }, + "failoverPolicy": { + "$ref": "BackendServiceFailoverPolicy", + "description": "Requires at least one backend instance group to be defined as a backup (failover) backend. For load balancers that have configurable failover: [Internal passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview)." + }, + "fingerprint": { + "description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a BackendService. An up-to-date fingerprint must be provided in order to update the BackendService, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a BackendService.", + "format": "byte", + "type": "string" + }, + "haPolicy": { + "$ref": "BackendServiceHAPolicy", + "description": "Configuring haPolicy is not supported." + }, + "healthChecks": { + "description": "The list of URLs to the healthChecks, httpHealthChecks (legacy), or httpsHealthChecks (legacy) resource for health checking this backend service. Not all backend services support legacy health checks. See Load balancer guide. Currently, at most one health check can be specified for each backend service. Backend services with instance group or zonal NEG backends must have a health check. Backend services with internet or serverless NEG backends must not have a health check.", + "items": { + "type": "string" + }, + "type": "array" + }, + "iap": { + "$ref": "BackendServiceIAP", + "description": "The configurations for Identity-Aware Proxy on this resource. Not available for internal passthrough Network Load Balancers and external passthrough Network Load Balancers." + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64", + "type": "string" + }, + "ipAddressSelectionPolicy": { + "description": "Specifies a preference for traffic sent from the proxy to the backend (or from the client to the backend for proxyless gRPC). The possible values are: - IPV4_ONLY: Only send IPv4 traffic to the backends of the backend service (Instance Group, Managed Instance Group, Network Endpoint Group), regardless of traffic from the client to the proxy. Only IPv4 health checks are used to check the health of the backends. This is the default setting. - PREFER_IPV6: Prioritize the connection to the endpoint's IPv6 address over its IPv4 address (provided there is a healthy IPv6 address). - IPV6_ONLY: Only send IPv6 traffic to the backends of the backend service (Instance Group, Managed Instance Group, Network Endpoint Group), regardless of traffic from the client to the proxy. Only IPv6 health checks are used to check the health of the backends. This field is applicable to either: - Advanced global external Application Load Balancer (load balancing scheme EXTERNAL_MANAGED), - Regional external Application Load Balancer, - Internal proxy Network Load Balancer (load balancing scheme INTERNAL_MANAGED), - Regional internal Application Load Balancer (load balancing scheme INTERNAL_MANAGED), - Traffic Director with Envoy proxies and proxyless gRPC (load balancing scheme INTERNAL_SELF_MANAGED). ", + "enum": [ + "IPV4_ONLY", + "IPV6_ONLY", + "IP_ADDRESS_SELECTION_POLICY_UNSPECIFIED", + "PREFER_IPV6" + ], + "enumDescriptions": [ + "Only send IPv4 traffic to the backends of the Backend Service (Instance Group, Managed Instance Group, Network Endpoint Group) regardless of traffic from the client to the proxy. Only IPv4 health-checks are used to check the health of the backends. This is the default setting.", + "Only send IPv6 traffic to the backends of the Backend Service (Instance Group, Managed Instance Group, Network Endpoint Group) regardless of traffic from the client to the proxy. Only IPv6 health-checks are used to check the health of the backends.", + "Unspecified IP address selection policy.", + "Prioritize the connection to the endpoints IPv6 address over its IPv4 address (provided there is a healthy IPv6 address)." + ], + "type": "string" + }, + "kind": { + "default": "compute#backendService", + "description": "[Output Only] Type of resource. Always compute#backendService for backend services.", + "type": "string" + }, + "loadBalancingScheme": { + "description": "Specifies the load balancer type. A backend service created for one type of load balancer cannot be used with another. For more information, refer to Choosing a load balancer.", + "enum": [ + "EXTERNAL", + "EXTERNAL_MANAGED", + "INTERNAL", + "INTERNAL_MANAGED", + "INTERNAL_SELF_MANAGED", + "INVALID_LOAD_BALANCING_SCHEME" + ], + "enumDescriptions": [ + "Signifies that this will be used for classic Application Load Balancers, global external proxy Network Load Balancers, or external passthrough Network Load Balancers.", + "Signifies that this will be used for global external Application Load Balancers, regional external Application Load Balancers, or regional external proxy Network Load Balancers.", + "Signifies that this will be used for internal passthrough Network Load Balancers.", + "Signifies that this will be used for internal Application Load Balancers.", + "Signifies that this will be used by Traffic Director.", + "" + ], + "type": "string" + }, + "localityLbPolicies": { + "description": "A list of locality load-balancing policies to be used in order of preference. When you use localityLbPolicies, you must set at least one value for either the localityLbPolicies[].policy or the localityLbPolicies[].customPolicy field. localityLbPolicies overrides any value set in the localityLbPolicy field. For an example of how to use this field, see Define a list of preferred policies. Caution: This field and its children are intended for use in a service mesh that includes gRPC clients only. Envoy proxies can't use backend services that have this configuration.", + "items": { + "$ref": "BackendServiceLocalityLoadBalancingPolicyConfig" + }, + "type": "array" + }, + "localityLbPolicy": { + "description": "The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not configured—that is, if session affinity remains at the default value of NONE—then the default value for localityLbPolicy is ROUND_ROBIN. If session affinity is set to a value other than NONE, then the default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", + "enum": [ + "INVALID_LB_POLICY", + "LEAST_REQUEST", + "MAGLEV", + "ORIGINAL_DESTINATION", + "RANDOM", + "RING_HASH", + "ROUND_ROBIN", + "WEIGHTED_MAGLEV", + "WEIGHTED_ROUND_ROBIN" + ], + "enumDescriptions": [ + "", + "An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests.", + "This algorithm implements consistent hashing to backends. Maglev can be used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824", + "Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer.", + "The load balancer selects a random healthy host.", + "The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests.", + "This is a simple policy in which each healthy backend is selected in round robin order. This is the default.", + "Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing.", + "Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field X-Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the backends[].customMetrics fields." + ], + "type": "string" + }, + "logConfig": { + "$ref": "BackendServiceLogConfig", + "description": "This field denotes the logging options for the load balancer traffic served by this backend service. If logging is enabled, logs will be exported to Stackdriver." + }, + "maxStreamDuration": { + "$ref": "Duration", + "description": "Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed. If not specified, there will be no timeout limit, i.e. the maximum duration is infinite. This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service. This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED." + }, + "metadatas": { + "additionalProperties": { + "type": "string" + }, + "description": "Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH", + "type": "object" + }, + "name": { + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "network": { + "description": "The URL of the network to which this backend service belongs. This field can only be specified when the load balancing scheme is set to INTERNAL.", + "type": "string" + }, + "networkPassThroughLbTrafficPolicy": { + "$ref": "BackendServiceNetworkPassThroughLbTrafficPolicy", + "description": "Configures traffic steering properties of internal passthrough Network Load Balancers." + }, + "outlierDetection": { + "$ref": "OutlierDetection", + "description": "Settings controlling the ejection of unhealthy backend endpoints from the load balancing pool of each individual proxy instance that processes the traffic for the given backend service. If not set, this feature is considered disabled. Results of the outlier detection algorithm (ejection of endpoints from the load balancing pool and returning them back to the pool) are executed independently by each proxy instance of the load balancer. In most cases, more than one proxy instance handles the traffic received by a backend service. Thus, it is possible that an unhealthy endpoint is detected and ejected by only some of the proxies, and while this happens, other proxies may continue to send requests to the same unhealthy endpoint until they detect and eject the unhealthy endpoint. Applicable backend endpoints can be: - VM instances in an Instance Group - Endpoints in a Zonal NEG (GCE_VM_IP, GCE_VM_IP_PORT) - Endpoints in a Hybrid Connectivity NEG (NON_GCP_PRIVATE_IP_PORT) - Serverless NEGs, that resolve to Cloud Run, App Engine, or Cloud Functions Services - Private Service Connect NEGs, that resolve to Google-managed regional API endpoints or managed services published using Private Service Connect Applicable backend service types can be: - A global backend service with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL_MANAGED. - A regional backend service with the serviceProtocol set to HTTP, HTTPS, or HTTP2, and loadBalancingScheme set to INTERNAL_MANAGED or EXTERNAL_MANAGED. Not supported for Serverless NEGs. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true." + }, + "port": { + "deprecated": true, + "description": "Deprecated in favor of portName. The TCP port to connect on the backend. The default value is 80. For internal passthrough Network Load Balancers and external passthrough Network Load Balancers, omit port.", + "format": "int32", + "type": "integer" + }, + "portName": { + "description": "A named port on a backend instance group representing the port for communication to the backend VMs in that group. The named port must be [defined on each backend instance group](https://cloud.google.com/load-balancing/docs/backend-service#named_ports). This parameter has no meaning if the backends are NEGs. For internal passthrough Network Load Balancers and external passthrough Network Load Balancers, omit port_name.", + "type": "string" + }, + "protocol": { + "description": "The protocol this BackendService uses to communicate with backends. Possible values are HTTP, HTTPS, HTTP2, TCP, SSL, UDP or GRPC. depending on the chosen load balancer or Traffic Director configuration. Refer to the documentation for the load balancers or for Traffic Director for more information. Must be set to GRPC when the backend service is referenced by a URL map that is bound to target gRPC proxy.", + "enum": [ + "ALL", + "GRPC", + "H2C", + "HTTP", + "HTTP2", + "HTTPS", + "SSL", + "TCP", + "UDP", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "ALL includes TCP, UDP, ICMP, ESP, AH and SCTP. Note that this should never be used together with target_xx_proxies.", + "gRPC (available for Traffic Director).", + "HTTP2 over cleartext", + "", + "HTTP/2 with SSL.", + "", + "TCP proxying with SSL.", + "TCP proxying or TCP pass-through.", + "UDP.", + "If a Backend Service has UNSPECIFIED as its protocol, it can be used with any L3/L4 Forwarding Rules." + ], + "type": "string" + }, + "region": { + "description": "[Output Only] URL of the region where the regional backend service resides. This field is not applicable to global backend services. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "type": "string" + }, + "securityPolicy": { + "description": "[Output Only] The resource URL for the security policy associated with this backend service.", + "type": "string" + }, + "securitySettings": { + "$ref": "SecuritySettings", + "description": "This field specifies the security settings that apply to this backend service. This field is applicable to a global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED." + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + }, + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "type": "string" + }, + "serviceBindings": { + "description": "URLs of networkservices.ServiceBinding resources. Can only be set if load balancing scheme is INTERNAL_SELF_MANAGED. If set, lists of backends and health checks must be both empty.", + "items": { + "type": "string" + }, + "type": "array" + }, + "serviceLbPolicy": { + "description": "URL to networkservices.ServiceLbPolicy resource. Can only be set if load balancing scheme is EXTERNAL, EXTERNAL_MANAGED, INTERNAL_MANAGED or INTERNAL_SELF_MANAGED and the scope is global.", + "type": "string" + }, + "sessionAffinity": { + "description": "Type of session affinity to use. The default is NONE. Only NONE and HEADER_FIELD are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. For more details, see: [Session Affinity](https://cloud.google.com/load-balancing/docs/backend-service#session_affinity).", + "enum": [ + "CLIENT_IP", + "CLIENT_IP_NO_DESTINATION", + "CLIENT_IP_PORT_PROTO", + "CLIENT_IP_PROTO", + "GENERATED_COOKIE", + "HEADER_FIELD", + "HTTP_COOKIE", + "NONE", + "STRONG_COOKIE_AFFINITY" + ], + "enumDescriptions": [ + "2-tuple hash on packet's source and destination IP addresses. Connections from the same source IP address to the same destination IP address will be served by the same backend VM while that VM remains healthy.", + "1-tuple hash only on packet's source IP address. Connections from the same source IP address will be served by the same backend VM while that VM remains healthy. This option can only be used for Internal TCP/UDP Load Balancing.", + "5-tuple hash on packet's source and destination IP addresses, IP protocol, and source and destination ports. Connections for the same IP protocol from the same source IP address and port to the same destination IP address and port will be served by the same backend VM while that VM remains healthy. This option cannot be used for HTTP(S) load balancing.", + "3-tuple hash on packet's source and destination IP addresses, and IP protocol. Connections for the same IP protocol from the same source IP address to the same destination IP address will be served by the same backend VM while that VM remains healthy. This option cannot be used for HTTP(S) load balancing.", + "Hash based on a cookie generated by the L7 loadbalancer. Only valid for HTTP(S) load balancing.", + "The hash is based on a user specified header field.", + "The hash is based on a user provided cookie.", + "No session affinity. Connections from the same client IP may go to any instance in the pool.", + "Strong cookie-based affinity. Connections bearing the same cookie will be served by the same backend VM while that VM remains healthy, as long as the cookie has not expired." + ], + "type": "string" + }, + "strongSessionAffinityCookie": { + "$ref": "BackendServiceHttpCookie", + "description": "Describes the HTTP cookie used for stateful session affinity. This field is applicable and required if the sessionAffinity is set to STRONG_COOKIE_AFFINITY." + }, + "subsetting": { + "$ref": "Subsetting" + }, + "timeoutSec": { + "description": "The backend service timeout has a different meaning depending on the type of load balancer. For more information see, Backend service settings. The default is 30 seconds. The full range of timeout values allowed goes from 1 through 2,147,483,647 seconds. This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.", + "format": "int32", + "type": "integer" + }, + "tlsSettings": { + "$ref": "BackendServiceTlsSettings", + "description": "Configuration for Backend Authenticated TLS and mTLS. May only be specified when the backend protocol is SSL, HTTPS or HTTP2." + }, + "usedBy": { + "description": "[Output Only] List of resources referencing given backend service.", + "items": { + "$ref": "BackendServiceUsedBy" + }, + "type": "array" + }, + "vpcNetworkScope": { + "description": "The network scope of the backends that can be added to the backend service. This field can be either GLOBAL_VPC_NETWORK or REGIONAL_VPC_NETWORK. A backend service with the VPC scope set to GLOBAL_VPC_NETWORK is only allowed to have backends in global VPC networks. When the VPC scope is set to REGIONAL_VPC_NETWORK the backend service is only allowed to have backends in regional networks in the same scope as the backend service. Note: if not specified then GLOBAL_VPC_NETWORK will be used.", + "enum": [ + "GLOBAL_VPC_NETWORK", + "REGIONAL_VPC_NETWORK" + ], + "enumDescriptions": [ + "The backend service can only have backends in global VPCs", + "The backend service can only have backends in regional VPCs" + ], + "type": "string" + } + }, + "type": "object" + }, + "BackendServiceAggregatedList": { + "description": "Contains a list of BackendServicesScopedList.", + "id": "BackendServiceAggregatedList", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "description": "A list of Address resources.", - "items": { - "$ref": "Address" + "additionalProperties": { + "$ref": "BackendServicesScopedList", + "description": "Name of the scope containing this set of BackendServices." }, - "type": "array" + "description": "A list of BackendServicesScopedList resources.", + "type": "object" }, "kind": { - "default": "compute#addressList", - "description": "[Output Only] Type of resource. Always compute#addressList for lists of addresses.", + "default": "compute#backendServiceAggregatedList", + "description": "Type of resource.", "type": "string" }, "nextPageToken": { @@ -46595,142 +51460,15 @@ "description": "[Output Only] Server-defined URL for this resource.", "type": "string" }, - "warning": { - "description": "[Output Only] Informational warning message.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "AddressesScopedList": { - "id": "AddressesScopedList", - "properties": { - "addresses": { - "description": "[Output Only] A list of addresses contained in this scope.", + "unreachables": { + "description": "[Output Only] Unreachable resources.", "items": { - "$ref": "Address" + "type": "string" }, "type": "array" }, "warning": { - "description": "[Output Only] Informational warning which replaces the list of addresses when the list is empty.", + "description": "[Output Only] Informational warning message.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", @@ -46756,6 +51494,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -46792,6 +51531,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -46816,6 +51556,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -46850,453 +51591,82 @@ }, "type": "object" } - }, - "type": "object" - }, - "AdvancedMachineFeatures": { - "description": "Specifies options for controlling advanced machine features. Options that would traditionally be configured in a BIOS belong here. Features that require operating system support may have corresponding entries in the GuestOsFeatures of an Image (e.g., whether or not the OS in the Image supports nested virtualization being enabled or disabled).", - "id": "AdvancedMachineFeatures", - "properties": { - "enableNestedVirtualization": { - "description": "Whether to enable nested virtualization or not (default is false).", - "type": "boolean" - }, - "enableUefiNetworking": { - "description": "Whether to enable UEFI networking for instance creation.", - "type": "boolean" - }, - "enableWatchdogTimer": { - "description": "Whether to enable the watchdog timer.", - "type": "boolean" - }, - "numaNodeCount": { - "description": "The number of vNUMA nodes.", - "format": "int32", - "type": "integer" - }, - "performanceMonitoringUnit": { - "description": "Type of Performance Monitoring Unit requested on instance.", - "enum": [ - "ARCHITECTURAL", - "ENHANCED", - "PERFORMANCE_MONITORING_UNIT_UNSPECIFIED", - "STANDARD" - ], - "enumDescriptions": [ - "Architecturally defined non-LLC events.", - "Most documented core/L2 and LLC events.", - "", - "Most documented core/L2 events." - ], - "type": "string" - }, - "threadsPerCore": { - "description": "The number of threads per physical core. To disable simultaneous multithreading (SMT) set this to 1. If unset, the maximum number of threads supported per core by the underlying processor is assumed.", - "format": "int32", - "type": "integer" - }, - "turboMode": { - "description": "Turbo frequency mode to use for the instance. Supported modes include: * ALL_CORE_MAX Using empty string or not setting this field will use the platform-specific default turbo mode.", - "type": "string" - }, - "visibleCoreCount": { - "description": "The number of physical cores to expose to an instance. Multiply by the number of threads per core to compute the total number of virtual CPUs to expose to the instance. If unset, the number of cores is inferred from the instance's nominal CPU count and the underlying platform's SMT width.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "AliasIpRange": { - "description": "An alias IP range attached to an instance's network interface.", - "id": "AliasIpRange", - "properties": { - "ipCidrRange": { - "description": "The IP alias ranges to allocate for this interface. This IP CIDR range must belong to the specified subnetwork and cannot contain IP addresses reserved by system or used by other network interfaces. This range may be a single IP address (such as 10.2.3.4), a netmask (such as /24) or a CIDR-formatted string (such as 10.1.2.0/24).", - "type": "string" - }, - "subnetworkRangeName": { - "description": "The name of a subnetwork secondary IP range from which to allocate an IP alias range. If not specified, the primary range of the subnetwork is used.", - "type": "string" - } - }, - "type": "object" - }, - "AllocationAggregateReservation": { - "description": "This reservation type is specified by total resource amounts (e.g. total count of CPUs) and can account for multiple instance SKUs. In other words, one can create instances of varying shapes against this reservation.", - "id": "AllocationAggregateReservation", - "properties": { - "inUseResources": { - "description": "[Output only] List of resources currently in use.", - "items": { - "$ref": "AllocationAggregateReservationReservedResourceInfo" - }, - "type": "array" - }, - "reservedResources": { - "description": "List of reserved resources (CPUs, memory, accelerators).", - "items": { - "$ref": "AllocationAggregateReservationReservedResourceInfo" - }, - "type": "array" - }, - "vmFamily": { - "description": "The VM family that all instances scheduled against this reservation must belong to.", - "enum": [ - "VM_FAMILY_CLOUD_TPU_DEVICE_CT3", - "VM_FAMILY_CLOUD_TPU_LITE_DEVICE_CT5L", - "VM_FAMILY_CLOUD_TPU_LITE_POD_SLICE_CT5LP", - "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT3P", - "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT4P" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "workloadType": { - "description": "The workload type of the instances that will target this reservation.", - "enum": [ - "BATCH", - "SERVING", - "UNSPECIFIED" - ], - "enumDescriptions": [ - "Reserved resources will be optimized for BATCH workloads, such as ML training.", - "Reserved resources will be optimized for SERVING workloads, such as ML inference.", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "AllocationAggregateReservationReservedResourceInfo": { - "id": "AllocationAggregateReservationReservedResourceInfo", - "properties": { - "accelerator": { - "$ref": "AllocationAggregateReservationReservedResourceInfoAccelerator", - "description": "Properties of accelerator resources in this reservation." - } - }, - "type": "object" - }, - "AllocationAggregateReservationReservedResourceInfoAccelerator": { - "id": "AllocationAggregateReservationReservedResourceInfoAccelerator", - "properties": { - "acceleratorCount": { - "description": "Number of accelerators of specified type.", - "format": "int32", - "type": "integer" - }, - "acceleratorType": { - "description": "Full or partial URL to accelerator type. e.g. \"projects/{PROJECT}/zones/{ZONE}/acceleratorTypes/ct4l\"", - "type": "string" - } - }, - "type": "object" - }, - "AllocationReservationSharingPolicy": { - "id": "AllocationReservationSharingPolicy", - "properties": { - "serviceShareType": { - "description": "Sharing config for all Google Cloud services.", - "enum": [ - "ALLOW_ALL", - "DISALLOW_ALL", - "SERVICE_SHARE_TYPE_UNSPECIFIED" - ], - "enumDescriptions": [ - "Allow all Google Cloud managed services to share reservations.", - "[Default] Disallow sharing with all Google Cloud services.", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "AllocationResourceStatus": { - "description": "[Output Only] Contains output only fields.", - "id": "AllocationResourceStatus", - "properties": { - "reservationBlockCount": { - "description": "Indicates number of blocks for accelerator optimized family (applicable beyond A3 only).", - "format": "int32", - "type": "integer" - }, - "specificSkuAllocation": { - "$ref": "AllocationResourceStatusSpecificSKUAllocation", - "description": "Allocation Properties of this reservation." - } - }, - "type": "object" - }, - "AllocationResourceStatusSpecificSKUAllocation": { - "description": "Contains Properties set for the reservation.", - "id": "AllocationResourceStatusSpecificSKUAllocation", - "properties": { - "sourceInstanceTemplateId": { - "description": "ID of the instance template used to populate reservation properties.", - "type": "string" - }, - "utilizations": { - "additionalProperties": { - "format": "int64", - "type": "string" - }, - "description": "Per service utilization breakdown. The Key is the Google Cloud managed service name.", - "type": "object" - } - }, - "type": "object" - }, - "AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk": { - "id": "AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk", - "properties": { - "diskSizeGb": { - "description": "Specifies the size of the disk in base-2 GB.", - "format": "int64", - "type": "string" - }, - "interface": { - "description": "Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance.", - "enum": [ - "NVDIMM", - "NVME", - "SCSI" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "AllocationSpecificSKUAllocationReservedInstanceProperties": { - "description": "Properties of the SKU instances being reserved. Next ID: 9", - "id": "AllocationSpecificSKUAllocationReservedInstanceProperties", - "properties": { - "guestAccelerators": { - "description": "Specifies accelerator type and count.", - "items": { - "$ref": "AcceleratorConfig" - }, - "type": "array" - }, - "localSsds": { - "description": "Specifies amount of local ssd to reserve with each instance. The type of disk is local-ssd.", - "items": { - "$ref": "AllocationSpecificSKUAllocationAllocatedInstancePropertiesReservedDisk" - }, - "type": "array" - }, - "locationHint": { - "description": "An opaque location hint used to place the allocation close to other resources. This field is for use by internal tools that use the public API.", - "type": "string" - }, - "machineType": { - "description": "Specifies type of machine (name only) which has fixed number of vCPUs and fixed amount of memory. This also includes specifying custom machine type following custom-NUMBER_OF_CPUS-AMOUNT_OF_MEMORY pattern.", - "type": "string" - }, - "maintenanceFreezeDurationHours": { - "description": "Specifies the number of hours after reservation creation where instances using the reservation won't be scheduled for maintenance.", - "format": "int32", - "type": "integer" - }, - "maintenanceInterval": { - "description": "Specifies the frequency of planned maintenance events. The accepted values are: `PERIODIC`.", - "enum": [ - "AS_NEEDED", - "PERIODIC", - "RECURRENT" - ], - "enumDescriptions": [ - "VMs are eligible to receive infrastructure and hypervisor updates as they become available. This may result in more maintenance operations (live migrations or terminations) for the VM than the PERIODIC and RECURRENT options.", - "VMs receive infrastructure and hypervisor updates on a periodic basis, minimizing the number of maintenance operations (live migrations or terminations) on an individual VM. This may mean a VM will take longer to receive an update than if it was configured for AS_NEEDED. Security updates will still be applied as soon as they are available.", - "VMs receive infrastructure and hypervisor updates on a periodic basis, minimizing the number of maintenance operations (live migrations or terminations) on an individual VM. This may mean a VM will take longer to receive an update than if it was configured for AS_NEEDED. Security updates will still be applied as soon as they are available. RECURRENT is used for GEN3 and Slice of Hardware VMs." - ], - "type": "string" - }, - "minCpuPlatform": { - "description": "Minimum cpu platform the reservation.", - "type": "string" - } - }, - "type": "object" - }, - "AllocationSpecificSKUReservation": { - "description": "This reservation type allows to pre allocate specific instance configuration.", - "id": "AllocationSpecificSKUReservation", - "properties": { - "assuredCount": { - "description": "[Output Only] Indicates how many instances are actually usable currently.", - "format": "int64", - "type": "string" - }, - "count": { - "description": "Specifies the number of resources that are allocated.", - "format": "int64", - "type": "string" - }, - "inUseCount": { - "description": "[Output Only] Indicates how many instances are in use.", - "format": "int64", - "type": "string" - }, - "instanceProperties": { - "$ref": "AllocationSpecificSKUAllocationReservedInstanceProperties", - "description": "The instance properties for the reservation." - }, - "sourceInstanceTemplate": { - "description": "Specifies the instance template to create the reservation. If you use this field, you must exclude the instanceProperties field. This field is optional, and it can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project /global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate ", - "type": "string" - } - }, - "type": "object" - }, - "AttachedDisk": { - "description": "An instance-attached disk resource.", - "id": "AttachedDisk", - "properties": { - "architecture": { - "description": "[Output Only] The architecture of the attached disk. Valid values are ARM64 or X86_64.", - "enum": [ - "ARCHITECTURE_UNSPECIFIED", - "ARM64", - "X86_64" - ], - "enumDescriptions": [ - "Default value indicating Architecture is not set.", - "Machines with architecture ARM64", - "Machines with architecture X86_64" - ], - "type": "string" - }, - "autoDelete": { - "description": "Specifies whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).", - "type": "boolean" - }, - "boot": { - "description": "Indicates that this is a boot disk. The virtual machine will use the first partition of the disk for its root filesystem.", - "type": "boolean" - }, - "deviceName": { - "description": "Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. This name can be used to reference the device for mounting, resizing, and so on, from within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks.", - "type": "string" - }, - "diskEncryptionKey": { - "$ref": "CustomerEncryptionKey", - "description": "Encrypts or decrypts a disk using a customer-supplied encryption key. If you are creating a new disk, this field encrypts the new disk using an encryption key that you provide. If you are attaching an existing disk that is already encrypted, this field decrypts the disk using the customer-supplied encryption key. If you encrypt a disk using a customer-supplied key, you must provide the same key again when you attempt to use this resource at a later time. For example, you must provide the key when you create a snapshot or an image from the disk or when you attach the disk to a virtual machine instance. If you do not provide an encryption key, then the disk will be encrypted using an automatically generated key and you do not need to provide a key to use the disk later. Note: Instance templates do not store customer-supplied encryption keys, so you cannot use your own keys to encrypt disks in a managed instance group. You cannot create VMs that have disks with customer-supplied keys using the bulk insert method." - }, - "diskSizeGb": { - "description": "The size of the disk in GB.", - "format": "int64", - "type": "string" - }, - "forceAttach": { - "description": "[Input Only] Whether to force attach the regional disk even if it's currently attached to another instance. If you try to force attach a zonal disk to an instance, you will receive an error.", - "type": "boolean" - }, - "guestOsFeatures": { - "description": "A list of features to enable on the guest operating system. Applicable only for bootable images. Read Enabling guest operating system features to see a list of available options.", + }, + "type": "object" + }, + "BackendServiceCdnPolicy": { + "description": "Message containing Cloud CDN configuration for a backend service.", + "id": "BackendServiceCdnPolicy", + "properties": { + "bypassCacheOnRequestHeaders": { + "description": "Bypass the cache when the specified request headers are matched - e.g. Pragma or Authorization headers. Up to 5 headers can be specified. The cache is bypassed for all cdnPolicy.cacheMode settings.", "items": { - "$ref": "GuestOsFeature" + "$ref": "BackendServiceCdnPolicyBypassCacheOnRequestHeader" }, "type": "array" }, - "index": { - "description": "[Output Only] A zero-based index to this disk, where 0 is reserved for the boot disk. If you have many disks attached to an instance, each disk would have a unique index number.", - "format": "int32", - "type": "integer" - }, - "initializeParams": { - "$ref": "AttachedDiskInitializeParams", - "description": "[Input Only] Specifies the parameters for a new disk that will be created alongside the new instance. Use initialization parameters to create boot disks or local SSDs attached to the new instance. This property is mutually exclusive with the source property; you can only define one or the other, but not both." + "cacheKeyPolicy": { + "$ref": "CacheKeyPolicy", + "description": "The CacheKeyPolicy for this CdnPolicy." }, - "interface": { - "description": "Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. For most machine types, the default is SCSI. Local SSDs can use either NVME or SCSI. In certain configurations, persistent disks can use NVMe. For more information, see About persistent disks.", + "cacheMode": { + "description": "Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. If no value is provided for cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC.", "enum": [ - "NVDIMM", - "NVME", - "SCSI" + "CACHE_ALL_STATIC", + "FORCE_CACHE_ALL", + "INVALID_CACHE_MODE", + "USE_ORIGIN_HEADERS" ], "enumDescriptions": [ + "Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached.", + "Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content.", "", - "", - "" + "Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server." ], "type": "string" }, - "kind": { - "default": "compute#attachedDisk", - "description": "[Output Only] Type of the resource. Always compute#attachedDisk for attached disks.", - "type": "string" + "clientTtl": { + "description": "Specifies a separate client (e.g. browser client) maximum TTL. This is used to clamp the max-age (or Expires) value sent to the client. With FORCE_CACHE_ALL, the lesser of client_ttl and default_ttl is used for the response max-age directive, along with a \"public\" directive. For cacheable content in CACHE_ALL_STATIC mode, client_ttl clamps the max-age from the origin (if specified), or else sets the response max-age directive to the lesser of the client_ttl and default_ttl, and also ensures a \"public\" cache-control directive is present. If a client TTL is not specified, a default value (1 hour) will be used. The maximum allowed value is 31,622,400s (1 year).", + "format": "int32", + "type": "integer" }, - "licenses": { - "description": "[Output Only] Any valid publicly visible licenses.", + "defaultTtl": { + "description": "Specifies the default TTL for cached content served by this origin for responses that do not have an existing valid TTL (max-age or s-max-age). Setting a TTL of \"0\" means \"always revalidate\". The value of defaultTTL cannot be set to a value greater than that of maxTTL, but can be equal. When the cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set in all responses. The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", + "format": "int32", + "type": "integer" + }, + "maxTtl": { + "description": "Specifies the maximum allowed TTL for cached content served by this origin. Cache directives that attempt to set a max-age or s-maxage higher than this, or an Expires header more than maxTTL seconds in the future will be capped at the value of maxTTL, as if it were the value of an s-maxage Cache-Control directive. Headers sent to the client will not be modified. Setting a TTL of \"0\" means \"always revalidate\". The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", + "format": "int32", + "type": "integer" + }, + "negativeCaching": { + "description": "Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects. This can reduce the load on your origin and improve end-user experience by reducing response latency. When the cache mode is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS, negative caching applies to responses with the specified response code that lack any Cache-Control, Expires, or Pragma: no-cache directives. When the cache mode is set to FORCE_CACHE_ALL, negative caching applies to all responses with the specified response code, and override any caching headers. By default, Cloud CDN will apply the following default TTLs to these status codes: HTTP 300 (Multiple Choice), 301, 308 (Permanent Redirects): 10m HTTP 404 (Not Found), 410 (Gone), 451 (Unavailable For Legal Reasons): 120s HTTP 405 (Method Not Found), 421 (Misdirected Request), 501 (Not Implemented): 60s. These defaults can be overridden in negative_caching_policy.", + "type": "boolean" + }, + "negativeCachingPolicy": { + "description": "Sets a cache TTL for the specified HTTP status code. negative_caching must be enabled to configure negative_caching_policy. Omitting the policy and leaving negative_caching enabled will use Cloud CDN's default cache TTLs. Note that when specifying an explicit negative_caching_policy, you should take care to specify a cache TTL for all response codes that you wish to cache. Cloud CDN will not apply any default negative caching when a policy exists.", "items": { - "type": "string" + "$ref": "BackendServiceCdnPolicyNegativeCachingPolicy" }, "type": "array" }, - "locked": { - "description": "[Output Only] Whether to indicate the attached disk is locked. The locked disk is not allowed to be detached from the instance, or to be used as the source of the snapshot creation, and the image creation. The instance with at least one locked attached disk is not allow to be used as source of machine image creation, instant snapshot creation, and not allowed to be deleted with --keep-disk parameter set to true for locked disks.", + "requestCoalescing": { + "description": "If true then Cloud CDN will combine multiple concurrent cache fill requests into a small number of requests to the origin.", "type": "boolean" }, - "mode": { - "description": "The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If not specified, the default is to attach the disk in READ_WRITE mode.", - "enum": [ - "READ_ONLY", - "READ_WRITE" - ], - "enumDescriptions": [ - "Attaches this disk in read-only mode. Multiple virtual machines can use a disk in read-only mode at a time.", - "*[Default]* Attaches this disk in read-write mode. Only one virtual machine at a time can be attached to a disk in read-write mode." - ], - "type": "string" - }, - "savedState": { - "description": "For LocalSSD disks on VM Instances in STOPPED or SUSPENDED state, this field is set to PRESERVED if the LocalSSD data has been saved to a persistent location by customer request. (see the discard_local_ssd option on Stop/Suspend). Read-only in the api.", - "enum": [ - "DISK_SAVED_STATE_UNSPECIFIED", - "PRESERVED" - ], - "enumDescriptions": [ - "*[Default]* Disk state has not been preserved.", - "Disk state has been preserved." - ], - "type": "string" - }, - "shieldedInstanceInitialState": { - "$ref": "InitialStateConfig", - "description": "[Output Only] shielded vm initial state stored on disk" - }, - "source": { - "description": "Specifies a valid partial or full URL to an existing Persistent Disk resource. When creating a new instance boot disk, one of initializeParams.sourceImage or initializeParams.sourceSnapshot or disks.source is required. If desired, you can also attach existing non-root persistent disks using this property. This field is only applicable for persistent disks. Note that for InstanceTemplate, specify the disk name for zonal disk, and the URL for regional disk.", - "type": "string" + "serveWhileStale": { + "description": "Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache. This setting defines the default \"max-stale\" duration for any cached responses that do not specify a max-stale directive. Stale responses that exceed the TTL configured here will not be served. The default limit (max-stale) is 86400s (1 day), which will allow stale content to be served up to this limit beyond the max-age (or s-max-age) of a cached response. The maximum allowed value is 604800 (1 week). Set this to zero (0) to disable serve-while-stale.", + "format": "int32", + "type": "integer" }, - "type": { - "description": "Specifies the type of the disk, either SCRATCH or PERSISTENT. If not specified, the default is PERSISTENT.", - "enum": [ - "PERSISTENT", - "SCRATCH" - ], - "enumDescriptions": [ - "", - "" - ], + "signedUrlCacheMaxAgeSec": { + "description": "Maximum number of seconds the response to a signed URL request will be considered fresh. After this time period, the response will be revalidated before being served. Defaults to 1hr (3600s). When serving responses to signed URL requests, Cloud CDN will internally behave as though all responses from this backend had a \"Cache-Control: public, max-age=[TTL]\" header, regardless of any existing Cache-Control header. The actual headers served in responses will not be altered.", + "format": "int64", "type": "string" }, - "userLicenses": { - "description": "[Output Only] A list of user provided licenses. It represents a list of URLs to the license resource. Unlike regular licenses, user provided licenses can be modified after the disk is created.", + "signedUrlKeyNames": { + "description": "[Output Only] Names of the keys for signing request URLs.", "items": { "type": "string" }, @@ -47305,59 +51675,44 @@ }, "type": "object" }, - "AttachedDiskInitializeParams": { - "description": "[Input Only] Specifies the parameters for a new disk that will be created alongside the new instance. Use initialization parameters to create boot disks or local SSDs attached to the new instance. This field is persisted and returned for instanceTemplate and not returned in the context of instance. This property is mutually exclusive with the source property; you can only define one or the other, but not both.", - "id": "AttachedDiskInitializeParams", + "BackendServiceCdnPolicyBypassCacheOnRequestHeader": { + "description": "Bypass the cache when the specified request headers are present, e.g. Pragma or Authorization headers. Values are case insensitive. The presence of such a header overrides the cache_mode setting.", + "id": "BackendServiceCdnPolicyBypassCacheOnRequestHeader", "properties": { - "architecture": { - "description": "The architecture of the attached disk. Valid values are arm64 or x86_64.", - "enum": [ - "ARCHITECTURE_UNSPECIFIED", - "ARM64", - "X86_64" - ], - "enumDescriptions": [ - "Default value indicating Architecture is not set.", - "Machines with architecture ARM64", - "Machines with architecture X86_64" - ], - "type": "string" - }, - "description": { - "description": "An optional description. Provide this property when creating the disk.", - "type": "string" - }, - "diskName": { - "description": "Specifies the disk name. If not specified, the default is to use the name of the instance. If a disk with the same name already exists in the given region, the existing disk is attached to the new instance and the new disk is not created.", - "type": "string" - }, - "diskSizeGb": { - "description": "Specifies the size of the disk in base-2 GB. The size must be at least 10 GB. If you specify a sourceImage, which is required for boot disks, the default size is the size of the sourceImage. If you do not specify a sourceImage, the default disk size is 500 GB.", - "format": "int64", - "type": "string" - }, - "diskType": { - "description": "Specifies the disk type to use to create the instance. If not specified, the default is pd-standard, specified using the full URL. For example: https://www.googleapis.com/compute/v1/projects/project/zones/zone /diskTypes/pd-standard For a full list of acceptable values, see Persistent disk types. If you specify this field when creating a VM, you can provide either the full or partial URL. For example, the following values are valid: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /diskTypes/diskType - projects/project/zones/zone/diskTypes/diskType - zones/zone/diskTypes/diskType If you specify this field when creating or updating an instance template or all-instances configuration, specify the type of the disk, not the URL. For example: pd-standard.", + "headerName": { + "description": "The header field name to match on when bypassing cache. Values are case-insensitive.", "type": "string" + } + }, + "type": "object" + }, + "BackendServiceCdnPolicyNegativeCachingPolicy": { + "description": "Specify CDN TTLs for response error codes.", + "id": "BackendServiceCdnPolicyNegativeCachingPolicy", + "properties": { + "code": { + "description": "The HTTP status code to define a TTL against. Only HTTP status codes 300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values, and you cannot specify a status code more than once.", + "format": "int32", + "type": "integer" }, - "enableConfidentialCompute": { - "description": "Whether this disk is using confidential compute mode.", - "type": "boolean" - }, - "guestOsFeatures": { - "description": "A list of features to enable on the guest operating system. Applicable only for bootable images. Read Enabling guest operating system features to see a list of available options. Guest OS features are applied by merging initializeParams.guestOsFeatures and disks.guestOsFeatures", - "items": { - "$ref": "GuestOsFeature" - }, - "type": "array" - }, - "interface": { - "deprecated": true, - "description": "[Deprecated] Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI.", + "ttl": { + "description": "The TTL (in seconds) for which to cache responses with the corresponding status code. The maximum allowed value is 1800s (30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "BackendServiceConnectionTrackingPolicy": { + "description": "Connection Tracking configuration for this BackendService.", + "id": "BackendServiceConnectionTrackingPolicy", + "properties": { + "connectionPersistenceOnUnhealthyBackends": { + "description": "Specifies connection persistence when backends are unhealthy. The default value is DEFAULT_FOR_PROTOCOL. If set to DEFAULT_FOR_PROTOCOL, the existing connections persist on unhealthy backends only for connection-oriented protocols (TCP and SCTP) and only if the Tracking Mode is PER_CONNECTION (default tracking mode) or the Session Affinity is configured for 5-tuple. They do not persist for UDP. If set to NEVER_PERSIST, after a backend becomes unhealthy, the existing connections on the unhealthy backend are never persisted on the unhealthy backend. They are always diverted to newly selected healthy backends (unless all backends are unhealthy). If set to ALWAYS_PERSIST, existing connections always persist on unhealthy backends regardless of protocol and session affinity. It is generally not recommended to use this mode overriding the default. For more details, see [Connection Persistence for Network Load Balancing](https://cloud.google.com/load-balancing/docs/network/networklb-backend-service#connection-persistence) and [Connection Persistence for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal#connection-persistence).", "enum": [ - "NVME", - "SCSI", - "UNSPECIFIED" + "ALWAYS_PERSIST", + "DEFAULT_FOR_PROTOCOL", + "NEVER_PERSIST" ], "enumDescriptions": [ "", @@ -47366,328 +51721,220 @@ ], "type": "string" }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Labels to apply to this disk. These can be later modified by the disks.setLabels method. This field is only applicable for persistent disks.", - "type": "object" - }, - "licenseCodes": { - "description": "Integer license codes indicating which licenses are attached to this disk.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "licenses": { - "description": "A list of publicly visible licenses. Reserved for Google's use.", - "items": { - "type": "string" - }, - "type": "array" - }, - "multiWriter": { - "description": "Indicates whether or not the disk can be read/write attached to more than one instance.", + "enableStrongAffinity": { + "description": "Enable Strong Session Affinity for external passthrough Network Load Balancers. This option is not available publicly.", "type": "boolean" }, - "onUpdateAction": { - "description": "Specifies which action to take on instance update with this disk. Default is to use the existing disk.", + "idleTimeoutSec": { + "description": "Specifies how long to keep a Connection Tracking entry while there is no matching traffic (in seconds). For internal passthrough Network Load Balancers: - The minimum (default) is 10 minutes and the maximum is 16 hours. - It can be set only if Connection Tracking is less than 5-tuple (i.e. Session Affinity is CLIENT_IP_NO_DESTINATION, CLIENT_IP or CLIENT_IP_PROTO, and Tracking Mode is PER_SESSION). For external passthrough Network Load Balancers the default is 60 seconds. This option is not available publicly.", + "format": "int32", + "type": "integer" + }, + "trackingMode": { + "description": "Specifies the key used for connection tracking. There are two options: - PER_CONNECTION: This is the default mode. The Connection Tracking is performed as per the Connection Key (default Hash Method) for the specific protocol. - PER_SESSION: The Connection Tracking is performed as per the configured Session Affinity. It matches the configured Session Affinity. For more details, see [Tracking Mode for Network Load Balancing](https://cloud.google.com/load-balancing/docs/network/networklb-backend-service#tracking-mode) and [Tracking Mode for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal#tracking-mode).", "enum": [ - "RECREATE_DISK", - "RECREATE_DISK_IF_SOURCE_CHANGED", - "USE_EXISTING_DISK" + "INVALID_TRACKING_MODE", + "PER_CONNECTION", + "PER_SESSION" ], "enumDescriptions": [ - "Always recreate the disk.", - "Recreate the disk if source (image, snapshot) of this disk is different from source of existing disk.", - "Use the existing disk, this is the default behaviour." + "", + "", + "" ], "type": "string" - }, - "provisionedIops": { - "description": "Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation.", - "format": "int64", - "type": "string" - }, - "provisionedThroughput": { - "description": "Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle. Values must greater than or equal to 1.", - "format": "int64", - "type": "string" - }, - "replicaZones": { - "description": "Required for each regional disk associated with the instance. Specify the URLs of the zones where the disk should be replicated to. You must provide exactly two replica zones, and one zone must be the same as the instance zone.", - "items": { - "type": "string" - }, - "type": "array" - }, - "resourceManagerTags": { - "additionalProperties": { - "type": "string" - }, - "description": "Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty.", - "type": "object" - }, - "resourcePolicies": { - "description": "Resource policies applied to this disk for automatic snapshot creations. Specified using the full or partial URL. For instance template, specify only the resource policy name.", - "items": { - "type": "string" - }, - "type": "array" - }, - "sourceImage": { - "description": "The source image to create this disk. When creating a new instance boot disk, one of initializeParams.sourceImage or initializeParams.sourceSnapshot or disks.source is required. To create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-9 to use the latest Debian 9 image: projects/debian-cloud/global/images/family/debian-9 Alternatively, use a specific version of a public operating system image: projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD To create a disk with a custom image that you created, specify the image name in the following format: global/images/my-custom-image You can also specify a custom image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name: global/images/family/my-image-family If the source image is deleted later, this field will not be set.", - "type": "string" - }, - "sourceImageEncryptionKey": { - "$ref": "CustomerEncryptionKey", - "description": "The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key. InstanceTemplate and InstancePropertiesPatch do not store customer-supplied encryption keys, so you cannot create disks for instances in a managed instance group if the source images are encrypted with your own keys." - }, - "sourceInstantSnapshot": { - "description": "The source instant-snapshot to create this disk. When creating a new instance boot disk, one of initializeParams.sourceSnapshot or initializeParams.sourceInstantSnapshot initializeParams.sourceImage or disks.source is required. To create a disk with a snapshot that you created, specify the snapshot name in the following format: us-central1-a/instantSnapshots/my-backup If the source instant-snapshot is deleted later, this field will not be set.", - "type": "string" - }, - "sourceSnapshot": { - "description": "The source snapshot to create this disk. When creating a new instance boot disk, one of initializeParams.sourceSnapshot or initializeParams.sourceImage or disks.source is required. To create a disk with a snapshot that you created, specify the snapshot name in the following format: global/snapshots/my-backup If the source snapshot is deleted later, this field will not be set.", - "type": "string" - }, - "sourceSnapshotEncryptionKey": { - "$ref": "CustomerEncryptionKey", - "description": "The customer-supplied encryption key of the source snapshot." - }, - "storagePool": { - "description": "The storage pool in which the new disk is created. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /storagePools/storagePool - projects/project/zones/zone/storagePools/storagePool - zones/zone/storagePools/storagePool ", - "type": "string" } }, "type": "object" }, - "AuditConfig": { - "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.", - "id": "AuditConfig", + "BackendServiceCustomMetric": { + "description": "Custom Metrics are used for WEIGHTED_ROUND_ROBIN locality_lb_policy.", + "id": "BackendServiceCustomMetric", "properties": { - "auditLogConfigs": { - "description": "The configuration for logging of each type of permission.", - "items": { - "$ref": "AuditLogConfig" - }, - "type": "array" - }, - "exemptedMembers": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "type": "string" - }, - "type": "array" + "dryRun": { + "description": "If true, the metric data is not used for load balancing.", + "type": "boolean" }, - "service": { - "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", + "name": { + "description": "Name of a custom utilization signal. The name must be 1-24 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", "type": "string" } }, "type": "object" }, - "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", - "id": "AuditLogConfig", + "BackendServiceFailoverPolicy": { + "description": "For load balancers that have configurable failover: [Internal passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview). On failover or failback, this field indicates whether connection draining will be honored. Google Cloud has a fixed connection draining timeout of 10 minutes. A setting of true terminates existing TCP connections to the active pool during failover and failback, immediately draining traffic. A setting of false allows existing TCP connections to persist, even on VMs no longer in the active pool, for up to the duration of the connection draining timeout (10 minutes).", + "id": "BackendServiceFailoverPolicy", "properties": { - "exemptedMembers": { - "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", - "items": { - "type": "string" - }, - "type": "array" + "disableConnectionDrainOnFailover": { + "description": "This can be set to true only if the protocol is TCP. The default is false.", + "type": "boolean" }, - "ignoreChildExemptions": { - "description": "This is deprecated and has no effect. Do not use.", + "dropTrafficIfUnhealthy": { + "description": "If set to true, connections to the load balancer are dropped when all primary and all backup backend VMs are unhealthy.If set to false, connections are distributed among all primary VMs when all primary and all backup backend VMs are unhealthy. For load balancers that have configurable failover: [Internal passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview). The default is false.", "type": "boolean" }, - "logType": { - "description": "The log type that this config enables.", - "enum": [ - "ADMIN_READ", - "DATA_READ", - "DATA_WRITE", - "LOG_TYPE_UNSPECIFIED" - ], - "enumDescriptions": [ - "Admin reads. Example: CloudIAM getIamPolicy", - "Data reads. Example: CloudSQL Users list", - "Data writes. Example: CloudSQL Users create", - "Default case. Should never be this." - ], - "type": "string" + "failoverRatio": { + "description": "The value of the field must be in the range [0, 1]. If the value is 0, the load balancer performs a failover when the number of healthy primary VMs equals zero. For all other values, the load balancer performs a failover when the total number of healthy primary VMs is less than this ratio. For load balancers that have configurable failover: [Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview).", + "format": "float", + "type": "number" } }, "type": "object" }, - "AuthenticationPolicy": { - "description": "[Deprecated] The authentication settings for the backend service. The authentication settings for the backend service.", - "id": "AuthenticationPolicy", + "BackendServiceGroupHealth": { + "id": "BackendServiceGroupHealth", "properties": { - "origins": { - "description": "List of authentication methods that can be used for origin authentication. Similar to peers, these will be evaluated in order the first valid one will be used to set origin identity. If none of these methods pass, the request will be rejected with authentication failed error (401). Leave the list empty if origin authentication is not required.", - "items": { - "$ref": "OriginAuthenticationMethod" + "annotations": { + "additionalProperties": { + "type": "string" }, - "type": "array" + "description": "Metadata defined as annotations on the network endpoint group.", + "type": "object" }, - "peers": { - "description": "List of authentication methods that can be used for peer authentication. They will be evaluated in order the first valid one will be used to set peer identity. If none of these methods pass, the request will be rejected with authentication failed error (401). Leave the list empty if peer authentication is not required.", + "healthStatus": { + "description": "Health state of the backend instances or endpoints in requested instance or network endpoint group, determined based on configured health checks.", "items": { - "$ref": "PeerAuthenticationMethod" + "$ref": "HealthStatus" }, "type": "array" }, - "principalBinding": { - "description": "Define whether peer or origin identity should be used for principal. Default value is USE_PEER. If peer (or origin) identity is not available, either because peer/origin authentication is not defined, or failed, principal will be left unset. In other words, binding rule does not affect the decision to accept or reject request. This field can be set to one of the following: USE_PEER: Principal will be set to the identity from peer authentication. USE_ORIGIN: Principal will be set to the identity from origin authentication.", + "kind": { + "default": "compute#backendServiceGroupHealth", + "description": "[Output Only] Type of resource. Always compute#backendServiceGroupHealth for the health of backend services.", + "type": "string" + } + }, + "type": "object" + }, + "BackendServiceHAPolicy": { + "id": "BackendServiceHAPolicy", + "properties": { + "fastIPMove": { + "description": "Enabling fastIPMove is not supported.", "enum": [ - "INVALID", - "USE_ORIGIN", - "USE_PEER" + "DISABLED", + "GARP_RA" ], "enumDescriptions": [ "", - "Principal will be set to the identity from origin authentication.", - "Principal will be set to the identity from peer authentication." + "" ], "type": "string" }, - "serverTlsContext": { - "$ref": "TlsContext", - "description": "Configures the mechanism to obtain server-side security certificates and identity information." + "leader": { + "$ref": "BackendServiceHAPolicyLeader", + "description": "Setting a leader is not supported." } }, "type": "object" }, - "AuthorizationConfig": { - "description": "[Deprecated] Authorization configuration provides service-level and method-level access control for a service. control for a service.", - "id": "AuthorizationConfig", + "BackendServiceHAPolicyLeader": { + "id": "BackendServiceHAPolicyLeader", "properties": { - "policies": { - "description": "List of RbacPolicies.", - "items": { - "$ref": "RbacPolicy" - }, - "type": "array" + "backendGroup": { + "description": "Setting backendGroup is not supported.", + "type": "string" + }, + "networkEndpoint": { + "$ref": "BackendServiceHAPolicyLeaderNetworkEndpoint", + "description": "Setting a network endpoint as leader is not supported." } }, "type": "object" }, - "Autoscaler": { - "description": "Represents an Autoscaler resource. Google Compute Engine has two Autoscaler resources: * [Zonal](/compute/docs/reference/rest/alpha/autoscalers) * [Regional](/compute/docs/reference/rest/alpha/regionAutoscalers) Use autoscalers to automatically add or delete instances from a managed instance group according to your defined autoscaling policy. For more information, read Autoscaling Groups of Instances. For zonal managed instance groups resource, use the autoscaler resource. For regional managed instance groups, use the regionAutoscalers resource.", - "id": "Autoscaler", + "BackendServiceHAPolicyLeaderNetworkEndpoint": { + "id": "BackendServiceHAPolicyLeaderNetworkEndpoint", "properties": { - "autoscalingPolicy": { - "$ref": "AutoscalingPolicy", - "description": "The configuration parameters for the autoscaling algorithm. You can define one or more signals for an autoscaler: cpuUtilization, customMetricUtilizations, and loadBalancingUtilization. If none of these are specified, the default will be to autoscale based on cpuUtilization to 0.6 or 60%." - }, - "creationTimestamp": { - "description": "[Output Only] Creation timestamp in RFC3339 text format.", - "type": "string" - }, - "description": { - "description": "An optional description of this resource. Provide this property when you create the resource.", - "type": "string" - }, - "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", - "format": "uint64", + "instance": { + "description": "Specifying the instance name of a leader is not supported.", "type": "string" - }, - "kind": { - "default": "compute#autoscaler", - "description": "[Output Only] Type of the resource. Always compute#autoscaler for autoscalers.", + } + }, + "type": "object" + }, + "BackendServiceHttpCookie": { + "description": "The HTTP cookie used for stateful session affinity.", + "id": "BackendServiceHttpCookie", + "properties": { + "name": { + "description": "Name of the cookie.", "type": "string" }, - "name": { - "annotations": { - "required": [ - "compute.autoscalers.insert" - ] - }, - "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "path": { + "description": "Path to set for the cookie.", "type": "string" }, - "recommendedSize": { - "description": "[Output Only] Target recommended MIG size (number of instances) computed by autoscaler. Autoscaler calculates the recommended MIG size even when the autoscaling policy mode is different from ON. This field is empty when autoscaler is not connected to an existing managed instance group or autoscaler did not generate its prediction.", - "format": "int32", - "type": "integer" + "ttl": { + "$ref": "Duration", + "description": "Lifetime of the cookie." + } + }, + "type": "object" + }, + "BackendServiceIAP": { + "description": "Identity-Aware Proxy", + "id": "BackendServiceIAP", + "properties": { + "enabled": { + "description": "Whether the serving infrastructure will authenticate and authorize all incoming requests.", + "type": "boolean" }, - "region": { - "description": "[Output Only] URL of the region where the instance group resides (for autoscalers living in regional scope).", + "oauth2ClientId": { + "description": "OAuth2 client ID to use for the authentication flow.", "type": "string" }, - "scalingScheduleStatus": { - "additionalProperties": { - "$ref": "ScalingScheduleStatus" - }, - "description": "[Output Only] Status information of existing scaling schedules.", - "type": "object" + "oauth2ClientInfo": { + "$ref": "BackendServiceIAPOAuth2ClientInfo", + "description": "[Input Only] OAuth client info required to generate client id to be used for IAP." }, - "selfLink": { - "description": "[Output Only] Server-defined URL for the resource.", + "oauth2ClientSecret": { + "description": "OAuth2 client secret to use for the authentication flow. For security reasons, this value cannot be retrieved via the API. Instead, the SHA-256 hash of the value is returned in the oauth2ClientSecretSha256 field. @InputOnly", "type": "string" }, - "selfLinkWithId": { - "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "oauth2ClientSecretSha256": { + "description": "[Output Only] SHA256 hash value for the field oauth2_client_secret above.", "type": "string" - }, - "status": { - "description": "[Output Only] The status of the autoscaler configuration. Current set of possible values: - PENDING: Autoscaler backend hasn't read new/updated configuration. - DELETING: Configuration is being deleted. - ACTIVE: Configuration is acknowledged to be effective. Some warnings might be present in the statusDetails field. - ERROR: Configuration has errors. Actionable for users. Details are present in the statusDetails field. New values might be added in the future.", - "enum": [ - "ACTIVE", - "DELETING", - "ERROR", - "PENDING" - ], - "enumDescriptions": [ - "Configuration is acknowledged to be effective", - "Configuration is being deleted", - "Configuration has errors. Actionable for users.", - "Autoscaler backend hasn't read new/updated configuration" - ], + } + }, + "type": "object" + }, + "BackendServiceIAPOAuth2ClientInfo": { + "id": "BackendServiceIAPOAuth2ClientInfo", + "properties": { + "applicationName": { + "description": "Application name to be used in OAuth consent screen.", "type": "string" }, - "statusDetails": { - "description": "[Output Only] Human-readable details about the current state of the autoscaler. Read the documentation for Commonly returned status messages for examples of status messages you might encounter.", - "items": { - "$ref": "AutoscalerStatusDetails" - }, - "type": "array" - }, - "target": { - "description": "URL of the managed instance group that this autoscaler will scale. This field is required when creating an autoscaler.", + "clientName": { + "description": "Name of the client to be generated. Optional - If not provided, the name will be autogenerated by the backend.", "type": "string" }, - "zone": { - "description": "[Output Only] URL of the zone where the instance group resides (for autoscalers living in zonal scope).", + "developerEmailAddress": { + "description": "Developer's information to be used in OAuth consent screen.", "type": "string" } }, "type": "object" }, - "AutoscalerAggregatedList": { - "id": "AutoscalerAggregatedList", + "BackendServiceList": { + "description": "Contains a list of BackendService resources.", + "id": "BackendServiceList", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "additionalProperties": { - "$ref": "AutoscalersScopedList", - "description": "[Output Only] Name of the scope containing this set of autoscalers." + "description": "A list of BackendService resources.", + "items": { + "$ref": "BackendService" }, - "description": "A list of AutoscalersScopedList resources.", - "type": "object" + "type": "array" }, "kind": { - "default": "compute#autoscalerAggregatedList", - "description": "[Output Only] Type of resource. Always compute#autoscalerAggregatedList for aggregated lists of autoscalers.", + "default": "compute#backendServiceList", + "description": "[Output Only] Type of resource. Always compute#backendServiceList for lists of backend services.", "type": "string" }, "nextPageToken": { @@ -47698,13 +51945,6 @@ "description": "[Output Only] Server-defined URL for this resource.", "type": "string" }, - "unreachables": { - "description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", - "items": { - "type": "string" - }, - "type": "array" - }, "warning": { "description": "[Output Only] Informational warning message.", "properties": { @@ -47732,6 +51972,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -47768,6 +52009,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -47792,6 +52034,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -47829,24 +52072,24 @@ }, "type": "object" }, - "AutoscalerList": { - "description": "Contains a list of Autoscaler resources.", - "id": "AutoscalerList", + "BackendServiceListUsable": { + "description": "Contains a list of usable BackendService resources.", + "id": "BackendServiceListUsable", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "description": "A list of Autoscaler resources.", + "description": "A list of BackendService resources.", "items": { - "$ref": "Autoscaler" + "$ref": "BackendService" }, "type": "array" }, "kind": { - "default": "compute#autoscalerList", - "description": "[Output Only] Type of resource. Always compute#autoscalerList for lists of autoscalers.", + "default": "compute#usableBackendServiceList", + "description": "[Output Only] Type of resource. Always compute#usableBackendServiceList for lists of usable backend services.", "type": "string" }, "nextPageToken": { @@ -47884,6 +52127,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -47920,6 +52164,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -47944,6 +52189,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -47981,76 +52227,238 @@ }, "type": "object" }, - "AutoscalerStatusDetails": { - "id": "AutoscalerStatusDetails", + "BackendServiceLocalityLoadBalancingPolicyConfig": { + "description": "Container for either a built-in LB policy supported by gRPC or Envoy or a custom one implemented by the end user.", + "id": "BackendServiceLocalityLoadBalancingPolicyConfig", "properties": { - "message": { - "description": "The status message.", + "customPolicy": { + "$ref": "BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy" + }, + "policy": { + "$ref": "BackendServiceLocalityLoadBalancingPolicyConfigPolicy" + } + }, + "type": "object" + }, + "BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy": { + "description": "The configuration for a custom policy implemented by the user and deployed with the client.", + "id": "BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy", + "properties": { + "data": { + "description": "An optional, arbitrary JSON object with configuration data, understood by a locally installed custom policy implementation.", "type": "string" }, - "type": { - "description": "The type of error, warning, or notice returned. Current set of possible values: - ALL_INSTANCES_UNHEALTHY (WARNING): All instances in the instance group are unhealthy (not in RUNNING state). - BACKEND_SERVICE_DOES_NOT_EXIST (ERROR): There is no backend service attached to the instance group. - CAPPED_AT_MAX_NUM_REPLICAS (WARNING): Autoscaler recommends a size greater than maxNumReplicas. - CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE (WARNING): The custom metric samples are not exported often enough to be a credible base for autoscaling. - CUSTOM_METRIC_INVALID (ERROR): The custom metric that was specified does not exist or does not have the necessary labels. - MIN_EQUALS_MAX (WARNING): The minNumReplicas is equal to maxNumReplicas. This means the autoscaler cannot add or remove instances from the instance group. - MISSING_CUSTOM_METRIC_DATA_POINTS (WARNING): The autoscaler did not receive any data from the custom metric configured for autoscaling. - MISSING_LOAD_BALANCING_DATA_POINTS (WARNING): The autoscaler is configured to scale based on a load balancing signal but the instance group has not received any requests from the load balancer. - MODE_OFF (WARNING): Autoscaling is turned off. The number of instances in the group won't change automatically. The autoscaling configuration is preserved. - MODE_ONLY_UP (WARNING): Autoscaling is in the \"Autoscale only out\" mode. The autoscaler can add instances but not remove any. - MORE_THAN_ONE_BACKEND_SERVICE (ERROR): The instance group cannot be autoscaled because it has more than one backend service attached to it. - NOT_ENOUGH_QUOTA_AVAILABLE (ERROR): There is insufficient quota for the necessary resources, such as CPU or number of instances. - REGION_RESOURCE_STOCKOUT (ERROR): Shown only for regional autoscalers: there is a resource stockout in the chosen region. - SCALING_TARGET_DOES_NOT_EXIST (ERROR): The target to be scaled does not exist. - UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION (ERROR): Autoscaling does not work with an HTTP/S load balancer that has been configured for maxRate. - ZONE_RESOURCE_STOCKOUT (ERROR): For zonal autoscalers: there is a resource stockout in the chosen zone. For regional autoscalers: in at least one of the zones you're using there is a resource stockout. New values might be added in the future. Some of the values might not be available in all API versions.", + "name": { + "description": "Identifies the custom policy. The value should match the name of a custom implementation registered on the gRPC clients. It should follow protocol buffer message naming conventions and include the full path (for example, myorg.CustomLbPolicy). The maximum length is 256 characters. Do not specify the same custom policy more than once for a backend. If you do, the configuration is rejected. For an example of how to use this field, see Use a custom policy.", + "type": "string" + } + }, + "type": "object" + }, + "BackendServiceLocalityLoadBalancingPolicyConfigPolicy": { + "description": "The configuration for a built-in load balancing policy.", + "id": "BackendServiceLocalityLoadBalancingPolicyConfigPolicy", + "properties": { + "name": { + "description": "The name of a locality load-balancing policy. Valid values include ROUND_ROBIN and, for Java clients, LEAST_REQUEST. For information about these values, see the description of localityLbPolicy. Do not specify the same policy more than once for a backend. If you do, the configuration is rejected.", "enum": [ - "ALL_INSTANCES_UNHEALTHY", - "BACKEND_SERVICE_DOES_NOT_EXIST", - "CAPPED_AT_MAX_NUM_REPLICAS", - "CUSTOM_METRIC_DATA_POINTS_TOO_SPARSE", - "CUSTOM_METRIC_INVALID", - "MIN_EQUALS_MAX", - "MISSING_CUSTOM_METRIC_DATA_POINTS", - "MISSING_LOAD_BALANCING_DATA_POINTS", - "MODE_OFF", - "MODE_ONLY_SCALE_OUT", - "MODE_ONLY_UP", - "MORE_THAN_ONE_BACKEND_SERVICE", - "NOT_ENOUGH_QUOTA_AVAILABLE", - "REGION_RESOURCE_STOCKOUT", - "SCALING_TARGET_DOES_NOT_EXIST", - "SCHEDULED_INSTANCES_GREATER_THAN_AUTOSCALER_MAX", - "SCHEDULED_INSTANCES_LESS_THAN_AUTOSCALER_MIN", - "UNKNOWN", - "UNSUPPORTED_MAX_RATE_LOAD_BALANCING_CONFIGURATION", - "ZONE_RESOURCE_STOCKOUT" + "INVALID_LB_POLICY", + "LEAST_REQUEST", + "MAGLEV", + "ORIGINAL_DESTINATION", + "RANDOM", + "RING_HASH", + "ROUND_ROBIN", + "WEIGHTED_MAGLEV", + "WEIGHTED_ROUND_ROBIN" ], "enumDescriptions": [ - "All instances in the instance group are unhealthy (not in RUNNING state).", - "There is no backend service attached to the instance group.", - "Autoscaler recommends a size greater than maxNumReplicas.", - "The custom metric samples are not exported often enough to be a credible base for autoscaling.", - "The custom metric that was specified does not exist or does not have the necessary labels.", - "The minNumReplicas is equal to maxNumReplicas. This means the autoscaler cannot add or remove instances from the instance group.", - "The autoscaler did not receive any data from the custom metric configured for autoscaling.", - "The autoscaler is configured to scale based on a load balancing signal but the instance group has not received any requests from the load balancer.", - "Autoscaling is turned off. The number of instances in the group won't change automatically. The autoscaling configuration is preserved.", - "Autoscaling is in the \"Autoscale only scale out\" mode. Instances in the group will be only added.", - "Autoscaling is in the \"Autoscale only out\" mode. Instances in the group will be only added.", - "The instance group cannot be autoscaled because it has more than one backend service attached to it.", - "There is insufficient quota for the necessary resources, such as CPU or number of instances.", - "Showed only for regional autoscalers: there is a resource stockout in the chosen region.", - "The target to be scaled does not exist.", - "For some scaling schedules minRequiredReplicas is greater than maxNumReplicas. Autoscaler always recommends at most maxNumReplicas instances.", - "For some scaling schedules minRequiredReplicas is less than minNumReplicas. Autoscaler always recommends at least minNumReplicas instances.", "", - "Autoscaling does not work with an HTTP/S load balancer that has been configured for maxRate.", - "For zonal autoscalers: there is a resource stockout in the chosen zone. For regional autoscalers: in at least one of the zones you're using there is a resource stockout." + "An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests.", + "This algorithm implements consistent hashing to backends. Maglev can be used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824", + "Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer.", + "The load balancer selects a random healthy host.", + "The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests.", + "This is a simple policy in which each healthy backend is selected in round robin order. This is the default.", + "Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing.", + "Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field X-Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the backends[].customMetrics fields." ], "type": "string" } }, "type": "object" }, - "AutoscalersScopedList": { - "id": "AutoscalersScopedList", + "BackendServiceLogConfig": { + "description": "The available logging options for the load balancer traffic served by this backend service.", + "id": "BackendServiceLogConfig", "properties": { - "autoscalers": { - "description": "[Output Only] A list of autoscalers contained in this scope.", + "enable": { + "description": "Denotes whether to enable logging for the load balancer traffic served by this backend service. The default value is false.", + "type": "boolean" + }, + "optional": { + "deprecated": true, + "description": "Deprecated in favor of optionalMode. This field can only be specified if logging is enabled for this backend service. Configures whether all, none or a subset of optional fields should be added to the reported logs. One of [INCLUDE_ALL_OPTIONAL, EXCLUDE_ALL_OPTIONAL, CUSTOM]. Default is EXCLUDE_ALL_OPTIONAL.", + "enum": [ + "CUSTOM", + "EXCLUDE_ALL_OPTIONAL", + "INCLUDE_ALL_OPTIONAL", + "UNSPECIFIED_OPTIONAL_MODE" + ], + "enumDescriptions": [ + "A subset of optional fields.", + "None optional fields.", + "All optional fields.", + "" + ], + "type": "string" + }, + "optionalFields": { + "description": "This field can only be specified if logging is enabled for this backend service and \"logConfig.optionalMode\" was set to CUSTOM. Contains a list of optional fields you want to include in the logs. For example: serverInstance, serverGkeDetails.cluster, serverGkeDetails.pod.podNamespace", "items": { - "$ref": "Autoscaler" + "type": "string" + }, + "type": "array" + }, + "optionalMode": { + "description": "This field can only be specified if logging is enabled for this backend service. Configures whether all, none or a subset of optional fields should be added to the reported logs. One of [INCLUDE_ALL_OPTIONAL, EXCLUDE_ALL_OPTIONAL, CUSTOM]. Default is EXCLUDE_ALL_OPTIONAL.", + "enum": [ + "CUSTOM", + "EXCLUDE_ALL_OPTIONAL", + "INCLUDE_ALL_OPTIONAL", + "UNSPECIFIED_OPTIONAL_MODE" + ], + "enumDescriptions": [ + "A subset of optional fields.", + "None optional fields.", + "All optional fields.", + "" + ], + "type": "string" + }, + "sampleRate": { + "description": "This field can only be specified if logging is enabled for this backend service. The value of the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported. The default value is 1.0.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "BackendServiceNetworkPassThroughLbTrafficPolicy": { + "id": "BackendServiceNetworkPassThroughLbTrafficPolicy", + "properties": { + "zonalAffinity": { + "$ref": "BackendServiceNetworkPassThroughLbTrafficPolicyZonalAffinity", + "description": "When configured, new connections are load balanced across healthy backend endpoints in the local zone." + } + }, + "type": "object" + }, + "BackendServiceNetworkPassThroughLbTrafficPolicyZonalAffinity": { + "id": "BackendServiceNetworkPassThroughLbTrafficPolicyZonalAffinity", + "properties": { + "spillover": { + "description": "This field indicates whether zonal affinity is enabled or not. The possible values are: - ZONAL_AFFINITY_DISABLED: Default Value. Zonal Affinity is disabled. The load balancer distributes new connections to all healthy backend endpoints across all zones. - ZONAL_AFFINITY_STAY_WITHIN_ZONE: Zonal Affinity is enabled. The load balancer distributes new connections to all healthy backend endpoints in the local zone only. If there are no healthy backend endpoints in the local zone, the load balancer distributes new connections to all backend endpoints in the local zone. - ZONAL_AFFINITY_SPILL_CROSS_ZONE: Zonal Affinity is enabled. The load balancer distributes new connections to all healthy backend endpoints in the local zone only. If there aren't enough healthy backend endpoints in the local zone, the load balancer distributes new connections to all healthy backend endpoints across all zones. ", + "enum": [ + "ZONAL_AFFINITY_DISABLED", + "ZONAL_AFFINITY_SPILL_CROSS_ZONE", + "ZONAL_AFFINITY_STAY_WITHIN_ZONE" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "spilloverRatio": { + "description": "The value of the field must be in [0, 1]. When the ratio of the count of healthy backend endpoints in a zone to the count of backend endpoints in that same zone is equal to or above this threshold, the load balancer distributes new connections to all healthy endpoints in the local zone only. When the ratio of the count of healthy backend endpoints in a zone to the count of backend endpoints in that same zone is below this threshold, the load balancer distributes all new connections to all healthy endpoints across all zones.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "BackendServiceReference": { + "id": "BackendServiceReference", + "properties": { + "backendService": { + "type": "string" + } + }, + "type": "object" + }, + "BackendServiceTlsSettings": { + "id": "BackendServiceTlsSettings", + "properties": { + "authenticationConfig": { + "description": "Reference to the BackendAuthenticationConfig resource from the networksecurity.googleapis.com namespace. Can be used in authenticating TLS connections to the backend, as specified by the authenticationMode field. Can only be specified if authenticationMode is not NONE.", + "type": "string" + }, + "sni": { + "description": "Server Name Indication - see RFC3546 section 3.1. If set, the load balancer sends this string as the SNI hostname in the TLS connection to the backend, and requires that this string match a Subject Alternative Name (SAN) in the backend's server certificate. With a Regional Internet NEG backend, if the SNI is specified here, the load balancer uses it regardless of whether the Regional Internet NEG is specified with FQDN or IP address and port. When both sni and subjectAltNames[] are specified, the load balancer matches the backend certificate's SAN only to subjectAltNames[].", + "type": "string" + }, + "subjectAltNames": { + "description": "A list of Subject Alternative Names (SANs) that the Load Balancer verifies during a TLS handshake with the backend. When the server presents its X.509 certificate to the Load Balancer, the Load Balancer inspects the certificate's SAN field, and requires that at least one SAN match one of the subjectAltNames in the list. This field is limited to 5 entries. When both sni and subjectAltNames[] are specified, the load balancer matches the backend certificate's SAN only to subjectAltNames[].", + "items": { + "$ref": "BackendServiceTlsSettingsSubjectAltName" + }, + "type": "array" + } + }, + "type": "object" + }, + "BackendServiceTlsSettingsSubjectAltName": { + "description": "A Subject Alternative Name that the load balancer matches against the SAN field in the TLS certificate provided by the backend, specified as either a DNS name or a URI, in accordance with RFC 5280 4.2.1.6", + "id": "BackendServiceTlsSettingsSubjectAltName", + "properties": { + "dnsName": { + "description": "The SAN specified as a DNS Name.", + "type": "string" + }, + "uniformResourceIdentifier": { + "description": "The SAN specified as a URI.", + "type": "string" + } + }, + "type": "object" + }, + "BackendServiceUsedBy": { + "id": "BackendServiceUsedBy", + "properties": { + "reference": { + "description": "[Output Only] Server-defined URL for resources referencing given BackendService like UrlMaps, TargetTcpProxies, TargetSslProxies and ForwardingRule.", + "type": "string" + } + }, + "type": "object" + }, + "BackendServicesGetEffectiveSecurityPoliciesResponse": { + "id": "BackendServicesGetEffectiveSecurityPoliciesResponse", + "properties": { + "securityPolicies": { + "description": "Effective security policies for the backend service.", + "items": { + "$ref": "SecurityPolicy" + }, + "type": "array" + } + }, + "type": "object" + }, + "BackendServicesScopedList": { + "id": "BackendServicesScopedList", + "properties": { + "backendServices": { + "description": "A list of BackendServices contained in this scope.", + "items": { + "$ref": "BackendService" }, "type": "array" }, "warning": { - "description": "[Output Only] Informational warning which replaces the list of autoscalers when the list is empty.", + "description": "Informational warning which replaces the list of backend services when the list is empty.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", @@ -48076,6 +52484,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -48112,6 +52521,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -48136,6 +52546,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -48173,333 +52584,751 @@ }, "type": "object" }, - "AutoscalingPolicy": { - "description": "Cloud Autoscaler policy.", - "id": "AutoscalingPolicy", + "BfdPacket": { + "id": "BfdPacket", + "properties": { + "authenticationPresent": { + "description": "The Authentication Present bit of the BFD packet. This is specified in section 4.1 of RFC5880", + "type": "boolean" + }, + "controlPlaneIndependent": { + "description": "The Control Plane Independent bit of the BFD packet. This is specified in section 4.1 of RFC5880", + "type": "boolean" + }, + "demand": { + "description": "The demand bit of the BFD packet. This is specified in section 4.1 of RFC5880", + "type": "boolean" + }, + "diagnostic": { + "description": "The diagnostic code specifies the local system's reason for the last change in session state. This allows remote systems to determine the reason that the previous session failed, for example. These diagnostic codes are specified in section 4.1 of RFC5880", + "enum": [ + "ADMINISTRATIVELY_DOWN", + "CONCATENATED_PATH_DOWN", + "CONTROL_DETECTION_TIME_EXPIRED", + "DIAGNOSTIC_UNSPECIFIED", + "ECHO_FUNCTION_FAILED", + "FORWARDING_PLANE_RESET", + "NEIGHBOR_SIGNALED_SESSION_DOWN", + "NO_DIAGNOSTIC", + "PATH_DOWN", + "REVERSE_CONCATENATED_PATH_DOWN" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "final": { + "description": "The Final bit of the BFD packet. This is specified in section 4.1 of RFC5880", + "type": "boolean" + }, + "length": { + "description": "The length of the BFD Control packet in bytes. This is specified in section 4.1 of RFC5880", + "format": "uint32", + "type": "integer" + }, + "minEchoRxIntervalMs": { + "description": "The Required Min Echo RX Interval value in the BFD packet. This is specified in section 4.1 of RFC5880", + "format": "uint32", + "type": "integer" + }, + "minRxIntervalMs": { + "description": "The Required Min RX Interval value in the BFD packet. This is specified in section 4.1 of RFC5880", + "format": "uint32", + "type": "integer" + }, + "minTxIntervalMs": { + "description": "The Desired Min TX Interval value in the BFD packet. This is specified in section 4.1 of RFC5880", + "format": "uint32", + "type": "integer" + }, + "multiplier": { + "description": "The detection time multiplier of the BFD packet. This is specified in section 4.1 of RFC5880", + "format": "uint32", + "type": "integer" + }, + "multipoint": { + "description": "The multipoint bit of the BFD packet. This is specified in section 4.1 of RFC5880", + "type": "boolean" + }, + "myDiscriminator": { + "description": "The My Discriminator value in the BFD packet. This is specified in section 4.1 of RFC5880", + "format": "uint32", + "type": "integer" + }, + "poll": { + "description": "The Poll bit of the BFD packet. This is specified in section 4.1 of RFC5880", + "type": "boolean" + }, + "state": { + "description": "The current BFD session state as seen by the transmitting system. These states are specified in section 4.1 of RFC5880", + "enum": [ + "ADMIN_DOWN", + "DOWN", + "INIT", + "STATE_UNSPECIFIED", + "UP" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "version": { + "description": "The version number of the BFD protocol, as specified in section 4.1 of RFC5880.", + "format": "uint32", + "type": "integer" + }, + "yourDiscriminator": { + "description": "The Your Discriminator value in the BFD packet. This is specified in section 4.1 of RFC5880", + "format": "uint32", + "type": "integer" + } + }, + "type": "object" + }, + "BfdStatus": { + "description": "Next free: 15", + "id": "BfdStatus", + "properties": { + "bfdSessionInitializationMode": { + "description": "The BFD session initialization mode for this BGP peer. If set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer.", + "enum": [ + "ACTIVE", + "DISABLED", + "PASSIVE" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "configUpdateTimestampMicros": { + "description": "Unix timestamp of the most recent config update.", + "format": "int64", + "type": "string" + }, + "controlPacketCounts": { + "$ref": "BfdStatusPacketCounts", + "description": "Control packet counts for the current BFD session." + }, + "controlPacketIntervals": { + "description": "Inter-packet time interval statistics for control packets.", + "items": { + "$ref": "PacketIntervals" + }, + "type": "array" + }, + "echoPacketCounts": { + "$ref": "BfdStatusPacketCounts", + "description": "Echo packet counts for the current BFD session." + }, + "echoPacketIntervals": { + "description": "Inter-packet time interval statistics for echo packets.", + "items": { + "$ref": "PacketIntervals" + }, + "type": "array" + }, + "localDiagnostic": { + "description": "The diagnostic code specifies the local system's reason for the last change in session state. This allows remote systems to determine the reason that the previous session failed, for example. These diagnostic codes are specified in section 4.1 of RFC5880", + "enum": [ + "ADMINISTRATIVELY_DOWN", + "CONCATENATED_PATH_DOWN", + "CONTROL_DETECTION_TIME_EXPIRED", + "DIAGNOSTIC_UNSPECIFIED", + "ECHO_FUNCTION_FAILED", + "FORWARDING_PLANE_RESET", + "NEIGHBOR_SIGNALED_SESSION_DOWN", + "NO_DIAGNOSTIC", + "PATH_DOWN", + "REVERSE_CONCATENATED_PATH_DOWN" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "localState": { + "description": "The current BFD session state as seen by the transmitting system. These states are specified in section 4.1 of RFC5880", + "enum": [ + "ADMIN_DOWN", + "DOWN", + "INIT", + "STATE_UNSPECIFIED", + "UP" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "negotiatedLocalControlTxIntervalMs": { + "description": "Negotiated transmit interval for control packets.", + "format": "uint32", + "type": "integer" + }, + "negotiatedLocalEchoTxIntervalMs": { + "description": "Negotiated transmit interval for echo packets.", + "format": "uint32", + "type": "integer" + }, + "rxPacket": { + "$ref": "BfdPacket", + "description": "The most recent Rx control packet for this BFD session." + }, + "txPacket": { + "$ref": "BfdPacket", + "description": "The most recent Tx control packet for this BFD session." + }, + "uptimeMs": { + "description": "Session uptime in milliseconds. Value will be 0 if session is not up.", + "format": "int64", + "type": "string" + }, + "usingEchoMode": { + "description": "Indicates if echo mode is currently being used.", + "type": "boolean" + } + }, + "type": "object" + }, + "BfdStatusPacketCounts": { + "id": "BfdStatusPacketCounts", "properties": { - "coolDownPeriodSec": { - "description": "The number of seconds that your application takes to initialize on a VM instance. This is referred to as the [initialization period](/compute/docs/autoscaler#cool_down_period). Specifying an accurate initialization period improves autoscaler decisions. For example, when scaling out, the autoscaler ignores data from VMs that are still initializing because those VMs might not yet represent normal usage of your application. The default initialization period is 60 seconds. Initialization periods might vary because of numerous factors. We recommend that you test how long your application takes to initialize. To do this, create a VM and time your application's startup process.", - "format": "int32", + "numRx": { + "description": "Number of packets received since the beginning of the current BFD session.", + "format": "uint32", "type": "integer" }, - "cpuUtilization": { - "$ref": "AutoscalingPolicyCpuUtilization", - "description": "Defines the CPU utilization policy that allows the autoscaler to scale based on the average CPU utilization of a managed instance group." + "numRxRejected": { + "description": "Number of packets received that were rejected because of errors since the beginning of the current BFD session.", + "format": "uint32", + "type": "integer" }, - "customMetricUtilizations": { - "description": "Configuration parameters of autoscaling based on a custom metric.", + "numRxSuccessful": { + "description": "Number of packets received that were successfully processed since the beginning of the current BFD session.", + "format": "uint32", + "type": "integer" + }, + "numTx": { + "description": "Number of packets transmitted since the beginning of the current BFD session.", + "format": "uint32", + "type": "integer" + } + }, + "type": "object" + }, + "BgpRoute": { + "id": "BgpRoute", + "properties": { + "asPaths": { + "description": "[Output only] AS-PATH for the route", "items": { - "$ref": "AutoscalingPolicyCustomMetricUtilization" + "$ref": "BgpRouteAsPath" }, "type": "array" }, - "loadBalancingUtilization": { - "$ref": "AutoscalingPolicyLoadBalancingUtilization", - "description": "Configuration parameters of autoscaling based on load balancer." + "communities": { + "description": "[Output only] BGP communities in human-readable A:B format.", + "items": { + "type": "string" + }, + "type": "array" }, - "maxNumReplicas": { - "description": "The maximum number of instances that the autoscaler can scale out to. This is required when creating or updating an autoscaler. The maximum number of replicas must not be lower than minimal number of replicas.", - "format": "int32", - "type": "integer" + "destination": { + "$ref": "BgpRouteNetworkLayerReachabilityInformation", + "description": "[Output only] Destination IP range for the route, in human-readable CIDR format" }, - "minNumReplicas": { - "description": "The minimum number of replicas that the autoscaler can scale in to. This cannot be less than 0. If not provided, autoscaler chooses a default value depending on maximum number of instances allowed.", - "format": "int32", + "med": { + "description": "[Output only] BGP multi-exit discriminator", + "format": "uint32", "type": "integer" }, - "mode": { - "description": "Defines the operating mode for this policy. The following modes are available: - OFF: Disables the autoscaler but maintains its configuration. - ONLY_SCALE_OUT: Restricts the autoscaler to add VM instances only. - ON: Enables all autoscaler activities according to its policy. For more information, see \"Turning off or restricting an autoscaler\"", + "origin": { + "description": "[Output only] BGP origin (EGP, IGP or INCOMPLETE)", "enum": [ - "OFF", - "ON", - "ONLY_SCALE_OUT", - "ONLY_UP" + "BGP_ORIGIN_EGP", + "BGP_ORIGIN_IGP", + "BGP_ORIGIN_INCOMPLETE" ], "enumDescriptions": [ - "Do not automatically scale the MIG in or out. The recommended_size field contains the size of MIG that would be set if the actuation mode was enabled.", - "Automatically scale the MIG in and out according to the policy.", - "Automatically create VMs according to the policy, but do not scale the MIG in.", - "Automatically create VMs according to the policy, but do not scale the MIG in." + "", + "", + "" ], "type": "string" - }, - "scaleDownControl": { - "$ref": "AutoscalingPolicyScaleDownControl" - }, - "scaleInControl": { - "$ref": "AutoscalingPolicyScaleInControl" - }, - "scalingSchedules": { - "additionalProperties": { - "$ref": "AutoscalingPolicyScalingSchedule" - }, - "description": "Scaling schedules defined for an autoscaler. Multiple schedules can be set on an autoscaler, and they can overlap. During overlapping periods the greatest min_required_replicas of all scaling schedules is applied. Up to 128 scaling schedules are allowed.", - "type": "object" } }, "type": "object" }, - "AutoscalingPolicyCpuUtilization": { - "description": "CPU utilization policy.", - "id": "AutoscalingPolicyCpuUtilization", + "BgpRouteAsPath": { + "id": "BgpRouteAsPath", "properties": { - "predictiveMethod": { - "description": "Indicates whether predictive autoscaling based on CPU metric is enabled. Valid values are: * NONE (default). No predictive method is used. The autoscaler scales the group to meet current demand based on real-time metrics. * OPTIMIZE_AVAILABILITY. Predictive autoscaling improves availability by monitoring daily and weekly load patterns and scaling out ahead of anticipated demand.", + "asns": { + "description": "[Output only] ASNs in the path segment. When type is SEQUENCE, these are ordered.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "type": { + "description": "[Output only] Type of AS-PATH segment (SEQUENCE or SET)", "enum": [ - "NONE", - "OPTIMIZE_AVAILABILITY", - "PREDICTIVE_METHOD_UNSPECIFIED", - "STANDARD" + "AS_PATH_TYPE_SEQUENCE", + "AS_PATH_TYPE_SET" ], "enumDescriptions": [ - "No predictive method is used. The autoscaler scales the group to meet current demand based on real-time metrics", - "Predictive autoscaling improves availability by monitoring daily and weekly load patterns and scaling out ahead of anticipated demand.", "", - "Predictive autoscaling improves availability by monitoring daily and weekly load patterns and scaling out ahead of anticipated demand. This value is being DEPRECATED - it won't be promoted to beta and v1. Use OPTIMIZE_AVAILABILITY instead." + "" ], "type": "string" + } + }, + "type": "object" + }, + "BgpRouteNetworkLayerReachabilityInformation": { + "description": "Network Layer Reachability Information (NLRI) for a route.", + "id": "BgpRouteNetworkLayerReachabilityInformation", + "properties": { + "pathId": { + "description": "If the BGP session supports multiple paths (RFC 7911), the path identifier for this route.", + "format": "uint32", + "type": "integer" }, - "utilizationTarget": { - "description": "The target CPU utilization that the autoscaler maintains. Must be a float value in the range (0, 1]. If not specified, the default is 0.6. If the CPU level is below the target utilization, the autoscaler scales in the number of instances until it reaches the minimum number of instances you specified or until the average CPU of your instances reaches the target utilization. If the average CPU is above the target utilization, the autoscaler scales out until it reaches the maximum number of instances you specified or until the average utilization reaches the target utilization.", - "format": "double", - "type": "number" + "prefix": { + "description": "Human readable CIDR notation for a prefix. E.g. 10.42.0.0/16.", + "type": "string" } }, "type": "object" }, - "AutoscalingPolicyCustomMetricUtilization": { - "description": "Custom utilization metric policy.", - "id": "AutoscalingPolicyCustomMetricUtilization", + "Binding": { + "description": "Associates `members`, or principals, with a `role`.", + "id": "Binding", "properties": { - "filter": { - "description": "A filter string, compatible with a Stackdriver Monitoring filter string for TimeSeries.list API call. This filter is used to select a specific TimeSeries for the purpose of autoscaling and to determine whether the metric is exporting per-instance or per-group data. For the filter to be valid for autoscaling purposes, the following rules apply: - You can only use the AND operator for joining selectors. - You can only use direct equality comparison operator (=) without any functions for each selector. - You can specify the metric in both the filter string and in the metric field. However, if specified in both places, the metric must be identical. - The monitored resource type determines what kind of values are expected for the metric. If it is a gce_instance, the autoscaler expects the metric to include a separate TimeSeries for each instance in a group. In such a case, you cannot filter on resource labels. If the resource type is any other value, the autoscaler expects this metric to contain values that apply to the entire autoscaled instance group and resource label filtering can be performed to point autoscaler at the correct TimeSeries to scale upon. This is called a *per-group metric* for the purpose of autoscaling. If not specified, the type defaults to gce_instance. Try to provide a filter that is selective enough to pick just one TimeSeries for the autoscaled group or for each of the instances (if you are using gce_instance resource type). If multiple TimeSeries are returned upon the query execution, the autoscaler will sum their respective values to obtain its scaling value.", + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", + "type": "string" + } + }, + "type": "object" + }, + "BulkInsertDiskResource": { + "description": "A transient resource used in compute.disks.bulkInsert and compute.regionDisks.bulkInsert. It is only used to process requests and is not persisted.", + "id": "BulkInsertDiskResource", + "properties": { + "sourceConsistencyGroupPolicy": { + "description": "The URL of the DiskConsistencyGroupPolicy for the group of disks to clone. This may be a full or partial URL, such as: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy ", + "type": "string" + } + }, + "type": "object" + }, + "BulkInsertInstanceResource": { + "description": "A transient resource used in compute.instances.bulkInsert and compute.regionInstances.bulkInsert . This resource is not persisted anywhere, it is used only for processing the requests.", + "id": "BulkInsertInstanceResource", + "properties": { + "count": { + "description": "The maximum number of instances to create.", + "format": "int64", "type": "string" }, - "metric": { - "description": "The identifier (type) of the Stackdriver Monitoring metric. The metric cannot have negative values. The metric must have a value type of INT64 or DOUBLE.", + "instanceProperties": { + "$ref": "InstanceProperties", + "description": "The instance properties defining the VM instances to be created. Required if sourceInstanceTemplate is not provided." + }, + "locationPolicy": { + "$ref": "LocationPolicy", + "description": "Policy for choosing target zone. For more information, see Create VMs in bulk." + }, + "minCount": { + "description": "The minimum number of instances to create. If no min_count is specified then count is used as the default value. If min_count instances cannot be created, then no instances will be created and instances already created will be deleted.", + "format": "int64", "type": "string" }, - "singleInstanceAssignment": { - "description": "If scaling is based on a per-group metric value that represents the total amount of work to be done or resource usage, set this value to an amount assigned for a single instance of the scaled group. Autoscaler keeps the number of instances proportional to the value of this metric. The metric itself does not change value due to group resizing. A good metric to use with the target is for example pubsub.googleapis.com/subscription/num_undelivered_messages or a custom metric exporting the total number of requests coming to your instances. A bad example would be a metric exporting an average or median latency, since this value can't include a chunk assignable to a single instance, it could be better used with utilization_target instead.", - "format": "double", - "type": "number" + "namePattern": { + "description": "The string pattern used for the names of the VMs. Either name_pattern or per_instance_properties must be set. The pattern must contain one continuous sequence of placeholder hash characters (#) with each character corresponding to one digit of the generated instance name. Example: a name_pattern of inst-#### generates instance names such as inst-0001 and inst-0002. If existing instances in the same project and zone have names that match the name pattern then the generated instance numbers start after the biggest existing number. For example, if there exists an instance with name inst-0050, then instance names generated using the pattern inst-#### begin with inst-0051. The name pattern placeholder #...# can contain up to 18 characters.", + "type": "string" }, - "utilizationTarget": { - "description": "The target value of the metric that autoscaler maintains. This must be a positive value. A utilization metric scales number of virtual machines handling requests to increase or decrease proportionally to the metric. For example, a good metric to use as a utilization_target is https://www.googleapis.com/compute/v1/instance/network/received_bytes_count. The autoscaler works to keep this value constant for each of the instances.", - "format": "double", - "type": "number" + "perInstanceProperties": { + "additionalProperties": { + "$ref": "BulkInsertInstanceResourcePerInstanceProperties" + }, + "description": "Per-instance properties to be set on individual instances. Keys of this map specify requested instance names. Can be empty if name_pattern is used.", + "type": "object" }, - "utilizationTargetType": { - "description": "Defines how target utilization value is expressed for a Stackdriver Monitoring metric. Either GAUGE, DELTA_PER_SECOND, or DELTA_PER_MINUTE.", - "enum": [ - "DELTA_PER_MINUTE", - "DELTA_PER_SECOND", - "GAUGE" - ], - "enumDescriptions": [ - "Sets the utilization target value for a cumulative or delta metric, expressed as the rate of growth per minute.", - "Sets the utilization target value for a cumulative or delta metric, expressed as the rate of growth per second.", - "Sets the utilization target value for a gauge metric. The autoscaler will collect the average utilization of the virtual machines from the last couple of minutes, and compare the value to the utilization target value to perform autoscaling." - ], + "sourceInstanceTemplate": { + "description": "Specifies the instance template from which to create instances. You may combine sourceInstanceTemplate with instanceProperties to override specific values from an existing instance template. Bulk API follows the semantics of JSON Merge Patch described by RFC 7396. It can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project /global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate This field is optional.", "type": "string" } }, "type": "object" }, - "AutoscalingPolicyLoadBalancingUtilization": { - "description": "Configuration parameters of autoscaling based on load balancing.", - "id": "AutoscalingPolicyLoadBalancingUtilization", + "BulkInsertInstanceResourcePerInstanceProperties": { + "description": "Per-instance properties to be set on individual instances. To be extended in the future.", + "id": "BulkInsertInstanceResourcePerInstanceProperties", "properties": { - "utilizationTarget": { - "description": "Fraction of backend capacity utilization (set in HTTP(S) load balancing configuration) that the autoscaler maintains. Must be a positive float value. If not defined, the default is 0.8.", - "format": "double", - "type": "number" + "hostname": { + "description": "Specifies the hostname of the instance. More details in: https://cloud.google.com/compute/docs/instances/custom-hostname-vm#naming_convention", + "type": "string" + }, + "name": { + "description": "This field is only temporary. It will be removed. Do not use it.", + "type": "string" } }, "type": "object" }, - "AutoscalingPolicyScaleDownControl": { - "description": "Configuration that allows for slower scale in so that even if Autoscaler recommends an abrupt scale in of a MIG, it will be throttled as specified by the parameters below.", - "id": "AutoscalingPolicyScaleDownControl", + "BulkInsertOperationStatus": { + "id": "BulkInsertOperationStatus", "properties": { - "maxScaledDownReplicas": { - "$ref": "FixedOrPercent", - "description": "Maximum allowed number (or %) of VMs that can be deducted from the peak recommendation during the window autoscaler looks at when computing recommendations. Possibly all these VMs can be deleted at once so user service needs to be prepared to lose that many VMs in one step." + "createdVmCount": { + "description": "[Output Only] Count of VMs successfully created so far.", + "format": "int32", + "type": "integer" }, - "timeWindowSec": { - "description": "How far back autoscaling looks when computing recommendations to include directives regarding slower scale in, as described above.", + "deletedVmCount": { + "description": "[Output Only] Count of VMs that got deleted during rollback.", + "format": "int32", + "type": "integer" + }, + "failedToCreateVmCount": { + "description": "[Output Only] Count of VMs that started creating but encountered an error.", + "format": "int32", + "type": "integer" + }, + "status": { + "description": "[Output Only] Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back.", + "enum": [ + "CREATING", + "DONE", + "ROLLING_BACK", + "STATUS_UNSPECIFIED" + ], + "enumDescriptions": [ + "Rolling forward - creating VMs.", + "Done", + "Rolling back - cleaning up after an error.", + "" + ], + "type": "string" + }, + "targetVmCount": { + "description": "[Output Only] Count of VMs originally planned to be created.", "format": "int32", "type": "integer" } }, "type": "object" }, - "AutoscalingPolicyScaleInControl": { - "description": "Configuration that allows for slower scale in so that even if Autoscaler recommends an abrupt scale in of a MIG, it will be throttled as specified by the parameters below.", - "id": "AutoscalingPolicyScaleInControl", + "BundledLocalSsds": { + "id": "BundledLocalSsds", "properties": { - "maxScaledInReplicas": { - "$ref": "FixedOrPercent", - "description": "Maximum allowed number (or %) of VMs that can be deducted from the peak recommendation during the window autoscaler looks at when computing recommendations. Possibly all these VMs can be deleted at once so user service needs to be prepared to lose that many VMs in one step." + "defaultInterface": { + "description": "The default disk interface if the interface is not specified.", + "type": "string" }, - "timeWindowSec": { - "description": "How far back autoscaling looks when computing recommendations to include directives regarding slower scale in, as described above.", + "partitionCount": { + "description": "The number of partitions.", "format": "int32", "type": "integer" } }, "type": "object" }, - "AutoscalingPolicyScalingSchedule": { - "description": "Scaling based on user-defined schedule. The message describes a single scaling schedule. A scaling schedule changes the minimum number of VM instances an autoscaler can recommend, which can trigger scaling out.", - "id": "AutoscalingPolicyScalingSchedule", + "CacheInvalidationRule": { + "id": "CacheInvalidationRule", "properties": { - "description": { - "description": "A description of a scaling schedule.", + "cacheTags": { + "description": "Not implemented.", + "items": { + "type": "string" + }, + "type": "array" + }, + "host": { + "description": "If set, this invalidation rule will only apply to requests with a Host header matching host.", "type": "string" }, - "disabled": { - "description": "A boolean value that specifies whether a scaling schedule can influence autoscaler recommendations. If set to true, then a scaling schedule has no effect. This field is optional, and its value is false by default.", + "path": { + "type": "string" + } + }, + "type": "object" + }, + "CacheKeyPolicy": { + "description": "Message containing what to include in the cache key for a request for Cloud CDN.", + "id": "CacheKeyPolicy", + "properties": { + "includeHost": { + "description": "If true, requests to different hosts will be cached separately.", "type": "boolean" }, - "durationSec": { - "description": "The duration of time intervals, in seconds, for which this scaling schedule is to run. The minimum allowed value is 300. This field is required.", - "format": "int32", - "type": "integer" + "includeHttpHeaders": { + "description": "Allows HTTP request headers (by name) to be used in the cache key.", + "items": { + "type": "string" + }, + "type": "array" }, - "minRequiredReplicas": { - "description": "The minimum number of VM instances that the autoscaler will recommend in time intervals starting according to schedule. This field is required.", - "format": "int32", - "type": "integer" + "includeNamedCookies": { + "description": "Allows HTTP cookies (by name) to be used in the cache key. The name=value pair will be used in the cache key Cloud CDN generates.", + "items": { + "type": "string" + }, + "type": "array" }, - "schedule": { - "description": "The start timestamps of time intervals when this scaling schedule is to provide a scaling signal. This field uses the extended cron format (with an optional year field). The expression can describe a single timestamp if the optional year is set, in which case the scaling schedule runs once. The schedule is interpreted with respect to time_zone. This field is required. Note: These timestamps only describe when autoscaler starts providing the scaling signal. The VMs need additional time to become serving.", + "includeProtocol": { + "description": "If true, http and https requests will be cached separately.", + "type": "boolean" + }, + "includeQueryString": { + "description": "If true, include query string parameters in the cache key according to query_string_whitelist and query_string_blacklist. If neither is set, the entire query string will be included. If false, the query string will be excluded from the cache key entirely.", + "type": "boolean" + }, + "queryStringBlacklist": { + "description": "Names of query string parameters to exclude in cache keys. All other parameters will be included. Either specify query_string_whitelist or query_string_blacklist, not both. '&' and '=' will be percent encoded and not treated as delimiters.", + "items": { + "type": "string" + }, + "type": "array" + }, + "queryStringWhitelist": { + "description": "Names of query string parameters to include in cache keys. All other parameters will be excluded. Either specify query_string_whitelist or query_string_blacklist, not both. '&' and '=' will be percent encoded and not treated as delimiters.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "CalendarModeAdviceRequest": { + "description": "A request to recommend the best way to consume the specified resources in the future.", + "id": "CalendarModeAdviceRequest", + "properties": { + "futureResourcesSpecs": { + "additionalProperties": { + "$ref": "FutureResourcesSpec" + }, + "description": "Specification of resources to create in the future. The key of the map is an arbitrary string specified by the caller. Value of the map is a specification of required resources and their constraints. Currently only one value is allowed in this map.", + "type": "object" + } + }, + "type": "object" + }, + "CalendarModeAdviceResponse": { + "description": "A response containing the recommended way of creating the specified resources in the future. It contains (will contain) multiple recommendations that can be analyzed by the customer and the best one can be picked.", + "id": "CalendarModeAdviceResponse", + "properties": { + "recommendations": { + "description": "Recommendations where, how and when to create the requested resources in order to maximize their obtainability and minimize cost.", + "items": { + "$ref": "CalendarModeRecommendation" + }, + "type": "array" + } + }, + "type": "object" + }, + "CalendarModeRecommendation": { + "description": "A single recommendation to create requested resources. Contains detailed recommendations for every future resources specification specified in CalendarModeAdviceRequest.", + "id": "CalendarModeRecommendation", + "properties": { + "recommendationsPerSpec": { + "additionalProperties": { + "$ref": "FutureResourcesRecommendation" + }, + "description": "Recommendations for every future resource specification passed in CalendarModeAdviceRequest. Keys of the map correspond to keys specified in the request.", + "type": "object" + } + }, + "type": "object" + }, + "CallCredentials": { + "description": "[Deprecated] gRPC call credentials to access the SDS server. gRPC call credentials to access the SDS server.", + "id": "CallCredentials", + "properties": { + "callCredentialType": { + "description": "The type of call credentials to use for GRPC requests to the SDS server. This field can be set to one of the following: - GCE_VM: The local GCE VM service account credentials are used to access the SDS server. - FROM_PLUGIN: Custom authenticator credentials are used to access the SDS server.", + "enum": [ + "FROM_PLUGIN", + "GCE_VM", + "INVALID" + ], + "enumDescriptions": [ + "Custom authenticator credentials are used to access the SDS server.", + "The local GCE VM service account credentials are used to access the SDS server.", + "" + ], "type": "string" }, - "timeZone": { - "description": "The time zone to use when interpreting the schedule. The value of this field must be a time zone name from the tz database: https://en.wikipedia.org/wiki/Tz_database. This field is assigned a default value of \"UTC\" if left empty.", + "fromPlugin": { + "$ref": "MetadataCredentialsFromPlugin", + "description": "Custom authenticator credentials. Valid if callCredentialType is FROM_PLUGIN." + } + }, + "type": "object" + }, + "ChannelCredentials": { + "description": "[Deprecated] gRPC channel credentials to access the SDS server. gRPC channel credentials to access the SDS server.", + "id": "ChannelCredentials", + "properties": { + "certificates": { + "$ref": "TlsCertificatePaths", + "description": "The call credentials to access the SDS server." + }, + "channelCredentialType": { + "description": "The channel credentials to access the SDS server. This field can be set to one of the following: CERTIFICATES: Use TLS certificates to access the SDS server. GCE_VM: Use local GCE VM credentials to access the SDS server.", + "enum": [ + "CERTIFICATES", + "GCE_VM", + "INVALID" + ], + "enumDescriptions": [ + "Use TLS certificates to access the SDS server.", + "Use local GCE VM credentials to access the SDS server.", + "" + ], "type": "string" } }, "type": "object" }, - "Backend": { - "description": "Message containing information of one individual backend.", - "id": "Backend", + "CircuitBreakers": { + "description": "Settings controlling the volume of requests, connections and retries to this backend service.", + "id": "CircuitBreakers", "properties": { - "balancingMode": { - "description": "Specifies how to determine whether the backend of a load balancer can handle additional traffic or is fully loaded. For usage guidelines, see Connection balancing mode. Backends must use compatible balancing modes. For more information, see Supported balancing modes and target capacity settings and Restrictions and guidance for instance groups. Note: Currently, if you use the API to configure incompatible balancing modes, the configuration might be accepted even though it has no impact and is ignored. Specifically, Backend.maxUtilization is ignored when Backend.balancingMode is RATE. In the future, this incompatible combination will be rejected.", - "enum": [ - "CONNECTION", - "CUSTOM_METRICS", - "RATE", - "UTILIZATION" - ], - "enumDescriptions": [ - "Balance based on the number of simultaneous connections.", - "Based on custom defined and reported metrics.", - "Balance based on requests per second (RPS).", - "Balance based on the backend utilization." - ], - "type": "string" - }, - "capacityScaler": { - "description": "A multiplier applied to the backend's target capacity of its balancing mode. The default value is 1, which means the group serves up to 100% of its configured capacity (depending on balancingMode). A setting of 0 means the group is completely drained, offering 0% of its available capacity. The valid ranges are 0.0 and [0.1,1.0]. You cannot configure a setting larger than 0 and smaller than 0.1. You cannot configure a setting of 0 when there is only one backend attached to the backend service. Not available with backends that don't support using a balancingMode. This includes backends such as global internet NEGs, regional serverless NEGs, and PSC NEGs.", - "format": "float", - "type": "number" - }, - "customMetrics": { - "description": "List of custom metrics that are used for CUSTOM_METRICS BalancingMode.", - "items": { - "$ref": "BackendCustomMetric" - }, - "type": "array" - }, - "description": { - "description": "An optional description of this resource. Provide this property when you create the resource.", - "type": "string" - }, - "failover": { - "description": "This field designates whether this is a failover backend. More than one failover backend can be configured for a given BackendService.", - "type": "boolean" - }, - "group": { - "description": "The fully-qualified URL of an instance group or network endpoint group (NEG) resource. To determine what types of backends a load balancer supports, see the [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service#backends). You must use the *fully-qualified* URL (starting with https://www.googleapis.com/) to specify the instance group or NEG. Partial URLs are not supported.", - "type": "string" + "connectTimeout": { + "$ref": "Duration", + "description": "The timeout for new network connections to hosts." }, "maxConnections": { - "description": "Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.", + "description": "The maximum number of connections to the backend service. If not specified, there is no limit. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", "format": "int32", "type": "integer" }, - "maxConnectionsPerEndpoint": { - "description": "Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.", + "maxPendingRequests": { + "description": "The maximum number of pending requests allowed to the backend service. If not specified, there is no limit. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", "format": "int32", "type": "integer" }, - "maxConnectionsPerInstance": { - "description": "Defines a target maximum number of simultaneous connections. For usage guidelines, see Connection balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is RATE.", + "maxRequests": { + "description": "The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.", "format": "int32", "type": "integer" }, - "maxRate": { - "description": "Defines a maximum number of HTTP requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.", + "maxRequestsPerConnection": { + "description": "Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", "format": "int32", "type": "integer" }, - "maxRatePerEndpoint": { - "description": "Defines a maximum target for requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.", - "format": "float", - "type": "number" - }, - "maxRatePerInstance": { - "description": "Defines a maximum target for requests per second (RPS). For usage guidelines, see Rate balancing mode and Utilization balancing mode. Not available if the backend's balancingMode is CONNECTION.", - "format": "float", - "type": "number" - }, - "maxUtilization": { - "description": "Optional parameter to define a target capacity for the UTILIZATION balancing mode. The valid range is [0.0, 1.0]. For usage guidelines, see Utilization balancing mode.", - "format": "float", - "type": "number" + "maxRetries": { + "description": "The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ClientTlsSettings": { + "description": "[Deprecated] The client side authentication settings for connection originating from the backend service. the backend service.", + "id": "ClientTlsSettings", + "properties": { + "clientTlsContext": { + "$ref": "TlsContext", + "description": "Configures the mechanism to obtain client-side security certificates and identity information. This field is only applicable when mode is set to MUTUAL." }, - "preference": { - "description": "This field indicates whether this backend should be fully utilized before sending traffic to backends with default preference. The possible values are: - PREFERRED: Backends with this preference level will be filled up to their capacity limits first, based on RTT. - DEFAULT: If preferred backends don't have enough capacity, backends in this layer would be used and traffic would be assigned based on the load balancing algorithm you use. This is the default ", + "mode": { + "description": "Indicates whether connections to this port should be secured using TLS. The value of this field determines how TLS is enforced. This can be set to one of the following values: DISABLE: Do not setup a TLS connection to the backends. SIMPLE: Originate a TLS connection to the backends. MUTUAL: Secure connections to the backends using mutual TLS by presenting client certificates for authentication.", "enum": [ - "DEFAULT", - "PREFERENCE_UNSPECIFIED", - "PREFERRED" + "DISABLE", + "INVALID", + "MUTUAL", + "SIMPLE" ], "enumDescriptions": [ - "No preference.", - "If preference is unspecified, we set it to the DEFAULT value", - "Traffic will be sent to this backend first." + "Do not setup a TLS connection to the backends.", + "", + "Secure connections to the backends using mutual TLS by presenting client certificates for authentication.", + "Originate a TLS connection to the backends." ], "type": "string" + }, + "sni": { + "description": "SNI string to present to the server during TLS handshake. This field is applicable only when mode is SIMPLE or MUTUAL.", + "type": "string" + }, + "subjectAltNames": { + "description": "A list of alternate names to verify the subject identity in the certificate.If specified, the proxy will verify that the server certificate's subject alt name matches one of the specified values. This field is applicable only when mode is SIMPLE or MUTUAL.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "BackendBucket": { - "description": "Represents a Cloud Storage Bucket resource. This Cloud Storage bucket resource is referenced by a URL map of a load balancer. For more information, read Backend Buckets.", - "id": "BackendBucket", + "Commitment": { + "description": "Represents a regional Commitment resource. Creating a commitment resource means that you are purchasing a committed use contract with an explicit start and end time. You can create commitments based on vCPUs and memory usage and receive discounted rates. For full details, read Signing Up for Committed Use Discounts.", + "id": "Commitment", "properties": { - "bucketName": { - "description": "Cloud Storage bucket name.", - "type": "string" - }, - "cdnPolicy": { - "$ref": "BackendBucketCdnPolicy", - "description": "Cloud CDN configuration for this BackendBucket." + "autoRenew": { + "description": "Specifies whether to enable automatic renewal for the commitment. The default value is false if not specified. The field can be updated until the day of the commitment expiration at 12:00am PST. If the field is set to true, the commitment will be automatically renewed for either one or three years according to the terms of the existing commitment.", + "type": "boolean" }, - "compressionMode": { - "description": "Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header.", + "category": { + "description": "The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.", "enum": [ - "AUTOMATIC", - "DISABLED" + "CATEGORY_UNSPECIFIED", + "LICENSE", + "MACHINE" ], "enumDescriptions": [ - "Automatically uses the best compression based on the Accept-Encoding header sent by the client.", - "Disables compression. Existing compressed responses cached by Cloud CDN will not be served to clients." + "", + "", + "" ], "type": "string" }, @@ -48507,367 +53336,212 @@ "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" }, - "customResponseHeaders": { - "description": "Headers that the Application Load Balancer should add to proxied responses.", - "items": { - "type": "string" - }, - "type": "array" + "customEndTimestamp": { + "description": "[Input Only] Optional, specifies the CUD end time requested by the customer in RFC3339 text format. Needed when the customer wants CUD's end date is later than the start date + term duration.", + "type": "string" }, "description": { - "description": "An optional textual description of the resource; provided by the client when the resource is created.", + "description": "An optional description of this resource. Provide this property when you create the resource.", "type": "string" }, - "edgeSecurityPolicy": { - "description": "[Output Only] The resource URL for the edge security policy associated with this backend bucket.", + "endTimestamp": { + "description": "[Output Only] Commitment end time in RFC3339 text format.", "type": "string" }, - "enableCdn": { - "description": "If true, enable Cloud CDN for this BackendBucket.", - "type": "boolean" + "existingReservations": { + "description": "Specifies the already existing reservations to attach to the Commitment. This field is optional, and it can be a full or partial URL. For example, the following are valid URLs to an reservation: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /reservations/reservation - projects/project/zones/zone/reservations/reservation ", + "items": { + "type": "string" + }, + "type": "array" }, "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", "format": "uint64", "type": "string" }, "kind": { - "default": "compute#backendBucket", - "description": "Type of the resource.", - "type": "string" - }, - "loadBalancingScheme": { - "description": "The value can only be INTERNAL_MANAGED for cross-region internal layer 7 load balancer. If loadBalancingScheme is not specified, the backend bucket can be used by classic global external load balancers, or global application external load balancers, or both.", - "enum": [ - "INTERNAL_MANAGED" - ], - "enumDescriptions": [ - "Signifies that this will be used for internal Application Load Balancers." - ], - "type": "string" - }, - "name": { - "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for the resource.", + "default": "compute#commitment", + "description": "[Output Only] Type of the resource. Always compute#commitment for commitments.", "type": "string" }, - "selfLinkWithId": { - "description": "[Output Only] Server-defined URL for this resource with the resource id.", - "type": "string" + "licenseResource": { + "$ref": "LicenseResourceCommitment", + "description": "The license specification required as part of a license commitment." }, - "usedBy": { - "description": "[Output Only] List of resources referencing that backend bucket.", - "items": { - "$ref": "BackendBucketUsedBy" - }, - "type": "array" - } - }, - "type": "object" - }, - "BackendBucketCdnPolicy": { - "description": "Message containing Cloud CDN configuration for a backend bucket.", - "id": "BackendBucketCdnPolicy", - "properties": { - "bypassCacheOnRequestHeaders": { - "description": "Bypass the cache when the specified request headers are matched - e.g. Pragma or Authorization headers. Up to 5 headers can be specified. The cache is bypassed for all cdnPolicy.cacheMode settings.", + "mergeSourceCommitments": { + "description": "List of source commitments to be merged into a new commitment.", "items": { - "$ref": "BackendBucketCdnPolicyBypassCacheOnRequestHeader" + "type": "string" }, "type": "array" }, - "cacheKeyPolicy": { - "$ref": "BackendBucketCdnPolicyCacheKeyPolicy", - "description": "The CacheKeyPolicy for this CdnPolicy." + "name": { + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" }, - "cacheMode": { - "description": "Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached.", + "plan": { + "description": "The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).", "enum": [ - "CACHE_ALL_STATIC", - "FORCE_CACHE_ALL", - "INVALID_CACHE_MODE", - "USE_ORIGIN_HEADERS" + "INVALID", + "THIRTY_SIX_MONTH", + "TWELVE_MONTH" ], "enumDescriptions": [ - "Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached.", - "Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content.", "", - "Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server." + "", + "" ], "type": "string" }, - "clientTtl": { - "description": "Specifies a separate client (e.g. browser client) maximum TTL. This is used to clamp the max-age (or Expires) value sent to the client. With FORCE_CACHE_ALL, the lesser of client_ttl and default_ttl is used for the response max-age directive, along with a \"public\" directive. For cacheable content in CACHE_ALL_STATIC mode, client_ttl clamps the max-age from the origin (if specified), or else sets the response max-age directive to the lesser of the client_ttl and default_ttl, and also ensures a \"public\" cache-control directive is present. If a client TTL is not specified, a default value (1 hour) will be used. The maximum allowed value is 31,622,400s (1 year).", - "format": "int32", - "type": "integer" - }, - "defaultTtl": { - "description": "Specifies the default TTL for cached content served by this origin for responses that do not have an existing valid TTL (max-age or s-max-age). Setting a TTL of \"0\" means \"always revalidate\". The value of defaultTTL cannot be set to a value greater than that of maxTTL, but can be equal. When the cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set in all responses. The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", - "format": "int32", - "type": "integer" - }, - "maxTtl": { - "description": "Specifies the maximum allowed TTL for cached content served by this origin. Cache directives that attempt to set a max-age or s-maxage higher than this, or an Expires header more than maxTTL seconds in the future will be capped at the value of maxTTL, as if it were the value of an s-maxage Cache-Control directive. Headers sent to the client will not be modified. Setting a TTL of \"0\" means \"always revalidate\". The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", - "format": "int32", - "type": "integer" - }, - "negativeCaching": { - "description": "Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects. This can reduce the load on your origin and improve end-user experience by reducing response latency. When the cache mode is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS, negative caching applies to responses with the specified response code that lack any Cache-Control, Expires, or Pragma: no-cache directives. When the cache mode is set to FORCE_CACHE_ALL, negative caching applies to all responses with the specified response code, and override any caching headers. By default, Cloud CDN will apply the following default TTLs to these status codes: HTTP 300 (Multiple Choice), 301, 308 (Permanent Redirects): 10m HTTP 404 (Not Found), 410 (Gone), 451 (Unavailable For Legal Reasons): 120s HTTP 405 (Method Not Found), 421 (Misdirected Request), 501 (Not Implemented): 60s. These defaults can be overridden in negative_caching_policy.", - "type": "boolean" - }, - "negativeCachingPolicy": { - "description": "Sets a cache TTL for the specified HTTP status code. negative_caching must be enabled to configure negative_caching_policy. Omitting the policy and leaving negative_caching enabled will use Cloud CDN's default cache TTLs. Note that when specifying an explicit negative_caching_policy, you should take care to specify a cache TTL for all response codes that you wish to cache. Cloud CDN will not apply any default negative caching when a policy exists.", - "items": { - "$ref": "BackendBucketCdnPolicyNegativeCachingPolicy" - }, - "type": "array" - }, - "requestCoalescing": { - "description": "If true then Cloud CDN will combine multiple concurrent cache fill requests into a small number of requests to the origin.", - "type": "boolean" - }, - "serveWhileStale": { - "description": "Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache. This setting defines the default \"max-stale\" duration for any cached responses that do not specify a max-stale directive. Stale responses that exceed the TTL configured here will not be served. The default limit (max-stale) is 86400s (1 day), which will allow stale content to be served up to this limit beyond the max-age (or s-max-age) of a cached response. The maximum allowed value is 604800 (1 week). Set this to zero (0) to disable serve-while-stale.", - "format": "int32", - "type": "integer" - }, - "signedUrlCacheMaxAgeSec": { - "description": "Maximum number of seconds the response to a signed URL request will be considered fresh. After this time period, the response will be revalidated before being served. Defaults to 1hr (3600s). When serving responses to signed URL requests, Cloud CDN will internally behave as though all responses from this backend had a \"Cache-Control: public, max-age=[TTL]\" header, regardless of any existing Cache-Control header. The actual headers served in responses will not be altered.", - "format": "int64", + "region": { + "description": "[Output Only] URL of the region where this commitment may be used.", "type": "string" }, - "signedUrlKeyNames": { - "description": "[Output Only] Names of the keys for signing request URLs.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "BackendBucketCdnPolicyBypassCacheOnRequestHeader": { - "description": "Bypass the cache when the specified request headers are present, e.g. Pragma or Authorization headers. Values are case insensitive. The presence of such a header overrides the cache_mode setting.", - "id": "BackendBucketCdnPolicyBypassCacheOnRequestHeader", - "properties": { - "headerName": { - "description": "The header field name to match on when bypassing cache. Values are case-insensitive.", - "type": "string" - } - }, - "type": "object" - }, - "BackendBucketCdnPolicyCacheKeyPolicy": { - "description": "Message containing what to include in the cache key for a request for Cloud CDN.", - "id": "BackendBucketCdnPolicyCacheKeyPolicy", - "properties": { - "includeHttpHeaders": { - "description": "Allows HTTP request headers (by name) to be used in the cache key.", + "reservations": { + "description": "List of create-on-create reservations for this commitment.", "items": { - "type": "string" + "$ref": "Reservation" }, "type": "array" }, - "queryStringWhitelist": { - "description": "Names of query string parameters to include in cache keys. Default parameters are always included. '&' and '=' will be percent encoded and not treated as delimiters.", + "resourceStatus": { + "$ref": "CommitmentResourceStatus", + "description": "[Output Only] Status information for Commitment resource." + }, + "resources": { + "description": "A list of commitment amounts for particular resources. Note that VCPU and MEMORY resource commitments must occur together.", "items": { - "type": "string" + "$ref": "ResourceCommitment" }, "type": "array" - } - }, - "type": "object" - }, - "BackendBucketCdnPolicyNegativeCachingPolicy": { - "description": "Specify CDN TTLs for response error codes.", - "id": "BackendBucketCdnPolicyNegativeCachingPolicy", - "properties": { - "code": { - "description": "The HTTP status code to define a TTL against. Only HTTP status codes 300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values, and you cannot specify a status code more than once.", - "format": "int32", - "type": "integer" }, - "ttl": { - "description": "The TTL (in seconds) for which to cache responses with the corresponding status code. The maximum allowed value is 1800s (30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "BackendBucketList": { - "description": "Contains a list of BackendBucket resources.", - "id": "BackendBucketList", - "properties": { - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", "type": "string" }, - "items": { - "description": "A list of BackendBucket resources.", - "items": { - "$ref": "BackendBucket" - }, - "type": "array" - }, - "kind": { - "default": "compute#backendBucketList", - "description": "Type of resource.", + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource with the resource id.", "type": "string" }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "splitSourceCommitment": { + "description": "Source commitment to be split into a new commitment.", "type": "string" }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", + "startTimestamp": { + "description": "[Output Only] Commitment start time in RFC3339 text format.", "type": "string" }, - "warning": { - "description": "[Output Only] Informational warning message.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" + "status": { + "description": "[Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED.", + "enum": [ + "ACTIVE", + "CANCELED_EARLY_TERMINATION", + "CANCELING", + "CANCELLED", + "CREATING", + "EXPIRED", + "NOT_YET_ACTIVE" + ], + "enumDescriptions": [ + "", + "", + "", + "Deprecate CANCELED status. Will use separate status to differentiate cancel by mergeCud or manual cancellation.", + "", + "", + "" + ], + "type": "string" + }, + "statusMessage": { + "description": "[Output Only] An optional, human-readable explanation of the status.", + "type": "string" + }, + "type": { + "description": "The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines.", + "enum": [ + "ACCELERATOR_OPTIMIZED", + "ACCELERATOR_OPTIMIZED_A3", + "ACCELERATOR_OPTIMIZED_A3_MEGA", + "ACCELERATOR_OPTIMIZED_A3_ULTRA", + "COMPUTE_OPTIMIZED", + "COMPUTE_OPTIMIZED_C2D", + "COMPUTE_OPTIMIZED_C3", + "COMPUTE_OPTIMIZED_C3D", + "COMPUTE_OPTIMIZED_H3", + "GENERAL_PURPOSE", + "GENERAL_PURPOSE_C4", + "GENERAL_PURPOSE_C4A", + "GENERAL_PURPOSE_E2", + "GENERAL_PURPOSE_N2", + "GENERAL_PURPOSE_N2D", + "GENERAL_PURPOSE_N4", + "GENERAL_PURPOSE_T2D", + "GRAPHICS_OPTIMIZED", + "MEMORY_OPTIMIZED", + "MEMORY_OPTIMIZED_M3", + "MEMORY_OPTIMIZED_M4", + "MEMORY_OPTIMIZED_X4", + "MEMORY_OPTIMIZED_X4_16TB", + "MEMORY_OPTIMIZED_X4_24TB", + "MEMORY_OPTIMIZED_X4_32TB", + "STORAGE_OPTIMIZED_Z3", + "TYPE_UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" } }, "type": "object" }, - "BackendBucketListUsable": { - "id": "BackendBucketListUsable", + "CommitmentAggregatedList": { + "id": "CommitmentAggregatedList", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "description": "A list of BackendBucket resources.", - "items": { - "$ref": "BackendBucket" + "additionalProperties": { + "$ref": "CommitmentsScopedList", + "description": "[Output Only] Name of the scope containing this set of commitments." }, - "type": "array" + "description": "A list of CommitmentsScopedList resources.", + "type": "object" }, "kind": { - "default": "compute#usableBackendBucketList", - "description": "[Output Only] Type of resource. Always compute#usableBackendBucketList for lists of usable backend buckets.", + "default": "compute#commitmentAggregatedList", + "description": "[Output Only] Type of resource. Always compute#commitmentAggregatedList for aggregated lists of commitments.", "type": "string" }, "nextPageToken": { @@ -48878,6 +53552,13 @@ "description": "[Output Only] Server-defined URL for this resource.", "type": "string" }, + "unreachables": { + "description": "[Output Only] Unreachable resources.", + "items": { + "type": "string" + }, + "type": "array" + }, "warning": { "description": "[Output Only] Informational warning message.", "properties": { @@ -48905,6 +53586,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -48941,6 +53623,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -48964,461 +53647,63 @@ "The route's next hop instance does not have a status of RUNNING.", "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "BackendBucketUsedBy": { - "id": "BackendBucketUsedBy", - "properties": { - "reference": { - "description": "[Output Only] Server-defined URL for UrlMaps referencing that BackendBucket.", - "type": "string" - } - }, - "type": "object" - }, - "BackendCustomMetric": { - "description": "Custom Metrics are used for CUSTOM_METRICS balancing_mode.", - "id": "BackendCustomMetric", - "properties": { - "dryRun": { - "description": "If true, the metric data is collected and reported to Cloud Monitoring, but is not used for load balancing.", - "type": "boolean" - }, - "maxUtilization": { - "description": "Optional parameter to define a target utilization for the Custom Metrics balancing mode. The valid range is [0.0, 1.0].", - "format": "float", - "type": "number" - }, - "name": { - "description": "Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", - "type": "string" - } - }, - "type": "object" - }, - "BackendService": { - "description": "Represents a Backend Service resource. A backend service defines how Google Cloud load balancers distribute traffic. The backend service configuration contains a set of values, such as the protocol used to connect to backends, various distribution and session settings, health checks, and timeouts. These settings provide fine-grained control over how your load balancer behaves. Most of the settings have default values that allow for easy configuration if you need to get started quickly. Backend services in Google Compute Engine can be either regionally or globally scoped. * [Global](https://cloud.google.com/compute/docs/reference/rest/alpha/backendServices) * [Regional](https://cloud.google.com/compute/docs/reference/rest/alpha/regionBackendServices) For more information, see Backend Services.", - "id": "BackendService", - "properties": { - "affinityCookieTtlSec": { - "description": "Lifetime of cookies in seconds. This setting is applicable to Application Load Balancers and Traffic Director and requires GENERATED_COOKIE or HTTP_COOKIE session affinity. If set to 0, the cookie is non-persistent and lasts only until the end of the browser session (or equivalent). The maximum allowed value is two weeks (1,209,600). Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", - "format": "int32", - "type": "integer" - }, - "backends": { - "description": "The list of backends that serve this BackendService.", - "items": { - "$ref": "Backend" - }, - "type": "array" - }, - "cdnPolicy": { - "$ref": "BackendServiceCdnPolicy", - "description": "Cloud CDN configuration for this BackendService. Only available for specified load balancer types." - }, - "circuitBreakers": { - "$ref": "CircuitBreakers" - }, - "compressionMode": { - "description": "Compress text responses using Brotli or gzip compression, based on the client's Accept-Encoding header.", - "enum": [ - "AUTOMATIC", - "DISABLED" - ], - "enumDescriptions": [ - "Automatically uses the best compression based on the Accept-Encoding header sent by the client.", - "Disables compression. Existing compressed responses cached by Cloud CDN will not be served to clients." - ], - "type": "string" - }, - "connectionDraining": { - "$ref": "ConnectionDraining" - }, - "connectionTrackingPolicy": { - "$ref": "BackendServiceConnectionTrackingPolicy", - "description": "Connection Tracking configuration for this BackendService. Connection tracking policy settings are only available for external passthrough Network Load Balancers and internal passthrough Network Load Balancers." - }, - "consistentHash": { - "$ref": "ConsistentHashLoadBalancerSettings", - "description": "Consistent Hash-based load balancing can be used to provide soft session affinity based on HTTP headers, cookies or other properties. This load balancing policy is applicable only for HTTP connections. The affinity to a particular destination host will be lost when one or more hosts are added/removed from the destination service. This field specifies parameters that control consistent hashing. This field is only applicable when localityLbPolicy is set to MAGLEV or RING_HASH. This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED. " - }, - "creationTimestamp": { - "description": "[Output Only] Creation timestamp in RFC3339 text format.", - "type": "string" - }, - "customMetrics": { - "description": "List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN locality_lb_policy.", - "items": { - "$ref": "BackendServiceCustomMetric" - }, - "type": "array" - }, - "customRequestHeaders": { - "description": "Headers that the load balancer adds to proxied requests. See [Creating custom headers](https://cloud.google.com/load-balancing/docs/custom-headers).", - "items": { - "type": "string" - }, - "type": "array" - }, - "customResponseHeaders": { - "description": "Headers that the load balancer adds to proxied responses. See [Creating custom headers](https://cloud.google.com/load-balancing/docs/custom-headers).", - "items": { - "type": "string" - }, - "type": "array" - }, - "description": { - "description": "An optional description of this resource. Provide this property when you create the resource.", - "type": "string" - }, - "edgeSecurityPolicy": { - "description": "[Output Only] The resource URL for the edge security policy associated with this backend service.", - "type": "string" - }, - "enableCDN": { - "description": "If true, enables Cloud CDN for the backend service of a global external Application Load Balancer.", - "type": "boolean" - }, - "externalManagedMigrationState": { - "description": "Specifies the canary migration state. Possible values are PREPARE, TEST_BY_PERCENTAGE, and TEST_ALL_TRAFFIC. To begin the migration from EXTERNAL to EXTERNAL_MANAGED, the state must be changed to PREPARE. The state must be changed to TEST_ALL_TRAFFIC before the loadBalancingScheme can be changed to EXTERNAL_MANAGED. Optionally, the TEST_BY_PERCENTAGE state can be used to migrate traffic by percentage using externalManagedMigrationTestingPercentage. Rolling back a migration requires the states to be set in reverse order. So changing the scheme from EXTERNAL_MANAGED to EXTERNAL requires the state to be set to TEST_ALL_TRAFFIC at the same time. Optionally, the TEST_BY_PERCENTAGE state can be used to migrate some traffic back to EXTERNAL or PREPARE can be used to migrate all traffic back to EXTERNAL.", - "enum": [ - "PREPARE", - "TEST_ALL_TRAFFIC", - "TEST_BY_PERCENTAGE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "externalManagedMigrationTestingPercentage": { - "description": "Determines the fraction of requests that should be processed by the Global external Application Load Balancer. The value of this field must be in the range [0, 100]. Session affinity options will slightly affect this routing behavior, for more details, see: Session Affinity. This value can only be set if the loadBalancingScheme in the BackendService is set to EXTERNAL (when using the classic Application Load Balancer) and the migration state is TEST_BY_PERCENTAGE.", - "format": "float", - "type": "number" - }, - "failoverPolicy": { - "$ref": "BackendServiceFailoverPolicy", - "description": "Requires at least one backend instance group to be defined as a backup (failover) backend. For load balancers that have configurable failover: [Internal passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview)." - }, - "fingerprint": { - "description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a BackendService. An up-to-date fingerprint must be provided in order to update the BackendService, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a BackendService.", - "format": "byte", - "type": "string" - }, - "haPolicy": { - "$ref": "BackendServiceHAPolicy", - "description": "Configuring haPolicy is not supported." - }, - "healthChecks": { - "description": "The list of URLs to the healthChecks, httpHealthChecks (legacy), or httpsHealthChecks (legacy) resource for health checking this backend service. Not all backend services support legacy health checks. See Load balancer guide. Currently, at most one health check can be specified for each backend service. Backend services with instance group or zonal NEG backends must have a health check. Backend services with internet or serverless NEG backends must not have a health check.", - "items": { - "type": "string" - }, - "type": "array" - }, - "iap": { - "$ref": "BackendServiceIAP", - "description": "The configurations for Identity-Aware Proxy on this resource. Not available for internal passthrough Network Load Balancers and external passthrough Network Load Balancers." - }, - "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", - "format": "uint64", - "type": "string" - }, - "ipAddressSelectionPolicy": { - "description": "Specifies a preference for traffic sent from the proxy to the backend (or from the client to the backend for proxyless gRPC). The possible values are: - IPV4_ONLY: Only send IPv4 traffic to the backends of the backend service (Instance Group, Managed Instance Group, Network Endpoint Group), regardless of traffic from the client to the proxy. Only IPv4 health checks are used to check the health of the backends. This is the default setting. - PREFER_IPV6: Prioritize the connection to the endpoint's IPv6 address over its IPv4 address (provided there is a healthy IPv6 address). - IPV6_ONLY: Only send IPv6 traffic to the backends of the backend service (Instance Group, Managed Instance Group, Network Endpoint Group), regardless of traffic from the client to the proxy. Only IPv6 health checks are used to check the health of the backends. This field is applicable to either: - Advanced global external Application Load Balancer (load balancing scheme EXTERNAL_MANAGED), - Regional external Application Load Balancer, - Internal proxy Network Load Balancer (load balancing scheme INTERNAL_MANAGED), - Regional internal Application Load Balancer (load balancing scheme INTERNAL_MANAGED), - Traffic Director with Envoy proxies and proxyless gRPC (load balancing scheme INTERNAL_SELF_MANAGED). ", - "enum": [ - "IPV4_ONLY", - "IPV6_ONLY", - "IP_ADDRESS_SELECTION_POLICY_UNSPECIFIED", - "PREFER_IPV6" - ], - "enumDescriptions": [ - "Only send IPv4 traffic to the backends of the Backend Service (Instance Group, Managed Instance Group, Network Endpoint Group) regardless of traffic from the client to the proxy. Only IPv4 health-checks are used to check the health of the backends. This is the default setting.", - "Only send IPv6 traffic to the backends of the Backend Service (Instance Group, Managed Instance Group, Network Endpoint Group) regardless of traffic from the client to the proxy. Only IPv6 health-checks are used to check the health of the backends.", - "Unspecified IP address selection policy.", - "Prioritize the connection to the endpoints IPv6 address over its IPv4 address (provided there is a healthy IPv6 address)." - ], - "type": "string" - }, - "kind": { - "default": "compute#backendService", - "description": "[Output Only] Type of resource. Always compute#backendService for backend services.", - "type": "string" - }, - "loadBalancingScheme": { - "description": "Specifies the load balancer type. A backend service created for one type of load balancer cannot be used with another. For more information, refer to Choosing a load balancer.", - "enum": [ - "EXTERNAL", - "EXTERNAL_MANAGED", - "INTERNAL", - "INTERNAL_MANAGED", - "INTERNAL_SELF_MANAGED", - "INVALID_LOAD_BALANCING_SCHEME" - ], - "enumDescriptions": [ - "Signifies that this will be used for classic Application Load Balancers, global external proxy Network Load Balancers, or external passthrough Network Load Balancers.", - "Signifies that this will be used for global external Application Load Balancers, regional external Application Load Balancers, or regional external proxy Network Load Balancers.", - "Signifies that this will be used for internal passthrough Network Load Balancers.", - "Signifies that this will be used for internal Application Load Balancers.", - "Signifies that this will be used by Traffic Director.", - "" - ], - "type": "string" - }, - "localityLbPolicies": { - "description": "A list of locality load-balancing policies to be used in order of preference. When you use localityLbPolicies, you must set at least one value for either the localityLbPolicies[].policy or the localityLbPolicies[].customPolicy field. localityLbPolicies overrides any value set in the localityLbPolicy field. For an example of how to use this field, see Define a list of preferred policies. Caution: This field and its children are intended for use in a service mesh that includes gRPC clients only. Envoy proxies can't use backend services that have this configuration.", - "items": { - "$ref": "BackendServiceLocalityLoadBalancingPolicyConfig" - }, - "type": "array" - }, - "localityLbPolicy": { - "description": "The load balancing algorithm used within the scope of the locality. The possible values are: - ROUND_ROBIN: This is a simple policy in which each healthy backend is selected in round robin order. This is the default. - LEAST_REQUEST: An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests. - RING_HASH: The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests. - RANDOM: The load balancer selects a random healthy host. - ORIGINAL_DESTINATION: Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer. - MAGLEV: used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824 This field is applicable to either: - A regional backend service with the service_protocol set to HTTP, HTTPS, or HTTP2, and load_balancing_scheme set to INTERNAL_MANAGED. - A global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED, INTERNAL_MANAGED, or EXTERNAL_MANAGED. If sessionAffinity is not configured—that is, if session affinity remains at the default value of NONE—then the default value for localityLbPolicy is ROUND_ROBIN. If session affinity is set to a value other than NONE, then the default value for localityLbPolicy is MAGLEV. Only ROUND_ROBIN and RING_HASH are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", - "enum": [ - "INVALID_LB_POLICY", - "LEAST_REQUEST", - "MAGLEV", - "ORIGINAL_DESTINATION", - "RANDOM", - "RING_HASH", - "ROUND_ROBIN", - "WEIGHTED_MAGLEV", - "WEIGHTED_ROUND_ROBIN" - ], - "enumDescriptions": [ - "", - "An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests.", - "This algorithm implements consistent hashing to backends. Maglev can be used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824", - "Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer.", - "The load balancer selects a random healthy host.", - "The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests.", - "This is a simple policy in which each healthy backend is selected in round robin order. This is the default.", - "Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing.", - "Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field X-Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the backends[].customMetrics fields." - ], - "type": "string" - }, - "logConfig": { - "$ref": "BackendServiceLogConfig", - "description": "This field denotes the logging options for the load balancer traffic served by this backend service. If logging is enabled, logs will be exported to Stackdriver." - }, - "maxStreamDuration": { - "$ref": "Duration", - "description": "Specifies the default maximum duration (timeout) for streams to this service. Duration is computed from the beginning of the stream until the response has been completely processed, including all retries. A stream that does not complete in this duration is closed. If not specified, there will be no timeout limit, i.e. the maximum duration is infinite. This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service. This field is only allowed when the loadBalancingScheme of the backend service is INTERNAL_SELF_MANAGED." - }, - "metadatas": { - "additionalProperties": { - "type": "string" - }, - "description": "Deployment metadata associated with the resource to be set by a GKE hub controller and read by the backend RCTH", - "type": "object" - }, - "name": { - "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" - }, - "network": { - "description": "The URL of the network to which this backend service belongs. This field can only be specified when the load balancing scheme is set to INTERNAL.", - "type": "string" - }, - "networkPassThroughLbTrafficPolicy": { - "$ref": "BackendServiceNetworkPassThroughLbTrafficPolicy", - "description": "Configures traffic steering properties of internal passthrough Network Load Balancers." - }, - "outlierDetection": { - "$ref": "OutlierDetection", - "description": "Settings controlling the ejection of unhealthy backend endpoints from the load balancing pool of each individual proxy instance that processes the traffic for the given backend service. If not set, this feature is considered disabled. Results of the outlier detection algorithm (ejection of endpoints from the load balancing pool and returning them back to the pool) are executed independently by each proxy instance of the load balancer. In most cases, more than one proxy instance handles the traffic received by a backend service. Thus, it is possible that an unhealthy endpoint is detected and ejected by only some of the proxies, and while this happens, other proxies may continue to send requests to the same unhealthy endpoint until they detect and eject the unhealthy endpoint. Applicable backend endpoints can be: - VM instances in an Instance Group - Endpoints in a Zonal NEG (GCE_VM_IP, GCE_VM_IP_PORT) - Endpoints in a Hybrid Connectivity NEG (NON_GCP_PRIVATE_IP_PORT) - Serverless NEGs, that resolve to Cloud Run, App Engine, or Cloud Functions Services - Private Service Connect NEGs, that resolve to Google-managed regional API endpoints or managed services published using Private Service Connect Applicable backend service types can be: - A global backend service with the loadBalancingScheme set to INTERNAL_SELF_MANAGED or EXTERNAL_MANAGED. - A regional backend service with the serviceProtocol set to HTTP, HTTPS, or HTTP2, and loadBalancingScheme set to INTERNAL_MANAGED or EXTERNAL_MANAGED. Not supported for Serverless NEGs. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true." - }, - "port": { - "deprecated": true, - "description": "Deprecated in favor of portName. The TCP port to connect on the backend. The default value is 80. For internal passthrough Network Load Balancers and external passthrough Network Load Balancers, omit port.", - "format": "int32", - "type": "integer" - }, - "portName": { - "description": "A named port on a backend instance group representing the port for communication to the backend VMs in that group. The named port must be [defined on each backend instance group](https://cloud.google.com/load-balancing/docs/backend-service#named_ports). This parameter has no meaning if the backends are NEGs. For internal passthrough Network Load Balancers and external passthrough Network Load Balancers, omit port_name.", - "type": "string" - }, - "protocol": { - "description": "The protocol this BackendService uses to communicate with backends. Possible values are HTTP, HTTPS, HTTP2, TCP, SSL, UDP or GRPC. depending on the chosen load balancer or Traffic Director configuration. Refer to the documentation for the load balancers or for Traffic Director for more information. Must be set to GRPC when the backend service is referenced by a URL map that is bound to target gRPC proxy.", - "enum": [ - "ALL", - "GRPC", - "HTTP", - "HTTP2", - "HTTPS", - "SSL", - "TCP", - "UDP", - "UNSPECIFIED" - ], - "enumDescriptions": [ - "ALL includes TCP, UDP, ICMP, ESP, AH and SCTP. Note that this should never be used together with target_xx_proxies.", - "gRPC (available for Traffic Director).", - "", - "HTTP/2 with SSL.", - "", - "TCP proxying with SSL.", - "TCP proxying or TCP pass-through.", - "UDP.", - "If a Backend Service has UNSPECIFIED as its protocol, it can be used with any L3/L4 Forwarding Rules." - ], - "type": "string" - }, - "region": { - "description": "[Output Only] URL of the region where the regional backend service resides. This field is not applicable to global backend services. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", - "type": "string" - }, - "securityPolicy": { - "description": "[Output Only] The resource URL for the security policy associated with this backend service.", - "type": "string" - }, - "securitySettings": { - "$ref": "SecuritySettings", - "description": "This field specifies the security settings that apply to this backend service. This field is applicable to a global backend service with the load_balancing_scheme set to INTERNAL_SELF_MANAGED." - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for the resource.", - "type": "string" - }, - "selfLinkWithId": { - "description": "[Output Only] Server-defined URL for this resource with the resource id.", - "type": "string" - }, - "serviceBindings": { - "description": "URLs of networkservices.ServiceBinding resources. Can only be set if load balancing scheme is INTERNAL_SELF_MANAGED. If set, lists of backends and health checks must be both empty.", - "items": { - "type": "string" - }, - "type": "array" - }, - "serviceLbPolicy": { - "description": "URL to networkservices.ServiceLbPolicy resource. Can only be set if load balancing scheme is EXTERNAL, EXTERNAL_MANAGED, INTERNAL_MANAGED or INTERNAL_SELF_MANAGED and the scope is global.", - "type": "string" - }, - "sessionAffinity": { - "description": "Type of session affinity to use. The default is NONE. Only NONE and HEADER_FIELD are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. For more details, see: [Session Affinity](https://cloud.google.com/load-balancing/docs/backend-service#session_affinity).", - "enum": [ - "CLIENT_IP", - "CLIENT_IP_NO_DESTINATION", - "CLIENT_IP_PORT_PROTO", - "CLIENT_IP_PROTO", - "GENERATED_COOKIE", - "HEADER_FIELD", - "HTTP_COOKIE", - "NONE", - "STRONG_COOKIE_AFFINITY" - ], - "enumDescriptions": [ - "2-tuple hash on packet's source and destination IP addresses. Connections from the same source IP address to the same destination IP address will be served by the same backend VM while that VM remains healthy.", - "1-tuple hash only on packet's source IP address. Connections from the same source IP address will be served by the same backend VM while that VM remains healthy. This option can only be used for Internal TCP/UDP Load Balancing.", - "5-tuple hash on packet's source and destination IP addresses, IP protocol, and source and destination ports. Connections for the same IP protocol from the same source IP address and port to the same destination IP address and port will be served by the same backend VM while that VM remains healthy. This option cannot be used for HTTP(S) load balancing.", - "3-tuple hash on packet's source and destination IP addresses, and IP protocol. Connections for the same IP protocol from the same source IP address to the same destination IP address will be served by the same backend VM while that VM remains healthy. This option cannot be used for HTTP(S) load balancing.", - "Hash based on a cookie generated by the L7 loadbalancer. Only valid for HTTP(S) load balancing.", - "The hash is based on a user specified header field.", - "The hash is based on a user provided cookie.", - "No session affinity. Connections from the same client IP may go to any instance in the pool.", - "Strong cookie-based affinity. Connections bearing the same cookie will be served by the same backend VM while that VM remains healthy, as long as the cookie has not expired." - ], - "type": "string" - }, - "strongSessionAffinityCookie": { - "$ref": "BackendServiceHttpCookie", - "description": "Describes the HTTP cookie used for stateful session affinity. This field is applicable and required if the sessionAffinity is set to STRONG_COOKIE_AFFINITY." - }, - "subsetting": { - "$ref": "Subsetting" - }, - "timeoutSec": { - "description": "The backend service timeout has a different meaning depending on the type of load balancer. For more information see, Backend service settings. The default is 30 seconds. The full range of timeout values allowed goes from 1 through 2,147,483,647 seconds. This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration.", - "format": "int32", - "type": "integer" - }, - "tlsSettings": { - "$ref": "BackendServiceTlsSettings", - "description": "Configuration for Backend Authenticated TLS and mTLS. May only be specified when the backend protocol is SSL, HTTPS or HTTP2." - }, - "usedBy": { - "description": "[Output Only] List of resources referencing given backend service.", - "items": { - "$ref": "BackendServiceUsedBy" + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } }, - "type": "array" - }, - "vpcNetworkScope": { - "description": "The network scope of the backends that can be added to the backend service. This field can be either GLOBAL_VPC_NETWORK or REGIONAL_VPC_NETWORK. A backend service with the VPC scope set to GLOBAL_VPC_NETWORK is only allowed to have backends in global VPC networks. When the VPC scope is set to REGIONAL_VPC_NETWORK the backend service is only allowed to have backends in regional networks in the same scope as the backend service. Note: if not specified then GLOBAL_VPC_NETWORK will be used.", - "enum": [ - "GLOBAL_VPC_NETWORK", - "REGIONAL_VPC_NETWORK" - ], - "enumDescriptions": [ - "The backend service can only have backends in global VPCs", - "The backend service can only have backends in regional VPCs" - ], - "type": "string" + "type": "object" } }, "type": "object" }, - "BackendServiceAggregatedList": { - "description": "Contains a list of BackendServicesScopedList.", - "id": "BackendServiceAggregatedList", + "CommitmentList": { + "description": "Contains a list of Commitment resources.", + "id": "CommitmentList", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "additionalProperties": { - "$ref": "BackendServicesScopedList", - "description": "Name of the scope containing this set of BackendServices." + "description": "A list of Commitment resources.", + "items": { + "$ref": "Commitment" }, - "description": "A list of BackendServicesScopedList resources.", - "type": "object" + "type": "array" }, "kind": { - "default": "compute#backendServiceAggregatedList", - "description": "Type of resource.", + "default": "compute#commitmentList", + "description": "[Output Only] Type of resource. Always compute#commitmentList for lists of commitments.", "type": "string" }, "nextPageToken": { @@ -49429,13 +53714,6 @@ "description": "[Output Only] Server-defined URL for this resource.", "type": "string" }, - "unreachables": { - "description": "[Output Only] Unreachable resources.", - "items": { - "type": "string" - }, - "type": "array" - }, "warning": { "description": "[Output Only] Informational warning message.", "properties": { @@ -49463,6 +53741,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -49499,6 +53778,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -49523,6 +53803,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -49560,359 +53841,59 @@ }, "type": "object" }, - "BackendServiceCdnPolicy": { - "description": "Message containing Cloud CDN configuration for a backend service.", - "id": "BackendServiceCdnPolicy", - "properties": { - "bypassCacheOnRequestHeaders": { - "description": "Bypass the cache when the specified request headers are matched - e.g. Pragma or Authorization headers. Up to 5 headers can be specified. The cache is bypassed for all cdnPolicy.cacheMode settings.", - "items": { - "$ref": "BackendServiceCdnPolicyBypassCacheOnRequestHeader" - }, - "type": "array" - }, - "cacheKeyPolicy": { - "$ref": "CacheKeyPolicy", - "description": "The CacheKeyPolicy for this CdnPolicy." - }, - "cacheMode": { - "description": "Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached.", - "enum": [ - "CACHE_ALL_STATIC", - "FORCE_CACHE_ALL", - "INVALID_CACHE_MODE", - "USE_ORIGIN_HEADERS" - ], - "enumDescriptions": [ - "Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached.", - "Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content.", - "", - "Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server." - ], - "type": "string" - }, - "clientTtl": { - "description": "Specifies a separate client (e.g. browser client) maximum TTL. This is used to clamp the max-age (or Expires) value sent to the client. With FORCE_CACHE_ALL, the lesser of client_ttl and default_ttl is used for the response max-age directive, along with a \"public\" directive. For cacheable content in CACHE_ALL_STATIC mode, client_ttl clamps the max-age from the origin (if specified), or else sets the response max-age directive to the lesser of the client_ttl and default_ttl, and also ensures a \"public\" cache-control directive is present. If a client TTL is not specified, a default value (1 hour) will be used. The maximum allowed value is 31,622,400s (1 year).", - "format": "int32", - "type": "integer" - }, - "defaultTtl": { - "description": "Specifies the default TTL for cached content served by this origin for responses that do not have an existing valid TTL (max-age or s-max-age). Setting a TTL of \"0\" means \"always revalidate\". The value of defaultTTL cannot be set to a value greater than that of maxTTL, but can be equal. When the cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set in all responses. The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", - "format": "int32", - "type": "integer" - }, - "maxTtl": { - "description": "Specifies the maximum allowed TTL for cached content served by this origin. Cache directives that attempt to set a max-age or s-maxage higher than this, or an Expires header more than maxTTL seconds in the future will be capped at the value of maxTTL, as if it were the value of an s-maxage Cache-Control directive. Headers sent to the client will not be modified. Setting a TTL of \"0\" means \"always revalidate\". The maximum allowed value is 31,622,400s (1 year), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", - "format": "int32", - "type": "integer" - }, - "negativeCaching": { - "description": "Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects. This can reduce the load on your origin and improve end-user experience by reducing response latency. When the cache mode is set to CACHE_ALL_STATIC or USE_ORIGIN_HEADERS, negative caching applies to responses with the specified response code that lack any Cache-Control, Expires, or Pragma: no-cache directives. When the cache mode is set to FORCE_CACHE_ALL, negative caching applies to all responses with the specified response code, and override any caching headers. By default, Cloud CDN will apply the following default TTLs to these status codes: HTTP 300 (Multiple Choice), 301, 308 (Permanent Redirects): 10m HTTP 404 (Not Found), 410 (Gone), 451 (Unavailable For Legal Reasons): 120s HTTP 405 (Method Not Found), 421 (Misdirected Request), 501 (Not Implemented): 60s. These defaults can be overridden in negative_caching_policy.", - "type": "boolean" - }, - "negativeCachingPolicy": { - "description": "Sets a cache TTL for the specified HTTP status code. negative_caching must be enabled to configure negative_caching_policy. Omitting the policy and leaving negative_caching enabled will use Cloud CDN's default cache TTLs. Note that when specifying an explicit negative_caching_policy, you should take care to specify a cache TTL for all response codes that you wish to cache. Cloud CDN will not apply any default negative caching when a policy exists.", - "items": { - "$ref": "BackendServiceCdnPolicyNegativeCachingPolicy" - }, - "type": "array" - }, - "requestCoalescing": { - "description": "If true then Cloud CDN will combine multiple concurrent cache fill requests into a small number of requests to the origin.", - "type": "boolean" - }, - "serveWhileStale": { - "description": "Serve existing content from the cache (if available) when revalidating content with the origin, or when an error is encountered when refreshing the cache. This setting defines the default \"max-stale\" duration for any cached responses that do not specify a max-stale directive. Stale responses that exceed the TTL configured here will not be served. The default limit (max-stale) is 86400s (1 day), which will allow stale content to be served up to this limit beyond the max-age (or s-max-age) of a cached response. The maximum allowed value is 604800 (1 week). Set this to zero (0) to disable serve-while-stale.", - "format": "int32", - "type": "integer" - }, - "signedUrlCacheMaxAgeSec": { - "description": "Maximum number of seconds the response to a signed URL request will be considered fresh. After this time period, the response will be revalidated before being served. Defaults to 1hr (3600s). When serving responses to signed URL requests, Cloud CDN will internally behave as though all responses from this backend had a \"Cache-Control: public, max-age=[TTL]\" header, regardless of any existing Cache-Control header. The actual headers served in responses will not be altered.", - "format": "int64", - "type": "string" - }, - "signedUrlKeyNames": { - "description": "[Output Only] Names of the keys for signing request URLs.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "BackendServiceCdnPolicyBypassCacheOnRequestHeader": { - "description": "Bypass the cache when the specified request headers are present, e.g. Pragma or Authorization headers. Values are case insensitive. The presence of such a header overrides the cache_mode setting.", - "id": "BackendServiceCdnPolicyBypassCacheOnRequestHeader", - "properties": { - "headerName": { - "description": "The header field name to match on when bypassing cache. Values are case-insensitive.", - "type": "string" - } - }, - "type": "object" - }, - "BackendServiceCdnPolicyNegativeCachingPolicy": { - "description": "Specify CDN TTLs for response error codes.", - "id": "BackendServiceCdnPolicyNegativeCachingPolicy", - "properties": { - "code": { - "description": "The HTTP status code to define a TTL against. Only HTTP status codes 300, 301, 302, 307, 308, 404, 405, 410, 421, 451 and 501 are can be specified as values, and you cannot specify a status code more than once.", - "format": "int32", - "type": "integer" - }, - "ttl": { - "description": "The TTL (in seconds) for which to cache responses with the corresponding status code. The maximum allowed value is 1800s (30 minutes), noting that infrequently accessed objects may be evicted from the cache before the defined TTL.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "BackendServiceConnectionTrackingPolicy": { - "description": "Connection Tracking configuration for this BackendService.", - "id": "BackendServiceConnectionTrackingPolicy", - "properties": { - "connectionPersistenceOnUnhealthyBackends": { - "description": "Specifies connection persistence when backends are unhealthy. The default value is DEFAULT_FOR_PROTOCOL. If set to DEFAULT_FOR_PROTOCOL, the existing connections persist on unhealthy backends only for connection-oriented protocols (TCP and SCTP) and only if the Tracking Mode is PER_CONNECTION (default tracking mode) or the Session Affinity is configured for 5-tuple. They do not persist for UDP. If set to NEVER_PERSIST, after a backend becomes unhealthy, the existing connections on the unhealthy backend are never persisted on the unhealthy backend. They are always diverted to newly selected healthy backends (unless all backends are unhealthy). If set to ALWAYS_PERSIST, existing connections always persist on unhealthy backends regardless of protocol and session affinity. It is generally not recommended to use this mode overriding the default. For more details, see [Connection Persistence for Network Load Balancing](https://cloud.google.com/load-balancing/docs/network/networklb-backend-service#connection-persistence) and [Connection Persistence for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal#connection-persistence).", - "enum": [ - "ALWAYS_PERSIST", - "DEFAULT_FOR_PROTOCOL", - "NEVER_PERSIST" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "enableStrongAffinity": { - "description": "Enable Strong Session Affinity for external passthrough Network Load Balancers. This option is not available publicly.", - "type": "boolean" - }, - "idleTimeoutSec": { - "description": "Specifies how long to keep a Connection Tracking entry while there is no matching traffic (in seconds). For internal passthrough Network Load Balancers: - The minimum (default) is 10 minutes and the maximum is 16 hours. - It can be set only if Connection Tracking is less than 5-tuple (i.e. Session Affinity is CLIENT_IP_NO_DESTINATION, CLIENT_IP or CLIENT_IP_PROTO, and Tracking Mode is PER_SESSION). For external passthrough Network Load Balancers the default is 60 seconds. This option is not available publicly.", - "format": "int32", - "type": "integer" - }, - "trackingMode": { - "description": "Specifies the key used for connection tracking. There are two options: - PER_CONNECTION: This is the default mode. The Connection Tracking is performed as per the Connection Key (default Hash Method) for the specific protocol. - PER_SESSION: The Connection Tracking is performed as per the configured Session Affinity. It matches the configured Session Affinity. For more details, see [Tracking Mode for Network Load Balancing](https://cloud.google.com/load-balancing/docs/network/networklb-backend-service#tracking-mode) and [Tracking Mode for Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal#tracking-mode).", - "enum": [ - "INVALID_TRACKING_MODE", - "PER_CONNECTION", - "PER_SESSION" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "BackendServiceCustomMetric": { - "description": "Custom Metrics are used for WEIGHTED_ROUND_ROBIN locality_lb_policy.", - "id": "BackendServiceCustomMetric", - "properties": { - "dryRun": { - "description": "If true, the metric data is not used for load balancing.", - "type": "boolean" - }, - "name": { - "description": "Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", - "type": "string" - } - }, - "type": "object" - }, - "BackendServiceFailoverPolicy": { - "description": "For load balancers that have configurable failover: [Internal passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview). On failover or failback, this field indicates whether connection draining will be honored. Google Cloud has a fixed connection draining timeout of 10 minutes. A setting of true terminates existing TCP connections to the active pool during failover and failback, immediately draining traffic. A setting of false allows existing TCP connections to persist, even on VMs no longer in the active pool, for up to the duration of the connection draining timeout (10 minutes).", - "id": "BackendServiceFailoverPolicy", - "properties": { - "disableConnectionDrainOnFailover": { - "description": "This can be set to true only if the protocol is TCP. The default is false.", - "type": "boolean" - }, - "dropTrafficIfUnhealthy": { - "description": "If set to true, connections to the load balancer are dropped when all primary and all backup backend VMs are unhealthy.If set to false, connections are distributed among all primary VMs when all primary and all backup backend VMs are unhealthy. For load balancers that have configurable failover: [Internal passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview). The default is false.", - "type": "boolean" - }, - "failoverRatio": { - "description": "The value of the field must be in the range [0, 1]. If the value is 0, the load balancer performs a failover when the number of healthy primary VMs equals zero. For all other values, the load balancer performs a failover when the total number of healthy primary VMs is less than this ratio. For load balancers that have configurable failover: [Internal TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external TCP/UDP Load Balancing](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview).", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "BackendServiceGroupHealth": { - "id": "BackendServiceGroupHealth", - "properties": { - "annotations": { - "additionalProperties": { - "type": "string" - }, - "description": "Metadata defined as annotations on the network endpoint group.", - "type": "object" - }, - "healthStatus": { - "description": "Health state of the backend instances or endpoints in requested instance or network endpoint group, determined based on configured health checks.", - "items": { - "$ref": "HealthStatus" - }, - "type": "array" - }, - "kind": { - "default": "compute#backendServiceGroupHealth", - "description": "[Output Only] Type of resource. Always compute#backendServiceGroupHealth for the health of backend services.", - "type": "string" - } - }, - "type": "object" - }, - "BackendServiceHAPolicy": { - "id": "BackendServiceHAPolicy", - "properties": { - "fastIPMove": { - "description": "Enabling fastIPMove is not supported.", - "enum": [ - "DISABLED", - "GARP_RA" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "leader": { - "$ref": "BackendServiceHAPolicyLeader", - "description": "Setting a leader is not supported." - } - }, - "type": "object" - }, - "BackendServiceHAPolicyLeader": { - "id": "BackendServiceHAPolicyLeader", - "properties": { - "backendGroup": { - "description": "Setting backendGroup is not supported.", - "type": "string" - }, - "networkEndpoint": { - "$ref": "BackendServiceHAPolicyLeaderNetworkEndpoint", - "description": "Setting a network endpoint as leader is not supported." - } - }, - "type": "object" - }, - "BackendServiceHAPolicyLeaderNetworkEndpoint": { - "id": "BackendServiceHAPolicyLeaderNetworkEndpoint", - "properties": { - "instance": { - "description": "Specifying the instance name of a leader is not supported.", - "type": "string" - } - }, - "type": "object" - }, - "BackendServiceHttpCookie": { - "description": "The HTTP cookie used for stateful session affinity.", - "id": "BackendServiceHttpCookie", + "CommitmentResourceStatus": { + "description": "[Output Only] Contains output only fields.", + "id": "CommitmentResourceStatus", "properties": { - "name": { - "description": "Name of the cookie.", - "type": "string" + "cancellationInformation": { + "$ref": "CommitmentResourceStatusCancellationInformation", + "description": "[Output Only] An optional, contains all the needed information of cancellation." }, - "path": { - "description": "Path to set for the cookie.", + "customTermEligibilityEndTimestamp": { + "description": "[Output Only] Indicates the end time of customer's eligibility to send custom term requests in RFC3339 text format. Term extension requests that (not the end time in the request) after this time will be rejected.", "type": "string" - }, - "ttl": { - "$ref": "Duration", - "description": "Lifetime of the cookie." } }, "type": "object" }, - "BackendServiceIAP": { - "description": "Identity-Aware Proxy", - "id": "BackendServiceIAP", + "CommitmentResourceStatusCancellationInformation": { + "id": "CommitmentResourceStatusCancellationInformation", "properties": { - "enabled": { - "description": "Whether the serving infrastructure will authenticate and authorize all incoming requests.", - "type": "boolean" - }, - "oauth2ClientId": { - "description": "OAuth2 client ID to use for the authentication flow.", - "type": "string" - }, - "oauth2ClientInfo": { - "$ref": "BackendServiceIAPOAuth2ClientInfo", - "description": "[Input Only] OAuth client info required to generate client id to be used for IAP." + "canceledCommitment": { + "$ref": "Money", + "description": "[Output Only] An optional amount of CUDs canceled so far in the last 365 days." }, - "oauth2ClientSecret": { - "description": "OAuth2 client secret to use for the authentication flow. For security reasons, this value cannot be retrieved via the API. Instead, the SHA-256 hash of the value is returned in the oauth2ClientSecretSha256 field. @InputOnly", + "canceledCommitmentLastUpdatedTimestamp": { + "description": "[Output Only] An optional last update time of canceled_commitment. RFC3339 text format.", "type": "string" }, - "oauth2ClientSecretSha256": { - "description": "[Output Only] SHA256 hash value for the field oauth2_client_secret above.", - "type": "string" - } - }, - "type": "object" - }, - "BackendServiceIAPOAuth2ClientInfo": { - "id": "BackendServiceIAPOAuth2ClientInfo", - "properties": { - "applicationName": { - "description": "Application name to be used in OAuth consent screen.", - "type": "string" + "cancellationCap": { + "$ref": "Money", + "description": "[Output Only] An optional,the cancellation cap for how much commitments can be canceled in a rolling 365 per billing account." }, - "clientName": { - "description": "Name of the client to be generated. Optional - If not provided, the name will be autogenerated by the backend.", - "type": "string" + "cancellationFee": { + "$ref": "Money", + "description": "[Output Only] An optional, cancellation fee." }, - "developerEmailAddress": { - "description": "Developer's information to be used in OAuth consent screen.", + "cancellationFeeExpirationTimestamp": { + "description": "[Output Only] An optional, cancellation fee expiration time. RFC3339 text format.", "type": "string" } }, "type": "object" }, - "BackendServiceList": { - "description": "Contains a list of BackendService resources.", - "id": "BackendServiceList", + "CommitmentsScopedList": { + "id": "CommitmentsScopedList", "properties": { - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", - "type": "string" - }, - "items": { - "description": "A list of BackendService resources.", + "commitments": { + "description": "[Output Only] A list of commitments contained in this scope.", "items": { - "$ref": "BackendService" + "$ref": "Commitment" }, "type": "array" }, - "kind": { - "default": "compute#backendServiceList", - "description": "[Output Only] Type of resource. Always compute#backendServiceList for lists of backend services.", - "type": "string" - }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", - "type": "string" - }, "warning": { - "description": "[Output Only] Informational warning message.", + "description": "[Output Only] Informational warning which replaces the list of commitments when the list is empty.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", @@ -49938,6 +53919,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -49974,6 +53956,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -49998,6 +53981,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -50030,29 +54014,203 @@ "type": "string" } }, - "type": "object" + "type": "object" + } + }, + "type": "object" + }, + "ConfidentialInstanceConfig": { + "description": "A set of Confidential Instance options.", + "id": "ConfidentialInstanceConfig", + "properties": { + "confidentialInstanceType": { + "description": "Defines the type of technology used by the confidential instance.", + "enum": [ + "CONFIDENTIAL_INSTANCE_TYPE_UNSPECIFIED", + "SEV", + "SEV_SNP", + "TDX" + ], + "enumDescriptions": [ + "No type specified. Do not use this value.", + "AMD Secure Encrypted Virtualization.", + "AMD Secure Encrypted Virtualization - Secure Nested Paging.", + "Intel Trust Domain eXtension." + ], + "type": "string" + }, + "enableConfidentialCompute": { + "description": "Defines whether the instance should have confidential compute enabled.", + "type": "boolean" + } + }, + "type": "object" + }, + "ConnectionDraining": { + "description": "Message containing connection draining configuration.", + "id": "ConnectionDraining", + "properties": { + "drainingTimeoutSec": { + "description": "Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "ConsistentHashLoadBalancerSettings": { + "description": "This message defines settings for a consistent hash style load balancer.", + "id": "ConsistentHashLoadBalancerSettings", + "properties": { + "httpCookie": { + "$ref": "ConsistentHashLoadBalancerSettingsHttpCookie", + "description": "Hash is based on HTTP Cookie. This field describes a HTTP cookie that will be used as the hash key for the consistent hash load balancer. If the cookie is not present, it will be generated. This field is applicable if the sessionAffinity is set to HTTP_COOKIE. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true." + }, + "httpHeaderName": { + "description": "The hash based on the value of the specified header field. This field is applicable if the sessionAffinity is set to HEADER_FIELD.", + "type": "string" + }, + "minimumRingSize": { + "description": "The minimum number of virtual nodes to use for the hash ring. Defaults to 1024. Larger ring sizes result in more granular load distributions. If the number of hosts in the load balancing pool is larger than the ring size, each host will be assigned a single virtual node.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ConsistentHashLoadBalancerSettingsHttpCookie": { + "description": "The information about the HTTP Cookie on which the hash function is based for load balancing policies that use a consistent hash.", + "id": "ConsistentHashLoadBalancerSettingsHttpCookie", + "properties": { + "name": { + "description": "Name of the cookie.", + "type": "string" + }, + "path": { + "description": "Path to set for the cookie.", + "type": "string" + }, + "ttl": { + "$ref": "Duration", + "description": "Lifetime of the cookie." + } + }, + "type": "object" + }, + "CorsPolicy": { + "description": "The specification for allowing client-side cross-origin requests. For more information about the W3C recommendation for cross-origin resource sharing (CORS), see Fetch API Living Standard.", + "id": "CorsPolicy", + "properties": { + "allowCredentials": { + "description": "In response to a preflight request, setting this to true indicates that the actual request can include user credentials. This field translates to the Access-Control-Allow-Credentials header. Default is false.", + "type": "boolean" + }, + "allowHeaders": { + "description": "Specifies the content for the Access-Control-Allow-Headers header.", + "items": { + "type": "string" + }, + "type": "array" + }, + "allowMethods": { + "description": "Specifies the content for the Access-Control-Allow-Methods header.", + "items": { + "type": "string" + }, + "type": "array" + }, + "allowOriginRegexes": { + "description": "Specifies a regular expression that matches allowed origins. For more information, see regular expression syntax . An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED.", + "items": { + "type": "string" + }, + "type": "array" + }, + "allowOrigins": { + "description": "Specifies the list of origins that is allowed to do CORS requests. An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.", + "items": { + "type": "string" + }, + "type": "array" + }, + "disabled": { + "description": "If true, disables the CORS policy. The default value is false, which indicates that the CORS policy is in effect.", + "type": "boolean" + }, + "exposeHeaders": { + "description": "Specifies the content for the Access-Control-Expose-Headers header.", + "items": { + "type": "string" + }, + "type": "array" + }, + "maxAge": { + "description": "Specifies how long results of a preflight request can be cached in seconds. This field translates to the Access-Control-Max-Age header.", + "format": "int32", + "type": "integer" } }, "type": "object" }, - "BackendServiceListUsable": { - "description": "Contains a list of usable BackendService resources.", - "id": "BackendServiceListUsable", + "CrossSiteNetwork": { + "description": "A resource that represents a cross-site network. You can use cross-site networks to connect your on-premises networks to each other through Interconnect connections.", + "id": "CrossSiteNetwork", + "properties": { + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "An optional description of the cross-site network.", + "type": "string" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", + "format": "uint64", + "type": "string" + }, + "kind": { + "default": "compute#crossSiteNetwork", + "description": "[Output Only] Type of the resource. Always compute#crossSiteNetwork for cross-site networks.", + "type": "string" + }, + "name": { + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + }, + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "type": "string" + } + }, + "type": "object" + }, + "CrossSiteNetworkList": { + "description": "Response to the list request that contains a list of cross-site networks.", + "id": "CrossSiteNetworkList", "properties": { + "etag": { + "type": "string" + }, "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "description": "A list of BackendService resources.", + "description": "A list of CrossSiteNetwork resources.", "items": { - "$ref": "BackendService" + "$ref": "CrossSiteNetwork" }, "type": "array" }, "kind": { - "default": "compute#usableBackendServiceList", - "description": "[Output Only] Type of resource. Always compute#usableBackendServiceList for lists of usable backend services.", + "default": "compute#crossSiteNetwork", + "description": "[Output Only] Type of the resource. Always compute#crossSiteNetwork for cross-site networks.", "type": "string" }, "nextPageToken": { @@ -50063,6 +54221,13 @@ "description": "[Output Only] Server-defined URL for this resource.", "type": "string" }, + "unreachables": { + "description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", + "items": { + "type": "string" + }, + "type": "array" + }, "warning": { "description": "[Output Only] Informational warning message.", "properties": { @@ -50090,6 +54255,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -50126,6 +54292,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -50150,6 +54317,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -50187,225 +54355,499 @@ }, "type": "object" }, - "BackendServiceLocalityLoadBalancingPolicyConfig": { - "description": "Container for either a built-in LB policy supported by gRPC or Envoy or a custom one implemented by the end user.", - "id": "BackendServiceLocalityLoadBalancingPolicyConfig", + "CustomErrorResponsePolicy": { + "description": "Specifies the custom error response policy that must be applied when the backend service or backend bucket responds with an error.", + "id": "CustomErrorResponsePolicy", "properties": { - "customPolicy": { - "$ref": "BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy" + "errorResponseRules": { + "description": "Specifies rules for returning error responses. In a given policy, if you specify rules for both a range of error codes as well as rules for specific error codes then rules with specific error codes have a higher priority. For example, assume that you configure a rule for 401 (Un-authorized) code, and another for all 4 series error codes (4XX). If the backend service returns a 401, then the rule for 401 will be applied. However if the backend service returns a 403, the rule for 4xx takes effect.", + "items": { + "$ref": "CustomErrorResponsePolicyCustomErrorResponseRule" + }, + "type": "array" }, - "policy": { - "$ref": "BackendServiceLocalityLoadBalancingPolicyConfigPolicy" + "errorService": { + "description": "The full or partial URL to the BackendBucket resource that contains the custom error content. Examples are: - https://www.googleapis.com/compute/v1/projects/project/global/backendBuckets/myBackendBucket - compute/v1/projects/project/global/backendBuckets/myBackendBucket - global/backendBuckets/myBackendBucket If errorService is not specified at lower levels like pathMatcher, pathRule and routeRule, an errorService specified at a higher level in the UrlMap will be used. If UrlMap.defaultCustomErrorResponsePolicy contains one or more errorResponseRules[], it must specify errorService. If load balancer cannot reach the backendBucket, a simple Not Found Error will be returned, with the original response code (or overrideResponseCode if configured). errorService is not supported for internal or regional HTTP/HTTPS load balancers.", + "type": "string" } }, "type": "object" }, - "BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy": { - "description": "The configuration for a custom policy implemented by the user and deployed with the client.", - "id": "BackendServiceLocalityLoadBalancingPolicyConfigCustomPolicy", + "CustomErrorResponsePolicyCustomErrorResponseRule": { + "description": "Specifies the mapping between the response code that will be returned along with the custom error content and the response code returned by the backend service.", + "id": "CustomErrorResponsePolicyCustomErrorResponseRule", "properties": { - "data": { - "description": "An optional, arbitrary JSON object with configuration data, understood by a locally installed custom policy implementation.", + "matchResponseCodes": { + "description": "Valid values include: - A number between 400 and 599: For example 401 or 503, in which case the load balancer applies the policy if the error code exactly matches this value. - 5xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 500 to 599. - 4xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 400 to 499. Values must be unique within matchResponseCodes and across all errorResponseRules of CustomErrorResponsePolicy.", + "items": { + "type": "string" + }, + "type": "array" + }, + "overrideResponseCode": { + "description": "The HTTP status code returned with the response containing the custom error content. If overrideResponseCode is not supplied, the same response code returned by the original backend bucket or backend service is returned to the client.", + "format": "int32", + "type": "integer" + }, + "path": { + "description": "The full path to a file within backendBucket . For example: /errors/defaultError.html path must start with a leading slash. path cannot have trailing slashes. If the file is not available in backendBucket or the load balancer cannot reach the BackendBucket, a simple Not Found Error is returned to the client. The value must be from 1 to 1024 characters", + "type": "string" + } + }, + "type": "object" + }, + "CustomerEncryptionKey": { + "id": "CustomerEncryptionKey", + "properties": { + "kmsKeyName": { + "description": "The name of the encryption key that is stored in Google Cloud KMS. For example: \"kmsKeyName\": \"projects/kms_project_id/locations/region/keyRings/ key_region/cryptoKeys/key The fully-qualifed key name may be returned for resource GET requests. For example: \"kmsKeyName\": \"projects/kms_project_id/locations/region/keyRings/ key_region/cryptoKeys/key /cryptoKeyVersions/1 ", "type": "string" }, - "name": { - "description": "Identifies the custom policy. The value should match the name of a custom implementation registered on the gRPC clients. It should follow protocol buffer message naming conventions and include the full path (for example, myorg.CustomLbPolicy). The maximum length is 256 characters. Do not specify the same custom policy more than once for a backend. If you do, the configuration is rejected. For an example of how to use this field, see Use a custom policy.", + "kmsKeyServiceAccount": { + "description": "The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used. For example: \"kmsKeyServiceAccount\": \"name@project_id.iam.gserviceaccount.com/ ", + "type": "string" + }, + "rawKey": { + "description": "Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource. You can provide either the rawKey or the rsaEncryptedKey. For example: \"rawKey\": \"SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=\" ", + "type": "string" + }, + "rsaEncryptedKey": { + "description": "Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. You can provide either the rawKey or the rsaEncryptedKey. For example: \"rsaEncryptedKey\": \"ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==\" The key must meet the following requirements before you can provide it to Compute Engine: 1. The key is wrapped using a RSA public key certificate provided by Google. 2. After being wrapped, the key must be encoded in RFC 4648 base64 encoding. Gets the RSA public key certificate provided by Google at: https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem ", + "type": "string" + }, + "sha256": { + "description": "[Output only] The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.", "type": "string" } }, "type": "object" }, - "BackendServiceLocalityLoadBalancingPolicyConfigPolicy": { - "description": "The configuration for a built-in load balancing policy.", - "id": "BackendServiceLocalityLoadBalancingPolicyConfigPolicy", + "CustomerEncryptionKeyProtectedDisk": { + "id": "CustomerEncryptionKeyProtectedDisk", "properties": { - "name": { - "description": "The name of a locality load-balancing policy. Valid values include ROUND_ROBIN and, for Java clients, LEAST_REQUEST. For information about these values, see the description of localityLbPolicy. Do not specify the same policy more than once for a backend. If you do, the configuration is rejected.", + "diskEncryptionKey": { + "$ref": "CustomerEncryptionKey", + "description": "Decrypts data associated with the disk with a customer-supplied encryption key." + }, + "source": { + "description": "Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks. For example: \"source\": \"/compute/v1/projects/project_id/zones/zone/disks/ disk_name ", + "type": "string" + } + }, + "type": "object" + }, + "DeprecationStatus": { + "description": "Deprecation status for a public resource.", + "id": "DeprecationStatus", + "properties": { + "deleted": { + "description": "An optional RFC3339 timestamp on or after which the state of this resource is intended to change to DELETED. This is only informational and the status will not change unless the client explicitly changes it.", + "type": "string" + }, + "deprecated": { + "description": "An optional RFC3339 timestamp on or after which the state of this resource is intended to change to DEPRECATED. This is only informational and the status will not change unless the client explicitly changes it.", + "type": "string" + }, + "obsolete": { + "description": "An optional RFC3339 timestamp on or after which the state of this resource is intended to change to OBSOLETE. This is only informational and the status will not change unless the client explicitly changes it.", + "type": "string" + }, + "replacement": { + "description": "The URL of the suggested replacement for a deprecated resource. The suggested replacement resource must be the same kind of resource as the deprecated resource.", + "type": "string" + }, + "state": { + "description": "The deprecation state of this resource. This can be ACTIVE, DEPRECATED, OBSOLETE, or DELETED. Operations which communicate the end of life date for an image, can use ACTIVE. Operations which create a new resource using a DEPRECATED resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. Operations which use OBSOLETE or DELETED resources will be rejected and result in an error.", "enum": [ - "INVALID_LB_POLICY", - "LEAST_REQUEST", - "MAGLEV", - "ORIGINAL_DESTINATION", - "RANDOM", - "RING_HASH", - "ROUND_ROBIN", - "WEIGHTED_MAGLEV", - "WEIGHTED_ROUND_ROBIN" + "ACTIVE", + "DELETED", + "DEPRECATED", + "OBSOLETE" ], "enumDescriptions": [ "", - "An O(1) algorithm which selects two random healthy hosts and picks the host which has fewer active requests.", - "This algorithm implements consistent hashing to backends. Maglev can be used as a drop in replacement for the ring hash load balancer. Maglev is not as stable as ring hash but has faster table lookup build times and host selection times. For more information about Maglev, see https://ai.google/research/pubs/pub44824", - "Backend host is selected based on the client connection metadata, i.e., connections are opened to the same address as the destination address of the incoming connection before the connection was redirected to the load balancer.", - "The load balancer selects a random healthy host.", - "The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests.", - "This is a simple policy in which each healthy backend is selected in round robin order. This is the default.", - "Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing.", - "Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field X-Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the backends[].customMetrics fields." + "", + "", + "" ], "type": "string" + }, + "stateOverride": { + "$ref": "RolloutPolicy", + "description": "The rollout policy for this deprecation. This policy is only enforced by image family views. The rollout policy restricts the zones where the associated resource is considered in a deprecated state. When the rollout policy does not include the user specified zone, or if the zone is rolled out, the associated resource is considered in a deprecated state. The rollout policy for this deprecation is read-only, except for allowlisted users. This field might not be configured. To view the latest non-deprecated image in a specific zone, use the imageFamilyViews.get method." } }, "type": "object" }, - "BackendServiceLogConfig": { - "description": "The available logging options for the load balancer traffic served by this backend service.", - "id": "BackendServiceLogConfig", + "Disk": { + "description": "Represents a Persistent Disk resource. Google Compute Engine has two Disk resources: * [Zonal](/compute/docs/reference/rest/alpha/disks) * [Regional](/compute/docs/reference/rest/alpha/regionDisks) Persistent disks are required for running your VM instances. Create both boot and non-boot (data) persistent disks. For more information, read Persistent Disks. For more storage options, read Storage options. The disks resource represents a zonal persistent disk. For more information, read Zonal persistent disks. The regionDisks resource represents a regional persistent disk. For more information, read Regional resources.", + "id": "Disk", "properties": { - "enable": { - "description": "Denotes whether to enable logging for the load balancer traffic served by this backend service. The default value is false.", + "accessMode": { + "description": "The access mode of the disk. - READ_WRITE_SINGLE: The default AccessMode, means the disk can be attached to single instance in RW mode. - READ_WRITE_MANY: The AccessMode means the disk can be attached to multiple instances in RW mode. - READ_ONLY_MANY: The AccessMode means the disk can be attached to multiple instances in RO mode. The AccessMode is only valid for Hyperdisk disk types.", + "enum": [ + "READ_ONLY_MANY", + "READ_WRITE_MANY", + "READ_WRITE_SINGLE" + ], + "enumDescriptions": [ + "The AccessMode means the disk can be attached to multiple instances in RO mode.", + "The AccessMode means the disk can be attached to multiple instances in RW mode.", + "The default AccessMode, means the disk can be attached to single instance in RW mode." + ], + "type": "string" + }, + "architecture": { + "description": "The architecture of the disk. Valid values are ARM64 or X86_64.", + "enum": [ + "ARCHITECTURE_UNSPECIFIED", + "ARM64", + "X86_64" + ], + "enumDescriptions": [ + "Default value indicating Architecture is not set.", + "Machines with architecture ARM64", + "Machines with architecture X86_64" + ], + "type": "string" + }, + "asyncPrimaryDisk": { + "$ref": "DiskAsyncReplication", + "description": "Disk asynchronously replicated into this disk." + }, + "asyncSecondaryDisks": { + "additionalProperties": { + "$ref": "DiskAsyncReplicationList" + }, + "description": "[Output Only] A list of disks this disk is asynchronously replicated to.", + "type": "object" + }, + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", + "type": "string" + }, + "diskEncryptionKey": { + "$ref": "CustomerEncryptionKey", + "description": "Encrypts the disk using a customer-supplied encryption key or a customer-managed encryption key. Encryption keys do not protect access to metadata of the disk. After you encrypt a disk with a customer-supplied key, you must provide the same key if you use the disk later. For example, to create a disk snapshot, to create a disk image, to create a machine image, or to attach the disk to a virtual machine. After you encrypt a disk with a customer-managed key, the diskEncryptionKey.kmsKeyName is set to a key *version* name once the disk is created. The disk is encrypted with this version of the key. In the response, diskEncryptionKey.kmsKeyName appears in the following format: \"diskEncryptionKey.kmsKeyName\": \"projects/kms_project_id/locations/region/keyRings/ key_region/cryptoKeys/key /cryptoKeysVersions/version If you do not provide an encryption key when creating the disk, then the disk is encrypted using an automatically generated key and you don't need to provide a key to use the disk later." + }, + "enableConfidentialCompute": { + "description": "Whether this disk is using confidential compute mode.", "type": "boolean" }, - "optional": { + "eraseWindowsVssSignature": { + "description": "Specifies whether the disk restored from a source snapshot should erase Windows specific VSS signature.", + "type": "boolean" + }, + "guestOsFeatures": { + "description": "A list of features to enable on the guest operating system. Applicable only for bootable images. Read Enabling guest operating system features to see a list of available options.", + "items": { + "$ref": "GuestOsFeature" + }, + "type": "array" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64", + "type": "string" + }, + "interface": { "deprecated": true, - "description": "Deprecated in favor of optionalMode. This field can only be specified if logging is enabled for this backend service. Configures whether all, none or a subset of optional fields should be added to the reported logs. One of [INCLUDE_ALL_OPTIONAL, EXCLUDE_ALL_OPTIONAL, CUSTOM]. Default is EXCLUDE_ALL_OPTIONAL.", + "description": "[Deprecated] Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI.", "enum": [ - "CUSTOM", - "EXCLUDE_ALL_OPTIONAL", - "INCLUDE_ALL_OPTIONAL", - "UNSPECIFIED_OPTIONAL_MODE" + "NVME", + "SCSI", + "UNSPECIFIED" ], "enumDescriptions": [ - "A subset of optional fields.", - "None optional fields.", - "All optional fields.", + "", + "", "" ], "type": "string" }, - "optionalFields": { - "description": "This field can only be specified if logging is enabled for this backend service and \"logConfig.optionalMode\" was set to CUSTOM. Contains a list of optional fields you want to include in the logs. For example: serverInstance, serverGkeDetails.cluster, serverGkeDetails.pod.podNamespace", + "kind": { + "default": "compute#disk", + "description": "[Output Only] Type of the resource. Always compute#disk for disks.", + "type": "string" + }, + "labelFingerprint": { + "description": "A fingerprint for the labels being applied to this disk, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a disk.", + "format": "byte", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels to apply to this disk. These can be later modified by the setLabels method.", + "type": "object" + }, + "lastAttachTimestamp": { + "description": "[Output Only] Last attach timestamp in RFC3339 text format.", + "type": "string" + }, + "lastDetachTimestamp": { + "description": "[Output Only] Last detach timestamp in RFC3339 text format.", + "type": "string" + }, + "licenseCodes": { + "description": "Integer license codes indicating which licenses are attached to this disk.", "items": { + "format": "int64", "type": "string" }, "type": "array" }, - "optionalMode": { - "description": "This field can only be specified if logging is enabled for this backend service. Configures whether all, none or a subset of optional fields should be added to the reported logs. One of [INCLUDE_ALL_OPTIONAL, EXCLUDE_ALL_OPTIONAL, CUSTOM]. Default is EXCLUDE_ALL_OPTIONAL.", + "licenses": { + "description": "A list of publicly visible licenses. Reserved for Google's use.", + "items": { + "type": "string" + }, + "type": "array" + }, + "locationHint": { + "description": "An opaque location hint used to place the disk close to other resources. This field is for use by internal tools that use the public API.", + "type": "string" + }, + "locked": { + "description": "[Output Only] The field indicates if the disk is created from a locked source image. Attachment of a disk created from a locked source image will cause the following operations to become irreversibly prohibited: - R/W or R/O disk attachment to any other instance - Disk detachment. And the disk can only be deleted when the instance is deleted - Creation of images or snapshots - Disk cloning Furthermore, the instance with at least one disk with locked flag set to true will be prohibited from performing the operations below: - Further attachment of secondary disks. - Detachment of any disks - Create machine images - Create instance template - Delete the instance with --keep-disk parameter set to true for locked disks - Attach a locked disk with --auto-delete parameter set to false ", + "type": "boolean" + }, + "multiWriter": { + "description": "Indicates whether or not the disk can be read/write attached to more than one instance.", + "type": "boolean" + }, + "name": { + "annotations": { + "required": [ + "compute.disks.insert" + ] + }, + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "options": { + "description": "Internal use only.", + "type": "string" + }, + "params": { + "$ref": "DiskParams", + "description": "Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload." + }, + "physicalBlockSizeBytes": { + "description": "Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. The currently supported size is 4096, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project.", + "format": "int64", + "type": "string" + }, + "provisionedIops": { + "description": "Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation.", + "format": "int64", + "type": "string" + }, + "provisionedThroughput": { + "description": "Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle. Values must be greater than or equal to 1.", + "format": "int64", + "type": "string" + }, + "region": { + "description": "[Output Only] URL of the region where the disk resides. Only applicable for regional resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "type": "string" + }, + "replicaZones": { + "description": "URLs of the zones where the disk should be replicated to. Only applicable for regional resources.", + "items": { + "type": "string" + }, + "type": "array" + }, + "resourcePolicies": { + "description": "Resource policies applied to this disk for automatic snapshot creations.", + "items": { + "type": "string" + }, + "type": "array" + }, + "resourceStatus": { + "$ref": "DiskResourceStatus", + "description": "[Output Only] Status information for the disk resource." + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzs": { + "description": "[Output Only] Reserved for future use.", + "type": "boolean" + }, + "selfLink": { + "description": "[Output Only] Server-defined fully-qualified URL for this resource.", + "type": "string" + }, + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource's resource id.", + "type": "string" + }, + "sizeGb": { + "description": "Size, in GB, of the persistent disk. You can specify this field when creating a persistent disk using the sourceImage, sourceSnapshot, or sourceDisk parameter, or specify it alone to create an empty persistent disk. If you specify this field along with a source, the value of sizeGb must not be less than the size of the source. Acceptable values are greater than 0.", + "format": "int64", + "type": "string" + }, + "sourceConsistencyGroupPolicy": { + "description": "[Output Only] URL of the DiskConsistencyGroupPolicy for a secondary disk that was created using a consistency group.", + "type": "string" + }, + "sourceConsistencyGroupPolicyId": { + "description": "[Output Only] ID of the DiskConsistencyGroupPolicy for a secondary disk that was created using a consistency group.", + "type": "string" + }, + "sourceDisk": { + "description": "The source disk used to create this disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk ", + "type": "string" + }, + "sourceDiskId": { + "description": "[Output Only] The unique ID of the disk used to create this disk. This value identifies the exact disk that was used to create this persistent disk. For example, if you created the persistent disk from a disk that was later deleted and recreated under the same name, the source disk ID would identify the exact version of the disk that was used.", + "type": "string" + }, + "sourceImage": { + "description": "The source image used to create this disk. If the source image is deleted, this field will not be set. To create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-9 to use the latest Debian 9 image: projects/debian-cloud/global/images/family/debian-9 Alternatively, use a specific version of a public operating system image: projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD To create a disk with a custom image that you created, specify the image name in the following format: global/images/my-custom-image You can also specify a custom image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name: global/images/family/my-image-family ", + "type": "string" + }, + "sourceImageEncryptionKey": { + "$ref": "CustomerEncryptionKey", + "description": "The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key." + }, + "sourceImageId": { + "description": "[Output Only] The ID value of the image used to create this disk. This value identifies the exact image that was used to create this persistent disk. For example, if you created the persistent disk from an image that was later deleted and recreated under the same name, the source image ID would identify the exact version of the image that was used.", + "type": "string" + }, + "sourceInstantSnapshot": { + "description": "The source instant snapshot used to create this disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instantSnapshots/instantSnapshot - projects/project/zones/zone/instantSnapshots/instantSnapshot - zones/zone/instantSnapshots/instantSnapshot ", + "type": "string" + }, + "sourceInstantSnapshotId": { + "description": "[Output Only] The unique ID of the instant snapshot used to create this disk. This value identifies the exact instant snapshot that was used to create this persistent disk. For example, if you created the persistent disk from an instant snapshot that was later deleted and recreated under the same name, the source instant snapshot ID would identify the exact version of the instant snapshot that was used.", + "type": "string" + }, + "sourceSnapshot": { + "description": "The source snapshot used to create this disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project /global/snapshots/snapshot - projects/project/global/snapshots/snapshot - global/snapshots/snapshot ", + "type": "string" + }, + "sourceSnapshotEncryptionKey": { + "$ref": "CustomerEncryptionKey", + "description": "The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key." + }, + "sourceSnapshotId": { + "description": "[Output Only] The unique ID of the snapshot used to create this disk. This value identifies the exact snapshot that was used to create this persistent disk. For example, if you created the persistent disk from a snapshot that was later deleted and recreated under the same name, the source snapshot ID would identify the exact version of the snapshot that was used.", + "type": "string" + }, + "sourceStorageObject": { + "description": "The full Google Cloud Storage URI where the disk image is stored. This file must be a gzip-compressed tarball whose name ends in .tar.gz or virtual machine disk whose name ends in vmdk. Valid URIs may start with gs:// or https://storage.googleapis.com/. This flag is not optimized for creating multiple disks from a source storage object. To create many disks from a source storage object, use gcloud compute images import instead.", + "type": "string" + }, + "status": { + "description": "[Output Only] The status of disk creation. - CREATING: Disk is provisioning. - RESTORING: Source data is being copied into the disk. - FAILED: Disk creation failed. - READY: Disk is ready for use. - DELETING: Disk is deleting. ", "enum": [ - "CUSTOM", - "EXCLUDE_ALL_OPTIONAL", - "INCLUDE_ALL_OPTIONAL", - "UNSPECIFIED_OPTIONAL_MODE" + "CREATING", + "DELETING", + "FAILED", + "READY", + "RESTORING", + "UNAVAILABLE" ], "enumDescriptions": [ - "A subset of optional fields.", - "None optional fields.", - "All optional fields.", - "" + "Disk is provisioning", + "Disk is deleting.", + "Disk creation failed.", + "Disk is ready for use.", + "Source data is being copied into the disk.", + "Disk is currently unavailable and cannot be accessed, attached or detached." ], "type": "string" }, - "sampleRate": { - "description": "This field can only be specified if logging is enabled for this backend service. The value of the field must be in [0, 1]. This configures the sampling rate of requests to the load balancer where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported. The default value is 1.0.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "BackendServiceNetworkPassThroughLbTrafficPolicy": { - "id": "BackendServiceNetworkPassThroughLbTrafficPolicy", - "properties": { - "zonalAffinity": { - "$ref": "BackendServiceNetworkPassThroughLbTrafficPolicyZonalAffinity", - "description": "When configured, new connections are load balanced across healthy backend endpoints in the local zone." - } - }, - "type": "object" - }, - "BackendServiceNetworkPassThroughLbTrafficPolicyZonalAffinity": { - "id": "BackendServiceNetworkPassThroughLbTrafficPolicyZonalAffinity", - "properties": { - "spillover": { - "description": "This field indicates whether zonal affinity is enabled or not. The possible values are: - ZONAL_AFFINITY_DISABLED: Default Value. Zonal Affinity is disabled. The load balancer distributes new connections to all healthy backend endpoints across all zones. - ZONAL_AFFINITY_STAY_WITHIN_ZONE: Zonal Affinity is enabled. The load balancer distributes new connections to all healthy backend endpoints in the local zone only. If there are no healthy backend endpoints in the local zone, the load balancer distributes new connections to all backend endpoints in the local zone. - ZONAL_AFFINITY_SPILL_CROSS_ZONE: Zonal Affinity is enabled. The load balancer distributes new connections to all healthy backend endpoints in the local zone only. If there aren't enough healthy backend endpoints in the local zone, the load balancer distributes new connections to all healthy backend endpoints across all zones. ", + "storagePool": { + "description": "The storage pool in which the new disk is created. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /storagePools/storagePool - projects/project/zones/zone/storagePools/storagePool - zones/zone/storagePools/storagePool ", + "type": "string" + }, + "storageType": { + "description": "[Deprecated] Storage type of the persistent disk.", "enum": [ - "ZONAL_AFFINITY_DISABLED", - "ZONAL_AFFINITY_SPILL_CROSS_ZONE", - "ZONAL_AFFINITY_STAY_WITHIN_ZONE" + "HDD", + "SSD" ], "enumDescriptions": [ - "", "", "" ], "type": "string" }, - "spilloverRatio": { - "description": "The value of the field must be in [0, 1]. When the ratio of the count of healthy backend endpoints in a zone to the count of backend endpoints in that same zone is equal to or above this threshold, the load balancer distributes new connections to all healthy endpoints in the local zone only. When the ratio of the count of healthy backend endpoints in a zone to the count of backend endpoints in that same zone is below this threshold, the load balancer distributes all new connections to all healthy endpoints across all zones.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "BackendServiceReference": { - "id": "BackendServiceReference", - "properties": { - "backendService": { - "type": "string" - } - }, - "type": "object" - }, - "BackendServiceTlsSettings": { - "id": "BackendServiceTlsSettings", - "properties": { - "authenticationConfig": { - "description": "Reference to the BackendAuthenticationConfig resource from the networksecurity.googleapis.com namespace. Can be used in authenticating TLS connections to the backend, as specified by the authenticationMode field. Can only be specified if authenticationMode is not NONE.", + "type": { + "description": "URL of the disk type resource describing which disk type to use to create the disk. Provide this when creating the disk. For example: projects/project /zones/zone/diskTypes/pd-ssd . See Persistent disk types.", "type": "string" }, - "sni": { - "description": "Server Name Indication - see RFC3546 section 3.1. If set, the load balancer sends this string as the SNI hostname in the TLS connection to the backend, and requires that this string match a Subject Alternative Name (SAN) in the backend's server certificate. With a Regional Internet NEG backend, if the SNI is specified here, the load balancer uses it regardless of whether the Regional Internet NEG is specified with FQDN or IP address and port. When both sni and subjectAltNames[] are specified, the load balancer matches the backend certificate's SAN only to subjectAltNames[].", - "type": "string" + "userLicenses": { + "description": "A list of publicly visible user-licenses. Unlike regular licenses, user provided licenses can be modified after the disk is created. This includes a list of URLs to the license resource. For example, to provide a debian license: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/licenses/debian-9-stretch ", + "items": { + "type": "string" + }, + "type": "array" }, - "subjectAltNames": { - "description": "A list of Subject Alternative Names (SANs) that the Load Balancer verifies during a TLS handshake with the backend. When the server presents its X.509 certificate to the Load Balancer, the Load Balancer inspects the certificate's SAN field, and requires that at least one SAN match one of the subjectAltNames in the list. This field is limited to 5 entries. When both sni and subjectAltNames[] are specified, the load balancer matches the backend certificate's SAN only to subjectAltNames[].", + "users": { + "description": "[Output Only] Links to the users of the disk (attached instances) in form: projects/project/zones/zone/instances/instance", "items": { - "$ref": "BackendServiceTlsSettingsSubjectAltName" + "type": "string" }, "type": "array" + }, + "zone": { + "description": "[Output Only] URL of the zone where the disk resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "type": "string" } }, "type": "object" }, - "BackendServiceTlsSettingsSubjectAltName": { - "description": "A Subject Alternative Name that the load balancer matches against the SAN field in the TLS certificate provided by the backend, specified as either a DNS name or a URI, in accordance with RFC 5280 4.2.1.6", - "id": "BackendServiceTlsSettingsSubjectAltName", + "DiskAggregatedList": { + "id": "DiskAggregatedList", "properties": { - "dnsName": { - "description": "The SAN specified as a DNS Name.", + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, - "uniformResourceIdentifier": { - "description": "The SAN specified as a URI.", + "items": { + "additionalProperties": { + "$ref": "DisksScopedList", + "description": "[Output Only] Name of the scope containing this set of disks." + }, + "description": "A list of DisksScopedList resources.", + "type": "object" + }, + "kind": { + "default": "compute#diskAggregatedList", + "description": "[Output Only] Type of resource. Always compute#diskAggregatedList for aggregated lists of persistent disks.", "type": "string" - } - }, - "type": "object" - }, - "BackendServiceUsedBy": { - "id": "BackendServiceUsedBy", - "properties": { - "reference": { - "description": "[Output Only] Server-defined URL for resources referencing given BackendService like UrlMaps, TargetTcpProxies, TargetSslProxies and ForwardingRule.", + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", "type": "string" - } - }, - "type": "object" - }, - "BackendServicesScopedList": { - "id": "BackendServicesScopedList", - "properties": { - "backendServices": { - "description": "A list of BackendServices contained in this scope.", + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "[Output Only] Unreachable resources.", "items": { - "$ref": "BackendService" + "type": "string" }, "type": "array" }, "warning": { - "description": "Informational warning which replaces the list of backend services when the list is empty.", + "description": "[Output Only] Informational warning message.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", @@ -50431,6 +54873,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -50467,6 +54910,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -50491,6 +54935,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -50528,731 +54973,420 @@ }, "type": "object" }, - "BfdPacket": { - "id": "BfdPacket", - "properties": { - "authenticationPresent": { - "description": "The Authentication Present bit of the BFD packet. This is specified in section 4.1 of RFC5880", - "type": "boolean" - }, - "controlPlaneIndependent": { - "description": "The Control Plane Independent bit of the BFD packet. This is specified in section 4.1 of RFC5880", - "type": "boolean" - }, - "demand": { - "description": "The demand bit of the BFD packet. This is specified in section 4.1 of RFC5880", - "type": "boolean" - }, - "diagnostic": { - "description": "The diagnostic code specifies the local system's reason for the last change in session state. This allows remote systems to determine the reason that the previous session failed, for example. These diagnostic codes are specified in section 4.1 of RFC5880", - "enum": [ - "ADMINISTRATIVELY_DOWN", - "CONCATENATED_PATH_DOWN", - "CONTROL_DETECTION_TIME_EXPIRED", - "DIAGNOSTIC_UNSPECIFIED", - "ECHO_FUNCTION_FAILED", - "FORWARDING_PLANE_RESET", - "NEIGHBOR_SIGNALED_SESSION_DOWN", - "NO_DIAGNOSTIC", - "PATH_DOWN", - "REVERSE_CONCATENATED_PATH_DOWN" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "final": { - "description": "The Final bit of the BFD packet. This is specified in section 4.1 of RFC5880", - "type": "boolean" - }, - "length": { - "description": "The length of the BFD Control packet in bytes. This is specified in section 4.1 of RFC5880", - "format": "uint32", - "type": "integer" - }, - "minEchoRxIntervalMs": { - "description": "The Required Min Echo RX Interval value in the BFD packet. This is specified in section 4.1 of RFC5880", - "format": "uint32", - "type": "integer" - }, - "minRxIntervalMs": { - "description": "The Required Min RX Interval value in the BFD packet. This is specified in section 4.1 of RFC5880", - "format": "uint32", - "type": "integer" - }, - "minTxIntervalMs": { - "description": "The Desired Min TX Interval value in the BFD packet. This is specified in section 4.1 of RFC5880", - "format": "uint32", - "type": "integer" - }, - "multiplier": { - "description": "The detection time multiplier of the BFD packet. This is specified in section 4.1 of RFC5880", - "format": "uint32", - "type": "integer" - }, - "multipoint": { - "description": "The multipoint bit of the BFD packet. This is specified in section 4.1 of RFC5880", - "type": "boolean" - }, - "myDiscriminator": { - "description": "The My Discriminator value in the BFD packet. This is specified in section 4.1 of RFC5880", - "format": "uint32", - "type": "integer" - }, - "poll": { - "description": "The Poll bit of the BFD packet. This is specified in section 4.1 of RFC5880", - "type": "boolean" - }, - "state": { - "description": "The current BFD session state as seen by the transmitting system. These states are specified in section 4.1 of RFC5880", - "enum": [ - "ADMIN_DOWN", - "DOWN", - "INIT", - "STATE_UNSPECIFIED", - "UP" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "version": { - "description": "The version number of the BFD protocol, as specified in section 4.1 of RFC5880.", - "format": "uint32", - "type": "integer" - }, - "yourDiscriminator": { - "description": "The Your Discriminator value in the BFD packet. This is specified in section 4.1 of RFC5880", - "format": "uint32", - "type": "integer" - } - }, - "type": "object" - }, - "BfdStatus": { - "description": "Next free: 15", - "id": "BfdStatus", + "DiskAsyncReplication": { + "id": "DiskAsyncReplication", "properties": { - "bfdSessionInitializationMode": { - "description": "The BFD session initialization mode for this BGP peer. If set to ACTIVE, the Cloud Router will initiate the BFD session for this BGP peer. If set to PASSIVE, the Cloud Router will wait for the peer router to initiate the BFD session for this BGP peer. If set to DISABLED, BFD is disabled for this BGP peer.", - "enum": [ - "ACTIVE", - "DISABLED", - "PASSIVE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "configUpdateTimestampMicros": { - "description": "Unix timestamp of the most recent config update.", - "format": "int64", + "consistencyGroupPolicy": { + "description": "[Output Only] URL of the DiskConsistencyGroupPolicy if replication was started on the disk as a member of a group.", "type": "string" }, - "controlPacketCounts": { - "$ref": "BfdStatusPacketCounts", - "description": "Control packet counts for the current BFD session." - }, - "controlPacketIntervals": { - "description": "Inter-packet time interval statistics for control packets.", - "items": { - "$ref": "PacketIntervals" - }, - "type": "array" - }, - "echoPacketCounts": { - "$ref": "BfdStatusPacketCounts", - "description": "Echo packet counts for the current BFD session." - }, - "echoPacketIntervals": { - "description": "Inter-packet time interval statistics for echo packets.", - "items": { - "$ref": "PacketIntervals" - }, - "type": "array" - }, - "localDiagnostic": { - "description": "The diagnostic code specifies the local system's reason for the last change in session state. This allows remote systems to determine the reason that the previous session failed, for example. These diagnostic codes are specified in section 4.1 of RFC5880", - "enum": [ - "ADMINISTRATIVELY_DOWN", - "CONCATENATED_PATH_DOWN", - "CONTROL_DETECTION_TIME_EXPIRED", - "DIAGNOSTIC_UNSPECIFIED", - "ECHO_FUNCTION_FAILED", - "FORWARDING_PLANE_RESET", - "NEIGHBOR_SIGNALED_SESSION_DOWN", - "NO_DIAGNOSTIC", - "PATH_DOWN", - "REVERSE_CONCATENATED_PATH_DOWN" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], + "consistencyGroupPolicyId": { + "description": "[Output Only] ID of the DiskConsistencyGroupPolicy if replication was started on the disk as a member of a group.", "type": "string" }, - "localState": { - "description": "The current BFD session state as seen by the transmitting system. These states are specified in section 4.1 of RFC5880", - "enum": [ - "ADMIN_DOWN", - "DOWN", - "INIT", - "STATE_UNSPECIFIED", - "UP" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], + "disk": { + "description": "The other disk asynchronously replicated to or from the current disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/disks/disk ", "type": "string" }, - "negotiatedLocalControlTxIntervalMs": { - "description": "Negotiated transmit interval for control packets.", - "format": "uint32", - "type": "integer" - }, - "negotiatedLocalEchoTxIntervalMs": { - "description": "Negotiated transmit interval for echo packets.", - "format": "uint32", - "type": "integer" - }, - "rxPacket": { - "$ref": "BfdPacket", - "description": "The most recent Rx control packet for this BFD session." - }, - "txPacket": { - "$ref": "BfdPacket", - "description": "The most recent Tx control packet for this BFD session." - }, - "uptimeMs": { - "description": "Session uptime in milliseconds. Value will be 0 if session is not up.", - "format": "int64", + "diskId": { + "description": "[Output Only] The unique ID of the other disk asynchronously replicated to or from the current disk. This value identifies the exact disk that was used to create this replication. For example, if you started replicating the persistent disk from a disk that was later deleted and recreated under the same name, the disk ID would identify the exact version of the disk that was used.", "type": "string" - }, - "usingEchoMode": { - "description": "Indicates if echo mode is currently being used.", - "type": "boolean" } }, "type": "object" }, - "BfdStatusPacketCounts": { - "id": "BfdStatusPacketCounts", + "DiskAsyncReplicationList": { + "id": "DiskAsyncReplicationList", "properties": { - "numRx": { - "description": "Number of packets received since the beginning of the current BFD session.", - "format": "uint32", - "type": "integer" - }, - "numRxRejected": { - "description": "Number of packets received that were rejected because of errors since the beginning of the current BFD session.", - "format": "uint32", - "type": "integer" - }, - "numRxSuccessful": { - "description": "Number of packets received that were successfully processed since the beginning of the current BFD session.", - "format": "uint32", - "type": "integer" - }, - "numTx": { - "description": "Number of packets transmitted since the beginning of the current BFD session.", - "format": "uint32", - "type": "integer" + "asyncReplicationDisk": { + "$ref": "DiskAsyncReplication" } }, "type": "object" }, - "BgpRoute": { - "id": "BgpRoute", + "DiskInstantiationConfig": { + "description": "A specification of the desired way to instantiate a disk in the instance template when its created from a source instance.", + "id": "DiskInstantiationConfig", "properties": { - "asPaths": { - "description": "[Output only] AS-PATH for the route", - "items": { - "$ref": "BgpRouteAsPath" - }, - "type": "array" - }, - "communities": { - "description": "[Output only] BGP communities in human-readable A:B format.", - "items": { - "type": "string" - }, - "type": "array" - }, - "destination": { - "$ref": "BgpRouteNetworkLayerReachabilityInformation", - "description": "[Output only] Destination IP range for the route, in human-readable CIDR format" + "autoDelete": { + "description": "Specifies whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).", + "type": "boolean" }, - "med": { - "description": "[Output only] BGP multi-exit discriminator", - "format": "uint32", - "type": "integer" + "customImage": { + "description": "The custom source image to be used to restore this disk when instantiating this instance template.", + "type": "string" }, - "origin": { - "description": "[Output only] BGP origin (EGP, IGP or INCOMPLETE)", - "enum": [ - "BGP_ORIGIN_EGP", - "BGP_ORIGIN_IGP", - "BGP_ORIGIN_INCOMPLETE" - ], - "enumDescriptions": [ - "", - "", - "" - ], + "deviceName": { + "description": "Specifies the device name of the disk to which the configurations apply to.", "type": "string" - } - }, - "type": "object" - }, - "BgpRouteAsPath": { - "id": "BgpRouteAsPath", - "properties": { - "asns": { - "description": "[Output only] ASNs in the path segment. When type is SEQUENCE, these are ordered.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" }, - "type": { - "description": "[Output only] Type of AS-PATH segment (SEQUENCE or SET)", + "instantiateFrom": { + "description": "Specifies whether to include the disk and what image to use. Possible values are: - source-image: to use the same image that was used to create the source instance's corresponding disk. Applicable to the boot disk and additional read-write disks. - source-image-family: to use the same image family that was used to create the source instance's corresponding disk. Applicable to the boot disk and additional read-write disks. - custom-image: to use a user-provided image url for disk creation. Applicable to the boot disk and additional read-write disks. - attach-read-only: to attach a read-only disk. Applicable to read-only disks. - do-not-include: to exclude a disk from the template. Applicable to additional read-write disks, local SSDs, and read-only disks. ", "enum": [ - "AS_PATH_TYPE_SEQUENCE", - "AS_PATH_TYPE_SET" + "ATTACH_READ_ONLY", + "BLANK", + "CUSTOM_IMAGE", + "DEFAULT", + "DO_NOT_INCLUDE", + "SOURCE_IMAGE", + "SOURCE_IMAGE_FAMILY" ], "enumDescriptions": [ - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "BgpRouteNetworkLayerReachabilityInformation": { - "description": "Network Layer Reachability Information (NLRI) for a route.", - "id": "BgpRouteNetworkLayerReachabilityInformation", - "properties": { - "pathId": { - "description": "If the BGP session supports multiple paths (RFC 7911), the path identifier for this route.", - "format": "uint32", - "type": "integer" - }, - "prefix": { - "description": "Human readable CIDR notation for a prefix. E.g. 10.42.0.0/16.", + "Attach the existing disk in read-only mode. The request will fail if the disk was attached in read-write mode on the source instance. Applicable to: read-only disks.", + "Create a blank disk. The disk will be created unformatted. Applicable to: additional read-write disks, local SSDs.", + "Use the custom image specified in the custom_image field. Applicable to: boot disk, additional read-write disks.", + "Use the default instantiation option for the corresponding type of disk. For boot disk and any other R/W disks, new custom images will be created from each disk. For read-only disks, they will be attached in read-only mode. Local SSD disks will be created as blank volumes.", + "Do not include the disk in the instance template. Applicable to: additional read-write disks, local SSDs, read-only disks.", + "Use the same source image used for creation of the source instance's corresponding disk. The request will fail if the source VM's disk was created from a snapshot. Applicable to: boot disk, additional read-write disks.", + "Use the same source image family used for creation of the source instance's corresponding disk. The request will fail if the source image of the source disk does not belong to any image family. Applicable to: boot disk, additional read-write disks." + ], "type": "string" } }, "type": "object" }, - "Binding": { - "description": "Associates `members`, or principals, with a `role`.", - "id": "Binding", + "DiskList": { + "description": "A list of Disk resources.", + "id": "DiskList", "properties": { - "bindingId": { - "description": "This is deprecated and has no effect. Do not use.", + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, - "condition": { - "$ref": "Expr", - "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." - }, - "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", + "items": { + "description": "A list of Disk resources.", "items": { - "type": "string" + "$ref": "Disk" }, "type": "array" }, - "role": { - "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", - "type": "string" - } - }, - "type": "object" - }, - "BulkInsertDiskResource": { - "description": "A transient resource used in compute.disks.bulkInsert and compute.regionDisks.bulkInsert. It is only used to process requests and is not persisted.", - "id": "BulkInsertDiskResource", - "properties": { - "sourceConsistencyGroupPolicy": { - "description": "The URL of the DiskConsistencyGroupPolicy for the group of disks to clone. This may be a full or partial URL, such as: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy ", - "type": "string" - } - }, - "type": "object" - }, - "BulkInsertInstanceResource": { - "description": "A transient resource used in compute.instances.bulkInsert and compute.regionInstances.bulkInsert . This resource is not persisted anywhere, it is used only for processing the requests.", - "id": "BulkInsertInstanceResource", - "properties": { - "count": { - "description": "The maximum number of instances to create.", - "format": "int64", + "kind": { + "default": "compute#diskList", + "description": "[Output Only] Type of resource. Always compute#diskList for lists of disks.", "type": "string" }, - "instanceProperties": { - "$ref": "InstanceProperties", - "description": "The instance properties defining the VM instances to be created. Required if sourceInstanceTemplate is not provided." - }, - "locationPolicy": { - "$ref": "LocationPolicy", - "description": "Policy for choosing target zone. For more information, see Create VMs in bulk." - }, - "minCount": { - "description": "The minimum number of instances to create. If no min_count is specified then count is used as the default value. If min_count instances cannot be created, then no instances will be created and instances already created will be deleted.", - "format": "int64", + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", "type": "string" }, - "namePattern": { - "description": "The string pattern used for the names of the VMs. Either name_pattern or per_instance_properties must be set. The pattern must contain one continuous sequence of placeholder hash characters (#) with each character corresponding to one digit of the generated instance name. Example: a name_pattern of inst-#### generates instance names such as inst-0001 and inst-0002. If existing instances in the same project and zone have names that match the name pattern then the generated instance numbers start after the biggest existing number. For example, if there exists an instance with name inst-0050, then instance names generated using the pattern inst-#### begin with inst-0051. The name pattern placeholder #...# can contain up to 18 characters.", + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", "type": "string" }, - "perInstanceProperties": { - "additionalProperties": { - "$ref": "BulkInsertInstanceResourcePerInstanceProperties" + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } }, - "description": "Per-instance properties to be set on individual instances. Keys of this map specify requested instance names. Can be empty if name_pattern is used.", "type": "object" - }, - "sourceInstanceTemplate": { - "description": "Specifies the instance template from which to create instances. You may combine sourceInstanceTemplate with instanceProperties to override specific values from an existing instance template. Bulk API follows the semantics of JSON Merge Patch described by RFC 7396. It can be a full or partial URL. For example, the following are all valid URLs to an instance template: - https://www.googleapis.com/compute/v1/projects/project /global/instanceTemplates/instanceTemplate - projects/project/global/instanceTemplates/instanceTemplate - global/instanceTemplates/instanceTemplate This field is optional.", - "type": "string" } }, "type": "object" }, - "BulkInsertInstanceResourcePerInstanceProperties": { - "description": "Per-instance properties to be set on individual instances. To be extended in the future.", - "id": "BulkInsertInstanceResourcePerInstanceProperties", + "DiskMoveRequest": { + "id": "DiskMoveRequest", "properties": { - "hostname": { - "description": "Specifies the hostname of the instance. More details in: https://cloud.google.com/compute/docs/instances/custom-hostname-vm#naming_convention", + "destinationZone": { + "description": "The URL of the destination zone to move the disk. This can be a full or partial URL. For example, the following are all valid URLs to a zone: - https://www.googleapis.com/compute/v1/projects/project/zones/zone - projects/project/zones/zone - zones/zone ", "type": "string" }, - "name": { - "description": "This field is only temporary. It will be removed. Do not use it.", + "targetDisk": { + "description": "The URL of the target disk to move. This can be a full or partial URL. For example, the following are all valid URLs to a disk: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/disks/disk ", "type": "string" } }, "type": "object" }, - "BulkInsertOperationStatus": { - "id": "BulkInsertOperationStatus", + "DiskPairReplicationState": { + "id": "DiskPairReplicationState", "properties": { - "createdVmCount": { - "description": "[Output Only] Count of VMs successfully created so far.", - "format": "int32", - "type": "integer" - }, - "deletedVmCount": { - "description": "[Output Only] Count of VMs that got deleted during rollback.", - "format": "int32", - "type": "integer" - }, - "failedToCreateVmCount": { - "description": "[Output Only] Count of VMs that started creating but encountered an error.", - "format": "int32", - "type": "integer" - }, - "status": { - "description": "[Output Only] Creation status of BulkInsert operation - information if the flow is rolling forward or rolling back.", + "dataReplicationState": { + "description": "[Output Only] The status of disk creation. - ASYNC_REPLICATION_STATE_INITIALIZING: The device is doing the initial replication after starting the replication. - ASYNC_REPLICATION_STATE_REPLICATING_HEALTHY: The primary disk is healthily replicating to the secondary device i.e. last_replication_time is within RPO. - ASYNC_REPLICATION_STATE_REPLICATING_BEHIND_HIGH_CHURN: The replication is lagging above the SLO limit due to some internal issue. - ASYNC_REPLICATION_STATE_REPLICATING_BEHIND_SYSTEM_LAGGING: The replication is lagging, and the RPO is not being met due to some internal issue. - ASYNC_REPLICATION_STATE_REPLICATION_STUCK: The replication is completely stuck due to some internal error. - ASYNC_REPLICATION_STATE_STOPPING: The replication is under the process of being stopped. This is a transient state. - ASYNC_REPLICATION_STATE_STOPPED: The replication between the disk-pairs have stopped. ", "enum": [ - "CREATING", - "DONE", - "ROLLING_BACK", - "STATUS_UNSPECIFIED" + "ASYNC_REPLICATION_STATE_INITIALIZING", + "ASYNC_REPLICATION_STATE_REPLICATING_BEHIND_HIGH_CHURN", + "ASYNC_REPLICATION_STATE_REPLICATING_BEHIND_SYSTEM_LAGGING", + "ASYNC_REPLICATION_STATE_REPLICATING_HEALTHY", + "ASYNC_REPLICATION_STATE_REPLICATION_STUCK", + "ASYNC_REPLICATION_STATE_STOPPED", + "ASYNC_REPLICATION_STATE_STOPPING", + "ASYNC_REPLICATION_STATE_UNSPECIFIED" ], "enumDescriptions": [ - "Rolling forward - creating VMs.", - "Done", - "Rolling back - cleaning up after an error.", + "The device is doing the initial replication after starting the replication.", + "The replication is lagging behind (last_replication_time > RPO), because the disk's change rate is above the supported limit.", + "The replication is lagging, and the RPO is not being met due to some internal issue.", + "The primary disk is healthily replicating to the secondary device i.e. last_replication_time is within RPO.", + "The replication is completely stuck due to some internal error.", + "The replication between the disk-pairs have stopped.", + "The replication is under the process of being stopped. This is a transient sate.", "" ], "type": "string" }, - "targetVmCount": { - "description": "[Output Only] Count of VMs originally planned to be created.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "BundledLocalSsds": { - "id": "BundledLocalSsds", - "properties": { - "defaultInterface": { - "description": "The default disk interface if the interface is not specified.", - "type": "string" - }, - "partitionCount": { - "description": "The number of partitions.", - "format": "int32", - "type": "integer" + "replicationDiskPair": { + "$ref": "ReplicationDiskPair" } }, "type": "object" }, - "CacheInvalidationRule": { - "id": "CacheInvalidationRule", + "DiskParams": { + "description": "Additional disk params.", + "id": "DiskParams", "properties": { - "host": { - "description": "If set, this invalidation rule will only apply to requests with a Host header matching host.", - "type": "string" - }, - "path": { - "type": "string" + "resourceManagerTags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty.", + "type": "object" } }, "type": "object" }, - "CacheKeyPolicy": { - "description": "Message containing what to include in the cache key for a request for Cloud CDN.", - "id": "CacheKeyPolicy", + "DiskResourceStatus": { + "id": "DiskResourceStatus", "properties": { - "includeHost": { - "description": "If true, requests to different hosts will be cached separately.", - "type": "boolean" - }, - "includeHttpHeaders": { - "description": "Allows HTTP request headers (by name) to be used in the cache key.", - "items": { - "type": "string" - }, - "type": "array" - }, - "includeNamedCookies": { - "description": "Allows HTTP cookies (by name) to be used in the cache key. The name=value pair will be used in the cache key Cloud CDN generates.", - "items": { - "type": "string" - }, - "type": "array" - }, - "includeProtocol": { - "description": "If true, http and https requests will be cached separately.", - "type": "boolean" - }, - "includeQueryString": { - "description": "If true, include query string parameters in the cache key according to query_string_whitelist and query_string_blacklist. If neither is set, the entire query string will be included. If false, the query string will be excluded from the cache key entirely.", - "type": "boolean" + "asyncPrimaryDisk": { + "$ref": "DiskResourceStatusAsyncReplicationStatus" }, - "queryStringBlacklist": { - "description": "Names of query string parameters to exclude in cache keys. All other parameters will be included. Either specify query_string_whitelist or query_string_blacklist, not both. '&' and '=' will be percent encoded and not treated as delimiters.", - "items": { - "type": "string" + "asyncSecondaryDisks": { + "additionalProperties": { + "$ref": "DiskResourceStatusAsyncReplicationStatus" }, - "type": "array" + "description": "Key: disk, value: AsyncReplicationStatus message", + "type": "object" }, - "queryStringWhitelist": { - "description": "Names of query string parameters to include in cache keys. All other parameters will be excluded. Either specify query_string_whitelist or query_string_blacklist, not both. '&' and '=' will be percent encoded and not treated as delimiters.", - "items": { - "type": "string" - }, - "type": "array" + "usedBytes": { + "description": "[Output Only] Space used by data stored in the disk (in bytes). Note that this field is set only when the disk is in a storage pool.", + "format": "int64", + "type": "string" } }, "type": "object" }, - "CallCredentials": { - "description": "[Deprecated] gRPC call credentials to access the SDS server. gRPC call credentials to access the SDS server.", - "id": "CallCredentials", + "DiskResourceStatusAsyncReplicationStatus": { + "id": "DiskResourceStatusAsyncReplicationStatus", "properties": { - "callCredentialType": { - "description": "The type of call credentials to use for GRPC requests to the SDS server. This field can be set to one of the following: - GCE_VM: The local GCE VM service account credentials are used to access the SDS server. - FROM_PLUGIN: Custom authenticator credentials are used to access the SDS server.", + "state": { "enum": [ - "FROM_PLUGIN", - "GCE_VM", - "INVALID" + "ACTIVE", + "CREATED", + "STARTING", + "STATE_UNSPECIFIED", + "STOPPED", + "STOPPING" ], "enumDescriptions": [ - "Custom authenticator credentials are used to access the SDS server.", - "The local GCE VM service account credentials are used to access the SDS server.", - "" + "Replication is active.", + "Secondary disk is created and is waiting for replication to start.", + "Replication is starting.", + "", + "Replication is stopped.", + "Replication is stopping." ], "type": "string" - }, - "fromPlugin": { - "$ref": "MetadataCredentialsFromPlugin", - "description": "Custom authenticator credentials. Valid if callCredentialType is FROM_PLUGIN." } }, "type": "object" }, - "ChannelCredentials": { - "description": "[Deprecated] gRPC channel credentials to access the SDS server. gRPC channel credentials to access the SDS server.", - "id": "ChannelCredentials", + "DiskSettings": { + "id": "DiskSettings", "properties": { - "certificates": { - "$ref": "TlsCertificatePaths", - "description": "The call credentials to access the SDS server." + "accessLocation": { + "$ref": "DiskSettingsAccessLocation", + "description": "Policy of which locations are allowed to create regional snapshots." }, - "channelCredentialType": { - "description": "The channel credentials to access the SDS server. This field can be set to one of the following: CERTIFICATES: Use TLS certificates to access the SDS server. GCE_VM: Use local GCE VM credentials to access the SDS server.", - "enum": [ - "CERTIFICATES", - "GCE_VM", - "INVALID" - ], - "enumDescriptions": [ - "Use TLS certificates to access the SDS server.", - "Use local GCE VM credentials to access the SDS server.", - "" - ], - "type": "string" + "defaultResourcePolicies": { + "additionalProperties": { + "$ref": "DiskSettingsResourcePolicyDetails" + }, + "description": "An optional parameter for storing the default resource policies that will be used for the Disks created in the given scope. The Key is a string type, provided by customers to uniquely identify the default Resource Policy entry. The Value is a Default ResourcePolicyDetails Object used to represent the detailed information of the Resource Policy entry.", + "type": "object" } }, "type": "object" }, - "CircuitBreakers": { - "description": "Settings controlling the volume of requests, connections and retries to this backend service.", - "id": "CircuitBreakers", + "DiskSettingsAccessLocation": { + "description": "AccessLocation is only used for regional snapshot. It contains which regions are allowed to create a regional snapshot from disks located in the given region/zone. It includes key-value pairs designed to store the following structure. The keys should match their corresponding values, which must be provided: access_location: { locations { us-central1 { region: \"us-central1\" }, asia-west2 { region: \"asia-west2\" } } }", + "id": "DiskSettingsAccessLocation", "properties": { - "connectTimeout": { - "$ref": "Duration", - "description": "The timeout for new network connections to hosts." - }, - "maxConnections": { - "description": "The maximum number of connections to the backend service. If not specified, there is no limit. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", - "format": "int32", - "type": "integer" - }, - "maxPendingRequests": { - "description": "The maximum number of pending requests allowed to the backend service. If not specified, there is no limit. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", - "format": "int32", - "type": "integer" - }, - "maxRequests": { - "description": "The maximum number of parallel requests that allowed to the backend service. If not specified, there is no limit.", - "format": "int32", - "type": "integer" - }, - "maxRequestsPerConnection": { - "description": "Maximum requests for a single connection to the backend service. This parameter is respected by both the HTTP/1.1 and HTTP/2 implementations. If not specified, there is no limit. Setting this parameter to 1 will effectively disable keep alive. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", - "format": "int32", - "type": "integer" - }, - "maxRetries": { - "description": "The maximum number of parallel retries allowed to the backend cluster. If not specified, the default is 1. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true.", - "format": "int32", - "type": "integer" + "locations": { + "additionalProperties": { + "$ref": "DiskSettingsAccessLocationAccessLocationPreference" + }, + "description": "List of regions that can create a regional snapshot from the current region", + "type": "object" } }, "type": "object" }, - "ClientTlsSettings": { - "description": "[Deprecated] The client side authentication settings for connection originating from the backend service. the backend service.", - "id": "ClientTlsSettings", + "DiskSettingsAccessLocationAccessLocationPreference": { + "description": "A structure for specifying an allowed target region to create snapshot.", + "id": "DiskSettingsAccessLocationAccessLocationPreference", "properties": { - "clientTlsContext": { - "$ref": "TlsContext", - "description": "Configures the mechanism to obtain client-side security certificates and identity information. This field is only applicable when mode is set to MUTUAL." - }, - "mode": { - "description": "Indicates whether connections to this port should be secured using TLS. The value of this field determines how TLS is enforced. This can be set to one of the following values: DISABLE: Do not setup a TLS connection to the backends. SIMPLE: Originate a TLS connection to the backends. MUTUAL: Secure connections to the backends using mutual TLS by presenting client certificates for authentication.", - "enum": [ - "DISABLE", - "INVALID", - "MUTUAL", - "SIMPLE" - ], - "enumDescriptions": [ - "Do not setup a TLS connection to the backends.", - "", - "Secure connections to the backends using mutual TLS by presenting client certificates for authentication.", - "Originate a TLS connection to the backends." - ], - "type": "string" - }, - "sni": { - "description": "SNI string to present to the server during TLS handshake. This field is applicable only when mode is SIMPLE or MUTUAL.", + "region": { + "description": "Accessible region name", "type": "string" - }, - "subjectAltNames": { - "description": "A list of alternate names to verify the subject identity in the certificate.If specified, the proxy will verify that the server certificate's subject alt name matches one of the specified values. This field is applicable only when mode is SIMPLE or MUTUAL.", + } + }, + "type": "object" + }, + "DiskSettingsResourcePolicyDetails": { + "description": "This is the object for storing the detail information about the Resource Policy that will be set as default ones for the Disks that is using the DiskSettings. It contains: - one target Resource Policy referenced by its Fully-Qualified URL, - [output only] Disk Types that will be excluded from using this Resource Policy, - Other filtering support (e.g. Label filtering) for Default Resource Policy can be added here as well", + "id": "DiskSettingsResourcePolicyDetails", + "properties": { + "excludedDiskTypes": { + "description": "[Output Only] A list of Disk Types that will be excluded from applying the Resource Policy referenced here. If absent, Disks created in any DiskType can use the referenced default Resource Policy.", "items": { "type": "string" }, "type": "array" + }, + "resourcePolicy": { + "description": "The target Resource Policies identified by their Fully-Qualified URL.", + "type": "string" } }, "type": "object" }, - "Commitment": { - "description": "Represents a regional Commitment resource. Creating a commitment resource means that you are purchasing a committed use contract with an explicit start and end time. You can create commitments based on vCPUs and memory usage and receive discounted rates. For full details, read Signing Up for Committed Use Discounts.", - "id": "Commitment", + "DiskType": { + "description": "Represents a Disk Type resource. Google Compute Engine has two Disk Type resources: * [Regional](/compute/docs/reference/rest/alpha/regionDiskTypes) * [Zonal](/compute/docs/reference/rest/alpha/diskTypes) You can choose from a variety of disk types based on your needs. For more information, read Storage options. The diskTypes resource represents disk types for a zonal persistent disk. For more information, read Zonal persistent disks. The regionDiskTypes resource represents disk types for a regional persistent disk. For more information, read Regional persistent disks.", + "id": "DiskType", "properties": { - "autoRenew": { - "description": "Specifies whether to enable automatic renewal for the commitment. The default value is false if not specified. The field can be updated until the day of the commitment expiration at 12:00am PST. If the field is set to true, the commitment will be automatically renewed for either one or three years according to the terms of the existing commitment.", - "type": "boolean" - }, - "category": { - "description": "The category of the commitment. Category MACHINE specifies commitments composed of machine resources such as VCPU or MEMORY, listed in resources. Category LICENSE specifies commitments composed of software licenses, listed in licenseResources. Note that only MACHINE commitments should have a Type specified.", - "enum": [ - "CATEGORY_UNSPECIFIED", - "LICENSE", - "MACHINE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, "creationTimestamp": { "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" }, - "customEndTimestamp": { - "description": "[Input Only] Optional, specifies the CUD end time requested by the customer in RFC3339 text format. Needed when the customer wants CUD's end date is later than the start date + term duration.", - "type": "string" - }, - "description": { - "description": "An optional description of this resource. Provide this property when you create the resource.", + "defaultDiskSizeGb": { + "description": "[Output Only] Server-defined default disk size in GB.", + "format": "int64", "type": "string" }, - "endTimestamp": { - "description": "[Output Only] Commitment end time in RFC3339 text format.", - "type": "string" + "deprecated": { + "$ref": "DeprecationStatus", + "description": "[Output Only] The deprecation status associated with this disk type." }, - "existingReservations": { - "description": "Specifies the already existing reservations to attach to the Commitment. This field is optional, and it can be a full or partial URL. For example, the following are valid URLs to an reservation: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /reservations/reservation - projects/project/zones/zone/reservations/reservation ", - "items": { - "type": "string" - }, - "type": "array" + "description": { + "description": "[Output Only] An optional description of this resource.", + "type": "string" }, "id": { "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", @@ -51260,62 +55394,19 @@ "type": "string" }, "kind": { - "default": "compute#commitment", - "description": "[Output Only] Type of the resource. Always compute#commitment for commitments.", + "default": "compute#diskType", + "description": "[Output Only] Type of the resource. Always compute#diskType for disk types.", "type": "string" }, - "licenseResource": { - "$ref": "LicenseResourceCommitment", - "description": "The license specification required as part of a license commitment." - }, - "mergeSourceCommitments": { - "description": "List of source commitments to be merged into a new commitment.", - "items": { - "type": "string" - }, - "type": "array" - }, "name": { - "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "description": "[Output Only] Name of the resource.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, - "plan": { - "description": "The plan for this commitment, which determines duration and discount rate. The currently supported plans are TWELVE_MONTH (1 year), and THIRTY_SIX_MONTH (3 years).", - "enum": [ - "INVALID", - "THIRTY_SIX_MONTH", - "TWELVE_MONTH" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, "region": { - "description": "[Output Only] URL of the region where this commitment may be used.", + "description": "[Output Only] URL of the region where the disk type resides. Only applicable for regional resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", "type": "string" }, - "reservations": { - "description": "List of create-on-create reservations for this commitment.", - "items": { - "$ref": "Reservation" - }, - "type": "array" - }, - "resourceStatus": { - "$ref": "CommitmentResourceStatus", - "description": "[Output Only] Status information for Commitment resource." - }, - "resources": { - "description": "A list of commitment amounts for particular resources. Note that VCPU and MEMORY resource commitments must occur together.", - "items": { - "$ref": "ResourceCommitment" - }, - "type": "array" - }, "selfLink": { "description": "[Output Only] Server-defined URL for the resource.", "type": "string" @@ -51324,95 +55415,19 @@ "description": "[Output Only] Server-defined URL for this resource with the resource id.", "type": "string" }, - "splitSourceCommitment": { - "description": "Source commitment to be split into a new commitment.", - "type": "string" - }, - "startTimestamp": { - "description": "[Output Only] Commitment start time in RFC3339 text format.", - "type": "string" - }, - "status": { - "description": "[Output Only] Status of the commitment with regards to eventual expiration (each commitment has an end date defined). One of the following values: NOT_YET_ACTIVE, ACTIVE, EXPIRED.", - "enum": [ - "ACTIVE", - "CANCELED_EARLY_TERMINATION", - "CANCELING", - "CANCELLED", - "CREATING", - "EXPIRED", - "NOT_YET_ACTIVE" - ], - "enumDescriptions": [ - "", - "", - "", - "Deprecate CANCELED status. Will use separate status to differentiate cancel by mergeCud or manual cancellation.", - "", - "", - "" - ], - "type": "string" - }, - "statusMessage": { - "description": "[Output Only] An optional, human-readable explanation of the status.", + "validDiskSize": { + "description": "[Output Only] An optional textual description of the valid disk size, such as \"10GB-10TB\".", "type": "string" }, - "type": { - "description": "The type of commitment, which affects the discount rate and the eligible resources. Type MEMORY_OPTIMIZED specifies a commitment that will only apply to memory optimized machines. Type ACCELERATOR_OPTIMIZED specifies a commitment that will only apply to accelerator optimized machines.", - "enum": [ - "ACCELERATOR_OPTIMIZED", - "ACCELERATOR_OPTIMIZED_A3", - "ACCELERATOR_OPTIMIZED_A3_MEGA", - "COMPUTE_OPTIMIZED", - "COMPUTE_OPTIMIZED_C2D", - "COMPUTE_OPTIMIZED_C3", - "COMPUTE_OPTIMIZED_C3D", - "COMPUTE_OPTIMIZED_H3", - "GENERAL_PURPOSE", - "GENERAL_PURPOSE_C4", - "GENERAL_PURPOSE_E2", - "GENERAL_PURPOSE_N2", - "GENERAL_PURPOSE_N2D", - "GENERAL_PURPOSE_N4", - "GENERAL_PURPOSE_T2D", - "GRAPHICS_OPTIMIZED", - "MEMORY_OPTIMIZED", - "MEMORY_OPTIMIZED_M3", - "MEMORY_OPTIMIZED_X4", - "STORAGE_OPTIMIZED_Z3", - "TYPE_UNSPECIFIED" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], + "zone": { + "description": "[Output Only] URL of the zone where the disk type resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", "type": "string" } }, "type": "object" }, - "CommitmentAggregatedList": { - "id": "CommitmentAggregatedList", + "DiskTypeAggregatedList": { + "id": "DiskTypeAggregatedList", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", @@ -51420,15 +55435,15 @@ }, "items": { "additionalProperties": { - "$ref": "CommitmentsScopedList", - "description": "[Output Only] Name of the scope containing this set of commitments." + "$ref": "DiskTypesScopedList", + "description": "[Output Only] Name of the scope containing this set of disk types." }, - "description": "A list of CommitmentsScopedList resources.", + "description": "A list of DiskTypesScopedList resources.", "type": "object" }, "kind": { - "default": "compute#commitmentAggregatedList", - "description": "[Output Only] Type of resource. Always compute#commitmentAggregatedList for aggregated lists of commitments.", + "default": "compute#diskTypeAggregatedList", + "description": "[Output Only] Type of resource. Always compute#diskTypeAggregatedList.", "type": "string" }, "nextPageToken": { @@ -51473,6 +55488,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -51509,6 +55525,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -51533,6 +55550,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -51570,24 +55588,24 @@ }, "type": "object" }, - "CommitmentList": { - "description": "Contains a list of Commitment resources.", - "id": "CommitmentList", + "DiskTypeList": { + "description": "Contains a list of disk types.", + "id": "DiskTypeList", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "description": "A list of Commitment resources.", + "description": "A list of DiskType resources.", "items": { - "$ref": "Commitment" + "$ref": "DiskType" }, "type": "array" }, "kind": { - "default": "compute#commitmentList", - "description": "[Output Only] Type of resource. Always compute#commitmentList for lists of commitments.", + "default": "compute#diskTypeList", + "description": "[Output Only] Type of resource. Always compute#diskTypeList for disk types.", "type": "string" }, "nextPageToken": { @@ -51625,6 +55643,318 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "DiskTypesScopedList": { + "id": "DiskTypesScopedList", + "properties": { + "diskTypes": { + "description": "[Output Only] A list of disk types contained in this scope.", + "items": { + "$ref": "DiskType" + }, + "type": "array" + }, + "warning": { + "description": "[Output Only] Informational warning which replaces the list of disk types when the list is empty.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "DisksAddResourcePoliciesRequest": { + "id": "DisksAddResourcePoliciesRequest", + "properties": { + "resourcePolicies": { + "description": "Full or relative path to the resource policy to be added to this disk. You can only specify one resource policy.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "DisksRemoveResourcePoliciesRequest": { + "id": "DisksRemoveResourcePoliciesRequest", + "properties": { + "resourcePolicies": { + "description": "Resource policies to be removed from this disk.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "DisksResizeRequest": { + "id": "DisksResizeRequest", + "properties": { + "sizeGb": { + "description": "The new size of the persistent disk, which is specified in GB.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "DisksScopedList": { + "id": "DisksScopedList", + "properties": { + "disks": { + "description": "[Output Only] A list of disks contained in this scope.", + "items": { + "$ref": "Disk" + }, + "type": "array" + }, + "warning": { + "description": "[Output Only] Informational warning which replaces the list of disks when the list is empty.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -51661,6 +55991,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -51685,6 +56016,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -51717,64 +56049,193 @@ "type": "string" } }, - "type": "object" + "type": "object" + } + }, + "type": "object" + }, + "DisksStartAsyncReplicationRequest": { + "id": "DisksStartAsyncReplicationRequest", + "properties": { + "asyncSecondaryDisk": { + "description": "The secondary disk to start asynchronous replication to. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk ", + "type": "string" + } + }, + "type": "object" + }, + "DisksStopGroupAsyncReplicationResource": { + "description": "A transient resource used in compute.disks.stopGroupAsyncReplication and compute.regionDisks.stopGroupAsyncReplication. It is only used to process requests and is not persisted.", + "id": "DisksStopGroupAsyncReplicationResource", + "properties": { + "resourcePolicy": { + "description": "The URL of the DiskConsistencyGroupPolicy for the group of disks to stop. This may be a full or partial URL, such as: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy ", + "type": "string" + } + }, + "type": "object" + }, + "DisplayDevice": { + "description": "A set of Display Device options", + "id": "DisplayDevice", + "properties": { + "enableDisplay": { + "description": "Defines whether the instance has Display enabled.", + "type": "boolean" + } + }, + "type": "object" + }, + "DistributionPolicy": { + "id": "DistributionPolicy", + "properties": { + "targetShape": { + "description": "The distribution shape to which the group converges either proactively or on resize events (depending on the value set in updatePolicy.instanceRedistributionType).", + "enum": [ + "ANY", + "ANY_SINGLE_ZONE", + "BALANCED", + "EVEN" + ], + "enumDescriptions": [ + "The group picks zones for creating VM instances to fulfill the requested number of VMs within present resource constraints and to maximize utilization of unused zonal reservations. Recommended for batch workloads that do not require high availability.", + "The group creates all VM instances within a single zone. The zone is selected based on the present resource constraints and to maximize utilization of unused zonal reservations. Recommended for batch workloads with heavy interprocess communication.", + "The group prioritizes acquisition of resources, scheduling VMs in zones where resources are available while distributing VMs as evenly as possible across selected zones to minimize the impact of zonal failure. Recommended for highly available serving workloads.", + "The group schedules VM instance creation and deletion to achieve and maintain an even number of managed instances across the selected zones. The distribution is even when the number of managed instances does not differ by more than 1 between any two zones. Recommended for highly available serving workloads." + ], + "type": "string" + }, + "zones": { + "description": "Zones where the regional managed instance group will create and manage its instances.", + "items": { + "$ref": "DistributionPolicyZoneConfiguration" + }, + "type": "array" } }, "type": "object" }, - "CommitmentResourceStatus": { - "description": "[Output Only] Contains output only fields.", - "id": "CommitmentResourceStatus", + "DistributionPolicyZoneConfiguration": { + "id": "DistributionPolicyZoneConfiguration", "properties": { - "cancellationInformation": { - "$ref": "CommitmentResourceStatusCancellationInformation", - "description": "[Output Only] An optional, contains all the needed information of cancellation." + "zone": { + "annotations": { + "required": [ + "compute.regionInstanceGroupManagers.insert", + "compute.regionInstanceGroupManagers.update" + ] + }, + "description": "The URL of the zone. The zone must exist in the region where the managed instance group is located.", + "type": "string" + } + }, + "type": "object" + }, + "Duration": { + "description": "A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like \"day\" or \"month\". Range is approximately 10,000 years.", + "id": "Duration", + "properties": { + "nanos": { + "description": "Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.", + "format": "int32", + "type": "integer" }, - "customTermEligibilityEndTimestamp": { - "description": "[Output Only] Indicates the end time of customer's eligibility to send custom term requests in RFC3339 text format. Term extension requests that (not the end time in the request) after this time will be rejected.", + "seconds": { + "description": "Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years", + "format": "int64", "type": "string" } }, "type": "object" }, - "CommitmentResourceStatusCancellationInformation": { - "id": "CommitmentResourceStatusCancellationInformation", + "ErrorInfo": { + "description": "Describes the cause of the error with structured details. Example of an error when contacting the \"pubsub.googleapis.com\" API when it is not enabled: { \"reason\": \"API_DISABLED\" \"domain\": \"googleapis.com\" \"metadata\": { \"resource\": \"projects/123\", \"service\": \"pubsub.googleapis.com\" } } This response indicates that the pubsub.googleapis.com API is not enabled. Example of an error that is returned when attempting to create a Spanner instance in a region that is out of stock: { \"reason\": \"STOCKOUT\" \"domain\": \"spanner.googleapis.com\", \"metadata\": { \"availableRegions\": \"us-central1,us-east2\" } }", + "id": "ErrorInfo", "properties": { - "canceledCommitment": { - "$ref": "Money", - "description": "[Output Only] An optional amount of CUDs canceled so far in the last 365 days." + "domain": { + "description": "The logical grouping to which the \"reason\" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: \"pubsub.googleapis.com\". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is \"googleapis.com\".", + "type": "string" }, - "canceledCommitmentLastUpdatedTimestamp": { - "description": "[Output Only] An optional last update time of canceled_commitment. RFC3339 text format.", + "metadatas": { + "additionalProperties": { + "type": "string" + }, + "description": "Additional structured details about this error. Keys must match a regular expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{\"instanceLimit\": \"100/request\"}`, should be returned as, `{\"instanceLimitPerRequest\": \"100\"}`, if the client exceeds the number of instances that can be created in a single (batch) request.", + "type": "object" + }, + "reason": { + "description": "The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE.", + "type": "string" + } + }, + "type": "object" + }, + "ExchangedPeeringRoute": { + "id": "ExchangedPeeringRoute", + "properties": { + "destRange": { + "description": "The destination range of the route.", "type": "string" }, - "cancellationCap": { - "$ref": "Money", - "description": "[Output Only] An optional,the cancellation cap for how much commitments can be canceled in a rolling 365 per billing account." + "imported": { + "description": "True if the peering route has been imported from a peer. The actual import happens if the field networkPeering.importCustomRoutes is true for this network, and networkPeering.exportCustomRoutes is true for the peer network, and the import does not result in a route conflict.", + "type": "boolean" }, - "cancellationFee": { - "$ref": "Money", - "description": "[Output Only] An optional, cancellation fee." + "nextHopRegion": { + "description": "The region of peering route next hop, only applies to dynamic routes.", + "type": "string" }, - "cancellationFeeExpirationTimestamp": { - "description": "[Output Only] An optional, cancellation fee expiration time. RFC3339 text format.", + "priority": { + "description": "The priority of the peering route.", + "format": "uint32", + "type": "integer" + }, + "type": { + "description": "The type of the peering route.", + "enum": [ + "DYNAMIC_PEERING_ROUTE", + "STATIC_PEERING_ROUTE", + "SUBNET_PEERING_ROUTE" + ], + "enumDescriptions": [ + "For routes exported from local network.", + "The peering route.", + "The peering route corresponding to subnetwork range." + ], "type": "string" } }, "type": "object" }, - "CommitmentsScopedList": { - "id": "CommitmentsScopedList", + "ExchangedPeeringRoutesList": { + "id": "ExchangedPeeringRoutesList", "properties": { - "commitments": { - "description": "[Output Only] A list of commitments contained in this scope.", + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of ExchangedPeeringRoute resources.", "items": { - "$ref": "Commitment" + "$ref": "ExchangedPeeringRoute" }, "type": "array" }, + "kind": { + "default": "compute#exchangedPeeringRoutesList", + "description": "[Output Only] Type of resource. Always compute#exchangedPeeringRoutesList for exchanged peering routes lists.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, "warning": { - "description": "[Output Only] Informational warning which replaces the list of commitments when the list is empty.", + "description": "[Output Only] Informational warning message.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", @@ -51800,6 +56261,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -51836,6 +56298,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -51860,6 +56323,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -51897,440 +56361,60 @@ }, "type": "object" }, - "Condition": { - "description": "This is deprecated and has no effect. Do not use.", - "id": "Condition", - "properties": { - "iam": { - "description": "This is deprecated and has no effect. Do not use.", - "enum": [ - "APPROVER", - "ATTRIBUTION", - "AUTHORITY", - "CREDENTIALS_TYPE", - "CREDS_ASSERTION", - "JUSTIFICATION_TYPE", - "NO_ATTR", - "SECURITY_REALM" - ], - "enumDescriptions": [ - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use." - ], - "type": "string" - }, - "op": { - "description": "This is deprecated and has no effect. Do not use.", - "enum": [ - "DISCHARGED", - "EQUALS", - "IN", - "NOT_EQUALS", - "NOT_IN", - "NO_OP" - ], - "enumDescriptions": [ - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use." - ], - "type": "string" - }, - "svc": { - "description": "This is deprecated and has no effect. Do not use.", - "type": "string" - }, - "sys": { - "description": "This is deprecated and has no effect. Do not use.", - "enum": [ - "IP", - "NAME", - "NO_ATTR", - "REGION", - "SERVICE" - ], - "enumDescriptions": [ - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use." - ], - "type": "string" - }, - "values": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "ConfidentialInstanceConfig": { - "description": "A set of Confidential Instance options.", - "id": "ConfidentialInstanceConfig", - "properties": { - "confidentialInstanceType": { - "description": "Defines the type of technology used by the confidential instance.", - "enum": [ - "CONFIDENTIAL_INSTANCE_TYPE_UNSPECIFIED", - "SEV", - "SEV_SNP", - "TDX" - ], - "enumDescriptions": [ - "No type specified. Do not use this value.", - "AMD Secure Encrypted Virtualization.", - "AMD Secure Encrypted Virtualization - Secure Nested Paging.", - "Intel Trust Domain eXtension." - ], - "type": "string" - }, - "enableConfidentialCompute": { - "description": "Defines whether the instance should have confidential compute enabled.", - "type": "boolean" - } - }, - "type": "object" - }, - "ConnectionDraining": { - "description": "Message containing connection draining configuration.", - "id": "ConnectionDraining", - "properties": { - "drainingTimeoutSec": { - "description": "Configures a duration timeout for existing requests on a removed backend instance. For supported load balancers and protocols, as described in Enabling connection draining.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ConsistentHashLoadBalancerSettings": { - "description": "This message defines settings for a consistent hash style load balancer.", - "id": "ConsistentHashLoadBalancerSettings", - "properties": { - "httpCookie": { - "$ref": "ConsistentHashLoadBalancerSettingsHttpCookie", - "description": "Hash is based on HTTP Cookie. This field describes a HTTP cookie that will be used as the hash key for the consistent hash load balancer. If the cookie is not present, it will be generated. This field is applicable if the sessionAffinity is set to HTTP_COOKIE. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true." - }, - "httpHeaderName": { - "description": "The hash based on the value of the specified header field. This field is applicable if the sessionAffinity is set to HEADER_FIELD.", - "type": "string" - }, - "minimumRingSize": { - "description": "The minimum number of virtual nodes to use for the hash ring. Defaults to 1024. Larger ring sizes result in more granular load distributions. If the number of hosts in the load balancing pool is larger than the ring size, each host will be assigned a single virtual node.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "ConsistentHashLoadBalancerSettingsHttpCookie": { - "description": "The information about the HTTP Cookie on which the hash function is based for load balancing policies that use a consistent hash.", - "id": "ConsistentHashLoadBalancerSettingsHttpCookie", - "properties": { - "name": { - "description": "Name of the cookie.", - "type": "string" - }, - "path": { - "description": "Path to set for the cookie.", - "type": "string" - }, - "ttl": { - "$ref": "Duration", - "description": "Lifetime of the cookie." - } - }, - "type": "object" - }, - "CorsPolicy": { - "description": "The specification for allowing client-side cross-origin requests. For more information about the W3C recommendation for cross-origin resource sharing (CORS), see Fetch API Living Standard.", - "id": "CorsPolicy", - "properties": { - "allowCredentials": { - "description": "In response to a preflight request, setting this to true indicates that the actual request can include user credentials. This field translates to the Access-Control-Allow-Credentials header. Default is false.", - "type": "boolean" - }, - "allowHeaders": { - "description": "Specifies the content for the Access-Control-Allow-Headers header.", - "items": { - "type": "string" - }, - "type": "array" - }, - "allowMethods": { - "description": "Specifies the content for the Access-Control-Allow-Methods header.", - "items": { - "type": "string" - }, - "type": "array" - }, - "allowOriginRegexes": { - "description": "Specifies a regular expression that matches allowed origins. For more information, see regular expression syntax . An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED.", - "items": { - "type": "string" - }, - "type": "array" - }, - "allowOrigins": { - "description": "Specifies the list of origins that is allowed to do CORS requests. An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.", - "items": { - "type": "string" - }, - "type": "array" - }, - "disabled": { - "description": "If true, disables the CORS policy. The default value is false, which indicates that the CORS policy is in effect.", - "type": "boolean" - }, - "exposeHeaders": { - "description": "Specifies the content for the Access-Control-Expose-Headers header.", - "items": { - "type": "string" - }, - "type": "array" - }, - "maxAge": { - "description": "Specifies how long results of a preflight request can be cached in seconds. This field translates to the Access-Control-Max-Age header.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "CustomErrorResponsePolicy": { - "description": "Specifies the custom error response policy that must be applied when the backend service or backend bucket responds with an error.", - "id": "CustomErrorResponsePolicy", - "properties": { - "errorResponseRules": { - "description": "Specifies rules for returning error responses. In a given policy, if you specify rules for both a range of error codes as well as rules for specific error codes then rules with specific error codes have a higher priority. For example, assume that you configure a rule for 401 (Un-authorized) code, and another for all 4 series error codes (4XX). If the backend service returns a 401, then the rule for 401 will be applied. However if the backend service returns a 403, the rule for 4xx takes effect.", - "items": { - "$ref": "CustomErrorResponsePolicyCustomErrorResponseRule" - }, - "type": "array" - }, - "errorService": { - "description": "The full or partial URL to the BackendBucket resource that contains the custom error content. Examples are: - https://www.googleapis.com/compute/v1/projects/project/global/backendBuckets/myBackendBucket - compute/v1/projects/project/global/backendBuckets/myBackendBucket - global/backendBuckets/myBackendBucket If errorService is not specified at lower levels like pathMatcher, pathRule and routeRule, an errorService specified at a higher level in the UrlMap will be used. If UrlMap.defaultCustomErrorResponsePolicy contains one or more errorResponseRules[], it must specify errorService. If load balancer cannot reach the backendBucket, a simple Not Found Error will be returned, with the original response code (or overrideResponseCode if configured). errorService is not supported for internal or regional HTTP/HTTPS load balancers.", - "type": "string" - } - }, - "type": "object" - }, - "CustomErrorResponsePolicyCustomErrorResponseRule": { - "description": "Specifies the mapping between the response code that will be returned along with the custom error content and the response code returned by the backend service.", - "id": "CustomErrorResponsePolicyCustomErrorResponseRule", - "properties": { - "matchResponseCodes": { - "description": "Valid values include: - A number between 400 and 599: For example 401 or 503, in which case the load balancer applies the policy if the error code exactly matches this value. - 5xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 500 to 599. - 4xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 400 to 499. Values must be unique within matchResponseCodes and across all errorResponseRules of CustomErrorResponsePolicy.", - "items": { - "type": "string" - }, - "type": "array" - }, - "overrideResponseCode": { - "description": "The HTTP status code returned with the response containing the custom error content. If overrideResponseCode is not supplied, the same response code returned by the original backend bucket or backend service is returned to the client.", - "format": "int32", - "type": "integer" - }, - "path": { - "description": "The full path to a file within backendBucket . For example: /errors/defaultError.html path must start with a leading slash. path cannot have trailing slashes. If the file is not available in backendBucket or the load balancer cannot reach the BackendBucket, a simple Not Found Error is returned to the client. The value must be from 1 to 1024 characters", - "type": "string" - } - }, - "type": "object" - }, - "CustomerEncryptionKey": { - "id": "CustomerEncryptionKey", - "properties": { - "kmsKeyName": { - "description": "The name of the encryption key that is stored in Google Cloud KMS. For example: \"kmsKeyName\": \"projects/kms_project_id/locations/region/keyRings/ key_region/cryptoKeys/key The fully-qualifed key name may be returned for resource GET requests. For example: \"kmsKeyName\": \"projects/kms_project_id/locations/region/keyRings/ key_region/cryptoKeys/key /cryptoKeyVersions/1 ", - "type": "string" - }, - "kmsKeyServiceAccount": { - "description": "The service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used. For example: \"kmsKeyServiceAccount\": \"name@project_id.iam.gserviceaccount.com/ ", - "type": "string" - }, - "rawKey": { - "description": "Specifies a 256-bit customer-supplied encryption key, encoded in RFC 4648 base64 to either encrypt or decrypt this resource. You can provide either the rawKey or the rsaEncryptedKey. For example: \"rawKey\": \"SGVsbG8gZnJvbSBHb29nbGUgQ2xvdWQgUGxhdGZvcm0=\" ", - "type": "string" - }, - "rsaEncryptedKey": { - "description": "Specifies an RFC 4648 base64 encoded, RSA-wrapped 2048-bit customer-supplied encryption key to either encrypt or decrypt this resource. You can provide either the rawKey or the rsaEncryptedKey. For example: \"rsaEncryptedKey\": \"ieCx/NcW06PcT7Ep1X6LUTc/hLvUDYyzSZPPVCVPTVEohpeHASqC8uw5TzyO9U+Fka9JFH z0mBibXUInrC/jEk014kCK/NPjYgEMOyssZ4ZINPKxlUh2zn1bV+MCaTICrdmuSBTWlUUiFoD D6PYznLwh8ZNdaheCeZ8ewEXgFQ8V+sDroLaN3Xs3MDTXQEMMoNUXMCZEIpg9Vtp9x2oe==\" The key must meet the following requirements before you can provide it to Compute Engine: 1. The key is wrapped using a RSA public key certificate provided by Google. 2. After being wrapped, the key must be encoded in RFC 4648 base64 encoding. Gets the RSA public key certificate provided by Google at: https://cloud-certs.storage.googleapis.com/google-cloud-csek-ingress.pem ", - "type": "string" - }, - "sha256": { - "description": "[Output only] The RFC 4648 base64 encoded SHA-256 hash of the customer-supplied encryption key that protects this resource.", - "type": "string" - } - }, - "type": "object" - }, - "CustomerEncryptionKeyProtectedDisk": { - "id": "CustomerEncryptionKeyProtectedDisk", - "properties": { - "diskEncryptionKey": { - "$ref": "CustomerEncryptionKey", - "description": "Decrypts data associated with the disk with a customer-supplied encryption key." - }, - "source": { - "description": "Specifies a valid partial or full URL to an existing Persistent Disk resource. This field is only applicable for persistent disks. For example: \"source\": \"/compute/v1/projects/project_id/zones/zone/disks/ disk_name ", - "type": "string" - } - }, - "type": "object" - }, - "DeprecationStatus": { - "description": "Deprecation status for a public resource.", - "id": "DeprecationStatus", + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", + "id": "Expr", "properties": { - "deleted": { - "description": "An optional RFC3339 timestamp on or after which the state of this resource is intended to change to DELETED. This is only informational and the status will not change unless the client explicitly changes it.", - "type": "string" - }, - "deprecated": { - "description": "An optional RFC3339 timestamp on or after which the state of this resource is intended to change to DEPRECATED. This is only informational and the status will not change unless the client explicitly changes it.", + "description": { + "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", "type": "string" }, - "obsolete": { - "description": "An optional RFC3339 timestamp on or after which the state of this resource is intended to change to OBSOLETE. This is only informational and the status will not change unless the client explicitly changes it.", + "expression": { + "description": "Textual representation of an expression in Common Expression Language syntax.", "type": "string" }, - "replacement": { - "description": "The URL of the suggested replacement for a deprecated resource. The suggested replacement resource must be the same kind of resource as the deprecated resource.", + "location": { + "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", "type": "string" }, - "state": { - "description": "The deprecation state of this resource. This can be ACTIVE, DEPRECATED, OBSOLETE, or DELETED. Operations which communicate the end of life date for an image, can use ACTIVE. Operations which create a new resource using a DEPRECATED resource will return successfully, but with a warning indicating the deprecated resource and recommending its replacement. Operations which use OBSOLETE or DELETED resources will be rejected and result in an error.", - "enum": [ - "ACTIVE", - "DELETED", - "DEPRECATED", - "OBSOLETE" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ], + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", "type": "string" - }, - "stateOverride": { - "$ref": "RolloutPolicy", - "description": "The rollout policy for this deprecation. This policy is only enforced by image family views. The rollout policy restricts the zones where the associated resource is considered in a deprecated state. When the rollout policy does not include the user specified zone, or if the zone is rolled out, the associated resource is considered in a deprecated state. The rollout policy for this deprecation is read-only, except for allowlisted users. This field might not be configured. To view the latest non-deprecated image in a specific zone, use the imageFamilyViews.get method." } }, "type": "object" }, - "Disk": { - "description": "Represents a Persistent Disk resource. Google Compute Engine has two Disk resources: * [Zonal](/compute/docs/reference/rest/alpha/disks) * [Regional](/compute/docs/reference/rest/alpha/regionDisks) Persistent disks are required for running your VM instances. Create both boot and non-boot (data) persistent disks. For more information, read Persistent Disks. For more storage options, read Storage options. The disks resource represents a zonal persistent disk. For more information, read Zonal persistent disks. The regionDisks resource represents a regional persistent disk. For more information, read Regional resources.", - "id": "Disk", + "ExternalVpnGateway": { + "description": "Represents an external VPN gateway. External VPN gateway is the on-premises VPN gateway(s) or another cloud provider's VPN gateway that connects to your Google Cloud VPN gateway. To create a highly available VPN from Google Cloud Platform to your VPN gateway or another cloud provider's VPN gateway, you must create a external VPN gateway resource with information about the other gateway. For more information about using external VPN gateways, see Creating an HA VPN gateway and tunnel pair to a peer VPN.", + "id": "ExternalVpnGateway", "properties": { - "accessMode": { - "description": "The access mode of the disk. - READ_WRITE_SINGLE: The default AccessMode, means the disk can be attached to single instance in RW mode. - READ_WRITE_MANY: The AccessMode means the disk can be attached to multiple instances in RW mode. - READ_ONLY_MANY: The AccessMode means the disk can be attached to multiple instances in RO mode. The AccessMode is only valid for Hyperdisk disk types.", - "enum": [ - "READ_ONLY_MANY", - "READ_WRITE_MANY", - "READ_WRITE_SINGLE" - ], - "enumDescriptions": [ - "The AccessMode means the disk can be attached to multiple instances in RO mode.", - "The AccessMode means the disk can be attached to multiple instances in RW mode.", - "The default AccessMode, means the disk can be attached to single instance in RW mode." - ], - "type": "string" - }, - "architecture": { - "description": "The architecture of the disk. Valid values are ARM64 or X86_64.", - "enum": [ - "ARCHITECTURE_UNSPECIFIED", - "ARM64", - "X86_64" - ], - "enumDescriptions": [ - "Default value indicating Architecture is not set.", - "Machines with architecture ARM64", - "Machines with architecture X86_64" - ], - "type": "string" - }, - "asyncPrimaryDisk": { - "$ref": "DiskAsyncReplication", - "description": "Disk asynchronously replicated into this disk." - }, - "asyncSecondaryDisks": { - "additionalProperties": { - "$ref": "DiskAsyncReplicationList" - }, - "description": "[Output Only] A list of disks this disk is asynchronously replicated to.", - "type": "object" - }, "creationTimestamp": { "description": "[Output Only] Creation timestamp in RFC3339 text format.", - "type": "string" - }, - "description": { - "description": "An optional description of this resource. Provide this property when you create the resource.", - "type": "string" - }, - "diskEncryptionKey": { - "$ref": "CustomerEncryptionKey", - "description": "Encrypts the disk using a customer-supplied encryption key or a customer-managed encryption key. Encryption keys do not protect access to metadata of the disk. After you encrypt a disk with a customer-supplied key, you must provide the same key if you use the disk later. For example, to create a disk snapshot, to create a disk image, to create a machine image, or to attach the disk to a virtual machine. After you encrypt a disk with a customer-managed key, the diskEncryptionKey.kmsKeyName is set to a key *version* name once the disk is created. The disk is encrypted with this version of the key. In the response, diskEncryptionKey.kmsKeyName appears in the following format: \"diskEncryptionKey.kmsKeyName\": \"projects/kms_project_id/locations/region/keyRings/ key_region/cryptoKeys/key /cryptoKeysVersions/version If you do not provide an encryption key when creating the disk, then the disk is encrypted using an automatically generated key and you don't need to provide a key to use the disk later." - }, - "enableConfidentialCompute": { - "description": "Whether this disk is using confidential compute mode.", - "type": "boolean" - }, - "eraseWindowsVssSignature": { - "description": "Specifies whether the disk restored from a source snapshot should erase Windows specific VSS signature.", - "type": "boolean" - }, - "guestOsFeatures": { - "description": "A list of features to enable on the guest operating system. Applicable only for bootable images. Read Enabling guest operating system features to see a list of available options.", - "items": { - "$ref": "GuestOsFeature" - }, - "type": "array" + "type": "string" + }, + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", + "type": "string" }, "id": { "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", "format": "uint64", "type": "string" }, - "interface": { - "deprecated": true, - "description": "[Deprecated] Specifies the disk interface to use for attaching this disk, which is either SCSI or NVME. The default is SCSI.", - "enum": [ - "NVME", - "SCSI", - "UNSPECIFIED" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" + "interfaces": { + "description": "A list of interfaces for this external VPN gateway. If your peer-side gateway is an on-premises gateway and non-AWS cloud providers' gateway, at most two interfaces can be provided for an external VPN gateway. If your peer side is an AWS virtual private gateway, four interfaces should be provided for an external VPN gateway.", + "items": { + "$ref": "ExternalVpnGatewayInterface" + }, + "type": "array" }, "kind": { - "default": "compute#disk", - "description": "[Output Only] Type of the resource. Always compute#disk for disks.", + "default": "compute#externalVpnGateway", + "description": "[Output Only] Type of the resource. Always compute#externalVpnGateway for externalVpnGateways.", "type": "string" }, "labelFingerprint": { - "description": "A fingerprint for the labels being applied to this disk, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a disk.", + "description": "A fingerprint for the labels being applied to this ExternalVpnGateway, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an ExternalVpnGateway.", "format": "byte", "type": "string" }, @@ -52338,252 +56422,421 @@ "additionalProperties": { "type": "string" }, - "description": "Labels to apply to this disk. These can be later modified by the setLabels method.", + "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", "type": "object" }, - "lastAttachTimestamp": { - "description": "[Output Only] Last attach timestamp in RFC3339 text format.", - "type": "string" - }, - "lastDetachTimestamp": { - "description": "[Output Only] Last detach timestamp in RFC3339 text format.", - "type": "string" - }, - "licenseCodes": { - "description": "Integer license codes indicating which licenses are attached to this disk.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "licenses": { - "description": "A list of publicly visible licenses. Reserved for Google's use.", - "items": { - "type": "string" - }, - "type": "array" - }, - "locationHint": { - "description": "An opaque location hint used to place the disk close to other resources. This field is for use by internal tools that use the public API.", - "type": "string" - }, - "locked": { - "description": "[Output Only] The field indicates if the disk is created from a locked source image. Attachment of a disk created from a locked source image will cause the following operations to become irreversibly prohibited: - R/W or R/O disk attachment to any other instance - Disk detachment. And the disk can only be deleted when the instance is deleted - Creation of images or snapshots - Disk cloning Furthermore, the instance with at least one disk with locked flag set to true will be prohibited from performing the operations below: - Further attachment of secondary disks. - Detachment of any disks - Create machine images - Create instance template - Delete the instance with --keep-disk parameter set to true for locked disks - Attach a locked disk with --auto-delete parameter set to false ", - "type": "boolean" - }, - "multiWriter": { - "description": "Indicates whether or not the disk can be read/write attached to more than one instance.", - "type": "boolean" - }, "name": { "annotations": { "required": [ - "compute.disks.insert" + "compute.externalVpnGateways.insert" ] }, "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, - "options": { - "description": "Internal use only.", + "redundancyType": { + "description": "Indicates the user-supplied redundancy type of this external VPN gateway.", + "enum": [ + "FOUR_IPS_REDUNDANCY", + "SINGLE_IP_INTERNALLY_REDUNDANT", + "TWO_IPS_REDUNDANCY" + ], + "enumDescriptions": [ + "The external VPN gateway has four public IP addresses; at the time of writing this API, the AWS virtual private gateway is an example which has four public IP addresses for high availability connections; there should be two VPN connections in the AWS virtual private gateway , each AWS VPN connection has two public IP addresses; please make sure to put two public IP addresses from one AWS VPN connection into interfaces 0 and 1 of this external VPN gateway, and put the other two public IP addresses from another AWS VPN connection into interfaces 2 and 3 of this external VPN gateway. When displaying highly available configuration status for the VPN tunnels connected to FOUR_IPS_REDUNDANCY external VPN gateway, Google will always detect whether interfaces 0 and 1 are connected on one interface of HA Cloud VPN gateway, and detect whether interfaces 2 and 3 are connected to another interface of the HA Cloud VPN gateway.", + "The external VPN gateway has only one public IP address which internally provide redundancy or failover.", + "The external VPN gateway has two public IP addresses which are redundant with each other, the following two types of setup on your on-premises side would have this type of redundancy: (1) Two separate on-premises gateways, each with one public IP address, the two on-premises gateways are redundant with each other. (2) A single on-premise gateway with two public IP addresses that are redundant with eatch other." + ], "type": "string" }, - "params": { - "$ref": "DiskParams", - "description": "Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload." - }, - "physicalBlockSizeBytes": { - "description": "Physical block size of the persistent disk, in bytes. If not present in a request, a default value is used. The currently supported size is 4096, other sizes may be added in the future. If an unsupported value is requested, the error message will list the supported values for the caller's project.", - "format": "int64", + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", "type": "string" + } + }, + "type": "object" + }, + "ExternalVpnGatewayInterface": { + "description": "The interface for the external VPN gateway.", + "id": "ExternalVpnGatewayInterface", + "properties": { + "id": { + "description": "The numeric ID of this interface. The allowed input values for this id for different redundancy types of external VPN gateway: - SINGLE_IP_INTERNALLY_REDUNDANT - 0 - TWO_IPS_REDUNDANCY - 0, 1 - FOUR_IPS_REDUNDANCY - 0, 1, 2, 3 ", + "format": "uint32", + "type": "integer" }, - "provisionedIops": { - "description": "Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the Extreme persistent disk documentation.", - "format": "int64", + "ipAddress": { + "description": "IP address of the interface in the external VPN gateway. Only IPv4 is supported. This IP address can be either from your on-premise gateway or another Cloud provider's VPN gateway, it cannot be an IP address from Google Compute Engine.", "type": "string" }, - "provisionedThroughput": { - "description": "Indicates how much throughput to provision for the disk. This sets the number of throughput mb per second that the disk can handle. Values must be greater than or equal to 1.", - "format": "int64", + "ipv6Address": { + "description": "IPv6 address of the interface in the external VPN gateway. This IPv6 address can be either from your on-premise gateway or another Cloud provider's VPN gateway, it cannot be an IP address from Google Compute Engine. Must specify an IPv6 address (not IPV4-mapped) using any format described in RFC 4291 (e.g. 2001:db8:0:0:2d9:51:0:0). The output format is RFC 5952 format (e.g. 2001:db8::2d9:51:0:0).", "type": "string" - }, - "region": { - "description": "[Output Only] URL of the region where the disk resides. Only applicable for regional resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + } + }, + "type": "object" + }, + "ExternalVpnGatewayList": { + "description": "Response to the list request, and contains a list of externalVpnGateways.", + "id": "ExternalVpnGatewayList", + "properties": { + "etag": { "type": "string" }, - "replicaZones": { - "description": "URLs of the zones where the disk should be replicated to. Only applicable for regional resources.", - "items": { - "type": "string" - }, - "type": "array" + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" }, - "resourcePolicies": { - "description": "Resource policies applied to this disk for automatic snapshot creations.", + "items": { + "description": "A list of ExternalVpnGateway resources.", "items": { - "type": "string" + "$ref": "ExternalVpnGateway" }, "type": "array" }, - "resourceStatus": { - "$ref": "DiskResourceStatus", - "description": "[Output Only] Status information for the disk resource." - }, - "satisfiesPzi": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - }, - "satisfiesPzs": { - "description": "[Output Only] Reserved for future use.", - "type": "boolean" - }, - "selfLink": { - "description": "[Output Only] Server-defined fully-qualified URL for this resource.", + "kind": { + "default": "compute#externalVpnGatewayList", + "description": "[Output Only] Type of resource. Always compute#externalVpnGatewayList for lists of externalVpnGateways.", "type": "string" }, - "selfLinkWithId": { - "description": "[Output Only] Server-defined URL for this resource's resource id.", + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", "type": "string" }, - "sizeGb": { - "description": "Size, in GB, of the persistent disk. You can specify this field when creating a persistent disk using the sourceImage, sourceSnapshot, or sourceDisk parameter, or specify it alone to create an empty persistent disk. If you specify this field along with a source, the value of sizeGb must not be less than the size of the source. Acceptable values are greater than 0.", - "format": "int64", + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", "type": "string" }, - "sourceConsistencyGroupPolicy": { - "description": "[Output Only] URL of the DiskConsistencyGroupPolicy for a secondary disk that was created using a consistency group.", + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "FileContentBuffer": { + "id": "FileContentBuffer", + "properties": { + "content": { + "description": "The raw content in the secure keys file.", + "format": "byte", "type": "string" }, - "sourceConsistencyGroupPolicyId": { - "description": "[Output Only] ID of the DiskConsistencyGroupPolicy for a secondary disk that was created using a consistency group.", + "fileType": { + "description": "The file type of source file.", + "enum": [ + "BIN", + "UNDEFINED", + "X509" + ], + "enumDescriptions": [ + "", + "", + "" + ], "type": "string" + } + }, + "type": "object" + }, + "Firewall": { + "description": "Represents a Firewall Rule resource. Firewall rules allow or deny ingress traffic to, and egress traffic from your instances. For more information, read Firewall rules.", + "id": "Firewall", + "properties": { + "allowed": { + "description": "The list of ALLOW rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.", + "items": { + "properties": { + "IPProtocol": { + "description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp) or the IP protocol number.", + "type": "string" + }, + "ports": { + "description": "An optional list of ports to which this rule applies. This field is only applicable for the UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "type": "array" }, - "sourceDisk": { - "description": "The source disk used to create this disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk ", + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" }, - "sourceDiskId": { - "description": "[Output Only] The unique ID of the disk used to create this disk. This value identifies the exact disk that was used to create this persistent disk. For example, if you created the persistent disk from a disk that was later deleted and recreated under the same name, the source disk ID would identify the exact version of the disk that was used.", - "type": "string" + "denied": { + "description": "The list of DENY rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a denied connection.", + "items": { + "properties": { + "IPProtocol": { + "description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp) or the IP protocol number.", + "type": "string" + }, + "ports": { + "description": "An optional list of ports to which this rule applies. This field is only applicable for the UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "type": "array" }, - "sourceImage": { - "description": "The source image used to create this disk. If the source image is deleted, this field will not be set. To create a disk with one of the public operating system images, specify the image by its family name. For example, specify family/debian-9 to use the latest Debian 9 image: projects/debian-cloud/global/images/family/debian-9 Alternatively, use a specific version of a public operating system image: projects/debian-cloud/global/images/debian-9-stretch-vYYYYMMDD To create a disk with a custom image that you created, specify the image name in the following format: global/images/my-custom-image You can also specify a custom image by its image family, which returns the latest version of the image in that family. Replace the image name with family/family-name: global/images/family/my-image-family ", + "description": { + "description": "An optional description of this resource. Provide this field when you create the resource.", "type": "string" }, - "sourceImageEncryptionKey": { - "$ref": "CustomerEncryptionKey", - "description": "The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key." + "destinationRanges": { + "description": "If destination ranges are specified, the firewall rule applies only to traffic that has destination IP address in these ranges. These ranges must be expressed in CIDR format. Both IPv4 and IPv6 are supported.", + "items": { + "type": "string" + }, + "type": "array" }, - "sourceImageId": { - "description": "[Output Only] The ID value of the image used to create this disk. This value identifies the exact image that was used to create this persistent disk. For example, if you created the persistent disk from an image that was later deleted and recreated under the same name, the source image ID would identify the exact version of the image that was used.", + "direction": { + "description": "Direction of traffic to which this firewall applies, either `INGRESS` or `EGRESS`. The default is `INGRESS`. For `EGRESS` traffic, you cannot specify the sourceTags fields.", + "enum": [ + "EGRESS", + "INGRESS" + ], + "enumDescriptions": [ + "Indicates that firewall should apply to outgoing traffic.", + "Indicates that firewall should apply to incoming traffic." + ], "type": "string" }, - "sourceInstantSnapshot": { - "description": "The source instant snapshot used to create this disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instantSnapshots/instantSnapshot - projects/project/zones/zone/instantSnapshots/instantSnapshot - zones/zone/instantSnapshots/instantSnapshot ", - "type": "string" + "disabled": { + "description": "Denotes whether the firewall rule is disabled. When set to true, the firewall rule is not enforced and the network behaves as if it did not exist. If this is unspecified, the firewall rule will be enabled.", + "type": "boolean" }, - "sourceInstantSnapshotId": { - "description": "[Output Only] The unique ID of the instant snapshot used to create this disk. This value identifies the exact instant snapshot that was used to create this persistent disk. For example, if you created the persistent disk from an instant snapshot that was later deleted and recreated under the same name, the source instant snapshot ID would identify the exact version of the instant snapshot that was used.", + "enableLogging": { + "deprecated": true, + "description": "Deprecated in favor of enable in LogConfig. This field denotes whether to enable logging for a particular firewall rule. If logging is enabled, logs will be exported t Cloud Logging.", + "type": "boolean" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64", "type": "string" }, - "sourceSnapshot": { - "description": "The source snapshot used to create this disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project /global/snapshots/snapshot - projects/project/global/snapshots/snapshot - global/snapshots/snapshot ", + "kind": { + "default": "compute#firewall", + "description": "[Output Only] Type of the resource. Always compute#firewall for firewall rules.", "type": "string" }, - "sourceSnapshotEncryptionKey": { - "$ref": "CustomerEncryptionKey", - "description": "The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key." + "logConfig": { + "$ref": "FirewallLogConfig", + "description": "This field denotes the logging options for a particular firewall rule. If logging is enabled, logs will be exported to Cloud Logging." }, - "sourceSnapshotId": { - "description": "[Output Only] The unique ID of the snapshot used to create this disk. This value identifies the exact snapshot that was used to create this persistent disk. For example, if you created the persistent disk from a snapshot that was later deleted and recreated under the same name, the source snapshot ID would identify the exact version of the snapshot that was used.", + "name": { + "annotations": { + "required": [ + "compute.firewalls.insert", + "compute.firewalls.patch" + ] + }, + "description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, - "sourceStorageObject": { - "description": "The full Google Cloud Storage URI where the disk image is stored. This file must be a gzip-compressed tarball whose name ends in .tar.gz or virtual machine disk whose name ends in vmdk. Valid URIs may start with gs:// or https://storage.googleapis.com/. This flag is not optimized for creating multiple disks from a source storage object. To create many disks from a source storage object, use gcloud compute images import instead.", + "network": { + "description": "URL of the network resource for this firewall rule. If not specified when creating a firewall rule, the default network is used: global/networks/default If you choose to specify this field, you can specify the network as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/myproject/global/networks/my-network - projects/myproject/global/networks/my-network - global/networks/default ", "type": "string" }, - "status": { - "description": "[Output Only] The status of disk creation. - CREATING: Disk is provisioning. - RESTORING: Source data is being copied into the disk. - FAILED: Disk creation failed. - READY: Disk is ready for use. - DELETING: Disk is deleting. ", - "enum": [ - "CREATING", - "DELETING", - "FAILED", - "READY", - "RESTORING", - "UNAVAILABLE" - ], - "enumDescriptions": [ - "Disk is provisioning", - "Disk is deleting.", - "Disk creation failed.", - "Disk is ready for use.", - "Source data is being copied into the disk.", - "Disk is currently unavailable and cannot be accessed, attached or detached." - ], - "type": "string" + "priority": { + "description": "Priority for this rule. This is an integer between `0` and `65535`, both inclusive. The default value is `1000`. Relative priorities determine which rule takes effect if multiple rules apply. Lower values indicate higher priority. For example, a rule with priority `0` has higher precedence than a rule with priority `1`. DENY rules take precedence over ALLOW rules if they have equal priority. Note that VPC networks have implied rules with a priority of `65535`. To avoid conflicts with the implied rules, use a priority number less than `65535`.", + "format": "int32", + "type": "integer" }, - "storagePool": { - "description": "The storage pool in which the new disk is created. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /storagePools/storagePool - projects/project/zones/zone/storagePools/storagePool - zones/zone/storagePools/storagePool ", + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", "type": "string" }, - "storageType": { - "description": "[Deprecated] Storage type of the persistent disk.", - "enum": [ - "HDD", - "SSD" - ], - "enumDescriptions": [ - "", - "" - ], + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource with the resource id.", "type": "string" }, - "type": { - "description": "URL of the disk type resource describing which disk type to use to create the disk. Provide this when creating the disk. For example: projects/project /zones/zone/diskTypes/pd-ssd . See Persistent disk types.", - "type": "string" + "sourceRanges": { + "description": "If source ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. One or both of sourceRanges and sourceTags may be set. If both fields are set, the rule applies to traffic that has a source IP address within sourceRanges OR a source IP from a resource with a matching tag listed in the sourceTags field. The connection does not need to match both fields for the rule to apply. Both IPv4 and IPv6 are supported.", + "items": { + "type": "string" + }, + "type": "array" }, - "userLicenses": { - "description": "A list of publicly visible user-licenses. Unlike regular licenses, user provided licenses can be modified after the disk is created. This includes a list of URLs to the license resource. For example, to provide a debian license: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/licenses/debian-9-stretch ", + "sourceServiceAccounts": { + "description": "If source service accounts are specified, the firewall rules apply only to traffic originating from an instance with a service account in this list. Source service accounts cannot be used to control traffic to an instance's external IP address because service accounts are associated with an instance, not an IP address. sourceRanges can be set at the same time as sourceServiceAccounts. If both are set, the firewall applies to traffic that has a source IP address within the sourceRanges OR a source IP that belongs to an instance with service account listed in sourceServiceAccount. The connection does not need to match both fields for the firewall to apply. sourceServiceAccounts cannot be used at the same time as sourceTags or targetTags.", "items": { "type": "string" }, "type": "array" }, - "users": { - "description": "[Output Only] Links to the users of the disk (attached instances) in form: projects/project/zones/zone/instances/instance", + "sourceTags": { + "description": "If source tags are specified, the firewall rule applies only to traffic with source IPs that match the primary network interfaces of VM instances that have the tag and are in the same VPC network. Source tags cannot be used to control traffic to an instance's external IP address, it only applies to traffic between instances in the same virtual network. Because tags are associated with instances, not IP addresses. One or both of sourceRanges and sourceTags may be set. If both fields are set, the firewall applies to traffic that has a source IP address within sourceRanges OR a source IP from a resource with a matching tag listed in the sourceTags field. The connection does not need to match both fields for the firewall to apply.", "items": { "type": "string" }, "type": "array" }, - "zone": { - "description": "[Output Only] URL of the zone where the disk resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", - "type": "string" + "targetServiceAccounts": { + "description": "A list of service accounts indicating sets of instances located in the network that may make network connections as specified in allowed[]. targetServiceAccounts cannot be used at the same time as targetTags or sourceTags. If neither targetServiceAccounts nor targetTags are specified, the firewall rule applies to all instances on the specified network.", + "items": { + "type": "string" + }, + "type": "array" + }, + "targetTags": { + "description": "A list of tags that controls which instances the firewall rule applies to. If targetTags are specified, then the firewall rule applies only to instances in the VPC network that have one of those tags. If no targetTags are specified, the firewall rule applies to all instances on the specified network.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "DiskAggregatedList": { - "id": "DiskAggregatedList", + "FirewallList": { + "description": "Contains a list of firewalls.", + "id": "FirewallList", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "additionalProperties": { - "$ref": "DisksScopedList", - "description": "[Output Only] Name of the scope containing this set of disks." + "description": "A list of Firewall resources.", + "items": { + "$ref": "Firewall" }, - "description": "A list of DisksScopedList resources.", - "type": "object" + "type": "array" }, "kind": { - "default": "compute#diskAggregatedList", - "description": "[Output Only] Type of resource. Always compute#diskAggregatedList for aggregated lists of persistent disks.", + "default": "compute#firewallList", + "description": "[Output Only] Type of resource. Always compute#firewallList for lists of firewalls.", "type": "string" }, "nextPageToken": { @@ -52594,13 +56847,6 @@ "description": "[Output Only] Server-defined URL for this resource.", "type": "string" }, - "unreachables": { - "description": "[Output Only] Unreachable resources.", - "items": { - "type": "string" - }, - "type": "array" - }, "warning": { "description": "[Output Only] Informational warning message.", "properties": { @@ -52628,6 +56874,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -52664,6 +56911,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -52688,6 +56936,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -52725,108 +56974,59 @@ }, "type": "object" }, - "DiskAsyncReplication": { - "id": "DiskAsyncReplication", - "properties": { - "consistencyGroupPolicy": { - "description": "[Output Only] URL of the DiskConsistencyGroupPolicy if replication was started on the disk as a member of a group.", - "type": "string" - }, - "consistencyGroupPolicyId": { - "description": "[Output Only] ID of the DiskConsistencyGroupPolicy if replication was started on the disk as a member of a group.", - "type": "string" - }, - "disk": { - "description": "The other disk asynchronously replicated to or from the current disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/disks/disk ", - "type": "string" - }, - "diskId": { - "description": "[Output Only] The unique ID of the other disk asynchronously replicated to or from the current disk. This value identifies the exact disk that was used to create this replication. For example, if you started replicating the persistent disk from a disk that was later deleted and recreated under the same name, the disk ID would identify the exact version of the disk that was used.", - "type": "string" - } - }, - "type": "object" - }, - "DiskAsyncReplicationList": { - "id": "DiskAsyncReplicationList", - "properties": { - "asyncReplicationDisk": { - "$ref": "DiskAsyncReplication" - } - }, - "type": "object" - }, - "DiskInstantiationConfig": { - "description": "A specification of the desired way to instantiate a disk in the instance template when its created from a source instance.", - "id": "DiskInstantiationConfig", + "FirewallLogConfig": { + "description": "The available logging options for a firewall rule.", + "id": "FirewallLogConfig", "properties": { - "autoDelete": { - "description": "Specifies whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).", + "enable": { + "description": "This field denotes whether to enable logging for a particular firewall rule.", "type": "boolean" }, - "customImage": { - "description": "The custom source image to be used to restore this disk when instantiating this instance template.", - "type": "string" - }, - "deviceName": { - "description": "Specifies the device name of the disk to which the configurations apply to.", - "type": "string" - }, - "instantiateFrom": { - "description": "Specifies whether to include the disk and what image to use. Possible values are: - source-image: to use the same image that was used to create the source instance's corresponding disk. Applicable to the boot disk and additional read-write disks. - source-image-family: to use the same image family that was used to create the source instance's corresponding disk. Applicable to the boot disk and additional read-write disks. - custom-image: to use a user-provided image url for disk creation. Applicable to the boot disk and additional read-write disks. - attach-read-only: to attach a read-only disk. Applicable to read-only disks. - do-not-include: to exclude a disk from the template. Applicable to additional read-write disks, local SSDs, and read-only disks. ", + "metadata": { + "description": "This field can only be specified for a particular firewall rule if logging is enabled for that rule. This field denotes whether to include or exclude metadata for firewall logs.", "enum": [ - "ATTACH_READ_ONLY", - "BLANK", - "CUSTOM_IMAGE", - "DEFAULT", - "DO_NOT_INCLUDE", - "SOURCE_IMAGE", - "SOURCE_IMAGE_FAMILY" + "EXCLUDE_ALL_METADATA", + "INCLUDE_ALL_METADATA" ], "enumDescriptions": [ - "Attach the existing disk in read-only mode. The request will fail if the disk was attached in read-write mode on the source instance. Applicable to: read-only disks.", - "Create a blank disk. The disk will be created unformatted. Applicable to: additional read-write disks, local SSDs.", - "Use the custom image specified in the custom_image field. Applicable to: boot disk, additional read-write disks.", - "Use the default instantiation option for the corresponding type of disk. For boot disk and any other R/W disks, new custom images will be created from each disk. For read-only disks, they will be attached in read-only mode. Local SSD disks will be created as blank volumes.", - "Do not include the disk in the instance template. Applicable to: additional read-write disks, local SSDs, read-only disks.", - "Use the same source image used for creation of the source instance's corresponding disk. The request will fail if the source VM's disk was created from a snapshot. Applicable to: boot disk, additional read-write disks.", - "Use the same source image family used for creation of the source instance's corresponding disk. The request will fail if the source image of the source disk does not belong to any image family. Applicable to: boot disk, additional read-write disks." + "", + "" ], "type": "string" } }, "type": "object" }, - "DiskList": { - "description": "A list of Disk resources.", - "id": "DiskList", + "FirewallPoliciesListAssociationsResponse": { + "id": "FirewallPoliciesListAssociationsResponse", "properties": { - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", - "type": "string" - }, - "items": { - "description": "A list of Disk resources.", + "associations": { + "description": "A list of associations.", "items": { - "$ref": "Disk" + "$ref": "FirewallPolicyAssociation" }, "type": "array" }, "kind": { - "default": "compute#diskList", - "description": "[Output Only] Type of resource. Always compute#diskList for lists of disks.", - "type": "string" - }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", + "default": "compute#firewallPoliciesListAssociationsResponse", + "description": "[Output Only] Type of firewallPolicy associations. Always compute#FirewallPoliciesListAssociations for lists of firewallPolicy associations.", "type": "string" + } + }, + "type": "object" + }, + "FirewallPoliciesScopedList": { + "id": "FirewallPoliciesScopedList", + "properties": { + "firewallPolicies": { + "description": "A list of firewall policies contained in this scope.", + "items": { + "$ref": "FirewallPolicy" + }, + "type": "array" }, "warning": { - "description": "[Output Only] Informational warning message.", + "description": "Informational warning which replaces the list of firewall policies when the list is empty.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", @@ -52852,6 +57052,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -52888,6 +57089,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -52912,6 +57114,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -52949,159 +57152,34 @@ }, "type": "object" }, - "DiskMoveRequest": { - "id": "DiskMoveRequest", - "properties": { - "destinationZone": { - "description": "The URL of the destination zone to move the disk. This can be a full or partial URL. For example, the following are all valid URLs to a zone: - https://www.googleapis.com/compute/v1/projects/project/zones/zone - projects/project/zones/zone - zones/zone ", - "type": "string" - }, - "targetDisk": { - "description": "The URL of the target disk to move. This can be a full or partial URL. For example, the following are all valid URLs to a disk: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/disks/disk ", - "type": "string" - } - }, - "type": "object" - }, - "DiskParams": { - "description": "Additional disk params.", - "id": "DiskParams", - "properties": { - "resourceManagerTags": { - "additionalProperties": { - "type": "string" - }, - "description": "Resource manager tags to be bound to the disk. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty.", - "type": "object" - } - }, - "type": "object" - }, - "DiskResourceStatus": { - "id": "DiskResourceStatus", - "properties": { - "asyncPrimaryDisk": { - "$ref": "DiskResourceStatusAsyncReplicationStatus" - }, - "asyncSecondaryDisks": { - "additionalProperties": { - "$ref": "DiskResourceStatusAsyncReplicationStatus" - }, - "description": "Key: disk, value: AsyncReplicationStatus message", - "type": "object" - }, - "usedBytes": { - "description": "[Output Only] Space used by data stored in the disk (in bytes). Note that this field is set only when the disk is in a storage pool.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "DiskResourceStatusAsyncReplicationStatus": { - "id": "DiskResourceStatusAsyncReplicationStatus", - "properties": { - "state": { - "enum": [ - "ACTIVE", - "CREATED", - "STARTING", - "STATE_UNSPECIFIED", - "STOPPED", - "STOPPING" - ], - "enumDescriptions": [ - "Replication is active.", - "Secondary disk is created and is waiting for replication to start.", - "Replication is starting.", - "", - "Replication is stopped.", - "Replication is stopping." - ], - "type": "string" - } - }, - "type": "object" - }, - "DiskSettings": { - "id": "DiskSettings", - "properties": { - "accessLocation": { - "$ref": "DiskSettingsAccessLocation", - "description": "Policy of which locations are allowed to create regional snapshots." - }, - "defaultResourcePolicies": { - "additionalProperties": { - "$ref": "DiskSettingsResourcePolicyDetails" - }, - "description": "An optional parameter for storing the default resource policies that will be used for the Disks created in the given scope. The Key is a string type, provided by customers to uniquely identify the default Resource Policy entry. The Value is a Default ResourcePolicyDetails Object used to represent the detailed information of the Resource Policy entry.", - "type": "object" - } - }, - "type": "object" - }, - "DiskSettingsAccessLocation": { - "description": "AccessLocation is only used for regional snapshot. It contains which regions are allowed to create a regional snapshot from disks located in the given region/zone. It includes key-value pairs designed to store the following structure. The keys should match their corresponding values, which must be provided: access_location: { locations { us-central1 { region: \"us-central1\" }, asia-west2 { region: \"asia-west2\" } } }", - "id": "DiskSettingsAccessLocation", - "properties": { - "locations": { - "additionalProperties": { - "$ref": "DiskSettingsAccessLocationAccessLocationPreference" - }, - "description": "List of regions that can create a regional snapshot from the current region", - "type": "object" - } - }, - "type": "object" - }, - "DiskSettingsAccessLocationAccessLocationPreference": { - "description": "A structure for specifying an allowed target region to create snapshot.", - "id": "DiskSettingsAccessLocationAccessLocationPreference", - "properties": { - "region": { - "description": "Accessible region name", - "type": "string" - } - }, - "type": "object" - }, - "DiskSettingsResourcePolicyDetails": { - "description": "This is the object for storing the detail information about the Resource Policy that will be set as default ones for the Disks that is using the DiskSettings. It contains: - one target Resource Policy referenced by its Fully-Qualified URL, - [output only] Disk Types that will be excluded from using this Resource Policy, - Other filtering support (e.g. Label filtering) for Default Resource Policy can be added here as well", - "id": "DiskSettingsResourcePolicyDetails", + "FirewallPolicy": { + "description": "Represents a Firewall Policy resource.", + "id": "FirewallPolicy", "properties": { - "excludedDiskTypes": { - "description": "[Output Only] A list of Disk Types that will be excluded from applying the Resource Policy referenced here. If absent, Disks created in any DiskType can use the referenced default Resource Policy.", + "associations": { + "description": "A list of associations that belong to this firewall policy.", "items": { - "type": "string" + "$ref": "FirewallPolicyAssociation" }, "type": "array" }, - "resourcePolicy": { - "description": "The target Resource Policies identified by their Fully-Qualified URL.", - "type": "string" - } - }, - "type": "object" - }, - "DiskType": { - "description": "Represents a Disk Type resource. Google Compute Engine has two Disk Type resources: * [Regional](/compute/docs/reference/rest/alpha/regionDiskTypes) * [Zonal](/compute/docs/reference/rest/alpha/diskTypes) You can choose from a variety of disk types based on your needs. For more information, read Storage options. The diskTypes resource represents disk types for a zonal persistent disk. For more information, read Zonal persistent disks. The regionDiskTypes resource represents disk types for a regional persistent disk. For more information, read Regional persistent disks.", - "id": "DiskType", - "properties": { "creationTimestamp": { "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" }, - "defaultDiskSizeGb": { - "description": "[Output Only] Server-defined default disk size in GB.", - "format": "int64", + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", "type": "string" }, - "deprecated": { - "$ref": "DeprecationStatus", - "description": "[Output Only] The deprecation status associated with this disk type." + "displayName": { + "deprecated": true, + "description": "Deprecated, please use short name instead. User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" }, - "description": { - "description": "[Output Only] An optional description of this resource.", + "fingerprint": { + "description": "Specifies a fingerprint for this resource, which is essentially a hash of the metadata's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make get() request to the firewall policy.", + "format": "byte", "type": "string" }, "id": { @@ -53110,19 +57188,41 @@ "type": "string" }, "kind": { - "default": "compute#diskType", - "description": "[Output Only] Type of the resource. Always compute#diskType for disk types.", + "default": "compute#firewallPolicy", + "description": "[Output only] Type of the resource. Always compute#firewallPolicyfor firewall policies", "type": "string" }, "name": { - "description": "[Output Only] Name of the resource.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "description": "Name of the resource. For Organization Firewall Policies it's a [Output Only] numeric ID allocated by Google Cloud which uniquely identifies the Organization Firewall Policy.", + "type": "string" + }, + "packetMirroringRules": { + "description": "A list of packet mirroring rules that belong to this policy.", + "items": { + "$ref": "FirewallPolicyRule" + }, + "type": "array" + }, + "parent": { + "description": "[Output Only] The parent of the firewall policy. This field is not applicable to network firewall policies.", "type": "string" }, "region": { - "description": "[Output Only] URL of the region where the disk type resides. Only applicable for regional resources. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "description": "[Output Only] URL of the region where the regional firewall policy resides. This field is not applicable to global firewall policies. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", "type": "string" }, + "ruleTupleCount": { + "description": "[Output Only] Total count of all firewall policy rule tuples. A firewall policy can not exceed a set number of tuples.", + "format": "int32", + "type": "integer" + }, + "rules": { + "description": "A list of rules that belong to this policy. There must always be a default rule (rule with priority 2147483647 and match \"*\"). If no rules are provided when creating a firewall policy, a default rule with action \"allow\" will be added.", + "items": { + "$ref": "FirewallPolicyRule" + }, + "type": "array" + }, "selfLink": { "description": "[Output Only] Server-defined URL for the resource.", "type": "string" @@ -53131,204 +57231,81 @@ "description": "[Output Only] Server-defined URL for this resource with the resource id.", "type": "string" }, - "validDiskSize": { - "description": "[Output Only] An optional textual description of the valid disk size, such as \"10GB-10TB\".", + "shortName": { + "description": "User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, - "zone": { - "description": "[Output Only] URL of the zone where the disk type resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "vpcNetworkScope": { + "description": "The scope of networks allowed to be associated with the firewall policy. This field can be either GLOBAL_VPC_NETWORK or REGIONAL_VPC_NETWORK. A firewall policy with the VPC scope set to GLOBAL_VPC_NETWORK is allowed to be attached only to global networks. When the VPC scope is set to REGIONAL_VPC_NETWORK the firewall policy is allowed to be attached only to regional networks in the same scope as the firewall policy. Note: if not specified then GLOBAL_VPC_NETWORK will be used.", + "enum": [ + "GLOBAL_VPC_NETWORK", + "REGIONAL_VPC_NETWORK" + ], + "enumDescriptions": [ + "The firewall policy is allowed to be attached only to global networks.", + "The firewall policy is allowed to be attached only to regional networks in the same scope as the firewall policy. This option is applicable only to regional firewall policies." + ], "type": "string" } }, "type": "object" }, - "DiskTypeAggregatedList": { - "id": "DiskTypeAggregatedList", + "FirewallPolicyAssociation": { + "id": "FirewallPolicyAssociation", "properties": { - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "attachmentTarget": { + "description": "The target that the firewall policy is attached to.", "type": "string" }, - "items": { - "additionalProperties": { - "$ref": "DiskTypesScopedList", - "description": "[Output Only] Name of the scope containing this set of disk types." - }, - "description": "A list of DiskTypesScopedList resources.", - "type": "object" - }, - "kind": { - "default": "compute#diskTypeAggregatedList", - "description": "[Output Only] Type of resource. Always compute#diskTypeAggregatedList.", + "displayName": { + "deprecated": true, + "description": "[Output Only] Deprecated, please use short name instead. The display name of the firewall policy of the association.", "type": "string" }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "firewallPolicyId": { + "description": "[Output Only] The firewall policy ID of the association.", "type": "string" }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", + "name": { + "description": "The name for an association.", "type": "string" }, - "unreachables": { - "description": "[Output Only] Unreachable resources.", - "items": { - "type": "string" - }, - "type": "array" + "priority": { + "description": "An integer indicating the priority of an association. The priority must be a positive value between 1 and 2147483647. Firewall Policies are evaluated from highest to lowest priority where 1 is the highest priority and 2147483647 is the lowest priority. The default value is `1000`. If two associations have the same priority then lexicographical order on association names is applied.", + "format": "int32", + "type": "integer" }, - "warning": { - "description": "[Output Only] Informational warning message.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" + "shortName": { + "description": "[Output Only] The short name of the firewall policy of the association.", + "type": "string" } }, "type": "object" }, - "DiskTypeList": { - "description": "Contains a list of disk types.", - "id": "DiskTypeList", + "FirewallPolicyList": { + "id": "FirewallPolicyList", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "description": "A list of DiskType resources.", + "description": "A list of FirewallPolicy resources.", "items": { - "$ref": "DiskType" + "$ref": "FirewallPolicy" }, "type": "array" }, - "kind": { - "default": "compute#diskTypeList", - "description": "[Output Only] Type of resource. Always compute#diskTypeList for disk types.", + "kind": { + "default": "compute#firewallPolicyList", + "description": "[Output Only] Type of resource. Always compute#firewallPolicyList for listsof FirewallPolicies", "type": "string" }, "nextPageToken": { "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", "type": "string" }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", - "type": "string" - }, "warning": { "description": "[Output Only] Informational warning message.", "properties": { @@ -53356,6 +57333,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -53392,6 +57370,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -53416,6 +57395,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -53453,189 +57433,628 @@ }, "type": "object" }, - "DiskTypesScopedList": { - "id": "DiskTypesScopedList", + "FirewallPolicyRule": { + "description": "Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny).", + "id": "FirewallPolicyRule", "properties": { - "diskTypes": { - "description": "[Output Only] A list of disk types contained in this scope.", + "action": { + "description": "The Action to perform when the client connection triggers the rule. Valid actions for firewall rules are: \"allow\", \"deny\", \"apply_security_profile_group\" and \"goto_next\". Valid actions for packet mirroring rules are: \"mirror\", \"do_not_mirror\" and \"goto_next\".", + "type": "string" + }, + "description": { + "description": "An optional description for this resource.", + "type": "string" + }, + "direction": { + "description": "The direction in which this rule applies.", + "enum": [ + "EGRESS", + "INGRESS" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "disabled": { + "description": "Denotes whether the firewall policy rule is disabled. When set to true, the firewall policy rule is not enforced and traffic behaves as if it did not exist. If this is unspecified, the firewall policy rule will be enabled.", + "type": "boolean" + }, + "enableLogging": { + "description": "Denotes whether to enable logging for a particular rule. If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on \"goto_next\" rules.", + "type": "boolean" + }, + "kind": { + "default": "compute#firewallPolicyRule", + "description": "[Output only] Type of the resource. Returns compute#firewallPolicyRule for firewall rules and compute#packetMirroringRule for packet mirroring rules.", + "type": "string" + }, + "match": { + "$ref": "FirewallPolicyRuleMatcher", + "description": "A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced." + }, + "priority": { + "description": "An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority.", + "format": "int32", + "type": "integer" + }, + "ruleName": { + "description": "An optional name for the rule. This field is not a unique identifier and can be updated.", + "type": "string" + }, + "ruleTupleCount": { + "description": "[Output Only] Calculation of the complexity of a single firewall policy rule.", + "format": "int32", + "type": "integer" + }, + "securityProfileGroup": { + "description": "A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action is one of 'apply_security_profile_group' or 'mirror'. Cannot be specified for other actions.", + "type": "string" + }, + "targetResources": { + "description": "A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule.", "items": { - "$ref": "DiskType" + "type": "string" }, "type": "array" }, - "warning": { - "description": "[Output Only] Informational warning which replaces the list of disk types when the list is empty.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } + "targetSecureTags": { + "description": "A list of secure tags that controls which instances the firewall rule applies to. If targetSecureTag are specified, then the firewall rule applies only to instances in the VPC network that have one of those EFFECTIVE secure tags, if all the target_secure_tag are in INEFFECTIVE state, then this rule will be ignored. targetSecureTag may not be set at the same time as targetServiceAccounts. If neither targetServiceAccounts nor targetSecureTag are specified, the firewall rule applies to all instances on the specified network. Maximum number of target label tags allowed is 256.", + "items": { + "$ref": "FirewallPolicyRuleSecureTag" + }, + "type": "array" + }, + "targetServiceAccounts": { + "description": "A list of service accounts indicating the sets of instances that are applied with this rule.", + "items": { + "type": "string" + }, + "type": "array" + }, + "tlsInspect": { + "description": "Boolean flag indicating if the traffic should be TLS decrypted. Can be set only if action = 'apply_security_profile_group' and cannot be set for other actions.", + "type": "boolean" + } + }, + "type": "object" + }, + "FirewallPolicyRuleMatcher": { + "description": "Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified.", + "id": "FirewallPolicyRuleMatcher", + "properties": { + "destAddressGroups": { + "description": "Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10.", + "items": { + "type": "string" + }, + "type": "array" + }, + "destFqdns": { + "description": "Fully Qualified Domain Name (FQDN) which should be matched against traffic destination. Maximum number of destination fqdn allowed is 100.", + "items": { + "type": "string" + }, + "type": "array" + }, + "destIpRanges": { + "description": "CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 5000.", + "items": { + "type": "string" + }, + "type": "array" + }, + "destNetworkScope": { + "description": "Network scope of the traffic destination.", + "enum": [ + "INTERNET", + "INTRA_VPC", + "NON_INTERNET", + "UNSPECIFIED", + "VPC_NETWORKS" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "destRegionCodes": { + "description": "Region codes whose IP addresses will be used to match for destination of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex.\"US\" Maximum number of dest region codes allowed is 5000.", + "items": { + "type": "string" + }, + "type": "array" + }, + "destThreatIntelligences": { + "description": "Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic destination.", + "items": { + "type": "string" + }, + "type": "array" + }, + "layer4Configs": { + "description": "Pairs of IP protocols and ports that the rule should match.", + "items": { + "$ref": "FirewallPolicyRuleMatcherLayer4Config" + }, + "type": "array" + }, + "srcAddressGroups": { + "description": "Address groups which should be matched against the traffic source. Maximum number of source address groups is 10.", + "items": { + "type": "string" + }, + "type": "array" + }, + "srcFqdns": { + "description": "Fully Qualified Domain Name (FQDN) which should be matched against traffic source. Maximum number of source fqdn allowed is 100.", + "items": { + "type": "string" + }, + "type": "array" + }, + "srcIpRanges": { + "description": "CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 5000.", + "items": { + "type": "string" + }, + "type": "array" + }, + "srcNetworkScope": { + "description": "Network scope of the traffic source.", + "enum": [ + "INTERNET", + "INTRA_VPC", + "NON_INTERNET", + "UNSPECIFIED", + "VPC_NETWORKS" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "srcNetworks": { + "description": "Networks of the traffic source. It can be either a full or partial url.", + "items": { + "type": "string" + }, + "type": "array" + }, + "srcRegionCodes": { + "description": "Region codes whose IP addresses will be used to match for source of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex.\"US\" Maximum number of source region codes allowed is 5000.", + "items": { + "type": "string" + }, + "type": "array" + }, + "srcSecureTags": { + "description": "List of secure tag values, which should be matched at the source of the traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there is no srcIpRange, this rule will be ignored. Maximum number of source tag values allowed is 256.", + "items": { + "$ref": "FirewallPolicyRuleSecureTag" + }, + "type": "array" + }, + "srcThreatIntelligences": { + "description": "Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic source.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "FirewallPolicyRuleMatcherLayer4Config": { + "id": "FirewallPolicyRuleMatcherLayer4Config", + "properties": { + "ipProtocol": { + "description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.", + "type": "string" + }, + "ports": { + "description": "An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "FirewallPolicyRuleSecureTag": { + "id": "FirewallPolicyRuleSecureTag", + "properties": { + "name": { + "description": "Name of the secure tag, created with TagManager's TagValue API.", + "pattern": "tagValues/[0-9]+", + "type": "string" + }, + "state": { + "description": "[Output Only] State of the secure tag, either `EFFECTIVE` or `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted or its network is deleted.", + "enum": [ + "EFFECTIVE", + "INEFFECTIVE" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "FixedOrPercent": { + "description": "Encapsulates numeric value that can be either absolute or relative.", + "id": "FixedOrPercent", + "properties": { + "calculated": { + "description": "[Output Only] Absolute value of VM instances calculated based on the specific mode. - If the value is fixed, then the calculated value is equal to the fixed value. - If the value is a percent, then the calculated value is percent/100 * targetSize. For example, the calculated value of a 80% of a managed instance group with 150 instances would be (80/100 * 150) = 120 VM instances. If there is a remainder, the number is rounded. ", + "format": "int32", + "type": "integer" + }, + "fixed": { + "description": "Specifies a fixed number of VM instances. This must be a positive integer.", + "format": "int32", + "type": "integer" + }, + "percent": { + "description": "Specifies a percentage of instances between 0 to 100%, inclusive. For example, specify 80 for 80%.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "FlexibleTimeRange": { + "description": "A flexible specification of a time range that has 3 points of flexibility: (1) a flexible start time, (2) a flexible end time, (3) a flexible duration. It is possible to specify a contradictory time range that cannot be matched by any Interval. This causes a validation error.", + "id": "FlexibleTimeRange", + "properties": { + "endTimeNotEarlierThan": { + "format": "google-datetime", + "type": "string" + }, + "endTimeNotLaterThan": { + "format": "google-datetime", + "type": "string" + }, + "maxDuration": { + "format": "google-duration", + "type": "string" + }, + "minDuration": { + "format": "google-duration", + "type": "string" + }, + "startTimeNotEarlierThan": { + "format": "google-datetime", + "type": "string" + }, + "startTimeNotLaterThan": { + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "ForwardingRule": { + "description": "Represents a Forwarding Rule resource. Forwarding rule resources in Google Cloud can be either regional or global in scope: * [Global](https://cloud.google.com/compute/docs/reference/rest/alpha/globalForwardingRules) * [Regional](https://cloud.google.com/compute/docs/reference/rest/alpha/forwardingRules) A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud load balancer. Forwarding rules can also reference target instances and Cloud VPN Classic gateways (targetVpnGateway). For more information, read Forwarding rule concepts and Using protocol forwarding.", + "id": "ForwardingRule", + "properties": { + "IPAddress": { + "description": "IP address for which this forwarding rule accepts traffic. When a client sends traffic to this IP address, the forwarding rule directs the traffic to the referenced target or backendService. While creating a forwarding rule, specifying an IPAddress is required under the following circumstances: - When the target is set to targetGrpcProxy and validateForProxyless is set to true, the IPAddress should be set to 0.0.0.0. - When the target is a Private Service Connect Google APIs bundle, you must specify an IPAddress. Otherwise, you can optionally specify an IP address that references an existing static (reserved) IP address resource. When omitted, Google Cloud assigns an ephemeral IP address. Use one of the following formats to specify an IP address while creating a forwarding rule: * IP address number, as in `100.1.2.3` * IPv6 address range, as in `2600:1234::/96` * Full resource URL, as in https://www.googleapis.com/compute/v1/projects/ project_id/regions/region/addresses/address-name * Partial URL or by name, as in: - projects/project_id/regions/region/addresses/address-name - regions/region/addresses/address-name - global/addresses/address-name - address-name The forwarding rule's target or backendService, and in most cases, also the loadBalancingScheme, determine the type of IP address that you can use. For detailed information, see [IP address specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications). When reading an IPAddress, the API always returns the IP address number.", + "type": "string" + }, + "IPProtocol": { + "description": "The IP protocol to which this rule applies. For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT. The valid IP protocols are different for different load balancing products as described in [Load balancing features](https://cloud.google.com/load-balancing/docs/features#protocols_from_the_load_balancer_to_the_backends).", + "enum": [ + "AH", + "ALL", + "ESP", + "ICMP", + "L3_DEFAULT", + "SCTP", + "TCP", + "UDP" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "allPorts": { + "description": "The ports, portRange, and allPorts fields are mutually exclusive. Only packets addressed to ports in the specified range will be forwarded to the backends configured with this forwarding rule. The allPorts field has the following limitations: - It requires that the forwarding rule IPProtocol be TCP, UDP, SCTP, or L3_DEFAULT. - It's applicable only to the following products: internal passthrough Network Load Balancers, backend service-based external passthrough Network Load Balancers, and internal and external protocol forwarding. - Set this field to true to allow packets addressed to any port or packets lacking destination port information (for example, UDP fragments after the first fragment) to be forwarded to the backends configured with this forwarding rule. The L3_DEFAULT protocol requires allPorts be set to true. ", + "type": "boolean" + }, + "allowGlobalAccess": { + "description": "If set to true, clients can access the internal passthrough Network Load Balancers, the regional internal Application Load Balancer, and the regional internal proxy Network Load Balancer from all regions. If false, only allows access from the local region the load balancer is located at. Note that for INTERNAL_MANAGED forwarding rules, this field cannot be changed after the forwarding rule is created.", + "type": "boolean" + }, + "allowPscGlobalAccess": { + "description": "This is used in PSC consumer ForwardingRule to control whether the PSC endpoint can be accessed from another region.", + "type": "boolean" + }, + "allowPscPacketInjection": { + "description": "This is used in PSC consumer ForwardingRule to control whether the producer is allowed to inject packets into the consumer's network. If set to true, the target service attachment must have tunneling enabled and TunnelingConfig.RoutingMode set to PACKET_INJECTION Non-PSC forwarding rules should not use this field.", + "type": "boolean" + }, + "backendService": { + "description": "Identifies the backend service to which the forwarding rule sends traffic. Required for internal and external passthrough Network Load Balancers; must be omitted for all other load balancer types.", + "type": "string" + }, + "baseForwardingRule": { + "description": "[Output Only] The URL for the corresponding base forwarding rule. By base forwarding rule, we mean the forwarding rule that has the same IP address, protocol, and port settings with the current forwarding rule, but without sourceIPRanges specified. Always empty if the current forwarding rule does not have sourceIPRanges specified.", + "type": "string" + }, + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", + "type": "string" + }, + "externalManagedBackendBucketMigrationState": { + "description": "Specifies the canary migration state for the backend buckets attached to this forwarding rule. Possible values are PREPARE, TEST_BY_PERCENTAGE, and TEST_ALL_TRAFFIC. To begin the migration from EXTERNAL to EXTERNAL_MANAGED, the state must be changed to PREPARE. The state must be changed to TEST_ALL_TRAFFIC before the loadBalancingScheme can be changed to EXTERNAL_MANAGED. Optionally, the TEST_BY_PERCENTAGE state can be used to migrate traffic to backend buckets attached to this forwarding rule by percentage using externalManagedBackendBucketMigrationTestingPercentage. Rolling back a migration requires the states to be set in reverse order. So changing the scheme from EXTERNAL_MANAGED to EXTERNAL requires the state to be set to TEST_ALL_TRAFFIC at the same time. Optionally, the TEST_BY_PERCENTAGE state can be used to migrate some traffic back to EXTERNAL or PREPARE can be used to migrate all traffic back to EXTERNAL.", + "enum": [ + "PREPARE", + "TEST_ALL_TRAFFIC", + "TEST_BY_PERCENTAGE" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "externalManagedBackendBucketMigrationTestingPercentage": { + "description": "Determines the fraction of requests to backend buckets that should be processed by the global external Application Load Balancer. The value of this field must be in the range [0, 100]. This value can only be set if the loadBalancingScheme in the BackendService is set to EXTERNAL (when using the classic Application Load Balancer) and the migration state is TEST_BY_PERCENTAGE.", + "format": "float", + "type": "number" + }, + "fingerprint": { + "description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a ForwardingRule. Include the fingerprint in patch request to ensure that you do not overwrite changes that were applied from another concurrent request. To see the latest fingerprint, make a get() request to retrieve a ForwardingRule.", + "format": "byte", + "type": "string" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64", + "type": "string" + }, + "ipCollection": { + "description": "Resource reference of a PublicDelegatedPrefix. The PDP must be a sub-PDP in EXTERNAL_IPV6_FORWARDING_RULE_CREATION mode. Use one of the following formats to specify a sub-PDP when creating an IPv6 NetLB forwarding rule using BYOIP: Full resource URL, as in https://www.googleapis.com/compute/v1/projects/project_id/regions/region /publicDelegatedPrefixes/sub-pdp-name Partial URL, as in: - projects/project_id/regions/region/publicDelegatedPrefixes/sub-pdp-name - regions/region/publicDelegatedPrefixes/sub-pdp-name ", + "type": "string" + }, + "ipVersion": { + "description": "The IP Version that will be used by this forwarding rule. Valid options are IPV4 or IPV6.", + "enum": [ + "IPV4", + "IPV6", + "UNSPECIFIED_VERSION" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "isMirroringCollector": { + "description": "Indicates whether or not this load balancer can be used as a collector for packet mirroring. To prevent mirroring loops, instances behind this load balancer will not have their traffic mirrored even if a PacketMirroring rule applies to them. This can only be set to true for load balancers that have their loadBalancingScheme set to INTERNAL.", + "type": "boolean" + }, + "kind": { + "default": "compute#forwardingRule", + "description": "[Output Only] Type of the resource. Always compute#forwardingRule for forwarding rule resources.", + "type": "string" + }, + "labelFingerprint": { + "description": "A fingerprint for the labels being applied to this resource, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a ForwardingRule.", + "format": "byte", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" }, + "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", "type": "object" - } - }, - "type": "object" - }, - "DisksAddResourcePoliciesRequest": { - "id": "DisksAddResourcePoliciesRequest", - "properties": { - "resourcePolicies": { - "description": "Full or relative path to the resource policy to be added to this disk. You can only specify one resource policy.", + }, + "loadBalancingScheme": { + "description": "Specifies the forwarding rule type. For more information about forwarding rules, refer to Forwarding rule concepts.", + "enum": [ + "EXTERNAL", + "EXTERNAL_MANAGED", + "INTERNAL", + "INTERNAL_MANAGED", + "INTERNAL_SELF_MANAGED", + "INVALID" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "metadataFilters": { + "description": "Opaque filter criteria used by load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to load balancer, xDS clients present node metadata. When there is a match, the relevant configuration is made available to those proxies. Otherwise, all the resources (e.g. TargetHttpProxy, UrlMap) referenced by the ForwardingRule are not visible to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadataFilters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here will be applifed before those specified in the UrlMap that this ForwardingRule references. metadataFilters only applies to Loadbalancers that have their loadBalancingScheme set to INTERNAL_SELF_MANAGED.", + "items": { + "$ref": "MetadataFilter" + }, + "type": "array" + }, + "name": { + "description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. For Private Service Connect forwarding rules that forward traffic to Google APIs, the forwarding rule name must be a 1-20 characters string with lowercase letters and numbers and must start with a letter.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "network": { + "description": "This field is not used for global external load balancing. For internal passthrough Network Load Balancers, this field identifies the network that the load balanced IP should belong to for this forwarding rule. If the subnetwork is specified, the network of the subnetwork will be used. If neither subnetwork nor this field is specified, the default network will be used. For Private Service Connect forwarding rules that forward traffic to Google APIs, a network must be provided.", + "type": "string" + }, + "networkTier": { + "description": "This signifies the networking tier used for configuring this load balancer and can only take the following values: PREMIUM, STANDARD. For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM. If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.", + "enum": [ + "FIXED_STANDARD", + "PREMIUM", + "SELECT", + "STANDARD", + "STANDARD_OVERRIDES_FIXED_STANDARD" + ], + "enumDescriptions": [ + "Public internet quality with fixed bandwidth.", + "High quality, Google-grade network tier, support for all networking products.", + "Price competitive network tier, support for all networking products.", + "Public internet quality, only limited support for other networking products.", + "(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured." + ], + "type": "string" + }, + "noAutomateDnsZone": { + "description": "This is used in PSC consumer ForwardingRule to control whether it should try to auto-generate a DNS zone or not. Non-PSC forwarding rules do not use this field. Once set, this field is not mutable.", + "type": "boolean" + }, + "portRange": { + "description": "The ports, portRange, and allPorts fields are mutually exclusive. Only packets addressed to ports in the specified range will be forwarded to the backends configured with this forwarding rule. The portRange field has the following limitations: - It requires that the forwarding rule IPProtocol be TCP, UDP, or SCTP, and - It's applicable only to the following products: external passthrough Network Load Balancers, internal and external proxy Network Load Balancers, internal and external Application Load Balancers, external protocol forwarding, and Classic VPN. - Some products have restrictions on what ports can be used. See port specifications for details. For external forwarding rules, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair, and cannot have overlapping portRanges. For internal forwarding rules within the same VPC network, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair, and cannot have overlapping portRanges. @pattern: \\\\d+(?:-\\\\d+)?", + "type": "string" + }, + "ports": { + "description": "The ports, portRange, and allPorts fields are mutually exclusive. Only packets addressed to ports in the specified range will be forwarded to the backends configured with this forwarding rule. The ports field has the following limitations: - It requires that the forwarding rule IPProtocol be TCP, UDP, or SCTP, and - It's applicable only to the following products: internal passthrough Network Load Balancers, backend service-based external passthrough Network Load Balancers, and internal protocol forwarding. - You can specify a list of up to five ports by number, separated by commas. The ports can be contiguous or discontiguous. For external forwarding rules, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair if they share at least one port number. For internal forwarding rules within the same VPC network, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair if they share at least one port number. @pattern: \\\\d+(?:-\\\\d+)?", "items": { "type": "string" }, "type": "array" - } - }, - "type": "object" - }, - "DisksRemoveResourcePoliciesRequest": { - "id": "DisksRemoveResourcePoliciesRequest", - "properties": { - "resourcePolicies": { - "description": "Resource policies to be removed from this disk.", + }, + "pscConnectionId": { + "description": "[Output Only] The PSC connection id of the PSC forwarding rule.", + "format": "uint64", + "type": "string" + }, + "pscConnectionStatus": { + "enum": [ + "ACCEPTED", + "CLOSED", + "NEEDS_ATTENTION", + "PENDING", + "REJECTED", + "STATUS_UNSPECIFIED" + ], + "enumDescriptions": [ + "The connection has been accepted by the producer.", + "The connection has been closed by the producer and will not serve traffic going forward.", + "The connection has been accepted by the producer, but the producer needs to take further action before the forwarding rule can serve traffic.", + "The connection is pending acceptance by the producer.", + "The connection has been rejected by the producer.", + "" + ], + "type": "string" + }, + "region": { + "description": "[Output Only] URL of the region where the regional forwarding rule resides. This field is not applicable to global forwarding rules. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + }, + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "type": "string" + }, + "serviceDirectoryRegistrations": { + "description": "Service Directory resources to register this forwarding rule with. Currently, only supports a single Service Directory resource.", + "items": { + "$ref": "ForwardingRuleServiceDirectoryRegistration" + }, + "type": "array" + }, + "serviceLabel": { + "description": "An optional prefix to the service name for this forwarding rule. If specified, the prefix is the first label of the fully qualified service name. The label must be 1-63 characters long, and comply with RFC1035. Specifically, the label must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. This field is only used for internal load balancing.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "serviceName": { + "description": "[Output Only] The internal fully qualified service name for this forwarding rule. This field is only used for internal load balancing.", + "type": "string" + }, + "sourceIpRanges": { + "description": "If not empty, this forwarding rule will only forward the traffic when the source IP address matches one of the IP addresses or CIDR ranges set here. Note that a forwarding rule can only have up to 64 source IP ranges, and this field can only be used with a regional forwarding rule whose scheme is EXTERNAL. Each source_ip_range entry should be either an IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).", "items": { "type": "string" }, "type": "array" - } - }, - "type": "object" - }, - "DisksResizeRequest": { - "id": "DisksResizeRequest", - "properties": { - "sizeGb": { - "description": "The new size of the persistent disk, which is specified in GB.", - "format": "int64", + }, + "subnetwork": { + "description": "This field identifies the subnetwork that the load balanced IP should belong to for this forwarding rule, used with internal load balancers and external passthrough Network Load Balancers with IPv6. If the network specified is in auto subnet mode, this field is optional. However, a subnetwork must be specified if the network is in custom subnet mode or when creating external forwarding rule with IPv6.", + "type": "string" + }, + "target": { + "description": "The URL of the target resource to receive the matched traffic. For regional forwarding rules, this target must be in the same region as the forwarding rule. For global forwarding rules, this target must be a global load balancing resource. The forwarded traffic must be of a type appropriate to the target object. - For load balancers, see the \"Target\" column in [Port specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications). - For Private Service Connect forwarding rules that forward traffic to Google APIs, provide the name of a supported Google API bundle: - vpc-sc - APIs that support VPC Service Controls. - all-apis - All supported Google APIs. - For Private Service Connect forwarding rules that forward traffic to managed services, the target must be a service attachment. The target is not mutable once set as a service attachment. ", "type": "string" } }, "type": "object" }, - "DisksScopedList": { - "id": "DisksScopedList", + "ForwardingRuleAggregatedList": { + "id": "ForwardingRuleAggregatedList", "properties": { - "disks": { - "description": "[Output Only] A list of disks contained in this scope.", + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "additionalProperties": { + "$ref": "ForwardingRulesScopedList", + "description": "Name of the scope containing this set of addresses." + }, + "description": "A list of ForwardingRulesScopedList resources.", + "type": "object" + }, + "kind": { + "default": "compute#forwardingRuleAggregatedList", + "description": "[Output Only] Type of resource. Always compute#forwardingRuleAggregatedList for lists of forwarding rules.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "[Output Only] Unreachable resources.", "items": { - "$ref": "Disk" + "type": "string" }, "type": "array" }, "warning": { - "description": "[Output Only] Informational warning which replaces the list of disks when the list is empty.", + "description": "[Output Only] Informational warning message.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", @@ -53661,6 +58080,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -53697,6 +58117,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -53721,6 +58142,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -53758,176 +58180,24 @@ }, "type": "object" }, - "DisksStartAsyncReplicationRequest": { - "id": "DisksStartAsyncReplicationRequest", - "properties": { - "asyncSecondaryDisk": { - "description": "The secondary disk to start asynchronous replication to. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk ", - "type": "string" - } - }, - "type": "object" - }, - "DisksStopGroupAsyncReplicationResource": { - "description": "A transient resource used in compute.disks.stopGroupAsyncReplication and compute.regionDisks.stopGroupAsyncReplication. It is only used to process requests and is not persisted.", - "id": "DisksStopGroupAsyncReplicationResource", - "properties": { - "resourcePolicy": { - "description": "The URL of the DiskConsistencyGroupPolicy for the group of disks to stop. This may be a full or partial URL, such as: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy ", - "type": "string" - } - }, - "type": "object" - }, - "DisplayDevice": { - "description": "A set of Display Device options", - "id": "DisplayDevice", - "properties": { - "enableDisplay": { - "description": "Defines whether the instance has Display enabled.", - "type": "boolean" - } - }, - "type": "object" - }, - "DistributionPolicy": { - "id": "DistributionPolicy", - "properties": { - "targetShape": { - "description": "The distribution shape to which the group converges either proactively or on resize events (depending on the value set in updatePolicy.instanceRedistributionType).", - "enum": [ - "ANY", - "ANY_SINGLE_ZONE", - "BALANCED", - "EVEN" - ], - "enumDescriptions": [ - "The group picks zones for creating VM instances to fulfill the requested number of VMs within present resource constraints and to maximize utilization of unused zonal reservations. Recommended for batch workloads that do not require high availability.", - "The group creates all VM instances within a single zone. The zone is selected based on the present resource constraints and to maximize utilization of unused zonal reservations. Recommended for batch workloads with heavy interprocess communication.", - "The group prioritizes acquisition of resources, scheduling VMs in zones where resources are available while distributing VMs as evenly as possible across selected zones to minimize the impact of zonal failure. Recommended for highly available serving workloads.", - "The group schedules VM instance creation and deletion to achieve and maintain an even number of managed instances across the selected zones. The distribution is even when the number of managed instances does not differ by more than 1 between any two zones. Recommended for highly available serving workloads." - ], - "type": "string" - }, - "zones": { - "description": "Zones where the regional managed instance group will create and manage its instances.", - "items": { - "$ref": "DistributionPolicyZoneConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "DistributionPolicyZoneConfiguration": { - "id": "DistributionPolicyZoneConfiguration", - "properties": { - "zone": { - "annotations": { - "required": [ - "compute.regionInstanceGroupManagers.insert", - "compute.regionInstanceGroupManagers.update" - ] - }, - "description": "The URL of the zone. The zone must exist in the region where the managed instance group is located.", - "type": "string" - } - }, - "type": "object" - }, - "Duration": { - "description": "A Duration represents a fixed-length span of time represented as a count of seconds and fractions of seconds at nanosecond resolution. It is independent of any calendar and concepts like \"day\" or \"month\". Range is approximately 10,000 years.", - "id": "Duration", - "properties": { - "nanos": { - "description": "Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 `seconds` field and a positive `nanos` field. Must be from 0 to 999,999,999 inclusive.", - "format": "int32", - "type": "integer" - }, - "seconds": { - "description": "Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "ErrorInfo": { - "description": "Describes the cause of the error with structured details. Example of an error when contacting the \"pubsub.googleapis.com\" API when it is not enabled: { \"reason\": \"API_DISABLED\" \"domain\": \"googleapis.com\" \"metadata\": { \"resource\": \"projects/123\", \"service\": \"pubsub.googleapis.com\" } } This response indicates that the pubsub.googleapis.com API is not enabled. Example of an error that is returned when attempting to create a Spanner instance in a region that is out of stock: { \"reason\": \"STOCKOUT\" \"domain\": \"spanner.googleapis.com\", \"metadata\": { \"availableRegions\": \"us-central1,us-east2\" } }", - "id": "ErrorInfo", - "properties": { - "domain": { - "description": "The logical grouping to which the \"reason\" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: \"pubsub.googleapis.com\". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is \"googleapis.com\".", - "type": "string" - }, - "metadatas": { - "additionalProperties": { - "type": "string" - }, - "description": "Additional structured details about this error. Keys must match /a-z+/ but should ideally be lowerCamelCase. Also they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than {\"instanceLimit\": \"100/request\"}, should be returned as, {\"instanceLimitPerRequest\": \"100\"}, if the client exceeds the number of instances that can be created in a single (batch) request.", - "type": "object" - }, - "reason": { - "description": "The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE.", - "type": "string" - } - }, - "type": "object" - }, - "ExchangedPeeringRoute": { - "id": "ExchangedPeeringRoute", - "properties": { - "destRange": { - "description": "The destination range of the route.", - "type": "string" - }, - "imported": { - "description": "True if the peering route has been imported from a peer. The actual import happens if the field networkPeering.importCustomRoutes is true for this network, and networkPeering.exportCustomRoutes is true for the peer network, and the import does not result in a route conflict.", - "type": "boolean" - }, - "nextHopRegion": { - "description": "The region of peering route next hop, only applies to dynamic routes.", - "type": "string" - }, - "priority": { - "description": "The priority of the peering route.", - "format": "uint32", - "type": "integer" - }, - "type": { - "description": "The type of the peering route.", - "enum": [ - "DYNAMIC_PEERING_ROUTE", - "STATIC_PEERING_ROUTE", - "SUBNET_PEERING_ROUTE" - ], - "enumDescriptions": [ - "For routes exported from local network.", - "The peering route.", - "The peering route corresponding to subnetwork range." - ], - "type": "string" - } - }, - "type": "object" - }, - "ExchangedPeeringRoutesList": { - "id": "ExchangedPeeringRoutesList", + "ForwardingRuleList": { + "description": "Contains a list of ForwardingRule resources.", + "id": "ForwardingRuleList", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "description": "A list of ExchangedPeeringRoute resources.", + "description": "A list of ForwardingRule resources.", "items": { - "$ref": "ExchangedPeeringRoute" + "$ref": "ForwardingRule" }, "type": "array" }, "kind": { - "default": "compute#exchangedPeeringRoutesList", - "description": "[Output Only] Type of resource. Always compute#exchangedPeeringRoutesList for exchanged peering routes lists.", + "default": "compute#forwardingRuleList", + "description": "Type of resource.", "type": "string" }, "nextPageToken": { @@ -53965,6 +58235,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -54001,6 +58272,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -54025,6 +58297,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -54062,154 +58335,46 @@ }, "type": "object" }, - "Expr": { - "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", - "id": "Expr", + "ForwardingRuleReference": { + "id": "ForwardingRuleReference", "properties": { - "description": { - "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", - "type": "string" - }, - "expression": { - "description": "Textual representation of an expression in Common Expression Language syntax.", - "type": "string" - }, - "location": { - "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", - "type": "string" - }, - "title": { - "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", + "forwardingRule": { "type": "string" } }, "type": "object" }, - "ExternalVpnGateway": { - "description": "Represents an external VPN gateway. External VPN gateway is the on-premises VPN gateway(s) or another cloud provider's VPN gateway that connects to your Google Cloud VPN gateway. To create a highly available VPN from Google Cloud Platform to your VPN gateway or another cloud provider's VPN gateway, you must create a external VPN gateway resource with information about the other gateway. For more information about using external VPN gateways, see Creating an HA VPN gateway and tunnel pair to a peer VPN.", - "id": "ExternalVpnGateway", + "ForwardingRuleServiceDirectoryRegistration": { + "description": "Describes the auto-registration of the forwarding rule to Service Directory. The region and project of the Service Directory resource generated from this registration will be the same as this forwarding rule.", + "id": "ForwardingRuleServiceDirectoryRegistration", "properties": { - "creationTimestamp": { - "description": "[Output Only] Creation timestamp in RFC3339 text format.", - "type": "string" - }, - "description": { - "description": "An optional description of this resource. Provide this property when you create the resource.", - "type": "string" - }, - "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", - "format": "uint64", - "type": "string" - }, - "interfaces": { - "description": "A list of interfaces for this external VPN gateway. If your peer-side gateway is an on-premises gateway and non-AWS cloud providers' gateway, at most two interfaces can be provided for an external VPN gateway. If your peer side is an AWS virtual private gateway, four interfaces should be provided for an external VPN gateway.", - "items": { - "$ref": "ExternalVpnGatewayInterface" - }, - "type": "array" - }, - "kind": { - "default": "compute#externalVpnGateway", - "description": "[Output Only] Type of the resource. Always compute#externalVpnGateway for externalVpnGateways.", - "type": "string" - }, - "labelFingerprint": { - "description": "A fingerprint for the labels being applied to this ExternalVpnGateway, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an ExternalVpnGateway.", - "format": "byte", - "type": "string" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", - "type": "object" - }, - "name": { - "annotations": { - "required": [ - "compute.externalVpnGateways.insert" - ] - }, - "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" - }, - "redundancyType": { - "description": "Indicates the user-supplied redundancy type of this external VPN gateway.", - "enum": [ - "FOUR_IPS_REDUNDANCY", - "SINGLE_IP_INTERNALLY_REDUNDANT", - "TWO_IPS_REDUNDANCY" - ], - "enumDescriptions": [ - "The external VPN gateway has four public IP addresses; at the time of writing this API, the AWS virtual private gateway is an example which has four public IP addresses for high availability connections; there should be two VPN connections in the AWS virtual private gateway , each AWS VPN connection has two public IP addresses; please make sure to put two public IP addresses from one AWS VPN connection into interfaces 0 and 1 of this external VPN gateway, and put the other two public IP addresses from another AWS VPN connection into interfaces 2 and 3 of this external VPN gateway. When displaying highly available configuration status for the VPN tunnels connected to FOUR_IPS_REDUNDANCY external VPN gateway, Google will always detect whether interfaces 0 and 1 are connected on one interface of HA Cloud VPN gateway, and detect whether interfaces 2 and 3 are connected to another interface of the HA Cloud VPN gateway.", - "The external VPN gateway has only one public IP address which internally provide redundancy or failover.", - "The external VPN gateway has two public IP addresses which are redundant with each other, the following two types of setup on your on-premises side would have this type of redundancy: (1) Two separate on-premises gateways, each with one public IP address, the two on-premises gateways are redundant with each other. (2) A single on-premise gateway with two public IP addresses that are redundant with eatch other." - ], - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for the resource.", + "namespace": { + "description": "Service Directory namespace to register the forwarding rule under.", "type": "string" - } - }, - "type": "object" - }, - "ExternalVpnGatewayInterface": { - "description": "The interface for the external VPN gateway.", - "id": "ExternalVpnGatewayInterface", - "properties": { - "id": { - "description": "The numeric ID of this interface. The allowed input values for this id for different redundancy types of external VPN gateway: - SINGLE_IP_INTERNALLY_REDUNDANT - 0 - TWO_IPS_REDUNDANCY - 0, 1 - FOUR_IPS_REDUNDANCY - 0, 1, 2, 3 ", - "format": "uint32", - "type": "integer" - }, - "ipAddress": { - "description": "IP address of the interface in the external VPN gateway. Only IPv4 is supported. This IP address can be either from your on-premise gateway or another Cloud provider's VPN gateway, it cannot be an IP address from Google Compute Engine.", + }, + "service": { + "description": "Service Directory service to register the forwarding rule under.", "type": "string" }, - "ipv6Address": { - "description": "IPv6 address of the interface in the external VPN gateway. This IPv6 address can be either from your on-premise gateway or another Cloud provider's VPN gateway, it cannot be an IP address from Google Compute Engine. Must specify an IPv6 address (not IPV4-mapped) using any format described in RFC 4291 (e.g. 2001:db8:0:0:2d9:51:0:0). The output format is RFC 5952 format (e.g. 2001:db8::2d9:51:0:0).", + "serviceDirectoryRegion": { + "description": "[Optional] Service Directory region to register this global forwarding rule under. Default to \"us-central1\". Only used for PSC for Google APIs. All PSC for Google APIs forwarding rules on the same network should use the same Service Directory region.", "type": "string" } }, "type": "object" }, - "ExternalVpnGatewayList": { - "description": "Response to the list request, and contains a list of externalVpnGateways.", - "id": "ExternalVpnGatewayList", + "ForwardingRulesScopedList": { + "id": "ForwardingRulesScopedList", "properties": { - "etag": { - "type": "string" - }, - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", - "type": "string" - }, - "items": { - "description": "A list of ExternalVpnGateway resources.", + "forwardingRules": { + "description": "A list of forwarding rules contained in this scope.", "items": { - "$ref": "ExternalVpnGateway" + "$ref": "ForwardingRule" }, "type": "array" }, - "kind": { - "default": "compute#externalVpnGatewayList", - "description": "[Output Only] Type of resource. Always compute#externalVpnGatewayList for lists of externalVpnGateways.", - "type": "string" - }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", - "type": "string" - }, "warning": { - "description": "[Output Only] Informational warning message.", + "description": "Informational warning which replaces the list of forwarding rules when the list is empty.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", @@ -54235,6 +58400,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -54271,6 +58437,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -54295,6 +58462,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -54332,209 +58500,439 @@ }, "type": "object" }, - "FileContentBuffer": { - "id": "FileContentBuffer", + "FutureReservation": { + "id": "FutureReservation", "properties": { - "content": { - "description": "The raw content in the secure keys file.", - "format": "byte", - "type": "string" + "aggregateReservation": { + "$ref": "AllocationAggregateReservation", + "description": "Aggregate reservation details for the future reservation." }, - "fileType": { - "description": "The file type of source file.", - "enum": [ - "BIN", - "UNDEFINED", - "X509" - ], - "enumDescriptions": [ - "", - "", - "" - ], + "autoCreatedReservationsDeleteTime": { + "description": "Future timestamp when the FR auto-created reservations will be deleted by Compute Engine. Format of this field must be a valid href=\"https://www.ietf.org/rfc/rfc3339.txt\">RFC3339 value.", "type": "string" - } - }, - "type": "object" - }, - "Firewall": { - "description": "Represents a Firewall Rule resource. Firewall rules allow or deny ingress traffic to, and egress traffic from your instances. For more information, read Firewall rules.", - "id": "Firewall", - "properties": { - "allowed": { - "description": "The list of ALLOW rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a permitted connection.", - "items": { - "properties": { - "IPProtocol": { - "description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp) or the IP protocol number.", - "type": "string" - }, - "ports": { - "description": "An optional list of ports to which this rule applies. This field is only applicable for the UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "type": "array" }, - "creationTimestamp": { - "description": "[Output Only] Creation timestamp in RFC3339 text format.", - "type": "string" + "autoCreatedReservationsDuration": { + "$ref": "Duration", + "description": "Specifies the duration of auto-created reservations. It represents relative time to future reservation start_time when auto-created reservations will be automatically deleted by Compute Engine. Duration time unit is represented as a count of seconds and fractions of seconds at nanosecond resolution." }, - "denied": { - "description": "The list of DENY rules specified by this firewall. Each rule specifies a protocol and port-range tuple that describes a denied connection.", - "items": { - "properties": { - "IPProtocol": { - "description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp) or the IP protocol number.", - "type": "string" - }, - "ports": { - "description": "An optional list of ports to which this rule applies. This field is only applicable for the UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "type": "array" + "autoDeleteAutoCreatedReservations": { + "description": "Setting for enabling or disabling automatic deletion for auto-created reservation. If set to true, auto-created reservations will be deleted at Future Reservation's end time (default) or at user's defined timestamp if any of the [auto_created_reservations_delete_time, auto_created_reservations_duration] values is specified. For keeping auto-created reservation indefinitely, this value should be set to false.", + "type": "boolean" }, - "description": { - "description": "An optional description of this resource. Provide this field when you create the resource.", - "type": "string" + "commitmentInfo": { + "$ref": "FutureReservationCommitmentInfo", + "description": "If not present, then FR will not deliver a new commitment or update an existing commitment." }, - "destinationRanges": { - "description": "If destination ranges are specified, the firewall rule applies only to traffic that has destination IP address in these ranges. These ranges must be expressed in CIDR format. Both IPv4 and IPv6 are supported.", - "items": { - "type": "string" - }, - "type": "array" + "creationTimestamp": { + "description": "[Output Only] The creation timestamp for this future reservation in RFC3339 text format.", + "type": "string" }, - "direction": { - "description": "Direction of traffic to which this firewall applies, either `INGRESS` or `EGRESS`. The default is `INGRESS`. For `EGRESS` traffic, you cannot specify the sourceTags fields.", + "deploymentType": { + "description": "Type of the deployment requested as part of future reservation.", "enum": [ - "EGRESS", - "INGRESS" + "DENSE", + "DEPLOYMENT_TYPE_UNSPECIFIED", + "FLEXIBLE" ], "enumDescriptions": [ - "Indicates that firewall should apply to outgoing traffic.", - "Indicates that firewall should apply to incoming traffic." + "The reserved capacity is made up of densely deployed reservation blocks.", + "", + "The reserved capacity is made up of highly flexible, logical reservation blocks." ], "type": "string" }, - "disabled": { - "description": "Denotes whether the firewall rule is disabled. When set to true, the firewall rule is not enforced and the network behaves as if it did not exist. If this is unspecified, the firewall rule will be enabled.", - "type": "boolean" - }, - "enableLogging": { - "deprecated": true, - "description": "Deprecated in favor of enable in LogConfig. This field denotes whether to enable logging for a particular firewall rule. If logging is enabled, logs will be exported t Cloud Logging.", - "type": "boolean" + "description": { + "description": "An optional description of this resource. Provide this property when you create the future reservation.", + "type": "string" }, "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "description": "[Output Only] A unique identifier for this future reservation. The server defines this identifier.", "format": "uint64", "type": "string" }, "kind": { - "default": "compute#firewall", - "description": "[Output Only] Type of the resource. Always compute#firewall for firewall rules.", + "default": "compute#futureReservation", + "description": "[Output Only] Type of the resource. Always compute#futureReservation for future reservations.", "type": "string" }, - "logConfig": { - "$ref": "FirewallLogConfig", - "description": "This field denotes the logging options for a particular firewall rule. If logging is enabled, logs will be exported to Cloud Logging." - }, "name": { "annotations": { "required": [ - "compute.firewalls.insert", - "compute.firewalls.patch" + "compute.instances.insert" ] }, - "description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit.", + "description": "The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, - "network": { - "description": "URL of the network resource for this firewall rule. If not specified when creating a firewall rule, the default network is used: global/networks/default If you choose to specify this field, you can specify the network as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/myproject/global/networks/my-network - projects/myproject/global/networks/my-network - global/networks/default ", + "namePrefix": { + "description": "Name prefix for the reservations to be created at the time of delivery. The name prefix must comply with RFC1035. Maximum allowed length for name prefix is 20. Automatically created reservations name format will be -date-####.", "type": "string" }, - "priority": { - "description": "Priority for this rule. This is an integer between `0` and `65535`, both inclusive. The default value is `1000`. Relative priorities determine which rule takes effect if multiple rules apply. Lower values indicate higher priority. For example, a rule with priority `0` has higher precedence than a rule with priority `1`. DENY rules take precedence over ALLOW rules if they have equal priority. Note that VPC networks have implied rules with a priority of `65535`. To avoid conflicts with the implied rules, use a priority number less than `65535`.", - "format": "int32", - "type": "integer" + "planningStatus": { + "description": "Planning state before being submitted for evaluation", + "enum": [ + "DRAFT", + "PLANNING_STATUS_UNSPECIFIED", + "SUBMITTED" + ], + "enumDescriptions": [ + "Future Reservation is being drafted.", + "", + "Future Reservation has been submitted for evaluation by GCP." + ], + "type": "string" + }, + "reservationMode": { + "description": "The reservation mode which determines reservation-termination behavior and expected pricing.", + "enum": [ + "CALENDAR", + "DEFAULT", + "RESERVATION_MODE_UNSPECIFIED" + ], + "enumDescriptions": [ + "The delivered reservations will delivered at specified start time and terminated at specified end time along with terminating the VMs running on it.", + "The delivered reservations do not terminate VMs at the end of reservations. This is default mode.", + "" + ], + "type": "string" + }, + "reservationName": { + "description": "Name of reservations where the capacity is provisioned at the time of delivery of future reservations. If the reservation with the given name does not exist already, it is created automatically at the time of Approval with INACTIVE state till specified start-time. Either provide the reservation_name or a name_prefix.", + "type": "string" + }, + "schedulingType": { + "description": "Maintenance information for this reservation", + "enum": [ + "GROUPED", + "GROUP_MAINTENANCE_TYPE_UNSPECIFIED", + "INDEPENDENT" + ], + "enumDescriptions": [ + "Maintenance on all reserved instances in the reservation is synchronized.", + "Unknown maintenance type.", + "Maintenance is not synchronized for this reservation. Instead, each instance has its own maintenance window." + ], + "type": "string" }, "selfLink": { - "description": "[Output Only] Server-defined URL for the resource.", + "description": "[Output Only] Server-defined fully-qualified URL for this resource.", "type": "string" }, "selfLinkWithId": { "description": "[Output Only] Server-defined URL for this resource with the resource id.", "type": "string" }, - "sourceRanges": { - "description": "If source ranges are specified, the firewall rule applies only to traffic that has a source IP address in these ranges. These ranges must be expressed in CIDR format. One or both of sourceRanges and sourceTags may be set. If both fields are set, the rule applies to traffic that has a source IP address within sourceRanges OR a source IP from a resource with a matching tag listed in the sourceTags field. The connection does not need to match both fields for the rule to apply. Both IPv4 and IPv6 are supported.", - "items": { - "type": "string" - }, - "type": "array" + "shareSettings": { + "$ref": "ShareSettings", + "description": "List of Projects/Folders to share with." }, - "sourceServiceAccounts": { - "description": "If source service accounts are specified, the firewall rules apply only to traffic originating from an instance with a service account in this list. Source service accounts cannot be used to control traffic to an instance's external IP address because service accounts are associated with an instance, not an IP address. sourceRanges can be set at the same time as sourceServiceAccounts. If both are set, the firewall applies to traffic that has a source IP address within the sourceRanges OR a source IP that belongs to an instance with service account listed in sourceServiceAccount. The connection does not need to match both fields for the firewall to apply. sourceServiceAccounts cannot be used at the same time as sourceTags or targetTags.", - "items": { - "type": "string" - }, - "type": "array" + "specificReservationRequired": { + "description": "Indicates whether the auto-created reservation can be consumed by VMs with affinity for \"any\" reservation. If the field is set, then only VMs that target the reservation by name can consume from the delivered reservation.", + "type": "boolean" }, - "sourceTags": { - "description": "If source tags are specified, the firewall rule applies only to traffic with source IPs that match the primary network interfaces of VM instances that have the tag and are in the same VPC network. Source tags cannot be used to control traffic to an instance's external IP address, it only applies to traffic between instances in the same virtual network. Because tags are associated with instances, not IP addresses. One or both of sourceRanges and sourceTags may be set. If both fields are set, the firewall applies to traffic that has a source IP address within sourceRanges OR a source IP from a resource with a matching tag listed in the sourceTags field. The connection does not need to match both fields for the firewall to apply.", - "items": { - "type": "string" - }, - "type": "array" + "specificSkuProperties": { + "$ref": "FutureReservationSpecificSKUProperties", + "description": "Future Reservation configuration to indicate instance properties and total count." }, - "targetServiceAccounts": { - "description": "A list of service accounts indicating sets of instances located in the network that may make network connections as specified in allowed[]. targetServiceAccounts cannot be used at the same time as targetTags or sourceTags. If neither targetServiceAccounts nor targetTags are specified, the firewall rule applies to all instances on the specified network.", - "items": { - "type": "string" - }, - "type": "array" + "status": { + "$ref": "FutureReservationStatus", + "description": "[Output only] Status of the Future Reservation" }, - "targetTags": { - "description": "A list of tags that controls which instances the firewall rule applies to. If targetTags are specified, then the firewall rule applies only to instances in the VPC network that have one of those tags. If no targetTags are specified, the firewall rule applies to all instances on the specified network.", + "timeWindow": { + "$ref": "FutureReservationTimeWindow", + "description": "Time window for this Future Reservation." + }, + "zone": { + "description": "[Output Only] URL of the Zone where this future reservation resides.", + "type": "string" + } + }, + "type": "object" + }, + "FutureReservationCommitmentInfo": { + "id": "FutureReservationCommitmentInfo", + "properties": { + "commitmentName": { + "description": "name of the commitment where capacity is being delivered to.", + "type": "string" + }, + "commitmentPlan": { + "description": "Indicates if a Commitment needs to be created as part of FR delivery. If this field is not present, then no commitment needs to be created.", + "enum": [ + "INVALID", + "THIRTY_SIX_MONTH", + "TWELVE_MONTH" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "previousCommitmentTerms": { + "description": "Only applicable if FR is delivering to the same reservation. If set, all parent commitments will be extended to match the end date of the plan for this commitment.", + "enum": [ + "EXTEND", + "PREVIOUSCOMMITMENTTERM_UNSPECIFIED" + ], + "enumDescriptions": [ + "All associated parent Committed Used Discount(s) end-date/term will be extended to the end-time of this future reservation. Default is to extend previous commitment(s) time to the end_time of the reservation.", + "No changes to associated parents Committed Used Discount(s) terms." + ], + "type": "string" + } + }, + "type": "object" + }, + "FutureReservationSpecificSKUProperties": { + "id": "FutureReservationSpecificSKUProperties", + "properties": { + "instanceProperties": { + "$ref": "AllocationSpecificSKUAllocationReservedInstanceProperties", + "description": "Properties of the SKU instances being reserved." + }, + "sourceInstanceTemplate": { + "description": "The instance template that will be used to populate the ReservedInstanceProperties of the future reservation", + "type": "string" + }, + "totalCount": { + "description": "Total number of instances for which capacity assurance is requested at a future time period.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "FutureReservationStatus": { + "description": "[Output only] Represents status related to the future reservation.", + "id": "FutureReservationStatus", + "properties": { + "amendmentStatus": { + "description": "[Output Only] The current status of the requested amendment.", + "enum": [ + "AMENDMENT_APPROVED", + "AMENDMENT_DECLINED", + "AMENDMENT_IN_REVIEW", + "AMENDMENT_STATUS_UNSPECIFIED" + ], + "enumDescriptions": [ + "The requested amendment to the Future Resevation has been approved and applied by GCP.", + "The requested amendment to the Future Reservation has been declined by GCP and the original state was restored.", + "The requested amendment to the Future Reservation is currently being reviewd by GCP.", + "" + ], + "type": "string" + }, + "autoCreatedReservations": { + "description": "Fully qualified urls of the automatically created reservations at start_time.", "items": { "type": "string" }, "type": "array" + }, + "existingMatchingUsageInfo": { + "$ref": "FutureReservationStatusExistingMatchingUsageInfo", + "description": "[Output Only] Represents the existing matching usage for the future reservation." + }, + "fulfilledCount": { + "description": "This count indicates the fulfilled capacity so far. This is set during \"PROVISIONING\" state. This count also includes capacity delivered as part of existing matching reservations.", + "format": "int64", + "type": "string" + }, + "lastKnownGoodState": { + "$ref": "FutureReservationStatusLastKnownGoodState", + "description": "[Output Only] This field represents the future reservation before an amendment was requested. If the amendment is declined, the Future Reservation will be reverted to the last known good state. The last known good state is not set when updating a future reservation whose Procurement Status is DRAFTING." + }, + "lockTime": { + "description": "Time when Future Reservation would become LOCKED, after which no modifications to Future Reservation will be allowed. Applicable only after the Future Reservation is in the APPROVED state. The lock_time is an RFC3339 string. The procurement_status will transition to PROCURING state at this time.", + "type": "string" + }, + "procurementStatus": { + "description": "Current state of this Future Reservation", + "enum": [ + "APPROVED", + "CANCELLED", + "COMMITTED", + "DECLINED", + "DRAFTING", + "FAILED", + "FAILED_PARTIALLY_FULFILLED", + "FULFILLED", + "PENDING_AMENDMENT_APPROVAL", + "PENDING_APPROVAL", + "PROCUREMENT_STATUS_UNSPECIFIED", + "PROCURING", + "PROVISIONING" + ], + "enumDescriptions": [ + "Future reservation is approved by GCP.", + "Future reservation is cancelled by the customer.", + "Future reservation is committed by the customer.", + "Future reservation is rejected by GCP.", + "Related status for PlanningStatus.Draft. Transitions to PENDING_APPROVAL upon user submitting FR.", + "Future reservation failed. No additional reservations were provided.", + "Future reservation is partially fulfilled. Additional reservations were provided but did not reach total_count reserved instance slots.", + "Future reservation is fulfilled completely.", + "An Amendment to the Future Reservation has been requested. If the Amendment is declined, the Future Reservation will be restored to the last known good state.", + "Future reservation is pending approval by GCP.", + "", + "Future reservation is being procured by GCP. Beyond this point, Future reservation is locked and no further modifications are allowed.", + "Future reservation capacity is being provisioned. This state will be entered after start_time, while reservations are being created to provide total_count reserved instance slots. This state will not persist past start_time + 24h." + ], + "type": "string" + }, + "specificSkuProperties": { + "$ref": "FutureReservationStatusSpecificSKUProperties" + } + }, + "type": "object" + }, + "FutureReservationStatusExistingMatchingUsageInfo": { + "description": "[Output Only] Represents the existing matching usage for the future reservation.", + "id": "FutureReservationStatusExistingMatchingUsageInfo", + "properties": { + "count": { + "description": "Count to represent min(FR total_count, matching_reserved_capacity+matching_unreserved_instances)", + "format": "int64", + "type": "string" + }, + "timestamp": { + "description": "Timestamp when the matching usage was calculated", + "type": "string" + } + }, + "type": "object" + }, + "FutureReservationStatusLastKnownGoodState": { + "description": "The state that the future reservation will be reverted to should the amendment be declined.", + "id": "FutureReservationStatusLastKnownGoodState", + "properties": { + "description": { + "description": "[Output Only] The description of the FutureReservation before an amendment was requested.", + "type": "string" + }, + "existingMatchingUsageInfo": { + "$ref": "FutureReservationStatusExistingMatchingUsageInfo", + "description": "[Output Only] Represents the matching usage for the future reservation before an amendment was requested." + }, + "futureReservationSpecs": { + "$ref": "FutureReservationStatusLastKnownGoodStateFutureReservationSpecs" + }, + "lockTime": { + "description": "[Output Only] The lock time of the FutureReservation before an amendment was requested.", + "type": "string" + }, + "namePrefix": { + "description": "[Output Only] The name prefix of the Future Reservation before an amendment was requested.", + "type": "string" + }, + "procurementStatus": { + "description": "[Output Only] The status of the last known good state for the Future Reservation.", + "enum": [ + "APPROVED", + "CANCELLED", + "COMMITTED", + "DECLINED", + "DRAFTING", + "FAILED", + "FAILED_PARTIALLY_FULFILLED", + "FULFILLED", + "PENDING_AMENDMENT_APPROVAL", + "PENDING_APPROVAL", + "PROCUREMENT_STATUS_UNSPECIFIED", + "PROCURING", + "PROVISIONING" + ], + "enumDescriptions": [ + "Future reservation is approved by GCP.", + "Future reservation is cancelled by the customer.", + "Future reservation is committed by the customer.", + "Future reservation is rejected by GCP.", + "Related status for PlanningStatus.Draft. Transitions to PENDING_APPROVAL upon user submitting FR.", + "Future reservation failed. No additional reservations were provided.", + "Future reservation is partially fulfilled. Additional reservations were provided but did not reach total_count reserved instance slots.", + "Future reservation is fulfilled completely.", + "An Amendment to the Future Reservation has been requested. If the Amendment is declined, the Future Reservation will be restored to the last known good state.", + "Future reservation is pending approval by GCP.", + "", + "Future reservation is being procured by GCP. Beyond this point, Future reservation is locked and no further modifications are allowed.", + "Future reservation capacity is being provisioned. This state will be entered after start_time, while reservations are being created to provide total_count reserved instance slots. This state will not persist past start_time + 24h." + ], + "type": "string" + } + }, + "type": "object" + }, + "FutureReservationStatusLastKnownGoodStateFutureReservationSpecs": { + "description": "The properties of the last known good state for the Future Reservation.", + "id": "FutureReservationStatusLastKnownGoodStateFutureReservationSpecs", + "properties": { + "shareSettings": { + "$ref": "ShareSettings", + "description": "[Output Only] The previous share settings of the Future Reservation." + }, + "specificSkuProperties": { + "$ref": "FutureReservationSpecificSKUProperties", + "description": "[Output Only] The previous instance related properties of the Future Reservation." + }, + "timeWindow": { + "$ref": "FutureReservationTimeWindow", + "description": "[Output Only] The previous time window of the Future Reservation." + } + }, + "type": "object" + }, + "FutureReservationStatusSpecificSKUProperties": { + "description": "Properties to be set for the Future Reservation.", + "id": "FutureReservationStatusSpecificSKUProperties", + "properties": { + "sourceInstanceTemplateId": { + "description": "ID of the instance template used to populate the Future Reservation properties.", + "type": "string" + } + }, + "type": "object" + }, + "FutureReservationTimeWindow": { + "id": "FutureReservationTimeWindow", + "properties": { + "duration": { + "$ref": "Duration" + }, + "endTime": { + "type": "string" + }, + "startTime": { + "description": "Start time of the Future Reservation. The start_time is an RFC3339 string.", + "type": "string" } }, "type": "object" }, - "FirewallList": { - "description": "Contains a list of firewalls.", - "id": "FirewallList", + "FutureReservationsAggregatedListResponse": { + "description": "Contains a list of future reservations.", + "id": "FutureReservationsAggregatedListResponse", "properties": { + "etag": { + "type": "string" + }, "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "description": "A list of Firewall resources.", - "items": { - "$ref": "Firewall" + "additionalProperties": { + "$ref": "FutureReservationsScopedList", + "description": "Name of the scope containing this set of future reservations." }, - "type": "array" + "description": "A list of Future reservation resources.", + "type": "object" }, "kind": { - "default": "compute#firewallList", - "description": "[Output Only] Type of resource. Always compute#firewallList for lists of firewalls.", + "default": "compute#futureReservationsAggregatedListResponse", + "description": "[Output Only] Type of resource. Always compute#futureReservationsAggregatedListResponse for future resevation aggregated list response.", "type": "string" }, "nextPageToken": { @@ -54545,6 +58943,13 @@ "description": "[Output Only] Server-defined URL for this resource.", "type": "string" }, + "unreachables": { + "description": "[Output Only] Unreachable resources.", + "items": { + "type": "string" + }, + "type": "array" + }, "warning": { "description": "[Output Only] Informational warning message.", "properties": { @@ -54572,6 +58977,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -54608,6 +59014,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -54632,6 +59039,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -54669,203 +59077,182 @@ }, "type": "object" }, - "FirewallLogConfig": { - "description": "The available logging options for a firewall rule.", - "id": "FirewallLogConfig", - "properties": { - "enable": { - "description": "This field denotes whether to enable logging for a particular firewall rule.", - "type": "boolean" - }, - "metadata": { - "description": "This field can only be specified for a particular firewall rule if logging is enabled for that rule. This field denotes whether to include or exclude metadata for firewall logs.", - "enum": [ - "EXCLUDE_ALL_METADATA", - "INCLUDE_ALL_METADATA" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "FirewallPoliciesListAssociationsResponse": { - "id": "FirewallPoliciesListAssociationsResponse", - "properties": { - "associations": { - "description": "A list of associations.", - "items": { - "$ref": "FirewallPolicyAssociation" - }, - "type": "array" - }, - "kind": { - "default": "compute#firewallPoliciesListAssociationsResponse", - "description": "[Output Only] Type of firewallPolicy associations. Always compute#FirewallPoliciesListAssociations for lists of firewallPolicy associations.", - "type": "string" - } - }, - "type": "object" - }, - "FirewallPolicy": { - "description": "Represents a Firewall Policy resource.", - "id": "FirewallPolicy", + "FutureReservationsListResponse": { + "id": "FutureReservationsListResponse", "properties": { - "associations": { - "description": "A list of associations that belong to this firewall policy.", - "items": { - "$ref": "FirewallPolicyAssociation" - }, - "type": "array" - }, - "creationTimestamp": { - "description": "[Output Only] Creation timestamp in RFC3339 text format.", - "type": "string" - }, - "description": { - "description": "An optional description of this resource. Provide this property when you create the resource.", - "type": "string" - }, - "displayName": { - "deprecated": true, - "description": "Deprecated, please use short name instead. User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" - }, - "fingerprint": { - "description": "Specifies a fingerprint for this resource, which is essentially a hash of the metadata's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make get() request to the firewall policy.", - "format": "byte", + "etag": { "type": "string" }, "id": { "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", - "format": "uint64", - "type": "string" - }, - "kind": { - "default": "compute#firewallPolicy", - "description": "[Output only] Type of the resource. Always compute#firewallPolicyfor firewall policies", - "type": "string" - }, - "name": { - "description": "Name of the resource. For Organization Firewall Policies it's a [Output Only] numeric ID allocated by Google Cloud which uniquely identifies the Organization Firewall Policy.", "type": "string" }, - "packetMirroringRules": { - "description": "A list of packet mirroring rules that belong to this policy.", + "items": { + "description": "[Output Only] A list of future reservation resources.", "items": { - "$ref": "FirewallPolicyRule" + "$ref": "FutureReservation" }, "type": "array" }, - "parent": { - "description": "[Output Only] The parent of the firewall policy. This field is not applicable to network firewall policies.", + "kind": { + "default": "compute#futureReservationsListResponse", + "description": "[Output Only] Type of resource.Always compute#FutureReservationsListResponse for lists of reservations", "type": "string" }, - "region": { - "description": "[Output Only] URL of the region where the regional firewall policy resides. This field is not applicable to global firewall policies. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", "type": "string" }, - "ruleTupleCount": { - "description": "[Output Only] Total count of all firewall policy rule tuples. A firewall policy can not exceed a set number of tuples.", - "format": "int32", - "type": "integer" + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" }, - "rules": { - "description": "A list of rules that belong to this policy. There must always be a default rule (rule with priority 2147483647 and match \"*\"). If no rules are provided when creating a firewall policy, a default rule with action \"allow\" will be added.", + "unreachables": { + "description": "[Output Only] Unreachable resources.", "items": { - "$ref": "FirewallPolicyRule" + "type": "string" }, "type": "array" }, - "selfLink": { - "description": "[Output Only] Server-defined URL for the resource.", - "type": "string" - }, - "selfLinkWithId": { - "description": "[Output Only] Server-defined URL for this resource with the resource id.", - "type": "string" - }, - "shortName": { - "description": "User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" - }, - "vpcNetworkScope": { - "description": "The scope of networks allowed to be associated with the firewall policy. This field can be either GLOBAL_VPC_NETWORK or REGIONAL_VPC_NETWORK. A firewall policy with the VPC scope set to GLOBAL_VPC_NETWORK is allowed to be attached only to global networks. When the VPC scope is set to REGIONAL_VPC_NETWORK the firewall policy is allowed to be attached only to regional networks in the same scope as the firewall policy. Note: if not specified then GLOBAL_VPC_NETWORK will be used.", - "enum": [ - "GLOBAL_VPC_NETWORK", - "REGIONAL_VPC_NETWORK" - ], - "enumDescriptions": [ - "The firewall policy is allowed to be attached only to global networks.", - "The firewall policy is allowed to be attached only to regional networks in the same scope as the firewall policy. This option is applicable only to regional firewall policies." - ], - "type": "string" - } - }, - "type": "object" - }, - "FirewallPolicyAssociation": { - "id": "FirewallPolicyAssociation", - "properties": { - "attachmentTarget": { - "description": "The target that the firewall policy is attached to.", - "type": "string" - }, - "displayName": { - "deprecated": true, - "description": "[Output Only] Deprecated, please use short name instead. The display name of the firewall policy of the association.", - "type": "string" - }, - "firewallPolicyId": { - "description": "[Output Only] The firewall policy ID of the association.", - "type": "string" - }, - "name": { - "description": "The name for an association.", - "type": "string" - }, - "priority": { - "description": "An integer indicating the priority of an association. The priority must be a positive value between 1 and 2147483647. Firewall Policies are evaluated from highest to lowest priority where 1 is the highest priority and 2147483647 is the lowest priority. The default value is `1000`. If two associations have the same priority then lexicographical order on association names is applied.", - "format": "int32", - "type": "integer" - }, - "shortName": { - "description": "[Output Only] The short name of the firewall policy of the association.", - "type": "string" + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" } }, "type": "object" }, - "FirewallPolicyList": { - "id": "FirewallPolicyList", + "FutureReservationsScopedList": { + "id": "FutureReservationsScopedList", "properties": { - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", - "type": "string" - }, - "items": { - "description": "A list of FirewallPolicy resources.", + "futureReservations": { + "description": "A list of future reservations contained in this scope.", "items": { - "$ref": "FirewallPolicy" + "$ref": "FutureReservation" }, "type": "array" }, - "kind": { - "default": "compute#firewallPolicyList", - "description": "[Output Only] Type of resource. Always compute#firewallPolicyList for listsof FirewallPolicies", - "type": "string" - }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", - "type": "string" - }, "warning": { - "description": "[Output Only] Informational warning message.", + "description": "Informational warning which replaces the list of future reservations when the list is empty.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", @@ -54891,6 +59278,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -54927,6 +59315,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -54951,6 +59340,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -54988,259 +59378,588 @@ }, "type": "object" }, - "FirewallPolicyRule": { - "description": "Represents a rule that describes one or more match conditions along with the action to be taken when traffic matches this condition (allow or deny).", - "id": "FirewallPolicyRule", + "FutureResourcesRecommendation": { + "description": "Recommendation for single resources specification, to be created in the future.", + "id": "FutureResourcesRecommendation", + "properties": { + "endTime": { + "format": "google-datetime", + "type": "string" + }, + "location": { + "description": "The advised location for resource usage. When a zone, in format 'zones/'. If not set, it means that no location is recommended - see other_locations for details.", + "type": "string" + }, + "otherLocations": { + "additionalProperties": { + "$ref": "FutureResourcesRecommendationOtherLocation" + }, + "description": "List of locations in the request scope that were not recommended. Keys of the map are zones, in format 'zones/'. The values are status information indicating the recommendation status.", + "type": "object" + }, + "recommendationId": { + "description": "Unique id of the recommendation, a UUID string generated by the API.", + "type": "string" + }, + "recommendationType": { + "description": "Type of recommendation. Currently only FUTURE_RESERVATION is supported.", + "enum": [ + "FUTURE_RESERVATION", + "RECOMMENDATION_TYPE_UNSPECIFIED" + ], + "enumDescriptions": [ + "A Future Reservation is recommended.", + "Default value, unused." + ], + "type": "string" + }, + "startTime": { + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "FutureResourcesRecommendationOtherLocation": { + "description": "Information about recommendation status for locations that were allowed but not used by the response.", + "id": "FutureResourcesRecommendationOtherLocation", + "properties": { + "details": { + "description": "Details (human readable) describing the situation. For example, if status is CONDITION_NOT_MET, then details contain information about the parameters of the time window that did not meet the required conditions.", + "type": "string" + }, + "status": { + "description": "Status of recommendation in this location.", + "enum": [ + "CONDITIONS_NOT_MET", + "NOT_SUPPORTED", + "NO_CAPACITY", + "OTHER_LOCATION_STATUS_UNDEFINED", + "RECOMMENDED" + ], + "enumDescriptions": [ + "The requested resources are offered in this location but the requested time window is does not meet the required conditions.", + "The requested resources are not offered in this location. Retrying the request will not change this status.", + "The requested resources are offered in this location and the requested time window is accepted but there is no capacity within the requested time window.", + "Default value, unused.", + "The requested resources are offered in this location and it is possible to request them. However, another location was better and was recommended." + ], + "type": "string" + } + }, + "type": "object" + }, + "FutureResourcesSpec": { + "description": "Specification of resources to be created at some time in the future within an optionally specified set of locations, and within the specified time range.", + "id": "FutureResourcesSpec", + "properties": { + "deploymentType": { + "description": "Indicates if the reservation allocation strategy is static (DENSE) or dynamic (STANDARD). Defaults to DENSE.", + "enum": [ + "DENSE", + "DEPLOYMENT_TYPE_UNSPECIFIED", + "FLEXIBLE" + ], + "enumDescriptions": [ + "The reserved capacity is made up of densely deployed reservation blocks.", + "", + "The reserved capacity is made up of highly flexible, logical reservation blocks." + ], + "type": "string" + }, + "locationPolicy": { + "$ref": "FutureResourcesSpecLocationPolicy", + "description": "Optional location policy allowing to exclude some zone(s) in which the resources must not be created." + }, + "targetResources": { + "$ref": "FutureResourcesSpecTargetResources", + "description": "Specification of the reserved resources." + }, + "timeRangeSpec": { + "$ref": "FlexibleTimeRange", + "description": "Specification of a time range in which the resources may be created. The time range specifies start of resource use and planned end of resource use." + } + }, + "type": "object" + }, + "FutureResourcesSpecAggregateResources": { + "id": "FutureResourcesSpecAggregateResources", + "properties": { + "acceleratorCount": { + "description": "Size of the request, in accelerator (chip) count.", + "format": "int64", + "type": "string" + }, + "vmFamily": { + "description": "The VM family that all instances scheduled against this reservation must belong to. Use for TPU reservations.", + "enum": [ + "VM_FAMILY_CLOUD_TPU_DEVICE_CT3", + "VM_FAMILY_CLOUD_TPU_LITE_DEVICE_CT5L", + "VM_FAMILY_CLOUD_TPU_LITE_POD_SLICE_CT5LP", + "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT3P", + "VM_FAMILY_CLOUD_TPU_POD_SLICE_CT4P" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "workloadType": { + "description": "Workload type. Use for TPU reservations.", + "enum": [ + "BATCH", + "SERVING", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "Reserved resources will be optimized for BATCH workloads, such as ML training.", + "Reserved resources will be optimized for SERVING workloads, such as ML inference.", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "FutureResourcesSpecLocalSsdPartition": { + "id": "FutureResourcesSpecLocalSsdPartition", + "properties": { + "diskInterface": { + "description": "Disk interface. Defaults to SCSI.", + "enum": [ + "NVDIMM", + "NVME", + "SCSI" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "diskSizeGb": { + "description": "The size of the disk in GB.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "FutureResourcesSpecLocationPolicy": { + "description": "Specification of locations to create resources in.", + "id": "FutureResourcesSpecLocationPolicy", + "properties": { + "locations": { + "additionalProperties": { + "$ref": "FutureResourcesSpecLocationPolicyLocation" + }, + "description": "Preferences for specified locations. Keys of the map are locations - zones, in format of 'zones/'. Values are preferences for the zones. If a zone is not specified in this map, it is ALLOWed.", + "type": "object" + } + }, + "type": "object" + }, + "FutureResourcesSpecLocationPolicyLocation": { + "description": "Preference for a single specified location.", + "id": "FutureResourcesSpecLocationPolicyLocation", + "properties": { + "preference": { + "description": "Preference for this location.", + "enum": [ + "ALLOW", + "DENY", + "PREFERENCE_UNSPECIFIED" + ], + "enumDescriptions": [ + "Location is allowed for use.", + "Location is prohibited.", + "Default value, unused." + ], + "type": "string" + } + }, + "type": "object" + }, + "FutureResourcesSpecSpecificSKUResources": { + "id": "FutureResourcesSpecSpecificSKUResources", + "properties": { + "instanceCount": { + "description": "Size of the request, in instance count.", + "format": "int64", + "type": "string" + }, + "localSsdPartitions": { + "description": "Local SSD partitions. You do not have to include SSD partitions that are built in the machine type.", + "items": { + "$ref": "FutureResourcesSpecLocalSsdPartition" + }, + "type": "array" + }, + "machineType": { + "description": "The machine type to use for instances that will use the reservation. This field only accepts machine type names. e.g. n2-standard-4 and does not accept machine type full or partial url. e.g. projects/my-l7ilb-project/zones/us-central1-a/machineTypes/n2-standard-4. Use for GPU reservations.", + "type": "string" + } + }, + "type": "object" + }, + "FutureResourcesSpecTargetResources": { + "description": "Specification of reserved resources.", + "id": "FutureResourcesSpecTargetResources", + "properties": { + "aggregateResources": { + "$ref": "FutureResourcesSpecAggregateResources" + }, + "specificSkuResources": { + "$ref": "FutureResourcesSpecSpecificSKUResources" + } + }, + "type": "object" + }, + "GRPCHealthCheck": { + "id": "GRPCHealthCheck", "properties": { - "action": { - "description": "The Action to perform when the client connection triggers the rule. Valid actions for firewall rules are: \"allow\", \"deny\", \"apply_security_profile_group\" and \"goto_next\". Valid actions for packet mirroring rules are: \"mirror\", \"do_not_mirror\" and \"goto_next\".", + "grpcServiceName": { + "description": "The gRPC service name for the health check. This field is optional. The value of grpc_service_name has the following meanings by convention: - Empty service_name means the overall status of all services at the backend. - Non-empty service_name means the health of that gRPC service, as defined by the owner of the service. The grpc_service_name can only be ASCII.", "type": "string" }, - "description": { - "description": "An optional description for this resource.", + "port": { + "description": "The TCP port number to which the health check prober sends packets. Valid values are 1 through 65535.", + "format": "int32", + "type": "integer" + }, + "portName": { + "description": "Not supported.", "type": "string" }, - "direction": { - "description": "The direction in which this rule applies.", + "portSpecification": { + "description": "Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports.", "enum": [ - "EGRESS", - "INGRESS" + "USE_FIXED_PORT", + "USE_NAMED_PORT", + "USE_SERVING_PORT" ], "enumDescriptions": [ - "", - "" + "The port number in the health check's port is used for health checking. Applies to network endpoint group and instance group backends.", + "Not supported.", + "For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service's named port defined in the instance group's named ports." ], "type": "string" - }, - "disabled": { - "description": "Denotes whether the firewall policy rule is disabled. When set to true, the firewall policy rule is not enforced and traffic behaves as if it did not exist. If this is unspecified, the firewall policy rule will be enabled.", - "type": "boolean" - }, - "enableLogging": { - "description": "Denotes whether to enable logging for a particular rule. If logging is enabled, logs will be exported to the configured export destination in Stackdriver. Logs may be exported to BigQuery or Pub/Sub. Note: you cannot enable logging on \"goto_next\" rules.", - "type": "boolean" - }, - "kind": { - "default": "compute#firewallPolicyRule", - "description": "[Output only] Type of the resource. Returns compute#firewallPolicyRule for firewall rules and compute#packetMirroringRule for packet mirroring rules.", + } + }, + "type": "object" + }, + "GRPCTLSHealthCheck": { + "id": "GRPCTLSHealthCheck", + "properties": { + "grpcServiceName": { + "description": "The gRPC service name for the health check. This field is optional. The value of grpc_service_name has the following meanings by convention: - Empty service_name means the overall status of all services at the backend. - Non-empty service_name means the health of that gRPC service, as defined by the owner of the service. The grpc_service_name can only be ASCII.", "type": "string" }, - "match": { - "$ref": "FirewallPolicyRuleMatcher", - "description": "A match condition that incoming traffic is evaluated against. If it evaluates to true, the corresponding 'action' is enforced." - }, - "priority": { - "description": "An integer indicating the priority of a rule in the list. The priority must be a positive value between 0 and 2147483647. Rules are evaluated from highest to lowest priority where 0 is the highest priority and 2147483647 is the lowest priority.", + "port": { + "description": "The TCP port number to which the health check prober sends packets. Valid values are 1 through 65535.", "format": "int32", "type": "integer" }, - "ruleName": { - "description": "An optional name for the rule. This field is not a unique identifier and can be updated.", + "portSpecification": { + "description": "Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports.", + "enum": [ + "USE_FIXED_PORT", + "USE_NAMED_PORT", + "USE_SERVING_PORT" + ], + "enumDescriptions": [ + "The port number in the health check's port is used for health checking. Applies to network endpoint group and instance group backends.", + "Not supported.", + "For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service's named port defined in the instance group's named ports." + ], "type": "string" + } + }, + "type": "object" + }, + "GetAsyncReplicationStatusResponse": { + "id": "GetAsyncReplicationStatusResponse", + "properties": { + "asyncReplicationStatus": { + "$ref": "AsyncReplicationStatus" }, - "ruleTupleCount": { - "description": "[Output Only] Calculation of the complexity of a single firewall policy rule.", - "format": "int32", - "type": "integer" - }, - "securityProfileGroup": { - "description": "A fully-qualified URL of a SecurityProfile resource instance. Example: https://networksecurity.googleapis.com/v1/projects/{project}/locations/{location}/securityProfileGroups/my-security-profile-group Must be specified if action is one of 'apply_security_profile_group' or 'mirror'. Cannot be specified for other actions.", + "etag": { + "description": "end_interface: MixerGetResponseWithEtagBuilder", + "type": "string" + } + }, + "type": "object" + }, + "GetOwnerInstanceResponse": { + "id": "GetOwnerInstanceResponse", + "properties": { + "instance": { + "description": "Full instance resource URL.", + "type": "string" + } + }, + "type": "object" + }, + "GlobalAddressesMoveRequest": { + "id": "GlobalAddressesMoveRequest", + "properties": { + "description": { + "description": "An optional destination address description if intended to be different from the source.", "type": "string" }, - "targetResources": { - "description": "A list of network resource URLs to which this rule applies. This field allows you to control which network's VMs get this rule. If this field is left blank, all VMs within the organization will receive the rule.", - "items": { - "type": "string" - }, - "type": "array" - }, - "targetSecureTags": { - "description": "A list of secure tags that controls which instances the firewall rule applies to. If targetSecureTag are specified, then the firewall rule applies only to instances in the VPC network that have one of those EFFECTIVE secure tags, if all the target_secure_tag are in INEFFECTIVE state, then this rule will be ignored. targetSecureTag may not be set at the same time as targetServiceAccounts. If neither targetServiceAccounts nor targetSecureTag are specified, the firewall rule applies to all instances on the specified network. Maximum number of target label tags allowed is 256.", - "items": { - "$ref": "FirewallPolicyRuleSecureTag" - }, - "type": "array" - }, - "targetServiceAccounts": { - "description": "A list of service accounts indicating the sets of instances that are applied with this rule.", - "items": { - "type": "string" - }, - "type": "array" - }, - "tlsInspect": { - "description": "Boolean flag indicating if the traffic should be TLS decrypted. Can be set only if action = 'apply_security_profile_group' and cannot be set for other actions.", - "type": "boolean" + "destinationAddress": { + "description": "The URL of the destination address to move to. This can be a full or partial URL. For example, the following are all valid URLs to a address: - https://www.googleapis.com/compute/v1/projects/project /global/addresses/address - projects/project/global/addresses/address Note that destination project must be different from the source project. So /global/addresses/address is not valid partial url.", + "type": "string" } }, "type": "object" }, - "FirewallPolicyRuleMatcher": { - "description": "Represents a match condition that incoming traffic is evaluated against. Exactly one field must be specified.", - "id": "FirewallPolicyRuleMatcher", + "GlobalNetworkEndpointGroupsAttachEndpointsRequest": { + "id": "GlobalNetworkEndpointGroupsAttachEndpointsRequest", "properties": { - "destAddressGroups": { - "description": "Address groups which should be matched against the traffic destination. Maximum number of destination address groups is 10.", + "networkEndpoints": { + "description": "The list of network endpoints to be attached.", "items": { - "type": "string" + "$ref": "NetworkEndpoint" }, "type": "array" - }, - "destFqdns": { - "description": "Fully Qualified Domain Name (FQDN) which should be matched against traffic destination. Maximum number of destination fqdn allowed is 100.", + } + }, + "type": "object" + }, + "GlobalNetworkEndpointGroupsDetachEndpointsRequest": { + "id": "GlobalNetworkEndpointGroupsDetachEndpointsRequest", + "properties": { + "networkEndpoints": { + "description": "The list of network endpoints to be detached.", "items": { - "type": "string" + "$ref": "NetworkEndpoint" }, "type": "array" - }, - "destIpRanges": { - "description": "CIDR IP address range. Maximum number of destination CIDR IP ranges allowed is 5000.", + } + }, + "type": "object" + }, + "GlobalOrganizationSetPolicyRequest": { + "id": "GlobalOrganizationSetPolicyRequest", + "properties": { + "bindings": { + "description": "Flatten Policy to create a backward compatible wire-format. Deprecated. Use 'policy' to specify bindings.", "items": { - "type": "string" + "$ref": "Binding" }, "type": "array" }, - "destNetworkScope": { - "description": "Network scope of the traffic destination.", - "enum": [ - "INTERNET", - "INTRA_VPC", - "NON_INTERNET", - "UNSPECIFIED", - "VPC_NETWORKS" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "" - ], + "etag": { + "description": "Flatten Policy to create a backward compatible wire-format. Deprecated. Use 'policy' to specify the etag.", + "format": "byte", "type": "string" }, - "destRegionCodes": { - "description": "Region codes whose IP addresses will be used to match for destination of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex.\"US\" Maximum number of dest region codes allowed is 5000.", - "items": { - "type": "string" - }, - "type": "array" + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the 'resource'. The size of the policy is limited to a few 10s of KB. An empty policy is in general a valid policy but certain services (like Projects) might reject them." + } + }, + "type": "object" + }, + "GlobalSetLabelsRequest": { + "id": "GlobalSetLabelsRequest", + "properties": { + "labelFingerprint": { + "description": "The fingerprint of the previous set of labels for this resource, used to detect conflicts. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash when updating or changing labels, otherwise the request will fail with error 412 conditionNotMet. Make a get() request to the resource to get the latest fingerprint.", + "format": "byte", + "type": "string" }, - "destThreatIntelligences": { - "description": "Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic destination.", - "items": { + "labels": { + "additionalProperties": { "type": "string" }, - "type": "array" - }, - "layer4Configs": { - "description": "Pairs of IP protocols and ports that the rule should match.", + "description": "A list of labels to apply for this resource. Each label must comply with the requirements for labels. For example, \"webserver-frontend\": \"images\". A label value can also be empty (e.g. \"my-label\": \"\").", + "type": "object" + } + }, + "type": "object" + }, + "GlobalSetPolicyRequest": { + "id": "GlobalSetPolicyRequest", + "properties": { + "bindings": { + "description": "Flatten Policy to create a backward compatible wire-format. Deprecated. Use 'policy' to specify bindings.", "items": { - "$ref": "FirewallPolicyRuleMatcherLayer4Config" + "$ref": "Binding" }, "type": "array" }, - "srcAddressGroups": { - "description": "Address groups which should be matched against the traffic source. Maximum number of source address groups is 10.", - "items": { - "type": "string" - }, - "type": "array" + "etag": { + "description": "Flatten Policy to create a backward compatible wire-format. Deprecated. Use 'policy' to specify the etag.", + "format": "byte", + "type": "string" }, - "srcFqdns": { - "description": "Fully Qualified Domain Name (FQDN) which should be matched against traffic source. Maximum number of source fqdn allowed is 100.", - "items": { - "type": "string" - }, - "type": "array" + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the 'resource'. The size of the policy is limited to a few 10s of KB. An empty policy is in general a valid policy but certain services (like Projects) might reject them." + } + }, + "type": "object" + }, + "GroupMaintenanceInfo": { + "description": "Maintenance Info for ReservationBlocks.", + "id": "GroupMaintenanceInfo", + "properties": { + "maintenanceOngoingCount": { + "description": "Progress for ongoing maintenance for this group of VMs/hosts. Describes number of hosts in the block that have ongoing maintenance.", + "format": "int32", + "type": "integer" }, - "srcIpRanges": { - "description": "CIDR IP address range. Maximum number of source CIDR IP ranges allowed is 5000.", - "items": { - "type": "string" - }, - "type": "array" + "maintenancePendingCount": { + "description": "Progress for ongoing maintenance for this group of VMs/hosts. Describes number of hosts in the block that have pending maintenance.", + "format": "int32", + "type": "integer" }, - "srcNetworkScope": { - "description": "Network scope of the traffic source.", + "schedulingType": { + "description": "The type of maintenance for the reservation.", "enum": [ - "INTERNET", - "INTRA_VPC", - "NON_INTERNET", - "UNSPECIFIED", - "VPC_NETWORKS" + "GROUPED", + "GROUP_MAINTENANCE_TYPE_UNSPECIFIED", + "INDEPENDENT" ], "enumDescriptions": [ - "", - "", - "", - "", - "" + "Maintenance on all reserved instances in the reservation is synchronized.", + "Unknown maintenance type.", + "Maintenance is not synchronized for this reservation. Instead, each instance has its own maintenance window." ], "type": "string" }, - "srcNetworks": { - "description": "Networks of the traffic source. It can be either a full or partial url.", - "items": { - "type": "string" - }, - "type": "array" + "upcomingGroupMaintenance": { + "$ref": "UpcomingMaintenance", + "description": "Maintenance information on this group of VMs." + } + }, + "type": "object" + }, + "GrpcServiceConfig": { + "description": "[Deprecated] gRPC config to access the SDS server. gRPC config to access the SDS server.", + "id": "GrpcServiceConfig", + "properties": { + "callCredentials": { + "$ref": "CallCredentials", + "description": "The call credentials to access the SDS server." }, - "srcRegionCodes": { - "description": "Region codes whose IP addresses will be used to match for source of traffic. Should be specified as 2 letter country code defined as per ISO 3166 alpha-2 country codes. ex.\"US\" Maximum number of source region codes allowed is 5000.", - "items": { - "type": "string" - }, - "type": "array" + "channelCredentials": { + "$ref": "ChannelCredentials", + "description": "The channel credentials to access the SDS server." }, - "srcSecureTags": { - "description": "List of secure tag values, which should be matched at the source of the traffic. For INGRESS rule, if all the srcSecureTag are INEFFECTIVE, and there is no srcIpRange, this rule will be ignored. Maximum number of source tag values allowed is 256.", - "items": { - "$ref": "FirewallPolicyRuleSecureTag" - }, - "type": "array" + "targetUri": { + "description": "The target URI of the SDS server.", + "type": "string" + } + }, + "type": "object" + }, + "GuestAttributes": { + "description": "A guest attributes entry.", + "id": "GuestAttributes", + "properties": { + "kind": { + "default": "compute#guestAttributes", + "description": "[Output Only] Type of the resource. Always compute#guestAttributes for guest attributes entry.", + "type": "string" }, - "srcThreatIntelligences": { - "description": "Names of Network Threat Intelligence lists. The IPs in these lists will be matched against traffic source.", - "items": { - "type": "string" - }, - "type": "array" + "queryPath": { + "description": "The path to be queried. This can be the default namespace ('') or a nested namespace ('\\/') or a specified key ('\\/\\').", + "type": "string" + }, + "queryValue": { + "$ref": "GuestAttributesValue", + "description": "[Output Only] The value of the requested queried path." + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "variableKey": { + "description": "The key to search for.", + "type": "string" + }, + "variableValue": { + "description": "[Output Only] The value found for the requested key.", + "type": "string" } }, "type": "object" }, - "FirewallPolicyRuleMatcherLayer4Config": { - "id": "FirewallPolicyRuleMatcherLayer4Config", + "GuestAttributesEntry": { + "description": "A guest attributes namespace/key/value entry.", + "id": "GuestAttributesEntry", "properties": { - "ipProtocol": { - "description": "The IP protocol to which this rule applies. The protocol type is required when creating a firewall rule. This value can either be one of the following well known protocol strings (tcp, udp, icmp, esp, ah, ipip, sctp), or the IP protocol number.", + "key": { + "description": "Key for the guest attribute entry.", "type": "string" }, - "ports": { - "description": "An optional list of ports to which this rule applies. This field is only applicable for UDP or TCP protocol. Each entry must be either an integer or a range. If not specified, this rule applies to connections through any port. Example inputs include: [\"22\"], [\"80\",\"443\"], and [\"12345-12349\"].", + "namespace": { + "description": "Namespace for the guest attribute entry.", + "type": "string" + }, + "value": { + "description": "Value for the guest attribute entry.", + "type": "string" + } + }, + "type": "object" + }, + "GuestAttributesValue": { + "description": "Array of guest attribute namespace/key/value tuples.", + "id": "GuestAttributesValue", + "properties": { + "items": { "items": { - "type": "string" + "$ref": "GuestAttributesEntry" }, "type": "array" } }, "type": "object" }, - "FirewallPolicyRuleSecureTag": { - "id": "FirewallPolicyRuleSecureTag", + "GuestOsFeature": { + "description": "Guest OS features.", + "id": "GuestOsFeature", "properties": { - "name": { - "description": "Name of the secure tag, created with TagManager's TagValue API.", - "pattern": "tagValues/[0-9]+", - "type": "string" - }, - "state": { - "description": "[Output Only] State of the secure tag, either `EFFECTIVE` or `INEFFECTIVE`. A secure tag is `INEFFECTIVE` when it is deleted or its network is deleted.", + "type": { + "description": "The ID of a supported feature. To add multiple values, use commas to separate values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE - WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE_V2 - SEV_SNP_CAPABLE - TDX_CAPABLE - IDPF For more information, see Enabling guest operating system features.", "enum": [ - "EFFECTIVE", - "INEFFECTIVE" + "BARE_METAL_LINUX_COMPATIBLE", + "FEATURE_TYPE_UNSPECIFIED", + "GVNIC", + "IDPF", + "MULTI_IP_SUBNET", + "SECURE_BOOT", + "SEV_CAPABLE", + "SEV_LIVE_MIGRATABLE", + "SEV_LIVE_MIGRATABLE_V2", + "SEV_SNP_CAPABLE", + "TDX_CAPABLE", + "UEFI_COMPATIBLE", + "VIRTIO_SCSI_MULTIQUEUE", + "WINDOWS" ], "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "", "" ], @@ -55249,255 +59968,265 @@ }, "type": "object" }, - "FixedOrPercent": { - "description": "Encapsulates numeric value that can be either absolute or relative.", - "id": "FixedOrPercent", + "HTTP2HealthCheck": { + "id": "HTTP2HealthCheck", "properties": { - "calculated": { - "description": "[Output Only] Absolute value of VM instances calculated based on the specific mode. - If the value is fixed, then the calculated value is equal to the fixed value. - If the value is a percent, then the calculated value is percent/100 * targetSize. For example, the calculated value of a 80% of a managed instance group with 150 instances would be (80/100 * 150) = 120 VM instances. If there is a remainder, the number is rounded. ", - "format": "int32", - "type": "integer" + "host": { + "description": "The value of the host header in the HTTP/2 health check request. If left empty (default value), the host header is set to the destination IP address to which health check packets are sent. The destination IP address depends on the type of load balancer. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#hc-packet-dest", + "type": "string" }, - "fixed": { - "description": "Specifies a fixed number of VM instances. This must be a positive integer.", + "port": { + "description": "The TCP port number to which the health check prober sends packets. The default value is 443. Valid values are 1 through 65535.", "format": "int32", "type": "integer" }, - "percent": { - "description": "Specifies a percentage of instances between 0 to 100%, inclusive. For example, specify 80 for 80%.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "ForwardingRule": { - "description": "Represents a Forwarding Rule resource. Forwarding rule resources in Google Cloud can be either regional or global in scope: * [Global](https://cloud.google.com/compute/docs/reference/rest/alpha/globalForwardingRules) * [Regional](https://cloud.google.com/compute/docs/reference/rest/alpha/forwardingRules) A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud load balancer. Forwarding rules can also reference target instances and Cloud VPN Classic gateways (targetVpnGateway). For more information, read Forwarding rule concepts and Using protocol forwarding.", - "id": "ForwardingRule", - "properties": { - "IPAddress": { - "description": "IP address for which this forwarding rule accepts traffic. When a client sends traffic to this IP address, the forwarding rule directs the traffic to the referenced target or backendService. While creating a forwarding rule, specifying an IPAddress is required under the following circumstances: - When the target is set to targetGrpcProxy and validateForProxyless is set to true, the IPAddress should be set to 0.0.0.0. - When the target is a Private Service Connect Google APIs bundle, you must specify an IPAddress. Otherwise, you can optionally specify an IP address that references an existing static (reserved) IP address resource. When omitted, Google Cloud assigns an ephemeral IP address. Use one of the following formats to specify an IP address while creating a forwarding rule: * IP address number, as in `100.1.2.3` * IPv6 address range, as in `2600:1234::/96` * Full resource URL, as in https://www.googleapis.com/compute/v1/projects/ project_id/regions/region/addresses/address-name * Partial URL or by name, as in: - projects/project_id/regions/region/addresses/address-name - regions/region/addresses/address-name - global/addresses/address-name - address-name The forwarding rule's target or backendService, and in most cases, also the loadBalancingScheme, determine the type of IP address that you can use. For detailed information, see [IP address specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications). When reading an IPAddress, the API always returns the IP address number.", + "portName": { + "description": "Not supported.", "type": "string" }, - "IPProtocol": { - "description": "The IP protocol to which this rule applies. For protocol forwarding, valid options are TCP, UDP, ESP, AH, SCTP, ICMP and L3_DEFAULT. The valid IP protocols are different for different load balancing products as described in [Load balancing features](https://cloud.google.com/load-balancing/docs/features#protocols_from_the_load_balancer_to_the_backends).", + "portSpecification": { + "description": "Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports.", "enum": [ - "AH", - "ALL", - "ESP", - "ICMP", - "L3_DEFAULT", - "SCTP", - "TCP", - "UDP" + "USE_FIXED_PORT", + "USE_NAMED_PORT", + "USE_SERVING_PORT" + ], + "enumDescriptions": [ + "The port number in the health check's port is used for health checking. Applies to network endpoint group and instance group backends.", + "Not supported.", + "For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service's named port defined in the instance group's named ports." + ], + "type": "string" + }, + "proxyHeader": { + "description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", + "enum": [ + "NONE", + "PROXY_V1" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "requestPath": { + "description": "The request path of the HTTP/2 health check request. The default value is /. Must comply with RFC3986.", + "type": "string" + }, + "response": { + "description": "Creates a content-based HTTP/2 health check. In addition to the required HTTP 200 (OK) status code, you can configure the health check to pass only when the backend sends this specific ASCII response string within the first 1024 bytes of the HTTP response body. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-http", + "type": "string" + }, + "weightReportMode": { + "description": "Weight report mode. used for weighted Load Balancing.", + "enum": [ + "DISABLE", + "DRY_RUN", + "ENABLE" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "" + "Health Checker will not parse the header field.", + "Health Checker will parse and report the weight in the header field, but load balancing will not be based on the weights and will use equal weights.", + "Health Checker will try to parse and report the weight in the header field, and load balancing will be based on the weights as long as all backends have a valid weight or only a subset of backends has the UNAVAILABLE_WEIGHT WeightError. The latter case is to continue the weighted load balancing while some backends are in TIMEOUT or UNKNOWN health status." ], "type": "string" - }, - "allPorts": { - "description": "The ports, portRange, and allPorts fields are mutually exclusive. Only packets addressed to ports in the specified range will be forwarded to the backends configured with this forwarding rule. The allPorts field has the following limitations: - It requires that the forwarding rule IPProtocol be TCP, UDP, SCTP, or L3_DEFAULT. - It's applicable only to the following products: internal passthrough Network Load Balancers, backend service-based external passthrough Network Load Balancers, and internal and external protocol forwarding. - Set this field to true to allow packets addressed to any port or packets lacking destination port information (for example, UDP fragments after the first fragment) to be forwarded to the backends configured with this forwarding rule. The L3_DEFAULT protocol requires allPorts be set to true. ", - "type": "boolean" - }, - "allowGlobalAccess": { - "description": "If set to true, clients can access the internal passthrough Network Load Balancers, the regional internal Application Load Balancer, and the regional internal proxy Network Load Balancer from all regions. If false, only allows access from the local region the load balancer is located at. Note that for INTERNAL_MANAGED forwarding rules, this field cannot be changed after the forwarding rule is created.", - "type": "boolean" - }, - "allowPscGlobalAccess": { - "description": "This is used in PSC consumer ForwardingRule to control whether the PSC endpoint can be accessed from another region.", - "type": "boolean" - }, - "allowPscPacketInjection": { - "description": "This is used in PSC consumer ForwardingRule to control whether the producer is allowed to inject packets into the consumer's network. If set to true, the target service attachment must have tunneling enabled and TunnelingConfig.RoutingMode set to PACKET_INJECTION Non-PSC forwarding rules should not use this field.", - "type": "boolean" - }, - "backendService": { - "description": "Identifies the backend service to which the forwarding rule sends traffic. Required for internal and external passthrough Network Load Balancers; must be omitted for all other load balancer types.", + } + }, + "type": "object" + }, + "HTTPHealthCheck": { + "id": "HTTPHealthCheck", + "properties": { + "host": { + "description": "The value of the host header in the HTTP health check request. If left empty (default value), the host header is set to the destination IP address to which health check packets are sent. The destination IP address depends on the type of load balancer. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#hc-packet-dest", "type": "string" }, - "baseForwardingRule": { - "description": "[Output Only] The URL for the corresponding base forwarding rule. By base forwarding rule, we mean the forwarding rule that has the same IP address, protocol, and port settings with the current forwarding rule, but without sourceIPRanges specified. Always empty if the current forwarding rule does not have sourceIPRanges specified.", - "type": "string" + "port": { + "description": "The TCP port number to which the health check prober sends packets. The default value is 80. Valid values are 1 through 65535.", + "format": "int32", + "type": "integer" }, - "creationTimestamp": { - "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "portName": { + "description": "Not supported.", "type": "string" }, - "description": { - "description": "An optional description of this resource. Provide this property when you create the resource.", + "portSpecification": { + "description": "Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Also supported in legacy HTTP health checks for target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports.", + "enum": [ + "USE_FIXED_PORT", + "USE_NAMED_PORT", + "USE_SERVING_PORT" + ], + "enumDescriptions": [ + "The port number in the health check's port is used for health checking. Applies to network endpoint group and instance group backends.", + "Not supported.", + "For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service's named port defined in the instance group's named ports." + ], "type": "string" }, - "externalManagedBackendBucketMigrationState": { - "description": "Specifies the canary migration state for the backend buckets attached to this forwarding rule. Possible values are PREPARE, TEST_BY_PERCENTAGE, and TEST_ALL_TRAFFIC. To begin the migration from EXTERNAL to EXTERNAL_MANAGED, the state must be changed to PREPARE. The state must be changed to TEST_ALL_TRAFFIC before the loadBalancingScheme can be changed to EXTERNAL_MANAGED. Optionally, the TEST_BY_PERCENTAGE state can be used to migrate traffic to backend buckets attached to this forwarding rule by percentage using externalManagedBackendBucketMigrationTestingPercentage. Rolling back a migration requires the states to be set in reverse order. So changing the scheme from EXTERNAL_MANAGED to EXTERNAL requires the state to be set to TEST_ALL_TRAFFIC at the same time. Optionally, the TEST_BY_PERCENTAGE state can be used to migrate some traffic back to EXTERNAL or PREPARE can be used to migrate all traffic back to EXTERNAL.", + "proxyHeader": { + "description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", "enum": [ - "PREPARE", - "TEST_ALL_TRAFFIC", - "TEST_BY_PERCENTAGE" + "NONE", + "PROXY_V1" ], "enumDescriptions": [ - "", "", "" ], "type": "string" }, - "externalManagedBackendBucketMigrationTestingPercentage": { - "description": "Determines the fraction of requests to backend buckets that should be processed by the global external Application Load Balancer. The value of this field must be in the range [0, 100]. This value can only be set if the loadBalancingScheme in the BackendService is set to EXTERNAL (when using the classic Application Load Balancer) and the migration state is TEST_BY_PERCENTAGE.", - "format": "float", - "type": "number" - }, - "fingerprint": { - "description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a ForwardingRule. Include the fingerprint in patch request to ensure that you do not overwrite changes that were applied from another concurrent request. To see the latest fingerprint, make a get() request to retrieve a ForwardingRule.", - "format": "byte", - "type": "string" - }, - "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", - "format": "uint64", + "requestPath": { + "description": "The request path of the HTTP health check request. The default value is /. Must comply with RFC3986.", "type": "string" }, - "ipCollection": { - "description": "Resource reference of a PublicDelegatedPrefix. The PDP must be a sub-PDP in EXTERNAL_IPV6_FORWARDING_RULE_CREATION mode. Use one of the following formats to specify a sub-PDP when creating an IPv6 NetLB forwarding rule using BYOIP: Full resource URL, as in https://www.googleapis.com/compute/v1/projects/project_id/regions/region /publicDelegatedPrefixes/sub-pdp-name Partial URL, as in: - projects/project_id/regions/region/publicDelegatedPrefixes/sub-pdp-name - regions/region/publicDelegatedPrefixes/sub-pdp-name ", + "response": { + "description": "Creates a content-based HTTP health check. In addition to the required HTTP 200 (OK) status code, you can configure the health check to pass only when the backend sends this specific ASCII response string within the first 1024 bytes of the HTTP response body. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-http", "type": "string" }, - "ipVersion": { - "description": "The IP Version that will be used by this forwarding rule. Valid options are IPV4 or IPV6.", + "weightReportMode": { + "description": "Weight report mode. used for weighted Load Balancing.", "enum": [ - "IPV4", - "IPV6", - "UNSPECIFIED_VERSION" + "DISABLE", + "DRY_RUN", + "ENABLE" ], "enumDescriptions": [ - "", - "", - "" + "Health Checker will not parse the header field.", + "Health Checker will parse and report the weight in the header field, but load balancing will not be based on the weights and will use equal weights.", + "Health Checker will try to parse and report the weight in the header field, and load balancing will be based on the weights as long as all backends have a valid weight or only a subset of backends has the UNAVAILABLE_WEIGHT WeightError. The latter case is to continue the weighted load balancing while some backends are in TIMEOUT or UNKNOWN health status." ], "type": "string" + } + }, + "type": "object" + }, + "HTTPSHealthCheck": { + "id": "HTTPSHealthCheck", + "properties": { + "host": { + "description": "The value of the host header in the HTTPS health check request. If left empty (default value), the host header is set to the destination IP address to which health check packets are sent. The destination IP address depends on the type of load balancer. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#hc-packet-dest", + "type": "string" }, - "isMirroringCollector": { - "description": "Indicates whether or not this load balancer can be used as a collector for packet mirroring. To prevent mirroring loops, instances behind this load balancer will not have their traffic mirrored even if a PacketMirroring rule applies to them. This can only be set to true for load balancers that have their loadBalancingScheme set to INTERNAL.", - "type": "boolean" + "port": { + "description": "The TCP port number to which the health check prober sends packets. The default value is 443. Valid values are 1 through 65535.", + "format": "int32", + "type": "integer" }, - "kind": { - "default": "compute#forwardingRule", - "description": "[Output Only] Type of the resource. Always compute#forwardingRule for forwarding rule resources.", + "portName": { + "description": "Not supported.", "type": "string" }, - "labelFingerprint": { - "description": "A fingerprint for the labels being applied to this resource, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a ForwardingRule.", - "format": "byte", + "portSpecification": { + "description": "Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports.", + "enum": [ + "USE_FIXED_PORT", + "USE_NAMED_PORT", + "USE_SERVING_PORT" + ], + "enumDescriptions": [ + "The port number in the health check's port is used for health checking. Applies to network endpoint group and instance group backends.", + "Not supported.", + "For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service's named port defined in the instance group's named ports." + ], "type": "string" }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", - "type": "object" - }, - "loadBalancingScheme": { - "description": "Specifies the forwarding rule type. For more information about forwarding rules, refer to Forwarding rule concepts.", + "proxyHeader": { + "description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", "enum": [ - "EXTERNAL", - "EXTERNAL_MANAGED", - "INTERNAL", - "INTERNAL_MANAGED", - "INTERNAL_SELF_MANAGED", - "INVALID" + "NONE", + "PROXY_V1" ], "enumDescriptions": [ - "", - "", - "", - "", "", "" ], "type": "string" }, - "metadataFilters": { - "description": "Opaque filter criteria used by load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to load balancer, xDS clients present node metadata. When there is a match, the relevant configuration is made available to those proxies. Otherwise, all the resources (e.g. TargetHttpProxy, UrlMap) referenced by the ForwardingRule are not visible to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadataFilters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here will be applifed before those specified in the UrlMap that this ForwardingRule references. metadataFilters only applies to Loadbalancers that have their loadBalancingScheme set to INTERNAL_SELF_MANAGED.", - "items": { - "$ref": "MetadataFilter" - }, - "type": "array" - }, - "name": { - "description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. For Private Service Connect forwarding rules that forward traffic to Google APIs, the forwarding rule name must be a 1-20 characters string with lowercase letters and numbers and must start with a letter.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "requestPath": { + "description": "The request path of the HTTPS health check request. The default value is /. Must comply with RFC3986.", "type": "string" }, - "network": { - "description": "This field is not used for global external load balancing. For internal passthrough Network Load Balancers, this field identifies the network that the load balanced IP should belong to for this forwarding rule. If the subnetwork is specified, the network of the subnetwork will be used. If neither subnetwork nor this field is specified, the default network will be used. For Private Service Connect forwarding rules that forward traffic to Google APIs, a network must be provided.", + "response": { + "description": "Creates a content-based HTTPS health check. In addition to the required HTTP 200 (OK) status code, you can configure the health check to pass only when the backend sends this specific ASCII response string within the first 1024 bytes of the HTTP response body. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-http", "type": "string" }, - "networkTier": { - "description": "This signifies the networking tier used for configuring this load balancer and can only take the following values: PREMIUM, STANDARD. For regional ForwardingRule, the valid values are PREMIUM and STANDARD. For GlobalForwardingRule, the valid value is PREMIUM. If this field is not specified, it is assumed to be PREMIUM. If IPAddress is specified, this value must be equal to the networkTier of the Address.", + "weightReportMode": { + "description": "Weight report mode. used for weighted Load Balancing.", "enum": [ - "FIXED_STANDARD", - "PREMIUM", - "SELECT", - "STANDARD", - "STANDARD_OVERRIDES_FIXED_STANDARD" + "DISABLE", + "DRY_RUN", + "ENABLE" ], "enumDescriptions": [ - "Public internet quality with fixed bandwidth.", - "High quality, Google-grade network tier, support for all networking products.", - "Price competitive network tier, support for all networking products.", - "Public internet quality, only limited support for other networking products.", - "(Output only) Temporary tier for FIXED_STANDARD when fixed standard tier is expired or not configured." + "Health Checker will not parse the header field.", + "Health Checker will parse and report the weight in the header field, but load balancing will not be based on the weights and will use equal weights.", + "Health Checker will try to parse and report the weight in the header field, and load balancing will be based on the weights as long as all backends have a valid weight or only a subset of backends has the UNAVAILABLE_WEIGHT WeightError. The latter case is to continue the weighted load balancing while some backends are in TIMEOUT or UNKNOWN health status." ], "type": "string" + } + }, + "type": "object" + }, + "HealthCheck": { + "description": "Represents a health check resource. Google Compute Engine has two health check resources: * [Regional](/compute/docs/reference/rest/alpha/regionHealthChecks) * [Global](/compute/docs/reference/rest/alpha/healthChecks) These health check resources can be used for load balancing and for autohealing VMs in a managed instance group (MIG). **Load balancing** Health check requirements vary depending on the type of load balancer. For details about the type of health check supported for each load balancer and corresponding backend type, see Health checks overview: Load balancer guide. **Autohealing in MIGs** The health checks that you use for autohealing VMs in a MIG can be either regional or global. For more information, see Set up an application health check and autohealing. For more information, see Health checks overview.", + "id": "HealthCheck", + "properties": { + "checkIntervalSec": { + "description": "How often (in seconds) to send a health check. The default value is 5 seconds.", + "format": "int32", + "type": "integer" }, - "noAutomateDnsZone": { - "description": "This is used in PSC consumer ForwardingRule to control whether it should try to auto-generate a DNS zone or not. Non-PSC forwarding rules do not use this field. Once set, this field is not mutable.", - "type": "boolean" + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in 3339 text format.", + "type": "string" }, - "portRange": { - "description": "The ports, portRange, and allPorts fields are mutually exclusive. Only packets addressed to ports in the specified range will be forwarded to the backends configured with this forwarding rule. The portRange field has the following limitations: - It requires that the forwarding rule IPProtocol be TCP, UDP, or SCTP, and - It's applicable only to the following products: external passthrough Network Load Balancers, internal and external proxy Network Load Balancers, internal and external Application Load Balancers, external protocol forwarding, and Classic VPN. - Some products have restrictions on what ports can be used. See port specifications for details. For external forwarding rules, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair, and cannot have overlapping portRanges. For internal forwarding rules within the same VPC network, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair, and cannot have overlapping portRanges. @pattern: \\\\d+(?:-\\\\d+)?", + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", "type": "string" }, - "ports": { - "description": "The ports, portRange, and allPorts fields are mutually exclusive. Only packets addressed to ports in the specified range will be forwarded to the backends configured with this forwarding rule. The ports field has the following limitations: - It requires that the forwarding rule IPProtocol be TCP, UDP, or SCTP, and - It's applicable only to the following products: internal passthrough Network Load Balancers, backend service-based external passthrough Network Load Balancers, and internal protocol forwarding. - You can specify a list of up to five ports by number, separated by commas. The ports can be contiguous or discontiguous. For external forwarding rules, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair if they share at least one port number. For internal forwarding rules within the same VPC network, two or more forwarding rules cannot use the same [IPAddress, IPProtocol] pair if they share at least one port number. @pattern: \\\\d+(?:-\\\\d+)?", - "items": { - "type": "string" - }, - "type": "array" + "grpcHealthCheck": { + "$ref": "GRPCHealthCheck" }, - "pscConnectionId": { - "description": "[Output Only] The PSC connection id of the PSC forwarding rule.", + "grpcTlsHealthCheck": { + "$ref": "GRPCTLSHealthCheck" + }, + "healthyThreshold": { + "description": "A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.", + "format": "int32", + "type": "integer" + }, + "http2HealthCheck": { + "$ref": "HTTP2HealthCheck" + }, + "httpHealthCheck": { + "$ref": "HTTPHealthCheck" + }, + "httpsHealthCheck": { + "$ref": "HTTPSHealthCheck" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", "format": "uint64", "type": "string" }, - "pscConnectionStatus": { - "enum": [ - "ACCEPTED", - "CLOSED", - "NEEDS_ATTENTION", - "PENDING", - "REJECTED", - "STATUS_UNSPECIFIED" - ], - "enumDescriptions": [ - "The connection has been accepted by the producer.", - "The connection has been closed by the producer and will not serve traffic going forward.", - "The connection has been accepted by the producer, but the producer needs to take further action before the forwarding rule can serve traffic.", - "The connection is pending acceptance by the producer.", - "The connection has been rejected by the producer.", - "" - ], + "kind": { + "default": "compute#healthCheck", + "description": "Type of the resource.", + "type": "string" + }, + "logConfig": { + "$ref": "HealthCheckLogConfig", + "description": "Configure logging on this health check." + }, + "name": { + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. For example, a name that is 1-63 characters long, matches the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`, and otherwise complies with RFC1035. This regular expression describes a name where the first character is a lowercase letter, and all following characters are a dash, lowercase letter, or digit, except the last character, which isn't a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, "region": { - "description": "[Output Only] URL of the region where the regional forwarding rule resides. This field is not applicable to global forwarding rules. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "description": "[Output Only] Region where the health check resides. Not applicable to global health checks.", "type": "string" }, "selfLink": { @@ -55508,58 +60237,79 @@ "description": "[Output Only] Server-defined URL for this resource with the resource id.", "type": "string" }, - "serviceDirectoryRegistrations": { - "description": "Service Directory resources to register this forwarding rule with. Currently, only supports a single Service Directory resource.", + "sourceRegions": { + "description": "The list of cloud regions from which health checks are performed. If any regions are specified, then exactly 3 regions should be specified. The region names must be valid names of Google Cloud regions. This can only be set for global health check. If this list is non-empty, then there are restrictions on what other health check fields are supported and what other resources can use this health check: - SSL, HTTP2, and GRPC protocols are not supported. - The TCP request field is not supported. - The proxyHeader field for HTTP, HTTPS, and TCP is not supported. - The checkIntervalSec field must be at least 30. - The health check cannot be used with BackendService nor with managed instance group auto-healing. ", "items": { - "$ref": "ForwardingRuleServiceDirectoryRegistration" + "type": "string" }, "type": "array" }, - "serviceLabel": { - "description": "An optional prefix to the service name for this forwarding rule. If specified, the prefix is the first label of the fully qualified service name. The label must be 1-63 characters long, and comply with RFC1035. Specifically, the label must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. This field is only used for internal load balancing.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" + "sslHealthCheck": { + "$ref": "SSLHealthCheck" }, - "serviceName": { - "description": "[Output Only] The internal fully qualified service name for this forwarding rule. This field is only used for internal load balancing.", - "type": "string" + "tcpHealthCheck": { + "$ref": "TCPHealthCheck" }, - "sourceIpRanges": { - "description": "If not empty, this forwarding rule will only forward the traffic when the source IP address matches one of the IP addresses or CIDR ranges set here. Note that a forwarding rule can only have up to 64 source IP ranges, and this field can only be used with a regional forwarding rule whose scheme is EXTERNAL. Each source_ip_range entry should be either an IP address (for example, 1.2.3.4) or a CIDR range (for example, 1.2.3.0/24).", - "items": { - "type": "string" - }, - "type": "array" + "timeoutSec": { + "description": "How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have greater value than checkIntervalSec.", + "format": "int32", + "type": "integer" }, - "subnetwork": { - "description": "This field identifies the subnetwork that the load balanced IP should belong to for this forwarding rule, used with internal load balancers and external passthrough Network Load Balancers with IPv6. If the network specified is in auto subnet mode, this field is optional. However, a subnetwork must be specified if the network is in custom subnet mode or when creating external forwarding rule with IPv6.", + "type": { + "description": "Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS, HTTP2 or GRPC. Exactly one of the protocol-specific health check fields must be specified, which must match type field.", + "enum": [ + "GRPC", + "GRPC_WITH_TLS", + "HTTP", + "HTTP2", + "HTTPS", + "INVALID", + "SSL", + "TCP", + "UDP" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], "type": "string" }, - "target": { - "description": "The URL of the target resource to receive the matched traffic. For regional forwarding rules, this target must be in the same region as the forwarding rule. For global forwarding rules, this target must be a global load balancing resource. The forwarded traffic must be of a type appropriate to the target object. - For load balancers, see the \"Target\" column in [Port specifications](https://cloud.google.com/load-balancing/docs/forwarding-rule-concepts#ip_address_specifications). - For Private Service Connect forwarding rules that forward traffic to Google APIs, provide the name of a supported Google API bundle: - vpc-sc - APIs that support VPC Service Controls. - all-apis - All supported Google APIs. - For Private Service Connect forwarding rules that forward traffic to managed services, the target must be a service attachment. The target is not mutable once set as a service attachment. ", - "type": "string" + "udpHealthCheck": { + "$ref": "UDPHealthCheck" + }, + "unhealthyThreshold": { + "description": "A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.", + "format": "int32", + "type": "integer" } }, "type": "object" }, - "ForwardingRuleAggregatedList": { - "id": "ForwardingRuleAggregatedList", + "HealthCheckList": { + "description": "Contains a list of HealthCheck resources.", + "id": "HealthCheckList", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "additionalProperties": { - "$ref": "ForwardingRulesScopedList", - "description": "Name of the scope containing this set of addresses." + "description": "A list of HealthCheck resources.", + "items": { + "$ref": "HealthCheck" }, - "description": "A list of ForwardingRulesScopedList resources.", - "type": "object" + "type": "array" }, "kind": { - "default": "compute#forwardingRuleAggregatedList", - "description": "[Output Only] Type of resource. Always compute#forwardingRuleAggregatedList for lists of forwarding rules.", + "default": "compute#healthCheckList", + "description": "Type of resource.", "type": "string" }, "nextPageToken": { @@ -55570,13 +60320,6 @@ "description": "[Output Only] Server-defined URL for this resource.", "type": "string" }, - "unreachables": { - "description": "[Output Only] Unreachable resources.", - "items": { - "type": "string" - }, - "type": "array" - }, "warning": { "description": "[Output Only] Informational warning message.", "properties": { @@ -55604,6 +60347,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -55640,6 +60384,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -55664,6 +60409,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -55701,23 +60447,138 @@ }, "type": "object" }, - "ForwardingRuleList": { - "description": "Contains a list of ForwardingRule resources.", - "id": "ForwardingRuleList", + "HealthCheckLogConfig": { + "description": "Configuration of logging on a health check. If logging is enabled, logs will be exported to Stackdriver.", + "id": "HealthCheckLogConfig", + "properties": { + "enable": { + "description": "Indicates whether or not to export logs. This is false by default, which means no health check logging will be done.", + "type": "boolean" + } + }, + "type": "object" + }, + "HealthCheckReference": { + "description": "A full or valid partial URL to a health check. For example, the following are valid URLs: - https://www.googleapis.com/compute/beta/projects/project-id/global/httpHealthChecks/health-check - projects/project-id/global/httpHealthChecks/health-check - global/httpHealthChecks/health-check ", + "id": "HealthCheckReference", + "properties": { + "healthCheck": { + "type": "string" + } + }, + "type": "object" + }, + "HealthCheckService": { + "description": "Represents a Health-Check as a Service resource.", + "id": "HealthCheckService", + "properties": { + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", + "type": "string" + }, + "fingerprint": { + "description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a HealthCheckService. An up-to-date fingerprint must be provided in order to patch/update the HealthCheckService; Otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the HealthCheckService.", + "format": "byte", + "type": "string" + }, + "healthChecks": { + "description": "A list of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10 for regional HealthCheckService, and not more than 1 for global HealthCheckService. HealthCheck resources must have portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks must belong to the same region as zones of NetworkEndpointGroups. For global HealthCheckService using global INTERNET_IP_PORT NetworkEndpointGroups, the global HealthChecks must specify sourceRegions, and HealthChecks that specify sourceRegions can only be used with global INTERNET_IP_PORT NetworkEndpointGroups.", + "items": { + "type": "string" + }, + "type": "array" + }, + "healthStatusAggregationPolicy": { + "description": "Optional. Policy for how the results from multiple health checks for the same endpoint are aggregated. Defaults to NO_AGGREGATION if unspecified. - NO_AGGREGATION. An EndpointHealth message is returned for each pair in the health check service. - AND. If any health check of an endpoint reports UNHEALTHY, then UNHEALTHY is the HealthState of the endpoint. If all health checks report HEALTHY, the HealthState of the endpoint is HEALTHY. . This is only allowed with regional HealthCheckService.", + "enum": [ + "AND", + "NO_AGGREGATION" + ], + "enumDescriptions": [ + "If any backend's health check reports UNHEALTHY, then UNHEALTHY is the HealthState of the entire health check service. If all backend's are healthy, the HealthState of the health check service is HEALTHY.", + "An EndpointHealth message is returned for each backend in the health check service." + ], + "type": "string" + }, + "healthStatusAggregationStrategy": { + "deprecated": true, + "description": "This field is deprecated. Use health_status_aggregation_policy instead. Policy for how the results from multiple health checks for the same endpoint are aggregated. - NO_AGGREGATION. An EndpointHealth message is returned for each backend in the health check service. - AND. If any backend's health check reports UNHEALTHY, then UNHEALTHY is the HealthState of the entire health check service. If all backend's are healthy, the HealthState of the health check service is HEALTHY. .", + "enum": [ + "AND", + "NO_AGGREGATION" + ], + "enumDescriptions": [ + "This is deprecated. Use health_status_aggregation_policy instead. If any backend's health check reports UNHEALTHY, then UNHEALTHY is the HealthState of the entire health check service. If all backend's are healthy, the HealthState of the health check service is HEALTHY.", + "This is deprecated. Use health_status_aggregation_policy instead. An EndpointHealth message is returned for each backend in the health check service." + ], + "type": "string" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64", + "type": "string" + }, + "kind": { + "default": "compute#healthCheckService", + "description": "[Output only] Type of the resource. Always compute#healthCheckServicefor health check services.", + "type": "string" + }, + "name": { + "description": "Name of the resource. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "networkEndpointGroups": { + "description": "A list of URLs to the NetworkEndpointGroup resources. Must not have more than 100. For regional HealthCheckService, NEGs must be in zones in the region of the HealthCheckService. For global HealthCheckServices, the NetworkEndpointGroups must be global INTERNET_IP_PORT.", + "items": { + "type": "string" + }, + "type": "array" + }, + "notificationEndpoints": { + "description": "A list of URLs to the NotificationEndpoint resources. Must not have more than 10. A list of endpoints for receiving notifications of change in health status. For regional HealthCheckService, NotificationEndpoint must be regional and in the same region. For global HealthCheckService, NotificationEndpoint must be global.", + "items": { + "type": "string" + }, + "type": "array" + }, + "region": { + "description": "[Output Only] URL of the region where the health check service resides. This field is not applicable to global health check services. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + }, + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL with id for the resource.", + "type": "string" + } + }, + "type": "object" + }, + "HealthCheckServiceAggregatedList": { + "description": "Contains a list of HealthCheckServicesScopedList.", + "id": "HealthCheckServiceAggregatedList", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "description": "A list of ForwardingRule resources.", - "items": { - "$ref": "ForwardingRule" + "additionalProperties": { + "$ref": "HealthCheckServicesScopedList", + "description": "Name of the scope containing this set of HealthCheckServices." }, - "type": "array" + "description": "A list of HealthCheckServicesScopedList resources.", + "type": "object" }, "kind": { - "default": "compute#forwardingRuleList", + "default": "compute#healthCheckServiceAggregatedList", "description": "Type of resource.", "type": "string" }, @@ -55729,6 +60590,13 @@ "description": "[Output Only] Server-defined URL for this resource.", "type": "string" }, + "unreachables": { + "description": "[Output Only] Unreachable resources.", + "items": { + "type": "string" + }, + "type": "array" + }, "warning": { "description": "[Output Only] Informational warning message.", "properties": { @@ -55756,6 +60624,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -55792,6 +60661,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -55816,6 +60686,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -55853,46 +60724,45 @@ }, "type": "object" }, - "ForwardingRuleReference": { - "id": "ForwardingRuleReference", + "HealthCheckServiceReference": { + "description": "A full or valid partial URL to a health check service. For example, the following are valid URLs: - https://www.googleapis.com/compute/beta/projects/project-id/regions/us-west1/healthCheckServices/health-check-service - projects/project-id/regions/us-west1/healthCheckServices/health-check-service - regions/us-west1/healthCheckServices/health-check-service ", + "id": "HealthCheckServiceReference", "properties": { - "forwardingRule": { + "healthCheckService": { "type": "string" } }, "type": "object" }, - "ForwardingRuleServiceDirectoryRegistration": { - "description": "Describes the auto-registration of the forwarding rule to Service Directory. The region and project of the Service Directory resource generated from this registration will be the same as this forwarding rule.", - "id": "ForwardingRuleServiceDirectoryRegistration", + "HealthCheckServicesList": { + "id": "HealthCheckServicesList", "properties": { - "namespace": { - "description": "Service Directory namespace to register the forwarding rule under.", - "type": "string" - }, - "service": { - "description": "Service Directory service to register the forwarding rule under.", + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, - "serviceDirectoryRegion": { - "description": "[Optional] Service Directory region to register this global forwarding rule under. Default to \"us-central1\". Only used for PSC for Google APIs. All PSC for Google APIs forwarding rules on the same network should use the same Service Directory region.", - "type": "string" - } - }, - "type": "object" - }, - "ForwardingRulesScopedList": { - "id": "ForwardingRulesScopedList", - "properties": { - "forwardingRules": { - "description": "A list of forwarding rules contained in this scope.", + "items": { + "description": "A list of HealthCheckService resources.", "items": { - "$ref": "ForwardingRule" + "$ref": "HealthCheckService" }, "type": "array" }, + "kind": { + "default": "compute#healthCheckServicesList", + "description": "[Output Only] Type of the resource. Always compute#healthCheckServicesList for lists of HealthCheckServices.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, "warning": { - "description": "Informational warning which replaces the list of forwarding rules when the list is empty.", + "description": "[Output Only] Informational warning message.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", @@ -55918,6 +60788,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -55954,519 +60825,81 @@ false, false, false, + false, false ], "enumDescriptions": [ "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "FutureReservation": { - "id": "FutureReservation", - "properties": { - "autoCreatedReservationsDeleteTime": { - "description": "Future timestamp when the FR auto-created reservations will be deleted by Compute Engine. Format of this field must be a valid href=\"https://www.ietf.org/rfc/rfc3339.txt\">RFC3339 value.", - "type": "string" - }, - "autoCreatedReservationsDuration": { - "$ref": "Duration", - "description": "Specifies the duration of auto-created reservations. It represents relative time to future reservation start_time when auto-created reservations will be automatically deleted by Compute Engine. Duration time unit is represented as a count of seconds and fractions of seconds at nanosecond resolution." - }, - "autoDeleteAutoCreatedReservations": { - "description": "Setting for enabling or disabling automatic deletion for auto-created reservation. If set to true, auto-created reservations will be deleted at Future Reservation's end time (default) or at user's defined timestamp if any of the [auto_created_reservations_delete_time, auto_created_reservations_duration] values is specified. For keeping auto-created reservation indefinitely, this value should be set to false.", - "type": "boolean" - }, - "commitmentInfo": { - "$ref": "FutureReservationCommitmentInfo", - "description": "If not present, then FR will not deliver a new commitment or update an existing commitment." - }, - "creationTimestamp": { - "description": "[Output Only] The creation timestamp for this future reservation in RFC3339 text format.", - "type": "string" - }, - "deploymentType": { - "description": "Type of the deployment requested as part of future reservation.", - "enum": [ - "DENSE", - "DEPLOYMENT_TYPE_UNSPECIFIED", - "FLEXIBLE" - ], - "enumDescriptions": [ - "Number of deployment blocks, size, and topology is fixed during creation and does not change over time. Deployment will be expressed in terms of blocks.", - "Deployment type is unspecified.", - "Distribution of capacity in blocks is not static and can change over time. This is expected to have more obtainability over DENSE deployment. Deployment will not be expressed in terms of blocks." - ], - "type": "string" - }, - "description": { - "description": "An optional description of this resource. Provide this property when you create the future reservation.", - "type": "string" - }, - "enableOpportunisticMaintenance": { - "description": "Indicates if this group of VMs have opportunistic maintenance enabled. This will be set on the FR by customers, and will be used for reservation and reservation block maintenance .", - "type": "boolean" - }, - "id": { - "description": "[Output Only] A unique identifier for this future reservation. The server defines this identifier.", - "format": "uint64", - "type": "string" - }, - "instanceTerminationAction": { - "description": "Action to take during reservation termination.", - "enum": [ - "DELETE", - "INSTANCE_TERMINATION_ACTION_UNSPECIFIED", - "STOP" - ], - "enumDescriptions": [ - "Delete the VM.", - "Default value. This value is unused.", - "Stop the VM without storing in-memory content. default action." - ], - "type": "string" - }, - "kind": { - "default": "compute#futureReservation", - "description": "[Output Only] Type of the resource. Always compute#futureReservation for future reservations.", - "type": "string" - }, - "name": { - "annotations": { - "required": [ - "compute.instances.insert" - ] - }, - "description": "The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" - }, - "namePrefix": { - "description": "Name prefix for the reservations to be created at the time of delivery. The name prefix must comply with RFC1035. Maximum allowed length for name prefix is 20. Automatically created reservations name format will be -date-####.", - "type": "string" - }, - "planningStatus": { - "description": "Planning state before being submitted for evaluation", - "enum": [ - "DRAFT", - "PLANNING_STATUS_UNSPECIFIED", - "SUBMITTED" - ], - "enumDescriptions": [ - "Future Reservation is being drafted.", - "", - "Future Reservation has been submitted for evaluation by GCP." - ], - "type": "string" - }, - "reservationName": { - "description": "Name of reservations where the capacity is provisioned at the time of delivery of future reservations. If the reservation with the given name does not exist already, it is created automatically at the time of Approval with INACTIVE state till specified start-time. Either provide the reservation_name or a name_prefix.", - "type": "string" - }, - "schedulingType": { - "description": "Indicates the maintenance type for this group of VMs. This will be set on the reservation via FR, and will be inherited for reservation blocks.", - "enum": [ - "GROUPED", - "GROUP_MAINTENANCE_TYPE_UNSPECIFIED", - "INDEPENDENT" - ], - "enumDescriptions": [ - "Synchronized maintenance. Common maintenance schedule/window is defined for this group of VMs. Not applicable for FLEXIBLE reservation", - "Unknown maintenance type.", - "Unsynchronized maintenance. These group of VMs do not share a common schedule for maintenance. Instead all VMs have individual windows of their own in which maintenance is scheduled." - ], - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined fully-qualified URL for this resource.", - "type": "string" - }, - "selfLinkWithId": { - "description": "[Output Only] Server-defined URL for this resource with the resource id.", - "type": "string" - }, - "shareSettings": { - "$ref": "ShareSettings", - "description": "List of Projects/Folders to share with." - }, - "specificReservationRequired": { - "description": "Indicates whether the auto-created reservation can be consumed by VMs with affinity for \"any\" reservation. If the field is set, then only VMs that target the reservation by name can consume from the delivered reservation. If set to true,the delivered resevervation will have the same name as the future reservation.", - "type": "boolean" - }, - "specificSkuProperties": { - "$ref": "FutureReservationSpecificSKUProperties", - "description": "Future Reservation configuration to indicate instance properties and total count." - }, - "status": { - "$ref": "FutureReservationStatus", - "description": "[Output only] Status of the Future Reservation" - }, - "timeWindow": { - "$ref": "FutureReservationTimeWindow", - "description": "Time window for this Future Reservation." - }, - "zone": { - "description": "[Output Only] URL of the Zone where this future reservation resides.", - "type": "string" - } - }, - "type": "object" - }, - "FutureReservationCommitmentInfo": { - "id": "FutureReservationCommitmentInfo", - "properties": { - "commitmentName": { - "description": "name of the commitment where capacity is being delivered to. In the form of \"projects/{project-id}/locations/{region-name}/commitment/{name}\"", - "type": "string" - }, - "commitmentPlan": { - "description": "Indicates if a Commitment needs to be created as part of FR delivery. If this field is not present, then no commitment needs to be created.", - "enum": [ - "INVALID", - "THIRTY_SIX_MONTH", - "TWELVE_MONTH" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "previousCommitmentTerms": { - "description": "Only applicable if FR is delivering to the same reservation. If set, all parent commitments will be extended to match the end date of the plan for this commitment.", - "enum": [ - "EXTEND", - "PREVIOUSCOMMITMENTTERM_UNSPECIFIED" - ], - "enumDescriptions": [ - "All associated parent Committed Used Discount(s) end-date/term will be extended to the end-time of this future reservation. Default is to extend previous commitment(s) time to the end_time of the reservation.", - "No changes to associated parents Committed Used Discount(s) terms." - ], - "type": "string" - } - }, - "type": "object" - }, - "FutureReservationSpecificSKUProperties": { - "id": "FutureReservationSpecificSKUProperties", - "properties": { - "instanceProperties": { - "$ref": "AllocationSpecificSKUAllocationReservedInstanceProperties", - "description": "Properties of the SKU instances being reserved." - }, - "sourceInstanceTemplate": { - "description": "The instance template that will be used to populate the ReservedInstanceProperties of the future reservation", - "type": "string" - }, - "totalCount": { - "description": "Total number of instances for which capacity assurance is requested at a future time period.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "FutureReservationStatus": { - "description": "[Output only] Represents status related to the future reservation.", - "id": "FutureReservationStatus", - "properties": { - "amendmentStatus": { - "description": "[Output Only] The current status of the requested amendment.", - "enum": [ - "AMENDMENT_APPROVED", - "AMENDMENT_DECLINED", - "AMENDMENT_IN_REVIEW", - "AMENDMENT_STATUS_UNSPECIFIED" - ], - "enumDescriptions": [ - "The requested amendment to the Future Resevation has been approved and applied by GCP.", - "The requested amendment to the Future Reservation has been declined by GCP and the original state was restored.", - "The requested amendment to the Future Reservation is currently being reviewd by GCP.", - "" - ], - "type": "string" - }, - "autoCreatedReservations": { - "description": "Fully qualified urls of the automatically created reservations at start_time.", - "items": { - "type": "string" - }, - "type": "array" - }, - "existingMatchingUsageInfo": { - "$ref": "FutureReservationStatusExistingMatchingUsageInfo", - "description": "[Output Only] Represents the existing matching usage for the future reservation." - }, - "fulfilledCount": { - "description": "This count indicates the fulfilled capacity so far. This is set during \"PROVISIONING\" state. This count also includes capacity delivered as part of existing matching reservations.", - "format": "int64", - "type": "string" - }, - "lastKnownGoodState": { - "$ref": "FutureReservationStatusLastKnownGoodState", - "description": "[Output Only] This field represents the future reservation before an amendment was requested. If the amendment is declined, the Future Reservation will be reverted to the last known good state. The last known good state is not set when updating a future reservation whose Procurement Status is DRAFTING." - }, - "lockTime": { - "description": "Time when Future Reservation would become LOCKED, after which no modifications to Future Reservation will be allowed. Applicable only after the Future Reservation is in the APPROVED state. The lock_time is an RFC3339 string. The procurement_status will transition to PROCURING state at this time.", - "type": "string" - }, - "procurementStatus": { - "description": "Current state of this Future Reservation", - "enum": [ - "APPROVED", - "CANCELLED", - "COMMITTED", - "DECLINED", - "DRAFTING", - "FAILED", - "FAILED_PARTIALLY_FULFILLED", - "FULFILLED", - "PENDING_AMENDMENT_APPROVAL", - "PENDING_APPROVAL", - "PROCUREMENT_STATUS_UNSPECIFIED", - "PROCURING", - "PROVISIONING" - ], - "enumDescriptions": [ - "Future reservation is approved by GCP.", - "Future reservation is cancelled by the customer.", - "Future reservation is committed by the customer.", - "Future reservation is rejected by GCP.", - "Related status for PlanningStatus.Draft. Transitions to PENDING_APPROVAL upon user submitting FR.", - "Future reservation failed. No additional reservations were provided.", - "Future reservation is partially fulfilled. Additional reservations were provided but did not reach total_count reserved instance slots.", - "Future reservation is fulfilled completely.", - "An Amendment to the Future Reservation has been requested. If the Amendment is declined, the Future Reservation will be restored to the last known good state.", - "Future reservation is pending approval by GCP.", - "", - "Future reservation is being procured by GCP. Beyond this point, Future reservation is locked and no further modifications are allowed.", - "Future reservation capacity is being provisioned. This state will be entered after start_time, while reservations are being created to provide total_count reserved instance slots. This state will not persist past start_time + 24h." - ], - "type": "string" - }, - "specificSkuProperties": { - "$ref": "FutureReservationStatusSpecificSKUProperties" - } - }, - "type": "object" - }, - "FutureReservationStatusExistingMatchingUsageInfo": { - "description": "[Output Only] Represents the existing matching usage for the future reservation.", - "id": "FutureReservationStatusExistingMatchingUsageInfo", - "properties": { - "count": { - "description": "Count to represent min(FR total_count, matching_reserved_capacity+matching_unreserved_instances)", - "format": "int64", - "type": "string" - }, - "timestamp": { - "description": "Timestamp when the matching usage was calculated", - "type": "string" - } - }, - "type": "object" - }, - "FutureReservationStatusLastKnownGoodState": { - "description": "The state that the future reservation will be reverted to should the amendment be declined.", - "id": "FutureReservationStatusLastKnownGoodState", - "properties": { - "description": { - "description": "[Output Only] The description of the FutureReservation before an amendment was requested.", - "type": "string" - }, - "existingMatchingUsageInfo": { - "$ref": "FutureReservationStatusExistingMatchingUsageInfo", - "description": "[Output Only] Represents the matching usage for the future reservation before an amendment was requested." - }, - "futureReservationSpecs": { - "$ref": "FutureReservationStatusLastKnownGoodStateFutureReservationSpecs" - }, - "lockTime": { - "description": "[Output Only] The lock time of the FutureReservation before an amendment was requested.", - "type": "string" - }, - "namePrefix": { - "description": "[Output Only] The name prefix of the Future Reservation before an amendment was requested.", - "type": "string" - }, - "procurementStatus": { - "description": "[Output Only] The status of the last known good state for the Future Reservation.", - "enum": [ - "APPROVED", - "CANCELLED", - "COMMITTED", - "DECLINED", - "DRAFTING", - "FAILED", - "FAILED_PARTIALLY_FULFILLED", - "FULFILLED", - "PENDING_AMENDMENT_APPROVAL", - "PENDING_APPROVAL", - "PROCUREMENT_STATUS_UNSPECIFIED", - "PROCURING", - "PROVISIONING" - ], - "enumDescriptions": [ - "Future reservation is approved by GCP.", - "Future reservation is cancelled by the customer.", - "Future reservation is committed by the customer.", - "Future reservation is rejected by GCP.", - "Related status for PlanningStatus.Draft. Transitions to PENDING_APPROVAL upon user submitting FR.", - "Future reservation failed. No additional reservations were provided.", - "Future reservation is partially fulfilled. Additional reservations were provided but did not reach total_count reserved instance slots.", - "Future reservation is fulfilled completely.", - "An Amendment to the Future Reservation has been requested. If the Amendment is declined, the Future Reservation will be restored to the last known good state.", - "Future reservation is pending approval by GCP.", - "", - "Future reservation is being procured by GCP. Beyond this point, Future reservation is locked and no further modifications are allowed.", - "Future reservation capacity is being provisioned. This state will be entered after start_time, while reservations are being created to provide total_count reserved instance slots. This state will not persist past start_time + 24h." - ], - "type": "string" - } - }, - "type": "object" - }, - "FutureReservationStatusLastKnownGoodStateFutureReservationSpecs": { - "description": "The properties of the last known good state for the Future Reservation.", - "id": "FutureReservationStatusLastKnownGoodStateFutureReservationSpecs", - "properties": { - "shareSettings": { - "$ref": "ShareSettings", - "description": "[Output Only] The previous share settings of the Future Reservation." - }, - "specificSkuProperties": { - "$ref": "FutureReservationSpecificSKUProperties", - "description": "[Output Only] The previous instance related properties of the Future Reservation." - }, - "timeWindow": { - "$ref": "FutureReservationTimeWindow", - "description": "[Output Only] The previous time window of the Future Reservation." - } - }, - "type": "object" - }, - "FutureReservationStatusSpecificSKUProperties": { - "description": "Properties to be set for the Future Reservation.", - "id": "FutureReservationStatusSpecificSKUProperties", - "properties": { - "sourceInstanceTemplateId": { - "description": "ID of the instance template used to populate the Future Reservation properties.", - "type": "string" - } - }, - "type": "object" - }, - "FutureReservationTimeWindow": { - "id": "FutureReservationTimeWindow", - "properties": { - "duration": { - "$ref": "Duration" - }, - "endTime": { - "type": "string" - }, - "startTime": { - "description": "Start time of the Future Reservation. The start_time is an RFC3339 string.", - "type": "string" + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" } }, "type": "object" }, - "FutureReservationsAggregatedListResponse": { - "description": "Contains a list of future reservations.", - "id": "FutureReservationsAggregatedListResponse", + "HealthCheckServicesScopedList": { + "id": "HealthCheckServicesScopedList", "properties": { - "etag": { - "type": "string" - }, - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", - "type": "string" - }, - "items": { - "additionalProperties": { - "$ref": "FutureReservationsScopedList", - "description": "Name of the scope containing this set of future reservations." - }, - "description": "A list of Future reservation resources.", - "type": "object" - }, - "kind": { - "default": "compute#futureReservationsAggregatedListResponse", - "description": "[Output Only] Type of resource. Always compute#futureReservationsAggregatedListResponse for future resevation aggregated list response.", - "type": "string" - }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", - "type": "string" - }, - "unreachables": { - "description": "[Output Only] Unreachable resources.", + "resources": { + "description": "A list of HealthCheckServices contained in this scope.", "items": { - "type": "string" + "$ref": "HealthCheckService" }, "type": "array" }, "warning": { - "description": "[Output Only] Informational warning message.", + "description": "Informational warning which replaces the list of backend services when the list is empty.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", @@ -56492,6 +60925,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -56528,6 +60962,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -56552,6 +60987,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -56589,26 +61025,24 @@ }, "type": "object" }, - "FutureReservationsListResponse": { - "id": "FutureReservationsListResponse", + "HealthChecksAggregatedList": { + "id": "HealthChecksAggregatedList", "properties": { - "etag": { - "type": "string" - }, "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "description": "[Output Only] A list of future reservation resources.", - "items": { - "$ref": "FutureReservation" + "additionalProperties": { + "$ref": "HealthChecksScopedList", + "description": "Name of the scope containing this set of HealthChecks." }, - "type": "array" + "description": "A list of HealthChecksScopedList resources.", + "type": "object" }, "kind": { - "default": "compute#futureReservationsListResponse", - "description": "[Output Only] Type of resource.Always compute#FutureReservationsListResponse for lists of reservations", + "default": "compute#healthChecksAggregatedList", + "description": "Type of resource.", "type": "string" }, "nextPageToken": { @@ -56653,6 +61087,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -56689,6 +61124,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -56713,6 +61149,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -56750,18 +61187,18 @@ }, "type": "object" }, - "FutureReservationsScopedList": { - "id": "FutureReservationsScopedList", + "HealthChecksScopedList": { + "id": "HealthChecksScopedList", "properties": { - "futureReservations": { - "description": "A list of future reservations contained in this scope.", + "healthChecks": { + "description": "A list of HealthChecks contained in this scope.", "items": { - "$ref": "FutureReservation" + "$ref": "HealthCheck" }, "type": "array" }, "warning": { - "description": "Informational warning which replaces the list of future reservations when the list is empty.", + "description": "Informational warning which replaces the list of backend services when the list is empty.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", @@ -56787,6 +61224,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -56823,6 +61261,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -56847,6 +61286,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -56884,510 +61324,353 @@ }, "type": "object" }, - "GRPCHealthCheck": { - "id": "GRPCHealthCheck", + "HealthStatus": { + "id": "HealthStatus", "properties": { - "grpcServiceName": { - "description": "The gRPC service name for the health check. This field is optional. The value of grpc_service_name has the following meanings by convention: - Empty service_name means the overall status of all services at the backend. - Non-empty service_name means the health of that gRPC service, as defined by the owner of the service. The grpc_service_name can only be ASCII.", - "type": "string" + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Metadata defined as annotations for network endpoint.", + "type": "object" }, - "port": { - "description": "The TCP port number to which the health check prober sends packets. Valid values are 1 through 65535.", - "format": "int32", - "type": "integer" + "forwardingRule": { + "description": "URL of the forwarding rule associated with the health status of the instance.", + "type": "string" }, - "portName": { - "description": "Not supported.", + "forwardingRuleIp": { + "description": "A forwarding rule IP address assigned to this instance.", "type": "string" }, - "portSpecification": { - "description": "Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports.", + "healthState": { + "description": "Health state of the IPv4 address of the instance.", "enum": [ - "USE_FIXED_PORT", - "USE_NAMED_PORT", - "USE_SERVING_PORT" + "HEALTHY", + "UNHEALTHY" ], "enumDescriptions": [ - "The port number in the health check's port is used for health checking. Applies to network endpoint group and instance group backends.", - "Not supported.", - "For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service's named port defined in the instance group's named ports." + "", + "" ], "type": "string" - } - }, - "type": "object" - }, - "GRPCTLSHealthCheck": { - "id": "GRPCTLSHealthCheck", - "properties": { - "grpcServiceName": { - "description": "The gRPC service name for the health check. This field is optional. The value of grpc_service_name has the following meanings by convention: - Empty service_name means the overall status of all services at the backend. - Non-empty service_name means the health of that gRPC service, as defined by the owner of the service. The grpc_service_name can only be ASCII.", + }, + "instance": { + "description": "URL of the instance resource.", + "type": "string" + }, + "ipAddress": { + "description": "For target pool based Network Load Balancing, it indicates the forwarding rule's IP address assigned to this instance. For other types of load balancing, the field indicates VM internal ip.", + "type": "string" + }, + "ipv6Address": { + "type": "string" + }, + "ipv6HealthState": { + "description": "Health state of the IPv6 address of the instance.", + "enum": [ + "HEALTHY", + "UNHEALTHY" + ], + "enumDescriptions": [ + "", + "" + ], "type": "string" }, "port": { - "description": "The TCP port number to which the health check prober sends packets. Valid values are 1 through 65535.", + "description": "The named port of the instance group, not necessarily the port that is health-checked.", "format": "int32", "type": "integer" }, - "portSpecification": { - "description": "Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports.", + "weight": { + "type": "string" + }, + "weightError": { "enum": [ - "USE_FIXED_PORT", - "USE_NAMED_PORT", - "USE_SERVING_PORT" + "INVALID_WEIGHT", + "MISSING_WEIGHT", + "UNAVAILABLE_WEIGHT", + "WEIGHT_NONE" ], "enumDescriptions": [ - "The port number in the health check's port is used for health checking. Applies to network endpoint group and instance group backends.", - "Not supported.", - "For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service's named port defined in the instance group's named ports." + "The response to a Health Check probe had the HTTP response header field X-Load-Balancing-Endpoint-Weight, but its content was invalid (i.e., not a non-negative single-precision floating-point number in decimal string representation).", + "The response to a Health Check probe did not have the HTTP response header field X-Load-Balancing-Endpoint-Weight.", + "This is the value when the accompanied health status is either TIMEOUT (i.e.,the Health Check probe was not able to get a response in time) or UNKNOWN. For the latter, it should be typically because there has not been sufficient time to parse and report the weight for a new backend (which is with 0.0.0.0 ip address). However, it can be also due to an outage case for which the health status is explicitly reset to UNKNOWN.", + "This is the default value when WeightReportMode is DISABLE, and is also the initial value when WeightReportMode has just updated to ENABLE or DRY_RUN and there has not been sufficient time to parse and report the backend weight." ], "type": "string" } }, "type": "object" }, - "GetOwnerInstanceResponse": { - "id": "GetOwnerInstanceResponse", - "properties": { - "instance": { - "description": "Full instance resource URL.", - "type": "string" - } - }, - "type": "object" - }, - "GlobalAddressesMoveRequest": { - "id": "GlobalAddressesMoveRequest", + "HealthStatusForNetworkEndpoint": { + "id": "HealthStatusForNetworkEndpoint", "properties": { - "description": { - "description": "An optional destination address description if intended to be different from the source.", + "backendService": { + "$ref": "BackendServiceReference", + "description": "URL of the backend service associated with the health state of the network endpoint." + }, + "forwardingRule": { + "$ref": "ForwardingRuleReference", + "description": "URL of the forwarding rule associated with the health state of the network endpoint." + }, + "healthCheck": { + "$ref": "HealthCheckReference", + "description": "URL of the health check associated with the health state of the network endpoint." + }, + "healthCheckService": { + "$ref": "HealthCheckServiceReference", + "description": "URL of the health check service associated with the health state of the network endpoint." + }, + "healthState": { + "description": "Health state of the network endpoint determined based on the health checks configured.", + "enum": [ + "DRAINING", + "HEALTHY", + "UNHEALTHY", + "UNKNOWN" + ], + "enumDescriptions": [ + "Endpoint is being drained.", + "Endpoint is healthy.", + "Endpoint is unhealthy.", + "Health status of the endpoint is unknown." + ], "type": "string" }, - "destinationAddress": { - "description": "The URL of the destination address to move to. This can be a full or partial URL. For example, the following are all valid URLs to a address: - https://www.googleapis.com/compute/v1/projects/project /global/addresses/address - projects/project/global/addresses/address Note that destination project must be different from the source project. So /global/addresses/address is not valid partial url.", + "ipv6HealthState": { + "description": "Health state of the ipv6 network endpoint determined based on the health checks configured.", + "enum": [ + "DRAINING", + "HEALTHY", + "UNHEALTHY", + "UNKNOWN" + ], + "enumDescriptions": [ + "Endpoint is being drained.", + "Endpoint is healthy.", + "Endpoint is unhealthy.", + "Health status of the endpoint is unknown." + ], "type": "string" } }, "type": "object" }, - "GlobalNetworkEndpointGroupsAttachEndpointsRequest": { - "id": "GlobalNetworkEndpointGroupsAttachEndpointsRequest", - "properties": { - "networkEndpoints": { - "description": "The list of network endpoints to be attached.", - "items": { - "$ref": "NetworkEndpoint" - }, - "type": "array" - } - }, - "type": "object" - }, - "GlobalNetworkEndpointGroupsDetachEndpointsRequest": { - "id": "GlobalNetworkEndpointGroupsDetachEndpointsRequest", + "Help": { + "description": "Provides links to documentation or for performing an out of band action. For example, if a quota check failed with an error indicating the calling project hasn't enabled the accessed service, this can contain a URL pointing directly to the right place in the developer console to flip the bit.", + "id": "Help", "properties": { - "networkEndpoints": { - "description": "The list of network endpoints to be detached.", + "links": { + "description": "URL(s) pointing to additional information on handling the current error.", "items": { - "$ref": "NetworkEndpoint" + "$ref": "HelpLink" }, "type": "array" } }, "type": "object" }, - "GlobalOrganizationSetPolicyRequest": { - "id": "GlobalOrganizationSetPolicyRequest", + "HelpLink": { + "description": "Describes a URL link.", + "id": "HelpLink", "properties": { - "bindings": { - "description": "Flatten Policy to create a backward compatible wire-format. Deprecated. Use 'policy' to specify bindings.", - "items": { - "$ref": "Binding" - }, - "type": "array" - }, - "etag": { - "description": "Flatten Policy to create a backward compatible wire-format. Deprecated. Use 'policy' to specify the etag.", - "format": "byte", + "description": { + "description": "Describes what the link offers.", "type": "string" }, - "policy": { - "$ref": "Policy", - "description": "REQUIRED: The complete policy to be applied to the 'resource'. The size of the policy is limited to a few 10s of KB. An empty policy is in general a valid policy but certain services (like Projects) might reject them." + "url": { + "description": "The URL of the link.", + "type": "string" } }, "type": "object" }, - "GlobalSetLabelsRequest": { - "id": "GlobalSetLabelsRequest", + "HostRule": { + "description": "UrlMaps A host-matching rule for a URL. If matched, will use the named PathMatcher to select the BackendService.", + "id": "HostRule", "properties": { - "labelFingerprint": { - "description": "The fingerprint of the previous set of labels for this resource, used to detect conflicts. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash when updating or changing labels, otherwise the request will fail with error 412 conditionNotMet. Make a get() request to the resource to get the latest fingerprint.", - "format": "byte", + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", "type": "string" }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "A list of labels to apply for this resource. Each label must comply with the requirements for labels. For example, \"webserver-frontend\": \"images\". A label value can also be empty (e.g. \"my-label\": \"\").", - "type": "object" - } - }, - "type": "object" - }, - "GlobalSetPolicyRequest": { - "id": "GlobalSetPolicyRequest", - "properties": { - "bindings": { - "description": "Flatten Policy to create a backward compatible wire-format. Deprecated. Use 'policy' to specify bindings.", + "hosts": { + "description": "The list of host patterns to match. They must be valid hostnames with optional port numbers in the format host:port. * matches any string of ([a-z0-9-.]*). In that case, * must be the first character, and if followed by anything, the immediate following character must be either - or .. * based matching is not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.", "items": { - "$ref": "Binding" + "type": "string" }, "type": "array" }, - "etag": { - "description": "Flatten Policy to create a backward compatible wire-format. Deprecated. Use 'policy' to specify the etag.", - "format": "byte", + "pathMatcher": { + "description": "The name of the PathMatcher to use to match the path portion of the URL if the hostRule matches the URL's host portion.", "type": "string" - }, - "policy": { - "$ref": "Policy", - "description": "REQUIRED: The complete policy to be applied to the 'resource'. The size of the policy is limited to a few 10s of KB. An empty policy is in general a valid policy but certain services (like Projects) might reject them." } }, "type": "object" }, - "GrpcServiceConfig": { - "description": "[Deprecated] gRPC config to access the SDS server. gRPC config to access the SDS server.", - "id": "GrpcServiceConfig", + "HttpFaultAbort": { + "description": "Specification for how requests are aborted as part of fault injection.", + "id": "HttpFaultAbort", "properties": { - "callCredentials": { - "$ref": "CallCredentials", - "description": "The call credentials to access the SDS server." - }, - "channelCredentials": { - "$ref": "ChannelCredentials", - "description": "The channel credentials to access the SDS server." + "httpStatus": { + "description": "The HTTP status code used to abort the request. The value must be from 200 to 599 inclusive. For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.", + "format": "uint32", + "type": "integer" }, - "targetUri": { - "description": "The target URI of the SDS server.", - "type": "string" + "percentage": { + "description": "The percentage of traffic for connections, operations, or requests that is aborted as part of fault injection. The value must be from 0.0 to 100.0 inclusive.", + "format": "double", + "type": "number" } }, "type": "object" }, - "GuestAttributes": { - "description": "A guest attributes entry.", - "id": "GuestAttributes", + "HttpFaultDelay": { + "description": "Specifies the delay introduced by the load balancer before forwarding the request to the backend service as part of fault injection.", + "id": "HttpFaultDelay", "properties": { - "kind": { - "default": "compute#guestAttributes", - "description": "[Output Only] Type of the resource. Always compute#guestAttributes for guest attributes entry.", - "type": "string" - }, - "queryPath": { - "description": "The path to be queried. This can be the default namespace ('') or a nested namespace ('\\/') or a specified key ('\\/\\').", - "type": "string" - }, - "queryValue": { - "$ref": "GuestAttributesValue", - "description": "[Output Only] The value of the requested queried path." - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", - "type": "string" - }, - "variableKey": { - "description": "The key to search for.", - "type": "string" + "fixedDelay": { + "$ref": "Duration", + "description": "Specifies the value of the fixed delay interval." }, - "variableValue": { - "description": "[Output Only] The value found for the requested key.", - "type": "string" + "percentage": { + "description": "The percentage of traffic for connections, operations, or requests for which a delay is introduced as part of fault injection. The value must be from 0.0 to 100.0 inclusive.", + "format": "double", + "type": "number" } }, "type": "object" }, - "GuestAttributesEntry": { - "description": "A guest attributes namespace/key/value entry.", - "id": "GuestAttributesEntry", + "HttpFaultInjection": { + "description": "The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by the load balancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the load balancer for a percentage of requests.", + "id": "HttpFaultInjection", "properties": { - "key": { - "description": "Key for the guest attribute entry.", - "type": "string" - }, - "namespace": { - "description": "Namespace for the guest attribute entry.", - "type": "string" + "abort": { + "$ref": "HttpFaultAbort", + "description": "The specification for how client requests are aborted as part of fault injection." }, - "value": { - "description": "Value for the guest attribute entry.", - "type": "string" - } - }, - "type": "object" - }, - "GuestAttributesValue": { - "description": "Array of guest attribute namespace/key/value tuples.", - "id": "GuestAttributesValue", - "properties": { - "items": { - "items": { - "$ref": "GuestAttributesEntry" - }, - "type": "array" - } - }, - "type": "object" - }, - "GuestOsFeature": { - "description": "Guest OS features.", - "id": "GuestOsFeature", - "properties": { - "type": { - "description": "The ID of a supported feature. To add multiple values, use commas to separate values. Set to one or more of the following values: - VIRTIO_SCSI_MULTIQUEUE - WINDOWS - MULTI_IP_SUBNET - UEFI_COMPATIBLE - GVNIC - SEV_CAPABLE - SUSPEND_RESUME_COMPATIBLE - SEV_LIVE_MIGRATABLE_V2 - SEV_SNP_CAPABLE - TDX_CAPABLE - IDPF For more information, see Enabling guest operating system features.", - "enum": [ - "BARE_METAL_LINUX_COMPATIBLE", - "FEATURE_TYPE_UNSPECIFIED", - "GVNIC", - "IDPF", - "MULTI_IP_SUBNET", - "SECURE_BOOT", - "SEV_CAPABLE", - "SEV_LIVE_MIGRATABLE", - "SEV_LIVE_MIGRATABLE_V2", - "SEV_SNP_CAPABLE", - "TDX_CAPABLE", - "UEFI_COMPATIBLE", - "VIRTIO_SCSI_MULTIQUEUE", - "WINDOWS" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" + "delay": { + "$ref": "HttpFaultDelay", + "description": "The specification for how client requests are delayed as part of fault injection, before being sent to a backend service." } }, "type": "object" }, - "HTTP2HealthCheck": { - "id": "HTTP2HealthCheck", + "HttpFilterConfig": { + "description": "HttpFilterConfiguration supplies additional contextual settings for networkservices.HttpFilter resources enabled by Traffic Director.", + "id": "HttpFilterConfig", "properties": { - "host": { - "description": "The value of the host header in the HTTP/2 health check request. If left empty (default value), the host header is set to the destination IP address to which health check packets are sent. The destination IP address depends on the type of load balancer. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#hc-packet-dest", - "type": "string" - }, - "port": { - "description": "The TCP port number to which the health check prober sends packets. The default value is 443. Valid values are 1 through 65535.", - "format": "int32", - "type": "integer" - }, - "portName": { - "description": "Not supported.", + "config": { + "description": "The configuration needed to enable the networkservices.HttpFilter resource. The configuration must be YAML formatted and only contain fields defined in the protobuf identified in configTypeUrl", "type": "string" }, - "portSpecification": { - "description": "Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports.", - "enum": [ - "USE_FIXED_PORT", - "USE_NAMED_PORT", - "USE_SERVING_PORT" - ], - "enumDescriptions": [ - "The port number in the health check's port is used for health checking. Applies to network endpoint group and instance group backends.", - "Not supported.", - "For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service's named port defined in the instance group's named ports." - ], + "configTypeUrl": { + "description": "The fully qualified versioned proto3 type url of the protobuf that the filter expects for its contextual settings, for example: type.googleapis.com/google.protobuf.Struct", "type": "string" }, - "proxyHeader": { - "description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", - "enum": [ - "NONE", - "PROXY_V1" - ], - "enumDescriptions": [ - "", - "" - ], + "filterName": { + "description": "Name of the networkservices.HttpFilter resource this configuration belongs to. This name must be known to the xDS client. Example: envoy.wasm", "type": "string" + } + }, + "type": "object" + }, + "HttpHeaderAction": { + "description": "The request and response header transformations that take effect before the request is passed along to the selected backendService.", + "id": "HttpHeaderAction", + "properties": { + "requestHeadersToAdd": { + "description": "Headers to add to a matching request before forwarding the request to the backendService.", + "items": { + "$ref": "HttpHeaderOption" + }, + "type": "array" }, - "requestPath": { - "description": "The request path of the HTTP/2 health check request. The default value is /. Must comply with RFC3986.", - "type": "string" + "requestHeadersToRemove": { + "description": "A list of header names for headers that need to be removed from the request before forwarding the request to the backendService.", + "items": { + "type": "string" + }, + "type": "array" }, - "response": { - "description": "Creates a content-based HTTP/2 health check. In addition to the required HTTP 200 (OK) status code, you can configure the health check to pass only when the backend sends this specific ASCII response string within the first 1024 bytes of the HTTP response body. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-http", - "type": "string" + "responseHeadersToAdd": { + "description": "Headers to add the response before sending the response back to the client.", + "items": { + "$ref": "HttpHeaderOption" + }, + "type": "array" }, - "weightReportMode": { - "description": "Weight report mode. used for weighted Load Balancing.", - "enum": [ - "DISABLE", - "DRY_RUN", - "ENABLE" - ], - "enumDescriptions": [ - "Health Checker will not parse the header field.", - "Health Checker will parse and report the weight in the header field, but load balancing will not be based on the weights and will use equal weights.", - "Health Checker will try to parse and report the weight in the header field, and load balancing will be based on the weights as long as all backends have a valid weight or only a subset of backends has the UNAVAILABLE_WEIGHT WeightError. The latter case is to continue the weighted load balancing while some backends are in TIMEOUT or UNKNOWN health status." - ], - "type": "string" + "responseHeadersToRemove": { + "description": "A list of header names for headers that need to be removed from the response before sending the response back to the client.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "HTTPHealthCheck": { - "id": "HTTPHealthCheck", + "HttpHeaderMatch": { + "description": "matchRule criteria for request header matches.", + "id": "HttpHeaderMatch", "properties": { - "host": { - "description": "The value of the host header in the HTTP health check request. If left empty (default value), the host header is set to the destination IP address to which health check packets are sent. The destination IP address depends on the type of load balancer. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#hc-packet-dest", + "exactMatch": { + "description": "The value should exactly match contents of exactMatch. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.", "type": "string" }, - "port": { - "description": "The TCP port number to which the health check prober sends packets. The default value is 80. Valid values are 1 through 65535.", - "format": "int32", - "type": "integer" - }, - "portName": { - "description": "Not supported.", + "headerName": { + "description": "The name of the HTTP header to match. For matching against the HTTP request's authority, use a headerMatch with the header name \":authority\". For matching a request's method, use the headerName \":method\". When the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true, only non-binary user-specified custom metadata and the `content-type` header are supported. The following transport-level headers cannot be used in header matching rules: `:authority`, `:method`, `:path`, `:scheme`, `user-agent`, `accept-encoding`, `content-encoding`, `grpc-accept-encoding`, `grpc-encoding`, `grpc-previous-rpc-attempts`, `grpc-tags-bin`, `grpc-timeout` and `grpc-trace-bin`.", "type": "string" }, - "portSpecification": { - "description": "Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Also supported in legacy HTTP health checks for target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for pass-through load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports.", - "enum": [ - "USE_FIXED_PORT", - "USE_NAMED_PORT", - "USE_SERVING_PORT" - ], - "enumDescriptions": [ - "The port number in the health check's port is used for health checking. Applies to network endpoint group and instance group backends.", - "Not supported.", - "For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service's named port defined in the instance group's named ports." - ], - "type": "string" + "invertMatch": { + "description": "If set to false, the headerMatch is considered a match if the preceding match criteria are met. If set to true, the headerMatch is considered a match if the preceding match criteria are NOT met. The default setting is false. ", + "type": "boolean" }, - "proxyHeader": { - "description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", - "enum": [ - "NONE", - "PROXY_V1" - ], - "enumDescriptions": [ - "", - "" - ], + "prefixMatch": { + "description": "The value of the header must start with the contents of prefixMatch. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.", "type": "string" }, - "requestPath": { - "description": "The request path of the HTTP health check request. The default value is /. Must comply with RFC3986.", - "type": "string" + "presentMatch": { + "description": "A header with the contents of headerName must exist. The match takes place whether or not the request's header has a value. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.", + "type": "boolean" }, - "response": { - "description": "Creates a content-based HTTP health check. In addition to the required HTTP 200 (OK) status code, you can configure the health check to pass only when the backend sends this specific ASCII response string within the first 1024 bytes of the HTTP response body. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-http", + "rangeMatch": { + "$ref": "Int64RangeMatch", + "description": "The header value must be an integer and its value must be in the range specified in rangeMatch. If the header does not contain an integer, number or is empty, the match fails. For example for a range [-5, 0] - -3 will match. - 0 will not match. - 0.25 will not match. - -3someString will not match. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set. rangeMatch is not supported for load balancers that have loadBalancingScheme set to EXTERNAL." + }, + "regexMatch": { + "description": "The value of the header must match the regular expression specified in regexMatch. For more information about regular expression syntax, see Syntax. For matching against a port specified in the HTTP request, use a headerMatch with headerName set to PORT and a regular expression that satisfies the RFC2616 Host header's port specifier. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED.", "type": "string" }, - "weightReportMode": { - "description": "Weight report mode. used for weighted Load Balancing.", - "enum": [ - "DISABLE", - "DRY_RUN", - "ENABLE" - ], - "enumDescriptions": [ - "Health Checker will not parse the header field.", - "Health Checker will parse and report the weight in the header field, but load balancing will not be based on the weights and will use equal weights.", - "Health Checker will try to parse and report the weight in the header field, and load balancing will be based on the weights as long as all backends have a valid weight or only a subset of backends has the UNAVAILABLE_WEIGHT WeightError. The latter case is to continue the weighted load balancing while some backends are in TIMEOUT or UNKNOWN health status." - ], + "suffixMatch": { + "description": "The value of the header must end with the contents of suffixMatch. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.", "type": "string" } }, "type": "object" }, - "HTTPSHealthCheck": { - "id": "HTTPSHealthCheck", + "HttpHeaderOption": { + "description": "Specification determining how headers are added to requests or responses.", + "id": "HttpHeaderOption", "properties": { - "host": { - "description": "The value of the host header in the HTTPS health check request. If left empty (default value), the host header is set to the destination IP address to which health check packets are sent. The destination IP address depends on the type of load balancer. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#hc-packet-dest", - "type": "string" - }, - "port": { - "description": "The TCP port number to which the health check prober sends packets. The default value is 443. Valid values are 1 through 65535.", - "format": "int32", - "type": "integer" - }, - "portName": { - "description": "Not supported.", - "type": "string" - }, - "portSpecification": { - "description": "Specifies how a port is selected for health checking. Can be one of the following values: USE_FIXED_PORT: Specifies a port number explicitly using the port field in the health check. Supported by backend services for passthrough load balancers and backend services for proxy load balancers. Not supported by target pools. The health check supports all backends supported by the backend service provided the backend can be health checked. For example, GCE_VM_IP network endpoint groups, GCE_VM_IP_PORT network endpoint groups, and instance group backends. USE_NAMED_PORT: Not supported. USE_SERVING_PORT: Provides an indirect method of specifying the health check port by referring to the backend service. Only supported by backend services for proxy load balancers. Not supported by target pools. Not supported by backend services for passthrough load balancers. Supports all backends that can be health checked; for example, GCE_VM_IP_PORT network endpoint groups and instance group backends. For GCE_VM_IP_PORT network endpoint group backends, the health check uses the port number specified for each endpoint in the network endpoint group. For instance group backends, the health check uses the port number determined by looking up the backend service's named port in the instance group's list of named ports.", - "enum": [ - "USE_FIXED_PORT", - "USE_NAMED_PORT", - "USE_SERVING_PORT" - ], - "enumDescriptions": [ - "The port number in the health check's port is used for health checking. Applies to network endpoint group and instance group backends.", - "Not supported.", - "For network endpoint group backends, the health check uses the port number specified on each endpoint in the network endpoint group. For instance group backends, the health check uses the port number specified for the backend service's named port defined in the instance group's named ports." - ], - "type": "string" - }, - "proxyHeader": { - "description": "Specifies the type of proxy header to append before sending data to the backend, either NONE or PROXY_V1. The default is NONE.", - "enum": [ - "NONE", - "PROXY_V1" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "requestPath": { - "description": "The request path of the HTTPS health check request. The default value is /. Must comply with RFC3986.", + "headerName": { + "description": "The name of the header.", "type": "string" }, - "response": { - "description": "Creates a content-based HTTPS health check. In addition to the required HTTP 200 (OK) status code, you can configure the health check to pass only when the backend sends this specific ASCII response string within the first 1024 bytes of the HTTP response body. For details, see: https://cloud.google.com/load-balancing/docs/health-check-concepts#criteria-protocol-http", + "headerValue": { + "description": "The value of the header to add.", "type": "string" }, - "weightReportMode": { - "description": "Weight report mode. used for weighted Load Balancing.", - "enum": [ - "DISABLE", - "DRY_RUN", - "ENABLE" - ], - "enumDescriptions": [ - "Health Checker will not parse the header field.", - "Health Checker will parse and report the weight in the header field, but load balancing will not be based on the weights and will use equal weights.", - "Health Checker will try to parse and report the weight in the header field, and load balancing will be based on the weights as long as all backends have a valid weight or only a subset of backends has the UNAVAILABLE_WEIGHT WeightError. The latter case is to continue the weighted load balancing while some backends are in TIMEOUT or UNKNOWN health status." - ], - "type": "string" + "replace": { + "description": "If false, headerValue is appended to any values that already exist for the header. If true, headerValue is set for the header, discarding any values that were set for that header. The default value is false. ", + "type": "boolean" } }, "type": "object" }, - "HealthCheck": { - "description": "Represents a health check resource. Google Compute Engine has two health check resources: * [Regional](/compute/docs/reference/rest/alpha/regionHealthChecks) * [Global](/compute/docs/reference/rest/alpha/healthChecks) These health check resources can be used for load balancing and for autohealing VMs in a managed instance group (MIG). **Load balancing** Health check requirements vary depending on the type of load balancer. For details about the type of health check supported for each load balancer and corresponding backend type, see Health checks overview: Load balancer guide. **Autohealing in MIGs** The health checks that you use for autohealing VMs in a MIG can be either regional or global. For more information, see Set up an application health check and autohealing. For more information, see Health checks overview.", - "id": "HealthCheck", + "HttpHealthCheck": { + "description": "Represents a legacy HTTP Health Check resource. Legacy HTTP health checks are now only required by target pool-based network load balancers. For all other load balancers, including backend service-based network load balancers, and for managed instance group auto-healing, you must use modern (non-legacy) health checks. For more information, see Health checks overview .", + "id": "HttpHealthCheck", "properties": { "checkIntervalSec": { "description": "How often (in seconds) to send a health check. The default value is 5 seconds.", @@ -57395,32 +61678,21 @@ "type": "integer" }, "creationTimestamp": { - "description": "[Output Only] Creation timestamp in 3339 text format.", + "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" }, "description": { "description": "An optional description of this resource. Provide this property when you create the resource.", "type": "string" }, - "grpcHealthCheck": { - "$ref": "GRPCHealthCheck" - }, - "grpcTlsHealthCheck": { - "$ref": "GRPCTLSHealthCheck" - }, "healthyThreshold": { "description": "A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.", "format": "int32", "type": "integer" }, - "http2HealthCheck": { - "$ref": "HTTP2HealthCheck" - }, - "httpHealthCheck": { - "$ref": "HTTPHealthCheck" - }, - "httpsHealthCheck": { - "$ref": "HTTPSHealthCheck" + "host": { + "description": "The value of the host header in the HTTP health check request. If left empty (default value), the public IP on behalf of which this health check is performed will be used.", + "type": "string" }, "id": { "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", @@ -57428,21 +61700,22 @@ "type": "string" }, "kind": { - "default": "compute#healthCheck", - "description": "Type of the resource.", + "default": "compute#httpHealthCheck", + "description": "[Output Only] Type of the resource. Always compute#httpHealthCheck for HTTP health checks.", "type": "string" }, - "logConfig": { - "$ref": "HealthCheckLogConfig", - "description": "Configure logging on this health check." - }, "name": { - "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. For example, a name that is 1-63 characters long, matches the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`, and otherwise complies with RFC1035. This regular expression describes a name where the first character is a lowercase letter, and all following characters are a dash, lowercase letter, or digit, except the last character, which isn't a dash.", + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, - "region": { - "description": "[Output Only] Region where the health check resides. Not applicable to global health checks.", + "port": { + "description": "The TCP port number for the HTTP health check request. The default value is 80.", + "format": "int32", + "type": "integer" + }, + "requestPath": { + "description": "The request path of the HTTP health check request. The default value is /. This field does not support query parameters. Must comply with RFC3986.", "type": "string" }, "selfLink": { @@ -57453,53 +61726,11 @@ "description": "[Output Only] Server-defined URL for this resource with the resource id.", "type": "string" }, - "sourceRegions": { - "description": "The list of cloud regions from which health checks are performed. If any regions are specified, then exactly 3 regions should be specified. The region names must be valid names of Google Cloud regions. This can only be set for global health check. If this list is non-empty, then there are restrictions on what other health check fields are supported and what other resources can use this health check: - SSL, HTTP2, and GRPC protocols are not supported. - The TCP request field is not supported. - The proxyHeader field for HTTP, HTTPS, and TCP is not supported. - The checkIntervalSec field must be at least 30. - The health check cannot be used with BackendService nor with managed instance group auto-healing. ", - "items": { - "type": "string" - }, - "type": "array" - }, - "sslHealthCheck": { - "$ref": "SSLHealthCheck" - }, - "tcpHealthCheck": { - "$ref": "TCPHealthCheck" - }, "timeoutSec": { "description": "How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have greater value than checkIntervalSec.", "format": "int32", "type": "integer" }, - "type": { - "description": "Specifies the type of the healthCheck, either TCP, SSL, HTTP, HTTPS, HTTP2 or GRPC. Exactly one of the protocol-specific health check fields must be specified, which must match type field.", - "enum": [ - "GRPC", - "GRPC_WITH_TLS", - "HTTP", - "HTTP2", - "HTTPS", - "INVALID", - "SSL", - "TCP", - "UDP" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "udpHealthCheck": { - "$ref": "UDPHealthCheck" - }, "unhealthyThreshold": { "description": "A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.", "format": "int32", @@ -57508,23 +61739,23 @@ }, "type": "object" }, - "HealthCheckList": { - "description": "Contains a list of HealthCheck resources.", - "id": "HealthCheckList", + "HttpHealthCheckList": { + "description": "Contains a list of HttpHealthCheck resources.", + "id": "HttpHealthCheckList", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "description": "A list of HealthCheck resources.", + "description": "A list of HttpHealthCheck resources.", "items": { - "$ref": "HealthCheck" + "$ref": "HttpHealthCheck" }, "type": "array" }, "kind": { - "default": "compute#healthCheckList", + "default": "compute#httpHealthCheckList", "description": "Type of resource.", "type": "string" }, @@ -57563,6 +61794,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -57599,6 +61831,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -57623,6 +61856,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -57660,31 +61894,252 @@ }, "type": "object" }, - "HealthCheckLogConfig": { - "description": "Configuration of logging on a health check. If logging is enabled, logs will be exported to Stackdriver.", - "id": "HealthCheckLogConfig", + "HttpQueryParameterMatch": { + "description": "HttpRouteRuleMatch criteria for a request's query parameter.", + "id": "HttpQueryParameterMatch", "properties": { - "enable": { - "description": "Indicates whether or not to export logs. This is false by default, which means no health check logging will be done.", + "exactMatch": { + "description": "The queryParameterMatch matches if the value of the parameter exactly matches the contents of exactMatch. Only one of presentMatch, exactMatch, or regexMatch must be set. ", + "type": "string" + }, + "name": { + "description": "The name of the query parameter to match. The query parameter must exist in the request, in the absence of which the request match fails.", + "type": "string" + }, + "presentMatch": { + "description": "Specifies that the queryParameterMatch matches if the request contains the query parameter, irrespective of whether the parameter has a value or not. Only one of presentMatch, exactMatch, or regexMatch must be set. ", + "type": "boolean" + }, + "regexMatch": { + "description": "The queryParameterMatch matches if the value of the parameter matches the regular expression specified by regexMatch. For more information about regular expression syntax, see Syntax. Only one of presentMatch, exactMatch, or regexMatch must be set. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED. ", + "type": "string" + } + }, + "type": "object" + }, + "HttpRedirectAction": { + "description": "Specifies settings for an HTTP redirect.", + "id": "HttpRedirectAction", + "properties": { + "hostRedirect": { + "description": "The host that is used in the redirect response instead of the one that was supplied in the request. The value must be from 1 to 255 characters.", + "type": "string" + }, + "httpsRedirect": { + "description": "If set to true, the URL scheme in the redirected request is set to HTTPS. If set to false, the URL scheme of the redirected request remains the same as that of the request. This must only be set for URL maps used in TargetHttpProxys. Setting this true for TargetHttpsProxy is not permitted. The default is set to false.", + "type": "boolean" + }, + "pathRedirect": { + "description": "The path that is used in the redirect response instead of the one that was supplied in the request. pathRedirect cannot be supplied together with prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the original request is used for the redirect. The value must be from 1 to 1024 characters.", + "type": "string" + }, + "prefixRedirect": { + "description": "The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch, retaining the remaining portion of the URL before redirecting the request. prefixRedirect cannot be supplied together with pathRedirect. Supply one alone or neither. If neither is supplied, the path of the original request is used for the redirect. The value must be from 1 to 1024 characters.", + "type": "string" + }, + "redirectResponseCode": { + "description": "The HTTP Status code to use for this RedirectAction. Supported values are: - MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301. - FOUND, which corresponds to 302. - SEE_OTHER which corresponds to 303. - TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method is retained. - PERMANENT_REDIRECT, which corresponds to 308. In this case, the request method is retained. ", + "enum": [ + "FOUND", + "MOVED_PERMANENTLY_DEFAULT", + "PERMANENT_REDIRECT", + "SEE_OTHER", + "TEMPORARY_REDIRECT" + ], + "enumDescriptions": [ + "Http Status Code 302 - Found.", + "Http Status Code 301 - Moved Permanently.", + "Http Status Code 308 - Permanent Redirect maintaining HTTP method.", + "Http Status Code 303 - See Other.", + "Http Status Code 307 - Temporary Redirect maintaining HTTP method." + ], + "type": "string" + }, + "stripQuery": { + "description": "If set to true, any accompanying query portion of the original URL is removed before redirecting the request. If set to false, the query portion of the original URL is retained. The default is set to false. ", "type": "boolean" } }, "type": "object" }, - "HealthCheckReference": { - "description": "A full or valid partial URL to a health check. For example, the following are valid URLs: - https://www.googleapis.com/compute/beta/projects/project-id/global/httpHealthChecks/health-check - projects/project-id/global/httpHealthChecks/health-check - global/httpHealthChecks/health-check ", - "id": "HealthCheckReference", + "HttpRetryPolicy": { + "description": "The retry policy associates with HttpRouteRule", + "id": "HttpRetryPolicy", + "properties": { + "numRetries": { + "description": "Specifies the allowed number retries. This number must be > 0. If not specified, defaults to 1.", + "format": "uint32", + "type": "integer" + }, + "perTryTimeout": { + "$ref": "Duration", + "description": "Specifies a non-zero timeout per retry attempt. If not specified, will use the timeout set in the HttpRouteAction field. If timeout in the HttpRouteAction field is not set, this field uses the largest timeout among all backend services associated with the route. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." + }, + "retryConditions": { + "description": "Specifies one or more conditions when this retry policy applies. Valid values are: - 5xx: retry is attempted if the instance or endpoint responds with any 5xx response code, or if the instance or endpoint does not respond at all. For example, disconnects, reset, read timeout, connection failure, and refused streams. - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504. - connect-failure: a retry is attempted on failures connecting to the instance or endpoint. For example, connection timeouts. - retriable-4xx: a retry is attempted if the instance or endpoint responds with a 4xx response code. The only error that you can retry is error code 409. - refused-stream: a retry is attempted if the instance or endpoint resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry. - cancelled: a retry is attempted if the gRPC status code in the response header is set to cancelled. - deadline-exceeded: a retry is attempted if the gRPC status code in the response header is set to deadline-exceeded. - internal: a retry is attempted if the gRPC status code in the response header is set to internal. - resource-exhausted: a retry is attempted if the gRPC status code in the response header is set to resource-exhausted. - unavailable: a retry is attempted if the gRPC status code in the response header is set to unavailable. Only the following codes are supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true. - cancelled - deadline-exceeded - internal - resource-exhausted - unavailable ", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "HttpRouteAction": { + "id": "HttpRouteAction", + "properties": { + "corsPolicy": { + "$ref": "CorsPolicy", + "description": "The specification for allowing client-side cross-origin requests. For more information about the W3C recommendation for cross-origin resource sharing (CORS), see Fetch API Living Standard. Not supported when the URL map is bound to a target gRPC proxy." + }, + "faultInjectionPolicy": { + "$ref": "HttpFaultInjection", + "description": "The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by a load balancer on a percentage of requests before sending those requests to the backend service. Similarly requests from clients can be aborted by the load balancer for a percentage of requests. timeout and retry_policy is ignored by clients that are configured with a fault_injection_policy if: 1. The traffic is generated by fault injection AND 2. The fault injection is not a delay fault injection. Fault injection is not supported with the classic Application Load Balancer . To see which load balancers support fault injection, see Load balancing: Routing and traffic management features." + }, + "maxStreamDuration": { + "$ref": "Duration", + "description": "Specifies the maximum duration (timeout) for streams on the selected route. Unlike the timeout field where the timeout duration starts from the time the request has been fully processed (known as *end-of-stream*), the duration in this field is computed from the beginning of the stream until the response has been processed, including all retries. A stream that does not complete in this duration is closed. If not specified, this field uses the maximum maxStreamDuration value among all backend services associated with the route. This field is only allowed if the Url map is used with backend services with loadBalancingScheme set to INTERNAL_SELF_MANAGED." + }, + "requestMirrorPolicy": { + "$ref": "RequestMirrorPolicy", + "description": "Specifies the policy on how requests intended for the route's backends are shadowed to a separate mirrored backend service. The load balancer does not wait for responses from the shadow service. Before sending traffic to the shadow service, the host / authority header is suffixed with -shadow. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." + }, + "retryPolicy": { + "$ref": "HttpRetryPolicy", + "description": "Specifies the retry policy associated with this route." + }, + "timeout": { + "$ref": "Duration", + "description": "Specifies the timeout for the selected route. Timeout is computed from the time the request has been fully processed (known as *end-of-stream*) up until the response has been processed. Timeout includes all retries. If not specified, this field uses the largest timeout among all backend services associated with the route. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true." + }, + "urlRewrite": { + "$ref": "UrlRewrite", + "description": "The spec to modify the URL of the request, before forwarding the request to the matched service. urlRewrite is the only action supported in UrlMaps for classic Application Load Balancers. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." + }, + "weightedBackendServices": { + "description": "A list of weighted backend services to send traffic to when a route match occurs. The weights determine the fraction of traffic that flows to their corresponding backend service. If all traffic needs to go to a single backend service, there must be one weightedBackendService with weight set to a non-zero number. After a backend service is identified and before forwarding the request to the backend service, advanced routing actions such as URL rewrites and header transformations are applied depending on additional settings specified in this HttpRouteAction.", + "items": { + "$ref": "WeightedBackendService" + }, + "type": "array" + } + }, + "type": "object" + }, + "HttpRouteRule": { + "description": "The HttpRouteRule setting specifies how to match an HTTP request and the corresponding routing action that load balancing proxies perform.", + "id": "HttpRouteRule", + "properties": { + "customErrorResponsePolicy": { + "$ref": "CustomErrorResponsePolicy", + "description": "customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. If a policy for an error code is not configured for the RouteRule, a policy for the error code configured in pathMatcher.defaultCustomErrorResponsePolicy is applied. If one is not specified in pathMatcher.defaultCustomErrorResponsePolicy, the policy configured in UrlMap.defaultCustomErrorResponsePolicy takes effect. For example, consider a UrlMap with the following configuration: - UrlMap.defaultCustomErrorResponsePolicy are configured with policies for 5xx and 4xx errors - A RouteRule for /coming_soon/ is configured for the error code 404. If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in RouteRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect. When used in conjunction with routeRules.routeAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the customErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the customErrorResponsePolicy is ignored and the response from the service is returned to the client. customErrorResponsePolicy is supported only for global external Application Load Balancers." + }, + "description": { + "description": "The short description conveying the intent of this routeRule. The description can have a maximum length of 1024 characters.", + "type": "string" + }, + "headerAction": { + "$ref": "HttpHeaderAction", + "description": "Specifies changes to request and response headers that need to take effect for the selected backendService. The headerAction value specified here is applied before the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].routeAction.weightedBackendService.backendServiceWeightAction[].headerAction HeaderAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true." + }, + "httpFilterConfigs": { + "description": "Outbound route specific configuration for networkservices.HttpFilter resources enabled by Traffic Director. httpFilterConfigs only applies for load balancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See ForwardingRule for more details. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.", + "items": { + "$ref": "HttpFilterConfig" + }, + "type": "array" + }, + "httpFilterMetadata": { + "description": "Outbound route specific metadata supplied to networkservices.HttpFilter resources enabled by Traffic Director. httpFilterMetadata only applies for load balancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See ForwardingRule for more details. The only configTypeUrl supported is type.googleapis.com/google.protobuf.Struct Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.", + "items": { + "$ref": "HttpFilterConfig" + }, + "type": "array" + }, + "matchRules": { + "description": "The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule.", + "items": { + "$ref": "HttpRouteRuleMatch" + }, + "type": "array" + }, + "priority": { + "description": "For routeRules within a given pathMatcher, priority determines the order in which a load balancer interprets routeRules. RouteRules are evaluated in order of priority, from the lowest to highest number. The priority of a rule decreases as its number increases (1, 2, 3, N+1). The first rule that matches the request is applied. You cannot configure two or more routeRules with the same priority. Priority for each rule must be set to a number from 0 to 2147483647 inclusive. Priority numbers can have gaps, which enable you to add or remove rules in the future without affecting the rest of the rules. For example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the future without any impact on existing rules.", + "format": "int32", + "type": "integer" + }, + "routeAction": { + "$ref": "HttpRouteAction", + "description": "In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a route rule's routeAction." + }, + "service": { + "description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set.", + "type": "string" + }, + "urlRedirect": { + "$ref": "HttpRedirectAction", + "description": "When this rule is matched, the request is redirected to a URL specified by urlRedirect. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy." + } + }, + "type": "object" + }, + "HttpRouteRuleMatch": { + "description": "HttpRouteRuleMatch specifies a set of criteria for matching requests to an HttpRouteRule. All specified criteria must be satisfied for a match to occur.", + "id": "HttpRouteRuleMatch", "properties": { - "healthCheck": { + "fullPathMatch": { + "description": "For satisfying the matchRule condition, the path of the request must exactly match the value specified in fullPathMatch after removing any query parameters and anchor that may be part of the original URL. fullPathMatch must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified.", + "type": "string" + }, + "headerMatches": { + "description": "Specifies a list of header match criteria, all of which must match corresponding headers in the request.", + "items": { + "$ref": "HttpHeaderMatch" + }, + "type": "array" + }, + "ignoreCase": { + "description": "Specifies that prefixMatch and fullPathMatch matches are case sensitive. The default value is false. ignoreCase must not be used with regexMatch. Not supported when the URL map is bound to a target gRPC proxy.", + "type": "boolean" + }, + "metadataFilters": { + "description": "Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.", + "items": { + "$ref": "MetadataFilter" + }, + "type": "array" + }, + "pathTemplateMatch": { + "description": "If specified, the route is a pattern match expression that must match the :path header once the query string is removed. A pattern match allows you to match - The value must be between 1 and 1024 characters - The pattern must start with a leading slash (\"/\") - There may be no more than 5 operators in pattern Precisely one of prefix_match, full_path_match, regex_match or path_template_match must be set.", + "type": "string" + }, + "prefixMatch": { + "description": "For satisfying the matchRule condition, the request's path must begin with the specified prefixMatch. prefixMatch must begin with a /. The value must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified.", + "type": "string" + }, + "queryParameterMatches": { + "description": "Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. Not supported when the URL map is bound to a target gRPC proxy.", + "items": { + "$ref": "HttpQueryParameterMatch" + }, + "type": "array" + }, + "regexMatch": { + "description": "For satisfying the matchRule condition, the path of the request must satisfy the regular expression specified in regexMatch after removing any query parameters and anchor supplied with the original URL. For more information about regular expression syntax, see Syntax. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED.", "type": "string" } }, "type": "object" }, - "HealthCheckService": { - "description": "Represents a Health-Check as a Service resource.", - "id": "HealthCheckService", + "HttpsHealthCheck": { + "description": "Represents a legacy HTTPS Health Check resource. Legacy HTTPS health checks have been deprecated. If you are using a target pool-based network load balancer, you must use a legacy HTTP (not HTTPS) health check. For all other load balancers, including backend service-based network load balancers, and for managed instance group auto-healing, you must use modern (non-legacy) health checks. For more information, see Health checks overview .", + "id": "HttpsHealthCheck", "properties": { + "checkIntervalSec": { + "description": "How often (in seconds) to send a health check. The default value is 5 seconds.", + "format": "int32", + "type": "integer" + }, "creationTimestamp": { "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" @@ -57693,41 +62148,13 @@ "description": "An optional description of this resource. Provide this property when you create the resource.", "type": "string" }, - "fingerprint": { - "description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a HealthCheckService. An up-to-date fingerprint must be provided in order to patch/update the HealthCheckService; Otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the HealthCheckService.", - "format": "byte", - "type": "string" - }, - "healthChecks": { - "description": "A list of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10 for regional HealthCheckService, and not more than 1 for global HealthCheckService. HealthCheck resources must have portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks must belong to the same region as zones of NetworkEndpointGroups. For global HealthCheckService using global INTERNET_IP_PORT NetworkEndpointGroups, the global HealthChecks must specify sourceRegions, and HealthChecks that specify sourceRegions can only be used with global INTERNET_IP_PORT NetworkEndpointGroups.", - "items": { - "type": "string" - }, - "type": "array" - }, - "healthStatusAggregationPolicy": { - "description": "Optional. Policy for how the results from multiple health checks for the same endpoint are aggregated. Defaults to NO_AGGREGATION if unspecified. - NO_AGGREGATION. An EndpointHealth message is returned for each pair in the health check service. - AND. If any health check of an endpoint reports UNHEALTHY, then UNHEALTHY is the HealthState of the endpoint. If all health checks report HEALTHY, the HealthState of the endpoint is HEALTHY. . This is only allowed with regional HealthCheckService.", - "enum": [ - "AND", - "NO_AGGREGATION" - ], - "enumDescriptions": [ - "If any backend's health check reports UNHEALTHY, then UNHEALTHY is the HealthState of the entire health check service. If all backend's are healthy, the HealthState of the health check service is HEALTHY.", - "An EndpointHealth message is returned for each backend in the health check service." - ], - "type": "string" + "healthyThreshold": { + "description": "A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.", + "format": "int32", + "type": "integer" }, - "healthStatusAggregationStrategy": { - "deprecated": true, - "description": "This field is deprecated. Use health_status_aggregation_policy instead. Policy for how the results from multiple health checks for the same endpoint are aggregated. - NO_AGGREGATION. An EndpointHealth message is returned for each backend in the health check service. - AND. If any backend's health check reports UNHEALTHY, then UNHEALTHY is the HealthState of the entire health check service. If all backend's are healthy, the HealthState of the health check service is HEALTHY. .", - "enum": [ - "AND", - "NO_AGGREGATION" - ], - "enumDescriptions": [ - "This is deprecated. Use health_status_aggregation_policy instead. If any backend's health check reports UNHEALTHY, then UNHEALTHY is the HealthState of the entire health check service. If all backend's are healthy, the HealthState of the health check service is HEALTHY.", - "This is deprecated. Use health_status_aggregation_policy instead. An EndpointHealth message is returned for each backend in the health check service." - ], + "host": { + "description": "The value of the host header in the HTTPS health check request. If left empty (default value), the public IP on behalf of which this health check is performed will be used.", "type": "string" }, "id": { @@ -57736,31 +62163,22 @@ "type": "string" }, "kind": { - "default": "compute#healthCheckService", - "description": "[Output only] Type of the resource. Always compute#healthCheckServicefor health check services.", + "default": "compute#httpsHealthCheck", + "description": "Type of the resource.", "type": "string" }, "name": { - "description": "Name of the resource. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, - "networkEndpointGroups": { - "description": "A list of URLs to the NetworkEndpointGroup resources. Must not have more than 100. For regional HealthCheckService, NEGs must be in zones in the region of the HealthCheckService. For global HealthCheckServices, the NetworkEndpointGroups must be global INTERNET_IP_PORT.", - "items": { - "type": "string" - }, - "type": "array" - }, - "notificationEndpoints": { - "description": "A list of URLs to the NotificationEndpoint resources. Must not have more than 10. A list of endpoints for receiving notifications of change in health status. For regional HealthCheckService, NotificationEndpoint must be regional and in the same region. For global HealthCheckService, NotificationEndpoint must be global.", - "items": { - "type": "string" - }, - "type": "array" + "port": { + "description": "The TCP port number for the HTTPS health check request. The default value is 443.", + "format": "int32", + "type": "integer" }, - "region": { - "description": "[Output Only] URL of the region where the health check service resides. This field is not applicable to global health check services. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "requestPath": { + "description": "The request path of the HTTPS health check request. The default value is \"/\". Must comply with RFC3986.", "type": "string" }, "selfLink": { @@ -57768,30 +62186,39 @@ "type": "string" }, "selfLinkWithId": { - "description": "[Output Only] Server-defined URL with id for the resource.", + "description": "[Output Only] Server-defined URL for this resource with the resource id.", "type": "string" + }, + "timeoutSec": { + "description": "How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have a greater value than checkIntervalSec.", + "format": "int32", + "type": "integer" + }, + "unhealthyThreshold": { + "description": "A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.", + "format": "int32", + "type": "integer" } }, "type": "object" }, - "HealthCheckServiceAggregatedList": { - "description": "Contains a list of HealthCheckServicesScopedList.", - "id": "HealthCheckServiceAggregatedList", + "HttpsHealthCheckList": { + "description": "Contains a list of HttpsHealthCheck resources.", + "id": "HttpsHealthCheckList", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "additionalProperties": { - "$ref": "HealthCheckServicesScopedList", - "description": "Name of the scope containing this set of HealthCheckServices." + "description": "A list of HttpsHealthCheck resources.", + "items": { + "$ref": "HttpsHealthCheck" }, - "description": "A list of HealthCheckServicesScopedList resources.", - "type": "object" + "type": "array" }, "kind": { - "default": "compute#healthCheckServiceAggregatedList", + "default": "compute#httpsHealthCheckList", "description": "Type of resource.", "type": "string" }, @@ -57803,13 +62230,6 @@ "description": "[Output Only] Server-defined URL for this resource.", "type": "string" }, - "unreachables": { - "description": "[Output Only] Unreachable resources.", - "items": { - "type": "string" - }, - "type": "array" - }, "warning": { "description": "[Output Only] Informational warning message.", "properties": { @@ -57837,6 +62257,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -57873,6 +62294,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -57897,6 +62319,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -57934,179 +62357,287 @@ }, "type": "object" }, - "HealthCheckServiceReference": { - "description": "A full or valid partial URL to a health check service. For example, the following are valid URLs: - https://www.googleapis.com/compute/beta/projects/project-id/regions/us-west1/healthCheckServices/health-check-service - projects/project-id/regions/us-west1/healthCheckServices/health-check-service - regions/us-west1/healthCheckServices/health-check-service ", - "id": "HealthCheckServiceReference", + "Image": { + "description": "Represents an Image resource. You can use images to create boot disks for your VM instances. For more information, read Images.", + "id": "Image", "properties": { - "healthCheckService": { + "architecture": { + "description": "The architecture of the image. Valid values are ARM64 or X86_64.", + "enum": [ + "ARCHITECTURE_UNSPECIFIED", + "ARM64", + "X86_64" + ], + "enumDescriptions": [ + "Default value indicating Architecture is not set.", + "Machines with architecture ARM64", + "Machines with architecture X86_64" + ], "type": "string" - } - }, - "type": "object" - }, - "HealthCheckServicesList": { - "id": "HealthCheckServicesList", - "properties": { - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", + }, + "archiveSizeBytes": { + "description": "Size of the image tar.gz archive stored in Google Cloud Storage (in bytes).", + "format": "int64", "type": "string" }, - "items": { - "description": "A list of HealthCheckService resources.", + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "deprecated": { + "$ref": "DeprecationStatus", + "description": "The deprecation status associated with this image." + }, + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", + "type": "string" + }, + "diskSizeGb": { + "description": "Size of the image when restored onto a persistent disk (in GB).", + "format": "int64", + "type": "string" + }, + "enableConfidentialCompute": { + "description": "Whether this image is created from a confidential compute mode disk. [Output Only]: This field is not set by user, but from source disk.", + "type": "boolean" + }, + "family": { + "description": "The name of the image family to which this image belongs. The image family name can be from a publicly managed image family provided by Compute Engine, or from a custom image family you create. For example, centos-stream-9 is a publicly available image family. For more information, see Image family best practices. When creating disks, you can specify an image family instead of a specific image name. The image family always returns its latest image that is not deprecated. The name of the image family must comply with RFC1035.", + "type": "string" + }, + "guestOsFeatures": { + "description": "A list of features to enable on the guest operating system. Applicable only for bootable images. To see a list of available options, see the guestOSfeatures[].type parameter.", "items": { - "$ref": "HealthCheckService" + "$ref": "GuestOsFeature" }, "type": "array" }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64", + "type": "string" + }, + "imageEncryptionKey": { + "$ref": "CustomerEncryptionKey", + "description": "Encrypts the image using a customer-supplied encryption key. After you encrypt an image with a customer-supplied key, you must provide the same key if you use the image later (e.g. to create a disk from the image). Customer-supplied encryption keys do not protect access to metadata of the disk. If you do not provide an encryption key when creating the image, then the disk will be encrypted using an automatically generated key and you do not need to provide a key to use the image later." + }, "kind": { - "default": "compute#healthCheckServicesList", - "description": "[Output Only] Type of the resource. Always compute#healthCheckServicesList for lists of HealthCheckServices.", + "default": "compute#image", + "description": "[Output Only] Type of the resource. Always compute#image for images.", "type": "string" }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "labelFingerprint": { + "description": "A fingerprint for the labels being applied to this image, which is essentially a hash of the labels used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an image.", + "format": "byte", "type": "string" }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels to apply to this image. These can be later modified by the setLabels method.", + "type": "object" + }, + "licenseCodes": { + "description": "Integer license codes indicating which licenses are attached to this image.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "licenses": { + "description": "Any applicable license URI.", + "items": { + "type": "string" + }, + "type": "array" + }, + "locked": { + "description": "A flag for marketplace VM disk created from the image, which is designed for marketplace VM disk to prevent the proprietary data on the disk from being accessed unwantedly. The flag will be inherited by the disk created from the image. The disk with locked flag set to true will be prohibited from performing the operations below: - R/W or R/O disk attach - Disk detach, if disk is created via create-on-create - Create images - Create snapshots - Create disk clone (create disk from the current disk) The image with the locked field set to true will be prohibited from performing the operations below: - Create images from the current image - Update the locked field for the current image The instance with at least one disk with locked flag set to true will be prohibited from performing the operations below: - Secondary disk attach - Create instant snapshot - Create machine images - Create instance template - Delete the instance with --keep-disk parameter set to true ", + "type": "boolean" + }, + "name": { + "annotations": { + "required": [ + "compute.images.insert" + ] + }, + "description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, - "warning": { - "description": "[Output Only] Informational warning message.", + "rawDisk": { + "description": "The parameters of the raw disk image.", "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "containerType": { + "description": "The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.", "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false + "TAR" ], "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." + "" ], "type": "string" }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" + "sha1Checksum": { + "deprecated": true, + "description": "[Deprecated] This field is deprecated. An optional SHA1 checksum of the disk image before unpackaging provided by the client when the disk image is created.", + "pattern": "[a-f0-9]{40}", + "type": "string" }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", + "source": { + "description": "The full Google Cloud Storage URL where the raw disk image archive is stored. The following are valid formats for the URL: - https://storage.googleapis.com/bucket_name/image_archive_name - https://storage.googleapis.com/bucket_name/folder_name/ image_archive_name In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL ", "type": "string" } }, "type": "object" + }, + "rolloutOverride": { + "$ref": "RolloutPolicy", + "description": "A rollout policy to apply to this image. When specified, the rollout policy overrides per-zone references to the image via the associated image family. The rollout policy restricts the zones where this image is accessible when using a zonal image family reference. When the rollout policy does not include the user specified zone, or if the zone is rolled out, this image is accessible. The rollout policy for this image is read-only, except for allowlisted users. This field might not be configured. To view the latest non-deprecated image in a specific zone, use the imageFamilyViews.get method." + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzs": { + "description": "[Output Only] Reserved for future use.", + "type": "boolean" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + }, + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource's resource id.", + "type": "string" + }, + "shieldedInstanceInitialState": { + "$ref": "InitialStateConfig", + "description": "Set the secure boot keys of shielded instance." + }, + "sourceDisk": { + "description": "URL of the source disk used to create this image. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/disks/disk In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL ", + "type": "string" + }, + "sourceDiskEncryptionKey": { + "$ref": "CustomerEncryptionKey", + "description": "The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key." + }, + "sourceDiskId": { + "description": "[Output Only] The ID value of the disk used to create this image. This value may be used to determine whether the image was taken from the current or a previous instance of a given disk name.", + "type": "string" + }, + "sourceImage": { + "description": "URL of the source image used to create this image. The following are valid formats for the URL: - https://www.googleapis.com/compute/v1/projects/project_id/global/ images/image_name - projects/project_id/global/images/image_name In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL ", + "type": "string" + }, + "sourceImageEncryptionKey": { + "$ref": "CustomerEncryptionKey", + "description": "The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key." + }, + "sourceImageId": { + "description": "[Output Only] The ID value of the image used to create this image. This value may be used to determine whether the image was taken from the current or a previous instance of a given image name.", + "type": "string" + }, + "sourceSnapshot": { + "description": "URL of the source snapshot used to create this image. The following are valid formats for the URL: - https://www.googleapis.com/compute/v1/projects/project_id/global/ snapshots/snapshot_name - projects/project_id/global/snapshots/snapshot_name In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL ", + "type": "string" + }, + "sourceSnapshotEncryptionKey": { + "$ref": "CustomerEncryptionKey", + "description": "The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key." + }, + "sourceSnapshotId": { + "description": "[Output Only] The ID value of the snapshot used to create this image. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given snapshot name.", + "type": "string" + }, + "sourceType": { + "default": "RAW", + "description": "The type of the image used to create this disk. The default and only valid value is RAW.", + "enum": [ + "RAW" + ], + "enumDescriptions": [ + "" + ], + "type": "string" + }, + "status": { + "description": "[Output Only] The status of the image. An image can be used to create other resources, such as instances, only after the image has been successfully created and the status is set to READY. Possible values are FAILED, PENDING, or READY.", + "enum": [ + "DELETING", + "FAILED", + "PENDING", + "READY" + ], + "enumDescriptions": [ + "Image is deleting.", + "Image creation failed due to an error.", + "Image hasn't been created as yet.", + "Image has been successfully created." + ], + "type": "string" + }, + "storageLocations": { + "description": "Cloud Storage bucket storage location of the image (regional or multi-regional).", + "items": { + "type": "string" + }, + "type": "array" + }, + "userLicenses": { + "description": "A list of publicly visible user-licenses. Unlike regular licenses, user provided licenses can be modified after the disk is created. This includes a list of URLs to the license resource. For example, to provide a debian license: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/licenses/debian-9-stretch ", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ImageFamilyView": { + "id": "ImageFamilyView", + "properties": { + "image": { + "$ref": "Image", + "description": "The latest image that is part of the specified image family in the requested location, and that is not deprecated." } }, "type": "object" }, - "HealthCheckServicesScopedList": { - "id": "HealthCheckServicesScopedList", + "ImageList": { + "description": "Contains a list of images.", + "id": "ImageList", "properties": { - "resources": { - "description": "A list of HealthCheckServices contained in this scope.", + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of Image resources.", "items": { - "$ref": "HealthCheckService" + "$ref": "Image" }, "type": "array" }, + "kind": { + "default": "compute#imageList", + "description": "Type of resource.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, "warning": { - "description": "Informational warning which replaces the list of backend services when the list is empty.", + "description": "[Output Only] Informational warning message.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", @@ -58132,6 +62663,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -58168,6 +62700,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -58192,6 +62725,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -58229,177 +62763,396 @@ }, "type": "object" }, - "HealthChecksAggregatedList": { - "id": "HealthChecksAggregatedList", + "InitialStateConfig": { + "description": "Initial State for shielded instance, these are public keys which are safe to store in public", + "id": "InitialStateConfig", + "properties": { + "dbs": { + "description": "The Key Database (db).", + "items": { + "$ref": "FileContentBuffer" + }, + "type": "array" + }, + "dbxs": { + "description": "The forbidden key database (dbx).", + "items": { + "$ref": "FileContentBuffer" + }, + "type": "array" + }, + "keks": { + "description": "The Key Exchange Key (KEK).", + "items": { + "$ref": "FileContentBuffer" + }, + "type": "array" + }, + "pk": { + "$ref": "FileContentBuffer", + "description": "The Platform Key (PK)." + } + }, + "type": "object" + }, + "Instance": { + "description": "Represents an Instance resource. An instance is a virtual machine that is hosted on Google Cloud Platform. For more information, read Virtual Machine Instances.", + "id": "Instance", "properties": { + "advancedMachineFeatures": { + "$ref": "AdvancedMachineFeatures", + "description": "Controls for advanced machine-related behavior features." + }, + "canIpForward": { + "description": "Allows this instance to send and receive packets with non-matching destination or source IPs. This is required if you plan to use this instance to forward routes. For more information, see Enabling IP Forwarding .", + "type": "boolean" + }, + "confidentialInstanceConfig": { + "$ref": "ConfidentialInstanceConfig" + }, + "cpuPlatform": { + "description": "[Output Only] The CPU platform used by this instance.", + "type": "string" + }, + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "deletionProtection": { + "description": "Whether the resource should be protected against deletion.", + "type": "boolean" + }, + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", + "type": "string" + }, + "disks": { + "description": "Array of disks associated with this instance. Persistent disks must be created before you can assign them.", + "items": { + "$ref": "AttachedDisk" + }, + "type": "array" + }, + "displayDevice": { + "$ref": "DisplayDevice", + "description": "Enables display device for the instance." + }, + "eraseWindowsVssSignature": { + "description": "Specifies whether the disks restored from source snapshots or source machine image should erase Windows specific VSS signature.", + "type": "boolean" + }, + "fingerprint": { + "description": "Specifies a fingerprint for this resource, which is essentially a hash of the instance's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update the instance. You must always provide an up-to-date fingerprint hash in order to update the instance. To see the latest fingerprint, make get() request to the instance.", + "format": "byte", + "type": "string" + }, + "guestAccelerators": { + "description": "A list of the type and count of accelerator cards attached to the instance.", + "items": { + "$ref": "AcceleratorConfig" + }, + "type": "array" + }, + "hostname": { + "description": "Specifies the hostname of the instance. The specified hostname must be RFC1035 compliant. If hostname is not specified, the default hostname is [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS.", + "type": "string" + }, "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64", "type": "string" }, - "items": { + "instanceEncryptionKey": { + "$ref": "CustomerEncryptionKey", + "description": "Encrypts suspended data for an instance with a customer-managed encryption key. If you are creating a new instance, this field will encrypt the local SSD and in-memory contents of the instance during the suspend operation. If you do not provide an encryption key when creating the instance, then the local SSD and in-memory contents will be encrypted using an automatically generated key during the suspend operation." + }, + "keyRevocationActionType": { + "description": "KeyRevocationActionType of the instance. Supported options are \"STOP\" and \"NONE\". The default value is \"NONE\" if it is not specified.", + "enum": [ + "KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", + "NONE", + "STOP" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Indicates user chose no operation.", + "Indicates user chose to opt for VM shutdown on key revocation." + ], + "type": "string" + }, + "kind": { + "default": "compute#instance", + "description": "[Output Only] Type of the resource. Always compute#instance for instances.", + "type": "string" + }, + "labelFingerprint": { + "description": "A fingerprint for this request, which is essentially a hash of the label's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make get() request to the instance.", + "format": "byte", + "type": "string" + }, + "labels": { "additionalProperties": { - "$ref": "HealthChecksScopedList", - "description": "Name of the scope containing this set of HealthChecks." + "type": "string" }, - "description": "A list of HealthChecksScopedList resources.", + "description": "Labels to apply to this instance. These can be later modified by the setLabels method.", "type": "object" }, - "kind": { - "default": "compute#healthChecksAggregatedList", - "description": "Type of resource.", + "lastStartTimestamp": { + "description": "[Output Only] Last start timestamp in RFC3339 text format.", "type": "string" }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "lastStopTimestamp": { + "description": "[Output Only] Last stop timestamp in RFC3339 text format.", + "type": "string" + }, + "lastSuspendedTimestamp": { + "description": "[Output Only] Last suspended timestamp in RFC3339 text format.", + "type": "string" + }, + "machineType": { + "description": "Full or partial URL of the machine type resource to use for this instance, in the format: zones/zone/machineTypes/machine-type. This is provided by the client when the instance is created. For example, the following is a valid partial url to a predefined machine type: zones/us-central1-f/machineTypes/n1-standard-1 To create a custom machine type, provide a URL to a machine type in the following format, where CPUS is 1 or an even number up to 32 (2, 4, 6, ... 24, etc), and MEMORY is the total memory for this instance. Memory must be a multiple of 256 MB and must be supplied in MB (e.g. 5 GB of memory is 5120 MB): zones/zone/machineTypes/custom-CPUS-MEMORY For example: zones/us-central1-f/machineTypes/custom-4-5120 For a full list of restrictions, read the Specifications for custom machine types.", + "type": "string" + }, + "metadata": { + "$ref": "Metadata", + "description": "The metadata key/value pairs assigned to this instance. This includes custom metadata and predefined keys." + }, + "minCpuPlatform": { + "description": "Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: \"Intel Haswell\" or minCpuPlatform: \"Intel Sandy Bridge\".", + "type": "string" + }, + "name": { + "annotations": { + "required": [ + "compute.instances.insert" + ] + }, + "description": "The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "networkInterfaces": { + "description": "An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.", + "items": { + "$ref": "NetworkInterface" + }, + "type": "array" + }, + "networkPerformanceConfig": { + "$ref": "NetworkPerformanceConfig" + }, + "params": { + "$ref": "InstanceParams", + "description": "Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload." + }, + "partnerMetadata": { + "additionalProperties": { + "$ref": "StructuredEntries" + }, + "description": "Partner Metadata assigned to the instance. A map from a subdomain (namespace) to entries map.", + "type": "object" + }, + "postKeyRevocationActionType": { + "description": "PostKeyRevocationActionType of the instance.", + "enum": [ + "NOOP", + "POST_KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", + "SHUTDOWN" + ], + "enumDescriptions": [ + "Indicates user chose no operation.", + "Default value. This value is unused.", + "Indicates user chose to opt for VM shutdown on key revocation." + ], + "type": "string" + }, + "preservedStateSizeGb": { + "description": "Total amount of preserved state for SUSPENDED instances. Read-only in the api.", + "format": "int64", + "type": "string" + }, + "privateIpv6GoogleAccess": { + "description": "The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default.", + "enum": [ + "ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE", + "ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE", + "INHERIT_FROM_SUBNETWORK" + ], + "enumDescriptions": [ + "Bidirectional private IPv6 access to/from Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.", + "Outbound private IPv6 access from VMs in this subnet to Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.", + "Each network interface inherits PrivateIpv6GoogleAccess from its subnetwork." + ], "type": "string" }, + "reservationAffinity": { + "$ref": "ReservationAffinity", + "description": "Specifies the reservations that this instance can consume from." + }, + "resourcePolicies": { + "description": "Resource policies applied to this instance.", + "items": { + "type": "string" + }, + "type": "array" + }, + "resourceStatus": { + "$ref": "ResourceStatus", + "description": "[Output Only] Specifies values set for instance attributes as compared to the values requested by user in the corresponding input only field." + }, + "satisfiesPzi": { + "description": "[Output Only] Reserved for future use.", + "type": "boolean" + }, + "satisfiesPzs": { + "description": "[Output Only] Reserved for future use.", + "type": "boolean" + }, + "scheduling": { + "$ref": "Scheduling", + "description": "Sets the scheduling options for this instance." + }, + "secureTags": { + "description": "[Input Only] Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 50.", + "items": { + "type": "string" + }, + "type": "array" + }, "selfLink": { "description": "[Output Only] Server-defined URL for this resource.", "type": "string" }, - "unreachables": { - "description": "[Output Only] Unreachable resources.", + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "type": "string" + }, + "serviceAccounts": { + "description": "A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information.", "items": { - "type": "string" + "$ref": "ServiceAccount" }, "type": "array" }, - "warning": { - "description": "[Output Only] Informational warning message.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } + "serviceIntegrationSpecs": { + "additionalProperties": { + "$ref": "ServiceIntegrationSpec" }, + "description": "Mapping of user-defined keys to specifications for service integrations. Currently only a single key-value pair is supported.", "type": "object" + }, + "shieldedInstanceConfig": { + "$ref": "ShieldedInstanceConfig" + }, + "shieldedInstanceIntegrityPolicy": { + "$ref": "ShieldedInstanceIntegrityPolicy" + }, + "shieldedVmConfig": { + "$ref": "ShieldedVmConfig", + "description": "Deprecating, please use shielded_instance_config." + }, + "shieldedVmIntegrityPolicy": { + "$ref": "ShieldedVmIntegrityPolicy", + "description": "Deprecating, please use shielded_instance_integrity_policy." + }, + "sourceMachineImage": { + "description": "Source machine image", + "type": "string" + }, + "sourceMachineImageEncryptionKey": { + "$ref": "CustomerEncryptionKey", + "description": "Source machine image encryption key when creating an instance from a machine image." + }, + "startRestricted": { + "description": "[Output Only] Whether a VM has been restricted for start because Compute Engine has detected suspicious activity.", + "type": "boolean" + }, + "status": { + "description": "[Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.", + "enum": [ + "DEPROVISIONING", + "PENDING_STOP", + "PROVISIONING", + "REPAIRING", + "RUNNING", + "STAGING", + "STOPPED", + "STOPPING", + "SUSPENDED", + "SUSPENDING", + "TERMINATED" + ], + "enumDescriptions": [ + "The instance is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.", + "The instance is gracefully shutting down.", + "Resources are being allocated for the instance.", + "The instance is in repair.", + "The instance is running.", + "All required resources have been allocated and the instance is being started.", + "The instance has stopped successfully.", + "The instance is currently stopping (either being deleted or killed).", + "The instance has suspended.", + "The instance is suspending.", + "The instance has stopped (either by explicit action or underlying failure)." + ], + "type": "string" + }, + "statusMessage": { + "description": "[Output Only] An optional, human-readable explanation of the status.", + "type": "string" + }, + "tags": { + "$ref": "Tags", + "description": "Tags to apply to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035. Multiple tags can be specified via the 'tags.items' field." + }, + "upcomingMaintenance": { + "$ref": "UpcomingMaintenance", + "description": "[Output Only] DEPRECATED: Please use resource_status.upcoming_maintenance instead. Specifies upcoming maintenance for the instance." + }, + "zone": { + "description": "[Output Only] URL of the zone where the instance resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "type": "string" } }, "type": "object" }, - "HealthChecksScopedList": { - "id": "HealthChecksScopedList", + "InstanceAggregatedList": { + "id": "InstanceAggregatedList", "properties": { - "healthChecks": { - "description": "A list of HealthChecks contained in this scope.", + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "additionalProperties": { + "$ref": "InstancesScopedList", + "description": "[Output Only] Name of the scope containing this set of instances." + }, + "description": "An object that contains a list of instances scoped by zone.", + "type": "object" + }, + "kind": { + "default": "compute#instanceAggregatedList", + "description": "[Output Only] Type of resource. Always compute#instanceAggregatedList for aggregated lists of Instance resources.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "[Output Only] Unreachable resources.", "items": { - "$ref": "HealthCheck" + "type": "string" }, "type": "array" }, "warning": { - "description": "Informational warning which replaces the list of backend services when the list is empty.", + "description": "[Output Only] Informational warning message.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", @@ -58425,6 +63178,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -58461,6 +63215,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -58485,6 +63240,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -58522,439 +63278,302 @@ }, "type": "object" }, - "HealthStatus": { - "id": "HealthStatus", + "InstanceConsumptionData": { + "id": "InstanceConsumptionData", "properties": { - "annotations": { - "additionalProperties": { - "type": "string" - }, - "description": "Metadata defined as annotations for network endpoint.", - "type": "object" - }, - "forwardingRule": { - "description": "URL of the forwarding rule associated with the health status of the instance.", - "type": "string" - }, - "forwardingRuleIp": { - "description": "A forwarding rule IP address assigned to this instance.", - "type": "string" - }, - "healthState": { - "description": "Health state of the IPv4 address of the instance.", - "enum": [ - "HEALTHY", - "UNHEALTHY" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" + "consumptionInfo": { + "$ref": "InstanceConsumptionInfo", + "description": "Resources consumed by the instance." }, "instance": { - "description": "URL of the instance resource.", - "type": "string" - }, - "ipAddress": { - "description": "For target pool based Network Load Balancing, it indicates the forwarding rule's IP address assigned to this instance. For other types of load balancing, the field indicates VM internal ip.", - "type": "string" - }, - "ipv6Address": { - "type": "string" - }, - "ipv6HealthState": { - "description": "Health state of the IPv6 address of the instance.", - "enum": [ - "HEALTHY", - "UNHEALTHY" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "port": { - "description": "The named port of the instance group, not necessarily the port that is health-checked.", - "format": "int32", - "type": "integer" - }, - "weight": { - "type": "string" - }, - "weightError": { - "enum": [ - "INVALID_WEIGHT", - "MISSING_WEIGHT", - "UNAVAILABLE_WEIGHT", - "WEIGHT_NONE" - ], - "enumDescriptions": [ - "The response to a Health Check probe had the HTTP response header field X-Load-Balancing-Endpoint-Weight, but its content was invalid (i.e., not a non-negative single-precision floating-point number in decimal string representation).", - "The response to a Health Check probe did not have the HTTP response header field X-Load-Balancing-Endpoint-Weight.", - "This is the value when the accompanied health status is either TIMEOUT (i.e.,the Health Check probe was not able to get a response in time) or UNKNOWN. For the latter, it should be typically because there has not been sufficient time to parse and report the weight for a new backend (which is with 0.0.0.0 ip address). However, it can be also due to an outage case for which the health status is explicitly reset to UNKNOWN.", - "This is the default value when WeightReportMode is DISABLE, and is also the initial value when WeightReportMode has just updated to ENABLE or DRY_RUN and there has not been sufficient time to parse and report the backend weight." - ], + "description": "Server-defined URL for the instance.", "type": "string" } }, "type": "object" }, - "HealthStatusForNetworkEndpoint": { - "id": "HealthStatusForNetworkEndpoint", + "InstanceConsumptionInfo": { + "id": "InstanceConsumptionInfo", "properties": { - "backendService": { - "$ref": "BackendServiceReference", - "description": "URL of the backend service associated with the health state of the network endpoint." - }, - "forwardingRule": { - "$ref": "ForwardingRuleReference", - "description": "URL of the forwarding rule associated with the health state of the network endpoint." - }, - "healthCheck": { - "$ref": "HealthCheckReference", - "description": "URL of the health check associated with the health state of the network endpoint." + "guestCpus": { + "description": "The number of virtual CPUs that are available to the instance.", + "format": "int32", + "type": "integer" }, - "healthCheckService": { - "$ref": "HealthCheckServiceReference", - "description": "URL of the health check service associated with the health state of the network endpoint." + "localSsdGb": { + "description": "The amount of local SSD storage available to the instance, defined in GiB.", + "format": "int32", + "type": "integer" }, - "healthState": { - "description": "Health state of the network endpoint determined based on the health checks configured.", - "enum": [ - "DRAINING", - "HEALTHY", - "UNHEALTHY", - "UNKNOWN" - ], - "enumDescriptions": [ - "Endpoint is being drained.", - "Endpoint is healthy.", - "Endpoint is unhealthy.", - "Health status of the endpoint is unknown." - ], - "type": "string" + "memoryMb": { + "description": "The amount of physical memory available to the instance, defined in MiB.", + "format": "int32", + "type": "integer" }, - "ipv6HealthState": { - "description": "Health state of the ipv6 network endpoint determined based on the health checks configured.", - "enum": [ - "DRAINING", - "HEALTHY", - "UNHEALTHY", - "UNKNOWN" - ], - "enumDescriptions": [ - "Endpoint is being drained.", - "Endpoint is healthy.", - "Endpoint is unhealthy.", - "Health status of the endpoint is unknown." - ], - "type": "string" - } - }, - "type": "object" - }, - "Help": { - "description": "Provides links to documentation or for performing an out of band action. For example, if a quota check failed with an error indicating the calling project hasn't enabled the accessed service, this can contain a URL pointing directly to the right place in the developer console to flip the bit.", - "id": "Help", - "properties": { - "links": { - "description": "URL(s) pointing to additional information on handling the current error.", - "items": { - "$ref": "HelpLink" - }, - "type": "array" + "minNodeCpus": { + "description": "The minimal guaranteed number of virtual CPUs that are reserved.", + "format": "int32", + "type": "integer" } }, "type": "object" }, - "HelpLink": { - "description": "Describes a URL link.", - "id": "HelpLink", + "InstanceGroup": { + "description": "Represents an Instance Group resource. Instance Groups can be used to configure a target for load balancing. Instance groups can either be managed or unmanaged. To create managed instance groups, use the instanceGroupManager or regionInstanceGroupManager resource instead. Use zonal unmanaged instance groups if you need to apply load balancing to groups of heterogeneous instances or if you need to manage the instances yourself. You cannot create regional unmanaged instance groups. For more information, read Instance groups.", + "id": "InstanceGroup", "properties": { - "description": { - "description": "Describes what the link offers.", + "creationTimestamp": { + "description": "[Output Only] The creation timestamp for this instance group in RFC3339 text format.", "type": "string" }, - "url": { - "description": "The URL of the link.", - "type": "string" - } - }, - "type": "object" - }, - "HostRule": { - "description": "UrlMaps A host-matching rule for a URL. If matched, will use the named PathMatcher to select the BackendService.", - "id": "HostRule", - "properties": { "description": { "description": "An optional description of this resource. Provide this property when you create the resource.", "type": "string" }, - "hosts": { - "description": "The list of host patterns to match. They must be valid hostnames with optional port numbers in the format host:port. * matches any string of ([a-z0-9-.]*). In that case, * must be the first character, and if followed by anything, the immediate following character must be either - or .. * based matching is not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.", - "items": { - "type": "string" - }, - "type": "array" - }, - "pathMatcher": { - "description": "The name of the PathMatcher to use to match the path portion of the URL if the hostRule matches the URL's host portion.", - "type": "string" - } - }, - "type": "object" - }, - "HttpFaultAbort": { - "description": "Specification for how requests are aborted as part of fault injection.", - "id": "HttpFaultAbort", - "properties": { - "httpStatus": { - "description": "The HTTP status code used to abort the request. The value must be from 200 to 599 inclusive. For gRPC protocol, the gRPC status code is mapped to HTTP status code according to this mapping table. HTTP status 200 is mapped to gRPC status UNKNOWN. Injecting an OK status is currently not supported by Traffic Director.", - "format": "uint32", - "type": "integer" - }, - "percentage": { - "description": "The percentage of traffic for connections, operations, or requests that is aborted as part of fault injection. The value must be from 0.0 to 100.0 inclusive.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "HttpFaultDelay": { - "description": "Specifies the delay introduced by the load balancer before forwarding the request to the backend service as part of fault injection.", - "id": "HttpFaultDelay", - "properties": { - "fixedDelay": { - "$ref": "Duration", - "description": "Specifies the value of the fixed delay interval." - }, - "percentage": { - "description": "The percentage of traffic for connections, operations, or requests for which a delay is introduced as part of fault injection. The value must be from 0.0 to 100.0 inclusive.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "HttpFaultInjection": { - "description": "The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by the load balancer on a percentage of requests before sending those request to the backend service. Similarly requests from clients can be aborted by the load balancer for a percentage of requests.", - "id": "HttpFaultInjection", - "properties": { - "abort": { - "$ref": "HttpFaultAbort", - "description": "The specification for how client requests are aborted as part of fault injection." - }, - "delay": { - "$ref": "HttpFaultDelay", - "description": "The specification for how client requests are delayed as part of fault injection, before being sent to a backend service." - } - }, - "type": "object" - }, - "HttpFilterConfig": { - "description": "HttpFilterConfiguration supplies additional contextual settings for networkservices.HttpFilter resources enabled by Traffic Director.", - "id": "HttpFilterConfig", - "properties": { - "config": { - "description": "The configuration needed to enable the networkservices.HttpFilter resource. The configuration must be YAML formatted and only contain fields defined in the protobuf identified in configTypeUrl", + "fingerprint": { + "description": "[Output Only] The fingerprint of the named ports. The system uses this fingerprint to detect conflicts when multiple users change the named ports concurrently.", + "format": "byte", "type": "string" }, - "configTypeUrl": { - "description": "The fully qualified versioned proto3 type url of the protobuf that the filter expects for its contextual settings, for example: type.googleapis.com/google.protobuf.Struct", + "id": { + "description": "[Output Only] A unique identifier for this instance group, generated by the server.", + "format": "uint64", "type": "string" }, - "filterName": { - "description": "Name of the networkservices.HttpFilter resource this configuration belongs to. This name must be known to the xDS client. Example: envoy.wasm", + "kind": { + "default": "compute#instanceGroup", + "description": "[Output Only] The resource type, which is always compute#instanceGroup for instance groups.", "type": "string" - } - }, - "type": "object" - }, - "HttpHeaderAction": { - "description": "The request and response header transformations that take effect before the request is passed along to the selected backendService.", - "id": "HttpHeaderAction", - "properties": { - "requestHeadersToAdd": { - "description": "Headers to add to a matching request before forwarding the request to the backendService.", - "items": { - "$ref": "HttpHeaderOption" - }, - "type": "array" }, - "requestHeadersToRemove": { - "description": "A list of header names for headers that need to be removed from the request before forwarding the request to the backendService.", - "items": { - "type": "string" + "name": { + "annotations": { + "required": [ + "compute.instanceGroups.insert" + ] }, - "type": "array" + "description": "The name of the instance group. The name must be 1-63 characters long, and comply with RFC1035.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" }, - "responseHeadersToAdd": { - "description": "Headers to add the response before sending the response back to the client.", + "namedPorts": { + "description": " Assigns a name to a port number. For example: {name: \"http\", port: 80} This allows the system to reference ports by the assigned name instead of a port number. Named ports can also contain multiple ports. For example: [{name: \"app1\", port: 8080}, {name: \"app1\", port: 8081}, {name: \"app2\", port: 8082}] Named ports apply to all instances in this instance group. ", "items": { - "$ref": "HttpHeaderOption" + "$ref": "NamedPort" }, "type": "array" }, - "responseHeadersToRemove": { - "description": "A list of header names for headers that need to be removed from the response before sending the response back to the client.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "HttpHeaderMatch": { - "description": "matchRule criteria for request header matches.", - "id": "HttpHeaderMatch", - "properties": { - "exactMatch": { - "description": "The value should exactly match contents of exactMatch. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.", + "network": { + "description": "[Output Only] The URL of the network to which all instances in the instance group belong. If your instance has multiple network interfaces, then the network and subnetwork fields only refer to the network and subnet used by your primary interface (nic0).", "type": "string" }, - "headerName": { - "description": "The name of the HTTP header to match. For matching against the HTTP request's authority, use a headerMatch with the header name \":authority\". For matching a request's method, use the headerName \":method\". When the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true, only non-binary user-specified custom metadata and the `content-type` header are supported. The following transport-level headers cannot be used in header matching rules: `:authority`, `:method`, `:path`, `:scheme`, `user-agent`, `accept-encoding`, `content-encoding`, `grpc-accept-encoding`, `grpc-encoding`, `grpc-previous-rpc-attempts`, `grpc-tags-bin`, `grpc-timeout` and `grpc-trace-bin`.", + "region": { + "description": "[Output Only] The URL of the region where the instance group is located (for regional resources).", "type": "string" }, - "invertMatch": { - "description": "If set to false, the headerMatch is considered a match if the preceding match criteria are met. If set to true, the headerMatch is considered a match if the preceding match criteria are NOT met. The default setting is false. ", - "type": "boolean" - }, - "prefixMatch": { - "description": "The value of the header must start with the contents of prefixMatch. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.", + "selfLink": { + "description": "[Output Only] The URL for this instance group. The server generates this URL.", "type": "string" }, - "presentMatch": { - "description": "A header with the contents of headerName must exist. The match takes place whether or not the request's header has a value. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.", - "type": "boolean" - }, - "rangeMatch": { - "$ref": "Int64RangeMatch", - "description": "The header value must be an integer and its value must be in the range specified in rangeMatch. If the header does not contain an integer, number or is empty, the match fails. For example for a range [-5, 0] - -3 will match. - 0 will not match. - 0.25 will not match. - -3someString will not match. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set. rangeMatch is not supported for load balancers that have loadBalancingScheme set to EXTERNAL." - }, - "regexMatch": { - "description": "The value of the header must match the regular expression specified in regexMatch. For more information about regular expression syntax, see Syntax. For matching against a port specified in the HTTP request, use a headerMatch with headerName set to PORT and a regular expression that satisfies the RFC2616 Host header's port specifier. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED.", + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource with the resource id.", "type": "string" }, - "suffixMatch": { - "description": "The value of the header must end with the contents of suffixMatch. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.", - "type": "string" - } - }, - "type": "object" - }, - "HttpHeaderOption": { - "description": "Specification determining how headers are added to requests or responses.", - "id": "HttpHeaderOption", - "properties": { - "headerName": { - "description": "The name of the header.", - "type": "string" + "size": { + "description": "[Output Only] The total number of instances in the instance group.", + "format": "int32", + "type": "integer" }, - "headerValue": { - "description": "The value of the header to add.", + "subnetwork": { + "description": "[Output Only] The URL of the subnetwork to which all instances in the instance group belong. If your instance has multiple network interfaces, then the network and subnetwork fields only refer to the network and subnet used by your primary interface (nic0).", "type": "string" }, - "replace": { - "description": "If false, headerValue is appended to any values that already exist for the header. If true, headerValue is set for the header, discarding any values that were set for that header. The default value is false. ", - "type": "boolean" + "zone": { + "description": "[Output Only] The URL of the zone where the instance group is located (for zonal resources).", + "type": "string" } }, "type": "object" }, - "HttpHealthCheck": { - "description": "Represents a legacy HTTP Health Check resource. Legacy HTTP health checks are now only required by target pool-based network load balancers. For all other load balancers, including backend service-based network load balancers, and for managed instance group auto-healing, you must use modern (non-legacy) health checks. For more information, see Health checks overview .", - "id": "HttpHealthCheck", + "InstanceGroupAggregatedList": { + "id": "InstanceGroupAggregatedList", "properties": { - "checkIntervalSec": { - "description": "How often (in seconds) to send a health check. The default value is 5 seconds.", - "format": "int32", - "type": "integer" - }, - "creationTimestamp": { - "description": "[Output Only] Creation timestamp in RFC3339 text format.", - "type": "string" - }, - "description": { - "description": "An optional description of this resource. Provide this property when you create the resource.", - "type": "string" - }, - "healthyThreshold": { - "description": "A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.", - "format": "int32", - "type": "integer" - }, - "host": { - "description": "The value of the host header in the HTTP health check request. If left empty (default value), the public IP on behalf of which this health check is performed will be used.", - "type": "string" - }, "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", - "format": "uint64", + "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, - "kind": { - "default": "compute#httpHealthCheck", - "description": "[Output Only] Type of the resource. Always compute#httpHealthCheck for HTTP health checks.", - "type": "string" + "items": { + "additionalProperties": { + "$ref": "InstanceGroupsScopedList", + "description": "The name of the scope that contains this set of instance groups." + }, + "description": "A list of InstanceGroupsScopedList resources.", + "type": "object" }, - "name": { - "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "kind": { + "default": "compute#instanceGroupAggregatedList", + "description": "[Output Only] The resource type, which is always compute#instanceGroupAggregatedList for aggregated lists of instance groups.", "type": "string" }, - "port": { - "description": "The TCP port number for the HTTP health check request. The default value is 80.", - "format": "int32", - "type": "integer" - }, - "requestPath": { - "description": "The request path of the HTTP health check request. The default value is /. This field does not support query parameters. Must comply with RFC3986.", + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", "type": "string" }, "selfLink": { - "description": "[Output Only] Server-defined URL for the resource.", - "type": "string" - }, - "selfLinkWithId": { - "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "description": "[Output Only] Server-defined URL for this resource.", "type": "string" }, - "timeoutSec": { - "description": "How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have greater value than checkIntervalSec.", - "format": "int32", - "type": "integer" + "unreachables": { + "description": "[Output Only] Unreachable resources.", + "items": { + "type": "string" + }, + "type": "array" }, - "unhealthyThreshold": { - "description": "A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.", - "format": "int32", - "type": "integer" + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" } }, "type": "object" }, - "HttpHealthCheckList": { - "description": "Contains a list of HttpHealthCheck resources.", - "id": "HttpHealthCheckList", + "InstanceGroupList": { + "description": "A list of InstanceGroup resources.", + "id": "InstanceGroupList", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "description": "A list of HttpHealthCheck resources.", + "description": "A list of InstanceGroup resources.", "items": { - "$ref": "HttpHealthCheck" + "$ref": "InstanceGroup" }, "type": "array" }, "kind": { - "default": "compute#httpHealthCheckList", - "description": "Type of resource.", + "default": "compute#instanceGroupList", + "description": "[Output Only] The resource type, which is always compute#instanceGroupList for instance group lists.", "type": "string" }, "nextPageToken": { @@ -58992,6 +63611,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -59028,6 +63648,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -59052,6 +63673,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -59089,332 +63711,323 @@ }, "type": "object" }, - "HttpQueryParameterMatch": { - "description": "HttpRouteRuleMatch criteria for a request's query parameter.", - "id": "HttpQueryParameterMatch", + "InstanceGroupManager": { + "description": "Represents a Managed Instance Group resource. An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups. For zonal Managed Instance Group, use the instanceGroupManagers resource. For regional Managed Instance Group, use the regionInstanceGroupManagers resource.", + "id": "InstanceGroupManager", "properties": { - "exactMatch": { - "description": "The queryParameterMatch matches if the value of the parameter exactly matches the contents of exactMatch. Only one of presentMatch, exactMatch, or regexMatch must be set. ", + "allInstancesConfig": { + "$ref": "InstanceGroupManagerAllInstancesConfig", + "description": "Specifies configuration that overrides the instance template configuration for the group." + }, + "autoHealingPolicies": { + "description": "The autohealing policy for this managed instance group. You can specify only one value.", + "items": { + "$ref": "InstanceGroupManagerAutoHealingPolicy" + }, + "type": "array" + }, + "baseInstanceName": { + "description": "The base instance name is a prefix that you want to attach to the names of all VMs in a MIG. The maximum character length is 58 and the name must comply with RFC1035 format. When a VM is created in the group, the MIG appends a hyphen and a random four-character string to the base instance name. If you want the MIG to assign sequential numbers instead of a random string, then end the base instance name with a hyphen followed by one or more hash symbols. The hash symbols indicate the number of digits. For example, a base instance name of \"vm-###\" results in \"vm-001\" as a VM name. @pattern [a-z](([-a-z0-9]{0,57})|([-a-z0-9]{0,51}-#{1,10}(\\\\[[0-9]{1,10}\\\\])?))", "type": "string" }, - "name": { - "description": "The name of the query parameter to match. The query parameter must exist in the request, in the absence of which the request match fails.", + "creationTimestamp": { + "description": "[Output Only] The creation timestamp for this managed instance group in RFC3339 text format.", "type": "string" }, - "presentMatch": { - "description": "Specifies that the queryParameterMatch matches if the request contains the query parameter, irrespective of whether the parameter has a value or not. Only one of presentMatch, exactMatch, or regexMatch must be set. ", - "type": "boolean" + "currentActions": { + "$ref": "InstanceGroupManagerActionsSummary", + "description": "[Output Only] The list of instance actions and the number of instances in this managed instance group that are scheduled for each of those actions." }, - "regexMatch": { - "description": "The queryParameterMatch matches if the value of the parameter matches the regular expression specified by regexMatch. For more information about regular expression syntax, see Syntax. Only one of presentMatch, exactMatch, or regexMatch must be set. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED. ", + "description": { + "description": "An optional description of this resource.", "type": "string" - } - }, - "type": "object" - }, - "HttpRedirectAction": { - "description": "Specifies settings for an HTTP redirect.", - "id": "HttpRedirectAction", - "properties": { - "hostRedirect": { - "description": "The host that is used in the redirect response instead of the one that was supplied in the request. The value must be from 1 to 255 characters.", + }, + "distributionPolicy": { + "$ref": "DistributionPolicy", + "description": "Policy specifying the intended distribution of managed instances across zones in a regional managed instance group." + }, + "failoverAction": { + "description": "The action to perform in case of zone failure. Only one value is supported, NO_FAILOVER. The default is NO_FAILOVER.", + "enum": [ + "NO_FAILOVER", + "UNKNOWN" + ], + "enumDescriptions": [ + "", + "" + ], "type": "string" }, - "httpsRedirect": { - "description": "If set to true, the URL scheme in the redirected request is set to HTTPS. If set to false, the URL scheme of the redirected request remains the same as that of the request. This must only be set for URL maps used in TargetHttpProxys. Setting this true for TargetHttpsProxy is not permitted. The default is set to false.", - "type": "boolean" + "fingerprint": { + "description": "Fingerprint of this resource. This field may be used in optimistic locking. It will be ignored when inserting an InstanceGroupManager. An up-to-date fingerprint must be provided in order to update the InstanceGroupManager, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an InstanceGroupManager.", + "format": "byte", + "type": "string" }, - "pathRedirect": { - "description": "The path that is used in the redirect response instead of the one that was supplied in the request. pathRedirect cannot be supplied together with prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the original request is used for the redirect. The value must be from 1 to 1024 characters.", + "id": { + "description": "[Output Only] A unique identifier for this resource type. The server generates this identifier.", + "format": "uint64", "type": "string" }, - "prefixRedirect": { - "description": "The prefix that replaces the prefixMatch specified in the HttpRouteRuleMatch, retaining the remaining portion of the URL before redirecting the request. prefixRedirect cannot be supplied together with pathRedirect. Supply one alone or neither. If neither is supplied, the path of the original request is used for the redirect. The value must be from 1 to 1024 characters.", + "instanceFlexibilityPolicy": { + "$ref": "InstanceGroupManagerInstanceFlexibilityPolicy", + "description": "Instance flexibility allowing MIG to create VMs from multiple types of machines. Instance flexibility configuration on MIG overrides instance template configuration." + }, + "instanceGroup": { + "description": "[Output Only] The URL of the Instance Group resource.", "type": "string" }, - "redirectResponseCode": { - "description": "The HTTP Status code to use for this RedirectAction. Supported values are: - MOVED_PERMANENTLY_DEFAULT, which is the default value and corresponds to 301. - FOUND, which corresponds to 302. - SEE_OTHER which corresponds to 303. - TEMPORARY_REDIRECT, which corresponds to 307. In this case, the request method is retained. - PERMANENT_REDIRECT, which corresponds to 308. In this case, the request method is retained. ", + "instanceLifecyclePolicy": { + "$ref": "InstanceGroupManagerInstanceLifecyclePolicy", + "description": "The repair policy for this managed instance group." + }, + "instanceTemplate": { + "description": "The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE.", + "type": "string" + }, + "kind": { + "default": "compute#instanceGroupManager", + "description": "[Output Only] The resource type, which is always compute#instanceGroupManager for managed instance groups.", + "type": "string" + }, + "listManagedInstancesResults": { + "description": "Pagination behavior of the listManagedInstances API method for this managed instance group.", "enum": [ - "FOUND", - "MOVED_PERMANENTLY_DEFAULT", - "PERMANENT_REDIRECT", - "SEE_OTHER", - "TEMPORARY_REDIRECT" + "PAGELESS", + "PAGINATED" ], "enumDescriptions": [ - "Http Status Code 302 - Found.", - "Http Status Code 301 - Moved Permanently.", - "Http Status Code 308 - Permanent Redirect maintaining HTTP method.", - "Http Status Code 303 - See Other.", - "Http Status Code 307 - Temporary Redirect maintaining HTTP method." + "(Default) Pagination is disabled for the group's listManagedInstances API method. maxResults and pageToken query parameters are ignored and all instances are returned in a single response.", + "Pagination is enabled for the group's listManagedInstances API method. maxResults and pageToken query parameters are respected." ], "type": "string" }, - "stripQuery": { - "description": "If set to true, any accompanying query portion of the original URL is removed before redirecting the request. If set to false, the query portion of the original URL is retained. The default is set to false. ", - "type": "boolean" - } - }, - "type": "object" - }, - "HttpRetryPolicy": { - "description": "The retry policy associates with HttpRouteRule", - "id": "HttpRetryPolicy", - "properties": { - "numRetries": { - "description": "Specifies the allowed number retries. This number must be > 0. If not specified, defaults to 1.", - "format": "uint32", - "type": "integer" + "multiMig": { + "description": "URL to the multi-MIG that this Managed Instance Group belongs to.", + "type": "string" }, - "perTryTimeout": { - "$ref": "Duration", - "description": "Specifies a non-zero timeout per retry attempt. If not specified, will use the timeout set in the HttpRouteAction field. If timeout in the HttpRouteAction field is not set, this field uses the largest timeout among all backend services associated with the route. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." + "name": { + "annotations": { + "required": [ + "compute.instanceGroupManagers.insert", + "compute.regionInstanceGroupManagers.insert" + ] + }, + "description": "The name of the managed instance group. The name must be 1-63 characters long, and comply with RFC1035.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" }, - "retryConditions": { - "description": "Specifies one or more conditions when this retry policy applies. Valid values are: - 5xx: retry is attempted if the instance or endpoint responds with any 5xx response code, or if the instance or endpoint does not respond at all. For example, disconnects, reset, read timeout, connection failure, and refused streams. - gateway-error: Similar to 5xx, but only applies to response codes 502, 503 or 504. - connect-failure: a retry is attempted on failures connecting to the instance or endpoint. For example, connection timeouts. - retriable-4xx: a retry is attempted if the instance or endpoint responds with a 4xx response code. The only error that you can retry is error code 409. - refused-stream: a retry is attempted if the instance or endpoint resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry. - cancelled: a retry is attempted if the gRPC status code in the response header is set to cancelled. - deadline-exceeded: a retry is attempted if the gRPC status code in the response header is set to deadline-exceeded. - internal: a retry is attempted if the gRPC status code in the response header is set to internal. - resource-exhausted: a retry is attempted if the gRPC status code in the response header is set to resource-exhausted. - unavailable: a retry is attempted if the gRPC status code in the response header is set to unavailable. Only the following codes are supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true. - cancelled - deadline-exceeded - internal - resource-exhausted - unavailable ", + "namedPorts": { + "description": "[Output Only] Named ports configured on the Instance Groups complementary to this Instance Group Manager.", "items": { - "type": "string" + "$ref": "NamedPort" }, "type": "array" - } - }, - "type": "object" - }, - "HttpRouteAction": { - "id": "HttpRouteAction", - "properties": { - "corsPolicy": { - "$ref": "CorsPolicy", - "description": "The specification for allowing client-side cross-origin requests. For more information about the W3C recommendation for cross-origin resource sharing (CORS), see Fetch API Living Standard. Not supported when the URL map is bound to a target gRPC proxy." }, - "faultInjectionPolicy": { - "$ref": "HttpFaultInjection", - "description": "The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure. As part of fault injection, when clients send requests to a backend service, delays can be introduced by a load balancer on a percentage of requests before sending those requests to the backend service. Similarly requests from clients can be aborted by the load balancer for a percentage of requests. timeout and retry_policy is ignored by clients that are configured with a fault_injection_policy if: 1. The traffic is generated by fault injection AND 2. The fault injection is not a delay fault injection. Fault injection is not supported with the classic Application Load Balancer . To see which load balancers support fault injection, see Load balancing: Routing and traffic management features." + "params": { + "$ref": "InstanceGroupManagerParams", + "description": "Input only. Additional params passed with the request, but not persisted as part of resource payload." }, - "maxStreamDuration": { - "$ref": "Duration", - "description": "Specifies the maximum duration (timeout) for streams on the selected route. Unlike the timeout field where the timeout duration starts from the time the request has been fully processed (known as *end-of-stream*), the duration in this field is computed from the beginning of the stream until the response has been processed, including all retries. A stream that does not complete in this duration is closed. If not specified, this field uses the maximum maxStreamDuration value among all backend services associated with the route. This field is only allowed if the Url map is used with backend services with loadBalancingScheme set to INTERNAL_SELF_MANAGED." + "region": { + "description": "[Output Only] The URL of the region where the managed instance group resides (for regional resources).", + "type": "string" }, - "requestMirrorPolicy": { - "$ref": "RequestMirrorPolicy", - "description": "Specifies the policy on how requests intended for the route's backends are shadowed to a separate mirrored backend service. The load balancer does not wait for responses from the shadow service. Before sending traffic to the shadow service, the host / authority header is suffixed with -shadow. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." + "resourcePolicies": { + "$ref": "InstanceGroupManagerResourcePolicies", + "description": "Resource policies for this managed instance group." }, - "retryPolicy": { - "$ref": "HttpRetryPolicy", - "description": "Specifies the retry policy associated with this route." + "satisfiesPzi": { + "description": "[Output Only] Reserved for future use.", + "type": "boolean" }, - "timeout": { - "$ref": "Duration", - "description": "Specifies the timeout for the selected route. Timeout is computed from the time the request has been fully processed (known as *end-of-stream*) up until the response has been processed. Timeout includes all retries. If not specified, this field uses the largest timeout among all backend services associated with the route. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true." + "satisfiesPzs": { + "description": "[Output Only] Reserved for future use.", + "type": "boolean" }, - "urlRewrite": { - "$ref": "UrlRewrite", - "description": "The spec to modify the URL of the request, before forwarding the request to the matched service. urlRewrite is the only action supported in UrlMaps for classic Application Load Balancers. Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." + "selfLink": { + "description": "[Output Only] The URL for this managed instance group. The server defines this URL.", + "type": "string" }, - "weightedBackendServices": { - "description": "A list of weighted backend services to send traffic to when a route match occurs. The weights determine the fraction of traffic that flows to their corresponding backend service. If all traffic needs to go to a single backend service, there must be one weightedBackendService with weight set to a non-zero number. After a backend service is identified and before forwarding the request to the backend service, advanced routing actions such as URL rewrites and header transformations are applied depending on additional settings specified in this HttpRouteAction.", - "items": { - "$ref": "WeightedBackendService" - }, - "type": "array" - } - }, - "type": "object" - }, - "HttpRouteRule": { - "description": "The HttpRouteRule setting specifies how to match an HTTP request and the corresponding routing action that load balancing proxies perform.", - "id": "HttpRouteRule", - "properties": { - "customErrorResponsePolicy": { - "$ref": "CustomErrorResponsePolicy", - "description": "customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error. If a policy for an error code is not configured for the RouteRule, a policy for the error code configured in pathMatcher.defaultCustomErrorResponsePolicy is applied. If one is not specified in pathMatcher.defaultCustomErrorResponsePolicy, the policy configured in UrlMap.defaultCustomErrorResponsePolicy takes effect. For example, consider a UrlMap with the following configuration: - UrlMap.defaultCustomErrorResponsePolicy are configured with policies for 5xx and 4xx errors - A RouteRule for /coming_soon/ is configured for the error code 404. If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in RouteRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect. When used in conjunction with routeRules.routeAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the customErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the customErrorResponsePolicy is ignored and the response from the service is returned to the client. customErrorResponsePolicy is supported only for global external Application Load Balancers." + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "type": "string" }, - "description": { - "description": "The short description conveying the intent of this routeRule. The description can have a maximum length of 1024 characters.", + "serviceAccount": { + "description": "The service account to be used as credentials for all operations performed by the managed instance group on instances. The service accounts needs all permissions required to create and delete instances. By default, the service account {projectNumber}@cloudservices.gserviceaccount.com is used.", "type": "string" }, - "headerAction": { - "$ref": "HttpHeaderAction", - "description": "Specifies changes to request and response headers that need to take effect for the selected backendService. The headerAction value specified here is applied before the matching pathMatchers[].headerAction and after pathMatchers[].routeRules[].routeAction.weightedBackendService.backendServiceWeightAction[].headerAction HeaderAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true." + "standbyPolicy": { + "$ref": "InstanceGroupManagerStandbyPolicy", + "description": "Standby policy for stopped and suspended instances." }, - "httpFilterConfigs": { - "description": "Outbound route specific configuration for networkservices.HttpFilter resources enabled by Traffic Director. httpFilterConfigs only applies for load balancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See ForwardingRule for more details. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.", - "items": { - "$ref": "HttpFilterConfig" - }, - "type": "array" + "statefulPolicy": { + "$ref": "StatefulPolicy", + "description": "Stateful configuration for this Instanced Group Manager" }, - "httpFilterMetadata": { - "description": "Outbound route specific metadata supplied to networkservices.HttpFilter resources enabled by Traffic Director. httpFilterMetadata only applies for load balancers with loadBalancingScheme set to INTERNAL_SELF_MANAGED. See ForwardingRule for more details. The only configTypeUrl supported is type.googleapis.com/google.protobuf.Struct Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.", - "items": { - "$ref": "HttpFilterConfig" - }, - "type": "array" + "status": { + "$ref": "InstanceGroupManagerStatus", + "description": "[Output Only] The status of this managed instance group." }, - "matchRules": { - "description": "The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule.", + "targetPools": { + "description": "The URLs for all TargetPool resources to which instances in the instanceGroup field are added. The target pools automatically apply to all of the instances in the managed instance group.", "items": { - "$ref": "HttpRouteRuleMatch" + "type": "string" }, "type": "array" }, - "priority": { - "description": "For routeRules within a given pathMatcher, priority determines the order in which a load balancer interprets routeRules. RouteRules are evaluated in order of priority, from the lowest to highest number. The priority of a rule decreases as its number increases (1, 2, 3, N+1). The first rule that matches the request is applied. You cannot configure two or more routeRules with the same priority. Priority for each rule must be set to a number from 0 to 2147483647 inclusive. Priority numbers can have gaps, which enable you to add or remove rules in the future without affecting the rest of the rules. For example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers to which you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the future without any impact on existing rules.", + "targetSize": { + "annotations": { + "required": [ + "compute.instanceGroupManagers.insert", + "compute.regionInstanceGroupManagers.insert" + ] + }, + "description": "The target number of running instances for this managed instance group. You can reduce this number by using the instanceGroupManager deleteInstances or abandonInstances methods. Resizing the group also changes this number.", "format": "int32", "type": "integer" }, - "routeAction": { - "$ref": "HttpRouteAction", - "description": "In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a route rule's routeAction." - }, - "service": { - "description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set.", - "type": "string" + "targetSizePolicy": { + "$ref": "InstanceGroupManagerTargetSizePolicy", + "description": "Configures how target size of MIG is achieved." }, - "urlRedirect": { - "$ref": "HttpRedirectAction", - "description": "When this rule is matched, the request is redirected to a URL specified by urlRedirect. If urlRedirect is specified, service or routeAction must not be set. Not supported when the URL map is bound to a target gRPC proxy." - } - }, - "type": "object" - }, - "HttpRouteRuleMatch": { - "description": "HttpRouteRuleMatch specifies a set of criteria for matching requests to an HttpRouteRule. All specified criteria must be satisfied for a match to occur.", - "id": "HttpRouteRuleMatch", - "properties": { - "fullPathMatch": { - "description": "For satisfying the matchRule condition, the path of the request must exactly match the value specified in fullPathMatch after removing any query parameters and anchor that may be part of the original URL. fullPathMatch must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified.", + "targetSizeUnit": { + "description": "The unit of measure for the target size.", + "enum": [ + "INSTANCE", + "VCPU" + ], + "enumDescriptions": [ + "[Default] TargetSize is the target number of instances.", + "TargetSize is the target count of vCPUs of VMs." + ], "type": "string" }, - "headerMatches": { - "description": "Specifies a list of header match criteria, all of which must match corresponding headers in the request.", - "items": { - "$ref": "HttpHeaderMatch" - }, - "type": "array" - }, - "ignoreCase": { - "description": "Specifies that prefixMatch and fullPathMatch matches are case sensitive. The default value is false. ignoreCase must not be used with regexMatch. Not supported when the URL map is bound to a target gRPC proxy.", - "type": "boolean" - }, - "metadataFilters": { - "description": "Opaque filter criteria used by the load balancer to restrict routing configuration to a limited set of xDS compliant clients. In their xDS requests to the load balancer, xDS clients present node metadata. When there is a match, the relevant routing configuration is made available to those proxies. For each metadataFilter in this list, if its filterMatchCriteria is set to MATCH_ANY, at least one of the filterLabels must match the corresponding label provided in the metadata. If its filterMatchCriteria is set to MATCH_ALL, then all of its filterLabels must match with corresponding labels provided in the metadata. If multiple metadata filters are specified, all of them need to be satisfied in order to be considered a match. metadataFilters specified here is applied after those specified in ForwardingRule that refers to the UrlMap this HttpRouteRuleMatch belongs to. metadataFilters only applies to load balancers that have loadBalancingScheme set to INTERNAL_SELF_MANAGED. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.", - "items": { - "$ref": "MetadataFilter" - }, - "type": "array" + "targetStoppedSize": { + "description": "The target number of stopped instances for this managed instance group. This number changes when you: - Stop instance using the stopInstances method or start instances using the startInstances method. - Manually change the targetStoppedSize using the update method. ", + "format": "int32", + "type": "integer" }, - "pathTemplateMatch": { - "description": "If specified, the route is a pattern match expression that must match the :path header once the query string is removed. A pattern match allows you to match - The value must be between 1 and 1024 characters - The pattern must start with a leading slash (\"/\") - There may be no more than 5 operators in pattern Precisely one of prefix_match, full_path_match, regex_match or path_template_match must be set.", - "type": "string" + "targetSuspendedSize": { + "description": "The target number of suspended instances for this managed instance group. This number changes when you: - Suspend instance using the suspendInstances method or resume instances using the resumeInstances method. - Manually change the targetSuspendedSize using the update method. ", + "format": "int32", + "type": "integer" }, - "prefixMatch": { - "description": "For satisfying the matchRule condition, the request's path must begin with the specified prefixMatch. prefixMatch must begin with a /. The value must be from 1 to 1024 characters. Only one of prefixMatch, fullPathMatch or regexMatch must be specified.", - "type": "string" + "updatePolicy": { + "$ref": "InstanceGroupManagerUpdatePolicy", + "description": "The update policy for this managed instance group." }, - "queryParameterMatches": { - "description": "Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request. Not supported when the URL map is bound to a target gRPC proxy.", + "versions": { + "description": "Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates.", "items": { - "$ref": "HttpQueryParameterMatch" + "$ref": "InstanceGroupManagerVersion" }, "type": "array" }, - "regexMatch": { - "description": "For satisfying the matchRule condition, the path of the request must satisfy the regular expression specified in regexMatch after removing any query parameters and anchor supplied with the original URL. For more information about regular expression syntax, see Syntax. Only one of prefixMatch, fullPathMatch or regexMatch must be specified. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED.", + "zone": { + "description": "[Output Only] The URL of a zone where the managed instance group is located (for zonal resources).", "type": "string" } }, "type": "object" }, - "HttpsHealthCheck": { - "description": "Represents a legacy HTTPS Health Check resource. Legacy HTTPS health checks have been deprecated. If you are using a target pool-based network load balancer, you must use a legacy HTTP (not HTTPS) health check. For all other load balancers, including backend service-based network load balancers, and for managed instance group auto-healing, you must use modern (non-legacy) health checks. For more information, see Health checks overview .", - "id": "HttpsHealthCheck", + "InstanceGroupManagerActionsSummary": { + "id": "InstanceGroupManagerActionsSummary", "properties": { - "checkIntervalSec": { - "description": "How often (in seconds) to send a health check. The default value is 5 seconds.", + "abandoning": { + "description": "[Output Only] The total number of instances in the managed instance group that are scheduled to be abandoned. Abandoning an instance removes it from the managed instance group without deleting it.", "format": "int32", "type": "integer" }, - "creationTimestamp": { - "description": "[Output Only] Creation timestamp in RFC3339 text format.", - "type": "string" + "creating": { + "description": "[Output Only] The number of instances in the managed instance group that are scheduled to be created or are currently being created. If the group fails to create any of these instances, it tries again until it creates the instance successfully. If you have disabled creation retries, this field will not be populated; instead, the creatingWithoutRetries field will be populated.", + "format": "int32", + "type": "integer" }, - "description": { - "description": "An optional description of this resource. Provide this property when you create the resource.", - "type": "string" + "creatingAtomically": { + "description": "[Output Only] The number of instances that the managed instance group will attempt to create atomically, in a batch mode. If the desired count of instances can not be created, entire batch will be deleted and the group will decrease its targetSize value accordingly.", + "format": "int32", + "type": "integer" }, - "healthyThreshold": { - "description": "A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.", + "creatingWithoutRetries": { + "description": "[Output Only] The number of instances that the managed instance group will attempt to create. The group attempts to create each instance only once. If the group fails to create any of these instances, it decreases the group's targetSize value accordingly.", "format": "int32", "type": "integer" }, - "host": { - "description": "The value of the host header in the HTTPS health check request. If left empty (default value), the public IP on behalf of which this health check is performed will be used.", - "type": "string" + "deleting": { + "description": "[Output Only] The number of instances in the managed instance group that are scheduled to be deleted or are currently being deleted.", + "format": "int32", + "type": "integer" }, - "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", - "format": "uint64", - "type": "string" + "none": { + "description": "[Output Only] The number of instances in the managed instance group that are running and have no scheduled actions.", + "format": "int32", + "type": "integer" }, - "kind": { - "default": "compute#httpsHealthCheck", - "description": "Type of the resource.", - "type": "string" + "queuing": { + "description": "[Output Only] The number of instances that the managed instance group is currently queuing.", + "format": "int32", + "type": "integer" }, - "name": { - "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" + "recreating": { + "description": "[Output Only] The number of instances in the managed instance group that are scheduled to be recreated or are currently being being recreated. Recreating an instance deletes the existing root persistent disk and creates a new disk from the image that is defined in the instance template.", + "format": "int32", + "type": "integer" }, - "port": { - "description": "The TCP port number for the HTTPS health check request. The default value is 443.", + "refreshing": { + "description": "[Output Only] The number of instances in the managed instance group that are being reconfigured with properties that do not require a restart or a recreate action. For example, setting or removing target pools for the instance.", "format": "int32", "type": "integer" }, - "requestPath": { - "description": "The request path of the HTTPS health check request. The default value is \"/\". Must comply with RFC3986.", - "type": "string" + "restarting": { + "description": "[Output Only] The number of instances in the managed instance group that are scheduled to be restarted or are currently being restarted.", + "format": "int32", + "type": "integer" }, - "selfLink": { - "description": "[Output Only] Server-defined URL for the resource.", - "type": "string" + "resuming": { + "description": "[Output Only] The number of instances in the managed instance group that are scheduled to be resumed or are currently being resumed.", + "format": "int32", + "type": "integer" }, - "selfLinkWithId": { - "description": "[Output Only] Server-defined URL for this resource with the resource id.", - "type": "string" + "starting": { + "description": "[Output Only] The number of instances in the managed instance group that are scheduled to be started or are currently being started.", + "format": "int32", + "type": "integer" }, - "timeoutSec": { - "description": "How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have a greater value than checkIntervalSec.", + "stopping": { + "description": "[Output Only] The number of instances in the managed instance group that are scheduled to be stopped or are currently being stopped.", "format": "int32", "type": "integer" }, - "unhealthyThreshold": { - "description": "A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.", + "suspending": { + "description": "[Output Only] The number of instances in the managed instance group that are scheduled to be suspended or are currently being suspended.", + "format": "int32", + "type": "integer" + }, + "verifying": { + "description": "[Output Only] The number of instances in the managed instance group that are being verified. See the managedInstances[].currentAction property in the listManagedInstances method documentation.", "format": "int32", "type": "integer" } }, "type": "object" }, - "HttpsHealthCheckList": { - "description": "Contains a list of HttpsHealthCheck resources.", - "id": "HttpsHealthCheckList", + "InstanceGroupManagerAggregatedList": { + "id": "InstanceGroupManagerAggregatedList", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "description": "A list of HttpsHealthCheck resources.", - "items": { - "$ref": "HttpsHealthCheck" + "additionalProperties": { + "$ref": "InstanceGroupManagersScopedList", + "description": "[Output Only] The name of the scope that contains this set of managed instance groups." }, - "type": "array" + "description": "A list of InstanceGroupManagersScopedList resources.", + "type": "object" }, "kind": { - "default": "compute#httpsHealthCheckList", - "description": "Type of resource.", + "default": "compute#instanceGroupManagerAggregatedList", + "description": "[Output Only] The resource type, which is always compute#instanceGroupManagerAggregatedList for an aggregated list of managed instance groups.", "type": "string" }, "nextPageToken": { @@ -59425,6 +64038,13 @@ "description": "[Output Only] Server-defined URL for this resource.", "type": "string" }, + "unreachables": { + "description": "[Output Only] Unreachable resources.", + "items": { + "type": "string" + }, + "type": "array" + }, "warning": { "description": "[Output Only] Informational warning message.", "properties": { @@ -59452,6 +64072,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -59488,6 +64109,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -59512,6 +64134,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -59549,275 +64172,196 @@ }, "type": "object" }, - "Image": { - "description": "Represents an Image resource. You can use images to create boot disks for your VM instances. For more information, read Images.", - "id": "Image", + "InstanceGroupManagerAllInstancesConfig": { + "id": "InstanceGroupManagerAllInstancesConfig", "properties": { - "architecture": { - "description": "The architecture of the image. Valid values are ARM64 or X86_64.", - "enum": [ - "ARCHITECTURE_UNSPECIFIED", - "ARM64", - "X86_64" - ], - "enumDescriptions": [ - "Default value indicating Architecture is not set.", - "Machines with architecture ARM64", - "Machines with architecture X86_64" - ], - "type": "string" - }, - "archiveSizeBytes": { - "description": "Size of the image tar.gz archive stored in Google Cloud Storage (in bytes).", - "format": "int64", - "type": "string" - }, - "creationTimestamp": { - "description": "[Output Only] Creation timestamp in RFC3339 text format.", - "type": "string" - }, - "deprecated": { - "$ref": "DeprecationStatus", - "description": "The deprecation status associated with this image." - }, - "description": { - "description": "An optional description of this resource. Provide this property when you create the resource.", - "type": "string" - }, - "diskSizeGb": { - "description": "Size of the image when restored onto a persistent disk (in GB).", - "format": "int64", - "type": "string" - }, - "enableConfidentialCompute": { - "description": "Whether this image is created from a confidential compute mode disk. [Output Only]: This field is not set by user, but from source disk.", - "type": "boolean" - }, - "family": { - "description": "The name of the image family to which this image belongs. The image family name can be from a publicly managed image family provided by Compute Engine, or from a custom image family you create. For example, centos-stream-9 is a publicly available image family. For more information, see Image family best practices. When creating disks, you can specify an image family instead of a specific image name. The image family always returns its latest image that is not deprecated. The name of the image family must comply with RFC1035.", - "type": "string" - }, - "guestOsFeatures": { - "description": "A list of features to enable on the guest operating system. Applicable only for bootable images. To see a list of available options, see the guestOSfeatures[].type parameter.", - "items": { - "$ref": "GuestOsFeature" - }, - "type": "array" + "properties": { + "$ref": "InstancePropertiesPatch", + "description": "Properties to set on all instances in the group. You can add or modify properties using the instanceGroupManagers.patch or regionInstanceGroupManagers.patch. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration. To apply the configuration, set the group's updatePolicy.type field to use proactive updates or use the applyUpdatesToInstances method." + } + }, + "type": "object" + }, + "InstanceGroupManagerAutoHealingPolicy": { + "id": "InstanceGroupManagerAutoHealingPolicy", + "properties": { + "autoHealingTriggers": { + "$ref": "InstanceGroupManagerAutoHealingPolicyAutoHealingTriggers", + "description": "Restricts what triggers autohealing." }, - "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", - "format": "uint64", + "healthCheck": { + "description": "The URL for the health check that signals autohealing.", "type": "string" }, - "imageEncryptionKey": { - "$ref": "CustomerEncryptionKey", - "description": "Encrypts the image using a customer-supplied encryption key. After you encrypt an image with a customer-supplied key, you must provide the same key if you use the image later (e.g. to create a disk from the image). Customer-supplied encryption keys do not protect access to metadata of the disk. If you do not provide an encryption key when creating the image, then the disk will be encrypted using an automatically generated key and you do not need to provide a key to use the image later." - }, - "kind": { - "default": "compute#image", - "description": "[Output Only] Type of the resource. Always compute#image for images.", - "type": "string" + "initialDelaySec": { + "description": "The initial delay is the number of seconds that a new VM takes to initialize and run its startup script. During a VM's initial delay period, the MIG ignores unsuccessful health checks because the VM might be in the startup process. This prevents the MIG from prematurely recreating a VM. If the health check receives a healthy response during the initial delay, it indicates that the startup process is complete and the VM is ready. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.", + "format": "int32", + "type": "integer" }, - "labelFingerprint": { - "description": "A fingerprint for the labels being applied to this image, which is essentially a hash of the labels used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an image.", - "format": "byte", + "maxUnavailable": { + "$ref": "FixedOrPercent", + "description": "Maximum number of instances that can be unavailable when autohealing. When 'percent' is used, the value is rounded if necessary. The instance is considered available if all of the following conditions are satisfied: 1. Instance's status is RUNNING. 2. Instance's currentAction is NONE (in particular its liveness health check result was observed to be HEALTHY at least once as it passed VERIFYING). 3. There is no outgoing action on an instance triggered by IGM. By default, number of concurrently autohealed instances is smaller than the managed instance group target size. However, if a zonal managed instance group has only one instance, or a regional managed instance group has only one instance per zone, autohealing will recreate these instances when they become unhealthy." + } + }, + "type": "object" + }, + "InstanceGroupManagerAutoHealingPolicyAutoHealingTriggers": { + "id": "InstanceGroupManagerAutoHealingPolicyAutoHealingTriggers", + "properties": { + "onHealthCheck": { + "description": "If you have configured an application-based health check for the group, this field controls whether to trigger VM autohealing based on a failed health check. Valid values are: - ON (default): The group recreates running VMs that fail the application-based health check. - OFF: When set to OFF, you can still observe instance health state, but the group does not recreate VMs that fail the application-based health check. This is useful for troubleshooting and setting up your health check configuration. ", + "enum": [ + "OFF", + "ON" + ], + "enumDescriptions": [ + "When set to OFF, you can still observe instance health state, but the group does not recreate VMs that fail the application-based health check. This is useful for troubleshooting and setting up your health check configuration.", + "(Default) The group recreates running VMs that fail the group's application-based health check." + ], "type": "string" - }, - "labels": { + } + }, + "type": "object" + }, + "InstanceGroupManagerInstanceFlexibilityPolicy": { + "id": "InstanceGroupManagerInstanceFlexibilityPolicy", + "properties": { + "instanceSelectionLists": { "additionalProperties": { - "type": "string" + "$ref": "InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection" }, - "description": "Labels to apply to this image. These can be later modified by the setLabels method.", + "description": "Named instance selections configuring properties that the group will use when creating new VMs.", "type": "object" }, - "licenseCodes": { - "description": "Integer license codes indicating which licenses are attached to this image.", - "items": { - "format": "int64", - "type": "string" + "instanceSelections": { + "additionalProperties": { + "$ref": "InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection" }, - "type": "array" + "description": "Named instance selections configuring properties that the group will use when creating new VMs.", + "type": "object" }, - "licenses": { - "description": "Any applicable license URI.", + "provisioningModelMix": { + "$ref": "InstanceGroupManagerInstanceFlexibilityPolicyProvisioningModelMix", + "description": "Provisioning model configuration used by this managed instance group to create instances." + } + }, + "type": "object" + }, + "InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection": { + "id": "InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection", + "properties": { + "machineTypes": { + "description": "Full machine-type names, e.g. \"n1-standard-16\".", "items": { "type": "string" }, "type": "array" }, - "locked": { - "description": "A flag for marketplace VM disk created from the image, which is designed for marketplace VM disk to prevent the proprietary data on the disk from being accessed unwantedly. The flag will be inherited by the disk created from the image. The disk with locked flag set to true will be prohibited from performing the operations below: - R/W or R/O disk attach - Disk detach, if disk is created via create-on-create - Create images - Create snapshots - Create disk clone (create disk from the current disk) The image with the locked field set to true will be prohibited from performing the operations below: - Create images from the current image - Update the locked field for the current image The instance with at least one disk with locked flag set to true will be prohibited from performing the operations below: - Secondary disk attach - Create instant snapshot - Create machine images - Create instance template - Delete the instance with --keep-disk parameter set to true ", - "type": "boolean" - }, - "name": { - "annotations": { - "required": [ - "compute.images.insert" - ] - }, - "description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" - }, - "rawDisk": { - "description": "The parameters of the raw disk image.", - "properties": { - "containerType": { - "description": "The format used to encode and transmit the block device, which should be TAR. This is just a container and transmission format and not a runtime format. Provided by the client when the disk image is created.", - "enum": [ - "TAR" - ], - "enumDescriptions": [ - "" - ], - "type": "string" - }, - "sha1Checksum": { - "deprecated": true, - "description": "[Deprecated] This field is deprecated. An optional SHA1 checksum of the disk image before unpackaging provided by the client when the disk image is created.", - "pattern": "[a-f0-9]{40}", - "type": "string" - }, - "source": { - "description": "The full Google Cloud Storage URL where the raw disk image archive is stored. The following are valid formats for the URL: - https://storage.googleapis.com/bucket_name/image_archive_name - https://storage.googleapis.com/bucket_name/folder_name/ image_archive_name In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL ", - "type": "string" - } - }, - "type": "object" - }, - "rolloutOverride": { - "$ref": "RolloutPolicy", - "description": "A rollout policy to apply to this image. When specified, the rollout policy overrides per-zone references to the image via the associated image family. The rollout policy restricts the zones where this image is accessible when using a zonal image family reference. When the rollout policy does not include the user specified zone, or if the zone is rolled out, this image is accessible. The rollout policy for this image is read-only, except for allowlisted users. This field might not be configured. To view the latest non-deprecated image in a specific zone, use the imageFamilyViews.get method." - }, - "satisfiesPzi": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - }, - "satisfiesPzs": { - "description": "[Output Only] Reserved for future use.", - "type": "boolean" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for the resource.", - "type": "string" - }, - "selfLinkWithId": { - "description": "[Output Only] Server-defined URL for this resource's resource id.", - "type": "string" - }, - "shieldedInstanceInitialState": { - "$ref": "InitialStateConfig", - "description": "Set the secure boot keys of shielded instance." - }, - "sourceDisk": { - "description": "URL of the source disk used to create this image. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/disks/disk In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL ", - "type": "string" - }, - "sourceDiskEncryptionKey": { - "$ref": "CustomerEncryptionKey", - "description": "The customer-supplied encryption key of the source disk. Required if the source disk is protected by a customer-supplied encryption key." - }, - "sourceDiskId": { - "description": "[Output Only] The ID value of the disk used to create this image. This value may be used to determine whether the image was taken from the current or a previous instance of a given disk name.", - "type": "string" - }, - "sourceImage": { - "description": "URL of the source image used to create this image. The following are valid formats for the URL: - https://www.googleapis.com/compute/v1/projects/project_id/global/ images/image_name - projects/project_id/global/images/image_name In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL ", - "type": "string" - }, - "sourceImageEncryptionKey": { - "$ref": "CustomerEncryptionKey", - "description": "The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key." - }, - "sourceImageId": { - "description": "[Output Only] The ID value of the image used to create this image. This value may be used to determine whether the image was taken from the current or a previous instance of a given image name.", - "type": "string" - }, - "sourceSnapshot": { - "description": "URL of the source snapshot used to create this image. The following are valid formats for the URL: - https://www.googleapis.com/compute/v1/projects/project_id/global/ snapshots/snapshot_name - projects/project_id/global/snapshots/snapshot_name In order to create an image, you must provide the full or partial URL of one of the following: - The rawDisk.source URL - The sourceDisk URL - The sourceImage URL - The sourceSnapshot URL ", - "type": "string" - }, - "sourceSnapshotEncryptionKey": { - "$ref": "CustomerEncryptionKey", - "description": "The customer-supplied encryption key of the source snapshot. Required if the source snapshot is protected by a customer-supplied encryption key." + "rank": { + "description": "Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "InstanceGroupManagerInstanceFlexibilityPolicyProvisioningModelMix": { + "id": "InstanceGroupManagerInstanceFlexibilityPolicyProvisioningModelMix", + "properties": { + "standardCapacityBase": { + "description": "The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity user needs. MIG will create only Standard VMs until it reaches standard_capacity_base and only then will start using standard_capacity_percent_above_base to mix Spot with Standard VMs.", + "format": "int32", + "type": "integer" }, - "sourceSnapshotId": { - "description": "[Output Only] The ID value of the snapshot used to create this image. This value may be used to determine whether the snapshot was taken from the current or a previous instance of a given snapshot name.", + "standardCapacityPercentAboveBase": { + "description": "The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "InstanceGroupManagerInstanceLifecyclePolicy": { + "id": "InstanceGroupManagerInstanceLifecyclePolicy", + "properties": { + "defaultActionOnFailure": { + "description": "The action that a MIG performs on a failed VM. If the value of the onFailedHealthCheck field is `DEFAULT_ACTION`, then the same action also applies to the VMs on which your application fails a health check. Valid values are - REPAIR (default): MIG automatically repairs a failed VM by recreating it. For more information, see about repairing VMs in a MIG. - DO_NOTHING: MIG does not repair a failed VM.", + "enum": [ + "DELETE", + "DO_NOTHING", + "REPAIR" + ], + "enumDescriptions": [ + "MIG deletes a failed or an unhealthy VM. Deleting the VM decreases the target size of the MIG.", + "MIG does not repair a failed VM.", + "(default): MIG automatically repairs a failed VM by recreating it. For more information, see about repairing VMs in a MIG." + ], "type": "string" }, - "sourceType": { - "default": "RAW", - "description": "The type of the image used to create this disk. The default and only valid value is RAW.", + "forceUpdateOnRepair": { + "description": "A bit indicating whether to forcefully apply the group's latest configuration when repairing a VM. Valid options are: - NO (default): If configuration updates are available, they are not forcefully applied during repair. Instead, configuration updates are applied according to the group's update policy. - YES: If configuration updates are available, they are applied during repair. ", "enum": [ - "RAW" + "NO", + "YES" ], "enumDescriptions": [ + "", "" ], "type": "string" }, - "status": { - "description": "[Output Only] The status of the image. An image can be used to create other resources, such as instances, only after the image has been successfully created and the status is set to READY. Possible values are FAILED, PENDING, or READY.", + "metadataBasedReadinessSignal": { + "$ref": "InstanceGroupManagerInstanceLifecyclePolicyMetadataBasedReadinessSignal", + "deprecated": true, + "description": "The configuration for metadata based readiness signal sent by the instance during initialization when stopping / suspending an instance. The Instance Group Manager will wait for a signal that indicates successful initialization before stopping / suspending an instance. If a successful readiness signal is not sent before timeout, the corresponding instance will not be stopped / suspended. Instead, an error will be visible in the lastAttempt.errors field of the managed instance in the listmanagedinstances method. If metadataBasedReadinessSignal.timeoutSec is unset, the Instance Group Manager will directly proceed to suspend / stop instances, skipping initialization on them." + }, + "onFailedHealthCheck": { + "description": "The action that a MIG performs on an unhealthy VM. A VM is marked as unhealthy when the application running on that VM fails a health check. Valid values are: - DEFAULT_ACTION (default): MIG uses the same action configured for instanceLifecyclePolicy.defaultActionOnFailure field. - REPAIR: MIG automatically repairs an unhealthy VM by recreating it. - DO_NOTHING: MIG doesn't repair an unhealthy VM. For more information, see about repairing VMs in a MIG. ", "enum": [ - "DELETING", - "FAILED", - "PENDING", - "READY" + "DEFAULT_ACTION", + "DO_NOTHING", + "REPAIR" ], "enumDescriptions": [ - "Image is deleting.", - "Image creation failed due to an error.", - "Image hasn't been created as yet.", - "Image has been successfully created." + "(Default) MIG uses the same action configured for instanceLifecyclePolicy.defaultActionOnFailure field.", + "MIG doesn't repair an unhealthy VM.", + "MIG automatically repairs an unhealthy VM by recreating it." ], "type": "string" - }, - "storageLocations": { - "description": "Cloud Storage bucket storage location of the image (regional or multi-regional).", - "items": { - "type": "string" - }, - "type": "array" - }, - "userLicenses": { - "description": "A list of publicly visible user-licenses. Unlike regular licenses, user provided licenses can be modified after the disk is created. This includes a list of URLs to the license resource. For example, to provide a debian license: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/licenses/debian-9-stretch ", - "items": { - "type": "string" - }, - "type": "array" } }, "type": "object" }, - "ImageFamilyView": { - "id": "ImageFamilyView", + "InstanceGroupManagerInstanceLifecyclePolicyMetadataBasedReadinessSignal": { + "deprecated": true, + "id": "InstanceGroupManagerInstanceLifecyclePolicyMetadataBasedReadinessSignal", "properties": { - "image": { - "$ref": "Image", - "description": "The latest image that is part of the specified image family in the requested location, and that is not deprecated." + "timeoutSec": { + "description": "The number of seconds to wait for a readiness signal during initialization before timing out.", + "format": "int32", + "type": "integer" } }, "type": "object" }, - "ImageList": { - "description": "Contains a list of images.", - "id": "ImageList", + "InstanceGroupManagerList": { + "description": "[Output Only] A list of managed instance groups.", + "id": "InstanceGroupManagerList", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "description": "A list of Image resources.", + "description": "A list of InstanceGroupManager resources.", "items": { - "$ref": "Image" + "$ref": "InstanceGroupManager" }, "type": "array" }, "kind": { - "default": "compute#imageList", - "description": "Type of resource.", + "default": "compute#instanceGroupManagerList", + "description": "[Output Only] The resource type, which is always compute#instanceGroupManagerList for a list of managed instance groups.", "type": "string" }, "nextPageToken": { @@ -59855,6 +64399,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -59891,6 +64436,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -59915,6 +64461,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -59938,389 +64485,285 @@ "type": "string" } }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "InitialStateConfig": { - "description": "Initial State for shielded instance, these are public keys which are safe to store in public", - "id": "InitialStateConfig", - "properties": { - "dbs": { - "description": "The Key Database (db).", - "items": { - "$ref": "FileContentBuffer" - }, - "type": "array" - }, - "dbxs": { - "description": "The forbidden key database (dbx).", - "items": { - "$ref": "FileContentBuffer" - }, - "type": "array" - }, - "keks": { - "description": "The Key Exchange Key (KEK).", - "items": { - "$ref": "FileContentBuffer" - }, - "type": "array" - }, - "pk": { - "$ref": "FileContentBuffer", - "description": "The Platform Key (PK)." - } - }, - "type": "object" - }, - "Instance": { - "description": "Represents an Instance resource. An instance is a virtual machine that is hosted on Google Cloud Platform. For more information, read Virtual Machine Instances.", - "id": "Instance", - "properties": { - "advancedMachineFeatures": { - "$ref": "AdvancedMachineFeatures", - "description": "Controls for advanced machine-related behavior features." - }, - "canIpForward": { - "description": "Allows this instance to send and receive packets with non-matching destination or source IPs. This is required if you plan to use this instance to forward routes. For more information, see Enabling IP Forwarding .", - "type": "boolean" - }, - "confidentialInstanceConfig": { - "$ref": "ConfidentialInstanceConfig" - }, - "cpuPlatform": { - "description": "[Output Only] The CPU platform used by this instance.", - "type": "string" - }, - "creationTimestamp": { - "description": "[Output Only] Creation timestamp in RFC3339 text format.", - "type": "string" - }, - "deletionProtection": { - "description": "Whether the resource should be protected against deletion.", - "type": "boolean" - }, - "description": { - "description": "An optional description of this resource. Provide this property when you create the resource.", - "type": "string" - }, - "disks": { - "description": "Array of disks associated with this instance. Persistent disks must be created before you can assign them.", - "items": { - "$ref": "AttachedDisk" - }, - "type": "array" - }, - "displayDevice": { - "$ref": "DisplayDevice", - "description": "Enables display device for the instance." - }, - "eraseWindowsVssSignature": { - "description": "Specifies whether the disks restored from source snapshots or source machine image should erase Windows specific VSS signature.", - "type": "boolean" - }, - "fingerprint": { - "description": "Specifies a fingerprint for this resource, which is essentially a hash of the instance's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update the instance. You must always provide an up-to-date fingerprint hash in order to update the instance. To see the latest fingerprint, make get() request to the instance.", - "format": "byte", - "type": "string" - }, - "guestAccelerators": { - "description": "A list of the type and count of accelerator cards attached to the instance.", - "items": { - "$ref": "AcceleratorConfig" - }, - "type": "array" - }, - "hostname": { - "description": "Specifies the hostname of the instance. The specified hostname must be RFC1035 compliant. If hostname is not specified, the default hostname is [INSTANCE_NAME].c.[PROJECT_ID].internal when using the global DNS, and [INSTANCE_NAME].[ZONE].c.[PROJECT_ID].internal when using zonal DNS.", - "type": "string" - }, - "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", - "format": "uint64", - "type": "string" - }, - "instanceEncryptionKey": { - "$ref": "CustomerEncryptionKey", - "description": "Encrypts suspended data for an instance with a customer-managed encryption key. If you are creating a new instance, this field will encrypt the local SSD and in-memory contents of the instance during the suspend operation. If you do not provide an encryption key when creating the instance, then the local SSD and in-memory contents will be encrypted using an automatically generated key during the suspend operation." - }, - "keyRevocationActionType": { - "description": "KeyRevocationActionType of the instance. Supported options are \"STOP\" and \"NONE\". The default value is \"NONE\" if it is not specified.", - "enum": [ - "KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", - "NONE", - "STOP" - ], - "enumDescriptions": [ - "Default value. This value is unused.", - "Indicates user chose no operation.", - "Indicates user chose to opt for VM shutdown on key revocation." - ], - "type": "string" - }, - "kind": { - "default": "compute#instance", - "description": "[Output Only] Type of the resource. Always compute#instance for instances.", - "type": "string" - }, - "labelFingerprint": { - "description": "A fingerprint for this request, which is essentially a hash of the label's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make get() request to the instance.", - "format": "byte", - "type": "string" - }, - "labels": { + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "InstanceGroupManagerParams": { + "description": "Input only additional params for instance group manager creation.", + "id": "InstanceGroupManagerParams", + "properties": { + "resourceManagerTags": { "additionalProperties": { "type": "string" }, - "description": "Labels to apply to this instance. These can be later modified by the setLabels method.", + "description": "Resource manager tags to bind to the managed instance group. The tags are key-value pairs. Keys must be in the format tagKeys/123 and values in the format tagValues/456. For more information, see Manage tags for resources.", "type": "object" + } + }, + "type": "object" + }, + "InstanceGroupManagerResizeRequest": { + "description": "InstanceGroupManagerResizeRequest represents a request to create a number of VMs: either immediately or by queuing the request for the specified time. This resize request is nested under InstanceGroupManager and the VMs created by this request are added to the owning InstanceGroupManager.", + "id": "InstanceGroupManagerResizeRequest", + "properties": { + "count": { + "deprecated": true, + "description": "This field is deprecated, please use resize_by instead. The count of instances to create as part of this resize request.", + "format": "int32", + "type": "integer" }, - "lastStartTimestamp": { - "description": "[Output Only] Last start timestamp in RFC3339 text format.", - "type": "string" - }, - "lastStopTimestamp": { - "description": "[Output Only] Last stop timestamp in RFC3339 text format.", + "creationTimestamp": { + "description": "[Output Only] The creation timestamp for this resize request in RFC3339 text format.", "type": "string" }, - "lastSuspendedTimestamp": { - "description": "[Output Only] Last suspended timestamp in RFC3339 text format.", + "description": { + "description": "An optional description of this resource.", "type": "string" }, - "machineType": { - "description": "Full or partial URL of the machine type resource to use for this instance, in the format: zones/zone/machineTypes/machine-type. This is provided by the client when the instance is created. For example, the following is a valid partial url to a predefined machine type: zones/us-central1-f/machineTypes/n1-standard-1 To create a custom machine type, provide a URL to a machine type in the following format, where CPUS is 1 or an even number up to 32 (2, 4, 6, ... 24, etc), and MEMORY is the total memory for this instance. Memory must be a multiple of 256 MB and must be supplied in MB (e.g. 5 GB of memory is 5120 MB): zones/zone/machineTypes/custom-CPUS-MEMORY For example: zones/us-central1-f/machineTypes/custom-4-5120 For a full list of restrictions, read the Specifications for custom machine types.", + "id": { + "description": "[Output Only] A unique identifier for this resource type. The server generates this identifier.", + "format": "uint64", "type": "string" }, - "metadata": { - "$ref": "Metadata", - "description": "The metadata key/value pairs assigned to this instance. This includes custom metadata and predefined keys." + "instances": { + "description": "The list of specifications of per-instance configs to be created. This field cannot be used together with 'resize_by'.", + "items": { + "$ref": "PerInstanceConfig" + }, + "type": "array" }, - "minCpuPlatform": { - "description": "Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: \"Intel Haswell\" or minCpuPlatform: \"Intel Sandy Bridge\".", + "kind": { + "default": "compute#instanceGroupManagerResizeRequest", + "description": "[Output Only] The resource type, which is always compute#instanceGroupManagerResizeRequest for resize requests.", "type": "string" }, "name": { "annotations": { "required": [ - "compute.instances.insert" + "compute.instanceGroupManagerResizeRequests.insert" ] }, - "description": "The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "description": "The name of this resize request. The name must be 1-63 characters long, and comply with RFC1035.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, - "networkInterfaces": { - "description": "An array of network configurations for this instance. These specify how interfaces are configured to interact with other network services, such as connecting to the internet. Multiple interfaces are supported per instance.", - "items": { - "$ref": "NetworkInterface" - }, - "type": "array" - }, - "networkPerformanceConfig": { - "$ref": "NetworkPerformanceConfig" - }, - "params": { - "$ref": "InstanceParams", - "description": "Input only. [Input Only] Additional params passed with the request, but not persisted as part of resource payload." - }, - "partnerMetadata": { - "additionalProperties": { - "$ref": "StructuredEntries" - }, - "description": "Partner Metadata assigned to the instance. A map from a subdomain (namespace) to entries map.", - "type": "object" - }, - "postKeyRevocationActionType": { - "description": "PostKeyRevocationActionType of the instance.", - "enum": [ - "NOOP", - "POST_KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", - "SHUTDOWN" - ], - "enumDescriptions": [ - "Indicates user chose no operation.", - "Default value. This value is unused.", - "Indicates user chose to opt for VM shutdown on key revocation." - ], - "type": "string" - }, - "preservedStateSizeGb": { - "description": "Total amount of preserved state for SUSPENDED instances. Read-only in the api.", - "format": "int64", - "type": "string" + "queuingPolicy": { + "$ref": "QueuingPolicy", + "deprecated": true, + "description": "This field is deprecated, ResizeRequests would not be provisioned immediately and would stay in the queue until explicitly cancelled. When set, defines queing parameters for the requested deferred capacity. When unset, the request starts provisioning immediately, or fails if immediate provisioning is not possible." }, - "privateIpv6GoogleAccess": { - "description": "The private IPv6 google access type for the VM. If not specified, use INHERIT_FROM_SUBNETWORK as default.", - "enum": [ - "ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE", - "ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE", - "INHERIT_FROM_SUBNETWORK" - ], - "enumDescriptions": [ - "Bidirectional private IPv6 access to/from Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.", - "Outbound private IPv6 access from VMs in this subnet to Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.", - "Each network interface inherits PrivateIpv6GoogleAccess from its subnetwork." - ], + "region": { + "description": "[Output Only] The URL of a region where the resize request is located. Populated only for regional resize requests.", "type": "string" }, - "reservationAffinity": { - "$ref": "ReservationAffinity", - "description": "Specifies the reservations that this instance can consume from." - }, - "resourcePolicies": { - "description": "Resource policies applied to this instance.", - "items": { - "type": "string" - }, - "type": "array" - }, - "resourceStatus": { - "$ref": "ResourceStatus", - "description": "[Output Only] Specifies values set for instance attributes as compared to the values requested by user in the corresponding input only field." - }, - "satisfiesPzi": { - "description": "[Output Only] Reserved for future use.", - "type": "boolean" - }, - "satisfiesPzs": { - "description": "[Output Only] Reserved for future use.", - "type": "boolean" - }, - "scheduling": { - "$ref": "Scheduling", - "description": "Sets the scheduling options for this instance." + "requestedRunDuration": { + "$ref": "Duration", + "description": "Requested run duration for instances that will be created by this request. At the end of the run duration instance will be deleted." }, - "secureTags": { - "description": "[Input Only] Secure tags to apply to this instance. These can be later modified by the update method. Maximum number of secure tags allowed is 50.", - "items": { - "type": "string" - }, - "type": "array" + "resizeBy": { + "description": "The number of instances to be created by this resize request. The group's target size will be increased by this number. This field cannot be used together with 'instances'.", + "format": "int32", + "type": "integer" }, "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", + "description": "[Output Only] The URL for this resize request. The server defines this URL.", "type": "string" }, "selfLinkWithId": { "description": "[Output Only] Server-defined URL for this resource with the resource id.", "type": "string" }, - "serviceAccounts": { - "description": "A list of service accounts, with their specified scopes, authorized for this instance. Only one service account per VM instance is supported. Service accounts generate access tokens that can be accessed through the metadata server and used to authenticate applications on the instance. See Service Accounts for more information.", - "items": { - "$ref": "ServiceAccount" - }, - "type": "array" - }, - "serviceIntegrationSpecs": { - "additionalProperties": { - "$ref": "ServiceIntegrationSpec" - }, - "description": "Mapping of user-defined keys to specifications for service integrations. Currently only a single key-value pair is supported.", - "type": "object" - }, - "shieldedInstanceConfig": { - "$ref": "ShieldedInstanceConfig" - }, - "shieldedInstanceIntegrityPolicy": { - "$ref": "ShieldedInstanceIntegrityPolicy" - }, - "shieldedVmConfig": { - "$ref": "ShieldedVmConfig", - "description": "Deprecating, please use shielded_instance_config." - }, - "shieldedVmIntegrityPolicy": { - "$ref": "ShieldedVmIntegrityPolicy", - "description": "Deprecating, please use shielded_instance_integrity_policy." - }, - "sourceMachineImage": { - "description": "Source machine image", - "type": "string" - }, - "sourceMachineImageEncryptionKey": { - "$ref": "CustomerEncryptionKey", - "description": "Source machine image encryption key when creating an instance from a machine image." - }, - "startRestricted": { - "description": "[Output Only] Whether a VM has been restricted for start because Compute Engine has detected suspicious activity.", - "type": "boolean" - }, - "status": { - "description": "[Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.", + "state": { + "description": "[Output only] Current state of the request.", "enum": [ - "DEPROVISIONING", + "ACCEPTED", + "CANCELLED", + "CREATING", + "DELETING", + "FAILED", "PROVISIONING", - "REPAIRING", - "RUNNING", - "STAGING", - "STOPPED", - "STOPPING", - "SUSPENDED", - "SUSPENDING", - "TERMINATED" + "STATE_UNSPECIFIED", + "SUCCEEDED" + ], + "enumDeprecated": [ + false, + false, + false, + true, + false, + true, + false, + false ], "enumDescriptions": [ - "The instance is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.", - "Resources are being allocated for the instance.", - "The instance is in repair.", - "The instance is running.", - "All required resources have been allocated and the instance is being started.", - "The instance has stopped successfully.", - "The instance is currently stopping (either being deleted or killed).", - "The instance has suspended.", - "The instance is suspending.", - "The instance has stopped (either by explicit action or underlying failure)." + "The request was created successfully and was accepted for provisioning when the capacity becomes available.", + "The request is cancelled.", + "Resize request is being created and may still fail creation.", + "The value is deprecated. ResizeRequests would not change state while being deleted. The request is being deleted.", + "The request failed before or during provisioning. If the request fails during provisioning, any VMs that were created during provisioning are rolled back and removed from the MIG.", + "The value is deprecated. ResizeRequests would stay in the ACCEPTED state during provisioning attempts. The target resource(s) are being provisioned.", + "Default value. This value should never be returned.", + "The request succeeded." ], "type": "string" }, - "statusMessage": { - "description": "[Output Only] An optional, human-readable explanation of the status.", - "type": "string" - }, - "tags": { - "$ref": "Tags", - "description": "Tags to apply to this instance. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during instance creation. The tags can be later modified by the setTags method. Each tag within the list must comply with RFC1035. Multiple tags can be specified via the 'tags.items' field." - }, - "upcomingMaintenance": { - "$ref": "UpcomingMaintenance", - "description": "[Output Only] DEPRECATED: Please use resource_status.upcoming_maintenance instead. Specifies upcoming maintenance for the instance." + "status": { + "$ref": "InstanceGroupManagerResizeRequestStatus", + "description": "[Output only] Status of the request." }, "zone": { - "description": "[Output Only] URL of the zone where the instance resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "description": "[Output Only] The URL of a zone where the resize request is located. Populated only for zonal resize requests.", "type": "string" } }, "type": "object" }, - "InstanceAggregatedList": { - "id": "InstanceAggregatedList", + "InstanceGroupManagerResizeRequestStatus": { + "id": "InstanceGroupManagerResizeRequestStatus", + "properties": { + "error": { + "description": "[Output only] Fatal errors encountered during the queueing or provisioning phases of the ResizeRequest that caused the transition to the FAILED state. Contrary to the last_attempt errors, this field is final and errors are never removed from here, as the ResizeRequest is not going to retry.", + "properties": { + "errors": { + "description": "[Output Only] The array of errors encountered while processing this operation.", + "items": { + "properties": { + "code": { + "description": "[Output Only] The error type identifier for this error.", + "type": "string" + }, + "errorDetails": { + "description": "[Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.", + "items": { + "properties": { + "errorInfo": { + "$ref": "ErrorInfo" + }, + "help": { + "$ref": "Help" + }, + "localizedMessage": { + "$ref": "LocalizedMessage" + }, + "quotaInfo": { + "$ref": "QuotaExceededInfo" + } + }, + "type": "object" + }, + "type": "array" + }, + "location": { + "description": "[Output Only] Indicates the field in the request that caused the error. This property is optional.", + "type": "string" + }, + "message": { + "description": "[Output Only] An optional, human-readable error message.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "lastAttempt": { + "$ref": "InstanceGroupManagerResizeRequestStatusLastAttempt", + "description": "[Output only] Information about the last attempt to fulfill the request. The value is temporary since the ResizeRequest can retry, as long as it's still active and the last attempt value can either be cleared or replaced with a different error. Since ResizeRequest retries infrequently, the value may be stale and no longer show an active problem. The value is cleared when ResizeRequest transitions to the final state (becomes inactive). If the final state is FAILED the error describing it will be storred in the \"error\" field only." + }, + "queuingPolicy": { + "$ref": "QueuingPolicy", + "deprecated": true, + "description": "This field is deprecated, setting queueing policy is no longer supported. Constraints for the time when the instances start provisioning. Always exposed as absolute time." + } + }, + "type": "object" + }, + "InstanceGroupManagerResizeRequestStatusLastAttempt": { + "id": "InstanceGroupManagerResizeRequestStatusLastAttempt", + "properties": { + "error": { + "description": "Errors that prevented the ResizeRequest to be fulfilled.", + "properties": { + "errors": { + "description": "[Output Only] The array of errors encountered while processing this operation.", + "items": { + "properties": { + "code": { + "description": "[Output Only] The error type identifier for this error.", + "type": "string" + }, + "errorDetails": { + "description": "[Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.", + "items": { + "properties": { + "errorInfo": { + "$ref": "ErrorInfo" + }, + "help": { + "$ref": "Help" + }, + "localizedMessage": { + "$ref": "LocalizedMessage" + }, + "quotaInfo": { + "$ref": "QuotaExceededInfo" + } + }, + "type": "object" + }, + "type": "array" + }, + "location": { + "description": "[Output Only] Indicates the field in the request that caused the error. This property is optional.", + "type": "string" + }, + "message": { + "description": "[Output Only] An optional, human-readable error message.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "InstanceGroupManagerResizeRequestsListResponse": { + "description": "[Output Only] A list of resize requests.", + "id": "InstanceGroupManagerResizeRequestsListResponse", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "additionalProperties": { - "$ref": "InstancesScopedList", - "description": "[Output Only] Name of the scope containing this set of instances." + "description": "A list of resize request resources.", + "items": { + "$ref": "InstanceGroupManagerResizeRequest" }, - "description": "An object that contains a list of instances scoped by zone.", - "type": "object" + "type": "array" }, "kind": { - "default": "compute#instanceAggregatedList", - "description": "[Output Only] Type of resource. Always compute#instanceAggregatedList for aggregated lists of Instance resources.", + "default": "compute#instanceGroupManagerResizeRequestList", + "description": "[Output Only] Type of the resource. Always compute#instanceGroupManagerResizeRequestList for a list of resize requests.", "type": "string" }, "nextPageToken": { @@ -60331,13 +64774,6 @@ "description": "[Output Only] Server-defined URL for this resource.", "type": "string" }, - "unreachables": { - "description": "[Output Only] Unreachable resources.", - "items": { - "type": "string" - }, - "type": "array" - }, "warning": { "description": "[Output Only] Informational warning message.", "properties": { @@ -60365,6 +64801,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -60401,6 +64838,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -60425,6 +64863,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -60439,180 +64878,526 @@ "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "InstanceGroupManagerResourcePolicies": { + "id": "InstanceGroupManagerResourcePolicies", + "properties": { + "workloadPolicy": { + "description": "The URL of the workload policy that is specified for this managed instance group. It can be a full or partial URL. For example, the following are all valid URLs to a workload policy: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy ", + "type": "string" + } + }, + "type": "object" + }, + "InstanceGroupManagerStandbyPolicy": { + "id": "InstanceGroupManagerStandbyPolicy", + "properties": { + "initialDelaySec": { + "description": "Specifies the number of seconds that the MIG should wait to suspend or stop a VM after that VM was created. The initial delay gives the initialization script the time to prepare your VM for a quick scale out. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.", + "format": "int32", + "type": "integer" + }, + "mode": { + "description": "Defines how a MIG resumes or starts VMs from a standby pool when the group scales out. The default mode is `MANUAL`.", + "enum": [ + "MANUAL", + "SCALE_OUT_POOL" + ], + "enumDescriptions": [ + "MIG does not automatically resume or start VMs in the standby pool when the group scales out.", + "MIG automatically resumes or starts VMs in the standby pool when the group scales out, and replenishes the standby pool afterwards." + ], + "type": "string" + } + }, + "type": "object" + }, + "InstanceGroupManagerStatus": { + "id": "InstanceGroupManagerStatus", + "properties": { + "allInstancesConfig": { + "$ref": "InstanceGroupManagerStatusAllInstancesConfig", + "description": "[Output only] Status of all-instances configuration on the group." + }, + "autoscaler": { + "description": "[Output Only] The URL of the Autoscaler that targets this instance group manager.", + "type": "string" + }, + "bulkInstanceOperation": { + "$ref": "InstanceGroupManagerStatusBulkInstanceOperation", + "description": "[Output Only] Status of bulk instance operation." + }, + "isStable": { + "description": "[Output Only] A bit indicating whether the managed instance group is in a stable state. A stable state means that: none of the instances in the managed instance group is currently undergoing any type of change (for example, creation, restart, or deletion); no future changes are scheduled for instances in the managed instance group; and the managed instance group itself is not being modified.", + "type": "boolean" + }, + "stateful": { + "$ref": "InstanceGroupManagerStatusStateful", + "description": "[Output Only] Stateful status of the given Instance Group Manager." + }, + "versionTarget": { + "$ref": "InstanceGroupManagerStatusVersionTarget", + "description": "[Output Only] A status of consistency of Instances' versions with their target version specified by version field on Instance Group Manager." + } + }, + "type": "object" + }, + "InstanceGroupManagerStatusAllInstancesConfig": { + "id": "InstanceGroupManagerStatusAllInstancesConfig", + "properties": { + "currentRevision": { + "description": "[Output Only] Current all-instances configuration revision. This value is in RFC3339 text format.", + "type": "string" + }, + "effective": { + "description": "[Output Only] A bit indicating whether this configuration has been applied to all managed instances in the group.", + "type": "boolean" + } + }, + "type": "object" + }, + "InstanceGroupManagerStatusBulkInstanceOperation": { + "id": "InstanceGroupManagerStatusBulkInstanceOperation", + "properties": { + "inProgress": { + "description": "[Output Only] Informs whether bulk instance operation is in progress.", + "type": "boolean" + }, + "lastProgressCheck": { + "$ref": "InstanceGroupManagerStatusBulkInstanceOperationLastProgressCheck", + "description": "[Output Only] Information from last progress check of bulk instance operation." + } + }, + "type": "object" + }, + "InstanceGroupManagerStatusBulkInstanceOperationLastProgressCheck": { + "id": "InstanceGroupManagerStatusBulkInstanceOperationLastProgressCheck", + "properties": { + "error": { + "description": "[Output Only] Contains errors encountered during bulk instance operation.", + "properties": { + "errors": { + "description": "[Output Only] The array of errors encountered while processing this operation.", + "items": { + "properties": { + "code": { + "description": "[Output Only] The error type identifier for this error.", "type": "string" }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", + "errorDetails": { + "description": "[Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.", + "items": { + "properties": { + "errorInfo": { + "$ref": "ErrorInfo" + }, + "help": { + "$ref": "Help" + }, + "localizedMessage": { + "$ref": "LocalizedMessage" + }, + "quotaInfo": { + "$ref": "QuotaExceededInfo" + } + }, + "type": "object" + }, + "type": "array" + }, + "location": { + "description": "[Output Only] Indicates the field in the request that caused the error. This property is optional.", + "type": "string" + }, + "message": { + "description": "[Output Only] An optional, human-readable error message.", "type": "string" } }, "type": "object" }, "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" } }, "type": "object" + }, + "timestamp": { + "description": "[Output Only] Timestamp of the last progress check of bulk instance operation. Timestamp is in RFC3339 text format.", + "format": "google-datetime", + "type": "string" } }, "type": "object" }, - "InstanceConsumptionData": { - "id": "InstanceConsumptionData", + "InstanceGroupManagerStatusStateful": { + "id": "InstanceGroupManagerStatusStateful", "properties": { - "consumptionInfo": { - "$ref": "InstanceConsumptionInfo", - "description": "Resources consumed by the instance." + "hasStatefulConfig": { + "description": "[Output Only] A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful configuration even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions.", + "type": "boolean" }, - "instance": { - "description": "Server-defined URL for the instance.", - "type": "string" + "isStateful": { + "deprecated": true, + "description": "[Output Only] A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful configuration even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions. This field is deprecated in favor of has_stateful_config.", + "type": "boolean" + }, + "perInstanceConfigs": { + "$ref": "InstanceGroupManagerStatusStatefulPerInstanceConfigs", + "description": "[Output Only] Status of per-instance configurations on the instances." } }, "type": "object" }, - "InstanceConsumptionInfo": { - "id": "InstanceConsumptionInfo", + "InstanceGroupManagerStatusStatefulPerInstanceConfigs": { + "id": "InstanceGroupManagerStatusStatefulPerInstanceConfigs", "properties": { - "guestCpus": { - "description": "The number of virtual CPUs that are available to the instance.", - "format": "int32", - "type": "integer" - }, - "localSsdGb": { - "description": "The amount of local SSD storage available to the instance, defined in GiB.", - "format": "int32", - "type": "integer" - }, - "memoryMb": { - "description": "The amount of physical memory available to the instance, defined in MiB.", - "format": "int32", - "type": "integer" - }, - "minNodeCpus": { - "description": "The minimal guaranteed number of virtual CPUs that are reserved.", - "format": "int32", - "type": "integer" + "allEffective": { + "description": "A bit indicating if all of the group's per-instance configurations (listed in the output of a listPerInstanceConfigs API call) have status EFFECTIVE or there are no per-instance-configs.", + "type": "boolean" } }, "type": "object" }, - "InstanceGroup": { - "description": "Represents an Instance Group resource. Instance Groups can be used to configure a target for load balancing. Instance groups can either be managed or unmanaged. To create managed instance groups, use the instanceGroupManager or regionInstanceGroupManager resource instead. Use zonal unmanaged instance groups if you need to apply load balancing to groups of heterogeneous instances or if you need to manage the instances yourself. You cannot create regional unmanaged instance groups. For more information, read Instance groups.", - "id": "InstanceGroup", + "InstanceGroupManagerStatusVersionTarget": { + "id": "InstanceGroupManagerStatusVersionTarget", "properties": { - "creationTimestamp": { - "description": "[Output Only] The creation timestamp for this instance group in RFC3339 text format.", + "isReached": { + "description": "[Output Only] A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by version field on Instance Group Manager.", + "type": "boolean" + } + }, + "type": "object" + }, + "InstanceGroupManagerTargetSizePolicy": { + "id": "InstanceGroupManagerTargetSizePolicy", + "properties": { + "mode": { + "description": "Mode in which operations on size are processed.", + "enum": [ + "BULK", + "INDIVIDUAL", + "UNSPECIFIED_MODE" + ], + "enumDescriptions": [ + "Mode in which MIG creates and starts VMs in all-or-nothing manner. If any VM from the request cannot be provisioned, the whole request waits for conditions that allow for provisioning whole capacity in bulk.", + "Default mode in which MIG creates and starts VMs individually without cross-dependency between VMs. This means that in case of something blocking part of VMs to be provisioned, the other part will be created.", + "If mode is unspecified, MIG will behave as in the default `INDIVIDUAL` mode." + ], + "type": "string" + } + }, + "type": "object" + }, + "InstanceGroupManagerUpdatePolicy": { + "id": "InstanceGroupManagerUpdatePolicy", + "properties": { + "instanceRedistributionType": { + "description": "The instance redistribution policy for regional managed instance groups. Valid values are: - PROACTIVE (default): The group attempts to maintain an even distribution of VM instances across zones in the region. - NONE: For non-autoscaled groups, proactive redistribution is disabled. ", + "enum": [ + "NONE", + "PROACTIVE" + ], + "enumDescriptions": [ + "No action is being proactively performed in order to bring this IGM to its target instance distribution.", + "This IGM will actively converge to its target instance distribution." + ], "type": "string" }, - "description": { - "description": "An optional description of this resource. Provide this property when you create the resource.", + "maxSurge": { + "$ref": "FixedOrPercent", + "description": "The maximum number of instances that can be created above the specified targetSize during the update process. This value can be either a fixed number or, if the group has 10 or more instances, a percentage. If you set a percentage, the number of instances is rounded if necessary. The default value for maxSurge is a fixed value equal to the number of zones in which the managed instance group operates. At least one of either maxSurge or maxUnavailable must be greater than 0. Learn more about maxSurge." + }, + "maxUnavailable": { + "$ref": "FixedOrPercent", + "description": "The maximum number of instances that can be unavailable during the update process. An instance is considered available if all of the following conditions are satisfied: - The instance's status is RUNNING. - If there is a health check on the instance group, the instance's health check status must be HEALTHY at least once. If there is no health check on the group, then the instance only needs to have a status of RUNNING to be considered available. This value can be either a fixed number or, if the group has 10 or more instances, a percentage. If you set a percentage, the number of instances is rounded if necessary. The default value for maxUnavailable is a fixed value equal to the number of zones in which the managed instance group operates. At least one of either maxSurge or maxUnavailable must be greater than 0. Learn more about maxUnavailable." + }, + "minReadySec": { + "description": "Minimum number of seconds to wait for after a newly created instance becomes available. This value must be from range [0, 3600].", + "format": "int32", + "type": "integer" + }, + "minimalAction": { + "description": "Minimal action to be taken on an instance. Use this option to minimize disruption as much as possible or to apply a more disruptive action than is necessary. - To limit disruption as much as possible, set the minimal action to REFRESH. If your update requires a more disruptive action, Compute Engine performs the necessary action to execute the update. - To apply a more disruptive action than is strictly necessary, set the minimal action to RESTART or REPLACE. For example, Compute Engine does not need to restart a VM to change its metadata. But if your application reads instance metadata only when a VM is restarted, you can set the minimal action to RESTART in order to pick up metadata changes. ", + "enum": [ + "NONE", + "REFRESH", + "REPLACE", + "RESTART" + ], + "enumDescriptions": [ + "Do not perform any action.", + "Do not stop the instance.", + "(Default.) Replace the instance according to the replacement method option.", + "Stop the instance and start it again." + ], "type": "string" }, - "fingerprint": { - "description": "[Output Only] The fingerprint of the named ports. The system uses this fingerprint to detect conflicts when multiple users change the named ports concurrently.", - "format": "byte", + "mostDisruptiveAllowedAction": { + "description": "Most disruptive action that is allowed to be taken on an instance. You can specify either NONE to forbid any actions, REFRESH to avoid restarting the VM and to limit disruption as much as possible. RESTART to allow actions that can be applied without instance replacing or REPLACE to allow all possible actions. If the Updater determines that the minimal update action needed is more disruptive than most disruptive allowed action you specify it will not perform the update at all.", + "enum": [ + "NONE", + "REFRESH", + "REPLACE", + "RESTART" + ], + "enumDescriptions": [ + "Do not perform any action.", + "Do not stop the instance.", + "(Default.) Replace the instance according to the replacement method option.", + "Stop the instance and start it again." + ], "type": "string" }, - "id": { - "description": "[Output Only] A unique identifier for this instance group, generated by the server.", - "format": "uint64", + "replacementMethod": { + "description": "What action should be used to replace instances. See minimal_action.REPLACE", + "enum": [ + "RECREATE", + "SUBSTITUTE" + ], + "enumDescriptions": [ + "Instances will be recreated (with the same name)", + "Default option: instances will be deleted and created (with a new name)" + ], "type": "string" }, - "kind": { - "default": "compute#instanceGroup", - "description": "[Output Only] The resource type, which is always compute#instanceGroup for instance groups.", + "type": { + "description": "The type of update process. You can specify either PROACTIVE so that the MIG automatically updates VMs to the latest configurations or OPPORTUNISTIC so that you can select the VMs that you want to update.", + "enum": [ + "OPPORTUNISTIC", + "PROACTIVE" + ], + "enumDescriptions": [ + "MIG will apply new configurations to existing VMs only when you selectively target specific or all VMs to be updated.", + "MIG will automatically apply new configurations to all or a subset of existing VMs and also to new VMs that are added to the group." + ], + "type": "string" + } + }, + "type": "object" + }, + "InstanceGroupManagerVersion": { + "id": "InstanceGroupManagerVersion", + "properties": { + "instanceTemplate": { + "description": "The URL of the instance template that is specified for this managed instance group. The group uses this template to create new instances in the managed instance group until the `targetSize` for this version is reached. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE; in those cases, existing instances are updated until the `targetSize` for this version is reached.", "type": "string" }, "name": { - "annotations": { - "required": [ - "compute.instanceGroups.insert" - ] - }, - "description": "The name of the instance group. The name must be 1-63 characters long, and comply with RFC1035.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "description": "Name of the version. Unique among all versions in the scope of this managed instance group.", "type": "string" }, - "namedPorts": { - "description": " Assigns a name to a port number. For example: {name: \"http\", port: 80} This allows the system to reference ports by the assigned name instead of a port number. Named ports can also contain multiple ports. For example: [{name: \"app1\", port: 8080}, {name: \"app1\", port: 8081}, {name: \"app2\", port: 8082}] Named ports apply to all instances in this instance group. ", + "tag": { + "description": "Tag describing the version. Used to trigger rollout of a target version even if instance_template remains unchanged. Deprecated in favor of 'name'.", + "type": "string" + }, + "targetSize": { + "$ref": "FixedOrPercent", + "description": "Specifies the intended number of instances to be created from the instanceTemplate. The final number of instances created from the template will be equal to: - If expressed as a fixed number, the minimum of either targetSize.fixed or instanceGroupManager.targetSize is used. - if expressed as a percent, the targetSize would be (targetSize.percent/100 * InstanceGroupManager.targetSize) If there is a remainder, the number is rounded. If unset, this version will update any remaining instances not updated by another version. Read Starting a canary update for more information." + } + }, + "type": "object" + }, + "InstanceGroupManagersAbandonInstancesRequest": { + "id": "InstanceGroupManagersAbandonInstancesRequest", + "properties": { + "instances": { + "description": "The URLs of one or more instances to abandon. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", "items": { - "$ref": "NamedPort" + "type": "string" }, "type": "array" + } + }, + "type": "object" + }, + "InstanceGroupManagersApplyUpdatesRequest": { + "description": "InstanceGroupManagers.applyUpdatesToInstances", + "id": "InstanceGroupManagersApplyUpdatesRequest", + "properties": { + "allInstances": { + "description": "Flag to update all instances instead of specified list of “instances”. If the flag is set to true then the instances may not be specified in the request.", + "type": "boolean" }, - "network": { - "description": "[Output Only] The URL of the network to which all instances in the instance group belong. If your instance has multiple network interfaces, then the network and subnetwork fields only refer to the network and subnet used by your primary interface (nic0).", - "type": "string" + "instances": { + "description": "The list of URLs of one or more instances for which you want to apply updates. Each URL can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", + "items": { + "type": "string" + }, + "type": "array" }, - "region": { - "description": "[Output Only] The URL of the region where the instance group is located (for regional resources).", + "maximalAction": { + "description": "The maximal action that should be performed on the instances. By default REPLACE. This field is deprecated, please use most_disruptive_allowed_action.", + "enum": [ + "NONE", + "REFRESH", + "REPLACE", + "RESTART" + ], + "enumDescriptions": [ + "Do not perform any action.", + "Do not stop the instance.", + "(Default.) Replace the instance according to the replacement method option.", + "Stop the instance and start it again." + ], "type": "string" }, - "selfLink": { - "description": "[Output Only] The URL for this instance group. The server generates this URL.", + "minimalAction": { + "description": "The minimal action that you want to perform on each instance during the update: - REPLACE: At minimum, delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the minimum action is NONE. If your update requires a more disruptive action than you set with this flag, the necessary action is performed to execute the update.", + "enum": [ + "NONE", + "REFRESH", + "REPLACE", + "RESTART" + ], + "enumDescriptions": [ + "Do not perform any action.", + "Do not stop the instance.", + "(Default.) Replace the instance according to the replacement method option.", + "Stop the instance and start it again." + ], "type": "string" }, - "selfLinkWithId": { - "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "mostDisruptiveAllowedAction": { + "description": "The most disruptive action that you want to perform on each instance during the update: - REPLACE: Delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the most disruptive allowed action is REPLACE. If your update requires a more disruptive action than you set with this flag, the update request will fail.", + "enum": [ + "NONE", + "REFRESH", + "REPLACE", + "RESTART" + ], + "enumDescriptions": [ + "Do not perform any action.", + "Do not stop the instance.", + "(Default.) Replace the instance according to the replacement method option.", + "Stop the instance and start it again." + ], "type": "string" + } + }, + "type": "object" + }, + "InstanceGroupManagersCreateInstancesRequest": { + "description": "InstanceGroupManagers.createInstances", + "id": "InstanceGroupManagersCreateInstancesRequest", + "properties": { + "instances": { + "description": "[Required] List of specifications of per-instance configs.", + "items": { + "$ref": "PerInstanceConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "InstanceGroupManagersDeleteInstancesRequest": { + "id": "InstanceGroupManagersDeleteInstancesRequest", + "properties": { + "instanceNames": { + "description": "The list of instance names to delete. Queued instances do not have URL and can be deleted only by name. You cannot specify both URLs and names in a single request.", + "items": { + "type": "string" + }, + "type": "array" }, - "size": { - "description": "[Output Only] The total number of instances in the instance group.", - "format": "int32", - "type": "integer" - }, - "subnetwork": { - "description": "[Output Only] The URL of the subnetwork to which all instances in the instance group belong. If your instance has multiple network interfaces, then the network and subnetwork fields only refer to the network and subnet used by your primary interface (nic0).", - "type": "string" + "instances": { + "description": "The URLs of one or more instances to delete. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. Queued instances do not have URL and can be deleted only by name. One cannot specify both URLs and names in a single request.", + "items": { + "type": "string" + }, + "type": "array" }, - "zone": { - "description": "[Output Only] The URL of the zone where the instance group is located (for zonal resources).", - "type": "string" + "skipInstancesOnValidationError": { + "description": "Specifies whether the request should proceed despite the inclusion of instances that are not members of the group or that are already in the process of being deleted or abandoned. If this field is set to `false` and such an instance is specified in the request, the operation fails. The operation always fails if the request contains a malformed instance URL or a reference to an instance that exists in a zone or region other than the group's zone or region.", + "type": "boolean" } }, "type": "object" }, - "InstanceGroupAggregatedList": { - "id": "InstanceGroupAggregatedList", + "InstanceGroupManagersDeletePerInstanceConfigsReq": { + "description": "InstanceGroupManagers.deletePerInstanceConfigs", + "id": "InstanceGroupManagersDeletePerInstanceConfigsReq", + "properties": { + "names": { + "description": "The list of instance names for which we want to delete per-instance configs on this managed instance group.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "InstanceGroupManagersListErrorsResponse": { + "id": "InstanceGroupManagersListErrorsResponse", "properties": { - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", - "type": "string" - }, "items": { - "additionalProperties": { - "$ref": "InstanceGroupsScopedList", - "description": "The name of the scope that contains this set of instance groups." + "description": "[Output Only] The list of errors of the managed instance group.", + "items": { + "$ref": "InstanceManagedByIgmError" }, - "description": "A list of InstanceGroupsScopedList resources.", - "type": "object" - }, - "kind": { - "default": "compute#instanceGroupAggregatedList", - "description": "[Output Only] The resource type, which is always compute#instanceGroupAggregatedList for aggregated lists of instance groups.", - "type": "string" + "type": "array" }, "nextPageToken": { "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", "type": "string" + } + }, + "type": "object" + }, + "InstanceGroupManagersListManagedInstancesResponse": { + "id": "InstanceGroupManagersListManagedInstancesResponse", + "properties": { + "managedInstances": { + "description": "[Output Only] The list of instances in the managed instance group.", + "items": { + "$ref": "ManagedInstance" + }, + "type": "array" }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", "type": "string" - }, - "unreachables": { - "description": "[Output Only] Unreachable resources.", + } + }, + "type": "object" + }, + "InstanceGroupManagersListPerInstanceConfigsResp": { + "id": "InstanceGroupManagersListPerInstanceConfigsResp", + "properties": { + "items": { + "description": "[Output Only] The list of PerInstanceConfig.", "items": { - "type": "string" + "$ref": "PerInstanceConfig" }, "type": "array" }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, "warning": { "description": "[Output Only] Informational warning message.", "properties": { @@ -60640,6 +65425,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -60676,6 +65462,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -60700,6 +65487,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -60732,41 +65520,78 @@ "type": "string" } }, - "type": "object" + "type": "object" + } + }, + "type": "object" + }, + "InstanceGroupManagersPatchPerInstanceConfigsReq": { + "description": "InstanceGroupManagers.patchPerInstanceConfigs", + "id": "InstanceGroupManagersPatchPerInstanceConfigsReq", + "properties": { + "perInstanceConfigs": { + "description": "The list of per-instance configurations to insert or patch on this managed instance group.", + "items": { + "$ref": "PerInstanceConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "InstanceGroupManagersRecreateInstancesRequest": { + "id": "InstanceGroupManagersRecreateInstancesRequest", + "properties": { + "instances": { + "description": "The URLs of one or more instances to recreate. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "InstanceGroupManagersResizeAdvancedRequest": { + "id": "InstanceGroupManagersResizeAdvancedRequest", + "properties": { + "noCreationRetries": { + "description": "If this flag is true, the managed instance group attempts to create all instances initiated by this resize request only once. If there is an error during creation, the managed instance group does not retry create this instance, and we will decrease the targetSize of the request instead. If the flag is false, the group attempts to recreate each instance continuously until it succeeds. This flag matters only in the first attempt of creation of an instance. After an instance is successfully created while this flag is enabled, the instance behaves the same way as all the other instances created with a regular resize request. In particular, if a running instance dies unexpectedly at a later time and needs to be recreated, this mode does not affect the recreation behavior in that scenario. This flag is applicable only to the current resize request. It does not influence other resize requests in any way. You can see which instances is being creating in which mode by calling the get or listManagedInstances API.", + "type": "boolean" + }, + "targetSize": { + "description": "The number of running instances that the managed instance group should maintain at any given time. The group automatically adds or removes instances to maintain the number of instances specified by this parameter.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "InstanceGroupManagersResumeInstancesRequest": { + "id": "InstanceGroupManagersResumeInstancesRequest", + "properties": { + "instances": { + "description": "The URLs of one or more instances to resume. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "InstanceGroupList": { - "description": "A list of InstanceGroup resources.", - "id": "InstanceGroupList", + "InstanceGroupManagersScopedList": { + "id": "InstanceGroupManagersScopedList", "properties": { - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", - "type": "string" - }, - "items": { - "description": "A list of InstanceGroup resources.", + "instanceGroupManagers": { + "description": "[Output Only] The list of managed instance groups that are contained in the specified project and zone.", "items": { - "$ref": "InstanceGroup" + "$ref": "InstanceGroupManager" }, "type": "array" }, - "kind": { - "default": "compute#instanceGroupList", - "description": "[Output Only] The resource type, which is always compute#instanceGroupList for instance group lists.", - "type": "string" - }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", - "type": "string" - }, "warning": { - "description": "[Output Only] Informational warning message.", + "description": "[Output Only] The warning that replaces the list of managed instance groups when the list is empty.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", @@ -60792,6 +65617,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -60828,6 +65654,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -60852,6 +65679,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -60889,323 +65717,137 @@ }, "type": "object" }, - "InstanceGroupManager": { - "description": "Represents a Managed Instance Group resource. An instance group is a collection of VM instances that you can manage as a single entity. For more information, read Instance groups. For zonal Managed Instance Group, use the instanceGroupManagers resource. For regional Managed Instance Group, use the regionInstanceGroupManagers resource.", - "id": "InstanceGroupManager", + "InstanceGroupManagersSetAutoHealingRequest": { + "id": "InstanceGroupManagersSetAutoHealingRequest", "properties": { - "allInstancesConfig": { - "$ref": "InstanceGroupManagerAllInstancesConfig", - "description": "Specifies configuration that overrides the instance template configuration for the group." - }, "autoHealingPolicies": { - "description": "The autohealing policy for this managed instance group. You can specify only one value.", "items": { "$ref": "InstanceGroupManagerAutoHealingPolicy" }, "type": "array" - }, - "baseInstanceName": { - "description": "The base instance name is a prefix that you want to attach to the names of all VMs in a MIG. The maximum character length is 58 and the name must comply with RFC1035 format. When a VM is created in the group, the MIG appends a hyphen and a random four-character string to the base instance name. If you want the MIG to assign sequential numbers instead of a random string, then end the base instance name with a hyphen followed by one or more hash symbols. The hash symbols indicate the number of digits. For example, a base instance name of \"vm-###\" results in \"vm-001\" as a VM name. @pattern [a-z](([-a-z0-9]{0,57})|([-a-z0-9]{0,51}-#{1,10}(\\\\[[0-9]{1,10}\\\\])?))", - "type": "string" - }, - "creationTimestamp": { - "description": "[Output Only] The creation timestamp for this managed instance group in RFC3339 text format.", - "type": "string" - }, - "currentActions": { - "$ref": "InstanceGroupManagerActionsSummary", - "description": "[Output Only] The list of instance actions and the number of instances in this managed instance group that are scheduled for each of those actions." - }, - "description": { - "description": "An optional description of this resource.", - "type": "string" - }, - "distributionPolicy": { - "$ref": "DistributionPolicy", - "description": "Policy specifying the intended distribution of managed instances across zones in a regional managed instance group." - }, - "failoverAction": { - "description": "The action to perform in case of zone failure. Only one value is supported, NO_FAILOVER. The default is NO_FAILOVER.", - "enum": [ - "NO_FAILOVER", - "UNKNOWN" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "fingerprint": { - "description": "Fingerprint of this resource. This field may be used in optimistic locking. It will be ignored when inserting an InstanceGroupManager. An up-to-date fingerprint must be provided in order to update the InstanceGroupManager, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an InstanceGroupManager.", - "format": "byte", - "type": "string" - }, - "id": { - "description": "[Output Only] A unique identifier for this resource type. The server generates this identifier.", - "format": "uint64", - "type": "string" - }, - "instanceFlexibilityPolicy": { - "$ref": "InstanceGroupManagerInstanceFlexibilityPolicy", - "description": "Instance flexibility allowing MIG to create VMs from multiple types of machines. Instance flexibility configuration on MIG overrides instance template configuration." - }, - "instanceGroup": { - "description": "[Output Only] The URL of the Instance Group resource.", - "type": "string" - }, - "instanceLifecyclePolicy": { - "$ref": "InstanceGroupManagerInstanceLifecyclePolicy", - "description": "The repair policy for this managed instance group." - }, + } + }, + "type": "object" + }, + "InstanceGroupManagersSetInstanceTemplateRequest": { + "id": "InstanceGroupManagersSetInstanceTemplateRequest", + "properties": { "instanceTemplate": { "description": "The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE.", "type": "string" - }, - "kind": { - "default": "compute#instanceGroupManager", - "description": "[Output Only] The resource type, which is always compute#instanceGroupManager for managed instance groups.", - "type": "string" - }, - "listManagedInstancesResults": { - "description": "Pagination behavior of the listManagedInstances API method for this managed instance group.", - "enum": [ - "PAGELESS", - "PAGINATED" - ], - "enumDescriptions": [ - "(Default) Pagination is disabled for the group's listManagedInstances API method. maxResults and pageToken query parameters are ignored and all instances are returned in a single response.", - "Pagination is enabled for the group's listManagedInstances API method. maxResults and pageToken query parameters are respected." - ], - "type": "string" - }, - "multiMig": { - "description": "URL to the multi-MIG that this Managed Instance Group belongs to.", + } + }, + "type": "object" + }, + "InstanceGroupManagersSetTargetPoolsRequest": { + "id": "InstanceGroupManagersSetTargetPoolsRequest", + "properties": { + "fingerprint": { + "description": "The fingerprint of the target pools information. Use this optional property to prevent conflicts when multiple users change the target pools settings concurrently. Obtain the fingerprint with the instanceGroupManagers.get method. Then, include the fingerprint in your request to ensure that you do not overwrite changes that were applied from another concurrent request.", + "format": "byte", "type": "string" }, - "name": { - "annotations": { - "required": [ - "compute.instanceGroupManagers.insert", - "compute.regionInstanceGroupManagers.insert" - ] + "targetPools": { + "description": "The list of target pool URLs that instances in this managed instance group belong to. The managed instance group applies these target pools to all of the instances in the group. Existing instances and new instances in the group all receive these target pool settings.", + "items": { + "type": "string" }, - "description": "The name of the managed instance group. The name must be 1-63 characters long, and comply with RFC1035.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" - }, - "namedPorts": { - "description": "Named ports configured for the Instance Groups complementary to this Instance Group Manager.", + "type": "array" + } + }, + "type": "object" + }, + "InstanceGroupManagersStartInstancesRequest": { + "id": "InstanceGroupManagersStartInstancesRequest", + "properties": { + "instances": { + "description": "The URLs of one or more instances to start. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", "items": { - "$ref": "NamedPort" + "type": "string" }, "type": "array" - }, - "params": { - "$ref": "InstanceGroupManagerParams", - "description": "Input only. Additional params passed with the request, but not persisted as part of resource payload." - }, - "region": { - "description": "[Output Only] The URL of the region where the managed instance group resides (for regional resources).", - "type": "string" - }, - "resourcePolicies": { - "$ref": "InstanceGroupManagerResourcePolicies", - "description": "Resource policies for this managed instance group." - }, - "satisfiesPzi": { - "description": "[Output Only] Reserved for future use.", - "type": "boolean" - }, - "satisfiesPzs": { - "description": "[Output Only] Reserved for future use.", + } + }, + "type": "object" + }, + "InstanceGroupManagersStopInstancesRequest": { + "id": "InstanceGroupManagersStopInstancesRequest", + "properties": { + "forceStop": { + "description": "If this flag is set to true, the Instance Group Manager will proceed to stop the instances, skipping initialization on them.", "type": "boolean" }, - "selfLink": { - "description": "[Output Only] The URL for this managed instance group. The server defines this URL.", - "type": "string" - }, - "selfLinkWithId": { - "description": "[Output Only] Server-defined URL for this resource with the resource id.", - "type": "string" - }, - "serviceAccount": { - "description": "The service account to be used as credentials for all operations performed by the managed instance group on instances. The service accounts needs all permissions required to create and delete instances. By default, the service account {projectNumber}@cloudservices.gserviceaccount.com is used.", - "type": "string" - }, - "standbyPolicy": { - "$ref": "InstanceGroupManagerStandbyPolicy", - "description": "Standby policy for stopped and suspended instances." - }, - "statefulPolicy": { - "$ref": "StatefulPolicy", - "description": "Stateful configuration for this Instanced Group Manager" - }, - "status": { - "$ref": "InstanceGroupManagerStatus", - "description": "[Output Only] The status of this managed instance group." - }, - "targetPools": { - "description": "The URLs for all TargetPool resources to which instances in the instanceGroup field are added. The target pools automatically apply to all of the instances in the managed instance group.", + "instances": { + "description": "The URLs of one or more instances to stop. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", "items": { "type": "string" }, "type": "array" + } + }, + "type": "object" + }, + "InstanceGroupManagersSuspendInstancesRequest": { + "id": "InstanceGroupManagersSuspendInstancesRequest", + "properties": { + "forceSuspend": { + "description": "If this flag is set to true, the Instance Group Manager will proceed to suspend the instances, skipping initialization on them.", + "type": "boolean" }, - "targetSize": { - "annotations": { - "required": [ - "compute.instanceGroupManagers.insert", - "compute.regionInstanceGroupManagers.insert" - ] + "instances": { + "description": "The URLs of one or more instances to suspend. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", + "items": { + "type": "string" }, - "description": "The target number of running instances for this managed instance group. You can reduce this number by using the instanceGroupManager deleteInstances or abandonInstances methods. Resizing the group also changes this number.", - "format": "int32", - "type": "integer" - }, - "targetSizePolicy": { - "$ref": "InstanceGroupManagerTargetSizePolicy", - "description": "Configures how target size of MIG is achieved." - }, - "targetSizeUnit": { - "description": "The unit of measure for the target size.", - "enum": [ - "INSTANCE", - "VCPU" - ], - "enumDescriptions": [ - "[Default] TargetSize is the target number of instances.", - "TargetSize is the target count of vCPUs of VMs." - ], - "type": "string" - }, - "targetStoppedSize": { - "description": "The target number of stopped instances for this managed instance group. This number changes when you: - Stop instance using the stopInstances method or start instances using the startInstances method. - Manually change the targetStoppedSize using the update method. ", - "format": "int32", - "type": "integer" - }, - "targetSuspendedSize": { - "description": "The target number of suspended instances for this managed instance group. This number changes when you: - Suspend instance using the suspendInstances method or resume instances using the resumeInstances method. - Manually change the targetSuspendedSize using the update method. ", - "format": "int32", - "type": "integer" - }, - "updatePolicy": { - "$ref": "InstanceGroupManagerUpdatePolicy", - "description": "The update policy for this managed instance group." - }, - "versions": { - "description": "Specifies the instance templates used by this managed instance group to create instances. Each version is defined by an instanceTemplate and a name. Every version can appear at most once per instance group. This field overrides the top-level instanceTemplate field. Read more about the relationships between these fields. Exactly one version must leave the targetSize field unset. That version will be applied to all remaining instances. For more information, read about canary updates.", + "type": "array" + } + }, + "type": "object" + }, + "InstanceGroupManagersUpdatePerInstanceConfigsReq": { + "description": "InstanceGroupManagers.updatePerInstanceConfigs", + "id": "InstanceGroupManagersUpdatePerInstanceConfigsReq", + "properties": { + "perInstanceConfigs": { + "description": "The list of per-instance configurations to insert or patch on this managed instance group.", "items": { - "$ref": "InstanceGroupManagerVersion" + "$ref": "PerInstanceConfig" }, "type": "array" - }, - "zone": { - "description": "[Output Only] The URL of a zone where the managed instance group is located (for zonal resources).", - "type": "string" } }, "type": "object" }, - "InstanceGroupManagerActionsSummary": { - "id": "InstanceGroupManagerActionsSummary", + "InstanceGroupsAddInstancesRequest": { + "id": "InstanceGroupsAddInstancesRequest", "properties": { - "abandoning": { - "description": "[Output Only] The total number of instances in the managed instance group that are scheduled to be abandoned. Abandoning an instance removes it from the managed instance group without deleting it.", - "format": "int32", - "type": "integer" - }, - "creating": { - "description": "[Output Only] The number of instances in the managed instance group that are scheduled to be created or are currently being created. If the group fails to create any of these instances, it tries again until it creates the instance successfully. If you have disabled creation retries, this field will not be populated; instead, the creatingWithoutRetries field will be populated.", - "format": "int32", - "type": "integer" - }, - "creatingAtomically": { - "description": "[Output Only] The number of instances that the managed instance group will attempt to create atomically, in a batch mode. If the desired count of instances can not be created, entire batch will be deleted and the group will decrease its targetSize value accordingly.", - "format": "int32", - "type": "integer" - }, - "creatingWithoutRetries": { - "description": "[Output Only] The number of instances that the managed instance group will attempt to create. The group attempts to create each instance only once. If the group fails to create any of these instances, it decreases the group's targetSize value accordingly.", - "format": "int32", - "type": "integer" - }, - "deleting": { - "description": "[Output Only] The number of instances in the managed instance group that are scheduled to be deleted or are currently being deleted.", - "format": "int32", - "type": "integer" - }, - "none": { - "description": "[Output Only] The number of instances in the managed instance group that are running and have no scheduled actions.", - "format": "int32", - "type": "integer" - }, - "queuing": { - "description": "[Output Only] The number of instances that the managed instance group is currently queuing.", - "format": "int32", - "type": "integer" - }, - "recreating": { - "description": "[Output Only] The number of instances in the managed instance group that are scheduled to be recreated or are currently being being recreated. Recreating an instance deletes the existing root persistent disk and creates a new disk from the image that is defined in the instance template.", - "format": "int32", - "type": "integer" - }, - "refreshing": { - "description": "[Output Only] The number of instances in the managed instance group that are being reconfigured with properties that do not require a restart or a recreate action. For example, setting or removing target pools for the instance.", - "format": "int32", - "type": "integer" - }, - "restarting": { - "description": "[Output Only] The number of instances in the managed instance group that are scheduled to be restarted or are currently being restarted.", - "format": "int32", - "type": "integer" - }, - "resuming": { - "description": "[Output Only] The number of instances in the managed instance group that are scheduled to be resumed or are currently being resumed.", - "format": "int32", - "type": "integer" - }, - "starting": { - "description": "[Output Only] The number of instances in the managed instance group that are scheduled to be started or are currently being started.", - "format": "int32", - "type": "integer" - }, - "stopping": { - "description": "[Output Only] The number of instances in the managed instance group that are scheduled to be stopped or are currently being stopped.", - "format": "int32", - "type": "integer" - }, - "suspending": { - "description": "[Output Only] The number of instances in the managed instance group that are scheduled to be suspended or are currently being suspended.", - "format": "int32", - "type": "integer" - }, - "verifying": { - "description": "[Output Only] The number of instances in the managed instance group that are being verified. See the managedInstances[].currentAction property in the listManagedInstances method documentation.", - "format": "int32", - "type": "integer" + "instances": { + "description": "The list of instances to add to the instance group.", + "items": { + "$ref": "InstanceReference" + }, + "type": "array" } }, "type": "object" }, - "InstanceGroupManagerAggregatedList": { - "id": "InstanceGroupManagerAggregatedList", + "InstanceGroupsListInstances": { + "id": "InstanceGroupsListInstances", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "additionalProperties": { - "$ref": "InstanceGroupManagersScopedList", - "description": "[Output Only] The name of the scope that contains this set of managed instance groups." + "description": "A list of InstanceWithNamedPorts resources.", + "items": { + "$ref": "InstanceWithNamedPorts" }, - "description": "A list of InstanceGroupManagersScopedList resources.", - "type": "object" + "type": "array" }, "kind": { - "default": "compute#instanceGroupManagerAggregatedList", - "description": "[Output Only] The resource type, which is always compute#instanceGroupManagerAggregatedList for an aggregated list of managed instance groups.", + "default": "compute#instanceGroupsListInstances", + "description": "[Output Only] The resource type, which is always compute#instanceGroupsListInstances for the list of instances in the specified instance group.", "type": "string" }, "nextPageToken": { @@ -61216,13 +65858,6 @@ "description": "[Output Only] Server-defined URL for this resource.", "type": "string" }, - "unreachables": { - "description": "[Output Only] Unreachable resources.", - "items": { - "type": "string" - }, - "type": "array" - }, "warning": { "description": "[Output Only] Informational warning message.", "properties": { @@ -61250,6 +65885,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -61286,6 +65922,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -61310,6 +65947,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -61347,208 +65985,49 @@ }, "type": "object" }, - "InstanceGroupManagerAllInstancesConfig": { - "id": "InstanceGroupManagerAllInstancesConfig", - "properties": { - "properties": { - "$ref": "InstancePropertiesPatch", - "description": "Properties to set on all instances in the group. You can add or modify properties using the instanceGroupManagers.patch or regionInstanceGroupManagers.patch. After setting allInstancesConfig on the group, you must update the group's instances to apply the configuration. To apply the configuration, set the group's updatePolicy.type field to use proactive updates or use the applyUpdatesToInstances method." - } - }, - "type": "object" - }, - "InstanceGroupManagerAutoHealingPolicy": { - "id": "InstanceGroupManagerAutoHealingPolicy", - "properties": { - "autoHealingTriggers": { - "$ref": "InstanceGroupManagerAutoHealingPolicyAutoHealingTriggers", - "description": "Restricts what triggers autohealing." - }, - "healthCheck": { - "description": "The URL for the health check that signals autohealing.", - "type": "string" - }, - "initialDelaySec": { - "description": "The initial delay is the number of seconds that a new VM takes to initialize and run its startup script. During a VM's initial delay period, the MIG ignores unsuccessful health checks because the VM might be in the startup process. This prevents the MIG from prematurely recreating a VM. If the health check receives a healthy response during the initial delay, it indicates that the startup process is complete and the VM is ready. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.", - "format": "int32", - "type": "integer" - }, - "maxUnavailable": { - "$ref": "FixedOrPercent", - "description": "Maximum number of instances that can be unavailable when autohealing. When 'percent' is used, the value is rounded if necessary. The instance is considered available if all of the following conditions are satisfied: 1. Instance's status is RUNNING. 2. Instance's currentAction is NONE (in particular its liveness health check result was observed to be HEALTHY at least once as it passed VERIFYING). 3. There is no outgoing action on an instance triggered by IGM. By default, number of concurrently autohealed instances is smaller than the managed instance group target size. However, if a zonal managed instance group has only one instance, or a regional managed instance group has only one instance per zone, autohealing will recreate these instances when they become unhealthy." - } - }, - "type": "object" - }, - "InstanceGroupManagerAutoHealingPolicyAutoHealingTriggers": { - "id": "InstanceGroupManagerAutoHealingPolicyAutoHealingTriggers", - "properties": { - "onHealthCheck": { - "description": "If you have configured an application-based health check for the group, this field controls whether to trigger VM autohealing based on a failed health check. Valid values are: - ON (default): The group recreates running VMs that fail the application-based health check. - OFF: When set to OFF, you can still observe instance health state, but the group does not recreate VMs that fail the application-based health check. This is useful for troubleshooting and setting up your health check configuration. ", - "enum": [ - "OFF", - "ON" - ], - "enumDescriptions": [ - "When set to OFF, you can still observe instance health state, but the group does not recreate VMs that fail the application-based health check. This is useful for troubleshooting and setting up your health check configuration.", - "(Default) The group recreates running VMs that fail the group's application-based health check." - ], - "type": "string" - } - }, - "type": "object" - }, - "InstanceGroupManagerInstanceFlexibilityPolicy": { - "id": "InstanceGroupManagerInstanceFlexibilityPolicy", - "properties": { - "instanceSelectionLists": { - "additionalProperties": { - "$ref": "InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection" - }, - "description": "Named instance selections configuring properties that the group will use when creating new VMs.", - "type": "object" - }, - "instanceSelections": { - "additionalProperties": { - "$ref": "InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection" - }, - "description": "Named instance selections configuring properties that the group will use when creating new VMs.", - "type": "object" - }, - "provisioningModelMix": { - "$ref": "InstanceGroupManagerInstanceFlexibilityPolicyProvisioningModelMix", - "description": "Provisioning model configuration used by this managed instance group to create instances." - } - }, - "type": "object" - }, - "InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection": { - "id": "InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection", - "properties": { - "machineTypes": { - "description": "Full machine-type names, e.g. \"n1-standard-16\".", - "items": { - "type": "string" - }, - "type": "array" - }, - "rank": { - "description": "Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "InstanceGroupManagerInstanceFlexibilityPolicyProvisioningModelMix": { - "id": "InstanceGroupManagerInstanceFlexibilityPolicyProvisioningModelMix", - "properties": { - "standardCapacityBase": { - "description": "The base capacity that will always use Standard VMs to avoid risk of more preemption than the minimum capacity user needs. MIG will create only Standard VMs until it reaches standard_capacity_base and only then will start using standard_capacity_percent_above_base to mix Spot with Standard VMs.", - "format": "int32", - "type": "integer" - }, - "standardCapacityPercentAboveBase": { - "description": "The percentage of target capacity that should use Standard VM. The remaining percentage will use Spot VMs. The percentage applies only to the capacity above standard_capacity_base.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "InstanceGroupManagerInstanceLifecyclePolicy": { - "id": "InstanceGroupManagerInstanceLifecyclePolicy", + "InstanceGroupsListInstancesRequest": { + "id": "InstanceGroupsListInstancesRequest", "properties": { - "defaultActionOnFailure": { - "description": "The action that a MIG performs on a failed or an unhealthy VM. A VM is marked as unhealthy when the application running on that VM fails a health check. Valid values are - REPAIR (default): MIG automatically repairs a failed or an unhealthy VM by recreating it. For more information, see About repairing VMs in a MIG. - DO_NOTHING: MIG does not repair a failed or an unhealthy VM. ", - "enum": [ - "DELETE", - "DO_NOTHING", - "REPAIR" - ], - "enumDescriptions": [ - "MIG deletes a failed or an unhealthy VM. Deleting the VM decreases the target size of the MIG.", - "MIG does not repair a failed or an unhealthy VM.", - "(Default) MIG automatically repairs a failed or an unhealthy VM by recreating it. For more information, see About repairing VMs in a MIG." - ], - "type": "string" - }, - "forceUpdateOnRepair": { - "description": "A bit indicating whether to forcefully apply the group's latest configuration when repairing a VM. Valid options are: - NO (default): If configuration updates are available, they are not forcefully applied during repair. Instead, configuration updates are applied according to the group's update policy. - YES: If configuration updates are available, they are applied during repair. ", - "enum": [ - "NO", - "YES" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "metadataBasedReadinessSignal": { - "$ref": "InstanceGroupManagerInstanceLifecyclePolicyMetadataBasedReadinessSignal", - "deprecated": true, - "description": "The configuration for metadata based readiness signal sent by the instance during initialization when stopping / suspending an instance. The Instance Group Manager will wait for a signal that indicates successful initialization before stopping / suspending an instance. If a successful readiness signal is not sent before timeout, the corresponding instance will not be stopped / suspended. Instead, an error will be visible in the lastAttempt.errors field of the managed instance in the listmanagedinstances method. If metadataBasedReadinessSignal.timeoutSec is unset, the Instance Group Manager will directly proceed to suspend / stop instances, skipping initialization on them." - }, - "onFailedHealthCheck": { - "description": "The action that a MIG performs on an unhealthy VM. A VM is marked as unhealthy when the application running on that VM fails a health check. Valid values are: - DEFAULT_ACTION (default): The MIG performs the same action as specified in the instanceLifecyclePolicy.defaultActionOnFailure field. If the defaultActionOnFailure field is set to REPAIR, then the MIG repairs unhealthy VMs. If the defaultActionOnFailure field is set to DO_NOTHING, then the MIG doesn't repair unhealthy VMs. - REPAIR: The MIG repairs unhealthy VMs by recreating it. - DO_NOTHING: The MIG doesn't repair unhealthy VMs. For more information, see About repairing VMs in a MIG. ", + "instanceState": { + "description": "A filter for the state of the instances in the instance group. Valid options are ALL or RUNNING. If you do not specify this parameter the list includes all instances regardless of their state.", "enum": [ - "DEFAULT_ACTION", - "DO_NOTHING", - "REPAIR" + "ALL", + "RUNNING" ], "enumDescriptions": [ - "(Default) The MIG performs the same action as specified in the instanceLifecyclePolicy.defaultActionOnFailure field. If the defaultActionOnFailure field is set to REPAIR, then the MIG repairs unhealthy VMs. If the defaultActionOnFailure field is set to DO_NOTHING, then the MIG doesn't repair unhealthy VMs.", - "The MIG doesn't repair unhealthy VMs.", - "The MIG repairs unhealthy VMs by recreating it." + "Includes all instances in the generated list regardless of their state.", + "Includes instances in the generated list only if they have a RUNNING state." ], "type": "string" } }, "type": "object" }, - "InstanceGroupManagerInstanceLifecyclePolicyMetadataBasedReadinessSignal": { - "deprecated": true, - "id": "InstanceGroupManagerInstanceLifecyclePolicyMetadataBasedReadinessSignal", + "InstanceGroupsRemoveInstancesRequest": { + "id": "InstanceGroupsRemoveInstancesRequest", "properties": { - "timeoutSec": { - "description": "The number of seconds to wait for a readiness signal during initialization before timing out.", - "format": "int32", - "type": "integer" + "instances": { + "description": "The list of instances to remove from the instance group.", + "items": { + "$ref": "InstanceReference" + }, + "type": "array" } }, "type": "object" }, - "InstanceGroupManagerList": { - "description": "[Output Only] A list of managed instance groups.", - "id": "InstanceGroupManagerList", + "InstanceGroupsScopedList": { + "id": "InstanceGroupsScopedList", "properties": { - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", - "type": "string" - }, - "items": { - "description": "A list of InstanceGroupManager resources.", + "instanceGroups": { + "description": "[Output Only] The list of instance groups that are contained in this scope.", "items": { - "$ref": "InstanceGroupManager" + "$ref": "InstanceGroup" }, "type": "array" }, - "kind": { - "default": "compute#instanceGroupManagerList", - "description": "[Output Only] The resource type, which is always compute#instanceGroupManagerList for a list of managed instance groups.", - "type": "string" - }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", - "type": "string" - }, "warning": { - "description": "[Output Only] Informational warning message.", + "description": "[Output Only] An informational warning that replaces the list of instance groups when the list is empty.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", @@ -61574,6 +66053,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -61610,6 +66090,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -61634,6 +66115,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -61671,264 +66153,42 @@ }, "type": "object" }, - "InstanceGroupManagerParams": { - "description": "Input only additional params for instance group manager creation.", - "id": "InstanceGroupManagerParams", - "properties": { - "resourceManagerTags": { - "additionalProperties": { - "type": "string" - }, - "description": "Resource manager tags to bind to the managed instance group. The tags are key-value pairs. Keys must be in the format tagKeys/123 and values in the format tagValues/456. For more information, see Manage tags for resources.", - "type": "object" - } - }, - "type": "object" - }, - "InstanceGroupManagerResizeRequest": { - "description": "InstanceGroupManagerResizeRequest represents a request to create a number of VMs: either immediately or by queuing the request for the specified time. This resize request is nested under InstanceGroupManager and the VMs created by this request are added to the owning InstanceGroupManager.", - "id": "InstanceGroupManagerResizeRequest", + "InstanceGroupsSetNamedPortsRequest": { + "id": "InstanceGroupsSetNamedPortsRequest", "properties": { - "count": { - "deprecated": true, - "description": "This field is deprecated, please use resize_by instead. The count of instances to create as part of this resize request.", - "format": "int32", - "type": "integer" - }, - "creationTimestamp": { - "description": "[Output Only] The creation timestamp for this resize request in RFC3339 text format.", - "type": "string" - }, - "description": { - "description": "An optional description of this resource.", - "type": "string" - }, - "id": { - "description": "[Output Only] A unique identifier for this resource type. The server generates this identifier.", - "format": "uint64", - "type": "string" - }, - "kind": { - "default": "compute#instanceGroupManagerResizeRequest", - "description": "[Output Only] The resource type, which is always compute#instanceGroupManagerResizeRequest for resize requests.", - "type": "string" - }, - "name": { - "annotations": { - "required": [ - "compute.instanceGroupManagerResizeRequests.insert" - ] - }, - "description": "The name of this resize request. The name must be 1-63 characters long, and comply with RFC1035.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" - }, - "queuingPolicy": { - "$ref": "QueuingPolicy", - "deprecated": true, - "description": "This field is deprecated, ResizeRequests would not be provisioned immediately and would stay in the queue until explicitly cancelled. When set, defines queing parameters for the requested deferred capacity. When unset, the request starts provisioning immediately, or fails if immediate provisioning is not possible." - }, - "region": { - "description": "[Output Only] The URL of a region where the resize request is located. Populated only for regional resize requests.", - "type": "string" - }, - "requestedRunDuration": { - "$ref": "Duration", - "description": "Requested run duration for instances that will be created by this request. At the end of the run duration instance will be deleted." - }, - "resizeBy": { - "description": "The number of instances to be created by this resize request. The group's target size will be increased by this number. This field cannot be used together with 'instances'.", - "format": "int32", - "type": "integer" - }, - "selfLink": { - "description": "[Output Only] The URL for this resize request. The server defines this URL.", - "type": "string" - }, - "selfLinkWithId": { - "description": "[Output Only] Server-defined URL for this resource with the resource id.", - "type": "string" - }, - "state": { - "description": "[Output only] Current state of the request.", - "enum": [ - "ACCEPTED", - "CANCELLED", - "CREATING", - "DELETING", - "FAILED", - "PROVISIONING", - "STATE_UNSPECIFIED", - "SUCCEEDED" - ], - "enumDeprecated": [ - false, - false, - false, - true, - false, - true, - false, - false - ], - "enumDescriptions": [ - "The request was created successfully and was accepted for provisioning when the capacity becomes available.", - "The request is cancelled.", - "Resize request is being created and may still fail creation.", - "The value is deprecated. ResizeRequests would not change state while being deleted. The request is being deleted.", - "The request failed before or during provisioning. If the request fails during provisioning, any VMs that were created during provisioning are rolled back and removed from the MIG.", - "The value is deprecated. ResizeRequests would stay in the ACCEPTED state during provisioning attempts. The target resource(s) are being provisioned.", - "Default value. This value should never be returned.", - "The request succeeded." - ], - "type": "string" - }, - "status": { - "$ref": "InstanceGroupManagerResizeRequestStatus", - "description": "[Output only] Status of the request." - }, - "zone": { - "description": "[Output Only] The URL of a zone where the resize request is located. Populated only for zonal resize requests.", + "fingerprint": { + "description": "The fingerprint of the named ports information for this instance group. Use this optional property to prevent conflicts when multiple users change the named ports settings concurrently. Obtain the fingerprint with the instanceGroups.get method. Then, include the fingerprint in your request to ensure that you do not overwrite changes that were applied from another concurrent request. A request with an incorrect fingerprint will fail with error 412 conditionNotMet.", + "format": "byte", "type": "string" - } - }, - "type": "object" - }, - "InstanceGroupManagerResizeRequestStatus": { - "id": "InstanceGroupManagerResizeRequestStatus", - "properties": { - "error": { - "description": "[Output only] Fatal errors encountered during the queueing or provisioning phases of the ResizeRequest that caused the transition to the FAILED state. Contrary to the last_attempt errors, this field is final and errors are never removed from here, as the ResizeRequest is not going to retry.", - "properties": { - "errors": { - "description": "[Output Only] The array of errors encountered while processing this operation.", - "items": { - "properties": { - "code": { - "description": "[Output Only] The error type identifier for this error.", - "type": "string" - }, - "errorDetails": { - "description": "[Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.", - "items": { - "properties": { - "errorInfo": { - "$ref": "ErrorInfo" - }, - "help": { - "$ref": "Help" - }, - "localizedMessage": { - "$ref": "LocalizedMessage" - }, - "quotaInfo": { - "$ref": "QuotaExceededInfo" - } - }, - "type": "object" - }, - "type": "array" - }, - "location": { - "description": "[Output Only] Indicates the field in the request that caused the error. This property is optional.", - "type": "string" - }, - "message": { - "description": "[Output Only] An optional, human-readable error message.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - }, - "lastAttempt": { - "$ref": "InstanceGroupManagerResizeRequestStatusLastAttempt", - "description": "[Output only] Information about the last attempt to fulfill the request. The value is temporary since the ResizeRequest can retry, as long as it's still active and the last attempt value can either be cleared or replaced with a different error. Since ResizeRequest retries infrequently, the value may be stale and no longer show an active problem. The value is cleared when ResizeRequest transitions to the final state (becomes inactive). If the final state is FAILED the error describing it will be storred in the \"error\" field only." }, - "queuingPolicy": { - "$ref": "QueuingPolicy", - "deprecated": true, - "description": "This field is deprecated, setting queueing policy is no longer supported. Constraints for the time when the instances start provisioning. Always exposed as absolute time." - } - }, - "type": "object" - }, - "InstanceGroupManagerResizeRequestStatusLastAttempt": { - "id": "InstanceGroupManagerResizeRequestStatusLastAttempt", - "properties": { - "error": { - "description": "Errors that prevented the ResizeRequest to be fulfilled.", - "properties": { - "errors": { - "description": "[Output Only] The array of errors encountered while processing this operation.", - "items": { - "properties": { - "code": { - "description": "[Output Only] The error type identifier for this error.", - "type": "string" - }, - "errorDetails": { - "description": "[Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.", - "items": { - "properties": { - "errorInfo": { - "$ref": "ErrorInfo" - }, - "help": { - "$ref": "Help" - }, - "localizedMessage": { - "$ref": "LocalizedMessage" - }, - "quotaInfo": { - "$ref": "QuotaExceededInfo" - } - }, - "type": "object" - }, - "type": "array" - }, - "location": { - "description": "[Output Only] Indicates the field in the request that caused the error. This property is optional.", - "type": "string" - }, - "message": { - "description": "[Output Only] An optional, human-readable error message.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - } + "namedPorts": { + "description": "The list of named ports to set for this instance group.", + "items": { + "$ref": "NamedPort" }, - "type": "object" + "type": "array" } }, "type": "object" }, - "InstanceGroupManagerResizeRequestsListResponse": { - "description": "[Output Only] A list of resize requests.", - "id": "InstanceGroupManagerResizeRequestsListResponse", + "InstanceList": { + "description": "Contains a list of instances.", + "id": "InstanceList", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "description": "A list of resize request resources.", + "description": "A list of Instance resources.", "items": { - "$ref": "InstanceGroupManagerResizeRequest" + "$ref": "Instance" }, "type": "array" }, "kind": { - "default": "compute#instanceGroupManagerResizeRequestList", - "description": "[Output Only] Type of the resource. Always compute#instanceGroupManagerResizeRequestList for a list of resize requests.", + "default": "compute#instanceList", + "description": "[Output Only] Type of resource. Always compute#instanceList for lists of Instance resources.", "type": "string" }, "nextPageToken": { @@ -61966,6 +66226,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -62002,6 +66263,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -62026,6 +66288,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -62063,503 +66326,618 @@ }, "type": "object" }, - "InstanceGroupManagerResourcePolicies": { - "id": "InstanceGroupManagerResourcePolicies", + "InstanceListReferrers": { + "description": "Contains a list of instance referrers.", + "id": "InstanceListReferrers", "properties": { - "workloadPolicy": { - "description": "The URL of the workload policy that is specified for this managed instance group. It can be a full or partial URL. For example, the following are all valid URLs to a workload policy: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy ", + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" - } - }, - "type": "object" - }, - "InstanceGroupManagerStandbyPolicy": { - "id": "InstanceGroupManagerStandbyPolicy", - "properties": { - "initialDelaySec": { - "description": "Specifies the number of seconds that the MIG should wait to suspend or stop a VM after that VM was created. The initial delay gives the initialization script the time to prepare your VM for a quick scale out. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.", - "format": "int32", - "type": "integer" }, - "mode": { - "description": "Defines how a MIG resumes or starts VMs from a standby pool when the group scales out. The default mode is `MANUAL`.", - "enum": [ - "MANUAL", - "SCALE_OUT_POOL" - ], - "enumDescriptions": [ - "MIG does not automatically resume or start VMs in the standby pool when the group scales out.", - "MIG automatically resumes or starts VMs in the standby pool when the group scales out, and replenishes the standby pool afterwards." - ], - "type": "string" - } - }, - "type": "object" - }, - "InstanceGroupManagerStatus": { - "id": "InstanceGroupManagerStatus", - "properties": { - "allInstancesConfig": { - "$ref": "InstanceGroupManagerStatusAllInstancesConfig", - "description": "[Output only] Status of all-instances configuration on the group." + "items": { + "description": "A list of Reference resources.", + "items": { + "$ref": "Reference" + }, + "type": "array" }, - "autoscaler": { - "description": "[Output Only] The URL of the Autoscaler that targets this instance group manager.", + "kind": { + "default": "compute#instanceListReferrers", + "description": "[Output Only] Type of resource. Always compute#instanceListReferrers for lists of Instance referrers.", "type": "string" }, - "bulkInstanceOperation": { - "$ref": "InstanceGroupManagerStatusBulkInstanceOperation", - "description": "[Output Only] Status of bulk instance operation." - }, - "isStable": { - "description": "[Output Only] A bit indicating whether the managed instance group is in a stable state. A stable state means that: none of the instances in the managed instance group is currently undergoing any type of change (for example, creation, restart, or deletion); no future changes are scheduled for instances in the managed instance group; and the managed instance group itself is not being modified.", - "type": "boolean" - }, - "stateful": { - "$ref": "InstanceGroupManagerStatusStateful", - "description": "[Output Only] Stateful status of the given Instance Group Manager." - }, - "versionTarget": { - "$ref": "InstanceGroupManagerStatusVersionTarget", - "description": "[Output Only] A status of consistency of Instances' versions with their target version specified by version field on Instance Group Manager." - } - }, - "type": "object" - }, - "InstanceGroupManagerStatusAllInstancesConfig": { - "id": "InstanceGroupManagerStatusAllInstancesConfig", - "properties": { - "currentRevision": { - "description": "[Output Only] Current all-instances configuration revision. This value is in RFC3339 text format.", + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", "type": "string" }, - "effective": { - "description": "[Output Only] A bit indicating whether this configuration has been applied to all managed instances in the group.", - "type": "boolean" - } - }, - "type": "object" - }, - "InstanceGroupManagerStatusBulkInstanceOperation": { - "id": "InstanceGroupManagerStatusBulkInstanceOperation", - "properties": { - "inProgress": { - "description": "[Output Only] Informs whether bulk instance operation is in progress.", - "type": "boolean" + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" }, - "lastProgressCheck": { - "$ref": "InstanceGroupManagerStatusBulkInstanceOperationLastProgressCheck", - "description": "[Output Only] Information from last progress check of bulk instance operation." - } - }, - "type": "object" - }, - "InstanceGroupManagerStatusBulkInstanceOperationLastProgressCheck": { - "id": "InstanceGroupManagerStatusBulkInstanceOperationLastProgressCheck", - "properties": { - "error": { - "description": "[Output Only] Contains errors encountered during bulk instance operation.", + "warning": { + "description": "[Output Only] Informational warning message.", "properties": { - "errors": { - "description": "[Output Only] The array of errors encountered while processing this operation.", + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", "items": { "properties": { - "code": { - "description": "[Output Only] The error type identifier for this error.", - "type": "string" - }, - "errorDetails": { - "description": "[Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.", - "items": { - "properties": { - "errorInfo": { - "$ref": "ErrorInfo" - }, - "help": { - "$ref": "Help" - }, - "localizedMessage": { - "$ref": "LocalizedMessage" - }, - "quotaInfo": { - "$ref": "QuotaExceededInfo" - } - }, - "type": "object" - }, - "type": "array" - }, - "location": { - "description": "[Output Only] Indicates the field in the request that caused the error. This property is optional.", + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", "type": "string" }, - "message": { - "description": "[Output Only] An optional, human-readable error message.", + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", "type": "string" } }, "type": "object" }, "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" } }, "type": "object" - }, - "timestamp": { - "description": "[Output Only] Timestamp of the last progress check of bulk instance operation. Timestamp is in RFC3339 text format.", - "format": "google-datetime", - "type": "string" } }, "type": "object" }, - "InstanceGroupManagerStatusStateful": { - "id": "InstanceGroupManagerStatusStateful", + "InstanceManagedByIgmError": { + "id": "InstanceManagedByIgmError", "properties": { - "hasStatefulConfig": { - "description": "[Output Only] A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful configuration even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions.", - "type": "boolean" + "error": { + "$ref": "InstanceManagedByIgmErrorManagedInstanceError", + "description": "[Output Only] Contents of the error." }, - "isStateful": { - "deprecated": true, - "description": "[Output Only] A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful configuration even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions. This field is deprecated in favor of has_stateful_config.", - "type": "boolean" + "instanceActionDetails": { + "$ref": "InstanceManagedByIgmErrorInstanceActionDetails", + "description": "[Output Only] Details of the instance action that triggered this error. May be null, if the error was not caused by an action on an instance. This field is optional." }, - "perInstanceConfigs": { - "$ref": "InstanceGroupManagerStatusStatefulPerInstanceConfigs", - "description": "[Output Only] Status of per-instance configurations on the instances." - } - }, - "type": "object" - }, - "InstanceGroupManagerStatusStatefulPerInstanceConfigs": { - "id": "InstanceGroupManagerStatusStatefulPerInstanceConfigs", - "properties": { - "allEffective": { - "description": "A bit indicating if all of the group's per-instance configurations (listed in the output of a listPerInstanceConfigs API call) have status EFFECTIVE or there are no per-instance-configs.", - "type": "boolean" - } - }, - "type": "object" - }, - "InstanceGroupManagerStatusVersionTarget": { - "id": "InstanceGroupManagerStatusVersionTarget", - "properties": { - "isReached": { - "description": "[Output Only] A bit indicating whether version target has been reached in this managed instance group, i.e. all instances are in their target version. Instances' target version are specified by version field on Instance Group Manager.", - "type": "boolean" - } - }, - "type": "object" - }, - "InstanceGroupManagerTargetSizePolicy": { - "id": "InstanceGroupManagerTargetSizePolicy", - "properties": { - "mode": { - "description": "Mode in which operations on size are processed.", - "enum": [ - "BULK", - "INDIVIDUAL", - "UNSPECIFIED_MODE" - ], - "enumDescriptions": [ - "Mode in which MIG creates and starts VMs in all-or-nothing manner. If any VM from the request cannot be provisioned, the whole request waits for conditions that allow for provisioning whole capacity in bulk.", - "Default mode in which MIG creates and starts VMs individually without cross-dependency between VMs. This means that in case of something blocking part of VMs to be provisioned, the other part will be created.", - "If mode is unspecified, MIG will behave as in the default `INDIVIDUAL` mode." - ], + "timestamp": { + "description": "[Output Only] The time that this error occurred. This value is in RFC3339 text format.", "type": "string" } }, "type": "object" }, - "InstanceGroupManagerUpdatePolicy": { - "id": "InstanceGroupManagerUpdatePolicy", + "InstanceManagedByIgmErrorInstanceActionDetails": { + "id": "InstanceManagedByIgmErrorInstanceActionDetails", "properties": { - "instanceRedistributionType": { - "description": "The instance redistribution policy for regional managed instance groups. Valid values are: - PROACTIVE (default): The group attempts to maintain an even distribution of VM instances across zones in the region. - NONE: For non-autoscaled groups, proactive redistribution is disabled. ", - "enum": [ - "NONE", - "PROACTIVE" - ], - "enumDescriptions": [ - "No action is being proactively performed in order to bring this IGM to its target instance distribution.", - "This IGM will actively converge to its target instance distribution." - ], - "type": "string" - }, - "maxSurge": { - "$ref": "FixedOrPercent", - "description": "The maximum number of instances that can be created above the specified targetSize during the update process. This value can be either a fixed number or, if the group has 10 or more instances, a percentage. If you set a percentage, the number of instances is rounded if necessary. The default value for maxSurge is a fixed value equal to the number of zones in which the managed instance group operates. At least one of either maxSurge or maxUnavailable must be greater than 0. Learn more about maxSurge." - }, - "maxUnavailable": { - "$ref": "FixedOrPercent", - "description": "The maximum number of instances that can be unavailable during the update process. An instance is considered available if all of the following conditions are satisfied: - The instance's status is RUNNING. - If there is a health check on the instance group, the instance's health check status must be HEALTHY at least once. If there is no health check on the group, then the instance only needs to have a status of RUNNING to be considered available. This value can be either a fixed number or, if the group has 10 or more instances, a percentage. If you set a percentage, the number of instances is rounded if necessary. The default value for maxUnavailable is a fixed value equal to the number of zones in which the managed instance group operates. At least one of either maxSurge or maxUnavailable must be greater than 0. Learn more about maxUnavailable." - }, - "minReadySec": { - "description": "Minimum number of seconds to wait for after a newly created instance becomes available. This value must be from range [0, 3600].", - "format": "int32", - "type": "integer" - }, - "minimalAction": { - "description": "Minimal action to be taken on an instance. Use this option to minimize disruption as much as possible or to apply a more disruptive action than is necessary. - To limit disruption as much as possible, set the minimal action to REFRESH. If your update requires a more disruptive action, Compute Engine performs the necessary action to execute the update. - To apply a more disruptive action than is strictly necessary, set the minimal action to RESTART or REPLACE. For example, Compute Engine does not need to restart a VM to change its metadata. But if your application reads instance metadata only when a VM is restarted, you can set the minimal action to RESTART in order to pick up metadata changes. ", + "action": { + "description": "[Output Only] Action that managed instance group was executing on the instance when the error occurred. Possible values:", "enum": [ + "ABANDONING", + "CREATING", + "CREATING_ATOMICALLY", + "CREATING_WITHOUT_RETRIES", + "DELETING", "NONE", - "REFRESH", - "REPLACE", - "RESTART" + "QUEUING", + "RECREATING", + "REFRESHING", + "RESTARTING", + "RESUMING", + "STARTING", + "STOPPING", + "SUSPENDING", + "VERIFYING" ], "enumDescriptions": [ - "Do not perform any action.", - "Do not stop the instance.", - "(Default.) Replace the instance according to the replacement method option.", - "Stop the instance and start it again." + "The managed instance group is abandoning this instance. The instance will be removed from the instance group and from any target pools that are associated with this group.", + "The managed instance group is creating this instance. If the group fails to create this instance, it will try again until it is successful.", + "The managed instance group is creating this instance atomically.", + "The managed instance group is attempting to create this instance only once. If the group fails to create this instance, it does not try again and the group's targetSize value is decreased.", + "The managed instance group is permanently deleting this instance.", + "The managed instance group has not scheduled any actions for this instance.", + "The managed instance group is queuing this instance.", + "The managed instance group is recreating this instance.", + "The managed instance group is applying configuration changes to the instance without stopping it. For example, the group can update the target pool list for an instance without stopping that instance.", + "The managed instance group is restarting this instance.", + "The managed instance group is resuming this instance.", + "The managed instance group is starting this instance.", + "The managed instance group is stopping this instance.", + "The managed instance group is suspending this instance.", + "The managed instance group is verifying this already created instance. Verification happens every time the instance is (re)created or restarted and consists of: 1. Waiting until health check specified as part of this managed instance group's autohealing policy reports HEALTHY. Note: Applies only if autohealing policy has a health check specified 2. Waiting for addition verification steps performed as post-instance creation (subject to future extensions)." ], "type": "string" }, - "mostDisruptiveAllowedAction": { - "description": "Most disruptive action that is allowed to be taken on an instance. You can specify either NONE to forbid any actions, REFRESH to avoid restarting the VM and to limit disruption as much as possible. RESTART to allow actions that can be applied without instance replacing or REPLACE to allow all possible actions. If the Updater determines that the minimal update action needed is more disruptive than most disruptive allowed action you specify it will not perform the update at all.", - "enum": [ - "NONE", - "REFRESH", - "REPLACE", - "RESTART" - ], - "enumDescriptions": [ - "Do not perform any action.", - "Do not stop the instance.", - "(Default.) Replace the instance according to the replacement method option.", - "Stop the instance and start it again." - ], + "instance": { + "description": "[Output Only] The URL of the instance. The URL can be set even if the instance has not yet been created.", "type": "string" }, - "replacementMethod": { - "description": "What action should be used to replace instances. See minimal_action.REPLACE", - "enum": [ - "RECREATE", - "SUBSTITUTE" - ], - "enumDescriptions": [ - "Instances will be recreated (with the same name)", - "Default option: instances will be deleted and created (with a new name)" - ], + "version": { + "$ref": "ManagedInstanceVersion", + "description": "[Output Only] Version this instance was created from, or was being created from, but the creation failed. Corresponds to one of the versions that were set on the Instance Group Manager resource at the time this instance was being created." + } + }, + "type": "object" + }, + "InstanceManagedByIgmErrorManagedInstanceError": { + "id": "InstanceManagedByIgmErrorManagedInstanceError", + "properties": { + "code": { + "description": "[Output Only] Error code.", "type": "string" }, - "type": { - "description": "The type of update process. You can specify either PROACTIVE so that the MIG automatically updates VMs to the latest configurations or OPPORTUNISTIC so that you can select the VMs that you want to update.", - "enum": [ - "OPPORTUNISTIC", - "PROACTIVE" - ], - "enumDescriptions": [ - "MIG will apply new configurations to existing VMs only when you selectively target specific or all VMs to be updated.", - "MIG will automatically apply new configurations to all or a subset of existing VMs and also to new VMs that are added to the group." - ], + "message": { + "description": "[Output Only] Error message.", "type": "string" } }, "type": "object" }, - "InstanceGroupManagerVersion": { - "id": "InstanceGroupManagerVersion", + "InstanceMoveRequest": { + "id": "InstanceMoveRequest", "properties": { - "instanceTemplate": { - "description": "The URL of the instance template that is specified for this managed instance group. The group uses this template to create new instances in the managed instance group until the `targetSize` for this version is reached. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE; in those cases, existing instances are updated until the `targetSize` for this version is reached.", - "type": "string" - }, - "name": { - "description": "Name of the version. Unique among all versions in the scope of this managed instance group.", + "destinationZone": { + "description": "The URL of the destination zone to move the instance. This can be a full or partial URL. For example, the following are all valid URLs to a zone: - https://www.googleapis.com/compute/v1/projects/project/zones/zone - projects/project/zones/zone - zones/zone ", "type": "string" }, - "tag": { - "description": "Tag describing the version. Used to trigger rollout of a target version even if instance_template remains unchanged. Deprecated in favor of 'name'.", + "targetInstance": { + "description": "The URL of the target instance to move. This can be a full or partial URL. For example, the following are all valid URLs to an instance: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instances/instance - projects/project/zones/zone/instances/instance - zones/zone/instances/instance ", "type": "string" - }, - "targetSize": { - "$ref": "FixedOrPercent", - "description": "Specifies the intended number of instances to be created from the instanceTemplate. The final number of instances created from the template will be equal to: - If expressed as a fixed number, the minimum of either targetSize.fixed or instanceGroupManager.targetSize is used. - if expressed as a percent, the targetSize would be (targetSize.percent/100 * InstanceGroupManager.targetSize) If there is a remainder, the number is rounded. If unset, this version will update any remaining instances not updated by another version. Read Starting a canary update for more information." } }, "type": "object" }, - "InstanceGroupManagersAbandonInstancesRequest": { - "id": "InstanceGroupManagersAbandonInstancesRequest", + "InstanceParams": { + "description": "Additional instance params.", + "id": "InstanceParams", "properties": { - "instances": { - "description": "The URLs of one or more instances to abandon. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", - "items": { + "resourceManagerTags": { + "additionalProperties": { "type": "string" }, - "type": "array" + "description": "Resource manager tags to be bound to the instance. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty.", + "type": "object" } }, "type": "object" }, - "InstanceGroupManagersApplyUpdatesRequest": { - "description": "InstanceGroupManagers.applyUpdatesToInstances", - "id": "InstanceGroupManagersApplyUpdatesRequest", + "InstanceProperties": { + "id": "InstanceProperties", "properties": { - "allInstances": { - "description": "Flag to update all instances instead of specified list of “instances”. If the flag is set to true then the instances may not be specified in the request.", + "advancedMachineFeatures": { + "$ref": "AdvancedMachineFeatures", + "description": "Controls for advanced machine-related behavior features. Note that for MachineImage, this is not supported yet." + }, + "canIpForward": { + "description": "Enables instances created based on these properties to send packets with source IP addresses other than their own and receive packets with destination IP addresses other than their own. If these instances will be used as an IP gateway or it will be set as the next-hop in a Route resource, specify true. If unsure, leave this set to false. See the Enable IP forwarding documentation for more information.", "type": "boolean" }, - "instances": { - "description": "The list of URLs of one or more instances for which you want to apply updates. Each URL can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", + "confidentialInstanceConfig": { + "$ref": "ConfidentialInstanceConfig", + "description": "Specifies the Confidential Instance options. Note that for MachineImage, this is not supported yet." + }, + "description": { + "description": "An optional text description for the instances that are created from these properties.", + "type": "string" + }, + "disks": { + "description": "An array of disks that are associated with the instances that are created from these properties.", "items": { - "type": "string" + "$ref": "AttachedDisk" }, "type": "array" }, - "maximalAction": { - "description": "The maximal action that should be performed on the instances. By default REPLACE. This field is deprecated, please use most_disruptive_allowed_action.", + "displayDevice": { + "$ref": "DisplayDevice", + "description": "Display Device properties to enable support for remote display products like: Teradici, VNC and TeamViewer Note that for MachineImage, this is not supported yet." + }, + "guestAccelerators": { + "description": "A list of guest accelerator cards' type and count to use for instances created from these properties.", + "items": { + "$ref": "AcceleratorConfig" + }, + "type": "array" + }, + "keyRevocationActionType": { + "description": "KeyRevocationActionType of the instance. Supported options are \"STOP\" and \"NONE\". The default value is \"NONE\" if it is not specified.", "enum": [ + "KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", "NONE", - "REFRESH", - "REPLACE", - "RESTART" + "STOP" ], "enumDescriptions": [ - "Do not perform any action.", - "Do not stop the instance.", - "(Default.) Replace the instance according to the replacement method option.", - "Stop the instance and start it again." + "Default value. This value is unused.", + "Indicates user chose no operation.", + "Indicates user chose to opt for VM shutdown on key revocation." ], "type": "string" }, - "minimalAction": { - "description": "The minimal action that you want to perform on each instance during the update: - REPLACE: At minimum, delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the minimum action is NONE. If your update requires a more disruptive action than you set with this flag, the necessary action is performed to execute the update.", + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels to apply to instances that are created from these properties.", + "type": "object" + }, + "machineType": { + "annotations": { + "required": [ + "compute.instanceTemplates.insert" + ] + }, + "description": "The machine type to use for instances that are created from these properties. This field only accepts a machine type name, for example `n2-standard-4`. If you use the machine type full or partial URL, for example `projects/my-l7ilb-project/zones/us-central1-a/machineTypes/n2-standard-4`, the request will result in an `INTERNAL_ERROR`.", + "type": "string" + }, + "metadata": { + "$ref": "Metadata", + "description": "The metadata key/value pairs to assign to instances that are created from these properties. These pairs can consist of custom metadata or predefined keys. See Project and instance metadata for more information." + }, + "minCpuPlatform": { + "description": "Minimum cpu/platform to be used by instances. The instance may be scheduled on the specified or newer cpu/platform. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: \"Intel Haswell\" or minCpuPlatform: \"Intel Sandy Bridge\". For more information, read Specifying a Minimum CPU Platform.", + "type": "string" + }, + "networkInterfaces": { + "description": "An array of network access configurations for this interface.", + "items": { + "$ref": "NetworkInterface" + }, + "type": "array" + }, + "networkPerformanceConfig": { + "$ref": "NetworkPerformanceConfig", + "description": "Note that for MachineImage, this is not supported yet." + }, + "partnerMetadata": { + "additionalProperties": { + "$ref": "StructuredEntries" + }, + "description": "Partner Metadata assigned to the instance properties. A map from a subdomain (namespace) to entries map.", + "type": "object" + }, + "postKeyRevocationActionType": { + "description": "PostKeyRevocationActionType of the instance.", "enum": [ - "NONE", - "REFRESH", - "REPLACE", - "RESTART" + "NOOP", + "POST_KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", + "SHUTDOWN" ], "enumDescriptions": [ - "Do not perform any action.", - "Do not stop the instance.", - "(Default.) Replace the instance according to the replacement method option.", - "Stop the instance and start it again." + "Indicates user chose no operation.", + "Default value. This value is unused.", + "Indicates user chose to opt for VM shutdown on key revocation." ], "type": "string" }, - "mostDisruptiveAllowedAction": { - "description": "The most disruptive action that you want to perform on each instance during the update: - REPLACE: Delete the instance and create it again. - RESTART: Stop the instance and start it again. - REFRESH: Do not stop the instance and limit disruption as much as possible. - NONE: Do not disrupt the instance at all. By default, the most disruptive allowed action is REPLACE. If your update requires a more disruptive action than you set with this flag, the update request will fail.", + "privateIpv6GoogleAccess": { + "description": "The private IPv6 google access type for VMs. If not specified, use INHERIT_FROM_SUBNETWORK as default. Note that for MachineImage, this is not supported yet.", "enum": [ - "NONE", - "REFRESH", - "REPLACE", - "RESTART" + "ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE", + "ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE", + "INHERIT_FROM_SUBNETWORK" ], "enumDescriptions": [ - "Do not perform any action.", - "Do not stop the instance.", - "(Default.) Replace the instance according to the replacement method option.", - "Stop the instance and start it again." + "Bidirectional private IPv6 access to/from Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.", + "Outbound private IPv6 access from VMs in this subnet to Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.", + "Each network interface inherits PrivateIpv6GoogleAccess from its subnetwork." ], "type": "string" - } - }, - "type": "object" - }, - "InstanceGroupManagersCreateInstancesRequest": { - "description": "InstanceGroupManagers.createInstances", - "id": "InstanceGroupManagersCreateInstancesRequest", - "properties": { - "instances": { - "description": "[Required] List of specifications of per-instance configs.", + }, + "reservationAffinity": { + "$ref": "ReservationAffinity", + "description": "Specifies the reservations that instances can consume from. Note that for MachineImage, this is not supported yet." + }, + "resourceManagerTags": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource manager tags to be bound to the instance. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty.", + "type": "object" + }, + "resourcePolicies": { + "description": "Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet.", "items": { - "$ref": "PerInstanceConfig" + "type": "string" + }, + "type": "array" + }, + "scheduling": { + "$ref": "Scheduling", + "description": "Specifies the scheduling options for the instances that are created from these properties." + }, + "secureTags": { + "description": "[Input Only] Secure tags to apply to this instance. Maximum number of secure tags allowed is 50. Note that for MachineImage, this is not supported yet.", + "items": { + "type": "string" + }, + "type": "array" + }, + "serviceAccounts": { + "description": "A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from these properties. Use metadata queries to obtain the access tokens for these instances.", + "items": { + "$ref": "ServiceAccount" }, "type": "array" + }, + "serviceIntegrationSpecs": { + "additionalProperties": { + "$ref": "ServiceIntegrationSpec" + }, + "description": "Mapping of user defined keys to ServiceIntegrationSpec.", + "type": "object" + }, + "shieldedInstanceConfig": { + "$ref": "ShieldedInstanceConfig", + "description": "Note that for MachineImage, this is not supported yet." + }, + "shieldedVmConfig": { + "$ref": "ShieldedVmConfig", + "description": "Specifies the Shielded VM options for the instances that are created from these properties." + }, + "tags": { + "$ref": "Tags", + "description": "A list of tags to apply to the instances that are created from these properties. The tags identify valid sources or targets for network firewalls. The setTags method can modify this list of tags. Each tag within the list must comply with RFC1035." } }, "type": "object" }, - "InstanceGroupManagersDeleteInstancesRequest": { - "id": "InstanceGroupManagersDeleteInstancesRequest", + "InstancePropertiesPatch": { + "description": "Represents the change that you want to make to the instance properties.", + "id": "InstancePropertiesPatch", "properties": { - "instanceNames": { - "description": "The list of instance names to delete. Queued instances do not have URL and can be deleted only by name. You cannot specify both URLs and names in a single request.", - "items": { + "labels": { + "additionalProperties": { "type": "string" }, - "type": "array" + "description": "The label key-value pairs that you want to patch onto the instance.", + "type": "object" }, - "instances": { - "description": "The URLs of one or more instances to delete. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. Queued instances do not have URL and can be deleted only by name. One cannot specify both URLs and names in a single request.", - "items": { + "metadata": { + "additionalProperties": { "type": "string" }, - "type": "array" - }, - "skipInstancesOnValidationError": { - "description": "Specifies whether the request should proceed despite the inclusion of instances that are not members of the group or that are already in the process of being deleted or abandoned. If this field is set to `false` and such an instance is specified in the request, the operation fails. The operation always fails if the request contains a malformed instance URL or a reference to an instance that exists in a zone or region other than the group's zone or region.", - "type": "boolean" + "description": "The metadata key-value pairs that you want to patch onto the instance. For more information, see Project and instance metadata.", + "type": "object" } }, "type": "object" }, - "InstanceGroupManagersDeletePerInstanceConfigsReq": { - "description": "InstanceGroupManagers.deletePerInstanceConfigs", - "id": "InstanceGroupManagersDeletePerInstanceConfigsReq", + "InstanceReference": { + "id": "InstanceReference", "properties": { - "names": { - "description": "The list of instance names for which we want to delete per-instance configs on this managed instance group.", - "items": { - "type": "string" - }, - "type": "array" + "instance": { + "description": "The URL for a specific instance. @required compute.instancegroups.addInstances/removeInstances", + "type": "string" } }, "type": "object" }, - "InstanceGroupManagersListErrorsResponse": { - "id": "InstanceGroupManagersListErrorsResponse", + "InstanceSettings": { + "description": "Represents a Instance Settings resource. You can use instance settings to configure default settings for Compute Engine VM instances. For example, you can use it to configure default machine type of Compute Engine VM instances.", + "id": "InstanceSettings", + "properties": { + "email": { + "description": "Email address of the service account.", + "type": "string" + }, + "fingerprint": { + "description": "Specifies a fingerprint for instance settings, which is essentially a hash of the instance settings resource's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update the instance settings resource. You must always provide an up-to-date fingerprint hash in order to update or change the resource, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the resource.", + "format": "byte", + "type": "string" + }, + "kind": { + "default": "compute#instanceSettings", + "description": "[Output Only] Type of the resource. Always compute#instance_settings for instance settings.", + "type": "string" + }, + "metadata": { + "$ref": "InstanceSettingsMetadata", + "description": "The metadata key/value pairs assigned to all the instances in the corresponding scope." + }, + "zone": { + "description": "[Output Only] URL of the zone where the resource resides You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "type": "string" + } + }, + "type": "object" + }, + "InstanceSettingsMetadata": { + "id": "InstanceSettingsMetadata", "properties": { "items": { - "description": "[Output Only] The list of errors of the managed instance group.", - "items": { - "$ref": "InstanceManagedByIgmError" + "additionalProperties": { + "type": "string" }, - "type": "array" + "description": "A metadata key/value items map. The total size of all keys and values must be less than 512KB.", + "type": "object" }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "kind": { + "default": "compute#metadata", + "description": "[Output Only] Type of the resource. Always compute#metadata for metadata.", "type": "string" } }, "type": "object" }, - "InstanceGroupManagersListManagedInstancesResponse": { - "id": "InstanceGroupManagersListManagedInstancesResponse", + "InstanceTemplate": { + "description": "Represents an Instance Template resource. Google Compute Engine has two Instance Template resources: * [Global](/compute/docs/reference/rest/alpha/instanceTemplates) * [Regional](/compute/docs/reference/rest/alpha/regionInstanceTemplates) You can reuse a global instance template in different regions whereas you can use a regional instance template in a specified region only. If you want to reduce cross-region dependency or achieve data residency, use a regional instance template. To create VMs, managed instance groups, and reservations, you can use either global or regional instance templates. For more information, read Instance Templates.", + "id": "InstanceTemplate", "properties": { - "managedInstances": { - "description": "[Output Only] The list of instances in the managed instance group.", - "items": { - "$ref": "ManagedInstance" + "creationTimestamp": { + "description": "[Output Only] The creation timestamp for this instance template in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", + "type": "string" + }, + "id": { + "description": "[Output Only] A unique identifier for this instance template. The server defines this identifier.", + "format": "uint64", + "type": "string" + }, + "kind": { + "default": "compute#instanceTemplate", + "description": "[Output Only] The resource type, which is always compute#instanceTemplate for instance templates.", + "type": "string" + }, + "name": { + "annotations": { + "required": [ + "compute.instanceTemplates.insert" + ] }, - "type": "array" + "description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "properties": { + "$ref": "InstanceProperties", + "description": "The instance properties for this instance template." + }, + "region": { + "description": "[Output Only] URL of the region where the instance template resides. Only applicable for regional resources.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] The URL for this instance template. The server defines this URL.", + "type": "string" + }, + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "type": "string" + }, + "sourceInstance": { + "description": "The source instance used to create the template. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instances/instance - projects/project/zones/zone/instances/instance ", "type": "string" + }, + "sourceInstanceParams": { + "$ref": "SourceInstanceParams", + "description": "The source instance params to use to create this instance template." } }, "type": "object" }, - "InstanceGroupManagersListPerInstanceConfigsResp": { - "id": "InstanceGroupManagersListPerInstanceConfigsResp", + "InstanceTemplateAggregatedList": { + "description": "Contains a list of InstanceTemplatesScopedList.", + "id": "InstanceTemplateAggregatedList", "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, "items": { - "description": "[Output Only] The list of PerInstanceConfig.", - "items": { - "$ref": "PerInstanceConfig" + "additionalProperties": { + "$ref": "InstanceTemplatesScopedList", + "description": "The name of the scope that contains this set of instance templates." }, - "type": "array" + "description": "A list of InstanceTemplatesScopedList resources.", + "type": "object" + }, + "kind": { + "default": "compute#instanceTemplateAggregatedList", + "description": "Type of resource.", + "type": "string" }, "nextPageToken": { "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", "type": "string" }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, "warning": { "description": "[Output Only] Informational warning message.", "properties": { @@ -62587,6 +66965,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -62623,6 +67002,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -62647,6 +67027,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -62684,73 +67065,173 @@ }, "type": "object" }, - "InstanceGroupManagersPatchPerInstanceConfigsReq": { - "description": "InstanceGroupManagers.patchPerInstanceConfigs", - "id": "InstanceGroupManagersPatchPerInstanceConfigsReq", - "properties": { - "perInstanceConfigs": { - "description": "The list of per-instance configurations to insert or patch on this managed instance group.", - "items": { - "$ref": "PerInstanceConfig" - }, - "type": "array" - } - }, - "type": "object" - }, - "InstanceGroupManagersRecreateInstancesRequest": { - "id": "InstanceGroupManagersRecreateInstancesRequest", + "InstanceTemplateList": { + "description": "A list of instance templates.", + "id": "InstanceTemplateList", "properties": { - "instances": { - "description": "The URLs of one or more instances to recreate. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of InstanceTemplate resources.", "items": { - "type": "string" + "$ref": "InstanceTemplate" }, "type": "array" - } - }, - "type": "object" - }, - "InstanceGroupManagersResizeAdvancedRequest": { - "id": "InstanceGroupManagersResizeAdvancedRequest", - "properties": { - "noCreationRetries": { - "description": "If this flag is true, the managed instance group attempts to create all instances initiated by this resize request only once. If there is an error during creation, the managed instance group does not retry create this instance, and we will decrease the targetSize of the request instead. If the flag is false, the group attempts to recreate each instance continuously until it succeeds. This flag matters only in the first attempt of creation of an instance. After an instance is successfully created while this flag is enabled, the instance behaves the same way as all the other instances created with a regular resize request. In particular, if a running instance dies unexpectedly at a later time and needs to be recreated, this mode does not affect the recreation behavior in that scenario. This flag is applicable only to the current resize request. It does not influence other resize requests in any way. You can see which instances is being creating in which mode by calling the get or listManagedInstances API.", - "type": "boolean" }, - "targetSize": { - "description": "The number of running instances that the managed instance group should maintain at any given time. The group automatically adds or removes instances to maintain the number of instances specified by this parameter.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "InstanceGroupManagersResumeInstancesRequest": { - "id": "InstanceGroupManagersResumeInstancesRequest", - "properties": { - "instances": { - "description": "The URLs of one or more instances to resume. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", - "items": { - "type": "string" + "kind": { + "default": "compute#instanceTemplateList", + "description": "[Output Only] The resource type, which is always compute#instanceTemplatesListResponse for instance template lists.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } }, - "type": "array" + "type": "object" } }, "type": "object" }, - "InstanceGroupManagersScopedList": { - "id": "InstanceGroupManagersScopedList", + "InstanceTemplatesScopedList": { + "id": "InstanceTemplatesScopedList", "properties": { - "instanceGroupManagers": { - "description": "[Output Only] The list of managed instance groups that are contained in the specified project and zone.", + "instanceTemplates": { + "description": "[Output Only] A list of instance templates that are contained within the specified project and zone.", "items": { - "$ref": "InstanceGroupManager" + "$ref": "InstanceTemplate" }, "type": "array" }, "warning": { - "description": "[Output Only] The warning that replaces the list of managed instance groups when the list is empty.", + "description": "[Output Only] An informational warning that replaces the list of instance templates when the list is empty.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", @@ -62776,6 +67257,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -62812,6 +67294,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -62836,6 +67319,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -62873,85 +67357,188 @@ }, "type": "object" }, - "InstanceGroupManagersSetAutoHealingRequest": { - "id": "InstanceGroupManagersSetAutoHealingRequest", + "InstanceWithNamedPorts": { + "id": "InstanceWithNamedPorts", "properties": { - "autoHealingPolicies": { + "instance": { + "description": "[Output Only] The URL of the instance.", + "type": "string" + }, + "namedPorts": { + "description": "[Output Only] The named ports that belong to this instance group.", "items": { - "$ref": "InstanceGroupManagerAutoHealingPolicy" + "$ref": "NamedPort" + }, + "type": "array" + }, + "status": { + "description": "[Output Only] The status of the instance.", + "enum": [ + "DEPROVISIONING", + "PENDING_STOP", + "PROVISIONING", + "REPAIRING", + "RUNNING", + "STAGING", + "STOPPED", + "STOPPING", + "SUSPENDED", + "SUSPENDING", + "TERMINATED" + ], + "enumDescriptions": [ + "The instance is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.", + "The instance is gracefully shutting down.", + "Resources are being allocated for the instance.", + "The instance is in repair.", + "The instance is running.", + "All required resources have been allocated and the instance is being started.", + "The instance has stopped successfully.", + "The instance is currently stopping (either being deleted or killed).", + "The instance has suspended.", + "The instance is suspending.", + "The instance has stopped (either by explicit action or underlying failure)." + ], + "type": "string" + } + }, + "type": "object" + }, + "InstancesAddResourcePoliciesRequest": { + "id": "InstancesAddResourcePoliciesRequest", + "properties": { + "resourcePolicies": { + "description": "Resource policies to be added to this instance.", + "items": { + "type": "string" }, "type": "array" } }, "type": "object" }, - "InstanceGroupManagersSetInstanceTemplateRequest": { - "id": "InstanceGroupManagersSetInstanceTemplateRequest", + "InstancesBulkInsertOperationMetadata": { + "id": "InstancesBulkInsertOperationMetadata", "properties": { - "instanceTemplate": { - "description": "The URL of the instance template that is specified for this managed instance group. The group uses this template to create all new instances in the managed instance group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE.", - "type": "string" + "perLocationStatus": { + "additionalProperties": { + "$ref": "BulkInsertOperationStatus" + }, + "description": "Status information per location (location name is key). Example key: zones/us-central1-a", + "type": "object" } }, "type": "object" }, - "InstanceGroupManagersSetTargetPoolsRequest": { - "id": "InstanceGroupManagersSetTargetPoolsRequest", + "InstancesGetEffectiveFirewallsResponse": { + "id": "InstancesGetEffectiveFirewallsResponse", "properties": { - "fingerprint": { - "description": "The fingerprint of the target pools information. Use this optional property to prevent conflicts when multiple users change the target pools settings concurrently. Obtain the fingerprint with the instanceGroupManagers.get method. Then, include the fingerprint in your request to ensure that you do not overwrite changes that were applied from another concurrent request.", - "format": "byte", - "type": "string" + "firewallPolicys": { + "description": "[Output Only] Effective firewalls from firewall policies.", + "items": { + "$ref": "InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy" + }, + "type": "array" }, - "targetPools": { - "description": "The list of target pool URLs that instances in this managed instance group belong to. The managed instance group applies these target pools to all of the instances in the group. Existing instances and new instances in the group all receive these target pool settings.", + "firewalls": { + "description": "Effective firewalls on the instance.", "items": { - "type": "string" + "$ref": "Firewall" + }, + "type": "array" + }, + "organizationFirewalls": { + "description": "Effective firewalls from organization policies.", + "items": { + "$ref": "InstancesGetEffectiveFirewallsResponseOrganizationFirewallPolicy" }, "type": "array" } }, "type": "object" }, - "InstanceGroupManagersStartInstancesRequest": { - "id": "InstanceGroupManagersStartInstancesRequest", + "InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy": { + "id": "InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy", "properties": { - "instances": { - "description": "The URLs of one or more instances to start. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", + "displayName": { + "deprecated": true, + "description": "[Output Only] Deprecated, please use short name instead. The display name of the firewall policy.", + "type": "string" + }, + "name": { + "description": "[Output Only] The name of the firewall policy.", + "type": "string" + }, + "packetMirroringRules": { + "description": "[Output Only] The packet mirroring rules that apply to the instance.", "items": { - "type": "string" + "$ref": "FirewallPolicyRule" + }, + "type": "array" + }, + "priority": { + "description": "[Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY.", + "format": "int32", + "type": "integer" + }, + "rules": { + "description": "[Output Only] The rules that apply to the instance. Only rules that target the specific VM instance are returned if target service accounts or target secure tags are specified in the rules.", + "items": { + "$ref": "FirewallPolicyRule" }, "type": "array" + }, + "shortName": { + "description": "[Output Only] The short name of the firewall policy.", + "type": "string" + }, + "type": { + "description": "[Output Only] The type of the firewall policy. Can be one of HIERARCHY, NETWORK, NETWORK_REGIONAL, SYSTEM_GLOBAL, SYSTEM_REGIONAL.", + "enum": [ + "HIERARCHY", + "NETWORK", + "NETWORK_REGIONAL", + "SYSTEM_GLOBAL", + "SYSTEM_REGIONAL", + "UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ], + "type": "string" } }, "type": "object" }, - "InstanceGroupManagersStopInstancesRequest": { - "id": "InstanceGroupManagersStopInstancesRequest", + "InstancesGetEffectiveFirewallsResponseOrganizationFirewallPolicy": { + "description": "A pruned SecurityPolicy containing ID and any applicable firewall rules.", + "id": "InstancesGetEffectiveFirewallsResponseOrganizationFirewallPolicy", "properties": { - "forceStop": { - "description": "If this flag is set to true, the Instance Group Manager will proceed to stop the instances, skipping initialization on them.", - "type": "boolean" + "id": { + "description": "The unique identifier for the security policy. This identifier is defined by the server.", + "format": "uint64", + "type": "string" }, - "instances": { - "description": "The URLs of one or more instances to stop. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", + "rules": { + "description": "The rules that apply to the network.", "items": { - "type": "string" + "$ref": "SecurityPolicyRule" }, "type": "array" } }, "type": "object" }, - "InstanceGroupManagersSuspendInstancesRequest": { - "id": "InstanceGroupManagersSuspendInstancesRequest", + "InstancesRemoveResourcePoliciesRequest": { + "id": "InstancesRemoveResourcePoliciesRequest", "properties": { - "forceSuspend": { - "description": "If this flag is set to true, the Instance Group Manager will proceed to suspend the instances, skipping initialization on them.", - "type": "boolean" - }, - "instances": { - "description": "The URLs of one or more instances to suspend. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", + "resourcePolicies": { + "description": "Resource policies to be removed from this instance.", "items": { "type": "string" }, @@ -62960,62 +67547,85 @@ }, "type": "object" }, - "InstanceGroupManagersUpdatePerInstanceConfigsReq": { - "description": "InstanceGroupManagers.updatePerInstanceConfigs", - "id": "InstanceGroupManagersUpdatePerInstanceConfigsReq", + "InstancesReportHostAsFaultyRequest": { + "id": "InstancesReportHostAsFaultyRequest", "properties": { - "perInstanceConfigs": { - "description": "The list of per-instance configurations to insert or patch on this managed instance group.", + "actionHint": { + "description": "The action hint to report the host as faulty.", + "enum": [ + "ACTION_HINT_UNSPECIFIED", + "DIAGNOSE_AND_REPAIR", + "EXECUTE_ALL_RECOMMENDED_SCANS" + ], + "enumDescriptions": [ + "Default value. Euivalent to DIAGNOSE_AND_REPAIR.", + "The action hint to diagnose and repair the host.", + "The action hint to execute recommended scans without sending the machine through hwops." + ], + "type": "string" + }, + "faultReasons": { "items": { - "$ref": "PerInstanceConfig" + "$ref": "InstancesReportHostAsFaultyRequestFaultReason" }, "type": "array" } }, "type": "object" }, - "InstanceGroupsAddInstancesRequest": { - "id": "InstanceGroupsAddInstancesRequest", + "InstancesReportHostAsFaultyRequestFaultReason": { + "id": "InstancesReportHostAsFaultyRequestFaultReason", "properties": { - "instances": { - "description": "The list of instances to add to the instance group.", + "behavior": { + "enum": [ + "BEHAVIOR_UNSPECIFIED", + "PERFORMANCE", + "SILENT_DATA_CORRUPTION", + "UNRECOVERABLE_GPU_ERROR" + ], + "enumDescriptions": [ + "Public reportable behaviors", + "", + "", + "" + ], + "type": "string" + }, + "description": { + "type": "string" + } + }, + "type": "object" + }, + "InstancesResumeRequest": { + "id": "InstancesResumeRequest", + "properties": { + "disks": { + "description": "Array of disks associated with this instance that are protected with a customer-supplied encryption key. In order to resume the instance, the disk url and its corresponding key must be provided. If the disk is not protected with a customer-supplied encryption key it should not be specified.", "items": { - "$ref": "InstanceReference" + "$ref": "CustomerEncryptionKeyProtectedDisk" }, "type": "array" + }, + "instanceEncryptionKey": { + "$ref": "CustomerEncryptionKey", + "description": "Decrypts data associated with an instance that is protected with a customer-supplied encryption key. If the instance you are starting is protected with a customer-supplied encryption key, the correct key must be provided otherwise the instance resume will not succeed." } }, "type": "object" }, - "InstanceGroupsListInstances": { - "id": "InstanceGroupsListInstances", + "InstancesScopedList": { + "id": "InstancesScopedList", "properties": { - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", - "type": "string" - }, - "items": { - "description": "A list of InstanceWithNamedPorts resources.", + "instances": { + "description": "[Output Only] A list of instances contained in this scope.", "items": { - "$ref": "InstanceWithNamedPorts" + "$ref": "Instance" }, "type": "array" }, - "kind": { - "default": "compute#instanceGroupsListInstances", - "description": "[Output Only] The resource type, which is always compute#instanceGroupsListInstances for the list of instances in the specified instance group.", - "type": "string" - }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", - "type": "string" - }, "warning": { - "description": "[Output Only] Informational warning message.", + "description": "[Output Only] Informational warning which replaces the list of instances when the list is empty.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", @@ -63041,6 +67651,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -63077,6 +67688,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -63101,6 +67713,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -63138,49 +67751,286 @@ }, "type": "object" }, - "InstanceGroupsListInstancesRequest": { - "id": "InstanceGroupsListInstancesRequest", + "InstancesSetLabelsRequest": { + "id": "InstancesSetLabelsRequest", "properties": { - "instanceState": { - "description": "A filter for the state of the instances in the instance group. Valid options are ALL or RUNNING. If you do not specify this parameter the list includes all instances regardless of their state.", - "enum": [ - "ALL", - "RUNNING" - ], - "enumDescriptions": [ - "Includes all instances in the generated list regardless of their state.", - "Includes instances in the generated list only if they have a RUNNING state." - ], + "labelFingerprint": { + "description": "Fingerprint of the previous set of labels for this resource, used to prevent conflicts. Provide the latest fingerprint value when making a request to add or change labels.", + "format": "byte", "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "type": "object" } }, "type": "object" }, - "InstanceGroupsRemoveInstancesRequest": { - "id": "InstanceGroupsRemoveInstancesRequest", + "InstancesSetMachineResourcesRequest": { + "id": "InstancesSetMachineResourcesRequest", "properties": { - "instances": { - "description": "The list of instances to remove from the instance group.", + "guestAccelerators": { + "description": "A list of the type and count of accelerator cards attached to the instance.", "items": { - "$ref": "InstanceReference" + "$ref": "AcceleratorConfig" }, "type": "array" } }, "type": "object" }, - "InstanceGroupsScopedList": { - "id": "InstanceGroupsScopedList", + "InstancesSetMachineTypeRequest": { + "id": "InstancesSetMachineTypeRequest", "properties": { - "instanceGroups": { - "description": "[Output Only] The list of instance groups that are contained in this scope.", + "machineType": { + "description": "Full or partial URL of the machine type resource. See Machine Types for a full list of machine types. For example: zones/us-central1-f/machineTypes/n1-standard-1", + "type": "string" + } + }, + "type": "object" + }, + "InstancesSetMinCpuPlatformRequest": { + "id": "InstancesSetMinCpuPlatformRequest", + "properties": { + "minCpuPlatform": { + "description": "Minimum cpu/platform this instance should be started at.", + "type": "string" + } + }, + "type": "object" + }, + "InstancesSetNameRequest": { + "id": "InstancesSetNameRequest", + "properties": { + "currentName": { + "description": "The current name of this resource, used to prevent conflicts. Provide the latest name when making a request to change name.", + "type": "string" + }, + "name": { + "description": "The name to be applied to the instance. Needs to be RFC 1035 compliant.", + "type": "string" + } + }, + "type": "object" + }, + "InstancesSetSecurityPolicyRequest": { + "id": "InstancesSetSecurityPolicyRequest", + "properties": { + "networkInterfaces": { + "description": "The network interfaces that the security policy will be applied to. Network interfaces use the nicN naming format. You can only set a security policy for network interfaces with an access config.", "items": { - "$ref": "InstanceGroup" + "type": "string" + }, + "type": "array" + }, + "securityPolicy": { + "description": "A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.", + "type": "string" + } + }, + "type": "object" + }, + "InstancesSetServiceAccountRequest": { + "id": "InstancesSetServiceAccountRequest", + "properties": { + "email": { + "description": "Email address of the service account.", + "type": "string" + }, + "scopes": { + "description": "The list of scopes to be made available for this service account.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "InstancesStartWithEncryptionKeyRequest": { + "id": "InstancesStartWithEncryptionKeyRequest", + "properties": { + "disks": { + "description": "Array of disks associated with this instance that are protected with a customer-supplied encryption key. In order to start the instance, the disk url and its corresponding key must be provided. If the disk is not protected with a customer-supplied encryption key it should not be specified.", + "items": { + "$ref": "CustomerEncryptionKeyProtectedDisk" + }, + "type": "array" + }, + "instanceEncryptionKey": { + "$ref": "CustomerEncryptionKey", + "description": "Decrypts data associated with an instance that is protected with a customer-supplied encryption key. If the instance you are starting is protected with a customer-supplied encryption key, the correct key must be provided otherwise the instance start will not succeed." + } + }, + "type": "object" + }, + "InstantSnapshot": { + "description": "Represents a InstantSnapshot resource. You can use instant snapshots to create disk rollback points quickly..", + "id": "InstantSnapshot", + "properties": { + "architecture": { + "description": "[Output Only] The architecture of the instant snapshot. Valid values are ARM64 or X86_64.", + "enum": [ + "ARCHITECTURE_UNSPECIFIED", + "ARM64", + "X86_64" + ], + "enumDescriptions": [ + "Default value indicating Architecture is not set.", + "Machines with architecture ARM64", + "Machines with architecture X86_64" + ], + "type": "string" + }, + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", + "type": "string" + }, + "diskSizeGb": { + "description": "[Output Only] Size of the source disk, specified in GB.", + "format": "int64", + "type": "string" + }, + "guestFlush": { + "description": "Whether to attempt an application consistent instant snapshot by informing the OS to prepare for the snapshot process.", + "type": "boolean" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64", + "type": "string" + }, + "kind": { + "default": "compute#instantSnapshot", + "description": "[Output Only] Type of the resource. Always compute#instantSnapshot for InstantSnapshot resources.", + "type": "string" + }, + "labelFingerprint": { + "description": "A fingerprint for the labels being applied to this InstantSnapshot, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a InstantSnapshot.", + "format": "byte", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels to apply to this InstantSnapshot. These can be later modified by the setLabels method. Label values may be empty.", + "type": "object" + }, + "name": { + "description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "region": { + "description": "[Output Only] URL of the region where the instant snapshot resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "type": "string" + }, + "resourceStatus": { + "$ref": "InstantSnapshotResourceStatus", + "description": "[Output Only] Status information for the instant snapshot resource." + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzs": { + "description": "[Output Only] Reserved for future use.", + "type": "boolean" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + }, + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource's resource id.", + "type": "string" + }, + "sourceDisk": { + "description": "URL of the source disk used to create this instant snapshot. Note that the source disk must be in the same zone/region as the instant snapshot to be created. This can be a full or valid partial URL. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk ", + "type": "string" + }, + "sourceDiskId": { + "description": "[Output Only] The ID value of the disk used to create this InstantSnapshot. This value may be used to determine whether the InstantSnapshot was taken from the current or a previous instance of a given disk name.", + "type": "string" + }, + "sourceInstantSnapshotGroup": { + "description": "[Output Only] URL of the source instant snapshot this instant snapshot is part of. Note that the source instant snapshot group must be in the same zone/region as the instant snapshot to be created. This can be a full or valid partial URL.", + "type": "string" + }, + "sourceInstantSnapshotGroupId": { + "description": "[Output Only] The ID value of the source instant snapshot group this InstantSnapshot is part of. This value may be used to determine whether the InstantSnapshot was created as part of an InstantSnapshotGroup creation.", + "type": "string" + }, + "status": { + "description": "[Output Only] The status of the instantSnapshot. This can be CREATING, DELETING, FAILED, or READY.", + "enum": [ + "CREATING", + "DELETING", + "FAILED", + "READY", + "UNAVAILABLE" + ], + "enumDescriptions": [ + "InstantSnapshot creation is in progress.", + "InstantSnapshot is currently being deleted.", + "InstantSnapshot creation failed.", + "InstantSnapshot has been created successfully.", + "InstantSnapshot is currently unavailable and cannot be used for Disk restoration" + ], + "type": "string" + }, + "zone": { + "description": "[Output Only] URL of the zone where the instant snapshot resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "type": "string" + } + }, + "type": "object" + }, + "InstantSnapshotAggregatedList": { + "id": "InstantSnapshotAggregatedList", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "additionalProperties": { + "$ref": "InstantSnapshotsScopedList", + "description": "[Output Only] Name of the scope containing this set of instantSnapshots." + }, + "description": "A list of InstantSnapshotsScopedList resources.", + "type": "object" + }, + "kind": { + "default": "compute#instantSnapshotAggregatedList", + "description": "[Output Only] Type of resource. Always compute#instantSnapshotAggregatedList for aggregated lists of instantSnapshots.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "[Output Only] Unreachable resources.", + "items": { + "type": "string" }, "type": "array" }, "warning": { - "description": "[Output Only] An informational warning that replaces the list of instance groups when the list is empty.", + "description": "[Output Only] Informational warning message.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", @@ -63206,6 +68056,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -63242,6 +68093,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -63266,6 +68118,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -63303,42 +68156,123 @@ }, "type": "object" }, - "InstanceGroupsSetNamedPortsRequest": { - "id": "InstanceGroupsSetNamedPortsRequest", + "InstantSnapshotGroup": { + "description": "Represents an InstantSnapshotGroup resource. An instant snapshot group is a set of instant snapshots that represents a point in time state of a consistency group.", + "id": "InstantSnapshotGroup", "properties": { - "fingerprint": { - "description": "The fingerprint of the named ports information for this instance group. Use this optional property to prevent conflicts when multiple users change the named ports settings concurrently. Obtain the fingerprint with the instanceGroups.get method. Then, include the fingerprint in your request to ensure that you do not overwrite changes that were applied from another concurrent request. A request with an incorrect fingerprint will fail with error 412 conditionNotMet.", - "format": "byte", + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" }, - "namedPorts": { - "description": "The list of named ports to set for this instance group.", - "items": { - "$ref": "NamedPort" - }, - "type": "array" + "description": { + "description": "Optional. An optional description of this resource. Provide this property when you create the resource.", + "type": "string" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64", + "type": "string" + }, + "kind": { + "default": "compute#instantSnapshotGroup", + "description": "[Output Only] Type of the resource. Always compute#instantSnapshotGroup for InstantSnapshotGroup resources.", + "type": "string" + }, + "name": { + "description": "Identifier. Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "region": { + "description": "[Output Only] URL of the region where the instant snapshot group resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "type": "string" + }, + "resourceStatus": { + "$ref": "InstantSnapshotGroupResourceStatus" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + }, + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource's resource id.", + "type": "string" + }, + "sourceConsistencyGroup": { + "type": "string" + }, + "status": { + "description": "[Output Only]", + "enum": [ + "CREATING", + "DELETING", + "FAILED", + "INVALID", + "READY", + "UNKNOWN" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "zone": { + "description": "[Output Only] URL of the zone where the instant snapshot group resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "type": "string" } }, "type": "object" }, - "InstanceList": { - "description": "Contains a list of instances.", - "id": "InstanceList", + "InstantSnapshotGroupResourceStatus": { + "id": "InstantSnapshotGroupResourceStatus", + "properties": { + "consistencyMembershipResolutionTime": { + "description": "[Output Only]", + "format": "google-datetime", + "type": "string" + }, + "sourceInfo": { + "$ref": "InstantSnapshotGroupSourceInfo", + "description": "[Output Only]" + } + }, + "type": "object" + }, + "InstantSnapshotGroupSourceInfo": { + "id": "InstantSnapshotGroupSourceInfo", + "properties": { + "consistencyGroup": { + "type": "string" + }, + "consistencyGroupId": { + "type": "string" + } + }, + "type": "object" + }, + "InstantSnapshotList": { + "description": "Contains a list of InstantSnapshot resources.", + "id": "InstantSnapshotList", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "description": "A list of Instance resources.", + "description": "A list of InstantSnapshot resources.", "items": { - "$ref": "Instance" + "$ref": "InstantSnapshot" }, "type": "array" }, "kind": { - "default": "compute#instanceList", - "description": "[Output Only] Type of resource. Always compute#instanceList for lists of Instance resources.", + "default": "compute#instantSnapshotList", + "description": "Type of resource.", "type": "string" }, "nextPageToken": { @@ -63376,6 +68310,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -63412,6 +68347,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -63436,6 +68372,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -63473,36 +68410,29 @@ }, "type": "object" }, - "InstanceListReferrers": { - "description": "Contains a list of instance referrers.", - "id": "InstanceListReferrers", + "InstantSnapshotResourceStatus": { + "id": "InstantSnapshotResourceStatus", "properties": { - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "storageSizeBytes": { + "description": "[Output Only] The storage size of this instant snapshot.", + "format": "int64", "type": "string" - }, - "items": { - "description": "A list of Reference resources.", + } + }, + "type": "object" + }, + "InstantSnapshotsScopedList": { + "id": "InstantSnapshotsScopedList", + "properties": { + "instantSnapshots": { + "description": "[Output Only] A list of instantSnapshots contained in this scope.", "items": { - "$ref": "Reference" + "$ref": "InstantSnapshot" }, "type": "array" }, - "kind": { - "default": "compute#instanceListReferrers", - "description": "[Output Only] Type of resource. Always compute#instanceListReferrers for lists of Instance referrers.", - "type": "string" - }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", - "type": "string" - }, "warning": { - "description": "[Output Only] Informational warning message.", + "description": "[Output Only] Informational warning which replaces the list of instantSnapshots when the list is empty.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", @@ -63528,6 +68458,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -63564,6 +68495,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -63588,6 +68520,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -63625,751 +68558,676 @@ }, "type": "object" }, - "InstanceManagedByIgmError": { - "id": "InstanceManagedByIgmError", + "Int64RangeMatch": { + "description": "HttpRouteRuleMatch criteria for field values that must stay within the specified integer range.", + "id": "Int64RangeMatch", "properties": { - "error": { - "$ref": "InstanceManagedByIgmErrorManagedInstanceError", - "description": "[Output Only] Contents of the error." - }, - "instanceActionDetails": { - "$ref": "InstanceManagedByIgmErrorInstanceActionDetails", - "description": "[Output Only] Details of the instance action that triggered this error. May be null, if the error was not caused by an action on an instance. This field is optional." + "rangeEnd": { + "description": "The end of the range (exclusive) in signed long integer format.", + "format": "int64", + "type": "string" }, - "timestamp": { - "description": "[Output Only] The time that this error occurred. This value is in RFC3339 text format.", + "rangeStart": { + "description": "The start of the range (inclusive) in signed long integer format.", + "format": "int64", "type": "string" } }, "type": "object" }, - "InstanceManagedByIgmErrorInstanceActionDetails": { - "id": "InstanceManagedByIgmErrorInstanceActionDetails", + "Interconnect": { + "description": "Represents an Interconnect resource. An Interconnect resource is a dedicated connection between the Google Cloud network and your on-premises network. For more information, read the Dedicated Interconnect Overview.", + "id": "Interconnect", "properties": { - "action": { - "description": "[Output Only] Action that managed instance group was executing on the instance when the error occurred. Possible values:", - "enum": [ - "ABANDONING", - "CREATING", - "CREATING_ATOMICALLY", - "CREATING_WITHOUT_RETRIES", - "DELETING", - "NONE", - "QUEUING", - "RECREATING", - "REFRESHING", - "RESTARTING", - "RESUMING", - "STARTING", - "STOPPING", - "SUSPENDING", - "VERIFYING" - ], - "enumDescriptions": [ - "The managed instance group is abandoning this instance. The instance will be removed from the instance group and from any target pools that are associated with this group.", - "The managed instance group is creating this instance. If the group fails to create this instance, it will try again until it is successful.", - "The managed instance group is creating this instance atomically.", - "The managed instance group is attempting to create this instance only once. If the group fails to create this instance, it does not try again and the group's targetSize value is decreased.", - "The managed instance group is permanently deleting this instance.", - "The managed instance group has not scheduled any actions for this instance.", - "The managed instance group is queuing this instance.", - "The managed instance group is recreating this instance.", - "The managed instance group is applying configuration changes to the instance without stopping it. For example, the group can update the target pool list for an instance without stopping that instance.", - "The managed instance group is restarting this instance.", - "The managed instance group is resuming this instance.", - "The managed instance group is starting this instance.", - "The managed instance group is stopping this instance.", - "The managed instance group is suspending this instance.", - "The managed instance group is verifying this already created instance. Verification happens every time the instance is (re)created or restarted and consists of: 1. Waiting until health check specified as part of this managed instance group's autohealing policy reports HEALTHY. Note: Applies only if autohealing policy has a health check specified 2. Waiting for addition verification steps performed as post-instance creation (subject to future extensions)." - ], - "type": "string" + "aaiEnabled": { + "description": "Enable or disable the application awareness feature on this Cloud Interconnect.", + "type": "boolean" }, - "instance": { - "description": "[Output Only] The URL of the instance. The URL can be set even if the instance has not yet been created.", - "type": "string" + "adminEnabled": { + "description": "Administrative status of the interconnect. When this is set to true, the Interconnect is functional and can carry traffic. When set to false, no packets can be carried over the interconnect and no BGP routes are exchanged over it. By default, the status is set to true.", + "type": "boolean" }, - "version": { - "$ref": "ManagedInstanceVersion", - "description": "[Output Only] Version this instance was created from, or was being created from, but the creation failed. Corresponds to one of the versions that were set on the Instance Group Manager resource at the time this instance was being created." - } - }, - "type": "object" - }, - "InstanceManagedByIgmErrorManagedInstanceError": { - "id": "InstanceManagedByIgmErrorManagedInstanceError", - "properties": { - "code": { - "description": "[Output Only] Error code.", - "type": "string" + "applicationAwareInterconnect": { + "$ref": "InterconnectApplicationAwareInterconnect", + "description": "Configuration information for application awareness on this Cloud Interconnect." }, - "message": { - "description": "[Output Only] Error message.", + "availableFeatures": { + "description": "[Output only] List of features available for this Interconnect connection, which can take one of the following values: - IF_MACSEC If present then the Interconnect connection is provisioned on MACsec capable hardware ports. If not present then the Interconnect connection is provisioned on non-MACsec capable ports and MACsec isn't supported and enabling MACsec fails.", + "items": { + "enum": [ + "IF_CROSS_SITE_NETWORK", + "IF_MACSEC" + ], + "enumDescriptions": [ + "Cross Site Networking", + "Media Access Control security (MACsec)" + ], + "type": "string" + }, + "type": "array" + }, + "circuitInfos": { + "description": "[Output Only] A list of CircuitInfo objects, that describe the individual circuits in this LAG.", + "items": { + "$ref": "InterconnectCircuitInfo" + }, + "type": "array" + }, + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" - } - }, - "type": "object" - }, - "InstanceMoveRequest": { - "id": "InstanceMoveRequest", - "properties": { - "destinationZone": { - "description": "The URL of the destination zone to move the instance. This can be a full or partial URL. For example, the following are all valid URLs to a zone: - https://www.googleapis.com/compute/v1/projects/project/zones/zone - projects/project/zones/zone - zones/zone ", + }, + "customerName": { + "description": "Customer name, to put in the Letter of Authorization as the party authorized to request a crossconnect.", "type": "string" }, - "targetInstance": { - "description": "The URL of the target instance to move. This can be a full or partial URL. For example, the following are all valid URLs to an instance: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instances/instance - projects/project/zones/zone/instances/instance - zones/zone/instances/instance ", + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", "type": "string" - } - }, - "type": "object" - }, - "InstanceParams": { - "description": "Additional instance params.", - "id": "InstanceParams", - "properties": { - "resourceManagerTags": { - "additionalProperties": { - "type": "string" + }, + "expectedOutages": { + "description": "[Output Only] A list of outages expected for this Interconnect.", + "items": { + "$ref": "InterconnectOutageNotification" }, - "description": "Resource manager tags to be bound to the instance. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty.", - "type": "object" - } - }, - "type": "object" - }, - "InstanceProperties": { - "id": "InstanceProperties", - "properties": { - "advancedMachineFeatures": { - "$ref": "AdvancedMachineFeatures", - "description": "Controls for advanced machine-related behavior features. Note that for MachineImage, this is not supported yet." + "type": "array" }, - "canIpForward": { - "description": "Enables instances created based on these properties to send packets with source IP addresses other than their own and receive packets with destination IP addresses other than their own. If these instances will be used as an IP gateway or it will be set as the next-hop in a Route resource, specify true. If unsure, leave this set to false. See the Enable IP forwarding documentation for more information.", - "type": "boolean" + "googleIpAddress": { + "description": "[Output Only] IP address configured on the Google side of the Interconnect link. This can be used only for ping tests.", + "type": "string" }, - "confidentialInstanceConfig": { - "$ref": "ConfidentialInstanceConfig", - "description": "Specifies the Confidential Instance options. Note that for MachineImage, this is not supported yet." + "googleReferenceId": { + "description": "[Output Only] Google reference ID to be used when raising support tickets with Google or otherwise to debug backend connectivity issues.", + "type": "string" }, - "description": { - "description": "An optional text description for the instances that are created from these properties.", + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64", "type": "string" }, - "disks": { - "description": "An array of disks that are associated with the instances that are created from these properties.", + "interconnectAttachments": { + "description": "[Output Only] A list of the URLs of all InterconnectAttachments configured to use this Interconnect.", "items": { - "$ref": "AttachedDisk" + "type": "string" }, "type": "array" }, - "displayDevice": { - "$ref": "DisplayDevice", - "description": "Display Device properties to enable support for remote display products like: Teradici, VNC and TeamViewer Note that for MachineImage, this is not supported yet." - }, - "guestAccelerators": { - "description": "A list of guest accelerator cards' type and count to use for instances created from these properties.", + "interconnectGroups": { + "description": "[Output Only] URLs of InterconnectGroups that include this Interconnect. Order is arbitrary and items are unique.", "items": { - "$ref": "AcceleratorConfig" + "type": "string" }, "type": "array" }, - "keyRevocationActionType": { - "description": "KeyRevocationActionType of the instance. Supported options are \"STOP\" and \"NONE\". The default value is \"NONE\" if it is not specified.", + "interconnectType": { + "description": "Type of interconnect, which can take one of the following values: - PARTNER: A partner-managed interconnection shared between customers though a partner. - DEDICATED: A dedicated physical interconnection with the customer. Note that a value IT_PRIVATE has been deprecated in favor of DEDICATED.", "enum": [ - "KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", - "NONE", - "STOP" + "DEDICATED", + "IT_PRIVATE", + "PARTNER" ], "enumDescriptions": [ - "Default value. This value is unused.", - "Indicates user chose no operation.", - "Indicates user chose to opt for VM shutdown on key revocation." + "A dedicated physical interconnection with the customer.", + "[Deprecated] A private, physical interconnection with the customer.", + "A partner-managed interconnection shared between customers via partner." ], "type": "string" }, + "kind": { + "default": "compute#interconnect", + "description": "[Output Only] Type of the resource. Always compute#interconnect for interconnects.", + "type": "string" + }, + "labelFingerprint": { + "description": "A fingerprint for the labels being applied to this Interconnect, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an Interconnect.", + "format": "byte", + "type": "string" + }, "labels": { "additionalProperties": { "type": "string" }, - "description": "Labels to apply to instances that are created from these properties.", + "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", "type": "object" }, - "machineType": { + "linkType": { + "description": "Type of link requested, which can take one of the following values: - LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics - LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics. Note that this field indicates the speed of each of the links in the bundle, not the speed of the entire bundle.", + "enum": [ + "LINK_TYPE_ETHERNET_100G_LR", + "LINK_TYPE_ETHERNET_10G_LR" + ], + "enumDescriptions": [ + "100G Ethernet, LR Optics.", + "10G Ethernet, LR Optics. [(rate_bps) = 10000000000];" + ], + "type": "string" + }, + "location": { + "description": "URL of the InterconnectLocation object that represents where this connection is to be provisioned.", + "type": "string" + }, + "macsec": { + "$ref": "InterconnectMacsec", + "description": "Configuration that enables Media Access Control security (MACsec) on the Cloud Interconnect connection between Google and your on-premises router." + }, + "macsecEnabled": { + "description": "Enable or disable MACsec on this Interconnect connection. MACsec enablement fails if the MACsec object is not specified.", + "type": "boolean" + }, + "name": { "annotations": { "required": [ - "compute.instanceTemplates.insert" + "compute.interconnects.insert" ] }, - "description": "The machine type to use for instances that are created from these properties. This field only accepts a machine type name, for example `n2-standard-4`. If you use the machine type full or partial URL, for example `projects/my-l7ilb-project/zones/us-central1-a/machineTypes/n2-standard-4`, the request will result in an `INTERNAL_ERROR`.", + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, - "metadata": { - "$ref": "Metadata", - "description": "The metadata key/value pairs to assign to instances that are created from these properties. These pairs can consist of custom metadata or predefined keys. See Project and instance metadata for more information." + "nocContactEmail": { + "description": "Email address to contact the customer NOC for operations and maintenance notifications regarding this Interconnect. If specified, this will be used for notifications in addition to all other forms described, such as Cloud Monitoring logs alerting and Cloud Notifications. This field is required for users who sign up for Cloud Interconnect using workforce identity federation.", + "type": "string" }, - "minCpuPlatform": { - "description": "Minimum cpu/platform to be used by instances. The instance may be scheduled on the specified or newer cpu/platform. Applicable values are the friendly names of CPU platforms, such as minCpuPlatform: \"Intel Haswell\" or minCpuPlatform: \"Intel Sandy Bridge\". For more information, read Specifying a Minimum CPU Platform.", + "operationalStatus": { + "description": "[Output Only] The current status of this Interconnect's functionality, which can take one of the following values: - OS_ACTIVE: A valid Interconnect, which is turned up and is ready to use. Attachments may be provisioned on this Interconnect. - OS_UNPROVISIONED: An Interconnect that has not completed turnup. No attachments may be provisioned on this Interconnect. - OS_UNDER_MAINTENANCE: An Interconnect that is undergoing internal maintenance. No attachments may be provisioned or updated on this Interconnect. ", + "enum": [ + "OS_ACTIVE", + "OS_UNPROVISIONED" + ], + "enumDescriptions": [ + "The interconnect is valid, turned up, and ready to use. Attachments may be provisioned on this interconnect.", + "The interconnect has not completed turnup. No attachments may be provisioned on this interconnect." + ], "type": "string" }, - "networkInterfaces": { - "description": "An array of network access configurations for this interface.", + "peerIpAddress": { + "description": "[Output Only] IP address configured on the customer side of the Interconnect link. The customer should configure this IP address during turnup when prompted by Google NOC. This can be used only for ping tests.", + "type": "string" + }, + "provisionedLinkCount": { + "description": "[Output Only] Number of links actually provisioned in this interconnect.", + "format": "int32", + "type": "integer" + }, + "remoteLocation": { + "description": "Indicates that this is a Cross-Cloud Interconnect. This field specifies the location outside of Google's network that the interconnect is connected to.", + "type": "string" + }, + "requestedFeatures": { + "description": "Optional. List of features requested for this Interconnect connection, which can take one of the following values: - IF_MACSEC If specified then the connection is created on MACsec capable hardware ports. If not specified, the default value is false, which allocates non-MACsec capable ports first if available. This parameter can be provided only with Interconnect INSERT. It isn't valid for Interconnect PATCH.", "items": { - "$ref": "NetworkInterface" + "enum": [ + "IF_CROSS_SITE_NETWORK", + "IF_MACSEC" + ], + "enumDescriptions": [ + "Cross Site Networking", + "Media Access Control security (MACsec)" + ], + "type": "string" }, "type": "array" }, - "networkPerformanceConfig": { - "$ref": "NetworkPerformanceConfig", - "description": "Note that for MachineImage, this is not supported yet." + "requestedLinkCount": { + "description": "Target number of physical links in the link bundle, as requested by the customer.", + "format": "int32", + "type": "integer" }, - "partnerMetadata": { - "additionalProperties": { - "$ref": "StructuredEntries" - }, - "description": "Partner Metadata assigned to the instance properties. A map from a subdomain (namespace) to entries map.", - "type": "object" + "satisfiesPzs": { + "description": "[Output Only] Reserved for future use.", + "type": "boolean" }, - "postKeyRevocationActionType": { - "description": "PostKeyRevocationActionType of the instance.", - "enum": [ - "NOOP", - "POST_KEY_REVOCATION_ACTION_TYPE_UNSPECIFIED", - "SHUTDOWN" - ], - "enumDescriptions": [ - "Indicates user chose no operation.", - "Default value. This value is unused.", - "Indicates user chose to opt for VM shutdown on key revocation." - ], + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", "type": "string" }, - "privateIpv6GoogleAccess": { - "description": "The private IPv6 google access type for VMs. If not specified, use INHERIT_FROM_SUBNETWORK as default. Note that for MachineImage, this is not supported yet.", + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "type": "string" + }, + "state": { + "description": "[Output Only] The current state of Interconnect functionality, which can take one of the following values: - ACTIVE: The Interconnect is valid, turned up and ready to use. Attachments may be provisioned on this Interconnect. - UNPROVISIONED: The Interconnect has not completed turnup. No attachments may be provisioned on this Interconnect. - UNDER_MAINTENANCE: The Interconnect is undergoing internal maintenance. No attachments may be provisioned or updated on this Interconnect. ", "enum": [ - "ENABLE_BIDIRECTIONAL_ACCESS_TO_GOOGLE", - "ENABLE_OUTBOUND_VM_ACCESS_TO_GOOGLE", - "INHERIT_FROM_SUBNETWORK" + "ACTIVE", + "UNPROVISIONED" ], "enumDescriptions": [ - "Bidirectional private IPv6 access to/from Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.", - "Outbound private IPv6 access from VMs in this subnet to Google services. If specified, the subnetwork who is attached to the instance's default network interface will be assigned an internal IPv6 prefix if it doesn't have before.", - "Each network interface inherits PrivateIpv6GoogleAccess from its subnetwork." + "The interconnect is valid, turned up, and ready to use. Attachments may be provisioned on this interconnect.", + "The interconnect has not completed turnup. No attachments may be provisioned on this interconnect." ], "type": "string" }, - "reservationAffinity": { - "$ref": "ReservationAffinity", - "description": "Specifies the reservations that instances can consume from. Note that for MachineImage, this is not supported yet." - }, - "resourceManagerTags": { - "additionalProperties": { - "type": "string" - }, - "description": "Resource manager tags to be bound to the instance. Tag keys and values have the same definition as resource manager tags. Keys must be in the format `tagKeys/{tag_key_id}`, and values are in the format `tagValues/456`. The field is ignored (both PUT & PATCH) when empty.", - "type": "object" - }, - "resourcePolicies": { - "description": "Resource policies (names, not URLs) applied to instances created from these properties. Note that for MachineImage, this is not supported yet.", + "wireGroups": { + "description": "[Output Only] A list of the URLs of all CrossSiteNetwork WireGroups configured to use this Interconnect. The Interconnect cannot be deleted if this list is non-empty.", "items": { "type": "string" }, "type": "array" + } + }, + "type": "object" + }, + "InterconnectApplicationAwareInterconnect": { + "description": "Configuration information for application awareness on this Cloud Interconnect.", + "id": "InterconnectApplicationAwareInterconnect", + "properties": { + "bandwidthPercentagePolicy": { + "$ref": "InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy" }, - "scheduling": { - "$ref": "Scheduling", - "description": "Specifies the scheduling options for the instances that are created from these properties." + "profileDescription": { + "description": "Description for the application awareness profile on this Cloud Interconnect.", + "type": "string" }, - "secureTags": { - "description": "[Input Only] Secure tags to apply to this instance. Maximum number of secure tags allowed is 50. Note that for MachineImage, this is not supported yet.", + "shapeAveragePercentages": { + "description": "Optional field to specify a list of shape average percentages to be applied in conjunction with StrictPriorityPolicy or BandwidthPercentagePolicy.", "items": { - "type": "string" + "$ref": "InterconnectApplicationAwareInterconnectBandwidthPercentage" }, "type": "array" }, - "serviceAccounts": { - "description": "A list of service accounts with specified scopes. Access tokens for these service accounts are available to the instances that are created from these properties. Use metadata queries to obtain the access tokens for these instances.", + "strictPriorityPolicy": { + "$ref": "InterconnectApplicationAwareInterconnectStrictPriorityPolicy" + } + }, + "type": "object" + }, + "InterconnectApplicationAwareInterconnectBandwidthPercentage": { + "description": "Specify bandwidth percentages [1-100] for various traffic classes in BandwidthPercentagePolicy. The sum of all percentages must equal 100. All traffic classes must have a percentage value specified.", + "id": "InterconnectApplicationAwareInterconnectBandwidthPercentage", + "properties": { + "percentage": { + "description": "Bandwidth percentage for a specific traffic class.", + "format": "uint32", + "type": "integer" + }, + "trafficClass": { + "description": "TrafficClass whose bandwidth percentage is being specified.", + "enum": [ + "TC1", + "TC2", + "TC3", + "TC4", + "TC5", + "TC6" + ], + "enumDescriptions": [ + "Traffic Class 1, corresponding to DSCP ranges (0-7) 000xxx.", + "Traffic Class 2, corresponding to DSCP ranges (8-15) 001xxx.", + "Traffic Class 3, corresponding to DSCP ranges (16-23) 010xxx.", + "Traffic Class 4, corresponding to DSCP ranges (24-31) 011xxx.", + "Traffic Class 5, corresponding to DSCP ranges (32-47) 10xxxx.", + "Traffic Class 6, corresponding to DSCP ranges (48-63) 11xxxx." + ], + "type": "string" + } + }, + "type": "object" + }, + "InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy": { + "id": "InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy", + "properties": { + "bandwidthPercentages": { + "description": "Specify bandwidth percentages for various traffic classes for queuing type Bandwidth Percent.", "items": { - "$ref": "ServiceAccount" + "$ref": "InterconnectApplicationAwareInterconnectBandwidthPercentage" }, "type": "array" + } + }, + "type": "object" + }, + "InterconnectApplicationAwareInterconnectStrictPriorityPolicy": { + "description": "Specify configuration for StrictPriorityPolicy.", + "id": "InterconnectApplicationAwareInterconnectStrictPriorityPolicy", + "properties": {}, + "type": "object" + }, + "InterconnectAttachment": { + "description": "Represents an Interconnect Attachment (VLAN) resource. You can use Interconnect attachments (VLANS) to connect your Virtual Private Cloud networks to your on-premises networks through an Interconnect. For more information, read Creating VLAN Attachments.", + "id": "InterconnectAttachment", + "properties": { + "adminEnabled": { + "description": "Determines whether this Attachment will carry packets. Not present for PARTNER_PROVIDER.", + "type": "boolean" }, - "serviceIntegrationSpecs": { - "additionalProperties": { - "$ref": "ServiceIntegrationSpec" - }, - "description": "Mapping of user defined keys to ServiceIntegrationSpec.", - "type": "object" + "attachmentGroup": { + "description": "[Output Only] URL of the AttachmentGroup that includes this Attachment.", + "type": "string" }, - "shieldedInstanceConfig": { - "$ref": "ShieldedInstanceConfig", - "description": "Note that for MachineImage, this is not supported yet." + "bandwidth": { + "description": "Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s - BPS_100G: 100 Gbit/s ", + "enum": [ + "BPS_100G", + "BPS_100M", + "BPS_10G", + "BPS_1G", + "BPS_200M", + "BPS_20G", + "BPS_2G", + "BPS_300M", + "BPS_400M", + "BPS_500M", + "BPS_50G", + "BPS_50M", + "BPS_5G" + ], + "enumDescriptions": [ + "100 Gbit/s", + "100 Mbit/s", + "10 Gbit/s", + "1 Gbit/s", + "200 Mbit/s", + "20 Gbit/s", + "2 Gbit/s", + "300 Mbit/s", + "400 Mbit/s", + "500 Mbit/s", + "50 Gbit/s", + "50 Mbit/s", + "5 Gbit/s" + ], + "type": "string" }, - "shieldedVmConfig": { - "$ref": "ShieldedVmConfig", - "description": "Specifies the Shielded VM options for the instances that are created from these properties." + "candidateCloudRouterIpAddress": { + "description": "Single IPv4 address + prefix length to be configured on the cloud router interface for this interconnect attachment. - Both candidate_cloud_router_ip_address and candidate_customer_router_ip_address fields must be set or both must be unset. - Prefix length of both candidate_cloud_router_ip_address and candidate_customer_router_ip_address must be the same. - Max prefix length is 31. ", + "type": "string" + }, + "candidateCloudRouterIpv6Address": { + "description": "Single IPv6 address + prefix length to be configured on the cloud router interface for this interconnect attachment. - Both candidate_cloud_router_ipv6_address and candidate_customer_router_ipv6_address fields must be set or both must be unset. - Prefix length of both candidate_cloud_router_ipv6_address and candidate_customer_router_ipv6_address must be the same. - Max prefix length is 126. ", + "type": "string" + }, + "candidateCustomerRouterIpAddress": { + "description": "Single IPv4 address + prefix length to be configured on the customer router interface for this interconnect attachment.", + "type": "string" }, - "tags": { - "$ref": "Tags", - "description": "A list of tags to apply to the instances that are created from these properties. The tags identify valid sources or targets for network firewalls. The setTags method can modify this list of tags. Each tag within the list must comply with RFC1035." - } - }, - "type": "object" - }, - "InstancePropertiesPatch": { - "description": "Represents the change that you want to make to the instance properties.", - "id": "InstancePropertiesPatch", - "properties": { - "labels": { - "additionalProperties": { + "candidateCustomerRouterIpv6Address": { + "description": "Single IPv6 address + prefix length to be configured on the customer router interface for this interconnect attachment.", + "type": "string" + }, + "candidateIpv6Subnets": { + "description": "This field is not available.", + "items": { "type": "string" }, - "description": "The label key-value pairs that you want to patch onto the instance.", - "type": "object" + "type": "array" }, - "metadata": { - "additionalProperties": { + "candidateSubnets": { + "description": "Input only. Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space.", + "items": { "type": "string" }, - "description": "The metadata key-value pairs that you want to patch onto the instance. For more information, see Project and instance metadata.", - "type": "object" - } - }, - "type": "object" - }, - "InstanceReference": { - "id": "InstanceReference", - "properties": { - "instance": { - "description": "The URL for a specific instance. @required compute.instancegroups.addInstances/removeInstances", - "type": "string" - } - }, - "type": "object" - }, - "InstanceSettings": { - "description": "Represents a Instance Settings resource. You can use instance settings to configure default settings for Compute Engine VM instances. For example, you can use it to configure default machine type of Compute Engine VM instances.", - "id": "InstanceSettings", - "properties": { - "email": { - "description": "Email address of the service account.", + "type": "array" + }, + "cloudRouterIpAddress": { + "description": "[Output Only] IPv4 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.", "type": "string" }, - "fingerprint": { - "description": "Specifies a fingerprint for instance settings, which is essentially a hash of the instance settings resource's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update the instance settings resource. You must always provide an up-to-date fingerprint hash in order to update or change the resource, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the resource.", - "format": "byte", + "cloudRouterIpv6Address": { + "description": "[Output Only] IPv6 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.", "type": "string" }, - "kind": { - "default": "compute#instanceSettings", - "description": "[Output Only] Type of the resource. Always compute#instance_settings for instance settings.", + "cloudRouterIpv6InterfaceId": { + "description": "This field is not available.", "type": "string" }, - "metadata": { - "$ref": "InstanceSettingsMetadata", - "description": "The metadata key/value pairs assigned to all the instances in the corresponding scope." + "configurationConstraints": { + "$ref": "InterconnectAttachmentConfigurationConstraints", + "description": "[Output Only] Constraints for this attachment, if any. The attachment does not work if these constraints are not met." }, - "zone": { - "description": "[Output Only] URL of the zone where the resource resides You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" - } - }, - "type": "object" - }, - "InstanceSettingsMetadata": { - "id": "InstanceSettingsMetadata", - "properties": { - "items": { - "additionalProperties": { - "type": "string" - }, - "description": "A metadata key/value items map. The total size of all keys and values must be less than 512KB.", - "type": "object" }, - "kind": { - "default": "compute#metadata", - "description": "[Output Only] Type of the resource. Always compute#metadata for metadata.", - "type": "string" - } - }, - "type": "object" - }, - "InstanceTemplate": { - "description": "Represents an Instance Template resource. Google Compute Engine has two Instance Template resources: * [Global](/compute/docs/reference/rest/alpha/instanceTemplates) * [Regional](/compute/docs/reference/rest/alpha/regionInstanceTemplates) You can reuse a global instance template in different regions whereas you can use a regional instance template in a specified region only. If you want to reduce cross-region dependency or achieve data residency, use a regional instance template. To create VMs, managed instance groups, and reservations, you can use either global or regional instance templates. For more information, read Instance Templates.", - "id": "InstanceTemplate", - "properties": { - "creationTimestamp": { - "description": "[Output Only] The creation timestamp for this instance template in RFC3339 text format.", + "customerRouterIpAddress": { + "description": "[Output Only] IPv4 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.", "type": "string" }, - "description": { - "description": "An optional description of this resource. Provide this property when you create the resource.", + "customerRouterIpv6Address": { + "description": "[Output Only] IPv6 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.", "type": "string" }, - "id": { - "description": "[Output Only] A unique identifier for this instance template. The server defines this identifier.", - "format": "uint64", + "customerRouterIpv6InterfaceId": { + "description": "This field is not available.", "type": "string" }, - "kind": { - "default": "compute#instanceTemplate", - "description": "[Output Only] The resource type, which is always compute#instanceTemplate for instance templates.", + "dataplaneVersion": { + "description": "[Output Only] Dataplane version for this InterconnectAttachment. This field is only present for Dataplane version 2 and higher. Absence of this field in the API output indicates that the Dataplane is version 1.", + "format": "int32", + "type": "integer" + }, + "description": { + "description": "An optional description of this resource.", "type": "string" }, - "name": { - "annotations": { - "required": [ - "compute.instanceTemplates.insert" - ] - }, - "description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "edgeAvailabilityDomain": { + "description": "Input only. Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY.", + "enum": [ + "AVAILABILITY_DOMAIN_1", + "AVAILABILITY_DOMAIN_2", + "AVAILABILITY_DOMAIN_ANY" + ], + "enumDescriptions": [ + "", + "", + "" + ], "type": "string" }, - "properties": { - "$ref": "InstanceProperties", - "description": "The instance properties for this instance template." + "encryption": { + "description": "Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use *HA VPN over Cloud Interconnect*, the VLAN attachment must be created with this option. ", + "enum": [ + "IPSEC", + "NONE" + ], + "enumDescriptions": [ + "The interconnect attachment will carry only encrypted traffic that is encrypted by an IPsec device such as HA VPN gateway; VMs cannot directly send traffic to or receive traffic from such an interconnect attachment. To use HA VPN over Cloud Interconnect, the interconnect attachment must be created with this option.", + "This is the default value, which means the Interconnect Attachment will carry unencrypted traffic. VMs will be able to send traffic to or receive traffic from such interconnect attachment." + ], + "type": "string" }, - "region": { - "description": "[Output Only] URL of the region where the instance template resides. Only applicable for regional resources.", + "googleReferenceId": { + "deprecated": true, + "description": "[Output Only] Google reference ID, to be used when raising support tickets with Google or otherwise to debug backend connectivity issues. [Deprecated] This field is not used.", "type": "string" }, - "selfLink": { - "description": "[Output Only] The URL for this instance template. The server defines this URL.", + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64", "type": "string" }, - "selfLinkWithId": { - "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "interconnect": { + "description": "URL of the underlying Interconnect object that this attachment's traffic will traverse through.", "type": "string" }, - "sourceInstance": { - "description": "The source instance used to create the template. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /instances/instance - projects/project/zones/zone/instances/instance ", + "ipsecInternalAddresses": { + "description": "A list of URLs of addresses that have been reserved for the VLAN attachment. Used only for the VLAN attachment that has the encryption option as IPSEC. The addresses must be regional internal IP address ranges. When creating an HA VPN gateway over the VLAN attachment, if the attachment is configured to use a regional internal IP address, then the VPN gateway's IP address is allocated from the IP address range specified here. For example, if the HA VPN gateway's interface 0 is paired to this VLAN attachment, then a regional internal IP address for the VPN gateway interface 0 will be allocated from the IP address specified for this VLAN attachment. If this field is not specified when creating the VLAN attachment, then later on when creating an HA VPN gateway on this VLAN attachment, the HA VPN gateway's IP address is allocated from the regional external IP address pool.", + "items": { + "type": "string" + }, + "type": "array" + }, + "kind": { + "default": "compute#interconnectAttachment", + "description": "[Output Only] Type of the resource. Always compute#interconnectAttachment for interconnect attachments.", "type": "string" }, - "sourceInstanceParams": { - "$ref": "SourceInstanceParams", - "description": "The source instance params to use to create this instance template." - } - }, - "type": "object" - }, - "InstanceTemplateAggregatedList": { - "description": "Contains a list of InstanceTemplatesScopedList.", - "id": "InstanceTemplateAggregatedList", - "properties": { - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "labelFingerprint": { + "description": "A fingerprint for the labels being applied to this InterconnectAttachment, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an InterconnectAttachment.", + "format": "byte", "type": "string" }, - "items": { + "labels": { "additionalProperties": { - "$ref": "InstanceTemplatesScopedList", - "description": "The name of the scope that contains this set of instance templates." + "type": "string" }, - "description": "A list of InstanceTemplatesScopedList resources.", + "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", "type": "object" }, - "kind": { - "default": "compute#instanceTemplateAggregatedList", - "description": "Type of resource.", + "mtu": { + "description": "Maximum Transmission Unit (MTU), in bytes, of packets passing through this interconnect attachment. Only 1440 and 1500 are allowed. If not specified, the value will default to 1440.", + "format": "int32", + "type": "integer" + }, + "multicastEnabled": { + "description": "Whether or not to permit multicast traffic for this attachment. Multicast packets will be dropped if this is not enabled.", + "type": "boolean" + }, + "name": { + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "operationalStatus": { + "description": "[Output Only] The current status of whether or not this interconnect attachment is functional, which can take one of the following values: - OS_ACTIVE: The attachment has been turned up and is ready to use. - OS_UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete. ", + "enum": [ + "OS_ACTIVE", + "OS_UNPROVISIONED" + ], + "enumDescriptions": [ + "Indicates that attachment has been turned up and is ready to use.", + "Indicates that attachment is not ready to use yet, because turnup is not complete." + ], "type": "string" }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", + "pairingKey": { + "description": "[Output only for type PARTNER. Input only for PARTNER_PROVIDER. Not present for DEDICATED]. The opaque identifier of a PARTNER attachment used to initiate provisioning with a selected partner. Of the form \"XXXXX/region/domain\"", "type": "string" }, - "warning": { - "description": "[Output Only] Informational warning message.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "InstanceTemplateList": { - "description": "A list of instance templates.", - "id": "InstanceTemplateList", - "properties": { - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "partnerAsn": { + "description": "Optional BGP ASN for the router supplied by a Layer 3 Partner if they configured BGP on behalf of the customer. Output only for PARTNER type, input only for PARTNER_PROVIDER, not available for DEDICATED.", + "format": "int64", "type": "string" }, - "items": { - "description": "A list of InstanceTemplate resources.", - "items": { - "$ref": "InstanceTemplate" - }, - "type": "array" + "partnerMetadata": { + "$ref": "InterconnectAttachmentPartnerMetadata", + "description": "Informational metadata about Partner attachments from Partners to display to customers. Output only for PARTNER type, mutable for PARTNER_PROVIDER, not available for DEDICATED." }, - "kind": { - "default": "compute#instanceTemplateList", - "description": "[Output Only] The resource type, which is always compute#instanceTemplatesListResponse for instance template lists.", - "type": "string" + "privateInterconnectInfo": { + "$ref": "InterconnectAttachmentPrivateInfo", + "description": "[Output Only] Information specific to an InterconnectAttachment. This property is populated if the interconnect that this is attached to is of type DEDICATED." }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "region": { + "description": "[Output Only] URL of the region where the regional interconnect attachment resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", "type": "string" }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", + "remoteService": { + "description": "[Output Only] If the attachment is on a Cross-Cloud Interconnect connection, this field contains the interconnect's remote location service provider. Example values: \"Amazon Web Services\" \"Microsoft Azure\". The field is set only for attachments on Cross-Cloud Interconnect connections. Its value is copied from the InterconnectRemoteLocation remoteService field.", "type": "string" }, - "warning": { - "description": "[Output Only] Informational warning message.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" + "router": { + "description": "URL of the Cloud Router to be used for dynamic routing. This router must be in the same region as this InterconnectAttachment. The InterconnectAttachment will automatically connect the Interconnect to the network & region within which the Cloud Router is configured.", + "type": "string" + }, + "satisfiesPzs": { + "description": "[Output Only] Reserved for future use.", + "type": "boolean" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + }, + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "type": "string" + }, + "stackType": { + "description": "The stack type for this interconnect attachment to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at interconnect attachments creation and update interconnect attachment operations.", + "enum": [ + "IPV4_IPV6", + "IPV4_ONLY" + ], + "enumDescriptions": [ + "The interconnect attachment can have both IPv4 and IPv6 addresses.", + "The interconnect attachment will only be assigned IPv4 addresses." + ], + "type": "string" + }, + "state": { + "description": "[Output Only] The current state of this attachment's functionality. Enum values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER, PARTNER_REQUEST_RECEIVED, and PENDING_CUSTOMER are used for only PARTNER and PARTNER_PROVIDER interconnect attachments. This state can take one of the following values: - ACTIVE: The attachment has been turned up and is ready to use. - UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete. - PENDING_PARTNER: A newly-created PARTNER attachment that has not yet been configured on the Partner side. - PARTNER_REQUEST_RECEIVED: A PARTNER attachment is in the process of provisioning after a PARTNER_PROVIDER attachment was created that references it. - PENDING_CUSTOMER: A PARTNER or PARTNER_PROVIDER attachment that is waiting for a customer to activate it. - DEFUNCT: The attachment was deleted externally and is no longer functional. This could be because the associated Interconnect was removed, or because the other side of a Partner attachment was deleted. ", + "enum": [ + "ACTIVE", + "DEFUNCT", + "PARTNER_REQUEST_RECEIVED", + "PENDING_CUSTOMER", + "PENDING_PARTNER", + "STATE_UNSPECIFIED", + "UNPROVISIONED" + ], + "enumDescriptions": [ + "Indicates that attachment has been turned up and is ready to use.", + "The attachment was deleted externally and is no longer functional. This could be because the associated Interconnect was wiped out, or because the other side of a Partner attachment was deleted.", + "A PARTNER attachment is in the process of provisioning after a PARTNER_PROVIDER attachment was created that references it.", + "PARTNER or PARTNER_PROVIDER attachment that is waiting for the customer to activate.", + "A newly created PARTNER attachment that has not yet been configured on the Partner side.", + "", + "Indicates that attachment is not ready to use yet, because turnup is not complete." + ], + "type": "string" + }, + "subnetLength": { + "description": "Input only. Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The default value is 29, except for Cross-Cloud Interconnect connections that use an InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal to 30. For example, connections that use an Azure remote location fall into this category. In these cases, the default value is 30, and requesting 29 returns an error. Where both 29 and 30 are allowed, 29 is preferred, because it gives Google Cloud Support more debugging visibility. ", + "format": "int32", + "type": "integer" + }, + "type": { + "description": "The type of interconnect attachment this is, which can take one of the following values: - DEDICATED: an attachment to a Dedicated Interconnect. - PARTNER: an attachment to a Partner Interconnect, created by the customer. - PARTNER_PROVIDER: an attachment to a Partner Interconnect, created by the partner. ", + "enum": [ + "DEDICATED", + "PARTNER", + "PARTNER_PROVIDER" + ], + "enumDescriptions": [ + "Attachment to a dedicated interconnect.", + "Attachment to a partner interconnect, created by the customer.", + "Attachment to a partner interconnect, created by the partner." + ], + "type": "string" + }, + "vlanTag8021q": { + "description": "The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4093. Only specified at creation time.", + "format": "int32", + "type": "integer" } }, "type": "object" }, - "InstanceTemplatesScopedList": { - "id": "InstanceTemplatesScopedList", + "InterconnectAttachmentAggregatedList": { + "id": "InterconnectAttachmentAggregatedList", "properties": { - "instanceTemplates": { - "description": "[Output Only] A list of instance templates that are contained within the specified project and zone.", + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "additionalProperties": { + "$ref": "InterconnectAttachmentsScopedList", + "description": "Name of the scope containing this set of interconnect attachments." + }, + "description": "A list of InterconnectAttachmentsScopedList resources.", + "type": "object" + }, + "kind": { + "default": "compute#interconnectAttachmentAggregatedList", + "description": "[Output Only] Type of resource. Always compute#interconnectAttachmentAggregatedList for aggregated lists of interconnect attachments.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "[Output Only] Unreachable resources.", "items": { - "$ref": "InstanceTemplate" + "type": "string" }, "type": "array" }, "warning": { - "description": "[Output Only] An informational warning that replaces the list of instance templates when the list is empty.", + "description": "[Output Only] Informational warning message.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", @@ -64395,6 +69253,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -64431,6 +69290,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -64455,6 +69315,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -64492,635 +69353,353 @@ }, "type": "object" }, - "InstanceWithNamedPorts": { - "id": "InstanceWithNamedPorts", + "InterconnectAttachmentConfigurationConstraints": { + "id": "InterconnectAttachmentConfigurationConstraints", "properties": { - "instance": { - "description": "[Output Only] The URL of the instance.", - "type": "string" - }, - "namedPorts": { - "description": "[Output Only] The named ports that belong to this instance group.", - "items": { - "$ref": "NamedPort" - }, - "type": "array" - }, - "status": { - "description": "[Output Only] The status of the instance.", + "bgpMd5": { + "description": "[Output Only] Whether the attachment's BGP session requires/allows/disallows BGP MD5 authentication. This can take one of the following values: MD5_OPTIONAL, MD5_REQUIRED, MD5_UNSUPPORTED. For example, a Cross-Cloud Interconnect connection to a remote cloud provider that requires BGP MD5 authentication has the interconnectRemoteLocation attachment_configuration_constraints.bgp_md5 field set to MD5_REQUIRED, and that property is propagated to the attachment. Similarly, if BGP MD5 is MD5_UNSUPPORTED, an error is returned if MD5 is requested.", "enum": [ - "DEPROVISIONING", - "PROVISIONING", - "REPAIRING", - "RUNNING", - "STAGING", - "STOPPED", - "STOPPING", - "SUSPENDED", - "SUSPENDING", - "TERMINATED" + "MD5_OPTIONAL", + "MD5_REQUIRED", + "MD5_UNSUPPORTED" ], "enumDescriptions": [ - "The instance is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.", - "Resources are being allocated for the instance.", - "The instance is in repair.", - "The instance is running.", - "All required resources have been allocated and the instance is being started.", - "The instance has stopped successfully.", - "The instance is currently stopping (either being deleted or killed).", - "The instance has suspended.", - "The instance is suspending.", - "The instance has stopped (either by explicit action or underlying failure)." + "MD5_OPTIONAL: BGP MD5 authentication is supported and can optionally be configured.", + "MD5_REQUIRED: BGP MD5 authentication must be configured.", + "MD5_UNSUPPORTED: BGP MD5 authentication must not be configured" ], "type": "string" - } - }, - "type": "object" - }, - "InstancesAddResourcePoliciesRequest": { - "id": "InstancesAddResourcePoliciesRequest", - "properties": { - "resourcePolicies": { - "description": "Resource policies to be added to this instance.", + }, + "bgpPeerAsnRanges": { + "description": "[Output Only] List of ASN ranges that the remote location is known to support. Formatted as an array of inclusive ranges {min: min-value, max: max-value}. For example, [{min: 123, max: 123}, {min: 64512, max: 65534}] allows the peer ASN to be 123 or anything in the range 64512-65534. This field is only advisory. Although the API accepts other ranges, these are the ranges that we recommend.", "items": { - "type": "string" + "$ref": "InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange" }, "type": "array" } }, "type": "object" }, - "InstancesBulkInsertOperationMetadata": { - "id": "InstancesBulkInsertOperationMetadata", + "InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange": { + "id": "InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange", "properties": { - "perLocationStatus": { - "additionalProperties": { - "$ref": "BulkInsertOperationStatus" - }, - "description": "Status information per location (location name is key). Example key: zones/us-central1-a", - "type": "object" + "max": { + "format": "uint32", + "type": "integer" + }, + "min": { + "format": "uint32", + "type": "integer" } }, "type": "object" }, - "InstancesGetEffectiveFirewallsResponse": { - "id": "InstancesGetEffectiveFirewallsResponse", + "InterconnectAttachmentGroup": { + "description": "An interconnect attachment group resource allows customers to create, analyze, and expand highly available deployments.", + "id": "InterconnectAttachmentGroup", "properties": { - "firewallPolicys": { - "description": "Effective firewalls from firewall policies.", - "items": { - "$ref": "InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy" + "attachments": { + "additionalProperties": { + "$ref": "InterconnectAttachmentGroupAttachment" }, - "type": "array" + "description": "Attachments in the AttachmentGroup. Keys are arbitrary user-specified strings. Users are encouraged, but not required, to use their preferred format for resource links as keys. Note that there are add-members and remove-members methods in gcloud. The size of this map is limited by an \"Attachments per group\" quota.", + "type": "object" }, - "firewalls": { - "description": "Effective firewalls on the instance.", - "items": { - "$ref": "Firewall" - }, - "type": "array" + "configured": { + "$ref": "InterconnectAttachmentGroupConfigured" }, - "organizationFirewalls": { - "description": "Effective firewalls from organization policies.", - "items": { - "$ref": "InstancesGetEffectiveFirewallsResponseOrganizationFirewallPolicy" - }, - "type": "array" - } - }, - "type": "object" - }, - "InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy": { - "id": "InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy", - "properties": { - "displayName": { - "deprecated": true, - "description": "[Output Only] Deprecated, please use short name instead. The display name of the firewall policy.", + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" }, - "name": { - "description": "[Output Only] The name of the firewall policy.", + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", "type": "string" }, - "priority": { - "description": "[Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY.", - "format": "int32", - "type": "integer" + "etag": { + "description": "Opaque system-generated token that uniquely identifies the configuration. If provided when patching a configuration in update mode, the provided token must match the current token or the update is rejected. This provides a reliable means of doing read-modify-write (optimistic locking) as described by AIP 154.", + "type": "string" }, - "rules": { - "description": "The rules that apply to the network.", - "items": { - "$ref": "FirewallPolicyRule" - }, - "type": "array" + "id": { + "description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", + "format": "uint64", + "type": "string" }, - "shortName": { - "description": "[Output Only] The short name of the firewall policy.", + "intent": { + "$ref": "InterconnectAttachmentGroupIntent" + }, + "interconnectGroup": { + "description": "The URL of an InterconnectGroup that groups these Attachments' Interconnects. Customers do not need to set this unless directed by Google Support.", "type": "string" }, - "type": { - "description": "[Output Only] The type of the firewall policy. Can be one of HIERARCHY, NETWORK, NETWORK_REGIONAL, SYSTEM_GLOBAL, SYSTEM_REGIONAL.", - "enum": [ - "HIERARCHY", - "NETWORK", - "NETWORK_REGIONAL", - "SYSTEM_GLOBAL", - "SYSTEM_REGIONAL", - "UNSPECIFIED" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], + "kind": { + "default": "compute#interconnectAttachmentGroup", + "description": "[Output Only] Type of the resource. Always compute#interconnectAttachmentGroup.", "type": "string" - } - }, - "type": "object" - }, - "InstancesGetEffectiveFirewallsResponseOrganizationFirewallPolicy": { - "description": "A pruned SecurityPolicy containing ID and any applicable firewall rules.", - "id": "InstancesGetEffectiveFirewallsResponseOrganizationFirewallPolicy", - "properties": { - "id": { - "description": "The unique identifier for the security policy. This identifier is defined by the server.", - "format": "uint64", + }, + "logicalStructure": { + "$ref": "InterconnectAttachmentGroupLogicalStructure" + }, + "name": { + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, - "rules": { - "description": "The rules that apply to the network.", - "items": { - "$ref": "SecurityPolicyRule" - }, - "type": "array" + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" } }, "type": "object" }, - "InstancesRemoveResourcePoliciesRequest": { - "id": "InstancesRemoveResourcePoliciesRequest", + "InterconnectAttachmentGroupAttachment": { + "description": "An Attachment in this AttachmentGroup.", + "id": "InterconnectAttachmentGroupAttachment", "properties": { - "resourcePolicies": { - "description": "Resource policies to be removed from this instance.", - "items": { - "type": "string" - }, - "type": "array" + "attachment": { + "type": "string" } }, "type": "object" }, - "InstancesReportHostAsFaultyRequest": { - "id": "InstancesReportHostAsFaultyRequest", + "InterconnectAttachmentGroupConfigured": { + "description": "[Output Only] The redundancy this group is configured to support. The way a user queries what SLA their Attachment gets is by looking at this field of the Attachment's AttachmentGroup.", + "id": "InterconnectAttachmentGroupConfigured", "properties": { - "faultReasons": { - "items": { - "$ref": "InstancesReportHostAsFaultyRequestFaultReason" - }, - "type": "array" + "availabilitySla": { + "$ref": "InterconnectAttachmentGroupConfiguredAvailabilitySLA" } }, "type": "object" }, - "InstancesReportHostAsFaultyRequestFaultReason": { - "id": "InstancesReportHostAsFaultyRequestFaultReason", + "InterconnectAttachmentGroupConfiguredAvailabilitySLA": { + "description": "[Output Only] Which SLA this group is configured to support, and why this group does or does not meet that SLA's requirements.", + "id": "InterconnectAttachmentGroupConfiguredAvailabilitySLA", "properties": { - "behavior": { + "effectiveSla": { "enum": [ - "BEHAVIOR_UNSPECIFIED", - "PERFORMANCE", - "SILENT_DATA_CORRUPTION", - "UNRECOVERABLE_GPU_ERROR" + "EFFECTIVE_SLA_UNSPECIFIED", + "NO_SLA", + "PRODUCTION_CRITICAL", + "PRODUCTION_NON_CRITICAL" ], "enumDescriptions": [ - "Public reportable behaviors", + "", "", "", "" ], "type": "string" }, - "description": { - "type": "string" - } - }, - "type": "object" - }, - "InstancesResumeRequest": { - "id": "InstancesResumeRequest", - "properties": { - "disks": { - "description": "Array of disks associated with this instance that are protected with a customer-supplied encryption key. In order to resume the instance, the disk url and its corresponding key must be provided. If the disk is not protected with a customer-supplied encryption key it should not be specified.", + "intendedSlaBlockers": { "items": { - "$ref": "CustomerEncryptionKeyProtectedDisk" + "$ref": "InterconnectAttachmentGroupConfiguredAvailabilitySLAIntendedSlaBlockers" }, "type": "array" - }, - "instanceEncryptionKey": { - "$ref": "CustomerEncryptionKey", - "description": "Decrypts data associated with an instance that is protected with a customer-supplied encryption key. If the instance you are starting is protected with a customer-supplied encryption key, the correct key must be provided otherwise the instance resume will not succeed." } }, "type": "object" }, - "InstancesScopedList": { - "id": "InstancesScopedList", + "InterconnectAttachmentGroupConfiguredAvailabilitySLAIntendedSlaBlockers": { + "description": "[Output Only] Reasons why configuration.availabilitySLA.sla differs from intent.availabilitySLA. This list is empty if and only if those are the same.", + "id": "InterconnectAttachmentGroupConfiguredAvailabilitySLAIntendedSlaBlockers", "properties": { - "instances": { - "description": "[Output Only] A list of instances contained in this scope.", + "attachments": { + "description": "[Output Only] URLs of any particular Attachments to explain this blocker in more detail.", "items": { - "$ref": "Instance" + "type": "string" }, "type": "array" }, - "warning": { - "description": "[Output Only] Informational warning which replaces the list of instances when the list is empty.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "InstancesSetLabelsRequest": { - "id": "InstancesSetLabelsRequest", - "properties": { - "labelFingerprint": { - "description": "Fingerprint of the previous set of labels for this resource, used to prevent conflicts. Provide the latest fingerprint value when making a request to add or change labels.", - "format": "byte", + "blockerType": { + "enum": [ + "BLOCKER_TYPE_UNSPECIFIED", + "INCOMPATIBLE_METROS", + "INCOMPATIBLE_REGIONS", + "MISSING_GLOBAL_ROUTING", + "NO_ATTACHMENTS", + "NO_ATTACHMENTS_IN_METRO_AND_ZONE", + "OTHER" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "" + ], "type": "string" }, - "labels": { - "additionalProperties": { + "documentationLink": { + "description": "[Output Only] The url of Google Cloud public documentation explaining this requirement. This is set for every type of requirement.", + "type": "string" + }, + "explanation": { + "description": "[Output Only] A human-readable explanation of this requirement and why it's not met. This is set for every type of requirement.", + "type": "string" + }, + "metros": { + "description": "[Output Only] Metros used to explain this blocker in more detail. These are three-letter lowercase strings like \"iad\". This will be set for some blockers (like NO_ATTACHMENTS_IN_METRO_AND_ZONE) but does not apply to others.", + "items": { "type": "string" }, - "type": "object" - } - }, - "type": "object" - }, - "InstancesSetMachineResourcesRequest": { - "id": "InstancesSetMachineResourcesRequest", - "properties": { - "guestAccelerators": { - "description": "A list of the type and count of accelerator cards attached to the instance.", + "type": "array" + }, + "regions": { + "description": "[Output Only] Regions used to explain this blocker in more detail. These are region names formatted like \"us-central1\". This will be set for some blockers (like INCOMPATIBLE_REGIONS) but does not apply to others.", "items": { - "$ref": "AcceleratorConfig" + "type": "string" + }, + "type": "array" + }, + "zones": { + "description": "[Output Only] Zones used to explain this blocker in more detail. Format is \"zone1\" and/or \"zone2\". This will be set for some blockers (like MISSING_ZONE) but does not apply to others.", + "items": { + "type": "string" }, "type": "array" } }, "type": "object" }, - "InstancesSetMachineTypeRequest": { - "id": "InstancesSetMachineTypeRequest", + "InterconnectAttachmentGroupIntent": { + "description": "The user's intent for this AttachmentGroup. This is the only required field besides the name that must be specified on group creation.", + "id": "InterconnectAttachmentGroupIntent", "properties": { - "machineType": { - "description": "Full or partial URL of the machine type resource. See Machine Types for a full list of machine types. For example: zones/us-central1-f/machineTypes/n1-standard-1", + "availabilitySla": { + "enum": [ + "AVAILABILITY_SLA_UNSPECIFIED", + "NO_SLA", + "PRODUCTION_CRITICAL", + "PRODUCTION_NON_CRITICAL" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], "type": "string" } }, "type": "object" }, - "InstancesSetMinCpuPlatformRequest": { - "id": "InstancesSetMinCpuPlatformRequest", + "InterconnectAttachmentGroupLogicalStructure": { + "description": "[Output Only] An analysis of the logical layout of Attachments in this group. Every Attachment in the group is shown once in this structure.", + "id": "InterconnectAttachmentGroupLogicalStructure", "properties": { - "minCpuPlatform": { - "description": "Minimum cpu/platform this instance should be started at.", - "type": "string" + "regions": { + "items": { + "$ref": "InterconnectAttachmentGroupLogicalStructureRegion" + }, + "type": "array" } }, "type": "object" }, - "InstancesSetNameRequest": { - "id": "InstancesSetNameRequest", + "InterconnectAttachmentGroupLogicalStructureRegion": { + "description": "[Output Only] The regions Attachments in this group are in.", + "id": "InterconnectAttachmentGroupLogicalStructureRegion", "properties": { - "currentName": { - "description": "The current name of this resource, used to prevent conflicts. Provide the latest name when making a request to change name.", - "type": "string" + "metros": { + "items": { + "$ref": "InterconnectAttachmentGroupLogicalStructureRegionMetro" + }, + "type": "array" }, - "name": { - "description": "The name to be applied to the instance. Needs to be RFC 1035 compliant.", + "region": { + "description": "[Output Only] The name of a region, like \"us-central1\".", "type": "string" } }, "type": "object" }, - "InstancesSetSecurityPolicyRequest": { - "id": "InstancesSetSecurityPolicyRequest", + "InterconnectAttachmentGroupLogicalStructureRegionMetro": { + "description": "[Output Only] The metros of Attachments in this group in this region.", + "id": "InterconnectAttachmentGroupLogicalStructureRegionMetro", "properties": { - "networkInterfaces": { - "description": "The network interfaces that the security policy will be applied to. Network interfaces use the nicN naming format. You can only set a security policy for network interfaces with an access config.", + "facilities": { "items": { - "type": "string" + "$ref": "InterconnectAttachmentGroupLogicalStructureRegionMetroFacility" }, "type": "array" }, - "securityPolicy": { - "description": "A full or partial URL to a security policy to add to this instance. If this field is set to an empty string it will remove the associated security policy.", + "metro": { + "description": "[Output Only] The name of the metro, as a three-letter lowercase string like \"iad\". This is the first component of the location of an Interconnect.", "type": "string" } }, "type": "object" }, - "InstancesSetServiceAccountRequest": { - "id": "InstancesSetServiceAccountRequest", + "InterconnectAttachmentGroupLogicalStructureRegionMetroFacility": { + "description": "[Output Only] The facilities used for this group's Attachments' Interconnects.", + "id": "InterconnectAttachmentGroupLogicalStructureRegionMetroFacility", "properties": { - "email": { - "description": "Email address of the service account.", + "facility": { + "description": "[Output Only] The name of a facility, like \"iad-1234\".", "type": "string" }, - "scopes": { - "description": "The list of scopes to be made available for this service account.", + "zones": { "items": { - "type": "string" + "$ref": "InterconnectAttachmentGroupLogicalStructureRegionMetroFacilityZone" }, "type": "array" } }, "type": "object" }, - "InstancesStartWithEncryptionKeyRequest": { - "id": "InstancesStartWithEncryptionKeyRequest", + "InterconnectAttachmentGroupLogicalStructureRegionMetroFacilityZone": { + "description": "[Output Only] The zones that Attachments in this group are present in, in the given facilities. This is inherited from their Interconnects.", + "id": "InterconnectAttachmentGroupLogicalStructureRegionMetroFacilityZone", "properties": { - "disks": { - "description": "Array of disks associated with this instance that are protected with a customer-supplied encryption key. In order to start the instance, the disk url and its corresponding key must be provided. If the disk is not protected with a customer-supplied encryption key it should not be specified.", + "attachments": { + "description": "[Output Only] URLs of Attachments in the given zone, to the given region, on Interconnects in the given facility and metro. Every Attachment in the AG has such an entry.", "items": { - "$ref": "CustomerEncryptionKeyProtectedDisk" + "type": "string" }, "type": "array" }, - "instanceEncryptionKey": { - "$ref": "CustomerEncryptionKey", - "description": "Decrypts data associated with an instance that is protected with a customer-supplied encryption key. If the instance you are starting is protected with a customer-supplied encryption key, the correct key must be provided otherwise the instance start will not succeed." + "zone": { + "description": "[Output Only] The name of a zone, either \"zone1\" or \"zone2\".", + "type": "string" } }, "type": "object" }, - "InstantSnapshot": { - "description": "Represents a InstantSnapshot resource. You can use instant snapshots to create disk rollback points quickly..", - "id": "InstantSnapshot", + "InterconnectAttachmentGroupsGetOperationalStatusResponse": { + "description": "Response for the InterconnectAttachmentGroupsGetOperationalStatusResponse.", + "id": "InterconnectAttachmentGroupsGetOperationalStatusResponse", "properties": { - "architecture": { - "description": "[Output Only] The architecture of the instant snapshot. Valid values are ARM64 or X86_64.", - "enum": [ - "ARCHITECTURE_UNSPECIFIED", - "ARM64", - "X86_64" - ], - "enumDescriptions": [ - "Default value indicating Architecture is not set.", - "Machines with architecture ARM64", - "Machines with architecture X86_64" - ], - "type": "string" - }, - "creationTimestamp": { - "description": "[Output Only] Creation timestamp in RFC3339 text format.", - "type": "string" - }, - "description": { - "description": "An optional description of this resource. Provide this property when you create the resource.", - "type": "string" - }, - "diskSizeGb": { - "description": "[Output Only] Size of the source disk, specified in GB.", - "format": "int64", - "type": "string" - }, - "guestFlush": { - "description": "Whether to attempt an application consistent instant snapshot by informing the OS to prepare for the snapshot process.", - "type": "boolean" - }, - "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", - "format": "uint64", - "type": "string" - }, - "kind": { - "default": "compute#instantSnapshot", - "description": "[Output Only] Type of the resource. Always compute#instantSnapshot for InstantSnapshot resources.", - "type": "string" - }, - "labelFingerprint": { - "description": "A fingerprint for the labels being applied to this InstantSnapshot, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a InstantSnapshot.", - "format": "byte", - "type": "string" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Labels to apply to this InstantSnapshot. These can be later modified by the setLabels method. Label values may be empty.", - "type": "object" - }, - "name": { - "description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" - }, - "region": { - "description": "[Output Only] URL of the region where the instant snapshot resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", - "type": "string" - }, - "resourceStatus": { - "$ref": "InstantSnapshotResourceStatus", - "description": "[Output Only] Status information for the instant snapshot resource." - }, - "satisfiesPzi": { - "description": "Output only. Reserved for future use.", - "readOnly": true, - "type": "boolean" - }, - "satisfiesPzs": { - "description": "[Output Only] Reserved for future use.", - "type": "boolean" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for the resource.", - "type": "string" - }, - "selfLinkWithId": { - "description": "[Output Only] Server-defined URL for this resource's resource id.", - "type": "string" - }, - "sourceDisk": { - "description": "URL of the source disk used to create this instant snapshot. Note that the source disk must be in the same zone/region as the instant snapshot to be created. This can be a full or valid partial URL. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - https://www.googleapis.com/compute/v1/projects/project/regions/region /disks/disk - projects/project/zones/zone/disks/disk - projects/project/regions/region/disks/disk - zones/zone/disks/disk - regions/region/disks/disk ", - "type": "string" - }, - "sourceDiskId": { - "description": "[Output Only] The ID value of the disk used to create this InstantSnapshot. This value may be used to determine whether the InstantSnapshot was taken from the current or a previous instance of a given disk name.", - "type": "string" - }, - "sourceInstantSnapshotGroup": { - "description": "[Output Only] URL of the source instant snapshot this instant snapshot is part of. Note that the source instant snapshot group must be in the same zone/region as the instant snapshot to be created. This can be a full or valid partial URL.", - "type": "string" - }, - "sourceInstantSnapshotGroupId": { - "description": "[Output Only] The ID value of the source instant snapshot group this InstantSnapshot is part of. This value may be used to determine whether the InstantSnapshot was created as part of an InstantSnapshotGroup creation.", - "type": "string" - }, - "status": { - "description": "[Output Only] The status of the instantSnapshot. This can be CREATING, DELETING, FAILED, or READY.", - "enum": [ - "CREATING", - "DELETING", - "FAILED", - "READY", - "UNAVAILABLE" - ], - "enumDescriptions": [ - "InstantSnapshot creation is in progress.", - "InstantSnapshot is currently being deleted.", - "InstantSnapshot creation failed.", - "InstantSnapshot has been created successfully.", - "InstantSnapshot is currently unavailable and cannot be used for Disk restoration" - ], + "etag": { "type": "string" }, - "zone": { - "description": "[Output Only] URL of the zone where the instant snapshot resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", - "type": "string" + "result": { + "$ref": "InterconnectAttachmentGroupsOperationalStatus" } }, "type": "object" }, - "InstantSnapshotAggregatedList": { - "id": "InstantSnapshotAggregatedList", + "InterconnectAttachmentGroupsListResponse": { + "id": "InterconnectAttachmentGroupsListResponse", "properties": { + "etag": { + "type": "string" + }, "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "additionalProperties": { - "$ref": "InstantSnapshotsScopedList", - "description": "[Output Only] Name of the scope containing this set of instantSnapshots." + "description": "A list of InterconnectAttachmentGroup resources.", + "items": { + "$ref": "InterconnectAttachmentGroup" }, - "description": "A list of InstantSnapshotsScopedList resources.", - "type": "object" + "type": "array" }, "kind": { - "default": "compute#instantSnapshotAggregatedList", - "description": "[Output Only] Type of resource. Always compute#instantSnapshotAggregatedList for aggregated lists of instantSnapshots.", + "default": "compute#interconnectAttachmentGroup", "type": "string" }, "nextPageToken": { @@ -65132,7 +69711,7 @@ "type": "string" }, "unreachables": { - "description": "[Output Only] Unreachable resources.", + "description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", "items": { "type": "string" }, @@ -65165,6 +69744,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -65201,6 +69781,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -65225,6 +69806,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -65262,123 +69844,46 @@ }, "type": "object" }, - "InstantSnapshotGroup": { - "description": "Represents an InstantSnapshotGroup resource. An instant snapshot group is a set of instant snapshots that represents a point in time state of a consistency group.", - "id": "InstantSnapshotGroup", + "InterconnectAttachmentGroupsOperationalStatus": { + "id": "InterconnectAttachmentGroupsOperationalStatus", "properties": { - "creationTimestamp": { - "description": "[Output Only] Creation timestamp in RFC3339 text format.", - "type": "string" - }, - "description": { - "description": "Optional. An optional description of this resource. Provide this property when you create the resource.", - "type": "string" - }, - "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", - "format": "uint64", - "type": "string" - }, - "kind": { - "default": "compute#instantSnapshotGroup", - "description": "[Output Only] Type of the resource. Always compute#instantSnapshotGroup for InstantSnapshotGroup resources.", - "type": "string" - }, - "name": { - "description": "Identifier. Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" - }, - "region": { - "description": "[Output Only] URL of the region where the instant snapshot group resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", - "type": "string" - }, - "resourceStatus": { - "$ref": "InstantSnapshotGroupResourceStatus" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for the resource.", - "type": "string" - }, - "selfLinkWithId": { - "description": "[Output Only] Server-defined URL for this resource's resource id.", - "type": "string" - }, - "sourceConsistencyGroup": { - "type": "string" - }, - "status": { - "description": "[Output Only]", + "groupStatus": { + "description": "Summarizes the status of the group.", "enum": [ - "CREATING", - "DELETING", - "FAILED", - "INVALID", - "READY", - "UNKNOWN" + "DEGRADED", + "FULLY_DOWN", + "FULLY_UP", + "UNSPECIFIED" ], "enumDescriptions": [ - "", - "", "", "", "", "" ], "type": "string" - }, - "zone": { - "description": "[Output Only] URL of the zone where the instant snapshot group resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", - "type": "string" - } - }, - "type": "object" - }, - "InstantSnapshotGroupResourceStatus": { - "id": "InstantSnapshotGroupResourceStatus", - "properties": { - "consistencyMembershipResolutionTime": { - "description": "[Output Only]", - "format": "google-datetime", - "type": "string" - }, - "sourceInfo": { - "$ref": "InstantSnapshotGroupSourceInfo", - "description": "[Output Only]" - } - }, - "type": "object" - }, - "InstantSnapshotGroupSourceInfo": { - "id": "InstantSnapshotGroupSourceInfo", - "properties": { - "consistencyGroup": { - "type": "string" - }, - "consistencyGroupId": { - "type": "string" } }, "type": "object" }, - "InstantSnapshotList": { - "description": "Contains a list of InstantSnapshot resources.", - "id": "InstantSnapshotList", + "InterconnectAttachmentList": { + "description": "Response to the list request, and contains a list of interconnect attachments.", + "id": "InterconnectAttachmentList", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "description": "A list of InstantSnapshot resources.", + "description": "A list of InterconnectAttachment resources.", "items": { - "$ref": "InstantSnapshot" + "$ref": "InterconnectAttachment" }, "type": "array" }, "kind": { - "default": "compute#instantSnapshotList", - "description": "Type of resource.", + "default": "compute#interconnectAttachmentList", + "description": "[Output Only] Type of resource. Always compute#interconnectAttachmentList for lists of interconnect attachments.", "type": "string" }, "nextPageToken": { @@ -65416,6 +69921,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -65452,6 +69958,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -65476,6 +69983,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -65513,29 +70021,49 @@ }, "type": "object" }, - "InstantSnapshotResourceStatus": { - "id": "InstantSnapshotResourceStatus", + "InterconnectAttachmentPartnerMetadata": { + "description": "Informational metadata about Partner attachments from Partners to display to customers. These fields are propagated from PARTNER_PROVIDER attachments to their corresponding PARTNER attachments.", + "id": "InterconnectAttachmentPartnerMetadata", "properties": { - "storageSizeBytes": { - "description": "[Output Only] The storage size of this instant snapshot.", - "format": "int64", + "interconnectName": { + "description": "Plain text name of the Interconnect this attachment is connected to, as displayed in the Partner's portal. For instance \"Chicago 1\". This value may be validated to match approved Partner values.", + "type": "string" + }, + "partnerName": { + "description": "Plain text name of the Partner providing this attachment. This value may be validated to match approved Partner values.", + "type": "string" + }, + "portalUrl": { + "description": "URL of the Partner's portal for this Attachment. Partners may customise this to be a deep link to the specific resource on the Partner portal. This value may be validated to match approved Partner values.", "type": "string" } }, "type": "object" }, - "InstantSnapshotsScopedList": { - "id": "InstantSnapshotsScopedList", + "InterconnectAttachmentPrivateInfo": { + "description": "Information for an interconnect attachment when this belongs to an interconnect of type DEDICATED.", + "id": "InterconnectAttachmentPrivateInfo", "properties": { - "instantSnapshots": { - "description": "[Output Only] A list of instantSnapshots contained in this scope.", + "tag8021q": { + "description": "[Output Only] 802.1q encapsulation tag to be used for traffic between Google and the customer, going to and from this network and region.", + "format": "uint32", + "type": "integer" + } + }, + "type": "object" + }, + "InterconnectAttachmentsScopedList": { + "id": "InterconnectAttachmentsScopedList", + "properties": { + "interconnectAttachments": { + "description": "A list of interconnect attachments contained in this scope.", "items": { - "$ref": "InstantSnapshot" + "$ref": "InterconnectAttachment" }, "type": "array" }, "warning": { - "description": "[Output Only] Informational warning which replaces the list of instantSnapshots when the list is empty.", + "description": "Informational warning which replaces the list of addresses when the list is empty.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", @@ -65561,6 +70089,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -65597,6 +70126,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -65621,6 +70151,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -65658,619 +70189,496 @@ }, "type": "object" }, - "Int64RangeMatch": { - "description": "HttpRouteRuleMatch criteria for field values that must stay within the specified integer range.", - "id": "Int64RangeMatch", + "InterconnectCircuitInfo": { + "description": "Describes a single physical circuit between the Customer and Google. CircuitInfo objects are created by Google, so all fields are output only.", + "id": "InterconnectCircuitInfo", "properties": { - "rangeEnd": { - "description": "The end of the range (exclusive) in signed long integer format.", - "format": "int64", + "customerDemarcId": { + "description": "Customer-side demarc ID for this circuit.", "type": "string" }, - "rangeStart": { - "description": "The start of the range (inclusive) in signed long integer format.", - "format": "int64", + "googleCircuitId": { + "description": "Google-assigned unique ID for this circuit. Assigned at circuit turn-up.", + "type": "string" + }, + "googleDemarcId": { + "description": "Google-side demarc ID for this circuit. Assigned at circuit turn-up and provided by Google to the customer in the LOA.", "type": "string" } }, "type": "object" }, - "Interconnect": { - "description": "Represents an Interconnect resource. An Interconnect resource is a dedicated connection between the Google Cloud network and your on-premises network. For more information, read the Dedicated Interconnect Overview.", - "id": "Interconnect", + "InterconnectDiagnostics": { + "description": "Diagnostics information about the Interconnect connection, which contains detailed and current technical information about Google's side of the connection.", + "id": "InterconnectDiagnostics", "properties": { - "aaiEnabled": { - "description": "Enable or disable the Application Aware Interconnect(AAI) feature on this interconnect.", - "type": "boolean" - }, - "adminEnabled": { - "description": "Administrative status of the interconnect. When this is set to true, the Interconnect is functional and can carry traffic. When set to false, no packets can be carried over the interconnect and no BGP routes are exchanged over it. By default, the status is set to true.", - "type": "boolean" - }, - "applicationAwareInterconnect": { - "$ref": "InterconnectApplicationAwareInterconnect", - "description": "Configuration for enabling Application Aware Interconnect (AAI) on this Cloud Interconnect connection between Google and your on-premises router." - }, - "availableFeatures": { - "description": "[Output only] List of features available for this Interconnect connection, which can take one of the following values: - IF_MACSEC If present then the Interconnect connection is provisioned on MACsec capable hardware ports. If not present then the Interconnect connection is provisioned on non-MACsec capable ports and MACsec isn't supported and enabling MACsec fails.", - "items": { - "enum": [ - "IF_MACSEC" - ], - "enumDescriptions": [ - "Media Access Control security (MACsec)" - ], - "type": "string" - }, - "type": "array" - }, - "circuitInfos": { - "description": "[Output Only] A list of CircuitInfo objects, that describe the individual circuits in this LAG.", - "items": { - "$ref": "InterconnectCircuitInfo" - }, - "type": "array" - }, - "creationTimestamp": { - "description": "[Output Only] Creation timestamp in RFC3339 text format.", - "type": "string" - }, - "customerName": { - "description": "Customer name, to put in the Letter of Authorization as the party authorized to request a crossconnect.", - "type": "string" - }, - "description": { - "description": "An optional description of this resource. Provide this property when you create the resource.", - "type": "string" - }, - "expectedOutages": { - "description": "[Output Only] A list of outages expected for this Interconnect.", - "items": { - "$ref": "InterconnectOutageNotification" - }, - "type": "array" - }, - "googleIpAddress": { - "description": "[Output Only] IP address configured on the Google side of the Interconnect link. This can be used only for ping tests.", - "type": "string" - }, - "googleReferenceId": { - "description": "[Output Only] Google reference ID to be used when raising support tickets with Google or otherwise to debug backend connectivity issues.", - "type": "string" - }, - "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", - "format": "uint64", - "type": "string" - }, - "interconnectAttachments": { - "description": "[Output Only] A list of the URLs of all InterconnectAttachments configured to use this Interconnect.", + "arpCaches": { + "description": "A list of InterconnectDiagnostics.ARPEntry objects, describing individual neighbors currently seen by the Google router in the ARP cache for the Interconnect. This will be empty when the Interconnect is not bundled.", "items": { - "type": "string" + "$ref": "InterconnectDiagnosticsARPEntry" }, "type": "array" }, - "interconnectType": { - "description": "Type of interconnect, which can take one of the following values: - PARTNER: A partner-managed interconnection shared between customers though a partner. - DEDICATED: A dedicated physical interconnection with the customer. Note that a value IT_PRIVATE has been deprecated in favor of DEDICATED.", - "enum": [ - "DEDICATED", - "IT_PRIVATE", - "PARTNER" - ], - "enumDescriptions": [ - "A dedicated physical interconnection with the customer.", - "[Deprecated] A private, physical interconnection with the customer.", - "A partner-managed interconnection shared between customers via partner." - ], - "type": "string" - }, - "kind": { - "default": "compute#interconnect", - "description": "[Output Only] Type of the resource. Always compute#interconnect for interconnects.", - "type": "string" - }, - "labelFingerprint": { - "description": "A fingerprint for the labels being applied to this Interconnect, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an Interconnect.", - "format": "byte", - "type": "string" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", - "type": "object" - }, - "linkType": { - "description": "Type of link requested, which can take one of the following values: - LINK_TYPE_ETHERNET_10G_LR: A 10G Ethernet with LR optics - LINK_TYPE_ETHERNET_100G_LR: A 100G Ethernet with LR optics. Note that this field indicates the speed of each of the links in the bundle, not the speed of the entire bundle.", - "enum": [ - "LINK_TYPE_ETHERNET_100G_LR", - "LINK_TYPE_ETHERNET_10G_LR" - ], - "enumDescriptions": [ - "100G Ethernet, LR Optics.", - "10G Ethernet, LR Optics. [(rate_bps) = 10000000000];" - ], - "type": "string" - }, - "location": { - "description": "URL of the InterconnectLocation object that represents where this connection is to be provisioned.", - "type": "string" - }, - "macsec": { - "$ref": "InterconnectMacsec", - "description": "Configuration that enables Media Access Control security (MACsec) on the Cloud Interconnect connection between Google and your on-premises router." - }, - "macsecEnabled": { - "description": "Enable or disable MACsec on this Interconnect connection. MACsec enablement fails if the MACsec object is not specified.", - "type": "boolean" - }, - "name": { - "annotations": { - "required": [ - "compute.interconnects.insert" - ] - }, - "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" - }, - "nocContactEmail": { - "description": "Email address to contact the customer NOC for operations and maintenance notifications regarding this Interconnect. If specified, this will be used for notifications in addition to all other forms described, such as Cloud Monitoring logs alerting and Cloud Notifications. This field is required for users who sign up for Cloud Interconnect using workforce identity federation.", - "type": "string" - }, - "operationalStatus": { - "description": "[Output Only] The current status of this Interconnect's functionality, which can take one of the following values: - OS_ACTIVE: A valid Interconnect, which is turned up and is ready to use. Attachments may be provisioned on this Interconnect. - OS_UNPROVISIONED: An Interconnect that has not completed turnup. No attachments may be provisioned on this Interconnect. - OS_UNDER_MAINTENANCE: An Interconnect that is undergoing internal maintenance. No attachments may be provisioned or updated on this Interconnect. ", + "bundleAggregationType": { + "description": "The aggregation type of the bundle interface.", "enum": [ - "OS_ACTIVE", - "OS_UNPROVISIONED" + "BUNDLE_AGGREGATION_TYPE_LACP", + "BUNDLE_AGGREGATION_TYPE_STATIC" ], "enumDescriptions": [ - "The interconnect is valid, turned up, and ready to use. Attachments may be provisioned on this interconnect.", - "The interconnect has not completed turnup. No attachments may be provisioned on this interconnect." - ], - "type": "string" - }, - "peerIpAddress": { - "description": "[Output Only] IP address configured on the customer side of the Interconnect link. The customer should configure this IP address during turnup when prompted by Google NOC. This can be used only for ping tests.", - "type": "string" - }, - "provisionedLinkCount": { - "description": "[Output Only] Number of links actually provisioned in this interconnect.", - "format": "int32", - "type": "integer" + "LACP is enabled.", + "LACP is disabled." + ], + "type": "string" }, - "remoteLocation": { - "description": "Indicates that this is a Cross-Cloud Interconnect. This field specifies the location outside of Google's network that the interconnect is connected to.", + "bundleOperationalStatus": { + "description": "The operational status of the bundle interface.", + "enum": [ + "BUNDLE_OPERATIONAL_STATUS_DOWN", + "BUNDLE_OPERATIONAL_STATUS_UP" + ], + "enumDescriptions": [ + "If bundleAggregationType is LACP: LACP is not established and/or all links in the bundle have DOWN operational status. If bundleAggregationType is STATIC: one or more links in the bundle has DOWN operational status.", + "If bundleAggregationType is LACP: LACP is established and at least one link in the bundle has UP operational status. If bundleAggregationType is STATIC: all links in the bundle (typically just one) have UP operational status." + ], "type": "string" }, - "requestedFeatures": { - "description": "Optional. List of features requested for this Interconnect connection, which can take one of the following values: - IF_MACSEC If specified then the connection is created on MACsec capable hardware ports. If not specified, the default value is false, which allocates non-MACsec capable ports first if available. This parameter can be provided only with Interconnect INSERT. It isn't valid for Interconnect PATCH.", + "links": { + "description": "A list of InterconnectDiagnostics.LinkStatus objects, describing the status for each link on the Interconnect.", "items": { - "enum": [ - "IF_MACSEC" - ], - "enumDescriptions": [ - "Media Access Control security (MACsec)" - ], - "type": "string" + "$ref": "InterconnectDiagnosticsLinkStatus" }, "type": "array" }, - "requestedLinkCount": { - "description": "Target number of physical links in the link bundle, as requested by the customer.", - "format": "int32", - "type": "integer" - }, - "satisfiesPzs": { - "description": "[Output Only] Reserved for future use.", - "type": "boolean" + "macAddress": { + "description": "The MAC address of the Interconnect's bundle interface.", + "type": "string" + } + }, + "type": "object" + }, + "InterconnectDiagnosticsARPEntry": { + "description": "Describing the ARP neighbor entries seen on this link", + "id": "InterconnectDiagnosticsARPEntry", + "properties": { + "ipAddress": { + "description": "The IP address of this ARP neighbor.", + "type": "string" }, - "selfLink": { - "description": "[Output Only] Server-defined URL for the resource.", + "macAddress": { + "description": "The MAC address of this ARP neighbor.", + "type": "string" + } + }, + "type": "object" + }, + "InterconnectDiagnosticsLinkLACPStatus": { + "id": "InterconnectDiagnosticsLinkLACPStatus", + "properties": { + "googleSystemId": { + "description": "System ID of the port on Google's side of the LACP exchange.", "type": "string" }, - "selfLinkWithId": { - "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "neighborSystemId": { + "description": "System ID of the port on the neighbor's side of the LACP exchange.", "type": "string" }, "state": { - "description": "[Output Only] The current state of Interconnect functionality, which can take one of the following values: - ACTIVE: The Interconnect is valid, turned up and ready to use. Attachments may be provisioned on this Interconnect. - UNPROVISIONED: The Interconnect has not completed turnup. No attachments may be provisioned on this Interconnect. - UNDER_MAINTENANCE: The Interconnect is undergoing internal maintenance. No attachments may be provisioned or updated on this Interconnect. ", + "description": "The state of a LACP link, which can take one of the following values: - ACTIVE: The link is configured and active within the bundle. - DETACHED: The link is not configured within the bundle. This means that the rest of the object should be empty. ", "enum": [ "ACTIVE", - "UNPROVISIONED" + "DETACHED" ], "enumDescriptions": [ - "The interconnect is valid, turned up, and ready to use. Attachments may be provisioned on this interconnect.", - "The interconnect has not completed turnup. No attachments may be provisioned on this interconnect." + "The link is configured and active within the bundle.", + "The link is not configured within the bundle, this means the rest of the object should be empty." ], "type": "string" } }, "type": "object" }, - "InterconnectApplicationAwareInterconnect": { - "description": "Configuration information for enabling Application Aware Interconnect (AAI) on this Cloud Interconnect connection between Google and your on-premises router.", - "id": "InterconnectApplicationAwareInterconnect", + "InterconnectDiagnosticsLinkOpticalPower": { + "id": "InterconnectDiagnosticsLinkOpticalPower", "properties": { - "bandwidthPercentagePolicy": { - "$ref": "InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy" - }, - "profileDescription": { - "description": "A description for the AAI profile on this interconnect.", + "state": { + "description": "The status of the current value when compared to the warning and alarm levels for the receiving or transmitting transceiver. Possible states include: - OK: The value has not crossed a warning threshold. - LOW_WARNING: The value has crossed below the low warning threshold. - HIGH_WARNING: The value has crossed above the high warning threshold. - LOW_ALARM: The value has crossed below the low alarm threshold. - HIGH_ALARM: The value has crossed above the high alarm threshold. ", + "enum": [ + "HIGH_ALARM", + "HIGH_WARNING", + "LOW_ALARM", + "LOW_WARNING", + "OK" + ], + "enumDescriptions": [ + "The value has crossed above the high alarm threshold.", + "The value of the current optical power has crossed above the high warning threshold.", + "The value of the current optical power has crossed below the low alarm threshold.", + "The value of the current optical power has crossed below the low warning threshold.", + "The value of the current optical power has not crossed a warning threshold." + ], "type": "string" }, - "shapeAveragePercentages": { - "description": "Optional field to specify a list of shape average percentages to be applied in conjunction with StrictPriorityPolicy or BandwidthPercentagePolicy.", - "items": { - "$ref": "InterconnectApplicationAwareInterconnectBandwidthPercentage" - }, - "type": "array" - }, - "strictPriorityPolicy": { - "$ref": "InterconnectApplicationAwareInterconnectStrictPriorityPolicy" + "value": { + "description": "Value of the current receiving or transmitting optical power, read in dBm. Take a known good optical value, give it a 10% margin and trigger warnings relative to that value. In general, a -7dBm warning and a -11dBm alarm are good optical value estimates for most links.", + "format": "float", + "type": "number" } }, "type": "object" }, - "InterconnectApplicationAwareInterconnectBandwidthPercentage": { - "description": "Specify bandwidth percentages [1-100] for various traffic classes in BandwidthPercentagePolicy. The sum of all percentages must equal 100. All traffic classes must have a percentage value specified.", - "id": "InterconnectApplicationAwareInterconnectBandwidthPercentage", + "InterconnectDiagnosticsLinkStatus": { + "id": "InterconnectDiagnosticsLinkStatus", "properties": { - "percentage": { - "description": "Bandwidth percentage for a specific traffic class.", - "format": "uint32", - "type": "integer" + "arpCaches": { + "description": "A list of InterconnectDiagnostics.ARPEntry objects, describing the ARP neighbor entries seen on this link. This will be empty if the link is bundled", + "items": { + "$ref": "InterconnectDiagnosticsARPEntry" + }, + "type": "array" }, - "trafficClass": { - "description": "TrafficClass whose bandwidth percentage is being specified.", + "circuitId": { + "description": "The unique ID for this link assigned during turn up by Google.", + "type": "string" + }, + "googleDemarc": { + "description": "The Demarc address assigned by Google and provided in the LoA.", + "type": "string" + }, + "lacpStatus": { + "$ref": "InterconnectDiagnosticsLinkLACPStatus" + }, + "macsec": { + "$ref": "InterconnectDiagnosticsMacsecStatus", + "description": "Describes the status of MACsec encryption on this link." + }, + "operationalStatus": { + "description": "The operational status of the link.", "enum": [ - "TC1", - "TC2", - "TC3", - "TC4", - "TC5", - "TC6" + "LINK_OPERATIONAL_STATUS_DOWN", + "LINK_OPERATIONAL_STATUS_UP" ], "enumDescriptions": [ - "Traffic Class 1, corresponding to DSCP ranges (0-7) 000xxx.", - "Traffic Class 2, corresponding to DSCP ranges (8-15) 001xxx.", - "Traffic Class 3, corresponding to DSCP ranges (16-23) 010xxx.", - "Traffic Class 4, corresponding to DSCP ranges (24-31) 011xxx.", - "Traffic Class 5, corresponding to DSCP ranges (32-47) 10xxxx.", - "Traffic Class 6, corresponding to DSCP ranges (48-63) 11xxxx." + "The interface is unable to communicate with the remote end.", + "The interface has low level communication with the remote end." ], "type": "string" + }, + "receivingOpticalPower": { + "$ref": "InterconnectDiagnosticsLinkOpticalPower", + "description": "An InterconnectDiagnostics.LinkOpticalPower object, describing the current value and status of the received light level." + }, + "transmittingOpticalPower": { + "$ref": "InterconnectDiagnosticsLinkOpticalPower", + "description": "An InterconnectDiagnostics.LinkOpticalPower object, describing the current value and status of the transmitted light level." } }, "type": "object" }, - "InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy": { - "id": "InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy", + "InterconnectDiagnosticsMacsecStatus": { + "description": "Describes the status of MACsec encryption on the link.", + "id": "InterconnectDiagnosticsMacsecStatus", "properties": { - "bandwidthPercentages": { - "description": "Specify bandwidth percentages for various traffic classes for queuing type Bandwidth Percent.", - "items": { - "$ref": "InterconnectApplicationAwareInterconnectBandwidthPercentage" - }, - "type": "array" + "ckn": { + "description": "Indicates the Connectivity Association Key Name (CKN) currently being used if MACsec is operational.", + "type": "string" + }, + "operational": { + "description": "Indicates whether or not MACsec is operational on this link.", + "type": "boolean" } }, "type": "object" }, - "InterconnectApplicationAwareInterconnectStrictPriorityPolicy": { - "description": "Specify configuration for StrictPriorityPolicy.", - "id": "InterconnectApplicationAwareInterconnectStrictPriorityPolicy", - "properties": {}, - "type": "object" - }, - "InterconnectAttachment": { - "description": "Represents an Interconnect Attachment (VLAN) resource. You can use Interconnect attachments (VLANS) to connect your Virtual Private Cloud networks to your on-premises networks through an Interconnect. For more information, read Creating VLAN Attachments.", - "id": "InterconnectAttachment", + "InterconnectGroup": { + "description": "An interconnect group resource allows customers to create, analyze, and expand their redundant connections.", + "id": "InterconnectGroup", "properties": { - "adminEnabled": { - "description": "Determines whether this Attachment will carry packets. Not present for PARTNER_PROVIDER.", - "type": "boolean" + "configured": { + "$ref": "InterconnectGroupConfigured" }, - "bandwidth": { - "description": "Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s ", - "enum": [ - "BPS_100G", - "BPS_100M", - "BPS_10G", - "BPS_1G", - "BPS_200M", - "BPS_20G", - "BPS_2G", - "BPS_300M", - "BPS_400M", - "BPS_500M", - "BPS_50G", - "BPS_50M", - "BPS_5G" - ], - "enumDescriptions": [ - "100 Gbit/s", - "100 Mbit/s", - "10 Gbit/s", - "1 Gbit/s", - "200 Mbit/s", - "20 Gbit/s", - "2 Gbit/s", - "300 Mbit/s", - "400 Mbit/s", - "500 Mbit/s", - "50 Gbit/s", - "50 Mbit/s", - "5 Gbit/s" - ], + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" }, - "candidateIpv6Subnets": { - "description": "This field is not available.", - "items": { - "type": "string" - }, - "type": "array" - }, - "candidateSubnets": { - "description": "Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space.", - "items": { - "type": "string" - }, - "type": "array" - }, - "cloudRouterIpAddress": { - "description": "[Output Only] IPv4 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.", + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", "type": "string" }, - "cloudRouterIpv6Address": { - "description": "[Output Only] IPv6 address + prefix length to be configured on Cloud Router Interface for this interconnect attachment.", + "etag": { + "description": "Opaque system-generated token that uniquely identifies the configuration. If provided when patching a configuration in update mode, the provided token must match the current token or the update is rejected. This provides a reliable means of doing read-modify-write (optimistic locking) as described by API 154.", "type": "string" }, - "cloudRouterIpv6InterfaceId": { - "description": "This field is not available.", + "id": { + "description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", + "format": "uint64", "type": "string" }, - "configurationConstraints": { - "$ref": "InterconnectAttachmentConfigurationConstraints", - "description": "[Output Only] Constraints for this attachment, if any. The attachment does not work if these constraints are not met." - }, - "creationTimestamp": { - "description": "[Output Only] Creation timestamp in RFC3339 text format.", - "type": "string" + "intent": { + "$ref": "InterconnectGroupIntent" }, - "customerRouterIpAddress": { - "description": "[Output Only] IPv4 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.", - "type": "string" + "interconnects": { + "additionalProperties": { + "$ref": "InterconnectGroupInterconnect" + }, + "description": "Interconnects in the InterconnectGroup. Keys are arbitrary user-specified strings. Users are encouraged, but not required, to use their preferred format for resource links as keys. Note that there are add-members and remove-members methods in gcloud. The size of this map is limited by an \"Interconnects per group\" quota.", + "type": "object" }, - "customerRouterIpv6Address": { - "description": "[Output Only] IPv6 address + prefix length to be configured on the customer router subinterface for this interconnect attachment.", + "kind": { + "default": "compute#InterconnectGroup", + "description": "[Output Only] Type of the resource. Always compute#InterconnectGroup", "type": "string" }, - "customerRouterIpv6InterfaceId": { - "description": "This field is not available.", + "name": { + "annotations": { + "required": [ + "compute.interconnectGroups.insert" + ] + }, + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, - "dataplaneVersion": { - "description": "[Output Only] Dataplane version for this InterconnectAttachment. This field is only present for Dataplane version 2 and higher. Absence of this field in the API output indicates that the Dataplane is version 1.", - "format": "int32", - "type": "integer" + "physicalStructure": { + "$ref": "InterconnectGroupPhysicalStructure" }, - "description": { - "description": "An optional description of this resource.", + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", "type": "string" + } + }, + "type": "object" + }, + "InterconnectGroupConfigured": { + "description": "[Output Only] The status of the group as configured. This has the same structure as the operational field reported by the OperationalStatus method, but does not take into account the operational status of each resource.", + "id": "InterconnectGroupConfigured", + "properties": { + "topologyCapability": { + "$ref": "InterconnectGroupConfiguredTopologyCapability" + } + }, + "type": "object" + }, + "InterconnectGroupConfiguredTopologyCapability": { + "description": "[Output Only] How reliable this topology is configured to be, and why this group does or does not meet the requirements for the intended capability.", + "id": "InterconnectGroupConfiguredTopologyCapability", + "properties": { + "intendedCapabilityBlockers": { + "items": { + "$ref": "InterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockers" + }, + "type": "array" }, - "edgeAvailabilityDomain": { - "description": "Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY.", + "supportedSla": { "enum": [ - "AVAILABILITY_DOMAIN_1", - "AVAILABILITY_DOMAIN_2", - "AVAILABILITY_DOMAIN_ANY" + "NO_SLA", + "PRODUCTION_CRITICAL", + "PRODUCTION_NON_CRITICAL", + "UNSPECIFIED" ], "enumDescriptions": [ + "", "", "", "" ], "type": "string" - }, - "encryption": { - "description": "Indicates the user-supplied encryption option of this VLAN attachment (interconnectAttachment). Can only be specified at attachment creation for PARTNER or DEDICATED attachments. Possible values are: - NONE - This is the default value, which means that the VLAN attachment carries unencrypted traffic. VMs are able to send traffic to, or receive traffic from, such a VLAN attachment. - IPSEC - The VLAN attachment carries only encrypted traffic that is encrypted by an IPsec device, such as an HA VPN gateway or third-party IPsec VPN. VMs cannot directly send traffic to, or receive traffic from, such a VLAN attachment. To use *HA VPN over Cloud Interconnect*, the VLAN attachment must be created with this option. ", + } + }, + "type": "object" + }, + "InterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockers": { + "description": "[Output Only] Reasons why configuration.topologyCapability.sla differs from intent.topologyCapability. This list is empty if and only if those are the same.", + "id": "InterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockers", + "properties": { + "blockerType": { "enum": [ - "IPSEC", - "NONE" + "INCOMPATIBLE_METROS", + "NOT_AVAILABLE", + "NO_INTERCONNECTS", + "NO_INTERCONNECTS_IN_METRO_AND_ZONE", + "OTHER", + "UNSPECIFIED" ], "enumDescriptions": [ - "The interconnect attachment will carry only encrypted traffic that is encrypted by an IPsec device such as HA VPN gateway; VMs cannot directly send traffic to or receive traffic from such an interconnect attachment. To use HA VPN over Cloud Interconnect, the interconnect attachment must be created with this option.", - "This is the default value, which means the Interconnect Attachment will carry unencrypted traffic. VMs will be able to send traffic to or receive traffic from such interconnect attachment." + "", + "", + "", + "", + "", + "" ], "type": "string" }, - "googleReferenceId": { - "deprecated": true, - "description": "[Output Only] Google reference ID, to be used when raising support tickets with Google or otherwise to debug backend connectivity issues. [Deprecated] This field is not used.", - "type": "string" - }, - "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", - "format": "uint64", + "documentationLink": { + "description": "[Output Only] The url of Google Cloud public documentation explaining this requirement. This is set for every type of requirement.", "type": "string" }, - "interconnect": { - "description": "URL of the underlying Interconnect object that this attachment's traffic will traverse through.", + "explanation": { + "description": "[Output Only] A human-readable explanation of this requirement and why it's not met. This is set for every type of requirement.", "type": "string" }, - "ipsecInternalAddresses": { - "description": "A list of URLs of addresses that have been reserved for the VLAN attachment. Used only for the VLAN attachment that has the encryption option as IPSEC. The addresses must be regional internal IP address ranges. When creating an HA VPN gateway over the VLAN attachment, if the attachment is configured to use a regional internal IP address, then the VPN gateway's IP address is allocated from the IP address range specified here. For example, if the HA VPN gateway's interface 0 is paired to this VLAN attachment, then a regional internal IP address for the VPN gateway interface 0 will be allocated from the IP address specified for this VLAN attachment. If this field is not specified when creating the VLAN attachment, then later on when creating an HA VPN gateway on this VLAN attachment, the HA VPN gateway's IP address is allocated from the regional external IP address pool.", + "facilities": { + "description": "[Output Only] Facilities used to explain this blocker in more detail. Like physicalStructure.metros.facilities.facility, this is a numeric string like \"5467\".", "items": { "type": "string" }, "type": "array" }, - "kind": { - "default": "compute#interconnectAttachment", - "description": "[Output Only] Type of the resource. Always compute#interconnectAttachment for interconnect attachments.", - "type": "string" - }, - "labelFingerprint": { - "description": "A fingerprint for the labels being applied to this InterconnectAttachment, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an InterconnectAttachment.", - "format": "byte", - "type": "string" - }, - "labels": { - "additionalProperties": { + "interconnects": { + "description": "[Output Only] Interconnects used to explain this blocker in more detail.", + "items": { "type": "string" }, - "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", - "type": "object" - }, - "mtu": { - "description": "Maximum Transmission Unit (MTU), in bytes, of packets passing through this interconnect attachment. Only 1440 and 1500 are allowed. If not specified, the value will default to 1440.", - "format": "int32", - "type": "integer" - }, - "multicastEnabled": { - "description": "Whether or not to permit multicast traffic for this attachment. Multicast packets will be dropped if this is not enabled.", - "type": "boolean" + "type": "array" }, - "name": { - "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" + "metros": { + "description": "[Output Only] Metros used to explain this blocker in more detail. These are three-letter lowercase strings like \"iad\". A blocker like INCOMPATIBLE_METROS will specify the problematic metros in this field.", + "items": { + "type": "string" + }, + "type": "array" }, - "operationalStatus": { - "description": "[Output Only] The current status of whether or not this interconnect attachment is functional, which can take one of the following values: - OS_ACTIVE: The attachment has been turned up and is ready to use. - OS_UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete. ", + "zones": { + "description": "[Output Only] Zones used to explain this blocker in more detail. Zone names are \"zone1\" and/or \"zone2\".", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "InterconnectGroupIntent": { + "description": "The user's intent for this group. This is the only required field besides the name that must be specified on group creation.", + "id": "InterconnectGroupIntent", + "properties": { + "topologyCapability": { "enum": [ - "OS_ACTIVE", - "OS_UNPROVISIONED" + "NO_SLA", + "PRODUCTION_CRITICAL", + "PRODUCTION_NON_CRITICAL", + "UNSPECIFIED" ], "enumDescriptions": [ - "Indicates that attachment has been turned up and is ready to use.", - "Indicates that attachment is not ready to use yet, because turnup is not complete." + "", + "", + "", + "" ], "type": "string" - }, - "pairingKey": { - "description": "[Output only for type PARTNER. Input only for PARTNER_PROVIDER. Not present for DEDICATED]. The opaque identifier of a PARTNER attachment used to initiate provisioning with a selected partner. Of the form \"XXXXX/region/domain\"", - "type": "string" - }, - "partnerAsn": { - "description": "Optional BGP ASN for the router supplied by a Layer 3 Partner if they configured BGP on behalf of the customer. Output only for PARTNER type, input only for PARTNER_PROVIDER, not available for DEDICATED.", - "format": "int64", - "type": "string" - }, - "partnerMetadata": { - "$ref": "InterconnectAttachmentPartnerMetadata", - "description": "Informational metadata about Partner attachments from Partners to display to customers. Output only for PARTNER type, mutable for PARTNER_PROVIDER, not available for DEDICATED." - }, - "privateInterconnectInfo": { - "$ref": "InterconnectAttachmentPrivateInfo", - "description": "[Output Only] Information specific to an InterconnectAttachment. This property is populated if the interconnect that this is attached to is of type DEDICATED." - }, - "region": { - "description": "[Output Only] URL of the region where the regional interconnect attachment resides. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", - "type": "string" - }, - "remoteService": { - "description": "[Output Only] If the attachment is on a Cross-Cloud Interconnect connection, this field contains the interconnect's remote location service provider. Example values: \"Amazon Web Services\" \"Microsoft Azure\". The field is set only for attachments on Cross-Cloud Interconnect connections. Its value is copied from the InterconnectRemoteLocation remoteService field.", - "type": "string" - }, - "router": { - "description": "URL of the Cloud Router to be used for dynamic routing. This router must be in the same region as this InterconnectAttachment. The InterconnectAttachment will automatically connect the Interconnect to the network & region within which the Cloud Router is configured.", - "type": "string" - }, - "satisfiesPzs": { - "description": "[Output Only] Reserved for future use.", - "type": "boolean" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for the resource.", - "type": "string" - }, - "selfLinkWithId": { - "description": "[Output Only] Server-defined URL for this resource with the resource id.", + } + }, + "type": "object" + }, + "InterconnectGroupInterconnect": { + "description": "An Interconnect in this InterconnectGroup.", + "id": "InterconnectGroupInterconnect", + "properties": { + "interconnect": { + "description": "The URL of an Interconnect in this group. All Interconnects in the group are unique.", "type": "string" + } + }, + "type": "object" + }, + "InterconnectGroupPhysicalStructure": { + "description": "[Output Only] An analysis of the physical layout of Interconnects in this group. Every Interconnect in the group is shown once in this structure.", + "id": "InterconnectGroupPhysicalStructure", + "properties": { + "metros": { + "items": { + "$ref": "InterconnectGroupPhysicalStructureMetros" + }, + "type": "array" + } + }, + "type": "object" + }, + "InterconnectGroupPhysicalStructureMetros": { + "description": "[Output Only] The metros Interconnects in this group are in.", + "id": "InterconnectGroupPhysicalStructureMetros", + "properties": { + "facilities": { + "items": { + "$ref": "InterconnectGroupPhysicalStructureMetrosFacilities" + }, + "type": "array" }, - "stackType": { - "description": "The stack type for this interconnect attachment to identify whether the IPv6 feature is enabled or not. If not specified, IPV4_ONLY will be used. This field can be both set at interconnect attachments creation and update interconnect attachment operations.", - "enum": [ - "IPV4_IPV6", - "IPV4_ONLY" - ], - "enumDescriptions": [ - "The interconnect attachment can have both IPv4 and IPv6 addresses.", - "The interconnect attachment will only be assigned IPv4 addresses." - ], + "metro": { + "description": "[Output Only] The name of the metro, as a three-letter lowercase string like \"iad\". This is the first component of the location of Interconnects underneath this.", "type": "string" - }, - "state": { - "description": "[Output Only] The current state of this attachment's functionality. Enum values ACTIVE and UNPROVISIONED are shared by DEDICATED/PRIVATE, PARTNER, and PARTNER_PROVIDER interconnect attachments, while enum values PENDING_PARTNER, PARTNER_REQUEST_RECEIVED, and PENDING_CUSTOMER are used for only PARTNER and PARTNER_PROVIDER interconnect attachments. This state can take one of the following values: - ACTIVE: The attachment has been turned up and is ready to use. - UNPROVISIONED: The attachment is not ready to use yet, because turnup is not complete. - PENDING_PARTNER: A newly-created PARTNER attachment that has not yet been configured on the Partner side. - PARTNER_REQUEST_RECEIVED: A PARTNER attachment is in the process of provisioning after a PARTNER_PROVIDER attachment was created that references it. - PENDING_CUSTOMER: A PARTNER or PARTNER_PROVIDER attachment that is waiting for a customer to activate it. - DEFUNCT: The attachment was deleted externally and is no longer functional. This could be because the associated Interconnect was removed, or because the other side of a Partner attachment was deleted. ", - "enum": [ - "ACTIVE", - "DEFUNCT", - "PARTNER_REQUEST_RECEIVED", - "PENDING_CUSTOMER", - "PENDING_PARTNER", - "STATE_UNSPECIFIED", - "UNPROVISIONED" - ], - "enumDescriptions": [ - "Indicates that attachment has been turned up and is ready to use.", - "The attachment was deleted externally and is no longer functional. This could be because the associated Interconnect was wiped out, or because the other side of a Partner attachment was deleted.", - "A PARTNER attachment is in the process of provisioning after a PARTNER_PROVIDER attachment was created that references it.", - "PARTNER or PARTNER_PROVIDER attachment that is waiting for the customer to activate.", - "A newly created PARTNER attachment that has not yet been configured on the Partner side.", - "", - "Indicates that attachment is not ready to use yet, because turnup is not complete." - ], + } + }, + "type": "object" + }, + "InterconnectGroupPhysicalStructureMetrosFacilities": { + "description": "[Output Only] The facilities Interconnects in this metro are present in.", + "id": "InterconnectGroupPhysicalStructureMetrosFacilities", + "properties": { + "facility": { + "description": "[Output Only] The ID of this facility, as a numeric string like \"5467\". This is the third component of the location of Interconnects in this facility.", "type": "string" }, - "subnetLength": { - "description": "Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The default value is 29, except for Cross-Cloud Interconnect connections that use an InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal to 30. For example, connections that use an Azure remote location fall into this category. In these cases, the default value is 30, and requesting 29 returns an error. Where both 29 and 30 are allowed, 29 is preferred, because it gives Google Cloud Support more debugging visibility. ", - "format": "int32", - "type": "integer" - }, - "type": { - "description": "The type of interconnect attachment this is, which can take one of the following values: - DEDICATED: an attachment to a Dedicated Interconnect. - PARTNER: an attachment to a Partner Interconnect, created by the customer. - PARTNER_PROVIDER: an attachment to a Partner Interconnect, created by the partner. ", - "enum": [ - "DEDICATED", - "PARTNER", - "PARTNER_PROVIDER" - ], - "enumDescriptions": [ - "Attachment to a dedicated interconnect.", - "Attachment to a partner interconnect, created by the customer.", - "Attachment to a partner interconnect, created by the partner." - ], + "zones": { + "items": { + "$ref": "InterconnectGroupPhysicalStructureMetrosFacilitiesZones" + }, + "type": "array" + } + }, + "type": "object" + }, + "InterconnectGroupPhysicalStructureMetrosFacilitiesZones": { + "description": "[Output Only] The zones that Interconnects in this facility are present in.", + "id": "InterconnectGroupPhysicalStructureMetrosFacilitiesZones", + "properties": { + "interconnects": { + "description": "[Output Only] URLs of Interconnects in this redundancy group in the given metro, facility, and zone.", + "items": { + "type": "string" + }, + "type": "array" + }, + "zone": { + "description": "[Output Only] The name of the zone, either \"zone1\" or \"zone2\". This is the second component of the location of Interconnects in this facility.", + "type": "string" + } + }, + "type": "object" + }, + "InterconnectGroupsGetOperationalStatusResponse": { + "description": "Response for the InterconnectGroupsGetOperationalStatusResponse.", + "id": "InterconnectGroupsGetOperationalStatusResponse", + "properties": { + "etag": { "type": "string" }, - "vlanTag8021q": { - "description": "The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4093. Only specified at creation time.", - "format": "int32", - "type": "integer" + "result": { + "$ref": "InterconnectGroupsOperationalStatus" } }, "type": "object" }, - "InterconnectAttachmentAggregatedList": { - "id": "InterconnectAttachmentAggregatedList", + "InterconnectGroupsListResponse": { + "id": "InterconnectGroupsListResponse", "properties": { + "etag": { + "type": "string" + }, "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "additionalProperties": { - "$ref": "InterconnectAttachmentsScopedList", - "description": "Name of the scope containing this set of interconnect attachments." + "description": "A list of InterconnectGroup resources.", + "items": { + "$ref": "InterconnectGroup" }, - "description": "A list of InterconnectAttachmentsScopedList resources.", - "type": "object" + "type": "array" }, "kind": { - "default": "compute#interconnectAttachmentAggregatedList", - "description": "[Output Only] Type of resource. Always compute#interconnectAttachmentAggregatedList for aggregated lists of interconnect attachments.", + "default": "compute#InterconnectGroup", "type": "string" }, "nextPageToken": { @@ -66282,7 +70690,7 @@ "type": "string" }, "unreachables": { - "description": "[Output Only] Unreachable resources.", + "description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", "items": { "type": "string" }, @@ -66315,6 +70723,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -66351,6 +70760,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -66375,6 +70785,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -66412,65 +70823,98 @@ }, "type": "object" }, - "InterconnectAttachmentConfigurationConstraints": { - "id": "InterconnectAttachmentConfigurationConstraints", + "InterconnectGroupsOperationalStatus": { + "description": "Request to get the status of the interconnect group with extra detail.", + "id": "InterconnectGroupsOperationalStatus", "properties": { - "bgpMd5": { - "description": "[Output Only] Whether the attachment's BGP session requires/allows/disallows BGP MD5 authentication. This can take one of the following values: MD5_OPTIONAL, MD5_REQUIRED, MD5_UNSUPPORTED. For example, a Cross-Cloud Interconnect connection to a remote cloud provider that requires BGP MD5 authentication has the interconnectRemoteLocation attachment_configuration_constraints.bgp_md5 field set to MD5_REQUIRED, and that property is propagated to the attachment. Similarly, if BGP MD5 is MD5_UNSUPPORTED, an error is returned if MD5 is requested.", + "configured": { + "$ref": "InterconnectGroupConfigured", + "description": "The configuration analysis, as returned by Get." + }, + "groupStatus": { + "description": "Summarizes the status of the group.", "enum": [ - "MD5_OPTIONAL", - "MD5_REQUIRED", - "MD5_UNSUPPORTED" + "DEGRADED", + "FULLY_DOWN", + "FULLY_UP", + "GROUPS_STATUS_UNSPECIFIED" ], "enumDescriptions": [ - "MD5_OPTIONAL: BGP MD5 authentication is supported and can optionally be configured.", - "MD5_REQUIRED: BGP MD5 authentication must be configured.", - "MD5_UNSUPPORTED: BGP MD5 authentication must not be configured" + "", + "", + "", + "" ], "type": "string" }, - "bgpPeerAsnRanges": { - "description": "[Output Only] List of ASN ranges that the remote location is known to support. Formatted as an array of inclusive ranges {min: min-value, max: max-value}. For example, [{min: 123, max: 123}, {min: 64512, max: 65534}] allows the peer ASN to be 123 or anything in the range 64512-65534. This field is only advisory. Although the API accepts other ranges, these are the ranges that we recommend.", + "intent": { + "$ref": "InterconnectGroupIntent", + "description": "The intent of the resource, as returned by Get." + }, + "interconnectStatuses": { "items": { - "$ref": "InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange" + "$ref": "InterconnectGroupsOperationalStatusInterconnectStatus" }, "type": "array" + }, + "operational": { + "$ref": "InterconnectGroupConfigured", + "description": "The operational state of the group, including only active Interconnects." } }, "type": "object" }, - "InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange": { - "id": "InterconnectAttachmentConfigurationConstraintsBgpPeerASNRange", + "InterconnectGroupsOperationalStatusInterconnectStatus": { + "description": "The status of one Interconnect in the group. The order is arbitrary.", + "id": "InterconnectGroupsOperationalStatusInterconnectStatus", "properties": { - "max": { - "format": "uint32", - "type": "integer" + "adminEnabled": { + "description": "Whether the Interconnect is enabled.", + "type": "boolean" }, - "min": { - "format": "uint32", - "type": "integer" + "diagnostics": { + "$ref": "InterconnectDiagnostics", + "description": "The diagnostics of the Interconnect, as returned by the existing get-diagnostics method." + }, + "interconnect": { + "description": "The URL of the Interconnect being described.", + "type": "string" + }, + "isActive": { + "description": "Whether this interconnect is participating in the redundant configuration.", + "enum": [ + "ACTIVE", + "INACTIVE", + "IS_ACTIVE_UNSPECIFIED" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" } }, "type": "object" }, - "InterconnectAttachmentList": { - "description": "Response to the list request, and contains a list of interconnect attachments.", - "id": "InterconnectAttachmentList", + "InterconnectList": { + "description": "Response to the list request, and contains a list of interconnects.", + "id": "InterconnectList", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "description": "A list of InterconnectAttachment resources.", + "description": "A list of Interconnect resources.", "items": { - "$ref": "InterconnectAttachment" + "$ref": "Interconnect" }, "type": "array" }, "kind": { - "default": "compute#interconnectAttachmentList", - "description": "[Output Only] Type of resource. Always compute#interconnectAttachmentList for lists of interconnect attachments.", + "default": "compute#interconnectList", + "description": "[Output Only] Type of resource. Always compute#interconnectList for lists of interconnects.", "type": "string" }, "nextPageToken": { @@ -66508,6 +70952,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -66544,6 +70989,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -66568,6 +71014,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -66605,390 +71052,189 @@ }, "type": "object" }, - "InterconnectAttachmentPartnerMetadata": { - "description": "Informational metadata about Partner attachments from Partners to display to customers. These fields are propagated from PARTNER_PROVIDER attachments to their corresponding PARTNER attachments.", - "id": "InterconnectAttachmentPartnerMetadata", + "InterconnectLocation": { + "description": "Represents an Interconnect Attachment (VLAN) Location resource. You can use this resource to find location details about an Interconnect attachment (VLAN). For more information about interconnect attachments, read Creating VLAN Attachments.", + "id": "InterconnectLocation", "properties": { - "interconnectName": { - "description": "Plain text name of the Interconnect this attachment is connected to, as displayed in the Partner's portal. For instance \"Chicago 1\". This value may be validated to match approved Partner values.", + "address": { + "description": "[Output Only] The postal address of the Point of Presence, each line in the address is separated by a newline character.", "type": "string" }, - "partnerName": { - "description": "Plain text name of the Partner providing this attachment. This value may be validated to match approved Partner values.", + "availabilityZone": { + "description": "[Output Only] Availability zone for this InterconnectLocation. Within a metropolitan area (metro), maintenance will not be simultaneously scheduled in more than one availability zone. Example: \"zone1\" or \"zone2\".", "type": "string" }, - "portalUrl": { - "description": "URL of the Partner's portal for this Attachment. Partners may customise this to be a deep link to the specific resource on the Partner portal. This value may be validated to match approved Partner values.", - "type": "string" - } - }, - "type": "object" - }, - "InterconnectAttachmentPrivateInfo": { - "description": "Information for an interconnect attachment when this belongs to an interconnect of type DEDICATED.", - "id": "InterconnectAttachmentPrivateInfo", - "properties": { - "tag8021q": { - "description": "[Output Only] 802.1q encapsulation tag to be used for traffic between Google and the customer, going to and from this network and region.", - "format": "uint32", - "type": "integer" - } - }, - "type": "object" - }, - "InterconnectAttachmentsScopedList": { - "id": "InterconnectAttachmentsScopedList", - "properties": { - "interconnectAttachments": { - "description": "A list of interconnect attachments contained in this scope.", + "availableFeatures": { + "description": "[Output only] List of features available at this InterconnectLocation, which can take one of the following values: - IF_MACSEC ", "items": { - "$ref": "InterconnectAttachment" + "enum": [ + "IF_CROSS_SITE_NETWORK", + "IF_MACSEC" + ], + "enumDescriptions": [ + "Cross Site Networking", + "Media Access Control security (MACsec)" + ], + "type": "string" }, "type": "array" }, - "warning": { - "description": "Informational warning which replaces the list of addresses when the list is empty.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "InterconnectCircuitInfo": { - "description": "Describes a single physical circuit between the Customer and Google. CircuitInfo objects are created by Google, so all fields are output only.", - "id": "InterconnectCircuitInfo", - "properties": { - "customerDemarcId": { - "description": "Customer-side demarc ID for this circuit.", - "type": "string" - }, - "googleCircuitId": { - "description": "Google-assigned unique ID for this circuit. Assigned at circuit turn-up.", - "type": "string" - }, - "googleDemarcId": { - "description": "Google-side demarc ID for this circuit. Assigned at circuit turn-up and provided by Google to the customer in the LOA.", - "type": "string" - } - }, - "type": "object" - }, - "InterconnectDiagnostics": { - "description": "Diagnostics information about the Interconnect connection, which contains detailed and current technical information about Google's side of the connection.", - "id": "InterconnectDiagnostics", - "properties": { - "arpCaches": { - "description": "A list of InterconnectDiagnostics.ARPEntry objects, describing individual neighbors currently seen by the Google router in the ARP cache for the Interconnect. This will be empty when the Interconnect is not bundled.", + "availableLinkTypes": { + "description": "[Output only] List of link types available at this InterconnectLocation, which can take one of the following values: - LINK_TYPE_ETHERNET_10G_LR - LINK_TYPE_ETHERNET_100G_LR ", "items": { - "$ref": "InterconnectDiagnosticsARPEntry" + "enum": [ + "LINK_TYPE_ETHERNET_100G_LR", + "LINK_TYPE_ETHERNET_10G_LR" + ], + "enumDescriptions": [ + "100G Ethernet, LR Optics.", + "10G Ethernet, LR Optics. [(rate_bps) = 10000000000];" + ], + "type": "string" }, "type": "array" }, - "bundleAggregationType": { - "description": "The aggregation type of the bundle interface.", - "enum": [ - "BUNDLE_AGGREGATION_TYPE_LACP", - "BUNDLE_AGGREGATION_TYPE_STATIC" - ], - "enumDescriptions": [ - "LACP is enabled.", - "LACP is disabled." - ], + "city": { + "description": "[Output Only] Metropolitan area designator that indicates which city an interconnect is located. For example: \"Chicago, IL\", \"Amsterdam, Netherlands\".", "type": "string" }, - "bundleOperationalStatus": { - "description": "The operational status of the bundle interface.", + "continent": { + "description": "[Output Only] Continent for this location, which can take one of the following values: - AFRICA - ASIA_PAC - EUROPE - NORTH_AMERICA - SOUTH_AMERICA ", "enum": [ - "BUNDLE_OPERATIONAL_STATUS_DOWN", - "BUNDLE_OPERATIONAL_STATUS_UP" + "AFRICA", + "ASIA_PAC", + "C_AFRICA", + "C_ASIA_PAC", + "C_EUROPE", + "C_NORTH_AMERICA", + "C_SOUTH_AMERICA", + "EUROPE", + "NORTH_AMERICA", + "SOUTH_AMERICA" ], "enumDescriptions": [ - "If bundleAggregationType is LACP: LACP is not established and/or all links in the bundle have DOWN operational status. If bundleAggregationType is STATIC: one or more links in the bundle has DOWN operational status.", - "If bundleAggregationType is LACP: LACP is established and at least one link in the bundle has UP operational status. If bundleAggregationType is STATIC: all links in the bundle (typically just one) have UP operational status." + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" ], "type": "string" }, - "links": { - "description": "A list of InterconnectDiagnostics.LinkStatus objects, describing the status for each link on the Interconnect.", + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "crossSiteInterconnectInfos": { + "description": "[Output Only] A list of InterconnectLocation.CrossSiteInterconnectInfo objects, that describe parameters pertaining to the relation between this InterconnectLocation and various Interconnect metros.", "items": { - "$ref": "InterconnectDiagnosticsLinkStatus" + "$ref": "InterconnectLocationCrossSiteInterconnectInfo" }, "type": "array" }, - "macAddress": { - "description": "The MAC address of the Interconnect's bundle interface.", + "description": { + "description": "[Output Only] An optional description of the resource.", "type": "string" - } - }, - "type": "object" - }, - "InterconnectDiagnosticsARPEntry": { - "description": "Describing the ARP neighbor entries seen on this link", - "id": "InterconnectDiagnosticsARPEntry", - "properties": { - "ipAddress": { - "description": "The IP address of this ARP neighbor.", + }, + "facilityProvider": { + "description": "[Output Only] The name of the provider for this facility (e.g., EQUINIX).", "type": "string" }, - "macAddress": { - "description": "The MAC address of this ARP neighbor.", + "facilityProviderFacilityId": { + "description": "[Output Only] A provider-assigned Identifier for this facility (e.g., Ashburn-DC1).", "type": "string" - } - }, - "type": "object" - }, - "InterconnectDiagnosticsLinkLACPStatus": { - "id": "InterconnectDiagnosticsLinkLACPStatus", - "properties": { - "googleSystemId": { - "description": "System ID of the port on Google's side of the LACP exchange.", + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64", "type": "string" }, - "neighborSystemId": { - "description": "System ID of the port on the neighbor's side of the LACP exchange.", + "kind": { + "default": "compute#interconnectLocation", + "description": "[Output Only] Type of the resource. Always compute#interconnectLocation for interconnect locations.", "type": "string" }, - "state": { - "description": "The state of a LACP link, which can take one of the following values: - ACTIVE: The link is configured and active within the bundle. - DETACHED: The link is not configured within the bundle. This means that the rest of the object should be empty. ", - "enum": [ - "ACTIVE", - "DETACHED" - ], - "enumDescriptions": [ - "The link is configured and active within the bundle.", - "The link is not configured within the bundle, this means the rest of the object should be empty." - ], + "name": { + "description": "[Output Only] Name of the resource.", "type": "string" - } - }, - "type": "object" - }, - "InterconnectDiagnosticsLinkOpticalPower": { - "id": "InterconnectDiagnosticsLinkOpticalPower", - "properties": { - "state": { - "description": "The status of the current value when compared to the warning and alarm levels for the receiving or transmitting transceiver. Possible states include: - OK: The value has not crossed a warning threshold. - LOW_WARNING: The value has crossed below the low warning threshold. - HIGH_WARNING: The value has crossed above the high warning threshold. - LOW_ALARM: The value has crossed below the low alarm threshold. - HIGH_ALARM: The value has crossed above the high alarm threshold. ", - "enum": [ - "HIGH_ALARM", - "HIGH_WARNING", - "LOW_ALARM", - "LOW_WARNING", - "OK" - ], - "enumDescriptions": [ - "The value has crossed above the high alarm threshold.", - "The value of the current optical power has crossed above the high warning threshold.", - "The value of the current optical power has crossed below the low alarm threshold.", - "The value of the current optical power has crossed below the low warning threshold.", - "The value of the current optical power has not crossed a warning threshold." - ], + }, + "peeringdbFacilityId": { + "description": "[Output Only] The peeringdb identifier for this facility (corresponding with a netfac type in peeringdb).", "type": "string" }, - "value": { - "description": "Value of the current receiving or transmitting optical power, read in dBm. Take a known good optical value, give it a 10% margin and trigger warnings relative to that value. In general, a -7dBm warning and a -11dBm alarm are good optical value estimates for most links.", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "InterconnectDiagnosticsLinkStatus": { - "id": "InterconnectDiagnosticsLinkStatus", - "properties": { - "arpCaches": { - "description": "A list of InterconnectDiagnostics.ARPEntry objects, describing the ARP neighbor entries seen on this link. This will be empty if the link is bundled", + "regionInfos": { + "description": "[Output Only] A list of InterconnectLocation.RegionInfo objects, that describe parameters pertaining to the relation between this InterconnectLocation and various Google Cloud regions.", "items": { - "$ref": "InterconnectDiagnosticsARPEntry" + "$ref": "InterconnectLocationRegionInfo" }, "type": "array" }, - "circuitId": { - "description": "The unique ID for this link assigned during turn up by Google.", + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", "type": "string" }, - "googleDemarc": { - "description": "The Demarc address assigned by Google and provided in the LoA.", + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource with the resource id.", "type": "string" }, - "lacpStatus": { - "$ref": "InterconnectDiagnosticsLinkLACPStatus" - }, - "macsec": { - "$ref": "InterconnectDiagnosticsMacsecStatus", - "description": "Describes the status of MACsec encryption on this link." - }, - "operationalStatus": { - "description": "The operational status of the link.", + "status": { + "description": "[Output Only] The status of this InterconnectLocation, which can take one of the following values: - CLOSED: The InterconnectLocation is closed and is unavailable for provisioning new Interconnects. - AVAILABLE: The InterconnectLocation is available for provisioning new Interconnects. ", "enum": [ - "LINK_OPERATIONAL_STATUS_DOWN", - "LINK_OPERATIONAL_STATUS_UP" + "AVAILABLE", + "CLOSED" ], "enumDescriptions": [ - "The interface is unable to communicate with the remote end.", - "The interface has low level communication with the remote end." + "The InterconnectLocation is available for provisioning new Interconnects.", + "The InterconnectLocation is closed for provisioning new Interconnects." ], "type": "string" }, - "receivingOpticalPower": { - "$ref": "InterconnectDiagnosticsLinkOpticalPower", - "description": "An InterconnectDiagnostics.LinkOpticalPower object, describing the current value and status of the received light level." - }, - "transmittingOpticalPower": { - "$ref": "InterconnectDiagnosticsLinkOpticalPower", - "description": "An InterconnectDiagnostics.LinkOpticalPower object, describing the current value and status of the transmitted light level." + "supportsPzs": { + "description": "[Output Only] Reserved for future use.", + "type": "boolean" } }, "type": "object" }, - "InterconnectDiagnosticsMacsecStatus": { - "description": "Describes the status of MACsec encryption on the link.", - "id": "InterconnectDiagnosticsMacsecStatus", + "InterconnectLocationCrossSiteInterconnectInfo": { + "description": "Information about any potential WireGroups between an Interconnect at a specific InterconnectLocation, and an Interconnect in another metro.", + "id": "InterconnectLocationCrossSiteInterconnectInfo", "properties": { - "ckn": { - "description": "Indicates the Connectivity Association Key Name (CKN) currently being used if MACsec is operational.", + "city": { + "description": "Metropolitan area designator", "type": "string" }, - "operational": { - "description": "Indicates whether or not MACsec is operational on this link.", - "type": "boolean" + "maxSingleFlowGbps": { + "description": "The maximum gbps for a single flow to this metro. This limits the total bandwidth which may be configured per wire.", + "format": "int32", + "type": "integer" } }, "type": "object" }, - "InterconnectList": { - "description": "Response to the list request, and contains a list of interconnects.", - "id": "InterconnectList", + "InterconnectLocationList": { + "description": "Response to the list request, and contains a list of interconnect locations.", + "id": "InterconnectLocationList", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "description": "A list of Interconnect resources.", + "description": "A list of InterconnectLocation resources.", "items": { - "$ref": "Interconnect" + "$ref": "InterconnectLocation" }, "type": "array" }, "kind": { - "default": "compute#interconnectList", - "description": "[Output Only] Type of resource. Always compute#interconnectList for lists of interconnects.", + "default": "compute#interconnectLocationList", + "description": "[Output Only] Type of resource. Always compute#interconnectLocationList for lists of interconnect locations.", "type": "string" }, "nextPageToken": { @@ -67026,6 +71272,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -67062,297 +71309,6 @@ false, false, false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "InterconnectLocation": { - "description": "Represents an Interconnect Attachment (VLAN) Location resource. You can use this resource to find location details about an Interconnect attachment (VLAN). For more information about interconnect attachments, read Creating VLAN Attachments.", - "id": "InterconnectLocation", - "properties": { - "address": { - "description": "[Output Only] The postal address of the Point of Presence, each line in the address is separated by a newline character.", - "type": "string" - }, - "availabilityZone": { - "description": "[Output Only] Availability zone for this InterconnectLocation. Within a metropolitan area (metro), maintenance will not be simultaneously scheduled in more than one availability zone. Example: \"zone1\" or \"zone2\".", - "type": "string" - }, - "availableFeatures": { - "description": "[Output only] List of features available at this InterconnectLocation, which can take one of the following values: - MACSEC ", - "items": { - "enum": [ - "IF_MACSEC" - ], - "enumDescriptions": [ - "Media Access Control security (MACsec)" - ], - "type": "string" - }, - "type": "array" - }, - "availableLinkTypes": { - "description": "[Output only] List of link types available at this InterconnectLocation, which can take one of the following values: - LINK_TYPE_ETHERNET_10G_LR - LINK_TYPE_ETHERNET_100G_LR ", - "items": { - "enum": [ - "LINK_TYPE_ETHERNET_100G_LR", - "LINK_TYPE_ETHERNET_10G_LR" - ], - "enumDescriptions": [ - "100G Ethernet, LR Optics.", - "10G Ethernet, LR Optics. [(rate_bps) = 10000000000];" - ], - "type": "string" - }, - "type": "array" - }, - "city": { - "description": "[Output Only] Metropolitan area designator that indicates which city an interconnect is located. For example: \"Chicago, IL\", \"Amsterdam, Netherlands\".", - "type": "string" - }, - "continent": { - "description": "[Output Only] Continent for this location, which can take one of the following values: - AFRICA - ASIA_PAC - EUROPE - NORTH_AMERICA - SOUTH_AMERICA ", - "enum": [ - "AFRICA", - "ASIA_PAC", - "C_AFRICA", - "C_ASIA_PAC", - "C_EUROPE", - "C_NORTH_AMERICA", - "C_SOUTH_AMERICA", - "EUROPE", - "NORTH_AMERICA", - "SOUTH_AMERICA" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "creationTimestamp": { - "description": "[Output Only] Creation timestamp in RFC3339 text format.", - "type": "string" - }, - "description": { - "description": "[Output Only] An optional description of the resource.", - "type": "string" - }, - "facilityProvider": { - "description": "[Output Only] The name of the provider for this facility (e.g., EQUINIX).", - "type": "string" - }, - "facilityProviderFacilityId": { - "description": "[Output Only] A provider-assigned Identifier for this facility (e.g., Ashburn-DC1).", - "type": "string" - }, - "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", - "format": "uint64", - "type": "string" - }, - "kind": { - "default": "compute#interconnectLocation", - "description": "[Output Only] Type of the resource. Always compute#interconnectLocation for interconnect locations.", - "type": "string" - }, - "name": { - "description": "[Output Only] Name of the resource.", - "type": "string" - }, - "peeringdbFacilityId": { - "description": "[Output Only] The peeringdb identifier for this facility (corresponding with a netfac type in peeringdb).", - "type": "string" - }, - "regionInfos": { - "description": "[Output Only] A list of InterconnectLocation.RegionInfo objects, that describe parameters pertaining to the relation between this InterconnectLocation and various Google Cloud regions.", - "items": { - "$ref": "InterconnectLocationRegionInfo" - }, - "type": "array" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for the resource.", - "type": "string" - }, - "selfLinkWithId": { - "description": "[Output Only] Server-defined URL for this resource with the resource id.", - "type": "string" - }, - "status": { - "description": "[Output Only] The status of this InterconnectLocation, which can take one of the following values: - CLOSED: The InterconnectLocation is closed and is unavailable for provisioning new Interconnects. - AVAILABLE: The InterconnectLocation is available for provisioning new Interconnects. ", - "enum": [ - "AVAILABLE", - "CLOSED" - ], - "enumDescriptions": [ - "The InterconnectLocation is available for provisioning new Interconnects.", - "The InterconnectLocation is closed for provisioning new Interconnects." - ], - "type": "string" - }, - "supportsPzs": { - "description": "[Output Only] Reserved for future use.", - "type": "boolean" - } - }, - "type": "object" - }, - "InterconnectLocationList": { - "description": "Response to the list request, and contains a list of interconnect locations.", - "id": "InterconnectLocationList", - "properties": { - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", - "type": "string" - }, - "items": { - "description": "A list of InterconnectLocation resources.", - "items": { - "$ref": "InterconnectLocation" - }, - "type": "array" - }, - "kind": { - "default": "compute#interconnectLocationList", - "description": "[Output Only] Type of resource. Always compute#interconnectLocationList for lists of interconnect locations.", - "type": "string" - }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", - "type": "string" - }, - "warning": { - "description": "[Output Only] Informational warning message.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, false, false ], @@ -67378,6 +71334,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -67826,6 +71783,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -67862,6 +71820,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -67886,6 +71845,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -68076,6 +72036,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -68112,6 +72073,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -68136,6 +72098,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -68228,6 +72191,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -68264,6 +72228,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -68288,6 +72253,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -68459,7 +72425,8 @@ "type": "array" }, "resourceRequirements": { - "$ref": "LicenseResourceRequirements" + "$ref": "LicenseResourceRequirements", + "description": "[Input Only] Deprecated." }, "selfLink": { "description": "[Output Only] Server-defined URL for the resource.", @@ -68639,12 +72606,12 @@ "id": "LicenseResourceRequirements", "properties": { "minGuestCpuCount": { - "description": "Minimum number of guest cpus required to use the Instance. Enforced at Instance creation and Instance start.", + "description": "[Input Only] Deprecated. This field no longer reflects the minimum number of guest cpus required to use the Instance.", "format": "int32", "type": "integer" }, "minMemoryMb": { - "description": "Minimum memory required to use the Instance. Enforced at Instance creation and Instance start.", + "description": "[Input Only] Deprecated. This field no longer reflects the minimum memory required to use the Instance.", "format": "int32", "type": "integer" } @@ -68700,6 +72667,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -68736,6 +72704,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -68760,6 +72729,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -68862,6 +72832,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -68898,6 +72869,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -68922,6 +72894,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -69065,102 +73038,6 @@ }, "type": "object" }, - "LogConfig": { - "description": "This is deprecated and has no effect. Do not use.", - "id": "LogConfig", - "properties": { - "cloudAudit": { - "$ref": "LogConfigCloudAuditOptions", - "description": "This is deprecated and has no effect. Do not use." - }, - "counter": { - "$ref": "LogConfigCounterOptions", - "description": "This is deprecated and has no effect. Do not use." - }, - "dataAccess": { - "$ref": "LogConfigDataAccessOptions", - "description": "This is deprecated and has no effect. Do not use." - } - }, - "type": "object" - }, - "LogConfigCloudAuditOptions": { - "description": "This is deprecated and has no effect. Do not use.", - "id": "LogConfigCloudAuditOptions", - "properties": { - "logName": { - "description": "This is deprecated and has no effect. Do not use.", - "enum": [ - "ADMIN_ACTIVITY", - "DATA_ACCESS", - "UNSPECIFIED_LOG_NAME" - ], - "enumDescriptions": [ - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use." - ], - "type": "string" - } - }, - "type": "object" - }, - "LogConfigCounterOptions": { - "description": "This is deprecated and has no effect. Do not use.", - "id": "LogConfigCounterOptions", - "properties": { - "customFields": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "$ref": "LogConfigCounterOptionsCustomField" - }, - "type": "array" - }, - "field": { - "description": "This is deprecated and has no effect. Do not use.", - "type": "string" - }, - "metric": { - "description": "This is deprecated and has no effect. Do not use.", - "type": "string" - } - }, - "type": "object" - }, - "LogConfigCounterOptionsCustomField": { - "description": "This is deprecated and has no effect. Do not use.", - "id": "LogConfigCounterOptionsCustomField", - "properties": { - "name": { - "description": "This is deprecated and has no effect. Do not use.", - "type": "string" - }, - "value": { - "description": "This is deprecated and has no effect. Do not use.", - "type": "string" - } - }, - "type": "object" - }, - "LogConfigDataAccessOptions": { - "description": "This is deprecated and has no effect. Do not use.", - "id": "LogConfigDataAccessOptions", - "properties": { - "logMode": { - "description": "This is deprecated and has no effect. Do not use.", - "enum": [ - "LOG_FAIL_CLOSED", - "LOG_MODE_UNSPECIFIED" - ], - "enumDescriptions": [ - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use." - ], - "type": "string" - } - }, - "type": "object" - }, "MachineImage": { "description": "Represents a machine image resource. A machine image is a Compute Engine resource that stores all the configuration, metadata, permissions, and data from one or more disks required to create a Virtual machine (VM) instance. For more information, see Machine images.", "id": "MachineImage", @@ -69332,6 +73209,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -69368,6 +73246,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -69392,6 +73271,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -69597,6 +73477,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -69633,6 +73514,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -69657,6 +73539,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -69749,6 +73632,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -69785,6 +73669,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -69809,6 +73694,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -69883,6 +73769,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -69919,6 +73806,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -69943,6 +73831,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -70054,6 +73943,7 @@ "description": "[Output Only] The status of the instance. This field is empty when the instance does not exist.", "enum": [ "DEPROVISIONING", + "PENDING_STOP", "PROVISIONING", "REPAIRING", "RUNNING", @@ -70066,6 +73956,7 @@ ], "enumDescriptions": [ "The instance is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.", + "The instance is gracefully shutting down.", "Resources are being allocated for the instance.", "The instance is in repair.", "The instance is running.", @@ -70197,10 +74088,12 @@ "provisioningModel": { "description": "The provisioning model to be used for this instance.", "enum": [ + "RESERVATION_BOUND", "SPOT", "STANDARD" ], "enumDescriptions": [ + "Bound to the lifecycle of the reservation in which it is provisioned.", "Heavily discounted, no guaranteed runtime.", "Standard provisioning with user controlled runtime, no discounts." ], @@ -70314,10 +74207,12 @@ "provisioningModel": { "description": "The provisioning model to be used for this instance.", "enum": [ + "RESERVATION_BOUND", "SPOT", "STANDARD" ], "enumDescriptions": [ + "Bound to the lifecycle of the reservation in which it is provisioned.", "Heavily discounted, no guaranteed runtime.", "Standard provisioning with user controlled runtime, no discounts." ], @@ -70467,6 +74362,242 @@ }, "type": "object" }, + "MultiMig": { + "description": "Multi-MIG represents a group of managed instance groups.", + "id": "MultiMig", + "properties": { + "creationTimestamp": { + "description": "[Output only] The creation timestamp of this multi-MIG in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "An optional description of this resource.", + "type": "string" + }, + "id": { + "description": "[Output only] The unique identifier for this resource type. The server generates this identifier.", + "format": "uint64", + "type": "string" + }, + "kind": { + "default": "compute#multiMig", + "description": "[Output only] Type of the resource. Always compute#multiMig for multi-MIGs.", + "type": "string" + }, + "name": { + "description": "The name of the multi-MIG. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "region": { + "description": "[Output only] The URL of the region where the resource resides. You must specify this field as part of the HTTP request URL. You cannot set the region as a field in the request body.", + "type": "string" + }, + "resourcePolicies": { + "$ref": "MultiMigResourcePolicies", + "description": "Resource policies for this multi-MIG." + }, + "selfLink": { + "description": "[Output only] Server-defined URL for the resource.", + "type": "string" + }, + "selfLinkWithId": { + "description": "[Output only] Server-defined URL for this resource with the resource id.", + "type": "string" + }, + "status": { + "$ref": "MultiMigStatus" + } + }, + "type": "object" + }, + "MultiMigResourcePolicies": { + "description": "Resource policies message for a multi-MIG. Specifies the workload policy configuration of the multi-MIG.", + "id": "MultiMigResourcePolicies", + "properties": { + "workloadPolicy": { + "description": "The URL of the workload policy for this multi-MIG. It can be a full or partial URL. For example, the following are all valid URLs to a workload policy: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy ", + "type": "string" + } + }, + "type": "object" + }, + "MultiMigStatus": { + "id": "MultiMigStatus", + "properties": { + "memberInstanceGroupManagers": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "MultiMigsList": { + "id": "MultiMigsList", + "properties": { + "etag": { + "type": "string" + }, + "id": { + "description": "Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of multi-MIGs in the specified project and region.", + "items": { + "$ref": "MultiMig" + }, + "type": "array" + }, + "kind": { + "default": "compute#multiMigList", + "description": "Type of resource.", + "type": "string" + }, + "nextPageToken": { + "description": "This token allows you to get the next page of results for maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "[Output only] Unreachable resources.", + "items": { + "type": "string" + }, + "type": "array" + }, + "warning": { + "description": "Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, "MutualTls": { "description": "[Deprecated] Configuration for the mutual Tls mode for peer authentication. Configuration for the mutual Tls mode for peer authentication.", "id": "MutualTls", @@ -70681,7 +74812,7 @@ "type": "string" }, "networkProfile": { - "description": "A full or partial URL of the network profile to apply to this network. This field can be set only at resource creation time. For example, the following are valid URLs: - https://www.googleapis.com/compute/alpha/projects/{project_id}/global/networkProfiles/{network_profile_name} - projects/{project_id}/global/networkProfiles/{network_profile_name} ", + "description": "A full or partial URL of the network profile to apply to this network. This field can be set only at resource creation time. For example, the following are valid URLs: - https://www.googleapis.com/compute/{api_version}/projects/{project_id}/global/networkProfiles/{network_profile_name} - projects/{project_id}/global/networkProfiles/{network_profile_name} ", "type": "string" }, "peerings": { @@ -70869,6 +75000,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -70905,6 +75037,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -70929,6 +75062,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -71073,6 +75207,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -71109,6 +75244,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -71133,6 +75269,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -71207,6 +75344,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -71243,6 +75381,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -71267,6 +75406,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -71420,6 +75560,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -71456,6 +75597,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -71480,6 +75622,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -71554,6 +75697,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -71590,6 +75734,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -71614,6 +75759,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -71889,6 +76035,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -71925,6 +76072,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -71949,6 +76097,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -72121,6 +76270,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -72157,6 +76307,418 @@ false, false, false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "NetworkEndpointGroupPscData": { + "description": "All data that is specifically relevant to only network endpoint groups of type PRIVATE_SERVICE_CONNECT.", + "id": "NetworkEndpointGroupPscData", + "properties": { + "consumerPscAddress": { + "description": "[Output Only] Address allocated from given subnetwork for PSC. This IP address acts as a VIP for a PSC NEG, allowing it to act as an endpoint in L7 PSC-XLB.", + "type": "string" + }, + "producerPort": { + "description": "The psc producer port is used to connect PSC NEG with specific port on the PSC Producer side; should only be used for the PRIVATE_SERVICE_CONNECT NEG type", + "format": "int32", + "type": "integer" + }, + "pscConnectionId": { + "description": "[Output Only] The PSC connection id of the PSC Network Endpoint Group Consumer.", + "format": "uint64", + "type": "string" + }, + "pscConnectionStatus": { + "description": "[Output Only] The connection status of the PSC Forwarding Rule.", + "enum": [ + "ACCEPTED", + "CLOSED", + "NEEDS_ATTENTION", + "PENDING", + "REJECTED", + "STATUS_UNSPECIFIED" + ], + "enumDescriptions": [ + "The connection has been accepted by the producer.", + "The connection has been closed by the producer and will not serve traffic going forward.", + "The connection has been accepted by the producer, but the producer needs to take further action before the forwarding rule can serve traffic.", + "The connection is pending acceptance by the producer.", + "The connection has been rejected by the producer.", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "NetworkEndpointGroupServerlessDeployment": { + "description": "Configuration for a serverless network endpoint group (NEG). The platform must be provided. Note: The target backend service must be in the same project and located in the same region as the Serverless NEG.", + "id": "NetworkEndpointGroupServerlessDeployment", + "properties": { + "platform": { + "description": "The platform of the backend target(s) of this NEG. The only supported value is API Gateway: apigateway.googleapis.com.", + "type": "string" + }, + "resource": { + "description": "The user-defined name of the workload/instance. This value must be provided explicitly or in the urlMask. The resource identified by this value is platform-specific and is as follows: 1. API Gateway: The gateway ID 2. App Engine: The service name 3. Cloud Functions: The function name 4. Cloud Run: The service name ", + "type": "string" + }, + "urlMask": { + "description": "An URL mask is one of the main components of the Cloud Function. A template to parse platform-specific fields from a request URL. URL mask allows for routing to multiple resources on the same serverless platform without having to create multiple Network Endpoint Groups and backend resources. The fields parsed by this template are platform-specific and are as follows: 1. API Gateway: The gateway ID 2. App Engine: The service and version 3. Cloud Functions: The function name 4. Cloud Run: The service and tag ", + "type": "string" + }, + "version": { + "description": "The optional resource version. The version identified by this value is platform-specific and is follows: 1. API Gateway: Unused 2. App Engine: The service version 3. Cloud Functions: Unused 4. Cloud Run: The service tag ", + "type": "string" + } + }, + "type": "object" + }, + "NetworkEndpointGroupsAttachEndpointsRequest": { + "id": "NetworkEndpointGroupsAttachEndpointsRequest", + "properties": { + "networkEndpoints": { + "description": "The list of network endpoints to be attached.", + "items": { + "$ref": "NetworkEndpoint" + }, + "type": "array" + } + }, + "type": "object" + }, + "NetworkEndpointGroupsDetachEndpointsRequest": { + "id": "NetworkEndpointGroupsDetachEndpointsRequest", + "properties": { + "networkEndpoints": { + "description": "The list of network endpoints to be detached.", + "items": { + "$ref": "NetworkEndpoint" + }, + "type": "array" + } + }, + "type": "object" + }, + "NetworkEndpointGroupsListEndpointsRequest": { + "id": "NetworkEndpointGroupsListEndpointsRequest", + "properties": { + "endpointFilters": { + "description": "Optional list of endpoints to query. This is a more efficient but also limited version of filter parameter. Endpoints in the filter must have ip_address and port fields populated, other fields are not supported.", + "items": { + "$ref": "NetworkEndpointGroupsListEndpointsRequestNetworkEndpointFilter" + }, + "type": "array" + }, + "healthStatus": { + "description": "Optional query parameter for showing the health status of each network endpoint. Valid options are SKIP or SHOW. If you don't specify this parameter, the health status of network endpoints will not be provided.", + "enum": [ + "SHOW", + "SKIP" + ], + "enumDescriptions": [ + "Show the health status for each network endpoint. Impacts latency of the call.", + "Health status for network endpoints will not be provided." + ], + "type": "string" + } + }, + "type": "object" + }, + "NetworkEndpointGroupsListEndpointsRequestNetworkEndpointFilter": { + "id": "NetworkEndpointGroupsListEndpointsRequestNetworkEndpointFilter", + "properties": { + "networkEndpoint": { + "$ref": "NetworkEndpoint" + } + }, + "type": "object" + }, + "NetworkEndpointGroupsListNetworkEndpoints": { + "id": "NetworkEndpointGroupsListNetworkEndpoints", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of NetworkEndpointWithHealthStatus resources.", + "items": { + "$ref": "NetworkEndpointWithHealthStatus" + }, + "type": "array" + }, + "kind": { + "default": "compute#networkEndpointGroupsListNetworkEndpoints", + "description": "[Output Only] The resource type, which is always compute#networkEndpointGroupsListNetworkEndpoints for the list of network endpoints in the specified network endpoint group.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "NetworkEndpointGroupsScopedList": { + "id": "NetworkEndpointGroupsScopedList", + "properties": { + "networkEndpointGroups": { + "description": "[Output Only] The list of network endpoint groups that are contained in this scope.", + "items": { + "$ref": "NetworkEndpointGroup" + }, + "type": "array" + }, + "warning": { + "description": "[Output Only] An informational warning that replaces the list of network endpoint groups when the list is empty.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, false ], "enumDescriptions": [ @@ -72181,6 +76743,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -72218,289 +76781,60 @@ }, "type": "object" }, - "NetworkEndpointGroupPscData": { - "description": "All data that is specifically relevant to only network endpoint groups of type PRIVATE_SERVICE_CONNECT.", - "id": "NetworkEndpointGroupPscData", - "properties": { - "consumerPscAddress": { - "description": "[Output Only] Address allocated from given subnetwork for PSC. This IP address acts as a VIP for a PSC NEG, allowing it to act as an endpoint in L7 PSC-XLB.", - "type": "string" - }, - "producerPort": { - "description": "The psc producer port is used to connect PSC NEG with specific port on the PSC Producer side; should only be used for the PRIVATE_SERVICE_CONNECT NEG type", - "format": "int32", - "type": "integer" - }, - "pscConnectionId": { - "description": "[Output Only] The PSC connection id of the PSC Network Endpoint Group Consumer.", - "format": "uint64", - "type": "string" - }, - "pscConnectionStatus": { - "description": "[Output Only] The connection status of the PSC Forwarding Rule.", - "enum": [ - "ACCEPTED", - "CLOSED", - "NEEDS_ATTENTION", - "PENDING", - "REJECTED", - "STATUS_UNSPECIFIED" - ], - "enumDescriptions": [ - "The connection has been accepted by the producer.", - "The connection has been closed by the producer and will not serve traffic going forward.", - "The connection has been accepted by the producer, but the producer needs to take further action before the forwarding rule can serve traffic.", - "The connection is pending acceptance by the producer.", - "The connection has been rejected by the producer.", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "NetworkEndpointGroupServerlessDeployment": { - "description": "Configuration for a serverless network endpoint group (NEG). The platform must be provided. Note: The target backend service must be in the same project and located in the same region as the Serverless NEG.", - "id": "NetworkEndpointGroupServerlessDeployment", - "properties": { - "platform": { - "description": "The platform of the backend target(s) of this NEG. The only supported value is API Gateway: apigateway.googleapis.com.", - "type": "string" - }, - "resource": { - "description": "The user-defined name of the workload/instance. This value must be provided explicitly or in the urlMask. The resource identified by this value is platform-specific and is as follows: 1. API Gateway: The gateway ID 2. App Engine: The service name 3. Cloud Functions: The function name 4. Cloud Run: The service name ", - "type": "string" - }, - "urlMask": { - "description": "An URL mask is one of the main components of the Cloud Function. A template to parse platform-specific fields from a request URL. URL mask allows for routing to multiple resources on the same serverless platform without having to create multiple Network Endpoint Groups and backend resources. The fields parsed by this template are platform-specific and are as follows: 1. API Gateway: The gateway ID 2. App Engine: The service and version 3. Cloud Functions: The function name 4. Cloud Run: The service and tag ", - "type": "string" - }, - "version": { - "description": "The optional resource version. The version identified by this value is platform-specific and is follows: 1. API Gateway: Unused 2. App Engine: The service version 3. Cloud Functions: Unused 4. Cloud Run: The service tag ", - "type": "string" - } - }, - "type": "object" - }, - "NetworkEndpointGroupsAttachEndpointsRequest": { - "id": "NetworkEndpointGroupsAttachEndpointsRequest", - "properties": { - "networkEndpoints": { - "description": "The list of network endpoints to be attached.", - "items": { - "$ref": "NetworkEndpoint" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkEndpointGroupsDetachEndpointsRequest": { - "id": "NetworkEndpointGroupsDetachEndpointsRequest", - "properties": { - "networkEndpoints": { - "description": "The list of network endpoints to be detached.", - "items": { - "$ref": "NetworkEndpoint" - }, - "type": "array" - } - }, - "type": "object" - }, - "NetworkEndpointGroupsListEndpointsRequest": { - "id": "NetworkEndpointGroupsListEndpointsRequest", + "NetworkEndpointWithHealthStatus": { + "id": "NetworkEndpointWithHealthStatus", "properties": { - "endpointFilters": { - "description": "Optional list of endpoints to query. This is a more efficient but also limited version of filter parameter. Endpoints in the filter must have ip_address and port fields populated, other fields are not supported.", + "healths": { + "description": "[Output only] The health status of network endpoint;", "items": { - "$ref": "NetworkEndpointGroupsListEndpointsRequestNetworkEndpointFilter" + "$ref": "HealthStatusForNetworkEndpoint" }, "type": "array" }, - "healthStatus": { - "description": "Optional query parameter for showing the health status of each network endpoint. Valid options are SKIP or SHOW. If you don't specify this parameter, the health status of network endpoints will not be provided.", - "enum": [ - "SHOW", - "SKIP" - ], - "enumDescriptions": [ - "Show the health status for each network endpoint. Impacts latency of the call.", - "Health status for network endpoints will not be provided." - ], - "type": "string" - } - }, - "type": "object" - }, - "NetworkEndpointGroupsListEndpointsRequestNetworkEndpointFilter": { - "id": "NetworkEndpointGroupsListEndpointsRequestNetworkEndpointFilter", - "properties": { "networkEndpoint": { - "$ref": "NetworkEndpoint" + "$ref": "NetworkEndpoint", + "description": "[Output only] The network endpoint;" } }, "type": "object" }, - "NetworkEndpointGroupsListNetworkEndpoints": { - "id": "NetworkEndpointGroupsListNetworkEndpoints", + "NetworkFirewallPolicyAggregatedList": { + "id": "NetworkFirewallPolicyAggregatedList", "properties": { "id": { "description": "[Output Only] Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "description": "A list of NetworkEndpointWithHealthStatus resources.", - "items": { - "$ref": "NetworkEndpointWithHealthStatus" + "additionalProperties": { + "$ref": "FirewallPoliciesScopedList", + "description": "Name of the scope containing this set of addresses." }, - "type": "array" + "description": "A list of FirewallPoliciesScopedList resources.", + "type": "object" }, "kind": { - "default": "compute#networkEndpointGroupsListNetworkEndpoints", - "description": "[Output Only] The resource type, which is always compute#networkEndpointGroupsListNetworkEndpoints for the list of network endpoints in the specified network endpoint group.", + "default": "compute#networkFirewallPolicyAggregatedList", + "description": "[Output Only] Type of resource. Always compute#networkFirewallPoliciesAggregatedList for lists of network firewall policies.", "type": "string" }, "nextPageToken": { "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", "type": "string" }, - "warning": { - "description": "[Output Only] Informational warning message.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "NetworkEndpointGroupsScopedList": { - "id": "NetworkEndpointGroupsScopedList", - "properties": { - "networkEndpointGroups": { - "description": "[Output Only] The list of network endpoint groups that are contained in this scope.", + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "[Output Only] Unreachable resources.", "items": { - "$ref": "NetworkEndpointGroup" + "type": "string" }, "type": "array" }, "warning": { - "description": "[Output Only] An informational warning that replaces the list of network endpoint groups when the list is empty.", + "description": "[Output Only] Informational warning message.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", @@ -72526,6 +76860,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -72562,6 +76897,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -72586,6 +76922,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -72623,23 +76960,6 @@ }, "type": "object" }, - "NetworkEndpointWithHealthStatus": { - "id": "NetworkEndpointWithHealthStatus", - "properties": { - "healths": { - "description": "[Output only] The health status of network endpoint;", - "items": { - "$ref": "HealthStatusForNetworkEndpoint" - }, - "type": "array" - }, - "networkEndpoint": { - "$ref": "NetworkEndpoint", - "description": "[Output only] The network endpoint;" - } - }, - "type": "object" - }, "NetworkInterface": { "description": "A network interface resource attached to an instance.", "id": "NetworkInterface", @@ -72729,19 +77049,23 @@ "enum": [ "GVNIC", "IDPF", + "IRDMA", + "MRDMA", "UNSPECIFIED_NIC_TYPE", "VIRTIO_NET" ], "enumDescriptions": [ "GVNIC", "IDPF", + "IRDMA", + "MRDMA", "No type specified.", "VIRTIO" ], "type": "string" }, "parentNicName": { - "description": "Name of the parent network interface of a VLAN based nic. If this field is specified, vlan must be set.", + "description": "Name of the parent network interface of a dynamic network interface.", "type": "string" }, "queueCount": { @@ -72758,7 +77082,7 @@ ], "enumDescriptions": [ "The network interface can have both IPv4 and IPv6 addresses.", - "The network interface will be assigned IPv4 address.", + "The network interface will only be assigned IPv4 addresses.", "The network interface will only be assigned IPv6 addresses." ], "type": "string" @@ -72775,7 +77099,7 @@ "type": "string" }, "vlan": { - "description": "VLAN tag of a VLAN based network interface, must be in range from 2 to 4094 inclusively. This field is mandatory if the parent network interface name is set.", + "description": "VLAN tag of a dynamic network interface, must be in range from 2 to 4094 inclusively.", "format": "int32", "type": "integer" } @@ -72869,6 +77193,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -72905,6 +77230,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -72929,6 +77255,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -73096,6 +77423,10 @@ "description": "[Output Only] Type of the resource. Always compute#networkProfile for network profiles.", "type": "string" }, + "location": { + "$ref": "NetworkProfileLocation", + "description": "[Output Only] Location to which the network is restricted." + }, "name": { "description": "[Output Only] Name of the resource.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", @@ -73116,6 +77447,26 @@ }, "type": "object" }, + "NetworkProfileLocation": { + "id": "NetworkProfileLocation", + "properties": { + "name": { + "type": "string" + }, + "scope": { + "enum": [ + "REGION", + "ZONE" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "NetworkProfileNetworkFeatures": { "id": "NetworkProfileNetworkFeatures", "properties": { @@ -73352,7 +77703,30 @@ ], "type": "string" }, - "allowedSubnetPurposes": { + "interfaceTypes": { + "description": "If set, limits the interface types that the network supports. If empty, all interface types are supported.", + "items": { + "enum": [ + "GVNIC", + "IDPF", + "IRDMA", + "MRDMA", + "UNSPECIFIED_NIC_TYPE", + "VIRTIO_NET" + ], + "enumDescriptions": [ + "GVNIC", + "IDPF", + "IRDMA", + "MRDMA", + "No type specified.", + "VIRTIO" + ], + "type": "string" + }, + "type": "array" + }, + "subnetPurposes": { "description": "Specifies which subnetwork purposes are supported.", "items": { "enum": [ @@ -73367,7 +77741,7 @@ }, "type": "array" }, - "allowedSubnetStackTypes": { + "subnetStackTypes": { "description": "Specifies which subnetwork stack types are supported.", "items": { "enum": [ @@ -73384,37 +77758,6 @@ }, "type": "array" }, - "interfaceTypes": { - "description": "If set, limits the interface types that the network supports. If empty, all interface types are supported.", - "items": { - "enum": [ - "GVNIC", - "IDPF", - "UNSPECIFIED_NIC_TYPE", - "VIRTIO_NET" - ], - "enumDescriptions": [ - "GVNIC", - "IDPF", - "No type specified.", - "VIRTIO" - ], - "type": "string" - }, - "type": "array" - }, - "multicast": { - "description": "Specifies which type of multicast is supported.", - "enum": [ - "MULTICAST_SDN", - "MULTICAST_ULL" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, "unicast": { "description": "Specifies which type of unicast is supported.", "enum": [ @@ -73495,6 +77838,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -73531,6 +77875,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -73555,6 +77900,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -73624,6 +77970,22 @@ ], "type": "string" }, + "effectiveBgpAlwaysCompareMed": { + "description": "[Output Only] Effective value of the bgp_always_compare_med field.", + "type": "boolean" + }, + "effectiveBgpInterRegionCost": { + "description": "[Output Only] Effective value of the bgp_inter_region_cost field.", + "enum": [ + "ADD_COST_TO_MED", + "DEFAULT" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, "routingMode": { "description": "The network-wide routing mode to use. If set to REGIONAL, this network's Cloud Routers will only advertise routes with subnets of this network in the same region as the router. If set to GLOBAL, this network's Cloud Routers will advertise routes with all subnets of this network, across regions.", "enum": [ @@ -73678,7 +78040,7 @@ "id": "NetworksGetEffectiveFirewallsResponse", "properties": { "firewallPolicys": { - "description": "Effective firewalls from firewall policy.", + "description": "[Output Only] Effective firewalls from firewall policy. It returns Global Network Firewall Policies and Hierarchical Firewall Policies. Use regionNetworkFirewallPolicies.getEffectiveFirewalls to get Regional Network Firewall Policies as well.", "items": { "$ref": "NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy" }, @@ -73713,13 +78075,20 @@ "description": "[Output Only] The name of the firewall policy.", "type": "string" }, + "packetMirroringRules": { + "description": "[Output Only] The packet mirroring rules that apply to the network.", + "items": { + "$ref": "FirewallPolicyRule" + }, + "type": "array" + }, "priority": { "description": "[Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY.", "format": "int32", "type": "integer" }, "rules": { - "description": "The rules that apply to the network.", + "description": "[Output Only] The rules that apply to the network.", "items": { "$ref": "FirewallPolicyRule" }, @@ -73962,6 +78331,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -73998,6 +78368,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -74022,6 +78393,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -74146,6 +78518,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -74182,6 +78555,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -74206,6 +78580,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -74438,6 +78813,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -74474,6 +78850,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -74498,6 +78875,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -74589,6 +78967,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -74625,6 +79004,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -74649,6 +79029,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -74877,6 +79258,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -74913,6 +79295,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -74937,6 +79320,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -75029,6 +79413,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -75065,6 +79450,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -75089,6 +79475,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -75178,6 +79565,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -75214,6 +79602,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -75238,6 +79627,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -75315,6 +79705,11 @@ "format": "int32", "type": "integer" }, + "maxVms": { + "description": "[Output Only] Maximum number of VMs that can be created for this node type.", + "format": "int32", + "type": "integer" + }, "memoryMb": { "description": "[Output Only] The amount of physical memory available to the node type, defined in MB.", "format": "int32", @@ -75402,6 +79797,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -75438,6 +79834,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -75462,6 +79859,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -75554,6 +79952,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -75590,6 +79989,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -75614,6 +80014,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -75688,6 +80089,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -75724,6 +80126,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -75748,6 +80151,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -75890,6 +80294,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -75926,6 +80331,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -75950,6 +80356,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -76069,6 +80476,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -76105,6 +80513,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -76129,6 +80538,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -76203,6 +80613,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -76239,6 +80650,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -76263,6 +80675,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -76455,7 +80868,7 @@ "type": "string" }, "targetLink": { - "description": "[Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from.", + "description": "[Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the disk that the snapshot was created from.", "type": "string" }, "user": { @@ -76490,6 +80903,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -76526,6 +80940,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -76550,6 +80965,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -76655,6 +81071,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -76691,6 +81108,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -76715,6 +81133,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -76807,6 +81226,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -76843,6 +81263,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -76867,6 +81288,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -76941,6 +81363,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -76977,6 +81400,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -77001,6 +81425,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -77333,6 +81758,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -77369,6 +81795,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -77393,6 +81820,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -77533,6 +81961,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -77569,6 +81998,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -77593,6 +82023,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -77736,6 +82167,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -77772,6 +82204,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -77796,6 +82229,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -77862,15 +82296,15 @@ }, "defaultRouteAction": { "$ref": "HttpRouteAction", - "description": "defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. If defaultRouteAction is specified, don't set defaultUrlRedirect. If defaultRouteAction.weightedBackendServices is specified, don't set defaultService. URL maps for classic Application Load Balancers only support the urlRewrite action within a path matcher's defaultRouteAction." + "description": "defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path matcher's defaultRouteAction." }, "defaultService": { - "description": "The full or partial URL to the BackendService resource. This URL is used if none of the pathRules or routeRules defined by this PathMatcher are matched. For example, the following are all valid URLs to a BackendService resource: - https://www.googleapis.com/compute/v1/projects/project /global/backendServices/backendService - compute/v1/projects/project/global/backendServices/backendService - global/backendServices/backendService If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if defaultRouteAction specifies any weightedBackendServices, defaultService must not be specified. If defaultService is specified, then set either defaultUrlRedirect or defaultRouteAction.weightedBackendService. Don't set both. Authorization requires one or more of the following Google IAM permissions on the specified resource default_service: - compute.backendBuckets.use - compute.backendServices.use ", + "description": "The full or partial URL to the BackendService resource. This URL is used if none of the pathRules or routeRules defined by this PathMatcher are matched. For example, the following are all valid URLs to a BackendService resource: - https://www.googleapis.com/compute/v1/projects/project /global/backendServices/backendService - compute/v1/projects/project/global/backendServices/backendService - global/backendServices/backendService If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. Authorization requires one or more of the following Google IAM permissions on the specified resource default_service: - compute.backendBuckets.use - compute.backendServices.use ", "type": "string" }, "defaultUrlRedirect": { "$ref": "HttpRedirectAction", - "description": "When none of the specified pathRules or routeRules match, the request is redirected to a URL specified by defaultUrlRedirect. If defaultUrlRedirect is specified, then set either defaultService or defaultRouteAction. Don't set both. Not supported when the URL map is bound to a target gRPC proxy." + "description": "When none of the specified pathRules or routeRules match, the request is redirected to a URL specified by defaultUrlRedirect. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy." }, "description": { "description": "An optional description of this resource. Provide this property when you create the resource.", @@ -77918,15 +82352,15 @@ }, "routeAction": { "$ref": "HttpRouteAction", - "description": "In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction or urlRedirect must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path rule's routeAction." + "description": "In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path rule's routeAction." }, "service": { - "description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set.", + "description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set.", "type": "string" }, "urlRedirect": { "$ref": "HttpRedirectAction", - "description": "When a path pattern is matched, the request is redirected to a URL specified by urlRedirect. If urlRedirect is specified, service or routeAction must not be set. Not supported when the URL map is bound to a target gRPC proxy." + "description": "When a path pattern is matched, the request is redirected to a URL specified by urlRedirect. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy." } }, "type": "object" @@ -77951,7 +82385,7 @@ "type": "string" }, "name": { - "description": "The name of a per-instance configuration and its corresponding instance. Serves as a merge key during UpdatePerInstanceConfigs operations, that is, if a per-instance configuration with the same name exists then it will be updated, otherwise a new one will be created for the VM instance with the same name. An attempt to create a per-instance configconfiguration for a VM instance that either doesn't exist or is not part of the group will result in an error.", + "description": "The name of a per-instance configuration and its corresponding instance. Serves as a merge key during UpdatePerInstanceConfigs operations, that is, if a per-instance configuration with the same name exists then it will be updated, otherwise a new one will be created for the VM instance with the same name. An attempt to create a per-instance configuration for a VM instance that either doesn't exist or is not part of the group will result in an error.", "type": "string" }, "preservedState": { @@ -78092,13 +82526,6 @@ "format": "byte", "type": "string" }, - "rules": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "$ref": "Rule" - }, - "type": "array" - }, "version": { "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", @@ -78352,7 +82779,7 @@ "type": "string" }, "enabledFeatures": { - "description": "Restricted features enabled for use on this project.", + "description": "An optional list of restricted features enabled for use on this project.", "items": { "type": "string" }, @@ -78399,7 +82826,7 @@ }, "usageExportLocation": { "$ref": "UsageExportLocation", - "description": "The naming prefix for daily usage reports and the Google Cloud Storage bucket where they are stored." + "description": "An optional naming prefix for daily usage reports and the Google Cloud Storage bucket where they are stored." }, "vmDnsSetting": { "description": "[Output Only] Default internal DNS setting used by VMs running in this project.", @@ -78735,6 +83162,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -78771,6 +83199,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -78795,6 +83224,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -78915,11 +83345,13 @@ "description": "The public delegated prefix mode for IPv6 only.", "enum": [ "DELEGATION", - "EXTERNAL_IPV6_FORWARDING_RULE_CREATION" + "EXTERNAL_IPV6_FORWARDING_RULE_CREATION", + "EXTERNAL_IPV6_SUBNETWORK_CREATION" ], "enumDescriptions": [ "The public delegated prefix is used for further sub-delegation only. Such prefixes cannot set allocatablePrefixLength.", - "The public delegated prefix is used for creating forwarding rules only. Such prefixes cannot set publicDelegatedSubPrefixes." + "The public delegated prefix is used for creating forwarding rules only. Such prefixes cannot set publicDelegatedSubPrefixes.", + "The public delegated prefix is used for creating dual-mode subnetworks only. Such prefixes cannot set publicDelegatedSubPrefixes." ], "type": "string" }, @@ -79041,6 +83473,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -79077,6 +83510,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -79101,6 +83535,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -79192,6 +83627,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -79228,6 +83664,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -79252,6 +83689,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -79318,11 +83756,13 @@ "description": "The PublicDelegatedSubPrefix mode for IPv6 only.", "enum": [ "DELEGATION", - "EXTERNAL_IPV6_FORWARDING_RULE_CREATION" + "EXTERNAL_IPV6_FORWARDING_RULE_CREATION", + "EXTERNAL_IPV6_SUBNETWORK_CREATION" ], "enumDescriptions": [ "The public delegated prefix is used for further sub-delegation only. Such prefixes cannot set allocatablePrefixLength.", - "The public delegated prefix is used for creating forwarding rules only. Such prefixes cannot set publicDelegatedSubPrefixes." + "The public delegated prefix is used for creating forwarding rules only. Such prefixes cannot set publicDelegatedSubPrefixes.", + "The public delegated prefix is used for creating dual-mode subnetworks only. Such prefixes cannot set publicDelegatedSubPrefixes." ], "type": "string" }, @@ -79386,6 +83826,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -79422,6 +83863,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -79446,6 +83888,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -79622,6 +84065,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -79658,6 +84102,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -79682,6 +84127,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -79852,6 +84298,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -79888,6 +84335,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -79912,6 +84360,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -79986,6 +84435,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -80022,6 +84472,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -80046,6 +84497,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -80616,6 +85068,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -80652,6 +85105,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -80676,6 +85130,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -80820,6 +85275,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -80856,6 +85312,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -80880,6 +85337,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -80984,6 +85442,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -81020,6 +85479,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -81044,6 +85504,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -81183,6 +85644,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -81219,6 +85681,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -81243,6 +85706,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -81349,6 +85813,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -81385,6 +85850,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -81409,6 +85875,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -81524,6 +85991,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -81560,6 +86028,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -81584,6 +86053,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -81803,6 +86273,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -81839,6 +86310,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -81863,6 +86335,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -82099,6 +86572,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -82135,6 +86609,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -82159,6 +86634,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -82292,6 +86768,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -82328,6 +86805,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -82352,6 +86830,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -82419,7 +86898,7 @@ "id": "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse", "properties": { "firewallPolicys": { - "description": "Effective firewalls from firewall policy.", + "description": "[Output only] Effective firewalls from firewall policy. It applies to Regional Network Firewall Policies in the specified region, Global Network Firewall Policies and Hierachial Firewall Policies which are associated with the network.", "items": { "$ref": "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy" }, @@ -82446,13 +86925,20 @@ "description": "[Output Only] The name of the firewall policy.", "type": "string" }, + "packetMirroringRules": { + "description": "[Output only] The packet mirroring rules that apply to the network.", + "items": { + "$ref": "FirewallPolicyRule" + }, + "type": "array" + }, "priority": { "description": "[Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY.", "format": "int32", "type": "integer" }, "rules": { - "description": "The rules that apply to the network.", + "description": "[Output only] The rules that apply to the network.", "items": { "$ref": "FirewallPolicyRule" }, @@ -82544,6 +87030,46 @@ }, "type": "object" }, + "RegionWaitForReplicationCatchUpRequest": { + "id": "RegionWaitForReplicationCatchUpRequest", + "properties": { + "maxWaitDuration": { + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "ReplicationDetails": { + "id": "ReplicationDetails", + "properties": { + "lastReplicationTime": { + "description": "The last sync time of the device pair.", + "format": "google-datetime", + "type": "string" + }, + "secondsSinceLastReplication": { + "description": "Replication lag in seconds. This will only be populated if device is in replicating state. Note that the value is calculated sometime during request processing and at the instant the client receives the response, the current replication_lag may have changed.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ReplicationDiskPair": { + "id": "ReplicationDiskPair", + "properties": { + "primaryDisk": { + "description": "URL of the primary disk.", + "type": "string" + }, + "secondaryDisk": { + "description": "URL of the secondary disk.", + "type": "string" + } + }, + "type": "object" + }, "RequestMirrorPolicy": { "description": "A policy that specifies how requests intended for the route's backends are shadowed to a separate mirrored backend service. The load balancer doesn't wait for responses from the shadow service. Before sending traffic to the shadow service, the host or authority header is suffixed with -shadow.", "id": "RequestMirrorPolicy", @@ -82592,9 +87118,9 @@ "FLEXIBLE" ], "enumDescriptions": [ - "Number of deployment blocks, size, and topology is fixed during creation and does not change over time. Deployment will be expressed in terms of blocks.", - "Deployment type is unspecified.", - "Distribution of capacity in blocks is not static and can change over time. This is expected to have more obtainability over DENSE deployment. Deployment will not be expressed in terms of blocks." + "The reserved capacity is made up of densely deployed reservation blocks.", + "", + "The reserved capacity is made up of highly flexible, logical reservation blocks." ], "type": "string" }, @@ -82607,20 +87133,6 @@ "format": "uint64", "type": "string" }, - "instanceTerminationAction": { - "description": "Instance termination action that will be invoked when the reservation is deleted.", - "enum": [ - "DELETE", - "INSTANCE_TERMINATION_ACTION_UNSPECIFIED", - "STOP" - ], - "enumDescriptions": [ - "Delete the VM.", - "Default value. This value is unused.", - "Stop the VM without storing in-memory content. default action." - ], - "type": "string" - }, "kind": { "default": "compute#reservation", "description": "[Output Only] Type of the resource. Always compute#reservations for reservations.", @@ -82676,7 +87188,7 @@ "type": "boolean" }, "status": { - "description": "[Output Only] The status of the reservation.", + "description": "[Output Only] The status of the reservation. - CREATING: Reservation resources are being allocated. - READY: Reservation resources have been allocated, and the reservation is ready for use. - DELETING: Reservation deletion is in progress. - UPDATING: Reservation update is in progress. ", "enum": [ "CREATING", "DELETING", @@ -82685,11 +87197,11 @@ "UPDATING" ], "enumDescriptions": [ - "Resources are being allocated for the reservation.", - "Reservation is currently being deleted.", + "Reservation resources are being allocated.", + "Reservation deletion is in progress.", "", - "Reservation has allocated all its resources.", - "Reservation is currently being resized." + "Reservation resources have been allocated, and the reservation is ready for use.", + "Reservation update is in progress." ], "type": "string" }, @@ -82801,6 +87313,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -82837,6 +87350,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -82861,6 +87375,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -82903,7 +87418,7 @@ "id": "ReservationBlock", "properties": { "count": { - "description": "[Output Only] Specifies the number of resources that are allocated in this block. It indicates the maximum number of VMs that a user can run on this particular block.", + "description": "[Output Only] The number of resources that are allocated in this reservation block.", "format": "int32", "type": "integer" }, @@ -82917,15 +87432,17 @@ "type": "string" }, "inUseCount": { - "description": "[Output Only] Indicates how many instances are in use on this block.", + "description": "[Output Only] The number of instances that are currently in use on this reservation block.", "format": "int32", "type": "integer" }, "kind": { + "default": "compute#reservationBlock", "description": "[Output Only] Type of the resource. Always compute#reservationBlock for reservation blocks.", "type": "string" }, "locationPrefix": { + "deprecated": true, "description": "[Output Only] Obfuscated location where this reservation block physically resides in format /CCCC/GGGG. This matches the tripod specified in the VM topology information. Example: /USEAB1/0101/ is the location prefix in /USEAB1/0101/031/003", "type": "string" }, @@ -82933,6 +87450,14 @@ "description": "[Output Only] The name of this reservation block generated by Google Compute Engine. The name must be 1-63 characters long, and comply with RFC1035 @pattern [a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "physicalTopology": { + "$ref": "ReservationBlockPhysicalTopology", + "description": "[Output Only] The physical topology of the reservation block." + }, + "reservationMaintenance": { + "$ref": "GroupMaintenanceInfo", + "description": "[Output Only] Maintenance information for this reservation block." + }, "selfLink": { "description": "[Output Only] Server-defined fully-qualified URL for this resource.", "type": "string" @@ -82964,6 +87489,20 @@ }, "type": "object" }, + "ReservationBlockPhysicalTopology": { + "id": "ReservationBlockPhysicalTopology", + "properties": { + "block": { + "description": "The hash of the capacity block within the cluster.", + "type": "string" + }, + "cluster": { + "description": "The cluster name of the reservation block.", + "type": "string" + } + }, + "type": "object" + }, "ReservationBlocksGetResponse": { "id": "ReservationBlocksGetResponse", "properties": { @@ -83028,6 +87567,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -83064,6 +87604,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -83088,6 +87629,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -83179,6 +87721,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -83215,6 +87758,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -83239,6 +87783,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -83276,6 +87821,50 @@ }, "type": "object" }, + "ReservationsBlocksPerformMaintenanceRequest": { + "id": "ReservationsBlocksPerformMaintenanceRequest", + "properties": { + "maintenanceScope": { + "description": "Specifies if all, running or unused hosts are in scope for this request.", + "enum": [ + "ALL", + "MAINTENANCE_SCOPE_UNSPECIFIED", + "RUNNING_VMS", + "UNUSED_CAPACITY" + ], + "enumDescriptions": [ + "Trigger maintenance for all hosts belonging to this reservation irrespective of whether VMs are running on them or not.", + "Internal only", + "Trigger maintenance only on the hosts belonging to this reservation which have VMs running on them.", + "Trigger maintenance only on the hosts belonging to this reservation which do not have any VMs running on them. This is not allowed for Standard ExR" + ], + "type": "string" + } + }, + "type": "object" + }, + "ReservationsPerformMaintenanceRequest": { + "id": "ReservationsPerformMaintenanceRequest", + "properties": { + "maintenanceScope": { + "description": "Specifies if all, running or unused hosts are in scope for this request.", + "enum": [ + "ALL", + "MAINTENANCE_SCOPE_UNSPECIFIED", + "RUNNING_VMS", + "UNUSED_CAPACITY" + ], + "enumDescriptions": [ + "Trigger maintenance for all hosts belonging to this reservation irrespective of whether VMs are running on them or not.", + "Internal only", + "Trigger maintenance only on the hosts belonging to this reservation which have VMs running on them.", + "Trigger maintenance only on the hosts belonging to this reservation which do not have any VMs running on them. This is not allowed for Standard ExR" + ], + "type": "string" + } + }, + "type": "object" + }, "ReservationsResizeRequest": { "id": "ReservationsResizeRequest", "properties": { @@ -83324,6 +87913,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -83360,6 +87950,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -83384,6 +87975,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -83502,6 +88094,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -83538,6 +88131,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -83562,6 +88156,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -83755,6 +88350,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -83791,6 +88387,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -83815,6 +88412,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -83903,6 +88501,10 @@ ], "type": "string" }, + "gpuTopology": { + "description": "Specifies the shape of the GPU slice, in slice based GPU families eg. A4X.", + "type": "string" + }, "maxDistance": { "description": "Specifies the number of max logical switches.", "format": "int32", @@ -84052,6 +88654,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -84088,6 +88691,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -84112,6 +88716,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -84386,14 +88991,25 @@ "description": "Contains output only fields. Use this sub-message for actual values set on Instance attributes as compared to the value requested by the user (intent) in their instance CRUD calls.", "id": "ResourceStatus", "properties": { + "acceleratorStatus": { + "description": "[Output Only] Accelerators status show results of GPU scans. These scans are specialized diagnostic tests designed to uncover latent manufacturing defects or other issues that could potentially lead to data corruption or impede the customer's ability to efficiently execute GPU workloads.", + "items": { + "$ref": "ResourceStatusAcceleratorStatus" + }, + "type": "array" + }, "lastInstanceTerminationDetails": { "$ref": "ResourceStatusLastInstanceTerminationDetails", "description": "[Output Only] Contains last termination details why the instance was terminated." }, "physicalHost": { - "description": "[Output Only] An opaque ID of the host on which the VM is running.", + "description": "[Output Only] The precise location of your instance within the zone's data center, including the block, sub-block, and host. The field is formatted as follows: blockId/subBlockId/hostId.", "type": "string" }, + "physicalHostTopology": { + "$ref": "ResourceStatusPhysicalHostTopology", + "description": "[Output Only] A series of fields containing the global name of the Compute Engine cluster, as well as the ID of the block, sub-block, and host on which the running instance is located." + }, "scheduling": { "$ref": "ResourceStatusScheduling" }, @@ -84406,7 +89022,7 @@ }, "shutdownDetails": { "$ref": "ResourceStatusShutdownDetails", - "description": "[Output Only] Details about stopping state of instance" + "description": "[Output Only] Details about the instance stopping state." }, "upcomingMaintenance": { "$ref": "UpcomingMaintenance" @@ -84414,6 +89030,70 @@ }, "type": "object" }, + "ResourceStatusAcceleratorStatus": { + "description": "The status of an individual accelerator resource.", + "id": "ResourceStatusAcceleratorStatus", + "properties": { + "passedScans": { + "description": "The details of scans that passed for an accelerator.", + "items": { + "$ref": "ResourceStatusAcceleratorStatusPassedScan" + }, + "type": "array" + }, + "recommendedScans": { + "description": "The details of recommended scans for an accelerator.", + "items": { + "$ref": "ResourceStatusAcceleratorStatusRecommendedScan" + }, + "type": "array" + }, + "serialNumber": { + "description": "The serial number of the accelerator.", + "type": "string" + }, + "uuid": { + "description": "The UUID of the accelerator.", + "type": "string" + } + }, + "type": "object" + }, + "ResourceStatusAcceleratorStatusPassedScan": { + "id": "ResourceStatusAcceleratorStatusPassedScan", + "properties": { + "endTime": { + "description": "The end time of the passed scan in RFC3339 text format.", + "type": "string" + }, + "name": { + "type": "string" + }, + "startTime": { + "description": "The start time of the passed scan in RFC3339 text format.", + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, + "ResourceStatusAcceleratorStatusRecommendedScan": { + "id": "ResourceStatusAcceleratorStatusRecommendedScan", + "properties": { + "estimatedDuration": { + "$ref": "Duration" + }, + "name": { + "type": "string" + }, + "version": { + "type": "string" + } + }, + "type": "object" + }, "ResourceStatusLastInstanceTerminationDetails": { "id": "ResourceStatusLastInstanceTerminationDetails", "properties": { @@ -84456,6 +89136,29 @@ }, "type": "object" }, + "ResourceStatusPhysicalHostTopology": { + "description": "Represents the physical host topology of the host on which the VM is running.", + "id": "ResourceStatusPhysicalHostTopology", + "properties": { + "block": { + "description": "[Output Only] The ID of the block in which the running instance is located. Instances within the same block experience low network latency.", + "type": "string" + }, + "cluster": { + "description": "[Output Only] The global name of the Compute Engine cluster where the running instance is located.", + "type": "string" + }, + "host": { + "description": "[Output Only] The ID of the host on which the running instance is located. Instances on the same host experience the lowest possible network latency.", + "type": "string" + }, + "subblock": { + "description": "[Output Only] The ID of the sub-block in which the running instance is located. Instances in the same sub-block experience lower network latency than instances in the same block.", + "type": "string" + } + }, + "type": "object" + }, "ResourceStatusScheduling": { "id": "ResourceStatusScheduling", "properties": { @@ -84511,12 +89214,12 @@ "type": "object" }, "ResourceStatusShutdownDetails": { - "description": "Specifies if the instance is in `SHUTTING_DOWN` state or there is a instance stopping scheduled.", + "description": "Specifies if the instance is in `PENDING_STOP` state or there is a programmed stop scheduled.", "id": "ResourceStatusShutdownDetails", "properties": { "maxDuration": { "$ref": "Duration", - "description": "Duration for graceful shutdown. Only applicable when `stop_state=SHUTTING_DOWN`." + "description": "The duration for graceful shutdown. Only applicable when `stop_state=PENDING_STOP`." }, "requestTimestamp": { "description": "Past timestamp indicating the beginning of current `stopState` in RFC3339 text format.", @@ -84526,12 +89229,10 @@ "description": "Current stopping state of the instance.", "enum": [ "PENDING_STOP", - "SHUTTING_DOWN", "STOPPING" ], "enumDescriptions": [ "The instance is gracefully shutting down.", - "Deprecating, please use PENDING_STOP. The instance is gracefully shutting down.", "The instance is stopping." ], "type": "string" @@ -84792,6 +89493,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -84828,6 +89530,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -84852,6 +89555,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -84976,6 +89680,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -85012,6 +89717,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -85036,6 +89742,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -85200,6 +89907,10 @@ }, "type": "array" }, + "nccGateway": { + "description": "URI of the ncc_gateway to which this router associated.", + "type": "string" + }, "network": { "annotations": { "required": [ @@ -85303,6 +90014,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -85339,6 +90051,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -85363,6 +90076,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -85817,6 +90531,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -85853,6 +90568,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -85877,6 +90593,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -86595,6 +91312,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -86631,6 +91349,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -86655,6 +91374,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -86756,6 +91476,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -86792,6 +91513,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -86816,6 +91538,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -86917,6 +91640,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -86953,6 +91677,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -86977,6 +91702,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -87061,6 +91787,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -87097,6 +91824,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -87121,6 +91849,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -87158,72 +91887,6 @@ }, "type": "object" }, - "Rule": { - "description": "This is deprecated and has no effect. Do not use.", - "id": "Rule", - "properties": { - "action": { - "description": "This is deprecated and has no effect. Do not use.", - "enum": [ - "ALLOW", - "ALLOW_WITH_LOG", - "DENY", - "DENY_WITH_LOG", - "LOG", - "NO_ACTION" - ], - "enumDescriptions": [ - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use." - ], - "type": "string" - }, - "conditions": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "$ref": "Condition" - }, - "type": "array" - }, - "description": { - "description": "This is deprecated and has no effect. Do not use.", - "type": "string" - }, - "ins": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "type": "string" - }, - "type": "array" - }, - "logConfigs": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "$ref": "LogConfig" - }, - "type": "array" - }, - "notIns": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "type": "string" - }, - "type": "array" - }, - "permissions": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "SSLHealthCheck": { "id": "SSLHealthCheck", "properties": { @@ -87579,15 +92242,21 @@ "provisioningModel": { "description": "Specifies the provisioning model of the instance.", "enum": [ + "RESERVATION_BOUND", "SPOT", "STANDARD" ], "enumDescriptions": [ + "Bound to the lifecycle of the reservation in which it is provisioned.", "Heavily discounted, no guaranteed runtime.", "Standard provisioning with user controlled runtime, no discounts." ], "type": "string" }, + "shutdownTimeout": { + "$ref": "Duration", + "description": "Timeout between GCE ACPI G2 Soft Off and ACPI G3 Mechanical Off during shutdown operation of VM. For Standard VMs values between 0s and 120s are allowed. For Spot and Preemptible VMs supported values are between 0s and 30s. If no value is specified for shutdownDuration, default values are 90s for Standard VMs and 30s for Spot/Preemptible VMs." + }, "terminationTime": { "description": "Specifies the timestamp, when the instance will be terminated, in RFC3339 text format. If specified, the instance termination action will be performed at the termination time.", "type": "string" @@ -87616,7 +92285,7 @@ "type": "object" }, "SchedulingGracefulShutdown": { - "description": "Configuration for gracefully shutting down the instance.", + "description": "The configuration for gracefully shutting down the instance.", "id": "SchedulingGracefulShutdown", "properties": { "enabled": { @@ -87625,7 +92294,7 @@ }, "maxDuration": { "$ref": "Duration", - "description": "Specifies time needed to gracefully shut down the instance. After that time, the instance goes to STOPPING even if graceful shutdown is not completed." + "description": "The time allotted for the instance to gracefully shut down. If the graceful shutdown isn't complete after this time, then the instance transitions to the STOPPING state." } }, "type": "object" @@ -87765,6 +92434,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -87801,6 +92471,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -87825,6 +92496,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -87908,6 +92580,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -87944,6 +92617,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -87968,6 +92642,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -88322,6 +92997,10 @@ ], "type": "string" }, + "requestBodyInspectionSize": { + "description": "The maximum request size chosen by the customer with Waf enabled. Currently only \"8KB\" and \"128KB\" are supported. Values are case insensitive.", + "type": "string" + }, "userIpRequestHeaders": { "description": "An optional list of case-insensitive request header names to use for resolving the callers client IP address.", "items": { @@ -88477,6 +93156,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -88513,6 +93193,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -88537,6 +93218,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -89057,7 +93739,7 @@ "type": "string" }, "enforceOnKey": { - "description": "Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if \"enforceOnKey\" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on \"userIpRequestHeaders\" configured with the security policy. If there is no \"userIpRequestHeaders\" configuration or an IP address cannot be resolved from it, the key type defaults to IP. ", + "description": "Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if \"enforceOnKey\" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on \"userIpRequestHeaders\" configured with the security policy. If there is no \"userIpRequestHeaders\" configuration or an IP address cannot be resolved from it, the key type defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. ", "enum": [ "ALL", "ALL_IPS", @@ -89068,6 +93750,7 @@ "REGION_CODE", "SNI", "TLS_JA3_FINGERPRINT", + "TLS_JA4_FINGERPRINT", "USER_IP", "XFF_IP" ], @@ -89082,6 +93765,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -89095,6 +93779,7 @@ "", "", "", + "", "" ], "type": "string" @@ -89137,7 +93822,7 @@ "type": "string" }, "enforceOnKeyType": { - "description": "Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if \"enforceOnKeyConfigs\" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on \"userIpRequestHeaders\" configured with the security policy. If there is no \"userIpRequestHeaders\" configuration or an IP address cannot be resolved from it, the key type defaults to IP. ", + "description": "Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if \"enforceOnKeyConfigs\" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on \"userIpRequestHeaders\" configured with the security policy. If there is no \"userIpRequestHeaders\" configuration or an IP address cannot be resolved from it, the key type defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. ", "enum": [ "ALL", "ALL_IPS", @@ -89148,6 +93833,7 @@ "REGION_CODE", "SNI", "TLS_JA3_FINGERPRINT", + "TLS_JA4_FINGERPRINT", "USER_IP", "XFF_IP" ], @@ -89162,6 +93848,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -89175,6 +93862,7 @@ "", "", "", + "", "" ], "type": "string" @@ -89604,6 +94292,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -89640,6 +94329,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -89664,6 +94354,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -89819,6 +94510,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -89855,6 +94547,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -89879,6 +94572,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -89986,6 +94680,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -90022,6 +94717,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -90046,6 +94742,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -90688,6 +95385,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -90724,6 +95422,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -90748,6 +95447,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -90840,6 +95540,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -90876,6 +95577,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -90900,6 +95602,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -91063,6 +95766,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -91099,6 +95803,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -91123,6 +95828,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -91435,6 +96141,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -91471,6 +96178,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -91495,6 +96203,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -91587,6 +96296,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -91623,6 +96333,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -91647,6 +96358,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -91795,6 +96507,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -91831,6 +96544,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -91855,6 +96569,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -91957,6 +96672,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -91993,6 +96709,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -92017,6 +96734,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -92108,6 +96826,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -92144,6 +96863,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -92168,6 +96888,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -92254,6 +96975,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -92290,6 +97012,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -92314,6 +97037,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -92471,6 +97195,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -92507,6 +97232,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -92531,6 +97257,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -92895,6 +97622,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -92931,6 +97659,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -92955,6 +97684,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -93133,6 +97863,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -93169,6 +97900,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -93193,6 +97925,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -93294,6 +98027,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -93330,6 +98064,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -93354,6 +98089,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -93624,6 +98360,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -93660,6 +98397,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -93684,6 +98422,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -93776,6 +98515,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -93812,6 +98552,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -93836,6 +98577,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -93910,6 +98652,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -93946,6 +98689,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -93970,6 +98714,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -94044,6 +98789,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -94080,6 +98826,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -94104,6 +98851,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -94234,6 +98982,10 @@ "description": "The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.64.0.0/10. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field is set at resource creation time. The range can be any range listed in the Valid ranges list. The range can be expanded after creation using expandIpCidrRange.", "type": "string" }, + "ipCollection": { + "description": "Reference to the source of IP, like a PublicDelegatedPrefix (PDP) for BYOIP. The PDP must be a sub-PDP in EXTERNAL_IPV6_SUBNETWORK_CREATION mode. Use one of the following formats to specify a sub-PDP when creating a dual stack subnetwork with external access using BYOIP: - Full resource URL, as in https://www.googleapis.com/compute/v1/projects/projectId/regions/region /publicDelegatedPrefixes/sub-pdp-name - Partial URL, as in - projects/projectId/regions/region/publicDelegatedPrefixes/ sub-pdp-name - regions/region/publicDelegatedPrefixes/sub-pdp-name ", + "type": "string" + }, "ipv6AccessType": { "description": "The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack.", "enum": [ @@ -94250,6 +99002,18 @@ "description": "[Output Only] This field is for internal use.", "type": "string" }, + "ipv6GceEndpoint": { + "description": "[Output Only] Possible endpoints of this subnetwork. It can be one of the following: - VM_ONLY: The subnetwork can be used for creating instances and IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6 ranges from a public delegated prefix and cannot be used to create NetLb. - VM_AND_FR: The subnetwork can be used for creating both VM instances and Forwarding Rules. It can also be used to reserve IPv6 addresses with both VM and FR endpoint types. Such a subnetwork gets its IPv6 range from Google IP Pool directly. ", + "enum": [ + "VM_AND_FR", + "VM_ONLY" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, "kind": { "default": "compute#subnetwork", "description": "[Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources.", @@ -94299,14 +99063,14 @@ "type": "string" }, "purpose": { - "description": "The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.", + "description": "The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.", "enum": [ "AGGREGATE", "CLOUD_EXTENSION", "CUSTOM_HARDWARE_LINK", "GLOBAL_MANAGED_PROXY", "INTERNAL_HTTPS_LOAD_BALANCER", - "MIGRATION", + "PEER_MIGRATION", "PRIVATE", "PRIVATE_NAT", "PRIVATE_RFC_1918", @@ -94319,7 +99083,7 @@ "Subnetwork used for Custom Hardware Link.", "Subnet reserved for Global Envoy-based Load Balancing.", "Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy purpose, please use REGIONAL_MANAGED_PROXY instead.", - "Subnetwork will be used for Migration (a transient state of subnetwork while migrating resources from one project to another).", + "Subnetwork will be used for Migration from one peered VPC to another. (a transient state of subnetwork while migrating resources from one project to another).", "Regular user created or automatically created subnet.", "Subnetwork used as source range for Private NAT Gateways.", "Regular user created or automatically created subnet.", @@ -94462,6 +99226,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -94498,6 +99263,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -94522,6 +99288,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -94614,6 +99381,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -94650,6 +99418,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -94674,6 +99443,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -94838,6 +99608,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -94874,6 +99645,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -94898,6 +99670,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -94969,6 +99742,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -95005,6 +99779,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -95029,6 +99804,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -95277,6 +100053,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -95313,6 +100090,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -95337,6 +100115,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -95411,6 +100190,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -95447,6 +100227,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -95471,6 +100252,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -95637,6 +100419,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -95673,6 +100456,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -95697,6 +100481,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -95789,6 +100574,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -95825,6 +100611,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -95849,6 +100636,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -95923,6 +100711,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -95959,6 +100748,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -95983,6 +100773,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -96064,7 +100855,7 @@ "type": "object" }, "TargetHttpsProxy": { - "description": "Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/alpha/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/alpha/regionTargetHttpsProxies) A target HTTPS proxy is a component of GCP HTTPS load balancers. * targetHttpProxies are used by global external Application Load Balancers, classic Application Load Balancers, cross-region internal Application Load Balancers, and Traffic Director. * regionTargetHttpProxies are used by regional internal Application Load Balancers and regional external Application Load Balancers. Forwarding rules reference a target HTTPS proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts.", + "description": "Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/alpha/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/alpha/regionTargetHttpsProxies) A target HTTPS proxy is a component of Google Cloud HTTPS load balancers. * targetHttpProxies are used by global external Application Load Balancers, classic Application Load Balancers, cross-region internal Application Load Balancers, and Traffic Director. * regionTargetHttpProxies are used by regional internal Application Load Balancers and regional external Application Load Balancers. Forwarding rules reference a target HTTPS proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts.", "id": "TargetHttpsProxy", "properties": { "authentication": { @@ -96160,7 +100951,7 @@ "type": "string" }, "sslCertificates": { - "description": "URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API. Certificate Manager Certificates are not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project}/locations/{ location}/certificates/{resourceName}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project }/locations/{location}/certificates/{resourceName}. ", + "description": "URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API namespace. Using Certificate Manager Certificates in this field is not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates or up to 100 Certificate Manager Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project}/locations/{ location}/certificates/{resourceName}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project }/locations/{location}/certificates/{resourceName}. ", "items": { "type": "string" }, @@ -96175,12 +100966,14 @@ "enum": [ "DISABLED", "PERMISSIVE", - "STRICT" + "STRICT", + "UNRESTRICTED" ], "enumDescriptions": [ "TLS 1.3 Early Data is not advertised, and any (invalid) attempts to send Early Data will be rejected by closing the connection.", "This enables TLS 1.3 0-RTT, and only allows Early Data to be included on requests with safe HTTP methods (GET, HEAD, OPTIONS, TRACE). This mode does not enforce any other limitations for requests with Early Data. The application owner should validate that Early Data is acceptable for a given request path.", - "This enables TLS 1.3 0-RTT, and only allows Early Data to be included on requests with safe HTTP methods (GET, HEAD, OPTIONS, TRACE) without query parameters. Requests that send Early Data with non-idempotent HTTP methods or with query parameters will be rejected with a HTTP 425." + "This enables TLS 1.3 0-RTT, and only allows Early Data to be included on requests with safe HTTP methods (GET, HEAD, OPTIONS, TRACE) without query parameters. Requests that send Early Data with non-idempotent HTTP methods or with query parameters will be rejected with a HTTP 425.", + "This enables TLS 1.3 Early Data for requests with any HTTP method including non-idempotent methods list POST. This mode does not enforce any other limitations. This may be valuable for gRPC use cases. However, we do not recommend this method unless you have evaluated your security stance and mitigated the risk of replay attacks using other mechanisms." ], "type": "string" }, @@ -96253,6 +101046,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -96289,6 +101083,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -96313,6 +101108,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -96405,6 +101201,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -96441,6 +101238,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -96465,6 +101263,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -96628,6 +101427,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -96664,6 +101464,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -96688,6 +101489,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -96780,6 +101582,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -96816,6 +101619,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -96840,6 +101644,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -96914,6 +101719,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -96950,6 +101756,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -96974,6 +101781,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -97168,6 +101976,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -97204,6 +102013,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -97228,6 +102038,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -97337,6 +102148,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -97373,6 +102185,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -97397,6 +102210,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -97523,6 +102337,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -97559,6 +102374,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -97583,6 +102399,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -97800,6 +102617,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -97836,6 +102654,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -97860,6 +102679,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -97934,6 +102754,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -97970,6 +102791,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -97994,6 +102816,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -98179,6 +103002,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -98215,6 +103039,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -98239,6 +103064,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -98331,6 +103157,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -98367,6 +103194,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -98391,6 +103219,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -98584,6 +103413,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -98620,6 +103450,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -98644,6 +103475,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -98736,6 +103568,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -98772,6 +103605,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -98796,6 +103630,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -98870,6 +103705,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -98906,6 +103742,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -98930,6 +103767,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -99241,7 +104079,7 @@ "type": "object" }, "UrlMap": { - "description": "Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/alpha/urlMaps) * [Regional](/compute/docs/reference/rest/alpha/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by global external Application Load Balancers, classic Application Load Balancers, and cross-region internal Application Load Balancers. * regionUrlMaps are used by internal Application Load Balancers, regional external Application Load Balancers and regional internal Application Load Balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts.", + "description": "Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/alpha/urlMaps) * [Regional](/compute/docs/reference/rest/alpha/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by global external Application Load Balancers, classic Application Load Balancers, and cross-region internal Application Load Balancers. * regionUrlMaps are used by internal Application Load Balancers, regional external Application Load Balancers and regional internal Application Load Balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL, EXTERNAL_MANAGED, or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts.", "id": "UrlMap", "properties": { "creationTimestamp": { @@ -99254,15 +104092,15 @@ }, "defaultRouteAction": { "$ref": "HttpRouteAction", - "description": "defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." + "description": "defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." }, "defaultService": { - "description": "The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any defaultRouteAction.weightedBackendServices. Conversely, if defaultRouteAction specifies any defaultRouteAction.weightedBackendServices, defaultService must not be specified. If defaultService is specified, then set either defaultUrlRedirect , or defaultRouteAction.weightedBackendService Don't set both. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.", + "description": "The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.", "type": "string" }, "defaultUrlRedirect": { "$ref": "HttpRedirectAction", - "description": "When none of the specified hostRules match, the request is redirected to a URL specified by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or defaultRouteAction must not be set. Not supported when the URL map is bound to a target gRPC proxy." + "description": "When none of the specified hostRules match, the request is redirected to a URL specified by defaultUrlRedirect. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy." }, "description": { "description": "An optional description of this resource. Provide this property when you create the resource.", @@ -99379,6 +104217,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -99415,6 +104254,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -99439,6 +104279,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -99637,6 +104478,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -99673,6 +104515,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -99697,6 +104540,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -99771,6 +104615,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -99807,6 +104652,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -99831,6 +104677,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -99956,14 +104803,14 @@ "type": "string" }, "purpose": { - "description": "The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.", + "description": "The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.", "enum": [ "AGGREGATE", "CLOUD_EXTENSION", "CUSTOM_HARDWARE_LINK", "GLOBAL_MANAGED_PROXY", "INTERNAL_HTTPS_LOAD_BALANCER", - "MIGRATION", + "PEER_MIGRATION", "PRIVATE", "PRIVATE_NAT", "PRIVATE_RFC_1918", @@ -99976,7 +104823,7 @@ "Subnetwork used for Custom Hardware Link.", "Subnet reserved for Global Envoy-based Load Balancing.", "Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy purpose, please use REGIONAL_MANAGED_PROXY instead.", - "Subnetwork will be used for Migration (a transient state of subnetwork while migrating resources from one project to another).", + "Subnetwork will be used for Migration from one peered VPC to another. (a transient state of subnetwork while migrating resources from one project to another).", "Regular user created or automatically created subnet.", "Subnetwork used as source range for Private NAT Gateways.", "Regular user created or automatically created subnet.", @@ -100063,7 +104910,7 @@ "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. In special cases listUsable may return 0 subnetworks and nextPageToken which still should be used to get the next page of results.", "type": "string" }, - "scoped_warnings": { + "scopedWarnings": { "description": "[Output Only] Informational warning messages for failures encountered from scopes.", "items": { "$ref": "SubnetworksScopedWarning" @@ -100108,6 +104955,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -100144,6 +104992,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -100168,6 +105017,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -100374,6 +105224,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -100410,6 +105261,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -100434,6 +105286,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -100630,6 +105483,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -100666,6 +105520,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -100690,6 +105545,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -100782,6 +105638,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -100818,6 +105675,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -100842,6 +105700,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -101038,6 +105897,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -101074,6 +105934,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -101098,6 +105959,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -101351,6 +106213,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -101387,6 +106250,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -101411,6 +106275,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -101503,6 +106368,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -101539,6 +106405,144 @@ false, false, false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "VpnTunnelsScopedList": { + "id": "VpnTunnelsScopedList", + "properties": { + "vpnTunnels": { + "description": "A list of VPN tunnels contained in this scope.", + "items": { + "$ref": "VpnTunnel" + }, + "type": "array" + }, + "warning": { + "description": "Informational warning which replaces the list of addresses when the list is empty.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, false ], "enumDescriptions": [ @@ -101563,6 +106567,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -101600,18 +106605,266 @@ }, "type": "object" }, - "VpnTunnelsScopedList": { - "id": "VpnTunnelsScopedList", + "WafExpressionSet": { + "id": "WafExpressionSet", "properties": { - "vpnTunnels": { - "description": "A list of VPN tunnels contained in this scope.", + "aliases": { + "description": "A list of alternate IDs. The format should be: - E.g. XSS-stable Generic suffix like \"stable\" is particularly useful if a policy likes to avail newer set of expressions without having to change the policy. A given alias name can't be used for more than one entity set.", "items": { - "$ref": "VpnTunnel" + "type": "string" + }, + "type": "array" + }, + "expressions": { + "description": "List of available expressions.", + "items": { + "$ref": "WafExpressionSetExpression" + }, + "type": "array" + }, + "id": { + "description": "Google specified expression set ID. The format should be: - E.g. XSS-20170329 required", + "type": "string" + } + }, + "type": "object" + }, + "WafExpressionSetExpression": { + "id": "WafExpressionSetExpression", + "properties": { + "id": { + "description": "Expression ID should uniquely identify the origin of the expression. E.g. owasp-crs-v020901-id973337 identifies Owasp core rule set version 2.9.1 rule id 973337. The ID could be used to determine the individual attack definition that has been detected. It could also be used to exclude it from the policy in case of false positive. required", + "type": "string" + }, + "sensitivity": { + "description": "The sensitivity value associated with the WAF rule ID. This corresponds to the ModSecurity paranoia level, ranging from 1 to 4. 0 is reserved for opt-in only rules.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "WaitForReplicationCatchUpRequest": { + "id": "WaitForReplicationCatchUpRequest", + "properties": { + "maxWaitDuration": { + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "WeightedBackendService": { + "description": "In contrast to a single BackendService in HttpRouteAction to which all matching traffic is directed to, WeightedBackendService allows traffic to be split across multiple backend services. The volume of traffic for each backend service is proportional to the weight specified in each WeightedBackendService", + "id": "WeightedBackendService", + "properties": { + "backendService": { + "description": "The full or partial URL to the default BackendService resource. Before forwarding the request to backendService, the load balancer applies any relevant headerActions specified as part of this backendServiceWeight.", + "type": "string" + }, + "headerAction": { + "$ref": "HttpHeaderAction", + "description": "Specifies changes to request and response headers that need to take effect for the selected backendService. headerAction specified here take effect before headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap. headerAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true." + }, + "weight": { + "description": "Specifies the fraction of traffic sent to a backend service, computed as weight / (sum of all weightedBackendService weights in routeAction) . The selection of a backend service is determined only for new traffic. Once a user's request has been directed to a backend service, subsequent requests are sent to the same backend service as determined by the backend service's session affinity policy. Don't configure session affinity if you're using weighted traffic splitting. If you do, the weighted traffic splitting configuration takes precedence. The value must be from 0 to 1000.", + "format": "uint32", + "type": "integer" + } + }, + "type": "object" + }, + "Wire": { + "description": "A pseudowire that connects two Interconnect connections.", + "id": "Wire", + "properties": { + "adminEnabled": { + "description": "[Output Only] Indicates whether the wire is enabled. When false, the wire is disabled. When true and when the wire group of the wire is also enabled, the wire is enabled. Defaults to true.", + "type": "boolean" + }, + "endpoints": { + "description": "Wire endpoints are specific Interconnect connections.", + "items": { + "$ref": "WireEndpoint" + }, + "type": "array" + }, + "label": { + "description": "[Output Only] A label that identifies the wire. The format of this label combines the existing labels of the wire group endpoints and Interconnect connections used by this wire in alphabetical order as follows: `ENDPOINT_A+CONNECTION_A1,ENDPOINT_B+CONNECTION_B1`, where: - ENDPOINT_A and ENDPOINT_B: are the labels that you entered as map keys when you specified the wire group endpoint objects. - CONNECTION_A1 and CONNECTION_B1: are the labels that you entered as map keys when you specified the wire group Interconnect objects. ", + "type": "string" + }, + "wireProperties": { + "$ref": "WireProperties", + "description": "[Output Only] Properties of the wire." + } + }, + "type": "object" + }, + "WireEndpoint": { + "description": "Wire endpoints are specific Interconnect connections.", + "id": "WireEndpoint", + "properties": { + "interconnect": { + "type": "string" + }, + "vlanTag": { + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "WireGroup": { + "description": "A resource that represents a group of redundant wires.", + "id": "WireGroup", + "properties": { + "adminEnabled": { + "description": "Indicates whether the wires in the wire group are enabled. When false, the wires in the wire group are disabled. When true and when there is simultaneously no wire-specific override of `adminEnabled` to false, a given wire is enabled. Defaults to true.", + "type": "boolean" + }, + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "An optional description of the wire group.", + "type": "string" + }, + "endpoints": { + "additionalProperties": { + "$ref": "WireGroupEndpoint" + }, + "description": "A map that contains the logical endpoints of the wire group. Specify key-value pairs for the map as follows: - Key: an RFC1035 user-specified label. - Value: an Endpoint object. ", + "type": "object" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", + "format": "uint64", + "type": "string" + }, + "kind": { + "default": "compute#wireGroup", + "description": "[Output Only] Type of the resource. Always compute#wireGroups for wire groups.", + "type": "string" + }, + "name": { + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + }, + "selfLinkWithId": { + "type": "string" + }, + "serviceLevel": { + "$ref": "WireGroupServiceLevel", + "description": "Service level details determined for the wire group configuration." + }, + "topology": { + "$ref": "WireGroupTopology", + "description": "Topology details for the wire group configuration." + }, + "wireGroupProperties": { + "$ref": "WireGroupProperties", + "description": "Properties of the wire group." + }, + "wireInputs": { + "additionalProperties": { + "$ref": "WireGroupWireInputs" + }, + "description": "A map that contains optional settings for individual wires. Specify key-value pairs for the map as follows: - Key: the label of an existing wire. To view a wire label and its format, see the wires[].label field. - Value: a WireInputs object. ", + "type": "object" + }, + "wireProperties": { + "$ref": "WireProperties", + "description": "Properties for all wires in the wire group." + }, + "wires": { + "description": "The single/redundant wire(s) managed by the wire group.", + "items": { + "$ref": "Wire" + }, + "type": "array" + } + }, + "type": "object" + }, + "WireGroupEndpoint": { + "description": "A logical endpoint for the wire group. An endpoint represents a metro that contains redundant Interconnect connections. A wire group is created between two endpoints.", + "id": "WireGroupEndpoint", + "properties": { + "interconnects": { + "additionalProperties": { + "$ref": "WireGroupEndpointInterconnect" + }, + "description": "A map that contains the redundant Interconnect connections. Specify key-value pairs for the map as follows: - Key: an RFC1035 user-specified label. - Value: an Interconnect object. ", + "type": "object" + } + }, + "type": "object" + }, + "WireGroupEndpointInterconnect": { + "description": "The redundant Interconnect connections for this endpoint.", + "id": "WireGroupEndpointInterconnect", + "properties": { + "interconnect": { + "description": "An Interconnect connection. You can specify the connection as a partial or full URL. If the connection is in a different project from the cross-site network, use a format that specifies the project. See the following examples of partial and full URLs: global/interconnects/NAME projects/PROJECT_ID/global/interconnects/NAME - https://compute.googleapis.com/compute/projects/PROJECT_ID /global/interconnects/NAME ", + "type": "string" + }, + "vlanTags": { + "description": "To configure the wire group for VLAN mode, enter a VLAN tag, which is a number from `2` to `4093`. You can autoallocate a tag by entering `0`. To configure the wire group for port mode, enter `-1`. Review the following guidelines: - A VLAN tag must be unique for an Interconnect connection across all attachments and wire groups. - Both endpoints of a wire must use the same VLAN tag value. - Single wire and redundant type wire groups must have only one VLAN tag. - Box and cross type wire groups must have two VLAN tags. The first is for the same-zone pseudowire, and the second is for the cross-zone pseudowire. - Port mode pseudowires must configure a value of `-1` for both endpoints. ", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + } + }, + "type": "object" + }, + "WireGroupList": { + "description": "Response for the list request.", + "id": "WireGroupList", + "properties": { + "etag": { + "type": "string" + }, + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of wire group resources.", + "items": { + "$ref": "WireGroup" + }, + "type": "array" + }, + "kind": { + "default": "compute#wireGroup", + "description": "[Output Only] Type of the resource. Always compute#wireGroups for wire groups.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", + "items": { + "type": "string" }, "type": "array" }, "warning": { - "description": "Informational warning which replaces the list of addresses when the list is empty.", + "description": "[Output Only] Informational warning message.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", @@ -101637,6 +106890,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -101673,6 +106927,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -101697,6 +106952,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -101734,61 +106990,143 @@ }, "type": "object" }, - "WafExpressionSet": { - "id": "WafExpressionSet", + "WireGroupProperties": { + "description": "The properties of a wire group. These properties determine how a group of redundant wires are created and managed.", + "id": "WireGroupProperties", "properties": { - "aliases": { - "description": "A list of alternate IDs. The format should be: - E.g. XSS-stable Generic suffix like \"stable\" is particularly useful if a policy likes to avail newer set of expressions without having to change the policy. A given alias name can't be used for more than one entity set.", - "items": { - "type": "string" - }, - "type": "array" - }, - "expressions": { - "description": "List of available expressions.", + "type": { + "description": "The type of the wire group, one of the following: - WIRE: a single pseudowire over two Interconnect connections with no redundancy. - REDUNDANT: two pseudowires over four Interconnect connections, with two connections in one metro and two connections in another metro. Each redundant pair of Interconnect connections spans both edge availability domains of the metro. Each pseudowire connects Interconnect connections in matching edge availability domains of the two metros. - BOX_AND_CROSS: four pseudowires over four Interconnect connections, with two connections in one metro and two connections in another metro. Each redundant pair of Interconnect connections spans both edge availability domains of the metro. Two pseudowires connect Interconnect connections in matching edge availability domains of the two metros. Two additional pseudowires connect the non-matching edge availability domains of the two metros. ", + "enum": [ + "BOX_AND_CROSS", + "REDUNDANT", + "WIRE" + ], + "enumDescriptions": [ + "Four pseudowires over four Interconnect connections, with two connections in one metro and two connections in another metro. Each redundant pair of Interconnect connections spans both edge availability domains of the metro. Two pseudowires connect Interconnect connections in matching edge availability domains of the two metros. Two additional pseudowires connect the non-matching edge availability domains of the two metros.", + "Two pseudowires over four Interconnect connections, with two connections in one metro and two connections in another metro. Each redundant pair of Interconnect connections spans both edge availability domains of the metro. Each pseudowire connects Interconnect connections in matching edge availability domains of the two metros.", + "A single pseudowire over two Interconnect connections with no redundancy." + ], + "type": "string" + } + }, + "type": "object" + }, + "WireGroupServiceLevel": { + "description": "Service level details determined for the wire group configuration.", + "id": "WireGroupServiceLevel", + "properties": { + "availabilityClass": { + "description": "[Output Only] The availability SLA that the wire group qualifies for. One of the following: `NO_AVAILABILITY_SLA`, `AVAILABILITY_99`, `AVAILABILITY_999`, or `AVAILABILITY_9995`.", + "enum": [ + "AVAILABILITY_99", + "AVAILABILITY_999", + "AVAILABILITY_9995", + "NO_AVAILABILITY_SLA" + ], + "enumDescriptions": [ + "99% availability", + "99.9% availability", + "99.95% availability", + "No SLA" + ], + "type": "string" + } + }, + "type": "object" + }, + "WireGroupTopology": { + "description": "Topology details for the wire group.", + "id": "WireGroupTopology", + "properties": { + "endpoints": { + "description": "Topology details for all endpoints in the wire group.", "items": { - "$ref": "WafExpressionSetExpression" + "$ref": "WireGroupTopologyEndpoint" }, "type": "array" + } + }, + "type": "object" + }, + "WireGroupTopologyEndpoint": { + "description": "Topology details for a single wire group endpoint.", + "id": "WireGroupTopologyEndpoint", + "properties": { + "city": { + "description": "The InterconnectLocation.city (metropolitan area designator) that all interconnects are located in.", + "type": "string" }, - "id": { - "description": "Google specified expression set ID. The format should be: - E.g. XSS-20170329 required", + "label": { + "description": "Endpoint label from the wire group.", "type": "string" } }, "type": "object" }, - "WafExpressionSetExpression": { - "id": "WafExpressionSetExpression", + "WireGroupWireInputs": { + "description": "Optional settings for individual wires. Allows wire-level control that can be useful for migration purposes. If you use this field, you opt-out of the SLA for the wire group.", + "id": "WireGroupWireInputs", "properties": { - "id": { - "description": "Expression ID should uniquely identify the origin of the expression. E.g. owasp-crs-v020901-id973337 identifies Owasp core rule set version 2.9.1 rule id 973337. The ID could be used to determine the individual attack definition that has been detected. It could also be used to exclude it from the policy in case of false positive. required", - "type": "string" + "adminEnabled": { + "description": "Indicates whether the wire is enabled. When false, the wire is disabled. When true and when the wire group of the wire is also enabled, the wire is enabled. Defaults to true.", + "type": "boolean" }, - "sensitivity": { - "description": "The sensitivity value associated with the WAF rule ID. This corresponds to the ModSecurity paranoia level, ranging from 1 to 4. 0 is reserved for opt-in only rules.", - "format": "int32", - "type": "integer" + "wirePropertyOverrides": { + "$ref": "WireProperties", + "description": "The overridden properties for the wire. Any properties that are not overridden are omitted from the object. Review the following guidelines: - If you apply wire overrides to a wire and its wire group bandwidth configuration is set to `SHARED_WITH_WIRE_GROUP`, the `meteredBandwidth` and `unmeteredBandwidth` properties must not differ from the wire group. - Overrides generate a `configurationNotice`. Ensure that differences in wire configuration are temporary. An example use case for wire overrides is slowly rolling out configuration changes to individual wires in a wire group. " } }, "type": "object" }, - "WeightedBackendService": { - "description": "In contrast to a single BackendService in HttpRouteAction to which all matching traffic is directed to, WeightedBackendService allows traffic to be split across multiple backend services. The volume of traffic for each backend service is proportional to the weight specified in each WeightedBackendService", - "id": "WeightedBackendService", + "WireProperties": { + "description": "The properties of a wire.", + "id": "WireProperties", "properties": { - "backendService": { - "description": "The full or partial URL to the default BackendService resource. Before forwarding the request to backendService, the load balancer applies any relevant headerActions specified as part of this backendServiceWeight.", + "bandwidthAllocation": { + "description": "The configuration of the bandwidth allocation, one of the following: - ALLOCATE_PER_WIRE: configures a separate unmetered bandwidth allocation (and associated charges) for each wire in the group. - SHARED_WITH_WIRE_GROUP: configures one unmetered bandwidth allocation for the wire group. The unmetered bandwidth is divided equally across each wire in the group, but dynamic throttling reallocates unused unmetered bandwidth from unused or underused wires to other wires in the group. For example, with a four-wire box-and-cross group, when one Interconnect connection is down, the unmetered bandwidth of the two down wires is reallocated to the remaining up wires. ", + "enum": [ + "ALLOCATE_PER_WIRE", + "SHARED_WITH_WIRE_GROUP" + ], + "enumDescriptions": [ + "Configures a separate unmetered bandwidth allocation (and associated charges) for each wire in the group.", + "Configures one unmetered bandwidth allocation for the wire group. The unmetered bandwidth is divided equally across each wire in the group, but dynamic throttling reallocates unused unmetered bandwidth from unused or underused wires to other wires in the group. For example, with a four-wire box-and-cross group, when one Interconnect connection is down, the unmetered bandwidth of the two down wires is reallocated to the remaining up wires." + ], "type": "string" }, - "headerAction": { - "$ref": "HttpHeaderAction", - "description": "Specifies changes to request and response headers that need to take effect for the selected backendService. headerAction specified here take effect before headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap. headerAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL. Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true." + "bandwidthMetered": { + "description": "The metered bandwidth in Gigabits per second, using decimal units. `10` is 10 Gbps, `100` is 100 Gbps. The default value is `0`. You can specify unlimited bandwidth by entering `-1`. However, actual data transfer is limited by the port speed.", + "format": "int64", + "type": "string" }, - "weight": { - "description": "Specifies the fraction of traffic sent to a backend service, computed as weight / (sum of all weightedBackendService weights in routeAction) . The selection of a backend service is determined only for new traffic. Once a user's request has been directed to a backend service, subsequent requests are sent to the same backend service as determined by the backend service's session affinity policy. Don't configure session affinity if you're using weighted traffic splitting. If you do, the weighted traffic splitting configuration takes precedence. The value must be from 0 to 1000.", - "format": "uint32", - "type": "integer" + "bandwidthUnmetered": { + "description": "The unmetered bandwidth in Gigabits per second, using decimal units. `10` is 10 Gbps, `100` is 100 Gbps. Must be a multiple of 10.", + "format": "int64", + "type": "string" + }, + "faultResponse": { + "description": "Response when a fault is detected in a pseudowire: - NONE: default. - DISABLE_PORT: set the port line protocol down when inline probes detect a fault. This setting is only permitted on port mode pseudowires. ", + "enum": [ + "DISABLE_PORT", + "NONE" + ], + "enumDescriptions": [ + "Set the port line protocol down when inline probes detect a fault. This setting is only permitted on port mode pseudowires.", + "Default." + ], + "type": "string" + }, + "networkServiceClass": { + "description": "The network service class.", + "enum": [ + "BRONZE", + "GOLD" + ], + "enumDescriptions": [ + "The default service class.", + "A higher service class." + ], + "type": "string" } }, "type": "object" @@ -101847,6 +107185,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -101883,6 +107222,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -101907,6 +107247,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -102086,6 +107427,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -102122,6 +107464,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -102146,6 +107489,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", diff --git a/discovery/compute-beta.json b/discovery/compute-beta.json index cd2743cf79..e51130c477 100644 --- a/discovery/compute-beta.json +++ b/discovery/compute-beta.json @@ -1839,6 +1839,41 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "getEffectiveSecurityPolicies": { + "description": "Returns effective security policies applied to this backend service.", + "flatPath": "projects/{project}/global/backendServices/{backendService}/getEffectiveSecurityPolicies", + "httpMethod": "GET", + "id": "compute.backendServices.getEffectiveSecurityPolicies", + "parameterOrder": [ + "project", + "backendService" + ], + "parameters": { + "backendService": { + "description": "Name of the Backend Service for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/backendServices/{backendService}/getEffectiveSecurityPolicies", + "response": { + "$ref": "BackendServicesGetEffectiveSecurityPoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, "getHealth": { "description": "Gets the most recent health check results for this BackendService. Example request body: { \"group\": \"/zones/us-east1-b/instanceGroups/lb-backend-example\" }", "flatPath": "projects/{project}/global/backendServices/{backendService}/getHealth", @@ -11362,6 +11397,11 @@ "required": true, "type": "string" }, + "noGracefulShutdown": { + "description": "If set to true, Graceful Shutdown is skipped.", + "location": "query", + "type": "boolean" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -11842,7 +11882,7 @@ "type": "string" }, "start": { - "description": "Specifies the starting byte position of the output to return. To start with the first byte of output to the specified port, omit this field or set it to `0`. If the output for that byte position is available, this field matches the `start` parameter sent with the request. If the amount of serial console output exceeds the size of the buffer (1 MB), the oldest output is discarded and is no longer available. If the requested start position refers to discarded output, the start position is adjusted to the oldest output still available, and the adjusted start position is returned as the `start` property value. You can also provide a negative start position, which translates to the most recent number of bytes written to the serial port. For example, -3 is interpreted as the most recent 3 bytes written to the serial console.", + "description": "Specifies the starting byte position of the output to return. To start with the first byte of output to the specified port, omit this field or set it to `0`. If the output for that byte position is available, this field matches the `start` parameter sent with the request. If the amount of serial console output exceeds the size of the buffer (1 MB), the oldest output is discarded and is no longer available. If the requested start position refers to discarded output, the start position is adjusted to the oldest output still available, and the adjusted start position is returned as the `start` property value. You can also provide a negative start position, which translates to the most recent number of bytes written to the serial port. For example, -3 is interpreted as the most recent 3 bytes written to the serial console. Note that the negative start is bounded by the retained buffer size, and the returned serial console output will not exceed the max buffer size.", "format": "int64", "location": "query", "type": "string" @@ -13366,6 +13406,11 @@ "required": true, "type": "string" }, + "noGracefulShutdown": { + "description": "If set to true, Graceful Shutdown is skipped.", + "location": "query", + "type": "boolean" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -17436,6 +17481,72 @@ "https://www.googleapis.com/auth/compute" ] }, + "aggregatedList": { + "description": "Retrieves an aggregated list of network firewall policies, listing network firewall policies from all applicable scopes (global and regional) and grouping the results per scope. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/firewallPolicies", + "httpMethod": "GET", + "id": "compute.networkFirewallPolicies.aggregatedList", + "parameterOrder": [ + "project" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "location": "query", + "type": "boolean" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + }, + "serviceProjectNumber": { + "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/aggregated/firewallPolicies", + "response": { + "$ref": "NetworkFirewallPolicyAggregatedList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, "cloneRules": { "description": "Copies rules to the specified firewall policy.", "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/cloneRules", @@ -18155,101 +18266,20 @@ } } }, - "networks": { + "networkProfiles": { "methods": { - "addPeering": { - "description": "Adds a peering to the specified network.", - "flatPath": "projects/{project}/global/networks/{network}/addPeering", - "httpMethod": "POST", - "id": "compute.networks.addPeering", - "parameterOrder": [ - "project", - "network" - ], - "parameters": { - "network": { - "description": "Name of the network resource to add peering to.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - } - }, - "path": "projects/{project}/global/networks/{network}/addPeering", - "request": { - "$ref": "NetworksAddPeeringRequest" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "delete": { - "description": "Deletes the specified network.", - "flatPath": "projects/{project}/global/networks/{network}", - "httpMethod": "DELETE", - "id": "compute.networks.delete", - "parameterOrder": [ - "project", - "network" - ], - "parameters": { - "network": { - "description": "Name of the network to delete.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", - "required": true, - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - } - }, - "path": "projects/{project}/global/networks/{network}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, "get": { - "description": "Returns the specified network.", - "flatPath": "projects/{project}/global/networks/{network}", + "description": "Returns the specified network profile.", + "flatPath": "projects/{project}/global/networkProfiles/{networkProfile}", "httpMethod": "GET", - "id": "compute.networks.get", + "id": "compute.networkProfiles.get", "parameterOrder": [ "project", - "network" + "networkProfile" ], "parameters": { - "network": { - "description": "Name of the network to return.", + "networkProfile": { + "description": "Name of the network profile to return.", "location": "path", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", "required": true, @@ -18263,44 +18293,9 @@ "type": "string" } }, - "path": "projects/{project}/global/networks/{network}", - "response": { - "$ref": "Network" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "getEffectiveFirewalls": { - "description": "Returns the effective firewalls on a given network.", - "flatPath": "projects/{project}/global/networks/{network}/getEffectiveFirewalls", - "httpMethod": "GET", - "id": "compute.networks.getEffectiveFirewalls", - "parameterOrder": [ - "project", - "network" - ], - "parameters": { - "network": { - "description": "Name of the network for this request.", - "location": "path", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "required": true, - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/global/networks/{network}/getEffectiveFirewalls", + "path": "projects/{project}/global/networkProfiles/{networkProfile}", "response": { - "$ref": "NetworksGetEffectiveFirewallsResponse" + "$ref": "NetworkProfile" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -18308,45 +18303,255 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, - "insert": { - "description": "Creates a network in the specified project using the data included in the request.", - "flatPath": "projects/{project}/global/networks", - "httpMethod": "POST", - "id": "compute.networks.insert", - "parameterOrder": [ - "project" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - } - }, - "path": "projects/{project}/global/networks", - "request": { - "$ref": "Network" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, "list": { - "description": "Retrieves the list of networks available to the specified project.", - "flatPath": "projects/{project}/global/networks", + "description": "Retrieves a list of network profiles available to the specified project.", + "flatPath": "projects/{project}/global/networkProfiles", "httpMethod": "GET", - "id": "compute.networks.list", + "id": "compute.networkProfiles.list", + "parameterOrder": [ + "project" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/global/networkProfiles", + "response": { + "$ref": "NetworkProfilesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, + "networks": { + "methods": { + "addPeering": { + "description": "Adds a peering to the specified network.", + "flatPath": "projects/{project}/global/networks/{network}/addPeering", + "httpMethod": "POST", + "id": "compute.networks.addPeering", + "parameterOrder": [ + "project", + "network" + ], + "parameters": { + "network": { + "description": "Name of the network resource to add peering to.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/global/networks/{network}/addPeering", + "request": { + "$ref": "NetworksAddPeeringRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "delete": { + "description": "Deletes the specified network.", + "flatPath": "projects/{project}/global/networks/{network}", + "httpMethod": "DELETE", + "id": "compute.networks.delete", + "parameterOrder": [ + "project", + "network" + ], + "parameters": { + "network": { + "description": "Name of the network to delete.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/global/networks/{network}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Returns the specified network.", + "flatPath": "projects/{project}/global/networks/{network}", + "httpMethod": "GET", + "id": "compute.networks.get", + "parameterOrder": [ + "project", + "network" + ], + "parameters": { + "network": { + "description": "Name of the network to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/networks/{network}", + "response": { + "$ref": "Network" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "getEffectiveFirewalls": { + "description": "Returns the effective firewalls on a given network.", + "flatPath": "projects/{project}/global/networks/{network}/getEffectiveFirewalls", + "httpMethod": "GET", + "id": "compute.networks.getEffectiveFirewalls", + "parameterOrder": [ + "project", + "network" + ], + "parameters": { + "network": { + "description": "Name of the network for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/networks/{network}/getEffectiveFirewalls", + "response": { + "$ref": "NetworksGetEffectiveFirewallsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates a network in the specified project using the data included in the request.", + "flatPath": "projects/{project}/global/networks", + "httpMethod": "POST", + "id": "compute.networks.insert", + "parameterOrder": [ + "project" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/global/networks", + "request": { + "$ref": "Network" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Retrieves the list of networks available to the specified project.", + "flatPath": "projects/{project}/global/networks", + "httpMethod": "GET", + "id": "compute.networks.list", "parameterOrder": [ "project" ], @@ -20388,6 +20593,56 @@ "https://www.googleapis.com/auth/compute.readonly" ] }, + "listPreconfiguredExpressionSets": { + "description": "Gets the current list of preconfigured Web Application Firewall (WAF) expressions.", + "flatPath": "locations/global/securityPolicies/listPreconfiguredExpressionSets", + "httpMethod": "GET", + "id": "compute.organizationSecurityPolicies.listPreconfiguredExpressionSets", + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "parentId": { + "description": "Parent ID for this request.", + "location": "query", + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + } + }, + "path": "locations/global/securityPolicies/listPreconfiguredExpressionSets", + "response": { + "$ref": "SecurityPoliciesListPreconfiguredExpressionSetsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, "move": { "description": "Moves the specified security policy.", "flatPath": "locations/global/securityPolicies/{securityPolicy}/move", @@ -27622,6 +27877,204 @@ } } }, + "regionMultiMigs": { + "methods": { + "delete": { + "description": "Deletes a multi-MIG in the specified project.", + "flatPath": "projects/{project}/regions/{region}/multiMigs/{multiMig}", + "httpMethod": "DELETE", + "id": "compute.regionMultiMigs.delete", + "parameterOrder": [ + "project", + "region", + "multiMig" + ], + "parameters": { + "multiMig": { + "description": "Name of the multi-MIG to delete.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/multiMigs/{multiMig}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "description": "Returns all the details of a specific multi-MIG.", + "flatPath": "projects/{project}/regions/{region}/multiMigs/{multiMig}", + "httpMethod": "GET", + "id": "compute.regionMultiMigs.get", + "parameterOrder": [ + "project", + "region", + "multiMig" + ], + "parameters": { + "multiMig": { + "description": "Name of the multi-MIG resource to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/multiMigs/{multiMig}", + "response": { + "$ref": "MultiMig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "description": "Creates a multi-MIG in the specified project.", + "flatPath": "projects/{project}/regions/{region}/multiMigs", + "httpMethod": "POST", + "id": "compute.regionMultiMigs.insert", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents you from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/multiMigs", + "request": { + "$ref": "MultiMig" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "description": "Retrieves a list of multi-MIGs in a project and region.", + "flatPath": "projects/{project}/regions/{region}/multiMigs", + "httpMethod": "GET", + "id": "compute.regionMultiMigs.list", + "parameterOrder": [ + "project", + "region" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/regions/{region}/multiMigs", + "response": { + "$ref": "MultiMigsList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, "regionNetworkEndpointGroups": { "methods": { "attachNetworkEndpoints": { @@ -29741,6 +30194,56 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] + }, + "setLabels": { + "description": "Sets the labels on a security policy. To learn more about labels, read the Labeling Resources documentation.", + "flatPath": "projects/{project}/regions/{region}/securityPolicies/{resource}/setLabels", + "httpMethod": "POST", + "id": "compute.regionSecurityPolicies.setLabels", + "parameterOrder": [ + "project", + "region", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/securityPolicies/{resource}/setLabels", + "request": { + "$ref": "RegionSetLabelsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] } } }, @@ -31880,15 +32383,64 @@ } } }, - "reservations": { + "reservationBlocks": { "methods": { - "aggregatedList": { - "description": "Retrieves an aggregated list of reservations. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/reservations", + "get": { + "description": "Retrieves information about the specified reservation block.", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}", "httpMethod": "GET", - "id": "compute.reservations.aggregatedList", + "id": "compute.reservationBlocks.get", "parameterOrder": [ - "project" + "project", + "zone", + "reservation", + "reservationBlock" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "required": true, + "type": "string" + }, + "reservation": { + "description": "The name of the reservation. Name should conform to RFC1035 or be a resource ID.", + "location": "path", + "required": true, + "type": "string" + }, + "reservationBlock": { + "description": "The name of the reservation block. Name should conform to RFC1035 or be a resource ID.", + "location": "path", + "required": true, + "type": "string" + }, + "zone": { + "description": "Name of the zone for this request. Zone name should conform to RFC1035.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}", + "response": { + "$ref": "ReservationBlocksGetResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "list": { + "description": "Retrieves a list of reservation blocks under a single reservation.", + "flatPath": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks", + "httpMethod": "GET", + "id": "compute.reservationBlocks.list", + "parameterOrder": [ + "project", + "zone", + "reservation" ], "parameters": { "filter": { @@ -31896,11 +32448,81 @@ "location": "query", "type": "string" }, - "includeAllScopes": { - "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", - "location": "query", - "type": "boolean" - }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "required": true, + "type": "string" + }, + "reservation": { + "description": "The name of the reservation. Name should conform to RFC1035 or be a resource ID.", + "location": "path", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + }, + "zone": { + "description": "Name of the zone for this request. Zone name should conform to RFC1035.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks", + "response": { + "$ref": "ReservationBlocksListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, + "reservations": { + "methods": { + "aggregatedList": { + "description": "Retrieves an aggregated list of reservations. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/reservations", + "httpMethod": "GET", + "id": "compute.reservations.aggregatedList", + "parameterOrder": [ + "project" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "location": "query", + "type": "boolean" + }, "maxResults": { "default": "500", "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", @@ -33625,6 +34247,56 @@ "https://www.googleapis.com/auth/compute" ] }, + "patchRoutePolicy": { + "description": "Patches Route Policy", + "flatPath": "projects/{project}/regions/{region}/routers/{router}/patchRoutePolicy", + "httpMethod": "POST", + "id": "compute.routers.patchRoutePolicy", + "parameterOrder": [ + "project", + "region", + "router" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "router": { + "description": "Name of the Router resource where Route Policy is defined.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/routers/{router}/patchRoutePolicy", + "request": { + "$ref": "RoutePolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "preview": { "description": "Preview fields auto-generated during router create and update operations. Calling this method does NOT create or update the router.", "flatPath": "projects/{project}/regions/{region}/routers/{router}/preview", @@ -42184,7 +42856,7 @@ } } }, - "revision": "20240919", + "revision": "20241231", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -42335,6 +43007,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -42371,6 +43044,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -42395,6 +43069,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -42487,6 +43162,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -42523,6 +43199,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -42547,6 +43224,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -42621,6 +43299,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -42657,6 +43336,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -42681,6 +43361,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -42765,7 +43446,7 @@ "type": "string" }, "securityPolicy": { - "description": "[Output Only] The resource URL for the security policy associated with this access config.", + "description": "The resource URL for the security policy associated with this access config.", "type": "string" }, "setPublicPtr": { @@ -43022,6 +43703,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -43058,6 +43740,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -43082,6 +43765,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -43174,6 +43858,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -43210,6 +43895,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -43234,6 +43920,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -43308,6 +43995,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -43344,6 +44032,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -43368,6 +44057,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -43567,6 +44257,15 @@ "description": "[Output Only] Contains output only fields.", "id": "AllocationResourceStatus", "properties": { + "reservationBlockCount": { + "description": "The number of reservation blocks associated with this reservation.", + "format": "int32", + "type": "integer" + }, + "reservationMaintenance": { + "$ref": "GroupMaintenanceInfo", + "description": "Maintenance information for this reservation" + }, "specificSkuAllocation": { "$ref": "AllocationResourceStatusSpecificSKUAllocation", "description": "Allocation Properties of this reservation." @@ -43961,7 +44660,7 @@ "type": "string" }, "sourceSnapshot": { - "description": "The source snapshot to create this disk. When creating a new instance boot disk, one of initializeParams.sourceSnapshot or initializeParams.sourceImage or disks.source is required. To create a disk with a snapshot that you created, specify the snapshot name in the following format: global/snapshots/my-backup If the source snapshot is deleted later, this field will not be set.", + "description": "The source snapshot to create this disk. When creating a new instance boot disk, one of initializeParams.sourceSnapshot or initializeParams.sourceImage or disks.source is required. To create a disk with a snapshot that you created, specify the snapshot name in the following format: global/snapshots/my-backup If the source snapshot is deleted later, this field will not be set. Note: You cannot create VMs in bulk using a snapshot as the source. Use an image instead when you create VMs using the bulk insert method.", "type": "string" }, "sourceSnapshotEncryptionKey": { @@ -43976,7 +44675,7 @@ "type": "object" }, "AuditConfig": { - "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -43986,13 +44685,6 @@ }, "type": "array" }, - "exemptedMembers": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "type": "string" - }, - "type": "array" - }, "service": { "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", "type": "string" @@ -44011,10 +44703,6 @@ }, "type": "array" }, - "ignoreChildExemptions": { - "description": "This is deprecated and has no effect. Do not use.", - "type": "boolean" - }, "logType": { "description": "The log type that this config enables.", "enum": [ @@ -44186,6 +44874,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -44222,6 +44911,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -44246,6 +44936,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -44338,6 +45029,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -44374,6 +45066,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -44398,6 +45091,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -44530,6 +45224,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -44566,6 +45261,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -44590,6 +45286,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -44843,11 +45540,13 @@ "description": "Specifies how to determine whether the backend of a load balancer can handle additional traffic or is fully loaded. For usage guidelines, see Connection balancing mode. Backends must use compatible balancing modes. For more information, see Supported balancing modes and target capacity settings and Restrictions and guidance for instance groups. Note: Currently, if you use the API to configure incompatible balancing modes, the configuration might be accepted even though it has no impact and is ignored. Specifically, Backend.maxUtilization is ignored when Backend.balancingMode is RATE. In the future, this incompatible combination will be rejected.", "enum": [ "CONNECTION", + "CUSTOM_METRICS", "RATE", "UTILIZATION" ], "enumDescriptions": [ "Balance based on the number of simultaneous connections.", + "Based on custom defined and reported metrics.", "Balance based on requests per second (RPS).", "Balance based on the backend utilization." ], @@ -44858,6 +45557,13 @@ "format": "float", "type": "number" }, + "customMetrics": { + "description": "List of custom metrics that are used for CUSTOM_METRICS BalancingMode.", + "items": { + "$ref": "BackendCustomMetric" + }, + "type": "array" + }, "description": { "description": "An optional description of this resource. Provide this property when you create the resource.", "type": "string" @@ -44979,6 +45685,16 @@ "description": "Type of the resource.", "type": "string" }, + "loadBalancingScheme": { + "description": "The value can only be INTERNAL_MANAGED for cross-region internal layer 7 load balancer. If loadBalancingScheme is not specified, the backend bucket can be used by classic global external load balancers, or global application external load balancers, or both.", + "enum": [ + "INTERNAL_MANAGED" + ], + "enumDescriptions": [ + "Signifies that this will be used for internal Application Load Balancers." + ], + "type": "string" + }, "name": { "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", @@ -45014,7 +45730,7 @@ "description": "The CacheKeyPolicy for this CdnPolicy." }, "cacheMode": { - "description": "Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached.", + "description": "Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. If no value is provided for cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC.", "enum": [ "CACHE_ALL_STATIC", "FORCE_CACHE_ALL", @@ -45183,6 +45899,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -45219,6 +45936,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -45243,6 +45961,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -45290,6 +46009,26 @@ }, "type": "object" }, + "BackendCustomMetric": { + "description": "Custom Metrics are used for CUSTOM_METRICS balancing_mode.", + "id": "BackendCustomMetric", + "properties": { + "dryRun": { + "description": "If true, the metric data is collected and reported to Cloud Monitoring, but is not used for load balancing.", + "type": "boolean" + }, + "maxUtilization": { + "description": "Optional parameter to define a target utilization for the Custom Metrics balancing mode. The valid range is [0.0, 1.0].", + "format": "float", + "type": "number" + }, + "name": { + "description": "Name of a custom utilization signal. The name must be 1-24 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", + "type": "string" + } + }, + "type": "object" + }, "BackendService": { "description": "Represents a Backend Service resource. A backend service defines how Google Cloud load balancers distribute traffic. The backend service configuration contains a set of values, such as the protocol used to connect to backends, various distribution and session settings, health checks, and timeouts. These settings provide fine-grained control over how your load balancer behaves. Most of the settings have default values that allow for easy configuration if you need to get started quickly. Backend services in Google Compute Engine can be either regionally or globally scoped. * [Global](https://cloud.google.com/compute/docs/reference/rest/beta/backendServices) * [Regional](https://cloud.google.com/compute/docs/reference/rest/beta/regionBackendServices) For more information, see Backend Services.", "id": "BackendService", @@ -45340,6 +46079,13 @@ "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" }, + "customMetrics": { + "description": "List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN locality_lb_policy.", + "items": { + "$ref": "BackendServiceCustomMetric" + }, + "type": "array" + }, "customRequestHeaders": { "description": "Headers that the load balancer adds to proxied requests. See [Creating custom headers](https://cloud.google.com/load-balancing/docs/custom-headers).", "items": { @@ -45468,7 +46214,8 @@ "RANDOM", "RING_HASH", "ROUND_ROBIN", - "WEIGHTED_MAGLEV" + "WEIGHTED_MAGLEV", + "WEIGHTED_ROUND_ROBIN" ], "enumDescriptions": [ "", @@ -45478,7 +46225,8 @@ "The load balancer selects a random healthy host.", "The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests.", "This is a simple policy in which each healthy backend is selected in round robin order. This is the default.", - "Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing." + "Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing.", + "Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field X-Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the backends[].customMetrics fields." ], "type": "string" }, @@ -45524,6 +46272,7 @@ "description": "The protocol this BackendService uses to communicate with backends. Possible values are HTTP, HTTPS, HTTP2, TCP, SSL, UDP or GRPC. depending on the chosen load balancer or Traffic Director configuration. Refer to the documentation for the load balancers or for Traffic Director for more information. Must be set to GRPC when the backend service is referenced by a URL map that is bound to target gRPC proxy.", "enum": [ "GRPC", + "H2C", "HTTP", "HTTP2", "HTTPS", @@ -45534,6 +46283,7 @@ ], "enumDescriptions": [ "gRPC (available for Traffic Director).", + "HTTP2 over cleartext", "", "HTTP/2 with SSL.", "", @@ -45609,6 +46359,10 @@ "format": "int32", "type": "integer" }, + "tlsSettings": { + "$ref": "BackendServiceTlsSettings", + "description": "Configuration for Backend Authenticated TLS and mTLS. May only be specified when the backend protocol is SSL, HTTPS or HTTP2." + }, "usedBy": { "description": "[Output Only] List of resources referencing given backend service.", "items": { @@ -45682,6 +46436,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -45718,6 +46473,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -45742,6 +46498,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -45795,7 +46552,7 @@ "description": "The CacheKeyPolicy for this CdnPolicy." }, "cacheMode": { - "description": "Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached.", + "description": "Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. If no value is provided for cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC.", "enum": [ "CACHE_ALL_STATIC", "FORCE_CACHE_ALL", @@ -45932,6 +46689,21 @@ }, "type": "object" }, + "BackendServiceCustomMetric": { + "description": "Custom Metrics are used for WEIGHTED_ROUND_ROBIN locality_lb_policy.", + "id": "BackendServiceCustomMetric", + "properties": { + "dryRun": { + "description": "If true, the metric data is not used for load balancing.", + "type": "boolean" + }, + "name": { + "description": "Name of a custom utilization signal. The name must be 1-24 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED.", + "type": "string" + } + }, + "type": "object" + }, "BackendServiceFailoverPolicy": { "description": "For load balancers that have configurable failover: [Internal passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview). On failover or failback, this field indicates whether connection draining will be honored. Google Cloud has a fixed connection draining timeout of 10 minutes. A setting of true terminates existing TCP connections to the active pool during failover and failback, immediately draining traffic. A setting of false allows existing TCP connections to persist, even on VMs no longer in the active pool, for up to the duration of the connection draining timeout (10 minutes).", "id": "BackendServiceFailoverPolicy", @@ -46074,6 +46846,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -46110,6 +46883,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -46134,6 +46908,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -46226,6 +47001,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -46262,6 +47038,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -46286,6 +47063,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -46365,7 +47143,8 @@ "RANDOM", "RING_HASH", "ROUND_ROBIN", - "WEIGHTED_MAGLEV" + "WEIGHTED_MAGLEV", + "WEIGHTED_ROUND_ROBIN" ], "enumDescriptions": [ "", @@ -46375,7 +47154,8 @@ "The load balancer selects a random healthy host.", "The ring/modulo hash load balancer implements consistent hashing to backends. The algorithm has the property that the addition/removal of a host from a set of N hosts only affects 1/N of the requests.", "This is a simple policy in which each healthy backend is selected in round robin order. This is the default.", - "Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing." + "Per-instance weighted Load Balancing via health check reported weights. If set, the Backend Service must configure a non legacy HTTP-based Health Check, and health check replies are expected to contain non-standard HTTP response header field X-Load-Balancing-Endpoint-Weight to specify the per-instance weights. If set, Load Balancing is weighted based on the per-instance weights reported in the last processed health check replies, as long as every instance either reported a valid weight or had UNAVAILABLE_WEIGHT. Otherwise, Load Balancing remains equal-weight. This option is only supported in Network Load Balancing.", + "Per-endpoint weighted round-robin Load Balancing using weights computed from Backend reported Custom Metrics. If set, the Backend Service responses are expected to contain non-standard HTTP response header field X-Endpoint-Load-Metrics. The reported metrics to use for computing the weights are specified via the backends[].customMetrics fields." ], "type": "string" } @@ -46428,6 +47208,42 @@ }, "type": "object" }, + "BackendServiceTlsSettings": { + "id": "BackendServiceTlsSettings", + "properties": { + "authenticationConfig": { + "description": "Reference to the BackendAuthenticationConfig resource from the networksecurity.googleapis.com namespace. Can be used in authenticating TLS connections to the backend, as specified by the authenticationMode field. Can only be specified if authenticationMode is not NONE.", + "type": "string" + }, + "sni": { + "description": "Server Name Indication - see RFC3546 section 3.1. If set, the load balancer sends this string as the SNI hostname in the TLS connection to the backend, and requires that this string match a Subject Alternative Name (SAN) in the backend's server certificate. With a Regional Internet NEG backend, if the SNI is specified here, the load balancer uses it regardless of whether the Regional Internet NEG is specified with FQDN or IP address and port. When both sni and subjectAltNames[] are specified, the load balancer matches the backend certificate's SAN only to subjectAltNames[].", + "type": "string" + }, + "subjectAltNames": { + "description": "A list of Subject Alternative Names (SANs) that the Load Balancer verifies during a TLS handshake with the backend. When the server presents its X.509 certificate to the Load Balancer, the Load Balancer inspects the certificate's SAN field, and requires that at least one SAN match one of the subjectAltNames in the list. This field is limited to 5 entries. When both sni and subjectAltNames[] are specified, the load balancer matches the backend certificate's SAN only to subjectAltNames[].", + "items": { + "$ref": "BackendServiceTlsSettingsSubjectAltName" + }, + "type": "array" + } + }, + "type": "object" + }, + "BackendServiceTlsSettingsSubjectAltName": { + "description": "A Subject Alternative Name that the load balancer matches against the SAN field in the TLS certificate provided by the backend, specified as either a DNS name or a URI, in accordance with RFC 5280 4.2.1.6", + "id": "BackendServiceTlsSettingsSubjectAltName", + "properties": { + "dnsName": { + "description": "The SAN specified as a DNS Name.", + "type": "string" + }, + "uniformResourceIdentifier": { + "description": "The SAN specified as a URI.", + "type": "string" + } + }, + "type": "object" + }, "BackendServiceUsedBy": { "id": "BackendServiceUsedBy", "properties": { @@ -46438,6 +47254,19 @@ }, "type": "object" }, + "BackendServicesGetEffectiveSecurityPoliciesResponse": { + "id": "BackendServicesGetEffectiveSecurityPoliciesResponse", + "properties": { + "securityPolicies": { + "description": "Effective security policies for the backend service.", + "items": { + "$ref": "SecurityPolicy" + }, + "type": "array" + } + }, + "type": "object" + }, "BackendServicesScopedList": { "id": "BackendServicesScopedList", "properties": { @@ -46475,6 +47304,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -46511,6 +47341,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -46535,6 +47366,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -46904,10 +47736,6 @@ "description": "Associates `members`, or principals, with a `role`.", "id": "Binding", "properties": { - "bindingId": { - "description": "This is deprecated and has no effect. Do not use.", - "type": "string" - }, "condition": { "$ref": "Expr", "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." @@ -47171,6 +47999,10 @@ "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" }, + "customEndTimestamp": { + "description": "[Input Only] Optional, specifies the CUD end time requested by the customer in RFC3339 text format. Needed when the customer wants CUD's end date is later than the start date + term duration.", + "type": "string" + }, "description": { "description": "An optional description of this resource. Provide this property when you create the resource.", "type": "string" @@ -47237,6 +48069,10 @@ }, "type": "array" }, + "resourceStatus": { + "$ref": "CommitmentResourceStatus", + "description": "[Output Only] Status information for Commitment resource." + }, "resources": { "description": "A list of commitment amounts for particular resources. Note that VCPU and MEMORY resource commitments must occur together.", "items": { @@ -47291,6 +48127,7 @@ "COMPUTE_OPTIMIZED_H3", "GENERAL_PURPOSE", "GENERAL_PURPOSE_C4", + "GENERAL_PURPOSE_C4A", "GENERAL_PURPOSE_E2", "GENERAL_PURPOSE_N2", "GENERAL_PURPOSE_N2D", @@ -47299,6 +48136,9 @@ "GRAPHICS_OPTIMIZED", "MEMORY_OPTIMIZED", "MEMORY_OPTIMIZED_M3", + "MEMORY_OPTIMIZED_X4_16TB", + "MEMORY_OPTIMIZED_X4_24TB", + "MEMORY_OPTIMIZED_X4_32TB", "STORAGE_OPTIMIZED_Z3", "TYPE_UNSPECIFIED" ], @@ -47322,6 +48162,10 @@ "", "", "", + "", + "", + "", + "", "" ], "type": "string" @@ -47391,6 +48235,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -47427,6 +48272,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -47451,6 +48297,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -47543,6 +48390,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -47579,6 +48427,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -47603,6 +48452,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -47640,6 +48490,17 @@ }, "type": "object" }, + "CommitmentResourceStatus": { + "description": "[Output Only] Contains output only fields.", + "id": "CommitmentResourceStatus", + "properties": { + "customTermEligibilityEndTimestamp": { + "description": "[Output Only] Indicates the end time of customer's eligibility to send custom term requests in RFC3339 text format. Term extension requests that (not the end time in the request) after this time will be rejected.", + "type": "string" + } + }, + "type": "object" + }, "CommitmentsScopedList": { "id": "CommitmentsScopedList", "properties": { @@ -47677,6 +48538,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -47713,6 +48575,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -47737,6 +48600,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -47774,86 +48638,6 @@ }, "type": "object" }, - "Condition": { - "description": "This is deprecated and has no effect. Do not use.", - "id": "Condition", - "properties": { - "iam": { - "description": "This is deprecated and has no effect. Do not use.", - "enum": [ - "APPROVER", - "ATTRIBUTION", - "AUTHORITY", - "CREDENTIALS_TYPE", - "CREDS_ASSERTION", - "JUSTIFICATION_TYPE", - "NO_ATTR", - "SECURITY_REALM" - ], - "enumDescriptions": [ - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use." - ], - "type": "string" - }, - "op": { - "description": "This is deprecated and has no effect. Do not use.", - "enum": [ - "DISCHARGED", - "EQUALS", - "IN", - "NOT_EQUALS", - "NOT_IN", - "NO_OP" - ], - "enumDescriptions": [ - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use." - ], - "type": "string" - }, - "svc": { - "description": "This is deprecated and has no effect. Do not use.", - "type": "string" - }, - "sys": { - "description": "This is deprecated and has no effect. Do not use.", - "enum": [ - "IP", - "NAME", - "NO_ATTR", - "REGION", - "SERVICE" - ], - "enumDescriptions": [ - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use." - ], - "type": "string" - }, - "values": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "ConfidentialInstanceConfig": { "description": "A set of Confidential Instance options.", "id": "ConfidentialInstanceConfig", @@ -48501,6 +49285,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -48537,6 +49322,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -48561,6 +49347,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -48725,6 +49512,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -48761,6 +49549,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -48785,6 +49574,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -49008,6 +49798,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -49044,6 +49835,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -49068,6 +49860,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -49160,6 +49953,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -49196,6 +49990,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -49220,6 +50015,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -49294,6 +50090,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -49330,6 +50127,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -49354,6 +50152,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -49465,6 +50264,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -49501,6 +50301,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -49525,6 +50326,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -49668,7 +50470,7 @@ "additionalProperties": { "type": "string" }, - "description": "Additional structured details about this error. Keys must match /a-z+/ but should ideally be lowerCamelCase. Also they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than {\"instanceLimit\": \"100/request\"}, should be returned as, {\"instanceLimitPerRequest\": \"100\"}, if the client exceeds the number of instances that can be created in a single (batch) request.", + "description": "Additional structured details about this error. Keys must match a regular expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{\"instanceLimit\": \"100/request\"}`, should be returned as, `{\"instanceLimitPerRequest\": \"100\"}`, if the client exceeds the number of instances that can be created in a single (batch) request.", "type": "object" }, "reason": { @@ -49769,6 +50571,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -49805,275 +50608,6 @@ false, false, false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "Expr": { - "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", - "id": "Expr", - "properties": { - "description": { - "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", - "type": "string" - }, - "expression": { - "description": "Textual representation of an expression in Common Expression Language syntax.", - "type": "string" - }, - "location": { - "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", - "type": "string" - }, - "title": { - "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", - "type": "string" - } - }, - "type": "object" - }, - "ExternalVpnGateway": { - "description": "Represents an external VPN gateway. External VPN gateway is the on-premises VPN gateway(s) or another cloud provider's VPN gateway that connects to your Google Cloud VPN gateway. To create a highly available VPN from Google Cloud Platform to your VPN gateway or another cloud provider's VPN gateway, you must create a external VPN gateway resource with information about the other gateway. For more information about using external VPN gateways, see Creating an HA VPN gateway and tunnel pair to a peer VPN.", - "id": "ExternalVpnGateway", - "properties": { - "creationTimestamp": { - "description": "[Output Only] Creation timestamp in RFC3339 text format.", - "type": "string" - }, - "description": { - "description": "An optional description of this resource. Provide this property when you create the resource.", - "type": "string" - }, - "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", - "format": "uint64", - "type": "string" - }, - "interfaces": { - "description": "A list of interfaces for this external VPN gateway. If your peer-side gateway is an on-premises gateway and non-AWS cloud providers' gateway, at most two interfaces can be provided for an external VPN gateway. If your peer side is an AWS virtual private gateway, four interfaces should be provided for an external VPN gateway.", - "items": { - "$ref": "ExternalVpnGatewayInterface" - }, - "type": "array" - }, - "kind": { - "default": "compute#externalVpnGateway", - "description": "[Output Only] Type of the resource. Always compute#externalVpnGateway for externalVpnGateways.", - "type": "string" - }, - "labelFingerprint": { - "description": "A fingerprint for the labels being applied to this ExternalVpnGateway, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an ExternalVpnGateway.", - "format": "byte", - "type": "string" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", - "type": "object" - }, - "name": { - "annotations": { - "required": [ - "compute.externalVpnGateways.insert" - ] - }, - "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" - }, - "redundancyType": { - "description": "Indicates the user-supplied redundancy type of this external VPN gateway.", - "enum": [ - "FOUR_IPS_REDUNDANCY", - "SINGLE_IP_INTERNALLY_REDUNDANT", - "TWO_IPS_REDUNDANCY" - ], - "enumDescriptions": [ - "The external VPN gateway has four public IP addresses; at the time of writing this API, the AWS virtual private gateway is an example which has four public IP addresses for high availability connections; there should be two VPN connections in the AWS virtual private gateway , each AWS VPN connection has two public IP addresses; please make sure to put two public IP addresses from one AWS VPN connection into interfaces 0 and 1 of this external VPN gateway, and put the other two public IP addresses from another AWS VPN connection into interfaces 2 and 3 of this external VPN gateway. When displaying highly available configuration status for the VPN tunnels connected to FOUR_IPS_REDUNDANCY external VPN gateway, Google will always detect whether interfaces 0 and 1 are connected on one interface of HA Cloud VPN gateway, and detect whether interfaces 2 and 3 are connected to another interface of the HA Cloud VPN gateway.", - "The external VPN gateway has only one public IP address which internally provide redundancy or failover.", - "The external VPN gateway has two public IP addresses which are redundant with each other, the following two types of setup on your on-premises side would have this type of redundancy: (1) Two separate on-premises gateways, each with one public IP address, the two on-premises gateways are redundant with each other. (2) A single on-premise gateway with two public IP addresses that are redundant with eatch other." - ], - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for the resource.", - "type": "string" - } - }, - "type": "object" - }, - "ExternalVpnGatewayInterface": { - "description": "The interface for the external VPN gateway.", - "id": "ExternalVpnGatewayInterface", - "properties": { - "id": { - "description": "The numeric ID of this interface. The allowed input values for this id for different redundancy types of external VPN gateway: - SINGLE_IP_INTERNALLY_REDUNDANT - 0 - TWO_IPS_REDUNDANCY - 0, 1 - FOUR_IPS_REDUNDANCY - 0, 1, 2, 3 ", - "format": "uint32", - "type": "integer" - }, - "ipAddress": { - "description": "IP address of the interface in the external VPN gateway. Only IPv4 is supported. This IP address can be either from your on-premise gateway or another Cloud provider's VPN gateway, it cannot be an IP address from Google Compute Engine.", - "type": "string" - }, - "ipv6Address": { - "description": "IPv6 address of the interface in the external VPN gateway. This IPv6 address can be either from your on-premise gateway or another Cloud provider's VPN gateway, it cannot be an IP address from Google Compute Engine. Must specify an IPv6 address (not IPV4-mapped) using any format described in RFC 4291 (e.g. 2001:db8:0:0:2d9:51:0:0). The output format is RFC 5952 format (e.g. 2001:db8::2d9:51:0:0).", - "type": "string" - } - }, - "type": "object" - }, - "ExternalVpnGatewayList": { - "description": "Response to the list request, and contains a list of externalVpnGateways.", - "id": "ExternalVpnGatewayList", - "properties": { - "etag": { - "type": "string" - }, - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", - "type": "string" - }, - "items": { - "description": "A list of ExternalVpnGateway resources.", - "items": { - "$ref": "ExternalVpnGateway" - }, - "type": "array" - }, - "kind": { - "default": "compute#externalVpnGatewayList", - "description": "[Output Only] Type of resource. Always compute#externalVpnGatewayList for lists of externalVpnGateways.", - "type": "string" - }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", - "type": "string" - }, - "warning": { - "description": "[Output Only] Informational warning message.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, false, false ], @@ -50099,6 +50633,280 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", + "id": "Expr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language syntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", + "type": "string" + } + }, + "type": "object" + }, + "ExternalVpnGateway": { + "description": "Represents an external VPN gateway. External VPN gateway is the on-premises VPN gateway(s) or another cloud provider's VPN gateway that connects to your Google Cloud VPN gateway. To create a highly available VPN from Google Cloud Platform to your VPN gateway or another cloud provider's VPN gateway, you must create a external VPN gateway resource with information about the other gateway. For more information about using external VPN gateways, see Creating an HA VPN gateway and tunnel pair to a peer VPN.", + "id": "ExternalVpnGateway", + "properties": { + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", + "type": "string" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64", + "type": "string" + }, + "interfaces": { + "description": "A list of interfaces for this external VPN gateway. If your peer-side gateway is an on-premises gateway and non-AWS cloud providers' gateway, at most two interfaces can be provided for an external VPN gateway. If your peer side is an AWS virtual private gateway, four interfaces should be provided for an external VPN gateway.", + "items": { + "$ref": "ExternalVpnGatewayInterface" + }, + "type": "array" + }, + "kind": { + "default": "compute#externalVpnGateway", + "description": "[Output Only] Type of the resource. Always compute#externalVpnGateway for externalVpnGateways.", + "type": "string" + }, + "labelFingerprint": { + "description": "A fingerprint for the labels being applied to this ExternalVpnGateway, which is essentially a hash of the labels set used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update labels. You must always provide an up-to-date fingerprint hash in order to update or change labels, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve an ExternalVpnGateway.", + "format": "byte", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels for this resource. These can only be added or modified by the setLabels method. Each label key/value pair must comply with RFC1035. Label values may be empty.", + "type": "object" + }, + "name": { + "annotations": { + "required": [ + "compute.externalVpnGateways.insert" + ] + }, + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "redundancyType": { + "description": "Indicates the user-supplied redundancy type of this external VPN gateway.", + "enum": [ + "FOUR_IPS_REDUNDANCY", + "SINGLE_IP_INTERNALLY_REDUNDANT", + "TWO_IPS_REDUNDANCY" + ], + "enumDescriptions": [ + "The external VPN gateway has four public IP addresses; at the time of writing this API, the AWS virtual private gateway is an example which has four public IP addresses for high availability connections; there should be two VPN connections in the AWS virtual private gateway , each AWS VPN connection has two public IP addresses; please make sure to put two public IP addresses from one AWS VPN connection into interfaces 0 and 1 of this external VPN gateway, and put the other two public IP addresses from another AWS VPN connection into interfaces 2 and 3 of this external VPN gateway. When displaying highly available configuration status for the VPN tunnels connected to FOUR_IPS_REDUNDANCY external VPN gateway, Google will always detect whether interfaces 0 and 1 are connected on one interface of HA Cloud VPN gateway, and detect whether interfaces 2 and 3 are connected to another interface of the HA Cloud VPN gateway.", + "The external VPN gateway has only one public IP address which internally provide redundancy or failover.", + "The external VPN gateway has two public IP addresses which are redundant with each other, the following two types of setup on your on-premises side would have this type of redundancy: (1) Two separate on-premises gateways, each with one public IP address, the two on-premises gateways are redundant with each other. (2) A single on-premise gateway with two public IP addresses that are redundant with eatch other." + ], + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + } + }, + "type": "object" + }, + "ExternalVpnGatewayInterface": { + "description": "The interface for the external VPN gateway.", + "id": "ExternalVpnGatewayInterface", + "properties": { + "id": { + "description": "The numeric ID of this interface. The allowed input values for this id for different redundancy types of external VPN gateway: - SINGLE_IP_INTERNALLY_REDUNDANT - 0 - TWO_IPS_REDUNDANCY - 0, 1 - FOUR_IPS_REDUNDANCY - 0, 1, 2, 3 ", + "format": "uint32", + "type": "integer" + }, + "ipAddress": { + "description": "IP address of the interface in the external VPN gateway. Only IPv4 is supported. This IP address can be either from your on-premise gateway or another Cloud provider's VPN gateway, it cannot be an IP address from Google Compute Engine.", + "type": "string" + }, + "ipv6Address": { + "description": "IPv6 address of the interface in the external VPN gateway. This IPv6 address can be either from your on-premise gateway or another Cloud provider's VPN gateway, it cannot be an IP address from Google Compute Engine. Must specify an IPv6 address (not IPV4-mapped) using any format described in RFC 4291 (e.g. 2001:db8:0:0:2d9:51:0:0). The output format is RFC 5952 format (e.g. 2001:db8::2d9:51:0:0).", + "type": "string" + } + }, + "type": "object" + }, + "ExternalVpnGatewayList": { + "description": "Response to the list request, and contains a list of externalVpnGateways.", + "id": "ExternalVpnGatewayList", + "properties": { + "etag": { + "type": "string" + }, + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of ExternalVpnGateway resources.", + "items": { + "$ref": "ExternalVpnGateway" + }, + "type": "array" + }, + "kind": { + "default": "compute#externalVpnGatewayList", + "description": "[Output Only] Type of resource. Always compute#externalVpnGatewayList for lists of externalVpnGateways.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -50372,6 +51180,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -50408,6 +51217,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -50432,6 +51242,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -50510,6 +51321,143 @@ }, "type": "object" }, + "FirewallPoliciesScopedList": { + "id": "FirewallPoliciesScopedList", + "properties": { + "firewallPolicies": { + "description": "A list of firewall policies contained in this scope.", + "items": { + "$ref": "FirewallPolicy" + }, + "type": "array" + }, + "warning": { + "description": "Informational warning which replaces the list of firewall policies when the list is empty.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, "FirewallPolicy": { "description": "Represents a Firewall Policy resource.", "id": "FirewallPolicy", @@ -50674,6 +51622,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -50710,6 +51659,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -50734,6 +51684,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -51379,6 +52330,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -51415,6 +52367,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -51439,6 +52392,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -51531,6 +52485,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -51567,6 +52522,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -51591,6 +52547,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -51693,6 +52650,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -51729,6 +52687,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -51753,6 +52712,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -51805,10 +52765,28 @@ "description": "Setting for enabling or disabling automatic deletion for auto-created reservation. If set to true, auto-created reservations will be deleted at Future Reservation's end time (default) or at user's defined timestamp if any of the [auto_created_reservations_delete_time, auto_created_reservations_duration] values is specified. For keeping auto-created reservation indefinitely, this value should be set to false.", "type": "boolean" }, + "commitmentInfo": { + "$ref": "FutureReservationCommitmentInfo", + "description": "If not present, then FR will not deliver a new commitment or update an existing commitment." + }, "creationTimestamp": { "description": "[Output Only] The creation timestamp for this future reservation in RFC3339 text format.", "type": "string" }, + "deploymentType": { + "description": "Type of the deployment requested as part of future reservation.", + "enum": [ + "DENSE", + "DEPLOYMENT_TYPE_UNSPECIFIED", + "FLEXIBLE" + ], + "enumDescriptions": [ + "The reserved capacity is made up of densely deployed reservation blocks.", + "", + "The reserved capacity is made up of highly flexible, logical reservation blocks." + ], + "type": "string" + }, "description": { "description": "An optional description of this resource. Provide this property when you create the future reservation.", "type": "string" @@ -51851,6 +52829,24 @@ ], "type": "string" }, + "reservationName": { + "description": "Name of reservations where the capacity is provisioned at the time of delivery of future reservations. If the reservation with the given name does not exist already, it is created automatically at the time of Approval with INACTIVE state till specified start-time. Either provide the reservation_name or a name_prefix.", + "type": "string" + }, + "schedulingType": { + "description": "Maintenance information for this reservation", + "enum": [ + "GROUPED", + "GROUP_MAINTENANCE_TYPE_UNSPECIFIED", + "INDEPENDENT" + ], + "enumDescriptions": [ + "Maintenance on all reserved instances in the reservation is synchronized.", + "Unknown maintenance type.", + "Maintenance is not synchronized for this reservation. Instead, each instance has its own maintenance window." + ], + "type": "string" + }, "selfLink": { "description": "[Output Only] Server-defined fully-qualified URL for this resource.", "type": "string" @@ -51863,6 +52859,10 @@ "$ref": "ShareSettings", "description": "List of Projects/Folders to share with." }, + "specificReservationRequired": { + "description": "Indicates whether the auto-created reservation can be consumed by VMs with affinity for \"any\" reservation. If the field is set, then only VMs that target the reservation by name can consume from the delivered reservation.", + "type": "boolean" + }, "specificSkuProperties": { "$ref": "FutureReservationSpecificSKUProperties", "description": "Future Reservation configuration to indicate instance properties and total count." @@ -51882,6 +52882,42 @@ }, "type": "object" }, + "FutureReservationCommitmentInfo": { + "id": "FutureReservationCommitmentInfo", + "properties": { + "commitmentName": { + "description": "name of the commitment where capacity is being delivered to.", + "type": "string" + }, + "commitmentPlan": { + "description": "Indicates if a Commitment needs to be created as part of FR delivery. If this field is not present, then no commitment needs to be created.", + "enum": [ + "INVALID", + "THIRTY_SIX_MONTH", + "TWELVE_MONTH" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "previousCommitmentTerms": { + "description": "Only applicable if FR is delivering to the same reservation. If set, all parent commitments will be extended to match the end date of the plan for this commitment.", + "enum": [ + "EXTEND", + "PREVIOUSCOMMITMENTTERM_UNSPECIFIED" + ], + "enumDescriptions": [ + "All associated parent Committed Used Discount(s) end-date/term will be extended to the end-time of this future reservation. Default is to extend previous commitment(s) time to the end_time of the reservation.", + "No changes to associated parents Committed Used Discount(s) terms." + ], + "type": "string" + } + }, + "type": "object" + }, "FutureReservationSpecificSKUProperties": { "id": "FutureReservationSpecificSKUProperties", "properties": { @@ -52173,6 +53209,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -52209,6 +53246,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -52233,6 +53271,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -52334,6 +53373,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -52370,6 +53410,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -52394,6 +53435,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -52468,6 +53510,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -52504,6 +53547,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -52528,6 +53572,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -52700,6 +53745,41 @@ }, "type": "object" }, + "GroupMaintenanceInfo": { + "description": "Maintenance Info for ReservationBlocks.", + "id": "GroupMaintenanceInfo", + "properties": { + "maintenanceOngoingCount": { + "description": "Progress for ongoing maintenance for this group of VMs/hosts. Describes number of hosts in the block that have ongoing maintenance.", + "format": "int32", + "type": "integer" + }, + "maintenancePendingCount": { + "description": "Progress for ongoing maintenance for this group of VMs/hosts. Describes number of hosts in the block that have pending maintenance.", + "format": "int32", + "type": "integer" + }, + "schedulingType": { + "description": "The type of maintenance for the reservation.", + "enum": [ + "GROUPED", + "GROUP_MAINTENANCE_TYPE_UNSPECIFIED", + "INDEPENDENT" + ], + "enumDescriptions": [ + "Maintenance on all reserved instances in the reservation is synchronized.", + "Unknown maintenance type.", + "Maintenance is not synchronized for this reservation. Instead, each instance has its own maintenance window." + ], + "type": "string" + }, + "upcomingGroupMaintenance": { + "$ref": "UpcomingMaintenance", + "description": "Maintenance information on this group of VMs." + } + }, + "type": "object" + }, "GuestAttributes": { "description": "A guest attributes entry.", "id": "GuestAttributes", @@ -53128,6 +54208,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -53164,6 +54245,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -53188,6 +54270,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -53399,6 +54482,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -53435,6 +54519,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -53459,6 +54544,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -53558,6 +54644,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -53594,6 +54681,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -53618,6 +54706,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -53692,6 +54781,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -53728,6 +54818,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -53752,6 +54843,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -54255,6 +55347,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -54291,6 +55384,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -54315,6 +55409,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -54528,15 +55623,15 @@ }, "routeAction": { "$ref": "HttpRouteAction", - "description": "In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a route rule's routeAction." + "description": "In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a route rule's routeAction." }, "service": { - "description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set.", + "description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set.", "type": "string" }, "urlRedirect": { "$ref": "HttpRedirectAction", - "description": "When this rule is matched, the request is redirected to a URL specified by urlRedirect. If urlRedirect is specified, service or routeAction must not be set. Not supported when the URL map is bound to a target gRPC proxy." + "description": "When this rule is matched, the request is redirected to a URL specified by urlRedirect. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy." } }, "type": "object" @@ -54711,6 +55806,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -54747,6 +55843,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -54771,6 +55868,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -55110,6 +56208,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -55146,6 +56245,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -55170,6 +56270,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -55492,6 +56593,7 @@ "description": "[Output Only] The status of the instance. One of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see Instance life cycle.", "enum": [ "DEPROVISIONING", + "PENDING_STOP", "PROVISIONING", "REPAIRING", "RUNNING", @@ -55504,6 +56606,7 @@ ], "enumDescriptions": [ "The instance is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.", + "The instance is gracefully shutting down.", "Resources are being allocated for the instance.", "The instance is in repair.", "The instance is running.", @@ -55593,6 +56696,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -55629,6 +56733,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -55653,6 +56758,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -55864,6 +56970,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -55900,6 +57007,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -55924,6 +57032,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -56016,6 +57125,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -56052,6 +57162,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -56076,6 +57187,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -56219,7 +57331,7 @@ "type": "string" }, "namedPorts": { - "description": "Named ports configured for the Instance Groups complementary to this Instance Group Manager.", + "description": "[Output Only] Named ports configured on the Instance Groups complementary to this Instance Group Manager.", "items": { "$ref": "NamedPort" }, @@ -56444,6 +57556,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -56480,6 +57593,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -56504,6 +57618,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -56704,6 +57819,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -56740,6 +57856,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -56764,6 +57881,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -56853,6 +57971,10 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "region": { + "description": "[Output Only] The URL of a region where the resize request is located. Populated only for regional resize requests.", + "type": "string" + }, "requestedRunDuration": { "$ref": "Duration", "description": "Requested run duration for instances that will be created by this request. At the end of the run duration instance will be deleted." @@ -57079,6 +58201,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -57115,6 +58238,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -57139,6 +58263,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -57576,6 +58701,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -57612,194 +58738,6 @@ false, false, false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "InstanceGroupManagersPatchPerInstanceConfigsReq": { - "description": "InstanceGroupManagers.patchPerInstanceConfigs", - "id": "InstanceGroupManagersPatchPerInstanceConfigsReq", - "properties": { - "perInstanceConfigs": { - "description": "The list of per-instance configurations to insert or patch on this managed instance group.", - "items": { - "$ref": "PerInstanceConfig" - }, - "type": "array" - } - }, - "type": "object" - }, - "InstanceGroupManagersRecreateInstancesRequest": { - "id": "InstanceGroupManagersRecreateInstancesRequest", - "properties": { - "instances": { - "description": "The URLs of one or more instances to recreate. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "InstanceGroupManagersResizeAdvancedRequest": { - "id": "InstanceGroupManagersResizeAdvancedRequest", - "properties": { - "noCreationRetries": { - "description": "If this flag is true, the managed instance group attempts to create all instances initiated by this resize request only once. If there is an error during creation, the managed instance group does not retry create this instance, and we will decrease the targetSize of the request instead. If the flag is false, the group attempts to recreate each instance continuously until it succeeds. This flag matters only in the first attempt of creation of an instance. After an instance is successfully created while this flag is enabled, the instance behaves the same way as all the other instances created with a regular resize request. In particular, if a running instance dies unexpectedly at a later time and needs to be recreated, this mode does not affect the recreation behavior in that scenario. This flag is applicable only to the current resize request. It does not influence other resize requests in any way. You can see which instances is being creating in which mode by calling the get or listManagedInstances API.", - "type": "boolean" - }, - "targetSize": { - "description": "The number of running instances that the managed instance group should maintain at any given time. The group automatically adds or removes instances to maintain the number of instances specified by this parameter.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "InstanceGroupManagersResumeInstancesRequest": { - "id": "InstanceGroupManagersResumeInstancesRequest", - "properties": { - "instances": { - "description": "The URLs of one or more instances to resume. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "InstanceGroupManagersScopedList": { - "id": "InstanceGroupManagersScopedList", - "properties": { - "instanceGroupManagers": { - "description": "[Output Only] The list of managed instance groups that are contained in the specified project and zone.", - "items": { - "$ref": "InstanceGroupManager" - }, - "type": "array" - }, - "warning": { - "description": "[Output Only] The warning that replaces the list of managed instance groups when the list is empty.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, false, false ], @@ -57825,6 +58763,199 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "InstanceGroupManagersPatchPerInstanceConfigsReq": { + "description": "InstanceGroupManagers.patchPerInstanceConfigs", + "id": "InstanceGroupManagersPatchPerInstanceConfigsReq", + "properties": { + "perInstanceConfigs": { + "description": "The list of per-instance configurations to insert or patch on this managed instance group.", + "items": { + "$ref": "PerInstanceConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "InstanceGroupManagersRecreateInstancesRequest": { + "id": "InstanceGroupManagersRecreateInstancesRequest", + "properties": { + "instances": { + "description": "The URLs of one or more instances to recreate. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "InstanceGroupManagersResizeAdvancedRequest": { + "id": "InstanceGroupManagersResizeAdvancedRequest", + "properties": { + "noCreationRetries": { + "description": "If this flag is true, the managed instance group attempts to create all instances initiated by this resize request only once. If there is an error during creation, the managed instance group does not retry create this instance, and we will decrease the targetSize of the request instead. If the flag is false, the group attempts to recreate each instance continuously until it succeeds. This flag matters only in the first attempt of creation of an instance. After an instance is successfully created while this flag is enabled, the instance behaves the same way as all the other instances created with a regular resize request. In particular, if a running instance dies unexpectedly at a later time and needs to be recreated, this mode does not affect the recreation behavior in that scenario. This flag is applicable only to the current resize request. It does not influence other resize requests in any way. You can see which instances is being creating in which mode by calling the get or listManagedInstances API.", + "type": "boolean" + }, + "targetSize": { + "description": "The number of running instances that the managed instance group should maintain at any given time. The group automatically adds or removes instances to maintain the number of instances specified by this parameter.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "InstanceGroupManagersResumeInstancesRequest": { + "id": "InstanceGroupManagersResumeInstancesRequest", + "properties": { + "instances": { + "description": "The URLs of one or more instances to resume. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "InstanceGroupManagersScopedList": { + "id": "InstanceGroupManagersScopedList", + "properties": { + "instanceGroupManagers": { + "description": "[Output Only] The list of managed instance groups that are contained in the specified project and zone.", + "items": { + "$ref": "InstanceGroupManager" + }, + "type": "array" + }, + "warning": { + "description": "[Output Only] The warning that replaces the list of managed instance groups when the list is empty.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -58030,6 +59161,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -58066,6 +59198,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -58090,6 +59223,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -58195,6 +59329,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -58231,6 +59366,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -58255,6 +59391,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -58365,6 +59502,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -58401,6 +59539,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -58425,6 +59564,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -58517,6 +59657,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -58553,6 +59694,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -58577,6 +59719,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -59072,6 +60215,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -59108,6 +60252,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -59132,6 +60277,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -59224,6 +60370,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -59260,6 +60407,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -59284,6 +60432,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -59358,6 +60507,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -59394,6 +60544,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -59418,6 +60569,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -59473,6 +60625,7 @@ "description": "[Output Only] The status of the instance.", "enum": [ "DEPROVISIONING", + "PENDING_STOP", "PROVISIONING", "REPAIRING", "RUNNING", @@ -59485,6 +60638,7 @@ ], "enumDescriptions": [ "The instance is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.", + "The instance is gracefully shutting down.", "Resources are being allocated for the instance.", "The instance is in repair.", "The instance is running.", @@ -59530,7 +60684,7 @@ "id": "InstancesGetEffectiveFirewallsResponse", "properties": { "firewallPolicys": { - "description": "Effective firewalls from firewall policies.", + "description": "[Output Only] Effective firewalls from firewall policies.", "items": { "$ref": "InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy" }, @@ -59565,13 +60719,20 @@ "description": "[Output Only] The name of the firewall policy.", "type": "string" }, + "packetMirroringRules": { + "description": "[Output Only] The packet mirroring rules that apply to the instance.", + "items": { + "$ref": "FirewallPolicyRule" + }, + "type": "array" + }, "priority": { "description": "[Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY.", "format": "int32", "type": "integer" }, "rules": { - "description": "The rules that apply to the network.", + "description": "[Output Only] The rules that apply to the instance. Only rules that target the specific VM instance are returned if target service accounts or target secure tags are specified in the rules.", "items": { "$ref": "FirewallPolicyRule" }, @@ -59690,6 +60851,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -59726,6 +60888,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -59750,6 +60913,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -60076,6 +61240,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -60112,6 +61277,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -60136,6 +61302,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -60228,6 +61395,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -60264,6 +61432,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -60288,6 +61457,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -60373,6 +61543,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -60409,6 +61580,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -60433,6 +61605,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -60491,10 +61664,18 @@ "description": "Represents an Interconnect resource. An Interconnect resource is a dedicated connection between the Google Cloud network and your on-premises network. For more information, read the Dedicated Interconnect Overview.", "id": "Interconnect", "properties": { + "aaiEnabled": { + "description": "Enable or disable the application awareness feature on this Cloud Interconnect.", + "type": "boolean" + }, "adminEnabled": { "description": "Administrative status of the interconnect. When this is set to true, the Interconnect is functional and can carry traffic. When set to false, no packets can be carried over the interconnect and no BGP routes are exchanged over it. By default, the status is set to true.", "type": "boolean" }, + "applicationAwareInterconnect": { + "$ref": "InterconnectApplicationAwareInterconnect", + "description": "Configuration information for application awareness on this Cloud Interconnect." + }, "availableFeatures": { "description": "[Output only] List of features available for this Interconnect connection, which can take one of the following values: - IF_MACSEC If present then the Interconnect connection is provisioned on MACsec capable hardware ports. If not present then the Interconnect connection is provisioned on non-MACsec capable ports and MACsec isn't supported and enabling MACsec fails.", "items": { @@ -60689,6 +61870,81 @@ }, "type": "object" }, + "InterconnectApplicationAwareInterconnect": { + "description": "Configuration information for application awareness on this Cloud Interconnect.", + "id": "InterconnectApplicationAwareInterconnect", + "properties": { + "bandwidthPercentagePolicy": { + "$ref": "InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy" + }, + "profileDescription": { + "description": "Description for the application awareness profile on this Cloud Interconnect.", + "type": "string" + }, + "shapeAveragePercentages": { + "description": "Optional field to specify a list of shape average percentages to be applied in conjunction with StrictPriorityPolicy or BandwidthPercentagePolicy.", + "items": { + "$ref": "InterconnectApplicationAwareInterconnectBandwidthPercentage" + }, + "type": "array" + }, + "strictPriorityPolicy": { + "$ref": "InterconnectApplicationAwareInterconnectStrictPriorityPolicy" + } + }, + "type": "object" + }, + "InterconnectApplicationAwareInterconnectBandwidthPercentage": { + "description": "Specify bandwidth percentages [1-100] for various traffic classes in BandwidthPercentagePolicy. The sum of all percentages must equal 100. All traffic classes must have a percentage value specified.", + "id": "InterconnectApplicationAwareInterconnectBandwidthPercentage", + "properties": { + "percentage": { + "description": "Bandwidth percentage for a specific traffic class.", + "format": "uint32", + "type": "integer" + }, + "trafficClass": { + "description": "TrafficClass whose bandwidth percentage is being specified.", + "enum": [ + "TC1", + "TC2", + "TC3", + "TC4", + "TC5", + "TC6" + ], + "enumDescriptions": [ + "Traffic Class 1, corresponding to DSCP ranges (0-7) 000xxx.", + "Traffic Class 2, corresponding to DSCP ranges (8-15) 001xxx.", + "Traffic Class 3, corresponding to DSCP ranges (16-23) 010xxx.", + "Traffic Class 4, corresponding to DSCP ranges (24-31) 011xxx.", + "Traffic Class 5, corresponding to DSCP ranges (32-47) 10xxxx.", + "Traffic Class 6, corresponding to DSCP ranges (48-63) 11xxxx." + ], + "type": "string" + } + }, + "type": "object" + }, + "InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy": { + "id": "InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy", + "properties": { + "bandwidthPercentages": { + "description": "Specify bandwidth percentages for various traffic classes for queuing type Bandwidth Percent.", + "items": { + "$ref": "InterconnectApplicationAwareInterconnectBandwidthPercentage" + }, + "type": "array" + } + }, + "type": "object" + }, + "InterconnectApplicationAwareInterconnectStrictPriorityPolicy": { + "description": "Specify configuration for StrictPriorityPolicy.", + "id": "InterconnectApplicationAwareInterconnectStrictPriorityPolicy", + "properties": {}, + "type": "object" + }, "InterconnectAttachment": { "description": "Represents an Interconnect Attachment (VLAN) resource. You can use Interconnect attachments (VLANS) to connect your Virtual Private Cloud networks to your on-premises networks through an Interconnect. For more information, read Creating VLAN Attachments.", "id": "InterconnectAttachment", @@ -60698,8 +61954,9 @@ "type": "boolean" }, "bandwidth": { - "description": "Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s ", + "description": "Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s - BPS_100G: 100 Gbit/s ", "enum": [ + "BPS_100G", "BPS_100M", "BPS_10G", "BPS_1G", @@ -60714,6 +61971,7 @@ "BPS_5G" ], "enumDescriptions": [ + "100 Gbit/s", "100 Mbit/s", "10 Gbit/s", "1 Gbit/s", @@ -60737,7 +61995,7 @@ "type": "array" }, "candidateSubnets": { - "description": "Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space.", + "description": "Input only. Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space.", "items": { "type": "string" }, @@ -60785,7 +62043,7 @@ "type": "string" }, "edgeAvailabilityDomain": { - "description": "Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY.", + "description": "Input only. Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY.", "enum": [ "AVAILABILITY_DOMAIN_1", "AVAILABILITY_DOMAIN_2", @@ -60942,7 +62200,7 @@ "type": "string" }, "subnetLength": { - "description": "Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The default value is 29, except for Cross-Cloud Interconnect connections that use an InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal to 30. For example, connections that use an Azure remote location fall into this category. In these cases, the default value is 30, and requesting 29 returns an error. Where both 29 and 30 are allowed, 29 is preferred, because it gives Google Cloud Support more debugging visibility. ", + "description": "Input only. Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The default value is 29, except for Cross-Cloud Interconnect connections that use an InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal to 30. For example, connections that use an Azure remote location fall into this category. In these cases, the default value is 30, and requesting 29 returns an error. Where both 29 and 30 are allowed, 29 is preferred, because it gives Google Cloud Support more debugging visibility. ", "format": "int32", "type": "integer" }, @@ -61030,6 +62288,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -61066,6 +62325,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -61090,6 +62350,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -61223,6 +62484,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -61259,6 +62521,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -61283,6 +62546,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -61388,6 +62652,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -61424,6 +62689,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -61448,6 +62714,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -61741,6 +63008,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -61777,6 +63045,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -61801,6 +63070,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -61851,7 +63121,7 @@ "type": "string" }, "availableFeatures": { - "description": "[Output only] List of features available at this InterconnectLocation, which can take one of the following values: - MACSEC ", + "description": "[Output only] List of features available at this InterconnectLocation, which can take one of the following values: - IF_MACSEC ", "items": { "enum": [ "IF_MACSEC" @@ -62029,6 +63299,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -62065,6 +63336,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -62089,6 +63361,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -62533,6 +63806,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -62569,6 +63843,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -62593,6 +63868,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -62706,7 +63982,8 @@ "type": "string" }, "resourceRequirements": { - "$ref": "LicenseResourceRequirements" + "$ref": "LicenseResourceRequirements", + "description": "[Input Only] Deprecated." }, "selfLink": { "description": "[Output Only] Server-defined URL for the resource.", @@ -62825,12 +64102,12 @@ "id": "LicenseResourceRequirements", "properties": { "minGuestCpuCount": { - "description": "Minimum number of guest cpus required to use the Instance. Enforced at Instance creation and Instance start.", + "description": "[Input Only] Deprecated. This field no longer reflects the minimum number of guest cpus required to use the Instance.", "format": "int32", "type": "integer" }, "minMemoryMb": { - "description": "Minimum memory required to use the Instance. Enforced at Instance creation and Instance start.", + "description": "[Input Only] Deprecated. This field no longer reflects the minimum memory required to use the Instance.", "format": "int32", "type": "integer" } @@ -62886,6 +64163,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -62922,6 +64200,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -62946,6 +64225,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -63082,102 +64362,6 @@ }, "type": "object" }, - "LogConfig": { - "description": "This is deprecated and has no effect. Do not use.", - "id": "LogConfig", - "properties": { - "cloudAudit": { - "$ref": "LogConfigCloudAuditOptions", - "description": "This is deprecated and has no effect. Do not use." - }, - "counter": { - "$ref": "LogConfigCounterOptions", - "description": "This is deprecated and has no effect. Do not use." - }, - "dataAccess": { - "$ref": "LogConfigDataAccessOptions", - "description": "This is deprecated and has no effect. Do not use." - } - }, - "type": "object" - }, - "LogConfigCloudAuditOptions": { - "description": "This is deprecated and has no effect. Do not use.", - "id": "LogConfigCloudAuditOptions", - "properties": { - "logName": { - "description": "This is deprecated and has no effect. Do not use.", - "enum": [ - "ADMIN_ACTIVITY", - "DATA_ACCESS", - "UNSPECIFIED_LOG_NAME" - ], - "enumDescriptions": [ - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use." - ], - "type": "string" - } - }, - "type": "object" - }, - "LogConfigCounterOptions": { - "description": "This is deprecated and has no effect. Do not use.", - "id": "LogConfigCounterOptions", - "properties": { - "customFields": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "$ref": "LogConfigCounterOptionsCustomField" - }, - "type": "array" - }, - "field": { - "description": "This is deprecated and has no effect. Do not use.", - "type": "string" - }, - "metric": { - "description": "This is deprecated and has no effect. Do not use.", - "type": "string" - } - }, - "type": "object" - }, - "LogConfigCounterOptionsCustomField": { - "description": "This is deprecated and has no effect. Do not use.", - "id": "LogConfigCounterOptionsCustomField", - "properties": { - "name": { - "description": "This is deprecated and has no effect. Do not use.", - "type": "string" - }, - "value": { - "description": "This is deprecated and has no effect. Do not use.", - "type": "string" - } - }, - "type": "object" - }, - "LogConfigDataAccessOptions": { - "description": "This is deprecated and has no effect. Do not use.", - "id": "LogConfigDataAccessOptions", - "properties": { - "logMode": { - "description": "This is deprecated and has no effect. Do not use.", - "enum": [ - "LOG_FAIL_CLOSED", - "LOG_MODE_UNSPECIFIED" - ], - "enumDescriptions": [ - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use." - ], - "type": "string" - } - }, - "type": "object" - }, "MachineImage": { "description": "Represents a machine image resource. A machine image is a Compute Engine resource that stores all the configuration, metadata, permissions, and data from one or more disks required to create a Virtual machine (VM) instance. For more information, see Machine images.", "id": "MachineImage", @@ -63345,6 +64529,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -63381,6 +64566,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -63405,6 +64591,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -63606,6 +64793,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -63642,6 +64830,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -63666,6 +64855,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -63758,6 +64948,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -63794,6 +64985,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -63818,6 +65010,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -63892,6 +65085,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -63928,6 +65122,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -63952,6 +65147,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -64051,6 +65247,7 @@ "description": "[Output Only] The status of the instance. This field is empty when the instance does not exist.", "enum": [ "DEPROVISIONING", + "PENDING_STOP", "PROVISIONING", "REPAIRING", "RUNNING", @@ -64063,6 +65260,7 @@ ], "enumDescriptions": [ "The instance is halted and we are performing tear down tasks like network deprogramming, releasing quota, IP, tearing down disks etc.", + "The instance is gracefully shutting down.", "Resources are being allocated for the instance.", "The instance is in repair.", "The instance is running.", @@ -64222,10 +65420,12 @@ "provisioningModel": { "description": "The provisioning model to be used for this instance.", "enum": [ + "RESERVATION_BOUND", "SPOT", "STANDARD" ], "enumDescriptions": [ + "Bound to the lifecycle of the reservation in which it is provisioned.", "Heavily discounted, no guaranteed runtime.", "Standard provisioning with user controlled runtime, no discounts." ], @@ -64339,320 +65539,98 @@ }, "type": "object" }, - "NamedPort": { - "description": "The named port. For example: <\"http\", 80>.", - "id": "NamedPort", - "properties": { - "name": { - "description": "The name for this named port. The name must be 1-63 characters long, and comply with RFC1035.", - "type": "string" - }, - "port": { - "description": "The port number, which can be a value between 1 and 65535.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "NatIpInfo": { - "description": "Contains NAT IP information of a NAT config (i.e. usage status, mode).", - "id": "NatIpInfo", - "properties": { - "natIpInfoMappings": { - "description": "A list of all NAT IPs assigned to this NAT config.", - "items": { - "$ref": "NatIpInfoNatIpInfoMapping" - }, - "type": "array" - }, - "natName": { - "description": "Name of the NAT config which the NAT IP belongs to.", - "type": "string" - } - }, - "type": "object" - }, - "NatIpInfoNatIpInfoMapping": { - "description": "Contains information of a NAT IP.", - "id": "NatIpInfoNatIpInfoMapping", + "MultiMig": { + "description": "Multi-MIG represents a group of managed instance groups.", + "id": "MultiMig", "properties": { - "mode": { - "description": "Specifies whether NAT IP is auto or manual.", - "enum": [ - "AUTO", - "MANUAL" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - }, - "natIp": { - "description": "NAT IP address. For example: 203.0.113.11.", - "type": "string" - }, - "usage": { - "description": "Specifies whether NAT IP is currently serving at least one endpoint or not.", - "enum": [ - "IN_USE", - "UNUSED" - ], - "enumDescriptions": [ - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "NatIpInfoResponse": { - "id": "NatIpInfoResponse", - "properties": { - "result": { - "description": "[Output Only] A list of NAT IP information.", - "items": { - "$ref": "NatIpInfo" - }, - "type": "array" - } - }, - "type": "object" - }, - "Network": { - "description": "Represents a VPC Network resource. Networks connect resources to each other and to the internet. For more information, read Virtual Private Cloud (VPC) Network.", - "id": "Network", - "properties": { - "IPv4Range": { - "deprecated": true, - "description": "Deprecated in favor of subnet mode networks. The range of internal addresses that are legal on this network. This range is a CIDR specification, for example: 192.168.0.0/16. Provided by the client when the network is created.", - "pattern": "[0-9]{1,3}(?:\\.[0-9]{1,3}){3}/[0-9]{1,2}", - "type": "string" - }, - "autoCreateSubnetworks": { - "description": "Must be set to create a VPC network. If not set, a legacy network is created. When set to true, the VPC network is created in auto mode. When set to false, the VPC network is created in custom mode. An auto mode VPC network starts with one subnet per region. Each subnet has a predetermined range as described in Auto mode VPC network IP ranges. For custom mode VPC networks, you can add subnets using the subnetworks insert method.", - "type": "boolean" - }, "creationTimestamp": { - "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "description": "[Output only] The creation timestamp of this multi-MIG in RFC3339 text format.", "type": "string" }, "description": { - "description": "An optional description of this resource. Provide this field when you create the resource.", - "type": "string" - }, - "enableUlaInternalIpv6": { - "description": "Enable ULA internal ipv6 on this network. Enabling this feature will assign a /48 from google defined ULA prefix fd20::/20. .", - "type": "boolean" - }, - "firewallPolicy": { - "description": "[Output Only] URL of the firewall policy the network is associated with.", - "type": "string" - }, - "gatewayIPv4": { - "description": "[Output Only] The gateway address for default routing out of the network, selected by Google Cloud.", - "pattern": "[0-9]{1,3}(?:\\.[0-9]{1,3}){3}", + "description": "An optional description of this resource.", "type": "string" }, "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "description": "[Output only] The unique identifier for this resource type. The server generates this identifier.", "format": "uint64", "type": "string" }, - "internalIpv6Range": { - "description": "When enabling ula internal ipv6, caller optionally can specify the /48 range they want from the google defined ULA prefix fd20::/20. The input must be a valid /48 ULA IPv6 address and must be within the fd20::/20. Operation will fail if the speficied /48 is already in used by another resource. If the field is not speficied, then a /48 range will be randomly allocated from fd20::/20 and returned via this field. .", - "type": "string" - }, "kind": { - "default": "compute#network", - "description": "[Output Only] Type of the resource. Always compute#network for networks.", + "default": "compute#multiMig", + "description": "[Output only] Type of the resource. Always compute#multiMig for multi-MIGs.", "type": "string" }, - "mtu": { - "description": "Maximum Transmission Unit in bytes. The minimum value for this field is 1300 and the maximum value is 8896. The suggested value is 1500, which is the default MTU used on the Internet, or 8896 if you want to use Jumbo frames. If unspecified, the value defaults to 1460.", - "format": "int32", - "type": "integer" - }, "name": { - "annotations": { - "required": [ - "compute.networks.insert" - ] - }, - "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit.", + "description": "The name of the multi-MIG. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, - "networkFirewallPolicyEnforcementOrder": { - "description": "The network firewall policy enforcement order. Can be either AFTER_CLASSIC_FIREWALL or BEFORE_CLASSIC_FIREWALL. Defaults to AFTER_CLASSIC_FIREWALL if the field is not specified.", - "enum": [ - "AFTER_CLASSIC_FIREWALL", - "BEFORE_CLASSIC_FIREWALL" - ], - "enumDescriptions": [ - "", - "" - ], + "region": { + "description": "[Output only] The URL of the region where the resource resides. You must specify this field as part of the HTTP request URL. You cannot set the region as a field in the request body.", "type": "string" }, - "peerings": { - "description": "[Output Only] A list of network peerings for the resource.", - "items": { - "$ref": "NetworkPeering" - }, - "type": "array" - }, - "routingConfig": { - "$ref": "NetworkRoutingConfig", - "description": "The network-level routing configuration for this network. Used by Cloud Router to determine what type of network-wide routing behavior to enforce." + "resourcePolicies": { + "$ref": "MultiMigResourcePolicies", + "description": "Resource policies for this multi-MIG." }, "selfLink": { - "description": "[Output Only] Server-defined URL for the resource.", - "type": "string" - }, - "selfLinkWithId": { - "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "description": "[Output only] Server-defined URL for the resource.", "type": "string" - }, - "subnetworks": { - "description": "[Output Only] Server-defined fully-qualified URLs for all subnetworks in this VPC network.", - "items": { - "type": "string" - }, - "type": "array" } }, "type": "object" }, - "NetworkAttachment": { - "description": "NetworkAttachments A network attachment resource ...", - "id": "NetworkAttachment", + "MultiMigResourcePolicies": { + "description": "Resource policies message for a multi-MIG. Specifies the workload policy configuration of the multi-MIG.", + "id": "MultiMigResourcePolicies", "properties": { - "connectionEndpoints": { - "description": "[Output Only] An array of connections for all the producers connected to this network attachment.", - "items": { - "$ref": "NetworkAttachmentConnectedEndpoint" - }, - "type": "array" - }, - "connectionPreference": { - "enum": [ - "ACCEPT_AUTOMATIC", - "ACCEPT_MANUAL", - "INVALID" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "creationTimestamp": { - "description": "[Output Only] Creation timestamp in RFC3339 text format.", - "type": "string" - }, - "description": { - "description": "An optional description of this resource. Provide this property when you create the resource.", - "type": "string" - }, - "fingerprint": { - "description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. An up-to-date fingerprint must be provided in order to patch.", - "format": "byte", - "type": "string" - }, - "id": { - "description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", - "format": "uint64", - "type": "string" - }, - "kind": { - "default": "compute#networkAttachment", - "description": "[Output Only] Type of the resource.", - "type": "string" - }, - "name": { - "annotations": { - "required": [ - "compute.networkAttachments.insert" - ] - }, - "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" - }, - "network": { - "description": "[Output Only] The URL of the network which the Network Attachment belongs to. Practically it is inferred by fetching the network of the first subnetwork associated. Because it is required that all the subnetworks must be from the same network, it is assured that the Network Attachment belongs to the same network as all the subnetworks.", - "type": "string" - }, - "producerAcceptLists": { - "description": "Projects that are allowed to connect to this network attachment. The project can be specified using its id or number.", - "items": { - "type": "string" - }, - "type": "array" - }, - "producerRejectLists": { - "description": "Projects that are not allowed to connect to this network attachment. The project can be specified using its id or number.", - "items": { - "type": "string" - }, - "type": "array" - }, - "region": { - "description": "[Output Only] URL of the region where the network attachment resides. This field applies only to the region resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for the resource.", - "type": "string" - }, - "selfLinkWithId": { - "description": "[Output Only] Server-defined URL for this resource's resource id.", + "workloadPolicy": { + "description": "The URL of the workload policy for this multi-MIG. It can be a full or partial URL. For example, the following are all valid URLs to a workload policy: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy ", "type": "string" - }, - "subnetworks": { - "description": "An array of URLs where each entry is the URL of a subnet provided by the service consumer to use for endpoints in the producers that connect to this network attachment.", - "items": { - "type": "string" - }, - "type": "array" } }, "type": "object" }, - "NetworkAttachmentAggregatedList": { - "description": "Contains a list of NetworkAttachmentsScopedList.", - "id": "NetworkAttachmentAggregatedList", + "MultiMigsList": { + "id": "MultiMigsList", "properties": { + "etag": { + "type": "string" + }, "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "description": "Unique identifier for the resource; defined by the server.", "type": "string" }, "items": { - "additionalProperties": { - "$ref": "NetworkAttachmentsScopedList", - "description": "Name of the scope containing this set of NetworkAttachments." + "description": "A list of multi-MIGs in the specified project and region.", + "items": { + "$ref": "MultiMig" }, - "description": "A list of NetworkAttachmentsScopedList resources.", - "type": "object" + "type": "array" }, "kind": { - "default": "compute#networkAttachmentAggregatedList", + "default": "compute#multiMigList", + "description": "Type of resource.", "type": "string" }, "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "description": "This token allows you to get the next page of results for maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", "type": "string" }, "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", + "description": "[Output only] Server-defined URL for this resource.", "type": "string" }, + "unreachables": { + "description": "[Output only] Unreachable resources.", + "items": { + "type": "string" + }, + "type": "array" + }, "warning": { - "description": "[Output Only] Informational warning message.", + "description": "Informational warning message.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", @@ -64678,6 +65656,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -64714,6 +65693,450 @@ false, false, false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "NamedPort": { + "description": "The named port. For example: <\"http\", 80>.", + "id": "NamedPort", + "properties": { + "name": { + "description": "The name for this named port. The name must be 1-63 characters long, and comply with RFC1035.", + "type": "string" + }, + "port": { + "description": "The port number, which can be a value between 1 and 65535.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "NatIpInfo": { + "description": "Contains NAT IP information of a NAT config (i.e. usage status, mode).", + "id": "NatIpInfo", + "properties": { + "natIpInfoMappings": { + "description": "A list of all NAT IPs assigned to this NAT config.", + "items": { + "$ref": "NatIpInfoNatIpInfoMapping" + }, + "type": "array" + }, + "natName": { + "description": "Name of the NAT config which the NAT IP belongs to.", + "type": "string" + } + }, + "type": "object" + }, + "NatIpInfoNatIpInfoMapping": { + "description": "Contains information of a NAT IP.", + "id": "NatIpInfoNatIpInfoMapping", + "properties": { + "mode": { + "description": "Specifies whether NAT IP is auto or manual.", + "enum": [ + "AUTO", + "MANUAL" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "natIp": { + "description": "NAT IP address. For example: 203.0.113.11.", + "type": "string" + }, + "usage": { + "description": "Specifies whether NAT IP is currently serving at least one endpoint or not.", + "enum": [ + "IN_USE", + "UNUSED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "NatIpInfoResponse": { + "id": "NatIpInfoResponse", + "properties": { + "result": { + "description": "[Output Only] A list of NAT IP information.", + "items": { + "$ref": "NatIpInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "Network": { + "description": "Represents a VPC Network resource. Networks connect resources to each other and to the internet. For more information, read Virtual Private Cloud (VPC) Network.", + "id": "Network", + "properties": { + "IPv4Range": { + "deprecated": true, + "description": "Deprecated in favor of subnet mode networks. The range of internal addresses that are legal on this network. This range is a CIDR specification, for example: 192.168.0.0/16. Provided by the client when the network is created.", + "pattern": "[0-9]{1,3}(?:\\.[0-9]{1,3}){3}/[0-9]{1,2}", + "type": "string" + }, + "autoCreateSubnetworks": { + "description": "Must be set to create a VPC network. If not set, a legacy network is created. When set to true, the VPC network is created in auto mode. When set to false, the VPC network is created in custom mode. An auto mode VPC network starts with one subnet per region. Each subnet has a predetermined range as described in Auto mode VPC network IP ranges. For custom mode VPC networks, you can add subnets using the subnetworks insert method.", + "type": "boolean" + }, + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "An optional description of this resource. Provide this field when you create the resource.", + "type": "string" + }, + "enableUlaInternalIpv6": { + "description": "Enable ULA internal ipv6 on this network. Enabling this feature will assign a /48 from google defined ULA prefix fd20::/20. .", + "type": "boolean" + }, + "firewallPolicy": { + "description": "[Output Only] URL of the firewall policy the network is associated with.", + "type": "string" + }, + "gatewayIPv4": { + "description": "[Output Only] The gateway address for default routing out of the network, selected by Google Cloud.", + "pattern": "[0-9]{1,3}(?:\\.[0-9]{1,3}){3}", + "type": "string" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64", + "type": "string" + }, + "internalIpv6Range": { + "description": "When enabling ula internal ipv6, caller optionally can specify the /48 range they want from the google defined ULA prefix fd20::/20. The input must be a valid /48 ULA IPv6 address and must be within the fd20::/20. Operation will fail if the speficied /48 is already in used by another resource. If the field is not speficied, then a /48 range will be randomly allocated from fd20::/20 and returned via this field. .", + "type": "string" + }, + "kind": { + "default": "compute#network", + "description": "[Output Only] Type of the resource. Always compute#network for networks.", + "type": "string" + }, + "mtu": { + "description": "Maximum Transmission Unit in bytes. The minimum value for this field is 1300 and the maximum value is 8896. The suggested value is 1500, which is the default MTU used on the Internet, or 8896 if you want to use Jumbo frames. If unspecified, the value defaults to 1460.", + "format": "int32", + "type": "integer" + }, + "name": { + "annotations": { + "required": [ + "compute.networks.insert" + ] + }, + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`. The first character must be a lowercase letter, and all following characters (except for the last character) must be a dash, lowercase letter, or digit. The last character must be a lowercase letter or digit.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "networkFirewallPolicyEnforcementOrder": { + "description": "The network firewall policy enforcement order. Can be either AFTER_CLASSIC_FIREWALL or BEFORE_CLASSIC_FIREWALL. Defaults to AFTER_CLASSIC_FIREWALL if the field is not specified.", + "enum": [ + "AFTER_CLASSIC_FIREWALL", + "BEFORE_CLASSIC_FIREWALL" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "networkProfile": { + "description": "A full or partial URL of the network profile to apply to this network. This field can be set only at resource creation time. For example, the following are valid URLs: - https://www.googleapis.com/compute/{api_version}/projects/{project_id}/global/networkProfiles/{network_profile_name} - projects/{project_id}/global/networkProfiles/{network_profile_name} ", + "type": "string" + }, + "peerings": { + "description": "[Output Only] A list of network peerings for the resource.", + "items": { + "$ref": "NetworkPeering" + }, + "type": "array" + }, + "routingConfig": { + "$ref": "NetworkRoutingConfig", + "description": "The network-level routing configuration for this network. Used by Cloud Router to determine what type of network-wide routing behavior to enforce." + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + }, + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "type": "string" + }, + "subnetworks": { + "description": "[Output Only] Server-defined fully-qualified URLs for all subnetworks in this VPC network.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "NetworkAttachment": { + "description": "NetworkAttachments A network attachment resource ...", + "id": "NetworkAttachment", + "properties": { + "connectionEndpoints": { + "description": "[Output Only] An array of connections for all the producers connected to this network attachment.", + "items": { + "$ref": "NetworkAttachmentConnectedEndpoint" + }, + "type": "array" + }, + "connectionPreference": { + "enum": [ + "ACCEPT_AUTOMATIC", + "ACCEPT_MANUAL", + "INVALID" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", + "type": "string" + }, + "fingerprint": { + "description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. An up-to-date fingerprint must be provided in order to patch.", + "format": "byte", + "type": "string" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", + "format": "uint64", + "type": "string" + }, + "kind": { + "default": "compute#networkAttachment", + "description": "[Output Only] Type of the resource.", + "type": "string" + }, + "name": { + "annotations": { + "required": [ + "compute.networkAttachments.insert" + ] + }, + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "network": { + "description": "[Output Only] The URL of the network which the Network Attachment belongs to. Practically it is inferred by fetching the network of the first subnetwork associated. Because it is required that all the subnetworks must be from the same network, it is assured that the Network Attachment belongs to the same network as all the subnetworks.", + "type": "string" + }, + "producerAcceptLists": { + "description": "Projects that are allowed to connect to this network attachment. The project can be specified using its id or number.", + "items": { + "type": "string" + }, + "type": "array" + }, + "producerRejectLists": { + "description": "Projects that are not allowed to connect to this network attachment. The project can be specified using its id or number.", + "items": { + "type": "string" + }, + "type": "array" + }, + "region": { + "description": "[Output Only] URL of the region where the network attachment resides. This field applies only to the region resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + }, + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource's resource id.", + "type": "string" + }, + "subnetworks": { + "description": "An array of URLs where each entry is the URL of a subnet provided by the service consumer to use for endpoints in the producers that connect to this network attachment.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "NetworkAttachmentAggregatedList": { + "description": "Contains a list of NetworkAttachmentsScopedList.", + "id": "NetworkAttachmentAggregatedList", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "additionalProperties": { + "$ref": "NetworkAttachmentsScopedList", + "description": "Name of the scope containing this set of NetworkAttachments." + }, + "description": "A list of NetworkAttachmentsScopedList resources.", + "type": "object" + }, + "kind": { + "default": "compute#networkAttachmentAggregatedList", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, false ], "enumDescriptions": [ @@ -64738,6 +66161,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -64882,6 +66306,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -64918,6 +66343,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -64942,6 +66368,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -65016,6 +66443,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -65052,6 +66480,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -65076,6 +66505,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -65229,6 +66659,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -65265,6 +66696,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -65289,6 +66721,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -65363,6 +66796,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -65399,6 +66833,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -65423,6 +66858,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -65680,6 +67116,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -65716,6 +67153,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -65740,6 +67178,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -65912,6 +67351,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -65948,6 +67388,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -65972,6 +67413,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -66183,6 +67625,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -66219,6 +67662,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -66243,6 +67687,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -66317,6 +67762,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -66353,286 +67799,6 @@ false, false, false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "NetworkEndpointWithHealthStatus": { - "id": "NetworkEndpointWithHealthStatus", - "properties": { - "healths": { - "description": "[Output only] The health status of network endpoint;", - "items": { - "$ref": "HealthStatusForNetworkEndpoint" - }, - "type": "array" - }, - "networkEndpoint": { - "$ref": "NetworkEndpoint", - "description": "[Output only] The network endpoint;" - } - }, - "type": "object" - }, - "NetworkInterface": { - "description": "A network interface resource attached to an instance.", - "id": "NetworkInterface", - "properties": { - "accessConfigs": { - "description": "An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.", - "items": { - "$ref": "AccessConfig" - }, - "type": "array" - }, - "aliasIpRanges": { - "description": "An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.", - "items": { - "$ref": "AliasIpRange" - }, - "type": "array" - }, - "fingerprint": { - "description": "Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.", - "format": "byte", - "type": "string" - }, - "internalIpv6PrefixLength": { - "description": "The prefix length of the primary internal IPv6 range.", - "format": "int32", - "type": "integer" - }, - "ipv6AccessConfigs": { - "description": "An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.", - "items": { - "$ref": "AccessConfig" - }, - "type": "array" - }, - "ipv6AccessType": { - "description": "[Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork. Valid only if stackType is IPV4_IPV6.", - "enum": [ - "EXTERNAL", - "INTERNAL" - ], - "enumDescriptions": [ - "This network interface can have external IPv6.", - "This network interface can have internal IPv6." - ], - "type": "string" - }, - "ipv6Address": { - "description": "An IPv6 internal network address for this network interface. To use a static internal IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.", - "type": "string" - }, - "kind": { - "default": "compute#networkInterface", - "description": "[Output Only] Type of the resource. Always compute#networkInterface for network interfaces.", - "type": "string" - }, - "name": { - "description": "[Output Only] The name of the network interface, which is generated by the server. For a VM, the network interface uses the nicN naming format. Where N is a value between 0 and 7. The default interface value is nic0.", - "type": "string" - }, - "network": { - "description": "URL of the VPC network resource for this instance. When creating an instance, if neither the network nor the subnetwork is specified, the default network global/networks/default is used. If the selected project doesn't have the default network, you must specify a network or subnet. If the network is not specified but the subnetwork is specified, the network is inferred. If you specify this property, you can specify the network as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/global/networks/ network - projects/project/global/networks/network - global/networks/default ", - "type": "string" - }, - "networkAttachment": { - "description": "The URL of the network attachment that this interface should connect to in the following format: projects/{project_number}/regions/{region_name}/networkAttachments/{network_attachment_name}.", - "type": "string" - }, - "networkIP": { - "description": "An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.", - "type": "string" - }, - "nicType": { - "description": "The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.", - "enum": [ - "GVNIC", - "IDPF", - "UNSPECIFIED_NIC_TYPE", - "VIRTIO_NET" - ], - "enumDescriptions": [ - "GVNIC", - "IDPF", - "No type specified.", - "VIRTIO" - ], - "type": "string" - }, - "queueCount": { - "description": "The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It'll be empty if not specified by the users.", - "format": "int32", - "type": "integer" - }, - "stackType": { - "description": "The stack type for this network interface. To assign only IPv4 addresses, use IPV4_ONLY. To assign both IPv4 and IPv6 addresses, use IPV4_IPV6. If not specified, IPV4_ONLY is used. This field can be both set at instance creation and update network interface operations.", - "enum": [ - "IPV4_IPV6", - "IPV4_ONLY" - ], - "enumDescriptions": [ - "The network interface can have both IPv4 and IPv6 addresses.", - "The network interface will be assigned IPv4 address." - ], - "type": "string" - }, - "subnetwork": { - "description": "The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/regions/region /subnetworks/subnetwork - regions/region/subnetworks/subnetwork ", - "type": "string" - } - }, - "type": "object" - }, - "NetworkList": { - "description": "Contains a list of networks.", - "id": "NetworkList", - "properties": { - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", - "type": "string" - }, - "items": { - "description": "A list of Network resources.", - "items": { - "$ref": "Network" - }, - "type": "array" - }, - "kind": { - "default": "compute#networkList", - "description": "[Output Only] Type of resource. Always compute#networkList for lists of networks.", - "type": "string" - }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", - "type": "string" - }, - "warning": { - "description": "[Output Only] Informational warning message.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, false, false ], @@ -66658,6 +67824,459 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "NetworkEndpointWithHealthStatus": { + "id": "NetworkEndpointWithHealthStatus", + "properties": { + "healths": { + "description": "[Output only] The health status of network endpoint;", + "items": { + "$ref": "HealthStatusForNetworkEndpoint" + }, + "type": "array" + }, + "networkEndpoint": { + "$ref": "NetworkEndpoint", + "description": "[Output only] The network endpoint;" + } + }, + "type": "object" + }, + "NetworkFirewallPolicyAggregatedList": { + "id": "NetworkFirewallPolicyAggregatedList", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "additionalProperties": { + "$ref": "FirewallPoliciesScopedList", + "description": "Name of the scope containing this set of addresses." + }, + "description": "A list of FirewallPoliciesScopedList resources.", + "type": "object" + }, + "kind": { + "default": "compute#networkFirewallPolicyAggregatedList", + "description": "[Output Only] Type of resource. Always compute#networkFirewallPoliciesAggregatedList for lists of network firewall policies.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "[Output Only] Unreachable resources.", + "items": { + "type": "string" + }, + "type": "array" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "NetworkInterface": { + "description": "A network interface resource attached to an instance.", + "id": "NetworkInterface", + "properties": { + "accessConfigs": { + "description": "An array of configurations for this interface. Currently, only one access config, ONE_TO_ONE_NAT, is supported. If there are no accessConfigs specified, then this instance will have no external internet access.", + "items": { + "$ref": "AccessConfig" + }, + "type": "array" + }, + "aliasIpRanges": { + "description": "An array of alias IP ranges for this network interface. You can only specify this field for network interfaces in VPC networks.", + "items": { + "$ref": "AliasIpRange" + }, + "type": "array" + }, + "fingerprint": { + "description": "Fingerprint hash of contents stored in this network interface. This field will be ignored when inserting an Instance or adding a NetworkInterface. An up-to-date fingerprint must be provided in order to update the NetworkInterface. The request will fail with error 400 Bad Request if the fingerprint is not provided, or 412 Precondition Failed if the fingerprint is out of date.", + "format": "byte", + "type": "string" + }, + "internalIpv6PrefixLength": { + "description": "The prefix length of the primary internal IPv6 range.", + "format": "int32", + "type": "integer" + }, + "ipv6AccessConfigs": { + "description": "An array of IPv6 access configurations for this interface. Currently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig specified, then this instance will have no external IPv6 Internet access.", + "items": { + "$ref": "AccessConfig" + }, + "type": "array" + }, + "ipv6AccessType": { + "description": "[Output Only] One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet. This field is always inherited from its subnetwork. Valid only if stackType is IPV4_IPV6.", + "enum": [ + "EXTERNAL", + "INTERNAL" + ], + "enumDescriptions": [ + "This network interface can have external IPv6.", + "This network interface can have internal IPv6." + ], + "type": "string" + }, + "ipv6Address": { + "description": "An IPv6 internal network address for this network interface. To use a static internal IP address, it must be unused and in the same region as the instance's zone. If not specified, Google Cloud will automatically assign an internal IPv6 address from the instance's subnetwork.", + "type": "string" + }, + "kind": { + "default": "compute#networkInterface", + "description": "[Output Only] Type of the resource. Always compute#networkInterface for network interfaces.", + "type": "string" + }, + "name": { + "description": "[Output Only] The name of the network interface, which is generated by the server. For a VM, the network interface uses the nicN naming format. Where N is a value between 0 and 7. The default interface value is nic0.", + "type": "string" + }, + "network": { + "description": "URL of the VPC network resource for this instance. When creating an instance, if neither the network nor the subnetwork is specified, the default network global/networks/default is used. If the selected project doesn't have the default network, you must specify a network or subnet. If the network is not specified but the subnetwork is specified, the network is inferred. If you specify this property, you can specify the network as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/global/networks/ network - projects/project/global/networks/network - global/networks/default ", + "type": "string" + }, + "networkAttachment": { + "description": "The URL of the network attachment that this interface should connect to in the following format: projects/{project_number}/regions/{region_name}/networkAttachments/{network_attachment_name}.", + "type": "string" + }, + "networkIP": { + "description": "An IPv4 internal IP address to assign to the instance for this network interface. If not specified by the user, an unused internal IP is assigned by the system.", + "type": "string" + }, + "nicType": { + "description": "The type of vNIC to be used on this interface. This may be gVNIC or VirtioNet.", + "enum": [ + "GVNIC", + "IDPF", + "IRDMA", + "MRDMA", + "UNSPECIFIED_NIC_TYPE", + "VIRTIO_NET" + ], + "enumDescriptions": [ + "GVNIC", + "IDPF", + "IRDMA", + "MRDMA", + "No type specified.", + "VIRTIO" + ], + "type": "string" + }, + "queueCount": { + "description": "The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It'll be empty if not specified by the users.", + "format": "int32", + "type": "integer" + }, + "stackType": { + "description": "The stack type for this network interface. To assign only IPv4 addresses, use IPV4_ONLY. To assign both IPv4 and IPv6 addresses, use IPV4_IPV6. If not specified, IPV4_ONLY is used. This field can be both set at instance creation and update network interface operations.", + "enum": [ + "IPV4_IPV6", + "IPV4_ONLY", + "IPV6_ONLY" + ], + "enumDescriptions": [ + "The network interface can have both IPv4 and IPv6 addresses.", + "The network interface will only be assigned IPv4 addresses.", + "The network interface will only be assigned IPv6 addresses." + ], + "type": "string" + }, + "subnetwork": { + "description": "The URL of the Subnetwork resource for this instance. If the network resource is in legacy mode, do not specify this field. If the network is in auto subnet mode, specifying the subnetwork is optional. If the network is in custom subnet mode, specifying the subnetwork is required. If you specify this field, you can specify the subnetwork as a full or partial URL. For example, the following are all valid URLs: - https://www.googleapis.com/compute/v1/projects/project/regions/region /subnetworks/subnetwork - regions/region/subnetworks/subnetwork ", + "type": "string" + } + }, + "type": "object" + }, + "NetworkList": { + "description": "Contains a list of networks.", + "id": "NetworkList", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of Network resources.", + "items": { + "$ref": "Network" + }, + "type": "array" + }, + "kind": { + "default": "compute#networkList", + "description": "[Output Only] Type of resource. Always compute#networkList for lists of networks.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -66784,6 +68403,545 @@ }, "type": "object" }, + "NetworkProfile": { + "description": "NetworkProfile represents a Google managed network profile resource.", + "id": "NetworkProfile", + "properties": { + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "[Output Only] An optional description of this resource.", + "type": "string" + }, + "features": { + "$ref": "NetworkProfileNetworkFeatures", + "description": "[Output Only] Features supported by the network." + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64", + "type": "string" + }, + "kind": { + "default": "compute#networkProfile", + "description": "[Output Only] Type of the resource. Always compute#networkProfile for network profiles.", + "type": "string" + }, + "location": { + "$ref": "NetworkProfileLocation", + "description": "[Output Only] Location to which the network is restricted." + }, + "name": { + "description": "[Output Only] Name of the resource.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + }, + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "type": "string" + }, + "zone": { + "description": "[Output Only] Zone to which the network is restricted.", + "type": "string" + } + }, + "type": "object" + }, + "NetworkProfileLocation": { + "id": "NetworkProfileLocation", + "properties": { + "name": { + "type": "string" + }, + "scope": { + "enum": [ + "REGION", + "ZONE" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "NetworkProfileNetworkFeatures": { + "id": "NetworkProfileNetworkFeatures", + "properties": { + "addressPurposes": { + "description": "Specifies what address purposes are supported. If empty, all address purposes are supported.", + "items": { + "enum": [ + "DNS_RESOLVER", + "GCE_ENDPOINT", + "IPSEC_INTERCONNECT", + "NAT_AUTO", + "PRIVATE_SERVICE_CONNECT", + "SERVERLESS", + "SHARED_LOADBALANCER_VIP", + "VPC_PEERING" + ], + "enumDescriptions": [ + "DNS resolver address in the subnetwork.", + "VM internal/alias IP, Internal LB service IP, etc.", + "A regional internal IP address range reserved for the VLAN attachment that is used in HA VPN over Cloud Interconnect. This regional internal IP address range must not overlap with any IP address range of subnet/route in the VPC network and its peering networks. After the VLAN attachment is created with the reserved IP address range, when creating a new VPN gateway, its interface IP address is allocated from the associated VLAN attachment’s IP address range.", + "External IP automatically reserved for Cloud NAT.", + "A private network IP address that can be used to configure Private Service Connect. This purpose can be specified only for GLOBAL addresses of Type INTERNAL", + "A regional internal IP address range reserved for Serverless.", + "A private network IP address that can be shared by multiple Internal Load Balancer forwarding rules.", + "IP range for peer networks." + ], + "type": "string" + }, + "type": "array" + }, + "allowAliasIpRanges": { + "description": "Specifies whether alias IP ranges (and secondary address ranges) are allowed.", + "enum": [ + "ALIAS_IP_RANGES_ALLOWED", + "ALIAS_IP_RANGES_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowAutoModeSubnet": { + "description": "Specifies whether auto mode subnet creation is allowed.", + "enum": [ + "AUTO_MODE_SUBNET_ALLOWED", + "AUTO_MODE_SUBNET_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowClassDFirewalls": { + "description": "Specifies whether firewalls for Class D address ranges are supported.", + "enum": [ + "CLASS_D_FIREWALLS_ALLOWED", + "CLASS_D_FIREWALLS_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowCloudNat": { + "description": "Specifies whether cloud NAT creation is allowed.", + "enum": [ + "CLOUD_NAT_ALLOWED", + "CLOUD_NAT_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowCloudRouter": { + "description": "Specifies whether cloud router creation is allowed.", + "enum": [ + "CLOUD_ROUTER_ALLOWED", + "CLOUD_ROUTER_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowExternalIpAccess": { + "description": "Specifies whether VMs are allowed to have external IP access on network interfaces connected to this VPC.", + "enum": [ + "EXTERNAL_IP_ACCESS_ALLOWED", + "EXTERNAL_IP_ACCESS_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowInterconnect": { + "description": "Specifies whether Cloud Interconnect creation is allowed.", + "enum": [ + "INTERCONNECT_ALLOWED", + "INTERCONNECT_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowLoadBalancing": { + "description": "Specifies whether cloud load balancing is allowed.", + "enum": [ + "LOAD_BALANCING_ALLOWED", + "LOAD_BALANCING_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowMultiNicInSameNetwork": { + "description": "Specifies whether multi-nic in the same network is allowed.", + "enum": [ + "MULTI_NIC_IN_SAME_NETWORK_ALLOWED", + "MULTI_NIC_IN_SAME_NETWORK_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowPacketMirroring": { + "description": "Specifies whether Packet Mirroring 1.0 is supported.", + "enum": [ + "PACKET_MIRRORING_ALLOWED", + "PACKET_MIRRORING_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowPrivateGoogleAccess": { + "description": "Specifies whether private Google access is allowed.", + "enum": [ + "PRIVATE_GOOGLE_ACCESS_ALLOWED", + "PRIVATE_GOOGLE_ACCESS_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowPsc": { + "description": "Specifies whether PSC creation is allowed.", + "enum": [ + "PSC_ALLOWED", + "PSC_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowSameNetworkUnicast": { + "description": "Specifies whether unicast within the same network is allowed.", + "enum": [ + "SAME_NETWORK_UNICAST_ALLOWED", + "SAME_NETWORK_UNICAST_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowStaticRoutes": { + "description": "Specifies whether static route creation is allowed.", + "enum": [ + "STATIC_ROUTES_ALLOWED", + "STATIC_ROUTES_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowSubInterfaces": { + "description": "Specifies whether sub interfaces are allowed.", + "enum": [ + "SUBINTERFACES_ALLOWED", + "SUBINTERFACES_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowVpcPeering": { + "description": "Specifies whether VPC peering is allowed.", + "enum": [ + "VPC_PEERING_ALLOWED", + "VPC_PEERING_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowVpn": { + "description": "Specifies whether VPN creation is allowed.", + "enum": [ + "VPN_ALLOWED", + "VPN_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "interfaceTypes": { + "description": "If set, limits the interface types that the network supports. If empty, all interface types are supported.", + "items": { + "enum": [ + "GVNIC", + "IDPF", + "IRDMA", + "MRDMA", + "UNSPECIFIED_NIC_TYPE", + "VIRTIO_NET" + ], + "enumDescriptions": [ + "GVNIC", + "IDPF", + "IRDMA", + "MRDMA", + "No type specified.", + "VIRTIO" + ], + "type": "string" + }, + "type": "array" + }, + "subnetPurposes": { + "description": "Specifies which subnetwork purposes are supported.", + "items": { + "enum": [ + "SUBNET_PURPOSE_CUSTOM_HARDWARE", + "SUBNET_PURPOSE_PRIVATE" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "type": "array" + }, + "subnetStackTypes": { + "description": "Specifies which subnetwork stack types are supported.", + "items": { + "enum": [ + "SUBNET_STACK_TYPE_IPV4_IPV6", + "SUBNET_STACK_TYPE_IPV4_ONLY", + "SUBNET_STACK_TYPE_IPV6_ONLY" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "type": "array" + }, + "unicast": { + "description": "Specifies which type of unicast is supported.", + "enum": [ + "UNICAST_SDN", + "UNICAST_ULL" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "NetworkProfilesListResponse": { + "description": "Contains a list of network profiles.", + "id": "NetworkProfilesListResponse", + "properties": { + "etag": { + "type": "string" + }, + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of NetworkProfile resources.", + "items": { + "$ref": "NetworkProfile" + }, + "type": "array" + }, + "kind": { + "default": "compute#networkProfileList", + "description": "[Output Only] Type of resource. Always compute#networkProfileList for network profiles.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", + "items": { + "type": "string" + }, + "type": "array" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, "NetworkRoutingConfig": { "description": "A routing configuration attached to a network resource. The message includes the list of routers associated with the network, and a flag indicating the type of routing behavior to enforce network-wide.", "id": "NetworkRoutingConfig", @@ -66816,6 +68974,22 @@ ], "type": "string" }, + "effectiveBgpAlwaysCompareMed": { + "description": "[Output Only] Effective value of the bgp_always_compare_med field.", + "type": "boolean" + }, + "effectiveBgpInterRegionCost": { + "description": "[Output Only] Effective value of the bgp_inter_region_cost field.", + "enum": [ + "ADD_COST_TO_MED", + "DEFAULT" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, "routingMode": { "description": "The network-wide routing mode to use. If set to REGIONAL, this network's Cloud Routers will only advertise routes with subnets of this network in the same region as the router. If set to GLOBAL, this network's Cloud Routers will advertise routes with all subnets of this network, across regions.", "enum": [ @@ -66862,7 +69036,7 @@ "id": "NetworksGetEffectiveFirewallsResponse", "properties": { "firewallPolicys": { - "description": "Effective firewalls from firewall policy.", + "description": "[Output Only] Effective firewalls from firewall policy. It returns Global Network Firewall Policies and Hierarchical Firewall Policies. Use regionNetworkFirewallPolicies.getEffectiveFirewalls to get Regional Network Firewall Policies as well.", "items": { "$ref": "NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy" }, @@ -66897,13 +69071,20 @@ "description": "[Output Only] The name of the firewall policy.", "type": "string" }, + "packetMirroringRules": { + "description": "[Output Only] The packet mirroring rules that apply to the network.", + "items": { + "$ref": "FirewallPolicyRule" + }, + "type": "array" + }, "priority": { "description": "[Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY.", "format": "int32", "type": "integer" }, "rules": { - "description": "The rules that apply to the network.", + "description": "[Output Only] The rules that apply to the network.", "items": { "$ref": "FirewallPolicyRule" }, @@ -67142,6 +69323,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -67178,6 +69360,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -67202,6 +69385,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -67326,6 +69510,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -67362,6 +69547,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -67386,6 +69572,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -67613,6 +69800,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -67649,6 +69837,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -67673,6 +69862,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -67764,6 +69954,294 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "NodeGroupsSetNodeTemplateRequest": { + "id": "NodeGroupsSetNodeTemplateRequest", + "properties": { + "nodeTemplate": { + "description": "Full or partial URL of the node template resource to be updated for this node group.", + "type": "string" + } + }, + "type": "object" + }, + "NodeGroupsSimulateMaintenanceEventRequest": { + "id": "NodeGroupsSimulateMaintenanceEventRequest", + "properties": { + "nodes": { + "description": "Names of the nodes to go under maintenance simulation.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "NodeTemplate": { + "description": "Represent a sole-tenant Node Template resource. You can use a template to define properties for nodes in a node group. For more information, read Creating node groups and instances.", + "id": "NodeTemplate", + "properties": { + "accelerators": { + "items": { + "$ref": "AcceleratorConfig" + }, + "type": "array" + }, + "cpuOvercommitType": { + "description": "CPU overcommit.", + "enum": [ + "CPU_OVERCOMMIT_TYPE_UNSPECIFIED", + "ENABLED", + "NONE" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", + "type": "string" + }, + "disks": { + "items": { + "$ref": "LocalDisk" + }, + "type": "array" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64", + "type": "string" + }, + "kind": { + "default": "compute#nodeTemplate", + "description": "[Output Only] The type of the resource. Always compute#nodeTemplate for node templates.", + "type": "string" + }, + "name": { + "description": "The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "type": "string" + }, + "nodeAffinityLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels to use for node affinity, which will be used in instance scheduling.", + "type": "object" + }, + "nodeType": { + "description": "The node type to use for nodes group that are created from this template.", + "type": "string" + }, + "nodeTypeFlexibility": { + "$ref": "NodeTemplateNodeTypeFlexibility", + "description": "Do not use. Instead, use the node_type property." + }, + "region": { + "description": "[Output Only] The name of the region where the node template resides, such as us-central1.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + }, + "serverBinding": { + "$ref": "ServerBinding", + "description": "Sets the binding properties for the physical server. Valid values include: - *[Default]* RESTART_NODE_ON_ANY_SERVER: Restarts VMs on any available physical server - RESTART_NODE_ON_MINIMAL_SERVER: Restarts VMs on the same physical server whenever possible See Sole-tenant node options for more information." + }, + "status": { + "description": "[Output Only] The status of the node template. One of the following values: CREATING, READY, and DELETING.", + "enum": [ + "CREATING", + "DELETING", + "INVALID", + "READY" + ], + "enumDescriptions": [ + "Resources are being allocated.", + "The node template is currently being deleted.", + "Invalid status.", + "The node template is ready." + ], + "type": "string" + }, + "statusMessage": { + "description": "[Output Only] An optional, human-readable explanation of the status.", + "type": "string" + } + }, + "type": "object" + }, + "NodeTemplateAggregatedList": { + "id": "NodeTemplateAggregatedList", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "additionalProperties": { + "$ref": "NodeTemplatesScopedList", + "description": "[Output Only] Name of the scope containing this set of node templates." + }, + "description": "A list of NodeTemplatesScopedList resources.", + "type": "object" + }, + "kind": { + "default": "compute#nodeTemplateAggregatedList", + "description": "[Output Only] Type of resource.Always compute#nodeTemplateAggregatedList for aggregated lists of node templates.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "[Output Only] Unreachable resources.", + "items": { + "type": "string" + }, + "type": "array" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -67800,289 +70278,6 @@ false, false, false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "NodeGroupsSetNodeTemplateRequest": { - "id": "NodeGroupsSetNodeTemplateRequest", - "properties": { - "nodeTemplate": { - "description": "Full or partial URL of the node template resource to be updated for this node group.", - "type": "string" - } - }, - "type": "object" - }, - "NodeGroupsSimulateMaintenanceEventRequest": { - "id": "NodeGroupsSimulateMaintenanceEventRequest", - "properties": { - "nodes": { - "description": "Names of the nodes to go under maintenance simulation.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "NodeTemplate": { - "description": "Represent a sole-tenant Node Template resource. You can use a template to define properties for nodes in a node group. For more information, read Creating node groups and instances.", - "id": "NodeTemplate", - "properties": { - "accelerators": { - "items": { - "$ref": "AcceleratorConfig" - }, - "type": "array" - }, - "cpuOvercommitType": { - "description": "CPU overcommit.", - "enum": [ - "CPU_OVERCOMMIT_TYPE_UNSPECIFIED", - "ENABLED", - "NONE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "creationTimestamp": { - "description": "[Output Only] Creation timestamp in RFC3339 text format.", - "type": "string" - }, - "description": { - "description": "An optional description of this resource. Provide this property when you create the resource.", - "type": "string" - }, - "disks": { - "items": { - "$ref": "LocalDisk" - }, - "type": "array" - }, - "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", - "format": "uint64", - "type": "string" - }, - "kind": { - "default": "compute#nodeTemplate", - "description": "[Output Only] The type of the resource. Always compute#nodeTemplate for node templates.", - "type": "string" - }, - "name": { - "description": "The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", - "type": "string" - }, - "nodeAffinityLabels": { - "additionalProperties": { - "type": "string" - }, - "description": "Labels to use for node affinity, which will be used in instance scheduling.", - "type": "object" - }, - "nodeType": { - "description": "The node type to use for nodes group that are created from this template.", - "type": "string" - }, - "nodeTypeFlexibility": { - "$ref": "NodeTemplateNodeTypeFlexibility", - "description": "Do not use. Instead, use the node_type property." - }, - "region": { - "description": "[Output Only] The name of the region where the node template resides, such as us-central1.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for the resource.", - "type": "string" - }, - "serverBinding": { - "$ref": "ServerBinding", - "description": "Sets the binding properties for the physical server. Valid values include: - *[Default]* RESTART_NODE_ON_ANY_SERVER: Restarts VMs on any available physical server - RESTART_NODE_ON_MINIMAL_SERVER: Restarts VMs on the same physical server whenever possible See Sole-tenant node options for more information." - }, - "status": { - "description": "[Output Only] The status of the node template. One of the following values: CREATING, READY, and DELETING.", - "enum": [ - "CREATING", - "DELETING", - "INVALID", - "READY" - ], - "enumDescriptions": [ - "Resources are being allocated.", - "The node template is currently being deleted.", - "Invalid status.", - "The node template is ready." - ], - "type": "string" - }, - "statusMessage": { - "description": "[Output Only] An optional, human-readable explanation of the status.", - "type": "string" - } - }, - "type": "object" - }, - "NodeTemplateAggregatedList": { - "id": "NodeTemplateAggregatedList", - "properties": { - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", - "type": "string" - }, - "items": { - "additionalProperties": { - "$ref": "NodeTemplatesScopedList", - "description": "[Output Only] Name of the scope containing this set of node templates." - }, - "description": "A list of NodeTemplatesScopedList resources.", - "type": "object" - }, - "kind": { - "default": "compute#nodeTemplateAggregatedList", - "description": "[Output Only] Type of resource.Always compute#nodeTemplateAggregatedList for aggregated lists of node templates.", - "type": "string" - }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", - "type": "string" - }, - "unreachables": { - "description": "[Output Only] Unreachable resources.", - "items": { - "type": "string" - }, - "type": "array" - }, - "warning": { - "description": "[Output Only] Informational warning message.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, false, false ], @@ -68108,6 +70303,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -68200,6 +70396,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -68236,6 +70433,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -68260,6 +70458,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -68349,6 +70548,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -68385,6 +70585,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -68409,6 +70610,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -68569,6 +70771,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -68605,6 +70808,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -68629,6 +70833,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -68721,6 +70926,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -68757,6 +70963,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -68781,6 +70988,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -68855,6 +71063,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -68891,6 +71100,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -68915,6 +71125,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -69076,6 +71287,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -69112,6 +71324,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -69136,6 +71349,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -69324,7 +71538,7 @@ "type": "string" }, "targetLink": { - "description": "[Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from.", + "description": "[Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the disk that the snapshot was created from.", "type": "string" }, "user": { @@ -69359,6 +71573,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -69395,6 +71610,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -69419,6 +71635,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -69524,6 +71741,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -69560,6 +71778,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -69584,6 +71803,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -69676,6 +71896,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -69712,6 +71933,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -69736,6 +71958,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -69810,6 +72033,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -69846,6 +72070,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -69870,6 +72095,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -70188,6 +72414,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -70224,6 +72451,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -70248,6 +72476,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -70388,6 +72617,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -70424,6 +72654,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -70448,6 +72679,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -70591,6 +72823,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -70627,6 +72860,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -70651,6 +72885,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -70717,15 +72952,15 @@ }, "defaultRouteAction": { "$ref": "HttpRouteAction", - "description": "defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. If defaultRouteAction is specified, don't set defaultUrlRedirect. If defaultRouteAction.weightedBackendServices is specified, don't set defaultService. URL maps for classic Application Load Balancers only support the urlRewrite action within a path matcher's defaultRouteAction." + "description": "defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path matcher's defaultRouteAction." }, "defaultService": { - "description": "The full or partial URL to the BackendService resource. This URL is used if none of the pathRules or routeRules defined by this PathMatcher are matched. For example, the following are all valid URLs to a BackendService resource: - https://www.googleapis.com/compute/v1/projects/project /global/backendServices/backendService - compute/v1/projects/project/global/backendServices/backendService - global/backendServices/backendService If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if defaultRouteAction specifies any weightedBackendServices, defaultService must not be specified. If defaultService is specified, then set either defaultUrlRedirect or defaultRouteAction.weightedBackendService. Don't set both. Authorization requires one or more of the following Google IAM permissions on the specified resource default_service: - compute.backendBuckets.use - compute.backendServices.use ", + "description": "The full or partial URL to the BackendService resource. This URL is used if none of the pathRules or routeRules defined by this PathMatcher are matched. For example, the following are all valid URLs to a BackendService resource: - https://www.googleapis.com/compute/v1/projects/project /global/backendServices/backendService - compute/v1/projects/project/global/backendServices/backendService - global/backendServices/backendService If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. Authorization requires one or more of the following Google IAM permissions on the specified resource default_service: - compute.backendBuckets.use - compute.backendServices.use ", "type": "string" }, "defaultUrlRedirect": { "$ref": "HttpRedirectAction", - "description": "When none of the specified pathRules or routeRules match, the request is redirected to a URL specified by defaultUrlRedirect. If defaultUrlRedirect is specified, then set either defaultService or defaultRouteAction. Don't set both. Not supported when the URL map is bound to a target gRPC proxy." + "description": "When none of the specified pathRules or routeRules match, the request is redirected to a URL specified by defaultUrlRedirect. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy." }, "description": { "description": "An optional description of this resource. Provide this property when you create the resource.", @@ -70773,15 +73008,15 @@ }, "routeAction": { "$ref": "HttpRouteAction", - "description": "In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction or urlRedirect must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path rule's routeAction." + "description": "In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path rule's routeAction." }, "service": { - "description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set.", + "description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set.", "type": "string" }, "urlRedirect": { "$ref": "HttpRedirectAction", - "description": "When a path pattern is matched, the request is redirected to a URL specified by urlRedirect. If urlRedirect is specified, service or routeAction must not be set. Not supported when the URL map is bound to a target gRPC proxy." + "description": "When a path pattern is matched, the request is redirected to a URL specified by urlRedirect. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy." } }, "type": "object" @@ -70795,7 +73030,7 @@ "type": "string" }, "name": { - "description": "The name of a per-instance configuration and its corresponding instance. Serves as a merge key during UpdatePerInstanceConfigs operations, that is, if a per-instance configuration with the same name exists then it will be updated, otherwise a new one will be created for the VM instance with the same name. An attempt to create a per-instance configconfiguration for a VM instance that either doesn't exist or is not part of the group will result in an error.", + "description": "The name of a per-instance configuration and its corresponding instance. Serves as a merge key during UpdatePerInstanceConfigs operations, that is, if a per-instance configuration with the same name exists then it will be updated, otherwise a new one will be created for the VM instance with the same name. An attempt to create a per-instance configuration for a VM instance that either doesn't exist or is not part of the group will result in an error.", "type": "string" }, "preservedState": { @@ -70848,13 +73083,6 @@ "format": "byte", "type": "string" }, - "rules": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "$ref": "Rule" - }, - "type": "array" - }, "version": { "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", @@ -71032,7 +73260,7 @@ "type": "string" }, "enabledFeatures": { - "description": "Restricted features enabled for use on this project.", + "description": "An optional list of restricted features enabled for use on this project.", "items": { "type": "string" }, @@ -71079,7 +73307,7 @@ }, "usageExportLocation": { "$ref": "UsageExportLocation", - "description": "The naming prefix for daily usage reports and the Google Cloud Storage bucket where they are stored." + "description": "An optional naming prefix for daily usage reports and the Google Cloud Storage bucket where they are stored." }, "vmDnsSetting": { "description": "[Output Only] Default internal DNS setting used by VMs running in this project.", @@ -71395,6 +73623,314 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "PublicAdvertisedPrefixPublicDelegatedPrefix": { + "description": "Represents a CIDR range which can be used to assign addresses.", + "id": "PublicAdvertisedPrefixPublicDelegatedPrefix", + "properties": { + "ipRange": { + "description": "The IP address range of the public delegated prefix", + "type": "string" + }, + "name": { + "description": "The name of the public delegated prefix", + "type": "string" + }, + "project": { + "description": "The project number of the public delegated prefix", + "type": "string" + }, + "region": { + "description": "The region of the public delegated prefix if it is regional. If absent, the prefix is global.", + "type": "string" + }, + "status": { + "description": "The status of the public delegated prefix. Possible values are: INITIALIZING: The public delegated prefix is being initialized and addresses cannot be created yet. ANNOUNCED: The public delegated prefix is active.", + "type": "string" + } + }, + "type": "object" + }, + "PublicDelegatedPrefix": { + "description": "A PublicDelegatedPrefix resource represents an IP block within a PublicAdvertisedPrefix that is configured within a single cloud scope (global or region). IPs in the block can be allocated to resources within that scope. Public delegated prefixes may be further broken up into smaller IP blocks in the same scope as the parent block.", + "id": "PublicDelegatedPrefix", + "properties": { + "allocatablePrefixLength": { + "description": "The allocatable prefix length supported by this public delegated prefix. This field is optional and cannot be set for prefixes in DELEGATION mode. It cannot be set for IPv4 prefixes either, and it always defaults to 32.", + "format": "int32", + "type": "integer" + }, + "byoipApiVersion": { + "description": "[Output Only] The version of BYOIP API.", + "enum": [ + "V1", + "V2" + ], + "enumDescriptions": [ + "This public delegated prefix usually takes 4 weeks to delete, and the BGP status cannot be changed. Announce and Withdraw APIs can not be used on this prefix.", + "This public delegated prefix takes minutes to delete. Announce and Withdraw APIs can be used on this prefix to change the BGP status." + ], + "type": "string" + }, + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", + "type": "string" + }, + "fingerprint": { + "description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a new PublicDelegatedPrefix. An up-to-date fingerprint must be provided in order to update the PublicDelegatedPrefix, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a PublicDelegatedPrefix.", + "format": "byte", + "type": "string" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", + "format": "uint64", + "type": "string" + }, + "ipCidrRange": { + "description": "The IP address range, in CIDR format, represented by this public delegated prefix.", + "type": "string" + }, + "isLiveMigration": { + "description": "If true, the prefix will be live migrated.", + "type": "boolean" + }, + "kind": { + "default": "compute#publicDelegatedPrefix", + "description": "[Output Only] Type of the resource. Always compute#publicDelegatedPrefix for public delegated prefixes.", + "type": "string" + }, + "mode": { + "description": "The public delegated prefix mode for IPv6 only.", + "enum": [ + "DELEGATION", + "EXTERNAL_IPV6_FORWARDING_RULE_CREATION", + "EXTERNAL_IPV6_SUBNETWORK_CREATION" + ], + "enumDescriptions": [ + "The public delegated prefix is used for further sub-delegation only. Such prefixes cannot set allocatablePrefixLength.", + "The public delegated prefix is used for creating forwarding rules only. Such prefixes cannot set publicDelegatedSubPrefixes.", + "The public delegated prefix is used for creating dual-mode subnetworks only. Such prefixes cannot set publicDelegatedSubPrefixes." + ], + "type": "string" + }, + "name": { + "annotations": { + "required": [ + "compute.publicDelegatedPrefixes.insert" + ] + }, + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "parentPrefix": { + "description": "The URL of parent prefix. Either PublicAdvertisedPrefix or PublicDelegatedPrefix.", + "type": "string" + }, + "publicDelegatedSubPrefixs": { + "description": "The list of sub public delegated prefixes that exist for this public delegated prefix.", + "items": { + "$ref": "PublicDelegatedPrefixPublicDelegatedSubPrefix" + }, + "type": "array" + }, + "region": { + "description": "[Output Only] URL of the region where the public delegated prefix resides. This field applies only to the region resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + }, + "status": { + "description": "[Output Only] The status of the public delegated prefix, which can be one of following values: - `INITIALIZING` The public delegated prefix is being initialized and addresses cannot be created yet. - `READY_TO_ANNOUNCE` The public delegated prefix is a live migration prefix and is active. - `ANNOUNCED` The public delegated prefix is active. - `DELETING` The public delegated prefix is being deprovsioned. ", + "enum": [ + "ANNOUNCED", + "ANNOUNCED_TO_GOOGLE", + "ANNOUNCED_TO_INTERNET", + "DELETING", + "INITIALIZING", + "READY_TO_ANNOUNCE" + ], + "enumDescriptions": [ + "The public delegated prefix is active.", + "The prefix is announced within Google network.", + "The prefix is announced to Internet and within Google.", + "The public delegated prefix is being deprovsioned.", + "The public delegated prefix is being initialized and addresses cannot be created yet.", + "The public delegated prefix is currently withdrawn but ready to be announced." + ], + "type": "string" + } + }, + "type": "object" + }, + "PublicDelegatedPrefixAggregatedList": { + "id": "PublicDelegatedPrefixAggregatedList", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "additionalProperties": { + "$ref": "PublicDelegatedPrefixesScopedList", + "description": "[Output Only] Name of the scope containing this set of PublicDelegatedPrefixes." + }, + "description": "A list of PublicDelegatedPrefixesScopedList resources.", + "type": "object" + }, + "kind": { + "default": "compute#publicDelegatedPrefixAggregatedList", + "description": "[Output Only] Type of the resource. Always compute#publicDelegatedPrefixAggregatedList for aggregated lists of public delegated prefixes.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "[Output Only] Unreachable resources.", + "items": { + "type": "string" + }, + "type": "array" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -71431,307 +73967,6 @@ false, false, false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "PublicAdvertisedPrefixPublicDelegatedPrefix": { - "description": "Represents a CIDR range which can be used to assign addresses.", - "id": "PublicAdvertisedPrefixPublicDelegatedPrefix", - "properties": { - "ipRange": { - "description": "The IP address range of the public delegated prefix", - "type": "string" - }, - "name": { - "description": "The name of the public delegated prefix", - "type": "string" - }, - "project": { - "description": "The project number of the public delegated prefix", - "type": "string" - }, - "region": { - "description": "The region of the public delegated prefix if it is regional. If absent, the prefix is global.", - "type": "string" - }, - "status": { - "description": "The status of the public delegated prefix. Possible values are: INITIALIZING: The public delegated prefix is being initialized and addresses cannot be created yet. ANNOUNCED: The public delegated prefix is active.", - "type": "string" - } - }, - "type": "object" - }, - "PublicDelegatedPrefix": { - "description": "A PublicDelegatedPrefix resource represents an IP block within a PublicAdvertisedPrefix that is configured within a single cloud scope (global or region). IPs in the block can be allocated to resources within that scope. Public delegated prefixes may be further broken up into smaller IP blocks in the same scope as the parent block.", - "id": "PublicDelegatedPrefix", - "properties": { - "allocatablePrefixLength": { - "description": "The allocatable prefix length supported by this public delegated prefix. This field is optional and cannot be set for prefixes in DELEGATION mode. It cannot be set for IPv4 prefixes either, and it always defaults to 32.", - "format": "int32", - "type": "integer" - }, - "byoipApiVersion": { - "description": "[Output Only] The version of BYOIP API.", - "enum": [ - "V1", - "V2" - ], - "enumDescriptions": [ - "This public delegated prefix usually takes 4 weeks to delete, and the BGP status cannot be changed. Announce and Withdraw APIs can not be used on this prefix.", - "This public delegated prefix takes minutes to delete. Announce and Withdraw APIs can be used on this prefix to change the BGP status." - ], - "type": "string" - }, - "creationTimestamp": { - "description": "[Output Only] Creation timestamp in RFC3339 text format.", - "type": "string" - }, - "description": { - "description": "An optional description of this resource. Provide this property when you create the resource.", - "type": "string" - }, - "fingerprint": { - "description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a new PublicDelegatedPrefix. An up-to-date fingerprint must be provided in order to update the PublicDelegatedPrefix, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve a PublicDelegatedPrefix.", - "format": "byte", - "type": "string" - }, - "id": { - "description": "[Output Only] The unique identifier for the resource type. The server generates this identifier.", - "format": "uint64", - "type": "string" - }, - "ipCidrRange": { - "description": "The IP address range, in CIDR format, represented by this public delegated prefix.", - "type": "string" - }, - "isLiveMigration": { - "description": "If true, the prefix will be live migrated.", - "type": "boolean" - }, - "kind": { - "default": "compute#publicDelegatedPrefix", - "description": "[Output Only] Type of the resource. Always compute#publicDelegatedPrefix for public delegated prefixes.", - "type": "string" - }, - "mode": { - "description": "The public delegated prefix mode for IPv6 only.", - "enum": [ - "DELEGATION", - "EXTERNAL_IPV6_FORWARDING_RULE_CREATION" - ], - "enumDescriptions": [ - "The public delegated prefix is used for further sub-delegation only. Such prefixes cannot set allocatablePrefixLength.", - "The public delegated prefix is used for creating forwarding rules only. Such prefixes cannot set publicDelegatedSubPrefixes." - ], - "type": "string" - }, - "name": { - "annotations": { - "required": [ - "compute.publicDelegatedPrefixes.insert" - ] - }, - "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" - }, - "parentPrefix": { - "description": "The URL of parent prefix. Either PublicAdvertisedPrefix or PublicDelegatedPrefix.", - "type": "string" - }, - "publicDelegatedSubPrefixs": { - "description": "The list of sub public delegated prefixes that exist for this public delegated prefix.", - "items": { - "$ref": "PublicDelegatedPrefixPublicDelegatedSubPrefix" - }, - "type": "array" - }, - "region": { - "description": "[Output Only] URL of the region where the public delegated prefix resides. This field applies only to the region resource. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for the resource.", - "type": "string" - }, - "status": { - "description": "[Output Only] The status of the public delegated prefix, which can be one of following values: - `INITIALIZING` The public delegated prefix is being initialized and addresses cannot be created yet. - `READY_TO_ANNOUNCE` The public delegated prefix is a live migration prefix and is active. - `ANNOUNCED` The public delegated prefix is active. - `DELETING` The public delegated prefix is being deprovsioned. ", - "enum": [ - "ANNOUNCED", - "ANNOUNCED_TO_GOOGLE", - "ANNOUNCED_TO_INTERNET", - "DELETING", - "INITIALIZING", - "READY_TO_ANNOUNCE" - ], - "enumDescriptions": [ - "The public delegated prefix is active.", - "The prefix is announced within Google network.", - "The prefix is announced to Internet and within Google.", - "The public delegated prefix is being deprovsioned.", - "The public delegated prefix is being initialized and addresses cannot be created yet.", - "The public delegated prefix is currently withdrawn but ready to be announced." - ], - "type": "string" - } - }, - "type": "object" - }, - "PublicDelegatedPrefixAggregatedList": { - "id": "PublicDelegatedPrefixAggregatedList", - "properties": { - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", - "type": "string" - }, - "items": { - "additionalProperties": { - "$ref": "PublicDelegatedPrefixesScopedList", - "description": "[Output Only] Name of the scope containing this set of PublicDelegatedPrefixes." - }, - "description": "A list of PublicDelegatedPrefixesScopedList resources.", - "type": "object" - }, - "kind": { - "default": "compute#publicDelegatedPrefixAggregatedList", - "description": "[Output Only] Type of the resource. Always compute#publicDelegatedPrefixAggregatedList for aggregated lists of public delegated prefixes.", - "type": "string" - }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", - "type": "string" - }, - "unreachables": { - "description": "[Output Only] Unreachable resources.", - "items": { - "type": "string" - }, - "type": "array" - }, - "warning": { - "description": "[Output Only] Informational warning message.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, false, false ], @@ -71757,6 +73992,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -71848,6 +74084,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -71884,6 +74121,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -71908,6 +74146,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -71974,11 +74213,13 @@ "description": "The PublicDelegatedSubPrefix mode for IPv6 only.", "enum": [ "DELEGATION", - "EXTERNAL_IPV6_FORWARDING_RULE_CREATION" + "EXTERNAL_IPV6_FORWARDING_RULE_CREATION", + "EXTERNAL_IPV6_SUBNETWORK_CREATION" ], "enumDescriptions": [ "The public delegated prefix is used for further sub-delegation only. Such prefixes cannot set allocatablePrefixLength.", - "The public delegated prefix is used for creating forwarding rules only. Such prefixes cannot set publicDelegatedSubPrefixes." + "The public delegated prefix is used for creating forwarding rules only. Such prefixes cannot set publicDelegatedSubPrefixes.", + "The public delegated prefix is used for creating dual-mode subnetworks only. Such prefixes cannot set publicDelegatedSubPrefixes." ], "type": "string" }, @@ -72042,6 +74283,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -72078,6 +74320,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -72102,6 +74345,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -72623,6 +74867,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -72659,6 +74904,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -72683,6 +74929,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -72823,6 +75070,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -72859,6 +75107,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -72883,6 +75132,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -72987,6 +75237,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -73023,6 +75274,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -73047,6 +75299,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -73186,6 +75439,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -73222,6 +75476,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -73246,6 +75501,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -73352,6 +75608,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -73388,6 +75645,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -73412,6 +75670,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -73527,6 +75786,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -73563,6 +75823,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -73587,6 +75848,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -73790,6 +76052,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -73826,6 +76089,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -73850,6 +76114,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -74086,6 +76351,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -74122,6 +76388,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -74146,6 +76413,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -74279,6 +76547,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -74315,6 +76584,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -74339,6 +76609,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -74406,7 +76677,7 @@ "id": "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse", "properties": { "firewallPolicys": { - "description": "Effective firewalls from firewall policy.", + "description": "[Output only] Effective firewalls from firewall policy. It applies to Regional Network Firewall Policies in the specified region, Global Network Firewall Policies and Hierachial Firewall Policies which are associated with the network.", "items": { "$ref": "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy" }, @@ -74433,13 +76704,20 @@ "description": "[Output Only] The name of the firewall policy.", "type": "string" }, + "packetMirroringRules": { + "description": "[Output only] The packet mirroring rules that apply to the network.", + "items": { + "$ref": "FirewallPolicyRule" + }, + "type": "array" + }, "priority": { "description": "[Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY.", "format": "int32", "type": "integer" }, "rules": { - "description": "The rules that apply to the network.", + "description": "[Output only] The rules that apply to the network.", "items": { "$ref": "FirewallPolicyRule" }, @@ -74571,6 +76849,20 @@ "description": "Absolute time in future when the reservation will be auto-deleted by Compute Engine. Timestamp is represented in RFC3339 text format.", "type": "string" }, + "deploymentType": { + "description": "Specifies the deployment strategy for this reservation.", + "enum": [ + "DENSE", + "DEPLOYMENT_TYPE_UNSPECIFIED", + "FLEXIBLE" + ], + "enumDescriptions": [ + "The reserved capacity is made up of densely deployed reservation blocks.", + "", + "The reserved capacity is made up of highly flexible, logical reservation blocks." + ], + "type": "string" + }, "description": { "description": "An optional description of this resource. Provide this property when you create the resource.", "type": "string" @@ -74631,7 +76923,7 @@ "type": "boolean" }, "status": { - "description": "[Output Only] The status of the reservation.", + "description": "[Output Only] The status of the reservation. - CREATING: Reservation resources are being allocated. - READY: Reservation resources have been allocated, and the reservation is ready for use. - DELETING: Reservation deletion is in progress. - UPDATING: Reservation update is in progress. ", "enum": [ "CREATING", "DELETING", @@ -74640,11 +76932,11 @@ "UPDATING" ], "enumDescriptions": [ - "Resources are being allocated for the reservation.", - "Reservation is currently being deleted.", + "Reservation resources are being allocated.", + "Reservation deletion is in progress.", "", - "Reservation has allocated all its resources.", - "Reservation is currently being resized." + "Reservation resources have been allocated, and the reservation is ready for use.", + "Reservation update is in progress." ], "type": "string" }, @@ -74756,6 +77048,256 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "ReservationBlock": { + "description": "Represents a reservation block resource.", + "id": "ReservationBlock", + "properties": { + "count": { + "description": "[Output Only] The number of resources that are allocated in this reservation block.", + "format": "int32", + "type": "integer" + }, + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64", + "type": "string" + }, + "inUseCount": { + "description": "[Output Only] The number of instances that are currently in use on this reservation block.", + "format": "int32", + "type": "integer" + }, + "kind": { + "default": "compute#reservationBlock", + "description": "[Output Only] Type of the resource. Always compute#reservationBlock for reservation blocks.", + "type": "string" + }, + "name": { + "description": "[Output Only] The name of this reservation block generated by Google Compute Engine. The name must be 1-63 characters long, and comply with RFC1035 @pattern [a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "physicalTopology": { + "$ref": "ReservationBlockPhysicalTopology", + "description": "[Output Only] The physical topology of the reservation block." + }, + "reservationMaintenance": { + "$ref": "GroupMaintenanceInfo", + "description": "[Output Only] Maintenance information for this reservation block." + }, + "selfLink": { + "description": "[Output Only] Server-defined fully-qualified URL for this resource.", + "type": "string" + }, + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "type": "string" + }, + "status": { + "description": "[Output Only] Status of the reservation block.", + "enum": [ + "CREATING", + "DELETING", + "INVALID", + "READY" + ], + "enumDescriptions": [ + "Resources are being allocated for the reservation block.", + "Reservation block is currently being deleted.", + "", + "Reservation block has allocated all its resources." + ], + "type": "string" + }, + "zone": { + "description": "[Output Only] Zone in which the reservation block resides.", + "type": "string" + } + }, + "type": "object" + }, + "ReservationBlockPhysicalTopology": { + "id": "ReservationBlockPhysicalTopology", + "properties": { + "block": { + "description": "The hash of the capacity block within the cluster.", + "type": "string" + }, + "cluster": { + "description": "The cluster name of the reservation block.", + "type": "string" + } + }, + "type": "object" + }, + "ReservationBlocksGetResponse": { + "id": "ReservationBlocksGetResponse", + "properties": { + "resource": { + "$ref": "ReservationBlock" + } + }, + "type": "object" + }, + "ReservationBlocksListResponse": { + "description": "A list of reservation blocks under a single reservation.", + "id": "ReservationBlocksListResponse", + "properties": { + "id": { + "description": "Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of reservation block resources.", + "items": { + "$ref": "ReservationBlock" + }, + "type": "array" + }, + "kind": { + "default": "compute#reservationBlock", + "description": "Type of the resource. Always compute#reservationBlock for a list of reservation blocks.", + "type": "string" + }, + "nextPageToken": { + "description": "This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "Server-defined URL for this resource.", + "type": "string" + }, + "warning": { + "description": "Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -74792,6 +77334,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -74816,6 +77359,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -74907,6 +77451,155 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "ReservationsResizeRequest": { + "id": "ReservationsResizeRequest", + "properties": { + "specificSkuCount": { + "description": "Number of allocated resources can be resized with minimum = 1 and maximum = 1000.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ReservationsScopedList": { + "id": "ReservationsScopedList", + "properties": { + "reservations": { + "description": "A list of reservations contained in this scope.", + "items": { + "$ref": "Reservation" + }, + "type": "array" + }, + "warning": { + "description": "Informational warning which replaces the list of reservations when the list is empty.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -74943,150 +77636,6 @@ false, false, false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "ReservationsResizeRequest": { - "id": "ReservationsResizeRequest", - "properties": { - "specificSkuCount": { - "description": "Number of allocated resources can be resized with minimum = 1 and maximum = 1000.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "ReservationsScopedList": { - "id": "ReservationsScopedList", - "properties": { - "reservations": { - "description": "A list of reservations contained in this scope.", - "items": { - "$ref": "Reservation" - }, - "type": "array" - }, - "warning": { - "description": "Informational warning which replaces the list of reservations when the list is empty.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, false, false ], @@ -75112,6 +77661,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -75230,6 +77780,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -75266,6 +77817,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -75290,6 +77842,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -75475,6 +78028,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -75511,6 +78065,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -75535,6 +78090,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -75756,6 +78312,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -75792,6 +78349,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -75816,6 +78374,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -76043,18 +78602,49 @@ "id": "ResourceStatus", "properties": { "physicalHost": { - "description": "[Output Only] An opaque ID of the host on which the VM is running.", + "description": "[Output Only] The precise location of your instance within the zone's data center, including the block, sub-block, and host. The field is formatted as follows: blockId/subBlockId/hostId.", "type": "string" }, + "physicalHostTopology": { + "$ref": "ResourceStatusPhysicalHostTopology", + "description": "[Output Only] A series of fields containing the global name of the Compute Engine cluster, as well as the ID of the block, sub-block, and host on which the running instance is located." + }, "scheduling": { "$ref": "ResourceStatusScheduling" }, + "shutdownDetails": { + "$ref": "ResourceStatusShutdownDetails", + "description": "[Output Only] Details about the instance stopping state." + }, "upcomingMaintenance": { "$ref": "UpcomingMaintenance" } }, "type": "object" }, + "ResourceStatusPhysicalHostTopology": { + "description": "Represents the physical host topology of the host on which the VM is running.", + "id": "ResourceStatusPhysicalHostTopology", + "properties": { + "block": { + "description": "[Output Only] The ID of the block in which the running instance is located. Instances within the same block experience low network latency.", + "type": "string" + }, + "cluster": { + "description": "[Output Only] The global name of the Compute Engine cluster where the running instance is located.", + "type": "string" + }, + "host": { + "description": "[Output Only] The ID of the host on which the running instance is located. Instances on the same host experience the lowest possible network latency.", + "type": "string" + }, + "subblock": { + "description": "[Output Only] The ID of the sub-block in which the running instance is located. Instances in the same sub-block experience lower network latency than instances in the same block.", + "type": "string" + } + }, + "type": "object" + }, "ResourceStatusScheduling": { "id": "ResourceStatusScheduling", "properties": { @@ -76070,6 +78660,40 @@ }, "type": "object" }, + "ResourceStatusShutdownDetails": { + "id": "ResourceStatusShutdownDetails", + "properties": { + "maxDuration": { + "$ref": "Duration" + }, + "requestTimestamp": { + "type": "string" + }, + "stopState": { + "enum": [ + "PENDING_STOP", + "STOPPING" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "targetState": { + "enum": [ + "DELETED", + "STOPPED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, "RolloutPolicy": { "description": "A rollout policy configuration.", "id": "RolloutPolicy", @@ -76291,6 +78915,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -76327,6 +78952,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -76351,6 +78977,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -76475,6 +79102,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -76511,6 +79139,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -76535,6 +79164,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -76575,6 +79205,10 @@ "RoutePolicy": { "id": "RoutePolicy", "properties": { + "description": { + "description": "An optional description of route policy.", + "type": "string" + }, "fingerprint": { "description": "A fingerprint for the Route Policy being applied to this Router, which is essentially a hash of the Route Policy used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update Route Policy. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make a getRoutePolicy() request to retrieve a Route Policy.", "format": "byte", @@ -76794,6 +79428,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -76830,6 +79465,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -76854,6 +79490,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -77269,6 +79906,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -77305,6 +79943,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -77329,6 +79968,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -77466,6 +80106,13 @@ "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "type": "string" }, + "nat64Subnetworks": { + "description": "List of Subnetwork resources whose traffic should be translated by NAT64 Gateway. It is used only when LIST_OF_IPV6_SUBNETWORKS is selected for the SubnetworkIpRangeToNat64Option above.", + "items": { + "$ref": "RouterNatSubnetworkToNat64" + }, + "type": "array" + }, "natIpAllocateOption": { "description": "Specify the NatIpAllocateOption, which can take one of the following values: - MANUAL_ONLY: Uses only Nat IP addresses provided by customers. When there are not enough specified Nat IPs, the Nat service fails for new VMs. - AUTO_ONLY: Nat IPs are allocated by Google Cloud Platform; customers can't specify any Nat IPs. When choosing AUTO_ONLY, then nat_ip should be empty. ", "enum": [ @@ -77506,6 +80153,18 @@ ], "type": "string" }, + "sourceSubnetworkIpRangesToNat64": { + "description": "Specify the Nat option for NAT64, which can take one of the following values: - ALL_IPV6_SUBNETWORKS: All of the IP ranges in every Subnetwork are allowed to Nat. - LIST_OF_IPV6_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field nat64_subnetwork below) The default is NAT64_OPTION_UNSPECIFIED. Note that if this field contains NAT64_ALL_V6_SUBNETWORKS no other Router.Nat section in this region can also enable NAT64 for any Subnetworks in this network. Other Router.Nat sections can still be present to enable NAT44 only.", + "enum": [ + "ALL_IPV6_SUBNETWORKS", + "LIST_OF_IPV6_SUBNETWORKS" + ], + "enumDescriptions": [ + "NAT64 is enabled for all the IPv6 subnet ranges. In dual stack subnets, NAT64 will only be enabled for IPv6-only VMs.", + "NAT64 is enabled for a list of IPv6 subnet ranges. In dual stack subnets, NAT64 will only be enabled for IPv6-only VMs. If this option is used, the nat64_subnetworks field must be specified." + ], + "type": "string" + }, "subnetworks": { "description": "A list of Subnetwork resources whose traffic should be translated by NAT Gateway. It is used only when LIST_OF_SUBNETWORKS is selected for the SubnetworkIpRangeToNatOption above.", "items": { @@ -77665,6 +80324,17 @@ }, "type": "object" }, + "RouterNatSubnetworkToNat64": { + "description": "Specifies a subnetwork to enable NAT64.", + "id": "RouterNatSubnetworkToNat64", + "properties": { + "name": { + "description": "URL for the subnetwork resource that will use NAT64.", + "type": "string" + } + }, + "type": "object" + }, "RouterStatus": { "id": "RouterStatus", "properties": { @@ -77998,6 +80668,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -78034,6 +80705,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -78058,6 +80730,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -78159,6 +80832,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -78195,6 +80869,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -78219,6 +80894,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -78303,6 +80979,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -78339,6 +81016,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -78363,6 +81041,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -78400,72 +81079,6 @@ }, "type": "object" }, - "Rule": { - "description": "This is deprecated and has no effect. Do not use.", - "id": "Rule", - "properties": { - "action": { - "description": "This is deprecated and has no effect. Do not use.", - "enum": [ - "ALLOW", - "ALLOW_WITH_LOG", - "DENY", - "DENY_WITH_LOG", - "LOG", - "NO_ACTION" - ], - "enumDescriptions": [ - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use." - ], - "type": "string" - }, - "conditions": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "$ref": "Condition" - }, - "type": "array" - }, - "description": { - "description": "This is deprecated and has no effect. Do not use.", - "type": "string" - }, - "ins": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "type": "string" - }, - "type": "array" - }, - "logConfigs": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "$ref": "LogConfig" - }, - "type": "array" - }, - "notIns": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "type": "string" - }, - "type": "array" - }, - "permissions": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "SSLHealthCheck": { "id": "SSLHealthCheck", "properties": { @@ -78718,6 +81331,9 @@ "format": "int32", "type": "integer" }, + "gracefulShutdown": { + "$ref": "SchedulingGracefulShutdown" + }, "hostErrorTimeoutSeconds": { "description": "Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used.", "format": "int32", @@ -78802,10 +81418,12 @@ "provisioningModel": { "description": "Specifies the provisioning model of the instance.", "enum": [ + "RESERVATION_BOUND", "SPOT", "STANDARD" ], "enumDescriptions": [ + "Bound to the lifecycle of the reservation in which it is provisioned.", "Heavily discounted, no guaranteed runtime.", "Standard provisioning with user controlled runtime, no discounts." ], @@ -78818,6 +81436,21 @@ }, "type": "object" }, + "SchedulingGracefulShutdown": { + "description": "The configuration for gracefully shutting down the instance.", + "id": "SchedulingGracefulShutdown", + "properties": { + "enabled": { + "description": "Opts-in for graceful shutdown.", + "type": "boolean" + }, + "maxDuration": { + "$ref": "Duration", + "description": "The time allotted for the instance to gracefully shut down. If the graceful shutdown isn't complete after this time, then the instance transitions to the STOPPING state." + } + }, + "type": "object" + }, "SchedulingNodeAffinity": { "description": "Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled.", "id": "SchedulingNodeAffinity", @@ -78942,6 +81575,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -78978,6 +81612,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -79002,6 +81637,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -79085,6 +81721,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -79121,6 +81758,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -79145,6 +81783,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -79493,6 +82132,10 @@ ], "type": "string" }, + "requestBodyInspectionSize": { + "description": "The maximum request size chosen by the customer with Waf enabled. Currently only \"8KB\" and \"128KB\" are supported. Values are case insensitive.", + "type": "string" + }, "userIpRequestHeaders": { "description": "An optional list of case-insensitive request header names to use for resolving the callers client IP address.", "items": { @@ -79626,6 +82269,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -79662,6 +82306,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -79686,6 +82331,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -80160,7 +82806,7 @@ "type": "string" }, "enforceOnKey": { - "description": "Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if \"enforceOnKey\" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on \"userIpRequestHeaders\" configured with the security policy. If there is no \"userIpRequestHeaders\" configuration or an IP address cannot be resolved from it, the key type defaults to IP. ", + "description": "Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if \"enforceOnKey\" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on \"userIpRequestHeaders\" configured with the security policy. If there is no \"userIpRequestHeaders\" configuration or an IP address cannot be resolved from it, the key type defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. ", "enum": [ "ALL", "ALL_IPS", @@ -80171,6 +82817,7 @@ "REGION_CODE", "SNI", "TLS_JA3_FINGERPRINT", + "TLS_JA4_FINGERPRINT", "USER_IP", "XFF_IP" ], @@ -80185,6 +82832,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -80198,6 +82846,7 @@ "", "", "", + "", "" ], "type": "string" @@ -80236,7 +82885,7 @@ "type": "string" }, "enforceOnKeyType": { - "description": "Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if \"enforceOnKeyConfigs\" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on \"userIpRequestHeaders\" configured with the security policy. If there is no \"userIpRequestHeaders\" configuration or an IP address cannot be resolved from it, the key type defaults to IP. ", + "description": "Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if \"enforceOnKeyConfigs\" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on \"userIpRequestHeaders\" configured with the security policy. If there is no \"userIpRequestHeaders\" configuration or an IP address cannot be resolved from it, the key type defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. ", "enum": [ "ALL", "ALL_IPS", @@ -80247,6 +82896,7 @@ "REGION_CODE", "SNI", "TLS_JA3_FINGERPRINT", + "TLS_JA4_FINGERPRINT", "USER_IP", "XFF_IP" ], @@ -80261,6 +82911,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -80274,6 +82925,7 @@ "", "", "", + "", "" ], "type": "string" @@ -80643,6 +83295,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -80679,6 +83332,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -80703,6 +83357,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -80858,6 +83513,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -80894,6 +83550,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -80918,6 +83575,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -81025,6 +83683,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -81061,6 +83720,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -81085,6 +83745,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -81651,6 +84312,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -81687,6 +84349,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -81711,6 +84374,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -82069,6 +84733,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -82105,6 +84770,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -82129,6 +84795,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -82221,6 +84888,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -82257,6 +84925,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -82281,6 +84950,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -82429,6 +85099,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -82465,6 +85136,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -82489,6 +85161,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -82591,6 +85264,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -82627,6 +85301,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -82651,6 +85326,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -82742,6 +85418,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -82778,6 +85455,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -82802,6 +85480,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -82888,6 +85567,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -82924,6 +85604,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -82948,6 +85629,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -83097,6 +85779,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -83133,6 +85816,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -83157,6 +85841,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -83506,6 +86191,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -83542,6 +86228,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -83566,6 +86253,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -83744,6 +86432,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -83780,6 +86469,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -83804,6 +86494,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -83905,6 +86596,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -83941,6 +86633,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -83965,6 +86658,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -84200,6 +86894,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -84236,6 +86931,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -84260,6 +86956,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -84352,6 +87049,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -84388,6 +87086,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -84412,6 +87111,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -84486,6 +87186,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -84522,6 +87223,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -84546,6 +87248,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -84620,6 +87323,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -84656,6 +87360,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -84680,6 +87385,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -84776,6 +87482,10 @@ "description": "The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.64.0.0/10. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field is set at resource creation time. The range can be any range listed in the Valid ranges list. The range can be expanded after creation using expandIpCidrRange.", "type": "string" }, + "ipCollection": { + "description": "Reference to the source of IP, like a PublicDelegatedPrefix (PDP) for BYOIP. The PDP must be a sub-PDP in EXTERNAL_IPV6_SUBNETWORK_CREATION mode. Use one of the following formats to specify a sub-PDP when creating a dual stack subnetwork with external access using BYOIP: - Full resource URL, as in https://www.googleapis.com/compute/v1/projects/projectId/regions/region /publicDelegatedPrefixes/sub-pdp-name - Partial URL, as in - projects/projectId/regions/region/publicDelegatedPrefixes/ sub-pdp-name - regions/region/publicDelegatedPrefixes/sub-pdp-name ", + "type": "string" + }, "ipv6AccessType": { "description": "The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack.", "enum": [ @@ -84792,6 +87502,18 @@ "description": "[Output Only] This field is for internal use.", "type": "string" }, + "ipv6GceEndpoint": { + "description": "[Output Only] Possible endpoints of this subnetwork. It can be one of the following: - VM_ONLY: The subnetwork can be used for creating instances and IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6 ranges from a public delegated prefix and cannot be used to create NetLb. - VM_AND_FR: The subnetwork can be used for creating both VM instances and Forwarding Rules. It can also be used to reserve IPv6 addresses with both VM and FR endpoint types. Such a subnetwork gets its IPv6 range from Google IP Pool directly. ", + "enum": [ + "VM_AND_FR", + "VM_ONLY" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, "kind": { "default": "compute#subnetwork", "description": "[Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources.", @@ -84829,10 +87551,11 @@ "type": "string" }, "purpose": { - "description": "The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.", + "description": "The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.", "enum": [ "GLOBAL_MANAGED_PROXY", "INTERNAL_HTTPS_LOAD_BALANCER", + "PEER_MIGRATION", "PRIVATE", "PRIVATE_NAT", "PRIVATE_RFC_1918", @@ -84842,6 +87565,7 @@ "enumDescriptions": [ "Subnet reserved for Global Envoy-based Load Balancing.", "Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy purpose, please use REGIONAL_MANAGED_PROXY instead.", + "Subnetwork will be used for Migration from one peered VPC to another. (a transient state of subnetwork while migrating resources from one project to another).", "Regular user created or automatically created subnet.", "Subnetwork used as source range for Private NAT Gateways.", "Regular user created or automatically created subnet.", @@ -84885,11 +87609,13 @@ "description": "The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are assigned IPv4 addresses only. If set to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.", "enum": [ "IPV4_IPV6", - "IPV4_ONLY" + "IPV4_ONLY", + "IPV6_ONLY" ], "enumDescriptions": [ "New VMs in this subnet can have both IPv4 and IPv6 addresses.", - "New VMs in this subnet will only be assigned IPv4 addresses." + "New VMs in this subnet will only be assigned IPv4 addresses.", + "New VMs in this subnet will only be assigned IPv6 addresses." ], "type": "string" }, @@ -84970,6 +87696,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -85006,6 +87733,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -85030,6 +87758,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -85122,6 +87851,234 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "SubnetworkLogConfig": { + "description": "The available logging options for this subnetwork.", + "id": "SubnetworkLogConfig", + "properties": { + "aggregationInterval": { + "description": "Can only be specified if VPC flow logging for this subnetwork is enabled. Toggles the aggregation interval for collecting flow logs. Increasing the interval time will reduce the amount of generated flow logs for long lasting connections. Default is an interval of 5 seconds per connection.", + "enum": [ + "INTERVAL_10_MIN", + "INTERVAL_15_MIN", + "INTERVAL_1_MIN", + "INTERVAL_30_SEC", + "INTERVAL_5_MIN", + "INTERVAL_5_SEC" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "enable": { + "description": "Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. Flow logging isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.", + "type": "boolean" + }, + "filterExpr": { + "description": "Can only be specified if VPC flow logs for this subnetwork is enabled. The filter expression is used to define which VPC flow logs should be exported to Cloud Logging.", + "type": "string" + }, + "flowSampling": { + "description": "Can only be specified if VPC flow logging for this subnetwork is enabled. The value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs within the subnetwork where 1.0 means all collected logs are reported and 0.0 means no logs are reported. Default is 0.5 unless otherwise specified by the org policy, which means half of all collected logs are reported.", + "format": "float", + "type": "number" + }, + "metadata": { + "description": "Can only be specified if VPC flow logs for this subnetwork is enabled. Configures whether all, none or a subset of metadata fields should be added to the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA.", + "enum": [ + "CUSTOM_METADATA", + "EXCLUDE_ALL_METADATA", + "INCLUDE_ALL_METADATA" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "metadataFields": { + "description": "Can only be specified if VPC flow logs for this subnetwork is enabled and \"metadata\" was set to CUSTOM_METADATA.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "SubnetworkSecondaryRange": { + "description": "Represents a secondary IP range of a subnetwork.", + "id": "SubnetworkSecondaryRange", + "properties": { + "ipCidrRange": { + "description": "The range of IP addresses belonging to this subnetwork secondary range. Provide this property when you create the subnetwork. Ranges must be unique and non-overlapping with all primary and secondary IP ranges within a network. Only IPv4 is supported. The range can be any range listed in the Valid ranges list.", + "type": "string" + }, + "rangeName": { + "description": "The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the subnetwork.", + "type": "string" + }, + "reservedInternalRange": { + "description": "The URL of the reserved internal range.", + "type": "string" + } + }, + "type": "object" + }, + "SubnetworksExpandIpCidrRangeRequest": { + "id": "SubnetworksExpandIpCidrRangeRequest", + "properties": { + "ipCidrRange": { + "description": "The IP (in CIDR format or netmask) of internal addresses that are legal on this Subnetwork. This range should be disjoint from other subnetworks within this network. This range can only be larger than (i.e. a superset of) the range previously defined before the update.", + "type": "string" + } + }, + "type": "object" + }, + "SubnetworksScopedList": { + "id": "SubnetworksScopedList", + "properties": { + "subnetworks": { + "description": "A list of subnetworks contained in this scope.", + "items": { + "$ref": "Subnetwork" + }, + "type": "array" + }, + "warning": { + "description": "An informational warning that appears when the list of addresses is empty.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -85158,229 +88115,6 @@ false, false, false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "SubnetworkLogConfig": { - "description": "The available logging options for this subnetwork.", - "id": "SubnetworkLogConfig", - "properties": { - "aggregationInterval": { - "description": "Can only be specified if VPC flow logging for this subnetwork is enabled. Toggles the aggregation interval for collecting flow logs. Increasing the interval time will reduce the amount of generated flow logs for long lasting connections. Default is an interval of 5 seconds per connection.", - "enum": [ - "INTERVAL_10_MIN", - "INTERVAL_15_MIN", - "INTERVAL_1_MIN", - "INTERVAL_30_SEC", - "INTERVAL_5_MIN", - "INTERVAL_5_SEC" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "enable": { - "description": "Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. Flow logging isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.", - "type": "boolean" - }, - "filterExpr": { - "description": "Can only be specified if VPC flow logs for this subnetwork is enabled. The filter expression is used to define which VPC flow logs should be exported to Cloud Logging.", - "type": "string" - }, - "flowSampling": { - "description": "Can only be specified if VPC flow logging for this subnetwork is enabled. The value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs within the subnetwork where 1.0 means all collected logs are reported and 0.0 means no logs are reported. Default is 0.5 unless otherwise specified by the org policy, which means half of all collected logs are reported.", - "format": "float", - "type": "number" - }, - "metadata": { - "description": "Can only be specified if VPC flow logs for this subnetwork is enabled. Configures whether all, none or a subset of metadata fields should be added to the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA.", - "enum": [ - "CUSTOM_METADATA", - "EXCLUDE_ALL_METADATA", - "INCLUDE_ALL_METADATA" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "metadataFields": { - "description": "Can only be specified if VPC flow logs for this subnetwork is enabled and \"metadata\" was set to CUSTOM_METADATA.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "SubnetworkSecondaryRange": { - "description": "Represents a secondary IP range of a subnetwork.", - "id": "SubnetworkSecondaryRange", - "properties": { - "ipCidrRange": { - "description": "The range of IP addresses belonging to this subnetwork secondary range. Provide this property when you create the subnetwork. Ranges must be unique and non-overlapping with all primary and secondary IP ranges within a network. Only IPv4 is supported. The range can be any range listed in the Valid ranges list.", - "type": "string" - }, - "rangeName": { - "description": "The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the subnetwork.", - "type": "string" - }, - "reservedInternalRange": { - "description": "The URL of the reserved internal range.", - "type": "string" - } - }, - "type": "object" - }, - "SubnetworksExpandIpCidrRangeRequest": { - "id": "SubnetworksExpandIpCidrRangeRequest", - "properties": { - "ipCidrRange": { - "description": "The IP (in CIDR format or netmask) of internal addresses that are legal on this Subnetwork. This range should be disjoint from other subnetworks within this network. This range can only be larger than (i.e. a superset of) the range previously defined before the update.", - "type": "string" - } - }, - "type": "object" - }, - "SubnetworksScopedList": { - "id": "SubnetworksScopedList", - "properties": { - "subnetworks": { - "description": "A list of subnetworks contained in this scope.", - "items": { - "$ref": "Subnetwork" - }, - "type": "array" - }, - "warning": { - "description": "An informational warning that appears when the list of addresses is empty.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, false, false ], @@ -85406,6 +88140,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -85654,6 +88389,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -85690,6 +88426,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -85714,6 +88451,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -85788,6 +88526,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -85824,6 +88563,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -85848,6 +88588,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -86010,6 +88751,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -86046,6 +88788,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -86070,6 +88813,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -86162,6 +88906,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -86198,6 +88943,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -86222,6 +88968,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -86296,6 +89043,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -86332,6 +89080,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -86356,6 +89105,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -86437,7 +89187,7 @@ "type": "object" }, "TargetHttpsProxy": { - "description": "Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/beta/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/beta/regionTargetHttpsProxies) A target HTTPS proxy is a component of GCP HTTPS load balancers. * targetHttpProxies are used by global external Application Load Balancers, classic Application Load Balancers, cross-region internal Application Load Balancers, and Traffic Director. * regionTargetHttpProxies are used by regional internal Application Load Balancers and regional external Application Load Balancers. Forwarding rules reference a target HTTPS proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts.", + "description": "Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/beta/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/beta/regionTargetHttpsProxies) A target HTTPS proxy is a component of Google Cloud HTTPS load balancers. * targetHttpProxies are used by global external Application Load Balancers, classic Application Load Balancers, cross-region internal Application Load Balancers, and Traffic Director. * regionTargetHttpProxies are used by regional internal Application Load Balancers and regional external Application Load Balancers. Forwarding rules reference a target HTTPS proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts.", "id": "TargetHttpsProxy", "properties": { "authentication": { @@ -86529,7 +89279,7 @@ "type": "string" }, "sslCertificates": { - "description": "URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API. Certificate Manager Certificates are not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project}/locations/{ location}/certificates/{resourceName}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project }/locations/{location}/certificates/{resourceName}. ", + "description": "URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API namespace. Using Certificate Manager Certificates in this field is not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates or up to 100 Certificate Manager Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project}/locations/{ location}/certificates/{resourceName}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project }/locations/{location}/certificates/{resourceName}. ", "items": { "type": "string" }, @@ -86544,12 +89294,14 @@ "enum": [ "DISABLED", "PERMISSIVE", - "STRICT" + "STRICT", + "UNRESTRICTED" ], "enumDescriptions": [ "TLS 1.3 Early Data is not advertised, and any (invalid) attempts to send Early Data will be rejected by closing the connection.", "This enables TLS 1.3 0-RTT, and only allows Early Data to be included on requests with safe HTTP methods (GET, HEAD, OPTIONS, TRACE). This mode does not enforce any other limitations for requests with Early Data. The application owner should validate that Early Data is acceptable for a given request path.", - "This enables TLS 1.3 0-RTT, and only allows Early Data to be included on requests with safe HTTP methods (GET, HEAD, OPTIONS, TRACE) without query parameters. Requests that send Early Data with non-idempotent HTTP methods or with query parameters will be rejected with a HTTP 425." + "This enables TLS 1.3 0-RTT, and only allows Early Data to be included on requests with safe HTTP methods (GET, HEAD, OPTIONS, TRACE) without query parameters. Requests that send Early Data with non-idempotent HTTP methods or with query parameters will be rejected with a HTTP 425.", + "This enables TLS 1.3 Early Data for requests with any HTTP method including non-idempotent methods list POST. This mode does not enforce any other limitations. This may be valuable for gRPC use cases. However, we do not recommend this method unless you have evaluated your security stance and mitigated the risk of replay attacks using other mechanisms." ], "type": "string" }, @@ -86622,6 +89374,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -86658,6 +89411,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -86682,6 +89436,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -86774,6 +89529,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -86810,6 +89566,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -86834,6 +89591,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -86993,6 +89751,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -87029,6 +89788,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -87053,6 +89813,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -87145,6 +89906,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -87181,6 +89943,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -87205,6 +89968,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -87279,6 +90043,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -87315,6 +90080,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -87339,6 +90105,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -87529,6 +90296,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -87565,6 +90333,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -87589,6 +90358,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -87698,6 +90468,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -87734,6 +90505,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -87758,6 +90530,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -87884,6 +90657,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -87920,6 +90694,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -87944,6 +90719,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -88161,6 +90937,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -88197,6 +90974,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -88221,6 +90999,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -88295,6 +91074,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -88331,6 +91111,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -88355,6 +91136,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -88540,6 +91322,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -88576,6 +91359,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -88600,6 +91384,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -88692,6 +91477,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -88728,6 +91514,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -88752,6 +91539,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -88945,6 +91733,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -88981,6 +91770,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -89005,6 +91795,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -89097,6 +91888,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -89133,6 +91925,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -89157,6 +91950,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -89231,6 +92025,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -89267,6 +92062,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -89291,6 +92087,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -89466,7 +92263,7 @@ "type": "object" }, "UrlMap": { - "description": "Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/docs/reference/rest/beta/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by global external Application Load Balancers, classic Application Load Balancers, and cross-region internal Application Load Balancers. * regionUrlMaps are used by internal Application Load Balancers, regional external Application Load Balancers and regional internal Application Load Balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts.", + "description": "Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/docs/reference/rest/beta/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by global external Application Load Balancers, classic Application Load Balancers, and cross-region internal Application Load Balancers. * regionUrlMaps are used by internal Application Load Balancers, regional external Application Load Balancers and regional internal Application Load Balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL, EXTERNAL_MANAGED, or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts.", "id": "UrlMap", "properties": { "creationTimestamp": { @@ -89479,15 +92276,15 @@ }, "defaultRouteAction": { "$ref": "HttpRouteAction", - "description": "defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." + "description": "defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." }, "defaultService": { - "description": "The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any defaultRouteAction.weightedBackendServices. Conversely, if defaultRouteAction specifies any defaultRouteAction.weightedBackendServices, defaultService must not be specified. If defaultService is specified, then set either defaultUrlRedirect , or defaultRouteAction.weightedBackendService Don't set both. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.", + "description": "The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.", "type": "string" }, "defaultUrlRedirect": { "$ref": "HttpRedirectAction", - "description": "When none of the specified hostRules match, the request is redirected to a URL specified by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or defaultRouteAction must not be set. Not supported when the URL map is bound to a target gRPC proxy." + "description": "When none of the specified hostRules match, the request is redirected to a URL specified by defaultUrlRedirect. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy." }, "description": { "description": "An optional description of this resource. Provide this property when you create the resource.", @@ -89604,6 +92401,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -89640,6 +92438,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -89664,6 +92463,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -89853,6 +92653,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -89889,6 +92690,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -89913,6 +92715,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -89987,6 +92790,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -90023,6 +92827,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -90047,6 +92852,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -90172,10 +92978,11 @@ "type": "string" }, "purpose": { - "description": "The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.", + "description": "The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.", "enum": [ "GLOBAL_MANAGED_PROXY", "INTERNAL_HTTPS_LOAD_BALANCER", + "PEER_MIGRATION", "PRIVATE", "PRIVATE_NAT", "PRIVATE_RFC_1918", @@ -90185,6 +92992,7 @@ "enumDescriptions": [ "Subnet reserved for Global Envoy-based Load Balancing.", "Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy purpose, please use REGIONAL_MANAGED_PROXY instead.", + "Subnetwork will be used for Migration from one peered VPC to another. (a transient state of subnetwork while migrating resources from one project to another).", "Regular user created or automatically created subnet.", "Subnetwork used as source range for Private NAT Gateways.", "Regular user created or automatically created subnet.", @@ -90216,11 +93024,13 @@ "description": "The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are assigned IPv4 addresses only. If set to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.", "enum": [ "IPV4_IPV6", - "IPV4_ONLY" + "IPV4_ONLY", + "IPV6_ONLY" ], "enumDescriptions": [ "New VMs in this subnet can have both IPv4 and IPv6 addresses.", - "New VMs in this subnet will only be assigned IPv4 addresses." + "New VMs in this subnet will only be assigned IPv4 addresses.", + "New VMs in this subnet will only be assigned IPv6 addresses." ], "type": "string" }, @@ -90300,6 +93110,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -90336,6 +93147,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -90360,6 +93172,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -90566,6 +93379,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -90602,6 +93416,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -90626,6 +93441,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -90822,6 +93638,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -90858,6 +93675,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -90882,6 +93700,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -90974,6 +93793,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -91010,6 +93830,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -91034,6 +93855,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -91230,6 +94052,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -91266,6 +94089,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -91290,6 +94114,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -91543,6 +94368,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -91579,6 +94405,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -91603,6 +94430,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -91695,6 +94523,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -91731,6 +94560,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -91755,6 +94585,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -91829,6 +94660,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -91865,6 +94697,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -91889,6 +94722,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -92039,6 +94873,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -92075,6 +94910,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -92099,6 +94935,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -92278,6 +95115,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -92314,6 +95152,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -92338,6 +95177,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", diff --git a/discovery/compute-v1.json b/discovery/compute-v1.json index 2036743f2c..f466b4d7af 100644 --- a/discovery/compute-v1.json +++ b/discovery/compute-v1.json @@ -4814,364 +4814,6 @@ } } }, - "futureReservations": { - "methods": { - "aggregatedList": { - "description": "Retrieves an aggregated list of future reservations. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", - "flatPath": "projects/{project}/aggregated/futureReservations", - "httpMethod": "GET", - "id": "compute.futureReservations.aggregatedList", - "parameterOrder": [ - "project" - ], - "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "includeAllScopes": { - "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", - "location": "query", - "type": "boolean" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" - }, - "serviceProjectNumber": { - "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", - "format": "int64", - "location": "query", - "type": "string" - } - }, - "path": "projects/{project}/aggregated/futureReservations", - "response": { - "$ref": "FutureReservationsAggregatedListResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "cancel": { - "description": "Cancel the specified future reservation.", - "flatPath": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}/cancel", - "httpMethod": "POST", - "id": "compute.futureReservations.cancel", - "parameterOrder": [ - "project", - "zone", - "futureReservation" - ], - "parameters": { - "futureReservation": { - "description": "Name of the future reservation to retrieve. Name should conform to RFC1035.", - "location": "path", - "required": true, - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "zone": { - "description": "Name of the zone for this request. Name should conform to RFC1035.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}/cancel", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "delete": { - "description": "Deletes the specified future reservation.", - "flatPath": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}", - "httpMethod": "DELETE", - "id": "compute.futureReservations.delete", - "parameterOrder": [ - "project", - "zone", - "futureReservation" - ], - "parameters": { - "futureReservation": { - "description": "Name of the future reservation to retrieve. Name should conform to RFC1035.", - "location": "path", - "required": true, - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "zone": { - "description": "Name of the zone for this request. Name should conform to RFC1035.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}", - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "get": { - "description": "Retrieves information about the specified future reservation.", - "flatPath": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}", - "httpMethod": "GET", - "id": "compute.futureReservations.get", - "parameterOrder": [ - "project", - "zone", - "futureReservation" - ], - "parameters": { - "futureReservation": { - "description": "Name of the future reservation to retrieve. Name should conform to RFC1035.", - "location": "path", - "required": true, - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "zone": { - "description": "Name of the zone for this request. Name should conform to RFC1035.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}", - "response": { - "$ref": "FutureReservation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "insert": { - "description": "Creates a new Future Reservation.", - "flatPath": "projects/{project}/zones/{zone}/futureReservations", - "httpMethod": "POST", - "id": "compute.futureReservations.insert", - "parameterOrder": [ - "project", - "zone" - ], - "parameters": { - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "zone": { - "description": "Name of the zone for this request. Name should conform to RFC1035.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/zones/{zone}/futureReservations", - "request": { - "$ref": "FutureReservation" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - }, - "list": { - "description": "A list of all the future reservations that have been configured for the specified project in specified zone.", - "flatPath": "projects/{project}/zones/{zone}/futureReservations", - "httpMethod": "GET", - "id": "compute.futureReservations.list", - "parameterOrder": [ - "project", - "zone" - ], - "parameters": { - "filter": { - "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "500", - "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", - "format": "uint32", - "location": "query", - "minimum": "0", - "type": "integer" - }, - "orderBy": { - "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", - "location": "query", - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "returnPartialSuccess": { - "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", - "location": "query", - "type": "boolean" - }, - "zone": { - "description": "Name of the zone for this request. Name should conform to RFC1035.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/zones/{zone}/futureReservations", - "response": { - "$ref": "FutureReservationsListResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute", - "https://www.googleapis.com/auth/compute.readonly" - ] - }, - "update": { - "description": "Updates the specified future reservation.", - "flatPath": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}", - "httpMethod": "PATCH", - "id": "compute.futureReservations.update", - "parameterOrder": [ - "project", - "zone", - "futureReservation" - ], - "parameters": { - "futureReservation": { - "description": "Name of the reservation to update. Name should conform to RFC1035.", - "location": "path", - "required": true, - "type": "string" - }, - "project": { - "description": "Project ID for this request.", - "location": "path", - "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", - "required": true, - "type": "string" - }, - "requestId": { - "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", - "location": "query", - "type": "string" - }, - "updateMask": { - "description": "update_mask indicates fields to be updated as part of this request.", - "format": "google-fieldmask", - "location": "query", - "type": "string" - }, - "zone": { - "description": "Name of the zone for this request. Name should conform to RFC1035.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "projects/{project}/zones/{zone}/futureReservations/{futureReservation}", - "request": { - "$ref": "FutureReservation" - }, - "response": { - "$ref": "Operation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/compute" - ] - } - } - }, "globalAddresses": { "methods": { "delete": { @@ -9041,6 +8683,54 @@ "https://www.googleapis.com/auth/compute" ] }, + "resumeInstances": { + "description": "Flags the specified instances in the managed instance group to be resumed. This method increases the targetSize and decreases the targetSuspendedSize of the managed instance group by the number of instances that you resume. The resumeInstances operation is marked DONE if the resumeInstances request is successful. The underlying actions take additional time. You must separately verify the status of the RESUMING action with the listmanagedinstances method. In this request, you can only specify instances that are suspended. For example, if an instance was previously suspended using the suspendInstances method, it can be resumed using the resumeInstances method. If a health check is attached to the managed instance group, the specified instances will be verified as healthy after they are resumed. You can specify a maximum of 1000 instances with this method per request.", + "flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resumeInstances", + "httpMethod": "POST", + "id": "compute.instanceGroupManagers.resumeInstances", + "parameterOrder": [ + "project", + "zone", + "instanceGroupManager" + ], + "parameters": { + "instanceGroupManager": { + "description": "The name of the managed instance group.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "zone": { + "description": "The name of the zone where the managed instance group is located.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resumeInstances", + "request": { + "$ref": "InstanceGroupManagersResumeInstancesRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "setInstanceTemplate": { "description": "Specifies the instance template to use when creating new instances in this group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE.", "flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate", @@ -9137,6 +8827,150 @@ "https://www.googleapis.com/auth/compute" ] }, + "startInstances": { + "description": "Flags the specified instances in the managed instance group to be started. This method increases the targetSize and decreases the targetStoppedSize of the managed instance group by the number of instances that you start. The startInstances operation is marked DONE if the startInstances request is successful. The underlying actions take additional time. You must separately verify the status of the STARTING action with the listmanagedinstances method. In this request, you can only specify instances that are stopped. For example, if an instance was previously stopped using the stopInstances method, it can be started using the startInstances method. If a health check is attached to the managed instance group, the specified instances will be verified as healthy after they are started. You can specify a maximum of 1000 instances with this method per request.", + "flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/startInstances", + "httpMethod": "POST", + "id": "compute.instanceGroupManagers.startInstances", + "parameterOrder": [ + "project", + "zone", + "instanceGroupManager" + ], + "parameters": { + "instanceGroupManager": { + "description": "The name of the managed instance group.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "zone": { + "description": "The name of the zone where the managed instance group is located.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/startInstances", + "request": { + "$ref": "InstanceGroupManagersStartInstancesRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "stopInstances": { + "description": "Flags the specified instances in the managed instance group to be immediately stopped. You can only specify instances that are running in this request. This method reduces the targetSize and increases the targetStoppedSize of the managed instance group by the number of instances that you stop. The stopInstances operation is marked DONE if the stopInstances request is successful. The underlying actions take additional time. You must separately verify the status of the STOPPING action with the listmanagedinstances method. If the standbyPolicy.initialDelaySec field is set, the group delays stopping the instances until initialDelaySec have passed from instance.creationTimestamp (that is, when the instance was created). This delay gives your application time to set itself up and initialize on the instance. If more than initialDelaySec seconds have passed since instance.creationTimestamp when this method is called, there will be zero delay. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is stopped. Stopped instances can be started using the startInstances method. You can specify a maximum of 1000 instances with this method per request.", + "flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/stopInstances", + "httpMethod": "POST", + "id": "compute.instanceGroupManagers.stopInstances", + "parameterOrder": [ + "project", + "zone", + "instanceGroupManager" + ], + "parameters": { + "instanceGroupManager": { + "description": "The name of the managed instance group.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "zone": { + "description": "The name of the zone where the managed instance group is located.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/stopInstances", + "request": { + "$ref": "InstanceGroupManagersStopInstancesRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "suspendInstances": { + "description": "Flags the specified instances in the managed instance group to be immediately suspended. You can only specify instances that are running in this request. This method reduces the targetSize and increases the targetSuspendedSize of the managed instance group by the number of instances that you suspend. The suspendInstances operation is marked DONE if the suspendInstances request is successful. The underlying actions take additional time. You must separately verify the status of the SUSPENDING action with the listmanagedinstances method. If the standbyPolicy.initialDelaySec field is set, the group delays suspension of the instances until initialDelaySec have passed from instance.creationTimestamp (that is, when the instance was created). This delay gives your application time to set itself up and initialize on the instance. If more than initialDelaySec seconds have passed since instance.creationTimestamp when this method is called, there will be zero delay. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is suspended. Suspended instances can be resumed using the resumeInstances method. You can specify a maximum of 1000 instances with this method per request.", + "flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/suspendInstances", + "httpMethod": "POST", + "id": "compute.instanceGroupManagers.suspendInstances", + "parameterOrder": [ + "project", + "zone", + "instanceGroupManager" + ], + "parameters": { + "instanceGroupManager": { + "description": "The name of the managed instance group.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "zone": { + "description": "The name of the zone where the managed instance group is located.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/suspendInstances", + "request": { + "$ref": "InstanceGroupManagersSuspendInstancesRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "updatePerInstanceConfigs": { "description": "Inserts or updates per-instance configurations for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch.", "flatPath": "projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs", @@ -10804,7 +10638,7 @@ "type": "string" }, "start": { - "description": "Specifies the starting byte position of the output to return. To start with the first byte of output to the specified port, omit this field or set it to `0`. If the output for that byte position is available, this field matches the `start` parameter sent with the request. If the amount of serial console output exceeds the size of the buffer (1 MB), the oldest output is discarded and is no longer available. If the requested start position refers to discarded output, the start position is adjusted to the oldest output still available, and the adjusted start position is returned as the `start` property value. You can also provide a negative start position, which translates to the most recent number of bytes written to the serial port. For example, -3 is interpreted as the most recent 3 bytes written to the serial console.", + "description": "Specifies the starting byte position of the output to return. To start with the first byte of output to the specified port, omit this field or set it to `0`. If the output for that byte position is available, this field matches the `start` parameter sent with the request. If the amount of serial console output exceeds the size of the buffer (1 MB), the oldest output is discarded and is no longer available. If the requested start position refers to discarded output, the start position is adjusted to the oldest output still available, and the adjusted start position is returned as the `start` property value. You can also provide a negative start position, which translates to the most recent number of bytes written to the serial port. For example, -3 is interpreted as the most recent 3 bytes written to the serial console. Note that the negative start is bounded by the retained buffer size, and the returned serial console output will not exceed the max buffer size.", "format": "int64", "location": "query", "type": "string" @@ -16049,6 +15883,72 @@ "https://www.googleapis.com/auth/compute" ] }, + "aggregatedList": { + "description": "Retrieves an aggregated list of network firewall policies, listing network firewall policies from all applicable scopes (global and regional) and grouping the results per scope. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`.", + "flatPath": "projects/{project}/aggregated/firewallPolicies", + "httpMethod": "GET", + "id": "compute.networkFirewallPolicies.aggregatedList", + "parameterOrder": [ + "project" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "includeAllScopes": { + "description": "Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included.", + "location": "query", + "type": "boolean" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + }, + "serviceProjectNumber": { + "description": "The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/aggregated/firewallPolicies", + "response": { + "$ref": "NetworkFirewallPolicyAggregatedList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, "cloneRules": { "description": "Copies rules to the specified firewall policy.", "flatPath": "projects/{project}/global/firewallPolicies/{firewallPolicy}/cloneRules", @@ -16634,6 +16534,100 @@ } } }, + "networkProfiles": { + "methods": { + "get": { + "description": "Returns the specified network profile.", + "flatPath": "projects/{project}/global/networkProfiles/{networkProfile}", + "httpMethod": "GET", + "id": "compute.networkProfiles.get", + "parameterOrder": [ + "project", + "networkProfile" + ], + "parameters": { + "networkProfile": { + "description": "Name of the network profile to return.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/global/networkProfiles/{networkProfile}", + "response": { + "$ref": "NetworkProfile" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "list": { + "description": "Retrieves a list of network profiles available to the specified project.", + "flatPath": "projects/{project}/global/networkProfiles", + "httpMethod": "GET", + "id": "compute.networkProfiles.list", + "parameterOrder": [ + "project" + ], + "parameters": { + "filter": { + "description": "A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `>`, `<`, `<=`, `>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = \"Intel Skylake\") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = \"Intel Skylake\") OR (cpuPlatform = \"Intel Broadwell\") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq \"double quoted literal\"` `(fieldname1 eq literal) (fieldname2 ne \"literal\")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name \"instance\", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions.", + "location": "query", + "type": "string" + }, + "maxResults": { + "default": "500", + "description": "The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`)", + "format": "uint32", + "location": "query", + "minimum": "0", + "type": "integer" + }, + "orderBy": { + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy=\"creationTimestamp desc\"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported.", + "location": "query", + "type": "string" + }, + "pageToken": { + "description": "Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results.", + "location": "query", + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "returnPartialSuccess": { + "description": "Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code.", + "location": "query", + "type": "boolean" + } + }, + "path": "projects/{project}/global/networkProfiles", + "response": { + "$ref": "NetworkProfilesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, "networks": { "methods": { "addPeering": { @@ -23536,6 +23530,54 @@ "https://www.googleapis.com/auth/compute" ] }, + "resumeInstances": { + "description": "Flags the specified instances in the managed instance group to be resumed. This method increases the targetSize and decreases the targetSuspendedSize of the managed instance group by the number of instances that you resume. The resumeInstances operation is marked DONE if the resumeInstances request is successful. The underlying actions take additional time. You must separately verify the status of the RESUMING action with the listmanagedinstances method. In this request, you can only specify instances that are suspended. For example, if an instance was previously suspended using the suspendInstances method, it can be resumed using the resumeInstances method. If a health check is attached to the managed instance group, the specified instances will be verified as healthy after they are resumed. You can specify a maximum of 1000 instances with this method per request.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resumeInstances", + "httpMethod": "POST", + "id": "compute.regionInstanceGroupManagers.resumeInstances", + "parameterOrder": [ + "project", + "region", + "instanceGroupManager" + ], + "parameters": { + "instanceGroupManager": { + "description": "Name of the managed instance group.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resumeInstances", + "request": { + "$ref": "RegionInstanceGroupManagersResumeInstancesRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "setInstanceTemplate": { "description": "Sets the instance template to use when creating new instances or recreating instances in this group. Existing instances are not affected.", "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate", @@ -23632,6 +23674,150 @@ "https://www.googleapis.com/auth/compute" ] }, + "startInstances": { + "description": "Flags the specified instances in the managed instance group to be started. This method increases the targetSize and decreases the targetStoppedSize of the managed instance group by the number of instances that you start. The startInstances operation is marked DONE if the startInstances request is successful. The underlying actions take additional time. You must separately verify the status of the STARTING action with the listmanagedinstances method. In this request, you can only specify instances that are stopped. For example, if an instance was previously stopped using the stopInstances method, it can be started using the startInstances method. If a health check is attached to the managed instance group, the specified instances will be verified as healthy after they are started. You can specify a maximum of 1000 instances with this method per request.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/startInstances", + "httpMethod": "POST", + "id": "compute.regionInstanceGroupManagers.startInstances", + "parameterOrder": [ + "project", + "region", + "instanceGroupManager" + ], + "parameters": { + "instanceGroupManager": { + "description": "Name of the managed instance group.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/startInstances", + "request": { + "$ref": "RegionInstanceGroupManagersStartInstancesRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "stopInstances": { + "description": "Flags the specified instances in the managed instance group to be immediately stopped. You can only specify instances that are running in this request. This method reduces the targetSize and increases the targetStoppedSize of the managed instance group by the number of instances that you stop. The stopInstances operation is marked DONE if the stopInstances request is successful. The underlying actions take additional time. You must separately verify the status of the STOPPING action with the listmanagedinstances method. If the standbyPolicy.initialDelaySec field is set, the group delays stopping the instances until initialDelaySec have passed from instance.creationTimestamp (that is, when the instance was created). This delay gives your application time to set itself up and initialize on the instance. If more than initialDelaySec seconds have passed since instance.creationTimestamp when this method is called, there will be zero delay. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is stopped. Stopped instances can be started using the startInstances method. You can specify a maximum of 1000 instances with this method per request.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/stopInstances", + "httpMethod": "POST", + "id": "compute.regionInstanceGroupManagers.stopInstances", + "parameterOrder": [ + "project", + "region", + "instanceGroupManager" + ], + "parameters": { + "instanceGroupManager": { + "description": "The name of the managed instance group.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/stopInstances", + "request": { + "$ref": "RegionInstanceGroupManagersStopInstancesRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "suspendInstances": { + "description": "Flags the specified instances in the managed instance group to be immediately suspended. You can only specify instances that are running in this request. This method reduces the targetSize and increases the targetSuspendedSize of the managed instance group by the number of instances that you suspend. The suspendInstances operation is marked DONE if the suspendInstances request is successful. The underlying actions take additional time. You must separately verify the status of the SUSPENDING action with the listmanagedinstances method. If the standbyPolicy.initialDelaySec field is set, the group delays suspension of the instances until initialDelaySec have passed from instance.creationTimestamp (that is, when the instance was created). This delay gives your application time to set itself up and initialize on the instance. If more than initialDelaySec seconds have passed since instance.creationTimestamp when this method is called, there will be zero delay. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is suspended. Suspended instances can be resumed using the resumeInstances method. You can specify a maximum of 1000 instances with this method per request.", + "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/suspendInstances", + "httpMethod": "POST", + "id": "compute.regionInstanceGroupManagers.suspendInstances", + "parameterOrder": [ + "project", + "region", + "instanceGroupManager" + ], + "parameters": { + "instanceGroupManager": { + "description": "Name of the managed instance group.", + "location": "path", + "required": true, + "type": "string" + }, + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "Name of the region scoping this request.", + "location": "path", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/suspendInstances", + "request": { + "$ref": "RegionInstanceGroupManagersSuspendInstancesRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, "updatePerInstanceConfigs": { "description": "Inserts or updates per-instance configurations for the managed instance group. perInstanceConfig.name serves as a key used to distinguish whether to perform insert or patch.", "flatPath": "projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/updatePerInstanceConfigs", @@ -26616,6 +26802,56 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/compute" ] + }, + "setLabels": { + "description": "Sets the labels on a security policy. To learn more about labels, read the Labeling Resources documentation.", + "flatPath": "projects/{project}/regions/{region}/securityPolicies/{resource}/setLabels", + "httpMethod": "POST", + "id": "compute.regionSecurityPolicies.setLabels", + "parameterOrder": [ + "project", + "region", + "resource" + ], + "parameters": { + "project": { + "description": "Project ID for this request.", + "location": "path", + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z0-9](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "required": true, + "type": "string" + }, + "region": { + "description": "The region for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "required": true, + "type": "string" + }, + "requestId": { + "description": "An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "resource": { + "description": "Name or id of the resource for this request.", + "location": "path", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?|[1-9][0-9]{0,19}", + "required": true, + "type": "string" + } + }, + "path": "projects/{project}/regions/{region}/securityPolicies/{resource}/setLabels", + "request": { + "$ref": "RegionSetLabelsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] } } }, @@ -37779,7 +38015,7 @@ } } }, - "revision": "20240919", + "revision": "20241231", "rootUrl": "https://compute.googleapis.com/", "schemas": { "AWSV4Signature": { @@ -37930,6 +38166,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -37966,6 +38203,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -37990,6 +38228,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -38082,6 +38321,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -38118,6 +38358,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -38142,6 +38383,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -38216,6 +38458,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -38252,6 +38495,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -38276,6 +38520,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -38360,7 +38605,7 @@ "type": "string" }, "securityPolicy": { - "description": "[Output Only] The resource URL for the security policy associated with this access config.", + "description": "The resource URL for the security policy associated with this access config.", "type": "string" }, "setPublicPtr": { @@ -38617,6 +38862,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -38653,6 +38899,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -38677,6 +38924,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -38769,6 +39017,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -38805,6 +39054,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -38829,6 +39079,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -38903,6 +39154,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -38939,6 +39191,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -38963,6 +39216,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -39483,7 +39737,7 @@ "description": "The customer-supplied encryption key of the source image. Required if the source image is protected by a customer-supplied encryption key. InstanceTemplate and InstancePropertiesPatch do not store customer-supplied encryption keys, so you cannot create disks for instances in a managed instance group if the source images are encrypted with your own keys." }, "sourceSnapshot": { - "description": "The source snapshot to create this disk. When creating a new instance boot disk, one of initializeParams.sourceSnapshot or initializeParams.sourceImage or disks.source is required. To create a disk with a snapshot that you created, specify the snapshot name in the following format: global/snapshots/my-backup If the source snapshot is deleted later, this field will not be set.", + "description": "The source snapshot to create this disk. When creating a new instance boot disk, one of initializeParams.sourceSnapshot or initializeParams.sourceImage or disks.source is required. To create a disk with a snapshot that you created, specify the snapshot name in the following format: global/snapshots/my-backup If the source snapshot is deleted later, this field will not be set. Note: You cannot create VMs in bulk using a snapshot as the source. Use an image instead when you create VMs using the bulk insert method.", "type": "string" }, "sourceSnapshotEncryptionKey": { @@ -39498,7 +39752,7 @@ "type": "object" }, "AuditConfig": { - "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -39508,13 +39762,6 @@ }, "type": "array" }, - "exemptedMembers": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "type": "string" - }, - "type": "array" - }, "service": { "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", "type": "string" @@ -39533,10 +39780,6 @@ }, "type": "array" }, - "ignoreChildExemptions": { - "description": "This is deprecated and has no effect. Do not use.", - "type": "boolean" - }, "logType": { "description": "The log type that this config enables.", "enum": [ @@ -39708,6 +39951,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -39744,6 +39988,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -39768,6 +40013,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -39860,6 +40106,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -39896,6 +40143,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -39920,6 +40168,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -40052,6 +40301,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -40088,6 +40338,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -40112,6 +40363,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -40515,7 +40767,7 @@ "description": "The CacheKeyPolicy for this CdnPolicy." }, "cacheMode": { - "description": "Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached.", + "description": "Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. If no value is provided for cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC.", "enum": [ "CACHE_ALL_STATIC", "FORCE_CACHE_ALL", @@ -40684,6 +40936,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -40720,6 +40973,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -40744,6 +40998,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -40892,6 +41147,22 @@ "format": "uint64", "type": "string" }, + "ipAddressSelectionPolicy": { + "description": "Specifies a preference for traffic sent from the proxy to the backend (or from the client to the backend for proxyless gRPC). The possible values are: - IPV4_ONLY: Only send IPv4 traffic to the backends of the backend service (Instance Group, Managed Instance Group, Network Endpoint Group), regardless of traffic from the client to the proxy. Only IPv4 health checks are used to check the health of the backends. This is the default setting. - PREFER_IPV6: Prioritize the connection to the endpoint's IPv6 address over its IPv4 address (provided there is a healthy IPv6 address). - IPV6_ONLY: Only send IPv6 traffic to the backends of the backend service (Instance Group, Managed Instance Group, Network Endpoint Group), regardless of traffic from the client to the proxy. Only IPv6 health checks are used to check the health of the backends. This field is applicable to either: - Advanced global external Application Load Balancer (load balancing scheme EXTERNAL_MANAGED), - Regional external Application Load Balancer, - Internal proxy Network Load Balancer (load balancing scheme INTERNAL_MANAGED), - Regional internal Application Load Balancer (load balancing scheme INTERNAL_MANAGED), - Traffic Director with Envoy proxies and proxyless gRPC (load balancing scheme INTERNAL_SELF_MANAGED). ", + "enum": [ + "IPV4_ONLY", + "IPV6_ONLY", + "IP_ADDRESS_SELECTION_POLICY_UNSPECIFIED", + "PREFER_IPV6" + ], + "enumDescriptions": [ + "Only send IPv4 traffic to the backends of the Backend Service (Instance Group, Managed Instance Group, Network Endpoint Group) regardless of traffic from the client to the proxy. Only IPv4 health-checks are used to check the health of the backends. This is the default setting.", + "Only send IPv6 traffic to the backends of the Backend Service (Instance Group, Managed Instance Group, Network Endpoint Group) regardless of traffic from the client to the proxy. Only IPv6 health-checks are used to check the health of the backends.", + "Unspecified IP address selection policy.", + "Prioritize the connection to the endpoints IPv6 address over its IPv4 address (provided there is a healthy IPv6 address)." + ], + "type": "string" + }, "kind": { "default": "compute#backendService", "description": "[Output Only] Type of resource. Always compute#backendService for backend services.", @@ -41047,7 +41318,8 @@ "GENERATED_COOKIE", "HEADER_FIELD", "HTTP_COOKIE", - "NONE" + "NONE", + "STRONG_COOKIE_AFFINITY" ], "enumDescriptions": [ "2-tuple hash on packet's source and destination IP addresses. Connections from the same source IP address to the same destination IP address will be served by the same backend VM while that VM remains healthy.", @@ -41057,10 +41329,15 @@ "Hash based on a cookie generated by the L7 loadbalancer. Only valid for HTTP(S) load balancing.", "The hash is based on a user specified header field.", "The hash is based on a user provided cookie.", - "No session affinity. Connections from the same client IP may go to any instance in the pool." + "No session affinity. Connections from the same client IP may go to any instance in the pool.", + "Strong cookie-based affinity. Connections bearing the same cookie will be served by the same backend VM while that VM remains healthy, as long as the cookie has not expired." ], "type": "string" }, + "strongSessionAffinityCookie": { + "$ref": "BackendServiceHttpCookie", + "description": "Describes the HTTP cookie used for stateful session affinity. This field is applicable and required if the sessionAffinity is set to STRONG_COOKIE_AFFINITY." + }, "subsetting": { "$ref": "Subsetting" }, @@ -41142,6 +41419,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -41178,6 +41456,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -41202,6 +41481,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -41255,7 +41535,7 @@ "description": "The CacheKeyPolicy for this CdnPolicy." }, "cacheMode": { - "description": "Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached.", + "description": "Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any \"private\", \"no-store\" or \"no-cache\" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. If no value is provided for cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC.", "enum": [ "CACHE_ALL_STATIC", "FORCE_CACHE_ALL", @@ -41437,6 +41717,25 @@ }, "type": "object" }, + "BackendServiceHttpCookie": { + "description": "The HTTP cookie used for stateful session affinity.", + "id": "BackendServiceHttpCookie", + "properties": { + "name": { + "description": "Name of the cookie.", + "type": "string" + }, + "path": { + "description": "Path to set for the cookie.", + "type": "string" + }, + "ttl": { + "$ref": "Duration", + "description": "Lifetime of the cookie." + } + }, + "type": "object" + }, "BackendServiceIAP": { "description": "Identity-Aware Proxy", "id": "BackendServiceIAP", @@ -41515,6 +41814,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -41551,6 +41851,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -41575,6 +41876,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -41667,6 +41969,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -41703,6 +42006,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -41727,6 +42031,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -41916,6 +42221,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -41952,6 +42258,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -41976,6 +42283,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -42260,10 +42568,6 @@ "description": "Associates `members`, or principals, with a `role`.", "id": "Binding", "properties": { - "bindingId": { - "description": "This is deprecated and has no effect. Do not use.", - "type": "string" - }, "condition": { "$ref": "Expr", "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." @@ -42508,6 +42812,10 @@ "description": "[Output Only] Creation timestamp in RFC3339 text format.", "type": "string" }, + "customEndTimestamp": { + "description": "[Input Only] Optional, specifies the CUD end time requested by the customer in RFC3339 text format. Needed when the customer wants CUD's end date is later than the start date + term duration.", + "type": "string" + }, "description": { "description": "An optional description of this resource. Provide this property when you create the resource.", "type": "string" @@ -42574,6 +42882,10 @@ }, "type": "array" }, + "resourceStatus": { + "$ref": "CommitmentResourceStatus", + "description": "[Output Only] Status information for Commitment resource." + }, "resources": { "description": "A list of commitment amounts for particular resources. Note that VCPU and MEMORY resource commitments must occur together.", "items": { @@ -42628,6 +42940,7 @@ "COMPUTE_OPTIMIZED_H3", "GENERAL_PURPOSE", "GENERAL_PURPOSE_C4", + "GENERAL_PURPOSE_C4A", "GENERAL_PURPOSE_E2", "GENERAL_PURPOSE_N2", "GENERAL_PURPOSE_N2D", @@ -42636,6 +42949,9 @@ "GRAPHICS_OPTIMIZED", "MEMORY_OPTIMIZED", "MEMORY_OPTIMIZED_M3", + "MEMORY_OPTIMIZED_X4_16TB", + "MEMORY_OPTIMIZED_X4_24TB", + "MEMORY_OPTIMIZED_X4_32TB", "STORAGE_OPTIMIZED_Z3", "TYPE_UNSPECIFIED" ], @@ -42659,6 +42975,10 @@ "", "", "", + "", + "", + "", + "", "" ], "type": "string" @@ -42728,6 +43048,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -42764,6 +43085,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -42788,6 +43110,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -42880,6 +43203,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -42916,6 +43240,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -42940,6 +43265,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -42977,6 +43303,17 @@ }, "type": "object" }, + "CommitmentResourceStatus": { + "description": "[Output Only] Contains output only fields.", + "id": "CommitmentResourceStatus", + "properties": { + "customTermEligibilityEndTimestamp": { + "description": "[Output Only] Indicates the end time of customer's eligibility to send custom term requests in RFC3339 text format. Term extension requests that (not the end time in the request) after this time will be rejected.", + "type": "string" + } + }, + "type": "object" + }, "CommitmentsScopedList": { "id": "CommitmentsScopedList", "properties": { @@ -43014,6 +43351,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -43050,6 +43388,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -43074,6 +43413,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -43111,86 +43451,6 @@ }, "type": "object" }, - "Condition": { - "description": "This is deprecated and has no effect. Do not use.", - "id": "Condition", - "properties": { - "iam": { - "description": "This is deprecated and has no effect. Do not use.", - "enum": [ - "APPROVER", - "ATTRIBUTION", - "AUTHORITY", - "CREDENTIALS_TYPE", - "CREDS_ASSERTION", - "JUSTIFICATION_TYPE", - "NO_ATTR", - "SECURITY_REALM" - ], - "enumDescriptions": [ - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use." - ], - "type": "string" - }, - "op": { - "description": "This is deprecated and has no effect. Do not use.", - "enum": [ - "DISCHARGED", - "EQUALS", - "IN", - "NOT_EQUALS", - "NOT_IN", - "NO_OP" - ], - "enumDescriptions": [ - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use." - ], - "type": "string" - }, - "svc": { - "description": "This is deprecated and has no effect. Do not use.", - "type": "string" - }, - "sys": { - "description": "This is deprecated and has no effect. Do not use.", - "enum": [ - "IP", - "NAME", - "NO_ATTR", - "REGION", - "SERVICE" - ], - "enumDescriptions": [ - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use." - ], - "type": "string" - }, - "values": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "ConfidentialInstanceConfig": { "description": "A set of Confidential Instance options.", "id": "ConfidentialInstanceConfig", @@ -43788,6 +44048,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -43824,229 +44085,6 @@ false, false, false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "DiskAsyncReplication": { - "id": "DiskAsyncReplication", - "properties": { - "consistencyGroupPolicy": { - "description": "[Output Only] URL of the DiskConsistencyGroupPolicy if replication was started on the disk as a member of a group.", - "type": "string" - }, - "consistencyGroupPolicyId": { - "description": "[Output Only] ID of the DiskConsistencyGroupPolicy if replication was started on the disk as a member of a group.", - "type": "string" - }, - "disk": { - "description": "The other disk asynchronously replicated to or from the current disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/disks/disk ", - "type": "string" - }, - "diskId": { - "description": "[Output Only] The unique ID of the other disk asynchronously replicated to or from the current disk. This value identifies the exact disk that was used to create this replication. For example, if you started replicating the persistent disk from a disk that was later deleted and recreated under the same name, the disk ID would identify the exact version of the disk that was used.", - "type": "string" - } - }, - "type": "object" - }, - "DiskAsyncReplicationList": { - "id": "DiskAsyncReplicationList", - "properties": { - "asyncReplicationDisk": { - "$ref": "DiskAsyncReplication" - } - }, - "type": "object" - }, - "DiskInstantiationConfig": { - "description": "A specification of the desired way to instantiate a disk in the instance template when its created from a source instance.", - "id": "DiskInstantiationConfig", - "properties": { - "autoDelete": { - "description": "Specifies whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).", - "type": "boolean" - }, - "customImage": { - "description": "The custom source image to be used to restore this disk when instantiating this instance template.", - "type": "string" - }, - "deviceName": { - "description": "Specifies the device name of the disk to which the configurations apply to.", - "type": "string" - }, - "instantiateFrom": { - "description": "Specifies whether to include the disk and what image to use. Possible values are: - source-image: to use the same image that was used to create the source instance's corresponding disk. Applicable to the boot disk and additional read-write disks. - source-image-family: to use the same image family that was used to create the source instance's corresponding disk. Applicable to the boot disk and additional read-write disks. - custom-image: to use a user-provided image url for disk creation. Applicable to the boot disk and additional read-write disks. - attach-read-only: to attach a read-only disk. Applicable to read-only disks. - do-not-include: to exclude a disk from the template. Applicable to additional read-write disks, local SSDs, and read-only disks. ", - "enum": [ - "ATTACH_READ_ONLY", - "BLANK", - "CUSTOM_IMAGE", - "DEFAULT", - "DO_NOT_INCLUDE", - "SOURCE_IMAGE", - "SOURCE_IMAGE_FAMILY" - ], - "enumDescriptions": [ - "Attach the existing disk in read-only mode. The request will fail if the disk was attached in read-write mode on the source instance. Applicable to: read-only disks.", - "Create a blank disk. The disk will be created unformatted. Applicable to: additional read-write disks, local SSDs.", - "Use the custom image specified in the custom_image field. Applicable to: boot disk, additional read-write disks.", - "Use the default instantiation option for the corresponding type of disk. For boot disk and any other R/W disks, new custom images will be created from each disk. For read-only disks, they will be attached in read-only mode. Local SSD disks will be created as blank volumes.", - "Do not include the disk in the instance template. Applicable to: additional read-write disks, local SSDs, read-only disks.", - "Use the same source image used for creation of the source instance's corresponding disk. The request will fail if the source VM's disk was created from a snapshot. Applicable to: boot disk, additional read-write disks.", - "Use the same source image family used for creation of the source instance's corresponding disk. The request will fail if the source image of the source disk does not belong to any image family. Applicable to: boot disk, additional read-write disks." - ], - "type": "string" - } - }, - "type": "object" - }, - "DiskList": { - "description": "A list of Disk resources.", - "id": "DiskList", - "properties": { - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", - "type": "string" - }, - "items": { - "description": "A list of Disk resources.", - "items": { - "$ref": "Disk" - }, - "type": "array" - }, - "kind": { - "default": "compute#diskList", - "description": "[Output Only] Type of resource. Always compute#diskList for lists of disks.", - "type": "string" - }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", - "type": "string" - }, - "warning": { - "description": "[Output Only] Informational warning message.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, false, false ], @@ -44072,6 +44110,234 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "DiskAsyncReplication": { + "id": "DiskAsyncReplication", + "properties": { + "consistencyGroupPolicy": { + "description": "[Output Only] URL of the DiskConsistencyGroupPolicy if replication was started on the disk as a member of a group.", + "type": "string" + }, + "consistencyGroupPolicyId": { + "description": "[Output Only] ID of the DiskConsistencyGroupPolicy if replication was started on the disk as a member of a group.", + "type": "string" + }, + "disk": { + "description": "The other disk asynchronously replicated to or from the current disk. You can provide this as a partial or full URL to the resource. For example, the following are valid values: - https://www.googleapis.com/compute/v1/projects/project/zones/zone /disks/disk - projects/project/zones/zone/disks/disk - zones/zone/disks/disk ", + "type": "string" + }, + "diskId": { + "description": "[Output Only] The unique ID of the other disk asynchronously replicated to or from the current disk. This value identifies the exact disk that was used to create this replication. For example, if you started replicating the persistent disk from a disk that was later deleted and recreated under the same name, the disk ID would identify the exact version of the disk that was used.", + "type": "string" + } + }, + "type": "object" + }, + "DiskAsyncReplicationList": { + "id": "DiskAsyncReplicationList", + "properties": { + "asyncReplicationDisk": { + "$ref": "DiskAsyncReplication" + } + }, + "type": "object" + }, + "DiskInstantiationConfig": { + "description": "A specification of the desired way to instantiate a disk in the instance template when its created from a source instance.", + "id": "DiskInstantiationConfig", + "properties": { + "autoDelete": { + "description": "Specifies whether the disk will be auto-deleted when the instance is deleted (but not when the disk is detached from the instance).", + "type": "boolean" + }, + "customImage": { + "description": "The custom source image to be used to restore this disk when instantiating this instance template.", + "type": "string" + }, + "deviceName": { + "description": "Specifies the device name of the disk to which the configurations apply to.", + "type": "string" + }, + "instantiateFrom": { + "description": "Specifies whether to include the disk and what image to use. Possible values are: - source-image: to use the same image that was used to create the source instance's corresponding disk. Applicable to the boot disk and additional read-write disks. - source-image-family: to use the same image family that was used to create the source instance's corresponding disk. Applicable to the boot disk and additional read-write disks. - custom-image: to use a user-provided image url for disk creation. Applicable to the boot disk and additional read-write disks. - attach-read-only: to attach a read-only disk. Applicable to read-only disks. - do-not-include: to exclude a disk from the template. Applicable to additional read-write disks, local SSDs, and read-only disks. ", + "enum": [ + "ATTACH_READ_ONLY", + "BLANK", + "CUSTOM_IMAGE", + "DEFAULT", + "DO_NOT_INCLUDE", + "SOURCE_IMAGE", + "SOURCE_IMAGE_FAMILY" + ], + "enumDescriptions": [ + "Attach the existing disk in read-only mode. The request will fail if the disk was attached in read-write mode on the source instance. Applicable to: read-only disks.", + "Create a blank disk. The disk will be created unformatted. Applicable to: additional read-write disks, local SSDs.", + "Use the custom image specified in the custom_image field. Applicable to: boot disk, additional read-write disks.", + "Use the default instantiation option for the corresponding type of disk. For boot disk and any other R/W disks, new custom images will be created from each disk. For read-only disks, they will be attached in read-only mode. Local SSD disks will be created as blank volumes.", + "Do not include the disk in the instance template. Applicable to: additional read-write disks, local SSDs, read-only disks.", + "Use the same source image used for creation of the source instance's corresponding disk. The request will fail if the source VM's disk was created from a snapshot. Applicable to: boot disk, additional read-write disks.", + "Use the same source image family used for creation of the source instance's corresponding disk. The request will fail if the source image of the source disk does not belong to any image family. Applicable to: boot disk, additional read-write disks." + ], + "type": "string" + } + }, + "type": "object" + }, + "DiskList": { + "description": "A list of Disk resources.", + "id": "DiskList", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of Disk resources.", + "items": { + "$ref": "Disk" + }, + "type": "array" + }, + "kind": { + "default": "compute#diskList", + "description": "[Output Only] Type of resource. Always compute#diskList for lists of disks.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -44295,6 +44561,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -44331,6 +44598,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -44355,6 +44623,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -44447,6 +44716,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -44483,6 +44753,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -44507,6 +44778,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -44581,6 +44853,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -44617,6 +44890,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -44641,6 +44915,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -44752,6 +45027,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -44788,6 +45064,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -44812,6 +45089,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -44954,7 +45232,7 @@ "additionalProperties": { "type": "string" }, - "description": "Additional structured details about this error. Keys must match /a-z+/ but should ideally be lowerCamelCase. Also they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than {\"instanceLimit\": \"100/request\"}, should be returned as, {\"instanceLimitPerRequest\": \"100\"}, if the client exceeds the number of instances that can be created in a single (batch) request.", + "description": "Additional structured details about this error. Keys must match a regular expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{\"instanceLimit\": \"100/request\"}`, should be returned as, `{\"instanceLimitPerRequest\": \"100\"}`, if the client exceeds the number of instances that can be created in a single (batch) request.", "type": "object" }, "reason": { @@ -45055,6 +45333,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -45091,6 +45370,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -45115,6 +45395,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -45325,6 +45606,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -45361,6 +45643,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -45385,6 +45668,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -45653,6 +45937,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -45689,6 +45974,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -45713,6 +45999,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -45791,138 +46078,18 @@ }, "type": "object" }, - "FirewallPolicy": { - "description": "Represents a Firewall Policy resource.", - "id": "FirewallPolicy", - "properties": { - "associations": { - "description": "A list of associations that belong to this firewall policy.", - "items": { - "$ref": "FirewallPolicyAssociation" - }, - "type": "array" - }, - "creationTimestamp": { - "description": "[Output Only] Creation timestamp in RFC3339 text format.", - "type": "string" - }, - "description": { - "description": "An optional description of this resource. Provide this property when you create the resource.", - "type": "string" - }, - "displayName": { - "deprecated": true, - "description": "Deprecated, please use short name instead. User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" - }, - "fingerprint": { - "description": "Specifies a fingerprint for this resource, which is essentially a hash of the metadata's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make get() request to the firewall policy.", - "format": "byte", - "type": "string" - }, - "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", - "format": "uint64", - "type": "string" - }, - "kind": { - "default": "compute#firewallPolicy", - "description": "[Output only] Type of the resource. Always compute#firewallPolicyfor firewall policies", - "type": "string" - }, - "name": { - "description": "Name of the resource. For Organization Firewall Policies it's a [Output Only] numeric ID allocated by Google Cloud which uniquely identifies the Organization Firewall Policy.", - "type": "string" - }, - "parent": { - "description": "[Output Only] The parent of the firewall policy. This field is not applicable to network firewall policies.", - "type": "string" - }, - "region": { - "description": "[Output Only] URL of the region where the regional firewall policy resides. This field is not applicable to global firewall policies. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", - "type": "string" - }, - "ruleTupleCount": { - "description": "[Output Only] Total count of all firewall policy rule tuples. A firewall policy can not exceed a set number of tuples.", - "format": "int32", - "type": "integer" - }, - "rules": { - "description": "A list of rules that belong to this policy. There must always be a default rule (rule with priority 2147483647 and match \"*\"). If no rules are provided when creating a firewall policy, a default rule with action \"allow\" will be added.", - "items": { - "$ref": "FirewallPolicyRule" - }, - "type": "array" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for the resource.", - "type": "string" - }, - "selfLinkWithId": { - "description": "[Output Only] Server-defined URL for this resource with the resource id.", - "type": "string" - }, - "shortName": { - "description": "User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" - } - }, - "type": "object" - }, - "FirewallPolicyAssociation": { - "id": "FirewallPolicyAssociation", - "properties": { - "attachmentTarget": { - "description": "The target that the firewall policy is attached to.", - "type": "string" - }, - "displayName": { - "deprecated": true, - "description": "[Output Only] Deprecated, please use short name instead. The display name of the firewall policy of the association.", - "type": "string" - }, - "firewallPolicyId": { - "description": "[Output Only] The firewall policy ID of the association.", - "type": "string" - }, - "name": { - "description": "The name for an association.", - "type": "string" - }, - "shortName": { - "description": "[Output Only] The short name of the firewall policy of the association.", - "type": "string" - } - }, - "type": "object" - }, - "FirewallPolicyList": { - "id": "FirewallPolicyList", + "FirewallPoliciesScopedList": { + "id": "FirewallPoliciesScopedList", "properties": { - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", - "type": "string" - }, - "items": { - "description": "A list of FirewallPolicy resources.", + "firewallPolicies": { + "description": "A list of firewall policies contained in this scope.", "items": { "$ref": "FirewallPolicy" }, "type": "array" }, - "kind": { - "default": "compute#firewallPolicyList", - "description": "[Output Only] Type of resource. Always compute#firewallPolicyList for listsof FirewallPolicies", - "type": "string" - }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", - "type": "string" - }, "warning": { - "description": "[Output Only] Informational warning message.", + "description": "Informational warning which replaces the list of firewall policies when the list is empty.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", @@ -45948,6 +46115,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -45984,6 +46152,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -46008,6 +46177,264 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "FirewallPolicy": { + "description": "Represents a Firewall Policy resource.", + "id": "FirewallPolicy", + "properties": { + "associations": { + "description": "A list of associations that belong to this firewall policy.", + "items": { + "$ref": "FirewallPolicyAssociation" + }, + "type": "array" + }, + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", + "type": "string" + }, + "displayName": { + "deprecated": true, + "description": "Deprecated, please use short name instead. User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "fingerprint": { + "description": "Specifies a fingerprint for this resource, which is essentially a hash of the metadata's contents and used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update metadata. You must always provide an up-to-date fingerprint hash in order to update or change metadata, otherwise the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make get() request to the firewall policy.", + "format": "byte", + "type": "string" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64", + "type": "string" + }, + "kind": { + "default": "compute#firewallPolicy", + "description": "[Output only] Type of the resource. Always compute#firewallPolicyfor firewall policies", + "type": "string" + }, + "name": { + "description": "Name of the resource. For Organization Firewall Policies it's a [Output Only] numeric ID allocated by Google Cloud which uniquely identifies the Organization Firewall Policy.", + "type": "string" + }, + "parent": { + "description": "[Output Only] The parent of the firewall policy. This field is not applicable to network firewall policies.", + "type": "string" + }, + "region": { + "description": "[Output Only] URL of the region where the regional firewall policy resides. This field is not applicable to global firewall policies. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "type": "string" + }, + "ruleTupleCount": { + "description": "[Output Only] Total count of all firewall policy rule tuples. A firewall policy can not exceed a set number of tuples.", + "format": "int32", + "type": "integer" + }, + "rules": { + "description": "A list of rules that belong to this policy. There must always be a default rule (rule with priority 2147483647 and match \"*\"). If no rules are provided when creating a firewall policy, a default rule with action \"allow\" will be added.", + "items": { + "$ref": "FirewallPolicyRule" + }, + "type": "array" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + }, + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "type": "string" + }, + "shortName": { + "description": "User-provided name of the Organization firewall policy. The name should be unique in the organization in which the firewall policy is created. This field is not applicable to network firewall policies. This name must be set on creation and cannot be changed. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + } + }, + "type": "object" + }, + "FirewallPolicyAssociation": { + "id": "FirewallPolicyAssociation", + "properties": { + "attachmentTarget": { + "description": "The target that the firewall policy is attached to.", + "type": "string" + }, + "displayName": { + "deprecated": true, + "description": "[Output Only] Deprecated, please use short name instead. The display name of the firewall policy of the association.", + "type": "string" + }, + "firewallPolicyId": { + "description": "[Output Only] The firewall policy ID of the association.", + "type": "string" + }, + "name": { + "description": "The name for an association.", + "type": "string" + }, + "shortName": { + "description": "[Output Only] The short name of the firewall policy of the association.", + "type": "string" + } + }, + "type": "object" + }, + "FirewallPolicyList": { + "id": "FirewallPolicyList", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of FirewallPolicy resources.", + "items": { + "$ref": "FirewallPolicy" + }, + "type": "array" + }, + "kind": { + "default": "compute#firewallPolicyList", + "description": "[Output Only] Type of resource. Always compute#firewallPolicyList for listsof FirewallPolicies", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -46587,6 +47014,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -46623,6 +47051,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -46647,6 +47076,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -46739,6 +47169,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -46775,6 +47206,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -46799,6 +47231,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -46901,6 +47334,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -46937,780 +47371,6 @@ false, false, false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "FutureReservation": { - "id": "FutureReservation", - "properties": { - "autoCreatedReservationsDeleteTime": { - "description": "Future timestamp when the FR auto-created reservations will be deleted by Compute Engine. Format of this field must be a valid href=\"https://www.ietf.org/rfc/rfc3339.txt\">RFC3339 value.", - "type": "string" - }, - "autoCreatedReservationsDuration": { - "$ref": "Duration", - "description": "Specifies the duration of auto-created reservations. It represents relative time to future reservation start_time when auto-created reservations will be automatically deleted by Compute Engine. Duration time unit is represented as a count of seconds and fractions of seconds at nanosecond resolution." - }, - "autoDeleteAutoCreatedReservations": { - "description": "Setting for enabling or disabling automatic deletion for auto-created reservation. If set to true, auto-created reservations will be deleted at Future Reservation's end time (default) or at user's defined timestamp if any of the [auto_created_reservations_delete_time, auto_created_reservations_duration] values is specified. For keeping auto-created reservation indefinitely, this value should be set to false.", - "type": "boolean" - }, - "creationTimestamp": { - "description": "[Output Only] The creation timestamp for this future reservation in RFC3339 text format.", - "type": "string" - }, - "description": { - "description": "An optional description of this resource. Provide this property when you create the future reservation.", - "type": "string" - }, - "id": { - "description": "[Output Only] A unique identifier for this future reservation. The server defines this identifier.", - "format": "uint64", - "type": "string" - }, - "kind": { - "default": "compute#futureReservation", - "description": "[Output Only] Type of the resource. Always compute#futureReservation for future reservations.", - "type": "string" - }, - "name": { - "annotations": { - "required": [ - "compute.instances.insert" - ] - }, - "description": "The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" - }, - "namePrefix": { - "description": "Name prefix for the reservations to be created at the time of delivery. The name prefix must comply with RFC1035. Maximum allowed length for name prefix is 20. Automatically created reservations name format will be -date-####.", - "type": "string" - }, - "planningStatus": { - "description": "Planning state before being submitted for evaluation", - "enum": [ - "DRAFT", - "PLANNING_STATUS_UNSPECIFIED", - "SUBMITTED" - ], - "enumDescriptions": [ - "Future Reservation is being drafted.", - "", - "Future Reservation has been submitted for evaluation by GCP." - ], - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined fully-qualified URL for this resource.", - "type": "string" - }, - "selfLinkWithId": { - "description": "[Output Only] Server-defined URL for this resource with the resource id.", - "type": "string" - }, - "shareSettings": { - "$ref": "ShareSettings", - "description": "List of Projects/Folders to share with." - }, - "specificSkuProperties": { - "$ref": "FutureReservationSpecificSKUProperties", - "description": "Future Reservation configuration to indicate instance properties and total count." - }, - "status": { - "$ref": "FutureReservationStatus", - "description": "[Output only] Status of the Future Reservation" - }, - "timeWindow": { - "$ref": "FutureReservationTimeWindow", - "description": "Time window for this Future Reservation." - }, - "zone": { - "description": "[Output Only] URL of the Zone where this future reservation resides.", - "type": "string" - } - }, - "type": "object" - }, - "FutureReservationSpecificSKUProperties": { - "id": "FutureReservationSpecificSKUProperties", - "properties": { - "instanceProperties": { - "$ref": "AllocationSpecificSKUAllocationReservedInstanceProperties", - "description": "Properties of the SKU instances being reserved." - }, - "sourceInstanceTemplate": { - "description": "The instance template that will be used to populate the ReservedInstanceProperties of the future reservation", - "type": "string" - }, - "totalCount": { - "description": "Total number of instances for which capacity assurance is requested at a future time period.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "FutureReservationStatus": { - "description": "[Output only] Represents status related to the future reservation.", - "id": "FutureReservationStatus", - "properties": { - "amendmentStatus": { - "description": "[Output Only] The current status of the requested amendment.", - "enum": [ - "AMENDMENT_APPROVED", - "AMENDMENT_DECLINED", - "AMENDMENT_IN_REVIEW", - "AMENDMENT_STATUS_UNSPECIFIED" - ], - "enumDescriptions": [ - "The requested amendment to the Future Resevation has been approved and applied by GCP.", - "The requested amendment to the Future Reservation has been declined by GCP and the original state was restored.", - "The requested amendment to the Future Reservation is currently being reviewd by GCP.", - "" - ], - "type": "string" - }, - "autoCreatedReservations": { - "description": "Fully qualified urls of the automatically created reservations at start_time.", - "items": { - "type": "string" - }, - "type": "array" - }, - "existingMatchingUsageInfo": { - "$ref": "FutureReservationStatusExistingMatchingUsageInfo", - "description": "[Output Only] Represents the existing matching usage for the future reservation." - }, - "fulfilledCount": { - "description": "This count indicates the fulfilled capacity so far. This is set during \"PROVISIONING\" state. This count also includes capacity delivered as part of existing matching reservations.", - "format": "int64", - "type": "string" - }, - "lastKnownGoodState": { - "$ref": "FutureReservationStatusLastKnownGoodState", - "description": "[Output Only] This field represents the future reservation before an amendment was requested. If the amendment is declined, the Future Reservation will be reverted to the last known good state. The last known good state is not set when updating a future reservation whose Procurement Status is DRAFTING." - }, - "lockTime": { - "description": "Time when Future Reservation would become LOCKED, after which no modifications to Future Reservation will be allowed. Applicable only after the Future Reservation is in the APPROVED state. The lock_time is an RFC3339 string. The procurement_status will transition to PROCURING state at this time.", - "type": "string" - }, - "procurementStatus": { - "description": "Current state of this Future Reservation", - "enum": [ - "APPROVED", - "CANCELLED", - "COMMITTED", - "DECLINED", - "DRAFTING", - "FAILED", - "FAILED_PARTIALLY_FULFILLED", - "FULFILLED", - "PENDING_AMENDMENT_APPROVAL", - "PENDING_APPROVAL", - "PROCUREMENT_STATUS_UNSPECIFIED", - "PROCURING", - "PROVISIONING" - ], - "enumDescriptions": [ - "Future reservation is approved by GCP.", - "Future reservation is cancelled by the customer.", - "Future reservation is committed by the customer.", - "Future reservation is rejected by GCP.", - "Related status for PlanningStatus.Draft. Transitions to PENDING_APPROVAL upon user submitting FR.", - "Future reservation failed. No additional reservations were provided.", - "Future reservation is partially fulfilled. Additional reservations were provided but did not reach total_count reserved instance slots.", - "Future reservation is fulfilled completely.", - "An Amendment to the Future Reservation has been requested. If the Amendment is declined, the Future Reservation will be restored to the last known good state.", - "Future reservation is pending approval by GCP.", - "", - "Future reservation is being procured by GCP. Beyond this point, Future reservation is locked and no further modifications are allowed.", - "Future reservation capacity is being provisioned. This state will be entered after start_time, while reservations are being created to provide total_count reserved instance slots. This state will not persist past start_time + 24h." - ], - "type": "string" - }, - "specificSkuProperties": { - "$ref": "FutureReservationStatusSpecificSKUProperties" - } - }, - "type": "object" - }, - "FutureReservationStatusExistingMatchingUsageInfo": { - "description": "[Output Only] Represents the existing matching usage for the future reservation.", - "id": "FutureReservationStatusExistingMatchingUsageInfo", - "properties": { - "count": { - "description": "Count to represent min(FR total_count, matching_reserved_capacity+matching_unreserved_instances)", - "format": "int64", - "type": "string" - }, - "timestamp": { - "description": "Timestamp when the matching usage was calculated", - "type": "string" - } - }, - "type": "object" - }, - "FutureReservationStatusLastKnownGoodState": { - "description": "The state that the future reservation will be reverted to should the amendment be declined.", - "id": "FutureReservationStatusLastKnownGoodState", - "properties": { - "description": { - "description": "[Output Only] The description of the FutureReservation before an amendment was requested.", - "type": "string" - }, - "existingMatchingUsageInfo": { - "$ref": "FutureReservationStatusExistingMatchingUsageInfo", - "description": "[Output Only] Represents the matching usage for the future reservation before an amendment was requested." - }, - "futureReservationSpecs": { - "$ref": "FutureReservationStatusLastKnownGoodStateFutureReservationSpecs" - }, - "lockTime": { - "description": "[Output Only] The lock time of the FutureReservation before an amendment was requested.", - "type": "string" - }, - "namePrefix": { - "description": "[Output Only] The name prefix of the Future Reservation before an amendment was requested.", - "type": "string" - }, - "procurementStatus": { - "description": "[Output Only] The status of the last known good state for the Future Reservation.", - "enum": [ - "APPROVED", - "CANCELLED", - "COMMITTED", - "DECLINED", - "DRAFTING", - "FAILED", - "FAILED_PARTIALLY_FULFILLED", - "FULFILLED", - "PENDING_AMENDMENT_APPROVAL", - "PENDING_APPROVAL", - "PROCUREMENT_STATUS_UNSPECIFIED", - "PROCURING", - "PROVISIONING" - ], - "enumDescriptions": [ - "Future reservation is approved by GCP.", - "Future reservation is cancelled by the customer.", - "Future reservation is committed by the customer.", - "Future reservation is rejected by GCP.", - "Related status for PlanningStatus.Draft. Transitions to PENDING_APPROVAL upon user submitting FR.", - "Future reservation failed. No additional reservations were provided.", - "Future reservation is partially fulfilled. Additional reservations were provided but did not reach total_count reserved instance slots.", - "Future reservation is fulfilled completely.", - "An Amendment to the Future Reservation has been requested. If the Amendment is declined, the Future Reservation will be restored to the last known good state.", - "Future reservation is pending approval by GCP.", - "", - "Future reservation is being procured by GCP. Beyond this point, Future reservation is locked and no further modifications are allowed.", - "Future reservation capacity is being provisioned. This state will be entered after start_time, while reservations are being created to provide total_count reserved instance slots. This state will not persist past start_time + 24h." - ], - "type": "string" - } - }, - "type": "object" - }, - "FutureReservationStatusLastKnownGoodStateFutureReservationSpecs": { - "description": "The properties of the last known good state for the Future Reservation.", - "id": "FutureReservationStatusLastKnownGoodStateFutureReservationSpecs", - "properties": { - "shareSettings": { - "$ref": "ShareSettings", - "description": "[Output Only] The previous share settings of the Future Reservation." - }, - "specificSkuProperties": { - "$ref": "FutureReservationSpecificSKUProperties", - "description": "[Output Only] The previous instance related properties of the Future Reservation." - }, - "timeWindow": { - "$ref": "FutureReservationTimeWindow", - "description": "[Output Only] The previous time window of the Future Reservation." - } - }, - "type": "object" - }, - "FutureReservationStatusSpecificSKUProperties": { - "description": "Properties to be set for the Future Reservation.", - "id": "FutureReservationStatusSpecificSKUProperties", - "properties": { - "sourceInstanceTemplateId": { - "description": "ID of the instance template used to populate the Future Reservation properties.", - "type": "string" - } - }, - "type": "object" - }, - "FutureReservationTimeWindow": { - "id": "FutureReservationTimeWindow", - "properties": { - "duration": { - "$ref": "Duration" - }, - "endTime": { - "type": "string" - }, - "startTime": { - "description": "Start time of the Future Reservation. The start_time is an RFC3339 string.", - "type": "string" - } - }, - "type": "object" - }, - "FutureReservationsAggregatedListResponse": { - "description": "Contains a list of future reservations.", - "id": "FutureReservationsAggregatedListResponse", - "properties": { - "etag": { - "type": "string" - }, - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", - "type": "string" - }, - "items": { - "additionalProperties": { - "$ref": "FutureReservationsScopedList", - "description": "Name of the scope containing this set of future reservations." - }, - "description": "A list of Future reservation resources.", - "type": "object" - }, - "kind": { - "default": "compute#futureReservationsAggregatedListResponse", - "description": "[Output Only] Type of resource. Always compute#futureReservationsAggregatedListResponse for future resevation aggregated list response.", - "type": "string" - }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", - "type": "string" - }, - "unreachables": { - "description": "[Output Only] Unreachable resources.", - "items": { - "type": "string" - }, - "type": "array" - }, - "warning": { - "description": "[Output Only] Informational warning message.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "FutureReservationsListResponse": { - "id": "FutureReservationsListResponse", - "properties": { - "etag": { - "type": "string" - }, - "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", - "type": "string" - }, - "items": { - "description": "[Output Only] A list of future reservation resources.", - "items": { - "$ref": "FutureReservation" - }, - "type": "array" - }, - "kind": { - "default": "compute#futureReservationsListResponse", - "description": "[Output Only] Type of resource.Always compute#FutureReservationsListResponse for lists of reservations", - "type": "string" - }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", - "type": "string" - }, - "unreachables": { - "description": "[Output Only] Unreachable resources.", - "items": { - "type": "string" - }, - "type": "array" - }, - "warning": { - "description": "[Output Only] Informational warning message.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "FutureReservationsScopedList": { - "id": "FutureReservationsScopedList", - "properties": { - "futureReservations": { - "description": "A list of future reservations contained in this scope.", - "items": { - "$ref": "FutureReservation" - }, - "type": "array" - }, - "warning": { - "description": "Informational warning which replaces the list of future reservations when the list is empty.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, false, false ], @@ -47736,6 +47396,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -48336,6 +47997,268 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "HealthCheckLogConfig": { + "description": "Configuration of logging on a health check. If logging is enabled, logs will be exported to Stackdriver.", + "id": "HealthCheckLogConfig", + "properties": { + "enable": { + "description": "Indicates whether or not to export logs. This is false by default, which means no health check logging will be done.", + "type": "boolean" + } + }, + "type": "object" + }, + "HealthCheckReference": { + "description": "A full or valid partial URL to a health check. For example, the following are valid URLs: - https://www.googleapis.com/compute/beta/projects/project-id/global/httpHealthChecks/health-check - projects/project-id/global/httpHealthChecks/health-check - global/httpHealthChecks/health-check ", + "id": "HealthCheckReference", + "properties": { + "healthCheck": { + "type": "string" + } + }, + "type": "object" + }, + "HealthCheckService": { + "description": "Represents a Health-Check as a Service resource.", + "id": "HealthCheckService", + "properties": { + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", + "type": "string" + }, + "fingerprint": { + "description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a HealthCheckService. An up-to-date fingerprint must be provided in order to patch/update the HealthCheckService; Otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the HealthCheckService.", + "format": "byte", + "type": "string" + }, + "healthChecks": { + "description": "A list of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10 for regional HealthCheckService, and not more than 1 for global HealthCheckService. HealthCheck resources must have portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks must belong to the same region as zones of NetworkEndpointGroups. For global HealthCheckService using global INTERNET_IP_PORT NetworkEndpointGroups, the global HealthChecks must specify sourceRegions, and HealthChecks that specify sourceRegions can only be used with global INTERNET_IP_PORT NetworkEndpointGroups.", + "items": { + "type": "string" + }, + "type": "array" + }, + "healthStatusAggregationPolicy": { + "description": "Optional. Policy for how the results from multiple health checks for the same endpoint are aggregated. Defaults to NO_AGGREGATION if unspecified. - NO_AGGREGATION. An EndpointHealth message is returned for each pair in the health check service. - AND. If any health check of an endpoint reports UNHEALTHY, then UNHEALTHY is the HealthState of the endpoint. If all health checks report HEALTHY, the HealthState of the endpoint is HEALTHY. . This is only allowed with regional HealthCheckService.", + "enum": [ + "AND", + "NO_AGGREGATION" + ], + "enumDescriptions": [ + "If any backend's health check reports UNHEALTHY, then UNHEALTHY is the HealthState of the entire health check service. If all backend's are healthy, the HealthState of the health check service is HEALTHY.", + "An EndpointHealth message is returned for each backend in the health check service." + ], + "type": "string" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64", + "type": "string" + }, + "kind": { + "default": "compute#healthCheckService", + "description": "[Output only] Type of the resource. Always compute#healthCheckServicefor health check services.", + "type": "string" + }, + "name": { + "description": "Name of the resource. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "networkEndpointGroups": { + "description": "A list of URLs to the NetworkEndpointGroup resources. Must not have more than 100. For regional HealthCheckService, NEGs must be in zones in the region of the HealthCheckService. For global HealthCheckServices, the NetworkEndpointGroups must be global INTERNET_IP_PORT.", + "items": { + "type": "string" + }, + "type": "array" + }, + "notificationEndpoints": { + "description": "A list of URLs to the NotificationEndpoint resources. Must not have more than 10. A list of endpoints for receiving notifications of change in health status. For regional HealthCheckService, NotificationEndpoint must be regional and in the same region. For global HealthCheckService, NotificationEndpoint must be global.", + "items": { + "type": "string" + }, + "type": "array" + }, + "region": { + "description": "[Output Only] URL of the region where the health check service resides. This field is not applicable to global health check services. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + } + }, + "type": "object" + }, + "HealthCheckServiceReference": { + "description": "A full or valid partial URL to a health check service. For example, the following are valid URLs: - https://www.googleapis.com/compute/beta/projects/project-id/regions/us-west1/healthCheckServices/health-check-service - projects/project-id/regions/us-west1/healthCheckServices/health-check-service - regions/us-west1/healthCheckServices/health-check-service ", + "id": "HealthCheckServiceReference", + "properties": { + "healthCheckService": { + "type": "string" + } + }, + "type": "object" + }, + "HealthCheckServicesList": { + "id": "HealthCheckServicesList", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of HealthCheckService resources.", + "items": { + "$ref": "HealthCheckService" + }, + "type": "array" + }, + "kind": { + "default": "compute#healthCheckServicesList", + "description": "[Output Only] Type of the resource. Always compute#healthCheckServicesList for lists of HealthCheckServices.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -48372,263 +48295,6 @@ false, false, false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "HealthCheckLogConfig": { - "description": "Configuration of logging on a health check. If logging is enabled, logs will be exported to Stackdriver.", - "id": "HealthCheckLogConfig", - "properties": { - "enable": { - "description": "Indicates whether or not to export logs. This is false by default, which means no health check logging will be done.", - "type": "boolean" - } - }, - "type": "object" - }, - "HealthCheckReference": { - "description": "A full or valid partial URL to a health check. For example, the following are valid URLs: - https://www.googleapis.com/compute/beta/projects/project-id/global/httpHealthChecks/health-check - projects/project-id/global/httpHealthChecks/health-check - global/httpHealthChecks/health-check ", - "id": "HealthCheckReference", - "properties": { - "healthCheck": { - "type": "string" - } - }, - "type": "object" - }, - "HealthCheckService": { - "description": "Represents a Health-Check as a Service resource.", - "id": "HealthCheckService", - "properties": { - "creationTimestamp": { - "description": "[Output Only] Creation timestamp in RFC3339 text format.", - "type": "string" - }, - "description": { - "description": "An optional description of this resource. Provide this property when you create the resource.", - "type": "string" - }, - "fingerprint": { - "description": "Fingerprint of this resource. A hash of the contents stored in this object. This field is used in optimistic locking. This field will be ignored when inserting a HealthCheckService. An up-to-date fingerprint must be provided in order to patch/update the HealthCheckService; Otherwise, the request will fail with error 412 conditionNotMet. To see the latest fingerprint, make a get() request to retrieve the HealthCheckService.", - "format": "byte", - "type": "string" - }, - "healthChecks": { - "description": "A list of URLs to the HealthCheck resources. Must have at least one HealthCheck, and not more than 10 for regional HealthCheckService, and not more than 1 for global HealthCheckService. HealthCheck resources must have portSpecification=USE_SERVING_PORT or portSpecification=USE_FIXED_PORT. For regional HealthCheckService, the HealthCheck must be regional and in the same region. For global HealthCheckService, HealthCheck must be global. Mix of regional and global HealthChecks is not supported. Multiple regional HealthChecks must belong to the same region. Regional HealthChecks must belong to the same region as zones of NetworkEndpointGroups. For global HealthCheckService using global INTERNET_IP_PORT NetworkEndpointGroups, the global HealthChecks must specify sourceRegions, and HealthChecks that specify sourceRegions can only be used with global INTERNET_IP_PORT NetworkEndpointGroups.", - "items": { - "type": "string" - }, - "type": "array" - }, - "healthStatusAggregationPolicy": { - "description": "Optional. Policy for how the results from multiple health checks for the same endpoint are aggregated. Defaults to NO_AGGREGATION if unspecified. - NO_AGGREGATION. An EndpointHealth message is returned for each pair in the health check service. - AND. If any health check of an endpoint reports UNHEALTHY, then UNHEALTHY is the HealthState of the endpoint. If all health checks report HEALTHY, the HealthState of the endpoint is HEALTHY. . This is only allowed with regional HealthCheckService.", - "enum": [ - "AND", - "NO_AGGREGATION" - ], - "enumDescriptions": [ - "If any backend's health check reports UNHEALTHY, then UNHEALTHY is the HealthState of the entire health check service. If all backend's are healthy, the HealthState of the health check service is HEALTHY.", - "An EndpointHealth message is returned for each backend in the health check service." - ], - "type": "string" - }, - "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", - "format": "uint64", - "type": "string" - }, - "kind": { - "default": "compute#healthCheckService", - "description": "[Output only] Type of the resource. Always compute#healthCheckServicefor health check services.", - "type": "string" - }, - "name": { - "description": "Name of the resource. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" - }, - "networkEndpointGroups": { - "description": "A list of URLs to the NetworkEndpointGroup resources. Must not have more than 100. For regional HealthCheckService, NEGs must be in zones in the region of the HealthCheckService. For global HealthCheckServices, the NetworkEndpointGroups must be global INTERNET_IP_PORT.", - "items": { - "type": "string" - }, - "type": "array" - }, - "notificationEndpoints": { - "description": "A list of URLs to the NotificationEndpoint resources. Must not have more than 10. A list of endpoints for receiving notifications of change in health status. For regional HealthCheckService, NotificationEndpoint must be regional and in the same region. For global HealthCheckService, NotificationEndpoint must be global.", - "items": { - "type": "string" - }, - "type": "array" - }, - "region": { - "description": "[Output Only] URL of the region where the health check service resides. This field is not applicable to global health check services. You must specify this field as part of the HTTP request URL. It is not settable as a field in the request body.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for the resource.", - "type": "string" - } - }, - "type": "object" - }, - "HealthCheckServiceReference": { - "description": "A full or valid partial URL to a health check service. For example, the following are valid URLs: - https://www.googleapis.com/compute/beta/projects/project-id/regions/us-west1/healthCheckServices/health-check-service - projects/project-id/regions/us-west1/healthCheckServices/health-check-service - regions/us-west1/healthCheckServices/health-check-service ", - "id": "HealthCheckServiceReference", - "properties": { - "healthCheckService": { - "type": "string" - } - }, - "type": "object" - }, - "HealthCheckServicesList": { - "id": "HealthCheckServicesList", - "properties": { - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", - "type": "string" - }, - "items": { - "description": "A list of HealthCheckService resources.", - "items": { - "$ref": "HealthCheckService" - }, - "type": "array" - }, - "kind": { - "default": "compute#healthCheckServicesList", - "description": "[Output Only] Type of the resource. Always compute#healthCheckServicesList for lists of HealthCheckServices.", - "type": "string" - }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", - "type": "string" - }, - "warning": { - "description": "[Output Only] Informational warning message.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, false, false ], @@ -48654,6 +48320,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -48753,6 +48420,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -48789,6 +48457,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -48813,6 +48482,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -48887,6 +48557,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -48923,6 +48594,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -48947,6 +48619,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -49022,6 +48695,21 @@ "description": "For target pool based Network Load Balancing, it indicates the forwarding rule's IP address assigned to this instance. For other types of load balancing, the field indicates VM internal ip.", "type": "string" }, + "ipv6Address": { + "type": "string" + }, + "ipv6HealthState": { + "description": "Health state of the IPv6 address of the instance.", + "enum": [ + "HEALTHY", + "UNHEALTHY" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, "port": { "description": "The named port of the instance group, not necessarily the port that is health-checked.", "format": "int32", @@ -49082,6 +48770,22 @@ "Health status of the endpoint is unknown." ], "type": "string" + }, + "ipv6HealthState": { + "description": "Health state of the ipv6 network endpoint determined based on the health checks configured.", + "enum": [ + "DRAINING", + "HEALTHY", + "UNHEALTHY", + "UNKNOWN" + ], + "enumDescriptions": [ + "Endpoint is being drained.", + "Endpoint is healthy.", + "Endpoint is unhealthy.", + "Health status of the endpoint is unknown." + ], + "type": "string" } }, "type": "object" @@ -49400,6 +49104,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -49436,6 +49141,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -49460,6 +49166,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -49659,15 +49366,15 @@ }, "routeAction": { "$ref": "HttpRouteAction", - "description": "In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a route rule's routeAction." + "description": "In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a route rule's routeAction." }, "service": { - "description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set.", + "description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set.", "type": "string" }, "urlRedirect": { "$ref": "HttpRedirectAction", - "description": "When this rule is matched, the request is redirected to a URL specified by urlRedirect. If urlRedirect is specified, service or routeAction must not be set. Not supported when the URL map is bound to a target gRPC proxy." + "description": "When this rule is matched, the request is redirected to a URL specified by urlRedirect. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy." } }, "type": "object" @@ -49842,6 +49549,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -49878,6 +49586,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -49902,6 +49611,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -50226,6 +49936,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -50262,6 +49973,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -50286,6 +49998,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -50676,6 +50389,281 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "InstanceConsumptionData": { + "id": "InstanceConsumptionData", + "properties": { + "consumptionInfo": { + "$ref": "InstanceConsumptionInfo", + "description": "Resources consumed by the instance." + }, + "instance": { + "description": "Server-defined URL for the instance.", + "type": "string" + } + }, + "type": "object" + }, + "InstanceConsumptionInfo": { + "id": "InstanceConsumptionInfo", + "properties": { + "guestCpus": { + "description": "The number of virtual CPUs that are available to the instance.", + "format": "int32", + "type": "integer" + }, + "localSsdGb": { + "description": "The amount of local SSD storage available to the instance, defined in GiB.", + "format": "int32", + "type": "integer" + }, + "memoryMb": { + "description": "The amount of physical memory available to the instance, defined in MiB.", + "format": "int32", + "type": "integer" + }, + "minNodeCpus": { + "description": "The minimal guaranteed number of virtual CPUs that are reserved.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "InstanceGroup": { + "description": "Represents an Instance Group resource. Instance Groups can be used to configure a target for load balancing. Instance groups can either be managed or unmanaged. To create managed instance groups, use the instanceGroupManager or regionInstanceGroupManager resource instead. Use zonal unmanaged instance groups if you need to apply load balancing to groups of heterogeneous instances or if you need to manage the instances yourself. You cannot create regional unmanaged instance groups. For more information, read Instance groups.", + "id": "InstanceGroup", + "properties": { + "creationTimestamp": { + "description": "[Output Only] The creation timestamp for this instance group in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", + "type": "string" + }, + "fingerprint": { + "description": "[Output Only] The fingerprint of the named ports. The system uses this fingerprint to detect conflicts when multiple users change the named ports concurrently.", + "format": "byte", + "type": "string" + }, + "id": { + "description": "[Output Only] A unique identifier for this instance group, generated by the server.", + "format": "uint64", + "type": "string" + }, + "kind": { + "default": "compute#instanceGroup", + "description": "[Output Only] The resource type, which is always compute#instanceGroup for instance groups.", + "type": "string" + }, + "name": { + "annotations": { + "required": [ + "compute.instanceGroups.insert" + ] + }, + "description": "The name of the instance group. The name must be 1-63 characters long, and comply with RFC1035.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "namedPorts": { + "description": " Assigns a name to a port number. For example: {name: \"http\", port: 80} This allows the system to reference ports by the assigned name instead of a port number. Named ports can also contain multiple ports. For example: [{name: \"app1\", port: 8080}, {name: \"app1\", port: 8081}, {name: \"app2\", port: 8082}] Named ports apply to all instances in this instance group. ", + "items": { + "$ref": "NamedPort" + }, + "type": "array" + }, + "network": { + "description": "[Output Only] The URL of the network to which all instances in the instance group belong. If your instance has multiple network interfaces, then the network and subnetwork fields only refer to the network and subnet used by your primary interface (nic0).", + "type": "string" + }, + "region": { + "description": "[Output Only] The URL of the region where the instance group is located (for regional resources).", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] The URL for this instance group. The server generates this URL.", + "type": "string" + }, + "size": { + "description": "[Output Only] The total number of instances in the instance group.", + "format": "int32", + "type": "integer" + }, + "subnetwork": { + "description": "[Output Only] The URL of the subnetwork to which all instances in the instance group belong. If your instance has multiple network interfaces, then the network and subnetwork fields only refer to the network and subnet used by your primary interface (nic0).", + "type": "string" + }, + "zone": { + "description": "[Output Only] The URL of the zone where the instance group is located (for zonal resources).", + "type": "string" + } + }, + "type": "object" + }, + "InstanceGroupAggregatedList": { + "id": "InstanceGroupAggregatedList", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "additionalProperties": { + "$ref": "InstanceGroupsScopedList", + "description": "The name of the scope that contains this set of instance groups." + }, + "description": "A list of InstanceGroupsScopedList resources.", + "type": "object" + }, + "kind": { + "default": "compute#instanceGroupAggregatedList", + "description": "[Output Only] The resource type, which is always compute#instanceGroupAggregatedList for aggregated lists of instance groups.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "[Output Only] Unreachable resources.", + "items": { + "type": "string" + }, + "type": "array" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -50712,276 +50700,6 @@ false, false, false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "InstanceConsumptionData": { - "id": "InstanceConsumptionData", - "properties": { - "consumptionInfo": { - "$ref": "InstanceConsumptionInfo", - "description": "Resources consumed by the instance." - }, - "instance": { - "description": "Server-defined URL for the instance.", - "type": "string" - } - }, - "type": "object" - }, - "InstanceConsumptionInfo": { - "id": "InstanceConsumptionInfo", - "properties": { - "guestCpus": { - "description": "The number of virtual CPUs that are available to the instance.", - "format": "int32", - "type": "integer" - }, - "localSsdGb": { - "description": "The amount of local SSD storage available to the instance, defined in GiB.", - "format": "int32", - "type": "integer" - }, - "memoryMb": { - "description": "The amount of physical memory available to the instance, defined in MiB.", - "format": "int32", - "type": "integer" - }, - "minNodeCpus": { - "description": "The minimal guaranteed number of virtual CPUs that are reserved.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "InstanceGroup": { - "description": "Represents an Instance Group resource. Instance Groups can be used to configure a target for load balancing. Instance groups can either be managed or unmanaged. To create managed instance groups, use the instanceGroupManager or regionInstanceGroupManager resource instead. Use zonal unmanaged instance groups if you need to apply load balancing to groups of heterogeneous instances or if you need to manage the instances yourself. You cannot create regional unmanaged instance groups. For more information, read Instance groups.", - "id": "InstanceGroup", - "properties": { - "creationTimestamp": { - "description": "[Output Only] The creation timestamp for this instance group in RFC3339 text format.", - "type": "string" - }, - "description": { - "description": "An optional description of this resource. Provide this property when you create the resource.", - "type": "string" - }, - "fingerprint": { - "description": "[Output Only] The fingerprint of the named ports. The system uses this fingerprint to detect conflicts when multiple users change the named ports concurrently.", - "format": "byte", - "type": "string" - }, - "id": { - "description": "[Output Only] A unique identifier for this instance group, generated by the server.", - "format": "uint64", - "type": "string" - }, - "kind": { - "default": "compute#instanceGroup", - "description": "[Output Only] The resource type, which is always compute#instanceGroup for instance groups.", - "type": "string" - }, - "name": { - "annotations": { - "required": [ - "compute.instanceGroups.insert" - ] - }, - "description": "The name of the instance group. The name must be 1-63 characters long, and comply with RFC1035.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" - }, - "namedPorts": { - "description": " Assigns a name to a port number. For example: {name: \"http\", port: 80} This allows the system to reference ports by the assigned name instead of a port number. Named ports can also contain multiple ports. For example: [{name: \"app1\", port: 8080}, {name: \"app1\", port: 8081}, {name: \"app2\", port: 8082}] Named ports apply to all instances in this instance group. ", - "items": { - "$ref": "NamedPort" - }, - "type": "array" - }, - "network": { - "description": "[Output Only] The URL of the network to which all instances in the instance group belong. If your instance has multiple network interfaces, then the network and subnetwork fields only refer to the network and subnet used by your primary interface (nic0).", - "type": "string" - }, - "region": { - "description": "[Output Only] The URL of the region where the instance group is located (for regional resources).", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] The URL for this instance group. The server generates this URL.", - "type": "string" - }, - "size": { - "description": "[Output Only] The total number of instances in the instance group.", - "format": "int32", - "type": "integer" - }, - "subnetwork": { - "description": "[Output Only] The URL of the subnetwork to which all instances in the instance group belong. If your instance has multiple network interfaces, then the network and subnetwork fields only refer to the network and subnet used by your primary interface (nic0).", - "type": "string" - }, - "zone": { - "description": "[Output Only] The URL of the zone where the instance group is located (for zonal resources).", - "type": "string" - } - }, - "type": "object" - }, - "InstanceGroupAggregatedList": { - "id": "InstanceGroupAggregatedList", - "properties": { - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", - "type": "string" - }, - "items": { - "additionalProperties": { - "$ref": "InstanceGroupsScopedList", - "description": "The name of the scope that contains this set of instance groups." - }, - "description": "A list of InstanceGroupsScopedList resources.", - "type": "object" - }, - "kind": { - "default": "compute#instanceGroupAggregatedList", - "description": "[Output Only] The resource type, which is always compute#instanceGroupAggregatedList for aggregated lists of instance groups.", - "type": "string" - }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", - "type": "string" - }, - "unreachables": { - "description": "[Output Only] Unreachable resources.", - "items": { - "type": "string" - }, - "type": "array" - }, - "warning": { - "description": "[Output Only] Informational warning message.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, false, false ], @@ -51007,6 +50725,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -51099,6 +50818,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -51135,6 +50855,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -51159,6 +50880,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -51241,6 +50963,10 @@ "format": "uint64", "type": "string" }, + "instanceFlexibilityPolicy": { + "$ref": "InstanceGroupManagerInstanceFlexibilityPolicy", + "description": "Instance flexibility allowing MIG to create VMs from multiple types of machines. Instance flexibility configuration on MIG overrides instance template configuration." + }, "instanceGroup": { "description": "[Output Only] The URL of the Instance Group resource.", "type": "string" @@ -51282,7 +51008,7 @@ "type": "string" }, "namedPorts": { - "description": "Named ports configured for the Instance Groups complementary to this Instance Group Manager.", + "description": "[Output Only] Named ports configured on the Instance Groups complementary to this Instance Group Manager.", "items": { "$ref": "NamedPort" }, @@ -51304,6 +51030,10 @@ "description": "[Output Only] The URL for this managed instance group. The server defines this URL.", "type": "string" }, + "standbyPolicy": { + "$ref": "InstanceGroupManagerStandbyPolicy", + "description": "Standby policy for stopped and suspended instances." + }, "statefulPolicy": { "$ref": "StatefulPolicy", "description": "Stateful configuration for this Instanced Group Manager" @@ -51330,6 +51060,16 @@ "format": "int32", "type": "integer" }, + "targetStoppedSize": { + "description": "The target number of stopped instances for this managed instance group. This number changes when you: - Stop instance using the stopInstances method or start instances using the startInstances method. - Manually change the targetStoppedSize using the update method. ", + "format": "int32", + "type": "integer" + }, + "targetSuspendedSize": { + "description": "The target number of suspended instances for this managed instance group. This number changes when you: - Suspend instance using the suspendInstances method or resume instances using the resumeInstances method. - Manually change the targetSuspendedSize using the update method. ", + "format": "int32", + "type": "integer" + }, "updatePolicy": { "$ref": "InstanceGroupManagerUpdatePolicy", "description": "The update policy for this managed instance group." @@ -51481,6 +51221,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -51517,6 +51258,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -51541,6 +51283,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -51603,6 +51346,37 @@ }, "type": "object" }, + "InstanceGroupManagerInstanceFlexibilityPolicy": { + "id": "InstanceGroupManagerInstanceFlexibilityPolicy", + "properties": { + "instanceSelections": { + "additionalProperties": { + "$ref": "InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection" + }, + "description": "Named instance selections configuring properties that the group will use when creating new VMs.", + "type": "object" + } + }, + "type": "object" + }, + "InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection": { + "id": "InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection", + "properties": { + "machineTypes": { + "description": "Full machine-type names, e.g. \"n1-standard-16\".", + "items": { + "type": "string" + }, + "type": "array" + }, + "rank": { + "description": "Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "InstanceGroupManagerInstanceLifecyclePolicy": { "id": "InstanceGroupManagerInstanceLifecyclePolicy", "properties": { @@ -51688,6 +51462,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -51724,6 +51499,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -51748,6 +51524,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -52032,6 +51809,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -52068,6 +51846,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -52092,6 +51871,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -52129,6 +51909,29 @@ }, "type": "object" }, + "InstanceGroupManagerStandbyPolicy": { + "id": "InstanceGroupManagerStandbyPolicy", + "properties": { + "initialDelaySec": { + "description": "Specifies the number of seconds that the MIG should wait to suspend or stop a VM after that VM was created. The initial delay gives the initialization script the time to prepare your VM for a quick scale out. The value of initial delay must be between 0 and 3600 seconds. The default value is 0.", + "format": "int32", + "type": "integer" + }, + "mode": { + "description": "Defines how a MIG resumes or starts VMs from a standby pool when the group scales out. The default mode is `MANUAL`.", + "enum": [ + "MANUAL", + "SCALE_OUT_POOL" + ], + "enumDescriptions": [ + "MIG does not automatically resume or start VMs in the standby pool when the group scales out.", + "MIG automatically resumes or starts VMs in the standby pool when the group scales out, and replenishes the standby pool afterwards." + ], + "type": "string" + } + }, + "type": "object" + }, "InstanceGroupManagerStatus": { "id": "InstanceGroupManagerStatus", "properties": { @@ -52486,6 +52289,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -52522,6 +52326,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -52546,6 +52351,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -52610,6 +52416,19 @@ }, "type": "object" }, + "InstanceGroupManagersResumeInstancesRequest": { + "id": "InstanceGroupManagersResumeInstancesRequest", + "properties": { + "instances": { + "description": "The URLs of one or more instances to resume. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "InstanceGroupManagersScopedList": { "id": "InstanceGroupManagersScopedList", "properties": { @@ -52647,6 +52466,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -52683,6 +52503,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -52707,6 +52528,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -52772,6 +52594,53 @@ }, "type": "object" }, + "InstanceGroupManagersStartInstancesRequest": { + "id": "InstanceGroupManagersStartInstancesRequest", + "properties": { + "instances": { + "description": "The URLs of one or more instances to start. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "InstanceGroupManagersStopInstancesRequest": { + "id": "InstanceGroupManagersStopInstancesRequest", + "properties": { + "forceStop": { + "description": "If this flag is set to true, the Instance Group Manager will proceed to stop the instances, skipping initialization on them.", + "type": "boolean" + }, + "instances": { + "description": "The URLs of one or more instances to stop. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "InstanceGroupManagersSuspendInstancesRequest": { + "id": "InstanceGroupManagersSuspendInstancesRequest", + "properties": { + "forceSuspend": { + "description": "If this flag is set to true, the Instance Group Manager will proceed to suspend the instances, skipping initialization on them.", + "type": "boolean" + }, + "instances": { + "description": "The URLs of one or more instances to suspend. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "InstanceGroupManagersUpdatePerInstanceConfigsReq": { "description": "InstanceGroupManagers.updatePerInstanceConfigs", "id": "InstanceGroupManagersUpdatePerInstanceConfigsReq", @@ -52853,6 +52722,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -52889,6 +52759,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -52913,6 +52784,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -53018,6 +52890,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -53054,6 +52927,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -53078,6 +52952,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -53188,6 +53063,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -53224,6 +53100,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -53248,6 +53125,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -53340,6 +53218,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -53376,6 +53255,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -53400,6 +53280,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -53866,6 +53747,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -53902,6 +53784,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -53926,6 +53809,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -54018,6 +53902,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -54054,6 +53939,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -54078,6 +53964,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -54152,6 +54039,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -54188,6 +54076,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -54212,6 +54101,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -54324,7 +54214,7 @@ "id": "InstancesGetEffectiveFirewallsResponse", "properties": { "firewallPolicys": { - "description": "Effective firewalls from firewall policies.", + "description": "[Output Only] Effective firewalls from firewall policies.", "items": { "$ref": "InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy" }, @@ -54358,7 +54248,7 @@ "type": "integer" }, "rules": { - "description": "The rules that apply to the network.", + "description": "[Output Only] The rules that apply to the instance. Only rules that target the specific VM instance are returned if target service accounts or target secure tags are specified in the rules.", "items": { "$ref": "FirewallPolicyRule" }, @@ -54441,6 +54331,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -54477,6 +54368,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -54501,6 +54393,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -54827,6 +54720,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -54863,6 +54757,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -54887,6 +54782,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -54979,6 +54875,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -55015,6 +54912,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -55039,6 +54937,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -55124,6 +55023,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -55160,6 +55060,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -55184,6 +55085,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -55449,8 +55351,9 @@ "type": "boolean" }, "bandwidth": { - "description": "Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s ", + "description": "Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s - BPS_100G: 100 Gbit/s ", "enum": [ + "BPS_100G", "BPS_100M", "BPS_10G", "BPS_1G", @@ -55465,6 +55368,7 @@ "BPS_5G" ], "enumDescriptions": [ + "100 Gbit/s", "100 Mbit/s", "10 Gbit/s", "1 Gbit/s", @@ -55488,7 +55392,7 @@ "type": "array" }, "candidateSubnets": { - "description": "Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space.", + "description": "Input only. Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space.", "items": { "type": "string" }, @@ -55536,7 +55440,7 @@ "type": "string" }, "edgeAvailabilityDomain": { - "description": "Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY.", + "description": "Input only. Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY.", "enum": [ "AVAILABILITY_DOMAIN_1", "AVAILABILITY_DOMAIN_2", @@ -55693,7 +55597,7 @@ "type": "string" }, "subnetLength": { - "description": "Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The default value is 29, except for Cross-Cloud Interconnect connections that use an InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal to 30. For example, connections that use an Azure remote location fall into this category. In these cases, the default value is 30, and requesting 29 returns an error. Where both 29 and 30 are allowed, 29 is preferred, because it gives Google Cloud Support more debugging visibility. ", + "description": "Input only. Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The default value is 29, except for Cross-Cloud Interconnect connections that use an InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal to 30. For example, connections that use an Azure remote location fall into this category. In these cases, the default value is 30, and requesting 29 returns an error. Where both 29 and 30 are allowed, 29 is preferred, because it gives Google Cloud Support more debugging visibility. ", "format": "int32", "type": "integer" }, @@ -55781,6 +55685,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -55817,6 +55722,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -55841,6 +55747,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -55974,6 +55881,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -56010,6 +55918,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -56034,6 +55943,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -56139,6 +56049,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -56175,6 +56086,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -56199,6 +56111,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -56492,6 +56405,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -56528,6 +56442,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -56552,6 +56467,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -56602,7 +56518,7 @@ "type": "string" }, "availableFeatures": { - "description": "[Output only] List of features available at this InterconnectLocation, which can take one of the following values: - MACSEC ", + "description": "[Output only] List of features available at this InterconnectLocation, which can take one of the following values: - IF_MACSEC ", "items": { "enum": [ "IF_MACSEC" @@ -56780,6 +56696,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -56816,6 +56733,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -56840,6 +56758,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -57284,6 +57203,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -57320,6 +57240,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -57344,6 +57265,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -57457,7 +57379,8 @@ "type": "string" }, "resourceRequirements": { - "$ref": "LicenseResourceRequirements" + "$ref": "LicenseResourceRequirements", + "description": "[Input Only] Deprecated." }, "selfLink": { "description": "[Output Only] Server-defined URL for the resource.", @@ -57576,12 +57499,12 @@ "id": "LicenseResourceRequirements", "properties": { "minGuestCpuCount": { - "description": "Minimum number of guest cpus required to use the Instance. Enforced at Instance creation and Instance start.", + "description": "[Input Only] Deprecated. This field no longer reflects the minimum number of guest cpus required to use the Instance.", "format": "int32", "type": "integer" }, "minMemoryMb": { - "description": "Minimum memory required to use the Instance. Enforced at Instance creation and Instance start.", + "description": "[Input Only] Deprecated. This field no longer reflects the minimum memory required to use the Instance.", "format": "int32", "type": "integer" } @@ -57637,6 +57560,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -57673,6 +57597,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -57697,6 +57622,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -57833,102 +57759,6 @@ }, "type": "object" }, - "LogConfig": { - "description": "This is deprecated and has no effect. Do not use.", - "id": "LogConfig", - "properties": { - "cloudAudit": { - "$ref": "LogConfigCloudAuditOptions", - "description": "This is deprecated and has no effect. Do not use." - }, - "counter": { - "$ref": "LogConfigCounterOptions", - "description": "This is deprecated and has no effect. Do not use." - }, - "dataAccess": { - "$ref": "LogConfigDataAccessOptions", - "description": "This is deprecated and has no effect. Do not use." - } - }, - "type": "object" - }, - "LogConfigCloudAuditOptions": { - "description": "This is deprecated and has no effect. Do not use.", - "id": "LogConfigCloudAuditOptions", - "properties": { - "logName": { - "description": "This is deprecated and has no effect. Do not use.", - "enum": [ - "ADMIN_ACTIVITY", - "DATA_ACCESS", - "UNSPECIFIED_LOG_NAME" - ], - "enumDescriptions": [ - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use." - ], - "type": "string" - } - }, - "type": "object" - }, - "LogConfigCounterOptions": { - "description": "This is deprecated and has no effect. Do not use.", - "id": "LogConfigCounterOptions", - "properties": { - "customFields": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "$ref": "LogConfigCounterOptionsCustomField" - }, - "type": "array" - }, - "field": { - "description": "This is deprecated and has no effect. Do not use.", - "type": "string" - }, - "metric": { - "description": "This is deprecated and has no effect. Do not use.", - "type": "string" - } - }, - "type": "object" - }, - "LogConfigCounterOptionsCustomField": { - "description": "This is deprecated and has no effect. Do not use.", - "id": "LogConfigCounterOptionsCustomField", - "properties": { - "name": { - "description": "This is deprecated and has no effect. Do not use.", - "type": "string" - }, - "value": { - "description": "This is deprecated and has no effect. Do not use.", - "type": "string" - } - }, - "type": "object" - }, - "LogConfigDataAccessOptions": { - "description": "This is deprecated and has no effect. Do not use.", - "id": "LogConfigDataAccessOptions", - "properties": { - "logMode": { - "description": "This is deprecated and has no effect. Do not use.", - "enum": [ - "LOG_FAIL_CLOSED", - "LOG_MODE_UNSPECIFIED" - ], - "enumDescriptions": [ - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use." - ], - "type": "string" - } - }, - "type": "object" - }, "MachineImage": { "description": "Represents a machine image resource. A machine image is a Compute Engine resource that stores all the configuration, metadata, permissions, and data from one or more disks required to create a Virtual machine (VM) instance. For more information, see Machine images.", "id": "MachineImage", @@ -58096,6 +57926,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -58132,6 +57963,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -58156,6 +57988,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -58372,6 +58205,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -58408,6 +58242,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -58432,6 +58267,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -58524,6 +58360,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -58560,6 +58397,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -58584,6 +58422,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -58658,6 +58497,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -58694,6 +58534,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -58718,6 +58559,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -58853,6 +58695,10 @@ "$ref": "PreservedState", "description": "[Output Only] Preserved state generated based on stateful policy for this instance." }, + "propertiesFromFlexibilityPolicy": { + "$ref": "ManagedInstancePropertiesFromFlexibilityPolicy", + "description": "[Output Only] Instance properties selected for this instance resulting from InstanceFlexibilityPolicy." + }, "version": { "$ref": "ManagedInstanceVersion", "description": "[Output Only] Intended version of this instance." @@ -58942,6 +58788,16 @@ }, "type": "object" }, + "ManagedInstancePropertiesFromFlexibilityPolicy": { + "id": "ManagedInstancePropertiesFromFlexibilityPolicy", + "properties": { + "machineType": { + "description": "The machine type to be used for this instance.", + "type": "string" + } + }, + "type": "object" + }, "ManagedInstanceVersion": { "id": "ManagedInstanceVersion", "properties": { @@ -59205,6 +59061,10 @@ ], "type": "string" }, + "networkProfile": { + "description": "A full or partial URL of the network profile to apply to this network. This field can be set only at resource creation time. For example, the following are valid URLs: - https://www.googleapis.com/compute/{api_version}/projects/{project_id}/global/networkProfiles/{network_profile_name} - projects/{project_id}/global/networkProfiles/{network_profile_name} ", + "type": "string" + }, "peerings": { "description": "[Output Only] A list of network peerings for the resource.", "items": { @@ -59386,6 +59246,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -59422,6 +59283,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -59446,6 +59308,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -59590,6 +59453,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -59626,6 +59490,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -59650,6 +59515,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -59724,6 +59590,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -59760,6 +59627,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -59784,6 +59652,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -59937,6 +59806,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -59973,6 +59843,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -59997,6 +59868,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -60071,6 +59943,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -60107,6 +59980,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -60131,6 +60005,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -60196,6 +60071,10 @@ "description": "Optional IPv4 address of network endpoint. The IP address must belong to a VM in Compute Engine (either the primary IP or as part of an aliased IP range). If the IP address is not specified, then the primary IP address for the VM instance in the network that the network endpoint group belongs to will be used. This field is redundant and need not be set for network endpoints of type GCE_VM_IP. If set, it must be set to the primary internal IP address of the attached VM instance that matches the subnetwork of the NEG. The primary internal IP address from any NIC of a multi-NIC VM instance can be added to a NEG as long as it matches the NEG subnetwork.", "type": "string" }, + "ipv6Address": { + "description": "Optional IPv6 address of network endpoint.", + "type": "string" + }, "port": { "description": "Optional port number of network endpoint. If not specified, the defaultPort for the network endpoint group will be used. This field can not be set for network endpoints of type GCE_VM_IP.", "format": "int32", @@ -60375,6 +60254,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -60411,6 +60291,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -60435,6 +60316,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -60579,6 +60461,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -60615,6 +60498,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -60639,6 +60523,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -60785,7 +60670,144 @@ "type": "string" }, "warning": { - "description": "[Output Only] Informational warning message.", + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "NetworkEndpointGroupsScopedList": { + "id": "NetworkEndpointGroupsScopedList", + "properties": { + "networkEndpointGroups": { + "description": "[Output Only] The list of network endpoint groups that are contained in this scope.", + "items": { + "$ref": "NetworkEndpointGroup" + }, + "type": "array" + }, + "warning": { + "description": "[Output Only] An informational warning that replaces the list of network endpoint groups when the list is empty.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", @@ -60811,6 +60833,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -60847,6 +60870,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -60871,6 +60895,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -60908,18 +60933,60 @@ }, "type": "object" }, - "NetworkEndpointGroupsScopedList": { - "id": "NetworkEndpointGroupsScopedList", + "NetworkEndpointWithHealthStatus": { + "id": "NetworkEndpointWithHealthStatus", "properties": { - "networkEndpointGroups": { - "description": "[Output Only] The list of network endpoint groups that are contained in this scope.", + "healths": { + "description": "[Output only] The health status of network endpoint;", "items": { - "$ref": "NetworkEndpointGroup" + "$ref": "HealthStatusForNetworkEndpoint" + }, + "type": "array" + }, + "networkEndpoint": { + "$ref": "NetworkEndpoint", + "description": "[Output only] The network endpoint;" + } + }, + "type": "object" + }, + "NetworkFirewallPolicyAggregatedList": { + "id": "NetworkFirewallPolicyAggregatedList", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "additionalProperties": { + "$ref": "FirewallPoliciesScopedList", + "description": "Name of the scope containing this set of addresses." + }, + "description": "A list of FirewallPoliciesScopedList resources.", + "type": "object" + }, + "kind": { + "default": "compute#networkFirewallPolicyAggregatedList", + "description": "[Output Only] Type of resource. Always compute#networkFirewallPoliciesAggregatedList for lists of network firewall policies.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "[Output Only] Unreachable resources.", + "items": { + "type": "string" }, "type": "array" }, "warning": { - "description": "[Output Only] An informational warning that replaces the list of network endpoint groups when the list is empty.", + "description": "[Output Only] Informational warning message.", "properties": { "code": { "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", @@ -60945,6 +61012,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -60981,6 +61049,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -61005,6 +61074,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -61042,23 +61112,6 @@ }, "type": "object" }, - "NetworkEndpointWithHealthStatus": { - "id": "NetworkEndpointWithHealthStatus", - "properties": { - "healths": { - "description": "[Output only] The health status of network endpoint;", - "items": { - "$ref": "HealthStatusForNetworkEndpoint" - }, - "type": "array" - }, - "networkEndpoint": { - "$ref": "NetworkEndpoint", - "description": "[Output only] The network endpoint;" - } - }, - "type": "object" - }, "NetworkInterface": { "description": "A network interface resource attached to an instance.", "id": "NetworkInterface", @@ -61136,12 +61189,16 @@ "enum": [ "GVNIC", "IDPF", + "IRDMA", + "MRDMA", "UNSPECIFIED_NIC_TYPE", "VIRTIO_NET" ], "enumDescriptions": [ "GVNIC", "IDPF", + "IRDMA", + "MRDMA", "No type specified.", "VIRTIO" ], @@ -61156,11 +61213,13 @@ "description": "The stack type for this network interface. To assign only IPv4 addresses, use IPV4_ONLY. To assign both IPv4 and IPv6 addresses, use IPV4_IPV6. If not specified, IPV4_ONLY is used. This field can be both set at instance creation and update network interface operations.", "enum": [ "IPV4_IPV6", - "IPV4_ONLY" + "IPV4_ONLY", + "IPV6_ONLY" ], "enumDescriptions": [ "The network interface can have both IPv4 and IPv6 addresses.", - "The network interface will be assigned IPv4 address." + "The network interface will only be assigned IPv4 addresses.", + "The network interface will only be assigned IPv6 addresses." ], "type": "string" }, @@ -61226,6 +61285,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -61262,6 +61322,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -61286,6 +61347,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -61412,10 +61474,593 @@ }, "type": "object" }, + "NetworkProfile": { + "description": "NetworkProfile represents a Google managed network profile resource.", + "id": "NetworkProfile", + "properties": { + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "[Output Only] An optional description of this resource.", + "type": "string" + }, + "features": { + "$ref": "NetworkProfileNetworkFeatures", + "description": "[Output Only] Features supported by the network." + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64", + "type": "string" + }, + "kind": { + "default": "compute#networkProfile", + "description": "[Output Only] Type of the resource. Always compute#networkProfile for network profiles.", + "type": "string" + }, + "location": { + "$ref": "NetworkProfileLocation", + "description": "[Output Only] Location to which the network is restricted." + }, + "name": { + "description": "[Output Only] Name of the resource.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + }, + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "type": "string" + }, + "zone": { + "description": "[Output Only] Zone to which the network is restricted.", + "type": "string" + } + }, + "type": "object" + }, + "NetworkProfileLocation": { + "id": "NetworkProfileLocation", + "properties": { + "name": { + "type": "string" + }, + "scope": { + "enum": [ + "REGION", + "ZONE" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "NetworkProfileNetworkFeatures": { + "id": "NetworkProfileNetworkFeatures", + "properties": { + "addressPurposes": { + "description": "Specifies what address purposes are supported. If empty, all address purposes are supported.", + "items": { + "enum": [ + "DNS_RESOLVER", + "GCE_ENDPOINT", + "IPSEC_INTERCONNECT", + "NAT_AUTO", + "PRIVATE_SERVICE_CONNECT", + "SERVERLESS", + "SHARED_LOADBALANCER_VIP", + "VPC_PEERING" + ], + "enumDescriptions": [ + "DNS resolver address in the subnetwork.", + "VM internal/alias IP, Internal LB service IP, etc.", + "A regional internal IP address range reserved for the VLAN attachment that is used in HA VPN over Cloud Interconnect. This regional internal IP address range must not overlap with any IP address range of subnet/route in the VPC network and its peering networks. After the VLAN attachment is created with the reserved IP address range, when creating a new VPN gateway, its interface IP address is allocated from the associated VLAN attachment’s IP address range.", + "External IP automatically reserved for Cloud NAT.", + "A private network IP address that can be used to configure Private Service Connect. This purpose can be specified only for GLOBAL addresses of Type INTERNAL", + "A regional internal IP address range reserved for Serverless.", + "A private network IP address that can be shared by multiple Internal Load Balancer forwarding rules.", + "IP range for peer networks." + ], + "type": "string" + }, + "type": "array" + }, + "allowAliasIpRanges": { + "description": "Specifies whether alias IP ranges (and secondary address ranges) are allowed.", + "enum": [ + "ALIAS_IP_RANGES_ALLOWED", + "ALIAS_IP_RANGES_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowAutoModeSubnet": { + "description": "Specifies whether auto mode subnet creation is allowed.", + "enum": [ + "AUTO_MODE_SUBNET_ALLOWED", + "AUTO_MODE_SUBNET_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowClassDFirewalls": { + "description": "Specifies whether firewalls for Class D address ranges are supported.", + "enum": [ + "CLASS_D_FIREWALLS_ALLOWED", + "CLASS_D_FIREWALLS_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowCloudNat": { + "description": "Specifies whether cloud NAT creation is allowed.", + "enum": [ + "CLOUD_NAT_ALLOWED", + "CLOUD_NAT_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowCloudRouter": { + "description": "Specifies whether cloud router creation is allowed.", + "enum": [ + "CLOUD_ROUTER_ALLOWED", + "CLOUD_ROUTER_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowExternalIpAccess": { + "description": "Specifies whether VMs are allowed to have external IP access on network interfaces connected to this VPC.", + "enum": [ + "EXTERNAL_IP_ACCESS_ALLOWED", + "EXTERNAL_IP_ACCESS_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowInterconnect": { + "description": "Specifies whether Cloud Interconnect creation is allowed.", + "enum": [ + "INTERCONNECT_ALLOWED", + "INTERCONNECT_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowLoadBalancing": { + "description": "Specifies whether cloud load balancing is allowed.", + "enum": [ + "LOAD_BALANCING_ALLOWED", + "LOAD_BALANCING_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowMultiNicInSameNetwork": { + "description": "Specifies whether multi-nic in the same network is allowed.", + "enum": [ + "MULTI_NIC_IN_SAME_NETWORK_ALLOWED", + "MULTI_NIC_IN_SAME_NETWORK_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowPacketMirroring": { + "description": "Specifies whether Packet Mirroring 1.0 is supported.", + "enum": [ + "PACKET_MIRRORING_ALLOWED", + "PACKET_MIRRORING_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowPrivateGoogleAccess": { + "description": "Specifies whether private Google access is allowed.", + "enum": [ + "PRIVATE_GOOGLE_ACCESS_ALLOWED", + "PRIVATE_GOOGLE_ACCESS_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowPsc": { + "description": "Specifies whether PSC creation is allowed.", + "enum": [ + "PSC_ALLOWED", + "PSC_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowSameNetworkUnicast": { + "description": "Specifies whether unicast within the same network is allowed.", + "enum": [ + "SAME_NETWORK_UNICAST_ALLOWED", + "SAME_NETWORK_UNICAST_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowStaticRoutes": { + "description": "Specifies whether static route creation is allowed.", + "enum": [ + "STATIC_ROUTES_ALLOWED", + "STATIC_ROUTES_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowSubInterfaces": { + "description": "Specifies whether sub interfaces are allowed.", + "enum": [ + "SUBINTERFACES_ALLOWED", + "SUBINTERFACES_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowVpcPeering": { + "description": "Specifies whether VPC peering is allowed.", + "enum": [ + "VPC_PEERING_ALLOWED", + "VPC_PEERING_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "allowVpn": { + "description": "Specifies whether VPN creation is allowed.", + "enum": [ + "VPN_ALLOWED", + "VPN_BLOCKED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "interfaceTypes": { + "description": "If set, limits the interface types that the network supports. If empty, all interface types are supported.", + "items": { + "enum": [ + "GVNIC", + "IDPF", + "IRDMA", + "MRDMA", + "UNSPECIFIED_NIC_TYPE", + "VIRTIO_NET" + ], + "enumDescriptions": [ + "GVNIC", + "IDPF", + "IRDMA", + "MRDMA", + "No type specified.", + "VIRTIO" + ], + "type": "string" + }, + "type": "array" + }, + "subnetPurposes": { + "description": "Specifies which subnetwork purposes are supported.", + "items": { + "enum": [ + "SUBNET_PURPOSE_CUSTOM_HARDWARE", + "SUBNET_PURPOSE_PRIVATE" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "type": "array" + }, + "subnetStackTypes": { + "description": "Specifies which subnetwork stack types are supported.", + "items": { + "enum": [ + "SUBNET_STACK_TYPE_IPV4_IPV6", + "SUBNET_STACK_TYPE_IPV4_ONLY", + "SUBNET_STACK_TYPE_IPV6_ONLY" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "type": "array" + }, + "unicast": { + "description": "Specifies which type of unicast is supported.", + "enum": [ + "UNICAST_SDN", + "UNICAST_ULL" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "NetworkProfilesListResponse": { + "description": "Contains a list of network profiles.", + "id": "NetworkProfilesListResponse", + "properties": { + "etag": { + "type": "string" + }, + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of NetworkProfile resources.", + "items": { + "$ref": "NetworkProfile" + }, + "type": "array" + }, + "kind": { + "default": "compute#networkProfileList", + "description": "[Output Only] Type of resource. Always compute#networkProfileList for network profiles.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "[Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder", + "items": { + "type": "string" + }, + "type": "array" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, "NetworkRoutingConfig": { "description": "A routing configuration attached to a network resource. The message includes the list of routers associated with the network, and a flag indicating the type of routing behavior to enforce network-wide.", "id": "NetworkRoutingConfig", "properties": { + "bgpAlwaysCompareMed": { + "description": "Enable comparison of Multi-Exit Discriminators (MED) across routes with different neighbor ASNs when using the STANDARD BGP best path selection algorithm.", + "type": "boolean" + }, + "bgpBestPathSelectionMode": { + "description": "The BGP best path selection algorithm to be employed within this network for dynamic routes learned by Cloud Routers. Can be LEGACY (default) or STANDARD.", + "enum": [ + "LEGACY", + "STANDARD" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "bgpInterRegionCost": { + "description": "Allows to define a preferred approach for handling inter-region cost in the selection process when using the STANDARD BGP best path selection algorithm. Can be DEFAULT or ADD_COST_TO_MED.", + "enum": [ + "ADD_COST_TO_MED", + "DEFAULT" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, + "effectiveBgpAlwaysCompareMed": { + "description": "[Output Only] Effective value of the bgp_always_compare_med field.", + "type": "boolean" + }, + "effectiveBgpInterRegionCost": { + "description": "[Output Only] Effective value of the bgp_inter_region_cost field.", + "enum": [ + "ADD_COST_TO_MED", + "DEFAULT" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, "routingMode": { "description": "The network-wide routing mode to use. If set to REGIONAL, this network's Cloud Routers will only advertise routes with subnets of this network in the same region as the router. If set to GLOBAL, this network's Cloud Routers will advertise routes with all subnets of this network, across regions.", "enum": [ @@ -61462,7 +62107,7 @@ "id": "NetworksGetEffectiveFirewallsResponse", "properties": { "firewallPolicys": { - "description": "Effective firewalls from firewall policy.", + "description": "[Output Only] Effective firewalls from firewall policy. It returns Global Network Firewall Policies and Hierarchical Firewall Policies. Use regionNetworkFirewallPolicies.getEffectiveFirewalls to get Regional Network Firewall Policies as well.", "items": { "$ref": "NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy" }, @@ -61496,7 +62141,7 @@ "type": "integer" }, "rules": { - "description": "The rules that apply to the network.", + "description": "[Output Only] The rules that apply to the network.", "items": { "$ref": "FirewallPolicyRule" }, @@ -61714,6 +62359,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -61750,6 +62396,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -61774,6 +62421,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -61898,6 +62546,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -61934,6 +62583,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -61958,6 +62608,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -62185,6 +62836,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -62221,6 +62873,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -62245,6 +62898,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -62336,6 +62990,294 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "NodeGroupsSetNodeTemplateRequest": { + "id": "NodeGroupsSetNodeTemplateRequest", + "properties": { + "nodeTemplate": { + "description": "Full or partial URL of the node template resource to be updated for this node group.", + "type": "string" + } + }, + "type": "object" + }, + "NodeGroupsSimulateMaintenanceEventRequest": { + "id": "NodeGroupsSimulateMaintenanceEventRequest", + "properties": { + "nodes": { + "description": "Names of the nodes to go under maintenance simulation.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "NodeTemplate": { + "description": "Represent a sole-tenant Node Template resource. You can use a template to define properties for nodes in a node group. For more information, read Creating node groups and instances.", + "id": "NodeTemplate", + "properties": { + "accelerators": { + "items": { + "$ref": "AcceleratorConfig" + }, + "type": "array" + }, + "cpuOvercommitType": { + "description": "CPU overcommit.", + "enum": [ + "CPU_OVERCOMMIT_TYPE_UNSPECIFIED", + "ENABLED", + "NONE" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "creationTimestamp": { + "description": "[Output Only] Creation timestamp in RFC3339 text format.", + "type": "string" + }, + "description": { + "description": "An optional description of this resource. Provide this property when you create the resource.", + "type": "string" + }, + "disks": { + "items": { + "$ref": "LocalDisk" + }, + "type": "array" + }, + "id": { + "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", + "format": "uint64", + "type": "string" + }, + "kind": { + "default": "compute#nodeTemplate", + "description": "[Output Only] The type of the resource. Always compute#nodeTemplate for node templates.", + "type": "string" + }, + "name": { + "description": "The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "type": "string" + }, + "nodeAffinityLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels to use for node affinity, which will be used in instance scheduling.", + "type": "object" + }, + "nodeType": { + "description": "The node type to use for nodes group that are created from this template.", + "type": "string" + }, + "nodeTypeFlexibility": { + "$ref": "NodeTemplateNodeTypeFlexibility", + "description": "Do not use. Instead, use the node_type property." + }, + "region": { + "description": "[Output Only] The name of the region where the node template resides, such as us-central1.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for the resource.", + "type": "string" + }, + "serverBinding": { + "$ref": "ServerBinding", + "description": "Sets the binding properties for the physical server. Valid values include: - *[Default]* RESTART_NODE_ON_ANY_SERVER: Restarts VMs on any available physical server - RESTART_NODE_ON_MINIMAL_SERVER: Restarts VMs on the same physical server whenever possible See Sole-tenant node options for more information." + }, + "status": { + "description": "[Output Only] The status of the node template. One of the following values: CREATING, READY, and DELETING.", + "enum": [ + "CREATING", + "DELETING", + "INVALID", + "READY" + ], + "enumDescriptions": [ + "Resources are being allocated.", + "The node template is currently being deleted.", + "Invalid status.", + "The node template is ready." + ], + "type": "string" + }, + "statusMessage": { + "description": "[Output Only] An optional, human-readable explanation of the status.", + "type": "string" + } + }, + "type": "object" + }, + "NodeTemplateAggregatedList": { + "id": "NodeTemplateAggregatedList", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "additionalProperties": { + "$ref": "NodeTemplatesScopedList", + "description": "[Output Only] Name of the scope containing this set of node templates." + }, + "description": "A list of NodeTemplatesScopedList resources.", + "type": "object" + }, + "kind": { + "default": "compute#nodeTemplateAggregatedList", + "description": "[Output Only] Type of resource.Always compute#nodeTemplateAggregatedList for aggregated lists of node templates.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "unreachables": { + "description": "[Output Only] Unreachable resources.", + "items": { + "type": "string" + }, + "type": "array" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -62372,289 +63314,6 @@ false, false, false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "NodeGroupsSetNodeTemplateRequest": { - "id": "NodeGroupsSetNodeTemplateRequest", - "properties": { - "nodeTemplate": { - "description": "Full or partial URL of the node template resource to be updated for this node group.", - "type": "string" - } - }, - "type": "object" - }, - "NodeGroupsSimulateMaintenanceEventRequest": { - "id": "NodeGroupsSimulateMaintenanceEventRequest", - "properties": { - "nodes": { - "description": "Names of the nodes to go under maintenance simulation.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "NodeTemplate": { - "description": "Represent a sole-tenant Node Template resource. You can use a template to define properties for nodes in a node group. For more information, read Creating node groups and instances.", - "id": "NodeTemplate", - "properties": { - "accelerators": { - "items": { - "$ref": "AcceleratorConfig" - }, - "type": "array" - }, - "cpuOvercommitType": { - "description": "CPU overcommit.", - "enum": [ - "CPU_OVERCOMMIT_TYPE_UNSPECIFIED", - "ENABLED", - "NONE" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "creationTimestamp": { - "description": "[Output Only] Creation timestamp in RFC3339 text format.", - "type": "string" - }, - "description": { - "description": "An optional description of this resource. Provide this property when you create the resource.", - "type": "string" - }, - "disks": { - "items": { - "$ref": "LocalDisk" - }, - "type": "array" - }, - "id": { - "description": "[Output Only] The unique identifier for the resource. This identifier is defined by the server.", - "format": "uint64", - "type": "string" - }, - "kind": { - "default": "compute#nodeTemplate", - "description": "[Output Only] The type of the resource. Always compute#nodeTemplate for node templates.", - "type": "string" - }, - "name": { - "description": "The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", - "type": "string" - }, - "nodeAffinityLabels": { - "additionalProperties": { - "type": "string" - }, - "description": "Labels to use for node affinity, which will be used in instance scheduling.", - "type": "object" - }, - "nodeType": { - "description": "The node type to use for nodes group that are created from this template.", - "type": "string" - }, - "nodeTypeFlexibility": { - "$ref": "NodeTemplateNodeTypeFlexibility", - "description": "Do not use. Instead, use the node_type property." - }, - "region": { - "description": "[Output Only] The name of the region where the node template resides, such as us-central1.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for the resource.", - "type": "string" - }, - "serverBinding": { - "$ref": "ServerBinding", - "description": "Sets the binding properties for the physical server. Valid values include: - *[Default]* RESTART_NODE_ON_ANY_SERVER: Restarts VMs on any available physical server - RESTART_NODE_ON_MINIMAL_SERVER: Restarts VMs on the same physical server whenever possible See Sole-tenant node options for more information." - }, - "status": { - "description": "[Output Only] The status of the node template. One of the following values: CREATING, READY, and DELETING.", - "enum": [ - "CREATING", - "DELETING", - "INVALID", - "READY" - ], - "enumDescriptions": [ - "Resources are being allocated.", - "The node template is currently being deleted.", - "Invalid status.", - "The node template is ready." - ], - "type": "string" - }, - "statusMessage": { - "description": "[Output Only] An optional, human-readable explanation of the status.", - "type": "string" - } - }, - "type": "object" - }, - "NodeTemplateAggregatedList": { - "id": "NodeTemplateAggregatedList", - "properties": { - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", - "type": "string" - }, - "items": { - "additionalProperties": { - "$ref": "NodeTemplatesScopedList", - "description": "[Output Only] Name of the scope containing this set of node templates." - }, - "description": "A list of NodeTemplatesScopedList resources.", - "type": "object" - }, - "kind": { - "default": "compute#nodeTemplateAggregatedList", - "description": "[Output Only] Type of resource.Always compute#nodeTemplateAggregatedList for aggregated lists of node templates.", - "type": "string" - }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", - "type": "string" - }, - "unreachables": { - "description": "[Output Only] Unreachable resources.", - "items": { - "type": "string" - }, - "type": "array" - }, - "warning": { - "description": "[Output Only] Informational warning message.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, false, false ], @@ -62680,6 +63339,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -62772,6 +63432,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -62808,6 +63469,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -62832,6 +63494,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -62921,6 +63584,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -62957,6 +63621,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -62981,6 +63646,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -63141,6 +63807,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -63177,6 +63844,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -63201,6 +63869,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -63293,6 +63962,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -63329,6 +63999,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -63353,6 +64024,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -63427,6 +64099,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -63463,6 +64136,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -63487,6 +64161,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -63648,6 +64323,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -63684,6 +64360,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -63708,6 +64385,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -63896,7 +64574,7 @@ "type": "string" }, "targetLink": { - "description": "[Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from.", + "description": "[Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the disk that the snapshot was created from.", "type": "string" }, "user": { @@ -63931,6 +64609,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -63967,6 +64646,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -63991,6 +64671,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -64096,6 +64777,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -64132,6 +64814,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -64156,6 +64839,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -64248,6 +64932,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -64284,6 +64969,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -64308,6 +64994,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -64382,6 +65069,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -64418,6 +65106,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -64442,6 +65131,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -64742,6 +65432,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -64778,6 +65469,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -64802,6 +65494,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -64942,6 +65635,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -64978,6 +65672,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -65002,6 +65697,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -65145,6 +65841,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -65181,6 +65878,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -65205,6 +65903,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -65252,15 +65951,15 @@ }, "defaultRouteAction": { "$ref": "HttpRouteAction", - "description": "defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. If defaultRouteAction is specified, don't set defaultUrlRedirect. If defaultRouteAction.weightedBackendServices is specified, don't set defaultService. URL maps for classic Application Load Balancers only support the urlRewrite action within a path matcher's defaultRouteAction." + "description": "defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path matcher's defaultRouteAction." }, "defaultService": { - "description": "The full or partial URL to the BackendService resource. This URL is used if none of the pathRules or routeRules defined by this PathMatcher are matched. For example, the following are all valid URLs to a BackendService resource: - https://www.googleapis.com/compute/v1/projects/project /global/backendServices/backendService - compute/v1/projects/project/global/backendServices/backendService - global/backendServices/backendService If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if defaultRouteAction specifies any weightedBackendServices, defaultService must not be specified. If defaultService is specified, then set either defaultUrlRedirect or defaultRouteAction.weightedBackendService. Don't set both. Authorization requires one or more of the following Google IAM permissions on the specified resource default_service: - compute.backendBuckets.use - compute.backendServices.use ", + "description": "The full or partial URL to the BackendService resource. This URL is used if none of the pathRules or routeRules defined by this PathMatcher are matched. For example, the following are all valid URLs to a BackendService resource: - https://www.googleapis.com/compute/v1/projects/project /global/backendServices/backendService - compute/v1/projects/project/global/backendServices/backendService - global/backendServices/backendService If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. Authorization requires one or more of the following Google IAM permissions on the specified resource default_service: - compute.backendBuckets.use - compute.backendServices.use ", "type": "string" }, "defaultUrlRedirect": { "$ref": "HttpRedirectAction", - "description": "When none of the specified pathRules or routeRules match, the request is redirected to a URL specified by defaultUrlRedirect. If defaultUrlRedirect is specified, then set either defaultService or defaultRouteAction. Don't set both. Not supported when the URL map is bound to a target gRPC proxy." + "description": "When none of the specified pathRules or routeRules match, the request is redirected to a URL specified by defaultUrlRedirect. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy." }, "description": { "description": "An optional description of this resource. Provide this property when you create the resource.", @@ -65308,15 +66007,15 @@ }, "routeAction": { "$ref": "HttpRouteAction", - "description": "In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction or urlRedirect must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path rule's routeAction." + "description": "In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path rule's routeAction." }, "service": { - "description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set.", + "description": "The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set.", "type": "string" }, "urlRedirect": { "$ref": "HttpRedirectAction", - "description": "When a path pattern is matched, the request is redirected to a URL specified by urlRedirect. If urlRedirect is specified, service or routeAction must not be set. Not supported when the URL map is bound to a target gRPC proxy." + "description": "When a path pattern is matched, the request is redirected to a URL specified by urlRedirect. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy." } }, "type": "object" @@ -65330,7 +66029,7 @@ "type": "string" }, "name": { - "description": "The name of a per-instance configuration and its corresponding instance. Serves as a merge key during UpdatePerInstanceConfigs operations, that is, if a per-instance configuration with the same name exists then it will be updated, otherwise a new one will be created for the VM instance with the same name. An attempt to create a per-instance configconfiguration for a VM instance that either doesn't exist or is not part of the group will result in an error.", + "description": "The name of a per-instance configuration and its corresponding instance. Serves as a merge key during UpdatePerInstanceConfigs operations, that is, if a per-instance configuration with the same name exists then it will be updated, otherwise a new one will be created for the VM instance with the same name. An attempt to create a per-instance configuration for a VM instance that either doesn't exist or is not part of the group will result in an error.", "type": "string" }, "preservedState": { @@ -65383,13 +66082,6 @@ "format": "byte", "type": "string" }, - "rules": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "$ref": "Rule" - }, - "type": "array" - }, "version": { "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", @@ -65567,7 +66259,7 @@ "type": "string" }, "enabledFeatures": { - "description": "Restricted features enabled for use on this project.", + "description": "An optional list of restricted features enabled for use on this project.", "items": { "type": "string" }, @@ -65600,7 +66292,7 @@ }, "usageExportLocation": { "$ref": "UsageExportLocation", - "description": "The naming prefix for daily usage reports and the Google Cloud Storage bucket where they are stored." + "description": "An optional naming prefix for daily usage reports and the Google Cloud Storage bucket where they are stored." }, "vmDnsSetting": { "description": "[Output Only] Default internal DNS setting used by VMs running in this project.", @@ -65896,6 +66588,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -65932,6 +66625,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -65956,6 +66650,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -66198,6 +66893,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -66234,6 +66930,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -66258,6 +66955,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -66349,6 +67047,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -66385,6 +67084,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -66409,6 +67109,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -66543,6 +67244,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -66579,6 +67281,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -66603,6 +67306,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -67122,6 +67826,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -67158,6 +67863,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -67182,6 +67888,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -67322,6 +68029,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -67358,6 +68066,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -67382,6 +68091,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -67473,6 +68183,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -67509,6 +68220,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -67533,6 +68245,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -67672,6 +68385,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -67708,6 +68422,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -67732,6 +68447,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -67838,6 +68554,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -67874,6 +68591,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -67898,6 +68616,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -68115,6 +68834,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -68151,6 +68871,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -68175,6 +68896,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -68242,6 +68964,19 @@ }, "type": "object" }, + "RegionInstanceGroupManagersResumeInstancesRequest": { + "id": "RegionInstanceGroupManagersResumeInstancesRequest", + "properties": { + "instances": { + "description": "The URLs of one or more instances to resume. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "RegionInstanceGroupManagersSetTargetPoolsRequest": { "id": "RegionInstanceGroupManagersSetTargetPoolsRequest", "properties": { @@ -68270,6 +69005,53 @@ }, "type": "object" }, + "RegionInstanceGroupManagersStartInstancesRequest": { + "id": "RegionInstanceGroupManagersStartInstancesRequest", + "properties": { + "instances": { + "description": "The URLs of one or more instances to start. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "RegionInstanceGroupManagersStopInstancesRequest": { + "id": "RegionInstanceGroupManagersStopInstancesRequest", + "properties": { + "forceStop": { + "description": "If this flag is set to true, the Instance Group Manager will proceed to stop the instances, skipping initialization on them.", + "type": "boolean" + }, + "instances": { + "description": "The URLs of one or more instances to stop. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "RegionInstanceGroupManagersSuspendInstancesRequest": { + "id": "RegionInstanceGroupManagersSuspendInstancesRequest", + "properties": { + "forceSuspend": { + "description": "If this flag is set to true, the Instance Group Manager will proceed to suspend the instances, skipping initialization on them.", + "type": "boolean" + }, + "instances": { + "description": "The URLs of one or more instances to suspend. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME].", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "RegionInstanceGroupsListInstances": { "id": "RegionInstanceGroupsListInstances", "properties": { @@ -68324,6 +69106,203 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "RegionInstanceGroupsListInstancesRequest": { + "id": "RegionInstanceGroupsListInstancesRequest", + "properties": { + "instanceState": { + "description": "Instances in which state should be returned. Valid options are: 'ALL', 'RUNNING'. By default, it lists all instances.", + "enum": [ + "ALL", + "RUNNING" + ], + "enumDescriptions": [ + "Matches any status of the instances, running, non-running and others.", + "Instance is in RUNNING state if it is running." + ], + "type": "string" + }, + "portName": { + "description": "Name of port user is interested in. It is optional. If it is set, only information about this ports will be returned. If it is not set, all the named ports will be returned. Always lists all instances.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "type": "string" + } + }, + "type": "object" + }, + "RegionInstanceGroupsSetNamedPortsRequest": { + "id": "RegionInstanceGroupsSetNamedPortsRequest", + "properties": { + "fingerprint": { + "description": "The fingerprint of the named ports information for this instance group. Use this optional property to prevent conflicts when multiple users change the named ports settings concurrently. Obtain the fingerprint with the instanceGroups.get method. Then, include the fingerprint in your request to ensure that you do not overwrite changes that were applied from another concurrent request.", + "format": "byte", + "type": "string" + }, + "namedPorts": { + "description": "The list of named ports to set for this instance group.", + "items": { + "$ref": "NamedPort" + }, + "type": "array" + } + }, + "type": "object" + }, + "RegionList": { + "description": "Contains a list of region resources.", + "id": "RegionList", + "properties": { + "id": { + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "type": "string" + }, + "items": { + "description": "A list of Region resources.", + "items": { + "$ref": "Region" + }, + "type": "array" + }, + "kind": { + "default": "compute#regionList", + "description": "[Output Only] Type of resource. Always compute#regionList for lists of regions.", + "type": "string" + }, + "nextPageToken": { + "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", + "type": "string" + }, + "selfLink": { + "description": "[Output Only] Server-defined URL for this resource.", + "type": "string" + }, + "warning": { + "description": "[Output Only] Informational warning message.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -68360,198 +69339,6 @@ false, false, false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "RegionInstanceGroupsListInstancesRequest": { - "id": "RegionInstanceGroupsListInstancesRequest", - "properties": { - "instanceState": { - "description": "Instances in which state should be returned. Valid options are: 'ALL', 'RUNNING'. By default, it lists all instances.", - "enum": [ - "ALL", - "RUNNING" - ], - "enumDescriptions": [ - "Matches any status of the instances, running, non-running and others.", - "Instance is in RUNNING state if it is running." - ], - "type": "string" - }, - "portName": { - "description": "Name of port user is interested in. It is optional. If it is set, only information about this ports will be returned. If it is not set, all the named ports will be returned. Always lists all instances.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", - "type": "string" - } - }, - "type": "object" - }, - "RegionInstanceGroupsSetNamedPortsRequest": { - "id": "RegionInstanceGroupsSetNamedPortsRequest", - "properties": { - "fingerprint": { - "description": "The fingerprint of the named ports information for this instance group. Use this optional property to prevent conflicts when multiple users change the named ports settings concurrently. Obtain the fingerprint with the instanceGroups.get method. Then, include the fingerprint in your request to ensure that you do not overwrite changes that were applied from another concurrent request.", - "format": "byte", - "type": "string" - }, - "namedPorts": { - "description": "The list of named ports to set for this instance group.", - "items": { - "$ref": "NamedPort" - }, - "type": "array" - } - }, - "type": "object" - }, - "RegionList": { - "description": "Contains a list of region resources.", - "id": "RegionList", - "properties": { - "id": { - "description": "[Output Only] Unique identifier for the resource; defined by the server.", - "type": "string" - }, - "items": { - "description": "A list of Region resources.", - "items": { - "$ref": "Region" - }, - "type": "array" - }, - "kind": { - "default": "compute#regionList", - "description": "[Output Only] Type of resource. Always compute#regionList for lists of regions.", - "type": "string" - }, - "nextPageToken": { - "description": "[Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results.", - "type": "string" - }, - "selfLink": { - "description": "[Output Only] Server-defined URL for this resource.", - "type": "string" - }, - "warning": { - "description": "[Output Only] Informational warning message.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, false, false ], @@ -68577,6 +69364,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -68644,7 +69432,7 @@ "id": "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse", "properties": { "firewallPolicys": { - "description": "Effective firewalls from firewall policy.", + "description": "[Output only] Effective firewalls from firewall policy. It applies to Regional Network Firewall Policies in the specified region, Global Network Firewall Policies and Hierachial Firewall Policies which are associated with the network.", "items": { "$ref": "RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy" }, @@ -68672,7 +69460,7 @@ "type": "string" }, "rules": { - "description": "The rules that apply to the network.", + "description": "[Output only] The rules that apply to the network.", "items": { "$ref": "FirewallPolicyRule" }, @@ -68843,7 +69631,7 @@ "type": "boolean" }, "status": { - "description": "[Output Only] The status of the reservation.", + "description": "[Output Only] The status of the reservation. - CREATING: Reservation resources are being allocated. - READY: Reservation resources have been allocated, and the reservation is ready for use. - DELETING: Reservation deletion is in progress. - UPDATING: Reservation update is in progress. ", "enum": [ "CREATING", "DELETING", @@ -68852,11 +69640,11 @@ "UPDATING" ], "enumDescriptions": [ - "Resources are being allocated for the reservation.", - "Reservation is currently being deleted.", + "Reservation resources are being allocated.", + "Reservation deletion is in progress.", "", - "Reservation has allocated all its resources.", - "Reservation is currently being resized." + "Reservation resources have been allocated, and the reservation is ready for use.", + "Reservation update is in progress." ], "type": "string" }, @@ -68964,6 +69752,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -69000,6 +69789,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -69024,6 +69814,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -69115,6 +69906,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -69151,6 +69943,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -69175,6 +69968,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -69260,6 +70054,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -69296,6 +70091,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -69320,6 +70116,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -69438,6 +70235,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -69474,6 +70272,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -69498,6 +70297,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -69680,6 +70480,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -69716,6 +70517,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -69740,6 +70542,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -69947,6 +70750,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -69983,6 +70787,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -70007,6 +70812,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -70216,7 +71022,7 @@ "id": "ResourceStatus", "properties": { "physicalHost": { - "description": "[Output Only] An opaque ID of the host on which the VM is running.", + "description": "[Output Only] The precise location of your instance within the zone's data center, including the block, sub-block, and host. The field is formatted as follows: blockId/subBlockId/hostId.", "type": "string" }, "scheduling": { @@ -70312,14 +71118,38 @@ "description": "The URL to an instance that should handle matching packets. You can specify this as a full or partial URL. For example: https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/", "type": "string" }, + "nextHopInterRegionCost": { + "description": "[Output only] Internal fixed region-to-region cost that Google Cloud calculates based on factors such as network performance, distance, and available bandwidth between regions.", + "format": "uint32", + "type": "integer" + }, "nextHopIp": { "description": "The network IP address of an instance that should handle matching packets. Both IPv6 address and IPv4 addresses are supported. Must specify an IPv4 address in dot-decimal notation (e.g. 192.0.2.99) or an IPv6 address in RFC 4291 format (e.g. 2001:db8::2d9:51:0:0 or 2001:db8:0:0:2d9:51:0:0). IPv6 addresses will be displayed using RFC 5952 compressed format (e.g. 2001:db8::2d9:51:0:0). Should never be an IPv4-mapped IPv6 address.", "type": "string" }, + "nextHopMed": { + "description": "[Output Only] Multi-Exit Discriminator, a BGP route metric that indicates the desirability of a particular route in a network.", + "format": "uint32", + "type": "integer" + }, "nextHopNetwork": { "description": "The URL of the local network if it should handle matching packets.", "type": "string" }, + "nextHopOrigin": { + "description": "[Output Only] Indicates the origin of the route. Can be IGP (Interior Gateway Protocol), EGP (Exterior Gateway Protocol), or INCOMPLETE.", + "enum": [ + "EGP", + "IGP", + "INCOMPLETE" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, "nextHopPeering": { "description": "[Output Only] The network peering name that should handle matching packets, which should conform to RFC1035.", "type": "string" @@ -70414,6 +71244,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -70450,6 +71281,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -70474,6 +71306,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -70598,6 +71431,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -70634,6 +71468,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -70658,6 +71493,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -70862,6 +71698,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -70898,6 +71735,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -70922,6 +71760,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -71337,6 +72176,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -71373,6 +72213,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -71397,6 +72238,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -72040,6 +72882,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -72076,6 +72919,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -72100,6 +72944,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -72137,72 +72982,6 @@ }, "type": "object" }, - "Rule": { - "description": "This is deprecated and has no effect. Do not use.", - "id": "Rule", - "properties": { - "action": { - "description": "This is deprecated and has no effect. Do not use.", - "enum": [ - "ALLOW", - "ALLOW_WITH_LOG", - "DENY", - "DENY_WITH_LOG", - "LOG", - "NO_ACTION" - ], - "enumDescriptions": [ - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use.", - "This is deprecated and has no effect. Do not use." - ], - "type": "string" - }, - "conditions": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "$ref": "Condition" - }, - "type": "array" - }, - "description": { - "description": "This is deprecated and has no effect. Do not use.", - "type": "string" - }, - "ins": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "type": "string" - }, - "type": "array" - }, - "logConfigs": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "$ref": "LogConfig" - }, - "type": "array" - }, - "notIns": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "type": "string" - }, - "type": "array" - }, - "permissions": { - "description": "This is deprecated and has no effect. Do not use.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "SSLHealthCheck": { "id": "SSLHealthCheck", "properties": { @@ -72655,6 +73434,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -72691,6 +73471,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -72715,6 +73496,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -72798,6 +73580,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -72834,6 +73617,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -72858,6 +73642,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -73236,6 +74021,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -73272,6 +74058,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -73296,6 +74083,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -73688,7 +74476,7 @@ "type": "string" }, "enforceOnKey": { - "description": "Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if \"enforceOnKey\" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on \"userIpRequestHeaders\" configured with the security policy. If there is no \"userIpRequestHeaders\" configuration or an IP address cannot be resolved from it, the key type defaults to IP. ", + "description": "Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if \"enforceOnKey\" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on \"userIpRequestHeaders\" configured with the security policy. If there is no \"userIpRequestHeaders\" configuration or an IP address cannot be resolved from it, the key type defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. ", "enum": [ "ALL", "HTTP_COOKIE", @@ -73698,6 +74486,7 @@ "REGION_CODE", "SNI", "TLS_JA3_FINGERPRINT", + "TLS_JA4_FINGERPRINT", "USER_IP", "XFF_IP" ], @@ -73711,6 +74500,7 @@ "", "", "", + "", "" ], "type": "string" @@ -73749,7 +74539,7 @@ "type": "string" }, "enforceOnKeyType": { - "description": "Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if \"enforceOnKeyConfigs\" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on \"userIpRequestHeaders\" configured with the security policy. If there is no \"userIpRequestHeaders\" configuration or an IP address cannot be resolved from it, the key type defaults to IP. ", + "description": "Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if \"enforceOnKeyConfigs\" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under \"enforceOnKeyName\". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on \"userIpRequestHeaders\" configured with the security policy. If there is no \"userIpRequestHeaders\" configuration or an IP address cannot be resolved from it, the key type defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. ", "enum": [ "ALL", "HTTP_COOKIE", @@ -73759,6 +74549,7 @@ "REGION_CODE", "SNI", "TLS_JA3_FINGERPRINT", + "TLS_JA4_FINGERPRINT", "USER_IP", "XFF_IP" ], @@ -73772,6 +74563,7 @@ "", "", "", + "", "" ], "type": "string" @@ -74041,6 +74833,11 @@ "description": "The URL of a forwarding rule with loadBalancingScheme INTERNAL* that is serving the endpoint identified by this service attachment.", "type": "string" }, + "propagatedConnectionLimit": { + "description": "The number of consumer spokes that connected Private Service Connect endpoints can be propagated to through Network Connectivity Center. This limit lets the service producer limit how many propagated Private Service Connect connections can be established to this service attachment from a single consumer. If the connection preference of the service attachment is ACCEPT_MANUAL, the limit applies to each project or network that is listed in the consumer accept list. If the connection preference of the service attachment is ACCEPT_AUTOMATIC, the limit applies to each project that contains a connected endpoint. If unspecified, the default propagated connection limit is 250.", + "format": "uint32", + "type": "integer" + }, "pscServiceAttachmentId": { "$ref": "Uint128", "description": "[Output Only] An 128-bit global unique ID of the PSC service attachment." @@ -74127,6 +74924,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -74163,6 +74961,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -74187,6 +74986,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -74236,6 +75036,11 @@ "description": "The url of a connected endpoint.", "type": "string" }, + "propagatedConnectionCount": { + "description": "The number of consumer Network Connectivity Center spokes that the connected Private Service Connect endpoint has propagated to.", + "format": "uint32", + "type": "integer" + }, "pscConnectionId": { "description": "The PSC connection id of the connected endpoint.", "format": "uint64", @@ -74337,6 +75142,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -74373,6 +75179,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -74397,6 +75204,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -74471,6 +75279,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -74507,6 +75316,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -74531,6 +75341,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -75014,6 +75825,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -75050,6 +75862,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -75074,6 +75887,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -75418,6 +76232,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -75454,6 +76269,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -75478,6 +76294,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -75570,6 +76387,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -75606,6 +76424,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -75630,6 +76449,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -75778,6 +76598,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -75814,6 +76635,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -75838,6 +76660,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -75940,6 +76763,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -75976,6 +76800,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -76000,6 +76825,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -76091,6 +76917,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -76127,6 +76954,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -76151,6 +76979,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -76237,6 +77066,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -76273,6 +77103,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -76297,6 +77128,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -76446,6 +77278,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -76482,6 +77315,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -76506,6 +77340,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -76855,6 +77690,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -76891,6 +77727,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -76915,6 +77752,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -77093,6 +77931,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -77129,6 +77968,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -77153,6 +77993,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -77254,6 +78095,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -77290,6 +78132,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -77314,6 +78157,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -77549,6 +78393,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -77585,6 +78430,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -77609,6 +78455,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -77701,6 +78548,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -77737,6 +78585,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -77761,6 +78610,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -77835,6 +78685,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -77871,6 +78722,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -77895,6 +78747,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -77969,6 +78822,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -78005,6 +78859,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -78029,6 +78884,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -78161,10 +79017,11 @@ "type": "string" }, "purpose": { - "description": "The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.", + "description": "The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.", "enum": [ "GLOBAL_MANAGED_PROXY", "INTERNAL_HTTPS_LOAD_BALANCER", + "PEER_MIGRATION", "PRIVATE", "PRIVATE_NAT", "PRIVATE_RFC_1918", @@ -78174,6 +79031,7 @@ "enumDescriptions": [ "Subnet reserved for Global Envoy-based Load Balancing.", "Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy purpose, please use REGIONAL_MANAGED_PROXY instead.", + "Subnetwork will be used for Migration from one peered VPC to another. (a transient state of subnetwork while migrating resources from one project to another).", "Regular user created or automatically created subnet.", "Subnetwork used as source range for Private NAT Gateways.", "Regular user created or automatically created subnet.", @@ -78217,11 +79075,13 @@ "description": "The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are assigned IPv4 addresses only. If set to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.", "enum": [ "IPV4_IPV6", - "IPV4_ONLY" + "IPV4_ONLY", + "IPV6_ONLY" ], "enumDescriptions": [ "New VMs in this subnet can have both IPv4 and IPv6 addresses.", - "New VMs in this subnet will only be assigned IPv4 addresses." + "New VMs in this subnet will only be assigned IPv4 addresses.", + "New VMs in this subnet will only be assigned IPv6 addresses." ], "type": "string" }, @@ -78302,6 +79162,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -78338,6 +79199,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -78362,6 +79224,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -78454,6 +79317,234 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "RESOURCE_NOT_DELETED", + "SCHEMA_VALIDATION_IGNORED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNDECLARED_PROPERTIES", + "UNREACHABLE" + ], + "enumDeprecated": [ + false, + false, + false, + false, + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Warning about failed cleanup of transient changes made by a failed operation.", + "A link to a deprecated resource was created.", + "When deploying and at least one of the resources has a type marked as deprecated", + "The user created a boot disk that is larger than image size.", + "When deploying and at least one of the resources has a type marked as experimental", + "Warning that is present in an external api call", + "Warning that value of a field has been overridden. Deprecated unused field.", + "The operation involved use of an injected kernel, which is deprecated.", + "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", + "When deploying a deployment with a exceedingly large number of resources", + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "A resource depends on a missing type", + "The route's nextHopIp address is not assigned to an instance on the network.", + "The route's next hop instance cannot ip forward.", + "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", + "The route's nextHopInstance URL refers to an instance that does not exist.", + "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", + "The route's next hop instance does not have a status of RUNNING.", + "Error which is not critical. We decided to continue the process despite the mentioned error.", + "No results are present on a particular list page.", + "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", + "The user attempted to use a resource that requires a TOS they have not accepted.", + "Warning that a resource is in use.", + "One or more of the resources set to auto-delete could not be deleted because they were in use.", + "When a resource schema validation is ignored.", + "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", + "When undeclared properties in the schema are present", + "A given scope cannot be reached." + ], + "type": "string" + }, + "data": { + "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", + "items": { + "properties": { + "key": { + "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", + "type": "string" + }, + "value": { + "description": "[Output Only] A warning data value corresponding to the key.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "[Output Only] A human-readable description of the warning code.", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "SubnetworkLogConfig": { + "description": "The available logging options for this subnetwork.", + "id": "SubnetworkLogConfig", + "properties": { + "aggregationInterval": { + "description": "Can only be specified if VPC flow logging for this subnetwork is enabled. Toggles the aggregation interval for collecting flow logs. Increasing the interval time will reduce the amount of generated flow logs for long lasting connections. Default is an interval of 5 seconds per connection.", + "enum": [ + "INTERVAL_10_MIN", + "INTERVAL_15_MIN", + "INTERVAL_1_MIN", + "INTERVAL_30_SEC", + "INTERVAL_5_MIN", + "INTERVAL_5_SEC" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ], + "type": "string" + }, + "enable": { + "description": "Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. Flow logging isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.", + "type": "boolean" + }, + "filterExpr": { + "description": "Can only be specified if VPC flow logs for this subnetwork is enabled. The filter expression is used to define which VPC flow logs should be exported to Cloud Logging.", + "type": "string" + }, + "flowSampling": { + "description": "Can only be specified if VPC flow logging for this subnetwork is enabled. The value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs within the subnetwork where 1.0 means all collected logs are reported and 0.0 means no logs are reported. Default is 0.5 unless otherwise specified by the org policy, which means half of all collected logs are reported.", + "format": "float", + "type": "number" + }, + "metadata": { + "description": "Can only be specified if VPC flow logs for this subnetwork is enabled. Configures whether all, none or a subset of metadata fields should be added to the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA.", + "enum": [ + "CUSTOM_METADATA", + "EXCLUDE_ALL_METADATA", + "INCLUDE_ALL_METADATA" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, + "metadataFields": { + "description": "Can only be specified if VPC flow logs for this subnetwork is enabled and \"metadata\" was set to CUSTOM_METADATA.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "SubnetworkSecondaryRange": { + "description": "Represents a secondary IP range of a subnetwork.", + "id": "SubnetworkSecondaryRange", + "properties": { + "ipCidrRange": { + "description": "The range of IP addresses belonging to this subnetwork secondary range. Provide this property when you create the subnetwork. Ranges must be unique and non-overlapping with all primary and secondary IP ranges within a network. Only IPv4 is supported. The range can be any range listed in the Valid ranges list.", + "type": "string" + }, + "rangeName": { + "description": "The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the subnetwork.", + "type": "string" + }, + "reservedInternalRange": { + "description": "The URL of the reserved internal range.", + "type": "string" + } + }, + "type": "object" + }, + "SubnetworksExpandIpCidrRangeRequest": { + "id": "SubnetworksExpandIpCidrRangeRequest", + "properties": { + "ipCidrRange": { + "description": "The IP (in CIDR format or netmask) of internal addresses that are legal on this Subnetwork. This range should be disjoint from other subnetworks within this network. This range can only be larger than (i.e. a superset of) the range previously defined before the update.", + "type": "string" + } + }, + "type": "object" + }, + "SubnetworksScopedList": { + "id": "SubnetworksScopedList", + "properties": { + "subnetworks": { + "description": "A list of subnetworks contained in this scope.", + "items": { + "$ref": "Subnetwork" + }, + "type": "array" + }, + "warning": { + "description": "An informational warning that appears when the list of addresses is empty.", + "properties": { + "code": { + "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", + "enum": [ + "CLEANUP_FAILED", + "DEPRECATED_RESOURCE_USED", + "DEPRECATED_TYPE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "EXPERIMENTAL_TYPE_USED", + "EXTERNAL_API_WARNING", + "FIELD_VALUE_OVERRIDEN", + "INJECTED_KERNELS_DEPRECATED", + "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", + "LARGE_DEPLOYMENT_WARNING", + "LIST_OVERHEAD_QUOTA_EXCEED", + "MISSING_TYPE_DEPENDENCY", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -78490,229 +79581,6 @@ false, false, false, - false - ], - "enumDescriptions": [ - "Warning about failed cleanup of transient changes made by a failed operation.", - "A link to a deprecated resource was created.", - "When deploying and at least one of the resources has a type marked as deprecated", - "The user created a boot disk that is larger than image size.", - "When deploying and at least one of the resources has a type marked as experimental", - "Warning that is present in an external api call", - "Warning that value of a field has been overridden. Deprecated unused field.", - "The operation involved use of an injected kernel, which is deprecated.", - "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "When deploying a deployment with a exceedingly large number of resources", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", - "A resource depends on a missing type", - "The route's nextHopIp address is not assigned to an instance on the network.", - "The route's next hop instance cannot ip forward.", - "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", - "The route's nextHopInstance URL refers to an instance that does not exist.", - "The route's nextHopInstance URL refers to an instance that is not on the same network as the route.", - "The route's next hop instance does not have a status of RUNNING.", - "Error which is not critical. We decided to continue the process despite the mentioned error.", - "No results are present on a particular list page.", - "Success is reported, but some results may be missing due to errors", - "The user attempted to use a resource that requires a TOS they have not accepted.", - "Warning that a resource is in use.", - "One or more of the resources set to auto-delete could not be deleted because they were in use.", - "When a resource schema validation is ignored.", - "Instance template used in instance group manager is valid as such, but its application does not make a lot of sense, because it allows only single instance in instance group.", - "When undeclared properties in the schema are present", - "A given scope cannot be reached." - ], - "type": "string" - }, - "data": { - "description": "[Output Only] Metadata about this warning in key: value format. For example: \"data\": [ { \"key\": \"scope\", \"value\": \"zones/us-east1-d\" } ", - "items": { - "properties": { - "key": { - "description": "[Output Only] A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).", - "type": "string" - }, - "value": { - "description": "[Output Only] A warning data value corresponding to the key.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "[Output Only] A human-readable description of the warning code.", - "type": "string" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "SubnetworkLogConfig": { - "description": "The available logging options for this subnetwork.", - "id": "SubnetworkLogConfig", - "properties": { - "aggregationInterval": { - "description": "Can only be specified if VPC flow logging for this subnetwork is enabled. Toggles the aggregation interval for collecting flow logs. Increasing the interval time will reduce the amount of generated flow logs for long lasting connections. Default is an interval of 5 seconds per connection.", - "enum": [ - "INTERVAL_10_MIN", - "INTERVAL_15_MIN", - "INTERVAL_1_MIN", - "INTERVAL_30_SEC", - "INTERVAL_5_MIN", - "INTERVAL_5_SEC" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ], - "type": "string" - }, - "enable": { - "description": "Whether to enable flow logging for this subnetwork. If this field is not explicitly set, it will not appear in get listings. If not set the default behavior is determined by the org policy, if there is no org policy specified, then it will default to disabled. Flow logging isn't supported if the subnet purpose field is set to REGIONAL_MANAGED_PROXY.", - "type": "boolean" - }, - "filterExpr": { - "description": "Can only be specified if VPC flow logs for this subnetwork is enabled. The filter expression is used to define which VPC flow logs should be exported to Cloud Logging.", - "type": "string" - }, - "flowSampling": { - "description": "Can only be specified if VPC flow logging for this subnetwork is enabled. The value of the field must be in [0, 1]. Set the sampling rate of VPC flow logs within the subnetwork where 1.0 means all collected logs are reported and 0.0 means no logs are reported. Default is 0.5 unless otherwise specified by the org policy, which means half of all collected logs are reported.", - "format": "float", - "type": "number" - }, - "metadata": { - "description": "Can only be specified if VPC flow logs for this subnetwork is enabled. Configures whether all, none or a subset of metadata fields should be added to the reported VPC flow logs. Default is EXCLUDE_ALL_METADATA.", - "enum": [ - "CUSTOM_METADATA", - "EXCLUDE_ALL_METADATA", - "INCLUDE_ALL_METADATA" - ], - "enumDescriptions": [ - "", - "", - "" - ], - "type": "string" - }, - "metadataFields": { - "description": "Can only be specified if VPC flow logs for this subnetwork is enabled and \"metadata\" was set to CUSTOM_METADATA.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "SubnetworkSecondaryRange": { - "description": "Represents a secondary IP range of a subnetwork.", - "id": "SubnetworkSecondaryRange", - "properties": { - "ipCidrRange": { - "description": "The range of IP addresses belonging to this subnetwork secondary range. Provide this property when you create the subnetwork. Ranges must be unique and non-overlapping with all primary and secondary IP ranges within a network. Only IPv4 is supported. The range can be any range listed in the Valid ranges list.", - "type": "string" - }, - "rangeName": { - "description": "The name associated with this subnetwork secondary range, used when adding an alias IP range to a VM instance. The name must be 1-63 characters long, and comply with RFC1035. The name must be unique within the subnetwork.", - "type": "string" - }, - "reservedInternalRange": { - "description": "The URL of the reserved internal range.", - "type": "string" - } - }, - "type": "object" - }, - "SubnetworksExpandIpCidrRangeRequest": { - "id": "SubnetworksExpandIpCidrRangeRequest", - "properties": { - "ipCidrRange": { - "description": "The IP (in CIDR format or netmask) of internal addresses that are legal on this Subnetwork. This range should be disjoint from other subnetworks within this network. This range can only be larger than (i.e. a superset of) the range previously defined before the update.", - "type": "string" - } - }, - "type": "object" - }, - "SubnetworksScopedList": { - "id": "SubnetworksScopedList", - "properties": { - "subnetworks": { - "description": "A list of subnetworks contained in this scope.", - "items": { - "$ref": "Subnetwork" - }, - "type": "array" - }, - "warning": { - "description": "An informational warning that appears when the list of addresses is empty.", - "properties": { - "code": { - "description": "[Output Only] A warning code, if applicable. For example, Compute Engine returns NO_RESULTS_ON_PAGE if there are no results in the response.", - "enum": [ - "CLEANUP_FAILED", - "DEPRECATED_RESOURCE_USED", - "DEPRECATED_TYPE_USED", - "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", - "EXPERIMENTAL_TYPE_USED", - "EXTERNAL_API_WARNING", - "FIELD_VALUE_OVERRIDEN", - "INJECTED_KERNELS_DEPRECATED", - "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LARGE_DEPLOYMENT_WARNING", - "LIST_OVERHEAD_QUOTA_EXCEED", - "MISSING_TYPE_DEPENDENCY", - "NEXT_HOP_ADDRESS_NOT_ASSIGNED", - "NEXT_HOP_CANNOT_IP_FORWARD", - "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", - "NEXT_HOP_INSTANCE_NOT_FOUND", - "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", - "NEXT_HOP_NOT_RUNNING", - "NOT_CRITICAL_ERROR", - "NO_RESULTS_ON_PAGE", - "PARTIAL_SUCCESS", - "REQUIRED_TOS_AGREEMENT", - "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", - "RESOURCE_NOT_DELETED", - "SCHEMA_VALIDATION_IGNORED", - "SINGLE_INSTANCE_PROPERTY_TEMPLATE", - "UNDECLARED_PROPERTIES", - "UNREACHABLE" - ], - "enumDeprecated": [ - false, - false, - false, - false, - false, - false, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, false, false ], @@ -78738,6 +79606,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -78981,6 +79850,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -79017,6 +79887,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -79041,6 +79912,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -79115,6 +79987,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -79151,6 +80024,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -79175,6 +80049,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -79361,6 +80236,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -79397,6 +80273,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -79421,6 +80298,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -79495,6 +80373,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -79531,6 +80410,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -79555,6 +80435,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -79636,7 +80517,7 @@ "type": "object" }, "TargetHttpsProxy": { - "description": "Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/v1/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/v1/regionTargetHttpsProxies) A target HTTPS proxy is a component of GCP HTTPS load balancers. * targetHttpProxies are used by global external Application Load Balancers, classic Application Load Balancers, cross-region internal Application Load Balancers, and Traffic Director. * regionTargetHttpProxies are used by regional internal Application Load Balancers and regional external Application Load Balancers. Forwarding rules reference a target HTTPS proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts.", + "description": "Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/v1/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/v1/regionTargetHttpsProxies) A target HTTPS proxy is a component of Google Cloud HTTPS load balancers. * targetHttpProxies are used by global external Application Load Balancers, classic Application Load Balancers, cross-region internal Application Load Balancers, and Traffic Director. * regionTargetHttpProxies are used by regional internal Application Load Balancers and regional external Application Load Balancers. Forwarding rules reference a target HTTPS proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts.", "id": "TargetHttpsProxy", "properties": { "authorizationPolicy": { @@ -79711,7 +80592,7 @@ "type": "string" }, "sslCertificates": { - "description": "URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API. Certificate Manager Certificates are not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project}/locations/{ location}/certificates/{resourceName}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project }/locations/{location}/certificates/{resourceName}. ", + "description": "URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API namespace. Using Certificate Manager Certificates in this field is not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates or up to 100 Certificate Manager Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project}/locations/{ location}/certificates/{resourceName}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project }/locations/{location}/certificates/{resourceName}. ", "items": { "type": "string" }, @@ -79726,12 +80607,14 @@ "enum": [ "DISABLED", "PERMISSIVE", - "STRICT" + "STRICT", + "UNRESTRICTED" ], "enumDescriptions": [ "TLS 1.3 Early Data is not advertised, and any (invalid) attempts to send Early Data will be rejected by closing the connection.", "This enables TLS 1.3 0-RTT, and only allows Early Data to be included on requests with safe HTTP methods (GET, HEAD, OPTIONS, TRACE). This mode does not enforce any other limitations for requests with Early Data. The application owner should validate that Early Data is acceptable for a given request path.", - "This enables TLS 1.3 0-RTT, and only allows Early Data to be included on requests with safe HTTP methods (GET, HEAD, OPTIONS, TRACE) without query parameters. Requests that send Early Data with non-idempotent HTTP methods or with query parameters will be rejected with a HTTP 425." + "This enables TLS 1.3 0-RTT, and only allows Early Data to be included on requests with safe HTTP methods (GET, HEAD, OPTIONS, TRACE) without query parameters. Requests that send Early Data with non-idempotent HTTP methods or with query parameters will be rejected with a HTTP 425.", + "This enables TLS 1.3 Early Data for requests with any HTTP method including non-idempotent methods list POST. This mode does not enforce any other limitations. This may be valuable for gRPC use cases. However, we do not recommend this method unless you have evaluated your security stance and mitigated the risk of replay attacks using other mechanisms." ], "type": "string" }, @@ -79804,6 +80687,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -79840,6 +80724,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -79864,6 +80749,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -79956,6 +80842,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -79992,6 +80879,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -80016,6 +80904,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -80175,6 +81064,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -80211,6 +81101,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -80235,6 +81126,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -80327,6 +81219,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -80363,6 +81256,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -80387,6 +81281,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -80461,6 +81356,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -80497,6 +81393,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -80521,6 +81418,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -80630,7 +81528,8 @@ "GENERATED_COOKIE", "HEADER_FIELD", "HTTP_COOKIE", - "NONE" + "NONE", + "STRONG_COOKIE_AFFINITY" ], "enumDescriptions": [ "2-tuple hash on packet's source and destination IP addresses. Connections from the same source IP address to the same destination IP address will be served by the same backend VM while that VM remains healthy.", @@ -80640,7 +81539,8 @@ "Hash based on a cookie generated by the L7 loadbalancer. Only valid for HTTP(S) load balancing.", "The hash is based on a user specified header field.", "The hash is based on a user provided cookie.", - "No session affinity. Connections from the same client IP may go to any instance in the pool." + "No session affinity. Connections from the same client IP may go to any instance in the pool.", + "Strong cookie-based affinity. Connections bearing the same cookie will be served by the same backend VM while that VM remains healthy, as long as the cookie has not expired." ], "type": "string" } @@ -80709,6 +81609,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -80745,6 +81646,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -80769,6 +81671,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -80878,6 +81781,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -80914,6 +81818,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -80938,6 +81843,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -81064,6 +81970,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -81100,6 +82007,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -81124,6 +82032,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -81341,6 +82250,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -81377,6 +82287,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -81401,6 +82312,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -81475,6 +82387,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -81511,6 +82424,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -81535,6 +82449,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -81720,6 +82635,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -81756,6 +82672,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -81780,6 +82697,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -81872,6 +82790,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -81908,6 +82827,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -81932,6 +82852,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -82125,6 +83046,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -82161,6 +83083,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -82185,6 +83108,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -82277,6 +83201,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -82313,6 +83238,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -82337,6 +83263,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -82411,6 +83338,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -82447,6 +83375,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -82471,6 +83400,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -82646,7 +83576,7 @@ "type": "object" }, "UrlMap": { - "description": "Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by global external Application Load Balancers, classic Application Load Balancers, and cross-region internal Application Load Balancers. * regionUrlMaps are used by internal Application Load Balancers, regional external Application Load Balancers and regional internal Application Load Balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts.", + "description": "Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by global external Application Load Balancers, classic Application Load Balancers, and cross-region internal Application Load Balancers. * regionUrlMaps are used by internal Application Load Balancers, regional external Application Load Balancers and regional internal Application Load Balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL, EXTERNAL_MANAGED, or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts.", "id": "UrlMap", "properties": { "creationTimestamp": { @@ -82659,15 +83589,15 @@ }, "defaultRouteAction": { "$ref": "HttpRouteAction", - "description": "defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." + "description": "defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true." }, "defaultService": { - "description": "The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any defaultRouteAction.weightedBackendServices. Conversely, if defaultRouteAction specifies any defaultRouteAction.weightedBackendServices, defaultService must not be specified. If defaultService is specified, then set either defaultUrlRedirect , or defaultRouteAction.weightedBackendService Don't set both. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.", + "description": "The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.", "type": "string" }, "defaultUrlRedirect": { "$ref": "HttpRedirectAction", - "description": "When none of the specified hostRules match, the request is redirected to a URL specified by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or defaultRouteAction must not be set. Not supported when the URL map is bound to a target gRPC proxy." + "description": "When none of the specified hostRules match, the request is redirected to a URL specified by defaultUrlRedirect. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy." }, "description": { "description": "An optional description of this resource. Provide this property when you create the resource.", @@ -82784,6 +83714,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -82820,6 +83751,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -82844,6 +83776,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -83033,6 +83966,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -83069,6 +84003,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -83093,6 +84028,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -83167,6 +84103,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -83203,6 +84140,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -83227,6 +84165,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -83352,10 +84291,11 @@ "type": "string" }, "purpose": { - "description": "The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.", + "description": "The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY.", "enum": [ "GLOBAL_MANAGED_PROXY", "INTERNAL_HTTPS_LOAD_BALANCER", + "PEER_MIGRATION", "PRIVATE", "PRIVATE_NAT", "PRIVATE_RFC_1918", @@ -83365,6 +84305,7 @@ "enumDescriptions": [ "Subnet reserved for Global Envoy-based Load Balancing.", "Subnet reserved for Internal HTTP(S) Load Balancing. This is a legacy purpose, please use REGIONAL_MANAGED_PROXY instead.", + "Subnetwork will be used for Migration from one peered VPC to another. (a transient state of subnetwork while migrating resources from one project to another).", "Regular user created or automatically created subnet.", "Subnetwork used as source range for Private NAT Gateways.", "Regular user created or automatically created subnet.", @@ -83396,11 +84337,13 @@ "description": "The stack type for the subnet. If set to IPV4_ONLY, new VMs in the subnet are assigned IPv4 addresses only. If set to IPV4_IPV6, new VMs in the subnet can be assigned both IPv4 and IPv6 addresses. If not specified, IPV4_ONLY is used. This field can be both set at resource creation time and updated using patch.", "enum": [ "IPV4_IPV6", - "IPV4_ONLY" + "IPV4_ONLY", + "IPV6_ONLY" ], "enumDescriptions": [ "New VMs in this subnet can have both IPv4 and IPv6 addresses.", - "New VMs in this subnet will only be assigned IPv4 addresses." + "New VMs in this subnet will only be assigned IPv4 addresses.", + "New VMs in this subnet will only be assigned IPv6 addresses." ], "type": "string" }, @@ -83480,6 +84423,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -83516,6 +84460,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -83540,6 +84485,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -83746,6 +84692,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -83782,6 +84729,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -83806,6 +84754,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -84002,6 +84951,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -84038,6 +84988,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -84062,6 +85013,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -84154,6 +85106,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -84190,6 +85143,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -84214,6 +85168,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -84410,6 +85365,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -84446,6 +85402,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -84470,6 +85427,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -84723,6 +85681,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -84759,6 +85718,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -84783,6 +85743,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -84875,6 +85836,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -84911,6 +85873,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -84935,6 +85898,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -85009,6 +85973,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -85045,6 +86010,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -85069,6 +86035,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -85219,6 +86186,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -85255,6 +86223,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -85279,6 +86248,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", @@ -85458,6 +86428,7 @@ "NOT_CRITICAL_ERROR", "NO_RESULTS_ON_PAGE", "PARTIAL_SUCCESS", + "QUOTA_INFO_UNAVAILABLE", "REQUIRED_TOS_AGREEMENT", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", "RESOURCE_NOT_DELETED", @@ -85494,6 +86465,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -85518,6 +86490,7 @@ "Error which is not critical. We decided to continue the process despite the mentioned error.", "No results are present on a particular list page.", "Success is reported, but some results may be missing due to errors", + "Quota information is not available to client requests (e.g: regions.list).", "The user attempted to use a resource that requires a TOS they have not accepted.", "Warning that a resource is in use.", "One or more of the resources set to auto-delete could not be deleted because they were in use.", diff --git a/discovery/config-v1.json b/discovery/config-v1.json index 6c3fdb72f3..4db328a28c 100644 --- a/discovery/config-v1.json +++ b/discovery/config-v1.json @@ -816,7 +816,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "config.projects.locations.operations.cancel", @@ -1187,7 +1187,7 @@ } } }, - "revision": "20240710", + "revision": "20241211", "rootUrl": "https://config.googleapis.com/", "schemas": { "ApplyResults": { @@ -1422,7 +1422,7 @@ "type": "string" }, "serviceAccount": { - "description": "Optional. User-specified Service Account (SA) credentials to be used when actuating resources. Format: `projects/{projectID}/serviceAccounts/{serviceAccount}`", + "description": "Required. User-specified Service Account (SA) credentials to be used when actuating resources. Format: `projects/{projectID}/serviceAccounts/{serviceAccount}`", "type": "string" }, "state": { @@ -1708,7 +1708,7 @@ "type": "string" }, "previews": { - "description": "List of Previewss.", + "description": "List of Previews.", "items": { "$ref": "Preview" }, @@ -1733,7 +1733,7 @@ "type": "string" }, "resources": { - "description": "List of Resourcess.", + "description": "List of Resources.", "items": { "$ref": "Resource" }, @@ -1939,7 +1939,7 @@ "readOnly": true }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -2091,7 +2091,7 @@ "type": "string" }, "serviceAccount": { - "description": "Optional. User-specified Service Account (SA) credentials to be used when previewing resources. Format: `projects/{projectID}/serviceAccounts/{serviceAccount}`", + "description": "Required. User-specified Service Account (SA) credentials to be used when previewing resources. Format: `projects/{projectID}/serviceAccounts/{serviceAccount}`", "type": "string" }, "state": { @@ -2556,7 +2556,7 @@ "additionalProperties": { "$ref": "TerraformVariable" }, - "description": "Input variable values for the Terraform blueprint.", + "description": "Optional. Input variable values for the Terraform blueprint.", "type": "object" } }, @@ -2568,7 +2568,8 @@ "properties": { "error": { "$ref": "Status", - "description": "Original error response from underlying Google API, if available." + "description": "Output only. Original error response from underlying Google API, if available.", + "readOnly": true }, "errorDescription": { "description": "A human-readable error description.", @@ -2606,7 +2607,7 @@ "id": "TerraformVariable", "properties": { "inputValue": { - "description": "Input variable value.", + "description": "Optional. Input variable value.", "type": "any" } }, diff --git a/discovery/connectors-v1.json b/discovery/connectors-v1.json index 7e5b96a776..72f3ea51ce 100644 --- a/discovery/connectors-v1.json +++ b/discovery/connectors-v1.json @@ -1095,6 +1095,11 @@ "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+$", "required": true, "type": "string" + }, + "schemaAsString": { + "description": "Optional. Flag to indicate if schema should be returned as string or not", + "location": "query", + "type": "boolean" } }, "path": "v1/{+parent}/runtimeActionSchemas", @@ -1240,6 +1245,62 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "publish": { + "description": "Publish request for the CustomConnectorVersion. Once approved, the CustomConnectorVersion will be published as PartnerConnector.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customConnectors/{customConnectorsId}/customConnectorVersions/{customConnectorVersionsId}:publish", + "httpMethod": "POST", + "id": "connectors.projects.locations.customConnectors.customConnectorVersions.publish", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of the form: `projects/{project}/locations/{location}/customConnectors/{custom_connector}/customConnectorVersions/{custom_connector_version}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/customConnectors/[^/]+/customConnectorVersions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:publish", + "request": { + "$ref": "PublishCustomConnectorVersionRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "withdraw": { + "description": "Withdraw the publish request for the CustomConnectorVersion. This can only be used before the CustomConnectorVersion is published.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/customConnectors/{customConnectorsId}/customConnectorVersions/{customConnectorVersionsId}:withdraw", + "httpMethod": "POST", + "id": "connectors.projects.locations.customConnectors.customConnectorVersions.withdraw", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of the form: `projects/{project}/locations/{location}/customConnectors/{custom_connector}/customConnectorVersions/{custom_connector_version}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/customConnectors/[^/]+/customConnectorVersions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:withdraw", + "request": { + "$ref": "WithdrawCustomConnectorVersionRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } } @@ -1944,7 +2005,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "connectors.projects.locations.operations.cancel", @@ -2497,7 +2558,7 @@ } } }, - "revision": "20240924", + "revision": "20250101", "rootUrl": "https://connectors.googleapis.com/", "schemas": { "AuditConfig": { @@ -2799,7 +2860,7 @@ "id": "AuthorizationCodeLink", "properties": { "clientId": { - "description": "The client ID assigned to the Google Cloud Connectors OAuth app for the connector data source.", + "description": "Optional. The client ID assigned to the Google Cloud Connectors OAuth app for the connector data source.", "type": "string" }, "clientSecret": { @@ -2807,7 +2868,7 @@ "description": "Optional. The client secret assigned to the Google Cloud Connectors OAuth app for the connector data source." }, "enablePkce": { - "description": "Whether to enable PKCE for the auth code flow.", + "description": "Optional. Whether to enable PKCE for the auth code flow.", "type": "boolean" }, "omitQueryParams": { @@ -2815,14 +2876,14 @@ "type": "boolean" }, "scopes": { - "description": "The scopes for which the user will authorize Google Cloud Connectors on the connector data source.", + "description": "Optional. The scopes for which the user will authorize Google Cloud Connectors on the connector data source.", "items": { "type": "string" }, "type": "array" }, "uri": { - "description": "The base URI the user must click to trigger the authorization code login flow.", + "description": "Optional. The base URI the user must click to trigger the authorization code login flow.", "type": "string" } }, @@ -2916,18 +2977,18 @@ "properties": { "authorizationCodeLink": { "$ref": "AuthorizationCodeLink", - "description": "Authorization code link options. To be populated if `ValueType` is `AUTHORIZATION_CODE`" + "description": "Optional. Authorization code link options. To be populated if `ValueType` is `AUTHORIZATION_CODE`" }, "description": { - "description": "Description.", + "description": "Optional. Description.", "type": "string" }, "displayName": { - "description": "Display name of the parameter.", + "description": "Optional. Display name of the parameter.", "type": "string" }, "enumOptions": { - "description": "Enum options. To be populated if `ValueType` is `ENUM`", + "description": "Optional. Enum options. To be populated if `ValueType` is `ENUM`", "items": { "$ref": "EnumOption" }, @@ -2946,11 +3007,11 @@ "type": "string" }, "isAdvanced": { - "description": "Indicates if current template is part of advanced settings", + "description": "Optional. Indicates if current template is part of advanced settings", "type": "boolean" }, "key": { - "description": "Key of the config variable.", + "description": "Optional. Key of the config variable.", "type": "string" }, "locationType": { @@ -2976,19 +3037,19 @@ "description": "Optional. MultipleSelectConfig represents the multiple options for a config variable." }, "required": { - "description": "Flag represents that this `ConfigVariable` must be provided for a connection.", + "description": "Optional. Flag represents that this `ConfigVariable` must be provided for a connection.", "type": "boolean" }, "requiredCondition": { "$ref": "LogicalExpression", - "description": "Condition under which a field would be required. The condition can be represented in the form of a logical expression." + "description": "Optional. Condition under which a field would be required. The condition can be represented in the form of a logical expression." }, "roleGrant": { "$ref": "RoleGrant", - "description": "Role grant configuration for the config variable." + "description": "Optional. Role grant configuration for the config variable." }, "state": { - "description": "State of the config variable.", + "description": "Output only. State of the config variable.", "enum": [ "STATE_UNSPECIFIED", "ACTIVE", @@ -2999,14 +3060,15 @@ "Config variable is active", "Config variable is deprecated." ], + "readOnly": true, "type": "string" }, "validationRegex": { - "description": "Regular expression in RE2 syntax used for validating the `value` of a `ConfigVariable`.", + "description": "Optional. Regular expression in RE2 syntax used for validating the `value` of a `ConfigVariable`.", "type": "string" }, "valueType": { - "description": "Type of the parameter: string, int, bool etc. consider custom type for the benefit for the validation.", + "description": "Optional. Type of the parameter: string, int, bool etc. consider custom type for the benefit for the validation.", "enum": [ "VALUE_TYPE_UNSPECIFIED", "STRING", @@ -3084,6 +3146,7 @@ "PREVIEW", "GA", "DEPRECATED", + "TEST", "PRIVATE_PREVIEW" ], "enumDescriptions": [ @@ -3091,6 +3154,7 @@ "PREVIEW.", "GA.", "DEPRECATED.", + "TEST.", "PRIVATE_PREVIEW." ], "readOnly": true, @@ -3411,6 +3475,7 @@ "PREVIEW", "GA", "DEPRECATED", + "TEST", "PRIVATE_PREVIEW" ], "enumDescriptions": [ @@ -3418,11 +3483,17 @@ "PREVIEW.", "GA.", "DEPRECATED.", + "TEST.", "PRIVATE_PREVIEW." ], "readOnly": true, "type": "string" }, + "marketplaceConnectorDetails": { + "$ref": "MarketplaceConnectorDetails", + "description": "Output only. Marketplace connector details. Will be null if the connector is not marketplace connector.", + "readOnly": true + }, "name": { "description": "Output only. Resource name of the Connector. Format: projects/{project}/locations/{location}/providers/{provider}/connectors/{connector} Only global location is supported for Connector resource.", "readOnly": true, @@ -3463,6 +3534,10 @@ "format": "int64", "type": "string" }, + "connectorVersioningEnabled": { + "description": "Indicate whether connector versioning is enabled.", + "type": "boolean" + }, "deploymentModel": { "description": "Indicate whether connector is deployed on GKE/CloudRun", "enum": [ @@ -3612,6 +3687,7 @@ "PREVIEW", "GA", "DEPRECATED", + "TEST", "PRIVATE_PREVIEW" ], "enumDescriptions": [ @@ -3619,6 +3695,7 @@ "PREVIEW.", "GA.", "DEPRECATED.", + "TEST.", "PRIVATE_PREVIEW." ], "readOnly": true, @@ -3717,7 +3794,7 @@ "type": "string" }, "deploymentModel": { - "description": "Optional. Indicates whether connector is deployed on GKE/CloudRun", + "description": "Output only. Indicates whether connector is deployed on GKE/CloudRun", "enum": [ "DEPLOYMENT_MODEL_UNSPECIFIED", "GKE_MST", @@ -3728,6 +3805,7 @@ "Default model gke mst.", "Cloud run mst." ], + "readOnly": true, "type": "string" }, "deploymentModelMigrationState": { @@ -3852,6 +3930,14 @@ "readOnly": true, "type": "array" }, + "allMarketplaceVersions": { + "description": "Output only. All marketplace versions.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, "createTime": { "description": "Output only. Created time.", "format": "google-datetime", @@ -3895,6 +3981,14 @@ "description": "Identifier. Resource name of the CustomConnector. Format: projects/{project}/locations/{location}/customConnectors/{connector}", "type": "string" }, + "publishedMarketplaceVersions": { + "description": "Output only. Published marketplace versions.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, "updateTime": { "description": "Output only. Updated time.", "format": "google-datetime", @@ -3948,6 +4042,15 @@ "readOnly": true, "type": "string" }, + "partnerMetadata": { + "$ref": "PartnerMetadata", + "description": "Optional. Partner metadata details. This should be populated only when publishing the custom connector to partner connector." + }, + "publishStatus": { + "$ref": "PublishStatus", + "description": "Output only. Publish status of a custom connector.", + "readOnly": true + }, "serviceAccount": { "description": "Optional. Service account used by runtime plane to access auth config secrets.", "type": "string" @@ -4336,11 +4439,11 @@ "id": "EnumOption", "properties": { "displayName": { - "description": "Display name of the option.", + "description": "Optional. Display name of the option.", "type": "string" }, "id": { - "description": "Id of the option.", + "description": "Optional. Id of the option.", "type": "string" } }, @@ -4416,11 +4519,15 @@ "description": "type of the destination", "enum": [ "TYPE_UNSPECIFIED", - "ENDPOINT" + "ENDPOINT", + "GCS", + "PUBSUB" ], "enumDescriptions": [ "Default state.", - "Endpoint - Hit the value of endpoint when event is received" + "Endpoint - Hit the value of endpoint when event is received", + "Cloud Storage - Write the event to Cloud Storage bucket", + "Pub/Sub - Write the event to Pub/Sub topic" ], "type": "string" } @@ -4514,7 +4621,7 @@ "id": "EventingConfig", "properties": { "additionalVariables": { - "description": "Additional eventing related field values", + "description": "Optional. Additional eventing related field values", "items": { "$ref": "ConfigVariable" }, @@ -4522,14 +4629,14 @@ }, "authConfig": { "$ref": "AuthConfig", - "description": "Auth details for the webhook adapter." + "description": "Optional. Auth details for the webhook adapter." }, "deadLetterConfig": { "$ref": "DeadLetterConfig", "description": "Optional. Dead letter configuration for eventing of a connection." }, "enrichmentEnabled": { - "description": "Enrichment Enabled.", + "description": "Optional. Enrichment Enabled.", "type": "boolean" }, "eventsListenerIngressEndpoint": { @@ -4550,7 +4657,7 @@ }, "registrationDestinationConfig": { "$ref": "DestinationConfig", - "description": "Registration endpoint for auto registration." + "description": "Optional. Registration endpoint for auto registration." } }, "type": "object" @@ -4663,6 +4770,7 @@ "PREVIEW", "GA", "DEPRECATED", + "TEST", "PRIVATE_PREVIEW" ], "enumDescriptions": [ @@ -4670,6 +4778,7 @@ "PREVIEW.", "GA.", "DEPRECATED.", + "TEST.", "PRIVATE_PREVIEW." ], "readOnly": true, @@ -4729,6 +4838,11 @@ "$ref": "WebhookData", "description": "Output only. Webhook data.", "readOnly": true + }, + "webhookSubscriptions": { + "$ref": "WebhookSubscriptions", + "description": "Output only. Webhook subscriptions.", + "readOnly": true } }, "type": "object" @@ -5029,7 +5143,7 @@ "type": "boolean" }, "comparator": { - "description": "Comparator to use for comparing the field value.", + "description": "Optional. Comparator to use for comparing the field value.", "enum": [ "COMPARATOR_UNSPECIFIED", "EQUALS", @@ -5048,7 +5162,7 @@ "type": "string" }, "key": { - "description": "Key of the field.", + "description": "Optional. Key of the field.", "type": "string" }, "stringValue": { @@ -6064,21 +6178,21 @@ "id": "LogicalExpression", "properties": { "fieldComparisons": { - "description": "A list of fields to be compared.", + "description": "Optional. A list of fields to be compared.", "items": { "$ref": "FieldComparison" }, "type": "array" }, "logicalExpressions": { - "description": "A list of nested conditions to be compared.", + "description": "Optional. A list of nested conditions to be compared.", "items": { "$ref": "LogicalExpression" }, "type": "array" }, "logicalOperator": { - "description": "The logical operator to use between the fields and conditions.", + "description": "Optional. The logical operator to use between the fields and conditions.", "enum": [ "OPERATOR_UNSPECIFIED", "AND", @@ -6259,6 +6373,29 @@ }, "type": "object" }, + "MarketplaceConnectorDetails": { + "description": "Marketplace connector details.", + "id": "MarketplaceConnectorDetails", + "properties": { + "marketplaceProduct": { + "description": "Marketplace product name.", + "type": "string" + }, + "marketplaceProductId": { + "description": "Marketplace product ID.", + "type": "string" + }, + "marketplaceProductUri": { + "description": "Marketplace product URL.", + "type": "string" + }, + "partner": { + "description": "The name of the partner.", + "type": "string" + } + }, + "type": "object" + }, "MultipleSelectConfig": { "description": "MultipleSelectConfig represents the multiple options for a config variable.", "id": "MultipleSelectConfig", @@ -6556,6 +6693,75 @@ }, "type": "object" }, + "PartnerMetadata": { + "description": "Partner metadata details. This will be populated when publishing the custom connector as a partner connector version. On publishing, parntner connector version will be created using the fields in PartnerMetadata.", + "id": "PartnerMetadata", + "properties": { + "acceptGcpTos": { + "description": "Required. Whether the user has accepted the Google Cloud Platform Terms of Service (https://cloud.google.com/terms/) and the Google Cloud Marketplace Terms of Service (https://cloud.google.com/terms/marketplace/launcher?hl=en).", + "type": "boolean" + }, + "additionalComments": { + "description": "Optional. Additional comments for the submission.", + "type": "string" + }, + "confirmPartnerRequirements": { + "description": "Required. Confirmation that connector meets all applicable requirements mentioned in the Partner Connector Publishing requirements list and Partner onboardiong requirements list (https://cloud.google.com/marketplace/docs/partners/get-started#requirements).", + "type": "boolean" + }, + "demoUri": { + "description": "Required. Public URL for the demo video.", + "type": "string" + }, + "integrationTemplates": { + "description": "Required. Integration example templates for the custom connector.", + "type": "string" + }, + "marketplaceProduct": { + "description": "Optional. Marketplace product name.", + "type": "string" + }, + "marketplaceProductId": { + "description": "Required. Marketplace product ID.", + "type": "string" + }, + "marketplaceProductProjectId": { + "description": "Optional. Marketplace product project ID.", + "type": "string" + }, + "marketplaceProductUri": { + "description": "Optional. Marketplace product URL.", + "type": "string" + }, + "partner": { + "description": "Required. Partner name.", + "type": "string" + }, + "partnerConnectorDisplayName": { + "description": "Required. Partner connector display name.", + "type": "string" + }, + "publishRequestTime": { + "description": "Output only. Publish request time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "targetApplication": { + "description": "Required. Target application for which partner connector is built.", + "type": "string" + }, + "targetCustomerSegment": { + "description": "Required. Target customer segment for the partner connector.", + "type": "string" + }, + "useCases": { + "description": "Required. Details about partner connector use cases.", + "type": "string" + } + }, + "type": "object" + }, "PerSliSloEligibility": { "description": "PerSliSloEligibility is a mapping from an SLI name to eligibility.", "id": "PerSliSloEligibility", @@ -6646,6 +6852,7 @@ "PREVIEW", "GA", "DEPRECATED", + "TEST", "PRIVATE_PREVIEW" ], "enumDescriptions": [ @@ -6653,6 +6860,7 @@ "PREVIEW.", "GA.", "DEPRECATED.", + "TEST.", "PRIVATE_PREVIEW." ], "readOnly": true, @@ -6692,6 +6900,57 @@ }, "type": "object" }, + "PublishCustomConnectorVersionRequest": { + "description": "Request message for ConnectorsService.PublishCustomConnectorVersion", + "id": "PublishCustomConnectorVersionRequest", + "properties": { + "partnerMetadata": { + "$ref": "PartnerMetadata", + "description": "Required. Partner metadata details for validating and publishing the custom connector as a partner connector version." + } + }, + "type": "object" + }, + "PublishStatus": { + "description": "Publish status of a custom connector.", + "id": "PublishStatus", + "properties": { + "publishState": { + "description": "Output only. Publish state of the custom connector.", + "enum": [ + "PUBLISH_STATE_UNSPECIFIED", + "PUBLISHED", + "PUBLISH_IN_PROGRESS", + "UNPUBLISHED" + ], + "enumDescriptions": [ + "State Unspecified.", + "Connector version has been published as partner connector version.", + "Connector version is in the process of being published as partner connector version.", + "Connector version has been unpublished as partner connector version" + ], + "readOnly": true, + "type": "string" + }, + "publishTime": { + "description": "Output only. Publish time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "publishedAs": { + "description": "Output only. Partner connector name. Will be set on the custom connector. Format: providers/partner/connectors//versions/", + "readOnly": true, + "type": "string" + }, + "publishedSource": { + "description": "Output only. Custom connector name. Will be set on the partner connector. Format: providers/customconnectors/connectors//versions/", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "RefreshConnectionSchemaMetadataRequest": { "description": "Request message for ConnectorsService.RefreshConnectionSchemaMetadata.", "id": "RefreshConnectionSchemaMetadataRequest", @@ -6734,11 +6993,11 @@ "id": "Resource", "properties": { "pathTemplate": { - "description": "Template to uniquely represent a Google Cloud resource in a format IAM expects This is a template that can have references to other values provided in the config variable template.", + "description": "Optional. Template to uniquely represent a Google Cloud resource in a format IAM expects This is a template that can have references to other values provided in the config variable template.", "type": "string" }, "type": { - "description": "Different types of resource supported.", + "description": "Optional. Different types of resource supported.", "enum": [ "TYPE_UNSPECIFIED", "GCP_PROJECT", @@ -6975,11 +7234,11 @@ "id": "RoleGrant", "properties": { "helperTextTemplate": { - "description": "Template that UI can use to provide helper text to customers.", + "description": "Optional. Template that UI can use to provide helper text to customers.", "type": "string" }, "principal": { - "description": "Prinicipal/Identity for whom the role need to assigned.", + "description": "Optional. Prinicipal/Identity for whom the role need to assigned.", "enum": [ "PRINCIPAL_UNSPECIFIED", "CONNECTOR_SA" @@ -6992,10 +7251,10 @@ }, "resource": { "$ref": "Resource", - "description": "Resource on which the roles needs to be granted for the principal." + "description": "Optional. Resource on which the roles needs to be granted for the principal." }, "roles": { - "description": "List of roles that need to be granted.", + "description": "Optional. List of roles that need to be granted.", "items": { "type": "string" }, @@ -7036,6 +7295,11 @@ "readOnly": true, "type": "array" }, + "inputSchemaAsString": { + "description": "Output only. Input schema as string.", + "readOnly": true, + "type": "string" + }, "resultJsonSchema": { "$ref": "JsonSchema", "description": "Output only. JsonSchema representation of this action's result metadata", @@ -7048,6 +7312,11 @@ }, "readOnly": true, "type": "array" + }, + "resultSchemaAsString": { + "description": "Output only. Result schema as string.", + "readOnly": true, + "type": "string" } }, "type": "object" @@ -7427,14 +7696,14 @@ "id": "SslConfig", "properties": { "additionalVariables": { - "description": "Additional SSL related field values", + "description": "Optional. Additional SSL related field values", "items": { "$ref": "ConfigVariable" }, "type": "array" }, "clientCertType": { - "description": "Type of Client Cert (PEM/JKS/.. etc.)", + "description": "Optional. Type of Client Cert (PEM/JKS/.. etc.)", "enum": [ "CERT_TYPE_UNSPECIFIED", "PEM" @@ -7447,22 +7716,22 @@ }, "clientCertificate": { "$ref": "Secret", - "description": "Client Certificate" + "description": "Optional. Client Certificate" }, "clientPrivateKey": { "$ref": "Secret", - "description": "Client Private Key" + "description": "Optional. Client Private Key" }, "clientPrivateKeyPass": { "$ref": "Secret", - "description": "Secret containing the passphrase protecting the Client Private Key" + "description": "Optional. Secret containing the passphrase protecting the Client Private Key" }, "privateServerCertificate": { "$ref": "Secret", - "description": "Private Server Certificate. Needs to be specified if trust model is `PRIVATE`." + "description": "Optional. Private Server Certificate. Needs to be specified if trust model is `PRIVATE`." }, "serverCertType": { - "description": "Type of Server Cert (PEM/JKS/.. etc.)", + "description": "Optional. Type of Server Cert (PEM/JKS/.. etc.)", "enum": [ "CERT_TYPE_UNSPECIFIED", "PEM" @@ -7474,7 +7743,7 @@ "type": "string" }, "trustModel": { - "description": "Trust Model of the SSL connection", + "description": "Optional. Trust Model of the SSL connection", "enum": [ "PUBLIC", "PRIVATE", @@ -7488,7 +7757,7 @@ "type": "string" }, "type": { - "description": "Controls the ssl type for the given connector version.", + "description": "Optional. Controls the ssl type for the given connector version.", "enum": [ "SSL_TYPE_UNSPECIFIED", "TLS", @@ -7502,7 +7771,7 @@ "type": "string" }, "useSsl": { - "description": "Bool for enabling SSL", + "description": "Optional. Bool for enabling SSL", "type": "boolean" } }, @@ -7671,22 +7940,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } @@ -7829,6 +8098,21 @@ }, "type": "object" }, + "WebhookSubscriptions": { + "description": "WebhookSubscriptions has details of webhook subscriptions.", + "id": "WebhookSubscriptions", + "properties": { + "webhookData": { + "description": "Output only. Webhook data.", + "items": { + "$ref": "WebhookData" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, "WeeklyCycle": { "description": "Time window specified for weekly operations.", "id": "WeeklyCycle", @@ -7842,6 +8126,12 @@ } }, "type": "object" + }, + "WithdrawCustomConnectorVersionRequest": { + "description": "Request message for ConnectorsService.WithdrawCustomConnectorVersion", + "id": "WithdrawCustomConnectorVersionRequest", + "properties": {}, + "type": "object" } }, "servicePath": "", diff --git a/discovery/connectors-v2.json b/discovery/connectors-v2.json index 080f2b678a..dbdc7540aa 100644 --- a/discovery/connectors-v2.json +++ b/discovery/connectors-v2.json @@ -660,7 +660,7 @@ } } }, - "revision": "20240729", + "revision": "20241015", "rootUrl": "https://connectors.googleapis.com/", "schemas": { "AccessCredentials": { @@ -2403,22 +2403,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } diff --git a/discovery/contactcenteraiplatform-v1alpha1.json b/discovery/contactcenteraiplatform-v1alpha1.json index ac2e60fa84..14da7cf56d 100644 --- a/discovery/contactcenteraiplatform-v1alpha1.json +++ b/discovery/contactcenteraiplatform-v1alpha1.json @@ -387,7 +387,7 @@ "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`.", + "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": "v1alpha1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "contactcenteraiplatform.projects.locations.operations.cancel", @@ -512,7 +512,7 @@ } } }, - "revision": "20240904", + "revision": "20241205", "rootUrl": "https://contactcenteraiplatform.googleapis.com/", "schemas": { "AdminUser": { @@ -555,7 +555,7 @@ "type": "object" }, "ContactCenter": { - "description": "Message describing ContactCenter object Next ID: 23", + "description": "Message describing ContactCenter object Next ID: 24", "id": "ContactCenter", "properties": { "adminUser": { @@ -738,7 +738,7 @@ "type": "string" }, "cancelRequested": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -792,7 +792,11 @@ "MULTIREGION_LARGE", "MULTIREGION_XLARGE", "MULTIREGION_2XLARGE", - "MULTIREGION_3XLARGE" + "MULTIREGION_3XLARGE", + "DEV_SMALL", + "SANDBOX_SMALL", + "TRIAL_SMALL", + "TIME_LIMITED_TRIAL_SMALL" ], "enumDescriptions": [ "The default value. This value is used if the state is omitted.", @@ -808,7 +812,11 @@ "Instance Size MULTIREGION_LARGE", "Instance Size MULTIREGION_XLARGE", "Instance Size MULTIREGION_2XLARGE.", - "Instance Size MULTIREGION_3XLARGE." + "Instance Size MULTIREGION_3XLARGE.", + "Instance Size DEV_SMALL", + "Instance Size SANDBOX_SMALL", + "Instance Size TRIAL_SMALL", + "Instance Size TIME_LIMITED_TRIAL_SMALL" ], "type": "string" } @@ -1076,7 +1084,11 @@ "MULTIREGION_LARGE", "MULTIREGION_XLARGE", "MULTIREGION_2XLARGE", - "MULTIREGION_3XLARGE" + "MULTIREGION_3XLARGE", + "DEV_SMALL", + "SANDBOX_SMALL", + "TRIAL_SMALL", + "TIME_LIMITED_TRIAL_SMALL" ], "enumDescriptions": [ "The default value. This value is used if the state is omitted.", @@ -1092,7 +1104,11 @@ "Instance Size MULTIREGION_LARGE", "Instance Size MULTIREGION_XLARGE", "Instance Size MULTIREGION_2XLARGE.", - "Instance Size MULTIREGION_3XLARGE." + "Instance Size MULTIREGION_3XLARGE.", + "Instance Size DEV_SMALL", + "Instance Size SANDBOX_SMALL", + "Instance Size TRIAL_SMALL", + "Instance Size TIME_LIMITED_TRIAL_SMALL" ], "type": "string" } @@ -1220,22 +1236,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } diff --git a/discovery/contactcenterinsights-v1.json b/discovery/contactcenterinsights-v1.json index da15fa5174..d755923c7f 100644 --- a/discovery/contactcenterinsights-v1.json +++ b/discovery/contactcenterinsights-v1.json @@ -109,6 +109,62 @@ "resources": { "locations": { "methods": { + "bulkDownloadFeedbackLabels": { + "description": "Download feedback labels in bulk.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:bulkDownloadFeedbackLabels", + "httpMethod": "POST", + "id": "contactcenterinsights.projects.locations.bulkDownloadFeedbackLabels", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource for new feedback labels.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}:bulkDownloadFeedbackLabels", + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "bulkUploadFeedbackLabels": { + "description": "Upload feedback labels in bulk.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:bulkUploadFeedbackLabels", + "httpMethod": "POST", + "id": "contactcenterinsights.projects.locations.bulkUploadFeedbackLabels", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource for new feedback labels.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}:bulkUploadFeedbackLabels", + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1BulkUploadFeedbackLabelsRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "getEncryptionSpec": { "description": "Gets location-level encryption key specification.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/encryptionSpec", @@ -159,6 +215,75 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "listAllFeedbackLabels": { + "description": "List all feedback labels by project number.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:listAllFeedbackLabels", + "httpMethod": "GET", + "id": "contactcenterinsights.projects.locations.listAllFeedbackLabels", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. A filter to reduce results to a specific subset in the entire project. Supports disjunctions (OR) and conjunctions (AND). Supported fields: * `issue_model_id` * `qa_question_id` * `min_create_time` * `max_create_time` * `min_update_time` * `max_update_time` * `feedback_label_type`: QUALITY_AI, TOPIC_MODELING", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of feedback labels to return in the response. A valid page size ranges from 0 to 100,000 inclusive. If the page size is zero or unspecified, a default page size of 100 will be chosen. Note that a call might return fewer results than the requested page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The value returned by the last `ListAllFeedbackLabelsResponse`. This value indicates that this is a continuation of a prior `ListAllFeedbackLabels` call and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource of all feedback labels per project.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}:listAllFeedbackLabels", + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1ListAllFeedbackLabelsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "queryMetrics": { + "description": "Query metrics.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:queryMetrics", + "httpMethod": "POST", + "id": "contactcenterinsights.projects.locations.queryMetrics", + "parameterOrder": [ + "location" + ], + "parameters": { + "location": { + "description": "Required. The location of the data. \"projects/{project}/locations/{location}\"", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+location}:queryMetrics", + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1QueryMetricsRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "updateSettings": { "description": "Updates project-level settings.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/settings", @@ -195,6 +320,230 @@ } }, "resources": { + "analysisRules": { + "methods": { + "create": { + "description": "Creates a analysis rule.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/analysisRules", + "httpMethod": "POST", + "id": "contactcenterinsights.projects.locations.analysisRules.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the analysis rule. Required. The location to create a analysis rule for. Format: `projects//locations/` or `projects//locations/`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/analysisRules", + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1AnalysisRule" + }, + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1AnalysisRule" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a analysis rule.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/analysisRules/{analysisRulesId}", + "httpMethod": "DELETE", + "id": "contactcenterinsights.projects.locations.analysisRules.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the analysis rule to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/analysisRules/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get a analysis rule.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/analysisRules/{analysisRulesId}", + "httpMethod": "GET", + "id": "contactcenterinsights.projects.locations.analysisRules.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the AnalysisRule to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/analysisRules/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1AnalysisRule" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists analysis rules.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/analysisRules", + "httpMethod": "GET", + "id": "contactcenterinsights.projects.locations.analysisRules.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of analysis rule to return in the response. If this value is zero, the service will select a default size. A call may return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The value returned by the last `ListAnalysisRulesResponse`; indicates that this is a continuation of a prior `ListAnalysisRules` call and the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource of the analysis rules.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/analysisRules", + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1ListAnalysisRulesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a analysis rule.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/analysisRules/{analysisRulesId}", + "httpMethod": "PATCH", + "id": "contactcenterinsights.projects.locations.analysisRules.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the analysis rule. Format: projects/{project}/locations/{location}/analysisRules/{analysis_rule}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/analysisRules/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The list of fields to be updated. If the update_mask is not provided, the update will be applied to all fields.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1AnalysisRule" + }, + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1AnalysisRule" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "authorizedViewSets": { + "resources": { + "authorizedViews": { + "methods": { + "queryMetrics": { + "description": "Query metrics.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/authorizedViewSets/{authorizedViewSetsId}/authorizedViews/{authorizedViewsId}:queryMetrics", + "httpMethod": "POST", + "id": "contactcenterinsights.projects.locations.authorizedViewSets.authorizedViews.queryMetrics", + "parameterOrder": [ + "location" + ], + "parameters": { + "location": { + "description": "Required. The location of the data. \"projects/{project}/locations/{location}\"", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/authorizedViewSets/[^/]+/authorizedViews/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+location}:queryMetrics", + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1QueryMetricsRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "conversations": { + "methods": { + "calculateStats": { + "description": "Gets conversation statistics.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/authorizedViewSets/{authorizedViewSetsId}/authorizedViews/{authorizedViewsId}/conversations:calculateStats", + "httpMethod": "GET", + "id": "contactcenterinsights.projects.locations.authorizedViewSets.authorizedViews.conversations.calculateStats", + "parameterOrder": [ + "location" + ], + "parameters": { + "filter": { + "description": "A filter to reduce results to a specific subset. This field is useful for getting statistics about conversations with specific properties.", + "location": "query", + "type": "string" + }, + "location": { + "description": "Required. The location of the conversations.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/authorizedViewSets/[^/]+/authorizedViews/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+location}/conversations:calculateStats", + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1CalculateStatsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + }, "conversations": { "methods": { "bulkAnalyze": { @@ -661,48 +1010,210 @@ ] } } - } - } - }, - "encryptionSpec": { - "methods": { - "initialize": { - "description": "Initializes a location-level encryption key specification. An error will be thrown if the location has resources already created before the initialization. Once the encryption specification is initialized at a location, it is immutable and all newly created resources under the location will be encrypted with the existing specification.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/encryptionSpec:initialize", - "httpMethod": "POST", - "id": "contactcenterinsights.projects.locations.encryptionSpec.initialize", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Immutable. The resource name of the encryption key specification resource. Format: projects/{project}/locations/{location}/encryptionSpec", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/encryptionSpec$", - "required": true, - "type": "string" - } - }, - "path": "v1/{+name}:initialize", - "request": { - "$ref": "GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecRequest" - }, - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - }, - "insightsdata": { - "methods": { - "export": { - "description": "Export insights data to a destination defined in the request body.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/insightsdata:export", - "httpMethod": "POST", - "id": "contactcenterinsights.projects.locations.insightsdata.export", + }, + "feedbackLabels": { + "methods": { + "create": { + "description": "Create feedback label.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}/feedbackLabels", + "httpMethod": "POST", + "id": "contactcenterinsights.projects.locations.conversations.feedbackLabels.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "feedbackLabelId": { + "description": "Optional. The ID of the feedback label to create. If one is not specified it will be generated by the server.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource of the feedback label.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/feedbackLabels", + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1FeedbackLabel" + }, + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1FeedbackLabel" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete feedback label.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}/feedbackLabels/{feedbackLabelsId}", + "httpMethod": "DELETE", + "id": "contactcenterinsights.projects.locations.conversations.feedbackLabels.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the feedback label to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+/feedbackLabels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get feedback label.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}/feedbackLabels/{feedbackLabelsId}", + "httpMethod": "GET", + "id": "contactcenterinsights.projects.locations.conversations.feedbackLabels.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the feedback label to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+/feedbackLabels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1FeedbackLabel" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List feedback labels.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}/feedbackLabels", + "httpMethod": "GET", + "id": "contactcenterinsights.projects.locations.conversations.feedbackLabels.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. A filter to reduce results to a specific subset. Supports disjunctions (OR) and conjunctions (AND). Automatically sorts by conversation ID. To sort by all feedback labels in a project see ListAllFeedbackLabels. Supported fields: * `issue_model_id` * `qa_question_id` * `qa_scorecard_id` * `min_create_time` * `max_create_time` * `min_update_time` * `max_update_time` * `feedback_label_type`: QUALITY_AI, TOPIC_MODELING", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of feedback labels to return in the response. A valid page size ranges from 0 to 100,000 inclusive. If the page size is zero or unspecified, a default page size of 100 will be chosen. Note that a call might return fewer results than the requested page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The value returned by the last `ListFeedbackLabelsResponse`. This value indicates that this is a continuation of a prior `ListFeedbackLabels` call and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource of the feedback labels.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/feedbackLabels", + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1ListFeedbackLabelsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update feedback label.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/conversations/{conversationsId}/feedbackLabels/{feedbackLabelsId}", + "httpMethod": "PATCH", + "id": "contactcenterinsights.projects.locations.conversations.feedbackLabels.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. Resource name of the FeedbackLabel. Format: projects/{project}/locations/{location}/conversations/{conversation}/feedbackLabels/{feedback_label}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/conversations/[^/]+/feedbackLabels/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The list of fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1FeedbackLabel" + }, + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1FeedbackLabel" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "encryptionSpec": { + "methods": { + "initialize": { + "description": "Initializes a location-level encryption key specification. An error will result if the location has resources already created before the initialization. After the encryption specification is initialized at a location, it is immutable and all newly created resources under the location will be encrypted with the existing specification.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/encryptionSpec:initialize", + "httpMethod": "POST", + "id": "contactcenterinsights.projects.locations.encryptionSpec.initialize", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. The resource name of the encryption key specification resource. Format: projects/{project}/locations/{location}/encryptionSpec", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/encryptionSpec$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:initialize", + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "insightsdata": { + "methods": { + "export": { + "description": "Export insights data to a destination defined in the request body.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/insightsdata:export", + "httpMethod": "POST", + "id": "contactcenterinsights.projects.locations.insightsdata.export", "parameterOrder": [ "parent" ], @@ -1008,6 +1519,34 @@ "resources": { "issues": { "methods": { + "create": { + "description": "Creates an issue.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}/issues", + "httpMethod": "POST", + "id": "contactcenterinsights.projects.locations.issueModels.issues.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the issue.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/issueModels/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/issues", + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1Issue" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "delete": { "description": "Deletes an issue.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/issueModels/{issueModelsId}/issues/{issuesId}", @@ -1124,7 +1663,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "contactcenterinsights.projects.locations.operations.cancel", @@ -1373,49 +1912,59 @@ } } }, - "views": { + "qaScorecards": { "methods": { "create": { - "description": "Creates a view.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/views", + "description": "Create a QaScorecard.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards", "httpMethod": "POST", - "id": "contactcenterinsights.projects.locations.views.create", + "id": "contactcenterinsights.projects.locations.qaScorecards.create", "parameterOrder": [ "parent" ], "parameters": { "parent": { - "description": "Required. The parent resource of the view. Required. The location to create a view for. Format: `projects//locations/` or `projects//locations/`", + "description": "Required. The parent resource of the QaScorecard.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" + }, + "qaScorecardId": { + "description": "Optional. A unique ID for the new QaScorecard. This ID will become the final component of the QaScorecard's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z0-9-]{4,64}$`. Valid characters are `a-z-`.", + "location": "query", + "type": "string" } }, - "path": "v1/{+parent}/views", + "path": "v1/{+parent}/qaScorecards", "request": { - "$ref": "GoogleCloudContactcenterinsightsV1View" + "$ref": "GoogleCloudContactcenterinsightsV1QaScorecard" }, "response": { - "$ref": "GoogleCloudContactcenterinsightsV1View" + "$ref": "GoogleCloudContactcenterinsightsV1QaScorecard" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "delete": { - "description": "Deletes a view.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/views/{viewsId}", + "description": "Deletes a QaScorecard.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}", "httpMethod": "DELETE", - "id": "contactcenterinsights.projects.locations.views.delete", + "id": "contactcenterinsights.projects.locations.qaScorecards.delete", "parameterOrder": [ "name" ], "parameters": { + "force": { + "description": "Optional. If set to true, all of this QaScorecard's child resources will also be deleted. Otherwise, the request will only succeed if it has none.", + "location": "query", + "type": "boolean" + }, "name": { - "description": "Required. The name of the view to delete.", + "description": "Required. The name of the QaScorecard to delete.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/views/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+$", "required": true, "type": "string" } @@ -1429,84 +1978,84 @@ ] }, "get": { - "description": "Gets a view.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/views/{viewsId}", + "description": "Gets a QaScorecard.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}", "httpMethod": "GET", - "id": "contactcenterinsights.projects.locations.views.get", + "id": "contactcenterinsights.projects.locations.qaScorecards.get", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "Required. The name of the view to get.", + "description": "Required. The name of the QaScorecard to get.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/views/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+$", "required": true, "type": "string" } }, "path": "v1/{+name}", "response": { - "$ref": "GoogleCloudContactcenterinsightsV1View" + "$ref": "GoogleCloudContactcenterinsightsV1QaScorecard" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { - "description": "Lists views.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/views", + "description": "Lists QaScorecards.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards", "httpMethod": "GET", - "id": "contactcenterinsights.projects.locations.views.list", + "id": "contactcenterinsights.projects.locations.qaScorecards.list", "parameterOrder": [ "parent" ], "parameters": { "pageSize": { - "description": "The maximum number of views to return in the response. If this value is zero, the service will select a default size. A call may return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available.", + "description": "Optional. The maximum number of scorecards to return in the response. If the value is zero, the service will select a default size. A call might return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "The value returned by the last `ListViewsResponse`; indicates that this is a continuation of a prior `ListViews` call and the system should return the next page of data.", + "description": "Optional. The value returned by the last `ListQaScorecardsResponse`. This value indicates that this is a continuation of a prior `ListQaScorecards` call and that the system should return the next page of data.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The parent resource of the views.", + "description": "Required. The parent resource of the scorecards.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v1/{+parent}/views", + "path": "v1/{+parent}/qaScorecards", "response": { - "$ref": "GoogleCloudContactcenterinsightsV1ListViewsResponse" + "$ref": "GoogleCloudContactcenterinsightsV1ListQaScorecardsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "patch": { - "description": "Updates a view.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/views/{viewsId}", + "description": "Updates a QaScorecard.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}", "httpMethod": "PATCH", - "id": "contactcenterinsights.projects.locations.views.patch", + "id": "contactcenterinsights.projects.locations.qaScorecards.patch", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "Immutable. The resource name of the view. Format: projects/{project}/locations/{location}/views/{view}", + "description": "Identifier. The scorecard name. Format: projects/{project}/locations/{location}/qaScorecards/{qa_scorecard}", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/views/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "The list of fields to be updated.", + "description": "Required. The list of fields to be updated. All possible fields can be updated by passing `*`, or a subset of the following updateable fields can be provided: * `description` * `display_name`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1514,1073 +2063,2598 @@ }, "path": "v1/{+name}", "request": { - "$ref": "GoogleCloudContactcenterinsightsV1View" + "$ref": "GoogleCloudContactcenterinsightsV1QaScorecard" }, "response": { - "$ref": "GoogleCloudContactcenterinsightsV1View" + "$ref": "GoogleCloudContactcenterinsightsV1QaScorecard" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] } - } - } - } - } - } - } - }, - "revision": "20240925", - "rootUrl": "https://contactcenterinsights.googleapis.com/", - "schemas": { - "GoogleCloudContactcenterinsightsV1Analysis": { - "description": "The analysis resource.", - "id": "GoogleCloudContactcenterinsightsV1Analysis", - "properties": { - "analysisResult": { - "$ref": "GoogleCloudContactcenterinsightsV1AnalysisResult", - "description": "Output only. The result of the analysis, which is populated when the analysis finishes.", - "readOnly": true - }, - "annotatorSelector": { - "$ref": "GoogleCloudContactcenterinsightsV1AnnotatorSelector", - "description": "To select the annotators to run and the phrase matchers to use (if any). If not specified, all annotators will be run." - }, - "createTime": { + }, + "resources": { + "revisions": { + "methods": { + "create": { + "description": "Creates a QaScorecardRevision.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions", + "httpMethod": "POST", + "id": "contactcenterinsights.projects.locations.qaScorecards.revisions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the QaScorecardRevision.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+$", + "required": true, + "type": "string" + }, + "qaScorecardRevisionId": { + "description": "Optional. A unique ID for the new QaScorecardRevision. This ID will become the final component of the QaScorecardRevision's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z0-9-]{4,64}$`. Valid characters are `a-z-`.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/revisions", + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1QaScorecardRevision" + }, + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1QaScorecardRevision" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a QaScorecardRevision.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions/{revisionsId}", + "httpMethod": "DELETE", + "id": "contactcenterinsights.projects.locations.qaScorecards.revisions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "force": { + "description": "Optional. If set to true, all of this QaScorecardRevision's child resources will also be deleted. Otherwise, the request will only succeed if it has none.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The name of the QaScorecardRevision to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "deploy": { + "description": "Deploy a QaScorecardRevision.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions/{revisionsId}:deploy", + "httpMethod": "POST", + "id": "contactcenterinsights.projects.locations.qaScorecards.revisions.deploy", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the QaScorecardRevision to deploy.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:deploy", + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1DeployQaScorecardRevisionRequest" + }, + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1QaScorecardRevision" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a QaScorecardRevision.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions/{revisionsId}", + "httpMethod": "GET", + "id": "contactcenterinsights.projects.locations.qaScorecards.revisions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the QaScorecardRevision to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1QaScorecardRevision" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all revisions under the parent QaScorecard.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions", + "httpMethod": "GET", + "id": "contactcenterinsights.projects.locations.qaScorecards.revisions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. A filter to reduce results to a specific subset. Useful for querying scorecard revisions with specific properties.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of scorecard revisions to return in the response. If the value is zero, the service will select a default size. A call might return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The value returned by the last `ListQaScorecardRevisionsResponse`. This value indicates that this is a continuation of a prior `ListQaScorecardRevisions` call and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource of the scorecard revisions. To list all revisions of all scorecards, substitute the QaScorecard ID with a '-' character.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/revisions", + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1ListQaScorecardRevisionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "tuneQaScorecardRevision": { + "description": "Fine tune one or more QaModels.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions/{revisionsId}:tuneQaScorecardRevision", + "httpMethod": "POST", + "id": "contactcenterinsights.projects.locations.qaScorecards.revisions.tuneQaScorecardRevision", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource for new fine tuning job instance.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}:tuneQaScorecardRevision", + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1TuneQaScorecardRevisionRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "undeploy": { + "description": "Undeploy a QaScorecardRevision.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions/{revisionsId}:undeploy", + "httpMethod": "POST", + "id": "contactcenterinsights.projects.locations.qaScorecards.revisions.undeploy", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the QaScorecardRevision to undeploy.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:undeploy", + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1UndeployQaScorecardRevisionRequest" + }, + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1QaScorecardRevision" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "qaQuestions": { + "methods": { + "create": { + "description": "Create a QaQuestion.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions/{revisionsId}/qaQuestions", + "httpMethod": "POST", + "id": "contactcenterinsights.projects.locations.qaScorecards.revisions.qaQuestions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the QaQuestion.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + }, + "qaQuestionId": { + "description": "Optional. A unique ID for the new question. This ID will become the final component of the question's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z0-9-]{4,64}$`. Valid characters are `a-z-`.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/qaQuestions", + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1QaQuestion" + }, + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1QaQuestion" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a QaQuestion.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions/{revisionsId}/qaQuestions/{qaQuestionsId}", + "httpMethod": "DELETE", + "id": "contactcenterinsights.projects.locations.qaScorecards.revisions.qaQuestions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the QaQuestion to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+/revisions/[^/]+/qaQuestions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a QaQuestion.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions/{revisionsId}/qaQuestions/{qaQuestionsId}", + "httpMethod": "GET", + "id": "contactcenterinsights.projects.locations.qaScorecards.revisions.qaQuestions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the QaQuestion to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+/revisions/[^/]+/qaQuestions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1QaQuestion" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists QaQuestions.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions/{revisionsId}/qaQuestions", + "httpMethod": "GET", + "id": "contactcenterinsights.projects.locations.qaScorecards.revisions.qaQuestions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of questions to return in the response. If the value is zero, the service will select a default size. A call might return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The value returned by the last `ListQaQuestionsResponse`. This value indicates that this is a continuation of a prior `ListQaQuestions` call and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource of the questions.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/qaQuestions", + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1ListQaQuestionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a QaQuestion.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/qaScorecards/{qaScorecardsId}/revisions/{revisionsId}/qaQuestions/{qaQuestionsId}", + "httpMethod": "PATCH", + "id": "contactcenterinsights.projects.locations.qaScorecards.revisions.qaQuestions.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the question. Format: projects/{project}/locations/{location}/qaScorecards/{qa_scorecard}/revisions/{revision}/qaQuestions/{qa_question}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/qaScorecards/[^/]+/revisions/[^/]+/qaQuestions/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The list of fields to be updated. All possible fields can be updated by passing `*`, or a subset of the following updateable fields can be provided: * `abbreviation` * `answer_choices` * `answer_instructions` * `order` * `question_body` * `tags`", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1QaQuestion" + }, + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1QaQuestion" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + }, + "views": { + "methods": { + "create": { + "description": "Creates a view.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/views", + "httpMethod": "POST", + "id": "contactcenterinsights.projects.locations.views.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the view. Required. The location to create a view for. Format: `projects//locations/` or `projects//locations/`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/views", + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1View" + }, + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1View" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a view.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/views/{viewsId}", + "httpMethod": "DELETE", + "id": "contactcenterinsights.projects.locations.views.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the view to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/views/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a view.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/views/{viewsId}", + "httpMethod": "GET", + "id": "contactcenterinsights.projects.locations.views.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the view to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/views/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1View" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists views.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/views", + "httpMethod": "GET", + "id": "contactcenterinsights.projects.locations.views.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of views to return in the response. If this value is zero, the service will select a default size. A call may return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListViewsResponse`; indicates that this is a continuation of a prior `ListViews` call and the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource of the views.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/views", + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1ListViewsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a view.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/views/{viewsId}", + "httpMethod": "PATCH", + "id": "contactcenterinsights.projects.locations.views.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. The resource name of the view. Format: projects/{project}/locations/{location}/views/{view}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/views/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The list of fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1View" + }, + "response": { + "$ref": "GoogleCloudContactcenterinsightsV1View" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20241218", + "rootUrl": "https://contactcenterinsights.googleapis.com/", + "schemas": { + "GoogleCloudContactcenterinsightsV1Analysis": { + "description": "The analysis resource.", + "id": "GoogleCloudContactcenterinsightsV1Analysis", + "properties": { + "analysisResult": { + "$ref": "GoogleCloudContactcenterinsightsV1AnalysisResult", + "description": "Output only. The result of the analysis, which is populated when the analysis finishes.", + "readOnly": true + }, + "annotatorSelector": { + "$ref": "GoogleCloudContactcenterinsightsV1AnnotatorSelector", + "description": "To select the annotators to run and the phrase matchers to use (if any). If not specified, all annotators will be run." + }, + "createTime": { "description": "Output only. The time at which the analysis was created, which occurs when the long-running operation completes.", "format": "google-datetime", "readOnly": true, "type": "string" }, - "name": { - "description": "Immutable. The resource name of the analysis. Format: projects/{project}/locations/{location}/conversations/{conversation}/analyses/{analysis}", + "name": { + "description": "Immutable. The resource name of the analysis. Format: projects/{project}/locations/{location}/conversations/{conversation}/analyses/{analysis}", + "type": "string" + }, + "requestTime": { + "description": "Output only. The time at which the analysis was requested.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1AnalysisResult": { + "description": "The result of an analysis.", + "id": "GoogleCloudContactcenterinsightsV1AnalysisResult", + "properties": { + "callAnalysisMetadata": { + "$ref": "GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadata", + "description": "Call-specific metadata created by the analysis." + }, + "endTime": { + "description": "The time at which the analysis ended.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadata": { + "description": "Call-specific metadata created during analysis.", + "id": "GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadata", + "properties": { + "annotations": { + "description": "A list of call annotations that apply to this call.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1CallAnnotation" + }, + "type": "array" + }, + "entities": { + "additionalProperties": { + "$ref": "GoogleCloudContactcenterinsightsV1Entity" + }, + "description": "All the entities in the call.", + "type": "object" + }, + "intents": { + "additionalProperties": { + "$ref": "GoogleCloudContactcenterinsightsV1Intent" + }, + "description": "All the matched intents in the call.", + "type": "object" + }, + "issueModelResult": { + "$ref": "GoogleCloudContactcenterinsightsV1IssueModelResult", + "description": "Overall conversation-level issue modeling result." + }, + "phraseMatchers": { + "additionalProperties": { + "$ref": "GoogleCloudContactcenterinsightsV1PhraseMatchData" + }, + "description": "All the matched phrase matchers in the call.", + "type": "object" + }, + "qaScorecardResults": { + "description": "Results of scoring QaScorecards.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1QaScorecardResult" + }, + "type": "array" + }, + "sentiments": { + "description": "Overall conversation-level sentiment for each channel of the call.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1ConversationLevelSentiment" + }, + "type": "array" + }, + "silence": { + "$ref": "GoogleCloudContactcenterinsightsV1ConversationLevelSilence", + "description": "Overall conversation-level silence during the call." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1AnalysisRule": { + "description": "The CCAI Insights project wide analysis rule. This rule will be applied to all conversations that match the filter defined in the rule. For a conversation matches the filter, the annotators specified in the rule will be run. If a conversation matches multiple rules, a union of all the annotators will be run. One project can have multiple analysis rules.", + "id": "GoogleCloudContactcenterinsightsV1AnalysisRule", + "properties": { + "active": { + "description": "If true, apply this rule to conversations. Otherwise, this rule is inactive and saved as a draft.", + "type": "boolean" + }, + "analysisPercentage": { + "description": "Percentage of conversations that we should apply this analysis setting automatically, between [0, 1]. For example, 0.1 means 10%. Conversations are sampled in a determenestic way. The original runtime_percentage & upload percentage will be replaced by defining filters on the conversation.", + "format": "double", + "type": "number" + }, + "annotatorSelector": { + "$ref": "GoogleCloudContactcenterinsightsV1AnnotatorSelector", + "description": "Selector of annotators to run and the phrase matchers to use for conversations that matches the conversation_filter. If not specified, NO annotators will be run." + }, + "conversationFilter": { + "description": "Filter for the conversations that should apply this analysis rule. An empty filter means this analysis rule applies to all conversations.", + "type": "string" + }, + "createTime": { + "description": "Output only. The time at which this analysis rule was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Display Name of the analysis rule.", + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the analysis rule. Format: projects/{project}/locations/{location}/analysisRules/{analysis_rule}", + "type": "string" + }, + "updateTime": { + "description": "Output only. The most recent time at which this analysis rule was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1AnnotationBoundary": { + "description": "A point in a conversation that marks the start or the end of an annotation.", + "id": "GoogleCloudContactcenterinsightsV1AnnotationBoundary", + "properties": { + "transcriptIndex": { + "description": "The index in the sequence of transcribed pieces of the conversation where the boundary is located. This index starts at zero.", + "format": "int32", + "type": "integer" + }, + "wordIndex": { + "description": "The word index of this boundary with respect to the first word in the transcript piece. This index starts at zero.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1AnnotatorSelector": { + "description": "Selector of all available annotators and phrase matchers to run.", + "id": "GoogleCloudContactcenterinsightsV1AnnotatorSelector", + "properties": { + "issueModels": { + "description": "The issue model to run. If not provided, the most recently deployed topic model will be used. The provided issue model will only be used for inference if the issue model is deployed and if run_issue_model_annotator is set to true. If more than one issue model is provided, only the first provided issue model will be used for inference.", + "items": { + "type": "string" + }, + "type": "array" + }, + "phraseMatchers": { + "description": "The list of phrase matchers to run. If not provided, all active phrase matchers will be used. If inactive phrase matchers are provided, they will not be used. Phrase matchers will be run only if run_phrase_matcher_annotator is set to true. Format: projects/{project}/locations/{location}/phraseMatchers/{phrase_matcher}", + "items": { + "type": "string" + }, + "type": "array" + }, + "qaConfig": { + "$ref": "GoogleCloudContactcenterinsightsV1AnnotatorSelectorQaConfig", + "description": "Configuration for the QA annotator." + }, + "runEntityAnnotator": { + "description": "Whether to run the entity annotator.", + "type": "boolean" + }, + "runIntentAnnotator": { + "description": "Whether to run the intent annotator.", + "type": "boolean" + }, + "runInterruptionAnnotator": { + "description": "Whether to run the interruption annotator.", + "type": "boolean" + }, + "runIssueModelAnnotator": { + "description": "Whether to run the issue model annotator. A model should have already been deployed for this to take effect.", + "type": "boolean" + }, + "runPhraseMatcherAnnotator": { + "description": "Whether to run the active phrase matcher annotator(s).", + "type": "boolean" + }, + "runQaAnnotator": { + "description": "Whether to run the QA annotator.", + "type": "boolean" + }, + "runSentimentAnnotator": { + "description": "Whether to run the sentiment annotator.", + "type": "boolean" + }, + "runSilenceAnnotator": { + "description": "Whether to run the silence annotator.", + "type": "boolean" + }, + "runSummarizationAnnotator": { + "description": "Whether to run the summarization annotator.", + "type": "boolean" + }, + "summarizationConfig": { + "$ref": "GoogleCloudContactcenterinsightsV1AnnotatorSelectorSummarizationConfig", + "description": "Configuration for the summarization annotator." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1AnnotatorSelectorQaConfig": { + "description": "Configuration for the QA feature.", + "id": "GoogleCloudContactcenterinsightsV1AnnotatorSelectorQaConfig", + "properties": { + "scorecardList": { + "$ref": "GoogleCloudContactcenterinsightsV1AnnotatorSelectorQaConfigScorecardList", + "description": "A manual list of scorecards to score." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1AnnotatorSelectorQaConfigScorecardList": { + "description": "Container for a list of scorecards.", + "id": "GoogleCloudContactcenterinsightsV1AnnotatorSelectorQaConfigScorecardList", + "properties": { + "qaScorecardRevisions": { + "description": "List of QaScorecardRevisions.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1AnnotatorSelectorSummarizationConfig": { + "description": "Configuration for summarization.", + "id": "GoogleCloudContactcenterinsightsV1AnnotatorSelectorSummarizationConfig", + "properties": { + "conversationProfile": { + "description": "Resource name of the Dialogflow conversation profile. Format: projects/{project}/locations/{location}/conversationProfiles/{conversation_profile}", + "type": "string" + }, + "summarizationModel": { + "description": "Default summarization model to be used.", + "enum": [ + "SUMMARIZATION_MODEL_UNSPECIFIED", + "BASELINE_MODEL", + "BASELINE_MODEL_V2_0" + ], + "enumDescriptions": [ + "Unspecified summarization model.", + "The CCAI baseline model.", + "The CCAI baseline model, V2.0." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1AnswerFeedback": { + "description": "The feedback that the customer has about a certain answer in the conversation.", + "id": "GoogleCloudContactcenterinsightsV1AnswerFeedback", + "properties": { + "clicked": { + "description": "Indicates whether an answer or item was clicked by the human agent.", + "type": "boolean" + }, + "correctnessLevel": { + "description": "The correctness level of an answer.", + "enum": [ + "CORRECTNESS_LEVEL_UNSPECIFIED", + "NOT_CORRECT", + "PARTIALLY_CORRECT", + "FULLY_CORRECT" + ], + "enumDescriptions": [ + "Correctness level unspecified.", + "Answer is totally wrong.", + "Answer is partially correct.", + "Answer is fully correct." + ], + "type": "string" + }, + "displayed": { + "description": "Indicates whether an answer or item was displayed to the human agent in the agent desktop UI.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ArticleSuggestionData": { + "description": "Agent Assist Article Suggestion data.", + "id": "GoogleCloudContactcenterinsightsV1ArticleSuggestionData", + "properties": { + "confidenceScore": { + "description": "The system's confidence score that this article is a good match for this conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely certain).", + "format": "float", + "type": "number" + }, + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Map that contains metadata about the Article Suggestion and the document that it originates from.", + "type": "object" + }, + "queryRecord": { + "description": "The name of the answer record. Format: projects/{project}/locations/{location}/answerRecords/{answer_record}", + "type": "string" + }, + "source": { + "description": "The knowledge document that this answer was extracted from. Format: projects/{project}/knowledgeBases/{knowledge_base}/documents/{document}", + "type": "string" + }, + "title": { + "description": "Article title.", + "type": "string" + }, + "uri": { + "description": "Article URI.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsMetadata": { + "description": "The metadata for a bulk analyze conversations operation.", + "id": "GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsMetadata", + "properties": { + "completedAnalysesCount": { + "description": "The number of requested analyses that have completed successfully so far.", + "format": "int32", + "type": "integer" + }, + "createTime": { + "description": "The time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "The time the operation finished running.", + "format": "google-datetime", + "type": "string" + }, + "failedAnalysesCount": { + "description": "The number of requested analyses that have failed so far.", + "format": "int32", + "type": "integer" + }, + "partialErrors": { + "description": "Output only. Partial errors during bulk analyze operation that might cause the operation output to be incomplete.", + "items": { + "$ref": "GoogleRpcStatus" + }, + "readOnly": true, + "type": "array" + }, + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsRequest", + "description": "The original request for bulk analyze." + }, + "totalRequestedAnalysesCount": { + "description": "Total number of analyses requested. Computed by the number of conversations returned by `filter` multiplied by `analysis_percentage` in the request.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsRequest": { + "description": "The request to analyze conversations in bulk.", + "id": "GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsRequest", + "properties": { + "analysisPercentage": { + "description": "Required. Percentage of selected conversation to analyze, between [0, 100].", + "format": "float", + "type": "number" + }, + "annotatorSelector": { + "$ref": "GoogleCloudContactcenterinsightsV1AnnotatorSelector", + "description": "To select the annotators to run and the phrase matchers to use (if any). If not specified, all annotators will be run." + }, + "filter": { + "description": "Required. Filter used to select the subset of conversations to analyze.", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource to create analyses in.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsResponse": { + "description": "The response for a bulk analyze conversations operation.", + "id": "GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsResponse", + "properties": { + "failedAnalysisCount": { + "description": "Count of failed analyses.", + "format": "int32", + "type": "integer" + }, + "successfulAnalysisCount": { + "description": "Count of successful analyses.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1BulkDeleteConversationsMetadata": { + "description": "The metadata for a bulk delete conversations operation.", + "id": "GoogleCloudContactcenterinsightsV1BulkDeleteConversationsMetadata", + "properties": { + "createTime": { + "description": "The time the operation was created.", + "format": "google-datetime", + "type": "string" + }, + "endTime": { + "description": "The time the operation finished running.", + "format": "google-datetime", + "type": "string" + }, + "partialErrors": { + "description": "Partial errors during bulk delete conversations operation that might cause the operation output to be incomplete.", + "items": { + "$ref": "GoogleRpcStatus" + }, + "type": "array" + }, + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1BulkDeleteConversationsRequest", + "description": "The original request for bulk delete." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1BulkDeleteConversationsRequest": { + "description": "The request to delete conversations in bulk.", + "id": "GoogleCloudContactcenterinsightsV1BulkDeleteConversationsRequest", + "properties": { + "filter": { + "description": "Filter used to select the subset of conversations to delete.", + "type": "string" + }, + "force": { + "description": "If set to true, all of this conversation's analyses will also be deleted. Otherwise, the request will only succeed if the conversation has no analyses.", + "type": "boolean" + }, + "maxDeleteCount": { + "description": "Maximum number of conversations to delete.", + "format": "int32", + "type": "integer" + }, + "parent": { + "description": "Required. The parent resource to delete conversations from. Format: projects/{project}/locations/{location}", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1BulkDeleteConversationsResponse": { + "description": "The response for a bulk delete conversations operation.", + "id": "GoogleCloudContactcenterinsightsV1BulkDeleteConversationsResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsMetadata": { + "description": "Metadata for the BulkDownloadFeedbackLabel endpoint.", + "id": "GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsMetadata", + "properties": { + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "downloadStats": { + "$ref": "GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsMetadataDownloadStats", + "description": "Output only. Statistics for BulkDownloadFeedbackLabels operation.", + "readOnly": true + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "partialErrors": { + "description": "Partial errors during ingest operation that might cause the operation output to be incomplete.", + "items": { + "$ref": "GoogleRpcStatus" + }, + "type": "array" + }, + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsRequest", + "description": "Output only. The original request for download.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsMetadataDownloadStats": { + "description": "Statistics for BulkDownloadFeedbackLabels operation.", + "id": "GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsMetadataDownloadStats", + "properties": { + "fileNames": { + "description": "Output only. Full name of the files written to Cloud storage.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "processedObjectCount": { + "description": "The number of objects processed during the download operation.", + "format": "int32", + "type": "integer" + }, + "successfulDownloadCount": { + "description": "The number of new feedback labels downloaded during this operation. Different from \"processed\" because some labels might not be downloaded because an error.", + "format": "int32", + "type": "integer" + }, + "totalFilesWritten": { + "description": "Total number of files written to the provided Cloud Storage bucket.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsRequest": { + "description": "Request for the BulkDownloadFeedbackLabel endpoint.", + "id": "GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsRequest", + "properties": { + "conversationFilter": { + "description": "Optional. Filter parent conversations to download feedback labels for. When specified, the feedback labels will be downloaded for the conversations that match the filter. If `template_qa_scorecard_id` is set, all the conversations that match the filter will be paired with the questions under the scorecard for labeling.", + "type": "string" + }, + "feedbackLabelType": { + "description": "Optional. The type of feedback labels that will be downloaded.", + "enum": [ + "FEEDBACK_LABEL_TYPE_UNSPECIFIED", + "QUALITY_AI", + "TOPIC_MODELING" + ], + "enumDescriptions": [ + "Unspecified format", + "Downloaded file will contain all Quality AI labels from the latest scorecard revision.", + "Downloaded file will contain only Topic Modeling labels." + ], + "type": "string" + }, + "filter": { + "description": "Optional. A filter to reduce results to a specific subset. Supports disjunctions (OR) and conjunctions (AND). Supported fields: * `issue_model_id` * `qa_question_id` * `qa_scorecard_id` * `min_create_time` * `max_create_time` * `min_update_time` * `max_update_time` * `feedback_label_type`: QUALITY_AI, TOPIC_MODELING", + "type": "string" + }, + "gcsDestination": { + "$ref": "GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsRequestGcsDestination", + "description": "A cloud storage bucket destination." + }, + "maxDownloadCount": { + "description": "Optional. Limits the maximum number of feedback labels that will be downloaded. The first `N` feedback labels will be downloaded.", + "format": "int32", + "type": "integer" + }, + "parent": { + "description": "Required. The parent resource for new feedback labels.", + "type": "string" + }, + "templateQaScorecardId": { + "description": "Optional. If set, a template for labeling conversations and scorecard questions will be created from the conversation_filter and the questions under the scorecard(s). The feedback label `filter` will be ignored.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsRequestGcsDestination": { + "description": "Google Cloud Storage Object details to write the feedback labels to.", + "id": "GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsRequestGcsDestination", + "properties": { + "addWhitespace": { + "description": "Optional. Add whitespace to the JSON file. Makes easier to read, but increases file size. Only applicable for JSON format.", + "type": "boolean" + }, + "alwaysPrintEmptyFields": { + "description": "Optional. Always print fields with no presence. This is useful for printing fields that are not set, like implicit 0 value or empty lists/maps. Only applicable for JSON format.", + "type": "boolean" + }, + "format": { + "description": "Required. File format in which the labels will be exported.", + "enum": [ + "FORMAT_UNSPECIFIED", + "CSV", + "JSON" + ], + "enumDescriptions": [ + "Unspecified format.", + "CSV format. 1,000 labels are stored per CSV file by default.", + "JSON format. 1 label stored per JSON file by default." + ], + "type": "string" + }, + "objectUri": { + "description": "Required. The Google Cloud Storage URI to write the feedback labels to. The file name will be used as a prefix for the files written to the bucket if the output needs to be split across multiple files, otherwise it will be used as is. The file extension will be appended to the file name based on the format selected. E.g. `gs://bucket_name/object_uri_prefix`", + "type": "string" + }, + "recordsPerFileCount": { + "description": "Optional. The number of records per file. Applicable for either format.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsResponse": { + "description": "Response for the BulkDownloadFeedbackLabel endpoint.", + "id": "GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1BulkUploadFeedbackLabelsRequest": { + "description": "The request for bulk uploading feedback labels.", + "id": "GoogleCloudContactcenterinsightsV1BulkUploadFeedbackLabelsRequest", + "properties": { + "gcsSource": { + "$ref": "GoogleCloudContactcenterinsightsV1BulkUploadFeedbackLabelsRequestGcsSource", + "description": "A cloud storage bucket source." + }, + "validateOnly": { + "description": "Optional. If set, upload will not happen and the labels will be validated. If not set, then default behavior will be to upload the labels after validation is complete.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1BulkUploadFeedbackLabelsRequestGcsSource": { + "description": "Google Cloud Storage Object details to get the feedback label file from.", + "id": "GoogleCloudContactcenterinsightsV1BulkUploadFeedbackLabelsRequestGcsSource", + "properties": { + "format": { + "description": "Required. File format which will be ingested.", + "enum": [ + "FORMAT_UNSPECIFIED", + "CSV", + "JSON" + ], + "enumDescriptions": [ + "Unspecified format.", + "CSV format.", + "JSON format." + ], + "type": "string" + }, + "objectUri": { + "description": "Required. The Google Cloud Storage URI of the file to import. Format: `gs://bucket_name/object_name`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1CalculateIssueModelStatsResponse": { + "description": "Response of querying an issue model's statistics.", + "id": "GoogleCloudContactcenterinsightsV1CalculateIssueModelStatsResponse", + "properties": { + "currentStats": { + "$ref": "GoogleCloudContactcenterinsightsV1IssueModelLabelStats", + "description": "The latest label statistics for the queried issue model. Includes results on both training data and data labeled after deployment." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1CalculateStatsResponse": { + "description": "The response for calculating conversation statistics.", + "id": "GoogleCloudContactcenterinsightsV1CalculateStatsResponse", + "properties": { + "averageDuration": { + "description": "The average duration of all conversations. The average is calculated using only conversations that have a time duration.", + "format": "google-duration", + "type": "string" + }, + "averageTurnCount": { + "description": "The average number of turns per conversation.", + "format": "int32", + "type": "integer" + }, + "conversationCount": { + "description": "The total number of conversations.", + "format": "int32", + "type": "integer" + }, + "conversationCountTimeSeries": { + "$ref": "GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeries", + "description": "A time series representing the count of conversations created over time that match that requested filter criteria." + }, + "customHighlighterMatches": { + "additionalProperties": { + "format": "int32", + "type": "integer" + }, + "description": "A map associating each custom highlighter resource name with its respective number of matches in the set of conversations.", + "type": "object" + }, + "issueMatches": { + "additionalProperties": { + "format": "int32", + "type": "integer" + }, + "deprecated": true, + "description": "A map associating each issue resource name with its respective number of matches in the set of conversations. Key has the format: `projects//locations//issueModels//issues/` Deprecated, use `issue_matches_stats` field instead.", + "type": "object" + }, + "issueMatchesStats": { + "additionalProperties": { + "$ref": "GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStats" + }, + "description": "A map associating each issue resource name with its respective number of matches in the set of conversations. Key has the format: `projects//locations//issueModels//issues/`", + "type": "object" + }, + "smartHighlighterMatches": { + "additionalProperties": { + "format": "int32", + "type": "integer" + }, + "description": "A map associating each smart highlighter display name with its respective number of matches in the set of conversations.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeries": { + "description": "A time series representing conversations over time.", + "id": "GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeries", + "properties": { + "intervalDuration": { + "description": "The duration of each interval.", + "format": "google-duration", "type": "string" }, - "requestTime": { - "description": "Output only. The time at which the analysis was requested.", + "points": { + "description": "An ordered list of intervals from earliest to latest, where each interval represents the number of conversations that transpired during the time window.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeriesInterval" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeriesInterval": { + "description": "A single interval in a time series.", + "id": "GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeriesInterval", + "properties": { + "conversationCount": { + "description": "The number of conversations created in this interval.", + "format": "int32", + "type": "integer" + }, + "startTime": { + "description": "The start time of this interval.", "format": "google-datetime", - "readOnly": true, "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1AnalysisResult": { - "description": "The result of an analysis.", - "id": "GoogleCloudContactcenterinsightsV1AnalysisResult", + "GoogleCloudContactcenterinsightsV1CallAnnotation": { + "description": "A piece of metadata that applies to a window of a call.", + "id": "GoogleCloudContactcenterinsightsV1CallAnnotation", "properties": { - "callAnalysisMetadata": { - "$ref": "GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadata", - "description": "Call-specific metadata created by the analysis." + "annotationEndBoundary": { + "$ref": "GoogleCloudContactcenterinsightsV1AnnotationBoundary", + "description": "The boundary in the conversation where the annotation ends, inclusive." }, - "endTime": { - "description": "The time at which the analysis ended.", - "format": "google-datetime", - "type": "string" + "annotationStartBoundary": { + "$ref": "GoogleCloudContactcenterinsightsV1AnnotationBoundary", + "description": "The boundary in the conversation where the annotation starts, inclusive." + }, + "channelTag": { + "description": "The channel of the audio where the annotation occurs. For single-channel audio, this field is not populated.", + "format": "int32", + "type": "integer" + }, + "entityMentionData": { + "$ref": "GoogleCloudContactcenterinsightsV1EntityMentionData", + "description": "Data specifying an entity mention." + }, + "holdData": { + "$ref": "GoogleCloudContactcenterinsightsV1HoldData", + "description": "Data specifying a hold." + }, + "intentMatchData": { + "$ref": "GoogleCloudContactcenterinsightsV1IntentMatchData", + "description": "Data specifying an intent match." + }, + "interruptionData": { + "$ref": "GoogleCloudContactcenterinsightsV1InterruptionData", + "description": "Data specifying an interruption." + }, + "issueMatchData": { + "$ref": "GoogleCloudContactcenterinsightsV1IssueMatchData", + "description": "Data specifying an issue match." + }, + "phraseMatchData": { + "$ref": "GoogleCloudContactcenterinsightsV1PhraseMatchData", + "description": "Data specifying a phrase match." + }, + "sentimentData": { + "$ref": "GoogleCloudContactcenterinsightsV1SentimentData", + "description": "Data specifying sentiment." + }, + "silenceData": { + "$ref": "GoogleCloudContactcenterinsightsV1SilenceData", + "description": "Data specifying silence." } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadata": { - "description": "Call-specific metadata created during analysis.", - "id": "GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadata", + "GoogleCloudContactcenterinsightsV1Conversation": { + "description": "The conversation resource.", + "id": "GoogleCloudContactcenterinsightsV1Conversation", "properties": { - "annotations": { - "description": "A list of call annotations that apply to this call.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1CallAnnotation" - }, - "type": "array" + "agentId": { + "description": "An opaque, user-specified string representing the human agent who handled the conversation.", + "type": "string" }, - "entities": { - "additionalProperties": { - "$ref": "GoogleCloudContactcenterinsightsV1Entity" - }, - "description": "All the entities in the call.", - "type": "object" + "callMetadata": { + "$ref": "GoogleCloudContactcenterinsightsV1ConversationCallMetadata", + "description": "Call-specific metadata." }, - "intents": { + "createTime": { + "description": "Output only. The time at which the conversation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dataSource": { + "$ref": "GoogleCloudContactcenterinsightsV1ConversationDataSource", + "description": "The source of the audio and transcription for the conversation." + }, + "dialogflowIntents": { "additionalProperties": { - "$ref": "GoogleCloudContactcenterinsightsV1Intent" + "$ref": "GoogleCloudContactcenterinsightsV1DialogflowIntent" }, - "description": "All the matched intents in the call.", + "description": "Output only. All the matched Dialogflow intents in the call. The key corresponds to a Dialogflow intent, format: projects/{project}/agent/{agent}/intents/{intent}", + "readOnly": true, "type": "object" }, - "issueModelResult": { - "$ref": "GoogleCloudContactcenterinsightsV1IssueModelResult", - "description": "Overall conversation-level issue modeling result." + "duration": { + "description": "Output only. The duration of the conversation.", + "format": "google-duration", + "readOnly": true, + "type": "string" }, - "phraseMatchers": { + "expireTime": { + "description": "The time at which this conversation should expire. After this time, the conversation data and any associated analyses will be deleted.", + "format": "google-datetime", + "type": "string" + }, + "labels": { "additionalProperties": { - "$ref": "GoogleCloudContactcenterinsightsV1PhraseMatchData" + "type": "string" }, - "description": "All the matched phrase matchers in the call.", + "description": "A map for the user to specify any custom fields. A maximum of 100 labels per conversation is allowed, with a maximum of 256 characters per entry.", "type": "object" }, - "sentiments": { - "description": "Overall conversation-level sentiment for each channel of the call.", + "languageCode": { + "description": "A user-specified language code for the conversation.", + "type": "string" + }, + "latestAnalysis": { + "$ref": "GoogleCloudContactcenterinsightsV1Analysis", + "description": "Output only. The conversation's latest analysis, if one exists.", + "readOnly": true + }, + "latestSummary": { + "$ref": "GoogleCloudContactcenterinsightsV1ConversationSummarizationSuggestionData", + "description": "Output only. Latest summary of the conversation.", + "readOnly": true + }, + "medium": { + "description": "Immutable. The conversation medium, if unspecified will default to PHONE_CALL.", + "enum": [ + "MEDIUM_UNSPECIFIED", + "PHONE_CALL", + "CHAT" + ], + "enumDescriptions": [ + "Default value, if unspecified will default to PHONE_CALL.", + "The format for conversations that took place over the phone.", + "The format for conversations that took place over chat." + ], + "type": "string" + }, + "metadataJson": { + "description": "Input only. JSON metadata encoded as a string. This field is primarily used by Insights integrations with various telphony systems and must be in one of Insight's supported formats.", + "type": "string" + }, + "name": { + "description": "Immutable. The resource name of the conversation. Format: projects/{project}/locations/{location}/conversations/{conversation}", + "type": "string" + }, + "obfuscatedUserId": { + "description": "Obfuscated user ID which the customer sent to us.", + "type": "string" + }, + "qualityMetadata": { + "$ref": "GoogleCloudContactcenterinsightsV1ConversationQualityMetadata", + "description": "Conversation metadata related to quality management." + }, + "runtimeAnnotations": { + "description": "Output only. The annotations that were generated during the customer and agent interaction.", "items": { - "$ref": "GoogleCloudContactcenterinsightsV1ConversationLevelSentiment" + "$ref": "GoogleCloudContactcenterinsightsV1RuntimeAnnotation" }, + "readOnly": true, "type": "array" }, - "silence": { - "$ref": "GoogleCloudContactcenterinsightsV1ConversationLevelSilence", - "description": "Overall conversation-level silence during the call." + "startTime": { + "description": "The time at which the conversation started.", + "format": "google-datetime", + "type": "string" + }, + "transcript": { + "$ref": "GoogleCloudContactcenterinsightsV1ConversationTranscript", + "description": "Output only. The conversation transcript.", + "readOnly": true + }, + "ttl": { + "description": "Input only. The TTL for this resource. If specified, then this TTL will be used to calculate the expire time.", + "format": "google-duration", + "type": "string" + }, + "turnCount": { + "description": "Output only. The number of turns in the conversation.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "updateTime": { + "description": "Output only. The most recent time at which the conversation was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ConversationCallMetadata": { + "description": "Call-specific metadata.", + "id": "GoogleCloudContactcenterinsightsV1ConversationCallMetadata", + "properties": { + "agentChannel": { + "description": "The audio channel that contains the agent.", + "format": "int32", + "type": "integer" + }, + "customerChannel": { + "description": "The audio channel that contains the customer.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ConversationDataSource": { + "description": "The conversation source, which is a combination of transcript and audio.", + "id": "GoogleCloudContactcenterinsightsV1ConversationDataSource", + "properties": { + "dialogflowSource": { + "$ref": "GoogleCloudContactcenterinsightsV1DialogflowSource", + "description": "The source when the conversation comes from Dialogflow." + }, + "gcsSource": { + "$ref": "GoogleCloudContactcenterinsightsV1GcsSource", + "description": "A Cloud Storage location specification for the audio and transcript." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ConversationLevelSentiment": { + "description": "One channel of conversation-level sentiment data.", + "id": "GoogleCloudContactcenterinsightsV1ConversationLevelSentiment", + "properties": { + "channelTag": { + "description": "The channel of the audio that the data applies to.", + "format": "int32", + "type": "integer" + }, + "sentimentData": { + "$ref": "GoogleCloudContactcenterinsightsV1SentimentData", + "description": "Data specifying sentiment." } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1AnnotationBoundary": { - "description": "A point in a conversation that marks the start or the end of an annotation.", - "id": "GoogleCloudContactcenterinsightsV1AnnotationBoundary", + "GoogleCloudContactcenterinsightsV1ConversationLevelSilence": { + "description": "Conversation-level silence data.", + "id": "GoogleCloudContactcenterinsightsV1ConversationLevelSilence", "properties": { - "transcriptIndex": { - "description": "The index in the sequence of transcribed pieces of the conversation where the boundary is located. This index starts at zero.", - "format": "int32", - "type": "integer" + "silenceDuration": { + "description": "Amount of time calculated to be in silence.", + "format": "google-duration", + "type": "string" }, - "wordIndex": { - "description": "The word index of this boundary with respect to the first word in the transcript piece. This index starts at zero.", - "format": "int32", - "type": "integer" + "silencePercentage": { + "description": "Percentage of the total conversation spent in silence.", + "format": "float", + "type": "number" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1AnnotatorSelector": { - "description": "Selector of all available annotators and phrase matchers to run.", - "id": "GoogleCloudContactcenterinsightsV1AnnotatorSelector", + "GoogleCloudContactcenterinsightsV1ConversationParticipant": { + "description": "The call participant speaking for a given utterance.", + "id": "GoogleCloudContactcenterinsightsV1ConversationParticipant", "properties": { - "issueModels": { - "description": "The issue model to run. If not provided, the most recently deployed topic model will be used. The provided issue model will only be used for inference if the issue model is deployed and if run_issue_model_annotator is set to true. If more than one issue model is provided, only the first provided issue model will be used for inference.", - "items": { - "type": "string" - }, - "type": "array" - }, - "phraseMatchers": { - "description": "The list of phrase matchers to run. If not provided, all active phrase matchers will be used. If inactive phrase matchers are provided, they will not be used. Phrase matchers will be run only if run_phrase_matcher_annotator is set to true. Format: projects/{project}/locations/{location}/phraseMatchers/{phrase_matcher}", - "items": { - "type": "string" - }, - "type": "array" - }, - "runEntityAnnotator": { - "description": "Whether to run the entity annotator.", - "type": "boolean" - }, - "runIntentAnnotator": { - "description": "Whether to run the intent annotator.", - "type": "boolean" - }, - "runInterruptionAnnotator": { - "description": "Whether to run the interruption annotator.", - "type": "boolean" - }, - "runIssueModelAnnotator": { - "description": "Whether to run the issue model annotator. A model should have already been deployed for this to take effect.", - "type": "boolean" - }, - "runPhraseMatcherAnnotator": { - "description": "Whether to run the active phrase matcher annotator(s).", - "type": "boolean" + "dialogflowParticipant": { + "deprecated": true, + "description": "Deprecated. Use `dialogflow_participant_name` instead. The name of the Dialogflow participant. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}", + "type": "string" }, - "runSentimentAnnotator": { - "description": "Whether to run the sentiment annotator.", - "type": "boolean" + "dialogflowParticipantName": { + "description": "The name of the participant provided by Dialogflow. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}", + "type": "string" }, - "runSilenceAnnotator": { - "description": "Whether to run the silence annotator.", - "type": "boolean" + "obfuscatedExternalUserId": { + "description": "Obfuscated user ID from Dialogflow.", + "type": "string" }, - "runSummarizationAnnotator": { - "description": "Whether to run the summarization annotator.", - "type": "boolean" + "role": { + "description": "The role of the participant.", + "enum": [ + "ROLE_UNSPECIFIED", + "HUMAN_AGENT", + "AUTOMATED_AGENT", + "END_USER", + "ANY_AGENT" + ], + "enumDescriptions": [ + "Participant's role is not set.", + "Participant is a human agent.", + "Participant is an automated agent.", + "Participant is an end user who conversed with the contact center.", + "Participant is either a human or automated agent." + ], + "type": "string" }, - "summarizationConfig": { - "$ref": "GoogleCloudContactcenterinsightsV1AnnotatorSelectorSummarizationConfig", - "description": "Configuration for the summarization annotator." + "userId": { + "description": "A user-specified ID representing the participant.", + "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1AnnotatorSelectorSummarizationConfig": { - "description": "Configuration for summarization.", - "id": "GoogleCloudContactcenterinsightsV1AnnotatorSelectorSummarizationConfig", + "GoogleCloudContactcenterinsightsV1ConversationQualityMetadata": { + "description": "Conversation metadata related to quality management.", + "id": "GoogleCloudContactcenterinsightsV1ConversationQualityMetadata", "properties": { - "conversationProfile": { - "description": "Resource name of the Dialogflow conversation profile. Format: projects/{project}/locations/{location}/conversationProfiles/{conversation_profile}", + "agentInfo": { + "description": "Information about agents involved in the call.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1ConversationQualityMetadataAgentInfo" + }, + "type": "array" + }, + "customerSatisfactionRating": { + "description": "An arbitrary integer value indicating the customer's satisfaction rating.", + "format": "int32", + "type": "integer" + }, + "menuPath": { + "description": "An arbitrary string value specifying the menu path the customer took.", "type": "string" }, - "summarizationModel": { - "description": "Default summarization model to be used.", - "enum": [ - "SUMMARIZATION_MODEL_UNSPECIFIED", - "BASELINE_MODEL", - "BASELINE_MODEL_V2_0" - ], - "enumDescriptions": [ - "Unspecified summarization model.", - "The CCAI baseline model.", - "The CCAI baseline model, V2.0." - ], + "waitDuration": { + "description": "The amount of time the customer waited to connect with an agent.", + "format": "google-duration", "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1AnswerFeedback": { - "description": "The feedback that the customer has about a certain answer in the conversation.", - "id": "GoogleCloudContactcenterinsightsV1AnswerFeedback", + "GoogleCloudContactcenterinsightsV1ConversationQualityMetadataAgentInfo": { + "description": "Information about an agent involved in the conversation.", + "id": "GoogleCloudContactcenterinsightsV1ConversationQualityMetadataAgentInfo", "properties": { - "clicked": { - "description": "Indicates whether an answer or item was clicked by the human agent.", - "type": "boolean" + "agentId": { + "description": "A user-specified string representing the agent.", + "type": "string" }, - "correctnessLevel": { - "description": "The correctness level of an answer.", + "agentType": { + "description": "The agent type, e.g. HUMAN_AGENT.", "enum": [ - "CORRECTNESS_LEVEL_UNSPECIFIED", - "NOT_CORRECT", - "PARTIALLY_CORRECT", - "FULLY_CORRECT" + "ROLE_UNSPECIFIED", + "HUMAN_AGENT", + "AUTOMATED_AGENT", + "END_USER", + "ANY_AGENT" ], "enumDescriptions": [ - "Correctness level unspecified.", - "Answer is totally wrong.", - "Answer is partially correct.", - "Answer is fully correct." + "Participant's role is not set.", + "Participant is a human agent.", + "Participant is an automated agent.", + "Participant is an end user who conversed with the contact center.", + "Participant is either a human or automated agent." ], "type": "string" }, - "displayed": { - "description": "Indicates whether an answer or item was displayed to the human agent in the agent desktop UI.", - "type": "boolean" + "displayName": { + "description": "The agent's name.", + "type": "string" + }, + "dispositionCode": { + "description": "A user-provided string indicating the outcome of the agent's segment of the call.", + "type": "string" + }, + "location": { + "description": "The agent's location.", + "type": "string" + }, + "team": { + "deprecated": true, + "description": "A user-specified string representing the agent's team. Deprecated in favor of the `teams` field.", + "type": "string" + }, + "teams": { + "description": "User-specified strings representing the agent's teams.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ArticleSuggestionData": { - "description": "Agent Assist Article Suggestion data.", - "id": "GoogleCloudContactcenterinsightsV1ArticleSuggestionData", + "GoogleCloudContactcenterinsightsV1ConversationSummarizationSuggestionData": { + "description": "Conversation summarization suggestion data.", + "id": "GoogleCloudContactcenterinsightsV1ConversationSummarizationSuggestionData", "properties": { - "confidenceScore": { - "description": "The system's confidence score that this article is a good match for this conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely certain).", + "answerRecord": { + "description": "The name of the answer record. Format: projects/{project}/locations/{location}/answerRecords/{answer_record}", + "type": "string" + }, + "confidence": { + "description": "The confidence score of the summarization.", "format": "float", "type": "number" }, + "conversationModel": { + "description": "The name of the model that generates this summary. Format: projects/{project}/locations/{location}/conversationModels/{conversation_model}", + "type": "string" + }, "metadata": { "additionalProperties": { "type": "string" }, - "description": "Map that contains metadata about the Article Suggestion and the document that it originates from.", + "description": "A map that contains metadata about the summarization and the document from which it originates.", "type": "object" }, - "queryRecord": { - "description": "The name of the answer record. Format: projects/{project}/locations/{location}/answerRecords/{answer_record}", - "type": "string" - }, - "source": { - "description": "The knowledge document that this answer was extracted from. Format: projects/{project}/knowledgeBases/{knowledge_base}/documents/{document}", - "type": "string" - }, - "title": { - "description": "Article title.", + "text": { + "description": "The summarization content that is concatenated into one string.", "type": "string" }, - "uri": { - "description": "Article URI.", - "type": "string" + "textSections": { + "additionalProperties": { + "type": "string" + }, + "description": "The summarization content that is divided into sections. The key is the section's name and the value is the section's content. There is no specific format for the key or value.", + "type": "object" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsMetadata": { - "description": "The metadata for a bulk analyze conversations operation.", - "id": "GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsMetadata", + "GoogleCloudContactcenterinsightsV1ConversationTranscript": { + "description": "A message representing the transcript of a conversation.", + "id": "GoogleCloudContactcenterinsightsV1ConversationTranscript", + "properties": { + "transcriptSegments": { + "description": "A list of sequential transcript segments that comprise the conversation.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegment" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegment": { + "description": "A segment of a full transcript.", + "id": "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegment", "properties": { - "completedAnalysesCount": { - "description": "The number of requested analyses that have completed successfully so far.", + "channelTag": { + "description": "For conversations derived from multi-channel audio, this is the channel number corresponding to the audio from that channel. For audioChannelCount = N, its output values can range from '1' to 'N'. A channel tag of 0 indicates that the audio is mono.", "format": "int32", "type": "integer" }, - "createTime": { - "description": "The time the operation was created.", - "format": "google-datetime", + "confidence": { + "description": "A confidence estimate between 0.0 and 1.0 of the fidelity of this segment. A default value of 0.0 indicates that the value is unset.", + "format": "float", + "type": "number" + }, + "dialogflowSegmentMetadata": { + "$ref": "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentDialogflowSegmentMetadata", + "description": "CCAI metadata relating to the current transcript segment." + }, + "languageCode": { + "description": "The language code of this segment as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. Example: \"en-US\".", "type": "string" }, - "endTime": { - "description": "The time the operation finished running.", + "messageTime": { + "description": "The time that the message occurred, if provided.", "format": "google-datetime", "type": "string" }, - "failedAnalysesCount": { - "description": "The number of requested analyses that have failed so far.", - "format": "int32", - "type": "integer" + "segmentParticipant": { + "$ref": "GoogleCloudContactcenterinsightsV1ConversationParticipant", + "description": "The participant of this segment." }, - "partialErrors": { - "description": "Output only. Partial errors during bulk analyze operation that might cause the operation output to be incomplete.", + "sentiment": { + "$ref": "GoogleCloudContactcenterinsightsV1SentimentData", + "description": "The sentiment for this transcript segment." + }, + "text": { + "description": "The text of this segment.", + "type": "string" + }, + "words": { + "description": "A list of the word-specific information for each word in the segment.", "items": { - "$ref": "GoogleRpcStatus" + "$ref": "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentWordInfo" }, - "readOnly": true, "type": "array" - }, - "request": { - "$ref": "GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsRequest", - "description": "The original request for bulk analyze." - }, - "totalRequestedAnalysesCount": { - "description": "Total number of analyses requested. Computed by the number of conversations returned by `filter` multiplied by `analysis_percentage` in the request.", - "format": "int32", - "type": "integer" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsRequest": { - "description": "The request to analyze conversations in bulk.", - "id": "GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsRequest", + "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentDialogflowSegmentMetadata": { + "description": "Metadata from Dialogflow relating to the current transcript segment.", + "id": "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentDialogflowSegmentMetadata", "properties": { - "analysisPercentage": { - "description": "Required. Percentage of selected conversation to analyze, between [0, 100].", + "smartReplyAllowlistCovered": { + "description": "Whether the transcript segment was covered under the configured smart reply allowlist in Agent Assist.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentWordInfo": { + "description": "Word-level info for words in a transcript.", + "id": "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentWordInfo", + "properties": { + "confidence": { + "description": "A confidence estimate between 0.0 and 1.0 of the fidelity of this word. A default value of 0.0 indicates that the value is unset.", "format": "float", "type": "number" }, - "annotatorSelector": { - "$ref": "GoogleCloudContactcenterinsightsV1AnnotatorSelector", - "description": "To select the annotators to run and the phrase matchers to use (if any). If not specified, all annotators will be run." + "endOffset": { + "description": "Time offset of the end of this word relative to the beginning of the total conversation.", + "format": "google-duration", + "type": "string" }, - "filter": { - "description": "Required. Filter used to select the subset of conversations to analyze.", + "startOffset": { + "description": "Time offset of the start of this word relative to the beginning of the total conversation.", + "format": "google-duration", "type": "string" }, - "parent": { - "description": "Required. The parent resource to create analyses in.", + "word": { + "description": "The word itself. Includes punctuation marks that surround the word.", "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsResponse": { - "description": "The response for a bulk analyze conversations operation.", - "id": "GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsResponse", + "GoogleCloudContactcenterinsightsV1CreateAnalysisOperationMetadata": { + "description": "Metadata for a create analysis operation.", + "id": "GoogleCloudContactcenterinsightsV1CreateAnalysisOperationMetadata", "properties": { - "failedAnalysisCount": { - "description": "Count of failed analyses.", - "format": "int32", - "type": "integer" + "annotatorSelector": { + "$ref": "GoogleCloudContactcenterinsightsV1AnnotatorSelector", + "description": "Output only. The annotator selector used for the analysis (if any).", + "readOnly": true + }, + "conversation": { + "description": "Output only. The Conversation that this Analysis Operation belongs to.", + "readOnly": true, + "type": "string" }, - "successfulAnalysisCount": { - "description": "Count of successful analyses.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1BulkDeleteConversationsMetadata": { - "description": "The metadata for a bulk delete conversations operation.", - "id": "GoogleCloudContactcenterinsightsV1BulkDeleteConversationsMetadata", - "properties": { "createTime": { - "description": "The time the operation was created.", + "description": "Output only. The time the operation was created.", "format": "google-datetime", + "readOnly": true, "type": "string" }, "endTime": { - "description": "The time the operation finished running.", + "description": "Output only. The time the operation finished running.", "format": "google-datetime", + "readOnly": true, "type": "string" - }, - "partialErrors": { - "description": "Partial errors during bulk delete conversations operation that might cause the operation output to be incomplete.", - "items": { - "$ref": "GoogleRpcStatus" - }, - "type": "array" - }, - "request": { - "$ref": "GoogleCloudContactcenterinsightsV1BulkDeleteConversationsRequest", - "description": "The original request for bulk delete." } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1BulkDeleteConversationsRequest": { - "description": "The request to delete conversations in bulk.", - "id": "GoogleCloudContactcenterinsightsV1BulkDeleteConversationsRequest", + "GoogleCloudContactcenterinsightsV1CreateIssueMetadata": { + "description": "Metadata for creating an issue.", + "id": "GoogleCloudContactcenterinsightsV1CreateIssueMetadata", "properties": { - "filter": { - "description": "Filter used to select the subset of conversations to delete.", + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, "type": "string" }, - "force": { - "description": "If set to true, all of this conversation's analyses will also be deleted. Otherwise, the request will only succeed if the conversation has no analyses.", - "type": "boolean" - }, - "maxDeleteCount": { - "description": "Maximum number of conversations to delete.", - "format": "int32", - "type": "integer" - }, - "parent": { - "description": "Required. The parent resource to delete conversations from. Format: projects/{project}/locations/{location}", + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, "type": "string" + }, + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1CreateIssueRequest", + "description": "The original request for creation." } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1BulkDeleteConversationsResponse": { - "description": "The response for a bulk delete conversations operation.", - "id": "GoogleCloudContactcenterinsightsV1BulkDeleteConversationsResponse", - "properties": {}, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1CalculateIssueModelStatsResponse": { - "description": "Response of querying an issue model's statistics.", - "id": "GoogleCloudContactcenterinsightsV1CalculateIssueModelStatsResponse", - "properties": { - "currentStats": { - "$ref": "GoogleCloudContactcenterinsightsV1IssueModelLabelStats", - "description": "The latest label statistics for the queried issue model. Includes results on both training data and data labeled after deployment." - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1CalculateStatsResponse": { - "description": "The response for calculating conversation statistics.", - "id": "GoogleCloudContactcenterinsightsV1CalculateStatsResponse", + "GoogleCloudContactcenterinsightsV1CreateIssueModelMetadata": { + "description": "Metadata for creating an issue model.", + "id": "GoogleCloudContactcenterinsightsV1CreateIssueModelMetadata", "properties": { - "averageDuration": { - "description": "The average duration of all conversations. The average is calculated using only conversations that have a time duration.", - "format": "google-duration", + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, "type": "string" }, - "averageTurnCount": { - "description": "The average number of turns per conversation.", - "format": "int32", - "type": "integer" - }, - "conversationCount": { - "description": "The total number of conversations.", - "format": "int32", - "type": "integer" - }, - "conversationCountTimeSeries": { - "$ref": "GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeries", - "description": "A time series representing the count of conversations created over time that match that requested filter criteria." - }, - "customHighlighterMatches": { - "additionalProperties": { - "format": "int32", - "type": "integer" - }, - "description": "A map associating each custom highlighter resource name with its respective number of matches in the set of conversations.", - "type": "object" - }, - "issueMatches": { - "additionalProperties": { - "format": "int32", - "type": "integer" - }, - "deprecated": true, - "description": "A map associating each issue resource name with its respective number of matches in the set of conversations. Key has the format: `projects//locations//issueModels//issues/` Deprecated, use `issue_matches_stats` field instead.", - "type": "object" - }, - "issueMatchesStats": { - "additionalProperties": { - "$ref": "GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStats" - }, - "description": "A map associating each issue resource name with its respective number of matches in the set of conversations. Key has the format: `projects//locations//issueModels//issues/`", - "type": "object" - }, - "smartHighlighterMatches": { - "additionalProperties": { - "format": "int32", - "type": "integer" - }, - "description": "A map associating each smart highlighter display name with its respective number of matches in the set of conversations.", - "type": "object" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeries": { - "description": "A time series representing conversations over time.", - "id": "GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeries", - "properties": { - "intervalDuration": { - "description": "The duration of each interval.", - "format": "google-duration", + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, "type": "string" }, - "points": { - "description": "An ordered list of intervals from earliest to latest, where each interval represents the number of conversations that transpired during the time window.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeriesInterval" - }, - "type": "array" + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1CreateIssueModelRequest", + "description": "The original request for creation." } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeriesInterval": { - "description": "A single interval in a time series.", - "id": "GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeriesInterval", + "GoogleCloudContactcenterinsightsV1CreateIssueModelRequest": { + "description": "The request to create an issue model.", + "id": "GoogleCloudContactcenterinsightsV1CreateIssueModelRequest", "properties": { - "conversationCount": { - "description": "The number of conversations created in this interval.", - "format": "int32", - "type": "integer" + "issueModel": { + "$ref": "GoogleCloudContactcenterinsightsV1IssueModel", + "description": "Required. The issue model to create." }, - "startTime": { - "description": "The start time of this interval.", - "format": "google-datetime", + "parent": { + "description": "Required. The parent resource of the issue model.", "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1CallAnnotation": { - "description": "A piece of metadata that applies to a window of a call.", - "id": "GoogleCloudContactcenterinsightsV1CallAnnotation", + "GoogleCloudContactcenterinsightsV1CreateIssueRequest": { + "description": "The request to create an issue.", + "id": "GoogleCloudContactcenterinsightsV1CreateIssueRequest", "properties": { - "annotationEndBoundary": { - "$ref": "GoogleCloudContactcenterinsightsV1AnnotationBoundary", - "description": "The boundary in the conversation where the annotation ends, inclusive." - }, - "annotationStartBoundary": { - "$ref": "GoogleCloudContactcenterinsightsV1AnnotationBoundary", - "description": "The boundary in the conversation where the annotation starts, inclusive." - }, - "channelTag": { - "description": "The channel of the audio where the annotation occurs. For single-channel audio, this field is not populated.", - "format": "int32", - "type": "integer" - }, - "entityMentionData": { - "$ref": "GoogleCloudContactcenterinsightsV1EntityMentionData", - "description": "Data specifying an entity mention." - }, - "holdData": { - "$ref": "GoogleCloudContactcenterinsightsV1HoldData", - "description": "Data specifying a hold." - }, - "intentMatchData": { - "$ref": "GoogleCloudContactcenterinsightsV1IntentMatchData", - "description": "Data specifying an intent match." - }, - "interruptionData": { - "$ref": "GoogleCloudContactcenterinsightsV1InterruptionData", - "description": "Data specifying an interruption." - }, - "issueMatchData": { - "$ref": "GoogleCloudContactcenterinsightsV1IssueMatchData", - "description": "Data specifying an issue match." - }, - "phraseMatchData": { - "$ref": "GoogleCloudContactcenterinsightsV1PhraseMatchData", - "description": "Data specifying a phrase match." - }, - "sentimentData": { - "$ref": "GoogleCloudContactcenterinsightsV1SentimentData", - "description": "Data specifying sentiment." + "issue": { + "$ref": "GoogleCloudContactcenterinsightsV1Issue", + "description": "Required. The values for the new issue." }, - "silenceData": { - "$ref": "GoogleCloudContactcenterinsightsV1SilenceData", - "description": "Data specifying silence." + "parent": { + "description": "Required. The parent resource of the issue.", + "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1Conversation": { - "description": "The conversation resource.", - "id": "GoogleCloudContactcenterinsightsV1Conversation", + "GoogleCloudContactcenterinsightsV1DeleteIssueModelMetadata": { + "description": "Metadata for deleting an issue model.", + "id": "GoogleCloudContactcenterinsightsV1DeleteIssueModelMetadata", "properties": { - "agentId": { - "description": "An opaque, user-specified string representing the human agent who handled the conversation.", - "type": "string" - }, - "callMetadata": { - "$ref": "GoogleCloudContactcenterinsightsV1ConversationCallMetadata", - "description": "Call-specific metadata." - }, "createTime": { - "description": "Output only. The time at which the conversation was created.", + "description": "Output only. The time the operation was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, - "dataSource": { - "$ref": "GoogleCloudContactcenterinsightsV1ConversationDataSource", - "description": "The source of the audio and transcription for the conversation." - }, - "dialogflowIntents": { - "additionalProperties": { - "$ref": "GoogleCloudContactcenterinsightsV1DialogflowIntent" - }, - "description": "Output only. All the matched Dialogflow intents in the call. The key corresponds to a Dialogflow intent, format: projects/{project}/agent/{agent}/intents/{intent}", - "readOnly": true, - "type": "object" - }, - "duration": { - "description": "Output only. The duration of the conversation.", - "format": "google-duration", + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", "readOnly": true, "type": "string" }, - "expireTime": { - "description": "The time at which this conversation should expire. After this time, the conversation data and any associated analyses will be deleted.", + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1DeleteIssueModelRequest", + "description": "The original request for deletion." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1DeleteIssueModelRequest": { + "description": "The request to delete an issue model.", + "id": "GoogleCloudContactcenterinsightsV1DeleteIssueModelRequest", + "properties": { + "name": { + "description": "Required. The name of the issue model to delete.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1DeployIssueModelMetadata": { + "description": "Metadata for deploying an issue model.", + "id": "GoogleCloudContactcenterinsightsV1DeployIssueModelMetadata", + "properties": { + "createTime": { + "description": "Output only. The time the operation was created.", "format": "google-datetime", + "readOnly": true, "type": "string" }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "A map for the user to specify any custom fields. A maximum of 20 labels per conversation is allowed, with a maximum of 256 characters per entry.", - "type": "object" - }, - "languageCode": { - "description": "A user-specified language code for the conversation.", + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, "type": "string" }, - "latestAnalysis": { - "$ref": "GoogleCloudContactcenterinsightsV1Analysis", - "description": "Output only. The conversation's latest analysis, if one exists.", - "readOnly": true - }, - "latestSummary": { - "$ref": "GoogleCloudContactcenterinsightsV1ConversationSummarizationSuggestionData", - "description": "Output only. Latest summary of the conversation.", - "readOnly": true - }, - "medium": { - "description": "Immutable. The conversation medium, if unspecified will default to PHONE_CALL.", - "enum": [ - "MEDIUM_UNSPECIFIED", - "PHONE_CALL", - "CHAT" - ], - "enumDescriptions": [ - "Default value, if unspecified will default to PHONE_CALL.", - "The format for conversations that took place over the phone.", - "The format for conversations that took place over chat." - ], + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1DeployIssueModelRequest", + "description": "The original request for deployment." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1DeployIssueModelRequest": { + "description": "The request to deploy an issue model.", + "id": "GoogleCloudContactcenterinsightsV1DeployIssueModelRequest", + "properties": { + "name": { + "description": "Required. The issue model to deploy.", "type": "string" - }, - "metadataJson": { - "description": "Input only. JSON Metadata encoded as a string. This field is primarily used by Insights integrations with various telphony systems and must be in one of Insights' supported formats.", + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1DeployIssueModelResponse": { + "description": "The response to deploy an issue model.", + "id": "GoogleCloudContactcenterinsightsV1DeployIssueModelResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1DeployQaScorecardRevisionRequest": { + "description": "The request to deploy a QaScorecardRevision", + "id": "GoogleCloudContactcenterinsightsV1DeployQaScorecardRevisionRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1DialogflowIntent": { + "description": "The data for a Dialogflow intent. Represents a detected intent in the conversation, e.g. MAKES_PROMISE.", + "id": "GoogleCloudContactcenterinsightsV1DialogflowIntent", + "properties": { + "displayName": { + "description": "The human-readable name of the intent.", "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1DialogflowInteractionData": { + "description": "Dialogflow interaction data.", + "id": "GoogleCloudContactcenterinsightsV1DialogflowInteractionData", + "properties": { + "confidence": { + "description": "The confidence of the match ranging from 0.0 (completely uncertain) to 1.0 (completely certain).", + "format": "float", + "type": "number" }, - "name": { - "description": "Immutable. The resource name of the conversation. Format: projects/{project}/locations/{location}/conversations/{conversation}", + "dialogflowIntentId": { + "description": "The Dialogflow intent resource path. Format: projects/{project}/agent/{agent}/intents/{intent}", "type": "string" - }, - "obfuscatedUserId": { - "description": "Obfuscated user ID which the customer sent to us.", + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1DialogflowSource": { + "description": "A Dialogflow source of conversation data.", + "id": "GoogleCloudContactcenterinsightsV1DialogflowSource", + "properties": { + "audioUri": { + "description": "Cloud Storage URI that points to a file that contains the conversation audio.", "type": "string" }, - "qualityMetadata": { - "$ref": "GoogleCloudContactcenterinsightsV1ConversationQualityMetadata", - "description": "Conversation metadata related to quality management." - }, - "runtimeAnnotations": { - "description": "Output only. The annotations that were generated during the customer and agent interaction.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1RuntimeAnnotation" - }, + "dialogflowConversation": { + "description": "Output only. The name of the Dialogflow conversation that this conversation resource is derived from. Format: projects/{project}/locations/{location}/conversations/{conversation}", "readOnly": true, - "type": "array" - }, - "startTime": { - "description": "The time at which the conversation started.", - "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1Dimension": { + "description": "A dimension determines the grouping key for the query. In SQL terms, these would be part of both the \"SELECT\" and \"GROUP BY\" clauses.", + "id": "GoogleCloudContactcenterinsightsV1Dimension", + "properties": { + "agentDimensionMetadata": { + "$ref": "GoogleCloudContactcenterinsightsV1DimensionAgentDimensionMetadata", + "description": "Output only. Metadata about the agent dimension.", + "readOnly": true + }, + "dimensionKey": { + "description": "The key of the dimension.", + "enum": [ + "DIMENSION_KEY_UNSPECIFIED", + "ISSUE", + "AGENT", + "AGENT_TEAM", + "QA_QUESTION_ID", + "QA_QUESTION_ANSWER_VALUE", + "CONVERSATION_PROFILE_ID" + ], + "enumDescriptions": [ + "The key of the dimension is unspecified.", + "The dimension is keyed by issues.", + "The dimension is keyed by agents.", + "The dimension is keyed by agent teams.", + "The dimension is keyed by QaQuestionIds. Note that: We only group by the QuestionId and not the revision-id of the scorecard this question is a part of. This allows for showing stats for the same question across different scorecard revisions.", + "The dimension is keyed by QaQuestionIds-Answer value pairs. Note that: We only group by the QuestionId and not the revision-id of the scorecard this question is a part of. This allows for showing distribution of answers per question across different scorecard revisions.", + "The dimension is keyed by the conversation profile ID." + ], "type": "string" }, - "transcript": { - "$ref": "GoogleCloudContactcenterinsightsV1ConversationTranscript", - "description": "Output only. The conversation transcript.", + "issueDimensionMetadata": { + "$ref": "GoogleCloudContactcenterinsightsV1DimensionIssueDimensionMetadata", + "description": "Output only. Metadata about the issue dimension.", "readOnly": true }, - "ttl": { - "description": "Input only. The TTL for this resource. If specified, then this TTL will be used to calculate the expire time.", - "format": "google-duration", + "qaQuestionAnswerDimensionMetadata": { + "$ref": "GoogleCloudContactcenterinsightsV1DimensionQaQuestionAnswerDimensionMetadata", + "description": "Output only. Metadata about the QA question-answer dimension.", + "readOnly": true + }, + "qaQuestionDimensionMetadata": { + "$ref": "GoogleCloudContactcenterinsightsV1DimensionQaQuestionDimensionMetadata", + "description": "Output only. Metadata about the QA question dimension.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1DimensionAgentDimensionMetadata": { + "description": "Metadata about the agent dimension.", + "id": "GoogleCloudContactcenterinsightsV1DimensionAgentDimensionMetadata", + "properties": { + "agentDisplayName": { + "description": "Optional. The agent's name", "type": "string" }, - "turnCount": { - "description": "Output only. The number of turns in the conversation.", - "format": "int32", - "readOnly": true, - "type": "integer" + "agentId": { + "description": "Optional. A user-specified string representing the agent.", + "type": "string" }, - "updateTime": { - "description": "Output only. The most recent time at which the conversation was updated.", - "format": "google-datetime", - "readOnly": true, + "agentTeam": { + "description": "Optional. A user-specified string representing the agent's team.", "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ConversationCallMetadata": { - "description": "Call-specific metadata.", - "id": "GoogleCloudContactcenterinsightsV1ConversationCallMetadata", + "GoogleCloudContactcenterinsightsV1DimensionIssueDimensionMetadata": { + "description": "Metadata about the issue dimension.", + "id": "GoogleCloudContactcenterinsightsV1DimensionIssueDimensionMetadata", "properties": { - "agentChannel": { - "description": "The audio channel that contains the agent.", - "format": "int32", - "type": "integer" + "issueDisplayName": { + "description": "The issue display name.", + "type": "string" }, - "customerChannel": { - "description": "The audio channel that contains the customer.", - "format": "int32", - "type": "integer" + "issueId": { + "description": "The issue ID.", + "type": "string" + }, + "issueModelId": { + "description": "The parent issue model ID.", + "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ConversationDataSource": { - "description": "The conversation source, which is a combination of transcript and audio.", - "id": "GoogleCloudContactcenterinsightsV1ConversationDataSource", + "GoogleCloudContactcenterinsightsV1DimensionQaQuestionAnswerDimensionMetadata": { + "description": "Metadata about the QA question-answer dimension. This is useful for showing the answer distribution for questions for a given scorecard.", + "id": "GoogleCloudContactcenterinsightsV1DimensionQaQuestionAnswerDimensionMetadata", "properties": { - "dialogflowSource": { - "$ref": "GoogleCloudContactcenterinsightsV1DialogflowSource", - "description": "The source when the conversation comes from Dialogflow." + "answerValue": { + "description": "Optional. The full body of the question.", + "type": "string" }, - "gcsSource": { - "$ref": "GoogleCloudContactcenterinsightsV1GcsSource", - "description": "A Cloud Storage location specification for the audio and transcript." + "qaQuestionId": { + "description": "Optional. The QA question ID.", + "type": "string" + }, + "qaScorecardId": { + "description": "Optional. The QA scorecard ID.", + "type": "string" + }, + "questionBody": { + "description": "Optional. The full body of the question.", + "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ConversationLevelSentiment": { - "description": "One channel of conversation-level sentiment data.", - "id": "GoogleCloudContactcenterinsightsV1ConversationLevelSentiment", + "GoogleCloudContactcenterinsightsV1DimensionQaQuestionDimensionMetadata": { + "description": "Metadata about the QA question dimension.", + "id": "GoogleCloudContactcenterinsightsV1DimensionQaQuestionDimensionMetadata", "properties": { - "channelTag": { - "description": "The channel of the audio that the data applies to.", - "format": "int32", - "type": "integer" + "qaQuestionId": { + "description": "Optional. The QA question ID.", + "type": "string" }, - "sentimentData": { - "$ref": "GoogleCloudContactcenterinsightsV1SentimentData", - "description": "Data specifying sentiment." + "qaScorecardId": { + "description": "Optional. The QA scorecard ID.", + "type": "string" + }, + "questionBody": { + "description": "Optional. The full body of the question.", + "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ConversationLevelSilence": { - "description": "Conversation-level silence data.", - "id": "GoogleCloudContactcenterinsightsV1ConversationLevelSilence", + "GoogleCloudContactcenterinsightsV1EncryptionSpec": { + "description": "A customer-managed encryption key specification that can be applied to all created resources (e.g. `Conversation`).", + "id": "GoogleCloudContactcenterinsightsV1EncryptionSpec", "properties": { - "silenceDuration": { - "description": "Amount of time calculated to be in silence.", - "format": "google-duration", + "kmsKey": { + "description": "Required. The name of customer-managed encryption key that is used to secure a resource and its sub-resources. If empty, the resource is secured by our default encryption key. Only the key in the same location as this resource is allowed to be used for encryption. Format: `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{key}`", "type": "string" }, - "silencePercentage": { - "description": "Percentage of the total conversation spent in silence.", - "format": "float", - "type": "number" + "name": { + "description": "Immutable. The resource name of the encryption key specification resource. Format: projects/{project}/locations/{location}/encryptionSpec", + "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ConversationParticipant": { - "description": "The call participant speaking for a given utterance.", - "id": "GoogleCloudContactcenterinsightsV1ConversationParticipant", + "GoogleCloudContactcenterinsightsV1Entity": { + "description": "The data for an entity annotation. Represents a phrase in the conversation that is a known entity, such as a person, an organization, or location.", + "id": "GoogleCloudContactcenterinsightsV1Entity", "properties": { - "dialogflowParticipant": { - "deprecated": true, - "description": "Deprecated. Use `dialogflow_participant_name` instead. The name of the Dialogflow participant. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}", + "displayName": { + "description": "The representative name for the entity.", "type": "string" }, - "dialogflowParticipantName": { - "description": "The name of the participant provided by Dialogflow. Format: projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}", - "type": "string" + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Metadata associated with the entity. For most entity types, the metadata is a Wikipedia URL (`wikipedia_url`) and Knowledge Graph MID (`mid`), if they are available. For the metadata associated with other entity types, see the Type table below.", + "type": "object" }, - "obfuscatedExternalUserId": { - "description": "Obfuscated user ID from Dialogflow.", - "type": "string" + "salience": { + "description": "The salience score associated with the entity in the [0, 1.0] range. The salience score for an entity provides information about the importance or centrality of that entity to the entire document text. Scores closer to 0 are less salient, while scores closer to 1.0 are highly salient.", + "format": "float", + "type": "number" }, - "role": { - "description": "The role of the participant.", + "sentiment": { + "$ref": "GoogleCloudContactcenterinsightsV1SentimentData", + "description": "The aggregate sentiment expressed for this entity in the conversation." + }, + "type": { + "description": "The entity type.", "enum": [ - "ROLE_UNSPECIFIED", - "HUMAN_AGENT", - "AUTOMATED_AGENT", - "END_USER", - "ANY_AGENT" + "TYPE_UNSPECIFIED", + "PERSON", + "LOCATION", + "ORGANIZATION", + "EVENT", + "WORK_OF_ART", + "CONSUMER_GOOD", + "OTHER", + "PHONE_NUMBER", + "ADDRESS", + "DATE", + "NUMBER", + "PRICE" ], "enumDescriptions": [ - "Participant's role is not set.", - "Participant is a human agent.", - "Participant is an automated agent.", - "Participant is an end user who conversed with the contact center.", - "Participant is either a human or automated agent." + "Unspecified.", + "Person.", + "Location.", + "Organization.", + "Event.", + "Artwork.", + "Consumer product.", + "Other types of entities.", + "Phone number. The metadata lists the phone number (formatted according to local convention), plus whichever additional elements appear in the text: * `number` - The actual number, broken down into sections according to local convention. * `national_prefix` - Country code, if detected. * `area_code` - Region or area code, if detected. * `extension` - Phone extension (to be dialed after connection), if detected.", + "Address. The metadata identifies the street number and locality plus whichever additional elements appear in the text: * `street_number` - Street number. * `locality` - City or town. * `street_name` - Street/route name, if detected. * `postal_code` - Postal code, if detected. * `country` - Country, if detected. * `broad_region` - Administrative area, such as the state, if detected. * `narrow_region` - Smaller administrative area, such as county, if detected. * `sublocality` - Used in Asian addresses to demark a district within a city, if detected.", + "Date. The metadata identifies the components of the date: * `year` - Four digit year, if detected. * `month` - Two digit month number, if detected. * `day` - Two digit day number, if detected.", + "Number. The metadata is the number itself.", + "Price. The metadata identifies the `value` and `currency`." ], "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1EntityMentionData": { + "description": "The data for an entity mention annotation. This represents a mention of an `Entity` in the conversation.", + "id": "GoogleCloudContactcenterinsightsV1EntityMentionData", + "properties": { + "entityUniqueId": { + "description": "The key of this entity in conversation entities. Can be used to retrieve the exact `Entity` this mention is attached to.", + "type": "string" }, - "userId": { - "description": "A user-specified ID representing the participant.", + "sentiment": { + "$ref": "GoogleCloudContactcenterinsightsV1SentimentData", + "description": "Sentiment expressed for this mention of the entity." + }, + "type": { + "description": "The type of the entity mention.", + "enum": [ + "MENTION_TYPE_UNSPECIFIED", + "PROPER", + "COMMON" + ], + "enumDescriptions": [ + "Unspecified.", + "Proper noun.", + "Common noun (or noun compound)." + ], "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ConversationQualityMetadata": { - "description": "Conversation metadata related to quality management.", - "id": "GoogleCloudContactcenterinsightsV1ConversationQualityMetadata", + "GoogleCloudContactcenterinsightsV1ExactMatchConfig": { + "description": "Exact match configuration.", + "id": "GoogleCloudContactcenterinsightsV1ExactMatchConfig", "properties": { - "agentInfo": { - "description": "Information about agents involved in the call.", + "caseSensitive": { + "description": "Whether to consider case sensitivity when performing an exact match.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ExportInsightsDataMetadata": { + "description": "Metadata for an export insights operation.", + "id": "GoogleCloudContactcenterinsightsV1ExportInsightsDataMetadata", + "properties": { + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "partialErrors": { + "description": "Partial errors during export operation that might cause the operation output to be incomplete.", "items": { - "$ref": "GoogleCloudContactcenterinsightsV1ConversationQualityMetadataAgentInfo" + "$ref": "GoogleRpcStatus" }, "type": "array" }, - "customerSatisfactionRating": { - "description": "An arbitrary integer value indicating the customer's satisfaction rating.", - "format": "int32", - "type": "integer" + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest", + "description": "The original request for export." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest": { + "description": "The request to export insights.", + "id": "GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest", + "properties": { + "bigQueryDestination": { + "$ref": "GoogleCloudContactcenterinsightsV1ExportInsightsDataRequestBigQueryDestination", + "description": "Specified if sink is a BigQuery table." }, - "menuPath": { - "description": "An arbitrary string value specifying the menu path the customer took.", + "filter": { + "description": "A filter to reduce results to a specific subset. Useful for exporting conversations with specific properties.", + "type": "string" + }, + "kmsKey": { + "description": "A fully qualified KMS key name for BigQuery tables protected by CMEK. Format: projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}/cryptoKeyVersions/{version}", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource to export data from.", "type": "string" }, - "waitDuration": { - "description": "The amount of time the customer waited to connect with an agent.", - "format": "google-duration", + "writeDisposition": { + "description": "Options for what to do if the destination table already exists.", + "enum": [ + "WRITE_DISPOSITION_UNSPECIFIED", + "WRITE_TRUNCATE", + "WRITE_APPEND" + ], + "enumDescriptions": [ + "Write disposition is not specified. Defaults to WRITE_TRUNCATE.", + "If the table already exists, BigQuery will overwrite the table data and use the schema from the load.", + "If the table already exists, BigQuery will append data to the table." + ], "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ConversationQualityMetadataAgentInfo": { - "description": "Information about an agent involved in the conversation.", - "id": "GoogleCloudContactcenterinsightsV1ConversationQualityMetadataAgentInfo", + "GoogleCloudContactcenterinsightsV1ExportInsightsDataRequestBigQueryDestination": { + "description": "A BigQuery Table Reference.", + "id": "GoogleCloudContactcenterinsightsV1ExportInsightsDataRequestBigQueryDestination", "properties": { - "agentId": { - "description": "A user-specified string representing the agent.", - "type": "string" - }, - "displayName": { - "description": "The agent's name.", + "dataset": { + "description": "Required. The name of the BigQuery dataset that the snapshot result should be exported to. If this dataset does not exist, the export call returns an INVALID_ARGUMENT error.", "type": "string" }, - "dispositionCode": { - "description": "A user-provided string indicating the outcome of the agent's segment of the call.", + "projectId": { + "description": "A project ID or number. If specified, then export will attempt to write data to this project instead of the resource project. Otherwise, the resource project will be used.", "type": "string" }, - "team": { - "description": "A user-specified string representing the agent's team.", + "table": { + "description": "The BigQuery table name to which the insights data should be written. If this table does not exist, the export call returns an INVALID_ARGUMENT error.", "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ConversationSummarizationSuggestionData": { - "description": "Conversation summarization suggestion data.", - "id": "GoogleCloudContactcenterinsightsV1ConversationSummarizationSuggestionData", + "GoogleCloudContactcenterinsightsV1ExportInsightsDataResponse": { + "description": "Response for an export insights operation.", + "id": "GoogleCloudContactcenterinsightsV1ExportInsightsDataResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ExportIssueModelMetadata": { + "description": "Metadata used for export issue model.", + "id": "GoogleCloudContactcenterinsightsV1ExportIssueModelMetadata", "properties": { - "answerRecord": { - "description": "The name of the answer record. Format: projects/{project}/locations/{location}/answerRecords/{answer_record}", + "createTime": { + "description": "The time the operation was created.", + "format": "google-datetime", "type": "string" }, - "confidence": { - "description": "The confidence score of the summarization.", - "format": "float", - "type": "number" - }, - "conversationModel": { - "description": "The name of the model that generates this summary. Format: projects/{project}/locations/{location}/conversationModels/{conversation_model}", + "endTime": { + "description": "The time the operation finished running.", + "format": "google-datetime", "type": "string" }, - "metadata": { - "additionalProperties": { - "type": "string" - }, - "description": "A map that contains metadata about the summarization and the document from which it originates.", - "type": "object" + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1ExportIssueModelRequest", + "description": "The original export request." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ExportIssueModelRequest": { + "description": "Request to export an issue model.", + "id": "GoogleCloudContactcenterinsightsV1ExportIssueModelRequest", + "properties": { + "gcsDestination": { + "$ref": "GoogleCloudContactcenterinsightsV1ExportIssueModelRequestGcsDestination", + "description": "Google Cloud Storage URI to export the issue model to." }, - "text": { - "description": "The summarization content that is concatenated into one string.", + "name": { + "description": "Required. The issue model to export.", "type": "string" - }, - "textSections": { - "additionalProperties": { - "type": "string" - }, - "description": "The summarization content that is divided into sections. The key is the section's name and the value is the section's content. There is no specific format for the key or value.", - "type": "object" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ConversationTranscript": { - "description": "A message representing the transcript of a conversation.", - "id": "GoogleCloudContactcenterinsightsV1ConversationTranscript", + "GoogleCloudContactcenterinsightsV1ExportIssueModelRequestGcsDestination": { + "description": "Google Cloud Storage Object URI to save the issue model to.", + "id": "GoogleCloudContactcenterinsightsV1ExportIssueModelRequestGcsDestination", "properties": { - "transcriptSegments": { - "description": "A list of sequential transcript segments that comprise the conversation.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegment" - }, - "type": "array" + "objectUri": { + "description": "Required. Format: `gs:///`", + "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegment": { - "description": "A segment of a full transcript.", - "id": "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegment", + "GoogleCloudContactcenterinsightsV1ExportIssueModelResponse": { + "description": "Response from export issue model", + "id": "GoogleCloudContactcenterinsightsV1ExportIssueModelResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1FaqAnswerData": { + "description": "Agent Assist frequently-asked-question answer data.", + "id": "GoogleCloudContactcenterinsightsV1FaqAnswerData", "properties": { - "channelTag": { - "description": "For conversations derived from multi-channel audio, this is the channel number corresponding to the audio from that channel. For audioChannelCount = N, its output values can range from '1' to 'N'. A channel tag of 0 indicates that the audio is mono.", - "format": "int32", - "type": "integer" + "answer": { + "description": "The piece of text from the `source` knowledge base document.", + "type": "string" }, - "confidence": { - "description": "A confidence estimate between 0.0 and 1.0 of the fidelity of this segment. A default value of 0.0 indicates that the value is unset.", + "confidenceScore": { + "description": "The system's confidence score that this answer is a good match for this conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely certain).", "format": "float", "type": "number" }, - "dialogflowSegmentMetadata": { - "$ref": "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentDialogflowSegmentMetadata", - "description": "CCAI metadata relating to the current transcript segment." + "metadata": { + "additionalProperties": { + "type": "string" + }, + "description": "Map that contains metadata about the FAQ answer and the document that it originates from.", + "type": "object" }, - "languageCode": { - "description": "The language code of this segment as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. Example: \"en-US\".", + "queryRecord": { + "description": "The name of the answer record. Format: projects/{project}/locations/{location}/answerRecords/{answer_record}", "type": "string" }, - "messageTime": { - "description": "The time that the message occurred, if provided.", - "format": "google-datetime", + "question": { + "description": "The corresponding FAQ question.", "type": "string" }, - "segmentParticipant": { - "$ref": "GoogleCloudContactcenterinsightsV1ConversationParticipant", - "description": "The participant of this segment." - }, - "sentiment": { - "$ref": "GoogleCloudContactcenterinsightsV1SentimentData", - "description": "The sentiment for this transcript segment." - }, - "text": { - "description": "The text of this segment.", + "source": { + "description": "The knowledge document that this answer was extracted from. Format: projects/{project}/knowledgeBases/{knowledge_base}/documents/{document}.", "type": "string" - }, - "words": { - "description": "A list of the word-specific information for each word in the segment.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentWordInfo" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentDialogflowSegmentMetadata": { - "description": "Metadata from Dialogflow relating to the current transcript segment.", - "id": "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentDialogflowSegmentMetadata", - "properties": { - "smartReplyAllowlistCovered": { - "description": "Whether the transcript segment was covered under the configured smart reply allowlist in Agent Assist.", - "type": "boolean" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentWordInfo": { - "description": "Word-level info for words in a transcript.", - "id": "GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentWordInfo", + "GoogleCloudContactcenterinsightsV1FeedbackLabel": { + "description": "Represents a conversation, resource, and label provided by the user.", + "id": "GoogleCloudContactcenterinsightsV1FeedbackLabel", "properties": { - "confidence": { - "description": "A confidence estimate between 0.0 and 1.0 of the fidelity of this word. A default value of 0.0 indicates that the value is unset.", - "format": "float", - "type": "number" + "createTime": { + "description": "Output only. Create time of the label.", + "format": "google-datetime", + "readOnly": true, + "type": "string" }, - "endOffset": { - "description": "Time offset of the end of this word relative to the beginning of the total conversation.", - "format": "google-duration", + "label": { + "description": "String label.", "type": "string" }, - "startOffset": { - "description": "Time offset of the start of this word relative to the beginning of the total conversation.", - "format": "google-duration", + "labeledResource": { + "description": "Resource name of the resource to be labeled.", "type": "string" }, - "word": { - "description": "The word itself. Includes punctuation marks that surround the word.", + "name": { + "description": "Immutable. Resource name of the FeedbackLabel. Format: projects/{project}/locations/{location}/conversations/{conversation}/feedbackLabels/{feedback_label}", + "type": "string" + }, + "qaAnswerLabel": { + "$ref": "GoogleCloudContactcenterinsightsV1QaAnswerAnswerValue", + "description": "QaAnswer label." + }, + "updateTime": { + "description": "Output only. Update time of the label.", + "format": "google-datetime", + "readOnly": true, "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1CreateAnalysisOperationMetadata": { - "description": "Metadata for a create analysis operation.", - "id": "GoogleCloudContactcenterinsightsV1CreateAnalysisOperationMetadata", + "GoogleCloudContactcenterinsightsV1GcsSource": { + "description": "A Cloud Storage source of conversation data.", + "id": "GoogleCloudContactcenterinsightsV1GcsSource", "properties": { - "annotatorSelector": { - "$ref": "GoogleCloudContactcenterinsightsV1AnnotatorSelector", - "description": "Output only. The annotator selector used for the analysis (if any).", - "readOnly": true - }, - "conversation": { - "description": "Output only. The Conversation that this Analysis Operation belongs to.", - "readOnly": true, - "type": "string" - }, - "createTime": { - "description": "Output only. The time the operation was created.", - "format": "google-datetime", - "readOnly": true, + "audioUri": { + "description": "Cloud Storage URI that points to a file that contains the conversation audio.", "type": "string" }, - "endTime": { - "description": "Output only. The time the operation finished running.", - "format": "google-datetime", - "readOnly": true, + "transcriptUri": { + "description": "Immutable. Cloud Storage URI that points to a file that contains the conversation transcript.", "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1CreateIssueModelMetadata": { - "description": "Metadata for creating an issue model.", - "id": "GoogleCloudContactcenterinsightsV1CreateIssueModelMetadata", + "GoogleCloudContactcenterinsightsV1HoldData": { + "description": "The data for a hold annotation.", + "id": "GoogleCloudContactcenterinsightsV1HoldData", + "properties": {}, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ImportIssueModelMetadata": { + "description": "Metadata used for import issue model.", + "id": "GoogleCloudContactcenterinsightsV1ImportIssueModelMetadata", "properties": { "createTime": { - "description": "Output only. The time the operation was created.", + "description": "The time the operation was created.", "format": "google-datetime", - "readOnly": true, "type": "string" }, "endTime": { - "description": "Output only. The time the operation finished running.", + "description": "The time the operation finished running.", "format": "google-datetime", - "readOnly": true, "type": "string" }, "request": { - "$ref": "GoogleCloudContactcenterinsightsV1CreateIssueModelRequest", - "description": "The original request for creation." + "$ref": "GoogleCloudContactcenterinsightsV1ImportIssueModelRequest", + "description": "The original import request." } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1CreateIssueModelRequest": { - "description": "The request to create an issue model.", - "id": "GoogleCloudContactcenterinsightsV1CreateIssueModelRequest", + "GoogleCloudContactcenterinsightsV1ImportIssueModelRequest": { + "description": "Request to import an issue model.", + "id": "GoogleCloudContactcenterinsightsV1ImportIssueModelRequest", "properties": { - "issueModel": { - "$ref": "GoogleCloudContactcenterinsightsV1IssueModel", - "description": "Required. The issue model to create." + "createNewModel": { + "description": "Optional. If set to true, will create an issue model from the imported file with randomly generated IDs for the issue model and corresponding issues. Otherwise, replaces an existing model with the same ID as the file.", + "type": "boolean" + }, + "gcsSource": { + "$ref": "GoogleCloudContactcenterinsightsV1ImportIssueModelRequestGcsSource", + "description": "Google Cloud Storage source message." }, "parent": { "description": "Required. The parent resource of the issue model.", @@ -2589,43 +4663,31 @@ }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1DeleteIssueModelMetadata": { - "description": "Metadata for deleting an issue model.", - "id": "GoogleCloudContactcenterinsightsV1DeleteIssueModelMetadata", + "GoogleCloudContactcenterinsightsV1ImportIssueModelRequestGcsSource": { + "description": "Google Cloud Storage Object URI to get the issue model file from.", + "id": "GoogleCloudContactcenterinsightsV1ImportIssueModelRequestGcsSource", "properties": { - "createTime": { - "description": "Output only. The time the operation was created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "endTime": { - "description": "Output only. The time the operation finished running.", - "format": "google-datetime", - "readOnly": true, + "objectUri": { + "description": "Required. Format: `gs:///`", "type": "string" - }, - "request": { - "$ref": "GoogleCloudContactcenterinsightsV1DeleteIssueModelRequest", - "description": "The original request for deletion." } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1DeleteIssueModelRequest": { - "description": "The request to delete an issue model.", - "id": "GoogleCloudContactcenterinsightsV1DeleteIssueModelRequest", + "GoogleCloudContactcenterinsightsV1ImportIssueModelResponse": { + "description": "Response from import issue model", + "id": "GoogleCloudContactcenterinsightsV1ImportIssueModelResponse", "properties": { - "name": { - "description": "Required. The name of the issue model to delete.", - "type": "string" + "issueModel": { + "$ref": "GoogleCloudContactcenterinsightsV1IssueModel", + "description": "The issue model that was imported." } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1DeployIssueModelMetadata": { - "description": "Metadata for deploying an issue model.", - "id": "GoogleCloudContactcenterinsightsV1DeployIssueModelMetadata", + "GoogleCloudContactcenterinsightsV1IngestConversationsMetadata": { + "description": "The metadata for an IngestConversations operation.", + "id": "GoogleCloudContactcenterinsightsV1IngestConversationsMetadata", "properties": { "createTime": { "description": "Output only. The time the operation was created.", @@ -2639,192 +4701,181 @@ "readOnly": true, "type": "string" }, + "ingestConversationsStats": { + "$ref": "GoogleCloudContactcenterinsightsV1IngestConversationsMetadataIngestConversationsStats", + "description": "Output only. Statistics for IngestConversations operation.", + "readOnly": true + }, + "partialErrors": { + "description": "Output only. Partial errors during ingest operation that might cause the operation output to be incomplete.", + "items": { + "$ref": "GoogleRpcStatus" + }, + "readOnly": true, + "type": "array" + }, "request": { - "$ref": "GoogleCloudContactcenterinsightsV1DeployIssueModelRequest", - "description": "The original request for deployment." - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1DeployIssueModelRequest": { - "description": "The request to deploy an issue model.", - "id": "GoogleCloudContactcenterinsightsV1DeployIssueModelRequest", - "properties": { - "name": { - "description": "Required. The issue model to deploy.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1DeployIssueModelResponse": { - "description": "The response to deploy an issue model.", - "id": "GoogleCloudContactcenterinsightsV1DeployIssueModelResponse", - "properties": {}, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1DialogflowIntent": { - "description": "The data for a Dialogflow intent. Represents a detected intent in the conversation, e.g. MAKES_PROMISE.", - "id": "GoogleCloudContactcenterinsightsV1DialogflowIntent", - "properties": { - "displayName": { - "description": "The human-readable name of the intent.", - "type": "string" + "$ref": "GoogleCloudContactcenterinsightsV1IngestConversationsRequest", + "description": "Output only. The original request for ingest.", + "readOnly": true } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1DialogflowInteractionData": { - "description": "Dialogflow interaction data.", - "id": "GoogleCloudContactcenterinsightsV1DialogflowInteractionData", + "GoogleCloudContactcenterinsightsV1IngestConversationsMetadataIngestConversationsStats": { + "description": "Statistics for IngestConversations operation.", + "id": "GoogleCloudContactcenterinsightsV1IngestConversationsMetadataIngestConversationsStats", "properties": { - "confidence": { - "description": "The confidence of the match ranging from 0.0 (completely uncertain) to 1.0 (completely certain).", - "format": "float", - "type": "number" + "duplicatesSkippedCount": { + "description": "Output only. The number of objects skipped because another conversation with the same transcript uri had already been ingested.", + "format": "int32", + "readOnly": true, + "type": "integer" }, - "dialogflowIntentId": { - "description": "The Dialogflow intent resource path. Format: projects/{project}/agent/{agent}/intents/{intent}", - "type": "string" + "failedIngestCount": { + "description": "Output only. The number of objects which were unable to be ingested due to errors. The errors are populated in the partial_errors field.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "processedObjectCount": { + "description": "Output only. The number of objects processed during the ingest operation.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "successfulIngestCount": { + "description": "Output only. The number of new conversations added during this ingest operation.", + "format": "int32", + "readOnly": true, + "type": "integer" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1DialogflowSource": { - "description": "A Dialogflow source of conversation data.", - "id": "GoogleCloudContactcenterinsightsV1DialogflowSource", + "GoogleCloudContactcenterinsightsV1IngestConversationsRequest": { + "description": "The request to ingest conversations.", + "id": "GoogleCloudContactcenterinsightsV1IngestConversationsRequest", "properties": { - "audioUri": { - "description": "Cloud Storage URI that points to a file that contains the conversation audio.", - "type": "string" + "conversationConfig": { + "$ref": "GoogleCloudContactcenterinsightsV1IngestConversationsRequestConversationConfig", + "description": "Configuration that applies to all conversations." }, - "dialogflowConversation": { - "description": "Output only. The name of the Dialogflow conversation that this conversation resource is derived from. Format: projects/{project}/locations/{location}/conversations/{conversation}", - "readOnly": true, + "gcsSource": { + "$ref": "GoogleCloudContactcenterinsightsV1IngestConversationsRequestGcsSource", + "description": "A cloud storage bucket source. Note that any previously ingested objects from the source will be skipped to avoid duplication." + }, + "parent": { + "description": "Required. The parent resource for new conversations.", "type": "string" + }, + "redactionConfig": { + "$ref": "GoogleCloudContactcenterinsightsV1RedactionConfig", + "description": "Optional. DLP settings for transcript redaction. Optional, will default to the config specified in Settings." + }, + "sampleSize": { + "description": "Optional. If set, this fields indicates the number of objects to ingest from the Cloud Storage bucket. If empty, the entire bucket will be ingested. Unless they are first deleted, conversations produced through sampling won't be ingested by subsequent ingest requests.", + "format": "int32", + "type": "integer" + }, + "speechConfig": { + "$ref": "GoogleCloudContactcenterinsightsV1SpeechConfig", + "description": "Optional. Default Speech-to-Text configuration. Optional, will default to the config specified in Settings." + }, + "transcriptObjectConfig": { + "$ref": "GoogleCloudContactcenterinsightsV1IngestConversationsRequestTranscriptObjectConfig", + "description": "Configuration for when `source` contains conversation transcripts." } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1EncryptionSpec": { - "description": "A customer-managed encryption key specification that can be applied to all created resources (e.g. Conversation).", - "id": "GoogleCloudContactcenterinsightsV1EncryptionSpec", + "GoogleCloudContactcenterinsightsV1IngestConversationsRequestConversationConfig": { + "description": "Configuration that applies to all conversations.", + "id": "GoogleCloudContactcenterinsightsV1IngestConversationsRequestConversationConfig", "properties": { - "kmsKey": { - "description": "Required. The name of customer-managed encryption key that is used to secure a resource and its sub-resources. If empty, the resource is secured by the default Google encryption key. Only the key in the same location as this resource is allowed to be used for encryption. Format: `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{key}`", - "type": "string" + "agentChannel": { + "description": "Optional. Indicates which of the channels, 1 or 2, contains the agent. Note that this must be set for conversations to be properly displayed and analyzed.", + "format": "int32", + "type": "integer" }, - "name": { - "description": "Immutable. The resource name of the encryption key specification resource. Format: projects/{project}/locations/{location}/encryptionSpec", + "agentId": { + "description": "Optional. An opaque, user-specified string representing a human agent who handled all conversations in the import. Note that this will be overridden if per-conversation metadata is provided through the `metadata_bucket_uri`.", "type": "string" + }, + "customerChannel": { + "description": "Optional. Indicates which of the channels, 1 or 2, contains the agent. Note that this must be set for conversations to be properly displayed and analyzed.", + "format": "int32", + "type": "integer" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1Entity": { - "description": "The data for an entity annotation. Represents a phrase in the conversation that is a known entity, such as a person, an organization, or location.", - "id": "GoogleCloudContactcenterinsightsV1Entity", + "GoogleCloudContactcenterinsightsV1IngestConversationsRequestGcsSource": { + "description": "Configuration for Cloud Storage bucket sources.", + "id": "GoogleCloudContactcenterinsightsV1IngestConversationsRequestGcsSource", "properties": { - "displayName": { - "description": "The representative name for the entity.", - "type": "string" - }, - "metadata": { - "additionalProperties": { - "type": "string" - }, - "description": "Metadata associated with the entity. For most entity types, the metadata is a Wikipedia URL (`wikipedia_url`) and Knowledge Graph MID (`mid`), if they are available. For the metadata associated with other entity types, see the Type table below.", - "type": "object" - }, - "salience": { - "description": "The salience score associated with the entity in the [0, 1.0] range. The salience score for an entity provides information about the importance or centrality of that entity to the entire document text. Scores closer to 0 are less salient, while scores closer to 1.0 are highly salient.", - "format": "float", - "type": "number" - }, - "sentiment": { - "$ref": "GoogleCloudContactcenterinsightsV1SentimentData", - "description": "The aggregate sentiment expressed for this entity in the conversation." - }, - "type": { - "description": "The entity type.", + "bucketObjectType": { + "description": "Optional. Specifies the type of the objects in `bucket_uri`.", "enum": [ - "TYPE_UNSPECIFIED", - "PERSON", - "LOCATION", - "ORGANIZATION", - "EVENT", - "WORK_OF_ART", - "CONSUMER_GOOD", - "OTHER", - "PHONE_NUMBER", - "ADDRESS", - "DATE", - "NUMBER", - "PRICE" + "BUCKET_OBJECT_TYPE_UNSPECIFIED", + "TRANSCRIPT", + "AUDIO" ], "enumDescriptions": [ - "Unspecified.", - "Person.", - "Location.", - "Organization.", - "Event.", - "Artwork.", - "Consumer product.", - "Other types of entities.", - "Phone number. The metadata lists the phone number (formatted according to local convention), plus whichever additional elements appear in the text: * `number` - The actual number, broken down into sections according to local convention. * `national_prefix` - Country code, if detected. * `area_code` - Region or area code, if detected. * `extension` - Phone extension (to be dialed after connection), if detected.", - "Address. The metadata identifies the street number and locality plus whichever additional elements appear in the text: * `street_number` - Street number. * `locality` - City or town. * `street_name` - Street/route name, if detected. * `postal_code` - Postal code, if detected. * `country` - Country, if detected. * `broad_region` - Administrative area, such as the state, if detected. * `narrow_region` - Smaller administrative area, such as county, if detected. * `sublocality` - Used in Asian addresses to demark a district within a city, if detected.", - "Date. The metadata identifies the components of the date: * `year` - Four digit year, if detected. * `month` - Two digit month number, if detected. * `day` - Two digit day number, if detected.", - "Number. The metadata is the number itself.", - "Price. The metadata identifies the `value` and `currency`." + "The object type is unspecified and will default to `TRANSCRIPT`.", + "The object is a transcript.", + "The object is an audio file." ], "type": "string" + }, + "bucketUri": { + "description": "Required. The Cloud Storage bucket containing source objects.", + "type": "string" + }, + "customMetadataKeys": { + "description": "Optional. Custom keys to extract as conversation labels from metadata files in `metadata_bucket_uri`. Keys not included in this field will be ignored. Note that there is a limit of 100 labels per conversation.", + "items": { + "type": "string" + }, + "type": "array" + }, + "metadataBucketUri": { + "description": "Optional. The Cloud Storage path to the conversation metadata. Note that: [1] Metadata files are expected to be in JSON format. [2] Metadata and source files (transcripts or audio) must be in separate buckets. [3] A source file and its corresponding metadata file must share the same name to be properly ingested, E.g. `gs://bucket/audio/conversation1.mp3` and `gs://bucket/metadata/conversation1.json`.", + "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1EntityMentionData": { - "description": "The data for an entity mention annotation. This represents a mention of an `Entity` in the conversation.", - "id": "GoogleCloudContactcenterinsightsV1EntityMentionData", + "GoogleCloudContactcenterinsightsV1IngestConversationsRequestTranscriptObjectConfig": { + "description": "Configuration for processing transcript objects.", + "id": "GoogleCloudContactcenterinsightsV1IngestConversationsRequestTranscriptObjectConfig", "properties": { - "entityUniqueId": { - "description": "The key of this entity in conversation entities. Can be used to retrieve the exact `Entity` this mention is attached to.", - "type": "string" - }, - "sentiment": { - "$ref": "GoogleCloudContactcenterinsightsV1SentimentData", - "description": "Sentiment expressed for this mention of the entity." - }, - "type": { - "description": "The type of the entity mention.", + "medium": { + "description": "Required. The medium transcript objects represent.", "enum": [ - "MENTION_TYPE_UNSPECIFIED", - "PROPER", - "COMMON" + "MEDIUM_UNSPECIFIED", + "PHONE_CALL", + "CHAT" ], "enumDescriptions": [ - "Unspecified.", - "Proper noun.", - "Common noun (or noun compound)." + "Default value, if unspecified will default to PHONE_CALL.", + "The format for conversations that took place over the phone.", + "The format for conversations that took place over chat." ], "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ExactMatchConfig": { - "description": "Exact match configuration.", - "id": "GoogleCloudContactcenterinsightsV1ExactMatchConfig", - "properties": { - "caseSensitive": { - "description": "Whether to consider case sensitivity when performing an exact match.", - "type": "boolean" - } - }, + "GoogleCloudContactcenterinsightsV1IngestConversationsResponse": { + "description": "The response to an IngestConversations operation.", + "id": "GoogleCloudContactcenterinsightsV1IngestConversationsResponse", + "properties": {}, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ExportInsightsDataMetadata": { - "description": "Metadata for an export insights operation.", - "id": "GoogleCloudContactcenterinsightsV1ExportInsightsDataMetadata", + "GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecMetadata": { + "description": "Metadata for initializing a location-level encryption specification.", + "id": "GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecMetadata", "properties": { "createTime": { "description": "Output only. The time the operation was created.", @@ -2839,1018 +4890,1354 @@ "type": "string" }, "partialErrors": { - "description": "Partial errors during export operation that might cause the operation output to be incomplete.", + "description": "Partial errors during initializing operation that might cause the operation output to be incomplete.", "items": { "$ref": "GoogleRpcStatus" }, "type": "array" }, "request": { - "$ref": "GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest", - "description": "The original request for export." + "$ref": "GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecRequest", + "description": "Output only. The original request for initialization.", + "readOnly": true } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest": { - "description": "The request to export insights.", - "id": "GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest", + "GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecRequest": { + "description": "The request to initialize a location-level encryption specification.", + "id": "GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecRequest", "properties": { - "bigQueryDestination": { - "$ref": "GoogleCloudContactcenterinsightsV1ExportInsightsDataRequestBigQueryDestination", - "description": "Specified if sink is a BigQuery table." - }, - "filter": { - "description": "A filter to reduce results to a specific subset. Useful for exporting conversations with specific properties.", - "type": "string" - }, - "kmsKey": { - "description": "A fully qualified KMS key name for BigQuery tables protected by CMEK. Format: projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}/cryptoKeyVersions/{version}", - "type": "string" - }, - "parent": { - "description": "Required. The parent resource to export data from.", - "type": "string" - }, - "writeDisposition": { - "description": "Options for what to do if the destination table already exists.", - "enum": [ - "WRITE_DISPOSITION_UNSPECIFIED", - "WRITE_TRUNCATE", - "WRITE_APPEND" - ], - "enumDescriptions": [ - "Write disposition is not specified. Defaults to WRITE_TRUNCATE.", - "If the table already exists, BigQuery will overwrite the table data and use the schema from the load.", - "If the table already exists, BigQuery will append data to the table." - ], - "type": "string" + "encryptionSpec": { + "$ref": "GoogleCloudContactcenterinsightsV1EncryptionSpec", + "description": "Required. The encryption spec used for CMEK encryption. It is required that the kms key is in the same region as the endpoint. The same key will be used for all provisioned resources, if encryption is available. If the `kms_key_name` field is left empty, no encryption will be enforced." } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ExportInsightsDataRequestBigQueryDestination": { - "description": "A BigQuery Table Reference.", - "id": "GoogleCloudContactcenterinsightsV1ExportInsightsDataRequestBigQueryDestination", + "GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecResponse": { + "description": "The response to initialize a location-level encryption specification.", + "id": "GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1Intent": { + "description": "The data for an intent. Represents a detected intent in the conversation, for example MAKES_PROMISE.", + "id": "GoogleCloudContactcenterinsightsV1Intent", "properties": { - "dataset": { - "description": "Required. The name of the BigQuery dataset that the snapshot result should be exported to. If this dataset does not exist, the export call returns an INVALID_ARGUMENT error.", + "displayName": { + "description": "The human-readable name of the intent.", "type": "string" }, - "projectId": { - "description": "A project ID or number. If specified, then export will attempt to write data to this project instead of the resource project. Otherwise, the resource project will be used.", + "id": { + "description": "The unique identifier of the intent.", "type": "string" - }, - "table": { - "description": "The BigQuery table name to which the insights data should be written. If this table does not exist, the export call returns an INVALID_ARGUMENT error.", + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1IntentMatchData": { + "description": "The data for an intent match. Represents an intent match for a text segment in the conversation. A text segment can be part of a sentence, a complete sentence, or an utterance with multiple sentences.", + "id": "GoogleCloudContactcenterinsightsV1IntentMatchData", + "properties": { + "intentUniqueId": { + "description": "The id of the matched intent. Can be used to retrieve the corresponding intent information.", "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ExportInsightsDataResponse": { - "description": "Response for an export insights operation.", - "id": "GoogleCloudContactcenterinsightsV1ExportInsightsDataResponse", + "GoogleCloudContactcenterinsightsV1InterruptionData": { + "description": "The data for an interruption annotation.", + "id": "GoogleCloudContactcenterinsightsV1InterruptionData", "properties": {}, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ExportIssueModelMetadata": { - "description": "Metadata used for export issue model.", - "id": "GoogleCloudContactcenterinsightsV1ExportIssueModelMetadata", + "GoogleCloudContactcenterinsightsV1Issue": { + "description": "The issue resource.", + "id": "GoogleCloudContactcenterinsightsV1Issue", "properties": { "createTime": { - "description": "The time the operation was created.", + "description": "Output only. The time at which this issue was created.", "format": "google-datetime", + "readOnly": true, "type": "string" }, - "endTime": { - "description": "The time the operation finished running.", - "format": "google-datetime", + "displayDescription": { + "description": "Representative description of the issue.", "type": "string" }, - "request": { - "$ref": "GoogleCloudContactcenterinsightsV1ExportIssueModelRequest", - "description": "The original export request." + "displayName": { + "description": "The representative name for the issue.", + "type": "string" + }, + "name": { + "description": "Immutable. The resource name of the issue. Format: projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue}", + "type": "string" + }, + "sampleUtterances": { + "description": "Output only. Resource names of the sample representative utterances that match to this issue.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "updateTime": { + "description": "Output only. The most recent time that this issue was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ExportIssueModelRequest": { - "description": "Request to export an issue model.", - "id": "GoogleCloudContactcenterinsightsV1ExportIssueModelRequest", + "GoogleCloudContactcenterinsightsV1IssueAssignment": { + "description": "Information about the issue.", + "id": "GoogleCloudContactcenterinsightsV1IssueAssignment", "properties": { - "gcsDestination": { - "$ref": "GoogleCloudContactcenterinsightsV1ExportIssueModelRequestGcsDestination", - "description": "Google Cloud Storage URI to export the issue model to." + "displayName": { + "description": "Immutable. Display name of the assigned issue. This field is set at time of analyis and immutable since then.", + "type": "string" }, - "name": { - "description": "Required. The issue model to export.", + "issue": { + "description": "Resource name of the assigned issue.", "type": "string" + }, + "score": { + "description": "Score indicating the likelihood of the issue assignment. currently bounded on [0,1].", + "format": "double", + "type": "number" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ExportIssueModelRequestGcsDestination": { - "description": "Google Cloud Storage Object URI to save the issue model to.", - "id": "GoogleCloudContactcenterinsightsV1ExportIssueModelRequestGcsDestination", + "GoogleCloudContactcenterinsightsV1IssueMatchData": { + "description": "The data for an issue match annotation.", + "id": "GoogleCloudContactcenterinsightsV1IssueMatchData", "properties": { - "objectUri": { - "description": "Required. Format: `gs:///`", - "type": "string" + "issueAssignment": { + "$ref": "GoogleCloudContactcenterinsightsV1IssueAssignment", + "description": "Information about the issue's assignment." } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ExportIssueModelResponse": { - "description": "Response from export issue model", - "id": "GoogleCloudContactcenterinsightsV1ExportIssueModelResponse", - "properties": {}, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1FaqAnswerData": { - "description": "Agent Assist frequently-asked-question answer data.", - "id": "GoogleCloudContactcenterinsightsV1FaqAnswerData", + "GoogleCloudContactcenterinsightsV1IssueModel": { + "description": "The issue model resource.", + "id": "GoogleCloudContactcenterinsightsV1IssueModel", "properties": { - "answer": { - "description": "The piece of text from the `source` knowledge base document.", + "createTime": { + "description": "Output only. The time at which this issue model was created.", + "format": "google-datetime", + "readOnly": true, "type": "string" }, - "confidenceScore": { - "description": "The system's confidence score that this answer is a good match for this conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely certain).", - "format": "float", - "type": "number" + "displayName": { + "description": "The representative name for the issue model.", + "type": "string" }, - "metadata": { - "additionalProperties": { - "type": "string" - }, - "description": "Map that contains metadata about the FAQ answer and the document that it originates from.", - "type": "object" + "inputDataConfig": { + "$ref": "GoogleCloudContactcenterinsightsV1IssueModelInputDataConfig", + "description": "Configs for the input data that used to create the issue model." + }, + "issueCount": { + "description": "Output only. Number of issues in this issue model.", + "format": "int64", + "readOnly": true, + "type": "string" }, - "queryRecord": { - "description": "The name of the answer record. Format: projects/{project}/locations/{location}/answerRecords/{answer_record}", + "languageCode": { + "description": "Language of the model.", "type": "string" }, - "question": { - "description": "The corresponding FAQ question.", + "modelType": { + "description": "Type of the model.", + "enum": [ + "MODEL_TYPE_UNSPECIFIED", + "TYPE_V1", + "TYPE_V2" + ], + "enumDescriptions": [ + "Unspecified model type.", + "Type V1.", + "Type V2." + ], "type": "string" }, - "source": { - "description": "The knowledge document that this answer was extracted from. Format: projects/{project}/knowledgeBases/{knowledge_base}/documents/{document}.", + "name": { + "description": "Immutable. The resource name of the issue model. Format: projects/{project}/locations/{location}/issueModels/{issue_model}", "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1GcsSource": { - "description": "A Cloud Storage source of conversation data.", - "id": "GoogleCloudContactcenterinsightsV1GcsSource", - "properties": { - "audioUri": { - "description": "Cloud Storage URI that points to a file that contains the conversation audio.", + }, + "state": { + "description": "Output only. State of the model.", + "enum": [ + "STATE_UNSPECIFIED", + "UNDEPLOYED", + "DEPLOYING", + "DEPLOYED", + "UNDEPLOYING", + "DELETING" + ], + "enumDescriptions": [ + "Unspecified.", + "Model is not deployed but is ready to deploy.", + "Model is being deployed.", + "Model is deployed and is ready to be used. A model can only be used in analysis if it's in this state.", + "Model is being undeployed.", + "Model is being deleted." + ], + "readOnly": true, "type": "string" }, - "transcriptUri": { - "description": "Immutable. Cloud Storage URI that points to a file that contains the conversation transcript.", + "trainingStats": { + "$ref": "GoogleCloudContactcenterinsightsV1IssueModelLabelStats", + "description": "Output only. Immutable. The issue model's label statistics on its training data.", + "readOnly": true + }, + "updateTime": { + "description": "Output only. The most recent time at which the issue model was updated.", + "format": "google-datetime", + "readOnly": true, "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1HoldData": { - "description": "The data for a hold annotation.", - "id": "GoogleCloudContactcenterinsightsV1HoldData", - "properties": {}, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1ImportIssueModelMetadata": { - "description": "Metadata used for import issue model.", - "id": "GoogleCloudContactcenterinsightsV1ImportIssueModelMetadata", + "GoogleCloudContactcenterinsightsV1IssueModelInputDataConfig": { + "description": "Configs for the input data used to create the issue model.", + "id": "GoogleCloudContactcenterinsightsV1IssueModelInputDataConfig", "properties": { - "createTime": { - "description": "The time the operation was created.", - "format": "google-datetime", + "filter": { + "description": "A filter to reduce the conversations used for training the model to a specific subset.", "type": "string" }, - "endTime": { - "description": "The time the operation finished running.", - "format": "google-datetime", + "medium": { + "deprecated": true, + "description": "Medium of conversations used in training data. This field is being deprecated. To specify the medium to be used in training a new issue model, set the `medium` field on `filter`.", + "enum": [ + "MEDIUM_UNSPECIFIED", + "PHONE_CALL", + "CHAT" + ], + "enumDescriptions": [ + "Default value, if unspecified will default to PHONE_CALL.", + "The format for conversations that took place over the phone.", + "The format for conversations that took place over chat." + ], "type": "string" }, - "request": { - "$ref": "GoogleCloudContactcenterinsightsV1ImportIssueModelRequest", - "description": "The original import request." + "trainingConversationsCount": { + "description": "Output only. Number of conversations used in training. Output only.", + "format": "int64", + "readOnly": true, + "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ImportIssueModelRequest": { - "description": "Request to import an issue model.", - "id": "GoogleCloudContactcenterinsightsV1ImportIssueModelRequest", + "GoogleCloudContactcenterinsightsV1IssueModelLabelStats": { + "description": "Aggregated statistics about an issue model.", + "id": "GoogleCloudContactcenterinsightsV1IssueModelLabelStats", "properties": { - "createNewModel": { - "description": "Optional. If set to true, will create an issue model from the imported file with randomly generated IDs for the issue model and corresponding issues. Otherwise, replaces an existing model with the same ID as the file.", - "type": "boolean" + "analyzedConversationsCount": { + "description": "Number of conversations the issue model has analyzed at this point in time.", + "format": "int64", + "type": "string" }, - "gcsSource": { - "$ref": "GoogleCloudContactcenterinsightsV1ImportIssueModelRequestGcsSource", - "description": "Google Cloud Storage source message." + "issueStats": { + "additionalProperties": { + "$ref": "GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStats" + }, + "description": "Statistics on each issue. Key is the issue's resource name.", + "type": "object" }, - "parent": { - "description": "Required. The parent resource of the issue model.", + "unclassifiedConversationsCount": { + "description": "Number of analyzed conversations for which no issue was applicable at this point in time.", + "format": "int64", "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ImportIssueModelRequestGcsSource": { - "description": "Google Cloud Storage Object URI to get the issue model file from.", - "id": "GoogleCloudContactcenterinsightsV1ImportIssueModelRequestGcsSource", + "GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStats": { + "description": "Aggregated statistics about an issue.", + "id": "GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStats", "properties": { - "objectUri": { - "description": "Required. Format: `gs:///`", + "displayName": { + "description": "Display name of the issue.", + "type": "string" + }, + "issue": { + "description": "Issue resource. Format: projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue}", + "type": "string" + }, + "labeledConversationsCount": { + "description": "Number of conversations attached to the issue at this point in time.", + "format": "int64", "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ImportIssueModelResponse": { - "description": "Response from import issue model", - "id": "GoogleCloudContactcenterinsightsV1ImportIssueModelResponse", - "properties": {}, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1IngestConversationsMetadata": { - "description": "The metadata for an IngestConversations operation.", - "id": "GoogleCloudContactcenterinsightsV1IngestConversationsMetadata", + "GoogleCloudContactcenterinsightsV1IssueModelResult": { + "description": "Issue Modeling result on a conversation.", + "id": "GoogleCloudContactcenterinsightsV1IssueModelResult", "properties": { - "createTime": { - "description": "Output only. The time the operation was created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "endTime": { - "description": "Output only. The time the operation finished running.", - "format": "google-datetime", - "readOnly": true, + "issueModel": { + "description": "Issue model that generates the result. Format: projects/{project}/locations/{location}/issueModels/{issue_model}", "type": "string" }, - "ingestConversationsStats": { - "$ref": "GoogleCloudContactcenterinsightsV1IngestConversationsMetadataIngestConversationsStats", - "description": "Output only. Statistics for IngestConversations operation.", - "readOnly": true - }, - "partialErrors": { - "description": "Output only. Partial errors during ingest operation that might cause the operation output to be incomplete.", + "issues": { + "description": "All the matched issues.", "items": { - "$ref": "GoogleRpcStatus" + "$ref": "GoogleCloudContactcenterinsightsV1IssueAssignment" }, - "readOnly": true, "type": "array" - }, - "request": { - "$ref": "GoogleCloudContactcenterinsightsV1IngestConversationsRequest", - "description": "Output only. The original request for ingest.", - "readOnly": true } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1IngestConversationsMetadataIngestConversationsStats": { - "description": "Statistics for IngestConversations operation.", - "id": "GoogleCloudContactcenterinsightsV1IngestConversationsMetadataIngestConversationsStats", + "GoogleCloudContactcenterinsightsV1ListAllFeedbackLabelsResponse": { + "description": "The response for listing all feedback labels.", + "id": "GoogleCloudContactcenterinsightsV1ListAllFeedbackLabelsResponse", "properties": { - "duplicatesSkippedCount": { - "description": "Output only. The number of objects skipped because another conversation with the same transcript uri had already been ingested.", - "format": "int32", - "readOnly": true, - "type": "integer" - }, - "failedIngestCount": { - "description": "Output only. The number of objects which were unable to be ingested due to errors. The errors are populated in the partial_errors field.", - "format": "int32", - "readOnly": true, - "type": "integer" - }, - "processedObjectCount": { - "description": "Output only. The number of objects processed during the ingest operation.", - "format": "int32", - "readOnly": true, - "type": "integer" + "feedbackLabels": { + "description": "The feedback labels that match the request.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1FeedbackLabel" + }, + "type": "array" }, - "successfulIngestCount": { - "description": "Output only. The number of new conversations added during this ingest operation.", - "format": "int32", - "readOnly": true, - "type": "integer" + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1IngestConversationsRequest": { - "description": "The request to ingest conversations.", - "id": "GoogleCloudContactcenterinsightsV1IngestConversationsRequest", + "GoogleCloudContactcenterinsightsV1ListAnalysesResponse": { + "description": "The response to list analyses.", + "id": "GoogleCloudContactcenterinsightsV1ListAnalysesResponse", "properties": { - "conversationConfig": { - "$ref": "GoogleCloudContactcenterinsightsV1IngestConversationsRequestConversationConfig", - "description": "Configuration that applies to all conversations." - }, - "gcsSource": { - "$ref": "GoogleCloudContactcenterinsightsV1IngestConversationsRequestGcsSource", - "description": "A cloud storage bucket source. Note that any previously ingested objects from the source will be skipped to avoid duplication." - }, - "parent": { - "description": "Required. The parent resource for new conversations.", - "type": "string" - }, - "redactionConfig": { - "$ref": "GoogleCloudContactcenterinsightsV1RedactionConfig", - "description": "Optional. DLP settings for transcript redaction. Optional, will default to the config specified in Settings." - }, - "sampleSize": { - "description": "Optional. If set, this fields indicates the number of objects to ingest from the Cloud Storage bucket. If empty, the entire bucket will be ingested. Unless they are first deleted, conversations produced through sampling won't be ingested by subsequent ingest requests.", - "format": "int32", - "type": "integer" - }, - "speechConfig": { - "$ref": "GoogleCloudContactcenterinsightsV1SpeechConfig", - "description": "Optional. Default Speech-to-Text configuration. Optional, will default to the config specified in Settings." + "analyses": { + "description": "The analyses that match the request.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1Analysis" + }, + "type": "array" }, - "transcriptObjectConfig": { - "$ref": "GoogleCloudContactcenterinsightsV1IngestConversationsRequestTranscriptObjectConfig", - "description": "Configuration for when `source` contains conversation transcripts." + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1IngestConversationsRequestConversationConfig": { - "description": "Configuration that applies to all conversations.", - "id": "GoogleCloudContactcenterinsightsV1IngestConversationsRequestConversationConfig", + "GoogleCloudContactcenterinsightsV1ListAnalysisRulesResponse": { + "description": "The response of listing views.", + "id": "GoogleCloudContactcenterinsightsV1ListAnalysisRulesResponse", "properties": { - "agentChannel": { - "description": "Optional. Indicates which of the channels, 1 or 2, contains the agent. Note that this must be set for conversations to be properly displayed and analyzed.", - "format": "int32", - "type": "integer" + "analysisRules": { + "description": "The analysis_rule that match the request.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1AnalysisRule" + }, + "type": "array" }, - "agentId": { - "description": "Optional. An opaque, user-specified string representing a human agent who handled all conversations in the import. Note that this will be overridden if per-conversation metadata is provided through the `metadata_bucket_uri`.", + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", "type": "string" - }, - "customerChannel": { - "description": "Optional. Indicates which of the channels, 1 or 2, contains the agent. Note that this must be set for conversations to be properly displayed and analyzed.", - "format": "int32", - "type": "integer" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1IngestConversationsRequestGcsSource": { - "description": "Configuration for Cloud Storage bucket sources.", - "id": "GoogleCloudContactcenterinsightsV1IngestConversationsRequestGcsSource", + "GoogleCloudContactcenterinsightsV1ListConversationsResponse": { + "description": "The response of listing conversations.", + "id": "GoogleCloudContactcenterinsightsV1ListConversationsResponse", "properties": { - "bucketObjectType": { - "description": "Optional. Specifies the type of the objects in `bucket_uri`.", - "enum": [ - "BUCKET_OBJECT_TYPE_UNSPECIFIED", - "TRANSCRIPT", - "AUDIO" - ], - "enumDescriptions": [ - "The object type is unspecified and will default to `TRANSCRIPT`.", - "The object is a transcript.", - "The object is an audio file." - ], - "type": "string" + "conversations": { + "description": "The conversations that match the request.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1Conversation" + }, + "type": "array" }, - "bucketUri": { - "description": "Required. The Cloud Storage bucket containing source objects.", + "nextPageToken": { + "description": "A token which can be sent as `page_token` to retrieve the next page. If this field is set, it means there is another page available. If it is not set, it means no other pages are available.", "type": "string" - }, - "customMetadataKeys": { - "description": "Optional. Custom keys to extract as conversation labels from metadata files in `metadata_bucket_uri`. Keys not included in this field will be ignored. Note that there is a limit of 20 labels per conversation.", + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1ListFeedbackLabelsResponse": { + "description": "The response for listing feedback labels.", + "id": "GoogleCloudContactcenterinsightsV1ListFeedbackLabelsResponse", + "properties": { + "feedbackLabels": { + "description": "The feedback labels that match the request.", "items": { - "type": "string" + "$ref": "GoogleCloudContactcenterinsightsV1FeedbackLabel" }, "type": "array" }, - "metadataBucketUri": { - "description": "Optional. The Cloud Storage path to the conversation metadata. Note that: [1] Metadata files are expected to be in JSON format. [2] Metadata and source files (transcripts or audio) must be in separate buckets. [3] A source file and its corresponding metadata file must share the same name to be properly ingested, E.g. `gs://bucket/audio/conversation1.mp3` and `gs://bucket/metadata/conversation1.json`.", + "nextPageToken": { + "description": "The next page token.", "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1IngestConversationsRequestTranscriptObjectConfig": { - "description": "Configuration for processing transcript objects.", - "id": "GoogleCloudContactcenterinsightsV1IngestConversationsRequestTranscriptObjectConfig", + "GoogleCloudContactcenterinsightsV1ListIssueModelsResponse": { + "description": "The response of listing issue models.", + "id": "GoogleCloudContactcenterinsightsV1ListIssueModelsResponse", "properties": { - "medium": { - "description": "Required. The medium transcript objects represent.", - "enum": [ - "MEDIUM_UNSPECIFIED", - "PHONE_CALL", - "CHAT" - ], - "enumDescriptions": [ - "Default value, if unspecified will default to PHONE_CALL.", - "The format for conversations that took place over the phone.", - "The format for conversations that took place over chat." - ], - "type": "string" + "issueModels": { + "description": "The issue models that match the request.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1IssueModel" + }, + "type": "array" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1IngestConversationsResponse": { - "description": "The response to an IngestConversations operation.", - "id": "GoogleCloudContactcenterinsightsV1IngestConversationsResponse", - "properties": {}, + "GoogleCloudContactcenterinsightsV1ListIssuesResponse": { + "description": "The response of listing issues.", + "id": "GoogleCloudContactcenterinsightsV1ListIssuesResponse", + "properties": { + "issues": { + "description": "The issues that match the request.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1Issue" + }, + "type": "array" + } + }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecMetadata": { - "description": "Metadata for initializing a location-level encryption specification.", - "id": "GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecMetadata", + "GoogleCloudContactcenterinsightsV1ListPhraseMatchersResponse": { + "description": "The response of listing phrase matchers.", + "id": "GoogleCloudContactcenterinsightsV1ListPhraseMatchersResponse", "properties": { - "createTime": { - "description": "Output only. The time the operation was created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "endTime": { - "description": "Output only. The time the operation finished running.", - "format": "google-datetime", - "readOnly": true, + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", "type": "string" }, - "partialErrors": { - "description": "Partial errors during initialising operation that might cause the operation output to be incomplete.", + "phraseMatchers": { + "description": "The phrase matchers that match the request.", "items": { - "$ref": "GoogleRpcStatus" + "$ref": "GoogleCloudContactcenterinsightsV1PhraseMatcher" }, "type": "array" - }, - "request": { - "$ref": "GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecRequest", - "description": "Output only. The original request for initialization.", - "readOnly": true } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecRequest": { - "description": "The request to initialize a location-level encryption specification.", - "id": "GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecRequest", + "GoogleCloudContactcenterinsightsV1ListQaQuestionsResponse": { + "description": "The response from a ListQaQuestions request.", + "id": "GoogleCloudContactcenterinsightsV1ListQaQuestionsResponse", "properties": { - "encryptionSpec": { - "$ref": "GoogleCloudContactcenterinsightsV1EncryptionSpec", - "description": "Required. The encryption spec used for CMEK encryption. It is required that the kms key is in the same region as the endpoint. The same key will be used for all provisioned resources, if encryption is available. If the kms_key_name is left empty, no encryption will be enforced." + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "qaQuestions": { + "description": "The QaQuestions under the parent.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1QaQuestion" + }, + "type": "array" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecResponse": { - "description": "The response to initialize a location-level encryption specification.", - "id": "GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecResponse", - "properties": {}, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1Intent": { - "description": "The data for an intent. Represents a detected intent in the conversation, for example MAKES_PROMISE.", - "id": "GoogleCloudContactcenterinsightsV1Intent", + "GoogleCloudContactcenterinsightsV1ListQaScorecardRevisionsResponse": { + "description": "The response from a ListQaScorecardRevisions request.", + "id": "GoogleCloudContactcenterinsightsV1ListQaScorecardRevisionsResponse", "properties": { - "displayName": { - "description": "The human-readable name of the intent.", + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", "type": "string" }, - "id": { - "description": "The unique identifier of the intent.", - "type": "string" + "qaScorecardRevisions": { + "description": "The QaScorecards under the parent.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1QaScorecardRevision" + }, + "type": "array" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1IntentMatchData": { - "description": "The data for an intent match. Represents an intent match for a text segment in the conversation. A text segment can be part of a sentence, a complete sentence, or an utterance with multiple sentences.", - "id": "GoogleCloudContactcenterinsightsV1IntentMatchData", + "GoogleCloudContactcenterinsightsV1ListQaScorecardsResponse": { + "description": "The response from a ListQaScorecards request.", + "id": "GoogleCloudContactcenterinsightsV1ListQaScorecardsResponse", "properties": { - "intentUniqueId": { - "description": "The id of the matched intent. Can be used to retrieve the corresponding intent information.", + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", "type": "string" + }, + "qaScorecards": { + "description": "The QaScorecards under the parent.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1QaScorecard" + }, + "type": "array" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1InterruptionData": { - "description": "The data for an interruption annotation.", - "id": "GoogleCloudContactcenterinsightsV1InterruptionData", - "properties": {}, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1Issue": { - "description": "The issue resource.", - "id": "GoogleCloudContactcenterinsightsV1Issue", + "GoogleCloudContactcenterinsightsV1ListViewsResponse": { + "description": "The response of listing views.", + "id": "GoogleCloudContactcenterinsightsV1ListViewsResponse", "properties": { - "createTime": { - "description": "Output only. The time at which this issue was created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "displayDescription": { - "description": "Representative description of the issue.", - "type": "string" - }, - "displayName": { - "description": "The representative name for the issue.", - "type": "string" - }, - "name": { - "description": "Immutable. The resource name of the issue. Format: projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue}", + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", "type": "string" }, - "sampleUtterances": { - "description": "Output only. Resource names of the sample representative utterances that match to this issue.", + "views": { + "description": "The views that match the request.", "items": { - "type": "string" + "$ref": "GoogleCloudContactcenterinsightsV1View" }, - "readOnly": true, "type": "array" - }, - "updateTime": { - "description": "Output only. The most recent time that this issue was updated.", - "format": "google-datetime", - "readOnly": true, - "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1IssueAssignment": { - "description": "Information about the issue.", - "id": "GoogleCloudContactcenterinsightsV1IssueAssignment", + "GoogleCloudContactcenterinsightsV1PhraseMatchData": { + "description": "The data for a matched phrase matcher. Represents information identifying a phrase matcher for a given match.", + "id": "GoogleCloudContactcenterinsightsV1PhraseMatchData", "properties": { "displayName": { - "description": "Immutable. Display name of the assigned issue. This field is set at time of analyis and immutable since then.", + "description": "The human-readable name of the phrase matcher.", "type": "string" }, - "issue": { - "description": "Resource name of the assigned issue.", + "phraseMatcher": { + "description": "The unique identifier (the resource name) of the phrase matcher.", "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1PhraseMatchRule": { + "description": "The data for a phrase match rule.", + "id": "GoogleCloudContactcenterinsightsV1PhraseMatchRule", + "properties": { + "config": { + "$ref": "GoogleCloudContactcenterinsightsV1PhraseMatchRuleConfig", + "description": "Provides additional information about the rule that specifies how to apply the rule." }, - "score": { - "description": "Score indicating the likelihood of the issue assignment. currently bounded on [0,1].", - "format": "double", - "type": "number" + "negated": { + "description": "Specifies whether the phrase must be missing from the transcript segment or present in the transcript segment.", + "type": "boolean" + }, + "query": { + "description": "Required. The phrase to be matched.", + "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1IssueMatchData": { - "description": "The data for an issue match annotation.", - "id": "GoogleCloudContactcenterinsightsV1IssueMatchData", + "GoogleCloudContactcenterinsightsV1PhraseMatchRuleConfig": { + "description": "Configuration information of a phrase match rule.", + "id": "GoogleCloudContactcenterinsightsV1PhraseMatchRuleConfig", "properties": { - "issueAssignment": { - "$ref": "GoogleCloudContactcenterinsightsV1IssueAssignment", - "description": "Information about the issue's assignment." + "exactMatchConfig": { + "$ref": "GoogleCloudContactcenterinsightsV1ExactMatchConfig", + "description": "The configuration for the exact match rule." } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1IssueModel": { - "description": "The issue model resource.", - "id": "GoogleCloudContactcenterinsightsV1IssueModel", + "GoogleCloudContactcenterinsightsV1PhraseMatchRuleGroup": { + "description": "A message representing a rule in the phrase matcher.", + "id": "GoogleCloudContactcenterinsightsV1PhraseMatchRuleGroup", "properties": { - "createTime": { - "description": "Output only. The time at which this issue model was created.", + "phraseMatchRules": { + "description": "A list of phrase match rules that are included in this group.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1PhraseMatchRule" + }, + "type": "array" + }, + "type": { + "description": "Required. The type of this phrase match rule group.", + "enum": [ + "PHRASE_MATCH_RULE_GROUP_TYPE_UNSPECIFIED", + "ALL_OF", + "ANY_OF" + ], + "enumDescriptions": [ + "Unspecified.", + "Must meet all phrase match rules or there is no match.", + "If any of the phrase match rules are met, there is a match." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1PhraseMatcher": { + "description": "The phrase matcher resource.", + "id": "GoogleCloudContactcenterinsightsV1PhraseMatcher", + "properties": { + "activationUpdateTime": { + "description": "Output only. The most recent time at which the activation status was updated.", "format": "google-datetime", "readOnly": true, "type": "string" }, + "active": { + "description": "Applies the phrase matcher only when it is active.", + "type": "boolean" + }, "displayName": { - "description": "The representative name for the issue model.", + "description": "The human-readable name of the phrase matcher.", "type": "string" }, - "inputDataConfig": { - "$ref": "GoogleCloudContactcenterinsightsV1IssueModelInputDataConfig", - "description": "Configs for the input data that used to create the issue model." + "name": { + "description": "The resource name of the phrase matcher. Format: projects/{project}/locations/{location}/phraseMatchers/{phrase_matcher}", + "type": "string" }, - "issueCount": { - "description": "Output only. Number of issues in this issue model.", - "format": "int64", + "phraseMatchRuleGroups": { + "description": "A list of phase match rule groups that are included in this matcher.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1PhraseMatchRuleGroup" + }, + "type": "array" + }, + "revisionCreateTime": { + "description": "Output only. The timestamp of when the revision was created. It is also the create time when a new matcher is added.", + "format": "google-datetime", "readOnly": true, "type": "string" }, - "languageCode": { - "description": "Language of the model.", + "revisionId": { + "description": "Output only. Immutable. The revision ID of the phrase matcher. A new revision is committed whenever the matcher is changed, except when it is activated or deactivated. A server generated random ID will be used. Example: locations/global/phraseMatchers/my-first-matcher@1234567", + "readOnly": true, "type": "string" }, - "modelType": { - "description": "Type of the model.", + "roleMatch": { + "description": "The role whose utterances the phrase matcher should be matched against. If the role is ROLE_UNSPECIFIED it will be matched against any utterances in the transcript.", "enum": [ - "MODEL_TYPE_UNSPECIFIED", - "TYPE_V1", - "TYPE_V2" + "ROLE_UNSPECIFIED", + "HUMAN_AGENT", + "AUTOMATED_AGENT", + "END_USER", + "ANY_AGENT" ], "enumDescriptions": [ - "Unspecified model type.", - "Type V1.", - "Type V2." + "Participant's role is not set.", + "Participant is a human agent.", + "Participant is an automated agent.", + "Participant is an end user who conversed with the contact center.", + "Participant is either a human or automated agent." ], "type": "string" }, - "name": { - "description": "Immutable. The resource name of the issue model. Format: projects/{project}/locations/{location}/issueModels/{issue_model}", - "type": "string" - }, - "state": { - "description": "Output only. State of the model.", + "type": { + "description": "Required. The type of this phrase matcher.", "enum": [ - "STATE_UNSPECIFIED", - "UNDEPLOYED", - "DEPLOYING", - "DEPLOYED", - "UNDEPLOYING", - "DELETING" + "PHRASE_MATCHER_TYPE_UNSPECIFIED", + "ALL_OF", + "ANY_OF" ], "enumDescriptions": [ "Unspecified.", - "Model is not deployed but is ready to deploy.", - "Model is being deployed.", - "Model is deployed and is ready to be used. A model can only be used in analysis if it's in this state.", - "Model is being undeployed.", - "Model is being deleted." + "Must meet all phrase match rule groups or there is no match.", + "If any of the phrase match rule groups are met, there is a match." ], - "readOnly": true, "type": "string" }, - "trainingStats": { - "$ref": "GoogleCloudContactcenterinsightsV1IssueModelLabelStats", - "description": "Output only. Immutable. The issue model's label statistics on its training data.", - "readOnly": true - }, "updateTime": { - "description": "Output only. The most recent time at which the issue model was updated.", + "description": "Output only. The most recent time at which the phrase matcher was updated.", "format": "google-datetime", "readOnly": true, "type": "string" + }, + "versionTag": { + "description": "The customized version tag to use for the phrase matcher. If not specified, it will default to `revision_id`.", + "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1IssueModelInputDataConfig": { - "description": "Configs for the input data used to create the issue model.", - "id": "GoogleCloudContactcenterinsightsV1IssueModelInputDataConfig", + "GoogleCloudContactcenterinsightsV1QaAnswer": { + "description": "An answer to a QaQuestion.", + "id": "GoogleCloudContactcenterinsightsV1QaAnswer", "properties": { - "filter": { - "description": "A filter to reduce the conversations used for training the model to a specific subset.", + "answerSources": { + "description": "List of all individual answers given to the question.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1QaAnswerAnswerSource" + }, + "type": "array" + }, + "answerValue": { + "$ref": "GoogleCloudContactcenterinsightsV1QaAnswerAnswerValue", + "description": "The main answer value, incorporating any manual edits if they exist." + }, + "conversation": { + "description": "The conversation the answer applies to.", "type": "string" }, - "medium": { - "deprecated": true, - "description": "Medium of conversations used in training data. This field is being deprecated. To specify the medium to be used in training a new issue model, set the `medium` field on `filter`.", - "enum": [ - "MEDIUM_UNSPECIFIED", - "PHONE_CALL", - "CHAT" - ], - "enumDescriptions": [ - "Default value, if unspecified will default to PHONE_CALL.", - "The format for conversations that took place over the phone.", - "The format for conversations that took place over chat." - ], + "qaQuestion": { + "description": "The QaQuestion answered by this answer.", "type": "string" }, - "trainingConversationsCount": { - "description": "Output only. Number of conversations used in training. Output only.", - "format": "int64", - "readOnly": true, + "questionBody": { + "description": "Question text. E.g., \"Did the agent greet the customer?\"", "type": "string" + }, + "tags": { + "description": "User-defined list of arbitrary tags. Matches the value from QaScorecard.ScorecardQuestion.tags. Used for grouping/organization and for weighting the score of each answer.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1IssueModelLabelStats": { - "description": "Aggregated statistics about an issue model.", - "id": "GoogleCloudContactcenterinsightsV1IssueModelLabelStats", + "GoogleCloudContactcenterinsightsV1QaAnswerAnswerSource": { + "description": "A question may have multiple answers from varying sources, one of which becomes the \"main\" answer above. AnswerSource represents each individual answer.", + "id": "GoogleCloudContactcenterinsightsV1QaAnswerAnswerSource", "properties": { - "analyzedConversationsCount": { - "description": "Number of conversations the issue model has analyzed at this point in time.", - "format": "int64", - "type": "string" + "answerValue": { + "$ref": "GoogleCloudContactcenterinsightsV1QaAnswerAnswerValue", + "description": "The answer value from this source." }, - "issueStats": { - "additionalProperties": { - "$ref": "GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStats" - }, - "description": "Statistics on each issue. Key is the issue's resource name.", - "type": "object" - }, - "unclassifiedConversationsCount": { - "description": "Number of analyzed conversations for which no issue was applicable at this point in time.", - "format": "int64", + "sourceType": { + "description": "What created the answer.", + "enum": [ + "SOURCE_TYPE_UNSPECIFIED", + "SYSTEM_GENERATED", + "MANUAL_EDIT" + ], + "enumDescriptions": [ + "Source type is unspecified.", + "Answer was system-generated; created during an Insights analysis.", + "Answer was created by a human via manual edit." + ], "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStats": { - "description": "Aggregated statistics about an issue.", - "id": "GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStats", + "GoogleCloudContactcenterinsightsV1QaAnswerAnswerValue": { + "description": "Message for holding the value of a QaAnswer. QaQuestion.AnswerChoice defines the possible answer values for a question.", + "id": "GoogleCloudContactcenterinsightsV1QaAnswerAnswerValue", "properties": { - "displayName": { - "description": "Display name of the issue.", - "type": "string" + "boolValue": { + "description": "Boolean value.", + "type": "boolean" }, - "issue": { - "description": "Issue resource. Format: projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue}", + "key": { + "description": "A short string used as an identifier. Matches the value used in QaQuestion.AnswerChoice.key.", "type": "string" }, - "labeledConversationsCount": { - "description": "Number of conversations attached to the issue at this point in time.", - "format": "int64", + "naValue": { + "description": "A value of \"Not Applicable (N/A)\". Should only ever be `true`.", + "type": "boolean" + }, + "normalizedScore": { + "description": "Output only. Normalized score of the questions. Calculated as score / potential_score.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "numValue": { + "description": "Numerical value.", + "format": "double", + "type": "number" + }, + "potentialScore": { + "description": "Output only. The maximum potential score of the question.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "score": { + "description": "Output only. Numerical score of the answer.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "strValue": { + "description": "String value.", "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1IssueModelResult": { - "description": "Issue Modeling result on a conversation.", - "id": "GoogleCloudContactcenterinsightsV1IssueModelResult", + "GoogleCloudContactcenterinsightsV1QaQuestion": { + "description": "A single question to be scored by the Insights QA feature.", + "id": "GoogleCloudContactcenterinsightsV1QaQuestion", "properties": { - "issueModel": { - "description": "Issue model that generates the result. Format: projects/{project}/locations/{location}/issueModels/{issue_model}", + "abbreviation": { + "description": "Short, descriptive string, used in the UI where it's not practical to display the full question body. E.g., \"Greeting\".", "type": "string" }, - "issues": { - "description": "All the matched issues.", + "answerChoices": { + "description": "A list of valid answers to the question, which the LLM must choose from.", "items": { - "$ref": "GoogleCloudContactcenterinsightsV1IssueAssignment" + "$ref": "GoogleCloudContactcenterinsightsV1QaQuestionAnswerChoice" }, "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1ListAnalysesResponse": { - "description": "The response to list analyses.", - "id": "GoogleCloudContactcenterinsightsV1ListAnalysesResponse", - "properties": { - "analyses": { - "description": "The analyses that match the request.", + }, + "answerInstructions": { + "description": "Instructions describing how to determine the answer.", + "type": "string" + }, + "createTime": { + "description": "Output only. The time at which this question was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "metrics": { + "$ref": "GoogleCloudContactcenterinsightsV1QaQuestionMetrics", + "description": "Metrics of the underlying tuned LLM over a holdout/test set while fine tuning the underlying LLM for the given question. This field will only be populated if and only if the question is part of a scorecard revision that has been tuned." + }, + "name": { + "description": "Identifier. The resource name of the question. Format: projects/{project}/locations/{location}/qaScorecards/{qa_scorecard}/revisions/{revision}/qaQuestions/{qa_question}", + "type": "string" + }, + "order": { + "description": "Defines the order of the question within its parent scorecard revision.", + "format": "int32", + "type": "integer" + }, + "questionBody": { + "description": "Question text. E.g., \"Did the agent greet the customer?\"", + "type": "string" + }, + "tags": { + "description": "User-defined list of arbitrary tags for the question. Used for grouping/organization and for weighting the score of each question.", "items": { - "$ref": "GoogleCloudContactcenterinsightsV1Analysis" + "type": "string" }, "type": "array" }, - "nextPageToken": { - "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "tuningMetadata": { + "$ref": "GoogleCloudContactcenterinsightsV1QaQuestionTuningMetadata", + "description": "Metadata about the tuning operation for the question.This field will only be populated if and only if the question is part of a scorecard revision that has been tuned." + }, + "updateTime": { + "description": "Output only. The most recent time at which the question was updated.", + "format": "google-datetime", + "readOnly": true, "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ListConversationsResponse": { - "description": "The response of listing conversations.", - "id": "GoogleCloudContactcenterinsightsV1ListConversationsResponse", + "GoogleCloudContactcenterinsightsV1QaQuestionAnswerChoice": { + "description": "Message representing a possible answer to the question.", + "id": "GoogleCloudContactcenterinsightsV1QaQuestionAnswerChoice", "properties": { - "conversations": { - "description": "The conversations that match the request.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1Conversation" - }, - "type": "array" + "boolValue": { + "description": "Boolean value.", + "type": "boolean" }, - "nextPageToken": { - "description": "A token which can be sent as `page_token` to retrieve the next page. If this field is set, it means there is another page available. If it is not set, it means no other pages are available.", + "key": { + "description": "A short string used as an identifier.", + "type": "string" + }, + "naValue": { + "description": "A value of \"Not Applicable (N/A)\". If provided, this field may only be set to `true`. If a question receives this answer, it will be excluded from any score calculations.", + "type": "boolean" + }, + "numValue": { + "description": "Numerical value.", + "format": "double", + "type": "number" + }, + "score": { + "description": "Numerical score of the answer, used for generating the overall score of a QaScorecardResult. If the answer uses na_value, this field is unused.", + "format": "double", + "type": "number" + }, + "strValue": { + "description": "String value.", "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ListIssueModelsResponse": { - "description": "The response of listing issue models.", - "id": "GoogleCloudContactcenterinsightsV1ListIssueModelsResponse", + "GoogleCloudContactcenterinsightsV1QaQuestionMetrics": { + "description": "A wrapper representing metrics calculated against a test-set on a LLM that was fine tuned for this question.", + "id": "GoogleCloudContactcenterinsightsV1QaQuestionMetrics", "properties": { - "issueModels": { - "description": "The issue models that match the request.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1IssueModel" - }, - "type": "array" + "accuracy": { + "description": "Output only. Accuracy of the model. Measures the percentage of correct answers the model gave on the test set.", + "format": "double", + "readOnly": true, + "type": "number" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ListIssuesResponse": { - "description": "The response of listing issues.", - "id": "GoogleCloudContactcenterinsightsV1ListIssuesResponse", + "GoogleCloudContactcenterinsightsV1QaQuestionTuningMetadata": { + "description": "Metadata about the tuning operation for the question. Will only be set if a scorecard containing this question has been tuned.", + "id": "GoogleCloudContactcenterinsightsV1QaQuestionTuningMetadata", "properties": { - "issues": { - "description": "The issues that match the request.", + "datasetValidationWarnings": { + "description": "A list of any applicable data validation warnings about the question's feedback labels.", "items": { - "$ref": "GoogleCloudContactcenterinsightsV1Issue" + "enum": [ + "DATASET_VALIDATION_WARNING_UNSPECIFIED", + "TOO_MANY_INVALID_FEEDBACK_LABELS", + "INSUFFICIENT_FEEDBACK_LABELS", + "INSUFFICIENT_FEEDBACK_LABELS_PER_ANSWER", + "ALL_FEEDBACK_LABELS_HAVE_THE_SAME_ANSWER" + ], + "enumDescriptions": [ + "Unspecified data validation warning.", + "A non-trivial percentage of the feedback labels are invalid.", + "The quantity of valid feedback labels provided is less than the recommended minimum.", + "One or more of the answers have less than the recommended minimum of feedback labels.", + "All the labels in the dataset come from a single answer choice." + ], + "type": "string" }, "type": "array" + }, + "totalValidLabelCount": { + "description": "Total number of valid labels provided for the question at the time of tuining.", + "format": "int64", + "type": "string" + }, + "tuningError": { + "description": "Error status of the tuning operation for the question. Will only be set if the tuning operation failed.", + "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ListPhraseMatchersResponse": { - "description": "The response of listing phrase matchers.", - "id": "GoogleCloudContactcenterinsightsV1ListPhraseMatchersResponse", + "GoogleCloudContactcenterinsightsV1QaScorecard": { + "description": "A QaScorecard represents a collection of questions to be scored during analysis.", + "id": "GoogleCloudContactcenterinsightsV1QaScorecard", "properties": { - "nextPageToken": { - "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "createTime": { + "description": "Output only. The time at which this scorecard was created.", + "format": "google-datetime", + "readOnly": true, "type": "string" }, - "phraseMatchers": { - "description": "The phrase matchers that match the request.", - "items": { - "$ref": "GoogleCloudContactcenterinsightsV1PhraseMatcher" - }, - "type": "array" + "description": { + "description": "A text description explaining the intent of the scorecard.", + "type": "string" + }, + "displayName": { + "description": "The user-specified display name of the scorecard.", + "type": "string" + }, + "name": { + "description": "Identifier. The scorecard name. Format: projects/{project}/locations/{location}/qaScorecards/{qa_scorecard}", + "type": "string" + }, + "updateTime": { + "description": "Output only. The most recent time at which the scorecard was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1ListViewsResponse": { - "description": "The response of listing views.", - "id": "GoogleCloudContactcenterinsightsV1ListViewsResponse", + "GoogleCloudContactcenterinsightsV1QaScorecardResult": { + "description": "The results of scoring a single conversation against a QaScorecard. Contains a collection of QaAnswers and aggregate score.", + "id": "GoogleCloudContactcenterinsightsV1QaScorecardResult", "properties": { - "nextPageToken": { - "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "agentId": { + "description": "ID of the agent that handled the conversation.", "type": "string" }, - "views": { - "description": "The views that match the request.", + "conversation": { + "description": "The conversation scored by this result.", + "type": "string" + }, + "createTime": { + "description": "Output only. The timestamp that the revision was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The name of the scorecard result. Format: projects/{project}/locations/{location}/qaScorecardResults/{qa_scorecard_result}", + "type": "string" + }, + "normalizedScore": { + "description": "The normalized score, which is the score divided by the potential score. Any manual edits are included if they exist.", + "format": "double", + "type": "number" + }, + "potentialScore": { + "description": "The maximum potential overall score of the scorecard. Any questions answered using `na_value` are excluded from this calculation.", + "format": "double", + "type": "number" + }, + "qaAnswers": { + "description": "Set of QaAnswers represented in the result.", "items": { - "$ref": "GoogleCloudContactcenterinsightsV1View" + "$ref": "GoogleCloudContactcenterinsightsV1QaAnswer" }, "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1PhraseMatchData": { - "description": "The data for a matched phrase matcher. Represents information identifying a phrase matcher for a given match.", - "id": "GoogleCloudContactcenterinsightsV1PhraseMatchData", - "properties": { - "displayName": { - "description": "The human-readable name of the phrase matcher.", - "type": "string" }, - "phraseMatcher": { - "description": "The unique identifier (the resource name) of the phrase matcher.", + "qaScorecardRevision": { + "description": "The QaScorecardRevision scored by this result.", "type": "string" + }, + "qaTagResults": { + "description": "Collection of tags and their scores.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1QaScorecardResultQaTagResult" + }, + "type": "array" + }, + "score": { + "description": "The overall numerical score of the result, incorporating any manual edits if they exist.", + "format": "double", + "type": "number" + }, + "scoreSources": { + "description": "List of all individual score sets.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1QaScorecardResultScoreSource" + }, + "type": "array" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1PhraseMatchRule": { - "description": "The data for a phrase match rule.", - "id": "GoogleCloudContactcenterinsightsV1PhraseMatchRule", + "GoogleCloudContactcenterinsightsV1QaScorecardResultQaTagResult": { + "description": "Tags and their corresponding results.", + "id": "GoogleCloudContactcenterinsightsV1QaScorecardResultQaTagResult", "properties": { - "config": { - "$ref": "GoogleCloudContactcenterinsightsV1PhraseMatchRuleConfig", - "description": "Provides additional information about the rule that specifies how to apply the rule." + "normalizedScore": { + "description": "The normalized score the tag applies to.", + "format": "double", + "type": "number" }, - "negated": { - "description": "Specifies whether the phrase must be missing from the transcript segment or present in the transcript segment.", - "type": "boolean" + "potentialScore": { + "description": "The potential score the tag applies to.", + "format": "double", + "type": "number" }, - "query": { - "description": "Required. The phrase to be matched.", + "score": { + "description": "The score the tag applies to.", + "format": "double", + "type": "number" + }, + "tag": { + "description": "The tag the score applies to.", "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1PhraseMatchRuleConfig": { - "description": "Configuration information of a phrase match rule.", - "id": "GoogleCloudContactcenterinsightsV1PhraseMatchRuleConfig", - "properties": { - "exactMatchConfig": { - "$ref": "GoogleCloudContactcenterinsightsV1ExactMatchConfig", - "description": "The configuration for the exact match rule." - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1PhraseMatchRuleGroup": { - "description": "A message representing a rule in the phrase matcher.", - "id": "GoogleCloudContactcenterinsightsV1PhraseMatchRuleGroup", + "GoogleCloudContactcenterinsightsV1QaScorecardResultScoreSource": { + "description": "A scorecard result may have multiple sets of scores from varying sources, one of which becomes the \"main\" answer above. A ScoreSource represents each individual set of scores.", + "id": "GoogleCloudContactcenterinsightsV1QaScorecardResultScoreSource", "properties": { - "phraseMatchRules": { - "description": "A list of phrase match rules that are included in this group.", + "normalizedScore": { + "description": "The normalized score, which is the score divided by the potential score.", + "format": "double", + "type": "number" + }, + "potentialScore": { + "description": "The maximum potential overall score of the scorecard. Any questions answered using `na_value` are excluded from this calculation.", + "format": "double", + "type": "number" + }, + "qaTagResults": { + "description": "Collection of tags and their scores.", "items": { - "$ref": "GoogleCloudContactcenterinsightsV1PhraseMatchRule" + "$ref": "GoogleCloudContactcenterinsightsV1QaScorecardResultQaTagResult" }, "type": "array" }, - "type": { - "description": "Required. The type of this phrase match rule group.", + "score": { + "description": "The overall numerical score of the result.", + "format": "double", + "type": "number" + }, + "sourceType": { + "description": "What created the score.", "enum": [ - "PHRASE_MATCH_RULE_GROUP_TYPE_UNSPECIFIED", - "ALL_OF", - "ANY_OF" + "SOURCE_TYPE_UNSPECIFIED", + "SYSTEM_GENERATED_ONLY", + "INCLUDES_MANUAL_EDITS" ], "enumDescriptions": [ - "Unspecified.", - "Must meet all phrase match rules or there is no match.", - "If any of the phrase match rules are met, there is a match." + "Source type is unspecified.", + "Score is derived only from system-generated answers.", + "Score is derived from both system-generated answers, and includes any manual edits if they exist." ], "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1PhraseMatcher": { - "description": "The phrase matcher resource.", - "id": "GoogleCloudContactcenterinsightsV1PhraseMatcher", + "GoogleCloudContactcenterinsightsV1QaScorecardRevision": { + "description": "A revision of a QaScorecard. Modifying published scorecard fields would invalidate existing scorecard results — the questions may have changed, or the score weighting will make existing scores impossible to understand. So changes must create a new revision, rather than modifying the existing resource.", + "id": "GoogleCloudContactcenterinsightsV1QaScorecardRevision", "properties": { - "activationUpdateTime": { - "description": "Output only. The most recent time at which the activation status was updated.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "active": { - "description": "Applies the phrase matcher only when it is active.", - "type": "boolean" - }, - "displayName": { - "description": "The human-readable name of the phrase matcher.", - "type": "string" - }, - "name": { - "description": "The resource name of the phrase matcher. Format: projects/{project}/locations/{location}/phraseMatchers/{phrase_matcher}", - "type": "string" - }, - "phraseMatchRuleGroups": { - "description": "A list of phase match rule groups that are included in this matcher.", + "alternateIds": { + "description": "Output only. Alternative IDs for this revision of the scorecard, e.g., `latest`.", "items": { - "$ref": "GoogleCloudContactcenterinsightsV1PhraseMatchRuleGroup" + "type": "string" }, + "readOnly": true, "type": "array" }, - "revisionCreateTime": { - "description": "Output only. The timestamp of when the revision was created. It is also the create time when a new matcher is added.", + "createTime": { + "description": "Output only. The timestamp that the revision was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, - "revisionId": { - "description": "Output only. Immutable. The revision ID of the phrase matcher. A new revision is committed whenever the matcher is changed, except when it is activated or deactivated. A server generated random ID will be used. Example: locations/global/phraseMatchers/my-first-matcher@1234567", - "readOnly": true, + "name": { + "description": "Identifier. The name of the scorecard revision. Format: projects/{project}/locations/{location}/qaScorecards/{qa_scorecard}/revisions/{revision}", "type": "string" }, - "roleMatch": { - "description": "The role whose utterances the phrase matcher should be matched against. If the role is ROLE_UNSPECIFIED it will be matched against any utterances in the transcript.", + "snapshot": { + "$ref": "GoogleCloudContactcenterinsightsV1QaScorecard", + "description": "The snapshot of the scorecard at the time of this revision's creation." + }, + "state": { + "description": "Output only. State of the scorecard revision, indicating whether it's ready to be used in analysis.", "enum": [ - "ROLE_UNSPECIFIED", - "HUMAN_AGENT", - "AUTOMATED_AGENT", - "END_USER", - "ANY_AGENT" + "STATE_UNSPECIFIED", + "EDITABLE", + "TRAINING", + "TRAINING_FAILED", + "READY", + "DELETING", + "TRAINING_CANCELLED" ], "enumDescriptions": [ - "Participant's role is not set.", - "Participant is a human agent.", - "Participant is an automated agent.", - "Participant is an end user who conversed with the contact center.", - "Participant is either a human or automated agent." + "Unspecified.", + "The scorecard revision can be edited.", + "Scorecard model training is in progress.", + "Scorecard revision model training failed.", + "The revision can be used in analysis.", + "Scorecard is being deleted.", + "Scorecard model training was explicitly cancelled by the user." ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1QueryMetricsMetadata": { + "description": "The metadata from querying metrics.", + "id": "GoogleCloudContactcenterinsightsV1QueryMetricsMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1QueryMetricsRequest": { + "description": "The request for querying metrics.", + "id": "GoogleCloudContactcenterinsightsV1QueryMetricsRequest", + "properties": { + "dimensions": { + "description": "The dimensions that determine the grouping key for the query. Defaults to no dimension if this field is unspecified. If a dimension is specified, its key must also be specified. Each dimension's key must be unique. If a time granularity is also specified, metric values in the dimension will be bucketed by this granularity. Up to one dimension is supported for now.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1Dimension" + }, + "type": "array" + }, + "filter": { + "description": "Required. Filter to select a subset of conversations to compute the metrics. Must specify a window of the conversation create time to compute the metrics. The returned metrics will be from the range [DATE(starting create time), DATE(ending create time)). ", "type": "string" }, - "type": { - "description": "Required. The type of this phrase matcher.", - "enum": [ - "PHRASE_MATCHER_TYPE_UNSPECIFIED", - "ALL_OF", - "ANY_OF" + "measureMask": { + "description": "Measures to return. Defaults to all measures if this field is unspecified. A valid mask should traverse from the `measure` field from the response. For example, a path from a measure mask to get the conversation count is \"conversation_measure.count\".", + "format": "google-fieldmask", + "type": "string" + }, + "timeGranularity": { + "description": "The time granularity of each data point in the time series. Defaults to NONE if this field is unspecified.", + "enum": [ + "TIME_GRANULARITY_UNSPECIFIED", + "NONE", + "DAILY", + "HOURLY", + "PER_MINUTE", + "PER_5_MINUTES", + "MONTHLY" ], "enumDescriptions": [ - "Unspecified.", - "Must meet all phrase match rule groups or there is no match.", - "If any of the phrase match rule groups are met, there is a match." + "The time granularity is unspecified and will default to NONE.", + "No time granularity. The response won't contain a time series. This is the default value if no time granularity is specified.", + "Data points in the time series will aggregate at a daily granularity. 1 day means [midnight to midnight).", + "Data points in the time series will aggregate at a daily granularity. 1 HOUR means [01:00 to 02:00).", + "Data points in the time series will aggregate at a daily granularity. PER_MINUTE means [01:00 to 01:01).", + "Data points in the time series will aggregate at a 1 minute granularity. PER_5_MINUTES means [01:00 to 01:05).", + "Data points in the time series will aggregate at a monthly granularity. 1 MONTH means [01st of the month to 1st of the next month)." ], "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1QueryMetricsResponse": { + "description": "The response for querying metrics.", + "id": "GoogleCloudContactcenterinsightsV1QueryMetricsResponse", + "properties": { + "location": { + "description": "Required. The location of the data. \"projects/{project}/locations/{location}\"", + "type": "string" + }, + "macroAverageSlice": { + "$ref": "GoogleCloudContactcenterinsightsV1QueryMetricsResponseSlice", + "description": "The macro average slice contains aggregated averages across the selected dimension. i.e. if group_by agent is specified this field will contain the average across all agents. This field is only populated if the request specifies a Dimension." + }, + "slices": { + "description": "A slice contains a total and (if the request specified a time granularity) a time series of metric values. Each slice contains a unique combination of the cardinality of dimensions from the request.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1QueryMetricsResponseSlice" + }, + "type": "array" }, "updateTime": { - "description": "Output only. The most recent time at which the phrase matcher was updated.", + "description": "The metrics last update time.", "format": "google-datetime", - "readOnly": true, "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1QueryMetricsResponseSlice": { + "description": "A slice contains a total and (if the request specified a time granularity) a time series of metric values. Each slice contains a unique combination of the cardinality of dimensions from the request. For example, if the request specifies a single ISSUE dimension and it has a cardinality of 2 (i.e. the data used to compute the metrics has 2 issues in total), the response will have 2 slices: * Slice 1 -> dimensions=[Issue 1] * Slice 2 -> dimensions=[Issue 2]", + "id": "GoogleCloudContactcenterinsightsV1QueryMetricsResponseSlice", + "properties": { + "dimensions": { + "description": "A unique combination of dimensions that this slice represents.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1Dimension" + }, + "type": "array" }, - "versionTag": { - "description": "The customized version tag to use for the phrase matcher. If not specified, it will default to `revision_id`.", + "timeSeries": { + "$ref": "GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceTimeSeries", + "description": "A time series of metric values. This is only populated if the request specifies a time granularity other than NONE." + }, + "total": { + "$ref": "GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPoint", + "description": "The total metric value. The interval of this data point is [starting create time, ending create time) from the request." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPoint": { + "description": "A data point contains the metric values mapped to an interval.", + "id": "GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPoint", + "properties": { + "conversationMeasure": { + "$ref": "GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPointConversationMeasure", + "description": "The measure related to conversations." + }, + "interval": { + "$ref": "GoogleTypeInterval", + "description": "The interval that this data point represents. * If this is the total data point, the interval is [starting create time, ending create time) from the request. * If this a data point from the time series, the interval is [time, time + time granularity from the request)." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPointConversationMeasure": { + "description": "The measure related to conversations.", + "id": "GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPointConversationMeasure", + "properties": { + "averageAgentSentimentScore": { + "description": "The average agent's sentiment score.", + "format": "float", + "type": "number" + }, + "averageClientSentimentScore": { + "description": "The average client's sentiment score.", + "format": "float", + "type": "number" + }, + "averageCustomerSatisfactionRating": { + "description": "The average customer satisfaction rating.", + "format": "double", + "type": "number" + }, + "averageDuration": { + "description": "The average duration.", + "format": "google-duration", + "type": "string" + }, + "averageQaNormalizedScore": { + "description": "Average QA normalized score. Will exclude 0's in average calculation.", + "format": "double", + "type": "number" + }, + "averageQaQuestionNormalizedScore": { + "description": "Average QA normalized score averaged for questions averaged across all revisions of the parent scorecard. Will be only populated if the request specifies a dimension of QA_QUESTION_ID.", + "format": "double", + "type": "number" + }, + "averageSilencePercentage": { + "description": "The average silence percentage.", + "format": "float", + "type": "number" + }, + "averageTurnCount": { + "description": "The average turn count.", + "format": "float", + "type": "number" + }, + "conversationCount": { + "description": "The conversation count.", + "format": "int32", + "type": "integer" + }, + "qaTagScores": { + "description": "Average QA normalized score for all the tags.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPointConversationMeasureQaTagScore" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPointConversationMeasureQaTagScore": { + "description": "Average QA normalized score for the tag.", + "id": "GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPointConversationMeasureQaTagScore", + "properties": { + "averageTagNormalizedScore": { + "description": "Average tag normalized score per tag.", + "format": "double", + "type": "number" + }, + "tag": { + "description": "Tag name.", "type": "string" } }, "type": "object" }, + "GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceTimeSeries": { + "description": "A time series of metric values.", + "id": "GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceTimeSeries", + "properties": { + "dataPoints": { + "description": "The data points that make up the time series .", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPoint" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudContactcenterinsightsV1RedactionConfig": { "description": "DLP resources used for redaction while ingesting conversations. DLP settings are applied to conversations ingested from the `UploadConversation` and `IngestConversations` endpoints, including conversation coming from CCAI Platform. They are not applied to conversations ingested from the `CreateConversation` endpoint or the Dialogflow / Agent Assist runtime integrations. When using Dialogflow / Agent Assist runtime integrations, redaction should be performed in Dialogflow / Agent Assist.", "id": "GoogleCloudContactcenterinsightsV1RedactionConfig", @@ -4111,6 +6498,21 @@ }, "type": "object" }, + "GoogleCloudContactcenterinsightsV1TuneQaScorecardRevisionRequest": { + "description": "Request for TuneQaScorecardRevision endpoint.", + "id": "GoogleCloudContactcenterinsightsV1TuneQaScorecardRevisionRequest", + "properties": { + "filter": { + "description": "Required. Filter for selecting the feedback labels that needs to be used for training. This filter can be used to limit the feedback labels used for tuning to a feedback labels created or updated for a specific time-window etc.", + "type": "string" + }, + "validateOnly": { + "description": "Optional. Run in validate only mode, no fine tuning will actually run. Data quality validations like training data distributions will run. Even when set to false, the data quality validations will still run but once the validations complete we will proceed with the fine tune, if applicable.", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleCloudContactcenterinsightsV1UndeployIssueModelMetadata": { "description": "Metadata for undeploying an issue model.", "id": "GoogleCloudContactcenterinsightsV1UndeployIssueModelMetadata", @@ -4151,6 +6553,12 @@ "properties": {}, "type": "object" }, + "GoogleCloudContactcenterinsightsV1UndeployQaScorecardRevisionRequest": { + "description": "The request to undeploy a QaScorecardRevision", + "id": "GoogleCloudContactcenterinsightsV1UndeployQaScorecardRevisionRequest", + "properties": {}, + "type": "object" + }, "GoogleCloudContactcenterinsightsV1UploadConversationMetadata": { "description": "The metadata for an `UploadConversation` operation.", "id": "GoogleCloudContactcenterinsightsV1UploadConversationMetadata", @@ -4327,6 +6735,13 @@ "description": "All the matched phrase matchers in the call.", "type": "object" }, + "qaScorecardResults": { + "description": "Results of scoring QaScorecards.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1QaScorecardResult" + }, + "type": "array" + }, "sentiments": { "description": "Overall conversation-level sentiment for each channel of the call.", "items": { @@ -4376,6 +6791,10 @@ }, "type": "array" }, + "qaConfig": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorQaConfig", + "description": "Configuration for the QA annotator." + }, "runEntityAnnotator": { "description": "Whether to run the entity annotator.", "type": "boolean" @@ -4396,6 +6815,10 @@ "description": "Whether to run the active phrase matcher annotator(s).", "type": "boolean" }, + "runQaAnnotator": { + "description": "Whether to run the QA annotator.", + "type": "boolean" + }, "runSentimentAnnotator": { "description": "Whether to run the sentiment annotator.", "type": "boolean" @@ -4415,6 +6838,31 @@ }, "type": "object" }, + "GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorQaConfig": { + "description": "Configuration for the QA feature.", + "id": "GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorQaConfig", + "properties": { + "scorecardList": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorQaConfigScorecardList", + "description": "A manual list of scorecards to score." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorQaConfigScorecardList": { + "description": "Container for a list of scorecards.", + "id": "GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorQaConfigScorecardList", + "properties": { + "qaScorecardRevisions": { + "description": "List of QaScorecardRevisions.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorSummarizationConfig": { "description": "Configuration for summarization.", "id": "GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorSummarizationConfig", @@ -4746,7 +7194,7 @@ "additionalProperties": { "type": "string" }, - "description": "A map for the user to specify any custom fields. A maximum of 20 labels per conversation is allowed, with a maximum of 256 characters per entry.", + "description": "A map for the user to specify any custom fields. A maximum of 100 labels per conversation is allowed, with a maximum of 256 characters per entry.", "type": "object" }, "languageCode": { @@ -4778,7 +7226,7 @@ "type": "string" }, "metadataJson": { - "description": "Input only. JSON Metadata encoded as a string. This field is primarily used by Insights integrations with various telphony systems and must be in one of Insights' supported formats.", + "description": "Input only. JSON metadata encoded as a string. This field is primarily used by Insights integrations with various telphony systems and must be in one of Insight's supported formats.", "type": "string" }, "name": { @@ -4974,6 +7422,24 @@ "description": "A user-specified string representing the agent.", "type": "string" }, + "agentType": { + "description": "The agent type, e.g. HUMAN_AGENT.", + "enum": [ + "ROLE_UNSPECIFIED", + "HUMAN_AGENT", + "AUTOMATED_AGENT", + "END_USER", + "ANY_AGENT" + ], + "enumDescriptions": [ + "Participant's role is not set.", + "Participant is a human agent.", + "Participant is an automated agent.", + "Participant is an end user who conversed with the contact center.", + "Participant is either a human or automated agent." + ], + "type": "string" + }, "displayName": { "description": "The agent's name.", "type": "string" @@ -4982,9 +7448,21 @@ "description": "A user-provided string indicating the outcome of the agent's segment of the call.", "type": "string" }, + "location": { + "description": "The agent's location.", + "type": "string" + }, "team": { - "description": "A user-specified string representing the agent's team.", + "deprecated": true, + "description": "A user-specified string representing the agent's team. Deprecated in favor of the `teams` field.", "type": "string" + }, + "teams": { + "description": "User-specified strings representing the agent's teams.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -5156,6 +7634,29 @@ }, "type": "object" }, + "GoogleCloudContactcenterinsightsV1alpha1CreateIssueMetadata": { + "description": "Metadata for creating an issue.", + "id": "GoogleCloudContactcenterinsightsV1alpha1CreateIssueMetadata", + "properties": { + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1CreateIssueRequest", + "description": "The original request for creation." + } + }, + "type": "object" + }, "GoogleCloudContactcenterinsightsV1alpha1CreateIssueModelMetadata": { "description": "Metadata for creating an issue model.", "id": "GoogleCloudContactcenterinsightsV1alpha1CreateIssueModelMetadata", @@ -5194,6 +7695,21 @@ }, "type": "object" }, + "GoogleCloudContactcenterinsightsV1alpha1CreateIssueRequest": { + "description": "The request to create an issue.", + "id": "GoogleCloudContactcenterinsightsV1alpha1CreateIssueRequest", + "properties": { + "issue": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1Issue", + "description": "Required. The values for the new issue." + }, + "parent": { + "description": "Required. The parent resource of the issue.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudContactcenterinsightsV1alpha1DeleteIssueModelMetadata": { "description": "Metadata for deleting an issue model.", "id": "GoogleCloudContactcenterinsightsV1alpha1DeleteIssueModelMetadata", @@ -5311,12 +7827,141 @@ }, "type": "object" }, + "GoogleCloudContactcenterinsightsV1alpha1Dimension": { + "description": "A dimension determines the grouping key for the query. In SQL terms, these would be part of both the \"SELECT\" and \"GROUP BY\" clauses.", + "id": "GoogleCloudContactcenterinsightsV1alpha1Dimension", + "properties": { + "agentDimensionMetadata": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1DimensionAgentDimensionMetadata", + "description": "Output only. Metadata about the agent dimension.", + "readOnly": true + }, + "dimensionKey": { + "description": "The key of the dimension.", + "enum": [ + "DIMENSION_KEY_UNSPECIFIED", + "ISSUE", + "AGENT", + "AGENT_TEAM", + "QA_QUESTION_ID", + "QA_QUESTION_ANSWER_VALUE", + "CONVERSATION_PROFILE_ID" + ], + "enumDescriptions": [ + "The key of the dimension is unspecified.", + "The dimension is keyed by issues.", + "The dimension is keyed by agents.", + "The dimension is keyed by agent teams.", + "The dimension is keyed by QaQuestionIds. Note that: We only group by the QuestionId and not the revision-id of the scorecard this question is a part of. This allows for showing stats for the same question across different scorecard revisions.", + "The dimension is keyed by QaQuestionIds-Answer value pairs. Note that: We only group by the QuestionId and not the revision-id of the scorecard this question is a part of. This allows for showing distribution of answers per question across different scorecard revisions.", + "The dimension is keyed by the conversation profile ID." + ], + "type": "string" + }, + "issueDimensionMetadata": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1DimensionIssueDimensionMetadata", + "description": "Output only. Metadata about the issue dimension.", + "readOnly": true + }, + "qaQuestionAnswerDimensionMetadata": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1DimensionQaQuestionAnswerDimensionMetadata", + "description": "Output only. Metadata about the QA question-answer dimension.", + "readOnly": true + }, + "qaQuestionDimensionMetadata": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1DimensionQaQuestionDimensionMetadata", + "description": "Output only. Metadata about the QA question dimension.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1DimensionAgentDimensionMetadata": { + "description": "Metadata about the agent dimension.", + "id": "GoogleCloudContactcenterinsightsV1alpha1DimensionAgentDimensionMetadata", + "properties": { + "agentDisplayName": { + "description": "Optional. The agent's name", + "type": "string" + }, + "agentId": { + "description": "Optional. A user-specified string representing the agent.", + "type": "string" + }, + "agentTeam": { + "description": "Optional. A user-specified string representing the agent's team.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1DimensionIssueDimensionMetadata": { + "description": "Metadata about the issue dimension.", + "id": "GoogleCloudContactcenterinsightsV1alpha1DimensionIssueDimensionMetadata", + "properties": { + "issueDisplayName": { + "description": "The issue display name.", + "type": "string" + }, + "issueId": { + "description": "The issue ID.", + "type": "string" + }, + "issueModelId": { + "description": "The parent issue model ID.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1DimensionQaQuestionAnswerDimensionMetadata": { + "description": "Metadata about the QA question-answer dimension. This is useful for showing the answer distribution for questions for a given scorecard.", + "id": "GoogleCloudContactcenterinsightsV1alpha1DimensionQaQuestionAnswerDimensionMetadata", + "properties": { + "answerValue": { + "description": "Optional. The full body of the question.", + "type": "string" + }, + "qaQuestionId": { + "description": "Optional. The QA question ID.", + "type": "string" + }, + "qaScorecardId": { + "description": "Optional. The QA scorecard ID.", + "type": "string" + }, + "questionBody": { + "description": "Optional. The full body of the question.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1DimensionQaQuestionDimensionMetadata": { + "description": "Metadata about the QA question dimension.", + "id": "GoogleCloudContactcenterinsightsV1alpha1DimensionQaQuestionDimensionMetadata", + "properties": { + "qaQuestionId": { + "description": "Optional. The QA question ID.", + "type": "string" + }, + "qaScorecardId": { + "description": "Optional. The QA scorecard ID.", + "type": "string" + }, + "questionBody": { + "description": "Optional. The full body of the question.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudContactcenterinsightsV1alpha1EncryptionSpec": { - "description": "A customer-managed encryption key specification that can be applied to all created resources (e.g. Conversation).", + "description": "A customer-managed encryption key specification that can be applied to all created resources (e.g. `Conversation`).", "id": "GoogleCloudContactcenterinsightsV1alpha1EncryptionSpec", "properties": { "kmsKey": { - "description": "Required. The name of customer-managed encryption key that is used to secure a resource and its sub-resources. If empty, the resource is secured by the default Google encryption key. Only the key in the same location as this resource is allowed to be used for encryption. Format: `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{key}`", + "description": "Required. The name of customer-managed encryption key that is used to secure a resource and its sub-resources. If empty, the resource is secured by our default encryption key. Only the key in the same location as this resource is allowed to be used for encryption. Format: `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{key}`", "type": "string" }, "name": { @@ -5585,12 +8230,47 @@ "description": "The name of the answer record. Format: projects/{project}/locations/{location}/answerRecords/{answer_record}", "type": "string" }, - "question": { - "description": "The corresponding FAQ question.", + "question": { + "description": "The corresponding FAQ question.", + "type": "string" + }, + "source": { + "description": "The knowledge document that this answer was extracted from. Format: projects/{project}/knowledgeBases/{knowledge_base}/documents/{document}.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1FeedbackLabel": { + "description": "Represents a conversation, resource, and label provided by the user.", + "id": "GoogleCloudContactcenterinsightsV1alpha1FeedbackLabel", + "properties": { + "createTime": { + "description": "Output only. Create time of the label.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "label": { + "description": "String label.", + "type": "string" + }, + "labeledResource": { + "description": "Resource name of the resource to be labeled.", + "type": "string" + }, + "name": { + "description": "Immutable. Resource name of the FeedbackLabel. Format: projects/{project}/locations/{location}/conversations/{conversation}/feedbackLabels/{feedback_label}", "type": "string" }, - "source": { - "description": "The knowledge document that this answer was extracted from. Format: projects/{project}/knowledgeBases/{knowledge_base}/documents/{document}.", + "qaAnswerLabel": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerValue", + "description": "QaAnswer label." + }, + "updateTime": { + "description": "Output only. Update time of the label.", + "format": "google-datetime", + "readOnly": true, "type": "string" } }, @@ -5671,7 +8351,12 @@ "GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelResponse": { "description": "Response from import issue model", "id": "GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelResponse", - "properties": {}, + "properties": { + "issueModel": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1IssueModel", + "description": "The issue model that was imported." + } + }, "type": "object" }, "GoogleCloudContactcenterinsightsV1alpha1IngestConversationsMetadata": { @@ -5787,60 +8472,323 @@ "format": "int32", "type": "integer" }, - "agentId": { - "description": "Optional. An opaque, user-specified string representing a human agent who handled all conversations in the import. Note that this will be overridden if per-conversation metadata is provided through the `metadata_bucket_uri`.", + "agentId": { + "description": "Optional. An opaque, user-specified string representing a human agent who handled all conversations in the import. Note that this will be overridden if per-conversation metadata is provided through the `metadata_bucket_uri`.", + "type": "string" + }, + "customerChannel": { + "description": "Optional. Indicates which of the channels, 1 or 2, contains the agent. Note that this must be set for conversations to be properly displayed and analyzed.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestGcsSource": { + "description": "Configuration for Cloud Storage bucket sources.", + "id": "GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestGcsSource", + "properties": { + "bucketObjectType": { + "description": "Optional. Specifies the type of the objects in `bucket_uri`.", + "enum": [ + "BUCKET_OBJECT_TYPE_UNSPECIFIED", + "TRANSCRIPT", + "AUDIO" + ], + "enumDescriptions": [ + "The object type is unspecified and will default to `TRANSCRIPT`.", + "The object is a transcript.", + "The object is an audio file." + ], + "type": "string" + }, + "bucketUri": { + "description": "Required. The Cloud Storage bucket containing source objects.", + "type": "string" + }, + "customMetadataKeys": { + "description": "Optional. Custom keys to extract as conversation labels from metadata files in `metadata_bucket_uri`. Keys not included in this field will be ignored. Note that there is a limit of 100 labels per conversation.", + "items": { + "type": "string" + }, + "type": "array" + }, + "metadataBucketUri": { + "description": "Optional. The Cloud Storage path to the conversation metadata. Note that: [1] Metadata files are expected to be in JSON format. [2] Metadata and source files (transcripts or audio) must be in separate buckets. [3] A source file and its corresponding metadata file must share the same name to be properly ingested, E.g. `gs://bucket/audio/conversation1.mp3` and `gs://bucket/metadata/conversation1.json`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestTranscriptObjectConfig": { + "description": "Configuration for processing transcript objects.", + "id": "GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestTranscriptObjectConfig", + "properties": { + "medium": { + "description": "Required. The medium transcript objects represent.", + "enum": [ + "MEDIUM_UNSPECIFIED", + "PHONE_CALL", + "CHAT" + ], + "enumDescriptions": [ + "Default value, if unspecified will default to PHONE_CALL.", + "The format for conversations that took place over the phone.", + "The format for conversations that took place over chat." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1IngestConversationsResponse": { + "description": "The response to an IngestConversations operation.", + "id": "GoogleCloudContactcenterinsightsV1alpha1IngestConversationsResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecMetadata": { + "description": "Metadata for initializing a location-level encryption specification.", + "id": "GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecMetadata", + "properties": { + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "partialErrors": { + "description": "Partial errors during initializing operation that might cause the operation output to be incomplete.", + "items": { + "$ref": "GoogleRpcStatus" + }, + "type": "array" + }, + "request": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecRequest", + "description": "Output only. The original request for initialization.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecRequest": { + "description": "The request to initialize a location-level encryption specification.", + "id": "GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecRequest", + "properties": { + "encryptionSpec": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1EncryptionSpec", + "description": "Required. The encryption spec used for CMEK encryption. It is required that the kms key is in the same region as the endpoint. The same key will be used for all provisioned resources, if encryption is available. If the `kms_key_name` field is left empty, no encryption will be enforced." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecResponse": { + "description": "The response to initialize a location-level encryption specification.", + "id": "GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1Intent": { + "description": "The data for an intent. Represents a detected intent in the conversation, for example MAKES_PROMISE.", + "id": "GoogleCloudContactcenterinsightsV1alpha1Intent", + "properties": { + "displayName": { + "description": "The human-readable name of the intent.", + "type": "string" + }, + "id": { + "description": "The unique identifier of the intent.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1IntentMatchData": { + "description": "The data for an intent match. Represents an intent match for a text segment in the conversation. A text segment can be part of a sentence, a complete sentence, or an utterance with multiple sentences.", + "id": "GoogleCloudContactcenterinsightsV1alpha1IntentMatchData", + "properties": { + "intentUniqueId": { + "description": "The id of the matched intent. Can be used to retrieve the corresponding intent information.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1InterruptionData": { + "description": "The data for an interruption annotation.", + "id": "GoogleCloudContactcenterinsightsV1alpha1InterruptionData", + "properties": {}, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1Issue": { + "description": "The issue resource.", + "id": "GoogleCloudContactcenterinsightsV1alpha1Issue", + "properties": { + "createTime": { + "description": "Output only. The time at which this issue was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayDescription": { + "description": "Representative description of the issue.", + "type": "string" + }, + "displayName": { + "description": "The representative name for the issue.", + "type": "string" + }, + "name": { + "description": "Immutable. The resource name of the issue. Format: projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue}", + "type": "string" + }, + "sampleUtterances": { + "description": "Output only. Resource names of the sample representative utterances that match to this issue.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "updateTime": { + "description": "Output only. The most recent time that this issue was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1IssueAssignment": { + "description": "Information about the issue.", + "id": "GoogleCloudContactcenterinsightsV1alpha1IssueAssignment", + "properties": { + "displayName": { + "description": "Immutable. Display name of the assigned issue. This field is set at time of analyis and immutable since then.", + "type": "string" + }, + "issue": { + "description": "Resource name of the assigned issue.", + "type": "string" + }, + "score": { + "description": "Score indicating the likelihood of the issue assignment. currently bounded on [0,1].", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1IssueMatchData": { + "description": "The data for an issue match annotation.", + "id": "GoogleCloudContactcenterinsightsV1alpha1IssueMatchData", + "properties": { + "issueAssignment": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1IssueAssignment", + "description": "Information about the issue's assignment." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1IssueModel": { + "description": "The issue model resource.", + "id": "GoogleCloudContactcenterinsightsV1alpha1IssueModel", + "properties": { + "createTime": { + "description": "Output only. The time at which this issue model was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The representative name for the issue model.", + "type": "string" + }, + "inputDataConfig": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1IssueModelInputDataConfig", + "description": "Configs for the input data that used to create the issue model." + }, + "issueCount": { + "description": "Output only. Number of issues in this issue model.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "languageCode": { + "description": "Language of the model.", "type": "string" }, - "customerChannel": { - "description": "Optional. Indicates which of the channels, 1 or 2, contains the agent. Note that this must be set for conversations to be properly displayed and analyzed.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestGcsSource": { - "description": "Configuration for Cloud Storage bucket sources.", - "id": "GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestGcsSource", - "properties": { - "bucketObjectType": { - "description": "Optional. Specifies the type of the objects in `bucket_uri`.", + "modelType": { + "description": "Type of the model.", "enum": [ - "BUCKET_OBJECT_TYPE_UNSPECIFIED", - "TRANSCRIPT", - "AUDIO" + "MODEL_TYPE_UNSPECIFIED", + "TYPE_V1", + "TYPE_V2" ], "enumDescriptions": [ - "The object type is unspecified and will default to `TRANSCRIPT`.", - "The object is a transcript.", - "The object is an audio file." + "Unspecified model type.", + "Type V1.", + "Type V2." ], "type": "string" }, - "bucketUri": { - "description": "Required. The Cloud Storage bucket containing source objects.", + "name": { + "description": "Immutable. The resource name of the issue model. Format: projects/{project}/locations/{location}/issueModels/{issue_model}", "type": "string" }, - "customMetadataKeys": { - "description": "Optional. Custom keys to extract as conversation labels from metadata files in `metadata_bucket_uri`. Keys not included in this field will be ignored. Note that there is a limit of 20 labels per conversation.", - "items": { - "type": "string" - }, - "type": "array" + "state": { + "description": "Output only. State of the model.", + "enum": [ + "STATE_UNSPECIFIED", + "UNDEPLOYED", + "DEPLOYING", + "DEPLOYED", + "UNDEPLOYING", + "DELETING" + ], + "enumDescriptions": [ + "Unspecified.", + "Model is not deployed but is ready to deploy.", + "Model is being deployed.", + "Model is deployed and is ready to be used. A model can only be used in analysis if it's in this state.", + "Model is being undeployed.", + "Model is being deleted." + ], + "readOnly": true, + "type": "string" }, - "metadataBucketUri": { - "description": "Optional. The Cloud Storage path to the conversation metadata. Note that: [1] Metadata files are expected to be in JSON format. [2] Metadata and source files (transcripts or audio) must be in separate buckets. [3] A source file and its corresponding metadata file must share the same name to be properly ingested, E.g. `gs://bucket/audio/conversation1.mp3` and `gs://bucket/metadata/conversation1.json`.", + "trainingStats": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStats", + "description": "Output only. Immutable. The issue model's label statistics on its training data.", + "readOnly": true + }, + "updateTime": { + "description": "Output only. The most recent time at which the issue model was updated.", + "format": "google-datetime", + "readOnly": true, "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestTranscriptObjectConfig": { - "description": "Configuration for processing transcript objects.", - "id": "GoogleCloudContactcenterinsightsV1alpha1IngestConversationsRequestTranscriptObjectConfig", + "GoogleCloudContactcenterinsightsV1alpha1IssueModelInputDataConfig": { + "description": "Configs for the input data used to create the issue model.", + "id": "GoogleCloudContactcenterinsightsV1alpha1IssueModelInputDataConfig", "properties": { + "filter": { + "description": "A filter to reduce the conversations used for training the model to a specific subset.", + "type": "string" + }, "medium": { - "description": "Required. The medium transcript objects represent.", + "deprecated": true, + "description": "Medium of conversations used in training data. This field is being deprecated. To specify the medium to be used in training a new issue model, set the `medium` field on `filter`.", "enum": [ "MEDIUM_UNSPECIFIED", "PHONE_CALL", @@ -5852,317 +8800,530 @@ "The format for conversations that took place over chat." ], "type": "string" + }, + "trainingConversationsCount": { + "description": "Output only. Number of conversations used in training. Output only.", + "format": "int64", + "readOnly": true, + "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1alpha1IngestConversationsResponse": { - "description": "The response to an IngestConversations operation.", - "id": "GoogleCloudContactcenterinsightsV1alpha1IngestConversationsResponse", - "properties": {}, + "GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStats": { + "description": "Aggregated statistics about an issue model.", + "id": "GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStats", + "properties": { + "analyzedConversationsCount": { + "description": "Number of conversations the issue model has analyzed at this point in time.", + "format": "int64", + "type": "string" + }, + "issueStats": { + "additionalProperties": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStatsIssueStats" + }, + "description": "Statistics on each issue. Key is the issue's resource name.", + "type": "object" + }, + "unclassifiedConversationsCount": { + "description": "Number of analyzed conversations for which no issue was applicable at this point in time.", + "format": "int64", + "type": "string" + } + }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecMetadata": { - "description": "Metadata for initializing a location-level encryption specification.", - "id": "GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecMetadata", + "GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStatsIssueStats": { + "description": "Aggregated statistics about an issue.", + "id": "GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStatsIssueStats", "properties": { - "createTime": { - "description": "Output only. The time the operation was created.", - "format": "google-datetime", - "readOnly": true, + "displayName": { + "description": "Display name of the issue.", "type": "string" }, - "endTime": { - "description": "Output only. The time the operation finished running.", - "format": "google-datetime", - "readOnly": true, + "issue": { + "description": "Issue resource. Format: projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue}", "type": "string" }, - "partialErrors": { - "description": "Partial errors during initialising operation that might cause the operation output to be incomplete.", + "labeledConversationsCount": { + "description": "Number of conversations attached to the issue at this point in time.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1IssueModelResult": { + "description": "Issue Modeling result on a conversation.", + "id": "GoogleCloudContactcenterinsightsV1alpha1IssueModelResult", + "properties": { + "issueModel": { + "description": "Issue model that generates the result. Format: projects/{project}/locations/{location}/issueModels/{issue_model}", + "type": "string" + }, + "issues": { + "description": "All the matched issues.", "items": { - "$ref": "GoogleRpcStatus" + "$ref": "GoogleCloudContactcenterinsightsV1alpha1IssueAssignment" }, "type": "array" - }, - "request": { - "$ref": "GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecRequest", - "description": "Output only. The original request for initialization.", - "readOnly": true } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecRequest": { - "description": "The request to initialize a location-level encryption specification.", - "id": "GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecRequest", + "GoogleCloudContactcenterinsightsV1alpha1ListAllFeedbackLabelsResponse": { + "description": "The response for listing all feedback labels.", + "id": "GoogleCloudContactcenterinsightsV1alpha1ListAllFeedbackLabelsResponse", "properties": { - "encryptionSpec": { - "$ref": "GoogleCloudContactcenterinsightsV1alpha1EncryptionSpec", - "description": "Required. The encryption spec used for CMEK encryption. It is required that the kms key is in the same region as the endpoint. The same key will be used for all provisioned resources, if encryption is available. If the kms_key_name is left empty, no encryption will be enforced." + "feedbackLabels": { + "description": "The feedback labels that match the request.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1FeedbackLabel" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecResponse": { - "description": "The response to initialize a location-level encryption specification.", - "id": "GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecResponse", - "properties": {}, + "GoogleCloudContactcenterinsightsV1alpha1ListFeedbackLabelsResponse": { + "description": "The response for listing feedback labels.", + "id": "GoogleCloudContactcenterinsightsV1alpha1ListFeedbackLabelsResponse", + "properties": { + "feedbackLabels": { + "description": "The feedback labels that match the request.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1FeedbackLabel" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The next page token.", + "type": "string" + } + }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1alpha1Intent": { - "description": "The data for an intent. Represents a detected intent in the conversation, for example MAKES_PROMISE.", - "id": "GoogleCloudContactcenterinsightsV1alpha1Intent", + "GoogleCloudContactcenterinsightsV1alpha1PhraseMatchData": { + "description": "The data for a matched phrase matcher. Represents information identifying a phrase matcher for a given match.", + "id": "GoogleCloudContactcenterinsightsV1alpha1PhraseMatchData", "properties": { "displayName": { - "description": "The human-readable name of the intent.", + "description": "The human-readable name of the phrase matcher.", "type": "string" }, - "id": { - "description": "The unique identifier of the intent.", + "phraseMatcher": { + "description": "The unique identifier (the resource name) of the phrase matcher.", "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1alpha1IntentMatchData": { - "description": "The data for an intent match. Represents an intent match for a text segment in the conversation. A text segment can be part of a sentence, a complete sentence, or an utterance with multiple sentences.", - "id": "GoogleCloudContactcenterinsightsV1alpha1IntentMatchData", + "GoogleCloudContactcenterinsightsV1alpha1QaAnswer": { + "description": "An answer to a QaQuestion.", + "id": "GoogleCloudContactcenterinsightsV1alpha1QaAnswer", "properties": { - "intentUniqueId": { - "description": "The id of the matched intent. Can be used to retrieve the corresponding intent information.", + "answerSources": { + "description": "List of all individual answers given to the question.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerSource" + }, + "type": "array" + }, + "answerValue": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerValue", + "description": "The main answer value, incorporating any manual edits if they exist." + }, + "conversation": { + "description": "The conversation the answer applies to.", + "type": "string" + }, + "qaQuestion": { + "description": "The QaQuestion answered by this answer.", + "type": "string" + }, + "questionBody": { + "description": "Question text. E.g., \"Did the agent greet the customer?\"", "type": "string" + }, + "tags": { + "description": "User-defined list of arbitrary tags. Matches the value from QaScorecard.ScorecardQuestion.tags. Used for grouping/organization and for weighting the score of each answer.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1alpha1InterruptionData": { - "description": "The data for an interruption annotation.", - "id": "GoogleCloudContactcenterinsightsV1alpha1InterruptionData", - "properties": {}, + "GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerSource": { + "description": "A question may have multiple answers from varying sources, one of which becomes the \"main\" answer above. AnswerSource represents each individual answer.", + "id": "GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerSource", + "properties": { + "answerValue": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerValue", + "description": "The answer value from this source." + }, + "sourceType": { + "description": "What created the answer.", + "enum": [ + "SOURCE_TYPE_UNSPECIFIED", + "SYSTEM_GENERATED", + "MANUAL_EDIT" + ], + "enumDescriptions": [ + "Source type is unspecified.", + "Answer was system-generated; created during an Insights analysis.", + "Answer was created by a human via manual edit." + ], + "type": "string" + } + }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1alpha1IssueAssignment": { - "description": "Information about the issue.", - "id": "GoogleCloudContactcenterinsightsV1alpha1IssueAssignment", + "GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerValue": { + "description": "Message for holding the value of a QaAnswer. QaQuestion.AnswerChoice defines the possible answer values for a question.", + "id": "GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerValue", "properties": { - "displayName": { - "description": "Immutable. Display name of the assigned issue. This field is set at time of analyis and immutable since then.", - "type": "string" + "boolValue": { + "description": "Boolean value.", + "type": "boolean" }, - "issue": { - "description": "Resource name of the assigned issue.", + "key": { + "description": "A short string used as an identifier. Matches the value used in QaQuestion.AnswerChoice.key.", "type": "string" }, + "naValue": { + "description": "A value of \"Not Applicable (N/A)\". Should only ever be `true`.", + "type": "boolean" + }, + "normalizedScore": { + "description": "Output only. Normalized score of the questions. Calculated as score / potential_score.", + "format": "double", + "readOnly": true, + "type": "number" + }, + "numValue": { + "description": "Numerical value.", + "format": "double", + "type": "number" + }, + "potentialScore": { + "description": "Output only. The maximum potential score of the question.", + "format": "double", + "readOnly": true, + "type": "number" + }, "score": { - "description": "Score indicating the likelihood of the issue assignment. currently bounded on [0,1].", + "description": "Output only. Numerical score of the answer.", "format": "double", + "readOnly": true, "type": "number" + }, + "strValue": { + "description": "String value.", + "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1alpha1IssueMatchData": { - "description": "The data for an issue match annotation.", - "id": "GoogleCloudContactcenterinsightsV1alpha1IssueMatchData", - "properties": { - "issueAssignment": { - "$ref": "GoogleCloudContactcenterinsightsV1alpha1IssueAssignment", - "description": "Information about the issue's assignment." - } - }, - "type": "object" - }, - "GoogleCloudContactcenterinsightsV1alpha1IssueModel": { - "description": "The issue model resource.", - "id": "GoogleCloudContactcenterinsightsV1alpha1IssueModel", + "GoogleCloudContactcenterinsightsV1alpha1QaScorecardResult": { + "description": "The results of scoring a single conversation against a QaScorecard. Contains a collection of QaAnswers and aggregate score.", + "id": "GoogleCloudContactcenterinsightsV1alpha1QaScorecardResult", "properties": { + "agentId": { + "description": "ID of the agent that handled the conversation.", + "type": "string" + }, + "conversation": { + "description": "The conversation scored by this result.", + "type": "string" + }, "createTime": { - "description": "Output only. The time at which this issue model was created.", + "description": "Output only. The timestamp that the revision was created.", "format": "google-datetime", "readOnly": true, "type": "string" }, - "displayName": { - "description": "The representative name for the issue model.", + "name": { + "description": "Identifier. The name of the scorecard result. Format: projects/{project}/locations/{location}/qaScorecardResults/{qa_scorecard_result}", "type": "string" }, - "inputDataConfig": { - "$ref": "GoogleCloudContactcenterinsightsV1alpha1IssueModelInputDataConfig", - "description": "Configs for the input data that used to create the issue model." + "normalizedScore": { + "description": "The normalized score, which is the score divided by the potential score. Any manual edits are included if they exist.", + "format": "double", + "type": "number" }, - "issueCount": { - "description": "Output only. Number of issues in this issue model.", - "format": "int64", - "readOnly": true, - "type": "string" + "potentialScore": { + "description": "The maximum potential overall score of the scorecard. Any questions answered using `na_value` are excluded from this calculation.", + "format": "double", + "type": "number" }, - "languageCode": { - "description": "Language of the model.", - "type": "string" + "qaAnswers": { + "description": "Set of QaAnswers represented in the result.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1QaAnswer" + }, + "type": "array" }, - "modelType": { - "description": "Type of the model.", - "enum": [ - "MODEL_TYPE_UNSPECIFIED", - "TYPE_V1", - "TYPE_V2" - ], - "enumDescriptions": [ - "Unspecified model type.", - "Type V1.", - "Type V2." - ], + "qaScorecardRevision": { + "description": "The QaScorecardRevision scored by this result.", "type": "string" }, - "name": { - "description": "Immutable. The resource name of the issue model. Format: projects/{project}/locations/{location}/issueModels/{issue_model}", - "type": "string" + "qaTagResults": { + "description": "Collection of tags and their scores.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1QaScorecardResultQaTagResult" + }, + "type": "array" }, - "state": { - "description": "Output only. State of the model.", - "enum": [ - "STATE_UNSPECIFIED", - "UNDEPLOYED", - "DEPLOYING", - "DEPLOYED", - "UNDEPLOYING", - "DELETING" - ], - "enumDescriptions": [ - "Unspecified.", - "Model is not deployed but is ready to deploy.", - "Model is being deployed.", - "Model is deployed and is ready to be used. A model can only be used in analysis if it's in this state.", - "Model is being undeployed.", - "Model is being deleted." - ], - "readOnly": true, - "type": "string" + "score": { + "description": "The overall numerical score of the result, incorporating any manual edits if they exist.", + "format": "double", + "type": "number" }, - "trainingStats": { - "$ref": "GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStats", - "description": "Output only. Immutable. The issue model's label statistics on its training data.", - "readOnly": true + "scoreSources": { + "description": "List of all individual score sets.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1QaScorecardResultScoreSource" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1QaScorecardResultQaTagResult": { + "description": "Tags and their corresponding results.", + "id": "GoogleCloudContactcenterinsightsV1alpha1QaScorecardResultQaTagResult", + "properties": { + "normalizedScore": { + "description": "The normalized score the tag applies to.", + "format": "double", + "type": "number" }, - "updateTime": { - "description": "Output only. The most recent time at which the issue model was updated.", - "format": "google-datetime", - "readOnly": true, + "potentialScore": { + "description": "The potential score the tag applies to.", + "format": "double", + "type": "number" + }, + "score": { + "description": "The score the tag applies to.", + "format": "double", + "type": "number" + }, + "tag": { + "description": "The tag the score applies to.", "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1alpha1IssueModelInputDataConfig": { - "description": "Configs for the input data used to create the issue model.", - "id": "GoogleCloudContactcenterinsightsV1alpha1IssueModelInputDataConfig", + "GoogleCloudContactcenterinsightsV1alpha1QaScorecardResultScoreSource": { + "description": "A scorecard result may have multiple sets of scores from varying sources, one of which becomes the \"main\" answer above. A ScoreSource represents each individual set of scores.", + "id": "GoogleCloudContactcenterinsightsV1alpha1QaScorecardResultScoreSource", "properties": { - "filter": { - "description": "A filter to reduce the conversations used for training the model to a specific subset.", - "type": "string" + "normalizedScore": { + "description": "The normalized score, which is the score divided by the potential score.", + "format": "double", + "type": "number" }, - "medium": { - "deprecated": true, - "description": "Medium of conversations used in training data. This field is being deprecated. To specify the medium to be used in training a new issue model, set the `medium` field on `filter`.", + "potentialScore": { + "description": "The maximum potential overall score of the scorecard. Any questions answered using `na_value` are excluded from this calculation.", + "format": "double", + "type": "number" + }, + "qaTagResults": { + "description": "Collection of tags and their scores.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1QaScorecardResultQaTagResult" + }, + "type": "array" + }, + "score": { + "description": "The overall numerical score of the result.", + "format": "double", + "type": "number" + }, + "sourceType": { + "description": "What created the score.", "enum": [ - "MEDIUM_UNSPECIFIED", - "PHONE_CALL", - "CHAT" + "SOURCE_TYPE_UNSPECIFIED", + "SYSTEM_GENERATED_ONLY", + "INCLUDES_MANUAL_EDITS" ], "enumDescriptions": [ - "Default value, if unspecified will default to PHONE_CALL.", - "The format for conversations that took place over the phone.", - "The format for conversations that took place over chat." + "Source type is unspecified.", + "Score is derived only from system-generated answers.", + "Score is derived from both system-generated answers, and includes any manual edits if they exist." ], "type": "string" - }, - "trainingConversationsCount": { - "description": "Output only. Number of conversations used in training. Output only.", - "format": "int64", - "readOnly": true, - "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStats": { - "description": "Aggregated statistics about an issue model.", - "id": "GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStats", + "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsMetadata": { + "description": "The metadata from querying metrics.", + "id": "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponse": { + "description": "The response for querying metrics.", + "id": "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponse", "properties": { - "analyzedConversationsCount": { - "description": "Number of conversations the issue model has analyzed at this point in time.", - "format": "int64", + "location": { + "description": "Required. The location of the data. \"projects/{project}/locations/{location}\"", "type": "string" }, - "issueStats": { - "additionalProperties": { - "$ref": "GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStatsIssueStats" + "macroAverageSlice": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSlice", + "description": "The macro average slice contains aggregated averages across the selected dimension. i.e. if group_by agent is specified this field will contain the average across all agents. This field is only populated if the request specifies a Dimension." + }, + "slices": { + "description": "A slice contains a total and (if the request specified a time granularity) a time series of metric values. Each slice contains a unique combination of the cardinality of dimensions from the request.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSlice" }, - "description": "Statistics on each issue. Key is the issue's resource name.", - "type": "object" + "type": "array" }, - "unclassifiedConversationsCount": { - "description": "Number of analyzed conversations for which no issue was applicable at this point in time.", - "format": "int64", + "updateTime": { + "description": "The metrics last update time.", + "format": "google-datetime", "type": "string" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStatsIssueStats": { - "description": "Aggregated statistics about an issue.", - "id": "GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStatsIssueStats", + "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSlice": { + "description": "A slice contains a total and (if the request specified a time granularity) a time series of metric values. Each slice contains a unique combination of the cardinality of dimensions from the request. For example, if the request specifies a single ISSUE dimension and it has a cardinality of 2 (i.e. the data used to compute the metrics has 2 issues in total), the response will have 2 slices: * Slice 1 -> dimensions=[Issue 1] * Slice 2 -> dimensions=[Issue 2]", + "id": "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSlice", "properties": { - "displayName": { - "description": "Display name of the issue.", - "type": "string" + "dimensions": { + "description": "A unique combination of dimensions that this slice represents.", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1Dimension" + }, + "type": "array" }, - "issue": { - "description": "Issue resource. Format: projects/{project}/locations/{location}/issueModels/{issue_model}/issues/{issue}", - "type": "string" + "timeSeries": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceTimeSeries", + "description": "A time series of metric values. This is only populated if the request specifies a time granularity other than NONE." }, - "labeledConversationsCount": { - "description": "Number of conversations attached to the issue at this point in time.", - "format": "int64", - "type": "string" + "total": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPoint", + "description": "The total metric value. The interval of this data point is [starting create time, ending create time) from the request." } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1alpha1IssueModelResult": { - "description": "Issue Modeling result on a conversation.", - "id": "GoogleCloudContactcenterinsightsV1alpha1IssueModelResult", + "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPoint": { + "description": "A data point contains the metric values mapped to an interval.", + "id": "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPoint", "properties": { - "issueModel": { - "description": "Issue model that generates the result. Format: projects/{project}/locations/{location}/issueModels/{issue_model}", + "conversationMeasure": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPointConversationMeasure", + "description": "The measure related to conversations." + }, + "interval": { + "$ref": "GoogleTypeInterval", + "description": "The interval that this data point represents. * If this is the total data point, the interval is [starting create time, ending create time) from the request. * If this a data point from the time series, the interval is [time, time + time granularity from the request)." + } + }, + "type": "object" + }, + "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPointConversationMeasure": { + "description": "The measure related to conversations.", + "id": "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPointConversationMeasure", + "properties": { + "averageAgentSentimentScore": { + "description": "The average agent's sentiment score.", + "format": "float", + "type": "number" + }, + "averageClientSentimentScore": { + "description": "The average client's sentiment score.", + "format": "float", + "type": "number" + }, + "averageCustomerSatisfactionRating": { + "description": "The average customer satisfaction rating.", + "format": "double", + "type": "number" + }, + "averageDuration": { + "description": "The average duration.", + "format": "google-duration", "type": "string" }, - "issues": { - "description": "All the matched issues.", + "averageQaNormalizedScore": { + "description": "Average QA normalized score. Will exclude 0's in average calculation.", + "format": "double", + "type": "number" + }, + "averageQaQuestionNormalizedScore": { + "description": "Average QA normalized score averaged for questions averaged across all revisions of the parent scorecard. Will be only populated if the request specifies a dimension of QA_QUESTION_ID.", + "format": "double", + "type": "number" + }, + "averageSilencePercentage": { + "description": "The average silence percentage.", + "format": "float", + "type": "number" + }, + "averageTurnCount": { + "description": "The average turn count.", + "format": "float", + "type": "number" + }, + "conversationCount": { + "description": "The conversation count.", + "format": "int32", + "type": "integer" + }, + "qaTagScores": { + "description": "Average QA normalized score for all the tags.", "items": { - "$ref": "GoogleCloudContactcenterinsightsV1alpha1IssueAssignment" + "$ref": "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPointConversationMeasureQaTagScore" }, "type": "array" } }, "type": "object" }, - "GoogleCloudContactcenterinsightsV1alpha1PhraseMatchData": { - "description": "The data for a matched phrase matcher. Represents information identifying a phrase matcher for a given match.", - "id": "GoogleCloudContactcenterinsightsV1alpha1PhraseMatchData", + "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPointConversationMeasureQaTagScore": { + "description": "Average QA normalized score for the tag.", + "id": "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPointConversationMeasureQaTagScore", "properties": { - "displayName": { - "description": "The human-readable name of the phrase matcher.", - "type": "string" + "averageTagNormalizedScore": { + "description": "Average tag normalized score per tag.", + "format": "double", + "type": "number" }, - "phraseMatcher": { - "description": "The unique identifier (the resource name) of the phrase matcher.", + "tag": { + "description": "Tag name.", "type": "string" } }, "type": "object" }, + "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceTimeSeries": { + "description": "A time series of metric values.", + "id": "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceTimeSeries", + "properties": { + "dataPoints": { + "description": "The data points that make up the time series .", + "items": { + "$ref": "GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPoint" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudContactcenterinsightsV1alpha1RedactionConfig": { "description": "DLP resources used for redaction while ingesting conversations. DLP settings are applied to conversations ingested from the `UploadConversation` and `IngestConversations` endpoints, including conversation coming from CCAI Platform. They are not applied to conversations ingested from the `CreateConversation` endpoint or the Dialogflow / Agent Assist runtime integrations. When using Dialogflow / Agent Assist runtime integrations, redaction should be performed in Dialogflow / Agent Assist.", "id": "GoogleCloudContactcenterinsightsV1alpha1RedactionConfig", @@ -6537,6 +9698,23 @@ } }, "type": "object" + }, + "GoogleTypeInterval": { + "description": "Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time.", + "id": "GoogleTypeInterval", + "properties": { + "endTime": { + "description": "Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.", + "format": "google-datetime", + "type": "string" + }, + "startTime": { + "description": "Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/discovery/container-v1.json b/discovery/container-v1.json index fd4e247cc8..02bb48cd88 100644 --- a/discovery/container-v1.json +++ b/discovery/container-v1.json @@ -2540,7 +2540,7 @@ } } }, - "revision": "20240912", + "revision": "20241203", "rootUrl": "https://container.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -2680,6 +2680,10 @@ "$ref": "NetworkPolicyConfig", "description": "Configuration for NetworkPolicy. This only tracks whether the addon is enabled or not on the Master, it does not track whether network policy is enabled for the nodes." }, + "parallelstoreCsiDriverConfig": { + "$ref": "ParallelstoreCsiDriverConfig", + "description": "Configuration for the Cloud Storage Parallelstore CSI driver." + }, "rayOperatorConfig": { "$ref": "RayOperatorConfig", "description": "Optional. Configuration for Ray Operator addon." @@ -2780,7 +2784,7 @@ }, "workloadPolicyConfig": { "$ref": "WorkloadPolicyConfig", - "description": "Workload policy configuration for Autopilot." + "description": "WorkloadPolicyConfig is the configuration related to GCW workload policy" } }, "type": "object" @@ -3166,6 +3170,10 @@ "$ref": "ConfidentialNodes", "description": "Configuration of Confidential Nodes. All the nodes in the cluster will be Confidential VM once enabled." }, + "controlPlaneEndpointsConfig": { + "$ref": "ControlPlaneEndpointsConfig", + "description": "Configuration for all cluster's control plane endpoints." + }, "costManagementConfig": { "$ref": "CostManagementConfig", "description": "Configuration for the fine-grained cost management feature." @@ -3309,7 +3317,8 @@ }, "masterAuthorizedNetworksConfig": { "$ref": "MasterAuthorizedNetworksConfig", - "description": "The configuration options for master authorized networks feature." + "deprecated": true, + "description": "The configuration options for master authorized networks feature. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.authorized_networks_config instead." }, "meshCertificates": { "$ref": "MeshCertificates", @@ -3567,7 +3576,7 @@ }, "desiredAutopilotWorkloadPolicyConfig": { "$ref": "WorkloadPolicyConfig", - "description": "The desired workload policy configuration for the autopilot cluster." + "description": "WorkloadPolicyConfig is the configuration related to GCW workload policy" }, "desiredBinaryAuthorization": { "$ref": "BinaryAuthorization", @@ -3585,6 +3594,10 @@ "$ref": "ContainerdConfig", "description": "The desired containerd config for the cluster." }, + "desiredControlPlaneEndpointsConfig": { + "$ref": "ControlPlaneEndpointsConfig", + "description": "Control plane endpoints configuration." + }, "desiredCostManagementConfig": { "$ref": "CostManagementConfig", "description": "The desired configuration for the fine-grained cost management feature." @@ -3607,6 +3620,10 @@ ], "type": "string" }, + "desiredDefaultEnablePrivateNodes": { + "description": "Override the default setting of whether future created nodes have private IP addresses only, namely NetworkConfig.default_enable_private_nodes", + "type": "boolean" + }, "desiredDefaultSnatStatus": { "$ref": "DefaultSnatStatus", "description": "The desired status of whether to disable default sNAT for this cluster." @@ -3628,9 +3645,14 @@ "type": "boolean" }, "desiredEnablePrivateEndpoint": { - "description": "Enable/Disable private endpoint for the cluster's master.", + "deprecated": true, + "description": "Enable/Disable private endpoint for the cluster's master. Deprecated: Use desired_control_plane_endpoints_config.ip_endpoints_config.enable_public_endpoint instead. Note that the value of enable_public_endpoint is reversed: if enable_private_endpoint is false, then enable_public_endpoint will be true.", "type": "boolean" }, + "desiredEnterpriseConfig": { + "$ref": "DesiredEnterpriseConfig", + "description": "The desired enterprise configuration for the cluster." + }, "desiredFleet": { "$ref": "Fleet", "description": "The desired fleet configuration for the cluster." @@ -3694,7 +3716,8 @@ }, "desiredMasterAuthorizedNetworksConfig": { "$ref": "MasterAuthorizedNetworksConfig", - "description": "The desired configuration options for master authorized networks feature." + "deprecated": true, + "description": "The desired configuration options for master authorized networks feature. Deprecated: Use desired_control_plane_endpoints_config.ip_endpoints_config.authorized_networks_config instead." }, "desiredMasterVersion": { "description": "The Kubernetes version to change the master to. Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - \"latest\": picks the highest valid Kubernetes version - \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version - \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version - \"1.X.Y-gke.N\": picks an explicit Kubernetes version - \"-\": picks the default Kubernetes version", @@ -3724,6 +3747,10 @@ "$ref": "NodeKubeletConfig", "description": "The desired node kubelet config for all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters." }, + "desiredNodePoolAutoConfigLinuxNodeConfig": { + "$ref": "LinuxNodeConfig", + "description": "The desired Linux node config for all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. Currently only `cgroup_mode` can be set here." + }, "desiredNodePoolAutoConfigNetworkTags": { "$ref": "NetworkTags", "description": "The desired network tags that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters." @@ -3758,7 +3785,8 @@ }, "desiredPrivateClusterConfig": { "$ref": "PrivateClusterConfig", - "description": "The desired private cluster configuration. master_global_access_config is the only field that can be changed via this field. See also ClusterUpdate.desired_enable_private_endpoint for modifying other fields within PrivateClusterConfig." + "deprecated": true, + "description": "The desired private cluster configuration. master_global_access_config is the only field that can be changed via this field. See also ClusterUpdate.desired_enable_private_endpoint for modifying other fields within PrivateClusterConfig. Deprecated: Use desired_control_plane_endpoints_config.ip_endpoints_config.global_access instead." }, "desiredPrivateIpv6GoogleAccess": { "description": "The desired state of IPv6 connectivity to Google Services.", @@ -3960,6 +3988,21 @@ }, "type": "object" }, + "ControlPlaneEndpointsConfig": { + "description": "Configuration for all of the cluster's control plane endpoints.", + "id": "ControlPlaneEndpointsConfig", + "properties": { + "dnsEndpointConfig": { + "$ref": "DNSEndpointConfig", + "description": "DNS endpoint configuration." + }, + "ipEndpointsConfig": { + "$ref": "IPEndpointsConfig", + "description": "IP endpoints configuration." + } + }, + "type": "object" + }, "CostManagementConfig": { "description": "Configuration for fine-grained cost management feature.", "id": "CostManagementConfig", @@ -4071,6 +4114,22 @@ }, "type": "object" }, + "DNSEndpointConfig": { + "description": "Describes the configuration of a DNS endpoint.", + "id": "DNSEndpointConfig", + "properties": { + "allowExternalTraffic": { + "description": "Controls whether user traffic is allowed over this endpoint. Note that GCP-managed services may still use the endpoint even if this is false.", + "type": "boolean" + }, + "endpoint": { + "description": "Output only. The cluster's DNS endpoint configuration. A DNS format address. This is accessible from the public internet. Ex: uid.us-central1.gke.goog. Always present, but the behavior may change according to the value of DNSEndpointConfig.allow_external_traffic.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "DailyMaintenanceWindow": { "description": "Time window specified for daily maintenance operations.", "id": "DailyMaintenanceWindow", @@ -4162,6 +4221,27 @@ }, "type": "object" }, + "DesiredEnterpriseConfig": { + "description": "DesiredEnterpriseConfig is a wrapper used for updating enterprise_config.", + "id": "DesiredEnterpriseConfig", + "properties": { + "desiredTier": { + "description": "desired_tier specifies the desired tier of the cluster.", + "enum": [ + "CLUSTER_TIER_UNSPECIFIED", + "STANDARD", + "ENTERPRISE" + ], + "enumDescriptions": [ + "CLUSTER_TIER_UNSPECIFIED is when cluster_tier is not set.", + "STANDARD indicates a standard GKE cluster.", + "ENTERPRISE indicates a GKE Enterprise cluster." + ], + "type": "string" + } + }, + "type": "object" + }, "DnsCacheConfig": { "description": "Configuration for NodeLocal DNSCache", "id": "DnsCacheConfig", @@ -4197,6 +4277,20 @@ ], "readOnly": true, "type": "string" + }, + "desiredTier": { + "description": "desired_tier specifies the desired tier of the cluster.", + "enum": [ + "CLUSTER_TIER_UNSPECIFIED", + "STANDARD", + "ENTERPRISE" + ], + "enumDescriptions": [ + "CLUSTER_TIER_UNSPECIFIED is when cluster_tier is not set.", + "STANDARD indicates a standard GKE cluster.", + "ENTERPRISE indicates a GKE Enterprise cluster." + ], + "type": "string" } }, "type": "object" @@ -4672,6 +4766,43 @@ }, "type": "object" }, + "IPEndpointsConfig": { + "description": "IP endpoints configuration.", + "id": "IPEndpointsConfig", + "properties": { + "authorizedNetworksConfig": { + "$ref": "MasterAuthorizedNetworksConfig", + "description": "Configuration of authorized networks. If enabled, restricts access to the control plane based on source IP. It is invalid to specify both Cluster.masterAuthorizedNetworksConfig and this field at the same time." + }, + "enablePublicEndpoint": { + "description": "Controls whether the control plane allows access through a public IP. It is invalid to specify both PrivateClusterConfig.enablePrivateEndpoint and this field at the same time.", + "type": "boolean" + }, + "enabled": { + "description": "Controls whether to allow direct IP access.", + "type": "boolean" + }, + "globalAccess": { + "description": "Controls whether the control plane's private endpoint is accessible from sources in other regions. It is invalid to specify both PrivateClusterMasterGlobalAccessConfig.enabled and this field at the same time.", + "type": "boolean" + }, + "privateEndpoint": { + "description": "Output only. The internal IP address of this cluster's control plane. Only populated if enabled.", + "readOnly": true, + "type": "string" + }, + "privateEndpointSubnetwork": { + "description": "Subnet to provision the master's private endpoint during cluster creation. Specified in projects/*/regions/*/subnetworks/* format. It is invalid to specify both PrivateClusterConfig.privateEndpointSubnetwork and this field at the same time.", + "type": "string" + }, + "publicEndpoint": { + "description": "Output only. The external IP address of this cluster's control plane. Only populated if enabled.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "IdentityServiceConfig": { "description": "IdentityServiceConfig is configuration for Identity Service which allows customers to use external identity providers with the K8S API", "id": "IdentityServiceConfig", @@ -4799,7 +4930,7 @@ "additionalProperties": { "type": "string" }, - "description": "The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse", + "description": "The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse kernel.shmmni kernel.shmmax kernel.shmall", "type": "object" } }, @@ -5080,6 +5211,10 @@ "gcpPublicCidrsAccessEnabled": { "description": "Whether master is accessbile via Google Compute Engine Public IP addresses.", "type": "boolean" + }, + "privateEndpointEnforcementEnabled": { + "description": "Whether master authorized networks is enforced on private endpoint or not.", + "type": "boolean" } }, "type": "object" @@ -5215,6 +5350,10 @@ ], "type": "string" }, + "defaultEnablePrivateNodes": { + "description": "Controls whether by default nodes have private IP addresses only. It is invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field at the same time. To update the default setting, use ClusterUpdate.desired_default_enable_private_nodes", + "type": "boolean" + }, "defaultSnatStatus": { "$ref": "DefaultSnatStatus", "description": "Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic." @@ -5496,6 +5635,20 @@ "format": "int32", "type": "integer" }, + "localSsdEncryptionMode": { + "description": "Specifies which method should be used for encrypting the Local SSDs attahced to the node.", + "enum": [ + "LOCAL_SSD_ENCRYPTION_MODE_UNSPECIFIED", + "STANDARD_ENCRYPTION", + "EPHEMERAL_KEY_ENCRYPTION" + ], + "enumDescriptions": [ + "The given node will be encrypted using keys managed by Google infrastructure and the keys will be deleted when the node is deleted.", + "The given node will be encrypted using keys managed by Google infrastructure and the keys will be deleted when the node is deleted.", + "The given node will opt-in for using ephemeral key for encryption of Local SSDs. The Local SSDs will not be able to recover data in case of node crash." + ], + "type": "string" + }, "loggingConfig": { "$ref": "NodePoolLoggingConfig", "description": "Logging configuration." @@ -5504,6 +5657,11 @@ "description": "The name of a Google Compute Engine [machine type](https://cloud.google.com/compute/docs/machine-types) If unspecified, the default machine type is `e2-medium`.", "type": "string" }, + "maxRunDuration": { + "description": "The maximum duration for the nodes to exist. If unspecified, the nodes can exist indefinitely.", + "format": "google-duration", + "type": "string" + }, "metadata": { "additionalProperties": { "type": "string" @@ -5715,7 +5873,7 @@ "type": "boolean" }, "enablePrivateNodes": { - "description": "Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from cluster.privateClusterConfig.enablePrivateNodes", + "description": "Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes", "type": "boolean" }, "networkPerformanceConfig": { @@ -5874,6 +6032,11 @@ "description": "Node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters.", "id": "NodePoolAutoConfig", "properties": { + "linuxNodeConfig": { + "$ref": "LinuxNodeConfig", + "description": "Output only. Configuration options for Linux nodes.", + "readOnly": true + }, "networkTags": { "$ref": "NetworkTags", "description": "The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during cluster creation. Each tag within the list must comply with RFC1035." @@ -5916,22 +6079,22 @@ "type": "string" }, "maxNodeCount": { - "description": "Maximum number of nodes for one location in the NodePool. Must be >= min_node_count. There has to be enough quota to scale up the cluster.", + "description": "Maximum number of nodes for one location in the node pool. Must be >= min_node_count. There has to be enough quota to scale up the cluster.", "format": "int32", "type": "integer" }, "minNodeCount": { - "description": "Minimum number of nodes for one location in the NodePool. Must be >= 1 and <= max_node_count.", + "description": "Minimum number of nodes for one location in the node pool. Must be greater than or equal to 0 and less than or equal to max_node_count.", "format": "int32", "type": "integer" }, "totalMaxNodeCount": { - "description": "Maximum number of nodes in the node pool. Must be greater than total_min_node_count. There has to be enough quota to scale up the cluster. The total_*_node_count fields are mutually exclusive with the *_node_count fields.", + "description": "Maximum number of nodes in the node pool. Must be greater than or equal to total_min_node_count. There has to be enough quota to scale up the cluster. The total_*_node_count fields are mutually exclusive with the *_node_count fields.", "format": "int32", "type": "integer" }, "totalMinNodeCount": { - "description": "Minimum number of nodes in the node pool. Must be greater than 1 less than total_max_node_count. The total_*_node_count fields are mutually exclusive with the *_node_count fields.", + "description": "Minimum number of nodes in the node pool. Must be greater than or equal to 0 and less than or equal to total_max_node_count. The total_*_node_count fields are mutually exclusive with the *_node_count fields.", "format": "int32", "type": "integer" } @@ -6245,6 +6408,17 @@ }, "type": "object" }, + "ParallelstoreCsiDriverConfig": { + "description": "Configuration for the Cloud Storage Parallelstore CSI driver.", + "id": "ParallelstoreCsiDriverConfig", + "properties": { + "enabled": { + "description": "Whether the Cloud Storage Parallelstore CSI driver is enabled for this cluster.", + "type": "boolean" + } + }, + "type": "object" + }, "ParentProductConfig": { "description": "ParentProductConfig is the configuration of the parent product of the cluster. This field is used by Google internal products that are built on top of a GKE cluster and take the ownership of the cluster.", "id": "ParentProductConfig", @@ -6306,16 +6480,19 @@ "id": "PrivateClusterConfig", "properties": { "enablePrivateEndpoint": { - "description": "Whether the master's internal IP address is used as the cluster endpoint.", + "deprecated": true, + "description": "Whether the master's internal IP address is used as the cluster endpoint. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.enable_public_endpoint instead. Note that the value of enable_public_endpoint is reversed: if enable_private_endpoint is false, then enable_public_endpoint will be true.", "type": "boolean" }, "enablePrivateNodes": { - "description": "Whether nodes have internal IP addresses only. If enabled, all nodes are given only RFC 1918 private addresses and communicate with the master via private networking.", + "deprecated": true, + "description": "Whether nodes have internal IP addresses only. If enabled, all nodes are given only RFC 1918 private addresses and communicate with the master via private networking. Deprecated: Use NetworkConfig.default_enable_private_nodes instead.", "type": "boolean" }, "masterGlobalAccessConfig": { "$ref": "PrivateClusterMasterGlobalAccessConfig", - "description": "Controls master global access settings." + "deprecated": true, + "description": "Controls master global access settings. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.enable_global_access instead." }, "masterIpv4CidrBlock": { "description": "The IP range in CIDR notation to use for the hosted master network. This range will be used for assigning internal IP addresses to the master or set of masters, as well as the ILB VIP. This range must not overlap with any other ranges in use within the cluster's network.", @@ -6327,16 +6504,19 @@ "type": "string" }, "privateEndpoint": { - "description": "Output only. The internal IP address of this cluster's master endpoint.", + "deprecated": true, + "description": "Output only. The internal IP address of this cluster's master endpoint. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint instead.", "readOnly": true, "type": "string" }, "privateEndpointSubnetwork": { - "description": "Subnet to provision the master's private endpoint during cluster creation. Specified in projects/*/regions/*/subnetworks/* format.", + "deprecated": true, + "description": "Subnet to provision the master's private endpoint during cluster creation. Specified in projects/*/regions/*/subnetworks/* format. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint_subnetwork instead.", "type": "string" }, "publicEndpoint": { - "description": "Output only. The external IP address of this cluster's master endpoint.", + "deprecated": true, + "description": "Output only. The external IP address of this cluster's master endpoint. Deprecated:Use ControlPlaneEndpointsConfig.IPEndpointsConfig.public_endpoint instead.", "readOnly": true, "type": "string" } @@ -6542,6 +6722,10 @@ "description": "The default version for newly created clusters on the channel.", "type": "string" }, + "upgradeTargetVersion": { + "description": "The auto upgrade target version for clusters on the channel.", + "type": "string" + }, "validVersions": { "description": "List of valid versions for the channel.", "items": { @@ -7674,6 +7858,11 @@ "description": "Optional. The desired [Google Compute Engine machine type](https://cloud.google.com/compute/docs/machine-types) for nodes in the node pool. Initiates an upgrade operation that migrates the nodes in the node pool to the specified machine type.", "type": "string" }, + "maxRunDuration": { + "description": "The maximum duration for the nodes to exist. If unspecified, the nodes can exist indefinitely.", + "format": "google-duration", + "type": "string" + }, "name": { "description": "The name (project, location, cluster, node pool) of the node pool to update. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.", "type": "string" @@ -7818,6 +8007,76 @@ }, "type": "object" }, + "UpgradeInfoEvent": { + "description": "UpgradeInfoEvent is a notification sent to customers about the upgrade information of a resource.", + "id": "UpgradeInfoEvent", + "properties": { + "currentVersion": { + "description": "The current version before the upgrade.", + "type": "string" + }, + "description": { + "description": "A brief description of the event.", + "type": "string" + }, + "endTime": { + "description": "The time when the operation ended.", + "format": "google-datetime", + "type": "string" + }, + "operation": { + "description": "The operation associated with this upgrade.", + "type": "string" + }, + "resource": { + "description": "Optional relative path to the resource. For example in node pool upgrades, the relative path of the node pool.", + "type": "string" + }, + "resourceType": { + "description": "The resource type associated with the upgrade.", + "enum": [ + "UPGRADE_RESOURCE_TYPE_UNSPECIFIED", + "MASTER", + "NODE_POOL" + ], + "enumDescriptions": [ + "Default value. This shouldn't be used.", + "Master / control plane", + "Node pool" + ], + "type": "string" + }, + "startTime": { + "description": "The time when the operation was started.", + "format": "google-datetime", + "type": "string" + }, + "state": { + "description": "Output only. The state of the upgrade.", + "enum": [ + "STATE_UNSPECIFIED", + "STARTED", + "SUCCEEDED", + "FAILED", + "CANCELED" + ], + "enumDescriptions": [ + "STATE_UNSPECIFIED indicates the state is unspecified.", + "STARTED indicates the upgrade has started.", + "SUCCEEDED indicates the upgrade has completed successfully.", + "FAILED indicates the upgrade has failed.", + "CANCELED indicates the upgrade has canceled." + ], + "readOnly": true, + "type": "string" + }, + "targetVersion": { + "description": "The target version for the upgrade.", + "type": "string" + } + }, + "type": "object" + }, "UpgradeSettings": { "description": "These upgrade settings control the level of parallelism and the level of disruption caused by an upgrade. maxUnavailable controls the number of nodes that can be simultaneously unavailable. maxSurge controls the number of additional nodes that can be added to the node pool temporarily for the time of the upgrade to increase the number of available nodes. (maxUnavailable + maxSurge) determines the level of parallelism (how many nodes are being upgraded at the same time). Note: upgrades inevitably introduce some disruption since workloads need to be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0, this holds true. (Disruption stays within the limits of PodDisruptionBudget, if it is configured.) Consider a hypothetical node pool with 5 nodes having maxSurge=2, maxUnavailable=1. This means the upgrade process upgrades 3 nodes simultaneously. It creates 2 additional (upgraded) nodes, then it brings down 3 old (not yet upgraded) nodes at the same time. This ensures that there are always at least 4 nodes available. These upgrade settings configure the upgrade strategy for the node pool. Use strategy to switch between the strategies applied to the node pool. If the strategy is ROLLING, use max_surge and max_unavailable to control the level of parallelism and the level of disruption caused by upgrade. 1. maxSurge controls the number of additional nodes that can be added to the node pool temporarily for the time of the upgrade to increase the number of available nodes. 2. maxUnavailable controls the number of nodes that can be simultaneously unavailable. 3. (maxUnavailable + maxSurge) determines the level of parallelism (how many nodes are being upgraded at the same time). If the strategy is BLUE_GREEN, use blue_green_settings to configure the blue-green upgrade related settings. 1. standard_rollout_policy is the default policy. The policy is used to control the way blue pool gets drained. The draining is executed in the batch mode. The batch size could be specified as either percentage of the node pool size or the number of nodes. batch_soak_duration is the soak time after each batch gets drained. 2. node_pool_soak_duration is the soak time after all blue nodes are drained. After this period, the blue pool nodes will be deleted.", "id": "UpgradeSettings", @@ -8037,7 +8296,7 @@ "type": "object" }, "WorkloadPolicyConfig": { - "description": "WorkloadPolicyConfig is the configuration of workload policy for autopilot clusters.", + "description": "WorkloadPolicyConfig is the configuration related to GCW workload policy", "id": "WorkloadPolicyConfig", "properties": { "allowNetAdmin": { diff --git a/discovery/container-v1beta1.json b/discovery/container-v1beta1.json index fbdb884a8f..ba7a2edef7 100644 --- a/discovery/container-v1beta1.json +++ b/discovery/container-v1beta1.json @@ -348,6 +348,36 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "fetchClusterUpgradeInfo": { + "description": "Fetch upgrade information of a specific cluster.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:fetchClusterUpgradeInfo", + "httpMethod": "GET", + "id": "container.projects.locations.clusters.fetchClusterUpgradeInfo", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name (project, location, cluster) of the cluster to get. Specified in the format `projects/*/locations/*/clusters/*` or `projects/*/zones/*/clusters/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", + "required": true, + "type": "string" + }, + "version": { + "description": "API request version that initiates this operation.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}:fetchClusterUpgradeInfo", + "response": { + "$ref": "ClusterUpgradeInfo" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "get": { "description": "Gets the details for a specific cluster.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}", @@ -896,6 +926,36 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "fetchNodePoolUpgradeInfo": { + "description": "Fetch upgrade information of a specific nodepool.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}:fetchNodePoolUpgradeInfo", + "httpMethod": "GET", + "id": "container.projects.locations.clusters.nodePools.fetchNodePoolUpgradeInfo", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name (project, location, cluster, nodepool) of the nodepool to get. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*` or `projects/*/zones/*/clusters/*/nodePools/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+/nodePools/[^/]+$", + "required": true, + "type": "string" + }, + "version": { + "description": "API request version that initiates this operation.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}:fetchNodePoolUpgradeInfo", + "response": { + "$ref": "NodePoolUpgradeInfo" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "get": { "description": "Retrieves the requested node pool.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}/nodePools/{nodePoolsId}", @@ -1473,6 +1533,36 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "fetchClusterUpgradeInfo": { + "description": "Fetch upgrade information of a specific cluster.", + "flatPath": "v1beta1/projects/{projectsId}/zones/{zonesId}/clusters/{clustersId}:fetchClusterUpgradeInfo", + "httpMethod": "GET", + "id": "container.projects.zones.clusters.fetchClusterUpgradeInfo", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name (project, location, cluster) of the cluster to get. Specified in the format `projects/*/locations/*/clusters/*` or `projects/*/zones/*/clusters/*`.", + "location": "path", + "pattern": "^projects/[^/]+/zones/[^/]+/clusters/[^/]+$", + "required": true, + "type": "string" + }, + "version": { + "description": "API request version that initiates this operation.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}:fetchClusterUpgradeInfo", + "response": { + "$ref": "ClusterUpgradeInfo" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "get": { "description": "Gets the details for a specific cluster.", "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", @@ -2147,6 +2237,36 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "fetchNodePoolUpgradeInfo": { + "description": "Fetch upgrade information of a specific nodepool.", + "flatPath": "v1beta1/projects/{projectsId}/zones/{zonesId}/clusters/{clustersId}/nodePools/{nodePoolsId}:fetchNodePoolUpgradeInfo", + "httpMethod": "GET", + "id": "container.projects.zones.clusters.nodePools.fetchNodePoolUpgradeInfo", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name (project, location, cluster, nodepool) of the nodepool to get. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*` or `projects/*/zones/*/clusters/*/nodePools/*`.", + "location": "path", + "pattern": "^projects/[^/]+/zones/[^/]+/clusters/[^/]+/nodePools/[^/]+$", + "required": true, + "type": "string" + }, + "version": { + "description": "API request version that initiates this operation.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}:fetchNodePoolUpgradeInfo", + "response": { + "$ref": "NodePoolUpgradeInfo" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "get": { "description": "Retrieves the requested node pool.", "flatPath": "v1beta1/projects/{projectId}/zones/{zone}/clusters/{clusterId}/nodePools/{nodePoolId}", @@ -2565,7 +2685,7 @@ } } }, - "revision": "20240912", + "revision": "20241203", "rootUrl": "https://container.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -2721,6 +2841,10 @@ "$ref": "NetworkPolicyConfig", "description": "Configuration for NetworkPolicy. This only tracks whether the addon is enabled or not on the Master, it does not track whether network policy is enabled for the nodes." }, + "parallelstoreCsiDriverConfig": { + "$ref": "ParallelstoreCsiDriverConfig", + "description": "Configuration for the Cloud Storage Parallelstore CSI driver." + }, "rayOperatorConfig": { "$ref": "RayOperatorConfig", "description": "Optional. Configuration for Ray Operator addon." @@ -2794,6 +2918,27 @@ }, "type": "object" }, + "AutoMonitoringConfig": { + "description": "AutoMonitoringConfig defines the configuration for GKE Workload Auto-Monitoring.", + "id": "AutoMonitoringConfig", + "properties": { + "scope": { + "description": "Scope for GKE Workload Auto-Monitoring.", + "enum": [ + "SCOPE_UNSPECIFIED", + "ALL", + "NONE" + ], + "enumDescriptions": [ + "Not set.", + "Auto-Monitoring is enabled for all supported applications.", + "Disable Auto-Monitoring." + ], + "type": "string" + } + }, + "type": "object" + }, "AutoUpgradeOptions": { "description": "AutoUpgradeOptions defines the set of options for the user to control how the Auto Upgrades will proceed.", "id": "AutoUpgradeOptions", @@ -2826,7 +2971,7 @@ }, "workloadPolicyConfig": { "$ref": "WorkloadPolicyConfig", - "description": "Workload policy configuration for Autopilot." + "description": "WorkloadPolicyConfig is the configuration related to GCW workload policy" } }, "type": "object" @@ -3275,6 +3420,10 @@ "$ref": "ConfidentialNodes", "description": "Configuration of Confidential Nodes. All the nodes in the cluster will be Confidential VM once enabled." }, + "controlPlaneEndpointsConfig": { + "$ref": "ControlPlaneEndpointsConfig", + "description": "Configuration for all cluster's control plane endpoints." + }, "costManagementConfig": { "$ref": "CostManagementConfig", "description": "Configuration for the fine-grained cost management feature." @@ -3422,7 +3571,8 @@ }, "masterAuthorizedNetworksConfig": { "$ref": "MasterAuthorizedNetworksConfig", - "description": "The configuration options for master authorized networks feature." + "deprecated": true, + "description": "The configuration options for master authorized networks feature. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.authorized_networks_config instead." }, "masterIpv4CidrBlock": { "deprecated": true, @@ -3491,6 +3641,10 @@ "$ref": "ParentProductConfig", "description": "The configuration of the parent product of the cluster. This field is used by Google internal products that are built on top of the GKE cluster and take the ownership of the cluster." }, + "podAutoscaling": { + "$ref": "PodAutoscaling", + "description": "The config for pod autoscaling." + }, "podSecurityPolicyConfig": { "$ref": "PodSecurityPolicyConfig", "description": "Configuration for the PodSecurityPolicy feature." @@ -3734,7 +3888,7 @@ }, "desiredAutopilotWorkloadPolicyConfig": { "$ref": "WorkloadPolicyConfig", - "description": "The desired workload policy configuration for the autopilot cluster." + "description": "WorkloadPolicyConfig is the configuration related to GCW workload policy" }, "desiredBinaryAuthorization": { "$ref": "BinaryAuthorization", @@ -3756,6 +3910,10 @@ "$ref": "ContainerdConfig", "description": "The desired containerd config for the cluster." }, + "desiredControlPlaneEndpointsConfig": { + "$ref": "ControlPlaneEndpointsConfig", + "description": "Control plane endpoints configuration." + }, "desiredCostManagementConfig": { "$ref": "CostManagementConfig", "description": "The desired configuration for the fine-grained cost management feature." @@ -3778,6 +3936,10 @@ ], "type": "string" }, + "desiredDefaultEnablePrivateNodes": { + "description": "Override the default setting of whether future created nodes have private IP addresses only, namely NetworkConfig.default_enable_private_nodes", + "type": "boolean" + }, "desiredDefaultSnatStatus": { "$ref": "DefaultSnatStatus", "description": "The desired status of whether to disable default sNAT for this cluster." @@ -3799,9 +3961,14 @@ "type": "boolean" }, "desiredEnablePrivateEndpoint": { - "description": "Enable/Disable private endpoint for the cluster's master.", + "deprecated": true, + "description": "Enable/Disable private endpoint for the cluster's master. Deprecated: Use desired_control_plane_endpoints_config.ip_endpoints_config.enable_public_endpoint instead. Note that the value of enable_public_endpoint is reversed: if enable_private_endpoint is false, then enable_public_endpoint will be true.", "type": "boolean" }, + "desiredEnterpriseConfig": { + "$ref": "DesiredEnterpriseConfig", + "description": "The desired enterprise configuration for the cluster." + }, "desiredFleet": { "$ref": "Fleet", "description": "The desired fleet configuration for the cluster." @@ -3873,7 +4040,8 @@ }, "desiredMasterAuthorizedNetworksConfig": { "$ref": "MasterAuthorizedNetworksConfig", - "description": "The desired configuration options for master authorized networks feature." + "deprecated": true, + "description": "The desired configuration options for master authorized networks feature. Deprecated: Use desired_control_plane_endpoints_config.ip_endpoints_config.authorized_networks_config instead." }, "desiredMasterVersion": { "description": "The Kubernetes version to change the master to. The only valid value is the latest supported version. Users may specify either explicit versions offered by Kubernetes Engine or version aliases, which have the following behavior: - \"latest\": picks the highest valid Kubernetes version - \"1.X\": picks the highest valid patch+gke.N patch in the 1.X version - \"1.X.Y\": picks the highest valid gke.N patch in the 1.X.Y version - \"1.X.Y-gke.N\": picks an explicit Kubernetes version - \"-\": picks the default Kubernetes version", @@ -3903,6 +4071,10 @@ "$ref": "NodeKubeletConfig", "description": "The desired node kubelet config for all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters." }, + "desiredNodePoolAutoConfigLinuxNodeConfig": { + "$ref": "LinuxNodeConfig", + "description": "The desired Linux node config for all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. Currently only `cgroup_mode` can be set here." + }, "desiredNodePoolAutoConfigNetworkTags": { "$ref": "NetworkTags", "description": "The desired network tags that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters." @@ -3935,13 +4107,18 @@ "$ref": "ParentProductConfig", "description": "The desired parent product config for the cluster." }, + "desiredPodAutoscaling": { + "$ref": "PodAutoscaling", + "description": "The desired config for pod autoscaling." + }, "desiredPodSecurityPolicyConfig": { "$ref": "PodSecurityPolicyConfig", "description": "The desired configuration options for the PodSecurityPolicy feature." }, "desiredPrivateClusterConfig": { "$ref": "PrivateClusterConfig", - "description": "The desired private cluster configuration. master_global_access_config is the only field that can be changed via this field. See also ClusterUpdate.desired_enable_private_endpoint for modifying other fields within PrivateClusterConfig." + "deprecated": true, + "description": "The desired private cluster configuration. master_global_access_config is the only field that can be changed via this field. See also ClusterUpdate.desired_enable_private_endpoint for modifying other fields within PrivateClusterConfig. Deprecated: Use desired_control_plane_endpoints_config.ip_endpoints_config.global_access instead." }, "desiredPrivateIpv6GoogleAccess": { "description": "The desired state of IPv6 connectivity to Google Services.", @@ -4050,6 +4227,80 @@ }, "type": "object" }, + "ClusterUpgradeInfo": { + "description": "ClusterUpgradeInfo contains the upgrade information of a cluster.", + "id": "ClusterUpgradeInfo", + "properties": { + "autoUpgradeStatus": { + "description": "The auto upgrade status.", + "items": { + "enum": [ + "UNKNOWN", + "ACTIVE", + "MINOR_UPGRADE_PAUSED", + "UPGRADE_PAUSED" + ], + "enumDescriptions": [ + "UNKNOWN indicates an unknown status.", + "ACTIVE indicates an active status.", + "MINOR_UPGRADE_PAUSED indicates the minor version upgrade is paused.", + "UPGRADE_PAUSED indicates the upgrade is paused." + ], + "type": "string" + }, + "type": "array" + }, + "endOfExtendedSupportTimestamp": { + "description": "The cluster's current minor version's end of extended support timestamp.", + "type": "string" + }, + "endOfStandardSupportTimestamp": { + "description": "The cluster's current minor version's end of standard support timestamp.", + "type": "string" + }, + "minorTargetVersion": { + "description": "minor_target_version indicates the target version for minor upgrade.", + "type": "string" + }, + "patchTargetVersion": { + "description": "patch_target_version indicates the target version for patch upgrade.", + "type": "string" + }, + "pausedReason": { + "description": "The auto upgrade paused reason.", + "items": { + "enum": [ + "AUTO_UPGRADE_PAUSED_REASON_UNSPECIFIED", + "MAINTENANCE_WINDOW", + "MAINTENANCE_EXCLUSION_NO_UPGRADES", + "MAINTENANCE_EXCLUSION_NO_MINOR_UPGRADES", + "CLUSTER_DISRUPTION_BUDGET", + "CLUSTER_DISRUPTION_BUDGET_MINOR_UPGRADE", + "SYSTEM_CONFIG" + ], + "enumDescriptions": [ + "AUTO_UPGRADE_PAUSED_REASON_UNSPECIFIED indicates an unspecified reason.", + "MAINTENANCE_WINDOW indicates the cluster is outside customer maintenance window.", + "MAINTENANCE_EXCLUSION_NO_UPGRADES indicates the cluster is in a maintenance exclusion with scope NO_UPGRADES.", + "MAINTENANCE_EXCLUSION_NO_MINOR_UPGRADES indicates the cluster is in a maintenance exclusion with scope NO_MINOR_UPGRADES.", + "CLUSTER_DISRUPTION_BUDGET indicates the cluster is outside the cluster disruption budget.", + "CLUSTER_DISRUPTION_BUDGET_MINOR_UPGRADE indicates the cluster is outside the cluster disruption budget for minor version upgrade.", + "SYSTEM_CONFIG indicates the cluster upgrade is paused by system config." + ], + "type": "string" + }, + "type": "array" + }, + "upgradeDetails": { + "description": "The list of past auto upgrades.", + "items": { + "$ref": "UpgradeDetails" + }, + "type": "array" + } + }, + "type": "object" + }, "CompleteIPRotationRequest": { "description": "CompleteIPRotationRequest moves the cluster master back into single-IP mode.", "id": "CompleteIPRotationRequest", @@ -4165,6 +4416,21 @@ }, "type": "object" }, + "ControlPlaneEndpointsConfig": { + "description": "Configuration for all of the cluster's control plane endpoints.", + "id": "ControlPlaneEndpointsConfig", + "properties": { + "dnsEndpointConfig": { + "$ref": "DNSEndpointConfig", + "description": "DNS endpoint configuration." + }, + "ipEndpointsConfig": { + "$ref": "IPEndpointsConfig", + "description": "IP endpoints configuration." + } + }, + "type": "object" + }, "CostManagementConfig": { "description": "Configuration for fine-grained cost management feature.", "id": "CostManagementConfig", @@ -4276,6 +4542,22 @@ }, "type": "object" }, + "DNSEndpointConfig": { + "description": "Describes the configuration of a DNS endpoint.", + "id": "DNSEndpointConfig", + "properties": { + "allowExternalTraffic": { + "description": "Controls whether user traffic is allowed over this endpoint. Note that GCP-managed services may still use the endpoint even if this is false.", + "type": "boolean" + }, + "endpoint": { + "description": "Output only. The cluster's DNS endpoint configuration. A DNS format address. This is accessible from the public internet. Ex: uid.us-central1.gke.goog. Always present, but the behavior may change according to the value of DNSEndpointConfig.allow_external_traffic.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "DailyMaintenanceWindow": { "description": "Time window specified for daily maintenance operations.", "id": "DailyMaintenanceWindow", @@ -4389,6 +4671,27 @@ }, "type": "object" }, + "DesiredEnterpriseConfig": { + "description": "DesiredEnterpriseConfig is a wrapper used for updating enterprise_config.", + "id": "DesiredEnterpriseConfig", + "properties": { + "desiredTier": { + "description": "desired_tier specifies the desired tier of the cluster.", + "enum": [ + "CLUSTER_TIER_UNSPECIFIED", + "STANDARD", + "ENTERPRISE" + ], + "enumDescriptions": [ + "CLUSTER_TIER_UNSPECIFIED is when cluster_tier is not set.", + "STANDARD indicates a standard GKE cluster.", + "ENTERPRISE indicates a GKE Enterprise cluster." + ], + "type": "string" + } + }, + "type": "object" + }, "DnsCacheConfig": { "description": "Configuration for NodeLocal DNSCache", "id": "DnsCacheConfig", @@ -4424,6 +4727,20 @@ ], "readOnly": true, "type": "string" + }, + "desiredTier": { + "description": "desired_tier specifies the desired tier of the cluster.", + "enum": [ + "CLUSTER_TIER_UNSPECIFIED", + "STANDARD", + "ENTERPRISE" + ], + "enumDescriptions": [ + "CLUSTER_TIER_UNSPECIFIED is when cluster_tier is not set.", + "STANDARD indicates a standard GKE cluster.", + "ENTERPRISE indicates a GKE Enterprise cluster." + ], + "type": "string" } }, "type": "object" @@ -4940,6 +5257,43 @@ }, "type": "object" }, + "IPEndpointsConfig": { + "description": "IP endpoints configuration.", + "id": "IPEndpointsConfig", + "properties": { + "authorizedNetworksConfig": { + "$ref": "MasterAuthorizedNetworksConfig", + "description": "Configuration of authorized networks. If enabled, restricts access to the control plane based on source IP. It is invalid to specify both Cluster.masterAuthorizedNetworksConfig and this field at the same time." + }, + "enablePublicEndpoint": { + "description": "Controls whether the control plane allows access through a public IP. It is invalid to specify both PrivateClusterConfig.enablePrivateEndpoint and this field at the same time.", + "type": "boolean" + }, + "enabled": { + "description": "Controls whether to allow direct IP access.", + "type": "boolean" + }, + "globalAccess": { + "description": "Controls whether the control plane's private endpoint is accessible from sources in other regions. It is invalid to specify both PrivateClusterMasterGlobalAccessConfig.enabled and this field at the same time.", + "type": "boolean" + }, + "privateEndpoint": { + "description": "Output only. The internal IP address of this cluster's control plane. Only populated if enabled.", + "readOnly": true, + "type": "string" + }, + "privateEndpointSubnetwork": { + "description": "Subnet to provision the master's private endpoint during cluster creation. Specified in projects/*/regions/*/subnetworks/* format. It is invalid to specify both PrivateClusterConfig.privateEndpointSubnetwork and this field at the same time.", + "type": "string" + }, + "publicEndpoint": { + "description": "Output only. The external IP address of this cluster's control plane. Only populated if enabled.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "IdentityServiceConfig": { "description": "IdentityServiceConfig is configuration for Identity Service which allows customers to use external identity providers with the K8S API", "id": "IdentityServiceConfig", @@ -5104,7 +5458,7 @@ "additionalProperties": { "type": "string" }, - "description": "The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse", + "description": "The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse kernel.shmmni kernel.shmmax kernel.shmall", "type": "object" } }, @@ -5371,6 +5725,10 @@ "description": "ManagedPrometheusConfig defines the configuration for Google Cloud Managed Service for Prometheus.", "id": "ManagedPrometheusConfig", "properties": { + "autoMonitoringConfig": { + "$ref": "AutoMonitoringConfig", + "description": "GKE Workload Auto-Monitoring Configuration." + }, "enabled": { "description": "Enable Managed Collection.", "type": "boolean" @@ -5438,6 +5796,10 @@ "gcpPublicCidrsAccessEnabled": { "description": "Whether master is accessbile via Google Compute Engine Public IP addresses.", "type": "boolean" + }, + "privateEndpointEnforcementEnabled": { + "description": "Whether master authorized networks is enforced on private endpoint or not.", + "type": "boolean" } }, "type": "object" @@ -5592,6 +5954,10 @@ ], "type": "string" }, + "defaultEnablePrivateNodes": { + "description": "Controls whether by default nodes have private IP addresses only. It is invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field at the same time. To update the default setting, use ClusterUpdate.desired_default_enable_private_nodes", + "type": "boolean" + }, "defaultSnatStatus": { "$ref": "DefaultSnatStatus", "description": "Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic." @@ -5893,6 +6259,20 @@ "format": "int32", "type": "integer" }, + "localSsdEncryptionMode": { + "description": "Specifies which method should be used for encrypting the Local SSDs attahced to the node.", + "enum": [ + "LOCAL_SSD_ENCRYPTION_MODE_UNSPECIFIED", + "STANDARD_ENCRYPTION", + "EPHEMERAL_KEY_ENCRYPTION" + ], + "enumDescriptions": [ + "The given node will be encrypted using keys managed by Google infrastructure and the keys will be deleted when the node is deleted.", + "The given node will be encrypted using keys managed by Google infrastructure and the keys will be deleted when the node is deleted.", + "The given node will opt-in for using ephemeral key for encryption of Local SSDs. The Local SSDs will not be able to recover data in case of node crash." + ], + "type": "string" + }, "loggingConfig": { "$ref": "NodePoolLoggingConfig", "description": "Logging configuration." @@ -5901,6 +6281,11 @@ "description": "The name of a Google Compute Engine [machine type](https://cloud.google.com/compute/docs/machine-types). If unspecified, the default machine type is `e2-medium`.", "type": "string" }, + "maxRunDuration": { + "description": "The maximum duration for the nodes to exist. If unspecified, the nodes can exist indefinitely.", + "format": "google-duration", + "type": "string" + }, "metadata": { "additionalProperties": { "type": "string" @@ -6116,7 +6501,7 @@ "type": "boolean" }, "enablePrivateNodes": { - "description": "Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from cluster.privateClusterConfig.enablePrivateNodes", + "description": "Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes", "type": "boolean" }, "networkPerformanceConfig": { @@ -6275,6 +6660,11 @@ "description": "node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters", "id": "NodePoolAutoConfig", "properties": { + "linuxNodeConfig": { + "$ref": "LinuxNodeConfig", + "description": "Output only. Configuration options for Linux nodes.", + "readOnly": true + }, "networkTags": { "$ref": "NetworkTags", "description": "The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during cluster creation. Each tag within the list must comply with RFC1035." @@ -6317,22 +6707,22 @@ "type": "string" }, "maxNodeCount": { - "description": "Maximum number of nodes for one location in the NodePool. Must be >= min_node_count. There has to be enough quota to scale up the cluster.", + "description": "Maximum number of nodes for one location in the node pool. Must be >= min_node_count. There has to be enough quota to scale up the cluster.", "format": "int32", "type": "integer" }, "minNodeCount": { - "description": "Minimum number of nodes for one location in the NodePool. Must be >= 1 and <= max_node_count.", + "description": "Minimum number of nodes for one location in the node pool. Must be greater than or equal to 0 and less than or equal to max_node_count.", "format": "int32", "type": "integer" }, "totalMaxNodeCount": { - "description": "Maximum number of nodes in the node pool. Must be greater than total_min_node_count. There has to be enough quota to scale up the cluster. The total_*_node_count fields are mutually exclusive with the *_node_count fields.", + "description": "Maximum number of nodes in the node pool. Must be greater than or equal to total_min_node_count. There has to be enough quota to scale up the cluster. The total_*_node_count fields are mutually exclusive with the *_node_count fields.", "format": "int32", "type": "integer" }, "totalMinNodeCount": { - "description": "Minimum number of nodes in the node pool. Must be greater than 1 less than total_max_node_count. The total_*_node_count fields are mutually exclusive with the *_node_count fields.", + "description": "Minimum number of nodes in the node pool. Must be greater than or equal to 0 and less than or equal to total_max_node_count. The total_*_node_count fields are mutually exclusive with the *_node_count fields.", "format": "int32", "type": "integer" } @@ -6361,6 +6751,76 @@ }, "type": "object" }, + "NodePoolUpgradeInfo": { + "description": "NodePoolUpgradeInfo contains the upgrade information of a nodepool.", + "id": "NodePoolUpgradeInfo", + "properties": { + "autoUpgradeStatus": { + "description": "The auto upgrade status.", + "items": { + "enum": [ + "UNKNOWN", + "ACTIVE", + "MINOR_UPGRADE_PAUSED", + "UPGRADE_PAUSED" + ], + "enumDescriptions": [ + "UNKNOWN indicates an unknown status.", + "ACTIVE indicates an active status.", + "MINOR_UPGRADE_PAUSED indicates the minor version upgrade is paused.", + "UPGRADE_PAUSED indicates the upgrade is paused." + ], + "type": "string" + }, + "type": "array" + }, + "endOfExtendedSupportTimestamp": { + "description": "The nodepool's current minor version's end of extended support timestamp.", + "type": "string" + }, + "endOfStandardSupportTimestamp": { + "description": "The nodepool's current minor version's end of standard support timestamp.", + "type": "string" + }, + "minorTargetVersion": { + "description": "minor_target_version indicates the target version for minor upgrade.", + "type": "string" + }, + "patchTargetVersion": { + "description": "patch_target_version indicates the target version for patch upgrade.", + "type": "string" + }, + "pausedReason": { + "description": "The auto upgrade paused reason.", + "items": { + "enum": [ + "AUTO_UPGRADE_PAUSED_REASON_UNSPECIFIED", + "MAINTENANCE_WINDOW", + "MAINTENANCE_EXCLUSION_NO_UPGRADES", + "MAINTENANCE_EXCLUSION_NO_MINOR_UPGRADES", + "SYSTEM_CONFIG" + ], + "enumDescriptions": [ + "AUTO_UPGRADE_PAUSED_REASON_UNSPECIFIED indicates an unspecified reason.", + "MAINTENANCE_WINDOW indicates the cluster is outside customer maintenance window.", + "MAINTENANCE_EXCLUSION_NO_UPGRADES indicates the cluster is in a maintenance exclusion with scope NO_UPGRADES.", + "MAINTENANCE_EXCLUSION_NO_MINOR_UPGRADES indicates the cluster is in a maintenance exclusion with scope NO_MINOR_UPGRADES.", + "SYSTEM_CONFIG indicates the cluster upgrade is paused by system config." + ], + "type": "string" + }, + "type": "array" + }, + "upgradeDetails": { + "description": "The list of past auto upgrades.", + "items": { + "$ref": "UpgradeDetails" + }, + "type": "array" + } + }, + "type": "object" + }, "NodeTaint": { "description": "Kubernetes taint is composed of three fields: key, value, and effect. Effect can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute. See [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration) for more information, including usage and the valid values.", "id": "NodeTaint", @@ -6668,6 +7128,17 @@ }, "type": "object" }, + "ParallelstoreCsiDriverConfig": { + "description": "Configuration for the Cloud Storage Parallelstore CSI driver.", + "id": "ParallelstoreCsiDriverConfig", + "properties": { + "enabled": { + "description": "Whether the Cloud Storage Parallelstore CSI driver is enabled for this cluster.", + "type": "boolean" + } + }, + "type": "object" + }, "ParentProductConfig": { "description": "ParentProductConfig is the configuration of the parent product of the cluster. This field is used by Google internal products that are built on top of a GKE cluster and take the ownership of the cluster.", "id": "ParentProductConfig", @@ -6713,6 +7184,27 @@ }, "type": "object" }, + "PodAutoscaling": { + "description": "PodAutoscaling is used for configuration of parameters for workload autoscaling.", + "id": "PodAutoscaling", + "properties": { + "hpaProfile": { + "description": "Selected Horizontal Pod Autoscaling profile.", + "enum": [ + "HPA_PROFILE_UNSPECIFIED", + "NONE", + "PERFORMANCE" + ], + "enumDescriptions": [ + "HPA_PROFILE_UNSPECIFIED is used when no custom HPA profile is set.", + "Customers explicitly opt-out of HPA profiles.", + "PERFORMANCE is used when customers opt-in to the performance HPA profile. In this profile we support a higher number of HPAs per cluster and faster metrics collection for workload autoscaling." + ], + "type": "string" + } + }, + "type": "object" + }, "PodCIDROverprovisionConfig": { "description": "[PRIVATE FIELD] Config for pod CIDR size overprovisioning.", "id": "PodCIDROverprovisionConfig", @@ -6751,16 +7243,19 @@ "id": "PrivateClusterConfig", "properties": { "enablePrivateEndpoint": { - "description": "Whether the master's internal IP address is used as the cluster endpoint.", + "deprecated": true, + "description": "Whether the master's internal IP address is used as the cluster endpoint. Use ControlPlaneEndpointsConfig.IPEndpointsConfig.enable_public_endpoint instead. Note that the value of enable_public_endpoint is reversed: if enable_private_endpoint is false, then enable_public_endpoint will be true.", "type": "boolean" }, "enablePrivateNodes": { - "description": "Whether nodes have internal IP addresses only. If enabled, all nodes are given only RFC 1918 private addresses and communicate with the master via private networking.", + "deprecated": true, + "description": "Whether nodes have internal IP addresses only. If enabled, all nodes are given only RFC 1918 private addresses and communicate with the master via private networking. Deprecated: Use NetworkConfig.default_enable_private_nodes instead.", "type": "boolean" }, "masterGlobalAccessConfig": { "$ref": "PrivateClusterMasterGlobalAccessConfig", - "description": "Controls master global access settings." + "deprecated": true, + "description": "Controls master global access settings. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.enable_global_access instead." }, "masterIpv4CidrBlock": { "description": "The IP range in CIDR notation to use for the hosted master network. This range will be used for assigning internal IP addresses to the master or set of masters, as well as the ILB VIP. This range must not overlap with any other ranges in use within the cluster's network.", @@ -6772,16 +7267,19 @@ "type": "string" }, "privateEndpoint": { - "description": "Output only. The internal IP address of this cluster's master endpoint.", + "deprecated": true, + "description": "Output only. The internal IP address of this cluster's master endpoint. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint instead.", "readOnly": true, "type": "string" }, "privateEndpointSubnetwork": { - "description": "Subnet to provision the master's private endpoint during cluster creation. Specified in projects/*/regions/*/subnetworks/* format.", + "deprecated": true, + "description": "Subnet to provision the master's private endpoint during cluster creation. Specified in projects/*/regions/*/subnetworks/* format. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint_subnetwork instead.", "type": "string" }, "publicEndpoint": { - "description": "Output only. The external IP address of this cluster's master endpoint.", + "deprecated": true, + "description": "Output only. The external IP address of this cluster's master endpoint. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.public_endpoint instead.", "readOnly": true, "type": "string" } @@ -7020,6 +7518,10 @@ "description": "The default version for newly created clusters on the channel.", "type": "string" }, + "upgradeTargetVersion": { + "description": "The auto upgrade target version for clusters on the channel.", + "type": "string" + }, "validVersions": { "description": "List of valid versions for the channel.", "items": { @@ -8183,6 +8685,11 @@ "description": "Optional. The desired machine type for nodes in the node pool. Initiates an upgrade operation that migrates the nodes in the node pool to the specified machine type.", "type": "string" }, + "maxRunDuration": { + "description": "The maximum duration for the nodes to exist. If unspecified, the nodes can exist indefinitely.", + "format": "google-duration", + "type": "string" + }, "name": { "description": "The name (project, location, cluster, node pool) of the node pool to update. Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.", "type": "string" @@ -8289,6 +8796,50 @@ }, "type": "object" }, + "UpgradeDetails": { + "description": "UpgradeDetails contains detailed information of each individual upgrade operation.", + "id": "UpgradeDetails", + "properties": { + "endTime": { + "description": "The end timestamp of the upgrade.", + "format": "google-datetime", + "type": "string" + }, + "initialVersion": { + "description": "The version before the upgrade.", + "type": "string" + }, + "startTime": { + "description": "The start timestamp of the upgrade.", + "format": "google-datetime", + "type": "string" + }, + "state": { + "description": "Output only. The state of the upgrade.", + "enum": [ + "UNKNOWN", + "FAILED", + "SUCCEEDED", + "CANCELED", + "RUNNING" + ], + "enumDescriptions": [ + "Upgrade state is unknown.", + "Upgrade has failed with an error.", + "Upgrade has succeeded.", + "Upgrade has been canceled.", + "Upgrade is running." + ], + "readOnly": true, + "type": "string" + }, + "targetVersion": { + "description": "The version after the upgrade.", + "type": "string" + } + }, + "type": "object" + }, "UpgradeEvent": { "description": "UpgradeEvent is a notification sent to customers by the cluster server when a resource is upgrading.", "id": "UpgradeEvent", @@ -8331,6 +8882,76 @@ }, "type": "object" }, + "UpgradeInfoEvent": { + "description": "UpgradeInfoEvent is a notification sent to customers about the upgrade information of a resource.", + "id": "UpgradeInfoEvent", + "properties": { + "currentVersion": { + "description": "The current version before the upgrade.", + "type": "string" + }, + "description": { + "description": "A brief description of the event.", + "type": "string" + }, + "endTime": { + "description": "The time when the operation ended.", + "format": "google-datetime", + "type": "string" + }, + "operation": { + "description": "The operation associated with this upgrade.", + "type": "string" + }, + "resource": { + "description": "Optional relative path to the resource. For example in node pool upgrades, the relative path of the node pool.", + "type": "string" + }, + "resourceType": { + "description": "The resource type associated with the upgrade.", + "enum": [ + "UPGRADE_RESOURCE_TYPE_UNSPECIFIED", + "MASTER", + "NODE_POOL" + ], + "enumDescriptions": [ + "Default value. This shouldn't be used.", + "Master / control plane", + "Node pool" + ], + "type": "string" + }, + "startTime": { + "description": "The time when the operation was started.", + "format": "google-datetime", + "type": "string" + }, + "state": { + "description": "Output only. The state of the upgrade.", + "enum": [ + "STATE_UNSPECIFIED", + "STARTED", + "SUCCEEDED", + "FAILED", + "CANCELED" + ], + "enumDescriptions": [ + "STATE_UNSPECIFIED indicates the state is unspecified.", + "STARTED indicates the upgrade has started.", + "SUCCEEDED indicates the upgrade has completed successfully.", + "FAILED indicates the upgrade has failed.", + "CANCELED indicates the upgrade has canceled." + ], + "readOnly": true, + "type": "string" + }, + "targetVersion": { + "description": "The target version for the upgrade.", + "type": "string" + } + }, + "type": "object" + }, "UpgradeSettings": { "description": "These upgrade settings control the level of parallelism and the level of disruption caused by an upgrade. maxUnavailable controls the number of nodes that can be simultaneously unavailable. maxSurge controls the number of additional nodes that can be added to the node pool temporarily for the time of the upgrade to increase the number of available nodes. (maxUnavailable + maxSurge) determines the level of parallelism (how many nodes are being upgraded at the same time). Note: upgrades inevitably introduce some disruption since workloads need to be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0, this holds true. (Disruption stays within the limits of PodDisruptionBudget, if it is configured.) Consider a hypothetical node pool with 5 nodes having maxSurge=2, maxUnavailable=1. This means the upgrade process upgrades 3 nodes simultaneously. It creates 2 additional (upgraded) nodes, then it brings down 3 old (not yet upgraded) nodes at the same time. This ensures that there are always at least 4 nodes available. These upgrade settings configure the upgrade strategy for the node pool. Use strategy to switch between the strategies applied to the node pool. If the strategy is SURGE, use max_surge and max_unavailable to control the level of parallelism and the level of disruption caused by upgrade. 1. maxSurge controls the number of additional nodes that can be added to the node pool temporarily for the time of the upgrade to increase the number of available nodes. 2. maxUnavailable controls the number of nodes that can be simultaneously unavailable. 3. (maxUnavailable + maxSurge) determines the level of parallelism (how many nodes are being upgraded at the same time). If the strategy is BLUE_GREEN, use blue_green_settings to configure the blue-green upgrade related settings. 1. standard_rollout_policy is the default policy. The policy is used to control the way blue pool gets drained. The draining is executed in the batch mode. The batch size could be specified as either percentage of the node pool size or the number of nodes. batch_soak_duration is the soak time after each batch gets drained. 2. node_pool_soak_duration is the soak time after all blue nodes are drained. After this period, the blue pool nodes will be deleted.", "id": "UpgradeSettings", @@ -8663,7 +9284,7 @@ "type": "object" }, "WorkloadPolicyConfig": { - "description": "WorkloadPolicyConfig is the configuration of workload policy for autopilot clusters.", + "description": "WorkloadPolicyConfig is the configuration related to GCW workload policy", "id": "WorkloadPolicyConfig", "properties": { "allowNetAdmin": { diff --git a/discovery/containeranalysis-v1alpha1.json b/discovery/containeranalysis-v1alpha1.json index 6765f48e86..75fcea869c 100644 --- a/discovery/containeranalysis-v1alpha1.json +++ b/discovery/containeranalysis-v1alpha1.json @@ -1420,7 +1420,7 @@ } } }, - "revision": "20240924", + "revision": "20241025", "rootUrl": "https://containeranalysis.googleapis.com/", "schemas": { "AnalysisCompleted": { @@ -4616,11 +4616,13 @@ "description": "The type of hash that was performed.", "enum": [ "NONE", - "SHA256" + "SHA256", + "GO_MODULE_H1" ], "enumDescriptions": [ "No hash requested.", - "A sha256 hash." + "A sha256 hash.", + "Dirhash of a Go module's source code which is then hex-encoded." ], "type": "string" }, diff --git a/discovery/content-v2.1.json b/discovery/content-v2.1.json index 3073a58f01..74434e85ba 100644 --- a/discovery/content-v2.1.json +++ b/discovery/content-v2.1.json @@ -1457,7 +1457,7 @@ "type": "string" }, "updateMask": { - "description": "Required. List of fields being updated.", + "description": "Optional. List of fields being updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -4313,141 +4313,6 @@ } } }, - "settlementreports": { - "methods": { - "get": { - "description": "Retrieves a settlement report from your Merchant Center account.", - "flatPath": "{merchantId}/settlementreports/{settlementId}", - "httpMethod": "GET", - "id": "content.settlementreports.get", - "parameterOrder": [ - "merchantId", - "settlementId" - ], - "parameters": { - "merchantId": { - "description": "The Merchant Center account of the settlement report.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "settlementId": { - "description": "The Google-provided ID of the settlement.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "{merchantId}/settlementreports/{settlementId}", - "response": { - "$ref": "SettlementReport" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - }, - "list": { - "description": "Retrieves a list of settlement reports from your Merchant Center account.", - "flatPath": "{merchantId}/settlementreports", - "httpMethod": "GET", - "id": "content.settlementreports.list", - "parameterOrder": [ - "merchantId" - ], - "parameters": { - "maxResults": { - "description": "The maximum number of settlements to return in the response, used for paging. The default value is 200 returns per page, and the maximum allowed value is 5000 returns per page.", - "format": "uint32", - "location": "query", - "type": "integer" - }, - "merchantId": { - "description": "The Merchant Center account to list settlements for.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "pageToken": { - "description": "The token returned by the previous request.", - "location": "query", - "type": "string" - }, - "transferEndDate": { - "description": "Obtains settlements which have transactions before this date (inclusively), in ISO 8601 format.", - "location": "query", - "type": "string" - }, - "transferStartDate": { - "description": "Obtains settlements which have transactions after this date (inclusively), in ISO 8601 format.", - "location": "query", - "type": "string" - } - }, - "path": "{merchantId}/settlementreports", - "response": { - "$ref": "SettlementreportsListResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - }, - "settlementtransactions": { - "methods": { - "list": { - "description": "Retrieves a list of transactions for the settlement.", - "flatPath": "{merchantId}/settlementreports/{settlementId}/transactions", - "httpMethod": "GET", - "id": "content.settlementtransactions.list", - "parameterOrder": [ - "merchantId", - "settlementId" - ], - "parameters": { - "maxResults": { - "description": "The maximum number of transactions to return in the response, used for paging. The default value is 200 transactions per page, and the maximum allowed value is 5000 transactions per page.", - "format": "uint32", - "location": "query", - "type": "integer" - }, - "merchantId": { - "description": "The Merchant Center account to list transactions for.", - "format": "uint64", - "location": "path", - "required": true, - "type": "string" - }, - "pageToken": { - "description": "The token returned by the previous request.", - "location": "query", - "type": "string" - }, - "settlementId": { - "description": "The Google-provided ID of the settlement.", - "location": "path", - "required": true, - "type": "string" - }, - "transactionIds": { - "description": "The list of transactions to return. If not set, all transactions will be returned.", - "location": "query", - "repeated": true, - "type": "string" - } - }, - "path": "{merchantId}/settlementreports/{settlementId}/transactions", - "response": { - "$ref": "SettlementtransactionsListResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/content" - ] - } - } - }, "shippingsettings": { "methods": { "custombatch": { @@ -4705,7 +4570,7 @@ } } }, - "revision": "20240825", + "revision": "20241217", "rootUrl": "https://shoppingcontent.googleapis.com/", "schemas": { "Account": { @@ -7926,7 +7791,7 @@ "No issues available to review.", "Account will be automatically reviewed at the end of the grace period.", "Account is retired. Should not appear in MC.", - "Account was already reviewd." + "Account has already been reviewed. You can't request further reviews." ], "type": "string" }, @@ -9114,6 +8979,10 @@ "description": "Required. The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a merchant entity and a loyalty program entity. It must be provided so that system can associate the assets below (for example, price and points) with a merchant. The corresponding program must be linked to the merchant account.", "type": "string" }, + "shippingLabel": { + "description": "Optional. The shipping label for the loyalty program. You can use this label to indicate whether this offer has the loyalty shipping benefit. If not specified, the item is not eligible for loyalty shipping for the given loyalty tier.", + "type": "string" + }, "tierLabel": { "description": "Required. The label of the tier within the loyalty program. Must match one of the labels within the program.", "type": "string" @@ -10643,6 +10512,13 @@ "$ref": "ProductSubscriptionCost", "description": "Number of periods (months or years) and amount of payment per period for an item with an associated subscription contract." }, + "sustainabilityIncentives": { + "description": "Optional. The list of sustainability incentive programs.", + "items": { + "$ref": "ProductSustainabilityIncentive" + }, + "type": "array" + }, "targetCountry": { "description": "Required. The CLDR territory code for the item's country of sale.", "type": "string" @@ -11206,6 +11082,36 @@ }, "type": "object" }, + "ProductSustainabilityIncentive": { + "description": "Information regarding sustainability related incentive programs such as rebates or tax relief.", + "id": "ProductSustainabilityIncentive", + "properties": { + "amount": { + "$ref": "Price", + "description": "Optional. The fixed amount of the incentive." + }, + "percentage": { + "description": "Optional. The percentage of the sale price that the incentive is applied to.", + "format": "double", + "type": "number" + }, + "type": { + "description": "Required. Sustainability incentive program.", + "enum": [ + "TYPE_UNSPECIFIED", + "EV_TAX_CREDIT", + "EV_PRICE_DISCOUNT" + ], + "enumDescriptions": [ + "Unspecified or unknown sustainability incentive type.", + "Program offering tax liability reductions for electric vehicles and, in some countries, plug-in hybrids. These reductions can be based on a specific amount or a percentage of the sale price.", + "A subsidy program, often called an environmental bonus, provides a purchase grant for electric vehicles and, in some countries, plug-in hybrids. The grant amount may be a fixed sum or a percentage of the sale price." + ], + "type": "string" + } + }, + "type": "object" + }, "ProductTax": { "id": "ProductTax", "properties": { @@ -13624,193 +13530,6 @@ }, "type": "object" }, - "SettlementReport": { - "description": " Settlement reports detail order-level and item-level credits and debits between you and Google.", - "id": "SettlementReport", - "properties": { - "endDate": { - "description": "The end date on which all transactions are included in the report, in ISO 8601 format.", - "type": "string" - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#settlementReport`\"", - "type": "string" - }, - "previousBalance": { - "$ref": "Price", - "description": "The residual amount from the previous invoice. This is set only if the previous invoices are not paid because of negative balance." - }, - "settlementId": { - "description": "The ID of the settlement report.", - "type": "string" - }, - "startDate": { - "description": "The start date on which all transactions are included in the report, in ISO 8601 format.", - "type": "string" - }, - "transferAmount": { - "$ref": "Price", - "description": "The money due to the merchant." - }, - "transferDate": { - "description": "Date on which transfer for this payment was initiated by Google, in ISO 8601 format.", - "type": "string" - }, - "transferIds": { - "description": "The list of bank identifiers used for the transfer. For example, Trace ID for Federal Automated Clearing House (ACH). This may also be known as the Wire ID.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "SettlementTransaction": { - "description": "Settlement transactions give a detailed breakdown of the settlement report.", - "id": "SettlementTransaction", - "properties": { - "amount": { - "$ref": "SettlementTransactionAmount", - "description": "The amount for the transaction." - }, - "identifiers": { - "$ref": "SettlementTransactionIdentifiers", - "description": "Identifiers of the transaction." - }, - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#settlementTransaction`\"", - "type": "string" - }, - "transaction": { - "$ref": "SettlementTransactionTransaction", - "description": "Details of the transaction." - } - }, - "type": "object" - }, - "SettlementTransactionAmount": { - "id": "SettlementTransactionAmount", - "properties": { - "commission": { - "$ref": "SettlementTransactionAmountCommission" - }, - "description": { - "description": "The description of the event. Acceptable values are: - \"`taxWithhold`\" - \"`principal`\" - \"`principalAdjustment`\" - \"`shippingFee`\" - \"`merchantRemittedSalesTax`\" - \"`googleRemittedSalesTax`\" - \"`merchantCoupon`\" - \"`merchantCouponTax`\" - \"`merchantRemittedDisposalTax`\" - \"`googleRemittedDisposalTax`\" - \"`merchantRemittedRedemptionFee`\" - \"`googleRemittedRedemptionFee`\" - \"`eeeEcoFee`\" - \"`furnitureEcoFee`\" - \"`copyPrivateFee`\" - \"`eeeEcoFeeCommission`\" - \"`furnitureEcoFeeCommission`\" - \"`copyPrivateFeeCommission`\" - \"`principalRefund`\" - \"`principalRefundTax`\" - \"`itemCommission`\" - \"`adjustmentCommission`\" - \"`shippingFeeCommission`\" - \"`commissionRefund`\" - \"`damaged`\" - \"`damagedOrDefectiveItem`\" - \"`expiredItem`\" - \"`faultyItem`\" - \"`incorrectItemReceived`\" - \"`itemMissing`\" - \"`qualityNotExpected`\" - \"`receivedTooLate`\" - \"`storePackageMissing`\" - \"`transitPackageMissing`\" - \"`unsuccessfulDeliveryUndeliverable`\" - \"`wrongChargeInStore`\" - \"`wrongItem`\" - \"`returns`\" - \"`undeliverable`\" - \"`issueRelatedRefundAndReplacementAmountDescription`\" - \"`refundFromMerchant`\" - \"`returnLabelShippingFee`\" - \"`lumpSumCorrection`\" - \"`pspFee`\" - \"`principalRefundDoesNotFit`\" - \"`principalRefundOrderedWrongItem`\" - \"`principalRefundQualityNotExpected`\" - \"`principalRefundBetterPriceFound`\" - \"`principalRefundNoLongerNeeded`\" - \"`principalRefundChangedMind`\" - \"`principalRefundReceivedTooLate`\" - \"`principalRefundIncorrectItemReceived`\" - \"`principalRefundDamagedOrDefectiveItem`\" - \"`principalRefundDidNotMatchDescription`\" - \"`principalRefundExpiredItem`\" ", - "type": "string" - }, - "transactionAmount": { - "$ref": "Price", - "description": "The amount that contributes to the line item price." - }, - "type": { - "description": "The type of the amount. Acceptable values are: - \"`itemPrice`\" - \"`orderPrice`\" - \"`refund`\" - \"`earlyRefund`\" - \"`courtesyRefund`\" - \"`returnRefund`\" - \"`returnLabelShippingFeeAmount`\" - \"`lumpSumCorrectionAmount`\" ", - "type": "string" - } - }, - "type": "object" - }, - "SettlementTransactionAmountCommission": { - "id": "SettlementTransactionAmountCommission", - "properties": { - "category": { - "description": "The category of the commission. Acceptable values are: - \"`animalsAndPetSupplies`\" - \"`dogCatFoodAndCatLitter`\" - \"`apparelAndAccessories`\" - \"`shoesHandbagsAndSunglasses`\" - \"`costumesAndAccessories`\" - \"`jewelry`\" - \"`watches`\" - \"`hobbiesArtsAndCrafts`\" - \"`homeAndGarden`\" - \"`entertainmentCollectibles`\" - \"`collectibleCoins`\" - \"`sportsCollectibles`\" - \"`sportingGoods`\" - \"`toysAndGames`\" - \"`musicalInstruments`\" - \"`giftCards`\" - \"`babyAndToddler`\" - \"`babyFoodWipesAndDiapers`\" - \"`businessAndIndustrial`\" - \"`camerasOpticsAndPhotography`\" - \"`consumerElectronics`\" - \"`electronicsAccessories`\" - \"`personalComputers`\" - \"`videoGameConsoles`\" - \"`foodAndGrocery`\" - \"`beverages`\" - \"`tobaccoProducts`\" - \"`furniture`\" - \"`hardware`\" - \"`buildingMaterials`\" - \"`tools`\" - \"`healthAndPersonalCare`\" - \"`beauty`\" - \"`householdSupplies`\" - \"`kitchenAndDining`\" - \"`majorAppliances`\" - \"`luggageAndBags`\" - \"`media`\" - \"`officeSupplies`\" - \"`softwareAndVideoGames`\" - \"`vehiclePartsAndAccessories`\" - \"`vehicleTiresAndWheels`\" - \"`vehicles`\" - \"`everythingElse`\" ", - "type": "string" - }, - "rate": { - "description": "Rate of the commission in percentage.", - "type": "string" - } - }, - "type": "object" - }, - "SettlementTransactionIdentifiers": { - "id": "SettlementTransactionIdentifiers", - "properties": { - "adjustmentId": { - "description": "The identifier of the adjustments, if it's available.", - "type": "string" - }, - "merchantOrderId": { - "description": "The merchant provided order ID.", - "type": "string" - }, - "orderItemId": { - "description": "The identifier of the item.", - "type": "string" - }, - "settlementEntryId": { - "description": "The unique ID of the settlement transaction entry.", - "type": "string" - }, - "shipmentIds": { - "description": "The shipment ids for the item.", - "items": { - "type": "string" - }, - "type": "array" - }, - "transactionId": { - "description": "The Google transaction ID.", - "type": "string" - } - }, - "type": "object" - }, - "SettlementTransactionTransaction": { - "id": "SettlementTransactionTransaction", - "properties": { - "postDate": { - "description": "The time on which the event occurred in ISO 8601 format.", - "type": "string" - }, - "type": { - "description": "The type of the transaction that occurred. Acceptable values are: - \"`order`\" - \"`reversal`\" - \"`orderRefund`\" - \"`reversalRefund`\" - \"`issueRelatedRefundAndReplacement`\" - \"`returnLabelShippingFeeTransaction`\" - \"`reversalIssueRelatedRefundAndReplacement`\" - \"`reversalReturnLabelShippingFeeTransaction`\" - \"`lumpSumCorrectionTransaction`\" ", - "type": "string" - } - }, - "type": "object" - }, - "SettlementreportsListResponse": { - "id": "SettlementreportsListResponse", - "properties": { - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#settlementreportsListResponse`\".", - "type": "string" - }, - "nextPageToken": { - "description": "The token for the retrieval of the next page of returns.", - "type": "string" - }, - "resources": { - "items": { - "$ref": "SettlementReport" - }, - "type": "array" - } - }, - "type": "object" - }, - "SettlementtransactionsListResponse": { - "id": "SettlementtransactionsListResponse", - "properties": { - "kind": { - "description": "Identifies what kind of resource this is. Value: the fixed string \"`content#settlementtransactionsListResponse`\".", - "type": "string" - }, - "nextPageToken": { - "description": "The token for the retrieval of the next page of returns.", - "type": "string" - }, - "resources": { - "items": { - "$ref": "SettlementTransaction" - }, - "type": "array" - } - }, - "type": "object" - }, "ShippingSettings": { "description": "The merchant account's shipping settings. All methods except getsupportedcarriers and getsupportedholidays require the admin role.", "id": "ShippingSettings", @@ -14109,7 +13828,7 @@ "No issues available to review.", "Account will be automatically reviewed at the end of the grace period.", "Account is retired. Should not appear in MC.", - "Account was already reviewd." + "Account has already been reviewed. You can't request further reviews." ], "type": "string" }, @@ -14219,11 +13938,11 @@ "id": "TimeZone", "properties": { "id": { - "description": "IANA Time Zone Database time zone, e.g. \"America/New_York\".", + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", "type": "string" }, "version": { - "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", "type": "string" } }, diff --git a/discovery/contentwarehouse-v1.json b/discovery/contentwarehouse-v1.json index d3bfb746d8..2ddd3f7d79 100644 --- a/discovery/contentwarehouse-v1.json +++ b/discovery/contentwarehouse-v1.json @@ -1156,7 +1156,7 @@ } } }, - "revision": "20240723", + "revision": "20241204", "rootUrl": "https://contentwarehouse.googleapis.com/", "schemas": { "CloudAiPlatformTenantresourceCloudSqlInstanceConfig": { @@ -5816,18 +5816,18 @@ "type": "object" }, "GoogleTypePostalAddress": { - "description": "Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478", + "description": "Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478", "id": "GoogleTypePostalAddress", "properties": { "addressLines": { - "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", + "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", "items": { "type": "string" }, "type": "array" }, "administrativeArea": { - "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.", + "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated.", "type": "string" }, "languageCode": { @@ -5843,7 +5843,7 @@ "type": "string" }, "postalCode": { - "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.).", + "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.).", "type": "string" }, "recipients": { @@ -5863,7 +5863,7 @@ "type": "integer" }, "sortingCode": { - "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (e.g. \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (e.g. Côte d'Ivoire).", + "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (For example \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (For example Côte d'Ivoire).", "type": "string" }, "sublocality": { @@ -5878,11 +5878,11 @@ "id": "GoogleTypeTimeZone", "properties": { "id": { - "description": "IANA Time Zone Database time zone, e.g. \"America/New_York\".", + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", "type": "string" }, "version": { - "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", "type": "string" } }, diff --git a/discovery/css-v1.json b/discovery/css-v1.json index 73db2c3792..543e439b36 100644 --- a/discovery/css-v1.json +++ b/discovery/css-v1.json @@ -158,7 +158,7 @@ "type": "string" }, "pageSize": { - "description": "Optional. The maximum number of accounts to return. The service may return fewer than this value. If unspecified, at most 50 accounts will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "description": "Optional. The maximum number of accounts to return. The service may return fewer than this value. If unspecified, at most 50 accounts will be returned. The maximum value is 100; values above 100 will be coerced to 100.", "format": "int32", "location": "query", "type": "integer" @@ -257,7 +257,8 @@ ], "parameters": { "feedId": { - "description": "Required. The primary or supplemental feed id. If CSS Product already exists and feed id provided is different, then the CSS Product will be moved to a new feed. Note: For now, CSSs do not need to provide feed ids as we create feeds on the fly. We do not have supplemental feed support for CSS Products yet.", + "deprecated": true, + "description": "Optional. DEPRECATED. Feed id is not required for CSS Products. The primary or supplemental feed id. If CSS Product already exists and feed id provided is different, then the CSS Product will be moved to a new feed. Note: For now, CSSs do not need to provide feed ids as we create feeds on the fly. We do not have supplemental feed support for CSS Products yet.", "format": "int64", "location": "query", "type": "string" @@ -280,6 +281,40 @@ "scopes": [ "https://www.googleapis.com/auth/content" ] + }, + "patch": { + "description": "Updates the existing Css Product input in your CSS Center account. After inserting, updating, or deleting a CSS Product input, it may take several minutes before the processed Css Product can be retrieved.", + "flatPath": "v1/accounts/{accountsId}/cssProductInputs/{cssProductInputsId}", + "httpMethod": "PATCH", + "id": "css.accounts.cssProductInputs.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the CSS Product input. Format: `accounts/{account}/cssProductInputs/{css_product_input}`", + "location": "path", + "pattern": "^accounts/[^/]+/cssProductInputs/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The list of CSS product attributes to be updated. If the update mask is omitted, then it is treated as implied field mask equivalent to all fields that are populated (have a non-empty value). Attributes specified in the update mask without a value specified in the body will be deleted from the CSS product. Update mask can only be specified for top level fields in attributes and custom attributes. To specify the update mask for custom attributes you need to add the `custom_attribute.` prefix. Providing special \"*\" value for full CSS product replacement is not supported.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "CssProductInput" + }, + "response": { + "$ref": "CssProductInput" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] } } }, @@ -404,7 +439,7 @@ ] }, "list": { - "description": "Lists the labels assigned to an account.", + "description": "Lists the labels owned by an account.", "flatPath": "v1/accounts/{accountsId}/labels", "httpMethod": "GET", "id": "css.accounts.labels.list", @@ -472,7 +507,7 @@ } } }, - "revision": "20240909", + "revision": "20250106", "rootUrl": "https://css.googleapis.com/", "schemas": { "Account": { @@ -705,11 +740,11 @@ }, "headlineOfferPrice": { "$ref": "Price", - "description": "Headline Price of the aggregate offer." + "description": "Headline Price of the CSS Product." }, "headlineOfferShippingPrice": { "$ref": "Price", - "description": "Headline Price of the aggregate offer." + "description": "Headline Price of the CSS Product." }, "headlineOfferSubscriptionCost": { "$ref": "HeadlineOfferSubscriptionCost", @@ -717,7 +752,7 @@ }, "highPrice": { "$ref": "Price", - "description": "High Price of the aggregate offer." + "description": "High Price of the CSS Product." }, "imageLink": { "description": "URL of an image of the item.", @@ -740,7 +775,7 @@ }, "lowPrice": { "$ref": "Price", - "description": "Low Price of the aggregate offer." + "description": "Low Price of the CSS Product." }, "material": { "description": "The material of which the item is made.", @@ -756,7 +791,7 @@ "type": "string" }, "numberOfOffers": { - "description": "The number of aggregate offers.", + "description": "The number of CSS Products.", "format": "int64", "type": "string" }, @@ -847,7 +882,7 @@ "type": "object" }, "CssProduct": { - "description": "The processed CSS Product(a.k.a Aggregate Offer internally).", + "description": "The processed CSS Product.", "id": "CssProduct", "properties": { "attributes": { @@ -919,7 +954,8 @@ "type": "string" }, "freshnessTime": { - "description": "Represents the existing version (freshness) of the CSS Product, which can be used to preserve the right order when multiple updates are done at the same time. This field must not be set to the future time. If set, the update is prevented if a newer version of the item already exists in our system (that is the last update time of the existing CSS products is later than the freshness time set in the update). If the update happens, the last update time is then set to this freshness time. If not set, the update will not be prevented and the last update time will default to when this request was received by the CSS API. If the operation is prevented, the aborted exception will be thrown.", + "deprecated": true, + "description": "DEPRECATED. Use expiration_date instead. Represents the existing version (freshness) of the CSS Product, which can be used to preserve the right order when multiple updates are done at the same time. This field must not be set to the future time. If set, the update is prevented if a newer version of the item already exists in our system (that is the last update time of the existing CSS products is later than the freshness time set in the update). If the update happens, the last update time is then set to this freshness time. If not set, the update will not be prevented and the last update time will default to when this request was received by the CSS API. If the operation is prevented, the aborted exception will be thrown.", "format": "google-datetime", "type": "string" }, @@ -997,7 +1033,7 @@ "id": "DestinationStatus", "properties": { "approvedCountries": { - "description": "List of country codes (ISO 3166-1 alpha-2) where the aggregate offer is approved.", + "description": "List of country codes (ISO 3166-1 alpha-2) where the CSS Product is approved.", "items": { "type": "string" }, @@ -1008,14 +1044,14 @@ "type": "string" }, "disapprovedCountries": { - "description": "List of country codes (ISO 3166-1 alpha-2) where the aggregate offer is disapproved.", + "description": "List of country codes (ISO 3166-1 alpha-2) where the CSS Product is disapproved.", "items": { "type": "string" }, "type": "array" }, "pendingCountries": { - "description": "List of country codes (ISO 3166-1 alpha-2) where the aggregate offer is pending approval.", + "description": "List of country codes (ISO 3166-1 alpha-2) where the CSS Product is pending approval.", "items": { "type": "string" }, @@ -1085,7 +1121,7 @@ "id": "ItemLevelIssue", "properties": { "applicableCountries": { - "description": "List of country codes (ISO 3166-1 alpha-2) where issue applies to the aggregate offer.", + "description": "List of country codes (ISO 3166-1 alpha-2) where issue applies to the CSS Product.", "items": { "type": "string" }, @@ -1120,7 +1156,7 @@ "type": "string" }, "servability": { - "description": "How this issue affects serving of the aggregate offer.", + "description": "How this issue affects serving of the CSS Product.", "type": "string" } }, diff --git a/discovery/datacatalog-v1.json b/discovery/datacatalog-v1.json index f465a6245f..6ea680cbdc 100644 --- a/discovery/datacatalog-v1.json +++ b/discovery/datacatalog-v1.json @@ -172,9 +172,150 @@ } } }, + "organizations": { + "resources": { + "locations": { + "methods": { + "retrieveConfig": { + "description": "Retrieves the configuration related to the migration from Data Catalog to Dataplex for a specific organization, including all the projects under it which have a separate configuration set.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}:retrieveConfig", + "httpMethod": "GET", + "id": "datacatalog.organizations.locations.retrieveConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The organization whose config is being retrieved.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:retrieveConfig", + "response": { + "$ref": "GoogleCloudDatacatalogV1OrganizationConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "retrieveEffectiveConfig": { + "description": "Retrieves the effective configuration related to the migration from Data Catalog to Dataplex for a specific organization or project. If there is no specific configuration set for the resource, the setting is checked hierarchicahlly through the ancestors of the resource, starting from the resource itself.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}:retrieveEffectiveConfig", + "httpMethod": "GET", + "id": "datacatalog.organizations.locations.retrieveEffectiveConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource whose effective config is being retrieved.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:retrieveEffectiveConfig", + "response": { + "$ref": "GoogleCloudDatacatalogV1MigrationConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setConfig": { + "description": "Sets the configuration related to the migration to Dataplex for an organization or project.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}:setConfig", + "httpMethod": "POST", + "id": "datacatalog.organizations.locations.setConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The organization or project whose config is being specified.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:setConfig", + "request": { + "$ref": "GoogleCloudDatacatalogV1SetConfigRequest" + }, + "response": { + "$ref": "GoogleCloudDatacatalogV1MigrationConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, "projects": { "resources": { "locations": { + "methods": { + "retrieveEffectiveConfig": { + "description": "Retrieves the effective configuration related to the migration from Data Catalog to Dataplex for a specific organization or project. If there is no specific configuration set for the resource, the setting is checked hierarchicahlly through the ancestors of the resource, starting from the resource itself.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:retrieveEffectiveConfig", + "httpMethod": "GET", + "id": "datacatalog.projects.locations.retrieveEffectiveConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource whose effective config is being retrieved.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:retrieveEffectiveConfig", + "response": { + "$ref": "GoogleCloudDatacatalogV1MigrationConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setConfig": { + "description": "Sets the configuration related to the migration to Dataplex for an organization or project.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:setConfig", + "httpMethod": "POST", + "id": "datacatalog.projects.locations.setConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The organization or project whose config is being specified.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:setConfig", + "request": { + "$ref": "GoogleCloudDatacatalogV1SetConfigRequest" + }, + "response": { + "$ref": "GoogleCloudDatacatalogV1MigrationConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, "resources": { "entryGroups": { "methods": { @@ -1076,7 +1217,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "datacatalog.projects.locations.operations.cancel", @@ -2144,7 +2285,7 @@ } } }, - "revision": "20240614", + "revision": "20241202", "rootUrl": "https://datacatalog.googleapis.com/", "schemas": { "Binding": { @@ -3024,6 +3165,10 @@ "name": { "description": "Identifier. The resource name of the entry group in URL format. Note: The entry group itself and its child resources might not be stored in the location specified in its name.", "type": "string" + }, + "transferredToDataplex": { + "description": "Optional. When set to [true], it means DataCatalog EntryGroup was transferred to Dataplex Catalog Service. It makes EntryGroup and its Entries to be read-only in DataCatalog. However, new Tags on EntryGroup and its Entries can be created. After setting the flag to [true] it cannot be unset.", + "type": "boolean" } }, "type": "object" @@ -3411,6 +3556,41 @@ }, "type": "object" }, + "GoogleCloudDatacatalogV1MigrationConfig": { + "description": "The configuration related to the migration to Dataplex applied to an organization or project. It is the response message for SetConfig and RetrieveEffectiveConfig.", + "id": "GoogleCloudDatacatalogV1MigrationConfig", + "properties": { + "catalogUiExperience": { + "description": "Opt-in status for the UI switch to Dataplex.", + "enum": [ + "CATALOG_UI_EXPERIENCE_UNSPECIFIED", + "CATALOG_UI_EXPERIENCE_ENABLED", + "CATALOG_UI_EXPERIENCE_DISABLED" + ], + "enumDescriptions": [ + "Default value. The default UI is Dataplex.", + "The UI is Dataplex.", + "The UI is Data Catalog." + ], + "type": "string" + }, + "tagTemplateMigration": { + "description": "Opt-in status for the migration of Tag Templates to Dataplex.", + "enum": [ + "TAG_TEMPLATE_MIGRATION_UNSPECIFIED", + "TAG_TEMPLATE_MIGRATION_ENABLED", + "TAG_TEMPLATE_MIGRATION_DISABLED" + ], + "enumDescriptions": [ + "Default value. Migration of Tag Templates from Data Catalog to Dataplex is not performed.", + "Migration of Tag Templates from Data Catalog to Dataplex is enabled.", + "Migration of Tag Templates from Data Catalog to Dataplex is disabled." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDatacatalogV1ModelSpec": { "description": "Specification that applies to a model. Valid only for entries with the `MODEL` type.", "id": "GoogleCloudDatacatalogV1ModelSpec", @@ -3444,6 +3624,20 @@ }, "type": "object" }, + "GoogleCloudDatacatalogV1OrganizationConfig": { + "description": "The configuration related to the migration from Data Catalog to Dataplex that has been applied to an organization and any projects under it. It is the response message for RetrieveConfig.", + "id": "GoogleCloudDatacatalogV1OrganizationConfig", + "properties": { + "config": { + "additionalProperties": { + "$ref": "GoogleCloudDatacatalogV1MigrationConfig" + }, + "description": "Map of organizations and project resource names and their configuration. The format for the map keys is `organizations/{organizationId}` or `projects/{projectId}`.", + "type": "object" + } + }, + "type": "object" + }, "GoogleCloudDatacatalogV1PersonalDetails": { "description": "Entry metadata relevant only to the user and private to them.", "id": "GoogleCloudDatacatalogV1PersonalDetails", @@ -4031,6 +4225,41 @@ }, "type": "object" }, + "GoogleCloudDatacatalogV1SetConfigRequest": { + "description": "Request message for SetConfig.", + "id": "GoogleCloudDatacatalogV1SetConfigRequest", + "properties": { + "catalogUiExperience": { + "description": "Opt-in status for the UI switch to Dataplex.", + "enum": [ + "CATALOG_UI_EXPERIENCE_UNSPECIFIED", + "CATALOG_UI_EXPERIENCE_ENABLED", + "CATALOG_UI_EXPERIENCE_DISABLED" + ], + "enumDescriptions": [ + "Default value. The default UI is Dataplex.", + "The UI is Dataplex.", + "The UI is Data Catalog." + ], + "type": "string" + }, + "tagTemplateMigration": { + "description": "Opt-in status for the migration of Tag Templates to Dataplex.", + "enum": [ + "TAG_TEMPLATE_MIGRATION_UNSPECIFIED", + "TAG_TEMPLATE_MIGRATION_ENABLED", + "TAG_TEMPLATE_MIGRATION_DISABLED" + ], + "enumDescriptions": [ + "Default value. Migration of Tag Templates from Data Catalog to Dataplex is not performed.", + "Migration of Tag Templates from Data Catalog to Dataplex is enabled.", + "Migration of Tag Templates from Data Catalog to Dataplex is disabled." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDatacatalogV1SqlDatabaseSystemSpec": { "description": "Specification that applies to entries that are part `SQL_DATABASE` system (user_specified_type)", "id": "GoogleCloudDatacatalogV1SqlDatabaseSystemSpec", @@ -4123,6 +4352,26 @@ "description": "Resources like entry can have schemas associated with them. This scope allows you to attach tags to an individual column based on that schema. To attach a tag to a nested column, separate column names with a dot (`.`). Example: `column.nested_column`.", "type": "string" }, + "dataplexTransferStatus": { + "description": "Output only. Denotes the transfer status of the Tag Template.", + "enum": [ + "DATAPLEX_TRANSFER_STATUS_UNSPECIFIED", + "MIGRATED", + "TRANSFERRED" + ], + "enumDeprecated": [ + false, + true, + false + ], + "enumDescriptions": [ + "Default value. TagTemplate and its tags are only visible and editable in DataCatalog.", + "TagTemplate and its tags are auto-copied to Dataplex service. Visible in both services. Editable in DataCatalog, read-only in Dataplex. Deprecated: Individual TagTemplate migration is deprecated in favor of organization or project wide TagTemplate migration opt-in.", + "TagTemplate and its tags are auto-copied to Dataplex service. Visible in both services. Editable in Dataplex, read-only in DataCatalog." + ], + "readOnly": true, + "type": "string" + }, "fields": { "additionalProperties": { "$ref": "GoogleCloudDatacatalogV1TagField" @@ -4209,15 +4458,18 @@ "description": "Optional. Transfer status of the TagTemplate", "enum": [ "DATAPLEX_TRANSFER_STATUS_UNSPECIFIED", - "MIGRATED" + "MIGRATED", + "TRANSFERRED" ], "enumDeprecated": [ false, - true + true, + false ], "enumDescriptions": [ "Default value. TagTemplate and its tags are only visible and editable in DataCatalog.", - "TagTemplate and its tags are auto-copied to Dataplex service. Visible in both services. Editable in DataCatalog, read-only in Dataplex. Deprecated: Individual TagTemplate migration is deprecated in favor of organization or project wide TagTemplate migration opt-in." + "TagTemplate and its tags are auto-copied to Dataplex service. Visible in both services. Editable in DataCatalog, read-only in Dataplex. Deprecated: Individual TagTemplate migration is deprecated in favor of organization or project wide TagTemplate migration opt-in.", + "TagTemplate and its tags are auto-copied to Dataplex service. Visible in both services. Editable in Dataplex, read-only in DataCatalog." ], "type": "string" }, diff --git a/discovery/datacatalog-v1beta1.json b/discovery/datacatalog-v1beta1.json index ffebdeadcf..a47b0c9af3 100644 --- a/discovery/datacatalog-v1beta1.json +++ b/discovery/datacatalog-v1beta1.json @@ -1813,7 +1813,7 @@ } } }, - "revision": "20240614", + "revision": "20241021", "rootUrl": "https://datacatalog.googleapis.com/", "schemas": { "Binding": { @@ -3171,6 +3171,26 @@ "description": "Resources like entry can have schemas associated with them. This scope allows you to attach tags to an individual column based on that schema. To attach a tag to a nested column, separate column names with a dot (`.`). Example: `column.nested_column`.", "type": "string" }, + "dataplexTransferStatus": { + "description": "Output only. Denotes the transfer status of the Tag Template.", + "enum": [ + "DATAPLEX_TRANSFER_STATUS_UNSPECIFIED", + "MIGRATED", + "TRANSFERRED" + ], + "enumDeprecated": [ + false, + true, + false + ], + "enumDescriptions": [ + "Default value. TagTemplate and its tags are only visible and editable in DataCatalog.", + "TagTemplate and its tags are auto-copied to Dataplex service. Visible in both services. Editable in DataCatalog, read-only in Dataplex. Deprecated: Individual TagTemplate migration is deprecated in favor of organization or project wide TagTemplate migration opt-in.", + "TagTemplate and its tags are auto-copied to Dataplex service. Visible in both services. Editable in Dataplex, read-only in DataCatalog." + ], + "readOnly": true, + "type": "string" + }, "fields": { "additionalProperties": { "$ref": "GoogleCloudDatacatalogV1TagField" diff --git a/discovery/dataflow-v1b3.json b/discovery/dataflow-v1b3.json index e55a8a440a..810987a6ac 100644 --- a/discovery/dataflow-v1b3.json +++ b/discovery/dataflow-v1b3.json @@ -2208,7 +2208,7 @@ } } }, - "revision": "20240817", + "revision": "20241209", "rootUrl": "https://dataflow.googleapis.com/", "schemas": { "ApproximateProgress": { @@ -2926,6 +2926,23 @@ }, "type": "object" }, + "DataflowGaugeValue": { + "description": "The gauge value of a metric.", + "id": "DataflowGaugeValue", + "properties": { + "measuredTime": { + "description": "The timestamp when the gauge was recorded.", + "format": "google-datetime", + "type": "string" + }, + "value": { + "description": "The value of the gauge.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "DataflowHistogramValue": { "description": "Summary statistics for a population of values. HistogramValue contains a sequence of buckets and gives a count of values that fall into each bucket. Bucket boundares are defined by a formula and bucket widths are either fixed or exponentially increasing.", "id": "DataflowHistogramValue", @@ -3446,7 +3463,7 @@ "type": "object" }, "FlexTemplateRuntimeEnvironment": { - "description": "The environment values to be set at runtime for flex template. LINT.IfChange", + "description": "The environment values to be set at runtime for flex template.", "id": "FlexTemplateRuntimeEnvironment", "properties": { "additionalExperiments": { @@ -3632,6 +3649,34 @@ }, "type": "object" }, + "GPUUsage": { + "description": "Information about the GPU usage on the worker.", + "id": "GPUUsage", + "properties": { + "timestamp": { + "description": "Required. Timestamp of the measurement.", + "format": "google-datetime", + "type": "string" + }, + "utilization": { + "$ref": "GPUUtilization", + "description": "Required. Utilization info about the GPU." + } + }, + "type": "object" + }, + "GPUUtilization": { + "description": "Utilization details about the GPU.", + "id": "GPUUtilization", + "properties": { + "rate": { + "description": "Required. GPU utilization rate of any kernel over the last sample period in the range of [0, 1].", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, "GetDebugConfigRequest": { "description": "Request to get updated debug configuration for component.", "id": "GetDebugConfigRequest", @@ -4729,6 +4774,10 @@ "description": "Optional. Set of metric labels for this metric.", "type": "object" }, + "valueGauge64": { + "$ref": "DataflowGaugeValue", + "description": "Non-cumulative int64 value of this metric." + }, "valueHistogram": { "$ref": "DataflowHistogramValue", "description": "Histogram value of this metric." @@ -5468,6 +5517,13 @@ }, "type": "array" }, + "gpuUsage": { + "description": "Optional. GPU usage samples.", + "items": { + "$ref": "GPUUsage" + }, + "type": "array" + }, "memoryInfo": { "description": "Memory utilization samples.", "items": { @@ -5485,7 +5541,7 @@ "type": "object" }, "RuntimeEnvironment": { - "description": "The environment values to set at runtime. LINT.IfChange", + "description": "The environment values to set at runtime.", "id": "RuntimeEnvironment", "properties": { "additionalExperiments": { diff --git a/discovery/dataform-v1beta1.json b/discovery/dataform-v1beta1.json index 1f2a452e1f..bc78db42f8 100644 --- a/discovery/dataform-v1beta1.json +++ b/discovery/dataform-v1beta1.json @@ -200,7 +200,7 @@ ] }, "updateConfig": { - "description": "Update default config for a given project and location.", + "description": "Update default config for a given project and location. *Note:* This method does not fully implement AIP/134. In particular: 1. The wildcard entry (***) is treated as a bad request 2. When the *field_mask* is omitted, instead of only updating the set fields, the request is treated as a full update on all modifiable fields ", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/config", "httpMethod": "PATCH", "id": "dataform.projects.locations.updateConfig", @@ -235,97 +235,6 @@ } }, "resources": { - "collections": { - "methods": { - "getIamPolicy": { - "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}:getIamPolicy", - "httpMethod": "GET", - "id": "dataform.projects.locations.collections.getIamPolicy", - "parameterOrder": [ - "resource" - ], - "parameters": { - "options.requestedPolicyVersion": { - "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "format": "int32", - "location": "query", - "type": "integer" - }, - "resource": { - "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+resource}:getIamPolicy", - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}:setIamPolicy", - "httpMethod": "POST", - "id": "dataform.projects.locations.collections.setIamPolicy", - "parameterOrder": [ - "resource" - ], - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+resource}:setIamPolicy", - "request": { - "$ref": "SetIamPolicyRequest" - }, - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}:testIamPermissions", - "httpMethod": "POST", - "id": "dataform.projects.locations.collections.testIamPermissions", - "parameterOrder": [ - "resource" - ], - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+resource}:testIamPermissions", - "request": { - "$ref": "TestIamPermissionsRequest" - }, - "response": { - "$ref": "TestIamPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - }, "repositories": { "methods": { "commit": { @@ -467,7 +376,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. Page token received from a previous `FetchRepositoryHistory` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `FetchRepositoryHistory` must match the call that provided the page token.", + "description": "Optional. Page token received from a previous `FetchRepositoryHistory` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `FetchRepositoryHistory`, with the exception of `page_size`, must match the call that provided the page token.", "location": "query", "type": "string" } @@ -587,7 +496,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. Page token received from a previous `ListRepositories` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListRepositories` must match the call that provided the page token.", + "description": "Optional. Page token received from a previous `ListRepositories` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListRepositories`, with the exception of `page_size`, must match the call that provided the page token.", "location": "query", "type": "string" }, @@ -608,7 +517,7 @@ ] }, "patch": { - "description": "Updates a single Repository.", + "description": "Updates a single Repository. *Note:* This method does not fully implement AIP/134. In particular: 1. The wildcard entry (***) is treated as a bad request 2. When the *field_mask* is omitted, instead of only updating the set fields, the request is treated as a full update on all modifiable fields ", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}", "httpMethod": "PATCH", "id": "dataform.projects.locations.repositories.patch", @@ -669,7 +578,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. Page token received from a previous `QueryRepositoryDirectoryContents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `QueryRepositoryDirectoryContents` must match the call that provided the page token.", + "description": "Optional. Page token received from a previous `QueryRepositoryDirectoryContents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `QueryRepositoryDirectoryContents`, with the exception of `page_size`, must match the call that provided the page token.", "location": "query", "type": "string" }, @@ -780,134 +689,6 @@ } }, "resources": { - "commentThreads": { - "methods": { - "getIamPolicy": { - "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/commentThreads/{commentThreadsId}:getIamPolicy", - "httpMethod": "GET", - "id": "dataform.projects.locations.repositories.commentThreads.getIamPolicy", - "parameterOrder": [ - "resource" - ], - "parameters": { - "options.requestedPolicyVersion": { - "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "format": "int32", - "location": "query", - "type": "integer" - }, - "resource": { - "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/commentThreads/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+resource}:getIamPolicy", - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/commentThreads/{commentThreadsId}:setIamPolicy", - "httpMethod": "POST", - "id": "dataform.projects.locations.repositories.commentThreads.setIamPolicy", - "parameterOrder": [ - "resource" - ], - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/commentThreads/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+resource}:setIamPolicy", - "request": { - "$ref": "SetIamPolicyRequest" - }, - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - }, - "resources": { - "comments": { - "methods": { - "getIamPolicy": { - "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/commentThreads/{commentThreadsId}/comments/{commentsId}:getIamPolicy", - "httpMethod": "GET", - "id": "dataform.projects.locations.repositories.commentThreads.comments.getIamPolicy", - "parameterOrder": [ - "resource" - ], - "parameters": { - "options.requestedPolicyVersion": { - "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "format": "int32", - "location": "query", - "type": "integer" - }, - "resource": { - "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/commentThreads/[^/]+/comments/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+resource}:getIamPolicy", - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/commentThreads/{commentThreadsId}/comments/{commentsId}:setIamPolicy", - "httpMethod": "POST", - "id": "dataform.projects.locations.repositories.commentThreads.comments.setIamPolicy", - "parameterOrder": [ - "resource" - ], - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/commentThreads/[^/]+/comments/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+resource}:setIamPolicy", - "request": { - "$ref": "SetIamPolicyRequest" - }, - "response": { - "$ref": "Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - } - } - }, "compilationResults": { "methods": { "create": { @@ -989,7 +770,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. Page token received from a previous `ListCompilationResults` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCompilationResults` must match the call that provided the page token.", + "description": "Optional. Page token received from a previous `ListCompilationResults` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCompilationResults`, with the exception of `page_size`, must match the call that provided the page token.", "location": "query", "type": "string" }, @@ -1037,7 +818,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. Page token received from a previous `QueryCompilationResultActions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `QueryCompilationResultActions` must match the call that provided the page token.", + "description": "Optional. Page token received from a previous `QueryCompilationResultActions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `QueryCompilationResultActions`, with the exception of `page_size`, must match the call that provided the page token.", "location": "query", "type": "string" } @@ -1153,7 +934,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. Page token received from a previous `ListReleaseConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReleaseConfigs` must match the call that provided the page token.", + "description": "Optional. Page token received from a previous `ListReleaseConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReleaseConfigs`, with the exception of `page_size`, must match the call that provided the page token.", "location": "query", "type": "string" }, @@ -1174,7 +955,7 @@ ] }, "patch": { - "description": "Updates a single ReleaseConfig.", + "description": "Updates a single ReleaseConfig. *Note:* This method does not fully implement AIP/134. In particular: 1. The wildcard entry (***) is treated as a bad request 2. When the *field_mask* is omitted, instead of only updating the set fields, the request is treated as a full update on all modifiable fields ", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/releaseConfigs/{releaseConfigsId}", "httpMethod": "PATCH", "id": "dataform.projects.locations.repositories.releaseConfigs.patch", @@ -1310,7 +1091,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. Page token received from a previous `ListWorkflowConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListWorkflowConfigs` must match the call that provided the page token.", + "description": "Optional. Page token received from a previous `ListWorkflowConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListWorkflowConfigs`, with the exception of `page_size`, must match the call that provided the page token.", "location": "query", "type": "string" }, @@ -1331,7 +1112,7 @@ ] }, "patch": { - "description": "Updates a single WorkflowConfig.", + "description": "Updates a single WorkflowConfig. *Note:* This method does not fully implement AIP/134. In particular: 1. The wildcard entry (***) is treated as a bad request 2. When the *field_mask* is omitted, instead of only updating the set fields, the request is treated as a full update on all modifiable fields ", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/workflowConfigs/{workflowConfigsId}", "httpMethod": "PATCH", "id": "dataform.projects.locations.repositories.workflowConfigs.patch", @@ -1500,7 +1281,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. Page token received from a previous `ListWorkflowInvocations` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListWorkflowInvocations` must match the call that provided the page token.", + "description": "Optional. Page token received from a previous `ListWorkflowInvocations` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListWorkflowInvocations`, with the exception of `page_size`, must match the call that provided the page token.", "location": "query", "type": "string" }, @@ -1543,7 +1324,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. Page token received from a previous `QueryWorkflowInvocationActions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `QueryWorkflowInvocationActions` must match the call that provided the page token.", + "description": "Optional. Page token received from a previous `QueryWorkflowInvocationActions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `QueryWorkflowInvocationActions`, with the exception of `page_size`, must match the call that provided the page token.", "location": "query", "type": "string" } @@ -1841,7 +1622,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. Page token received from a previous `ListWorkspaces` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListWorkspaces` must match the call that provided the page token.", + "description": "Optional. Page token received from a previous `ListWorkspaces` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListWorkspaces`, with the exception of `page_size`, must match the call that provided the page token.", "location": "query", "type": "string" }, @@ -2017,7 +1798,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. Page token received from a previous `QueryDirectoryContents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `QueryDirectoryContents` must match the call that provided the page token.", + "description": "Optional. Page token received from a previous `QueryDirectoryContents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `QueryDirectoryContents`, with the exception of `page_size`, must match the call that provided the page token.", "location": "query", "type": "string" }, @@ -2182,7 +1963,7 @@ "type": "integer" }, "pageToken": { - "description": "Optional. Page token received from a previous `SearchFilesRequest` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `SearchFilesRequest` must match the call that provided the page token.", + "description": "Optional. Page token received from a previous `SearchFilesRequest` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `SearchFilesRequest`, with the exception of `page_size`, must match the call that provided the page token.", "location": "query", "type": "string" }, @@ -2295,7 +2076,7 @@ } } }, - "revision": "20240824", + "revision": "20241203", "rootUrl": "https://dataform.googleapis.com/", "schemas": { "Assertion": { @@ -2655,10 +2436,6 @@ "$ref": "Target", "description": "The action's identifier if the project had been compiled without any overrides configured. Unique within the compilation result." }, - "dataPreparation": { - "$ref": "DataPreparation", - "description": "The data preparation executed by this action." - }, "declaration": { "$ref": "Declaration", "description": "The declaration declared by this action." @@ -2735,36 +2512,6 @@ }, "type": "object" }, - "DataPreparation": { - "description": "Defines a compiled Data Preparation entity", - "id": "DataPreparation", - "properties": { - "contents": { - "description": "The data preparation definition, stored as a binary encoded proto.", - "format": "byte", - "type": "string" - }, - "dependencyTargets": { - "description": "A list of actions that this action depends on.", - "items": { - "$ref": "Target" - }, - "type": "array" - }, - "disabled": { - "description": "Whether this action is disabled (i.e. should not be run).", - "type": "boolean" - }, - "tags": { - "description": "Arbitrary, user-defined tags on this action.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "Declaration": { "description": "Represents a relation which is not managed by Dataform but which may be referenced by Dataform actions.", "id": "Declaration", @@ -3410,7 +3157,7 @@ "type": "string" }, "cancelRequested": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -3776,7 +3523,7 @@ "type": "string" }, "recentScheduledReleaseRecords": { - "description": "Output only. Records of the 10 most recent scheduled release attempts, ordered in in descending order of `release_time`. Updated whenever automatic creation of a compilation result is triggered by cron_schedule.", + "description": "Output only. Records of the 10 most recent scheduled release attempts, ordered in descending order of `release_time`. Updated whenever automatic creation of a compilation result is triggered by cron_schedule.", "items": { "$ref": "ScheduledReleaseRecord" }, @@ -3840,7 +3587,7 @@ "description": "Optional. If set, configures this repository to be linked to a Git remote." }, "kmsKeyName": { - "description": "Optional. The reference to a KMS encryption key. If provided, it will be used to encrypt user data in the repository and all child resources. It is not possible to add or update the encryption key after the repository is created. Example: `projects/[kms_project_id]/locations/[region]/keyRings/[key_region]/cryptoKeys/[key]`", + "description": "Optional. The reference to a KMS encryption key. If provided, it will be used to encrypt user data in the repository and all child resources. It is not possible to add or update the encryption key after the repository is created. Example: `projects/{kms_project}/locations/{location}/keyRings/{key_location}/cryptoKeys/{key}`", "type": "string" }, "labels": { @@ -4116,7 +3863,7 @@ "type": "string" }, "recentScheduledExecutionRecords": { - "description": "Output only. Records of the 10 most recent scheduled execution attempts, ordered in in descending order of `execution_time`. Updated whenever automatic creation of a workflow invocation is triggered by cron_schedule.", + "description": "Output only. Records of the 10 most recent scheduled execution attempts, ordered in descending order of `execution_time`. Updated whenever automatic creation of a workflow invocation is triggered by cron_schedule.", "items": { "$ref": "ScheduledExecutionRecord" }, @@ -4264,6 +4011,12 @@ "description": "Represents a Dataform Git workspace.", "id": "Workspace", "properties": { + "createTime": { + "description": "Output only. The timestamp of when the workspace was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, "dataEncryptionState": { "$ref": "DataEncryptionState", "description": "Output only. A data encryption state of a Git repository if this Workspace is protected by a KMS key.", diff --git a/discovery/datafusion-v1.json b/discovery/datafusion-v1.json index 60f9cef658..d0a6ffb8d4 100644 --- a/discovery/datafusion-v1.json +++ b/discovery/datafusion-v1.json @@ -562,7 +562,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "datafusion.projects.locations.operations.cancel", @@ -732,7 +732,7 @@ } } }, - "revision": "20240703", + "revision": "20241204", "rootUrl": "https://datafusion.googleapis.com/", "schemas": { "Accelerator": { @@ -777,38 +777,6 @@ }, "type": "object" }, - "AssetLocation": { - "description": "Provides the mapping of a cloud asset to a direct physical location or to a proxy that defines the location on its behalf.", - "id": "AssetLocation", - "properties": { - "expected": { - "$ref": "IsolationExpectations", - "description": "Defines the customer expectation around ZI/ZS for this asset and ZI/ZS state of the region at the time of asset creation." - }, - "extraParameters": { - "description": "Defines extra parameters required for specific asset types.", - "items": { - "$ref": "ExtraParameter" - }, - "type": "array" - }, - "locationData": { - "description": "Contains all kinds of physical location definitions for this asset.", - "items": { - "$ref": "LocationData" - }, - "type": "array" - }, - "parentAsset": { - "description": "Defines parents assets if any in order to allow later generation of child_asset_location data via child assets.", - "items": { - "$ref": "CloudAsset" - }, - "type": "array" - } - }, - "type": "object" - }, "AuditConfig": { "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", "id": "AuditConfig", @@ -879,72 +847,23 @@ }, "type": "object" }, - "BlobstoreLocation": { - "description": "Policy ID that identified data placement in Blobstore as per go/blobstore-user-guide#data-metadata-placement-and-failure-domains", - "id": "BlobstoreLocation", - "properties": { - "policyId": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", "properties": {}, "type": "object" }, - "CloudAsset": { - "id": "CloudAsset", - "properties": { - "assetName": { - "type": "string" - }, - "assetType": { - "type": "string" - } - }, - "type": "object" - }, - "CloudAssetComposition": { - "id": "CloudAssetComposition", - "properties": { - "childAsset": { - "items": { - "$ref": "CloudAsset" - }, - "type": "array" - } - }, - "type": "object" - }, "CryptoKeyConfig": { "description": "The crypto key configuration. This field is used by the Customer-managed encryption keys (CMEK) feature.", "id": "CryptoKeyConfig", "properties": { "keyReference": { - "description": "The name of the key which is used to encrypt/decrypt customer data. For key in Cloud KMS, the key should be in the format of `projects/*/locations/*/keyRings/*/cryptoKeys/*`.", + "description": "Optional. The name of the key which is used to encrypt/decrypt customer data. For key in Cloud KMS, the key should be in the format of `projects/*/locations/*/keyRings/*/cryptoKeys/*`.", "type": "string" } }, "type": "object" }, - "DirectLocationAssignment": { - "id": "DirectLocationAssignment", - "properties": { - "location": { - "items": { - "$ref": "LocationAssignment" - }, - "type": "array" - } - }, - "type": "object" - }, "DnsPeering": { "description": "DNS peering configuration. These configurations are used to create DNS peering with the customer Cloud DNS.", "id": "DnsPeering", @@ -958,7 +877,7 @@ "type": "string" }, "name": { - "description": "Required. The resource name of the dns peering zone. Format: projects/{project}/locations/{location}/instances/{instance}/dnsPeerings/{dns_peering}", + "description": "Identifier. The resource name of the dns peering zone. Format: projects/{project}/locations/{location}/instances/{instance}/dnsPeerings/{dns_peering}", "type": "string" }, "targetNetwork": { @@ -1016,17 +935,6 @@ }, "type": "object" }, - "ExtraParameter": { - "description": "Defines parameters that should only be used for specific asset types.", - "id": "ExtraParameter", - "properties": { - "regionalMigDistributionPolicy": { - "$ref": "RegionalMigDistributionPolicy", - "description": "Details about zones used by regional compute.googleapis.com/InstanceGroupManager to create instances." - } - }, - "type": "object" - }, "Instance": { "description": "Represents a Data Fusion instance.", "id": "Instance", @@ -1060,18 +968,18 @@ }, "cryptoKeyConfig": { "$ref": "CryptoKeyConfig", - "description": "The crypto key configuration. This field is used by the Customer-Managed Encryption Keys (CMEK) feature." + "description": "Optional. The crypto key configuration. This field is used by the Customer-Managed Encryption Keys (CMEK) feature." }, "dataplexDataLineageIntegrationEnabled": { "description": "Optional. Option to enable the Dataplex Lineage Integration feature.", "type": "boolean" }, "dataprocServiceAccount": { - "description": "User-managed service account to set on Dataproc when Cloud Data Fusion creates Dataproc to run data processing pipelines. This allows users to have fine-grained access control on Dataproc's accesses to cloud resources.", + "description": "Optional. User-managed service account to set on Dataproc when Cloud Data Fusion creates Dataproc to run data processing pipelines. This allows users to have fine-grained access control on Dataproc's accesses to cloud resources.", "type": "string" }, "description": { - "description": "A description of this instance.", + "description": "Optional. A description of this instance.", "type": "string" }, "disabledReason": { @@ -1091,28 +999,29 @@ "type": "array" }, "displayName": { - "description": "Display name for an instance.", + "description": "Optional. Display name for an instance.", "type": "string" }, "enableRbac": { - "description": "Option to enable granular role-based access control.", + "description": "Optional. Option to enable granular role-based access control.", "type": "boolean" }, "enableStackdriverLogging": { - "description": "Option to enable Stackdriver Logging.", + "description": "Optional. Option to enable Stackdriver Logging.", "type": "boolean" }, "enableStackdriverMonitoring": { - "description": "Option to enable Stackdriver Monitoring.", + "description": "Optional. Option to enable Stackdriver Monitoring.", "type": "boolean" }, "enableZoneSeparation": { - "description": "Option to enable granular zone separation.", + "description": "Output only. Option to enable granular zone separation.", + "readOnly": true, "type": "boolean" }, "eventPublishConfig": { "$ref": "EventPublishConfig", - "description": "Option to enable and pass metadata for event publishing." + "description": "Optional. Option to enable and pass metadata for event publishing." }, "gcsBucket": { "description": "Output only. Cloud Storage bucket generated by Data Fusion in the customer project.", @@ -1137,7 +1046,7 @@ }, "networkConfig": { "$ref": "NetworkConfig", - "description": "Network configuration options. These are required when a private Data Fusion instance is to be created." + "description": "Optional. Network configuration options. These are required when a private Data Fusion instance is to be created." }, "options": { "additionalProperties": { @@ -1156,7 +1065,7 @@ "type": "string" }, "privateInstance": { - "description": "Specifies whether the Data Fusion instance should be private. If set to true, all Data Fusion nodes will have private IP addresses and will not be able to access the public internet.", + "description": "Optional. Specifies whether the Data Fusion instance should be private. If set to true, all Data Fusion nodes will have private IP addresses and will not be able to access the public internet.", "type": "boolean" }, "satisfiesPzs": { @@ -1239,7 +1148,7 @@ "type": "string" }, "version": { - "description": "Current version of the Data Fusion. Only specifiable in Update.", + "description": "Optional. Current version of the Data Fusion. Only specifiable in Update.", "type": "string" }, "workforceIdentityServiceEndpoint": { @@ -1248,128 +1157,7 @@ "type": "string" }, "zone": { - "description": "Name of the zone in which the Data Fusion instance will be created. Only DEVELOPER instances use this field.", - "type": "string" - } - }, - "type": "object" - }, - "IsolationExpectations": { - "id": "IsolationExpectations", - "properties": { - "ziOrgPolicy": { - "enum": [ - "ZI_UNSPECIFIED", - "ZI_UNKNOWN", - "ZI_NOT_REQUIRED", - "ZI_PREFERRED", - "ZI_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "ziRegionPolicy": { - "enum": [ - "ZI_REGION_POLICY_UNSPECIFIED", - "ZI_REGION_POLICY_UNKNOWN", - "ZI_REGION_POLICY_NOT_SET", - "ZI_REGION_POLICY_FAIL_OPEN", - "ZI_REGION_POLICY_FAIL_CLOSED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "ziRegionState": { - "enum": [ - "ZI_REGION_UNSPECIFIED", - "ZI_REGION_UNKNOWN", - "ZI_REGION_NOT_ENABLED", - "ZI_REGION_ENABLED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - }, - "zoneIsolation": { - "deprecated": true, - "description": "Deprecated: use zi_org_policy, zi_region_policy and zi_region_state instead for setting ZI expectations as per go/zicy-publish-physical-location.", - "enum": [ - "ZI_UNSPECIFIED", - "ZI_UNKNOWN", - "ZI_NOT_REQUIRED", - "ZI_PREFERRED", - "ZI_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "zoneSeparation": { - "deprecated": true, - "description": "Deprecated: use zs_org_policy, and zs_region_stateinstead for setting Zs expectations as per go/zicy-publish-physical-location.", - "enum": [ - "ZS_UNSPECIFIED", - "ZS_UNKNOWN", - "ZS_NOT_REQUIRED", - "ZS_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - }, - "zsOrgPolicy": { - "enum": [ - "ZS_UNSPECIFIED", - "ZS_UNKNOWN", - "ZS_NOT_REQUIRED", - "ZS_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - }, - "zsRegionState": { - "enum": [ - "ZS_REGION_UNSPECIFIED", - "ZS_REGION_UNKNOWN", - "ZS_REGION_NOT_ENABLED", - "ZS_REGION_ENABLED" - ], - "enumDescriptions": [ - "", - "To be used if tracking of the asset ZS-bit is not available", - "", - "" - ], + "description": "Optional. Name of the zone in which the Data Fusion instance will be created. Only DEVELOPER instances use this field.", "type": "string" } }, @@ -1380,7 +1168,8 @@ "id": "ListAvailableVersionsResponse", "properties": { "availableVersions": { - "description": "Represents a list of versions that are supported.", + "deprecated": true, + "description": "Represents a list of versions that are supported. Deprecated: Use versions field instead.", "items": { "$ref": "Version" }, @@ -1389,6 +1178,13 @@ "nextPageToken": { "description": "Token to retrieve the next page of results or empty if there are no more results in the list.", "type": "string" + }, + "versions": { + "description": "Represents a list of all versions.", + "items": { + "$ref": "Version" + }, + "type": "array" } }, "type": "object" @@ -1506,64 +1302,6 @@ }, "type": "object" }, - "LocationAssignment": { - "id": "LocationAssignment", - "properties": { - "location": { - "type": "string" - }, - "locationType": { - "enum": [ - "UNSPECIFIED", - "CLUSTER", - "POP", - "CLOUD_ZONE", - "CLOUD_REGION", - "MULTI_REGION_GEO", - "MULTI_REGION_JURISDICTION", - "GLOBAL", - "OTHER" - ], - "enumDescriptions": [ - "", - "1-10: Physical failure domains.", - "", - "11-20: Logical failure domains.", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "LocationData": { - "id": "LocationData", - "properties": { - "blobstoreLocation": { - "$ref": "BlobstoreLocation" - }, - "childAssetLocation": { - "$ref": "CloudAssetComposition" - }, - "directLocation": { - "$ref": "DirectLocationAssignment" - }, - "gcpProjectProxy": { - "$ref": "TenantProjectProxy" - }, - "placerLocation": { - "$ref": "PlacerLocation" - }, - "spannerLocation": { - "$ref": "SpannerLocation" - } - }, - "type": "object" - }, "MaintenancePolicy": { "description": "Maintenance policy of the instance.", "id": "MaintenancePolicy", @@ -1702,17 +1440,6 @@ }, "type": "object" }, - "PlacerLocation": { - "description": "Message describing that the location of the customer resource is tied to placer allocations", - "id": "PlacerLocation", - "properties": { - "placerConfig": { - "description": "Directory with a config related to it in placer (e.g. \"/placer/prod/home/my-root/my-dir\")", - "type": "string" - } - }, - "type": "object" - }, "Policy": { "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", @@ -1779,25 +1506,6 @@ }, "type": "object" }, - "RegionalMigDistributionPolicy": { - "description": "To be used for specifying the intended distribution of regional compute.googleapis.com/InstanceGroupManager instances", - "id": "RegionalMigDistributionPolicy", - "properties": { - "targetShape": { - "description": "The shape in which the group converges around distribution of resources. Instance of proto2 enum", - "format": "int32", - "type": "integer" - }, - "zones": { - "description": "Cloud zones used by regional MIG to create instances.", - "items": { - "$ref": "ZoneConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, "RestartInstanceRequest": { "description": "Request message for restarting a Data Fusion instance.", "id": "RestartInstanceRequest", @@ -1820,26 +1528,6 @@ }, "type": "object" }, - "SpannerLocation": { - "id": "SpannerLocation", - "properties": { - "backupName": { - "description": "Set of backups used by the resource with name in the same format as what is available at http://table/spanner_automon.backup_metadata", - "items": { - "type": "string" - }, - "type": "array" - }, - "dbName": { - "description": "Set of databases used by the resource in format /span//", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "Status": { "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", "id": "Status", @@ -1867,18 +1555,6 @@ }, "type": "object" }, - "TenantProjectProxy": { - "id": "TenantProjectProxy", - "properties": { - "projectNumbers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "TestIamPermissionsRequest": { "description": "Request message for `TestIamPermissions` method.", "id": "TestIamPermissionsRequest", @@ -1944,12 +1620,14 @@ "enum": [ "TYPE_UNSPECIFIED", "TYPE_PREVIEW", - "TYPE_GENERAL_AVAILABILITY" + "TYPE_GENERAL_AVAILABILITY", + "TYPE_DEPRECATED" ], "enumDescriptions": [ "Version does not have availability yet", "Version is under development and not considered stable", - "Version is available for public use" + "Version is available for public use", + "Version is no longer supported." ], "type": "string" }, @@ -1959,15 +1637,6 @@ } }, "type": "object" - }, - "ZoneConfiguration": { - "id": "ZoneConfiguration", - "properties": { - "zone": { - "type": "string" - } - }, - "type": "object" } }, "servicePath": "", diff --git a/discovery/datafusion-v1beta1.json b/discovery/datafusion-v1beta1.json index 81790755b1..23a2673283 100644 --- a/discovery/datafusion-v1beta1.json +++ b/discovery/datafusion-v1beta1.json @@ -760,7 +760,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "datafusion.projects.locations.operations.cancel", @@ -930,7 +930,7 @@ } } }, - "revision": "20240703", + "revision": "20241204", "rootUrl": "https://datafusion.googleapis.com/", "schemas": { "Accelerator": { @@ -975,38 +975,6 @@ }, "type": "object" }, - "AssetLocation": { - "description": "Provides the mapping of a cloud asset to a direct physical location or to a proxy that defines the location on its behalf.", - "id": "AssetLocation", - "properties": { - "expected": { - "$ref": "IsolationExpectations", - "description": "Defines the customer expectation around ZI/ZS for this asset and ZI/ZS state of the region at the time of asset creation." - }, - "extraParameters": { - "description": "Defines extra parameters required for specific asset types.", - "items": { - "$ref": "ExtraParameter" - }, - "type": "array" - }, - "locationData": { - "description": "Contains all kinds of physical location definitions for this asset.", - "items": { - "$ref": "LocationData" - }, - "type": "array" - }, - "parentAsset": { - "description": "Defines parents assets if any in order to allow later generation of child_asset_location data via child assets.", - "items": { - "$ref": "CloudAsset" - }, - "type": "array" - } - }, - "type": "object" - }, "AuditConfig": { "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", "id": "AuditConfig", @@ -1077,49 +1045,12 @@ }, "type": "object" }, - "BlobstoreLocation": { - "description": "Policy ID that identified data placement in Blobstore as per go/blobstore-user-guide#data-metadata-placement-and-failure-domains", - "id": "BlobstoreLocation", - "properties": { - "policyId": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", "properties": {}, "type": "object" }, - "CloudAsset": { - "id": "CloudAsset", - "properties": { - "assetName": { - "type": "string" - }, - "assetType": { - "type": "string" - } - }, - "type": "object" - }, - "CloudAssetComposition": { - "id": "CloudAssetComposition", - "properties": { - "childAsset": { - "items": { - "$ref": "CloudAsset" - }, - "type": "array" - } - }, - "type": "object" - }, "CryptoKeyConfig": { "description": "The crypto key configuration. This field is used by the Customer-managed encryption keys (CMEK) feature.", "id": "CryptoKeyConfig", @@ -1131,18 +1062,6 @@ }, "type": "object" }, - "DirectLocationAssignment": { - "id": "DirectLocationAssignment", - "properties": { - "location": { - "items": { - "$ref": "LocationAssignment" - }, - "type": "array" - } - }, - "type": "object" - }, "DnsPeering": { "description": "DNS peering configuration. These configurations are used to create DNS peering with the customer Cloud DNS.", "id": "DnsPeering", @@ -1214,17 +1133,6 @@ }, "type": "object" }, - "ExtraParameter": { - "description": "Defines parameters that should only be used for specific asset types.", - "id": "ExtraParameter", - "properties": { - "regionalMigDistributionPolicy": { - "$ref": "RegionalMigDistributionPolicy", - "description": "Details about zones used by regional compute.googleapis.com/InstanceGroupManager to create instances." - } - }, - "type": "object" - }, "IAMPolicy": { "description": "IAMPolicy encapsulates the IAM policy name, definition and status of policy fetching.", "id": "IAMPolicy", @@ -1467,133 +1375,13 @@ }, "type": "object" }, - "IsolationExpectations": { - "id": "IsolationExpectations", - "properties": { - "ziOrgPolicy": { - "enum": [ - "ZI_UNSPECIFIED", - "ZI_UNKNOWN", - "ZI_NOT_REQUIRED", - "ZI_PREFERRED", - "ZI_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "ziRegionPolicy": { - "enum": [ - "ZI_REGION_POLICY_UNSPECIFIED", - "ZI_REGION_POLICY_UNKNOWN", - "ZI_REGION_POLICY_NOT_SET", - "ZI_REGION_POLICY_FAIL_OPEN", - "ZI_REGION_POLICY_FAIL_CLOSED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "ziRegionState": { - "enum": [ - "ZI_REGION_UNSPECIFIED", - "ZI_REGION_UNKNOWN", - "ZI_REGION_NOT_ENABLED", - "ZI_REGION_ENABLED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - }, - "zoneIsolation": { - "deprecated": true, - "description": "Deprecated: use zi_org_policy, zi_region_policy and zi_region_state instead for setting ZI expectations as per go/zicy-publish-physical-location.", - "enum": [ - "ZI_UNSPECIFIED", - "ZI_UNKNOWN", - "ZI_NOT_REQUIRED", - "ZI_PREFERRED", - "ZI_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "zoneSeparation": { - "deprecated": true, - "description": "Deprecated: use zs_org_policy, and zs_region_stateinstead for setting Zs expectations as per go/zicy-publish-physical-location.", - "enum": [ - "ZS_UNSPECIFIED", - "ZS_UNKNOWN", - "ZS_NOT_REQUIRED", - "ZS_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - }, - "zsOrgPolicy": { - "enum": [ - "ZS_UNSPECIFIED", - "ZS_UNKNOWN", - "ZS_NOT_REQUIRED", - "ZS_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - }, - "zsRegionState": { - "enum": [ - "ZS_REGION_UNSPECIFIED", - "ZS_REGION_UNKNOWN", - "ZS_REGION_NOT_ENABLED", - "ZS_REGION_ENABLED" - ], - "enumDescriptions": [ - "", - "To be used if tracking of the asset ZS-bit is not available", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, "ListAvailableVersionsResponse": { "description": "Response message for the list available versions request.", "id": "ListAvailableVersionsResponse", "properties": { "availableVersions": { - "description": "Represents a list of versions that are supported.", + "deprecated": true, + "description": "Represents a list of versions that are supported. Deprecated: Use versions field instead.", "items": { "$ref": "Version" }, @@ -1602,6 +1390,13 @@ "nextPageToken": { "description": "Token to retrieve the next page of results or empty if there are no more results in the list.", "type": "string" + }, + "versions": { + "description": "Represents a list of all versions.", + "items": { + "$ref": "Version" + }, + "type": "array" } }, "type": "object" @@ -1737,64 +1532,6 @@ }, "type": "object" }, - "LocationAssignment": { - "id": "LocationAssignment", - "properties": { - "location": { - "type": "string" - }, - "locationType": { - "enum": [ - "UNSPECIFIED", - "CLUSTER", - "POP", - "CLOUD_ZONE", - "CLOUD_REGION", - "MULTI_REGION_GEO", - "MULTI_REGION_JURISDICTION", - "GLOBAL", - "OTHER" - ], - "enumDescriptions": [ - "", - "1-10: Physical failure domains.", - "", - "11-20: Logical failure domains.", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "LocationData": { - "id": "LocationData", - "properties": { - "blobstoreLocation": { - "$ref": "BlobstoreLocation" - }, - "childAssetLocation": { - "$ref": "CloudAssetComposition" - }, - "directLocation": { - "$ref": "DirectLocationAssignment" - }, - "gcpProjectProxy": { - "$ref": "TenantProjectProxy" - }, - "placerLocation": { - "$ref": "PlacerLocation" - }, - "spannerLocation": { - "$ref": "SpannerLocation" - } - }, - "type": "object" - }, "MaintenancePolicy": { "description": "Maintenance policy of the instance.", "id": "MaintenancePolicy", @@ -1948,17 +1685,6 @@ }, "type": "object" }, - "PlacerLocation": { - "description": "Message describing that the location of the customer resource is tied to placer allocations", - "id": "PlacerLocation", - "properties": { - "placerConfig": { - "description": "Directory with a config related to it in placer (e.g. \"/placer/prod/home/my-root/my-dir\")", - "type": "string" - } - }, - "type": "object" - }, "Policy": { "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", @@ -2025,25 +1751,6 @@ }, "type": "object" }, - "RegionalMigDistributionPolicy": { - "description": "To be used for specifying the intended distribution of regional compute.googleapis.com/InstanceGroupManager instances", - "id": "RegionalMigDistributionPolicy", - "properties": { - "targetShape": { - "description": "The shape in which the group converges around distribution of resources. Instance of proto2 enum", - "format": "int32", - "type": "integer" - }, - "zones": { - "description": "Cloud zones used by regional MIG to create instances.", - "items": { - "$ref": "ZoneConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, "RemoveIamPolicyRequest": { "description": "Request message for RemoveIamPolicy method.", "id": "RemoveIamPolicyRequest", @@ -2078,26 +1785,6 @@ }, "type": "object" }, - "SpannerLocation": { - "id": "SpannerLocation", - "properties": { - "backupName": { - "description": "Set of backups used by the resource with name in the same format as what is available at http://table/spanner_automon.backup_metadata", - "items": { - "type": "string" - }, - "type": "array" - }, - "dbName": { - "description": "Set of databases used by the resource in format /span//", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "Status": { "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", "id": "Status", @@ -2125,18 +1812,6 @@ }, "type": "object" }, - "TenantProjectProxy": { - "id": "TenantProjectProxy", - "properties": { - "projectNumbers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "TestIamPermissionsRequest": { "description": "Request message for `TestIamPermissions` method.", "id": "TestIamPermissionsRequest", @@ -2208,12 +1883,14 @@ "enum": [ "TYPE_UNSPECIFIED", "TYPE_PREVIEW", - "TYPE_GENERAL_AVAILABILITY" + "TYPE_GENERAL_AVAILABILITY", + "TYPE_DEPRECATED" ], "enumDescriptions": [ "Version does not have availability yet", "Version is under development and not considered stable", - "Version is available for public use Version is under development and not considered stable" + "Version is available for public use", + "Version is no longer supported." ], "type": "string" }, @@ -2223,15 +1900,6 @@ } }, "type": "object" - }, - "ZoneConfiguration": { - "id": "ZoneConfiguration", - "properties": { - "zone": { - "type": "string" - } - }, - "type": "object" } }, "servicePath": "", diff --git a/discovery/datalabeling-v1beta1.json b/discovery/datalabeling-v1beta1.json index 0f1cc53620..98eee84045 100644 --- a/discovery/datalabeling-v1beta1.json +++ b/discovery/datalabeling-v1beta1.json @@ -1476,7 +1476,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/operations/{operationsId}:cancel", "httpMethod": "GET", "id": "datalabeling.projects.operations.cancel", @@ -1596,7 +1596,7 @@ } } }, - "revision": "20231001", + "revision": "20241117", "rootUrl": "https://datalabeling.googleapis.com/", "schemas": { "GoogleCloudDatalabelingV1alpha1CreateInstructionMetadata": { diff --git a/discovery/datalineage-v1.json b/discovery/datalineage-v1.json index 8f1a57263e..ff62b2b15e 100644 --- a/discovery/datalineage-v1.json +++ b/discovery/datalineage-v1.json @@ -15,6 +15,243 @@ "description": "", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/data-catalog", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.africa-south1.rep.googleapis.com/", + "location": "africa-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.asia-east1.rep.googleapis.com/", + "location": "asia-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.asia-east2.rep.googleapis.com/", + "location": "asia-east2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.asia-northeast1.rep.googleapis.com/", + "location": "asia-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.asia-northeast2.rep.googleapis.com/", + "location": "asia-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.asia-northeast3.rep.googleapis.com/", + "location": "asia-northeast3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.asia-south1.rep.googleapis.com/", + "location": "asia-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.asia-south2.rep.googleapis.com/", + "location": "asia-south2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.asia-southeast1.rep.googleapis.com/", + "location": "asia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.asia-southeast2.rep.googleapis.com/", + "location": "asia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.australia-southeast1.rep.googleapis.com/", + "location": "australia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.australia-southeast2.rep.googleapis.com/", + "location": "australia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.europe-central2.rep.googleapis.com/", + "location": "europe-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.europe-north1.rep.googleapis.com/", + "location": "europe-north1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.europe-north2.rep.googleapis.com/", + "location": "europe-north2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.europe-southwest1.rep.googleapis.com/", + "location": "europe-southwest1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.europe-west1.rep.googleapis.com/", + "location": "europe-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.europe-west10.rep.googleapis.com/", + "location": "europe-west10" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.europe-west12.rep.googleapis.com/", + "location": "europe-west12" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.europe-west2.rep.googleapis.com/", + "location": "europe-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.europe-west3.rep.googleapis.com/", + "location": "europe-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.europe-west4.rep.googleapis.com/", + "location": "europe-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.europe-west6.rep.googleapis.com/", + "location": "europe-west6" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.europe-west8.rep.googleapis.com/", + "location": "europe-west8" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.europe-west9.rep.googleapis.com/", + "location": "europe-west9" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.me-central1.rep.googleapis.com/", + "location": "me-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.me-central2.rep.googleapis.com/", + "location": "me-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.me-west1.rep.googleapis.com/", + "location": "me-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.northamerica-northeast1.rep.googleapis.com/", + "location": "northamerica-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.northamerica-northeast2.rep.googleapis.com/", + "location": "northamerica-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.northamerica-south1.rep.googleapis.com/", + "location": "northamerica-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.southamerica-east1.rep.googleapis.com/", + "location": "southamerica-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.southamerica-west1.rep.googleapis.com/", + "location": "southamerica-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.us-central2.rep.googleapis.com/", + "location": "us-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.us-east1.rep.googleapis.com/", + "location": "us-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.us-east4.rep.googleapis.com/", + "location": "us-east4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.us-east5.rep.googleapis.com/", + "location": "us-east5" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.us-east7.rep.googleapis.com/", + "location": "us-east7" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.us-south1.rep.googleapis.com/", + "location": "us-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.us-west1.rep.googleapis.com/", + "location": "us-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.us-west2.rep.googleapis.com/", + "location": "us-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.us-west3.rep.googleapis.com/", + "location": "us-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.us-west4.rep.googleapis.com/", + "location": "us-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.us-west8.rep.googleapis.com/", + "location": "us-west8" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.us.rep.googleapis.com/", + "location": "us" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://datalineage.eu.rep.googleapis.com/", + "location": "eu" + } + ], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -207,7 +444,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "datalineage.projects.locations.operations.cancel", @@ -798,7 +1035,7 @@ } } }, - "revision": "20240902", + "revision": "20241202", "rootUrl": "https://datalineage.googleapis.com/", "schemas": { "GoogleCloudDatacatalogLineageV1BatchSearchLinkProcessesRequest": { @@ -1052,7 +1289,7 @@ "type": "string" }, "sourceType": { - "description": "Type of the source. Use of a source_type other than `CUSTOM` for process creation or updating is highly discouraged, and may be restricted in the future without notice.", + "description": "Type of the source. Use of a source_type other than `CUSTOM` for process creation or updating is highly discouraged. It might be restricted in the future without notice. There will be increase in cost if you use any of the source types other than `CUSTOM`.", "enum": [ "SOURCE_TYPE_UNSPECIFIED", "CUSTOM", diff --git a/discovery/datamigration-v1.json b/discovery/datamigration-v1.json index 5a05010a0e..e1175d8930 100644 --- a/discovery/datamigration-v1.json +++ b/discovery/datamigration-v1.json @@ -1339,6 +1339,31 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "fetchSourceObjects": { + "description": "Retrieves objects from the source database that can be selected for data migration. This is applicable for the following migrations: 1. PostgreSQL to Cloud SQL for PostgreSQL 2. PostgreSQL to AlloyDB for PostgreSQL.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/migrationJobs/{migrationJobsId}:fetchSourceObjects", + "httpMethod": "GET", + "id": "datamigration.projects.locations.migrationJobs.fetchSourceObjects", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name for the migration job for which source objects should be returned.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/migrationJobs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:fetchSourceObjects", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "generateSshScript": { "description": "Generate a SSH configuration script to configure the reverse SSH connectivity.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/migrationJobs/{migrationJobsId}:generateSshScript", @@ -1764,6 +1789,31 @@ "resources": { "objects": { "methods": { + "get": { + "description": "Use this method to get details about a migration job object.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/migrationJobs/{migrationJobsId}/objects/{objectsId}", + "httpMethod": "GET", + "id": "datamigration.projects.locations.migrationJobs.objects.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the migration job object resource to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/migrationJobs/[^/]+/objects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "MigrationJobObject" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "getIamPolicy": { "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/migrationJobs/{migrationJobsId}/objects/{objectsId}:getIamPolicy", @@ -1795,6 +1845,70 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "list": { + "description": "Use this method to list the objects of a specific migration job.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/migrationJobs/{migrationJobsId}/objects", + "httpMethod": "GET", + "id": "datamigration.projects.locations.migrationJobs.objects.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of objects to return. Default is 50. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Page token received from a previous `ListMigrationJObObjectsRequest` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMigrationJobObjectsRequest` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent migration job that owns the collection of objects.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/migrationJobs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/objects", + "response": { + "$ref": "ListMigrationJobObjectsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "lookup": { + "description": "Use this method to look up a migration job object by its source object identifier.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/migrationJobs/{migrationJobsId}/objects:lookup", + "httpMethod": "POST", + "id": "datamigration.projects.locations.migrationJobs.objects.lookup", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent migration job that owns the collection of objects.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/migrationJobs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/objects:lookup", + "request": { + "$ref": "LookupMigrationJobObjectRequest" + }, + "response": { + "$ref": "MigrationJobObject" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "setIamPolicy": { "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/migrationJobs/{migrationJobsId}/objects/{objectsId}:setIamPolicy", @@ -1858,7 +1972,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "datamigration.projects.locations.operations.cancel", @@ -2218,7 +2332,7 @@ } } }, - "revision": "20240930", + "revision": "20241231", "rootUrl": "https://datamigration.googleapis.com/", "schemas": { "AlloyDbConnectionProfile": { @@ -2941,17 +3055,43 @@ "CLOUDSQL", "RDS", "AURORA", - "ALLOYDB" + "ALLOYDB", + "AZURE_DATABASE" ], "enumDescriptions": [ "Use this value for on-premise source database instances and ORACLE.", "Cloud SQL is the source instance provider.", "Amazon RDS is the source instance provider.", "Amazon Aurora is the source instance provider.", - "AlloyDB for PostgreSQL is the source instance provider." + "AlloyDB for PostgreSQL is the source instance provider.", + "Microsoft Azure Database for MySQL/PostgreSQL." + ], + "type": "string" + }, + "role": { + "description": "Optional. The connection profile role.", + "enum": [ + "ROLE_UNSPECIFIED", + "SOURCE", + "DESTINATION" + ], + "enumDescriptions": [ + "The role is unspecified.", + "The role is source.", + "The role is destination." ], "type": "string" }, + "satisfiesPzi": { + "description": "Output only. Zone Isolation compliance state of the resource.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzs": { + "description": "Output only. Zone Separation compliance state of the resource.", + "readOnly": true, + "type": "boolean" + }, "sqlserver": { "$ref": "SqlServerConnectionProfile", "description": "Connection profile for a SQL Server data source." @@ -3369,14 +3509,16 @@ "CLOUDSQL", "RDS", "AURORA", - "ALLOYDB" + "ALLOYDB", + "AZURE_DATABASE" ], "enumDescriptions": [ "Use this value for on-premise source database instances and ORACLE.", "Cloud SQL is the source instance provider.", "Amazon RDS is the source instance provider.", "Amazon Aurora is the source instance provider.", - "AlloyDB for PostgreSQL is the source instance provider." + "AlloyDB for PostgreSQL is the source instance provider.", + "Microsoft Azure Database for MySQL/PostgreSQL." ], "type": "string" } @@ -3972,7 +4114,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -4235,6 +4377,24 @@ }, "type": "object" }, + "ListMigrationJobObjectsResponse": { + "description": "Response containing the objects for a migration job.", + "id": "ListMigrationJobObjectsResponse", + "properties": { + "migrationJobObjects": { + "description": "List of migration job objects.", + "items": { + "$ref": "MigrationJobObject" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page.", + "type": "string" + } + }, + "type": "object" + }, "ListMigrationJobsResponse": { "description": "Response message for 'ListMigrationJobs' request.", "id": "ListMigrationJobsResponse", @@ -4358,6 +4518,17 @@ "properties": {}, "type": "object" }, + "LookupMigrationJobObjectRequest": { + "description": "Request for looking up a specific migration job object by its source object identifier.", + "id": "LookupMigrationJobObjectRequest", + "properties": { + "sourceObjectIdentifier": { + "$ref": "SourceObjectIdentifier", + "description": "Required. The source object identifier which maps to the migration job object." + } + }, + "type": "object" + }, "MachineConfig": { "description": "MachineConfig describes the configuration of a machine.", "id": "MachineConfig", @@ -4547,6 +4718,13 @@ "description": "Custom engine specific features.", "type": "object" }, + "indices": { + "description": "View indices.", + "items": { + "$ref": "IndexEntity" + }, + "type": "array" + }, "sqlCode": { "description": "The SQL code which creates the view.", "type": "string" @@ -4638,6 +4816,10 @@ "description": "The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/migrationJobs/{migrationJob}.", "type": "string" }, + "objectsConfig": { + "$ref": "MigrationJobObjectsConfig", + "description": "Optional. The objects that need to be migrated." + }, "oracleToPostgresConfig": { "$ref": "OracleToPostgresConfig", "description": "Configuration for heterogeneous **Oracle to Cloud SQL for PostgreSQL** and **Oracle to AlloyDB for PostgreSQL** migrations." @@ -4673,6 +4855,16 @@ "$ref": "ReverseSshConnectivity", "description": "The details needed to communicate to the source over Reverse SSH tunnel connectivity." }, + "satisfiesPzi": { + "description": "Output only. Zone Isolation compliance state of the resource.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzs": { + "description": "Output only. Zone Separation compliance state of the resource.", + "readOnly": true, + "type": "boolean" + }, "source": { "description": "Required. The resource name (URI) of the source connection profile.", "type": "string" @@ -4756,6 +4948,100 @@ }, "type": "object" }, + "MigrationJobObject": { + "description": "A specific Migration Job Object (e.g. a specifc DB Table)", + "id": "MigrationJobObject", + "properties": { + "createTime": { + "description": "Output only. The creation time of the migration job object.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "error": { + "$ref": "Status", + "description": "Output only. The error details in case of failure.", + "readOnly": true + }, + "name": { + "description": "The object's name.", + "type": "string" + }, + "phase": { + "description": "Output only. The phase of the migration job object.", + "enum": [ + "PHASE_UNSPECIFIED", + "FULL_DUMP", + "CDC", + "READY_FOR_PROMOTE", + "PROMOTE_IN_PROGRESS", + "PROMOTED", + "DIFF_BACKUP" + ], + "enumDescriptions": [ + "The phase of the migration job is unknown.", + "The migration job object is in the full dump phase.", + "The migration job object is in CDC phase.", + "The migration job object is ready to be promoted.", + "The migration job object is in running the promote phase.", + "The migration job is promoted.", + "The migration job object is in the differential backup phase." + ], + "readOnly": true, + "type": "string" + }, + "sourceObject": { + "$ref": "SourceObjectIdentifier", + "description": "The object identifier in the data source." + }, + "state": { + "description": "The state of the migration job object.", + "enum": [ + "STATE_UNSPECIFIED", + "NOT_STARTED", + "RUNNING", + "STOPPING", + "STOPPED", + "RESTARTING", + "FAILED", + "REMOVING", + "NOT_SELECTED", + "COMPLETED" + ], + "enumDescriptions": [ + "The state of the migration job object is unknown.", + "The migration job object is not started.", + "The migration job object is running.", + "The migration job object is being stopped.", + "The migration job object is currently stopped.", + "The migration job object is restarting.", + "The migration job object failed.", + "The migration job object is deleting.", + "The migration job object is not selected for migration.", + "The migration job object is completed." + ], + "type": "string" + }, + "updateTime": { + "description": "Output only. The last update time of the migration job object.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "MigrationJobObjectsConfig": { + "description": "Configuration for the objects to be migrated.", + "id": "MigrationJobObjectsConfig", + "properties": { + "sourceObjectsConfig": { + "$ref": "SourceObjectsConfig", + "description": "The list of the migration job objects." + } + }, + "type": "object" + }, "MigrationJobVerificationError": { "description": "Error message of a verification Migration job.", "id": "MigrationJobVerificationError", @@ -5255,6 +5541,10 @@ "description": "If the source is a Cloud SQL database, use this field to provide the Cloud SQL instance ID of the source.", "type": "string" }, + "database": { + "description": "Optional. The name of the specific database within the host.", + "type": "string" + }, "host": { "description": "Required. The IP or hostname of the source PostgreSQL database.", "type": "string" @@ -5400,6 +5690,16 @@ "description": "The name of the resource.", "type": "string" }, + "satisfiesPzi": { + "description": "Output only. Zone Isolation compliance state of the resource.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzs": { + "description": "Output only. Zone Separation compliance state of the resource.", + "readOnly": true, + "type": "boolean" + }, "state": { "description": "Output only. The state of the private connection.", "enum": [ @@ -5461,13 +5761,26 @@ "PromoteMigrationJobRequest": { "description": "Request message for 'PromoteMigrationJob' request.", "id": "PromoteMigrationJobRequest", - "properties": {}, + "properties": { + "objectsFilter": { + "$ref": "MigrationJobObjectsConfig", + "description": "Optional. The object filter to apply to the migration job." + } + }, "type": "object" }, "RestartMigrationJobRequest": { "description": "Request message for 'RestartMigrationJob' request.", "id": "RestartMigrationJobRequest", "properties": { + "objectsFilter": { + "$ref": "MigrationJobObjectsConfig", + "description": "Optional. The object filter to apply to the migration job." + }, + "restartFailedObjects": { + "description": "Optional. If true, only failed objects will be restarted.", + "type": "boolean" + }, "skipValidation": { "description": "Optional. Restart the migration job without running prior configuration verification. Defaults to `false`.", "type": "boolean" @@ -5829,6 +6142,68 @@ }, "type": "object" }, + "SourceObjectConfig": { + "description": "Config for a single migration job object.", + "id": "SourceObjectConfig", + "properties": { + "objectIdentifier": { + "$ref": "SourceObjectIdentifier", + "description": "Optional. The object identifier." + } + }, + "type": "object" + }, + "SourceObjectIdentifier": { + "description": "An identifier for the Migration Job Object.", + "id": "SourceObjectIdentifier", + "properties": { + "database": { + "description": "Optional. The database name. This will be required only if the object uses a database name as part of its unique identifier.", + "type": "string" + }, + "type": { + "description": "Required. The type of the migration job object.", + "enum": [ + "MIGRATION_JOB_OBJECT_TYPE_UNSPECIFIED", + "DATABASE" + ], + "enumDescriptions": [ + "The type of the migration job object is unknown.", + "The migration job object is a database." + ], + "type": "string" + } + }, + "type": "object" + }, + "SourceObjectsConfig": { + "description": "List of configurations for the source objects to be migrated.", + "id": "SourceObjectsConfig", + "properties": { + "objectConfigs": { + "description": "Optional. The list of the objects to be migrated.", + "items": { + "$ref": "SourceObjectConfig" + }, + "type": "array" + }, + "objectsSelectionType": { + "description": "Optional. The objects selection type of the migration job.", + "enum": [ + "OBJECTS_SELECTION_TYPE_UNSPECIFIED", + "ALL_OBJECTS", + "SPECIFIED_OBJECTS" + ], + "enumDescriptions": [ + "The type of the objects selection is unknown, indicating that the migration job is at instance level.", + "Migrate all of the objects.", + "Migrate specific objects." + ], + "type": "string" + } + }, + "type": "object" + }, "SourceSqlChange": { "description": "Options to configure rule type SourceSqlChange. The rule is used to alter the sql code for database entities. The rule filter field can refer to one entity. The rule scope can be: StoredProcedure, Function, Trigger, View", "id": "SourceSqlChange", @@ -6004,15 +6379,15 @@ "id": "SqlServerEncryptionOptions", "properties": { "certPath": { - "description": "Required. Path to certificate.", + "description": "Required. Path to the Certificate (.cer) in Cloud Storage, in the form `gs://bucketName/fileName`. The instance must have write permissions to the bucket and read access to the file.", "type": "string" }, "pvkPassword": { - "description": "Required. Input only. Private key password.", + "description": "Required. Input only. Password that encrypts the private key.", "type": "string" }, "pvkPath": { - "description": "Required. Path to certificate private key.", + "description": "Required. Path to the Certificate Private Key (.pvk) in Cloud Storage, in the form `gs://bucketName/fileName`. The instance must have write permissions to the bucket and read access to the file.", "type": "string" } }, @@ -6072,18 +6447,21 @@ "type": "string" }, "type": { - "description": "Output only. The ssl config type according to 'client_key', 'client_certificate' and 'ca_certificate'.", + "description": "Optional. The ssl config type according to 'client_key', 'client_certificate' and 'ca_certificate'.", "enum": [ "SSL_TYPE_UNSPECIFIED", "SERVER_ONLY", - "SERVER_CLIENT" + "SERVER_CLIENT", + "REQUIRED", + "NONE" ], "enumDescriptions": [ "Unspecified.", "Only 'ca_certificate' specified.", - "Both server ('ca_certificate'), and client ('client_key', 'client_certificate') specified." + "Both server ('ca_certificate'), and client ('client_key', 'client_certificate') specified.", + "Mandates SSL encryption for all connections. This doesn’t require certificate verification.", + "Connection is not encrypted." ], - "readOnly": true, "type": "string" } }, diff --git a/discovery/datamigration-v1beta1.json b/discovery/datamigration-v1beta1.json index 4b719a3608..7dedf0ebeb 100644 --- a/discovery/datamigration-v1beta1.json +++ b/discovery/datamigration-v1beta1.json @@ -924,7 +924,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "datamigration.projects.locations.operations.cancel", @@ -1049,7 +1049,7 @@ } } }, - "revision": "20240221", + "revision": "20241202", "rootUrl": "https://datamigration.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/discovery/dataplex-v1.json b/discovery/dataplex-v1.json index 32ecefda8f..1fcd6ccf32 100644 --- a/discovery/dataplex-v1.json +++ b/discovery/dataplex-v1.json @@ -15,6 +15,243 @@ "description": "Dataplex API is used to manage the lifecycle of data lakes.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/dataplex/docs", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.africa-south1.rep.googleapis.com/", + "location": "africa-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.asia-east1.rep.googleapis.com/", + "location": "asia-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.asia-east2.rep.googleapis.com/", + "location": "asia-east2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.asia-northeast1.rep.googleapis.com/", + "location": "asia-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.asia-northeast2.rep.googleapis.com/", + "location": "asia-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.asia-northeast3.rep.googleapis.com/", + "location": "asia-northeast3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.asia-south1.rep.googleapis.com/", + "location": "asia-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.asia-south2.rep.googleapis.com/", + "location": "asia-south2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.asia-southeast1.rep.googleapis.com/", + "location": "asia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.asia-southeast2.rep.googleapis.com/", + "location": "asia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.australia-southeast1.rep.googleapis.com/", + "location": "australia-southeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.australia-southeast2.rep.googleapis.com/", + "location": "australia-southeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.europe-central2.rep.googleapis.com/", + "location": "europe-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.europe-north1.rep.googleapis.com/", + "location": "europe-north1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.europe-north2.rep.googleapis.com/", + "location": "europe-north2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.europe-southwest1.rep.googleapis.com/", + "location": "europe-southwest1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.europe-west1.rep.googleapis.com/", + "location": "europe-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.europe-west10.rep.googleapis.com/", + "location": "europe-west10" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.europe-west12.rep.googleapis.com/", + "location": "europe-west12" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.europe-west2.rep.googleapis.com/", + "location": "europe-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.europe-west3.rep.googleapis.com/", + "location": "europe-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.europe-west4.rep.googleapis.com/", + "location": "europe-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.europe-west6.rep.googleapis.com/", + "location": "europe-west6" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.europe-west8.rep.googleapis.com/", + "location": "europe-west8" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.europe-west9.rep.googleapis.com/", + "location": "europe-west9" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.me-central1.rep.googleapis.com/", + "location": "me-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.me-central2.rep.googleapis.com/", + "location": "me-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.me-west1.rep.googleapis.com/", + "location": "me-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.northamerica-northeast1.rep.googleapis.com/", + "location": "northamerica-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.northamerica-northeast2.rep.googleapis.com/", + "location": "northamerica-northeast2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.northamerica-south1.rep.googleapis.com/", + "location": "northamerica-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.southamerica-east1.rep.googleapis.com/", + "location": "southamerica-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.southamerica-west1.rep.googleapis.com/", + "location": "southamerica-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.us-central2.rep.googleapis.com/", + "location": "us-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.us-east1.rep.googleapis.com/", + "location": "us-east1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.us-east4.rep.googleapis.com/", + "location": "us-east4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.us-east5.rep.googleapis.com/", + "location": "us-east5" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.us-east7.rep.googleapis.com/", + "location": "us-east7" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.us-south1.rep.googleapis.com/", + "location": "us-south1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.us-west1.rep.googleapis.com/", + "location": "us-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.us-west2.rep.googleapis.com/", + "location": "us-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.us-west3.rep.googleapis.com/", + "location": "us-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.us-west4.rep.googleapis.com/", + "location": "us-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.us-west8.rep.googleapis.com/", + "location": "us-west8" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.us.rep.googleapis.com/", + "location": "us" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dataplex.eu.rep.googleapis.com/", + "location": "eu" + } + ], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -475,7 +712,7 @@ "type": "string" }, "orderBy": { - "description": "Optional. Specifies the ordering of results.", + "description": "Optional. Specifies the ordering of results. Supported values are: * relevance (default) * last_modified_timestamp * last_modified_timestamp asc", "location": "query", "type": "string" }, @@ -491,7 +728,7 @@ "type": "string" }, "query": { - "description": "Required. The query against which entries in scope should be matched.", + "description": "Required. The query against which entries in scope should be matched. The query syntax is defined in Search syntax for Dataplex Catalog (https://cloud.google.com/dataplex/docs/search-syntax).", "location": "query", "type": "string" }, @@ -1098,6 +1335,11 @@ "name" ], "parameters": { + "force": { + "description": "Optional. If set to true, any child resources of this data scan will also be deleted. (Otherwise, the request will only work if the data scan has no child resources.)", + "location": "query", + "type": "boolean" + }, "name": { "description": "Required. The resource name of the dataScan: projects/{project}/locations/{location_id}/dataScans/{data_scan_id} where project refers to a project_id or project_number and location_id refers to a GCP region.", "location": "path", @@ -1269,14 +1511,14 @@ ], "parameters": { "name": { - "description": "Output only. The relative resource name of the scan, of the form: projects/{project}/locations/{location_id}/dataScans/{datascan_id}, where project refers to a project_id or project_number and location_id refers to a GCP region.", + "description": "Output only. Identifier. The relative resource name of the scan, of the form: projects/{project}/locations/{location_id}/dataScans/{datascan_id}, where project refers to a project_id or project_number and location_id refers to a GCP region.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/dataScans/[^/]+$", "required": true, "type": "string" }, "updateMask": { - "description": "Required. Mask of fields to update.", + "description": "Optional. Mask of fields to update.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -2480,7 +2722,7 @@ "type": "boolean" }, "aspectKeys": { - "description": "Optional. The map keys of the Aspects which the service should modify. It supports the following syntaxes: - matches an aspect of the given type and empty path. @path - matches an aspect of the given type and specified path. For example, to attach an aspect to a field that is specified by the schema aspect, the path should have the format Schema.. * - matches aspects of the given type for all paths. *@path - matches aspects of all types on the given path.The service will not remove existing aspects matching the syntax unless delete_missing_aspects is set to true.If this field is left empty, the service treats it as specifying exactly those Aspects present in the request.", + "description": "Optional. The map keys of the Aspects which the service should modify. It supports the following syntaxes: - matches an aspect of the given type and empty path. @path - matches an aspect of the given type and specified path. For example, to attach an aspect to a field that is specified by the schema aspect, the path should have the format Schema.. @* - matches aspects of the given type for all paths. *@path - matches aspects of all types on the given path.The service will not remove existing aspects matching the syntax unless delete_missing_aspects is set to true.If this field is left empty, the service treats it as specifying exactly those Aspects present in the request.", "location": "query", "repeated": true, "type": "string" @@ -5783,6 +6025,11 @@ "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" + }, + "validateOnly": { + "description": "Optional. The service validates the request without performing any mutations. The default is false.", + "location": "query", + "type": "boolean" } }, "path": "v1/{+parent}/metadataJobs", @@ -5997,7 +6244,7 @@ } } }, - "revision": "20240925", + "revision": "20241206", "rootUrl": "https://dataplex.googleapis.com/", "schemas": { "Empty": { @@ -6265,6 +6512,10 @@ "format": "google-datetime", "type": "string" }, + "dataVersion": { + "description": "The version of the data format used to produce this data. This field is used to indicated when the underlying data format changes (e.g., schema modifications, changes to the source URL format definition, etc).", + "type": "string" + }, "updateTime": { "description": "The time the aspect was last updated in the source system.", "format": "google-datetime", @@ -7114,6 +7365,142 @@ }, "type": "object" }, + "GoogleCloudDataplexV1DataDiscoveryResult": { + "description": "The output of a data discovery scan.", + "id": "GoogleCloudDataplexV1DataDiscoveryResult", + "properties": { + "bigqueryPublishing": { + "$ref": "GoogleCloudDataplexV1DataDiscoveryResultBigQueryPublishing", + "description": "Output only. Configuration for metadata publishing.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1DataDiscoveryResultBigQueryPublishing": { + "description": "Describes BigQuery publishing configurations.", + "id": "GoogleCloudDataplexV1DataDiscoveryResultBigQueryPublishing", + "properties": { + "dataset": { + "description": "Output only. The BigQuery dataset to publish to. It takes the form projects/{project_id}/datasets/{dataset_id}. If not set, the service creates a default publishing dataset.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1DataDiscoverySpec": { + "description": "Spec for a data discovery scan.", + "id": "GoogleCloudDataplexV1DataDiscoverySpec", + "properties": { + "bigqueryPublishingConfig": { + "$ref": "GoogleCloudDataplexV1DataDiscoverySpecBigQueryPublishingConfig", + "description": "Optional. Configuration for metadata publishing." + }, + "storageConfig": { + "$ref": "GoogleCloudDataplexV1DataDiscoverySpecStorageConfig", + "description": "Cloud Storage related configurations." + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1DataDiscoverySpecBigQueryPublishingConfig": { + "description": "Describes BigQuery publishing configurations.", + "id": "GoogleCloudDataplexV1DataDiscoverySpecBigQueryPublishingConfig", + "properties": { + "connection": { + "description": "Optional. The BigQuery connection used to create BigLake tables. Must be in the form projects/{project_id}/locations/{location_id}/connections/{connection_id}", + "type": "string" + }, + "tableType": { + "description": "Optional. Determines whether to publish discovered tables as BigLake external tables or non-BigLake external tables.", + "enum": [ + "TABLE_TYPE_UNSPECIFIED", + "EXTERNAL", + "BIGLAKE" + ], + "enumDescriptions": [ + "Table type unspecified.", + "Default. Discovered tables are published as BigQuery external tables whose data is accessed using the credentials of the user querying the table.", + "Discovered tables are published as BigLake external tables whose data is accessed using the credentials of the associated BigQuery connection." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1DataDiscoverySpecStorageConfig": { + "description": "Configurations related to Cloud Storage as the data source.", + "id": "GoogleCloudDataplexV1DataDiscoverySpecStorageConfig", + "properties": { + "csvOptions": { + "$ref": "GoogleCloudDataplexV1DataDiscoverySpecStorageConfigCsvOptions", + "description": "Optional. Configuration for CSV data." + }, + "excludePatterns": { + "description": "Optional. Defines the data to exclude during discovery. Provide a list of patterns that identify the data to exclude. For Cloud Storage bucket assets, these patterns are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these patterns are interpreted as patterns to match table names.", + "items": { + "type": "string" + }, + "type": "array" + }, + "includePatterns": { + "description": "Optional. Defines the data to include during discovery when only a subset of the data should be considered. Provide a list of patterns that identify the data to include. For Cloud Storage bucket assets, these patterns are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these patterns are interpreted as patterns to match table names.", + "items": { + "type": "string" + }, + "type": "array" + }, + "jsonOptions": { + "$ref": "GoogleCloudDataplexV1DataDiscoverySpecStorageConfigJsonOptions", + "description": "Optional. Configuration for JSON data." + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1DataDiscoverySpecStorageConfigCsvOptions": { + "description": "Describes CSV and similar semi-structured data formats.", + "id": "GoogleCloudDataplexV1DataDiscoverySpecStorageConfigCsvOptions", + "properties": { + "delimiter": { + "description": "Optional. The delimiter that is used to separate values. The default is , (comma).", + "type": "string" + }, + "encoding": { + "description": "Optional. The character encoding of the data. The default is UTF-8.", + "type": "string" + }, + "headerRows": { + "description": "Optional. The number of rows to interpret as header rows that should be skipped when reading data rows.", + "format": "int32", + "type": "integer" + }, + "quote": { + "description": "Optional. The character used to quote column values. Accepts \" (double quotation mark) or ' (single quotation mark). If unspecified, defaults to \" (double quotation mark).", + "type": "string" + }, + "typeInferenceDisabled": { + "description": "Optional. Whether to disable the inference of data types for CSV data. If true, all columns are registered as strings.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudDataplexV1DataDiscoverySpecStorageConfigJsonOptions": { + "description": "Describes JSON data format.", + "id": "GoogleCloudDataplexV1DataDiscoverySpecStorageConfigJsonOptions", + "properties": { + "encoding": { + "description": "Optional. The character encoding of the data. The default is UTF-8.", + "type": "string" + }, + "typeInferenceDisabled": { + "description": "Optional. Whether to disable the inference of data types for JSON data. If true, all columns are registered as their primitive types (strings, number, or boolean).", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleCloudDataplexV1DataProfileResult": { "description": "DataProfileResult defines the output of DataProfileScan. Each field of the table will have field type specific profile result.", "id": "GoogleCloudDataplexV1DataProfileResult", @@ -7453,7 +7840,7 @@ "id": "GoogleCloudDataplexV1DataQualityDimension", "properties": { "name": { - "description": "The dimension name a rule belongs to. Supported dimensions are \"COMPLETENESS\", \"ACCURACY\", \"CONSISTENCY\", \"VALIDITY\", \"UNIQUENESS\", \"INTEGRITY\"", + "description": "The dimension name a rule belongs to. Supported dimensions are \"COMPLETENESS\", \"ACCURACY\", \"CONSISTENCY\", \"VALIDITY\", \"UNIQUENESS\", \"FRESHNESS\", \"VOLUME\"", "type": "string" } }, @@ -7588,7 +7975,7 @@ "type": "string" }, "dimension": { - "description": "Required. The dimension a rule belongs to. Results are also aggregated at the dimension level. Supported dimensions are \"COMPLETENESS\", \"ACCURACY\", \"CONSISTENCY\", \"VALIDITY\", \"UNIQUENESS\", \"INTEGRITY\"", + "description": "Required. The dimension a rule belongs to. Results are also aggregated at the dimension level. Supported dimensions are \"COMPLETENESS\", \"ACCURACY\", \"CONSISTENCY\", \"VALIDITY\", \"UNIQUENESS\", \"FRESHNESS\", \"VOLUME\"", "type": "string" }, "ignoreNull": { @@ -8060,23 +8447,32 @@ "$ref": "GoogleCloudDataplexV1DataSource", "description": "Required. The data source for DataScan." }, + "dataDiscoveryResult": { + "$ref": "GoogleCloudDataplexV1DataDiscoveryResult", + "description": "Output only. The result of a data discovery scan.", + "readOnly": true + }, + "dataDiscoverySpec": { + "$ref": "GoogleCloudDataplexV1DataDiscoverySpec", + "description": "Settings for a data discovery scan." + }, "dataProfileResult": { "$ref": "GoogleCloudDataplexV1DataProfileResult", - "description": "Output only. The result of the data profile scan.", + "description": "Output only. The result of a data profile scan.", "readOnly": true }, "dataProfileSpec": { "$ref": "GoogleCloudDataplexV1DataProfileSpec", - "description": "DataProfileScan related setting." + "description": "Settings for a data profile scan." }, "dataQualityResult": { "$ref": "GoogleCloudDataplexV1DataQualityResult", - "description": "Output only. The result of the data quality scan.", + "description": "Output only. The result of a data quality scan.", "readOnly": true }, "dataQualitySpec": { "$ref": "GoogleCloudDataplexV1DataQualitySpec", - "description": "DataQualityScan related setting." + "description": "Settings for a data quality scan." }, "description": { "description": "Optional. Description of the scan. Must be between 1-1024 characters.", @@ -8103,7 +8499,7 @@ "type": "object" }, "name": { - "description": "Output only. The relative resource name of the scan, of the form: projects/{project}/locations/{location_id}/dataScans/{datascan_id}, where project refers to a project_id or project_number and location_id refers to a GCP region.", + "description": "Output only. Identifier. The relative resource name of the scan, of the form: projects/{project}/locations/{location_id}/dataScans/{datascan_id}, where project refers to a project_id or project_number and location_id refers to a GCP region.", "readOnly": true, "type": "string" }, @@ -8131,12 +8527,14 @@ "enum": [ "DATA_SCAN_TYPE_UNSPECIFIED", "DATA_QUALITY", - "DATA_PROFILE" + "DATA_PROFILE", + "DATA_DISCOVERY" ], "enumDescriptions": [ - "The DataScan type is unspecified.", - "Data Quality scan.", - "Data Profile scan." + "The data scan type is unspecified.", + "Data quality scan.", + "Data profile scan.", + "Data discovery scan." ], "readOnly": true, "type": "string" @@ -8156,7 +8554,7 @@ "type": "object" }, "GoogleCloudDataplexV1DataScanEvent": { - "description": "These messages contain information about the execution of a datascan. The monitored resource is 'DataScan' Next ID: 13", + "description": "These messages contain information about the execution of a datascan. The monitored resource is 'DataScan'", "id": "GoogleCloudDataplexV1DataScanEvent", "properties": { "createTime": { @@ -8263,12 +8661,14 @@ "enum": [ "SCAN_TYPE_UNSPECIFIED", "DATA_PROFILE", - "DATA_QUALITY" + "DATA_QUALITY", + "DATA_DISCOVERY" ], "enumDescriptions": [ "An unspecified data scan type.", "Data scan for data profile.", - "Data scan for data quality." + "Data scan for data quality.", + "Data scan for data discovery." ], "type": "string" } @@ -8430,12 +8830,12 @@ "type": "string" }, "latestJobEndTime": { - "description": "The time when the latest DataScanJob ended.", + "description": "Optional. The time when the latest DataScanJob ended.", "format": "google-datetime", "type": "string" }, "latestJobStartTime": { - "description": "The time when the latest DataScanJob started.", + "description": "Optional. The time when the latest DataScanJob started.", "format": "google-datetime", "type": "string" } @@ -8452,24 +8852,34 @@ "readOnly": true, "type": "string" }, + "dataDiscoveryResult": { + "$ref": "GoogleCloudDataplexV1DataDiscoveryResult", + "description": "Output only. The result of a data discovery scan.", + "readOnly": true + }, + "dataDiscoverySpec": { + "$ref": "GoogleCloudDataplexV1DataDiscoverySpec", + "description": "Output only. Settings for a data discovery scan.", + "readOnly": true + }, "dataProfileResult": { "$ref": "GoogleCloudDataplexV1DataProfileResult", - "description": "Output only. The result of the data profile scan.", + "description": "Output only. The result of a data profile scan.", "readOnly": true }, "dataProfileSpec": { "$ref": "GoogleCloudDataplexV1DataProfileSpec", - "description": "Output only. DataProfileScan related setting.", + "description": "Output only. Settings for a data profile scan.", "readOnly": true }, "dataQualityResult": { "$ref": "GoogleCloudDataplexV1DataQualityResult", - "description": "Output only. The result of the data quality scan.", + "description": "Output only. The result of a data quality scan.", "readOnly": true }, "dataQualitySpec": { "$ref": "GoogleCloudDataplexV1DataQualitySpec", - "description": "Output only. DataQualityScan related setting.", + "description": "Output only. Settings for a data quality scan.", "readOnly": true }, "endTime": { @@ -8484,7 +8894,7 @@ "type": "string" }, "name": { - "description": "Output only. The relative resource name of the DataScanJob, of the form: projects/{project}/locations/{location_id}/dataScans/{datascan_id}/jobs/{job_id}, where project refers to a project_id or project_number and location_id refers to a GCP region.", + "description": "Output only. Identifier. The relative resource name of the DataScanJob, of the form: projects/{project}/locations/{location_id}/dataScans/{datascan_id}/jobs/{job_id}, where project refers to a project_id or project_number and location_id refers to a GCP region.", "readOnly": true, "type": "string" }, @@ -8522,12 +8932,14 @@ "enum": [ "DATA_SCAN_TYPE_UNSPECIFIED", "DATA_QUALITY", - "DATA_PROFILE" + "DATA_PROFILE", + "DATA_DISCOVERY" ], "enumDescriptions": [ - "The DataScan type is unspecified.", - "Data Quality scan.", - "Data Profile scan." + "The data scan type is unspecified.", + "Data quality scan.", + "Data profile scan.", + "Data discovery scan." ], "readOnly": true, "type": "string" @@ -8669,7 +9081,11 @@ "ENTITY_DELETED", "PARTITION_CREATED", "PARTITION_UPDATED", - "PARTITION_DELETED" + "PARTITION_DELETED", + "TABLE_PUBLISHED", + "TABLE_UPDATED", + "TABLE_IGNORED", + "TABLE_DELETED" ], "enumDescriptions": [ "An unspecified event type.", @@ -8679,7 +9095,11 @@ "An event representing a metadata entity being deleted.", "An event representing a partition being created.", "An event representing a partition being updated.", - "An event representing a partition being deleted." + "An event representing a partition being deleted.", + "An event representing a table being published.", + "An event representing a table being updated.", + "An event representing a table being skipped in publishing.", + "An event representing a table being deleted." ], "type": "string" }, @@ -8694,6 +9114,10 @@ "description": "Details about the action.", "id": "GoogleCloudDataplexV1DiscoveryEventActionDetails", "properties": { + "issue": { + "description": "The human readable issue associated with the action.", + "type": "string" + }, "type": { "description": "The type of action. Eg. IncompatibleDataSchema, InvalidDataFormat", "type": "string" @@ -9522,7 +9946,7 @@ "id": "GoogleCloudDataplexV1ImportItem", "properties": { "aspectKeys": { - "description": "The aspects to modify. Supports the following syntaxes: {aspect_type_reference}: matches aspects that belong to the specified aspect type and are attached directly to the entry. {aspect_type_reference}@{path}: matches aspects that belong to the specified aspect type and path. {aspect_type_reference}@*: matches aspects that belong to the specified aspect type for all paths.Replace {aspect_type_reference} with a reference to the aspect type, in the format {project_id_or_number}.{location_id}.{aspect_type_id}.If you leave this field empty, it is treated as specifying exactly those aspects that are present within the specified entry.In FULL entry sync mode, Dataplex implicitly adds the keys for all of the required aspects of an entry.", + "description": "The aspects to modify. Supports the following syntaxes: {aspect_type_reference}: matches aspects that belong to the specified aspect type and are attached directly to the entry. {aspect_type_reference}@{path}: matches aspects that belong to the specified aspect type and path. @* : matches aspects of the given type for all paths. *@path : matches aspects of all types on the given path. Replace {aspect_type_reference} with a reference to the aspect type, in the format {project_id_or_number}.{location_id}.{aspect_type_id}.If you leave this field empty, it is treated as specifying exactly those aspects that are present within the specified entry.In FULL entry sync mode, Dataplex implicitly adds the keys for all of the required aspects of an entry.", "items": { "type": "string" }, diff --git a/discovery/dataproc-v1.json b/discovery/dataproc-v1.json index ad05dc35c5..25cc0e4d1e 100644 --- a/discovery/dataproc-v1.json +++ b/discovery/dataproc-v1.json @@ -4978,7 +4978,7 @@ } } }, - "revision": "20240928", + "revision": "20241025", "rootUrl": "https://dataproc.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -9032,7 +9032,7 @@ "type": "object" }, "PySparkJob": { - "description": "A Dataproc job for running Apache PySpark (https://spark.apache.org/docs/0.9.0/python-programming-guide.html) applications on YARN.", + "description": "A Dataproc job for running Apache PySpark (https://spark.apache.org/docs/latest/api/python/index.html#pyspark-overview) applications on YARN.", "id": "PySparkJob", "properties": { "archiveUris": { @@ -10444,6 +10444,7 @@ "HBASE", "HIVE_WEBHCAT", "HUDI", + "ICEBERG", "JUPYTER", "PRESTO", "TRINO", @@ -10461,6 +10462,7 @@ "HBase. (beta)", "The Hive Web HCatalog (the REST service for accessing HCatalog).", "Hudi.", + "Iceberg.", "The Jupyter Notebook.", "The Presto query engine.", "The Trino query engine.", diff --git a/discovery/datastore-v1.json b/discovery/datastore-v1.json index 43fc0f800d..9ddc71a036 100644 --- a/discovery/datastore-v1.json +++ b/discovery/datastore-v1.json @@ -530,7 +530,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "datastore.projects.operations.cancel", @@ -654,7 +654,7 @@ } } }, - "revision": "20240317", + "revision": "20241204", "rootUrl": "https://datastore.googleapis.com/", "schemas": { "Aggregation": { @@ -1064,6 +1064,51 @@ }, "type": "object" }, + "FindNearest": { + "description": "Nearest Neighbors search config. The ordering provided by FindNearest supersedes the order_by stage. If multiple documents have the same vector distance, the returned document order is not guaranteed to be stable between queries.", + "id": "FindNearest", + "properties": { + "distanceMeasure": { + "description": "Required. The Distance Measure to use, required.", + "enum": [ + "DISTANCE_MEASURE_UNSPECIFIED", + "EUCLIDEAN", + "COSINE", + "DOT_PRODUCT" + ], + "enumDescriptions": [ + "Should not be set.", + "Measures the EUCLIDEAN distance between the vectors. See [Euclidean](https://en.wikipedia.org/wiki/Euclidean_distance) to learn more. The resulting distance decreases the more similar two vectors are.", + "COSINE distance compares vectors based on the angle between them, which allows you to measure similarity that isn't based on the vectors magnitude. We recommend using DOT_PRODUCT with unit normalized vectors instead of COSINE distance, which is mathematically equivalent with better performance. See [Cosine Similarity](https://en.wikipedia.org/wiki/Cosine_similarity) to learn more about COSINE similarity and COSINE distance. The resulting COSINE distance decreases the more similar two vectors are.", + "Similar to cosine but is affected by the magnitude of the vectors. See [Dot Product](https://en.wikipedia.org/wiki/Dot_product) to learn more. The resulting distance increases the more similar two vectors are." + ], + "type": "string" + }, + "distanceResultProperty": { + "description": "Optional. Optional name of the field to output the result of the vector distance calculation. Must conform to entity property limitations.", + "type": "string" + }, + "distanceThreshold": { + "description": "Optional. Option to specify a threshold for which no less similar documents will be returned. The behavior of the specified `distance_measure` will affect the meaning of the distance threshold. Since DOT_PRODUCT distances increase when the vectors are more similar, the comparison is inverted. * For EUCLIDEAN, COSINE: WHERE distance <= distance_threshold * For DOT_PRODUCT: WHERE distance >= distance_threshold", + "format": "double", + "type": "number" + }, + "limit": { + "description": "Required. The number of nearest neighbors to return. Must be a positive integer of no more than 100.", + "format": "int32", + "type": "integer" + }, + "queryVector": { + "$ref": "Value", + "description": "Required. The query vector that we are searching on. Must be a vector of no more than 2048 dimensions." + }, + "vectorProperty": { + "$ref": "PropertyReference", + "description": "Required. An indexed vector property to search upon. Only documents which contain vectors whose dimensionality match the query_vector can be returned." + } + }, + "type": "object" + }, "GoogleDatastoreAdminV1CommonMetadata": { "description": "Metadata common to all Datastore Admin operations.", "id": "GoogleDatastoreAdminV1CommonMetadata", @@ -1937,6 +1982,20 @@ "format": "int64", "type": "string" }, + "conflictResolutionStrategy": { + "description": "The strategy to use when a conflict is detected. Defaults to `SERVER_VALUE`. If this is set, then `conflict_detection_strategy` must also be set.", + "enum": [ + "STRATEGY_UNSPECIFIED", + "SERVER_VALUE", + "FAIL" + ], + "enumDescriptions": [ + "Unspecified. Defaults to `SERVER_VALUE`.", + "The server entity is kept.", + "The whole commit request fails." + ], + "type": "string" + }, "delete": { "$ref": "Key", "description": "The key of the entity to delete. The entity may or may not already exist. Must have a complete key path and must not be reserved/read-only." @@ -1949,6 +2008,13 @@ "$ref": "PropertyMask", "description": "The properties to write in this mutation. None of the properties in the mask may have a reserved name, except for `__key__`. This field is ignored for `delete`. If the entity already exists, only properties referenced in the mask are updated, others are left untouched. Properties referenced in the mask but not in the entity are deleted." }, + "propertyTransforms": { + "description": "Optional. The transforms to perform on the entity. This field can be set only when the operation is `insert`, `update`, or `upsert`. If present, the transforms are be applied to the entity regardless of the property mask, in order, after the operation.", + "items": { + "$ref": "PropertyTransform" + }, + "type": "array" + }, "update": { "$ref": "Entity", "description": "The entity to update. The entity must already exist. Must have a complete key path." @@ -1982,6 +2048,13 @@ "$ref": "Key", "description": "The automatically allocated key. Set only when the mutation allocated a key." }, + "transformResults": { + "description": "The results of applying each PropertyTransform, in the same order of the request.", + "items": { + "$ref": "Value" + }, + "type": "array" + }, "updateTime": { "description": "The update time of the entity on the server after processing the mutation. If the mutation doesn't change anything on the server, then the timestamp will be the update timestamp of the current entity. This field will not be set after a 'delete'.", "format": "google-datetime", @@ -2156,8 +2229,51 @@ }, "type": "object" }, + "PropertyTransform": { + "description": "A transformation of an entity property.", + "id": "PropertyTransform", + "properties": { + "appendMissingElements": { + "$ref": "ArrayValue", + "description": "Appends the given elements in order if they are not already present in the current property value. If the property is not an array, or if the property does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and the null value is equal to the null value. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform result will be the null value." + }, + "increment": { + "$ref": "Value", + "description": "Adds the given value to the property's current value. This must be an integer or a double value. If the property is not an integer or double, or if the property does not yet exist, the transformation will set the property to the given value. If either of the given value or the current property value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follows IEEE 754 semantics. If there is positive/negative integer overflow, the property is resolved to the largest magnitude positive/negative integer." + }, + "maximum": { + "$ref": "Value", + "description": "Sets the property to the maximum of its current value and the given value. This must be an integer or a double value. If the property is not an integer or double, or if the property does not yet exist, the transformation will set the property to the given value. If a maximum operation is applied where the property and the input value are of mixed types (that is - one is an integer and one is a double) the property takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the property does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN." + }, + "minimum": { + "$ref": "Value", + "description": "Sets the property to the minimum of its current value and the given value. This must be an integer or a double value. If the property is not an integer or double, or if the property does not yet exist, the transformation will set the property to the input value. If a minimum operation is applied where the property and the input value are of mixed types (that is - one is an integer and one is a double) the property takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the property does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN." + }, + "property": { + "description": "Optional. The name of the property. Property paths (a list of property names separated by dots (`.`)) may be used to refer to properties inside entity values. For example `foo.bar` means the property `bar` inside the entity property `foo`. If a property name contains a dot `.` or a backlslash `\\`, then that name must be escaped.", + "type": "string" + }, + "removeAllFromArray": { + "$ref": "ArrayValue", + "description": "Removes all of the given elements from the array in the property. If the property is not an array, or if the property does not yet exist, it is set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and the null value is equal to the null value. This will remove all equivalent values if there are duplicates. The corresponding transform result will be the null value." + }, + "setToServerValue": { + "description": "Sets the property to the given server value.", + "enum": [ + "SERVER_VALUE_UNSPECIFIED", + "REQUEST_TIME" + ], + "enumDescriptions": [ + "Unspecified. This value must not be used.", + "The time at which the server processed the request, with millisecond precision. If used on multiple properties (same or different entities) in a transaction, all the properties will get the same server timestamp." + ], + "type": "string" + } + }, + "type": "object" + }, "Query": { - "description": "A query for entities.", + "description": "A query for entities. The query stages are executed in the following order: 1. kind 2. filter 3. projection 4. order + start_cursor + end_cursor 5. offset 6. limit 7. find_nearest", "id": "Query", "properties": { "distinctOn": { @@ -2176,6 +2292,10 @@ "$ref": "Filter", "description": "The filter to apply." }, + "findNearest": { + "$ref": "FindNearest", + "description": "Optional. A potential Nearest Neighbors Search. Applies after all other filters and ordering. Finds the closest vector embeddings to the given query vector." + }, "kind": { "description": "The kinds to query (if empty, returns entities of all kinds). Currently at most 1 kind may be specified.", "items": { diff --git a/discovery/datastore-v1beta3.json b/discovery/datastore-v1beta3.json index 5f4ade2adb..0f691f48eb 100644 --- a/discovery/datastore-v1beta3.json +++ b/discovery/datastore-v1beta3.json @@ -336,7 +336,7 @@ } } }, - "revision": "20240317", + "revision": "20241018", "rootUrl": "https://datastore.googleapis.com/", "schemas": { "Aggregation": { @@ -724,6 +724,51 @@ }, "type": "object" }, + "FindNearest": { + "description": "Nearest Neighbors search config. The ordering provided by FindNearest supersedes the order_by stage. If multiple documents have the same vector distance, the returned document order is not guaranteed to be stable between queries.", + "id": "FindNearest", + "properties": { + "distanceMeasure": { + "description": "Required. The Distance Measure to use, required.", + "enum": [ + "DISTANCE_MEASURE_UNSPECIFIED", + "EUCLIDEAN", + "COSINE", + "DOT_PRODUCT" + ], + "enumDescriptions": [ + "Should not be set.", + "Measures the EUCLIDEAN distance between the vectors. See [Euclidean](https://en.wikipedia.org/wiki/Euclidean_distance) to learn more. The resulting distance decreases the more similar two vectors are.", + "COSINE distance compares vectors based on the angle between them, which allows you to measure similarity that isn't based on the vectors magnitude. We recommend using DOT_PRODUCT with unit normalized vectors instead of COSINE distance, which is mathematically equivalent with better performance. See [Cosine Similarity](https://en.wikipedia.org/wiki/Cosine_similarity) to learn more about COSINE similarity and COSINE distance. The resulting COSINE distance decreases the more similar two vectors are.", + "Similar to cosine but is affected by the magnitude of the vectors. See [Dot Product](https://en.wikipedia.org/wiki/Dot_product) to learn more. The resulting distance increases the more similar two vectors are." + ], + "type": "string" + }, + "distanceResultProperty": { + "description": "Optional. Optional name of the field to output the result of the vector distance calculation. Must conform to entity property limitations.", + "type": "string" + }, + "distanceThreshold": { + "description": "Optional. Option to specify a threshold for which no less similar documents will be returned. The behavior of the specified `distance_measure` will affect the meaning of the distance threshold. Since DOT_PRODUCT distances increase when the vectors are more similar, the comparison is inverted. * For EUCLIDEAN, COSINE: WHERE distance <= distance_threshold * For DOT_PRODUCT: WHERE distance >= distance_threshold", + "format": "double", + "type": "number" + }, + "limit": { + "description": "Required. The number of nearest neighbors to return. Must be a positive integer of no more than 100.", + "format": "int32", + "type": "integer" + }, + "queryVector": { + "$ref": "Value", + "description": "Required. The query vector that we are searching on. Must be a vector of no more than 2048 dimensions." + }, + "vectorProperty": { + "$ref": "PropertyReference", + "description": "Required. An indexed vector property to search upon. Only documents which contain vectors whose dimensionality match the query_vector can be returned." + } + }, + "type": "object" + }, "GoogleDatastoreAdminV1CommonMetadata": { "description": "Metadata common to all Datastore Admin operations.", "id": "GoogleDatastoreAdminV1CommonMetadata", @@ -1387,6 +1432,20 @@ "format": "int64", "type": "string" }, + "conflictResolutionStrategy": { + "description": "The strategy to use when a conflict is detected. Defaults to `SERVER_VALUE`. If this is set, then `conflict_detection_strategy` must also be set.", + "enum": [ + "STRATEGY_UNSPECIFIED", + "SERVER_VALUE", + "FAIL" + ], + "enumDescriptions": [ + "Unspecified. Defaults to `SERVER_VALUE`.", + "The server entity is kept.", + "The whole commit request fails." + ], + "type": "string" + }, "delete": { "$ref": "Key", "description": "The key of the entity to delete. The entity may or may not already exist. Must have a complete key path and must not be reserved/read-only." @@ -1399,6 +1458,13 @@ "$ref": "PropertyMask", "description": "The properties to write in this mutation. None of the properties in the mask may have a reserved name, except for `__key__`. This field is ignored for `delete`. If the entity already exists, only properties referenced in the mask are updated, others are left untouched. Properties referenced in the mask but not in the entity are deleted." }, + "propertyTransforms": { + "description": "Optional. The transforms to perform on the entity. This field can be set only when the operation is `insert`, `update`, or `upsert`. If present, the transforms are be applied to the entity regardless of the property mask, in order, after the operation.", + "items": { + "$ref": "PropertyTransform" + }, + "type": "array" + }, "update": { "$ref": "Entity", "description": "The entity to update. The entity must already exist. Must have a complete key path." @@ -1432,6 +1498,13 @@ "$ref": "Key", "description": "The automatically allocated key. Set only when the mutation allocated a key." }, + "transformResults": { + "description": "The results of applying each PropertyTransform, in the same order of the request.", + "items": { + "$ref": "Value" + }, + "type": "array" + }, "updateTime": { "description": "The update time of the entity on the server after processing the mutation. If the mutation doesn't change anything on the server, then the timestamp will be the update timestamp of the current entity. This field will not be set after a 'delete'.", "format": "google-datetime", @@ -1602,8 +1675,51 @@ }, "type": "object" }, + "PropertyTransform": { + "description": "A transformation of an entity property.", + "id": "PropertyTransform", + "properties": { + "appendMissingElements": { + "$ref": "ArrayValue", + "description": "Appends the given elements in order if they are not already present in the current property value. If the property is not an array, or if the property does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and the null value is equal to the null value. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform result will be the null value." + }, + "increment": { + "$ref": "Value", + "description": "Adds the given value to the property's current value. This must be an integer or a double value. If the property is not an integer or double, or if the property does not yet exist, the transformation will set the property to the given value. If either of the given value or the current property value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follows IEEE 754 semantics. If there is positive/negative integer overflow, the property is resolved to the largest magnitude positive/negative integer." + }, + "maximum": { + "$ref": "Value", + "description": "Sets the property to the maximum of its current value and the given value. This must be an integer or a double value. If the property is not an integer or double, or if the property does not yet exist, the transformation will set the property to the given value. If a maximum operation is applied where the property and the input value are of mixed types (that is - one is an integer and one is a double) the property takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the property does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN." + }, + "minimum": { + "$ref": "Value", + "description": "Sets the property to the minimum of its current value and the given value. This must be an integer or a double value. If the property is not an integer or double, or if the property does not yet exist, the transformation will set the property to the input value. If a minimum operation is applied where the property and the input value are of mixed types (that is - one is an integer and one is a double) the property takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the property does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN." + }, + "property": { + "description": "Optional. The name of the property. Property paths (a list of property names separated by dots (`.`)) may be used to refer to properties inside entity values. For example `foo.bar` means the property `bar` inside the entity property `foo`. If a property name contains a dot `.` or a backlslash `\\`, then that name must be escaped.", + "type": "string" + }, + "removeAllFromArray": { + "$ref": "ArrayValue", + "description": "Removes all of the given elements from the array in the property. If the property is not an array, or if the property does not yet exist, it is set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and the null value is equal to the null value. This will remove all equivalent values if there are duplicates. The corresponding transform result will be the null value." + }, + "setToServerValue": { + "description": "Sets the property to the given server value.", + "enum": [ + "SERVER_VALUE_UNSPECIFIED", + "REQUEST_TIME" + ], + "enumDescriptions": [ + "Unspecified. This value must not be used.", + "The time at which the server processed the request, with millisecond precision. If used on multiple properties (same or different entities) in a transaction, all the properties will get the same server timestamp." + ], + "type": "string" + } + }, + "type": "object" + }, "Query": { - "description": "A query for entities.", + "description": "A query for entities. The query stages are executed in the following order: 1. kind 2. filter 3. projection 4. order + start_cursor + end_cursor 5. offset 6. limit 7. find_nearest", "id": "Query", "properties": { "distinctOn": { @@ -1622,6 +1738,10 @@ "$ref": "Filter", "description": "The filter to apply." }, + "findNearest": { + "$ref": "FindNearest", + "description": "Optional. A potential Nearest Neighbors Search. Applies after all other filters and ordering. Finds the closest vector embeddings to the given query vector." + }, "kind": { "description": "The kinds to query (if empty, returns entities of all kinds). Currently at most 1 kind may be specified.", "items": { diff --git a/discovery/datastream-v1.json b/discovery/datastream-v1.json index 264fde6638..7133664b1a 100644 --- a/discovery/datastream-v1.json +++ b/discovery/datastream-v1.json @@ -407,7 +407,7 @@ "type": "boolean" }, "name": { - "description": "Output only. The resource's name.", + "description": "Output only. Identifier. The resource's name.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/connectionProfiles/[^/]+$", "required": true, @@ -446,7 +446,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "datastream.projects.locations.operations.cancel", @@ -1030,7 +1030,7 @@ "type": "boolean" }, "name": { - "description": "Output only. The stream's name.", + "description": "Output only. Identifier. The stream's name.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/streams/[^/]+$", "required": true, @@ -1250,7 +1250,7 @@ } } }, - "revision": "20240904", + "revision": "20241204", "rootUrl": "https://datastream.googleapis.com/", "schemas": { "AppendOnly": { @@ -1394,6 +1394,27 @@ "properties": {}, "type": "object" }, + "BinaryLogParser": { + "description": "Configuration to use Binary Log Parser CDC technique.", + "id": "BinaryLogParser", + "properties": { + "logFileDirectories": { + "$ref": "LogFileDirectories", + "description": "Use Oracle directories." + }, + "oracleAsmLogFileAccess": { + "$ref": "OracleAsmLogFileAccess", + "description": "Use Oracle ASM." + } + }, + "type": "object" + }, + "BinaryLogPosition": { + "description": "Use Binary log position based replication.", + "id": "BinaryLogPosition", + "properties": {}, + "type": "object" + }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", @@ -1457,7 +1478,7 @@ "description": "MySQL ConnectionProfile configuration." }, "name": { - "description": "Output only. The resource's name.", + "description": "Output only. Identifier. The resource's name.", "readOnly": true, "type": "string" }, @@ -1724,6 +1745,12 @@ }, "type": "object" }, + "Gtid": { + "description": "Use GTID based replication.", + "id": "Gtid", + "properties": {}, + "type": "object" + }, "JsonFileFormat": { "description": "JSON file format configuration.", "id": "JsonFileFormat", @@ -1947,6 +1974,27 @@ }, "type": "object" }, + "LogFileDirectories": { + "description": "Configuration to specify the Oracle directories to access the log files.", + "id": "LogFileDirectories", + "properties": { + "archivedLogDirectory": { + "description": "Required. Oracle directory for archived logs.", + "type": "string" + }, + "onlineLogDirectory": { + "description": "Required. Oracle directory for online logs.", + "type": "string" + } + }, + "type": "object" + }, + "LogMiner": { + "description": "Configuration to use LogMiner CDC method.", + "id": "LogMiner", + "properties": {}, + "type": "object" + }, "LookupStreamObjectRequest": { "description": "Request for looking up a specific stream object by its source object identifier.", "id": "LookupStreamObjectRequest", @@ -2067,7 +2115,7 @@ "type": "object" }, "MysqlProfile": { - "description": "MySQL database profile.", + "description": "MySQL database profile. Next ID: 7.", "id": "MysqlProfile", "properties": { "hostname": { @@ -2075,7 +2123,7 @@ "type": "string" }, "password": { - "description": "Required. Input only. Password for the MySQL connection.", + "description": "Optional. Input only. Password for the MySQL connection. Mutually exclusive with the `secret_manager_stored_password` field.", "type": "string" }, "port": { @@ -2112,10 +2160,18 @@ "description": "MySQL source configuration", "id": "MysqlSourceConfig", "properties": { + "binaryLogPosition": { + "$ref": "BinaryLogPosition", + "description": "Use Binary log position based replication." + }, "excludeObjects": { "$ref": "MysqlRdbms", "description": "MySQL objects to exclude from the stream." }, + "gtid": { + "$ref": "Gtid", + "description": "Use GTID based replication." + }, "includeObjects": { "$ref": "MysqlRdbms", "description": "MySQL objects to retrieve from the source." @@ -2248,7 +2304,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -2275,6 +2331,51 @@ }, "type": "object" }, + "OracleAsmConfig": { + "description": "Configuration for Oracle Automatic Storage Management (ASM) connection. .", + "id": "OracleAsmConfig", + "properties": { + "asmService": { + "description": "Required. ASM service name for the Oracle ASM connection.", + "type": "string" + }, + "connectionAttributes": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Connection string attributes", + "type": "object" + }, + "hostname": { + "description": "Required. Hostname for the Oracle ASM connection.", + "type": "string" + }, + "oracleSslConfig": { + "$ref": "OracleSslConfig", + "description": "Optional. SSL configuration for the Oracle connection." + }, + "password": { + "description": "Optional. Password for the Oracle ASM connection.", + "type": "string" + }, + "port": { + "description": "Required. Port for the Oracle ASM connection.", + "format": "int32", + "type": "integer" + }, + "username": { + "description": "Required. Username for the Oracle ASM connection.", + "type": "string" + } + }, + "type": "object" + }, + "OracleAsmLogFileAccess": { + "description": "Configuration to use Oracle ASM to access the log files.", + "id": "OracleAsmLogFileAccess", + "properties": {}, + "type": "object" + }, "OracleColumn": { "description": "Oracle Column.", "id": "OracleColumn", @@ -2338,7 +2439,7 @@ "type": "object" }, "OracleProfile": { - "description": "Oracle database profile.", + "description": "Oracle database profile. Next ID: 10.", "id": "OracleProfile", "properties": { "connectionAttributes": { @@ -2356,12 +2457,16 @@ "description": "Required. Hostname for the Oracle connection.", "type": "string" }, + "oracleAsmConfig": { + "$ref": "OracleAsmConfig", + "description": "Optional. Configuration for Oracle ASM connection." + }, "oracleSslConfig": { "$ref": "OracleSslConfig", "description": "Optional. SSL configuration for the Oracle connection." }, "password": { - "description": "Required. Password for the Oracle connection.", + "description": "Optional. Password for the Oracle connection. Mutually exclusive with the `secret_manager_stored_password` field.", "type": "string" }, "port": { @@ -2369,6 +2474,10 @@ "format": "int32", "type": "integer" }, + "secretManagerStoredPassword": { + "description": "Optional. A reference to a Secret Manager resource name storing the Oracle connection password. Mutually exclusive with the `password` field.", + "type": "string" + }, "username": { "description": "Required. Username for the Oracle connection.", "type": "string" @@ -2424,6 +2533,10 @@ "description": "Oracle data source configuration", "id": "OracleSourceConfig", "properties": { + "binaryLogParser": { + "$ref": "BinaryLogParser", + "description": "Use Binary Log Parser." + }, "dropLargeObjects": { "$ref": "DropLargeObjects", "description": "Drop large object values." @@ -2436,6 +2549,10 @@ "$ref": "OracleRdbms", "description": "Oracle objects to include in the stream." }, + "logMiner": { + "$ref": "LogMiner", + "description": "Use LogMiner." + }, "maxConcurrentBackfillTasks": { "description": "Maximum number of concurrent backfill tasks. The number should be non-negative. If not set (or set to 0), the system's default value is used.", "format": "int32", @@ -2558,7 +2675,7 @@ "type": "string" }, "password": { - "description": "Required. Password for the PostgreSQL connection.", + "description": "Optional. Password for the PostgreSQL connection. Mutually exclusive with the `secret_manager_stored_password` field.", "type": "string" }, "port": { @@ -2678,7 +2795,7 @@ "type": "object" }, "name": { - "description": "Output only. The resource's name.", + "description": "Output only. Identifier. The resource's name.", "readOnly": true, "type": "string" }, @@ -2758,7 +2875,7 @@ "type": "object" }, "name": { - "description": "Output only. The resource's name.", + "description": "Output only. Identifier. The resource's name.", "readOnly": true, "type": "string" }, @@ -2869,6 +2986,10 @@ "oracleScnPosition": { "$ref": "OracleScnPosition", "description": "Oracle SCN to start replicating from." + }, + "sqlServerLsnPosition": { + "$ref": "SqlServerLsnPosition", + "description": "SqlServer LSN to start replicating from." } }, "type": "object" @@ -2922,6 +3043,17 @@ }, "type": "object" }, + "SqlServerLsnPosition": { + "description": "SQL Server LSN position", + "id": "SqlServerLsnPosition", + "properties": { + "lsn": { + "description": "Required. Log sequence number (LSN) from where Logs will be read", + "type": "string" + } + }, + "type": "object" + }, "SqlServerObjectIdentifier": { "description": "SQLServer data source object identifier.", "id": "SqlServerObjectIdentifier", @@ -2938,7 +3070,7 @@ "type": "object" }, "SqlServerProfile": { - "description": "SQLServer database profile", + "description": "SQLServer database profile. Next ID: 8.", "id": "SqlServerProfile", "properties": { "database": { @@ -2950,7 +3082,7 @@ "type": "string" }, "password": { - "description": "Required. Password for the SQLServer connection.", + "description": "Optional. Password for the SQLServer connection. Mutually exclusive with the `secret_manager_stored_password` field.", "type": "string" }, "port": { @@ -3173,7 +3305,7 @@ "type": "string" }, "name": { - "description": "Output only. The stream's name.", + "description": "Output only. Identifier. The stream's name.", "readOnly": true, "type": "string" }, @@ -3249,7 +3381,7 @@ "type": "array" }, "name": { - "description": "Output only. The object resource's name.", + "description": "Output only. Identifier. The object resource's name.", "readOnly": true, "type": "string" }, diff --git a/discovery/datastream-v1alpha1.json b/discovery/datastream-v1alpha1.json index 6a3e4cb879..044c29c8cd 100644 --- a/discovery/datastream-v1alpha1.json +++ b/discovery/datastream-v1alpha1.json @@ -439,7 +439,7 @@ "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`.", + "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": "v1alpha1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "datastream.projects.locations.operations.cancel", @@ -1224,7 +1224,7 @@ } } }, - "revision": "20230802", + "revision": "20241204", "rootUrl": "https://datastream.googleapis.com/", "schemas": { "AvroFileFormat": { @@ -2076,7 +2076,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, diff --git a/discovery/deploymentmanager-alpha.json b/discovery/deploymentmanager-alpha.json index b31c759373..d14cceea5e 100644 --- a/discovery/deploymentmanager-alpha.json +++ b/discovery/deploymentmanager-alpha.json @@ -132,6 +132,10 @@ "required": true, "type": "string" }, + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -166,6 +170,10 @@ "required": true, "type": "string" }, + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -194,6 +202,10 @@ "project" ], "parameters": { + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -282,6 +294,10 @@ "required": true, "type": "string" }, + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -319,6 +335,10 @@ "required": true, "type": "string" }, + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -410,6 +430,10 @@ "required": true, "type": "string" }, + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -444,6 +468,10 @@ "required": true, "type": "string" }, + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -473,6 +501,10 @@ "resource" ], "parameters": { + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "optionsRequestedPolicyVersion": { "description": "Requested IAM Policy version.", "format": "int32", @@ -528,6 +560,10 @@ "location": "query", "type": "string" }, + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "preview": { "description": "If set to true, creates a deployment and creates \"shell\" resources but does not actually instantiate these resources. This allows you to preview what your deployment looks like. After previewing a deployment, you can deploy your resources by making a request with the `update()` method or you can use the `cancelPreview()` method to cancel the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it.", "location": "query", @@ -651,6 +687,10 @@ "required": true, "type": "string" }, + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "preview": { "default": "false", "description": "If set to true, updates the deployment and creates and updates the \"shell\" resources but does not actually alter or instantiate these resources. This allows you to preview what your deployment will look like. You can use this intent to preview how an update would affect your deployment. You must provide a `target.config` with a configuration if this is set to true. After previewing a deployment, you can deploy your resources by making a request with the `update()` or you can `cancelPreview()` to remove the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it.", @@ -761,6 +801,10 @@ "resource" ], "parameters": { + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -835,6 +879,10 @@ "required": true, "type": "string" }, + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "preview": { "default": "false", "description": "If set to true, updates the deployment and creates and updates the \"shell\" resources but does not actually alter or instantiate these resources. This allows you to preview what your deployment will look like. You can use this intent to preview how an update would affect your deployment. You must provide a `target.config` with a configuration if this is set to true. After previewing a deployment, you can deploy your resources by making a request with the `update()` or you can `cancelPreview()` to remove the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it.", @@ -883,6 +931,10 @@ "required": true, "type": "string" }, + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "manifest": { "description": "The name of the manifest for this request.", "location": "path", @@ -982,6 +1034,10 @@ "operation" ], "parameters": { + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "operation": { "description": "The name of the operation for this request.", "location": "path", @@ -1080,6 +1136,10 @@ "required": true, "type": "string" }, + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -1178,6 +1238,10 @@ "typeProvider" ], "parameters": { + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -1212,6 +1276,10 @@ "typeProvider" ], "parameters": { + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -1249,6 +1317,10 @@ "type" ], "parameters": { + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -1290,6 +1362,10 @@ "project" ], "parameters": { + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -1430,6 +1506,10 @@ "typeProvider" ], "parameters": { + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -1467,6 +1547,10 @@ "typeProvider" ], "parameters": { + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -1508,6 +1592,10 @@ "type" ], "parameters": { + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -1588,7 +1676,7 @@ } } }, - "revision": "20240215", + "revision": "20250102", "rootUrl": "https://deploymentmanager.googleapis.com/", "schemas": { "AsyncOptions": { @@ -1895,6 +1983,24 @@ }, "type": "object" }, + "DebugInfo": { + "description": "Describes additional debugging info.", + "id": "DebugInfo", + "properties": { + "detail": { + "description": "Additional debugging information provided by the server.", + "type": "string" + }, + "stackEntries": { + "description": "The stack trace entries indicating where the error occurred.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "Deployment": { "id": "Deployment", "properties": { @@ -2100,6 +2206,28 @@ }, "type": "object" }, + "ErrorInfo": { + "description": "Describes the cause of the error with structured details. Example of an error when contacting the \"pubsub.googleapis.com\" API when it is not enabled: { \"reason\": \"API_DISABLED\" \"domain\": \"googleapis.com\" \"metadata\": { \"resource\": \"projects/123\", \"service\": \"pubsub.googleapis.com\" } } This response indicates that the pubsub.googleapis.com API is not enabled. Example of an error that is returned when attempting to create a Spanner instance in a region that is out of stock: { \"reason\": \"STOCKOUT\" \"domain\": \"spanner.googleapis.com\", \"metadata\": { \"availableRegions\": \"us-central1,us-east2\" } }", + "id": "ErrorInfo", + "properties": { + "domain": { + "description": "The logical grouping to which the \"reason\" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: \"pubsub.googleapis.com\". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is \"googleapis.com\".", + "type": "string" + }, + "metadatas": { + "additionalProperties": { + "type": "string" + }, + "description": "Additional structured details about this error. Keys must match a regular expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{\"instanceLimit\": \"100/request\"}`, should be returned as, `{\"instanceLimitPerRequest\": \"100\"}`, if the client exceeds the number of instances that can be created in a single (batch) request.", + "type": "object" + }, + "reason": { + "description": "The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE.", + "type": "string" + } + }, + "type": "object" + }, "Expr": { "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", "id": "Expr", @@ -2141,6 +2269,39 @@ "policy": { "$ref": "Policy", "description": "REQUIRED: The complete policy to be applied to the 'resource'. The size of the policy is limited to a few 10s of KB. An empty policy is in general a valid policy but certain services (like Projects) might reject them." + }, + "updateMask": { + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "Help": { + "description": "Provides links to documentation or for performing an out of band action. For example, if a quota check failed with an error indicating the calling project hasn't enabled the accessed service, this can contain a URL pointing directly to the right place in the developer console to flip the bit.", + "id": "Help", + "properties": { + "links": { + "description": "URL(s) pointing to additional information on handling the current error.", + "items": { + "$ref": "HelpLink" + }, + "type": "array" + } + }, + "type": "object" + }, + "HelpLink": { + "description": "Describes a URL link.", + "id": "HelpLink", + "properties": { + "description": { + "description": "Describes what the link offers.", + "type": "string" + }, + "url": { + "description": "The URL of the link.", + "type": "string" } }, "type": "object" @@ -2209,6 +2370,21 @@ }, "type": "object" }, + "LocalizedMessage": { + "description": "Provides a localized error message that is safe to return to the user which can be attached to an RPC error.", + "id": "LocalizedMessage", + "properties": { + "locale": { + "description": "The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: \"en-US\", \"fr-CH\", \"es-MX\"", + "type": "string" + }, + "message": { + "description": "The localized error message in the above locale.", + "type": "string" + } + }, + "type": "object" + }, "Manifest": { "id": "Manifest", "properties": { @@ -2332,10 +2508,41 @@ "description": "[Output Only] The array of errors encountered while processing this operation.", "items": { "properties": { + "arguments": { + "description": "[Output Only] Optional error details WARNING: DO NOT MAKE VISIBLE This is for internal use-only (like componentization) (thus the visibility \"none\") and in case of public exposure it is strongly recommended to follow pattern of: https://aip.dev/193 and expose as details field.", + "items": { + "type": "string" + }, + "type": "array" + }, "code": { "description": "[Output Only] The error type identifier for this error.", "type": "string" }, + "debugInfo": { + "$ref": "DebugInfo" + }, + "errorDetails": { + "description": "[Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.", + "items": { + "properties": { + "errorInfo": { + "$ref": "ErrorInfo" + }, + "help": { + "$ref": "Help" + }, + "localizedMessage": { + "$ref": "LocalizedMessage" + }, + "quotaInfo": { + "$ref": "QuotaExceededInfo" + } + }, + "type": "object" + }, + "type": "array" + }, "location": { "description": "[Output Only] Indicates the field in the request that caused the error. This property is optional.", "type": "string" @@ -2403,6 +2610,10 @@ "description": "[Output Only] Server-defined URL for the resource.", "type": "string" }, + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "type": "string" + }, "setCommonInstanceMetadataOperationMetadata": { "$ref": "SetCommonInstanceMetadataOperationMetadata", "description": "[Output Only] If the operation is for projects.setCommonInstanceMetadata, this field will contain information on all underlying zonal actions and their state." @@ -2435,7 +2646,7 @@ "type": "string" }, "targetLink": { - "description": "[Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from.", + "description": "[Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the disk that the snapshot was created from.", "type": "string" }, "user": { @@ -2466,6 +2677,10 @@ "CLEANUP_FAILED", "FIELD_VALUE_OVERRIDEN", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "NETWORK_ENDPOINT_NOT_DETACHED", + "PAGE_MISSING_RESULTS", + "SSL_POLICY_ENABLED_FEATURES_NOT_FETCHED", + "RESOURCE_NOT_FOUND_WARNING", "MISSING_TYPE_DEPENDENCY", "EXTERNAL_API_WARNING", "SCHEMA_VALIDATION_IGNORED", @@ -2476,7 +2691,15 @@ "LARGE_DEPLOYMENT_WARNING", "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LIST_OVERHEAD_QUOTA_EXCEED" + "LIST_OVERHEAD_QUOTA_EXCEED", + "QUOTA_INFO_UNAVAILABLE", + "RESOURCE_USES_GLOBAL_DNS", + "RATE_LIMIT_EXCEEDED", + "RESERVED_ENTRY_135", + "RESERVED_ENTRY_136", + "RESERVED_ENTRY_139", + "RESERVED_ENTRY_141", + "RESERVED_ENTRY_142" ], "enumDeprecated": [ false, @@ -2506,6 +2729,18 @@ false, false, false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, false ], "enumDescriptions": [ @@ -2526,6 +2761,10 @@ "Warning about failed cleanup of transient changes made by a failed operation.", "Warning that value of a field has been overridden. Deprecated unused field.", "Warning that a resource is in use.", + "Warning that network endpoint was not detached.", + "Current page contains less results than requested but a next page token exists.", + "Warning that SSL policy resource in the response does not contain information about the list of enabled features.", + "Warning that a resource is not found.", "A resource depends on a missing type", "Warning that is present in an external api call", "When a resource schema validation is ignored.", @@ -2536,7 +2775,15 @@ "When deploying a deployment with a exceedingly large number of resources", "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter." + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "Quota information is not available to client requests (e.g: regions.list).", + "Indicates that a VM is using global DNS. Can also be used to indicate that a resource has attributes that could result in the creation of a VM that uses global DNS.", + "Resource can't be retrieved due to api quota exceeded.", + "Reserved entries for quickly adding new warnings without breaking dependent clients.", + "", + "", + "", + "" ], "type": "string" }, @@ -2680,6 +2927,50 @@ }, "type": "object" }, + "QuotaExceededInfo": { + "description": "Additional details for quota exceeded error for resource quota.", + "id": "QuotaExceededInfo", + "properties": { + "dimensions": { + "additionalProperties": { + "type": "string" + }, + "description": "The map holding related quota dimensions.", + "type": "object" + }, + "futureLimit": { + "description": "Future quota limit being rolled out. The limit's unit depends on the quota type or metric.", + "format": "double", + "type": "number" + }, + "limit": { + "description": "Current effective quota limit. The limit's unit depends on the quota type or metric.", + "format": "double", + "type": "number" + }, + "limitName": { + "description": "The name of the quota limit.", + "type": "string" + }, + "metricName": { + "description": "The Compute Engine quota metric name.", + "type": "string" + }, + "rolloutStatus": { + "description": "Rollout status of the future quota limit.", + "enum": [ + "ROLLOUT_STATUS_UNSPECIFIED", + "IN_PROGRESS" + ], + "enumDescriptions": [ + "ROLLOUT_STATUS_UNSPECIFIED - Rollout status is not specified. The default value.", + "IN_PROGRESS - A rollout is in process which will change the limit value to future limit." + ], + "type": "string" + } + }, + "type": "object" + }, "Resource": { "id": "Resource", "properties": { @@ -2774,6 +3065,10 @@ "CLEANUP_FAILED", "FIELD_VALUE_OVERRIDEN", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "NETWORK_ENDPOINT_NOT_DETACHED", + "PAGE_MISSING_RESULTS", + "SSL_POLICY_ENABLED_FEATURES_NOT_FETCHED", + "RESOURCE_NOT_FOUND_WARNING", "MISSING_TYPE_DEPENDENCY", "EXTERNAL_API_WARNING", "SCHEMA_VALIDATION_IGNORED", @@ -2784,7 +3079,15 @@ "LARGE_DEPLOYMENT_WARNING", "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LIST_OVERHEAD_QUOTA_EXCEED" + "LIST_OVERHEAD_QUOTA_EXCEED", + "QUOTA_INFO_UNAVAILABLE", + "RESOURCE_USES_GLOBAL_DNS", + "RATE_LIMIT_EXCEEDED", + "RESERVED_ENTRY_135", + "RESERVED_ENTRY_136", + "RESERVED_ENTRY_139", + "RESERVED_ENTRY_141", + "RESERVED_ENTRY_142" ], "enumDeprecated": [ false, @@ -2814,6 +3117,18 @@ false, false, false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, false ], "enumDescriptions": [ @@ -2834,6 +3149,10 @@ "Warning about failed cleanup of transient changes made by a failed operation.", "Warning that value of a field has been overridden. Deprecated unused field.", "Warning that a resource is in use.", + "Warning that network endpoint was not detached.", + "Current page contains less results than requested but a next page token exists.", + "Warning that SSL policy resource in the response does not contain information about the list of enabled features.", + "Warning that a resource is not found.", "A resource depends on a missing type", "Warning that is present in an external api call", "When a resource schema validation is ignored.", @@ -2844,7 +3163,15 @@ "When deploying a deployment with a exceedingly large number of resources", "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter." + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "Quota information is not available to client requests (e.g: regions.list).", + "Indicates that a VM is using global DNS. Can also be used to indicate that a resource has attributes that could result in the creation of a VM that uses global DNS.", + "Resource can't be retrieved due to api quota exceeded.", + "Reserved entries for quickly adding new warnings without breaking dependent clients.", + "", + "", + "", + "" ], "type": "string" }, @@ -2906,10 +3233,41 @@ "description": "[Output Only] The array of errors encountered while processing this operation.", "items": { "properties": { + "arguments": { + "description": "[Output Only] Optional error details WARNING: DO NOT MAKE VISIBLE This is for internal use-only (like componentization) (thus the visibility \"none\") and in case of public exposure it is strongly recommended to follow pattern of: https://aip.dev/193 and expose as details field.", + "items": { + "type": "string" + }, + "type": "array" + }, "code": { "description": "[Output Only] The error type identifier for this error.", "type": "string" }, + "debugInfo": { + "$ref": "DebugInfo" + }, + "errorDetails": { + "description": "[Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.", + "items": { + "properties": { + "errorInfo": { + "$ref": "ErrorInfo" + }, + "help": { + "$ref": "Help" + }, + "localizedMessage": { + "$ref": "LocalizedMessage" + }, + "quotaInfo": { + "$ref": "QuotaExceededInfo" + } + }, + "type": "object" + }, + "type": "array" + }, "location": { "description": "[Output Only] Indicates the field in the request that caused the error. This property is optional.", "type": "string" @@ -3019,6 +3377,10 @@ "CLEANUP_FAILED", "FIELD_VALUE_OVERRIDEN", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "NETWORK_ENDPOINT_NOT_DETACHED", + "PAGE_MISSING_RESULTS", + "SSL_POLICY_ENABLED_FEATURES_NOT_FETCHED", + "RESOURCE_NOT_FOUND_WARNING", "MISSING_TYPE_DEPENDENCY", "EXTERNAL_API_WARNING", "SCHEMA_VALIDATION_IGNORED", @@ -3029,7 +3391,15 @@ "LARGE_DEPLOYMENT_WARNING", "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LIST_OVERHEAD_QUOTA_EXCEED" + "LIST_OVERHEAD_QUOTA_EXCEED", + "QUOTA_INFO_UNAVAILABLE", + "RESOURCE_USES_GLOBAL_DNS", + "RATE_LIMIT_EXCEEDED", + "RESERVED_ENTRY_135", + "RESERVED_ENTRY_136", + "RESERVED_ENTRY_139", + "RESERVED_ENTRY_141", + "RESERVED_ENTRY_142" ], "enumDeprecated": [ false, @@ -3059,6 +3429,18 @@ false, false, false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, false ], "enumDescriptions": [ @@ -3079,6 +3461,10 @@ "Warning about failed cleanup of transient changes made by a failed operation.", "Warning that value of a field has been overridden. Deprecated unused field.", "Warning that a resource is in use.", + "Warning that network endpoint was not detached.", + "Current page contains less results than requested but a next page token exists.", + "Warning that SSL policy resource in the response does not contain information about the list of enabled features.", + "Warning that a resource is not found.", "A resource depends on a missing type", "Warning that is present in an external api call", "When a resource schema validation is ignored.", @@ -3089,7 +3475,15 @@ "When deploying a deployment with a exceedingly large number of resources", "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter." + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "Quota information is not available to client requests (e.g: regions.list).", + "Indicates that a VM is using global DNS. Can also be used to indicate that a resource has attributes that could result in the creation of a VM that uses global DNS.", + "Resource can't be retrieved due to api quota exceeded.", + "Reserved entries for quickly adding new warnings without breaking dependent clients.", + "", + "", + "", + "" ], "type": "string" }, diff --git a/discovery/deploymentmanager-v2.json b/discovery/deploymentmanager-v2.json index f464e86bc2..367a4b0056 100644 --- a/discovery/deploymentmanager-v2.json +++ b/discovery/deploymentmanager-v2.json @@ -182,6 +182,10 @@ "required": true, "type": "string" }, + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -216,6 +220,10 @@ "required": true, "type": "string" }, + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -245,6 +253,10 @@ "resource" ], "parameters": { + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "optionsRequestedPolicyVersion": { "description": "Requested IAM Policy version.", "format": "int32", @@ -298,6 +310,10 @@ "location": "query", "type": "string" }, + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "preview": { "description": "If set to true, creates a deployment and creates \"shell\" resources but does not actually instantiate these resources. This allows you to preview what your deployment looks like. After previewing a deployment, you can deploy your resources by making a request with the `update()` method or you can use the `cancelPreview()` method to cancel the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it.", "location": "query", @@ -419,6 +435,10 @@ "required": true, "type": "string" }, + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "preview": { "default": "false", "description": "If set to true, updates the deployment and creates and updates the \"shell\" resources but does not actually alter or instantiate these resources. This allows you to preview what your deployment will look like. You can use this intent to preview how an update would affect your deployment. You must provide a `target.config` with a configuration if this is set to true. After previewing a deployment, you can deploy your resources by making a request with the `update()` or you can `cancelPreview()` to remove the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it.", @@ -529,6 +549,10 @@ "resource" ], "parameters": { + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -601,6 +625,10 @@ "required": true, "type": "string" }, + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "preview": { "default": "false", "description": "If set to true, updates the deployment and creates and updates the \"shell\" resources but does not actually alter or instantiate these resources. This allows you to preview what your deployment will look like. You can use this intent to preview how an update would affect your deployment. You must provide a `target.config` with a configuration if this is set to true. After previewing a deployment, you can deploy your resources by making a request with the `update()` or you can `cancelPreview()` to remove the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it.", @@ -649,6 +677,10 @@ "required": true, "type": "string" }, + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "manifest": { "description": "The name of the manifest for this request.", "location": "path", @@ -748,6 +780,10 @@ "operation" ], "parameters": { + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "operation": { "description": "The name of the operation for this request.", "location": "path", @@ -846,6 +882,10 @@ "required": true, "type": "string" }, + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -988,7 +1028,7 @@ } } }, - "revision": "20240214", + "revision": "20250102", "rootUrl": "https://deploymentmanager.googleapis.com/", "schemas": { "AuditConfig": { @@ -1113,6 +1153,24 @@ }, "type": "object" }, + "DebugInfo": { + "description": "Describes additional debugging info.", + "id": "DebugInfo", + "properties": { + "detail": { + "description": "Additional debugging information provided by the server.", + "type": "string" + }, + "stackEntries": { + "description": "The stack trace entries indicating where the error occurred.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "Deployment": { "id": "Deployment", "properties": { @@ -1262,6 +1320,28 @@ }, "type": "object" }, + "ErrorInfo": { + "description": "Describes the cause of the error with structured details. Example of an error when contacting the \"pubsub.googleapis.com\" API when it is not enabled: { \"reason\": \"API_DISABLED\" \"domain\": \"googleapis.com\" \"metadata\": { \"resource\": \"projects/123\", \"service\": \"pubsub.googleapis.com\" } } This response indicates that the pubsub.googleapis.com API is not enabled. Example of an error that is returned when attempting to create a Spanner instance in a region that is out of stock: { \"reason\": \"STOCKOUT\" \"domain\": \"spanner.googleapis.com\", \"metadata\": { \"availableRegions\": \"us-central1,us-east2\" } }", + "id": "ErrorInfo", + "properties": { + "domain": { + "description": "The logical grouping to which the \"reason\" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: \"pubsub.googleapis.com\". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is \"googleapis.com\".", + "type": "string" + }, + "metadatas": { + "additionalProperties": { + "type": "string" + }, + "description": "Additional structured details about this error. Keys must match a regular expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{\"instanceLimit\": \"100/request\"}`, should be returned as, `{\"instanceLimitPerRequest\": \"100\"}`, if the client exceeds the number of instances that can be created in a single (batch) request.", + "type": "object" + }, + "reason": { + "description": "The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE.", + "type": "string" + } + }, + "type": "object" + }, "Expr": { "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", "id": "Expr", @@ -1303,6 +1383,39 @@ "policy": { "$ref": "Policy", "description": "REQUIRED: The complete policy to be applied to the 'resource'. The size of the policy is limited to a few 10s of KB. An empty policy is in general a valid policy but certain services (like Projects) might reject them." + }, + "updateMask": { + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "Help": { + "description": "Provides links to documentation or for performing an out of band action. For example, if a quota check failed with an error indicating the calling project hasn't enabled the accessed service, this can contain a URL pointing directly to the right place in the developer console to flip the bit.", + "id": "Help", + "properties": { + "links": { + "description": "URL(s) pointing to additional information on handling the current error.", + "items": { + "$ref": "HelpLink" + }, + "type": "array" + } + }, + "type": "object" + }, + "HelpLink": { + "description": "Describes a URL link.", + "id": "HelpLink", + "properties": { + "description": { + "description": "Describes what the link offers.", + "type": "string" + }, + "url": { + "description": "The URL of the link.", + "type": "string" } }, "type": "object" @@ -1334,6 +1447,21 @@ }, "type": "object" }, + "LocalizedMessage": { + "description": "Provides a localized error message that is safe to return to the user which can be attached to an RPC error.", + "id": "LocalizedMessage", + "properties": { + "locale": { + "description": "The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: \"en-US\", \"fr-CH\", \"es-MX\"", + "type": "string" + }, + "message": { + "description": "The localized error message in the above locale.", + "type": "string" + } + }, + "type": "object" + }, "Manifest": { "id": "Manifest", "properties": { @@ -1430,10 +1558,41 @@ "description": "[Output Only] The array of errors encountered while processing this operation.", "items": { "properties": { + "arguments": { + "description": "[Output Only] Optional error details WARNING: DO NOT MAKE VISIBLE This is for internal use-only (like componentization) (thus the visibility \"none\") and in case of public exposure it is strongly recommended to follow pattern of: https://aip.dev/193 and expose as details field.", + "items": { + "type": "string" + }, + "type": "array" + }, "code": { "description": "[Output Only] The error type identifier for this error.", "type": "string" }, + "debugInfo": { + "$ref": "DebugInfo" + }, + "errorDetails": { + "description": "[Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.", + "items": { + "properties": { + "errorInfo": { + "$ref": "ErrorInfo" + }, + "help": { + "$ref": "Help" + }, + "localizedMessage": { + "$ref": "LocalizedMessage" + }, + "quotaInfo": { + "$ref": "QuotaExceededInfo" + } + }, + "type": "object" + }, + "type": "array" + }, "location": { "description": "[Output Only] Indicates the field in the request that caused the error. This property is optional.", "type": "string" @@ -1501,6 +1660,10 @@ "description": "[Output Only] Server-defined URL for the resource.", "type": "string" }, + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "type": "string" + }, "setCommonInstanceMetadataOperationMetadata": { "$ref": "SetCommonInstanceMetadataOperationMetadata", "description": "[Output Only] If the operation is for projects.setCommonInstanceMetadata, this field will contain information on all underlying zonal actions and their state." @@ -1533,7 +1696,7 @@ "type": "string" }, "targetLink": { - "description": "[Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from.", + "description": "[Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the disk that the snapshot was created from.", "type": "string" }, "user": { @@ -1564,6 +1727,10 @@ "CLEANUP_FAILED", "FIELD_VALUE_OVERRIDEN", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "NETWORK_ENDPOINT_NOT_DETACHED", + "PAGE_MISSING_RESULTS", + "SSL_POLICY_ENABLED_FEATURES_NOT_FETCHED", + "RESOURCE_NOT_FOUND_WARNING", "MISSING_TYPE_DEPENDENCY", "EXTERNAL_API_WARNING", "SCHEMA_VALIDATION_IGNORED", @@ -1574,7 +1741,15 @@ "LARGE_DEPLOYMENT_WARNING", "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LIST_OVERHEAD_QUOTA_EXCEED" + "LIST_OVERHEAD_QUOTA_EXCEED", + "QUOTA_INFO_UNAVAILABLE", + "RESOURCE_USES_GLOBAL_DNS", + "RATE_LIMIT_EXCEEDED", + "RESERVED_ENTRY_135", + "RESERVED_ENTRY_136", + "RESERVED_ENTRY_139", + "RESERVED_ENTRY_141", + "RESERVED_ENTRY_142" ], "enumDeprecated": [ false, @@ -1604,6 +1779,18 @@ false, false, false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, false ], "enumDescriptions": [ @@ -1624,6 +1811,10 @@ "Warning about failed cleanup of transient changes made by a failed operation.", "Warning that value of a field has been overridden. Deprecated unused field.", "Warning that a resource is in use.", + "Warning that network endpoint was not detached.", + "Current page contains less results than requested but a next page token exists.", + "Warning that SSL policy resource in the response does not contain information about the list of enabled features.", + "Warning that a resource is not found.", "A resource depends on a missing type", "Warning that is present in an external api call", "When a resource schema validation is ignored.", @@ -1634,7 +1825,15 @@ "When deploying a deployment with a exceedingly large number of resources", "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter." + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "Quota information is not available to client requests (e.g: regions.list).", + "Indicates that a VM is using global DNS. Can also be used to indicate that a resource has attributes that could result in the creation of a VM that uses global DNS.", + "Resource can't be retrieved due to api quota exceeded.", + "Reserved entries for quickly adding new warnings without breaking dependent clients.", + "", + "", + "", + "" ], "type": "string" }, @@ -1720,6 +1919,50 @@ }, "type": "object" }, + "QuotaExceededInfo": { + "description": "Additional details for quota exceeded error for resource quota.", + "id": "QuotaExceededInfo", + "properties": { + "dimensions": { + "additionalProperties": { + "type": "string" + }, + "description": "The map holding related quota dimensions.", + "type": "object" + }, + "futureLimit": { + "description": "Future quota limit being rolled out. The limit's unit depends on the quota type or metric.", + "format": "double", + "type": "number" + }, + "limit": { + "description": "Current effective quota limit. The limit's unit depends on the quota type or metric.", + "format": "double", + "type": "number" + }, + "limitName": { + "description": "The name of the quota limit.", + "type": "string" + }, + "metricName": { + "description": "The Compute Engine quota metric name.", + "type": "string" + }, + "rolloutStatus": { + "description": "Rollout status of the future quota limit.", + "enum": [ + "ROLLOUT_STATUS_UNSPECIFIED", + "IN_PROGRESS" + ], + "enumDescriptions": [ + "ROLLOUT_STATUS_UNSPECIFIED - Rollout status is not specified. The default value.", + "IN_PROGRESS - A rollout is in process which will change the limit value to future limit." + ], + "type": "string" + } + }, + "type": "object" + }, "Resource": { "id": "Resource", "properties": { @@ -1791,6 +2034,10 @@ "CLEANUP_FAILED", "FIELD_VALUE_OVERRIDEN", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "NETWORK_ENDPOINT_NOT_DETACHED", + "PAGE_MISSING_RESULTS", + "SSL_POLICY_ENABLED_FEATURES_NOT_FETCHED", + "RESOURCE_NOT_FOUND_WARNING", "MISSING_TYPE_DEPENDENCY", "EXTERNAL_API_WARNING", "SCHEMA_VALIDATION_IGNORED", @@ -1801,7 +2048,15 @@ "LARGE_DEPLOYMENT_WARNING", "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LIST_OVERHEAD_QUOTA_EXCEED" + "LIST_OVERHEAD_QUOTA_EXCEED", + "QUOTA_INFO_UNAVAILABLE", + "RESOURCE_USES_GLOBAL_DNS", + "RATE_LIMIT_EXCEEDED", + "RESERVED_ENTRY_135", + "RESERVED_ENTRY_136", + "RESERVED_ENTRY_139", + "RESERVED_ENTRY_141", + "RESERVED_ENTRY_142" ], "enumDeprecated": [ false, @@ -1831,6 +2086,18 @@ false, false, false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, false ], "enumDescriptions": [ @@ -1851,6 +2118,10 @@ "Warning about failed cleanup of transient changes made by a failed operation.", "Warning that value of a field has been overridden. Deprecated unused field.", "Warning that a resource is in use.", + "Warning that network endpoint was not detached.", + "Current page contains less results than requested but a next page token exists.", + "Warning that SSL policy resource in the response does not contain information about the list of enabled features.", + "Warning that a resource is not found.", "A resource depends on a missing type", "Warning that is present in an external api call", "When a resource schema validation is ignored.", @@ -1861,7 +2132,15 @@ "When deploying a deployment with a exceedingly large number of resources", "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter." + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "Quota information is not available to client requests (e.g: regions.list).", + "Indicates that a VM is using global DNS. Can also be used to indicate that a resource has attributes that could result in the creation of a VM that uses global DNS.", + "Resource can't be retrieved due to api quota exceeded.", + "Reserved entries for quickly adding new warnings without breaking dependent clients.", + "", + "", + "", + "" ], "type": "string" }, @@ -1919,10 +2198,41 @@ "description": "[Output Only] The array of errors encountered while processing this operation.", "items": { "properties": { + "arguments": { + "description": "[Output Only] Optional error details WARNING: DO NOT MAKE VISIBLE This is for internal use-only (like componentization) (thus the visibility \"none\") and in case of public exposure it is strongly recommended to follow pattern of: https://aip.dev/193 and expose as details field.", + "items": { + "type": "string" + }, + "type": "array" + }, "code": { "description": "[Output Only] The error type identifier for this error.", "type": "string" }, + "debugInfo": { + "$ref": "DebugInfo" + }, + "errorDetails": { + "description": "[Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.", + "items": { + "properties": { + "errorInfo": { + "$ref": "ErrorInfo" + }, + "help": { + "$ref": "Help" + }, + "localizedMessage": { + "$ref": "LocalizedMessage" + }, + "quotaInfo": { + "$ref": "QuotaExceededInfo" + } + }, + "type": "object" + }, + "type": "array" + }, "location": { "description": "[Output Only] Indicates the field in the request that caused the error. This property is optional.", "type": "string" @@ -2013,6 +2323,10 @@ "CLEANUP_FAILED", "FIELD_VALUE_OVERRIDEN", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "NETWORK_ENDPOINT_NOT_DETACHED", + "PAGE_MISSING_RESULTS", + "SSL_POLICY_ENABLED_FEATURES_NOT_FETCHED", + "RESOURCE_NOT_FOUND_WARNING", "MISSING_TYPE_DEPENDENCY", "EXTERNAL_API_WARNING", "SCHEMA_VALIDATION_IGNORED", @@ -2023,7 +2337,15 @@ "LARGE_DEPLOYMENT_WARNING", "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LIST_OVERHEAD_QUOTA_EXCEED" + "LIST_OVERHEAD_QUOTA_EXCEED", + "QUOTA_INFO_UNAVAILABLE", + "RESOURCE_USES_GLOBAL_DNS", + "RATE_LIMIT_EXCEEDED", + "RESERVED_ENTRY_135", + "RESERVED_ENTRY_136", + "RESERVED_ENTRY_139", + "RESERVED_ENTRY_141", + "RESERVED_ENTRY_142" ], "enumDeprecated": [ false, @@ -2053,6 +2375,18 @@ false, false, false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, false ], "enumDescriptions": [ @@ -2073,6 +2407,10 @@ "Warning about failed cleanup of transient changes made by a failed operation.", "Warning that value of a field has been overridden. Deprecated unused field.", "Warning that a resource is in use.", + "Warning that network endpoint was not detached.", + "Current page contains less results than requested but a next page token exists.", + "Warning that SSL policy resource in the response does not contain information about the list of enabled features.", + "Warning that a resource is not found.", "A resource depends on a missing type", "Warning that is present in an external api call", "When a resource schema validation is ignored.", @@ -2083,7 +2421,15 @@ "When deploying a deployment with a exceedingly large number of resources", "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter." + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "Quota information is not available to client requests (e.g: regions.list).", + "Indicates that a VM is using global DNS. Can also be used to indicate that a resource has attributes that could result in the creation of a VM that uses global DNS.", + "Resource can't be retrieved due to api quota exceeded.", + "Reserved entries for quickly adding new warnings without breaking dependent clients.", + "", + "", + "", + "" ], "type": "string" }, diff --git a/discovery/deploymentmanager-v2beta.json b/discovery/deploymentmanager-v2beta.json index 1f17d1148c..226166cf71 100644 --- a/discovery/deploymentmanager-v2beta.json +++ b/discovery/deploymentmanager-v2beta.json @@ -132,6 +132,10 @@ "required": true, "type": "string" }, + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -166,6 +170,10 @@ "required": true, "type": "string" }, + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -194,6 +202,10 @@ "project" ], "parameters": { + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -282,6 +294,10 @@ "required": true, "type": "string" }, + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -319,6 +335,10 @@ "required": true, "type": "string" }, + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -410,6 +430,10 @@ "required": true, "type": "string" }, + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -444,6 +468,10 @@ "required": true, "type": "string" }, + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -473,6 +501,10 @@ "resource" ], "parameters": { + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "optionsRequestedPolicyVersion": { "description": "Requested IAM Policy version.", "format": "int32", @@ -528,6 +560,10 @@ "location": "query", "type": "string" }, + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "preview": { "description": "If set to true, creates a deployment and creates \"shell\" resources but does not actually instantiate these resources. This allows you to preview what your deployment looks like. After previewing a deployment, you can deploy your resources by making a request with the `update()` method or you can use the `cancelPreview()` method to cancel the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it.", "location": "query", @@ -651,6 +687,10 @@ "required": true, "type": "string" }, + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "preview": { "default": "false", "description": "If set to true, updates the deployment and creates and updates the \"shell\" resources but does not actually alter or instantiate these resources. This allows you to preview what your deployment will look like. You can use this intent to preview how an update would affect your deployment. You must provide a `target.config` with a configuration if this is set to true. After previewing a deployment, you can deploy your resources by making a request with the `update()` or you can `cancelPreview()` to remove the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it.", @@ -761,6 +801,10 @@ "resource" ], "parameters": { + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "Project ID for this request.", "location": "path", @@ -835,6 +879,10 @@ "required": true, "type": "string" }, + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "preview": { "default": "false", "description": "If set to true, updates the deployment and creates and updates the \"shell\" resources but does not actually alter or instantiate these resources. This allows you to preview what your deployment will look like. You can use this intent to preview how an update would affect your deployment. You must provide a `target.config` with a configuration if this is set to true. After previewing a deployment, you can deploy your resources by making a request with the `update()` or you can `cancelPreview()` to remove the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it.", @@ -883,6 +931,10 @@ "required": true, "type": "string" }, + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "manifest": { "description": "The name of the manifest for this request.", "location": "path", @@ -982,6 +1034,10 @@ "operation" ], "parameters": { + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "operation": { "description": "The name of the operation for this request.", "location": "path", @@ -1080,6 +1136,10 @@ "required": true, "type": "string" }, + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -1178,6 +1238,10 @@ "typeProvider" ], "parameters": { + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -1212,6 +1276,10 @@ "typeProvider" ], "parameters": { + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -1249,6 +1317,10 @@ "type" ], "parameters": { + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -1290,6 +1362,10 @@ "project" ], "parameters": { + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -1430,6 +1506,10 @@ "typeProvider" ], "parameters": { + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -1467,6 +1547,10 @@ "typeProvider" ], "parameters": { + "header.bypassBillingFilter": { + "location": "query", + "type": "boolean" + }, "project": { "description": "The project ID for this request.", "location": "path", @@ -1552,7 +1636,7 @@ } } }, - "revision": "20240215", + "revision": "20250102", "rootUrl": "https://deploymentmanager.googleapis.com/", "schemas": { "AsyncOptions": { @@ -1855,6 +1939,24 @@ }, "type": "object" }, + "DebugInfo": { + "description": "Describes additional debugging info.", + "id": "DebugInfo", + "properties": { + "detail": { + "description": "Additional debugging information provided by the server.", + "type": "string" + }, + "stackEntries": { + "description": "The stack trace entries indicating where the error occurred.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "Deployment": { "id": "Deployment", "properties": { @@ -2030,6 +2132,28 @@ }, "type": "object" }, + "ErrorInfo": { + "description": "Describes the cause of the error with structured details. Example of an error when contacting the \"pubsub.googleapis.com\" API when it is not enabled: { \"reason\": \"API_DISABLED\" \"domain\": \"googleapis.com\" \"metadata\": { \"resource\": \"projects/123\", \"service\": \"pubsub.googleapis.com\" } } This response indicates that the pubsub.googleapis.com API is not enabled. Example of an error that is returned when attempting to create a Spanner instance in a region that is out of stock: { \"reason\": \"STOCKOUT\" \"domain\": \"spanner.googleapis.com\", \"metadata\": { \"availableRegions\": \"us-central1,us-east2\" } }", + "id": "ErrorInfo", + "properties": { + "domain": { + "description": "The logical grouping to which the \"reason\" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: \"pubsub.googleapis.com\". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is \"googleapis.com\".", + "type": "string" + }, + "metadatas": { + "additionalProperties": { + "type": "string" + }, + "description": "Additional structured details about this error. Keys must match a regular expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{\"instanceLimit\": \"100/request\"}`, should be returned as, `{\"instanceLimitPerRequest\": \"100\"}`, if the client exceeds the number of instances that can be created in a single (batch) request.", + "type": "object" + }, + "reason": { + "description": "The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE.", + "type": "string" + } + }, + "type": "object" + }, "Expr": { "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", "id": "Expr", @@ -2071,6 +2195,39 @@ "policy": { "$ref": "Policy", "description": "REQUIRED: The complete policy to be applied to the 'resource'. The size of the policy is limited to a few 10s of KB. An empty policy is in general a valid policy but certain services (like Projects) might reject them." + }, + "updateMask": { + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "Help": { + "description": "Provides links to documentation or for performing an out of band action. For example, if a quota check failed with an error indicating the calling project hasn't enabled the accessed service, this can contain a URL pointing directly to the right place in the developer console to flip the bit.", + "id": "Help", + "properties": { + "links": { + "description": "URL(s) pointing to additional information on handling the current error.", + "items": { + "$ref": "HelpLink" + }, + "type": "array" + } + }, + "type": "object" + }, + "HelpLink": { + "description": "Describes a URL link.", + "id": "HelpLink", + "properties": { + "description": { + "description": "Describes what the link offers.", + "type": "string" + }, + "url": { + "description": "The URL of the link.", + "type": "string" } }, "type": "object" @@ -2139,6 +2296,21 @@ }, "type": "object" }, + "LocalizedMessage": { + "description": "Provides a localized error message that is safe to return to the user which can be attached to an RPC error.", + "id": "LocalizedMessage", + "properties": { + "locale": { + "description": "The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: \"en-US\", \"fr-CH\", \"es-MX\"", + "type": "string" + }, + "message": { + "description": "The localized error message in the above locale.", + "type": "string" + } + }, + "type": "object" + }, "Manifest": { "id": "Manifest", "properties": { @@ -2235,10 +2407,41 @@ "description": "[Output Only] The array of errors encountered while processing this operation.", "items": { "properties": { + "arguments": { + "description": "[Output Only] Optional error details WARNING: DO NOT MAKE VISIBLE This is for internal use-only (like componentization) (thus the visibility \"none\") and in case of public exposure it is strongly recommended to follow pattern of: https://aip.dev/193 and expose as details field.", + "items": { + "type": "string" + }, + "type": "array" + }, "code": { "description": "[Output Only] The error type identifier for this error.", "type": "string" }, + "debugInfo": { + "$ref": "DebugInfo" + }, + "errorDetails": { + "description": "[Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.", + "items": { + "properties": { + "errorInfo": { + "$ref": "ErrorInfo" + }, + "help": { + "$ref": "Help" + }, + "localizedMessage": { + "$ref": "LocalizedMessage" + }, + "quotaInfo": { + "$ref": "QuotaExceededInfo" + } + }, + "type": "object" + }, + "type": "array" + }, "location": { "description": "[Output Only] Indicates the field in the request that caused the error. This property is optional.", "type": "string" @@ -2306,6 +2509,10 @@ "description": "[Output Only] Server-defined URL for the resource.", "type": "string" }, + "selfLinkWithId": { + "description": "[Output Only] Server-defined URL for this resource with the resource id.", + "type": "string" + }, "setCommonInstanceMetadataOperationMetadata": { "$ref": "SetCommonInstanceMetadataOperationMetadata", "description": "[Output Only] If the operation is for projects.setCommonInstanceMetadata, this field will contain information on all underlying zonal actions and their state." @@ -2338,7 +2545,7 @@ "type": "string" }, "targetLink": { - "description": "[Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from.", + "description": "[Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the disk that the snapshot was created from.", "type": "string" }, "user": { @@ -2369,6 +2576,10 @@ "CLEANUP_FAILED", "FIELD_VALUE_OVERRIDEN", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "NETWORK_ENDPOINT_NOT_DETACHED", + "PAGE_MISSING_RESULTS", + "SSL_POLICY_ENABLED_FEATURES_NOT_FETCHED", + "RESOURCE_NOT_FOUND_WARNING", "MISSING_TYPE_DEPENDENCY", "EXTERNAL_API_WARNING", "SCHEMA_VALIDATION_IGNORED", @@ -2379,7 +2590,15 @@ "LARGE_DEPLOYMENT_WARNING", "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LIST_OVERHEAD_QUOTA_EXCEED" + "LIST_OVERHEAD_QUOTA_EXCEED", + "QUOTA_INFO_UNAVAILABLE", + "RESOURCE_USES_GLOBAL_DNS", + "RATE_LIMIT_EXCEEDED", + "RESERVED_ENTRY_135", + "RESERVED_ENTRY_136", + "RESERVED_ENTRY_139", + "RESERVED_ENTRY_141", + "RESERVED_ENTRY_142" ], "enumDeprecated": [ false, @@ -2409,6 +2628,18 @@ false, false, false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, false ], "enumDescriptions": [ @@ -2429,6 +2660,10 @@ "Warning about failed cleanup of transient changes made by a failed operation.", "Warning that value of a field has been overridden. Deprecated unused field.", "Warning that a resource is in use.", + "Warning that network endpoint was not detached.", + "Current page contains less results than requested but a next page token exists.", + "Warning that SSL policy resource in the response does not contain information about the list of enabled features.", + "Warning that a resource is not found.", "A resource depends on a missing type", "Warning that is present in an external api call", "When a resource schema validation is ignored.", @@ -2439,7 +2674,15 @@ "When deploying a deployment with a exceedingly large number of resources", "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter." + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "Quota information is not available to client requests (e.g: regions.list).", + "Indicates that a VM is using global DNS. Can also be used to indicate that a resource has attributes that could result in the creation of a VM that uses global DNS.", + "Resource can't be retrieved due to api quota exceeded.", + "Reserved entries for quickly adding new warnings without breaking dependent clients.", + "", + "", + "", + "" ], "type": "string" }, @@ -2583,6 +2826,50 @@ }, "type": "object" }, + "QuotaExceededInfo": { + "description": "Additional details for quota exceeded error for resource quota.", + "id": "QuotaExceededInfo", + "properties": { + "dimensions": { + "additionalProperties": { + "type": "string" + }, + "description": "The map holding related quota dimensions.", + "type": "object" + }, + "futureLimit": { + "description": "Future quota limit being rolled out. The limit's unit depends on the quota type or metric.", + "format": "double", + "type": "number" + }, + "limit": { + "description": "Current effective quota limit. The limit's unit depends on the quota type or metric.", + "format": "double", + "type": "number" + }, + "limitName": { + "description": "The name of the quota limit.", + "type": "string" + }, + "metricName": { + "description": "The Compute Engine quota metric name.", + "type": "string" + }, + "rolloutStatus": { + "description": "Rollout status of the future quota limit.", + "enum": [ + "ROLLOUT_STATUS_UNSPECIFIED", + "IN_PROGRESS" + ], + "enumDescriptions": [ + "ROLLOUT_STATUS_UNSPECIFIED - Rollout status is not specified. The default value.", + "IN_PROGRESS - A rollout is in process which will change the limit value to future limit." + ], + "type": "string" + } + }, + "type": "object" + }, "Resource": { "id": "Resource", "properties": { @@ -2654,6 +2941,10 @@ "CLEANUP_FAILED", "FIELD_VALUE_OVERRIDEN", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "NETWORK_ENDPOINT_NOT_DETACHED", + "PAGE_MISSING_RESULTS", + "SSL_POLICY_ENABLED_FEATURES_NOT_FETCHED", + "RESOURCE_NOT_FOUND_WARNING", "MISSING_TYPE_DEPENDENCY", "EXTERNAL_API_WARNING", "SCHEMA_VALIDATION_IGNORED", @@ -2664,7 +2955,15 @@ "LARGE_DEPLOYMENT_WARNING", "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LIST_OVERHEAD_QUOTA_EXCEED" + "LIST_OVERHEAD_QUOTA_EXCEED", + "QUOTA_INFO_UNAVAILABLE", + "RESOURCE_USES_GLOBAL_DNS", + "RATE_LIMIT_EXCEEDED", + "RESERVED_ENTRY_135", + "RESERVED_ENTRY_136", + "RESERVED_ENTRY_139", + "RESERVED_ENTRY_141", + "RESERVED_ENTRY_142" ], "enumDeprecated": [ false, @@ -2694,6 +2993,18 @@ false, false, false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, false ], "enumDescriptions": [ @@ -2714,6 +3025,10 @@ "Warning about failed cleanup of transient changes made by a failed operation.", "Warning that value of a field has been overridden. Deprecated unused field.", "Warning that a resource is in use.", + "Warning that network endpoint was not detached.", + "Current page contains less results than requested but a next page token exists.", + "Warning that SSL policy resource in the response does not contain information about the list of enabled features.", + "Warning that a resource is not found.", "A resource depends on a missing type", "Warning that is present in an external api call", "When a resource schema validation is ignored.", @@ -2724,7 +3039,15 @@ "When deploying a deployment with a exceedingly large number of resources", "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter." + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "Quota information is not available to client requests (e.g: regions.list).", + "Indicates that a VM is using global DNS. Can also be used to indicate that a resource has attributes that could result in the creation of a VM that uses global DNS.", + "Resource can't be retrieved due to api quota exceeded.", + "Reserved entries for quickly adding new warnings without breaking dependent clients.", + "", + "", + "", + "" ], "type": "string" }, @@ -2782,10 +3105,41 @@ "description": "[Output Only] The array of errors encountered while processing this operation.", "items": { "properties": { + "arguments": { + "description": "[Output Only] Optional error details WARNING: DO NOT MAKE VISIBLE This is for internal use-only (like componentization) (thus the visibility \"none\") and in case of public exposure it is strongly recommended to follow pattern of: https://aip.dev/193 and expose as details field.", + "items": { + "type": "string" + }, + "type": "array" + }, "code": { "description": "[Output Only] The error type identifier for this error.", "type": "string" }, + "debugInfo": { + "$ref": "DebugInfo" + }, + "errorDetails": { + "description": "[Output Only] An optional list of messages that contain the error details. There is a set of defined message types to use for providing details.The syntax depends on the error code. For example, QuotaExceededInfo will have details when the error code is QUOTA_EXCEEDED.", + "items": { + "properties": { + "errorInfo": { + "$ref": "ErrorInfo" + }, + "help": { + "$ref": "Help" + }, + "localizedMessage": { + "$ref": "LocalizedMessage" + }, + "quotaInfo": { + "$ref": "QuotaExceededInfo" + } + }, + "type": "object" + }, + "type": "array" + }, "location": { "description": "[Output Only] Indicates the field in the request that caused the error. This property is optional.", "type": "string" @@ -2876,6 +3230,10 @@ "CLEANUP_FAILED", "FIELD_VALUE_OVERRIDEN", "RESOURCE_IN_USE_BY_OTHER_RESOURCE_WARNING", + "NETWORK_ENDPOINT_NOT_DETACHED", + "PAGE_MISSING_RESULTS", + "SSL_POLICY_ENABLED_FEATURES_NOT_FETCHED", + "RESOURCE_NOT_FOUND_WARNING", "MISSING_TYPE_DEPENDENCY", "EXTERNAL_API_WARNING", "SCHEMA_VALIDATION_IGNORED", @@ -2886,7 +3244,15 @@ "LARGE_DEPLOYMENT_WARNING", "NEXT_HOP_INSTANCE_HAS_NO_IPV6_INTERFACE", "INVALID_HEALTH_CHECK_FOR_DYNAMIC_WIEGHTED_LB", - "LIST_OVERHEAD_QUOTA_EXCEED" + "LIST_OVERHEAD_QUOTA_EXCEED", + "QUOTA_INFO_UNAVAILABLE", + "RESOURCE_USES_GLOBAL_DNS", + "RATE_LIMIT_EXCEEDED", + "RESERVED_ENTRY_135", + "RESERVED_ENTRY_136", + "RESERVED_ENTRY_139", + "RESERVED_ENTRY_141", + "RESERVED_ENTRY_142" ], "enumDeprecated": [ false, @@ -2916,6 +3282,18 @@ false, false, false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, false ], "enumDescriptions": [ @@ -2936,6 +3314,10 @@ "Warning about failed cleanup of transient changes made by a failed operation.", "Warning that value of a field has been overridden. Deprecated unused field.", "Warning that a resource is in use.", + "Warning that network endpoint was not detached.", + "Current page contains less results than requested but a next page token exists.", + "Warning that SSL policy resource in the response does not contain information about the list of enabled features.", + "Warning that a resource is not found.", "A resource depends on a missing type", "Warning that is present in an external api call", "When a resource schema validation is ignored.", @@ -2946,7 +3328,15 @@ "When deploying a deployment with a exceedingly large number of resources", "The route's nextHopInstance URL refers to an instance that does not have an ipv6 interface on the same network as the route.", "A WEIGHTED_MAGLEV backend service is associated with a health check that is not of type HTTP/HTTPS/HTTP2.", - "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter." + "Resource can't be retrieved due to list overhead quota exceed which captures the amount of resources filtered out by user-defined list filter.", + "Quota information is not available to client requests (e.g: regions.list).", + "Indicates that a VM is using global DNS. Can also be used to indicate that a resource has attributes that could result in the creation of a VM that uses global DNS.", + "Resource can't be retrieved due to api quota exceeded.", + "Reserved entries for quickly adding new warnings without breaking dependent clients.", + "", + "", + "", + "" ], "type": "string" }, diff --git a/discovery/developerconnect-v1.json b/discovery/developerconnect-v1.json index a0ebd2a6f7..bed58808b8 100644 --- a/discovery/developerconnect-v1.json +++ b/discovery/developerconnect-v1.json @@ -473,7 +473,7 @@ "type": "string" }, "updateMask": { - "description": "Optional. Required. Field mask is used to specify the fields to be overwritten in the Connection resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "description": "Required. Field mask is used to specify the fields to be overwritten in the Connection resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -494,6 +494,31 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "processGitHubEnterpriseWebhook": { + "description": "ProcessGitHubEnterpriseWebhook is called by the external GitHub Enterprise instances for notifying events.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections:processGitHubEnterpriseWebhook", + "httpMethod": "POST", + "id": "developerconnect.projects.locations.connections.processGitHubEnterpriseWebhook", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Project and location where the webhook will be received. Format: `projects/*/locations/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/connections:processGitHubEnterpriseWebhook", + "request": { + "$ref": "ProcessGitHubEnterpriseWebhookRequest" + }, + "response": { + "$ref": "Empty" + } } }, "resources": { @@ -759,6 +784,56 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "processGitLabEnterpriseWebhook": { + "description": "ProcessGitLabEnterpriseWebhook is called by the external GitLab Enterprise instances for notifying events.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/gitRepositoryLinks/{gitRepositoryLinksId}:processGitLabEnterpriseWebhook", + "httpMethod": "POST", + "id": "developerconnect.projects.locations.connections.gitRepositoryLinks.processGitLabEnterpriseWebhook", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The GitRepositoryLink resource where the webhook will be received. Format: `projects/*/locations/*/connections/*/gitRepositoryLinks/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/gitRepositoryLinks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:processGitLabEnterpriseWebhook", + "request": { + "$ref": "ProcessGitLabEnterpriseWebhookRequest" + }, + "response": { + "$ref": "Empty" + } + }, + "processGitLabWebhook": { + "description": "ProcessGitLabWebhook is called by the GitLab.com for notifying events.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}/gitRepositoryLinks/{gitRepositoryLinksId}:processGitLabWebhook", + "httpMethod": "POST", + "id": "developerconnect.projects.locations.connections.gitRepositoryLinks.processGitLabWebhook", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The GitRepositoryLink resource where the webhook will be received. Format: `projects/*/locations/*/connections/*/gitRepositoryLinks/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/connections/[^/]+/gitRepositoryLinks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:processGitLabWebhook", + "request": { + "$ref": "ProcessGitLabWebhookRequest" + }, + "response": { + "$ref": "Empty" + } } } } @@ -767,7 +842,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "developerconnect.projects.locations.operations.cancel", @@ -892,7 +967,7 @@ } } }, - "revision": "20240926", + "revision": "20241205", "rootUrl": "https://developerconnect.googleapis.com/", "schemas": { "CancelOperationRequest": { @@ -974,7 +1049,7 @@ "type": "boolean" }, "uid": { - "description": "Output only. A system-assigned unique identifier for a the GitRepositoryLink.", + "description": "Output only. A system-assigned unique identifier for the Connection.", "readOnly": true, "type": "string" }, @@ -1296,7 +1371,7 @@ "type": "boolean" }, "uid": { - "description": "Output only. A system-assigned unique identifier for a the GitRepositoryLink.", + "description": "Output only. A system-assigned unique identifier for the GitRepositoryLink.", "readOnly": true, "type": "string" }, @@ -1314,6 +1389,33 @@ }, "type": "object" }, + "HttpBody": { + "description": "Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.", + "id": "HttpBody", + "properties": { + "contentType": { + "description": "The HTTP Content-Type header value specifying the content type of the body.", + "type": "string" + }, + "data": { + "description": "The HTTP request/response body as raw binary.", + "format": "byte", + "type": "string" + }, + "extensions": { + "description": "Application specific response metadata. Must be set in the first response for streaming APIs.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, "Installation": { "description": "Represents an installation of the GitHub App.", "id": "Installation", @@ -1574,7 +1676,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -1596,6 +1698,39 @@ }, "type": "object" }, + "ProcessGitHubEnterpriseWebhookRequest": { + "description": "RPC request object accepted by the ProcessGitHubEnterpriseWebhook RPC method.", + "id": "ProcessGitHubEnterpriseWebhookRequest", + "properties": { + "body": { + "$ref": "HttpBody", + "description": "Required. HTTP request body." + } + }, + "type": "object" + }, + "ProcessGitLabEnterpriseWebhookRequest": { + "description": "RPC request object accepted by the ProcessGitLabEnterpriseWebhook RPC method.", + "id": "ProcessGitLabEnterpriseWebhookRequest", + "properties": { + "body": { + "$ref": "HttpBody", + "description": "Required. HTTP request body." + } + }, + "type": "object" + }, + "ProcessGitLabWebhookRequest": { + "description": "RPC request object accepted by the ProcessGitLabWebhook RPC method.", + "id": "ProcessGitLabWebhookRequest", + "properties": { + "body": { + "$ref": "HttpBody", + "description": "Required. HTTP request body." + } + }, + "type": "object" + }, "ServiceDirectoryConfig": { "description": "ServiceDirectoryConfig represents Service Directory configuration for a connection.", "id": "ServiceDirectoryConfig", diff --git a/discovery/dialogflow-v2.json b/discovery/dialogflow-v2.json index 4339f0185c..f60c05d7ec 100644 --- a/discovery/dialogflow-v2.json +++ b/discovery/dialogflow-v2.json @@ -3060,7 +3060,7 @@ ] }, "create": { - "description": "Creates a conversation profile in the specified project. ConversationProfile.CreateTime and ConversationProfile.UpdateTime aren't populated in the response. You can retrieve them via GetConversationProfile API.", + "description": "Creates a conversation profile in the specified project. ConversationProfile.create_time and ConversationProfile.update_time aren't populated in the response. You can retrieve them via GetConversationProfile API.", "flatPath": "v2/projects/{projectsId}/conversationProfiles", "httpMethod": "POST", "id": "dialogflow.projects.conversationProfiles.create", @@ -3178,7 +3178,7 @@ ] }, "patch": { - "description": "Updates the specified conversation profile. ConversationProfile.CreateTime and ConversationProfile.UpdateTime aren't populated in the response. You can retrieve them via GetConversationProfile API.", + "description": "Updates the specified conversation profile. ConversationProfile.create_time and ConversationProfile.update_time aren't populated in the response. You can retrieve them via GetConversationProfile API.", "flatPath": "v2/projects/{projectsId}/conversationProfiles/{conversationProfilesId}", "httpMethod": "PATCH", "id": "dialogflow.projects.conversationProfiles.patch", @@ -3284,7 +3284,7 @@ ], "parameters": { "conversationId": { - "description": "Optional. Identifier of the conversation. Generally it's auto generated by Google. Only set it if you cannot wait for the response to return a auto-generated one to you. The conversation ID must be compliant with the regression fomula `a-zA-Z*` with the characters length in range of [3,64]. If the field is provided, the caller is resposible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", + "description": "Optional. Identifier of the conversation. Generally it's auto generated by Google. Only set it if you cannot wait for the response to return a auto-generated one to you. The conversation ID must be compliant with the regression formula `a-zA-Z*` with the characters length in range of [3,64]. If the field is provided, the caller is responsible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", "location": "query", "type": "string" }, @@ -3782,7 +3782,7 @@ ], "parameters": { "generatorId": { - "description": "Optional. The ID to use for the generator, which will become the final component of the generator's resource name. The generator ID must be compliant with the regression fomula `a-zA-Z*` with the characters length in range of [3,64]. If the field is not provided, an Id will be auto-generated. If the field is provided, the caller is resposible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", + "description": "Optional. The ID to use for the generator, which will become the final component of the generator's resource name. The generator ID must be compliant with the regression formula `a-zA-Z*` with the characters length in range of [3,64]. If the field is not provided, an Id will be auto-generated. If the field is provided, the caller is responsible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", "location": "query", "type": "string" }, @@ -7033,7 +7033,7 @@ ] }, "create": { - "description": "Creates a conversation profile in the specified project. ConversationProfile.CreateTime and ConversationProfile.UpdateTime aren't populated in the response. You can retrieve them via GetConversationProfile API.", + "description": "Creates a conversation profile in the specified project. ConversationProfile.create_time and ConversationProfile.update_time aren't populated in the response. You can retrieve them via GetConversationProfile API.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/conversationProfiles", "httpMethod": "POST", "id": "dialogflow.projects.locations.conversationProfiles.create", @@ -7151,7 +7151,7 @@ ] }, "patch": { - "description": "Updates the specified conversation profile. ConversationProfile.CreateTime and ConversationProfile.UpdateTime aren't populated in the response. You can retrieve them via GetConversationProfile API.", + "description": "Updates the specified conversation profile. ConversationProfile.create_time and ConversationProfile.update_time aren't populated in the response. You can retrieve them via GetConversationProfile API.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/conversationProfiles/{conversationProfilesId}", "httpMethod": "PATCH", "id": "dialogflow.projects.locations.conversationProfiles.patch", @@ -7257,7 +7257,7 @@ ], "parameters": { "conversationId": { - "description": "Optional. Identifier of the conversation. Generally it's auto generated by Google. Only set it if you cannot wait for the response to return a auto-generated one to you. The conversation ID must be compliant with the regression fomula `a-zA-Z*` with the characters length in range of [3,64]. If the field is provided, the caller is resposible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", + "description": "Optional. Identifier of the conversation. Generally it's auto generated by Google. Only set it if you cannot wait for the response to return a auto-generated one to you. The conversation ID must be compliant with the regression formula `a-zA-Z*` with the characters length in range of [3,64]. If the field is provided, the caller is responsible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", "location": "query", "type": "string" }, @@ -7788,7 +7788,7 @@ ], "parameters": { "generatorId": { - "description": "Optional. The ID to use for the generator, which will become the final component of the generator's resource name. The generator ID must be compliant with the regression fomula `a-zA-Z*` with the characters length in range of [3,64]. If the field is not provided, an Id will be auto-generated. If the field is provided, the caller is resposible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", + "description": "Optional. The ID to use for the generator, which will become the final component of the generator's resource name. The generator ID must be compliant with the regression formula `a-zA-Z*` with the characters length in range of [3,64]. If the field is not provided, an Id will be auto-generated. If the field is provided, the caller is responsible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", "location": "query", "type": "string" }, @@ -7848,7 +7848,7 @@ ], "parameters": { "name": { - "description": "Required. The generator resource name to retrieve. Format: `projects//locations/`/generators/`", + "description": "Required. The generator resource name to retrieve. Format: `projects//locations//generators/`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/generators/[^/]+$", "required": true, @@ -8359,7 +8359,7 @@ "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`.", + "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": "v2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "dialogflow.projects.locations.operations.cancel", @@ -8554,7 +8554,7 @@ "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`.", + "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": "v2/projects/{projectsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "dialogflow.projects.operations.cancel", @@ -8714,7 +8714,7 @@ } } }, - "revision": "20240924", + "revision": "20241216", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AdvancedSettings": { @@ -8834,7 +8834,7 @@ "type": "object" }, "GoogleCloudDialogflowCxV3BargeInConfig": { - "description": "Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up.", + "description": "Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up.", "id": "GoogleCloudDialogflowCxV3BargeInConfig", "properties": { "noBargeInDuration": { @@ -9834,6 +9834,7 @@ "properties": { "id": { "description": "Output only. The unique identifier of the training phrase.", + "readOnly": true, "type": "string" }, "parts": { @@ -11141,7 +11142,7 @@ "type": "object" }, "GoogleCloudDialogflowCxV3beta1BargeInConfig": { - "description": "Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up.", + "description": "Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up.", "id": "GoogleCloudDialogflowCxV3beta1BargeInConfig", "properties": { "noBargeInDuration": { @@ -12141,6 +12142,7 @@ "properties": { "id": { "description": "Output only. The unique identifier of the training phrase.", + "readOnly": true, "type": "string" }, "parts": { @@ -13680,7 +13682,7 @@ "properties": { "automatedAgentReply": { "$ref": "GoogleCloudDialogflowV2AutomatedAgentReply", - "description": "Only set if a Dialogflow automated agent has responded. Note that: AutomatedAgentReply.detect_intent_response.output_audio and AutomatedAgentReply.detect_intent_response.output_audio_config are always empty, use reply_audio instead." + "description": "Only set if a Dialogflow automated agent has responded. Note that in AutomatedAgentReply.DetectIntentResponse, Sessions.DetectIntentResponse.output_audio and Sessions.DetectIntentResponse.output_audio_config are always empty, use reply_audio instead." }, "dtmfParameters": { "$ref": "GoogleCloudDialogflowV2DtmfParameters", @@ -13780,7 +13782,7 @@ "type": "object" }, "GoogleCloudDialogflowV2AnswerRecord": { - "description": "Answer records are records to manage answer history and feedbacks for Dialogflow. Currently, answer record includes: - human agent assistant article suggestion - human agent assistant faq article It doesn't include: - `DetectIntent` intent matching - `DetectIntent` knowledge Answer records are not related to the conversation history in the Dialogflow Console. A Record is generated even when the end-user disables conversation history in the console. Records are created when there's a human agent assistant suggestion generated. A typical workflow for customers provide feedback to an answer is: 1. For human agent assistant, customers get suggestion via ListSuggestions API. Together with the answers, AnswerRecord.name are returned to the customers. 2. The customer uses the AnswerRecord.name to call the UpdateAnswerRecord method to send feedback about a specific answer that they believe is wrong.", + "description": "Answer records are records to manage answer history and feedbacks for Dialogflow. Currently, answer record includes: - human agent assistant article suggestion - human agent assistant faq article It doesn't include: - `DetectIntent` intent matching - `DetectIntent` knowledge Answer records are not related to the conversation history in the Dialogflow Console. A Record is generated even when the end-user disables conversation history in the console. Records are created when there's a human agent assistant suggestion generated. A typical workflow for customers provide feedback to an answer is: 1. For human agent assistant, customers get suggestion via ListSuggestions API. Together with the answers, AnswerRecord.name are returned to the customers. 2. The customer uses the AnswerRecord.name to call the AnswerRecords.UpdateAnswerRecord method to send feedback about a specific answer that they believe is wrong.", "id": "GoogleCloudDialogflowV2AnswerRecord", "properties": { "agentAssistantRecord": { @@ -14096,7 +14098,7 @@ "type": "object" }, "GoogleCloudDialogflowV2ClearSuggestionFeatureConfigOperationMetadata": { - "description": "Metadata for a ConversationProfile.ClearSuggestionFeatureConfig operation.", + "description": "Metadata for a ConversationProfiles.ClearSuggestionFeatureConfig operation.", "id": "GoogleCloudDialogflowV2ClearSuggestionFeatureConfigOperationMetadata", "properties": { "conversationProfile": { @@ -14148,7 +14150,7 @@ "type": "object" }, "GoogleCloudDialogflowV2ClearSuggestionFeatureConfigRequest": { - "description": "The request message for ConversationProfiles.ClearFeature.", + "description": "The request message for ConversationProfiles.ClearSuggestionFeatureConfig.", "id": "GoogleCloudDialogflowV2ClearSuggestionFeatureConfigRequest", "properties": { "participantRole": { @@ -14364,6 +14366,10 @@ "$ref": "GoogleCloudDialogflowV2Message", "description": "Payload of NEW_MESSAGE event." }, + "newRecognitionResultPayload": { + "$ref": "GoogleCloudDialogflowV2StreamingRecognitionResult", + "description": "Payload of NEW_RECOGNITION_RESULT event." + }, "type": { "description": "The type of the event that this notification refers to.", "enum": [ @@ -14372,6 +14378,7 @@ "CONVERSATION_FINISHED", "HUMAN_INTERVENTION_NEEDED", "NEW_MESSAGE", + "NEW_RECOGNITION_RESULT", "UNRECOVERABLE_ERROR" ], "enumDescriptions": [ @@ -14380,6 +14387,7 @@ "An existing conversation has closed. This is fired when a telephone call is terminated, or a conversation is closed via the API.", "An existing conversation has received notification from Dialogflow that human intervention is required.", "An existing conversation has received a new message, either from API or telephony. It is configured in ConversationProfile.new_message_event_notification_config", + "An existing conversation has received a new speech recognition result. This is mainly for delivering intermediate transcripts. The notification is configured in ConversationProfile.new_recognition_event_notification_config.", "Unrecoverable error during a telephone call. In general non-recoverable errors only occur if something was misconfigured in the ConversationProfile corresponding to the call. After a non-recoverable error, Dialogflow may stop responding. We don't fire this event: * in an API call because we can directly return the error, or, * when we can recover from an error." ], "type": "string" @@ -14564,6 +14572,10 @@ "$ref": "GoogleCloudDialogflowV2NotificationConfig", "description": "Configuration for publishing new message events. Event will be sent in format of ConversationEvent" }, + "newRecognitionResultNotificationConfig": { + "$ref": "GoogleCloudDialogflowV2NotificationConfig", + "description": "Optional. Configuration for publishing transcription intermediate results. Event will be sent in format of ConversationEvent. If configured, the following information will be populated as ConversationEvent Pub/Sub message attributes: - \"participant_id\" - \"participant_role\" - \"message_id\"" + }, "notificationConfig": { "$ref": "GoogleCloudDialogflowV2NotificationConfig", "description": "Configuration for publishing conversation lifecycle events." @@ -14594,7 +14606,7 @@ "type": "object" }, "GoogleCloudDialogflowV2CreateConversationDatasetOperationMetadata": { - "description": "Metadata for ConversationDatasets.", + "description": "Metadata for CreateConversationDataset.", "id": "GoogleCloudDialogflowV2CreateConversationDatasetOperationMetadata", "properties": { "conversationDataset": { @@ -14694,7 +14706,7 @@ "type": "object" }, "GoogleCloudDialogflowV2DeleteConversationDatasetOperationMetadata": { - "description": "Metadata for ConversationDatasets.", + "description": "Metadata for DeleteConversationDataset.", "id": "GoogleCloudDialogflowV2DeleteConversationDatasetOperationMetadata", "properties": {}, "type": "object" @@ -15293,7 +15305,7 @@ "type": "object" }, "GoogleCloudDialogflowV2FewShotExample": { - "description": "Providing examples in the generator (i.e. building a few-shot generator) helps convey the desired format of the LLM response. NEXT_ID: 10", + "description": "Providing examples in the generator (i.e. building a few-shot generator) helps convey the desired format of the LLM response.", "id": "GoogleCloudDialogflowV2FewShotExample", "properties": { "conversationContext": { @@ -15513,7 +15525,7 @@ "id": "GoogleCloudDialogflowV2GenerateStatelessSummaryResponse", "properties": { "contextSize": { - "description": "Number of messages prior to and including last_conversation_message used to compile the suggestion. It may be smaller than the GenerateStatelessSummaryRequest.context_size field in the request if there weren't that many messages in the conversation.", + "description": "Number of messages prior to and including latest_message used to compile the suggestion. It may be smaller than the GenerateStatelessSummaryRequest.max_context_size field in the request if there weren't that many messages in the conversation.", "format": "int32", "type": "integer" }, @@ -15765,6 +15777,11 @@ "$ref": "GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigContextFilterSettings", "description": "Determines how recent conversation context is filtered when generating suggestions. If unspecified, no messages will be dropped." }, + "contextSize": { + "description": "Optional. The number of recent messages to include in the context. Supported features: KNOWLEDGE_ASSIST.", + "format": "int32", + "type": "integer" + }, "dialogflowQuerySource": { "$ref": "GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigDialogflowQuerySource", "description": "Query from Dialogflow agent. It is used by DIALOGFLOW_ASSIST." @@ -16246,6 +16263,13 @@ }, "type": "array" }, + "phraseSets": { + "description": "A collection of phrase set resources to use for speech adaptation.", + "items": { + "type": "string" + }, + "type": "array" + }, "sampleRateHertz": { "description": "Required. Sample rate (in Hertz) of the audio content sent in the query. Refer to [Cloud Speech API documentation](https://cloud.google.com/speech-to-text/docs/basics) for more details.", "format": "int32", @@ -17176,6 +17200,7 @@ "properties": { "name": { "description": "Output only. The unique identifier of this training phrase.", + "readOnly": true, "type": "string" }, "parts": { @@ -17302,6 +17327,14 @@ "description": "Snippet Source for a Generative Prediction.", "id": "GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet", "properties": { + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Metadata of the document.", + "type": "object" + }, "text": { "description": "Text taken from that URI.", "type": "string" @@ -18217,6 +18250,14 @@ "description": "The sources of the answers.", "id": "GoogleCloudDialogflowV2SearchKnowledgeAnswerAnswerSource", "properties": { + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Metadata associated with the article.", + "type": "object" + }, "snippet": { "description": "The relevant snippet of the article.", "type": "string" @@ -18244,6 +18285,18 @@ "description": "Required. The conversation profile used to configure the search. Format: `projects//locations//conversationProfiles/`.", "type": "string" }, + "endUserMetadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Information about the end-user to improve the relevance and accuracy of generative answers. This will be interpreted and used by a language model, so, for good results, the data should be self-descriptive, and in a simple structure. Example: ```json { \"subscription plan\": \"Business Premium Plus\", \"devices owned\": [ {\"model\": \"Google Pixel 7\"}, {\"model\": \"Google Pixel Tablet\"} ] } ```", + "type": "object" + }, + "exactSearch": { + "description": "Optional. Whether to search the query exactly without query rewrite.", + "type": "boolean" + }, "latestMessage": { "description": "Optional. The name of the latest conversation message when the request is triggered. Format: `projects//locations//conversations//messages/`.", "type": "string" @@ -18256,6 +18309,24 @@ "$ref": "GoogleCloudDialogflowV2TextInput", "description": "Required. The natural language text query for knowledge search." }, + "querySource": { + "description": "Optional. The source of the query in the request.", + "enum": [ + "QUERY_SOURCE_UNSPECIFIED", + "AGENT_QUERY", + "SUGGESTED_QUERY" + ], + "enumDescriptions": [ + "Unknown query source.", + "The query is from agents.", + "The query is a suggested query from Participants.SuggestKnowledgeAssist." + ], + "type": "string" + }, + "searchConfig": { + "$ref": "GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfig", + "description": "Optional. Configuration specific to search queries with data stores." + }, "sessionId": { "description": "Required. The ID of the search session. The session_id can be combined with Dialogflow V3 Agent ID retrieved from conversation profile or on its own to identify a search session. The search history of the same session will impact the search result. It's up to the API caller to choose an appropriate `Session ID`. It can be a random number or some type of session identifiers (preferably hashed). The length must not exceed 36 characters.", "type": "string" @@ -18263,6 +18334,160 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfig": { + "description": "Configuration specific to search queries with data stores.", + "id": "GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfig", + "properties": { + "boostSpecs": { + "description": "Optional. Boost specifications for data stores.", + "items": { + "$ref": "GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecs" + }, + "type": "array" + }, + "filterSpecs": { + "description": "Optional. Filter specification for data store queries.", + "items": { + "$ref": "GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigFilterSpecs" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecs": { + "description": "Boost specifications for data stores.", + "id": "GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecs", + "properties": { + "dataStores": { + "description": "Optional. Data Stores where the boosting configuration is applied. The full names of the referenced data stores. Formats: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}` `projects/{project}/locations/{location}/dataStores/{data_store}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "spec": { + "description": "Optional. A list of boosting specifications.", + "items": { + "$ref": "GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec": { + "description": "Boost specification to boost certain documents. A copy of google.cloud.discoveryengine.v1main.BoostSpec, field documentation is available at https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1alpha/BoostSpec", + "id": "GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec", + "properties": { + "conditionBoostSpecs": { + "description": "Optional. Condition boost specifications. If a document matches multiple conditions in the specifictions, boost scores from these specifications are all applied and combined in a non-linear way. Maximum number of specifications is 20.", + "items": { + "$ref": "GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpec" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpec": { + "description": "Boost applies to documents which match a condition.", + "id": "GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpec", + "properties": { + "boost": { + "description": "Optional. Strength of the condition boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0. Setting to 1.0 gives the document a big promotion. However, it does not necessarily mean that the boosted document will be the top result at all times, nor that other documents will be excluded. Results could still be shown even when none of them matches the condition. And results that are significantly more relevant to the search query can still trump your heavily favored but irrelevant documents. Setting to -1.0 gives the document a big demotion. However, results that are deeply relevant might still be shown. The document will have an upstream battle to get a fairly high ranking, but it is not blocked out completely. Setting to 0.0 means no boost applied. The boosting condition is ignored.", + "format": "float", + "type": "number" + }, + "boostControlSpec": { + "$ref": "GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpec", + "description": "Optional. Complex specification for custom ranking based on customer defined attribute value." + }, + "condition": { + "description": "Optional. An expression which specifies a boost condition. The syntax and supported fields are the same as a filter expression. Examples: * To boost documents with document ID \"doc_1\" or \"doc_2\", and color \"Red\" or \"Blue\": * (id: ANY(\"doc_1\", \"doc_2\")) AND (color: ANY(\"Red\",\"Blue\"))", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpec": { + "description": "Specification for custom ranking based on customer specified attribute value. It provides more controls for customized ranking than the simple (condition, boost) combination above.", + "id": "GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpec", + "properties": { + "attributeType": { + "description": "Optional. The attribute type to be used to determine the boost amount. The attribute value can be derived from the field value of the specified field_name. In the case of numerical it is straightforward i.e. attribute_value = numerical_field_value. In the case of freshness however, attribute_value = (time.now() - datetime_field_value).", + "enum": [ + "ATTRIBUTE_TYPE_UNSPECIFIED", + "NUMERICAL", + "FRESHNESS" + ], + "enumDescriptions": [ + "Unspecified AttributeType.", + "The value of the numerical field will be used to dynamically update the boost amount. In this case, the attribute_value (the x value) of the control point will be the actual value of the numerical field for which the boost_amount is specified.", + "For the freshness use case the attribute value will be the duration between the current time and the date in the datetime field specified. The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`. E.g. `5D`, `3DT12H30M`, `T24H`." + ], + "type": "string" + }, + "controlPoints": { + "description": "Optional. The control points used to define the curve. The monotonic function (defined through the interpolation_type above) passes through the control points listed here.", + "items": { + "$ref": "GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpecControlPoint" + }, + "type": "array" + }, + "fieldName": { + "description": "Optional. The name of the field whose value will be used to determine the boost amount.", + "type": "string" + }, + "interpolationType": { + "description": "Optional. The interpolation type to be applied to connect the control points listed below.", + "enum": [ + "INTERPOLATION_TYPE_UNSPECIFIED", + "LINEAR" + ], + "enumDescriptions": [ + "Interpolation type is unspecified. In this case, it defaults to Linear.", + "Piecewise linear interpolation will be applied." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpecControlPoint": { + "description": "The control points used to define the curve. The curve defined through these control points can only be monotonically increasing or decreasing(constant values are acceptable).", + "id": "GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpecControlPoint", + "properties": { + "attributeValue": { + "description": "Optional. Can be one of: 1. The numerical field value. 2. The duration spec for freshness: The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`.", + "type": "string" + }, + "boostAmount": { + "description": "Optional. The value between -1 to 1 by which to boost the score if the attribute_value evaluates to the value specified above.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigFilterSpecs": { + "description": "Filter specification for data store queries.", + "id": "GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigFilterSpecs", + "properties": { + "dataStores": { + "description": "Optional. The data store where the filter configuration is applied. Full resource name of data store, such as projects/{project}/locations/{location}/collections/{collectionId}/ dataStores/{dataStoreId}.", + "items": { + "type": "string" + }, + "type": "array" + }, + "filter": { + "description": "Optional. The filter expression to be applied. Expression syntax is documented at https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata#filter-expression-syntax", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2SearchKnowledgeResponse": { "description": "The response message for Conversations.SearchKnowledge.", "id": "GoogleCloudDialogflowV2SearchKnowledgeResponse", @@ -18310,7 +18535,7 @@ "type": "object" }, "GoogleCloudDialogflowV2SentimentAnalysisResult": { - "description": "The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral. For Participants.DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For Participants.StreamingDetectIntent, it needs to be configured in StreamingDetectIntentRequest.query_params. And for Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it needs to be configured in ConversationProfile.human_agent_assistant_config", + "description": "The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral. For DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For StreamingDetectIntent, it needs to be configured in StreamingDetectIntentRequest.query_params. And for Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it needs to be configured in ConversationProfile.human_agent_assistant_config", "id": "GoogleCloudDialogflowV2SentimentAnalysisResult", "properties": { "queryTextSentiment": { @@ -18353,7 +18578,7 @@ "type": "object" }, "GoogleCloudDialogflowV2SetSuggestionFeatureConfigOperationMetadata": { - "description": "Metadata for a ConversationProfile.SetSuggestionFeatureConfig operation.", + "description": "Metadata for a ConversationProfiles.SetSuggestionFeatureConfig operation.", "id": "GoogleCloudDialogflowV2SetSuggestionFeatureConfigOperationMetadata", "properties": { "conversationProfile": { @@ -18405,7 +18630,7 @@ "type": "object" }, "GoogleCloudDialogflowV2SetSuggestionFeatureConfigRequest": { - "description": "The request message for ConversationProfiles.SetSuggestionFeature.", + "description": "The request message for ConversationProfiles.SetSuggestionFeatureConfig.", "id": "GoogleCloudDialogflowV2SetSuggestionFeatureConfigRequest", "properties": { "participantRole": { @@ -18574,6 +18799,13 @@ "description": "Which Speech model to select. Select the model best suited to your domain to get best results. If a model is not explicitly specified, then Dialogflow auto-selects a model based on other parameters in the SpeechToTextConfig and Agent settings. If enhanced speech model is enabled for the agent and an enhanced version of the specified model for the language does not exist, then the speech is recognized using the standard version of the specified model. Refer to [Cloud Speech API documentation](https://cloud.google.com/speech-to-text/docs/basics#select-model) for more details. If you specify a model, the following models typically have the best performance: - phone_call (best for Agent Assist and telephony) - latest_short (best for Dialogflow non-telephony) - command_and_search Leave this field unspecified to use [Agent Speech settings](https://cloud.google.com/dialogflow/cx/docs/concept/agent#settings-speech) for model selection.", "type": "string" }, + "phraseSets": { + "description": "List of names of Cloud Speech phrase sets that are used for transcription.", + "items": { + "type": "string" + }, + "type": "array" + }, "sampleRateHertz": { "description": "Sample rate (in Hertz) of the audio content sent in the query. Refer to [Cloud Speech API documentation](https://cloud.google.com/speech-to-text/docs/basics) for more details.", "format": "int32", @@ -18602,6 +18834,82 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2SpeechWordInfo": { + "description": "Information for a word recognized by the speech recognizer.", + "id": "GoogleCloudDialogflowV2SpeechWordInfo", + "properties": { + "confidence": { + "description": "The Speech confidence between 0.0 and 1.0 for this word. A higher number indicates an estimated greater likelihood that the recognized word is correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is not guaranteed to be fully stable over time for the same audio input. Users should also not rely on it to always be provided.", + "format": "float", + "type": "number" + }, + "endOffset": { + "description": "Time offset relative to the beginning of the audio that corresponds to the end of the spoken word. This is an experimental feature and the accuracy of the time offset can vary.", + "format": "google-duration", + "type": "string" + }, + "startOffset": { + "description": "Time offset relative to the beginning of the audio that corresponds to the start of the spoken word. This is an experimental feature and the accuracy of the time offset can vary.", + "format": "google-duration", + "type": "string" + }, + "word": { + "description": "The word this info is for.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2StreamingRecognitionResult": { + "description": "Contains a speech recognition result corresponding to a portion of the audio that is currently being processed or an indication that this is the end of the single requested utterance. While end-user audio is being processed, Dialogflow sends a series of results. Each result may contain a `transcript` value. A transcript represents a portion of the utterance. While the recognizer is processing audio, transcript values may be interim values or finalized values. Once a transcript is finalized, the `is_final` value is set to true and processing continues for the next transcript. If `StreamingDetectIntentRequest.query_input.audio_config.single_utterance` was true, and the recognizer has completed processing audio, the `message_type` value is set to `END_OF_SINGLE_UTTERANCE and the following (last) result contains the last finalized transcript. The complete end-user utterance is determined by concatenating the finalized transcript values received for the series of results. In the following example, single utterance is enabled. In the case where single utterance is not enabled, result 7 would not occur. ``` Num | transcript | message_type | is_final --- | ----------------------- | ----------------------- | -------- 1 | \"tube\" | TRANSCRIPT | false 2 | \"to be a\" | TRANSCRIPT | false 3 | \"to be\" | TRANSCRIPT | false 4 | \"to be or not to be\" | TRANSCRIPT | true 5 | \"that's\" | TRANSCRIPT | false 6 | \"that is | TRANSCRIPT | false 7 | unset | END_OF_SINGLE_UTTERANCE | unset 8 | \" that is the question\" | TRANSCRIPT | true ``` Concatenating the finalized transcripts with `is_final` set to true, the complete utterance becomes \"to be or not to be that is the question\".", + "id": "GoogleCloudDialogflowV2StreamingRecognitionResult", + "properties": { + "confidence": { + "description": "The Speech confidence between 0.0 and 1.0 for the current portion of audio. A higher number indicates an estimated greater likelihood that the recognized words are correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is typically only provided if `is_final` is true and you should not rely on it being accurate or even set.", + "format": "float", + "type": "number" + }, + "isFinal": { + "description": "If `false`, the `StreamingRecognitionResult` represents an interim result that may change. If `true`, the recognizer will not return any further hypotheses about this piece of the audio. May only be populated for `message_type` = `TRANSCRIPT`.", + "type": "boolean" + }, + "languageCode": { + "description": "Detected language code for the transcript.", + "type": "string" + }, + "messageType": { + "description": "Type of the result message.", + "enum": [ + "MESSAGE_TYPE_UNSPECIFIED", + "TRANSCRIPT", + "END_OF_SINGLE_UTTERANCE" + ], + "enumDescriptions": [ + "Not specified. Should never be used.", + "Message contains a (possibly partial) transcript.", + "This event indicates that the server has detected the end of the user's speech utterance and expects no additional inputs. Therefore, the server will not process additional audio (although it may subsequently return additional results). The client should stop sending additional audio data, half-close the gRPC connection, and wait for any additional results until the server closes the gRPC connection. This message is only sent if `single_utterance` was set to `true`, and is not used otherwise." + ], + "type": "string" + }, + "speechEndOffset": { + "description": "Time offset of the end of this Speech recognition result relative to the beginning of the audio. Only populated for `message_type` = `TRANSCRIPT`.", + "format": "google-duration", + "type": "string" + }, + "speechWordInfo": { + "description": "Word-specific information for the words recognized by Speech in transcript. Populated if and only if `message_type` = `TRANSCRIPT` and [InputAudioConfig.enable_word_info] is set.", + "items": { + "$ref": "GoogleCloudDialogflowV2SpeechWordInfo" + }, + "type": "array" + }, + "transcript": { + "description": "Transcript text representing the words that the user spoke. Populated if and only if `message_type` = `TRANSCRIPT`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2SuggestArticlesRequest": { "description": "The request message for Participants.SuggestArticles.", "id": "GoogleCloudDialogflowV2SuggestArticlesRequest", @@ -18670,7 +18978,7 @@ "id": "GoogleCloudDialogflowV2SuggestConversationSummaryResponse", "properties": { "contextSize": { - "description": "Number of messages prior to and including last_conversation_message used to compile the suggestion. It may be smaller than the SuggestSummaryRequest.context_size field in the request if there weren't that many messages in the conversation.", + "description": "Number of messages prior to and including latest_message used to compile the suggestion. It may be smaller than the SuggestConversationSummaryRequest.context_size field in the request if there weren't that many messages in the conversation.", "format": "int32", "type": "integer" }, @@ -19505,6 +19813,10 @@ "$ref": "GoogleCloudDialogflowV2beta1Message", "description": "Payload of NEW_MESSAGE event." }, + "newRecognitionResultPayload": { + "$ref": "GoogleCloudDialogflowV2beta1StreamingRecognitionResult", + "description": "Payload of NEW_RECOGNITION_RESULT event." + }, "type": { "description": "Required. The type of the event that this notification refers to.", "enum": [ @@ -19513,6 +19825,7 @@ "CONVERSATION_FINISHED", "HUMAN_INTERVENTION_NEEDED", "NEW_MESSAGE", + "NEW_RECOGNITION_RESULT", "UNRECOVERABLE_ERROR" ], "enumDescriptions": [ @@ -19521,6 +19834,7 @@ "An existing conversation has closed. This is fired when a telephone call is terminated, or a conversation is closed via the API.", "An existing conversation has received notification from Dialogflow that human intervention is required.", "An existing conversation has received a new message, either from API or telephony. It is configured in ConversationProfile.new_message_event_notification_config", + "An existing conversation has received a new speech recognition result. This is mainly for delivering intermediate transcripts. The notification is configured in ConversationProfile.new_recognition_event_notification_config.", "Unrecoverable error during a telephone call. In general non-recoverable errors only occur if something was misconfigured in the ConversationProfile corresponding to the call. After a non-recoverable error, Dialogflow may stop responding. We don't fire this event: * in an API call because we can directly return the error, or, * when we can recover from an error." ], "type": "string" @@ -20961,6 +21275,7 @@ "properties": { "name": { "description": "Output only. The unique identifier of this training phrase.", + "readOnly": true, "type": "string" }, "parts": { @@ -21141,6 +21456,14 @@ "description": "Snippet Source for a Generative Prediction.", "id": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet", "properties": { + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Metadata of the document.", + "type": "object" + }, "text": { "description": "Text taken from that URI.", "type": "string" @@ -21659,6 +21982,95 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2beta1SpeechWordInfo": { + "description": "Information for a word recognized by the speech recognizer.", + "id": "GoogleCloudDialogflowV2beta1SpeechWordInfo", + "properties": { + "confidence": { + "description": "The Speech confidence between 0.0 and 1.0 for this word. A higher number indicates an estimated greater likelihood that the recognized word is correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is not guaranteed to be fully stable over time for the same audio input. Users should also not rely on it to always be provided.", + "format": "float", + "type": "number" + }, + "endOffset": { + "description": "Time offset relative to the beginning of the audio that corresponds to the end of the spoken word. This is an experimental feature and the accuracy of the time offset can vary.", + "format": "google-duration", + "type": "string" + }, + "startOffset": { + "description": "Time offset relative to the beginning of the audio that corresponds to the start of the spoken word. This is an experimental feature and the accuracy of the time offset can vary.", + "format": "google-duration", + "type": "string" + }, + "word": { + "description": "The word this info is for.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2beta1StreamingRecognitionResult": { + "description": "Contains a speech recognition result corresponding to a portion of the audio that is currently being processed or an indication that this is the end of the single requested utterance. While end-user audio is being processed, Dialogflow sends a series of results. Each result may contain a `transcript` value. A transcript represents a portion of the utterance. While the recognizer is processing audio, transcript values may be interim values or finalized values. Once a transcript is finalized, the `is_final` value is set to true and processing continues for the next transcript. If `StreamingDetectIntentRequest.query_input.audio_config.single_utterance` was true, and the recognizer has completed processing audio, the `message_type` value is set to `END_OF_SINGLE_UTTERANCE and the following (last) result contains the last finalized transcript. The complete end-user utterance is determined by concatenating the finalized transcript values received for the series of results. In the following example, single utterance is enabled. In the case where single utterance is not enabled, result 7 would not occur. ``` Num | transcript | message_type | is_final --- | ----------------------- | ----------------------- | -------- 1 | \"tube\" | TRANSCRIPT | false 2 | \"to be a\" | TRANSCRIPT | false 3 | \"to be\" | TRANSCRIPT | false 4 | \"to be or not to be\" | TRANSCRIPT | true 5 | \"that's\" | TRANSCRIPT | false 6 | \"that is | TRANSCRIPT | false 7 | unset | END_OF_SINGLE_UTTERANCE | unset 8 | \" that is the question\" | TRANSCRIPT | true ``` Concatenating the finalized transcripts with `is_final` set to true, the complete utterance becomes \"to be or not to be that is the question\".", + "id": "GoogleCloudDialogflowV2beta1StreamingRecognitionResult", + "properties": { + "confidence": { + "description": "The Speech confidence between 0.0 and 1.0 for the current portion of audio. A higher number indicates an estimated greater likelihood that the recognized words are correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is typically only provided if `is_final` is true and you should not rely on it being accurate or even set.", + "format": "float", + "type": "number" + }, + "dtmfDigits": { + "$ref": "GoogleCloudDialogflowV2beta1TelephonyDtmfEvents", + "description": "DTMF digits. Populated if and only if `message_type` = `DTMF_DIGITS`." + }, + "isFinal": { + "description": "If `false`, the `StreamingRecognitionResult` represents an interim result that may change. If `true`, the recognizer will not return any further hypotheses about this piece of the audio. May only be populated for `message_type` = `TRANSCRIPT`.", + "type": "boolean" + }, + "languageCode": { + "description": "Detected language code for the transcript.", + "type": "string" + }, + "messageType": { + "description": "Type of the result message.", + "enum": [ + "MESSAGE_TYPE_UNSPECIFIED", + "TRANSCRIPT", + "DTMF_DIGITS", + "END_OF_SINGLE_UTTERANCE", + "PARTIAL_DTMF_DIGITS" + ], + "enumDescriptions": [ + "Not specified. Should never be used.", + "Message contains a (possibly partial) transcript.", + "Message contains DTMF digits.", + "This event indicates that the server has detected the end of the user's speech utterance and expects no additional speech. Therefore, the server will not process additional audio (although it may subsequently return additional results). The client should stop sending additional audio data, half-close the gRPC connection, and wait for any additional results until the server closes the gRPC connection. This message is only sent if `single_utterance` was set to `true`, and is not used otherwise.", + "Message contains DTMF digits. Before a message with DTMF_DIGITS is sent, a message with PARTIAL_DTMF_DIGITS may be sent with DTMF digits collected up to the time of sending, which represents an intermediate result." + ], + "type": "string" + }, + "speechEndOffset": { + "description": "Time offset of the end of this Speech recognition result relative to the beginning of the audio. Only populated for `message_type` = `TRANSCRIPT`.", + "format": "google-duration", + "type": "string" + }, + "speechWordInfo": { + "description": "Word-specific information for the words recognized by Speech in transcript. Populated if and only if `message_type` = `TRANSCRIPT` and [InputAudioConfig.enable_word_info] is set.", + "items": { + "$ref": "GoogleCloudDialogflowV2beta1SpeechWordInfo" + }, + "type": "array" + }, + "stability": { + "description": "An estimate of the likelihood that the speech recognizer will not change its guess about this interim recognition result: * If the value is unspecified or 0.0, Dialogflow didn't compute the stability. In particular, Dialogflow will only provide stability for `TRANSCRIPT` results with `is_final = false`. * Otherwise, the value is in (0.0, 1.0] where 0.0 means completely unstable and 1.0 means completely stable.", + "format": "float", + "type": "number" + }, + "transcript": { + "description": "Transcript text representing the words that the user spoke. Populated if and only if `message_type` = `TRANSCRIPT`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1SuggestArticlesResponse": { "description": "The response message for Participants.SuggestArticles.", "id": "GoogleCloudDialogflowV2beta1SuggestArticlesResponse", @@ -21807,6 +22219,58 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2beta1TelephonyDtmfEvents": { + "description": "A wrapper of repeated TelephonyDtmf digits.", + "id": "GoogleCloudDialogflowV2beta1TelephonyDtmfEvents", + "properties": { + "dtmfEvents": { + "description": "A sequence of TelephonyDtmf digits.", + "items": { + "enum": [ + "TELEPHONY_DTMF_UNSPECIFIED", + "DTMF_ONE", + "DTMF_TWO", + "DTMF_THREE", + "DTMF_FOUR", + "DTMF_FIVE", + "DTMF_SIX", + "DTMF_SEVEN", + "DTMF_EIGHT", + "DTMF_NINE", + "DTMF_ZERO", + "DTMF_A", + "DTMF_B", + "DTMF_C", + "DTMF_D", + "DTMF_STAR", + "DTMF_POUND" + ], + "enumDescriptions": [ + "Not specified. This value may be used to indicate an absent digit.", + "Number: '1'.", + "Number: '2'.", + "Number: '3'.", + "Number: '4'.", + "Number: '5'.", + "Number: '6'.", + "Number: '7'.", + "Number: '8'.", + "Number: '9'.", + "Number: '0'.", + "Letter: 'A'.", + "Letter: 'B'.", + "Letter: 'C'.", + "Letter: 'D'.", + "Asterisk/star: '*'.", + "Pound/diamond/hash/square/gate/octothorpe: '#'." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1WebhookRequest": { "description": "The request message for a webhook call.", "id": "GoogleCloudDialogflowV2beta1WebhookRequest", diff --git a/discovery/dialogflow-v2beta1.json b/discovery/dialogflow-v2beta1.json index b54cbfe9c1..7f3f66ff0b 100644 --- a/discovery/dialogflow-v2beta1.json +++ b/discovery/dialogflow-v2beta1.json @@ -2971,7 +2971,7 @@ ], "parameters": { "conversationId": { - "description": "Optional. Identifier of the conversation. Generally it's auto generated by Google. Only set it if you cannot wait for the response to return a auto-generated one to you. The conversation ID must be compliant with the regression fomula `a-zA-Z*` with the characters length in range of [3,64]. If the field is provided, the caller is resposible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", + "description": "Optional. Identifier of the conversation. Generally it's auto generated by Google. Only set it if you cannot wait for the response to return a auto-generated one to you. The conversation ID must be compliant with the regression formula `a-zA-Z*` with the characters length in range of [3,64]. If the field is provided, the caller is responsible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", "location": "query", "type": "string" }, @@ -3571,7 +3571,7 @@ ], "parameters": { "generatorId": { - "description": "Optional. The ID to use for the generator, which will become the final component of the generator's resource name. The generator ID must be compliant with the regression fomula `a-zA-Z*` with the characters length in range of [3,64]. If the field is not provided, an Id will be auto-generated. If the field is provided, the caller is resposible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", + "description": "Optional. The ID to use for the generator, which will become the final component of the generator's resource name. The generator ID must be compliant with the regression formula `a-zA-Z*` with the characters length in range of [3,64]. If the field is not provided, an Id will be auto-generated. If the field is provided, the caller is responsible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", "location": "query", "type": "string" }, @@ -6620,7 +6620,7 @@ ], "parameters": { "conversationId": { - "description": "Optional. Identifier of the conversation. Generally it's auto generated by Google. Only set it if you cannot wait for the response to return a auto-generated one to you. The conversation ID must be compliant with the regression fomula `a-zA-Z*` with the characters length in range of [3,64]. If the field is provided, the caller is resposible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", + "description": "Optional. Identifier of the conversation. Generally it's auto generated by Google. Only set it if you cannot wait for the response to return a auto-generated one to you. The conversation ID must be compliant with the regression formula `a-zA-Z*` with the characters length in range of [3,64]. If the field is provided, the caller is responsible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", "location": "query", "type": "string" }, @@ -7180,7 +7180,7 @@ ], "parameters": { "generatorId": { - "description": "Optional. The ID to use for the generator, which will become the final component of the generator's resource name. The generator ID must be compliant with the regression fomula `a-zA-Z*` with the characters length in range of [3,64]. If the field is not provided, an Id will be auto-generated. If the field is provided, the caller is resposible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", + "description": "Optional. The ID to use for the generator, which will become the final component of the generator's resource name. The generator ID must be compliant with the regression formula `a-zA-Z*` with the characters length in range of [3,64]. If the field is not provided, an Id will be auto-generated. If the field is provided, the caller is responsible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness.", "location": "query", "type": "string" }, @@ -7727,7 +7727,7 @@ "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`.", + "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": "v2beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "dialogflow.projects.locations.operations.cancel", @@ -7822,6 +7822,163 @@ } } }, + "sipTrunks": { + "methods": { + "create": { + "description": "Creates a SipTrunk for a specified location.", + "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/sipTrunks", + "httpMethod": "POST", + "id": "dialogflow.projects.locations.sipTrunks.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The location to create a SIP trunk for. Format: `projects//locations/`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/{+parent}/sipTrunks", + "request": { + "$ref": "GoogleCloudDialogflowV2beta1SipTrunk" + }, + "response": { + "$ref": "GoogleCloudDialogflowV2beta1SipTrunk" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "delete": { + "description": "Deletes a specified SipTrunk.", + "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/sipTrunks/{sipTrunksId}", + "httpMethod": "DELETE", + "id": "dialogflow.projects.locations.sipTrunks.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the SIP trunk to delete. Format: `projects//locations//sipTrunks/`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/sipTrunks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "get": { + "description": "Retrieves the specified SipTrunk.", + "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/sipTrunks/{sipTrunksId}", + "httpMethod": "GET", + "id": "dialogflow.projects.locations.sipTrunks.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the SIP trunk to delete. Format: `projects//locations//sipTrunks/`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/sipTrunks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/{+name}", + "response": { + "$ref": "GoogleCloudDialogflowV2beta1SipTrunk" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "list": { + "description": "Returns a list of SipTrunks in the specified location.", + "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/sipTrunks", + "httpMethod": "GET", + "id": "dialogflow.projects.locations.sipTrunks.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of items to return in a single page. By default 100 and at most 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value returned from a previous list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The location to list SIP trunks from. Format: `projects//locations/`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta1/{+parent}/sipTrunks", + "response": { + "$ref": "GoogleCloudDialogflowV2beta1ListSipTrunksResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, + "patch": { + "description": "Updates the specified SipTrunk.", + "flatPath": "v2beta1/projects/{projectsId}/locations/{locationsId}/sipTrunks/{sipTrunksId}", + "httpMethod": "PATCH", + "id": "dialogflow.projects.locations.sipTrunks.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The unique identifier of the SIP trunk. Format: `projects//locations//sipTrunks/`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/sipTrunks/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The mask to control which fields get updated. If the mask is not present, all fields will be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2beta1/{+name}", + "request": { + "$ref": "GoogleCloudDialogflowV2beta1SipTrunk" + }, + "response": { + "$ref": "GoogleCloudDialogflowV2beta1SipTrunk" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + } + } + }, "statelessSuggestion": { "methods": { "generate": { @@ -7922,7 +8079,7 @@ "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`.", + "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": "v2beta1/projects/{projectsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "dialogflow.projects.operations.cancel", @@ -8082,7 +8239,7 @@ } } }, - "revision": "20240924", + "revision": "20241216", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AdvancedSettings": { @@ -8202,7 +8359,7 @@ "type": "object" }, "GoogleCloudDialogflowCxV3BargeInConfig": { - "description": "Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up.", + "description": "Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up.", "id": "GoogleCloudDialogflowCxV3BargeInConfig", "properties": { "noBargeInDuration": { @@ -9202,6 +9359,7 @@ "properties": { "id": { "description": "Output only. The unique identifier of the training phrase.", + "readOnly": true, "type": "string" }, "parts": { @@ -10509,7 +10667,7 @@ "type": "object" }, "GoogleCloudDialogflowCxV3beta1BargeInConfig": { - "description": "Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up.", + "description": "Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up.", "id": "GoogleCloudDialogflowCxV3beta1BargeInConfig", "properties": { "noBargeInDuration": { @@ -11509,6 +11667,7 @@ "properties": { "id": { "description": "Output only. The unique identifier of the training phrase.", + "readOnly": true, "type": "string" }, "parts": { @@ -12859,7 +13018,7 @@ "type": "object" }, "GoogleCloudDialogflowV2ClearSuggestionFeatureConfigOperationMetadata": { - "description": "Metadata for a ConversationProfile.ClearSuggestionFeatureConfig operation.", + "description": "Metadata for a ConversationProfiles.ClearSuggestionFeatureConfig operation.", "id": "GoogleCloudDialogflowV2ClearSuggestionFeatureConfigOperationMetadata", "properties": { "conversationProfile": { @@ -12950,6 +13109,10 @@ "$ref": "GoogleCloudDialogflowV2Message", "description": "Payload of NEW_MESSAGE event." }, + "newRecognitionResultPayload": { + "$ref": "GoogleCloudDialogflowV2StreamingRecognitionResult", + "description": "Payload of NEW_RECOGNITION_RESULT event." + }, "type": { "description": "The type of the event that this notification refers to.", "enum": [ @@ -12958,6 +13121,7 @@ "CONVERSATION_FINISHED", "HUMAN_INTERVENTION_NEEDED", "NEW_MESSAGE", + "NEW_RECOGNITION_RESULT", "UNRECOVERABLE_ERROR" ], "enumDescriptions": [ @@ -12966,6 +13130,7 @@ "An existing conversation has closed. This is fired when a telephone call is terminated, or a conversation is closed via the API.", "An existing conversation has received notification from Dialogflow that human intervention is required.", "An existing conversation has received a new message, either from API or telephony. It is configured in ConversationProfile.new_message_event_notification_config", + "An existing conversation has received a new speech recognition result. This is mainly for delivering intermediate transcripts. The notification is configured in ConversationProfile.new_recognition_event_notification_config.", "Unrecoverable error during a telephone call. In general non-recoverable errors only occur if something was misconfigured in the ConversationProfile corresponding to the call. After a non-recoverable error, Dialogflow may stop responding. We don't fire this event: * in an API call because we can directly return the error, or, * when we can recover from an error." ], "type": "string" @@ -13051,7 +13216,7 @@ "type": "object" }, "GoogleCloudDialogflowV2CreateConversationDatasetOperationMetadata": { - "description": "Metadata for ConversationDatasets.", + "description": "Metadata for CreateConversationDataset.", "id": "GoogleCloudDialogflowV2CreateConversationDatasetOperationMetadata", "properties": { "conversationDataset": { @@ -13140,7 +13305,7 @@ "type": "object" }, "GoogleCloudDialogflowV2DeleteConversationDatasetOperationMetadata": { - "description": "Metadata for ConversationDatasets.", + "description": "Metadata for DeleteConversationDataset.", "id": "GoogleCloudDialogflowV2DeleteConversationDatasetOperationMetadata", "properties": {}, "type": "object" @@ -14325,6 +14490,7 @@ "properties": { "name": { "description": "Output only. The unique identifier of this training phrase.", + "readOnly": true, "type": "string" }, "parts": { @@ -14451,6 +14617,14 @@ "description": "Snippet Source for a Generative Prediction.", "id": "GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet", "properties": { + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Metadata of the document.", + "type": "object" + }, "text": { "description": "Text taken from that URI.", "type": "string" @@ -14721,7 +14895,7 @@ "type": "object" }, "GoogleCloudDialogflowV2SentimentAnalysisResult": { - "description": "The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral. For Participants.DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For Participants.StreamingDetectIntent, it needs to be configured in StreamingDetectIntentRequest.query_params. And for Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it needs to be configured in ConversationProfile.human_agent_assistant_config", + "description": "The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral. For DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For StreamingDetectIntent, it needs to be configured in StreamingDetectIntentRequest.query_params. And for Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it needs to be configured in ConversationProfile.human_agent_assistant_config", "id": "GoogleCloudDialogflowV2SentimentAnalysisResult", "properties": { "queryTextSentiment": { @@ -14764,7 +14938,7 @@ "type": "object" }, "GoogleCloudDialogflowV2SetSuggestionFeatureConfigOperationMetadata": { - "description": "Metadata for a ConversationProfile.SetSuggestionFeatureConfig operation.", + "description": "Metadata for a ConversationProfiles.SetSuggestionFeatureConfig operation.", "id": "GoogleCloudDialogflowV2SetSuggestionFeatureConfigOperationMetadata", "properties": { "conversationProfile": { @@ -14856,6 +15030,82 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2SpeechWordInfo": { + "description": "Information for a word recognized by the speech recognizer.", + "id": "GoogleCloudDialogflowV2SpeechWordInfo", + "properties": { + "confidence": { + "description": "The Speech confidence between 0.0 and 1.0 for this word. A higher number indicates an estimated greater likelihood that the recognized word is correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is not guaranteed to be fully stable over time for the same audio input. Users should also not rely on it to always be provided.", + "format": "float", + "type": "number" + }, + "endOffset": { + "description": "Time offset relative to the beginning of the audio that corresponds to the end of the spoken word. This is an experimental feature and the accuracy of the time offset can vary.", + "format": "google-duration", + "type": "string" + }, + "startOffset": { + "description": "Time offset relative to the beginning of the audio that corresponds to the start of the spoken word. This is an experimental feature and the accuracy of the time offset can vary.", + "format": "google-duration", + "type": "string" + }, + "word": { + "description": "The word this info is for.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2StreamingRecognitionResult": { + "description": "Contains a speech recognition result corresponding to a portion of the audio that is currently being processed or an indication that this is the end of the single requested utterance. While end-user audio is being processed, Dialogflow sends a series of results. Each result may contain a `transcript` value. A transcript represents a portion of the utterance. While the recognizer is processing audio, transcript values may be interim values or finalized values. Once a transcript is finalized, the `is_final` value is set to true and processing continues for the next transcript. If `StreamingDetectIntentRequest.query_input.audio_config.single_utterance` was true, and the recognizer has completed processing audio, the `message_type` value is set to `END_OF_SINGLE_UTTERANCE and the following (last) result contains the last finalized transcript. The complete end-user utterance is determined by concatenating the finalized transcript values received for the series of results. In the following example, single utterance is enabled. In the case where single utterance is not enabled, result 7 would not occur. ``` Num | transcript | message_type | is_final --- | ----------------------- | ----------------------- | -------- 1 | \"tube\" | TRANSCRIPT | false 2 | \"to be a\" | TRANSCRIPT | false 3 | \"to be\" | TRANSCRIPT | false 4 | \"to be or not to be\" | TRANSCRIPT | true 5 | \"that's\" | TRANSCRIPT | false 6 | \"that is | TRANSCRIPT | false 7 | unset | END_OF_SINGLE_UTTERANCE | unset 8 | \" that is the question\" | TRANSCRIPT | true ``` Concatenating the finalized transcripts with `is_final` set to true, the complete utterance becomes \"to be or not to be that is the question\".", + "id": "GoogleCloudDialogflowV2StreamingRecognitionResult", + "properties": { + "confidence": { + "description": "The Speech confidence between 0.0 and 1.0 for the current portion of audio. A higher number indicates an estimated greater likelihood that the recognized words are correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is typically only provided if `is_final` is true and you should not rely on it being accurate or even set.", + "format": "float", + "type": "number" + }, + "isFinal": { + "description": "If `false`, the `StreamingRecognitionResult` represents an interim result that may change. If `true`, the recognizer will not return any further hypotheses about this piece of the audio. May only be populated for `message_type` = `TRANSCRIPT`.", + "type": "boolean" + }, + "languageCode": { + "description": "Detected language code for the transcript.", + "type": "string" + }, + "messageType": { + "description": "Type of the result message.", + "enum": [ + "MESSAGE_TYPE_UNSPECIFIED", + "TRANSCRIPT", + "END_OF_SINGLE_UTTERANCE" + ], + "enumDescriptions": [ + "Not specified. Should never be used.", + "Message contains a (possibly partial) transcript.", + "This event indicates that the server has detected the end of the user's speech utterance and expects no additional inputs. Therefore, the server will not process additional audio (although it may subsequently return additional results). The client should stop sending additional audio data, half-close the gRPC connection, and wait for any additional results until the server closes the gRPC connection. This message is only sent if `single_utterance` was set to `true`, and is not used otherwise." + ], + "type": "string" + }, + "speechEndOffset": { + "description": "Time offset of the end of this Speech recognition result relative to the beginning of the audio. Only populated for `message_type` = `TRANSCRIPT`.", + "format": "google-duration", + "type": "string" + }, + "speechWordInfo": { + "description": "Word-specific information for the words recognized by Speech in transcript. Populated if and only if `message_type` = `TRANSCRIPT` and [InputAudioConfig.enable_word_info] is set.", + "items": { + "$ref": "GoogleCloudDialogflowV2SpeechWordInfo" + }, + "type": "array" + }, + "transcript": { + "description": "Transcript text representing the words that the user spoke. Populated if and only if `message_type` = `TRANSCRIPT`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2SuggestArticlesResponse": { "description": "The response message for Participants.SuggestArticles.", "id": "GoogleCloudDialogflowV2SuggestArticlesResponse", @@ -15341,7 +15591,7 @@ "description": "The intent to be triggered on V3 agent." }, "messageSendTime": { - "description": "Optional. The send time of the message from end user or human agent's perspective. It is used for identifying the same message under one participant. Given two messages under the same participant: * If send time are different regardless of whether the content of the messages are exactly the same, the conversation will regard them as two distinct messages sent by the participant. * If send time is the same regardless of whether the content of the messages are exactly the same, the conversation will regard them as same message, and ignore the message received later. If the value is not provided, a new request will always be regarded as a new message without any de-duplication.", + "description": "Optional. The send time of the message from end user or human agent's perspective. It is used for identifying the same message under one participant. For BatchCreateMessages API only: Given two messages under the same participant: * If send time are different regardless of whether the content of the messages are exactly the same, the conversation will regard them as two distinct messages sent by the participant. * If send time is the same regardless of whether the content of the messages are exactly the same, the conversation will regard them as same message, and ignore the message received later. If the value is not provided, a new request will always be regarded as a new message without any de-duplication.", "format": "google-datetime", "type": "string" }, @@ -16013,6 +16263,86 @@ "properties": {}, "type": "object" }, + "GoogleCloudDialogflowV2beta1Connection": { + "description": "Represents a connection for SIP Trunk.", + "id": "GoogleCloudDialogflowV2beta1Connection", + "properties": { + "connectionId": { + "description": "Output only. The unique identifier of the SIP Trunk connection.", + "readOnly": true, + "type": "string" + }, + "errorDetails": { + "$ref": "GoogleCloudDialogflowV2beta1ConnectionErrorDetails", + "description": "Output only. The error details for the connection. Only populated when authentication errors occur.", + "readOnly": true + }, + "state": { + "description": "Output only. State of the connection.", + "enum": [ + "STATE_UNSPECIFIED", + "CONNECTED", + "DISCONNECTED", + "AUTHENTICATION_FAILED", + "KEEPALIVE" + ], + "enumDescriptions": [ + "SIP Trunk connection state is Not specified.", + "SIP Trunk connection is connected.", + "SIP Trunk connection is disconnected.", + "SIP Trunk connection has authentication error.", + "SIP Trunk connection is keepalive." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. When the connection status changed.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2beta1ConnectionErrorDetails": { + "description": "The error details of Sip Trunk connection authentication.", + "id": "GoogleCloudDialogflowV2beta1ConnectionErrorDetails", + "properties": { + "certificateState": { + "description": "Output only. The status of the certificate authentication.", + "enum": [ + "CERTIFICATE_STATE_UNSPECIFIED", + "CERTIFICATE_VALID", + "CERTIFICATE_INVALID", + "CERTIFICATE_EXPIRED", + "CERTIFICATE_HOSTNAME_NOT_FOUND", + "CERTIFICATE_UNAUTHENTICATED", + "CERTIFICATE_TRUST_STORE_NOT_FOUND", + "CERTIFICATE_HOSTNAME_INVALID_FORMAT", + "CERTIFICATE_QUOTA_EXCEEDED" + ], + "enumDescriptions": [ + "Certificate state is not specified.", + "Certificate is valid.", + "Catch all for any error not specified.", + "Certificate leaf node has expired.", + "There is no hostname defined to authenticate in SipTrunkingServer.", + "No path found from the leaf certificate to any root.", + "Trust store does not exist.", + "Hostname has invalid format.", + "Certificate has exhausted its quota." + ], + "readOnly": true, + "type": "string" + }, + "errorMessage": { + "description": "The error message provided from SIP trunking auth service", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1Context": { "description": "Dialogflow contexts are similar to natural language context. If a person says to you \"they are orange\", you need context in order to understand what \"they\" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview).", "id": "GoogleCloudDialogflowV2beta1Context", @@ -16129,6 +16459,10 @@ "$ref": "GoogleCloudDialogflowV2beta1Message", "description": "Payload of NEW_MESSAGE event." }, + "newRecognitionResultPayload": { + "$ref": "GoogleCloudDialogflowV2beta1StreamingRecognitionResult", + "description": "Payload of NEW_RECOGNITION_RESULT event." + }, "type": { "description": "Required. The type of the event that this notification refers to.", "enum": [ @@ -16137,6 +16471,7 @@ "CONVERSATION_FINISHED", "HUMAN_INTERVENTION_NEEDED", "NEW_MESSAGE", + "NEW_RECOGNITION_RESULT", "UNRECOVERABLE_ERROR" ], "enumDescriptions": [ @@ -16145,6 +16480,7 @@ "An existing conversation has closed. This is fired when a telephone call is terminated, or a conversation is closed via the API.", "An existing conversation has received notification from Dialogflow that human intervention is required.", "An existing conversation has received a new message, either from API or telephony. It is configured in ConversationProfile.new_message_event_notification_config", + "An existing conversation has received a new speech recognition result. This is mainly for delivering intermediate transcripts. The notification is configured in ConversationProfile.new_recognition_event_notification_config.", "Unrecoverable error during a telephone call. In general non-recoverable errors only occur if something was misconfigured in the ConversationProfile corresponding to the call. After a non-recoverable error, Dialogflow may stop responding. We don't fire this event: * in an API call because we can directly return the error, or, * when we can recover from an error." ], "type": "string" @@ -16206,6 +16542,10 @@ "$ref": "GoogleCloudDialogflowV2beta1NotificationConfig", "description": "Configuration for publishing new message events. Event will be sent in format of ConversationEvent" }, + "newRecognitionResultNotificationConfig": { + "$ref": "GoogleCloudDialogflowV2beta1NotificationConfig", + "description": "Optional. Configuration for publishing transcription intermediate results. Event will be sent in format of ConversationEvent. If configured, the following information will be populated as ConversationEvent Pub/Sub message attributes: - \"participant_id\" - \"participant_role\" - \"message_id\"" + }, "notificationConfig": { "$ref": "GoogleCloudDialogflowV2beta1NotificationConfig", "description": "Configuration for publishing conversation lifecycle events." @@ -16747,7 +17087,7 @@ "type": "object" }, "GoogleCloudDialogflowV2beta1FewShotExample": { - "description": "Providing examples in the generator (i.e. building a few-shot generator) helps convey the desired format of the LLM response. NEXT_ID: 10", + "description": "Providing examples in the generator (i.e. building a few-shot generator) helps convey the desired format of the LLM response.", "id": "GoogleCloudDialogflowV2beta1FewShotExample", "properties": { "conversationContext": { @@ -17040,7 +17380,7 @@ }, "summarizationContext": { "$ref": "GoogleCloudDialogflowV2beta1SummarizationContext", - "description": "Input of prebuilt Summarization feature." + "description": "Input of Summarization feature." }, "triggerEvent": { "description": "Optional. The trigger event of the generator. It defines when the generator is triggered in a conversation.", @@ -17230,6 +17570,11 @@ "$ref": "GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigSuggestionQueryConfigContextFilterSettings", "description": "Determines how recent conversation context is filtered when generating suggestions. If unspecified, no messages will be dropped." }, + "contextSize": { + "description": "Optional. The number of recent messages to include in the context. Supported features: KNOWLEDGE_ASSIST.", + "format": "int32", + "type": "integer" + }, "dialogflowQuerySource": { "$ref": "GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigSuggestionQueryConfigDialogflowQuerySource", "description": "Query from Dialogflow agent. It is used by DIALOGFLOW_ASSIST, ENTITY_EXTRACTION." @@ -17672,6 +18017,13 @@ }, "type": "array" }, + "phraseSets": { + "description": "A collection of phrase set resources to use for speech adaptation.", + "items": { + "type": "string" + }, + "type": "array" + }, "sampleRateHertz": { "description": "Required. Sample rate (in Hertz) of the audio content sent in the query. Refer to [Cloud Speech API documentation](https://cloud.google.com/speech-to-text/docs/basics) for more details.", "format": "int32", @@ -18892,6 +19244,7 @@ "properties": { "name": { "description": "Output only. The unique identifier of this training phrase.", + "readOnly": true, "type": "string" }, "parts": { @@ -19072,6 +19425,14 @@ "description": "Snippet Source for a Generative Prediction.", "id": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet", "properties": { + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Metadata of the document.", + "type": "object" + }, "text": { "description": "Text taken from that URI.", "type": "string" @@ -19383,6 +19744,24 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2beta1ListSipTrunksResponse": { + "description": "The response message for SipTrunks.ListSipTrunks.", + "id": "GoogleCloudDialogflowV2beta1ListSipTrunksResponse", + "properties": { + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "type": "string" + }, + "sipTrunks": { + "description": "The list of SIP trunks.", + "items": { + "$ref": "GoogleCloudDialogflowV2beta1SipTrunk" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1ListSuggestionsResponse": { "deprecated": true, "description": "The response message for Participants.ListSuggestions.", @@ -20092,6 +20471,14 @@ "description": "The sources of the answers.", "id": "GoogleCloudDialogflowV2beta1SearchKnowledgeAnswerAnswerSource", "properties": { + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Metadata associated with the article.", + "type": "object" + }, "snippet": { "description": "The relevant snippet of the article.", "type": "string" @@ -20119,6 +20506,18 @@ "description": "Required. The conversation profile used to configure the search. Format: `projects//locations//conversationProfiles/`.", "type": "string" }, + "endUserMetadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Information about the end-user to improve the relevance and accuracy of generative answers. This will be interpreted and used by a language model, so, for good results, the data should be self-descriptive, and in a simple structure. Example: ```json { \"subscription plan\": \"Business Premium Plus\", \"devices owned\": [ {\"model\": \"Google Pixel 7\"}, {\"model\": \"Google Pixel Tablet\"} ] } ```", + "type": "object" + }, + "exactSearch": { + "description": "Optional. Whether to search the query exactly without query rewrite.", + "type": "boolean" + }, "latestMessage": { "description": "Optional. The name of the latest conversation message when the request is triggered. Format: `projects//locations//conversations//messages/`.", "type": "string" @@ -20131,6 +20530,24 @@ "$ref": "GoogleCloudDialogflowV2beta1TextInput", "description": "Required. The natural language text query for knowledge search." }, + "querySource": { + "description": "Optional. The source of the query in the request.", + "enum": [ + "QUERY_SOURCE_UNSPECIFIED", + "AGENT_QUERY", + "SUGGESTED_QUERY" + ], + "enumDescriptions": [ + "Unknown query source.", + "The query is from agents.", + "The query is a suggested query from Participants.SuggestKnowledgeAssist." + ], + "type": "string" + }, + "searchConfig": { + "$ref": "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfig", + "description": "Optional. Configuration specific to search queries with data stores." + }, "sessionId": { "description": "Required. The ID of the search session. The session_id can be combined with Dialogflow V3 Agent ID retrieved from conversation profile or on its own to identify a search session. The search history of the same session will impact the search result. It's up to the API caller to choose an appropriate `Session ID`. It can be a random number or some type of session identifiers (preferably hashed). The length must not exceed 36 characters.", "type": "string" @@ -20138,6 +20555,160 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfig": { + "description": "Configuration specific to search queries with data stores.", + "id": "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfig", + "properties": { + "boostSpecs": { + "description": "Optional. Boost specifications for data stores.", + "items": { + "$ref": "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecs" + }, + "type": "array" + }, + "filterSpecs": { + "description": "Optional. Filter specification for data store queries.", + "items": { + "$ref": "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigFilterSpecs" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecs": { + "description": "Boost specifications for data stores.", + "id": "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecs", + "properties": { + "dataStores": { + "description": "Optional. Data Stores where the boosting configuration is applied. The full names of the referenced data stores. Formats: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}` `projects/{project}/locations/{location}/dataStores/{data_store}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "spec": { + "description": "Optional. A list of boosting specifications.", + "items": { + "$ref": "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec": { + "description": "Boost specification to boost certain documents. A copy of google.cloud.discoveryengine.v1main.BoostSpec, field documentation is available at https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1alpha/BoostSpec", + "id": "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec", + "properties": { + "conditionBoostSpecs": { + "description": "Optional. Condition boost specifications. If a document matches multiple conditions in the specifictions, boost scores from these specifications are all applied and combined in a non-linear way. Maximum number of specifications is 20.", + "items": { + "$ref": "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpec" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpec": { + "description": "Boost applies to documents which match a condition.", + "id": "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpec", + "properties": { + "boost": { + "description": "Optional. Strength of the condition boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0. Setting to 1.0 gives the document a big promotion. However, it does not necessarily mean that the boosted document will be the top result at all times, nor that other documents will be excluded. Results could still be shown even when none of them matches the condition. And results that are significantly more relevant to the search query can still trump your heavily favored but irrelevant documents. Setting to -1.0 gives the document a big demotion. However, results that are deeply relevant might still be shown. The document will have an upstream battle to get a fairly high ranking, but it is not blocked out completely. Setting to 0.0 means no boost applied. The boosting condition is ignored.", + "format": "float", + "type": "number" + }, + "boostControlSpec": { + "$ref": "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpec", + "description": "Optional. Complex specification for custom ranking based on customer defined attribute value." + }, + "condition": { + "description": "Optional. An expression which specifies a boost condition. The syntax and supported fields are the same as a filter expression. Examples: * To boost documents with document ID \"doc_1\" or \"doc_2\", and color \"Red\" or \"Blue\": * (id: ANY(\"doc_1\", \"doc_2\")) AND (color: ANY(\"Red\",\"Blue\"))", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpec": { + "description": "Specification for custom ranking based on customer specified attribute value. It provides more controls for customized ranking than the simple (condition, boost) combination above.", + "id": "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpec", + "properties": { + "attributeType": { + "description": "Optional. The attribute type to be used to determine the boost amount. The attribute value can be derived from the field value of the specified field_name. In the case of numerical it is straightforward i.e. attribute_value = numerical_field_value. In the case of freshness however, attribute_value = (time.now() - datetime_field_value).", + "enum": [ + "ATTRIBUTE_TYPE_UNSPECIFIED", + "NUMERICAL", + "FRESHNESS" + ], + "enumDescriptions": [ + "Unspecified AttributeType.", + "The value of the numerical field will be used to dynamically update the boost amount. In this case, the attribute_value (the x value) of the control point will be the actual value of the numerical field for which the boost_amount is specified.", + "For the freshness use case the attribute value will be the duration between the current time and the date in the datetime field specified. The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`. E.g. `5D`, `3DT12H30M`, `T24H`." + ], + "type": "string" + }, + "controlPoints": { + "description": "Optional. The control points used to define the curve. The monotonic function (defined through the interpolation_type above) passes through the control points listed here.", + "items": { + "$ref": "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpecControlPoint" + }, + "type": "array" + }, + "fieldName": { + "description": "Optional. The name of the field whose value will be used to determine the boost amount.", + "type": "string" + }, + "interpolationType": { + "description": "Optional. The interpolation type to be applied to connect the control points listed below.", + "enum": [ + "INTERPOLATION_TYPE_UNSPECIFIED", + "LINEAR" + ], + "enumDescriptions": [ + "Interpolation type is unspecified. In this case, it defaults to Linear.", + "Piecewise linear interpolation will be applied." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpecControlPoint": { + "description": "The control points used to define the curve. The curve defined through these control points can only be monotonically increasing or decreasing(constant values are acceptable).", + "id": "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpecControlPoint", + "properties": { + "attributeValue": { + "description": "Optional. Can be one of: 1. The numerical field value. 2. The duration spec for freshness: The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`.", + "type": "string" + }, + "boostAmount": { + "description": "Optional. The value between -1 to 1 by which to boost the score if the attribute_value evaluates to the value specified above.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigFilterSpecs": { + "description": "Filter specification for data store queries.", + "id": "GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigFilterSpecs", + "properties": { + "dataStores": { + "description": "Optional. The data store where the filter configuration is applied. Full resource name of data store, such as projects/{project}/locations/{location}/collections/{collectionId}/ dataStores/{dataStoreId}.", + "items": { + "type": "string" + }, + "type": "array" + }, + "filter": { + "description": "Optional. The filter expression to be applied. Expression syntax is documented at https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata#filter-expression-syntax", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1SearchKnowledgeResponse": { "description": "The response message for Conversations.SearchKnowledge.", "id": "GoogleCloudDialogflowV2beta1SearchKnowledgeResponse", @@ -20310,6 +20881,36 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2beta1SipTrunk": { + "description": "SipTrunk is the resource that represents a SIP trunk to connect to Google Telephony platform SIP trunking service.", + "id": "GoogleCloudDialogflowV2beta1SipTrunk", + "properties": { + "connections": { + "description": "Output only. Connections of the SIP trunk.", + "items": { + "$ref": "GoogleCloudDialogflowV2beta1Connection" + }, + "readOnly": true, + "type": "array" + }, + "displayName": { + "description": "Optional. Human readable alias for this trunk.", + "type": "string" + }, + "expectedHostname": { + "description": "Required. The expected hostnames in the peer certificate from partner that is used for TLS authentication.", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Identifier. The unique identifier of the SIP trunk. Format: `projects//locations//sipTrunks/`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1SmartReplyAnswer": { "description": "Represents a smart reply answer.", "id": "GoogleCloudDialogflowV2beta1SmartReplyAnswer", @@ -20391,6 +20992,13 @@ "description": "Which Speech model to select. Select the model best suited to your domain to get best results. If a model is not explicitly specified, then Dialogflow auto-selects a model based on other parameters in the SpeechToTextConfig and Agent settings. If enhanced speech model is enabled for the agent and an enhanced version of the specified model for the language does not exist, then the speech is recognized using the standard version of the specified model. Refer to [Cloud Speech API documentation](https://cloud.google.com/speech-to-text/docs/basics#select-model) for more details. If you specify a model, the following models typically have the best performance: - phone_call (best for Agent Assist and telephony) - latest_short (best for Dialogflow non-telephony) - command_and_search Leave this field unspecified to use [Agent Speech settings](https://cloud.google.com/dialogflow/cx/docs/concept/agent#settings-speech) for model selection.", "type": "string" }, + "phraseSets": { + "description": "List of names of Cloud Speech phrase sets that are used for transcription.", + "items": { + "type": "string" + }, + "type": "array" + }, "sampleRateHertz": { "description": "Sample rate (in Hertz) of the audio content sent in the query. Refer to [Cloud Speech API documentation](https://cloud.google.com/speech-to-text/docs/basics) for more details.", "format": "int32", @@ -20419,6 +21027,95 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2beta1SpeechWordInfo": { + "description": "Information for a word recognized by the speech recognizer.", + "id": "GoogleCloudDialogflowV2beta1SpeechWordInfo", + "properties": { + "confidence": { + "description": "The Speech confidence between 0.0 and 1.0 for this word. A higher number indicates an estimated greater likelihood that the recognized word is correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is not guaranteed to be fully stable over time for the same audio input. Users should also not rely on it to always be provided.", + "format": "float", + "type": "number" + }, + "endOffset": { + "description": "Time offset relative to the beginning of the audio that corresponds to the end of the spoken word. This is an experimental feature and the accuracy of the time offset can vary.", + "format": "google-duration", + "type": "string" + }, + "startOffset": { + "description": "Time offset relative to the beginning of the audio that corresponds to the start of the spoken word. This is an experimental feature and the accuracy of the time offset can vary.", + "format": "google-duration", + "type": "string" + }, + "word": { + "description": "The word this info is for.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2beta1StreamingRecognitionResult": { + "description": "Contains a speech recognition result corresponding to a portion of the audio that is currently being processed or an indication that this is the end of the single requested utterance. While end-user audio is being processed, Dialogflow sends a series of results. Each result may contain a `transcript` value. A transcript represents a portion of the utterance. While the recognizer is processing audio, transcript values may be interim values or finalized values. Once a transcript is finalized, the `is_final` value is set to true and processing continues for the next transcript. If `StreamingDetectIntentRequest.query_input.audio_config.single_utterance` was true, and the recognizer has completed processing audio, the `message_type` value is set to `END_OF_SINGLE_UTTERANCE and the following (last) result contains the last finalized transcript. The complete end-user utterance is determined by concatenating the finalized transcript values received for the series of results. In the following example, single utterance is enabled. In the case where single utterance is not enabled, result 7 would not occur. ``` Num | transcript | message_type | is_final --- | ----------------------- | ----------------------- | -------- 1 | \"tube\" | TRANSCRIPT | false 2 | \"to be a\" | TRANSCRIPT | false 3 | \"to be\" | TRANSCRIPT | false 4 | \"to be or not to be\" | TRANSCRIPT | true 5 | \"that's\" | TRANSCRIPT | false 6 | \"that is | TRANSCRIPT | false 7 | unset | END_OF_SINGLE_UTTERANCE | unset 8 | \" that is the question\" | TRANSCRIPT | true ``` Concatenating the finalized transcripts with `is_final` set to true, the complete utterance becomes \"to be or not to be that is the question\".", + "id": "GoogleCloudDialogflowV2beta1StreamingRecognitionResult", + "properties": { + "confidence": { + "description": "The Speech confidence between 0.0 and 1.0 for the current portion of audio. A higher number indicates an estimated greater likelihood that the recognized words are correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is typically only provided if `is_final` is true and you should not rely on it being accurate or even set.", + "format": "float", + "type": "number" + }, + "dtmfDigits": { + "$ref": "GoogleCloudDialogflowV2beta1TelephonyDtmfEvents", + "description": "DTMF digits. Populated if and only if `message_type` = `DTMF_DIGITS`." + }, + "isFinal": { + "description": "If `false`, the `StreamingRecognitionResult` represents an interim result that may change. If `true`, the recognizer will not return any further hypotheses about this piece of the audio. May only be populated for `message_type` = `TRANSCRIPT`.", + "type": "boolean" + }, + "languageCode": { + "description": "Detected language code for the transcript.", + "type": "string" + }, + "messageType": { + "description": "Type of the result message.", + "enum": [ + "MESSAGE_TYPE_UNSPECIFIED", + "TRANSCRIPT", + "DTMF_DIGITS", + "END_OF_SINGLE_UTTERANCE", + "PARTIAL_DTMF_DIGITS" + ], + "enumDescriptions": [ + "Not specified. Should never be used.", + "Message contains a (possibly partial) transcript.", + "Message contains DTMF digits.", + "This event indicates that the server has detected the end of the user's speech utterance and expects no additional speech. Therefore, the server will not process additional audio (although it may subsequently return additional results). The client should stop sending additional audio data, half-close the gRPC connection, and wait for any additional results until the server closes the gRPC connection. This message is only sent if `single_utterance` was set to `true`, and is not used otherwise.", + "Message contains DTMF digits. Before a message with DTMF_DIGITS is sent, a message with PARTIAL_DTMF_DIGITS may be sent with DTMF digits collected up to the time of sending, which represents an intermediate result." + ], + "type": "string" + }, + "speechEndOffset": { + "description": "Time offset of the end of this Speech recognition result relative to the beginning of the audio. Only populated for `message_type` = `TRANSCRIPT`.", + "format": "google-duration", + "type": "string" + }, + "speechWordInfo": { + "description": "Word-specific information for the words recognized by Speech in transcript. Populated if and only if `message_type` = `TRANSCRIPT` and [InputAudioConfig.enable_word_info] is set.", + "items": { + "$ref": "GoogleCloudDialogflowV2beta1SpeechWordInfo" + }, + "type": "array" + }, + "stability": { + "description": "An estimate of the likelihood that the speech recognizer will not change its guess about this interim recognition result: * If the value is unspecified or 0.0, Dialogflow didn't compute the stability. In particular, Dialogflow will only provide stability for `TRANSCRIPT` results with `is_final = false`. * Otherwise, the value is in (0.0, 1.0] where 0.0 means completely unstable and 1.0 means completely stable.", + "format": "float", + "type": "number" + }, + "transcript": { + "description": "Transcript text representing the words that the user spoke. Populated if and only if `message_type` = `TRANSCRIPT`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1SubAgent": { "description": "Contains basic configuration for a sub-agent.", "id": "GoogleCloudDialogflowV2beta1SubAgent", diff --git a/discovery/dialogflow-v3.json b/discovery/dialogflow-v3.json index d68c89f19f..f1b66f56a2 100644 --- a/discovery/dialogflow-v3.json +++ b/discovery/dialogflow-v3.json @@ -4098,7 +4098,7 @@ "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`.", + "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": "v3/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "dialogflow.projects.locations.operations.cancel", @@ -4355,7 +4355,7 @@ "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`.", + "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": "v3/projects/{projectsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "dialogflow.projects.operations.cancel", @@ -4453,7 +4453,7 @@ } } }, - "revision": "20240924", + "revision": "20241216", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AdvancedSettings": { @@ -4830,7 +4830,7 @@ "type": "object" }, "GoogleCloudDialogflowCxV3BargeInConfig": { - "description": "Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up.", + "description": "Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up.", "id": "GoogleCloudDialogflowCxV3BargeInConfig", "properties": { "noBargeInDuration": { @@ -6914,6 +6914,10 @@ "description": "Required. The human-readable name of the generator, unique within the agent. The prompt contains pre-defined parameters such as $conversation, $last-user-utterance, etc. populated by Dialogflow. It can also contain custom placeholders which will be resolved during fulfillment.", "type": "string" }, + "modelParameter": { + "$ref": "GoogleCloudDialogflowCxV3GeneratorModelParameter", + "description": "Parameters passed to the LLM to configure its behavior." + }, "name": { "description": "The unique identifier of the generator. Must be set for the Generators.UpdateGenerator method. Generators.CreateGenerate populates the name automatically. Format: `projects//locations//agents//generators/`.", "type": "string" @@ -6932,6 +6936,33 @@ }, "type": "object" }, + "GoogleCloudDialogflowCxV3GeneratorModelParameter": { + "description": "Parameters to be passed to the LLM. If not set, default values will be used.", + "id": "GoogleCloudDialogflowCxV3GeneratorModelParameter", + "properties": { + "maxDecodeSteps": { + "description": "The maximum number of tokens to generate.", + "format": "int32", + "type": "integer" + }, + "temperature": { + "description": "The temperature used for sampling. Temperature sampling occurs after both topP and topK have been applied. Valid range: [0.0, 1.0] Low temperature = less random. High temperature = more random.", + "format": "float", + "type": "number" + }, + "topK": { + "description": "If set, the sampling process in each step is limited to the top_k tokens with highest probabilities. Valid range: [1, 40] or 1000+. Small topK = less random. Large topK = more random.", + "format": "int32", + "type": "integer" + }, + "topP": { + "description": "If set, only the tokens comprising the top top_p probability mass are considered. If both top_p and top_k are set, top_p will be used for further refining candidates selected with top_k. Valid range: (0.0, 1.0]. Small topP = less random. Large topP = more random.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, "GoogleCloudDialogflowCxV3GeneratorPlaceholder": { "description": "Represents a custom placeholder in the prompt text.", "id": "GoogleCloudDialogflowCxV3GeneratorPlaceholder", @@ -7440,6 +7471,7 @@ "properties": { "id": { "description": "Output only. The unique identifier of the training phrase.", + "readOnly": true, "type": "string" }, "parts": { @@ -10340,7 +10372,7 @@ "type": "object" }, "GoogleCloudDialogflowCxV3beta1BargeInConfig": { - "description": "Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up.", + "description": "Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up.", "id": "GoogleCloudDialogflowCxV3beta1BargeInConfig", "properties": { "noBargeInDuration": { @@ -11340,6 +11372,7 @@ "properties": { "id": { "description": "Output only. The unique identifier of the training phrase.", + "readOnly": true, "type": "string" }, "parts": { @@ -12690,7 +12723,7 @@ "type": "object" }, "GoogleCloudDialogflowV2ClearSuggestionFeatureConfigOperationMetadata": { - "description": "Metadata for a ConversationProfile.ClearSuggestionFeatureConfig operation.", + "description": "Metadata for a ConversationProfiles.ClearSuggestionFeatureConfig operation.", "id": "GoogleCloudDialogflowV2ClearSuggestionFeatureConfigOperationMetadata", "properties": { "conversationProfile": { @@ -12781,6 +12814,10 @@ "$ref": "GoogleCloudDialogflowV2Message", "description": "Payload of NEW_MESSAGE event." }, + "newRecognitionResultPayload": { + "$ref": "GoogleCloudDialogflowV2StreamingRecognitionResult", + "description": "Payload of NEW_RECOGNITION_RESULT event." + }, "type": { "description": "The type of the event that this notification refers to.", "enum": [ @@ -12789,6 +12826,7 @@ "CONVERSATION_FINISHED", "HUMAN_INTERVENTION_NEEDED", "NEW_MESSAGE", + "NEW_RECOGNITION_RESULT", "UNRECOVERABLE_ERROR" ], "enumDescriptions": [ @@ -12797,6 +12835,7 @@ "An existing conversation has closed. This is fired when a telephone call is terminated, or a conversation is closed via the API.", "An existing conversation has received notification from Dialogflow that human intervention is required.", "An existing conversation has received a new message, either from API or telephony. It is configured in ConversationProfile.new_message_event_notification_config", + "An existing conversation has received a new speech recognition result. This is mainly for delivering intermediate transcripts. The notification is configured in ConversationProfile.new_recognition_event_notification_config.", "Unrecoverable error during a telephone call. In general non-recoverable errors only occur if something was misconfigured in the ConversationProfile corresponding to the call. After a non-recoverable error, Dialogflow may stop responding. We don't fire this event: * in an API call because we can directly return the error, or, * when we can recover from an error." ], "type": "string" @@ -12882,7 +12921,7 @@ "type": "object" }, "GoogleCloudDialogflowV2CreateConversationDatasetOperationMetadata": { - "description": "Metadata for ConversationDatasets.", + "description": "Metadata for CreateConversationDataset.", "id": "GoogleCloudDialogflowV2CreateConversationDatasetOperationMetadata", "properties": { "conversationDataset": { @@ -12971,7 +13010,7 @@ "type": "object" }, "GoogleCloudDialogflowV2DeleteConversationDatasetOperationMetadata": { - "description": "Metadata for ConversationDatasets.", + "description": "Metadata for DeleteConversationDataset.", "id": "GoogleCloudDialogflowV2DeleteConversationDatasetOperationMetadata", "properties": {}, "type": "object" @@ -14156,6 +14195,7 @@ "properties": { "name": { "description": "Output only. The unique identifier of this training phrase.", + "readOnly": true, "type": "string" }, "parts": { @@ -14282,6 +14322,14 @@ "description": "Snippet Source for a Generative Prediction.", "id": "GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet", "properties": { + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Metadata of the document.", + "type": "object" + }, "text": { "description": "Text taken from that URI.", "type": "string" @@ -14552,7 +14600,7 @@ "type": "object" }, "GoogleCloudDialogflowV2SentimentAnalysisResult": { - "description": "The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral. For Participants.DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For Participants.StreamingDetectIntent, it needs to be configured in StreamingDetectIntentRequest.query_params. And for Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it needs to be configured in ConversationProfile.human_agent_assistant_config", + "description": "The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral. For DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For StreamingDetectIntent, it needs to be configured in StreamingDetectIntentRequest.query_params. And for Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it needs to be configured in ConversationProfile.human_agent_assistant_config", "id": "GoogleCloudDialogflowV2SentimentAnalysisResult", "properties": { "queryTextSentiment": { @@ -14595,7 +14643,7 @@ "type": "object" }, "GoogleCloudDialogflowV2SetSuggestionFeatureConfigOperationMetadata": { - "description": "Metadata for a ConversationProfile.SetSuggestionFeatureConfig operation.", + "description": "Metadata for a ConversationProfiles.SetSuggestionFeatureConfig operation.", "id": "GoogleCloudDialogflowV2SetSuggestionFeatureConfigOperationMetadata", "properties": { "conversationProfile": { @@ -14687,6 +14735,82 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2SpeechWordInfo": { + "description": "Information for a word recognized by the speech recognizer.", + "id": "GoogleCloudDialogflowV2SpeechWordInfo", + "properties": { + "confidence": { + "description": "The Speech confidence between 0.0 and 1.0 for this word. A higher number indicates an estimated greater likelihood that the recognized word is correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is not guaranteed to be fully stable over time for the same audio input. Users should also not rely on it to always be provided.", + "format": "float", + "type": "number" + }, + "endOffset": { + "description": "Time offset relative to the beginning of the audio that corresponds to the end of the spoken word. This is an experimental feature and the accuracy of the time offset can vary.", + "format": "google-duration", + "type": "string" + }, + "startOffset": { + "description": "Time offset relative to the beginning of the audio that corresponds to the start of the spoken word. This is an experimental feature and the accuracy of the time offset can vary.", + "format": "google-duration", + "type": "string" + }, + "word": { + "description": "The word this info is for.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2StreamingRecognitionResult": { + "description": "Contains a speech recognition result corresponding to a portion of the audio that is currently being processed or an indication that this is the end of the single requested utterance. While end-user audio is being processed, Dialogflow sends a series of results. Each result may contain a `transcript` value. A transcript represents a portion of the utterance. While the recognizer is processing audio, transcript values may be interim values or finalized values. Once a transcript is finalized, the `is_final` value is set to true and processing continues for the next transcript. If `StreamingDetectIntentRequest.query_input.audio_config.single_utterance` was true, and the recognizer has completed processing audio, the `message_type` value is set to `END_OF_SINGLE_UTTERANCE and the following (last) result contains the last finalized transcript. The complete end-user utterance is determined by concatenating the finalized transcript values received for the series of results. In the following example, single utterance is enabled. In the case where single utterance is not enabled, result 7 would not occur. ``` Num | transcript | message_type | is_final --- | ----------------------- | ----------------------- | -------- 1 | \"tube\" | TRANSCRIPT | false 2 | \"to be a\" | TRANSCRIPT | false 3 | \"to be\" | TRANSCRIPT | false 4 | \"to be or not to be\" | TRANSCRIPT | true 5 | \"that's\" | TRANSCRIPT | false 6 | \"that is | TRANSCRIPT | false 7 | unset | END_OF_SINGLE_UTTERANCE | unset 8 | \" that is the question\" | TRANSCRIPT | true ``` Concatenating the finalized transcripts with `is_final` set to true, the complete utterance becomes \"to be or not to be that is the question\".", + "id": "GoogleCloudDialogflowV2StreamingRecognitionResult", + "properties": { + "confidence": { + "description": "The Speech confidence between 0.0 and 1.0 for the current portion of audio. A higher number indicates an estimated greater likelihood that the recognized words are correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is typically only provided if `is_final` is true and you should not rely on it being accurate or even set.", + "format": "float", + "type": "number" + }, + "isFinal": { + "description": "If `false`, the `StreamingRecognitionResult` represents an interim result that may change. If `true`, the recognizer will not return any further hypotheses about this piece of the audio. May only be populated for `message_type` = `TRANSCRIPT`.", + "type": "boolean" + }, + "languageCode": { + "description": "Detected language code for the transcript.", + "type": "string" + }, + "messageType": { + "description": "Type of the result message.", + "enum": [ + "MESSAGE_TYPE_UNSPECIFIED", + "TRANSCRIPT", + "END_OF_SINGLE_UTTERANCE" + ], + "enumDescriptions": [ + "Not specified. Should never be used.", + "Message contains a (possibly partial) transcript.", + "This event indicates that the server has detected the end of the user's speech utterance and expects no additional inputs. Therefore, the server will not process additional audio (although it may subsequently return additional results). The client should stop sending additional audio data, half-close the gRPC connection, and wait for any additional results until the server closes the gRPC connection. This message is only sent if `single_utterance` was set to `true`, and is not used otherwise." + ], + "type": "string" + }, + "speechEndOffset": { + "description": "Time offset of the end of this Speech recognition result relative to the beginning of the audio. Only populated for `message_type` = `TRANSCRIPT`.", + "format": "google-duration", + "type": "string" + }, + "speechWordInfo": { + "description": "Word-specific information for the words recognized by Speech in transcript. Populated if and only if `message_type` = `TRANSCRIPT` and [InputAudioConfig.enable_word_info] is set.", + "items": { + "$ref": "GoogleCloudDialogflowV2SpeechWordInfo" + }, + "type": "array" + }, + "transcript": { + "description": "Transcript text representing the words that the user spoke. Populated if and only if `message_type` = `TRANSCRIPT`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2SuggestArticlesResponse": { "description": "The response message for Participants.SuggestArticles.", "id": "GoogleCloudDialogflowV2SuggestArticlesResponse", @@ -15068,6 +15192,10 @@ "$ref": "GoogleCloudDialogflowV2beta1Message", "description": "Payload of NEW_MESSAGE event." }, + "newRecognitionResultPayload": { + "$ref": "GoogleCloudDialogflowV2beta1StreamingRecognitionResult", + "description": "Payload of NEW_RECOGNITION_RESULT event." + }, "type": { "description": "Required. The type of the event that this notification refers to.", "enum": [ @@ -15076,6 +15204,7 @@ "CONVERSATION_FINISHED", "HUMAN_INTERVENTION_NEEDED", "NEW_MESSAGE", + "NEW_RECOGNITION_RESULT", "UNRECOVERABLE_ERROR" ], "enumDescriptions": [ @@ -15084,6 +15213,7 @@ "An existing conversation has closed. This is fired when a telephone call is terminated, or a conversation is closed via the API.", "An existing conversation has received notification from Dialogflow that human intervention is required.", "An existing conversation has received a new message, either from API or telephony. It is configured in ConversationProfile.new_message_event_notification_config", + "An existing conversation has received a new speech recognition result. This is mainly for delivering intermediate transcripts. The notification is configured in ConversationProfile.new_recognition_event_notification_config.", "Unrecoverable error during a telephone call. In general non-recoverable errors only occur if something was misconfigured in the ConversationProfile corresponding to the call. After a non-recoverable error, Dialogflow may stop responding. We don't fire this event: * in an API call because we can directly return the error, or, * when we can recover from an error." ], "type": "string" @@ -16524,6 +16654,7 @@ "properties": { "name": { "description": "Output only. The unique identifier of this training phrase.", + "readOnly": true, "type": "string" }, "parts": { @@ -16704,6 +16835,14 @@ "description": "Snippet Source for a Generative Prediction.", "id": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet", "properties": { + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Metadata of the document.", + "type": "object" + }, "text": { "description": "Text taken from that URI.", "type": "string" @@ -17222,6 +17361,95 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2beta1SpeechWordInfo": { + "description": "Information for a word recognized by the speech recognizer.", + "id": "GoogleCloudDialogflowV2beta1SpeechWordInfo", + "properties": { + "confidence": { + "description": "The Speech confidence between 0.0 and 1.0 for this word. A higher number indicates an estimated greater likelihood that the recognized word is correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is not guaranteed to be fully stable over time for the same audio input. Users should also not rely on it to always be provided.", + "format": "float", + "type": "number" + }, + "endOffset": { + "description": "Time offset relative to the beginning of the audio that corresponds to the end of the spoken word. This is an experimental feature and the accuracy of the time offset can vary.", + "format": "google-duration", + "type": "string" + }, + "startOffset": { + "description": "Time offset relative to the beginning of the audio that corresponds to the start of the spoken word. This is an experimental feature and the accuracy of the time offset can vary.", + "format": "google-duration", + "type": "string" + }, + "word": { + "description": "The word this info is for.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2beta1StreamingRecognitionResult": { + "description": "Contains a speech recognition result corresponding to a portion of the audio that is currently being processed or an indication that this is the end of the single requested utterance. While end-user audio is being processed, Dialogflow sends a series of results. Each result may contain a `transcript` value. A transcript represents a portion of the utterance. While the recognizer is processing audio, transcript values may be interim values or finalized values. Once a transcript is finalized, the `is_final` value is set to true and processing continues for the next transcript. If `StreamingDetectIntentRequest.query_input.audio_config.single_utterance` was true, and the recognizer has completed processing audio, the `message_type` value is set to `END_OF_SINGLE_UTTERANCE and the following (last) result contains the last finalized transcript. The complete end-user utterance is determined by concatenating the finalized transcript values received for the series of results. In the following example, single utterance is enabled. In the case where single utterance is not enabled, result 7 would not occur. ``` Num | transcript | message_type | is_final --- | ----------------------- | ----------------------- | -------- 1 | \"tube\" | TRANSCRIPT | false 2 | \"to be a\" | TRANSCRIPT | false 3 | \"to be\" | TRANSCRIPT | false 4 | \"to be or not to be\" | TRANSCRIPT | true 5 | \"that's\" | TRANSCRIPT | false 6 | \"that is | TRANSCRIPT | false 7 | unset | END_OF_SINGLE_UTTERANCE | unset 8 | \" that is the question\" | TRANSCRIPT | true ``` Concatenating the finalized transcripts with `is_final` set to true, the complete utterance becomes \"to be or not to be that is the question\".", + "id": "GoogleCloudDialogflowV2beta1StreamingRecognitionResult", + "properties": { + "confidence": { + "description": "The Speech confidence between 0.0 and 1.0 for the current portion of audio. A higher number indicates an estimated greater likelihood that the recognized words are correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is typically only provided if `is_final` is true and you should not rely on it being accurate or even set.", + "format": "float", + "type": "number" + }, + "dtmfDigits": { + "$ref": "GoogleCloudDialogflowV2beta1TelephonyDtmfEvents", + "description": "DTMF digits. Populated if and only if `message_type` = `DTMF_DIGITS`." + }, + "isFinal": { + "description": "If `false`, the `StreamingRecognitionResult` represents an interim result that may change. If `true`, the recognizer will not return any further hypotheses about this piece of the audio. May only be populated for `message_type` = `TRANSCRIPT`.", + "type": "boolean" + }, + "languageCode": { + "description": "Detected language code for the transcript.", + "type": "string" + }, + "messageType": { + "description": "Type of the result message.", + "enum": [ + "MESSAGE_TYPE_UNSPECIFIED", + "TRANSCRIPT", + "DTMF_DIGITS", + "END_OF_SINGLE_UTTERANCE", + "PARTIAL_DTMF_DIGITS" + ], + "enumDescriptions": [ + "Not specified. Should never be used.", + "Message contains a (possibly partial) transcript.", + "Message contains DTMF digits.", + "This event indicates that the server has detected the end of the user's speech utterance and expects no additional speech. Therefore, the server will not process additional audio (although it may subsequently return additional results). The client should stop sending additional audio data, half-close the gRPC connection, and wait for any additional results until the server closes the gRPC connection. This message is only sent if `single_utterance` was set to `true`, and is not used otherwise.", + "Message contains DTMF digits. Before a message with DTMF_DIGITS is sent, a message with PARTIAL_DTMF_DIGITS may be sent with DTMF digits collected up to the time of sending, which represents an intermediate result." + ], + "type": "string" + }, + "speechEndOffset": { + "description": "Time offset of the end of this Speech recognition result relative to the beginning of the audio. Only populated for `message_type` = `TRANSCRIPT`.", + "format": "google-duration", + "type": "string" + }, + "speechWordInfo": { + "description": "Word-specific information for the words recognized by Speech in transcript. Populated if and only if `message_type` = `TRANSCRIPT` and [InputAudioConfig.enable_word_info] is set.", + "items": { + "$ref": "GoogleCloudDialogflowV2beta1SpeechWordInfo" + }, + "type": "array" + }, + "stability": { + "description": "An estimate of the likelihood that the speech recognizer will not change its guess about this interim recognition result: * If the value is unspecified or 0.0, Dialogflow didn't compute the stability. In particular, Dialogflow will only provide stability for `TRANSCRIPT` results with `is_final = false`. * Otherwise, the value is in (0.0, 1.0] where 0.0 means completely unstable and 1.0 means completely stable.", + "format": "float", + "type": "number" + }, + "transcript": { + "description": "Transcript text representing the words that the user spoke. Populated if and only if `message_type` = `TRANSCRIPT`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1SuggestArticlesResponse": { "description": "The response message for Participants.SuggestArticles.", "id": "GoogleCloudDialogflowV2beta1SuggestArticlesResponse", @@ -17370,6 +17598,58 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2beta1TelephonyDtmfEvents": { + "description": "A wrapper of repeated TelephonyDtmf digits.", + "id": "GoogleCloudDialogflowV2beta1TelephonyDtmfEvents", + "properties": { + "dtmfEvents": { + "description": "A sequence of TelephonyDtmf digits.", + "items": { + "enum": [ + "TELEPHONY_DTMF_UNSPECIFIED", + "DTMF_ONE", + "DTMF_TWO", + "DTMF_THREE", + "DTMF_FOUR", + "DTMF_FIVE", + "DTMF_SIX", + "DTMF_SEVEN", + "DTMF_EIGHT", + "DTMF_NINE", + "DTMF_ZERO", + "DTMF_A", + "DTMF_B", + "DTMF_C", + "DTMF_D", + "DTMF_STAR", + "DTMF_POUND" + ], + "enumDescriptions": [ + "Not specified. This value may be used to indicate an absent digit.", + "Number: '1'.", + "Number: '2'.", + "Number: '3'.", + "Number: '4'.", + "Number: '5'.", + "Number: '6'.", + "Number: '7'.", + "Number: '8'.", + "Number: '9'.", + "Number: '0'.", + "Letter: 'A'.", + "Letter: 'B'.", + "Letter: 'C'.", + "Letter: 'D'.", + "Asterisk/star: '*'.", + "Pound/diamond/hash/square/gate/octothorpe: '#'." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1WebhookRequest": { "description": "The request message for a webhook call.", "id": "GoogleCloudDialogflowV2beta1WebhookRequest", diff --git a/discovery/dialogflow-v3beta1.json b/discovery/dialogflow-v3beta1.json index a5ef22d6fc..fc5529d31f 100644 --- a/discovery/dialogflow-v3beta1.json +++ b/discovery/dialogflow-v3beta1.json @@ -3188,6 +3188,35 @@ "https://www.googleapis.com/auth/dialogflow" ] }, + "export": { + "description": "Exports the specified playbook to a binary file. Note that resources (e.g. examples, tools) that the playbook references will also be exported.", + "flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/playbooks/{playbooksId}:export", + "httpMethod": "POST", + "id": "dialogflow.projects.locations.agents.playbooks.export", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the playbook to export. Format: `projects//locations//agents//playbooks/`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/playbooks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3beta1/{+name}:export", + "request": { + "$ref": "GoogleCloudDialogflowCxV3beta1ExportPlaybookRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, "get": { "description": "Retrieves the specified Playbook.", "flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/playbooks/{playbooksId}", @@ -3214,6 +3243,35 @@ "https://www.googleapis.com/auth/dialogflow" ] }, + "import": { + "description": "Imports the specified playbook to the specified agent from a binary file.", + "flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/playbooks:import", + "httpMethod": "POST", + "id": "dialogflow.projects.locations.agents.playbooks.import", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The agent to import the playbook into. Format: `projects//locations//agents/`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3beta1/{+parent}/playbooks:import", + "request": { + "$ref": "GoogleCloudDialogflowCxV3beta1ImportPlaybookRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] + }, "list": { "description": "Returns a list of playbooks in the specified agent.", "flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/playbooks", @@ -3569,6 +3627,35 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/dialogflow" ] + }, + "restore": { + "description": "Retrieves the specified version of the Playbook and stores it as the current playbook draft, returning the playbook with resources updated.", + "flatPath": "v3beta1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}/playbooks/{playbooksId}/versions/{versionsId}:restore", + "httpMethod": "POST", + "id": "dialogflow.projects.locations.agents.playbooks.versions.restore", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the playbook version. Format: `projects//locations//agents//playbooks//versions/`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+/playbooks/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v3beta1/{+name}:restore", + "request": { + "$ref": "GoogleCloudDialogflowCxV3beta1RestorePlaybookVersionRequest" + }, + "response": { + "$ref": "GoogleCloudDialogflowCxV3beta1RestorePlaybookVersionResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/dialogflow" + ] } } } @@ -4830,7 +4917,7 @@ "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`.", + "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": "v3beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "dialogflow.projects.locations.operations.cancel", @@ -5087,7 +5174,7 @@ "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`.", + "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": "v3beta1/projects/{projectsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "dialogflow.projects.operations.cancel", @@ -5185,7 +5272,7 @@ } } }, - "revision": "20240924", + "revision": "20241216", "rootUrl": "https://dialogflow.googleapis.com/", "schemas": { "GoogleCloudDialogflowCxV3AdvancedSettings": { @@ -5305,7 +5392,7 @@ "type": "object" }, "GoogleCloudDialogflowCxV3BargeInConfig": { - "description": "Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up.", + "description": "Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up.", "id": "GoogleCloudDialogflowCxV3BargeInConfig", "properties": { "noBargeInDuration": { @@ -6305,6 +6392,7 @@ "properties": { "id": { "description": "Output only. The unique identifier of the training phrase.", + "readOnly": true, "type": "string" }, "parts": { @@ -7915,7 +8003,7 @@ "type": "object" }, "GoogleCloudDialogflowCxV3beta1BargeInConfig": { - "description": "Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up.", + "description": "Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up.", "id": "GoogleCloudDialogflowCxV3beta1BargeInConfig", "properties": { "noBargeInDuration": { @@ -8345,6 +8433,10 @@ "description": "Represents an interaction between an end user and a Dialogflow CX agent using V3 (Streaming)DetectIntent API, or an interaction between an end user and a Dialogflow CX agent using V2 (Streaming)AnalyzeContent API.", "id": "GoogleCloudDialogflowCxV3beta1ConversationInteraction", "properties": { + "answerFeedback": { + "$ref": "GoogleCloudDialogflowCxV3beta1AnswerFeedback", + "description": "Answer feedback for the final response." + }, "createTime": { "description": "The time that the interaction was created.", "format": "google-datetime", @@ -8376,6 +8468,13 @@ "responseUtterances": { "description": "The output text or the transcript of the output audio in the responses. If multiple output messages are returned, they will be concatenated into one.", "type": "string" + }, + "stepMetrics": { + "description": "Metrics associated with different processing steps. Names and number of steps depend on the request and can change without a notice.", + "items": { + "$ref": "GoogleCloudDialogflowCxV3beta1ConversationInteractionStepMetrics" + }, + "type": "array" } }, "type": "object" @@ -8396,6 +8495,22 @@ }, "type": "object" }, + "GoogleCloudDialogflowCxV3beta1ConversationInteractionStepMetrics": { + "description": "Metrics of each processing step.", + "id": "GoogleCloudDialogflowCxV3beta1ConversationInteractionStepMetrics", + "properties": { + "latency": { + "description": "Processing latency of the step.", + "format": "google-duration", + "type": "string" + }, + "name": { + "description": "Name of the request processing step.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowCxV3beta1ConversationMetrics": { "description": "Represents metrics for the conversation.", "id": "GoogleCloudDialogflowCxV3beta1ConversationMetrics", @@ -9821,6 +9936,31 @@ }, "type": "object" }, + "GoogleCloudDialogflowCxV3beta1ExportPlaybookRequest": { + "description": "The request message for Playbooks.ExportPlaybook.", + "id": "GoogleCloudDialogflowCxV3beta1ExportPlaybookRequest", + "properties": { + "dataFormat": { + "description": "Optional. The data format of the exported agent. If not specified, `BLOB` is assumed.", + "enum": [ + "DATA_FORMAT_UNSPECIFIED", + "BLOB", + "JSON" + ], + "enumDescriptions": [ + "Unspecified format.", + "Flow content will be exported as raw bytes.", + "Flow content will be exported in JSON format." + ], + "type": "string" + }, + "playbookUri": { + "description": "Optional. The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to export the playbook to. The format of this URI must be `gs:///`. If left unspecified, the serialized playbook is returned inline. Dialogflow performs a write operation for the Cloud Storage object on the caller's behalf, so your request authentication must have write permissions for the object. For more information, see [Dialogflow access control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage).", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowCxV3beta1ExportTestCasesMetadata": { "description": "Metadata returned for the TestCases.ExportTestCases long running operation. This message currently has no fields.", "id": "GoogleCloudDialogflowCxV3beta1ExportTestCasesMetadata", @@ -10014,9 +10154,14 @@ "type": "object" }, "GoogleCloudDialogflowCxV3beta1FlowInvocation": { - "description": "Stores metadata of the invocation of a CX flow. Next Id: 7", + "description": "Stores metadata of the invocation of a CX flow.", "id": "GoogleCloudDialogflowCxV3beta1FlowInvocation", "properties": { + "displayName": { + "description": "Output only. The display name of the flow.", + "readOnly": true, + "type": "string" + }, "flow": { "description": "Required. The unique identifier of the flow. Format: `projects//locations//agents//flows/`.", "type": "string" @@ -10465,6 +10610,10 @@ "$ref": "GoogleCloudDialogflowCxV3beta1LlmModelSettings", "description": "The LLM model settings." }, + "modelParameter": { + "$ref": "GoogleCloudDialogflowCxV3beta1GeneratorModelParameter", + "description": "Parameters passed to the LLM to configure its behavior." + }, "name": { "description": "The unique identifier of the generator. Must be set for the Generators.UpdateGenerator method. Generators.CreateGenerate populates the name automatically. Format: `projects//locations//agents//generators/`.", "type": "string" @@ -10483,6 +10632,33 @@ }, "type": "object" }, + "GoogleCloudDialogflowCxV3beta1GeneratorModelParameter": { + "description": "Parameters to be passed to the LLM. If not set, default values will be used.", + "id": "GoogleCloudDialogflowCxV3beta1GeneratorModelParameter", + "properties": { + "maxDecodeSteps": { + "description": "The maximum number of tokens to generate.", + "format": "int32", + "type": "integer" + }, + "temperature": { + "description": "The temperature used for sampling. Temperature sampling occurs after both topP and topK have been applied. Valid range: [0.0, 1.0] Low temperature = less random. High temperature = more random.", + "format": "float", + "type": "number" + }, + "topK": { + "description": "If set, the sampling process in each step is limited to the top_k tokens with highest probabilities. Valid range: [1, 40] or 1000+. Small topK = less random. Large topK = more random.", + "format": "int32", + "type": "integer" + }, + "topP": { + "description": "If set, only the tokens comprising the top top_p probability mass are considered. If both top_p and top_k are set, top_p will be used for further refining candidates selected with top_k. Valid range: (0.0, 1.0]. Small topP = less random. Large topP = more random.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, "GoogleCloudDialogflowCxV3beta1GeneratorPlaceholder": { "description": "Represents a custom placeholder in the prompt text.", "id": "GoogleCloudDialogflowCxV3beta1GeneratorPlaceholder", @@ -10718,6 +10894,26 @@ }, "type": "object" }, + "GoogleCloudDialogflowCxV3beta1ImportPlaybookRequest": { + "description": "The request message for Playbooks.ImportPlaybook.", + "id": "GoogleCloudDialogflowCxV3beta1ImportPlaybookRequest", + "properties": { + "importStrategy": { + "$ref": "GoogleCloudDialogflowCxV3beta1PlaybookImportStrategy", + "description": "Optional. Specifies the import strategy used when resolving resource conflicts." + }, + "playbookContent": { + "description": "Uncompressed raw byte content for playbook.", + "format": "byte", + "type": "string" + }, + "playbookUri": { + "description": "[Dialogflow access control] (https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage).", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowCxV3beta1ImportTestCasesMetadata": { "description": "Metadata returned for the TestCases.ImportTestCases long running operation.", "id": "GoogleCloudDialogflowCxV3beta1ImportTestCasesMetadata", @@ -11020,6 +11216,7 @@ "properties": { "id": { "description": "Output only. The unique identifier of the training phrase.", + "readOnly": true, "type": "string" }, "parts": { @@ -12012,6 +12209,73 @@ }, "type": "object" }, + "GoogleCloudDialogflowCxV3beta1PlaybookImportStrategy": { + "description": "The playbook import strategy used for resource conflict resolution associated with an ImportPlaybookRequest.", + "id": "GoogleCloudDialogflowCxV3beta1PlaybookImportStrategy", + "properties": { + "mainPlaybookImportStrategy": { + "description": "Optional. Specifies the import strategy used when resolving conflicts with the main playbook. If not specified, 'CREATE_NEW' is assumed.", + "enum": [ + "IMPORT_STRATEGY_UNSPECIFIED", + "IMPORT_STRATEGY_CREATE_NEW", + "IMPORT_STRATEGY_REPLACE", + "IMPORT_STRATEGY_KEEP", + "IMPORT_STRATEGY_MERGE", + "IMPORT_STRATEGY_THROW_ERROR" + ], + "enumDescriptions": [ + "Unspecified. Treated as 'CREATE_NEW'.", + "Create a new resource with a numeric suffix appended to the end of the existing display name.", + "Replace existing resource with incoming resource in the content to be imported.", + "Keep existing resource and discard incoming resource in the content to be imported.", + "Combine existing and incoming resources when a conflict is encountered.", + "Throw error if a conflict is encountered." + ], + "type": "string" + }, + "nestedResourceImportStrategy": { + "description": "Optional. Specifies the import strategy used when resolving referenced playbook/flow conflicts. If not specified, 'CREATE_NEW' is assumed.", + "enum": [ + "IMPORT_STRATEGY_UNSPECIFIED", + "IMPORT_STRATEGY_CREATE_NEW", + "IMPORT_STRATEGY_REPLACE", + "IMPORT_STRATEGY_KEEP", + "IMPORT_STRATEGY_MERGE", + "IMPORT_STRATEGY_THROW_ERROR" + ], + "enumDescriptions": [ + "Unspecified. Treated as 'CREATE_NEW'.", + "Create a new resource with a numeric suffix appended to the end of the existing display name.", + "Replace existing resource with incoming resource in the content to be imported.", + "Keep existing resource and discard incoming resource in the content to be imported.", + "Combine existing and incoming resources when a conflict is encountered.", + "Throw error if a conflict is encountered." + ], + "type": "string" + }, + "toolImportStrategy": { + "description": "Optional. Specifies the import strategy used when resolving tool conflicts. If not specified, 'CREATE_NEW' is assumed. This will be applied after the main playbook and nested resource import strategies, meaning if the playbook that references the tool is skipped, the tool will also be skipped.", + "enum": [ + "IMPORT_STRATEGY_UNSPECIFIED", + "IMPORT_STRATEGY_CREATE_NEW", + "IMPORT_STRATEGY_REPLACE", + "IMPORT_STRATEGY_KEEP", + "IMPORT_STRATEGY_MERGE", + "IMPORT_STRATEGY_THROW_ERROR" + ], + "enumDescriptions": [ + "Unspecified. Treated as 'CREATE_NEW'.", + "Create a new resource with a numeric suffix appended to the end of the existing display name.", + "Replace existing resource with incoming resource in the content to be imported.", + "Keep existing resource and discard incoming resource in the content to be imported.", + "Combine existing and incoming resources when a conflict is encountered.", + "Throw error if a conflict is encountered." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowCxV3beta1PlaybookInput": { "description": "Input of the playbook.", "id": "GoogleCloudDialogflowCxV3beta1PlaybookInput", @@ -12046,9 +12310,14 @@ "type": "object" }, "GoogleCloudDialogflowCxV3beta1PlaybookInvocation": { - "description": "Stores metadata of the invocation of a child playbook. Next Id: 5", + "description": "Stores metadata of the invocation of a child playbook.", "id": "GoogleCloudDialogflowCxV3beta1PlaybookInvocation", "properties": { + "displayName": { + "description": "Output only. The display name of the playbook.", + "readOnly": true, + "type": "string" + }, "playbook": { "description": "Required. The unique identifier of the playbook. Format: `projects//locations//agents//playbooks/`.", "type": "string" @@ -12207,7 +12476,7 @@ "type": "string" }, "currentPlaybook": { - "description": "Optional. Start the session with the specified playbook. You can only specify the playbook at the beginning of the session. Otherwise, an error will be thrown. Format: `projects//locations//agents//playbooks/`.", + "description": "Optional. The unique identifier of the playbook to start or continue the session with. If `current_playbook` is specified, the previous state of the session will be ignored by Dialogflow. Format: `projects//locations//agents//playbooks/`.", "type": "string" }, "disableWebhook": { @@ -12695,6 +12964,23 @@ }, "type": "object" }, + "GoogleCloudDialogflowCxV3beta1RestorePlaybookVersionRequest": { + "description": "The request message for Playbooks.RestorePlaybookVersion.", + "id": "GoogleCloudDialogflowCxV3beta1RestorePlaybookVersionRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudDialogflowCxV3beta1RestorePlaybookVersionResponse": { + "description": "The response message for Playbooks.RestorePlaybookVersion.", + "id": "GoogleCloudDialogflowCxV3beta1RestorePlaybookVersionResponse", + "properties": { + "playbook": { + "$ref": "GoogleCloudDialogflowCxV3beta1Playbook", + "description": "The updated playbook." + } + }, + "type": "object" + }, "GoogleCloudDialogflowCxV3beta1RolloutConfig": { "description": "The configuration for auto rollout.", "id": "GoogleCloudDialogflowCxV3beta1RolloutConfig", @@ -13726,6 +14012,11 @@ "description": "Optional. Name of the action to be called during the tool use.", "type": "string" }, + "displayName": { + "description": "Output only. The display name of the tool.", + "readOnly": true, + "type": "string" + }, "inputActionParameters": { "additionalProperties": { "description": "Properties of the object.", @@ -14760,7 +15051,7 @@ "type": "object" }, "GoogleCloudDialogflowV2ClearSuggestionFeatureConfigOperationMetadata": { - "description": "Metadata for a ConversationProfile.ClearSuggestionFeatureConfig operation.", + "description": "Metadata for a ConversationProfiles.ClearSuggestionFeatureConfig operation.", "id": "GoogleCloudDialogflowV2ClearSuggestionFeatureConfigOperationMetadata", "properties": { "conversationProfile": { @@ -14851,6 +15142,10 @@ "$ref": "GoogleCloudDialogflowV2Message", "description": "Payload of NEW_MESSAGE event." }, + "newRecognitionResultPayload": { + "$ref": "GoogleCloudDialogflowV2StreamingRecognitionResult", + "description": "Payload of NEW_RECOGNITION_RESULT event." + }, "type": { "description": "The type of the event that this notification refers to.", "enum": [ @@ -14859,6 +15154,7 @@ "CONVERSATION_FINISHED", "HUMAN_INTERVENTION_NEEDED", "NEW_MESSAGE", + "NEW_RECOGNITION_RESULT", "UNRECOVERABLE_ERROR" ], "enumDescriptions": [ @@ -14867,6 +15163,7 @@ "An existing conversation has closed. This is fired when a telephone call is terminated, or a conversation is closed via the API.", "An existing conversation has received notification from Dialogflow that human intervention is required.", "An existing conversation has received a new message, either from API or telephony. It is configured in ConversationProfile.new_message_event_notification_config", + "An existing conversation has received a new speech recognition result. This is mainly for delivering intermediate transcripts. The notification is configured in ConversationProfile.new_recognition_event_notification_config.", "Unrecoverable error during a telephone call. In general non-recoverable errors only occur if something was misconfigured in the ConversationProfile corresponding to the call. After a non-recoverable error, Dialogflow may stop responding. We don't fire this event: * in an API call because we can directly return the error, or, * when we can recover from an error." ], "type": "string" @@ -14952,7 +15249,7 @@ "type": "object" }, "GoogleCloudDialogflowV2CreateConversationDatasetOperationMetadata": { - "description": "Metadata for ConversationDatasets.", + "description": "Metadata for CreateConversationDataset.", "id": "GoogleCloudDialogflowV2CreateConversationDatasetOperationMetadata", "properties": { "conversationDataset": { @@ -15041,7 +15338,7 @@ "type": "object" }, "GoogleCloudDialogflowV2DeleteConversationDatasetOperationMetadata": { - "description": "Metadata for ConversationDatasets.", + "description": "Metadata for DeleteConversationDataset.", "id": "GoogleCloudDialogflowV2DeleteConversationDatasetOperationMetadata", "properties": {}, "type": "object" @@ -16226,6 +16523,7 @@ "properties": { "name": { "description": "Output only. The unique identifier of this training phrase.", + "readOnly": true, "type": "string" }, "parts": { @@ -16352,6 +16650,14 @@ "description": "Snippet Source for a Generative Prediction.", "id": "GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet", "properties": { + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Metadata of the document.", + "type": "object" + }, "text": { "description": "Text taken from that URI.", "type": "string" @@ -16622,7 +16928,7 @@ "type": "object" }, "GoogleCloudDialogflowV2SentimentAnalysisResult": { - "description": "The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral. For Participants.DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For Participants.StreamingDetectIntent, it needs to be configured in StreamingDetectIntentRequest.query_params. And for Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it needs to be configured in ConversationProfile.human_agent_assistant_config", + "description": "The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral. For DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For StreamingDetectIntent, it needs to be configured in StreamingDetectIntentRequest.query_params. And for Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it needs to be configured in ConversationProfile.human_agent_assistant_config", "id": "GoogleCloudDialogflowV2SentimentAnalysisResult", "properties": { "queryTextSentiment": { @@ -16665,7 +16971,7 @@ "type": "object" }, "GoogleCloudDialogflowV2SetSuggestionFeatureConfigOperationMetadata": { - "description": "Metadata for a ConversationProfile.SetSuggestionFeatureConfig operation.", + "description": "Metadata for a ConversationProfiles.SetSuggestionFeatureConfig operation.", "id": "GoogleCloudDialogflowV2SetSuggestionFeatureConfigOperationMetadata", "properties": { "conversationProfile": { @@ -16757,6 +17063,82 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2SpeechWordInfo": { + "description": "Information for a word recognized by the speech recognizer.", + "id": "GoogleCloudDialogflowV2SpeechWordInfo", + "properties": { + "confidence": { + "description": "The Speech confidence between 0.0 and 1.0 for this word. A higher number indicates an estimated greater likelihood that the recognized word is correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is not guaranteed to be fully stable over time for the same audio input. Users should also not rely on it to always be provided.", + "format": "float", + "type": "number" + }, + "endOffset": { + "description": "Time offset relative to the beginning of the audio that corresponds to the end of the spoken word. This is an experimental feature and the accuracy of the time offset can vary.", + "format": "google-duration", + "type": "string" + }, + "startOffset": { + "description": "Time offset relative to the beginning of the audio that corresponds to the start of the spoken word. This is an experimental feature and the accuracy of the time offset can vary.", + "format": "google-duration", + "type": "string" + }, + "word": { + "description": "The word this info is for.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2StreamingRecognitionResult": { + "description": "Contains a speech recognition result corresponding to a portion of the audio that is currently being processed or an indication that this is the end of the single requested utterance. While end-user audio is being processed, Dialogflow sends a series of results. Each result may contain a `transcript` value. A transcript represents a portion of the utterance. While the recognizer is processing audio, transcript values may be interim values or finalized values. Once a transcript is finalized, the `is_final` value is set to true and processing continues for the next transcript. If `StreamingDetectIntentRequest.query_input.audio_config.single_utterance` was true, and the recognizer has completed processing audio, the `message_type` value is set to `END_OF_SINGLE_UTTERANCE and the following (last) result contains the last finalized transcript. The complete end-user utterance is determined by concatenating the finalized transcript values received for the series of results. In the following example, single utterance is enabled. In the case where single utterance is not enabled, result 7 would not occur. ``` Num | transcript | message_type | is_final --- | ----------------------- | ----------------------- | -------- 1 | \"tube\" | TRANSCRIPT | false 2 | \"to be a\" | TRANSCRIPT | false 3 | \"to be\" | TRANSCRIPT | false 4 | \"to be or not to be\" | TRANSCRIPT | true 5 | \"that's\" | TRANSCRIPT | false 6 | \"that is | TRANSCRIPT | false 7 | unset | END_OF_SINGLE_UTTERANCE | unset 8 | \" that is the question\" | TRANSCRIPT | true ``` Concatenating the finalized transcripts with `is_final` set to true, the complete utterance becomes \"to be or not to be that is the question\".", + "id": "GoogleCloudDialogflowV2StreamingRecognitionResult", + "properties": { + "confidence": { + "description": "The Speech confidence between 0.0 and 1.0 for the current portion of audio. A higher number indicates an estimated greater likelihood that the recognized words are correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is typically only provided if `is_final` is true and you should not rely on it being accurate or even set.", + "format": "float", + "type": "number" + }, + "isFinal": { + "description": "If `false`, the `StreamingRecognitionResult` represents an interim result that may change. If `true`, the recognizer will not return any further hypotheses about this piece of the audio. May only be populated for `message_type` = `TRANSCRIPT`.", + "type": "boolean" + }, + "languageCode": { + "description": "Detected language code for the transcript.", + "type": "string" + }, + "messageType": { + "description": "Type of the result message.", + "enum": [ + "MESSAGE_TYPE_UNSPECIFIED", + "TRANSCRIPT", + "END_OF_SINGLE_UTTERANCE" + ], + "enumDescriptions": [ + "Not specified. Should never be used.", + "Message contains a (possibly partial) transcript.", + "This event indicates that the server has detected the end of the user's speech utterance and expects no additional inputs. Therefore, the server will not process additional audio (although it may subsequently return additional results). The client should stop sending additional audio data, half-close the gRPC connection, and wait for any additional results until the server closes the gRPC connection. This message is only sent if `single_utterance` was set to `true`, and is not used otherwise." + ], + "type": "string" + }, + "speechEndOffset": { + "description": "Time offset of the end of this Speech recognition result relative to the beginning of the audio. Only populated for `message_type` = `TRANSCRIPT`.", + "format": "google-duration", + "type": "string" + }, + "speechWordInfo": { + "description": "Word-specific information for the words recognized by Speech in transcript. Populated if and only if `message_type` = `TRANSCRIPT` and [InputAudioConfig.enable_word_info] is set.", + "items": { + "$ref": "GoogleCloudDialogflowV2SpeechWordInfo" + }, + "type": "array" + }, + "transcript": { + "description": "Transcript text representing the words that the user spoke. Populated if and only if `message_type` = `TRANSCRIPT`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2SuggestArticlesResponse": { "description": "The response message for Participants.SuggestArticles.", "id": "GoogleCloudDialogflowV2SuggestArticlesResponse", @@ -17138,6 +17520,10 @@ "$ref": "GoogleCloudDialogflowV2beta1Message", "description": "Payload of NEW_MESSAGE event." }, + "newRecognitionResultPayload": { + "$ref": "GoogleCloudDialogflowV2beta1StreamingRecognitionResult", + "description": "Payload of NEW_RECOGNITION_RESULT event." + }, "type": { "description": "Required. The type of the event that this notification refers to.", "enum": [ @@ -17146,6 +17532,7 @@ "CONVERSATION_FINISHED", "HUMAN_INTERVENTION_NEEDED", "NEW_MESSAGE", + "NEW_RECOGNITION_RESULT", "UNRECOVERABLE_ERROR" ], "enumDescriptions": [ @@ -17154,6 +17541,7 @@ "An existing conversation has closed. This is fired when a telephone call is terminated, or a conversation is closed via the API.", "An existing conversation has received notification from Dialogflow that human intervention is required.", "An existing conversation has received a new message, either from API or telephony. It is configured in ConversationProfile.new_message_event_notification_config", + "An existing conversation has received a new speech recognition result. This is mainly for delivering intermediate transcripts. The notification is configured in ConversationProfile.new_recognition_event_notification_config.", "Unrecoverable error during a telephone call. In general non-recoverable errors only occur if something was misconfigured in the ConversationProfile corresponding to the call. After a non-recoverable error, Dialogflow may stop responding. We don't fire this event: * in an API call because we can directly return the error, or, * when we can recover from an error." ], "type": "string" @@ -18594,6 +18982,7 @@ "properties": { "name": { "description": "Output only. The unique identifier of this training phrase.", + "readOnly": true, "type": "string" }, "parts": { @@ -18774,6 +19163,14 @@ "description": "Snippet Source for a Generative Prediction.", "id": "GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet", "properties": { + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Metadata of the document.", + "type": "object" + }, "text": { "description": "Text taken from that URI.", "type": "string" @@ -19292,6 +19689,95 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2beta1SpeechWordInfo": { + "description": "Information for a word recognized by the speech recognizer.", + "id": "GoogleCloudDialogflowV2beta1SpeechWordInfo", + "properties": { + "confidence": { + "description": "The Speech confidence between 0.0 and 1.0 for this word. A higher number indicates an estimated greater likelihood that the recognized word is correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is not guaranteed to be fully stable over time for the same audio input. Users should also not rely on it to always be provided.", + "format": "float", + "type": "number" + }, + "endOffset": { + "description": "Time offset relative to the beginning of the audio that corresponds to the end of the spoken word. This is an experimental feature and the accuracy of the time offset can vary.", + "format": "google-duration", + "type": "string" + }, + "startOffset": { + "description": "Time offset relative to the beginning of the audio that corresponds to the start of the spoken word. This is an experimental feature and the accuracy of the time offset can vary.", + "format": "google-duration", + "type": "string" + }, + "word": { + "description": "The word this info is for.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDialogflowV2beta1StreamingRecognitionResult": { + "description": "Contains a speech recognition result corresponding to a portion of the audio that is currently being processed or an indication that this is the end of the single requested utterance. While end-user audio is being processed, Dialogflow sends a series of results. Each result may contain a `transcript` value. A transcript represents a portion of the utterance. While the recognizer is processing audio, transcript values may be interim values or finalized values. Once a transcript is finalized, the `is_final` value is set to true and processing continues for the next transcript. If `StreamingDetectIntentRequest.query_input.audio_config.single_utterance` was true, and the recognizer has completed processing audio, the `message_type` value is set to `END_OF_SINGLE_UTTERANCE and the following (last) result contains the last finalized transcript. The complete end-user utterance is determined by concatenating the finalized transcript values received for the series of results. In the following example, single utterance is enabled. In the case where single utterance is not enabled, result 7 would not occur. ``` Num | transcript | message_type | is_final --- | ----------------------- | ----------------------- | -------- 1 | \"tube\" | TRANSCRIPT | false 2 | \"to be a\" | TRANSCRIPT | false 3 | \"to be\" | TRANSCRIPT | false 4 | \"to be or not to be\" | TRANSCRIPT | true 5 | \"that's\" | TRANSCRIPT | false 6 | \"that is | TRANSCRIPT | false 7 | unset | END_OF_SINGLE_UTTERANCE | unset 8 | \" that is the question\" | TRANSCRIPT | true ``` Concatenating the finalized transcripts with `is_final` set to true, the complete utterance becomes \"to be or not to be that is the question\".", + "id": "GoogleCloudDialogflowV2beta1StreamingRecognitionResult", + "properties": { + "confidence": { + "description": "The Speech confidence between 0.0 and 1.0 for the current portion of audio. A higher number indicates an estimated greater likelihood that the recognized words are correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is typically only provided if `is_final` is true and you should not rely on it being accurate or even set.", + "format": "float", + "type": "number" + }, + "dtmfDigits": { + "$ref": "GoogleCloudDialogflowV2beta1TelephonyDtmfEvents", + "description": "DTMF digits. Populated if and only if `message_type` = `DTMF_DIGITS`." + }, + "isFinal": { + "description": "If `false`, the `StreamingRecognitionResult` represents an interim result that may change. If `true`, the recognizer will not return any further hypotheses about this piece of the audio. May only be populated for `message_type` = `TRANSCRIPT`.", + "type": "boolean" + }, + "languageCode": { + "description": "Detected language code for the transcript.", + "type": "string" + }, + "messageType": { + "description": "Type of the result message.", + "enum": [ + "MESSAGE_TYPE_UNSPECIFIED", + "TRANSCRIPT", + "DTMF_DIGITS", + "END_OF_SINGLE_UTTERANCE", + "PARTIAL_DTMF_DIGITS" + ], + "enumDescriptions": [ + "Not specified. Should never be used.", + "Message contains a (possibly partial) transcript.", + "Message contains DTMF digits.", + "This event indicates that the server has detected the end of the user's speech utterance and expects no additional speech. Therefore, the server will not process additional audio (although it may subsequently return additional results). The client should stop sending additional audio data, half-close the gRPC connection, and wait for any additional results until the server closes the gRPC connection. This message is only sent if `single_utterance` was set to `true`, and is not used otherwise.", + "Message contains DTMF digits. Before a message with DTMF_DIGITS is sent, a message with PARTIAL_DTMF_DIGITS may be sent with DTMF digits collected up to the time of sending, which represents an intermediate result." + ], + "type": "string" + }, + "speechEndOffset": { + "description": "Time offset of the end of this Speech recognition result relative to the beginning of the audio. Only populated for `message_type` = `TRANSCRIPT`.", + "format": "google-duration", + "type": "string" + }, + "speechWordInfo": { + "description": "Word-specific information for the words recognized by Speech in transcript. Populated if and only if `message_type` = `TRANSCRIPT` and [InputAudioConfig.enable_word_info] is set.", + "items": { + "$ref": "GoogleCloudDialogflowV2beta1SpeechWordInfo" + }, + "type": "array" + }, + "stability": { + "description": "An estimate of the likelihood that the speech recognizer will not change its guess about this interim recognition result: * If the value is unspecified or 0.0, Dialogflow didn't compute the stability. In particular, Dialogflow will only provide stability for `TRANSCRIPT` results with `is_final = false`. * Otherwise, the value is in (0.0, 1.0] where 0.0 means completely unstable and 1.0 means completely stable.", + "format": "float", + "type": "number" + }, + "transcript": { + "description": "Transcript text representing the words that the user spoke. Populated if and only if `message_type` = `TRANSCRIPT`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1SuggestArticlesResponse": { "description": "The response message for Participants.SuggestArticles.", "id": "GoogleCloudDialogflowV2beta1SuggestArticlesResponse", @@ -19440,6 +19926,58 @@ }, "type": "object" }, + "GoogleCloudDialogflowV2beta1TelephonyDtmfEvents": { + "description": "A wrapper of repeated TelephonyDtmf digits.", + "id": "GoogleCloudDialogflowV2beta1TelephonyDtmfEvents", + "properties": { + "dtmfEvents": { + "description": "A sequence of TelephonyDtmf digits.", + "items": { + "enum": [ + "TELEPHONY_DTMF_UNSPECIFIED", + "DTMF_ONE", + "DTMF_TWO", + "DTMF_THREE", + "DTMF_FOUR", + "DTMF_FIVE", + "DTMF_SIX", + "DTMF_SEVEN", + "DTMF_EIGHT", + "DTMF_NINE", + "DTMF_ZERO", + "DTMF_A", + "DTMF_B", + "DTMF_C", + "DTMF_D", + "DTMF_STAR", + "DTMF_POUND" + ], + "enumDescriptions": [ + "Not specified. This value may be used to indicate an absent digit.", + "Number: '1'.", + "Number: '2'.", + "Number: '3'.", + "Number: '4'.", + "Number: '5'.", + "Number: '6'.", + "Number: '7'.", + "Number: '8'.", + "Number: '9'.", + "Number: '0'.", + "Letter: 'A'.", + "Letter: 'B'.", + "Letter: 'C'.", + "Letter: 'D'.", + "Asterisk/star: '*'.", + "Pound/diamond/hash/square/gate/octothorpe: '#'." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudDialogflowV2beta1WebhookRequest": { "description": "The request message for a webhook call.", "id": "GoogleCloudDialogflowV2beta1WebhookRequest", diff --git a/discovery/digitalassetlinks-v1.json b/discovery/digitalassetlinks-v1.json index 2bc9179ff6..110bcf6e02 100644 --- a/discovery/digitalassetlinks-v1.json +++ b/discovery/digitalassetlinks-v1.json @@ -5,6 +5,7 @@ "description": "Discovers relationships between online assets such as websites or mobile apps.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/digital-asset-links/", + "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", "x32": "http://www.google.com/images/icons/product/search-32.gif" @@ -96,21 +97,6 @@ "resources": { "assetlinks": { "methods": { - "bulkCheck": { - "description": "Send a bundle of statement checks in a single RPC to minimize latency and service load. Statements need not be all for the same source and/or target. We recommend using this method when you need to check more than one statement in a short period of time.", - "flatPath": "v1/assetlinks:bulkCheck", - "httpMethod": "POST", - "id": "digitalassetlinks.assetlinks.bulkCheck", - "parameterOrder": [], - "parameters": {}, - "path": "v1/assetlinks:bulkCheck", - "request": { - "$ref": "BulkCheckRequest" - }, - "response": { - "$ref": "BulkCheckResponse" - } - }, "check": { "description": "Determines whether the specified (directional) relationship exists between the specified source and target assets. The relation describes the intent of the link between the two assets as claimed by the source asset. An example for such relationships is the delegation of privileges or permissions. This command is most often used by infrastructure systems to check preconditions for an action. For example, a client may want to know if it is OK to send a web URL to a particular mobile app instead. The client can check for the relevant asset link from the website to the mobile app to decide if the operation should be allowed. A note about security: if you specify a secure asset as the source, such as an HTTPS website or an Android app, the API will ensure that any statements used to generate the response have been made in a secure way by the owner of that asset. Conversely, if the source asset is an insecure HTTP website (that is, the URL starts with `http://` instead of `https://`), the API cannot verify its statements securely, and it is not possible to ensure that the website's statements have not been altered by a third party. For more information, see the [Digital Asset Links technical design specification](https://github.com/google/digitalassetlinks/blob/master/well-known/details.md).", "flatPath": "v1/assetlinks:check", @@ -199,7 +185,7 @@ } } }, - "revision": "20220129", + "revision": "20241207", "rootUrl": "https://digitalassetlinks.googleapis.com/", "schemas": { "AndroidAppAsset": { @@ -232,84 +218,6 @@ }, "type": "object" }, - "BulkCheckRequest": { - "description": "Message used to check for the existence of multiple digital asset links within a single RPC.", - "id": "BulkCheckRequest", - "properties": { - "allowGoogleInternalDataSources": { - "description": "Same configuration as in Check request, all statements checks will use same configurations.", - "type": "boolean" - }, - "defaultRelation": { - "description": "If specified, will be used in any given template statement that doesn’t specify a relation.", - "type": "string" - }, - "defaultSource": { - "$ref": "Asset", - "description": "If specified, will be used in any given template statement that doesn’t specify a source." - }, - "defaultTarget": { - "$ref": "Asset", - "description": "If specified, will be used in any given template statement that doesn’t specify a target." - }, - "skipCacheLookup": { - "description": "Same configuration as in Check request, all statements checks will use same configurations.", - "type": "boolean" - }, - "statements": { - "description": "List of statements to check. For each statement, you can omit a field if the corresponding default_* field below was supplied. Minimum 1 statement; maximum 1,000 statements. Any additional statements will be ignored.", - "items": { - "$ref": "StatementTemplate" - }, - "type": "array" - } - }, - "type": "object" - }, - "BulkCheckResponse": { - "description": "Response for BulkCheck call. Results are sent in a list in the same order in which they were sent. Individual check errors are described in the appropriate check_results entry. If the entire call fails, the response will include a bulk_error_code field describing the error.", - "id": "BulkCheckResponse", - "properties": { - "bulkErrorCode": { - "description": "Error code for the entire request. Present only if the entire request failed. Individual check errors will not trigger the presence of this field.", - "enum": [ - "ERROR_CODE_UNSPECIFIED", - "ERROR_CODE_INVALID_QUERY", - "ERROR_CODE_FETCH_ERROR", - "ERROR_CODE_FAILED_SSL_VALIDATION", - "ERROR_CODE_REDIRECT", - "ERROR_CODE_TOO_LARGE", - "ERROR_CODE_MALFORMED_HTTP_RESPONSE", - "ERROR_CODE_WRONG_CONTENT_TYPE", - "ERROR_CODE_MALFORMED_CONTENT", - "ERROR_CODE_SECURE_ASSET_INCLUDES_INSECURE", - "ERROR_CODE_FETCH_BUDGET_EXHAUSTED" - ], - "enumDescriptions": [ - "", - "Unable to parse query.", - "Unable to fetch the asset links data.", - "Invalid HTTPS certificate .", - "HTTP redirects (e.g, 301) are not allowed.", - "Asset links data exceeds maximum size.", - "Can't parse HTTP response.", - "HTTP Content-type should be application/json.", - "JSON content is malformed.", - "A secure asset includes an insecure asset (security downgrade).", - "Too many includes (maybe a loop)." - ], - "type": "string" - }, - "checkResults": { - "description": "List of results for each check request. Results are returned in the same order in which they were sent in the request.", - "items": { - "$ref": "CheckResponse" - }, - "type": "array" - } - }, - "type": "object" - }, "CertificateInfo": { "description": "Describes an X509 certificate.", "id": "CertificateInfo", @@ -346,7 +254,7 @@ "ERROR_CODE_FETCH_BUDGET_EXHAUSTED" ], "enumDescriptions": [ - "", + "Default value, otherwise unused.", "Unable to parse query.", "Unable to fetch the asset links data.", "Invalid HTTPS certificate .", @@ -399,7 +307,7 @@ "ERROR_CODE_FETCH_BUDGET_EXHAUSTED" ], "enumDescriptions": [ - "", + "Default value, otherwise unused.", "Unable to parse query.", "Unable to fetch the asset links data.", "Invalid HTTPS certificate .", @@ -449,25 +357,6 @@ }, "type": "object" }, - "StatementTemplate": { - "description": "A single statement to check in a bulk call using BulkCheck. See CheckRequest for details about each field.", - "id": "StatementTemplate", - "properties": { - "relation": { - "description": "The relationship being asserted between the source and target. If omitted, you must specify a BulkCheckRequest.default_relation value to use here.", - "type": "string" - }, - "source": { - "$ref": "Asset", - "description": "The source asset that is asserting the statement. If omitted, you must specify a BulkCheckRequest.default_source value to use here." - }, - "target": { - "$ref": "Asset", - "description": "The target that the source is declaring the relationship with. If omitted, you must specify a BulkCheckRequest.default_target to use here." - } - }, - "type": "object" - }, "WebAsset": { "description": "Describes a web asset.", "id": "WebAsset", diff --git a/discovery/discoveryengine-v1.json b/discovery/discoveryengine-v1.json index e6579b9111..22dc4a6d29 100644 --- a/discovery/discoveryengine-v1.json +++ b/discovery/discoveryengine-v1.json @@ -15,6 +15,28 @@ "description": "Discovery Engine API.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/generative-ai-app-builder/docs/", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://discoveryengine.asia-northeast1.rep.googleapis.com/", + "location": "asia-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://discoveryengine.europe-west2.rep.googleapis.com/", + "location": "europe-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://discoveryengine.us.rep.googleapis.com/", + "location": "us" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://discoveryengine.eu.rep.googleapis.com/", + "location": "eu" + } + ], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -138,6 +160,36 @@ }, "resources": { "locations": { + "methods": { + "generateGroundedContent": { + "description": "Generates grounded content.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:generateGroundedContent", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.generateGroundedContent", + "parameterOrder": [ + "location" + ], + "parameters": { + "location": { + "description": "Required. Location resource. Format: `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+location}:generateGroundedContent", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, "resources": { "collections": { "resources": { @@ -271,6 +323,11 @@ "parent" ], "parameters": { + "cmekConfigName": { + "description": "Resource name of the CmekConfig to use for protecting this DataStore.", + "location": "query", + "type": "string" + }, "createAdvancedSiteSearch": { "description": "A boolean flag indicating whether user want to directly create an advanced data store for site search. If the data store is not configured as site search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will be ignored.", "location": "query", @@ -281,6 +338,11 @@ "location": "query", "type": "string" }, + "disableCmek": { + "description": "DataStore without CMEK protections. If a default CmekConfig is set for the project, setting this field will override the default CmekConfig as well.", + "location": "query", + "type": "boolean" + }, "parent": { "description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}`.", "location": "path", @@ -538,7 +600,7 @@ ], "parameters": { "documentId": { - "description": "Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", + "description": "Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", "location": "query", "type": "string" }, @@ -747,7 +809,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "discoveryengine.projects.locations.collections.dataStores.branches.operations.cancel", @@ -1687,6 +1749,40 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "patch": { + "description": "Updates a ServingConfig. Returns a NOT_FOUND error if the ServingConfig does not exist.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}", + "httpMethod": "PATCH", + "id": "discoveryengine.projects.locations.collections.dataStores.servingConfigs.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. Fully qualified name `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/servingConfigs/{serving_config_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Indicates which fields in the provided ServingConfig to update. The following are NOT supported: * ServingConfig.name If not set, all supported fields are updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1ServingConfig" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1ServingConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "recommend": { "description": "Makes a recommendation, which requires a contextual user event.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:recommend", @@ -1742,6 +1838,62 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "searchLite": { + "description": "Performs a search. Similar to the SearchService.Search method, but a lite version that allows API key for authentication, where OAuth and IAM checks are not required. Only public website search is supported by this method. If data stores and engines not associated with public website search are specified, a `FAILED_PRECONDITION` error is returned. This method can be used for easy onboarding without having to implement an authentication backend. However, it is strongly recommended to use SearchService.Search instead with required OAuth and IAM checks to provide better data security.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:searchLite", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.dataStores.servingConfigs.searchLite", + "parameterOrder": [ + "servingConfig" + ], + "parameters": { + "servingConfig": { + "description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+servingConfig}:searchLite", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1SearchRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1SearchResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "streamAnswer": { + "description": "Answer query method (streaming). It takes one AnswerQueryRequest and returns multiple AnswerQueryResponse messages in a stream.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:streamAnswer", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.dataStores.servingConfigs.streamAnswer", + "parameterOrder": [ + "servingConfig" + ], + "parameters": { + "servingConfig": { + "description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+servingConfig}:streamAnswer", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1AnswerQueryResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } }, @@ -1809,6 +1961,11 @@ "name" ], "parameters": { + "includeAnswerDetails": { + "description": "Optional. If set to true, the full session including all answer details will be returned.", + "location": "query", + "type": "boolean" + }, "name": { "description": "Required. The resource name of the Session to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", "location": "path", @@ -1840,7 +1997,7 @@ "type": "string" }, "orderBy": { - "description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` Example: \"update_time desc\" \"create_time\"", + "description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * \"update_time desc\" * \"create_time\" * \"is_pinned desc,update_time desc\": list sessions by is_pinned first, then by update_time.", "location": "query", "type": "string" }, @@ -2486,7 +2643,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent DataStore resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", + "description": "Required. The parent resource name. If the collect user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the collect user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", "required": true, @@ -3218,6 +3375,40 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "patch": { + "description": "Updates a ServingConfig. Returns a NOT_FOUND error if the ServingConfig does not exist.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}", + "httpMethod": "PATCH", + "id": "discoveryengine.projects.locations.collections.engines.servingConfigs.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. Fully qualified name `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/servingConfigs/{serving_config_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Indicates which fields in the provided ServingConfig to update. The following are NOT supported: * ServingConfig.name If not set, all supported fields are updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1ServingConfig" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1ServingConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "recommend": { "description": "Makes a recommendation, which requires a contextual user event.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}:recommend", @@ -3273,6 +3464,62 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "searchLite": { + "description": "Performs a search. Similar to the SearchService.Search method, but a lite version that allows API key for authentication, where OAuth and IAM checks are not required. Only public website search is supported by this method. If data stores and engines not associated with public website search are specified, a `FAILED_PRECONDITION` error is returned. This method can be used for easy onboarding without having to implement an authentication backend. However, it is strongly recommended to use SearchService.Search instead with required OAuth and IAM checks to provide better data security.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}:searchLite", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.engines.servingConfigs.searchLite", + "parameterOrder": [ + "servingConfig" + ], + "parameters": { + "servingConfig": { + "description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+servingConfig}:searchLite", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1SearchRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1SearchResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "streamAnswer": { + "description": "Answer query method (streaming). It takes one AnswerQueryRequest and returns multiple AnswerQueryResponse messages in a stream.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}:streamAnswer", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.engines.servingConfigs.streamAnswer", + "parameterOrder": [ + "servingConfig" + ], + "parameters": { + "servingConfig": { + "description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+servingConfig}:streamAnswer", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1AnswerQueryResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } }, @@ -3340,6 +3587,11 @@ "name" ], "parameters": { + "includeAnswerDetails": { + "description": "Optional. If set to true, the full session including all answer details will be returned.", + "location": "query", + "type": "boolean" + }, "name": { "description": "Required. The resource name of the Session to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", "location": "path", @@ -3371,7 +3623,7 @@ "type": "string" }, "orderBy": { - "description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` Example: \"update_time desc\" \"create_time\"", + "description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * \"update_time desc\" * \"create_time\" * \"is_pinned desc,update_time desc\": list sessions by is_pinned first, then by update_time.", "location": "query", "type": "string" }, @@ -3599,6 +3851,11 @@ "parent" ], "parameters": { + "cmekConfigName": { + "description": "Resource name of the CmekConfig to use for protecting this DataStore.", + "location": "query", + "type": "string" + }, "createAdvancedSiteSearch": { "description": "A boolean flag indicating whether user want to directly create an advanced data store for site search. If the data store is not configured as site search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will be ignored.", "location": "query", @@ -3609,6 +3866,11 @@ "location": "query", "type": "string" }, + "disableCmek": { + "description": "DataStore without CMEK protections. If a default CmekConfig is set for the project, setting this field will override the default CmekConfig as well.", + "location": "query", + "type": "boolean" + }, "parent": { "description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}`.", "location": "path", @@ -3838,7 +4100,7 @@ ], "parameters": { "documentId": { - "description": "Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", + "description": "Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", "location": "query", "type": "string" }, @@ -4047,7 +4309,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "discoveryengine.projects.locations.dataStores.branches.operations.cancel", @@ -4886,6 +5148,40 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "patch": { + "description": "Updates a ServingConfig. Returns a NOT_FOUND error if the ServingConfig does not exist.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}", + "httpMethod": "PATCH", + "id": "discoveryengine.projects.locations.dataStores.servingConfigs.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. Fully qualified name `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/servingConfigs/{serving_config_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Indicates which fields in the provided ServingConfig to update. The following are NOT supported: * ServingConfig.name If not set, all supported fields are updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1ServingConfig" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1ServingConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "recommend": { "description": "Makes a recommendation, which requires a contextual user event.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:recommend", @@ -4941,65 +5237,121 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] - } - } - }, - "sessions": { - "methods": { - "create": { - "description": "Creates a Session. If the Session to create already exists, an ALREADY_EXISTS error is returned.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/sessions", + }, + "searchLite": { + "description": "Performs a search. Similar to the SearchService.Search method, but a lite version that allows API key for authentication, where OAuth and IAM checks are not required. Only public website search is supported by this method. If data stores and engines not associated with public website search are specified, a `FAILED_PRECONDITION` error is returned. This method can be used for easy onboarding without having to implement an authentication backend. However, it is strongly recommended to use SearchService.Search instead with required OAuth and IAM checks to provide better data security.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:searchLite", "httpMethod": "POST", - "id": "discoveryengine.projects.locations.dataStores.sessions.create", + "id": "discoveryengine.projects.locations.dataStores.servingConfigs.searchLite", "parameterOrder": [ - "parent" + "servingConfig" ], "parameters": { - "parent": { - "description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", + "servingConfig": { + "description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", "required": true, "type": "string" } }, - "path": "v1/{+parent}/sessions", + "path": "v1/{+servingConfig}:searchLite", "request": { - "$ref": "GoogleCloudDiscoveryengineV1Session" + "$ref": "GoogleCloudDiscoveryengineV1SearchRequest" }, "response": { - "$ref": "GoogleCloudDiscoveryengineV1Session" + "$ref": "GoogleCloudDiscoveryengineV1SearchResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, - "delete": { - "description": "Deletes a Session. If the Session to delete does not exist, a NOT_FOUND error is returned.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/sessions/{sessionsId}", - "httpMethod": "DELETE", - "id": "discoveryengine.projects.locations.dataStores.sessions.delete", + "streamAnswer": { + "description": "Answer query method (streaming). It takes one AnswerQueryRequest and returns multiple AnswerQueryResponse messages in a stream.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:streamAnswer", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.dataStores.servingConfigs.streamAnswer", "parameterOrder": [ - "name" + "servingConfig" ], "parameters": { - "name": { - "description": "Required. The resource name of the Session to delete. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", + "servingConfig": { + "description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/sessions/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", "required": true, "type": "string" } }, - "path": "v1/{+name}", + "path": "v1/{+servingConfig}:streamAnswer", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequest" + }, "response": { - "$ref": "GoogleProtobufEmpty" + "$ref": "GoogleCloudDiscoveryengineV1AnswerQueryResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] - }, - "get": { + } + } + }, + "sessions": { + "methods": { + "create": { + "description": "Creates a Session. If the Session to create already exists, an ALREADY_EXISTS error is returned.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/sessions", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.dataStores.sessions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/sessions", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1Session" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1Session" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a Session. If the Session to delete does not exist, a NOT_FOUND error is returned.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/sessions/{sessionsId}", + "httpMethod": "DELETE", + "id": "discoveryengine.projects.locations.dataStores.sessions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the Session to delete. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/sessions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { "description": "Gets a Session.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/sessions/{sessionsId}", "httpMethod": "GET", @@ -5008,6 +5360,11 @@ "name" ], "parameters": { + "includeAnswerDetails": { + "description": "Optional. If set to true, the full session including all answer details will be returned.", + "location": "query", + "type": "boolean" + }, "name": { "description": "Required. The resource name of the Session to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", "location": "path", @@ -5039,7 +5396,7 @@ "type": "string" }, "orderBy": { - "description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` Example: \"update_time desc\" \"create_time\"", + "description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * \"update_time desc\" * \"create_time\" * \"is_pinned desc,update_time desc\": list sessions by is_pinned first, then by update_time.", "location": "query", "type": "string" }, @@ -5479,7 +5836,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent DataStore resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", + "description": "Required. The parent resource name. If the collect user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the collect user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", "required": true, @@ -5823,7 +6180,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent DataStore resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", + "description": "Required. The parent resource name. If the collect user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the collect user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -5848,6 +6205,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "import": { + "description": "Bulk import of user events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata is of type ImportMetadata.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/userEvents:import", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.userEvents.import", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Parent DataStore resource name, of the form `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/userEvents:import", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1ImportUserEventsRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "write": { "description": "Writes a single user event.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/userEvents:write", @@ -5888,7 +6273,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "discoveryengine.projects.operations.cancel", @@ -5986,9 +6371,177 @@ } } }, - "revision": "20240930", + "revision": "20250107", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { + "GoogleApiDistribution": { + "description": "`Distribution` contains summary statistics for a population of values. It optionally contains a histogram representing the distribution of those values across a set of buckets. The summary statistics are the count, mean, sum of the squared deviation from the mean, the minimum, and the maximum of the set of population of values. The histogram is based on a sequence of buckets and gives a count of values that fall into each bucket. The boundaries of the buckets are given either explicitly or by formulas for buckets of fixed or exponentially increasing widths. Although it is not forbidden, it is generally a bad idea to include non-finite values (infinities or NaNs) in the population of values, as this will render the `mean` and `sum_of_squared_deviation` fields meaningless.", + "id": "GoogleApiDistribution", + "properties": { + "bucketCounts": { + "description": "The number of values in each bucket of the histogram, as described in `bucket_options`. If the distribution does not have a histogram, then omit this field. If there is a histogram, then the sum of the values in `bucket_counts` must equal the value in the `count` field of the distribution. If present, `bucket_counts` should contain N values, where N is the number of buckets specified in `bucket_options`. If you supply fewer than N values, the remaining values are assumed to be 0. The order of the values in `bucket_counts` follows the bucket numbering schemes described for the three bucket types. The first value must be the count for the underflow bucket (number 0). The next N-2 values are the counts for the finite buckets (number 1 through N-2). The N'th value in `bucket_counts` is the count for the overflow bucket (number N-1).", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "bucketOptions": { + "$ref": "GoogleApiDistributionBucketOptions", + "description": "Defines the histogram bucket boundaries. If the distribution does not contain a histogram, then omit this field." + }, + "count": { + "description": "The number of values in the population. Must be non-negative. This value must equal the sum of the values in `bucket_counts` if a histogram is provided.", + "format": "int64", + "type": "string" + }, + "exemplars": { + "description": "Must be in increasing order of `value` field.", + "items": { + "$ref": "GoogleApiDistributionExemplar" + }, + "type": "array" + }, + "mean": { + "description": "The arithmetic mean of the values in the population. If `count` is zero then this field must be zero.", + "format": "double", + "type": "number" + }, + "range": { + "$ref": "GoogleApiDistributionRange", + "description": "If specified, contains the range of the population values. The field must not be present if the `count` is zero." + }, + "sumOfSquaredDeviation": { + "description": "The sum of squared deviations from the mean of the values in the population. For values x_i this is: Sum[i=1..n]((x_i - mean)^2) Knuth, \"The Art of Computer Programming\", Vol. 2, page 232, 3rd edition describes Welford's method for accumulating this sum in one pass. If `count` is zero then this field must be zero.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleApiDistributionBucketOptions": { + "description": "`BucketOptions` describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. `BucketOptions` does not include the number of values in each bucket. A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite.", + "id": "GoogleApiDistributionBucketOptions", + "properties": { + "explicitBuckets": { + "$ref": "GoogleApiDistributionBucketOptionsExplicit", + "description": "The explicit buckets." + }, + "exponentialBuckets": { + "$ref": "GoogleApiDistributionBucketOptionsExponential", + "description": "The exponential buckets." + }, + "linearBuckets": { + "$ref": "GoogleApiDistributionBucketOptionsLinear", + "description": "The linear bucket." + } + }, + "type": "object" + }, + "GoogleApiDistributionBucketOptionsExplicit": { + "description": "Specifies a set of buckets with arbitrary widths. There are `size(bounds) + 1` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 <= i < N-1): bounds[i] Lower bound (1 <= i < N); bounds[i - 1] The `bounds` field must contain at least one element. If `bounds` has only one element, then there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets.", + "id": "GoogleApiDistributionBucketOptionsExplicit", + "properties": { + "bounds": { + "description": "The values must be monotonically increasing.", + "items": { + "format": "double", + "type": "number" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleApiDistributionBucketOptionsExponential": { + "description": "Specifies an exponential sequence of buckets that have a width that is proportional to the value of the lower bound. Each bucket represents a constant relative uncertainty on a specific value in the bucket. There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 <= i < N-1): scale * (growth_factor ^ i). Lower bound (1 <= i < N): scale * (growth_factor ^ (i - 1)).", + "id": "GoogleApiDistributionBucketOptionsExponential", + "properties": { + "growthFactor": { + "description": "Must be greater than 1.", + "format": "double", + "type": "number" + }, + "numFiniteBuckets": { + "description": "Must be greater than 0.", + "format": "int32", + "type": "integer" + }, + "scale": { + "description": "Must be greater than 0.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleApiDistributionBucketOptionsLinear": { + "description": "Specifies a linear sequence of buckets that all have the same width (except overflow and underflow). Each bucket represents a constant absolute uncertainty on the specific value in the bucket. There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 <= i < N-1): offset + (width * i). Lower bound (1 <= i < N): offset + (width * (i - 1)).", + "id": "GoogleApiDistributionBucketOptionsLinear", + "properties": { + "numFiniteBuckets": { + "description": "Must be greater than 0.", + "format": "int32", + "type": "integer" + }, + "offset": { + "description": "Lower bound of the first bucket.", + "format": "double", + "type": "number" + }, + "width": { + "description": "Must be greater than 0.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleApiDistributionExemplar": { + "description": "Exemplars are example points that may be used to annotate aggregated distribution values. They are metadata that gives information about a particular value added to a Distribution bucket, such as a trace ID that was active when a value was added. They may contain further information, such as a example values and timestamps, origin, etc.", + "id": "GoogleApiDistributionExemplar", + "properties": { + "attachments": { + "description": "Contextual information about the example value. Examples are: Trace: type.googleapis.com/google.monitoring.v3.SpanContext Literal string: type.googleapis.com/google.protobuf.StringValue Labels dropped during aggregation: type.googleapis.com/google.monitoring.v3.DroppedLabels There may be only a single attachment of any given message type in a single exemplar, and this is enforced by the system.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "timestamp": { + "description": "The observation (sampling) time of the above value.", + "format": "google-datetime", + "type": "string" + }, + "value": { + "description": "Value of the exemplar point. This value determines to which bucket the exemplar belongs.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleApiDistributionRange": { + "description": "The range of the population values.", + "id": "GoogleApiDistributionRange", + "properties": { + "max": { + "description": "The maximum of the population values.", + "format": "double", + "type": "number" + }, + "min": { + "description": "The minimum of the population values.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, "GoogleApiHttpBody": { "description": "Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.", "id": "GoogleApiHttpBody", @@ -6016,6 +6569,64 @@ }, "type": "object" }, + "GoogleApiMetric": { + "description": "A specific metric, identified by specifying values for all of the labels of a `MetricDescriptor`.", + "id": "GoogleApiMetric", + "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "The set of label values that uniquely identify this metric. All labels listed in the `MetricDescriptor` must be assigned values.", + "type": "object" + }, + "type": { + "description": "An existing metric type, see google.api.MetricDescriptor. For example, `custom.googleapis.com/invoice/paid/amount`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleApiMonitoredResource": { + "description": "An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The `type` field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the `labels` field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for `\"gce_instance\"` has labels `\"project_id\"`, `\"instance_id\"` and `\"zone\"`: { \"type\": \"gce_instance\", \"labels\": { \"project_id\": \"my-project\", \"instance_id\": \"12345678901234\", \"zone\": \"us-central1-a\" }}", + "id": "GoogleApiMonitoredResource", + "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels `\"project_id\"`, `\"instance_id\"`, and `\"zone\"`.", + "type": "object" + }, + "type": { + "description": "Required. The monitored resource type. This field must match the `type` field of a MonitoredResourceDescriptor object. For example, the type of a Compute Engine VM instance is `gce_instance`. Some descriptors include the service name in the type; for example, the type of a Datastream stream is `datastream.googleapis.com/Stream`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleApiMonitoredResourceMetadata": { + "description": "Auxiliary metadata for a MonitoredResource object. MonitoredResource objects contain the minimum set of information to uniquely identify a monitored resource instance. There is some other useful auxiliary metadata. Monitoring and Logging use an ingestion pipeline to extract metadata for cloud resources of all types, and store the metadata in this message.", + "id": "GoogleApiMonitoredResourceMetadata", + "properties": { + "systemLabels": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Output only. Values for predefined system metadata labels. System labels are a kind of metadata extracted by Google, including \"machine_image\", \"vpc\", \"subnet_id\", \"security_group\", \"name\", etc. System label values can be only strings, Boolean values, or a list of strings. For example: { \"name\": \"my-test-instance\", \"security_group\": [\"a\", \"b\", \"c\"], \"spot_instance\": false }", + "type": "object" + }, + "userLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "Output only. A map of user-defined metadata labels.", + "type": "object" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineLoggingErrorContext": { "description": "A description of the context in which an error occurred.", "id": "GoogleCloudDiscoveryengineLoggingErrorContext", @@ -6135,6 +6746,21 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig": { + "description": "Configuration data for advance site search.", + "id": "GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig", + "properties": { + "disableAutomaticRefresh": { + "description": "If set true, automatic refresh is disabled for the DataStore.", + "type": "boolean" + }, + "disableInitialIndex": { + "description": "If set true, initial indexing is disabled for the DataStore.", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1AlloyDbSource": { "description": "AlloyDB source import data from.", "id": "GoogleCloudDiscoveryengineV1AlloyDbSource", @@ -6182,7 +6808,8 @@ "NO_RELEVANT_CONTENT", "JAIL_BREAKING_QUERY_IGNORED", "CUSTOMER_POLICY_VIOLATION", - "NON_ANSWER_SEEKING_QUERY_IGNORED_V2" + "NON_ANSWER_SEEKING_QUERY_IGNORED_V2", + "LOW_GROUNDED_ANSWER" ], "enumDescriptions": [ "Default value. The answer skipped reason is not specified.", @@ -6193,7 +6820,8 @@ "The no relevant content case. Google skips the answer if there is no relevant content in the retrieved search results.", "The jail-breaking query ignored case. For example, \"Reply in the tone of a competing company's CEO\". Google skips the answer if the query is classified as a jail-breaking query.", "The customer policy violation case. Google skips the summary if there is a customer policy violation detected. The policy is defined by the customer.", - "The non-answer seeking query ignored case. Google skips the answer if the query doesn't have clear intent." + "The non-answer seeking query ignored case. Google skips the answer if the query doesn't have clear intent.", + "The low-grounded answer case. Google skips the answer if a well grounded answer was unable to be generated." ], "type": "string" }, @@ -6222,6 +6850,18 @@ "readOnly": true, "type": "string" }, + "groundingScore": { + "description": "A score in the range of [0, 1] describing how grounded the answer is by the reference chunks.", + "format": "double", + "type": "number" + }, + "groundingSupports": { + "description": "Optional. Grounding supports.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1AnswerGroundingSupport" + }, + "type": "array" + }, "name": { "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*/answers/*`", "type": "string" @@ -6244,19 +6884,28 @@ }, "type": "array" }, + "safetyRatings": { + "description": "Optional. Safety ratings.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1SafetyRating" + }, + "type": "array" + }, "state": { "description": "The state of the answer generation.", "enum": [ "STATE_UNSPECIFIED", "IN_PROGRESS", "FAILED", - "SUCCEEDED" + "SUCCEEDED", + "STREAMING" ], "enumDescriptions": [ "Unknown.", "Answer generation is currently in progress.", "Answer generation currently failed.", - "Answer generation has succeeded." + "Answer generation has succeeded.", + "Answer generation is currently in progress." ], "type": "string" }, @@ -6305,19 +6954,56 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1AnswerQueryRequest": { - "description": "Request message for ConversationalSearchService.AnswerQuery method.", - "id": "GoogleCloudDiscoveryengineV1AnswerQueryRequest", + "GoogleCloudDiscoveryengineV1AnswerGroundingSupport": { + "description": "Grounding support for a claim in `answer_text`.", + "id": "GoogleCloudDiscoveryengineV1AnswerGroundingSupport", "properties": { - "answerGenerationSpec": { - "$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequestAnswerGenerationSpec", - "description": "Answer generation specification." + "endIndex": { + "description": "Required. End of the claim, exclusive.", + "format": "int64", + "type": "string" }, - "asynchronousMode": { - "deprecated": true, - "description": "Deprecated: This field is deprecated. Streaming Answer API will be supported. Asynchronous mode control. If enabled, the response will be returned with answer/session resource name without final answer. The API users need to do the polling to get the latest status of answer/session by calling ConversationalSearchService.GetAnswer or ConversationalSearchService.GetSession method.", + "groundingCheckRequired": { + "description": "Indicates that this claim required grounding check. When the system decided this claim didn't require attribution/grounding check, this field is set to false. In that case, no grounding check was done for the claim and therefore `grounding_score`, `sources` is not returned.", "type": "boolean" }, + "groundingScore": { + "description": "A score in the range of [0, 1] describing how grounded is a specific claim by the references. Higher value means that the claim is better supported by the reference chunks.", + "format": "double", + "type": "number" + }, + "sources": { + "description": "Optional. Citation sources for the claim.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1AnswerCitationSource" + }, + "type": "array" + }, + "startIndex": { + "description": "Required. Index indicates the start of the claim, measured in bytes (UTF-8 unicode).", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1AnswerQueryRequest": { + "description": "Request message for ConversationalSearchService.AnswerQuery method.", + "id": "GoogleCloudDiscoveryengineV1AnswerQueryRequest", + "properties": { + "answerGenerationSpec": { + "$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequestAnswerGenerationSpec", + "description": "Answer generation specification." + }, + "asynchronousMode": { + "deprecated": true, + "description": "Deprecated: This field is deprecated. Streaming Answer API will be supported. Asynchronous mode control. If enabled, the response will be returned with answer/session resource name without final answer. The API users need to do the polling to get the latest status of answer/session by calling ConversationalSearchService.GetAnswer or ConversationalSearchService.GetSession method.", + "type": "boolean" + }, + "groundingSpec": { + "$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequestGroundingSpec", + "description": "Optional. Grounding specification." + }, "query": { "$ref": "GoogleCloudDiscoveryengineV1Query", "description": "Required. Current user query." @@ -6417,6 +7103,31 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1AnswerQueryRequestGroundingSpec": { + "description": "Grounding specification.", + "id": "GoogleCloudDiscoveryengineV1AnswerQueryRequestGroundingSpec", + "properties": { + "filteringLevel": { + "description": "Optional. Specifies whether to enable the filtering based on grounding score and at what level.", + "enum": [ + "FILTERING_LEVEL_UNSPECIFIED", + "FILTERING_LEVEL_LOW", + "FILTERING_LEVEL_HIGH" + ], + "enumDescriptions": [ + "Default is no filter", + "Filter answers based on a low threshold.", + "Filter answers based on a high threshold." + ], + "type": "string" + }, + "includeGroundingSupports": { + "description": "Optional. Specifies whether to include grounding_supports in the answer. The default value is `false`. When this field is set to `true`, returned answer will have `grounding_score` and will contain GroundingSupports for each claim.", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1AnswerQueryRequestQueryUnderstandingSpec": { "description": "Query understanding specification.", "id": "GoogleCloudDiscoveryengineV1AnswerQueryRequestQueryUnderstandingSpec", @@ -6472,6 +7183,31 @@ "description": "Max rephrase steps. The max number is 5 steps. If not set or set to < 1, it will be set to 1 by default.", "format": "int32", "type": "integer" + }, + "modelSpec": { + "$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpecModelSpec", + "description": "Optional. Query Rephraser Model specification." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1AnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpecModelSpec": { + "description": "Query Rephraser Model specification.", + "id": "GoogleCloudDiscoveryengineV1AnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpecModelSpec", + "properties": { + "modelType": { + "description": "Optional. Enabled query rephraser model type. If not set, it will use LARGE by default.", + "enum": [ + "MODEL_TYPE_UNSPECIFIED", + "SMALL", + "LARGE" + ], + "enumDescriptions": [ + "Unspecified model type.", + "Small query rephraser model. Gemini 1.0 XS model.", + "Large query rephraser model. Gemini 1.0 Pro model." + ], + "type": "string" } }, "type": "object" @@ -6488,12 +7224,66 @@ "type": "object" }, "GoogleCloudDiscoveryengineV1AnswerQueryRequestSafetySpec": { - "description": "Safety specification.", + "description": "Safety specification. There are two use cases: 1. when only safety_spec.enable is set, the BLOCK_LOW_AND_ABOVE threshold will be applied for all categories. 2. when safety_spec.enable is set and some safety_settings are set, only specified safety_settings are applied.", "id": "GoogleCloudDiscoveryengineV1AnswerQueryRequestSafetySpec", "properties": { "enable": { "description": "Enable the safety filtering on the answer response. It is false by default.", "type": "boolean" + }, + "safetySettings": { + "description": "Optional. Safety settings. This settings are effective only when the safety_spec.enable is true.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1AnswerQueryRequestSafetySpecSafetySetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1AnswerQueryRequestSafetySpecSafetySetting": { + "description": "Safety settings.", + "id": "GoogleCloudDiscoveryengineV1AnswerQueryRequestSafetySpecSafetySetting", + "properties": { + "category": { + "description": "Required. Harm category.", + "enum": [ + "HARM_CATEGORY_UNSPECIFIED", + "HARM_CATEGORY_HATE_SPEECH", + "HARM_CATEGORY_DANGEROUS_CONTENT", + "HARM_CATEGORY_HARASSMENT", + "HARM_CATEGORY_SEXUALLY_EXPLICIT", + "HARM_CATEGORY_CIVIC_INTEGRITY" + ], + "enumDescriptions": [ + "The harm category is unspecified.", + "The harm category is hate speech.", + "The harm category is dangerous content.", + "The harm category is harassment.", + "The harm category is sexually explicit content.", + "The harm category is civic integrity." + ], + "type": "string" + }, + "threshold": { + "description": "Required. The harm block threshold.", + "enum": [ + "HARM_BLOCK_THRESHOLD_UNSPECIFIED", + "BLOCK_LOW_AND_ABOVE", + "BLOCK_MEDIUM_AND_ABOVE", + "BLOCK_ONLY_HIGH", + "BLOCK_NONE", + "OFF" + ], + "enumDescriptions": [ + "Unspecified harm block threshold.", + "Block low threshold and above (i.e. block more).", + "Block medium threshold and above.", + "Block only high threshold (i.e. block less).", + "Block none.", + "Turn off the safety filter." + ], + "type": "string" } }, "type": "object" @@ -6551,7 +7341,7 @@ "enumDescriptions": [ "Default value.", "Returns documents in the search result.", - "Returns chunks in the search result. Only available if the DataStore.DocumentProcessingConfig.chunking_config is specified." + "Returns chunks in the search result. Only available if the DocumentProcessingConfig.chunking_config is specified." ], "type": "string" } @@ -7009,7 +7799,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result. .", + "description": "Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result.", "type": "object" }, "title": { @@ -7169,7 +7959,7 @@ "id": "GoogleCloudDiscoveryengineV1BatchGetDocumentsMetadataResponseDocumentMetadataMatcherValue", "properties": { "fhirResource": { - "description": "Required. Format: projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}/fhir/{resource_type}/{fhir_resource_id}", + "description": "Format: projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}/fhir/{resource_type}/{fhir_resource_id}", "type": "string" }, "uri": { @@ -7372,7 +8162,7 @@ "id": "GoogleCloudDiscoveryengineV1CheckGroundingRequest", "properties": { "answerCandidate": { - "description": "Answer candidate to check. Can have a maximum length of 1024 characters.", + "description": "Answer candidate to check. It can have a maximum length of 4096 tokens.", "type": "string" }, "facts": { @@ -7407,6 +8197,13 @@ }, "type": "array" }, + "citedFacts": { + "description": "List of facts cited across all claims in the answer candidate. These are derived from the facts supplied in the request.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1CheckGroundingResponseCheckGroundingFactChunk" + }, + "type": "array" + }, "claims": { "description": "Claim texts and citation info across all claims in the answer candidate.", "items": { @@ -7422,6 +8219,17 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1CheckGroundingResponseCheckGroundingFactChunk": { + "description": "Fact chunk for grounding check.", + "id": "GoogleCloudDiscoveryengineV1CheckGroundingResponseCheckGroundingFactChunk", + "properties": { + "chunkText": { + "description": "Text content of the fact chunk. Can be at most 10K characters long.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1CheckGroundingResponseClaim": { "description": "Text and citation info for a claim in the answer candidate.", "id": "GoogleCloudDiscoveryengineV1CheckGroundingResponseClaim", @@ -7444,7 +8252,7 @@ "type": "integer" }, "groundingCheckRequired": { - "description": "Indicates that this claim required grounding check. When the system decided this claim doesn't require attribution/grounding check, this field will be set to false. In that case, no grounding check was done for the claim and therefore citation_indices, anti_citation_indices, and score should not be returned.", + "description": "Indicates that this claim required grounding check. When the system decided this claim doesn't require attribution/grounding check, this field will be set to false. In that case, no grounding check was done for the claim and therefore citation_indices should not be returned.", "type": "boolean" }, "startPos": { @@ -7506,7 +8314,7 @@ "description": "Page span of the chunk." }, "relevanceScore": { - "description": "Output only. Represents the relevance score based on similarity. Higher score indicates higher chunk relevance. The score is in range [-1.0, 1.0]. Only populated on SearchService.SearchResponse.", + "description": "Output only. Represents the relevance score based on similarity. Higher score indicates higher chunk relevance. The score is in range [-1.0, 1.0]. Only populated on SearchResponse.", "format": "double", "readOnly": true, "type": "number" @@ -7606,6 +8414,66 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1CmekConfig": { + "description": "Configurations used to enable CMEK data encryption with Cloud KMS keys.", + "id": "GoogleCloudDiscoveryengineV1CmekConfig", + "properties": { + "isDefault": { + "description": "Output only. The default CmekConfig for the Customer.", + "readOnly": true, + "type": "boolean" + }, + "kmsKey": { + "description": "Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", + "type": "string" + }, + "kmsKeyVersion": { + "description": "Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.", + "type": "string" + }, + "lastRotationTimestampMicros": { + "description": "Output only. The timestamp of the last key rotation.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", + "type": "string" + }, + "singleRegionKeys": { + "description": "Optional. Single-regional CMEKs that are required for some VAIS features.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1SingleRegionKey" + }, + "type": "array" + }, + "state": { + "description": "Output only. State of the CmekConfig.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "KEY_ISSUE", + "DELETING", + "UNUSABLE", + "ACTIVE_ROTATING" + ], + "enumDescriptions": [ + "The CmekConfig state is unknown.", + "The CmekConfig is creating.", + "The CmekConfig can be used with DataStores.", + "The CmekConfig is unavailable, most likely due to the KMS Key being revoked.", + "The CmekConfig is deleting.", + "The CmekConfig is not usable, most likely due to some internal issue.", + "The KMS key version is being rotated." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1CompleteQueryResponse": { "description": "Response message for CompletionService.CompleteQuery method.", "id": "GoogleCloudDiscoveryengineV1CompleteQueryResponse", @@ -7710,8 +8578,12 @@ }, "type": "array" }, + "queryRegex": { + "description": "Optional. Query regex to match the whole search query. Cannot be set when Condition.query_terms is set. This is currently supporting promotion use case.", + "type": "string" + }, "queryTerms": { - "description": "Search only A list of terms to match the query on. Maximum of 10 query terms.", + "description": "Search only A list of terms to match the query on. Cannot be set when Condition.query_regex is set. Maximum of 10 query terms.", "items": { "$ref": "GoogleCloudDiscoveryengineV1ConditionQueryTerm" }, @@ -7787,6 +8659,10 @@ "description": "Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*`", "type": "string" }, + "promoteAction": { + "$ref": "GoogleCloudDiscoveryengineV1ControlPromoteAction", + "description": "Promote certain links based on predefined trigger queries. This now only supports basic site search." + }, "redirectAction": { "$ref": "GoogleCloudDiscoveryengineV1ControlRedirectAction", "description": "Defines a redirect-type control." @@ -7838,7 +8714,8 @@ "id": "GoogleCloudDiscoveryengineV1ControlBoostAction", "properties": { "boost": { - "description": "Required. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", + "deprecated": true, + "description": "Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", "format": "float", "type": "number" }, @@ -7849,6 +8726,11 @@ "filter": { "description": "Required. Specifies which products to apply the boost to. If no filter is provided all products will be boosted (No-op). Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", "type": "string" + }, + "fixedBoost": { + "description": "Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", + "format": "float", + "type": "number" } }, "type": "object" @@ -7868,6 +8750,21 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1ControlPromoteAction": { + "description": "Promote certain links based on some trigger queries. Example: Promote shoe store link when searching for `shoe` keyword. The link can be outside of associated data store.", + "id": "GoogleCloudDiscoveryengineV1ControlPromoteAction", + "properties": { + "dataStore": { + "description": "Required. Data store with which this promotion is attached to.", + "type": "string" + }, + "searchLinkPromotion": { + "$ref": "GoogleCloudDiscoveryengineV1SearchLinkPromotion", + "description": "Required. Promotion attached to this action." + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1ControlRedirectAction": { "description": "Redirects a shopper to the provided URI.", "id": "GoogleCloudDiscoveryengineV1ControlRedirectAction", @@ -8155,7 +9052,7 @@ "properties": { "createTime": { "deprecated": true, - "description": "Timestamp the Model was created at.", + "description": "Deprecated: Timestamp the Model was created at.", "format": "google-datetime", "type": "string" }, @@ -8220,11 +9117,20 @@ "description": "DataStore captures global settings and configs at the DataStore level.", "id": "GoogleCloudDiscoveryengineV1DataStore", "properties": { + "advancedSiteSearchConfig": { + "$ref": "GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig", + "description": "Optional. Configuration for advanced site search." + }, "billingEstimation": { "$ref": "GoogleCloudDiscoveryengineV1DataStoreBillingEstimation", "description": "Output only. Data size estimation for billing.", "readOnly": true }, + "cmekConfig": { + "$ref": "GoogleCloudDiscoveryengineV1CmekConfig", + "description": "Output only. CMEK-related information for the DataStore.", + "readOnly": true + }, "contentConfig": { "description": "Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.", "enum": [ @@ -8278,12 +9184,20 @@ ], "type": "string" }, + "isInfobotFaqDataStore": { + "description": "Optional. If set, this DataStore is an Infobot FAQ DataStore.", + "type": "boolean" + }, + "kmsKeyName": { + "description": "Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field.", + "type": "string" + }, "name": { "description": "Immutable. The full resource name of the data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", "type": "string" }, "servingConfigDataStore": { - "$ref": "GoogleCloudDiscoveryengineV1ServingConfigDataStore", + "$ref": "GoogleCloudDiscoveryengineV1DataStoreServingConfigDataStore", "description": "Optional. Stores serving config at DataStore level." }, "solutionTypes": { @@ -8355,6 +9269,17 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1DataStoreServingConfigDataStore": { + "description": "Stores information regarding the serving configurations at DataStore level.", + "id": "GoogleCloudDiscoveryengineV1DataStoreServingConfigDataStore", + "properties": { + "disabledForServing": { + "description": "If set true, the DataStore will not be available for serving search requests.", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1DeleteDataStoreMetadata": { "description": "Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1DeleteDataStoreMetadata", @@ -8389,6 +9314,23 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1DeleteIdentityMappingStoreMetadata": { + "description": "Metadata related to the progress of the IdentityMappingStoreService.DeleteIdentityMappingStore operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1DeleteIdentityMappingStoreMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1DeleteSchemaMetadata": { "description": "Metadata for DeleteSchema LRO.", "id": "GoogleCloudDiscoveryengineV1DeleteSchemaMetadata", @@ -8470,12 +9412,12 @@ "type": "object" }, "id": { - "description": "Immutable. The identifier of the document. Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters.", + "description": "Immutable. The identifier of the document. Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 128 characters.", "type": "string" }, "indexStatus": { "$ref": "GoogleCloudDiscoveryengineV1DocumentIndexStatus", - "description": "Output only. The index status of the document. * If document is indexed successfully, the index_time field is populated. * Otherwise, if document is not indexed due to errors, the error_samples field is populated. * Otherwise, index_status is unset.", + "description": "Output only. The index status of the document. * If document is indexed successfully, the index_time field is populated. * Otherwise, if document is not indexed due to errors, the error_samples field is populated. * Otherwise, if document's index is in progress, the pending_message field is populated.", "readOnly": true }, "indexTime": { @@ -8546,6 +9488,10 @@ "description": "The time when the document was indexed. If this field is populated, it means the document has been indexed.", "format": "google-datetime", "type": "string" + }, + "pendingMessage": { + "description": "Immutable. The message indicates the document index is in progress. If this field is populated, the document index is pending.", + "type": "string" } }, "type": "object" @@ -8554,6 +9500,11 @@ "description": "Detailed document information associated with a user event.", "id": "GoogleCloudDiscoveryengineV1DocumentInfo", "properties": { + "conversionValue": { + "description": "Optional. The conversion value associated with this Document. Must be set if UserEvent.event_type is \"conversion\". For example, a value of 1000 signifies that 1000 seconds were spent viewing a Document for the `watch` conversion type.", + "format": "float", + "type": "number" + }, "id": { "description": "The Document resource ID.", "type": "string" @@ -8587,7 +9538,7 @@ "type": "object" }, "GoogleCloudDiscoveryengineV1DocumentProcessingConfig": { - "description": "A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config.", + "description": "A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser.", "id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfig", "properties": { "chunkingConfig": { @@ -8757,7 +9708,7 @@ "type": "string" }, "industryVertical": { - "description": "The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to `GENERIC`. Vertical on Engine has to match vertical of the DataStore linked to the engine.", + "description": "The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.", "enum": [ "INDUSTRY_VERTICAL_UNSPECIFIED", "GENERIC", @@ -8971,6 +9922,10 @@ "type": "string" }, "type": "array" + }, + "updateFromLatestPredefinedSchema": { + "description": "Optional. Whether to update the DataStore schema to the latest predefined schema. If true, the DataStore schema will be updated to include any FHIR fields or resource types that have been added since the last import and corresponding FHIR resources will be imported from the FHIR store. Note this field cannot be used in conjunction with `resource_types`. It should be used after initial import.", + "type": "boolean" } }, "type": "object" @@ -9016,64 +9971,482 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1GroundingFact": { - "description": "Grounding Fact.", - "id": "GoogleCloudDiscoveryengineV1GroundingFact", + "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequest": { + "description": "Top-level message sent by the client for the `GenerateGroundedContent` method.", + "id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequest", "properties": { - "attributes": { + "contents": { + "description": "Content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history + latest request.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1GroundedGenerationContent" + }, + "type": "array" + }, + "generationSpec": { + "$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGenerationSpec", + "description": "Content generation specification." + }, + "groundingSpec": { + "$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSpec", + "description": "Grounding specification." + }, + "systemInstruction": { + "$ref": "GoogleCloudDiscoveryengineV1GroundedGenerationContent", + "description": "Content of the system instruction for the current API. These instructions will take priority over any other prompt instructions if the selected model is supporting them." + }, + "userLabels": { "additionalProperties": { "type": "string" }, - "description": "Attributes associated with the fact. Common attributes include `source` (indicating where the fact was sourced from), `author` (indicating the author of the fact), and so on.", + "description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestDynamicRetrievalConfiguration": { + "description": "Describes the options to customize dynamic retrieval.", + "id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestDynamicRetrievalConfiguration", + "properties": { + "predictor": { + "$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestDynamicRetrievalConfigurationDynamicRetrievalPredictor", + "description": "Specification for the predictor for dynamic retrieval." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestDynamicRetrievalConfigurationDynamicRetrievalPredictor": { + "description": "Describes the predictor settings for dynamic retrieval.", + "id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestDynamicRetrievalConfigurationDynamicRetrievalPredictor", + "properties": { + "threshold": { + "description": "The value of the threshold. If the predictor will predict a value smaller than this, it would suppress grounding in the source.", + "format": "float", + "type": "number" }, - "factText": { - "description": "Text content of the fact. Can be at most 10K characters long.", + "version": { + "description": "The version of the predictor to be used in dynamic retrieval.", + "enum": [ + "VERSION_UNSPECIFIED", + "V1_INDEPENDENT" + ], + "enumDescriptions": [ + "Automatically choose the best version of the retrieval predictor.", + "The V1 model which is evaluating each source independently." + ], "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsMetadata": { - "description": "Metadata related to the progress of the ImportCompletionSuggestions operation. This will be returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsMetadata", + "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGenerationSpec": { + "description": "Content generation specification.", + "id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGenerationSpec", "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", - "type": "string" + "frequencyPenalty": { + "description": "If specified, custom value for frequency penalty will be used.", + "format": "float", + "type": "number" }, - "failureCount": { - "description": "Count of CompletionSuggestions that failed to be imported.", - "format": "int64", + "languageCode": { + "description": "Language code for content. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).", "type": "string" }, - "successCount": { - "description": "Count of CompletionSuggestions successfully imported.", - "format": "int64", - "type": "string" + "maxOutputTokens": { + "description": "If specified, custom value for max output tokens will be used.", + "format": "int32", + "type": "integer" }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", + "modelId": { + "description": "Specifies which Vertex model id to use for generation.", "type": "string" + }, + "presencePenalty": { + "description": "If specified, custom value for presence penalty will be used.", + "format": "float", + "type": "number" + }, + "seed": { + "description": "If specified, custom value for the seed will be used.", + "format": "int32", + "type": "integer" + }, + "temperature": { + "description": "If specified, custom value for the temperature will be used.", + "format": "float", + "type": "number" + }, + "topK": { + "description": "If specified, custom value for top-k sampling will be used.", + "format": "int32", + "type": "integer" + }, + "topP": { + "description": "If specified, custom value for nucleus sampling will be used.", + "format": "float", + "type": "number" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsRequest": { - "description": "Request message for CompletionService.ImportCompletionSuggestions method.", - "id": "GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsRequest", + "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSource": { + "description": "Grounding source.", + "id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSource", "properties": { - "bigquerySource": { - "$ref": "GoogleCloudDiscoveryengineV1BigQuerySource", - "description": "BigQuery input source." + "googleSearchSource": { + "$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSourceGoogleSearchSource", + "description": "If set, grounding is performed with Google Search." }, - "errorConfig": { - "$ref": "GoogleCloudDiscoveryengineV1ImportErrorConfig", - "description": "The desired location of errors incurred during the Import." + "inlineSource": { + "$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSourceInlineSource", + "description": "If set, grounding is performed with inline content." }, - "gcsSource": { + "searchSource": { + "$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSourceSearchSource", + "description": "If set, grounding is performed with Vertex AI Search." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSourceGoogleSearchSource": { + "description": "Google Search config parameters.", + "id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSourceGoogleSearchSource", + "properties": { + "dynamicRetrievalConfig": { + "$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestDynamicRetrievalConfiguration", + "description": "Optional. Specifies the dynamic retrieval configuration for the given source." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSourceInlineSource": { + "description": "Message to be used for grounding based on inline content.", + "id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSourceInlineSource", + "properties": { + "attributes": { + "additionalProperties": { + "type": "string" + }, + "description": "Attributes associated with the content. Common attributes include `source` (indicating where the content was sourced from) and `author` (indicating the author of the content).", + "type": "object" + }, + "groundingFacts": { + "description": "List of facts to be used for grounding.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1GroundingFact" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSourceSearchSource": { + "description": "Message to be used for grounding with Vertex AI Search.", + "id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSourceSearchSource", + "properties": { + "filter": { + "description": "Filter expression to be applied to the search. The syntax is the same as SearchRequest.filter.", + "type": "string" + }, + "maxResultCount": { + "description": "Number of search results to return. The default value is 10. The maximumm allowed value is 10.", + "format": "int32", + "type": "integer" + }, + "safeSearch": { + "description": "If set, safe search is enabled in Vertex AI Search requests.", + "type": "boolean" + }, + "servingConfig": { + "description": "The resource name of the Engine to use. Format: `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/servingConfigs/{serving_config_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSpec": { + "description": "Grounding specification.", + "id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSpec", + "properties": { + "groundingSources": { + "description": "Grounding sources.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSource" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponse": { + "description": "Response for the `GenerateGroundedContent` method.", + "id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponse", + "properties": { + "candidates": { + "description": "Generated candidates.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidate" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidate": { + "description": "A response candidate generated from the model.", + "id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidate", + "properties": { + "content": { + "$ref": "GoogleCloudDiscoveryengineV1GroundedGenerationContent", + "description": "Content of the candidate." + }, + "groundingMetadata": { + "$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadata", + "description": "Grounding metadata for the generated content." + }, + "groundingScore": { + "description": "The overall grounding score for the candidate, in the range of [0, 1].", + "format": "float", + "type": "number" + }, + "index": { + "description": "Index of the candidate.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadata": { + "description": "Citation for the generated content.", + "id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadata", + "properties": { + "groundingSupport": { + "description": "GroundingSupport across all claims in the answer candidate. An support to a fact indicates that the claim is supported by the fact.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataGroundingSupport" + }, + "type": "array" + }, + "retrievalMetadata": { + "description": "Retrieval metadata to provide an understanding in the retrieval steps performed by the model. There can be multiple such messages which can correspond to different parts of the retrieval. This is a mechanism used to ensure transparency to our users.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataRetrievalMetadata" + }, + "type": "array" + }, + "searchEntryPoint": { + "$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataSearchEntryPoint", + "description": "Google search entry for the following-up web searches." + }, + "supportChunks": { + "description": "List of chunks to be attributed across all claims in the candidate. These are derived from the grounding sources supplied in the request.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1FactChunk" + }, + "type": "array" + }, + "webSearchQueries": { + "description": "Web search queries for the following-up web search.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalMetadata": { + "description": "Describes the metadata about dynamic retrieval.", + "id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalMetadata", + "properties": { + "predictorMetadata": { + "$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalPredictorMetadata", + "description": "Metadata for the dynamic retrieval predictor." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalPredictorMetadata": { + "description": "Describes the metadata about the dynamic retrieval predictor.", + "id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalPredictorMetadata", + "properties": { + "prediction": { + "description": "The value of the predictor. This should be between [0, 1] where a value of 0 means that the query would not benefit from grounding, while a value of 1.0 means that the query would benefit the most. In between values allow to differentiate between different usefulness scores for grounding.", + "format": "float", + "type": "number" + }, + "version": { + "description": "The version of the predictor which was used in dynamic retrieval.", + "enum": [ + "VERSION_UNSPECIFIED", + "V1_INDEPENDENT" + ], + "enumDescriptions": [ + "Unspecified version, should never be used.", + "The V1 model which is evaluating each source independently." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataGroundingSupport": { + "description": "Grounding info for a claim in the candidate and its support.", + "id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataGroundingSupport", + "properties": { + "claimText": { + "description": "Text for the claim in the candidate. Always provided when a support is found.", + "type": "string" + }, + "supportChunkIndices": { + "description": "A list of indices (into 'support_chunks') specifying the citations associated with the claim. For instance [1,3,4] means that support_chunks[1], support_chunks[3], support_chunks[4] are the chunks attributed to the claim.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "supportScore": { + "description": "A score in the range of [0, 1] describing how grounded is a specific claim in the support chunks indicated. Higher value means that the claim is better supported by the chunks.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataRetrievalMetadata": { + "description": "Describes the metadata associated with a retrieval step.", + "id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataRetrievalMetadata", + "properties": { + "dynamicRetrievalMetadata": { + "$ref": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalMetadata", + "description": "Metadata for dynamic retrieval." + }, + "source": { + "description": "Describes the source to which the metadata is referring to.", + "enum": [ + "SOURCE_UNSPECIFIED", + "VERTEX_AI_SEARCH", + "GOOGLE_SEARCH", + "INLINE_CONTENT", + "GOOGLE_MAPS" + ], + "enumDescriptions": [ + "Unspecified source.", + "Vertex AI search.", + "Google Search.", + "User inline provided content.", + "Google Maps." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataSearchEntryPoint": { + "description": "Google search entry point.", + "id": "GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataSearchEntryPoint", + "properties": { + "renderedContent": { + "description": "Web content snippet that can be embedded in a web page or an app webview.", + "type": "string" + }, + "sdkBlob": { + "description": "Base64 encoded JSON representing array of tuple.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1GroundedGenerationContent": { + "description": "Base structured datatype containing multi-part content of a message.", + "id": "GoogleCloudDiscoveryengineV1GroundedGenerationContent", + "properties": { + "parts": { + "description": "Ordered `Parts` that constitute a single message.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1GroundedGenerationContentPart" + }, + "type": "array" + }, + "role": { + "description": "Producer of the content. Must be either `user` or `model`. Intended to be used for multi-turn conversations. Otherwise, it can be left unset.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1GroundedGenerationContentPart": { + "description": "Single part of content.", + "id": "GoogleCloudDiscoveryengineV1GroundedGenerationContentPart", + "properties": { + "text": { + "description": "Inline text.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1GroundingFact": { + "description": "Grounding Fact.", + "id": "GoogleCloudDiscoveryengineV1GroundingFact", + "properties": { + "attributes": { + "additionalProperties": { + "type": "string" + }, + "description": "Attributes associated with the fact. Common attributes include `source` (indicating where the fact was sourced from), `author` (indicating the author of the fact), and so on.", + "type": "object" + }, + "factText": { + "description": "Text content of the fact. Can be at most 10K characters long.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsMetadata": { + "description": "Metadata related to the progress of the ImportCompletionSuggestions operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "failureCount": { + "description": "Count of CompletionSuggestions that failed to be imported.", + "format": "int64", + "type": "string" + }, + "successCount": { + "description": "Count of CompletionSuggestions successfully imported.", + "format": "int64", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsRequest": { + "description": "Request message for CompletionService.ImportCompletionSuggestions method.", + "id": "GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsRequest", + "properties": { + "bigquerySource": { + "$ref": "GoogleCloudDiscoveryengineV1BigQuerySource", + "description": "BigQuery input source." + }, + "errorConfig": { + "$ref": "GoogleCloudDiscoveryengineV1ImportErrorConfig", + "description": "The desired location of errors incurred during the Import." + }, + "gcsSource": { "$ref": "GoogleCloudDiscoveryengineV1GcsSource", "description": "Cloud Storage location for the input content." }, @@ -9665,6 +11038,13 @@ "description": "The display name of the panel.", "type": "string" }, + "documents": { + "description": "Optional. The document IDs associated with this panel.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1DocumentInfo" + }, + "type": "array" + }, "panelId": { "description": "Required. The panel ID.", "type": "string" @@ -9967,7 +11347,7 @@ "id": "GoogleCloudDiscoveryengineV1PurgeUserEventsRequest", "properties": { "filter": { - "description": "Required. The filter string to specify the events to be deleted with a length limit of 5,000 characters. The eligible fields for filtering are: * `eventType`: Double quoted UserEvent.event_type string. * `eventTime`: in ISO 8601 \"zulu\" format. * `userPseudoId`: Double quoted string. Specifying this will delete all events associated with a visitor. * `userId`: Double quoted string. Specifying this will delete all events associated with a user. Examples: * Deleting all events in a time range: `eventTime > \"2012-04-23T18:25:43.511Z\" eventTime < \"2012-04-23T18:30:43.511Z\"` * Deleting specific eventType: `eventType = \"search\"` * Deleting all events for a specific visitor: `userPseudoId = \"visitor1024\"` * Deleting all events inside a DataStore: `*` The filtering fields are assumed to have an implicit AND.", + "description": "Required. The filter string to specify the events to be deleted with a length limit of 5,000 characters. The eligible fields for filtering are: * `eventType`: Double quoted UserEvent.event_type string. * `eventTime`: in ISO 8601 \"zulu\" format. * `userPseudoId`: Double quoted string. Specifying this will delete all events associated with a visitor. * `userId`: Double quoted string. Specifying this will delete all events associated with a user. Note: This API only supports purging a max range of 30 days. Examples: * Deleting all events in a time range: `eventTime > \"2012-04-23T18:25:43.511Z\" eventTime < \"2012-04-23T18:30:43.511Z\"` * Deleting specific eventType in a time range: `eventTime > \"2012-04-23T18:25:43.511Z\" eventTime < \"2012-04-23T18:30:43.511Z\" eventType = \"search\"` * Deleting all events for a specific visitor in a time range: `eventTime > \"2012-04-23T18:25:43.511Z\" eventTime < \"2012-04-23T18:30:43.511Z\" userPseudoId = \"visitor1024\"` * Deleting the past 30 days of events inside a DataStore: `*` The filtering fields are assumed to have an implicit AND.", "type": "string" }, "force": { @@ -10057,7 +11437,7 @@ "type": "string" }, "score": { - "description": "The score of this record based on the given query and selected model.", + "description": "The score of this record based on the given query and selected model. The score will be rounded to 2 decimal places. If the score is close to 0, it will be rounded to 0.0001 to avoid returning unset.", "format": "float", "type": "number" }, @@ -10073,7 +11453,7 @@ "id": "GoogleCloudDiscoveryengineV1RecommendRequest", "properties": { "filter": { - "description": "Filter for restricting recommendation results with a length limit of 5,000 characters. Currently, only filter expressions on the `filter_tags` attribute is supported. Examples: * `(filter_tags: ANY(\"Red\", \"Blue\") OR filter_tags: ANY(\"Hot\", \"Cold\"))` * `(filter_tags: ANY(\"Red\", \"Blue\")) AND NOT (filter_tags: ANY(\"Green\"))` If `attributeFilteringSyntax` is set to true under the `params` field, then attribute-based expressions are expected instead of the above described tag-based syntax. Examples: * (launguage: ANY(\"en\", \"es\")) AND NOT (categories: ANY(\"Movie\")) * (available: true) AND (launguage: ANY(\"en\", \"es\")) OR (categories: ANY(\"Movie\")) If your filter blocks all results, the API returns generic (unfiltered) popular Documents. If you only want results strictly matching the filters, set `strictFiltering` to `true` in RecommendRequest.params to receive empty results instead. Note that the API never returns Documents with `storageStatus` as `EXPIRED` or `DELETED` regardless of filter choices.", + "description": "Filter for restricting recommendation results with a length limit of 5,000 characters. Currently, only filter expressions on the `filter_tags` attribute is supported. Examples: * `(filter_tags: ANY(\"Red\", \"Blue\") OR filter_tags: ANY(\"Hot\", \"Cold\"))` * `(filter_tags: ANY(\"Red\", \"Blue\")) AND NOT (filter_tags: ANY(\"Green\"))` If `attributeFilteringSyntax` is set to true under the `params` field, then attribute-based expressions are expected instead of the above described tag-based syntax. Examples: * (language: ANY(\"en\", \"es\")) AND NOT (categories: ANY(\"Movie\")) * (available: true) AND (language: ANY(\"en\", \"es\")) OR (categories: ANY(\"Movie\")) If your filter blocks all results, the API returns generic (unfiltered) popular Documents. If you only want results strictly matching the filters, set `strictFiltering` to `true` in RecommendRequest.params to receive empty results instead. Note that the API never returns Documents with `storageStatus` as `EXPIRED` or `DELETED` regardless of filter choices.", "type": "string" }, "pageSize": { @@ -10162,7 +11542,7 @@ "id": "GoogleCloudDiscoveryengineV1RecrawlUrisRequest", "properties": { "siteCredential": { - "description": "Optional. Full resource name of the SiteCredential, such as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/siteCredentials/*`. Only set to crawl private URIs.", + "description": "Optional. Full resource name of the `SiteCredential`, such as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/siteCredentials/*`. Only set to crawl private URIs.", "type": "string" }, "uris": { @@ -10186,20 +11566,103 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1Schema": { - "description": "Defines the structure and layout of a type of document data.", - "id": "GoogleCloudDiscoveryengineV1Schema", + "GoogleCloudDiscoveryengineV1SafetyRating": { + "description": "Safety rating corresponding to the generated content.", + "id": "GoogleCloudDiscoveryengineV1SafetyRating", "properties": { - "jsonSchema": { - "description": "The JSON representation of the schema.", + "blocked": { + "description": "Output only. Indicates whether the content was filtered out because of this rating.", + "readOnly": true, + "type": "boolean" + }, + "category": { + "description": "Output only. Harm category.", + "enum": [ + "HARM_CATEGORY_UNSPECIFIED", + "HARM_CATEGORY_HATE_SPEECH", + "HARM_CATEGORY_DANGEROUS_CONTENT", + "HARM_CATEGORY_HARASSMENT", + "HARM_CATEGORY_SEXUALLY_EXPLICIT", + "HARM_CATEGORY_CIVIC_INTEGRITY" + ], + "enumDescriptions": [ + "The harm category is unspecified.", + "The harm category is hate speech.", + "The harm category is dangerous content.", + "The harm category is harassment.", + "The harm category is sexually explicit content.", + "The harm category is civic integrity." + ], + "readOnly": true, "type": "string" }, - "name": { - "description": "Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", + "probability": { + "description": "Output only. Harm probability levels in the content.", + "enum": [ + "HARM_PROBABILITY_UNSPECIFIED", + "NEGLIGIBLE", + "LOW", + "MEDIUM", + "HIGH" + ], + "enumDescriptions": [ + "Harm probability unspecified.", + "Negligible level of harm.", + "Low level of harm.", + "Medium level of harm.", + "High level of harm." + ], + "readOnly": true, "type": "string" }, - "structSchema": { - "additionalProperties": { + "probabilityScore": { + "description": "Output only. Harm probability score.", + "format": "float", + "readOnly": true, + "type": "number" + }, + "severity": { + "description": "Output only. Harm severity levels in the content.", + "enum": [ + "HARM_SEVERITY_UNSPECIFIED", + "HARM_SEVERITY_NEGLIGIBLE", + "HARM_SEVERITY_LOW", + "HARM_SEVERITY_MEDIUM", + "HARM_SEVERITY_HIGH" + ], + "enumDescriptions": [ + "Harm severity unspecified.", + "Negligible level of harm severity.", + "Low level of harm severity.", + "Medium level of harm severity.", + "High level of harm severity." + ], + "readOnly": true, + "type": "string" + }, + "severityScore": { + "description": "Output only. Harm severity score.", + "format": "float", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1Schema": { + "description": "Defines the structure and layout of a type of document data.", + "id": "GoogleCloudDiscoveryengineV1Schema", + "properties": { + "jsonSchema": { + "description": "The JSON representation of the schema.", + "type": "string" + }, + "name": { + "description": "Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", + "type": "string" + }, + "structSchema": { + "additionalProperties": { "description": "Properties of the object.", "type": "any" }, @@ -10229,6 +11692,33 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1SearchLinkPromotion": { + "description": "Promotion proto includes uri and other helping information to display the promotion.", + "id": "GoogleCloudDiscoveryengineV1SearchLinkPromotion", + "properties": { + "description": { + "description": "Optional. The Promotion description. Maximum length: 200 characters.", + "type": "string" + }, + "enabled": { + "description": "Optional. The enabled promotion will be returned for any serving configs associated with the parent of the control this promotion is attached to. This flag is used for basic site search only.", + "type": "boolean" + }, + "imageUri": { + "description": "Optional. The promotion thumbnail image url.", + "type": "string" + }, + "title": { + "description": "Required. The title of the promotion. Maximum length: 160 characters.", + "type": "string" + }, + "uri": { + "description": "Required. The URL for the page the user wants to promote.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1SearchRequest": { "description": "Request message for SearchService.Search method.", "id": "GoogleCloudDiscoveryengineV1SearchRequest", @@ -10250,7 +11740,7 @@ "description": "A specification for configuring the behavior of content search." }, "dataStoreSpecs": { - "description": "Specs defining dataStores to filter on in a search call and configurations for those dataStores. This is only considered for engines with multiple dataStores use case. For single dataStore within an engine, they should use the specs at the top level.", + "description": "Specs defining DataStores to filter on in a search call and configurations for those data stores. This is only considered for Engines with multiple data stores. For engines with a single data store, the specs directly under SearchRequest should be used.", "items": { "$ref": "GoogleCloudDiscoveryengineV1SearchRequestDataStoreSpec" }, @@ -10280,6 +11770,11 @@ "format": "int32", "type": "integer" }, + "oneBoxPageSize": { + "description": "The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default number is 10.", + "format": "int32", + "type": "integer" + }, "orderBy": { "description": "The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering the website search results, see [Order web search results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results). For more information on ordering the healthcare search results, see [Order healthcare search results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results). If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.", "type": "string" @@ -10462,7 +11957,7 @@ "enumDescriptions": [ "Default value.", "Returns documents in the search result.", - "Returns chunks in the search result. Only available if the DataStore.DocumentProcessingConfig.chunking_config is specified." + "Returns chunks in the search result. Only available if the DocumentProcessingConfig.chunking_config is specified." ], "type": "string" }, @@ -10621,6 +12116,10 @@ "description": "A struct to define data stores to filter on in a search call and configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error is returned.", "id": "GoogleCloudDiscoveryengineV1SearchRequestDataStoreSpec", "properties": { + "boostSpec": { + "$ref": "GoogleCloudDiscoveryengineV1SearchRequestBoostSpec", + "description": "Optional. Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results)" + }, "dataStore": { "description": "Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`.", "type": "string" @@ -10838,6 +12337,13 @@ }, "type": "array" }, + "searchLinkPromotions": { + "description": "Promotions for site search.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1SearchLinkPromotion" + }, + "type": "array" + }, "sessionInfo": { "$ref": "GoogleCloudDiscoveryengineV1SearchResponseSessionInfo", "description": "Session information. Only set if SearchRequest.session is provided. See its description for more details." @@ -11131,13 +12637,172 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1ServingConfigDataStore": { - "description": "Stores information regarding the serving configurations at DataStore level.", - "id": "GoogleCloudDiscoveryengineV1ServingConfigDataStore", + "GoogleCloudDiscoveryengineV1ServingConfig": { + "description": "Configures metadata that is used to generate serving time results (e.g. search results or recommendation predictions). The ServingConfig is passed in the search and predict request and generates results.", + "id": "GoogleCloudDiscoveryengineV1ServingConfig", "properties": { - "disabledForServing": { - "description": "If set true, the DataStore will not be available for serving search requests.", - "type": "boolean" + "boostControlIds": { + "description": "Boost controls to use in serving path. All triggered boost controls will be applied. Boost controls must be in the same data store as the serving config. Maximum of 20 boost controls.", + "items": { + "type": "string" + }, + "type": "array" + }, + "createTime": { + "description": "Output only. ServingConfig created timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The human readable serving config display name. Used in Discovery UI. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", + "type": "string" + }, + "dissociateControlIds": { + "description": "Condition do not associate specifications. If multiple do not associate conditions match, all matching do not associate controls in the list will execute. Order does not matter. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", + "items": { + "type": "string" + }, + "type": "array" + }, + "diversityLevel": { + "description": "How much diversity to use in recommendation model results e.g. `medium-diversity` or `high-diversity`. Currently supported values: * `no-diversity` * `low-diversity` * `medium-diversity` * `high-diversity` * `auto-diversity` If not specified, we choose default based on recommendation model type. Default value: `no-diversity`. Can only be set if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", + "type": "string" + }, + "filterControlIds": { + "description": "Filter controls to use in serving path. All triggered filter controls will be applied. Filter controls must be in the same data store as the serving config. Maximum of 20 filter controls.", + "items": { + "type": "string" + }, + "type": "array" + }, + "genericConfig": { + "$ref": "GoogleCloudDiscoveryengineV1ServingConfigGenericConfig", + "description": "The GenericConfig of the serving configuration." + }, + "ignoreControlIds": { + "description": "Condition ignore specifications. If multiple ignore conditions match, all matching ignore controls in the list will execute. Order does not matter. Maximum number of specifications is 100.", + "items": { + "type": "string" + }, + "type": "array" + }, + "mediaConfig": { + "$ref": "GoogleCloudDiscoveryengineV1ServingConfigMediaConfig", + "description": "The MediaConfig of the serving configuration." + }, + "modelId": { + "description": "The id of the model to use at serving time. Currently only RecommendationModels are supported. Can be changed but only to a compatible model (e.g. others-you-may-like CTR to others-you-may-like CVR). Required when SolutionType is SOLUTION_TYPE_RECOMMENDATION.", + "type": "string" + }, + "name": { + "description": "Immutable. Fully qualified name `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/servingConfigs/{serving_config_id}`", + "type": "string" + }, + "onewaySynonymsControlIds": { + "description": "Condition oneway synonyms specifications. If multiple oneway synonyms conditions match, all matching oneway synonyms controls in the list will execute. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", + "items": { + "type": "string" + }, + "type": "array" + }, + "promoteControlIds": { + "description": "Condition promote specifications. Maximum number of specifications is 100.", + "items": { + "type": "string" + }, + "type": "array" + }, + "rankingExpression": { + "description": "The ranking expression controls the customized ranking on retrieval documents. To leverage this, document embedding is required. The ranking expression setting in ServingConfig applies to all search requests served by the serving config. However, if `SearchRequest.ranking_expression` is specified, it overrides the ServingConfig ranking expression. The ranking expression is a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between embedding_field_path and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`.", + "type": "string" + }, + "redirectControlIds": { + "description": "IDs of the redirect controls. Only the first triggered redirect action is applied, even if multiple apply. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", + "items": { + "type": "string" + }, + "type": "array" + }, + "replacementControlIds": { + "description": "Condition replacement specifications. Applied according to the order in the list. A previously replaced term can not be re-replaced. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", + "items": { + "type": "string" + }, + "type": "array" + }, + "solutionType": { + "description": "Required. Immutable. Specifies the solution type that a serving config can be associated with.", + "enum": [ + "SOLUTION_TYPE_UNSPECIFIED", + "SOLUTION_TYPE_RECOMMENDATION", + "SOLUTION_TYPE_SEARCH", + "SOLUTION_TYPE_CHAT", + "SOLUTION_TYPE_GENERATIVE_CHAT" + ], + "enumDescriptions": [ + "Default value.", + "Used for Recommendations AI.", + "Used for Discovery Search.", + "Used for use cases related to the Generative AI agent.", + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + ], + "type": "string" + }, + "synonymsControlIds": { + "description": "Condition synonyms specifications. If multiple synonyms conditions match, all matching synonyms controls in the list will execute. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", + "items": { + "type": "string" + }, + "type": "array" + }, + "updateTime": { + "description": "Output only. ServingConfig updated timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1ServingConfigGenericConfig": { + "description": "Specifies the configurations needed for Generic Discovery.Currently we support: * `content_search_spec`: configuration for generic content search.", + "id": "GoogleCloudDiscoveryengineV1ServingConfigGenericConfig", + "properties": { + "contentSearchSpec": { + "$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec", + "description": "Specifies the expected behavior of content search. Only valid for content-search enabled data store." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1ServingConfigMediaConfig": { + "description": "Specifies the configurations needed for Media Discovery. Currently we support: * `demote_content_watched`: Threshold for watched content demotion. Customers can specify if using watched content demotion or use viewed detail page. Using the content watched demotion, customers need to specify the watched minutes or percentage exceeds the threshold, the content will be demoted in the recommendation result. * `promote_fresh_content`: cutoff days for fresh content promotion. Customers can specify if using content freshness promotion. If the content was published within the cutoff days, the content will be promoted in the recommendation result. Can only be set if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", + "id": "GoogleCloudDiscoveryengineV1ServingConfigMediaConfig", + "properties": { + "contentFreshnessCutoffDays": { + "description": "Specifies the content freshness used for recommendation result. Contents will be demoted if contents were published for more than content freshness cutoff days.", + "format": "int32", + "type": "integer" + }, + "contentWatchedPercentageThreshold": { + "description": "Specifies the content watched percentage threshold for demotion. Threshold value must be between [0, 1.0] inclusive.", + "format": "float", + "type": "number" + }, + "contentWatchedSecondsThreshold": { + "description": "Specifies the content watched minutes threshold for demotion.", + "format": "float", + "type": "number" + }, + "demoteContentWatchedPastDays": { + "description": "Optional. Specifies the number of days to look back for demoting watched content. If set to zero or unset, defaults to the maximum of 365 days.", + "format": "int32", + "type": "integer" + }, + "demotionEventType": { + "description": "Specifies the event type used for demoting recommendation result. Currently supported values: * `view-item`: Item viewed. * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. If unset, watch history demotion will not be applied. Content freshness demotion will still be applied.", + "type": "string" } }, "type": "object" @@ -11146,12 +12811,20 @@ "description": "External session proto definition.", "id": "GoogleCloudDiscoveryengineV1Session", "properties": { + "displayName": { + "description": "Optional. The display name of the session. This field is used to identify the session in the UI. By default, the display name is the first turn query text in the session.", + "type": "string" + }, "endTime": { "description": "Output only. The time the session finished.", "format": "google-datetime", "readOnly": true, "type": "string" }, + "isPinned": { + "description": "Optional. Whether the session is pinned, pinned session will be displayed on the top of the session list.", + "type": "boolean" + }, "name": { "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", "type": "string" @@ -11196,6 +12869,11 @@ "description": "The resource name of the answer to the user query. Only set if the answer generation (/answer API call) happened in this turn.", "type": "string" }, + "detailedAnswer": { + "$ref": "GoogleCloudDiscoveryengineV1Answer", + "description": "Output only. In ConversationalSearchService.GetSession API, if GetSessionRequest.include_answer_details is set to true, this field will be populated when getting answer query session.", + "readOnly": true + }, "query": { "$ref": "GoogleCloudDiscoveryengineV1Query", "description": "The user query." @@ -11203,6 +12881,17 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1SingleRegionKey": { + "description": "Metadata for single-regional CMEKs.", + "id": "GoogleCloudDiscoveryengineV1SingleRegionKey", + "properties": { + "kmsKey": { + "description": "Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1SiteSearchEngine": { "description": "SiteSearchEngine captures DataStore level site search persisting configurations. It is a singleton value per data store.", "id": "GoogleCloudDiscoveryengineV1SiteSearchEngine", @@ -11299,7 +12988,7 @@ "id": "GoogleCloudDiscoveryengineV1TargetSite", "properties": { "exactMatch": { - "description": "Input only. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine.", + "description": "Immutable. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine.", "type": "boolean" }, "failureReason": { @@ -11543,6 +13232,23 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1UpdateCmekConfigMetadata": { + "description": "Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1UpdateCmekConfigMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1UpdateSchemaMetadata": { "description": "Metadata for UpdateSchema LRO.", "id": "GoogleCloudDiscoveryengineV1UpdateSchemaMetadata", @@ -11596,6 +13302,10 @@ "$ref": "GoogleCloudDiscoveryengineV1CompletionInfo", "description": "CompletionService.CompleteQuery details related to the event. This field should be set for `search` event when autocomplete function is enabled and the user clicks a suggestion for search." }, + "conversionType": { + "description": "Optional. Conversion type. Required if UserEvent.event_type is `conversion`. This is a customer-defined conversion name in lowercase letters or numbers separated by \"-\", such as \"watch\", \"good-visit\" etc. Do not set the field if UserEvent.event_type is not `conversion`. This mixes the custom conversion event with predefined events like `search`, `view-item` etc.", + "type": "string" + }, "dataStore": { "description": "The DataStore resource full name, of the form `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. Optional. Only required for user events whose data store can't by determined by UserEvent.engine or UserEvent.documents. If data store is set in the parent of write/import/collect user event requests, this field can be omitted.", "type": "string" @@ -11621,7 +13331,7 @@ "type": "string" }, "eventType": { - "description": "Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc.", + "description": "Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans * `add-feedback`: Add a user feedback. Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event.", "type": "string" }, "filter": { @@ -11640,6 +13350,13 @@ "$ref": "GoogleCloudDiscoveryengineV1PanelInfo", "description": "Panel metadata associated with this user event." }, + "panels": { + "description": "Optional. List of panels associated with this event. Used for page-level impression data.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1PanelInfo" + }, + "type": "array" + }, "promotionIds": { "description": "The promotion IDs if this is an event associated with promotions. Currently, this field is restricted to at most one ID.", "items": { @@ -11750,6 +13467,41 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaActionConfig": { + "description": "Informations to support actions on the connector.", + "id": "GoogleCloudDiscoveryengineV1alphaActionConfig", + "properties": { + "actionParams": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Required. Params needed to support actions in the format of (Key, Value) pairs. Required parameters for sources that support OAUTH, i.e. `gmail`, `google_calendar`, `jira`, `workday`, `salesforce`, `confluence`: * Key: `client_id` * Value: type STRING. The client id for the service provider to identify your application. * Key: `client_secret` * Value:type STRING. The client secret generated by the application's authorization server.", + "type": "object" + }, + "isActionConfigured": { + "description": "Output only. The connector contains the necessary parameters and is configured to support actions.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaAdvancedSiteSearchConfig": { + "description": "Configuration data for advance site search.", + "id": "GoogleCloudDiscoveryengineV1alphaAdvancedSiteSearchConfig", + "properties": { + "disableAutomaticRefresh": { + "description": "If set true, automatic refresh is disabled for the DataStore.", + "type": "boolean" + }, + "disableInitialIndex": { + "description": "If set true, initial indexing is disabled for the DataStore.", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaAnswer": { "description": "Defines an answer.", "id": "GoogleCloudDiscoveryengineV1alphaAnswer", @@ -11766,7 +13518,8 @@ "NO_RELEVANT_CONTENT", "JAIL_BREAKING_QUERY_IGNORED", "CUSTOMER_POLICY_VIOLATION", - "NON_ANSWER_SEEKING_QUERY_IGNORED_V2" + "NON_ANSWER_SEEKING_QUERY_IGNORED_V2", + "LOW_GROUNDED_ANSWER" ], "enumDescriptions": [ "Default value. The answer skipped reason is not specified.", @@ -11777,7 +13530,8 @@ "The no relevant content case. Google skips the answer if there is no relevant content in the retrieved search results.", "The jail-breaking query ignored case. For example, \"Reply in the tone of a competing company's CEO\". Google skips the answer if the query is classified as a jail-breaking query.", "The customer policy violation case. Google skips the summary if there is a customer policy violation detected. The policy is defined by the customer.", - "The non-answer seeking query ignored case. Google skips the answer if the query doesn't have clear intent." + "The non-answer seeking query ignored case. Google skips the answer if the query doesn't have clear intent.", + "The low-grounded answer case. Google skips the answer if a well grounded answer was unable to be generated." ], "type": "string" }, @@ -11806,6 +13560,18 @@ "readOnly": true, "type": "string" }, + "groundingScore": { + "description": "A score in the range of [0, 1] describing how grounded the answer is by the reference chunks.", + "format": "double", + "type": "number" + }, + "groundingSupports": { + "description": "Optional. Grounding supports.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerGroundingSupport" + }, + "type": "array" + }, "name": { "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*/answers/*`", "type": "string" @@ -11828,19 +13594,28 @@ }, "type": "array" }, + "safetyRatings": { + "description": "Optional. Safety ratings.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSafetyRating" + }, + "type": "array" + }, "state": { "description": "The state of the answer generation.", "enum": [ "STATE_UNSPECIFIED", "IN_PROGRESS", "FAILED", - "SUCCEEDED" + "SUCCEEDED", + "STREAMING" ], "enumDescriptions": [ "Unknown.", "Answer generation is currently in progress.", "Answer generation currently failed.", - "Answer generation has succeeded." + "Answer generation has succeeded.", + "Answer generation is currently in progress." ], "type": "string" }, @@ -11889,19 +13664,52 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfo": { - "description": "Query understanding information.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfo", + "GoogleCloudDiscoveryengineV1alphaAnswerGroundingSupport": { + "description": "Grounding support for a claim in `answer_text`.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerGroundingSupport", "properties": { - "queryClassificationInfo": { - "description": "Query classification information.", - "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfoQueryClassificationInfo" - }, - "type": "array" - } - }, - "type": "object" + "endIndex": { + "description": "Required. End of the claim, exclusive.", + "format": "int64", + "type": "string" + }, + "groundingCheckRequired": { + "description": "Indicates that this claim required grounding check. When the system decided this claim didn't require attribution/grounding check, this field is set to false. In that case, no grounding check was done for the claim and therefore `grounding_score`, `sources` is not returned.", + "type": "boolean" + }, + "groundingScore": { + "description": "A score in the range of [0, 1] describing how grounded is a specific claim by the references. Higher value means that the claim is better supported by the reference chunks.", + "format": "double", + "type": "number" + }, + "sources": { + "description": "Optional. Citation sources for the claim.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerCitationSource" + }, + "type": "array" + }, + "startIndex": { + "description": "Required. Index indicates the start of the claim, measured in bytes (UTF-8 unicode).", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfo": { + "description": "Query understanding information.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfo", + "properties": { + "queryClassificationInfo": { + "description": "Query classification information.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfoQueryClassificationInfo" + }, + "type": "array" + } + }, + "type": "object" }, "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfoQueryClassificationInfo": { "description": "Query classification information.", @@ -12172,7 +13980,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result. .", + "description": "Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result.", "type": "object" }, "title": { @@ -12263,6 +14071,92 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaCmekConfig": { + "description": "Configurations used to enable CMEK data encryption with Cloud KMS keys.", + "id": "GoogleCloudDiscoveryengineV1alphaCmekConfig", + "properties": { + "isDefault": { + "description": "Output only. The default CmekConfig for the Customer.", + "readOnly": true, + "type": "boolean" + }, + "kmsKey": { + "description": "Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", + "type": "string" + }, + "kmsKeyVersion": { + "description": "Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.", + "type": "string" + }, + "lastRotationTimestampMicros": { + "description": "Output only. The timestamp of the last key rotation.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", + "type": "string" + }, + "singleRegionKeys": { + "description": "Optional. Single-regional CMEKs that are required for some VAIS features.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSingleRegionKey" + }, + "type": "array" + }, + "state": { + "description": "Output only. State of the CmekConfig.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "KEY_ISSUE", + "DELETING", + "UNUSABLE", + "ACTIVE_ROTATING" + ], + "enumDescriptions": [ + "The CmekConfig state is unknown.", + "The CmekConfig is creating.", + "The CmekConfig can be used with DataStores.", + "The CmekConfig is unavailable, most likely due to the KMS Key being revoked.", + "The CmekConfig is deleting.", + "The CmekConfig is not usable, most likely due to some internal issue.", + "The KMS key version is being rotated." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaCollection": { + "description": "Collection is a container for configuring resources and access to a set of DataStores.", + "id": "GoogleCloudDiscoveryengineV1alphaCollection", + "properties": { + "createTime": { + "description": "Output only. Timestamp the Collection was created at.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dataConnector": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDataConnector", + "description": "Output only. The data connector, if present, manages the connection for data stores in the Collection. To set up the connector, use DataConnectorService.SetUpDataConnector method, which creates a new Collection while setting up the DataConnector singleton resource. Setting up connector on an existing Collection is not supported. This output only field contains a subset of the DataConnector fields, including `name`, `data_source`, `entities.entity_name` and `entities.data_store`. To get more details about a data connector, use the DataConnectorService.GetDataConnector method.", + "readOnly": true + }, + "displayName": { + "description": "Required. The Collection display name. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", + "type": "string" + }, + "name": { + "description": "Immutable. The full resource name of the Collection. Format: `projects/{project}/locations/{location}/collections/{collection_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaCondition": { "description": "Defines circumstances to be checked before allowing a behavior", "id": "GoogleCloudDiscoveryengineV1alphaCondition", @@ -12274,8 +14168,12 @@ }, "type": "array" }, + "queryRegex": { + "description": "Optional. Query regex to match the whole search query. Cannot be set when Condition.query_terms is set. This is currently supporting promotion use case.", + "type": "string" + }, "queryTerms": { - "description": "Search only A list of terms to match the query on. Maximum of 10 query terms.", + "description": "Search only A list of terms to match the query on. Cannot be set when Condition.query_regex is set. Maximum of 10 query terms.", "items": { "$ref": "GoogleCloudDiscoveryengineV1alphaConditionQueryTerm" }, @@ -12316,6 +14214,186 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaConnectorRun": { + "description": "A data sync run of DataConnector. After DataConnector is successfully initialized, data syncs are scheduled at DataConnector.refresh_interval. A ConnectorRun represents a data sync either in the past or onging that the moment. //", + "id": "GoogleCloudDiscoveryengineV1alphaConnectorRun", + "properties": { + "endTime": { + "description": "Output only. The time when the connector run ended.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "entityRuns": { + "description": "Output only. The details of the entities synced at the ConnectorRun. Each ConnectorRun consists of syncing one or more entities.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaConnectorRunEntityRun" + }, + "readOnly": true, + "type": "array" + }, + "errors": { + "description": "Contains info about errors incurred during the sync. Only exist if running into an error state. Contains error code and error message. Use with the `state` field.", + "items": { + "$ref": "GoogleRpcStatus" + }, + "type": "array" + }, + "latestPauseTime": { + "description": "Output only. The time when the connector run was most recently paused.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The full resource name of the Connector Run. Format: `projects/*/locations/*/collections/*/dataConnector/connectorRuns/*`. The `connector_run_id` is system-generated.", + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. The time when the connector run started.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The state of the sync run.", + "enum": [ + "STATE_UNSPECIFIED", + "RUNNING", + "SUCCEEDED", + "FAILED", + "OVERRUN", + "CANCELLED", + "PENDING", + "WARNING" + ], + "enumDescriptions": [ + "Default value.", + "The data sync is ongoing.", + "The data sync is finished.", + "The data sync is failed.", + "Data sync has been running longer than expected and is still running at the time the next run is supposed to start.", + "Data sync was scheduled but has been cancelled.", + "Data sync is about to start.", + "The data sync completed with non-fatal errors." + ], + "readOnly": true, + "type": "string" + }, + "stateUpdateTime": { + "description": "Timestamp at which the connector run sync state was last updated.", + "format": "google-datetime", + "type": "string" + }, + "trigger": { + "description": "Output only. The trigger for this ConnectorRun.", + "enum": [ + "TRIGGER_UNSPECIFIED", + "SCHEDULER", + "INITIALIZATION", + "RESUME", + "MANUAL" + ], + "enumDescriptions": [ + "Default value.", + "ConnectorRun triggered by scheduler if connector has PERIODIC sync mode.", + "ConnectorRun auto triggered by connector initialization.", + "ConnectorRun auto triggered by resuming connector.", + "ConnectorRun triggered by user manually." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaConnectorRunEntityRun": { + "description": "Represents an entity that was synced in this ConnectorRun.", + "id": "GoogleCloudDiscoveryengineV1alphaConnectorRunEntityRun", + "properties": { + "entityName": { + "description": "The name of the source entity.", + "type": "string" + }, + "errorRecordCount": { + "description": "The total number of documents failed at sync at any stage (extraction, indexing, etc).", + "format": "int64", + "type": "string" + }, + "errors": { + "description": "The errors from the entity's sync run. Only exist if running into an error state. Contains error code and error message.", + "items": { + "$ref": "GoogleRpcStatus" + }, + "type": "array" + }, + "extractedRecordCount": { + "description": "The number of documents extracted from connector source, ready to be ingested to UCS.", + "format": "int64", + "type": "string" + }, + "indexedRecordCount": { + "description": "The number of documents indexed.", + "format": "int64", + "type": "string" + }, + "sourceApiRequestCount": { + "description": "The number of requests sent to 3p API.", + "format": "int64", + "type": "string" + }, + "state": { + "description": "The state of the entity's sync run.", + "enum": [ + "STATE_UNSPECIFIED", + "RUNNING", + "SUCCEEDED", + "FAILED", + "OVERRUN", + "CANCELLED", + "PENDING", + "WARNING" + ], + "enumDescriptions": [ + "Default value.", + "The data sync is ongoing.", + "The data sync is finished.", + "The data sync is failed.", + "Data sync has been running longer than expected and is still running at the time the next run is supposed to start.", + "Data sync was scheduled but has been cancelled.", + "Data sync is about to start.", + "The data sync completed with non-fatal errors." + ], + "type": "string" + }, + "stateUpdateTime": { + "description": "Timestamp at which the entity sync state was last updated.", + "format": "google-datetime", + "type": "string" + }, + "statsUpdateTime": { + "description": "The timestamp for either extracted_documents_count, indexed_documents_count and error_documents_count was last updated.", + "format": "google-datetime", + "type": "string" + }, + "syncType": { + "description": "Sync type of this run.", + "enum": [ + "SYNC_TYPE_UNSPECIFIED", + "FULL", + "INCREMENTAL" + ], + "enumDescriptions": [ + "Sync type unspecified.", + "Sync triggers full sync of all documents.", + "Incremental sync of updated documents." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaControl": { "description": "Defines a conditioned behavior to employ during serving. Must be attached to a ServingConfig to be considered at serving time. Permitted actions dependent on `SolutionType`.", "id": "GoogleCloudDiscoveryengineV1alphaControl", @@ -12351,6 +14429,10 @@ "description": "Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*`", "type": "string" }, + "promoteAction": { + "$ref": "GoogleCloudDiscoveryengineV1alphaControlPromoteAction", + "description": "Promote certain links based on predefined trigger queries. This now only supports basic site search." + }, "redirectAction": { "$ref": "GoogleCloudDiscoveryengineV1alphaControlRedirectAction", "description": "Defines a redirect-type control." @@ -12402,7 +14484,8 @@ "id": "GoogleCloudDiscoveryengineV1alphaControlBoostAction", "properties": { "boost": { - "description": "Required. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", + "deprecated": true, + "description": "Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", "format": "float", "type": "number" }, @@ -12413,6 +14496,11 @@ "filter": { "description": "Required. Specifies which products to apply the boost to. If no filter is provided all products will be boosted (No-op). Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", "type": "string" + }, + "fixedBoost": { + "description": "Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", + "format": "float", + "type": "number" } }, "type": "object" @@ -12432,6 +14520,21 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaControlPromoteAction": { + "description": "Promote certain links based on some trigger queries. Example: Promote shoe store link when searching for `shoe` keyword. The link can be outside of associated data store.", + "id": "GoogleCloudDiscoveryengineV1alphaControlPromoteAction", + "properties": { + "dataStore": { + "description": "Required. Data store with which this promotion is attached to.", + "type": "string" + }, + "searchLinkPromotion": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSearchLinkPromotion", + "description": "Required. Promotion attached to this action." + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaControlRedirectAction": { "description": "Redirects a shopper to the provided URI.", "id": "GoogleCloudDiscoveryengineV1alphaControlRedirectAction", @@ -12457,6 +14560,17 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries": { + "description": "The historical crawl rate timeseries data, used for monitoring.", + "id": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", + "properties": { + "qpsTimeSeries": { + "$ref": "GoogleMonitoringV3TimeSeries", + "description": "The QPS of the crawl rate." + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaCreateDataStoreMetadata": { "description": "Metadata related to the progress of the DataStoreService.CreateDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1alphaCreateDataStoreMetadata", @@ -12514,6 +14628,23 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaCreateSitemapMetadata": { + "description": "Metadata related to the progress of the SiteSearchEngineService.CreateSitemap operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaCreateSitemapMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaCreateTargetSiteMetadata": { "description": "Metadata related to the progress of the SiteSearchEngineService.CreateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1alphaCreateTargetSiteMetadata", @@ -12542,73 +14673,204 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaCustomTuningModel": { - "description": "Metadata that describes a custom tuned model.", - "id": "GoogleCloudDiscoveryengineV1alphaCustomTuningModel", + "GoogleCloudDiscoveryengineV1alphaDataConnector": { + "description": "Manages the connection to external data sources for all data stores grouped under a Collection. It's a singleton resource of Collection. The initialization is only supported through DataConnectorService.SetUpDataConnector method, which will create a new Collection and initialize its DataConnector.", + "id": "GoogleCloudDiscoveryengineV1alphaDataConnector", "properties": { + "actionConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaActionConfig", + "description": "Optional. Action configurations to make the connector support actions." + }, + "autoRunDisabled": { + "description": "Indicates whether the connector is disabled for auto run. It can be used to pause periodical and real time sync.", + "type": "boolean" + }, + "blockingReasons": { + "description": "Output only. User actions that must be completed before the connector can start syncing data.", + "items": { + "enum": [ + "BLOCKING_REASON_UNSPECIFIED", + "ALLOWLIST_STATIC_IP", + "ALLOWLIST_IN_SERVICE_ATTACHMENT" + ], + "enumDescriptions": [ + "Default value.", + "Connector requires customer to allowlist static IPs.", + "Connector requires customer to allowlist our project in their service attachment." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + }, "createTime": { + "description": "Output only. Timestamp the DataConnector was created at.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dataSource": { + "description": "Required. The name of the data source. Supported values: `salesforce`, `jira`, `confluence`, `bigquery`.", + "type": "string" + }, + "destinationConfigs": { + "description": "Optional. Any target destinations used to connect to third-party services.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDestinationConfig" + }, + "type": "array" + }, + "entities": { + "description": "List of entities from the connected data source to ingest.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDataConnectorSourceEntity" + }, + "type": "array" + }, + "errors": { + "description": "Output only. The errors from initialization or from the latest connector run.", + "items": { + "$ref": "GoogleRpcStatus" + }, + "readOnly": true, + "type": "array" + }, + "identityRefreshInterval": { "deprecated": true, - "description": "Timestamp the Model was created at.", + "description": "The refresh interval to sync the Access Control List information for the documents ingested by this connector. If not set, the access control list will be refreshed at the default interval of 30 minutes. The identity refresh interval can be at least 30 minutes and at most 7 days.", + "format": "google-duration", + "type": "string" + }, + "identityScheduleConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaIdentityScheduleConfig", + "description": "The configuration for the identity data synchronization runs. This contains the refresh interval to sync the Access Control List information for the documents ingested by this connector." + }, + "kmsKeyName": { + "description": "Input only. The KMS key to be used to protect the DataStores managed by this connector. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStores created by this connector will be protected by the KMS key.", + "type": "string" + }, + "lastSyncTime": { + "description": "Output only. For periodic connectors only, the last time a data sync was completed.", "format": "google-datetime", + "readOnly": true, "type": "string" }, - "displayName": { - "description": "The display name of the model.", + "latestPauseTime": { + "description": "Output only. The most recent timestamp when this DataConnector was paused, affecting all functionalities such as data synchronization. Pausing a connector has the following effects: - All functionalities, including data synchronization, are halted. - Any ongoing data synchronization job will be canceled. - No future data synchronization runs will be scheduled nor can be triggered.", + "format": "google-datetime", + "readOnly": true, "type": "string" }, - "errorMessage": { - "description": "Currently this is only populated if the model state is `INPUT_VALIDATION_FAILED`.", + "name": { + "description": "Output only. The full resource name of the Data Connector. Format: `projects/*/locations/*/collections/*/dataConnector`.", + "readOnly": true, "type": "string" }, - "metrics": { + "nextSyncTime": { + "$ref": "GoogleTypeDateTime", + "description": "The UTC time when the next data sync is expected to start for the Data Connector. Customers are only able to specify the hour and minute to schedule the data sync. This is utilized when the data connector has a refresh interval greater than 1 day." + }, + "params": { "additionalProperties": { - "format": "double", - "type": "number" + "description": "Properties of the object.", + "type": "any" }, - "description": "The metrics of the trained model.", + "description": "Required. Params needed to access the source in the format of (Key, Value) pairs. Required parameters for all data sources: * Key: `instance_uri` * Value: type STRING. The uri to access the data source. Required parameters for sources that support OAUTH, i.e. `salesforce`: * Key: `client_id` * Value: type STRING. The client id for the third party service provider to identify your application. * Key: `client_secret` * Value:type STRING. The client secret generated by the third party authorization server. * Key: `access_token` * Value: type STRING. OAuth token for UCS to access to the protected resource. * Key: `refresh_token` * Value: type STRING. OAuth refresh token for UCS to obtain a new access token without user interaction. Required parameters for sources that support basic API token auth, i.e. `jira`, `confluence`: * Key: `user_account` * Value: type STRING. The username or email with the source. * Key: `api_token` * Value: type STRING. The API token generated for the source account, that is used for authenticating anywhere where you would have used a password. Example: ```json { \"instance_uri\": \"https://xxx.atlassian.net\", \"user_account\": \"xxxx.xxx@xxx.com\", \"api_token\": \"test-token\" } ``` Optional parameter to specify the authorization type to use for multiple authorization types support: * Key: `auth_type` * Value: type STRING. The authorization type for the data source. Supported values: `BASIC_AUTH`, `OAUTH`, `OAUTH_ACCESS_TOKEN`, `OAUTH_TWO_LEGGED`, `OAUTH_JWT_BEARER`, `OAUTH_PASSWORD_GRANT`, `JWT`, `API_TOKEN`, `FEDERATED_CREDENTIAL`.", "type": "object" }, - "modelState": { - "description": "The state that the model is in (e.g.`TRAINING` or `TRAINING_FAILED`).", + "privateConnectivityProjectId": { + "description": "Output only. The tenant project ID associated with private connectivity connectors. This project must be allowlisted by in order for the connector to function.", + "readOnly": true, + "type": "string" + }, + "refreshInterval": { + "description": "Required. The refresh interval for data sync. If duration is set to 0, the data will be synced in real time. The streaming feature is not supported yet. The minimum is 30 minutes and maximum is 7 days.", + "format": "google-duration", + "type": "string" + }, + "state": { + "description": "Output only. State of the connector.", "enum": [ - "MODEL_STATE_UNSPECIFIED", - "TRAINING_PAUSED", - "TRAINING", - "TRAINING_COMPLETE", - "READY_FOR_SERVING", - "TRAINING_FAILED", - "NO_IMPROVEMENT", - "INPUT_VALIDATION_FAILED" + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "FAILED", + "RUNNING", + "WARNING" ], "enumDescriptions": [ "Default value.", - "The model is in a paused training state.", - "The model is currently training.", - "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.", - "Input data validation failed. Model training didn't start." + "The connector is being set up.", + "The connector is successfully set up and awaiting next sync run.", + "The connector is in error. The error details can be found in DataConnector.errors. If the error is unfixable, the DataConnector can be deleted by [CollectionService.DeleteCollection] API.", + "The connector is actively syncing records from the data source.", + "The connector has completed a sync run, but encountered non-fatal errors." ], + "readOnly": true, "type": "string" }, - "modelVersion": { - "description": "The version of the model.", - "format": "int64", - "type": "string" + "staticIpAddresses": { + "description": "Output only. The static IP addresses used by this connector.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" }, - "name": { - "description": "Required. The fully qualified resource name of the model. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/customTuningModels/{custom_tuning_model}`. Model must be an alpha-numerical string with limit of 40 characters.", + "staticIpEnabled": { + "description": "Optional. Whether customer has enabled static IP addresses for this connector.", + "type": "boolean" + }, + "syncMode": { + "description": "The data synchronization mode supported by the data connector.", + "enum": [ + "PERIODIC" + ], + "enumDescriptions": [ + "The connector will sync data periodically based on the refresh_interval. Use it with auto_run_disabled to pause the periodic sync, or indicate a one-time sync." + ], "type": "string" }, - "trainingStartTime": { - "description": "Timestamp the model training was initiated.", + "updateTime": { + "description": "Output only. Timestamp the DataConnector was last updated.", "format": "google-datetime", + "readOnly": true, "type": "string" } }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaDataConnectorSourceEntity": { + "description": "Represents an entity in the data source. For example, the `Account` object in Salesforce.", + "id": "GoogleCloudDiscoveryengineV1alphaDataConnectorSourceEntity", + "properties": { + "dataStore": { + "description": "Output only. The full resource name of the associated data store for the source entity. Format: `projects/*/locations/*/collections/*/dataStores/*`. When the connector is initialized by the DataConnectorService.SetUpDataConnector method, a DataStore is automatically created for each source entity.", + "readOnly": true, + "type": "string" + }, + "entityName": { + "description": "The name of the entity. Supported values by data source: * Salesforce: `Lead`, `Opportunity`, `Contact`, `Account`, `Case`, `Contract`, `Campaign` * Jira: `Issue` * Confluence: `Content`, `Space`", + "type": "string" + }, + "keyPropertyMappings": { + "additionalProperties": { + "type": "string" + }, + "description": "Attributes for indexing. Key: Field name. Value: The key property to map a field to, such as `title`, and `description`. Supported key properties: * `title`: The title for data record. This would be displayed on search results. * `description`: The description for data record. This would be displayed on search results.", + "type": "object" + }, + "params": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The parameters for the entity to facilitate data ingestion. E.g. for BQ connectors: * Key: `document_id_column` * Value: type STRING. The value of the column id.", + "type": "object" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaDataStore": { "description": "DataStore captures global settings and configs at the DataStore level.", "id": "GoogleCloudDiscoveryengineV1alphaDataStore", @@ -12617,11 +14879,20 @@ "description": "Immutable. Whether data in the DataStore has ACL information. If set to `true`, the source data must have ACL. ACL will be ingested when data is ingested by DocumentService.ImportDocuments methods. When ACL is enabled for the DataStore, Document can't be accessed by calling DocumentService.GetDocument or DocumentService.ListDocuments. Currently ACL is only supported in `GENERIC` industry vertical with non-`PUBLIC_WEBSITE` content config.", "type": "boolean" }, + "advancedSiteSearchConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedSiteSearchConfig", + "description": "Optional. Configuration for advanced site search." + }, "billingEstimation": { "$ref": "GoogleCloudDiscoveryengineV1alphaDataStoreBillingEstimation", "description": "Output only. Data size estimation for billing.", "readOnly": true }, + "cmekConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCmekConfig", + "description": "Output only. CMEK-related information for the DataStore.", + "readOnly": true + }, "contentConfig": { "description": "Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.", "enum": [ @@ -12680,6 +14951,14 @@ ], "type": "string" }, + "isInfobotFaqDataStore": { + "description": "Optional. If set, this DataStore is an Infobot FAQ DataStore.", + "type": "boolean" + }, + "kmsKeyName": { + "description": "Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field.", + "type": "string" + }, "languageInfo": { "$ref": "GoogleCloudDiscoveryengineV1alphaLanguageInfo", "description": "Language info for DataStore." @@ -12693,7 +14972,7 @@ "description": "Optional. Configuration for Natural Language Query Understanding." }, "servingConfigDataStore": { - "$ref": "GoogleCloudDiscoveryengineV1alphaServingConfigDataStore", + "$ref": "GoogleCloudDiscoveryengineV1alphaDataStoreServingConfigDataStore", "description": "Optional. Stores serving config at DataStore level." }, "solutionTypes": { @@ -12765,6 +15044,49 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaDataStoreServingConfigDataStore": { + "description": "Stores information regarding the serving configurations at DataStore level.", + "id": "GoogleCloudDiscoveryengineV1alphaDataStoreServingConfigDataStore", + "properties": { + "disabledForServing": { + "description": "If set true, the DataStore will not be available for serving search requests.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaDedicatedCrawlRateTimeSeries": { + "description": "The historical dedicated crawl rate timeseries data, used for monitoring. Dedicated crawl is used by Vertex AI to crawl the user's website when dedicate crawl is set.", + "id": "GoogleCloudDiscoveryengineV1alphaDedicatedCrawlRateTimeSeries", + "properties": { + "autoRefreshCrawlRate": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", + "description": "Vertex AI's dedicated crawl rate time series of auto-refresh, which is the crawl rate of Google-CloudVertexBot when dedicate crawl is set, and the crawl rate is for best effort use cases like refreshing urls periodically." + }, + "userTriggeredCrawlRate": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", + "description": "Vertex AI's dedicated crawl rate time series of user triggered crawl, which is the crawl rate of Google-CloudVertexBot when dedicate crawl is set, and user triggered crawl rate is for deterministic use cases like crawling urls or sitemaps specified by users." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaDeleteCollectionMetadata": { + "description": "Metadata related to the progress of the CollectionService.UpdateCollection operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaDeleteCollectionMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaDeleteDataStoreMetadata": { "description": "Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1alphaDeleteDataStoreMetadata", @@ -12799,6 +15121,23 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaDeleteIdentityMappingStoreMetadata": { + "description": "Metadata related to the progress of the IdentityMappingStoreService.DeleteIdentityMappingStore operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaDeleteIdentityMappingStoreMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaDeleteSchemaMetadata": { "description": "Metadata for DeleteSchema LRO.", "id": "GoogleCloudDiscoveryengineV1alphaDeleteSchemaMetadata", @@ -12816,6 +15155,34 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaDeleteSessionRequest": { + "description": "Request for DeleteSession method.", + "id": "GoogleCloudDiscoveryengineV1alphaDeleteSessionRequest", + "properties": { + "name": { + "description": "Required. The resource name of the Session to delete. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaDeleteSitemapMetadata": { + "description": "Metadata related to the progress of the SiteSearchEngineService.DeleteSitemap operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaDeleteSitemapMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaDeleteTargetSiteMetadata": { "description": "Metadata related to the progress of the SiteSearchEngineService.DeleteTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1alphaDeleteTargetSiteMetadata", @@ -12833,6 +15200,48 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaDestinationConfig": { + "description": "Defines target endpoints used to connect to third-party sources.", + "id": "GoogleCloudDiscoveryengineV1alphaDestinationConfig", + "properties": { + "destinations": { + "description": "Optional. The destinations for the corresponding key.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination" + }, + "type": "array" + }, + "key": { + "description": "Optional. Unique destination identifier that is supported by the connector.", + "type": "string" + }, + "params": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Additional parameters for this destination config.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination": { + "description": "Defines a target endpoint", + "id": "GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination", + "properties": { + "host": { + "description": "Publicly routable host.", + "type": "string" + }, + "port": { + "description": "Optional. Target port number accepted by the destination.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchMetadata": { "description": "Metadata related to the progress of the SiteSearchEngineService.DisableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchMetadata", @@ -12857,7 +15266,7 @@ "type": "object" }, "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig": { - "description": "A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config.", + "description": "A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser.", "id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig", "properties": { "chunkingConfig": { @@ -13021,7 +15430,7 @@ "type": "string" }, "industryVertical": { - "description": "The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to `GENERIC`. Vertical on Engine has to match vertical of the DataStore linked to the engine.", + "description": "The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.", "enum": [ "INDUSTRY_VERTICAL_UNSPECIFIED", "GENERIC", @@ -13404,6 +15813,31 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponse": { + "description": "Response message for SiteSearchEngineService.FetchSitemaps method.", + "id": "GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponse", + "properties": { + "sitemapsMetadata": { + "description": "List of Sitemaps fetched.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponseSitemapMetadata" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponseSitemapMetadata": { + "description": "Contains a Sitemap and its metadata.", + "id": "GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponseSitemapMetadata", + "properties": { + "sitemap": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSitemap", + "description": "The Sitemap." + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaFieldConfig": { "description": "Configurations for fields of a schema. For example, configuring a field is indexable, or searchable.", "id": "GoogleCloudDiscoveryengineV1alphaFieldConfig", @@ -13561,6 +15995,21 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaGetSessionRequest": { + "description": "Request for GetSession method.", + "id": "GoogleCloudDiscoveryengineV1alphaGetSessionRequest", + "properties": { + "includeAnswerDetails": { + "description": "Optional. If set to true, the full session including all answer details will be returned.", + "type": "boolean" + }, + "name": { + "description": "Required. The resource name of the Session to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaGetUriPatternDocumentDataResponse": { "description": "Response message for SiteSearchEngineService.GetUriPatternDocumentData method.", "id": "GoogleCloudDiscoveryengineV1alphaGetUriPatternDocumentDataResponse", @@ -13579,6 +16028,22 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaIdentityScheduleConfig": { + "description": "The configuration for the identity data synchronization runs.", + "id": "GoogleCloudDiscoveryengineV1alphaIdentityScheduleConfig", + "properties": { + "nextSyncTime": { + "$ref": "GoogleTypeDateTime", + "description": "Optional. The UTC time when the next data sync is expected to start for the Data Connector. Customers are only able to specify the hour and minute to schedule the data sync. This is utilized when the data connector has a refresh interval greater than 1 day." + }, + "refreshInterval": { + "description": "Optional. The refresh interval to sync the Access Control List information for the documents ingested by this connector. If not set, the access control list will be refreshed at the default interval of 30 minutes. The identity refresh interval can be at least 30 minutes and at most 7 days.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaIdpConfig": { "description": "Identity Provider Config.", "id": "GoogleCloudDiscoveryengineV1alphaIdpConfig", @@ -13920,14 +16385,46 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaListCustomModelsResponse": { - "description": "Response message for SearchTuningService.ListCustomModels method.", - "id": "GoogleCloudDiscoveryengineV1alphaListCustomModelsResponse", + "GoogleCloudDiscoveryengineV1alphaListSessionsRequest": { + "description": "Request for ListSessions method.", + "id": "GoogleCloudDiscoveryengineV1alphaListSessionsRequest", "properties": { - "models": { - "description": "List of custom tuning models.", + "filter": { + "description": "A filter to apply on the list results. The supported features are: user_pseudo_id, state. Example: \"user_pseudo_id = some_id\"", + "type": "string" + }, + "orderBy": { + "description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * \"update_time desc\" * \"create_time\" * \"is_pinned desc,update_time desc\": list sessions by is_pinned first, then by update_time.", + "type": "string" + }, + "pageSize": { + "description": "Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", + "format": "int32", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListSessions` call. Provide this to retrieve the subsequent page.", + "type": "string" + }, + "parent": { + "description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaListSessionsResponse": { + "description": "Response for ListSessions method.", + "id": "GoogleCloudDiscoveryengineV1alphaListSessionsResponse", + "properties": { + "nextPageToken": { + "description": "Pagination token, if not returned indicates the last page.", + "type": "string" + }, + "sessions": { + "description": "All the Sessions for a given data store.", "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaCustomTuningModel" + "$ref": "GoogleCloudDiscoveryengineV1alphaSession" }, "type": "array" } @@ -13955,6 +16452,55 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaObtainCrawlRateResponse": { + "description": "Response message for CrawlRateManagementService.ObtainCrawlRate method. The response contains organcic or dedicated crawl rate time series data for monitoring, depending on whether dedicated crawl rate is set.", + "id": "GoogleCloudDiscoveryengineV1alphaObtainCrawlRateResponse", + "properties": { + "dedicatedCrawlRateTimeSeries": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDedicatedCrawlRateTimeSeries", + "description": "The historical dedicated crawl rate timeseries data, used for monitoring." + }, + "error": { + "$ref": "GoogleRpcStatus", + "description": "Errors from service when handling the request." + }, + "organicCrawlRateTimeSeries": { + "$ref": "GoogleCloudDiscoveryengineV1alphaOrganicCrawlRateTimeSeries", + "description": "The historical organic crawl rate timeseries data, used for monitoring." + }, + "state": { + "description": "Output only. The state of the response.", + "enum": [ + "STATE_UNSPECIFIED", + "SUCCEEDED", + "FAILED" + ], + "enumDescriptions": [ + "The state is unspecified.", + "The state is successful.", + "The state is failed." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaOrganicCrawlRateTimeSeries": { + "description": "The historical organic crawl rate timeseries data, used for monitoring. Organic crawl is auto-determined by Google to crawl the user's website when dedicate crawl is not set. Crawl rate is the QPS of crawl request Google sends to the user's website.", + "id": "GoogleCloudDiscoveryengineV1alphaOrganicCrawlRateTimeSeries", + "properties": { + "googleOrganicCrawlRate": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", + "description": "Google's organic crawl rate time series, which is the sum of all googlebots' crawl rate. Please refer to https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers for more details about googlebots." + }, + "vertexAiOrganicCrawlRate": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", + "description": "Vertex AI's organic crawl rate time series, which is the crawl rate of Google-CloudVertexBot when dedicate crawl is not set. Please refer to https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers#google-cloudvertexbot for more details about Google-CloudVertexBot." + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaProject": { "description": "Metadata and configurations for a Google Cloud project in the service.", "id": "GoogleCloudDiscoveryengineV1alphaProject", @@ -14274,12 +16820,17 @@ "type": "string" }, "invalidUris": { - "description": "Unique URIs in the request that don't match any TargetSite in the DataStore, only match TargetSites that haven't been fully indexed, or match a TargetSite with type EXCLUDE.", + "description": "Unique URIs in the request that have invalid format. Sample limited to 1000.", "items": { "type": "string" }, "type": "array" }, + "invalidUrisCount": { + "description": "Total number of unique URIs in the request that have invalid format.", + "format": "int32", + "type": "integer" + }, "pendingCount": { "description": "Total number of URIs that have yet to be crawled.", "format": "int32", @@ -14300,6 +16851,18 @@ "format": "google-datetime", "type": "string" }, + "urisNotMatchingTargetSites": { + "description": "Unique URIs in the request that don't match any TargetSite in the DataStore, only match TargetSites that haven't been fully indexed, or match a TargetSite with type EXCLUDE. Sample limited to 1000.", + "items": { + "type": "string" + }, + "type": "array" + }, + "urisNotMatchingTargetSitesCount": { + "description": "Total number of URIs that don't match any TargetSites.", + "format": "int32", + "type": "integer" + }, "validUrisCount": { "description": "Total number of unique URIs in the request that are not in invalid_uris.", "format": "int32", @@ -14372,6 +16935,132 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateMetadata": { + "description": "Metadata related to the progress of the CrawlRateManagementService.RemoveDedicatedCrawlRate operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateResponse": { + "description": "Response message for CrawlRateManagementService.RemoveDedicatedCrawlRate method. It simply returns the state of the response, and an error message if the state is FAILED.", + "id": "GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateResponse", + "properties": { + "error": { + "$ref": "GoogleRpcStatus", + "description": "Errors from service when handling the request." + }, + "state": { + "description": "Output only. The state of the response.", + "enum": [ + "STATE_UNSPECIFIED", + "SUCCEEDED", + "FAILED" + ], + "enumDescriptions": [ + "The state is unspecified.", + "The state is successful.", + "The state is failed." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaSafetyRating": { + "description": "Safety rating corresponding to the generated content.", + "id": "GoogleCloudDiscoveryengineV1alphaSafetyRating", + "properties": { + "blocked": { + "description": "Output only. Indicates whether the content was filtered out because of this rating.", + "readOnly": true, + "type": "boolean" + }, + "category": { + "description": "Output only. Harm category.", + "enum": [ + "HARM_CATEGORY_UNSPECIFIED", + "HARM_CATEGORY_HATE_SPEECH", + "HARM_CATEGORY_DANGEROUS_CONTENT", + "HARM_CATEGORY_HARASSMENT", + "HARM_CATEGORY_SEXUALLY_EXPLICIT", + "HARM_CATEGORY_CIVIC_INTEGRITY" + ], + "enumDescriptions": [ + "The harm category is unspecified.", + "The harm category is hate speech.", + "The harm category is dangerous content.", + "The harm category is harassment.", + "The harm category is sexually explicit content.", + "The harm category is civic integrity." + ], + "readOnly": true, + "type": "string" + }, + "probability": { + "description": "Output only. Harm probability levels in the content.", + "enum": [ + "HARM_PROBABILITY_UNSPECIFIED", + "NEGLIGIBLE", + "LOW", + "MEDIUM", + "HIGH" + ], + "enumDescriptions": [ + "Harm probability unspecified.", + "Negligible level of harm.", + "Low level of harm.", + "Medium level of harm.", + "High level of harm." + ], + "readOnly": true, + "type": "string" + }, + "probabilityScore": { + "description": "Output only. Harm probability score.", + "format": "float", + "readOnly": true, + "type": "number" + }, + "severity": { + "description": "Output only. Harm severity levels in the content.", + "enum": [ + "HARM_SEVERITY_UNSPECIFIED", + "HARM_SEVERITY_NEGLIGIBLE", + "HARM_SEVERITY_LOW", + "HARM_SEVERITY_MEDIUM", + "HARM_SEVERITY_HIGH" + ], + "enumDescriptions": [ + "Harm severity unspecified.", + "Negligible level of harm severity.", + "Low level of harm severity.", + "Medium level of harm severity.", + "High level of harm severity." + ], + "readOnly": true, + "type": "string" + }, + "severityScore": { + "description": "Output only. Harm severity score.", + "format": "float", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaSchema": { "description": "Defines the structure and layout of a type of document data.", "id": "GoogleCloudDiscoveryengineV1alphaSchema", @@ -14384,21 +17073,48 @@ "readOnly": true, "type": "array" }, - "jsonSchema": { - "description": "The JSON representation of the schema.", + "jsonSchema": { + "description": "The JSON representation of the schema.", + "type": "string" + }, + "name": { + "description": "Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", + "type": "string" + }, + "structSchema": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The structured representation of the schema.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaSearchLinkPromotion": { + "description": "Promotion proto includes uri and other helping information to display the promotion.", + "id": "GoogleCloudDiscoveryengineV1alphaSearchLinkPromotion", + "properties": { + "description": { + "description": "Optional. The Promotion description. Maximum length: 200 characters.", + "type": "string" + }, + "enabled": { + "description": "Optional. The enabled promotion will be returned for any serving configs associated with the parent of the control this promotion is attached to. This flag is used for basic site search only.", + "type": "boolean" + }, + "imageUri": { + "description": "Optional. The promotion thumbnail image url.", "type": "string" }, - "name": { - "description": "Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", + "title": { + "description": "Required. The title of the promotion. Maximum length: 160 characters.", "type": "string" }, - "structSchema": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "The structured representation of the schema.", - "type": "object" + "uri": { + "description": "Required. The URL for the page the user wants to promote.", + "type": "string" } }, "type": "object" @@ -14428,7 +17144,7 @@ "description": "Custom fine tuning configs. If set, it has higher priority than the configs set in ServingConfig.custom_fine_tuning_spec." }, "dataStoreSpecs": { - "description": "Specs defining dataStores to filter on in a search call and configurations for those dataStores. This is only considered for engines with multiple dataStores use case. For single dataStore within an engine, they should use the specs at the top level.", + "description": "Specs defining DataStores to filter on in a search call and configurations for those data stores. This is only considered for Engines with multiple data stores. For engines with a single data store, the specs directly under SearchRequest should be used.", "items": { "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec" }, @@ -14466,6 +17182,11 @@ "format": "int32", "type": "integer" }, + "oneBoxPageSize": { + "description": "The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default number is 10.", + "format": "int32", + "type": "integer" + }, "orderBy": { "description": "The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering the website search results, see [Order web search results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results). For more information on ordering the healthcare search results, see [Order healthcare search results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results). If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.", "type": "string" @@ -14682,7 +17403,7 @@ "enumDescriptions": [ "Default value.", "Returns documents in the search result.", - "Returns chunks in the search result. Only available if the DataStore.DocumentProcessingConfig.chunking_config is specified." + "Returns chunks in the search result. Only available if the DocumentProcessingConfig.chunking_config is specified." ], "type": "string" }, @@ -14841,6 +17562,10 @@ "description": "A struct to define data stores to filter on in a search call and configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error is returned.", "id": "GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec", "properties": { + "boostSpec": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec", + "description": "Optional. Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results)" + }, "dataStore": { "description": "Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`.", "type": "string" @@ -14975,14 +17700,14 @@ "id": "GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec", "properties": { "filterExtractionCondition": { - "description": "The condition under which filter extraction should occur. Default to Condition.DISABLED.", + "description": "The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`.", "enum": [ "CONDITION_UNSPECIFIED", "DISABLED", "ENABLED" ], "enumDescriptions": [ - "Server behavior defaults to Condition.DISABLED.", + "Server behavior defaults to `DISABLED`.", "Disables NL filter extraction.", "Enables NL filter extraction." ], @@ -15102,27 +17827,24 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaServingConfigDataStore": { - "description": "Stores information regarding the serving configurations at DataStore level.", - "id": "GoogleCloudDiscoveryengineV1alphaServingConfigDataStore", - "properties": { - "disabledForServing": { - "description": "If set true, the DataStore will not be available for serving search requests.", - "type": "boolean" - } - }, - "type": "object" - }, "GoogleCloudDiscoveryengineV1alphaSession": { "description": "External session proto definition.", "id": "GoogleCloudDiscoveryengineV1alphaSession", "properties": { + "displayName": { + "description": "Optional. The display name of the session. This field is used to identify the session in the UI. By default, the display name is the first turn query text in the session.", + "type": "string" + }, "endTime": { "description": "Output only. The time the session finished.", "format": "google-datetime", "readOnly": true, "type": "string" }, + "isPinned": { + "description": "Optional. Whether the session is pinned, pinned session will be displayed on the top of the session list.", + "type": "boolean" + }, "name": { "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", "type": "string" @@ -15167,6 +17889,11 @@ "description": "The resource name of the answer to the user query. Only set if the answer generation (/answer API call) happened in this turn.", "type": "string" }, + "detailedAnswer": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswer", + "description": "Output only. In ConversationalSearchService.GetSession API, if GetSessionRequest.include_answer_details is set to true, this field will be populated when getting answer query session.", + "readOnly": true + }, "query": { "$ref": "GoogleCloudDiscoveryengineV1alphaQuery", "description": "The user query." @@ -15174,6 +17901,55 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateMetadata": { + "description": "Metadata related to the progress of the CrawlRateManagementService.SetDedicatedCrawlRate operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateResponse": { + "description": "Response message for CrawlRateManagementService.SetDedicatedCrawlRate method. It simply returns the state of the response, and an error message if the state is FAILED.", + "id": "GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateResponse", + "properties": { + "error": { + "$ref": "GoogleRpcStatus", + "description": "Errors from service when handling the request." + }, + "state": { + "description": "Output only. The state of the response.", + "enum": [ + "STATE_UNSPECIFIED", + "SUCCEEDED", + "FAILED" + ], + "enumDescriptions": [ + "The state is unspecified.", + "The state is successful.", + "The state is failed." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaSetUpDataConnectorMetadata": { + "description": "Metadata for DataConnectorService.SetUpDataConnector method.", + "id": "GoogleCloudDiscoveryengineV1alphaSetUpDataConnectorMetadata", + "properties": {}, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaSetUriPatternDocumentDataMetadata": { "description": "Metadata related to the progress of the SiteSearchEngineService.SetUriPatternDocumentData operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1alphaSetUriPatternDocumentDataMetadata", @@ -15197,6 +17973,17 @@ "properties": {}, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaSingleRegionKey": { + "description": "Metadata for single-regional CMEKs.", + "id": "GoogleCloudDiscoveryengineV1alphaSingleRegionKey", + "properties": { + "kmsKey": { + "description": "Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaSiteVerificationInfo": { "description": "Verification information for target sites in advanced site search.", "id": "GoogleCloudDiscoveryengineV1alphaSiteVerificationInfo", @@ -15225,12 +18012,34 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaSitemap": { + "description": "A sitemap for the SiteSearchEngine.", + "id": "GoogleCloudDiscoveryengineV1alphaSitemap", + "properties": { + "createTime": { + "description": "Output only. The sitemap's creation time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The fully qualified resource name of the sitemap. `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/sitemaps/*` The `sitemap_id` suffix is system-generated.", + "readOnly": true, + "type": "string" + }, + "uri": { + "description": "Public URI for the sitemap, e.g. `www.example.com/sitemap.xml`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaTargetSite": { "description": "A target site for the SiteSearchEngine.", "id": "GoogleCloudDiscoveryengineV1alphaTargetSite", "properties": { "exactMatch": { - "description": "Input only. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine.", + "description": "Immutable. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine.", "type": "boolean" }, "failureReason": { @@ -15395,6 +18204,40 @@ "properties": {}, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaUpdateCmekConfigMetadata": { + "description": "Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaUpdateCmekConfigMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaUpdateCollectionMetadata": { + "description": "Metadata related to the progress of the CollectionService.UpdateCollection operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaUpdateCollectionMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaUpdateSchemaMetadata": { "description": "Metadata for UpdateSchema LRO.", "id": "GoogleCloudDiscoveryengineV1alphaUpdateSchemaMetadata", @@ -15412,6 +18255,22 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaUpdateSessionRequest": { + "description": "Request for UpdateSession method.", + "id": "GoogleCloudDiscoveryengineV1alphaUpdateSessionRequest", + "properties": { + "session": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSession", + "description": "Required. The Session to update." + }, + "updateMask": { + "description": "Indicates which fields in the provided Session to update. The following are NOT supported: * Session.name If not set or empty, all supported fields are updated.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaUpdateTargetSiteMetadata": { "description": "Metadata related to the progress of the SiteSearchEngineService.UpdateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1alphaUpdateTargetSiteMetadata", @@ -15487,6 +18346,21 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaAdvancedSiteSearchConfig": { + "description": "Configuration data for advance site search.", + "id": "GoogleCloudDiscoveryengineV1betaAdvancedSiteSearchConfig", + "properties": { + "disableAutomaticRefresh": { + "description": "If set true, automatic refresh is disabled for the DataStore.", + "type": "boolean" + }, + "disableInitialIndex": { + "description": "If set true, initial indexing is disabled for the DataStore.", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaBatchCreateTargetSiteMetadata": { "description": "Metadata related to the progress of the SiteSearchEngineService.BatchCreateTargetSites operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1betaBatchCreateTargetSiteMetadata", @@ -15518,6 +18392,66 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaCmekConfig": { + "description": "Configurations used to enable CMEK data encryption with Cloud KMS keys.", + "id": "GoogleCloudDiscoveryengineV1betaCmekConfig", + "properties": { + "isDefault": { + "description": "Output only. The default CmekConfig for the Customer.", + "readOnly": true, + "type": "boolean" + }, + "kmsKey": { + "description": "Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", + "type": "string" + }, + "kmsKeyVersion": { + "description": "Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.", + "type": "string" + }, + "lastRotationTimestampMicros": { + "description": "Output only. The timestamp of the last key rotation.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", + "type": "string" + }, + "singleRegionKeys": { + "description": "Optional. Single-regional CMEKs that are required for some VAIS features.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1betaSingleRegionKey" + }, + "type": "array" + }, + "state": { + "description": "Output only. State of the CmekConfig.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "KEY_ISSUE", + "DELETING", + "UNUSABLE", + "ACTIVE_ROTATING" + ], + "enumDescriptions": [ + "The CmekConfig state is unknown.", + "The CmekConfig is creating.", + "The CmekConfig can be used with DataStores.", + "The CmekConfig is unavailable, most likely due to the KMS Key being revoked.", + "The CmekConfig is deleting.", + "The CmekConfig is not usable, most likely due to some internal issue.", + "The KMS key version is being rotated." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaCondition": { "description": "Defines circumstances to be checked before allowing a behavior", "id": "GoogleCloudDiscoveryengineV1betaCondition", @@ -15529,8 +18463,12 @@ }, "type": "array" }, + "queryRegex": { + "description": "Optional. Query regex to match the whole search query. Cannot be set when Condition.query_terms is set. This is currently supporting promotion use case.", + "type": "string" + }, "queryTerms": { - "description": "Search only A list of terms to match the query on. Maximum of 10 query terms.", + "description": "Search only A list of terms to match the query on. Cannot be set when Condition.query_regex is set. Maximum of 10 query terms.", "items": { "$ref": "GoogleCloudDiscoveryengineV1betaConditionQueryTerm" }, @@ -15606,6 +18544,10 @@ "description": "Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*`", "type": "string" }, + "promoteAction": { + "$ref": "GoogleCloudDiscoveryengineV1betaControlPromoteAction", + "description": "Promote certain links based on predefined trigger queries. This now only supports basic site search." + }, "redirectAction": { "$ref": "GoogleCloudDiscoveryengineV1betaControlRedirectAction", "description": "Defines a redirect-type control." @@ -15657,7 +18599,8 @@ "id": "GoogleCloudDiscoveryengineV1betaControlBoostAction", "properties": { "boost": { - "description": "Required. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", + "deprecated": true, + "description": "Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", "format": "float", "type": "number" }, @@ -15668,6 +18611,11 @@ "filter": { "description": "Required. Specifies which products to apply the boost to. If no filter is provided all products will be boosted (No-op). Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", "type": "string" + }, + "fixedBoost": { + "description": "Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", + "format": "float", + "type": "number" } }, "type": "object" @@ -15687,6 +18635,21 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaControlPromoteAction": { + "description": "Promote certain links based on some trigger queries. Example: Promote shoe store link when searching for `shoe` keyword. The link can be outside of associated data store.", + "id": "GoogleCloudDiscoveryengineV1betaControlPromoteAction", + "properties": { + "dataStore": { + "description": "Required. Data store with which this promotion is attached to.", + "type": "string" + }, + "searchLinkPromotion": { + "$ref": "GoogleCloudDiscoveryengineV1betaSearchLinkPromotion", + "description": "Required. Promotion attached to this action." + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaControlRedirectAction": { "description": "Redirects a shopper to the provided URI.", "id": "GoogleCloudDiscoveryengineV1betaControlRedirectAction", @@ -15763,90 +18726,40 @@ }, "updateTime": { "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1betaCreateTargetSiteMetadata": { - "description": "Metadata related to the progress of the SiteSearchEngineService.CreateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1betaCreateTargetSiteMetadata", - "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", - "type": "string" - }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1betaCustomTuningModel": { - "description": "Metadata that describes a custom tuned model.", - "id": "GoogleCloudDiscoveryengineV1betaCustomTuningModel", - "properties": { - "createTime": { - "deprecated": true, - "description": "Timestamp the Model was created at.", - "format": "google-datetime", - "type": "string" - }, - "displayName": { - "description": "The display name of the model.", - "type": "string" - }, - "errorMessage": { - "description": "Currently this is only populated if the model state is `INPUT_VALIDATION_FAILED`.", - "type": "string" - }, - "metrics": { - "additionalProperties": { - "format": "double", - "type": "number" - }, - "description": "The metrics of the trained model.", - "type": "object" - }, - "modelState": { - "description": "The state that the model is in (e.g.`TRAINING` or `TRAINING_FAILED`).", - "enum": [ - "MODEL_STATE_UNSPECIFIED", - "TRAINING_PAUSED", - "TRAINING", - "TRAINING_COMPLETE", - "READY_FOR_SERVING", - "TRAINING_FAILED", - "NO_IMPROVEMENT", - "INPUT_VALIDATION_FAILED" - ], - "enumDescriptions": [ - "Default value.", - "The model is in a paused training state.", - "The model is currently training.", - "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.", - "Input data validation failed. Model training didn't start." - ], + "format": "google-datetime", "type": "string" - }, - "modelVersion": { - "description": "The version of the model.", - "format": "int64", + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaCreateSitemapMetadata": { + "description": "Metadata related to the progress of the SiteSearchEngineService.CreateSitemap operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1betaCreateSitemapMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", "type": "string" }, - "name": { - "description": "Required. The fully qualified resource name of the model. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/customTuningModels/{custom_tuning_model}`. Model must be an alpha-numerical string with limit of 40 characters.", + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaCreateTargetSiteMetadata": { + "description": "Metadata related to the progress of the SiteSearchEngineService.CreateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1betaCreateTargetSiteMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", "type": "string" }, - "trainingStartTime": { - "description": "Timestamp the model training was initiated.", + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", "format": "google-datetime", "type": "string" } @@ -15857,11 +18770,20 @@ "description": "DataStore captures global settings and configs at the DataStore level.", "id": "GoogleCloudDiscoveryengineV1betaDataStore", "properties": { + "advancedSiteSearchConfig": { + "$ref": "GoogleCloudDiscoveryengineV1betaAdvancedSiteSearchConfig", + "description": "Optional. Configuration for advanced site search." + }, "billingEstimation": { "$ref": "GoogleCloudDiscoveryengineV1betaDataStoreBillingEstimation", "description": "Output only. Data size estimation for billing.", "readOnly": true }, + "cmekConfig": { + "$ref": "GoogleCloudDiscoveryengineV1betaCmekConfig", + "description": "Output only. CMEK-related information for the DataStore.", + "readOnly": true + }, "contentConfig": { "description": "Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.", "enum": [ @@ -15915,6 +18837,14 @@ ], "type": "string" }, + "isInfobotFaqDataStore": { + "description": "Optional. If set, this DataStore is an Infobot FAQ DataStore.", + "type": "boolean" + }, + "kmsKeyName": { + "description": "Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field.", + "type": "string" + }, "languageInfo": { "$ref": "GoogleCloudDiscoveryengineV1betaLanguageInfo", "description": "Language info for DataStore." @@ -15928,7 +18858,7 @@ "description": "Optional. Configuration for Natural Language Query Understanding." }, "servingConfigDataStore": { - "$ref": "GoogleCloudDiscoveryengineV1betaServingConfigDataStore", + "$ref": "GoogleCloudDiscoveryengineV1betaDataStoreServingConfigDataStore", "description": "Optional. Stores serving config at DataStore level." }, "solutionTypes": { @@ -16000,6 +18930,17 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaDataStoreServingConfigDataStore": { + "description": "Stores information regarding the serving configurations at DataStore level.", + "id": "GoogleCloudDiscoveryengineV1betaDataStoreServingConfigDataStore", + "properties": { + "disabledForServing": { + "description": "If set true, the DataStore will not be available for serving search requests.", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaDeleteDataStoreMetadata": { "description": "Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1betaDeleteDataStoreMetadata", @@ -16034,6 +18975,23 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaDeleteIdentityMappingStoreMetadata": { + "description": "Metadata related to the progress of the IdentityMappingStoreService.DeleteIdentityMappingStore operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1betaDeleteIdentityMappingStoreMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaDeleteSchemaMetadata": { "description": "Metadata for DeleteSchema LRO.", "id": "GoogleCloudDiscoveryengineV1betaDeleteSchemaMetadata", @@ -16051,6 +19009,23 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaDeleteSitemapMetadata": { + "description": "Metadata related to the progress of the SiteSearchEngineService.DeleteSitemap operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1betaDeleteSitemapMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaDeleteTargetSiteMetadata": { "description": "Metadata related to the progress of the SiteSearchEngineService.DeleteTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1betaDeleteTargetSiteMetadata", @@ -16092,7 +19067,7 @@ "type": "object" }, "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig": { - "description": "A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config.", + "description": "A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser.", "id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig", "properties": { "chunkingConfig": { @@ -16256,7 +19231,7 @@ "type": "string" }, "industryVertical": { - "description": "The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to `GENERIC`. Vertical on Engine has to match vertical of the DataStore linked to the engine.", + "description": "The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.", "enum": [ "INDUSTRY_VERTICAL_UNSPECIFIED", "GENERIC", @@ -16492,6 +19467,31 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaFetchSitemapsResponse": { + "description": "Response message for SiteSearchEngineService.FetchSitemaps method.", + "id": "GoogleCloudDiscoveryengineV1betaFetchSitemapsResponse", + "properties": { + "sitemapsMetadata": { + "description": "List of Sitemaps fetched.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata": { + "description": "Contains a Sitemap and its metadata.", + "id": "GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata", + "properties": { + "sitemap": { + "$ref": "GoogleCloudDiscoveryengineV1betaSitemap", + "description": "The Sitemap." + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaImportCompletionSuggestionsMetadata": { "description": "Metadata related to the progress of the ImportCompletionSuggestions operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1betaImportCompletionSuggestionsMetadata", @@ -16797,20 +19797,6 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1betaListCustomModelsResponse": { - "description": "Response message for SearchTuningService.ListCustomModels method.", - "id": "GoogleCloudDiscoveryengineV1betaListCustomModelsResponse", - "properties": { - "models": { - "description": "List of custom tuning models.", - "items": { - "$ref": "GoogleCloudDiscoveryengineV1betaCustomTuningModel" - }, - "type": "array" - } - }, - "type": "object" - }, "GoogleCloudDiscoveryengineV1betaNaturalLanguageQueryUnderstandingConfig": { "description": "Configuration for Natural Language Query Understanding.", "id": "GoogleCloudDiscoveryengineV1betaNaturalLanguageQueryUnderstandingConfig", @@ -17075,6 +20061,33 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaSearchLinkPromotion": { + "description": "Promotion proto includes uri and other helping information to display the promotion.", + "id": "GoogleCloudDiscoveryengineV1betaSearchLinkPromotion", + "properties": { + "description": { + "description": "Optional. The Promotion description. Maximum length: 200 characters.", + "type": "string" + }, + "enabled": { + "description": "Optional. The enabled promotion will be returned for any serving configs associated with the parent of the control this promotion is attached to. This flag is used for basic site search only.", + "type": "boolean" + }, + "imageUri": { + "description": "Optional. The promotion thumbnail image url.", + "type": "string" + }, + "title": { + "description": "Required. The title of the promotion. Maximum length: 160 characters.", + "type": "string" + }, + "uri": { + "description": "Required. The URL for the page the user wants to promote.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaSearchRequest": { "description": "Request message for SearchService.Search method.", "id": "GoogleCloudDiscoveryengineV1betaSearchRequest", @@ -17096,7 +20109,7 @@ "description": "A specification for configuring the behavior of content search." }, "dataStoreSpecs": { - "description": "Specs defining dataStores to filter on in a search call and configurations for those dataStores. This is only considered for engines with multiple dataStores use case. For single dataStore within an engine, they should use the specs at the top level.", + "description": "Specs defining DataStores to filter on in a search call and configurations for those data stores. This is only considered for Engines with multiple data stores. For engines with a single data store, the specs directly under SearchRequest should be used.", "items": { "$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec" }, @@ -17134,6 +20147,11 @@ "format": "int32", "type": "integer" }, + "oneBoxPageSize": { + "description": "The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default number is 10.", + "format": "int32", + "type": "integer" + }, "orderBy": { "description": "The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering the website search results, see [Order web search results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results). For more information on ordering the healthcare search results, see [Order healthcare search results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results). If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.", "type": "string" @@ -17350,7 +20368,7 @@ "enumDescriptions": [ "Default value.", "Returns documents in the search result.", - "Returns chunks in the search result. Only available if the DataStore.DocumentProcessingConfig.chunking_config is specified." + "Returns chunks in the search result. Only available if the DocumentProcessingConfig.chunking_config is specified." ], "type": "string" }, @@ -17509,6 +20527,10 @@ "description": "A struct to define data stores to filter on in a search call and configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error is returned.", "id": "GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec", "properties": { + "boostSpec": { + "$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec", + "description": "Optional. Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results)" + }, "dataStore": { "description": "Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`.", "type": "string" @@ -17643,14 +20665,14 @@ "id": "GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec", "properties": { "filterExtractionCondition": { - "description": "The condition under which filter extraction should occur. Default to Condition.DISABLED.", + "description": "The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`.", "enum": [ "CONDITION_UNSPECIFIED", "DISABLED", "ENABLED" ], "enumDescriptions": [ - "Server behavior defaults to Condition.DISABLED.", + "Server behavior defaults to `DISABLED`.", "Disables NL filter extraction.", "Enables NL filter extraction." ], @@ -17770,13 +20792,13 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1betaServingConfigDataStore": { - "description": "Stores information regarding the serving configurations at DataStore level.", - "id": "GoogleCloudDiscoveryengineV1betaServingConfigDataStore", + "GoogleCloudDiscoveryengineV1betaSingleRegionKey": { + "description": "Metadata for single-regional CMEKs.", + "id": "GoogleCloudDiscoveryengineV1betaSingleRegionKey", "properties": { - "disabledForServing": { - "description": "If set true, the DataStore will not be available for serving search requests.", - "type": "boolean" + "kmsKey": { + "description": "Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", + "type": "string" } }, "type": "object" @@ -17809,12 +20831,34 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaSitemap": { + "description": "A sitemap for the SiteSearchEngine.", + "id": "GoogleCloudDiscoveryengineV1betaSitemap", + "properties": { + "createTime": { + "description": "Output only. The sitemap's creation time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The fully qualified resource name of the sitemap. `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/sitemaps/*` The `sitemap_id` suffix is system-generated.", + "readOnly": true, + "type": "string" + }, + "uri": { + "description": "Public URI for the sitemap, e.g. `www.example.com/sitemap.xml`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaTargetSite": { "description": "A target site for the SiteSearchEngine.", "id": "GoogleCloudDiscoveryengineV1betaTargetSite", "properties": { "exactMatch": { - "description": "Input only. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine.", + "description": "Immutable. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine.", "type": "boolean" }, "failureReason": { @@ -18130,6 +21174,139 @@ }, "type": "object" }, + "GoogleMonitoringV3Point": { + "description": "A single data point in a time series.", + "id": "GoogleMonitoringV3Point", + "properties": { + "interval": { + "$ref": "GoogleMonitoringV3TimeInterval", + "description": "The time interval to which the data point applies. For `GAUGE` metrics, the start time is optional, but if it is supplied, it must equal the end time. For `DELTA` metrics, the start and end time should specify a non-zero interval, with subsequent points specifying contiguous and non-overlapping intervals. For `CUMULATIVE` metrics, the start and end time should specify a non-zero interval, with subsequent points specifying the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points." + }, + "value": { + "$ref": "GoogleMonitoringV3TypedValue", + "description": "The value of the data point." + } + }, + "type": "object" + }, + "GoogleMonitoringV3TimeInterval": { + "description": "A time interval extending just after a start time through an end time. If the start time is the same as the end time, then the interval represents a single point in time.", + "id": "GoogleMonitoringV3TimeInterval", + "properties": { + "endTime": { + "description": "Required. The end of the time interval.", + "format": "google-datetime", + "type": "string" + }, + "startTime": { + "description": "Optional. The beginning of the time interval. The default value for the start time is the end time. The start time must not be later than the end time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleMonitoringV3TimeSeries": { + "description": "A collection of data points that describes the time-varying values of a metric. A time series is identified by a combination of a fully-specified monitored resource and a fully-specified metric. This type is used for both listing and creating time series.", + "id": "GoogleMonitoringV3TimeSeries", + "properties": { + "description": { + "description": "Input only. A detailed description of the time series that will be associated with the google.api.MetricDescriptor for the metric. Once set, this field cannot be changed through CreateTimeSeries.", + "type": "string" + }, + "metadata": { + "$ref": "GoogleApiMonitoredResourceMetadata", + "description": "Output only. The associated monitored resource metadata. When reading a time series, this field will include metadata labels that are explicitly named in the reduction. When creating a time series, this field is ignored." + }, + "metric": { + "$ref": "GoogleApiMetric", + "description": "The associated metric. A fully-specified metric used to identify the time series." + }, + "metricKind": { + "description": "The metric kind of the time series. When listing time series, this metric kind might be different from the metric kind of the associated metric if this time series is an alignment or reduction of other time series. When creating a time series, this field is optional. If present, it must be the same as the metric kind of the associated metric. If the associated metric's descriptor must be auto-created, then this field specifies the metric kind of the new descriptor and must be either `GAUGE` (the default) or `CUMULATIVE`.", + "enum": [ + "METRIC_KIND_UNSPECIFIED", + "GAUGE", + "DELTA", + "CUMULATIVE" + ], + "enumDescriptions": [ + "Do not use this default value.", + "An instantaneous measurement of a value.", + "The change in a value during a time interval.", + "A value accumulated over a time interval. Cumulative measurements in a time series should have the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points." + ], + "type": "string" + }, + "points": { + "description": "The data points of this time series. When listing time series, points are returned in reverse time order. When creating a time series, this field must contain exactly one point and the point's type must be the same as the value type of the associated metric. If the associated metric's descriptor must be auto-created, then the value type of the descriptor is determined by the point's type, which must be `BOOL`, `INT64`, `DOUBLE`, or `DISTRIBUTION`.", + "items": { + "$ref": "GoogleMonitoringV3Point" + }, + "type": "array" + }, + "resource": { + "$ref": "GoogleApiMonitoredResource", + "description": "The associated monitored resource. Custom metrics can use only certain monitored resource types in their time series data. For more information, see [Monitored resources for custom metrics](https://cloud.google.com/monitoring/custom-metrics/creating-metrics#custom-metric-resources)." + }, + "unit": { + "description": "The units in which the metric value is reported. It is only applicable if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit` defines the representation of the stored metric values. This field can only be changed through CreateTimeSeries when it is empty.", + "type": "string" + }, + "valueType": { + "description": "The value type of the time series. When listing time series, this value type might be different from the value type of the associated metric if this time series is an alignment or reduction of other time series. When creating a time series, this field is optional. If present, it must be the same as the type of the data in the `points` field.", + "enum": [ + "VALUE_TYPE_UNSPECIFIED", + "BOOL", + "INT64", + "DOUBLE", + "STRING", + "DISTRIBUTION", + "MONEY" + ], + "enumDescriptions": [ + "Do not use this default value.", + "The value is a boolean. This value type can be used only if the metric kind is `GAUGE`.", + "The value is a signed 64-bit integer.", + "The value is a double precision floating point number.", + "The value is a text string. This value type can be used only if the metric kind is `GAUGE`.", + "The value is a `Distribution`.", + "The value is money." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleMonitoringV3TypedValue": { + "description": "A single strongly-typed value.", + "id": "GoogleMonitoringV3TypedValue", + "properties": { + "boolValue": { + "description": "A Boolean value: `true` or `false`.", + "type": "boolean" + }, + "distributionValue": { + "$ref": "GoogleApiDistribution", + "description": "A distribution value." + }, + "doubleValue": { + "description": "A 64-bit double-precision floating-point number. Its magnitude is approximately ±10±300 and it has 16 significant digits of precision.", + "format": "double", + "type": "number" + }, + "int64Value": { + "description": "A 64-bit integer. Its range is approximately ±9.2x1018.", + "format": "int64", + "type": "string" + }, + "stringValue": { + "description": "A variable-length string value.", + "type": "string" + } + }, + "type": "object" + }, "GoogleProtobufEmpty": { "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "GoogleProtobufEmpty", @@ -18184,6 +21361,72 @@ } }, "type": "object" + }, + "GoogleTypeDateTime": { + "description": "Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations.", + "id": "GoogleTypeDateTime", + "properties": { + "day": { + "description": "Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day.", + "format": "int32", + "type": "integer" + }, + "hours": { + "description": "Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "format": "int32", + "type": "integer" + }, + "minutes": { + "description": "Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.", + "format": "int32", + "type": "integer" + }, + "month": { + "description": "Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month.", + "format": "int32", + "type": "integer" + }, + "nanos": { + "description": "Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0.", + "format": "int32", + "type": "integer" + }, + "seconds": { + "description": "Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds.", + "format": "int32", + "type": "integer" + }, + "timeZone": { + "$ref": "GoogleTypeTimeZone", + "description": "Time zone." + }, + "utcOffset": { + "description": "UTC offset. Must be whole seconds, between -18 hours and +18 hours. For example, a UTC offset of -4:00 would be represented as { seconds: -14400 }.", + "format": "google-duration", + "type": "string" + }, + "year": { + "description": "Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleTypeTimeZone": { + "description": "Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).", + "id": "GoogleTypeTimeZone", + "properties": { + "id": { + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", + "type": "string" + }, + "version": { + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", + "type": "string" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/discovery/discoveryengine-v1alpha.json b/discovery/discoveryengine-v1alpha.json index 1e19dee149..d99ca5ff77 100644 --- a/discovery/discoveryengine-v1alpha.json +++ b/discovery/discoveryengine-v1alpha.json @@ -15,6 +15,28 @@ "description": "Discovery Engine API.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/generative-ai-app-builder/docs/", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://discoveryengine.asia-northeast1.rep.googleapis.com/", + "location": "asia-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://discoveryengine.europe-west2.rep.googleapis.com/", + "location": "europe-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://discoveryengine.us.rep.googleapis.com/", + "location": "us" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://discoveryengine.eu.rep.googleapis.com/", + "location": "eu" + } + ], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -220,6 +242,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "generateGroundedContent": { + "description": "Generates grounded content.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}:generateGroundedContent", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.generateGroundedContent", + "parameterOrder": [ + "location" + ], + "parameters": { + "location": { + "description": "Required. Location resource. Format: `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+location}:generateGroundedContent", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "getAclConfig": { "description": "Gets the AclConfig.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/aclConfig", @@ -245,6 +295,143 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getCmekConfig": { + "description": "Gets the CmekConfig.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/cmekConfig", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.getCmekConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of CmekConfig, such as `projects/*/locations/*/cmekConfig` or `projects/*/locations/*/cmekConfigs/*`. If the caller does not have permission to access the CmekConfig, regardless of whether or not it exists, a PERMISSION_DENIED error is returned.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/cmekConfig$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCmekConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "obtainCrawlRate": { + "description": "Obtains the time series data of organic or dedicated crawl rate for monitoring. When dedicated crawl rate is not set, it will return vertex AI's organic crawl rate time series. Organic crawl means Google automatically crawl the internet at its own convenience. When dedicated crawl rate is set, it will return vertex AI's dedicated crawl rate time series.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}:obtainCrawlRate", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.obtainCrawlRate", + "parameterOrder": [ + "location" + ], + "parameters": { + "location": { + "description": "Required. The location resource where crawl rate management will be performed. Format: `projects/{project}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+location}:obtainCrawlRate", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaObtainCrawlRateRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaObtainCrawlRateResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "removeDedicatedCrawlRate": { + "description": "Removes the dedicated crawl rate for a craw_rate_scope. If the dedicated crawl rate was set, this will disable vertex AI's crawl bot from using the dedicated crawl rate for crawling. If the dedicated crawl rate was not set, this is a no-op.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}:removeDedicatedCrawlRate", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.removeDedicatedCrawlRate", + "parameterOrder": [ + "location" + ], + "parameters": { + "location": { + "description": "Required. The location resource where crawl rate management will be performed. Format: `projects/{project}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+location}:removeDedicatedCrawlRate", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setDedicatedCrawlRate": { + "description": "Sets the dedicated crawl rate for a crawl_rate_scope. If the dedicated crawl rate was not set, this will enable vertex AI's crawl bot to use the new dedicated crawl rate for crawling. If the dedicated crawl rate was set, vertex AI's crawl bot will try to update the rate to the new value. If the new value is too high, the crawl bot may crawl at a lower rate to avoid overloading the user's website.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}:setDedicatedCrawlRate", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.setDedicatedCrawlRate", + "parameterOrder": [ + "location" + ], + "parameters": { + "location": { + "description": "Required. The location resource where crawl rate management will be performed. Format: `projects/{project}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+location}:setDedicatedCrawlRate", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setUpDataConnector": { + "description": "Creates a Collection and sets up the DataConnector for it. To stop a DataConnector after setup, use the CollectionService.DeleteCollection method.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}:setUpDataConnector", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.setUpDataConnector", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent of Collection, in the format of `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}:setUpDataConnector", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSetUpDataConnectorRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "updateAclConfig": { "description": "Default ACL configuration for use in a location of a customer's project. Updates will only reflect to new data stores. Existing data stores will still use the old value.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/aclConfig", @@ -272,189 +459,575 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "updateCmekConfig": { + "description": "Provisions a CMEK key for use in a location of a customer's project. This method will also conduct location validation on the provided cmekConfig to make sure the key is valid and can be used in the selected location.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/cmekConfig", + "httpMethod": "PATCH", + "id": "discoveryengine.projects.locations.updateCmekConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/cmekConfig$", + "required": true, + "type": "string" + }, + "setDefault": { + "description": "Set the following CmekConfig as the default to be used for child resources if one is not specified.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1alpha/{+name}", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCmekConfig" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } }, "resources": { - "collections": { - "resources": { - "dataConnector": { - "resources": { - "operations": { - "methods": { - "get": { - "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", - "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataConnector/operations/{operationsId}", - "httpMethod": "GET", - "id": "discoveryengine.projects.locations.collections.dataConnector.operations.get", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "The name of the operation resource.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataConnector/operations/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1alpha/{+name}", - "response": { - "$ref": "GoogleLongrunningOperation" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "list": { - "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", - "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataConnector/operations", - "httpMethod": "GET", - "id": "discoveryengine.projects.locations.collections.dataConnector.operations.list", - "parameterOrder": [ - "name" - ], - "parameters": { - "filter": { - "description": "The standard list filter.", - "location": "query", - "type": "string" - }, - "name": { - "description": "The name of the operation's parent resource.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataConnector$", - "required": true, - "type": "string" - }, - "pageSize": { - "description": "The standard list page size.", - "format": "int32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "The standard list page token.", - "location": "query", - "type": "string" - } - }, - "path": "v1alpha/{+name}/operations", - "response": { - "$ref": "GoogleLongrunningListOperationsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } + "cmekConfigs": { + "methods": { + "get": { + "description": "Gets the CmekConfig.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/cmekConfigs/{cmekConfigsId}", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.cmekConfigs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of CmekConfig, such as `projects/*/locations/*/cmekConfig` or `projects/*/locations/*/cmekConfigs/*`. If the caller does not have permission to access the CmekConfig, regardless of whether or not it exists, a PERMISSION_DENIED error is returned.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/cmekConfigs/[^/]+$", + "required": true, + "type": "string" } - } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCmekConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] }, - "dataStores": { - "methods": { - "completeQuery": { - "description": "Completes the specified user input with keyword suggestions.", - "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}:completeQuery", - "httpMethod": "GET", - "id": "discoveryengine.projects.locations.collections.dataStores.completeQuery", - "parameterOrder": [ - "dataStore" - ], - "parameters": { - "dataStore": { - "description": "Required. The parent data store resource name for which the completion is performed, such as `projects/*/locations/global/collections/default_collection/dataStores/default_data_store`.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", - "required": true, - "type": "string" - }, - "includeTailSuggestions": { - "description": "Indicates if tail suggestions should be returned if there are no suggestions that match the full query. Even if set to true, if there are suggestions that match the full query, those are returned and no tail suggestions are returned.", - "location": "query", - "type": "boolean" - }, - "query": { - "description": "Required. The typeahead input used to fetch suggestions. Maximum length is 128 characters.", - "location": "query", - "type": "string" - }, - "queryModel": { - "description": "Specifies the autocomplete data model. This overrides any model specified in the Configuration > Autocomplete section of the Cloud console. Currently supported values: * `document` - Using suggestions generated from user-imported documents. * `search-history` - Using suggestions generated from the past history of SearchService.Search API calls. Do not use it when there is no traffic for Search API. * `user-event` - Using suggestions generated from user-imported search events. * `document-completable` - Using suggestions taken directly from user-imported document fields marked as completable. Default values: * `document` is the default model for regular dataStores. * `search-history` is the default model for site search dataStores.", - "location": "query", - "type": "string" - }, - "userPseudoId": { - "description": "A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This field should NOT have a fixed value such as `unknown_visitor`. This should be the same identifier as UserEvent.user_pseudo_id and SearchRequest.user_pseudo_id. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", - "location": "query", - "type": "string" - } - }, - "path": "v1alpha/{+dataStore}:completeQuery", - "response": { - "$ref": "GoogleCloudDiscoveryengineV1alphaCompleteQueryResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] + "list": { + "description": "Lists all the CmekConfigs with the project.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/cmekConfigs", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.cmekConfigs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent location resource name, such as `projects/{project}/locations/{location}`. If the caller does not have permission to list CmekConfigs under this location, regardless of whether or not a CmekConfig exists, a PERMISSION_DENIED error is returned.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/cmekConfigs", + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaListCmekConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Provisions a CMEK key for use in a location of a customer's project. This method will also conduct location validation on the provided cmekConfig to make sure the key is valid and can be used in the selected location.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/cmekConfigs/{cmekConfigsId}", + "httpMethod": "PATCH", + "id": "discoveryengine.projects.locations.cmekConfigs.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/cmekConfigs/[^/]+$", + "required": true, + "type": "string" }, - "create": { - "description": "Creates a DataStore. DataStore is for storing Documents. To serve these documents for Search, or Recommendation use case, an Engine needs to be created separately.", - "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores", + "setDefault": { + "description": "Set the following CmekConfig as the default to be used for child resources if one is not specified.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1alpha/{+name}", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCmekConfig" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "collections": { + "methods": { + "delete": { + "description": "Deletes a Collection.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}", + "httpMethod": "DELETE", + "id": "discoveryengine.projects.locations.collections.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The full resource name of the Collection, in the format of `projects/{project}/locations/{location}/collections/{collection}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a Collection.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.collections.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The full resource name, in the format of `projects/{project}/locations/{location}/collections/{collection}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCollection" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getDataConnector": { + "description": "Gets the DataConnector. DataConnector is a singleton resource for each Collection.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataConnector", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.collections.getDataConnector", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Full resource name of DataConnector, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataConnector`. If the caller does not have permission to access the DataConnector, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested DataConnector does not exist, a NOT_FOUND error is returned.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataConnector$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDataConnector" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Gets a list of Collections.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.collections.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Filter returned collections by associated data connector data sources. For example: `filter = 'data_source:jira confluence'`. If the filter is empty, we return all collections under a project and location.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of Collections to return. The service may return fewer than this value. If unspecified, at most 100 Collections will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous CollectionService.ListCollections call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to CollectionService.ListCollections must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent data store resource name, in the format of `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/collections", + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaListCollectionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a Collection.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}", + "httpMethod": "PATCH", + "id": "discoveryengine.projects.locations.collections.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. The full resource name of the Collection. Format: `projects/{project}/locations/{location}/collections/{collection_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The list of fields to be updated.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCollection" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateDataConnector": { + "description": "Updates a DataConnector.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataConnector", + "httpMethod": "PATCH", + "id": "discoveryengine.projects.locations.collections.updateDataConnector", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Output only. The full resource name of the Data Connector. Format: `projects/*/locations/*/collections/*/dataConnector`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataConnector$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Indicates which fields in the provided DataConnector to update. Supported field paths include: - refresh_interval - params - auto_run_disabled - action_config - destination_configs - blocking_reasons Note: Support for these fields may vary depending on the connector type. For example, not all connectors support `destination_configs`. If an unsupported or unknown field path is provided, the request will return an INVALID_ARGUMENT error.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDataConnector" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDataConnector" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "dataConnector": { + "methods": { + "startConnectorRun": { + "description": "Starts an immediate synchronization process for a DataConnector. Third Party Connector Users must specify which entities should be synced. FHIR Connectors must provide a timestamp to indicate the point in time from which data should be synced.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataConnector:startConnectorRun", "httpMethod": "POST", - "id": "discoveryengine.projects.locations.collections.dataStores.create", + "id": "discoveryengine.projects.locations.collections.dataConnector.startConnectorRun", "parameterOrder": [ "parent" ], "parameters": { - "createAdvancedSiteSearch": { - "description": "A boolean flag indicating whether user want to directly create an advanced data store for site search. If the data store is not configured as site search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will be ignored.", - "location": "query", - "type": "boolean" - }, - "dataStoreId": { - "description": "Required. The ID to use for the DataStore, which will become the final component of the DataStore's resource name. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an INVALID_ARGUMENT error is returned.", - "location": "query", - "type": "string" - }, "parent": { - "description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}`.", + "description": "Required. Connector name of the form projects/{project}/locations/{location}/collections/ {collection_id}/dataConnector", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataConnector$", "required": true, "type": "string" - }, - "skipDefaultSchemaCreation": { - "description": "A boolean flag indicating whether to skip the default schema creation for the data store. Only enable this flag if you are certain that the default schema is incompatible with your use case. If set to true, you must manually create a schema for the data store before any documents can be ingested. This flag cannot be specified if `data_store.starting_schema` is specified.", - "location": "query", - "type": "boolean" } }, - "path": "v1alpha/{+parent}/dataStores", + "path": "v1alpha/{+parent}:startConnectorRun", "request": { - "$ref": "GoogleCloudDiscoveryengineV1alphaDataStore" + "$ref": "GoogleCloudDiscoveryengineV1alphaStartConnectorRunRequest" }, "response": { - "$ref": "GoogleLongrunningOperation" + "$ref": "GoogleCloudDiscoveryengineV1alphaConnectorRun" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] - }, - "delete": { - "description": "Deletes a DataStore.", - "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}", - "httpMethod": "DELETE", - "id": "discoveryengine.projects.locations.collections.dataStores.delete", - "parameterOrder": [ - "name" - ], - "parameters": { - "name": { - "description": "Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. If the caller does not have permission to delete the DataStore, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the DataStore to delete does not exist, a NOT_FOUND error is returned.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", - "required": true, + } + }, + "resources": { + "connectorRuns": { + "methods": { + "list": { + "description": "Lists the ConnectorRuns of a DataConnector.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataConnector/connectorRuns", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.collections.dataConnector.connectorRuns.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Requested page size. Server may return fewer items than requested. If unspecified, defaults to 10. The maximum value is 50; values above 50 will be coerced to 50. If this field is negative, an INVALID_ARGUMENT error is returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListConnectorRuns` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListConnectorRuns` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent DataConnector resource name, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataConnector`. If the caller does not have permission to list ConnectorRuns under this DataConnector, regardless of whether or not this DataConnector exists, a PERMISSION_DENIED error is returned.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataConnector$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/connectorRuns", + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaListConnectorRunsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "operations": { + "methods": { + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataConnector/operations/{operationsId}", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.collections.dataConnector.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataConnector/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataConnector/operations", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.collections.dataConnector.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataConnector$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+name}/operations", + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "dataStores": { + "methods": { + "completeQuery": { + "description": "Completes the specified user input with keyword suggestions.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}:completeQuery", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.collections.dataStores.completeQuery", + "parameterOrder": [ + "dataStore" + ], + "parameters": { + "dataStore": { + "description": "Required. The parent data store resource name for which the completion is performed, such as `projects/*/locations/global/collections/default_collection/dataStores/default_data_store`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", + "required": true, + "type": "string" + }, + "includeTailSuggestions": { + "description": "Indicates if tail suggestions should be returned if there are no suggestions that match the full query. Even if set to true, if there are suggestions that match the full query, those are returned and no tail suggestions are returned.", + "location": "query", + "type": "boolean" + }, + "query": { + "description": "Required. The typeahead input used to fetch suggestions. Maximum length is 128 characters.", + "location": "query", + "type": "string" + }, + "queryModel": { + "description": "Specifies the autocomplete data model. This overrides any model specified in the Configuration > Autocomplete section of the Cloud console. Currently supported values: * `document` - Using suggestions generated from user-imported documents. * `search-history` - Using suggestions generated from the past history of SearchService.Search API calls. Do not use it when there is no traffic for Search API. * `user-event` - Using suggestions generated from user-imported search events. * `document-completable` - Using suggestions taken directly from user-imported document fields marked as completable. Default values: * `document` is the default model for regular dataStores. * `search-history` is the default model for site search dataStores.", + "location": "query", + "type": "string" + }, + "userPseudoId": { + "description": "A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This field should NOT have a fixed value such as `unknown_visitor`. This should be the same identifier as UserEvent.user_pseudo_id and SearchRequest.user_pseudo_id. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+dataStore}:completeQuery", + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCompleteQueryResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Creates a DataStore. DataStore is for storing Documents. To serve these documents for Search, or Recommendation use case, an Engine needs to be created separately.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.dataStores.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "cmekConfigName": { + "description": "Resource name of the CmekConfig to use for protecting this DataStore.", + "location": "query", + "type": "string" + }, + "createAdvancedSiteSearch": { + "description": "A boolean flag indicating whether user want to directly create an advanced data store for site search. If the data store is not configured as site search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will be ignored.", + "location": "query", + "type": "boolean" + }, + "dataStoreId": { + "description": "Required. The ID to use for the DataStore, which will become the final component of the DataStore's resource name. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an INVALID_ARGUMENT error is returned.", + "location": "query", + "type": "string" + }, + "disableCmek": { + "description": "DataStore without CMEK protections. If a default CmekConfig is set for the project, setting this field will override the default CmekConfig as well.", + "location": "query", + "type": "boolean" + }, + "parent": { + "description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+$", + "required": true, + "type": "string" + }, + "skipDefaultSchemaCreation": { + "description": "A boolean flag indicating whether to skip the default schema creation for the data store. Only enable this flag if you are certain that the default schema is incompatible with your use case. If set to true, you must manually create a schema for the data store before any documents can be ingested. This flag cannot be specified if `data_store.starting_schema` is specified.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1alpha/{+parent}/dataStores", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDataStore" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a DataStore.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}", + "httpMethod": "DELETE", + "id": "discoveryengine.projects.locations.collections.dataStores.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. If the caller does not have permission to delete the DataStore, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the DataStore to delete does not exist, a NOT_FOUND error is returned.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", + "required": true, "type": "string" } }, @@ -733,7 +1306,7 @@ ], "parameters": { "documentId": { - "description": "Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", + "description": "Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", "location": "query", "type": "string" }, @@ -1064,7 +1637,7 @@ "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`.", + "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": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "discoveryengine.projects.locations.collections.dataStores.branches.operations.cancel", @@ -1161,6 +1734,38 @@ } } }, + "completionConfig": { + "methods": { + "completeQuery": { + "description": "Completes the user input with advanced keyword suggestions.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/completionConfig:completeQuery", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.dataStores.completionConfig.completeQuery", + "parameterOrder": [ + "completionConfig" + ], + "parameters": { + "completionConfig": { + "description": "Required. The completion_config of the parent dataStore or engine resource name for which the completion is performed, such as `projects/*/locations/global/collections/default_collection/dataStores/*/completionConfig` `projects/*/locations/global/collections/default_collection/engines/*/completionConfig`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/completionConfig$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+completionConfig}:completeQuery", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "completionSuggestions": { "methods": { "import": { @@ -2154,31 +2759,87 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] - } - } - }, - "sessions": { - "methods": { - "create": { - "description": "Creates a Session. If the Session to create already exists, an ALREADY_EXISTS error is returned.", - "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/sessions", + }, + "searchLite": { + "description": "Performs a search. Similar to the SearchService.Search method, but a lite version that allows API key for authentication, where OAuth and IAM checks are not required. Only public website search is supported by this method. If data stores and engines not associated with public website search are specified, a `FAILED_PRECONDITION` error is returned. This method can be used for easy onboarding without having to implement an authentication backend. However, it is strongly recommended to use SearchService.Search instead with required OAuth and IAM checks to provide better data security.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:searchLite", "httpMethod": "POST", - "id": "discoveryengine.projects.locations.collections.dataStores.sessions.create", + "id": "discoveryengine.projects.locations.collections.dataStores.servingConfigs.searchLite", "parameterOrder": [ - "parent" + "servingConfig" ], "parameters": { - "parent": { - "description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", + "servingConfig": { + "description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", "required": true, "type": "string" } }, - "path": "v1alpha/{+parent}/sessions", + "path": "v1alpha/{+servingConfig}:searchLite", "request": { - "$ref": "GoogleCloudDiscoveryengineV1alphaSession" + "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "streamAnswer": { + "description": "Answer query method (streaming). It takes one AnswerQueryRequest and returns multiple AnswerQueryResponse messages in a stream.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:streamAnswer", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.dataStores.servingConfigs.streamAnswer", + "parameterOrder": [ + "servingConfig" + ], + "parameters": { + "servingConfig": { + "description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+servingConfig}:streamAnswer", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "sessions": { + "methods": { + "create": { + "description": "Creates a Session. If the Session to create already exists, an ALREADY_EXISTS error is returned.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/sessions", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.dataStores.sessions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/sessions", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSession" }, "response": { "$ref": "GoogleCloudDiscoveryengineV1alphaSession" @@ -2221,6 +2882,11 @@ "name" ], "parameters": { + "includeAnswerDetails": { + "description": "Optional. If set to true, the full session including all answer details will be returned.", + "location": "query", + "type": "boolean" + }, "name": { "description": "Required. The resource name of the Session to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", "location": "path", @@ -2252,7 +2918,7 @@ "type": "string" }, "orderBy": { - "description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` Example: \"update_time desc\" \"create_time\"", + "description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * \"update_time desc\" * \"create_time\" * \"is_pinned desc,update_time desc\": list sessions by is_pinned first, then by update_time.", "location": "query", "type": "string" }, @@ -2625,6 +3291,63 @@ } } }, + "sitemaps": { + "methods": { + "create": { + "description": "Creates a Sitemap.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/sitemaps", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.sitemaps.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Parent resource name of the SiteSearchEngine, such as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/sitemaps", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSitemap" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a Sitemap.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/sitemaps/{sitemapsId}", + "httpMethod": "DELETE", + "id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.sitemaps.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Full resource name of Sitemap, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/sitemaps/{sitemap}`. If the caller does not have permission to access the Sitemap, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested Sitemap does not exist, a NOT_FOUND error is returned.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine/sitemaps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "targetSites": { "methods": { "batchCreate": { @@ -2951,7 +3674,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent DataStore resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", + "description": "Required. The parent resource name. If the collect user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the collect user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", "required": true, @@ -3315,6 +4038,38 @@ } }, "resources": { + "completionConfig": { + "methods": { + "completeQuery": { + "description": "Completes the user input with advanced keyword suggestions.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/completionConfig:completeQuery", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.engines.completionConfig.completeQuery", + "parameterOrder": [ + "completionConfig" + ], + "parameters": { + "completionConfig": { + "description": "Required. The completion_config of the parent dataStore or engine resource name for which the completion is performed, such as `projects/*/locations/global/collections/default_collection/dataStores/*/completionConfig` `projects/*/locations/global/collections/default_collection/engines/*/completionConfig`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/completionConfig$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+completionConfig}:completeQuery", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "controls": { "methods": { "create": { @@ -3917,6 +4672,62 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "searchLite": { + "description": "Performs a search. Similar to the SearchService.Search method, but a lite version that allows API key for authentication, where OAuth and IAM checks are not required. Only public website search is supported by this method. If data stores and engines not associated with public website search are specified, a `FAILED_PRECONDITION` error is returned. This method can be used for easy onboarding without having to implement an authentication backend. However, it is strongly recommended to use SearchService.Search instead with required OAuth and IAM checks to provide better data security.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}:searchLite", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.engines.servingConfigs.searchLite", + "parameterOrder": [ + "servingConfig" + ], + "parameters": { + "servingConfig": { + "description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+servingConfig}:searchLite", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "streamAnswer": { + "description": "Answer query method (streaming). It takes one AnswerQueryRequest and returns multiple AnswerQueryResponse messages in a stream.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}:streamAnswer", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.engines.servingConfigs.streamAnswer", + "parameterOrder": [ + "servingConfig" + ], + "parameters": { + "servingConfig": { + "description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+servingConfig}:streamAnswer", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } }, @@ -3984,6 +4795,11 @@ "name" ], "parameters": { + "includeAnswerDetails": { + "description": "Optional. If set to true, the full session including all answer details will be returned.", + "location": "query", + "type": "boolean" + }, "name": { "description": "Required. The resource name of the Session to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", "location": "path", @@ -4015,7 +4831,7 @@ "type": "string" }, "orderBy": { - "description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` Example: \"update_time desc\" \"create_time\"", + "description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * \"update_time desc\" * \"create_time\" * \"is_pinned desc,update_time desc\": list sessions by is_pinned first, then by update_time.", "location": "query", "type": "string" }, @@ -4243,6 +5059,11 @@ "parent" ], "parameters": { + "cmekConfigName": { + "description": "Resource name of the CmekConfig to use for protecting this DataStore.", + "location": "query", + "type": "string" + }, "createAdvancedSiteSearch": { "description": "A boolean flag indicating whether user want to directly create an advanced data store for site search. If the data store is not configured as site search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will be ignored.", "location": "query", @@ -4253,6 +5074,11 @@ "location": "query", "type": "string" }, + "disableCmek": { + "description": "DataStore without CMEK protections. If a default CmekConfig is set for the project, setting this field will override the default CmekConfig as well.", + "location": "query", + "type": "boolean" + }, "parent": { "description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}`.", "location": "path", @@ -4541,7 +5367,7 @@ ], "parameters": { "documentId": { - "description": "Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", + "description": "Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", "location": "query", "type": "string" }, @@ -4872,7 +5698,7 @@ "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`.", + "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": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "discoveryengine.projects.locations.dataStores.branches.operations.cancel", @@ -4969,6 +5795,38 @@ } } }, + "completionConfig": { + "methods": { + "completeQuery": { + "description": "Completes the user input with advanced keyword suggestions.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/completionConfig:completeQuery", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.dataStores.completionConfig.completeQuery", + "parameterOrder": [ + "completionConfig" + ], + "parameters": { + "completionConfig": { + "description": "Required. The completion_config of the parent dataStore or engine resource name for which the completion is performed, such as `projects/*/locations/global/collections/default_collection/dataStores/*/completionConfig` `projects/*/locations/global/collections/default_collection/engines/*/completionConfig`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/completionConfig$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+completionConfig}:completeQuery", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "completionSuggestions": { "methods": { "import": { @@ -5861,6 +6719,62 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "searchLite": { + "description": "Performs a search. Similar to the SearchService.Search method, but a lite version that allows API key for authentication, where OAuth and IAM checks are not required. Only public website search is supported by this method. If data stores and engines not associated with public website search are specified, a `FAILED_PRECONDITION` error is returned. This method can be used for easy onboarding without having to implement an authentication backend. However, it is strongly recommended to use SearchService.Search instead with required OAuth and IAM checks to provide better data security.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:searchLite", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.dataStores.servingConfigs.searchLite", + "parameterOrder": [ + "servingConfig" + ], + "parameters": { + "servingConfig": { + "description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+servingConfig}:searchLite", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "streamAnswer": { + "description": "Answer query method (streaming). It takes one AnswerQueryRequest and returns multiple AnswerQueryResponse messages in a stream.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:streamAnswer", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.dataStores.servingConfigs.streamAnswer", + "parameterOrder": [ + "servingConfig" + ], + "parameters": { + "servingConfig": { + "description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+servingConfig}:streamAnswer", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } }, @@ -5928,6 +6842,11 @@ "name" ], "parameters": { + "includeAnswerDetails": { + "description": "Optional. If set to true, the full session including all answer details will be returned.", + "location": "query", + "type": "boolean" + }, "name": { "description": "Required. The resource name of the Session to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", "location": "path", @@ -5959,7 +6878,7 @@ "type": "string" }, "orderBy": { - "description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` Example: \"update_time desc\" \"create_time\"", + "description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * \"update_time desc\" * \"create_time\" * \"is_pinned desc,update_time desc\": list sessions by is_pinned first, then by update_time.", "location": "query", "type": "string" }, @@ -6145,19 +7064,107 @@ } }, "resources": { - "targetSites": { + "sitemaps": { "methods": { - "batchCreate": { - "description": "Creates TargetSite in a batch.", - "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites:batchCreate", + "create": { + "description": "Creates a Sitemap.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/sitemaps", "httpMethod": "POST", - "id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.targetSites.batchCreate", + "id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.sitemaps.create", "parameterOrder": [ "parent" ], "parameters": { "parent": { - "description": "Required. The parent resource shared by all TargetSites being created. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. The parent field in the CreateBookRequest messages must either be empty or match this field.", + "description": "Required. Parent resource name of the SiteSearchEngine, such as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/sitemaps", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSitemap" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a Sitemap.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/sitemaps/{sitemapsId}", + "httpMethod": "DELETE", + "id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.sitemaps.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Full resource name of Sitemap, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/sitemaps/{sitemap}`. If the caller does not have permission to access the Sitemap, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested Sitemap does not exist, a NOT_FOUND error is returned.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine/sitemaps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "fetch": { + "description": "Fetch Sitemaps in a DataStore.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/sitemaps:fetch", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.sitemaps.fetch", + "parameterOrder": [ + "parent" + ], + "parameters": { + "matcher.urisMatcher.uris": { + "description": "The Sitemap uris.", + "location": "query", + "repeated": true, + "type": "string" + }, + "parent": { + "description": "Required. Parent resource name of the SiteSearchEngine, such as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/sitemaps:fetch", + "response": { + "$ref": "GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "targetSites": { + "methods": { + "batchCreate": { + "description": "Creates TargetSite in a batch.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/targetSites:batchCreate", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.targetSites.batchCreate", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource shared by all TargetSites being created. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`. The parent field in the CreateBookRequest messages must either be empty or match this field.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", "required": true, @@ -6399,7 +7406,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent DataStore resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", + "description": "Required. The parent resource name. If the collect user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the collect user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", "required": true, @@ -6618,14 +7625,14 @@ ], "parameters": { "evaluation": { - "description": "Required. The evaluation resource name, such as `projects/{project}/locations/{location}/evaluations/{evaluation}`. If the caller does not have permission to list EvaluationResult under this evaluation, regardless of whether or not this evaluation set exists, a `PERMISSION_DENIED` error is returned.", + "description": "Required. The evaluation resource name, such as `projects/{project}/locations/{location}/evaluations/{evaluation}`. If the caller does not have permission to list ListEvaluationResultsResponse.EvaluationResult under this evaluation, regardless of whether or not this evaluation set exists, a `PERMISSION_DENIED` error is returned.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/evaluations/[^/]+$", "required": true, "type": "string" }, "pageSize": { - "description": "Maximum number of EvaluationResult to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned.", + "description": "Maximum number of ListEvaluationResultsResponse.EvaluationResult to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned.", "format": "int32", "location": "query", "type": "integer" @@ -7308,7 +8315,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent DataStore resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", + "description": "Required. The parent resource name. If the collect user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the collect user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -7333,6 +8340,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "import": { + "description": "Bulk import of user events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata is of type ImportMetadata.", + "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/userEvents:import", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.userEvents.import", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Parent DataStore resource name, of the form `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/userEvents:import", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1alphaImportUserEventsRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "write": { "description": "Writes a single user event.", "flatPath": "v1alpha/projects/{projectsId}/locations/{locationsId}/userEvents:write", @@ -7517,466 +8552,2090 @@ } } }, - "revision": "20240930", + "revision": "20250107", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { "GoogleApiDistribution": { "description": "`Distribution` contains summary statistics for a population of values. It optionally contains a histogram representing the distribution of those values across a set of buckets. The summary statistics are the count, mean, sum of the squared deviation from the mean, the minimum, and the maximum of the set of population of values. The histogram is based on a sequence of buckets and gives a count of values that fall into each bucket. The boundaries of the buckets are given either explicitly or by formulas for buckets of fixed or exponentially increasing widths. Although it is not forbidden, it is generally a bad idea to include non-finite values (infinities or NaNs) in the population of values, as this will render the `mean` and `sum_of_squared_deviation` fields meaningless.", "id": "GoogleApiDistribution", "properties": { - "bucketCounts": { - "description": "The number of values in each bucket of the histogram, as described in `bucket_options`. If the distribution does not have a histogram, then omit this field. If there is a histogram, then the sum of the values in `bucket_counts` must equal the value in the `count` field of the distribution. If present, `bucket_counts` should contain N values, where N is the number of buckets specified in `bucket_options`. If you supply fewer than N values, the remaining values are assumed to be 0. The order of the values in `bucket_counts` follows the bucket numbering schemes described for the three bucket types. The first value must be the count for the underflow bucket (number 0). The next N-2 values are the counts for the finite buckets (number 1 through N-2). The N'th value in `bucket_counts` is the count for the overflow bucket (number N-1).", + "bucketCounts": { + "description": "The number of values in each bucket of the histogram, as described in `bucket_options`. If the distribution does not have a histogram, then omit this field. If there is a histogram, then the sum of the values in `bucket_counts` must equal the value in the `count` field of the distribution. If present, `bucket_counts` should contain N values, where N is the number of buckets specified in `bucket_options`. If you supply fewer than N values, the remaining values are assumed to be 0. The order of the values in `bucket_counts` follows the bucket numbering schemes described for the three bucket types. The first value must be the count for the underflow bucket (number 0). The next N-2 values are the counts for the finite buckets (number 1 through N-2). The N'th value in `bucket_counts` is the count for the overflow bucket (number N-1).", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "bucketOptions": { + "$ref": "GoogleApiDistributionBucketOptions", + "description": "Defines the histogram bucket boundaries. If the distribution does not contain a histogram, then omit this field." + }, + "count": { + "description": "The number of values in the population. Must be non-negative. This value must equal the sum of the values in `bucket_counts` if a histogram is provided.", + "format": "int64", + "type": "string" + }, + "exemplars": { + "description": "Must be in increasing order of `value` field.", + "items": { + "$ref": "GoogleApiDistributionExemplar" + }, + "type": "array" + }, + "mean": { + "description": "The arithmetic mean of the values in the population. If `count` is zero then this field must be zero.", + "format": "double", + "type": "number" + }, + "range": { + "$ref": "GoogleApiDistributionRange", + "description": "If specified, contains the range of the population values. The field must not be present if the `count` is zero." + }, + "sumOfSquaredDeviation": { + "description": "The sum of squared deviations from the mean of the values in the population. For values x_i this is: Sum[i=1..n]((x_i - mean)^2) Knuth, \"The Art of Computer Programming\", Vol. 2, page 232, 3rd edition describes Welford's method for accumulating this sum in one pass. If `count` is zero then this field must be zero.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleApiDistributionBucketOptions": { + "description": "`BucketOptions` describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. `BucketOptions` does not include the number of values in each bucket. A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite.", + "id": "GoogleApiDistributionBucketOptions", + "properties": { + "explicitBuckets": { + "$ref": "GoogleApiDistributionBucketOptionsExplicit", + "description": "The explicit buckets." + }, + "exponentialBuckets": { + "$ref": "GoogleApiDistributionBucketOptionsExponential", + "description": "The exponential buckets." + }, + "linearBuckets": { + "$ref": "GoogleApiDistributionBucketOptionsLinear", + "description": "The linear bucket." + } + }, + "type": "object" + }, + "GoogleApiDistributionBucketOptionsExplicit": { + "description": "Specifies a set of buckets with arbitrary widths. There are `size(bounds) + 1` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 <= i < N-1): bounds[i] Lower bound (1 <= i < N); bounds[i - 1] The `bounds` field must contain at least one element. If `bounds` has only one element, then there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets.", + "id": "GoogleApiDistributionBucketOptionsExplicit", + "properties": { + "bounds": { + "description": "The values must be monotonically increasing.", + "items": { + "format": "double", + "type": "number" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleApiDistributionBucketOptionsExponential": { + "description": "Specifies an exponential sequence of buckets that have a width that is proportional to the value of the lower bound. Each bucket represents a constant relative uncertainty on a specific value in the bucket. There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 <= i < N-1): scale * (growth_factor ^ i). Lower bound (1 <= i < N): scale * (growth_factor ^ (i - 1)).", + "id": "GoogleApiDistributionBucketOptionsExponential", + "properties": { + "growthFactor": { + "description": "Must be greater than 1.", + "format": "double", + "type": "number" + }, + "numFiniteBuckets": { + "description": "Must be greater than 0.", + "format": "int32", + "type": "integer" + }, + "scale": { + "description": "Must be greater than 0.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleApiDistributionBucketOptionsLinear": { + "description": "Specifies a linear sequence of buckets that all have the same width (except overflow and underflow). Each bucket represents a constant absolute uncertainty on the specific value in the bucket. There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 <= i < N-1): offset + (width * i). Lower bound (1 <= i < N): offset + (width * (i - 1)).", + "id": "GoogleApiDistributionBucketOptionsLinear", + "properties": { + "numFiniteBuckets": { + "description": "Must be greater than 0.", + "format": "int32", + "type": "integer" + }, + "offset": { + "description": "Lower bound of the first bucket.", + "format": "double", + "type": "number" + }, + "width": { + "description": "Must be greater than 0.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleApiDistributionExemplar": { + "description": "Exemplars are example points that may be used to annotate aggregated distribution values. They are metadata that gives information about a particular value added to a Distribution bucket, such as a trace ID that was active when a value was added. They may contain further information, such as a example values and timestamps, origin, etc.", + "id": "GoogleApiDistributionExemplar", + "properties": { + "attachments": { + "description": "Contextual information about the example value. Examples are: Trace: type.googleapis.com/google.monitoring.v3.SpanContext Literal string: type.googleapis.com/google.protobuf.StringValue Labels dropped during aggregation: type.googleapis.com/google.monitoring.v3.DroppedLabels There may be only a single attachment of any given message type in a single exemplar, and this is enforced by the system.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "timestamp": { + "description": "The observation (sampling) time of the above value.", + "format": "google-datetime", + "type": "string" + }, + "value": { + "description": "Value of the exemplar point. This value determines to which bucket the exemplar belongs.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleApiDistributionRange": { + "description": "The range of the population values.", + "id": "GoogleApiDistributionRange", + "properties": { + "max": { + "description": "The maximum of the population values.", + "format": "double", + "type": "number" + }, + "min": { + "description": "The minimum of the population values.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleApiHttpBody": { + "description": "Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.", + "id": "GoogleApiHttpBody", + "properties": { + "contentType": { + "description": "The HTTP Content-Type header value specifying the content type of the body.", + "type": "string" + }, + "data": { + "description": "The HTTP request/response body as raw binary.", + "format": "byte", + "type": "string" + }, + "extensions": { + "description": "Application specific response metadata. Must be set in the first response for streaming APIs.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleApiMetric": { + "description": "A specific metric, identified by specifying values for all of the labels of a `MetricDescriptor`.", + "id": "GoogleApiMetric", + "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "The set of label values that uniquely identify this metric. All labels listed in the `MetricDescriptor` must be assigned values.", + "type": "object" + }, + "type": { + "description": "An existing metric type, see google.api.MetricDescriptor. For example, `custom.googleapis.com/invoice/paid/amount`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleApiMonitoredResource": { + "description": "An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The `type` field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the `labels` field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for `\"gce_instance\"` has labels `\"project_id\"`, `\"instance_id\"` and `\"zone\"`: { \"type\": \"gce_instance\", \"labels\": { \"project_id\": \"my-project\", \"instance_id\": \"12345678901234\", \"zone\": \"us-central1-a\" }}", + "id": "GoogleApiMonitoredResource", + "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels `\"project_id\"`, `\"instance_id\"`, and `\"zone\"`.", + "type": "object" + }, + "type": { + "description": "Required. The monitored resource type. This field must match the `type` field of a MonitoredResourceDescriptor object. For example, the type of a Compute Engine VM instance is `gce_instance`. Some descriptors include the service name in the type; for example, the type of a Datastream stream is `datastream.googleapis.com/Stream`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleApiMonitoredResourceMetadata": { + "description": "Auxiliary metadata for a MonitoredResource object. MonitoredResource objects contain the minimum set of information to uniquely identify a monitored resource instance. There is some other useful auxiliary metadata. Monitoring and Logging use an ingestion pipeline to extract metadata for cloud resources of all types, and store the metadata in this message.", + "id": "GoogleApiMonitoredResourceMetadata", + "properties": { + "systemLabels": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Output only. Values for predefined system metadata labels. System labels are a kind of metadata extracted by Google, including \"machine_image\", \"vpc\", \"subnet_id\", \"security_group\", \"name\", etc. System label values can be only strings, Boolean values, or a list of strings. For example: { \"name\": \"my-test-instance\", \"security_group\": [\"a\", \"b\", \"c\"], \"spot_instance\": false }", + "type": "object" + }, + "userLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "Output only. A map of user-defined metadata labels.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineLoggingErrorContext": { + "description": "A description of the context in which an error occurred.", + "id": "GoogleCloudDiscoveryengineLoggingErrorContext", + "properties": { + "httpRequest": { + "$ref": "GoogleCloudDiscoveryengineLoggingHttpRequestContext", + "description": "The HTTP request which was processed when the error was triggered." + }, + "reportLocation": { + "$ref": "GoogleCloudDiscoveryengineLoggingSourceLocation", + "description": "The location in the source code where the decision was made to report the error, usually the place where it was logged." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineLoggingErrorLog": { + "description": "An error log which is reported to the Error Reporting system.", + "id": "GoogleCloudDiscoveryengineLoggingErrorLog", + "properties": { + "context": { + "$ref": "GoogleCloudDiscoveryengineLoggingErrorContext", + "description": "A description of the context in which the error occurred." + }, + "importPayload": { + "$ref": "GoogleCloudDiscoveryengineLoggingImportErrorContext", + "description": "The error payload that is populated on LRO import APIs." + }, + "message": { + "description": "A message describing the error.", + "type": "string" + }, + "requestPayload": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The API request payload, represented as a protocol buffer. Most API request types are supported—for example: * `type.googleapis.com/google.cloud.discoveryengine.v1alpha.DocumentService.CreateDocumentRequest` * `type.googleapis.com/google.cloud.discoveryengine.v1alpha.UserEventService.WriteUserEventRequest`", + "type": "object" + }, + "responsePayload": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The API response payload, represented as a protocol buffer. This is used to log some \"soft errors\", where the response is valid but we consider there are some quality issues like unjoined events. The following API responses are supported, and no PII is included: * `google.cloud.discoveryengine.v1alpha.RecommendationService.Recommend` * `google.cloud.discoveryengine.v1alpha.UserEventService.WriteUserEvent` * `google.cloud.discoveryengine.v1alpha.UserEventService.CollectUserEvent`", + "type": "object" + }, + "serviceContext": { + "$ref": "GoogleCloudDiscoveryengineLoggingServiceContext", + "description": "The service context in which this error has occurred." + }, + "status": { + "$ref": "GoogleRpcStatus", + "description": "The RPC status associated with the error log." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineLoggingHttpRequestContext": { + "description": "HTTP request data that is related to a reported error.", + "id": "GoogleCloudDiscoveryengineLoggingHttpRequestContext", + "properties": { + "responseStatusCode": { + "description": "The HTTP response status code for the request.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineLoggingImportErrorContext": { + "description": "The error payload that is populated on LRO import APIs, including the following: * `google.cloud.discoveryengine.v1alpha.DocumentService.ImportDocuments` * `google.cloud.discoveryengine.v1alpha.UserEventService.ImportUserEvents`", + "id": "GoogleCloudDiscoveryengineLoggingImportErrorContext", + "properties": { + "document": { + "description": "The detailed content which caused the error on importing a document.", + "type": "string" + }, + "gcsPath": { + "description": "Google Cloud Storage file path of the import source. Can be set for batch operation error.", + "type": "string" + }, + "lineNumber": { + "description": "Line number of the content in file. Should be empty for permission or batch operation error.", + "type": "string" + }, + "operation": { + "description": "The operation resource name of the LRO.", + "type": "string" + }, + "userEvent": { + "description": "The detailed content which caused the error on importing a user event.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineLoggingServiceContext": { + "description": "Describes a running service that sends errors.", + "id": "GoogleCloudDiscoveryengineLoggingServiceContext", + "properties": { + "service": { + "description": "An identifier of the service—for example, `discoveryengine.googleapis.com`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineLoggingSourceLocation": { + "description": "Indicates a location in the source code of the service for which errors are reported.", + "id": "GoogleCloudDiscoveryengineLoggingSourceLocation", + "properties": { + "functionName": { + "description": "Human-readable name of a function or method—for example, `google.cloud.discoveryengine.v1alpha.RecommendationService.Recommend`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig": { + "description": "Configuration data for advance site search.", + "id": "GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig", + "properties": { + "disableAutomaticRefresh": { + "description": "If set true, automatic refresh is disabled for the DataStore.", + "type": "boolean" + }, + "disableInitialIndex": { + "description": "If set true, initial indexing is disabled for the DataStore.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1BatchCreateTargetSiteMetadata": { + "description": "Metadata related to the progress of the SiteSearchEngineService.BatchCreateTargetSites operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1BatchCreateTargetSiteMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1BatchCreateTargetSitesResponse": { + "description": "Response message for SiteSearchEngineService.BatchCreateTargetSites method.", + "id": "GoogleCloudDiscoveryengineV1BatchCreateTargetSitesResponse", + "properties": { + "targetSites": { + "description": "TargetSites created.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1TargetSite" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1CmekConfig": { + "description": "Configurations used to enable CMEK data encryption with Cloud KMS keys.", + "id": "GoogleCloudDiscoveryengineV1CmekConfig", + "properties": { + "isDefault": { + "description": "Output only. The default CmekConfig for the Customer.", + "readOnly": true, + "type": "boolean" + }, + "kmsKey": { + "description": "Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", + "type": "string" + }, + "kmsKeyVersion": { + "description": "Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.", + "type": "string" + }, + "lastRotationTimestampMicros": { + "description": "Output only. The timestamp of the last key rotation.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", + "type": "string" + }, + "singleRegionKeys": { + "description": "Optional. Single-regional CMEKs that are required for some VAIS features.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1SingleRegionKey" + }, + "type": "array" + }, + "state": { + "description": "Output only. State of the CmekConfig.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "KEY_ISSUE", + "DELETING", + "UNUSABLE", + "ACTIVE_ROTATING" + ], + "enumDescriptions": [ + "The CmekConfig state is unknown.", + "The CmekConfig is creating.", + "The CmekConfig can be used with DataStores.", + "The CmekConfig is unavailable, most likely due to the KMS Key being revoked.", + "The CmekConfig is deleting.", + "The CmekConfig is not usable, most likely due to some internal issue.", + "The KMS key version is being rotated." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1Condition": { + "description": "Defines circumstances to be checked before allowing a behavior", + "id": "GoogleCloudDiscoveryengineV1Condition", + "properties": { + "activeTimeRange": { + "description": "Range of time(s) specifying when condition is active. Maximum of 10 time ranges.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1ConditionTimeRange" + }, + "type": "array" + }, + "queryRegex": { + "description": "Optional. Query regex to match the whole search query. Cannot be set when Condition.query_terms is set. This is currently supporting promotion use case.", + "type": "string" + }, + "queryTerms": { + "description": "Search only A list of terms to match the query on. Cannot be set when Condition.query_regex is set. Maximum of 10 query terms.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1ConditionQueryTerm" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1ConditionQueryTerm": { + "description": "Matcher for search request query", + "id": "GoogleCloudDiscoveryengineV1ConditionQueryTerm", + "properties": { + "fullMatch": { + "description": "Whether the search query needs to exactly match the query term.", + "type": "boolean" + }, + "value": { + "description": "The specific query value to match against Must be lowercase, must be UTF-8. Can have at most 3 space separated terms if full_match is true. Cannot be an empty string. Maximum length of 5000 characters.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1ConditionTimeRange": { + "description": "Used for time-dependent conditions.", + "id": "GoogleCloudDiscoveryengineV1ConditionTimeRange", + "properties": { + "endTime": { + "description": "End of time range. Range is inclusive. Must be in the future.", + "format": "google-datetime", + "type": "string" + }, + "startTime": { + "description": "Start of time range. Range is inclusive.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1Control": { + "description": "Defines a conditioned behavior to employ during serving. Must be attached to a ServingConfig to be considered at serving time. Permitted actions dependent on `SolutionType`.", + "id": "GoogleCloudDiscoveryengineV1Control", + "properties": { + "associatedServingConfigIds": { + "description": "Output only. List of all ServingConfig IDs this control is attached to. May take up to 10 minutes to update after changes.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "boostAction": { + "$ref": "GoogleCloudDiscoveryengineV1ControlBoostAction", + "description": "Defines a boost-type control" + }, + "conditions": { + "description": "Determines when the associated action will trigger. Omit to always apply the action. Currently only a single condition may be specified. Otherwise an INVALID ARGUMENT error is thrown.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1Condition" + }, + "type": "array" + }, + "displayName": { + "description": "Required. Human readable name. The identifier used in UI views. Must be UTF-8 encoded string. Length limit is 128 characters. Otherwise an INVALID ARGUMENT error is thrown.", + "type": "string" + }, + "filterAction": { + "$ref": "GoogleCloudDiscoveryengineV1ControlFilterAction", + "description": "Defines a filter-type control Currently not supported by Recommendation" + }, + "name": { + "description": "Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*`", + "type": "string" + }, + "promoteAction": { + "$ref": "GoogleCloudDiscoveryengineV1ControlPromoteAction", + "description": "Promote certain links based on predefined trigger queries. This now only supports basic site search." + }, + "redirectAction": { + "$ref": "GoogleCloudDiscoveryengineV1ControlRedirectAction", + "description": "Defines a redirect-type control." + }, + "solutionType": { + "description": "Required. Immutable. What solution the control belongs to. Must be compatible with vertical of resource. Otherwise an INVALID ARGUMENT error is thrown.", + "enum": [ + "SOLUTION_TYPE_UNSPECIFIED", + "SOLUTION_TYPE_RECOMMENDATION", + "SOLUTION_TYPE_SEARCH", + "SOLUTION_TYPE_CHAT", + "SOLUTION_TYPE_GENERATIVE_CHAT" + ], + "enumDescriptions": [ + "Default value.", + "Used for Recommendations AI.", + "Used for Discovery Search.", + "Used for use cases related to the Generative AI agent.", + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + ], + "type": "string" + }, + "synonymsAction": { + "$ref": "GoogleCloudDiscoveryengineV1ControlSynonymsAction", + "description": "Treats a group of terms as synonyms of one another." + }, + "useCases": { + "description": "Specifies the use case for the control. Affects what condition fields can be set. Only applies to SOLUTION_TYPE_SEARCH. Currently only allow one use case per control. Must be set when solution_type is SolutionType.SOLUTION_TYPE_SEARCH.", + "items": { + "enum": [ + "SEARCH_USE_CASE_UNSPECIFIED", + "SEARCH_USE_CASE_SEARCH", + "SEARCH_USE_CASE_BROWSE" + ], + "enumDescriptions": [ + "Value used when unset. Will not occur in CSS.", + "Search use case. Expects the traffic has a non-empty query.", + "Browse use case. Expects the traffic has an empty query." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1ControlBoostAction": { + "description": "Adjusts order of products in returned list.", + "id": "GoogleCloudDiscoveryengineV1ControlBoostAction", + "properties": { + "boost": { + "deprecated": true, + "description": "Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", + "format": "float", + "type": "number" + }, + "dataStore": { + "description": "Required. Specifies which data store's documents can be boosted by this control. Full data store name e.g. projects/123/locations/global/collections/default_collection/dataStores/default_data_store", + "type": "string" + }, + "filter": { + "description": "Required. Specifies which products to apply the boost to. If no filter is provided all products will be boosted (No-op). Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", + "type": "string" + }, + "fixedBoost": { + "description": "Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1ControlFilterAction": { + "description": "Specified which products may be included in results. Uses same filter as boost.", + "id": "GoogleCloudDiscoveryengineV1ControlFilterAction", + "properties": { + "dataStore": { + "description": "Required. Specifies which data store's documents can be filtered by this control. Full data store name e.g. projects/123/locations/global/collections/default_collection/dataStores/default_data_store", + "type": "string" + }, + "filter": { + "description": "Required. A filter to apply on the matching condition results. Required Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1ControlPromoteAction": { + "description": "Promote certain links based on some trigger queries. Example: Promote shoe store link when searching for `shoe` keyword. The link can be outside of associated data store.", + "id": "GoogleCloudDiscoveryengineV1ControlPromoteAction", + "properties": { + "dataStore": { + "description": "Required. Data store with which this promotion is attached to.", + "type": "string" + }, + "searchLinkPromotion": { + "$ref": "GoogleCloudDiscoveryengineV1SearchLinkPromotion", + "description": "Required. Promotion attached to this action." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1ControlRedirectAction": { + "description": "Redirects a shopper to the provided URI.", + "id": "GoogleCloudDiscoveryengineV1ControlRedirectAction", + "properties": { + "redirectUri": { + "description": "Required. The URI to which the shopper will be redirected. Required. URI must have length equal or less than 2000 characters. Otherwise an INVALID ARGUMENT error is thrown.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1ControlSynonymsAction": { + "description": "Creates a set of terms that will act as synonyms of one another. Example: \"happy\" will also be considered as \"glad\", \"glad\" will also be considered as \"happy\".", + "id": "GoogleCloudDiscoveryengineV1ControlSynonymsAction", + "properties": { + "synonyms": { + "description": "Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at least 2 synonyms. Otherwise an INVALID ARGUMENT error is thrown.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1CreateDataStoreMetadata": { + "description": "Metadata related to the progress of the DataStoreService.CreateDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1CreateDataStoreMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1CreateEngineMetadata": { + "description": "Metadata related to the progress of the EngineService.CreateEngine operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1CreateEngineMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1CreateSchemaMetadata": { + "description": "Metadata for Create Schema LRO.", + "id": "GoogleCloudDiscoveryengineV1CreateSchemaMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1CreateTargetSiteMetadata": { + "description": "Metadata related to the progress of the SiteSearchEngineService.CreateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1CreateTargetSiteMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1DataStore": { + "description": "DataStore captures global settings and configs at the DataStore level.", + "id": "GoogleCloudDiscoveryengineV1DataStore", + "properties": { + "advancedSiteSearchConfig": { + "$ref": "GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig", + "description": "Optional. Configuration for advanced site search." + }, + "billingEstimation": { + "$ref": "GoogleCloudDiscoveryengineV1DataStoreBillingEstimation", + "description": "Output only. Data size estimation for billing.", + "readOnly": true + }, + "cmekConfig": { + "$ref": "GoogleCloudDiscoveryengineV1CmekConfig", + "description": "Output only. CMEK-related information for the DataStore.", + "readOnly": true + }, + "contentConfig": { + "description": "Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.", + "enum": [ + "CONTENT_CONFIG_UNSPECIFIED", + "NO_CONTENT", + "CONTENT_REQUIRED", + "PUBLIC_WEBSITE", + "GOOGLE_WORKSPACE" + ], + "enumDescriptions": [ + "Default value.", + "Only contains documents without any Document.content.", + "Only contains documents with Document.content.", + "The data store is used for public website search.", + "The data store is used for workspace search. Details of workspace data store are specified in the WorkspaceConfig." + ], + "type": "string" + }, + "createTime": { + "description": "Output only. Timestamp the DataStore was created at.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "defaultSchemaId": { + "description": "Output only. The id of the default Schema asscociated to this data store.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The data store display name. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", + "type": "string" + }, + "documentProcessingConfig": { + "$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfig", + "description": "Configuration for Document understanding and enrichment." + }, + "industryVertical": { + "description": "Immutable. The industry vertical that the data store registers.", + "enum": [ + "INDUSTRY_VERTICAL_UNSPECIFIED", + "GENERIC", + "MEDIA", + "HEALTHCARE_FHIR" + ], + "enumDescriptions": [ + "Value used when unset.", + "The generic vertical for documents that are not specific to any industry vertical.", + "The media industry vertical.", + "The healthcare FHIR vertical." + ], + "type": "string" + }, + "isInfobotFaqDataStore": { + "description": "Optional. If set, this DataStore is an Infobot FAQ DataStore.", + "type": "boolean" + }, + "kmsKeyName": { + "description": "Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field.", + "type": "string" + }, + "name": { + "description": "Immutable. The full resource name of the data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", + "type": "string" + }, + "servingConfigDataStore": { + "$ref": "GoogleCloudDiscoveryengineV1DataStoreServingConfigDataStore", + "description": "Optional. Stores serving config at DataStore level." + }, + "solutionTypes": { + "description": "The solutions that the data store enrolls. Available solutions for each industry_vertical: * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`. * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other solutions cannot be enrolled.", + "items": { + "enum": [ + "SOLUTION_TYPE_UNSPECIFIED", + "SOLUTION_TYPE_RECOMMENDATION", + "SOLUTION_TYPE_SEARCH", + "SOLUTION_TYPE_CHAT", + "SOLUTION_TYPE_GENERATIVE_CHAT" + ], + "enumDescriptions": [ + "Default value.", + "Used for Recommendations AI.", + "Used for Discovery Search.", + "Used for use cases related to the Generative AI agent.", + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + ], + "type": "string" + }, + "type": "array" + }, + "startingSchema": { + "$ref": "GoogleCloudDiscoveryengineV1Schema", + "description": "The start schema to use for this DataStore when provisioning it. If unset, a default vertical specialized schema will be used. This field is only used by CreateDataStore API, and will be ignored if used in other APIs. This field will be omitted from all API responses including CreateDataStore API. To retrieve a schema of a DataStore, use SchemaService.GetSchema API instead. The provided schema will be validated against certain rules on schema. Learn more from [this doc](https://cloud.google.com/generative-ai-app-builder/docs/provide-schema)." + }, + "workspaceConfig": { + "$ref": "GoogleCloudDiscoveryengineV1WorkspaceConfig", + "description": "Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1DataStoreBillingEstimation": { + "description": "Estimation of data size per data store.", + "id": "GoogleCloudDiscoveryengineV1DataStoreBillingEstimation", + "properties": { + "structuredDataSize": { + "description": "Data size for structured data in terms of bytes.", + "format": "int64", + "type": "string" + }, + "structuredDataUpdateTime": { + "description": "Last updated timestamp for structured data.", + "format": "google-datetime", + "type": "string" + }, + "unstructuredDataSize": { + "description": "Data size for unstructured data in terms of bytes.", + "format": "int64", + "type": "string" + }, + "unstructuredDataUpdateTime": { + "description": "Last updated timestamp for unstructured data.", + "format": "google-datetime", + "type": "string" + }, + "websiteDataSize": { + "description": "Data size for websites in terms of bytes.", + "format": "int64", + "type": "string" + }, + "websiteDataUpdateTime": { + "description": "Last updated timestamp for websites.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1DataStoreServingConfigDataStore": { + "description": "Stores information regarding the serving configurations at DataStore level.", + "id": "GoogleCloudDiscoveryengineV1DataStoreServingConfigDataStore", + "properties": { + "disabledForServing": { + "description": "If set true, the DataStore will not be available for serving search requests.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1DeleteDataStoreMetadata": { + "description": "Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1DeleteDataStoreMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1DeleteEngineMetadata": { + "description": "Metadata related to the progress of the EngineService.DeleteEngine operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1DeleteEngineMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1DeleteIdentityMappingStoreMetadata": { + "description": "Metadata related to the progress of the IdentityMappingStoreService.DeleteIdentityMappingStore operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1DeleteIdentityMappingStoreMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1DeleteSchemaMetadata": { + "description": "Metadata for DeleteSchema LRO.", + "id": "GoogleCloudDiscoveryengineV1DeleteSchemaMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1DeleteTargetSiteMetadata": { + "description": "Metadata related to the progress of the SiteSearchEngineService.DeleteTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1DeleteTargetSiteMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1DisableAdvancedSiteSearchMetadata": { + "description": "Metadata related to the progress of the SiteSearchEngineService.DisableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1DisableAdvancedSiteSearchMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1DisableAdvancedSiteSearchResponse": { + "description": "Response message for SiteSearchEngineService.DisableAdvancedSiteSearch method.", + "id": "GoogleCloudDiscoveryengineV1DisableAdvancedSiteSearchResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1DocumentProcessingConfig": { + "description": "A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser.", + "id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfig", + "properties": { + "chunkingConfig": { + "$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfig", + "description": "Whether chunking mode is enabled." + }, + "defaultParsingConfig": { + "$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfig", + "description": "Configurations for default Document parser. If not specified, we will configure it as default DigitalParsingConfig, and the default parsing config will be applied to all file types for Document parsing." + }, + "name": { + "description": "The full resource name of the Document Processing Config. Format: `projects/*/locations/*/collections/*/dataStores/*/documentProcessingConfig`.", + "type": "string" + }, + "parsingConfigOverrides": { + "additionalProperties": { + "$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfig" + }, + "description": "Map from file type to override the default parsing configuration based on the file type. Supported keys: * `pdf`: Override parsing config for PDF files, either digital parsing, ocr parsing or layout parsing is supported. * `html`: Override parsing config for HTML files, only digital parsing and layout parsing are supported. * `docx`: Override parsing config for DOCX files, only digital parsing and layout parsing are supported. * `pptx`: Override parsing config for PPTX files, only digital parsing and layout parsing are supported. * `xlsm`: Override parsing config for XLSM files, only digital parsing and layout parsing are supported. * `xlsx`: Override parsing config for XLSX files, only digital parsing and layout parsing are supported.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfig": { + "description": "Configuration for chunking config.", + "id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfig", + "properties": { + "layoutBasedChunkingConfig": { + "$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig", + "description": "Configuration for the layout based chunking." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig": { + "description": "Configuration for the layout based chunking.", + "id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig", + "properties": { + "chunkSize": { + "description": "The token size limit for each chunk. Supported values: 100-500 (inclusive). Default value: 500.", + "format": "int32", + "type": "integer" + }, + "includeAncestorHeadings": { + "description": "Whether to include appending different levels of headings to chunks from the middle of the document to prevent context loss. Default value: False.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfig": { + "description": "Related configurations applied to a specific type of document parser.", + "id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfig", + "properties": { + "digitalParsingConfig": { + "$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigDigitalParsingConfig", + "description": "Configurations applied to digital parser." + }, + "layoutParsingConfig": { + "$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigLayoutParsingConfig", + "description": "Configurations applied to layout parser." + }, + "ocrParsingConfig": { + "$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigOcrParsingConfig", + "description": "Configurations applied to OCR parser. Currently it only applies to PDFs." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigDigitalParsingConfig": { + "description": "The digital parsing configurations for documents.", + "id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigDigitalParsingConfig", + "properties": {}, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigLayoutParsingConfig": { + "description": "The layout parsing configurations for documents.", + "id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigLayoutParsingConfig", + "properties": {}, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigOcrParsingConfig": { + "description": "The OCR parsing configurations for documents.", + "id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigOcrParsingConfig", + "properties": { + "enhancedDocumentElements": { + "deprecated": true, + "description": "[DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "useNativeText": { + "description": "If true, will use native text instead of OCR text on pages containing native text.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1EnableAdvancedSiteSearchMetadata": { + "description": "Metadata related to the progress of the SiteSearchEngineService.EnableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1EnableAdvancedSiteSearchMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1EnableAdvancedSiteSearchResponse": { + "description": "Response message for SiteSearchEngineService.EnableAdvancedSiteSearch method.", + "id": "GoogleCloudDiscoveryengineV1EnableAdvancedSiteSearchResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1Engine": { + "description": "Metadata that describes the training and serving parameters of an Engine.", + "id": "GoogleCloudDiscoveryengineV1Engine", + "properties": { + "chatEngineConfig": { + "$ref": "GoogleCloudDiscoveryengineV1EngineChatEngineConfig", + "description": "Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT." + }, + "chatEngineMetadata": { + "$ref": "GoogleCloudDiscoveryengineV1EngineChatEngineMetadata", + "description": "Output only. Additional information of the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.", + "readOnly": true + }, + "commonConfig": { + "$ref": "GoogleCloudDiscoveryengineV1EngineCommonConfig", + "description": "Common config spec that specifies the metadata of the engine." + }, + "createTime": { + "description": "Output only. Timestamp the Recommendation Engine was created at.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dataStoreIds": { + "description": "The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations.", + "items": { + "type": "string" + }, + "type": "array" + }, + "disableAnalytics": { + "description": "Optional. Whether to disable analytics for searches performed on this engine.", + "type": "boolean" + }, + "displayName": { + "description": "Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.", + "type": "string" + }, + "industryVertical": { + "description": "The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.", + "enum": [ + "INDUSTRY_VERTICAL_UNSPECIFIED", + "GENERIC", + "MEDIA", + "HEALTHCARE_FHIR" + ], + "enumDescriptions": [ + "Value used when unset.", + "The generic vertical for documents that are not specific to any industry vertical.", + "The media industry vertical.", + "The healthcare FHIR vertical." + ], + "type": "string" + }, + "name": { + "description": "Immutable. The fully qualified resource name of the engine. This field must be a UTF-8 encoded string with a length limit of 1024 characters. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` engine should be 1-63 characters, and valid characters are /a-z0-9*/. Otherwise, an INVALID_ARGUMENT error is returned.", + "type": "string" + }, + "searchEngineConfig": { + "$ref": "GoogleCloudDiscoveryengineV1EngineSearchEngineConfig", + "description": "Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH." + }, + "solutionType": { + "description": "Required. The solutions of the engine.", + "enum": [ + "SOLUTION_TYPE_UNSPECIFIED", + "SOLUTION_TYPE_RECOMMENDATION", + "SOLUTION_TYPE_SEARCH", + "SOLUTION_TYPE_CHAT", + "SOLUTION_TYPE_GENERATIVE_CHAT" + ], + "enumDescriptions": [ + "Default value.", + "Used for Recommendations AI.", + "Used for Discovery Search.", + "Used for use cases related to the Generative AI agent.", + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + ], + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp the Recommendation Engine was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1EngineChatEngineConfig": { + "description": "Configurations for a Chat Engine.", + "id": "GoogleCloudDiscoveryengineV1EngineChatEngineConfig", + "properties": { + "agentCreationConfig": { + "$ref": "GoogleCloudDiscoveryengineV1EngineChatEngineConfigAgentCreationConfig", + "description": "The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation." + }, + "dialogflowAgentToLink": { + "description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1EngineChatEngineConfigAgentCreationConfig": { + "description": "Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.", + "id": "GoogleCloudDiscoveryengineV1EngineChatEngineConfigAgentCreationConfig", + "properties": { + "business": { + "description": "Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.", + "type": "string" + }, + "defaultLanguageCode": { + "description": "Required. The default language of the agent as a language tag. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.", + "type": "string" + }, + "location": { + "description": "Agent location for Agent creation, supported values: global/us/eu. If not provided, us Engine will create Agent using us-central-1 by default; eu Engine will create Agent using eu-west-1 by default.", + "type": "string" + }, + "timeZone": { + "description": "Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1EngineChatEngineMetadata": { + "description": "Additional information of a Chat Engine. Fields in this message are output only.", + "id": "GoogleCloudDiscoveryengineV1EngineChatEngineMetadata", + "properties": { + "dialogflowAgent": { + "description": "The resource name of a Dialogflow agent, that this Chat Engine refers to. Format: `projects//locations//agents/`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1EngineCommonConfig": { + "description": "Common configurations for an Engine.", + "id": "GoogleCloudDiscoveryengineV1EngineCommonConfig", + "properties": { + "companyName": { + "description": "The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1EngineSearchEngineConfig": { + "description": "Configurations for a Search Engine.", + "id": "GoogleCloudDiscoveryengineV1EngineSearchEngineConfig", + "properties": { + "searchAddOns": { + "description": "The add-on that this search engine enables.", + "items": { + "enum": [ + "SEARCH_ADD_ON_UNSPECIFIED", + "SEARCH_ADD_ON_LLM" + ], + "enumDescriptions": [ + "Default value when the enum is unspecified. This is invalid to use.", + "Large language model add-on." + ], + "type": "string" + }, + "type": "array" + }, + "searchTier": { + "description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", + "enum": [ + "SEARCH_TIER_UNSPECIFIED", + "SEARCH_TIER_STANDARD", + "SEARCH_TIER_ENTERPRISE" + ], + "enumDescriptions": [ + "Default value when the enum is unspecified. This is invalid to use.", + "Standard tier.", + "Enterprise tier." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsMetadata": { + "description": "Metadata related to the progress of the ImportCompletionSuggestions operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "failureCount": { + "description": "Count of CompletionSuggestions that failed to be imported.", + "format": "int64", + "type": "string" + }, + "successCount": { + "description": "Count of CompletionSuggestions successfully imported.", + "format": "int64", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsResponse": { + "description": "Response of the CompletionService.ImportCompletionSuggestions method. If the long running operation is done, this message is returned by the google.longrunning.Operations.response field if the operation is successful.", + "id": "GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsResponse", + "properties": { + "errorConfig": { + "$ref": "GoogleCloudDiscoveryengineV1ImportErrorConfig", + "description": "The desired location of errors incurred during the Import." + }, + "errorSamples": { + "description": "A sample of errors encountered while processing the request.", + "items": { + "$ref": "GoogleRpcStatus" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1ImportDocumentsMetadata": { + "description": "Metadata related to the progress of the ImportDocuments operation. This is returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1ImportDocumentsMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "failureCount": { + "description": "Count of entries that encountered errors while processing.", + "format": "int64", + "type": "string" + }, + "successCount": { + "description": "Count of entries that were processed successfully.", + "format": "int64", + "type": "string" + }, + "totalCount": { + "description": "Total count of entries that were processed.", + "format": "int64", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1ImportDocumentsResponse": { + "description": "Response of the ImportDocumentsRequest. If the long running operation is done, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.", + "id": "GoogleCloudDiscoveryengineV1ImportDocumentsResponse", + "properties": { + "errorConfig": { + "$ref": "GoogleCloudDiscoveryengineV1ImportErrorConfig", + "description": "Echoes the destination for the complete errors in the request if set." + }, + "errorSamples": { + "description": "A sample of errors encountered while processing the request.", + "items": { + "$ref": "GoogleRpcStatus" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1ImportErrorConfig": { + "description": "Configuration of destination for Import related errors.", + "id": "GoogleCloudDiscoveryengineV1ImportErrorConfig", + "properties": { + "gcsPrefix": { + "description": "Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors are written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1ImportSuggestionDenyListEntriesMetadata": { + "description": "Metadata related to the progress of the ImportSuggestionDenyListEntries operation. This is returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1ImportSuggestionDenyListEntriesMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1ImportSuggestionDenyListEntriesResponse": { + "description": "Response message for CompletionService.ImportSuggestionDenyListEntries method.", + "id": "GoogleCloudDiscoveryengineV1ImportSuggestionDenyListEntriesResponse", + "properties": { + "errorSamples": { + "description": "A sample of errors encountered while processing the request.", + "items": { + "$ref": "GoogleRpcStatus" + }, + "type": "array" + }, + "failedEntriesCount": { + "description": "Count of deny list entries that failed to be imported.", + "format": "int64", + "type": "string" + }, + "importedEntriesCount": { + "description": "Count of deny list entries successfully imported.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1ImportUserEventsMetadata": { + "description": "Metadata related to the progress of the Import operation. This is returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1ImportUserEventsMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "failureCount": { + "description": "Count of entries that encountered errors while processing.", + "format": "int64", + "type": "string" + }, + "successCount": { + "description": "Count of entries that were processed successfully.", + "format": "int64", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1ImportUserEventsResponse": { + "description": "Response of the ImportUserEventsRequest. If the long running operation was successful, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.", + "id": "GoogleCloudDiscoveryengineV1ImportUserEventsResponse", + "properties": { + "errorConfig": { + "$ref": "GoogleCloudDiscoveryengineV1ImportErrorConfig", + "description": "Echoes the destination for the complete errors if this field was set in the request." + }, + "errorSamples": { + "description": "A sample of errors encountered while processing the request.", "items": { - "format": "int64", - "type": "string" + "$ref": "GoogleRpcStatus" }, "type": "array" }, - "bucketOptions": { - "$ref": "GoogleApiDistributionBucketOptions", - "description": "Defines the histogram bucket boundaries. If the distribution does not contain a histogram, then omit this field." + "joinedEventsCount": { + "description": "Count of user events imported with complete existing Documents.", + "format": "int64", + "type": "string" }, - "count": { - "description": "The number of values in the population. Must be non-negative. This value must equal the sum of the values in `bucket_counts` if a histogram is provided.", + "unjoinedEventsCount": { + "description": "Count of user events imported, but with Document information not found in the existing Branch.", "format": "int64", "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1Project": { + "description": "Metadata and configurations for a Google Cloud project in the service.", + "id": "GoogleCloudDiscoveryengineV1Project", + "properties": { + "createTime": { + "description": "Output only. The timestamp when this project is created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" }, - "exemplars": { - "description": "Must be in increasing order of `value` field.", - "items": { - "$ref": "GoogleApiDistributionExemplar" + "name": { + "description": "Output only. Full resource name of the project, for example `projects/{project}`. Note that when making requests, project number and project id are both acceptable, but the server will always respond in project number.", + "readOnly": true, + "type": "string" + }, + "provisionCompletionTime": { + "description": "Output only. The timestamp when this project is successfully provisioned. Empty value means this project is still provisioning and is not ready for use.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "serviceTermsMap": { + "additionalProperties": { + "$ref": "GoogleCloudDiscoveryengineV1ProjectServiceTerms" }, - "type": "array" + "description": "Output only. A map of terms of services. The key is the `id` of ServiceTerms.", + "readOnly": true, + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1ProjectServiceTerms": { + "description": "Metadata about the terms of service.", + "id": "GoogleCloudDiscoveryengineV1ProjectServiceTerms", + "properties": { + "acceptTime": { + "description": "The last time when the project agreed to the terms of service.", + "format": "google-datetime", + "type": "string" }, - "mean": { - "description": "The arithmetic mean of the values in the population. If `count` is zero then this field must be zero.", - "format": "double", - "type": "number" + "declineTime": { + "description": "The last time when the project declined or revoked the agreement to terms of service.", + "format": "google-datetime", + "type": "string" }, - "range": { - "$ref": "GoogleApiDistributionRange", - "description": "If specified, contains the range of the population values. The field must not be present if the `count` is zero." + "id": { + "description": "The unique identifier of this terms of service. Available terms: * `GA_DATA_USE_TERMS`: [Terms for data use](https://cloud.google.com/retail/data-use-terms). When using this as `id`, the acceptable version to provide is `2022-11-23`.", + "type": "string" }, - "sumOfSquaredDeviation": { - "description": "The sum of squared deviations from the mean of the values in the population. For values x_i this is: Sum[i=1..n]((x_i - mean)^2) Knuth, \"The Art of Computer Programming\", Vol. 2, page 232, 3rd edition describes Welford's method for accumulating this sum in one pass. If `count` is zero then this field must be zero.", - "format": "double", - "type": "number" + "state": { + "description": "Whether the project has accepted/rejected the service terms or it is still pending.", + "enum": [ + "STATE_UNSPECIFIED", + "TERMS_ACCEPTED", + "TERMS_PENDING", + "TERMS_DECLINED" + ], + "enumDescriptions": [ + "The default value of the enum. This value is not actually used.", + "The project has given consent to the terms of service.", + "The project is pending to review and accept the terms of service.", + "The project has declined or revoked the agreement to terms of service." + ], + "type": "string" + }, + "version": { + "description": "The version string of the terms of service. For acceptable values, see the comments for id above.", + "type": "string" } }, "type": "object" }, - "GoogleApiDistributionBucketOptions": { - "description": "`BucketOptions` describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. `BucketOptions` does not include the number of values in each bucket. A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite.", - "id": "GoogleApiDistributionBucketOptions", + "GoogleCloudDiscoveryengineV1ProvisionProjectMetadata": { + "description": "Metadata associated with a project provision operation.", + "id": "GoogleCloudDiscoveryengineV1ProvisionProjectMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1PurgeCompletionSuggestionsMetadata": { + "description": "Metadata related to the progress of the PurgeCompletionSuggestions operation. This is returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1PurgeCompletionSuggestionsMetadata", "properties": { - "explicitBuckets": { - "$ref": "GoogleApiDistributionBucketOptionsExplicit", - "description": "The explicit buckets." - }, - "exponentialBuckets": { - "$ref": "GoogleApiDistributionBucketOptionsExponential", - "description": "The exponential buckets." + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" }, - "linearBuckets": { - "$ref": "GoogleApiDistributionBucketOptionsLinear", - "description": "The linear bucket." + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" } }, "type": "object" }, - "GoogleApiDistributionBucketOptionsExplicit": { - "description": "Specifies a set of buckets with arbitrary widths. There are `size(bounds) + 1` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 <= i < N-1): bounds[i] Lower bound (1 <= i < N); bounds[i - 1] The `bounds` field must contain at least one element. If `bounds` has only one element, then there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets.", - "id": "GoogleApiDistributionBucketOptionsExplicit", + "GoogleCloudDiscoveryengineV1PurgeCompletionSuggestionsResponse": { + "description": "Response message for CompletionService.PurgeCompletionSuggestions method.", + "id": "GoogleCloudDiscoveryengineV1PurgeCompletionSuggestionsResponse", "properties": { - "bounds": { - "description": "The values must be monotonically increasing.", + "errorSamples": { + "description": "A sample of errors encountered while processing the request.", "items": { - "format": "double", - "type": "number" + "$ref": "GoogleRpcStatus" }, "type": "array" + }, + "purgeSucceeded": { + "description": "Whether the completion suggestions were successfully purged.", + "type": "boolean" } }, "type": "object" }, - "GoogleApiDistributionBucketOptionsExponential": { - "description": "Specifies an exponential sequence of buckets that have a width that is proportional to the value of the lower bound. Each bucket represents a constant relative uncertainty on a specific value in the bucket. There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 <= i < N-1): scale * (growth_factor ^ i). Lower bound (1 <= i < N): scale * (growth_factor ^ (i - 1)).", - "id": "GoogleApiDistributionBucketOptionsExponential", + "GoogleCloudDiscoveryengineV1PurgeDocumentsMetadata": { + "description": "Metadata related to the progress of the PurgeDocuments operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1PurgeDocumentsMetadata", "properties": { - "growthFactor": { - "description": "Must be greater than 1.", - "format": "double", - "type": "number" + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" }, - "numFiniteBuckets": { - "description": "Must be greater than 0.", - "format": "int32", - "type": "integer" + "failureCount": { + "description": "Count of entries that encountered errors while processing.", + "format": "int64", + "type": "string" }, - "scale": { - "description": "Must be greater than 0.", - "format": "double", - "type": "number" + "ignoredCount": { + "description": "Count of entries that were ignored as entries were not found.", + "format": "int64", + "type": "string" + }, + "successCount": { + "description": "Count of entries that were deleted successfully.", + "format": "int64", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" } }, "type": "object" }, - "GoogleApiDistributionBucketOptionsLinear": { - "description": "Specifies a linear sequence of buckets that all have the same width (except overflow and underflow). Each bucket represents a constant absolute uncertainty on the specific value in the bucket. There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 <= i < N-1): offset + (width * i). Lower bound (1 <= i < N): offset + (width * (i - 1)).", - "id": "GoogleApiDistributionBucketOptionsLinear", + "GoogleCloudDiscoveryengineV1PurgeDocumentsResponse": { + "description": "Response message for DocumentService.PurgeDocuments method. If the long running operation is successfully done, then this message is returned by the google.longrunning.Operations.response field.", + "id": "GoogleCloudDiscoveryengineV1PurgeDocumentsResponse", "properties": { - "numFiniteBuckets": { - "description": "Must be greater than 0.", - "format": "int32", - "type": "integer" + "purgeCount": { + "description": "The total count of documents purged as a result of the operation.", + "format": "int64", + "type": "string" }, - "offset": { - "description": "Lower bound of the first bucket.", - "format": "double", - "type": "number" + "purgeSample": { + "description": "A sample of document names that will be deleted. Only populated if `force` is set to false. A max of 100 names will be returned and the names are chosen at random.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1PurgeSuggestionDenyListEntriesMetadata": { + "description": "Metadata related to the progress of the PurgeSuggestionDenyListEntries operation. This is returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1PurgeSuggestionDenyListEntriesMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" }, - "width": { - "description": "Must be greater than 0.", - "format": "double", - "type": "number" + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" } }, "type": "object" }, - "GoogleApiDistributionExemplar": { - "description": "Exemplars are example points that may be used to annotate aggregated distribution values. They are metadata that gives information about a particular value added to a Distribution bucket, such as a trace ID that was active when a value was added. They may contain further information, such as a example values and timestamps, origin, etc.", - "id": "GoogleApiDistributionExemplar", + "GoogleCloudDiscoveryengineV1PurgeSuggestionDenyListEntriesResponse": { + "description": "Response message for CompletionService.PurgeSuggestionDenyListEntries method.", + "id": "GoogleCloudDiscoveryengineV1PurgeSuggestionDenyListEntriesResponse", "properties": { - "attachments": { - "description": "Contextual information about the example value. Examples are: Trace: type.googleapis.com/google.monitoring.v3.SpanContext Literal string: type.googleapis.com/google.protobuf.StringValue Labels dropped during aggregation: type.googleapis.com/google.monitoring.v3.DroppedLabels There may be only a single attachment of any given message type in a single exemplar, and this is enforced by the system.", - "items": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "type": "object" + "errorSamples": { + "description": "A sample of errors encountered while processing the request.", + "items": { + "$ref": "GoogleRpcStatus" }, "type": "array" }, - "timestamp": { - "description": "The observation (sampling) time of the above value.", - "format": "google-datetime", + "purgeCount": { + "description": "Number of suggestion deny list entries purged.", + "format": "int64", "type": "string" - }, - "value": { - "description": "Value of the exemplar point. This value determines to which bucket the exemplar belongs.", - "format": "double", - "type": "number" } }, "type": "object" }, - "GoogleApiDistributionRange": { - "description": "The range of the population values.", - "id": "GoogleApiDistributionRange", + "GoogleCloudDiscoveryengineV1Schema": { + "description": "Defines the structure and layout of a type of document data.", + "id": "GoogleCloudDiscoveryengineV1Schema", "properties": { - "max": { - "description": "The maximum of the population values.", - "format": "double", - "type": "number" + "jsonSchema": { + "description": "The JSON representation of the schema.", + "type": "string" }, - "min": { - "description": "The minimum of the population values.", - "format": "double", - "type": "number" + "name": { + "description": "Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", + "type": "string" + }, + "structSchema": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The structured representation of the schema.", + "type": "object" } }, "type": "object" }, - "GoogleApiHttpBody": { - "description": "Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.", - "id": "GoogleApiHttpBody", + "GoogleCloudDiscoveryengineV1SearchLinkPromotion": { + "description": "Promotion proto includes uri and other helping information to display the promotion.", + "id": "GoogleCloudDiscoveryengineV1SearchLinkPromotion", "properties": { - "contentType": { - "description": "The HTTP Content-Type header value specifying the content type of the body.", + "description": { + "description": "Optional. The Promotion description. Maximum length: 200 characters.", "type": "string" }, - "data": { - "description": "The HTTP request/response body as raw binary.", - "format": "byte", + "enabled": { + "description": "Optional. The enabled promotion will be returned for any serving configs associated with the parent of the control this promotion is attached to. This flag is used for basic site search only.", + "type": "boolean" + }, + "imageUri": { + "description": "Optional. The promotion thumbnail image url.", "type": "string" }, - "extensions": { - "description": "Application specific response metadata. Must be set in the first response for streaming APIs.", - "items": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "type": "object" - }, - "type": "array" + "title": { + "description": "Required. The title of the promotion. Maximum length: 160 characters.", + "type": "string" + }, + "uri": { + "description": "Required. The URL for the page the user wants to promote.", + "type": "string" } }, "type": "object" }, - "GoogleApiMonitoredResource": { - "description": "An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The `type` field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the `labels` field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for `\"gce_instance\"` has labels `\"project_id\"`, `\"instance_id\"` and `\"zone\"`: { \"type\": \"gce_instance\", \"labels\": { \"project_id\": \"my-project\", \"instance_id\": \"12345678901234\", \"zone\": \"us-central1-a\" }}", - "id": "GoogleApiMonitoredResource", + "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec": { + "description": "A specification for configuring the behavior of content search.", + "id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec", "properties": { - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels `\"project_id\"`, `\"instance_id\"`, and `\"zone\"`.", - "type": "object" + "chunkSpec": { + "$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecChunkSpec", + "description": "Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS" }, - "type": { - "description": "Required. The monitored resource type. This field must match the `type` field of a MonitoredResourceDescriptor object. For example, the type of a Compute Engine VM instance is `gce_instance`. Some descriptors include the service name in the type; for example, the type of a Datastream stream is `datastream.googleapis.com/Stream`.", + "extractiveContentSpec": { + "$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecExtractiveContentSpec", + "description": "If there is no extractive_content_spec provided, there will be no extractive answer in the search response." + }, + "searchResultMode": { + "description": "Specifies the search result mode. If unspecified, the search result mode defaults to `DOCUMENTS`.", + "enum": [ + "SEARCH_RESULT_MODE_UNSPECIFIED", + "DOCUMENTS", + "CHUNKS" + ], + "enumDescriptions": [ + "Default value.", + "Returns documents in the search result.", + "Returns chunks in the search result. Only available if the DocumentProcessingConfig.chunking_config is specified." + ], "type": "string" + }, + "snippetSpec": { + "$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSnippetSpec", + "description": "If `snippetSpec` is not specified, snippets are not included in the search response." + }, + "summarySpec": { + "$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpec", + "description": "If `summarySpec` is not specified, summaries are not included in the search response." } }, "type": "object" }, - "GoogleCloudDiscoveryengineLoggingErrorContext": { - "description": "A description of the context in which an error occurred.", - "id": "GoogleCloudDiscoveryengineLoggingErrorContext", + "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecChunkSpec": { + "description": "Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS", + "id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecChunkSpec", "properties": { - "httpRequest": { - "$ref": "GoogleCloudDiscoveryengineLoggingHttpRequestContext", - "description": "The HTTP request which was processed when the error was triggered." + "numNextChunks": { + "description": "The number of next chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no next chunks will be returned.", + "format": "int32", + "type": "integer" }, - "reportLocation": { - "$ref": "GoogleCloudDiscoveryengineLoggingSourceLocation", - "description": "The location in the source code where the decision was made to report the error, usually the place where it was logged." + "numPreviousChunks": { + "description": "The number of previous chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no previous chunks will be returned.", + "format": "int32", + "type": "integer" } }, "type": "object" }, - "GoogleCloudDiscoveryengineLoggingErrorLog": { - "description": "An error log which is reported to the Error Reporting system.", - "id": "GoogleCloudDiscoveryengineLoggingErrorLog", + "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecExtractiveContentSpec": { + "description": "A specification for configuring the extractive content in a search response.", + "id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecExtractiveContentSpec", "properties": { - "context": { - "$ref": "GoogleCloudDiscoveryengineLoggingErrorContext", - "description": "A description of the context in which the error occurred." - }, - "importPayload": { - "$ref": "GoogleCloudDiscoveryengineLoggingImportErrorContext", - "description": "The error payload that is populated on LRO import APIs." - }, - "message": { - "description": "A message describing the error.", - "type": "string" + "maxExtractiveAnswerCount": { + "description": "The maximum number of extractive answers returned in each search result. An extractive answer is a verbatim answer extracted from the original document, which provides a precise and contextually relevant answer to the search query. If the number of matching answers is less than the `max_extractive_answer_count`, return all of the answers. Otherwise, return the `max_extractive_answer_count`. At most five answers are returned for each SearchResult.", + "format": "int32", + "type": "integer" }, - "requestPayload": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "The API request payload, represented as a protocol buffer. Most API request types are supported—for example: * `type.googleapis.com/google.cloud.discoveryengine.v1alpha.DocumentService.CreateDocumentRequest` * `type.googleapis.com/google.cloud.discoveryengine.v1alpha.UserEventService.WriteUserEventRequest`", - "type": "object" + "maxExtractiveSegmentCount": { + "description": "The max number of extractive segments returned in each search result. Only applied if the DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED or DataStore.solution_types is SOLUTION_TYPE_CHAT. An extractive segment is a text segment extracted from the original document that is relevant to the search query, and, in general, more verbose than an extractive answer. The segment could then be used as input for LLMs to generate summaries and answers. If the number of matching segments is less than `max_extractive_segment_count`, return all of the segments. Otherwise, return the `max_extractive_segment_count`.", + "format": "int32", + "type": "integer" }, - "responsePayload": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "The API response payload, represented as a protocol buffer. This is used to log some \"soft errors\", where the response is valid but we consider there are some quality issues like unjoined events. The following API responses are supported, and no PII is included: * `google.cloud.discoveryengine.v1alpha.RecommendationService.Recommend` * `google.cloud.discoveryengine.v1alpha.UserEventService.WriteUserEvent` * `google.cloud.discoveryengine.v1alpha.UserEventService.CollectUserEvent`", - "type": "object" + "numNextSegments": { + "description": "Return at most `num_next_segments` segments after each selected segments.", + "format": "int32", + "type": "integer" }, - "serviceContext": { - "$ref": "GoogleCloudDiscoveryengineLoggingServiceContext", - "description": "The service context in which this error has occurred." + "numPreviousSegments": { + "description": "Specifies whether to also include the adjacent from each selected segments. Return at most `num_previous_segments` segments before each selected segments.", + "format": "int32", + "type": "integer" }, - "status": { - "$ref": "GoogleRpcStatus", - "description": "The RPC status associated with the error log." + "returnExtractiveSegmentScore": { + "description": "Specifies whether to return the confidence score from the extractive segments in each search result. This feature is available only for new or allowlisted data stores. To allowlist your data store, contact your Customer Engineer. The default value is `false`.", + "type": "boolean" } }, "type": "object" }, - "GoogleCloudDiscoveryengineLoggingHttpRequestContext": { - "description": "HTTP request data that is related to a reported error.", - "id": "GoogleCloudDiscoveryengineLoggingHttpRequestContext", + "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSnippetSpec": { + "description": "A specification for configuring snippets in a search response.", + "id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSnippetSpec", "properties": { - "responseStatusCode": { - "description": "The HTTP response status code for the request.", + "maxSnippetCount": { + "deprecated": true, + "description": "[DEPRECATED] This field is deprecated. To control snippet return, use `return_snippet` field. For backwards compatibility, we will return snippet if max_snippet_count > 0.", "format": "int32", "type": "integer" + }, + "referenceOnly": { + "deprecated": true, + "description": "[DEPRECATED] This field is deprecated and will have no affect on the snippet.", + "type": "boolean" + }, + "returnSnippet": { + "description": "If `true`, then return snippet. If no snippet can be generated, we return \"No snippet is available for this page.\" A `snippet_status` with `SUCCESS` or `NO_SNIPPET_AVAILABLE` will also be returned.", + "type": "boolean" } }, "type": "object" }, - "GoogleCloudDiscoveryengineLoggingImportErrorContext": { - "description": "The error payload that is populated on LRO import APIs, including the following: * `google.cloud.discoveryengine.v1alpha.DocumentService.ImportDocuments` * `google.cloud.discoveryengine.v1alpha.UserEventService.ImportUserEvents`", - "id": "GoogleCloudDiscoveryengineLoggingImportErrorContext", + "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpec": { + "description": "A specification for configuring a summary returned in a search response.", + "id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpec", "properties": { - "document": { - "description": "The detailed content which caused the error on importing a document.", - "type": "string" + "ignoreAdversarialQuery": { + "description": "Specifies whether to filter out adversarial queries. The default value is `false`. Google employs search-query classification to detect adversarial queries. No summary is returned if the search query is classified as an adversarial query. For example, a user might ask a question regarding negative comments about the company or submit a query designed to generate unsafe, policy-violating output. If this field is set to `true`, we skip generating summaries for adversarial queries and return fallback messages instead.", + "type": "boolean" }, - "gcsPath": { - "description": "Google Cloud Storage file path of the import source. Can be set for batch operation error.", - "type": "string" + "ignoreJailBreakingQuery": { + "description": "Optional. Specifies whether to filter out jail-breaking queries. The default value is `false`. Google employs search-query classification to detect jail-breaking queries. No summary is returned if the search query is classified as a jail-breaking query. A user might add instructions to the query to change the tone, style, language, content of the answer, or ask the model to act as a different entity, e.g. \"Reply in the tone of a competing company's CEO\". If this field is set to `true`, we skip generating summaries for jail-breaking queries and return fallback messages instead.", + "type": "boolean" }, - "lineNumber": { - "description": "Line number of the content in file. Should be empty for permission or batch operation error.", - "type": "string" + "ignoreLowRelevantContent": { + "description": "Specifies whether to filter out queries that have low relevance. The default value is `false`. If this field is set to `false`, all search results are used regardless of relevance to generate answers. If set to `true`, only queries with high relevance search results will generate answers.", + "type": "boolean" }, - "operation": { - "description": "The operation resource name of the LRO.", - "type": "string" + "ignoreNonSummarySeekingQuery": { + "description": "Specifies whether to filter out queries that are not summary-seeking. The default value is `false`. Google employs search-query classification to detect summary-seeking queries. No summary is returned if the search query is classified as a non-summary seeking query. For example, `why is the sky blue` and `Who is the best soccer player in the world?` are summary-seeking queries, but `SFO airport` and `world cup 2026` are not. They are most likely navigational queries. If this field is set to `true`, we skip generating summaries for non-summary seeking queries and return fallback messages instead.", + "type": "boolean" }, - "userEvent": { - "description": "The detailed content which caused the error on importing a user event.", + "includeCitations": { + "description": "Specifies whether to include citations in the summary. The default value is `false`. When this field is set to `true`, summaries include in-line citation numbers. Example summary including citations: BigQuery is Google Cloud's fully managed and completely serverless enterprise data warehouse [1]. BigQuery supports all data types, works across clouds, and has built-in machine learning and business intelligence, all within a unified platform [2, 3]. The citation numbers refer to the returned search results and are 1-indexed. For example, [1] means that the sentence is attributed to the first search result. [2, 3] means that the sentence is attributed to both the second and third search results.", + "type": "boolean" + }, + "languageCode": { + "description": "Language code for Summary. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Note: This is an experimental feature.", "type": "string" + }, + "modelPromptSpec": { + "$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelPromptSpec", + "description": "If specified, the spec will be used to modify the prompt provided to the LLM." + }, + "modelSpec": { + "$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelSpec", + "description": "If specified, the spec will be used to modify the model specification provided to the LLM." + }, + "summaryResultCount": { + "description": "The number of top results to generate the summary from. If the number of results returned is less than `summaryResultCount`, the summary is generated from all of the results. At most 10 results for documents mode, or 50 for chunks mode, can be used to generate a summary. The chunks mode is used when SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS.", + "format": "int32", + "type": "integer" + }, + "useSemanticChunks": { + "description": "If true, answer will be generated from most relevant chunks from top search results. This feature will improve summary quality. Note that with this feature enabled, not all top search results will be referenced and included in the reference list, so the citation source index only points to the search results listed in the reference list.", + "type": "boolean" } }, "type": "object" }, - "GoogleCloudDiscoveryengineLoggingServiceContext": { - "description": "Describes a running service that sends errors.", - "id": "GoogleCloudDiscoveryengineLoggingServiceContext", + "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelPromptSpec": { + "description": "Specification of the prompt to use with the model.", + "id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelPromptSpec", "properties": { - "service": { - "description": "An identifier of the service—for example, `discoveryengine.googleapis.com`.", + "preamble": { + "description": "Text at the beginning of the prompt that instructs the assistant. Examples are available in the user guide.", "type": "string" } }, "type": "object" - }, - "GoogleCloudDiscoveryengineLoggingSourceLocation": { - "description": "Indicates a location in the source code of the service for which errors are reported.", - "id": "GoogleCloudDiscoveryengineLoggingSourceLocation", + }, + "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelSpec": { + "description": "Specification of the model.", + "id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelSpec", "properties": { - "functionName": { - "description": "Human-readable name of a function or method—for example, `google.cloud.discoveryengine.v1alpha.RecommendationService.Recommend`.", + "version": { + "description": "The model version used to generate the summary. Supported values are: * `stable`: string. Default value when no value is specified. Uses a generally available, fine-tuned model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models). * `preview`: string. (Public preview) Uses a preview model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models).", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1BatchCreateTargetSiteMetadata": { - "description": "Metadata related to the progress of the SiteSearchEngineService.BatchCreateTargetSites operation. This will be returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1BatchCreateTargetSiteMetadata", + "GoogleCloudDiscoveryengineV1ServingConfig": { + "description": "Configures metadata that is used to generate serving time results (e.g. search results or recommendation predictions). The ServingConfig is passed in the search and predict request and generates results.", + "id": "GoogleCloudDiscoveryengineV1ServingConfig", "properties": { + "boostControlIds": { + "description": "Boost controls to use in serving path. All triggered boost controls will be applied. Boost controls must be in the same data store as the serving config. Maximum of 20 boost controls.", + "items": { + "type": "string" + }, + "type": "array" + }, "createTime": { - "description": "Operation create time.", + "description": "Output only. ServingConfig created timestamp.", "format": "google-datetime", + "readOnly": true, "type": "string" }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", + "displayName": { + "description": "Required. The human readable serving config display name. Used in Discovery UI. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1BatchCreateTargetSitesResponse": { - "description": "Response message for SiteSearchEngineService.BatchCreateTargetSites method.", - "id": "GoogleCloudDiscoveryengineV1BatchCreateTargetSitesResponse", - "properties": { - "targetSites": { - "description": "TargetSites created.", + }, + "dissociateControlIds": { + "description": "Condition do not associate specifications. If multiple do not associate conditions match, all matching do not associate controls in the list will execute. Order does not matter. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", "items": { - "$ref": "GoogleCloudDiscoveryengineV1TargetSite" + "type": "string" }, "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1Condition": { - "description": "Defines circumstances to be checked before allowing a behavior", - "id": "GoogleCloudDiscoveryengineV1Condition", - "properties": { - "activeTimeRange": { - "description": "Range of time(s) specifying when condition is active. Maximum of 10 time ranges.", + }, + "diversityLevel": { + "description": "How much diversity to use in recommendation model results e.g. `medium-diversity` or `high-diversity`. Currently supported values: * `no-diversity` * `low-diversity` * `medium-diversity` * `high-diversity` * `auto-diversity` If not specified, we choose default based on recommendation model type. Default value: `no-diversity`. Can only be set if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", + "type": "string" + }, + "filterControlIds": { + "description": "Filter controls to use in serving path. All triggered filter controls will be applied. Filter controls must be in the same data store as the serving config. Maximum of 20 filter controls.", "items": { - "$ref": "GoogleCloudDiscoveryengineV1ConditionTimeRange" + "type": "string" }, "type": "array" }, - "queryTerms": { - "description": "Search only A list of terms to match the query on. Maximum of 10 query terms.", + "genericConfig": { + "$ref": "GoogleCloudDiscoveryengineV1ServingConfigGenericConfig", + "description": "The GenericConfig of the serving configuration." + }, + "ignoreControlIds": { + "description": "Condition ignore specifications. If multiple ignore conditions match, all matching ignore controls in the list will execute. Order does not matter. Maximum number of specifications is 100.", "items": { - "$ref": "GoogleCloudDiscoveryengineV1ConditionQueryTerm" + "type": "string" }, "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1ConditionQueryTerm": { - "description": "Matcher for search request query", - "id": "GoogleCloudDiscoveryengineV1ConditionQueryTerm", - "properties": { - "fullMatch": { - "description": "Whether the search query needs to exactly match the query term.", - "type": "boolean" }, - "value": { - "description": "The specific query value to match against Must be lowercase, must be UTF-8. Can have at most 3 space separated terms if full_match is true. Cannot be an empty string. Maximum length of 5000 characters.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1ConditionTimeRange": { - "description": "Used for time-dependent conditions.", - "id": "GoogleCloudDiscoveryengineV1ConditionTimeRange", - "properties": { - "endTime": { - "description": "End of time range. Range is inclusive. Must be in the future.", - "format": "google-datetime", + "mediaConfig": { + "$ref": "GoogleCloudDiscoveryengineV1ServingConfigMediaConfig", + "description": "The MediaConfig of the serving configuration." + }, + "modelId": { + "description": "The id of the model to use at serving time. Currently only RecommendationModels are supported. Can be changed but only to a compatible model (e.g. others-you-may-like CTR to others-you-may-like CVR). Required when SolutionType is SOLUTION_TYPE_RECOMMENDATION.", "type": "string" }, - "startTime": { - "description": "Start of time range. Range is inclusive.", - "format": "google-datetime", + "name": { + "description": "Immutable. Fully qualified name `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/servingConfigs/{serving_config_id}`", "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1Control": { - "description": "Defines a conditioned behavior to employ during serving. Must be attached to a ServingConfig to be considered at serving time. Permitted actions dependent on `SolutionType`.", - "id": "GoogleCloudDiscoveryengineV1Control", - "properties": { - "associatedServingConfigIds": { - "description": "Output only. List of all ServingConfig IDs this control is attached to. May take up to 10 minutes to update after changes.", + }, + "onewaySynonymsControlIds": { + "description": "Condition oneway synonyms specifications. If multiple oneway synonyms conditions match, all matching oneway synonyms controls in the list will execute. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", "items": { "type": "string" }, - "readOnly": true, "type": "array" }, - "boostAction": { - "$ref": "GoogleCloudDiscoveryengineV1ControlBoostAction", - "description": "Defines a boost-type control" - }, - "conditions": { - "description": "Determines when the associated action will trigger. Omit to always apply the action. Currently only a single condition may be specified. Otherwise an INVALID ARGUMENT error is thrown.", + "promoteControlIds": { + "description": "Condition promote specifications. Maximum number of specifications is 100.", "items": { - "$ref": "GoogleCloudDiscoveryengineV1Condition" + "type": "string" }, "type": "array" }, - "displayName": { - "description": "Required. Human readable name. The identifier used in UI views. Must be UTF-8 encoded string. Length limit is 128 characters. Otherwise an INVALID ARGUMENT error is thrown.", + "rankingExpression": { + "description": "The ranking expression controls the customized ranking on retrieval documents. To leverage this, document embedding is required. The ranking expression setting in ServingConfig applies to all search requests served by the serving config. However, if `SearchRequest.ranking_expression` is specified, it overrides the ServingConfig ranking expression. The ranking expression is a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between embedding_field_path and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`.", "type": "string" }, - "filterAction": { - "$ref": "GoogleCloudDiscoveryengineV1ControlFilterAction", - "description": "Defines a filter-type control Currently not supported by Recommendation" - }, - "name": { - "description": "Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*`", - "type": "string" + "redirectControlIds": { + "description": "IDs of the redirect controls. Only the first triggered redirect action is applied, even if multiple apply. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", + "items": { + "type": "string" + }, + "type": "array" }, - "redirectAction": { - "$ref": "GoogleCloudDiscoveryengineV1ControlRedirectAction", - "description": "Defines a redirect-type control." + "replacementControlIds": { + "description": "Condition replacement specifications. Applied according to the order in the list. A previously replaced term can not be re-replaced. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", + "items": { + "type": "string" + }, + "type": "array" }, "solutionType": { - "description": "Required. Immutable. What solution the control belongs to. Must be compatible with vertical of resource. Otherwise an INVALID ARGUMENT error is thrown.", + "description": "Required. Immutable. Specifies the solution type that a serving config can be associated with.", "enum": [ "SOLUTION_TYPE_UNSPECIFIED", "SOLUTION_TYPE_RECOMMENDATION", @@ -7993,317 +10652,259 @@ ], "type": "string" }, - "synonymsAction": { - "$ref": "GoogleCloudDiscoveryengineV1ControlSynonymsAction", - "description": "Treats a group of terms as synonyms of one another." - }, - "useCases": { - "description": "Specifies the use case for the control. Affects what condition fields can be set. Only applies to SOLUTION_TYPE_SEARCH. Currently only allow one use case per control. Must be set when solution_type is SolutionType.SOLUTION_TYPE_SEARCH.", + "synonymsControlIds": { + "description": "Condition synonyms specifications. If multiple synonyms conditions match, all matching synonyms controls in the list will execute. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", "items": { - "enum": [ - "SEARCH_USE_CASE_UNSPECIFIED", - "SEARCH_USE_CASE_SEARCH", - "SEARCH_USE_CASE_BROWSE" - ], - "enumDescriptions": [ - "Value used when unset. Will not occur in CSS.", - "Search use case. Expects the traffic has a non-empty query.", - "Browse use case. Expects the traffic has an empty query." - ], "type": "string" }, "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1ControlBoostAction": { - "description": "Adjusts order of products in returned list.", - "id": "GoogleCloudDiscoveryengineV1ControlBoostAction", - "properties": { - "boost": { - "description": "Required. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", - "format": "float", - "type": "number" - }, - "dataStore": { - "description": "Required. Specifies which data store's documents can be boosted by this control. Full data store name e.g. projects/123/locations/global/collections/default_collection/dataStores/default_data_store", - "type": "string" - }, - "filter": { - "description": "Required. Specifies which products to apply the boost to. If no filter is provided all products will be boosted (No-op). Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1ControlFilterAction": { - "description": "Specified which products may be included in results. Uses same filter as boost.", - "id": "GoogleCloudDiscoveryengineV1ControlFilterAction", - "properties": { - "dataStore": { - "description": "Required. Specifies which data store's documents can be filtered by this control. Full data store name e.g. projects/123/locations/global/collections/default_collection/dataStores/default_data_store", - "type": "string" }, - "filter": { - "description": "Required. A filter to apply on the matching condition results. Required Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1ControlRedirectAction": { - "description": "Redirects a shopper to the provided URI.", - "id": "GoogleCloudDiscoveryengineV1ControlRedirectAction", - "properties": { - "redirectUri": { - "description": "Required. The URI to which the shopper will be redirected. Required. URI must have length equal or less than 2000 characters. Otherwise an INVALID ARGUMENT error is thrown.", + "updateTime": { + "description": "Output only. ServingConfig updated timestamp.", + "format": "google-datetime", + "readOnly": true, "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1ControlSynonymsAction": { - "description": "Creates a set of terms that will act as synonyms of one another. Example: \"happy\" will also be considered as \"glad\", \"glad\" will also be considered as \"happy\".", - "id": "GoogleCloudDiscoveryengineV1ControlSynonymsAction", + "GoogleCloudDiscoveryengineV1ServingConfigGenericConfig": { + "description": "Specifies the configurations needed for Generic Discovery.Currently we support: * `content_search_spec`: configuration for generic content search.", + "id": "GoogleCloudDiscoveryengineV1ServingConfigGenericConfig", "properties": { - "synonyms": { - "description": "Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at least 2 synonyms. Otherwise an INVALID ARGUMENT error is thrown.", - "items": { - "type": "string" - }, - "type": "array" + "contentSearchSpec": { + "$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec", + "description": "Specifies the expected behavior of content search. Only valid for content-search enabled data store." } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1CreateDataStoreMetadata": { - "description": "Metadata related to the progress of the DataStoreService.CreateDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1CreateDataStoreMetadata", + "GoogleCloudDiscoveryengineV1ServingConfigMediaConfig": { + "description": "Specifies the configurations needed for Media Discovery. Currently we support: * `demote_content_watched`: Threshold for watched content demotion. Customers can specify if using watched content demotion or use viewed detail page. Using the content watched demotion, customers need to specify the watched minutes or percentage exceeds the threshold, the content will be demoted in the recommendation result. * `promote_fresh_content`: cutoff days for fresh content promotion. Customers can specify if using content freshness promotion. If the content was published within the cutoff days, the content will be promoted in the recommendation result. Can only be set if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", + "id": "GoogleCloudDiscoveryengineV1ServingConfigMediaConfig", "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", - "type": "string" + "contentFreshnessCutoffDays": { + "description": "Specifies the content freshness used for recommendation result. Contents will be demoted if contents were published for more than content freshness cutoff days.", + "format": "int32", + "type": "integer" }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1CreateEngineMetadata": { - "description": "Metadata related to the progress of the EngineService.CreateEngine operation. This will be returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1CreateEngineMetadata", - "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", - "type": "string" + "contentWatchedPercentageThreshold": { + "description": "Specifies the content watched percentage threshold for demotion. Threshold value must be between [0, 1.0] inclusive.", + "format": "float", + "type": "number" }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", + "contentWatchedSecondsThreshold": { + "description": "Specifies the content watched minutes threshold for demotion.", + "format": "float", + "type": "number" + }, + "demoteContentWatchedPastDays": { + "description": "Optional. Specifies the number of days to look back for demoting watched content. If set to zero or unset, defaults to the maximum of 365 days.", + "format": "int32", + "type": "integer" + }, + "demotionEventType": { + "description": "Specifies the event type used for demoting recommendation result. Currently supported values: * `view-item`: Item viewed. * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. If unset, watch history demotion will not be applied. Content freshness demotion will still be applied.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1CreateSchemaMetadata": { - "description": "Metadata for Create Schema LRO.", - "id": "GoogleCloudDiscoveryengineV1CreateSchemaMetadata", + "GoogleCloudDiscoveryengineV1SingleRegionKey": { + "description": "Metadata for single-regional CMEKs.", + "id": "GoogleCloudDiscoveryengineV1SingleRegionKey", "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", - "type": "string" - }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", + "kmsKey": { + "description": "Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1CreateTargetSiteMetadata": { - "description": "Metadata related to the progress of the SiteSearchEngineService.CreateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1CreateTargetSiteMetadata", + "GoogleCloudDiscoveryengineV1SiteVerificationInfo": { + "description": "Verification information for target sites in advanced site search.", + "id": "GoogleCloudDiscoveryengineV1SiteVerificationInfo", "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", + "siteVerificationState": { + "description": "Site verification state indicating the ownership and validity.", + "enum": [ + "SITE_VERIFICATION_STATE_UNSPECIFIED", + "VERIFIED", + "UNVERIFIED", + "EXEMPTED" + ], + "enumDescriptions": [ + "Defaults to VERIFIED.", + "Site ownership verified.", + "Site ownership pending verification or verification failed.", + "Site exempt from verification, e.g., a public website that opens to all." + ], "type": "string" }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", + "verifyTime": { + "description": "Latest site verification time.", "format": "google-datetime", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1DataStore": { - "description": "DataStore captures global settings and configs at the DataStore level.", - "id": "GoogleCloudDiscoveryengineV1DataStore", + "GoogleCloudDiscoveryengineV1TargetSite": { + "description": "A target site for the SiteSearchEngine.", + "id": "GoogleCloudDiscoveryengineV1TargetSite", "properties": { - "billingEstimation": { - "$ref": "GoogleCloudDiscoveryengineV1DataStoreBillingEstimation", - "description": "Output only. Data size estimation for billing.", + "exactMatch": { + "description": "Immutable. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine.", + "type": "boolean" + }, + "failureReason": { + "$ref": "GoogleCloudDiscoveryengineV1TargetSiteFailureReason", + "description": "Output only. Failure reason.", "readOnly": true }, - "contentConfig": { - "description": "Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.", + "generatedUriPattern": { + "description": "Output only. This is system-generated based on the provided_uri_pattern.", + "readOnly": true, + "type": "string" + }, + "indexingStatus": { + "description": "Output only. Indexing status.", "enum": [ - "CONTENT_CONFIG_UNSPECIFIED", - "NO_CONTENT", - "CONTENT_REQUIRED", - "PUBLIC_WEBSITE", - "GOOGLE_WORKSPACE" + "INDEXING_STATUS_UNSPECIFIED", + "PENDING", + "FAILED", + "SUCCEEDED", + "DELETING" ], "enumDescriptions": [ - "Default value.", - "Only contains documents without any Document.content.", - "Only contains documents with Document.content.", - "The data store is used for public website search.", - "The data store is used for workspace search. Details of workspace data store are specified in the WorkspaceConfig." + "Defaults to SUCCEEDED.", + "The target site is in the update queue and will be picked up by indexing pipeline.", + "The target site fails to be indexed.", + "The target site has been indexed.", + "The previously indexed target site has been marked to be deleted. This is a transitioning state which will resulted in either: 1. target site deleted if unindexing is successful; 2. state reverts to SUCCEEDED if the unindexing fails." ], + "readOnly": true, "type": "string" }, - "createTime": { - "description": "Output only. Timestamp the DataStore was created at.", - "format": "google-datetime", + "name": { + "description": "Output only. The fully qualified resource name of the target site. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}` The `target_site_id` is system-generated.", "readOnly": true, "type": "string" }, - "defaultSchemaId": { - "description": "Output only. The id of the default Schema asscociated to this data store.", - "readOnly": true, + "providedUriPattern": { + "description": "Required. Input only. The user provided URI pattern from which the `generated_uri_pattern` is generated.", "type": "string" }, - "displayName": { - "description": "Required. The data store display name. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", + "rootDomainUri": { + "description": "Output only. Root domain of the provided_uri_pattern.", + "readOnly": true, "type": "string" }, - "documentProcessingConfig": { - "$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfig", - "description": "Configuration for Document understanding and enrichment." + "siteVerificationInfo": { + "$ref": "GoogleCloudDiscoveryengineV1SiteVerificationInfo", + "description": "Output only. Site ownership and validity verification status.", + "readOnly": true }, - "industryVertical": { - "description": "Immutable. The industry vertical that the data store registers.", + "type": { + "description": "The type of the target site, e.g., whether the site is to be included or excluded.", "enum": [ - "INDUSTRY_VERTICAL_UNSPECIFIED", - "GENERIC", - "MEDIA", - "HEALTHCARE_FHIR" + "TYPE_UNSPECIFIED", + "INCLUDE", + "EXCLUDE" ], "enumDescriptions": [ - "Value used when unset.", - "The generic vertical for documents that are not specific to any industry vertical.", - "The media industry vertical.", - "The healthcare FHIR vertical." + "This value is unused. In this case, server behavior defaults to Type.INCLUDE.", + "Include the target site.", + "Exclude the target site." ], "type": "string" }, - "name": { - "description": "Immutable. The full resource name of the data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", + "updateTime": { + "description": "Output only. The target site's last updated time.", + "format": "google-datetime", + "readOnly": true, "type": "string" - }, - "servingConfigDataStore": { - "$ref": "GoogleCloudDiscoveryengineV1ServingConfigDataStore", - "description": "Optional. Stores serving config at DataStore level." - }, - "solutionTypes": { - "description": "The solutions that the data store enrolls. Available solutions for each industry_vertical: * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`. * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other solutions cannot be enrolled.", - "items": { - "enum": [ - "SOLUTION_TYPE_UNSPECIFIED", - "SOLUTION_TYPE_RECOMMENDATION", - "SOLUTION_TYPE_SEARCH", - "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" - ], - "enumDescriptions": [ - "Default value.", - "Used for Recommendations AI.", - "Used for Discovery Search.", - "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." - ], - "type": "string" - }, - "type": "array" - }, - "startingSchema": { - "$ref": "GoogleCloudDiscoveryengineV1Schema", - "description": "The start schema to use for this DataStore when provisioning it. If unset, a default vertical specialized schema will be used. This field is only used by CreateDataStore API, and will be ignored if used in other APIs. This field will be omitted from all API responses including CreateDataStore API. To retrieve a schema of a DataStore, use SchemaService.GetSchema API instead. The provided schema will be validated against certain rules on schema. Learn more from [this doc](https://cloud.google.com/generative-ai-app-builder/docs/provide-schema)." - }, - "workspaceConfig": { - "$ref": "GoogleCloudDiscoveryengineV1WorkspaceConfig", - "description": "Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE." } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1DataStoreBillingEstimation": { - "description": "Estimation of data size per data store.", - "id": "GoogleCloudDiscoveryengineV1DataStoreBillingEstimation", + "GoogleCloudDiscoveryengineV1TargetSiteFailureReason": { + "description": "Site search indexing failure reasons.", + "id": "GoogleCloudDiscoveryengineV1TargetSiteFailureReason", "properties": { - "structuredDataSize": { - "description": "Data size for structured data in terms of bytes.", - "format": "int64", - "type": "string" - }, - "structuredDataUpdateTime": { - "description": "Last updated timestamp for structured data.", - "format": "google-datetime", - "type": "string" - }, - "unstructuredDataSize": { - "description": "Data size for unstructured data in terms of bytes.", + "quotaFailure": { + "$ref": "GoogleCloudDiscoveryengineV1TargetSiteFailureReasonQuotaFailure", + "description": "Failed due to insufficient quota." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1TargetSiteFailureReasonQuotaFailure": { + "description": "Failed due to insufficient quota.", + "id": "GoogleCloudDiscoveryengineV1TargetSiteFailureReasonQuotaFailure", + "properties": { + "totalRequiredQuota": { + "description": "This number is an estimation on how much total quota this project needs to successfully complete indexing.", "format": "int64", "type": "string" - }, - "unstructuredDataUpdateTime": { - "description": "Last updated timestamp for unstructured data.", + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1TrainCustomModelMetadata": { + "description": "Metadata related to the progress of the TrainCustomModel operation. This is returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1TrainCustomModelMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", "format": "google-datetime", "type": "string" }, - "websiteDataSize": { - "description": "Data size for websites in terms of bytes.", - "format": "int64", - "type": "string" - }, - "websiteDataUpdateTime": { - "description": "Last updated timestamp for websites.", + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", "format": "google-datetime", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1DeleteDataStoreMetadata": { - "description": "Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1DeleteDataStoreMetadata", + "GoogleCloudDiscoveryengineV1TrainCustomModelResponse": { + "description": "Response of the TrainCustomModelRequest. This message is returned by the google.longrunning.Operations.response field.", + "id": "GoogleCloudDiscoveryengineV1TrainCustomModelResponse", "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", + "errorConfig": { + "$ref": "GoogleCloudDiscoveryengineV1ImportErrorConfig", + "description": "Echoes the destination for the complete errors in the request if set." + }, + "errorSamples": { + "description": "A sample of errors encountered while processing the data.", + "items": { + "$ref": "GoogleRpcStatus" + }, + "type": "array" + }, + "metrics": { + "additionalProperties": { + "format": "double", + "type": "number" + }, + "description": "The metrics of the trained model.", + "type": "object" + }, + "modelName": { + "description": "Fully qualified name of the CustomTuningModel.", "type": "string" }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", + "modelStatus": { + "description": "The trained model status. Possible values are: * **bad-data**: The training data quality is bad. * **no-improvement**: Tuning didn't improve performance. Won't deploy. * **in-progress**: Model training job creation is in progress. * **training**: Model is actively training. * **evaluating**: The model is evaluating trained metrics. * **indexing**: The model trained metrics are indexing. * **ready**: The model is ready for serving.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1DeleteEngineMetadata": { - "description": "Metadata related to the progress of the EngineService.DeleteEngine operation. This will be returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1DeleteEngineMetadata", + "GoogleCloudDiscoveryengineV1UpdateCmekConfigMetadata": { + "description": "Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1UpdateCmekConfigMetadata", "properties": { "createTime": { "description": "Operation create time.", @@ -8318,9 +10919,9 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1DeleteSchemaMetadata": { - "description": "Metadata for DeleteSchema LRO.", - "id": "GoogleCloudDiscoveryengineV1DeleteSchemaMetadata", + "GoogleCloudDiscoveryengineV1UpdateSchemaMetadata": { + "description": "Metadata for UpdateSchema LRO.", + "id": "GoogleCloudDiscoveryengineV1UpdateSchemaMetadata", "properties": { "createTime": { "description": "Operation create time.", @@ -8335,9 +10936,9 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1DeleteTargetSiteMetadata": { - "description": "Metadata related to the progress of the SiteSearchEngineService.DeleteTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1DeleteTargetSiteMetadata", + "GoogleCloudDiscoveryengineV1UpdateTargetSiteMetadata": { + "description": "Metadata related to the progress of the SiteSearchEngineService.UpdateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1UpdateTargetSiteMetadata", "properties": { "createTime": { "description": "Operation create time.", @@ -8352,1161 +10953,1299 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1DisableAdvancedSiteSearchMetadata": { - "description": "Metadata related to the progress of the SiteSearchEngineService.DisableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1DisableAdvancedSiteSearchMetadata", + "GoogleCloudDiscoveryengineV1WorkspaceConfig": { + "description": "Config to store data store type configuration for workspace data", + "id": "GoogleCloudDiscoveryengineV1WorkspaceConfig", "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", + "dasherCustomerId": { + "description": "Obfuscated Dasher customer ID.", "type": "string" }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", + "superAdminEmailAddress": { + "description": "Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.", "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1DisableAdvancedSiteSearchResponse": { - "description": "Response message for SiteSearchEngineService.DisableAdvancedSiteSearch method.", - "id": "GoogleCloudDiscoveryengineV1DisableAdvancedSiteSearchResponse", - "properties": {}, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1DocumentProcessingConfig": { - "description": "A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config.", - "id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfig", - "properties": { - "chunkingConfig": { - "$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfig", - "description": "Whether chunking mode is enabled." - }, - "defaultParsingConfig": { - "$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfig", - "description": "Configurations for default Document parser. If not specified, we will configure it as default DigitalParsingConfig, and the default parsing config will be applied to all file types for Document parsing." }, - "name": { - "description": "The full resource name of the Document Processing Config. Format: `projects/*/locations/*/collections/*/dataStores/*/documentProcessingConfig`.", + "superAdminServiceAccount": { + "description": "Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.", "type": "string" }, - "parsingConfigOverrides": { - "additionalProperties": { - "$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfig" - }, - "description": "Map from file type to override the default parsing configuration based on the file type. Supported keys: * `pdf`: Override parsing config for PDF files, either digital parsing, ocr parsing or layout parsing is supported. * `html`: Override parsing config for HTML files, only digital parsing and layout parsing are supported. * `docx`: Override parsing config for DOCX files, only digital parsing and layout parsing are supported. * `pptx`: Override parsing config for PPTX files, only digital parsing and layout parsing are supported. * `xlsm`: Override parsing config for XLSM files, only digital parsing and layout parsing are supported. * `xlsx`: Override parsing config for XLSX files, only digital parsing and layout parsing are supported.", - "type": "object" + "type": { + "description": "The Google Workspace data source.", + "enum": [ + "TYPE_UNSPECIFIED", + "GOOGLE_DRIVE", + "GOOGLE_MAIL", + "GOOGLE_SITES", + "GOOGLE_CALENDAR", + "GOOGLE_CHAT", + "GOOGLE_GROUPS", + "GOOGLE_KEEP" + ], + "enumDescriptions": [ + "Defaults to an unspecified Workspace type.", + "Workspace Data Store contains Drive data", + "Workspace Data Store contains Mail data", + "Workspace Data Store contains Sites data", + "Workspace Data Store contains Calendar data", + "Workspace Data Store contains Chat data", + "Workspace Data Store contains Groups data", + "Workspace Data Store contains Keep data" + ], + "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfig": { - "description": "Configuration for chunking config.", - "id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfig", + "GoogleCloudDiscoveryengineV1alphaAclConfig": { + "description": "Access Control Configuration.", + "id": "GoogleCloudDiscoveryengineV1alphaAclConfig", "properties": { - "layoutBasedChunkingConfig": { - "$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig", - "description": "Configuration for the layout based chunking." + "idpConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaIdpConfig", + "description": "Identity provider config." + }, + "name": { + "description": "Immutable. The full resource name of the acl configuration. Format: `projects/{project}/locations/{location}/aclConfig`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", + "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig": { - "description": "Configuration for the layout based chunking.", - "id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig", + "GoogleCloudDiscoveryengineV1alphaActionConfig": { + "description": "Informations to support actions on the connector.", + "id": "GoogleCloudDiscoveryengineV1alphaActionConfig", "properties": { - "chunkSize": { - "description": "The token size limit for each chunk. Supported values: 100-500 (inclusive). Default value: 500.", - "format": "int32", - "type": "integer" + "actionParams": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Required. Params needed to support actions in the format of (Key, Value) pairs. Required parameters for sources that support OAUTH, i.e. `gmail`, `google_calendar`, `jira`, `workday`, `salesforce`, `confluence`: * Key: `client_id` * Value: type STRING. The client id for the service provider to identify your application. * Key: `client_secret` * Value:type STRING. The client secret generated by the application's authorization server.", + "type": "object" }, - "includeAncestorHeadings": { - "description": "Whether to include appending different levels of headings to chunks from the middle of the document to prevent context loss. Default value: False.", + "isActionConfigured": { + "description": "Output only. The connector contains the necessary parameters and is configured to support actions.", + "readOnly": true, "type": "boolean" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfig": { - "description": "Related configurations applied to a specific type of document parser.", - "id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfig", + "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequest": { + "description": "Request message for CompletionService.AdvancedCompleteQuery method. .", + "id": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequest", "properties": { - "digitalParsingConfig": { - "$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigDigitalParsingConfig", - "description": "Configurations applied to digital parser." + "boostSpec": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequestBoostSpec", + "description": "Optional. Specification to boost suggestions matching the condition." }, - "layoutParsingConfig": { - "$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigLayoutParsingConfig", - "description": "Configurations applied to layout parser." + "includeTailSuggestions": { + "description": "Indicates if tail suggestions should be returned if there are no suggestions that match the full query. Even if set to true, if there are suggestions that match the full query, those are returned and no tail suggestions are returned.", + "type": "boolean" }, - "ocrParsingConfig": { - "$ref": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigOcrParsingConfig", - "description": "Configurations applied to OCR parser. Currently it only applies to PDFs." + "query": { + "description": "Required. The typeahead input used to fetch suggestions. Maximum length is 128 characters. The query can not be empty for most of the suggestion types. If it is empty, an `INVALID_ARGUMENT` error is returned. The exception is when the suggestion_types contains only the type `RECENT_SEARCH`, the query can be an empty string. The is called \"zero prefix\" feature, which returns user's recently searched queries given the empty query.", + "type": "string" + }, + "queryModel": { + "description": "Specifies the autocomplete data model. This overrides any model specified in the Configuration > Autocomplete section of the Cloud console. Currently supported values: * `document` - Using suggestions generated from user-imported documents. * `search-history` - Using suggestions generated from the past history of SearchService.Search API calls. Do not use it when there is no traffic for Search API. * `user-event` - Using suggestions generated from user-imported search events. * `document-completable` - Using suggestions taken directly from user-imported document fields marked as completable. Default values: * `document` is the default model for regular dataStores. * `search-history` is the default model for site search dataStores.", + "type": "string" + }, + "suggestionTypes": { + "description": "Optional. Suggestion types to return. If empty or unspecified, query suggestions are returned. Only one suggestion type is supported at the moment.", + "items": { + "enum": [ + "SUGGESTION_TYPE_UNSPECIFIED", + "QUERY", + "PEOPLE", + "CONTENT", + "RECENT_SEARCH", + "GOOGLE_WORKSPACE" + ], + "enumDescriptions": [ + "Default value.", + "Returns query suggestions.", + "Returns people suggestions.", + "Returns content suggestions.", + "Returns recent search suggestions.", + "Returns Google Workspace suggestions." + ], + "type": "string" + }, + "type": "array" + }, + "userInfo": { + "$ref": "GoogleCloudDiscoveryengineV1alphaUserInfo", + "description": "Optional. Information about the end user. This should be the same identifier information as UserEvent.user_info and SearchRequest.user_info." + }, + "userPseudoId": { + "description": "A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This field should NOT have a fixed value such as `unknown_visitor`. This should be the same identifier as UserEvent.user_pseudo_id and SearchRequest.user_pseudo_id. The field must be a UTF-8 encoded string with a length limit of 128", + "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigDigitalParsingConfig": { - "description": "The digital parsing configurations for documents.", - "id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigDigitalParsingConfig", - "properties": {}, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigLayoutParsingConfig": { - "description": "The layout parsing configurations for documents.", - "id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigLayoutParsingConfig", - "properties": {}, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigOcrParsingConfig": { - "description": "The OCR parsing configurations for documents.", - "id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfigParsingConfigOcrParsingConfig", + "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequestBoostSpec": { + "description": "Specification to boost suggestions based on the condtion of the suggestion.", + "id": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequestBoostSpec", "properties": { - "enhancedDocumentElements": { - "deprecated": true, - "description": "[DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.", + "conditionBoostSpecs": { + "description": "Condition boost specifications. If a suggestion matches multiple conditions in the specifictions, boost values from these specifications are all applied and combined in a non-linear way. Maximum number of specifications is 20. Note: Currently only support language condition boost.", "items": { - "type": "string" + "$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequestBoostSpecConditionBoostSpec" }, "type": "array" - }, - "useNativeText": { - "description": "If true, will use native text instead of OCR text on pages containing native text.", - "type": "boolean" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1EnableAdvancedSiteSearchMetadata": { - "description": "Metadata related to the progress of the SiteSearchEngineService.EnableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1EnableAdvancedSiteSearchMetadata", + "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequestBoostSpecConditionBoostSpec": { + "description": "Boost applies to suggestions which match a condition.", + "id": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequestBoostSpecConditionBoostSpec", "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", - "type": "string" + "boost": { + "description": "Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0. Setting to 1.0 gives the suggestions a big promotion. However, it does not necessarily mean that the top result will be a boosted suggestion. Setting to -1.0 gives the suggestions a big demotion. However, other suggestions that are relevant might still be shown. Setting to 0.0 means no boost applied. The boosting condition is ignored.", + "format": "float", + "type": "number" }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", + "condition": { + "description": "An expression which specifies a boost condition. The syntax is the same as [filter expression syntax](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata#filter-expression-syntax). Currently, the only supported condition is a list of BCP-47 lang codes. Example: * To boost suggestions in languages `en` or `fr`: `(lang_code: ANY(\"en\", \"fr\"))`", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1EnableAdvancedSiteSearchResponse": { - "description": "Response message for SiteSearchEngineService.EnableAdvancedSiteSearch method.", - "id": "GoogleCloudDiscoveryengineV1EnableAdvancedSiteSearchResponse", - "properties": {}, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1Engine": { - "description": "Metadata that describes the training and serving parameters of an Engine.", - "id": "GoogleCloudDiscoveryengineV1Engine", + "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponse": { + "description": "Response message for CompletionService.AdvancedCompleteQuery method.", + "id": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponse", "properties": { - "chatEngineConfig": { - "$ref": "GoogleCloudDiscoveryengineV1EngineChatEngineConfig", - "description": "Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT." - }, - "chatEngineMetadata": { - "$ref": "GoogleCloudDiscoveryengineV1EngineChatEngineMetadata", - "description": "Output only. Additional information of the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.", - "readOnly": true + "contentSuggestions": { + "description": "Results of the matched content suggestions. The result list is ordered and the first result is the top suggestion.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponseContentSuggestion" + }, + "type": "array" }, - "commonConfig": { - "$ref": "GoogleCloudDiscoveryengineV1EngineCommonConfig", - "description": "Common config spec that specifies the metadata of the engine." + "peopleSuggestions": { + "description": "Results of the matched people suggestions. The result list is ordered and the first result is the top suggestion.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponsePersonSuggestion" + }, + "type": "array" }, - "createTime": { - "description": "Output only. Timestamp the Recommendation Engine was created at.", - "format": "google-datetime", - "readOnly": true, - "type": "string" + "querySuggestions": { + "description": "Results of the matched query suggestions. The result list is ordered and the first result is a top suggestion.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponseQuerySuggestion" + }, + "type": "array" }, - "dataStoreIds": { - "description": "The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations.", + "recentSearchSuggestions": { + "description": "Results of the matched \"recent search\" suggestions. The result list is ordered and the first result is the top suggestion.", "items": { - "type": "string" + "$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponseRecentSearchSuggestion" }, "type": "array" }, - "disableAnalytics": { - "description": "Optional. Whether to disable analytics for searches performed on this engine.", + "tailMatchTriggered": { + "description": "True if the returned suggestions are all tail suggestions. For tail matching to be triggered, include_tail_suggestions in the request must be true and there must be no suggestions that match the full query.", "type": "boolean" - }, - "displayName": { - "description": "Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.", - "type": "string" - }, - "industryVertical": { - "description": "The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to `GENERIC`. Vertical on Engine has to match vertical of the DataStore linked to the engine.", + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponseContentSuggestion": { + "description": "Suggestions as content.", + "id": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponseContentSuggestion", + "properties": { + "contentType": { + "description": "The type of the content suggestion.", "enum": [ - "INDUSTRY_VERTICAL_UNSPECIFIED", - "GENERIC", - "MEDIA", - "HEALTHCARE_FHIR" + "CONTENT_TYPE_UNSPECIFIED", + "GOOGLE_WORKSPACE", + "THIRD_PARTY" ], "enumDescriptions": [ - "Value used when unset.", - "The generic vertical for documents that are not specific to any industry vertical.", - "The media industry vertical.", - "The healthcare FHIR vertical." + "Default value.", + "The suggestion is from a Google Workspace source.", + "The suggestion is from a third party source." ], "type": "string" }, - "name": { - "description": "Immutable. The fully qualified resource name of the engine. This field must be a UTF-8 encoded string with a length limit of 1024 characters. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` engine should be 1-63 characters, and valid characters are /a-z0-9*/. Otherwise, an INVALID_ARGUMENT error is returned.", + "dataStore": { + "description": "The name of the dataStore that this suggestion belongs to.", "type": "string" }, - "searchEngineConfig": { - "$ref": "GoogleCloudDiscoveryengineV1EngineSearchEngineConfig", - "description": "Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH." + "document": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDocument", + "description": "The document data snippet in the suggestion. Only a subset of fields will be populated." }, - "solutionType": { - "description": "Required. The solutions of the engine.", + "suggestion": { + "description": "The suggestion for the query.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponsePersonSuggestion": { + "description": "Suggestions as people.", + "id": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponsePersonSuggestion", + "properties": { + "dataStore": { + "description": "The name of the dataStore that this suggestion belongs to.", + "type": "string" + }, + "document": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDocument", + "description": "The document data snippet in the suggestion. Only a subset of fields is populated." + }, + "personType": { + "description": "The type of the person.", "enum": [ - "SOLUTION_TYPE_UNSPECIFIED", - "SOLUTION_TYPE_RECOMMENDATION", - "SOLUTION_TYPE_SEARCH", - "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "PERSON_TYPE_UNSPECIFIED", + "CLOUD_IDENTITY", + "THIRD_PARTY_IDENTITY" ], "enumDescriptions": [ "Default value.", - "Used for Recommendations AI.", - "Used for Discovery Search.", - "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "The suggestion is from a GOOGLE_IDENTITY source.", + "The suggestion is from a THIRD_PARTY_IDENTITY source." ], "type": "string" }, - "updateTime": { - "description": "Output only. Timestamp the Recommendation Engine was last updated.", - "format": "google-datetime", - "readOnly": true, + "suggestion": { + "description": "The suggestion for the query.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1EngineChatEngineConfig": { - "description": "Configurations for a Chat Engine.", - "id": "GoogleCloudDiscoveryengineV1EngineChatEngineConfig", + "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponseQuerySuggestion": { + "description": "Suggestions as search queries.", + "id": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponseQuerySuggestion", "properties": { - "agentCreationConfig": { - "$ref": "GoogleCloudDiscoveryengineV1EngineChatEngineConfigAgentCreationConfig", - "description": "The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation." + "completableFieldPaths": { + "description": "The unique document field paths that serve as the source of this suggestion if it was generated from completable fields. This field is only populated for the document-completable model.", + "items": { + "type": "string" + }, + "type": "array" }, - "dialogflowAgentToLink": { - "description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", + "dataStore": { + "description": "The name of the dataStore that this suggestion belongs to.", + "items": { + "type": "string" + }, + "type": "array" + }, + "suggestion": { + "description": "The suggestion for the query.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1EngineChatEngineConfigAgentCreationConfig": { - "description": "Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.", - "id": "GoogleCloudDiscoveryengineV1EngineChatEngineConfigAgentCreationConfig", + "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponseRecentSearchSuggestion": { + "description": "Suggestions from recent search history.", + "id": "GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponseRecentSearchSuggestion", "properties": { - "business": { - "description": "Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.", - "type": "string" - }, - "defaultLanguageCode": { - "description": "Required. The default language of the agent as a language tag. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.", - "type": "string" - }, - "location": { - "description": "Agent location for Agent creation, supported values: global/us/eu. If not provided, us Engine will create Agent using us-central-1 by default; eu Engine will create Agent using eu-west-1 by default.", + "recentSearchTime": { + "description": "The time when this recent rearch happened.", + "format": "google-datetime", "type": "string" }, - "timeZone": { - "description": "Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.", + "suggestion": { + "description": "The suggestion for the query.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1EngineChatEngineMetadata": { - "description": "Additional information of a Chat Engine. Fields in this message are output only.", - "id": "GoogleCloudDiscoveryengineV1EngineChatEngineMetadata", + "GoogleCloudDiscoveryengineV1alphaAdvancedSiteSearchConfig": { + "description": "Configuration data for advance site search.", + "id": "GoogleCloudDiscoveryengineV1alphaAdvancedSiteSearchConfig", "properties": { - "dialogflowAgent": { - "description": "The resource name of a Dialogflow agent, that this Chat Engine refers to. Format: `projects//locations//agents/`.", - "type": "string" + "disableAutomaticRefresh": { + "description": "If set true, automatic refresh is disabled for the DataStore.", + "type": "boolean" + }, + "disableInitialIndex": { + "description": "If set true, initial indexing is disabled for the DataStore.", + "type": "boolean" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1EngineCommonConfig": { - "description": "Common configurations for an Engine.", - "id": "GoogleCloudDiscoveryengineV1EngineCommonConfig", + "GoogleCloudDiscoveryengineV1alphaAlloyDbSource": { + "description": "AlloyDB source import data from.", + "id": "GoogleCloudDiscoveryengineV1alphaAlloyDbSource", "properties": { - "companyName": { - "description": "The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features.", + "clusterId": { + "description": "Required. The AlloyDB cluster to copy the data from with a length limit of 256 characters.", + "type": "string" + }, + "databaseId": { + "description": "Required. The AlloyDB database to copy the data from with a length limit of 256 characters.", + "type": "string" + }, + "gcsStagingDir": { + "description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the AlloyDB export to a specific Cloud Storage directory. Ensure that the AlloyDB service account has the necessary Cloud Storage Admin permissions to access the specified Cloud Storage directory.", + "type": "string" + }, + "locationId": { + "description": "Required. The AlloyDB location to copy the data from with a length limit of 256 characters.", + "type": "string" + }, + "projectId": { + "description": "The project ID that contains the AlloyDB source. Has a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", + "type": "string" + }, + "tableId": { + "description": "Required. The AlloyDB table to copy the data from with a length limit of 256 characters.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1EngineSearchEngineConfig": { - "description": "Configurations for a Search Engine.", - "id": "GoogleCloudDiscoveryengineV1EngineSearchEngineConfig", + "GoogleCloudDiscoveryengineV1alphaAnswer": { + "description": "Defines an answer.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswer", "properties": { - "searchAddOns": { - "description": "The add-on that this search engine enables.", + "answerSkippedReasons": { + "description": "Additional answer-skipped reasons. This provides the reason for ignored cases. If nothing is skipped, this field is not set.", "items": { "enum": [ - "SEARCH_ADD_ON_UNSPECIFIED", - "SEARCH_ADD_ON_LLM" + "ANSWER_SKIPPED_REASON_UNSPECIFIED", + "ADVERSARIAL_QUERY_IGNORED", + "NON_ANSWER_SEEKING_QUERY_IGNORED", + "OUT_OF_DOMAIN_QUERY_IGNORED", + "POTENTIAL_POLICY_VIOLATION", + "NO_RELEVANT_CONTENT", + "JAIL_BREAKING_QUERY_IGNORED", + "CUSTOMER_POLICY_VIOLATION", + "NON_ANSWER_SEEKING_QUERY_IGNORED_V2", + "LOW_GROUNDED_ANSWER" ], "enumDescriptions": [ - "Default value when the enum is unspecified. This is invalid to use.", - "Large language model add-on." + "Default value. The answer skipped reason is not specified.", + "The adversarial query ignored case.", + "The non-answer seeking query ignored case Google skips the answer if the query is chit chat.", + "The out-of-domain query ignored case. Google skips the answer if there are no high-relevance search results.", + "The potential policy violation case. Google skips the answer if there is a potential policy violation detected. This includes content that may be violent or toxic.", + "The no relevant content case. Google skips the answer if there is no relevant content in the retrieved search results.", + "The jail-breaking query ignored case. For example, \"Reply in the tone of a competing company's CEO\". Google skips the answer if the query is classified as a jail-breaking query.", + "The customer policy violation case. Google skips the summary if there is a customer policy violation detected. The policy is defined by the customer.", + "The non-answer seeking query ignored case. Google skips the answer if the query doesn't have clear intent.", + "The low-grounded answer case. Google skips the answer if a well grounded answer was unable to be generated." ], "type": "string" }, "type": "array" }, - "searchTier": { - "description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", + "answerText": { + "description": "The textual answer.", + "type": "string" + }, + "citations": { + "description": "Citations.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerCitation" + }, + "type": "array" + }, + "completeTime": { + "description": "Output only. Answer completed timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. Answer creation timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "groundingScore": { + "description": "A score in the range of [0, 1] describing how grounded the answer is by the reference chunks.", + "format": "double", + "type": "number" + }, + "groundingSupports": { + "description": "Optional. Grounding supports.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerGroundingSupport" + }, + "type": "array" + }, + "name": { + "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*/answers/*`", + "type": "string" + }, + "queryUnderstandingInfo": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfo", + "description": "Query understanding information." + }, + "references": { + "description": "References.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReference" + }, + "type": "array" + }, + "relatedQuestions": { + "description": "Suggested related questions.", + "items": { + "type": "string" + }, + "type": "array" + }, + "safetyRatings": { + "description": "Optional. Safety ratings.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSafetyRating" + }, + "type": "array" + }, + "state": { + "description": "The state of the answer generation.", "enum": [ - "SEARCH_TIER_UNSPECIFIED", - "SEARCH_TIER_STANDARD", - "SEARCH_TIER_ENTERPRISE" + "STATE_UNSPECIFIED", + "IN_PROGRESS", + "FAILED", + "SUCCEEDED", + "STREAMING" ], "enumDescriptions": [ - "Default value when the enum is unspecified. This is invalid to use.", - "Standard tier.", - "Enterprise tier." + "Unknown.", + "Answer generation is currently in progress.", + "Answer generation currently failed.", + "Answer generation has succeeded.", + "Answer generation is currently in progress." ], "type": "string" + }, + "steps": { + "description": "Answer generation steps.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStep" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaAnswerCitation": { + "description": "Citation info for a segment.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerCitation", + "properties": { + "endIndex": { + "description": "End of the attributed segment, exclusive.", + "format": "int64", + "type": "string" + }, + "sources": { + "description": "Citation sources for the attributed segment.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerCitationSource" + }, + "type": "array" + }, + "startIndex": { + "description": "Index indicates the start of the segment, measured in bytes (UTF-8 unicode).", + "format": "int64", + "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsMetadata": { - "description": "Metadata related to the progress of the ImportCompletionSuggestions operation. This will be returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsMetadata", + "GoogleCloudDiscoveryengineV1alphaAnswerCitationSource": { + "description": "Citation source.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerCitationSource", "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", - "type": "string" - }, - "failureCount": { - "description": "Count of CompletionSuggestions that failed to be imported.", - "format": "int64", - "type": "string" - }, - "successCount": { - "description": "Count of CompletionSuggestions successfully imported.", - "format": "int64", - "type": "string" - }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", + "referenceId": { + "description": "ID of the citation source.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsResponse": { - "description": "Response of the CompletionService.ImportCompletionSuggestions method. If the long running operation is done, this message is returned by the google.longrunning.Operations.response field if the operation is successful.", - "id": "GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsResponse", + "GoogleCloudDiscoveryengineV1alphaAnswerGroundingSupport": { + "description": "Grounding support for a claim in `answer_text`.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerGroundingSupport", "properties": { - "errorConfig": { - "$ref": "GoogleCloudDiscoveryengineV1ImportErrorConfig", - "description": "The desired location of errors incurred during the Import." + "endIndex": { + "description": "Required. End of the claim, exclusive.", + "format": "int64", + "type": "string" }, - "errorSamples": { - "description": "A sample of errors encountered while processing the request.", + "groundingCheckRequired": { + "description": "Indicates that this claim required grounding check. When the system decided this claim didn't require attribution/grounding check, this field is set to false. In that case, no grounding check was done for the claim and therefore `grounding_score`, `sources` is not returned.", + "type": "boolean" + }, + "groundingScore": { + "description": "A score in the range of [0, 1] describing how grounded is a specific claim by the references. Higher value means that the claim is better supported by the reference chunks.", + "format": "double", + "type": "number" + }, + "sources": { + "description": "Optional. Citation sources for the claim.", "items": { - "$ref": "GoogleRpcStatus" + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerCitationSource" }, "type": "array" + }, + "startIndex": { + "description": "Required. Index indicates the start of the claim, measured in bytes (UTF-8 unicode).", + "format": "int64", + "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1ImportDocumentsMetadata": { - "description": "Metadata related to the progress of the ImportDocuments operation. This is returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1ImportDocumentsMetadata", + "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequest": { + "description": "Request message for ConversationalSearchService.AnswerQuery method.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequest", "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", - "type": "string" + "answerGenerationSpec": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestAnswerGenerationSpec", + "description": "Answer generation specification." }, - "failureCount": { - "description": "Count of entries that encountered errors while processing.", - "format": "int64", - "type": "string" + "asynchronousMode": { + "deprecated": true, + "description": "Deprecated: This field is deprecated. Streaming Answer API will be supported. Asynchronous mode control. If enabled, the response will be returned with answer/session resource name without final answer. The API users need to do the polling to get the latest status of answer/session by calling ConversationalSearchService.GetAnswer or ConversationalSearchService.GetSession method.", + "type": "boolean" }, - "successCount": { - "description": "Count of entries that were processed successfully.", - "format": "int64", - "type": "string" + "groundingSpec": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestGroundingSpec", + "description": "Optional. Grounding specification." }, - "totalCount": { - "description": "Total count of entries that were processed.", - "format": "int64", + "query": { + "$ref": "GoogleCloudDiscoveryengineV1alphaQuery", + "description": "Required. Current user query." + }, + "queryUnderstandingSpec": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpec", + "description": "Query understanding specification." + }, + "relatedQuestionsSpec": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestRelatedQuestionsSpec", + "description": "Related questions specification." + }, + "safetySpec": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSafetySpec", + "description": "Model specification." + }, + "searchSpec": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpec", + "description": "Search specification." + }, + "session": { + "description": "The session resource name. Not required. When session field is not set, the API is in sessionless mode. We support auto session mode: users can use the wildcard symbol `-` as session ID. A new ID will be automatically generated and assigned.", "type": "string" }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", + "userLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", + "type": "object" + }, + "userPseudoId": { + "description": "A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This field should NOT have a fixed value such as `unknown_visitor`. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1ImportDocumentsResponse": { - "description": "Response of the ImportDocumentsRequest. If the long running operation is done, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.", - "id": "GoogleCloudDiscoveryengineV1ImportDocumentsResponse", + "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestAnswerGenerationSpec": { + "description": "Answer generation specification.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestAnswerGenerationSpec", "properties": { - "errorConfig": { - "$ref": "GoogleCloudDiscoveryengineV1ImportErrorConfig", - "description": "Echoes the destination for the complete errors in the request if set." + "answerLanguageCode": { + "description": "Language code for Answer. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Note: This is an experimental feature.", + "type": "string" }, - "errorSamples": { - "description": "A sample of errors encountered while processing the request.", - "items": { - "$ref": "GoogleRpcStatus" - }, - "type": "array" + "ignoreAdversarialQuery": { + "description": "Specifies whether to filter out adversarial queries. The default value is `false`. Google employs search-query classification to detect adversarial queries. No answer is returned if the search query is classified as an adversarial query. For example, a user might ask a question regarding negative comments about the company or submit a query designed to generate unsafe, policy-violating output. If this field is set to `true`, we skip generating answers for adversarial queries and return fallback messages instead.", + "type": "boolean" + }, + "ignoreJailBreakingQuery": { + "description": "Optional. Specifies whether to filter out jail-breaking queries. The default value is `false`. Google employs search-query classification to detect jail-breaking queries. No summary is returned if the search query is classified as a jail-breaking query. A user might add instructions to the query to change the tone, style, language, content of the answer, or ask the model to act as a different entity, e.g. \"Reply in the tone of a competing company's CEO\". If this field is set to `true`, we skip generating summaries for jail-breaking queries and return fallback messages instead.", + "type": "boolean" + }, + "ignoreLowRelevantContent": { + "description": "Specifies whether to filter out queries that have low relevance. If this field is set to `false`, all search results are used regardless of relevance to generate answers. If set to `true` or unset, the behavior will be determined automatically by the service.", + "type": "boolean" + }, + "ignoreNonAnswerSeekingQuery": { + "description": "Specifies whether to filter out queries that are not answer-seeking. The default value is `false`. Google employs search-query classification to detect answer-seeking queries. No answer is returned if the search query is classified as a non-answer seeking query. If this field is set to `true`, we skip generating answers for non-answer seeking queries and return fallback messages instead.", + "type": "boolean" + }, + "includeCitations": { + "description": "Specifies whether to include citation metadata in the answer. The default value is `false`.", + "type": "boolean" + }, + "modelSpec": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestAnswerGenerationSpecModelSpec", + "description": "Answer generation model specification." + }, + "promptSpec": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestAnswerGenerationSpecPromptSpec", + "description": "Answer generation prompt specification." } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1ImportErrorConfig": { - "description": "Configuration of destination for Import related errors.", - "id": "GoogleCloudDiscoveryengineV1ImportErrorConfig", + "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestAnswerGenerationSpecModelSpec": { + "description": "Answer Generation Model specification.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestAnswerGenerationSpecModelSpec", "properties": { - "gcsPrefix": { - "description": "Cloud Storage prefix for import errors. This must be an empty, existing Cloud Storage directory. Import errors are written to sharded files in this directory, one per line, as a JSON-encoded `google.rpc.Status` message.", + "modelVersion": { + "description": "Model version. If not set, it will use the default stable model. Allowed values are: stable, preview.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1ImportSuggestionDenyListEntriesMetadata": { - "description": "Metadata related to the progress of the ImportSuggestionDenyListEntries operation. This is returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1ImportSuggestionDenyListEntriesMetadata", + "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestAnswerGenerationSpecPromptSpec": { + "description": "Answer generation prompt specification.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestAnswerGenerationSpecPromptSpec", "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", - "type": "string" - }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", + "preamble": { + "description": "Customized preamble.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1ImportSuggestionDenyListEntriesResponse": { - "description": "Response message for CompletionService.ImportSuggestionDenyListEntries method.", - "id": "GoogleCloudDiscoveryengineV1ImportSuggestionDenyListEntriesResponse", + "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestGroundingSpec": { + "description": "Grounding specification.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestGroundingSpec", "properties": { - "errorSamples": { - "description": "A sample of errors encountered while processing the request.", - "items": { - "$ref": "GoogleRpcStatus" - }, - "type": "array" - }, - "failedEntriesCount": { - "description": "Count of deny list entries that failed to be imported.", - "format": "int64", + "filteringLevel": { + "description": "Optional. Specifies whether to enable the filtering based on grounding score and at what level.", + "enum": [ + "FILTERING_LEVEL_UNSPECIFIED", + "FILTERING_LEVEL_LOW", + "FILTERING_LEVEL_HIGH" + ], + "enumDescriptions": [ + "Default is no filter", + "Filter answers based on a low threshold.", + "Filter answers based on a high threshold." + ], "type": "string" }, - "importedEntriesCount": { - "description": "Count of deny list entries successfully imported.", - "format": "int64", - "type": "string" + "includeGroundingSupports": { + "description": "Optional. Specifies whether to include grounding_supports in the answer. The default value is `false`. When this field is set to `true`, returned answer will have `grounding_score` and will contain GroundingSupports for each claim.", + "type": "boolean" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1ImportUserEventsMetadata": { - "description": "Metadata related to the progress of the Import operation. This is returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1ImportUserEventsMetadata", + "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpec": { + "description": "Query understanding specification.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpec", "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", - "type": "string" - }, - "failureCount": { - "description": "Count of entries that encountered errors while processing.", - "format": "int64", - "type": "string" - }, - "successCount": { - "description": "Count of entries that were processed successfully.", - "format": "int64", - "type": "string" + "queryClassificationSpec": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpecQueryClassificationSpec", + "description": "Query classification specification." }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", - "type": "string" + "queryRephraserSpec": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpec", + "description": "Query rephraser specification." } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1ImportUserEventsResponse": { - "description": "Response of the ImportUserEventsRequest. If the long running operation was successful, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.", - "id": "GoogleCloudDiscoveryengineV1ImportUserEventsResponse", + "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpecQueryClassificationSpec": { + "description": "Query classification specification.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpecQueryClassificationSpec", "properties": { - "errorConfig": { - "$ref": "GoogleCloudDiscoveryengineV1ImportErrorConfig", - "description": "Echoes the destination for the complete errors if this field was set in the request." - }, - "errorSamples": { - "description": "A sample of errors encountered while processing the request.", + "types": { + "description": "Enabled query classification types.", "items": { - "$ref": "GoogleRpcStatus" + "enum": [ + "TYPE_UNSPECIFIED", + "ADVERSARIAL_QUERY", + "NON_ANSWER_SEEKING_QUERY", + "JAIL_BREAKING_QUERY", + "NON_ANSWER_SEEKING_QUERY_V2" + ], + "enumDescriptions": [ + "Unspecified query classification type.", + "Adversarial query classification type.", + "Non-answer-seeking query classification type, for chit chat.", + "Jail-breaking query classification type.", + "Non-answer-seeking query classification type, for no clear intent." + ], + "type": "string" }, "type": "array" - }, - "joinedEventsCount": { - "description": "Count of user events imported with complete existing Documents.", - "format": "int64", - "type": "string" - }, - "unjoinedEventsCount": { - "description": "Count of user events imported, but with Document information not found in the existing Branch.", - "format": "int64", - "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1Project": { - "description": "Metadata and configurations for a Google Cloud project in the service.", - "id": "GoogleCloudDiscoveryengineV1Project", + "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpec": { + "description": "Query rephraser specification.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpec", "properties": { - "createTime": { - "description": "Output only. The timestamp when this project is created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "name": { - "description": "Output only. Full resource name of the project, for example `projects/{project}`. Note that when making requests, project number and project id are both acceptable, but the server will always respond in project number.", - "readOnly": true, - "type": "string" + "disable": { + "description": "Disable query rephraser.", + "type": "boolean" }, - "provisionCompletionTime": { - "description": "Output only. The timestamp when this project is successfully provisioned. Empty value means this project is still provisioning and is not ready for use.", - "format": "google-datetime", - "readOnly": true, - "type": "string" + "maxRephraseSteps": { + "description": "Max rephrase steps. The max number is 5 steps. If not set or set to < 1, it will be set to 1 by default.", + "format": "int32", + "type": "integer" }, - "serviceTermsMap": { - "additionalProperties": { - "$ref": "GoogleCloudDiscoveryengineV1ProjectServiceTerms" - }, - "description": "Output only. A map of terms of services. The key is the `id` of ServiceTerms.", - "readOnly": true, - "type": "object" + "modelSpec": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpecModelSpec", + "description": "Optional. Query Rephraser Model specification." } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1ProjectServiceTerms": { - "description": "Metadata about the terms of service.", - "id": "GoogleCloudDiscoveryengineV1ProjectServiceTerms", + "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpecModelSpec": { + "description": "Query Rephraser Model specification.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpecModelSpec", "properties": { - "acceptTime": { - "description": "The last time when the project agreed to the terms of service.", - "format": "google-datetime", - "type": "string" - }, - "declineTime": { - "description": "The last time when the project declined or revoked the agreement to terms of service.", - "format": "google-datetime", - "type": "string" - }, - "id": { - "description": "The unique identifier of this terms of service. Available terms: * `GA_DATA_USE_TERMS`: [Terms for data use](https://cloud.google.com/retail/data-use-terms). When using this as `id`, the acceptable version to provide is `2022-11-23`.", - "type": "string" - }, - "state": { - "description": "Whether the project has accepted/rejected the service terms or it is still pending.", + "modelType": { + "description": "Optional. Enabled query rephraser model type. If not set, it will use LARGE by default.", "enum": [ - "STATE_UNSPECIFIED", - "TERMS_ACCEPTED", - "TERMS_PENDING", - "TERMS_DECLINED" + "MODEL_TYPE_UNSPECIFIED", + "SMALL", + "LARGE" ], "enumDescriptions": [ - "The default value of the enum. This value is not actually used.", - "The project has given consent to the terms of service.", - "The project is pending to review and accept the terms of service.", - "The project has declined or revoked the agreement to terms of service." + "Unspecified model type.", + "Small query rephraser model. Gemini 1.0 XS model.", + "Large query rephraser model. Gemini 1.0 Pro model." ], "type": "string" - }, - "version": { - "description": "The version string of the terms of service. For acceptable values, see the comments for id above.", - "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1ProvisionProjectMetadata": { - "description": "Metadata associated with a project provision operation.", - "id": "GoogleCloudDiscoveryengineV1ProvisionProjectMetadata", - "properties": {}, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1PurgeCompletionSuggestionsMetadata": { - "description": "Metadata related to the progress of the PurgeCompletionSuggestions operation. This is returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1PurgeCompletionSuggestionsMetadata", + "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestRelatedQuestionsSpec": { + "description": "Related questions specification.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestRelatedQuestionsSpec", "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", - "type": "string" - }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", - "type": "string" + "enable": { + "description": "Enable related questions feature if true.", + "type": "boolean" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1PurgeCompletionSuggestionsResponse": { - "description": "Response message for CompletionService.PurgeCompletionSuggestions method.", - "id": "GoogleCloudDiscoveryengineV1PurgeCompletionSuggestionsResponse", + "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSafetySpec": { + "description": "Safety specification. There are two use cases: 1. when only safety_spec.enable is set, the BLOCK_LOW_AND_ABOVE threshold will be applied for all categories. 2. when safety_spec.enable is set and some safety_settings are set, only specified safety_settings are applied.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSafetySpec", "properties": { - "errorSamples": { - "description": "A sample of errors encountered while processing the request.", + "enable": { + "description": "Enable the safety filtering on the answer response. It is false by default.", + "type": "boolean" + }, + "safetySettings": { + "description": "Optional. Safety settings. This settings are effective only when the safety_spec.enable is true.", "items": { - "$ref": "GoogleRpcStatus" + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSafetySpecSafetySetting" }, "type": "array" - }, - "purgeSucceeded": { - "description": "Whether the completion suggestions were successfully purged.", - "type": "boolean" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1PurgeDocumentsMetadata": { - "description": "Metadata related to the progress of the PurgeDocuments operation. This will be returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1PurgeDocumentsMetadata", + "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSafetySpecSafetySetting": { + "description": "Safety settings.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSafetySpecSafetySetting", "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", - "type": "string" - }, - "failureCount": { - "description": "Count of entries that encountered errors while processing.", - "format": "int64", - "type": "string" - }, - "ignoredCount": { - "description": "Count of entries that were ignored as entries were not found.", - "format": "int64", - "type": "string" - }, - "successCount": { - "description": "Count of entries that were deleted successfully.", - "format": "int64", + "category": { + "description": "Required. Harm category.", + "enum": [ + "HARM_CATEGORY_UNSPECIFIED", + "HARM_CATEGORY_HATE_SPEECH", + "HARM_CATEGORY_DANGEROUS_CONTENT", + "HARM_CATEGORY_HARASSMENT", + "HARM_CATEGORY_SEXUALLY_EXPLICIT", + "HARM_CATEGORY_CIVIC_INTEGRITY" + ], + "enumDescriptions": [ + "The harm category is unspecified.", + "The harm category is hate speech.", + "The harm category is dangerous content.", + "The harm category is harassment.", + "The harm category is sexually explicit content.", + "The harm category is civic integrity." + ], "type": "string" }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", + "threshold": { + "description": "Required. The harm block threshold.", + "enum": [ + "HARM_BLOCK_THRESHOLD_UNSPECIFIED", + "BLOCK_LOW_AND_ABOVE", + "BLOCK_MEDIUM_AND_ABOVE", + "BLOCK_ONLY_HIGH", + "BLOCK_NONE", + "OFF" + ], + "enumDescriptions": [ + "Unspecified harm block threshold.", + "Block low threshold and above (i.e. block more).", + "Block medium threshold and above.", + "Block only high threshold (i.e. block less).", + "Block none.", + "Turn off the safety filter." + ], "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1PurgeDocumentsResponse": { - "description": "Response message for DocumentService.PurgeDocuments method. If the long running operation is successfully done, then this message is returned by the google.longrunning.Operations.response field.", - "id": "GoogleCloudDiscoveryengineV1PurgeDocumentsResponse", + "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpec": { + "description": "Search specification.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpec", "properties": { - "purgeCount": { - "description": "The total count of documents purged as a result of the operation.", - "format": "int64", - "type": "string" + "searchParams": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchParams", + "description": "Search parameters." }, - "purgeSample": { - "description": "A sample of document names that will be deleted. Only populated if `force` is set to false. A max of 100 names will be returned and the names are chosen at random.", - "items": { - "type": "string" - }, - "type": "array" + "searchResultList": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultList", + "description": "Search result list." } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1PurgeSuggestionDenyListEntriesMetadata": { - "description": "Metadata related to the progress of the PurgeSuggestionDenyListEntries operation. This is returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1PurgeSuggestionDenyListEntriesMetadata", + "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchParams": { + "description": "Search parameters.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchParams", "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", + "boostSpec": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec", + "description": "Boost specification to boost certain documents in search results which may affect the answer query response. For more information on boosting, see [Boosting](https://cloud.google.com/retail/docs/boosting#boost)" + }, + "customFineTuningSpec": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec", + "description": "Custom fine tuning configs." + }, + "dataStoreSpecs": { + "description": "Specs defining dataStores to filter on in a search call and configurations for those dataStores. This is only considered for engines with multiple dataStores use case. For single dataStore within an engine, they should use the specs at the top level.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec" + }, + "type": "array" + }, + "filter": { + "description": "The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. Filter expression is case-sensitive. This will be used to filter search results which may affect the Answer response. If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. Filtering in Vertex AI Search is done by mapping the LHS filter key to a key property defined in the Vertex AI Search backend -- this mapping is defined by the customer in their schema. For example a media customers might have a field 'name' in their schema. In this case the filter would look like this: filter --> name:'ANY(\"king kong\")' For more information about filtering including syntax and filter operators, see [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)", "type": "string" }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", + "maxReturnResults": { + "description": "Number of search results to return. The default value is 10.", + "format": "int32", + "type": "integer" + }, + "naturalLanguageQueryUnderstandingSpec": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec", + "description": "Optional. Specification to enable natural language understanding capabilities for search requests." + }, + "orderBy": { + "description": "The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering, see [Ordering](https://cloud.google.com/retail/docs/filter-and-order#order) If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.", + "type": "string" + }, + "searchResultMode": { + "description": "Specifies the search result mode. If unspecified, the search result mode defaults to `DOCUMENTS`. See [parse and chunk documents](https://cloud.google.com/generative-ai-app-builder/docs/parse-chunk-documents)", + "enum": [ + "SEARCH_RESULT_MODE_UNSPECIFIED", + "DOCUMENTS", + "CHUNKS" + ], + "enumDescriptions": [ + "Default value.", + "Returns documents in the search result.", + "Returns chunks in the search result. Only available if the DocumentProcessingConfig.chunking_config is specified." + ], "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1PurgeSuggestionDenyListEntriesResponse": { - "description": "Response message for CompletionService.PurgeSuggestionDenyListEntries method.", - "id": "GoogleCloudDiscoveryengineV1PurgeSuggestionDenyListEntriesResponse", + "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultList": { + "description": "Search result list.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultList", "properties": { - "errorSamples": { - "description": "A sample of errors encountered while processing the request.", + "searchResults": { + "description": "Search results.", "items": { - "$ref": "GoogleRpcStatus" + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResult" }, "type": "array" - }, - "purgeCount": { - "description": "Number of suggestion deny list entries purged.", - "format": "int64", - "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1Schema": { - "description": "Defines the structure and layout of a type of document data.", - "id": "GoogleCloudDiscoveryengineV1Schema", + "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResult": { + "description": "Search result.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResult", "properties": { - "jsonSchema": { - "description": "The JSON representation of the schema.", - "type": "string" - }, - "name": { - "description": "Immutable. The full resource name of the schema, in the format of `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/schemas/{schema}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", - "type": "string" + "chunkInfo": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfo", + "description": "Chunk information." }, - "structSchema": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "The structured representation of the schema.", - "type": "object" + "unstructuredDocumentInfo": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfo", + "description": "Unstructured document information." } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1ServingConfigDataStore": { - "description": "Stores information regarding the serving configurations at DataStore level.", - "id": "GoogleCloudDiscoveryengineV1ServingConfigDataStore", + "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfo": { + "description": "Chunk information.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfo", "properties": { - "disabledForServing": { - "description": "If set true, the DataStore will not be available for serving search requests.", - "type": "boolean" + "chunk": { + "description": "Chunk resource name.", + "type": "string" + }, + "content": { + "description": "Chunk textual content.", + "type": "string" + }, + "documentMetadata": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfoDocumentMetadata", + "description": "Metadata of the document from the current chunk." } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1SiteVerificationInfo": { - "description": "Verification information for target sites in advanced site search.", - "id": "GoogleCloudDiscoveryengineV1SiteVerificationInfo", + "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfoDocumentMetadata": { + "description": "Document metadata contains the information of the document of the current chunk.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfoDocumentMetadata", "properties": { - "siteVerificationState": { - "description": "Site verification state indicating the ownership and validity.", - "enum": [ - "SITE_VERIFICATION_STATE_UNSPECIFIED", - "VERIFIED", - "UNVERIFIED", - "EXEMPTED" - ], - "enumDescriptions": [ - "Defaults to VERIFIED.", - "Site ownership verified.", - "Site ownership pending verification or verification failed.", - "Site exempt from verification, e.g., a public website that opens to all." - ], + "title": { + "description": "Title of the document.", "type": "string" }, - "verifyTime": { - "description": "Latest site verification time.", - "format": "google-datetime", + "uri": { + "description": "Uri of the document.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1TargetSite": { - "description": "A target site for the SiteSearchEngine.", - "id": "GoogleCloudDiscoveryengineV1TargetSite", + "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfo": { + "description": "Unstructured document information.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfo", "properties": { - "exactMatch": { - "description": "Input only. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine.", - "type": "boolean" - }, - "failureReason": { - "$ref": "GoogleCloudDiscoveryengineV1TargetSiteFailureReason", - "description": "Output only. Failure reason.", - "readOnly": true - }, - "generatedUriPattern": { - "description": "Output only. This is system-generated based on the provided_uri_pattern.", - "readOnly": true, - "type": "string" - }, - "indexingStatus": { - "description": "Output only. Indexing status.", - "enum": [ - "INDEXING_STATUS_UNSPECIFIED", - "PENDING", - "FAILED", - "SUCCEEDED", - "DELETING" - ], - "enumDescriptions": [ - "Defaults to SUCCEEDED.", - "The target site is in the update queue and will be picked up by indexing pipeline.", - "The target site fails to be indexed.", - "The target site has been indexed.", - "The previously indexed target site has been marked to be deleted. This is a transitioning state which will resulted in either: 1. target site deleted if unindexing is successful; 2. state reverts to SUCCEEDED if the unindexing fails." - ], - "readOnly": true, - "type": "string" - }, - "name": { - "description": "Output only. The fully qualified resource name of the target site. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}` The `target_site_id` is system-generated.", - "readOnly": true, + "document": { + "description": "Document resource name.", "type": "string" }, - "providedUriPattern": { - "description": "Required. Input only. The user provided URI pattern from which the `generated_uri_pattern` is generated.", - "type": "string" + "documentContexts": { + "description": "List of document contexts. The content will be used for Answer Generation. This is supposed to be the main content of the document that can be long and comprehensive.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoDocumentContext" + }, + "type": "array" }, - "rootDomainUri": { - "description": "Output only. Root domain of the provided_uri_pattern.", - "readOnly": true, - "type": "string" + "extractiveAnswers": { + "deprecated": true, + "description": "Deprecated: This field is deprecated and will have no effect on the Answer generation. Please use document_contexts and extractive_segments fields. List of extractive answers.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveAnswer" + }, + "type": "array" }, - "siteVerificationInfo": { - "$ref": "GoogleCloudDiscoveryengineV1SiteVerificationInfo", - "description": "Output only. Site ownership and validity verification status.", - "readOnly": true + "extractiveSegments": { + "description": "List of extractive segments.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveSegment" + }, + "type": "array" }, - "type": { - "description": "The type of the target site, e.g., whether the site is to be included or excluded.", - "enum": [ - "TYPE_UNSPECIFIED", - "INCLUDE", - "EXCLUDE" - ], - "enumDescriptions": [ - "This value is unused. In this case, server behavior defaults to Type.INCLUDE.", - "Include the target site.", - "Exclude the target site." - ], + "title": { + "description": "Title.", "type": "string" }, - "updateTime": { - "description": "Output only. The target site's last updated time.", - "format": "google-datetime", - "readOnly": true, + "uri": { + "description": "URI for the document.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1TargetSiteFailureReason": { - "description": "Site search indexing failure reasons.", - "id": "GoogleCloudDiscoveryengineV1TargetSiteFailureReason", - "properties": { - "quotaFailure": { - "$ref": "GoogleCloudDiscoveryengineV1TargetSiteFailureReasonQuotaFailure", - "description": "Failed due to insufficient quota." - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1TargetSiteFailureReasonQuotaFailure": { - "description": "Failed due to insufficient quota.", - "id": "GoogleCloudDiscoveryengineV1TargetSiteFailureReasonQuotaFailure", + "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoDocumentContext": { + "description": "Document context.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoDocumentContext", "properties": { - "totalRequiredQuota": { - "description": "This number is an estimation on how much total quota this project needs to successfully complete indexing.", - "format": "int64", + "content": { + "description": "Document content to be used for answer generation.", + "type": "string" + }, + "pageIdentifier": { + "description": "Page identifier.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1TrainCustomModelMetadata": { - "description": "Metadata related to the progress of the TrainCustomModel operation. This is returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1TrainCustomModelMetadata", + "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveAnswer": { + "description": "Extractive answer. [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#get-answers)", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveAnswer", "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", + "content": { + "description": "Extractive answer content.", "type": "string" }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", + "pageIdentifier": { + "description": "Page identifier.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1TrainCustomModelResponse": { - "description": "Response of the TrainCustomModelRequest. This message is returned by the google.longrunning.Operations.response field.", - "id": "GoogleCloudDiscoveryengineV1TrainCustomModelResponse", + "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveSegment": { + "description": "Extractive segment. [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#extractive-segments) Answer generation will only use it if document_contexts is empty. This is supposed to be shorter snippets.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveSegment", "properties": { - "errorConfig": { - "$ref": "GoogleCloudDiscoveryengineV1ImportErrorConfig", - "description": "Echoes the destination for the complete errors in the request if set." - }, - "errorSamples": { - "description": "A sample of errors encountered while processing the data.", - "items": { - "$ref": "GoogleRpcStatus" - }, - "type": "array" - }, - "metrics": { - "additionalProperties": { - "format": "double", - "type": "number" - }, - "description": "The metrics of the trained model.", - "type": "object" - }, - "modelName": { - "description": "Fully qualified name of the CustomTuningModel.", + "content": { + "description": "Extractive segment content.", "type": "string" }, - "modelStatus": { - "description": "The trained model status. Possible values are: * **bad-data**: The training data quality is bad. * **no-improvement**: Tuning didn't improve performance. Won't deploy. * **in-progress**: Model training job creation is in progress. * **training**: Model is actively training. * **evaluating**: The model is evaluating trained metrics. * **indexing**: The model trained metrics are indexing. * **ready**: The model is ready for serving.", + "pageIdentifier": { + "description": "Page identifier.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1UpdateSchemaMetadata": { - "description": "Metadata for UpdateSchema LRO.", - "id": "GoogleCloudDiscoveryengineV1UpdateSchemaMetadata", + "GoogleCloudDiscoveryengineV1alphaAnswerQueryResponse": { + "description": "Response message for ConversationalSearchService.AnswerQuery method.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryResponse", "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", - "type": "string" + "answer": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswer", + "description": "Answer resource object. If AnswerQueryRequest.QueryUnderstandingSpec.QueryRephraserSpec.max_rephrase_steps is greater than 1, use Answer.name to fetch answer information using ConversationalSearchService.GetAnswer API." }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", + "answerQueryToken": { + "description": "A global unique ID used for logging.", "type": "string" + }, + "session": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSession", + "description": "Session resource object. It will be only available when session field is set and valid in the AnswerQueryRequest request." } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1UpdateTargetSiteMetadata": { - "description": "Metadata related to the progress of the SiteSearchEngineService.UpdateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1UpdateTargetSiteMetadata", + "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfo": { + "description": "Query understanding information.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfo", "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", - "type": "string" - }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", - "type": "string" + "queryClassificationInfo": { + "description": "Query classification information.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfoQueryClassificationInfo" + }, + "type": "array" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1WorkspaceConfig": { - "description": "Config to store data store type configuration for workspace data", - "id": "GoogleCloudDiscoveryengineV1WorkspaceConfig", + "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfoQueryClassificationInfo": { + "description": "Query classification information.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfoQueryClassificationInfo", "properties": { - "dasherCustomerId": { - "description": "Obfuscated Dasher customer ID.", - "type": "string" - }, - "superAdminEmailAddress": { - "description": "Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.", - "type": "string" - }, - "superAdminServiceAccount": { - "description": "Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.", - "type": "string" + "positive": { + "description": "Classification output.", + "type": "boolean" }, "type": { - "description": "The Google Workspace data source.", + "description": "Query classification type.", "enum": [ "TYPE_UNSPECIFIED", - "GOOGLE_DRIVE", - "GOOGLE_MAIL", - "GOOGLE_SITES", - "GOOGLE_CALENDAR", - "GOOGLE_CHAT", - "GOOGLE_GROUPS", - "GOOGLE_KEEP" + "ADVERSARIAL_QUERY", + "NON_ANSWER_SEEKING_QUERY", + "JAIL_BREAKING_QUERY", + "NON_ANSWER_SEEKING_QUERY_V2" ], "enumDescriptions": [ - "Defaults to an unspecified Workspace type.", - "Workspace Data Store contains Drive data", - "Workspace Data Store contains Mail data", - "Workspace Data Store contains Sites data", - "Workspace Data Store contains Calendar data", - "Workspace Data Store contains Chat data", - "Workspace Data Store contains Groups data", - "Workspace Data Store contains Keep data" + "Unspecified query classification type.", + "Adversarial query classification type.", + "Non-answer-seeking query classification type, for chit chat.", + "Jail-breaking query classification type.", + "Non-answer-seeking query classification type, for no clear intent." ], "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAclConfig": { - "description": "Access Control Configuration.", - "id": "GoogleCloudDiscoveryengineV1alphaAclConfig", + "GoogleCloudDiscoveryengineV1alphaAnswerReference": { + "description": "Reference.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerReference", "properties": { - "idpConfig": { - "$ref": "GoogleCloudDiscoveryengineV1alphaIdpConfig", - "description": "Identity provider config." + "chunkInfo": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfo", + "description": "Chunk information." }, - "name": { - "description": "Immutable. The full resource name of the acl configuration. Format: `projects/{project}/locations/{location}/aclConfig`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", - "type": "string" + "structuredDocumentInfo": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceStructuredDocumentInfo", + "description": "Structured document information." + }, + "unstructuredDocumentInfo": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfo", + "description": "Unstructured document information." } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAlloyDbSource": { - "description": "AlloyDB source import data from.", - "id": "GoogleCloudDiscoveryengineV1alphaAlloyDbSource", + "GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfo": { + "description": "Chunk information.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfo", "properties": { - "clusterId": { - "description": "Required. The AlloyDB cluster to copy the data from with a length limit of 256 characters.", + "chunk": { + "description": "Chunk resource name.", "type": "string" }, - "databaseId": { - "description": "Required. The AlloyDB database to copy the data from with a length limit of 256 characters.", + "content": { + "description": "Chunk textual content.", "type": "string" }, - "gcsStagingDir": { - "description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the AlloyDB export to a specific Cloud Storage directory. Ensure that the AlloyDB service account has the necessary Cloud Storage Admin permissions to access the specified Cloud Storage directory.", + "documentMetadata": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfoDocumentMetadata", + "description": "Document metadata." + }, + "relevanceScore": { + "description": "The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfoDocumentMetadata": { + "description": "Document metadata.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfoDocumentMetadata", + "properties": { + "document": { + "description": "Document resource name.", "type": "string" }, - "locationId": { - "description": "Required. The AlloyDB location to copy the data from with a length limit of 256 characters.", + "pageIdentifier": { + "description": "Page identifier.", "type": "string" }, - "projectId": { - "description": "The project ID that contains the AlloyDB source. Has a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", + "structData": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The structured JSON metadata for the document. It is populated from the struct data from the Chunk in search result.", + "type": "object" + }, + "title": { + "description": "Title.", "type": "string" }, - "tableId": { - "description": "Required. The AlloyDB table to copy the data from with a length limit of 256 characters.", + "uri": { + "description": "URI for the document.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswer": { - "description": "Defines an answer.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswer", + "GoogleCloudDiscoveryengineV1alphaAnswerReferenceStructuredDocumentInfo": { + "description": "Structured search information.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceStructuredDocumentInfo", "properties": { - "answerSkippedReasons": { - "description": "Additional answer-skipped reasons. This provides the reason for ignored cases. If nothing is skipped, this field is not set.", + "document": { + "description": "Document resource name.", + "type": "string" + }, + "structData": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Structured search data.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfo": { + "description": "Unstructured document information.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfo", + "properties": { + "chunkContents": { + "description": "List of cited chunk contents derived from document content.", "items": { - "enum": [ - "ANSWER_SKIPPED_REASON_UNSPECIFIED", - "ADVERSARIAL_QUERY_IGNORED", - "NON_ANSWER_SEEKING_QUERY_IGNORED", - "OUT_OF_DOMAIN_QUERY_IGNORED", - "POTENTIAL_POLICY_VIOLATION", - "NO_RELEVANT_CONTENT", - "JAIL_BREAKING_QUERY_IGNORED", - "CUSTOMER_POLICY_VIOLATION", - "NON_ANSWER_SEEKING_QUERY_IGNORED_V2" - ], - "enumDescriptions": [ - "Default value. The answer skipped reason is not specified.", - "The adversarial query ignored case.", - "The non-answer seeking query ignored case Google skips the answer if the query is chit chat.", - "The out-of-domain query ignored case. Google skips the answer if there are no high-relevance search results.", - "The potential policy violation case. Google skips the answer if there is a potential policy violation detected. This includes content that may be violent or toxic.", - "The no relevant content case. Google skips the answer if there is no relevant content in the retrieved search results.", - "The jail-breaking query ignored case. For example, \"Reply in the tone of a competing company's CEO\". Google skips the answer if the query is classified as a jail-breaking query.", - "The customer policy violation case. Google skips the summary if there is a customer policy violation detected. The policy is defined by the customer.", - "The non-answer seeking query ignored case. Google skips the answer if the query doesn't have clear intent." - ], - "type": "string" + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfoChunkContent" }, "type": "array" }, - "answerText": { - "description": "The textual answer.", + "document": { + "description": "Document resource name.", "type": "string" }, - "citations": { - "description": "Citations.", - "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerCitation" + "structData": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" }, - "type": "array" + "description": "The structured JSON metadata for the document. It is populated from the struct data from the Chunk in search result.", + "type": "object" }, - "completeTime": { - "description": "Output only. Answer completed timestamp.", - "format": "google-datetime", - "readOnly": true, + "title": { + "description": "Title.", "type": "string" }, - "createTime": { - "description": "Output only. Answer creation timestamp.", - "format": "google-datetime", - "readOnly": true, + "uri": { + "description": "URI for the document.", "type": "string" - }, - "name": { - "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*/answers/*`", + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfoChunkContent": { + "description": "Chunk content.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfoChunkContent", + "properties": { + "content": { + "description": "Chunk textual content.", "type": "string" }, - "queryUnderstandingInfo": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfo", - "description": "Query understanding information." + "pageIdentifier": { + "description": "Page identifier.", + "type": "string" }, - "references": { - "description": "References.", + "relevanceScore": { + "description": "The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaAnswerStep": { + "description": "Step information.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerStep", + "properties": { + "actions": { + "description": "Actions.", "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReference" + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepAction" }, "type": "array" }, - "relatedQuestions": { - "description": "Suggested related questions.", - "items": { - "type": "string" - }, - "type": "array" + "description": { + "description": "The description of the step.", + "type": "string" }, "state": { - "description": "The state of the answer generation.", + "description": "The state of the step.", "enum": [ "STATE_UNSPECIFIED", "IN_PROGRESS", @@ -9515,1145 +12254,1466 @@ ], "enumDescriptions": [ "Unknown.", - "Answer generation is currently in progress.", - "Answer generation currently failed.", - "Answer generation has succeeded." + "Step is currently in progress.", + "Step currently failed.", + "Step has succeeded." ], "type": "string" }, - "steps": { - "description": "Answer generation steps.", + "thought": { + "description": "The thought of the step.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaAnswerStepAction": { + "description": "Action.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerStepAction", + "properties": { + "observation": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservation", + "description": "Observation." + }, + "searchAction": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionSearchAction", + "description": "Search action." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservation": { + "description": "Observation.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservation", + "properties": { + "searchResults": { + "description": "Search results observed by the search action, it can be snippets info or chunk info, depending on the citation type set by the user.", "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStep" + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResult" }, "type": "array" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerCitation": { - "description": "Citation info for a segment.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerCitation", + "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResult": { + "id": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResult", "properties": { - "endIndex": { - "description": "End of the attributed segment, exclusive.", - "format": "int64", + "chunkInfo": { + "description": "If citation_type is CHUNK_LEVEL_CITATION and chunk mode is on, populate chunk info.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultChunkInfo" + }, + "type": "array" + }, + "document": { + "description": "Document resource name.", "type": "string" }, - "sources": { - "description": "Citation sources for the attributed segment.", + "snippetInfo": { + "description": "If citation_type is DOCUMENT_LEVEL_CITATION, populate document level snippets.", "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerCitationSource" + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultSnippetInfo" }, "type": "array" }, - "startIndex": { - "description": "Index indicates the start of the segment, measured in bytes (UTF-8 unicode).", - "format": "int64", + "structData": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result.", + "type": "object" + }, + "title": { + "description": "Title.", + "type": "string" + }, + "uri": { + "description": "URI for the document.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerCitationSource": { - "description": "Citation source.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerCitationSource", + "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultChunkInfo": { + "description": "Chunk information.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultChunkInfo", "properties": { - "referenceId": { - "description": "ID of the citation source.", + "chunk": { + "description": "Chunk resource name.", "type": "string" + }, + "content": { + "description": "Chunk textual content.", + "type": "string" + }, + "relevanceScore": { + "description": "The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.", + "format": "float", + "type": "number" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequest": { - "description": "Request message for ConversationalSearchService.AnswerQuery method.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequest", + "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultSnippetInfo": { + "description": "Snippet information.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultSnippetInfo", "properties": { - "answerGenerationSpec": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestAnswerGenerationSpec", - "description": "Answer generation specification." - }, - "asynchronousMode": { - "deprecated": true, - "description": "Deprecated: This field is deprecated. Streaming Answer API will be supported. Asynchronous mode control. If enabled, the response will be returned with answer/session resource name without final answer. The API users need to do the polling to get the latest status of answer/session by calling ConversationalSearchService.GetAnswer or ConversationalSearchService.GetSession method.", - "type": "boolean" - }, - "query": { - "$ref": "GoogleCloudDiscoveryengineV1alphaQuery", - "description": "Required. Current user query." - }, - "queryUnderstandingSpec": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpec", - "description": "Query understanding specification." - }, - "relatedQuestionsSpec": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestRelatedQuestionsSpec", - "description": "Related questions specification." - }, - "safetySpec": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSafetySpec", - "description": "Model specification." - }, - "searchSpec": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpec", - "description": "Search specification." - }, - "session": { - "description": "The session resource name. Not required. When session field is not set, the API is in sessionless mode. We support auto session mode: users can use the wildcard symbol `-` as session ID. A new ID will be automatically generated and assigned.", + "snippet": { + "description": "Snippet content.", "type": "string" }, - "userLabels": { - "additionalProperties": { - "type": "string" - }, - "description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", - "type": "object" - }, - "userPseudoId": { - "description": "A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This field should NOT have a fixed value such as `unknown_visitor`. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", + "snippetStatus": { + "description": "Status of the snippet defined by the search team.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestAnswerGenerationSpec": { - "description": "Answer generation specification.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestAnswerGenerationSpec", + "GoogleCloudDiscoveryengineV1alphaAnswerStepActionSearchAction": { + "description": "Search action.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionSearchAction", "properties": { - "answerLanguageCode": { - "description": "Language code for Answer. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Note: This is an experimental feature.", + "query": { + "description": "The query to search.", "type": "string" - }, - "ignoreAdversarialQuery": { - "description": "Specifies whether to filter out adversarial queries. The default value is `false`. Google employs search-query classification to detect adversarial queries. No answer is returned if the search query is classified as an adversarial query. For example, a user might ask a question regarding negative comments about the company or submit a query designed to generate unsafe, policy-violating output. If this field is set to `true`, we skip generating answers for adversarial queries and return fallback messages instead.", - "type": "boolean" - }, - "ignoreJailBreakingQuery": { - "description": "Optional. Specifies whether to filter out jail-breaking queries. The default value is `false`. Google employs search-query classification to detect jail-breaking queries. No summary is returned if the search query is classified as a jail-breaking query. A user might add instructions to the query to change the tone, style, language, content of the answer, or ask the model to act as a different entity, e.g. \"Reply in the tone of a competing company's CEO\". If this field is set to `true`, we skip generating summaries for jail-breaking queries and return fallback messages instead.", - "type": "boolean" - }, - "ignoreLowRelevantContent": { - "description": "Specifies whether to filter out queries that have low relevance. If this field is set to `false`, all search results are used regardless of relevance to generate answers. If set to `true` or unset, the behavior will be determined automatically by the service.", - "type": "boolean" - }, - "ignoreNonAnswerSeekingQuery": { - "description": "Specifies whether to filter out queries that are not answer-seeking. The default value is `false`. Google employs search-query classification to detect answer-seeking queries. No answer is returned if the search query is classified as a non-answer seeking query. If this field is set to `true`, we skip generating answers for non-answer seeking queries and return fallback messages instead.", - "type": "boolean" - }, - "includeCitations": { - "description": "Specifies whether to include citation metadata in the answer. The default value is `false`.", - "type": "boolean" - }, - "modelSpec": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestAnswerGenerationSpecModelSpec", - "description": "Answer generation model specification." - }, - "promptSpec": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestAnswerGenerationSpecPromptSpec", - "description": "Answer generation prompt specification." } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestAnswerGenerationSpecModelSpec": { - "description": "Answer Generation Model specification.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestAnswerGenerationSpecModelSpec", + "GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSiteMetadata": { + "description": "Metadata related to the progress of the SiteSearchEngineService.BatchCreateTargetSites operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSiteMetadata", "properties": { - "modelVersion": { - "description": "Model version. If not set, it will use the default stable model. Allowed values are: stable, preview.", + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestAnswerGenerationSpecPromptSpec": { - "description": "Answer generation prompt specification.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestAnswerGenerationSpecPromptSpec", + "GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSitesRequest": { + "description": "Request message for SiteSearchEngineService.BatchCreateTargetSites method.", + "id": "GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSitesRequest", "properties": { - "preamble": { - "description": "Customized preamble.", - "type": "string" + "requests": { + "description": "Required. The request message specifying the resources to create. A maximum of 20 TargetSites can be created in a batch.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCreateTargetSiteRequest" + }, + "type": "array" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpec": { - "description": "Query understanding specification.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpec", + "GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSitesResponse": { + "description": "Response message for SiteSearchEngineService.BatchCreateTargetSites method.", + "id": "GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSitesResponse", "properties": { - "queryClassificationSpec": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpecQueryClassificationSpec", - "description": "Query classification specification." - }, - "queryRephraserSpec": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpec", - "description": "Query rephraser specification." + "targetSites": { + "description": "TargetSites created.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaTargetSite" + }, + "type": "array" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpecQueryClassificationSpec": { - "description": "Query classification specification.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpecQueryClassificationSpec", + "GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponse": { + "description": "Response message for DocumentService.BatchGetDocumentsMetadata method.", + "id": "GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponse", "properties": { - "types": { - "description": "Enabled query classification types.", + "documentsMetadata": { + "description": "The metadata of the Documents.", "items": { - "enum": [ - "TYPE_UNSPECIFIED", - "ADVERSARIAL_QUERY", - "NON_ANSWER_SEEKING_QUERY", - "JAIL_BREAKING_QUERY", - "NON_ANSWER_SEEKING_QUERY_V2" - ], - "enumDescriptions": [ - "Unspecified query classification type.", - "Adversarial query classification type.", - "Non-answer-seeking query classification type, for chit chat.", - "Jail-breaking query classification type.", - "Non-answer-seeking query classification type, for no clear intent." - ], - "type": "string" + "$ref": "GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponseDocumentMetadata" }, "type": "array" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpec": { - "description": "Query rephraser specification.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpec", + "GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponseDocumentMetadata": { + "description": "The metadata of a Document.", + "id": "GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponseDocumentMetadata", "properties": { - "disable": { - "description": "Disable query rephraser.", - "type": "boolean" + "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" }, - "maxRephraseSteps": { - "description": "Max rephrase steps. The max number is 5 steps. If not set or set to < 1, it will be set to 1 by default.", - "format": "int32", - "type": "integer" + "lastRefreshedTime": { + "description": "The timestamp of the last time the Document was last indexed.", + "format": "google-datetime", + "type": "string" + }, + "matcherValue": { + "$ref": "GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponseDocumentMetadataMatcherValue", + "description": "The value of the matcher that was used to match the Document." + }, + "state": { + "description": "The state of the document.", + "enum": [ + "STATE_UNSPECIFIED", + "INDEXED", + "NOT_IN_TARGET_SITE", + "NOT_IN_INDEX" + ], + "enumDescriptions": [ + "Should never be set.", + "The Document is indexed.", + "The Document is not indexed because its URI is not in the TargetSite.", + "The Document is not indexed." + ], + "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestRelatedQuestionsSpec": { - "description": "Related questions specification.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestRelatedQuestionsSpec", + "GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponseDocumentMetadataMatcherValue": { + "description": "The value of the matcher that was used to match the Document.", + "id": "GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponseDocumentMetadataMatcherValue", "properties": { - "enable": { - "description": "Enable related questions feature if true.", - "type": "boolean" + "fhirResource": { + "description": "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" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSafetySpec": { - "description": "Safety specification.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSafetySpec", + "GoogleCloudDiscoveryengineV1alphaBatchVerifyTargetSitesRequest": { + "description": "Request message for SiteSearchEngineService.BatchVerifyTargetSites method.", + "id": "GoogleCloudDiscoveryengineV1alphaBatchVerifyTargetSitesRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaBigQuerySource": { + "description": "BigQuery source import data from.", + "id": "GoogleCloudDiscoveryengineV1alphaBigQuerySource", "properties": { - "enable": { - "description": "Enable the safety filtering on the answer response. It is false by default.", - "type": "boolean" + "dataSchema": { + "description": "The schema to use when parsing the data from the source. Supported values for user event imports: * `user_event` (default): One UserEvent per row. Supported values for document imports: * `document` (default): One Document format per row. Each document must have a valid Document.id and one of Document.json_data or Document.struct_data. * `custom`: One custom data per row in arbitrary format that conforms to the defined Schema of the data store. This can only be used by the GENERIC Data Store vertical.", + "type": "string" + }, + "datasetId": { + "description": "Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters.", + "type": "string" + }, + "gcsStagingDir": { + "description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory.", + "type": "string" + }, + "partitionDate": { + "$ref": "GoogleTypeDate", + "description": "BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format." + }, + "projectId": { + "description": "The project ID or the project number that contains the BigQuery source. Has a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", + "type": "string" + }, + "tableId": { + "description": "Required. The BigQuery table to copy the data from with a length limit of 1,024 characters.", + "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpec": { - "description": "Search specification.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpec", + "GoogleCloudDiscoveryengineV1alphaBigtableOptions": { + "description": "The Bigtable Options object that contains information to support the import.", + "id": "GoogleCloudDiscoveryengineV1alphaBigtableOptions", "properties": { - "searchParams": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchParams", - "description": "Search parameters." + "families": { + "additionalProperties": { + "$ref": "GoogleCloudDiscoveryengineV1alphaBigtableOptionsBigtableColumnFamily" + }, + "description": "The mapping from family names to an object that contains column families level information for the given column family. If a family is not present in this map it will be ignored.", + "type": "object" }, - "searchResultList": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultList", - "description": "Search result list." + "keyFieldName": { + "description": "The field name used for saving row key value in the document. The name has to match the pattern `a-zA-Z0-9*`.", + "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchParams": { - "description": "Search parameters.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchParams", + "GoogleCloudDiscoveryengineV1alphaBigtableOptionsBigtableColumn": { + "description": "The column of the Bigtable.", + "id": "GoogleCloudDiscoveryengineV1alphaBigtableOptionsBigtableColumn", "properties": { - "boostSpec": { - "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec", - "description": "Boost specification to boost certain documents in search results which may affect the answer query response. For more information on boosting, see [Boosting](https://cloud.google.com/retail/docs/boosting#boost)" + "encoding": { + "description": "The encoding mode of the values when the type is not `STRING`. Acceptable encoding values are: * `TEXT`: indicates values are alphanumeric text strings. * `BINARY`: indicates values are encoded using `HBase Bytes.toBytes` family of functions. This can be overridden for a specific column by listing that column in `columns` and specifying an encoding for it.", + "enum": [ + "ENCODING_UNSPECIFIED", + "TEXT", + "BINARY" + ], + "enumDescriptions": [ + "The encoding is unspecified.", + "Text encoding.", + "Binary encoding." + ], + "type": "string" }, - "customFineTuningSpec": { - "$ref": "GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec", - "description": "Custom fine tuning configs." + "fieldName": { + "description": "The field name to use for this column in the document. The name has to match the pattern `a-zA-Z0-9*`. If not set, it is parsed from the qualifier bytes with best effort. However, due to different naming patterns, field name collisions could happen, where parsing behavior is undefined.", + "type": "string" }, - "dataStoreSpecs": { - "description": "Specs defining dataStores to filter on in a search call and configurations for those dataStores. This is only considered for engines with multiple dataStores use case. For single dataStore within an engine, they should use the specs at the top level.", + "qualifier": { + "description": "Required. Qualifier of the column. If it cannot be decoded with utf-8, use a base-64 encoded string instead.", + "format": "byte", + "type": "string" + }, + "type": { + "description": "The type of values in this column family. The values are expected to be encoded using `HBase Bytes.toBytes` function when the encoding value is set to `BINARY`.", + "enum": [ + "TYPE_UNSPECIFIED", + "STRING", + "NUMBER", + "INTEGER", + "VAR_INTEGER", + "BIG_NUMERIC", + "BOOLEAN", + "JSON" + ], + "enumDescriptions": [ + "The type is unspecified.", + "String type.", + "Numerical type.", + "Integer type.", + "Variable length integer type.", + "BigDecimal type.", + "Boolean type.", + "JSON type." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaBigtableOptionsBigtableColumnFamily": { + "description": "The column family of the Bigtable.", + "id": "GoogleCloudDiscoveryengineV1alphaBigtableOptionsBigtableColumnFamily", + "properties": { + "columns": { + "description": "The list of objects that contains column level information for each column. If a column is not present in this list it will be ignored.", "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec" + "$ref": "GoogleCloudDiscoveryengineV1alphaBigtableOptionsBigtableColumn" }, "type": "array" }, - "filter": { - "description": "The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. Filter expression is case-sensitive. This will be used to filter search results which may affect the Answer response. If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. Filtering in Vertex AI Search is done by mapping the LHS filter key to a key property defined in the Vertex AI Search backend -- this mapping is defined by the customer in their schema. For example a media customers might have a field 'name' in their schema. In this case the filter would look like this: filter --> name:'ANY(\"king kong\")' For more information about filtering including syntax and filter operators, see [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)", + "encoding": { + "description": "The encoding mode of the values when the type is not STRING. Acceptable encoding values are: * `TEXT`: indicates values are alphanumeric text strings. * `BINARY`: indicates values are encoded using `HBase Bytes.toBytes` family of functions. This can be overridden for a specific column by listing that column in `columns` and specifying an encoding for it.", + "enum": [ + "ENCODING_UNSPECIFIED", + "TEXT", + "BINARY" + ], + "enumDescriptions": [ + "The encoding is unspecified.", + "Text encoding.", + "Binary encoding." + ], "type": "string" }, - "maxReturnResults": { - "description": "Number of search results to return. The default value is 10.", - "format": "int32", - "type": "integer" - }, - "naturalLanguageQueryUnderstandingSpec": { - "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec", - "description": "Optional. Specification to enable natural language understanding capabilities for search requests." - }, - "orderBy": { - "description": "The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering, see [Ordering](https://cloud.google.com/retail/docs/filter-and-order#order) If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.", + "fieldName": { + "description": "The field name to use for this column family in the document. The name has to match the pattern `a-zA-Z0-9*`. If not set, it is parsed from the family name with best effort. However, due to different naming patterns, field name collisions could happen, where parsing behavior is undefined.", "type": "string" }, - "searchResultMode": { - "description": "Specifies the search result mode. If unspecified, the search result mode defaults to `DOCUMENTS`. See [parse and chunk documents](https://cloud.google.com/generative-ai-app-builder/docs/parse-chunk-documents)", + "type": { + "description": "The type of values in this column family. The values are expected to be encoded using `HBase Bytes.toBytes` function when the encoding value is set to `BINARY`.", "enum": [ - "SEARCH_RESULT_MODE_UNSPECIFIED", - "DOCUMENTS", - "CHUNKS" + "TYPE_UNSPECIFIED", + "STRING", + "NUMBER", + "INTEGER", + "VAR_INTEGER", + "BIG_NUMERIC", + "BOOLEAN", + "JSON" ], "enumDescriptions": [ - "Default value.", - "Returns documents in the search result.", - "Returns chunks in the search result. Only available if the DataStore.DocumentProcessingConfig.chunking_config is specified." + "The type is unspecified.", + "String type.", + "Numerical type.", + "Integer type.", + "Variable length integer type.", + "BigDecimal type.", + "Boolean type.", + "JSON type." ], "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultList": { - "description": "Search result list.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultList", - "properties": { - "searchResults": { - "description": "Search results.", - "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResult" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResult": { - "description": "Search result.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResult", + "GoogleCloudDiscoveryengineV1alphaBigtableSource": { + "description": "The Cloud Bigtable source for importing data.", + "id": "GoogleCloudDiscoveryengineV1alphaBigtableSource", "properties": { - "chunkInfo": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfo", - "description": "Chunk information." + "bigtableOptions": { + "$ref": "GoogleCloudDiscoveryengineV1alphaBigtableOptions", + "description": "Required. Bigtable options that contains information needed when parsing data into typed structures. For example, column type annotations." }, - "unstructuredDocumentInfo": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfo", - "description": "Unstructured document information." - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfo": { - "description": "Chunk information.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfo", - "properties": { - "chunk": { - "description": "Chunk resource name.", + "instanceId": { + "description": "Required. The instance ID of the Cloud Bigtable that needs to be imported.", "type": "string" }, - "content": { - "description": "Chunk textual content.", + "projectId": { + "description": "The project ID that contains the Bigtable source. Has a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", "type": "string" }, - "documentMetadata": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfoDocumentMetadata", - "description": "Metadata of the document from the current chunk." + "tableId": { + "description": "Required. The table ID of the Cloud Bigtable that needs to be imported.", + "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfoDocumentMetadata": { - "description": "Document metadata contains the information of the document of the current chunk.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultChunkInfoDocumentMetadata", + "GoogleCloudDiscoveryengineV1alphaCheckGroundingRequest": { + "description": "Request message for GroundedGenerationService.CheckGrounding method.", + "id": "GoogleCloudDiscoveryengineV1alphaCheckGroundingRequest", "properties": { - "title": { - "description": "Title of the document.", + "answerCandidate": { + "description": "Answer candidate to check. It can have a maximum length of 4096 tokens.", "type": "string" }, - "uri": { - "description": "Uri of the document.", - "type": "string" + "facts": { + "description": "List of facts for the grounding check. We support up to 200 facts.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaGroundingFact" + }, + "type": "array" + }, + "groundingSpec": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCheckGroundingSpec", + "description": "Configuration of the grounding check." + }, + "userLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", + "type": "object" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfo": { - "description": "Unstructured document information.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfo", + "GoogleCloudDiscoveryengineV1alphaCheckGroundingResponse": { + "description": "Response message for the GroundedGenerationService.CheckGrounding method.", + "id": "GoogleCloudDiscoveryengineV1alphaCheckGroundingResponse", "properties": { - "document": { - "description": "Document resource name.", - "type": "string" - }, - "documentContexts": { - "description": "List of document contexts. The content will be used for Answer Generation. This is supposed to be the main content of the document that can be long and comprehensive.", + "citedChunks": { + "description": "List of facts cited across all claims in the answer candidate. These are derived from the facts supplied in the request.", "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoDocumentContext" + "$ref": "GoogleCloudDiscoveryengineV1alphaFactChunk" }, "type": "array" }, - "extractiveAnswers": { - "deprecated": true, - "description": "Deprecated: This field is deprecated and will have no effect on the Answer generation. Please use document_contexts and extractive_segments fields. List of extractive answers.", + "citedFacts": { + "description": "List of facts cited across all claims in the answer candidate. These are derived from the facts supplied in the request.", "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveAnswer" + "$ref": "GoogleCloudDiscoveryengineV1alphaCheckGroundingResponseCheckGroundingFactChunk" }, "type": "array" }, - "extractiveSegments": { - "description": "List of extractive segments.", + "claims": { + "description": "Claim texts and citation info across all claims in the answer candidate.", "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveSegment" + "$ref": "GoogleCloudDiscoveryengineV1alphaCheckGroundingResponseClaim" }, "type": "array" }, - "title": { - "description": "Title.", - "type": "string" - }, - "uri": { - "description": "URI for the document.", - "type": "string" + "supportScore": { + "description": "The support score for the input answer candidate. Higher the score, higher is the fraction of claims that are supported by the provided facts. This is always set when a response is returned.", + "format": "float", + "type": "number" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoDocumentContext": { - "description": "Document context.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoDocumentContext", + "GoogleCloudDiscoveryengineV1alphaCheckGroundingResponseCheckGroundingFactChunk": { + "description": "Fact chunk for grounding check.", + "id": "GoogleCloudDiscoveryengineV1alphaCheckGroundingResponseCheckGroundingFactChunk", "properties": { - "content": { - "description": "Document content to be used for answer generation.", - "type": "string" - }, - "pageIdentifier": { - "description": "Page identifier.", + "chunkText": { + "description": "Text content of the fact chunk. Can be at most 10K characters long.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveAnswer": { - "description": "Extractive answer. [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#get-answers)", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveAnswer", + "GoogleCloudDiscoveryengineV1alphaCheckGroundingResponseClaim": { + "description": "Text and citation info for a claim in the answer candidate.", + "id": "GoogleCloudDiscoveryengineV1alphaCheckGroundingResponseClaim", "properties": { - "content": { - "description": "Extractive answer content.", - "type": "string" + "citationIndices": { + "description": "A list of indices (into 'cited_chunks') specifying the citations associated with the claim. For instance [1,3,4] means that cited_chunks[1], cited_chunks[3], cited_chunks[4] are the facts cited supporting for the claim. A citation to a fact indicates that the claim is supported by the fact.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" }, - "pageIdentifier": { - "description": "Page identifier.", + "claimText": { + "description": "Text for the claim in the answer candidate. Always provided regardless of whether citations or anti-citations are found.", "type": "string" + }, + "endPos": { + "description": "Position indicating the end of the claim in the answer candidate, exclusive.", + "format": "int32", + "type": "integer" + }, + "groundingCheckRequired": { + "description": "Indicates that this claim required grounding check. When the system decided this claim doesn't require attribution/grounding check, this field will be set to false. In that case, no grounding check was done for the claim and therefore citation_indices should not be returned.", + "type": "boolean" + }, + "startPos": { + "description": "Position indicating the start of the claim in the answer candidate, measured in bytes.", + "format": "int32", + "type": "integer" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveSegment": { - "description": "Extractive segment. [Guide](https://cloud.google.com/generative-ai-app-builder/docs/snippets#extractive-segments) Answer generation will only use it if document_contexts is empty. This is supposed to be shorter snippets.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSearchSpecSearchResultListSearchResultUnstructuredDocumentInfoExtractiveSegment", + "GoogleCloudDiscoveryengineV1alphaCheckGroundingSpec": { + "description": "Specification for the grounding check.", + "id": "GoogleCloudDiscoveryengineV1alphaCheckGroundingSpec", "properties": { - "content": { - "description": "Extractive segment content.", - "type": "string" - }, - "pageIdentifier": { - "description": "Page identifier.", - "type": "string" + "citationThreshold": { + "description": "The threshold (in [0,1]) used for determining whether a fact must be cited for a claim in the answer candidate. Choosing a higher threshold will lead to fewer but very strong citations, while choosing a lower threshold may lead to more but somewhat weaker citations. If unset, the threshold will default to 0.6.", + "format": "double", + "type": "number" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerQueryResponse": { - "description": "Response message for ConversationalSearchService.AnswerQuery method.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryResponse", + "GoogleCloudDiscoveryengineV1alphaCheckRequirementRequest": { + "description": "Request for CheckRequirement method.", + "id": "GoogleCloudDiscoveryengineV1alphaCheckRequirementRequest", "properties": { - "answer": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswer", - "description": "Answer resource object. If AnswerQueryRequest.QueryUnderstandingSpec.QueryRephraserSpec.max_rephrase_steps is greater than 1, use Answer.name to fetch answer information using ConversationalSearchService.GetAnswer API." - }, - "answerQueryToken": { - "description": "A global unique ID used for logging.", + "requirementType": { + "description": "The type specifying the requirement to check. The supported types are: * `discoveryengine.googleapis.com/media_recs/general/all/warning` * `discoveryengine.googleapis.com/media_recs/oyml/cvr/warning` * `discoveryengine.googleapis.com/media_recs/rfy/cvr/warning` * `discoveryengine.googleapis.com/media_recs/mlt/cvr/warning` * `discoveryengine.googleapis.com/media_recs/mp/cvr/warning` * `discoveryengine.googleapis.com/media_recs/oyml/wdps/warning` * `discoveryengine.googleapis.com/media_recs/rfy/wdps/warning` * `discoveryengine.googleapis.com/media_recs/mlt/wdps/warning`", "type": "string" }, - "session": { - "$ref": "GoogleCloudDiscoveryengineV1alphaSession", - "description": "Session resource object. It will be only available when session field is set and valid in the AnswerQueryRequest request." - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfo": { - "description": "Query understanding information.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfo", - "properties": { - "queryClassificationInfo": { - "description": "Query classification information.", + "resources": { + "description": "The resources to be checked for this requirement. The type needed for the monitored resources: * `discoveryengine.googleapis.com/Branch`. * The labels needed for this resource: * `project_number` * `location_id` * `collection_id` * `datastore_id` * `branch_id` * `discoveryengine.googleapis.com/DataStore` * The labels needed for this resource: * `project_number` * `location_id` * `collection_id` * `datastore_id`", "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfoQueryClassificationInfo" + "$ref": "GoogleApiMonitoredResource" }, "type": "array" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfoQueryClassificationInfo": { - "description": "Query classification information.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfoQueryClassificationInfo", + "GoogleCloudDiscoveryengineV1alphaCheckRequirementResponse": { + "description": "Response for the CheckRequirement method.", + "id": "GoogleCloudDiscoveryengineV1alphaCheckRequirementResponse", "properties": { - "positive": { - "description": "Classification output.", - "type": "boolean" + "metricResults": { + "description": "Metric results.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCheckRequirementResponseMetricQueryResult" + }, + "type": "array" }, - "type": { - "description": "Query classification type.", - "enum": [ - "TYPE_UNSPECIFIED", - "ADVERSARIAL_QUERY", - "NON_ANSWER_SEEKING_QUERY", - "JAIL_BREAKING_QUERY", - "NON_ANSWER_SEEKING_QUERY_V2" - ], - "enumDescriptions": [ - "Unspecified query classification type.", - "Adversarial query classification type.", - "Non-answer-seeking query classification type, for chit chat.", - "Jail-breaking query classification type.", - "Non-answer-seeking query classification type, for no clear intent." - ], + "oldestMetricTimestamp": { + "description": "Timestamp of the oldest calculated metric (i.e. the most stale metric). Indicates that the `result` may not accurately reflect any Event and Product Catalog updates performed after this time.", + "format": "google-datetime", "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaAnswerReference": { - "description": "Reference.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerReference", - "properties": { - "chunkInfo": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfo", - "description": "Chunk information." }, - "structuredDocumentInfo": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceStructuredDocumentInfo", - "description": "Structured document information." + "requirement": { + "$ref": "GoogleCloudDiscoveryengineV1alphaRequirement", + "description": "Requirement definition." + }, + "requirementCondition": { + "$ref": "GoogleTypeExpr", + "description": "The condition for evaluating the requirement result." }, - "unstructuredDocumentInfo": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfo", - "description": "Unstructured document information." + "result": { + "description": "The result of the requirement. It should be one of the `severity` fields in the requirement definition. If any error happens during the evaluation, it will be `UNKNOWN`.", + "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfo": { - "description": "Chunk information.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfo", + "GoogleCloudDiscoveryengineV1alphaCheckRequirementResponseMetricQueryResult": { + "description": "Metric result. The metric are in the requirement_condition.", + "id": "GoogleCloudDiscoveryengineV1alphaCheckRequirementResponseMetricQueryResult", "properties": { - "chunk": { - "description": "Chunk resource name.", + "metricType": { + "description": "Type identifier of the metric corresponding to this query result.", "type": "string" }, - "content": { - "description": "Chunk textual content.", + "name": { + "description": "This metric query name is mapping to variables in the requirement_condition.", "type": "string" }, - "documentMetadata": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfoDocumentMetadata", - "description": "Document metadata." + "timestamp": { + "description": "Time corresponding to when this metric value was calculated.", + "format": "google-datetime", + "type": "string" }, - "relevanceScore": { - "description": "The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.", - "format": "float", - "type": "number" + "unit": { + "description": "The unit in which this metric is reported. Follows [The Unified Code for Units of Measure](https://unitsofmeasure.org/ucum.html) standard.", + "type": "string" + }, + "value": { + "$ref": "GoogleMonitoringV3TypedValue", + "description": "Value of the metric query." } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfoDocumentMetadata": { - "description": "Document metadata.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceChunkInfoDocumentMetadata", + "GoogleCloudDiscoveryengineV1alphaChunk": { + "description": "Chunk captures all raw metadata information of items to be recommended or searched in the chunk mode.", + "id": "GoogleCloudDiscoveryengineV1alphaChunk", "properties": { - "document": { - "description": "Document resource name.", - "type": "string" + "chunkMetadata": { + "$ref": "GoogleCloudDiscoveryengineV1alphaChunkChunkMetadata", + "description": "Output only. Metadata of the current chunk.", + "readOnly": true }, - "pageIdentifier": { - "description": "Page identifier.", + "content": { + "description": "Content is a string from a document (parsed content).", "type": "string" }, - "structData": { + "derivedStructData": { "additionalProperties": { "description": "Properties of the object.", "type": "any" }, - "description": "The structured JSON metadata for the document. It is populated from the struct data from the Chunk in search result.", + "description": "Output only. This field is OUTPUT_ONLY. It contains derived data that are not in the original input document.", + "readOnly": true, "type": "object" }, - "title": { - "description": "Title.", + "documentMetadata": { + "$ref": "GoogleCloudDiscoveryengineV1alphaChunkDocumentMetadata", + "description": "Metadata of the document from the current chunk." + }, + "id": { + "description": "Unique chunk ID of the current chunk.", "type": "string" }, - "uri": { - "description": "URI for the document.", + "name": { + "description": "The full resource name of the chunk. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}/chunks/{chunk_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", "type": "string" + }, + "pageSpan": { + "$ref": "GoogleCloudDiscoveryengineV1alphaChunkPageSpan", + "description": "Page span of the chunk." + }, + "relevanceScore": { + "description": "Output only. Represents the relevance score based on similarity. Higher score indicates higher chunk relevance. The score is in range [-1.0, 1.0]. Only populated on SearchResponse.", + "format": "double", + "readOnly": true, + "type": "number" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerReferenceStructuredDocumentInfo": { - "description": "Structured search information.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceStructuredDocumentInfo", + "GoogleCloudDiscoveryengineV1alphaChunkChunkMetadata": { + "description": "Metadata of the current chunk. This field is only populated on SearchService.Search API.", + "id": "GoogleCloudDiscoveryengineV1alphaChunkChunkMetadata", "properties": { - "document": { - "description": "Document resource name.", - "type": "string" + "nextChunks": { + "description": "The next chunks of the current chunk. The number is controlled by SearchRequest.ContentSearchSpec.ChunkSpec.num_next_chunks. This field is only populated on SearchService.Search API.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaChunk" + }, + "type": "array" }, - "structData": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" + "previousChunks": { + "description": "The previous chunks of the current chunk. The number is controlled by SearchRequest.ContentSearchSpec.ChunkSpec.num_previous_chunks. This field is only populated on SearchService.Search API.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaChunk" }, - "description": "Structured search data.", - "type": "object" + "type": "array" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfo": { - "description": "Unstructured document information.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfo", + "GoogleCloudDiscoveryengineV1alphaChunkDocumentMetadata": { + "description": "Document metadata contains the information of the document of the current chunk.", + "id": "GoogleCloudDiscoveryengineV1alphaChunkDocumentMetadata", "properties": { - "chunkContents": { - "description": "List of cited chunk contents derived from document content.", - "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfoChunkContent" - }, - "type": "array" - }, - "document": { - "description": "Document resource name.", - "type": "string" - }, "structData": { "additionalProperties": { "description": "Properties of the object.", "type": "any" }, - "description": "The structured JSON metadata for the document. It is populated from the struct data from the Chunk in search result.", + "description": "Data representation. The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown.", "type": "object" }, "title": { - "description": "Title.", + "description": "Title of the document.", "type": "string" }, "uri": { - "description": "URI for the document.", + "description": "Uri of the document.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfoChunkContent": { - "description": "Chunk content.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerReferenceUnstructuredDocumentInfoChunkContent", + "GoogleCloudDiscoveryengineV1alphaChunkPageSpan": { + "description": "Page span of the chunk.", + "id": "GoogleCloudDiscoveryengineV1alphaChunkPageSpan", "properties": { - "content": { - "description": "Chunk textual content.", + "pageEnd": { + "description": "The end page of the chunk.", + "format": "int32", + "type": "integer" + }, + "pageStart": { + "description": "The start page of the chunk.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaCloudSqlSource": { + "description": "Cloud SQL source import data from.", + "id": "GoogleCloudDiscoveryengineV1alphaCloudSqlSource", + "properties": { + "databaseId": { + "description": "Required. The Cloud SQL database to copy the data from with a length limit of 256 characters.", "type": "string" }, - "pageIdentifier": { - "description": "Page identifier.", + "gcsStagingDir": { + "description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the Cloud SQL export to a specific Cloud Storage directory. Ensure that the Cloud SQL service account has the necessary Cloud Storage Admin permissions to access the specified Cloud Storage directory.", "type": "string" }, - "relevanceScore": { - "description": "The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.", - "format": "float", - "type": "number" + "instanceId": { + "description": "Required. The Cloud SQL instance to copy the data from with a length limit of 256 characters.", + "type": "string" + }, + "offload": { + "description": "Option for serverless export. Enabling this option will incur additional cost. More info can be found [here](https://cloud.google.com/sql/pricing#serverless).", + "type": "boolean" + }, + "projectId": { + "description": "The project ID that contains the Cloud SQL source. Has a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", + "type": "string" + }, + "tableId": { + "description": "Required. The Cloud SQL table to copy the data from with a length limit of 256 characters.", + "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerStep": { - "description": "Step information.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerStep", + "GoogleCloudDiscoveryengineV1alphaCmekConfig": { + "description": "Configurations used to enable CMEK data encryption with Cloud KMS keys.", + "id": "GoogleCloudDiscoveryengineV1alphaCmekConfig", "properties": { - "actions": { - "description": "Actions.", + "isDefault": { + "description": "Output only. The default CmekConfig for the Customer.", + "readOnly": true, + "type": "boolean" + }, + "kmsKey": { + "description": "Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", + "type": "string" + }, + "kmsKeyVersion": { + "description": "Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.", + "type": "string" + }, + "lastRotationTimestampMicros": { + "description": "Output only. The timestamp of the last key rotation.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", + "type": "string" + }, + "singleRegionKeys": { + "description": "Optional. Single-regional CMEKs that are required for some VAIS features.", "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepAction" + "$ref": "GoogleCloudDiscoveryengineV1alphaSingleRegionKey" }, "type": "array" }, - "description": { - "description": "The description of the step.", - "type": "string" - }, "state": { - "description": "The state of the step.", + "description": "Output only. State of the CmekConfig.", "enum": [ "STATE_UNSPECIFIED", - "IN_PROGRESS", - "FAILED", - "SUCCEEDED" + "CREATING", + "ACTIVE", + "KEY_ISSUE", + "DELETING", + "UNUSABLE", + "ACTIVE_ROTATING" ], "enumDescriptions": [ - "Unknown.", - "Step is currently in progress.", - "Step currently failed.", - "Step has succeeded." + "The CmekConfig state is unknown.", + "The CmekConfig is creating.", + "The CmekConfig can be used with DataStores.", + "The CmekConfig is unavailable, most likely due to the KMS Key being revoked.", + "The CmekConfig is deleting.", + "The CmekConfig is not usable, most likely due to some internal issue.", + "The KMS key version is being rotated." ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaCollection": { + "description": "Collection is a container for configuring resources and access to a set of DataStores.", + "id": "GoogleCloudDiscoveryengineV1alphaCollection", + "properties": { + "createTime": { + "description": "Output only. Timestamp the Collection was created at.", + "format": "google-datetime", + "readOnly": true, "type": "string" }, - "thought": { - "description": "The thought of the step.", + "dataConnector": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDataConnector", + "description": "Output only. The data connector, if present, manages the connection for data stores in the Collection. To set up the connector, use DataConnectorService.SetUpDataConnector method, which creates a new Collection while setting up the DataConnector singleton resource. Setting up connector on an existing Collection is not supported. This output only field contains a subset of the DataConnector fields, including `name`, `data_source`, `entities.entity_name` and `entities.data_store`. To get more details about a data connector, use the DataConnectorService.GetDataConnector method.", + "readOnly": true + }, + "displayName": { + "description": "Required. The Collection display name. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", + "type": "string" + }, + "name": { + "description": "Immutable. The full resource name of the Collection. Format: `projects/{project}/locations/{location}/collections/{collection_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerStepAction": { - "description": "Action.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerStepAction", + "GoogleCloudDiscoveryengineV1alphaCompleteQueryResponse": { + "description": "Response message for CompletionService.CompleteQuery method.", + "id": "GoogleCloudDiscoveryengineV1alphaCompleteQueryResponse", "properties": { - "observation": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservation", - "description": "Observation." + "querySuggestions": { + "description": "Results of the matched query suggestions. The result list is ordered and the first result is a top suggestion.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCompleteQueryResponseQuerySuggestion" + }, + "type": "array" }, - "searchAction": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionSearchAction", - "description": "Search action." + "tailMatchTriggered": { + "description": "True if the returned suggestions are all tail suggestions. For tail matching to be triggered, include_tail_suggestions in the request must be true and there must be no suggestions that match the full query.", + "type": "boolean" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservation": { - "description": "Observation.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservation", + "GoogleCloudDiscoveryengineV1alphaCompleteQueryResponseQuerySuggestion": { + "description": "Suggestions as search queries.", + "id": "GoogleCloudDiscoveryengineV1alphaCompleteQueryResponseQuerySuggestion", "properties": { - "searchResults": { - "description": "Search results observed by the search action, it can be snippets info or chunk info, depending on the citation type set by the user.", + "completableFieldPaths": { + "description": "The unique document field paths that serve as the source of this suggestion if it was generated from completable fields. This field is only populated for the document-completable model.", "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResult" + "type": "string" }, "type": "array" + }, + "suggestion": { + "description": "The suggestion for the query.", + "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResult": { - "id": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResult", + "GoogleCloudDiscoveryengineV1alphaCompletionInfo": { + "description": "Detailed completion information including completion attribution token and clicked completion info.", + "id": "GoogleCloudDiscoveryengineV1alphaCompletionInfo", "properties": { - "chunkInfo": { - "description": "If citation_type is CHUNK_LEVEL_CITATION and chunk mode is on, populate chunk info.", + "selectedPosition": { + "description": "End user selected CompleteQueryResponse.QuerySuggestion.suggestion position, starting from 0.", + "format": "int32", + "type": "integer" + }, + "selectedSuggestion": { + "description": "End user selected CompleteQueryResponse.QuerySuggestion.suggestion.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaCompletionSuggestion": { + "description": "Autocomplete suggestions that are imported from Customer.", + "id": "GoogleCloudDiscoveryengineV1alphaCompletionSuggestion", + "properties": { + "alternativePhrases": { + "description": "Alternative matching phrases for this suggestion.", "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultChunkInfo" + "type": "string" }, "type": "array" }, - "document": { - "description": "Document resource name.", + "frequency": { + "description": "Frequency of this suggestion. Will be used to rank suggestions when score is not available.", + "format": "int64", "type": "string" }, - "snippetInfo": { - "description": "If citation_type is DOCUMENT_LEVEL_CITATION, populate document level snippets.", - "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultSnippetInfo" - }, - "type": "array" + "globalScore": { + "description": "Global score of this suggestion. Control how this suggestion would be scored / ranked.", + "format": "double", + "type": "number" }, - "structData": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result. .", - "type": "object" + "groupId": { + "description": "If two suggestions have the same groupId, they will not be returned together. Instead the one ranked higher will be returned. This can be used to deduplicate semantically identical suggestions.", + "type": "string" }, - "title": { - "description": "Title.", + "groupScore": { + "description": "The score of this suggestion within its group.", + "format": "double", + "type": "number" + }, + "languageCode": { + "description": "BCP-47 language code of this suggestion.", "type": "string" }, - "uri": { - "description": "URI for the document.", + "suggestion": { + "description": "Required. The suggestion text.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultChunkInfo": { - "description": "Chunk information.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultChunkInfo", + "GoogleCloudDiscoveryengineV1alphaCondition": { + "description": "Defines circumstances to be checked before allowing a behavior", + "id": "GoogleCloudDiscoveryengineV1alphaCondition", "properties": { - "chunk": { - "description": "Chunk resource name.", - "type": "string" + "activeTimeRange": { + "description": "Range of time(s) specifying when condition is active. Maximum of 10 time ranges.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaConditionTimeRange" + }, + "type": "array" }, - "content": { - "description": "Chunk textual content.", + "queryRegex": { + "description": "Optional. Query regex to match the whole search query. Cannot be set when Condition.query_terms is set. This is currently supporting promotion use case.", "type": "string" }, - "relevanceScore": { - "description": "The relevance of the chunk for a given query. Values range from 0.0 (completely irrelevant) to 1.0 (completely relevant). This value is for informational purpose only. It may change for the same query and chunk at any time due to a model retraining or change in implementation.", - "format": "float", - "type": "number" + "queryTerms": { + "description": "Search only A list of terms to match the query on. Cannot be set when Condition.query_regex is set. Maximum of 10 query terms.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaConditionQueryTerm" + }, + "type": "array" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultSnippetInfo": { - "description": "Snippet information.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultSnippetInfo", + "GoogleCloudDiscoveryengineV1alphaConditionQueryTerm": { + "description": "Matcher for search request query", + "id": "GoogleCloudDiscoveryengineV1alphaConditionQueryTerm", "properties": { - "snippet": { - "description": "Snippet content.", - "type": "string" + "fullMatch": { + "description": "Whether the search query needs to exactly match the query term.", + "type": "boolean" }, - "snippetStatus": { - "description": "Status of the snippet defined by the search team.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaAnswerStepActionSearchAction": { - "description": "Search action.", - "id": "GoogleCloudDiscoveryengineV1alphaAnswerStepActionSearchAction", - "properties": { - "query": { - "description": "The query to search.", + "value": { + "description": "The specific query value to match against Must be lowercase, must be UTF-8. Can have at most 3 space separated terms if full_match is true. Cannot be an empty string. Maximum length of 5000 characters.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSiteMetadata": { - "description": "Metadata related to the progress of the SiteSearchEngineService.BatchCreateTargetSites operation. This will be returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSiteMetadata", + "GoogleCloudDiscoveryengineV1alphaConditionTimeRange": { + "description": "Used for time-dependent conditions.", + "id": "GoogleCloudDiscoveryengineV1alphaConditionTimeRange", "properties": { - "createTime": { - "description": "Operation create time.", + "endTime": { + "description": "End of time range. Range is inclusive. Must be in the future.", "format": "google-datetime", "type": "string" }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", + "startTime": { + "description": "Start of time range. Range is inclusive.", "format": "google-datetime", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSitesRequest": { - "description": "Request message for SiteSearchEngineService.BatchCreateTargetSites method.", - "id": "GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSitesRequest", + "GoogleCloudDiscoveryengineV1alphaConnectorRun": { + "description": "A data sync run of DataConnector. After DataConnector is successfully initialized, data syncs are scheduled at DataConnector.refresh_interval. A ConnectorRun represents a data sync either in the past or onging that the moment. //", + "id": "GoogleCloudDiscoveryengineV1alphaConnectorRun", "properties": { - "requests": { - "description": "Required. The request message specifying the resources to create. A maximum of 20 TargetSites can be created in a batch.", + "endTime": { + "description": "Output only. The time when the connector run ended.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "entityRuns": { + "description": "Output only. The details of the entities synced at the ConnectorRun. Each ConnectorRun consists of syncing one or more entities.", "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaCreateTargetSiteRequest" + "$ref": "GoogleCloudDiscoveryengineV1alphaConnectorRunEntityRun" }, + "readOnly": true, "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSitesResponse": { - "description": "Response message for SiteSearchEngineService.BatchCreateTargetSites method.", - "id": "GoogleCloudDiscoveryengineV1alphaBatchCreateTargetSitesResponse", - "properties": { - "targetSites": { - "description": "TargetSites created.", + }, + "errors": { + "description": "Contains info about errors incurred during the sync. Only exist if running into an error state. Contains error code and error message. Use with the `state` field.", "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaTargetSite" + "$ref": "GoogleRpcStatus" }, "type": "array" + }, + "latestPauseTime": { + "description": "Output only. The time when the connector run was most recently paused.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The full resource name of the Connector Run. Format: `projects/*/locations/*/collections/*/dataConnector/connectorRuns/*`. The `connector_run_id` is system-generated.", + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. The time when the connector run started.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The state of the sync run.", + "enum": [ + "STATE_UNSPECIFIED", + "RUNNING", + "SUCCEEDED", + "FAILED", + "OVERRUN", + "CANCELLED", + "PENDING", + "WARNING" + ], + "enumDescriptions": [ + "Default value.", + "The data sync is ongoing.", + "The data sync is finished.", + "The data sync is failed.", + "Data sync has been running longer than expected and is still running at the time the next run is supposed to start.", + "Data sync was scheduled but has been cancelled.", + "Data sync is about to start.", + "The data sync completed with non-fatal errors." + ], + "readOnly": true, + "type": "string" + }, + "stateUpdateTime": { + "description": "Timestamp at which the connector run sync state was last updated.", + "format": "google-datetime", + "type": "string" + }, + "trigger": { + "description": "Output only. The trigger for this ConnectorRun.", + "enum": [ + "TRIGGER_UNSPECIFIED", + "SCHEDULER", + "INITIALIZATION", + "RESUME", + "MANUAL" + ], + "enumDescriptions": [ + "Default value.", + "ConnectorRun triggered by scheduler if connector has PERIODIC sync mode.", + "ConnectorRun auto triggered by connector initialization.", + "ConnectorRun auto triggered by resuming connector.", + "ConnectorRun triggered by user manually." + ], + "readOnly": true, + "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponse": { - "description": "Response message for DocumentService.BatchGetDocumentsMetadata method.", - "id": "GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponse", + "GoogleCloudDiscoveryengineV1alphaConnectorRunEntityRun": { + "description": "Represents an entity that was synced in this ConnectorRun.", + "id": "GoogleCloudDiscoveryengineV1alphaConnectorRunEntityRun", "properties": { - "documentsMetadata": { - "description": "The metadata of the Documents.", + "entityName": { + "description": "The name of the source entity.", + "type": "string" + }, + "errorRecordCount": { + "description": "The total number of documents failed at sync at any stage (extraction, indexing, etc).", + "format": "int64", + "type": "string" + }, + "errors": { + "description": "The errors from the entity's sync run. Only exist if running into an error state. Contains error code and error message.", "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponseDocumentMetadata" + "$ref": "GoogleRpcStatus" }, "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponseDocumentMetadata": { - "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.", + }, + "extractedRecordCount": { + "description": "The number of documents extracted from connector source, ready to be ingested to UCS.", + "format": "int64", + "type": "string" + }, + "indexedRecordCount": { + "description": "The number of documents indexed.", + "format": "int64", + "type": "string" + }, + "sourceApiRequestCount": { + "description": "The number of requests sent to 3p API.", + "format": "int64", + "type": "string" + }, + "state": { + "description": "The state of the entity's sync run.", + "enum": [ + "STATE_UNSPECIFIED", + "RUNNING", + "SUCCEEDED", + "FAILED", + "OVERRUN", + "CANCELLED", + "PENDING", + "WARNING" + ], + "enumDescriptions": [ + "Default value.", + "The data sync is ongoing.", + "The data sync is finished.", + "The data sync is failed.", + "Data sync has been running longer than expected and is still running at the time the next run is supposed to start.", + "Data sync was scheduled but has been cancelled.", + "Data sync is about to start.", + "The data sync completed with non-fatal errors." + ], "type": "string" }, - "lastRefreshedTime": { - "description": "The timestamp of the last time the Document was last indexed.", + "stateUpdateTime": { + "description": "Timestamp at which the entity sync state was last updated.", "format": "google-datetime", "type": "string" }, - "matcherValue": { - "$ref": "GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponseDocumentMetadataMatcherValue", - "description": "The value of the matcher that was used to match the Document." + "statsUpdateTime": { + "description": "The timestamp for either extracted_documents_count, indexed_documents_count and error_documents_count was last updated.", + "format": "google-datetime", + "type": "string" }, - "state": { - "description": "The state of the document.", + "syncType": { + "description": "Sync type of this run.", "enum": [ - "STATE_UNSPECIFIED", - "INDEXED", - "NOT_IN_TARGET_SITE", - "NOT_IN_INDEX" + "SYNC_TYPE_UNSPECIFIED", + "FULL", + "INCREMENTAL" ], "enumDescriptions": [ - "Should never be set.", - "The Document is indexed.", - "The Document is not indexed because its URI is not in the TargetSite.", - "The Document is not indexed." + "Sync type unspecified.", + "Sync triggers full sync of all documents.", + "Incremental sync of updated documents." ], "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponseDocumentMetadataMatcherValue": { - "description": "The value of the matcher that was used to match the Document.", - "id": "GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponseDocumentMetadataMatcherValue", + "GoogleCloudDiscoveryengineV1alphaControl": { + "description": "Defines a conditioned behavior to employ during serving. Must be attached to a ServingConfig to be considered at serving time. Permitted actions dependent on `SolutionType`.", + "id": "GoogleCloudDiscoveryengineV1alphaControl", "properties": { - "fhirResource": { - "description": "Required. Format: projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}/fhir/{resource_type}/{fhir_resource_id}", + "associatedServingConfigIds": { + "description": "Output only. List of all ServingConfig IDs this control is attached to. May take up to 10 minutes to update after changes.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "boostAction": { + "$ref": "GoogleCloudDiscoveryengineV1alphaControlBoostAction", + "description": "Defines a boost-type control" + }, + "conditions": { + "description": "Determines when the associated action will trigger. Omit to always apply the action. Currently only a single condition may be specified. Otherwise an INVALID ARGUMENT error is thrown.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCondition" + }, + "type": "array" + }, + "displayName": { + "description": "Required. Human readable name. The identifier used in UI views. Must be UTF-8 encoded string. Length limit is 128 characters. Otherwise an INVALID ARGUMENT error is thrown.", "type": "string" }, - "uri": { - "description": "If match by URI, the URI of the Document.", + "filterAction": { + "$ref": "GoogleCloudDiscoveryengineV1alphaControlFilterAction", + "description": "Defines a filter-type control Currently not supported by Recommendation" + }, + "name": { + "description": "Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*`", + "type": "string" + }, + "promoteAction": { + "$ref": "GoogleCloudDiscoveryengineV1alphaControlPromoteAction", + "description": "Promote certain links based on predefined trigger queries. This now only supports basic site search." + }, + "redirectAction": { + "$ref": "GoogleCloudDiscoveryengineV1alphaControlRedirectAction", + "description": "Defines a redirect-type control." + }, + "solutionType": { + "description": "Required. Immutable. What solution the control belongs to. Must be compatible with vertical of resource. Otherwise an INVALID ARGUMENT error is thrown.", + "enum": [ + "SOLUTION_TYPE_UNSPECIFIED", + "SOLUTION_TYPE_RECOMMENDATION", + "SOLUTION_TYPE_SEARCH", + "SOLUTION_TYPE_CHAT", + "SOLUTION_TYPE_GENERATIVE_CHAT" + ], + "enumDescriptions": [ + "Default value.", + "Used for Recommendations AI.", + "Used for Discovery Search.", + "Used for use cases related to the Generative AI agent.", + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + ], "type": "string" + }, + "synonymsAction": { + "$ref": "GoogleCloudDiscoveryengineV1alphaControlSynonymsAction", + "description": "Treats a group of terms as synonyms of one another." + }, + "useCases": { + "description": "Specifies the use case for the control. Affects what condition fields can be set. Only applies to SOLUTION_TYPE_SEARCH. Currently only allow one use case per control. Must be set when solution_type is SolutionType.SOLUTION_TYPE_SEARCH.", + "items": { + "enum": [ + "SEARCH_USE_CASE_UNSPECIFIED", + "SEARCH_USE_CASE_SEARCH", + "SEARCH_USE_CASE_BROWSE" + ], + "enumDescriptions": [ + "Value used when unset. Will not occur in CSS.", + "Search use case. Expects the traffic has a non-empty query.", + "Browse use case. Expects the traffic has an empty query." + ], + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaBatchVerifyTargetSitesRequest": { - "description": "Request message for SiteSearchEngineService.BatchVerifyTargetSites method.", - "id": "GoogleCloudDiscoveryengineV1alphaBatchVerifyTargetSitesRequest", - "properties": {}, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaBigQuerySource": { - "description": "BigQuery source import data from.", - "id": "GoogleCloudDiscoveryengineV1alphaBigQuerySource", + "GoogleCloudDiscoveryengineV1alphaControlBoostAction": { + "description": "Adjusts order of products in returned list.", + "id": "GoogleCloudDiscoveryengineV1alphaControlBoostAction", "properties": { - "dataSchema": { - "description": "The schema to use when parsing the data from the source. Supported values for user event imports: * `user_event` (default): One UserEvent per row. Supported values for document imports: * `document` (default): One Document format per row. Each document must have a valid Document.id and one of Document.json_data or Document.struct_data. * `custom`: One custom data per row in arbitrary format that conforms to the defined Schema of the data store. This can only be used by the GENERIC Data Store vertical.", - "type": "string" - }, - "datasetId": { - "description": "Required. The BigQuery data set to copy the data from with a length limit of 1,024 characters.", - "type": "string" + "boost": { + "deprecated": true, + "description": "Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", + "format": "float", + "type": "number" }, - "gcsStagingDir": { - "description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the BigQuery export to a specific Cloud Storage directory.", + "dataStore": { + "description": "Required. Specifies which data store's documents can be boosted by this control. Full data store name e.g. projects/123/locations/global/collections/default_collection/dataStores/default_data_store", "type": "string" }, - "partitionDate": { - "$ref": "GoogleTypeDate", - "description": "BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format." - }, - "projectId": { - "description": "The project ID or the project number that contains the BigQuery source. Has a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", + "filter": { + "description": "Required. Specifies which products to apply the boost to. If no filter is provided all products will be boosted (No-op). Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", "type": "string" }, - "tableId": { - "description": "Required. The BigQuery table to copy the data from with a length limit of 1,024 characters.", - "type": "string" + "fixedBoost": { + "description": "Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", + "format": "float", + "type": "number" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaBigtableOptions": { - "description": "The Bigtable Options object that contains information to support the import.", - "id": "GoogleCloudDiscoveryengineV1alphaBigtableOptions", + "GoogleCloudDiscoveryengineV1alphaControlFilterAction": { + "description": "Specified which products may be included in results. Uses same filter as boost.", + "id": "GoogleCloudDiscoveryengineV1alphaControlFilterAction", "properties": { - "families": { - "additionalProperties": { - "$ref": "GoogleCloudDiscoveryengineV1alphaBigtableOptionsBigtableColumnFamily" - }, - "description": "The mapping from family names to an object that contains column families level information for the given column family. If a family is not present in this map it will be ignored.", - "type": "object" + "dataStore": { + "description": "Required. Specifies which data store's documents can be filtered by this control. Full data store name e.g. projects/123/locations/global/collections/default_collection/dataStores/default_data_store", + "type": "string" }, - "keyFieldName": { - "description": "The field name used for saving row key value in the document. The name has to match the pattern `a-zA-Z0-9*`.", + "filter": { + "description": "Required. A filter to apply on the matching condition results. Required Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaBigtableOptionsBigtableColumn": { - "description": "The column of the Bigtable.", - "id": "GoogleCloudDiscoveryengineV1alphaBigtableOptionsBigtableColumn", + "GoogleCloudDiscoveryengineV1alphaControlPromoteAction": { + "description": "Promote certain links based on some trigger queries. Example: Promote shoe store link when searching for `shoe` keyword. The link can be outside of associated data store.", + "id": "GoogleCloudDiscoveryengineV1alphaControlPromoteAction", "properties": { - "encoding": { - "description": "The encoding mode of the values when the type is not `STRING`. Acceptable encoding values are: * `TEXT`: indicates values are alphanumeric text strings. * `BINARY`: indicates values are encoded using `HBase Bytes.toBytes` family of functions. This can be overridden for a specific column by listing that column in `columns` and specifying an encoding for it.", - "enum": [ - "ENCODING_UNSPECIFIED", - "TEXT", - "BINARY" - ], - "enumDescriptions": [ - "The encoding is unspecified.", - "Text encoding.", - "Binary encoding." - ], - "type": "string" - }, - "fieldName": { - "description": "The field name to use for this column in the document. The name has to match the pattern `a-zA-Z0-9*`. If not set, it is parsed from the qualifier bytes with best effort. However, due to different naming patterns, field name collisions could happen, where parsing behavior is undefined.", - "type": "string" - }, - "qualifier": { - "description": "Required. Qualifier of the column. If it cannot be decoded with utf-8, use a base-64 encoded string instead.", - "format": "byte", + "dataStore": { + "description": "Required. Data store with which this promotion is attached to.", "type": "string" }, - "type": { - "description": "The type of values in this column family. The values are expected to be encoded using `HBase Bytes.toBytes` function when the encoding value is set to `BINARY`.", - "enum": [ - "TYPE_UNSPECIFIED", - "STRING", - "NUMBER", - "INTEGER", - "VAR_INTEGER", - "BIG_NUMERIC", - "BOOLEAN", - "JSON" - ], - "enumDescriptions": [ - "The type is unspecified.", - "String type.", - "Numerical type.", - "Integer type.", - "Variable length integer type.", - "BigDecimal type.", - "Boolean type.", - "JSON type." - ], + "searchLinkPromotion": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSearchLinkPromotion", + "description": "Required. Promotion attached to this action." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaControlRedirectAction": { + "description": "Redirects a shopper to the provided URI.", + "id": "GoogleCloudDiscoveryengineV1alphaControlRedirectAction", + "properties": { + "redirectUri": { + "description": "Required. The URI to which the shopper will be redirected. Required. URI must have length equal or less than 2000 characters. Otherwise an INVALID ARGUMENT error is thrown.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaBigtableOptionsBigtableColumnFamily": { - "description": "The column family of the Bigtable.", - "id": "GoogleCloudDiscoveryengineV1alphaBigtableOptionsBigtableColumnFamily", + "GoogleCloudDiscoveryengineV1alphaControlSynonymsAction": { + "description": "Creates a set of terms that will act as synonyms of one another. Example: \"happy\" will also be considered as \"glad\", \"glad\" will also be considered as \"happy\".", + "id": "GoogleCloudDiscoveryengineV1alphaControlSynonymsAction", "properties": { - "columns": { - "description": "The list of objects that contains column level information for each column. If a column is not present in this list it will be ignored.", + "synonyms": { + "description": "Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at least 2 synonyms. Otherwise an INVALID ARGUMENT error is thrown.", "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaBigtableOptionsBigtableColumn" + "type": "string" }, "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaConversation": { + "description": "External conversation proto definition.", + "id": "GoogleCloudDiscoveryengineV1alphaConversation", + "properties": { + "endTime": { + "description": "Output only. The time the conversation finished.", + "format": "google-datetime", + "readOnly": true, + "type": "string" }, - "encoding": { - "description": "The encoding mode of the values when the type is not STRING. Acceptable encoding values are: * `TEXT`: indicates values are alphanumeric text strings. * `BINARY`: indicates values are encoded using `HBase Bytes.toBytes` family of functions. This can be overridden for a specific column by listing that column in `columns` and specifying an encoding for it.", - "enum": [ - "ENCODING_UNSPECIFIED", - "TEXT", - "BINARY" - ], - "enumDescriptions": [ - "The encoding is unspecified.", - "Text encoding.", - "Binary encoding." - ], + "messages": { + "description": "Conversation messages.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaConversationMessage" + }, + "type": "array" + }, + "name": { + "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", "type": "string" }, - "fieldName": { - "description": "The field name to use for this column family in the document. The name has to match the pattern `a-zA-Z0-9*`. If not set, it is parsed from the family name with best effort. However, due to different naming patterns, field name collisions could happen, where parsing behavior is undefined.", + "startTime": { + "description": "Output only. The time the conversation started.", + "format": "google-datetime", + "readOnly": true, "type": "string" }, - "type": { - "description": "The type of values in this column family. The values are expected to be encoded using `HBase Bytes.toBytes` function when the encoding value is set to `BINARY`.", + "state": { + "description": "The state of the Conversation.", "enum": [ - "TYPE_UNSPECIFIED", - "STRING", - "NUMBER", - "INTEGER", - "VAR_INTEGER", - "BIG_NUMERIC", - "BOOLEAN", - "JSON" + "STATE_UNSPECIFIED", + "IN_PROGRESS", + "COMPLETED" ], "enumDescriptions": [ - "The type is unspecified.", - "String type.", - "Numerical type.", - "Integer type.", - "Variable length integer type.", - "BigDecimal type.", - "Boolean type.", - "JSON type." + "Unknown.", + "Conversation is currently open.", + "Conversation has been completed." ], "type": "string" + }, + "userPseudoId": { + "description": "A unique identifier for tracking users.", + "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaBigtableSource": { - "description": "The Cloud Bigtable source for importing data.", - "id": "GoogleCloudDiscoveryengineV1alphaBigtableSource", + "GoogleCloudDiscoveryengineV1alphaConversationContext": { + "description": "Defines context of the conversation", + "id": "GoogleCloudDiscoveryengineV1alphaConversationContext", "properties": { - "bigtableOptions": { - "$ref": "GoogleCloudDiscoveryengineV1alphaBigtableOptions", - "description": "Required. Bigtable options that contains information needed when parsing data into typed structures. For example, column type annotations." - }, - "instanceId": { - "description": "Required. The instance ID of the Cloud Bigtable that needs to be imported.", + "activeDocument": { + "description": "The current active document the user opened. It contains the document resource reference.", "type": "string" }, - "projectId": { - "description": "The project ID that contains the Bigtable source. Has a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", + "contextDocuments": { + "description": "The current list of documents the user is seeing. It contains the document resource references.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaConversationMessage": { + "description": "Defines a conversation message.", + "id": "GoogleCloudDiscoveryengineV1alphaConversationMessage", + "properties": { + "createTime": { + "description": "Output only. Message creation timestamp.", + "format": "google-datetime", + "readOnly": true, "type": "string" }, - "tableId": { - "description": "Required. The table ID of the Cloud Bigtable that needs to be imported.", - "type": "string" + "reply": { + "$ref": "GoogleCloudDiscoveryengineV1alphaReply", + "description": "Search reply." + }, + "userInput": { + "$ref": "GoogleCloudDiscoveryengineV1alphaTextInput", + "description": "User text input." } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaCheckGroundingRequest": { - "description": "Request message for GroundedGenerationService.CheckGrounding method.", - "id": "GoogleCloudDiscoveryengineV1alphaCheckGroundingRequest", + "GoogleCloudDiscoveryengineV1alphaConverseConversationRequest": { + "description": "Request message for ConversationalSearchService.ConverseConversation method.", + "id": "GoogleCloudDiscoveryengineV1alphaConverseConversationRequest", "properties": { - "answerCandidate": { - "description": "Answer candidate to check. Can have a maximum length of 1024 characters.", + "boostSpec": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec", + "description": "Boost specification to boost certain documents in search results which may affect the converse response. For more information on boosting, see [Boosting](https://cloud.google.com/retail/docs/boosting#boost)" + }, + "conversation": { + "$ref": "GoogleCloudDiscoveryengineV1alphaConversation", + "description": "The conversation to be used by auto session only. The name field will be ignored as we automatically assign new name for the conversation in auto session." + }, + "filter": { + "description": "The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. Filter expression is case-sensitive. This will be used to filter search results which may affect the summary response. If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. Filtering in Vertex AI Search is done by mapping the LHS filter key to a key property defined in the Vertex AI Search backend -- this mapping is defined by the customer in their schema. For example a media customer might have a field 'name' in their schema. In this case the filter would look like this: filter --> name:'ANY(\"king kong\")' For more information about filtering including syntax and filter operators, see [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)", "type": "string" }, - "facts": { - "description": "List of facts for the grounding check. We support up to 200 facts.", - "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaGroundingFact" - }, - "type": "array" + "query": { + "$ref": "GoogleCloudDiscoveryengineV1alphaTextInput", + "description": "Required. Current user input." }, - "groundingSpec": { - "$ref": "GoogleCloudDiscoveryengineV1alphaCheckGroundingSpec", - "description": "Configuration of the grounding check." + "safeSearch": { + "description": "Whether to turn on safe search.", + "type": "boolean" + }, + "servingConfig": { + "description": "The resource name of the Serving Config to use. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/servingConfigs/{serving_config_id}` If this is not set, the default serving config will be used.", + "type": "string" + }, + "summarySpec": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpec", + "description": "A specification for configuring the summary returned in the response." }, "userLabels": { "additionalProperties": { @@ -10665,753 +13725,703 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaCheckGroundingResponse": { - "description": "Response message for the GroundedGenerationService.CheckGrounding method.", - "id": "GoogleCloudDiscoveryengineV1alphaCheckGroundingResponse", + "GoogleCloudDiscoveryengineV1alphaConverseConversationResponse": { + "description": "Response message for ConversationalSearchService.ConverseConversation method.", + "id": "GoogleCloudDiscoveryengineV1alphaConverseConversationResponse", "properties": { - "citedChunks": { - "description": "List of facts cited across all claims in the answer candidate. These are derived from the facts supplied in the request.", + "conversation": { + "$ref": "GoogleCloudDiscoveryengineV1alphaConversation", + "description": "Updated conversation including the answer." + }, + "relatedQuestions": { + "description": "Suggested related questions.", "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaFactChunk" + "type": "string" }, "type": "array" }, - "claims": { - "description": "Claim texts and citation info across all claims in the answer candidate.", + "reply": { + "$ref": "GoogleCloudDiscoveryengineV1alphaReply", + "description": "Answer to the current query." + }, + "searchResults": { + "description": "Search Results.", "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaCheckGroundingResponseClaim" + "$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseSearchResult" }, "type": "array" - }, - "supportScore": { - "description": "The support score for the input answer candidate. Higher the score, higher is the fraction of claims that are supported by the provided facts. This is always set when a response is returned.", - "format": "float", - "type": "number" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaCheckGroundingResponseClaim": { - "description": "Text and citation info for a claim in the answer candidate.", - "id": "GoogleCloudDiscoveryengineV1alphaCheckGroundingResponseClaim", + "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries": { + "description": "The historical crawl rate timeseries data, used for monitoring.", + "id": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", "properties": { - "citationIndices": { - "description": "A list of indices (into 'cited_chunks') specifying the citations associated with the claim. For instance [1,3,4] means that cited_chunks[1], cited_chunks[3], cited_chunks[4] are the facts cited supporting for the claim. A citation to a fact indicates that the claim is supported by the fact.", - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "claimText": { - "description": "Text for the claim in the answer candidate. Always provided regardless of whether citations or anti-citations are found.", - "type": "string" - }, - "endPos": { - "description": "Position indicating the end of the claim in the answer candidate, exclusive.", - "format": "int32", - "type": "integer" - }, - "groundingCheckRequired": { - "description": "Indicates that this claim required grounding check. When the system decided this claim doesn't require attribution/grounding check, this field will be set to false. In that case, no grounding check was done for the claim and therefore citation_indices, anti_citation_indices, and score should not be returned.", - "type": "boolean" - }, - "startPos": { - "description": "Position indicating the start of the claim in the answer candidate, measured in bytes.", - "format": "int32", - "type": "integer" + "qpsTimeSeries": { + "$ref": "GoogleMonitoringV3TimeSeries", + "description": "The QPS of the crawl rate." } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaCheckGroundingSpec": { - "description": "Specification for the grounding check.", - "id": "GoogleCloudDiscoveryengineV1alphaCheckGroundingSpec", + "GoogleCloudDiscoveryengineV1alphaCreateDataStoreMetadata": { + "description": "Metadata related to the progress of the DataStoreService.CreateDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaCreateDataStoreMetadata", "properties": { - "citationThreshold": { - "description": "The threshold (in [0,1]) used for determining whether a fact must be cited for a claim in the answer candidate. Choosing a higher threshold will lead to fewer but very strong citations, while choosing a lower threshold may lead to more but somewhat weaker citations. If unset, the threshold will default to 0.6.", - "format": "double", - "type": "number" + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaCheckRequirementRequest": { - "description": "Request for CheckRequirement method.", - "id": "GoogleCloudDiscoveryengineV1alphaCheckRequirementRequest", + "GoogleCloudDiscoveryengineV1alphaCreateEngineMetadata": { + "description": "Metadata related to the progress of the EngineService.CreateEngine operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaCreateEngineMetadata", "properties": { - "requirementType": { - "description": "The type specifying the requirement to check. The supported types are: * `discoveryengine.googleapis.com/media_recs/general/all/warning` * `discoveryengine.googleapis.com/media_recs/oyml/cvr/warning` * `discoveryengine.googleapis.com/media_recs/rfy/cvr/warning` * `discoveryengine.googleapis.com/media_recs/mlt/cvr/warning` * `discoveryengine.googleapis.com/media_recs/mp/cvr/warning` * `discoveryengine.googleapis.com/media_recs/oyml/wdps/warning` * `discoveryengine.googleapis.com/media_recs/rfy/wdps/warning` * `discoveryengine.googleapis.com/media_recs/mlt/wdps/warning`", + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", "type": "string" }, - "resources": { - "description": "The type needed for the monitored resources: * `discoveryengine.googleapis.com/Branch`. * The labels needed for this resource: * `project`_`number` * `location`_`id` * `collection`_`id` * `datastore`_`id` * `branch`_`id` * `discoveryengine.googleapis.com/DataStore` * The labels needed for this resource: * `project`_`number` * `location`_`id` * `collection`_`id` * `datastore`_`id`", - "items": { - "$ref": "GoogleApiMonitoredResource" - }, - "type": "array" + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaCheckRequirementResponse": { - "description": "Response for the CheckRequirement method.", - "id": "GoogleCloudDiscoveryengineV1alphaCheckRequirementResponse", + "GoogleCloudDiscoveryengineV1alphaCreateEvaluationMetadata": { + "description": "Metadata for EvaluationService.CreateEvaluation method.", + "id": "GoogleCloudDiscoveryengineV1alphaCreateEvaluationMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaCreateSchemaMetadata": { + "description": "Metadata for Create Schema LRO.", + "id": "GoogleCloudDiscoveryengineV1alphaCreateSchemaMetadata", "properties": { - "metricResults": { - "description": "Metric results.", - "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaCheckRequirementResponseMetricQueryResult" - }, - "type": "array" - }, - "oldestMetricTimestamp": { - "description": "Timestamp of the oldest calculated metric (i.e. the most stale metric). Indicates that the `requirement_result` may not accurately reflect any Event and Product Catalog updates performed after this time.", + "createTime": { + "description": "Operation create time.", "format": "google-datetime", "type": "string" - }, - "requirement": { - "$ref": "GoogleCloudDiscoveryengineV1alphaRequirement", - "description": "Requirement definition." - }, - "requirementCondition": { - "$ref": "GoogleTypeExpr", - "description": "The condition for evaluating the requirement result." - }, - "requirementResult": { - "description": "Requirement result, e.g. pass or fail.", - "enum": [ - "UNKNOWN", - "SUCCESS", - "FAILURE", - "WARNING" - ], - "enumDescriptions": [ - "The requirement is unknown.", - "The requirement check is passed.", - "The requirement check fails to meet at least one blocking threshold.", - "The requirement check fails at least one warning threshold, but passes all blocking thresholds." - ], + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaCheckRequirementResponseMetricQueryResult": { - "description": "Metric result. The metric are in the requirement_condition.", - "id": "GoogleCloudDiscoveryengineV1alphaCheckRequirementResponseMetricQueryResult", + "GoogleCloudDiscoveryengineV1alphaCreateSitemapMetadata": { + "description": "Metadata related to the progress of the SiteSearchEngineService.CreateSitemap operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaCreateSitemapMetadata", "properties": { - "metricType": { - "description": "Type identifier of the metric corresponding to this query result.", - "type": "string" - }, - "name": { - "description": "This metric query name is mapping to variables in the requirement_condition.", - "type": "string" - }, - "timestamp": { - "description": "Time corresponding to when this metric value was calculated.", + "createTime": { + "description": "Operation create time.", "format": "google-datetime", "type": "string" }, - "unit": { - "description": "The unit in which this metric is reported. Follows [The Unified Code for Units of Measure](https://unitsofmeasure.org/ucum.html) standard.", + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", "type": "string" - }, - "value": { - "$ref": "GoogleMonitoringV3TypedValue", - "description": "Value of the metric query." } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaChunk": { - "description": "Chunk captures all raw metadata information of items to be recommended or searched in the chunk mode.", - "id": "GoogleCloudDiscoveryengineV1alphaChunk", + "GoogleCloudDiscoveryengineV1alphaCreateTargetSiteMetadata": { + "description": "Metadata related to the progress of the SiteSearchEngineService.CreateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaCreateTargetSiteMetadata", "properties": { - "chunkMetadata": { - "$ref": "GoogleCloudDiscoveryengineV1alphaChunkChunkMetadata", - "description": "Output only. Metadata of the current chunk.", - "readOnly": true - }, - "content": { - "description": "Content is a string from a document (parsed content).", + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", "type": "string" }, - "derivedStructData": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "Output only. This field is OUTPUT_ONLY. It contains derived data that are not in the original input document.", - "readOnly": true, - "type": "object" - }, - "documentMetadata": { - "$ref": "GoogleCloudDiscoveryengineV1alphaChunkDocumentMetadata", - "description": "Metadata of the document from the current chunk." - }, - "id": { - "description": "Unique chunk ID of the current chunk.", + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", "type": "string" - }, - "name": { - "description": "The full resource name of the chunk. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}/chunks/{chunk_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaCreateTargetSiteRequest": { + "description": "Request message for SiteSearchEngineService.CreateTargetSite method.", + "id": "GoogleCloudDiscoveryengineV1alphaCreateTargetSiteRequest", + "properties": { + "parent": { + "description": "Required. Parent resource name of TargetSite, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`.", "type": "string" }, - "pageSpan": { - "$ref": "GoogleCloudDiscoveryengineV1alphaChunkPageSpan", - "description": "Page span of the chunk." - }, - "relevanceScore": { - "description": "Output only. Represents the relevance score based on similarity. Higher score indicates higher chunk relevance. The score is in range [-1.0, 1.0]. Only populated on SearchService.SearchResponse.", - "format": "double", - "readOnly": true, - "type": "number" + "targetSite": { + "$ref": "GoogleCloudDiscoveryengineV1alphaTargetSite", + "description": "Required. The TargetSite to create." } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaChunkChunkMetadata": { - "description": "Metadata of the current chunk. This field is only populated on SearchService.Search API.", - "id": "GoogleCloudDiscoveryengineV1alphaChunkChunkMetadata", + "GoogleCloudDiscoveryengineV1alphaCustomAttribute": { + "description": "A custom attribute that is not explicitly modeled in a resource, e.g. UserEvent.", + "id": "GoogleCloudDiscoveryengineV1alphaCustomAttribute", "properties": { - "nextChunks": { - "description": "The next chunks of the current chunk. The number is controlled by SearchRequest.ContentSearchSpec.ChunkSpec.num_next_chunks. This field is only populated on SearchService.Search API.", + "numbers": { + "description": "The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is \"lengths_cm\". Exactly one of CustomAttribute.text or CustomAttribute.numbers should be set. Otherwise, an `INVALID_ARGUMENT` error is returned.", "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaChunk" + "format": "double", + "type": "number" }, "type": "array" }, - "previousChunks": { - "description": "The previous chunks of the current chunk. The number is controlled by SearchRequest.ContentSearchSpec.ChunkSpec.num_previous_chunks. This field is only populated on SearchService.Search API.", + "text": { + "description": "The textual values of this custom attribute. For example, `[\"yellow\", \"green\"]` when the key is \"color\". Empty string is not allowed. Otherwise, an `INVALID_ARGUMENT` error is returned. Exactly one of CustomAttribute.text or CustomAttribute.numbers should be set. Otherwise, an `INVALID_ARGUMENT` error is returned.", "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaChunk" + "type": "string" }, "type": "array" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaChunkDocumentMetadata": { - "description": "Document metadata contains the information of the document of the current chunk.", - "id": "GoogleCloudDiscoveryengineV1alphaChunkDocumentMetadata", + "GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec": { + "description": "Defines custom fine tuning spec.", + "id": "GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec", "properties": { - "structData": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "Data representation. The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown.", - "type": "object" - }, - "title": { - "description": "Title of the document.", - "type": "string" - }, - "uri": { - "description": "Uri of the document.", - "type": "string" + "enableSearchAdaptor": { + "description": "Whether or not to enable and include custom fine tuned search adaptor model.", + "type": "boolean" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaChunkPageSpan": { - "description": "Page span of the chunk.", - "id": "GoogleCloudDiscoveryengineV1alphaChunkPageSpan", + "GoogleCloudDiscoveryengineV1alphaCustomTuningModel": { + "description": "Metadata that describes a custom tuned model.", + "id": "GoogleCloudDiscoveryengineV1alphaCustomTuningModel", "properties": { - "pageEnd": { - "description": "The end page of the chunk.", - "format": "int32", - "type": "integer" + "createTime": { + "deprecated": true, + "description": "Deprecated: Timestamp the Model was created at.", + "format": "google-datetime", + "type": "string" }, - "pageStart": { - "description": "The start page of the chunk.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaCloudSqlSource": { - "description": "Cloud SQL source import data from.", - "id": "GoogleCloudDiscoveryengineV1alphaCloudSqlSource", - "properties": { - "databaseId": { - "description": "Required. The Cloud SQL database to copy the data from with a length limit of 256 characters.", + "displayName": { + "description": "The display name of the model.", "type": "string" }, - "gcsStagingDir": { - "description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the Cloud SQL export to a specific Cloud Storage directory. Ensure that the Cloud SQL service account has the necessary Cloud Storage Admin permissions to access the specified Cloud Storage directory.", + "errorMessage": { + "description": "Currently this is only populated if the model state is `INPUT_VALIDATION_FAILED`.", "type": "string" }, - "instanceId": { - "description": "Required. The Cloud SQL instance to copy the data from with a length limit of 256 characters.", + "metrics": { + "additionalProperties": { + "format": "double", + "type": "number" + }, + "description": "The metrics of the trained model.", + "type": "object" + }, + "modelState": { + "description": "The state that the model is in (e.g.`TRAINING` or `TRAINING_FAILED`).", + "enum": [ + "MODEL_STATE_UNSPECIFIED", + "TRAINING_PAUSED", + "TRAINING", + "TRAINING_COMPLETE", + "READY_FOR_SERVING", + "TRAINING_FAILED", + "NO_IMPROVEMENT", + "INPUT_VALIDATION_FAILED" + ], + "enumDescriptions": [ + "Default value.", + "The model is in a paused training state.", + "The model is currently training.", + "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.", + "Input data validation failed. Model training didn't start." + ], "type": "string" }, - "offload": { - "description": "Option for serverless export. Enabling this option will incur additional cost. More info can be found [here](https://cloud.google.com/sql/pricing#serverless).", - "type": "boolean" + "modelVersion": { + "description": "The version of the model.", + "format": "int64", + "type": "string" }, - "projectId": { - "description": "The project ID that contains the Cloud SQL source. Has a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", + "name": { + "description": "Required. The fully qualified resource name of the model. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/customTuningModels/{custom_tuning_model}`. Model must be an alpha-numerical string with limit of 40 characters.", "type": "string" }, - "tableId": { - "description": "Required. The Cloud SQL table to copy the data from with a length limit of 256 characters.", + "trainingStartTime": { + "description": "Timestamp the model training was initiated.", + "format": "google-datetime", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaCompleteQueryResponse": { - "description": "Response message for CompletionService.CompleteQuery method.", - "id": "GoogleCloudDiscoveryengineV1alphaCompleteQueryResponse", + "GoogleCloudDiscoveryengineV1alphaDataConnector": { + "description": "Manages the connection to external data sources for all data stores grouped under a Collection. It's a singleton resource of Collection. The initialization is only supported through DataConnectorService.SetUpDataConnector method, which will create a new Collection and initialize its DataConnector.", + "id": "GoogleCloudDiscoveryengineV1alphaDataConnector", "properties": { - "querySuggestions": { - "description": "Results of the matched query suggestions. The result list is ordered and the first result is a top suggestion.", - "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaCompleteQueryResponseQuerySuggestion" - }, - "type": "array" + "actionConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaActionConfig", + "description": "Optional. Action configurations to make the connector support actions." }, - "tailMatchTriggered": { - "description": "True if the returned suggestions are all tail suggestions. For tail matching to be triggered, include_tail_suggestions in the request must be true and there must be no suggestions that match the full query.", + "autoRunDisabled": { + "description": "Indicates whether the connector is disabled for auto run. It can be used to pause periodical and real time sync.", "type": "boolean" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaCompleteQueryResponseQuerySuggestion": { - "description": "Suggestions as search queries.", - "id": "GoogleCloudDiscoveryengineV1alphaCompleteQueryResponseQuerySuggestion", - "properties": { - "completableFieldPaths": { - "description": "The unique document field paths that serve as the source of this suggestion if it was generated from completable fields. This field is only populated for the document-completable model.", + }, + "blockingReasons": { + "description": "Output only. User actions that must be completed before the connector can start syncing data.", "items": { + "enum": [ + "BLOCKING_REASON_UNSPECIFIED", + "ALLOWLIST_STATIC_IP", + "ALLOWLIST_IN_SERVICE_ATTACHMENT" + ], + "enumDescriptions": [ + "Default value.", + "Connector requires customer to allowlist static IPs.", + "Connector requires customer to allowlist our project in their service attachment." + ], "type": "string" }, + "readOnly": true, "type": "array" }, - "suggestion": { - "description": "The suggestion for the query.", + "createTime": { + "description": "Output only. Timestamp the DataConnector was created at.", + "format": "google-datetime", + "readOnly": true, "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaCompletionInfo": { - "description": "Detailed completion information including completion attribution token and clicked completion info.", - "id": "GoogleCloudDiscoveryengineV1alphaCompletionInfo", - "properties": { - "selectedPosition": { - "description": "End user selected CompleteQueryResponse.QuerySuggestion.suggestion position, starting from 0.", - "format": "int32", - "type": "integer" }, - "selectedSuggestion": { - "description": "End user selected CompleteQueryResponse.QuerySuggestion.suggestion.", + "dataSource": { + "description": "Required. The name of the data source. Supported values: `salesforce`, `jira`, `confluence`, `bigquery`.", "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaCompletionSuggestion": { - "description": "Autocomplete suggestions that are imported from Customer.", - "id": "GoogleCloudDiscoveryengineV1alphaCompletionSuggestion", - "properties": { - "alternativePhrases": { - "description": "Alternative matching phrases for this suggestion.", + }, + "destinationConfigs": { + "description": "Optional. Any target destinations used to connect to third-party services.", "items": { - "type": "string" + "$ref": "GoogleCloudDiscoveryengineV1alphaDestinationConfig" }, "type": "array" }, - "frequency": { - "description": "Frequency of this suggestion. Will be used to rank suggestions when score is not available.", - "format": "int64", + "entities": { + "description": "List of entities from the connected data source to ingest.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDataConnectorSourceEntity" + }, + "type": "array" + }, + "errors": { + "description": "Output only. The errors from initialization or from the latest connector run.", + "items": { + "$ref": "GoogleRpcStatus" + }, + "readOnly": true, + "type": "array" + }, + "identityRefreshInterval": { + "deprecated": true, + "description": "The refresh interval to sync the Access Control List information for the documents ingested by this connector. If not set, the access control list will be refreshed at the default interval of 30 minutes. The identity refresh interval can be at least 30 minutes and at most 7 days.", + "format": "google-duration", "type": "string" }, - "globalScore": { - "description": "Global score of this suggestion. Control how this suggestion would be scored / ranked.", - "format": "double", - "type": "number" + "identityScheduleConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaIdentityScheduleConfig", + "description": "The configuration for the identity data synchronization runs. This contains the refresh interval to sync the Access Control List information for the documents ingested by this connector." }, - "groupId": { - "description": "If two suggestions have the same groupId, they will not be returned together. Instead the one ranked higher will be returned. This can be used to deduplicate semantically identical suggestions.", + "kmsKeyName": { + "description": "Input only. The KMS key to be used to protect the DataStores managed by this connector. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStores created by this connector will be protected by the KMS key.", "type": "string" }, - "groupScore": { - "description": "The score of this suggestion within its group.", - "format": "double", - "type": "number" + "lastSyncTime": { + "description": "Output only. For periodic connectors only, the last time a data sync was completed.", + "format": "google-datetime", + "readOnly": true, + "type": "string" }, - "languageCode": { - "description": "BCP-47 language code of this suggestion.", + "latestPauseTime": { + "description": "Output only. The most recent timestamp when this DataConnector was paused, affecting all functionalities such as data synchronization. Pausing a connector has the following effects: - All functionalities, including data synchronization, are halted. - Any ongoing data synchronization job will be canceled. - No future data synchronization runs will be scheduled nor can be triggered.", + "format": "google-datetime", + "readOnly": true, "type": "string" }, - "suggestion": { - "description": "Required. The suggestion text.", + "name": { + "description": "Output only. The full resource name of the Data Connector. Format: `projects/*/locations/*/collections/*/dataConnector`.", + "readOnly": true, "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaCondition": { - "description": "Defines circumstances to be checked before allowing a behavior", - "id": "GoogleCloudDiscoveryengineV1alphaCondition", - "properties": { - "activeTimeRange": { - "description": "Range of time(s) specifying when condition is active. Maximum of 10 time ranges.", - "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaConditionTimeRange" + }, + "nextSyncTime": { + "$ref": "GoogleTypeDateTime", + "description": "The UTC time when the next data sync is expected to start for the Data Connector. Customers are only able to specify the hour and minute to schedule the data sync. This is utilized when the data connector has a refresh interval greater than 1 day." + }, + "params": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" }, - "type": "array" + "description": "Required. Params needed to access the source in the format of (Key, Value) pairs. Required parameters for all data sources: * Key: `instance_uri` * Value: type STRING. The uri to access the data source. Required parameters for sources that support OAUTH, i.e. `salesforce`: * Key: `client_id` * Value: type STRING. The client id for the third party service provider to identify your application. * Key: `client_secret` * Value:type STRING. The client secret generated by the third party authorization server. * Key: `access_token` * Value: type STRING. OAuth token for UCS to access to the protected resource. * Key: `refresh_token` * Value: type STRING. OAuth refresh token for UCS to obtain a new access token without user interaction. Required parameters for sources that support basic API token auth, i.e. `jira`, `confluence`: * Key: `user_account` * Value: type STRING. The username or email with the source. * Key: `api_token` * Value: type STRING. The API token generated for the source account, that is used for authenticating anywhere where you would have used a password. Example: ```json { \"instance_uri\": \"https://xxx.atlassian.net\", \"user_account\": \"xxxx.xxx@xxx.com\", \"api_token\": \"test-token\" } ``` Optional parameter to specify the authorization type to use for multiple authorization types support: * Key: `auth_type` * Value: type STRING. The authorization type for the data source. Supported values: `BASIC_AUTH`, `OAUTH`, `OAUTH_ACCESS_TOKEN`, `OAUTH_TWO_LEGGED`, `OAUTH_JWT_BEARER`, `OAUTH_PASSWORD_GRANT`, `JWT`, `API_TOKEN`, `FEDERATED_CREDENTIAL`.", + "type": "object" }, - "queryTerms": { - "description": "Search only A list of terms to match the query on. Maximum of 10 query terms.", + "privateConnectivityProjectId": { + "description": "Output only. The tenant project ID associated with private connectivity connectors. This project must be allowlisted by in order for the connector to function.", + "readOnly": true, + "type": "string" + }, + "refreshInterval": { + "description": "Required. The refresh interval for data sync. If duration is set to 0, the data will be synced in real time. The streaming feature is not supported yet. The minimum is 30 minutes and maximum is 7 days.", + "format": "google-duration", + "type": "string" + }, + "state": { + "description": "Output only. State of the connector.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "FAILED", + "RUNNING", + "WARNING" + ], + "enumDescriptions": [ + "Default value.", + "The connector is being set up.", + "The connector is successfully set up and awaiting next sync run.", + "The connector is in error. The error details can be found in DataConnector.errors. If the error is unfixable, the DataConnector can be deleted by [CollectionService.DeleteCollection] API.", + "The connector is actively syncing records from the data source.", + "The connector has completed a sync run, but encountered non-fatal errors." + ], + "readOnly": true, + "type": "string" + }, + "staticIpAddresses": { + "description": "Output only. The static IP addresses used by this connector.", "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaConditionQueryTerm" + "type": "string" }, + "readOnly": true, "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaConditionQueryTerm": { - "description": "Matcher for search request query", - "id": "GoogleCloudDiscoveryengineV1alphaConditionQueryTerm", - "properties": { - "fullMatch": { - "description": "Whether the search query needs to exactly match the query term.", + }, + "staticIpEnabled": { + "description": "Optional. Whether customer has enabled static IP addresses for this connector.", "type": "boolean" }, - "value": { - "description": "The specific query value to match against Must be lowercase, must be UTF-8. Can have at most 3 space separated terms if full_match is true. Cannot be an empty string. Maximum length of 5000 characters.", + "syncMode": { + "description": "The data synchronization mode supported by the data connector.", + "enum": [ + "PERIODIC" + ], + "enumDescriptions": [ + "The connector will sync data periodically based on the refresh_interval. Use it with auto_run_disabled to pause the periodic sync, or indicate a one-time sync." + ], + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp the DataConnector was last updated.", + "format": "google-datetime", + "readOnly": true, "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaConditionTimeRange": { - "description": "Used for time-dependent conditions.", - "id": "GoogleCloudDiscoveryengineV1alphaConditionTimeRange", + "GoogleCloudDiscoveryengineV1alphaDataConnectorSourceEntity": { + "description": "Represents an entity in the data source. For example, the `Account` object in Salesforce.", + "id": "GoogleCloudDiscoveryengineV1alphaDataConnectorSourceEntity", "properties": { - "endTime": { - "description": "End of time range. Range is inclusive. Must be in the future.", - "format": "google-datetime", + "dataStore": { + "description": "Output only. The full resource name of the associated data store for the source entity. Format: `projects/*/locations/*/collections/*/dataStores/*`. When the connector is initialized by the DataConnectorService.SetUpDataConnector method, a DataStore is automatically created for each source entity.", + "readOnly": true, "type": "string" }, - "startTime": { - "description": "Start of time range. Range is inclusive.", - "format": "google-datetime", + "entityName": { + "description": "The name of the entity. Supported values by data source: * Salesforce: `Lead`, `Opportunity`, `Contact`, `Account`, `Case`, `Contract`, `Campaign` * Jira: `Issue` * Confluence: `Content`, `Space`", "type": "string" + }, + "keyPropertyMappings": { + "additionalProperties": { + "type": "string" + }, + "description": "Attributes for indexing. Key: Field name. Value: The key property to map a field to, such as `title`, and `description`. Supported key properties: * `title`: The title for data record. This would be displayed on search results. * `description`: The description for data record. This would be displayed on search results.", + "type": "object" + }, + "params": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The parameters for the entity to facilitate data ingestion. E.g. for BQ connectors: * Key: `document_id_column` * Value: type STRING. The value of the column id.", + "type": "object" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaControl": { - "description": "Defines a conditioned behavior to employ during serving. Must be attached to a ServingConfig to be considered at serving time. Permitted actions dependent on `SolutionType`.", - "id": "GoogleCloudDiscoveryengineV1alphaControl", + "GoogleCloudDiscoveryengineV1alphaDataStore": { + "description": "DataStore captures global settings and configs at the DataStore level.", + "id": "GoogleCloudDiscoveryengineV1alphaDataStore", "properties": { - "associatedServingConfigIds": { - "description": "Output only. List of all ServingConfig IDs this control is attached to. May take up to 10 minutes to update after changes.", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" + "aclEnabled": { + "description": "Immutable. Whether data in the DataStore has ACL information. If set to `true`, the source data must have ACL. ACL will be ingested when data is ingested by DocumentService.ImportDocuments methods. When ACL is enabled for the DataStore, Document can't be accessed by calling DocumentService.GetDocument or DocumentService.ListDocuments. Currently ACL is only supported in `GENERIC` industry vertical with non-`PUBLIC_WEBSITE` content config.", + "type": "boolean" }, - "boostAction": { - "$ref": "GoogleCloudDiscoveryengineV1alphaControlBoostAction", - "description": "Defines a boost-type control" + "advancedSiteSearchConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedSiteSearchConfig", + "description": "Optional. Configuration for advanced site search." }, - "conditions": { - "description": "Determines when the associated action will trigger. Omit to always apply the action. Currently only a single condition may be specified. Otherwise an INVALID ARGUMENT error is thrown.", - "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaCondition" - }, - "type": "array" + "billingEstimation": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDataStoreBillingEstimation", + "description": "Output only. Data size estimation for billing.", + "readOnly": true }, - "displayName": { - "description": "Required. Human readable name. The identifier used in UI views. Must be UTF-8 encoded string. Length limit is 128 characters. Otherwise an INVALID ARGUMENT error is thrown.", + "cmekConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCmekConfig", + "description": "Output only. CMEK-related information for the DataStore.", + "readOnly": true + }, + "contentConfig": { + "description": "Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.", + "enum": [ + "CONTENT_CONFIG_UNSPECIFIED", + "NO_CONTENT", + "CONTENT_REQUIRED", + "PUBLIC_WEBSITE", + "GOOGLE_WORKSPACE" + ], + "enumDescriptions": [ + "Default value.", + "Only contains documents without any Document.content.", + "Only contains documents with Document.content.", + "The data store is used for public website search.", + "The data store is used for workspace search. Details of workspace data store are specified in the WorkspaceConfig." + ], "type": "string" }, - "filterAction": { - "$ref": "GoogleCloudDiscoveryengineV1alphaControlFilterAction", - "description": "Defines a filter-type control Currently not supported by Recommendation" + "createTime": { + "description": "Output only. Timestamp the DataStore was created at.", + "format": "google-datetime", + "readOnly": true, + "type": "string" }, - "name": { - "description": "Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*`", + "defaultSchemaId": { + "description": "Output only. The id of the default Schema asscociated to this data store.", + "readOnly": true, "type": "string" }, - "redirectAction": { - "$ref": "GoogleCloudDiscoveryengineV1alphaControlRedirectAction", - "description": "Defines a redirect-type control." + "displayName": { + "description": "Required. The data store display name. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", + "type": "string" }, - "solutionType": { - "description": "Required. Immutable. What solution the control belongs to. Must be compatible with vertical of resource. Otherwise an INVALID ARGUMENT error is thrown.", + "documentProcessingConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig", + "description": "Configuration for Document understanding and enrichment." + }, + "idpConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaIdpConfig", + "description": "Output only. Data store level identity provider config.", + "readOnly": true + }, + "industryVertical": { + "description": "Immutable. The industry vertical that the data store registers.", "enum": [ - "SOLUTION_TYPE_UNSPECIFIED", - "SOLUTION_TYPE_RECOMMENDATION", - "SOLUTION_TYPE_SEARCH", - "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "INDUSTRY_VERTICAL_UNSPECIFIED", + "GENERIC", + "MEDIA", + "HEALTHCARE_FHIR" ], "enumDescriptions": [ - "Default value.", - "Used for Recommendations AI.", - "Used for Discovery Search.", - "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "Value used when unset.", + "The generic vertical for documents that are not specific to any industry vertical.", + "The media industry vertical.", + "The healthcare FHIR vertical." ], "type": "string" }, - "synonymsAction": { - "$ref": "GoogleCloudDiscoveryengineV1alphaControlSynonymsAction", - "description": "Treats a group of terms as synonyms of one another." + "isInfobotFaqDataStore": { + "description": "Optional. If set, this DataStore is an Infobot FAQ DataStore.", + "type": "boolean" + }, + "kmsKeyName": { + "description": "Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field.", + "type": "string" + }, + "languageInfo": { + "$ref": "GoogleCloudDiscoveryengineV1alphaLanguageInfo", + "description": "Language info for DataStore." + }, + "name": { + "description": "Immutable. The full resource name of the data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", + "type": "string" + }, + "naturalLanguageQueryUnderstandingConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaNaturalLanguageQueryUnderstandingConfig", + "description": "Optional. Configuration for Natural Language Query Understanding." }, - "useCases": { - "description": "Specifies the use case for the control. Affects what condition fields can be set. Only applies to SOLUTION_TYPE_SEARCH. Currently only allow one use case per control. Must be set when solution_type is SolutionType.SOLUTION_TYPE_SEARCH.", + "servingConfigDataStore": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDataStoreServingConfigDataStore", + "description": "Optional. Stores serving config at DataStore level." + }, + "solutionTypes": { + "description": "The solutions that the data store enrolls. Available solutions for each industry_vertical: * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`. * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other solutions cannot be enrolled.", "items": { "enum": [ - "SEARCH_USE_CASE_UNSPECIFIED", - "SEARCH_USE_CASE_SEARCH", - "SEARCH_USE_CASE_BROWSE" + "SOLUTION_TYPE_UNSPECIFIED", + "SOLUTION_TYPE_RECOMMENDATION", + "SOLUTION_TYPE_SEARCH", + "SOLUTION_TYPE_CHAT", + "SOLUTION_TYPE_GENERATIVE_CHAT" ], "enumDescriptions": [ - "Value used when unset. Will not occur in CSS.", - "Search use case. Expects the traffic has a non-empty query.", - "Browse use case. Expects the traffic has an empty query." + "Default value.", + "Used for Recommendations AI.", + "Used for Discovery Search.", + "Used for use cases related to the Generative AI agent.", + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." ], "type": "string" }, "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaControlBoostAction": { - "description": "Adjusts order of products in returned list.", - "id": "GoogleCloudDiscoveryengineV1alphaControlBoostAction", - "properties": { - "boost": { - "description": "Required. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", - "format": "float", - "type": "number" }, - "dataStore": { - "description": "Required. Specifies which data store's documents can be boosted by this control. Full data store name e.g. projects/123/locations/global/collections/default_collection/dataStores/default_data_store", - "type": "string" + "startingSchema": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSchema", + "description": "The start schema to use for this DataStore when provisioning it. If unset, a default vertical specialized schema will be used. This field is only used by CreateDataStore API, and will be ignored if used in other APIs. This field will be omitted from all API responses including CreateDataStore API. To retrieve a schema of a DataStore, use SchemaService.GetSchema API instead. The provided schema will be validated against certain rules on schema. Learn more from [this doc](https://cloud.google.com/generative-ai-app-builder/docs/provide-schema)." }, - "filter": { - "description": "Required. Specifies which products to apply the boost to. If no filter is provided all products will be boosted (No-op). Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", - "type": "string" + "workspaceConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaWorkspaceConfig", + "description": "Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE." } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaControlFilterAction": { - "description": "Specified which products may be included in results. Uses same filter as boost.", - "id": "GoogleCloudDiscoveryengineV1alphaControlFilterAction", + "GoogleCloudDiscoveryengineV1alphaDataStoreBillingEstimation": { + "description": "Estimation of data size per data store.", + "id": "GoogleCloudDiscoveryengineV1alphaDataStoreBillingEstimation", "properties": { - "dataStore": { - "description": "Required. Specifies which data store's documents can be filtered by this control. Full data store name e.g. projects/123/locations/global/collections/default_collection/dataStores/default_data_store", + "structuredDataSize": { + "description": "Data size for structured data in terms of bytes.", + "format": "int64", "type": "string" }, - "filter": { - "description": "Required. A filter to apply on the matching condition results. Required Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaControlRedirectAction": { - "description": "Redirects a shopper to the provided URI.", - "id": "GoogleCloudDiscoveryengineV1alphaControlRedirectAction", - "properties": { - "redirectUri": { - "description": "Required. The URI to which the shopper will be redirected. Required. URI must have length equal or less than 2000 characters. Otherwise an INVALID ARGUMENT error is thrown.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaControlSynonymsAction": { - "description": "Creates a set of terms that will act as synonyms of one another. Example: \"happy\" will also be considered as \"glad\", \"glad\" will also be considered as \"happy\".", - "id": "GoogleCloudDiscoveryengineV1alphaControlSynonymsAction", - "properties": { - "synonyms": { - "description": "Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at least 2 synonyms. Otherwise an INVALID ARGUMENT error is thrown.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaConversation": { - "description": "External conversation proto definition.", - "id": "GoogleCloudDiscoveryengineV1alphaConversation", - "properties": { - "endTime": { - "description": "Output only. The time the conversation finished.", + "structuredDataUpdateTime": { + "description": "Last updated timestamp for structured data.", "format": "google-datetime", - "readOnly": true, "type": "string" }, - "messages": { - "description": "Conversation messages.", - "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaConversationMessage" - }, - "type": "array" - }, - "name": { - "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/dataStore/*/conversations/*` or `projects/{project}/locations/global/collections/{collection}/engines/*/conversations/*`.", + "unstructuredDataSize": { + "description": "Data size for unstructured data in terms of bytes.", + "format": "int64", "type": "string" }, - "startTime": { - "description": "Output only. The time the conversation started.", + "unstructuredDataUpdateTime": { + "description": "Last updated timestamp for unstructured data.", "format": "google-datetime", - "readOnly": true, "type": "string" }, - "state": { - "description": "The state of the Conversation.", - "enum": [ - "STATE_UNSPECIFIED", - "IN_PROGRESS", - "COMPLETED" - ], - "enumDescriptions": [ - "Unknown.", - "Conversation is currently open.", - "Conversation has been completed." - ], + "websiteDataSize": { + "description": "Data size for websites in terms of bytes.", + "format": "int64", "type": "string" }, - "userPseudoId": { - "description": "A unique identifier for tracking users.", + "websiteDataUpdateTime": { + "description": "Last updated timestamp for websites.", + "format": "google-datetime", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaConversationContext": { - "description": "Defines context of the conversation", - "id": "GoogleCloudDiscoveryengineV1alphaConversationContext", + "GoogleCloudDiscoveryengineV1alphaDataStoreServingConfigDataStore": { + "description": "Stores information regarding the serving configurations at DataStore level.", + "id": "GoogleCloudDiscoveryengineV1alphaDataStoreServingConfigDataStore", "properties": { - "activeDocument": { - "description": "The current active document the user opened. It contains the document resource reference.", - "type": "string" + "disabledForServing": { + "description": "If set true, the DataStore will not be available for serving search requests.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaDedicatedCrawlRateTimeSeries": { + "description": "The historical dedicated crawl rate timeseries data, used for monitoring. Dedicated crawl is used by Vertex AI to crawl the user's website when dedicate crawl is set.", + "id": "GoogleCloudDiscoveryengineV1alphaDedicatedCrawlRateTimeSeries", + "properties": { + "autoRefreshCrawlRate": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", + "description": "Vertex AI's dedicated crawl rate time series of auto-refresh, which is the crawl rate of Google-CloudVertexBot when dedicate crawl is set, and the crawl rate is for best effort use cases like refreshing urls periodically." }, - "contextDocuments": { - "description": "The current list of documents the user is seeing. It contains the document resource references.", - "items": { - "type": "string" - }, - "type": "array" + "userTriggeredCrawlRate": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", + "description": "Vertex AI's dedicated crawl rate time series of user triggered crawl, which is the crawl rate of Google-CloudVertexBot when dedicate crawl is set, and user triggered crawl rate is for deterministic use cases like crawling urls or sitemaps specified by users." } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaConversationMessage": { - "description": "Defines a conversation message.", - "id": "GoogleCloudDiscoveryengineV1alphaConversationMessage", + "GoogleCloudDiscoveryengineV1alphaDeleteCollectionMetadata": { + "description": "Metadata related to the progress of the CollectionService.UpdateCollection operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaDeleteCollectionMetadata", "properties": { "createTime": { - "description": "Output only. Message creation timestamp.", + "description": "Operation create time.", "format": "google-datetime", - "readOnly": true, "type": "string" }, - "reply": { - "$ref": "GoogleCloudDiscoveryengineV1alphaReply", - "description": "Search reply." - }, - "userInput": { - "$ref": "GoogleCloudDiscoveryengineV1alphaTextInput", - "description": "User text input." + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaConverseConversationRequest": { - "description": "Request message for ConversationalSearchService.ConverseConversation method.", - "id": "GoogleCloudDiscoveryengineV1alphaConverseConversationRequest", + "GoogleCloudDiscoveryengineV1alphaDeleteDataStoreMetadata": { + "description": "Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaDeleteDataStoreMetadata", "properties": { - "boostSpec": { - "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec", - "description": "Boost specification to boost certain documents in search results which may affect the converse response. For more information on boosting, see [Boosting](https://cloud.google.com/retail/docs/boosting#boost)" - }, - "conversation": { - "$ref": "GoogleCloudDiscoveryengineV1alphaConversation", - "description": "The conversation to be used by auto session only. The name field will be ignored as we automatically assign new name for the conversation in auto session." - }, - "filter": { - "description": "The filter syntax consists of an expression language for constructing a predicate from one or more fields of the documents being filtered. Filter expression is case-sensitive. This will be used to filter search results which may affect the summary response. If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. Filtering in Vertex AI Search is done by mapping the LHS filter key to a key property defined in the Vertex AI Search backend -- this mapping is defined by the customer in their schema. For example a media customer might have a field 'name' in their schema. In this case the filter would look like this: filter --> name:'ANY(\"king kong\")' For more information about filtering including syntax and filter operators, see [Filter](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata)", + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", "type": "string" }, - "query": { - "$ref": "GoogleCloudDiscoveryengineV1alphaTextInput", - "description": "Required. Current user input." - }, - "safeSearch": { - "description": "Whether to turn on safe search.", - "type": "boolean" - }, - "servingConfig": { - "description": "The resource name of the Serving Config to use. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/servingConfigs/{serving_config_id}` If this is not set, the default serving config will be used.", + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", "type": "string" - }, - "summarySpec": { - "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpecSummarySpec", - "description": "A specification for configuring the summary returned in the response." - }, - "userLabels": { - "additionalProperties": { - "type": "string" - }, - "description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", - "type": "object" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaConverseConversationResponse": { - "description": "Response message for ConversationalSearchService.ConverseConversation method.", - "id": "GoogleCloudDiscoveryengineV1alphaConverseConversationResponse", + "GoogleCloudDiscoveryengineV1alphaDeleteEngineMetadata": { + "description": "Metadata related to the progress of the EngineService.DeleteEngine operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaDeleteEngineMetadata", "properties": { - "conversation": { - "$ref": "GoogleCloudDiscoveryengineV1alphaConversation", - "description": "Updated conversation including the answer." - }, - "relatedQuestions": { - "description": "Suggested related questions.", - "items": { - "type": "string" - }, - "type": "array" - }, - "reply": { - "$ref": "GoogleCloudDiscoveryengineV1alphaReply", - "description": "Answer to the current query." + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" }, - "searchResults": { - "description": "Search Results.", - "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseSearchResult" - }, - "type": "array" + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaCreateDataStoreMetadata": { - "description": "Metadata related to the progress of the DataStoreService.CreateDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1alphaCreateDataStoreMetadata", + "GoogleCloudDiscoveryengineV1alphaDeleteIdentityMappingStoreMetadata": { + "description": "Metadata related to the progress of the IdentityMappingStoreService.DeleteIdentityMappingStore operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaDeleteIdentityMappingStoreMetadata", "properties": { "createTime": { "description": "Operation create time.", @@ -11426,9 +14436,9 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaCreateEngineMetadata": { - "description": "Metadata related to the progress of the EngineService.CreateEngine operation. This will be returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1alphaCreateEngineMetadata", + "GoogleCloudDiscoveryengineV1alphaDeleteSchemaMetadata": { + "description": "Metadata for DeleteSchema LRO.", + "id": "GoogleCloudDiscoveryengineV1alphaDeleteSchemaMetadata", "properties": { "createTime": { "description": "Operation create time.", @@ -11443,15 +14453,20 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaCreateEvaluationMetadata": { - "description": "Metadata for EvaluationService.CreateEvaluation method.", - "id": "GoogleCloudDiscoveryengineV1alphaCreateEvaluationMetadata", - "properties": {}, + "GoogleCloudDiscoveryengineV1alphaDeleteSessionRequest": { + "description": "Request for DeleteSession method.", + "id": "GoogleCloudDiscoveryengineV1alphaDeleteSessionRequest", + "properties": { + "name": { + "description": "Required. The resource name of the Session to delete. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", + "type": "string" + } + }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaCreateSchemaMetadata": { - "description": "Metadata for Create Schema LRO.", - "id": "GoogleCloudDiscoveryengineV1alphaCreateSchemaMetadata", + "GoogleCloudDiscoveryengineV1alphaDeleteSitemapMetadata": { + "description": "Metadata related to the progress of the SiteSearchEngineService.DeleteSitemap operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaDeleteSitemapMetadata", "properties": { "createTime": { "description": "Operation create time.", @@ -11466,9 +14481,9 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaCreateTargetSiteMetadata": { - "description": "Metadata related to the progress of the SiteSearchEngineService.CreateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1alphaCreateTargetSiteMetadata", + "GoogleCloudDiscoveryengineV1alphaDeleteTargetSiteMetadata": { + "description": "Metadata related to the progress of the SiteSearchEngineService.DeleteTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaDeleteTargetSiteMetadata", "properties": { "createTime": { "description": "Operation create time.", @@ -11483,348 +14498,388 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaCreateTargetSiteRequest": { - "description": "Request message for SiteSearchEngineService.CreateTargetSite method.", - "id": "GoogleCloudDiscoveryengineV1alphaCreateTargetSiteRequest", - "properties": { - "parent": { - "description": "Required. Parent resource name of TargetSite, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`.", - "type": "string" - }, - "targetSite": { - "$ref": "GoogleCloudDiscoveryengineV1alphaTargetSite", - "description": "Required. The TargetSite to create." - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaCustomAttribute": { - "description": "A custom attribute that is not explicitly modeled in a resource, e.g. UserEvent.", - "id": "GoogleCloudDiscoveryengineV1alphaCustomAttribute", + "GoogleCloudDiscoveryengineV1alphaDestinationConfig": { + "description": "Defines target endpoints used to connect to third-party sources.", + "id": "GoogleCloudDiscoveryengineV1alphaDestinationConfig", "properties": { - "numbers": { - "description": "The numerical values of this custom attribute. For example, `[2.3, 15.4]` when the key is \"lengths_cm\". Exactly one of CustomAttribute.text or CustomAttribute.numbers should be set. Otherwise, an `INVALID_ARGUMENT` error is returned.", + "destinations": { + "description": "Optional. The destinations for the corresponding key.", "items": { - "format": "double", - "type": "number" + "$ref": "GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination" }, "type": "array" }, - "text": { - "description": "The textual values of this custom attribute. For example, `[\"yellow\", \"green\"]` when the key is \"color\". Empty string is not allowed. Otherwise, an `INVALID_ARGUMENT` error is returned. Exactly one of CustomAttribute.text or CustomAttribute.numbers should be set. Otherwise, an `INVALID_ARGUMENT` error is returned.", - "items": { - "type": "string" + "key": { + "description": "Optional. Unique destination identifier that is supported by the connector.", + "type": "string" + }, + "params": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" }, - "type": "array" + "description": "Optional. Additional parameters for this destination config.", + "type": "object" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec": { - "description": "Defines custom fine tuning spec.", - "id": "GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec", + "GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination": { + "description": "Defines a target endpoint", + "id": "GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination", "properties": { - "enableSearchAdaptor": { - "description": "Whether or not to enable and include custom fine tuned search adaptor model.", - "type": "boolean" + "host": { + "description": "Publicly routable host.", + "type": "string" + }, + "port": { + "description": "Optional. Target port number accepted by the destination.", + "format": "int32", + "type": "integer" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaCustomTuningModel": { - "description": "Metadata that describes a custom tuned model.", - "id": "GoogleCloudDiscoveryengineV1alphaCustomTuningModel", + "GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchMetadata": { + "description": "Metadata related to the progress of the SiteSearchEngineService.DisableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchMetadata", "properties": { "createTime": { - "deprecated": true, - "description": "Timestamp the Model was created at.", + "description": "Operation create time.", "format": "google-datetime", "type": "string" }, - "displayName": { - "description": "The display name of the model.", + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchRequest": { + "description": "Request message for SiteSearchEngineService.DisableAdvancedSiteSearch method.", + "id": "GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchResponse": { + "description": "Response message for SiteSearchEngineService.DisableAdvancedSiteSearch method.", + "id": "GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaDocument": { + "description": "Document captures all raw metadata information of items to be recommended or searched.", + "id": "GoogleCloudDiscoveryengineV1alphaDocument", + "properties": { + "aclInfo": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDocumentAclInfo", + "description": "Access control information for the document." }, - "errorMessage": { - "description": "Currently this is only populated if the model state is `INPUT_VALIDATION_FAILED`.", - "type": "string" + "content": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDocumentContent", + "description": "The unstructured data linked to this document. Content must be set if this document is under a `CONTENT_REQUIRED` data store." }, - "metrics": { + "derivedStructData": { "additionalProperties": { - "format": "double", - "type": "number" + "description": "Properties of the object.", + "type": "any" }, - "description": "The metrics of the trained model.", + "description": "Output only. This field is OUTPUT_ONLY. It contains derived data that are not in the original input document.", + "readOnly": true, "type": "object" }, - "modelState": { - "description": "The state that the model is in (e.g.`TRAINING` or `TRAINING_FAILED`).", - "enum": [ - "MODEL_STATE_UNSPECIFIED", - "TRAINING_PAUSED", - "TRAINING", - "TRAINING_COMPLETE", - "READY_FOR_SERVING", - "TRAINING_FAILED", - "NO_IMPROVEMENT", - "INPUT_VALIDATION_FAILED" - ], - "enumDescriptions": [ - "Default value.", - "The model is in a paused training state.", - "The model is currently training.", - "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.", - "Input data validation failed. Model training didn't start." - ], + "id": { + "description": "Immutable. The identifier of the document. Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 128 characters.", "type": "string" }, - "modelVersion": { - "description": "The version of the model.", - "format": "int64", + "indexStatus": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDocumentIndexStatus", + "description": "Output only. The index status of the document. * If document is indexed successfully, the index_time field is populated. * Otherwise, if document is not indexed due to errors, the error_samples field is populated. * Otherwise, if document's index is in progress, the pending_message field is populated.", + "readOnly": true + }, + "indexTime": { + "description": "Output only. The last time the document was indexed. If this field is set, the document could be returned in search results. This field is OUTPUT_ONLY. If this field is not populated, it means the document has never been indexed.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "jsonData": { + "description": "The JSON string representation of the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown.", "type": "string" }, "name": { - "description": "Required. The fully qualified resource name of the model. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/customTuningModels/{custom_tuning_model}`. Model must be an alpha-numerical string with limit of 40 characters.", + "description": "Immutable. The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", "type": "string" }, - "trainingStartTime": { - "description": "Timestamp the model training was initiated.", - "format": "google-datetime", + "parentDocumentId": { + "description": "The identifier of the parent document. Currently supports at most two level document hierarchy. Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters.", + "type": "string" + }, + "schemaId": { + "description": "The identifier of the schema located in the same data store.", "type": "string" + }, + "structData": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown.", + "type": "object" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaDataStore": { - "description": "DataStore captures global settings and configs at the DataStore level.", - "id": "GoogleCloudDiscoveryengineV1alphaDataStore", + "GoogleCloudDiscoveryengineV1alphaDocumentAclInfo": { + "description": "ACL Information of the Document.", + "id": "GoogleCloudDiscoveryengineV1alphaDocumentAclInfo", "properties": { - "aclEnabled": { - "description": "Immutable. Whether data in the DataStore has ACL information. If set to `true`, the source data must have ACL. ACL will be ingested when data is ingested by DocumentService.ImportDocuments methods. When ACL is enabled for the DataStore, Document can't be accessed by calling DocumentService.GetDocument or DocumentService.ListDocuments. Currently ACL is only supported in `GENERIC` industry vertical with non-`PUBLIC_WEBSITE` content config.", + "readers": { + "description": "Readers of the document.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDocumentAclInfoAccessRestriction" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaDocumentAclInfoAccessRestriction": { + "description": "AclRestriction to model complex inheritance restrictions. Example: Modeling a \"Both Permit\" inheritance, where to access a child document, user needs to have access to parent document. Document Hierarchy - Space_S --> Page_P. Readers: Space_S: group_1, user_1 Page_P: group_2, group_3, user_2 Space_S ACL Restriction - { \"acl_info\": { \"readers\": [ { \"principals\": [ { \"group_id\": \"group_1\" }, { \"user_id\": \"user_1\" } ] } ] } } Page_P ACL Restriction. { \"acl_info\": { \"readers\": [ { \"principals\": [ { \"group_id\": \"group_2\" }, { \"group_id\": \"group_3\" }, { \"user_id\": \"user_2\" } ], }, { \"principals\": [ { \"group_id\": \"group_1\" }, { \"user_id\": \"user_1\" } ], } ] } }", + "id": "GoogleCloudDiscoveryengineV1alphaDocumentAclInfoAccessRestriction", + "properties": { + "idpWide": { + "description": "All users within the Identity Provider.", "type": "boolean" }, - "billingEstimation": { - "$ref": "GoogleCloudDiscoveryengineV1alphaDataStoreBillingEstimation", - "description": "Output only. Data size estimation for billing.", - "readOnly": true + "principals": { + "description": "List of principals.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaPrincipal" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaDocumentContent": { + "description": "Unstructured data linked to this document.", + "id": "GoogleCloudDiscoveryengineV1alphaDocumentContent", + "properties": { + "mimeType": { + "description": "The MIME type of the content. Supported types: * `application/pdf` (PDF, only native PDFs are supported for now) * `text/html` (HTML) * `application/vnd.openxmlformats-officedocument.wordprocessingml.document` (DOCX) * `application/vnd.openxmlformats-officedocument.presentationml.presentation` (PPTX) * `text/plain` (TXT) See https://www.iana.org/assignments/media-types/media-types.xhtml.", + "type": "string" }, - "contentConfig": { - "description": "Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.", - "enum": [ - "CONTENT_CONFIG_UNSPECIFIED", - "NO_CONTENT", - "CONTENT_REQUIRED", - "PUBLIC_WEBSITE", - "GOOGLE_WORKSPACE" - ], - "enumDescriptions": [ - "Default value.", - "Only contains documents without any Document.content.", - "Only contains documents with Document.content.", - "The data store is used for public website search.", - "The data store is used for workspace search. Details of workspace data store are specified in the WorkspaceConfig." - ], + "rawBytes": { + "description": "The content represented as a stream of bytes. The maximum length is 1,000,000 bytes (1 MB / ~0.95 MiB). Note: As with all `bytes` fields, this field is represented as pure binary in Protocol Buffers and base64-encoded string in JSON. For example, `abc123!?$*&()'-=@~` should be represented as `YWJjMTIzIT8kKiYoKSctPUB+` in JSON. See https://developers.google.com/protocol-buffers/docs/proto3#json.", + "format": "byte", "type": "string" }, - "createTime": { - "description": "Output only. Timestamp the DataStore was created at.", - "format": "google-datetime", - "readOnly": true, + "uri": { + "description": "The URI of the content. Only Cloud Storage URIs (e.g. `gs://bucket-name/path/to/file`) are supported. The maximum file size is 2.5 MB for text-based formats, 200 MB for other formats.", "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaDocumentIndexStatus": { + "description": "Index status of the document.", + "id": "GoogleCloudDiscoveryengineV1alphaDocumentIndexStatus", + "properties": { + "errorSamples": { + "description": "A sample of errors encountered while indexing the document. If this field is populated, the document is not indexed due to errors.", + "items": { + "$ref": "GoogleRpcStatus" + }, + "type": "array" }, - "defaultSchemaId": { - "description": "Output only. The id of the default Schema asscociated to this data store.", - "readOnly": true, + "indexTime": { + "description": "The time when the document was indexed. If this field is populated, it means the document has been indexed.", + "format": "google-datetime", "type": "string" }, - "displayName": { - "description": "Required. The data store display name. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", + "pendingMessage": { + "description": "Immutable. The message indicates the document index is in progress. If this field is populated, the document index is pending.", "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaDocumentInfo": { + "description": "Detailed document information associated with a user event.", + "id": "GoogleCloudDiscoveryengineV1alphaDocumentInfo", + "properties": { + "conversionValue": { + "description": "Optional. The conversion value associated with this Document. Must be set if UserEvent.event_type is \"conversion\". For example, a value of 1000 signifies that 1000 seconds were spent viewing a Document for the `watch` conversion type.", + "format": "float", + "type": "number" }, - "documentProcessingConfig": { - "$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig", - "description": "Configuration for Document understanding and enrichment." - }, - "idpConfig": { - "$ref": "GoogleCloudDiscoveryengineV1alphaIdpConfig", - "description": "Output only. Data store level identity provider config.", - "readOnly": true - }, - "industryVertical": { - "description": "Immutable. The industry vertical that the data store registers.", - "enum": [ - "INDUSTRY_VERTICAL_UNSPECIFIED", - "GENERIC", - "MEDIA", - "HEALTHCARE_FHIR" - ], - "enumDescriptions": [ - "Value used when unset.", - "The generic vertical for documents that are not specific to any industry vertical.", - "The media industry vertical.", - "The healthcare FHIR vertical." - ], + "id": { + "description": "The Document resource ID.", "type": "string" }, - "languageInfo": { - "$ref": "GoogleCloudDiscoveryengineV1alphaLanguageInfo", - "description": "Language info for DataStore." + "joined": { + "description": "Output only. Whether the referenced Document can be found in the data store.", + "readOnly": true, + "type": "boolean" }, "name": { - "description": "Immutable. The full resource name of the data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", + "description": "The Document resource full name, of the form: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/branches/{branch_id}/documents/{document_id}`", "type": "string" }, - "naturalLanguageQueryUnderstandingConfig": { - "$ref": "GoogleCloudDiscoveryengineV1alphaNaturalLanguageQueryUnderstandingConfig", - "description": "Optional. Configuration for Natural Language Query Understanding." - }, - "servingConfigDataStore": { - "$ref": "GoogleCloudDiscoveryengineV1alphaServingConfigDataStore", - "description": "Optional. Stores serving config at DataStore level." - }, - "solutionTypes": { - "description": "The solutions that the data store enrolls. Available solutions for each industry_vertical: * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`. * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other solutions cannot be enrolled.", + "promotionIds": { + "description": "The promotion IDs associated with this Document. Currently, this field is restricted to at most one ID.", "items": { - "enum": [ - "SOLUTION_TYPE_UNSPECIFIED", - "SOLUTION_TYPE_RECOMMENDATION", - "SOLUTION_TYPE_SEARCH", - "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" - ], - "enumDescriptions": [ - "Default value.", - "Used for Recommendations AI.", - "Used for Discovery Search.", - "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." - ], "type": "string" }, "type": "array" }, - "startingSchema": { - "$ref": "GoogleCloudDiscoveryengineV1alphaSchema", - "description": "The start schema to use for this DataStore when provisioning it. If unset, a default vertical specialized schema will be used. This field is only used by CreateDataStore API, and will be ignored if used in other APIs. This field will be omitted from all API responses including CreateDataStore API. To retrieve a schema of a DataStore, use SchemaService.GetSchema API instead. The provided schema will be validated against certain rules on schema. Learn more from [this doc](https://cloud.google.com/generative-ai-app-builder/docs/provide-schema)." + "quantity": { + "description": "Quantity of the Document associated with the user event. Defaults to 1. For example, this field is 2 if two quantities of the same Document are involved in a `add-to-cart` event. Required for events of the following event types: * `add-to-cart` * `purchase`", + "format": "int32", + "type": "integer" }, - "workspaceConfig": { - "$ref": "GoogleCloudDiscoveryengineV1alphaWorkspaceConfig", - "description": "Config to store data store type configuration for workspace data. This must be set when DataStore.content_config is set as DataStore.ContentConfig.GOOGLE_WORKSPACE." + "uri": { + "description": "The Document URI - only allowed for website data stores.", + "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaDataStoreBillingEstimation": { - "description": "Estimation of data size per data store.", - "id": "GoogleCloudDiscoveryengineV1alphaDataStoreBillingEstimation", + "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig": { + "description": "A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser.", + "id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig", "properties": { - "structuredDataSize": { - "description": "Data size for structured data in terms of bytes.", - "format": "int64", - "type": "string" - }, - "structuredDataUpdateTime": { - "description": "Last updated timestamp for structured data.", - "format": "google-datetime", - "type": "string" - }, - "unstructuredDataSize": { - "description": "Data size for unstructured data in terms of bytes.", - "format": "int64", - "type": "string" + "chunkingConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfig", + "description": "Whether chunking mode is enabled." }, - "unstructuredDataUpdateTime": { - "description": "Last updated timestamp for unstructured data.", - "format": "google-datetime", - "type": "string" + "defaultParsingConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfig", + "description": "Configurations for default Document parser. If not specified, we will configure it as default DigitalParsingConfig, and the default parsing config will be applied to all file types for Document parsing." }, - "websiteDataSize": { - "description": "Data size for websites in terms of bytes.", - "format": "int64", + "name": { + "description": "The full resource name of the Document Processing Config. Format: `projects/*/locations/*/collections/*/dataStores/*/documentProcessingConfig`.", "type": "string" }, - "websiteDataUpdateTime": { - "description": "Last updated timestamp for websites.", - "format": "google-datetime", - "type": "string" + "parsingConfigOverrides": { + "additionalProperties": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfig" + }, + "description": "Map from file type to override the default parsing configuration based on the file type. Supported keys: * `pdf`: Override parsing config for PDF files, either digital parsing, ocr parsing or layout parsing is supported. * `html`: Override parsing config for HTML files, only digital parsing and layout parsing are supported. * `docx`: Override parsing config for DOCX files, only digital parsing and layout parsing are supported. * `pptx`: Override parsing config for PPTX files, only digital parsing and layout parsing are supported. * `xlsm`: Override parsing config for XLSM files, only digital parsing and layout parsing are supported. * `xlsx`: Override parsing config for XLSX files, only digital parsing and layout parsing are supported.", + "type": "object" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaDeleteDataStoreMetadata": { - "description": "Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1alphaDeleteDataStoreMetadata", + "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfig": { + "description": "Configuration for chunking config.", + "id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfig", "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", - "type": "string" - }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", - "type": "string" + "layoutBasedChunkingConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig", + "description": "Configuration for the layout based chunking." } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaDeleteEngineMetadata": { - "description": "Metadata related to the progress of the EngineService.DeleteEngine operation. This will be returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1alphaDeleteEngineMetadata", + "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig": { + "description": "Configuration for the layout based chunking.", + "id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig", "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", - "type": "string" + "chunkSize": { + "description": "The token size limit for each chunk. Supported values: 100-500 (inclusive). Default value: 500.", + "format": "int32", + "type": "integer" }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", - "type": "string" + "includeAncestorHeadings": { + "description": "Whether to include appending different levels of headings to chunks from the middle of the document to prevent context loss. Default value: False.", + "type": "boolean" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaDeleteSchemaMetadata": { - "description": "Metadata for DeleteSchema LRO.", - "id": "GoogleCloudDiscoveryengineV1alphaDeleteSchemaMetadata", + "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfig": { + "description": "Related configurations applied to a specific type of document parser.", + "id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfig", "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", - "type": "string" + "digitalParsingConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigDigitalParsingConfig", + "description": "Configurations applied to digital parser." }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", - "type": "string" + "layoutParsingConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigLayoutParsingConfig", + "description": "Configurations applied to layout parser." + }, + "ocrParsingConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigOcrParsingConfig", + "description": "Configurations applied to OCR parser. Currently it only applies to PDFs." } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaDeleteTargetSiteMetadata": { - "description": "Metadata related to the progress of the SiteSearchEngineService.DeleteTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1alphaDeleteTargetSiteMetadata", + "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigDigitalParsingConfig": { + "description": "The digital parsing configurations for documents.", + "id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigDigitalParsingConfig", + "properties": {}, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigLayoutParsingConfig": { + "description": "The layout parsing configurations for documents.", + "id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigLayoutParsingConfig", + "properties": {}, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigOcrParsingConfig": { + "description": "The OCR parsing configurations for documents.", + "id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigOcrParsingConfig", "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", - "type": "string" + "enhancedDocumentElements": { + "deprecated": true, + "description": "[DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.", + "items": { + "type": "string" + }, + "type": "array" }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", + "useNativeText": { + "description": "If true, will use native text instead of OCR text on pages containing native text.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaDoubleList": { + "description": "Double list.", + "id": "GoogleCloudDiscoveryengineV1alphaDoubleList", + "properties": { + "values": { + "description": "Double values.", + "items": { + "format": "double", + "type": "number" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaEmbeddingConfig": { + "description": "Defines embedding config, used for bring your own embeddings feature.", + "id": "GoogleCloudDiscoveryengineV1alphaEmbeddingConfig", + "properties": { + "fieldPath": { + "description": "Full field path in the schema mapped as embedding field.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchMetadata": { - "description": "Metadata related to the progress of the SiteSearchEngineService.DisableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchMetadata", + "GoogleCloudDiscoveryengineV1alphaEnableAdvancedSiteSearchMetadata": { + "description": "Metadata related to the progress of the SiteSearchEngineService.EnableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaEnableAdvancedSiteSearchMetadata", "properties": { "createTime": { "description": "Operation create time.", @@ -11839,1097 +14894,1202 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchRequest": { - "description": "Request message for SiteSearchEngineService.DisableAdvancedSiteSearch method.", - "id": "GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchRequest", + "GoogleCloudDiscoveryengineV1alphaEnableAdvancedSiteSearchRequest": { + "description": "Request message for SiteSearchEngineService.EnableAdvancedSiteSearch method.", + "id": "GoogleCloudDiscoveryengineV1alphaEnableAdvancedSiteSearchRequest", "properties": {}, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchResponse": { - "description": "Response message for SiteSearchEngineService.DisableAdvancedSiteSearch method.", - "id": "GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchResponse", + "GoogleCloudDiscoveryengineV1alphaEnableAdvancedSiteSearchResponse": { + "description": "Response message for SiteSearchEngineService.EnableAdvancedSiteSearch method.", + "id": "GoogleCloudDiscoveryengineV1alphaEnableAdvancedSiteSearchResponse", "properties": {}, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaDocument": { - "description": "Document captures all raw metadata information of items to be recommended or searched.", - "id": "GoogleCloudDiscoveryengineV1alphaDocument", + "GoogleCloudDiscoveryengineV1alphaEngine": { + "description": "Metadata that describes the training and serving parameters of an Engine.", + "id": "GoogleCloudDiscoveryengineV1alphaEngine", "properties": { - "aclInfo": { - "$ref": "GoogleCloudDiscoveryengineV1alphaDocumentAclInfo", - "description": "Access control information for the document." + "chatEngineConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfig", + "description": "Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT." }, - "content": { - "$ref": "GoogleCloudDiscoveryengineV1alphaDocumentContent", - "description": "The unstructured data linked to this document. Content must be set if this document is under a `CONTENT_REQUIRED` data store." + "chatEngineMetadata": { + "$ref": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineMetadata", + "description": "Output only. Additional information of the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.", + "readOnly": true }, - "derivedStructData": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "Output only. This field is OUTPUT_ONLY. It contains derived data that are not in the original input document.", + "commonConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaEngineCommonConfig", + "description": "Common config spec that specifies the metadata of the engine." + }, + "createTime": { + "description": "Output only. Timestamp the Recommendation Engine was created at.", + "format": "google-datetime", "readOnly": true, - "type": "object" + "type": "string" }, - "id": { - "description": "Immutable. The identifier of the document. Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters.", + "dataStoreIds": { + "description": "The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations.", + "items": { + "type": "string" + }, + "type": "array" + }, + "disableAnalytics": { + "description": "Optional. Whether to disable analytics for searches performed on this engine.", + "type": "boolean" + }, + "displayName": { + "description": "Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.", "type": "string" }, - "indexStatus": { - "$ref": "GoogleCloudDiscoveryengineV1alphaDocumentIndexStatus", - "description": "Output only. The index status of the document. * If document is indexed successfully, the index_time field is populated. * Otherwise, if document is not indexed due to errors, the error_samples field is populated. * Otherwise, index_status is unset.", + "industryVertical": { + "description": "The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.", + "enum": [ + "INDUSTRY_VERTICAL_UNSPECIFIED", + "GENERIC", + "MEDIA", + "HEALTHCARE_FHIR" + ], + "enumDescriptions": [ + "Value used when unset.", + "The generic vertical for documents that are not specific to any industry vertical.", + "The media industry vertical.", + "The healthcare FHIR vertical." + ], + "type": "string" + }, + "mediaRecommendationEngineConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfig", + "description": "Configurations for the Media Engine. Only applicable on the data stores with solution_type SOLUTION_TYPE_RECOMMENDATION and IndustryVertical.MEDIA vertical." + }, + "name": { + "description": "Immutable. The fully qualified resource name of the engine. This field must be a UTF-8 encoded string with a length limit of 1024 characters. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` engine should be 1-63 characters, and valid characters are /a-z0-9*/. Otherwise, an INVALID_ARGUMENT error is returned.", + "type": "string" + }, + "recommendationMetadata": { + "$ref": "GoogleCloudDiscoveryengineV1alphaEngineRecommendationMetadata", + "description": "Output only. Additional information of a recommendation engine. Only applicable if solution_type is SOLUTION_TYPE_RECOMMENDATION.", "readOnly": true }, - "indexTime": { - "description": "Output only. The last time the document was indexed. If this field is set, the document could be returned in search results. This field is OUTPUT_ONLY. If this field is not populated, it means the document has never been indexed.", + "searchEngineConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaEngineSearchEngineConfig", + "description": "Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH." + }, + "similarDocumentsConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaEngineSimilarDocumentsEngineConfig", + "description": "Additional config specs for a `similar-items` engine." + }, + "solutionType": { + "description": "Required. The solutions of the engine.", + "enum": [ + "SOLUTION_TYPE_UNSPECIFIED", + "SOLUTION_TYPE_RECOMMENDATION", + "SOLUTION_TYPE_SEARCH", + "SOLUTION_TYPE_CHAT", + "SOLUTION_TYPE_GENERATIVE_CHAT" + ], + "enumDescriptions": [ + "Default value.", + "Used for Recommendations AI.", + "Used for Discovery Search.", + "Used for use cases related to the Generative AI agent.", + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + ], + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp the Recommendation Engine was last updated.", "format": "google-datetime", "readOnly": true, "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfig": { + "description": "Configurations for a Chat Engine.", + "id": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfig", + "properties": { + "agentCreationConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfigAgentCreationConfig", + "description": "The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation." }, - "jsonData": { - "description": "The JSON string representation of the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown.", + "dialogflowAgentToLink": { + "description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", "type": "string" - }, - "name": { - "description": "Immutable. The full resource name of the document. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}/documents/{document_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfigAgentCreationConfig": { + "description": "Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.", + "id": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfigAgentCreationConfig", + "properties": { + "business": { + "description": "Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.", "type": "string" }, - "parentDocumentId": { - "description": "The identifier of the parent document. Currently supports at most two level document hierarchy. Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters.", + "defaultLanguageCode": { + "description": "Required. The default language of the agent as a language tag. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.", "type": "string" }, - "schemaId": { - "description": "The identifier of the schema located in the same data store.", + "location": { + "description": "Agent location for Agent creation, supported values: global/us/eu. If not provided, us Engine will create Agent using us-central-1 by default; eu Engine will create Agent using eu-west-1 by default.", "type": "string" }, - "structData": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "The structured JSON data for the document. It should conform to the registered Schema or an `INVALID_ARGUMENT` error is thrown.", - "type": "object" + "timeZone": { + "description": "Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.", + "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaDocumentAclInfo": { - "description": "ACL Information of the Document.", - "id": "GoogleCloudDiscoveryengineV1alphaDocumentAclInfo", + "GoogleCloudDiscoveryengineV1alphaEngineChatEngineMetadata": { + "description": "Additional information of a Chat Engine. Fields in this message are output only.", + "id": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineMetadata", "properties": { - "readers": { - "description": "Readers of the document.", - "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaDocumentAclInfoAccessRestriction" - }, - "type": "array" + "dialogflowAgent": { + "description": "The resource name of a Dialogflow agent, that this Chat Engine refers to. Format: `projects//locations//agents/`.", + "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaDocumentAclInfoAccessRestriction": { - "description": "AclRestriction to model complex inheritance restrictions. Example: Modeling a \"Both Permit\" inheritance, where to access a child document, user needs to have access to parent document. Document Hierarchy - Space_S --> Page_P. Readers: Space_S: group_1, user_1 Page_P: group_2, group_3, user_2 Space_S ACL Restriction - { \"acl_info\": { \"readers\": [ { \"principals\": [ { \"group_id\": \"group_1\" }, { \"user_id\": \"user_1\" } ] } ] } } Page_P ACL Restriction. { \"acl_info\": { \"readers\": [ { \"principals\": [ { \"group_id\": \"group_2\" }, { \"group_id\": \"group_3\" }, { \"user_id\": \"user_2\" } ], }, { \"principals\": [ { \"group_id\": \"group_1\" }, { \"user_id\": \"user_1\" } ], } ] } }", - "id": "GoogleCloudDiscoveryengineV1alphaDocumentAclInfoAccessRestriction", + "GoogleCloudDiscoveryengineV1alphaEngineCommonConfig": { + "description": "Common configurations for an Engine.", + "id": "GoogleCloudDiscoveryengineV1alphaEngineCommonConfig", "properties": { - "idpWide": { - "description": "All users within the Identity Provider.", - "type": "boolean" - }, - "principals": { - "description": "List of principals.", - "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaPrincipal" - }, - "type": "array" + "companyName": { + "description": "The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features.", + "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaDocumentContent": { - "description": "Unstructured data linked to this document.", - "id": "GoogleCloudDiscoveryengineV1alphaDocumentContent", + "GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfig": { + "description": "Additional config specs for a Media Recommendation engine.", + "id": "GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfig", "properties": { - "mimeType": { - "description": "The MIME type of the content. Supported types: * `application/pdf` (PDF, only native PDFs are supported for now) * `text/html` (HTML) * `application/vnd.openxmlformats-officedocument.wordprocessingml.document` (DOCX) * `application/vnd.openxmlformats-officedocument.presentationml.presentation` (PPTX) * `text/plain` (TXT) See https://www.iana.org/assignments/media-types/media-types.xhtml.", + "optimizationObjective": { + "description": "The optimization objective. e.g., `cvr`. This field together with optimization_objective describe engine metadata to use to control engine training and serving. Currently supported values: `ctr`, `cvr`. If not specified, we choose default based on engine type. Default depends on type of recommendation: `recommended-for-you` => `ctr` `others-you-may-like` => `ctr`", "type": "string" }, - "rawBytes": { - "description": "The content represented as a stream of bytes. The maximum length is 1,000,000 bytes (1 MB / ~0.95 MiB). Note: As with all `bytes` fields, this field is represented as pure binary in Protocol Buffers and base64-encoded string in JSON. For example, `abc123!?$*&()'-=@~` should be represented as `YWJjMTIzIT8kKiYoKSctPUB+` in JSON. See https://developers.google.com/protocol-buffers/docs/proto3#json.", - "format": "byte", + "optimizationObjectiveConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfigOptimizationObjectiveConfig", + "description": "Name and value of the custom threshold for cvr optimization_objective. For target_field `watch-time`, target_field_value must be an integer value indicating the media progress time in seconds between (0, 86400] (excludes 0, includes 86400) (e.g., 90). For target_field `watch-percentage`, the target_field_value must be a valid float value between (0, 1.0] (excludes 0, includes 1.0) (e.g., 0.5)." + }, + "trainingState": { + "description": "The training state that the engine is in (e.g. `TRAINING` or `PAUSED`). Since part of the cost of running the service is frequency of training - this can be used to determine when to train engine in order to control cost. If not specified: the default value for `CreateEngine` method is `TRAINING`. The default value for `UpdateEngine` method is to keep the state the same as before.", + "enum": [ + "TRAINING_STATE_UNSPECIFIED", + "PAUSED", + "TRAINING" + ], + "enumDescriptions": [ + "Unspecified training state.", + "The engine training is paused.", + "The engine is training." + ], "type": "string" }, - "uri": { - "description": "The URI of the content. Only Cloud Storage URIs (e.g. `gs://bucket-name/path/to/file`) are supported. The maximum file size is 2.5 MB for text-based formats, 200 MB for other formats.", + "type": { + "description": "Required. The type of engine. e.g., `recommended-for-you`. This field together with optimization_objective describe engine metadata to use to control engine training and serving. Currently supported values: `recommended-for-you`, `others-you-may-like`, `more-like-this`, `most-popular-items`.", "type": "string" } }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaDocumentIndexStatus": { - "description": "Index status of the document.", - "id": "GoogleCloudDiscoveryengineV1alphaDocumentIndexStatus", - "properties": { - "errorSamples": { - "description": "A sample of errors encountered while indexing the document. If this field is populated, the document is not indexed due to errors.", - "items": { - "$ref": "GoogleRpcStatus" - }, - "type": "array" - }, - "indexTime": { - "description": "The time when the document was indexed. If this field is populated, it means the document has been indexed.", - "format": "google-datetime", + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfigOptimizationObjectiveConfig": { + "description": "Custom threshold for `cvr` optimization_objective.", + "id": "GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfigOptimizationObjectiveConfig", + "properties": { + "targetField": { + "description": "Required. The name of the field to target. Currently supported values: `watch-percentage`, `watch-time`.", "type": "string" + }, + "targetFieldValueFloat": { + "description": "Required. The threshold to be applied to the target (e.g., 0.5).", + "format": "float", + "type": "number" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaDocumentInfo": { - "description": "Detailed document information associated with a user event.", - "id": "GoogleCloudDiscoveryengineV1alphaDocumentInfo", + "GoogleCloudDiscoveryengineV1alphaEngineRecommendationMetadata": { + "description": "Additional information of a recommendation engine.", + "id": "GoogleCloudDiscoveryengineV1alphaEngineRecommendationMetadata", "properties": { - "id": { - "description": "The Document resource ID.", + "dataState": { + "description": "Output only. The state of data requirements for this engine: `DATA_OK` and `DATA_ERROR`. Engine cannot be trained if the data is in `DATA_ERROR` state. Engine can have `DATA_ERROR` state even if serving state is `ACTIVE`: engines were trained successfully before, but cannot be refreshed because the underlying engine no longer has sufficient data for training.", + "enum": [ + "DATA_STATE_UNSPECIFIED", + "DATA_OK", + "DATA_ERROR" + ], + "enumDescriptions": [ + "Unspecified default value, should never be explicitly set.", + "The engine has sufficient training data.", + "The engine does not have sufficient training data. Error messages can be queried via Stackdriver." + ], + "readOnly": true, "type": "string" }, - "joined": { - "description": "Output only. Whether the referenced Document can be found in the data store.", + "lastTuneTime": { + "description": "Output only. The timestamp when the latest successful tune finished. Only applicable on Media Recommendation engines.", + "format": "google-datetime", "readOnly": true, - "type": "boolean" - }, - "name": { - "description": "The Document resource full name, of the form: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}/branches/{branch_id}/documents/{document_id}`", "type": "string" }, - "promotionIds": { - "description": "The promotion IDs associated with this Document. Currently, this field is restricted to at most one ID.", - "items": { - "type": "string" - }, - "type": "array" - }, - "quantity": { - "description": "Quantity of the Document associated with the user event. Defaults to 1. For example, this field is 2 if two quantities of the same Document are involved in a `add-to-cart` event. Required for events of the following event types: * `add-to-cart` * `purchase`", - "format": "int32", - "type": "integer" + "servingState": { + "description": "Output only. The serving state of the engine: `ACTIVE`, `NOT_ACTIVE`.", + "enum": [ + "SERVING_STATE_UNSPECIFIED", + "INACTIVE", + "ACTIVE", + "TUNED" + ], + "enumDescriptions": [ + "Unspecified serving state.", + "The engine is not serving.", + "The engine is serving and can be queried.", + "The engine is trained on tuned hyperparameters and can be queried." + ], + "readOnly": true, + "type": "string" }, - "uri": { - "description": "The Document URI - only allowed for website data stores.", + "tuningOperation": { + "description": "Output only. The latest tune operation id associated with the engine. Only applicable on Media Recommendation engines. If present, this operation id can be used to determine if there is an ongoing tune for this engine. To check the operation status, send the GetOperation request with this operation id in the engine resource format. If no tuning has happened for this engine, the string is empty.", + "readOnly": true, "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig": { - "description": "A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config.", - "id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig", + "GoogleCloudDiscoveryengineV1alphaEngineSearchEngineConfig": { + "description": "Configurations for a Search Engine.", + "id": "GoogleCloudDiscoveryengineV1alphaEngineSearchEngineConfig", "properties": { - "chunkingConfig": { - "$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfig", - "description": "Whether chunking mode is enabled." - }, - "defaultParsingConfig": { - "$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfig", - "description": "Configurations for default Document parser. If not specified, we will configure it as default DigitalParsingConfig, and the default parsing config will be applied to all file types for Document parsing." + "searchAddOns": { + "description": "The add-on that this search engine enables.", + "items": { + "enum": [ + "SEARCH_ADD_ON_UNSPECIFIED", + "SEARCH_ADD_ON_LLM" + ], + "enumDescriptions": [ + "Default value when the enum is unspecified. This is invalid to use.", + "Large language model add-on." + ], + "type": "string" + }, + "type": "array" }, - "name": { - "description": "The full resource name of the Document Processing Config. Format: `projects/*/locations/*/collections/*/dataStores/*/documentProcessingConfig`.", + "searchTier": { + "description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", + "enum": [ + "SEARCH_TIER_UNSPECIFIED", + "SEARCH_TIER_STANDARD", + "SEARCH_TIER_ENTERPRISE" + ], + "enumDescriptions": [ + "Default value when the enum is unspecified. This is invalid to use.", + "Standard tier.", + "Enterprise tier." + ], "type": "string" - }, - "parsingConfigOverrides": { - "additionalProperties": { - "$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfig" - }, - "description": "Map from file type to override the default parsing configuration based on the file type. Supported keys: * `pdf`: Override parsing config for PDF files, either digital parsing, ocr parsing or layout parsing is supported. * `html`: Override parsing config for HTML files, only digital parsing and layout parsing are supported. * `docx`: Override parsing config for DOCX files, only digital parsing and layout parsing are supported. * `pptx`: Override parsing config for PPTX files, only digital parsing and layout parsing are supported. * `xlsm`: Override parsing config for XLSM files, only digital parsing and layout parsing are supported. * `xlsx`: Override parsing config for XLSX files, only digital parsing and layout parsing are supported.", - "type": "object" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfig": { - "description": "Configuration for chunking config.", - "id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfig", - "properties": { - "layoutBasedChunkingConfig": { - "$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig", - "description": "Configuration for the layout based chunking." - } - }, + "GoogleCloudDiscoveryengineV1alphaEngineSimilarDocumentsEngineConfig": { + "description": "Additional config specs for a `similar-items` engine.", + "id": "GoogleCloudDiscoveryengineV1alphaEngineSimilarDocumentsEngineConfig", + "properties": {}, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig": { - "description": "Configuration for the layout based chunking.", - "id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigChunkingConfigLayoutBasedChunkingConfig", + "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeMetadata": { + "description": "Metadata related to the progress of the EstimateDataSize operation. This is returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeMetadata", "properties": { - "chunkSize": { - "description": "The token size limit for each chunk. Supported values: 100-500 (inclusive). Default value: 500.", - "format": "int32", - "type": "integer" - }, - "includeAncestorHeadings": { - "description": "Whether to include appending different levels of headings to chunks from the middle of the document to prevent context loss. Default value: False.", - "type": "boolean" + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfig": { - "description": "Related configurations applied to a specific type of document parser.", - "id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfig", + "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequest": { + "description": "Request message for EstimateBillingService.EstimateDataSize method", + "id": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequest", "properties": { - "digitalParsingConfig": { - "$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigDigitalParsingConfig", - "description": "Configurations applied to digital parser." - }, - "layoutParsingConfig": { - "$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigLayoutParsingConfig", - "description": "Configurations applied to layout parser." + "fileDataSource": { + "$ref": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequestFileDataSource", + "description": "Structured or unstructured data." }, - "ocrParsingConfig": { - "$ref": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigOcrParsingConfig", - "description": "Configurations applied to OCR parser. Currently it only applies to PDFs." + "websiteDataSource": { + "$ref": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequestWebsiteDataSource", + "description": "Website data." } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigDigitalParsingConfig": { - "description": "The digital parsing configurations for documents.", - "id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigDigitalParsingConfig", - "properties": {}, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigLayoutParsingConfig": { - "description": "The layout parsing configurations for documents.", - "id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigLayoutParsingConfig", - "properties": {}, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigOcrParsingConfig": { - "description": "The OCR parsing configurations for documents.", - "id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfigParsingConfigOcrParsingConfig", + "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequestFileDataSource": { + "description": "Data source contains files either in Cloud Storage or BigQuery.", + "id": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequestFileDataSource", "properties": { - "enhancedDocumentElements": { - "deprecated": true, - "description": "[DEPRECATED] This field is deprecated. To use the additional enhanced document elements processing, please switch to `layout_parsing_config`.", - "items": { - "type": "string" - }, - "type": "array" + "bigquerySource": { + "$ref": "GoogleCloudDiscoveryengineV1alphaBigQuerySource", + "description": "BigQuery input source." }, - "useNativeText": { - "description": "If true, will use native text instead of OCR text on pages containing native text.", - "type": "boolean" + "gcsSource": { + "$ref": "GoogleCloudDiscoveryengineV1alphaGcsSource", + "description": "Cloud Storage location for the input content." } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaDoubleList": { - "description": "Double list.", - "id": "GoogleCloudDiscoveryengineV1alphaDoubleList", + "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequestWebsiteDataSource": { + "description": "Data source is a set of website patterns that we crawl to get the total number of websites.", + "id": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequestWebsiteDataSource", "properties": { - "values": { - "description": "Double values.", + "estimatorUriPatterns": { + "description": "Required. The URI patterns to estimate the data sizes. At most 10 patterns are allowed, otherwise an INVALID_ARGUMENT error is thrown.", "items": { - "format": "double", - "type": "number" + "$ref": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequestWebsiteDataSourceEstimatorUriPattern" }, "type": "array" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaEmbeddingConfig": { - "description": "Defines embedding config, used for bring your own embeddings feature.", - "id": "GoogleCloudDiscoveryengineV1alphaEmbeddingConfig", + "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequestWebsiteDataSourceEstimatorUriPattern": { + "description": "URI patterns that we use to crawl.", + "id": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequestWebsiteDataSourceEstimatorUriPattern", "properties": { - "fieldPath": { - "description": "Full field path in the schema mapped as embedding field.", + "exactMatch": { + "description": "Whether we infer the generated URI or use the exact provided one.", + "type": "boolean" + }, + "exclusive": { + "description": "Whether the pattern is exclusive or not. If set to true, the pattern is considered exclusive. If unset or set to false, the pattern is considered inclusive by default.", + "type": "boolean" + }, + "providedUriPattern": { + "description": "User provided URI pattern. For example, `foo.com/bar/*`.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaEnableAdvancedSiteSearchMetadata": { - "description": "Metadata related to the progress of the SiteSearchEngineService.EnableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1alphaEnableAdvancedSiteSearchMetadata", + "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeResponse": { + "description": "Response of the EstimateDataSize request. If the long running operation was successful, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.", + "id": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeResponse", "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", + "dataSizeBytes": { + "description": "Data size in terms of bytes.", + "format": "int64", "type": "string" - }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", + }, + "documentCount": { + "description": "Total number of documents.", + "format": "int64", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaEnableAdvancedSiteSearchRequest": { - "description": "Request message for SiteSearchEngineService.EnableAdvancedSiteSearch method.", - "id": "GoogleCloudDiscoveryengineV1alphaEnableAdvancedSiteSearchRequest", - "properties": {}, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaEnableAdvancedSiteSearchResponse": { - "description": "Response message for SiteSearchEngineService.EnableAdvancedSiteSearch method.", - "id": "GoogleCloudDiscoveryengineV1alphaEnableAdvancedSiteSearchResponse", - "properties": {}, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaEngine": { - "description": "Metadata that describes the training and serving parameters of an Engine.", - "id": "GoogleCloudDiscoveryengineV1alphaEngine", + "GoogleCloudDiscoveryengineV1alphaEvaluation": { + "description": "An evaluation is a single execution (or run) of an evaluation process. It encapsulates the state of the evaluation and the resulting data.", + "id": "GoogleCloudDiscoveryengineV1alphaEvaluation", "properties": { - "chatEngineConfig": { - "$ref": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfig", - "description": "Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT." - }, - "chatEngineMetadata": { - "$ref": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineMetadata", - "description": "Output only. Additional information of the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.", - "readOnly": true - }, - "commonConfig": { - "$ref": "GoogleCloudDiscoveryengineV1alphaEngineCommonConfig", - "description": "Common config spec that specifies the metadata of the engine." - }, "createTime": { - "description": "Output only. Timestamp the Recommendation Engine was created at.", + "description": "Output only. Timestamp the Evaluation was created at.", "format": "google-datetime", "readOnly": true, "type": "string" }, - "dataStoreIds": { - "description": "The data stores associated with this engine. For SOLUTION_TYPE_SEARCH and SOLUTION_TYPE_RECOMMENDATION type of engines, they can only associate with at most one data store. If solution_type is SOLUTION_TYPE_CHAT, multiple DataStores in the same Collection can be associated here. Note that when used in CreateEngineRequest, one DataStore id must be provided as the system will use it for necessary initializations.", + "endTime": { + "description": "Output only. Timestamp the Evaluation was completed at.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "error": { + "$ref": "GoogleRpcStatus", + "description": "Output only. The error that occurred during evaluation. Only populated when the evaluation's state is FAILED.", + "readOnly": true + }, + "errorSamples": { + "description": "Output only. A sample of errors encountered while processing the request.", "items": { - "type": "string" + "$ref": "GoogleRpcStatus" }, + "readOnly": true, "type": "array" }, - "disableAnalytics": { - "description": "Optional. Whether to disable analytics for searches performed on this engine.", - "type": "boolean" - }, - "displayName": { - "description": "Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.", - "type": "string" - }, - "industryVertical": { - "description": "The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to `GENERIC`. Vertical on Engine has to match vertical of the DataStore linked to the engine.", - "enum": [ - "INDUSTRY_VERTICAL_UNSPECIFIED", - "GENERIC", - "MEDIA", - "HEALTHCARE_FHIR" - ], - "enumDescriptions": [ - "Value used when unset.", - "The generic vertical for documents that are not specific to any industry vertical.", - "The media industry vertical.", - "The healthcare FHIR vertical." - ], - "type": "string" - }, - "mediaRecommendationEngineConfig": { - "$ref": "GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfig", - "description": "Configurations for the Media Engine. Only applicable on the data stores with solution_type SOLUTION_TYPE_RECOMMENDATION and IndustryVertical.MEDIA vertical." + "evaluationSpec": { + "$ref": "GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpec", + "description": "Required. The specification of the evaluation." }, "name": { - "description": "Immutable. The fully qualified resource name of the engine. This field must be a UTF-8 encoded string with a length limit of 1024 characters. Format: `projects/{project}/locations/{location}/collections/{collection}/engines/{engine}` engine should be 1-63 characters, and valid characters are /a-z0-9*/. Otherwise, an INVALID_ARGUMENT error is returned.", + "description": "Identifier. The full resource name of the Evaluation, in the format of `projects/{project}/locations/{location}/evaluations/{evaluation}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", "type": "string" }, - "recommendationMetadata": { - "$ref": "GoogleCloudDiscoveryengineV1alphaEngineRecommendationMetadata", - "description": "Output only. Additional information of a recommendation engine. Only applicable if solution_type is SOLUTION_TYPE_RECOMMENDATION.", + "qualityMetrics": { + "$ref": "GoogleCloudDiscoveryengineV1alphaQualityMetrics", + "description": "Output only. The metrics produced by the evaluation, averaged across all SampleQuerys in the SampleQuerySet. Only populated when the evaluation's state is SUCCEEDED.", "readOnly": true }, - "searchEngineConfig": { - "$ref": "GoogleCloudDiscoveryengineV1alphaEngineSearchEngineConfig", - "description": "Configurations for the Search Engine. Only applicable if solution_type is SOLUTION_TYPE_SEARCH." - }, - "similarDocumentsConfig": { - "$ref": "GoogleCloudDiscoveryengineV1alphaEngineSimilarDocumentsEngineConfig", - "description": "Additional config specs for a `similar-items` engine." - }, - "solutionType": { - "description": "Required. The solutions of the engine.", + "state": { + "description": "Output only. The state of the evaluation.", "enum": [ - "SOLUTION_TYPE_UNSPECIFIED", - "SOLUTION_TYPE_RECOMMENDATION", - "SOLUTION_TYPE_SEARCH", - "SOLUTION_TYPE_CHAT", - "SOLUTION_TYPE_GENERATIVE_CHAT" + "STATE_UNSPECIFIED", + "PENDING", + "RUNNING", + "SUCCEEDED", + "FAILED" ], "enumDescriptions": [ - "Default value.", - "Used for Recommendations AI.", - "Used for Discovery Search.", - "Used for use cases related to the Generative AI agent.", - "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + "The evaluation is unspecified.", + "The service is preparing to run the evaluation.", + "The evaluation is in progress.", + "The evaluation completed successfully.", + "The evaluation failed." ], - "type": "string" - }, - "updateTime": { - "description": "Output only. Timestamp the Recommendation Engine was last updated.", - "format": "google-datetime", "readOnly": true, "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfig": { - "description": "Configurations for a Chat Engine.", - "id": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfig", + "GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpec": { + "description": "Describes the specification of the evaluation.", + "id": "GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpec", "properties": { - "agentCreationConfig": { - "$ref": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfigAgentCreationConfig", - "description": "The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation." + "querySetSpec": { + "$ref": "GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpecQuerySetSpec", + "description": "Required. The specification of the query set." }, - "dialogflowAgentToLink": { - "description": "The resource name of an exist Dialogflow agent to link to this Chat Engine. Customers can either provide `agent_creation_config` to create agent or provide an agent name that links the agent with the Chat engine. Format: `projects//locations//agents/`. Note that the `dialogflow_agent_to_link` are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. Use ChatEngineMetadata.dialogflow_agent for actual agent association after Engine is created.", + "searchRequest": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequest", + "description": "Required. The search request that is used to perform the evaluation. Only the following fields within SearchRequest are supported; if any other fields are provided, an UNSUPPORTED error will be returned: * SearchRequest.serving_config * SearchRequest.branch * SearchRequest.canonical_filter * SearchRequest.query_expansion_spec * SearchRequest.spell_correction_spec * SearchRequest.content_search_spec * SearchRequest.user_pseudo_id" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpecQuerySetSpec": { + "description": "Describes the specification of the query set.", + "id": "GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpecQuerySetSpec", + "properties": { + "sampleQuerySet": { + "description": "Required. The full resource name of the SampleQuerySet used for the evaluation, in the format of `projects/{project}/locations/{location}/sampleQuerySets/{sampleQuerySet}`.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfigAgentCreationConfig": { - "description": "Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.", - "id": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfigAgentCreationConfig", + "GoogleCloudDiscoveryengineV1alphaFactChunk": { + "description": "Fact Chunk.", + "id": "GoogleCloudDiscoveryengineV1alphaFactChunk", "properties": { - "business": { - "description": "Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.", + "chunkText": { + "description": "Text content of the fact chunk. Can be at most 10K characters long.", "type": "string" }, - "defaultLanguageCode": { - "description": "Required. The default language of the agent as a language tag. See [Language Support](https://cloud.google.com/dialogflow/docs/reference/language) for a list of the currently supported language codes.", - "type": "string" + "index": { + "description": "The index of this chunk. Currently, only used for the streaming mode.", + "format": "int32", + "type": "integer" }, - "location": { - "description": "Agent location for Agent creation, supported values: global/us/eu. If not provided, us Engine will create Agent using us-central-1 by default; eu Engine will create Agent using eu-west-1 by default.", + "source": { + "description": "Source from which this fact chunk was retrieved. If it was retrieved from the GroundingFacts provided in the request then this field will contain the index of the specific fact from which this chunk was retrieved.", "type": "string" }, - "timeZone": { - "description": "Required. The time zone of the agent from the [time zone database](https://www.iana.org/time-zones), e.g., America/New_York, Europe/Paris.", - "type": "string" + "sourceMetadata": { + "additionalProperties": { + "type": "string" + }, + "description": "More fine-grained information for the source reference.", + "type": "object" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaEngineChatEngineMetadata": { - "description": "Additional information of a Chat Engine. Fields in this message are output only.", - "id": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineMetadata", + "GoogleCloudDiscoveryengineV1alphaFetchDomainVerificationStatusResponse": { + "description": "Response message for SiteSearchEngineService.FetchDomainVerificationStatus method.", + "id": "GoogleCloudDiscoveryengineV1alphaFetchDomainVerificationStatusResponse", "properties": { - "dialogflowAgent": { - "description": "The resource name of a Dialogflow agent, that this Chat Engine refers to. Format: `projects//locations//agents/`.", + "nextPageToken": { + "description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", "type": "string" + }, + "targetSites": { + "description": "List of TargetSites containing the site verification status.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaTargetSite" + }, + "type": "array" + }, + "totalSize": { + "description": "The total number of items matching the request. This will always be populated in the response.", + "format": "int32", + "type": "integer" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaEngineCommonConfig": { - "description": "Common configurations for an Engine.", - "id": "GoogleCloudDiscoveryengineV1alphaEngineCommonConfig", + "GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponse": { + "description": "Response message for SiteSearchEngineService.FetchSitemaps method.", + "id": "GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponse", "properties": { - "companyName": { - "description": "The name of the company, business or entity that is associated with the engine. Setting this may help improve LLM related features.", - "type": "string" + "sitemapsMetadata": { + "description": "List of Sitemaps fetched.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponseSitemapMetadata" + }, + "type": "array" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfig": { - "description": "Additional config specs for a Media Recommendation engine.", - "id": "GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfig", + "GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponseSitemapMetadata": { + "description": "Contains a Sitemap and its metadata.", + "id": "GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponseSitemapMetadata", "properties": { - "optimizationObjective": { - "description": "The optimization objective. e.g., `cvr`. This field together with optimization_objective describe engine metadata to use to control engine training and serving. Currently supported values: `ctr`, `cvr`. If not specified, we choose default based on engine type. Default depends on type of recommendation: `recommended-for-you` => `ctr` `others-you-may-like` => `ctr`", + "sitemap": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSitemap", + "description": "The Sitemap." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaFhirStoreSource": { + "description": "Cloud FhirStore source import data from.", + "id": "GoogleCloudDiscoveryengineV1alphaFhirStoreSource", + "properties": { + "fhirStore": { + "description": "Required. The full resource name of the FHIR store to import data from, in the format of `projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}`.", "type": "string" }, - "optimizationObjectiveConfig": { - "$ref": "GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfigOptimizationObjectiveConfig", - "description": "Name and value of the custom threshold for cvr optimization_objective. For target_field `watch-time`, target_field_value must be an integer value indicating the media progress time in seconds between (0, 86400] (excludes 0, includes 86400) (e.g., 90). For target_field `watch-percentage`, the target_field_value must be a valid float value between (0, 1.0] (excludes 0, includes 1.0) (e.g., 0.5)." + "gcsStagingDir": { + "description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the FhirStore export to a specific Cloud Storage directory.", + "type": "string" + }, + "resourceTypes": { + "description": "The FHIR resource types to import. The resource types should be a subset of all [supported FHIR resource types](https://cloud.google.com/generative-ai-app-builder/docs/fhir-schema-reference#resource-level-specification). Default to all supported FHIR resource types if empty.", + "items": { + "type": "string" + }, + "type": "array" + }, + "updateFromLatestPredefinedSchema": { + "description": "Optional. Whether to update the DataStore schema to the latest predefined schema. If true, the DataStore schema will be updated to include any FHIR fields or resource types that have been added since the last import and corresponding FHIR resources will be imported from the FHIR store. Note this field cannot be used in conjunction with `resource_types`. It should be used after initial import.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaFieldConfig": { + "description": "Configurations for fields of a schema. For example, configuring a field is indexable, or searchable.", + "id": "GoogleCloudDiscoveryengineV1alphaFieldConfig", + "properties": { + "advancedSiteSearchDataSources": { + "description": "If this field is set, only the corresponding source will be indexed for this field. Otherwise, the values from different sources are merged. Assuming a page with `` in meta tag, and `` in page map: if this enum is set to METATAGS, we will only index ``; if this enum is not set, we will merge them and index ``.", + "items": { + "enum": [ + "ADVANCED_SITE_SEARCH_DATA_SOURCE_UNSPECIFIED", + "METATAGS", + "PAGEMAP", + "URI_PATTERN_MAPPING", + "SCHEMA_ORG" + ], + "enumDescriptions": [ + "Value used when unset.", + "Retrieve value from meta tag.", + "Retrieve value from page map.", + "Retrieve value from the attributes set by SiteSearchEngineService.SetUriPatternDocumentData API.", + "Retrieve value from schema.org data." + ], + "type": "string" + }, + "type": "array" }, - "trainingState": { - "description": "The training state that the engine is in (e.g. `TRAINING` or `PAUSED`). Since part of the cost of running the service is frequency of training - this can be used to determine when to train engine in order to control cost. If not specified: the default value for `CreateEngine` method is `TRAINING`. The default value for `UpdateEngine` method is to keep the state the same as before.", + "completableOption": { + "description": "If completable_option is COMPLETABLE_ENABLED, field values are directly used and returned as suggestions for Autocomplete in CompletionService.CompleteQuery. If completable_option is unset, the server behavior defaults to COMPLETABLE_DISABLED for fields that support setting completable options, which are just `string` fields. For those fields that do not support setting completable options, the server will skip completable option setting, and setting completable_option for those fields will throw `INVALID_ARGUMENT` error.", "enum": [ - "TRAINING_STATE_UNSPECIFIED", - "PAUSED", - "TRAINING" + "COMPLETABLE_OPTION_UNSPECIFIED", + "COMPLETABLE_ENABLED", + "COMPLETABLE_DISABLED" ], "enumDescriptions": [ - "Unspecified training state.", - "The engine training is paused.", - "The engine is training." + "Value used when unset.", + "Completable option enabled for a schema field.", + "Completable option disabled for a schema field." ], "type": "string" }, - "type": { - "description": "Required. The type of engine. e.g., `recommended-for-you`. This field together with optimization_objective describe engine metadata to use to control engine training and serving. Currently supported values: `recommended-for-you`, `others-you-may-like`, `more-like-this`, `most-popular-items`.", + "dynamicFacetableOption": { + "description": "If dynamic_facetable_option is DYNAMIC_FACETABLE_ENABLED, field values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if FieldConfig.indexable_option is INDEXABLE_DISABLED. Otherwise, an `INVALID_ARGUMENT` error will be returned. If dynamic_facetable_option is unset, the server behavior defaults to DYNAMIC_FACETABLE_DISABLED for fields that support setting dynamic facetable options. For those fields that do not support setting dynamic facetable options, such as `object` and `boolean`, the server will skip dynamic facetable option setting, and setting dynamic_facetable_option for those fields will throw `INVALID_ARGUMENT` error.", + "enum": [ + "DYNAMIC_FACETABLE_OPTION_UNSPECIFIED", + "DYNAMIC_FACETABLE_ENABLED", + "DYNAMIC_FACETABLE_DISABLED" + ], + "enumDescriptions": [ + "Value used when unset.", + "Dynamic facetable option enabled for a schema field.", + "Dynamic facetable option disabled for a schema field." + ], "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfigOptimizationObjectiveConfig": { - "description": "Custom threshold for `cvr` optimization_objective.", - "id": "GoogleCloudDiscoveryengineV1alphaEngineMediaRecommendationEngineConfigOptimizationObjectiveConfig", - "properties": { - "targetField": { - "description": "Required. The name of the field to target. Currently supported values: `watch-percentage`, `watch-time`.", + }, + "fieldPath": { + "description": "Required. Field path of the schema field. For example: `title`, `description`, `release_info.release_year`.", "type": "string" }, - "targetFieldValueFloat": { - "description": "Required. The threshold to be applied to the target (e.g., 0.5).", - "format": "float", - "type": "number" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaEngineRecommendationMetadata": { - "description": "Additional information of a recommendation engine.", - "id": "GoogleCloudDiscoveryengineV1alphaEngineRecommendationMetadata", - "properties": { - "dataState": { - "description": "Output only. The state of data requirements for this engine: `DATA_OK` and `DATA_ERROR`. Engine cannot be trained if the data is in `DATA_ERROR` state. Engine can have `DATA_ERROR` state even if serving state is `ACTIVE`: engines were trained successfully before, but cannot be refreshed because the underlying engine no longer has sufficient data for training.", + "fieldType": { + "description": "Output only. Raw type of the field.", "enum": [ - "DATA_STATE_UNSPECIFIED", - "DATA_OK", - "DATA_ERROR" + "FIELD_TYPE_UNSPECIFIED", + "OBJECT", + "STRING", + "NUMBER", + "INTEGER", + "BOOLEAN", + "GEOLOCATION", + "DATETIME" ], "enumDescriptions": [ - "Unspecified default value, should never be explicitly set.", - "The engine has sufficient training data.", - "The engine does not have sufficient training data. Error messages can be queried via Stackdriver." + "Field type is unspecified.", + "Field value type is Object.", + "Field value type is String.", + "Field value type is Number.", + "Field value type is Integer.", + "Field value type is Boolean.", + "Field value type is Geolocation. Geolocation is expressed as an object with the following keys: * `id`: a string representing the location id * `longitude`: a number representing the longitude coordinate of the location * `latitude`: a number repesenting the latitude coordinate of the location * `address`: a string representing the full address of the location `latitude` and `longitude` must always be provided together. At least one of a) `address` or b) `latitude`-`longitude` pair must be provided.", + "Field value type is Datetime. Datetime can be expressed as either: * a number representing milliseconds-since-the-epoch * a string representing milliseconds-since-the-epoch. e.g. `\"1420070400001\"` * a string representing the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date or date and time. e.g. `\"2015-01-01\"` or `\"2015-01-01T12:10:30Z\"`" ], "readOnly": true, "type": "string" }, - "lastTuneTime": { - "description": "Output only. The timestamp when the latest successful tune finished. Only applicable on Media Recommendation engines.", - "format": "google-datetime", + "indexableOption": { + "description": "If indexable_option is INDEXABLE_ENABLED, field values are indexed so that it can be filtered or faceted in SearchService.Search. If indexable_option is unset, the server behavior defaults to INDEXABLE_DISABLED for fields that support setting indexable options. For those fields that do not support setting indexable options, such as `object` and `boolean` and key properties, the server will skip indexable_option setting, and setting indexable_option for those fields will throw `INVALID_ARGUMENT` error.", + "enum": [ + "INDEXABLE_OPTION_UNSPECIFIED", + "INDEXABLE_ENABLED", + "INDEXABLE_DISABLED" + ], + "enumDescriptions": [ + "Value used when unset.", + "Indexable option enabled for a schema field.", + "Indexable option disabled for a schema field." + ], + "type": "string" + }, + "keyPropertyType": { + "description": "Output only. Type of the key property that this field is mapped to. Empty string if this is not annotated as mapped to a key property. Example types are `title`, `description`. Full list is defined by `keyPropertyMapping` in the schema field annotation. If the schema field has a `KeyPropertyMapping` annotation, `indexable_option` and `searchable_option` of this field cannot be modified.", "readOnly": true, "type": "string" }, - "servingState": { - "description": "Output only. The serving state of the engine: `ACTIVE`, `NOT_ACTIVE`.", + "metatagName": { + "description": "Optional. The metatag name found in the HTML page. If user defines this field, the value of this metatag name will be used to extract metatag. If the user does not define this field, the FieldConfig.field_path will be used to extract metatag.", + "type": "string" + }, + "recsFilterableOption": { + "description": "If recs_filterable_option is FILTERABLE_ENABLED, field values are filterable by filter expression in RecommendationService.Recommend. If FILTERABLE_ENABLED but the field type is numerical, field values are not filterable by text queries in RecommendationService.Recommend. Only textual fields are supported. If recs_filterable_option is unset, the default setting is FILTERABLE_DISABLED for fields that support setting filterable options. When a field set to [FILTERABLE_DISABLED] is filtered, a warning is generated and an empty result is returned.", "enum": [ - "SERVING_STATE_UNSPECIFIED", - "INACTIVE", - "ACTIVE", - "TUNED" + "FILTERABLE_OPTION_UNSPECIFIED", + "FILTERABLE_ENABLED", + "FILTERABLE_DISABLED" ], "enumDescriptions": [ - "Unspecified serving state.", - "The engine is not serving.", - "The engine is serving and can be queried.", - "The engine is trained on tuned hyperparameters and can be queried." + "Value used when unset.", + "Filterable option enabled for a schema field.", + "Filterable option disabled for a schema field." ], - "readOnly": true, "type": "string" }, - "tuningOperation": { - "description": "Output only. The latest tune operation id associated with the engine. Only applicable on Media Recommendation engines. If present, this operation id can be used to determine if there is an ongoing tune for this engine. To check the operation status, send the GetOperation request with this operation id in the engine resource format. If no tuning has happened for this engine, the string is empty.", - "readOnly": true, + "retrievableOption": { + "description": "If retrievable_option is RETRIEVABLE_ENABLED, field values are included in the search results. If retrievable_option is unset, the server behavior defaults to RETRIEVABLE_DISABLED for fields that support setting retrievable options. For those fields that do not support setting retrievable options, such as `object` and `boolean`, the server will skip retrievable option setting, and setting retrievable_option for those fields will throw `INVALID_ARGUMENT` error.", + "enum": [ + "RETRIEVABLE_OPTION_UNSPECIFIED", + "RETRIEVABLE_ENABLED", + "RETRIEVABLE_DISABLED" + ], + "enumDescriptions": [ + "Value used when unset.", + "Retrievable option enabled for a schema field.", + "Retrievable option disabled for a schema field." + ], "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaEngineSearchEngineConfig": { - "description": "Configurations for a Search Engine.", - "id": "GoogleCloudDiscoveryengineV1alphaEngineSearchEngineConfig", - "properties": { - "searchAddOns": { - "description": "The add-on that this search engine enables.", + }, + "schemaOrgPaths": { + "description": "Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished", "items": { - "enum": [ - "SEARCH_ADD_ON_UNSPECIFIED", - "SEARCH_ADD_ON_LLM" - ], - "enumDescriptions": [ - "Default value when the enum is unspecified. This is invalid to use.", - "Large language model add-on." - ], "type": "string" }, "type": "array" }, - "searchTier": { - "description": "The search feature tier of this engine. Different tiers might have different pricing. To learn more, check the pricing documentation. Defaults to SearchTier.SEARCH_TIER_STANDARD if not specified.", + "searchableOption": { + "description": "If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error.", "enum": [ - "SEARCH_TIER_UNSPECIFIED", - "SEARCH_TIER_STANDARD", - "SEARCH_TIER_ENTERPRISE" + "SEARCHABLE_OPTION_UNSPECIFIED", + "SEARCHABLE_ENABLED", + "SEARCHABLE_DISABLED" ], "enumDescriptions": [ - "Default value when the enum is unspecified. This is invalid to use.", - "Standard tier.", - "Enterprise tier." + "Value used when unset.", + "Searchable option enabled for a schema field.", + "Searchable option disabled for a schema field." ], "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaEngineSimilarDocumentsEngineConfig": { - "description": "Additional config specs for a `similar-items` engine.", - "id": "GoogleCloudDiscoveryengineV1alphaEngineSimilarDocumentsEngineConfig", - "properties": {}, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeMetadata": { - "description": "Metadata related to the progress of the EstimateDataSize operation. This is returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeMetadata", + "GoogleCloudDiscoveryengineV1alphaFirestoreSource": { + "description": "Firestore source import data from.", + "id": "GoogleCloudDiscoveryengineV1alphaFirestoreSource", "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", + "collectionId": { + "description": "Required. The Firestore collection (or entity) to copy the data from with a length limit of 1,500 characters.", "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequest": { - "description": "Request message for EstimateBillingService.EstimateDataSize method", - "id": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequest", - "properties": { - "fileDataSource": { - "$ref": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequestFileDataSource", - "description": "Structured or unstructured data." }, - "websiteDataSource": { - "$ref": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequestWebsiteDataSource", - "description": "Website data." + "databaseId": { + "description": "Required. The Firestore database to copy the data from with a length limit of 256 characters.", + "type": "string" + }, + "gcsStagingDir": { + "description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the Firestore export to a specific Cloud Storage directory. Ensure that the Firestore service account has the necessary Cloud Storage Admin permissions to access the specified Cloud Storage directory.", + "type": "string" + }, + "projectId": { + "description": "The project ID that the Cloud SQL source is in with a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", + "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequestFileDataSource": { - "description": "Data source contains files either in Cloud Storage or BigQuery.", - "id": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequestFileDataSource", + "GoogleCloudDiscoveryengineV1alphaGcsSource": { + "description": "Cloud Storage location for input content.", + "id": "GoogleCloudDiscoveryengineV1alphaGcsSource", "properties": { - "bigquerySource": { - "$ref": "GoogleCloudDiscoveryengineV1alphaBigQuerySource", - "description": "BigQuery input source." + "dataSchema": { + "description": "The schema to use when parsing the data from the source. Supported values for document imports: * `document` (default): One JSON Document per line. Each document must have a valid Document.id. * `content`: Unstructured data (e.g. PDF, HTML). Each file matched by `input_uris` becomes a document, with the ID set to the first 128 bits of SHA256(URI) encoded as a hex string. * `custom`: One custom data JSON per row in arbitrary format that conforms to the defined Schema of the data store. This can only be used by the GENERIC Data Store vertical. * `csv`: A CSV file with header conforming to the defined Schema of the data store. Each entry after the header is imported as a Document. This can only be used by the GENERIC Data Store vertical. Supported values for user event imports: * `user_event` (default): One JSON UserEvent per line.", + "type": "string" }, - "gcsSource": { - "$ref": "GoogleCloudDiscoveryengineV1alphaGcsSource", - "description": "Cloud Storage location for the input content." + "inputUris": { + "description": "Required. Cloud Storage URIs to input files. Each URI can be up to 2000 characters long. URIs can match the full object path (for example, `gs://bucket/directory/object.json`) or a pattern matching one or more files, such as `gs://bucket/directory/*.json`. A request can contain at most 100 files (or 100,000 files if `data_schema` is `content`). Each file can be up to 2 GB (or 100 MB if `data_schema` is `content`).", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequestWebsiteDataSource": { - "description": "Data source is a set of website patterns that we crawl to get the total number of websites.", - "id": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequestWebsiteDataSource", + "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequest": { + "description": "Top-level message sent by the client for the `GenerateGroundedContent` method.", + "id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequest", "properties": { - "estimatorUriPatterns": { - "description": "Required. The URI patterns to estimate the data sizes. At most 10 patterns are allowed, otherwise an INVALID_ARGUMENT error is thrown.", + "contents": { + "description": "Content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history + latest request.", "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequestWebsiteDataSourceEstimatorUriPattern" + "$ref": "GoogleCloudDiscoveryengineV1alphaGroundedGenerationContent" }, "type": "array" + }, + "generationSpec": { + "$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGenerationSpec", + "description": "Content generation specification." + }, + "groundingSpec": { + "$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSpec", + "description": "Grounding specification." + }, + "systemInstruction": { + "$ref": "GoogleCloudDiscoveryengineV1alphaGroundedGenerationContent", + "description": "Content of the system instruction for the current API. These instructions will take priority over any other prompt instructions if the selected model is supporting them." + }, + "userLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", + "type": "object" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequestWebsiteDataSourceEstimatorUriPattern": { - "description": "URI patterns that we use to crawl.", - "id": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequestWebsiteDataSourceEstimatorUriPattern", + "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestDynamicRetrievalConfiguration": { + "description": "Describes the options to customize dynamic retrieval.", + "id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestDynamicRetrievalConfiguration", "properties": { - "exactMatch": { - "description": "Whether we infer the generated URI or use the exact provided one.", - "type": "boolean" - }, - "exclusive": { - "description": "Whether the pattern is exclusive or not. If set to true, the pattern is considered exclusive. If unset or set to false, the pattern is considered inclusive by default.", - "type": "boolean" - }, - "providedUriPattern": { - "description": "User provided URI pattern. For example, `foo.com/bar/*`.", - "type": "string" + "predictor": { + "$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestDynamicRetrievalConfigurationDynamicRetrievalPredictor", + "description": "Specification for the predictor for dynamic retrieval." } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeResponse": { - "description": "Response of the EstimateDataSize request. If the long running operation was successful, then this message is returned by the google.longrunning.Operations.response field if the operation was successful.", - "id": "GoogleCloudDiscoveryengineV1alphaEstimateDataSizeResponse", + "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestDynamicRetrievalConfigurationDynamicRetrievalPredictor": { + "description": "Describes the predictor settings for dynamic retrieval.", + "id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestDynamicRetrievalConfigurationDynamicRetrievalPredictor", "properties": { - "dataSizeBytes": { - "description": "Data size in terms of bytes.", - "format": "int64", - "type": "string" + "threshold": { + "description": "The value of the threshold. If the predictor will predict a value smaller than this, it would suppress grounding in the source.", + "format": "float", + "type": "number" }, - "documentCount": { - "description": "Total number of documents.", - "format": "int64", + "version": { + "description": "The version of the predictor to be used in dynamic retrieval.", + "enum": [ + "VERSION_UNSPECIFIED", + "V1_INDEPENDENT" + ], + "enumDescriptions": [ + "Automatically choose the best version of the retrieval predictor.", + "The V1 model which is evaluating each source independently." + ], "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaEvaluation": { - "description": "An evaluation is a single execution (or run) of an evaluation process. It encapsulates the state of the evaluation and the resulting data.", - "id": "GoogleCloudDiscoveryengineV1alphaEvaluation", + "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGenerationSpec": { + "description": "Content generation specification.", + "id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGenerationSpec", "properties": { - "createTime": { - "description": "Output only. Timestamp the Evaluation was created at.", - "format": "google-datetime", - "readOnly": true, - "type": "string" + "frequencyPenalty": { + "description": "If specified, custom value for frequency penalty will be used.", + "format": "float", + "type": "number" }, - "endTime": { - "description": "Output only. Timestamp the Evaluation was completed at.", - "format": "google-datetime", - "readOnly": true, + "languageCode": { + "description": "Language code for content. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).", "type": "string" }, - "error": { - "$ref": "GoogleRpcStatus", - "description": "Output only. The error that occurred during evaluation. Only populated when the evaluation's state is FAILED.", - "readOnly": true + "maxOutputTokens": { + "description": "If specified, custom value for max output tokens will be used.", + "format": "int32", + "type": "integer" }, - "errorSamples": { - "description": "Output only. A sample of errors encountered while processing the request.", - "items": { - "$ref": "GoogleRpcStatus" - }, - "readOnly": true, - "type": "array" + "modelId": { + "description": "Specifies which Vertex model id to use for generation.", + "type": "string" }, - "evaluationSpec": { - "$ref": "GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpec", - "description": "Required. The specification of the evaluation." + "presencePenalty": { + "description": "If specified, custom value for presence penalty will be used.", + "format": "float", + "type": "number" }, - "name": { - "description": "Identifier. The full resource name of the Evaluation, in the format of `projects/{project}/locations/{location}/evaluations/{evaluation}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", - "type": "string" + "seed": { + "description": "If specified, custom value for the seed will be used.", + "format": "int32", + "type": "integer" }, - "qualityMetrics": { - "$ref": "GoogleCloudDiscoveryengineV1alphaQualityMetrics", - "description": "Output only. The metrics produced by the evaluation, averaged across all SampleQuerys in the SampleQuerySet. Only populated when the evaluation's state is SUCCEEDED.", - "readOnly": true + "temperature": { + "description": "If specified, custom value for the temperature will be used.", + "format": "float", + "type": "number" }, - "state": { - "description": "Output only. The state of the evaluation.", - "enum": [ - "STATE_UNSPECIFIED", - "PENDING", - "RUNNING", - "SUCCEEDED", - "FAILED" - ], - "enumDescriptions": [ - "The evaluation is unspecified.", - "The service is preparing to run the evaluation.", - "The evaluation is in progress.", - "The evaluation completed successfully.", - "The evaluation failed." - ], - "readOnly": true, - "type": "string" + "topK": { + "description": "If specified, custom value for top-k sampling will be used.", + "format": "int32", + "type": "integer" + }, + "topP": { + "description": "If specified, custom value for nucleus sampling will be used.", + "format": "float", + "type": "number" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpec": { - "description": "Describes the specification of the evaluation.", - "id": "GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpec", + "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSource": { + "description": "Grounding source.", + "id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSource", "properties": { - "querySetSpec": { - "$ref": "GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpecQuerySetSpec", - "description": "Required. The specification of the query set." + "googleSearchSource": { + "$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSourceGoogleSearchSource", + "description": "If set, grounding is performed with Google Search." }, - "searchRequest": { - "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequest", - "description": "Required. The search request that is used to perform the evaluation. Only the following fields within SearchRequest are supported; if any other fields are provided, an UNSUPPORTED error will be returned: * SearchRequest.serving_config * SearchRequest.branch * SearchRequest.canonical_filter * SearchRequest.query_expansion_spec * SearchRequest.spell_correction_spec * SearchRequest.content_search_spec * SearchRequest.user_pseudo_id" + "inlineSource": { + "$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSourceInlineSource", + "description": "If set, grounding is performed with inline content." + }, + "searchSource": { + "$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSourceSearchSource", + "description": "If set, grounding is performed with Vertex AI Search." } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpecQuerySetSpec": { - "description": "Describes the specification of the query set.", - "id": "GoogleCloudDiscoveryengineV1alphaEvaluationEvaluationSpecQuerySetSpec", + "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSourceGoogleSearchSource": { + "description": "Google Search config parameters.", + "id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSourceGoogleSearchSource", "properties": { - "sampleQuerySet": { - "description": "Required. The full resource name of the SampleQuerySet used for the evaluation, in the format of `projects/{project}/locations/{location}/sampleQuerySets/{sampleQuerySet}`.", - "type": "string" + "dynamicRetrievalConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestDynamicRetrievalConfiguration", + "description": "Optional. Specifies the dynamic retrieval configuration for the given source." } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaFactChunk": { - "description": "Fact Chunk.", - "id": "GoogleCloudDiscoveryengineV1alphaFactChunk", + "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSourceInlineSource": { + "description": "Message to be used for grounding based on inline content.", + "id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSourceInlineSource", "properties": { - "chunkText": { - "description": "Text content of the fact chunk. Can be at most 10K characters long.", - "type": "string" - }, - "index": { - "description": "The index of this chunk. Currently, only used for the streaming mode.", - "format": "int32", - "type": "integer" - }, - "source": { - "description": "Source from which this fact chunk was retrieved. If it was retrieved from the GroundingFacts provided in the request then this field will contain the index of the specific fact from which this chunk was retrieved.", - "type": "string" - }, - "sourceMetadata": { + "attributes": { "additionalProperties": { "type": "string" }, - "description": "More fine-grained information for the source reference.", + "description": "Attributes associated with the content. Common attributes include `source` (indicating where the content was sourced from) and `author` (indicating the author of the content).", "type": "object" + }, + "groundingFacts": { + "description": "List of facts to be used for grounding.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaGroundingFact" + }, + "type": "array" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaFetchDomainVerificationStatusResponse": { - "description": "Response message for SiteSearchEngineService.FetchDomainVerificationStatus method.", - "id": "GoogleCloudDiscoveryengineV1alphaFetchDomainVerificationStatusResponse", + "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSourceSearchSource": { + "description": "Message to be used for grounding with Vertex AI Search.", + "id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSourceSearchSource", "properties": { - "nextPageToken": { - "description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "filter": { + "description": "Filter expression to be applied to the search. The syntax is the same as SearchRequest.filter.", "type": "string" }, - "targetSites": { - "description": "List of TargetSites containing the site verification status.", - "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaTargetSite" - }, - "type": "array" - }, - "totalSize": { - "description": "The total number of items matching the request. This will always be populated in the response.", + "maxResultCount": { + "description": "Number of search results to return. The default value is 10. The maximumm allowed value is 10.", "format": "int32", "type": "integer" + }, + "safeSearch": { + "description": "If set, safe search is enabled in Vertex AI Search requests.", + "type": "boolean" + }, + "servingConfig": { + "description": "The resource name of the Engine to use. Format: `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/servingConfigs/{serving_config_id}`", + "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaFhirStoreSource": { - "description": "Cloud FhirStore source import data from.", - "id": "GoogleCloudDiscoveryengineV1alphaFhirStoreSource", + "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSpec": { + "description": "Grounding specification.", + "id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSpec", "properties": { - "fhirStore": { - "description": "Required. The full resource name of the FHIR store to import data from, in the format of `projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}`.", - "type": "string" - }, - "gcsStagingDir": { - "description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the FhirStore export to a specific Cloud Storage directory.", - "type": "string" - }, - "resourceTypes": { - "description": "The FHIR resource types to import. The resource types should be a subset of all [supported FHIR resource types](https://cloud.google.com/generative-ai-app-builder/docs/fhir-schema-reference#resource-level-specification). Default to all supported FHIR resource types if empty.", + "groundingSources": { + "description": "Grounding sources.", "items": { - "type": "string" + "$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSource" }, "type": "array" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaFieldConfig": { - "description": "Configurations for fields of a schema. For example, configuring a field is indexable, or searchable.", - "id": "GoogleCloudDiscoveryengineV1alphaFieldConfig", + "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponse": { + "description": "Response for the `GenerateGroundedContent` method.", + "id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponse", "properties": { - "advancedSiteSearchDataSources": { - "description": "If this field is set, only the corresponding source will be indexed for this field. Otherwise, the values from different sources are merged. Assuming a page with `` in meta tag, and `` in page map: if this enum is set to METATAGS, we will only index ``; if this enum is not set, we will merge them and index ``.", + "candidates": { + "description": "Generated candidates.", "items": { - "enum": [ - "ADVANCED_SITE_SEARCH_DATA_SOURCE_UNSPECIFIED", - "METATAGS", - "PAGEMAP", - "URI_PATTERN_MAPPING", - "SCHEMA_ORG" - ], - "enumDescriptions": [ - "Value used when unset.", - "Retrieve value from meta tag.", - "Retrieve value from page map.", - "Retrieve value from the attributes set by SiteSearchEngineService.SetUriPatternDocumentData API.", - "Retrieve value from schema.org data." - ], - "type": "string" + "$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidate" }, "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidate": { + "description": "A response candidate generated from the model.", + "id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidate", + "properties": { + "content": { + "$ref": "GoogleCloudDiscoveryengineV1alphaGroundedGenerationContent", + "description": "Content of the candidate." }, - "completableOption": { - "description": "If completable_option is COMPLETABLE_ENABLED, field values are directly used and returned as suggestions for Autocomplete in CompletionService.CompleteQuery. If completable_option is unset, the server behavior defaults to COMPLETABLE_DISABLED for fields that support setting completable options, which are just `string` fields. For those fields that do not support setting completable options, the server will skip completable option setting, and setting completable_option for those fields will throw `INVALID_ARGUMENT` error.", - "enum": [ - "COMPLETABLE_OPTION_UNSPECIFIED", - "COMPLETABLE_ENABLED", - "COMPLETABLE_DISABLED" - ], - "enumDescriptions": [ - "Value used when unset.", - "Completable option enabled for a schema field.", - "Completable option disabled for a schema field." - ], - "type": "string" + "groundingMetadata": { + "$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadata", + "description": "Grounding metadata for the generated content." }, - "dynamicFacetableOption": { - "description": "If dynamic_facetable_option is DYNAMIC_FACETABLE_ENABLED, field values are available for dynamic facet. Could only be DYNAMIC_FACETABLE_DISABLED if FieldConfig.indexable_option is INDEXABLE_DISABLED. Otherwise, an `INVALID_ARGUMENT` error will be returned. If dynamic_facetable_option is unset, the server behavior defaults to DYNAMIC_FACETABLE_DISABLED for fields that support setting dynamic facetable options. For those fields that do not support setting dynamic facetable options, such as `object` and `boolean`, the server will skip dynamic facetable option setting, and setting dynamic_facetable_option for those fields will throw `INVALID_ARGUMENT` error.", - "enum": [ - "DYNAMIC_FACETABLE_OPTION_UNSPECIFIED", - "DYNAMIC_FACETABLE_ENABLED", - "DYNAMIC_FACETABLE_DISABLED" - ], - "enumDescriptions": [ - "Value used when unset.", - "Dynamic facetable option enabled for a schema field.", - "Dynamic facetable option disabled for a schema field." - ], - "type": "string" + "groundingScore": { + "description": "The overall grounding score for the candidate, in the range of [0, 1].", + "format": "float", + "type": "number" }, - "fieldPath": { - "description": "Required. Field path of the schema field. For example: `title`, `description`, `release_info.release_year`.", - "type": "string" + "index": { + "description": "Index of the candidate.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadata": { + "description": "Citation for the generated content.", + "id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadata", + "properties": { + "groundingSupport": { + "description": "GroundingSupport across all claims in the answer candidate. An support to a fact indicates that the claim is supported by the fact.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataGroundingSupport" + }, + "type": "array" }, - "fieldType": { - "description": "Output only. Raw type of the field.", - "enum": [ - "FIELD_TYPE_UNSPECIFIED", - "OBJECT", - "STRING", - "NUMBER", - "INTEGER", - "BOOLEAN", - "GEOLOCATION", - "DATETIME" - ], - "enumDescriptions": [ - "Field type is unspecified.", - "Field value type is Object.", - "Field value type is String.", - "Field value type is Number.", - "Field value type is Integer.", - "Field value type is Boolean.", - "Field value type is Geolocation. Geolocation is expressed as an object with the following keys: * `id`: a string representing the location id * `longitude`: a number representing the longitude coordinate of the location * `latitude`: a number repesenting the latitude coordinate of the location * `address`: a string representing the full address of the location `latitude` and `longitude` must always be provided together. At least one of a) `address` or b) `latitude`-`longitude` pair must be provided.", - "Field value type is Datetime. Datetime can be expressed as either: * a number representing milliseconds-since-the-epoch * a string representing milliseconds-since-the-epoch. e.g. `\"1420070400001\"` * a string representing the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date or date and time. e.g. `\"2015-01-01\"` or `\"2015-01-01T12:10:30Z\"`" - ], - "readOnly": true, - "type": "string" + "retrievalMetadata": { + "description": "Retrieval metadata to provide an understanding in the retrieval steps performed by the model. There can be multiple such messages which can correspond to different parts of the retrieval. This is a mechanism used to ensure transparency to our users.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataRetrievalMetadata" + }, + "type": "array" }, - "indexableOption": { - "description": "If indexable_option is INDEXABLE_ENABLED, field values are indexed so that it can be filtered or faceted in SearchService.Search. If indexable_option is unset, the server behavior defaults to INDEXABLE_DISABLED for fields that support setting indexable options. For those fields that do not support setting indexable options, such as `object` and `boolean` and key properties, the server will skip indexable_option setting, and setting indexable_option for those fields will throw `INVALID_ARGUMENT` error.", - "enum": [ - "INDEXABLE_OPTION_UNSPECIFIED", - "INDEXABLE_ENABLED", - "INDEXABLE_DISABLED" - ], - "enumDescriptions": [ - "Value used when unset.", - "Indexable option enabled for a schema field.", - "Indexable option disabled for a schema field." - ], - "type": "string" + "searchEntryPoint": { + "$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataSearchEntryPoint", + "description": "Google search entry for the following-up web searches." }, - "keyPropertyType": { - "description": "Output only. Type of the key property that this field is mapped to. Empty string if this is not annotated as mapped to a key property. Example types are `title`, `description`. Full list is defined by `keyPropertyMapping` in the schema field annotation. If the schema field has a `KeyPropertyMapping` annotation, `indexable_option` and `searchable_option` of this field cannot be modified.", - "readOnly": true, - "type": "string" + "supportChunks": { + "description": "List of chunks to be attributed across all claims in the candidate. These are derived from the grounding sources supplied in the request.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaFactChunk" + }, + "type": "array" }, - "metatagName": { - "description": "Optional. The metatag name found in the HTML page. If user defines this field, the value of this metatag name will be used to extract metatag. If the user does not define this field, the FieldConfig.field_path will be used to extract metatag.", - "type": "string" + "webSearchQueries": { + "description": "Web search queries for the following-up web search.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalMetadata": { + "description": "Describes the metadata about dynamic retrieval.", + "id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalMetadata", + "properties": { + "predictorMetadata": { + "$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalPredictorMetadata", + "description": "Metadata for the dynamic retrieval predictor." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalPredictorMetadata": { + "description": "Describes the metadata about the dynamic retrieval predictor.", + "id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalPredictorMetadata", + "properties": { + "prediction": { + "description": "The value of the predictor. This should be between [0, 1] where a value of 0 means that the query would not benefit from grounding, while a value of 1.0 means that the query would benefit the most. In between values allow to differentiate between different usefulness scores for grounding.", + "format": "float", + "type": "number" }, - "recsFilterableOption": { - "description": "If recs_filterable_option is FILTERABLE_ENABLED, field values are filterable by filter expression in RecommendationService.Recommend. If FILTERABLE_ENABLED but the field type is numerical, field values are not filterable by text queries in RecommendationService.Recommend. Only textual fields are supported. If recs_filterable_option is unset, the default setting is FILTERABLE_DISABLED for fields that support setting filterable options. When a field set to [FILTERABLE_DISABLED] is filtered, a warning is generated and an empty result is returned.", + "version": { + "description": "The version of the predictor which was used in dynamic retrieval.", "enum": [ - "FILTERABLE_OPTION_UNSPECIFIED", - "FILTERABLE_ENABLED", - "FILTERABLE_DISABLED" + "VERSION_UNSPECIFIED", + "V1_INDEPENDENT" ], "enumDescriptions": [ - "Value used when unset.", - "Filterable option enabled for a schema field.", - "Filterable option disabled for a schema field." + "Unspecified version, should never be used.", + "The V1 model which is evaluating each source independently." ], "type": "string" - }, - "retrievableOption": { - "description": "If retrievable_option is RETRIEVABLE_ENABLED, field values are included in the search results. If retrievable_option is unset, the server behavior defaults to RETRIEVABLE_DISABLED for fields that support setting retrievable options. For those fields that do not support setting retrievable options, such as `object` and `boolean`, the server will skip retrievable option setting, and setting retrievable_option for those fields will throw `INVALID_ARGUMENT` error.", - "enum": [ - "RETRIEVABLE_OPTION_UNSPECIFIED", - "RETRIEVABLE_ENABLED", - "RETRIEVABLE_DISABLED" - ], - "enumDescriptions": [ - "Value used when unset.", - "Retrievable option enabled for a schema field.", - "Retrievable option disabled for a schema field." - ], + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataGroundingSupport": { + "description": "Grounding info for a claim in the candidate and its support.", + "id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataGroundingSupport", + "properties": { + "claimText": { + "description": "Text for the claim in the candidate. Always provided when a support is found.", "type": "string" }, - "schemaOrgPaths": { - "description": "Field paths for indexing custom attribute from schema.org data. More details of schema.org and its defined types can be found at [schema.org](https://schema.org). It is only used on advanced site search schema. Currently only support full path from root. The full path to a field is constructed by concatenating field names, starting from `_root`, with a period `.` as the delimiter. Examples: * Publish date of the root: _root.datePublished * Publish date of the reviews: _root.review.datePublished", + "supportChunkIndices": { + "description": "A list of indices (into 'support_chunks') specifying the citations associated with the claim. For instance [1,3,4] means that support_chunks[1], support_chunks[3], support_chunks[4] are the chunks attributed to the claim.", "items": { - "type": "string" + "format": "int32", + "type": "integer" }, "type": "array" }, - "searchableOption": { - "description": "If searchable_option is SEARCHABLE_ENABLED, field values are searchable by text queries in SearchService.Search. If SEARCHABLE_ENABLED but field type is numerical, field values will not be searchable by text queries in SearchService.Search, as there are no text values associated to numerical fields. If searchable_option is unset, the server behavior defaults to SEARCHABLE_DISABLED for fields that support setting searchable options. Only `string` fields that have no key property mapping support setting searchable_option. For those fields that do not support setting searchable options, the server will skip searchable option setting, and setting searchable_option for those fields will throw `INVALID_ARGUMENT` error.", + "supportScore": { + "description": "A score in the range of [0, 1] describing how grounded is a specific claim in the support chunks indicated. Higher value means that the claim is better supported by the chunks.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataRetrievalMetadata": { + "description": "Describes the metadata associated with a retrieval step.", + "id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataRetrievalMetadata", + "properties": { + "dynamicRetrievalMetadata": { + "$ref": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalMetadata", + "description": "Metadata for dynamic retrieval." + }, + "source": { + "description": "Describes the source to which the metadata is referring to.", "enum": [ - "SEARCHABLE_OPTION_UNSPECIFIED", - "SEARCHABLE_ENABLED", - "SEARCHABLE_DISABLED" + "SOURCE_UNSPECIFIED", + "VERTEX_AI_SEARCH", + "GOOGLE_SEARCH", + "INLINE_CONTENT", + "GOOGLE_MAPS" ], "enumDescriptions": [ - "Value used when unset.", - "Searchable option enabled for a schema field.", - "Searchable option disabled for a schema field." + "Unspecified source.", + "Vertex AI search.", + "Google Search.", + "User inline provided content.", + "Google Maps." ], "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaFirestoreSource": { - "description": "Firestore source import data from.", - "id": "GoogleCloudDiscoveryengineV1alphaFirestoreSource", + "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataSearchEntryPoint": { + "description": "Google search entry point.", + "id": "GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataSearchEntryPoint", "properties": { - "collectionId": { - "description": "Required. The Firestore collection (or entity) to copy the data from with a length limit of 1,500 characters.", - "type": "string" - }, - "databaseId": { - "description": "Required. The Firestore database to copy the data from with a length limit of 256 characters.", - "type": "string" - }, - "gcsStagingDir": { - "description": "Intermediate Cloud Storage directory used for the import with a length limit of 2,000 characters. Can be specified if one wants to have the Firestore export to a specific Cloud Storage directory. Ensure that the Firestore service account has the necessary Cloud Storage Admin permissions to access the specified Cloud Storage directory.", + "renderedContent": { + "description": "Web content snippet that can be embedded in a web page or an app webview.", "type": "string" }, - "projectId": { - "description": "The project ID that the Cloud SQL source is in with a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", + "sdkBlob": { + "description": "Base64 encoded JSON representing array of tuple.", + "format": "byte", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaGcsSource": { - "description": "Cloud Storage location for input content.", - "id": "GoogleCloudDiscoveryengineV1alphaGcsSource", + "GoogleCloudDiscoveryengineV1alphaGetSessionRequest": { + "description": "Request for GetSession method.", + "id": "GoogleCloudDiscoveryengineV1alphaGetSessionRequest", "properties": { - "dataSchema": { - "description": "The schema to use when parsing the data from the source. Supported values for document imports: * `document` (default): One JSON Document per line. Each document must have a valid Document.id. * `content`: Unstructured data (e.g. PDF, HTML). Each file matched by `input_uris` becomes a document, with the ID set to the first 128 bits of SHA256(URI) encoded as a hex string. * `custom`: One custom data JSON per row in arbitrary format that conforms to the defined Schema of the data store. This can only be used by the GENERIC Data Store vertical. * `csv`: A CSV file with header conforming to the defined Schema of the data store. Each entry after the header is imported as a Document. This can only be used by the GENERIC Data Store vertical. Supported values for user event imports: * `user_event` (default): One JSON UserEvent per line.", - "type": "string" + "includeAnswerDetails": { + "description": "Optional. If set to true, the full session including all answer details will be returned.", + "type": "boolean" }, - "inputUris": { - "description": "Required. Cloud Storage URIs to input files. Each URI can be up to 2000 characters long. URIs can match the full object path (for example, `gs://bucket/directory/object.json`) or a pattern matching one or more files, such as `gs://bucket/directory/*.json`. A request can contain at most 100 files (or 100,000 files if `data_schema` is `content`). Each file can be up to 2 GB (or 100 MB if `data_schema` is `content`).", - "items": { - "type": "string" - }, - "type": "array" + "name": { + "description": "Required. The resource name of the Session to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", + "type": "string" } }, "type": "object" @@ -12952,6 +16112,35 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaGroundedGenerationContent": { + "description": "Base structured datatype containing multi-part content of a message.", + "id": "GoogleCloudDiscoveryengineV1alphaGroundedGenerationContent", + "properties": { + "parts": { + "description": "Ordered `Parts` that constitute a single message.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaGroundedGenerationContentPart" + }, + "type": "array" + }, + "role": { + "description": "Producer of the content. Must be either `user` or `model`. Intended to be used for multi-turn conversations. Otherwise, it can be left unset.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaGroundedGenerationContentPart": { + "description": "Single part of content.", + "id": "GoogleCloudDiscoveryengineV1alphaGroundedGenerationContentPart", + "properties": { + "text": { + "description": "Inline text.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaGroundingFact": { "description": "Grounding Fact.", "id": "GoogleCloudDiscoveryengineV1alphaGroundingFact", @@ -12990,6 +16179,22 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaIdentityScheduleConfig": { + "description": "The configuration for the identity data synchronization runs.", + "id": "GoogleCloudDiscoveryengineV1alphaIdentityScheduleConfig", + "properties": { + "nextSyncTime": { + "$ref": "GoogleTypeDateTime", + "description": "Optional. The UTC time when the next data sync is expected to start for the Data Connector. Customers are only able to specify the hour and minute to schedule the data sync. This is utilized when the data connector has a refresh interval greater than 1 day." + }, + "refreshInterval": { + "description": "Optional. The refresh interval to sync the Access Control List information for the documents ingested by this connector. If not set, the access control list will be refreshed at the default interval of 30 minutes. The identity refresh interval can be at least 30 minutes and at most 7 days.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaIdpConfig": { "description": "Identity Provider Config.", "id": "GoogleCloudDiscoveryengineV1alphaIdpConfig", @@ -13577,6 +16782,56 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaListCmekConfigsResponse": { + "description": "Response message for CmekConfigService.ListCmekConfigs method.", + "id": "GoogleCloudDiscoveryengineV1alphaListCmekConfigsResponse", + "properties": { + "cmekConfigs": { + "description": "All the customer's CmekConfigs.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCmekConfig" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaListCollectionsResponse": { + "description": "Response message for CollectionService.ListCollections method.", + "id": "GoogleCloudDiscoveryengineV1alphaListCollectionsResponse", + "properties": { + "collections": { + "description": "The Collections.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCollection" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as ListCollectionsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaListConnectorRunsResponse": { + "description": "Response for DataConnectorService.ListConnectorRuns method.", + "id": "GoogleCloudDiscoveryengineV1alphaListConnectorRunsResponse", + "properties": { + "connectorRuns": { + "description": "List of ConnectorRuns.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaConnectorRun" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaListControlsResponse": { "description": "Response for ListControls method.", "id": "GoogleCloudDiscoveryengineV1alphaListControlsResponse", @@ -13686,7 +16941,7 @@ "id": "GoogleCloudDiscoveryengineV1alphaListEvaluationResultsResponse", "properties": { "evaluationResults": { - "description": "The EvaluationResults.", + "description": "The evaluation results for the SampleQuerys.", "items": { "$ref": "GoogleCloudDiscoveryengineV1alphaListEvaluationResultsResponseEvaluationResult" }, @@ -13806,6 +17061,34 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaListSessionsRequest": { + "description": "Request for ListSessions method.", + "id": "GoogleCloudDiscoveryengineV1alphaListSessionsRequest", + "properties": { + "filter": { + "description": "A filter to apply on the list results. The supported features are: user_pseudo_id, state. Example: \"user_pseudo_id = some_id\"", + "type": "string" + }, + "orderBy": { + "description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * \"update_time desc\" * \"create_time\" * \"is_pinned desc,update_time desc\": list sessions by is_pinned first, then by update_time.", + "type": "string" + }, + "pageSize": { + "description": "Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", + "format": "int32", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListSessions` call. Provide this to retrieve the subsequent page.", + "type": "string" + }, + "parent": { + "description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaListSessionsResponse": { "description": "Response for ListSessions method.", "id": "GoogleCloudDiscoveryengineV1alphaListSessionsResponse", @@ -13885,6 +17168,66 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaObtainCrawlRateRequest": { + "description": "Request message for CrawlRateManagementService.ObtainCrawlRate method.", + "id": "GoogleCloudDiscoveryengineV1alphaObtainCrawlRateRequest", + "properties": { + "crawlRateScope": { + "description": "Required. The scope of the crawl rate that the user wants to monitor. Currently, only domain and host name are supported. A domain name example: `abc.com`. A host name example: `www.abc.com`. Please do not include `/` in the domain or host name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaObtainCrawlRateResponse": { + "description": "Response message for CrawlRateManagementService.ObtainCrawlRate method. The response contains organcic or dedicated crawl rate time series data for monitoring, depending on whether dedicated crawl rate is set.", + "id": "GoogleCloudDiscoveryengineV1alphaObtainCrawlRateResponse", + "properties": { + "dedicatedCrawlRateTimeSeries": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDedicatedCrawlRateTimeSeries", + "description": "The historical dedicated crawl rate timeseries data, used for monitoring." + }, + "error": { + "$ref": "GoogleRpcStatus", + "description": "Errors from service when handling the request." + }, + "organicCrawlRateTimeSeries": { + "$ref": "GoogleCloudDiscoveryengineV1alphaOrganicCrawlRateTimeSeries", + "description": "The historical organic crawl rate timeseries data, used for monitoring." + }, + "state": { + "description": "Output only. The state of the response.", + "enum": [ + "STATE_UNSPECIFIED", + "SUCCEEDED", + "FAILED" + ], + "enumDescriptions": [ + "The state is unspecified.", + "The state is successful.", + "The state is failed." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaOrganicCrawlRateTimeSeries": { + "description": "The historical organic crawl rate timeseries data, used for monitoring. Organic crawl is auto-determined by Google to crawl the user's website when dedicate crawl is not set. Crawl rate is the QPS of crawl request Google sends to the user's website.", + "id": "GoogleCloudDiscoveryengineV1alphaOrganicCrawlRateTimeSeries", + "properties": { + "googleOrganicCrawlRate": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", + "description": "Google's organic crawl rate time series, which is the sum of all googlebots' crawl rate. Please refer to https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers for more details about googlebots." + }, + "vertexAiOrganicCrawlRate": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", + "description": "Vertex AI's organic crawl rate time series, which is the crawl rate of Google-CloudVertexBot when dedicate crawl is not set. Please refer to https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers#google-cloudvertexbot for more details about Google-CloudVertexBot." + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaPageInfo": { "description": "Detailed page information.", "id": "GoogleCloudDiscoveryengineV1alphaPageInfo", @@ -13916,6 +17259,13 @@ "description": "The display name of the panel.", "type": "string" }, + "documents": { + "description": "Optional. The document IDs associated with this panel.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDocumentInfo" + }, + "type": "array" + }, "panelId": { "description": "Required. The panel ID.", "type": "string" @@ -14281,7 +17631,7 @@ "id": "GoogleCloudDiscoveryengineV1alphaPurgeUserEventsRequest", "properties": { "filter": { - "description": "Required. The filter string to specify the events to be deleted with a length limit of 5,000 characters. The eligible fields for filtering are: * `eventType`: Double quoted UserEvent.event_type string. * `eventTime`: in ISO 8601 \"zulu\" format. * `userPseudoId`: Double quoted string. Specifying this will delete all events associated with a visitor. * `userId`: Double quoted string. Specifying this will delete all events associated with a user. Examples: * Deleting all events in a time range: `eventTime > \"2012-04-23T18:25:43.511Z\" eventTime < \"2012-04-23T18:30:43.511Z\"` * Deleting specific eventType: `eventType = \"search\"` * Deleting all events for a specific visitor: `userPseudoId = \"visitor1024\"` * Deleting all events inside a DataStore: `*` The filtering fields are assumed to have an implicit AND.", + "description": "Required. The filter string to specify the events to be deleted with a length limit of 5,000 characters. The eligible fields for filtering are: * `eventType`: Double quoted UserEvent.event_type string. * `eventTime`: in ISO 8601 \"zulu\" format. * `userPseudoId`: Double quoted string. Specifying this will delete all events associated with a visitor. * `userId`: Double quoted string. Specifying this will delete all events associated with a user. Note: This API only supports purging a max range of 30 days. Examples: * Deleting all events in a time range: `eventTime > \"2012-04-23T18:25:43.511Z\" eventTime < \"2012-04-23T18:30:43.511Z\"` * Deleting specific eventType in a time range: `eventTime > \"2012-04-23T18:25:43.511Z\" eventTime < \"2012-04-23T18:30:43.511Z\" eventType = \"search\"` * Deleting all events for a specific visitor in a time range: `eventTime > \"2012-04-23T18:25:43.511Z\" eventTime < \"2012-04-23T18:30:43.511Z\" userPseudoId = \"visitor1024\"` * Deleting the past 30 days of events inside a DataStore: `*` The filtering fields are assumed to have an implicit AND.", "type": "string" }, "force": { @@ -14437,7 +17787,7 @@ "type": "string" }, "score": { - "description": "The score of this record based on the given query and selected model.", + "description": "The score of this record based on the given query and selected model. The score will be rounded to 2 decimal places. If the score is close to 0, it will be rounded to 0.0001 to avoid returning unset.", "format": "float", "type": "number" }, @@ -14453,7 +17803,7 @@ "id": "GoogleCloudDiscoveryengineV1alphaRecommendRequest", "properties": { "filter": { - "description": "Filter for restricting recommendation results with a length limit of 5,000 characters. Currently, only filter expressions on the `filter_tags` attribute is supported. Examples: * `(filter_tags: ANY(\"Red\", \"Blue\") OR filter_tags: ANY(\"Hot\", \"Cold\"))` * `(filter_tags: ANY(\"Red\", \"Blue\")) AND NOT (filter_tags: ANY(\"Green\"))` If `attributeFilteringSyntax` is set to true under the `params` field, then attribute-based expressions are expected instead of the above described tag-based syntax. Examples: * (launguage: ANY(\"en\", \"es\")) AND NOT (categories: ANY(\"Movie\")) * (available: true) AND (launguage: ANY(\"en\", \"es\")) OR (categories: ANY(\"Movie\")) If your filter blocks all results, the API returns generic (unfiltered) popular Documents. If you only want results strictly matching the filters, set `strictFiltering` to `true` in RecommendRequest.params to receive empty results instead. Note that the API never returns Documents with `storageStatus` as `EXPIRED` or `DELETED` regardless of filter choices.", + "description": "Filter for restricting recommendation results with a length limit of 5,000 characters. Currently, only filter expressions on the `filter_tags` attribute is supported. Examples: * `(filter_tags: ANY(\"Red\", \"Blue\") OR filter_tags: ANY(\"Hot\", \"Cold\"))` * `(filter_tags: ANY(\"Red\", \"Blue\")) AND NOT (filter_tags: ANY(\"Green\"))` If `attributeFilteringSyntax` is set to true under the `params` field, then attribute-based expressions are expected instead of the above described tag-based syntax. Examples: * (language: ANY(\"en\", \"es\")) AND NOT (categories: ANY(\"Movie\")) * (available: true) AND (language: ANY(\"en\", \"es\")) OR (categories: ANY(\"Movie\")) If your filter blocks all results, the API returns generic (unfiltered) popular Documents. If you only want results strictly matching the filters, set `strictFiltering` to `true` in RecommendRequest.params to receive empty results instead. Note that the API never returns Documents with `storageStatus` as `EXPIRED` or `DELETED` regardless of filter choices.", "type": "string" }, "pageSize": { @@ -14547,12 +17897,17 @@ "type": "string" }, "invalidUris": { - "description": "Unique URIs in the request that don't match any TargetSite in the DataStore, only match TargetSites that haven't been fully indexed, or match a TargetSite with type EXCLUDE.", + "description": "Unique URIs in the request that have invalid format. Sample limited to 1000.", "items": { "type": "string" }, "type": "array" }, + "invalidUrisCount": { + "description": "Total number of unique URIs in the request that have invalid format.", + "format": "int32", + "type": "integer" + }, "pendingCount": { "description": "Total number of URIs that have yet to be crawled.", "format": "int32", @@ -14573,6 +17928,18 @@ "format": "google-datetime", "type": "string" }, + "urisNotMatchingTargetSites": { + "description": "Unique URIs in the request that don't match any TargetSite in the DataStore, only match TargetSites that haven't been fully indexed, or match a TargetSite with type EXCLUDE. Sample limited to 1000.", + "items": { + "type": "string" + }, + "type": "array" + }, + "urisNotMatchingTargetSitesCount": { + "description": "Total number of URIs that don't match any TargetSites.", + "format": "int32", + "type": "integer" + }, "validUrisCount": { "description": "Total number of unique URIs in the request that are not in invalid_uris.", "format": "int32", @@ -14586,7 +17953,7 @@ "id": "GoogleCloudDiscoveryengineV1alphaRecrawlUrisRequest", "properties": { "siteCredential": { - "description": "Optional. Full resource name of the SiteCredential, such as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/siteCredentials/*`. Only set to crawl private URIs.", + "description": "Optional. Full resource name of the `SiteCredential`, such as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/siteCredentials/*`. Only set to crawl private URIs.", "type": "string" }, "uris": { @@ -14663,6 +18030,60 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateMetadata": { + "description": "Metadata related to the progress of the CrawlRateManagementService.RemoveDedicatedCrawlRate operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateRequest": { + "description": "Request message for CrawlRateManagementService.RemoveDedicatedCrawlRate method. The user can remove the dedicated crawl rate for a crawl_rate_scope they own, and Google will fall back to organic crawl, and the crawl rate will be determined by Google.", + "id": "GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateRequest", + "properties": { + "crawlRateScope": { + "description": "Required. The scope of the crawl rate change. Currently, only domain and host name are supported. A domain name example: `abc.com`. A host name example: `www.abc.com`. Please do not include `/` in the domain or host name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateResponse": { + "description": "Response message for CrawlRateManagementService.RemoveDedicatedCrawlRate method. It simply returns the state of the response, and an error message if the state is FAILED.", + "id": "GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateResponse", + "properties": { + "error": { + "$ref": "GoogleRpcStatus", + "description": "Errors from service when handling the request." + }, + "state": { + "description": "Output only. The state of the response.", + "enum": [ + "STATE_UNSPECIFIED", + "SUCCEEDED", + "FAILED" + ], + "enumDescriptions": [ + "The state is unspecified.", + "The state is successful.", + "The state is failed." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaReply": { "description": "Defines a reply message to user.", "id": "GoogleCloudDiscoveryengineV1alphaReply", @@ -14763,6 +18184,13 @@ }, "type": "array" }, + "severity": { + "description": "The severity of errors if the requirement is not met. It must be ordered from the most strict to the least strict. Examples: * `BLOCKING` * `CRITICAL` * `WARNING` All thresholds in the requirement must have all the severity here.", + "items": { + "type": "string" + }, + "type": "array" + }, "thresholdBindings": { "description": "A list of threshold bindings to be used in `condition`.", "items": { @@ -14815,21 +18243,34 @@ "description": "Specifies a multi-level threshold to apply to apply to a `metric_bindings` in the `condition` CEL expression.", "id": "GoogleCloudDiscoveryengineV1alphaRequirementThresholdBinding", "properties": { - "blockingThreshold": { - "description": "Threshold to trigger a blocking failure. If not met, the requirement will evaluate as a `FAILURE`.", - "format": "double", - "type": "number" - }, "description": { "description": "Human readable description of the corresponding threshold and sub-requirement.", "type": "string" }, + "thresholdValues": { + "description": "The values of the threshold. The values should be ordered from the most strict to the least strict.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaRequirementThresholdBindingThresholdValue" + }, + "type": "array" + }, "variableId": { "description": "The variable id to be referenced in `condition`. Must be unique across all `metric_bindings` and `threshold_bindings`.", "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaRequirementThresholdBindingThresholdValue": { + "description": "Specifies a threshold value for a given severity.", + "id": "GoogleCloudDiscoveryengineV1alphaRequirementThresholdBindingThresholdValue", + "properties": { + "severity": { + "description": "The severity of errors if the threshold is not met. It should be one of the `severity` fields in the requirement.", + "type": "string" }, - "warningThreshold": { - "description": "Threshold to trigger a warning. If not met, the requirement will evaluate as a `WARNING`.", + "value": { + "description": "The value of the threshold.", "format": "double", "type": "number" } @@ -14861,6 +18302,89 @@ "properties": {}, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaSafetyRating": { + "description": "Safety rating corresponding to the generated content.", + "id": "GoogleCloudDiscoveryengineV1alphaSafetyRating", + "properties": { + "blocked": { + "description": "Output only. Indicates whether the content was filtered out because of this rating.", + "readOnly": true, + "type": "boolean" + }, + "category": { + "description": "Output only. Harm category.", + "enum": [ + "HARM_CATEGORY_UNSPECIFIED", + "HARM_CATEGORY_HATE_SPEECH", + "HARM_CATEGORY_DANGEROUS_CONTENT", + "HARM_CATEGORY_HARASSMENT", + "HARM_CATEGORY_SEXUALLY_EXPLICIT", + "HARM_CATEGORY_CIVIC_INTEGRITY" + ], + "enumDescriptions": [ + "The harm category is unspecified.", + "The harm category is hate speech.", + "The harm category is dangerous content.", + "The harm category is harassment.", + "The harm category is sexually explicit content.", + "The harm category is civic integrity." + ], + "readOnly": true, + "type": "string" + }, + "probability": { + "description": "Output only. Harm probability levels in the content.", + "enum": [ + "HARM_PROBABILITY_UNSPECIFIED", + "NEGLIGIBLE", + "LOW", + "MEDIUM", + "HIGH" + ], + "enumDescriptions": [ + "Harm probability unspecified.", + "Negligible level of harm.", + "Low level of harm.", + "Medium level of harm.", + "High level of harm." + ], + "readOnly": true, + "type": "string" + }, + "probabilityScore": { + "description": "Output only. Harm probability score.", + "format": "float", + "readOnly": true, + "type": "number" + }, + "severity": { + "description": "Output only. Harm severity levels in the content.", + "enum": [ + "HARM_SEVERITY_UNSPECIFIED", + "HARM_SEVERITY_NEGLIGIBLE", + "HARM_SEVERITY_LOW", + "HARM_SEVERITY_MEDIUM", + "HARM_SEVERITY_HIGH" + ], + "enumDescriptions": [ + "Harm severity unspecified.", + "Negligible level of harm severity.", + "Low level of harm severity.", + "Medium level of harm severity.", + "High level of harm severity." + ], + "readOnly": true, + "type": "string" + }, + "severityScore": { + "description": "Output only. Harm severity score.", + "format": "float", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaSampleQuery": { "description": "Sample Query captures metadata to be used for evaluation.", "id": "GoogleCloudDiscoveryengineV1alphaSampleQuery", @@ -15000,6 +18524,33 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaSearchLinkPromotion": { + "description": "Promotion proto includes uri and other helping information to display the promotion.", + "id": "GoogleCloudDiscoveryengineV1alphaSearchLinkPromotion", + "properties": { + "description": { + "description": "Optional. The Promotion description. Maximum length: 200 characters.", + "type": "string" + }, + "enabled": { + "description": "Optional. The enabled promotion will be returned for any serving configs associated with the parent of the control this promotion is attached to. This flag is used for basic site search only.", + "type": "boolean" + }, + "imageUri": { + "description": "Optional. The promotion thumbnail image url.", + "type": "string" + }, + "title": { + "description": "Required. The title of the promotion. Maximum length: 160 characters.", + "type": "string" + }, + "uri": { + "description": "Required. The URL for the page the user wants to promote.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaSearchRequest": { "description": "Request message for SearchService.Search method.", "id": "GoogleCloudDiscoveryengineV1alphaSearchRequest", @@ -15025,7 +18576,7 @@ "description": "Custom fine tuning configs. If set, it has higher priority than the configs set in ServingConfig.custom_fine_tuning_spec." }, "dataStoreSpecs": { - "description": "Specs defining dataStores to filter on in a search call and configurations for those dataStores. This is only considered for engines with multiple dataStores use case. For single dataStore within an engine, they should use the specs at the top level.", + "description": "Specs defining DataStores to filter on in a search call and configurations for those data stores. This is only considered for Engines with multiple data stores. For engines with a single data store, the specs directly under SearchRequest should be used.", "items": { "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec" }, @@ -15063,6 +18614,11 @@ "format": "int32", "type": "integer" }, + "oneBoxPageSize": { + "description": "The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default number is 10.", + "format": "int32", + "type": "integer" + }, "orderBy": { "description": "The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering the website search results, see [Order web search results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results). For more information on ordering the healthcare search results, see [Order healthcare search results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results). If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.", "type": "string" @@ -15279,7 +18835,7 @@ "enumDescriptions": [ "Default value.", "Returns documents in the search result.", - "Returns chunks in the search result. Only available if the DataStore.DocumentProcessingConfig.chunking_config is specified." + "Returns chunks in the search result. Only available if the DocumentProcessingConfig.chunking_config is specified." ], "type": "string" }, @@ -15438,6 +18994,10 @@ "description": "A struct to define data stores to filter on in a search call and configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error is returned.", "id": "GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec", "properties": { + "boostSpec": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec", + "description": "Optional. Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results)" + }, "dataStore": { "description": "Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`.", "type": "string" @@ -15572,14 +19132,14 @@ "id": "GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec", "properties": { "filterExtractionCondition": { - "description": "The condition under which filter extraction should occur. Default to Condition.DISABLED.", + "description": "The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`.", "enum": [ "CONDITION_UNSPECIFIED", "DISABLED", "ENABLED" ], "enumDescriptions": [ - "Server behavior defaults to Condition.DISABLED.", + "Server behavior defaults to `DISABLED`.", "Disables NL filter extraction.", "Enables NL filter extraction." ], @@ -15765,6 +19325,13 @@ }, "type": "array" }, + "searchLinkPromotions": { + "description": "Promotions for site search.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSearchLinkPromotion" + }, + "type": "array" + }, "sessionInfo": { "$ref": "GoogleCloudDiscoveryengineV1alphaSearchResponseSessionInfo", "description": "Session information. Only set if SearchRequest.session is provided. See its description for more details." @@ -16410,8 +19977,15 @@ "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestPersonalizationSpec", "description": "The specification for personalization spec. Notice that if both ServingConfig.personalization_spec and SearchRequest.personalization_spec are set, SearchRequest.personalization_spec overrides ServingConfig.personalization_spec." }, + "promoteControlIds": { + "description": "Condition promote specifications. Maximum number of specifications is 100.", + "items": { + "type": "string" + }, + "type": "array" + }, "rankingExpression": { - "description": "The ranking expression controls the customized ranking on retrieval documents. To leverage this, document embedding is required. The ranking expression setting in ServingConfig applies to all search requests served by the serving config. However, if SearchRequest.ranking_expression is specified, it overrides the ServingConfig ranking expression. The ranking expression is a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between embedding_field_path and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`.", + "description": "The ranking expression controls the customized ranking on retrieval documents. To leverage this, document embedding is required. The ranking expression setting in ServingConfig applies to all search requests served by the serving config. However, if `SearchRequest.ranking_expression` is specified, it overrides the ServingConfig ranking expression. The ranking expression is a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between embedding_field_path and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`.", "type": "string" }, "redirectControlIds": { @@ -16462,17 +20036,6 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaServingConfigDataStore": { - "description": "Stores information regarding the serving configurations at DataStore level.", - "id": "GoogleCloudDiscoveryengineV1alphaServingConfigDataStore", - "properties": { - "disabledForServing": { - "description": "If set true, the DataStore will not be available for serving search requests.", - "type": "boolean" - } - }, - "type": "object" - }, "GoogleCloudDiscoveryengineV1alphaServingConfigGenericConfig": { "description": "Specifies the configurations needed for Generic Discovery.Currently we support: * `content_search_spec`: configuration for generic content search.", "id": "GoogleCloudDiscoveryengineV1alphaServingConfigGenericConfig", @@ -16503,6 +20066,11 @@ "format": "float", "type": "number" }, + "demoteContentWatchedPastDays": { + "description": "Optional. Specifies the number of days to look back for demoting watched content. If set to zero or unset, defaults to the maximum of 365 days.", + "format": "int32", + "type": "integer" + }, "demotionEventType": { "description": "Specifies the event type used for demoting recommendation result. Currently supported values: * `view-item`: Item viewed. * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. If unset, watch history demotion will not be applied. Content freshness demotion will still be applied.", "type": "string" @@ -16514,12 +20082,20 @@ "description": "External session proto definition.", "id": "GoogleCloudDiscoveryengineV1alphaSession", "properties": { + "displayName": { + "description": "Optional. The display name of the session. This field is used to identify the session in the UI. By default, the display name is the first turn query text in the session.", + "type": "string" + }, "endTime": { "description": "Output only. The time the session finished.", "format": "google-datetime", "readOnly": true, "type": "string" }, + "isPinned": { + "description": "Optional. Whether the session is pinned, pinned session will be displayed on the top of the session list.", + "type": "boolean" + }, "name": { "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", "type": "string" @@ -16534,39 +20110,156 @@ "description": "The state of the session.", "enum": [ "STATE_UNSPECIFIED", - "IN_PROGRESS" + "IN_PROGRESS" + ], + "enumDescriptions": [ + "State is unspecified.", + "The session is currently open." + ], + "type": "string" + }, + "turns": { + "description": "Turns.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSessionTurn" + }, + "type": "array" + }, + "userPseudoId": { + "description": "A unique identifier for tracking users.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaSessionTurn": { + "description": "Represents a turn, including a query from the user and a answer from service.", + "id": "GoogleCloudDiscoveryengineV1alphaSessionTurn", + "properties": { + "answer": { + "description": "The resource name of the answer to the user query. Only set if the answer generation (/answer API call) happened in this turn.", + "type": "string" + }, + "detailedAnswer": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswer", + "description": "Output only. In ConversationalSearchService.GetSession API, if GetSessionRequest.include_answer_details is set to true, this field will be populated when getting answer query session.", + "readOnly": true + }, + "query": { + "$ref": "GoogleCloudDiscoveryengineV1alphaQuery", + "description": "The user query." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateMetadata": { + "description": "Metadata related to the progress of the CrawlRateManagementService.SetDedicatedCrawlRate operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateRequest": { + "description": "Request message for CrawlRateManagementService.SetDedicatedCrawlRate method. The user can set the crawl rate for a crawl_rate_scope they own. They can set up an overall crawl rate, or set up a user-triggered crawl rate and a auto-refresh crawl rate separately. If an overall crawl rate is set, Vertex AI will automatically splits crawl_rate into user-triggered and auto-refresh.", + "id": "GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateRequest", + "properties": { + "crawlRate": { + "description": "Optional. The crawl QPS set by the user. It is not guaranteed that Vertex crawl bot will crawl at this QPS. If the crawl rate is too high, the real QPS may be lower than the value set by the user to avoid overloading the user's website.", + "format": "int32", + "type": "integer" + }, + "crawlRateScope": { + "description": "Required. The scope of the crawl rate that the user wants to config. Currently, only domain and host name are supported. A domain name example: `abc.com`. A host name example: `www.abc.com`. Please do not include `/` in the domain or host name.", + "type": "string" + }, + "crawlType": { + "description": "Optional. Whether it’s the crawl rate of user-triggered or auto-refresh.", + "enum": [ + "CRAWL_TYPE_UNSPECIFIED", + "USER_TRIGGERED", + "AUTO_REFRESH" + ], + "enumDescriptions": [ + "The crawl type is unspecified.", + "The crawl type is user-triggered.", + "The crawl type is auto-refresh." + ], + "type": "string" + }, + "mode": { + "description": "Optional. Whether the rate is explicitly set by users, or set by vertex AI.", + "enum": [ + "MODE_UNSPECIFIED", + "AUTOMATIC", + "EXPLICIT" + ], + "enumDescriptions": [ + "The mode is unspecified. If the user does not specify the mode, default to AUTOMATIC.", + "Vertex AI automatically splits crawl_rate into user-triggered and auto-refresh. Users don't need to specify SetDedicatedCrawlRateRequest.CrawlType if the mode is AUTOMATIC.", + "Users explicitly set user-triggered or auto-refresh crawl rate." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateResponse": { + "description": "Response message for CrawlRateManagementService.SetDedicatedCrawlRate method. It simply returns the state of the response, and an error message if the state is FAILED.", + "id": "GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateResponse", + "properties": { + "error": { + "$ref": "GoogleRpcStatus", + "description": "Errors from service when handling the request." + }, + "state": { + "description": "Output only. The state of the response.", + "enum": [ + "STATE_UNSPECIFIED", + "SUCCEEDED", + "FAILED" ], "enumDescriptions": [ - "State is unspecified.", - "The session is currently open." + "The state is unspecified.", + "The state is successful.", + "The state is failed." ], - "type": "string" - }, - "turns": { - "description": "Turns.", - "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaSessionTurn" - }, - "type": "array" - }, - "userPseudoId": { - "description": "A unique identifier for tracking users.", + "readOnly": true, "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaSessionTurn": { - "description": "Represents a turn, including a query from the user and a answer from service.", - "id": "GoogleCloudDiscoveryengineV1alphaSessionTurn", + "GoogleCloudDiscoveryengineV1alphaSetUpDataConnectorMetadata": { + "description": "Metadata for DataConnectorService.SetUpDataConnector method.", + "id": "GoogleCloudDiscoveryengineV1alphaSetUpDataConnectorMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaSetUpDataConnectorRequest": { + "description": "Request for DataConnectorService.SetUpDataConnector method.", + "id": "GoogleCloudDiscoveryengineV1alphaSetUpDataConnectorRequest", "properties": { - "answer": { - "description": "The resource name of the answer to the user query. Only set if the answer generation (/answer API call) happened in this turn.", + "collectionDisplayName": { + "description": "Required. The display name of the Collection. Should be human readable, used to display collections in the Console Dashboard. UTF-8 encoded string with limit of 1024 characters.", "type": "string" }, - "query": { - "$ref": "GoogleCloudDiscoveryengineV1alphaQuery", - "description": "The user query." + "collectionId": { + "description": "Required. The ID to use for the Collection, which will become the final component of the Collection's resource name. A new Collection is created as part of the DataConnector setup. DataConnector is a singleton resource under Collection, managing all DataStores of the Collection. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an INVALID_ARGUMENT error is returned.", + "type": "string" + }, + "dataConnector": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDataConnector", + "description": "Required. The DataConnector to initialize in the newly created Collection." } }, "type": "object" @@ -16624,6 +20317,17 @@ "properties": {}, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaSingleRegionKey": { + "description": "Metadata for single-regional CMEKs.", + "id": "GoogleCloudDiscoveryengineV1alphaSingleRegionKey", + "properties": { + "kmsKey": { + "description": "Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaSiteSearchEngine": { "description": "SiteSearchEngine captures DataStore level site search persisting configurations. It is a singleton value per data store.", "id": "GoogleCloudDiscoveryengineV1alphaSiteSearchEngine", @@ -16663,6 +20367,28 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaSitemap": { + "description": "A sitemap for the SiteSearchEngine.", + "id": "GoogleCloudDiscoveryengineV1alphaSitemap", + "properties": { + "createTime": { + "description": "Output only. The sitemap's creation time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The fully qualified resource name of the sitemap. `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/sitemaps/*` The `sitemap_id` suffix is system-generated.", + "readOnly": true, + "type": "string" + }, + "uri": { + "description": "Public URI for the sitemap, e.g. `www.example.com/sitemap.xml`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaSpannerSource": { "description": "The Spanner source for importing data", "id": "GoogleCloudDiscoveryengineV1alphaSpannerSource", @@ -16690,6 +20416,36 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaStartConnectorRunRequest": { + "description": "Request message for DataConnectorService.StartConnectorRun method.", + "id": "GoogleCloudDiscoveryengineV1alphaStartConnectorRunRequest", + "properties": { + "entities": { + "description": "Specifies which Third Party Connector entities should be synced. If not specified, all entities will be synced.", + "items": { + "type": "string" + }, + "type": "array" + }, + "healthcareFhirResourceTypes": { + "description": "The FHIR resource types to import. The resource types should be a subset of all [supported FHIR resource types](https://cloud.google.com/generative-ai-app-builder/docs/fhir-schema-reference#resource-level-specification). Default to all supported FHIR resource types if empty.", + "items": { + "type": "string" + }, + "type": "array" + }, + "syncIdentity": { + "description": "If true, trigger Identity sync.", + "type": "boolean" + }, + "syncSinceTimestamp": { + "description": "Timestamp to indicate the point in time from which data should be synced for Streaming/Batch Data Connectors. This field is only utilized for Healthcare Connectors.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaSuggestionDenyListEntry": { "description": "Suggestion deny list entry identifying the phrase to block from suggestions and the applied operation for the phrase.", "id": "GoogleCloudDiscoveryengineV1alphaSuggestionDenyListEntry", @@ -16720,7 +20476,7 @@ "id": "GoogleCloudDiscoveryengineV1alphaTargetSite", "properties": { "exactMatch": { - "description": "Input only. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine.", + "description": "Immutable. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine.", "type": "boolean" }, "failureReason": { @@ -16987,6 +20743,40 @@ "properties": {}, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaUpdateCmekConfigMetadata": { + "description": "Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaUpdateCmekConfigMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaUpdateCollectionMetadata": { + "description": "Metadata related to the progress of the CollectionService.UpdateCollection operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaUpdateCollectionMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaUpdateSchemaMetadata": { "description": "Metadata for UpdateSchema LRO.", "id": "GoogleCloudDiscoveryengineV1alphaUpdateSchemaMetadata", @@ -17004,6 +20794,22 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaUpdateSessionRequest": { + "description": "Request for UpdateSession method.", + "id": "GoogleCloudDiscoveryengineV1alphaUpdateSessionRequest", + "properties": { + "session": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSession", + "description": "Required. The Session to update." + }, + "updateMask": { + "description": "Indicates which fields in the provided Session to update. The following are NOT supported: * Session.name If not set or empty, all supported fields are updated.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaUpdateTargetSiteMetadata": { "description": "Metadata related to the progress of the SiteSearchEngineService.UpdateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1alphaUpdateTargetSiteMetadata", @@ -17040,6 +20846,10 @@ "$ref": "GoogleCloudDiscoveryengineV1alphaCompletionInfo", "description": "CompletionService.CompleteQuery details related to the event. This field should be set for `search` event when autocomplete function is enabled and the user clicks a suggestion for search." }, + "conversionType": { + "description": "Optional. Conversion type. Required if UserEvent.event_type is `conversion`. This is a customer-defined conversion name in lowercase letters or numbers separated by \"-\", such as \"watch\", \"good-visit\" etc. Do not set the field if UserEvent.event_type is not `conversion`. This mixes the custom conversion event with predefined events like `search`, `view-item` etc.", + "type": "string" + }, "dataStore": { "description": "The DataStore resource full name, of the form `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. Optional. Only required for user events whose data store can't by determined by UserEvent.engine or UserEvent.documents. If data store is set in the parent of write/import/collect user event requests, this field can be omitted.", "type": "string" @@ -17065,7 +20875,7 @@ "type": "string" }, "eventType": { - "description": "Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc.", + "description": "Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans * `add-feedback`: Add a user feedback. Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event.", "type": "string" }, "filter": { @@ -17084,6 +20894,13 @@ "$ref": "GoogleCloudDiscoveryengineV1alphaPanelInfo", "description": "Panel metadata associated with this user event." }, + "panels": { + "description": "Optional. List of panels associated with this event. Used for page-level impression data.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaPanelInfo" + }, + "type": "array" + }, "promotionIds": { "description": "The promotion IDs if this is an event associated with promotions. Currently, this field is restricted to at most one ID.", "items": { @@ -17179,6 +20996,21 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaAdvancedSiteSearchConfig": { + "description": "Configuration data for advance site search.", + "id": "GoogleCloudDiscoveryengineV1betaAdvancedSiteSearchConfig", + "properties": { + "disableAutomaticRefresh": { + "description": "If set true, automatic refresh is disabled for the DataStore.", + "type": "boolean" + }, + "disableInitialIndex": { + "description": "If set true, initial indexing is disabled for the DataStore.", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaBatchCreateTargetSiteMetadata": { "description": "Metadata related to the progress of the SiteSearchEngineService.BatchCreateTargetSites operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1betaBatchCreateTargetSiteMetadata", @@ -17210,6 +21042,66 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaCmekConfig": { + "description": "Configurations used to enable CMEK data encryption with Cloud KMS keys.", + "id": "GoogleCloudDiscoveryengineV1betaCmekConfig", + "properties": { + "isDefault": { + "description": "Output only. The default CmekConfig for the Customer.", + "readOnly": true, + "type": "boolean" + }, + "kmsKey": { + "description": "Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", + "type": "string" + }, + "kmsKeyVersion": { + "description": "Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.", + "type": "string" + }, + "lastRotationTimestampMicros": { + "description": "Output only. The timestamp of the last key rotation.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", + "type": "string" + }, + "singleRegionKeys": { + "description": "Optional. Single-regional CMEKs that are required for some VAIS features.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1betaSingleRegionKey" + }, + "type": "array" + }, + "state": { + "description": "Output only. State of the CmekConfig.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "KEY_ISSUE", + "DELETING", + "UNUSABLE", + "ACTIVE_ROTATING" + ], + "enumDescriptions": [ + "The CmekConfig state is unknown.", + "The CmekConfig is creating.", + "The CmekConfig can be used with DataStores.", + "The CmekConfig is unavailable, most likely due to the KMS Key being revoked.", + "The CmekConfig is deleting.", + "The CmekConfig is not usable, most likely due to some internal issue.", + "The KMS key version is being rotated." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaCondition": { "description": "Defines circumstances to be checked before allowing a behavior", "id": "GoogleCloudDiscoveryengineV1betaCondition", @@ -17221,8 +21113,12 @@ }, "type": "array" }, + "queryRegex": { + "description": "Optional. Query regex to match the whole search query. Cannot be set when Condition.query_terms is set. This is currently supporting promotion use case.", + "type": "string" + }, "queryTerms": { - "description": "Search only A list of terms to match the query on. Maximum of 10 query terms.", + "description": "Search only A list of terms to match the query on. Cannot be set when Condition.query_regex is set. Maximum of 10 query terms.", "items": { "$ref": "GoogleCloudDiscoveryengineV1betaConditionQueryTerm" }, @@ -17298,6 +21194,10 @@ "description": "Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*`", "type": "string" }, + "promoteAction": { + "$ref": "GoogleCloudDiscoveryengineV1betaControlPromoteAction", + "description": "Promote certain links based on predefined trigger queries. This now only supports basic site search." + }, "redirectAction": { "$ref": "GoogleCloudDiscoveryengineV1betaControlRedirectAction", "description": "Defines a redirect-type control." @@ -17349,7 +21249,8 @@ "id": "GoogleCloudDiscoveryengineV1betaControlBoostAction", "properties": { "boost": { - "description": "Required. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", + "deprecated": true, + "description": "Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", "format": "float", "type": "number" }, @@ -17360,6 +21261,11 @@ "filter": { "description": "Required. Specifies which products to apply the boost to. If no filter is provided all products will be boosted (No-op). Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", "type": "string" + }, + "fixedBoost": { + "description": "Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", + "format": "float", + "type": "number" } }, "type": "object" @@ -17379,6 +21285,21 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaControlPromoteAction": { + "description": "Promote certain links based on some trigger queries. Example: Promote shoe store link when searching for `shoe` keyword. The link can be outside of associated data store.", + "id": "GoogleCloudDiscoveryengineV1betaControlPromoteAction", + "properties": { + "dataStore": { + "description": "Required. Data store with which this promotion is attached to.", + "type": "string" + }, + "searchLinkPromotion": { + "$ref": "GoogleCloudDiscoveryengineV1betaSearchLinkPromotion", + "description": "Required. Promotion attached to this action." + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaControlRedirectAction": { "description": "Redirects a shopper to the provided URI.", "id": "GoogleCloudDiscoveryengineV1betaControlRedirectAction", @@ -17440,105 +21361,55 @@ }, "GoogleCloudDiscoveryengineV1betaCreateEvaluationMetadata": { "description": "Metadata for EvaluationService.CreateEvaluation method.", - "id": "GoogleCloudDiscoveryengineV1betaCreateEvaluationMetadata", - "properties": {}, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1betaCreateSchemaMetadata": { - "description": "Metadata for Create Schema LRO.", - "id": "GoogleCloudDiscoveryengineV1betaCreateSchemaMetadata", - "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", - "type": "string" - }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1betaCreateTargetSiteMetadata": { - "description": "Metadata related to the progress of the SiteSearchEngineService.CreateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1betaCreateTargetSiteMetadata", - "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", - "type": "string" - }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudDiscoveryengineV1betaCustomTuningModel": { - "description": "Metadata that describes a custom tuned model.", - "id": "GoogleCloudDiscoveryengineV1betaCustomTuningModel", - "properties": { - "createTime": { - "deprecated": true, - "description": "Timestamp the Model was created at.", - "format": "google-datetime", - "type": "string" - }, - "displayName": { - "description": "The display name of the model.", - "type": "string" - }, - "errorMessage": { - "description": "Currently this is only populated if the model state is `INPUT_VALIDATION_FAILED`.", - "type": "string" - }, - "metrics": { - "additionalProperties": { - "format": "double", - "type": "number" - }, - "description": "The metrics of the trained model.", - "type": "object" - }, - "modelState": { - "description": "The state that the model is in (e.g.`TRAINING` or `TRAINING_FAILED`).", - "enum": [ - "MODEL_STATE_UNSPECIFIED", - "TRAINING_PAUSED", - "TRAINING", - "TRAINING_COMPLETE", - "READY_FOR_SERVING", - "TRAINING_FAILED", - "NO_IMPROVEMENT", - "INPUT_VALIDATION_FAILED" - ], - "enumDescriptions": [ - "Default value.", - "The model is in a paused training state.", - "The model is currently training.", - "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.", - "Input data validation failed. Model training didn't start." - ], + "id": "GoogleCloudDiscoveryengineV1betaCreateEvaluationMetadata", + "properties": {}, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaCreateSchemaMetadata": { + "description": "Metadata for Create Schema LRO.", + "id": "GoogleCloudDiscoveryengineV1betaCreateSchemaMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", "type": "string" }, - "modelVersion": { - "description": "The version of the model.", - "format": "int64", + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaCreateSitemapMetadata": { + "description": "Metadata related to the progress of the SiteSearchEngineService.CreateSitemap operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1betaCreateSitemapMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", "type": "string" }, - "name": { - "description": "Required. The fully qualified resource name of the model. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/customTuningModels/{custom_tuning_model}`. Model must be an alpha-numerical string with limit of 40 characters.", + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaCreateTargetSiteMetadata": { + "description": "Metadata related to the progress of the SiteSearchEngineService.CreateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1betaCreateTargetSiteMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", "type": "string" }, - "trainingStartTime": { - "description": "Timestamp the model training was initiated.", + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", "format": "google-datetime", "type": "string" } @@ -17549,11 +21420,20 @@ "description": "DataStore captures global settings and configs at the DataStore level.", "id": "GoogleCloudDiscoveryengineV1betaDataStore", "properties": { + "advancedSiteSearchConfig": { + "$ref": "GoogleCloudDiscoveryengineV1betaAdvancedSiteSearchConfig", + "description": "Optional. Configuration for advanced site search." + }, "billingEstimation": { "$ref": "GoogleCloudDiscoveryengineV1betaDataStoreBillingEstimation", "description": "Output only. Data size estimation for billing.", "readOnly": true }, + "cmekConfig": { + "$ref": "GoogleCloudDiscoveryengineV1betaCmekConfig", + "description": "Output only. CMEK-related information for the DataStore.", + "readOnly": true + }, "contentConfig": { "description": "Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.", "enum": [ @@ -17607,6 +21487,14 @@ ], "type": "string" }, + "isInfobotFaqDataStore": { + "description": "Optional. If set, this DataStore is an Infobot FAQ DataStore.", + "type": "boolean" + }, + "kmsKeyName": { + "description": "Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field.", + "type": "string" + }, "languageInfo": { "$ref": "GoogleCloudDiscoveryengineV1betaLanguageInfo", "description": "Language info for DataStore." @@ -17620,7 +21508,7 @@ "description": "Optional. Configuration for Natural Language Query Understanding." }, "servingConfigDataStore": { - "$ref": "GoogleCloudDiscoveryengineV1betaServingConfigDataStore", + "$ref": "GoogleCloudDiscoveryengineV1betaDataStoreServingConfigDataStore", "description": "Optional. Stores serving config at DataStore level." }, "solutionTypes": { @@ -17692,6 +21580,17 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaDataStoreServingConfigDataStore": { + "description": "Stores information regarding the serving configurations at DataStore level.", + "id": "GoogleCloudDiscoveryengineV1betaDataStoreServingConfigDataStore", + "properties": { + "disabledForServing": { + "description": "If set true, the DataStore will not be available for serving search requests.", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaDeleteDataStoreMetadata": { "description": "Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1betaDeleteDataStoreMetadata", @@ -17726,6 +21625,23 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaDeleteIdentityMappingStoreMetadata": { + "description": "Metadata related to the progress of the IdentityMappingStoreService.DeleteIdentityMappingStore operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1betaDeleteIdentityMappingStoreMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaDeleteSchemaMetadata": { "description": "Metadata for DeleteSchema LRO.", "id": "GoogleCloudDiscoveryengineV1betaDeleteSchemaMetadata", @@ -17743,6 +21659,23 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaDeleteSitemapMetadata": { + "description": "Metadata related to the progress of the SiteSearchEngineService.DeleteSitemap operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1betaDeleteSitemapMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaDeleteTargetSiteMetadata": { "description": "Metadata related to the progress of the SiteSearchEngineService.DeleteTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1betaDeleteTargetSiteMetadata", @@ -17784,7 +21717,7 @@ "type": "object" }, "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig": { - "description": "A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config.", + "description": "A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser.", "id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig", "properties": { "chunkingConfig": { @@ -17948,7 +21881,7 @@ "type": "string" }, "industryVertical": { - "description": "The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to `GENERIC`. Vertical on Engine has to match vertical of the DataStore linked to the engine.", + "description": "The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.", "enum": [ "INDUSTRY_VERTICAL_UNSPECIFIED", "GENERIC", @@ -18184,6 +22117,31 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaFetchSitemapsResponse": { + "description": "Response message for SiteSearchEngineService.FetchSitemaps method.", + "id": "GoogleCloudDiscoveryengineV1betaFetchSitemapsResponse", + "properties": { + "sitemapsMetadata": { + "description": "List of Sitemaps fetched.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata": { + "description": "Contains a Sitemap and its metadata.", + "id": "GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata", + "properties": { + "sitemap": { + "$ref": "GoogleCloudDiscoveryengineV1betaSitemap", + "description": "The Sitemap." + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaImportCompletionSuggestionsMetadata": { "description": "Metadata related to the progress of the ImportCompletionSuggestions operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1betaImportCompletionSuggestionsMetadata", @@ -18489,20 +22447,6 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1betaListCustomModelsResponse": { - "description": "Response message for SearchTuningService.ListCustomModels method.", - "id": "GoogleCloudDiscoveryengineV1betaListCustomModelsResponse", - "properties": { - "models": { - "description": "List of custom tuning models.", - "items": { - "$ref": "GoogleCloudDiscoveryengineV1betaCustomTuningModel" - }, - "type": "array" - } - }, - "type": "object" - }, "GoogleCloudDiscoveryengineV1betaNaturalLanguageQueryUnderstandingConfig": { "description": "Configuration for Natural Language Query Understanding.", "id": "GoogleCloudDiscoveryengineV1betaNaturalLanguageQueryUnderstandingConfig", @@ -18767,6 +22711,33 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaSearchLinkPromotion": { + "description": "Promotion proto includes uri and other helping information to display the promotion.", + "id": "GoogleCloudDiscoveryengineV1betaSearchLinkPromotion", + "properties": { + "description": { + "description": "Optional. The Promotion description. Maximum length: 200 characters.", + "type": "string" + }, + "enabled": { + "description": "Optional. The enabled promotion will be returned for any serving configs associated with the parent of the control this promotion is attached to. This flag is used for basic site search only.", + "type": "boolean" + }, + "imageUri": { + "description": "Optional. The promotion thumbnail image url.", + "type": "string" + }, + "title": { + "description": "Required. The title of the promotion. Maximum length: 160 characters.", + "type": "string" + }, + "uri": { + "description": "Required. The URL for the page the user wants to promote.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaSearchRequest": { "description": "Request message for SearchService.Search method.", "id": "GoogleCloudDiscoveryengineV1betaSearchRequest", @@ -18788,7 +22759,7 @@ "description": "A specification for configuring the behavior of content search." }, "dataStoreSpecs": { - "description": "Specs defining dataStores to filter on in a search call and configurations for those dataStores. This is only considered for engines with multiple dataStores use case. For single dataStore within an engine, they should use the specs at the top level.", + "description": "Specs defining DataStores to filter on in a search call and configurations for those data stores. This is only considered for Engines with multiple data stores. For engines with a single data store, the specs directly under SearchRequest should be used.", "items": { "$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec" }, @@ -18826,6 +22797,11 @@ "format": "int32", "type": "integer" }, + "oneBoxPageSize": { + "description": "The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default number is 10.", + "format": "int32", + "type": "integer" + }, "orderBy": { "description": "The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering the website search results, see [Order web search results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results). For more information on ordering the healthcare search results, see [Order healthcare search results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results). If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.", "type": "string" @@ -19042,7 +23018,7 @@ "enumDescriptions": [ "Default value.", "Returns documents in the search result.", - "Returns chunks in the search result. Only available if the DataStore.DocumentProcessingConfig.chunking_config is specified." + "Returns chunks in the search result. Only available if the DocumentProcessingConfig.chunking_config is specified." ], "type": "string" }, @@ -19201,6 +23177,10 @@ "description": "A struct to define data stores to filter on in a search call and configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error is returned.", "id": "GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec", "properties": { + "boostSpec": { + "$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec", + "description": "Optional. Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results)" + }, "dataStore": { "description": "Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`.", "type": "string" @@ -19335,14 +23315,14 @@ "id": "GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec", "properties": { "filterExtractionCondition": { - "description": "The condition under which filter extraction should occur. Default to Condition.DISABLED.", + "description": "The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`.", "enum": [ "CONDITION_UNSPECIFIED", "DISABLED", "ENABLED" ], "enumDescriptions": [ - "Server behavior defaults to Condition.DISABLED.", + "Server behavior defaults to `DISABLED`.", "Disables NL filter extraction.", "Enables NL filter extraction." ], @@ -19462,13 +23442,13 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1betaServingConfigDataStore": { - "description": "Stores information regarding the serving configurations at DataStore level.", - "id": "GoogleCloudDiscoveryengineV1betaServingConfigDataStore", + "GoogleCloudDiscoveryengineV1betaSingleRegionKey": { + "description": "Metadata for single-regional CMEKs.", + "id": "GoogleCloudDiscoveryengineV1betaSingleRegionKey", "properties": { - "disabledForServing": { - "description": "If set true, the DataStore will not be available for serving search requests.", - "type": "boolean" + "kmsKey": { + "description": "Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", + "type": "string" } }, "type": "object" @@ -19501,12 +23481,34 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaSitemap": { + "description": "A sitemap for the SiteSearchEngine.", + "id": "GoogleCloudDiscoveryengineV1betaSitemap", + "properties": { + "createTime": { + "description": "Output only. The sitemap's creation time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The fully qualified resource name of the sitemap. `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/sitemaps/*` The `sitemap_id` suffix is system-generated.", + "readOnly": true, + "type": "string" + }, + "uri": { + "description": "Public URI for the sitemap, e.g. `www.example.com/sitemap.xml`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaTargetSite": { "description": "A target site for the SiteSearchEngine.", "id": "GoogleCloudDiscoveryengineV1betaTargetSite", "properties": { "exactMatch": { - "description": "Input only. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine.", + "description": "Immutable. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine.", "type": "boolean" }, "failureReason": { @@ -19822,6 +23824,110 @@ }, "type": "object" }, + "GoogleMonitoringV3Point": { + "description": "A single data point in a time series.", + "id": "GoogleMonitoringV3Point", + "properties": { + "interval": { + "$ref": "GoogleMonitoringV3TimeInterval", + "description": "The time interval to which the data point applies. For `GAUGE` metrics, the start time is optional, but if it is supplied, it must equal the end time. For `DELTA` metrics, the start and end time should specify a non-zero interval, with subsequent points specifying contiguous and non-overlapping intervals. For `CUMULATIVE` metrics, the start and end time should specify a non-zero interval, with subsequent points specifying the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points." + }, + "value": { + "$ref": "GoogleMonitoringV3TypedValue", + "description": "The value of the data point." + } + }, + "type": "object" + }, + "GoogleMonitoringV3TimeInterval": { + "description": "A time interval extending just after a start time through an end time. If the start time is the same as the end time, then the interval represents a single point in time.", + "id": "GoogleMonitoringV3TimeInterval", + "properties": { + "endTime": { + "description": "Required. The end of the time interval.", + "format": "google-datetime", + "type": "string" + }, + "startTime": { + "description": "Optional. The beginning of the time interval. The default value for the start time is the end time. The start time must not be later than the end time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleMonitoringV3TimeSeries": { + "description": "A collection of data points that describes the time-varying values of a metric. A time series is identified by a combination of a fully-specified monitored resource and a fully-specified metric. This type is used for both listing and creating time series.", + "id": "GoogleMonitoringV3TimeSeries", + "properties": { + "description": { + "description": "Input only. A detailed description of the time series that will be associated with the google.api.MetricDescriptor for the metric. Once set, this field cannot be changed through CreateTimeSeries.", + "type": "string" + }, + "metadata": { + "$ref": "GoogleApiMonitoredResourceMetadata", + "description": "Output only. The associated monitored resource metadata. When reading a time series, this field will include metadata labels that are explicitly named in the reduction. When creating a time series, this field is ignored." + }, + "metric": { + "$ref": "GoogleApiMetric", + "description": "The associated metric. A fully-specified metric used to identify the time series." + }, + "metricKind": { + "description": "The metric kind of the time series. When listing time series, this metric kind might be different from the metric kind of the associated metric if this time series is an alignment or reduction of other time series. When creating a time series, this field is optional. If present, it must be the same as the metric kind of the associated metric. If the associated metric's descriptor must be auto-created, then this field specifies the metric kind of the new descriptor and must be either `GAUGE` (the default) or `CUMULATIVE`.", + "enum": [ + "METRIC_KIND_UNSPECIFIED", + "GAUGE", + "DELTA", + "CUMULATIVE" + ], + "enumDescriptions": [ + "Do not use this default value.", + "An instantaneous measurement of a value.", + "The change in a value during a time interval.", + "A value accumulated over a time interval. Cumulative measurements in a time series should have the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points." + ], + "type": "string" + }, + "points": { + "description": "The data points of this time series. When listing time series, points are returned in reverse time order. When creating a time series, this field must contain exactly one point and the point's type must be the same as the value type of the associated metric. If the associated metric's descriptor must be auto-created, then the value type of the descriptor is determined by the point's type, which must be `BOOL`, `INT64`, `DOUBLE`, or `DISTRIBUTION`.", + "items": { + "$ref": "GoogleMonitoringV3Point" + }, + "type": "array" + }, + "resource": { + "$ref": "GoogleApiMonitoredResource", + "description": "The associated monitored resource. Custom metrics can use only certain monitored resource types in their time series data. For more information, see [Monitored resources for custom metrics](https://cloud.google.com/monitoring/custom-metrics/creating-metrics#custom-metric-resources)." + }, + "unit": { + "description": "The units in which the metric value is reported. It is only applicable if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit` defines the representation of the stored metric values. This field can only be changed through CreateTimeSeries when it is empty.", + "type": "string" + }, + "valueType": { + "description": "The value type of the time series. When listing time series, this value type might be different from the value type of the associated metric if this time series is an alignment or reduction of other time series. When creating a time series, this field is optional. If present, it must be the same as the type of the data in the `points` field.", + "enum": [ + "VALUE_TYPE_UNSPECIFIED", + "BOOL", + "INT64", + "DOUBLE", + "STRING", + "DISTRIBUTION", + "MONEY" + ], + "enumDescriptions": [ + "Do not use this default value.", + "The value is a boolean. This value type can be used only if the metric kind is `GAUGE`.", + "The value is a signed 64-bit integer.", + "The value is a double precision floating point number.", + "The value is a text string. This value type can be used only if the metric kind is `GAUGE`.", + "The value is a `Distribution`.", + "The value is money." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleMonitoringV3TypedValue": { "description": "A single strongly-typed value.", "id": "GoogleMonitoringV3TypedValue", @@ -19906,6 +24012,57 @@ }, "type": "object" }, + "GoogleTypeDateTime": { + "description": "Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations.", + "id": "GoogleTypeDateTime", + "properties": { + "day": { + "description": "Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day.", + "format": "int32", + "type": "integer" + }, + "hours": { + "description": "Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "format": "int32", + "type": "integer" + }, + "minutes": { + "description": "Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.", + "format": "int32", + "type": "integer" + }, + "month": { + "description": "Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month.", + "format": "int32", + "type": "integer" + }, + "nanos": { + "description": "Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0.", + "format": "int32", + "type": "integer" + }, + "seconds": { + "description": "Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds.", + "format": "int32", + "type": "integer" + }, + "timeZone": { + "$ref": "GoogleTypeTimeZone", + "description": "Time zone." + }, + "utcOffset": { + "description": "UTC offset. Must be whole seconds, between -18 hours and +18 hours. For example, a UTC offset of -4:00 would be represented as { seconds: -14400 }.", + "format": "google-duration", + "type": "string" + }, + "year": { + "description": "Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GoogleTypeExpr": { "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", "id": "GoogleTypeExpr", @@ -19928,6 +24085,21 @@ } }, "type": "object" + }, + "GoogleTypeTimeZone": { + "description": "Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).", + "id": "GoogleTypeTimeZone", + "properties": { + "id": { + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", + "type": "string" + }, + "version": { + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", + "type": "string" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/discovery/discoveryengine-v1beta.json b/discovery/discoveryengine-v1beta.json index 304df5016c..325333e640 100644 --- a/discovery/discoveryengine-v1beta.json +++ b/discovery/discoveryengine-v1beta.json @@ -15,6 +15,28 @@ "description": "Discovery Engine API.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/generative-ai-app-builder/docs/", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://discoveryengine.asia-northeast1.rep.googleapis.com/", + "location": "asia-northeast1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://discoveryengine.europe-west2.rep.googleapis.com/", + "location": "europe-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://discoveryengine.us.rep.googleapis.com/", + "location": "us" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://discoveryengine.eu.rep.googleapis.com/", + "location": "eu" + } + ], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -138,6 +160,36 @@ }, "resources": { "locations": { + "methods": { + "generateGroundedContent": { + "description": "Generates grounded content.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}:generateGroundedContent", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.generateGroundedContent", + "parameterOrder": [ + "location" + ], + "parameters": { + "location": { + "description": "Required. Location resource. Format: `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+location}:generateGroundedContent", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, "resources": { "collections": { "resources": { @@ -271,6 +323,11 @@ "parent" ], "parameters": { + "cmekConfigName": { + "description": "Resource name of the CmekConfig to use for protecting this DataStore.", + "location": "query", + "type": "string" + }, "createAdvancedSiteSearch": { "description": "A boolean flag indicating whether user want to directly create an advanced data store for site search. If the data store is not configured as site search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will be ignored.", "location": "query", @@ -281,6 +338,11 @@ "location": "query", "type": "string" }, + "disableCmek": { + "description": "DataStore without CMEK protections. If a default CmekConfig is set for the project, setting this field will override the default CmekConfig as well.", + "location": "query", + "type": "boolean" + }, "parent": { "description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}`.", "location": "path", @@ -538,7 +600,7 @@ ], "parameters": { "documentId": { - "description": "Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", + "description": "Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", "location": "query", "type": "string" }, @@ -747,7 +809,7 @@ "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`.", + "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": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/branches/{branchesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "discoveryengine.projects.locations.collections.dataStores.branches.operations.cancel", @@ -844,6 +906,38 @@ } } }, + "completionConfig": { + "methods": { + "completeQuery": { + "description": "Completes the user input with advanced keyword suggestions.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/completionConfig:completeQuery", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.dataStores.completionConfig.completeQuery", + "parameterOrder": [ + "completionConfig" + ], + "parameters": { + "completionConfig": { + "description": "Required. The completion_config of the parent dataStore or engine resource name for which the completion is performed, such as `projects/*/locations/global/collections/default_collection/dataStores/*/completionConfig` `projects/*/locations/global/collections/default_collection/engines/*/completionConfig`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/completionConfig$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+completionConfig}:completeQuery", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "completionSuggestions": { "methods": { "import": { @@ -1837,6 +1931,62 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "searchLite": { + "description": "Performs a search. Similar to the SearchService.Search method, but a lite version that allows API key for authentication, where OAuth and IAM checks are not required. Only public website search is supported by this method. If data stores and engines not associated with public website search are specified, a `FAILED_PRECONDITION` error is returned. This method can be used for easy onboarding without having to implement an authentication backend. However, it is strongly recommended to use SearchService.Search instead with required OAuth and IAM checks to provide better data security.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:searchLite", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.dataStores.servingConfigs.searchLite", + "parameterOrder": [ + "servingConfig" + ], + "parameters": { + "servingConfig": { + "description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+servingConfig}:searchLite", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1betaSearchRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1betaSearchResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "streamAnswer": { + "description": "Answer query method (streaming). It takes one AnswerQueryRequest and returns multiple AnswerQueryResponse messages in a stream.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:streamAnswer", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.dataStores.servingConfigs.streamAnswer", + "parameterOrder": [ + "servingConfig" + ], + "parameters": { + "servingConfig": { + "description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+servingConfig}:streamAnswer", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } }, @@ -1904,6 +2054,11 @@ "name" ], "parameters": { + "includeAnswerDetails": { + "description": "Optional. If set to true, the full session including all answer details will be returned.", + "location": "query", + "type": "boolean" + }, "name": { "description": "Required. The resource name of the Session to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", "location": "path", @@ -1935,7 +2090,7 @@ "type": "string" }, "orderBy": { - "description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` Example: \"update_time desc\" \"create_time\"", + "description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * \"update_time desc\" * \"create_time\" * \"is_pinned desc,update_time desc\": list sessions by is_pinned first, then by update_time.", "location": "query", "type": "string" }, @@ -2255,6 +2410,63 @@ } } }, + "sitemaps": { + "methods": { + "create": { + "description": "Creates a Sitemap.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/sitemaps", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.sitemaps.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Parent resource name of the SiteSearchEngine, such as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/sitemaps", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1betaSitemap" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a Sitemap.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/dataStores/{dataStoresId}/siteSearchEngine/sitemaps/{sitemapsId}", + "httpMethod": "DELETE", + "id": "discoveryengine.projects.locations.collections.dataStores.siteSearchEngine.sitemaps.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Full resource name of Sitemap, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/sitemaps/{sitemap}`. If the caller does not have permission to access the Sitemap, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested Sitemap does not exist, a NOT_FOUND error is returned.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+/siteSearchEngine/sitemaps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "targetSites": { "methods": { "batchCreate": { @@ -2581,7 +2793,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent DataStore resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", + "description": "Required. The parent resource name. If the collect user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the collect user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/dataStores/[^/]+$", "required": true, @@ -2945,6 +3157,38 @@ } }, "resources": { + "completionConfig": { + "methods": { + "completeQuery": { + "description": "Completes the user input with advanced keyword suggestions.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/completionConfig:completeQuery", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.engines.completionConfig.completeQuery", + "parameterOrder": [ + "completionConfig" + ], + "parameters": { + "completionConfig": { + "description": "Required. The completion_config of the parent dataStore or engine resource name for which the completion is performed, such as `projects/*/locations/global/collections/default_collection/dataStores/*/completionConfig` `projects/*/locations/global/collections/default_collection/engines/*/completionConfig`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/completionConfig$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+completionConfig}:completeQuery", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "controls": { "methods": { "create": { @@ -3547,6 +3791,62 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "searchLite": { + "description": "Performs a search. Similar to the SearchService.Search method, but a lite version that allows API key for authentication, where OAuth and IAM checks are not required. Only public website search is supported by this method. If data stores and engines not associated with public website search are specified, a `FAILED_PRECONDITION` error is returned. This method can be used for easy onboarding without having to implement an authentication backend. However, it is strongly recommended to use SearchService.Search instead with required OAuth and IAM checks to provide better data security.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}:searchLite", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.engines.servingConfigs.searchLite", + "parameterOrder": [ + "servingConfig" + ], + "parameters": { + "servingConfig": { + "description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+servingConfig}:searchLite", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1betaSearchRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1betaSearchResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "streamAnswer": { + "description": "Answer query method (streaming). It takes one AnswerQueryRequest and returns multiple AnswerQueryResponse messages in a stream.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/collections/{collectionsId}/engines/{enginesId}/servingConfigs/{servingConfigsId}:streamAnswer", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.collections.engines.servingConfigs.streamAnswer", + "parameterOrder": [ + "servingConfig" + ], + "parameters": { + "servingConfig": { + "description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/collections/[^/]+/engines/[^/]+/servingConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+servingConfig}:streamAnswer", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } }, @@ -3614,6 +3914,11 @@ "name" ], "parameters": { + "includeAnswerDetails": { + "description": "Optional. If set to true, the full session including all answer details will be returned.", + "location": "query", + "type": "boolean" + }, "name": { "description": "Required. The resource name of the Session to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", "location": "path", @@ -3645,7 +3950,7 @@ "type": "string" }, "orderBy": { - "description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` Example: \"update_time desc\" \"create_time\"", + "description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * \"update_time desc\" * \"create_time\" * \"is_pinned desc,update_time desc\": list sessions by is_pinned first, then by update_time.", "location": "query", "type": "string" }, @@ -3873,6 +4178,11 @@ "parent" ], "parameters": { + "cmekConfigName": { + "description": "Resource name of the CmekConfig to use for protecting this DataStore.", + "location": "query", + "type": "string" + }, "createAdvancedSiteSearch": { "description": "A boolean flag indicating whether user want to directly create an advanced data store for site search. If the data store is not configured as site search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will be ignored.", "location": "query", @@ -3883,6 +4193,11 @@ "location": "query", "type": "string" }, + "disableCmek": { + "description": "DataStore without CMEK protections. If a default CmekConfig is set for the project, setting this field will override the default CmekConfig as well.", + "location": "query", + "type": "boolean" + }, "parent": { "description": "Required. The parent resource name, such as `projects/{project}/locations/{location}/collections/{collection}`.", "location": "path", @@ -4112,7 +4427,7 @@ ], "parameters": { "documentId": { - "description": "Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", + "description": "Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", "location": "query", "type": "string" }, @@ -4321,7 +4636,7 @@ "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`.", + "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": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/branches/{branchesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "discoveryengine.projects.locations.dataStores.branches.operations.cancel", @@ -4418,6 +4733,38 @@ } } }, + "completionConfig": { + "methods": { + "completeQuery": { + "description": "Completes the user input with advanced keyword suggestions.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/completionConfig:completeQuery", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.dataStores.completionConfig.completeQuery", + "parameterOrder": [ + "completionConfig" + ], + "parameters": { + "completionConfig": { + "description": "Required. The completion_config of the parent dataStore or engine resource name for which the completion is performed, such as `projects/*/locations/global/collections/default_collection/dataStores/*/completionConfig` `projects/*/locations/global/collections/default_collection/engines/*/completionConfig`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/completionConfig$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+completionConfig}:completeQuery", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "completionSuggestions": { "methods": { "import": { @@ -5310,34 +5657,90 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] - } - } - }, - "sessions": { - "methods": { - "create": { - "description": "Creates a Session. If the Session to create already exists, an ALREADY_EXISTS error is returned.", - "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/sessions", + }, + "searchLite": { + "description": "Performs a search. Similar to the SearchService.Search method, but a lite version that allows API key for authentication, where OAuth and IAM checks are not required. Only public website search is supported by this method. If data stores and engines not associated with public website search are specified, a `FAILED_PRECONDITION` error is returned. This method can be used for easy onboarding without having to implement an authentication backend. However, it is strongly recommended to use SearchService.Search instead with required OAuth and IAM checks to provide better data security.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:searchLite", "httpMethod": "POST", - "id": "discoveryengine.projects.locations.dataStores.sessions.create", + "id": "discoveryengine.projects.locations.dataStores.servingConfigs.searchLite", "parameterOrder": [ - "parent" + "servingConfig" ], "parameters": { - "parent": { - "description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", + "servingConfig": { + "description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", "required": true, "type": "string" } }, - "path": "v1beta/{+parent}/sessions", + "path": "v1beta/{+servingConfig}:searchLite", "request": { - "$ref": "GoogleCloudDiscoveryengineV1betaSession" + "$ref": "GoogleCloudDiscoveryengineV1betaSearchRequest" }, "response": { - "$ref": "GoogleCloudDiscoveryengineV1betaSession" + "$ref": "GoogleCloudDiscoveryengineV1betaSearchResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "streamAnswer": { + "description": "Answer query method (streaming). It takes one AnswerQueryRequest and returns multiple AnswerQueryResponse messages in a stream.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/servingConfigs/{servingConfigsId}:streamAnswer", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.dataStores.servingConfigs.streamAnswer", + "parameterOrder": [ + "servingConfig" + ], + "parameters": { + "servingConfig": { + "description": "Required. The resource name of the Search serving config, such as `projects/*/locations/global/collections/default_collection/engines/*/servingConfigs/default_serving_config`, or `projects/*/locations/global/collections/default_collection/dataStores/*/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/servingConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+servingConfig}:streamAnswer", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequest" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "sessions": { + "methods": { + "create": { + "description": "Creates a Session. If the Session to create already exists, an ALREADY_EXISTS error is returned.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/sessions", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.dataStores.sessions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Full resource name of parent data store. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/sessions", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1betaSession" + }, + "response": { + "$ref": "GoogleCloudDiscoveryengineV1betaSession" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -5377,6 +5780,11 @@ "name" ], "parameters": { + "includeAnswerDetails": { + "description": "Optional. If set to true, the full session including all answer details will be returned.", + "location": "query", + "type": "boolean" + }, "name": { "description": "Required. The resource name of the Session to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", "location": "path", @@ -5408,7 +5816,7 @@ "type": "string" }, "orderBy": { - "description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` Example: \"update_time desc\" \"create_time\"", + "description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * \"update_time desc\" * \"create_time\" * \"is_pinned desc,update_time desc\": list sessions by is_pinned first, then by update_time.", "location": "query", "type": "string" }, @@ -5594,6 +6002,94 @@ } }, "resources": { + "sitemaps": { + "methods": { + "create": { + "description": "Creates a Sitemap.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/sitemaps", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.sitemaps.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Parent resource name of the SiteSearchEngine, such as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/sitemaps", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1betaSitemap" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a Sitemap.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/sitemaps/{sitemapsId}", + "httpMethod": "DELETE", + "id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.sitemaps.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Full resource name of Sitemap, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/sitemaps/{sitemap}`. If the caller does not have permission to access the Sitemap, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested Sitemap does not exist, a NOT_FOUND error is returned.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine/sitemaps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "fetch": { + "description": "Fetch Sitemaps in a DataStore.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/dataStores/{dataStoresId}/siteSearchEngine/sitemaps:fetch", + "httpMethod": "GET", + "id": "discoveryengine.projects.locations.dataStores.siteSearchEngine.sitemaps.fetch", + "parameterOrder": [ + "parent" + ], + "parameters": { + "matcher.urisMatcher.uris": { + "description": "The Sitemap uris.", + "location": "query", + "repeated": true, + "type": "string" + }, + "parent": { + "description": "Required. Parent resource name of the SiteSearchEngine, such as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+/siteSearchEngine$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/sitemaps:fetch", + "response": { + "$ref": "GoogleCloudDiscoveryengineV1betaFetchSitemapsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "targetSites": { "methods": { "batchCreate": { @@ -5848,7 +6344,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent DataStore resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", + "description": "Required. The parent resource name. If the collect user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the collect user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/dataStores/[^/]+$", "required": true, @@ -6067,14 +6563,14 @@ ], "parameters": { "evaluation": { - "description": "Required. The evaluation resource name, such as `projects/{project}/locations/{location}/evaluations/{evaluation}`. If the caller does not have permission to list EvaluationResult under this evaluation, regardless of whether or not this evaluation set exists, a `PERMISSION_DENIED` error is returned.", + "description": "Required. The evaluation resource name, such as `projects/{project}/locations/{location}/evaluations/{evaluation}`. If the caller does not have permission to list ListEvaluationResultsResponse.EvaluationResult under this evaluation, regardless of whether or not this evaluation set exists, a `PERMISSION_DENIED` error is returned.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/evaluations/[^/]+$", "required": true, "type": "string" }, "pageSize": { - "description": "Maximum number of EvaluationResult to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned.", + "description": "Maximum number of ListEvaluationResultsResponse.EvaluationResult to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned.", "format": "int32", "location": "query", "type": "integer" @@ -6725,7 +7221,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent DataStore resource name, such as `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`.", + "description": "Required. The parent resource name. If the collect user event action is applied in DataStore level, the format is: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`. If the collect user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project}/locations/{location}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -6750,6 +7246,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "import": { + "description": "Bulk import of user events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata is of type ImportMetadata.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/userEvents:import", + "httpMethod": "POST", + "id": "discoveryengine.projects.locations.userEvents.import", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Parent DataStore resource name, of the form `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/userEvents:import", + "request": { + "$ref": "GoogleCloudDiscoveryengineV1betaImportUserEventsRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "write": { "description": "Writes a single user event.", "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/userEvents:write", @@ -6860,120 +7384,346 @@ } } }, - "revision": "20240930", + "revision": "20250107", "rootUrl": "https://discoveryengine.googleapis.com/", "schemas": { - "GoogleApiHttpBody": { - "description": "Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.", - "id": "GoogleApiHttpBody", + "GoogleApiDistribution": { + "description": "`Distribution` contains summary statistics for a population of values. It optionally contains a histogram representing the distribution of those values across a set of buckets. The summary statistics are the count, mean, sum of the squared deviation from the mean, the minimum, and the maximum of the set of population of values. The histogram is based on a sequence of buckets and gives a count of values that fall into each bucket. The boundaries of the buckets are given either explicitly or by formulas for buckets of fixed or exponentially increasing widths. Although it is not forbidden, it is generally a bad idea to include non-finite values (infinities or NaNs) in the population of values, as this will render the `mean` and `sum_of_squared_deviation` fields meaningless.", + "id": "GoogleApiDistribution", "properties": { - "contentType": { - "description": "The HTTP Content-Type header value specifying the content type of the body.", - "type": "string" + "bucketCounts": { + "description": "The number of values in each bucket of the histogram, as described in `bucket_options`. If the distribution does not have a histogram, then omit this field. If there is a histogram, then the sum of the values in `bucket_counts` must equal the value in the `count` field of the distribution. If present, `bucket_counts` should contain N values, where N is the number of buckets specified in `bucket_options`. If you supply fewer than N values, the remaining values are assumed to be 0. The order of the values in `bucket_counts` follows the bucket numbering schemes described for the three bucket types. The first value must be the count for the underflow bucket (number 0). The next N-2 values are the counts for the finite buckets (number 1 through N-2). The N'th value in `bucket_counts` is the count for the overflow bucket (number N-1).", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" }, - "data": { - "description": "The HTTP request/response body as raw binary.", - "format": "byte", + "bucketOptions": { + "$ref": "GoogleApiDistributionBucketOptions", + "description": "Defines the histogram bucket boundaries. If the distribution does not contain a histogram, then omit this field." + }, + "count": { + "description": "The number of values in the population. Must be non-negative. This value must equal the sum of the values in `bucket_counts` if a histogram is provided.", + "format": "int64", "type": "string" }, - "extensions": { - "description": "Application specific response metadata. Must be set in the first response for streaming APIs.", + "exemplars": { + "description": "Must be in increasing order of `value` field.", "items": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "type": "object" + "$ref": "GoogleApiDistributionExemplar" }, "type": "array" + }, + "mean": { + "description": "The arithmetic mean of the values in the population. If `count` is zero then this field must be zero.", + "format": "double", + "type": "number" + }, + "range": { + "$ref": "GoogleApiDistributionRange", + "description": "If specified, contains the range of the population values. The field must not be present if the `count` is zero." + }, + "sumOfSquaredDeviation": { + "description": "The sum of squared deviations from the mean of the values in the population. For values x_i this is: Sum[i=1..n]((x_i - mean)^2) Knuth, \"The Art of Computer Programming\", Vol. 2, page 232, 3rd edition describes Welford's method for accumulating this sum in one pass. If `count` is zero then this field must be zero.", + "format": "double", + "type": "number" } }, "type": "object" }, - "GoogleCloudDiscoveryengineLoggingErrorContext": { - "description": "A description of the context in which an error occurred.", - "id": "GoogleCloudDiscoveryengineLoggingErrorContext", + "GoogleApiDistributionBucketOptions": { + "description": "`BucketOptions` describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. `BucketOptions` does not include the number of values in each bucket. A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i > 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite.", + "id": "GoogleApiDistributionBucketOptions", "properties": { - "httpRequest": { - "$ref": "GoogleCloudDiscoveryengineLoggingHttpRequestContext", - "description": "The HTTP request which was processed when the error was triggered." + "explicitBuckets": { + "$ref": "GoogleApiDistributionBucketOptionsExplicit", + "description": "The explicit buckets." }, - "reportLocation": { - "$ref": "GoogleCloudDiscoveryengineLoggingSourceLocation", - "description": "The location in the source code where the decision was made to report the error, usually the place where it was logged." + "exponentialBuckets": { + "$ref": "GoogleApiDistributionBucketOptionsExponential", + "description": "The exponential buckets." + }, + "linearBuckets": { + "$ref": "GoogleApiDistributionBucketOptionsLinear", + "description": "The linear bucket." } }, "type": "object" }, - "GoogleCloudDiscoveryengineLoggingErrorLog": { - "description": "An error log which is reported to the Error Reporting system.", - "id": "GoogleCloudDiscoveryengineLoggingErrorLog", + "GoogleApiDistributionBucketOptionsExplicit": { + "description": "Specifies a set of buckets with arbitrary widths. There are `size(bounds) + 1` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 <= i < N-1): bounds[i] Lower bound (1 <= i < N); bounds[i - 1] The `bounds` field must contain at least one element. If `bounds` has only one element, then there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets.", + "id": "GoogleApiDistributionBucketOptionsExplicit", "properties": { - "context": { - "$ref": "GoogleCloudDiscoveryengineLoggingErrorContext", - "description": "A description of the context in which the error occurred." - }, - "importPayload": { - "$ref": "GoogleCloudDiscoveryengineLoggingImportErrorContext", - "description": "The error payload that is populated on LRO import APIs." - }, - "message": { - "description": "A message describing the error.", - "type": "string" - }, - "requestPayload": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" - }, - "description": "The API request payload, represented as a protocol buffer. Most API request types are supported—for example: * `type.googleapis.com/google.cloud.discoveryengine.v1alpha.DocumentService.CreateDocumentRequest` * `type.googleapis.com/google.cloud.discoveryengine.v1alpha.UserEventService.WriteUserEventRequest`", - "type": "object" - }, - "responsePayload": { - "additionalProperties": { - "description": "Properties of the object.", - "type": "any" + "bounds": { + "description": "The values must be monotonically increasing.", + "items": { + "format": "double", + "type": "number" }, - "description": "The API response payload, represented as a protocol buffer. This is used to log some \"soft errors\", where the response is valid but we consider there are some quality issues like unjoined events. The following API responses are supported, and no PII is included: * `google.cloud.discoveryengine.v1alpha.RecommendationService.Recommend` * `google.cloud.discoveryengine.v1alpha.UserEventService.WriteUserEvent` * `google.cloud.discoveryengine.v1alpha.UserEventService.CollectUserEvent`", - "type": "object" - }, - "serviceContext": { - "$ref": "GoogleCloudDiscoveryengineLoggingServiceContext", - "description": "The service context in which this error has occurred." - }, - "status": { - "$ref": "GoogleRpcStatus", - "description": "The RPC status associated with the error log." + "type": "array" } }, "type": "object" }, - "GoogleCloudDiscoveryengineLoggingHttpRequestContext": { - "description": "HTTP request data that is related to a reported error.", - "id": "GoogleCloudDiscoveryengineLoggingHttpRequestContext", + "GoogleApiDistributionBucketOptionsExponential": { + "description": "Specifies an exponential sequence of buckets that have a width that is proportional to the value of the lower bound. Each bucket represents a constant relative uncertainty on a specific value in the bucket. There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 <= i < N-1): scale * (growth_factor ^ i). Lower bound (1 <= i < N): scale * (growth_factor ^ (i - 1)).", + "id": "GoogleApiDistributionBucketOptionsExponential", "properties": { - "responseStatusCode": { - "description": "The HTTP response status code for the request.", + "growthFactor": { + "description": "Must be greater than 1.", + "format": "double", + "type": "number" + }, + "numFiniteBuckets": { + "description": "Must be greater than 0.", "format": "int32", "type": "integer" + }, + "scale": { + "description": "Must be greater than 0.", + "format": "double", + "type": "number" } }, "type": "object" }, - "GoogleCloudDiscoveryengineLoggingImportErrorContext": { - "description": "The error payload that is populated on LRO import APIs, including the following: * `google.cloud.discoveryengine.v1alpha.DocumentService.ImportDocuments` * `google.cloud.discoveryengine.v1alpha.UserEventService.ImportUserEvents`", - "id": "GoogleCloudDiscoveryengineLoggingImportErrorContext", + "GoogleApiDistributionBucketOptionsLinear": { + "description": "Specifies a linear sequence of buckets that all have the same width (except overflow and underflow). Each bucket represents a constant absolute uncertainty on the specific value in the bucket. There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 <= i < N-1): offset + (width * i). Lower bound (1 <= i < N): offset + (width * (i - 1)).", + "id": "GoogleApiDistributionBucketOptionsLinear", "properties": { - "document": { - "description": "The detailed content which caused the error on importing a document.", - "type": "string" + "numFiniteBuckets": { + "description": "Must be greater than 0.", + "format": "int32", + "type": "integer" }, - "gcsPath": { - "description": "Google Cloud Storage file path of the import source. Can be set for batch operation error.", - "type": "string" + "offset": { + "description": "Lower bound of the first bucket.", + "format": "double", + "type": "number" }, - "lineNumber": { - "description": "Line number of the content in file. Should be empty for permission or batch operation error.", + "width": { + "description": "Must be greater than 0.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleApiDistributionExemplar": { + "description": "Exemplars are example points that may be used to annotate aggregated distribution values. They are metadata that gives information about a particular value added to a Distribution bucket, such as a trace ID that was active when a value was added. They may contain further information, such as a example values and timestamps, origin, etc.", + "id": "GoogleApiDistributionExemplar", + "properties": { + "attachments": { + "description": "Contextual information about the example value. Examples are: Trace: type.googleapis.com/google.monitoring.v3.SpanContext Literal string: type.googleapis.com/google.protobuf.StringValue Labels dropped during aggregation: type.googleapis.com/google.monitoring.v3.DroppedLabels There may be only a single attachment of any given message type in a single exemplar, and this is enforced by the system.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "timestamp": { + "description": "The observation (sampling) time of the above value.", + "format": "google-datetime", + "type": "string" + }, + "value": { + "description": "Value of the exemplar point. This value determines to which bucket the exemplar belongs.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleApiDistributionRange": { + "description": "The range of the population values.", + "id": "GoogleApiDistributionRange", + "properties": { + "max": { + "description": "The maximum of the population values.", + "format": "double", + "type": "number" + }, + "min": { + "description": "The minimum of the population values.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleApiHttpBody": { + "description": "Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; } service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); } Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); } Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged.", + "id": "GoogleApiHttpBody", + "properties": { + "contentType": { + "description": "The HTTP Content-Type header value specifying the content type of the body.", + "type": "string" + }, + "data": { + "description": "The HTTP request/response body as raw binary.", + "format": "byte", + "type": "string" + }, + "extensions": { + "description": "Application specific response metadata. Must be set in the first response for streaming APIs.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleApiMetric": { + "description": "A specific metric, identified by specifying values for all of the labels of a `MetricDescriptor`.", + "id": "GoogleApiMetric", + "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "The set of label values that uniquely identify this metric. All labels listed in the `MetricDescriptor` must be assigned values.", + "type": "object" + }, + "type": { + "description": "An existing metric type, see google.api.MetricDescriptor. For example, `custom.googleapis.com/invoice/paid/amount`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleApiMonitoredResource": { + "description": "An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The `type` field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the `labels` field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for `\"gce_instance\"` has labels `\"project_id\"`, `\"instance_id\"` and `\"zone\"`: { \"type\": \"gce_instance\", \"labels\": { \"project_id\": \"my-project\", \"instance_id\": \"12345678901234\", \"zone\": \"us-central1-a\" }}", + "id": "GoogleApiMonitoredResource", + "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels `\"project_id\"`, `\"instance_id\"`, and `\"zone\"`.", + "type": "object" + }, + "type": { + "description": "Required. The monitored resource type. This field must match the `type` field of a MonitoredResourceDescriptor object. For example, the type of a Compute Engine VM instance is `gce_instance`. Some descriptors include the service name in the type; for example, the type of a Datastream stream is `datastream.googleapis.com/Stream`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleApiMonitoredResourceMetadata": { + "description": "Auxiliary metadata for a MonitoredResource object. MonitoredResource objects contain the minimum set of information to uniquely identify a monitored resource instance. There is some other useful auxiliary metadata. Monitoring and Logging use an ingestion pipeline to extract metadata for cloud resources of all types, and store the metadata in this message.", + "id": "GoogleApiMonitoredResourceMetadata", + "properties": { + "systemLabels": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Output only. Values for predefined system metadata labels. System labels are a kind of metadata extracted by Google, including \"machine_image\", \"vpc\", \"subnet_id\", \"security_group\", \"name\", etc. System label values can be only strings, Boolean values, or a list of strings. For example: { \"name\": \"my-test-instance\", \"security_group\": [\"a\", \"b\", \"c\"], \"spot_instance\": false }", + "type": "object" + }, + "userLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "Output only. A map of user-defined metadata labels.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineLoggingErrorContext": { + "description": "A description of the context in which an error occurred.", + "id": "GoogleCloudDiscoveryengineLoggingErrorContext", + "properties": { + "httpRequest": { + "$ref": "GoogleCloudDiscoveryengineLoggingHttpRequestContext", + "description": "The HTTP request which was processed when the error was triggered." + }, + "reportLocation": { + "$ref": "GoogleCloudDiscoveryengineLoggingSourceLocation", + "description": "The location in the source code where the decision was made to report the error, usually the place where it was logged." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineLoggingErrorLog": { + "description": "An error log which is reported to the Error Reporting system.", + "id": "GoogleCloudDiscoveryengineLoggingErrorLog", + "properties": { + "context": { + "$ref": "GoogleCloudDiscoveryengineLoggingErrorContext", + "description": "A description of the context in which the error occurred." + }, + "importPayload": { + "$ref": "GoogleCloudDiscoveryengineLoggingImportErrorContext", + "description": "The error payload that is populated on LRO import APIs." + }, + "message": { + "description": "A message describing the error.", + "type": "string" + }, + "requestPayload": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The API request payload, represented as a protocol buffer. Most API request types are supported—for example: * `type.googleapis.com/google.cloud.discoveryengine.v1alpha.DocumentService.CreateDocumentRequest` * `type.googleapis.com/google.cloud.discoveryengine.v1alpha.UserEventService.WriteUserEventRequest`", + "type": "object" + }, + "responsePayload": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The API response payload, represented as a protocol buffer. This is used to log some \"soft errors\", where the response is valid but we consider there are some quality issues like unjoined events. The following API responses are supported, and no PII is included: * `google.cloud.discoveryengine.v1alpha.RecommendationService.Recommend` * `google.cloud.discoveryengine.v1alpha.UserEventService.WriteUserEvent` * `google.cloud.discoveryengine.v1alpha.UserEventService.CollectUserEvent`", + "type": "object" + }, + "serviceContext": { + "$ref": "GoogleCloudDiscoveryengineLoggingServiceContext", + "description": "The service context in which this error has occurred." + }, + "status": { + "$ref": "GoogleRpcStatus", + "description": "The RPC status associated with the error log." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineLoggingHttpRequestContext": { + "description": "HTTP request data that is related to a reported error.", + "id": "GoogleCloudDiscoveryengineLoggingHttpRequestContext", + "properties": { + "responseStatusCode": { + "description": "The HTTP response status code for the request.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineLoggingImportErrorContext": { + "description": "The error payload that is populated on LRO import APIs, including the following: * `google.cloud.discoveryengine.v1alpha.DocumentService.ImportDocuments` * `google.cloud.discoveryengine.v1alpha.UserEventService.ImportUserEvents`", + "id": "GoogleCloudDiscoveryengineLoggingImportErrorContext", + "properties": { + "document": { + "description": "The detailed content which caused the error on importing a document.", + "type": "string" + }, + "gcsPath": { + "description": "Google Cloud Storage file path of the import source. Can be set for batch operation error.", + "type": "string" + }, + "lineNumber": { + "description": "Line number of the content in file. Should be empty for permission or batch operation error.", "type": "string" }, "operation": { @@ -7009,6 +7759,21 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig": { + "description": "Configuration data for advance site search.", + "id": "GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig", + "properties": { + "disableAutomaticRefresh": { + "description": "If set true, automatic refresh is disabled for the DataStore.", + "type": "boolean" + }, + "disableInitialIndex": { + "description": "If set true, initial indexing is disabled for the DataStore.", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1BatchCreateTargetSiteMetadata": { "description": "Metadata related to the progress of the SiteSearchEngineService.BatchCreateTargetSites operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1BatchCreateTargetSiteMetadata", @@ -7040,6 +7805,66 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1CmekConfig": { + "description": "Configurations used to enable CMEK data encryption with Cloud KMS keys.", + "id": "GoogleCloudDiscoveryengineV1CmekConfig", + "properties": { + "isDefault": { + "description": "Output only. The default CmekConfig for the Customer.", + "readOnly": true, + "type": "boolean" + }, + "kmsKey": { + "description": "Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", + "type": "string" + }, + "kmsKeyVersion": { + "description": "Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.", + "type": "string" + }, + "lastRotationTimestampMicros": { + "description": "Output only. The timestamp of the last key rotation.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", + "type": "string" + }, + "singleRegionKeys": { + "description": "Optional. Single-regional CMEKs that are required for some VAIS features.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1SingleRegionKey" + }, + "type": "array" + }, + "state": { + "description": "Output only. State of the CmekConfig.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "KEY_ISSUE", + "DELETING", + "UNUSABLE", + "ACTIVE_ROTATING" + ], + "enumDescriptions": [ + "The CmekConfig state is unknown.", + "The CmekConfig is creating.", + "The CmekConfig can be used with DataStores.", + "The CmekConfig is unavailable, most likely due to the KMS Key being revoked.", + "The CmekConfig is deleting.", + "The CmekConfig is not usable, most likely due to some internal issue.", + "The KMS key version is being rotated." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1Condition": { "description": "Defines circumstances to be checked before allowing a behavior", "id": "GoogleCloudDiscoveryengineV1Condition", @@ -7051,8 +7876,12 @@ }, "type": "array" }, + "queryRegex": { + "description": "Optional. Query regex to match the whole search query. Cannot be set when Condition.query_terms is set. This is currently supporting promotion use case.", + "type": "string" + }, "queryTerms": { - "description": "Search only A list of terms to match the query on. Maximum of 10 query terms.", + "description": "Search only A list of terms to match the query on. Cannot be set when Condition.query_regex is set. Maximum of 10 query terms.", "items": { "$ref": "GoogleCloudDiscoveryengineV1ConditionQueryTerm" }, @@ -7128,6 +7957,10 @@ "description": "Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*`", "type": "string" }, + "promoteAction": { + "$ref": "GoogleCloudDiscoveryengineV1ControlPromoteAction", + "description": "Promote certain links based on predefined trigger queries. This now only supports basic site search." + }, "redirectAction": { "$ref": "GoogleCloudDiscoveryengineV1ControlRedirectAction", "description": "Defines a redirect-type control." @@ -7179,7 +8012,8 @@ "id": "GoogleCloudDiscoveryengineV1ControlBoostAction", "properties": { "boost": { - "description": "Required. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", + "deprecated": true, + "description": "Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", "format": "float", "type": "number" }, @@ -7190,6 +8024,11 @@ "filter": { "description": "Required. Specifies which products to apply the boost to. If no filter is provided all products will be boosted (No-op). Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", "type": "string" + }, + "fixedBoost": { + "description": "Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", + "format": "float", + "type": "number" } }, "type": "object" @@ -7209,6 +8048,21 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1ControlPromoteAction": { + "description": "Promote certain links based on some trigger queries. Example: Promote shoe store link when searching for `shoe` keyword. The link can be outside of associated data store.", + "id": "GoogleCloudDiscoveryengineV1ControlPromoteAction", + "properties": { + "dataStore": { + "description": "Required. Data store with which this promotion is attached to.", + "type": "string" + }, + "searchLinkPromotion": { + "$ref": "GoogleCloudDiscoveryengineV1SearchLinkPromotion", + "description": "Required. Promotion attached to this action." + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1ControlRedirectAction": { "description": "Redirects a shopper to the provided URI.", "id": "GoogleCloudDiscoveryengineV1ControlRedirectAction", @@ -7306,11 +8160,20 @@ "description": "DataStore captures global settings and configs at the DataStore level.", "id": "GoogleCloudDiscoveryengineV1DataStore", "properties": { + "advancedSiteSearchConfig": { + "$ref": "GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig", + "description": "Optional. Configuration for advanced site search." + }, "billingEstimation": { "$ref": "GoogleCloudDiscoveryengineV1DataStoreBillingEstimation", "description": "Output only. Data size estimation for billing.", "readOnly": true }, + "cmekConfig": { + "$ref": "GoogleCloudDiscoveryengineV1CmekConfig", + "description": "Output only. CMEK-related information for the DataStore.", + "readOnly": true + }, "contentConfig": { "description": "Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.", "enum": [ @@ -7364,12 +8227,20 @@ ], "type": "string" }, + "isInfobotFaqDataStore": { + "description": "Optional. If set, this DataStore is an Infobot FAQ DataStore.", + "type": "boolean" + }, + "kmsKeyName": { + "description": "Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field.", + "type": "string" + }, "name": { "description": "Immutable. The full resource name of the data store. Format: `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", "type": "string" }, "servingConfigDataStore": { - "$ref": "GoogleCloudDiscoveryengineV1ServingConfigDataStore", + "$ref": "GoogleCloudDiscoveryengineV1DataStoreServingConfigDataStore", "description": "Optional. Stores serving config at DataStore level." }, "solutionTypes": { @@ -7441,13 +8312,24 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1DeleteDataStoreMetadata": { - "description": "Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1DeleteDataStoreMetadata", + "GoogleCloudDiscoveryengineV1DataStoreServingConfigDataStore": { + "description": "Stores information regarding the serving configurations at DataStore level.", + "id": "GoogleCloudDiscoveryengineV1DataStoreServingConfigDataStore", "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", + "disabledForServing": { + "description": "If set true, the DataStore will not be available for serving search requests.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1DeleteDataStoreMetadata": { + "description": "Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1DeleteDataStoreMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", "type": "string" }, "updateTime": { @@ -7475,6 +8357,23 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1DeleteIdentityMappingStoreMetadata": { + "description": "Metadata related to the progress of the IdentityMappingStoreService.DeleteIdentityMappingStore operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1DeleteIdentityMappingStoreMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1DeleteSchemaMetadata": { "description": "Metadata for DeleteSchema LRO.", "id": "GoogleCloudDiscoveryengineV1DeleteSchemaMetadata", @@ -7533,7 +8432,7 @@ "type": "object" }, "GoogleCloudDiscoveryengineV1DocumentProcessingConfig": { - "description": "A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config.", + "description": "A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser.", "id": "GoogleCloudDiscoveryengineV1DocumentProcessingConfig", "properties": { "chunkingConfig": { @@ -7697,7 +8596,7 @@ "type": "string" }, "industryVertical": { - "description": "The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to `GENERIC`. Vertical on Engine has to match vertical of the DataStore linked to the engine.", + "description": "The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.", "enum": [ "INDUSTRY_VERTICAL_UNSPECIFIED", "GENERIC", @@ -8269,152 +9168,526 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1ServingConfigDataStore": { - "description": "Stores information regarding the serving configurations at DataStore level.", - "id": "GoogleCloudDiscoveryengineV1ServingConfigDataStore", + "GoogleCloudDiscoveryengineV1SearchLinkPromotion": { + "description": "Promotion proto includes uri and other helping information to display the promotion.", + "id": "GoogleCloudDiscoveryengineV1SearchLinkPromotion", "properties": { - "disabledForServing": { - "description": "If set true, the DataStore will not be available for serving search requests.", + "description": { + "description": "Optional. The Promotion description. Maximum length: 200 characters.", + "type": "string" + }, + "enabled": { + "description": "Optional. The enabled promotion will be returned for any serving configs associated with the parent of the control this promotion is attached to. This flag is used for basic site search only.", "type": "boolean" + }, + "imageUri": { + "description": "Optional. The promotion thumbnail image url.", + "type": "string" + }, + "title": { + "description": "Required. The title of the promotion. Maximum length: 160 characters.", + "type": "string" + }, + "uri": { + "description": "Required. The URL for the page the user wants to promote.", + "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1SiteVerificationInfo": { - "description": "Verification information for target sites in advanced site search.", - "id": "GoogleCloudDiscoveryengineV1SiteVerificationInfo", + "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec": { + "description": "A specification for configuring the behavior of content search.", + "id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec", "properties": { - "siteVerificationState": { - "description": "Site verification state indicating the ownership and validity.", + "chunkSpec": { + "$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecChunkSpec", + "description": "Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS" + }, + "extractiveContentSpec": { + "$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecExtractiveContentSpec", + "description": "If there is no extractive_content_spec provided, there will be no extractive answer in the search response." + }, + "searchResultMode": { + "description": "Specifies the search result mode. If unspecified, the search result mode defaults to `DOCUMENTS`.", "enum": [ - "SITE_VERIFICATION_STATE_UNSPECIFIED", - "VERIFIED", - "UNVERIFIED", - "EXEMPTED" + "SEARCH_RESULT_MODE_UNSPECIFIED", + "DOCUMENTS", + "CHUNKS" ], "enumDescriptions": [ - "Defaults to VERIFIED.", - "Site ownership verified.", - "Site ownership pending verification or verification failed.", - "Site exempt from verification, e.g., a public website that opens to all." + "Default value.", + "Returns documents in the search result.", + "Returns chunks in the search result. Only available if the DocumentProcessingConfig.chunking_config is specified." ], "type": "string" }, - "verifyTime": { - "description": "Latest site verification time.", - "format": "google-datetime", - "type": "string" + "snippetSpec": { + "$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSnippetSpec", + "description": "If `snippetSpec` is not specified, snippets are not included in the search response." + }, + "summarySpec": { + "$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpec", + "description": "If `summarySpec` is not specified, summaries are not included in the search response." } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1TargetSite": { - "description": "A target site for the SiteSearchEngine.", - "id": "GoogleCloudDiscoveryengineV1TargetSite", + "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecChunkSpec": { + "description": "Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS", + "id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecChunkSpec", "properties": { - "exactMatch": { - "description": "Input only. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine.", + "numNextChunks": { + "description": "The number of next chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no next chunks will be returned.", + "format": "int32", + "type": "integer" + }, + "numPreviousChunks": { + "description": "The number of previous chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no previous chunks will be returned.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecExtractiveContentSpec": { + "description": "A specification for configuring the extractive content in a search response.", + "id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecExtractiveContentSpec", + "properties": { + "maxExtractiveAnswerCount": { + "description": "The maximum number of extractive answers returned in each search result. An extractive answer is a verbatim answer extracted from the original document, which provides a precise and contextually relevant answer to the search query. If the number of matching answers is less than the `max_extractive_answer_count`, return all of the answers. Otherwise, return the `max_extractive_answer_count`. At most five answers are returned for each SearchResult.", + "format": "int32", + "type": "integer" + }, + "maxExtractiveSegmentCount": { + "description": "The max number of extractive segments returned in each search result. Only applied if the DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED or DataStore.solution_types is SOLUTION_TYPE_CHAT. An extractive segment is a text segment extracted from the original document that is relevant to the search query, and, in general, more verbose than an extractive answer. The segment could then be used as input for LLMs to generate summaries and answers. If the number of matching segments is less than `max_extractive_segment_count`, return all of the segments. Otherwise, return the `max_extractive_segment_count`.", + "format": "int32", + "type": "integer" + }, + "numNextSegments": { + "description": "Return at most `num_next_segments` segments after each selected segments.", + "format": "int32", + "type": "integer" + }, + "numPreviousSegments": { + "description": "Specifies whether to also include the adjacent from each selected segments. Return at most `num_previous_segments` segments before each selected segments.", + "format": "int32", + "type": "integer" + }, + "returnExtractiveSegmentScore": { + "description": "Specifies whether to return the confidence score from the extractive segments in each search result. This feature is available only for new or allowlisted data stores. To allowlist your data store, contact your Customer Engineer. The default value is `false`.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSnippetSpec": { + "description": "A specification for configuring snippets in a search response.", + "id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSnippetSpec", + "properties": { + "maxSnippetCount": { + "deprecated": true, + "description": "[DEPRECATED] This field is deprecated. To control snippet return, use `return_snippet` field. For backwards compatibility, we will return snippet if max_snippet_count > 0.", + "format": "int32", + "type": "integer" + }, + "referenceOnly": { + "deprecated": true, + "description": "[DEPRECATED] This field is deprecated and will have no affect on the snippet.", "type": "boolean" }, - "failureReason": { - "$ref": "GoogleCloudDiscoveryengineV1TargetSiteFailureReason", - "description": "Output only. Failure reason.", - "readOnly": true + "returnSnippet": { + "description": "If `true`, then return snippet. If no snippet can be generated, we return \"No snippet is available for this page.\" A `snippet_status` with `SUCCESS` or `NO_SNIPPET_AVAILABLE` will also be returned.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpec": { + "description": "A specification for configuring a summary returned in a search response.", + "id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpec", + "properties": { + "ignoreAdversarialQuery": { + "description": "Specifies whether to filter out adversarial queries. The default value is `false`. Google employs search-query classification to detect adversarial queries. No summary is returned if the search query is classified as an adversarial query. For example, a user might ask a question regarding negative comments about the company or submit a query designed to generate unsafe, policy-violating output. If this field is set to `true`, we skip generating summaries for adversarial queries and return fallback messages instead.", + "type": "boolean" }, - "generatedUriPattern": { - "description": "Output only. This is system-generated based on the provided_uri_pattern.", - "readOnly": true, - "type": "string" + "ignoreJailBreakingQuery": { + "description": "Optional. Specifies whether to filter out jail-breaking queries. The default value is `false`. Google employs search-query classification to detect jail-breaking queries. No summary is returned if the search query is classified as a jail-breaking query. A user might add instructions to the query to change the tone, style, language, content of the answer, or ask the model to act as a different entity, e.g. \"Reply in the tone of a competing company's CEO\". If this field is set to `true`, we skip generating summaries for jail-breaking queries and return fallback messages instead.", + "type": "boolean" }, - "indexingStatus": { - "description": "Output only. Indexing status.", - "enum": [ - "INDEXING_STATUS_UNSPECIFIED", - "PENDING", - "FAILED", - "SUCCEEDED", - "DELETING" - ], - "enumDescriptions": [ - "Defaults to SUCCEEDED.", - "The target site is in the update queue and will be picked up by indexing pipeline.", - "The target site fails to be indexed.", - "The target site has been indexed.", - "The previously indexed target site has been marked to be deleted. This is a transitioning state which will resulted in either: 1. target site deleted if unindexing is successful; 2. state reverts to SUCCEEDED if the unindexing fails." - ], - "readOnly": true, - "type": "string" + "ignoreLowRelevantContent": { + "description": "Specifies whether to filter out queries that have low relevance. The default value is `false`. If this field is set to `false`, all search results are used regardless of relevance to generate answers. If set to `true`, only queries with high relevance search results will generate answers.", + "type": "boolean" }, - "name": { - "description": "Output only. The fully qualified resource name of the target site. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}` The `target_site_id` is system-generated.", - "readOnly": true, - "type": "string" + "ignoreNonSummarySeekingQuery": { + "description": "Specifies whether to filter out queries that are not summary-seeking. The default value is `false`. Google employs search-query classification to detect summary-seeking queries. No summary is returned if the search query is classified as a non-summary seeking query. For example, `why is the sky blue` and `Who is the best soccer player in the world?` are summary-seeking queries, but `SFO airport` and `world cup 2026` are not. They are most likely navigational queries. If this field is set to `true`, we skip generating summaries for non-summary seeking queries and return fallback messages instead.", + "type": "boolean" }, - "providedUriPattern": { - "description": "Required. Input only. The user provided URI pattern from which the `generated_uri_pattern` is generated.", - "type": "string" + "includeCitations": { + "description": "Specifies whether to include citations in the summary. The default value is `false`. When this field is set to `true`, summaries include in-line citation numbers. Example summary including citations: BigQuery is Google Cloud's fully managed and completely serverless enterprise data warehouse [1]. BigQuery supports all data types, works across clouds, and has built-in machine learning and business intelligence, all within a unified platform [2, 3]. The citation numbers refer to the returned search results and are 1-indexed. For example, [1] means that the sentence is attributed to the first search result. [2, 3] means that the sentence is attributed to both the second and third search results.", + "type": "boolean" }, - "rootDomainUri": { - "description": "Output only. Root domain of the provided_uri_pattern.", - "readOnly": true, + "languageCode": { + "description": "Language code for Summary. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Note: This is an experimental feature.", "type": "string" }, - "siteVerificationInfo": { - "$ref": "GoogleCloudDiscoveryengineV1SiteVerificationInfo", - "description": "Output only. Site ownership and validity verification status.", - "readOnly": true + "modelPromptSpec": { + "$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelPromptSpec", + "description": "If specified, the spec will be used to modify the prompt provided to the LLM." }, - "type": { - "description": "The type of the target site, e.g., whether the site is to be included or excluded.", - "enum": [ - "TYPE_UNSPECIFIED", - "INCLUDE", - "EXCLUDE" - ], - "enumDescriptions": [ - "This value is unused. In this case, server behavior defaults to Type.INCLUDE.", - "Include the target site.", - "Exclude the target site." - ], - "type": "string" + "modelSpec": { + "$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelSpec", + "description": "If specified, the spec will be used to modify the model specification provided to the LLM." }, - "updateTime": { - "description": "Output only. The target site's last updated time.", - "format": "google-datetime", - "readOnly": true, - "type": "string" + "summaryResultCount": { + "description": "The number of top results to generate the summary from. If the number of results returned is less than `summaryResultCount`, the summary is generated from all of the results. At most 10 results for documents mode, or 50 for chunks mode, can be used to generate a summary. The chunks mode is used when SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS.", + "format": "int32", + "type": "integer" + }, + "useSemanticChunks": { + "description": "If true, answer will be generated from most relevant chunks from top search results. This feature will improve summary quality. Note that with this feature enabled, not all top search results will be referenced and included in the reference list, so the citation source index only points to the search results listed in the reference list.", + "type": "boolean" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1TargetSiteFailureReason": { - "description": "Site search indexing failure reasons.", - "id": "GoogleCloudDiscoveryengineV1TargetSiteFailureReason", + "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelPromptSpec": { + "description": "Specification of the prompt to use with the model.", + "id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelPromptSpec", "properties": { - "quotaFailure": { - "$ref": "GoogleCloudDiscoveryengineV1TargetSiteFailureReasonQuotaFailure", - "description": "Failed due to insufficient quota." + "preamble": { + "description": "Text at the beginning of the prompt that instructs the assistant. Examples are available in the user guide.", + "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1TargetSiteFailureReasonQuotaFailure": { - "description": "Failed due to insufficient quota.", - "id": "GoogleCloudDiscoveryengineV1TargetSiteFailureReasonQuotaFailure", + "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelSpec": { + "description": "Specification of the model.", + "id": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelSpec", "properties": { - "totalRequiredQuota": { - "description": "This number is an estimation on how much total quota this project needs to successfully complete indexing.", - "format": "int64", + "version": { + "description": "The model version used to generate the summary. Supported values are: * `stable`: string. Default value when no value is specified. Uses a generally available, fine-tuned model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models). * `preview`: string. (Public preview) Uses a preview model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models).", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1TrainCustomModelMetadata": { - "description": "Metadata related to the progress of the TrainCustomModel operation. This is returned by the google.longrunning.Operation.metadata field.", - "id": "GoogleCloudDiscoveryengineV1TrainCustomModelMetadata", + "GoogleCloudDiscoveryengineV1ServingConfig": { + "description": "Configures metadata that is used to generate serving time results (e.g. search results or recommendation predictions). The ServingConfig is passed in the search and predict request and generates results.", + "id": "GoogleCloudDiscoveryengineV1ServingConfig", "properties": { - "createTime": { + "boostControlIds": { + "description": "Boost controls to use in serving path. All triggered boost controls will be applied. Boost controls must be in the same data store as the serving config. Maximum of 20 boost controls.", + "items": { + "type": "string" + }, + "type": "array" + }, + "createTime": { + "description": "Output only. ServingConfig created timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Required. The human readable serving config display name. Used in Discovery UI. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", + "type": "string" + }, + "dissociateControlIds": { + "description": "Condition do not associate specifications. If multiple do not associate conditions match, all matching do not associate controls in the list will execute. Order does not matter. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", + "items": { + "type": "string" + }, + "type": "array" + }, + "diversityLevel": { + "description": "How much diversity to use in recommendation model results e.g. `medium-diversity` or `high-diversity`. Currently supported values: * `no-diversity` * `low-diversity` * `medium-diversity` * `high-diversity` * `auto-diversity` If not specified, we choose default based on recommendation model type. Default value: `no-diversity`. Can only be set if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", + "type": "string" + }, + "filterControlIds": { + "description": "Filter controls to use in serving path. All triggered filter controls will be applied. Filter controls must be in the same data store as the serving config. Maximum of 20 filter controls.", + "items": { + "type": "string" + }, + "type": "array" + }, + "genericConfig": { + "$ref": "GoogleCloudDiscoveryengineV1ServingConfigGenericConfig", + "description": "The GenericConfig of the serving configuration." + }, + "ignoreControlIds": { + "description": "Condition ignore specifications. If multiple ignore conditions match, all matching ignore controls in the list will execute. Order does not matter. Maximum number of specifications is 100.", + "items": { + "type": "string" + }, + "type": "array" + }, + "mediaConfig": { + "$ref": "GoogleCloudDiscoveryengineV1ServingConfigMediaConfig", + "description": "The MediaConfig of the serving configuration." + }, + "modelId": { + "description": "The id of the model to use at serving time. Currently only RecommendationModels are supported. Can be changed but only to a compatible model (e.g. others-you-may-like CTR to others-you-may-like CVR). Required when SolutionType is SOLUTION_TYPE_RECOMMENDATION.", + "type": "string" + }, + "name": { + "description": "Immutable. Fully qualified name `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/servingConfigs/{serving_config_id}`", + "type": "string" + }, + "onewaySynonymsControlIds": { + "description": "Condition oneway synonyms specifications. If multiple oneway synonyms conditions match, all matching oneway synonyms controls in the list will execute. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", + "items": { + "type": "string" + }, + "type": "array" + }, + "promoteControlIds": { + "description": "Condition promote specifications. Maximum number of specifications is 100.", + "items": { + "type": "string" + }, + "type": "array" + }, + "rankingExpression": { + "description": "The ranking expression controls the customized ranking on retrieval documents. To leverage this, document embedding is required. The ranking expression setting in ServingConfig applies to all search requests served by the serving config. However, if `SearchRequest.ranking_expression` is specified, it overrides the ServingConfig ranking expression. The ranking expression is a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between embedding_field_path and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`.", + "type": "string" + }, + "redirectControlIds": { + "description": "IDs of the redirect controls. Only the first triggered redirect action is applied, even if multiple apply. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", + "items": { + "type": "string" + }, + "type": "array" + }, + "replacementControlIds": { + "description": "Condition replacement specifications. Applied according to the order in the list. A previously replaced term can not be re-replaced. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", + "items": { + "type": "string" + }, + "type": "array" + }, + "solutionType": { + "description": "Required. Immutable. Specifies the solution type that a serving config can be associated with.", + "enum": [ + "SOLUTION_TYPE_UNSPECIFIED", + "SOLUTION_TYPE_RECOMMENDATION", + "SOLUTION_TYPE_SEARCH", + "SOLUTION_TYPE_CHAT", + "SOLUTION_TYPE_GENERATIVE_CHAT" + ], + "enumDescriptions": [ + "Default value.", + "Used for Recommendations AI.", + "Used for Discovery Search.", + "Used for use cases related to the Generative AI agent.", + "Used for use cases related to the Generative Chat agent. It's used for Generative chat engine only, the associated data stores must enrolled with `SOLUTION_TYPE_CHAT` solution." + ], + "type": "string" + }, + "synonymsControlIds": { + "description": "Condition synonyms specifications. If multiple synonyms conditions match, all matching synonyms controls in the list will execute. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH.", + "items": { + "type": "string" + }, + "type": "array" + }, + "updateTime": { + "description": "Output only. ServingConfig updated timestamp.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1ServingConfigGenericConfig": { + "description": "Specifies the configurations needed for Generic Discovery.Currently we support: * `content_search_spec`: configuration for generic content search.", + "id": "GoogleCloudDiscoveryengineV1ServingConfigGenericConfig", + "properties": { + "contentSearchSpec": { + "$ref": "GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec", + "description": "Specifies the expected behavior of content search. Only valid for content-search enabled data store." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1ServingConfigMediaConfig": { + "description": "Specifies the configurations needed for Media Discovery. Currently we support: * `demote_content_watched`: Threshold for watched content demotion. Customers can specify if using watched content demotion or use viewed detail page. Using the content watched demotion, customers need to specify the watched minutes or percentage exceeds the threshold, the content will be demoted in the recommendation result. * `promote_fresh_content`: cutoff days for fresh content promotion. Customers can specify if using content freshness promotion. If the content was published within the cutoff days, the content will be promoted in the recommendation result. Can only be set if SolutionType is SOLUTION_TYPE_RECOMMENDATION.", + "id": "GoogleCloudDiscoveryengineV1ServingConfigMediaConfig", + "properties": { + "contentFreshnessCutoffDays": { + "description": "Specifies the content freshness used for recommendation result. Contents will be demoted if contents were published for more than content freshness cutoff days.", + "format": "int32", + "type": "integer" + }, + "contentWatchedPercentageThreshold": { + "description": "Specifies the content watched percentage threshold for demotion. Threshold value must be between [0, 1.0] inclusive.", + "format": "float", + "type": "number" + }, + "contentWatchedSecondsThreshold": { + "description": "Specifies the content watched minutes threshold for demotion.", + "format": "float", + "type": "number" + }, + "demoteContentWatchedPastDays": { + "description": "Optional. Specifies the number of days to look back for demoting watched content. If set to zero or unset, defaults to the maximum of 365 days.", + "format": "int32", + "type": "integer" + }, + "demotionEventType": { + "description": "Specifies the event type used for demoting recommendation result. Currently supported values: * `view-item`: Item viewed. * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. If unset, watch history demotion will not be applied. Content freshness demotion will still be applied.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1SingleRegionKey": { + "description": "Metadata for single-regional CMEKs.", + "id": "GoogleCloudDiscoveryengineV1SingleRegionKey", + "properties": { + "kmsKey": { + "description": "Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1SiteVerificationInfo": { + "description": "Verification information for target sites in advanced site search.", + "id": "GoogleCloudDiscoveryengineV1SiteVerificationInfo", + "properties": { + "siteVerificationState": { + "description": "Site verification state indicating the ownership and validity.", + "enum": [ + "SITE_VERIFICATION_STATE_UNSPECIFIED", + "VERIFIED", + "UNVERIFIED", + "EXEMPTED" + ], + "enumDescriptions": [ + "Defaults to VERIFIED.", + "Site ownership verified.", + "Site ownership pending verification or verification failed.", + "Site exempt from verification, e.g., a public website that opens to all." + ], + "type": "string" + }, + "verifyTime": { + "description": "Latest site verification time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1TargetSite": { + "description": "A target site for the SiteSearchEngine.", + "id": "GoogleCloudDiscoveryengineV1TargetSite", + "properties": { + "exactMatch": { + "description": "Immutable. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine.", + "type": "boolean" + }, + "failureReason": { + "$ref": "GoogleCloudDiscoveryengineV1TargetSiteFailureReason", + "description": "Output only. Failure reason.", + "readOnly": true + }, + "generatedUriPattern": { + "description": "Output only. This is system-generated based on the provided_uri_pattern.", + "readOnly": true, + "type": "string" + }, + "indexingStatus": { + "description": "Output only. Indexing status.", + "enum": [ + "INDEXING_STATUS_UNSPECIFIED", + "PENDING", + "FAILED", + "SUCCEEDED", + "DELETING" + ], + "enumDescriptions": [ + "Defaults to SUCCEEDED.", + "The target site is in the update queue and will be picked up by indexing pipeline.", + "The target site fails to be indexed.", + "The target site has been indexed.", + "The previously indexed target site has been marked to be deleted. This is a transitioning state which will resulted in either: 1. target site deleted if unindexing is successful; 2. state reverts to SUCCEEDED if the unindexing fails." + ], + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The fully qualified resource name of the target site. `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}` The `target_site_id` is system-generated.", + "readOnly": true, + "type": "string" + }, + "providedUriPattern": { + "description": "Required. Input only. The user provided URI pattern from which the `generated_uri_pattern` is generated.", + "type": "string" + }, + "rootDomainUri": { + "description": "Output only. Root domain of the provided_uri_pattern.", + "readOnly": true, + "type": "string" + }, + "siteVerificationInfo": { + "$ref": "GoogleCloudDiscoveryengineV1SiteVerificationInfo", + "description": "Output only. Site ownership and validity verification status.", + "readOnly": true + }, + "type": { + "description": "The type of the target site, e.g., whether the site is to be included or excluded.", + "enum": [ + "TYPE_UNSPECIFIED", + "INCLUDE", + "EXCLUDE" + ], + "enumDescriptions": [ + "This value is unused. In this case, server behavior defaults to Type.INCLUDE.", + "Include the target site.", + "Exclude the target site." + ], + "type": "string" + }, + "updateTime": { + "description": "Output only. The target site's last updated time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1TargetSiteFailureReason": { + "description": "Site search indexing failure reasons.", + "id": "GoogleCloudDiscoveryengineV1TargetSiteFailureReason", + "properties": { + "quotaFailure": { + "$ref": "GoogleCloudDiscoveryengineV1TargetSiteFailureReasonQuotaFailure", + "description": "Failed due to insufficient quota." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1TargetSiteFailureReasonQuotaFailure": { + "description": "Failed due to insufficient quota.", + "id": "GoogleCloudDiscoveryengineV1TargetSiteFailureReasonQuotaFailure", + "properties": { + "totalRequiredQuota": { + "description": "This number is an estimation on how much total quota this project needs to successfully complete indexing.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1TrainCustomModelMetadata": { + "description": "Metadata related to the progress of the TrainCustomModel operation. This is returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1TrainCustomModelMetadata", + "properties": { + "createTime": { "description": "Operation create time.", "format": "google-datetime", "type": "string" @@ -8461,6 +9734,23 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1UpdateCmekConfigMetadata": { + "description": "Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1UpdateCmekConfigMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1UpdateSchemaMetadata": { "description": "Metadata for UpdateSchema LRO.", "id": "GoogleCloudDiscoveryengineV1UpdateSchemaMetadata", @@ -8553,6 +9843,41 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaActionConfig": { + "description": "Informations to support actions on the connector.", + "id": "GoogleCloudDiscoveryengineV1alphaActionConfig", + "properties": { + "actionParams": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Required. Params needed to support actions in the format of (Key, Value) pairs. Required parameters for sources that support OAUTH, i.e. `gmail`, `google_calendar`, `jira`, `workday`, `salesforce`, `confluence`: * Key: `client_id` * Value: type STRING. The client id for the service provider to identify your application. * Key: `client_secret` * Value:type STRING. The client secret generated by the application's authorization server.", + "type": "object" + }, + "isActionConfigured": { + "description": "Output only. The connector contains the necessary parameters and is configured to support actions.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaAdvancedSiteSearchConfig": { + "description": "Configuration data for advance site search.", + "id": "GoogleCloudDiscoveryengineV1alphaAdvancedSiteSearchConfig", + "properties": { + "disableAutomaticRefresh": { + "description": "If set true, automatic refresh is disabled for the DataStore.", + "type": "boolean" + }, + "disableInitialIndex": { + "description": "If set true, initial indexing is disabled for the DataStore.", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaAnswer": { "description": "Defines an answer.", "id": "GoogleCloudDiscoveryengineV1alphaAnswer", @@ -8569,7 +9894,8 @@ "NO_RELEVANT_CONTENT", "JAIL_BREAKING_QUERY_IGNORED", "CUSTOMER_POLICY_VIOLATION", - "NON_ANSWER_SEEKING_QUERY_IGNORED_V2" + "NON_ANSWER_SEEKING_QUERY_IGNORED_V2", + "LOW_GROUNDED_ANSWER" ], "enumDescriptions": [ "Default value. The answer skipped reason is not specified.", @@ -8580,7 +9906,8 @@ "The no relevant content case. Google skips the answer if there is no relevant content in the retrieved search results.", "The jail-breaking query ignored case. For example, \"Reply in the tone of a competing company's CEO\". Google skips the answer if the query is classified as a jail-breaking query.", "The customer policy violation case. Google skips the summary if there is a customer policy violation detected. The policy is defined by the customer.", - "The non-answer seeking query ignored case. Google skips the answer if the query doesn't have clear intent." + "The non-answer seeking query ignored case. Google skips the answer if the query doesn't have clear intent.", + "The low-grounded answer case. Google skips the answer if a well grounded answer was unable to be generated." ], "type": "string" }, @@ -8609,6 +9936,18 @@ "readOnly": true, "type": "string" }, + "groundingScore": { + "description": "A score in the range of [0, 1] describing how grounded the answer is by the reference chunks.", + "format": "double", + "type": "number" + }, + "groundingSupports": { + "description": "Optional. Grounding supports.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerGroundingSupport" + }, + "type": "array" + }, "name": { "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*/answers/*`", "type": "string" @@ -8631,19 +9970,28 @@ }, "type": "array" }, + "safetyRatings": { + "description": "Optional. Safety ratings.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSafetyRating" + }, + "type": "array" + }, "state": { "description": "The state of the answer generation.", "enum": [ "STATE_UNSPECIFIED", "IN_PROGRESS", "FAILED", - "SUCCEEDED" + "SUCCEEDED", + "STREAMING" ], "enumDescriptions": [ "Unknown.", "Answer generation is currently in progress.", "Answer generation currently failed.", - "Answer generation has succeeded." + "Answer generation has succeeded.", + "Answer generation is currently in progress." ], "type": "string" }, @@ -8692,6 +10040,39 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaAnswerGroundingSupport": { + "description": "Grounding support for a claim in `answer_text`.", + "id": "GoogleCloudDiscoveryengineV1alphaAnswerGroundingSupport", + "properties": { + "endIndex": { + "description": "Required. End of the claim, exclusive.", + "format": "int64", + "type": "string" + }, + "groundingCheckRequired": { + "description": "Indicates that this claim required grounding check. When the system decided this claim didn't require attribution/grounding check, this field is set to false. In that case, no grounding check was done for the claim and therefore `grounding_score`, `sources` is not returned.", + "type": "boolean" + }, + "groundingScore": { + "description": "A score in the range of [0, 1] describing how grounded is a specific claim by the references. Higher value means that the claim is better supported by the reference chunks.", + "format": "double", + "type": "number" + }, + "sources": { + "description": "Optional. Citation sources for the claim.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswerCitationSource" + }, + "type": "array" + }, + "startIndex": { + "description": "Required. Index indicates the start of the claim, measured in bytes (UTF-8 unicode).", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfo": { "description": "Query understanding information.", "id": "GoogleCloudDiscoveryengineV1alphaAnswerQueryUnderstandingInfo", @@ -8975,7 +10356,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result. .", + "description": "Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result.", "type": "object" }, "title": { @@ -9066,6 +10447,92 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaCmekConfig": { + "description": "Configurations used to enable CMEK data encryption with Cloud KMS keys.", + "id": "GoogleCloudDiscoveryengineV1alphaCmekConfig", + "properties": { + "isDefault": { + "description": "Output only. The default CmekConfig for the Customer.", + "readOnly": true, + "type": "boolean" + }, + "kmsKey": { + "description": "Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", + "type": "string" + }, + "kmsKeyVersion": { + "description": "Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.", + "type": "string" + }, + "lastRotationTimestampMicros": { + "description": "Output only. The timestamp of the last key rotation.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", + "type": "string" + }, + "singleRegionKeys": { + "description": "Optional. Single-regional CMEKs that are required for some VAIS features.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSingleRegionKey" + }, + "type": "array" + }, + "state": { + "description": "Output only. State of the CmekConfig.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "KEY_ISSUE", + "DELETING", + "UNUSABLE", + "ACTIVE_ROTATING" + ], + "enumDescriptions": [ + "The CmekConfig state is unknown.", + "The CmekConfig is creating.", + "The CmekConfig can be used with DataStores.", + "The CmekConfig is unavailable, most likely due to the KMS Key being revoked.", + "The CmekConfig is deleting.", + "The CmekConfig is not usable, most likely due to some internal issue.", + "The KMS key version is being rotated." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaCollection": { + "description": "Collection is a container for configuring resources and access to a set of DataStores.", + "id": "GoogleCloudDiscoveryengineV1alphaCollection", + "properties": { + "createTime": { + "description": "Output only. Timestamp the Collection was created at.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dataConnector": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDataConnector", + "description": "Output only. The data connector, if present, manages the connection for data stores in the Collection. To set up the connector, use DataConnectorService.SetUpDataConnector method, which creates a new Collection while setting up the DataConnector singleton resource. Setting up connector on an existing Collection is not supported. This output only field contains a subset of the DataConnector fields, including `name`, `data_source`, `entities.entity_name` and `entities.data_store`. To get more details about a data connector, use the DataConnectorService.GetDataConnector method.", + "readOnly": true + }, + "displayName": { + "description": "Required. The Collection display name. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.", + "type": "string" + }, + "name": { + "description": "Immutable. The full resource name of the Collection. Format: `projects/{project}/locations/{location}/collections/{collection_id}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaCondition": { "description": "Defines circumstances to be checked before allowing a behavior", "id": "GoogleCloudDiscoveryengineV1alphaCondition", @@ -9077,8 +10544,12 @@ }, "type": "array" }, + "queryRegex": { + "description": "Optional. Query regex to match the whole search query. Cannot be set when Condition.query_terms is set. This is currently supporting promotion use case.", + "type": "string" + }, "queryTerms": { - "description": "Search only A list of terms to match the query on. Maximum of 10 query terms.", + "description": "Search only A list of terms to match the query on. Cannot be set when Condition.query_regex is set. Maximum of 10 query terms.", "items": { "$ref": "GoogleCloudDiscoveryengineV1alphaConditionQueryTerm" }, @@ -9119,6 +10590,186 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaConnectorRun": { + "description": "A data sync run of DataConnector. After DataConnector is successfully initialized, data syncs are scheduled at DataConnector.refresh_interval. A ConnectorRun represents a data sync either in the past or onging that the moment. //", + "id": "GoogleCloudDiscoveryengineV1alphaConnectorRun", + "properties": { + "endTime": { + "description": "Output only. The time when the connector run ended.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "entityRuns": { + "description": "Output only. The details of the entities synced at the ConnectorRun. Each ConnectorRun consists of syncing one or more entities.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaConnectorRunEntityRun" + }, + "readOnly": true, + "type": "array" + }, + "errors": { + "description": "Contains info about errors incurred during the sync. Only exist if running into an error state. Contains error code and error message. Use with the `state` field.", + "items": { + "$ref": "GoogleRpcStatus" + }, + "type": "array" + }, + "latestPauseTime": { + "description": "Output only. The time when the connector run was most recently paused.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The full resource name of the Connector Run. Format: `projects/*/locations/*/collections/*/dataConnector/connectorRuns/*`. The `connector_run_id` is system-generated.", + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. The time when the connector run started.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The state of the sync run.", + "enum": [ + "STATE_UNSPECIFIED", + "RUNNING", + "SUCCEEDED", + "FAILED", + "OVERRUN", + "CANCELLED", + "PENDING", + "WARNING" + ], + "enumDescriptions": [ + "Default value.", + "The data sync is ongoing.", + "The data sync is finished.", + "The data sync is failed.", + "Data sync has been running longer than expected and is still running at the time the next run is supposed to start.", + "Data sync was scheduled but has been cancelled.", + "Data sync is about to start.", + "The data sync completed with non-fatal errors." + ], + "readOnly": true, + "type": "string" + }, + "stateUpdateTime": { + "description": "Timestamp at which the connector run sync state was last updated.", + "format": "google-datetime", + "type": "string" + }, + "trigger": { + "description": "Output only. The trigger for this ConnectorRun.", + "enum": [ + "TRIGGER_UNSPECIFIED", + "SCHEDULER", + "INITIALIZATION", + "RESUME", + "MANUAL" + ], + "enumDescriptions": [ + "Default value.", + "ConnectorRun triggered by scheduler if connector has PERIODIC sync mode.", + "ConnectorRun auto triggered by connector initialization.", + "ConnectorRun auto triggered by resuming connector.", + "ConnectorRun triggered by user manually." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaConnectorRunEntityRun": { + "description": "Represents an entity that was synced in this ConnectorRun.", + "id": "GoogleCloudDiscoveryengineV1alphaConnectorRunEntityRun", + "properties": { + "entityName": { + "description": "The name of the source entity.", + "type": "string" + }, + "errorRecordCount": { + "description": "The total number of documents failed at sync at any stage (extraction, indexing, etc).", + "format": "int64", + "type": "string" + }, + "errors": { + "description": "The errors from the entity's sync run. Only exist if running into an error state. Contains error code and error message.", + "items": { + "$ref": "GoogleRpcStatus" + }, + "type": "array" + }, + "extractedRecordCount": { + "description": "The number of documents extracted from connector source, ready to be ingested to UCS.", + "format": "int64", + "type": "string" + }, + "indexedRecordCount": { + "description": "The number of documents indexed.", + "format": "int64", + "type": "string" + }, + "sourceApiRequestCount": { + "description": "The number of requests sent to 3p API.", + "format": "int64", + "type": "string" + }, + "state": { + "description": "The state of the entity's sync run.", + "enum": [ + "STATE_UNSPECIFIED", + "RUNNING", + "SUCCEEDED", + "FAILED", + "OVERRUN", + "CANCELLED", + "PENDING", + "WARNING" + ], + "enumDescriptions": [ + "Default value.", + "The data sync is ongoing.", + "The data sync is finished.", + "The data sync is failed.", + "Data sync has been running longer than expected and is still running at the time the next run is supposed to start.", + "Data sync was scheduled but has been cancelled.", + "Data sync is about to start.", + "The data sync completed with non-fatal errors." + ], + "type": "string" + }, + "stateUpdateTime": { + "description": "Timestamp at which the entity sync state was last updated.", + "format": "google-datetime", + "type": "string" + }, + "statsUpdateTime": { + "description": "The timestamp for either extracted_documents_count, indexed_documents_count and error_documents_count was last updated.", + "format": "google-datetime", + "type": "string" + }, + "syncType": { + "description": "Sync type of this run.", + "enum": [ + "SYNC_TYPE_UNSPECIFIED", + "FULL", + "INCREMENTAL" + ], + "enumDescriptions": [ + "Sync type unspecified.", + "Sync triggers full sync of all documents.", + "Incremental sync of updated documents." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaControl": { "description": "Defines a conditioned behavior to employ during serving. Must be attached to a ServingConfig to be considered at serving time. Permitted actions dependent on `SolutionType`.", "id": "GoogleCloudDiscoveryengineV1alphaControl", @@ -9154,6 +10805,10 @@ "description": "Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*`", "type": "string" }, + "promoteAction": { + "$ref": "GoogleCloudDiscoveryengineV1alphaControlPromoteAction", + "description": "Promote certain links based on predefined trigger queries. This now only supports basic site search." + }, "redirectAction": { "$ref": "GoogleCloudDiscoveryengineV1alphaControlRedirectAction", "description": "Defines a redirect-type control." @@ -9205,7 +10860,8 @@ "id": "GoogleCloudDiscoveryengineV1alphaControlBoostAction", "properties": { "boost": { - "description": "Required. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", + "deprecated": true, + "description": "Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", "format": "float", "type": "number" }, @@ -9216,6 +10872,11 @@ "filter": { "description": "Required. Specifies which products to apply the boost to. If no filter is provided all products will be boosted (No-op). Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", "type": "string" + }, + "fixedBoost": { + "description": "Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", + "format": "float", + "type": "number" } }, "type": "object" @@ -9225,12 +10886,27 @@ "id": "GoogleCloudDiscoveryengineV1alphaControlFilterAction", "properties": { "dataStore": { - "description": "Required. Specifies which data store's documents can be filtered by this control. Full data store name e.g. projects/123/locations/global/collections/default_collection/dataStores/default_data_store", + "description": "Required. Specifies which data store's documents can be filtered by this control. Full data store name e.g. projects/123/locations/global/collections/default_collection/dataStores/default_data_store", + "type": "string" + }, + "filter": { + "description": "Required. A filter to apply on the matching condition results. Required Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaControlPromoteAction": { + "description": "Promote certain links based on some trigger queries. Example: Promote shoe store link when searching for `shoe` keyword. The link can be outside of associated data store.", + "id": "GoogleCloudDiscoveryengineV1alphaControlPromoteAction", + "properties": { + "dataStore": { + "description": "Required. Data store with which this promotion is attached to.", "type": "string" }, - "filter": { - "description": "Required. A filter to apply on the matching condition results. Required Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", - "type": "string" + "searchLinkPromotion": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSearchLinkPromotion", + "description": "Required. Promotion attached to this action." } }, "type": "object" @@ -9260,6 +10936,17 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries": { + "description": "The historical crawl rate timeseries data, used for monitoring.", + "id": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", + "properties": { + "qpsTimeSeries": { + "$ref": "GoogleMonitoringV3TimeSeries", + "description": "The QPS of the crawl rate." + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaCreateDataStoreMetadata": { "description": "Metadata related to the progress of the DataStoreService.CreateDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1alphaCreateDataStoreMetadata", @@ -9317,6 +11004,23 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaCreateSitemapMetadata": { + "description": "Metadata related to the progress of the SiteSearchEngineService.CreateSitemap operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaCreateSitemapMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaCreateTargetSiteMetadata": { "description": "Metadata related to the progress of the SiteSearchEngineService.CreateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1alphaCreateTargetSiteMetadata", @@ -9345,69 +11049,200 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaCustomTuningModel": { - "description": "Metadata that describes a custom tuned model.", - "id": "GoogleCloudDiscoveryengineV1alphaCustomTuningModel", + "GoogleCloudDiscoveryengineV1alphaDataConnector": { + "description": "Manages the connection to external data sources for all data stores grouped under a Collection. It's a singleton resource of Collection. The initialization is only supported through DataConnectorService.SetUpDataConnector method, which will create a new Collection and initialize its DataConnector.", + "id": "GoogleCloudDiscoveryengineV1alphaDataConnector", "properties": { + "actionConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaActionConfig", + "description": "Optional. Action configurations to make the connector support actions." + }, + "autoRunDisabled": { + "description": "Indicates whether the connector is disabled for auto run. It can be used to pause periodical and real time sync.", + "type": "boolean" + }, + "blockingReasons": { + "description": "Output only. User actions that must be completed before the connector can start syncing data.", + "items": { + "enum": [ + "BLOCKING_REASON_UNSPECIFIED", + "ALLOWLIST_STATIC_IP", + "ALLOWLIST_IN_SERVICE_ATTACHMENT" + ], + "enumDescriptions": [ + "Default value.", + "Connector requires customer to allowlist static IPs.", + "Connector requires customer to allowlist our project in their service attachment." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + }, "createTime": { + "description": "Output only. Timestamp the DataConnector was created at.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dataSource": { + "description": "Required. The name of the data source. Supported values: `salesforce`, `jira`, `confluence`, `bigquery`.", + "type": "string" + }, + "destinationConfigs": { + "description": "Optional. Any target destinations used to connect to third-party services.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDestinationConfig" + }, + "type": "array" + }, + "entities": { + "description": "List of entities from the connected data source to ingest.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDataConnectorSourceEntity" + }, + "type": "array" + }, + "errors": { + "description": "Output only. The errors from initialization or from the latest connector run.", + "items": { + "$ref": "GoogleRpcStatus" + }, + "readOnly": true, + "type": "array" + }, + "identityRefreshInterval": { "deprecated": true, - "description": "Timestamp the Model was created at.", + "description": "The refresh interval to sync the Access Control List information for the documents ingested by this connector. If not set, the access control list will be refreshed at the default interval of 30 minutes. The identity refresh interval can be at least 30 minutes and at most 7 days.", + "format": "google-duration", + "type": "string" + }, + "identityScheduleConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaIdentityScheduleConfig", + "description": "The configuration for the identity data synchronization runs. This contains the refresh interval to sync the Access Control List information for the documents ingested by this connector." + }, + "kmsKeyName": { + "description": "Input only. The KMS key to be used to protect the DataStores managed by this connector. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStores created by this connector will be protected by the KMS key.", + "type": "string" + }, + "lastSyncTime": { + "description": "Output only. For periodic connectors only, the last time a data sync was completed.", "format": "google-datetime", + "readOnly": true, "type": "string" }, - "displayName": { - "description": "The display name of the model.", + "latestPauseTime": { + "description": "Output only. The most recent timestamp when this DataConnector was paused, affecting all functionalities such as data synchronization. Pausing a connector has the following effects: - All functionalities, including data synchronization, are halted. - Any ongoing data synchronization job will be canceled. - No future data synchronization runs will be scheduled nor can be triggered.", + "format": "google-datetime", + "readOnly": true, "type": "string" }, - "errorMessage": { - "description": "Currently this is only populated if the model state is `INPUT_VALIDATION_FAILED`.", + "name": { + "description": "Output only. The full resource name of the Data Connector. Format: `projects/*/locations/*/collections/*/dataConnector`.", + "readOnly": true, "type": "string" }, - "metrics": { + "nextSyncTime": { + "$ref": "GoogleTypeDateTime", + "description": "The UTC time when the next data sync is expected to start for the Data Connector. Customers are only able to specify the hour and minute to schedule the data sync. This is utilized when the data connector has a refresh interval greater than 1 day." + }, + "params": { "additionalProperties": { - "format": "double", - "type": "number" + "description": "Properties of the object.", + "type": "any" }, - "description": "The metrics of the trained model.", + "description": "Required. Params needed to access the source in the format of (Key, Value) pairs. Required parameters for all data sources: * Key: `instance_uri` * Value: type STRING. The uri to access the data source. Required parameters for sources that support OAUTH, i.e. `salesforce`: * Key: `client_id` * Value: type STRING. The client id for the third party service provider to identify your application. * Key: `client_secret` * Value:type STRING. The client secret generated by the third party authorization server. * Key: `access_token` * Value: type STRING. OAuth token for UCS to access to the protected resource. * Key: `refresh_token` * Value: type STRING. OAuth refresh token for UCS to obtain a new access token without user interaction. Required parameters for sources that support basic API token auth, i.e. `jira`, `confluence`: * Key: `user_account` * Value: type STRING. The username or email with the source. * Key: `api_token` * Value: type STRING. The API token generated for the source account, that is used for authenticating anywhere where you would have used a password. Example: ```json { \"instance_uri\": \"https://xxx.atlassian.net\", \"user_account\": \"xxxx.xxx@xxx.com\", \"api_token\": \"test-token\" } ``` Optional parameter to specify the authorization type to use for multiple authorization types support: * Key: `auth_type` * Value: type STRING. The authorization type for the data source. Supported values: `BASIC_AUTH`, `OAUTH`, `OAUTH_ACCESS_TOKEN`, `OAUTH_TWO_LEGGED`, `OAUTH_JWT_BEARER`, `OAUTH_PASSWORD_GRANT`, `JWT`, `API_TOKEN`, `FEDERATED_CREDENTIAL`.", "type": "object" }, - "modelState": { - "description": "The state that the model is in (e.g.`TRAINING` or `TRAINING_FAILED`).", + "privateConnectivityProjectId": { + "description": "Output only. The tenant project ID associated with private connectivity connectors. This project must be allowlisted by in order for the connector to function.", + "readOnly": true, + "type": "string" + }, + "refreshInterval": { + "description": "Required. The refresh interval for data sync. If duration is set to 0, the data will be synced in real time. The streaming feature is not supported yet. The minimum is 30 minutes and maximum is 7 days.", + "format": "google-duration", + "type": "string" + }, + "state": { + "description": "Output only. State of the connector.", "enum": [ - "MODEL_STATE_UNSPECIFIED", - "TRAINING_PAUSED", - "TRAINING", - "TRAINING_COMPLETE", - "READY_FOR_SERVING", - "TRAINING_FAILED", - "NO_IMPROVEMENT", - "INPUT_VALIDATION_FAILED" + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "FAILED", + "RUNNING", + "WARNING" ], "enumDescriptions": [ "Default value.", - "The model is in a paused training state.", - "The model is currently training.", - "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.", - "Input data validation failed. Model training didn't start." + "The connector is being set up.", + "The connector is successfully set up and awaiting next sync run.", + "The connector is in error. The error details can be found in DataConnector.errors. If the error is unfixable, the DataConnector can be deleted by [CollectionService.DeleteCollection] API.", + "The connector is actively syncing records from the data source.", + "The connector has completed a sync run, but encountered non-fatal errors." ], + "readOnly": true, "type": "string" }, - "modelVersion": { - "description": "The version of the model.", - "format": "int64", - "type": "string" + "staticIpAddresses": { + "description": "Output only. The static IP addresses used by this connector.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" }, - "name": { - "description": "Required. The fully qualified resource name of the model. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/customTuningModels/{custom_tuning_model}`. Model must be an alpha-numerical string with limit of 40 characters.", + "staticIpEnabled": { + "description": "Optional. Whether customer has enabled static IP addresses for this connector.", + "type": "boolean" + }, + "syncMode": { + "description": "The data synchronization mode supported by the data connector.", + "enum": [ + "PERIODIC" + ], + "enumDescriptions": [ + "The connector will sync data periodically based on the refresh_interval. Use it with auto_run_disabled to pause the periodic sync, or indicate a one-time sync." + ], "type": "string" }, - "trainingStartTime": { - "description": "Timestamp the model training was initiated.", + "updateTime": { + "description": "Output only. Timestamp the DataConnector was last updated.", "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaDataConnectorSourceEntity": { + "description": "Represents an entity in the data source. For example, the `Account` object in Salesforce.", + "id": "GoogleCloudDiscoveryengineV1alphaDataConnectorSourceEntity", + "properties": { + "dataStore": { + "description": "Output only. The full resource name of the associated data store for the source entity. Format: `projects/*/locations/*/collections/*/dataStores/*`. When the connector is initialized by the DataConnectorService.SetUpDataConnector method, a DataStore is automatically created for each source entity.", + "readOnly": true, + "type": "string" + }, + "entityName": { + "description": "The name of the entity. Supported values by data source: * Salesforce: `Lead`, `Opportunity`, `Contact`, `Account`, `Case`, `Contract`, `Campaign` * Jira: `Issue` * Confluence: `Content`, `Space`", "type": "string" + }, + "keyPropertyMappings": { + "additionalProperties": { + "type": "string" + }, + "description": "Attributes for indexing. Key: Field name. Value: The key property to map a field to, such as `title`, and `description`. Supported key properties: * `title`: The title for data record. This would be displayed on search results. * `description`: The description for data record. This would be displayed on search results.", + "type": "object" + }, + "params": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "The parameters for the entity to facilitate data ingestion. E.g. for BQ connectors: * Key: `document_id_column` * Value: type STRING. The value of the column id.", + "type": "object" } }, "type": "object" @@ -9420,11 +11255,20 @@ "description": "Immutable. Whether data in the DataStore has ACL information. If set to `true`, the source data must have ACL. ACL will be ingested when data is ingested by DocumentService.ImportDocuments methods. When ACL is enabled for the DataStore, Document can't be accessed by calling DocumentService.GetDocument or DocumentService.ListDocuments. Currently ACL is only supported in `GENERIC` industry vertical with non-`PUBLIC_WEBSITE` content config.", "type": "boolean" }, + "advancedSiteSearchConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAdvancedSiteSearchConfig", + "description": "Optional. Configuration for advanced site search." + }, "billingEstimation": { "$ref": "GoogleCloudDiscoveryengineV1alphaDataStoreBillingEstimation", "description": "Output only. Data size estimation for billing.", "readOnly": true }, + "cmekConfig": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCmekConfig", + "description": "Output only. CMEK-related information for the DataStore.", + "readOnly": true + }, "contentConfig": { "description": "Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.", "enum": [ @@ -9483,6 +11327,14 @@ ], "type": "string" }, + "isInfobotFaqDataStore": { + "description": "Optional. If set, this DataStore is an Infobot FAQ DataStore.", + "type": "boolean" + }, + "kmsKeyName": { + "description": "Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field.", + "type": "string" + }, "languageInfo": { "$ref": "GoogleCloudDiscoveryengineV1alphaLanguageInfo", "description": "Language info for DataStore." @@ -9496,7 +11348,7 @@ "description": "Optional. Configuration for Natural Language Query Understanding." }, "servingConfigDataStore": { - "$ref": "GoogleCloudDiscoveryengineV1alphaServingConfigDataStore", + "$ref": "GoogleCloudDiscoveryengineV1alphaDataStoreServingConfigDataStore", "description": "Optional. Stores serving config at DataStore level." }, "solutionTypes": { @@ -9568,6 +11420,49 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaDataStoreServingConfigDataStore": { + "description": "Stores information regarding the serving configurations at DataStore level.", + "id": "GoogleCloudDiscoveryengineV1alphaDataStoreServingConfigDataStore", + "properties": { + "disabledForServing": { + "description": "If set true, the DataStore will not be available for serving search requests.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaDedicatedCrawlRateTimeSeries": { + "description": "The historical dedicated crawl rate timeseries data, used for monitoring. Dedicated crawl is used by Vertex AI to crawl the user's website when dedicate crawl is set.", + "id": "GoogleCloudDiscoveryengineV1alphaDedicatedCrawlRateTimeSeries", + "properties": { + "autoRefreshCrawlRate": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", + "description": "Vertex AI's dedicated crawl rate time series of auto-refresh, which is the crawl rate of Google-CloudVertexBot when dedicate crawl is set, and the crawl rate is for best effort use cases like refreshing urls periodically." + }, + "userTriggeredCrawlRate": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", + "description": "Vertex AI's dedicated crawl rate time series of user triggered crawl, which is the crawl rate of Google-CloudVertexBot when dedicate crawl is set, and user triggered crawl rate is for deterministic use cases like crawling urls or sitemaps specified by users." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaDeleteCollectionMetadata": { + "description": "Metadata related to the progress of the CollectionService.UpdateCollection operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaDeleteCollectionMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaDeleteDataStoreMetadata": { "description": "Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1alphaDeleteDataStoreMetadata", @@ -9602,6 +11497,23 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaDeleteIdentityMappingStoreMetadata": { + "description": "Metadata related to the progress of the IdentityMappingStoreService.DeleteIdentityMappingStore operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaDeleteIdentityMappingStoreMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaDeleteSchemaMetadata": { "description": "Metadata for DeleteSchema LRO.", "id": "GoogleCloudDiscoveryengineV1alphaDeleteSchemaMetadata", @@ -9619,19 +11531,89 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaDeleteSessionRequest": { + "description": "Request for DeleteSession method.", + "id": "GoogleCloudDiscoveryengineV1alphaDeleteSessionRequest", + "properties": { + "name": { + "description": "Required. The resource name of the Session to delete. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaDeleteSitemapMetadata": { + "description": "Metadata related to the progress of the SiteSearchEngineService.DeleteSitemap operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaDeleteSitemapMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaDeleteTargetSiteMetadata": { "description": "Metadata related to the progress of the SiteSearchEngineService.DeleteTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1alphaDeleteTargetSiteMetadata", "properties": { - "createTime": { - "description": "Operation create time.", - "format": "google-datetime", + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaDestinationConfig": { + "description": "Defines target endpoints used to connect to third-party sources.", + "id": "GoogleCloudDiscoveryengineV1alphaDestinationConfig", + "properties": { + "destinations": { + "description": "Optional. The destinations for the corresponding key.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination" + }, + "type": "array" + }, + "key": { + "description": "Optional. Unique destination identifier that is supported by the connector.", + "type": "string" + }, + "params": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Additional parameters for this destination config.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination": { + "description": "Defines a target endpoint", + "id": "GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination", + "properties": { + "host": { + "description": "Publicly routable host.", "type": "string" }, - "updateTime": { - "description": "Operation last update time. If the operation is done, this is also the finish time.", - "format": "google-datetime", - "type": "string" + "port": { + "description": "Optional. Target port number accepted by the destination.", + "format": "int32", + "type": "integer" } }, "type": "object" @@ -9660,7 +11642,7 @@ "type": "object" }, "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig": { - "description": "A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config.", + "description": "A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser.", "id": "GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig", "properties": { "chunkingConfig": { @@ -9824,7 +11806,7 @@ "type": "string" }, "industryVertical": { - "description": "The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to `GENERIC`. Vertical on Engine has to match vertical of the DataStore linked to the engine.", + "description": "The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.", "enum": [ "INDUSTRY_VERTICAL_UNSPECIFIED", "GENERIC", @@ -10207,6 +12189,31 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponse": { + "description": "Response message for SiteSearchEngineService.FetchSitemaps method.", + "id": "GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponse", + "properties": { + "sitemapsMetadata": { + "description": "List of Sitemaps fetched.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponseSitemapMetadata" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponseSitemapMetadata": { + "description": "Contains a Sitemap and its metadata.", + "id": "GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponseSitemapMetadata", + "properties": { + "sitemap": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSitemap", + "description": "The Sitemap." + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaFieldConfig": { "description": "Configurations for fields of a schema. For example, configuring a field is indexable, or searchable.", "id": "GoogleCloudDiscoveryengineV1alphaFieldConfig", @@ -10364,6 +12371,21 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaGetSessionRequest": { + "description": "Request for GetSession method.", + "id": "GoogleCloudDiscoveryengineV1alphaGetSessionRequest", + "properties": { + "includeAnswerDetails": { + "description": "Optional. If set to true, the full session including all answer details will be returned.", + "type": "boolean" + }, + "name": { + "description": "Required. The resource name of the Session to get. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}/sessions/{session_id}`", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaGetUriPatternDocumentDataResponse": { "description": "Response message for SiteSearchEngineService.GetUriPatternDocumentData method.", "id": "GoogleCloudDiscoveryengineV1alphaGetUriPatternDocumentDataResponse", @@ -10382,6 +12404,22 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaIdentityScheduleConfig": { + "description": "The configuration for the identity data synchronization runs.", + "id": "GoogleCloudDiscoveryengineV1alphaIdentityScheduleConfig", + "properties": { + "nextSyncTime": { + "$ref": "GoogleTypeDateTime", + "description": "Optional. The UTC time when the next data sync is expected to start for the Data Connector. Customers are only able to specify the hour and minute to schedule the data sync. This is utilized when the data connector has a refresh interval greater than 1 day." + }, + "refreshInterval": { + "description": "Optional. The refresh interval to sync the Access Control List information for the documents ingested by this connector. If not set, the access control list will be refreshed at the default interval of 30 minutes. The identity refresh interval can be at least 30 minutes and at most 7 days.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaIdpConfig": { "description": "Identity Provider Config.", "id": "GoogleCloudDiscoveryengineV1alphaIdpConfig", @@ -10723,14 +12761,46 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaListCustomModelsResponse": { - "description": "Response message for SearchTuningService.ListCustomModels method.", - "id": "GoogleCloudDiscoveryengineV1alphaListCustomModelsResponse", + "GoogleCloudDiscoveryengineV1alphaListSessionsRequest": { + "description": "Request for ListSessions method.", + "id": "GoogleCloudDiscoveryengineV1alphaListSessionsRequest", "properties": { - "models": { - "description": "List of custom tuning models.", + "filter": { + "description": "A filter to apply on the list results. The supported features are: user_pseudo_id, state. Example: \"user_pseudo_id = some_id\"", + "type": "string" + }, + "orderBy": { + "description": "A comma-separated list of fields to order by, sorted in ascending order. Use \"desc\" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * \"update_time desc\" * \"create_time\" * \"is_pinned desc,update_time desc\": list sessions by is_pinned first, then by update_time.", + "type": "string" + }, + "pageSize": { + "description": "Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000.", + "format": "int32", + "type": "integer" + }, + "pageToken": { + "description": "A page token, received from a previous `ListSessions` call. Provide this to retrieve the subsequent page.", + "type": "string" + }, + "parent": { + "description": "Required. The data store resource name. Format: `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaListSessionsResponse": { + "description": "Response for ListSessions method.", + "id": "GoogleCloudDiscoveryengineV1alphaListSessionsResponse", + "properties": { + "nextPageToken": { + "description": "Pagination token, if not returned indicates the last page.", + "type": "string" + }, + "sessions": { + "description": "All the Sessions for a given data store.", "items": { - "$ref": "GoogleCloudDiscoveryengineV1alphaCustomTuningModel" + "$ref": "GoogleCloudDiscoveryengineV1alphaSession" }, "type": "array" } @@ -10758,6 +12828,55 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaObtainCrawlRateResponse": { + "description": "Response message for CrawlRateManagementService.ObtainCrawlRate method. The response contains organcic or dedicated crawl rate time series data for monitoring, depending on whether dedicated crawl rate is set.", + "id": "GoogleCloudDiscoveryengineV1alphaObtainCrawlRateResponse", + "properties": { + "dedicatedCrawlRateTimeSeries": { + "$ref": "GoogleCloudDiscoveryengineV1alphaDedicatedCrawlRateTimeSeries", + "description": "The historical dedicated crawl rate timeseries data, used for monitoring." + }, + "error": { + "$ref": "GoogleRpcStatus", + "description": "Errors from service when handling the request." + }, + "organicCrawlRateTimeSeries": { + "$ref": "GoogleCloudDiscoveryengineV1alphaOrganicCrawlRateTimeSeries", + "description": "The historical organic crawl rate timeseries data, used for monitoring." + }, + "state": { + "description": "Output only. The state of the response.", + "enum": [ + "STATE_UNSPECIFIED", + "SUCCEEDED", + "FAILED" + ], + "enumDescriptions": [ + "The state is unspecified.", + "The state is successful.", + "The state is failed." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaOrganicCrawlRateTimeSeries": { + "description": "The historical organic crawl rate timeseries data, used for monitoring. Organic crawl is auto-determined by Google to crawl the user's website when dedicate crawl is not set. Crawl rate is the QPS of crawl request Google sends to the user's website.", + "id": "GoogleCloudDiscoveryengineV1alphaOrganicCrawlRateTimeSeries", + "properties": { + "googleOrganicCrawlRate": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", + "description": "Google's organic crawl rate time series, which is the sum of all googlebots' crawl rate. Please refer to https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers for more details about googlebots." + }, + "vertexAiOrganicCrawlRate": { + "$ref": "GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries", + "description": "Vertex AI's organic crawl rate time series, which is the crawl rate of Google-CloudVertexBot when dedicate crawl is not set. Please refer to https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers#google-cloudvertexbot for more details about Google-CloudVertexBot." + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaProject": { "description": "Metadata and configurations for a Google Cloud project in the service.", "id": "GoogleCloudDiscoveryengineV1alphaProject", @@ -11077,12 +13196,17 @@ "type": "string" }, "invalidUris": { - "description": "Unique URIs in the request that don't match any TargetSite in the DataStore, only match TargetSites that haven't been fully indexed, or match a TargetSite with type EXCLUDE.", + "description": "Unique URIs in the request that have invalid format. Sample limited to 1000.", "items": { "type": "string" }, "type": "array" }, + "invalidUrisCount": { + "description": "Total number of unique URIs in the request that have invalid format.", + "format": "int32", + "type": "integer" + }, "pendingCount": { "description": "Total number of URIs that have yet to be crawled.", "format": "int32", @@ -11103,6 +13227,18 @@ "format": "google-datetime", "type": "string" }, + "urisNotMatchingTargetSites": { + "description": "Unique URIs in the request that don't match any TargetSite in the DataStore, only match TargetSites that haven't been fully indexed, or match a TargetSite with type EXCLUDE. Sample limited to 1000.", + "items": { + "type": "string" + }, + "type": "array" + }, + "urisNotMatchingTargetSitesCount": { + "description": "Total number of URIs that don't match any TargetSites.", + "format": "int32", + "type": "integer" + }, "validUrisCount": { "description": "Total number of unique URIs in the request that are not in invalid_uris.", "format": "int32", @@ -11175,6 +13311,132 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateMetadata": { + "description": "Metadata related to the progress of the CrawlRateManagementService.RemoveDedicatedCrawlRate operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateResponse": { + "description": "Response message for CrawlRateManagementService.RemoveDedicatedCrawlRate method. It simply returns the state of the response, and an error message if the state is FAILED.", + "id": "GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateResponse", + "properties": { + "error": { + "$ref": "GoogleRpcStatus", + "description": "Errors from service when handling the request." + }, + "state": { + "description": "Output only. The state of the response.", + "enum": [ + "STATE_UNSPECIFIED", + "SUCCEEDED", + "FAILED" + ], + "enumDescriptions": [ + "The state is unspecified.", + "The state is successful.", + "The state is failed." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaSafetyRating": { + "description": "Safety rating corresponding to the generated content.", + "id": "GoogleCloudDiscoveryengineV1alphaSafetyRating", + "properties": { + "blocked": { + "description": "Output only. Indicates whether the content was filtered out because of this rating.", + "readOnly": true, + "type": "boolean" + }, + "category": { + "description": "Output only. Harm category.", + "enum": [ + "HARM_CATEGORY_UNSPECIFIED", + "HARM_CATEGORY_HATE_SPEECH", + "HARM_CATEGORY_DANGEROUS_CONTENT", + "HARM_CATEGORY_HARASSMENT", + "HARM_CATEGORY_SEXUALLY_EXPLICIT", + "HARM_CATEGORY_CIVIC_INTEGRITY" + ], + "enumDescriptions": [ + "The harm category is unspecified.", + "The harm category is hate speech.", + "The harm category is dangerous content.", + "The harm category is harassment.", + "The harm category is sexually explicit content.", + "The harm category is civic integrity." + ], + "readOnly": true, + "type": "string" + }, + "probability": { + "description": "Output only. Harm probability levels in the content.", + "enum": [ + "HARM_PROBABILITY_UNSPECIFIED", + "NEGLIGIBLE", + "LOW", + "MEDIUM", + "HIGH" + ], + "enumDescriptions": [ + "Harm probability unspecified.", + "Negligible level of harm.", + "Low level of harm.", + "Medium level of harm.", + "High level of harm." + ], + "readOnly": true, + "type": "string" + }, + "probabilityScore": { + "description": "Output only. Harm probability score.", + "format": "float", + "readOnly": true, + "type": "number" + }, + "severity": { + "description": "Output only. Harm severity levels in the content.", + "enum": [ + "HARM_SEVERITY_UNSPECIFIED", + "HARM_SEVERITY_NEGLIGIBLE", + "HARM_SEVERITY_LOW", + "HARM_SEVERITY_MEDIUM", + "HARM_SEVERITY_HIGH" + ], + "enumDescriptions": [ + "Harm severity unspecified.", + "Negligible level of harm severity.", + "Low level of harm severity.", + "Medium level of harm severity.", + "High level of harm severity." + ], + "readOnly": true, + "type": "string" + }, + "severityScore": { + "description": "Output only. Harm severity score.", + "format": "float", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaSchema": { "description": "Defines the structure and layout of a type of document data.", "id": "GoogleCloudDiscoveryengineV1alphaSchema", @@ -11206,6 +13468,33 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaSearchLinkPromotion": { + "description": "Promotion proto includes uri and other helping information to display the promotion.", + "id": "GoogleCloudDiscoveryengineV1alphaSearchLinkPromotion", + "properties": { + "description": { + "description": "Optional. The Promotion description. Maximum length: 200 characters.", + "type": "string" + }, + "enabled": { + "description": "Optional. The enabled promotion will be returned for any serving configs associated with the parent of the control this promotion is attached to. This flag is used for basic site search only.", + "type": "boolean" + }, + "imageUri": { + "description": "Optional. The promotion thumbnail image url.", + "type": "string" + }, + "title": { + "description": "Required. The title of the promotion. Maximum length: 160 characters.", + "type": "string" + }, + "uri": { + "description": "Required. The URL for the page the user wants to promote.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaSearchRequest": { "description": "Request message for SearchService.Search method.", "id": "GoogleCloudDiscoveryengineV1alphaSearchRequest", @@ -11231,7 +13520,7 @@ "description": "Custom fine tuning configs. If set, it has higher priority than the configs set in ServingConfig.custom_fine_tuning_spec." }, "dataStoreSpecs": { - "description": "Specs defining dataStores to filter on in a search call and configurations for those dataStores. This is only considered for engines with multiple dataStores use case. For single dataStore within an engine, they should use the specs at the top level.", + "description": "Specs defining DataStores to filter on in a search call and configurations for those data stores. This is only considered for Engines with multiple data stores. For engines with a single data store, the specs directly under SearchRequest should be used.", "items": { "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec" }, @@ -11269,6 +13558,11 @@ "format": "int32", "type": "integer" }, + "oneBoxPageSize": { + "description": "The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default number is 10.", + "format": "int32", + "type": "integer" + }, "orderBy": { "description": "The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering the website search results, see [Order web search results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results). For more information on ordering the healthcare search results, see [Order healthcare search results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results). If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.", "type": "string" @@ -11485,7 +13779,7 @@ "enumDescriptions": [ "Default value.", "Returns documents in the search result.", - "Returns chunks in the search result. Only available if the DataStore.DocumentProcessingConfig.chunking_config is specified." + "Returns chunks in the search result. Only available if the DocumentProcessingConfig.chunking_config is specified." ], "type": "string" }, @@ -11644,6 +13938,10 @@ "description": "A struct to define data stores to filter on in a search call and configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error is returned.", "id": "GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec", "properties": { + "boostSpec": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec", + "description": "Optional. Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results)" + }, "dataStore": { "description": "Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`.", "type": "string" @@ -11778,14 +14076,14 @@ "id": "GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec", "properties": { "filterExtractionCondition": { - "description": "The condition under which filter extraction should occur. Default to Condition.DISABLED.", + "description": "The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`.", "enum": [ "CONDITION_UNSPECIFIED", "DISABLED", "ENABLED" ], "enumDescriptions": [ - "Server behavior defaults to Condition.DISABLED.", + "Server behavior defaults to `DISABLED`.", "Disables NL filter extraction.", "Enables NL filter extraction." ], @@ -11905,27 +14203,24 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaServingConfigDataStore": { - "description": "Stores information regarding the serving configurations at DataStore level.", - "id": "GoogleCloudDiscoveryengineV1alphaServingConfigDataStore", - "properties": { - "disabledForServing": { - "description": "If set true, the DataStore will not be available for serving search requests.", - "type": "boolean" - } - }, - "type": "object" - }, "GoogleCloudDiscoveryengineV1alphaSession": { "description": "External session proto definition.", "id": "GoogleCloudDiscoveryengineV1alphaSession", "properties": { + "displayName": { + "description": "Optional. The display name of the session. This field is used to identify the session in the UI. By default, the display name is the first turn query text in the session.", + "type": "string" + }, "endTime": { "description": "Output only. The time the session finished.", "format": "google-datetime", "readOnly": true, "type": "string" }, + "isPinned": { + "description": "Optional. Whether the session is pinned, pinned session will be displayed on the top of the session list.", + "type": "boolean" + }, "name": { "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", "type": "string" @@ -11970,6 +14265,11 @@ "description": "The resource name of the answer to the user query. Only set if the answer generation (/answer API call) happened in this turn.", "type": "string" }, + "detailedAnswer": { + "$ref": "GoogleCloudDiscoveryengineV1alphaAnswer", + "description": "Output only. In ConversationalSearchService.GetSession API, if GetSessionRequest.include_answer_details is set to true, this field will be populated when getting answer query session.", + "readOnly": true + }, "query": { "$ref": "GoogleCloudDiscoveryengineV1alphaQuery", "description": "The user query." @@ -11977,6 +14277,55 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateMetadata": { + "description": "Metadata related to the progress of the CrawlRateManagementService.SetDedicatedCrawlRate operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateResponse": { + "description": "Response message for CrawlRateManagementService.SetDedicatedCrawlRate method. It simply returns the state of the response, and an error message if the state is FAILED.", + "id": "GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateResponse", + "properties": { + "error": { + "$ref": "GoogleRpcStatus", + "description": "Errors from service when handling the request." + }, + "state": { + "description": "Output only. The state of the response.", + "enum": [ + "STATE_UNSPECIFIED", + "SUCCEEDED", + "FAILED" + ], + "enumDescriptions": [ + "The state is unspecified.", + "The state is successful.", + "The state is failed." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaSetUpDataConnectorMetadata": { + "description": "Metadata for DataConnectorService.SetUpDataConnector method.", + "id": "GoogleCloudDiscoveryengineV1alphaSetUpDataConnectorMetadata", + "properties": {}, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaSetUriPatternDocumentDataMetadata": { "description": "Metadata related to the progress of the SiteSearchEngineService.SetUriPatternDocumentData operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1alphaSetUriPatternDocumentDataMetadata", @@ -12000,6 +14349,17 @@ "properties": {}, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaSingleRegionKey": { + "description": "Metadata for single-regional CMEKs.", + "id": "GoogleCloudDiscoveryengineV1alphaSingleRegionKey", + "properties": { + "kmsKey": { + "description": "Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaSiteVerificationInfo": { "description": "Verification information for target sites in advanced site search.", "id": "GoogleCloudDiscoveryengineV1alphaSiteVerificationInfo", @@ -12028,12 +14388,34 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaSitemap": { + "description": "A sitemap for the SiteSearchEngine.", + "id": "GoogleCloudDiscoveryengineV1alphaSitemap", + "properties": { + "createTime": { + "description": "Output only. The sitemap's creation time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The fully qualified resource name of the sitemap. `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/sitemaps/*` The `sitemap_id` suffix is system-generated.", + "readOnly": true, + "type": "string" + }, + "uri": { + "description": "Public URI for the sitemap, e.g. `www.example.com/sitemap.xml`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaTargetSite": { "description": "A target site for the SiteSearchEngine.", "id": "GoogleCloudDiscoveryengineV1alphaTargetSite", "properties": { "exactMatch": { - "description": "Input only. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine.", + "description": "Immutable. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine.", "type": "boolean" }, "failureReason": { @@ -12198,6 +14580,40 @@ "properties": {}, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaUpdateCmekConfigMetadata": { + "description": "Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaUpdateCmekConfigMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaUpdateCollectionMetadata": { + "description": "Metadata related to the progress of the CollectionService.UpdateCollection operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1alphaUpdateCollectionMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaUpdateSchemaMetadata": { "description": "Metadata for UpdateSchema LRO.", "id": "GoogleCloudDiscoveryengineV1alphaUpdateSchemaMetadata", @@ -12215,6 +14631,22 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1alphaUpdateSessionRequest": { + "description": "Request for UpdateSession method.", + "id": "GoogleCloudDiscoveryengineV1alphaUpdateSessionRequest", + "properties": { + "session": { + "$ref": "GoogleCloudDiscoveryengineV1alphaSession", + "description": "Required. The Session to update." + }, + "updateMask": { + "description": "Indicates which fields in the provided Session to update. The following are NOT supported: * Session.name If not set or empty, all supported fields are updated.", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1alphaUpdateTargetSiteMetadata": { "description": "Metadata related to the progress of the SiteSearchEngineService.UpdateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1alphaUpdateTargetSiteMetadata", @@ -12232,60 +14664,305 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaUserInfo": { - "description": "Information of an end user.", - "id": "GoogleCloudDiscoveryengineV1alphaUserInfo", + "GoogleCloudDiscoveryengineV1alphaUserInfo": { + "description": "Information of an end user.", + "id": "GoogleCloudDiscoveryengineV1alphaUserInfo", + "properties": { + "userAgent": { + "description": "User agent as included in the HTTP header. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if UserEvent.direct_user_request is set.", + "type": "string" + }, + "userId": { + "description": "Highly recommended for logged-in users. Unique identifier for logged-in user, such as a user name. Don't set for anonymous users. Always use a hashed value for this ID. Don't set the field to the same fixed ID for different users. This mixes the event history of those users together, which results in degraded model quality. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1alphaWorkspaceConfig": { + "description": "Config to store data store type configuration for workspace data", + "id": "GoogleCloudDiscoveryengineV1alphaWorkspaceConfig", + "properties": { + "dasherCustomerId": { + "description": "Obfuscated Dasher customer ID.", + "type": "string" + }, + "superAdminEmailAddress": { + "description": "Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.", + "type": "string" + }, + "superAdminServiceAccount": { + "description": "Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.", + "type": "string" + }, + "type": { + "description": "The Google Workspace data source.", + "enum": [ + "TYPE_UNSPECIFIED", + "GOOGLE_DRIVE", + "GOOGLE_MAIL", + "GOOGLE_SITES", + "GOOGLE_CALENDAR", + "GOOGLE_CHAT", + "GOOGLE_GROUPS", + "GOOGLE_KEEP" + ], + "enumDescriptions": [ + "Defaults to an unspecified Workspace type.", + "Workspace Data Store contains Drive data", + "Workspace Data Store contains Mail data", + "Workspace Data Store contains Sites data", + "Workspace Data Store contains Calendar data", + "Workspace Data Store contains Chat data", + "Workspace Data Store contains Groups data", + "Workspace Data Store contains Keep data" + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequest": { + "description": "Request message for CompletionService.AdvancedCompleteQuery method. .", + "id": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequest", + "properties": { + "boostSpec": { + "$ref": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequestBoostSpec", + "description": "Optional. Specification to boost suggestions matching the condition." + }, + "includeTailSuggestions": { + "description": "Indicates if tail suggestions should be returned if there are no suggestions that match the full query. Even if set to true, if there are suggestions that match the full query, those are returned and no tail suggestions are returned.", + "type": "boolean" + }, + "query": { + "description": "Required. The typeahead input used to fetch suggestions. Maximum length is 128 characters. The query can not be empty for most of the suggestion types. If it is empty, an `INVALID_ARGUMENT` error is returned. The exception is when the suggestion_types contains only the type `RECENT_SEARCH`, the query can be an empty string. The is called \"zero prefix\" feature, which returns user's recently searched queries given the empty query.", + "type": "string" + }, + "queryModel": { + "description": "Specifies the autocomplete data model. This overrides any model specified in the Configuration > Autocomplete section of the Cloud console. Currently supported values: * `document` - Using suggestions generated from user-imported documents. * `search-history` - Using suggestions generated from the past history of SearchService.Search API calls. Do not use it when there is no traffic for Search API. * `user-event` - Using suggestions generated from user-imported search events. * `document-completable` - Using suggestions taken directly from user-imported document fields marked as completable. Default values: * `document` is the default model for regular dataStores. * `search-history` is the default model for site search dataStores.", + "type": "string" + }, + "suggestionTypes": { + "description": "Optional. Suggestion types to return. If empty or unspecified, query suggestions are returned. Only one suggestion type is supported at the moment.", + "items": { + "enum": [ + "SUGGESTION_TYPE_UNSPECIFIED", + "QUERY", + "PEOPLE", + "CONTENT", + "RECENT_SEARCH", + "GOOGLE_WORKSPACE" + ], + "enumDescriptions": [ + "Default value.", + "Returns query suggestions.", + "Returns people suggestions.", + "Returns content suggestions.", + "Returns recent search suggestions.", + "Returns Google Workspace suggestions." + ], + "type": "string" + }, + "type": "array" + }, + "userInfo": { + "$ref": "GoogleCloudDiscoveryengineV1betaUserInfo", + "description": "Optional. Information about the end user. This should be the same identifier information as UserEvent.user_info and SearchRequest.user_info." + }, + "userPseudoId": { + "description": "A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This field should NOT have a fixed value such as `unknown_visitor`. This should be the same identifier as UserEvent.user_pseudo_id and SearchRequest.user_pseudo_id. The field must be a UTF-8 encoded string with a length limit of 128", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequestBoostSpec": { + "description": "Specification to boost suggestions based on the condtion of the suggestion.", + "id": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequestBoostSpec", + "properties": { + "conditionBoostSpecs": { + "description": "Condition boost specifications. If a suggestion matches multiple conditions in the specifictions, boost values from these specifications are all applied and combined in a non-linear way. Maximum number of specifications is 20. Note: Currently only support language condition boost.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequestBoostSpecConditionBoostSpec" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequestBoostSpecConditionBoostSpec": { + "description": "Boost applies to suggestions which match a condition.", + "id": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequestBoostSpecConditionBoostSpec", + "properties": { + "boost": { + "description": "Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0. Setting to 1.0 gives the suggestions a big promotion. However, it does not necessarily mean that the top result will be a boosted suggestion. Setting to -1.0 gives the suggestions a big demotion. However, other suggestions that are relevant might still be shown. Setting to 0.0 means no boost applied. The boosting condition is ignored.", + "format": "float", + "type": "number" + }, + "condition": { + "description": "An expression which specifies a boost condition. The syntax is the same as [filter expression syntax](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata#filter-expression-syntax). Currently, the only supported condition is a list of BCP-47 lang codes. Example: * To boost suggestions in languages `en` or `fr`: `(lang_code: ANY(\"en\", \"fr\"))`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponse": { + "description": "Response message for CompletionService.AdvancedCompleteQuery method.", + "id": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponse", + "properties": { + "contentSuggestions": { + "description": "Results of the matched content suggestions. The result list is ordered and the first result is the top suggestion.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponseContentSuggestion" + }, + "type": "array" + }, + "peopleSuggestions": { + "description": "Results of the matched people suggestions. The result list is ordered and the first result is the top suggestion.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponsePersonSuggestion" + }, + "type": "array" + }, + "querySuggestions": { + "description": "Results of the matched query suggestions. The result list is ordered and the first result is a top suggestion.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponseQuerySuggestion" + }, + "type": "array" + }, + "recentSearchSuggestions": { + "description": "Results of the matched \"recent search\" suggestions. The result list is ordered and the first result is the top suggestion.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponseRecentSearchSuggestion" + }, + "type": "array" + }, + "tailMatchTriggered": { + "description": "True if the returned suggestions are all tail suggestions. For tail matching to be triggered, include_tail_suggestions in the request must be true and there must be no suggestions that match the full query.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponseContentSuggestion": { + "description": "Suggestions as content.", + "id": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponseContentSuggestion", + "properties": { + "contentType": { + "description": "The type of the content suggestion.", + "enum": [ + "CONTENT_TYPE_UNSPECIFIED", + "GOOGLE_WORKSPACE", + "THIRD_PARTY" + ], + "enumDescriptions": [ + "Default value.", + "The suggestion is from a Google Workspace source.", + "The suggestion is from a third party source." + ], + "type": "string" + }, + "dataStore": { + "description": "The name of the dataStore that this suggestion belongs to.", + "type": "string" + }, + "document": { + "$ref": "GoogleCloudDiscoveryengineV1betaDocument", + "description": "The document data snippet in the suggestion. Only a subset of fields will be populated." + }, + "suggestion": { + "description": "The suggestion for the query.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponsePersonSuggestion": { + "description": "Suggestions as people.", + "id": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponsePersonSuggestion", + "properties": { + "dataStore": { + "description": "The name of the dataStore that this suggestion belongs to.", + "type": "string" + }, + "document": { + "$ref": "GoogleCloudDiscoveryengineV1betaDocument", + "description": "The document data snippet in the suggestion. Only a subset of fields is populated." + }, + "personType": { + "description": "The type of the person.", + "enum": [ + "PERSON_TYPE_UNSPECIFIED", + "CLOUD_IDENTITY", + "THIRD_PARTY_IDENTITY" + ], + "enumDescriptions": [ + "Default value.", + "The suggestion is from a GOOGLE_IDENTITY source.", + "The suggestion is from a THIRD_PARTY_IDENTITY source." + ], + "type": "string" + }, + "suggestion": { + "description": "The suggestion for the query.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponseQuerySuggestion": { + "description": "Suggestions as search queries.", + "id": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponseQuerySuggestion", + "properties": { + "completableFieldPaths": { + "description": "The unique document field paths that serve as the source of this suggestion if it was generated from completable fields. This field is only populated for the document-completable model.", + "items": { + "type": "string" + }, + "type": "array" + }, + "dataStore": { + "description": "The name of the dataStore that this suggestion belongs to.", + "items": { + "type": "string" + }, + "type": "array" + }, + "suggestion": { + "description": "The suggestion for the query.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponseRecentSearchSuggestion": { + "description": "Suggestions from recent search history.", + "id": "GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponseRecentSearchSuggestion", "properties": { - "userAgent": { - "description": "User agent as included in the HTTP header. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if UserEvent.direct_user_request is set.", + "recentSearchTime": { + "description": "The time when this recent rearch happened.", + "format": "google-datetime", "type": "string" }, - "userId": { - "description": "Highly recommended for logged-in users. Unique identifier for logged-in user, such as a user name. Don't set for anonymous users. Always use a hashed value for this ID. Don't set the field to the same fixed ID for different users. This mixes the event history of those users together, which results in degraded model quality. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned.", + "suggestion": { + "description": "The suggestion for the query.", "type": "string" } }, "type": "object" }, - "GoogleCloudDiscoveryengineV1alphaWorkspaceConfig": { - "description": "Config to store data store type configuration for workspace data", - "id": "GoogleCloudDiscoveryengineV1alphaWorkspaceConfig", + "GoogleCloudDiscoveryengineV1betaAdvancedSiteSearchConfig": { + "description": "Configuration data for advance site search.", + "id": "GoogleCloudDiscoveryengineV1betaAdvancedSiteSearchConfig", "properties": { - "dasherCustomerId": { - "description": "Obfuscated Dasher customer ID.", - "type": "string" - }, - "superAdminEmailAddress": { - "description": "Optional. The super admin email address for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.", - "type": "string" - }, - "superAdminServiceAccount": { - "description": "Optional. The super admin service account for the workspace that will be used for access token generation. For now we only use it for Native Google Drive connector data ingestion.", - "type": "string" + "disableAutomaticRefresh": { + "description": "If set true, automatic refresh is disabled for the DataStore.", + "type": "boolean" }, - "type": { - "description": "The Google Workspace data source.", - "enum": [ - "TYPE_UNSPECIFIED", - "GOOGLE_DRIVE", - "GOOGLE_MAIL", - "GOOGLE_SITES", - "GOOGLE_CALENDAR", - "GOOGLE_CHAT", - "GOOGLE_GROUPS", - "GOOGLE_KEEP" - ], - "enumDescriptions": [ - "Defaults to an unspecified Workspace type.", - "Workspace Data Store contains Drive data", - "Workspace Data Store contains Mail data", - "Workspace Data Store contains Sites data", - "Workspace Data Store contains Calendar data", - "Workspace Data Store contains Chat data", - "Workspace Data Store contains Groups data", - "Workspace Data Store contains Keep data" - ], - "type": "string" + "disableInitialIndex": { + "description": "If set true, initial indexing is disabled for the DataStore.", + "type": "boolean" } }, "type": "object" @@ -12337,7 +15014,8 @@ "NO_RELEVANT_CONTENT", "JAIL_BREAKING_QUERY_IGNORED", "CUSTOMER_POLICY_VIOLATION", - "NON_ANSWER_SEEKING_QUERY_IGNORED_V2" + "NON_ANSWER_SEEKING_QUERY_IGNORED_V2", + "LOW_GROUNDED_ANSWER" ], "enumDescriptions": [ "Default value. The answer skipped reason is not specified.", @@ -12348,7 +15026,8 @@ "The no relevant content case. Google skips the answer if there is no relevant content in the retrieved search results.", "The jail-breaking query ignored case. For example, \"Reply in the tone of a competing company's CEO\". Google skips the answer if the query is classified as a jail-breaking query.", "The customer policy violation case. Google skips the summary if there is a customer policy violation detected. The policy is defined by the customer.", - "The non-answer seeking query ignored case. Google skips the answer if the query doesn't have clear intent." + "The non-answer seeking query ignored case. Google skips the answer if the query doesn't have clear intent.", + "The low-grounded answer case. Google skips the answer if a well grounded answer was unable to be generated." ], "type": "string" }, @@ -12377,6 +15056,18 @@ "readOnly": true, "type": "string" }, + "groundingScore": { + "description": "A score in the range of [0, 1] describing how grounded the answer is by the reference chunks.", + "format": "double", + "type": "number" + }, + "groundingSupports": { + "description": "Optional. Grounding supports.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1betaAnswerGroundingSupport" + }, + "type": "array" + }, "name": { "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*/answers/*`", "type": "string" @@ -12399,19 +15090,28 @@ }, "type": "array" }, + "safetyRatings": { + "description": "Optional. Safety ratings.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1betaSafetyRating" + }, + "type": "array" + }, "state": { "description": "The state of the answer generation.", "enum": [ "STATE_UNSPECIFIED", "IN_PROGRESS", "FAILED", - "SUCCEEDED" + "SUCCEEDED", + "STREAMING" ], "enumDescriptions": [ "Unknown.", "Answer generation is currently in progress.", "Answer generation currently failed.", - "Answer generation has succeeded." + "Answer generation has succeeded.", + "Answer generation is currently in progress." ], "type": "string" }, @@ -12460,6 +15160,39 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaAnswerGroundingSupport": { + "description": "Grounding support for a claim in `answer_text`.", + "id": "GoogleCloudDiscoveryengineV1betaAnswerGroundingSupport", + "properties": { + "endIndex": { + "description": "Required. End of the claim, exclusive.", + "format": "int64", + "type": "string" + }, + "groundingCheckRequired": { + "description": "Indicates that this claim required grounding check. When the system decided this claim didn't require attribution/grounding check, this field is set to false. In that case, no grounding check was done for the claim and therefore `grounding_score`, `sources` is not returned.", + "type": "boolean" + }, + "groundingScore": { + "description": "A score in the range of [0, 1] describing how grounded is a specific claim by the references. Higher value means that the claim is better supported by the reference chunks.", + "format": "double", + "type": "number" + }, + "sources": { + "description": "Optional. Citation sources for the claim.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1betaAnswerCitationSource" + }, + "type": "array" + }, + "startIndex": { + "description": "Required. Index indicates the start of the claim, measured in bytes (UTF-8 unicode).", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaAnswerQueryRequest": { "description": "Request message for ConversationalSearchService.AnswerQuery method.", "id": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequest", @@ -12473,6 +15206,10 @@ "description": "Deprecated: This field is deprecated. Streaming Answer API will be supported. Asynchronous mode control. If enabled, the response will be returned with answer/session resource name without final answer. The API users need to do the polling to get the latest status of answer/session by calling ConversationalSearchService.GetAnswer or ConversationalSearchService.GetSession method.", "type": "boolean" }, + "groundingSpec": { + "$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestGroundingSpec", + "description": "Optional. Grounding specification." + }, "query": { "$ref": "GoogleCloudDiscoveryengineV1betaQuery", "description": "Required. Current user query." @@ -12572,6 +15309,31 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestGroundingSpec": { + "description": "Grounding specification.", + "id": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestGroundingSpec", + "properties": { + "filteringLevel": { + "description": "Optional. Specifies whether to enable the filtering based on grounding score and at what level.", + "enum": [ + "FILTERING_LEVEL_UNSPECIFIED", + "FILTERING_LEVEL_LOW", + "FILTERING_LEVEL_HIGH" + ], + "enumDescriptions": [ + "Default is no filter", + "Filter answers based on a low threshold.", + "Filter answers based on a high threshold." + ], + "type": "string" + }, + "includeGroundingSupports": { + "description": "Optional. Specifies whether to include grounding_supports in the answer. The default value is `false`. When this field is set to `true`, returned answer will have `grounding_score` and will contain GroundingSupports for each claim.", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestQueryUnderstandingSpec": { "description": "Query understanding specification.", "id": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestQueryUnderstandingSpec", @@ -12627,6 +15389,31 @@ "description": "Max rephrase steps. The max number is 5 steps. If not set or set to < 1, it will be set to 1 by default.", "format": "int32", "type": "integer" + }, + "modelSpec": { + "$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpecModelSpec", + "description": "Optional. Query Rephraser Model specification." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpecModelSpec": { + "description": "Query Rephraser Model specification.", + "id": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpecModelSpec", + "properties": { + "modelType": { + "description": "Optional. Enabled query rephraser model type. If not set, it will use LARGE by default.", + "enum": [ + "MODEL_TYPE_UNSPECIFIED", + "SMALL", + "LARGE" + ], + "enumDescriptions": [ + "Unspecified model type.", + "Small query rephraser model. Gemini 1.0 XS model.", + "Large query rephraser model. Gemini 1.0 Pro model." + ], + "type": "string" } }, "type": "object" @@ -12643,12 +15430,66 @@ "type": "object" }, "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSafetySpec": { - "description": "Safety specification.", + "description": "Safety specification. There are two use cases: 1. when only safety_spec.enable is set, the BLOCK_LOW_AND_ABOVE threshold will be applied for all categories. 2. when safety_spec.enable is set and some safety_settings are set, only specified safety_settings are applied.", "id": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSafetySpec", "properties": { "enable": { "description": "Enable the safety filtering on the answer response. It is false by default.", "type": "boolean" + }, + "safetySettings": { + "description": "Optional. Safety settings. This settings are effective only when the safety_spec.enable is true.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSafetySpecSafetySetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSafetySpecSafetySetting": { + "description": "Safety settings.", + "id": "GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSafetySpecSafetySetting", + "properties": { + "category": { + "description": "Required. Harm category.", + "enum": [ + "HARM_CATEGORY_UNSPECIFIED", + "HARM_CATEGORY_HATE_SPEECH", + "HARM_CATEGORY_DANGEROUS_CONTENT", + "HARM_CATEGORY_HARASSMENT", + "HARM_CATEGORY_SEXUALLY_EXPLICIT", + "HARM_CATEGORY_CIVIC_INTEGRITY" + ], + "enumDescriptions": [ + "The harm category is unspecified.", + "The harm category is hate speech.", + "The harm category is dangerous content.", + "The harm category is harassment.", + "The harm category is sexually explicit content.", + "The harm category is civic integrity." + ], + "type": "string" + }, + "threshold": { + "description": "Required. The harm block threshold.", + "enum": [ + "HARM_BLOCK_THRESHOLD_UNSPECIFIED", + "BLOCK_LOW_AND_ABOVE", + "BLOCK_MEDIUM_AND_ABOVE", + "BLOCK_ONLY_HIGH", + "BLOCK_NONE", + "OFF" + ], + "enumDescriptions": [ + "Unspecified harm block threshold.", + "Block low threshold and above (i.e. block more).", + "Block medium threshold and above.", + "Block only high threshold (i.e. block less).", + "Block none.", + "Turn off the safety filter." + ], + "type": "string" } }, "type": "object" @@ -12710,7 +15551,7 @@ "enumDescriptions": [ "Default value.", "Returns documents in the search result.", - "Returns chunks in the search result. Only available if the DataStore.DocumentProcessingConfig.chunking_config is specified." + "Returns chunks in the search result. Only available if the DocumentProcessingConfig.chunking_config is specified." ], "type": "string" } @@ -13168,7 +16009,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result. .", + "description": "Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result.", "type": "object" }, "title": { @@ -13328,7 +16169,7 @@ "id": "GoogleCloudDiscoveryengineV1betaBatchGetDocumentsMetadataResponseDocumentMetadataMatcherValue", "properties": { "fhirResource": { - "description": "Required. Format: projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}/fhir/{resource_type}/{fhir_resource_id}", + "description": "Format: projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}/fhir/{resource_type}/{fhir_resource_id}", "type": "string" }, "uri": { @@ -13531,7 +16372,7 @@ "id": "GoogleCloudDiscoveryengineV1betaCheckGroundingRequest", "properties": { "answerCandidate": { - "description": "Answer candidate to check. Can have a maximum length of 1024 characters.", + "description": "Answer candidate to check. It can have a maximum length of 4096 tokens.", "type": "string" }, "facts": { @@ -13566,6 +16407,13 @@ }, "type": "array" }, + "citedFacts": { + "description": "List of facts cited across all claims in the answer candidate. These are derived from the facts supplied in the request.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1betaCheckGroundingResponseCheckGroundingFactChunk" + }, + "type": "array" + }, "claims": { "description": "Claim texts and citation info across all claims in the answer candidate.", "items": { @@ -13581,6 +16429,17 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaCheckGroundingResponseCheckGroundingFactChunk": { + "description": "Fact chunk for grounding check.", + "id": "GoogleCloudDiscoveryengineV1betaCheckGroundingResponseCheckGroundingFactChunk", + "properties": { + "chunkText": { + "description": "Text content of the fact chunk. Can be at most 10K characters long.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaCheckGroundingResponseClaim": { "description": "Text and citation info for a claim in the answer candidate.", "id": "GoogleCloudDiscoveryengineV1betaCheckGroundingResponseClaim", @@ -13603,7 +16462,7 @@ "type": "integer" }, "groundingCheckRequired": { - "description": "Indicates that this claim required grounding check. When the system decided this claim doesn't require attribution/grounding check, this field will be set to false. In that case, no grounding check was done for the claim and therefore citation_indices, anti_citation_indices, and score should not be returned.", + "description": "Indicates that this claim required grounding check. When the system decided this claim doesn't require attribution/grounding check, this field will be set to false. In that case, no grounding check was done for the claim and therefore citation_indices should not be returned.", "type": "boolean" }, "startPos": { @@ -13665,7 +16524,7 @@ "description": "Page span of the chunk." }, "relevanceScore": { - "description": "Output only. Represents the relevance score based on similarity. Higher score indicates higher chunk relevance. The score is in range [-1.0, 1.0]. Only populated on SearchService.SearchResponse.", + "description": "Output only. Represents the relevance score based on similarity. Higher score indicates higher chunk relevance. The score is in range [-1.0, 1.0]. Only populated on SearchResponse.", "format": "double", "readOnly": true, "type": "number" @@ -13765,6 +16624,66 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaCmekConfig": { + "description": "Configurations used to enable CMEK data encryption with Cloud KMS keys.", + "id": "GoogleCloudDiscoveryengineV1betaCmekConfig", + "properties": { + "isDefault": { + "description": "Output only. The default CmekConfig for the Customer.", + "readOnly": true, + "type": "boolean" + }, + "kmsKey": { + "description": "Kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", + "type": "string" + }, + "kmsKeyVersion": { + "description": "Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion}`.", + "type": "string" + }, + "lastRotationTimestampMicros": { + "description": "Output only. The timestamp of the last key rotation.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. Name of the CmekConfig, of the form `projects/{project}/locations/{location}/cmekConfig` or `projects/{project}/locations/{location}/cmekConfigs/{cmekConfig}`.", + "type": "string" + }, + "singleRegionKeys": { + "description": "Optional. Single-regional CMEKs that are required for some VAIS features.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1betaSingleRegionKey" + }, + "type": "array" + }, + "state": { + "description": "Output only. State of the CmekConfig.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "KEY_ISSUE", + "DELETING", + "UNUSABLE", + "ACTIVE_ROTATING" + ], + "enumDescriptions": [ + "The CmekConfig state is unknown.", + "The CmekConfig is creating.", + "The CmekConfig can be used with DataStores.", + "The CmekConfig is unavailable, most likely due to the KMS Key being revoked.", + "The CmekConfig is deleting.", + "The CmekConfig is not usable, most likely due to some internal issue.", + "The KMS key version is being rotated." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaCompleteQueryResponse": { "description": "Response message for CompletionService.CompleteQuery method.", "id": "GoogleCloudDiscoveryengineV1betaCompleteQueryResponse", @@ -13869,8 +16788,12 @@ }, "type": "array" }, + "queryRegex": { + "description": "Optional. Query regex to match the whole search query. Cannot be set when Condition.query_terms is set. This is currently supporting promotion use case.", + "type": "string" + }, "queryTerms": { - "description": "Search only A list of terms to match the query on. Maximum of 10 query terms.", + "description": "Search only A list of terms to match the query on. Cannot be set when Condition.query_regex is set. Maximum of 10 query terms.", "items": { "$ref": "GoogleCloudDiscoveryengineV1betaConditionQueryTerm" }, @@ -13946,6 +16869,10 @@ "description": "Immutable. Fully qualified name `projects/*/locations/global/dataStore/*/controls/*`", "type": "string" }, + "promoteAction": { + "$ref": "GoogleCloudDiscoveryengineV1betaControlPromoteAction", + "description": "Promote certain links based on predefined trigger queries. This now only supports basic site search." + }, "redirectAction": { "$ref": "GoogleCloudDiscoveryengineV1betaControlRedirectAction", "description": "Defines a redirect-type control." @@ -13997,7 +16924,8 @@ "id": "GoogleCloudDiscoveryengineV1betaControlBoostAction", "properties": { "boost": { - "description": "Required. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", + "deprecated": true, + "description": "Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", "format": "float", "type": "number" }, @@ -14008,6 +16936,11 @@ "filter": { "description": "Required. Specifies which products to apply the boost to. If no filter is provided all products will be boosted (No-op). Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown.", "type": "string" + }, + "fixedBoost": { + "description": "Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op).", + "format": "float", + "type": "number" } }, "type": "object" @@ -14027,6 +16960,21 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaControlPromoteAction": { + "description": "Promote certain links based on some trigger queries. Example: Promote shoe store link when searching for `shoe` keyword. The link can be outside of associated data store.", + "id": "GoogleCloudDiscoveryengineV1betaControlPromoteAction", + "properties": { + "dataStore": { + "description": "Required. Data store with which this promotion is attached to.", + "type": "string" + }, + "searchLinkPromotion": { + "$ref": "GoogleCloudDiscoveryengineV1betaSearchLinkPromotion", + "description": "Required. Promotion attached to this action." + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaControlRedirectAction": { "description": "Redirects a shopper to the provided URI.", "id": "GoogleCloudDiscoveryengineV1betaControlRedirectAction", @@ -14267,6 +17215,23 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaCreateSitemapMetadata": { + "description": "Metadata related to the progress of the SiteSearchEngineService.CreateSitemap operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1betaCreateSitemapMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaCreateTargetSiteMetadata": { "description": "Metadata related to the progress of the SiteSearchEngineService.CreateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1betaCreateTargetSiteMetadata", @@ -14327,7 +17292,7 @@ "properties": { "createTime": { "deprecated": true, - "description": "Timestamp the Model was created at.", + "description": "Deprecated: Timestamp the Model was created at.", "format": "google-datetime", "type": "string" }, @@ -14392,11 +17357,20 @@ "description": "DataStore captures global settings and configs at the DataStore level.", "id": "GoogleCloudDiscoveryengineV1betaDataStore", "properties": { + "advancedSiteSearchConfig": { + "$ref": "GoogleCloudDiscoveryengineV1betaAdvancedSiteSearchConfig", + "description": "Optional. Configuration for advanced site search." + }, "billingEstimation": { "$ref": "GoogleCloudDiscoveryengineV1betaDataStoreBillingEstimation", "description": "Output only. Data size estimation for billing.", "readOnly": true }, + "cmekConfig": { + "$ref": "GoogleCloudDiscoveryengineV1betaCmekConfig", + "description": "Output only. CMEK-related information for the DataStore.", + "readOnly": true + }, "contentConfig": { "description": "Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT.", "enum": [ @@ -14450,6 +17424,14 @@ ], "type": "string" }, + "isInfobotFaqDataStore": { + "description": "Optional. If set, this DataStore is an Infobot FAQ DataStore.", + "type": "boolean" + }, + "kmsKeyName": { + "description": "Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field.", + "type": "string" + }, "languageInfo": { "$ref": "GoogleCloudDiscoveryengineV1betaLanguageInfo", "description": "Language info for DataStore." @@ -14463,7 +17445,7 @@ "description": "Optional. Configuration for Natural Language Query Understanding." }, "servingConfigDataStore": { - "$ref": "GoogleCloudDiscoveryengineV1betaServingConfigDataStore", + "$ref": "GoogleCloudDiscoveryengineV1betaDataStoreServingConfigDataStore", "description": "Optional. Stores serving config at DataStore level." }, "solutionTypes": { @@ -14535,6 +17517,17 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaDataStoreServingConfigDataStore": { + "description": "Stores information regarding the serving configurations at DataStore level.", + "id": "GoogleCloudDiscoveryengineV1betaDataStoreServingConfigDataStore", + "properties": { + "disabledForServing": { + "description": "If set true, the DataStore will not be available for serving search requests.", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaDeleteDataStoreMetadata": { "description": "Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1betaDeleteDataStoreMetadata", @@ -14569,6 +17562,23 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaDeleteIdentityMappingStoreMetadata": { + "description": "Metadata related to the progress of the IdentityMappingStoreService.DeleteIdentityMappingStore operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1betaDeleteIdentityMappingStoreMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaDeleteSchemaMetadata": { "description": "Metadata for DeleteSchema LRO.", "id": "GoogleCloudDiscoveryengineV1betaDeleteSchemaMetadata", @@ -14586,6 +17596,23 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaDeleteSitemapMetadata": { + "description": "Metadata related to the progress of the SiteSearchEngineService.DeleteSitemap operation. This will be returned by the google.longrunning.Operation.metadata field.", + "id": "GoogleCloudDiscoveryengineV1betaDeleteSitemapMetadata", + "properties": { + "createTime": { + "description": "Operation create time.", + "format": "google-datetime", + "type": "string" + }, + "updateTime": { + "description": "Operation last update time. If the operation is done, this is also the finish time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaDeleteTargetSiteMetadata": { "description": "Metadata related to the progress of the SiteSearchEngineService.DeleteTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field.", "id": "GoogleCloudDiscoveryengineV1betaDeleteTargetSiteMetadata", @@ -14650,12 +17677,12 @@ "type": "object" }, "id": { - "description": "Immutable. The identifier of the document. Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters.", + "description": "Immutable. The identifier of the document. Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 128 characters.", "type": "string" }, "indexStatus": { "$ref": "GoogleCloudDiscoveryengineV1betaDocumentIndexStatus", - "description": "Output only. The index status of the document. * If document is indexed successfully, the index_time field is populated. * Otherwise, if document is not indexed due to errors, the error_samples field is populated. * Otherwise, index_status is unset.", + "description": "Output only. The index status of the document. * If document is indexed successfully, the index_time field is populated. * Otherwise, if document is not indexed due to errors, the error_samples field is populated. * Otherwise, if document's index is in progress, the pending_message field is populated.", "readOnly": true }, "indexTime": { @@ -14726,6 +17753,10 @@ "description": "The time when the document was indexed. If this field is populated, it means the document has been indexed.", "format": "google-datetime", "type": "string" + }, + "pendingMessage": { + "description": "Immutable. The message indicates the document index is in progress. If this field is populated, the document index is pending.", + "type": "string" } }, "type": "object" @@ -14734,6 +17765,11 @@ "description": "Detailed document information associated with a user event.", "id": "GoogleCloudDiscoveryengineV1betaDocumentInfo", "properties": { + "conversionValue": { + "description": "Optional. The conversion value associated with this Document. Must be set if UserEvent.event_type is \"conversion\". For example, a value of 1000 signifies that 1000 seconds were spent viewing a Document for the `watch` conversion type.", + "format": "float", + "type": "number" + }, "id": { "description": "The Document resource ID.", "type": "string" @@ -14767,7 +17803,7 @@ "type": "object" }, "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig": { - "description": "A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config.", + "description": "A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser.", "id": "GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig", "properties": { "chunkingConfig": { @@ -14963,7 +17999,7 @@ "type": "string" }, "industryVertical": { - "description": "The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to `GENERIC`. Vertical on Engine has to match vertical of the DataStore linked to the engine.", + "description": "The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.", "enum": [ "INDUSTRY_VERTICAL_UNSPECIFIED", "GENERIC", @@ -15249,6 +18285,31 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaFetchSitemapsResponse": { + "description": "Response message for SiteSearchEngineService.FetchSitemaps method.", + "id": "GoogleCloudDiscoveryengineV1betaFetchSitemapsResponse", + "properties": { + "sitemapsMetadata": { + "description": "List of Sitemaps fetched.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata": { + "description": "Contains a Sitemap and its metadata.", + "id": "GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata", + "properties": { + "sitemap": { + "$ref": "GoogleCloudDiscoveryengineV1betaSitemap", + "description": "The Sitemap." + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaFhirStoreSource": { "description": "Cloud FhirStore source import data from.", "id": "GoogleCloudDiscoveryengineV1betaFhirStoreSource", @@ -15267,6 +18328,10 @@ "type": "string" }, "type": "array" + }, + "updateFromLatestPredefinedSchema": { + "description": "Optional. Whether to update the DataStore schema to the latest predefined schema. If true, the DataStore schema will be updated to include any FHIR fields or resource types that have been added since the last import and corresponding FHIR resources will be imported from the FHIR store. Note this field cannot be used in conjunction with `resource_types`. It should be used after initial import.", + "type": "boolean" } }, "type": "object" @@ -15294,20 +18359,438 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1betaGcsSource": { - "description": "Cloud Storage location for input content.", - "id": "GoogleCloudDiscoveryengineV1betaGcsSource", + "GoogleCloudDiscoveryengineV1betaGcsSource": { + "description": "Cloud Storage location for input content.", + "id": "GoogleCloudDiscoveryengineV1betaGcsSource", + "properties": { + "dataSchema": { + "description": "The schema to use when parsing the data from the source. Supported values for document imports: * `document` (default): One JSON Document per line. Each document must have a valid Document.id. * `content`: Unstructured data (e.g. PDF, HTML). Each file matched by `input_uris` becomes a document, with the ID set to the first 128 bits of SHA256(URI) encoded as a hex string. * `custom`: One custom data JSON per row in arbitrary format that conforms to the defined Schema of the data store. This can only be used by the GENERIC Data Store vertical. * `csv`: A CSV file with header conforming to the defined Schema of the data store. Each entry after the header is imported as a Document. This can only be used by the GENERIC Data Store vertical. Supported values for user event imports: * `user_event` (default): One JSON UserEvent per line.", + "type": "string" + }, + "inputUris": { + "description": "Required. Cloud Storage URIs to input files. Each URI can be up to 2000 characters long. URIs can match the full object path (for example, `gs://bucket/directory/object.json`) or a pattern matching one or more files, such as `gs://bucket/directory/*.json`. A request can contain at most 100 files (or 100,000 files if `data_schema` is `content`). Each file can be up to 2 GB (or 100 MB if `data_schema` is `content`).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequest": { + "description": "Top-level message sent by the client for the `GenerateGroundedContent` method.", + "id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequest", + "properties": { + "contents": { + "description": "Content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history + latest request.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1betaGroundedGenerationContent" + }, + "type": "array" + }, + "generationSpec": { + "$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGenerationSpec", + "description": "Content generation specification." + }, + "groundingSpec": { + "$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSpec", + "description": "Grounding specification." + }, + "systemInstruction": { + "$ref": "GoogleCloudDiscoveryengineV1betaGroundedGenerationContent", + "description": "Content of the system instruction for the current API. These instructions will take priority over any other prompt instructions if the selected model is supporting them." + }, + "userLabels": { + "additionalProperties": { + "type": "string" + }, + "description": "The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestDynamicRetrievalConfiguration": { + "description": "Describes the options to customize dynamic retrieval.", + "id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestDynamicRetrievalConfiguration", + "properties": { + "predictor": { + "$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestDynamicRetrievalConfigurationDynamicRetrievalPredictor", + "description": "Specification for the predictor for dynamic retrieval." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestDynamicRetrievalConfigurationDynamicRetrievalPredictor": { + "description": "Describes the predictor settings for dynamic retrieval.", + "id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestDynamicRetrievalConfigurationDynamicRetrievalPredictor", + "properties": { + "threshold": { + "description": "The value of the threshold. If the predictor will predict a value smaller than this, it would suppress grounding in the source.", + "format": "float", + "type": "number" + }, + "version": { + "description": "The version of the predictor to be used in dynamic retrieval.", + "enum": [ + "VERSION_UNSPECIFIED", + "V1_INDEPENDENT" + ], + "enumDescriptions": [ + "Automatically choose the best version of the retrieval predictor.", + "The V1 model which is evaluating each source independently." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGenerationSpec": { + "description": "Content generation specification.", + "id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGenerationSpec", + "properties": { + "frequencyPenalty": { + "description": "If specified, custom value for frequency penalty will be used.", + "format": "float", + "type": "number" + }, + "languageCode": { + "description": "Language code for content. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt).", + "type": "string" + }, + "maxOutputTokens": { + "description": "If specified, custom value for max output tokens will be used.", + "format": "int32", + "type": "integer" + }, + "modelId": { + "description": "Specifies which Vertex model id to use for generation.", + "type": "string" + }, + "presencePenalty": { + "description": "If specified, custom value for presence penalty will be used.", + "format": "float", + "type": "number" + }, + "seed": { + "description": "If specified, custom value for the seed will be used.", + "format": "int32", + "type": "integer" + }, + "temperature": { + "description": "If specified, custom value for the temperature will be used.", + "format": "float", + "type": "number" + }, + "topK": { + "description": "If specified, custom value for top-k sampling will be used.", + "format": "int32", + "type": "integer" + }, + "topP": { + "description": "If specified, custom value for nucleus sampling will be used.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSource": { + "description": "Grounding source.", + "id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSource", + "properties": { + "googleSearchSource": { + "$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceGoogleSearchSource", + "description": "If set, grounding is performed with Google Search." + }, + "inlineSource": { + "$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceInlineSource", + "description": "If set, grounding is performed with inline content." + }, + "searchSource": { + "$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceSearchSource", + "description": "If set, grounding is performed with Vertex AI Search." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceGoogleSearchSource": { + "description": "Google Search config parameters.", + "id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceGoogleSearchSource", + "properties": { + "dynamicRetrievalConfig": { + "$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestDynamicRetrievalConfiguration", + "description": "Optional. Specifies the dynamic retrieval configuration for the given source." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceInlineSource": { + "description": "Message to be used for grounding based on inline content.", + "id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceInlineSource", + "properties": { + "attributes": { + "additionalProperties": { + "type": "string" + }, + "description": "Attributes associated with the content. Common attributes include `source` (indicating where the content was sourced from) and `author` (indicating the author of the content).", + "type": "object" + }, + "groundingFacts": { + "description": "List of facts to be used for grounding.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1betaGroundingFact" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceSearchSource": { + "description": "Message to be used for grounding with Vertex AI Search.", + "id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceSearchSource", + "properties": { + "filter": { + "description": "Filter expression to be applied to the search. The syntax is the same as SearchRequest.filter.", + "type": "string" + }, + "maxResultCount": { + "description": "Number of search results to return. The default value is 10. The maximumm allowed value is 10.", + "format": "int32", + "type": "integer" + }, + "safeSearch": { + "description": "If set, safe search is enabled in Vertex AI Search requests.", + "type": "boolean" + }, + "servingConfig": { + "description": "The resource name of the Engine to use. Format: `projects/{project}/locations/{location}/collections/{collection_id}/engines/{engine_id}/servingConfigs/{serving_config_id}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSpec": { + "description": "Grounding specification.", + "id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSpec", + "properties": { + "groundingSources": { + "description": "Grounding sources.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSource" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponse": { + "description": "Response for the `GenerateGroundedContent` method.", + "id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponse", + "properties": { + "candidates": { + "description": "Generated candidates.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidate" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidate": { + "description": "A response candidate generated from the model.", + "id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidate", + "properties": { + "content": { + "$ref": "GoogleCloudDiscoveryengineV1betaGroundedGenerationContent", + "description": "Content of the candidate." + }, + "groundingMetadata": { + "$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadata", + "description": "Grounding metadata for the generated content." + }, + "groundingScore": { + "description": "The overall grounding score for the candidate, in the range of [0, 1].", + "format": "float", + "type": "number" + }, + "index": { + "description": "Index of the candidate.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadata": { + "description": "Citation for the generated content.", + "id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadata", + "properties": { + "groundingSupport": { + "description": "GroundingSupport across all claims in the answer candidate. An support to a fact indicates that the claim is supported by the fact.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataGroundingSupport" + }, + "type": "array" + }, + "retrievalMetadata": { + "description": "Retrieval metadata to provide an understanding in the retrieval steps performed by the model. There can be multiple such messages which can correspond to different parts of the retrieval. This is a mechanism used to ensure transparency to our users.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataRetrievalMetadata" + }, + "type": "array" + }, + "searchEntryPoint": { + "$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataSearchEntryPoint", + "description": "Google search entry for the following-up web searches." + }, + "supportChunks": { + "description": "List of chunks to be attributed across all claims in the candidate. These are derived from the grounding sources supplied in the request.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1betaFactChunk" + }, + "type": "array" + }, + "webSearchQueries": { + "description": "Web search queries for the following-up web search.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalMetadata": { + "description": "Describes the metadata about dynamic retrieval.", + "id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalMetadata", + "properties": { + "predictorMetadata": { + "$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalPredictorMetadata", + "description": "Metadata for the dynamic retrieval predictor." + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalPredictorMetadata": { + "description": "Describes the metadata about the dynamic retrieval predictor.", + "id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalPredictorMetadata", + "properties": { + "prediction": { + "description": "The value of the predictor. This should be between [0, 1] where a value of 0 means that the query would not benefit from grounding, while a value of 1.0 means that the query would benefit the most. In between values allow to differentiate between different usefulness scores for grounding.", + "format": "float", + "type": "number" + }, + "version": { + "description": "The version of the predictor which was used in dynamic retrieval.", + "enum": [ + "VERSION_UNSPECIFIED", + "V1_INDEPENDENT" + ], + "enumDescriptions": [ + "Unspecified version, should never be used.", + "The V1 model which is evaluating each source independently." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataGroundingSupport": { + "description": "Grounding info for a claim in the candidate and its support.", + "id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataGroundingSupport", + "properties": { + "claimText": { + "description": "Text for the claim in the candidate. Always provided when a support is found.", + "type": "string" + }, + "supportChunkIndices": { + "description": "A list of indices (into 'support_chunks') specifying the citations associated with the claim. For instance [1,3,4] means that support_chunks[1], support_chunks[3], support_chunks[4] are the chunks attributed to the claim.", + "items": { + "format": "int32", + "type": "integer" + }, + "type": "array" + }, + "supportScore": { + "description": "A score in the range of [0, 1] describing how grounded is a specific claim in the support chunks indicated. Higher value means that the claim is better supported by the chunks.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataRetrievalMetadata": { + "description": "Describes the metadata associated with a retrieval step.", + "id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataRetrievalMetadata", + "properties": { + "dynamicRetrievalMetadata": { + "$ref": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalMetadata", + "description": "Metadata for dynamic retrieval." + }, + "source": { + "description": "Describes the source to which the metadata is referring to.", + "enum": [ + "SOURCE_UNSPECIFIED", + "VERTEX_AI_SEARCH", + "GOOGLE_SEARCH", + "INLINE_CONTENT", + "GOOGLE_MAPS" + ], + "enumDescriptions": [ + "Unspecified source.", + "Vertex AI search.", + "Google Search.", + "User inline provided content.", + "Google Maps." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataSearchEntryPoint": { + "description": "Google search entry point.", + "id": "GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataSearchEntryPoint", + "properties": { + "renderedContent": { + "description": "Web content snippet that can be embedded in a web page or an app webview.", + "type": "string" + }, + "sdkBlob": { + "description": "Base64 encoded JSON representing array of tuple.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaGroundedGenerationContent": { + "description": "Base structured datatype containing multi-part content of a message.", + "id": "GoogleCloudDiscoveryengineV1betaGroundedGenerationContent", "properties": { - "dataSchema": { - "description": "The schema to use when parsing the data from the source. Supported values for document imports: * `document` (default): One JSON Document per line. Each document must have a valid Document.id. * `content`: Unstructured data (e.g. PDF, HTML). Each file matched by `input_uris` becomes a document, with the ID set to the first 128 bits of SHA256(URI) encoded as a hex string. * `custom`: One custom data JSON per row in arbitrary format that conforms to the defined Schema of the data store. This can only be used by the GENERIC Data Store vertical. * `csv`: A CSV file with header conforming to the defined Schema of the data store. Each entry after the header is imported as a Document. This can only be used by the GENERIC Data Store vertical. Supported values for user event imports: * `user_event` (default): One JSON UserEvent per line.", - "type": "string" - }, - "inputUris": { - "description": "Required. Cloud Storage URIs to input files. Each URI can be up to 2000 characters long. URIs can match the full object path (for example, `gs://bucket/directory/object.json`) or a pattern matching one or more files, such as `gs://bucket/directory/*.json`. A request can contain at most 100 files (or 100,000 files if `data_schema` is `content`). Each file can be up to 2 GB (or 100 MB if `data_schema` is `content`).", + "parts": { + "description": "Ordered `Parts` that constitute a single message.", "items": { - "type": "string" + "$ref": "GoogleCloudDiscoveryengineV1betaGroundedGenerationContentPart" }, "type": "array" + }, + "role": { + "description": "Producer of the content. Must be either `user` or `model`. Intended to be used for multi-turn conversations. Otherwise, it can be left unset.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudDiscoveryengineV1betaGroundedGenerationContentPart": { + "description": "Single part of content.", + "id": "GoogleCloudDiscoveryengineV1betaGroundedGenerationContentPart", + "properties": { + "text": { + "description": "Inline text.", + "type": "string" } }, "type": "object" @@ -15972,7 +19455,7 @@ "id": "GoogleCloudDiscoveryengineV1betaListEvaluationResultsResponse", "properties": { "evaluationResults": { - "description": "The EvaluationResults.", + "description": "The evaluation results for the SampleQuerys.", "items": { "$ref": "GoogleCloudDiscoveryengineV1betaListEvaluationResultsResponseEvaluationResult" }, @@ -16202,6 +19685,13 @@ "description": "The display name of the panel.", "type": "string" }, + "documents": { + "description": "Optional. The document IDs associated with this panel.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1betaDocumentInfo" + }, + "type": "array" + }, "panelId": { "description": "Required. The panel ID.", "type": "string" @@ -16475,7 +19965,7 @@ "id": "GoogleCloudDiscoveryengineV1betaPurgeUserEventsRequest", "properties": { "filter": { - "description": "Required. The filter string to specify the events to be deleted with a length limit of 5,000 characters. The eligible fields for filtering are: * `eventType`: Double quoted UserEvent.event_type string. * `eventTime`: in ISO 8601 \"zulu\" format. * `userPseudoId`: Double quoted string. Specifying this will delete all events associated with a visitor. * `userId`: Double quoted string. Specifying this will delete all events associated with a user. Examples: * Deleting all events in a time range: `eventTime > \"2012-04-23T18:25:43.511Z\" eventTime < \"2012-04-23T18:30:43.511Z\"` * Deleting specific eventType: `eventType = \"search\"` * Deleting all events for a specific visitor: `userPseudoId = \"visitor1024\"` * Deleting all events inside a DataStore: `*` The filtering fields are assumed to have an implicit AND.", + "description": "Required. The filter string to specify the events to be deleted with a length limit of 5,000 characters. The eligible fields for filtering are: * `eventType`: Double quoted UserEvent.event_type string. * `eventTime`: in ISO 8601 \"zulu\" format. * `userPseudoId`: Double quoted string. Specifying this will delete all events associated with a visitor. * `userId`: Double quoted string. Specifying this will delete all events associated with a user. Note: This API only supports purging a max range of 30 days. Examples: * Deleting all events in a time range: `eventTime > \"2012-04-23T18:25:43.511Z\" eventTime < \"2012-04-23T18:30:43.511Z\"` * Deleting specific eventType in a time range: `eventTime > \"2012-04-23T18:25:43.511Z\" eventTime < \"2012-04-23T18:30:43.511Z\" eventType = \"search\"` * Deleting all events for a specific visitor in a time range: `eventTime > \"2012-04-23T18:25:43.511Z\" eventTime < \"2012-04-23T18:30:43.511Z\" userPseudoId = \"visitor1024\"` * Deleting the past 30 days of events inside a DataStore: `*` The filtering fields are assumed to have an implicit AND.", "type": "string" }, "force": { @@ -16619,7 +20109,7 @@ "type": "string" }, "score": { - "description": "The score of this record based on the given query and selected model.", + "description": "The score of this record based on the given query and selected model. The score will be rounded to 2 decimal places. If the score is close to 0, it will be rounded to 0.0001 to avoid returning unset.", "format": "float", "type": "number" }, @@ -16635,7 +20125,7 @@ "id": "GoogleCloudDiscoveryengineV1betaRecommendRequest", "properties": { "filter": { - "description": "Filter for restricting recommendation results with a length limit of 5,000 characters. Currently, only filter expressions on the `filter_tags` attribute is supported. Examples: * `(filter_tags: ANY(\"Red\", \"Blue\") OR filter_tags: ANY(\"Hot\", \"Cold\"))` * `(filter_tags: ANY(\"Red\", \"Blue\")) AND NOT (filter_tags: ANY(\"Green\"))` If `attributeFilteringSyntax` is set to true under the `params` field, then attribute-based expressions are expected instead of the above described tag-based syntax. Examples: * (launguage: ANY(\"en\", \"es\")) AND NOT (categories: ANY(\"Movie\")) * (available: true) AND (launguage: ANY(\"en\", \"es\")) OR (categories: ANY(\"Movie\")) If your filter blocks all results, the API returns generic (unfiltered) popular Documents. If you only want results strictly matching the filters, set `strictFiltering` to `true` in RecommendRequest.params to receive empty results instead. Note that the API never returns Documents with `storageStatus` as `EXPIRED` or `DELETED` regardless of filter choices.", + "description": "Filter for restricting recommendation results with a length limit of 5,000 characters. Currently, only filter expressions on the `filter_tags` attribute is supported. Examples: * `(filter_tags: ANY(\"Red\", \"Blue\") OR filter_tags: ANY(\"Hot\", \"Cold\"))` * `(filter_tags: ANY(\"Red\", \"Blue\")) AND NOT (filter_tags: ANY(\"Green\"))` If `attributeFilteringSyntax` is set to true under the `params` field, then attribute-based expressions are expected instead of the above described tag-based syntax. Examples: * (language: ANY(\"en\", \"es\")) AND NOT (categories: ANY(\"Movie\")) * (available: true) AND (language: ANY(\"en\", \"es\")) OR (categories: ANY(\"Movie\")) If your filter blocks all results, the API returns generic (unfiltered) popular Documents. If you only want results strictly matching the filters, set `strictFiltering` to `true` in RecommendRequest.params to receive empty results instead. Note that the API never returns Documents with `storageStatus` as `EXPIRED` or `DELETED` regardless of filter choices.", "type": "string" }, "pageSize": { @@ -16724,7 +20214,7 @@ "id": "GoogleCloudDiscoveryengineV1betaRecrawlUrisRequest", "properties": { "siteCredential": { - "description": "Optional. Full resource name of the SiteCredential, such as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/siteCredentials/*`. Only set to crawl private URIs.", + "description": "Optional. Full resource name of the `SiteCredential`, such as `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/siteCredentials/*`. Only set to crawl private URIs.", "type": "string" }, "uris": { @@ -16793,6 +20283,89 @@ "properties": {}, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaSafetyRating": { + "description": "Safety rating corresponding to the generated content.", + "id": "GoogleCloudDiscoveryengineV1betaSafetyRating", + "properties": { + "blocked": { + "description": "Output only. Indicates whether the content was filtered out because of this rating.", + "readOnly": true, + "type": "boolean" + }, + "category": { + "description": "Output only. Harm category.", + "enum": [ + "HARM_CATEGORY_UNSPECIFIED", + "HARM_CATEGORY_HATE_SPEECH", + "HARM_CATEGORY_DANGEROUS_CONTENT", + "HARM_CATEGORY_HARASSMENT", + "HARM_CATEGORY_SEXUALLY_EXPLICIT", + "HARM_CATEGORY_CIVIC_INTEGRITY" + ], + "enumDescriptions": [ + "The harm category is unspecified.", + "The harm category is hate speech.", + "The harm category is dangerous content.", + "The harm category is harassment.", + "The harm category is sexually explicit content.", + "The harm category is civic integrity." + ], + "readOnly": true, + "type": "string" + }, + "probability": { + "description": "Output only. Harm probability levels in the content.", + "enum": [ + "HARM_PROBABILITY_UNSPECIFIED", + "NEGLIGIBLE", + "LOW", + "MEDIUM", + "HIGH" + ], + "enumDescriptions": [ + "Harm probability unspecified.", + "Negligible level of harm.", + "Low level of harm.", + "Medium level of harm.", + "High level of harm." + ], + "readOnly": true, + "type": "string" + }, + "probabilityScore": { + "description": "Output only. Harm probability score.", + "format": "float", + "readOnly": true, + "type": "number" + }, + "severity": { + "description": "Output only. Harm severity levels in the content.", + "enum": [ + "HARM_SEVERITY_UNSPECIFIED", + "HARM_SEVERITY_NEGLIGIBLE", + "HARM_SEVERITY_LOW", + "HARM_SEVERITY_MEDIUM", + "HARM_SEVERITY_HIGH" + ], + "enumDescriptions": [ + "Harm severity unspecified.", + "Negligible level of harm severity.", + "Low level of harm severity.", + "Medium level of harm severity.", + "High level of harm severity." + ], + "readOnly": true, + "type": "string" + }, + "severityScore": { + "description": "Output only. Harm severity score.", + "format": "float", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaSampleQuery": { "description": "Sample Query captures metadata to be used for evaluation.", "id": "GoogleCloudDiscoveryengineV1betaSampleQuery", @@ -16924,6 +20497,33 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaSearchLinkPromotion": { + "description": "Promotion proto includes uri and other helping information to display the promotion.", + "id": "GoogleCloudDiscoveryengineV1betaSearchLinkPromotion", + "properties": { + "description": { + "description": "Optional. The Promotion description. Maximum length: 200 characters.", + "type": "string" + }, + "enabled": { + "description": "Optional. The enabled promotion will be returned for any serving configs associated with the parent of the control this promotion is attached to. This flag is used for basic site search only.", + "type": "boolean" + }, + "imageUri": { + "description": "Optional. The promotion thumbnail image url.", + "type": "string" + }, + "title": { + "description": "Required. The title of the promotion. Maximum length: 160 characters.", + "type": "string" + }, + "uri": { + "description": "Required. The URL for the page the user wants to promote.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaSearchRequest": { "description": "Request message for SearchService.Search method.", "id": "GoogleCloudDiscoveryengineV1betaSearchRequest", @@ -16945,7 +20545,7 @@ "description": "A specification for configuring the behavior of content search." }, "dataStoreSpecs": { - "description": "Specs defining dataStores to filter on in a search call and configurations for those dataStores. This is only considered for engines with multiple dataStores use case. For single dataStore within an engine, they should use the specs at the top level.", + "description": "Specs defining DataStores to filter on in a search call and configurations for those data stores. This is only considered for Engines with multiple data stores. For engines with a single data store, the specs directly under SearchRequest should be used.", "items": { "$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec" }, @@ -16983,6 +20583,11 @@ "format": "int32", "type": "integer" }, + "oneBoxPageSize": { + "description": "The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default number is 10.", + "format": "int32", + "type": "integer" + }, "orderBy": { "description": "The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering the website search results, see [Order web search results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results). For more information on ordering the healthcare search results, see [Order healthcare search results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results). If this field is unrecognizable, an `INVALID_ARGUMENT` is returned.", "type": "string" @@ -17199,7 +20804,7 @@ "enumDescriptions": [ "Default value.", "Returns documents in the search result.", - "Returns chunks in the search result. Only available if the DataStore.DocumentProcessingConfig.chunking_config is specified." + "Returns chunks in the search result. Only available if the DocumentProcessingConfig.chunking_config is specified." ], "type": "string" }, @@ -17358,6 +20963,10 @@ "description": "A struct to define data stores to filter on in a search call and configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error is returned.", "id": "GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec", "properties": { + "boostSpec": { + "$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec", + "description": "Optional. Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results)" + }, "dataStore": { "description": "Required. Full resource name of DataStore, such as `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`.", "type": "string" @@ -17492,14 +21101,14 @@ "id": "GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec", "properties": { "filterExtractionCondition": { - "description": "The condition under which filter extraction should occur. Default to Condition.DISABLED.", + "description": "The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`.", "enum": [ "CONDITION_UNSPECIFIED", "DISABLED", "ENABLED" ], "enumDescriptions": [ - "Server behavior defaults to Condition.DISABLED.", + "Server behavior defaults to `DISABLED`.", "Disables NL filter extraction.", "Enables NL filter extraction." ], @@ -17685,6 +21294,13 @@ }, "type": "array" }, + "searchLinkPromotions": { + "description": "Promotions for site search.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1betaSearchLinkPromotion" + }, + "type": "array" + }, "sessionInfo": { "$ref": "GoogleCloudDiscoveryengineV1betaSearchResponseSessionInfo", "description": "Session information. Only set if SearchRequest.session is provided. See its description for more details." @@ -18322,8 +21938,15 @@ "$ref": "GoogleCloudDiscoveryengineV1betaSearchRequestPersonalizationSpec", "description": "The specification for personalization spec. Notice that if both ServingConfig.personalization_spec and SearchRequest.personalization_spec are set, SearchRequest.personalization_spec overrides ServingConfig.personalization_spec." }, + "promoteControlIds": { + "description": "Condition promote specifications. Maximum number of specifications is 100.", + "items": { + "type": "string" + }, + "type": "array" + }, "rankingExpression": { - "description": "The ranking expression controls the customized ranking on retrieval documents. To leverage this, document embedding is required. The ranking expression setting in ServingConfig applies to all search requests served by the serving config. However, if SearchRequest.ranking_expression is specified, it overrides the ServingConfig ranking expression. The ranking expression is a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between embedding_field_path and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`.", + "description": "The ranking expression controls the customized ranking on retrieval documents. To leverage this, document embedding is required. The ranking expression setting in ServingConfig applies to all search requests served by the serving config. However, if `SearchRequest.ranking_expression` is specified, it overrides the ServingConfig ranking expression. The ranking expression is a single function or multiple functions that are joined by \"+\". * ranking_expression = function, { \" + \", function }; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between embedding_field_path and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`.", "type": "string" }, "redirectControlIds": { @@ -18374,17 +21997,6 @@ }, "type": "object" }, - "GoogleCloudDiscoveryengineV1betaServingConfigDataStore": { - "description": "Stores information regarding the serving configurations at DataStore level.", - "id": "GoogleCloudDiscoveryengineV1betaServingConfigDataStore", - "properties": { - "disabledForServing": { - "description": "If set true, the DataStore will not be available for serving search requests.", - "type": "boolean" - } - }, - "type": "object" - }, "GoogleCloudDiscoveryengineV1betaServingConfigGenericConfig": { "description": "Specifies the configurations needed for Generic Discovery.Currently we support: * `content_search_spec`: configuration for generic content search.", "id": "GoogleCloudDiscoveryengineV1betaServingConfigGenericConfig", @@ -18415,6 +22027,11 @@ "format": "float", "type": "number" }, + "demoteContentWatchedPastDays": { + "description": "Optional. Specifies the number of days to look back for demoting watched content. If set to zero or unset, defaults to the maximum of 365 days.", + "format": "int32", + "type": "integer" + }, "demotionEventType": { "description": "Specifies the event type used for demoting recommendation result. Currently supported values: * `view-item`: Item viewed. * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. If unset, watch history demotion will not be applied. Content freshness demotion will still be applied.", "type": "string" @@ -18426,12 +22043,20 @@ "description": "External session proto definition.", "id": "GoogleCloudDiscoveryengineV1betaSession", "properties": { + "displayName": { + "description": "Optional. The display name of the session. This field is used to identify the session in the UI. By default, the display name is the first turn query text in the session.", + "type": "string" + }, "endTime": { "description": "Output only. The time the session finished.", "format": "google-datetime", "readOnly": true, "type": "string" }, + "isPinned": { + "description": "Optional. Whether the session is pinned, pinned session will be displayed on the top of the session list.", + "type": "boolean" + }, "name": { "description": "Immutable. Fully qualified name `projects/{project}/locations/global/collections/{collection}/engines/{engine}/sessions/*`", "type": "string" @@ -18476,6 +22101,11 @@ "description": "The resource name of the answer to the user query. Only set if the answer generation (/answer API call) happened in this turn.", "type": "string" }, + "detailedAnswer": { + "$ref": "GoogleCloudDiscoveryengineV1betaAnswer", + "description": "Output only. In ConversationalSearchService.GetSession API, if GetSessionRequest.include_answer_details is set to true, this field will be populated when getting answer query session.", + "readOnly": true + }, "query": { "$ref": "GoogleCloudDiscoveryengineV1betaQuery", "description": "The user query." @@ -18483,6 +22113,17 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaSingleRegionKey": { + "description": "Metadata for single-regional CMEKs.", + "id": "GoogleCloudDiscoveryengineV1betaSingleRegionKey", + "properties": { + "kmsKey": { + "description": "Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project}/locations/{location}/keyRings/{keyRing}/cryptoKeys/{keyId}`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaSiteSearchEngine": { "description": "SiteSearchEngine captures DataStore level site search persisting configurations. It is a singleton value per data store.", "id": "GoogleCloudDiscoveryengineV1betaSiteSearchEngine", @@ -18522,6 +22163,28 @@ }, "type": "object" }, + "GoogleCloudDiscoveryengineV1betaSitemap": { + "description": "A sitemap for the SiteSearchEngine.", + "id": "GoogleCloudDiscoveryengineV1betaSitemap", + "properties": { + "createTime": { + "description": "Output only. The sitemap's creation time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The fully qualified resource name of the sitemap. `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/sitemaps/*` The `sitemap_id` suffix is system-generated.", + "readOnly": true, + "type": "string" + }, + "uri": { + "description": "Public URI for the sitemap, e.g. `www.example.com/sitemap.xml`.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudDiscoveryengineV1betaSpannerSource": { "description": "The Spanner source for importing data", "id": "GoogleCloudDiscoveryengineV1betaSpannerSource", @@ -18579,7 +22242,7 @@ "id": "GoogleCloudDiscoveryengineV1betaTargetSite", "properties": { "exactMatch": { - "description": "Input only. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine.", + "description": "Immutable. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine.", "type": "boolean" }, "failureReason": { @@ -18899,6 +22562,10 @@ "$ref": "GoogleCloudDiscoveryengineV1betaCompletionInfo", "description": "CompletionService.CompleteQuery details related to the event. This field should be set for `search` event when autocomplete function is enabled and the user clicks a suggestion for search." }, + "conversionType": { + "description": "Optional. Conversion type. Required if UserEvent.event_type is `conversion`. This is a customer-defined conversion name in lowercase letters or numbers separated by \"-\", such as \"watch\", \"good-visit\" etc. Do not set the field if UserEvent.event_type is not `conversion`. This mixes the custom conversion event with predefined events like `search`, `view-item` etc.", + "type": "string" + }, "dataStore": { "description": "The DataStore resource full name, of the form `projects/{project}/locations/{location}/collections/{collection_id}/dataStores/{data_store_id}`. Optional. Only required for user events whose data store can't by determined by UserEvent.engine or UserEvent.documents. If data store is set in the parent of write/import/collect user event requests, this field can be omitted.", "type": "string" @@ -18924,7 +22591,7 @@ "type": "string" }, "eventType": { - "description": "Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc.", + "description": "Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home > Men > Jeans * `add-feedback`: Add a user feedback. Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event.", "type": "string" }, "filter": { @@ -18943,6 +22610,13 @@ "$ref": "GoogleCloudDiscoveryengineV1betaPanelInfo", "description": "Panel metadata associated with this user event." }, + "panels": { + "description": "Optional. List of panels associated with this event. Used for page-level impression data.", + "items": { + "$ref": "GoogleCloudDiscoveryengineV1betaPanelInfo" + }, + "type": "array" + }, "promotionIds": { "description": "The promotion IDs if this is an event associated with promotions. Currently, this field is restricted to at most one ID.", "items": { @@ -19097,6 +22771,139 @@ }, "type": "object" }, + "GoogleMonitoringV3Point": { + "description": "A single data point in a time series.", + "id": "GoogleMonitoringV3Point", + "properties": { + "interval": { + "$ref": "GoogleMonitoringV3TimeInterval", + "description": "The time interval to which the data point applies. For `GAUGE` metrics, the start time is optional, but if it is supplied, it must equal the end time. For `DELTA` metrics, the start and end time should specify a non-zero interval, with subsequent points specifying contiguous and non-overlapping intervals. For `CUMULATIVE` metrics, the start and end time should specify a non-zero interval, with subsequent points specifying the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points." + }, + "value": { + "$ref": "GoogleMonitoringV3TypedValue", + "description": "The value of the data point." + } + }, + "type": "object" + }, + "GoogleMonitoringV3TimeInterval": { + "description": "A time interval extending just after a start time through an end time. If the start time is the same as the end time, then the interval represents a single point in time.", + "id": "GoogleMonitoringV3TimeInterval", + "properties": { + "endTime": { + "description": "Required. The end of the time interval.", + "format": "google-datetime", + "type": "string" + }, + "startTime": { + "description": "Optional. The beginning of the time interval. The default value for the start time is the end time. The start time must not be later than the end time.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleMonitoringV3TimeSeries": { + "description": "A collection of data points that describes the time-varying values of a metric. A time series is identified by a combination of a fully-specified monitored resource and a fully-specified metric. This type is used for both listing and creating time series.", + "id": "GoogleMonitoringV3TimeSeries", + "properties": { + "description": { + "description": "Input only. A detailed description of the time series that will be associated with the google.api.MetricDescriptor for the metric. Once set, this field cannot be changed through CreateTimeSeries.", + "type": "string" + }, + "metadata": { + "$ref": "GoogleApiMonitoredResourceMetadata", + "description": "Output only. The associated monitored resource metadata. When reading a time series, this field will include metadata labels that are explicitly named in the reduction. When creating a time series, this field is ignored." + }, + "metric": { + "$ref": "GoogleApiMetric", + "description": "The associated metric. A fully-specified metric used to identify the time series." + }, + "metricKind": { + "description": "The metric kind of the time series. When listing time series, this metric kind might be different from the metric kind of the associated metric if this time series is an alignment or reduction of other time series. When creating a time series, this field is optional. If present, it must be the same as the metric kind of the associated metric. If the associated metric's descriptor must be auto-created, then this field specifies the metric kind of the new descriptor and must be either `GAUGE` (the default) or `CUMULATIVE`.", + "enum": [ + "METRIC_KIND_UNSPECIFIED", + "GAUGE", + "DELTA", + "CUMULATIVE" + ], + "enumDescriptions": [ + "Do not use this default value.", + "An instantaneous measurement of a value.", + "The change in a value during a time interval.", + "A value accumulated over a time interval. Cumulative measurements in a time series should have the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points." + ], + "type": "string" + }, + "points": { + "description": "The data points of this time series. When listing time series, points are returned in reverse time order. When creating a time series, this field must contain exactly one point and the point's type must be the same as the value type of the associated metric. If the associated metric's descriptor must be auto-created, then the value type of the descriptor is determined by the point's type, which must be `BOOL`, `INT64`, `DOUBLE`, or `DISTRIBUTION`.", + "items": { + "$ref": "GoogleMonitoringV3Point" + }, + "type": "array" + }, + "resource": { + "$ref": "GoogleApiMonitoredResource", + "description": "The associated monitored resource. Custom metrics can use only certain monitored resource types in their time series data. For more information, see [Monitored resources for custom metrics](https://cloud.google.com/monitoring/custom-metrics/creating-metrics#custom-metric-resources)." + }, + "unit": { + "description": "The units in which the metric value is reported. It is only applicable if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit` defines the representation of the stored metric values. This field can only be changed through CreateTimeSeries when it is empty.", + "type": "string" + }, + "valueType": { + "description": "The value type of the time series. When listing time series, this value type might be different from the value type of the associated metric if this time series is an alignment or reduction of other time series. When creating a time series, this field is optional. If present, it must be the same as the type of the data in the `points` field.", + "enum": [ + "VALUE_TYPE_UNSPECIFIED", + "BOOL", + "INT64", + "DOUBLE", + "STRING", + "DISTRIBUTION", + "MONEY" + ], + "enumDescriptions": [ + "Do not use this default value.", + "The value is a boolean. This value type can be used only if the metric kind is `GAUGE`.", + "The value is a signed 64-bit integer.", + "The value is a double precision floating point number.", + "The value is a text string. This value type can be used only if the metric kind is `GAUGE`.", + "The value is a `Distribution`.", + "The value is money." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleMonitoringV3TypedValue": { + "description": "A single strongly-typed value.", + "id": "GoogleMonitoringV3TypedValue", + "properties": { + "boolValue": { + "description": "A Boolean value: `true` or `false`.", + "type": "boolean" + }, + "distributionValue": { + "$ref": "GoogleApiDistribution", + "description": "A distribution value." + }, + "doubleValue": { + "description": "A 64-bit double-precision floating-point number. Its magnitude is approximately ±10±300 and it has 16 significant digits of precision.", + "format": "double", + "type": "number" + }, + "int64Value": { + "description": "A 64-bit integer. Its range is approximately ±9.2x1018.", + "format": "int64", + "type": "string" + }, + "stringValue": { + "description": "A variable-length string value.", + "type": "string" + } + }, + "type": "object" + }, "GoogleProtobufEmpty": { "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "GoogleProtobufEmpty", @@ -19151,6 +22958,72 @@ } }, "type": "object" + }, + "GoogleTypeDateTime": { + "description": "Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations.", + "id": "GoogleTypeDateTime", + "properties": { + "day": { + "description": "Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day.", + "format": "int32", + "type": "integer" + }, + "hours": { + "description": "Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "format": "int32", + "type": "integer" + }, + "minutes": { + "description": "Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.", + "format": "int32", + "type": "integer" + }, + "month": { + "description": "Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month.", + "format": "int32", + "type": "integer" + }, + "nanos": { + "description": "Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0.", + "format": "int32", + "type": "integer" + }, + "seconds": { + "description": "Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds.", + "format": "int32", + "type": "integer" + }, + "timeZone": { + "$ref": "GoogleTypeTimeZone", + "description": "Time zone." + }, + "utcOffset": { + "description": "UTC offset. Must be whole seconds, between -18 hours and +18 hours. For example, a UTC offset of -4:00 would be represented as { seconds: -14400 }.", + "format": "google-duration", + "type": "string" + }, + "year": { + "description": "Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleTypeTimeZone": { + "description": "Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones).", + "id": "GoogleTypeTimeZone", + "properties": { + "id": { + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", + "type": "string" + }, + "version": { + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", + "type": "string" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/discovery/displayvideo-v2.json b/discovery/displayvideo-v2.json index 5cf1c370eb..b760c34f44 100644 --- a/discovery/displayvideo-v2.json +++ b/discovery/displayvideo-v2.json @@ -6322,7 +6322,7 @@ "type": "string" }, "pageSize": { - "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "description": "Requested page size. Must be between `1` and `5000`. If unspecified, this value defaults to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", "format": "int32", "location": "query", "type": "integer" @@ -9267,7 +9267,7 @@ } } }, - "revision": "20241003", + "revision": "20241212", "rootUrl": "https://displayvideo.googleapis.com/", "schemas": { "ActivateManualTriggerRequest": { @@ -9421,11 +9421,11 @@ "type": "object" }, "Adloox": { - "description": "Details of Adloox settings.", + "description": "Details of Adloox brand safety settings.", "id": "Adloox", "properties": { "excludedAdlooxCategories": { - "description": "Adloox's brand safety settings.", + "description": "Adloox categories to exclude.", "items": { "enum": [ "ADLOOX_UNSPECIFIED", @@ -9439,7 +9439,7 @@ "FRAUD" ], "enumDescriptions": [ - "This enum is only a placeholder and it doesn't specify any Adloox option.", + "Default value when a Adloox category is not specified or is unknown in this version.", "Adult content (hard).", "Adult content (soft).", "Illegal content.", @@ -9472,7 +9472,7 @@ }, "billingConfig": { "$ref": "AdvertiserBillingConfig", - "description": "Optional. Required. Billing related settings of the advertiser." + "description": "Required. Billing related settings of the advertiser." }, "creativeConfig": { "$ref": "AdvertiserCreativeConfig", @@ -9561,7 +9561,7 @@ "id": "AdvertiserBillingConfig", "properties": { "billingProfileId": { - "description": "Optional. The ID of a billing profile assigned to the advertiser.", + "description": "Required. The ID of a billing profile assigned to the advertiser.", "format": "int64", "type": "string" } @@ -9881,7 +9881,12 @@ "ASSET_ROLE_IOS_APP_ID", "ASSET_ROLE_RATING", "ASSET_ROLE_ICON", - "ASSET_ROLE_COVER_IMAGE" + "ASSET_ROLE_COVER_IMAGE", + "ASSET_ROLE_BACKGROUND_COLOR", + "ASSET_ROLE_ACCENT_COLOR", + "ASSET_ROLE_REQUIRE_LOGO", + "ASSET_ROLE_REQUIRE_IMAGE", + "ASSET_ROLE_ENABLE_ASSET_ENHANCEMENTS" ], "enumDescriptions": [ "Asset role is not specified or is unknown in this version.", @@ -9900,7 +9905,12 @@ "The ID of an iOS app in the Apple app store. This ID number can be found in the Apple App Store URL as the string of numbers directly after \"id\". For example, in https://apps.apple.com/us/app/gmail-email-by-google/id422689480 the ID is 422689480. Assets of this role are read-only.", "The rating of an app in the Google play store or iOS app store. Note that this value is not automatically synced with the actual rating in the store. It will always be the one provided when save the creative. Assets of this role are read-only.", "The icon of a creative. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE`", - "The cover image of a native video creative. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_VIDEO`" + "The cover image of a native video creative. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_VIDEO`", + "The main color to use in a creative. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`", + "The accent color to use in a creative. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`", + "Whether the creative must use a logo asset. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`", + "Whether the creative must use an image asset. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`", + "Whether asset enhancements can be applied to the creative. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`" ], "type": "string" } @@ -12332,7 +12342,8 @@ "SDF_VERSION_5_5", "SDF_VERSION_6", "SDF_VERSION_7", - "SDF_VERSION_7_1" + "SDF_VERSION_7_1", + "SDF_VERSION_8" ], "enumDeprecated": [ false, @@ -12348,6 +12359,7 @@ true, false, false, + false, false ], "enumDescriptions": [ @@ -12364,7 +12376,8 @@ "SDF version 5.5", "SDF version 6", "SDF version 7. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version.", - "SDF version 7.1. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version." + "SDF version 7.1. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version.", + "SDF version 8. Read the [v8 migration guide](/display-video/api/structured-data-file/v8-migration-guide) before migrating to this version." ], "type": "string" } @@ -12473,7 +12486,8 @@ "CREATIVE_TYPE_AUDIO", "CREATIVE_TYPE_PUBLISHER_HOSTED", "CREATIVE_TYPE_NATIVE_VIDEO", - "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" + "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO", + "CREATIVE_TYPE_ASSET_BASED_CREATIVE" ], "enumDescriptions": [ "Type value is not specified or is unknown in this version.", @@ -12490,7 +12504,8 @@ "Audio creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`", "Publisher hosted creative. Create and update methods are **not** supported for this creative type.", "Native video creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`", - "Templated app install mobile video creative. Create and update methods are **not** supported for this creative type." + "Templated app install mobile video creative. Create and update methods are **not** supported for this creative type.", + "Asset based creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`." ], "type": "string" }, @@ -12750,7 +12765,8 @@ "CREATIVE_TYPE_AUDIO", "CREATIVE_TYPE_PUBLISHER_HOSTED", "CREATIVE_TYPE_NATIVE_VIDEO", - "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" + "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO", + "CREATIVE_TYPE_ASSET_BASED_CREATIVE" ], "enumDescriptions": [ "Type value is not specified or is unknown in this version.", @@ -12767,7 +12783,8 @@ "Audio creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`", "Publisher hosted creative. Create and update methods are **not** supported for this creative type.", "Native video creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`", - "Templated app install mobile video creative. Create and update methods are **not** supported for this creative type." + "Templated app install mobile video creative. Create and update methods are **not** supported for this creative type.", + "Asset based creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`." ], "type": "string" }, @@ -14110,7 +14127,9 @@ "EXCHANGE_CHARTBOOST_GBID", "EXCHANGE_ADMOST_GBID", "EXCHANGE_TOPON_GBID", - "EXCHANGE_NETFLIX" + "EXCHANGE_NETFLIX", + "EXCHANGE_CORE", + "EXCHANGE_TUBI" ], "enumDescriptions": [ "Exchange is not specified or is unknown in this version.", @@ -14195,7 +14214,9 @@ "Chartboost Mediation.", "AdMost.", "TopOn.", - "Netflix." + "Netflix.", + "Core.", + "Tubi." ], "type": "string" } @@ -14305,7 +14326,9 @@ "EXCHANGE_CHARTBOOST_GBID", "EXCHANGE_ADMOST_GBID", "EXCHANGE_TOPON_GBID", - "EXCHANGE_NETFLIX" + "EXCHANGE_NETFLIX", + "EXCHANGE_CORE", + "EXCHANGE_TUBI" ], "enumDescriptions": [ "Exchange is not specified or is unknown in this version.", @@ -14390,7 +14413,9 @@ "Chartboost Mediation.", "AdMost.", "TopOn.", - "Netflix." + "Netflix.", + "Core.", + "Tubi." ], "type": "string" }, @@ -14501,7 +14526,9 @@ "EXCHANGE_CHARTBOOST_GBID", "EXCHANGE_ADMOST_GBID", "EXCHANGE_TOPON_GBID", - "EXCHANGE_NETFLIX" + "EXCHANGE_NETFLIX", + "EXCHANGE_CORE", + "EXCHANGE_TUBI" ], "enumDescriptions": [ "Exchange is not specified or is unknown in this version.", @@ -14586,7 +14613,9 @@ "Chartboost Mediation.", "AdMost.", "TopOn.", - "Netflix." + "Netflix.", + "Core.", + "Tubi." ], "type": "string" }, @@ -14698,7 +14727,9 @@ "EXCHANGE_CHARTBOOST_GBID", "EXCHANGE_ADMOST_GBID", "EXCHANGE_TOPON_GBID", - "EXCHANGE_NETFLIX" + "EXCHANGE_NETFLIX", + "EXCHANGE_CORE", + "EXCHANGE_TUBI" ], "enumDescriptions": [ "Exchange is not specified or is unknown in this version.", @@ -14783,7 +14814,9 @@ "Chartboost Mediation.", "AdMost.", "TopOn.", - "Netflix." + "Netflix.", + "Core.", + "Tubi." ], "readOnly": true, "type": "string" @@ -15746,7 +15779,9 @@ "EXCHANGE_CHARTBOOST_GBID", "EXCHANGE_ADMOST_GBID", "EXCHANGE_TOPON_GBID", - "EXCHANGE_NETFLIX" + "EXCHANGE_NETFLIX", + "EXCHANGE_CORE", + "EXCHANGE_TUBI" ], "enumDescriptions": [ "Exchange is not specified or is unknown in this version.", @@ -15831,7 +15866,9 @@ "Chartboost Mediation.", "AdMost.", "TopOn.", - "Netflix." + "Netflix.", + "Core.", + "Tubi." ], "type": "string" }, @@ -16195,7 +16232,7 @@ }, "pacing": { "$ref": "Pacing", - "description": "Required. The budget spending speed setting of the insertion order. *Warning*: Starting on **November 5, 2024**, pacing_type `PACING_TYPE_ASAP` will no longer be compatible with pacing_period `PACING_PERIOD_FLIGHT`. [Read more about this announced change](/display-video/api/deprecations#features.io_asap)." + "description": "Required. The budget spending speed setting of the insertion order. pacing_type `PACING_TYPE_ASAP` is not compatible with pacing_period `PACING_PERIOD_FLIGHT`." }, "partnerCosts": { "description": "The partner costs associated with the insertion order. If absent or empty in CreateInsertionOrder method, the newly created insertion order will inherit partner costs from the partner settings.", @@ -16659,7 +16696,9 @@ "EXCHANGE_CHARTBOOST_GBID", "EXCHANGE_ADMOST_GBID", "EXCHANGE_TOPON_GBID", - "EXCHANGE_NETFLIX" + "EXCHANGE_NETFLIX", + "EXCHANGE_CORE", + "EXCHANGE_TUBI" ], "enumDescriptions": [ "Exchange is not specified or is unknown in this version.", @@ -16744,7 +16783,9 @@ "Chartboost Mediation.", "AdMost.", "TopOn.", - "Netflix." + "Netflix.", + "Core.", + "Tubi." ], "type": "string" }, @@ -18847,7 +18888,7 @@ "type": "string" }, "pacingType": { - "description": "Required. The type of pacing that defines how the budget amount will be spent across the pacing_period. *Warning*: Starting on **November 5, 2024**, `PACING_TYPE_ASAP` will no longer be compatible with pacing_period `PACING_PERIOD_FLIGHT` for insertion orders. [Read more about this announced change](/display-video/api/deprecations#features.io_asap).", + "description": "Required. The type of pacing that defines how the budget amount will be spent across the pacing_period. `PACING_TYPE_ASAP` is not compatible with pacing_period `PACING_PERIOD_FLIGHT` for insertion orders.", "enum": [ "PACING_TYPE_UNSPECIFIED", "PACING_TYPE_AHEAD", @@ -19849,7 +19890,8 @@ "SDF_VERSION_5_5", "SDF_VERSION_6", "SDF_VERSION_7", - "SDF_VERSION_7_1" + "SDF_VERSION_7_1", + "SDF_VERSION_8" ], "enumDeprecated": [ false, @@ -19865,6 +19907,7 @@ true, false, false, + false, false ], "enumDescriptions": [ @@ -19881,7 +19924,8 @@ "SDF version 5.5", "SDF version 6", "SDF version 7. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version.", - "SDF version 7.1. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version." + "SDF version 7.1. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version.", + "SDF version 8. Read the [v8 migration guide](/display-video/api/structured-data-file/v8-migration-guide) before migrating to this version." ], "type": "string" } @@ -19929,7 +19973,8 @@ "SDF_VERSION_5_5", "SDF_VERSION_6", "SDF_VERSION_7", - "SDF_VERSION_7_1" + "SDF_VERSION_7_1", + "SDF_VERSION_8" ], "enumDeprecated": [ false, @@ -19945,6 +19990,7 @@ true, false, false, + false, false ], "enumDescriptions": [ @@ -19961,7 +20007,8 @@ "SDF version 5.5", "SDF version 6", "SDF version 7. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version.", - "SDF version 7.1. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version." + "SDF version 7.1. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version.", + "SDF version 8. Read the [v8 migration guide](/display-video/api/structured-data-file/v8-migration-guide) before migrating to this version." ], "type": "string" } diff --git a/discovery/displayvideo-v3.json b/discovery/displayvideo-v3.json index 4714315479..ffd4f057bd 100644 --- a/discovery/displayvideo-v3.json +++ b/discovery/displayvideo-v3.json @@ -6271,7 +6271,7 @@ "type": "string" }, "pageSize": { - "description": "Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", + "description": "Requested page size. Must be between `1` and `5000`. If unspecified, this value defaults to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified.", "format": "int32", "location": "query", "type": "integer" @@ -9222,7 +9222,7 @@ } } }, - "revision": "20241003", + "revision": "20241212", "rootUrl": "https://displayvideo.googleapis.com/", "schemas": { "ActiveViewVideoViewabilityMetricConfig": { @@ -9563,11 +9563,121 @@ "type": "object" }, "Adloox": { - "description": "Details of Adloox settings.", + "description": "Details of Adloox brand safety settings.", "id": "Adloox", "properties": { + "adultExplicitSexualContent": { + "description": "Optional. Adult and Explicit Sexual Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.", + "enum": [ + "GARM_RISK_EXCLUSION_UNSPECIFIED", + "GARM_RISK_EXCLUSION_FLOOR", + "GARM_RISK_EXCLUSION_HIGH", + "GARM_RISK_EXCLUSION_MEDIUM", + "GARM_RISK_EXCLUSION_LOW" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any GARM risk exclusion option.", + "Exclude floor risk.", + "Exclude high and floor risk.", + "Exclude medium, high, and floor risk.", + "Exclude all levels of risk (low, medium, high and floor)." + ], + "type": "string" + }, + "armsAmmunitionContent": { + "description": "Optional. Arms and Ammunition Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.", + "enum": [ + "GARM_RISK_EXCLUSION_UNSPECIFIED", + "GARM_RISK_EXCLUSION_FLOOR", + "GARM_RISK_EXCLUSION_HIGH", + "GARM_RISK_EXCLUSION_MEDIUM", + "GARM_RISK_EXCLUSION_LOW" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any GARM risk exclusion option.", + "Exclude floor risk.", + "Exclude high and floor risk.", + "Exclude medium, high, and floor risk.", + "Exclude all levels of risk (low, medium, high and floor)." + ], + "type": "string" + }, + "crimeHarmfulActsIndividualsSocietyHumanRightsViolationsContent": { + "description": "Optional. Crime and Harmful Acts Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.", + "enum": [ + "GARM_RISK_EXCLUSION_UNSPECIFIED", + "GARM_RISK_EXCLUSION_FLOOR", + "GARM_RISK_EXCLUSION_HIGH", + "GARM_RISK_EXCLUSION_MEDIUM", + "GARM_RISK_EXCLUSION_LOW" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any GARM risk exclusion option.", + "Exclude floor risk.", + "Exclude high and floor risk.", + "Exclude medium, high, and floor risk.", + "Exclude all levels of risk (low, medium, high and floor)." + ], + "type": "string" + }, + "deathInjuryMilitaryConflictContent": { + "description": "Optional. Death, Injury, or Military Conflict Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.", + "enum": [ + "GARM_RISK_EXCLUSION_UNSPECIFIED", + "GARM_RISK_EXCLUSION_FLOOR", + "GARM_RISK_EXCLUSION_HIGH", + "GARM_RISK_EXCLUSION_MEDIUM", + "GARM_RISK_EXCLUSION_LOW" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any GARM risk exclusion option.", + "Exclude floor risk.", + "Exclude high and floor risk.", + "Exclude medium, high, and floor risk.", + "Exclude all levels of risk (low, medium, high and floor)." + ], + "type": "string" + }, + "debatedSensitiveSocialIssueContent": { + "description": "Optional. Debated Sensitive Social Issue Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.", + "enum": [ + "GARM_RISK_EXCLUSION_UNSPECIFIED", + "GARM_RISK_EXCLUSION_FLOOR", + "GARM_RISK_EXCLUSION_HIGH", + "GARM_RISK_EXCLUSION_MEDIUM", + "GARM_RISK_EXCLUSION_LOW" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any GARM risk exclusion option.", + "Exclude floor risk.", + "Exclude high and floor risk.", + "Exclude medium, high, and floor risk.", + "Exclude all levels of risk (low, medium, high and floor)." + ], + "type": "string" + }, + "displayIabViewability": { + "description": "Optional. IAB viewability threshold for display ads.", + "enum": [ + "DISPLAY_IAB_VIEWABILITY_UNSPECIFIED", + "DISPLAY_IAB_VIEWABILITY_10", + "DISPLAY_IAB_VIEWABILITY_20", + "DISPLAY_IAB_VIEWABILITY_35", + "DISPLAY_IAB_VIEWABILITY_50", + "DISPLAY_IAB_VIEWABILITY_75" + ], + "enumDescriptions": [ + "Default value when not specified or is unknown in this version.", + "10%+ in view (IAB display viewability standard).", + "20%+ in view (IAB display viewability standard).", + "35%+ in view (IAB display viewability standard).", + "50%+ in view (IAB display viewability standard).", + "75%+ in view (IAB display viewability standard)." + ], + "type": "string" + }, "excludedAdlooxCategories": { - "description": "Adloox's brand safety settings.", + "description": "Adloox categories to exclude.", "items": { "enum": [ "ADLOOX_UNSPECIFIED", @@ -9581,7 +9691,7 @@ "FRAUD" ], "enumDescriptions": [ - "This enum is only a placeholder and it doesn't specify any Adloox option.", + "Default value when a Adloox category is not specified or is unknown in this version.", "Adult content (hard).", "Adult content (soft).", "Illegal content.", @@ -9594,6 +9704,167 @@ "type": "string" }, "type": "array" + }, + "excludedFraudIvtMfaCategories": { + "description": "Optional. Adloox's fraud IVT MFA categories to exclude.", + "items": { + "enum": [ + "FRAUD_IVT_MFA_CATEGORY_UNSPECIFIED", + "FRAUD_IVT_MFA" + ], + "enumDescriptions": [ + "Default value when a Adloox Fraud, IVT, MFA category is not specified or is unknown in this version.", + "FRAUD, IVT, MFA." + ], + "type": "string" + }, + "type": "array" + }, + "hateSpeechActsAggressionContent": { + "description": "Optional. Hate Speech and Acts of Aggression Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.", + "enum": [ + "GARM_RISK_EXCLUSION_UNSPECIFIED", + "GARM_RISK_EXCLUSION_FLOOR", + "GARM_RISK_EXCLUSION_HIGH", + "GARM_RISK_EXCLUSION_MEDIUM", + "GARM_RISK_EXCLUSION_LOW" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any GARM risk exclusion option.", + "Exclude floor risk.", + "Exclude high and floor risk.", + "Exclude medium, high, and floor risk.", + "Exclude all levels of risk (low, medium, high and floor)." + ], + "type": "string" + }, + "illegalDrugsTobaccoEcigarettesVapingAlcoholContent": { + "description": "Optional. Illegal Drugs/Alcohol Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.", + "enum": [ + "GARM_RISK_EXCLUSION_UNSPECIFIED", + "GARM_RISK_EXCLUSION_FLOOR", + "GARM_RISK_EXCLUSION_HIGH", + "GARM_RISK_EXCLUSION_MEDIUM", + "GARM_RISK_EXCLUSION_LOW" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any GARM risk exclusion option.", + "Exclude floor risk.", + "Exclude high and floor risk.", + "Exclude medium, high, and floor risk.", + "Exclude all levels of risk (low, medium, high and floor)." + ], + "type": "string" + }, + "misinformationContent": { + "description": "Optional. Misinformation Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.", + "enum": [ + "GARM_RISK_EXCLUSION_UNSPECIFIED", + "GARM_RISK_EXCLUSION_FLOOR", + "GARM_RISK_EXCLUSION_HIGH", + "GARM_RISK_EXCLUSION_MEDIUM", + "GARM_RISK_EXCLUSION_LOW" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any GARM risk exclusion option.", + "Exclude floor risk.", + "Exclude high and floor risk.", + "Exclude medium, high, and floor risk.", + "Exclude all levels of risk (low, medium, high and floor)." + ], + "type": "string" + }, + "obscenityProfanityContent": { + "description": "Optional. Obscenity and Profanity Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.", + "enum": [ + "GARM_RISK_EXCLUSION_UNSPECIFIED", + "GARM_RISK_EXCLUSION_FLOOR", + "GARM_RISK_EXCLUSION_HIGH", + "GARM_RISK_EXCLUSION_MEDIUM", + "GARM_RISK_EXCLUSION_LOW" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any GARM risk exclusion option.", + "Exclude floor risk.", + "Exclude high and floor risk.", + "Exclude medium, high, and floor risk.", + "Exclude all levels of risk (low, medium, high and floor)." + ], + "type": "string" + }, + "onlinePiracyContent": { + "description": "Optional. Online Piracy Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.", + "enum": [ + "GARM_RISK_EXCLUSION_UNSPECIFIED", + "GARM_RISK_EXCLUSION_FLOOR", + "GARM_RISK_EXCLUSION_HIGH", + "GARM_RISK_EXCLUSION_MEDIUM", + "GARM_RISK_EXCLUSION_LOW" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any GARM risk exclusion option.", + "Exclude floor risk.", + "Exclude high and floor risk.", + "Exclude medium, high, and floor risk.", + "Exclude all levels of risk (low, medium, high and floor)." + ], + "type": "string" + }, + "spamHarmfulContent": { + "description": "Optional. Spam or Harmful Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.", + "enum": [ + "GARM_RISK_EXCLUSION_UNSPECIFIED", + "GARM_RISK_EXCLUSION_FLOOR", + "GARM_RISK_EXCLUSION_HIGH", + "GARM_RISK_EXCLUSION_MEDIUM", + "GARM_RISK_EXCLUSION_LOW" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any GARM risk exclusion option.", + "Exclude floor risk.", + "Exclude high and floor risk.", + "Exclude medium, high, and floor risk.", + "Exclude all levels of risk (low, medium, high and floor)." + ], + "type": "string" + }, + "terrorismContent": { + "description": "Optional. Terrorism Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude.", + "enum": [ + "GARM_RISK_EXCLUSION_UNSPECIFIED", + "GARM_RISK_EXCLUSION_FLOOR", + "GARM_RISK_EXCLUSION_HIGH", + "GARM_RISK_EXCLUSION_MEDIUM", + "GARM_RISK_EXCLUSION_LOW" + ], + "enumDescriptions": [ + "This enum is only a placeholder and it doesn't specify any GARM risk exclusion option.", + "Exclude floor risk.", + "Exclude high and floor risk.", + "Exclude medium, high, and floor risk.", + "Exclude all levels of risk (low, medium, high and floor)." + ], + "type": "string" + }, + "videoIabViewability": { + "description": "Optional. IAB viewability threshold for video ads.", + "enum": [ + "VIDEO_IAB_VIEWABILITY_UNSPECIFIED", + "VIDEO_IAB_VIEWABILITY_10", + "VIDEO_IAB_VIEWABILITY_20", + "VIDEO_IAB_VIEWABILITY_35", + "VIDEO_IAB_VIEWABILITY_50", + "VIDEO_IAB_VIEWABILITY_75" + ], + "enumDescriptions": [ + "Default value when not specified or is unknown in this version.", + "10%+ in view (IAB video viewability standard).", + "20%+ in view (IAB video viewability standard).", + "35%+ in view (IAB video viewability standard).", + "50%+ in view (IAB video viewability standard).", + "75%+ in view (IAB video viewability standard)." + ], + "type": "string" } }, "type": "object" @@ -9614,7 +9885,7 @@ }, "billingConfig": { "$ref": "AdvertiserBillingConfig", - "description": "Optional. Required. Billing related settings of the advertiser." + "description": "Required. Billing related settings of the advertiser." }, "creativeConfig": { "$ref": "AdvertiserCreativeConfig", @@ -9703,7 +9974,7 @@ "id": "AdvertiserBillingConfig", "properties": { "billingProfileId": { - "description": "Optional. The ID of a billing profile assigned to the advertiser.", + "description": "Required. The ID of a billing profile assigned to the advertiser.", "format": "int64", "type": "string" } @@ -10049,7 +10320,9 @@ "EXCHANGE_CHARTBOOST_GBID", "EXCHANGE_ADMOST_GBID", "EXCHANGE_TOPON_GBID", - "EXCHANGE_NETFLIX" + "EXCHANGE_NETFLIX", + "EXCHANGE_CORE", + "EXCHANGE_TUBI" ], "enumDescriptions": [ "Exchange is not specified or is unknown in this version.", @@ -10134,7 +10407,9 @@ "Chartboost Mediation.", "AdMost.", "TopOn.", - "Netflix." + "Netflix.", + "Core.", + "Tubi." ], "type": "string" }, @@ -10293,10 +10568,10 @@ "enumDescriptions": [ "Unknown operator.", "Values are equal.", - "First value is greater than the comparison value.", - "First value is less than the second.", - "First value is greater than or equal to the second.", - "First value is less or equals to the comparison value." + "Signal value is greater than the comparison value.", + "Signal value is less than the second.", + "Signal value is greater than or equal to the second.", + "Signal value is less or equals to the comparison value." ], "type": "string" }, @@ -10452,7 +10727,12 @@ "ASSET_ROLE_IOS_APP_ID", "ASSET_ROLE_RATING", "ASSET_ROLE_ICON", - "ASSET_ROLE_COVER_IMAGE" + "ASSET_ROLE_COVER_IMAGE", + "ASSET_ROLE_BACKGROUND_COLOR", + "ASSET_ROLE_ACCENT_COLOR", + "ASSET_ROLE_REQUIRE_LOGO", + "ASSET_ROLE_REQUIRE_IMAGE", + "ASSET_ROLE_ENABLE_ASSET_ENHANCEMENTS" ], "enumDescriptions": [ "Asset role is not specified or is unknown in this version.", @@ -10471,7 +10751,12 @@ "The ID of an iOS app in the Apple app store. This ID number can be found in the Apple App Store URL as the string of numbers directly after \"id\". For example, in https://apps.apple.com/us/app/gmail-email-by-google/id422689480 the ID is 422689480. Assets of this role are read-only.", "The rating of an app in the Google play store or iOS app store. Note that this value is not automatically synced with the actual rating in the store. It will always be the one provided when save the creative. Assets of this role are read-only.", "The icon of a creative. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_NATIVE` * `CREATIVE_TYPE_NATIVE_SITE_SQUARE`", - "The cover image of a native video creative. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_VIDEO`" + "The cover image of a native video creative. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_VIDEO`", + "The main color to use in a creative. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`", + "The accent color to use in a creative. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`", + "Whether the creative must use a logo asset. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`", + "Whether the creative must use an image asset. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`", + "Whether asset enhancements can be applied to the creative. This role is only supported and required in following creative_type: * `CREATIVE_TYPE_ASSET_BASED_CREATIVE`" ], "type": "string" } @@ -12907,7 +13192,8 @@ "SDF_VERSION_5_5", "SDF_VERSION_6", "SDF_VERSION_7", - "SDF_VERSION_7_1" + "SDF_VERSION_7_1", + "SDF_VERSION_8" ], "enumDeprecated": [ false, @@ -12923,6 +13209,7 @@ true, false, false, + false, false ], "enumDescriptions": [ @@ -12939,7 +13226,8 @@ "SDF version 5.5", "SDF version 6", "SDF version 7. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version.", - "SDF version 7.1. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version." + "SDF version 7.1. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version.", + "SDF version 8. Read the [v8 migration guide](/display-video/api/structured-data-file/v8-migration-guide) before migrating to this version." ], "type": "string" } @@ -13048,7 +13336,8 @@ "CREATIVE_TYPE_AUDIO", "CREATIVE_TYPE_PUBLISHER_HOSTED", "CREATIVE_TYPE_NATIVE_VIDEO", - "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" + "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO", + "CREATIVE_TYPE_ASSET_BASED_CREATIVE" ], "enumDescriptions": [ "Type value is not specified or is unknown in this version.", @@ -13065,7 +13354,8 @@ "Audio creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`", "Publisher hosted creative. Create and update methods are **not** supported for this creative type.", "Native video creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`", - "Templated app install mobile video creative. Create and update methods are **not** supported for this creative type." + "Templated app install mobile video creative. Create and update methods are **not** supported for this creative type.", + "Asset based creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`." ], "type": "string" }, @@ -13325,7 +13615,8 @@ "CREATIVE_TYPE_AUDIO", "CREATIVE_TYPE_PUBLISHER_HOSTED", "CREATIVE_TYPE_NATIVE_VIDEO", - "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO" + "CREATIVE_TYPE_TEMPLATED_APP_INSTALL_VIDEO", + "CREATIVE_TYPE_ASSET_BASED_CREATIVE" ], "enumDescriptions": [ "Type value is not specified or is unknown in this version.", @@ -13342,7 +13633,8 @@ "Audio creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`", "Publisher hosted creative. Create and update methods are **not** supported for this creative type.", "Native video creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`", - "Templated app install mobile video creative. Create and update methods are **not** supported for this creative type." + "Templated app install mobile video creative. Create and update methods are **not** supported for this creative type.", + "Asset based creative. Create and update methods are supported for this creative type if the hosting_source is `HOSTING_SOURCE_HOSTED`." ], "type": "string" }, @@ -14826,7 +15118,9 @@ "EXCHANGE_CHARTBOOST_GBID", "EXCHANGE_ADMOST_GBID", "EXCHANGE_TOPON_GBID", - "EXCHANGE_NETFLIX" + "EXCHANGE_NETFLIX", + "EXCHANGE_CORE", + "EXCHANGE_TUBI" ], "enumDescriptions": [ "Exchange is not specified or is unknown in this version.", @@ -14911,7 +15205,9 @@ "Chartboost Mediation.", "AdMost.", "TopOn.", - "Netflix." + "Netflix.", + "Core.", + "Tubi." ], "type": "string" } @@ -15021,7 +15317,9 @@ "EXCHANGE_CHARTBOOST_GBID", "EXCHANGE_ADMOST_GBID", "EXCHANGE_TOPON_GBID", - "EXCHANGE_NETFLIX" + "EXCHANGE_NETFLIX", + "EXCHANGE_CORE", + "EXCHANGE_TUBI" ], "enumDescriptions": [ "Exchange is not specified or is unknown in this version.", @@ -15106,7 +15404,9 @@ "Chartboost Mediation.", "AdMost.", "TopOn.", - "Netflix." + "Netflix.", + "Core.", + "Tubi." ], "type": "string" }, @@ -15217,7 +15517,9 @@ "EXCHANGE_CHARTBOOST_GBID", "EXCHANGE_ADMOST_GBID", "EXCHANGE_TOPON_GBID", - "EXCHANGE_NETFLIX" + "EXCHANGE_NETFLIX", + "EXCHANGE_CORE", + "EXCHANGE_TUBI" ], "enumDescriptions": [ "Exchange is not specified or is unknown in this version.", @@ -15302,7 +15604,9 @@ "Chartboost Mediation.", "AdMost.", "TopOn.", - "Netflix." + "Netflix.", + "Core.", + "Tubi." ], "type": "string" }, @@ -15414,7 +15718,9 @@ "EXCHANGE_CHARTBOOST_GBID", "EXCHANGE_ADMOST_GBID", "EXCHANGE_TOPON_GBID", - "EXCHANGE_NETFLIX" + "EXCHANGE_NETFLIX", + "EXCHANGE_CORE", + "EXCHANGE_TUBI" ], "enumDescriptions": [ "Exchange is not specified or is unknown in this version.", @@ -15499,7 +15805,9 @@ "Chartboost Mediation.", "AdMost.", "TopOn.", - "Netflix." + "Netflix.", + "Core.", + "Tubi." ], "readOnly": true, "type": "string" @@ -16462,7 +16770,9 @@ "EXCHANGE_CHARTBOOST_GBID", "EXCHANGE_ADMOST_GBID", "EXCHANGE_TOPON_GBID", - "EXCHANGE_NETFLIX" + "EXCHANGE_NETFLIX", + "EXCHANGE_CORE", + "EXCHANGE_TUBI" ], "enumDescriptions": [ "Exchange is not specified or is unknown in this version.", @@ -16547,7 +16857,9 @@ "Chartboost Mediation.", "AdMost.", "TopOn.", - "Netflix." + "Netflix.", + "Core.", + "Tubi." ], "type": "string" }, @@ -16929,7 +17241,7 @@ }, "pacing": { "$ref": "Pacing", - "description": "Required. The budget spending speed setting of the insertion order. *Warning*: Starting on **November 5, 2024**, pacing_type `PACING_TYPE_ASAP` will no longer be compatible with pacing_period `PACING_PERIOD_FLIGHT`. [Read more about this announced change](/display-video/api/deprecations#features.io_asap)." + "description": "Required. The budget spending speed setting of the insertion order. pacing_type `PACING_TYPE_ASAP` is not compatible with pacing_period `PACING_PERIOD_FLIGHT`." }, "partnerCosts": { "description": "The partner costs associated with the insertion order. If absent or empty in CreateInsertionOrder method, the newly created insertion order will inherit partner costs from the partner settings.", @@ -17389,7 +17701,9 @@ "EXCHANGE_CHARTBOOST_GBID", "EXCHANGE_ADMOST_GBID", "EXCHANGE_TOPON_GBID", - "EXCHANGE_NETFLIX" + "EXCHANGE_NETFLIX", + "EXCHANGE_CORE", + "EXCHANGE_TUBI" ], "enumDescriptions": [ "Exchange is not specified or is unknown in this version.", @@ -17474,7 +17788,9 @@ "Chartboost Mediation.", "AdMost.", "TopOn.", - "Netflix." + "Netflix.", + "Core.", + "Tubi." ], "type": "string" }, @@ -19598,7 +19914,7 @@ "type": "string" }, "pacingType": { - "description": "Required. The type of pacing that defines how the budget amount will be spent across the pacing_period. *Warning*: Starting on **November 5, 2024**, `PACING_TYPE_ASAP` will no longer be compatible with pacing_period `PACING_PERIOD_FLIGHT` for insertion orders. [Read more about this announced change](/display-video/api/deprecations#features.io_asap).", + "description": "Required. The type of pacing that defines how the budget amount will be spent across the pacing_period. `PACING_TYPE_ASAP` is not compatible with pacing_period `PACING_PERIOD_FLIGHT` for insertion orders.", "enum": [ "PACING_TYPE_UNSPECIFIED", "PACING_TYPE_AHEAD", @@ -20620,7 +20936,8 @@ "SDF_VERSION_5_5", "SDF_VERSION_6", "SDF_VERSION_7", - "SDF_VERSION_7_1" + "SDF_VERSION_7_1", + "SDF_VERSION_8" ], "enumDeprecated": [ false, @@ -20636,6 +20953,7 @@ true, false, false, + false, false ], "enumDescriptions": [ @@ -20652,7 +20970,8 @@ "SDF version 5.5", "SDF version 6", "SDF version 7. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version.", - "SDF version 7.1. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version." + "SDF version 7.1. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version.", + "SDF version 8. Read the [v8 migration guide](/display-video/api/structured-data-file/v8-migration-guide) before migrating to this version." ], "type": "string" } @@ -20700,7 +21019,8 @@ "SDF_VERSION_5_5", "SDF_VERSION_6", "SDF_VERSION_7", - "SDF_VERSION_7_1" + "SDF_VERSION_7_1", + "SDF_VERSION_8" ], "enumDeprecated": [ false, @@ -20716,6 +21036,7 @@ true, false, false, + false, false ], "enumDescriptions": [ @@ -20732,7 +21053,8 @@ "SDF version 5.5", "SDF version 6", "SDF version 7. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version.", - "SDF version 7.1. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version." + "SDF version 7.1. Read the [v7 migration guide](/display-video/api/structured-data-file/v7-migration-guide) before migrating to this version.", + "SDF version 8. Read the [v8 migration guide](/display-video/api/structured-data-file/v8-migration-guide) before migrating to this version." ], "type": "string" } diff --git a/discovery/dlp-v2.json b/discovery/dlp-v2.json index f0a48c0464..4ee46be66f 100644 --- a/discovery/dlp-v2.json +++ b/discovery/dlp-v2.json @@ -230,6 +230,16 @@ "description": "Regional Endpoint", "endpointUrl": "https://dlp.us-west8.rep.googleapis.com/", "location": "us-west8" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dlp.us.rep.googleapis.com/", + "location": "us" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://dlp.eu.rep.googleapis.com/", + "location": "eu" } ], "fullyEncodeReservedExpansion": true, @@ -325,7 +335,7 @@ "infoTypes": { "methods": { "list": { - "description": "Returns a list of the sensitive information types that DLP API supports. See https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference to learn more.", + "description": "Returns a list of the sensitive information types that the DLP API supports. See https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference to learn more.", "flatPath": "v2/infoTypes", "httpMethod": "GET", "id": "dlp.infoTypes.list", @@ -367,7 +377,7 @@ "infoTypes": { "methods": { "list": { - "description": "Returns a list of the sensitive information types that DLP API supports. See https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference to learn more.", + "description": "Returns a list of the sensitive information types that the DLP API supports. See https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference to learn more.", "flatPath": "v2/locations/{locationsId}/infoTypes", "httpMethod": "GET", "id": "dlp.locations.infoTypes.list", @@ -5015,7 +5025,7 @@ } } }, - "revision": "20240916", + "revision": "20241215", "rootUrl": "https://dlp.googleapis.com/", "schemas": { "GooglePrivacyDlpV2Action": { @@ -5431,7 +5441,7 @@ "type": "string" }, "projectId": { - "description": "The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call.", + "description": "The Google Cloud project ID of the project containing the table. If omitted, project ID is inferred from the API call.", "type": "string" }, "tableId": { @@ -5462,12 +5472,14 @@ "enum": [ "BIG_QUERY_TABLE_TYPE_UNSPECIFIED", "BIG_QUERY_TABLE_TYPE_TABLE", - "BIG_QUERY_TABLE_TYPE_EXTERNAL_BIG_LAKE" + "BIG_QUERY_TABLE_TYPE_EXTERNAL_BIG_LAKE", + "BIG_QUERY_TABLE_TYPE_SNAPSHOT" ], "enumDescriptions": [ "Unused.", "A normal BigQuery table.", - "A table that references data stored in Cloud Storage." + "A table that references data stored in Cloud Storage.", + "A snapshot of a BigQuery table." ], "type": "string" }, @@ -5564,7 +5576,8 @@ "TSV", "AUDIO", "VIDEO", - "EXECUTABLE" + "EXECUTABLE", + "AI_MODEL" ], "enumDescriptions": [ "Unused", @@ -5583,7 +5596,8 @@ "tsv", "Audio file types. Only used for profiling.", "Video file types. Only used for profiling.", - "Executable file types. Only used for profiling." + "Executable file types. Only used for profiling.", + "AI model file types. Only used for profiling." ], "type": "string" } @@ -5769,7 +5783,7 @@ "type": "string" }, "maxConnections": { - "description": "Required. DLP will limit its connections to max_connections. Must be 2 or greater.", + "description": "Required. The DLP API will limit its connections to max_connections. Must be 2 or greater.", "format": "int32", "type": "integer" }, @@ -6038,11 +6052,11 @@ "description": "The data risk level for this column." }, "datasetId": { - "description": "The BigQuery dataset ID.", + "description": "The BigQuery dataset ID, if the resource profiled is a BigQuery table.", "type": "string" }, "datasetLocation": { - "description": "The BigQuery location where the dataset's data is stored. See https://cloud.google.com/bigquery/docs/locations for supported locations.", + "description": "If supported, the location where the dataset's data is stored. See https://cloud.google.com/bigquery/docs/locations for supported BigQuery locations.", "type": "string" }, "datasetProjectId": { @@ -6147,7 +6161,7 @@ "type": "string" }, "tableId": { - "description": "The BigQuery table ID.", + "description": "The table ID.", "type": "string" } }, @@ -6207,7 +6221,7 @@ "type": "object" }, "GooglePrivacyDlpV2Connection": { - "description": "A data connection to allow DLP to profile data in locations that require additional configuration.", + "description": "A data connection to allow the DLP API to profile data in locations that require additional configuration.", "id": "GooglePrivacyDlpV2Connection", "properties": { "cloudSql": { @@ -6237,7 +6251,7 @@ ], "enumDescriptions": [ "Unused", - "DLP automatically created this connection during an initial scan, and it is awaiting full configuration by a user.", + "The DLP API automatically created this connection during an initial scan, and it is awaiting full configuration by a user.", "A configured connection that has not encountered any errors.", "A configured connection that encountered errors during its last use. It will not be used again until it is set to AVAILABLE. If the resolution requires external action, then the client must send a request to set the status to AVAILABLE when the connection is ready for use. If the resolution doesn't require external action, then any changes to the connection properties will automatically mark it as AVAILABLE." ], @@ -6645,7 +6659,7 @@ }, "publishToScc": { "$ref": "GooglePrivacyDlpV2PublishToSecurityCommandCenter", - "description": "Publishes findings to SCC for each data profile." + "description": "Publishes findings to Security Command Center for each data profile." }, "tagResources": { "$ref": "GooglePrivacyDlpV2TagResources", @@ -6729,7 +6743,7 @@ "description": "Must be set only when scanning other clouds." }, "projectId": { - "description": "The project that will run the scan. The DLP service account that exists within this project must have access to all resources that are profiled, and the Cloud DLP API must be enabled.", + "description": "The project that will run the scan. The DLP service account that exists within this project must have access to all resources that are profiled, and the DLP API must be enabled.", "type": "string" } }, @@ -8239,7 +8253,7 @@ "type": "array" }, "noFilesExist": { - "description": "True if no files exist in this cluster. If the bucket had more files than could be listed, this will be false even if no files for this cluster were seen and file_extensions_seen is empty.", + "description": "True if no files exist in this cluster. If the file store had more files than could be listed, this will be false even if no files for this cluster were seen and file_extensions_seen is empty.", "type": "boolean" }, "sensitivityScore": { @@ -8265,7 +8279,8 @@ "CLUSTER_IMAGE", "CLUSTER_ARCHIVE", "CLUSTER_MULTIMEDIA", - "CLUSTER_EXECUTABLE" + "CLUSTER_EXECUTABLE", + "CLUSTER_AI_MODEL" ], "enumDescriptions": [ "Unused.", @@ -8277,7 +8292,8 @@ "Images like jpeg, bmp.", "Archives and containers like .zip, .tar etc.", "Multimedia like .mp4, .avi etc.", - "Executable files like .exe, .class, .apk etc." + "Executable files like .exe, .class, .apk etc.", + "AI models like .tflite etc." ], "type": "string" } @@ -8385,7 +8401,7 @@ "type": "string" }, "locationType": { - "description": "The location type of the bucket (region, dual-region, multi-region, etc). If dual-region, expect data_storage_locations to be populated.", + "description": "The location type of the file store (region, dual-region, multi-region, etc). If dual-region, expect data_storage_locations to be populated.", "type": "string" }, "name": { @@ -9036,6 +9052,10 @@ "description": "Human readable form of the infoType name.", "type": "string" }, + "example": { + "description": "A sample true positive for this infoType.", + "type": "string" + }, "name": { "description": "Internal name of the infoType.", "type": "string" @@ -10224,7 +10244,7 @@ "description": "The data to scan: folder, org, or project" }, "projectId": { - "description": "The project that will run the scan. The DLP service account that exists within this project must have access to all resources that are profiled, and the Cloud DLP API must be enabled.", + "description": "The project that will run the scan. The DLP service account that exists within this project must have access to all resources that are profiled, and the DLP API must be enabled.", "type": "string" } }, @@ -10704,7 +10724,7 @@ "type": "object" }, "GooglePrivacyDlpV2PublishToSecurityCommandCenter": { - "description": "If set, a summary finding will be created/updated in SCC for each profile.", + "description": "If set, a summary finding will be created or updated in Security Command Center for each profile.", "id": "GooglePrivacyDlpV2PublishToSecurityCommandCenter", "properties": {}, "type": "object" @@ -11600,7 +11620,7 @@ "type": "string" }, "fullResource": { - "description": "The resource name of the resource profiled. https://cloud.google.com/apis/design/resource_names#full_resource_name", + "description": "The Cloud Asset Inventory resource that was profiled in order to generate this TableDataProfile. https://cloud.google.com/apis/design/resource_names#full_resource_name", "type": "string" }, "lastModifiedTime": { @@ -11691,7 +11711,7 @@ "type": "string" }, "tableId": { - "description": "If the resource is BigQuery, the BigQuery table ID.", + "description": "The table ID.", "type": "string" }, "tableSizeBytes": { @@ -12458,22 +12478,22 @@ "id": "GoogleTypeTimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } diff --git a/discovery/dns-v1.json b/discovery/dns-v1.json index e5d3232e19..3f1e023497 100644 --- a/discovery/dns-v1.json +++ b/discovery/dns-v1.json @@ -1824,7 +1824,7 @@ } } }, - "revision": "20240719", + "revision": "20250102", "rootUrl": "https://dns.googleapis.com/", "schemas": { "Change": { @@ -2753,6 +2753,10 @@ "description": "A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the policy's function.", "type": "string" }, + "dns64Config": { + "$ref": "PolicyDns64Config", + "description": "Configurations related to DNS64 for this Policy." + }, "enableInboundForwarding": { "description": "Allows networks bound to this policy to receive DNS queries sent by VMs or applications over VPN connections. When enabled, a virtual IP address is allocated from each of the subnetworks that are bound to this policy.", "type": "boolean" @@ -2831,6 +2835,35 @@ }, "type": "object" }, + "PolicyDns64Config": { + "description": "DNS64 policies", + "id": "PolicyDns64Config", + "properties": { + "kind": { + "default": "dns#policyDns64Config", + "type": "string" + }, + "scope": { + "$ref": "PolicyDns64ConfigScope", + "description": "The scope to which DNS64 config will be applied to." + } + }, + "type": "object" + }, + "PolicyDns64ConfigScope": { + "id": "PolicyDns64ConfigScope", + "properties": { + "allQueries": { + "description": "Controls whether DNS64 is enabled globally at the network level.", + "type": "boolean" + }, + "kind": { + "default": "dns#policyDns64ConfigScope", + "type": "string" + } + }, + "type": "object" + }, "PolicyNetwork": { "id": "PolicyNetwork", "properties": { diff --git a/discovery/dns-v1beta2.json b/discovery/dns-v1beta2.json index 85d23a3dd8..86f209f50c 100644 --- a/discovery/dns-v1beta2.json +++ b/discovery/dns-v1beta2.json @@ -1821,7 +1821,7 @@ } } }, - "revision": "20240719", + "revision": "20250102", "rootUrl": "https://dns.googleapis.com/", "schemas": { "Change": { @@ -2750,6 +2750,10 @@ "description": "A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the policy's function.", "type": "string" }, + "dns64Config": { + "$ref": "PolicyDns64Config", + "description": "Configurations related to DNS64 for this Policy." + }, "enableInboundForwarding": { "description": "Allows networks bound to this policy to receive DNS queries sent by VMs or applications over VPN connections. When enabled, a virtual IP address is allocated from each of the subnetworks that are bound to this policy.", "type": "boolean" @@ -2828,6 +2832,35 @@ }, "type": "object" }, + "PolicyDns64Config": { + "description": "DNS64 policies", + "id": "PolicyDns64Config", + "properties": { + "kind": { + "default": "dns#policyDns64Config", + "type": "string" + }, + "scope": { + "$ref": "PolicyDns64ConfigScope", + "description": "The scope to which DNS64 config will be applied to." + } + }, + "type": "object" + }, + "PolicyDns64ConfigScope": { + "id": "PolicyDns64ConfigScope", + "properties": { + "allQueries": { + "description": "Controls whether DNS64 is enabled globally at the network level.", + "type": "boolean" + }, + "kind": { + "default": "dns#policyDns64ConfigScope", + "type": "string" + } + }, + "type": "object" + }, "PolicyNetwork": { "id": "PolicyNetwork", "properties": { diff --git a/discovery/documentai-v1.json b/discovery/documentai-v1.json index 79e98dbfdb..7745037533 100644 --- a/discovery/documentai-v1.json +++ b/discovery/documentai-v1.json @@ -234,7 +234,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "documentai.projects.locations.operations.cancel", @@ -1042,7 +1042,7 @@ } } }, - "revision": "20240911", + "revision": "20241210", "rootUrl": "https://documentai.googleapis.com/", "schemas": { "GoogleCloudDocumentaiUiv1beta3AutoLabelDocumentsMetadata": { @@ -6188,18 +6188,18 @@ "type": "object" }, "GoogleTypePostalAddress": { - "description": "Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478", + "description": "Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478", "id": "GoogleTypePostalAddress", "properties": { "addressLines": { - "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", + "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", "items": { "type": "string" }, "type": "array" }, "administrativeArea": { - "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.", + "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated.", "type": "string" }, "languageCode": { @@ -6215,7 +6215,7 @@ "type": "string" }, "postalCode": { - "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.).", + "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.).", "type": "string" }, "recipients": { @@ -6235,7 +6235,7 @@ "type": "integer" }, "sortingCode": { - "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (e.g. \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (e.g. Côte d'Ivoire).", + "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (For example \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (For example Côte d'Ivoire).", "type": "string" }, "sublocality": { @@ -6250,11 +6250,11 @@ "id": "GoogleTypeTimeZone", "properties": { "id": { - "description": "IANA Time Zone Database time zone, e.g. \"America/New_York\".", + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", "type": "string" }, "version": { - "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", "type": "string" } }, diff --git a/discovery/documentai-v1beta3.json b/discovery/documentai-v1beta3.json index 3011756e12..9c3bc1b1e1 100644 --- a/discovery/documentai-v1beta3.json +++ b/discovery/documentai-v1beta3.json @@ -205,7 +205,7 @@ "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`.", + "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": "v1beta3/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "documentai.projects.locations.operations.cancel", @@ -1284,7 +1284,7 @@ } } }, - "revision": "20240911", + "revision": "20241210", "rootUrl": "https://documentai.googleapis.com/", "schemas": { "GoogleCloudDocumentaiUiv1beta3AutoLabelDocumentsMetadata": { @@ -3004,6 +3004,16 @@ "name": { "description": "Dataset schema resource name. Format: `projects/{project}/locations/{location}/processors/{processor}/dataset/datasetSchema`", "type": "string" + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use.", + "readOnly": true, + "type": "boolean" } }, "type": "object" @@ -6825,18 +6835,18 @@ "type": "object" }, "GoogleTypePostalAddress": { - "description": "Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478", + "description": "Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478", "id": "GoogleTypePostalAddress", "properties": { "addressLines": { - "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", + "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", "items": { "type": "string" }, "type": "array" }, "administrativeArea": { - "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.", + "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated.", "type": "string" }, "languageCode": { @@ -6852,7 +6862,7 @@ "type": "string" }, "postalCode": { - "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.).", + "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.).", "type": "string" }, "recipients": { @@ -6872,7 +6882,7 @@ "type": "integer" }, "sortingCode": { - "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (e.g. \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (e.g. Côte d'Ivoire).", + "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (For example \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (For example Côte d'Ivoire).", "type": "string" }, "sublocality": { @@ -6887,11 +6897,11 @@ "id": "GoogleTypeTimeZone", "properties": { "id": { - "description": "IANA Time Zone Database time zone, e.g. \"America/New_York\".", + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", "type": "string" }, "version": { - "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", "type": "string" } }, diff --git a/discovery/domains-v1.json b/discovery/domains-v1.json index 57eeebcb53..a692133b1d 100644 --- a/discovery/domains-v1.json +++ b/discovery/domains-v1.json @@ -965,7 +965,7 @@ } } }, - "revision": "20240724", + "revision": "20241209", "rootUrl": "https://domains.googleapis.com/", "schemas": { "AuditConfig": { @@ -1939,18 +1939,18 @@ "type": "object" }, "PostalAddress": { - "description": "Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478", + "description": "Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478", "id": "PostalAddress", "properties": { "addressLines": { - "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", + "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", "items": { "type": "string" }, "type": "array" }, "administrativeArea": { - "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.", + "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated.", "type": "string" }, "languageCode": { @@ -1966,7 +1966,7 @@ "type": "string" }, "postalCode": { - "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.).", + "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.).", "type": "string" }, "recipients": { @@ -1986,7 +1986,7 @@ "type": "integer" }, "sortingCode": { - "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (e.g. \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (e.g. Côte d'Ivoire).", + "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (For example \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (For example Côte d'Ivoire).", "type": "string" }, "sublocality": { diff --git a/discovery/domains-v1alpha2.json b/discovery/domains-v1alpha2.json index 4fe065a424..ed3d04a6d0 100644 --- a/discovery/domains-v1alpha2.json +++ b/discovery/domains-v1alpha2.json @@ -965,7 +965,7 @@ } } }, - "revision": "20240724", + "revision": "20241209", "rootUrl": "https://domains.googleapis.com/", "schemas": { "AuditConfig": { @@ -1939,18 +1939,18 @@ "type": "object" }, "PostalAddress": { - "description": "Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478", + "description": "Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478", "id": "PostalAddress", "properties": { "addressLines": { - "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", + "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", "items": { "type": "string" }, "type": "array" }, "administrativeArea": { - "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.", + "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated.", "type": "string" }, "languageCode": { @@ -1966,7 +1966,7 @@ "type": "string" }, "postalCode": { - "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.).", + "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.).", "type": "string" }, "recipients": { @@ -1986,7 +1986,7 @@ "type": "integer" }, "sortingCode": { - "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (e.g. \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (e.g. Côte d'Ivoire).", + "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (For example \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (For example Côte d'Ivoire).", "type": "string" }, "sublocality": { diff --git a/discovery/domains-v1beta1.json b/discovery/domains-v1beta1.json index fd9994fd9a..4d88f27e17 100644 --- a/discovery/domains-v1beta1.json +++ b/discovery/domains-v1beta1.json @@ -965,7 +965,7 @@ } } }, - "revision": "20240724", + "revision": "20241209", "rootUrl": "https://domains.googleapis.com/", "schemas": { "AuditConfig": { @@ -1939,18 +1939,18 @@ "type": "object" }, "PostalAddress": { - "description": "Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478", + "description": "Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478", "id": "PostalAddress", "properties": { "addressLines": { - "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", + "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", "items": { "type": "string" }, "type": "array" }, "administrativeArea": { - "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.", + "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated.", "type": "string" }, "languageCode": { @@ -1966,7 +1966,7 @@ "type": "string" }, "postalCode": { - "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.).", + "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.).", "type": "string" }, "recipients": { @@ -1986,7 +1986,7 @@ "type": "integer" }, "sortingCode": { - "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (e.g. \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (e.g. Côte d'Ivoire).", + "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (For example \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (For example Côte d'Ivoire).", "type": "string" }, "sublocality": { diff --git a/discovery/drive-v3.json b/discovery/drive-v3.json index 2cedcda7fe..bc3ef76352 100644 --- a/discovery/drive-v3.json +++ b/discovery/drive-v3.json @@ -133,7 +133,7 @@ "about": { "methods": { "get": { - "description": "Gets information about the user, the user's Drive, and system capabilities.", + "description": "Gets information about the user, the user's Drive, and system capabilities. For more information, see [Return user info](https://developers.google.com/drive/api/guides/user-info). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/drive/api/guides/fields-parameter).", "flatPath": "about", "httpMethod": "GET", "id": "drive.about.get", @@ -155,10 +155,120 @@ } } }, + "accessproposals": { + "methods": { + "get": { + "description": "Retrieves an AccessProposal by ID.", + "flatPath": "files/{fileId}/accessproposals/{proposalId}", + "httpMethod": "GET", + "id": "drive.accessproposals.get", + "parameterOrder": [ + "fileId", + "proposalId" + ], + "parameters": { + "fileId": { + "description": "Required. The id of the item the request is on.", + "location": "path", + "required": true, + "type": "string" + }, + "proposalId": { + "description": "Required. The id of the access proposal to resolve.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "files/{fileId}/accessproposals/{proposalId}", + "response": { + "$ref": "AccessProposal" + }, + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/drive.metadata", + "https://www.googleapis.com/auth/drive.metadata.readonly", + "https://www.googleapis.com/auth/drive.readonly" + ] + }, + "list": { + "description": "List the AccessProposals on a file. Note: Only approvers are able to list AccessProposals on a file. If the user is not an approver, returns a 403.", + "flatPath": "files/{fileId}/accessproposals", + "httpMethod": "GET", + "id": "drive.accessproposals.list", + "parameterOrder": [ + "fileId" + ], + "parameters": { + "fileId": { + "description": "Required. The id of the item the request is on.", + "location": "path", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "Optional. The number of results per page", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The continuation token on the list of access requests.", + "location": "query", + "type": "string" + } + }, + "path": "files/{fileId}/accessproposals", + "response": { + "$ref": "ListAccessProposalsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/drive.metadata", + "https://www.googleapis.com/auth/drive.metadata.readonly", + "https://www.googleapis.com/auth/drive.readonly" + ] + }, + "resolve": { + "description": "Used to approve or deny an Access Proposal.", + "flatPath": "files/{fileId}/accessproposals/{proposalId}:resolve", + "httpMethod": "POST", + "id": "drive.accessproposals.resolve", + "parameterOrder": [ + "fileId", + "proposalId" + ], + "parameters": { + "fileId": { + "description": "Required. The id of the item the request is on.", + "location": "path", + "required": true, + "type": "string" + }, + "proposalId": { + "description": "Required. The id of the access proposal to resolve.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "files/{fileId}/accessproposals/{proposalId}:resolve", + "request": { + "$ref": "ResolveAccessProposalRequest" + }, + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file" + ] + } + } + }, "apps": { "methods": { "get": { - "description": "Gets a specific app.", + "description": "Gets a specific app. For more information, see [Return user info](https://developers.google.com/drive/api/guides/user-info).", "flatPath": "apps/{appId}", "httpMethod": "GET", "id": "drive.apps.get", @@ -188,7 +298,7 @@ ] }, "list": { - "description": "Lists a user's installed apps.", + "description": "Lists a user's installed apps. For more information, see [Return user info](https://developers.google.com/drive/api/guides/user-info).", "flatPath": "apps", "httpMethod": "GET", "id": "drive.apps.list", @@ -225,7 +335,7 @@ "changes": { "methods": { "getStartPageToken": { - "description": "Gets the starting pageToken for listing future changes.", + "description": "Gets the starting pageToken for listing future changes. For more information, see [Retrieve changes](https://developers.google.com/drive/api/guides/manage-changes).", "flatPath": "changes/startPageToken", "httpMethod": "GET", "id": "drive.changes.getStartPageToken", @@ -272,7 +382,7 @@ ] }, "list": { - "description": "Lists the changes for a user or shared drive.", + "description": "Lists the changes for a user or shared drive. For more information, see [Retrieve changes](https://developers.google.com/drive/api/guides/manage-changes).", "flatPath": "changes", "httpMethod": "GET", "id": "drive.changes.list", @@ -384,7 +494,7 @@ "supportsSubscription": true }, "watch": { - "description": "Subscribes to changes for a user.", + "description": "Subscribes to changes for a user. For more information, see [Notifications for resource changes](https://developers.google.com/drive/api/guides/push).", "flatPath": "changes/watch", "httpMethod": "POST", "id": "drive.changes.watch", @@ -504,7 +614,7 @@ "channels": { "methods": { "stop": { - "description": "Stops watching resources through this channel.", + "description": "Stops watching resources through this channel. For more information, see [Notifications for resource changes](https://developers.google.com/drive/api/guides/push).", "flatPath": "channels/stop", "httpMethod": "POST", "id": "drive.channels.stop", @@ -531,7 +641,7 @@ "comments": { "methods": { "create": { - "description": "Creates a comment on a file.", + "description": "Creates a comment on a file. For more information, see [Manage comments and replies](https://developers.google.com/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/drive/api/guides/fields-parameter).", "flatPath": "files/{fileId}/comments", "httpMethod": "POST", "id": "drive.comments.create", @@ -559,7 +669,7 @@ ] }, "delete": { - "description": "Deletes a comment.", + "description": "Deletes a comment. For more information, see [Manage comments and replies](https://developers.google.com/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/drive/api/guides/fields-parameter).", "flatPath": "files/{fileId}/comments/{commentId}", "httpMethod": "DELETE", "id": "drive.comments.delete", @@ -588,7 +698,7 @@ ] }, "get": { - "description": "Gets a comment by ID.", + "description": "Gets a comment by ID. For more information, see [Manage comments and replies](https://developers.google.com/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/drive/api/guides/fields-parameter).", "flatPath": "files/{fileId}/comments/{commentId}", "httpMethod": "GET", "id": "drive.comments.get", @@ -628,7 +738,7 @@ ] }, "list": { - "description": "Lists a file's comments.", + "description": "Lists a file's comments. For more information, see [Manage comments and replies](https://developers.google.com/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/drive/api/guides/fields-parameter).", "flatPath": "files/{fileId}/comments", "httpMethod": "GET", "id": "drive.comments.list", @@ -680,7 +790,7 @@ ] }, "update": { - "description": "Updates a comment with patch semantics.", + "description": "Updates a comment with patch semantics. For more information, see [Manage comments and replies](https://developers.google.com/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/drive/api/guides/fields-parameter).", "flatPath": "files/{fileId}/comments/{commentId}", "httpMethod": "PATCH", "id": "drive.comments.update", @@ -1707,7 +1817,7 @@ "operation": { "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`.", + "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": "operation/{name}:cancel", "httpMethod": "POST", "id": "drive.operation.cancel", @@ -2664,7 +2774,7 @@ } } }, - "revision": "20240914", + "revision": "20241206", "rootUrl": "https://www.googleapis.com/", "schemas": { "About": { @@ -2808,6 +2918,60 @@ }, "type": "object" }, + "AccessProposal": { + "description": "The Access Proposal resource for outstanding access proposals on a file", + "id": "AccessProposal", + "properties": { + "createTime": { + "description": "The creation time", + "format": "google-datetime", + "type": "string" + }, + "fileId": { + "description": "The file id that the proposal for access is on", + "type": "string" + }, + "proposalId": { + "description": "The id of the access proposal", + "type": "string" + }, + "recipientEmailAddress": { + "description": "The email address of the user that will receive permissions if accepted", + "type": "string" + }, + "requestMessage": { + "description": "The message that the requester added to the proposal", + "type": "string" + }, + "requesterEmailAddress": { + "description": "The email address of the requesting user", + "type": "string" + }, + "rolesAndViews": { + "description": "A wrapper for the role and view of an access proposal.", + "items": { + "$ref": "AccessProposalRoleAndView" + }, + "type": "array" + } + }, + "type": "object" + }, + "AccessProposalRoleAndView": { + "description": "A wrapper for the role and view of an access proposal.", + "id": "AccessProposalRoleAndView", + "properties": { + "role": { + "description": "The role that was proposed by the requester New values may be added in the future, but the following are currently possible: * `writer` * `commenter` * `reader`", + "type": "string" + }, + "view": { + "description": "Indicates the view for this access proposal. Only populated for proposals that belong to a view. `published` is the only supported value.", + "type": "string" + } + }, + "type": "object" + }, "App": { "description": "The `apps` resource provides a list of apps that a user has installed, with information about each app's supported MIME types, file extensions, and other details. Some resource methods (such as `apps.get`) require an `appId`. Use the `apps.list` method to retrieve the ID for an installed application.", "id": "App", @@ -4348,6 +4512,24 @@ }, "type": "object" }, + "ListAccessProposalsResponse": { + "description": "The response to an Access Proposal list request.", + "id": "ListAccessProposalsResponse", + "properties": { + "accessProposals": { + "description": "The list of Access Proposals. This field is only populated in v3 and v3beta.", + "items": { + "$ref": "AccessProposal" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The continuation token for the next page of results. This will be absent if the end of the results list has been reached. If the token is rejected for any reason, it should be discarded, and pagination should be restarted from the first page of results.", + "type": "string" + } + }, + "type": "object" + }, "ListOperationsResponse": { "description": "The response message for Operations.ListOperations.", "id": "ListOperationsResponse", @@ -4438,7 +4620,7 @@ "type": "object" }, "Permission": { - "description": "A permission for a file. A permission grants a user, group, domain, or the world access to a file or a folder hierarchy. Some resource methods (such as `permissions.update`) require a `permissionId`. Use the `permissions.list` method to retrieve the ID for a file, folder, or shared drive.", + "description": "A permission for a file. A permission grants a user, group, domain, or the world access to a file or a folder hierarchy. By default, permissions requests only return a subset of fields. Permission kind, ID, type, and role are always returned. To retrieve specific fields, see https://developers.google.com/drive/api/guides/fields-parameter. Some resource methods (such as `permissions.update`) require a `permissionId`. Use the `permissions.list` method to retrieve the ID for a file, folder, or shared drive.", "id": "Permission", "properties": { "allowFileDiscovery": { @@ -4662,6 +4844,42 @@ }, "type": "object" }, + "ResolveAccessProposalRequest": { + "description": "Request message for resolving an AccessProposal on a file.", + "id": "ResolveAccessProposalRequest", + "properties": { + "action": { + "description": "Required. The action to take on the AccessProposal.", + "enum": [ + "ACTION_UNSPECIFIED", + "ACCEPT", + "DENY" + ], + "enumDescriptions": [ + "Unspecified action", + "The user accepts the proposal. Note: If this action is used, the `role` field must have at least one value.", + "The user denies the proposal" + ], + "type": "string" + }, + "role": { + "description": "Optional. The roles the approver has allowed, if any. Note: This field is required for the `ACCEPT` action.", + "items": { + "type": "string" + }, + "type": "array" + }, + "sendNotification": { + "description": "Optional. Whether to send an email to the requester when the AccessProposal is denied or accepted.", + "type": "boolean" + }, + "view": { + "description": "Optional. Indicates the view for this access proposal. This should only be set when the proposal belongs to a view. `published` is the only supported value.", + "type": "string" + } + }, + "type": "object" + }, "Revision": { "description": "The metadata for a revision to a file. Some resource methods (such as `revisions.update`) require a `revisionId`. Use the `revisions.list` method to retrieve the ID for a revision.", "id": "Revision", diff --git a/discovery/eventarc-v1.json b/discovery/eventarc-v1.json index 8b5da455c3..658742825b 100644 --- a/discovery/eventarc-v1.json +++ b/discovery/eventarc-v1.json @@ -712,6 +712,109 @@ }, "enrollments": { "methods": { + "create": { + "description": "Create a new Enrollment in a particular project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/enrollments", + "httpMethod": "POST", + "id": "eventarc.projects.locations.enrollments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "enrollmentId": { + "description": "Required. The user-provided ID to be assigned to the Enrollment. It should match the format `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent collection in which to add this enrollment.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "validateOnly": { + "description": "Optional. If set, validate the request and preview the review, but do not post it.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+parent}/enrollments", + "request": { + "$ref": "Enrollment" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete a single Enrollment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/enrollments/{enrollmentsId}", + "httpMethod": "DELETE", + "id": "eventarc.projects.locations.enrollments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "Optional. If set to true, and the Enrollment is not found, the request will succeed but no action will be taken on the server.", + "location": "query", + "type": "boolean" + }, + "etag": { + "description": "Optional. If provided, the Enrollment will only be deleted if the etag matches the current etag on the resource.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the Enrollment to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/enrollments/[^/]+$", + "required": true, + "type": "string" + }, + "validateOnly": { + "description": "Optional. If set, validate the request and preview the review, but do not post it.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get a single Enrollment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/enrollments/{enrollmentsId}", + "httpMethod": "GET", + "id": "eventarc.projects.locations.enrollments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the Enrollment to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/enrollments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Enrollment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "getIamPolicy": { "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/enrollments/{enrollmentsId}:getIamPolicy", @@ -743,6 +846,96 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "list": { + "description": "List Enrollments.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/enrollments", + "httpMethod": "GET", + "id": "eventarc.projects.locations.enrollments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. The filter field that the list request will filter on. Possible filtersare described in https://google.aip.dev/160.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. The sorting order of the resources returned. Value should be a comma-separated list of fields. The default sorting order is ascending. To specify descending order for a field, append a `desc` suffix; for example: `name desc, update_time`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of results to return on each page. Note: The service may send fewer.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The page token; provide the value from the `next_page_token` field in a previous call to retrieve the subsequent page. When paginating, all other parameters provided must match the previous call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent collection to list triggers on.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/enrollments", + "response": { + "$ref": "ListEnrollmentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update a single Enrollment.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/enrollments/{enrollmentsId}", + "httpMethod": "PATCH", + "id": "eventarc.projects.locations.enrollments.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "Optional. If set to true, and the Enrollment is not found, a new Enrollment will be created. In this situation, `update_mask` is ignored.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Identifier. Resource name of the form projects/{project}/locations/{location}/enrollments/{enrollment}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/enrollments/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The fields to be updated; only fields explicitly provided are updated. If no field mask is provided, all provided fields in the request are updated. To update all fields, provide a field mask of \"*\".", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. If set, validate the request and preview the review, but do not post it.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Enrollment" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "setIamPolicy": { "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/enrollments/{enrollmentsId}:setIamPolicy", @@ -793,21 +986,499 @@ "$ref": "TestIamPermissionsRequest" }, "response": { - "$ref": "TestIamPermissionsResponse" + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "googleApiSources": { + "methods": { + "create": { + "description": "Create a new GoogleApiSource in a particular project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/googleApiSources", + "httpMethod": "POST", + "id": "eventarc.projects.locations.googleApiSources.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "googleApiSourceId": { + "description": "Required. The user-provided ID to be assigned to the GoogleApiSource. It should match the format `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent collection in which to add this google api source.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "validateOnly": { + "description": "Optional. If set, validate the request and preview the review, but do not post it.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+parent}/googleApiSources", + "request": { + "$ref": "GoogleApiSource" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete a single GoogleApiSource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/googleApiSources/{googleApiSourcesId}", + "httpMethod": "DELETE", + "id": "eventarc.projects.locations.googleApiSources.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "Optional. If set to true, and the MessageBus is not found, the request will succeed but no action will be taken on the server.", + "location": "query", + "type": "boolean" + }, + "etag": { + "description": "Optional. If provided, the MessageBus will only be deleted if the etag matches the current etag on the resource.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the GoogleApiSource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/googleApiSources/[^/]+$", + "required": true, + "type": "string" + }, + "validateOnly": { + "description": "Optional. If set, validate the request and preview the review, but do not post it.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get a single GoogleApiSource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/googleApiSources/{googleApiSourcesId}", + "httpMethod": "GET", + "id": "eventarc.projects.locations.googleApiSources.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the google api source to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/googleApiSources/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleApiSource" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/googleApiSources/{googleApiSourcesId}:getIamPolicy", + "httpMethod": "GET", + "id": "eventarc.projects.locations.googleApiSources.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/googleApiSources/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List GoogleApiSources.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/googleApiSources", + "httpMethod": "GET", + "id": "eventarc.projects.locations.googleApiSources.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. The filter field that the list request will filter on. Possible filtersare described in https://google.aip.dev/160.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. The sorting order of the resources returned. Value should be a comma-separated list of fields. The default sorting order is ascending. To specify descending order for a field, append a `desc` suffix; for example: `name desc, update_time`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of results to return on each page. Note: The service may send fewer.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The page token; provide the value from the `next_page_token` field in a previous call to retrieve the subsequent page. When paginating, all other parameters provided must match the previous call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent collection to list GoogleApiSources on.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/googleApiSources", + "response": { + "$ref": "ListGoogleApiSourcesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update a single GoogleApiSource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/googleApiSources/{googleApiSourcesId}", + "httpMethod": "PATCH", + "id": "eventarc.projects.locations.googleApiSources.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "Optional. If set to true, and the GoogleApiSource is not found, a new GoogleApiSource will be created. In this situation, `update_mask` is ignored.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Identifier. Resource name of the form projects/{project}/locations/{location}/googleApiSources/{google_api_source}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/googleApiSources/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The fields to be updated; only fields explicitly provided are updated. If no field mask is provided, all provided fields in the request are updated. To update all fields, provide a field mask of \"*\".", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. If set, validate the request and preview the review, but do not post it.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleApiSource" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/googleApiSources/{googleApiSourcesId}:setIamPolicy", + "httpMethod": "POST", + "id": "eventarc.projects.locations.googleApiSources.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/googleApiSources/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/googleApiSources/{googleApiSourcesId}:testIamPermissions", + "httpMethod": "POST", + "id": "eventarc.projects.locations.googleApiSources.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/googleApiSources/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "kafkaSources": { + "methods": { + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/kafkaSources/{kafkaSourcesId}:getIamPolicy", + "httpMethod": "GET", + "id": "eventarc.projects.locations.kafkaSources.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/kafkaSources/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/kafkaSources/{kafkaSourcesId}:setIamPolicy", + "httpMethod": "POST", + "id": "eventarc.projects.locations.kafkaSources.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/kafkaSources/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/kafkaSources/{kafkaSourcesId}:testIamPermissions", + "httpMethod": "POST", + "id": "eventarc.projects.locations.kafkaSources.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/kafkaSources/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "messageBuses": { + "methods": { + "create": { + "description": "Create a new MessageBus in a particular project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/messageBuses", + "httpMethod": "POST", + "id": "eventarc.projects.locations.messageBuses.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "messageBusId": { + "description": "Required. The user-provided ID to be assigned to the MessageBus. It should match the format `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent collection in which to add this message bus.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "validateOnly": { + "description": "Optional. If set, validate the request and preview the review, but do not post it.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+parent}/messageBuses", + "request": { + "$ref": "MessageBus" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete a single message bus.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/messageBuses/{messageBusesId}", + "httpMethod": "DELETE", + "id": "eventarc.projects.locations.messageBuses.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "Optional. If set to true, and the MessageBus is not found, the request will succeed but no action will be taken on the server.", + "location": "query", + "type": "boolean" + }, + "etag": { + "description": "Optional. If provided, the MessageBus will only be deleted if the etag matches the current etag on the resource.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the MessageBus to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/messageBuses/[^/]+$", + "required": true, + "type": "string" + }, + "validateOnly": { + "description": "Optional. If set, validate the request and preview the review, but do not post it.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get a single MessageBus.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/messageBuses/{messageBusesId}", + "httpMethod": "GET", + "id": "eventarc.projects.locations.messageBuses.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the message bus to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/messageBuses/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "MessageBus" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] - } - } - }, - "googleApiSources": { - "methods": { + }, "getIamPolicy": { "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/googleApiSources/{googleApiSourcesId}:getIamPolicy", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/messageBuses/{messageBusesId}:getIamPolicy", "httpMethod": "GET", - "id": "eventarc.projects.locations.googleApiSources.getIamPolicy", + "id": "eventarc.projects.locations.messageBuses.getIamPolicy", "parameterOrder": [ "resource" ], @@ -821,7 +1492,7 @@ "resource": { "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/googleApiSources/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/messageBuses/[^/]+$", "required": true, "type": "string" } @@ -834,92 +1505,127 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/googleApiSources/{googleApiSourcesId}:setIamPolicy", - "httpMethod": "POST", - "id": "eventarc.projects.locations.googleApiSources.setIamPolicy", + "list": { + "description": "List message buses.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/messageBuses", + "httpMethod": "GET", + "id": "eventarc.projects.locations.messageBuses.list", "parameterOrder": [ - "resource" + "parent" ], "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "filter": { + "description": "Optional. The filter field that the list request will filter on. Possible filtersare described in https://google.aip.dev/160.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. The sorting order of the resources returned. Value should be a comma-separated list of fields. The default sorting order is ascending. To specify descending order for a field, append a `desc` suffix; for example: `name desc, update_time`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of results to return on each page. Note: The service may send fewer.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The page token; provide the value from the `next_page_token` field in a previous call to retrieve the subsequent page. When paginating, all other parameters provided must match the previous call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent collection to list message buses on.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/googleApiSources/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v1/{+resource}:setIamPolicy", - "request": { - "$ref": "SetIamPolicyRequest" - }, + "path": "v1/{+parent}/messageBuses", "response": { - "$ref": "Policy" + "$ref": "ListMessageBusesResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/googleApiSources/{googleApiSourcesId}:testIamPermissions", - "httpMethod": "POST", - "id": "eventarc.projects.locations.googleApiSources.testIamPermissions", + "listEnrollments": { + "description": "List message bus enrollments.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/messageBuses/{messageBusesId}:listEnrollments", + "httpMethod": "GET", + "id": "eventarc.projects.locations.messageBuses.listEnrollments", "parameterOrder": [ - "resource" + "parent" ], "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "pageSize": { + "description": "Optional. The maximum number of results to return on each page. Note: The service may send fewer.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The page token; provide the value from the `next_page_token` field in a previous call to retrieve the subsequent page. When paginating, all other parameters provided must match the previous call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent message bus to list enrollments on.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/googleApiSources/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/messageBuses/[^/]+$", "required": true, "type": "string" } }, - "path": "v1/{+resource}:testIamPermissions", - "request": { - "$ref": "TestIamPermissionsRequest" - }, + "path": "v1/{+parent}:listEnrollments", "response": { - "$ref": "TestIamPermissionsResponse" + "$ref": "ListMessageBusEnrollmentsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] - } - } - }, - "messageBuses": { - "methods": { - "getIamPolicy": { - "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/messageBuses/{messageBusesId}:getIamPolicy", - "httpMethod": "GET", - "id": "eventarc.projects.locations.messageBuses.getIamPolicy", + }, + "patch": { + "description": "Update a single message bus.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/messageBuses/{messageBusesId}", + "httpMethod": "PATCH", + "id": "eventarc.projects.locations.messageBuses.patch", "parameterOrder": [ - "resource" + "name" ], "parameters": { - "options.requestedPolicyVersion": { - "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "format": "int32", + "allowMissing": { + "description": "Optional. If set to true, and the MessageBus is not found, a new MessageBus will be created. In this situation, `update_mask` is ignored.", "location": "query", - "type": "integer" + "type": "boolean" }, - "resource": { - "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "name": { + "description": "Identifier. Resource name of the form projects/{project}/locations/{location}/messageBuses/{message_bus}", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/messageBuses/[^/]+$", "required": true, "type": "string" + }, + "updateMask": { + "description": "Optional. The fields to be updated; only fields explicitly provided are updated. If no field mask is provided, all provided fields in the request are updated. To update all fields, provide a field mask of \"*\".", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. If set, validate the request and preview the review, but do not post it.", + "location": "query", + "type": "boolean" } }, - "path": "v1/{+resource}:getIamPolicy", + "path": "v1/{+name}", + "request": { + "$ref": "MessageBus" + }, "response": { - "$ref": "Policy" + "$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -986,7 +1692,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "eventarc.projects.locations.operations.cancel", @@ -1108,32 +1814,225 @@ }, "pipelines": { "methods": { + "create": { + "description": "Create a new Pipeline in a particular project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelines", + "httpMethod": "POST", + "id": "eventarc.projects.locations.pipelines.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent collection in which to add this pipeline.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pipelineId": { + "description": "Required. The user-provided ID to be assigned to the Pipeline. It should match the format `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. If set, validate the request and preview the review, but do not post it.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+parent}/pipelines", + "request": { + "$ref": "Pipeline" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete a single pipeline.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelines/{pipelinesId}", + "httpMethod": "DELETE", + "id": "eventarc.projects.locations.pipelines.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "Optional. If set to true, and the Pipeline is not found, the request will succeed but no action will be taken on the server.", + "location": "query", + "type": "boolean" + }, + "etag": { + "description": "Optional. If provided, the Pipeline will only be deleted if the etag matches the current etag on the resource.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the Pipeline to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/pipelines/[^/]+$", + "required": true, + "type": "string" + }, + "validateOnly": { + "description": "Optional. If set, validate the request and preview the review, but do not post it.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get a single Pipeline.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelines/{pipelinesId}", + "httpMethod": "GET", + "id": "eventarc.projects.locations.pipelines.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the pipeline to get.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/pipelines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Pipeline" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "getIamPolicy": { "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelines/{pipelinesId}:getIamPolicy", "httpMethod": "GET", "id": "eventarc.projects.locations.pipelines.getIamPolicy", "parameterOrder": [ - "resource" + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/pipelines/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List pipelines.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelines", + "httpMethod": "GET", + "id": "eventarc.projects.locations.pipelines.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. The filter field that the list request will filter on. Possible filters are described in https://google.aip.dev/160.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. The sorting order of the resources returned. Value should be a comma-separated list of fields. The default sorting order is ascending. To specify descending order for a field, append a `desc` suffix; for example: `name desc, update_time`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of results to return on each page. Note: The service may send fewer.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The page token; provide the value from the `next_page_token` field in a previous call to retrieve the subsequent page. When paginating, all other parameters provided must match the previous call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent collection to list pipelines on.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/pipelines", + "response": { + "$ref": "ListPipelinesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update a single pipeline.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/pipelines/{pipelinesId}", + "httpMethod": "PATCH", + "id": "eventarc.projects.locations.pipelines.patch", + "parameterOrder": [ + "name" ], "parameters": { - "options.requestedPolicyVersion": { - "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "format": "int32", + "allowMissing": { + "description": "Optional. If set to true, and the Pipeline is not found, a new Pipeline will be created. In this situation, `update_mask` is ignored.", "location": "query", - "type": "integer" + "type": "boolean" }, - "resource": { - "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "name": { + "description": "Identifier. The resource name of the Pipeline. Must be unique within the location of the project and must be in `projects/{project}/locations/{location}/pipelines/{pipeline}` format.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/pipelines/[^/]+$", "required": true, "type": "string" + }, + "updateMask": { + "description": "Optional. The fields to be updated; only fields explicitly provided are updated. If no field mask is provided, all provided fields in the request are updated. To update all fields, provide a field mask of \"*\".", + "format": "google-fieldmask", + "location": "query", + "type": "string" + }, + "validateOnly": { + "description": "Optional. If set, validate the request and preview the review, but do not post it.", + "location": "query", + "type": "boolean" } }, - "path": "v1/{+resource}:getIamPolicy", + "path": "v1/{+name}", + "request": { + "$ref": "Pipeline" + }, "response": { - "$ref": "Policy" + "$ref": "GoogleLongrunningOperation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" @@ -1561,7 +2460,7 @@ } } }, - "revision": "20240913", + "revision": "20250103", "rootUrl": "https://eventarc.googleapis.com/", "schemas": { "AuditConfig": { @@ -1653,6 +2552,13 @@ "description": "Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt their event data. It must match the pattern `projects/*/locations/*/keyRings/*/cryptoKeys/*`.", "type": "string" }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource labels.", + "type": "object" + }, "name": { "description": "Required. The resource name of the channel. Must be unique within the location on the project and must be in `projects/{project}/locations/{location}/channels/{channel_id}` format.", "type": "string" @@ -1720,6 +2626,13 @@ "readOnly": true, "type": "string" }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource labels.", + "type": "object" + }, "name": { "description": "Required. The name of the connection.", "type": "string" @@ -1794,6 +2707,69 @@ "properties": {}, "type": "object" }, + "Enrollment": { + "description": "An enrollment represents a subscription for messages on a particular message bus. It defines a matching criteria for messages on the bus and the subscriber endpoint where matched messages should be delivered.", + "id": "Enrollment", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource annotations.", + "type": "object" + }, + "celMatch": { + "description": "Required. A CEL expression identifying which messages this enrollment applies to.", + "type": "string" + }, + "createTime": { + "description": "Output only. The creation time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "destination": { + "description": "Required. Destination is the Pipeline that the Enrollment is delivering to. It must point to the full resource name of a Pipeline. Format: \"projects/{PROJECT_ID}/locations/{region}/pipelines/{PIPELINE_ID)\"", + "type": "string" + }, + "displayName": { + "description": "Optional. Resource display name.", + "type": "string" + }, + "etag": { + "description": "Output only. This checksum is computed by the server based on the value of other fields, and might be sent only on update and delete requests to ensure that the client has an up-to-date value before proceeding.", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource labels.", + "type": "object" + }, + "messageBus": { + "description": "Required. Resource name of the message bus identifying the source of the messages. It matches the form projects/{project}/locations/{location}/messageBuses/{messageBus}.", + "type": "string" + }, + "name": { + "description": "Identifier. Resource name of the form projects/{project}/locations/{location}/enrollments/{enrollment}", + "type": "string" + }, + "uid": { + "description": "Output only. Server assigned unique identifier for the channel. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The last-modified time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "EventFilter": { "description": "Filters events based on exact matches on the CloudEvents attributes.", "id": "EventFilter", @@ -1893,49 +2869,309 @@ }, "type": "object" }, - "GKE": { - "description": "Represents a GKE destination.", - "id": "GKE", + "GKE": { + "description": "Represents a GKE destination.", + "id": "GKE", + "properties": { + "cluster": { + "description": "Required. The name of the cluster the GKE service is running in. The cluster must be running in the same project as the trigger being created.", + "type": "string" + }, + "location": { + "description": "Required. The name of the Google Compute Engine in which the cluster resides, which can either be compute zone (for example, us-central1-a) for the zonal clusters or region (for example, us-central1) for regional clusters.", + "type": "string" + }, + "namespace": { + "description": "Required. The namespace the GKE service is running in.", + "type": "string" + }, + "path": { + "description": "Optional. The relative path on the GKE service the events should be sent to. The value must conform to the definition of a URI path segment (section 3.3 of RFC2396). Examples: \"/route\", \"route\", \"route/subroute\".", + "type": "string" + }, + "service": { + "description": "Required. Name of the GKE service.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleApiSource": { + "description": "A GoogleApiSource represents a subscription of 1P events from a MessageBus.", + "id": "GoogleApiSource", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource annotations.", + "type": "object" + }, + "createTime": { + "description": "Output only. The creation time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "cryptoKeyName": { + "description": "Optional. Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt their event data. It must match the pattern `projects/*/locations/*/keyRings/*/cryptoKeys/*`.", + "type": "string" + }, + "destination": { + "description": "Required. Destination is the message bus that the GoogleApiSource is delivering to. It must be point to the full resource name of a MessageBus. Format: \"projects/{PROJECT_ID}/locations/{region}/messagesBuses/{MESSAGE_BUS_ID)", + "type": "string" + }, + "displayName": { + "description": "Optional. Resource display name.", + "type": "string" + }, + "etag": { + "description": "Output only. This checksum is computed by the server based on the value of other fields, and might be sent only on update and delete requests to ensure that the client has an up-to-date value before proceeding.", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource labels.", + "type": "object" + }, + "loggingConfig": { + "$ref": "LoggingConfig", + "description": "Optional. Config to control Platform logging for the GoogleApiSource." + }, + "name": { + "description": "Identifier. Resource name of the form projects/{project}/locations/{location}/googleApiSources/{google_api_source}", + "type": "string" + }, + "uid": { + "description": "Output only. Server assigned unique identifier for the channel. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The last-modified time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleChannelConfig": { + "description": "A GoogleChannelConfig is a resource that stores the custom settings respected by Eventarc first-party triggers in the matching region. Once configured, first-party event data will be protected using the specified custom managed encryption key instead of Google-managed encryption keys.", + "id": "GoogleChannelConfig", + "properties": { + "cryptoKeyName": { + "description": "Optional. Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt their event data. It must match the pattern `projects/*/locations/*/keyRings/*/cryptoKeys/*`.", + "type": "string" + }, + "name": { + "description": "Required. The resource name of the config. Must be in the format of, `projects/{project}/locations/{location}/googleChannelConfig`.", + "type": "string" + }, + "updateTime": { + "description": "Output only. The last-modified time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudEventarcV1PipelineDestination": { + "description": "Represents a target of an invocation over HTTP.", + "id": "GoogleCloudEventarcV1PipelineDestination", + "properties": { + "authenticationConfig": { + "$ref": "GoogleCloudEventarcV1PipelineDestinationAuthenticationConfig", + "description": "Optional. An authentication config used to authenticate message requests, such that destinations can verify the source. For example, this can be used with private GCP destinations that require GCP credentials to access like Cloud Run. This field is optional and should be set only by users interested in authenticated push" + }, + "httpEndpoint": { + "$ref": "GoogleCloudEventarcV1PipelineDestinationHttpEndpoint", + "description": "Optional. An HTTP endpoint destination described by an URI. If a DNS FQDN is provided as the endpoint, Pipeline will create a peering zone to the consumer VPC and forward DNS requests to the VPC specified by network config to resolve the service endpoint. See: https://cloud.google.com/dns/docs/zones/zones-overview#peering_zones" + }, + "messageBus": { + "description": "Optional. The resource name of the Message Bus to which events should be published. The Message Bus resource should exist in the same project as the Pipeline. Format: `projects/{project}/locations/{location}/messageBuses/{message_bus}`", + "type": "string" + }, + "networkConfig": { + "$ref": "GoogleCloudEventarcV1PipelineDestinationNetworkConfig", + "description": "Optional. Network config is used to configure how Pipeline resolves and connects to a destination." + }, + "outputPayloadFormat": { + "$ref": "GoogleCloudEventarcV1PipelineMessagePayloadFormat", + "description": "Optional. The message format before it is delivered to the destination. If not set, the message will be delivered in the format it was originally delivered to the Pipeline. This field can only be set if Pipeline.input_payload_format is also set." + }, + "topic": { + "description": "Optional. The resource name of the Pub/Sub topic to which events should be published. Format: `projects/{project}/locations/{location}/topics/{topic}`", + "type": "string" + }, + "workflow": { + "description": "Optional. The resource name of the Workflow whose Executions are triggered by the events. The Workflow resource should be deployed in the same project as the Pipeline. Format: `projects/{project}/locations/{location}/workflows/{workflow}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudEventarcV1PipelineDestinationAuthenticationConfig": { + "description": "Represents a config used to authenticate message requests.", + "id": "GoogleCloudEventarcV1PipelineDestinationAuthenticationConfig", + "properties": { + "googleOidc": { + "$ref": "GoogleCloudEventarcV1PipelineDestinationAuthenticationConfigOidcToken", + "description": "Optional. This authenticate method will apply Google OIDC tokens signed by a GCP service account to the requests." + }, + "oauthToken": { + "$ref": "GoogleCloudEventarcV1PipelineDestinationAuthenticationConfigOAuthToken", + "description": "Optional. If specified, an [OAuth token](https://developers.google.com/identity/protocols/OAuth2) will be generated and attached as an `Authorization` header in the HTTP request. This type of authorization should generally only be used when calling Google APIs hosted on *.googleapis.com." + } + }, + "type": "object" + }, + "GoogleCloudEventarcV1PipelineDestinationAuthenticationConfigOAuthToken": { + "description": "Contains information needed for generating an [OAuth token](https://developers.google.com/identity/protocols/OAuth2). This type of authorization should generally only be used when calling Google APIs hosted on *.googleapis.com.", + "id": "GoogleCloudEventarcV1PipelineDestinationAuthenticationConfigOAuthToken", + "properties": { + "scope": { + "description": "Optional. OAuth scope to be used for generating OAuth access token. If not specified, \"https://www.googleapis.com/auth/cloud-platform\" will be used.", + "type": "string" + }, + "serviceAccount": { + "description": "Required. Service account email used to generate the [OAuth token](https://developers.google.com/identity/protocols/OAuth2). The principal who calls this API must have iam.serviceAccounts.actAs permission in the service account. See https://cloud.google.com/iam/docs/understanding-service-accounts for more information. Eventarc service agents must have roles/roles/iam.serviceAccountTokenCreator role to allow Pipeline to create OAuth2 tokens for authenticated requests.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudEventarcV1PipelineDestinationAuthenticationConfigOidcToken": { + "description": "Represents a config used to authenticate with a Google OIDC token using a GCP service account. Use this authentication method to invoke your Cloud Run and Cloud Functions destinations or HTTP endpoints that support Google OIDC.", + "id": "GoogleCloudEventarcV1PipelineDestinationAuthenticationConfigOidcToken", + "properties": { + "audience": { + "description": "Optional. Audience to be used to generate the OIDC Token. The audience claim identifies the recipient that the JWT is intended for. If unspecified, the destination URI will be used.", + "type": "string" + }, + "serviceAccount": { + "description": "Required. Service account email used to generate the OIDC Token. The principal who calls this API must have iam.serviceAccounts.actAs permission in the service account. See https://cloud.google.com/iam/docs/understanding-service-accounts for more information. Eventarc service agents must have roles/roles/iam.serviceAccountTokenCreator role to allow the Pipeline to create OpenID tokens for authenticated requests.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudEventarcV1PipelineDestinationHttpEndpoint": { + "description": "Represents a HTTP endpoint destination.", + "id": "GoogleCloudEventarcV1PipelineDestinationHttpEndpoint", + "properties": { + "messageBindingTemplate": { + "description": "Optional. The CEL expression used to modify how the destination-bound HTTP request is constructed. If a binding expression is not specified here, the message is treated as a CloudEvent and is mapped to the HTTP request according to the CloudEvent HTTP Protocol Binding Binary Content Mode (https://github.com/cloudevents/spec/blob/main/cloudevents/bindings/http-protocol-binding.md#31-binary-content-mode). In this representation, all fields except the `data` and `datacontenttype` field on the message are mapped to HTTP request headers with a prefix of `ce-`. To construct the HTTP request payload and the value of the content-type HTTP header, the payload format is defined as follows: 1) Use the output_payload_format_type on the Pipeline.Destination if it is set, else: 2) Use the input_payload_format_type on the Pipeline if it is set, else: 3) Treat the payload as opaque binary data. The `data` field of the message is converted to the payload format or left as-is for case 3) and then attached as the payload of the HTTP request. The `content-type` header on the HTTP request is set to the payload format type or left empty for case 3). However, if a mediation has updated the `datacontenttype` field on the message so that it is not the same as the payload format type but it is still a prefix of the payload format type, then the `content-type` header on the HTTP request is set to this `datacontenttype` value. For example, if the `datacontenttype` is \"application/json\" and the payload format type is \"application/json; charset=utf-8\", then the `content-type` header on the HTTP request is set to \"application/json; charset=utf-8\". If a non-empty binding expression is specified then this expression is used to modify the default CloudEvent HTTP Protocol Binding Binary Content representation. The result of the CEL expression must be a map of key/value pairs which is used as follows: - If a map named `headers` exists on the result of the expression, then its key/value pairs are directly mapped to the HTTP request headers. The headers values are constructed from the corresponding value type's canonical representation. If the `headers` field doesn't exist then the resulting HTTP request will be the headers of the CloudEvent HTTP Binding Binary Content Mode representation of the final message. Note: If the specified binding expression, has updated the `datacontenttype` field on the message so that it is not the same as the payload format type but it is still a prefix of the payload format type, then the `content-type` header in the `headers` map is set to this `datacontenttype` value. - If a field named `body` exists on the result of the expression then its value is directly mapped to the body of the request. If the value of the `body` field is of type bytes or string then it is used for the HTTP request body as-is, with no conversion. If the body field is of any other type then it is converted to a JSON string. If the body field does not exist then the resulting payload of the HTTP request will be data value of the CloudEvent HTTP Binding Binary Content Mode representation of the final message as described earlier. - Any other fields in the resulting expression will be ignored. The CEL expression may access the incoming CloudEvent message in its definition, as follows: - The `data` field of the incoming CloudEvent message can be accessed using the `message.data` value. Subfields of `message.data` may also be accessed if an input_payload_format has been specified on the Pipeline. - Each attribute of the incoming CloudEvent message can be accessed using the `message.` value, where is replaced with the name of the attribute. - Existing headers can be accessed in the CEL expression using the `headers` variable. The `headers` variable defines a map of key/value pairs corresponding to the HTTP headers of the CloudEvent HTTP Binding Binary Content Mode representation of the final message as described earlier. For example, the following CEL expression can be used to construct an HTTP request by adding an additional header to the HTTP headers of the CloudEvent HTTP Binding Binary Content Mode representation of the final message and by overwriting the body of the request: ``` { \"headers\": headers.merge({\"new-header-key\": \"new-header-value\"}), \"body\": \"new-body\" } ``` - The default binding for the message payload can be accessed using the `body` variable. It conatins a string representation of the message payload in the format specified by the `output_payload_format` field. If the `input_payload_format` field is not set, the `body` variable contains the same message payload bytes that were published. Additionally, the following CEL extension functions are provided for use in this CEL expression: - toBase64Url: map.toBase64Url() -> string - Converts a CelValue to a base64url encoded string - toJsonString: map.toJsonString() -> string - Converts a CelValue to a JSON string - merge: map1.merge(map2) -> map3 - Merges the passed CEL map with the existing CEL map the function is applied to. - If the same key exists in both maps, if the key's value is type map both maps are merged else the value from the passed map is used. - denormalize: map.denormalize() -> map - Denormalizes a CEL map such that every value of type map or key in the map is expanded to return a single level map. - The resulting keys are \".\" separated indices of the map keys. - For example: { \"a\": 1, \"b\": { \"c\": 2, \"d\": 3 } \"e\": [4, 5] } .denormalize() -> { \"a\": 1, \"b.c\": 2, \"b.d\": 3, \"e.0\": 4, \"e.1\": 5 } - setField: map.setField(key, value) -> message - Sets the field of the message with the given key to the given value. - If the field is not present it will be added. - If the field is present it will be overwritten. - The key can be a dot separated path to set a field in a nested message. - Key must be of type string. - Value may be any valid type. - removeFields: map.removeFields([key1, key2, ...]) -> message - Removes the fields of the map with the given keys. - The keys can be a dot separated path to remove a field in a nested message. - If a key is not found it will be ignored. - Keys must be of type string. - toMap: [map1, map2, ...].toMap() -> map - Converts a CEL list of CEL maps to a single CEL map - toCloudEventJsonWithPayloadFormat: message.toCloudEventJsonWithPayloadFormat() -> map - Converts a message to the corresponding structure of JSON format for CloudEvents. - It converts `data` to destination payload format specified in `output_payload_format`. If `output_payload_format` is not set, the data will remain unchanged. - It also sets the corresponding datacontenttype of the CloudEvent, as indicated by `output_payload_format`. If no `output_payload_format` is set it will use the value of the \"datacontenttype\" attribute on the CloudEvent if present, else remove \"datacontenttype\" attribute. - This function expects that the content of the message will adhere to the standard CloudEvent format. If it doesn't then this function will fail. - The result is a CEL map that corresponds to the JSON representation of the CloudEvent. To convert that data to a JSON string it can be chained with the toJsonString function. The Pipeline expects that the message it receives adheres to the standard CloudEvent format. If it doesn't then the outgoing message request may fail with a persistent error.", + "type": "string" + }, + "uri": { + "description": "Required. The URI of the HTTP enpdoint. The value must be a RFC2396 URI string. Examples: `https://svc.us-central1.p.local:8080/route`. Only the HTTPS protocol is supported.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudEventarcV1PipelineDestinationNetworkConfig": { + "description": "Represents a network config to be used for destination resolution and connectivity.", + "id": "GoogleCloudEventarcV1PipelineDestinationNetworkConfig", + "properties": { + "networkAttachment": { + "description": "Required. Name of the NetworkAttachment that allows access to the consumer VPC. Format: `projects/{PROJECT_ID}/regions/{REGION}/networkAttachments/{NETWORK_ATTACHMENT_NAME}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudEventarcV1PipelineMediation": { + "description": "Mediation defines different ways to modify the Pipeline.", + "id": "GoogleCloudEventarcV1PipelineMediation", "properties": { - "cluster": { - "description": "Required. The name of the cluster the GKE service is running in. The cluster must be running in the same project as the trigger being created.", - "type": "string" - }, - "location": { - "description": "Required. The name of the Google Compute Engine in which the cluster resides, which can either be compute zone (for example, us-central1-a) for the zonal clusters or region (for example, us-central1) for regional clusters.", - "type": "string" - }, - "namespace": { - "description": "Required. The namespace the GKE service is running in.", + "transformation": { + "$ref": "GoogleCloudEventarcV1PipelineMediationTransformation", + "description": "Optional. How the Pipeline is to transform messages" + } + }, + "type": "object" + }, + "GoogleCloudEventarcV1PipelineMediationTransformation": { + "description": "Transformation defines the way to transform an incoming message.", + "id": "GoogleCloudEventarcV1PipelineMediationTransformation", + "properties": { + "transformationTemplate": { + "description": "Optional. The CEL expression template to apply to transform messages. The following CEL extension functions are provided for use in this CEL expression: - merge: map1.merge(map2) -> map3 - Merges the passed CEL map with the existing CEL map the function is applied to. - If the same key exists in both maps, if the key's value is type map both maps are merged else the value from the passed map is used. - denormalize: map.denormalize() -> map - Denormalizes a CEL map such that every value of type map or key in the map is expanded to return a single level map. - The resulting keys are \".\" separated indices of the map keys. - For example: { \"a\": 1, \"b\": { \"c\": 2, \"d\": 3 } \"e\": [4, 5] } .denormalize() -> { \"a\": 1, \"b.c\": 2, \"b.d\": 3, \"e.0\": 4, \"e.1\": 5 } - setField: map.setField(key, value) -> message - Sets the field of the message with the given key to the given value. - If the field is not present it will be added. - If the field is present it will be overwritten. - The key can be a dot separated path to set a field in a nested message. - Key must be of type string. - Value may be any valid type. - removeFields: map.removeFields([key1, key2, ...]) -> message - Removes the fields of the map with the given keys. - The keys can be a dot separated path to remove a field in a nested message. - If a key is not found it will be ignored. - Keys must be of type string. - toMap: [map1, map2, ...].toMap() -> map - Converts a CEL list of CEL maps to a single CEL map - toDestinationPayloadFormat(): message.data.toDestinationPayloadFormat() -> string or bytes - Converts the message data to the destination payload format specified in Pipeline.Destination.output_payload_format - This function is meant to be applied to the message.data field. - If the destination payload format is not set, the function will return the message data unchanged. - toCloudEventJsonWithPayloadFormat: message.toCloudEventJsonWithPayloadFormat() -> map - Converts a message to the corresponding structure of JSON format for CloudEvents - This function applies toDestinationPayloadFormat() to the message data. It also sets the corresponding datacontenttype of the CloudEvent, as indicated by Pipeline.Destination.output_payload_format. If no output_payload_format is set it will use the existing datacontenttype on the CloudEvent if present, else leave datacontenttype absent. - This function expects that the content of the message will adhere to the standard CloudEvent format. If it doesn't then this function will fail. - The result is a CEL map that corresponds to the JSON representation of the CloudEvent. To convert that data to a JSON string it can be chained with the toJsonString function.", "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudEventarcV1PipelineMessagePayloadFormat": { + "description": "Represents the format of message data.", + "id": "GoogleCloudEventarcV1PipelineMessagePayloadFormat", + "properties": { + "avro": { + "$ref": "GoogleCloudEventarcV1PipelineMessagePayloadFormatAvroFormat", + "description": "Optional. Avro format." }, - "path": { - "description": "Optional. The relative path on the GKE service the events should be sent to. The value must conform to the definition of a URI path segment (section 3.3 of RFC2396). Examples: \"/route\", \"route\", \"route/subroute\".", - "type": "string" + "json": { + "$ref": "GoogleCloudEventarcV1PipelineMessagePayloadFormatJsonFormat", + "description": "Optional. JSON format." }, - "service": { - "description": "Required. Name of the GKE service.", + "protobuf": { + "$ref": "GoogleCloudEventarcV1PipelineMessagePayloadFormatProtobufFormat", + "description": "Optional. Protobuf format." + } + }, + "type": "object" + }, + "GoogleCloudEventarcV1PipelineMessagePayloadFormatAvroFormat": { + "description": "The format of an AVRO message payload.", + "id": "GoogleCloudEventarcV1PipelineMessagePayloadFormatAvroFormat", + "properties": { + "schemaDefinition": { + "description": "Optional. The entire schema definition is stored in this field.", "type": "string" } }, "type": "object" }, - "GoogleChannelConfig": { - "description": "A GoogleChannelConfig is a resource that stores the custom settings respected by Eventarc first-party triggers in the matching region. Once configured, first-party event data will be protected using the specified custom managed encryption key instead of Google-managed encryption keys.", - "id": "GoogleChannelConfig", + "GoogleCloudEventarcV1PipelineMessagePayloadFormatJsonFormat": { + "description": "The format of a JSON message payload.", + "id": "GoogleCloudEventarcV1PipelineMessagePayloadFormatJsonFormat", + "properties": {}, + "type": "object" + }, + "GoogleCloudEventarcV1PipelineMessagePayloadFormatProtobufFormat": { + "description": "The format of a Protobuf message payload.", + "id": "GoogleCloudEventarcV1PipelineMessagePayloadFormatProtobufFormat", "properties": { - "cryptoKeyName": { - "description": "Optional. Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt their event data. It must match the pattern `projects/*/locations/*/keyRings/*/cryptoKeys/*`.", + "schemaDefinition": { + "description": "Optional. The entire schema definition is stored in this field.", "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudEventarcV1PipelineRetryPolicy": { + "description": "The retry policy configuration for the Pipeline. The pipeline exponentially backs off in case the destination is non responsive or returns a retryable error code. The default semantics are as follows: The backoff starts with a 5 second delay and doubles the delay after each failed attempt (10 seconds, 20 seconds, 40 seconds, etc.). The delay is capped at 60 seconds by default. Please note that if you set the min_retry_delay and max_retry_delay fields to the same value this will make the duration between retries constant.", + "id": "GoogleCloudEventarcV1PipelineRetryPolicy", + "properties": { + "maxAttempts": { + "description": "Optional. The maximum number of delivery attempts for any message. The value must be between 1 and 100. The default value for this field is 5.", + "format": "int32", + "type": "integer" }, - "name": { - "description": "Required. The resource name of the config. Must be in the format of, `projects/{project}/locations/{location}/googleChannelConfig`.", + "maxRetryDelay": { + "description": "Optional. The maximum amount of seconds to wait between retry attempts. The value must be between 1 and 600. The default value for this field is 60.", + "format": "google-duration", "type": "string" }, - "updateTime": { - "description": "Output only. The last-modified time.", - "format": "google-datetime", - "readOnly": true, + "minRetryDelay": { + "description": "Optional. The minimum amount of seconds to wait between retry attempts. The value must be between 1 and 600. The default value for this field is 5.", + "format": "google-duration", "type": "string" } }, @@ -2088,6 +3324,56 @@ }, "type": "object" }, + "ListEnrollmentsResponse": { + "description": "The response message for the `ListEnrollments` method.", + "id": "ListEnrollmentsResponse", + "properties": { + "enrollments": { + "description": "The requested Enrollments, up to the number specified in `page_size`.", + "items": { + "$ref": "Enrollment" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A page token that can be sent to `ListEnrollments` to request the next page. If this is empty, then there are no more pages.", + "type": "string" + }, + "unreachable": { + "description": "Unreachable resources, if any.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListGoogleApiSourcesResponse": { + "description": "The response message for the `ListGoogleApiSources` method.", + "id": "ListGoogleApiSourcesResponse", + "properties": { + "googleApiSources": { + "description": "The requested GoogleApiSources, up to the number specified in `page_size`.", + "items": { + "$ref": "GoogleApiSource" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A page token that can be sent to `ListMessageBusEnrollments` to request the next page. If this is empty, then there are no more pages.", + "type": "string" + }, + "unreachable": { + "description": "Unreachable resources, if any.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ListLocationsResponse": { "description": "The response message for Locations.ListLocations.", "id": "ListLocationsResponse", @@ -2106,6 +3392,81 @@ }, "type": "object" }, + "ListMessageBusEnrollmentsResponse": { + "description": "The response message for the `ListMessageBusEnrollments` method.`", + "id": "ListMessageBusEnrollmentsResponse", + "properties": { + "enrollments": { + "description": "The requested enrollments, up to the number specified in `page_size`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A page token that can be sent to `ListMessageBusEnrollments` to request the next page. If this is empty, then there are no more pages.", + "type": "string" + }, + "unreachable": { + "description": "Unreachable resources, if any.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListMessageBusesResponse": { + "description": "The response message for the `ListMessageBuses` method.", + "id": "ListMessageBusesResponse", + "properties": { + "messageBuses": { + "description": "The requested message buses, up to the number specified in `page_size`.", + "items": { + "$ref": "MessageBus" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A page token that can be sent to `ListMessageBuses` to request the next page. If this is empty, then there are no more pages.", + "type": "string" + }, + "unreachable": { + "description": "Unreachable resources, if any.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListPipelinesResponse": { + "description": "The response message for the ListPipelines method.", + "id": "ListPipelinesResponse", + "properties": { + "nextPageToken": { + "description": "A page token that can be sent to `ListPipelines` to request the next page. If this is empty, then there are no more pages.", + "type": "string" + }, + "pipelines": { + "description": "The requested pipelines, up to the number specified in `page_size`.", + "items": { + "$ref": "Pipeline" + }, + "type": "array" + }, + "unreachable": { + "description": "Unreachable resources, if any.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ListProvidersResponse": { "description": "The response message for the `ListProviders` method.", "id": "ListProvidersResponse", @@ -2190,6 +3551,100 @@ }, "type": "object" }, + "LoggingConfig": { + "description": "The configuration for Platform Telemetry logging for Eventarc Advanced resources.", + "id": "LoggingConfig", + "properties": { + "logSeverity": { + "description": "Optional. The minimum severity of logs that will be sent to Stackdriver/Platform Telemetry. Logs at severitiy ≥ this value will be sent, unless it is NONE.", + "enum": [ + "LOG_SEVERITY_UNSPECIFIED", + "NONE", + "DEBUG", + "INFO", + "NOTICE", + "WARNING", + "ERROR", + "CRITICAL", + "ALERT", + "EMERGENCY" + ], + "enumDescriptions": [ + "Log severity is not specified. This value is treated the same as NONE, but is used to distinguish between no update and update to NONE in update_masks.", + "Default value at resource creation, presence of this value must be treated as no logging/disable logging.", + "Debug or trace level logging.", + "Routine information, such as ongoing status or performance.", + "Normal but significant events, such as start up, shut down, or a configuration change.", + "Warning events might cause problems.", + "Error events are likely to cause problems.", + "Critical events cause more severe problems or outages.", + "A person must take action immediately.", + "One or more systems are unusable." + ], + "type": "string" + } + }, + "type": "object" + }, + "MessageBus": { + "description": "MessageBus for the messages flowing through the system. The admin has visibility and control over the messages being published and consumed and can restrict publishers and subscribers to only a subset of data available in the system by defining authorization policies.", + "id": "MessageBus", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource annotations.", + "type": "object" + }, + "createTime": { + "description": "Output only. The creation time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "cryptoKeyName": { + "description": "Optional. Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt their event data. It must match the pattern `projects/*/locations/*/keyRings/*/cryptoKeys/*`.", + "type": "string" + }, + "displayName": { + "description": "Optional. Resource display name.", + "type": "string" + }, + "etag": { + "description": "Output only. This checksum is computed by the server based on the value of other fields, and might be sent only on update and delete requests to ensure that the client has an up-to-date value before proceeding.", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource labels.", + "type": "object" + }, + "loggingConfig": { + "$ref": "LoggingConfig", + "description": "Optional. Config to control Platform logging for the Message Bus. This log configuration is applied to the Message Bus itself, and all the Enrollments attached to it." + }, + "name": { + "description": "Identifier. Resource name of the form projects/{project}/locations/{location}/messageBuses/{message_bus}", + "type": "string" + }, + "uid": { + "description": "Output only. Server assigned unique identifier for the channel. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The last-modified time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "NetworkConfig": { "description": "Network Configuration that can be inherited by other protos.", "id": "NetworkConfig", @@ -2245,6 +3700,86 @@ }, "type": "object" }, + "Pipeline": { + "description": "A representation of the Pipeline resource.", + "id": "Pipeline", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. User-defined annotations. See https://google.aip.dev/128#annotations.", + "type": "object" + }, + "createTime": { + "description": "Output only. The creation time. A timestamp in RFC3339 UTC \"Zulu\" format, with nanosecond resolution and up to nine fractional digits. Examples: \"2014-10-02T15:01:23Z\" and \"2014-10-02T15:01:23.045123456Z\".", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "cryptoKeyName": { + "description": "Optional. Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt the event data. If not set, an internal Google-owned key will be used to encrypt messages. It must match the pattern \"projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}\".", + "type": "string" + }, + "destinations": { + "description": "Required. List of destinations to which messages will be forwarded. Currently, exactly one destination is supported per Pipeline.", + "items": { + "$ref": "GoogleCloudEventarcV1PipelineDestination" + }, + "type": "array" + }, + "displayName": { + "description": "Optional. Display name of resource.", + "type": "string" + }, + "etag": { + "description": "Output only. This checksum is computed by the server based on the value of other fields, and might be sent only on create requests to ensure that the client has an up-to-date value before proceeding.", + "type": "string" + }, + "inputPayloadFormat": { + "$ref": "GoogleCloudEventarcV1PipelineMessagePayloadFormat", + "description": "Optional. The payload format expected for the messages received by the Pipeline. If input_payload_format is set then any messages not matching this format will be treated as persistent errors. If input_payload_format is not set, then the message data will be treated as an opaque binary and no output format can be set on the Pipeline through the Pipeline.Destination.output_payload_format field. Any Mediations on the Pipeline that involve access to the data field will fail as persistent errors." + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. User labels attached to the Pipeline that can be used to group resources. An object containing a list of \"key\": value pairs. Example: { \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }.", + "type": "object" + }, + "loggingConfig": { + "$ref": "LoggingConfig", + "description": "Optional. Config to control Platform Logging for Pipelines." + }, + "mediations": { + "description": "Optional. List of mediation operations to be performed on the message. Currently, only one Transformation operation is allowed in each Pipeline.", + "items": { + "$ref": "GoogleCloudEventarcV1PipelineMediation" + }, + "type": "array" + }, + "name": { + "description": "Identifier. The resource name of the Pipeline. Must be unique within the location of the project and must be in `projects/{project}/locations/{location}/pipelines/{pipeline}` format.", + "type": "string" + }, + "retryPolicy": { + "$ref": "GoogleCloudEventarcV1PipelineRetryPolicy", + "description": "Optional. The retry policy to use in the pipeline." + }, + "uid": { + "description": "Output only. Server-assigned unique identifier for the Pipeline. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The last-modified time. A timestamp in RFC3339 UTC \"Zulu\" format, with nanosecond resolution and up to nine fractional digits. Examples: \"2014-10-02T15:01:23Z\" and \"2014-10-02T15:01:23.045123456Z\".", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Policy": { "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", diff --git a/discovery/fcm-v1.json b/discovery/fcm-v1.json index 7f4be99871..2030fdf36c 100644 --- a/discovery/fcm-v1.json +++ b/discovery/fcm-v1.json @@ -146,7 +146,7 @@ } } }, - "revision": "20240528", + "revision": "20241112", "rootUrl": "https://fcm.googleapis.com/", "schemas": { "AndroidConfig": { @@ -394,6 +394,10 @@ "description": "HTTP request headers defined in Apple Push Notification Service. Refer to [APNs request headers](https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns) for supported headers such as `apns-expiration` and `apns-priority`. The backend sets a default value for `apns-expiration` of 30 days and a default value for `apns-priority` of 10 if not explicitly set.", "type": "object" }, + "liveActivityToken": { + "description": "Optional. [Apple Live Activity](https://developer.apple.com/design/human-interface-guidelines/live-activities) token to send updates to. This token can either be a push token or [push-to-start](https://developer.apple.com/documentation/activitykit/activity/pushtostarttoken) token from Apple. To start, update, or end a live activity remotely using FCM, construct an [`aps payload`](https://developer.apple.com/documentation/activitykit/starting-and-updating-live-activities-with-activitykit-push-notifications#Construct-the-payload-that-starts-a-Live-Activity) and put it in the [`apns.payload`](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#ApnsConfig) field.", + "type": "string" + }, "payload": { "additionalProperties": { "description": "Properties of the object.", diff --git a/discovery/file-v1.json b/discovery/file-v1.json index 576e7ee5b2..2c14b53dac 100644 --- a/discovery/file-v1.json +++ b/discovery/file-v1.json @@ -726,6 +726,11 @@ "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", "required": true, "type": "string" + }, + "returnPartialSuccess": { + "description": "Optional. If true, allow partial responses for multi-regional Aggregated List requests.", + "location": "query", + "type": "boolean" } }, "path": "v1/{+parent}/snapshots", @@ -777,7 +782,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "file.projects.locations.operations.cancel", @@ -902,7 +907,7 @@ } } }, - "revision": "20240905", + "revision": "20241204", "rootUrl": "https://file.googleapis.com/", "schemas": { "Backup": { @@ -1038,7 +1043,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. Input only. Immutable. Tag key-value pairs are bound to this resource. For example: \"123/environment\": \"production\", \"123/costCenter\": \"marketing\"", + "description": "Optional. Input only. Immutable. Tag key-value pairs bound to this resource. Each key must be a namespaced name and each value a short name. Example: \"123456789012/environment\" : \"production\", \"123456789013/costCenter\" : \"marketing\" See the documentation for more information: - Namespaced name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_key - Short name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_value", "type": "object" } }, @@ -1144,8 +1149,8 @@ "description": "Fixed IOPS (input/output operations per second) parameters.", "id": "FixedIOPS", "properties": { - "maxReadIops": { - "description": "Required. Maximum raw read IOPS.", + "maxIops": { + "description": "Required. Maximum IOPS.", "format": "int64", "type": "string" } @@ -1431,8 +1436,8 @@ "description": "IOPS per TB. Filestore defines TB as 1024^4 bytes (TiB).", "id": "IOPSPerTB", "properties": { - "maxReadIopsPerTb": { - "description": "Required. Maximum read IOPS per TiB.", + "maxIopsPerTb": { + "description": "Required. Maximum IOPS per TiB.", "format": "int64", "type": "string" } @@ -1595,7 +1600,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. Input only. Immutable. Tag key-value pairs are bound to this resource. For example: \"123/environment\": \"production\", \"123/costCenter\": \"marketing\"", + "description": "Optional. Input only. Immutable. Tag key-value pairs bound to this resource. Each key must be a namespaced name and each value a short name. Example: \"123456789012/environment\" : \"production\", \"123456789013/costCenter\" : \"marketing\" See the documentation for more information: - Namespaced name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_key - Short name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_value", "type": "object" }, "tier": { @@ -1643,7 +1648,7 @@ "type": "string" }, "unreachable": { - "description": "Locations that could not be reached.", + "description": "Unordered list. Locations that could not be reached.", "items": { "type": "string" }, @@ -1668,7 +1673,7 @@ "type": "string" }, "unreachable": { - "description": "Locations that could not be reached.", + "description": "Unordered list. Locations that could not be reached.", "items": { "type": "string" }, @@ -1727,6 +1732,13 @@ "$ref": "Snapshot" }, "type": "array" + }, + "unreachable": { + "description": "Unordered list. Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -1979,7 +1991,7 @@ "type": "string" }, "cancelRequested": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -2264,7 +2276,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. Input only. Immutable. Tag key-value pairs are bound to this resource. For example: \"123/environment\": \"production\", \"123/costCenter\": \"marketing\"", + "description": "Optional. Input only. Immutable. Tag key-value pairs bound to this resource. Each key must be a namespaced name and each value a short name. Example: \"123456789012/environment\" : \"production\", \"123456789013/costCenter\" : \"marketing\" See the documentation for more information: - Namespaced name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_key - Short name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_value", "type": "object" } }, @@ -2302,22 +2314,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } diff --git a/discovery/file-v1beta1.json b/discovery/file-v1beta1.json index 22b3110e59..be22320972 100644 --- a/discovery/file-v1beta1.json +++ b/discovery/file-v1beta1.json @@ -893,6 +893,11 @@ "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", "required": true, "type": "string" + }, + "returnPartialSuccess": { + "description": "Optional. If true, allow partial responses for multi-regional Aggregated List requests.", + "location": "query", + "type": "boolean" } }, "path": "v1beta1/{+parent}/snapshots", @@ -944,7 +949,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "file.projects.locations.operations.cancel", @@ -1069,7 +1074,7 @@ } } }, - "revision": "20240905", + "revision": "20241204", "rootUrl": "https://file.googleapis.com/", "schemas": { "Backup": { @@ -1205,7 +1210,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. Input only. Immutable. Tag key-value pairs are bound to this resource. For example: \"123/environment\": \"production\", \"123/costCenter\": \"marketing\"", + "description": "Optional. Input only. Immutable. Tag key-value pairs bound to this resource. Each key must be a namespaced name and each value a short name. Example: \"123456789012/environment\" : \"production\", \"123456789013/costCenter\" : \"marketing\" See the documentation for more information: - Namespaced name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_key - Short name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_value", "type": "object" } }, @@ -1322,8 +1327,8 @@ "description": "Fixed IOPS (input/output operations per second) parameters.", "id": "FixedIOPS", "properties": { - "maxReadIops": { - "description": "Required. Maximum raw read IOPS.", + "maxIops": { + "description": "Required. Maximum IOPS.", "format": "int64", "type": "string" } @@ -1609,8 +1614,8 @@ "description": "IOPS per TB. Filestore defines TB as 1024^4 bytes (TiB).", "id": "IOPSPerTB", "properties": { - "maxReadIopsPerTb": { - "description": "Required. Maximum read IOPS per TiB.", + "maxIopsPerTb": { + "description": "Required. Maximum IOPS per TiB.", "format": "int64", "type": "string" } @@ -1803,7 +1808,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. Input only. Immutable. Tag key-value pairs are bound to this resource. For example: \"123/environment\": \"production\", \"123/costCenter\": \"marketing\"", + "description": "Optional. Input only. Immutable. Tag key-value pairs bound to this resource. Each key must be a namespaced name and each value a short name. Example: \"123456789012/environment\" : \"production\", \"123456789013/costCenter\" : \"marketing\" See the documentation for more information: - Namespaced name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_key - Short name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_value", "type": "object" }, "tier": { @@ -1851,7 +1856,7 @@ "type": "string" }, "unreachable": { - "description": "Locations that could not be reached.", + "description": "Unordered list. Locations that could not be reached.", "items": { "type": "string" }, @@ -1876,7 +1881,7 @@ "type": "string" }, "unreachable": { - "description": "Locations that could not be reached.", + "description": "Unordered list. Locations that could not be reached.", "items": { "type": "string" }, @@ -1937,7 +1942,7 @@ "type": "array" }, "unreachable": { - "description": "Locations that could not be reached.", + "description": "Unordered list. Locations that could not be reached.", "items": { "type": "string" }, @@ -1960,6 +1965,13 @@ "$ref": "Snapshot" }, "type": "array" + }, + "unreachable": { + "description": "Unordered list. Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -2248,7 +2260,7 @@ "type": "string" }, "cancelRequested": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -2601,7 +2613,7 @@ "additionalProperties": { "type": "string" }, - "description": "Optional. Input only. Immutable. Tag key-value pairs are bound to this resource. For example: \"123/environment\": \"production\", \"123/costCenter\": \"marketing\"", + "description": "Optional. Input only. Immutable. Tag key-value pairs bound to this resource. Each key must be a namespaced name and each value a short name. Example: \"123456789012/environment\" : \"production\", \"123456789013/costCenter\" : \"marketing\" See the documentation for more information: - Namespaced name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_key - Short name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_value", "type": "object" } }, @@ -2639,22 +2651,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } diff --git a/discovery/firebase-v1beta1.json b/discovery/firebase-v1beta1.json index 6b0e107cba..d2d5605478 100644 --- a/discovery/firebase-v1beta1.json +++ b/discovery/firebase-v1beta1.json @@ -117,7 +117,7 @@ "availableProjects": { "methods": { "list": { - "description": "Lists each [Google Cloud Platform (GCP) `Project`] (https://cloud.google.com/resource-manager/reference/rest/v1/projects) that can have Firebase resources added to it. A Project will only be listed if: - The caller has sufficient [Google IAM](https://cloud.google.com/iam) permissions to call AddFirebase. - The Project is not already a FirebaseProject. - The Project is not in an Organization which has policies that prevent Firebase resources from being added. ", + "description": "Lists each [Google Cloud `Project`](https://cloud.google.com/resource-manager/reference/rest/v1/projects) that can have Firebase resources added and Firebase services enabled. A Project will only be listed if: - The caller has sufficient [Google IAM](https://cloud.google.com/iam) permissions to call AddFirebase. - The Project is not already a FirebaseProject. - The Project is not in an Organization which has policies that prevent Firebase resources from being added. ", "flatPath": "v1beta1/availableProjects", "httpMethod": "GET", "id": "firebase.availableProjects.list", @@ -183,7 +183,7 @@ "projects": { "methods": { "addFirebase": { - "description": "Adds Firebase resources to the specified existing [Google Cloud Platform (GCP) `Project`] (https://cloud.google.com/resource-manager/reference/rest/v1/projects). Since a FirebaseProject is actually also a GCP `Project`, a `FirebaseProject` has the same underlying GCP identifiers (`projectNumber` and `projectId`). This allows for easy interop with Google APIs. The result of this call is an [`Operation`](../../v1beta1/operations). Poll the `Operation` to track the provisioning process by calling GetOperation until [`done`](../../v1beta1/operations#Operation.FIELDS.done) is `true`. When `done` is `true`, the `Operation` has either succeeded or failed. If the `Operation` succeeded, its [`response`](../../v1beta1/operations#Operation.FIELDS.response) is set to a FirebaseProject; if the `Operation` failed, its [`error`](../../v1beta1/operations#Operation.FIELDS.error) is set to a google.rpc.Status. The `Operation` is automatically deleted after completion, so there is no need to call DeleteOperation. This method does not modify any billing account information on the underlying GCP `Project`. To call `AddFirebase`, a project member or service account must have the following permissions (the IAM roles of Editor and Owner contain these permissions): `firebase.projects.update`, `resourcemanager.projects.get`, `serviceusage.services.enable`, and `serviceusage.services.get`.", + "description": "Adds Firebase resources and enables Firebase services in the specified existing [Google Cloud `Project`](https://cloud.google.com/resource-manager/reference/rest/v1/projects). Since a FirebaseProject is actually also a Google Cloud `Project`, a `FirebaseProject` has the same underlying Google Cloud identifiers (`projectNumber` and `projectId`). This allows for easy interop with Google APIs. The result of this call is an [`Operation`](../../v1beta1/operations). Poll the `Operation` to track the provisioning process by calling GetOperation until [`done`](../../v1beta1/operations#Operation.FIELDS.done) is `true`. When `done` is `true`, the `Operation` has either succeeded or failed. If the `Operation` succeeded, its [`response`](../../v1beta1/operations#Operation.FIELDS.response) is set to a FirebaseProject; if the `Operation` failed, its [`error`](../../v1beta1/operations#Operation.FIELDS.error) is set to a google.rpc.Status. The `Operation` is automatically deleted after completion, so there is no need to call DeleteOperation. This method does not modify any billing account information on the underlying Google Cloud `Project`. To call `AddFirebase`, a project member or service account must have the following permissions (the IAM roles of Editor and Owner contain these permissions): `firebase.projects.update`, `resourcemanager.projects.get`, `serviceusage.services.enable`, and `serviceusage.services.get`.", "flatPath": "v1beta1/projects/{projectsId}:addFirebase", "httpMethod": "POST", "id": "firebase.projects.addFirebase", @@ -192,7 +192,7 @@ ], "parameters": { "project": { - "description": "The resource name of the GCP `Project` to which Firebase resources will be added, in the format: projects/PROJECT_IDENTIFIER Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values. After calling `AddFirebase`, the unique Project identifiers ( [`projectNumber`](https://cloud.google.com/resource-manager/reference/rest/v1/projects#Project.FIELDS.project_number) and [`projectId`](https://cloud.google.com/resource-manager/reference/rest/v1/projects#Project.FIELDS.project_id)) of the underlying GCP `Project` are also the identifiers of the FirebaseProject.", + "description": "The resource name of the Google Cloud `Project` in which Firebase resources will be added and Firebase services enabled, in the format: projects/ PROJECT_IDENTIFIER Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values. After calling `AddFirebase`, the unique Project identifiers ( [`projectNumber`](https://cloud.google.com/resource-manager/reference/rest/v1/projects#Project.FIELDS.project_number) and [`projectId`](https://cloud.google.com/resource-manager/reference/rest/v1/projects#Project.FIELDS.project_id)) of the underlying Google Cloud `Project` are also the identifiers of the FirebaseProject.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -794,7 +794,7 @@ "methods": { "list": { "deprecated": true, - "description": "**DEPRECATED.** _Instead, use the applicable resource-specific REST API (or associated documentation, as needed) to determine valid locations for each resource used in your Project._ Lists the valid Google Cloud Platform (GCP) resource locations for the specified Project (including a FirebaseProject). One of these locations can be selected as the Project's [_default_ GCP resource location](https://firebase.google.com/docs/projects/locations), which is the geographical location where the Project's resources, such as Cloud Firestore, will be provisioned by default. However, if the default GCP resource location has already been set for the Project, then this setting cannot be changed. This call checks for any possible [location restrictions](https://cloud.google.com/resource-manager/docs/organization-policy/defining-locations) for the specified Project and, thus, might return a subset of all possible GCP resource locations. To list all GCP resource locations (regardless of any restrictions), call the endpoint without specifying a unique project identifier (that is, `/v1beta1/{parent=projects/-}/listAvailableLocations`). To call `ListAvailableLocations` with a specified project, a member must be at minimum a Viewer of the Project. Calls without a specified project do not require any specific project permissions.", + "description": "**DECOMMISSIONED.** **If called, this endpoint will return a 404 error.** _Instead, use the applicable resource-specific REST API (or associated documentation, as needed) to determine valid locations for each resource used in your Project._ Lists the valid [\"locations for default Google Cloud resources\"](https://firebase.google.com/docs/projects/locations#default-cloud-location) for the specified Project (including a FirebaseProject). One of these locations can be selected as the Project's location for default Google Cloud resources, which is the geographical location where the Project's resources associated with Google App Engine (such as the default Cloud Firestore instance) will be provisioned by default. However, if the location for default Google Cloud resources has already been set for the Project, then this setting cannot be changed. This call checks for any possible [location restrictions](https://cloud.google.com/resource-manager/docs/organization-policy/defining-locations) for the specified Project and, thus, might return a subset of all possible locations. To list all locations (regardless of any restrictions), call the endpoint without specifying a unique project identifier (that is, `/v1beta1/{parent=projects/-}/listAvailableLocations`). To call `ListAvailableLocations` with a specified project, a member must be at minimum a Viewer of the Project. Calls without a specified project do not require any specific project permissions.", "flatPath": "v1beta1/projects/{projectsId}/availableLocations", "httpMethod": "GET", "id": "firebase.projects.availableLocations.list", @@ -814,7 +814,7 @@ "type": "string" }, "parent": { - "description": "The FirebaseProject for which to list GCP resource locations, in the format: projects/PROJECT_IDENTIFIER Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values. If no unique project identifier is specified (that is, `projects/-`), the returned list does not take into account org-specific or project-specific location restrictions.", + "description": "The FirebaseProject for which to list [locations for default Google Cloud resources](https://firebase.google.com/docs/projects/locations#default-cloud-location), in the format: projects/PROJECT_IDENTIFIER Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values. If no unique project identifier is specified (that is, `projects/-`), the returned list does not take into account org-specific or project-specific location restrictions.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -839,7 +839,7 @@ "methods": { "finalize": { "deprecated": true, - "description": "**DEPRECATED.** _Instead, use the applicable resource-specific REST API to set the location for each resource used in your Project._ Sets the default Google Cloud Platform (GCP) resource location for the specified FirebaseProject. This method creates an App Engine application with a [default Cloud Storage bucket](https://cloud.google.com/appengine/docs/standard/python/googlecloudstorageclient/setting-up-cloud-storage#activating_a_cloud_storage_bucket), located in the specified [`locationId`](#body.request_body.FIELDS.location_id). This location must be one of the available [GCP resource locations](https://firebase.google.com/docs/projects/locations). After the default GCP resource location is finalized, or if it was already set, it cannot be changed. The default GCP resource location for the specified `FirebaseProject` might already be set because either the underlying GCP `Project` already has an App Engine application or `FinalizeDefaultLocation` was previously called with a specified `locationId`. Any new calls to `FinalizeDefaultLocation` with a *different* specified `locationId` will return a 409 error. The result of this call is an [`Operation`](../../v1beta1/operations), which can be used to track the provisioning process. The [`response`](../../v1beta1/operations#Operation.FIELDS.response) type of the `Operation` is google.protobuf.Empty. The `Operation` can be polled by its `name` using GetOperation until `done` is true. When `done` is true, the `Operation` has either succeeded or failed. If the `Operation` has succeeded, its [`response`](../../v1beta1/operations#Operation.FIELDS.response) will be set to a google.protobuf.Empty; if the `Operation` has failed, its `error` will be set to a google.rpc.Status. The `Operation` is automatically deleted after completion, so there is no need to call DeleteOperation. All fields listed in the [request body](#request-body) are required. To call `FinalizeDefaultLocation`, a member must be an Owner of the Project.", + "description": "**DECOMMISSIONED.** **If called, this endpoint will return a 404 error.** _Instead, use the applicable resource-specific REST API to set the location for each resource used in your Project._ Sets the [\"location for default Google Cloud resources\"](https://firebase.google.com/docs/projects/locations#default-cloud-location) for the specified FirebaseProject. This method creates a Google App Engine application with a [default Cloud Storage bucket](https://cloud.google.com/appengine/docs/standard/python/googlecloudstorageclient/setting-up-cloud-storage#activating_a_cloud_storage_bucket), located in the specified [`locationId`](#body.request_body.FIELDS.location_id). This location must be one of the available [App Engine locations](https://cloud.google.com/about/locations#region). After the location for default Google Cloud resources is finalized, or if it was already set, it cannot be changed. The location for default Google Cloud resources for the specified `FirebaseProject` might already be set because either the underlying Google Cloud `Project` already has an App Engine application or `FinalizeDefaultLocation` was previously called with a specified `locationId`. The result of this call is an [`Operation`](../../v1beta1/operations), which can be used to track the provisioning process. The [`response`](../../v1beta1/operations#Operation.FIELDS.response) type of the `Operation` is google.protobuf.Empty. The `Operation` can be polled by its `name` using GetOperation until `done` is true. When `done` is true, the `Operation` has either succeeded or failed. If the `Operation` has succeeded, its [`response`](../../v1beta1/operations#Operation.FIELDS.response) will be set to a google.protobuf.Empty; if the `Operation` has failed, its `error` will be set to a google.rpc.Status. The `Operation` is automatically deleted after completion, so there is no need to call DeleteOperation. All fields listed in the [request body](#request-body) are required. To call `FinalizeDefaultLocation`, a member must be an Owner of the Project.", "flatPath": "v1beta1/projects/{projectsId}/defaultLocation:finalize", "httpMethod": "POST", "id": "firebase.projects.defaultLocation.finalize", @@ -848,7 +848,7 @@ ], "parameters": { "parent": { - "description": "The resource name of the FirebaseProject for which the default GCP resource location will be set, in the format: projects/PROJECT_IDENTIFIER Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values.", + "description": "The resource name of the FirebaseProject for which the [\"location for default Google Cloud resources\"](https://firebase.google.com/docs/projects/locations#default-cloud-location) will be set, in the format: projects/PROJECT_IDENTIFIER Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values.", "location": "path", "pattern": "^projects/[^/]+$", "required": true, @@ -1324,7 +1324,7 @@ } } }, - "revision": "20240913", + "revision": "20250107", "rootUrl": "https://firebase.googleapis.com/", "schemas": { "AddFirebaseRequest": { @@ -1332,7 +1332,7 @@ "id": "AddFirebaseRequest", "properties": { "locationId": { - "description": "Deprecated. Instead, to set a Project's default GCP resource location, call [`FinalizeDefaultLocation`](../projects.defaultLocation/finalize) after you add Firebase resources to the GCP `Project`. The ID of the Project's default GCP resource location. The location must be one of the available [GCP resource locations](https://firebase.google.com/docs/projects/locations).", + "description": "**DEPRECATED.** _Instead, use product-specific REST APIs to work with the location of each resource in a Project. This field may be ignored, especially for newly provisioned projects after October 30, 2024._ The ID of the Project's [\"location for default Google Cloud resources\"](https://firebase.google.com/docs/projects/locations#default-cloud-location), which are resources associated with Google App Engine. The location must be one of the available [Google App Engine locations](https://cloud.google.com/about/locations#region).", "type": "string" } }, @@ -1357,12 +1357,12 @@ "properties": { "databaseURL": { "deprecated": true, - "description": "**DEPRECATED.** _Instead, find the default Firebase Realtime Database instance name using the [list endpoint](https://firebase.google.com/docs/reference/rest/database/database-management/rest/v1beta/projects.locations.instances/list) within the Firebase Realtime Database REST API. Note that the default instance for the Project might not yet be provisioned, so the return might not contain a default instance._ The default Firebase Realtime Database URL.", + "description": "**DEPRECATED.** _Instead, find the URL of the default Realtime Database instance using the [list endpoint](https://firebase.google.com/docs/reference/rest/database/database-management/rest/v1beta/projects.locations.instances/list) within the Firebase Realtime Database REST API. If the default instance for the Project has not yet been provisioned, the return might not contain a default instance. Note that the config that's generated for the Firebase console or the Firebase CLI uses the Realtime Database endpoint to populate this value for that config._ The URL of the default Firebase Realtime Database instance.", "type": "string" }, "locationId": { "deprecated": true, - "description": "**DEPRECATED.** _Instead, use product-specific REST APIs to find the location of resources._ The ID of the Project's default GCP resource location. The location is one of the available [GCP resource locations](https://firebase.google.com/docs/projects/locations). This field is omitted if the default GCP resource location has not been finalized yet. To set a Project's default GCP resource location, call [`FinalizeDefaultLocation`](../projects.defaultLocation/finalize) after you add Firebase resources to the Project.", + "description": "**DEPRECATED.** _Instead, use product-specific REST APIs to find the location of each resource in a Project. This field may not be populated, especially for newly provisioned projects after October 30, 2024._ The ID of the Project's [\"location for default Google Cloud resources\"](https://firebase.google.com/docs/projects/locations#default-cloud-location), which are resources associated with Google App Engine. The location is one of the available [App Engine locations](https://cloud.google.com/about/locations#region). This field is omitted if the location for default Google Cloud resources has not been set.", "type": "string" }, "projectId": { @@ -1371,7 +1371,7 @@ }, "storageBucket": { "deprecated": true, - "description": "**DEPRECATED.** _Instead, find the default Cloud Storage for Firebase bucket using the [list endpoint](https://firebase.google.com/docs/reference/rest/storage/rest/v1beta/projects.buckets/list) within the Cloud Storage for Firebase REST API. Note that the default bucket for the Project might not yet be provisioned, so the return might not contain a default bucket._ The default Cloud Storage for Firebase storage bucket name.", + "description": "**DEPRECATED.** _Instead, find the name of the default Cloud Storage for Firebase bucket using the [list endpoint](https://firebase.google.com/docs/reference/rest/storage/rest/v1beta/projects.buckets/list) within the Cloud Storage for Firebase REST API. If the default bucket for the Project has not yet been provisioned, the return might not contain a default bucket. Note that the config that's generated for the Firebase console or the Firebase CLI uses the Cloud Storage for Firebase endpoint to populate this value for that config._ The name of the default Cloud Storage for Firebase bucket.", "type": "string" } }, @@ -1436,7 +1436,7 @@ "type": "string" }, "expireTime": { - "description": "Output only. Timestamp of when the App will be considered expired and cannot be undeleted. This value is only provided if the App is in the `DELETED` state.", + "description": "Output only. If the App has been removed from the Project, this is the timestamp of when the App is considered expired and will be permanently deleted. After this time, the App cannot be undeleted (that is, restored to the Project). This value is only provided if the App is in the `DELETED` state.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -1509,25 +1509,25 @@ "properties": { "hostingSite": { "deprecated": true, - "description": "Output only. **DEPRECATED.** _Instead, find the default Firebase Hosting site name using the [ListSites](https://firebase.google.com/docs/reference/hosting/rest/v1beta1/projects.sites/list) within the Firebase Hosting REST API. Note that the default site for the Project might not yet be provisioned, so the return might not contain a default site._ The default Firebase Hosting site name, in the format: PROJECT_ID Though rare, your `projectId` might already be used as the name for an existing Hosting site in another project (learn more about creating non-default, [additional sites](https://firebase.google.com/docs/hosting/multisites)). In these cases, your `projectId` is appended with a hyphen then five alphanumeric characters to create your default Hosting site name. For example, if your `projectId` is `myproject123`, your default Hosting site name might be: `myproject123-a5c16`", + "description": "Output only. **DEPRECATED.** _Instead, find the name of the default Firebase Hosting site using [ListSites](https://firebase.google.com/docs/reference/hosting/rest/v1beta1/projects.sites/list) within the Firebase Hosting REST API. If the default Hosting site for the Project has not yet been provisioned, the return might not contain a default site._ The name of the default Firebase Hosting site, in the format: PROJECT_ID Though rare, your `projectId` might already be used as the name for an existing Hosting site in another project (learn more about creating non-default, [additional sites](https://firebase.google.com/docs/hosting/multisites)). In these cases, your `projectId` is appended with a hyphen then five alphanumeric characters to create your default Hosting site name. For example, if your `projectId` is `myproject123`, your default Hosting site name might be: `myproject123-a5c16`", "readOnly": true, "type": "string" }, "locationId": { "deprecated": true, - "description": "Output only. **DEPRECATED.** _Instead, use product-specific REST APIs to find the location of resources._ The ID of the Project's default GCP resource location. The location is one of the available [GCP resource locations](https://firebase.google.com/docs/projects/locations). This field is omitted if the default GCP resource location has not been finalized yet. To set a Project's default GCP resource location, call [`FinalizeDefaultLocation`](../projects.defaultLocation/finalize) after you add Firebase resources to the Project.", + "description": "Output only. **DEPRECATED.** _Instead, use product-specific REST APIs to find the location of each resource in a Project. This field may not be populated, especially for newly provisioned projects after October 30, 2024._ The ID of the Project's [\"location for default Google Cloud resources\"](https://firebase.google.com/docs/projects/locations#default-cloud-location), which are resources associated with Google App Engine. The location is one of the available [Google App Engine locations](https://cloud.google.com/about/locations#region). This field is omitted if the location for default Google Cloud resources has not been set.", "readOnly": true, "type": "string" }, "realtimeDatabaseInstance": { "deprecated": true, - "description": "Output only. **DEPRECATED.** _Instead, find the default Firebase Realtime Database instance name using the [list endpoint](https://firebase.google.com/docs/reference/rest/database/database-management/rest/v1beta/projects.locations.instances/list) within the Firebase Realtime Database REST API. Note that the default instance for the Project might not yet be provisioned, so the return might not contain a default instance._ The default Firebase Realtime Database instance name, in the format: PROJECT_ID Though rare, your `projectId` might already be used as the name for an existing Realtime Database instance in another project (learn more about [database sharding](https://firebase.google.com/docs/database/usage/sharding)). In these cases, your `projectId` is appended with a hyphen then five alphanumeric characters to create your default Realtime Database instance name. For example, if your `projectId` is `myproject123`, your default database instance name might be: `myproject123-a5c16`", + "description": "Output only. **DEPRECATED.** _Instead, find the name of the default Realtime Database instance using the [list endpoint](https://firebase.google.com/docs/reference/rest/database/database-management/rest/v1beta/projects.locations.instances/list) within the Firebase Realtime Database REST API. If the default Realtime Database instance for a Project has not yet been provisioned, the return might not contain a default instance._ The default Firebase Realtime Database instance name, in the format: PROJECT_ID Though rare, your `projectId` might already be used as the name for an existing Realtime Database instance in another project (learn more about [database sharding](https://firebase.google.com/docs/database/usage/sharding)). In these cases, your `projectId` is appended with a hyphen then five alphanumeric characters to create your default Realtime Database instance name. For example, if your `projectId` is `myproject123`, your default database instance name might be: `myproject123-a5c16`", "readOnly": true, "type": "string" }, "storageBucket": { "deprecated": true, - "description": "Output only. **DEPRECATED.** _Instead, find the default Cloud Storage for Firebase bucket using the [list endpoint](https://firebase.google.com/docs/reference/rest/storage/rest/v1beta/projects.buckets/list) within the Cloud Storage for Firebase REST API. Note that the default bucket for the Project might not yet be provisioned, so the return might not contain a default bucket._ The default Cloud Storage for Firebase storage bucket, in the format: PROJECT_ID.appspot.com", + "description": "Output only. **DEPRECATED.** _Instead, find the name of the default Cloud Storage for Firebase bucket using the [list endpoint](https://firebase.google.com/docs/reference/rest/storage/rest/v1beta/projects.buckets/list) within the Cloud Storage for Firebase REST API. If the default bucket for the Project has not yet been provisioned, the return might not contain a default bucket._ The name of the default Cloud Storage for Firebase bucket, in one of the following formats: * If provisioned _before_ October 30, 2024: PROJECT_ID.firebasestorage.app * If provisioned _on or after_ October 30, 2024: PROJECT_ID.firebasestorage.app", "readOnly": true, "type": "string" } @@ -1545,7 +1545,7 @@ "id": "FinalizeDefaultLocationRequest", "properties": { "locationId": { - "description": "The ID of the Project's default GCP resource location. The location must be one of the available [GCP resource locations](https://firebase.google.com/docs/projects/locations).", + "description": "**DEPRECATED** The ID of the Project's [\"location for default Google Cloud resources\"](https://firebase.google.com/docs/projects/locations#default-cloud-location), which are resources associated with Google App Engine. The location must be one of the available [Google App Engine locations](https://cloud.google.com/about/locations#region).", "type": "string" } }, @@ -1569,7 +1569,7 @@ "type": "string" }, "expireTime": { - "description": "Output only. Timestamp of when the App will be considered expired and cannot be undeleted. This value is only provided if the App is in the `DELETED` state.", + "description": "Output only. If the App has been removed from the Project, this is the timestamp of when the App is considered expired and will be permanently deleted. After this time, the App cannot be undeleted (that is, restored to the Project). This value is only provided if the App is in the `DELETED` state.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -1618,7 +1618,7 @@ "type": "object" }, "FirebaseProject": { - "description": "A `FirebaseProject` is the top-level Firebase entity. It is the container for Firebase Apps, Firebase Hosting sites, storage systems (Firebase Realtime Database, Cloud Firestore, Cloud Storage buckets), and other Firebase and Google Cloud Platform (GCP) resources. You create a `FirebaseProject` by calling AddFirebase and specifying an *existing* [GCP `Project`](https://cloud.google.com/resource-manager/reference/rest/v1/projects). This adds Firebase resources to the existing GCP `Project`. Since a FirebaseProject is actually also a GCP `Project`, a `FirebaseProject` has the same underlying GCP identifiers (`projectNumber` and `projectId`). This allows for easy interop with Google APIs.", + "description": "A `FirebaseProject` is the top-level Firebase entity. It is the container for Firebase Apps, Firebase Hosting sites, storage systems (Firebase Realtime Database, Cloud Firestore, Cloud Storage buckets), and other Firebase and Google Cloud resources. You create a `FirebaseProject` by calling AddFirebase and specifying an *existing* [Google Cloud `Project`](https://cloud.google.com/resource-manager/reference/rest/v1/projects). This adds Firebase resources to the existing Google Cloud `Project`. Since a FirebaseProject is actually also a Google Cloud `Project`, a `FirebaseProject` has the same underlying Google Cloud identifiers (`projectNumber` and `projectId`). This allows for easy interop with Google APIs.", "id": "FirebaseProject", "properties": { "annotations": { @@ -1705,7 +1705,7 @@ "type": "string" }, "expireTime": { - "description": "Output only. Timestamp of when the App will be considered expired and cannot be undeleted. This value is only provided if the App is in the `DELETED` state.", + "description": "Output only. If the App has been removed from the Project, this is the timestamp of when the App is considered expired and will be permanently deleted. After this time, the App cannot be undeleted (that is, restored to the Project). This value is only provided if the App is in the `DELETED` state.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -1800,7 +1800,7 @@ "type": "string" }, "projectInfo": { - "description": "The list of GCP `Projects` which can have Firebase resources added to them.", + "description": "The list of Google Cloud `Projects` which can have Firebase resources added to them.", "items": { "$ref": "ProjectInfo" }, @@ -1875,11 +1875,11 @@ }, "Location": { "deprecated": true, - "description": "**DEPRECATED.** _This Location is no longer used to determine Firebase resource locations. Instead, consult product documentation to determine valid locations for each resource used in your Project._ A GCP resource location that can be selected for a FirebaseProject.", + "description": "**DEPRECATED.** _This Location is no longer used to determine Firebase resource locations. Instead, consult product documentation to determine valid locations for each resource used in your Project._ A [\"location for default Google Cloud resources\"](https://firebase.google.com/docs/projects/locations#default-cloud-location) that can be selected for a FirebaseProject. These are resources associated with Google App Engine.", "id": "Location", "properties": { "features": { - "description": "Products and services that are available in the GCP resource location.", + "description": "Products and services that are available in the location for default Google Cloud resources.", "items": { "enum": [ "LOCATION_FEATURE_UNSPECIFIED", @@ -1889,8 +1889,8 @@ ], "enumDescriptions": [ "Used internally for distinguishing unset values and is not intended for external use.", - "This location supports Cloud Firestore database instances. App Engine is available in this location, so it can be a Project's [default GCP resource location](//firebase.google.com/docs/projects/locations#default-cloud-location).", - "This location supports default Cloud Storage buckets. App Engine is available in this location, so it can be a Project's [default GCP resource location](//firebase.google.com/docs/projects/locations#default-cloud-location).", + "This location supports Cloud Firestore database instances. Google App Engine is available in this location, so it can be a Project's location for default Google Cloud resources.", + "This location supports default Cloud Storage buckets. Google App Engine is available in this location, so it can be a Project's location for default Google Cloud resources.", "Cloud Functions for Firebase is available in this location." ], "type": "string" @@ -1898,11 +1898,11 @@ "type": "array" }, "locationId": { - "description": "The ID of the GCP resource location. It will be one of the available [GCP resource locations](https://firebase.google.com/docs/projects/locations#types).", + "description": "The ID of the Project's location for default Google Cloud resources. It will be one of the available [Google App Engine locations](https://cloud.google.com/about/locations#region).", "type": "string" }, "type": { - "description": "Indicates whether the GCP resource location is a [regional or multi-regional location](https://firebase.google.com/docs/projects/locations#types) for data replication.", + "description": "Indicates whether the location for default Google Cloud resources is a [regional or multi-regional location](https://firebase.google.com/docs/projects/locations#types) for data replication.", "enum": [ "LOCATION_TYPE_UNSPECIFIED", "REGIONAL", @@ -1980,19 +1980,19 @@ "type": "object" }, "ProjectInfo": { - "description": "A reference to a Google Cloud Platform (GCP) `Project`.", + "description": "A reference to a Google Cloud `Project`.", "id": "ProjectInfo", "properties": { "displayName": { - "description": "The user-assigned display name of the GCP `Project`, for example: `My App`", + "description": "The user-assigned display name of the Google Cloud `Project`, for example: `My App`.", "type": "string" }, "locationId": { - "description": "The ID of the Project's default GCP resource location. The location is one of the available [GCP resource locations](https://firebase.google.com/docs/projects/locations). Not all Projects will have this field populated. If it is not populated, it means that the Project does not yet have a default GCP resource location. To set a Project's default GCP resource location, call [`FinalizeDefaultLocation`](../projects.defaultLocation/finalize) after you add Firebase resources to the Project.", + "description": "**DEPRECATED** _Instead, use product-specific REST APIs to work with the location of each resource in a Project. This field may not be populated, especially for newly provisioned projects after October 30, 2024._ The ID of the Project's [\"location for default Google Cloud resources\"](https://firebase.google.com/docs/projects/locations#default-cloud-location). The location is one of the available [Google App Engine locations](https://cloud.google.com/about/locations#region). Not all Projects will have this field populated. If it is not populated, it means that the Project does not yet have a location for default Google Cloud resources.", "type": "string" }, "project": { - "description": "The resource name of the GCP `Project` to which Firebase resources can be added, in the format: projects/PROJECT_IDENTIFIER Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values.", + "description": "The resource name of the Google Cloud `Project` to which Firebase resources can be added, in the format: projects/PROJECT_IDENTIFIER Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values.", "type": "string" } }, @@ -2020,7 +2020,7 @@ "type": "string" }, "immediate": { - "description": "Determines whether to _immediately_ delete the AndroidApp. If set to true, the App is immediately deleted from the Project and cannot be restored to the Project. If not set, defaults to false, which means the App will be set to expire in 30 days. Within the 30 days, the App may be restored to the Project using UndeleteAndroidApp.", + "description": "Determines whether to _immediately_ delete the AndroidApp. If set to true, the App is immediately deleted from the Project and cannot be undeleted (that is, restored to the Project). If not set, defaults to false, which means the App will be set to expire in 30 days. Within the 30 days, the App may be restored to the Project using UndeleteAndroidApp.", "type": "boolean" }, "validateOnly": { @@ -2042,7 +2042,7 @@ "type": "string" }, "immediate": { - "description": "Determines whether to _immediately_ delete the IosApp. If set to true, the App is immediately deleted from the Project and cannot be restored to the Project. If not set, defaults to false, which means the App will be set to expire in 30 days. Within the 30 days, the App may be restored to the Project using UndeleteIosApp", + "description": "Determines whether to _immediately_ delete the IosApp. If set to true, the App is immediately deleted from the Project and cannot be undeleted (that is, restored to the Project). If not set, defaults to false, which means the App will be set to expire in 30 days. Within the 30 days, the App may be restored to the Project using UndeleteIosApp", "type": "boolean" }, "validateOnly": { @@ -2064,7 +2064,7 @@ "type": "string" }, "immediate": { - "description": "Determines whether to _immediately_ delete the WebApp. If set to true, the App is immediately deleted from the Project and cannot be restored to the Project. If not set, defaults to false, which means the App will be set to expire in 30 days. Within the 30 days, the App may be restored to the Project using UndeleteWebApp", + "description": "Determines whether to _immediately_ delete the WebApp. If set to true, the App is immediately deleted from the Project and cannot be undeleted (that is, restored to the Project). If not set, defaults to false, which means the App will be set to expire in 30 days. Within the 30 days, the App may be restored to the Project using UndeleteWebApp", "type": "boolean" }, "validateOnly": { @@ -2152,22 +2152,22 @@ "id": "StatusProto", "properties": { "canonicalCode": { - "description": "The canonical error code (see codes.proto) that most closely corresponds to this status. This may be missing, and in the common case of the generic space, it definitely will be.", + "description": "The canonical error code (see codes.proto) that most closely corresponds to this status. This may be missing, and in the common case of the generic space, it definitely will be. copybara:strip_begin(b/383363683) copybara:strip_end_and_replace optional int32 canonical_code = 6;", "format": "int32", "type": "integer" }, "code": { - "description": "Numeric code drawn from the space specified below. Often, this is the canonical error space, and code is drawn from google3/util/task/codes.proto", + "description": "Numeric code drawn from the space specified below. Often, this is the canonical error space, and code is drawn from google3/util/task/codes.proto copybara:strip_begin(b/383363683) copybara:strip_end_and_replace optional int32 code = 1;", "format": "int32", "type": "integer" }, "message": { - "description": "Detail message", + "description": "Detail message copybara:strip_begin(b/383363683) copybara:strip_end_and_replace optional string message = 3;", "type": "string" }, "messageSet": { "$ref": "MessageSet", - "description": "message_set associates an arbitrary proto message with the status." + "description": "message_set associates an arbitrary proto message with the status. copybara:strip_begin(b/383363683) copybara:strip_end_and_replace optional proto2.bridge.MessageSet message_set = 5;" }, "space": { "description": "The following are usually only present when code != 0 Space to which this status belongs", @@ -2267,7 +2267,7 @@ "type": "string" }, "expireTime": { - "description": "Output only. Timestamp of when the App will be considered expired and cannot be undeleted. This value is only provided if the App is in the `DELETED` state.", + "description": "Output only. If the App has been removed from the Project, this is the timestamp of when the App is considered expired and will be permanently deleted. After this time, the App cannot be undeleted (that is, restored to the Project). This value is only provided if the App is in the `DELETED` state.", "format": "google-datetime", "readOnly": true, "type": "string" @@ -2323,12 +2323,12 @@ }, "databaseURL": { "deprecated": true, - "description": "**DEPRECATED.** _Instead, find the default Firebase Realtime Database instance name using the [list endpoint](https://firebase.google.com/docs/reference/rest/database/database-management/rest/v1beta/projects.locations.instances/list) within the Firebase Realtime Database REST API. Note that the default instance for the Project might not yet be provisioned, so the return might not contain a default instance._ The default Firebase Realtime Database URL.", + "description": "**DEPRECATED.** _Instead, find the URL of the default Realtime Database instance using the [list endpoint](https://firebase.google.com/docs/reference/rest/database/database-management/rest/v1beta/projects.locations.instances/list) within the Firebase Realtime Database REST API. If the default instance for the Project has not yet been provisioned, the return might not contain a default instance. Note that the config that's generated for the Firebase console or the Firebase CLI uses the Realtime Database endpoint to populate this value for that config._ The URL of the default Firebase Realtime Database instance.", "type": "string" }, "locationId": { "deprecated": true, - "description": "**DEPRECATED.** _Instead, use product-specific REST APIs to find the location of resources._ The ID of the Project's default GCP resource location. The location is one of the available [GCP resource locations](https://firebase.google.com/docs/projects/locations). This field is omitted if the default GCP resource location has not been finalized yet. To set a Project's default GCP resource location, call [`FinalizeDefaultLocation`](../projects.defaultLocation/finalize) after you add Firebase resources to the Project.", + "description": "**DEPRECATED.** _Instead, use product-specific REST APIs to find the location of each resource in a Project. This field may not be populated, especially for newly provisioned projects after October 30, 2024._ The ID of the Project's [\"location for default Google Cloud resources\"](https://firebase.google.com/docs/projects/locations#default-cloud-location), which are resources associated with Google App Engine. The location is one of the available [App Engine locations](https://cloud.google.com/about/locations#region). This field is omitted if the location for default Google Cloud resources has not been set.", "type": "string" }, "measurementId": { @@ -2349,12 +2349,12 @@ "type": "string" }, "realtimeDatabaseUrl": { - "description": "Optional. Duplicate field for the URL of the default RTDB instances (if there is one) that uses the same field name as the unified V2 config file format. We wanted to make a single config file format for all the app platforms (Android, iOS and web) and we had to pick consistent names for all the fields since there was some varience between the platforms. If the request asks for the V2 format we will populate this field instead of realtime_database_instance_uri.", + "description": "Optional. Duplicate field for the URL of the default Realtime Database instances (if the default instance has been provisioned). If the request asks for the V2 config format, this field will be populated instead of `realtime_database_instance_uri`.", "type": "string" }, "storageBucket": { "deprecated": true, - "description": "**DEPRECATED.** _Instead, find the default Cloud Storage for Firebase bucket using the [list endpoint](https://firebase.google.com/docs/reference/rest/storage/rest/v1beta/projects.buckets/list) within the Cloud Storage for Firebase REST API. Note that the default bucket for the Project might not yet be provisioned, so the return might not contain a default bucket._ The default Cloud Storage for Firebase storage bucket name.", + "description": "**DEPRECATED.** _Instead, find the name of the default Cloud Storage for Firebase bucket using the [list endpoint](https://firebase.google.com/docs/reference/rest/storage/rest/v1beta/projects.buckets/list) within the Cloud Storage for Firebase REST API. If the default bucket for the Project has not yet been provisioned, the return might not contain a default bucket. Note that the config that's generated for the Firebase console or the Firebase CLI uses the Cloud Storage for Firebase endpoint to populate this value for that config._ The name of the default Cloud Storage for Firebase bucket.", "type": "string" }, "version": { diff --git a/discovery/firebaseappdistribution-v1.json b/discovery/firebaseappdistribution-v1.json index d87b773634..0be8483925 100644 --- a/discovery/firebaseappdistribution-v1.json +++ b/discovery/firebaseappdistribution-v1.json @@ -438,7 +438,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/apps/{appsId}/releases/{releasesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "firebaseappdistribution.projects.apps.releases.operations.cancel", @@ -941,7 +941,7 @@ } } }, - "revision": "20240605", + "revision": "20241115", "rootUrl": "https://firebaseappdistribution.googleapis.com/", "schemas": { "GdataBlobstore2Info": { diff --git a/discovery/firebaseappdistribution-v1alpha.json b/discovery/firebaseappdistribution-v1alpha.json index 2b53fa39bb..34fb512510 100644 --- a/discovery/firebaseappdistribution-v1alpha.json +++ b/discovery/firebaseappdistribution-v1alpha.json @@ -557,6 +557,21 @@ "pattern": "^projects/[^/]+/apps/[^/]+/releases/[^/]+$", "required": true, "type": "string" + }, + "view": { + "description": "Optional. The requested view on the returned ReleaseTests. Defaults to the basic view.", + "enum": [ + "RELEASE_TEST_VIEW_UNSPECIFIED", + "RELEASE_TEST_VIEW_BASIC", + "RELEASE_TEST_VIEW_FULL" + ], + "enumDescriptions": [ + "The default / unset value. The default view depends on the RPC.", + "Include basic metadata about the release test and its status, but not the full result details. This is the default value for ListReleaseTests.", + "Include everything." + ], + "location": "query", + "type": "string" } }, "path": "v1alpha/{+parent}/tests", @@ -570,6 +585,157 @@ } } } + }, + "testCases": { + "methods": { + "create": { + "description": "Create a new test case.", + "flatPath": "v1alpha/projects/{projectsId}/apps/{appsId}/testCases", + "httpMethod": "POST", + "id": "firebaseappdistribution.projects.apps.testCases.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource where this test case will be created. Format: `projects/{project_number}/apps/{app_id}`", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + }, + "testCaseId": { + "description": "Optional. The ID to use for the test case, which will become the final component of the test case's resource name. This value should be 4-63 characters, and valid characters are /a-z-/.", + "location": "query", + "type": "string" + } + }, + "path": "v1alpha/{+parent}/testCases", + "request": { + "$ref": "GoogleFirebaseAppdistroV1alphaTestCase" + }, + "response": { + "$ref": "GoogleFirebaseAppdistroV1alphaTestCase" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete a test case.", + "flatPath": "v1alpha/projects/{projectsId}/apps/{appsId}/testCases/{testCasesId}", + "httpMethod": "DELETE", + "id": "firebaseappdistribution.projects.apps.testCases.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the test case resource to delete. Format: `projects/{project_number}/apps/{app_id}/testCases/{test_case_id}`", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/testCases/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get a test case.", + "flatPath": "v1alpha/projects/{projectsId}/apps/{appsId}/testCases/{testCasesId}", + "httpMethod": "GET", + "id": "firebaseappdistribution.projects.apps.testCases.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the test case resource to retrieve. Format: `projects/{project_number}/apps/{app_id}/testCases/{test_case_id}`", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/testCases/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "response": { + "$ref": "GoogleFirebaseAppdistroV1alphaTestCase" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "List test cases.", + "flatPath": "v1alpha/projects/{projectsId}/apps/{appsId}/testCases", + "httpMethod": "GET", + "id": "firebaseappdistribution.projects.apps.testCases.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of test cases to return. The service may return fewer than this value. If unspecified, at most 50 test cases will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListTestCases` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListTestCases` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource from which to list test cases. Format: `projects/{project_number}/apps/{app_id}`", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+parent}/testCases", + "response": { + "$ref": "GoogleFirebaseAppdistroV1alphaListTestCasesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update a test case.", + "flatPath": "v1alpha/projects/{projectsId}/apps/{appsId}/testCases/{testCasesId}", + "httpMethod": "PATCH", + "id": "firebaseappdistribution.projects.apps.testCases.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The name of the test case resource. Format: `projects/{project_number}/apps/{app_id}/testCases/{test_case_id}`", + "location": "path", + "pattern": "^projects/[^/]+/apps/[^/]+/testCases/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1alpha/{+name}", + "request": { + "$ref": "GoogleFirebaseAppdistroV1alphaTestCase" + }, + "response": { + "$ref": "GoogleFirebaseAppdistroV1alphaTestCase" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } } } }, @@ -610,7 +776,7 @@ } } }, - "revision": "20241004", + "revision": "20241204", "rootUrl": "https://firebaseappdistribution.googleapis.com/", "schemas": { "AndroidxCrawlerOutputPoint": { @@ -742,6 +908,7 @@ "id": "GoogleFirebaseAppdistroV1alphaAiInstructions", "properties": { "appDescription": { + "deprecated": true, "description": "Optional. Describes the app to give the AI some context", "type": "string" }, @@ -766,6 +933,14 @@ "goal": { "description": "A goal to be accomplished by the AI", "type": "string" + }, + "hint": { + "description": "Optional. Hint text containing suggestions to help the agent accomplish the goal", + "type": "string" + }, + "successCriteria": { + "description": "Optional. A description of criteria the agent should use to determine if the goal has been successfully completed", + "type": "string" } }, "type": "object" @@ -790,13 +965,17 @@ "STEP_STATE_UNSPECIFIED", "IN_PROGRESS", "PASSED", - "FAILED" + "FAILED", + "TIMED_OUT", + "GOAL_ACTION_LIMIT_REACHED" ], "enumDescriptions": [ "Step state unspecified", "The step is in progress", "The step has completed successfully", - "The step has failed" + "The step has failed", + "The test timed out during this step", + "The number of actions needed to reach the goal exceeded its limit" ], "readOnly": true, "type": "string" @@ -809,6 +988,7 @@ "type": "object" }, "GoogleFirebaseAppdistroV1alphaApp": { + "description": "An app.", "id": "GoogleFirebaseAppdistroV1alphaApp", "properties": { "aabCertificate": { @@ -906,6 +1086,7 @@ "type": "object" }, "GoogleFirebaseAppdistroV1alphaCreateReleaseNotesRequest": { + "description": "The request message for `CreateReleaseNotes`.", "id": "GoogleFirebaseAppdistroV1alphaCreateReleaseNotesRequest", "properties": { "releaseNotes": { @@ -916,6 +1097,7 @@ "type": "object" }, "GoogleFirebaseAppdistroV1alphaCreateReleaseNotesResponse": { + "description": "The response message for `CreateReleaseNotes`.", "id": "GoogleFirebaseAppdistroV1alphaCreateReleaseNotesResponse", "properties": {}, "type": "object" @@ -1067,6 +1249,11 @@ "description": "An interaction with the device, such as a tap, text entry, wait, etc.", "id": "GoogleFirebaseAppdistroV1alphaDeviceInteraction", "properties": { + "keyCode": { + "description": "Output only. Key code for a key event action.", + "readOnly": true, + "type": "string" + }, "screenshot": { "$ref": "GoogleFirebaseAppdistroV1alphaScreenshot", "description": "Output only. The screenshot used in the context of this action. The screen may have changed before the action was actually taken.", @@ -1126,6 +1313,7 @@ "type": "object" }, "GoogleFirebaseAppdistroV1alphaEnableAccessOnReleaseRequest": { + "description": "The request message for `EnableAccessOnRelease`.", "id": "GoogleFirebaseAppdistroV1alphaEnableAccessOnReleaseRequest", "properties": { "buildVersion": { @@ -1156,6 +1344,7 @@ "type": "object" }, "GoogleFirebaseAppdistroV1alphaEnableAccessOnReleaseResponse": { + "description": "The response message for `EnableAccessOnRelease`.", "id": "GoogleFirebaseAppdistroV1alphaEnableAccessOnReleaseResponse", "properties": {}, "type": "object" @@ -1186,6 +1375,7 @@ "type": "object" }, "GoogleFirebaseAppdistroV1alphaGetUploadStatusResponse": { + "description": "The response message for `GetUploadStatus`.", "id": "GoogleFirebaseAppdistroV1alphaGetUploadStatusResponse", "properties": { "errorCode": { @@ -1258,11 +1448,11 @@ "ERROR" ], "enumDescriptions": [ - "", - "", - "", - "", - "" + "Status unspecified.", + "The upload is in progress.", + "The binary has already been uploaded.", + "The upload was successful.", + "The upload failed." ], "type": "string" } @@ -1307,9 +1497,11 @@ "type": "object" }, "GoogleFirebaseAppdistroV1alphaJwt": { + "description": "A JWT token.", "id": "GoogleFirebaseAppdistroV1alphaJwt", "properties": { "token": { + "description": "The JWT token (three Base64URL-encoded strings joined by dots).", "type": "string" } }, @@ -1333,6 +1525,24 @@ }, "type": "object" }, + "GoogleFirebaseAppdistroV1alphaListTestCasesResponse": { + "description": "The response message for `ListTestCases`.", + "id": "GoogleFirebaseAppdistroV1alphaListTestCasesResponse", + "properties": { + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "testCases": { + "description": "The test cases from the specified app.", + "items": { + "$ref": "GoogleFirebaseAppdistroV1alphaTestCase" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleFirebaseAppdistroV1alphaLoginCredential": { "description": "Login credential for automated tests", "id": "GoogleFirebaseAppdistroV1alphaLoginCredential", @@ -1372,6 +1582,7 @@ "type": "object" }, "GoogleFirebaseAppdistroV1alphaProvisionAppResponse": { + "description": "The response message for `ProvisionApp`.", "id": "GoogleFirebaseAppdistroV1alphaProvisionAppResponse", "properties": {}, "type": "object" @@ -1435,9 +1646,11 @@ "type": "object" }, "GoogleFirebaseAppdistroV1alphaReleaseNotes": { + "description": "Release notes for a release.", "id": "GoogleFirebaseAppdistroV1alphaReleaseNotes", "properties": { "releaseNotes": { + "description": "The actual release notes text from the user.", "type": "string" } }, @@ -1464,6 +1677,10 @@ }, "type": "array" }, + "displayName": { + "description": "Optional. Display name of the release test. Required if the release test is created with multiple goals.", + "type": "string" + }, "loginCredential": { "$ref": "GoogleFirebaseAppdistroV1alphaLoginCredential", "description": "Optional. Input only. Login credentials for the test. Input only." @@ -1472,6 +1689,10 @@ "description": "The name of the release test resource. Format: `projects/{project_number}/apps/{app_id}/releases/{release_id}/tests/{test_id}`", "type": "string" }, + "testCase": { + "description": "Optional. The test case that was used to generate this release test. Note: The test case may have changed or been deleted since the release test was created. Format: `projects/{project_number}/apps/{app}/testCases/{test_case}`", + "type": "string" + }, "testState": { "description": "Output only. The state of the release test.", "enum": [ @@ -1590,10 +1811,33 @@ }, "type": "object" }, + "GoogleFirebaseAppdistroV1alphaTestCase": { + "description": "AI test cases", + "id": "GoogleFirebaseAppdistroV1alphaTestCase", + "properties": { + "aiInstructions": { + "$ref": "GoogleFirebaseAppdistroV1alphaAiInstructions", + "description": "Optional. Instructions for AI driven test." + }, + "displayName": { + "description": "Required. Display name of the test case.", + "type": "string" + }, + "name": { + "description": "Identifier. The name of the test case resource. Format: `projects/{project_number}/apps/{app_id}/testCases/{test_case_id}`", + "type": "string" + } + }, + "type": "object" + }, "GoogleFirebaseAppdistroV1alphaTestConfig": { "description": "Configuration for automated tests", "id": "GoogleFirebaseAppdistroV1alphaTestConfig", "properties": { + "displayName": { + "description": "Optional. Display name of the AI driven test. Required if the release test is created with multiple goals.", + "type": "string" + }, "name": { "description": "Identifier. The name of the test configuration resource. Format: `projects/{project_number}/apps/{app_id}/testConfig`", "type": "string" @@ -1653,6 +1897,12 @@ } }, "type": "object" + }, + "GoogleProtobufEmpty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "GoogleProtobufEmpty", + "properties": {}, + "type": "object" } }, "servicePath": "", diff --git a/discovery/firebasedatabase-v1beta.json b/discovery/firebasedatabase-v1beta.json index 0345b1b382..4fb72671c4 100644 --- a/discovery/firebasedatabase-v1beta.json +++ b/discovery/firebasedatabase-v1beta.json @@ -351,7 +351,7 @@ } } }, - "revision": "20221220", + "revision": "20241202", "rootUrl": "https://firebasedatabase.googleapis.com/", "schemas": { "DatabaseInstance": { @@ -444,7 +444,7 @@ } }, "servicePath": "", - "title": "Firebase Realtime Database API", + "title": "Firebase Realtime Database Management API", "version": "v1beta", "version_module": true } \ No newline at end of file diff --git a/discovery/firebasedataconnect-v1beta.json b/discovery/firebasedataconnect-v1beta.json index 1a8ef744ea..f51466b4eb 100644 --- a/discovery/firebasedataconnect-v1beta.json +++ b/discovery/firebasedataconnect-v1beta.json @@ -12,7 +12,7 @@ "baseUrl": "https://firebasedataconnect.googleapis.com/", "batchPath": "batch", "canonicalName": "Firebase Data Connect", - "description": "", + "description": "Firebase Data Connect is a relational database service for mobile and web apps that lets you build and scale using a fully-managed PostgreSQL database powered by Cloud SQL. The REST API lets developers manage the connections to their database, change the schema of their database, and query the database.", "discoveryVersion": "v1", "documentationLink": "https://firebase.google.com/docs/data-connect", "fullyEncodeReservedExpansion": true, @@ -180,7 +180,7 @@ "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`.", + "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": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "firebasedataconnect.projects.locations.operations.cancel", @@ -1070,7 +1070,7 @@ } } }, - "revision": "20240924", + "revision": "20241208", "rootUrl": "https://firebasedataconnect.googleapis.com/", "schemas": { "CancelOperationRequest": { @@ -1384,7 +1384,7 @@ "type": "object" }, "ListConnectorsResponse": { - "description": "Message for response to listing Connectors.", + "description": "Message for response to listing Connectors. By default, `connectors.source` will not be included in the response. To specify the fields included in the response, the response field mask can be provided by using the query parameter `$fields` or the header `X-Goog-FieldMask`.", "id": "ListConnectorsResponse", "properties": { "connectors": { @@ -1445,7 +1445,7 @@ "type": "object" }, "ListSchemasResponse": { - "description": "Message for response to listing Schemas.", + "description": "Message for response to listing Schemas. By default, `schemas.source` will not be included in the response. To specify the fields included in the response, the response field mask can be provided by using the query parameter `$fields` or the header `X-Goog-FieldMask`.", "id": "ListSchemasResponse", "properties": { "nextPageToken": { diff --git a/discovery/firebasedynamiclinks-v1.json b/discovery/firebasedynamiclinks-v1.json index 45ce8fec36..4f8a525ed2 100644 --- a/discovery/firebasedynamiclinks-v1.json +++ b/discovery/firebasedynamiclinks-v1.json @@ -15,6 +15,7 @@ "description": "Programmatically creates and manages Firebase Dynamic Links.", "discoveryVersion": "v1", "documentationLink": "https://firebase.google.com/docs/dynamic-links/", + "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", "x32": "http://www.google.com/images/icons/product/search-32.gif" @@ -224,7 +225,7 @@ } } }, - "revision": "20240821", + "revision": "20241125", "rootUrl": "https://firebasedynamiclinks.googleapis.com/", "schemas": { "AnalyticsInfo": { diff --git a/discovery/firebasehosting-v1.json b/discovery/firebasehosting-v1.json index 793d66d82a..976c16f5bc 100644 --- a/discovery/firebasehosting-v1.json +++ b/discovery/firebasehosting-v1.json @@ -111,7 +111,7 @@ "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`.", + "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": "firebasehosting.operations.cancel", @@ -269,7 +269,7 @@ } } }, - "revision": "20240320", + "revision": "20241203", "rootUrl": "https://firebasehosting.googleapis.com/", "schemas": { "CancelOperationRequest": { diff --git a/discovery/firebaseml-v1.json b/discovery/firebaseml-v1.json index a48f641573..9f8e137544 100644 --- a/discovery/firebaseml-v1.json +++ b/discovery/firebaseml-v1.json @@ -108,7 +108,7 @@ "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`.", + "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": "firebaseml.operations.cancel", @@ -204,7 +204,7 @@ } } }, - "revision": "20230807", + "revision": "20241117", "rootUrl": "https://firebaseml.googleapis.com/", "schemas": { "CancelOperationRequest": { diff --git a/discovery/firebaseml-v2beta.json b/discovery/firebaseml-v2beta.json index a5054ab7f5..ae06babcbc 100644 --- a/discovery/firebaseml-v2beta.json +++ b/discovery/firebaseml-v2beta.json @@ -206,7 +206,7 @@ } } }, - "revision": "20241003", + "revision": "20241231", "rootUrl": "https://firebaseml.googleapis.com/", "schemas": { "Date": { @@ -232,7 +232,7 @@ "type": "object" }, "GoogleCloudAiplatformV1beta1Blob": { - "description": "Content blob. It's preferred to send as text directly rather than raw bytes.", + "description": "Content blob.", "id": "GoogleCloudAiplatformV1beta1Blob", "properties": { "data": { @@ -291,7 +291,7 @@ "Token generation reached a natural stopping point or a configured stop sequence.", "Token generation reached the configured maximum output tokens.", "Token generation stopped because the content potentially contains safety violations. NOTE: When streaming, content is empty if content filters blocks the output.", - "Token generation stopped because the content potentially contains copyright violations.", + "The token generation stopped because of potential recitation.", "All other reasons that stopped the token generation.", "Token generation stopped because the content contains forbidden terms.", "Token generation stopped for potentially containing prohibited content.", @@ -382,6 +382,33 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1CodeExecutionResult": { + "description": "Result of executing the [ExecutableCode]. Always follows a `part` containing the [ExecutableCode].", + "id": "GoogleCloudAiplatformV1beta1CodeExecutionResult", + "properties": { + "outcome": { + "description": "Required. Outcome of the code execution.", + "enum": [ + "OUTCOME_UNSPECIFIED", + "OUTCOME_OK", + "OUTCOME_FAILED", + "OUTCOME_DEADLINE_EXCEEDED" + ], + "enumDescriptions": [ + "Unspecified status. This value should not be used.", + "Code execution completed successfully.", + "Code execution finished but with a failure. `stderr` should contain the reason.", + "Code execution ran for too long, and was cancelled. There may or may not be a partial output present." + ], + "type": "string" + }, + "output": { + "description": "Optional. Contains stdout when code execution is successful, stderr or other description otherwise.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1Content": { "description": "The base structured datatype containing multi-part content of a message. A `Content` includes a `role` field designating the producer of the `Content` and a `parts` field containing multi-part data that contains the content of the message turn.", "id": "GoogleCloudAiplatformV1beta1Content", @@ -481,6 +508,29 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1ExecutableCode": { + "description": "Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the [FunctionDeclaration] tool and [FunctionCallingConfig] mode is set to [Mode.CODE].", + "id": "GoogleCloudAiplatformV1beta1ExecutableCode", + "properties": { + "code": { + "description": "Required. The code to be executed.", + "type": "string" + }, + "language": { + "description": "Required. Programming language of the `code`.", + "enum": [ + "LANGUAGE_UNSPECIFIED", + "PYTHON" + ], + "enumDescriptions": [ + "Unspecified language. This value should not be used.", + "Python >= 3.10, with numpy and simpy available." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1FileData": { "description": "URI based data.", "id": "GoogleCloudAiplatformV1beta1FileData", @@ -546,7 +596,7 @@ "type": "object" }, "GoogleCloudAiplatformV1beta1FunctionDeclaration": { - "description": "Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name and parameters. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.", + "description": "Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client.", "id": "GoogleCloudAiplatformV1beta1FunctionDeclaration", "properties": { "description": { @@ -762,6 +812,22 @@ "format": "int32", "type": "integer" }, + "mediaResolution": { + "description": "Optional. If specified, the media resolution specified will be used.", + "enum": [ + "MEDIA_RESOLUTION_UNSPECIFIED", + "MEDIA_RESOLUTION_LOW", + "MEDIA_RESOLUTION_MEDIUM", + "MEDIA_RESOLUTION_HIGH" + ], + "enumDescriptions": [ + "Media resolution has not been set.", + "Media resolution set to low (64 tokens).", + "Media resolution set to medium (256 tokens).", + "Media resolution set to high (zoomed reframing with 256 tokens)." + ], + "type": "string" + }, "presencePenalty": { "description": "Optional. Positive penalties.", "format": "float", @@ -775,6 +841,25 @@ "description": "Optional. Output response mimetype of the generated candidate text. Supported mimetype: - `text/plain`: (default) Text output. - `application/json`: JSON response in the candidates. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. This is a preview feature.", "type": "string" }, + "responseModalities": { + "description": "Optional. The modalities of the response.", + "items": { + "enum": [ + "MODALITY_UNSPECIFIED", + "TEXT", + "IMAGE", + "AUDIO" + ], + "enumDescriptions": [ + "Unspecified modality. Will be processed as text.", + "Text modality.", + "Image modality.", + "Audio modality." + ], + "type": "string" + }, + "type": "array" + }, "responseSchema": { "$ref": "GoogleCloudAiplatformV1beta1Schema", "description": "Optional. The `Schema` object allows the definition of input and output data types. These types can be objects, but also primitives and arrays. Represents a select subset of an [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema). If set, a compatible response_mime_type must also be set. Compatible mimetypes: `application/json`: Schema for JSON response." @@ -788,6 +873,10 @@ "format": "int32", "type": "integer" }, + "speechConfig": { + "$ref": "GoogleCloudAiplatformV1beta1SpeechConfig", + "description": "Optional. The speech generation config." + }, "stopSequences": { "description": "Optional. Stop sequences.", "items": { @@ -892,6 +981,10 @@ "description": "Chunk from context retrieved by the retrieval tools.", "id": "GoogleCloudAiplatformV1beta1GroundingChunkRetrievedContext", "properties": { + "text": { + "description": "Text of the attribution.", + "type": "string" + }, "title": { "description": "Title of the attribution.", "type": "string" @@ -1049,6 +1142,14 @@ "description": "A datatype containing media that is part of a multi-part `Content` message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. A `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.", "id": "GoogleCloudAiplatformV1beta1Part", "properties": { + "codeExecutionResult": { + "$ref": "GoogleCloudAiplatformV1beta1CodeExecutionResult", + "description": "Optional. Result of executing the [ExecutableCode]." + }, + "executableCode": { + "$ref": "GoogleCloudAiplatformV1beta1ExecutableCode", + "description": "Optional. Code generated by the model that is meant to be executed." + }, "fileData": { "$ref": "GoogleCloudAiplatformV1beta1FileData", "description": "Optional. URI based data." @@ -1069,6 +1170,11 @@ "description": "Optional. Text part (can be code).", "type": "string" }, + "thought": { + "description": "Output only. Indicates if the part is thought from the model.", + "readOnly": true, + "type": "boolean" + }, "videoMetadata": { "$ref": "GoogleCloudAiplatformV1beta1VideoMetadata", "description": "Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data." @@ -1076,6 +1182,111 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1PrebuiltVoiceConfig": { + "description": "The configuration for the prebuilt speaker to use.", + "id": "GoogleCloudAiplatformV1beta1PrebuiltVoiceConfig", + "properties": { + "voiceName": { + "description": "The name of the preset voice to use.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1RagRetrievalConfig": { + "description": "Specifies the context retrieval config.", + "id": "GoogleCloudAiplatformV1beta1RagRetrievalConfig", + "properties": { + "filter": { + "$ref": "GoogleCloudAiplatformV1beta1RagRetrievalConfigFilter", + "description": "Optional. Config for filters." + }, + "hybridSearch": { + "$ref": "GoogleCloudAiplatformV1beta1RagRetrievalConfigHybridSearch", + "description": "Optional. Config for Hybrid Search." + }, + "ranking": { + "$ref": "GoogleCloudAiplatformV1beta1RagRetrievalConfigRanking", + "description": "Optional. Config for ranking and reranking." + }, + "topK": { + "description": "Optional. The number of contexts to retrieve.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1RagRetrievalConfigFilter": { + "description": "Config for filters.", + "id": "GoogleCloudAiplatformV1beta1RagRetrievalConfigFilter", + "properties": { + "metadataFilter": { + "description": "Optional. String for metadata filtering.", + "type": "string" + }, + "vectorDistanceThreshold": { + "description": "Optional. Only returns contexts with vector distance smaller than the threshold.", + "format": "double", + "type": "number" + }, + "vectorSimilarityThreshold": { + "description": "Optional. Only returns contexts with vector similarity larger than the threshold.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1RagRetrievalConfigHybridSearch": { + "description": "Config for Hybrid Search.", + "id": "GoogleCloudAiplatformV1beta1RagRetrievalConfigHybridSearch", + "properties": { + "alpha": { + "description": "Optional. Alpha value controls the weight between dense and sparse vector search results. The range is [0, 1], while 0 means sparse vector search only and 1 means dense vector search only. The default value is 0.5 which balances sparse and dense vector search equally.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1RagRetrievalConfigRanking": { + "description": "Config for ranking and reranking.", + "id": "GoogleCloudAiplatformV1beta1RagRetrievalConfigRanking", + "properties": { + "llmRanker": { + "$ref": "GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingLlmRanker", + "description": "Optional. Config for LlmRanker." + }, + "rankService": { + "$ref": "GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingRankService", + "description": "Optional. Config for Rank Service." + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingLlmRanker": { + "description": "Config for LlmRanker.", + "id": "GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingLlmRanker", + "properties": { + "modelName": { + "description": "Optional. The model name used for ranking. Format: `gemini-1.5-pro`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingRankService": { + "description": "Config for Rank Service.", + "id": "GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingRankService", + "properties": { + "modelName": { + "description": "Optional. The model name of the rank service. Format: `semantic-ranker-512@latest`", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1Retrieval": { "description": "Defines a retrieval tool that model can call to access external knowledge.", "id": "GoogleCloudAiplatformV1beta1Retrieval", @@ -1096,6 +1307,21 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1RetrievalConfig": { + "description": "Retrieval config.", + "id": "GoogleCloudAiplatformV1beta1RetrievalConfig", + "properties": { + "languageCode": { + "description": "The language code of the user.", + "type": "string" + }, + "latLng": { + "$ref": "LatLng", + "description": "The location of the user." + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1RetrievalMetadata": { "description": "Metadata related to retrieval in the grounding flow.", "id": "GoogleCloudAiplatformV1beta1RetrievalMetadata", @@ -1434,10 +1660,25 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1SpeechConfig": { + "description": "The speech generation config.", + "id": "GoogleCloudAiplatformV1beta1SpeechConfig", + "properties": { + "voiceConfig": { + "$ref": "GoogleCloudAiplatformV1beta1VoiceConfig", + "description": "The configuration for the speaker to use." + } + }, + "type": "object" + }, "GoogleCloudAiplatformV1beta1Tool": { "description": "Tool details that the model may use to generate response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. A Tool object should contain exactly one type of Tool (e.g FunctionDeclaration, Retrieval or GoogleSearchRetrieval).", "id": "GoogleCloudAiplatformV1beta1Tool", "properties": { + "codeExecution": { + "$ref": "GoogleCloudAiplatformV1beta1ToolCodeExecution", + "description": "Optional. CodeExecution tool type. Enables the model to execute code as part of generation. This field is only used by the Gemini Developer API services." + }, "functionDeclarations": { "description": "Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 128 function declarations can be provided.", "items": { @@ -1445,6 +1686,10 @@ }, "type": "array" }, + "googleSearch": { + "$ref": "GoogleCloudAiplatformV1beta1ToolGoogleSearch", + "description": "Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google." + }, "googleSearchRetrieval": { "$ref": "GoogleCloudAiplatformV1beta1GoogleSearchRetrieval", "description": "Optional. GoogleSearchRetrieval tool type. Specialized retrieval tool that is powered by Google search." @@ -1456,6 +1701,12 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1ToolCodeExecution": { + "description": "Tool that executes code generated by the model, and automatically returns the result to the model. See also [ExecutableCode]and [CodeExecutionResult] which are input and output to this tool.", + "id": "GoogleCloudAiplatformV1beta1ToolCodeExecution", + "properties": {}, + "type": "object" + }, "GoogleCloudAiplatformV1beta1ToolConfig": { "description": "Tool config. This config is shared for all tools provided in the request.", "id": "GoogleCloudAiplatformV1beta1ToolConfig", @@ -1463,10 +1714,20 @@ "functionCallingConfig": { "$ref": "GoogleCloudAiplatformV1beta1FunctionCallingConfig", "description": "Optional. Function calling config." + }, + "retrievalConfig": { + "$ref": "GoogleCloudAiplatformV1beta1RetrievalConfig", + "description": "Optional. Retrieval config." } }, "type": "object" }, + "GoogleCloudAiplatformV1beta1ToolGoogleSearch": { + "description": "GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google.", + "id": "GoogleCloudAiplatformV1beta1ToolGoogleSearch", + "properties": {}, + "type": "object" + }, "GoogleCloudAiplatformV1beta1VertexAISearch": { "description": "Retrieve from Vertex AI Search datastore for grounding. See https://cloud.google.com/products/agent-builder", "id": "GoogleCloudAiplatformV1beta1VertexAISearch", @@ -1497,12 +1758,18 @@ }, "type": "array" }, + "ragRetrievalConfig": { + "$ref": "GoogleCloudAiplatformV1beta1RagRetrievalConfig", + "description": "Optional. The retrieval config for the Rag query." + }, "similarityTopK": { + "deprecated": true, "description": "Optional. Number of top k results to return from the selected corpora.", "format": "int32", "type": "integer" }, "vectorDistanceThreshold": { + "deprecated": true, "description": "Optional. Only return results with vector distance smaller than the threshold.", "format": "double", "type": "number" @@ -1545,6 +1812,34 @@ }, "type": "object" }, + "GoogleCloudAiplatformV1beta1VoiceConfig": { + "description": "The configuration for the voice to use.", + "id": "GoogleCloudAiplatformV1beta1VoiceConfig", + "properties": { + "prebuiltVoiceConfig": { + "$ref": "GoogleCloudAiplatformV1beta1PrebuiltVoiceConfig", + "description": "The configuration for the prebuilt voice to use." + } + }, + "type": "object" + }, + "LatLng": { + "description": "An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges.", + "id": "LatLng", + "properties": { + "latitude": { + "description": "The latitude in degrees. It must be in the range [-90.0, +90.0].", + "format": "double", + "type": "number" + }, + "longitude": { + "description": "The longitude in degrees. It must be in the range [-180.0, +180.0].", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, "ModelOperationMetadata": { "description": "This is returned in the longrunning operations for create/update.", "id": "ModelOperationMetadata", diff --git a/discovery/firebaserules-v1.json b/discovery/firebaserules-v1.json index 797ab231e7..134f277518 100644 --- a/discovery/firebaserules-v1.json +++ b/discovery/firebaserules-v1.json @@ -239,7 +239,7 @@ ], "parameters": { "executableVersion": { - "description": "The requested runtime executable version. Defaults to FIREBASE_RULES_EXECUTABLE_V1.", + "description": "Optional. The requested runtime executable version. Defaults to FIREBASE_RULES_EXECUTABLE_V1.", "enum": [ "RELEASE_EXECUTABLE_VERSION_UNSPECIFIED", "FIREBASE_RULES_EXECUTABLE_V1", @@ -281,7 +281,7 @@ ], "parameters": { "filter": { - "description": "`Release` filter. The list method supports filters with restrictions on the `Release.name`, and `Release.ruleset_name`. Example 1: A filter of 'name=prod*' might return `Release`s with names within 'projects/foo' prefixed with 'prod': Name -> Ruleset Name: * projects/foo/releases/prod -> projects/foo/rulesets/uuid1234 * projects/foo/releases/prod/v1 -> projects/foo/rulesets/uuid1234 * projects/foo/releases/prod/v2 -> projects/foo/rulesets/uuid8888 Example 2: A filter of `name=prod* ruleset_name=uuid1234` would return only `Release` instances for 'projects/foo' with names prefixed with 'prod' referring to the same `Ruleset` name of 'uuid1234': Name -> Ruleset Name: * projects/foo/releases/prod -> projects/foo/rulesets/1234 * projects/foo/releases/prod/v1 -> projects/foo/rulesets/1234 In the examples, the filter parameters refer to the search filters are relative to the project. Fully qualified prefixed may also be used.", + "description": "Optional. `Release` filter. The list method supports filters with restrictions on the `Release.name`, and `Release.ruleset_name`. Example 1: A filter of 'name=prod*' might return `Release`s with names within 'projects/foo' prefixed with 'prod': Name -> Ruleset Name: * projects/foo/releases/prod -> projects/foo/rulesets/uuid1234 * projects/foo/releases/prod/v1 -> projects/foo/rulesets/uuid1234 * projects/foo/releases/prod/v2 -> projects/foo/rulesets/uuid8888 Example 2: A filter of `name=prod* ruleset_name=uuid1234` would return only `Release` instances for 'projects/foo' with names prefixed with 'prod' referring to the same `Ruleset` name of 'uuid1234': Name -> Ruleset Name: * projects/foo/releases/prod -> projects/foo/rulesets/1234 * projects/foo/releases/prod/v1 -> projects/foo/rulesets/1234 In the examples, the filter parameters refer to the search filters are relative to the project. Fully qualified prefixed may also be used.", "location": "query", "type": "string" }, @@ -293,13 +293,13 @@ "type": "string" }, "pageSize": { - "description": "Page size to load. Maximum of 100. Defaults to 10. Note: `page_size` is just a hint and the service may choose to load fewer than `page_size` results due to the size of the output. To traverse all of the releases, the caller should iterate until the `page_token` on the response is empty.", + "description": "Optional. Page size to load. Maximum of 100. Defaults to 10. Note: `page_size` is just a hint and the service may choose to load fewer than `page_size` results due to the size of the output. To traverse all of the releases, the caller should iterate until the `page_token` on the response is empty.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Next page token for the next batch of `Release` instances.", + "description": "Optional. Next page token for the next batch of `Release` instances.", "location": "query", "type": "string" } @@ -439,7 +439,7 @@ ], "parameters": { "filter": { - "description": "`Ruleset` filter. The list method supports filters with restrictions on `Ruleset.name`. Filters on `Ruleset.create_time` should use the `date` function which parses strings that conform to the RFC 3339 date/time specifications. Example: `create_time > date(\"2017-01-01T00:00:00Z\") AND name=UUID-*`", + "description": "Optional. `Ruleset` filter. The list method supports filters with restrictions on `Ruleset.name`. Filters on `Ruleset.create_time` should use the `date` function which parses strings that conform to the RFC 3339 date/time specifications. Example: `create_time > date(\"2017-01-01T00:00:00Z\") AND name=UUID-*`", "location": "query", "type": "string" }, @@ -451,13 +451,13 @@ "type": "string" }, "pageSize": { - "description": "Page size to load. Maximum of 100. Defaults to 10. Note: `page_size` is just a hint and the service may choose to load less than `page_size` due to the size of the output. To traverse all of the releases, caller should iterate until the `page_token` is empty.", + "description": "Optional. Page size to load. Maximum of 100. Defaults to 10. Note: `page_size` is just a hint and the service may choose to load less than `page_size` due to the size of the output. To traverse all of the releases, caller should iterate until the `page_token` is empty.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Next page token for loading the next batch of `Ruleset` instances.", + "description": "Optional. Next page token for loading the next batch of `Ruleset` instances.", "location": "query", "type": "string" } @@ -477,7 +477,7 @@ } } }, - "revision": "20231120", + "revision": "20241125", "rootUrl": "https://firebaserules.googleapis.com/", "schemas": { "Arg": { @@ -964,11 +964,11 @@ "properties": { "source": { "$ref": "Source", - "description": "Optional `Source` to be checked for correctness. This field must not be set when the resource name refers to a `Ruleset`." + "description": "Optional. Optional `Source` to be checked for correctness. This field must not be set when the resource name refers to a `Ruleset`." }, "testSuite": { "$ref": "TestSuite", - "description": "The tests to execute against the `Source`. When `Source` is provided inline, the test cases will only be run if the `Source` is syntactically and semantically valid. Inline `TestSuite` to run." + "description": "Required. The tests to execute against the `Source`. When `Source` is provided inline, the test cases will only be run if the `Source` is syntactically and semantically valid. Inline `TestSuite` to run." } }, "type": "object" @@ -1017,7 +1017,7 @@ "description": "Required. `Release` to update." }, "updateMask": { - "description": "Specifies which fields to update.", + "description": "Optional. Specifies which fields to update.", "format": "google-fieldmask", "type": "string" } diff --git a/discovery/firebasestorage-v1beta.json b/discovery/firebasestorage-v1beta.json index f66de3fe8a..2003934886 100644 --- a/discovery/firebasestorage-v1beta.json +++ b/discovery/firebasestorage-v1beta.json @@ -109,6 +109,60 @@ "protocol": "rest", "resources": { "projects": { + "methods": { + "deleteDefaultBucket": { + "description": "Unlinks and deletes the default bucket.", + "flatPath": "v1beta/projects/{projectsId}/defaultBucket", + "httpMethod": "DELETE", + "id": "firebasestorage.projects.deleteDefaultBucket", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the default bucket to delete, `projects/{project_id_or_number}/defaultBucket`.", + "location": "path", + "pattern": "^projects/[^/]+/defaultBucket$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + }, + "getDefaultBucket": { + "description": "Gets the default bucket.", + "flatPath": "v1beta/projects/{projectsId}/defaultBucket", + "httpMethod": "GET", + "id": "firebasestorage.projects.getDefaultBucket", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the default bucket to retrieve, `projects/{project_id_or_number}/defaultBucket`.", + "location": "path", + "pattern": "^projects/[^/]+/defaultBucket$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "DefaultBucket" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + } + }, "resources": { "buckets": { "methods": { @@ -234,11 +288,44 @@ ] } } + }, + "defaultBucket": { + "methods": { + "create": { + "description": "Creates a Spark tier-eligible Cloud Storage bucket and links it to your Firebase project. If the default bucket already exists, this method will re-link it to your Firebase project. See https://firebase.google.com/pricing for pricing details.", + "flatPath": "v1beta/projects/{projectsId}/defaultBucket", + "httpMethod": "POST", + "id": "firebasestorage.projects.defaultBucket.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource where the default bucket will be created, `projects/{project_id_or_number}`.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/defaultBucket", + "request": { + "$ref": "DefaultBucket" + }, + "response": { + "$ref": "DefaultBucket" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/firebase" + ] + } + } } } } }, - "revision": "20230914", + "revision": "20241218", "rootUrl": "https://firebasestorage.googleapis.com/", "schemas": { "AddFirebaseRequest": { @@ -259,108 +346,34 @@ }, "type": "object" }, - "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", - "id": "Empty", - "properties": {}, - "type": "object" - }, - "GoogleFirebaseStorageControlplaneV1alphaMigrateLocationDestructivelyMetadata": { - "description": "Metadata for MigrateLocationDestructively LRO.", - "id": "GoogleFirebaseStorageControlplaneV1alphaMigrateLocationDestructivelyMetadata", + "DefaultBucket": { + "description": "Spark tier-eligible Cloud Storage bucket. One per project. This resource exists if the underlying Cloud Storage bucket exists and it is linked to your Firebase project. See https://firebase.google.com/pricing for pricing details.", + "id": "DefaultBucket", "properties": { - "createTime": { - "description": "The time the LRO was created.", - "format": "google-datetime", + "bucket": { + "$ref": "Bucket", + "description": "Output only. Underlying bucket resource.", + "readOnly": true + }, + "location": { + "description": "Immutable. Location of the default bucket.", "type": "string" }, - "lastUpdateTime": { - "description": "The time the LRO was last updated.", - "format": "google-datetime", + "name": { + "description": "Resource name of the default bucket.", "type": "string" }, - "state": { - "description": "The current state of the migration.", - "enum": [ - "STATE_UNSPECIFIED", - "PENDING", - "CREATING_TEMP_BUCKET", - "TRANSFERRING_TO_TEMP", - "DELETING_SOURCE_BUCKET", - "CREATING_DESTINATION_BUCKET", - "TRANSFERRING_TO_DESTINATION", - "DELETING_TEMP_BUCKET", - "SUCCEEDED", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ], - "enumDescriptions": [ - "Unspecified state. Should not be used.", - "The MigrateLocationDestructively request has passed precondition checks and the bucket migration will begin soon.", - "Generating a unique bucket name, storing the source -> temp mapping in Spanner, and actually creating the temporary bucket via Bigstore.", - "The first STS transfer to move all objects from the source bucket to the temp bucket is underway.", - "The source bucket is being emptied and deleted.", - "The source bucket is being recreated in the new location.", - "The second STS transfer to move all objects from the temp bucket to the final bucket is underway.", - "The temp bucket is being emptied and deleted.", - "All stages of the migration have completed and the operation has been marked done and updated with a response.", - "The migration failed at some stage and it is not possible to continue retrying that stage. Manual recovery may be needed. Rollback is either impossible at this stage, or has been attempted and failed.", - "The migration has encountered a permanent failure and is now being rolled back so that the source bucket is restored to its original state.", - "The migration has been successfully rolled back." - ], + "storageClass": { + "description": "Immutable. Storage class of the default bucket. Supported values are available at https://cloud.google.com/storage/docs/storage-classes#classes.", "type": "string" } }, "type": "object" }, - "GoogleFirebaseStorageControlplaneV1betaMigrateLocationDestructivelyMetadata": { - "description": "Metadata for MigrateLocationDestructively LRO.", - "id": "GoogleFirebaseStorageControlplaneV1betaMigrateLocationDestructivelyMetadata", - "properties": { - "createTime": { - "description": "The time the LRO was created.", - "format": "google-datetime", - "type": "string" - }, - "lastUpdateTime": { - "description": "The time the LRO was last updated.", - "format": "google-datetime", - "type": "string" - }, - "state": { - "description": "The current state of the migration.", - "enum": [ - "STATE_UNSPECIFIED", - "PENDING", - "CREATING_TEMP_BUCKET", - "TRANSFERRING_TO_TEMP", - "DELETING_SOURCE_BUCKET", - "CREATING_DESTINATION_BUCKET", - "TRANSFERRING_TO_DESTINATION", - "DELETING_TEMP_BUCKET", - "SUCCEEDED", - "FAILED", - "ROLLING_BACK", - "ROLLED_BACK" - ], - "enumDescriptions": [ - "Unspecified state. Should not be used.", - "The MigrateLocationDestructively request has passed precondition checks and the bucket migration will begin soon.", - "Generating a unique bucket name, storing the source -> temp mapping in Spanner, and actually creating the temporary bucket via Bigstore.", - "The first STS transfer to move all objects from the source bucket to the temp bucket is underway.", - "The source bucket is being emptied and deleted.", - "The source bucket is being recreated in the new location.", - "The second STS transfer to move all objects from the temp bucket to the final bucket is underway.", - "The temp bucket is being emptied and deleted.", - "All stages of the migration have completed and the operation has been marked done and updated with a response.", - "The migration failed at some stage and it is not possible to continue retrying that stage. Manual recovery may be needed. Rollback is either impossible at this stage, or has been attempted and failed.", - "The migration has encountered a permanent failure and is now being rolled back so that the source bucket is restored to its original state.", - "The migration has been successfully rolled back." - ], - "type": "string" - } - }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, "type": "object" }, "ListBucketsResponse": { diff --git a/discovery/firestore-v1.json b/discovery/firestore-v1.json index 963529a5d4..3262a02f9b 100644 --- a/discovery/firestore-v1.json +++ b/discovery/firestore-v1.json @@ -1421,7 +1421,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/databases/{databasesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "firestore.projects.databases.operations.cancel", @@ -1711,7 +1711,7 @@ } } }, - "revision": "20240904", + "revision": "20241204", "rootUrl": "https://firestore.googleapis.com/", "schemas": { "Aggregation": { @@ -2417,7 +2417,7 @@ "type": "string" }, "distanceThreshold": { - "description": "Optional. Option to specify a threshold for which no less similar documents will be returned. The behavior of the specified `distance_measure` will affect the meaning of the distance threshold. Since DOT_PRODUCT distances increase when the vectors are more similar, the comparison is inverted. For EUCLIDEAN, COSINE: WHERE distance <= distance_threshold For DOT_PRODUCT: WHERE distance >= distance_threshold", + "description": "Optional. Option to specify a threshold for which no less similar documents will be returned. The behavior of the specified `distance_measure` will affect the meaning of the distance threshold. Since DOT_PRODUCT distances increase when the vectors are more similar, the comparison is inverted. * For EUCLIDEAN, COSINE: WHERE distance <= distance_threshold * For DOT_PRODUCT: WHERE distance >= distance_threshold", "format": "double", "type": "number" }, @@ -4264,7 +4264,7 @@ "type": "object" }, "StructuredQuery": { - "description": "A Firestore query. The query stages are executed in the following order: 1. from 2. where 3. select 4. order_by + start_at + end_at 5. offset 6. limit", + "description": "A Firestore query. The query stages are executed in the following order: 1. from 2. where 3. select 4. order_by + start_at + end_at 5. offset 6. limit 7. find_nearest", "id": "StructuredQuery", "properties": { "endAt": { diff --git a/discovery/firestore-v1beta1.json b/discovery/firestore-v1beta1.json index c7f464b1d2..475eed5399 100644 --- a/discovery/firestore-v1beta1.json +++ b/discovery/firestore-v1beta1.json @@ -950,7 +950,7 @@ } } }, - "revision": "20240822", + "revision": "20241018", "rootUrl": "https://firestore.googleapis.com/", "schemas": { "Aggregation": { @@ -1656,7 +1656,7 @@ "type": "string" }, "distanceThreshold": { - "description": "Optional. Option to specify a threshold for which no less similar documents will be returned. The behavior of the specified `distance_measure` will affect the meaning of the distance threshold. Since DOT_PRODUCT distances increase when the vectors are more similar, the comparison is inverted. For EUCLIDEAN, COSINE: WHERE distance <= distance_threshold For DOT_PRODUCT: WHERE distance >= distance_threshold", + "description": "Optional. Option to specify a threshold for which no less similar documents will be returned. The behavior of the specified `distance_measure` will affect the meaning of the distance threshold. Since DOT_PRODUCT distances increase when the vectors are more similar, the comparison is inverted. * For EUCLIDEAN, COSINE: WHERE distance <= distance_threshold * For DOT_PRODUCT: WHERE distance >= distance_threshold", "format": "double", "type": "number" }, @@ -2654,7 +2654,7 @@ "type": "object" }, "StructuredQuery": { - "description": "A Firestore query. The query stages are executed in the following order: 1. from 2. where 3. select 4. order_by + start_at + end_at 5. offset 6. limit", + "description": "A Firestore query. The query stages are executed in the following order: 1. from 2. where 3. select 4. order_by + start_at + end_at 5. offset 6. limit 7. find_nearest", "id": "StructuredQuery", "properties": { "endAt": { diff --git a/discovery/forms-v1.json b/discovery/forms-v1.json index ae419ff37e..c218c16f42 100644 --- a/discovery/forms-v1.json +++ b/discovery/forms-v1.json @@ -423,7 +423,7 @@ } } }, - "revision": "20220915", + "revision": "20241112", "rootUrl": "https://forms.googleapis.com/", "schemas": { "Answer": { @@ -1190,6 +1190,10 @@ "description": "Read only. The question ID. On creation, it can be provided but the ID must not be already used in the form. If not provided, a new ID is assigned.", "type": "string" }, + "ratingQuestion": { + "$ref": "RatingQuestion", + "description": "A respondent can choose a rating from a pre-defined set of icons." + }, "required": { "description": "Whether the question must be answered in order for a respondent to submit their response.", "type": "boolean" @@ -1261,6 +1265,34 @@ }, "type": "object" }, + "RatingQuestion": { + "description": "A rating question. The user has a range of icons to choose from.", + "id": "RatingQuestion", + "properties": { + "iconType": { + "description": "Required. The icon type to use for the rating.", + "enum": [ + "RATING_ICON_TYPE_UNSPECIFIED", + "STAR", + "HEART", + "THUMB_UP" + ], + "enumDescriptions": [ + "Default value. Unused.", + "A star icon.", + "A heart icon.", + "A thumbs down icon." + ], + "type": "string" + }, + "ratingScaleLevel": { + "description": "Required. The rating scale level of the rating question.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "RenewWatchRequest": { "description": "Renew an existing Watch for seven days.", "id": "RenewWatchRequest", diff --git a/discovery/games-v1.json b/discovery/games-v1.json index 4dded9a557..7f83e67eb3 100644 --- a/discovery/games-v1.json +++ b/discovery/games-v1.json @@ -18,7 +18,7 @@ "baseUrl": "https://games.googleapis.com/", "batchPath": "batch", "canonicalName": "Games", - "description": "The Google Play games service allows developers to enhance games with social leaderboards, achievements, game state, sign-in with Google, and more.", + "description": "The Google Play Games Service allows developers to enhance games with social leaderboards, achievements, game state, sign-in with Google, and more.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/games/", "icons": { @@ -1469,7 +1469,7 @@ } } }, - "revision": "20240701", + "revision": "20241209", "rootUrl": "https://games.googleapis.com/", "schemas": { "AchievementDefinition": { diff --git a/discovery/gamesManagement-v1management.json b/discovery/gamesManagement-v1management.json index c94f4e47fd..05cb1cb91c 100644 --- a/discovery/gamesManagement-v1management.json +++ b/discovery/gamesManagement-v1management.json @@ -12,7 +12,7 @@ "baseUrl": "https://gamesmanagement.googleapis.com/", "batchPath": "batch", "canonicalName": "Games Management", - "description": "The Google Play Game Management API allows developers to manage resources from the Google Play Game service.", + "description": "The Google Play Games Management API allows developers to manage resources from the Google Play Game service.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/games/", "icons": { @@ -471,7 +471,7 @@ } } }, - "revision": "20200811", + "revision": "20241209", "rootUrl": "https://gamesmanagement.googleapis.com/", "schemas": { "AchievementResetAllResponse": { diff --git a/discovery/gkebackup-v1.json b/discovery/gkebackup-v1.json index 6f996cd386..ae6df4a4db 100644 --- a/discovery/gkebackup-v1.json +++ b/discovery/gkebackup-v1.json @@ -894,7 +894,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "gkebackup.projects.locations.operations.cancel", @@ -1713,7 +1713,7 @@ } } }, - "revision": "20240626", + "revision": "20250101", "rootUrl": "https://gkebackup.googleapis.com/", "schemas": { "AuditConfig": { @@ -1914,7 +1914,7 @@ "type": "string" }, "stateReason": { - "description": "Output only. Human-readable description of why the backup is in the current `state`.", + "description": "Output only. Human-readable description of why the backup is in the current `state`. This field is only meant for human readability and should not be used programmatically as this field is not guaranteed to be consistent.", "readOnly": true, "type": "string" }, @@ -2065,7 +2065,7 @@ "type": "string" }, "stateReason": { - "description": "Output only. Human-readable description of why BackupPlan is in the current `state`", + "description": "Output only. Human-readable description of why BackupPlan is in the current `state`. This field is only meant for human readability and should not be used programmatically as this field is not guaranteed to be consistent.", "readOnly": true, "type": "string" }, @@ -2141,7 +2141,7 @@ "type": "object" }, "ClusterResourceRestoreScope": { - "description": "Defines the scope of cluster-scoped resources to restore. Some group kinds are not reasonable choices for a restore, and will cause an error if selected here. Any scope selection that would restore \"all valid\" resources automatically excludes these group kinds. - gkebackup.gke.io/BackupJob - gkebackup.gke.io/RestoreJob - metrics.k8s.io/NodeMetrics - migration.k8s.io/StorageState - migration.k8s.io/StorageVersionMigration - Node - snapshot.storage.k8s.io/VolumeSnapshotContent - storage.k8s.io/CSINode Some group kinds are driven by restore configuration elsewhere, and will cause an error if selected here. - Namespace - PersistentVolume", + "description": "Defines the scope of cluster-scoped resources to restore. Some group kinds are not reasonable choices for a restore, and will cause an error if selected here. Any scope selection that would restore \"all valid\" resources automatically excludes these group kinds. - Node - ComponentStatus - gkebackup.gke.io/BackupJob - gkebackup.gke.io/RestoreJob - metrics.k8s.io/NodeMetrics - migration.k8s.io/StorageState - migration.k8s.io/StorageVersionMigration - snapshot.storage.k8s.io/VolumeSnapshotContent - storage.k8s.io/CSINode - storage.k8s.io/VolumeAttachment Some group kinds are driven by restore configuration elsewhere, and will cause an error if selected here. - Namespace - PersistentVolume", "id": "ClusterResourceRestoreScope", "properties": { "allGroupKinds": { @@ -2686,7 +2686,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -2871,7 +2871,8 @@ "IN_PROGRESS", "SUCCEEDED", "FAILED", - "DELETING" + "DELETING", + "VALIDATING" ], "enumDescriptions": [ "The Restore resource is in the process of being created.", @@ -2879,13 +2880,14 @@ "The gkebackup agent in the cluster has begun executing the restore operation.", "The restore operation has completed successfully. Restored workloads may not yet be operational.", "The restore operation has failed.", - "This Restore resource is in the process of being deleted." + "This Restore resource is in the process of being deleted.", + "The Kubernetes resources created by this Restore are being validated." ], "readOnly": true, "type": "string" }, "stateReason": { - "description": "Output only. Human-readable description of why the Restore is in its current state.", + "description": "Output only. Human-readable description of why the Restore is in its current state. This field is only meant for human readability and should not be used programmatically as this field is not guaranteed to be consistent.", "readOnly": true, "type": "string" }, @@ -3099,7 +3101,7 @@ "type": "string" }, "stateReason": { - "description": "Output only. Human-readable description of why RestorePlan is in the current `state`", + "description": "Output only. Human-readable description of why RestorePlan is in the current `state`. This field is only meant for human readability and should not be used programmatically as this field is not guaranteed to be consistent.", "readOnly": true, "type": "string" }, @@ -3264,22 +3266,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } @@ -3423,7 +3425,7 @@ "type": "string" }, "stateMessage": { - "description": "Output only. A human readable message explaining why the VolumeBackup is in its current state.", + "description": "Output only. A human readable message explaining why the VolumeBackup is in its current state. This field is only meant for human consumption and should not be used programmatically as this field is not guaranteed to be consistent.", "readOnly": true, "type": "string" }, diff --git a/discovery/gkehub-v1.json b/discovery/gkehub-v1.json index 1586c0474b..dfac7e6130 100644 --- a/discovery/gkehub-v1.json +++ b/discovery/gkehub-v1.json @@ -1349,7 +1349,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "gkehub.projects.locations.operations.cancel", @@ -2111,7 +2111,7 @@ } } }, - "revision": "20240920", + "revision": "20241206", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AppDevExperienceFeatureSpec": { @@ -2208,6 +2208,16 @@ "format": "byte", "type": "string" }, + "scopeTenancyIdentityProvider": { + "description": "Optional. Output only. The identity provider for the scope-tenancy workload identity pool.", + "readOnly": true, + "type": "string" + }, + "scopeTenancyWorkloadIdentityPool": { + "description": "Optional. Output only. The name of the scope-tenancy workload identity pool. This pool is set in the fleet-level feature.", + "readOnly": true, + "type": "string" + }, "workloadIdentityPool": { "description": "Output only. The name of the workload identity pool in which `issuer` will be recognized. There is a single Workload Identity Pool per Hub that is shared between all Memberships that belong to that Hub. For a Hub hosted in {PROJECT_ID}, the workload pool format is `{PROJECT_ID}.hub.id.goog`, although this is subject to change in newer versions of this API.", "readOnly": true, @@ -2649,7 +2659,8 @@ "description": "Git repo configuration for the cluster." }, "metricsGcpServiceAccountEmail": { - "description": "The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA.", + "deprecated": true, + "description": "The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA. Deprecated: If Workload Identity Federation for GKE is enabled, Google Cloud Service Account is no longer needed for exporting Config Sync metrics: https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/monitor-config-sync-cloud-monitoring#custom-monitoring.", "type": "string" }, "oci": { @@ -2663,6 +2674,10 @@ "sourceFormat": { "description": "Specifies whether the Config Sync Repo is in \"hierarchical\" or \"unstructured\" mode.", "type": "string" + }, + "stopSyncing": { + "description": "Set to true to stop syncing configs for a single cluster. Default to false.", + "type": "boolean" } }, "type": "object" @@ -2851,6 +2866,28 @@ "description": "State information for ConfigSync", "id": "ConfigManagementConfigSyncState", "properties": { + "clusterLevelStopSyncingState": { + "description": "Whether syncing resources to the cluster is stopped at the cluster level.", + "enum": [ + "STOP_SYNCING_STATE_UNSPECIFIED", + "NOT_STOPPED", + "PENDING", + "STOPPED" + ], + "enumDescriptions": [ + "State cannot be determined", + "Syncing resources to the cluster is not stopped at the cluster level.", + "Some reconcilers stop syncing resources to the cluster, while others are still syncing.", + "Syncing resources to the cluster is stopped at the cluster level." + ], + "type": "string" + }, + "crCount": { + "description": "Output only. The number of RootSync and RepoSync CRs in the cluster.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, "deploymentState": { "$ref": "ConfigManagementConfigSyncDeploymentState", "description": "Information about the deployment of ConfigSync, including the version of the various Pods deployed" @@ -4843,6 +4880,21 @@ "$ref": "Authority", "description": "Optional. How to identify workloads from this Membership. See the documentation on Workload Identity for more details: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity" }, + "clusterTier": { + "description": "Output only. The tier of the cluster.", + "enum": [ + "CLUSTER_TIER_UNSPECIFIED", + "STANDARD", + "ENTERPRISE" + ], + "enumDescriptions": [ + "The ClusterTier is not set.", + "The ClusterTier is standard.", + "The ClusterTier is enterprise." + ], + "readOnly": true, + "type": "string" + }, "createTime": { "description": "Output only. When the Membership was created.", "format": "google-datetime", @@ -5344,7 +5396,7 @@ "type": "string" }, "cancelRequested": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -6293,6 +6345,20 @@ "description": "**Service Mesh**: Spec for a single Membership for the servicemesh feature", "id": "ServiceMeshMembershipSpec", "properties": { + "configApi": { + "description": "Optional. Specifies the API that will be used for configuring the mesh workloads.", + "enum": [ + "CONFIG_API_UNSPECIFIED", + "CONFIG_API_ISTIO", + "CONFIG_API_GATEWAY" + ], + "enumDescriptions": [ + "Unspecified", + "Use the Istio API for configuration.", + "Use the K8s Gateway API for configuration." + ], + "type": "string" + }, "controlPlane": { "deprecated": true, "description": "Deprecated: use `management` instead Enables automatic control plane management.", diff --git a/discovery/gkehub-v1alpha.json b/discovery/gkehub-v1alpha.json index 51257ea0f4..b29ead594f 100644 --- a/discovery/gkehub-v1alpha.json +++ b/discovery/gkehub-v1alpha.json @@ -1493,7 +1493,7 @@ "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`.", + "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": "v1alpha/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "gkehub.projects.locations.operations.cancel", @@ -2255,7 +2255,7 @@ } } }, - "revision": "20240920", + "revision": "20250103", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AnthosObservabilityFeatureSpec": { @@ -2382,6 +2382,16 @@ "format": "byte", "type": "string" }, + "scopeTenancyIdentityProvider": { + "description": "Optional. Output only. The identity provider for the scope-tenancy workload identity pool.", + "readOnly": true, + "type": "string" + }, + "scopeTenancyWorkloadIdentityPool": { + "description": "Optional. Output only. The name of the scope-tenancy workload identity pool. This pool is set in the fleet-level feature.", + "readOnly": true, + "type": "string" + }, "workloadIdentityPool": { "description": "Output only. The name of the workload identity pool in which `issuer` will be recognized. There is a single Workload Identity Pool per Hub that is shared between all Memberships that belong to that Hub. For a Hub hosted in {PROJECT_ID}, the workload pool format is `{PROJECT_ID}.hub.id.goog`, although this is subject to change in newer versions of this API.", "readOnly": true, @@ -2982,32 +2992,37 @@ "properties": { "allowVerticalScale": { "deprecated": true, - "description": "Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated.", + "description": "Optional. Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated.", "type": "boolean" }, "enabled": { - "description": "Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field.", + "description": "Optional. Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field.", "type": "boolean" }, "git": { "$ref": "ConfigManagementGitConfig", - "description": "Git repo configuration for the cluster." + "description": "Optional. Git repo configuration for the cluster." }, "metricsGcpServiceAccountEmail": { - "description": "The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA.", + "deprecated": true, + "description": "Optional. The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA. Deprecated: If Workload Identity Federation for GKE is enabled, Google Cloud Service Account is no longer needed for exporting Config Sync metrics: https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/monitor-config-sync-cloud-monitoring#custom-monitoring.", "type": "string" }, "oci": { "$ref": "ConfigManagementOciConfig", - "description": "OCI repo configuration for the cluster" + "description": "Optional. OCI repo configuration for the cluster" }, "preventDrift": { - "description": "Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts.", + "description": "Optional. Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts.", "type": "boolean" }, "sourceFormat": { - "description": "Specifies whether the Config Sync Repo is in \"hierarchical\" or \"unstructured\" mode.", + "description": "Optional. Specifies whether the Config Sync Repo is in \"hierarchical\" or \"unstructured\" mode.", "type": "string" + }, + "stopSyncing": { + "description": "Optional. Set to true to stop syncing configs for a single cluster. Default to false.", + "type": "boolean" } }, "type": "object" @@ -3196,19 +3211,44 @@ "description": "State information for ConfigSync", "id": "ConfigManagementConfigSyncState", "properties": { + "clusterLevelStopSyncingState": { + "description": "Output only. Whether syncing resources to the cluster is stopped at the cluster level.", + "enum": [ + "STOP_SYNCING_STATE_UNSPECIFIED", + "NOT_STOPPED", + "PENDING", + "STOPPED" + ], + "enumDescriptions": [ + "State cannot be determined", + "Syncing resources to the cluster is not stopped at the cluster level.", + "Some reconcilers stop syncing resources to the cluster, while others are still syncing.", + "Syncing resources to the cluster is stopped at the cluster level." + ], + "readOnly": true, + "type": "string" + }, + "crCount": { + "description": "Output only. The number of RootSync and RepoSync CRs in the cluster.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, "deploymentState": { "$ref": "ConfigManagementConfigSyncDeploymentState", - "description": "Information about the deployment of ConfigSync, including the version of the various Pods deployed" + "description": "Output only. Information about the deployment of ConfigSync, including the version of the various Pods deployed", + "readOnly": true }, "errors": { - "description": "Errors pertaining to the installation of Config Sync.", + "description": "Output only. Errors pertaining to the installation of Config Sync.", "items": { "$ref": "ConfigManagementConfigSyncError" }, + "readOnly": true, "type": "array" }, "reposyncCrd": { - "description": "The state of the Reposync CRD", + "description": "Output only. The state of the Reposync CRD", "enum": [ "CRD_STATE_UNSPECIFIED", "NOT_INSTALLED", @@ -3223,10 +3263,11 @@ "CRD is terminating (i.e., it has been deleted and is cleaning up)", "CRD is installing" ], + "readOnly": true, "type": "string" }, "rootsyncCrd": { - "description": "The state of the RootSync CRD", + "description": "Output only. The state of the RootSync CRD", "enum": [ "CRD_STATE_UNSPECIFIED", "NOT_INSTALLED", @@ -3241,10 +3282,11 @@ "CRD is terminating (i.e., it has been deleted and is cleaning up)", "CRD is installing" ], + "readOnly": true, "type": "string" }, "state": { - "description": "The state of CS This field summarizes the other fields in this message.", + "description": "Output only. The state of CS This field summarizes the other fields in this message.", "enum": [ "STATE_UNSPECIFIED", "CONFIG_SYNC_NOT_INSTALLED", @@ -3259,15 +3301,18 @@ "CS encounters errors.", "CS is installing or terminating." ], + "readOnly": true, "type": "string" }, "syncState": { "$ref": "ConfigManagementSyncState", - "description": "The state of ConfigSync's process to sync configs to a cluster" + "description": "Output only. The state of ConfigSync's process to sync configs to a cluster", + "readOnly": true }, "version": { "$ref": "ConfigManagementConfigSyncVersion", - "description": "The version of ConfigSync deployed" + "description": "Output only. The version of ConfigSync deployed", + "readOnly": true } }, "type": "object" @@ -3404,35 +3449,35 @@ "id": "ConfigManagementGitConfig", "properties": { "gcpServiceAccountEmail": { - "description": "The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", + "description": "Optional. The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", "type": "string" }, "httpsProxy": { - "description": "URL for the HTTPS proxy to be used when communicating with the Git repo.", + "description": "Optional. URL for the HTTPS proxy to be used when communicating with the Git repo.", "type": "string" }, "policyDir": { - "description": "The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.", + "description": "Optional. The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.", "type": "string" }, "secretType": { - "description": "Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required.", + "description": "Required. Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required.", "type": "string" }, "syncBranch": { - "description": "The branch of the repository to sync from. Default: master.", + "description": "Optional. The branch of the repository to sync from. Default: master.", "type": "string" }, "syncRepo": { - "description": "The URL of the Git repository to use as the source of truth.", + "description": "Optional. The URL of the Git repository to use as the source of truth.", "type": "string" }, "syncRev": { - "description": "Git revision (tag or hash) to check out. Default HEAD.", + "description": "Optional. Git revision (tag or hash) to check out. Default HEAD.", "type": "string" }, "syncWaitSecs": { - "description": "Period in seconds between consecutive syncs. Default: 15.", + "description": "Optional. Period in seconds between consecutive syncs. Default: 15.", "format": "int64", "type": "string" } @@ -3568,22 +3613,23 @@ "binauthz": { "$ref": "ConfigManagementBinauthzConfig", "deprecated": true, - "description": "Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set." + "description": "Optional. Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set." }, "cluster": { - "description": "The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector.", + "description": "Optional. The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector.", "type": "string" }, "configSync": { "$ref": "ConfigManagementConfigSync", - "description": "Config Sync configuration for the cluster." + "description": "Optional. Config Sync configuration for the cluster." }, "hierarchyController": { "$ref": "ConfigManagementHierarchyControllerConfig", - "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." + "deprecated": true, + "description": "Optional. 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.", + "description": "Optional. Enables automatic Feature management.", "enum": [ "MANAGEMENT_UNSPECIFIED", "MANAGEMENT_AUTOMATIC", @@ -3598,10 +3644,11 @@ }, "policyController": { "$ref": "ConfigManagementPolicyController", - "description": "Policy Controller configuration for the cluster. Deprecated: Configuring Policy Controller through the configmanagement feature is no longer recommended. Use the policycontroller feature instead." + "deprecated": true, + "description": "Optional. Policy Controller configuration for the cluster. Deprecated: Configuring Policy Controller through the configmanagement feature is no longer recommended. Use the policycontroller feature instead." }, "version": { - "description": "Version of ACM installed.", + "description": "Optional. Version of ACM installed.", "type": "string" } }, @@ -3613,31 +3660,38 @@ "properties": { "binauthzState": { "$ref": "ConfigManagementBinauthzState", - "description": "Binauthz status" + "description": "Output only. Binauthz status", + "readOnly": true }, "clusterName": { - "description": "This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name.", + "description": "Output only. This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name.", + "readOnly": true, "type": "string" }, "configSyncState": { "$ref": "ConfigManagementConfigSyncState", - "description": "Current sync status" + "description": "Output only. Current sync status", + "readOnly": true }, "hierarchyControllerState": { "$ref": "ConfigManagementHierarchyControllerState", - "description": "Hierarchy Controller status" + "description": "Output only. Hierarchy Controller status", + "readOnly": true }, "membershipSpec": { "$ref": "ConfigManagementMembershipSpec", - "description": "Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state" + "description": "Output only. Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state", + "readOnly": true }, "operatorState": { "$ref": "ConfigManagementOperatorState", - "description": "Current install status of ACM's Operator" + "description": "Output only. Current install status of ACM's Operator", + "readOnly": true }, "policyControllerState": { "$ref": "ConfigManagementPolicyControllerState", - "description": "PolicyController status" + "description": "Output only. PolicyController status", + "readOnly": true } }, "type": "object" @@ -3647,23 +3701,23 @@ "id": "ConfigManagementOciConfig", "properties": { "gcpServiceAccountEmail": { - "description": "The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", + "description": "Optional. The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", "type": "string" }, "policyDir": { - "description": "The absolute path of the directory that contains the local resources. Default: the root directory of the image.", + "description": "Optional. The absolute path of the directory that contains the local resources. Default: the root directory of the image.", "type": "string" }, "secretType": { - "description": "Type of secret configured for access to the Git repo.", + "description": "Optional. Type of secret configured for access to the Git repo.", "type": "string" }, "syncRepo": { - "description": "The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`.", + "description": "Optional. The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`.", "type": "string" }, "syncWaitSecs": { - "description": "Period in seconds between consecutive syncs. Default: 15.", + "description": "Optional. Period in seconds between consecutive syncs. Default: 15.", "format": "int64", "type": "string" } @@ -5266,6 +5320,21 @@ "$ref": "Authority", "description": "Optional. How to identify workloads from this Membership. See the documentation on Workload Identity for more details: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity" }, + "clusterTier": { + "description": "Output only. The tier of the cluster.", + "enum": [ + "CLUSTER_TIER_UNSPECIFIED", + "STANDARD", + "ENTERPRISE" + ], + "enumDescriptions": [ + "The ClusterTier is not set.", + "The ClusterTier is standard.", + "The ClusterTier is enterprise." + ], + "readOnly": true, + "type": "string" + }, "createTime": { "description": "Output only. When the Membership was created.", "format": "google-datetime", @@ -5883,7 +5952,7 @@ "type": "string" }, "cancelRequested": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -7190,12 +7259,14 @@ "enum": [ "VALIDATOR_TYPE_UNSPECIFIED", "MEMBERSHIP_ID", - "CROSS_PROJECT_PERMISSION" + "CROSS_PROJECT_PERMISSION", + "FLEET_ALLOWED_FOR_PROJECT_GUARDRAIL" ], "enumDescriptions": [ "UNSPECIFIED validator.", "MEMBERSHIP_ID validator validates that the membership_id is still available.", - "CROSS_PROJECT_PERMISSION validator validates that the cross-project role binding for the service agent is in place." + "CROSS_PROJECT_PERMISSION validator validates that the cross-project role binding for the service agent is in place.", + "FLEET_ALLOWED_FOR_PROJECT_GUARDRAIL validator validates that the fleet project is allowed for the project guardrail." ], "type": "string" } diff --git a/discovery/gkehub-v1beta.json b/discovery/gkehub-v1beta.json index fa18eeae39..437c160168 100644 --- a/discovery/gkehub-v1beta.json +++ b/discovery/gkehub-v1beta.json @@ -1349,7 +1349,7 @@ "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`.", + "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": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "gkehub.projects.locations.operations.cancel", @@ -2111,7 +2111,7 @@ } } }, - "revision": "20240920", + "revision": "20250103", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "AnthosObservabilityFeatureSpec": { @@ -2238,6 +2238,16 @@ "format": "byte", "type": "string" }, + "scopeTenancyIdentityProvider": { + "description": "Optional. Output only. The identity provider for the scope-tenancy workload identity pool.", + "readOnly": true, + "type": "string" + }, + "scopeTenancyWorkloadIdentityPool": { + "description": "Optional. Output only. The name of the scope-tenancy workload identity pool. This pool is set in the fleet-level feature.", + "readOnly": true, + "type": "string" + }, "workloadIdentityPool": { "description": "Output only. The name of the workload identity pool in which `issuer` will be recognized. There is a single Workload Identity Pool per Hub that is shared between all Memberships that belong to that Hub. For a Hub hosted in {PROJECT_ID}, the workload pool format is `{PROJECT_ID}.hub.id.goog`, although this is subject to change in newer versions of this API.", "readOnly": true, @@ -2722,32 +2732,37 @@ "properties": { "allowVerticalScale": { "deprecated": true, - "description": "Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated.", + "description": "Optional. Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated.", "type": "boolean" }, "enabled": { - "description": "Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field.", + "description": "Optional. Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field.", "type": "boolean" }, "git": { "$ref": "ConfigManagementGitConfig", - "description": "Git repo configuration for the cluster." + "description": "Optional. Git repo configuration for the cluster." }, "metricsGcpServiceAccountEmail": { - "description": "The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA.", + "deprecated": true, + "description": "Optional. The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA. Deprecated: If Workload Identity Federation for GKE is enabled, Google Cloud Service Account is no longer needed for exporting Config Sync metrics: https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/monitor-config-sync-cloud-monitoring#custom-monitoring.", "type": "string" }, "oci": { "$ref": "ConfigManagementOciConfig", - "description": "OCI repo configuration for the cluster" + "description": "Optional. OCI repo configuration for the cluster" }, "preventDrift": { - "description": "Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts.", + "description": "Optional. Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts.", "type": "boolean" }, "sourceFormat": { - "description": "Specifies whether the Config Sync Repo is in \"hierarchical\" or \"unstructured\" mode.", + "description": "Optional. Specifies whether the Config Sync Repo is in \"hierarchical\" or \"unstructured\" mode.", "type": "string" + }, + "stopSyncing": { + "description": "Optional. Set to true to stop syncing configs for a single cluster. Default to false.", + "type": "boolean" } }, "type": "object" @@ -2936,19 +2951,44 @@ "description": "State information for ConfigSync", "id": "ConfigManagementConfigSyncState", "properties": { + "clusterLevelStopSyncingState": { + "description": "Output only. Whether syncing resources to the cluster is stopped at the cluster level.", + "enum": [ + "STOP_SYNCING_STATE_UNSPECIFIED", + "NOT_STOPPED", + "PENDING", + "STOPPED" + ], + "enumDescriptions": [ + "State cannot be determined", + "Syncing resources to the cluster is not stopped at the cluster level.", + "Some reconcilers stop syncing resources to the cluster, while others are still syncing.", + "Syncing resources to the cluster is stopped at the cluster level." + ], + "readOnly": true, + "type": "string" + }, + "crCount": { + "description": "Output only. The number of RootSync and RepoSync CRs in the cluster.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, "deploymentState": { "$ref": "ConfigManagementConfigSyncDeploymentState", - "description": "Information about the deployment of ConfigSync, including the version of the various Pods deployed" + "description": "Output only. Information about the deployment of ConfigSync, including the version of the various Pods deployed", + "readOnly": true }, "errors": { - "description": "Errors pertaining to the installation of Config Sync.", + "description": "Output only. Errors pertaining to the installation of Config Sync.", "items": { "$ref": "ConfigManagementConfigSyncError" }, + "readOnly": true, "type": "array" }, "reposyncCrd": { - "description": "The state of the Reposync CRD", + "description": "Output only. The state of the Reposync CRD", "enum": [ "CRD_STATE_UNSPECIFIED", "NOT_INSTALLED", @@ -2963,10 +3003,11 @@ "CRD is terminating (i.e., it has been deleted and is cleaning up)", "CRD is installing" ], + "readOnly": true, "type": "string" }, "rootsyncCrd": { - "description": "The state of the RootSync CRD", + "description": "Output only. The state of the RootSync CRD", "enum": [ "CRD_STATE_UNSPECIFIED", "NOT_INSTALLED", @@ -2981,10 +3022,11 @@ "CRD is terminating (i.e., it has been deleted and is cleaning up)", "CRD is installing" ], + "readOnly": true, "type": "string" }, "state": { - "description": "The state of CS This field summarizes the other fields in this message.", + "description": "Output only. The state of CS This field summarizes the other fields in this message.", "enum": [ "STATE_UNSPECIFIED", "CONFIG_SYNC_NOT_INSTALLED", @@ -2999,15 +3041,18 @@ "CS encounters errors.", "CS is installing or terminating." ], + "readOnly": true, "type": "string" }, "syncState": { "$ref": "ConfigManagementSyncState", - "description": "The state of ConfigSync's process to sync configs to a cluster" + "description": "Output only. The state of ConfigSync's process to sync configs to a cluster", + "readOnly": true }, "version": { "$ref": "ConfigManagementConfigSyncVersion", - "description": "The version of ConfigSync deployed" + "description": "Output only. The version of ConfigSync deployed", + "readOnly": true } }, "type": "object" @@ -3144,35 +3189,35 @@ "id": "ConfigManagementGitConfig", "properties": { "gcpServiceAccountEmail": { - "description": "The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", + "description": "Optional. The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", "type": "string" }, "httpsProxy": { - "description": "URL for the HTTPS proxy to be used when communicating with the Git repo.", + "description": "Optional. URL for the HTTPS proxy to be used when communicating with the Git repo.", "type": "string" }, "policyDir": { - "description": "The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.", + "description": "Optional. The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.", "type": "string" }, "secretType": { - "description": "Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required.", + "description": "Required. Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required.", "type": "string" }, "syncBranch": { - "description": "The branch of the repository to sync from. Default: master.", + "description": "Optional. The branch of the repository to sync from. Default: master.", "type": "string" }, "syncRepo": { - "description": "The URL of the Git repository to use as the source of truth.", + "description": "Optional. The URL of the Git repository to use as the source of truth.", "type": "string" }, "syncRev": { - "description": "Git revision (tag or hash) to check out. Default HEAD.", + "description": "Optional. Git revision (tag or hash) to check out. Default HEAD.", "type": "string" }, "syncWaitSecs": { - "description": "Period in seconds between consecutive syncs. Default: 15.", + "description": "Optional. Period in seconds between consecutive syncs. Default: 15.", "format": "int64", "type": "string" } @@ -3308,22 +3353,23 @@ "binauthz": { "$ref": "ConfigManagementBinauthzConfig", "deprecated": true, - "description": "Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set." + "description": "Optional. Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set." }, "cluster": { - "description": "The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector.", + "description": "Optional. The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector.", "type": "string" }, "configSync": { "$ref": "ConfigManagementConfigSync", - "description": "Config Sync configuration for the cluster." + "description": "Optional. Config Sync configuration for the cluster." }, "hierarchyController": { "$ref": "ConfigManagementHierarchyControllerConfig", - "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." + "deprecated": true, + "description": "Optional. 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.", + "description": "Optional. Enables automatic Feature management.", "enum": [ "MANAGEMENT_UNSPECIFIED", "MANAGEMENT_AUTOMATIC", @@ -3338,10 +3384,11 @@ }, "policyController": { "$ref": "ConfigManagementPolicyController", - "description": "Policy Controller configuration for the cluster. Deprecated: Configuring Policy Controller through the configmanagement feature is no longer recommended. Use the policycontroller feature instead." + "deprecated": true, + "description": "Optional. Policy Controller configuration for the cluster. Deprecated: Configuring Policy Controller through the configmanagement feature is no longer recommended. Use the policycontroller feature instead." }, "version": { - "description": "Version of ACM installed.", + "description": "Optional. Version of ACM installed.", "type": "string" } }, @@ -3353,31 +3400,38 @@ "properties": { "binauthzState": { "$ref": "ConfigManagementBinauthzState", - "description": "Binauthz status" + "description": "Output only. Binauthz status", + "readOnly": true }, "clusterName": { - "description": "This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name.", + "description": "Output only. This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name.", + "readOnly": true, "type": "string" }, "configSyncState": { "$ref": "ConfigManagementConfigSyncState", - "description": "Current sync status" + "description": "Output only. Current sync status", + "readOnly": true }, "hierarchyControllerState": { "$ref": "ConfigManagementHierarchyControllerState", - "description": "Hierarchy Controller status" + "description": "Output only. Hierarchy Controller status", + "readOnly": true }, "membershipSpec": { "$ref": "ConfigManagementMembershipSpec", - "description": "Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state" + "description": "Output only. Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state", + "readOnly": true }, "operatorState": { "$ref": "ConfigManagementOperatorState", - "description": "Current install status of ACM's Operator" + "description": "Output only. Current install status of ACM's Operator", + "readOnly": true }, "policyControllerState": { "$ref": "ConfigManagementPolicyControllerState", - "description": "PolicyController status" + "description": "Output only. PolicyController status", + "readOnly": true } }, "type": "object" @@ -3387,23 +3441,23 @@ "id": "ConfigManagementOciConfig", "properties": { "gcpServiceAccountEmail": { - "description": "The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", + "description": "Optional. The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", "type": "string" }, "policyDir": { - "description": "The absolute path of the directory that contains the local resources. Default: the root directory of the image.", + "description": "Optional. The absolute path of the directory that contains the local resources. Default: the root directory of the image.", "type": "string" }, "secretType": { - "description": "Type of secret configured for access to the Git repo.", + "description": "Optional. Type of secret configured for access to the Git repo.", "type": "string" }, "syncRepo": { - "description": "The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`.", + "description": "Optional. The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`.", "type": "string" }, "syncWaitSecs": { - "description": "Period in seconds between consecutive syncs. Default: 15.", + "description": "Optional. Period in seconds between consecutive syncs. Default: 15.", "format": "int64", "type": "string" } @@ -4937,6 +4991,21 @@ "$ref": "Authority", "description": "Optional. How to identify workloads from this Membership. See the documentation on Workload Identity for more details: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity" }, + "clusterTier": { + "description": "Output only. The tier of the cluster.", + "enum": [ + "CLUSTER_TIER_UNSPECIFIED", + "STANDARD", + "ENTERPRISE" + ], + "enumDescriptions": [ + "The ClusterTier is not set.", + "The ClusterTier is standard.", + "The ClusterTier is enterprise." + ], + "readOnly": true, + "type": "string" + }, "createTime": { "description": "Output only. When the Membership was created.", "format": "google-datetime", @@ -5507,7 +5576,7 @@ "type": "string" }, "cancelRequested": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -6456,6 +6525,20 @@ "description": "**Service Mesh**: Spec for a single Membership for the servicemesh feature", "id": "ServiceMeshMembershipSpec", "properties": { + "configApi": { + "description": "Optional. Specifies the API that will be used for configuring the mesh workloads.", + "enum": [ + "CONFIG_API_UNSPECIFIED", + "CONFIG_API_ISTIO", + "CONFIG_API_GATEWAY" + ], + "enumDescriptions": [ + "Unspecified", + "Use the Istio API for configuration.", + "Use the K8s Gateway API for configuration." + ], + "type": "string" + }, "controlPlane": { "deprecated": true, "description": "Deprecated: use `management` instead Enables automatic control plane management.", diff --git a/discovery/gkehub-v1beta1.json b/discovery/gkehub-v1beta1.json index 67aaeb0de1..f2780198ce 100644 --- a/discovery/gkehub-v1beta1.json +++ b/discovery/gkehub-v1beta1.json @@ -587,7 +587,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "gkehub.projects.locations.operations.cancel", @@ -712,7 +712,7 @@ } } }, - "revision": "20240118", + "revision": "20241206", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { "ApplianceCluster": { @@ -792,6 +792,16 @@ "format": "byte", "type": "string" }, + "scopeTenancyIdentityProvider": { + "description": "Optional. Output only. The identity provider for the scope-tenancy workload identity pool.", + "readOnly": true, + "type": "string" + }, + "scopeTenancyWorkloadIdentityPool": { + "description": "Optional. Output only. The name of the scope-tenancy workload identity pool. This pool is set in the fleet-level feature.", + "readOnly": true, + "type": "string" + }, "workloadIdentityPool": { "description": "Output only. The name of the workload identity pool in which `issuer` will be recognized. There is a single Workload Identity Pool per Hub that is shared between all Memberships that belong to that Hub. For a Hub hosted in {PROJECT_ID}, the workload pool format is `{PROJECT_ID}.hub.id.goog`, although this is subject to change in newer versions of this API.", "readOnly": true, diff --git a/discovery/gkehub-v2.json b/discovery/gkehub-v2.json index 993a11c62b..e418b3f4db 100644 --- a/discovery/gkehub-v2.json +++ b/discovery/gkehub-v2.json @@ -177,10 +177,201 @@ } }, "resources": { + "memberships": { + "resources": { + "features": { + "methods": { + "create": { + "description": "Creates membershipFeature under a given parent.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features", + "httpMethod": "POST", + "id": "gkehub.projects.locations.memberships.features.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "featureId": { + "description": "Required. The ID of the membership_feature to create.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of parent where the MembershipFeature will be created. Specified in the format `projects/*/locations/*/memberships/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Idempotent request UUID.", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+parent}/features", + "request": { + "$ref": "MembershipFeature" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Removes a membershipFeature.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features/{featuresId}", + "httpMethod": "DELETE", + "id": "gkehub.projects.locations.memberships.features.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the membershipFeature to be deleted. Specified in the format `projects/*/locations/*/memberships/*/features/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/features/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Idempotent request UUID.", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "========= MembershipFeature Services ========= Gets details of a membershipFeature.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features/{featuresId}", + "httpMethod": "GET", + "id": "gkehub.projects.locations.memberships.features.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The MembershipFeature resource name in the format `projects/*/locations/*/memberships/*/features/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/features/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "MembershipFeature" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists MembershipFeatures in a given project and location.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features", + "httpMethod": "GET", + "id": "gkehub.projects.locations.memberships.features.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Lists MembershipFeatures that match the filter expression, following the syntax outlined in https://google.aip.dev/160. Examples: - Feature with the name \"helloworld\" in project \"foo-proj\" and membership \"member-bar\": name = \"projects/foo-proj/locations/global/memberships/member-bar/features/helloworld\" - Features that have a label called `foo`: labels.foo:* - Features that have a label called `foo` whose value is `bar`: labels.foo = bar", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "One or more fields to compare and use to sort the output. See https://google.aip.dev/132#ordering.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "When requesting a 'page' of resources, `page_size` specifies number of resources to return. If unspecified or set to 0, all resources will be returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Token returned by previous call to `ListFeatures` which specifies the position in the list from where to continue listing the resources.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent where the MembershipFeature will be listed. In the format: `projects/*/locations/*/memberships/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/features", + "response": { + "$ref": "ListMembershipFeaturesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an existing MembershipFeature.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features/{featuresId}", + "httpMethod": "PATCH", + "id": "gkehub.projects.locations.memberships.features.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "Optional. If set to true, and the MembershipFeature is not found, a new MembershipFeature will be created. In this situation, `update_mask` is ignored.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Output only. The resource name of the membershipFeature, in the format: `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note that `membershipFeatures` is shortened to `features` in the resource name. (see http://go/aip/122#collection-identifiers)", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/features/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Idempotent request UUID.", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}", + "request": { + "$ref": "MembershipFeature" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, "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`.", + "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": "v2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "gkehub.projects.locations.operations.cancel", @@ -280,149 +471,2801 @@ } } }, - "revision": "20240809", + "revision": "20241206", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { + "AppDevExperienceState": { + "description": "State for App Dev Exp Feature.", + "id": "AppDevExperienceState", + "properties": { + "networkingInstallSucceeded": { + "$ref": "AppDevExperienceStatus", + "description": "Status of subcomponent that detects configured Service Mesh resources." + } + }, + "type": "object" + }, + "AppDevExperienceStatus": { + "description": "Status specifies state for the subcomponent.", + "id": "AppDevExperienceStatus", + "properties": { + "code": { + "description": "Code specifies AppDevExperienceFeature's subcomponent ready state.", + "enum": [ + "CODE_UNSPECIFIED", + "OK", + "FAILED", + "UNKNOWN" + ], + "enumDescriptions": [ + "Not set.", + "AppDevExperienceFeature's specified subcomponent is ready.", + "AppDevExperienceFeature's specified subcomponent ready state is false. This means AppDevExperienceFeature has encountered an issue that blocks all, or a portion, of its normal operation. See the `description` for more details.", + "AppDevExperienceFeature's specified subcomponent has a pending or unknown state." + ], + "type": "string" + }, + "description": { + "description": "Description is populated if Code is Failed, explaining why it has failed.", + "type": "string" + } + }, + "type": "object" + }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", "properties": {}, "type": "object" }, - "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", - "id": "Empty", - "properties": {}, + "CloudBuildSpec": { + "description": "**Cloud Build**: Configurations for each Cloud Build enabled cluster.", + "id": "CloudBuildSpec", + "properties": { + "securityPolicy": { + "description": "Whether it is allowed to run the privileged builds on the cluster or not.", + "enum": [ + "SECURITY_POLICY_UNSPECIFIED", + "NON_PRIVILEGED", + "PRIVILEGED" + ], + "enumDescriptions": [ + "Unspecified policy", + "Privileged build pods are disallowed", + "Privileged build pods are allowed" + ], + "type": "string" + }, + "version": { + "description": "Version of the cloud build software on the cluster.", + "type": "string" + } + }, "type": "object" }, - "GoogleRpcStatus": { - "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", - "id": "GoogleRpcStatus", + "ClusterUpgradeGKEUpgrade": { + "description": "GKEUpgrade represents a GKE provided upgrade, e.g., control plane upgrade.", + "id": "ClusterUpgradeGKEUpgrade", "properties": { - "code": { - "description": "The status code, which should be an enum value of google.rpc.Code.", - "format": "int32", - "type": "integer" + "name": { + "description": "Name of the upgrade, e.g., \"k8s_control_plane\".", + "type": "string" }, - "details": { - "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", - "items": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "type": "object" - }, - "type": "array" + "version": { + "description": "Version of the upgrade, e.g., \"1.22.1-gke.100\".", + "type": "string" + } + }, + "type": "object" + }, + "ClusterUpgradeIgnoredMembership": { + "description": "IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default.", + "id": "ClusterUpgradeIgnoredMembership", + "properties": { + "ignoredTime": { + "description": "Time when the membership was first set to ignored.", + "format": "google-datetime", + "type": "string" }, - "message": { - "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "reason": { + "description": "Reason why the membership is ignored.", "type": "string" } }, "type": "object" }, - "ListLocationsResponse": { - "description": "The response message for Locations.ListLocations.", - "id": "ListLocationsResponse", + "ClusterUpgradeMembershipGKEUpgradeState": { + "description": "MembershipGKEUpgradeState is a GKEUpgrade and its state per-membership.", + "id": "ClusterUpgradeMembershipGKEUpgradeState", "properties": { - "locations": { - "description": "A list of locations that matches the specified filter in the request.", + "status": { + "$ref": "ClusterUpgradeUpgradeStatus", + "description": "Status of the upgrade." + }, + "upgrade": { + "$ref": "ClusterUpgradeGKEUpgrade", + "description": "Which upgrade to track the state." + } + }, + "type": "object" + }, + "ClusterUpgradeState": { + "description": "Per-membership state for this feature.", + "id": "ClusterUpgradeState", + "properties": { + "ignored": { + "$ref": "ClusterUpgradeIgnoredMembership", + "description": "Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel." + }, + "upgrades": { + "description": "Actual upgrade state against desired.", "items": { - "$ref": "Location" + "$ref": "ClusterUpgradeMembershipGKEUpgradeState" }, "type": "array" + } + }, + "type": "object" + }, + "ClusterUpgradeUpgradeStatus": { + "description": "UpgradeStatus provides status information for each upgrade.", + "id": "ClusterUpgradeUpgradeStatus", + "properties": { + "code": { + "description": "Status code of the upgrade.", + "enum": [ + "CODE_UNSPECIFIED", + "INELIGIBLE", + "PENDING", + "IN_PROGRESS", + "SOAKING", + "FORCED_SOAKING", + "COMPLETE" + ], + "enumDescriptions": [ + "Required by https://linter.aip.dev/126/unspecified.", + "The upgrade is ineligible. At the scope level, this means the upgrade is ineligible for all the clusters in the scope.", + "The upgrade is pending. At the scope level, this means the upgrade is pending for all the clusters in the scope.", + "The upgrade is in progress. At the scope level, this means the upgrade is in progress for at least one cluster in the scope.", + "The upgrade has finished and is soaking until the soaking time is up. At the scope level, this means at least one cluster is in soaking while the rest are either soaking or complete.", + "A cluster will be forced to enter soaking if an upgrade doesn't finish within a certain limit, despite it's actual status.", + "The upgrade has passed all post conditions (soaking). At the scope level, this means all eligible clusters are in COMPLETE status." + ], + "type": "string" }, - "nextPageToken": { - "description": "The standard List next-page token.", + "reason": { + "description": "Reason for this status.", + "type": "string" + }, + "updateTime": { + "description": "Last timestamp the status was updated.", + "format": "google-datetime", "type": "string" } }, "type": "object" }, - "ListOperationsResponse": { - "description": "The response message for Operations.ListOperations.", - "id": "ListOperationsResponse", + "ConfigManagementBinauthzConfig": { + "description": "Configuration for Binauthz.", + "id": "ConfigManagementBinauthzConfig", "properties": { - "nextPageToken": { - "description": "The standard List next-page token.", + "enabled": { + "description": "Whether binauthz is enabled in this cluster.", + "type": "boolean" + } + }, + "type": "object" + }, + "ConfigManagementBinauthzState": { + "description": "State for Binauthz.", + "id": "ConfigManagementBinauthzState", + "properties": { + "version": { + "$ref": "ConfigManagementBinauthzVersion", + "description": "The version of binauthz that is installed." + }, + "webhook": { + "description": "The state of the binauthz webhook.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementBinauthzVersion": { + "description": "The version of binauthz.", + "id": "ConfigManagementBinauthzVersion", + "properties": { + "webhookVersion": { + "description": "The version of the binauthz webhook.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementConfigSync": { + "description": "Configuration for Config Sync", + "id": "ConfigManagementConfigSync", + "properties": { + "allowVerticalScale": { + "deprecated": true, + "description": "Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated.", + "type": "boolean" }, - "operations": { - "description": "A list of operations that matches the specified filter in the request.", + "enabled": { + "description": "Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field.", + "type": "boolean" + }, + "git": { + "$ref": "ConfigManagementGitConfig", + "description": "Git repo configuration for the cluster." + }, + "metricsGcpServiceAccountEmail": { + "deprecated": true, + "description": "The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA. Deprecated: If Workload Identity Federation for GKE is enabled, Google Cloud Service Account is no longer needed for exporting Config Sync metrics: https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/monitor-config-sync-cloud-monitoring#custom-monitoring.", + "type": "string" + }, + "oci": { + "$ref": "ConfigManagementOciConfig", + "description": "OCI repo configuration for the cluster." + }, + "preventDrift": { + "description": "Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts.", + "type": "boolean" + }, + "sourceFormat": { + "description": "Specifies whether the Config Sync Repo is in \"hierarchical\" or \"unstructured\" mode.", + "type": "string" + }, + "stopSyncing": { + "description": "Set to true to stop syncing configs for a single cluster. Default to false.", + "type": "boolean" + } + }, + "type": "object" + }, + "ConfigManagementConfigSyncDeploymentState": { + "description": "The state of ConfigSync's deployment on a cluster.", + "id": "ConfigManagementConfigSyncDeploymentState", + "properties": { + "admissionWebhook": { + "description": "Deployment state of admission-webhook.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "gitSync": { + "description": "Deployment state of the git-sync pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "importer": { + "description": "Deployment state of the importer pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "monitor": { + "description": "Deployment state of the monitor pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "otelCollector": { + "description": "Deployment state of otel-collector", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "reconcilerManager": { + "description": "Deployment state of reconciler-manager pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "resourceGroupControllerManager": { + "description": "Deployment state of resource-group-controller-manager", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "rootReconciler": { + "description": "Deployment state of root-reconciler.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "syncer": { + "description": "Deployment state of the syncer pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementConfigSyncError": { + "description": "Errors pertaining to the installation of Config Sync", + "id": "ConfigManagementConfigSyncError", + "properties": { + "errorMessage": { + "description": "A string representing the user facing error message", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementConfigSyncState": { + "description": "State information for ConfigSync.", + "id": "ConfigManagementConfigSyncState", + "properties": { + "clusterLevelStopSyncingState": { + "description": "Whether syncing resources to the cluster is stopped at the cluster level.", + "enum": [ + "STOP_SYNCING_STATE_UNSPECIFIED", + "NOT_STOPPED", + "PENDING", + "STOPPED" + ], + "enumDescriptions": [ + "State cannot be determined", + "Syncing resources to the cluster is not stopped at the cluster level.", + "Some reconcilers stop syncing resources to the cluster, while others are still syncing.", + "Syncing resources to the cluster is stopped at the cluster level." + ], + "type": "string" + }, + "crCount": { + "description": "Output only. The number of RootSync and RepoSync CRs in the cluster.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "deploymentState": { + "$ref": "ConfigManagementConfigSyncDeploymentState", + "description": "Information about the deployment of ConfigSync, including the version. of the various Pods deployed" + }, + "errors": { + "description": "Errors pertaining to the installation of Config Sync.", "items": { - "$ref": "Operation" + "$ref": "ConfigManagementConfigSyncError" }, "type": "array" + }, + "reposyncCrd": { + "description": "The state of the Reposync CRD", + "enum": [ + "CRD_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "TERMINATING", + "INSTALLING" + ], + "enumDescriptions": [ + "CRD's state cannot be determined", + "CRD is not installed", + "CRD is installed", + "CRD is terminating (i.e., it has been deleted and is cleaning up)", + "CRD is installing" + ], + "type": "string" + }, + "rootsyncCrd": { + "description": "The state of the RootSync CRD", + "enum": [ + "CRD_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "TERMINATING", + "INSTALLING" + ], + "enumDescriptions": [ + "CRD's state cannot be determined", + "CRD is not installed", + "CRD is installed", + "CRD is terminating (i.e., it has been deleted and is cleaning up)", + "CRD is installing" + ], + "type": "string" + }, + "state": { + "description": "The state of CS This field summarizes the other fields in this message.", + "enum": [ + "STATE_UNSPECIFIED", + "CONFIG_SYNC_NOT_INSTALLED", + "CONFIG_SYNC_INSTALLED", + "CONFIG_SYNC_ERROR", + "CONFIG_SYNC_PENDING" + ], + "enumDescriptions": [ + "CS's state cannot be determined.", + "CS is not installed.", + "The expected CS version is installed successfully.", + "CS encounters errors.", + "CS is installing or terminating." + ], + "type": "string" + }, + "syncState": { + "$ref": "ConfigManagementSyncState", + "description": "The state of ConfigSync's process to sync configs to a cluster." + }, + "version": { + "$ref": "ConfigManagementConfigSyncVersion", + "description": "The version of ConfigSync deployed." } }, "type": "object" }, - "Location": { - "description": "A resource that represents a Google Cloud location.", - "id": "Location", + "ConfigManagementConfigSyncVersion": { + "description": "Specific versioning information pertaining to ConfigSync's Pods.", + "id": "ConfigManagementConfigSyncVersion", "properties": { - "displayName": { - "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "admissionWebhook": { + "description": "Version of the deployed admission-webhook pod.", "type": "string" }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", - "type": "object" + "gitSync": { + "description": "Version of the deployed git-sync pod.", + "type": "string" }, - "locationId": { - "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "importer": { + "description": "Version of the deployed importer pod.", "type": "string" }, - "metadata": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "Service-specific metadata. For example the available capacity at the given location.", - "type": "object" + "monitor": { + "description": "Version of the deployed monitor pod.", + "type": "string" }, - "name": { - "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", + "otelCollector": { + "description": "Version of the deployed otel-collector pod", + "type": "string" + }, + "reconcilerManager": { + "description": "Version of the deployed reconciler-manager pod.", + "type": "string" + }, + "resourceGroupControllerManager": { + "description": "Version of the deployed resource-group-controller-manager pod", + "type": "string" + }, + "rootReconciler": { + "description": "Version of the deployed reconciler container in root-reconciler pod.", + "type": "string" + }, + "syncer": { + "description": "Version of the deployed syncer pod.", "type": "string" } }, "type": "object" }, - "Operation": { - "description": "This resource represents a long-running operation that is the result of a network API call.", - "id": "Operation", + "ConfigManagementErrorResource": { + "description": "Model for a config file in the git repo with an associated Sync error.", + "id": "ConfigManagementErrorResource", "properties": { - "done": { - "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", - "type": "boolean" + "resourceGvk": { + "$ref": "ConfigManagementGroupVersionKind", + "description": "Group/version/kind of the resource that is causing an error" }, - "error": { - "$ref": "GoogleRpcStatus", - "description": "The error result of the operation in case of failure or cancellation." + "resourceName": { + "description": "Metadata name of the resource that is causing an error", + "type": "string" }, - "metadata": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", - "type": "object" + "resourceNamespace": { + "description": "Namespace of the resource that is causing an error", + "type": "string" }, - "name": { - "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "sourcePath": { + "description": "Path in the git repo of the erroneous config", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementGatekeeperDeploymentState": { + "description": "State of Policy Controller installation.", + "id": "ConfigManagementGatekeeperDeploymentState", + "properties": { + "gatekeeperAudit": { + "description": "Status of gatekeeper-audit deployment.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], "type": "string" }, - "response": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", - "type": "object" + "gatekeeperControllerManagerState": { + "description": "Status of gatekeeper-controller-manager pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "gatekeeperMutation": { + "description": "Status of the pod serving the mutation webhook.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementGitConfig": { + "description": "Git repo configuration for a single cluster.", + "id": "ConfigManagementGitConfig", + "properties": { + "gcpServiceAccountEmail": { + "description": "The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", + "type": "string" + }, + "httpsProxy": { + "description": "URL for the HTTPS proxy to be used when communicating with the Git repo.", + "type": "string" + }, + "policyDir": { + "description": "The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.", + "type": "string" + }, + "secretType": { + "description": "Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required.", + "type": "string" + }, + "syncBranch": { + "description": "The branch of the repository to sync from. Default: master.", + "type": "string" + }, + "syncRepo": { + "description": "The URL of the Git repository to use as the source of truth.", + "type": "string" + }, + "syncRev": { + "description": "Git revision (tag or hash) to check out. Default HEAD.", + "type": "string" + }, + "syncWaitSecs": { + "description": "Period in seconds between consecutive syncs. Default: 15.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementGroupVersionKind": { + "description": "A Kubernetes object's GVK.", + "id": "ConfigManagementGroupVersionKind", + "properties": { + "group": { + "description": "Kubernetes Group", + "type": "string" + }, + "kind": { + "description": "Kubernetes Kind", + "type": "string" + }, + "version": { + "description": "Kubernetes Version", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementHierarchyControllerConfig": { + "description": "Configuration for Hierarchy Controller.", + "id": "ConfigManagementHierarchyControllerConfig", + "properties": { + "enableHierarchicalResourceQuota": { + "description": "Whether hierarchical resource quota is enabled in this cluster.", + "type": "boolean" + }, + "enablePodTreeLabels": { + "description": "Whether pod tree labels are enabled in this cluster.", + "type": "boolean" + }, + "enabled": { + "description": "Whether Hierarchy Controller is enabled in this cluster.", + "type": "boolean" + } + }, + "type": "object" + }, + "ConfigManagementHierarchyControllerDeploymentState": { + "description": "Deployment state for Hierarchy Controller", + "id": "ConfigManagementHierarchyControllerDeploymentState", + "properties": { + "extension": { + "description": "The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1).", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "hnc": { + "description": "The deployment state for open source HNC (e.g. v0.7.0-hc.0).", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementHierarchyControllerState": { + "description": "State for Hierarchy Controller.", + "id": "ConfigManagementHierarchyControllerState", + "properties": { + "state": { + "$ref": "ConfigManagementHierarchyControllerDeploymentState", + "description": "The deployment state for Hierarchy Controller." + }, + "version": { + "$ref": "ConfigManagementHierarchyControllerVersion", + "description": "The version for Hierarchy Controller." + } + }, + "type": "object" + }, + "ConfigManagementHierarchyControllerVersion": { + "description": "Version for Hierarchy Controller.", + "id": "ConfigManagementHierarchyControllerVersion", + "properties": { + "extension": { + "description": "Version for Hierarchy Controller extension.", + "type": "string" + }, + "hnc": { + "description": "Version for open source HNC.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementInstallError": { + "description": "Errors pertaining to the installation of ACM.", + "id": "ConfigManagementInstallError", + "properties": { + "errorMessage": { + "description": "A string representing the user facing error message.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementOciConfig": { + "description": "OCI repo configuration for a single cluster.", + "id": "ConfigManagementOciConfig", + "properties": { + "gcpServiceAccountEmail": { + "description": "The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", + "type": "string" + }, + "policyDir": { + "description": "The absolute path of the directory that contains the local resources. Default: the root directory of the image.", + "type": "string" + }, + "secretType": { + "description": "Type of secret configured for access to the Git repo.", + "type": "string" + }, + "syncRepo": { + "description": "The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`.", + "type": "string" + }, + "syncWaitSecs": { + "description": "Period in seconds between consecutive syncs. Default: 15.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementOperatorState": { + "description": "State information for an ACM's Operator.", + "id": "ConfigManagementOperatorState", + "properties": { + "deploymentState": { + "description": "The state of the Operator's deployment.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "errors": { + "description": "Install errors.", + "items": { + "$ref": "ConfigManagementInstallError" + }, + "type": "array" + }, + "version": { + "description": "The semenatic version number of the operator.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementPolicyController": { + "description": "Configuration for Policy Controller", + "id": "ConfigManagementPolicyController", + "properties": { + "auditIntervalSeconds": { + "description": "Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.", + "format": "int64", + "type": "string" + }, + "enabled": { + "description": "Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.", + "type": "boolean" + }, + "exemptableNamespaces": { + "description": "The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logDeniesEnabled": { + "description": "Logs all denies and dry run failures.", + "type": "boolean" + }, + "monitoring": { + "$ref": "ConfigManagementPolicyControllerMonitoring", + "description": "Monitoring specifies the configuration of monitoring." + }, + "mutationEnabled": { + "description": "Enable or disable mutation in policy controller. If true, mutation CRDs, webhook and controller deployment will be deployed to the cluster.", + "type": "boolean" + }, + "referentialRulesEnabled": { + "description": "Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.", + "type": "boolean" + }, + "templateLibraryInstalled": { + "description": "Installs the default template library along with Policy Controller.", + "type": "boolean" + }, + "updateTime": { + "description": "Output only. Last time this membership spec was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementPolicyControllerMigration": { + "description": "State for the migration of PolicyController from ACM -> PoCo Hub.", + "id": "ConfigManagementPolicyControllerMigration", + "properties": { + "copyTime": { + "description": "Last time this membership spec was copied to PoCo feature.", + "format": "google-datetime", + "type": "string" + }, + "stage": { + "description": "Stage of the migration.", + "enum": [ + "STAGE_UNSPECIFIED", + "ACM_MANAGED", + "POCO_MANAGED" + ], + "enumDescriptions": [ + "Unknown state of migration.", + "ACM Hub/Operator manages policycontroller. No migration yet completed.", + "All migrations steps complete; Poco Hub now manages policycontroller." + ], + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementPolicyControllerMonitoring": { + "description": "PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: [\"cloudmonitoring\", \"prometheus\"]", + "id": "ConfigManagementPolicyControllerMonitoring", + "properties": { + "backends": { + "description": "Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export.", + "items": { + "enum": [ + "MONITORING_BACKEND_UNSPECIFIED", + "PROMETHEUS", + "CLOUD_MONITORING" + ], + "enumDescriptions": [ + "Backend cannot be determined", + "Prometheus backend for monitoring", + "Stackdriver/Cloud Monitoring backend for monitoring" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ConfigManagementPolicyControllerState": { + "description": "State for PolicyControllerState.", + "id": "ConfigManagementPolicyControllerState", + "properties": { + "deploymentState": { + "$ref": "ConfigManagementGatekeeperDeploymentState", + "description": "The state about the policy controller installation." + }, + "migration": { + "$ref": "ConfigManagementPolicyControllerMigration", + "description": "Record state of ACM -> PoCo Hub migration for this feature." + }, + "version": { + "$ref": "ConfigManagementPolicyControllerVersion", + "description": "The version of Gatekeeper Policy Controller deployed." + } + }, + "type": "object" + }, + "ConfigManagementPolicyControllerVersion": { + "description": "The build version of Gatekeeper Policy Controller is using.", + "id": "ConfigManagementPolicyControllerVersion", + "properties": { + "version": { + "description": "The gatekeeper image tag that is composed of ACM version, git tag, build number.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementSpec": { + "description": "**Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR.", + "id": "ConfigManagementSpec", + "properties": { + "binauthz": { + "$ref": "ConfigManagementBinauthzConfig", + "deprecated": true, + "description": "Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set." + }, + "cluster": { + "description": "The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector.", + "type": "string" + }, + "configSync": { + "$ref": "ConfigManagementConfigSync", + "description": "Config Sync configuration for the cluster." + }, + "hierarchyController": { + "$ref": "ConfigManagementHierarchyControllerConfig", + "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.", + "enum": [ + "MANAGEMENT_UNSPECIFIED", + "MANAGEMENT_AUTOMATIC", + "MANAGEMENT_MANUAL" + ], + "enumDescriptions": [ + "Unspecified", + "Google will manage the Feature for the cluster.", + "User will manually manage the Feature for the cluster." + ], + "type": "string" + }, + "policyController": { + "$ref": "ConfigManagementPolicyController", + "description": "Policy Controller configuration for the cluster. Deprecated: Configuring Policy Controller through the configmanagement feature is no longer recommended. Use the policycontroller feature instead." + }, + "version": { + "description": "Version of ACM installed.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementState": { + "description": "**Anthos Config Management**: State for a single cluster.", + "id": "ConfigManagementState", + "properties": { + "binauthzState": { + "$ref": "ConfigManagementBinauthzState", + "description": "Binauthz status." + }, + "clusterName": { + "description": "This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name.", + "type": "string" + }, + "configSyncState": { + "$ref": "ConfigManagementConfigSyncState", + "description": "Current sync status." + }, + "hierarchyControllerState": { + "$ref": "ConfigManagementHierarchyControllerState", + "description": "Hierarchy Controller status." + }, + "membershipSpec": { + "$ref": "ConfigManagementSpec", + "description": "Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state." + }, + "operatorState": { + "$ref": "ConfigManagementOperatorState", + "description": "Current install status of ACM's Operator." + }, + "policyControllerState": { + "$ref": "ConfigManagementPolicyControllerState", + "description": "PolicyController status." + } + }, + "type": "object" + }, + "ConfigManagementSyncError": { + "description": "An ACM created error representing a problem syncing configurations.", + "id": "ConfigManagementSyncError", + "properties": { + "code": { + "description": "An ACM defined error code", + "type": "string" + }, + "errorMessage": { + "description": "A description of the error", + "type": "string" + }, + "errorResources": { + "description": "A list of config(s) associated with the error, if any", + "items": { + "$ref": "ConfigManagementErrorResource" + }, + "type": "array" + } + }, + "type": "object" + }, + "ConfigManagementSyncState": { + "description": "State indicating an ACM's progress syncing configurations to a cluster.", + "id": "ConfigManagementSyncState", + "properties": { + "code": { + "description": "Sync status code.", + "enum": [ + "SYNC_CODE_UNSPECIFIED", + "SYNCED", + "PENDING", + "ERROR", + "NOT_CONFIGURED", + "NOT_INSTALLED", + "UNAUTHORIZED", + "UNREACHABLE" + ], + "enumDescriptions": [ + "Config Sync cannot determine a sync code", + "Config Sync successfully synced the git Repo with the cluster", + "Config Sync is in the progress of syncing a new change", + "Indicates an error configuring Config Sync, and user action is required", + "Config Sync has been installed but not configured", + "Config Sync has not been installed", + "Error authorizing with the cluster", + "Cluster could not be reached" + ], + "type": "string" + }, + "errors": { + "description": "A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist.", + "items": { + "$ref": "ConfigManagementSyncError" + }, + "type": "array" + }, + "importToken": { + "description": "Token indicating the state of the importer.", + "type": "string" + }, + "lastSync": { + "deprecated": true, + "description": "Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo. The time format is specified in https://golang.org/pkg/time/#Time.String", + "type": "string" + }, + "lastSyncTime": { + "description": "Timestamp type of when ACM last successfully synced the repo.", + "format": "google-datetime", + "type": "string" + }, + "sourceToken": { + "description": "Token indicating the state of the repo.", + "type": "string" + }, + "syncToken": { + "description": "Token indicating the state of the syncer.", + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "FeatureSpec": { + "description": "FeatureSpec contains user input per-feature spec information.", + "id": "FeatureSpec", + "properties": { + "cloudbuild": { + "$ref": "CloudBuildSpec", + "description": "Cloudbuild-specific FeatureSpec." + }, + "configmanagement": { + "$ref": "ConfigManagementSpec", + "description": "Config Management FeatureSpec." + }, + "identityservice": { + "$ref": "IdentityServiceSpec", + "description": "IdentityService FeatureSpec." + }, + "origin": { + "$ref": "Origin", + "description": "Whether this per-Feature spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Feature config (updated to USER implicitly) or setting to FLEET explicitly." + }, + "policycontroller": { + "$ref": "PolicyControllerSpec", + "description": "Policycontroller-specific FeatureSpec." + }, + "servicemesh": { + "$ref": "ServiceMeshSpec", + "description": "ServiceMesh Feature Spec." + }, + "workloadcertificate": { + "$ref": "WorkloadCertificateSpec", + "description": "Workloadcertificate-specific FeatureSpec." + } + }, + "type": "object" + }, + "FeatureState": { + "description": "FeatureState contains high-level state information and per-feature state information for this MembershipFeature.", + "id": "FeatureState", + "properties": { + "appdevexperience": { + "$ref": "AppDevExperienceState", + "description": "Appdevexperience specific state." + }, + "clusterupgrade": { + "$ref": "ClusterUpgradeState", + "description": "Cluster upgrade state." + }, + "configmanagement": { + "$ref": "ConfigManagementState", + "description": "Config Management state" + }, + "identityservice": { + "$ref": "IdentityServiceState", + "description": "Identity service state" + }, + "metering": { + "$ref": "MeteringState", + "description": "Metering state" + }, + "policycontroller": { + "$ref": "PolicyControllerState", + "description": "Policy Controller state" + }, + "servicemesh": { + "$ref": "ServiceMeshState", + "description": "Service mesh state" + }, + "state": { + "$ref": "State", + "description": "The high-level state of this MembershipFeature." + } + }, + "type": "object" + }, + "GoogleRpcStatus": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "GoogleRpcStatus", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceAuthMethod": { + "description": "Configuration of an auth method for a member/cluster. Only one authentication method (e.g., OIDC and LDAP) can be set per AuthMethod.", + "id": "IdentityServiceAuthMethod", + "properties": { + "azureadConfig": { + "$ref": "IdentityServiceAzureADConfig", + "description": "AzureAD specific Configuration." + }, + "googleConfig": { + "$ref": "IdentityServiceGoogleConfig", + "description": "GoogleConfig specific configuration" + }, + "ldapConfig": { + "$ref": "IdentityServiceLdapConfig", + "description": "LDAP specific configuration." + }, + "name": { + "description": "Identifier for auth config.", + "type": "string" + }, + "oidcConfig": { + "$ref": "IdentityServiceOidcConfig", + "description": "OIDC specific configuration." + }, + "proxy": { + "description": "Proxy server address to use for auth method.", + "type": "string" + }, + "samlConfig": { + "$ref": "IdentityServiceSamlConfig", + "description": "SAML specific configuration." + } + }, + "type": "object" + }, + "IdentityServiceAzureADConfig": { + "description": "Configuration for the AzureAD Auth flow.", + "id": "IdentityServiceAzureADConfig", + "properties": { + "clientId": { + "description": "ID for the registered client application that makes authentication requests to the Azure AD identity provider.", + "type": "string" + }, + "clientSecret": { + "description": "Input only. Unencrypted AzureAD client secret will be passed to the GKE Hub CLH.", + "type": "string" + }, + "encryptedClientSecret": { + "description": "Output only. Encrypted AzureAD client secret.", + "format": "byte", + "readOnly": true, + "type": "string" + }, + "groupFormat": { + "description": "Optional. Format of the AzureAD groups that the client wants for auth.", + "type": "string" + }, + "kubectlRedirectUri": { + "description": "The redirect URL that kubectl uses for authorization.", + "type": "string" + }, + "tenant": { + "description": "Kind of Azure AD account to be authenticated. Supported values are or for accounts belonging to a specific tenant.", + "type": "string" + }, + "userClaim": { + "description": "Optional. Claim in the AzureAD ID Token that holds the user details.", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceDiagnosticInterface": { + "description": "Configuration options for the AIS diagnostic interface.", + "id": "IdentityServiceDiagnosticInterface", + "properties": { + "enabled": { + "description": "Determines whether to enable the diagnostic interface.", + "type": "boolean" + }, + "expirationTime": { + "description": "Determines the expiration time of the diagnostic interface enablement. When reached, requests to the interface would be automatically rejected.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceGoogleConfig": { + "description": "Configuration for the Google Plugin Auth flow.", + "id": "IdentityServiceGoogleConfig", + "properties": { + "disable": { + "description": "Disable automatic configuration of Google Plugin on supported platforms.", + "type": "boolean" + } + }, + "type": "object" + }, + "IdentityServiceGroupConfig": { + "description": "Contains the properties for locating and authenticating groups in the directory.", + "id": "IdentityServiceGroupConfig", + "properties": { + "baseDn": { + "description": "Required. The location of the subtree in the LDAP directory to search for group entries.", + "type": "string" + }, + "filter": { + "description": "Optional. Optional filter to be used when searching for groups a user belongs to. This can be used to explicitly match only certain groups in order to reduce the amount of groups returned for each user. This defaults to \"(objectClass=Group)\".", + "type": "string" + }, + "idAttribute": { + "description": "Optional. The identifying name of each group a user belongs to. For example, if this is set to \"distinguishedName\" then RBACs and other group expectations should be written as full DNs. This defaults to \"distinguishedName\".", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceIdentityServiceOptions": { + "description": "Holds non-protocol-related configuration options.", + "id": "IdentityServiceIdentityServiceOptions", + "properties": { + "diagnosticInterface": { + "$ref": "IdentityServiceDiagnosticInterface", + "description": "Configuration options for the AIS diagnostic interface." + }, + "sessionDuration": { + "description": "Determines the lifespan of STS tokens issued by Anthos Identity Service.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceLdapConfig": { + "description": "Configuration for the LDAP Auth flow.", + "id": "IdentityServiceLdapConfig", + "properties": { + "group": { + "$ref": "IdentityServiceGroupConfig", + "description": "Optional. Contains the properties for locating and authenticating groups in the directory." + }, + "server": { + "$ref": "IdentityServiceServerConfig", + "description": "Required. Server settings for the external LDAP server." + }, + "serviceAccount": { + "$ref": "IdentityServiceServiceAccountConfig", + "description": "Required. Contains the credentials of the service account which is authorized to perform the LDAP search in the directory. The credentials can be supplied by the combination of the DN and password or the client certificate." + }, + "user": { + "$ref": "IdentityServiceUserConfig", + "description": "Required. Defines where users exist in the LDAP directory." + } + }, + "type": "object" + }, + "IdentityServiceOidcConfig": { + "description": "Configuration for OIDC Auth flow.", + "id": "IdentityServiceOidcConfig", + "properties": { + "certificateAuthorityData": { + "description": "PEM-encoded CA for OIDC provider.", + "type": "string" + }, + "clientId": { + "description": "ID for OIDC client application.", + "type": "string" + }, + "clientSecret": { + "description": "Input only. Unencrypted OIDC client secret will be passed to the GKE Hub CLH.", + "type": "string" + }, + "deployCloudConsoleProxy": { + "description": "Flag to denote if reverse proxy is used to connect to auth provider. This flag should be set to true when provider is not reachable by Google Cloud Console.", + "type": "boolean" + }, + "enableAccessToken": { + "description": "Enable access token.", + "type": "boolean" + }, + "encryptedClientSecret": { + "description": "Output only. Encrypted OIDC Client secret", + "format": "byte", + "readOnly": true, + "type": "string" + }, + "extraParams": { + "description": "Comma-separated list of key-value pairs.", + "type": "string" + }, + "groupPrefix": { + "description": "Prefix to prepend to group name.", + "type": "string" + }, + "groupsClaim": { + "description": "Claim in OIDC ID token that holds group information.", + "type": "string" + }, + "issuerUri": { + "description": "URI for the OIDC provider. This should point to the level below .well-known/openid-configuration.", + "type": "string" + }, + "kubectlRedirectUri": { + "description": "Registered redirect uri to redirect users going through OAuth flow using kubectl plugin.", + "type": "string" + }, + "scopes": { + "description": "Comma-separated list of identifiers.", + "type": "string" + }, + "userClaim": { + "description": "Claim in OIDC ID token that holds username.", + "type": "string" + }, + "userPrefix": { + "description": "Prefix to prepend to user name.", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceSamlConfig": { + "description": "Configuration for the SAML Auth flow.", + "id": "IdentityServiceSamlConfig", + "properties": { + "attributeMapping": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The mapping of additional user attributes like nickname, birthday and address etc.. `key` is the name of this additional attribute. `value` is a string presenting as CEL(common expression language, go/cel) used for getting the value from the resources. Take nickname as an example, in this case, `key` is \"attribute.nickname\" and `value` is \"assertion.nickname\".", + "type": "object" + }, + "groupPrefix": { + "description": "Optional. Prefix to prepend to group name.", + "type": "string" + }, + "groupsAttribute": { + "description": "Optional. The SAML attribute to read groups from. This value is expected to be a string and will be passed along as-is (with the option of being prefixed by the `group_prefix`).", + "type": "string" + }, + "identityProviderCertificates": { + "description": "Required. The list of IdP certificates to validate the SAML response against.", + "items": { + "type": "string" + }, + "type": "array" + }, + "identityProviderId": { + "description": "Required. The entity ID of the SAML IdP.", + "type": "string" + }, + "identityProviderSsoUri": { + "description": "Required. The URI where the SAML IdP exposes the SSO service.", + "type": "string" + }, + "userAttribute": { + "description": "Optional. The SAML attribute to read username from. If unspecified, the username will be read from the NameID element of the assertion in SAML response. This value is expected to be a string and will be passed along as-is (with the option of being prefixed by the `user_prefix`).", + "type": "string" + }, + "userPrefix": { + "description": "Optional. Prefix to prepend to user name.", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceServerConfig": { + "description": "Server settings for the external LDAP server.", + "id": "IdentityServiceServerConfig", + "properties": { + "certificateAuthorityData": { + "description": "Optional. Contains a Base64 encoded, PEM formatted certificate authority certificate for the LDAP server. This must be provided for the \"ldaps\" and \"startTLS\" connections.", + "format": "byte", + "type": "string" + }, + "connectionType": { + "description": "Optional. Defines the connection type to communicate with the LDAP server. If `starttls` or `ldaps` is specified, the certificate_authority_data should not be empty.", + "type": "string" + }, + "host": { + "description": "Required. Defines the hostname or IP of the LDAP server. Port is optional and will default to 389, if unspecified. For example, \"ldap.server.example\" or \"10.10.10.10:389\".", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceServiceAccountConfig": { + "description": "Contains the credentials of the service account which is authorized to perform the LDAP search in the directory. The credentials can be supplied by the combination of the DN and password or the client certificate.", + "id": "IdentityServiceServiceAccountConfig", + "properties": { + "simpleBindCredentials": { + "$ref": "IdentityServiceSimpleBindCredentials", + "description": "Credentials for basic auth." + } + }, + "type": "object" + }, + "IdentityServiceSimpleBindCredentials": { + "description": "The structure holds the LDAP simple binding credential.", + "id": "IdentityServiceSimpleBindCredentials", + "properties": { + "dn": { + "description": "Required. The distinguished name(DN) of the service account object/user.", + "type": "string" + }, + "encryptedPassword": { + "description": "Output only. The encrypted password of the service account object/user.", + "format": "byte", + "readOnly": true, + "type": "string" + }, + "password": { + "description": "Required. Input only. The password of the service account object/user.", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceSpec": { + "description": "**IdentityService**: Configuration for a single membership.", + "id": "IdentityServiceSpec", + "properties": { + "authMethods": { + "description": "A member may support multiple auth methods.", + "items": { + "$ref": "IdentityServiceAuthMethod" + }, + "type": "array" + }, + "identityServiceOptions": { + "$ref": "IdentityServiceIdentityServiceOptions", + "description": "Optional. non-protocol-related configuration options." + } + }, + "type": "object" + }, + "IdentityServiceState": { + "description": "**IdentityService**: State for a single membership, analyzed and reported by feature controller.", + "id": "IdentityServiceState", + "properties": { + "failureReason": { + "description": "The reason of the failure.", + "type": "string" + }, + "installedVersion": { + "description": "Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK.", + "type": "string" + }, + "memberConfig": { + "$ref": "IdentityServiceSpec", + "description": "Last reconciled membership configuration" + }, + "state": { + "description": "Deployment state on this member", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "OK", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified state", + "deployment succeeds", + "Failure with error." + ], + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceUserConfig": { + "description": "Defines where users exist in the LDAP directory.", + "id": "IdentityServiceUserConfig", + "properties": { + "baseDn": { + "description": "Required. The location of the subtree in the LDAP directory to search for user entries.", + "type": "string" + }, + "filter": { + "description": "Optional. Filter to apply when searching for the user. This can be used to further restrict the user accounts which are allowed to login. This defaults to \"(objectClass=User)\".", + "type": "string" + }, + "idAttribute": { + "description": "Optional. Determines which attribute to use as the user's identity after they are authenticated. This is distinct from the loginAttribute field to allow users to login with a username, but then have their actual identifier be an email address or full Distinguished Name (DN). For example, setting loginAttribute to \"sAMAccountName\" and identifierAttribute to \"userPrincipalName\" would allow a user to login as \"bsmith\", but actual RBAC policies for the user would be written as \"bsmith@example.com\". Using \"userPrincipalName\" is recommended since this will be unique for each user. This defaults to \"userPrincipalName\".", + "type": "string" + }, + "loginAttribute": { + "description": "Optional. The name of the attribute which matches against the input username. This is used to find the user in the LDAP database e.g. \"(=)\" and is combined with the optional filter field. This defaults to \"userPrincipalName\".", + "type": "string" + } + }, + "type": "object" + }, + "LifecycleState": { + "description": "LifecycleState describes the state of a MembershipFeature *resource* in the GkeHub API. See `FeatureState` for the \"running state\" of the MembershipFeature.", + "id": "LifecycleState", + "properties": { + "state": { + "description": "Output only. The current state of the Feature resource in the Hub API.", + "enum": [ + "STATE_UNSPECIFIED", + "ENABLING", + "ACTIVE", + "DISABLING", + "UPDATING", + "SERVICE_UPDATING" + ], + "enumDescriptions": [ + "State is unknown or not set.", + "The MembershipFeature is being enabled, and the MembershipFeature resource is being created. Once complete, the corresponding MembershipFeature will be enabled in this Hub.", + "The MembershipFeature is enabled in this Hub, and the MembershipFeature resource is fully available.", + "The MembershipFeature is being disabled in this Hub, and the MembershipFeature resource is being deleted.", + "The MembershipFeature resource is being updated.", + "The MembershipFeature resource is being updated by the Hub Service." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListMembershipFeaturesResponse": { + "description": "Response message for the `GkeHubFeature.ListMembershipFeatures` method.", + "id": "ListMembershipFeaturesResponse", + "properties": { + "membershipFeatures": { + "description": "The list of matching MembershipFeatures.", + "items": { + "$ref": "MembershipFeature" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to request the next page of resources from the `ListMembershipFeatures` method. The value of an empty string means that there are no more resources to return.", + "type": "string" + }, + "unreachable": { + "description": "List of locations that could not be reached while fetching this list.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents a Google Cloud location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given location.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "MembershipFeature": { + "description": "MembershipFeature represents the settings and status of a Fleet Feature enabled on a single Fleet Membership.", + "id": "MembershipFeature", + "properties": { + "createTime": { + "description": "Output only. When the MembershipFeature resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deleteTime": { + "description": "Output only. When the MembershipFeature resource was deleted.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "GCP labels for this MembershipFeature.", + "type": "object" + }, + "lifecycleState": { + "$ref": "LifecycleState", + "description": "Output only. Lifecycle information of the resource itself.", + "readOnly": true + }, + "name": { + "description": "Output only. The resource name of the membershipFeature, in the format: `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note that `membershipFeatures` is shortened to `features` in the resource name. (see http://go/aip/122#collection-identifiers)", + "readOnly": true, + "type": "string" + }, + "spec": { + "$ref": "FeatureSpec", + "description": "Optional. Spec of this membershipFeature." + }, + "state": { + "$ref": "FeatureState", + "description": "Output only. State of the this membershipFeature.", + "readOnly": true + }, + "updateTime": { + "description": "Output only. When the MembershipFeature resource was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "MeteringState": { + "description": "**Metering**: State for a single membership, analyzed and reported by feature controller.", + "id": "MeteringState", + "properties": { + "lastMeasurementTime": { + "description": "The time stamp of the most recent measurement of the number of vCPUs in the cluster.", + "format": "google-datetime", + "type": "string" + }, + "preciseLastMeasuredClusterVcpuCapacity": { + "description": "The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision).", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "GoogleRpcStatus", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Metadata of the long-running operation.", + "id": "OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "cancelRequested": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "readOnly": true, + "type": "boolean" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "statusDetail": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Origin": { + "description": "Origin defines where this FeatureSpec originated from.", + "id": "Origin", + "properties": { + "type": { + "description": "Type specifies which type of origin is set.", + "enum": [ + "TYPE_UNSPECIFIED", + "FLEET", + "FLEET_OUT_OF_SYNC", + "USER" + ], + "enumDescriptions": [ + "Type is unknown or not set.", + "Per-Feature spec was inherited from the fleet-level default.", + "Per-Feature spec was inherited from the fleet-level default but is now out of sync with the current default.", + "Per-Feature spec was inherited from a user specification." + ], + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerBundleInstallSpec": { + "description": "BundleInstallSpec is the specification configuration for a single managed bundle.", + "id": "PolicyControllerBundleInstallSpec", + "properties": { + "exemptedNamespaces": { + "description": "the set of namespaces to be exempted from the bundle", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "PolicyControllerHubConfig": { + "description": "Configuration for Policy Controller", + "id": "PolicyControllerHubConfig", + "properties": { + "auditIntervalSeconds": { + "description": "Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.", + "format": "int64", + "type": "string" + }, + "constraintViolationLimit": { + "description": "The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used.", + "format": "int64", + "type": "string" + }, + "deploymentConfigs": { + "additionalProperties": { + "$ref": "PolicyControllerPolicyControllerDeploymentConfig" + }, + "description": "Map of deployment configs to deployments (“admission”, “audit”, “mutation”).", + "type": "object" + }, + "exemptableNamespaces": { + "description": "The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.", + "items": { + "type": "string" + }, + "type": "array" + }, + "installSpec": { + "description": "The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state.", + "enum": [ + "INSTALL_SPEC_UNSPECIFIED", + "INSTALL_SPEC_NOT_INSTALLED", + "INSTALL_SPEC_ENABLED", + "INSTALL_SPEC_SUSPENDED", + "INSTALL_SPEC_DETACHED" + ], + "enumDescriptions": [ + "Spec is unknown.", + "Request to uninstall Policy Controller.", + "Request to install and enable Policy Controller.", + "Request to suspend Policy Controller i.e. its webhooks. If Policy Controller is not installed, it will be installed but suspended.", + "Request to stop all reconciliation actions by PoCo Hub controller. This is a breakglass mechanism to stop PoCo Hub from affecting cluster resources." + ], + "type": "string" + }, + "logDeniesEnabled": { + "description": "Logs all denies and dry run failures.", + "type": "boolean" + }, + "monitoring": { + "$ref": "PolicyControllerMonitoringConfig", + "description": "Monitoring specifies the configuration of monitoring." + }, + "mutationEnabled": { + "description": "Enables the ability to mutate resources using Policy Controller.", + "type": "boolean" + }, + "policyContent": { + "$ref": "PolicyControllerPolicyContentSpec", + "description": "Specifies the desired policy content on the cluster" + }, + "referentialRulesEnabled": { + "description": "Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.", + "type": "boolean" + } + }, + "type": "object" + }, + "PolicyControllerMonitoringConfig": { + "description": "MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: [\"cloudmonitoring\", \"prometheus\"]", + "id": "PolicyControllerMonitoringConfig", + "properties": { + "backends": { + "description": "Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export.", + "items": { + "enum": [ + "MONITORING_BACKEND_UNSPECIFIED", + "PROMETHEUS", + "CLOUD_MONITORING" + ], + "enumDescriptions": [ + "Backend cannot be determined", + "Prometheus backend for monitoring", + "Stackdriver/Cloud Monitoring backend for monitoring" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "PolicyControllerOnClusterState": { + "description": "OnClusterState represents the state of a sub-component of Policy Controller.", + "id": "PolicyControllerOnClusterState", + "properties": { + "details": { + "description": "Surface potential errors or information logs.", + "type": "string" + }, + "state": { + "description": "The lifecycle state of this component.", + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLING", + "ACTIVE", + "UPDATING", + "DECOMMISSIONING", + "CLUSTER_ERROR", + "HUB_ERROR", + "SUSPENDED", + "DETACHED" + ], + "enumDescriptions": [ + "The lifecycle state is unspecified.", + "The PC does not exist on the given cluster, and no k8s resources of any type that are associated with the PC should exist there. The cluster does not possess a membership with the PCH.", + "The PCH possesses a Membership, however the PC is not fully installed on the cluster. In this state the hub can be expected to be taking actions to install the PC on the cluster.", + "The PC is fully installed on the cluster and in an operational mode. In this state PCH will be reconciling state with the PC, and the PC will be performing it's operational tasks per that software. Entering a READY state requires that the hub has confirmed the PC is installed and its pods are operational with the version of the PC the PCH expects.", + "The PC is fully installed, but in the process of changing the configuration (including changing the version of PC either up and down, or modifying the manifests of PC) of the resources running on the cluster. The PCH has a Membership, is aware of the version the cluster should be running in, but has not confirmed for itself that the PC is running with that version.", + "The PC may have resources on the cluster, but the PCH wishes to remove the Membership. The Membership still exists.", + "The PC is not operational, and the PCH is unable to act to make it operational. Entering a CLUSTER_ERROR state happens automatically when the PCH determines that a PC installed on the cluster is non-operative or that the cluster does not meet requirements set for the PCH to administer the cluster but has nevertheless been given an instruction to do so (such as ‘install').", + "In this state, the PC may still be operational, and only the PCH is unable to act. The hub should not issue instructions to change the PC state, or otherwise interfere with the on-cluster resources. Entering a HUB_ERROR state happens automatically when the PCH determines the hub is in an unhealthy state and it wishes to ‘take hands off' to avoid corrupting the PC or other data.", + "Policy Controller (PC) is installed but suspended. This means that the policies are not enforced, but violations are still recorded (through audit).", + "PoCo Hub is not taking any action to reconcile cluster objects. Changes to those objects will not be overwritten by PoCo Hub." + ], + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerPolicyContentSpec": { + "description": "PolicyContentSpec defines the user's desired content configuration on the cluster.", + "id": "PolicyControllerPolicyContentSpec", + "properties": { + "bundles": { + "additionalProperties": { + "$ref": "PolicyControllerBundleInstallSpec" + }, + "description": "map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint.", + "type": "object" + }, + "templateLibrary": { + "$ref": "PolicyControllerTemplateLibraryConfig", + "description": "Configures the installation of the Template Library." + } + }, + "type": "object" + }, + "PolicyControllerPolicyContentState": { + "description": "The state of the policy controller policy content", + "id": "PolicyControllerPolicyContentState", + "properties": { + "bundleStates": { + "additionalProperties": { + "$ref": "PolicyControllerOnClusterState" + }, + "description": "The state of the any bundles included in the chosen version of the manifest", + "type": "object" + }, + "referentialSyncConfigState": { + "$ref": "PolicyControllerOnClusterState", + "description": "The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user." + }, + "templateLibraryState": { + "$ref": "PolicyControllerOnClusterState", + "description": "The state of the template library" + } + }, + "type": "object" + }, + "PolicyControllerPolicyControllerDeploymentConfig": { + "description": "Deployment-specific configuration.", + "id": "PolicyControllerPolicyControllerDeploymentConfig", + "properties": { + "containerResources": { + "$ref": "PolicyControllerResourceRequirements", + "description": "Container resource requirements." + }, + "podAffinity": { + "description": "Pod affinity configuration.", + "enum": [ + "AFFINITY_UNSPECIFIED", + "NO_AFFINITY", + "ANTI_AFFINITY" + ], + "enumDescriptions": [ + "No affinity configuration has been specified.", + "Affinity configurations will be removed from the deployment.", + "Anti-affinity configuration will be applied to this deployment. Default for admissions deployment." + ], + "type": "string" + }, + "podAntiAffinity": { + "deprecated": true, + "description": "Pod anti-affinity enablement. Deprecated: use `pod_affinity` instead.", + "type": "boolean" + }, + "podTolerations": { + "description": "Pod tolerations of node taints.", + "items": { + "$ref": "PolicyControllerToleration" + }, + "type": "array" + }, + "replicaCount": { + "description": "Pod replica count.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerResourceList": { + "description": "ResourceList contains container resource requirements.", + "id": "PolicyControllerResourceList", + "properties": { + "cpu": { + "description": "CPU requirement expressed in Kubernetes resource units.", + "type": "string" + }, + "memory": { + "description": "Memory requirement expressed in Kubernetes resource units.", + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerResourceRequirements": { + "description": "ResourceRequirements describes the compute resource requirements.", + "id": "PolicyControllerResourceRequirements", + "properties": { + "limits": { + "$ref": "PolicyControllerResourceList", + "description": "Limits describes the maximum amount of compute resources allowed for use by the running container." + }, + "requests": { + "$ref": "PolicyControllerResourceList", + "description": "Requests describes the amount of compute resources reserved for the container by the kube-scheduler." + } + }, + "type": "object" + }, + "PolicyControllerSpec": { + "description": "**Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR.", + "id": "PolicyControllerSpec", + "properties": { + "policyControllerHubConfig": { + "$ref": "PolicyControllerHubConfig", + "description": "Policy Controller configuration for the cluster." + }, + "version": { + "description": "Version of Policy Controller installed.", + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerState": { + "description": "**Policy Controller**: State for a single cluster.", + "id": "PolicyControllerState", + "properties": { + "componentStates": { + "additionalProperties": { + "$ref": "PolicyControllerOnClusterState" + }, + "description": "Currently these include (also serving as map keys): 1. \"admission\" 2. \"audit\" 3. \"mutation\"", + "type": "object" + }, + "policyContentState": { + "$ref": "PolicyControllerPolicyContentState", + "description": "The overall content state observed by the Hub Feature controller." + }, + "state": { + "description": "The overall Policy Controller lifecycle state observed by the Hub Feature controller.", + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLING", + "ACTIVE", + "UPDATING", + "DECOMMISSIONING", + "CLUSTER_ERROR", + "HUB_ERROR", + "SUSPENDED", + "DETACHED" + ], + "enumDescriptions": [ + "The lifecycle state is unspecified.", + "The PC does not exist on the given cluster, and no k8s resources of any type that are associated with the PC should exist there. The cluster does not possess a membership with the PCH.", + "The PCH possesses a Membership, however the PC is not fully installed on the cluster. In this state the hub can be expected to be taking actions to install the PC on the cluster.", + "The PC is fully installed on the cluster and in an operational mode. In this state PCH will be reconciling state with the PC, and the PC will be performing it's operational tasks per that software. Entering a READY state requires that the hub has confirmed the PC is installed and its pods are operational with the version of the PC the PCH expects.", + "The PC is fully installed, but in the process of changing the configuration (including changing the version of PC either up and down, or modifying the manifests of PC) of the resources running on the cluster. The PCH has a Membership, is aware of the version the cluster should be running in, but has not confirmed for itself that the PC is running with that version.", + "The PC may have resources on the cluster, but the PCH wishes to remove the Membership. The Membership still exists.", + "The PC is not operational, and the PCH is unable to act to make it operational. Entering a CLUSTER_ERROR state happens automatically when the PCH determines that a PC installed on the cluster is non-operative or that the cluster does not meet requirements set for the PCH to administer the cluster but has nevertheless been given an instruction to do so (such as ‘install').", + "In this state, the PC may still be operational, and only the PCH is unable to act. The hub should not issue instructions to change the PC state, or otherwise interfere with the on-cluster resources. Entering a HUB_ERROR state happens automatically when the PCH determines the hub is in an unhealthy state and it wishes to ‘take hands off' to avoid corrupting the PC or other data.", + "Policy Controller (PC) is installed but suspended. This means that the policies are not enforced, but violations are still recorded (through audit).", + "PoCo Hub is not taking any action to reconcile cluster objects. Changes to those objects will not be overwritten by PoCo Hub." + ], + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerTemplateLibraryConfig": { + "description": "The config specifying which default library templates to install.", + "id": "PolicyControllerTemplateLibraryConfig", + "properties": { + "installation": { + "description": "Configures the manner in which the template library is installed on the cluster.", + "enum": [ + "INSTALLATION_UNSPECIFIED", + "NOT_INSTALLED", + "ALL" + ], + "enumDescriptions": [ + "No installation strategy has been specified.", + "Do not install the template library.", + "Install the entire template library." + ], + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerToleration": { + "description": "Toleration of a node taint.", + "id": "PolicyControllerToleration", + "properties": { + "effect": { + "description": "Matches a taint effect.", + "type": "string" + }, + "key": { + "description": "Matches a taint key (not necessarily unique).", + "type": "string" + }, + "operator": { + "description": "Matches a taint operator.", + "type": "string" + }, + "value": { + "description": "Matches a taint value.", + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshAnalysisMessage": { + "description": "AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about the state of their Service Mesh configuration.", + "id": "ServiceMeshAnalysisMessage", + "properties": { + "args": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "A UI can combine these args with a template (based on message_base.type) to produce an internationalized message.", + "type": "object" + }, + "description": { + "description": "A human readable description of what the error means. It is suitable for non-internationalize display purposes.", + "type": "string" + }, + "messageBase": { + "$ref": "ServiceMeshAnalysisMessageBase", + "description": "Details common to all types of Istio and ServiceMesh analysis messages." + }, + "resourcePaths": { + "description": "A list of strings specifying the resource identifiers that were the cause of message generation. A \"path\" here may be: * MEMBERSHIP_ID if the cause is a specific member cluster * MEMBERSHIP_ID/(NAMESPACE\\/)?RESOURCETYPE/NAME if the cause is a resource in a cluster", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ServiceMeshAnalysisMessageBase": { + "description": "AnalysisMessageBase describes some common information that is needed for all messages.", + "id": "ServiceMeshAnalysisMessageBase", + "properties": { + "documentationUrl": { + "description": "A url pointing to the Service Mesh or Istio documentation for this specific error type.", + "type": "string" + }, + "level": { + "description": "Represents how severe a message is.", + "enum": [ + "LEVEL_UNSPECIFIED", + "ERROR", + "WARNING", + "INFO" + ], + "enumDescriptions": [ + "Illegal. Same istio.analysis.v1alpha1.AnalysisMessageBase.Level.UNKNOWN.", + "ERROR represents a misconfiguration that must be fixed.", + "WARNING represents a misconfiguration that should be fixed.", + "INFO represents an informational finding." + ], + "type": "string" + }, + "type": { + "$ref": "ServiceMeshType", + "description": "Represents the specific type of a message." + } + }, + "type": "object" + }, + "ServiceMeshCondition": { + "description": "Condition being reported.", + "id": "ServiceMeshCondition", + "properties": { + "code": { + "description": "Unique identifier of the condition which describes the condition recognizable to the user.", + "enum": [ + "CODE_UNSPECIFIED", + "MESH_IAM_PERMISSION_DENIED", + "MESH_IAM_CROSS_PROJECT_PERMISSION_DENIED", + "CNI_CONFIG_UNSUPPORTED", + "GKE_SANDBOX_UNSUPPORTED", + "NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED", + "CNI_INSTALLATION_FAILED", + "CNI_POD_UNSCHEDULABLE", + "CLUSTER_HAS_ZERO_NODES", + "UNSUPPORTED_MULTIPLE_CONTROL_PLANES", + "VPCSC_GA_SUPPORTED", + "DEPRECATED_SPEC_CONTROL_PLANE_MANAGEMENT", + "DEPRECATED_SPEC_CONTROL_PLANE_MANAGEMENT_SAFE", + "CONFIG_APPLY_INTERNAL_ERROR", + "CONFIG_VALIDATION_ERROR", + "CONFIG_VALIDATION_WARNING", + "QUOTA_EXCEEDED_BACKEND_SERVICES", + "QUOTA_EXCEEDED_HEALTH_CHECKS", + "QUOTA_EXCEEDED_HTTP_ROUTES", + "QUOTA_EXCEEDED_TCP_ROUTES", + "QUOTA_EXCEEDED_TLS_ROUTES", + "QUOTA_EXCEEDED_TRAFFIC_POLICIES", + "QUOTA_EXCEEDED_ENDPOINT_POLICIES", + "QUOTA_EXCEEDED_GATEWAYS", + "QUOTA_EXCEEDED_MESHES", + "QUOTA_EXCEEDED_SERVER_TLS_POLICIES", + "QUOTA_EXCEEDED_CLIENT_TLS_POLICIES", + "QUOTA_EXCEEDED_SERVICE_LB_POLICIES", + "QUOTA_EXCEEDED_HTTP_FILTERS", + "QUOTA_EXCEEDED_TCP_FILTERS", + "QUOTA_EXCEEDED_NETWORK_ENDPOINT_GROUPS", + "MODERNIZATION_SCHEDULED", + "MODERNIZATION_IN_PROGRESS", + "MODERNIZATION_COMPLETED", + "MODERNIZATION_ABORTED" + ], + "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", + "CNI installation failed error code", + "CNI pod unschedulable error code", + "Cluster has zero node code", + "Multiple control planes unsupported error code", + "VPC-SC GA is supported for this control plane.", + "User is using deprecated ControlPlaneManagement and they have not yet set Management.", + "User is using deprecated ControlPlaneManagement and they have already set Management.", + "Configuration (Istio/k8s resources) failed to apply due to internal error.", + "Configuration failed to be applied due to being invalid.", + "Encountered configuration(s) with possible unintended behavior or invalid configuration. These configs may not have been applied.", + "BackendService quota exceeded error code.", + "HealthCheck quota exceeded error code.", + "HTTPRoute quota exceeded error code.", + "TCPRoute quota exceeded error code.", + "TLS routes quota exceeded error code.", + "TrafficPolicy quota exceeded error code.", + "EndpointPolicy quota exceeded error code.", + "Gateway quota exceeded error code.", + "Mesh quota exceeded error code.", + "ServerTLSPolicy quota exceeded error code.", + "ClientTLSPolicy quota exceeded error code.", + "ServiceLBPolicy quota exceeded error code.", + "HTTPFilter quota exceeded error code.", + "TCPFilter quota exceeded error code.", + "NetworkEndpointGroup quota exceeded error code.", + "Modernization is scheduled for a cluster.", + "Modernization is in progress for a cluster.", + "Modernization is completed for a cluster.", + "Modernization is aborted for a cluster." + ], + "type": "string" + }, + "details": { + "description": "A short summary about the issue.", + "type": "string" + }, + "documentationLink": { + "description": "Links contains actionable information.", + "type": "string" + }, + "severity": { + "description": "Severity level of the condition.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "ERROR", + "WARNING", + "INFO" + ], + "enumDescriptions": [ + "Unspecified severity", + "Indicates an issue that prevents the mesh from operating correctly", + "Indicates a setting is likely wrong, but the mesh is still able to operate", + "An informational message, not requiring any action" + ], + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshControlPlaneManagement": { + "description": "Status of control plane management.", + "id": "ServiceMeshControlPlaneManagement", + "properties": { + "details": { + "description": "Explanation of state.", + "items": { + "$ref": "ServiceMeshStatusDetails" + }, + "type": "array" + }, + "implementation": { + "description": "Output only. Implementation of managed control plane.", + "enum": [ + "IMPLEMENTATION_UNSPECIFIED", + "ISTIOD", + "TRAFFIC_DIRECTOR", + "UPDATING" + ], + "enumDescriptions": [ + "Unspecified", + "A Google build of istiod is used for the managed control plane.", + "Traffic director is used for the managed control plane.", + "The control plane implementation is being updated." + ], + "readOnly": true, + "type": "string" + }, + "state": { + "description": "LifecycleState of control plane management.", + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "DISABLED", + "FAILED_PRECONDITION", + "PROVISIONING", + "ACTIVE", + "STALLED", + "NEEDS_ATTENTION", + "DEGRADED" + ], + "enumDescriptions": [ + "Unspecified", + "DISABLED means that the component is not enabled.", + "FAILED_PRECONDITION means that provisioning cannot proceed because of some characteristic of the member cluster.", + "PROVISIONING means that provisioning is in progress.", + "ACTIVE means that the component is ready for use.", + "STALLED means that provisioning could not be done.", + "NEEDS_ATTENTION means that the component is ready, but some user intervention is required. (For example that the user should migrate workloads to a new control plane revision.)", + "DEGRADED means that the component is ready, but operating in a degraded state." + ], + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshDataPlaneManagement": { + "description": "Status of data plane management. Only reported per-member.", + "id": "ServiceMeshDataPlaneManagement", + "properties": { + "details": { + "description": "Explanation of the status.", + "items": { + "$ref": "ServiceMeshStatusDetails" + }, + "type": "array" + }, + "state": { + "description": "Lifecycle status of data plane management.", + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "DISABLED", + "FAILED_PRECONDITION", + "PROVISIONING", + "ACTIVE", + "STALLED", + "NEEDS_ATTENTION", + "DEGRADED" + ], + "enumDescriptions": [ + "Unspecified", + "DISABLED means that the component is not enabled.", + "FAILED_PRECONDITION means that provisioning cannot proceed because of some characteristic of the member cluster.", + "PROVISIONING means that provisioning is in progress.", + "ACTIVE means that the component is ready for use.", + "STALLED means that provisioning could not be done.", + "NEEDS_ATTENTION means that the component is ready, but some user intervention is required. (For example that the user should migrate workloads to a new control plane revision.)", + "DEGRADED means that the component is ready, but operating in a degraded state." + ], + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshSpec": { + "description": "**Service Mesh**: Spec for a single Membership for the servicemesh feature", + "id": "ServiceMeshSpec", + "properties": { + "configApi": { + "description": "Optional. Specifies the API that will be used for configuring the mesh workloads.", + "enum": [ + "CONFIG_API_UNSPECIFIED", + "CONFIG_API_ISTIO", + "CONFIG_API_GATEWAY" + ], + "enumDescriptions": [ + "Unspecified", + "Use the Istio API for configuration.", + "Use the K8s Gateway API for configuration." + ], + "type": "string" + }, + "controlPlane": { + "deprecated": true, + "description": "Deprecated: use `management` instead Enables automatic control plane management.", + "enum": [ + "CONTROL_PLANE_MANAGEMENT_UNSPECIFIED", + "AUTOMATIC", + "MANUAL" + ], + "enumDescriptions": [ + "Unspecified", + "Google should provision a control plane revision and make it available in the cluster. Google will enroll this revision in a release channel and keep it up to date. The control plane revision may be a managed service, or a managed install.", + "User will manually configure the control plane (e.g. via CLI, or via the ControlPlaneRevision KRM API)" + ], + "type": "string" + }, + "defaultChannel": { + "deprecated": true, + "description": "Determines which release channel to use for default injection and service mesh APIs.", + "enum": [ + "CHANNEL_UNSPECIFIED", + "RAPID", + "REGULAR", + "STABLE" + ], + "enumDescriptions": [ + "Unspecified", + "RAPID channel is offered on an early access basis for customers who want to test new releases.", + "REGULAR channel is intended for production users who want to take advantage of new features.", + "STABLE channel includes versions that are known to be stable and reliable in production." + ], + "type": "string" + }, + "management": { + "description": "Optional. Enables automatic Service Mesh management.", + "enum": [ + "MANAGEMENT_UNSPECIFIED", + "MANAGEMENT_AUTOMATIC", + "MANAGEMENT_MANUAL" + ], + "enumDescriptions": [ + "Unspecified", + "Google should manage my Service Mesh for the cluster.", + "User will manually configure their service mesh components." + ], + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshState": { + "description": "**Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller.", + "id": "ServiceMeshState", + "properties": { + "analysisMessages": { + "description": "Output only. Results of running Service Mesh analyzers.", + "items": { + "$ref": "ServiceMeshAnalysisMessage" + }, + "readOnly": true, + "type": "array" + }, + "conditions": { + "description": "Output only. List of conditions reported for this membership.", + "items": { + "$ref": "ServiceMeshCondition" + }, + "readOnly": true, + "type": "array" + }, + "configApiVersion": { + "description": "The API version (i.e. Istio CRD version) for configuring service mesh in this cluster. This version is influenced by the `default_channel` field.", + "type": "string" + }, + "controlPlaneManagement": { + "$ref": "ServiceMeshControlPlaneManagement", + "description": "Output only. Status of control plane management", + "readOnly": true + }, + "dataPlaneManagement": { + "$ref": "ServiceMeshDataPlaneManagement", + "description": "Output only. Status of data plane management.", + "readOnly": true + } + }, + "type": "object" + }, + "ServiceMeshStatusDetails": { + "description": "Structured and human-readable details for a status.", + "id": "ServiceMeshStatusDetails", + "properties": { + "code": { + "description": "A machine-readable code that further describes a broad status.", + "type": "string" + }, + "details": { + "description": "Human-readable explanation of code.", + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshType": { + "description": "A unique identifier for the type of message. Display_name is intended to be human-readable, code is intended to be machine readable. There should be a one-to-one mapping between display_name and code. (i.e. do not re-use display_names or codes between message types.) See istio.analysis.v1alpha1.AnalysisMessageBase.Type", + "id": "ServiceMeshType", + "properties": { + "code": { + "description": "A 7 character code matching `^IST[0-9]{4}$` or `^ASM[0-9]{4}$`, intended to uniquely identify the message type. (e.g. \"IST0001\" is mapped to the \"InternalError\" message type.)", + "type": "string" + }, + "displayName": { + "description": "A human-readable name for the message type. e.g. \"InternalError\", \"PodMissingProxy\". This should be the same for all messages of the same type. (This corresponds to the `name` field in open-source Istio.)", + "type": "string" + } + }, + "type": "object" + }, + "State": { + "description": "High-level state of a MembershipFeature.", + "id": "State", + "properties": { + "code": { + "description": "The high-level, machine-readable status of this MembershipFeature.", + "enum": [ + "CODE_UNSPECIFIED", + "OK", + "WARNING", + "ERROR" + ], + "enumDescriptions": [ + "Unknown or not set.", + "The MembershipFeature is operating normally.", + "The MembershipFeature has encountered an issue, and is operating in a degraded state. The MembershipFeature may need intervention to return to normal operation. See the description and any associated MembershipFeature-specific details for more information.", + "The MembershipFeature is not operating or is in a severely degraded state. The MembershipFeature may need intervention to return to normal operation. See the description and any associated MembershipFeature-specific details for more information." + ], + "type": "string" + }, + "description": { + "description": "A human-readable description of the current status.", + "type": "string" + }, + "updateTime": { + "description": "The time this status and any related Feature-specific details were updated.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "WorkloadCertificateSpec": { + "description": "**WorkloadCertificate**: The membership-specific input for WorkloadCertificate feature.", + "id": "WorkloadCertificateSpec", + "properties": { + "certificateManagement": { + "description": "CertificateManagement specifies workload certificate management.", + "enum": [ + "CERTIFICATE_MANAGEMENT_UNSPECIFIED", + "DISABLED", + "ENABLED" + ], + "enumDescriptions": [ + "Disable workload certificate feature.", + "Disable workload certificate feature.", + "Enable workload certificate feature." + ], + "type": "string" } }, "type": "object" diff --git a/discovery/gkehub-v2alpha.json b/discovery/gkehub-v2alpha.json index c2fd470d91..3f91d3d934 100644 --- a/discovery/gkehub-v2alpha.json +++ b/discovery/gkehub-v2alpha.json @@ -177,10 +177,201 @@ } }, "resources": { + "memberships": { + "resources": { + "features": { + "methods": { + "create": { + "description": "Creates membershipFeature under a given parent.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features", + "httpMethod": "POST", + "id": "gkehub.projects.locations.memberships.features.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "featureId": { + "description": "Required. The ID of the membership_feature to create.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of parent where the MembershipFeature will be created. Specified in the format `projects/*/locations/*/memberships/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Idempotent request UUID.", + "location": "query", + "type": "string" + } + }, + "path": "v2alpha/{+parent}/features", + "request": { + "$ref": "MembershipFeature" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Removes a membershipFeature.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features/{featuresId}", + "httpMethod": "DELETE", + "id": "gkehub.projects.locations.memberships.features.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the membershipFeature to be deleted. Specified in the format `projects/*/locations/*/memberships/*/features/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/features/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Idempotent request UUID.", + "location": "query", + "type": "string" + } + }, + "path": "v2alpha/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "========= MembershipFeature Services ========= Gets details of a membershipFeature.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features/{featuresId}", + "httpMethod": "GET", + "id": "gkehub.projects.locations.memberships.features.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The MembershipFeature resource name in the format `projects/*/locations/*/memberships/*/features/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/features/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+name}", + "response": { + "$ref": "MembershipFeature" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists MembershipFeatures in a given project and location.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features", + "httpMethod": "GET", + "id": "gkehub.projects.locations.memberships.features.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Lists MembershipFeatures that match the filter expression, following the syntax outlined in https://google.aip.dev/160. Examples: - Feature with the name \"helloworld\" in project \"foo-proj\" and membership \"member-bar\": name = \"projects/foo-proj/locations/global/memberships/member-bar/features/helloworld\" - Features that have a label called `foo`: labels.foo:* - Features that have a label called `foo` whose value is `bar`: labels.foo = bar", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "One or more fields to compare and use to sort the output. See https://google.aip.dev/132#ordering.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "When requesting a 'page' of resources, `page_size` specifies number of resources to return. If unspecified or set to 0, all resources will be returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Token returned by previous call to `ListFeatures` which specifies the position in the list from where to continue listing the resources.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent where the MembershipFeature will be listed. In the format: `projects/*/locations/*/memberships/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+parent}/features", + "response": { + "$ref": "ListMembershipFeaturesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an existing MembershipFeature.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features/{featuresId}", + "httpMethod": "PATCH", + "id": "gkehub.projects.locations.memberships.features.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "Optional. If set to true, and the MembershipFeature is not found, a new MembershipFeature will be created. In this situation, `update_mask` is ignored.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Output only. The resource name of the membershipFeature, in the format: `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note that `membershipFeatures` is shortened to `features` in the resource name. (see http://go/aip/122#collection-identifiers)", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/features/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Idempotent request UUID.", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2alpha/{+name}", + "request": { + "$ref": "MembershipFeature" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, "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`.", + "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": "v2alpha/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "gkehub.projects.locations.operations.cancel", @@ -280,149 +471,2818 @@ } } }, - "revision": "20230804", + "revision": "20250103", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { + "AppDevExperienceState": { + "description": "State for App Dev Exp Feature.", + "id": "AppDevExperienceState", + "properties": { + "networkingInstallSucceeded": { + "$ref": "AppDevExperienceStatus", + "description": "Status of subcomponent that detects configured Service Mesh resources." + } + }, + "type": "object" + }, + "AppDevExperienceStatus": { + "description": "Status specifies state for the subcomponent.", + "id": "AppDevExperienceStatus", + "properties": { + "code": { + "description": "Code specifies AppDevExperienceFeature's subcomponent ready state.", + "enum": [ + "CODE_UNSPECIFIED", + "OK", + "FAILED", + "UNKNOWN" + ], + "enumDescriptions": [ + "Not set.", + "AppDevExperienceFeature's specified subcomponent is ready.", + "AppDevExperienceFeature's specified subcomponent ready state is false. This means AppDevExperienceFeature has encountered an issue that blocks all, or a portion, of its normal operation. See the `description` for more details.", + "AppDevExperienceFeature's specified subcomponent has a pending or unknown state." + ], + "type": "string" + }, + "description": { + "description": "Description is populated if Code is Failed, explaining why it has failed.", + "type": "string" + } + }, + "type": "object" + }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", "properties": {}, "type": "object" }, - "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", - "id": "Empty", - "properties": {}, + "CloudBuildSpec": { + "description": "**Cloud Build**: Configurations for each Cloud Build enabled cluster.", + "id": "CloudBuildSpec", + "properties": { + "securityPolicy": { + "description": "Whether it is allowed to run the privileged builds on the cluster or not.", + "enum": [ + "SECURITY_POLICY_UNSPECIFIED", + "NON_PRIVILEGED", + "PRIVILEGED" + ], + "enumDescriptions": [ + "Unspecified policy", + "Privileged build pods are disallowed", + "Privileged build pods are allowed" + ], + "type": "string" + }, + "version": { + "description": "Version of the cloud build software on the cluster.", + "type": "string" + } + }, "type": "object" }, - "GoogleRpcStatus": { - "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", - "id": "GoogleRpcStatus", + "ClusterUpgradeGKEUpgrade": { + "description": "GKEUpgrade represents a GKE provided upgrade, e.g., control plane upgrade.", + "id": "ClusterUpgradeGKEUpgrade", "properties": { - "code": { - "description": "The status code, which should be an enum value of google.rpc.Code.", - "format": "int32", - "type": "integer" + "name": { + "description": "Name of the upgrade, e.g., \"k8s_control_plane\".", + "type": "string" }, - "details": { - "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", - "items": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "type": "object" - }, - "type": "array" + "version": { + "description": "Version of the upgrade, e.g., \"1.22.1-gke.100\".", + "type": "string" + } + }, + "type": "object" + }, + "ClusterUpgradeIgnoredMembership": { + "description": "IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default.", + "id": "ClusterUpgradeIgnoredMembership", + "properties": { + "ignoredTime": { + "description": "Time when the membership was first set to ignored.", + "format": "google-datetime", + "type": "string" }, - "message": { - "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "reason": { + "description": "Reason why the membership is ignored.", "type": "string" } }, "type": "object" }, - "ListLocationsResponse": { - "description": "The response message for Locations.ListLocations.", - "id": "ListLocationsResponse", + "ClusterUpgradeMembershipGKEUpgradeState": { + "description": "MembershipGKEUpgradeState is a GKEUpgrade and its state per-membership.", + "id": "ClusterUpgradeMembershipGKEUpgradeState", "properties": { - "locations": { - "description": "A list of locations that matches the specified filter in the request.", + "status": { + "$ref": "ClusterUpgradeUpgradeStatus", + "description": "Status of the upgrade." + }, + "upgrade": { + "$ref": "ClusterUpgradeGKEUpgrade", + "description": "Which upgrade to track the state." + } + }, + "type": "object" + }, + "ClusterUpgradeState": { + "description": "Per-membership state for this feature.", + "id": "ClusterUpgradeState", + "properties": { + "ignored": { + "$ref": "ClusterUpgradeIgnoredMembership", + "description": "Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel." + }, + "upgrades": { + "description": "Actual upgrade state against desired.", "items": { - "$ref": "Location" + "$ref": "ClusterUpgradeMembershipGKEUpgradeState" }, "type": "array" + } + }, + "type": "object" + }, + "ClusterUpgradeUpgradeStatus": { + "description": "UpgradeStatus provides status information for each upgrade.", + "id": "ClusterUpgradeUpgradeStatus", + "properties": { + "code": { + "description": "Status code of the upgrade.", + "enum": [ + "CODE_UNSPECIFIED", + "INELIGIBLE", + "PENDING", + "IN_PROGRESS", + "SOAKING", + "FORCED_SOAKING", + "COMPLETE" + ], + "enumDescriptions": [ + "Required by https://linter.aip.dev/126/unspecified.", + "The upgrade is ineligible. At the scope level, this means the upgrade is ineligible for all the clusters in the scope.", + "The upgrade is pending. At the scope level, this means the upgrade is pending for all the clusters in the scope.", + "The upgrade is in progress. At the scope level, this means the upgrade is in progress for at least one cluster in the scope.", + "The upgrade has finished and is soaking until the soaking time is up. At the scope level, this means at least one cluster is in soaking while the rest are either soaking or complete.", + "A cluster will be forced to enter soaking if an upgrade doesn't finish within a certain limit, despite it's actual status.", + "The upgrade has passed all post conditions (soaking). At the scope level, this means all eligible clusters are in COMPLETE status." + ], + "type": "string" }, - "nextPageToken": { - "description": "The standard List next-page token.", + "reason": { + "description": "Reason for this status.", + "type": "string" + }, + "updateTime": { + "description": "Last timestamp the status was updated.", + "format": "google-datetime", "type": "string" } }, "type": "object" }, - "ListOperationsResponse": { - "description": "The response message for Operations.ListOperations.", - "id": "ListOperationsResponse", + "ConfigManagementBinauthzConfig": { + "description": "Configuration for Binauthz.", + "id": "ConfigManagementBinauthzConfig", "properties": { - "nextPageToken": { - "description": "The standard List next-page token.", + "enabled": { + "description": "Whether binauthz is enabled in this cluster.", + "type": "boolean" + } + }, + "type": "object" + }, + "ConfigManagementBinauthzState": { + "description": "State for Binauthz.", + "id": "ConfigManagementBinauthzState", + "properties": { + "version": { + "$ref": "ConfigManagementBinauthzVersion", + "description": "The version of binauthz that is installed." + }, + "webhook": { + "description": "The state of the binauthz webhook.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementBinauthzVersion": { + "description": "The version of binauthz.", + "id": "ConfigManagementBinauthzVersion", + "properties": { + "webhookVersion": { + "description": "The version of the binauthz webhook.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementConfigSync": { + "description": "Configuration for Config Sync", + "id": "ConfigManagementConfigSync", + "properties": { + "allowVerticalScale": { + "deprecated": true, + "description": "Optional. Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated.", + "type": "boolean" }, - "operations": { - "description": "A list of operations that matches the specified filter in the request.", + "enabled": { + "description": "Optional. Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field.", + "type": "boolean" + }, + "git": { + "$ref": "ConfigManagementGitConfig", + "description": "Optional. Git repo configuration for the cluster." + }, + "metricsGcpServiceAccountEmail": { + "deprecated": true, + "description": "Optional. The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA. Deprecated: If Workload Identity Federation for GKE is enabled, Google Cloud Service Account is no longer needed for exporting Config Sync metrics: https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/monitor-config-sync-cloud-monitoring#custom-monitoring.", + "type": "string" + }, + "oci": { + "$ref": "ConfigManagementOciConfig", + "description": "Optional. OCI repo configuration for the cluster." + }, + "preventDrift": { + "description": "Optional. Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts.", + "type": "boolean" + }, + "sourceFormat": { + "description": "Optional. Specifies whether the Config Sync Repo is in \"hierarchical\" or \"unstructured\" mode.", + "type": "string" + }, + "stopSyncing": { + "description": "Optional. Set to true to stop syncing configs for a single cluster. Default to false.", + "type": "boolean" + } + }, + "type": "object" + }, + "ConfigManagementConfigSyncDeploymentState": { + "description": "The state of ConfigSync's deployment on a cluster.", + "id": "ConfigManagementConfigSyncDeploymentState", + "properties": { + "admissionWebhook": { + "description": "Deployment state of admission-webhook.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "gitSync": { + "description": "Deployment state of the git-sync pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "importer": { + "description": "Deployment state of the importer pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "monitor": { + "description": "Deployment state of the monitor pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "otelCollector": { + "description": "Deployment state of otel-collector", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "reconcilerManager": { + "description": "Deployment state of reconciler-manager pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "resourceGroupControllerManager": { + "description": "Deployment state of resource-group-controller-manager", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "rootReconciler": { + "description": "Deployment state of root-reconciler.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "syncer": { + "description": "Deployment state of the syncer pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementConfigSyncError": { + "description": "Errors pertaining to the installation of Config Sync", + "id": "ConfigManagementConfigSyncError", + "properties": { + "errorMessage": { + "description": "A string representing the user facing error message", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementConfigSyncState": { + "description": "State information for ConfigSync.", + "id": "ConfigManagementConfigSyncState", + "properties": { + "clusterLevelStopSyncingState": { + "description": "Output only. Whether syncing resources to the cluster is stopped at the cluster level.", + "enum": [ + "STOP_SYNCING_STATE_UNSPECIFIED", + "NOT_STOPPED", + "PENDING", + "STOPPED" + ], + "enumDescriptions": [ + "State cannot be determined", + "Syncing resources to the cluster is not stopped at the cluster level.", + "Some reconcilers stop syncing resources to the cluster, while others are still syncing.", + "Syncing resources to the cluster is stopped at the cluster level." + ], + "readOnly": true, + "type": "string" + }, + "crCount": { + "description": "Output only. The number of RootSync and RepoSync CRs in the cluster.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "deploymentState": { + "$ref": "ConfigManagementConfigSyncDeploymentState", + "description": "Output only. Information about the deployment of ConfigSync, including the version. of the various Pods deployed", + "readOnly": true + }, + "errors": { + "description": "Output only. Errors pertaining to the installation of Config Sync.", "items": { - "$ref": "Operation" + "$ref": "ConfigManagementConfigSyncError" }, + "readOnly": true, "type": "array" + }, + "reposyncCrd": { + "description": "Output only. The state of the Reposync CRD", + "enum": [ + "CRD_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "TERMINATING", + "INSTALLING" + ], + "enumDescriptions": [ + "CRD's state cannot be determined", + "CRD is not installed", + "CRD is installed", + "CRD is terminating (i.e., it has been deleted and is cleaning up)", + "CRD is installing" + ], + "readOnly": true, + "type": "string" + }, + "rootsyncCrd": { + "description": "Output only. The state of the RootSync CRD", + "enum": [ + "CRD_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "TERMINATING", + "INSTALLING" + ], + "enumDescriptions": [ + "CRD's state cannot be determined", + "CRD is not installed", + "CRD is installed", + "CRD is terminating (i.e., it has been deleted and is cleaning up)", + "CRD is installing" + ], + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The state of CS This field summarizes the other fields in this message.", + "enum": [ + "STATE_UNSPECIFIED", + "CONFIG_SYNC_NOT_INSTALLED", + "CONFIG_SYNC_INSTALLED", + "CONFIG_SYNC_ERROR", + "CONFIG_SYNC_PENDING" + ], + "enumDescriptions": [ + "CS's state cannot be determined.", + "CS is not installed.", + "The expected CS version is installed successfully.", + "CS encounters errors.", + "CS is installing or terminating." + ], + "readOnly": true, + "type": "string" + }, + "syncState": { + "$ref": "ConfigManagementSyncState", + "description": "Output only. The state of ConfigSync's process to sync configs to a cluster.", + "readOnly": true + }, + "version": { + "$ref": "ConfigManagementConfigSyncVersion", + "description": "Output only. The version of ConfigSync deployed.", + "readOnly": true } }, "type": "object" }, - "Location": { - "description": "A resource that represents a Google Cloud location.", - "id": "Location", + "ConfigManagementConfigSyncVersion": { + "description": "Specific versioning information pertaining to ConfigSync's Pods.", + "id": "ConfigManagementConfigSyncVersion", "properties": { - "displayName": { - "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "admissionWebhook": { + "description": "Version of the deployed admission-webhook pod.", "type": "string" }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", - "type": "object" + "gitSync": { + "description": "Version of the deployed git-sync pod.", + "type": "string" }, - "locationId": { - "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "importer": { + "description": "Version of the deployed importer pod.", "type": "string" }, - "metadata": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "Service-specific metadata. For example the available capacity at the given location.", - "type": "object" + "monitor": { + "description": "Version of the deployed monitor pod.", + "type": "string" }, - "name": { - "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", + "otelCollector": { + "description": "Version of the deployed otel-collector pod", + "type": "string" + }, + "reconcilerManager": { + "description": "Version of the deployed reconciler-manager pod.", + "type": "string" + }, + "resourceGroupControllerManager": { + "description": "Version of the deployed resource-group-controller-manager pod", + "type": "string" + }, + "rootReconciler": { + "description": "Version of the deployed reconciler container in root-reconciler pod.", + "type": "string" + }, + "syncer": { + "description": "Version of the deployed syncer pod.", "type": "string" } }, "type": "object" }, - "Operation": { - "description": "This resource represents a long-running operation that is the result of a network API call.", - "id": "Operation", + "ConfigManagementErrorResource": { + "description": "Model for a config file in the git repo with an associated Sync error.", + "id": "ConfigManagementErrorResource", "properties": { - "done": { - "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", - "type": "boolean" + "resourceGvk": { + "$ref": "ConfigManagementGroupVersionKind", + "description": "Group/version/kind of the resource that is causing an error" }, - "error": { - "$ref": "GoogleRpcStatus", - "description": "The error result of the operation in case of failure or cancellation." + "resourceName": { + "description": "Metadata name of the resource that is causing an error", + "type": "string" }, - "metadata": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", - "type": "object" + "resourceNamespace": { + "description": "Namespace of the resource that is causing an error", + "type": "string" }, - "name": { - "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "sourcePath": { + "description": "Path in the git repo of the erroneous config", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementGatekeeperDeploymentState": { + "description": "State of Policy Controller installation.", + "id": "ConfigManagementGatekeeperDeploymentState", + "properties": { + "gatekeeperAudit": { + "description": "Status of gatekeeper-audit deployment.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], "type": "string" }, - "response": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", - "type": "object" + "gatekeeperControllerManagerState": { + "description": "Status of gatekeeper-controller-manager pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "gatekeeperMutation": { + "description": "Status of the pod serving the mutation webhook.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementGitConfig": { + "description": "Git repo configuration for a single cluster.", + "id": "ConfigManagementGitConfig", + "properties": { + "gcpServiceAccountEmail": { + "description": "Optional. The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", + "type": "string" + }, + "httpsProxy": { + "description": "Optional. URL for the HTTPS proxy to be used when communicating with the Git repo.", + "type": "string" + }, + "policyDir": { + "description": "Optional. The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.", + "type": "string" + }, + "secretType": { + "description": "Required. Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required.", + "type": "string" + }, + "syncBranch": { + "description": "Optional. The branch of the repository to sync from. Default: master.", + "type": "string" + }, + "syncRepo": { + "description": "Optional. The URL of the Git repository to use as the source of truth.", + "type": "string" + }, + "syncRev": { + "description": "Optional. Git revision (tag or hash) to check out. Default HEAD.", + "type": "string" + }, + "syncWaitSecs": { + "description": "Optional. Period in seconds between consecutive syncs. Default: 15.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementGroupVersionKind": { + "description": "A Kubernetes object's GVK.", + "id": "ConfigManagementGroupVersionKind", + "properties": { + "group": { + "description": "Kubernetes Group", + "type": "string" + }, + "kind": { + "description": "Kubernetes Kind", + "type": "string" + }, + "version": { + "description": "Kubernetes Version", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementHierarchyControllerConfig": { + "description": "Configuration for Hierarchy Controller.", + "id": "ConfigManagementHierarchyControllerConfig", + "properties": { + "enableHierarchicalResourceQuota": { + "description": "Whether hierarchical resource quota is enabled in this cluster.", + "type": "boolean" + }, + "enablePodTreeLabels": { + "description": "Whether pod tree labels are enabled in this cluster.", + "type": "boolean" + }, + "enabled": { + "description": "Whether Hierarchy Controller is enabled in this cluster.", + "type": "boolean" + } + }, + "type": "object" + }, + "ConfigManagementHierarchyControllerDeploymentState": { + "description": "Deployment state for Hierarchy Controller", + "id": "ConfigManagementHierarchyControllerDeploymentState", + "properties": { + "extension": { + "description": "The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1).", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "hnc": { + "description": "The deployment state for open source HNC (e.g. v0.7.0-hc.0).", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementHierarchyControllerState": { + "description": "State for Hierarchy Controller.", + "id": "ConfigManagementHierarchyControllerState", + "properties": { + "state": { + "$ref": "ConfigManagementHierarchyControllerDeploymentState", + "description": "The deployment state for Hierarchy Controller." + }, + "version": { + "$ref": "ConfigManagementHierarchyControllerVersion", + "description": "The version for Hierarchy Controller." + } + }, + "type": "object" + }, + "ConfigManagementHierarchyControllerVersion": { + "description": "Version for Hierarchy Controller.", + "id": "ConfigManagementHierarchyControllerVersion", + "properties": { + "extension": { + "description": "Version for Hierarchy Controller extension.", + "type": "string" + }, + "hnc": { + "description": "Version for open source HNC.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementInstallError": { + "description": "Errors pertaining to the installation of ACM.", + "id": "ConfigManagementInstallError", + "properties": { + "errorMessage": { + "description": "A string representing the user facing error message.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementOciConfig": { + "description": "OCI repo configuration for a single cluster.", + "id": "ConfigManagementOciConfig", + "properties": { + "gcpServiceAccountEmail": { + "description": "Optional. The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", + "type": "string" + }, + "policyDir": { + "description": "Optional. The absolute path of the directory that contains the local resources. Default: the root directory of the image.", + "type": "string" + }, + "secretType": { + "description": "Optional. Type of secret configured for access to the Git repo.", + "type": "string" + }, + "syncRepo": { + "description": "Optional. The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`.", + "type": "string" + }, + "syncWaitSecs": { + "description": "Optional. Period in seconds between consecutive syncs. Default: 15.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementOperatorState": { + "description": "State information for an ACM's Operator.", + "id": "ConfigManagementOperatorState", + "properties": { + "deploymentState": { + "description": "The state of the Operator's deployment.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "errors": { + "description": "Install errors.", + "items": { + "$ref": "ConfigManagementInstallError" + }, + "type": "array" + }, + "version": { + "description": "The semenatic version number of the operator.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementPolicyController": { + "description": "Configuration for Policy Controller", + "id": "ConfigManagementPolicyController", + "properties": { + "auditIntervalSeconds": { + "description": "Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.", + "format": "int64", + "type": "string" + }, + "enabled": { + "description": "Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.", + "type": "boolean" + }, + "exemptableNamespaces": { + "description": "The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logDeniesEnabled": { + "description": "Logs all denies and dry run failures.", + "type": "boolean" + }, + "monitoring": { + "$ref": "ConfigManagementPolicyControllerMonitoring", + "description": "Monitoring specifies the configuration of monitoring." + }, + "mutationEnabled": { + "description": "Enable or disable mutation in policy controller. If true, mutation CRDs, webhook and controller deployment will be deployed to the cluster.", + "type": "boolean" + }, + "referentialRulesEnabled": { + "description": "Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.", + "type": "boolean" + }, + "templateLibraryInstalled": { + "description": "Installs the default template library along with Policy Controller.", + "type": "boolean" + }, + "updateTime": { + "description": "Output only. Last time this membership spec was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementPolicyControllerMigration": { + "description": "State for the migration of PolicyController from ACM -> PoCo Hub.", + "id": "ConfigManagementPolicyControllerMigration", + "properties": { + "copyTime": { + "description": "Last time this membership spec was copied to PoCo feature.", + "format": "google-datetime", + "type": "string" + }, + "stage": { + "description": "Stage of the migration.", + "enum": [ + "STAGE_UNSPECIFIED", + "ACM_MANAGED", + "POCO_MANAGED" + ], + "enumDescriptions": [ + "Unknown state of migration.", + "ACM Hub/Operator manages policycontroller. No migration yet completed.", + "All migrations steps complete; Poco Hub now manages policycontroller." + ], + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementPolicyControllerMonitoring": { + "description": "PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: [\"cloudmonitoring\", \"prometheus\"]", + "id": "ConfigManagementPolicyControllerMonitoring", + "properties": { + "backends": { + "description": "Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export.", + "items": { + "enum": [ + "MONITORING_BACKEND_UNSPECIFIED", + "PROMETHEUS", + "CLOUD_MONITORING" + ], + "enumDescriptions": [ + "Backend cannot be determined", + "Prometheus backend for monitoring", + "Stackdriver/Cloud Monitoring backend for monitoring" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ConfigManagementPolicyControllerState": { + "description": "State for PolicyControllerState.", + "id": "ConfigManagementPolicyControllerState", + "properties": { + "deploymentState": { + "$ref": "ConfigManagementGatekeeperDeploymentState", + "description": "The state about the policy controller installation." + }, + "migration": { + "$ref": "ConfigManagementPolicyControllerMigration", + "description": "Record state of ACM -> PoCo Hub migration for this feature." + }, + "version": { + "$ref": "ConfigManagementPolicyControllerVersion", + "description": "The version of Gatekeeper Policy Controller deployed." + } + }, + "type": "object" + }, + "ConfigManagementPolicyControllerVersion": { + "description": "The build version of Gatekeeper Policy Controller is using.", + "id": "ConfigManagementPolicyControllerVersion", + "properties": { + "version": { + "description": "The gatekeeper image tag that is composed of ACM version, git tag, build number.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementSpec": { + "description": "**Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR.", + "id": "ConfigManagementSpec", + "properties": { + "binauthz": { + "$ref": "ConfigManagementBinauthzConfig", + "deprecated": true, + "description": "Optional. Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set." + }, + "cluster": { + "description": "Optional. The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector.", + "type": "string" + }, + "configSync": { + "$ref": "ConfigManagementConfigSync", + "description": "Optional. Config Sync configuration for the cluster." + }, + "hierarchyController": { + "$ref": "ConfigManagementHierarchyControllerConfig", + "deprecated": true, + "description": "Optional. 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": "Optional. Enables automatic Feature management.", + "enum": [ + "MANAGEMENT_UNSPECIFIED", + "MANAGEMENT_AUTOMATIC", + "MANAGEMENT_MANUAL" + ], + "enumDescriptions": [ + "Unspecified", + "Google will manage the Feature for the cluster.", + "User will manually manage the Feature for the cluster." + ], + "type": "string" + }, + "policyController": { + "$ref": "ConfigManagementPolicyController", + "deprecated": true, + "description": "Optional. Policy Controller configuration for the cluster. Deprecated: Configuring Policy Controller through the configmanagement feature is no longer recommended. Use the policycontroller feature instead." + }, + "version": { + "description": "Optional. Version of ACM installed.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementState": { + "description": "**Anthos Config Management**: State for a single cluster.", + "id": "ConfigManagementState", + "properties": { + "binauthzState": { + "$ref": "ConfigManagementBinauthzState", + "description": "Output only. Binauthz status.", + "readOnly": true + }, + "clusterName": { + "description": "Output only. This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name.", + "readOnly": true, + "type": "string" + }, + "configSyncState": { + "$ref": "ConfigManagementConfigSyncState", + "description": "Output only. Current sync status.", + "readOnly": true + }, + "hierarchyControllerState": { + "$ref": "ConfigManagementHierarchyControllerState", + "description": "Output only. Hierarchy Controller status.", + "readOnly": true + }, + "membershipSpec": { + "$ref": "ConfigManagementSpec", + "description": "Output only. Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state.", + "readOnly": true + }, + "operatorState": { + "$ref": "ConfigManagementOperatorState", + "description": "Output only. Current install status of ACM's Operator.", + "readOnly": true + }, + "policyControllerState": { + "$ref": "ConfigManagementPolicyControllerState", + "description": "Output only. PolicyController status.", + "readOnly": true + } + }, + "type": "object" + }, + "ConfigManagementSyncError": { + "description": "An ACM created error representing a problem syncing configurations.", + "id": "ConfigManagementSyncError", + "properties": { + "code": { + "description": "An ACM defined error code", + "type": "string" + }, + "errorMessage": { + "description": "A description of the error", + "type": "string" + }, + "errorResources": { + "description": "A list of config(s) associated with the error, if any", + "items": { + "$ref": "ConfigManagementErrorResource" + }, + "type": "array" + } + }, + "type": "object" + }, + "ConfigManagementSyncState": { + "description": "State indicating an ACM's progress syncing configurations to a cluster.", + "id": "ConfigManagementSyncState", + "properties": { + "code": { + "description": "Sync status code.", + "enum": [ + "SYNC_CODE_UNSPECIFIED", + "SYNCED", + "PENDING", + "ERROR", + "NOT_CONFIGURED", + "NOT_INSTALLED", + "UNAUTHORIZED", + "UNREACHABLE" + ], + "enumDescriptions": [ + "Config Sync cannot determine a sync code", + "Config Sync successfully synced the git Repo with the cluster", + "Config Sync is in the progress of syncing a new change", + "Indicates an error configuring Config Sync, and user action is required", + "Config Sync has been installed but not configured", + "Config Sync has not been installed", + "Error authorizing with the cluster", + "Cluster could not be reached" + ], + "type": "string" + }, + "errors": { + "description": "A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist.", + "items": { + "$ref": "ConfigManagementSyncError" + }, + "type": "array" + }, + "importToken": { + "description": "Token indicating the state of the importer.", + "type": "string" + }, + "lastSync": { + "deprecated": true, + "description": "Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo. The time format is specified in https://golang.org/pkg/time/#Time.String", + "type": "string" + }, + "lastSyncTime": { + "description": "Timestamp type of when ACM last successfully synced the repo.", + "format": "google-datetime", + "type": "string" + }, + "sourceToken": { + "description": "Token indicating the state of the repo.", + "type": "string" + }, + "syncToken": { + "description": "Token indicating the state of the syncer.", + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "FeatureSpec": { + "description": "FeatureSpec contains user input per-feature spec information.", + "id": "FeatureSpec", + "properties": { + "cloudbuild": { + "$ref": "CloudBuildSpec", + "description": "Cloudbuild-specific FeatureSpec." + }, + "configmanagement": { + "$ref": "ConfigManagementSpec", + "description": "Config Management FeatureSpec." + }, + "identityservice": { + "$ref": "IdentityServiceSpec", + "description": "IdentityService FeatureSpec." + }, + "origin": { + "$ref": "Origin", + "description": "Whether this per-Feature spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Feature config (updated to USER implicitly) or setting to FLEET explicitly." + }, + "policycontroller": { + "$ref": "PolicyControllerSpec", + "description": "Policycontroller-specific FeatureSpec." + }, + "servicemesh": { + "$ref": "ServiceMeshSpec", + "description": "ServiceMesh Feature Spec." + }, + "workloadcertificate": { + "$ref": "WorkloadCertificateSpec", + "description": "Workloadcertificate-specific FeatureSpec." + } + }, + "type": "object" + }, + "FeatureState": { + "description": "FeatureState contains high-level state information and per-feature state information for this MembershipFeature.", + "id": "FeatureState", + "properties": { + "appdevexperience": { + "$ref": "AppDevExperienceState", + "description": "Appdevexperience specific state." + }, + "clusterupgrade": { + "$ref": "ClusterUpgradeState", + "description": "Cluster upgrade state." + }, + "configmanagement": { + "$ref": "ConfigManagementState", + "description": "Config Management state" + }, + "identityservice": { + "$ref": "IdentityServiceState", + "description": "Identity service state" + }, + "metering": { + "$ref": "MeteringState", + "description": "Metering state" + }, + "policycontroller": { + "$ref": "PolicyControllerState", + "description": "Policy Controller state" + }, + "servicemesh": { + "$ref": "ServiceMeshState", + "description": "Service mesh state" + }, + "state": { + "$ref": "State", + "description": "The high-level state of this MembershipFeature." + } + }, + "type": "object" + }, + "GoogleRpcStatus": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "GoogleRpcStatus", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceAuthMethod": { + "description": "Configuration of an auth method for a member/cluster. Only one authentication method (e.g., OIDC and LDAP) can be set per AuthMethod.", + "id": "IdentityServiceAuthMethod", + "properties": { + "azureadConfig": { + "$ref": "IdentityServiceAzureADConfig", + "description": "AzureAD specific Configuration." + }, + "googleConfig": { + "$ref": "IdentityServiceGoogleConfig", + "description": "GoogleConfig specific configuration" + }, + "ldapConfig": { + "$ref": "IdentityServiceLdapConfig", + "description": "LDAP specific configuration." + }, + "name": { + "description": "Identifier for auth config.", + "type": "string" + }, + "oidcConfig": { + "$ref": "IdentityServiceOidcConfig", + "description": "OIDC specific configuration." + }, + "proxy": { + "description": "Proxy server address to use for auth method.", + "type": "string" + }, + "samlConfig": { + "$ref": "IdentityServiceSamlConfig", + "description": "SAML specific configuration." + } + }, + "type": "object" + }, + "IdentityServiceAzureADConfig": { + "description": "Configuration for the AzureAD Auth flow.", + "id": "IdentityServiceAzureADConfig", + "properties": { + "clientId": { + "description": "ID for the registered client application that makes authentication requests to the Azure AD identity provider.", + "type": "string" + }, + "clientSecret": { + "description": "Input only. Unencrypted AzureAD client secret will be passed to the GKE Hub CLH.", + "type": "string" + }, + "encryptedClientSecret": { + "description": "Output only. Encrypted AzureAD client secret.", + "format": "byte", + "readOnly": true, + "type": "string" + }, + "groupFormat": { + "description": "Optional. Format of the AzureAD groups that the client wants for auth.", + "type": "string" + }, + "kubectlRedirectUri": { + "description": "The redirect URL that kubectl uses for authorization.", + "type": "string" + }, + "tenant": { + "description": "Kind of Azure AD account to be authenticated. Supported values are or for accounts belonging to a specific tenant.", + "type": "string" + }, + "userClaim": { + "description": "Optional. Claim in the AzureAD ID Token that holds the user details.", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceDiagnosticInterface": { + "description": "Configuration options for the AIS diagnostic interface.", + "id": "IdentityServiceDiagnosticInterface", + "properties": { + "enabled": { + "description": "Determines whether to enable the diagnostic interface.", + "type": "boolean" + }, + "expirationTime": { + "description": "Determines the expiration time of the diagnostic interface enablement. When reached, requests to the interface would be automatically rejected.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceGoogleConfig": { + "description": "Configuration for the Google Plugin Auth flow.", + "id": "IdentityServiceGoogleConfig", + "properties": { + "disable": { + "description": "Disable automatic configuration of Google Plugin on supported platforms.", + "type": "boolean" + } + }, + "type": "object" + }, + "IdentityServiceGroupConfig": { + "description": "Contains the properties for locating and authenticating groups in the directory.", + "id": "IdentityServiceGroupConfig", + "properties": { + "baseDn": { + "description": "Required. The location of the subtree in the LDAP directory to search for group entries.", + "type": "string" + }, + "filter": { + "description": "Optional. Optional filter to be used when searching for groups a user belongs to. This can be used to explicitly match only certain groups in order to reduce the amount of groups returned for each user. This defaults to \"(objectClass=Group)\".", + "type": "string" + }, + "idAttribute": { + "description": "Optional. The identifying name of each group a user belongs to. For example, if this is set to \"distinguishedName\" then RBACs and other group expectations should be written as full DNs. This defaults to \"distinguishedName\".", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceIdentityServiceOptions": { + "description": "Holds non-protocol-related configuration options.", + "id": "IdentityServiceIdentityServiceOptions", + "properties": { + "diagnosticInterface": { + "$ref": "IdentityServiceDiagnosticInterface", + "description": "Configuration options for the AIS diagnostic interface." + }, + "sessionDuration": { + "description": "Determines the lifespan of STS tokens issued by Anthos Identity Service.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceLdapConfig": { + "description": "Configuration for the LDAP Auth flow.", + "id": "IdentityServiceLdapConfig", + "properties": { + "group": { + "$ref": "IdentityServiceGroupConfig", + "description": "Optional. Contains the properties for locating and authenticating groups in the directory." + }, + "server": { + "$ref": "IdentityServiceServerConfig", + "description": "Required. Server settings for the external LDAP server." + }, + "serviceAccount": { + "$ref": "IdentityServiceServiceAccountConfig", + "description": "Required. Contains the credentials of the service account which is authorized to perform the LDAP search in the directory. The credentials can be supplied by the combination of the DN and password or the client certificate." + }, + "user": { + "$ref": "IdentityServiceUserConfig", + "description": "Required. Defines where users exist in the LDAP directory." + } + }, + "type": "object" + }, + "IdentityServiceOidcConfig": { + "description": "Configuration for OIDC Auth flow.", + "id": "IdentityServiceOidcConfig", + "properties": { + "certificateAuthorityData": { + "description": "PEM-encoded CA for OIDC provider.", + "type": "string" + }, + "clientId": { + "description": "ID for OIDC client application.", + "type": "string" + }, + "clientSecret": { + "description": "Input only. Unencrypted OIDC client secret will be passed to the GKE Hub CLH.", + "type": "string" + }, + "deployCloudConsoleProxy": { + "description": "Flag to denote if reverse proxy is used to connect to auth provider. This flag should be set to true when provider is not reachable by Google Cloud Console.", + "type": "boolean" + }, + "enableAccessToken": { + "description": "Enable access token.", + "type": "boolean" + }, + "encryptedClientSecret": { + "description": "Output only. Encrypted OIDC Client secret", + "format": "byte", + "readOnly": true, + "type": "string" + }, + "extraParams": { + "description": "Comma-separated list of key-value pairs.", + "type": "string" + }, + "groupPrefix": { + "description": "Prefix to prepend to group name.", + "type": "string" + }, + "groupsClaim": { + "description": "Claim in OIDC ID token that holds group information.", + "type": "string" + }, + "issuerUri": { + "description": "URI for the OIDC provider. This should point to the level below .well-known/openid-configuration.", + "type": "string" + }, + "kubectlRedirectUri": { + "description": "Registered redirect uri to redirect users going through OAuth flow using kubectl plugin.", + "type": "string" + }, + "scopes": { + "description": "Comma-separated list of identifiers.", + "type": "string" + }, + "userClaim": { + "description": "Claim in OIDC ID token that holds username.", + "type": "string" + }, + "userPrefix": { + "description": "Prefix to prepend to user name.", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceSamlConfig": { + "description": "Configuration for the SAML Auth flow.", + "id": "IdentityServiceSamlConfig", + "properties": { + "attributeMapping": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The mapping of additional user attributes like nickname, birthday and address etc.. `key` is the name of this additional attribute. `value` is a string presenting as CEL(common expression language, go/cel) used for getting the value from the resources. Take nickname as an example, in this case, `key` is \"attribute.nickname\" and `value` is \"assertion.nickname\".", + "type": "object" + }, + "groupPrefix": { + "description": "Optional. Prefix to prepend to group name.", + "type": "string" + }, + "groupsAttribute": { + "description": "Optional. The SAML attribute to read groups from. This value is expected to be a string and will be passed along as-is (with the option of being prefixed by the `group_prefix`).", + "type": "string" + }, + "identityProviderCertificates": { + "description": "Required. The list of IdP certificates to validate the SAML response against.", + "items": { + "type": "string" + }, + "type": "array" + }, + "identityProviderId": { + "description": "Required. The entity ID of the SAML IdP.", + "type": "string" + }, + "identityProviderSsoUri": { + "description": "Required. The URI where the SAML IdP exposes the SSO service.", + "type": "string" + }, + "userAttribute": { + "description": "Optional. The SAML attribute to read username from. If unspecified, the username will be read from the NameID element of the assertion in SAML response. This value is expected to be a string and will be passed along as-is (with the option of being prefixed by the `user_prefix`).", + "type": "string" + }, + "userPrefix": { + "description": "Optional. Prefix to prepend to user name.", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceServerConfig": { + "description": "Server settings for the external LDAP server.", + "id": "IdentityServiceServerConfig", + "properties": { + "certificateAuthorityData": { + "description": "Optional. Contains a Base64 encoded, PEM formatted certificate authority certificate for the LDAP server. This must be provided for the \"ldaps\" and \"startTLS\" connections.", + "format": "byte", + "type": "string" + }, + "connectionType": { + "description": "Optional. Defines the connection type to communicate with the LDAP server. If `starttls` or `ldaps` is specified, the certificate_authority_data should not be empty.", + "type": "string" + }, + "host": { + "description": "Required. Defines the hostname or IP of the LDAP server. Port is optional and will default to 389, if unspecified. For example, \"ldap.server.example\" or \"10.10.10.10:389\".", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceServiceAccountConfig": { + "description": "Contains the credentials of the service account which is authorized to perform the LDAP search in the directory. The credentials can be supplied by the combination of the DN and password or the client certificate.", + "id": "IdentityServiceServiceAccountConfig", + "properties": { + "simpleBindCredentials": { + "$ref": "IdentityServiceSimpleBindCredentials", + "description": "Credentials for basic auth." + } + }, + "type": "object" + }, + "IdentityServiceSimpleBindCredentials": { + "description": "The structure holds the LDAP simple binding credential.", + "id": "IdentityServiceSimpleBindCredentials", + "properties": { + "dn": { + "description": "Required. The distinguished name(DN) of the service account object/user.", + "type": "string" + }, + "encryptedPassword": { + "description": "Output only. The encrypted password of the service account object/user.", + "format": "byte", + "readOnly": true, + "type": "string" + }, + "password": { + "description": "Required. Input only. The password of the service account object/user.", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceSpec": { + "description": "**IdentityService**: Configuration for a single membership.", + "id": "IdentityServiceSpec", + "properties": { + "authMethods": { + "description": "A member may support multiple auth methods.", + "items": { + "$ref": "IdentityServiceAuthMethod" + }, + "type": "array" + }, + "identityServiceOptions": { + "$ref": "IdentityServiceIdentityServiceOptions", + "description": "Optional. non-protocol-related configuration options." + } + }, + "type": "object" + }, + "IdentityServiceState": { + "description": "**IdentityService**: State for a single membership, analyzed and reported by feature controller.", + "id": "IdentityServiceState", + "properties": { + "failureReason": { + "description": "The reason of the failure.", + "type": "string" + }, + "installedVersion": { + "description": "Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK.", + "type": "string" + }, + "memberConfig": { + "$ref": "IdentityServiceSpec", + "description": "Last reconciled membership configuration" + }, + "state": { + "description": "Deployment state on this member", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "OK", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified state", + "deployment succeeds", + "Failure with error." + ], + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceUserConfig": { + "description": "Defines where users exist in the LDAP directory.", + "id": "IdentityServiceUserConfig", + "properties": { + "baseDn": { + "description": "Required. The location of the subtree in the LDAP directory to search for user entries.", + "type": "string" + }, + "filter": { + "description": "Optional. Filter to apply when searching for the user. This can be used to further restrict the user accounts which are allowed to login. This defaults to \"(objectClass=User)\".", + "type": "string" + }, + "idAttribute": { + "description": "Optional. Determines which attribute to use as the user's identity after they are authenticated. This is distinct from the loginAttribute field to allow users to login with a username, but then have their actual identifier be an email address or full Distinguished Name (DN). For example, setting loginAttribute to \"sAMAccountName\" and identifierAttribute to \"userPrincipalName\" would allow a user to login as \"bsmith\", but actual RBAC policies for the user would be written as \"bsmith@example.com\". Using \"userPrincipalName\" is recommended since this will be unique for each user. This defaults to \"userPrincipalName\".", + "type": "string" + }, + "loginAttribute": { + "description": "Optional. The name of the attribute which matches against the input username. This is used to find the user in the LDAP database e.g. \"(=)\" and is combined with the optional filter field. This defaults to \"userPrincipalName\".", + "type": "string" + } + }, + "type": "object" + }, + "LifecycleState": { + "description": "LifecycleState describes the state of a MembershipFeature *resource* in the GkeHub API. See `FeatureState` for the \"running state\" of the MembershipFeature.", + "id": "LifecycleState", + "properties": { + "state": { + "description": "Output only. The current state of the Feature resource in the Hub API.", + "enum": [ + "STATE_UNSPECIFIED", + "ENABLING", + "ACTIVE", + "DISABLING", + "UPDATING", + "SERVICE_UPDATING" + ], + "enumDescriptions": [ + "State is unknown or not set.", + "The MembershipFeature is being enabled, and the MembershipFeature resource is being created. Once complete, the corresponding MembershipFeature will be enabled in this Hub.", + "The MembershipFeature is enabled in this Hub, and the MembershipFeature resource is fully available.", + "The MembershipFeature is being disabled in this Hub, and the MembershipFeature resource is being deleted.", + "The MembershipFeature resource is being updated.", + "The MembershipFeature resource is being updated by the Hub Service." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListMembershipFeaturesResponse": { + "description": "Response message for the `GkeHubFeature.ListMembershipFeatures` method.", + "id": "ListMembershipFeaturesResponse", + "properties": { + "membershipFeatures": { + "description": "The list of matching MembershipFeatures.", + "items": { + "$ref": "MembershipFeature" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to request the next page of resources from the `ListMembershipFeatures` method. The value of an empty string means that there are no more resources to return.", + "type": "string" + }, + "unreachable": { + "description": "List of locations that could not be reached while fetching this list.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents a Google Cloud location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given location.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "MembershipFeature": { + "description": "MembershipFeature represents the settings and status of a Fleet Feature enabled on a single Fleet Membership.", + "id": "MembershipFeature", + "properties": { + "createTime": { + "description": "Output only. When the MembershipFeature resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deleteTime": { + "description": "Output only. When the MembershipFeature resource was deleted.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "GCP labels for this MembershipFeature.", + "type": "object" + }, + "lifecycleState": { + "$ref": "LifecycleState", + "description": "Output only. Lifecycle information of the resource itself.", + "readOnly": true + }, + "name": { + "description": "Output only. The resource name of the membershipFeature, in the format: `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note that `membershipFeatures` is shortened to `features` in the resource name. (see http://go/aip/122#collection-identifiers)", + "readOnly": true, + "type": "string" + }, + "spec": { + "$ref": "FeatureSpec", + "description": "Optional. Spec of this membershipFeature." + }, + "state": { + "$ref": "FeatureState", + "description": "Output only. State of the this membershipFeature.", + "readOnly": true + }, + "updateTime": { + "description": "Output only. When the MembershipFeature resource was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "MeteringState": { + "description": "**Metering**: State for a single membership, analyzed and reported by feature controller.", + "id": "MeteringState", + "properties": { + "lastMeasurementTime": { + "description": "The time stamp of the most recent measurement of the number of vCPUs in the cluster.", + "format": "google-datetime", + "type": "string" + }, + "preciseLastMeasuredClusterVcpuCapacity": { + "description": "The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision).", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "GoogleRpcStatus", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Metadata of the long-running operation.", + "id": "OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "cancelRequested": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "readOnly": true, + "type": "boolean" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "statusDetail": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Origin": { + "description": "Origin defines where this FeatureSpec originated from.", + "id": "Origin", + "properties": { + "type": { + "description": "Type specifies which type of origin is set.", + "enum": [ + "TYPE_UNSPECIFIED", + "FLEET", + "FLEET_OUT_OF_SYNC", + "USER" + ], + "enumDescriptions": [ + "Type is unknown or not set.", + "Per-Feature spec was inherited from the fleet-level default.", + "Per-Feature spec was inherited from the fleet-level default but is now out of sync with the current default.", + "Per-Feature spec was inherited from a user specification." + ], + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerBundleInstallSpec": { + "description": "BundleInstallSpec is the specification configuration for a single managed bundle.", + "id": "PolicyControllerBundleInstallSpec", + "properties": { + "exemptedNamespaces": { + "description": "the set of namespaces to be exempted from the bundle", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "PolicyControllerHubConfig": { + "description": "Configuration for Policy Controller", + "id": "PolicyControllerHubConfig", + "properties": { + "auditIntervalSeconds": { + "description": "Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.", + "format": "int64", + "type": "string" + }, + "constraintViolationLimit": { + "description": "The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used.", + "format": "int64", + "type": "string" + }, + "deploymentConfigs": { + "additionalProperties": { + "$ref": "PolicyControllerPolicyControllerDeploymentConfig" + }, + "description": "Map of deployment configs to deployments (“admission”, “audit”, “mutation”).", + "type": "object" + }, + "exemptableNamespaces": { + "description": "The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.", + "items": { + "type": "string" + }, + "type": "array" + }, + "installSpec": { + "description": "The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state.", + "enum": [ + "INSTALL_SPEC_UNSPECIFIED", + "INSTALL_SPEC_NOT_INSTALLED", + "INSTALL_SPEC_ENABLED", + "INSTALL_SPEC_SUSPENDED", + "INSTALL_SPEC_DETACHED" + ], + "enumDescriptions": [ + "Spec is unknown.", + "Request to uninstall Policy Controller.", + "Request to install and enable Policy Controller.", + "Request to suspend Policy Controller i.e. its webhooks. If Policy Controller is not installed, it will be installed but suspended.", + "Request to stop all reconciliation actions by PoCo Hub controller. This is a breakglass mechanism to stop PoCo Hub from affecting cluster resources." + ], + "type": "string" + }, + "logDeniesEnabled": { + "description": "Logs all denies and dry run failures.", + "type": "boolean" + }, + "monitoring": { + "$ref": "PolicyControllerMonitoringConfig", + "description": "Monitoring specifies the configuration of monitoring." + }, + "mutationEnabled": { + "description": "Enables the ability to mutate resources using Policy Controller.", + "type": "boolean" + }, + "policyContent": { + "$ref": "PolicyControllerPolicyContentSpec", + "description": "Specifies the desired policy content on the cluster" + }, + "referentialRulesEnabled": { + "description": "Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.", + "type": "boolean" + } + }, + "type": "object" + }, + "PolicyControllerMonitoringConfig": { + "description": "MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: [\"cloudmonitoring\", \"prometheus\"]", + "id": "PolicyControllerMonitoringConfig", + "properties": { + "backends": { + "description": "Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export.", + "items": { + "enum": [ + "MONITORING_BACKEND_UNSPECIFIED", + "PROMETHEUS", + "CLOUD_MONITORING" + ], + "enumDescriptions": [ + "Backend cannot be determined", + "Prometheus backend for monitoring", + "Stackdriver/Cloud Monitoring backend for monitoring" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "PolicyControllerOnClusterState": { + "description": "OnClusterState represents the state of a sub-component of Policy Controller.", + "id": "PolicyControllerOnClusterState", + "properties": { + "details": { + "description": "Surface potential errors or information logs.", + "type": "string" + }, + "state": { + "description": "The lifecycle state of this component.", + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLING", + "ACTIVE", + "UPDATING", + "DECOMMISSIONING", + "CLUSTER_ERROR", + "HUB_ERROR", + "SUSPENDED", + "DETACHED" + ], + "enumDescriptions": [ + "The lifecycle state is unspecified.", + "The PC does not exist on the given cluster, and no k8s resources of any type that are associated with the PC should exist there. The cluster does not possess a membership with the PCH.", + "The PCH possesses a Membership, however the PC is not fully installed on the cluster. In this state the hub can be expected to be taking actions to install the PC on the cluster.", + "The PC is fully installed on the cluster and in an operational mode. In this state PCH will be reconciling state with the PC, and the PC will be performing it's operational tasks per that software. Entering a READY state requires that the hub has confirmed the PC is installed and its pods are operational with the version of the PC the PCH expects.", + "The PC is fully installed, but in the process of changing the configuration (including changing the version of PC either up and down, or modifying the manifests of PC) of the resources running on the cluster. The PCH has a Membership, is aware of the version the cluster should be running in, but has not confirmed for itself that the PC is running with that version.", + "The PC may have resources on the cluster, but the PCH wishes to remove the Membership. The Membership still exists.", + "The PC is not operational, and the PCH is unable to act to make it operational. Entering a CLUSTER_ERROR state happens automatically when the PCH determines that a PC installed on the cluster is non-operative or that the cluster does not meet requirements set for the PCH to administer the cluster but has nevertheless been given an instruction to do so (such as ‘install').", + "In this state, the PC may still be operational, and only the PCH is unable to act. The hub should not issue instructions to change the PC state, or otherwise interfere with the on-cluster resources. Entering a HUB_ERROR state happens automatically when the PCH determines the hub is in an unhealthy state and it wishes to ‘take hands off' to avoid corrupting the PC or other data.", + "Policy Controller (PC) is installed but suspended. This means that the policies are not enforced, but violations are still recorded (through audit).", + "PoCo Hub is not taking any action to reconcile cluster objects. Changes to those objects will not be overwritten by PoCo Hub." + ], + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerPolicyContentSpec": { + "description": "PolicyContentSpec defines the user's desired content configuration on the cluster.", + "id": "PolicyControllerPolicyContentSpec", + "properties": { + "bundles": { + "additionalProperties": { + "$ref": "PolicyControllerBundleInstallSpec" + }, + "description": "map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint.", + "type": "object" + }, + "templateLibrary": { + "$ref": "PolicyControllerTemplateLibraryConfig", + "description": "Configures the installation of the Template Library." + } + }, + "type": "object" + }, + "PolicyControllerPolicyContentState": { + "description": "The state of the policy controller policy content", + "id": "PolicyControllerPolicyContentState", + "properties": { + "bundleStates": { + "additionalProperties": { + "$ref": "PolicyControllerOnClusterState" + }, + "description": "The state of the any bundles included in the chosen version of the manifest", + "type": "object" + }, + "referentialSyncConfigState": { + "$ref": "PolicyControllerOnClusterState", + "description": "The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user." + }, + "templateLibraryState": { + "$ref": "PolicyControllerOnClusterState", + "description": "The state of the template library" + } + }, + "type": "object" + }, + "PolicyControllerPolicyControllerDeploymentConfig": { + "description": "Deployment-specific configuration.", + "id": "PolicyControllerPolicyControllerDeploymentConfig", + "properties": { + "containerResources": { + "$ref": "PolicyControllerResourceRequirements", + "description": "Container resource requirements." + }, + "podAffinity": { + "description": "Pod affinity configuration.", + "enum": [ + "AFFINITY_UNSPECIFIED", + "NO_AFFINITY", + "ANTI_AFFINITY" + ], + "enumDescriptions": [ + "No affinity configuration has been specified.", + "Affinity configurations will be removed from the deployment.", + "Anti-affinity configuration will be applied to this deployment. Default for admissions deployment." + ], + "type": "string" + }, + "podAntiAffinity": { + "deprecated": true, + "description": "Pod anti-affinity enablement. Deprecated: use `pod_affinity` instead.", + "type": "boolean" + }, + "podTolerations": { + "description": "Pod tolerations of node taints.", + "items": { + "$ref": "PolicyControllerToleration" + }, + "type": "array" + }, + "replicaCount": { + "description": "Pod replica count.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerResourceList": { + "description": "ResourceList contains container resource requirements.", + "id": "PolicyControllerResourceList", + "properties": { + "cpu": { + "description": "CPU requirement expressed in Kubernetes resource units.", + "type": "string" + }, + "memory": { + "description": "Memory requirement expressed in Kubernetes resource units.", + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerResourceRequirements": { + "description": "ResourceRequirements describes the compute resource requirements.", + "id": "PolicyControllerResourceRequirements", + "properties": { + "limits": { + "$ref": "PolicyControllerResourceList", + "description": "Limits describes the maximum amount of compute resources allowed for use by the running container." + }, + "requests": { + "$ref": "PolicyControllerResourceList", + "description": "Requests describes the amount of compute resources reserved for the container by the kube-scheduler." + } + }, + "type": "object" + }, + "PolicyControllerSpec": { + "description": "**Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR.", + "id": "PolicyControllerSpec", + "properties": { + "policyControllerHubConfig": { + "$ref": "PolicyControllerHubConfig", + "description": "Policy Controller configuration for the cluster." + }, + "version": { + "description": "Version of Policy Controller installed.", + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerState": { + "description": "**Policy Controller**: State for a single cluster.", + "id": "PolicyControllerState", + "properties": { + "componentStates": { + "additionalProperties": { + "$ref": "PolicyControllerOnClusterState" + }, + "description": "Currently these include (also serving as map keys): 1. \"admission\" 2. \"audit\" 3. \"mutation\"", + "type": "object" + }, + "policyContentState": { + "$ref": "PolicyControllerPolicyContentState", + "description": "The overall content state observed by the Hub Feature controller." + }, + "state": { + "description": "The overall Policy Controller lifecycle state observed by the Hub Feature controller.", + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLING", + "ACTIVE", + "UPDATING", + "DECOMMISSIONING", + "CLUSTER_ERROR", + "HUB_ERROR", + "SUSPENDED", + "DETACHED" + ], + "enumDescriptions": [ + "The lifecycle state is unspecified.", + "The PC does not exist on the given cluster, and no k8s resources of any type that are associated with the PC should exist there. The cluster does not possess a membership with the PCH.", + "The PCH possesses a Membership, however the PC is not fully installed on the cluster. In this state the hub can be expected to be taking actions to install the PC on the cluster.", + "The PC is fully installed on the cluster and in an operational mode. In this state PCH will be reconciling state with the PC, and the PC will be performing it's operational tasks per that software. Entering a READY state requires that the hub has confirmed the PC is installed and its pods are operational with the version of the PC the PCH expects.", + "The PC is fully installed, but in the process of changing the configuration (including changing the version of PC either up and down, or modifying the manifests of PC) of the resources running on the cluster. The PCH has a Membership, is aware of the version the cluster should be running in, but has not confirmed for itself that the PC is running with that version.", + "The PC may have resources on the cluster, but the PCH wishes to remove the Membership. The Membership still exists.", + "The PC is not operational, and the PCH is unable to act to make it operational. Entering a CLUSTER_ERROR state happens automatically when the PCH determines that a PC installed on the cluster is non-operative or that the cluster does not meet requirements set for the PCH to administer the cluster but has nevertheless been given an instruction to do so (such as ‘install').", + "In this state, the PC may still be operational, and only the PCH is unable to act. The hub should not issue instructions to change the PC state, or otherwise interfere with the on-cluster resources. Entering a HUB_ERROR state happens automatically when the PCH determines the hub is in an unhealthy state and it wishes to ‘take hands off' to avoid corrupting the PC or other data.", + "Policy Controller (PC) is installed but suspended. This means that the policies are not enforced, but violations are still recorded (through audit).", + "PoCo Hub is not taking any action to reconcile cluster objects. Changes to those objects will not be overwritten by PoCo Hub." + ], + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerTemplateLibraryConfig": { + "description": "The config specifying which default library templates to install.", + "id": "PolicyControllerTemplateLibraryConfig", + "properties": { + "installation": { + "description": "Configures the manner in which the template library is installed on the cluster.", + "enum": [ + "INSTALLATION_UNSPECIFIED", + "NOT_INSTALLED", + "ALL" + ], + "enumDescriptions": [ + "No installation strategy has been specified.", + "Do not install the template library.", + "Install the entire template library." + ], + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerToleration": { + "description": "Toleration of a node taint.", + "id": "PolicyControllerToleration", + "properties": { + "effect": { + "description": "Matches a taint effect.", + "type": "string" + }, + "key": { + "description": "Matches a taint key (not necessarily unique).", + "type": "string" + }, + "operator": { + "description": "Matches a taint operator.", + "type": "string" + }, + "value": { + "description": "Matches a taint value.", + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshAnalysisMessage": { + "description": "AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about the state of their Service Mesh configuration.", + "id": "ServiceMeshAnalysisMessage", + "properties": { + "args": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "A UI can combine these args with a template (based on message_base.type) to produce an internationalized message.", + "type": "object" + }, + "description": { + "description": "A human readable description of what the error means. It is suitable for non-internationalize display purposes.", + "type": "string" + }, + "messageBase": { + "$ref": "ServiceMeshAnalysisMessageBase", + "description": "Details common to all types of Istio and ServiceMesh analysis messages." + }, + "resourcePaths": { + "description": "A list of strings specifying the resource identifiers that were the cause of message generation. A \"path\" here may be: * MEMBERSHIP_ID if the cause is a specific member cluster * MEMBERSHIP_ID/(NAMESPACE\\/)?RESOURCETYPE/NAME if the cause is a resource in a cluster", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ServiceMeshAnalysisMessageBase": { + "description": "AnalysisMessageBase describes some common information that is needed for all messages.", + "id": "ServiceMeshAnalysisMessageBase", + "properties": { + "documentationUrl": { + "description": "A url pointing to the Service Mesh or Istio documentation for this specific error type.", + "type": "string" + }, + "level": { + "description": "Represents how severe a message is.", + "enum": [ + "LEVEL_UNSPECIFIED", + "ERROR", + "WARNING", + "INFO" + ], + "enumDescriptions": [ + "Illegal. Same istio.analysis.v1alpha1.AnalysisMessageBase.Level.UNKNOWN.", + "ERROR represents a misconfiguration that must be fixed.", + "WARNING represents a misconfiguration that should be fixed.", + "INFO represents an informational finding." + ], + "type": "string" + }, + "type": { + "$ref": "ServiceMeshType", + "description": "Represents the specific type of a message." + } + }, + "type": "object" + }, + "ServiceMeshCondition": { + "description": "Condition being reported.", + "id": "ServiceMeshCondition", + "properties": { + "code": { + "description": "Unique identifier of the condition which describes the condition recognizable to the user.", + "enum": [ + "CODE_UNSPECIFIED", + "MESH_IAM_PERMISSION_DENIED", + "MESH_IAM_CROSS_PROJECT_PERMISSION_DENIED", + "CNI_CONFIG_UNSUPPORTED", + "GKE_SANDBOX_UNSUPPORTED", + "NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED", + "CNI_INSTALLATION_FAILED", + "CNI_POD_UNSCHEDULABLE", + "CLUSTER_HAS_ZERO_NODES", + "UNSUPPORTED_MULTIPLE_CONTROL_PLANES", + "VPCSC_GA_SUPPORTED", + "DEPRECATED_SPEC_CONTROL_PLANE_MANAGEMENT", + "DEPRECATED_SPEC_CONTROL_PLANE_MANAGEMENT_SAFE", + "CONFIG_APPLY_INTERNAL_ERROR", + "CONFIG_VALIDATION_ERROR", + "CONFIG_VALIDATION_WARNING", + "QUOTA_EXCEEDED_BACKEND_SERVICES", + "QUOTA_EXCEEDED_HEALTH_CHECKS", + "QUOTA_EXCEEDED_HTTP_ROUTES", + "QUOTA_EXCEEDED_TCP_ROUTES", + "QUOTA_EXCEEDED_TLS_ROUTES", + "QUOTA_EXCEEDED_TRAFFIC_POLICIES", + "QUOTA_EXCEEDED_ENDPOINT_POLICIES", + "QUOTA_EXCEEDED_GATEWAYS", + "QUOTA_EXCEEDED_MESHES", + "QUOTA_EXCEEDED_SERVER_TLS_POLICIES", + "QUOTA_EXCEEDED_CLIENT_TLS_POLICIES", + "QUOTA_EXCEEDED_SERVICE_LB_POLICIES", + "QUOTA_EXCEEDED_HTTP_FILTERS", + "QUOTA_EXCEEDED_TCP_FILTERS", + "QUOTA_EXCEEDED_NETWORK_ENDPOINT_GROUPS", + "MODERNIZATION_SCHEDULED", + "MODERNIZATION_IN_PROGRESS", + "MODERNIZATION_COMPLETED", + "MODERNIZATION_ABORTED" + ], + "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", + "CNI installation failed error code", + "CNI pod unschedulable error code", + "Cluster has zero node code", + "Multiple control planes unsupported error code", + "VPC-SC GA is supported for this control plane.", + "User is using deprecated ControlPlaneManagement and they have not yet set Management.", + "User is using deprecated ControlPlaneManagement and they have already set Management.", + "Configuration (Istio/k8s resources) failed to apply due to internal error.", + "Configuration failed to be applied due to being invalid.", + "Encountered configuration(s) with possible unintended behavior or invalid configuration. These configs may not have been applied.", + "BackendService quota exceeded error code.", + "HealthCheck quota exceeded error code.", + "HTTPRoute quota exceeded error code.", + "TCPRoute quota exceeded error code.", + "TLS routes quota exceeded error code.", + "TrafficPolicy quota exceeded error code.", + "EndpointPolicy quota exceeded error code.", + "Gateway quota exceeded error code.", + "Mesh quota exceeded error code.", + "ServerTLSPolicy quota exceeded error code.", + "ClientTLSPolicy quota exceeded error code.", + "ServiceLBPolicy quota exceeded error code.", + "HTTPFilter quota exceeded error code.", + "TCPFilter quota exceeded error code.", + "NetworkEndpointGroup quota exceeded error code.", + "Modernization is scheduled for a cluster.", + "Modernization is in progress for a cluster.", + "Modernization is completed for a cluster.", + "Modernization is aborted for a cluster." + ], + "type": "string" + }, + "details": { + "description": "A short summary about the issue.", + "type": "string" + }, + "documentationLink": { + "description": "Links contains actionable information.", + "type": "string" + }, + "severity": { + "description": "Severity level of the condition.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "ERROR", + "WARNING", + "INFO" + ], + "enumDescriptions": [ + "Unspecified severity", + "Indicates an issue that prevents the mesh from operating correctly", + "Indicates a setting is likely wrong, but the mesh is still able to operate", + "An informational message, not requiring any action" + ], + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshControlPlaneManagement": { + "description": "Status of control plane management.", + "id": "ServiceMeshControlPlaneManagement", + "properties": { + "details": { + "description": "Explanation of state.", + "items": { + "$ref": "ServiceMeshStatusDetails" + }, + "type": "array" + }, + "implementation": { + "description": "Output only. Implementation of managed control plane.", + "enum": [ + "IMPLEMENTATION_UNSPECIFIED", + "ISTIOD", + "TRAFFIC_DIRECTOR", + "UPDATING" + ], + "enumDescriptions": [ + "Unspecified", + "A Google build of istiod is used for the managed control plane.", + "Traffic director is used for the managed control plane.", + "The control plane implementation is being updated." + ], + "readOnly": true, + "type": "string" + }, + "state": { + "description": "LifecycleState of control plane management.", + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "DISABLED", + "FAILED_PRECONDITION", + "PROVISIONING", + "ACTIVE", + "STALLED", + "NEEDS_ATTENTION", + "DEGRADED" + ], + "enumDescriptions": [ + "Unspecified", + "DISABLED means that the component is not enabled.", + "FAILED_PRECONDITION means that provisioning cannot proceed because of some characteristic of the member cluster.", + "PROVISIONING means that provisioning is in progress.", + "ACTIVE means that the component is ready for use.", + "STALLED means that provisioning could not be done.", + "NEEDS_ATTENTION means that the component is ready, but some user intervention is required. (For example that the user should migrate workloads to a new control plane revision.)", + "DEGRADED means that the component is ready, but operating in a degraded state." + ], + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshDataPlaneManagement": { + "description": "Status of data plane management. Only reported per-member.", + "id": "ServiceMeshDataPlaneManagement", + "properties": { + "details": { + "description": "Explanation of the status.", + "items": { + "$ref": "ServiceMeshStatusDetails" + }, + "type": "array" + }, + "state": { + "description": "Lifecycle status of data plane management.", + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "DISABLED", + "FAILED_PRECONDITION", + "PROVISIONING", + "ACTIVE", + "STALLED", + "NEEDS_ATTENTION", + "DEGRADED" + ], + "enumDescriptions": [ + "Unspecified", + "DISABLED means that the component is not enabled.", + "FAILED_PRECONDITION means that provisioning cannot proceed because of some characteristic of the member cluster.", + "PROVISIONING means that provisioning is in progress.", + "ACTIVE means that the component is ready for use.", + "STALLED means that provisioning could not be done.", + "NEEDS_ATTENTION means that the component is ready, but some user intervention is required. (For example that the user should migrate workloads to a new control plane revision.)", + "DEGRADED means that the component is ready, but operating in a degraded state." + ], + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshSpec": { + "description": "**Service Mesh**: Spec for a single Membership for the servicemesh feature", + "id": "ServiceMeshSpec", + "properties": { + "configApi": { + "description": "Optional. Specifies the API that will be used for configuring the mesh workloads.", + "enum": [ + "CONFIG_API_UNSPECIFIED", + "CONFIG_API_ISTIO", + "CONFIG_API_GATEWAY" + ], + "enumDescriptions": [ + "Unspecified", + "Use the Istio API for configuration.", + "Use the K8s Gateway API for configuration." + ], + "type": "string" + }, + "controlPlane": { + "deprecated": true, + "description": "Deprecated: use `management` instead Enables automatic control plane management.", + "enum": [ + "CONTROL_PLANE_MANAGEMENT_UNSPECIFIED", + "AUTOMATIC", + "MANUAL" + ], + "enumDescriptions": [ + "Unspecified", + "Google should provision a control plane revision and make it available in the cluster. Google will enroll this revision in a release channel and keep it up to date. The control plane revision may be a managed service, or a managed install.", + "User will manually configure the control plane (e.g. via CLI, or via the ControlPlaneRevision KRM API)" + ], + "type": "string" + }, + "defaultChannel": { + "deprecated": true, + "description": "Determines which release channel to use for default injection and service mesh APIs.", + "enum": [ + "CHANNEL_UNSPECIFIED", + "RAPID", + "REGULAR", + "STABLE" + ], + "enumDescriptions": [ + "Unspecified", + "RAPID channel is offered on an early access basis for customers who want to test new releases.", + "REGULAR channel is intended for production users who want to take advantage of new features.", + "STABLE channel includes versions that are known to be stable and reliable in production." + ], + "type": "string" + }, + "management": { + "description": "Optional. Enables automatic Service Mesh management.", + "enum": [ + "MANAGEMENT_UNSPECIFIED", + "MANAGEMENT_AUTOMATIC", + "MANAGEMENT_MANUAL" + ], + "enumDescriptions": [ + "Unspecified", + "Google should manage my Service Mesh for the cluster.", + "User will manually configure their service mesh components." + ], + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshState": { + "description": "**Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller.", + "id": "ServiceMeshState", + "properties": { + "analysisMessages": { + "description": "Output only. Results of running Service Mesh analyzers.", + "items": { + "$ref": "ServiceMeshAnalysisMessage" + }, + "readOnly": true, + "type": "array" + }, + "conditions": { + "description": "Output only. List of conditions reported for this membership.", + "items": { + "$ref": "ServiceMeshCondition" + }, + "readOnly": true, + "type": "array" + }, + "configApiVersion": { + "description": "The API version (i.e. Istio CRD version) for configuring service mesh in this cluster. This version is influenced by the `default_channel` field.", + "type": "string" + }, + "controlPlaneManagement": { + "$ref": "ServiceMeshControlPlaneManagement", + "description": "Output only. Status of control plane management", + "readOnly": true + }, + "dataPlaneManagement": { + "$ref": "ServiceMeshDataPlaneManagement", + "description": "Output only. Status of data plane management.", + "readOnly": true + } + }, + "type": "object" + }, + "ServiceMeshStatusDetails": { + "description": "Structured and human-readable details for a status.", + "id": "ServiceMeshStatusDetails", + "properties": { + "code": { + "description": "A machine-readable code that further describes a broad status.", + "type": "string" + }, + "details": { + "description": "Human-readable explanation of code.", + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshType": { + "description": "A unique identifier for the type of message. Display_name is intended to be human-readable, code is intended to be machine readable. There should be a one-to-one mapping between display_name and code. (i.e. do not re-use display_names or codes between message types.) See istio.analysis.v1alpha1.AnalysisMessageBase.Type", + "id": "ServiceMeshType", + "properties": { + "code": { + "description": "A 7 character code matching `^IST[0-9]{4}$` or `^ASM[0-9]{4}$`, intended to uniquely identify the message type. (e.g. \"IST0001\" is mapped to the \"InternalError\" message type.)", + "type": "string" + }, + "displayName": { + "description": "A human-readable name for the message type. e.g. \"InternalError\", \"PodMissingProxy\". This should be the same for all messages of the same type. (This corresponds to the `name` field in open-source Istio.)", + "type": "string" + } + }, + "type": "object" + }, + "State": { + "description": "High-level state of a MembershipFeature.", + "id": "State", + "properties": { + "code": { + "description": "The high-level, machine-readable status of this MembershipFeature.", + "enum": [ + "CODE_UNSPECIFIED", + "OK", + "WARNING", + "ERROR" + ], + "enumDescriptions": [ + "Unknown or not set.", + "The MembershipFeature is operating normally.", + "The MembershipFeature has encountered an issue, and is operating in a degraded state. The MembershipFeature may need intervention to return to normal operation. See the description and any associated MembershipFeature-specific details for more information.", + "The MembershipFeature is not operating or is in a severely degraded state. The MembershipFeature may need intervention to return to normal operation. See the description and any associated MembershipFeature-specific details for more information." + ], + "type": "string" + }, + "description": { + "description": "A human-readable description of the current status.", + "type": "string" + }, + "updateTime": { + "description": "The time this status and any related Feature-specific details were updated.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "WorkloadCertificateSpec": { + "description": "**WorkloadCertificate**: The membership-specific input for WorkloadCertificate feature.", + "id": "WorkloadCertificateSpec", + "properties": { + "certificateManagement": { + "description": "CertificateManagement specifies workload certificate management.", + "enum": [ + "CERTIFICATE_MANAGEMENT_UNSPECIFIED", + "DISABLED", + "ENABLED" + ], + "enumDescriptions": [ + "Disable workload certificate feature.", + "Disable workload certificate feature.", + "Enable workload certificate feature." + ], + "type": "string" } }, "type": "object" diff --git a/discovery/gkehub-v2beta.json b/discovery/gkehub-v2beta.json index a587b00fb0..c424b3d3a5 100644 --- a/discovery/gkehub-v2beta.json +++ b/discovery/gkehub-v2beta.json @@ -177,10 +177,201 @@ } }, "resources": { + "memberships": { + "resources": { + "features": { + "methods": { + "create": { + "description": "Creates membershipFeature under a given parent.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features", + "httpMethod": "POST", + "id": "gkehub.projects.locations.memberships.features.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "featureId": { + "description": "Required. The ID of the membership_feature to create.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of parent where the MembershipFeature will be created. Specified in the format `projects/*/locations/*/memberships/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Idempotent request UUID.", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/{+parent}/features", + "request": { + "$ref": "MembershipFeature" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Removes a membershipFeature.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features/{featuresId}", + "httpMethod": "DELETE", + "id": "gkehub.projects.locations.memberships.features.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the membershipFeature to be deleted. Specified in the format `projects/*/locations/*/memberships/*/features/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/features/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Idempotent request UUID.", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "========= MembershipFeature Services ========= Gets details of a membershipFeature.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features/{featuresId}", + "httpMethod": "GET", + "id": "gkehub.projects.locations.memberships.features.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The MembershipFeature resource name in the format `projects/*/locations/*/memberships/*/features/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/features/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "MembershipFeature" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists MembershipFeatures in a given project and location.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features", + "httpMethod": "GET", + "id": "gkehub.projects.locations.memberships.features.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Lists MembershipFeatures that match the filter expression, following the syntax outlined in https://google.aip.dev/160. Examples: - Feature with the name \"helloworld\" in project \"foo-proj\" and membership \"member-bar\": name = \"projects/foo-proj/locations/global/memberships/member-bar/features/helloworld\" - Features that have a label called `foo`: labels.foo:* - Features that have a label called `foo` whose value is `bar`: labels.foo = bar", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "One or more fields to compare and use to sort the output. See https://google.aip.dev/132#ordering.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "When requesting a 'page' of resources, `page_size` specifies number of resources to return. If unspecified or set to 0, all resources will be returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Token returned by previous call to `ListFeatures` which specifies the position in the list from where to continue listing the resources.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent where the MembershipFeature will be listed. In the format: `projects/*/locations/*/memberships/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+parent}/features", + "response": { + "$ref": "ListMembershipFeaturesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an existing MembershipFeature.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/memberships/{membershipsId}/features/{featuresId}", + "httpMethod": "PATCH", + "id": "gkehub.projects.locations.memberships.features.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "allowMissing": { + "description": "Optional. If set to true, and the MembershipFeature is not found, a new MembershipFeature will be created. In this situation, `update_mask` is ignored.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Output only. The resource name of the membershipFeature, in the format: `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note that `membershipFeatures` is shortened to `features` in the resource name. (see http://go/aip/122#collection-identifiers)", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/memberships/[^/]+/features/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Idempotent request UUID.", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/{+name}", + "request": { + "$ref": "MembershipFeature" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, "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`.", + "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": "v2beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "gkehub.projects.locations.operations.cancel", @@ -280,149 +471,2801 @@ } } }, - "revision": "20240809", + "revision": "20241206", "rootUrl": "https://gkehub.googleapis.com/", "schemas": { + "AppDevExperienceState": { + "description": "State for App Dev Exp Feature.", + "id": "AppDevExperienceState", + "properties": { + "networkingInstallSucceeded": { + "$ref": "AppDevExperienceStatus", + "description": "Status of subcomponent that detects configured Service Mesh resources." + } + }, + "type": "object" + }, + "AppDevExperienceStatus": { + "description": "Status specifies state for the subcomponent.", + "id": "AppDevExperienceStatus", + "properties": { + "code": { + "description": "Code specifies AppDevExperienceFeature's subcomponent ready state.", + "enum": [ + "CODE_UNSPECIFIED", + "OK", + "FAILED", + "UNKNOWN" + ], + "enumDescriptions": [ + "Not set.", + "AppDevExperienceFeature's specified subcomponent is ready.", + "AppDevExperienceFeature's specified subcomponent ready state is false. This means AppDevExperienceFeature has encountered an issue that blocks all, or a portion, of its normal operation. See the `description` for more details.", + "AppDevExperienceFeature's specified subcomponent has a pending or unknown state." + ], + "type": "string" + }, + "description": { + "description": "Description is populated if Code is Failed, explaining why it has failed.", + "type": "string" + } + }, + "type": "object" + }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", "properties": {}, "type": "object" }, - "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", - "id": "Empty", - "properties": {}, + "CloudBuildSpec": { + "description": "**Cloud Build**: Configurations for each Cloud Build enabled cluster.", + "id": "CloudBuildSpec", + "properties": { + "securityPolicy": { + "description": "Whether it is allowed to run the privileged builds on the cluster or not.", + "enum": [ + "SECURITY_POLICY_UNSPECIFIED", + "NON_PRIVILEGED", + "PRIVILEGED" + ], + "enumDescriptions": [ + "Unspecified policy", + "Privileged build pods are disallowed", + "Privileged build pods are allowed" + ], + "type": "string" + }, + "version": { + "description": "Version of the cloud build software on the cluster.", + "type": "string" + } + }, "type": "object" }, - "GoogleRpcStatus": { - "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", - "id": "GoogleRpcStatus", + "ClusterUpgradeGKEUpgrade": { + "description": "GKEUpgrade represents a GKE provided upgrade, e.g., control plane upgrade.", + "id": "ClusterUpgradeGKEUpgrade", "properties": { - "code": { - "description": "The status code, which should be an enum value of google.rpc.Code.", - "format": "int32", - "type": "integer" + "name": { + "description": "Name of the upgrade, e.g., \"k8s_control_plane\".", + "type": "string" }, - "details": { - "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", - "items": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "type": "object" - }, - "type": "array" + "version": { + "description": "Version of the upgrade, e.g., \"1.22.1-gke.100\".", + "type": "string" + } + }, + "type": "object" + }, + "ClusterUpgradeIgnoredMembership": { + "description": "IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default.", + "id": "ClusterUpgradeIgnoredMembership", + "properties": { + "ignoredTime": { + "description": "Time when the membership was first set to ignored.", + "format": "google-datetime", + "type": "string" }, - "message": { - "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "reason": { + "description": "Reason why the membership is ignored.", "type": "string" } }, "type": "object" }, - "ListLocationsResponse": { - "description": "The response message for Locations.ListLocations.", - "id": "ListLocationsResponse", + "ClusterUpgradeMembershipGKEUpgradeState": { + "description": "MembershipGKEUpgradeState is a GKEUpgrade and its state per-membership.", + "id": "ClusterUpgradeMembershipGKEUpgradeState", "properties": { - "locations": { - "description": "A list of locations that matches the specified filter in the request.", + "status": { + "$ref": "ClusterUpgradeUpgradeStatus", + "description": "Status of the upgrade." + }, + "upgrade": { + "$ref": "ClusterUpgradeGKEUpgrade", + "description": "Which upgrade to track the state." + } + }, + "type": "object" + }, + "ClusterUpgradeState": { + "description": "Per-membership state for this feature.", + "id": "ClusterUpgradeState", + "properties": { + "ignored": { + "$ref": "ClusterUpgradeIgnoredMembership", + "description": "Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel." + }, + "upgrades": { + "description": "Actual upgrade state against desired.", "items": { - "$ref": "Location" + "$ref": "ClusterUpgradeMembershipGKEUpgradeState" }, "type": "array" + } + }, + "type": "object" + }, + "ClusterUpgradeUpgradeStatus": { + "description": "UpgradeStatus provides status information for each upgrade.", + "id": "ClusterUpgradeUpgradeStatus", + "properties": { + "code": { + "description": "Status code of the upgrade.", + "enum": [ + "CODE_UNSPECIFIED", + "INELIGIBLE", + "PENDING", + "IN_PROGRESS", + "SOAKING", + "FORCED_SOAKING", + "COMPLETE" + ], + "enumDescriptions": [ + "Required by https://linter.aip.dev/126/unspecified.", + "The upgrade is ineligible. At the scope level, this means the upgrade is ineligible for all the clusters in the scope.", + "The upgrade is pending. At the scope level, this means the upgrade is pending for all the clusters in the scope.", + "The upgrade is in progress. At the scope level, this means the upgrade is in progress for at least one cluster in the scope.", + "The upgrade has finished and is soaking until the soaking time is up. At the scope level, this means at least one cluster is in soaking while the rest are either soaking or complete.", + "A cluster will be forced to enter soaking if an upgrade doesn't finish within a certain limit, despite it's actual status.", + "The upgrade has passed all post conditions (soaking). At the scope level, this means all eligible clusters are in COMPLETE status." + ], + "type": "string" }, - "nextPageToken": { - "description": "The standard List next-page token.", + "reason": { + "description": "Reason for this status.", + "type": "string" + }, + "updateTime": { + "description": "Last timestamp the status was updated.", + "format": "google-datetime", "type": "string" } }, "type": "object" }, - "ListOperationsResponse": { - "description": "The response message for Operations.ListOperations.", - "id": "ListOperationsResponse", + "ConfigManagementBinauthzConfig": { + "description": "Configuration for Binauthz.", + "id": "ConfigManagementBinauthzConfig", "properties": { - "nextPageToken": { - "description": "The standard List next-page token.", + "enabled": { + "description": "Whether binauthz is enabled in this cluster.", + "type": "boolean" + } + }, + "type": "object" + }, + "ConfigManagementBinauthzState": { + "description": "State for Binauthz.", + "id": "ConfigManagementBinauthzState", + "properties": { + "version": { + "$ref": "ConfigManagementBinauthzVersion", + "description": "The version of binauthz that is installed." + }, + "webhook": { + "description": "The state of the binauthz webhook.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementBinauthzVersion": { + "description": "The version of binauthz.", + "id": "ConfigManagementBinauthzVersion", + "properties": { + "webhookVersion": { + "description": "The version of the binauthz webhook.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementConfigSync": { + "description": "Configuration for Config Sync", + "id": "ConfigManagementConfigSync", + "properties": { + "allowVerticalScale": { + "deprecated": true, + "description": "Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated.", + "type": "boolean" }, - "operations": { - "description": "A list of operations that matches the specified filter in the request.", + "enabled": { + "description": "Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field.", + "type": "boolean" + }, + "git": { + "$ref": "ConfigManagementGitConfig", + "description": "Git repo configuration for the cluster." + }, + "metricsGcpServiceAccountEmail": { + "deprecated": true, + "description": "The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA. Deprecated: If Workload Identity Federation for GKE is enabled, Google Cloud Service Account is no longer needed for exporting Config Sync metrics: https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/monitor-config-sync-cloud-monitoring#custom-monitoring.", + "type": "string" + }, + "oci": { + "$ref": "ConfigManagementOciConfig", + "description": "OCI repo configuration for the cluster." + }, + "preventDrift": { + "description": "Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts.", + "type": "boolean" + }, + "sourceFormat": { + "description": "Specifies whether the Config Sync Repo is in \"hierarchical\" or \"unstructured\" mode.", + "type": "string" + }, + "stopSyncing": { + "description": "Set to true to stop syncing configs for a single cluster. Default to false.", + "type": "boolean" + } + }, + "type": "object" + }, + "ConfigManagementConfigSyncDeploymentState": { + "description": "The state of ConfigSync's deployment on a cluster.", + "id": "ConfigManagementConfigSyncDeploymentState", + "properties": { + "admissionWebhook": { + "description": "Deployment state of admission-webhook.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "gitSync": { + "description": "Deployment state of the git-sync pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "importer": { + "description": "Deployment state of the importer pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "monitor": { + "description": "Deployment state of the monitor pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "otelCollector": { + "description": "Deployment state of otel-collector", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "reconcilerManager": { + "description": "Deployment state of reconciler-manager pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "resourceGroupControllerManager": { + "description": "Deployment state of resource-group-controller-manager", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "rootReconciler": { + "description": "Deployment state of root-reconciler.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "syncer": { + "description": "Deployment state of the syncer pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementConfigSyncError": { + "description": "Errors pertaining to the installation of Config Sync", + "id": "ConfigManagementConfigSyncError", + "properties": { + "errorMessage": { + "description": "A string representing the user facing error message", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementConfigSyncState": { + "description": "State information for ConfigSync.", + "id": "ConfigManagementConfigSyncState", + "properties": { + "clusterLevelStopSyncingState": { + "description": "Whether syncing resources to the cluster is stopped at the cluster level.", + "enum": [ + "STOP_SYNCING_STATE_UNSPECIFIED", + "NOT_STOPPED", + "PENDING", + "STOPPED" + ], + "enumDescriptions": [ + "State cannot be determined", + "Syncing resources to the cluster is not stopped at the cluster level.", + "Some reconcilers stop syncing resources to the cluster, while others are still syncing.", + "Syncing resources to the cluster is stopped at the cluster level." + ], + "type": "string" + }, + "crCount": { + "description": "Output only. The number of RootSync and RepoSync CRs in the cluster.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "deploymentState": { + "$ref": "ConfigManagementConfigSyncDeploymentState", + "description": "Information about the deployment of ConfigSync, including the version. of the various Pods deployed" + }, + "errors": { + "description": "Errors pertaining to the installation of Config Sync.", "items": { - "$ref": "Operation" + "$ref": "ConfigManagementConfigSyncError" }, "type": "array" + }, + "reposyncCrd": { + "description": "The state of the Reposync CRD", + "enum": [ + "CRD_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "TERMINATING", + "INSTALLING" + ], + "enumDescriptions": [ + "CRD's state cannot be determined", + "CRD is not installed", + "CRD is installed", + "CRD is terminating (i.e., it has been deleted and is cleaning up)", + "CRD is installing" + ], + "type": "string" + }, + "rootsyncCrd": { + "description": "The state of the RootSync CRD", + "enum": [ + "CRD_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "TERMINATING", + "INSTALLING" + ], + "enumDescriptions": [ + "CRD's state cannot be determined", + "CRD is not installed", + "CRD is installed", + "CRD is terminating (i.e., it has been deleted and is cleaning up)", + "CRD is installing" + ], + "type": "string" + }, + "state": { + "description": "The state of CS This field summarizes the other fields in this message.", + "enum": [ + "STATE_UNSPECIFIED", + "CONFIG_SYNC_NOT_INSTALLED", + "CONFIG_SYNC_INSTALLED", + "CONFIG_SYNC_ERROR", + "CONFIG_SYNC_PENDING" + ], + "enumDescriptions": [ + "CS's state cannot be determined.", + "CS is not installed.", + "The expected CS version is installed successfully.", + "CS encounters errors.", + "CS is installing or terminating." + ], + "type": "string" + }, + "syncState": { + "$ref": "ConfigManagementSyncState", + "description": "The state of ConfigSync's process to sync configs to a cluster." + }, + "version": { + "$ref": "ConfigManagementConfigSyncVersion", + "description": "The version of ConfigSync deployed." } }, "type": "object" }, - "Location": { - "description": "A resource that represents a Google Cloud location.", - "id": "Location", + "ConfigManagementConfigSyncVersion": { + "description": "Specific versioning information pertaining to ConfigSync's Pods.", + "id": "ConfigManagementConfigSyncVersion", "properties": { - "displayName": { - "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "admissionWebhook": { + "description": "Version of the deployed admission-webhook pod.", "type": "string" }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", - "type": "object" + "gitSync": { + "description": "Version of the deployed git-sync pod.", + "type": "string" }, - "locationId": { - "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "importer": { + "description": "Version of the deployed importer pod.", "type": "string" }, - "metadata": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "Service-specific metadata. For example the available capacity at the given location.", - "type": "object" + "monitor": { + "description": "Version of the deployed monitor pod.", + "type": "string" }, - "name": { - "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", + "otelCollector": { + "description": "Version of the deployed otel-collector pod", + "type": "string" + }, + "reconcilerManager": { + "description": "Version of the deployed reconciler-manager pod.", + "type": "string" + }, + "resourceGroupControllerManager": { + "description": "Version of the deployed resource-group-controller-manager pod", + "type": "string" + }, + "rootReconciler": { + "description": "Version of the deployed reconciler container in root-reconciler pod.", + "type": "string" + }, + "syncer": { + "description": "Version of the deployed syncer pod.", "type": "string" } }, "type": "object" }, - "Operation": { - "description": "This resource represents a long-running operation that is the result of a network API call.", - "id": "Operation", + "ConfigManagementErrorResource": { + "description": "Model for a config file in the git repo with an associated Sync error.", + "id": "ConfigManagementErrorResource", "properties": { - "done": { - "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", - "type": "boolean" + "resourceGvk": { + "$ref": "ConfigManagementGroupVersionKind", + "description": "Group/version/kind of the resource that is causing an error" }, - "error": { - "$ref": "GoogleRpcStatus", - "description": "The error result of the operation in case of failure or cancellation." + "resourceName": { + "description": "Metadata name of the resource that is causing an error", + "type": "string" }, - "metadata": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", - "type": "object" + "resourceNamespace": { + "description": "Namespace of the resource that is causing an error", + "type": "string" }, - "name": { - "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "sourcePath": { + "description": "Path in the git repo of the erroneous config", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementGatekeeperDeploymentState": { + "description": "State of Policy Controller installation.", + "id": "ConfigManagementGatekeeperDeploymentState", + "properties": { + "gatekeeperAudit": { + "description": "Status of gatekeeper-audit deployment.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], "type": "string" }, - "response": { - "additionalProperties": { - "description": "Properties of the object. Contains field @type with type URL.", - "type": "any" - }, - "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", - "type": "object" + "gatekeeperControllerManagerState": { + "description": "Status of gatekeeper-controller-manager pod.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "gatekeeperMutation": { + "description": "Status of the pod serving the mutation webhook.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementGitConfig": { + "description": "Git repo configuration for a single cluster.", + "id": "ConfigManagementGitConfig", + "properties": { + "gcpServiceAccountEmail": { + "description": "The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", + "type": "string" + }, + "httpsProxy": { + "description": "URL for the HTTPS proxy to be used when communicating with the Git repo.", + "type": "string" + }, + "policyDir": { + "description": "The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository.", + "type": "string" + }, + "secretType": { + "description": "Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required.", + "type": "string" + }, + "syncBranch": { + "description": "The branch of the repository to sync from. Default: master.", + "type": "string" + }, + "syncRepo": { + "description": "The URL of the Git repository to use as the source of truth.", + "type": "string" + }, + "syncRev": { + "description": "Git revision (tag or hash) to check out. Default HEAD.", + "type": "string" + }, + "syncWaitSecs": { + "description": "Period in seconds between consecutive syncs. Default: 15.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementGroupVersionKind": { + "description": "A Kubernetes object's GVK.", + "id": "ConfigManagementGroupVersionKind", + "properties": { + "group": { + "description": "Kubernetes Group", + "type": "string" + }, + "kind": { + "description": "Kubernetes Kind", + "type": "string" + }, + "version": { + "description": "Kubernetes Version", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementHierarchyControllerConfig": { + "description": "Configuration for Hierarchy Controller.", + "id": "ConfigManagementHierarchyControllerConfig", + "properties": { + "enableHierarchicalResourceQuota": { + "description": "Whether hierarchical resource quota is enabled in this cluster.", + "type": "boolean" + }, + "enablePodTreeLabels": { + "description": "Whether pod tree labels are enabled in this cluster.", + "type": "boolean" + }, + "enabled": { + "description": "Whether Hierarchy Controller is enabled in this cluster.", + "type": "boolean" + } + }, + "type": "object" + }, + "ConfigManagementHierarchyControllerDeploymentState": { + "description": "Deployment state for Hierarchy Controller", + "id": "ConfigManagementHierarchyControllerDeploymentState", + "properties": { + "extension": { + "description": "The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1).", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "hnc": { + "description": "The deployment state for open source HNC (e.g. v0.7.0-hc.0).", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementHierarchyControllerState": { + "description": "State for Hierarchy Controller.", + "id": "ConfigManagementHierarchyControllerState", + "properties": { + "state": { + "$ref": "ConfigManagementHierarchyControllerDeploymentState", + "description": "The deployment state for Hierarchy Controller." + }, + "version": { + "$ref": "ConfigManagementHierarchyControllerVersion", + "description": "The version for Hierarchy Controller." + } + }, + "type": "object" + }, + "ConfigManagementHierarchyControllerVersion": { + "description": "Version for Hierarchy Controller.", + "id": "ConfigManagementHierarchyControllerVersion", + "properties": { + "extension": { + "description": "Version for Hierarchy Controller extension.", + "type": "string" + }, + "hnc": { + "description": "Version for open source HNC.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementInstallError": { + "description": "Errors pertaining to the installation of ACM.", + "id": "ConfigManagementInstallError", + "properties": { + "errorMessage": { + "description": "A string representing the user facing error message.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementOciConfig": { + "description": "OCI repo configuration for a single cluster.", + "id": "ConfigManagementOciConfig", + "properties": { + "gcpServiceAccountEmail": { + "description": "The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount.", + "type": "string" + }, + "policyDir": { + "description": "The absolute path of the directory that contains the local resources. Default: the root directory of the image.", + "type": "string" + }, + "secretType": { + "description": "Type of secret configured for access to the Git repo.", + "type": "string" + }, + "syncRepo": { + "description": "The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`.", + "type": "string" + }, + "syncWaitSecs": { + "description": "Period in seconds between consecutive syncs. Default: 15.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementOperatorState": { + "description": "State information for an ACM's Operator.", + "id": "ConfigManagementOperatorState", + "properties": { + "deploymentState": { + "description": "The state of the Operator's deployment.", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLED", + "ERROR", + "PENDING" + ], + "enumDescriptions": [ + "Deployment's state cannot be determined.", + "Deployment is not installed.", + "Deployment is installed.", + "Deployment was attempted to be installed, but has errors.", + "Deployment is installing or terminating" + ], + "type": "string" + }, + "errors": { + "description": "Install errors.", + "items": { + "$ref": "ConfigManagementInstallError" + }, + "type": "array" + }, + "version": { + "description": "The semenatic version number of the operator.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementPolicyController": { + "description": "Configuration for Policy Controller", + "id": "ConfigManagementPolicyController", + "properties": { + "auditIntervalSeconds": { + "description": "Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.", + "format": "int64", + "type": "string" + }, + "enabled": { + "description": "Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect.", + "type": "boolean" + }, + "exemptableNamespaces": { + "description": "The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logDeniesEnabled": { + "description": "Logs all denies and dry run failures.", + "type": "boolean" + }, + "monitoring": { + "$ref": "ConfigManagementPolicyControllerMonitoring", + "description": "Monitoring specifies the configuration of monitoring." + }, + "mutationEnabled": { + "description": "Enable or disable mutation in policy controller. If true, mutation CRDs, webhook and controller deployment will be deployed to the cluster.", + "type": "boolean" + }, + "referentialRulesEnabled": { + "description": "Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.", + "type": "boolean" + }, + "templateLibraryInstalled": { + "description": "Installs the default template library along with Policy Controller.", + "type": "boolean" + }, + "updateTime": { + "description": "Output only. Last time this membership spec was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementPolicyControllerMigration": { + "description": "State for the migration of PolicyController from ACM -> PoCo Hub.", + "id": "ConfigManagementPolicyControllerMigration", + "properties": { + "copyTime": { + "description": "Last time this membership spec was copied to PoCo feature.", + "format": "google-datetime", + "type": "string" + }, + "stage": { + "description": "Stage of the migration.", + "enum": [ + "STAGE_UNSPECIFIED", + "ACM_MANAGED", + "POCO_MANAGED" + ], + "enumDescriptions": [ + "Unknown state of migration.", + "ACM Hub/Operator manages policycontroller. No migration yet completed.", + "All migrations steps complete; Poco Hub now manages policycontroller." + ], + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementPolicyControllerMonitoring": { + "description": "PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: [\"cloudmonitoring\", \"prometheus\"]", + "id": "ConfigManagementPolicyControllerMonitoring", + "properties": { + "backends": { + "description": "Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export.", + "items": { + "enum": [ + "MONITORING_BACKEND_UNSPECIFIED", + "PROMETHEUS", + "CLOUD_MONITORING" + ], + "enumDescriptions": [ + "Backend cannot be determined", + "Prometheus backend for monitoring", + "Stackdriver/Cloud Monitoring backend for monitoring" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ConfigManagementPolicyControllerState": { + "description": "State for PolicyControllerState.", + "id": "ConfigManagementPolicyControllerState", + "properties": { + "deploymentState": { + "$ref": "ConfigManagementGatekeeperDeploymentState", + "description": "The state about the policy controller installation." + }, + "migration": { + "$ref": "ConfigManagementPolicyControllerMigration", + "description": "Record state of ACM -> PoCo Hub migration for this feature." + }, + "version": { + "$ref": "ConfigManagementPolicyControllerVersion", + "description": "The version of Gatekeeper Policy Controller deployed." + } + }, + "type": "object" + }, + "ConfigManagementPolicyControllerVersion": { + "description": "The build version of Gatekeeper Policy Controller is using.", + "id": "ConfigManagementPolicyControllerVersion", + "properties": { + "version": { + "description": "The gatekeeper image tag that is composed of ACM version, git tag, build number.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementSpec": { + "description": "**Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR.", + "id": "ConfigManagementSpec", + "properties": { + "binauthz": { + "$ref": "ConfigManagementBinauthzConfig", + "deprecated": true, + "description": "Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set." + }, + "cluster": { + "description": "The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector.", + "type": "string" + }, + "configSync": { + "$ref": "ConfigManagementConfigSync", + "description": "Config Sync configuration for the cluster." + }, + "hierarchyController": { + "$ref": "ConfigManagementHierarchyControllerConfig", + "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.", + "enum": [ + "MANAGEMENT_UNSPECIFIED", + "MANAGEMENT_AUTOMATIC", + "MANAGEMENT_MANUAL" + ], + "enumDescriptions": [ + "Unspecified", + "Google will manage the Feature for the cluster.", + "User will manually manage the Feature for the cluster." + ], + "type": "string" + }, + "policyController": { + "$ref": "ConfigManagementPolicyController", + "description": "Policy Controller configuration for the cluster. Deprecated: Configuring Policy Controller through the configmanagement feature is no longer recommended. Use the policycontroller feature instead." + }, + "version": { + "description": "Version of ACM installed.", + "type": "string" + } + }, + "type": "object" + }, + "ConfigManagementState": { + "description": "**Anthos Config Management**: State for a single cluster.", + "id": "ConfigManagementState", + "properties": { + "binauthzState": { + "$ref": "ConfigManagementBinauthzState", + "description": "Binauthz status." + }, + "clusterName": { + "description": "This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name.", + "type": "string" + }, + "configSyncState": { + "$ref": "ConfigManagementConfigSyncState", + "description": "Current sync status." + }, + "hierarchyControllerState": { + "$ref": "ConfigManagementHierarchyControllerState", + "description": "Hierarchy Controller status." + }, + "membershipSpec": { + "$ref": "ConfigManagementSpec", + "description": "Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state." + }, + "operatorState": { + "$ref": "ConfigManagementOperatorState", + "description": "Current install status of ACM's Operator." + }, + "policyControllerState": { + "$ref": "ConfigManagementPolicyControllerState", + "description": "PolicyController status." + } + }, + "type": "object" + }, + "ConfigManagementSyncError": { + "description": "An ACM created error representing a problem syncing configurations.", + "id": "ConfigManagementSyncError", + "properties": { + "code": { + "description": "An ACM defined error code", + "type": "string" + }, + "errorMessage": { + "description": "A description of the error", + "type": "string" + }, + "errorResources": { + "description": "A list of config(s) associated with the error, if any", + "items": { + "$ref": "ConfigManagementErrorResource" + }, + "type": "array" + } + }, + "type": "object" + }, + "ConfigManagementSyncState": { + "description": "State indicating an ACM's progress syncing configurations to a cluster.", + "id": "ConfigManagementSyncState", + "properties": { + "code": { + "description": "Sync status code.", + "enum": [ + "SYNC_CODE_UNSPECIFIED", + "SYNCED", + "PENDING", + "ERROR", + "NOT_CONFIGURED", + "NOT_INSTALLED", + "UNAUTHORIZED", + "UNREACHABLE" + ], + "enumDescriptions": [ + "Config Sync cannot determine a sync code", + "Config Sync successfully synced the git Repo with the cluster", + "Config Sync is in the progress of syncing a new change", + "Indicates an error configuring Config Sync, and user action is required", + "Config Sync has been installed but not configured", + "Config Sync has not been installed", + "Error authorizing with the cluster", + "Cluster could not be reached" + ], + "type": "string" + }, + "errors": { + "description": "A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist.", + "items": { + "$ref": "ConfigManagementSyncError" + }, + "type": "array" + }, + "importToken": { + "description": "Token indicating the state of the importer.", + "type": "string" + }, + "lastSync": { + "deprecated": true, + "description": "Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo. The time format is specified in https://golang.org/pkg/time/#Time.String", + "type": "string" + }, + "lastSyncTime": { + "description": "Timestamp type of when ACM last successfully synced the repo.", + "format": "google-datetime", + "type": "string" + }, + "sourceToken": { + "description": "Token indicating the state of the repo.", + "type": "string" + }, + "syncToken": { + "description": "Token indicating the state of the syncer.", + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "FeatureSpec": { + "description": "FeatureSpec contains user input per-feature spec information.", + "id": "FeatureSpec", + "properties": { + "cloudbuild": { + "$ref": "CloudBuildSpec", + "description": "Cloudbuild-specific FeatureSpec." + }, + "configmanagement": { + "$ref": "ConfigManagementSpec", + "description": "Config Management FeatureSpec." + }, + "identityservice": { + "$ref": "IdentityServiceSpec", + "description": "IdentityService FeatureSpec." + }, + "origin": { + "$ref": "Origin", + "description": "Whether this per-Feature spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Feature config (updated to USER implicitly) or setting to FLEET explicitly." + }, + "policycontroller": { + "$ref": "PolicyControllerSpec", + "description": "Policycontroller-specific FeatureSpec." + }, + "servicemesh": { + "$ref": "ServiceMeshSpec", + "description": "ServiceMesh Feature Spec." + }, + "workloadcertificate": { + "$ref": "WorkloadCertificateSpec", + "description": "Workloadcertificate-specific FeatureSpec." + } + }, + "type": "object" + }, + "FeatureState": { + "description": "FeatureState contains high-level state information and per-feature state information for this MembershipFeature.", + "id": "FeatureState", + "properties": { + "appdevexperience": { + "$ref": "AppDevExperienceState", + "description": "Appdevexperience specific state." + }, + "clusterupgrade": { + "$ref": "ClusterUpgradeState", + "description": "Cluster upgrade state." + }, + "configmanagement": { + "$ref": "ConfigManagementState", + "description": "Config Management state" + }, + "identityservice": { + "$ref": "IdentityServiceState", + "description": "Identity service state" + }, + "metering": { + "$ref": "MeteringState", + "description": "Metering state" + }, + "policycontroller": { + "$ref": "PolicyControllerState", + "description": "Policy Controller state" + }, + "servicemesh": { + "$ref": "ServiceMeshState", + "description": "Service mesh state" + }, + "state": { + "$ref": "State", + "description": "The high-level state of this MembershipFeature." + } + }, + "type": "object" + }, + "GoogleRpcStatus": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "GoogleRpcStatus", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceAuthMethod": { + "description": "Configuration of an auth method for a member/cluster. Only one authentication method (e.g., OIDC and LDAP) can be set per AuthMethod.", + "id": "IdentityServiceAuthMethod", + "properties": { + "azureadConfig": { + "$ref": "IdentityServiceAzureADConfig", + "description": "AzureAD specific Configuration." + }, + "googleConfig": { + "$ref": "IdentityServiceGoogleConfig", + "description": "GoogleConfig specific configuration" + }, + "ldapConfig": { + "$ref": "IdentityServiceLdapConfig", + "description": "LDAP specific configuration." + }, + "name": { + "description": "Identifier for auth config.", + "type": "string" + }, + "oidcConfig": { + "$ref": "IdentityServiceOidcConfig", + "description": "OIDC specific configuration." + }, + "proxy": { + "description": "Proxy server address to use for auth method.", + "type": "string" + }, + "samlConfig": { + "$ref": "IdentityServiceSamlConfig", + "description": "SAML specific configuration." + } + }, + "type": "object" + }, + "IdentityServiceAzureADConfig": { + "description": "Configuration for the AzureAD Auth flow.", + "id": "IdentityServiceAzureADConfig", + "properties": { + "clientId": { + "description": "ID for the registered client application that makes authentication requests to the Azure AD identity provider.", + "type": "string" + }, + "clientSecret": { + "description": "Input only. Unencrypted AzureAD client secret will be passed to the GKE Hub CLH.", + "type": "string" + }, + "encryptedClientSecret": { + "description": "Output only. Encrypted AzureAD client secret.", + "format": "byte", + "readOnly": true, + "type": "string" + }, + "groupFormat": { + "description": "Optional. Format of the AzureAD groups that the client wants for auth.", + "type": "string" + }, + "kubectlRedirectUri": { + "description": "The redirect URL that kubectl uses for authorization.", + "type": "string" + }, + "tenant": { + "description": "Kind of Azure AD account to be authenticated. Supported values are or for accounts belonging to a specific tenant.", + "type": "string" + }, + "userClaim": { + "description": "Optional. Claim in the AzureAD ID Token that holds the user details.", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceDiagnosticInterface": { + "description": "Configuration options for the AIS diagnostic interface.", + "id": "IdentityServiceDiagnosticInterface", + "properties": { + "enabled": { + "description": "Determines whether to enable the diagnostic interface.", + "type": "boolean" + }, + "expirationTime": { + "description": "Determines the expiration time of the diagnostic interface enablement. When reached, requests to the interface would be automatically rejected.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceGoogleConfig": { + "description": "Configuration for the Google Plugin Auth flow.", + "id": "IdentityServiceGoogleConfig", + "properties": { + "disable": { + "description": "Disable automatic configuration of Google Plugin on supported platforms.", + "type": "boolean" + } + }, + "type": "object" + }, + "IdentityServiceGroupConfig": { + "description": "Contains the properties for locating and authenticating groups in the directory.", + "id": "IdentityServiceGroupConfig", + "properties": { + "baseDn": { + "description": "Required. The location of the subtree in the LDAP directory to search for group entries.", + "type": "string" + }, + "filter": { + "description": "Optional. Optional filter to be used when searching for groups a user belongs to. This can be used to explicitly match only certain groups in order to reduce the amount of groups returned for each user. This defaults to \"(objectClass=Group)\".", + "type": "string" + }, + "idAttribute": { + "description": "Optional. The identifying name of each group a user belongs to. For example, if this is set to \"distinguishedName\" then RBACs and other group expectations should be written as full DNs. This defaults to \"distinguishedName\".", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceIdentityServiceOptions": { + "description": "Holds non-protocol-related configuration options.", + "id": "IdentityServiceIdentityServiceOptions", + "properties": { + "diagnosticInterface": { + "$ref": "IdentityServiceDiagnosticInterface", + "description": "Configuration options for the AIS diagnostic interface." + }, + "sessionDuration": { + "description": "Determines the lifespan of STS tokens issued by Anthos Identity Service.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceLdapConfig": { + "description": "Configuration for the LDAP Auth flow.", + "id": "IdentityServiceLdapConfig", + "properties": { + "group": { + "$ref": "IdentityServiceGroupConfig", + "description": "Optional. Contains the properties for locating and authenticating groups in the directory." + }, + "server": { + "$ref": "IdentityServiceServerConfig", + "description": "Required. Server settings for the external LDAP server." + }, + "serviceAccount": { + "$ref": "IdentityServiceServiceAccountConfig", + "description": "Required. Contains the credentials of the service account which is authorized to perform the LDAP search in the directory. The credentials can be supplied by the combination of the DN and password or the client certificate." + }, + "user": { + "$ref": "IdentityServiceUserConfig", + "description": "Required. Defines where users exist in the LDAP directory." + } + }, + "type": "object" + }, + "IdentityServiceOidcConfig": { + "description": "Configuration for OIDC Auth flow.", + "id": "IdentityServiceOidcConfig", + "properties": { + "certificateAuthorityData": { + "description": "PEM-encoded CA for OIDC provider.", + "type": "string" + }, + "clientId": { + "description": "ID for OIDC client application.", + "type": "string" + }, + "clientSecret": { + "description": "Input only. Unencrypted OIDC client secret will be passed to the GKE Hub CLH.", + "type": "string" + }, + "deployCloudConsoleProxy": { + "description": "Flag to denote if reverse proxy is used to connect to auth provider. This flag should be set to true when provider is not reachable by Google Cloud Console.", + "type": "boolean" + }, + "enableAccessToken": { + "description": "Enable access token.", + "type": "boolean" + }, + "encryptedClientSecret": { + "description": "Output only. Encrypted OIDC Client secret", + "format": "byte", + "readOnly": true, + "type": "string" + }, + "extraParams": { + "description": "Comma-separated list of key-value pairs.", + "type": "string" + }, + "groupPrefix": { + "description": "Prefix to prepend to group name.", + "type": "string" + }, + "groupsClaim": { + "description": "Claim in OIDC ID token that holds group information.", + "type": "string" + }, + "issuerUri": { + "description": "URI for the OIDC provider. This should point to the level below .well-known/openid-configuration.", + "type": "string" + }, + "kubectlRedirectUri": { + "description": "Registered redirect uri to redirect users going through OAuth flow using kubectl plugin.", + "type": "string" + }, + "scopes": { + "description": "Comma-separated list of identifiers.", + "type": "string" + }, + "userClaim": { + "description": "Claim in OIDC ID token that holds username.", + "type": "string" + }, + "userPrefix": { + "description": "Prefix to prepend to user name.", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceSamlConfig": { + "description": "Configuration for the SAML Auth flow.", + "id": "IdentityServiceSamlConfig", + "properties": { + "attributeMapping": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The mapping of additional user attributes like nickname, birthday and address etc.. `key` is the name of this additional attribute. `value` is a string presenting as CEL(common expression language, go/cel) used for getting the value from the resources. Take nickname as an example, in this case, `key` is \"attribute.nickname\" and `value` is \"assertion.nickname\".", + "type": "object" + }, + "groupPrefix": { + "description": "Optional. Prefix to prepend to group name.", + "type": "string" + }, + "groupsAttribute": { + "description": "Optional. The SAML attribute to read groups from. This value is expected to be a string and will be passed along as-is (with the option of being prefixed by the `group_prefix`).", + "type": "string" + }, + "identityProviderCertificates": { + "description": "Required. The list of IdP certificates to validate the SAML response against.", + "items": { + "type": "string" + }, + "type": "array" + }, + "identityProviderId": { + "description": "Required. The entity ID of the SAML IdP.", + "type": "string" + }, + "identityProviderSsoUri": { + "description": "Required. The URI where the SAML IdP exposes the SSO service.", + "type": "string" + }, + "userAttribute": { + "description": "Optional. The SAML attribute to read username from. If unspecified, the username will be read from the NameID element of the assertion in SAML response. This value is expected to be a string and will be passed along as-is (with the option of being prefixed by the `user_prefix`).", + "type": "string" + }, + "userPrefix": { + "description": "Optional. Prefix to prepend to user name.", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceServerConfig": { + "description": "Server settings for the external LDAP server.", + "id": "IdentityServiceServerConfig", + "properties": { + "certificateAuthorityData": { + "description": "Optional. Contains a Base64 encoded, PEM formatted certificate authority certificate for the LDAP server. This must be provided for the \"ldaps\" and \"startTLS\" connections.", + "format": "byte", + "type": "string" + }, + "connectionType": { + "description": "Optional. Defines the connection type to communicate with the LDAP server. If `starttls` or `ldaps` is specified, the certificate_authority_data should not be empty.", + "type": "string" + }, + "host": { + "description": "Required. Defines the hostname or IP of the LDAP server. Port is optional and will default to 389, if unspecified. For example, \"ldap.server.example\" or \"10.10.10.10:389\".", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceServiceAccountConfig": { + "description": "Contains the credentials of the service account which is authorized to perform the LDAP search in the directory. The credentials can be supplied by the combination of the DN and password or the client certificate.", + "id": "IdentityServiceServiceAccountConfig", + "properties": { + "simpleBindCredentials": { + "$ref": "IdentityServiceSimpleBindCredentials", + "description": "Credentials for basic auth." + } + }, + "type": "object" + }, + "IdentityServiceSimpleBindCredentials": { + "description": "The structure holds the LDAP simple binding credential.", + "id": "IdentityServiceSimpleBindCredentials", + "properties": { + "dn": { + "description": "Required. The distinguished name(DN) of the service account object/user.", + "type": "string" + }, + "encryptedPassword": { + "description": "Output only. The encrypted password of the service account object/user.", + "format": "byte", + "readOnly": true, + "type": "string" + }, + "password": { + "description": "Required. Input only. The password of the service account object/user.", + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceSpec": { + "description": "**IdentityService**: Configuration for a single membership.", + "id": "IdentityServiceSpec", + "properties": { + "authMethods": { + "description": "A member may support multiple auth methods.", + "items": { + "$ref": "IdentityServiceAuthMethod" + }, + "type": "array" + }, + "identityServiceOptions": { + "$ref": "IdentityServiceIdentityServiceOptions", + "description": "Optional. non-protocol-related configuration options." + } + }, + "type": "object" + }, + "IdentityServiceState": { + "description": "**IdentityService**: State for a single membership, analyzed and reported by feature controller.", + "id": "IdentityServiceState", + "properties": { + "failureReason": { + "description": "The reason of the failure.", + "type": "string" + }, + "installedVersion": { + "description": "Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK.", + "type": "string" + }, + "memberConfig": { + "$ref": "IdentityServiceSpec", + "description": "Last reconciled membership configuration" + }, + "state": { + "description": "Deployment state on this member", + "enum": [ + "DEPLOYMENT_STATE_UNSPECIFIED", + "OK", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified state", + "deployment succeeds", + "Failure with error." + ], + "type": "string" + } + }, + "type": "object" + }, + "IdentityServiceUserConfig": { + "description": "Defines where users exist in the LDAP directory.", + "id": "IdentityServiceUserConfig", + "properties": { + "baseDn": { + "description": "Required. The location of the subtree in the LDAP directory to search for user entries.", + "type": "string" + }, + "filter": { + "description": "Optional. Filter to apply when searching for the user. This can be used to further restrict the user accounts which are allowed to login. This defaults to \"(objectClass=User)\".", + "type": "string" + }, + "idAttribute": { + "description": "Optional. Determines which attribute to use as the user's identity after they are authenticated. This is distinct from the loginAttribute field to allow users to login with a username, but then have their actual identifier be an email address or full Distinguished Name (DN). For example, setting loginAttribute to \"sAMAccountName\" and identifierAttribute to \"userPrincipalName\" would allow a user to login as \"bsmith\", but actual RBAC policies for the user would be written as \"bsmith@example.com\". Using \"userPrincipalName\" is recommended since this will be unique for each user. This defaults to \"userPrincipalName\".", + "type": "string" + }, + "loginAttribute": { + "description": "Optional. The name of the attribute which matches against the input username. This is used to find the user in the LDAP database e.g. \"(=)\" and is combined with the optional filter field. This defaults to \"userPrincipalName\".", + "type": "string" + } + }, + "type": "object" + }, + "LifecycleState": { + "description": "LifecycleState describes the state of a MembershipFeature *resource* in the GkeHub API. See `FeatureState` for the \"running state\" of the MembershipFeature.", + "id": "LifecycleState", + "properties": { + "state": { + "description": "Output only. The current state of the Feature resource in the Hub API.", + "enum": [ + "STATE_UNSPECIFIED", + "ENABLING", + "ACTIVE", + "DISABLING", + "UPDATING", + "SERVICE_UPDATING" + ], + "enumDescriptions": [ + "State is unknown or not set.", + "The MembershipFeature is being enabled, and the MembershipFeature resource is being created. Once complete, the corresponding MembershipFeature will be enabled in this Hub.", + "The MembershipFeature is enabled in this Hub, and the MembershipFeature resource is fully available.", + "The MembershipFeature is being disabled in this Hub, and the MembershipFeature resource is being deleted.", + "The MembershipFeature resource is being updated.", + "The MembershipFeature resource is being updated by the Hub Service." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListMembershipFeaturesResponse": { + "description": "Response message for the `GkeHubFeature.ListMembershipFeatures` method.", + "id": "ListMembershipFeaturesResponse", + "properties": { + "membershipFeatures": { + "description": "The list of matching MembershipFeatures.", + "items": { + "$ref": "MembershipFeature" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token to request the next page of resources from the `ListMembershipFeatures` method. The value of an empty string means that there are no more resources to return.", + "type": "string" + }, + "unreachable": { + "description": "List of locations that could not be reached while fetching this list.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents a Google Cloud location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given location.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "MembershipFeature": { + "description": "MembershipFeature represents the settings and status of a Fleet Feature enabled on a single Fleet Membership.", + "id": "MembershipFeature", + "properties": { + "createTime": { + "description": "Output only. When the MembershipFeature resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deleteTime": { + "description": "Output only. When the MembershipFeature resource was deleted.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "GCP labels for this MembershipFeature.", + "type": "object" + }, + "lifecycleState": { + "$ref": "LifecycleState", + "description": "Output only. Lifecycle information of the resource itself.", + "readOnly": true + }, + "name": { + "description": "Output only. The resource name of the membershipFeature, in the format: `projects/{project}/locations/{location}/memberships/{membership}/features/{feature}`. Note that `membershipFeatures` is shortened to `features` in the resource name. (see http://go/aip/122#collection-identifiers)", + "readOnly": true, + "type": "string" + }, + "spec": { + "$ref": "FeatureSpec", + "description": "Optional. Spec of this membershipFeature." + }, + "state": { + "$ref": "FeatureState", + "description": "Output only. State of the this membershipFeature.", + "readOnly": true + }, + "updateTime": { + "description": "Output only. When the MembershipFeature resource was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "MeteringState": { + "description": "**Metering**: State for a single membership, analyzed and reported by feature controller.", + "id": "MeteringState", + "properties": { + "lastMeasurementTime": { + "description": "The time stamp of the most recent measurement of the number of vCPUs in the cluster.", + "format": "google-datetime", + "type": "string" + }, + "preciseLastMeasuredClusterVcpuCapacity": { + "description": "The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision).", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "GoogleRpcStatus", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Metadata of the long-running operation.", + "id": "OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "cancelRequested": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "readOnly": true, + "type": "boolean" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "statusDetail": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Origin": { + "description": "Origin defines where this FeatureSpec originated from.", + "id": "Origin", + "properties": { + "type": { + "description": "Type specifies which type of origin is set.", + "enum": [ + "TYPE_UNSPECIFIED", + "FLEET", + "FLEET_OUT_OF_SYNC", + "USER" + ], + "enumDescriptions": [ + "Type is unknown or not set.", + "Per-Feature spec was inherited from the fleet-level default.", + "Per-Feature spec was inherited from the fleet-level default but is now out of sync with the current default.", + "Per-Feature spec was inherited from a user specification." + ], + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerBundleInstallSpec": { + "description": "BundleInstallSpec is the specification configuration for a single managed bundle.", + "id": "PolicyControllerBundleInstallSpec", + "properties": { + "exemptedNamespaces": { + "description": "the set of namespaces to be exempted from the bundle", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "PolicyControllerHubConfig": { + "description": "Configuration for Policy Controller", + "id": "PolicyControllerHubConfig", + "properties": { + "auditIntervalSeconds": { + "description": "Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.", + "format": "int64", + "type": "string" + }, + "constraintViolationLimit": { + "description": "The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used.", + "format": "int64", + "type": "string" + }, + "deploymentConfigs": { + "additionalProperties": { + "$ref": "PolicyControllerPolicyControllerDeploymentConfig" + }, + "description": "Map of deployment configs to deployments (“admission”, “audit”, “mutation”).", + "type": "object" + }, + "exemptableNamespaces": { + "description": "The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.", + "items": { + "type": "string" + }, + "type": "array" + }, + "installSpec": { + "description": "The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state.", + "enum": [ + "INSTALL_SPEC_UNSPECIFIED", + "INSTALL_SPEC_NOT_INSTALLED", + "INSTALL_SPEC_ENABLED", + "INSTALL_SPEC_SUSPENDED", + "INSTALL_SPEC_DETACHED" + ], + "enumDescriptions": [ + "Spec is unknown.", + "Request to uninstall Policy Controller.", + "Request to install and enable Policy Controller.", + "Request to suspend Policy Controller i.e. its webhooks. If Policy Controller is not installed, it will be installed but suspended.", + "Request to stop all reconciliation actions by PoCo Hub controller. This is a breakglass mechanism to stop PoCo Hub from affecting cluster resources." + ], + "type": "string" + }, + "logDeniesEnabled": { + "description": "Logs all denies and dry run failures.", + "type": "boolean" + }, + "monitoring": { + "$ref": "PolicyControllerMonitoringConfig", + "description": "Monitoring specifies the configuration of monitoring." + }, + "mutationEnabled": { + "description": "Enables the ability to mutate resources using Policy Controller.", + "type": "boolean" + }, + "policyContent": { + "$ref": "PolicyControllerPolicyContentSpec", + "description": "Specifies the desired policy content on the cluster" + }, + "referentialRulesEnabled": { + "description": "Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.", + "type": "boolean" + } + }, + "type": "object" + }, + "PolicyControllerMonitoringConfig": { + "description": "MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: [\"cloudmonitoring\", \"prometheus\"]", + "id": "PolicyControllerMonitoringConfig", + "properties": { + "backends": { + "description": "Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export.", + "items": { + "enum": [ + "MONITORING_BACKEND_UNSPECIFIED", + "PROMETHEUS", + "CLOUD_MONITORING" + ], + "enumDescriptions": [ + "Backend cannot be determined", + "Prometheus backend for monitoring", + "Stackdriver/Cloud Monitoring backend for monitoring" + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "PolicyControllerOnClusterState": { + "description": "OnClusterState represents the state of a sub-component of Policy Controller.", + "id": "PolicyControllerOnClusterState", + "properties": { + "details": { + "description": "Surface potential errors or information logs.", + "type": "string" + }, + "state": { + "description": "The lifecycle state of this component.", + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLING", + "ACTIVE", + "UPDATING", + "DECOMMISSIONING", + "CLUSTER_ERROR", + "HUB_ERROR", + "SUSPENDED", + "DETACHED" + ], + "enumDescriptions": [ + "The lifecycle state is unspecified.", + "The PC does not exist on the given cluster, and no k8s resources of any type that are associated with the PC should exist there. The cluster does not possess a membership with the PCH.", + "The PCH possesses a Membership, however the PC is not fully installed on the cluster. In this state the hub can be expected to be taking actions to install the PC on the cluster.", + "The PC is fully installed on the cluster and in an operational mode. In this state PCH will be reconciling state with the PC, and the PC will be performing it's operational tasks per that software. Entering a READY state requires that the hub has confirmed the PC is installed and its pods are operational with the version of the PC the PCH expects.", + "The PC is fully installed, but in the process of changing the configuration (including changing the version of PC either up and down, or modifying the manifests of PC) of the resources running on the cluster. The PCH has a Membership, is aware of the version the cluster should be running in, but has not confirmed for itself that the PC is running with that version.", + "The PC may have resources on the cluster, but the PCH wishes to remove the Membership. The Membership still exists.", + "The PC is not operational, and the PCH is unable to act to make it operational. Entering a CLUSTER_ERROR state happens automatically when the PCH determines that a PC installed on the cluster is non-operative or that the cluster does not meet requirements set for the PCH to administer the cluster but has nevertheless been given an instruction to do so (such as ‘install').", + "In this state, the PC may still be operational, and only the PCH is unable to act. The hub should not issue instructions to change the PC state, or otherwise interfere with the on-cluster resources. Entering a HUB_ERROR state happens automatically when the PCH determines the hub is in an unhealthy state and it wishes to ‘take hands off' to avoid corrupting the PC or other data.", + "Policy Controller (PC) is installed but suspended. This means that the policies are not enforced, but violations are still recorded (through audit).", + "PoCo Hub is not taking any action to reconcile cluster objects. Changes to those objects will not be overwritten by PoCo Hub." + ], + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerPolicyContentSpec": { + "description": "PolicyContentSpec defines the user's desired content configuration on the cluster.", + "id": "PolicyControllerPolicyContentSpec", + "properties": { + "bundles": { + "additionalProperties": { + "$ref": "PolicyControllerBundleInstallSpec" + }, + "description": "map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint.", + "type": "object" + }, + "templateLibrary": { + "$ref": "PolicyControllerTemplateLibraryConfig", + "description": "Configures the installation of the Template Library." + } + }, + "type": "object" + }, + "PolicyControllerPolicyContentState": { + "description": "The state of the policy controller policy content", + "id": "PolicyControllerPolicyContentState", + "properties": { + "bundleStates": { + "additionalProperties": { + "$ref": "PolicyControllerOnClusterState" + }, + "description": "The state of the any bundles included in the chosen version of the manifest", + "type": "object" + }, + "referentialSyncConfigState": { + "$ref": "PolicyControllerOnClusterState", + "description": "The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user." + }, + "templateLibraryState": { + "$ref": "PolicyControllerOnClusterState", + "description": "The state of the template library" + } + }, + "type": "object" + }, + "PolicyControllerPolicyControllerDeploymentConfig": { + "description": "Deployment-specific configuration.", + "id": "PolicyControllerPolicyControllerDeploymentConfig", + "properties": { + "containerResources": { + "$ref": "PolicyControllerResourceRequirements", + "description": "Container resource requirements." + }, + "podAffinity": { + "description": "Pod affinity configuration.", + "enum": [ + "AFFINITY_UNSPECIFIED", + "NO_AFFINITY", + "ANTI_AFFINITY" + ], + "enumDescriptions": [ + "No affinity configuration has been specified.", + "Affinity configurations will be removed from the deployment.", + "Anti-affinity configuration will be applied to this deployment. Default for admissions deployment." + ], + "type": "string" + }, + "podAntiAffinity": { + "deprecated": true, + "description": "Pod anti-affinity enablement. Deprecated: use `pod_affinity` instead.", + "type": "boolean" + }, + "podTolerations": { + "description": "Pod tolerations of node taints.", + "items": { + "$ref": "PolicyControllerToleration" + }, + "type": "array" + }, + "replicaCount": { + "description": "Pod replica count.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerResourceList": { + "description": "ResourceList contains container resource requirements.", + "id": "PolicyControllerResourceList", + "properties": { + "cpu": { + "description": "CPU requirement expressed in Kubernetes resource units.", + "type": "string" + }, + "memory": { + "description": "Memory requirement expressed in Kubernetes resource units.", + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerResourceRequirements": { + "description": "ResourceRequirements describes the compute resource requirements.", + "id": "PolicyControllerResourceRequirements", + "properties": { + "limits": { + "$ref": "PolicyControllerResourceList", + "description": "Limits describes the maximum amount of compute resources allowed for use by the running container." + }, + "requests": { + "$ref": "PolicyControllerResourceList", + "description": "Requests describes the amount of compute resources reserved for the container by the kube-scheduler." + } + }, + "type": "object" + }, + "PolicyControllerSpec": { + "description": "**Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR.", + "id": "PolicyControllerSpec", + "properties": { + "policyControllerHubConfig": { + "$ref": "PolicyControllerHubConfig", + "description": "Policy Controller configuration for the cluster." + }, + "version": { + "description": "Version of Policy Controller installed.", + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerState": { + "description": "**Policy Controller**: State for a single cluster.", + "id": "PolicyControllerState", + "properties": { + "componentStates": { + "additionalProperties": { + "$ref": "PolicyControllerOnClusterState" + }, + "description": "Currently these include (also serving as map keys): 1. \"admission\" 2. \"audit\" 3. \"mutation\"", + "type": "object" + }, + "policyContentState": { + "$ref": "PolicyControllerPolicyContentState", + "description": "The overall content state observed by the Hub Feature controller." + }, + "state": { + "description": "The overall Policy Controller lifecycle state observed by the Hub Feature controller.", + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "NOT_INSTALLED", + "INSTALLING", + "ACTIVE", + "UPDATING", + "DECOMMISSIONING", + "CLUSTER_ERROR", + "HUB_ERROR", + "SUSPENDED", + "DETACHED" + ], + "enumDescriptions": [ + "The lifecycle state is unspecified.", + "The PC does not exist on the given cluster, and no k8s resources of any type that are associated with the PC should exist there. The cluster does not possess a membership with the PCH.", + "The PCH possesses a Membership, however the PC is not fully installed on the cluster. In this state the hub can be expected to be taking actions to install the PC on the cluster.", + "The PC is fully installed on the cluster and in an operational mode. In this state PCH will be reconciling state with the PC, and the PC will be performing it's operational tasks per that software. Entering a READY state requires that the hub has confirmed the PC is installed and its pods are operational with the version of the PC the PCH expects.", + "The PC is fully installed, but in the process of changing the configuration (including changing the version of PC either up and down, or modifying the manifests of PC) of the resources running on the cluster. The PCH has a Membership, is aware of the version the cluster should be running in, but has not confirmed for itself that the PC is running with that version.", + "The PC may have resources on the cluster, but the PCH wishes to remove the Membership. The Membership still exists.", + "The PC is not operational, and the PCH is unable to act to make it operational. Entering a CLUSTER_ERROR state happens automatically when the PCH determines that a PC installed on the cluster is non-operative or that the cluster does not meet requirements set for the PCH to administer the cluster but has nevertheless been given an instruction to do so (such as ‘install').", + "In this state, the PC may still be operational, and only the PCH is unable to act. The hub should not issue instructions to change the PC state, or otherwise interfere with the on-cluster resources. Entering a HUB_ERROR state happens automatically when the PCH determines the hub is in an unhealthy state and it wishes to ‘take hands off' to avoid corrupting the PC or other data.", + "Policy Controller (PC) is installed but suspended. This means that the policies are not enforced, but violations are still recorded (through audit).", + "PoCo Hub is not taking any action to reconcile cluster objects. Changes to those objects will not be overwritten by PoCo Hub." + ], + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerTemplateLibraryConfig": { + "description": "The config specifying which default library templates to install.", + "id": "PolicyControllerTemplateLibraryConfig", + "properties": { + "installation": { + "description": "Configures the manner in which the template library is installed on the cluster.", + "enum": [ + "INSTALLATION_UNSPECIFIED", + "NOT_INSTALLED", + "ALL" + ], + "enumDescriptions": [ + "No installation strategy has been specified.", + "Do not install the template library.", + "Install the entire template library." + ], + "type": "string" + } + }, + "type": "object" + }, + "PolicyControllerToleration": { + "description": "Toleration of a node taint.", + "id": "PolicyControllerToleration", + "properties": { + "effect": { + "description": "Matches a taint effect.", + "type": "string" + }, + "key": { + "description": "Matches a taint key (not necessarily unique).", + "type": "string" + }, + "operator": { + "description": "Matches a taint operator.", + "type": "string" + }, + "value": { + "description": "Matches a taint value.", + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshAnalysisMessage": { + "description": "AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about the state of their Service Mesh configuration.", + "id": "ServiceMeshAnalysisMessage", + "properties": { + "args": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "A UI can combine these args with a template (based on message_base.type) to produce an internationalized message.", + "type": "object" + }, + "description": { + "description": "A human readable description of what the error means. It is suitable for non-internationalize display purposes.", + "type": "string" + }, + "messageBase": { + "$ref": "ServiceMeshAnalysisMessageBase", + "description": "Details common to all types of Istio and ServiceMesh analysis messages." + }, + "resourcePaths": { + "description": "A list of strings specifying the resource identifiers that were the cause of message generation. A \"path\" here may be: * MEMBERSHIP_ID if the cause is a specific member cluster * MEMBERSHIP_ID/(NAMESPACE\\/)?RESOURCETYPE/NAME if the cause is a resource in a cluster", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ServiceMeshAnalysisMessageBase": { + "description": "AnalysisMessageBase describes some common information that is needed for all messages.", + "id": "ServiceMeshAnalysisMessageBase", + "properties": { + "documentationUrl": { + "description": "A url pointing to the Service Mesh or Istio documentation for this specific error type.", + "type": "string" + }, + "level": { + "description": "Represents how severe a message is.", + "enum": [ + "LEVEL_UNSPECIFIED", + "ERROR", + "WARNING", + "INFO" + ], + "enumDescriptions": [ + "Illegal. Same istio.analysis.v1alpha1.AnalysisMessageBase.Level.UNKNOWN.", + "ERROR represents a misconfiguration that must be fixed.", + "WARNING represents a misconfiguration that should be fixed.", + "INFO represents an informational finding." + ], + "type": "string" + }, + "type": { + "$ref": "ServiceMeshType", + "description": "Represents the specific type of a message." + } + }, + "type": "object" + }, + "ServiceMeshCondition": { + "description": "Condition being reported.", + "id": "ServiceMeshCondition", + "properties": { + "code": { + "description": "Unique identifier of the condition which describes the condition recognizable to the user.", + "enum": [ + "CODE_UNSPECIFIED", + "MESH_IAM_PERMISSION_DENIED", + "MESH_IAM_CROSS_PROJECT_PERMISSION_DENIED", + "CNI_CONFIG_UNSUPPORTED", + "GKE_SANDBOX_UNSUPPORTED", + "NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED", + "CNI_INSTALLATION_FAILED", + "CNI_POD_UNSCHEDULABLE", + "CLUSTER_HAS_ZERO_NODES", + "UNSUPPORTED_MULTIPLE_CONTROL_PLANES", + "VPCSC_GA_SUPPORTED", + "DEPRECATED_SPEC_CONTROL_PLANE_MANAGEMENT", + "DEPRECATED_SPEC_CONTROL_PLANE_MANAGEMENT_SAFE", + "CONFIG_APPLY_INTERNAL_ERROR", + "CONFIG_VALIDATION_ERROR", + "CONFIG_VALIDATION_WARNING", + "QUOTA_EXCEEDED_BACKEND_SERVICES", + "QUOTA_EXCEEDED_HEALTH_CHECKS", + "QUOTA_EXCEEDED_HTTP_ROUTES", + "QUOTA_EXCEEDED_TCP_ROUTES", + "QUOTA_EXCEEDED_TLS_ROUTES", + "QUOTA_EXCEEDED_TRAFFIC_POLICIES", + "QUOTA_EXCEEDED_ENDPOINT_POLICIES", + "QUOTA_EXCEEDED_GATEWAYS", + "QUOTA_EXCEEDED_MESHES", + "QUOTA_EXCEEDED_SERVER_TLS_POLICIES", + "QUOTA_EXCEEDED_CLIENT_TLS_POLICIES", + "QUOTA_EXCEEDED_SERVICE_LB_POLICIES", + "QUOTA_EXCEEDED_HTTP_FILTERS", + "QUOTA_EXCEEDED_TCP_FILTERS", + "QUOTA_EXCEEDED_NETWORK_ENDPOINT_GROUPS", + "MODERNIZATION_SCHEDULED", + "MODERNIZATION_IN_PROGRESS", + "MODERNIZATION_COMPLETED", + "MODERNIZATION_ABORTED" + ], + "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", + "CNI installation failed error code", + "CNI pod unschedulable error code", + "Cluster has zero node code", + "Multiple control planes unsupported error code", + "VPC-SC GA is supported for this control plane.", + "User is using deprecated ControlPlaneManagement and they have not yet set Management.", + "User is using deprecated ControlPlaneManagement and they have already set Management.", + "Configuration (Istio/k8s resources) failed to apply due to internal error.", + "Configuration failed to be applied due to being invalid.", + "Encountered configuration(s) with possible unintended behavior or invalid configuration. These configs may not have been applied.", + "BackendService quota exceeded error code.", + "HealthCheck quota exceeded error code.", + "HTTPRoute quota exceeded error code.", + "TCPRoute quota exceeded error code.", + "TLS routes quota exceeded error code.", + "TrafficPolicy quota exceeded error code.", + "EndpointPolicy quota exceeded error code.", + "Gateway quota exceeded error code.", + "Mesh quota exceeded error code.", + "ServerTLSPolicy quota exceeded error code.", + "ClientTLSPolicy quota exceeded error code.", + "ServiceLBPolicy quota exceeded error code.", + "HTTPFilter quota exceeded error code.", + "TCPFilter quota exceeded error code.", + "NetworkEndpointGroup quota exceeded error code.", + "Modernization is scheduled for a cluster.", + "Modernization is in progress for a cluster.", + "Modernization is completed for a cluster.", + "Modernization is aborted for a cluster." + ], + "type": "string" + }, + "details": { + "description": "A short summary about the issue.", + "type": "string" + }, + "documentationLink": { + "description": "Links contains actionable information.", + "type": "string" + }, + "severity": { + "description": "Severity level of the condition.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "ERROR", + "WARNING", + "INFO" + ], + "enumDescriptions": [ + "Unspecified severity", + "Indicates an issue that prevents the mesh from operating correctly", + "Indicates a setting is likely wrong, but the mesh is still able to operate", + "An informational message, not requiring any action" + ], + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshControlPlaneManagement": { + "description": "Status of control plane management.", + "id": "ServiceMeshControlPlaneManagement", + "properties": { + "details": { + "description": "Explanation of state.", + "items": { + "$ref": "ServiceMeshStatusDetails" + }, + "type": "array" + }, + "implementation": { + "description": "Output only. Implementation of managed control plane.", + "enum": [ + "IMPLEMENTATION_UNSPECIFIED", + "ISTIOD", + "TRAFFIC_DIRECTOR", + "UPDATING" + ], + "enumDescriptions": [ + "Unspecified", + "A Google build of istiod is used for the managed control plane.", + "Traffic director is used for the managed control plane.", + "The control plane implementation is being updated." + ], + "readOnly": true, + "type": "string" + }, + "state": { + "description": "LifecycleState of control plane management.", + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "DISABLED", + "FAILED_PRECONDITION", + "PROVISIONING", + "ACTIVE", + "STALLED", + "NEEDS_ATTENTION", + "DEGRADED" + ], + "enumDescriptions": [ + "Unspecified", + "DISABLED means that the component is not enabled.", + "FAILED_PRECONDITION means that provisioning cannot proceed because of some characteristic of the member cluster.", + "PROVISIONING means that provisioning is in progress.", + "ACTIVE means that the component is ready for use.", + "STALLED means that provisioning could not be done.", + "NEEDS_ATTENTION means that the component is ready, but some user intervention is required. (For example that the user should migrate workloads to a new control plane revision.)", + "DEGRADED means that the component is ready, but operating in a degraded state." + ], + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshDataPlaneManagement": { + "description": "Status of data plane management. Only reported per-member.", + "id": "ServiceMeshDataPlaneManagement", + "properties": { + "details": { + "description": "Explanation of the status.", + "items": { + "$ref": "ServiceMeshStatusDetails" + }, + "type": "array" + }, + "state": { + "description": "Lifecycle status of data plane management.", + "enum": [ + "LIFECYCLE_STATE_UNSPECIFIED", + "DISABLED", + "FAILED_PRECONDITION", + "PROVISIONING", + "ACTIVE", + "STALLED", + "NEEDS_ATTENTION", + "DEGRADED" + ], + "enumDescriptions": [ + "Unspecified", + "DISABLED means that the component is not enabled.", + "FAILED_PRECONDITION means that provisioning cannot proceed because of some characteristic of the member cluster.", + "PROVISIONING means that provisioning is in progress.", + "ACTIVE means that the component is ready for use.", + "STALLED means that provisioning could not be done.", + "NEEDS_ATTENTION means that the component is ready, but some user intervention is required. (For example that the user should migrate workloads to a new control plane revision.)", + "DEGRADED means that the component is ready, but operating in a degraded state." + ], + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshSpec": { + "description": "**Service Mesh**: Spec for a single Membership for the servicemesh feature", + "id": "ServiceMeshSpec", + "properties": { + "configApi": { + "description": "Optional. Specifies the API that will be used for configuring the mesh workloads.", + "enum": [ + "CONFIG_API_UNSPECIFIED", + "CONFIG_API_ISTIO", + "CONFIG_API_GATEWAY" + ], + "enumDescriptions": [ + "Unspecified", + "Use the Istio API for configuration.", + "Use the K8s Gateway API for configuration." + ], + "type": "string" + }, + "controlPlane": { + "deprecated": true, + "description": "Deprecated: use `management` instead Enables automatic control plane management.", + "enum": [ + "CONTROL_PLANE_MANAGEMENT_UNSPECIFIED", + "AUTOMATIC", + "MANUAL" + ], + "enumDescriptions": [ + "Unspecified", + "Google should provision a control plane revision and make it available in the cluster. Google will enroll this revision in a release channel and keep it up to date. The control plane revision may be a managed service, or a managed install.", + "User will manually configure the control plane (e.g. via CLI, or via the ControlPlaneRevision KRM API)" + ], + "type": "string" + }, + "defaultChannel": { + "deprecated": true, + "description": "Determines which release channel to use for default injection and service mesh APIs.", + "enum": [ + "CHANNEL_UNSPECIFIED", + "RAPID", + "REGULAR", + "STABLE" + ], + "enumDescriptions": [ + "Unspecified", + "RAPID channel is offered on an early access basis for customers who want to test new releases.", + "REGULAR channel is intended for production users who want to take advantage of new features.", + "STABLE channel includes versions that are known to be stable and reliable in production." + ], + "type": "string" + }, + "management": { + "description": "Optional. Enables automatic Service Mesh management.", + "enum": [ + "MANAGEMENT_UNSPECIFIED", + "MANAGEMENT_AUTOMATIC", + "MANAGEMENT_MANUAL" + ], + "enumDescriptions": [ + "Unspecified", + "Google should manage my Service Mesh for the cluster.", + "User will manually configure their service mesh components." + ], + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshState": { + "description": "**Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller.", + "id": "ServiceMeshState", + "properties": { + "analysisMessages": { + "description": "Output only. Results of running Service Mesh analyzers.", + "items": { + "$ref": "ServiceMeshAnalysisMessage" + }, + "readOnly": true, + "type": "array" + }, + "conditions": { + "description": "Output only. List of conditions reported for this membership.", + "items": { + "$ref": "ServiceMeshCondition" + }, + "readOnly": true, + "type": "array" + }, + "configApiVersion": { + "description": "The API version (i.e. Istio CRD version) for configuring service mesh in this cluster. This version is influenced by the `default_channel` field.", + "type": "string" + }, + "controlPlaneManagement": { + "$ref": "ServiceMeshControlPlaneManagement", + "description": "Output only. Status of control plane management", + "readOnly": true + }, + "dataPlaneManagement": { + "$ref": "ServiceMeshDataPlaneManagement", + "description": "Output only. Status of data plane management.", + "readOnly": true + } + }, + "type": "object" + }, + "ServiceMeshStatusDetails": { + "description": "Structured and human-readable details for a status.", + "id": "ServiceMeshStatusDetails", + "properties": { + "code": { + "description": "A machine-readable code that further describes a broad status.", + "type": "string" + }, + "details": { + "description": "Human-readable explanation of code.", + "type": "string" + } + }, + "type": "object" + }, + "ServiceMeshType": { + "description": "A unique identifier for the type of message. Display_name is intended to be human-readable, code is intended to be machine readable. There should be a one-to-one mapping between display_name and code. (i.e. do not re-use display_names or codes between message types.) See istio.analysis.v1alpha1.AnalysisMessageBase.Type", + "id": "ServiceMeshType", + "properties": { + "code": { + "description": "A 7 character code matching `^IST[0-9]{4}$` or `^ASM[0-9]{4}$`, intended to uniquely identify the message type. (e.g. \"IST0001\" is mapped to the \"InternalError\" message type.)", + "type": "string" + }, + "displayName": { + "description": "A human-readable name for the message type. e.g. \"InternalError\", \"PodMissingProxy\". This should be the same for all messages of the same type. (This corresponds to the `name` field in open-source Istio.)", + "type": "string" + } + }, + "type": "object" + }, + "State": { + "description": "High-level state of a MembershipFeature.", + "id": "State", + "properties": { + "code": { + "description": "The high-level, machine-readable status of this MembershipFeature.", + "enum": [ + "CODE_UNSPECIFIED", + "OK", + "WARNING", + "ERROR" + ], + "enumDescriptions": [ + "Unknown or not set.", + "The MembershipFeature is operating normally.", + "The MembershipFeature has encountered an issue, and is operating in a degraded state. The MembershipFeature may need intervention to return to normal operation. See the description and any associated MembershipFeature-specific details for more information.", + "The MembershipFeature is not operating or is in a severely degraded state. The MembershipFeature may need intervention to return to normal operation. See the description and any associated MembershipFeature-specific details for more information." + ], + "type": "string" + }, + "description": { + "description": "A human-readable description of the current status.", + "type": "string" + }, + "updateTime": { + "description": "The time this status and any related Feature-specific details were updated.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "WorkloadCertificateSpec": { + "description": "**WorkloadCertificate**: The membership-specific input for WorkloadCertificate feature.", + "id": "WorkloadCertificateSpec", + "properties": { + "certificateManagement": { + "description": "CertificateManagement specifies workload certificate management.", + "enum": [ + "CERTIFICATE_MANAGEMENT_UNSPECIFIED", + "DISABLED", + "ENABLED" + ], + "enumDescriptions": [ + "Disable workload certificate feature.", + "Disable workload certificate feature.", + "Enable workload certificate feature." + ], + "type": "string" } }, "type": "object" diff --git a/discovery/gkeonprem-v1.json b/discovery/gkeonprem-v1.json index a2ad8ca58f..ac4ac87d07 100644 --- a/discovery/gkeonprem-v1.json +++ b/discovery/gkeonprem-v1.json @@ -1597,7 +1597,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "gkeonprem.projects.locations.operations.cancel", @@ -1719,6 +1719,49 @@ }, "vmwareAdminClusters": { "methods": { + "create": { + "description": "Creates a new VMware admin cluster in a given project and location. The API needs to be combined with creating a bootstrap cluster to work.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/vmwareAdminClusters", + "httpMethod": "POST", + "id": "gkeonprem.projects.locations.vmwareAdminClusters.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "allowPreflightFailure": { + "description": "Optional. If set to true, CLM will force CCFE to persist the cluster resource in RMS when the creation fails during standalone preflight checks. In that case the subsequent create call will fail with \"cluster already exists\" error and hence a update cluster is required to fix the cluster.", + "location": "query", + "type": "boolean" + }, + "parent": { + "description": "Required. The parent of the project and location where the cluster is created in. Format: \"projects/{project}/locations/{location}\"", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "validateOnly": { + "description": "Validate the request without actually doing any updates.", + "location": "query", + "type": "boolean" + }, + "vmwareAdminClusterId": { + "description": "Required. User provided identifier that is used as part of the resource name; must conform to RFC-1034 and additionally restrict to lower-cased letters. This comes out roughly to: /^a-z+[a-z0-9]$/", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/vmwareAdminClusters", + "request": { + "$ref": "VmwareAdminCluster" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "enroll": { "description": "Enrolls an existing VMware admin cluster to the Anthos On-Prem API within a given project and location. Through enrollment, an existing admin cluster will become Anthos On-Prem API managed. The corresponding GCP resources will be created and all future modifications to the cluster will be expected to be performed through the API.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/vmwareAdminClusters:enroll", @@ -3051,7 +3094,7 @@ } } }, - "revision": "20240814", + "revision": "20241204", "rootUrl": "https://gkeonprem.googleapis.com/", "schemas": { "Authorization": { @@ -5794,7 +5837,12 @@ "VmwareAdminMetalLbConfig": { "description": "VmwareAdminMetalLbConfig represents configuration parameters for a MetalLB load balancer. For admin clusters, currently no configurations is needed.", "id": "VmwareAdminMetalLbConfig", - "properties": {}, + "properties": { + "enabled": { + "description": "Whether MetalLB is enabled.", + "type": "boolean" + } + }, "type": "object" }, "VmwareAdminNetworkConfig": { diff --git a/discovery/healthcare-v1.json b/discovery/healthcare-v1.json index 61c81fad1e..110209c1d2 100644 --- a/discovery/healthcare-v1.json +++ b/discovery/healthcare-v1.json @@ -2942,6 +2942,64 @@ }, "fhirStores": { "methods": { + "applyAdminConsents": { + "description": "Applies the admin Consent resources for the FHIR store and reindexes the underlying resources in the FHIR store according to the aggregate consents. This method also updates the `consent_config.enforced_admin_consents` field of the FhirStore unless `validate_only=true` in ApplyAdminConsentsRequest. Any admin Consent resource change after this operation execution (including deletion) requires you to call ApplyAdminConsents again for the change to take effect. This method returns an Operation that can be used to track the progress of the resources that were reindexed, by calling GetOperation. Upon completion, the ApplyAdminConsentsResponse additionally contains the number of resources that were reindexed. If at least one Consent resource contains an error or fails be be enforced for any reason, the method returns an error instead of an Operation. No resources will be reindexed and the `consent_config.enforced_admin_consents` field will be unchanged. To enforce a consent check for data access, `consent_config.access_enforced` must be set to true for the FhirStore.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:applyAdminConsents", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.fhirStores.applyAdminConsents", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the FHIR store to enforce, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:applyAdminConsents", + "request": { + "$ref": "ApplyAdminConsentsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-healthcare", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "applyConsents": { + "description": "Apply the Consent resources for the FHIR store and reindex the underlying resources in the FHIR store according to the aggregate consent. The aggregate consent of the patient in scope in this request replaces any previous call of this method. Any Consent resource change after this operation execution (including deletion) requires you to call ApplyConsents again to have effect. This method returns an Operation that can be used to track the progress of the consent resources that were processed by calling GetOperation. Upon completion, the ApplyConsentsResponse additionally contains the number of resources that was reindexed. Errors are logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). To enforce consent check for data access, `consent_config.access_enforced` must be set to true for the FhirStore.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:applyConsents", + "httpMethod": "POST", + "id": "healthcare.projects.locations.datasets.fhirStores.applyConsents", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the FHIR store to enforce, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:applyConsents", + "request": { + "$ref": "ApplyConsentsRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-healthcare", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "create": { "description": "Creates a new FHIR store within the parent dataset.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores", @@ -3031,6 +3089,37 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "explainDataAccess": { + "description": "Explains all the permitted/denied actor, purpose and environment for a given resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:explainDataAccess", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.fhirStores.explainDataAccess", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the FHIR store to enforce, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+$", + "required": true, + "type": "string" + }, + "resourceId": { + "description": "Required. The ID (`{resourceType}/{id}`) of the resource to explain data access on.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}:explainDataAccess", + "response": { + "$ref": "ExplainDataAccessResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-healthcare", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "export": { "description": "Export resources from the FHIR store to the specified destination. This method returns an Operation that can be used to track the status of the export by calling GetOperation. Immediate fatal errors appear in the error field, errors are also logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). Otherwise, when the operation finishes, a detailed response of type ExportResourcesResponse is returned in the response field. The metadata field type for this operation is OperationMetadata.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}:export", @@ -3342,7 +3431,7 @@ "fhir": { "methods": { "Binary-create": { - "description": "Creates a FHIR Binary resource. This method can be used to create a Binary resource either by using one of the accepted FHIR JSON content types, or as a raw data stream. If a resource is created with this method using the FHIR content type this method's behavior is the same as [`fhir.create`](https://cloud.google.com/healthcare-api/docs/reference/rest/v1/projects.locations.datasets.fhirStores.fhir/create). If a resource type other than Binary is used in the request it's treated in the same way as non-FHIR data (e.g., images, zip archives, pdf files, documents). When a non-FHIR content type is used in the request, a Binary resource will be generated, and the uploaded data will be stored in the `content` field (`DSTU2` and `STU3`), or the `data` field (`R4`). The Binary resource's `contentType` will be filled in using the value of the `Content-Type` header, and the `securityContext` field (not present in `DSTU2`) will be populated from the `X-Security-Context` header if it exists. At this time `securityContext` has no special behavior in the Cloud Healthcare API. Note: the limit on data ingested through this method is 2 GB. For best performance, use a non-FHIR data type instead of wrapping the data in a Binary resource. Some of the Healthcare API features, such as [exporting to BigQuery](https://cloud.google.com/healthcare-api/docs/how-tos/fhir-export-bigquery) or [Pub/Sub notifications](https://cloud.google.com/healthcare-api/docs/fhir-pubsub#behavior_when_a_fhir_resource_is_too_large_or_traffic_is_high) with full resource content, do not support Binary resources that are larger than 10 MB. In these cases the resource's `data` field will be omitted. Instead, the \"http://hl7.org/fhir/StructureDefinition/data-absent-reason\" extension will be present to indicate that including the data is `unsupported`. On success, an empty `201 Created` response is returned. The newly created resource's ID and version are returned in the Location header. Using `Prefer: representation=resource` is not allowed for this method. The definition of the Binary REST API can be found at https://hl7.org/fhir/binary.html#rest.", + "description": "Creates a FHIR Binary resource. This method can be used to create a Binary resource either by using one of the accepted FHIR JSON content types, or as a raw data stream. If a resource is created with this method using the FHIR content type this method's behavior is the same as [`fhir.create`](https://cloud.google.com/healthcare-api/docs/reference/rest/v1/projects.locations.datasets.fhirStores.fhir/create). If a resource type other than Binary is used in the request it's treated in the same way as non-FHIR data (e.g., images, zip archives, pdf files, documents). When a non-FHIR content type is used in the request, a Binary resource will be generated, and the uploaded data will be stored in the `content` field (`DSTU2` and `STU3`), or the `data` field (`R4`). The Binary resource's `contentType` will be filled in using the value of the `Content-Type` header, and the `securityContext` field (not present in `DSTU2`) will be populated from the `X-Security-Context` header if it exists. At this time `securityContext` has no special behavior in the Cloud Healthcare API. Note: the limit on data ingested through this method is 1 GB. For best performance, use a non-FHIR data type instead of wrapping the data in a Binary resource. Some of the Healthcare API features, such as [exporting to BigQuery](https://cloud.google.com/healthcare-api/docs/how-tos/fhir-export-bigquery) or [Pub/Sub notifications](https://cloud.google.com/healthcare-api/docs/fhir-pubsub#behavior_when_a_fhir_resource_is_too_large_or_traffic_is_high) with full resource content, do not support Binary resources that are larger than 10 MB. In these cases the resource's `data` field will be omitted. Instead, the \"http://hl7.org/fhir/StructureDefinition/data-absent-reason\" extension will be present to indicate that including the data is `unsupported`. On success, an empty `201 Created` response is returned. The newly created resource's ID and version are returned in the Location header. Using `Prefer: representation=resource` is not allowed for this method. The definition of the Binary REST API can be found at https://hl7.org/fhir/binary.html#rest.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/Binary", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.fhirStores.fhir.Binary-create", @@ -3451,6 +3540,69 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "Consent-enforcement-status": { + "description": "Returns the consent enforcement status of a single consent resource. On success, the response body contains a JSON-encoded representation of a `Parameters` (http://hl7.org/fhir/parameters.html) FHIR resource, containing the current enforcement status. Does not support DSTU2.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/Consent/{ConsentId}/$consent-enforcement-status", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.fhirStores.fhir.Consent-enforcement-status", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the consent resource to find enforcement status, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/fhir/Consent/{consent_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/Consent/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/$consent-enforcement-status", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-healthcare", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "Patient-consent-enforcement-status": { + "description": "Returns the consent enforcement status of all consent resources for a patient. On success, the response body contains a JSON-encoded representation of a bundle of `Parameters` (http://hl7.org/fhir/parameters.html) FHIR resources, containing the current enforcement status for each consent resource of the patient. Does not support DSTU2.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/Patient/{PatientId}/$consent-enforcement-status", + "httpMethod": "GET", + "id": "healthcare.projects.locations.datasets.fhirStores.fhir.Patient-consent-enforcement-status", + "parameterOrder": [ + "name" + ], + "parameters": { + "_count": { + "description": "Optional. The maximum number of results on a page. If not specified, 100 is used. May not be larger than 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "_page_token": { + "description": "Optional. Used to retrieve the first, previous, next, or last page of consent enforcement statuses when using pagination. Value should be set to the value of `_page_token` set in next or previous page links' URLs. Next and previous page are returned in the response bundle's links field, where `link.relation` is \"previous\" or \"next\". Omit `_page_token` if no previous request has been made.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the patient to find enforcement statuses, in the format `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/fhir/Patient/{patient_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/datasets/[^/]+/fhirStores/[^/]+/fhir/Patient/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/$consent-enforcement-status", + "response": { + "$ref": "HttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-healthcare", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "Patient-everything": { "description": "Retrieves a Patient resource and resources related to that patient. Implements the FHIR extended operation Patient-everything ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/patient-operations.html#everything), [STU3](http://hl7.org/implement/standards/fhir/STU3/patient-operations.html#everything), [R4](http://hl7.org/implement/standards/fhir/R4/patient-operations.html#everything)). On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the operation. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The resources in scope for the response are: * The patient resource itself. * All the resources directly referenced by the patient resource. * Resources directly referencing the patient resource that meet the inclusion criteria. The inclusion criteria are based on the membership rules in the patient compartment definition ([DSTU2](http://hl7.org/fhir/DSTU2/compartment-patient.html), [STU3](http://www.hl7.org/fhir/stu3/compartmentdefinition-patient.html), [R4](http://hl7.org/fhir/R4/compartmentdefinition-patient.html)), which details the eligible resource types and referencing search parameters. For samples that show how to call `Patient-everything`, see [Getting all patient compartment resources](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#getting_all_patient_compartment_resources).", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/Patient/{PatientId}/$everything", @@ -4641,7 +4793,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.operations.cancel", @@ -4783,9 +4935,32 @@ } } }, - "revision": "20240910", + "revision": "20241205", "rootUrl": "https://healthcare.googleapis.com/", "schemas": { + "AccessDeterminationLogConfig": { + "description": "Configures consent audit log config for FHIR create, read, update, and delete (CRUD) operations. Cloud audit log for healthcare API must be [enabled](https://cloud.google.com/logging/docs/audit/configure-data-access#config-console-enable). The consent-related logs are included as part of `protoPayload.metadata`.", + "id": "AccessDeterminationLogConfig", + "properties": { + "logLevel": { + "description": "Optional. Controls the amount of detail to include as part of the audit logs.", + "enum": [ + "LOG_LEVEL_UNSPECIFIED", + "DISABLED", + "MINIMUM", + "VERBOSE" + ], + "enumDescriptions": [ + "No log level specified. This value is unused.", + "No additional consent-related logging is added to audit logs.", + "The following information is included: * One of the following [`consentMode`](https://cloud.google.com/healthcare-api/docs/fhir-consent#audit_logs) fields: (`off`|`emptyScope`|`enforced`|`btg`|`bypass`). * The accessor's request headers * The `log_level` of the AccessDeterminationLogConfig * The final consent evaluation (`PERMIT`, `DENY`, or `NO_CONSENT`) * A human-readable summary of the evaluation", + "Includes `MINIMUM` and, for each resource owner, returns: * The resource owner's name * Most specific part of the `X-Consent-Scope` resulting in consensual determination * Timestamp of the applied enforcement leading to the decision * Enforcement version at the time the applicable consents were applied * The Consent resource name * The timestamp of the Consent resource used for enforcement * Policy type (`PATIENT` or `ADMIN`) Note that this mode adds some overhead to CRUD operations." + ], + "type": "string" + } + }, + "type": "object" + }, "ActivateConsentRequest": { "description": "Activates the latest revision of the specified Consent by committing a new revision with `state` updated to `ACTIVE`. If the latest revision of the given Consent is in the `ACTIVE` state, no new revision is committed. A FAILED_PRECONDITION error occurs if the latest revision of the given consent is in the `REJECTED` or `REVOKED` state.", "id": "ActivateConsentRequest", @@ -4807,6 +4982,20 @@ }, "type": "object" }, + "AdminConsents": { + "description": "List of admin Consent resources to be applied.", + "id": "AdminConsents", + "properties": { + "names": { + "description": "Optional. The versioned names of the admin Consent resource(s), in the format `projects/{project_id}/locations/{location}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/fhir/Consent/{resource_id}/_history/{version_id}`. For FHIR stores with `disable_resource_versioning=true`, the format is `projects/{project_id}/locations/{location}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/fhir/Consent/{resource_id}`.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "AnalyzeEntitiesRequest": { "description": "The request to analyze healthcare entities in a document.", "id": "AnalyzeEntitiesRequest", @@ -4879,6 +5068,108 @@ }, "type": "object" }, + "ApplyAdminConsentsErrorDetail": { + "description": "Contains the error details of the unsupported admin Consent resources for when the ApplyAdminConsents method fails to apply one or more Consent resources.", + "id": "ApplyAdminConsentsErrorDetail", + "properties": { + "consentErrors": { + "description": "The list of Consent resources that are unsupported or cannot be applied and the error associated with each of them.", + "items": { + "$ref": "ConsentErrors" + }, + "type": "array" + }, + "existingOperationId": { + "description": "The currently in progress non-validate-only ApplyAdminConsents operation ID if exist.", + "format": "uint64", + "type": "string" + } + }, + "type": "object" + }, + "ApplyAdminConsentsRequest": { + "description": "Request to apply the admin Consent resources for the specified FHIR store.", + "id": "ApplyAdminConsentsRequest", + "properties": { + "newConsentsList": { + "$ref": "AdminConsents", + "description": "A new list of admin Consent resources to be applied. Any existing enforced Consents, which are specified in `consent_config.enforced_admin_consents` of the FhirStore, that are not part of this list will be disabled. An empty list is equivalent to clearing or disabling all Consents enforced on the FHIR store. When a FHIR store has `disable_resource_versioning=true` and this list contains a Consent resource that exists in `consent_config.enforced_admin_consents`, the method enforces any updates to the existing resource since the last enforcement. If the existing resource hasn't been updated since the last enforcement, the resource is unaffected. After the method finishes, the resulting consent enforcement model is determined by the contents of the Consent resource(s) when the method was called: * When `disable_resource_versioning=true`, the result is identical to the current resource(s) in the FHIR store. * When `disable_resource_versioning=false`, the result is based on the historical version(s) of the Consent resource(s) at the point in time when the method was called. At most 200 Consents can be specified." + }, + "validateOnly": { + "description": "Optional. If true, the method only validates Consent resources to make sure they are supported. Otherwise, the method applies the aggregate consent information to update the enforcement model and reindex the FHIR resources. If all Consent resources can be applied successfully, the ApplyAdminConsentsResponse is returned containing the following fields: * `consent_apply_success` to indicate the number of Consent resources applied. * `affected_resources` to indicate the number of resources that might have had their consent access changed. If, however, one or more Consent resources are unsupported or cannot be applied, the method fails and ApplyAdminConsentsErrorDetail is is returned with details about the unsupported Consent resources.", + "type": "boolean" + } + }, + "type": "object" + }, + "ApplyAdminConsentsResponse": { + "description": "Response when all admin Consent resources in scope were processed and all affected resources were reindexed successfully. This structure will be included in the response when the operation finishes successfully.", + "id": "ApplyAdminConsentsResponse", + "properties": { + "affectedResources": { + "description": "The number of resources (including the Consent resources) that may have consent access change.", + "format": "int64", + "type": "string" + }, + "consentApplySuccess": { + "description": "If `validate_only=false` in ApplyAdminConsentsRequest, this counter contains the number of Consent resources that were successfully applied. Otherwise, it is the number of Consent resources that are supported.", + "format": "int64", + "type": "string" + }, + "failedResources": { + "description": "The number of resources (including the Consent resources) that ApplyAdminConsents failed to re-index.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "ApplyConsentsRequest": { + "description": "Request to apply the Consent resources for the specified FHIR store.", + "id": "ApplyConsentsRequest", + "properties": { + "patientScope": { + "$ref": "PatientScope", + "description": "Optional. Scope down to a list of patients." + }, + "timeRange": { + "$ref": "TimeRange", + "description": "Optional. Scope down to patients whose most recent consent changes are in the time range. Can only be used with a versioning store (i.e. when disable_resource_versioning is set to false)." + }, + "validateOnly": { + "description": "Optional. If true, the method only validates Consent resources to make sure they are supported. When the operation completes, ApplyConsentsResponse is returned where `consent_apply_success` and `consent_apply_failure` indicate supported and unsupported (or invalid) Consent resources, respectively. Otherwise, the method propagates the aggregate consensual information to the patient's resources. Upon success, `affected_resources` in the ApplyConsentsResponse indicates the number of resources that may have consensual access changed.", + "type": "boolean" + } + }, + "type": "object" + }, + "ApplyConsentsResponse": { + "description": "Response when all Consent resources in scope were processed and all affected resources were reindexed successfully. This structure is included in the response when the operation finishes successfully.", + "id": "ApplyConsentsResponse", + "properties": { + "affectedResources": { + "description": "The number of resources (including the Consent resources) that may have consensual access change.", + "format": "int64", + "type": "string" + }, + "consentApplyFailure": { + "description": "If `validate_only = false` in ApplyConsentsRequest, this counter is the number of Consent resources that were failed to apply. Otherwise, it is the number of Consent resources that are not supported or invalid.", + "format": "int64", + "type": "string" + }, + "consentApplySuccess": { + "description": "If `validate_only = false` in ApplyConsentsRequest, this counter is the number of Consent resources that were successfully applied. Otherwise, it is the number of Consent resources that are supported.", + "format": "int64", + "type": "string" + }, + "failedResources": { + "description": "The number of resources (including the Consent resources) that ApplyConsents failed to re-index.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "ArchiveUserDataMappingRequest": { "description": "Archives the specified User data mapping.", "id": "ArchiveUserDataMappingRequest", @@ -5097,7 +5388,7 @@ "id": "CharacterMaskConfig", "properties": { "maskingCharacter": { - "description": "Character to mask the sensitive values. If not supplied, defaults to \"*\".", + "description": "Optional. Character to mask the sensitive values. If not supplied, defaults to \"*\".", "type": "string" } }, @@ -5231,6 +5522,25 @@ }, "type": "object" }, + "ConsentAccessorScope": { + "description": "The accessor scope that describes who can access, for what purpose, in which environment.", + "id": "ConsentAccessorScope", + "properties": { + "actor": { + "description": "An individual, group, or access role that identifies the accessor or a characteristic of the accessor. This can be a resource ID (such as `{resourceType}/{id}`) or an external URI. This value must be present.", + "type": "string" + }, + "environment": { + "description": "An abstract identifier that describes the environment or conditions under which the accessor is acting. Can be \"*\" if it applies to all environments.", + "type": "string" + }, + "purpose": { + "description": "The intent of data use. Can be \"*\" if it applies to all purposes.", + "type": "string" + } + }, + "type": "object" + }, "ConsentArtifact": { "description": "Documentation of a user's consent.", "id": "ConsentArtifact", @@ -5276,6 +5586,60 @@ }, "type": "object" }, + "ConsentConfig": { + "description": "Configures whether to enforce consent for the FHIR store and which consent enforcement version is being used.", + "id": "ConsentConfig", + "properties": { + "accessDeterminationLogConfig": { + "$ref": "AccessDeterminationLogConfig", + "description": "Optional. Specifies how the server logs the consent-aware requests. If not specified, the `AccessDeterminationLogConfig.LogLevel.MINIMUM` option is used." + }, + "accessEnforced": { + "description": "Optional. The default value is false. If set to true, when accessing FHIR resources, the consent headers will be verified against consents given by patients. See the ConsentEnforcementVersion for the supported consent headers.", + "type": "boolean" + }, + "consentHeaderHandling": { + "$ref": "ConsentHeaderHandling", + "description": "Optional. Different options to configure the behaviour of the server when handling the `X-Consent-Scope` header." + }, + "enforcedAdminConsents": { + "description": "Output only. The versioned names of the enforced admin Consent resource(s), in the format `projects/{project_id}/locations/{location}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/fhir/Consent/{resource_id}/_history/{version_id}`. For FHIR stores with `disable_resource_versioning=true`, the format is `projects/{project_id}/locations/{location}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/fhir/Consent/{resource_id}`. This field can only be updated using ApplyAdminConsents.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "version": { + "description": "Required. Specifies which consent enforcement version is being used for this FHIR store. This field can only be set once by either CreateFhirStore or UpdateFhirStore. After that, you must call ApplyConsents to change the version.", + "enum": [ + "CONSENT_ENFORCEMENT_VERSION_UNSPECIFIED", + "V1" + ], + "enumDescriptions": [ + "Users must specify an enforcement version or an error is returned.", + "Enforcement version 1. See the [FHIR Consent resources in the Cloud Healthcare API](https://cloud.google.com/healthcare-api/docs/fhir-consent) guide for more details." + ], + "type": "string" + } + }, + "type": "object" + }, + "ConsentErrors": { + "description": "The Consent resource name and error.", + "id": "ConsentErrors", + "properties": { + "error": { + "$ref": "Status", + "description": "The error code and message." + }, + "name": { + "description": "The versioned name of the admin Consent resource, in the format `projects/{project_id}/locations/{location}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/fhir/Consent/{resource_id}/_history/{version_id}`. For FHIR stores with `disable_resource_versioning=true`, the format is `projects/{project_id}/locations/{location}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/fhir/Consent/{resource_id}`.", + "type": "string" + } + }, + "type": "object" + }, "ConsentEvaluation": { "description": "The detailed evaluation of a particular Consent.", "id": "ConsentEvaluation", @@ -5301,6 +5665,27 @@ }, "type": "object" }, + "ConsentHeaderHandling": { + "description": "How the server handles the consent header.", + "id": "ConsentHeaderHandling", + "properties": { + "profile": { + "description": "Optional. Specifies the default server behavior when the header is empty. If not specified, the `ScopeProfile.PERMIT_EMPTY_SCOPE` option is used.", + "enum": [ + "SCOPE_PROFILE_UNSPECIFIED", + "PERMIT_EMPTY_SCOPE", + "REQUIRED_ON_READ" + ], + "enumDescriptions": [ + "If not specified, the default value `PERMIT_EMPTY_SCOPE` is used.", + "When no consent scopes are provided (for example, if there's an empty or missing header), then consent check is disabled, similar to when `access_enforced` is `false`. You can use audit logs to differentiate these two cases by looking at the value of `protopayload.metadata.consentMode`. If consents scopes are present, they must be valid and within the allowed limits, otherwise the request will be rejected with a `4xx` code.", + "The consent header must be non-empty when performing read and search operations, otherwise the request is rejected with a `4xx` code. Additionally, invalid consent scopes or scopes exceeding the allowed limits are rejected." + ], + "type": "string" + } + }, + "type": "object" + }, "ConsentList": { "description": "List of resource names of Consent resources.", "id": "ConsentList", @@ -5410,10 +5795,10 @@ "properties": { "config": { "$ref": "DeidentifyConfig", - "description": "The configuration to use when de-identifying resources that are added to this store." + "description": "Optional. The configuration to use when de-identifying resources that are added to this store." }, "store": { - "description": "The full resource name of a Cloud Healthcare FHIR store, for example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", + "description": "Optional. The full resource name of a Cloud Healthcare FHIR store, for example, `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}`.", "type": "string" } }, @@ -5425,22 +5810,22 @@ "properties": { "dicom": { "$ref": "DicomConfig", - "description": "Configures de-id of application/DICOM content." + "description": "Optional. Configures de-id of application/DICOM content." }, "fhir": { "$ref": "FhirConfig", - "description": "Configures de-id of application/FHIR content." + "description": "Optional. Configures de-id of application/FHIR content." }, "image": { "$ref": "ImageConfig", - "description": "Configures de-identification of image pixels wherever they are found in the source_dataset." + "description": "Optional. Configures de-identification of image pixels wherever they are found in the source_dataset." }, "text": { "$ref": "TextConfig", - "description": "Configures de-identification of text wherever it is found in the source_dataset." + "description": "Optional. Configures de-identification of text wherever it is found in the source_dataset." }, "useRegionalDataProcessing": { - "description": "Ensures in-flight data remains in the region of origin during de-identification. The default value is false. Using this option results in a significant reduction of throughput, and is not compatible with `LOCATION` or `ORGANIZATION_NAME` infoTypes. `LOCATION` must be excluded within TextConfig, and must also be excluded within ImageConfig if image redaction is required.", + "description": "Optional. Ensures in-flight data remains in the region of origin during de-identification. The default value is false. Using this option results in a significant reduction of throughput, and is not compatible with `LOCATION` or `ORGANIZATION_NAME` infoTypes. `LOCATION` must be excluded within TextConfig, and must also be excluded within ImageConfig if image redaction is required.", "type": "boolean" } }, @@ -5552,7 +5937,7 @@ "description": "List of tags to remove. Keep all other tags." }, "skipIdRedaction": { - "description": "If true, skip replacing StudyInstanceUID, SeriesInstanceUID, SOPInstanceUID, and MediaStorageSOPInstanceUID and leave them untouched. The Cloud Healthcare API regenerates these UIDs by default based on the DICOM Standard's reasoning: \"Whilst these UIDs cannot be mapped directly to an individual out of context, given access to the original images, or to a database of the original images containing the UIDs, it would be possible to recover the individual's identity.\" http://dicom.nema.org/medical/dicom/current/output/chtml/part15/sect_E.3.9.html", + "description": "Optional. If true, skip replacing StudyInstanceUID, SeriesInstanceUID, SOPInstanceUID, and MediaStorageSOPInstanceUID and leave them untouched. The Cloud Healthcare API regenerates these UIDs by default based on the DICOM Standard's reasoning: \"Whilst these UIDs cannot be mapped directly to an individual out of context, given access to the original images, or to a database of the original images containing the UIDs, it would be possible to recover the individual's identity.\" http://dicom.nema.org/medical/dicom/current/output/chtml/part15/sect_E.3.9.html", "type": "boolean" } }, @@ -5805,6 +6190,128 @@ }, "type": "object" }, + "ExplainDataAccessConsentInfo": { + "description": "The enforcing consent's metadata.", + "id": "ExplainDataAccessConsentInfo", + "properties": { + "cascadeOrigins": { + "description": "The compartment base resources that matched a cascading policy. Each resource has the following format: `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/fhir/{resource_type}/{resource_id}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "consentResource": { + "description": "The resource name of this consent resource, in the format: `projects/{project_id}/locations/{location}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/fhir/Consent/{resource_id}`.", + "type": "string" + }, + "enforcementTime": { + "description": "Last enforcement timestamp of this consent resource.", + "format": "google-datetime", + "type": "string" + }, + "matchingAccessorScopes": { + "description": "A list of all the matching accessor scopes of this consent policy that enforced ExplainDataAccessConsentScope.accessor_scope.", + "items": { + "$ref": "ConsentAccessorScope" + }, + "type": "array" + }, + "patientConsentOwner": { + "description": "The patient owning the consent (only applicable for patient consents), in the format: `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/fhirStores/{fhir_store_id}/fhir/Patient/{patient_id}`", + "type": "string" + }, + "type": { + "description": "The policy type of consent resource (e.g. PATIENT, ADMIN).", + "enum": [ + "CONSENT_POLICY_TYPE_UNSPECIFIED", + "CONSENT_POLICY_TYPE_PATIENT", + "CONSENT_POLICY_TYPE_ADMIN" + ], + "enumDescriptions": [ + "Unspecified policy type.", + "Consent represent a patient consent.", + "Consent represent an admin consent." + ], + "type": "string" + }, + "variants": { + "description": "The consent's variant combinations. A single consent may have multiple variants.", + "items": { + "enum": [ + "CONSENT_VARIANT_UNSPECIFIED", + "CONSENT_VARIANT_STANDARD", + "CONSENT_VARIANT_CASCADE" + ], + "enumDescriptions": [ + "Consent variant unspecified.", + "Consent is a standard patient or admin consent.", + "Consent is a cascading consent." + ], + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ExplainDataAccessConsentScope": { + "description": "A single consent scope that provides info on who has access to the requested resource scope for a particular purpose and environment, enforced by which consent.", + "id": "ExplainDataAccessConsentScope", + "properties": { + "accessorScope": { + "$ref": "ConsentAccessorScope", + "description": "The accessor scope that describes who can access, for what purpose, and in which environment." + }, + "decision": { + "description": "Whether the current consent scope is permitted or denied access on the requested resource.", + "enum": [ + "CONSENT_DECISION_TYPE_UNSPECIFIED", + "CONSENT_DECISION_TYPE_PERMIT", + "CONSENT_DECISION_TYPE_DENY" + ], + "enumDescriptions": [ + "Unspecified consent decision type.", + "Consent permitted access.", + "Consent denied access." + ], + "type": "string" + }, + "enforcingConsents": { + "description": "Metadata of the consent resources that enforce the consent scope's access.", + "items": { + "$ref": "ExplainDataAccessConsentInfo" + }, + "type": "array" + }, + "exceptions": { + "description": "Other consent scopes that created exceptions within this scope.", + "items": { + "$ref": "ExplainDataAccessConsentScope" + }, + "type": "array" + } + }, + "type": "object" + }, + "ExplainDataAccessResponse": { + "description": "List of consent scopes that are applicable to the explained access on a given resource.", + "id": "ExplainDataAccessResponse", + "properties": { + "consentScopes": { + "description": "List of applicable consent scopes. Sorted in order of actor such that scopes belonging to the same actor will be adjacent to each other in the list.", + "items": { + "$ref": "ExplainDataAccessConsentScope" + }, + "type": "array" + }, + "warning": { + "description": "Warnings associated with this response. It inform user with exceeded scope limit errors.", + "type": "string" + } + }, + "type": "object" + }, "ExportDicomDataRequest": { "description": "Exports data from the specified DICOM store. If a given resource, such as a DICOM object with the same SOPInstance UID, already exists in the output, it is overwritten with the version in the source dataset. Exported DICOM data persists when the DICOM store from which it was exported is deleted.", "id": "ExportDicomDataRequest", @@ -5934,11 +6441,11 @@ "id": "FhirConfig", "properties": { "defaultKeepExtensions": { - "description": "The behaviour for handling FHIR extensions that aren't otherwise specified for de-identification. If true, all extensions are preserved during de-identification by default. If false or unspecified, all extensions are removed during de-identification by default.", + "description": "Optional. The behaviour for handling FHIR extensions that aren't otherwise specified for de-identification. If true, all extensions are preserved during de-identification by default. If false or unspecified, all extensions are removed during de-identification by default.", "type": "boolean" }, "fieldMetadataList": { - "description": "Specifies FHIR paths to match and how to transform them. Any field that is not matched by a FieldMetadata is passed through to the output dataset unmodified. All extensions will be processed according to `default_keep_extensions`.", + "description": "Optional. Specifies FHIR paths to match and how to transform them. Any field that is not matched by a FieldMetadata is passed through to the output dataset unmodified. All extensions will be processed according to `default_keep_extensions`.", "items": { "$ref": "FieldMetadata" }, @@ -5982,7 +6489,7 @@ "id": "FhirStore", "properties": { "complexDataTypeReferenceParsing": { - "description": "Enable parsing of references within complex FHIR data types such as Extensions. If this value is set to ENABLED, then features like referential integrity and Bundle reference rewriting apply to all references. If this flag has not been specified the behavior of the FHIR store will not change, references in complex data types will not be parsed. New stores will have this value set to ENABLED after a notification period. Warning: turning on this flag causes processing existing resources to fail if they contain references to non-existent resources.", + "description": "Optional. Enable parsing of references within complex FHIR data types such as Extensions. If this value is set to ENABLED, then features like referential integrity and Bundle reference rewriting apply to all references. If this flag has not been specified the behavior of the FHIR store will not change, references in complex data types will not be parsed. New stores will have this value set to ENABLED after a notification period. Warning: turning on this flag causes processing existing resources to fail if they contain references to non-existent resources.", "enum": [ "COMPLEX_DATA_TYPE_REFERENCE_PARSING_UNSPECIFIED", "DISABLED", @@ -5995,6 +6502,10 @@ ], "type": "string" }, + "consentConfig": { + "$ref": "ConsentConfig", + "description": "Optional. Specifies whether this store has consent enforcement. Not available for DSTU2 FHIR version due to absence of Consent resources." + }, "defaultSearchHandlingStrict": { "description": "Optional. If true, overrides the default search behavior for this FHIR store to `handling=strict` which returns an error for unrecognized search parameters. If false, uses the FHIR specification default `handling=lenient` which ignores unrecognized search parameters. The handling can always be changed from the default on an individual API call by setting the HTTP header `Prefer: handling=strict` or `Prefer: handling=lenient`. Defaults to false.", "type": "boolean" @@ -6043,7 +6554,7 @@ }, "validationConfig": { "$ref": "ValidationConfig", - "description": "Configuration for how to validate incoming FHIR resources against configured profiles." + "description": "Optional. Configuration for how to validate incoming FHIR resources against configured profiles." }, "version": { "description": "Required. Immutable. The FHIR specification version that this FHIR store supports natively. This field is immutable after store creation. Requests are rejected if they contain FHIR resources of a different version. Version is required for every FHIR store.", @@ -6137,7 +6648,7 @@ "id": "FieldMetadata", "properties": { "action": { - "description": "Deidentify action for one field.", + "description": "Optional. Deidentify action for one field.", "enum": [ "ACTION_UNSPECIFIED", "TRANSFORM", @@ -6145,7 +6656,7 @@ "DO_NOT_TRANSFORM" ], "enumDescriptions": [ - "No action specified.", + "No action specified. Defaults to DO_NOT_TRANSFORM.", "Transform the entire field.", "Inspect and transform any found PHI.", "Do not transform." @@ -6153,7 +6664,7 @@ "type": "string" }, "paths": { - "description": "List of paths to FHIR fields to be redacted. Each path is a period-separated list where each component is either a field name or FHIR type name, for example: Patient, HumanName. For \"choice\" types (those defined in the FHIR spec with the form: field[x]) we use two separate components. For example, \"deceasedAge.unit\" is matched by \"Deceased.Age.unit\". Supported types are: AdministrativeGenderCode, Base64Binary, Boolean, Code, Date, DateTime, Decimal, HumanName, Id, Instant, Integer, LanguageCode, Markdown, Oid, PositiveInt, String, UnsignedInt, Uri, Uuid, Xhtml.", + "description": "Optional. List of paths to FHIR fields to be redacted. Each path is a period-separated list where each component is either a field name or FHIR type name, for example: Patient, HumanName. For \"choice\" types (those defined in the FHIR spec with the form: field[x]) we use two separate components. For example, \"deceasedAge.unit\" is matched by \"Deceased.Age.unit\". Supported types are: AdministrativeGenderCode, Base64Binary, Boolean, Code, Date, DateTime, Decimal, HumanName, Id, Instant, Integer, LanguageCode, Markdown, Oid, PositiveInt, String, UnsignedInt, Uri, Uuid, Xhtml.", "items": { "type": "string" }, @@ -6262,15 +6773,15 @@ "id": "GoogleCloudHealthcareV1DicomBigQueryDestination", "properties": { "force": { - "description": "Use `write_disposition` instead. If `write_disposition` is specified, this parameter is ignored. force=false is equivalent to write_disposition=WRITE_EMPTY and force=true is equivalent to write_disposition=WRITE_TRUNCATE.", + "description": "Optional. Use `write_disposition` instead. If `write_disposition` is specified, this parameter is ignored. force=false is equivalent to write_disposition=WRITE_EMPTY and force=true is equivalent to write_disposition=WRITE_TRUNCATE.", "type": "boolean" }, "tableUri": { - "description": "BigQuery URI to a table, up to 2000 characters long, in the format `bq://projectId.bqDatasetId.tableId`", + "description": "Optional. BigQuery URI to a table, up to 2000 characters long, in the format `bq://projectId.bqDatasetId.tableId`", "type": "string" }, "writeDisposition": { - "description": "Determines whether the existing table in the destination is to be overwritten or appended to. If a write_disposition is specified, the `force` parameter is ignored.", + "description": "Optional. Determines whether the existing table in the destination is to be overwritten or appended to. If a write_disposition is specified, the `force` parameter is ignored.", "enum": [ "WRITE_DISPOSITION_UNSPECIFIED", "WRITE_EMPTY", @@ -6572,7 +7083,7 @@ "id": "ImageConfig", "properties": { "textRedactionMode": { - "description": "Determines how to redact text from image.", + "description": "Optional. Determines how to redact text from image.", "enum": [ "TEXT_REDACTION_MODE_UNSPECIFIED", "REDACT_ALL_TEXT", @@ -6680,7 +7191,7 @@ "description": "Config for date shift." }, "infoTypes": { - "description": "InfoTypes to apply this transformation to. If this is not specified, the transformation applies to any info_type.", + "description": "Optional. InfoTypes to apply this transformation to. If this is not specified, the transformation applies to any info_type.", "items": { "type": "string" }, @@ -7185,7 +7696,7 @@ "description": "Optional. Schemas used to parse messages in this store, if schematized parsing is desired." }, "segmentTerminator": { - "description": "Byte(s) to use as the segment terminator. If this is unset, '\\r' is used as segment terminator, matching the HL7 version 2 specification.", + "description": "Optional. Byte(s) to use as the segment terminator. If this is unset, '\\r' is used as segment terminator, matching the HL7 version 2 specification.", "format": "byte", "type": "string" }, @@ -7223,6 +7734,20 @@ }, "type": "object" }, + "PatientScope": { + "description": "Apply consents given by a list of patients.", + "id": "PatientScope", + "properties": { + "patientIds": { + "description": "Optional. The list of patient IDs whose Consent resources will be enforced. At most 10,000 patients can be specified. An empty list is equivalent to all patients (meaning the entire FHIR store).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "Policy": { "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", @@ -7889,7 +8414,7 @@ }, "deidentifiedStoreDestination": { "$ref": "DeidentifiedStoreDestination", - "description": "The destination FHIR store for de-identified resources. After this field is added, all subsequent creates/updates/patches to the source store will be de-identified using the provided configuration and applied to the destination store. Importing resources to the source store will not trigger the streaming. If the source store already contains resources when this option is enabled, those resources will not be copied to the destination store unless they are subsequently updated. This may result in invalid references in the destination store. Before adding this config, you must grant the healthcare.fhirResources.update permission on the destination store to your project's **Cloud Healthcare Service Agent** [service account](https://cloud.google.com/healthcare/docs/how-tos/permissions-healthcare-api-gcp-products#the_cloud_healthcare_service_agent). The destination store must set enable_update_create to true. The destination store must have disable_referential_integrity set to true. If a resource cannot be de-identified, errors will be logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging))." + "description": "The destination FHIR store for de-identified resources. After this field is added, all subsequent creates/updates/patches to the source store will be de-identified using the provided configuration and applied to the destination store. Resources deleted from the source store will be deleted from the destination store. Importing resources to the source store will not trigger the streaming. If the source store already contains resources when this option is enabled, those resources will not be copied to the destination store unless they are subsequently updated. This may result in invalid references in the destination store. Before adding this config, you must grant the healthcare.fhirResources.update permission on the destination store to your project's **Cloud Healthcare Service Agent** [service account](https://cloud.google.com/healthcare/docs/how-tos/permissions-healthcare-api-gcp-products#the_cloud_healthcare_service_agent). The destination store must set enable_update_create to true. The destination store must have disable_referential_integrity set to true. If a resource cannot be de-identified, errors will be logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging))." }, "resourceTypes": { "description": "Optional. Supply a FHIR resource type (such as \"Patient\" or \"Observation\"). See https://www.hl7.org/fhir/valueset-resource-types.html for a list of all FHIR resource types. The server treats an empty list as an intent to stream all the supported resource types in this FHIR store.", @@ -7949,7 +8474,7 @@ "id": "TagFilterList", "properties": { "tags": { - "description": "Tags to be filtered. Tags must be DICOM Data Elements, File Meta Elements, or Directory Structuring Elements, as defined at: http://dicom.nema.org/medical/dicom/current/output/html/part06.html#table_6-1,. They may be provided by \"Keyword\" or \"Tag\". For example \"PatientID\", \"00100010\".", + "description": "Optional. Tags to be filtered. Tags must be DICOM Data Elements, File Meta Elements, or Directory Structuring Elements, as defined at: http://dicom.nema.org/medical/dicom/current/output/html/part06.html#table_6-1,. They may be provided by \"Keyword\" or \"Tag\". For example \"PatientID\", \"00100010\".", "items": { "type": "string" }, @@ -7990,21 +8515,21 @@ "id": "TextConfig", "properties": { "additionalTransformations": { - "description": "Transformations to apply to the detected data, overridden by `exclude_info_types`.", + "description": "Optional. Transformations to apply to the detected data, overridden by `exclude_info_types`.", "items": { "$ref": "InfoTypeTransformation" }, "type": "array" }, "excludeInfoTypes": { - "description": "InfoTypes to skip transforming, overriding `additional_transformations`.", + "description": "Optional. InfoTypes to skip transforming, overriding `additional_transformations`.", "items": { "type": "string" }, "type": "array" }, "transformations": { - "description": "The transformations to apply to the detected data. Deprecated. Use `additional_transformations` instead.", + "description": "Optional. The transformations to apply to the detected data. Deprecated. Use `additional_transformations` instead.", "items": { "$ref": "InfoTypeTransformation" }, @@ -8059,6 +8584,21 @@ }, "type": "object" }, + "TimeRange": { + "description": "Apply consents given by patients whose most recent consent changes are in the time range. Note that after identifying these patients, the server applies all Consent resources given by those patients, not just the Consent resources within the timestamp in the range.", + "id": "TimeRange", + "properties": { + "end": { + "description": "Optional. The latest consent change time, in format YYYY-MM-DDThh:mm:ss.sss+zz:zz If not specified, the system uses the time when ApplyConsents was called.", + "type": "string" + }, + "start": { + "description": "Optional. The earliest consent change time, in format YYYY-MM-DDThh:mm:ss.sss+zz:zz If not specified, the system uses the FHIR store creation time.", + "type": "string" + } + }, + "type": "object" + }, "Type": { "description": "A type definition for some HL7v2 type (incl. Segments and Datatypes).", "id": "Type", @@ -8135,23 +8675,23 @@ "id": "ValidationConfig", "properties": { "disableFhirpathValidation": { - "description": "Whether to disable FHIRPath validation for incoming resources. The default value is false. Set this to true to disable checking incoming resources for conformance against FHIRPath requirement defined in the FHIR specification. This property only affects resource types that do not have profiles configured for them, any rules in enabled implementation guides will still be enforced.", + "description": "Optional. Whether to disable FHIRPath validation for incoming resources. The default value is false. Set this to true to disable checking incoming resources for conformance against FHIRPath requirement defined in the FHIR specification. This property only affects resource types that do not have profiles configured for them, any rules in enabled implementation guides will still be enforced.", "type": "boolean" }, "disableProfileValidation": { - "description": "Whether to disable profile validation for this FHIR store. The default value is false. Set this to true to disable checking incoming resources for conformance against structure definitions in this FHIR store.", + "description": "Optional. Whether to disable profile validation for this FHIR store. The default value is false. Set this to true to disable checking incoming resources for conformance against structure definitions in this FHIR store.", "type": "boolean" }, "disableReferenceTypeValidation": { - "description": "Whether to disable reference type validation for incoming resources. The default value is false. Set this to true to disable checking incoming resources for conformance against reference type requirement defined in the FHIR specification. This property only affects resource types that do not have profiles configured for them, any rules in enabled implementation guides will still be enforced.", + "description": "Optional. Whether to disable reference type validation for incoming resources. The default value is false. Set this to true to disable checking incoming resources for conformance against reference type requirement defined in the FHIR specification. This property only affects resource types that do not have profiles configured for them, any rules in enabled implementation guides will still be enforced.", "type": "boolean" }, "disableRequiredFieldValidation": { - "description": "Whether to disable required fields validation for incoming resources. The default value is false. Set this to true to disable checking incoming resources for conformance against required fields requirement defined in the FHIR specification. This property only affects resource types that do not have profiles configured for them, any rules in enabled implementation guides will still be enforced.", + "description": "Optional. Whether to disable required fields validation for incoming resources. The default value is false. Set this to true to disable checking incoming resources for conformance against required fields requirement defined in the FHIR specification. This property only affects resource types that do not have profiles configured for them, any rules in enabled implementation guides will still be enforced.", "type": "boolean" }, "enabledImplementationGuides": { - "description": "A list of implementation guide URLs in this FHIR store that are used to configure the profiles to use for validation. For example, to use the US Core profiles for validation, set `enabled_implementation_guides` to `[\"http://hl7.org/fhir/us/core/ImplementationGuide/ig\"]`. If `enabled_implementation_guides` is empty or omitted, then incoming resources are only required to conform to the base FHIR profiles. Otherwise, a resource must conform to at least one profile listed in the `global` property of one of the enabled ImplementationGuides. The Cloud Healthcare API does not currently enforce all of the rules in a StructureDefinition. The following rules are supported: - min/max - minValue/maxValue - maxLength - type - fixed[x] - pattern[x] on simple types - slicing, when using \"value\" as the discriminator type When a URL cannot be resolved (for example, in a type assertion), the server does not return an error.", + "description": "Optional. A list of implementation guide URLs in this FHIR store that are used to configure the profiles to use for validation. For example, to use the US Core profiles for validation, set `enabled_implementation_guides` to `[\"http://hl7.org/fhir/us/core/ImplementationGuide/ig\"]`. If `enabled_implementation_guides` is empty or omitted, then incoming resources are only required to conform to the base FHIR profiles. Otherwise, a resource must conform to at least one profile listed in the `global` property of one of the enabled ImplementationGuides. The Cloud Healthcare API does not currently enforce all of the rules in a StructureDefinition. The following rules are supported: - min/max - minValue/maxValue - maxLength - type - fixed[x] - pattern[x] on simple types - slicing, when using \"value\" as the discriminator type When a URL cannot be resolved (for example, in a type assertion), the server does not return an error.", "items": { "type": "string" }, diff --git a/discovery/healthcare-v1beta1.json b/discovery/healthcare-v1beta1.json index 92348cdbc6..10b7b1b2f2 100644 --- a/discovery/healthcare-v1beta1.json +++ b/discovery/healthcare-v1beta1.json @@ -4079,7 +4079,7 @@ "fhir": { "methods": { "Binary-create": { - "description": "Creates a FHIR Binary resource. This method can be used to create a Binary resource either by using one of the accepted FHIR JSON content types, or as a raw data stream. If a resource is created with this method using the FHIR content type this method's behavior is the same as [`fhir.create`](https://cloud.google.com/healthcare-api/docs/reference/rest/v1/projects.locations.datasets.fhirStores.fhir/create). If a resource type other than Binary is used in the request it's treated in the same way as non-FHIR data (e.g., images, zip archives, pdf files, documents). When a non-FHIR content type is used in the request, a Binary resource will be generated, and the uploaded data will be stored in the `content` field (`DSTU2` and `STU3`), or the `data` field (`R4`). The Binary resource's `contentType` will be filled in using the value of the `Content-Type` header, and the `securityContext` field (not present in `DSTU2`) will be populated from the `X-Security-Context` header if it exists. At this time `securityContext` has no special behavior in the Cloud Healthcare API. Note: the limit on data ingested through this method is 2 GB. For best performance, use a non-FHIR data type instead of wrapping the data in a Binary resource. Some of the Healthcare API features, such as [exporting to BigQuery](https://cloud.google.com/healthcare-api/docs/how-tos/fhir-export-bigquery) or [Pub/Sub notifications](https://cloud.google.com/healthcare-api/docs/fhir-pubsub#behavior_when_a_fhir_resource_is_too_large_or_traffic_is_high) with full resource content, do not support Binary resources that are larger than 10 MB. In these cases the resource's `data` field will be omitted. Instead, the \"http://hl7.org/fhir/StructureDefinition/data-absent-reason\" extension will be present to indicate that including the data is `unsupported`. On success, an empty `201 Created` response is returned. The newly created resource's ID and version are returned in the Location header. Using `Prefer: representation=resource` is not allowed for this method. The definition of the Binary REST API can be found at https://hl7.org/fhir/binary.html#rest.", + "description": "Creates a FHIR Binary resource. This method can be used to create a Binary resource either by using one of the accepted FHIR JSON content types, or as a raw data stream. If a resource is created with this method using the FHIR content type this method's behavior is the same as [`fhir.create`](https://cloud.google.com/healthcare-api/docs/reference/rest/v1/projects.locations.datasets.fhirStores.fhir/create). If a resource type other than Binary is used in the request it's treated in the same way as non-FHIR data (e.g., images, zip archives, pdf files, documents). When a non-FHIR content type is used in the request, a Binary resource will be generated, and the uploaded data will be stored in the `content` field (`DSTU2` and `STU3`), or the `data` field (`R4`). The Binary resource's `contentType` will be filled in using the value of the `Content-Type` header, and the `securityContext` field (not present in `DSTU2`) will be populated from the `X-Security-Context` header if it exists. At this time `securityContext` has no special behavior in the Cloud Healthcare API. Note: the limit on data ingested through this method is 1 GB. For best performance, use a non-FHIR data type instead of wrapping the data in a Binary resource. Some of the Healthcare API features, such as [exporting to BigQuery](https://cloud.google.com/healthcare-api/docs/how-tos/fhir-export-bigquery) or [Pub/Sub notifications](https://cloud.google.com/healthcare-api/docs/fhir-pubsub#behavior_when_a_fhir_resource_is_too_large_or_traffic_is_high) with full resource content, do not support Binary resources that are larger than 10 MB. In these cases the resource's `data` field will be omitted. Instead, the \"http://hl7.org/fhir/StructureDefinition/data-absent-reason\" extension will be present to indicate that including the data is `unsupported`. On success, an empty `201 Created` response is returned. The newly created resource's ID and version are returned in the Location header. Using `Prefer: representation=resource` is not allowed for this method. The definition of the Binary REST API can be found at https://hl7.org/fhir/binary.html#rest.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/fhirStores/{fhirStoresId}/fhir/Binary", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.fhirStores.fhir.Binary-create", @@ -5716,7 +5716,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/datasets/{datasetsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "healthcare.projects.locations.datasets.operations.cancel", @@ -5858,7 +5858,7 @@ } } }, - "revision": "20240822", + "revision": "20241205", "rootUrl": "https://healthcare.googleapis.com/", "schemas": { "AccessDeterminationLogConfig": { @@ -8383,6 +8383,10 @@ "description": "The configuration for exporting to BigQuery.", "id": "GoogleCloudHealthcareV1beta1FhirBigQueryDestination", "properties": { + "changeDataCaptureConfig": { + "$ref": "GoogleCloudHealthcareV1beta1FhirChangeDataCaptureConfig", + "description": "Optional. Setting this field will enable BigQuery's Change Data Capture (CDC) on the destination tables. Use this field if you: - Want to only keep the latest version of each resource. Updates and deletes to an existing resource will overwrite the corresponding row. - Have a store with enabled history modifications and want to keep the entire history of resource versions but want the history to be mutable. Updates and deletes to a specific resource version will overwrite the corresponding row. See https://cloud.google.com/bigquery/docs/change-data-capture for details." + }, "datasetUri": { "description": "BigQuery URI to an existing dataset, up to 2000 characters long, in the format `bq://projectId.bqDatasetId`.", "type": "string" @@ -8414,6 +8418,27 @@ }, "type": "object" }, + "GoogleCloudHealthcareV1beta1FhirChangeDataCaptureConfig": { + "description": "BigQuery Change Data Capture configuration.", + "id": "GoogleCloudHealthcareV1beta1FhirChangeDataCaptureConfig", + "properties": { + "historyMode": { + "description": "Optional. Configures how historical versions of FHIR resources will be reflected in the destination table through updates and deletes. Defaults to `HistoryMode.KEEP_LATEST_VERSION` if unspecified.", + "enum": [ + "HISTORY_MODE_UNSPECIFIED", + "KEEP_LATEST_VERSION", + "KEEP_ALL_VERSIONS" + ], + "enumDescriptions": [ + "Default behavior is the same as KEEP_LATEST_VERSION.", + "The table will have a unique entry for each resource ID. Updates and deletes will overwrite the row matching the resource ID if it exists in the table.", + "Historical versions of resources will be maintained. However, history mutation is allowed. Updates will overwrite the row matching the resource ID and version if it exists in the table. This option is only supported for stores with history enabled." + ], + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudHealthcareV1beta1FhirExportResourcesResponse": { "description": "Response when all resources export successfully. This structure is included in the response to describe the detailed outcome after the operation finishes successfully.", "id": "GoogleCloudHealthcareV1beta1FhirExportResourcesResponse", @@ -10246,7 +10271,7 @@ }, "deidentifiedStoreDestination": { "$ref": "DeidentifiedStoreDestination", - "description": "The destination FHIR store for de-identified resources. After this field is added, all subsequent creates/updates/patches to the source store will be de-identified using the provided configuration and applied to the destination store. Importing resources to the source store will not trigger the streaming. If the source store already contains resources when this option is enabled, those resources will not be copied to the destination store unless they are subsequently updated. This may result in invalid references in the destination store. Before adding this config, you must grant the healthcare.fhirResources.update permission on the destination store to your project's **Cloud Healthcare Service Agent** [service account](https://cloud.google.com/healthcare/docs/how-tos/permissions-healthcare-api-gcp-products#the_cloud_healthcare_service_agent). The destination store must set enable_update_create to true. The destination store must have disable_referential_integrity set to true. If a resource cannot be de-identified, errors will be logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging))." + "description": "The destination FHIR store for de-identified resources. After this field is added, all subsequent creates/updates/patches to the source store will be de-identified using the provided configuration and applied to the destination store. Resources deleted from the source store will be deleted from the destination store. Importing resources to the source store will not trigger the streaming. If the source store already contains resources when this option is enabled, those resources will not be copied to the destination store unless they are subsequently updated. This may result in invalid references in the destination store. Before adding this config, you must grant the healthcare.fhirResources.update permission on the destination store to your project's **Cloud Healthcare Service Agent** [service account](https://cloud.google.com/healthcare/docs/how-tos/permissions-healthcare-api-gcp-products#the_cloud_healthcare_service_agent). The destination store must set enable_update_create to true. The destination store must have disable_referential_integrity set to true. If a resource cannot be de-identified, errors will be logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging))." }, "resourceTypes": { "description": "Supply a FHIR resource type (such as \"Patient\" or \"Observation\"). See https://www.hl7.org/fhir/valueset-resource-types.html for a list of all FHIR resource types. The server treats an empty list as an intent to stream all the supported resource types in this FHIR store.", diff --git a/discovery/iam-v1.json b/discovery/iam-v1.json index c1d83bd820..dee78d079c 100644 --- a/discovery/iam-v1.json +++ b/discovery/iam-v1.json @@ -159,14 +159,14 @@ ], "parameters": { "location": { - "description": "The location of the pool to create. Format: `locations/{location}`.", + "description": "Optional. The location of the pool to create. Format: `locations/{location}`.", "location": "path", "pattern": "^locations/[^/]+$", "required": true, "type": "string" }, "workforcePoolId": { - "description": "The ID to use for the pool, which becomes the final component of the resource name. The IDs must be a globally unique string of 6 to 63 lowercase letters, digits, or hyphens. It must start with a letter, and cannot have a trailing hyphen. The prefix `gcp-` is reserved for use by Google, and may not be specified.", + "description": "Optional. The ID to use for the pool, which becomes the final component of the resource name. The IDs must be a globally unique string of 6 to 63 lowercase letters, digits, or hyphens. It must start with a letter, and cannot have a trailing hyphen. The prefix `gcp-` is reserved for use by Google, and may not be specified.", "location": "query", "type": "string" } @@ -316,7 +316,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name of the pool. Format: `locations/{location}/workforcePools/{workforce_pool_id}`", + "description": "Identifier. The resource name of the pool. Format: `locations/{location}/workforcePools/{workforce_pool_id}`", "location": "path", "pattern": "^locations/[^/]+/workforcePools/[^/]+$", "required": true, @@ -591,7 +591,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name of the provider. Format: `locations/{location}/workforcePools/{workforce_pool_id}/providers/{provider_id}`", + "description": "Identifier. The resource name of the provider. Format: `locations/{location}/workforcePools/{workforce_pool_id}/providers/{provider_id}`", "location": "path", "pattern": "^locations/[^/]+/workforcePools/[^/]+/providers/[^/]+$", "required": true, @@ -1325,7 +1325,7 @@ ], "parameters": { "name": { - "description": "Immutable. The resource name of the OauthClient. Format:`projects/{project}/locations/{location}/oauthClients/{oauth_client}`.", + "description": "Immutable. Identifier. The resource name of the OauthClient. Format:`projects/{project}/locations/{location}/oauthClients/{oauth_client}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/oauthClients/[^/]+$", "required": true, @@ -1499,7 +1499,7 @@ ], "parameters": { "name": { - "description": "Immutable. The resource name of the OauthClientCredential. Format: `projects/{project}/locations/{location}/oauthClients/{oauth_client}/credentials/{credential}`", + "description": "Immutable. Identifier. The resource name of the OauthClientCredential. Format: `projects/{project}/locations/{location}/oauthClients/{oauth_client}/credentials/{credential}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/oauthClients/[^/]+/credentials/[^/]+$", "required": true, @@ -3188,7 +3188,7 @@ } } }, - "revision": "20240918", + "revision": "20250102", "rootUrl": "https://iam.googleapis.com/", "schemas": { "AccessRestrictions": { @@ -3599,14 +3599,14 @@ }, "clientSecret": { "$ref": "GoogleIamAdminV1WorkforcePoolProviderOidcClientSecret", - "description": "The optional client secret. Required to enable Authorization Code flow for web sign-in." + "description": "Optional. The optional client secret. Required to enable Authorization Code flow for web sign-in." }, "issuerUri": { "description": "Required. The OIDC issuer URI. Must be a valid URI using the `https` scheme.", "type": "string" }, "jwksJson": { - "description": "OIDC JWKs in JSON String format. For details on the definition of a JWK, see https://tools.ietf.org/html/rfc7517. If not set, the `jwks_uri` from the discovery document(fetched from the .well-known path of the `issuer_uri`) will be used. Currently, RSA and EC asymmetric keys are supported. The JWK must use following format and include only the following fields: { \"keys\": [ { \"kty\": \"RSA/EC\", \"alg\": \"\", \"use\": \"sig\", \"kid\": \"\", \"n\": \"\", \"e\": \"\", \"x\": \"\", \"y\": \"\", \"crv\": \"\" } ] }", + "description": "Optional. OIDC JWKs in JSON String format. For details on the definition of a JWK, see https://tools.ietf.org/html/rfc7517. If not set, the `jwks_uri` from the discovery document(fetched from the .well-known path of the `issuer_uri`) will be used. Currently, RSA and EC asymmetric keys are supported. The JWK must use following format and include only the following fields: { \"keys\": [ { \"kty\": \"RSA/EC\", \"alg\": \"\", \"use\": \"sig\", \"kid\": \"\", \"n\": \"\", \"e\": \"\", \"x\": \"\", \"y\": \"\", \"crv\": \"\" } ] }", "type": "string" }, "webSsoConfig": { @@ -3632,7 +3632,7 @@ "id": "GoogleIamAdminV1WorkforcePoolProviderOidcClientSecretValue", "properties": { "plainText": { - "description": "Input only. The plain text of the client secret value. For security reasons, this field is only used for input and will never be populated in any response.", + "description": "Optional. Input only. The plain text of the client secret value. For security reasons, this field is only used for input and will never be populated in any response.", "type": "string" }, "thumbprint": { @@ -3648,7 +3648,7 @@ "id": "GoogleIamAdminV1WorkforcePoolProviderOidcWebSsoConfig", "properties": { "additionalScopes": { - "description": "Additional scopes to request for in the OIDC authentication request on top of scopes requested by default. By default, the `openid`, `profile` and `email` scopes that are supported by the identity provider are requested. Each additional scope may be at most 256 characters. A maximum of 10 additional scopes may be configured.", + "description": "Optional. Additional scopes to request for in the OIDC authentication request on top of scopes requested by default. By default, the `openid`, `profile` and `email` scopes that are supported by the identity provider are requested. Each additional scope may be at most 256 characters. A maximum of 10 additional scopes may be configured.", "items": { "type": "string" }, @@ -4097,7 +4097,7 @@ "type": "string" }, "name": { - "description": "Immutable. The resource name of the OauthClient. Format:`projects/{project}/locations/{location}/oauthClients/{oauth_client}`.", + "description": "Immutable. Identifier. The resource name of the OauthClient. Format:`projects/{project}/locations/{location}/oauthClients/{oauth_client}`.", "type": "string" }, "state": { @@ -4136,7 +4136,7 @@ "type": "string" }, "name": { - "description": "Immutable. The resource name of the OauthClientCredential. Format: `projects/{project}/locations/{location}/oauthClients/{oauth_client}/credentials/{credential}`", + "description": "Immutable. Identifier. The resource name of the OauthClientCredential. Format: `projects/{project}/locations/{location}/oauthClients/{oauth_client}/credentials/{credential}`", "type": "string" } }, @@ -4147,7 +4147,7 @@ "id": "Oidc", "properties": { "allowedAudiences": { - "description": "Acceptable values for the `aud` field (audience) in the OIDC token. Token exchange requests are rejected if the token audience does not match one of the configured values. Each audience may be at most 256 characters. A maximum of 10 audiences may be configured. If this list is empty, the OIDC token audience must be equal to the full canonical resource name of the WorkloadIdentityPoolProvider, with or without the HTTPS prefix. For example: ``` //iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ https://iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ ```", + "description": "Optional. Acceptable values for the `aud` field (audience) in the OIDC token. Token exchange requests are rejected if the token audience does not match one of the configured values. Each audience may be at most 256 characters. A maximum of 10 audiences may be configured. If this list is empty, the OIDC token audience must be equal to the full canonical resource name of the WorkloadIdentityPoolProvider, with or without the HTTPS prefix. For example: ``` //iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ https://iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ ```", "items": { "type": "string" }, @@ -4209,7 +4209,7 @@ "type": "string" }, "cancelRequested": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -4280,7 +4280,7 @@ "type": "string" }, "description": { - "description": "A brief description of what this Permission is used for. This permission can ONLY be used in predefined roles.", + "description": "A brief description of what this Permission is used for.", "type": "string" }, "name": { @@ -4998,15 +4998,15 @@ "description": "Optional. Configure access restrictions on the workforce pool users. This is an optional field. If specified web sign-in can be restricted to given set of services or programmatic sign-in can be disabled for pool users." }, "description": { - "description": "A user-specified description of the pool. Cannot exceed 256 characters.", + "description": "Optional. A user-specified description of the pool. Cannot exceed 256 characters.", "type": "string" }, "disabled": { - "description": "Disables the workforce pool. You cannot use a disabled pool to exchange tokens, or use existing tokens to access resources. If the pool is re-enabled, existing tokens grant access again.", + "description": "Optional. Disables the workforce pool. You cannot use a disabled pool to exchange tokens, or use existing tokens to access resources. If the pool is re-enabled, existing tokens grant access again.", "type": "boolean" }, "displayName": { - "description": "A user-specified display name of the pool in Google Cloud Console. Cannot exceed 32 characters.", + "description": "Optional. A user-specified display name of the pool in Google Cloud Console. Cannot exceed 32 characters.", "type": "string" }, "expireTime": { @@ -5016,8 +5016,7 @@ "type": "string" }, "name": { - "description": "Output only. The resource name of the pool. Format: `locations/{location}/workforcePools/{workforce_pool_id}`", - "readOnly": true, + "description": "Identifier. The resource name of the pool. Format: `locations/{location}/workforcePools/{workforce_pool_id}`", "type": "string" }, "parent": { @@ -5025,7 +5024,7 @@ "type": "string" }, "sessionDuration": { - "description": "Duration that the Google Cloud access tokens, console sign-in sessions, and `gcloud` sign-in sessions from this pool are valid. Must be greater than 15 minutes (900s) and less than 12 hours (43200s). If `session_duration` is not configured, minted credentials have a default duration of one hour (3600s). For SAML providers, the lifetime of the token is the minimum of the `session_duration` and the `SessionNotOnOrAfter` claim in the SAML assertion.", + "description": "Optional. Duration that the Google Cloud access tokens, console sign-in sessions, and `gcloud` sign-in sessions from this pool are valid. Must be greater than 15 minutes (900s) and less than 12 hours (43200s). If `session_duration` is not configured, minted credentials have a default duration of one hour (3600s). For SAML providers, the lifetime of the token is the minimum of the `session_duration` and the `SessionNotOnOrAfter` claim in the SAML assertion.", "format": "google-duration", "type": "string" }, @@ -5052,7 +5051,7 @@ "id": "WorkforcePoolProvider", "properties": { "attributeCondition": { - "description": "A [Common Expression Language](https://opensource.google/projects/cel) expression, in plain text, to restrict what otherwise valid authentication credentials issued by the provider should not be accepted. The expression must output a boolean representing whether to allow the federation. The following keywords may be referenced in the expressions: * `assertion`: JSON representing the authentication credential issued by the provider. * `google`: The Google attributes mapped from the assertion in the `attribute_mappings`. `google.profile_photo`, `google.display_name` and `google.posix_username` are not supported. * `attribute`: The custom attributes mapped from the assertion in the `attribute_mappings`. The maximum length of the attribute condition expression is 4096 characters. If unspecified, all valid authentication credentials will be accepted. The following example shows how to only allow credentials with a mapped `google.groups` value of `admins`: ``` \"'admins' in google.groups\" ```", + "description": "Optional. A [Common Expression Language](https://opensource.google/projects/cel) expression, in plain text, to restrict what otherwise valid authentication credentials issued by the provider should not be accepted. The expression must output a boolean representing whether to allow the federation. The following keywords may be referenced in the expressions: * `assertion`: JSON representing the authentication credential issued by the provider. * `google`: The Google attributes mapped from the assertion in the `attribute_mappings`. `google.profile_photo`, `google.display_name` and `google.posix_username` are not supported. * `attribute`: The custom attributes mapped from the assertion in the `attribute_mappings`. The maximum length of the attribute condition expression is 4096 characters. If unspecified, all valid authentication credentials will be accepted. The following example shows how to only allow credentials with a mapped `google.groups` value of `admins`: ``` \"'admins' in google.groups\" ```", "type": "string" }, "attributeMapping": { @@ -5063,15 +5062,15 @@ "type": "object" }, "description": { - "description": "A user-specified description of the provider. Cannot exceed 256 characters.", + "description": "Optional. A user-specified description of the provider. Cannot exceed 256 characters.", "type": "string" }, "disabled": { - "description": "Disables the workforce pool provider. You cannot use a disabled provider to exchange tokens. However, existing tokens still grant access.", + "description": "Optional. Disables the workforce pool provider. You cannot use a disabled provider to exchange tokens. However, existing tokens still grant access.", "type": "boolean" }, "displayName": { - "description": "A user-specified display name for the provider. Cannot exceed 32 characters.", + "description": "Optional. A user-specified display name for the provider. Cannot exceed 32 characters.", "type": "string" }, "expireTime": { @@ -5085,8 +5084,7 @@ "description": "Optional. The configuration for OAuth 2.0 client used to get the additional user attributes. This should be used when users can't get the desired claims in authentication credentials. Currently this configuration is only supported with OIDC protocol." }, "name": { - "description": "Output only. The resource name of the provider. Format: `locations/{location}/workforcePools/{workforce_pool_id}/providers/{provider_id}`", - "readOnly": true, + "description": "Identifier. The resource name of the provider. Format: `locations/{location}/workforcePools/{workforce_pool_id}/providers/{provider_id}`", "type": "string" }, "oidc": { @@ -5130,8 +5128,7 @@ "description": "Immutable. Public half of the asymmetric key." }, "name": { - "description": "Output only. The resource name of the key.", - "readOnly": true, + "description": "Identifier. The resource name of the key. Format: `locations/{location}/workforcePools/{workforce_pool_id}/providers/{provider_id}/keys/{key_id}`", "type": "string" }, "state": { @@ -5169,15 +5166,15 @@ "id": "WorkloadIdentityPool", "properties": { "description": { - "description": "A description of the pool. Cannot exceed 256 characters.", + "description": "Optional. A description of the pool. Cannot exceed 256 characters.", "type": "string" }, "disabled": { - "description": "Whether the pool is disabled. You cannot use a disabled pool to exchange tokens, or use existing tokens to access resources. If the pool is re-enabled, existing tokens grant access again.", + "description": "Optional. Whether the pool is disabled. You cannot use a disabled pool to exchange tokens, or use existing tokens to access resources. If the pool is re-enabled, existing tokens grant access again.", "type": "boolean" }, "displayName": { - "description": "A display name for the pool. Cannot exceed 32 characters.", + "description": "Optional. A display name for the pool. Cannot exceed 32 characters.", "type": "string" }, "expireTime": { @@ -5220,14 +5217,14 @@ "id": "WorkloadIdentityPoolProvider", "properties": { "attributeCondition": { - "description": "[A Common Expression Language](https://opensource.google/projects/cel) expression, in plain text, to restrict what otherwise valid authentication credentials issued by the provider should not be accepted. The expression must output a boolean representing whether to allow the federation. The following keywords may be referenced in the expressions: * `assertion`: JSON representing the authentication credential issued by the provider. * `google`: The Google attributes mapped from the assertion in the `attribute_mappings`. * `attribute`: The custom attributes mapped from the assertion in the `attribute_mappings`. The maximum length of the attribute condition expression is 4096 characters. If unspecified, all valid authentication credential are accepted. The following example shows how to only allow credentials with a mapped `google.groups` value of `admins`: ``` \"'admins' in google.groups\" ```", + "description": "Optional. [A Common Expression Language](https://opensource.google/projects/cel) expression, in plain text, to restrict what otherwise valid authentication credentials issued by the provider should not be accepted. The expression must output a boolean representing whether to allow the federation. The following keywords may be referenced in the expressions: * `assertion`: JSON representing the authentication credential issued by the provider. * `google`: The Google attributes mapped from the assertion in the `attribute_mappings`. * `attribute`: The custom attributes mapped from the assertion in the `attribute_mappings`. The maximum length of the attribute condition expression is 4096 characters. If unspecified, all valid authentication credential are accepted. The following example shows how to only allow credentials with a mapped `google.groups` value of `admins`: ``` \"'admins' in google.groups\" ```", "type": "string" }, "attributeMapping": { "additionalProperties": { "type": "string" }, - "description": " Maps attributes from authentication credentials issued by an external identity provider to Google Cloud attributes, such as `subject` and `segment`. Each key must be a string specifying the Google Cloud IAM attribute to map to. The following keys are supported: * `google.subject`: The principal IAM is authenticating. You can reference this value in IAM bindings. This is also the subject that appears in Cloud Logging logs. Cannot exceed 127 bytes. * `google.groups`: Groups the external identity belongs to. You can grant groups access to resources using an IAM `principalSet` binding; access applies to all members of the group. You can also provide custom attributes by specifying `attribute.{custom_attribute}`, where `{custom_attribute}` is the name of the custom attribute to be mapped. You can define a maximum of 50 custom attributes. The maximum length of a mapped attribute key is 100 characters, and the key may only contain the characters [a-z0-9_]. You can reference these attributes in IAM policies to define fine-grained access for a workload to Google Cloud resources. For example: * `google.subject`: `principal://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/subject/{value}` * `google.groups`: `principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/group/{value}` * `attribute.{custom_attribute}`: `principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/attribute.{custom_attribute}/{value}` Each value must be a [Common Expression Language] (https://opensource.google/projects/cel) function that maps an identity provider credential to the normalized attribute specified by the corresponding map key. You can use the `assertion` keyword in the expression to access a JSON representation of the authentication credential issued by the provider. The maximum length of an attribute mapping expression is 2048 characters. When evaluated, the total size of all mapped attributes must not exceed 8KB. For AWS providers, if no attribute mapping is defined, the following default mapping applies: ``` { \"google.subject\":\"assertion.arn\", \"attribute.aws_role\": \"assertion.arn.contains('assumed-role')\" \" ? assertion.arn.extract('{account_arn}assumed-role/')\" \" + 'assumed-role/'\" \" + assertion.arn.extract('assumed-role/{role_name}/')\" \" : assertion.arn\", } ``` If any custom attribute mappings are defined, they must include a mapping to the `google.subject` attribute. For OIDC providers, you must supply a custom mapping, which must include the `google.subject` attribute. For example, the following maps the `sub` claim of the incoming credential to the `subject` attribute on a Google token: ``` {\"google.subject\": \"assertion.sub\"} ```", + "description": "Optional. Maps attributes from authentication credentials issued by an external identity provider to Google Cloud attributes, such as `subject` and `segment`. Each key must be a string specifying the Google Cloud IAM attribute to map to. The following keys are supported: * `google.subject`: The principal IAM is authenticating. You can reference this value in IAM bindings. This is also the subject that appears in Cloud Logging logs. Cannot exceed 127 bytes. * `google.groups`: Groups the external identity belongs to. You can grant groups access to resources using an IAM `principalSet` binding; access applies to all members of the group. You can also provide custom attributes by specifying `attribute.{custom_attribute}`, where `{custom_attribute}` is the name of the custom attribute to be mapped. You can define a maximum of 50 custom attributes. The maximum length of a mapped attribute key is 100 characters, and the key may only contain the characters [a-z0-9_]. You can reference these attributes in IAM policies to define fine-grained access for a workload to Google Cloud resources. For example: * `google.subject`: `principal://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/subject/{value}` * `google.groups`: `principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/group/{value}` * `attribute.{custom_attribute}`: `principalSet://iam.googleapis.com/projects/{project}/locations/{location}/workloadIdentityPools/{pool}/attribute.{custom_attribute}/{value}` Each value must be a [Common Expression Language] (https://opensource.google/projects/cel) function that maps an identity provider credential to the normalized attribute specified by the corresponding map key. You can use the `assertion` keyword in the expression to access a JSON representation of the authentication credential issued by the provider. The maximum length of an attribute mapping expression is 2048 characters. When evaluated, the total size of all mapped attributes must not exceed 8KB. For AWS providers, if no attribute mapping is defined, the following default mapping applies: ``` { \"google.subject\":\"assertion.arn\", \"attribute.aws_role\": \"assertion.arn.contains('assumed-role')\" \" ? assertion.arn.extract('{account_arn}assumed-role/')\" \" + 'assumed-role/'\" \" + assertion.arn.extract('assumed-role/{role_name}/')\" \" : assertion.arn\", } ``` If any custom attribute mappings are defined, they must include a mapping to the `google.subject` attribute. For OIDC providers, you must supply a custom mapping, which must include the `google.subject` attribute. For example, the following maps the `sub` claim of the incoming credential to the `subject` attribute on a Google token: ``` {\"google.subject\": \"assertion.sub\"} ```", "type": "object" }, "aws": { @@ -5235,15 +5232,15 @@ "description": "An Amazon Web Services identity provider." }, "description": { - "description": "A description for the provider. Cannot exceed 256 characters.", + "description": "Optional. A description for the provider. Cannot exceed 256 characters.", "type": "string" }, "disabled": { - "description": "Whether the provider is disabled. You cannot use a disabled provider to exchange tokens. However, existing tokens still grant access.", + "description": "Optional. Whether the provider is disabled. You cannot use a disabled provider to exchange tokens. However, existing tokens still grant access.", "type": "boolean" }, "displayName": { - "description": "A display name for the provider. Cannot exceed 32 characters.", + "description": "Optional. A display name for the provider. Cannot exceed 32 characters.", "type": "string" }, "expireTime": { diff --git a/discovery/iam-v2.json b/discovery/iam-v2.json index 684884e19a..38640c33fb 100644 --- a/discovery/iam-v2.json +++ b/discovery/iam-v2.json @@ -293,7 +293,7 @@ } } }, - "revision": "20240530", + "revision": "20241114", "rootUrl": "https://iam.googleapis.com/", "schemas": { "CloudControl2SharedOperationsReconciliationOperationMetadata": { @@ -337,7 +337,7 @@ "type": "string" }, "cancelRequested": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, diff --git a/discovery/iam-v2beta.json b/discovery/iam-v2beta.json index 5decb5ae06..4bec41fbcb 100644 --- a/discovery/iam-v2beta.json +++ b/discovery/iam-v2beta.json @@ -293,7 +293,7 @@ } } }, - "revision": "20240530", + "revision": "20241114", "rootUrl": "https://iam.googleapis.com/", "schemas": { "CloudControl2SharedOperationsReconciliationOperationMetadata": { @@ -337,7 +337,7 @@ "type": "string" }, "cancelRequested": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, diff --git a/discovery/iamcredentials-v1.json b/discovery/iamcredentials-v1.json index 633d334df4..b263324717 100644 --- a/discovery/iamcredentials-v1.json +++ b/discovery/iamcredentials-v1.json @@ -165,6 +165,28 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "getAllowedLocations": { + "description": "Returns the trust boundary info for a given service account.", + "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}/allowedLocations", + "httpMethod": "GET", + "id": "iamcredentials.projects.serviceAccounts.getAllowedLocations", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Resource name of service account.", + "location": "path", + "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/allowedLocations", + "response": { + "$ref": "ServiceAccountAllowedLocations" + } + }, "signBlob": { "description": "Signs a blob using a service account's system-managed private key.", "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:signBlob", @@ -226,7 +248,7 @@ } } }, - "revision": "20240227", + "revision": "20241024", "rootUrl": "https://iamcredentials.googleapis.com/", "schemas": { "GenerateAccessTokenRequest": { @@ -300,6 +322,26 @@ }, "type": "object" }, + "ServiceAccountAllowedLocations": { + "description": "Represents a list of allowed locations for given service account.", + "id": "ServiceAccountAllowedLocations", + "properties": { + "encodedLocations": { + "description": "Output only. The hex encoded bitmap of the trust boundary locations", + "readOnly": true, + "type": "string" + }, + "locations": { + "description": "Output only. The human readable trust boundary locations. For example, [\"us-central1\", \"europe-west1\"]", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, "SignBlobRequest": { "id": "SignBlobRequest", "properties": { diff --git a/discovery/iap-v1.json b/discovery/iap-v1.json index fdd061cfab..a2b71d18b6 100644 --- a/discovery/iap-v1.json +++ b/discovery/iap-v1.json @@ -682,7 +682,7 @@ } } }, - "revision": "20240909", + "revision": "20241202", "rootUrl": "https://iap.googleapis.com/", "schemas": { "AccessDeniedPageSettings": { @@ -1243,7 +1243,7 @@ "description": "Properties of the object. Contains field @type with type URL.", "type": "any" }, - "description": "The proto or JSON formatted expected next state of the resource, wrapped in a google.protobuf.Any proto, against which the policy rules are evaluated. Services not integrated with custom org policy can omit this field. Services integrated with custom org policy must populate this field for all requests where the API call changes the state of the resource. Custom org policy backend uses these attributes to enforce custom org policies. When a proto is wrapped, it is generally the One Platform API proto. When a JSON string is wrapped, use `google.protobuf.StringValue` for the inner value. For create operations, GCP service is expected to pass resource from customer request as is. For update/patch operations, GCP service is expected to compute the next state with the patch provided by the user. See go/custom-constraints-org-policy-integration-guide for additional details.", + "description": "The proto or JSON formatted expected next state of the resource, wrapped in a google.protobuf.Any proto, against which the policy rules are evaluated. Services not integrated with custom org policy can omit this field. Services integrated with custom org policy must populate this field for all requests where the API call changes the state of the resource. Custom org policy backend uses these attributes to enforce custom org policies. For create operations, GCP service is expected to pass resource from customer request as is. For update/patch operations, GCP service is expected to compute the next state with the patch provided by the user. See go/custom-constraints-org-policy-integration-guide for additional details.", "type": "object" }, "labels": { diff --git a/discovery/identitytoolkit-v1.json b/discovery/identitytoolkit-v1.json index 8daeb48e4e..4d77c25466 100644 --- a/discovery/identitytoolkit-v1.json +++ b/discovery/identitytoolkit-v1.json @@ -1239,7 +1239,7 @@ } } }, - "revision": "20240424", + "revision": "20241205", "rootUrl": "https://identitytoolkit.googleapis.com/", "schemas": { "GoogleCloudIdentitytoolkitV1Argon2Parameters": { @@ -2361,7 +2361,7 @@ "id": "GoogleCloudIdentitytoolkitV1ResetPasswordRequest", "properties": { "email": { - "description": "The email of the account to be modified. Specify this and the old password in order to change an account's password without using an out-of-band code.", + "description": "Optional. The email of the account to be modified. Specify this and the old password in order to change an account's password without using an out-of-band code.", "type": "string" }, "newPassword": { @@ -2377,7 +2377,7 @@ "type": "string" }, "tenantId": { - "description": "The tenant ID of the Identity Platform tenant the account belongs to.", + "description": "Optional. The tenant ID of the Identity Platform tenant the account belongs to.", "type": "string" } }, @@ -2441,15 +2441,35 @@ "type": "object" }, "GoogleCloudIdentitytoolkitV1SendVerificationCodeRequest": { - "description": "Request message for SendVerificationCode. At least one of (`ios_receipt` and `ios_secret`), `recaptcha_token`, or `safety_net_token` must be specified to verify the verification code is being sent on behalf of a real app and not an emulator.", + "description": "Request message for SendVerificationCode. 'captcha_response' is required when reCAPTCHA enterprise is enabled, or otherwise at least one of (`ios_receipt` and `ios_secret`), `recaptcha_token`, or `safety_net_token` must be specified to verify the verification code is being sent on behalf of a real app and not an emulator.", "id": "GoogleCloudIdentitytoolkitV1SendVerificationCodeRequest", "properties": { "autoRetrievalInfo": { "$ref": "GoogleCloudIdentitytoolkitV1AutoRetrievalInfo", "description": "Android only. Used by Google Play Services to identify the app for auto-retrieval." }, + "captchaResponse": { + "description": "Optional. The reCAPTCHA Enterprise token provided by the reCAPTCHA client-side integration. Required when reCAPTCHA enterprise is enabled.", + "type": "string" + }, + "clientType": { + "description": "Optional. The client type, web, android or ios. Required when reCAPTCHA Enterprise is enabled.", + "enum": [ + "CLIENT_TYPE_UNSPECIFIED", + "CLIENT_TYPE_WEB", + "CLIENT_TYPE_ANDROID", + "CLIENT_TYPE_IOS" + ], + "enumDescriptions": [ + "Client type is not specified.", + "Client type is web.", + "Client type is android.", + "Client type is ios." + ], + "type": "string" + }, "iosReceipt": { - "description": "Receipt of successful iOS app token validation. At least one of (`ios_receipt` and `ios_secret`), `recaptcha_token`, or `safety_net_token` must be specified to verify the verification code is being sent on behalf of a real app and not an emulator. This should come from the response of verifyIosClient. If present, the caller should also provide the `ios_secret`, as well as a bundle ID in the `x-ios-bundle-identifier` header, which must match the bundle ID from the verifyIosClient request.", + "description": "Receipt of successful iOS app token validation. At least one of (`ios_receipt` and `ios_secret`), `recaptcha_token`, or `safety_net_token` must be specified to verify the verification code is being sent on behalf of a real app and not an emulator, if 'captcha_response' is not used (reCAPTCHA enterprise is not enabled). This should come from the response of verifyIosClient. If present, the caller should also provide the `ios_secret`, as well as a bundle ID in the `x-ios-bundle-identifier` header, which must match the bundle ID from the verifyIosClient request.", "type": "string" }, "iosSecret": { @@ -2461,15 +2481,27 @@ "type": "string" }, "playIntegrityToken": { - "description": "Android only. Used to assert application identity in place of a recaptcha token (and safety_net_token). At least one of (`ios_receipt` and `ios_secret`), `recaptcha_token`, , or `play_integrity_token` must be specified to verify the verification code is being sent on behalf of a real app and not an emulator. A Play Integrity Token can be generated via the [PlayIntegrity API](https://developer.android.com/google/play/integrity) with applying SHA256 to the `phone_number` field as the nonce.", + "description": "Android only. Used to assert application identity in place of a recaptcha token (and safety_net_token). At least one of (`ios_receipt` and `ios_secret`), `recaptcha_token`, , or `play_integrity_token` must be specified to verify the verification code is being sent on behalf of a real app and not an emulator, if 'captcha_response' is not used (reCAPTCHA enterprise is not enabled). A Play Integrity Token can be generated via the [PlayIntegrity API](https://developer.android.com/google/play/integrity) with applying SHA256 to the `phone_number` field as the nonce.", "type": "string" }, "recaptchaToken": { - "description": "Recaptcha token for app verification. At least one of (`ios_receipt` and `ios_secret`), `recaptcha_token`, or `safety_net_token` must be specified to verify the verification code is being sent on behalf of a real app and not an emulator. The recaptcha should be generated by calling getRecaptchaParams and the recaptcha token will be generated on user completion of the recaptcha challenge.", + "description": "Recaptcha token for app verification. At least one of (`ios_receipt` and `ios_secret`), `recaptcha_token`, or `safety_net_token` must be specified to verify the verification code is being sent on behalf of a real app and not an emulator, if 'captcha_response' is not used (reCAPTCHA enterprise is not enabled). The recaptcha should be generated by calling getRecaptchaParams and the recaptcha token will be generated on user completion of the recaptcha challenge.", + "type": "string" + }, + "recaptchaVersion": { + "description": "Optional. The reCAPTCHA version of the reCAPTCHA token in the captcha_response. Required when reCAPTCHA Enterprise is enabled.", + "enum": [ + "RECAPTCHA_VERSION_UNSPECIFIED", + "RECAPTCHA_ENTERPRISE" + ], + "enumDescriptions": [ + "The reCAPTCHA version is not specified.", + "The reCAPTCHA enterprise." + ], "type": "string" }, "safetyNetToken": { - "description": "Android only. Used to assert application identity in place of a recaptcha token. At least one of (`ios_receipt` and `ios_secret`), `recaptcha_token`, or `safety_net_token` must be specified to verify the verification code is being sent on behalf of a real app and not an emulator. A SafetyNet Token can be generated via the [SafetyNet Android Attestation API](https://developer.android.com/training/safetynet/attestation.html), with the Base64 encoding of the `phone_number` field as the nonce.", + "description": "Android only. Used to assert application identity in place of a recaptcha token. At least one of (`ios_receipt` and `ios_secret`), `recaptcha_token`, or `safety_net_token` must be specified to verify the verification code is being sent on behalf of a real app and not an emulator, if 'captcha_response' is not used (reCAPTCHA enterprise is not enabled). A SafetyNet Token can be generated via the [SafetyNet Android Attestation API](https://developer.android.com/training/safetynet/attestation.html), with the Base64 encoding of the `phone_number` field as the nonce.", "type": "string" }, "tenantId": { diff --git a/discovery/identitytoolkit-v2.json b/discovery/identitytoolkit-v2.json index ff8e840042..ff0906cb47 100644 --- a/discovery/identitytoolkit-v2.json +++ b/discovery/identitytoolkit-v2.json @@ -1655,7 +1655,7 @@ } } }, - "revision": "20240522", + "revision": "20241024", "rootUrl": "https://identitytoolkit.googleapis.com/", "schemas": { "GoogleCloudIdentitytoolkitAdminV2AllowByDefault": { @@ -2616,7 +2616,7 @@ "id": "GoogleCloudIdentitytoolkitAdminV2RecaptchaConfig", "properties": { "emailPasswordEnforcementState": { - "description": "The reCAPTCHA config for email/password provider, containing the enforcement status. The email/password provider contains all related user flows protected by reCAPTCHA.", + "description": "The reCAPTCHA config for email/password provider, containing the enforcement status. The email/password provider contains all email related user flows protected by reCAPTCHA.", "enum": [ "RECAPTCHA_PROVIDER_ENFORCEMENT_STATE_UNSPECIFIED", "OFF", @@ -2638,6 +2638,22 @@ }, "type": "array" }, + "phoneEnforcementState": { + "description": "The reCAPTCHA config for phone provider, containing the enforcement status. The phone provider contains all SMS related user flows protected by reCAPTCHA.", + "enum": [ + "RECAPTCHA_PROVIDER_ENFORCEMENT_STATE_UNSPECIFIED", + "OFF", + "AUDIT", + "ENFORCE" + ], + "enumDescriptions": [ + "Enforcement state has not been set.", + "Unenforced.", + "reCAPTCHA assessment is created, result is not used to enforce.", + "reCAPTCHA assessment is created, result is used to enforce." + ], + "type": "string" + }, "recaptchaKeys": { "description": "The reCAPTCHA keys.", "items": { @@ -2645,9 +2661,24 @@ }, "type": "array" }, + "tollFraudManagedRules": { + "description": "The managed rules for the authentication action based on reCAPTCHA toll fraud risk scores. Toll fraud managed rules will only take effect when the phone_enforcement_state is AUDIT or ENFORCE and use_sms_toll_fraud_protection is true.", + "items": { + "$ref": "GoogleCloudIdentitytoolkitAdminV2RecaptchaTollFraudManagedRule" + }, + "type": "array" + }, "useAccountDefender": { "description": "Whether to use the account defender for reCAPTCHA assessment. Defaults to `false`.", "type": "boolean" + }, + "useSmsBotScore": { + "description": "Whether to use the rCE bot score for reCAPTCHA phone provider. Can only be true when the phone_enforcement_state is AUDIT or ENFORCE.", + "type": "boolean" + }, + "useSmsTollFraudProtection": { + "description": "Whether to use the rCE sms toll fraud protection risk score for reCAPTCHA phone provider. Can only be true when the phone_enforcement_state is AUDIT or ENFORCE.", + "type": "boolean" } }, "type": "object" @@ -2703,6 +2734,30 @@ }, "type": "object" }, + "GoogleCloudIdentitytoolkitAdminV2RecaptchaTollFraudManagedRule": { + "description": "The config for a reCAPTCHA toll fraud assessment managed rule. Models a single interval [start_score, end_score]. The end_score is implicit. It is either the closest smaller end_score (if one is available) or 0. Intervals in aggregate span [0, 1] without overlapping.", + "id": "GoogleCloudIdentitytoolkitAdminV2RecaptchaTollFraudManagedRule", + "properties": { + "action": { + "description": "The action taken if the reCAPTCHA score of a request is within the interval [start_score, end_score].", + "enum": [ + "RECAPTCHA_ACTION_UNSPECIFIED", + "BLOCK" + ], + "enumDescriptions": [ + "The reCAPTCHA action is not specified.", + "The reCAPTCHA-protected request will be blocked." + ], + "type": "string" + }, + "startScore": { + "description": "The start score (inclusive) for an action. Must be a value between 0.0 and 1.0, at 11 discrete values; e.g. 0, 0.1, 0.2, 0.3, ... 0.9, 1.0. A score of 0.0 indicates the safest request (likely legitimate), whereas 1.0 indicates the riskiest request (likely toll fraud). See https://cloud.google.com/recaptcha-enterprise/docs/sms-fraud-detection#create-assessment-sms.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, "GoogleCloudIdentitytoolkitAdminV2RequestLogging": { "description": "Configuration for logging requests made to this project to Stackdriver Logging", "id": "GoogleCloudIdentitytoolkitAdminV2RequestLogging", @@ -3322,6 +3377,14 @@ "recaptchaKey": { "description": "The reCAPTCHA Enterprise key resource name, e.g. \"projects/{project}/keys/{key}\". This will only be returned when the reCAPTCHA enforcement state is AUDIT or ENFORCE on at least one of the reCAPTCHA providers.", "type": "string" + }, + "useSmsBotScore": { + "description": "Whether to use the rCE bot score for reCAPTCHA phone provider.", + "type": "boolean" + }, + "useSmsTollFraudProtection": { + "description": "Whether to use the rCE sms toll fraud protection risk score for reCAPTCHA phone provider.", + "type": "boolean" } }, "type": "object" @@ -3350,11 +3413,13 @@ "description": "The provider that has reCAPTCHA protection.", "enum": [ "RECAPTCHA_PROVIDER_UNSPECIFIED", - "EMAIL_PASSWORD_PROVIDER" + "EMAIL_PASSWORD_PROVIDER", + "PHONE_PROVIDER" ], "enumDescriptions": [ "reCAPTCHA provider not specified", - "Email password provider" + "Email password provider", + "Phone auth provider" ], "type": "string" } @@ -3456,6 +3521,26 @@ "$ref": "GoogleCloudIdentitytoolkitV2AutoRetrievalInfo", "description": "Android only. Used by Google Play Services to identify the app for auto-retrieval." }, + "captchaResponse": { + "description": "The reCAPTCHA Enterprise token provided by the reCAPTCHA client-side integration. Required when reCAPTCHA enterprise is enabled.", + "type": "string" + }, + "clientType": { + "description": "The client type, web, android or ios. Required when reCAPTCHA Enterprise is enabled.", + "enum": [ + "CLIENT_TYPE_UNSPECIFIED", + "CLIENT_TYPE_WEB", + "CLIENT_TYPE_ANDROID", + "CLIENT_TYPE_IOS" + ], + "enumDescriptions": [ + "Client type is not specified.", + "Client type is web.", + "Client type is android.", + "Client type is ios." + ], + "type": "string" + }, "iosReceipt": { "description": "iOS only. Receipt of successful app token validation with APNS.", "type": "string" @@ -3476,6 +3561,18 @@ "description": "Web only. Recaptcha solution.", "type": "string" }, + "recaptchaVersion": { + "description": "The reCAPTCHA version of the reCAPTCHA token in the captcha_response. Required when reCAPTCHA Enterprise is enabled.", + "enum": [ + "RECAPTCHA_VERSION_UNSPECIFIED", + "RECAPTCHA_ENTERPRISE" + ], + "enumDescriptions": [ + "The reCAPTCHA version is not specified.", + "The reCAPTCHA enterprise." + ], + "type": "string" + }, "safetyNetToken": { "description": "Android only. Used to assert application identity in place of a recaptcha token. A SafetyNet Token can be generated via the [SafetyNet Android Attestation API](https://developer.android.com/training/safetynet/attestation.html), with the Base64 encoding of the `phone_number` field as the nonce.", "type": "string" diff --git a/discovery/index.json b/discovery/index.json index 2fa65c7d2e..82953266c8 100644 --- a/discovery/index.json +++ b/discovery/index.json @@ -690,6 +690,21 @@ "title": "Area120 Tables API", "version": "v1alpha1" }, + { + "description": "Places Insights API.", + "discoveryRestUrl": "https://areainsights.googleapis.com/$discovery/rest?version=v1", + "documentationLink": "https://g3doc.corp.google.com/geo/platform/area_insights/README.md?cl=head", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "id": "areainsights:v1", + "kind": "discovery#directoryItem", + "name": "areainsights", + "preferred": true, + "title": "Places Insights API", + "version": "v1" + }, { "description": "Store and manage build artifacts in a scalable and integrated service built on Google infrastructure.", "discoveryRestUrl": "https://artifactregistry.googleapis.com/$discovery/rest?version=v1beta1", @@ -1188,7 +1203,7 @@ { "description": "The Chrome Management API is a suite of services that allows Chrome administrators to view, manage and gain insights on their Chrome OS and Chrome Browser devices.", "discoveryRestUrl": "https://chromemanagement.googleapis.com/$discovery/rest?version=v1", - "documentationLink": "http://developers.google.com/chrome/management/", + "documentationLink": "https://developers.google.com/chrome/management/", "icons": { "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" @@ -3122,7 +3137,7 @@ "kind": "discovery#directoryItem", "name": "firebasedatabase", "preferred": true, - "title": "Firebase Realtime Database API", + "title": "Firebase Realtime Database Management API", "version": "v1beta" }, { @@ -3336,7 +3351,7 @@ "version": "v1" }, { - "description": "The Google Play games service allows developers to enhance games with social leaderboards, achievements, game state, sign-in with Google, and more.", + "description": "The Google Play Games Service allows developers to enhance games with social leaderboards, achievements, game state, sign-in with Google, and more.", "discoveryRestUrl": "https://games.googleapis.com/$discovery/rest?version=v1", "documentationLink": "https://developers.google.com/games/", "icons": { @@ -3366,7 +3381,7 @@ "version": "v1configuration" }, { - "description": "The Google Play Game Management API allows developers to manage resources from the Google Play Game service.", + "description": "The Google Play Games Management API allows developers to manage resources from the Google Play Game service.", "discoveryRestUrl": "https://gamesmanagement.googleapis.com/$discovery/rest?version=v1management", "documentationLink": "https://developers.google.com/games/", "icons": { @@ -4340,6 +4355,21 @@ "title": "Dataproc Metastore API", "version": "v1alpha" }, + { + "description": "The Dataproc Metastore API is used to manage the lifecycle and configuration of metastore services.", + "discoveryRestUrl": "https://metastore.googleapis.com/$discovery/rest?version=v2alpha", + "documentationLink": "https://cloud.google.com/dataproc-metastore/docs", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "id": "metastore:v2alpha", + "kind": "discovery#directoryItem", + "name": "metastore", + "preferred": false, + "title": "Dataproc Metastore API", + "version": "v2alpha" + }, { "description": "The Dataproc Metastore API is used to manage the lifecycle and configuration of metastore services.", "discoveryRestUrl": "https://metastore.googleapis.com/$discovery/rest?version=v1beta", @@ -4355,6 +4385,21 @@ "title": "Dataproc Metastore API", "version": "v1beta" }, + { + "description": "The Dataproc Metastore API is used to manage the lifecycle and configuration of metastore services.", + "discoveryRestUrl": "https://metastore.googleapis.com/$discovery/rest?version=v2beta", + "documentationLink": "https://cloud.google.com/dataproc-metastore/docs", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "id": "metastore:v2beta", + "kind": "discovery#directoryItem", + "name": "metastore", + "preferred": false, + "title": "Dataproc Metastore API", + "version": "v2beta" + }, { "description": "The Dataproc Metastore API is used to manage the lifecycle and configuration of metastore services.", "discoveryRestUrl": "https://metastore.googleapis.com/$discovery/rest?version=v1", @@ -4366,10 +4411,25 @@ "id": "metastore:v1", "kind": "discovery#directoryItem", "name": "metastore", - "preferred": true, + "preferred": false, "title": "Dataproc Metastore API", "version": "v1" }, + { + "description": "The Dataproc Metastore API is used to manage the lifecycle and configuration of metastore services.", + "discoveryRestUrl": "https://metastore.googleapis.com/$discovery/rest?version=v2", + "documentationLink": "https://cloud.google.com/dataproc-metastore/docs", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "id": "metastore:v2", + "kind": "discovery#directoryItem", + "name": "metastore", + "preferred": true, + "title": "Dataproc Metastore API", + "version": "v2" + }, { "description": "A unified platform that helps you accelerate your end-to-end cloud journey from your current on-premises or cloud environments to Google Cloud.", "discoveryRestUrl": "https://migrationcenter.googleapis.com/$discovery/rest?version=v1alpha1", @@ -4550,6 +4610,36 @@ "title": "My Business Verifications API", "version": "v1" }, + { + "description": "Google Cloud NetApp Volumes is a fully-managed, cloud-based data storage service that provides advanced data management capabilities and highly scalable performance with global availability.", + "discoveryRestUrl": "https://netapp.googleapis.com/$discovery/rest?version=v1beta1", + "documentationLink": "https://cloud.google.com/netapp/", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "id": "netapp:v1beta1", + "kind": "discovery#directoryItem", + "name": "netapp", + "preferred": false, + "title": "NetApp API", + "version": "v1beta1" + }, + { + "description": "Google Cloud NetApp Volumes is a fully-managed, cloud-based data storage service that provides advanced data management capabilities and highly scalable performance with global availability.", + "discoveryRestUrl": "https://netapp.googleapis.com/$discovery/rest?version=v1", + "documentationLink": "https://cloud.google.com/netapp/", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "id": "netapp:v1", + "kind": "discovery#directoryItem", + "name": "netapp", + "preferred": true, + "title": "NetApp API", + "version": "v1" + }, { "description": "This API enables connectivity with and between Google Cloud resources.", "discoveryRestUrl": "https://networkconnectivity.googleapis.com/$discovery/rest?version=v1alpha1", @@ -4806,6 +4896,21 @@ "title": "OS Config API", "version": "v1beta" }, + { + "description": "OS management tools that can be used for patch management, patch compliance, and configuration management on VM instances.", + "discoveryRestUrl": "https://osconfig.googleapis.com/$discovery/rest?version=v2beta", + "documentationLink": "https://cloud.google.com/compute/docs/osconfig/rest", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "id": "osconfig:v2beta", + "kind": "discovery#directoryItem", + "name": "osconfig", + "preferred": false, + "title": "OS Config API", + "version": "v2beta" + }, { "description": "OS management tools that can be used for patch management, patch compliance, and configuration management on VM instances.", "discoveryRestUrl": "https://osconfig.googleapis.com/$discovery/rest?version=v1", @@ -4881,6 +4986,36 @@ "title": "PageSpeed Insights API", "version": "v5" }, + { + "description": "", + "discoveryRestUrl": "https://parallelstore.googleapis.com/$discovery/rest?version=v1beta", + "documentationLink": "https://cloud.google.com/parallelstore", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "id": "parallelstore:v1beta", + "kind": "discovery#directoryItem", + "name": "parallelstore", + "preferred": false, + "title": "Parallelstore API", + "version": "v1beta" + }, + { + "description": "", + "discoveryRestUrl": "https://parallelstore.googleapis.com/$discovery/rest?version=v1", + "documentationLink": "https://cloud.google.com/parallelstore", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "id": "parallelstore:v1", + "kind": "discovery#directoryItem", + "name": "parallelstore", + "preferred": true, + "title": "Parallelstore API", + "version": "v1" + }, { "description": "", "discoveryRestUrl": "https://paymentsresellersubscription.googleapis.com/$discovery/rest?version=v1", @@ -5736,6 +5871,21 @@ "title": "Security Command Center API", "version": "v1" }, + { + "description": "Defines, assesses, and monitors the overall status of your security in Google Cloud. You can use security postures to evaluate your current cloud security against defined benchmarks and help maintain the level of security that your organization requires.", + "discoveryRestUrl": "https://securityposture.googleapis.com/$discovery/rest?version=v1", + "documentationLink": "https://cloud.google.com/security-command-center", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "id": "securityposture:v1", + "kind": "discovery#directoryItem", + "name": "securityposture", + "preferred": true, + "title": "Security Posture API", + "version": "v1" + }, { "description": "Manages the service consumers of a Service Infrastructure service.", "discoveryRestUrl": "https://serviceconsumermanagement.googleapis.com/$discovery/rest?version=v1beta1", diff --git a/discovery/integrations-v1.json b/discovery/integrations-v1.json index b8a69c7894..34ff7b28da 100644 --- a/discovery/integrations-v1.json +++ b/discovery/integrations-v1.json @@ -212,6 +212,34 @@ "resources": { "locations": { "methods": { + "generateOpenApiSpec": { + "description": "Generate OpenAPI spec for the requested integrations and api triggers", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:generateOpenApiSpec", + "httpMethod": "POST", + "id": "integrations.projects.locations.generateOpenApiSpec", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Project and location from which the integrations should be fetched. Format: projects/{project}/location/{location}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:generateOpenApiSpec", + "request": { + "$ref": "GoogleCloudIntegrationsV1alphaGenerateOpenApiSpecRequest" + }, + "response": { + "$ref": "GoogleCloudIntegrationsV1alphaGenerateOpenApiSpecResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "getClients": { "description": "Gets the client configuration for the given project and location resource name", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clients", @@ -1410,7 +1438,7 @@ ] }, "replay": { - "description": "Re-execute an existing execution, with same request parameters and execution strategy", + "description": "Re-execute an existing execution, with same request parameters and execution strategy.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/integrations/{integrationsId}/executions/{executionsId}:replay", "httpMethod": "POST", "id": "integrations.projects.locations.integrations.executions.replay", @@ -1419,7 +1447,7 @@ ], "parameters": { "name": { - "description": "Required. The execution resource name. Format: projects/{gcp_project_id}/locations/{location}/integrations/{integration}/executions/{execution_id}", + "description": "Required. Next ID: 6 The execution resource name. Format: projects/{gcp_project_id}/locations/{location}/integrations/{integration}/executions/{execution_id}", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/integrations/[^/]+/executions/[^/]+$", "required": true, @@ -4497,7 +4525,7 @@ } } }, - "revision": "20240927", + "revision": "20241209", "rootUrl": "https://integrations.googleapis.com/", "schemas": { "CrmlogErrorCode": { @@ -8109,6 +8137,20 @@ "description": "If this execution is a replay of another execution, then this field contains the original execution id.", "type": "string" }, + "replayMode": { + "description": "Replay mode for the execution", + "enum": [ + "REPLAY_MODE_UNSPECIFIED", + "REPLAY_MODE_FROM_BEGINNING", + "REPLAY_MODE_POINT_OF_FAILURE" + ], + "enumDescriptions": [ + "", + "Replay the original execution from the beginning.", + "Replay the execution from the first failed task." + ], + "type": "string" + }, "replayReason": { "description": "reason for replay", "type": "string" @@ -8869,11 +8911,8 @@ "type": "string" }, "inputVariables": { - "description": "Optional. List of input variables for the api trigger.", - "items": { - "type": "string" - }, - "type": "array" + "$ref": "EnterpriseCrmFrontendsEventbusProtoTriggerConfigVariables", + "description": "Optional. List of input variables for the api trigger." }, "label": { "description": "The user created label for a particular trigger.", @@ -8894,11 +8933,8 @@ "type": "string" }, "outputVariables": { - "description": "Optional. List of output variables for the api trigger.", - "items": { - "type": "string" - }, - "type": "array" + "$ref": "EnterpriseCrmFrontendsEventbusProtoTriggerConfigVariables", + "description": "Optional. List of output variables for the api trigger." }, "pauseWorkflowExecutions": { "description": "Optional. If set to true, any upcoming requests for this trigger config will be paused and the executions will be resumed later when the flag is reset. The workflow to which this trigger config belongs has to be in ACTIVE status for the executions to be paused or resumed.", @@ -8978,6 +9014,20 @@ }, "type": "object" }, + "EnterpriseCrmFrontendsEventbusProtoTriggerConfigVariables": { + "description": "Variables names mapped to api trigger.", + "id": "EnterpriseCrmFrontendsEventbusProtoTriggerConfigVariables", + "properties": { + "names": { + "description": "Optional. List of variable names.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "EnterpriseCrmFrontendsEventbusProtoWorkflowParameterEntry": { "id": "EnterpriseCrmFrontendsEventbusProtoWorkflowParameterEntry", "properties": { @@ -9436,6 +9486,7 @@ "PREVIEW", "GA", "DEPRECATED", + "TEST", "PRIVATE_PREVIEW" ], "enumDescriptions": [ @@ -9443,6 +9494,7 @@ "PREVIEW.", "GA.", "DEPRECATED.", + "TEST.", "PRIVATE_PREVIEW." ], "readOnly": true, @@ -9633,7 +9685,7 @@ "type": "string" }, "deploymentModel": { - "description": "Optional. Indicates whether connector is deployed on GKE/CloudRun", + "description": "Output only. Indicates whether connector is deployed on GKE/CloudRun", "enum": [ "DEPLOYMENT_MODEL_UNSPECIFIED", "GKE_MST", @@ -9644,6 +9696,7 @@ "Default model gke mst.", "Cloud run mst." ], + "readOnly": true, "type": "string" }, "deploymentModelMigrationState": { @@ -9789,7 +9842,7 @@ "id": "GoogleCloudConnectorsV1EventingConfig", "properties": { "additionalVariables": { - "description": "Additional eventing related field values", + "description": "Optional. Additional eventing related field values", "items": { "$ref": "GoogleCloudConnectorsV1ConfigVariable" }, @@ -9797,14 +9850,14 @@ }, "authConfig": { "$ref": "GoogleCloudConnectorsV1AuthConfig", - "description": "Auth details for the webhook adapter." + "description": "Optional. Auth details for the webhook adapter." }, "deadLetterConfig": { "$ref": "GoogleCloudConnectorsV1EventingConfigDeadLetterConfig", "description": "Optional. Dead letter configuration for eventing of a connection." }, "enrichmentEnabled": { - "description": "Enrichment Enabled.", + "description": "Optional. Enrichment Enabled.", "type": "boolean" }, "eventsListenerIngressEndpoint": { @@ -9825,7 +9878,7 @@ }, "registrationDestinationConfig": { "$ref": "GoogleCloudConnectorsV1DestinationConfig", - "description": "Registration endpoint for auto registration." + "description": "Optional. Registration endpoint for auto registration." } }, "type": "object" @@ -9868,6 +9921,11 @@ "$ref": "GoogleCloudConnectorsV1EventingRuntimeDataWebhookData", "description": "Output only. Webhook data.", "readOnly": true + }, + "webhookSubscriptions": { + "$ref": "GoogleCloudConnectorsV1EventingRuntimeDataWebhookSubscriptions", + "description": "Output only. Webhook subscriptions.", + "readOnly": true } }, "type": "object" @@ -9915,6 +9973,21 @@ }, "type": "object" }, + "GoogleCloudConnectorsV1EventingRuntimeDataWebhookSubscriptions": { + "description": "WebhookSubscriptions has details of webhook subscriptions.", + "id": "GoogleCloudConnectorsV1EventingRuntimeDataWebhookSubscriptions", + "properties": { + "webhookData": { + "description": "Output only. Webhook data.", + "items": { + "$ref": "GoogleCloudConnectorsV1EventingRuntimeDataWebhookData" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudConnectorsV1EventingStatus": { "description": "EventingStatus indicates the state of eventing.", "id": "GoogleCloudConnectorsV1EventingStatus", @@ -10072,14 +10145,14 @@ "id": "GoogleCloudConnectorsV1SslConfig", "properties": { "additionalVariables": { - "description": "Additional SSL related field values", + "description": "Optional. Additional SSL related field values", "items": { "$ref": "GoogleCloudConnectorsV1ConfigVariable" }, "type": "array" }, "clientCertType": { - "description": "Type of Client Cert (PEM/JKS/.. etc.)", + "description": "Optional. Type of Client Cert (PEM/JKS/.. etc.)", "enum": [ "CERT_TYPE_UNSPECIFIED", "PEM" @@ -10092,22 +10165,22 @@ }, "clientCertificate": { "$ref": "GoogleCloudConnectorsV1Secret", - "description": "Client Certificate" + "description": "Optional. Client Certificate" }, "clientPrivateKey": { "$ref": "GoogleCloudConnectorsV1Secret", - "description": "Client Private Key" + "description": "Optional. Client Private Key" }, "clientPrivateKeyPass": { "$ref": "GoogleCloudConnectorsV1Secret", - "description": "Secret containing the passphrase protecting the Client Private Key" + "description": "Optional. Secret containing the passphrase protecting the Client Private Key" }, "privateServerCertificate": { "$ref": "GoogleCloudConnectorsV1Secret", - "description": "Private Server Certificate. Needs to be specified if trust model is `PRIVATE`." + "description": "Optional. Private Server Certificate. Needs to be specified if trust model is `PRIVATE`." }, "serverCertType": { - "description": "Type of Server Cert (PEM/JKS/.. etc.)", + "description": "Optional. Type of Server Cert (PEM/JKS/.. etc.)", "enum": [ "CERT_TYPE_UNSPECIFIED", "PEM" @@ -10119,7 +10192,7 @@ "type": "string" }, "trustModel": { - "description": "Trust Model of the SSL connection", + "description": "Optional. Trust Model of the SSL connection", "enum": [ "PUBLIC", "PRIVATE", @@ -10133,7 +10206,7 @@ "type": "string" }, "type": { - "description": "Controls the ssl type for the given connector version.", + "description": "Optional. Controls the ssl type for the given connector version.", "enum": [ "SSL_TYPE_UNSPECIFIED", "TLS", @@ -10147,7 +10220,7 @@ "type": "string" }, "useSsl": { - "description": "Bool for enabling SSL", + "description": "Optional. Bool for enabling SSL", "type": "boolean" } }, @@ -10182,12 +10255,30 @@ }, "type": "object" }, + "GoogleCloudIntegrationsV1alphaApiTriggerResource": { + "description": "List of API triggerID and their workflow resource name.", + "id": "GoogleCloudIntegrationsV1alphaApiTriggerResource", + "properties": { + "integrationResource": { + "description": "Required. Integration where the API is published", + "type": "string" + }, + "triggerId": { + "description": "Required. Trigger Id of the API trigger(s) in the integration", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudIntegrationsV1alphaAssertion": { - "description": "An assertion which will check for a condition over task execution status or an expression for task output variables Next available id: 5", + "description": "An assertion which will check for a condition over task execution status or an expression for task output variables", "id": "GoogleCloudIntegrationsV1alphaAssertion", "properties": { "assertionStrategy": { - "description": "The type of assertion to perform.", + "description": "Optional. The type of assertion to perform.", "enum": [ "ASSERTION_STRATEGY_UNSPECIFIED", "ASSERT_SUCCESSFUL_EXECUTION", @@ -10456,7 +10547,7 @@ "id": "GoogleCloudIntegrationsV1alphaCancelExecutionRequest", "properties": { "cancelReason": { - "description": "Optional. Reason for cancelling the execution This is provided by the client requesting the cancellation Platform will not use this field", + "description": "Required. Reason for cancelling the execution. This is provided by the client requesting the cancellation, and is not used by the Platform.", "type": "string" } }, @@ -10467,7 +10558,7 @@ "id": "GoogleCloudIntegrationsV1alphaCancelExecutionResponse", "properties": { "isCanceled": { - "description": "True if cancellation performed successfully", + "description": "True if cancellation performed successfully.", "type": "boolean" } }, @@ -11370,6 +11461,20 @@ "description": "If this execution is a replay of another execution, then this field contains the original execution id.", "type": "string" }, + "replayMode": { + "description": "Replay mode for the execution", + "enum": [ + "REPLAY_MODE_UNSPECIFIED", + "REPLAY_MODE_FROM_BEGINNING", + "REPLAY_MODE_POINT_OF_FAILURE" + ], + "enumDescriptions": [ + "Default value.", + "Replay the original execution from the beginning.", + "Replay the execution from the first failed task." + ], + "type": "string" + }, "replayReason": { "description": "reason for replay", "type": "string" @@ -11538,6 +11643,45 @@ }, "type": "object" }, + "GoogleCloudIntegrationsV1alphaGenerateOpenApiSpecRequest": { + "description": "Request for GenerateOpenApiSpec.", + "id": "GoogleCloudIntegrationsV1alphaGenerateOpenApiSpecRequest", + "properties": { + "apiTriggerResources": { + "description": "Required. List of api triggers", + "items": { + "$ref": "GoogleCloudIntegrationsV1alphaApiTriggerResource" + }, + "type": "array" + }, + "fileFormat": { + "description": "Required. File format for generated spec.", + "enum": [ + "FILE_FORMAT_UNSPECIFIED", + "JSON", + "YAML" + ], + "enumDescriptions": [ + "Unspecified file format", + "JSON File Format", + "YAML File Format" + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudIntegrationsV1alphaGenerateOpenApiSpecResponse": { + "description": "Response of the GenerateOpenApiSpec API.", + "id": "GoogleCloudIntegrationsV1alphaGenerateOpenApiSpecResponse", + "properties": { + "openApiSpec": { + "description": "Open API spec as per the required format", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudIntegrationsV1alphaGenerateTokenResponse": { "description": "Returns success or error message", "id": "GoogleCloudIntegrationsV1alphaGenerateTokenResponse", @@ -12936,22 +13080,22 @@ "type": "object" }, "GoogleCloudIntegrationsV1alphaReplayExecutionRequest": { - "description": "Request for replaying an execution Next ID: 3", + "description": "Request for replaying an execution.", "id": "GoogleCloudIntegrationsV1alphaReplayExecutionRequest", "properties": { "replayReason": { - "description": "Optional. The user provided reason for replaying the execution.", + "description": "Required. The user provided reason for replaying the execution.", "type": "string" } }, "type": "object" }, "GoogleCloudIntegrationsV1alphaReplayExecutionResponse": { - "description": "Response for replaying an execution Next ID: 4", + "description": "Response for replaying an execution.", "id": "GoogleCloudIntegrationsV1alphaReplayExecutionResponse", "properties": { "executionId": { - "description": "The id of the execution corresponding to this run of integration.", + "description": "Next ID: 4 The id of the execution corresponding to this run of the integration.", "type": "string" }, "outputParameters": { @@ -12959,11 +13103,11 @@ "description": "Properties of the object.", "type": "any" }, - "description": "OUTPUT parameters in format of Map. Where Key is the name of the parameter. The parameters would only be present in case of synchrounous execution Note: Name of the system generated parameters are wrapped by backtick(`) to distinguish them from the user defined parameters.", + "description": "OUTPUT parameters in format of Map. Where Key is the name of the parameter. The parameters would only be present in case of synchrounous execution. Note: Name of the system generated parameters are wrapped by backtick(`) to distinguish them from the user defined parameters.", "type": "object" }, "replayedExecutionId": { - "description": "The execution id which is replayed", + "description": "The execution id which is replayed.", "type": "string" } }, @@ -13025,7 +13169,7 @@ "type": "object" }, "GoogleCloudIntegrationsV1alphaScheduleIntegrationsRequest": { - "description": "The request for scheduling an integration. Next available id: 11", + "description": "The request for scheduling an integration.", "id": "GoogleCloudIntegrationsV1alphaScheduleIntegrationsRequest", "properties": { "inputParameters": { @@ -14037,11 +14181,8 @@ "type": "string" }, "inputVariables": { - "description": "Optional. List of input variables for the api trigger.", - "items": { - "type": "string" - }, - "type": "array" + "$ref": "GoogleCloudIntegrationsV1alphaTriggerConfigVariables", + "description": "Optional. List of input variables for the api trigger." }, "label": { "description": "Optional. The user created label for a particular trigger.", @@ -14062,11 +14203,8 @@ "type": "string" }, "outputVariables": { - "description": "Optional. List of output variables for the api trigger.", - "items": { - "type": "string" - }, - "type": "array" + "$ref": "GoogleCloudIntegrationsV1alphaTriggerConfigVariables", + "description": "Optional. List of output variables for the api trigger." }, "position": { "$ref": "GoogleCloudIntegrationsV1alphaCoordinate", @@ -14129,6 +14267,20 @@ }, "type": "object" }, + "GoogleCloudIntegrationsV1alphaTriggerConfigVariables": { + "description": "Variables names mapped to api trigger.", + "id": "GoogleCloudIntegrationsV1alphaTriggerConfigVariables", + "properties": { + "names": { + "description": "Optional. List of variable names.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudIntegrationsV1alphaUnpublishIntegrationVersionRequest": { "description": "Request for UnpublishIntegrationVersion.", "id": "GoogleCloudIntegrationsV1alphaUnpublishIntegrationVersionRequest", diff --git a/discovery/jobs-v3.json b/discovery/jobs-v3.json index b1050eea18..53a289149e 100644 --- a/discovery/jobs-v3.json +++ b/discovery/jobs-v3.json @@ -652,7 +652,7 @@ } } }, - "revision": "20240620", + "revision": "20241217", "rootUrl": "https://jobs.googleapis.com/", "schemas": { "ApplicationInfo": { @@ -2313,18 +2313,18 @@ "type": "object" }, "PostalAddress": { - "description": "Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478", + "description": "Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478", "id": "PostalAddress", "properties": { "addressLines": { - "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", + "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", "items": { "type": "string" }, "type": "array" }, "administrativeArea": { - "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.", + "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated.", "type": "string" }, "languageCode": { @@ -2340,7 +2340,7 @@ "type": "string" }, "postalCode": { - "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.).", + "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.).", "type": "string" }, "recipients": { @@ -2360,7 +2360,7 @@ "type": "integer" }, "sortingCode": { - "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (e.g. \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (e.g. Côte d'Ivoire).", + "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (For example \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (For example Côte d'Ivoire).", "type": "string" }, "sublocality": { @@ -2597,22 +2597,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } diff --git a/discovery/jobs-v3p1beta1.json b/discovery/jobs-v3p1beta1.json index 93441883da..70a8ecc946 100644 --- a/discovery/jobs-v3p1beta1.json +++ b/discovery/jobs-v3p1beta1.json @@ -682,7 +682,7 @@ } } }, - "revision": "20240620", + "revision": "20241219", "rootUrl": "https://jobs.googleapis.com/", "schemas": { "ApplicationInfo": { @@ -2452,18 +2452,18 @@ "type": "object" }, "PostalAddress": { - "description": "Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478", + "description": "Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478", "id": "PostalAddress", "properties": { "addressLines": { - "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", + "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", "items": { "type": "string" }, "type": "array" }, "administrativeArea": { - "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.", + "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated.", "type": "string" }, "languageCode": { @@ -2479,7 +2479,7 @@ "type": "string" }, "postalCode": { - "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.).", + "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.).", "type": "string" }, "recipients": { @@ -2499,7 +2499,7 @@ "type": "integer" }, "sortingCode": { - "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (e.g. \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (e.g. Côte d'Ivoire).", + "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (For example \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (For example Côte d'Ivoire).", "type": "string" }, "sublocality": { @@ -2781,22 +2781,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } diff --git a/discovery/jobs-v4.json b/discovery/jobs-v4.json index ba63a6f2a9..ff9adb43f5 100644 --- a/discovery/jobs-v4.json +++ b/discovery/jobs-v4.json @@ -903,7 +903,7 @@ } } }, - "revision": "20240620", + "revision": "20241217", "rootUrl": "https://jobs.googleapis.com/", "schemas": { "ApplicationInfo": { @@ -1829,7 +1829,7 @@ "type": "string" }, "postingExpireTime": { - "description": "Strongly recommended for the best service experience. The expiration timestamp of the job. After this timestamp, the job is marked as expired, and it no longer appears in search results. The expired job can't be listed by the ListJobs API, but it can be retrieved with the GetJob API or updated with the UpdateJob API or deleted with the DeleteJob API. An expired job can be updated and opened again by using a future expiration timestamp. Updating an expired job fails if there is another existing open job with same company, language_code and requisition_id. The expired jobs are retained in our system for 90 days. However, the overall expired job count cannot exceed 3 times the maximum number of open jobs over previous 7 days. If this threshold is exceeded, expired jobs are cleaned out in order of earliest expire time. Expired jobs are no longer accessible after they are cleaned out. Invalid timestamps are ignored, and treated as expire time not provided. If the timestamp is before the instant request is made, the job is treated as expired immediately on creation. This kind of job can not be updated. And when creating a job with past timestamp, the posting_publish_time must be set before posting_expire_time. The purpose of this feature is to allow other objects, such as Application, to refer a job that didn't exist in the system prior to becoming expired. If you want to modify a job that was expired on creation, delete it and create a new one. If this value isn't provided at the time of job creation or is invalid, the job posting expires after 30 days from the job's creation time. For example, if the job was created on 2017/01/01 13:00AM UTC with an unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC. If this value isn't provided on job update, it depends on the field masks set by UpdateJobRequest.update_mask. If the field masks include job_end_time, or the masks are empty meaning that every field is updated, the job posting expires after 30 days from the job's last update time. Otherwise the expiration date isn't updated.", + "description": "Strongly recommended for the best service experience. The expiration timestamp of the job. After this timestamp, the job is marked as expired, and it no longer appears in search results. The expired job can't be listed by the ListJobs API, but it can be retrieved with the GetJob API or updated with the UpdateJob API or deleted with the DeleteJob API. An expired job can be updated and opened again by using a future expiration timestamp. Updating an expired job fails if there is another existing open job with same company, language_code and requisition_id. The expired jobs are retained in our system for 90 days. However, the overall expired job count cannot exceed 3 times the maximum number of open jobs over previous 7 days. If this threshold is exceeded, expired jobs are cleaned out in order of earliest expire time. Expired jobs are no longer accessible after they are cleaned out. Invalid timestamps are ignored, and treated as expire time not provided. If the timestamp is before the instant request is made, the job is treated as expired immediately on creation. This kind of job can not be updated. And when creating a job with past timestamp, the posting_publish_time must be set before posting_expire_time. The purpose of this feature is to allow other objects, such as ApplicationInfo, to refer a job that didn't exist in the system prior to becoming expired. If you want to modify a job that was expired on creation, delete it and create a new one. If this value isn't provided at the time of job creation or is invalid, the job posting expires after 30 days from the job's creation time. For example, if the job was created on 2017/01/01 13:00AM UTC with an unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC. If this value isn't provided on job update, it depends on the field masks set by UpdateJobRequest.update_mask. If the field masks include job_end_time, or the masks are empty meaning that every field is updated, the job posting expires after 30 days from the job's last update time. Otherwise the expiration date isn't updated.", "format": "google-datetime", "type": "string" }, @@ -2392,7 +2392,7 @@ "type": "string" }, "telecommutePreference": { - "description": "Allows the client to return jobs without a set location, specifically, telecommuting jobs (telecommuting is considered by the service as a special location). Job.posting_region indicates if a job permits telecommuting. If this field is set to TelecommutePreference.TELECOMMUTE_ALLOWED, telecommuting jobs are searched, and address and lat_lng are ignored. If not set or set to TelecommutePreference.TELECOMMUTE_EXCLUDED, the telecommute status of the jobs is ignored. Jobs that have PostingRegion.TELECOMMUTE and have additional Job.addresses may still be matched based on other location filters using address or latlng. This filter can be used by itself to search exclusively for telecommuting jobs, or it can be combined with another location filter to search for a combination of job locations, such as \"Mountain View\" or \"telecommuting\" jobs. However, when used in combination with other location filters, telecommuting jobs can be treated as less relevant than other jobs in the search response. This field is only used for job search requests.", + "description": "Allows the client to return jobs without a set location, specifically, telecommuting jobs (telecommuting is considered by the service as a special location). Job.posting_region indicates if a job permits telecommuting. If this field is set to TelecommutePreference.TELECOMMUTE_ALLOWED, telecommuting jobs are searched, and address and lat_lng are ignored. If not set or set to TelecommutePreference.TELECOMMUTE_EXCLUDED, the telecommute status of the jobs is ignored. Jobs that have PostingRegion.TELECOMMUTE and have additional Job.addresses may still be matched based on other location filters using address or lat_lng. This filter can be used by itself to search exclusively for telecommuting jobs, or it can be combined with another location filter to search for a combination of job locations, such as \"Mountain View\" or \"telecommuting\" jobs. However, when used in combination with other location filters, telecommuting jobs can be treated as less relevant than other jobs in the search response. This field is only used for job search requests.", "enum": [ "TELECOMMUTE_PREFERENCE_UNSPECIFIED", "TELECOMMUTE_EXCLUDED", @@ -2500,18 +2500,18 @@ "type": "object" }, "PostalAddress": { - "description": "Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478", + "description": "Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478", "id": "PostalAddress", "properties": { "addressLines": { - "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", + "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", "items": { "type": "string" }, "type": "array" }, "administrativeArea": { - "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.", + "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated.", "type": "string" }, "languageCode": { @@ -2527,7 +2527,7 @@ "type": "string" }, "postalCode": { - "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.).", + "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.).", "type": "string" }, "recipients": { @@ -2547,7 +2547,7 @@ "type": "integer" }, "sortingCode": { - "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (e.g. \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (e.g. Côte d'Ivoire).", + "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (For example \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (For example Côte d'Ivoire).", "type": "string" }, "sublocality": { @@ -2722,6 +2722,24 @@ "description": "The token specifying the current offset within search results. See SearchJobsResponse.next_page_token for an explanation of how to obtain the next set of query results.", "type": "string" }, + "relevanceThreshold": { + "description": "Optional. The relevance threshold of the search results. Default to Google defined threshold, leveraging a balance of precision and recall to deliver both highly accurate results and comprehensive coverage of relevant information.", + "enum": [ + "RELEVANCE_THRESHOLD_UNSPECIFIED", + "LOWEST", + "LOW", + "MEDIUM", + "HIGH" + ], + "enumDescriptions": [ + "Default value. In this case, server behavior defaults to Google defined threshold.", + "Lowest relevance threshold.", + "Low relevance threshold.", + "Medium relevance threshold.", + "High relevance threshold." + ], + "type": "string" + }, "requestMetadata": { "$ref": "RequestMetadata", "description": "Required. The meta information collected about the job searcher, used to improve the search quality of the service. The identifiers (such as `user_id`) are provided by users, and must be unique and consistent." @@ -2859,22 +2877,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } diff --git a/discovery/language-v1.json b/discovery/language-v1.json index ae0d3ed06c..dd35bd4e46 100644 --- a/discovery/language-v1.json +++ b/discovery/language-v1.json @@ -246,7 +246,7 @@ } } }, - "revision": "20240929", + "revision": "20250105", "rootUrl": "https://language.googleapis.com/", "schemas": { "AnalyzeEntitiesRequest": { @@ -761,6 +761,7 @@ "A3_HIGHGPU_4G", "A3_HIGHGPU_8G", "A3_MEGAGPU_8G", + "A3_ULTRAGPU_8G", "E2_STANDARD_2", "E2_STANDARD_4", "E2_STANDARD_8", @@ -1050,6 +1051,7 @@ "", "", "", + "", "" ], "type": "string" @@ -1486,6 +1488,7 @@ "A3_HIGHGPU_4G", "A3_HIGHGPU_8G", "A3_MEGAGPU_8G", + "A3_ULTRAGPU_8G", "E2_STANDARD_2", "E2_STANDARD_4", "E2_STANDARD_8", @@ -1775,6 +1778,7 @@ "", "", "", + "", "" ], "type": "string" @@ -1790,7 +1794,7 @@ "type": "object" }, "InfraUsage": { - "description": "Infra Usage of billing metrics. Next ID: 6", + "description": "Infra Usage of billing metrics.", "id": "InfraUsage", "properties": { "cpuMetrics": { @@ -2170,6 +2174,7 @@ "A3_HIGHGPU_4G", "A3_HIGHGPU_8G", "A3_MEGAGPU_8G", + "A3_ULTRAGPU_8G", "E2_STANDARD_2", "E2_STANDARD_4", "E2_STANDARD_8", @@ -2459,6 +2464,7 @@ "", "", "", + "", "" ], "type": "string" @@ -2889,7 +2895,6 @@ "type": "object" }, "XPSColumnSpecForecastingMetadata": { - "description": "=========================================================================== # The fields below are used exclusively for Forecasting.", "id": "XPSColumnSpecForecastingMetadata", "properties": { "columnType": { @@ -3382,11 +3387,11 @@ "type": "boolean" }, "outputGcrUri": { - "description": "The Google Contained Registry (GCR) path the exported files to be pushed to. This location is set if the exported format is DOCKDER.", + "description": "The Google Contained Registry path the exported files to be pushed to. This location is set if the exported format is DOCKDER.", "type": "string" }, "outputGcsUri": { - "description": "The Google Cloud Storage (GCS) directory where XPS will output the exported models and related files. Format: gs://bucket/directory", + "description": "The Google Cloud Storage directory where XPS will output the exported models and related files. Format: gs://bucket/directory", "type": "string" }, "tfJsFormat": { @@ -3402,7 +3407,7 @@ "type": "object" }, "XPSFileSpec": { - "description": "Spec of input and output files, on external file systems (CNS, GCS, etc).", + "description": "Spec of input and output files, on external file systems (for example, Colossus Namespace System or Google Cloud Storage).", "id": "XPSFileSpec", "properties": { "directoryPath": { @@ -3430,7 +3435,7 @@ "enumDescriptions": [ "", "", - "Internal format for parallel text data used by Google Translate. go/rkvtools", + "Internal format for parallel text data used by Google Translate.", "", "Only the lexicographically first file described by the file_spec contains the header line.", "" @@ -3559,7 +3564,7 @@ "id": "XPSImageExportModelSpec", "properties": { "exportModelOutputConfig": { - "description": "Contains the model format and internal location of the model files to be exported/downloaded. Use the GCS bucket name which is provided via TrainRequest.gcs_bucket_name to store the model files.", + "description": "Contains the model format and internal location of the model files to be exported/downloaded. Use the Google Cloud Storage bucket name which is provided via TrainRequest.gcs_bucket_name to store the model files.", "items": { "$ref": "XPSExportModelOutputConfig" }, @@ -3584,7 +3589,7 @@ "type": "array" }, "labelGcsUri": { - "description": "GCS uri of decoded labels file for model export 'dict.txt'.", + "description": "Google Cloud Storage URI of decoded labels file for model export 'dict.txt'.", "type": "string" }, "servingArtifact": { @@ -3592,11 +3597,11 @@ "description": "The default model binary file used for serving (e.g. online predict, batch predict) via public Cloud AI Platform API." }, "tfJsBinaryGcsPrefix": { - "description": "GCS uri prefix of Tensorflow JavaScript binary files 'groupX-shardXofX.bin' Deprecated.", + "description": "Google Cloud Storage URI prefix of Tensorflow JavaScript binary files 'groupX-shardXofX.bin'. Deprecated.", "type": "string" }, "tfLiteMetadataGcsUri": { - "description": "GCS uri of Tensorflow Lite metadata 'tflite_metadata.json'.", + "description": "Google Cloud Storage URI of Tensorflow Lite metadata 'tflite_metadata.json'.", "type": "string" } }, @@ -3641,6 +3646,7 @@ "NVIDIA_L4", "NVIDIA_H100_80GB", "NVIDIA_H100_MEGA_80GB", + "NVIDIA_H200_141GB", "TPU_V2", "TPU_V3", "TPU_V4_POD", @@ -3658,6 +3664,7 @@ "Nvidia L4 GPU.", "Nvidia H100 80Gb GPU.", "Nvidia H100 80Gb GPU.", + "Nvidia H200 141Gb GPU.", "TPU v2 (JellyFish).", "TPU v3 (DragonFish).", "TPU_v4 (PufferFish).", @@ -3688,7 +3695,7 @@ "", "The default partition.", "It has significantly lower replication than partition-0 and is located in the US only. It also has a larger model size limit and higher default RAM quota than partition-0. Customers with batch traffic, US-based traffic, or very large models should use this partition. Capacity in this partition is significantly cheaper than partition-0.", - "To be used by customers with Jellyfish-accelerated ops. See go/servomatic-jellyfish for details.", + "To be used by customers with Jellyfish-accelerated ops.", "The partition used by regionalized servomatic cloud regions.", "The partition used for loading models from custom storage." ], @@ -3948,14 +3955,13 @@ "type": "string" }, "gcsUri": { - "description": "The Google Cloud Storage (GCS) uri that stores the model binary files.", + "description": "The Google Cloud Storage URI that stores the model binary files.", "type": "string" } }, "type": "object" }, "XPSPreprocessResponse": { - "description": "Next ID: 8", "id": "XPSPreprocessResponse", "properties": { "outputExampleSet": { @@ -4129,7 +4135,7 @@ }, "XPSResponseExplanationSpec": { "deprecated": true, - "description": "Specification of Model explanation. Feature-based XAI in AutoML Vision ICN is deprecated, see b/288407203 for context.", + "description": "Specification of Model explanation. Feature-based XAI in AutoML Vision ICN is deprecated.", "id": "XPSResponseExplanationSpec", "properties": { "explanationType": { @@ -4585,7 +4591,7 @@ "type": "object" }, "XPSTablesDatasetMetadata": { - "description": "Metadata for a dataset used for AutoML Tables. Next ID: 6", + "description": "Metadata for a dataset used for AutoML Tables.", "id": "XPSTablesDatasetMetadata", "properties": { "mlUseColumnId": { @@ -4829,7 +4835,7 @@ "type": "object" }, "XPSTextComponentModel": { - "description": "Component model. Next ID: 10", + "description": "Component model.", "id": "XPSTextComponentModel", "properties": { "batchPredictionModelGcsUri": { @@ -4854,7 +4860,7 @@ "", "The default partition.", "It has significantly lower replication than partition-0 and is located in the US only. It also has a larger model size limit and higher default RAM quota than partition-0. Customers with batch traffic, US-based traffic, or very large models should use this partition. Capacity in this partition is significantly cheaper than partition-0.", - "To be used by customers with Jellyfish-accelerated ops. See go/servomatic-jellyfish for details.", + "To be used by customers with Jellyfish-accelerated ops.", "The partition used by regionalized servomatic cloud regions.", "The partition used for loading models from custom storage." ], @@ -4899,7 +4905,7 @@ "", "Model type for entity extraction.", "Model type for relationship extraction.", - "A composite model represents a set of component models that have to be used together for prediction. A composite model appears to be a single model to the model user. It may contain only one component model. Please refer to go/cnl-composite-models for more information.", + "A composite model represents a set of component models that have to be used together for prediction. A composite model appears to be a single model to the model user. It may contain only one component model.", "Model type used to train default, MA, and ATC models in a single batch worker pipeline.", "BERT pipeline needs a specific model type, since it uses a different TFX configuration compared with DEFAULT (despite sharing most of the code).", "Model type for EncPaLM." @@ -5134,7 +5140,6 @@ "type": "object" }, "XPSTrainResponse": { - "description": "Next ID: 18", "id": "XPSTrainResponse", "properties": { "deployedModelSizeBytes": { @@ -5411,7 +5416,7 @@ "id": "XPSVideoExportModelSpec", "properties": { "exportModelOutputConfig": { - "description": "Contains the model format and internal location of the model files to be exported/downloaded. Use the GCS bucket name which is provided via TrainRequest.gcs_bucket_name to store the model files.", + "description": "Contains the model format and internal location of the model files to be exported/downloaded. Use the Google Cloud Storage bucket name which is provided via TrainRequest.gcs_bucket_name to store the model files.", "items": { "$ref": "XPSExportModelOutputConfig" }, diff --git a/discovery/language-v1beta2.json b/discovery/language-v1beta2.json index 9c4ca533dc..01812cee23 100644 --- a/discovery/language-v1beta2.json +++ b/discovery/language-v1beta2.json @@ -246,7 +246,7 @@ } } }, - "revision": "20240929", + "revision": "20250105", "rootUrl": "https://language.googleapis.com/", "schemas": { "AnalyzeEntitiesRequest": { @@ -472,7 +472,7 @@ "type": "object" }, "AnnotateTextRequestFeatures": { - "description": "All available features for sentiment, syntax, and semantic analysis. Setting each one to true will enable that specific analysis for the input. Next ID: 12", + "description": "All available features for sentiment, syntax, and semantic analysis. Setting each one to true will enable that specific analysis for the input.", "id": "AnnotateTextRequestFeatures", "properties": { "classificationModelOptions": { @@ -761,6 +761,7 @@ "A3_HIGHGPU_4G", "A3_HIGHGPU_8G", "A3_MEGAGPU_8G", + "A3_ULTRAGPU_8G", "E2_STANDARD_2", "E2_STANDARD_4", "E2_STANDARD_8", @@ -1050,6 +1051,7 @@ "", "", "", + "", "" ], "type": "string" @@ -1504,6 +1506,7 @@ "A3_HIGHGPU_4G", "A3_HIGHGPU_8G", "A3_MEGAGPU_8G", + "A3_ULTRAGPU_8G", "E2_STANDARD_2", "E2_STANDARD_4", "E2_STANDARD_8", @@ -1793,6 +1796,7 @@ "", "", "", + "", "" ], "type": "string" @@ -1808,7 +1812,7 @@ "type": "object" }, "InfraUsage": { - "description": "Infra Usage of billing metrics. Next ID: 6", + "description": "Infra Usage of billing metrics.", "id": "InfraUsage", "properties": { "cpuMetrics": { @@ -2188,6 +2192,7 @@ "A3_HIGHGPU_4G", "A3_HIGHGPU_8G", "A3_MEGAGPU_8G", + "A3_ULTRAGPU_8G", "E2_STANDARD_2", "E2_STANDARD_4", "E2_STANDARD_8", @@ -2477,6 +2482,7 @@ "", "", "", + "", "" ], "type": "string" @@ -2550,11 +2556,11 @@ "type": "object" }, "Sentiment": { - "description": "Represents the feeling associated with the entire text or entities in the text. Next ID: 6", + "description": "Represents the feeling associated with the entire text or entities in the text.", "id": "Sentiment", "properties": { "magnitude": { - "description": "A non-negative number in the [0, +inf) range, which represents the absolute magnitude of sentiment regardless of score (positive or negative).", + "description": "A non-negative number in the [0, +inf] range, which represents the absolute magnitude of sentiment regardless of score (positive or negative).", "format": "float", "type": "number" }, @@ -2907,7 +2913,6 @@ "type": "object" }, "XPSColumnSpecForecastingMetadata": { - "description": "=========================================================================== # The fields below are used exclusively for Forecasting.", "id": "XPSColumnSpecForecastingMetadata", "properties": { "columnType": { @@ -3400,11 +3405,11 @@ "type": "boolean" }, "outputGcrUri": { - "description": "The Google Contained Registry (GCR) path the exported files to be pushed to. This location is set if the exported format is DOCKDER.", + "description": "The Google Contained Registry path the exported files to be pushed to. This location is set if the exported format is DOCKDER.", "type": "string" }, "outputGcsUri": { - "description": "The Google Cloud Storage (GCS) directory where XPS will output the exported models and related files. Format: gs://bucket/directory", + "description": "The Google Cloud Storage directory where XPS will output the exported models and related files. Format: gs://bucket/directory", "type": "string" }, "tfJsFormat": { @@ -3420,7 +3425,7 @@ "type": "object" }, "XPSFileSpec": { - "description": "Spec of input and output files, on external file systems (CNS, GCS, etc).", + "description": "Spec of input and output files, on external file systems (for example, Colossus Namespace System or Google Cloud Storage).", "id": "XPSFileSpec", "properties": { "directoryPath": { @@ -3448,7 +3453,7 @@ "enumDescriptions": [ "", "", - "Internal format for parallel text data used by Google Translate. go/rkvtools", + "Internal format for parallel text data used by Google Translate.", "", "Only the lexicographically first file described by the file_spec contains the header line.", "" @@ -3577,7 +3582,7 @@ "id": "XPSImageExportModelSpec", "properties": { "exportModelOutputConfig": { - "description": "Contains the model format and internal location of the model files to be exported/downloaded. Use the GCS bucket name which is provided via TrainRequest.gcs_bucket_name to store the model files.", + "description": "Contains the model format and internal location of the model files to be exported/downloaded. Use the Google Cloud Storage bucket name which is provided via TrainRequest.gcs_bucket_name to store the model files.", "items": { "$ref": "XPSExportModelOutputConfig" }, @@ -3602,7 +3607,7 @@ "type": "array" }, "labelGcsUri": { - "description": "GCS uri of decoded labels file for model export 'dict.txt'.", + "description": "Google Cloud Storage URI of decoded labels file for model export 'dict.txt'.", "type": "string" }, "servingArtifact": { @@ -3610,11 +3615,11 @@ "description": "The default model binary file used for serving (e.g. online predict, batch predict) via public Cloud AI Platform API." }, "tfJsBinaryGcsPrefix": { - "description": "GCS uri prefix of Tensorflow JavaScript binary files 'groupX-shardXofX.bin' Deprecated.", + "description": "Google Cloud Storage URI prefix of Tensorflow JavaScript binary files 'groupX-shardXofX.bin'. Deprecated.", "type": "string" }, "tfLiteMetadataGcsUri": { - "description": "GCS uri of Tensorflow Lite metadata 'tflite_metadata.json'.", + "description": "Google Cloud Storage URI of Tensorflow Lite metadata 'tflite_metadata.json'.", "type": "string" } }, @@ -3659,6 +3664,7 @@ "NVIDIA_L4", "NVIDIA_H100_80GB", "NVIDIA_H100_MEGA_80GB", + "NVIDIA_H200_141GB", "TPU_V2", "TPU_V3", "TPU_V4_POD", @@ -3676,6 +3682,7 @@ "Nvidia L4 GPU.", "Nvidia H100 80Gb GPU.", "Nvidia H100 80Gb GPU.", + "Nvidia H200 141Gb GPU.", "TPU v2 (JellyFish).", "TPU v3 (DragonFish).", "TPU_v4 (PufferFish).", @@ -3706,7 +3713,7 @@ "", "The default partition.", "It has significantly lower replication than partition-0 and is located in the US only. It also has a larger model size limit and higher default RAM quota than partition-0. Customers with batch traffic, US-based traffic, or very large models should use this partition. Capacity in this partition is significantly cheaper than partition-0.", - "To be used by customers with Jellyfish-accelerated ops. See go/servomatic-jellyfish for details.", + "To be used by customers with Jellyfish-accelerated ops.", "The partition used by regionalized servomatic cloud regions.", "The partition used for loading models from custom storage." ], @@ -3966,14 +3973,13 @@ "type": "string" }, "gcsUri": { - "description": "The Google Cloud Storage (GCS) uri that stores the model binary files.", + "description": "The Google Cloud Storage URI that stores the model binary files.", "type": "string" } }, "type": "object" }, "XPSPreprocessResponse": { - "description": "Next ID: 8", "id": "XPSPreprocessResponse", "properties": { "outputExampleSet": { @@ -4147,7 +4153,7 @@ }, "XPSResponseExplanationSpec": { "deprecated": true, - "description": "Specification of Model explanation. Feature-based XAI in AutoML Vision ICN is deprecated, see b/288407203 for context.", + "description": "Specification of Model explanation. Feature-based XAI in AutoML Vision ICN is deprecated.", "id": "XPSResponseExplanationSpec", "properties": { "explanationType": { @@ -4603,7 +4609,7 @@ "type": "object" }, "XPSTablesDatasetMetadata": { - "description": "Metadata for a dataset used for AutoML Tables. Next ID: 6", + "description": "Metadata for a dataset used for AutoML Tables.", "id": "XPSTablesDatasetMetadata", "properties": { "mlUseColumnId": { @@ -4847,7 +4853,7 @@ "type": "object" }, "XPSTextComponentModel": { - "description": "Component model. Next ID: 10", + "description": "Component model.", "id": "XPSTextComponentModel", "properties": { "batchPredictionModelGcsUri": { @@ -4872,7 +4878,7 @@ "", "The default partition.", "It has significantly lower replication than partition-0 and is located in the US only. It also has a larger model size limit and higher default RAM quota than partition-0. Customers with batch traffic, US-based traffic, or very large models should use this partition. Capacity in this partition is significantly cheaper than partition-0.", - "To be used by customers with Jellyfish-accelerated ops. See go/servomatic-jellyfish for details.", + "To be used by customers with Jellyfish-accelerated ops.", "The partition used by regionalized servomatic cloud regions.", "The partition used for loading models from custom storage." ], @@ -4917,7 +4923,7 @@ "", "Model type for entity extraction.", "Model type for relationship extraction.", - "A composite model represents a set of component models that have to be used together for prediction. A composite model appears to be a single model to the model user. It may contain only one component model. Please refer to go/cnl-composite-models for more information.", + "A composite model represents a set of component models that have to be used together for prediction. A composite model appears to be a single model to the model user. It may contain only one component model.", "Model type used to train default, MA, and ATC models in a single batch worker pipeline.", "BERT pipeline needs a specific model type, since it uses a different TFX configuration compared with DEFAULT (despite sharing most of the code).", "Model type for EncPaLM." @@ -5152,7 +5158,6 @@ "type": "object" }, "XPSTrainResponse": { - "description": "Next ID: 18", "id": "XPSTrainResponse", "properties": { "deployedModelSizeBytes": { @@ -5429,7 +5434,7 @@ "id": "XPSVideoExportModelSpec", "properties": { "exportModelOutputConfig": { - "description": "Contains the model format and internal location of the model files to be exported/downloaded. Use the GCS bucket name which is provided via TrainRequest.gcs_bucket_name to store the model files.", + "description": "Contains the model format and internal location of the model files to be exported/downloaded. Use the Google Cloud Storage bucket name which is provided via TrainRequest.gcs_bucket_name to store the model files.", "items": { "$ref": "XPSExportModelOutputConfig" }, diff --git a/discovery/language-v2.json b/discovery/language-v2.json index 8cf36eb865..e70969ae70 100644 --- a/discovery/language-v2.json +++ b/discovery/language-v2.json @@ -208,7 +208,7 @@ } } }, - "revision": "20240929", + "revision": "20250105", "rootUrl": "https://language.googleapis.com/", "schemas": { "AnalyzeEntitiesRequest": { @@ -250,7 +250,7 @@ "type": "array" }, "languageCode": { - "description": "The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language field for more details.", + "description": "The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language_code field for more details.", "type": "string" }, "languageSupported": { @@ -296,7 +296,7 @@ "description": "The overall sentiment of the input document." }, "languageCode": { - "description": "The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language field for more details.", + "description": "The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language_code field for more details.", "type": "string" }, "languageSupported": { @@ -383,14 +383,14 @@ "description": "The overall sentiment for the document. Populated if the user enables AnnotateTextRequest.Features.extract_document_sentiment." }, "entities": { - "description": "Entities, along with their semantic information, in the input document. Populated if the user enables AnnotateTextRequest.Features.extract_entities or AnnotateTextRequest.Features.extract_entity_sentiment.", + "description": "Entities, along with their semantic information, in the input document. Populated if the user enables AnnotateTextRequest.Features.extract_entities .", "items": { "$ref": "Entity" }, "type": "array" }, "languageCode": { - "description": "The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language field for more details.", + "description": "The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language_code field for more details.", "type": "string" }, "languageSupported": { @@ -458,7 +458,7 @@ "type": "array" }, "languageCode": { - "description": "The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language field for more details.", + "description": "The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language_code field for more details.", "type": "string" }, "languageSupported": { @@ -586,6 +586,7 @@ "A3_HIGHGPU_4G", "A3_HIGHGPU_8G", "A3_MEGAGPU_8G", + "A3_ULTRAGPU_8G", "E2_STANDARD_2", "E2_STANDARD_4", "E2_STANDARD_8", @@ -875,6 +876,7 @@ "", "", "", + "", "" ], "type": "string" @@ -977,7 +979,7 @@ }, "sentiment": { "$ref": "Sentiment", - "description": "For calls to AnalyzeEntitySentiment or if AnnotateTextRequest.Features.extract_entity_sentiment is set to true, this field will contain the aggregate sentiment expressed for this entity in the provided document." + "description": "For calls to AnalyzeEntitySentiment this field will contain the aggregate sentiment expressed for this entity in the provided document." }, "type": { "description": "The entity type.", @@ -1027,7 +1029,7 @@ }, "sentiment": { "$ref": "Sentiment", - "description": "For calls to AnalyzeEntitySentiment or if AnnotateTextRequest.Features.extract_entity_sentiment is set to true, this field will contain the sentiment expressed for this mention of the entity in the provided document." + "description": "For calls to AnalyzeEntitySentiment this field will contain the sentiment expressed for this mention of the entity in the provided document." }, "text": { "$ref": "TextSpan", @@ -1125,6 +1127,7 @@ "A3_HIGHGPU_4G", "A3_HIGHGPU_8G", "A3_MEGAGPU_8G", + "A3_ULTRAGPU_8G", "E2_STANDARD_2", "E2_STANDARD_4", "E2_STANDARD_8", @@ -1414,6 +1417,7 @@ "", "", "", + "", "" ], "type": "string" @@ -1429,7 +1433,7 @@ "type": "object" }, "InfraUsage": { - "description": "Infra Usage of billing metrics. Next ID: 6", + "description": "Infra Usage of billing metrics.", "id": "InfraUsage", "properties": { "cpuMetrics": { @@ -1500,7 +1504,7 @@ "id": "ModerateTextResponse", "properties": { "languageCode": { - "description": "The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language field for more details.", + "description": "The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language_code field for more details.", "type": "string" }, "languageSupported": { @@ -1564,6 +1568,7 @@ "A3_HIGHGPU_4G", "A3_HIGHGPU_8G", "A3_MEGAGPU_8G", + "A3_ULTRAGPU_8G", "E2_STANDARD_2", "E2_STANDARD_4", "E2_STANDARD_8", @@ -1853,6 +1858,7 @@ "", "", "", + "", "" ], "type": "string" @@ -1930,7 +1936,7 @@ "id": "Sentiment", "properties": { "magnitude": { - "description": "A non-negative number in the [0, +inf) range, which represents the absolute magnitude of sentiment regardless of score (positive or negative).", + "description": "A non-negative number in the [0, +inf] range, which represents the absolute magnitude of sentiment regardless of score (positive or negative).", "format": "float", "type": "number" }, @@ -2260,7 +2266,6 @@ "type": "object" }, "XPSColumnSpecForecastingMetadata": { - "description": "=========================================================================== # The fields below are used exclusively for Forecasting.", "id": "XPSColumnSpecForecastingMetadata", "properties": { "columnType": { @@ -2753,11 +2758,11 @@ "type": "boolean" }, "outputGcrUri": { - "description": "The Google Contained Registry (GCR) path the exported files to be pushed to. This location is set if the exported format is DOCKDER.", + "description": "The Google Contained Registry path the exported files to be pushed to. This location is set if the exported format is DOCKDER.", "type": "string" }, "outputGcsUri": { - "description": "The Google Cloud Storage (GCS) directory where XPS will output the exported models and related files. Format: gs://bucket/directory", + "description": "The Google Cloud Storage directory where XPS will output the exported models and related files. Format: gs://bucket/directory", "type": "string" }, "tfJsFormat": { @@ -2773,7 +2778,7 @@ "type": "object" }, "XPSFileSpec": { - "description": "Spec of input and output files, on external file systems (CNS, GCS, etc).", + "description": "Spec of input and output files, on external file systems (for example, Colossus Namespace System or Google Cloud Storage).", "id": "XPSFileSpec", "properties": { "directoryPath": { @@ -2801,7 +2806,7 @@ "enumDescriptions": [ "", "", - "Internal format for parallel text data used by Google Translate. go/rkvtools", + "Internal format for parallel text data used by Google Translate.", "", "Only the lexicographically first file described by the file_spec contains the header line.", "" @@ -2930,7 +2935,7 @@ "id": "XPSImageExportModelSpec", "properties": { "exportModelOutputConfig": { - "description": "Contains the model format and internal location of the model files to be exported/downloaded. Use the GCS bucket name which is provided via TrainRequest.gcs_bucket_name to store the model files.", + "description": "Contains the model format and internal location of the model files to be exported/downloaded. Use the Google Cloud Storage bucket name which is provided via TrainRequest.gcs_bucket_name to store the model files.", "items": { "$ref": "XPSExportModelOutputConfig" }, @@ -2955,7 +2960,7 @@ "type": "array" }, "labelGcsUri": { - "description": "GCS uri of decoded labels file for model export 'dict.txt'.", + "description": "Google Cloud Storage URI of decoded labels file for model export 'dict.txt'.", "type": "string" }, "servingArtifact": { @@ -2963,11 +2968,11 @@ "description": "The default model binary file used for serving (e.g. online predict, batch predict) via public Cloud AI Platform API." }, "tfJsBinaryGcsPrefix": { - "description": "GCS uri prefix of Tensorflow JavaScript binary files 'groupX-shardXofX.bin' Deprecated.", + "description": "Google Cloud Storage URI prefix of Tensorflow JavaScript binary files 'groupX-shardXofX.bin'. Deprecated.", "type": "string" }, "tfLiteMetadataGcsUri": { - "description": "GCS uri of Tensorflow Lite metadata 'tflite_metadata.json'.", + "description": "Google Cloud Storage URI of Tensorflow Lite metadata 'tflite_metadata.json'.", "type": "string" } }, @@ -3012,6 +3017,7 @@ "NVIDIA_L4", "NVIDIA_H100_80GB", "NVIDIA_H100_MEGA_80GB", + "NVIDIA_H200_141GB", "TPU_V2", "TPU_V3", "TPU_V4_POD", @@ -3029,6 +3035,7 @@ "Nvidia L4 GPU.", "Nvidia H100 80Gb GPU.", "Nvidia H100 80Gb GPU.", + "Nvidia H200 141Gb GPU.", "TPU v2 (JellyFish).", "TPU v3 (DragonFish).", "TPU_v4 (PufferFish).", @@ -3059,7 +3066,7 @@ "", "The default partition.", "It has significantly lower replication than partition-0 and is located in the US only. It also has a larger model size limit and higher default RAM quota than partition-0. Customers with batch traffic, US-based traffic, or very large models should use this partition. Capacity in this partition is significantly cheaper than partition-0.", - "To be used by customers with Jellyfish-accelerated ops. See go/servomatic-jellyfish for details.", + "To be used by customers with Jellyfish-accelerated ops.", "The partition used by regionalized servomatic cloud regions.", "The partition used for loading models from custom storage." ], @@ -3319,14 +3326,13 @@ "type": "string" }, "gcsUri": { - "description": "The Google Cloud Storage (GCS) uri that stores the model binary files.", + "description": "The Google Cloud Storage URI that stores the model binary files.", "type": "string" } }, "type": "object" }, "XPSPreprocessResponse": { - "description": "Next ID: 8", "id": "XPSPreprocessResponse", "properties": { "outputExampleSet": { @@ -3500,7 +3506,7 @@ }, "XPSResponseExplanationSpec": { "deprecated": true, - "description": "Specification of Model explanation. Feature-based XAI in AutoML Vision ICN is deprecated, see b/288407203 for context.", + "description": "Specification of Model explanation. Feature-based XAI in AutoML Vision ICN is deprecated.", "id": "XPSResponseExplanationSpec", "properties": { "explanationType": { @@ -3956,7 +3962,7 @@ "type": "object" }, "XPSTablesDatasetMetadata": { - "description": "Metadata for a dataset used for AutoML Tables. Next ID: 6", + "description": "Metadata for a dataset used for AutoML Tables.", "id": "XPSTablesDatasetMetadata", "properties": { "mlUseColumnId": { @@ -4200,7 +4206,7 @@ "type": "object" }, "XPSTextComponentModel": { - "description": "Component model. Next ID: 10", + "description": "Component model.", "id": "XPSTextComponentModel", "properties": { "batchPredictionModelGcsUri": { @@ -4225,7 +4231,7 @@ "", "The default partition.", "It has significantly lower replication than partition-0 and is located in the US only. It also has a larger model size limit and higher default RAM quota than partition-0. Customers with batch traffic, US-based traffic, or very large models should use this partition. Capacity in this partition is significantly cheaper than partition-0.", - "To be used by customers with Jellyfish-accelerated ops. See go/servomatic-jellyfish for details.", + "To be used by customers with Jellyfish-accelerated ops.", "The partition used by regionalized servomatic cloud regions.", "The partition used for loading models from custom storage." ], @@ -4270,7 +4276,7 @@ "", "Model type for entity extraction.", "Model type for relationship extraction.", - "A composite model represents a set of component models that have to be used together for prediction. A composite model appears to be a single model to the model user. It may contain only one component model. Please refer to go/cnl-composite-models for more information.", + "A composite model represents a set of component models that have to be used together for prediction. A composite model appears to be a single model to the model user. It may contain only one component model.", "Model type used to train default, MA, and ATC models in a single batch worker pipeline.", "BERT pipeline needs a specific model type, since it uses a different TFX configuration compared with DEFAULT (despite sharing most of the code).", "Model type for EncPaLM." @@ -4505,7 +4511,6 @@ "type": "object" }, "XPSTrainResponse": { - "description": "Next ID: 18", "id": "XPSTrainResponse", "properties": { "deployedModelSizeBytes": { @@ -4782,7 +4787,7 @@ "id": "XPSVideoExportModelSpec", "properties": { "exportModelOutputConfig": { - "description": "Contains the model format and internal location of the model files to be exported/downloaded. Use the GCS bucket name which is provided via TrainRequest.gcs_bucket_name to store the model files.", + "description": "Contains the model format and internal location of the model files to be exported/downloaded. Use the Google Cloud Storage bucket name which is provided via TrainRequest.gcs_bucket_name to store the model files.", "items": { "$ref": "XPSExportModelOutputConfig" }, diff --git a/discovery/localservices-v1.json b/discovery/localservices-v1.json index e0d7bd4fac..30c735111e 100644 --- a/discovery/localservices-v1.json +++ b/discovery/localservices-v1.json @@ -250,7 +250,7 @@ } } }, - "revision": "20240221", + "revision": "20241202", "rootUrl": "https://localservices.googleapis.com/", "schemas": { "GoogleAdsHomeservicesLocalservicesV1AccountReport": { @@ -568,11 +568,11 @@ "id": "GoogleTypeTimeZone", "properties": { "id": { - "description": "IANA Time Zone Database time zone, e.g. \"America/New_York\".", + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", "type": "string" }, "version": { - "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", "type": "string" } }, diff --git a/discovery/logging-v2.json b/discovery/logging-v2.json index 948b584324..40a09a77e0 100644 --- a/discovery/logging-v2.json +++ b/discovery/logging-v2.json @@ -3166,7 +3166,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name of the log scope.For example:projects/my-project/locations/global/logScopes/my-log-scope", + "description": "Output only. The resource name of the log scope.Log scopes are only available in the global location. For example:projects/my-project/locations/global/logScopes/my-log-scope", "location": "path", "pattern": "^folders/[^/]+/locations/[^/]+/logScopes/[^/]+$", "required": true, @@ -5984,7 +5984,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name of the log scope.For example:projects/my-project/locations/global/logScopes/my-log-scope", + "description": "Output only. The resource name of the log scope.Log scopes are only available in the global location. For example:projects/my-project/locations/global/logScopes/my-log-scope", "location": "path", "pattern": "^organizations/[^/]+/locations/[^/]+/logScopes/[^/]+$", "required": true, @@ -7786,7 +7786,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name of the log scope.For example:projects/my-project/locations/global/logScopes/my-log-scope", + "description": "Output only. The resource name of the log scope.Log scopes are only available in the global location. For example:projects/my-project/locations/global/logScopes/my-log-scope", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/logScopes/[^/]+$", "required": true, @@ -8922,7 +8922,7 @@ } } }, - "revision": "20240913", + "revision": "20241018", "rootUrl": "https://logging.googleapis.com/", "schemas": { "AuditConfig": { @@ -10430,12 +10430,12 @@ "type": "string" }, "name": { - "description": "Output only. The resource name of the log scope.For example:projects/my-project/locations/global/logScopes/my-log-scope", + "description": "Output only. The resource name of the log scope.Log scopes are only available in the global location. For example:projects/my-project/locations/global/logScopes/my-log-scope", "readOnly": true, "type": "string" }, "resourceNames": { - "description": "Required. Names of one or more parent resources: projects/[PROJECT_ID]May alternatively be one or more views: projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]A log scope can include a maximum of 50 projects and a maximum of 100 resources in total.", + "description": "Required. Names of one or more parent resources: projects/[PROJECT_ID]May alternatively be one or more views: projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]A log scope can include a maximum of 5 projects and a maximum of 100 resources in total.", "items": { "type": "string" }, diff --git a/discovery/looker-v1.json b/discovery/looker-v1.json index d961b6e101..f962b4dced 100644 --- a/discovery/looker-v1.json +++ b/discovery/looker-v1.json @@ -606,7 +606,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "looker.projects.locations.operations.cancel", @@ -731,7 +731,7 @@ } } }, - "revision": "20240910", + "revision": "20241204", "rootUrl": "https://looker.googleapis.com/", "schemas": { "AdminSettings": { @@ -1155,7 +1155,10 @@ "LOOKER_CORE_STANDARD", "LOOKER_CORE_STANDARD_ANNUAL", "LOOKER_CORE_ENTERPRISE_ANNUAL", - "LOOKER_CORE_EMBED_ANNUAL" + "LOOKER_CORE_EMBED_ANNUAL", + "LOOKER_CORE_NONPROD_STANDARD_ANNUAL", + "LOOKER_CORE_NONPROD_ENTERPRISE_ANNUAL", + "LOOKER_CORE_NONPROD_EMBED_ANNUAL" ], "enumDescriptions": [ "Platform edition is unspecified.", @@ -1163,7 +1166,10 @@ "Standard.", "Subscription Standard.", "Subscription Enterprise.", - "Subscription Embed." + "Subscription Embed.", + "Nonprod Subscription Standard.", + "Nonprod Subscription Enterprise.", + "Nonprod Subscription Embed." ], "type": "string" }, @@ -1222,7 +1228,7 @@ }, "userMetadata": { "$ref": "UserMetadata", - "description": "User metadata." + "description": "Optional. User metadata." } }, "type": "object" @@ -1636,22 +1642,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } diff --git a/discovery/memcache-v1.json b/discovery/memcache-v1.json index c9e6a241e0..d48d38c829 100644 --- a/discovery/memcache-v1.json +++ b/discovery/memcache-v1.json @@ -584,7 +584,7 @@ } } }, - "revision": "20240919", + "revision": "20241010", "rootUrl": "https://memcache.googleapis.com/", "schemas": { "ApplyParametersRequest": { @@ -2095,22 +2095,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } diff --git a/discovery/memcache-v1beta2.json b/discovery/memcache-v1beta2.json index b79d6866b7..4ad1be83eb 100644 --- a/discovery/memcache-v1beta2.json +++ b/discovery/memcache-v1beta2.json @@ -612,7 +612,7 @@ } } }, - "revision": "20240919", + "revision": "20241010", "rootUrl": "https://memcache.googleapis.com/", "schemas": { "ApplyParametersRequest": { @@ -2151,22 +2151,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } diff --git a/discovery/merchantapi-accounts_v1beta.json b/discovery/merchantapi-accounts_v1beta.json index d4281fb91c..51cf40caa0 100644 --- a/discovery/merchantapi-accounts_v1beta.json +++ b/discovery/merchantapi-accounts_v1beta.json @@ -233,7 +233,7 @@ "type": "string" }, "provider": { - "description": "Required. The parent account. Format: `accounts/{account}`", + "description": "Required. The aggregation service provider. Format: `providers/{providerId}`", "location": "path", "pattern": "^accounts/[^/]+$", "required": true, @@ -265,7 +265,7 @@ "type": "string" }, "updateMask": { - "description": "Required. List of fields being updated.", + "description": "Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `account_name` - `adult_content` - `language_code` - `time_zone`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -391,7 +391,7 @@ "type": "string" }, "updateMask": { - "description": "Required. List of fields being updated.", + "description": "Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `black_owned` - `latino_owned` - `promotions_consent` - `small_business` - `veteran_owned` - `women_owned`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -454,7 +454,7 @@ "type": "string" }, "updateMask": { - "description": "Required. List of fields being updated.", + "description": "Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `address` - `customer_service` - `korean_business_registration_number`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -476,7 +476,7 @@ "emailPreferences": { "methods": { "getEmailPreferences": { - "description": "Returns the email preferences for a Merchant Center account user. Use the name=accounts/*/users/me/emailPreferences alias to get preferences for the authenticated user.", + "description": "Returns the email preferences for a Merchant Center account user. This service only permits retrieving and updating email preferences for the authenticated user. Use the name=accounts/*/users/me/emailPreferences alias to get preferences for the authenticated user.", "flatPath": "accounts/v1beta/accounts/{accountsId}/users/{usersId}/emailPreferences", "httpMethod": "GET", "id": "merchantapi.accounts.emailPreferences.getEmailPreferences", @@ -517,7 +517,7 @@ "type": "string" }, "updateMask": { - "description": "Required. List of fields being updated.", + "description": "Required. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `news_and_tips`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -636,7 +636,7 @@ "type": "string" }, "updateMask": { - "description": "Required. List of fields being updated.", + "description": "Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `uri`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -708,7 +708,7 @@ "onlineReturnPolicies": { "methods": { "get": { - "description": "Gets an existing return policy.", + "description": "Gets an existing return policy for a given merchant.", "flatPath": "accounts/v1beta/accounts/{accountsId}/onlineReturnPolicies/{onlineReturnPoliciesId}", "httpMethod": "GET", "id": "merchantapi.accounts.onlineReturnPolicies.get", @@ -733,7 +733,7 @@ ] }, "list": { - "description": "Lists all existing return policies.", + "description": "Lists all existing return policies for a given merchant.", "flatPath": "accounts/v1beta/accounts/{accountsId}/onlineReturnPolicies", "httpMethod": "GET", "id": "merchantapi.accounts.onlineReturnPolicies.list", @@ -1195,7 +1195,7 @@ ] }, "delete": { - "description": "Deletes a Merchant Center account user. Executing this method requires admin access.", + "description": "Deletes a Merchant Center account user. Executing this method requires admin access. The user to be deleted can't be the last admin user of that account. Also a user is protected from deletion if it is managed by Business Manager\"", "flatPath": "accounts/v1beta/accounts/{accountsId}/users/{usersId}", "httpMethod": "DELETE", "id": "merchantapi.accounts.users.delete", @@ -1297,7 +1297,7 @@ "type": "string" }, "updateMask": { - "description": "Required. List of fields being updated.", + "description": "Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `access_rights`", "format": "google-fieldmask", "location": "query", "type": "string" @@ -1417,7 +1417,7 @@ } } }, - "revision": "20241004", + "revision": "20241210", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Accepted": { @@ -1440,7 +1440,7 @@ "type": "object" }, "Account": { - "description": "An account.", + "description": "The `Account` message represents a merchant's account within Shopping Ads. It's the primary entity for managing product data, settings, and interactions with Google's services and external providers. Accounts can operate as standalone entities or be part of a multi-client account (MCA) structure. In an MCA setup the parent account manages multiple sub-accounts. Establishing an account involves configuring attributes like the account name, time zone, and language preferences. The `Account` message is the parent entity for many other resources, for example, `AccountRelationship`, `Homepage`, `BusinessInfo` and so on.", "id": "Account", "properties": { "accountId": { @@ -1538,7 +1538,7 @@ "description": "The provider is an [aggregator](https://support.google.com/merchants/answer/188487) for the account. Payload for service type Account Aggregation." }, "provider": { - "description": "Optional. The provider of the service. Format: `accounts/{account}`", + "description": "Required. The provider of the service. Either the reference to an account such as `providers/123` or a well-known service provider (one of `providers/GOOGLE_ADS` or `providers/GOOGLE_BUSINESS_PROFILE`).", "type": "string" } }, @@ -1642,7 +1642,7 @@ "type": "string" }, "promotionsConsent": { - "description": "Optional. Whether the identity attributes may be used for promotions.", + "description": "Required. Whether the identity attributes may be used for promotions.", "enum": [ "PROMOTIONS_CONSENT_UNSPECIFIED", "PROMOTIONS_CONSENT_GIVEN", @@ -1671,12 +1671,12 @@ "type": "object" }, "BusinessInfo": { - "description": "Collection of information related to a business.", + "description": "The `BusinessInfo` message contains essential information about a merchant's business. This message captures key business details such as physical address, customer service contacts, and region-specific identifiers.", "id": "BusinessInfo", "properties": { "address": { "$ref": "PostalAddress", - "description": "Optional. The address of the business." + "description": "Optional. The address of the business. Only `region_code`, `address_lines`, `postal_code`, `administrative_area` and `locality` fields are supported. All other fields are ignored." }, "customerService": { "$ref": "CustomerService", @@ -1714,7 +1714,7 @@ "type": "object" }, "CarrierRate": { - "description": "A list of carrier rates that can be referred to by `main_table` or `single_value`.", + "description": "A list of carrier rates that can be referred to by `main_table` or `single_value`. Supported carrier services are defined in https://support.google.com/merchants/answer/12577710?ref_topic=12570808&sjid=10662598224319463032-NC#zippy=%2Cdelivery-cost-rate-type%2Ccarrier-rate-au-de-uk-and-us-only.", "id": "CarrierRate", "properties": { "carrier": { @@ -1747,7 +1747,12 @@ "ClaimHomepageRequest": { "description": "Request message for the `ClaimHomepage` method.", "id": "ClaimHomepageRequest", - "properties": {}, + "properties": { + "overwrite": { + "description": "Optional. When set to `true`, this option removes any existing claim on the requested website and replaces it with a claim from the account that makes the request.", + "type": "boolean" + } + }, "type": "object" }, "CreateAndConfigureAccountRequest": { @@ -2055,7 +2060,7 @@ "type": "object" }, "Homepage": { - "description": "A store's homepage.", + "description": "The `Homepage` message represents a merchant's store homepage within the system. A merchant's homepage is the primary domain where customers interact with their store. The homepage can be claimed and verified as a proof of ownership and allows the merchant to unlock features that require a verified website. For more information, see [Understanding online store URL verification](//support.google.com/merchants/answer/176793).", "id": "Homepage", "properties": { "claimed": { @@ -2152,7 +2157,8 @@ "CLOUD_RETAIL", "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", - "MERCHANT_REVIEWS" + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" ], "enumDeprecated": [ false, @@ -2171,6 +2177,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -2190,7 +2197,8 @@ "[Cloud retail](https://cloud.google.com/solutions/retail).", "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", - "[Merchant Reviews](https://developers.google.com/merchant-review-feeds)." + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "[YouTube Checkout](" ], "type": "string" } @@ -2410,7 +2418,7 @@ "type": "boolean" }, "countries": { - "description": "The countries of sale where the return policy applies. The values must be a valid 2 letter ISO 3166 code.", + "description": "Required. Immutable. The countries of sale where the return policy applies. The values must be a valid 2 letter ISO 3166 code.", "items": { "type": "string" }, @@ -2434,7 +2442,7 @@ "type": "array" }, "label": { - "description": "This field represents the unique user-defined label of the return policy. It is important to note that the same label cannot be used in different return policies for the same country. Unless a product specifies a specific label attribute, policies will be automatically labeled as 'default'. To assign a custom return policy to certain product groups, follow the instructions provided in the [Return policy label] (https://support.google.com/merchants/answer/9445425). The label can contain up to 50 characters.", + "description": "Required. Immutable. This field represents the unique user-defined label of the return policy. It is important to note that the same label cannot be used in different return policies for the same country. Unless a product specifies a specific label attribute, policies will be automatically labeled as 'default'. To assign a custom return policy to certain product groups, follow the instructions provided in the [Return policy label] (https://support.google.com/merchants/answer/9445425). The label can contain up to 50 characters.", "type": "string" }, "name": { @@ -2479,7 +2487,7 @@ "type": "string" }, "returnPolicyUri": { - "description": "The return policy uri. This can used by Google to do a sanity check for the policy. It must be a valid URL.", + "description": "Required. The return policy uri. This can used by Google to do a sanity check for the policy. It must be a valid URL.", "type": "string" }, "returnShippingFee": { @@ -2494,7 +2502,7 @@ "id": "PhoneNumber", "properties": { "e164Number": { - "description": "The phone number, represented as a leading plus sign ('+'), followed by a phone number that uses a relaxed ITU E.164 format consisting of the country calling code (1 to 3 digits) and the subscriber number, with no additional spaces or formatting, e.g.: - correct: \"+15552220123\" - incorrect: \"+1 (555) 222-01234 x123\". The ITU E.164 format limits the latter to 12 digits, but in practice not all countries respect that, so we relax that restriction here. National-only numbers are not allowed. References: - https://www.itu.int/rec/T-REC-E.164-201011-I - https://en.wikipedia.org/wiki/E.164. - https://en.wikipedia.org/wiki/List_of_country_calling_codes", + "description": "The phone number, represented as a leading plus sign ('+'), followed by a phone number that uses a relaxed ITU E.164 format consisting of the country calling code (1 to 3 digits) and the subscriber number, with no additional spaces or formatting. For example: - correct: \"+15552220123\" - incorrect: \"+1 (555) 222-01234 x123\". The ITU E.164 format limits the latter to 12 digits, but in practice not all countries respect that, so we relax that restriction here. National-only numbers are not allowed. References: - https://www.itu.int/rec/T-REC-E.164-201011-I - https://en.wikipedia.org/wiki/E.164. - https://en.wikipedia.org/wiki/List_of_country_calling_codes", "type": "string" }, "extension": { @@ -2537,18 +2545,18 @@ "type": "object" }, "PostalAddress": { - "description": "Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478", + "description": "Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478", "id": "PostalAddress", "properties": { "addressLines": { - "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", + "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", "items": { "type": "string" }, "type": "array" }, "administrativeArea": { - "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.", + "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated.", "type": "string" }, "languageCode": { @@ -2564,7 +2572,7 @@ "type": "string" }, "postalCode": { - "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.).", + "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.).", "type": "string" }, "recipients": { @@ -2584,7 +2592,7 @@ "type": "integer" }, "sortingCode": { - "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (e.g. \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (e.g. Côte d'Ivoire).", + "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (For example \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (For example Côte d'Ivoire).", "type": "string" }, "sublocality": { @@ -2678,7 +2686,8 @@ "CLOUD_RETAIL", "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", - "MERCHANT_REVIEWS" + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" ], "enumDeprecated": [ false, @@ -2697,6 +2706,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -2716,7 +2726,8 @@ "[Cloud retail](https://cloud.google.com/solutions/retail).", "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", - "[Merchant Reviews](https://developers.google.com/merchant-review-feeds)." + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "[YouTube Checkout](" ], "type": "string" } @@ -2750,6 +2761,11 @@ }, "type": "array" }, + "expirationTime": { + "description": "The product expiration time. This field will not bet set if the notification is sent for a product deletion event.", + "format": "google-datetime", + "type": "string" + }, "managingAccount": { "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", "type": "string" @@ -2964,7 +2980,7 @@ "description": "Fixed return shipping fee amount. This value is only applicable when type is `FIXED`. We will treat the return shipping fee as free if type is `FIXED` and this value is not set." }, "type": { - "description": "Type of return shipping fee.", + "description": "Required. Type of return shipping fee.", "enum": [ "TYPE_UNSPECIFIED", "FIXED", @@ -3096,11 +3112,11 @@ "type": "object" }, "ShortCode": { - "description": "An object representing a short code, which is a phone number that is typically much shorter than regular phone numbers and can be used to address messages in MMS and SMS systems, as well as for abbreviated dialing (e.g. \"Text 611 to see how many minutes you have remaining on your plan.\"). Short codes are restricted to a region and are not internationally dialable, which means the same short code can exist in different regions, with different usage and pricing, even if those regions share the same country calling code (e.g. US and CA).", + "description": "An object representing a short code, which is a phone number that is typically much shorter than regular phone numbers and can be used to address messages in MMS and SMS systems, as well as for abbreviated dialing (For example \"Text 611 to see how many minutes you have remaining on your plan.\"). Short codes are restricted to a region and are not internationally dialable, which means the same short code can exist in different regions, with different usage and pricing, even if those regions share the same country calling code (For example: US and CA).", "id": "ShortCode", "properties": { "number": { - "description": "Required. The short code digits, without a leading plus ('+') or country calling code, e.g. \"611\".", + "description": "Required. The short code digits, without a leading plus ('+') or country calling code. For example \"611\".", "type": "string" }, "regionCode": { @@ -3191,7 +3207,7 @@ "type": "object" }, "TermsOfService": { - "description": "A `TermsOfService`.", + "description": "The `TermsOfService` message represents a specific version of the terms of service that merchants must accept to access certain features or services (see https://support.google.com/merchants/answer/160173). This message is important for the onboarding process, ensuring that merchants agree to the necessary legal agreements for using the service. Merchants can retrieve the latest terms of service for a given `kind` and `region` through `RetrieveLatestTermsOfService`, and accept them as required through `AcceptTermsOfService`.", "id": "TermsOfService", "properties": { "external": { @@ -3265,11 +3281,11 @@ "id": "TimeZone", "properties": { "id": { - "description": "IANA Time Zone Database time zone, e.g. \"America/New_York\".", + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", "type": "string" }, "version": { - "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", "type": "string" } }, @@ -3341,7 +3357,7 @@ "type": "object" }, "User": { - "description": "A [user](https://support.google.com/merchants/answer/12160472).", + "description": "The `User` message represents a user associated with a Merchant Center account. It is used to manage user permissions and access rights within the account. For more information, see [Frequently asked questions about people and access levels](//support.google.com/merchants/answer/12160472).", "id": "User", "properties": { "accessRights": { @@ -3413,7 +3429,7 @@ "type": "object" }, "Warehouse": { - "description": "A fulfillment warehouse, which stores and handles inventory. Next tag: 7", + "description": "A fulfillment warehouse, which stores and handles inventory.", "id": "Warehouse", "properties": { "businessDayConfig": { @@ -3445,7 +3461,7 @@ "id": "WarehouseBasedDeliveryTime", "properties": { "carrier": { - "description": "Required. Carrier, such as `\"UPS\"` or `\"Fedex\"`.", + "description": "Required. Carrier, such as `\"UPS\"` or `\"Fedex\"`. [supported carriers](https://support.google.com/merchants/answer/7050921#zippy=%2Ccarrier-rates-au-de-uk-and-us-only)", "type": "string" }, "carrierService": { diff --git a/discovery/merchantapi-conversions_v1beta.json b/discovery/merchantapi-conversions_v1beta.json index bec0d8dcd5..046207f6b6 100644 --- a/discovery/merchantapi-conversions_v1beta.json +++ b/discovery/merchantapi-conversions_v1beta.json @@ -245,7 +245,7 @@ "type": "string" }, "updateMask": { - "description": "Required. List of fields being updated.", + "description": "Optional. List of fields being updated.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -295,7 +295,7 @@ } } }, - "revision": "20241001", + "revision": "20241119", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "AttributionSettings": { @@ -521,7 +521,8 @@ "CLOUD_RETAIL", "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", - "MERCHANT_REVIEWS" + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" ], "enumDeprecated": [ false, @@ -540,6 +541,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -559,7 +561,8 @@ "[Cloud retail](https://cloud.google.com/solutions/retail).", "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", - "[Merchant Reviews](https://developers.google.com/merchant-review-feeds)." + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "[YouTube Checkout](" ], "type": "string" } @@ -593,6 +596,11 @@ }, "type": "array" }, + "expirationTime": { + "description": "The product expiration time. This field will not bet set if the notification is sent for a product deletion event.", + "format": "google-datetime", + "type": "string" + }, "managingAccount": { "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", "type": "string" diff --git a/discovery/merchantapi-datasources_v1beta.json b/discovery/merchantapi-datasources_v1beta.json index 679083b6ec..8720f8bfd5 100644 --- a/discovery/merchantapi-datasources_v1beta.json +++ b/discovery/merchantapi-datasources_v1beta.json @@ -321,7 +321,7 @@ } } }, - "revision": "20240909", + "revision": "20250108", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "DataSource": { @@ -363,7 +363,11 @@ }, "localInventoryDataSource": { "$ref": "LocalInventoryDataSource", - "description": "Required. The [local inventory](https://support.google.com/merchants/answer/7023001) data source." + "description": "The [local inventory](https://support.google.com/merchants/answer/7023001) data source." + }, + "merchantReviewDataSource": { + "$ref": "MerchantReviewDataSource", + "description": "The [merchant review](https://support.google.com/merchants/answer/7045996) data source." }, "name": { "description": "Identifier. The name of the data source. Format: `{datasource.name=accounts/{account}/dataSources/{datasource}}`", @@ -371,19 +375,23 @@ }, "primaryProductDataSource": { "$ref": "PrimaryProductDataSource", - "description": "Required. The [primary data source](https://support.google.com/merchants/answer/7439058) for local and online products." + "description": "The [primary data source](https://support.google.com/merchants/answer/7439058) for local and online products." + }, + "productReviewDataSource": { + "$ref": "ProductReviewDataSource", + "description": "The [product review](https://support.google.com/merchants/answer/7045996) data source." }, "promotionDataSource": { "$ref": "PromotionDataSource", - "description": "Required. The [promotion](https://support.google.com/merchants/answer/2906014) data source." + "description": "The [promotion](https://support.google.com/merchants/answer/2906014) data source." }, "regionalInventoryDataSource": { "$ref": "RegionalInventoryDataSource", - "description": "Required. The [regional inventory](https://support.google.com/merchants/answer/7439058) data source." + "description": "The [regional inventory](https://support.google.com/merchants/answer/7439058) data source." }, "supplementalProductDataSource": { "$ref": "SupplementalProductDataSource", - "description": "Required. The [supplemental data source](https://support.google.com/merchants/answer/7439058) for local and online products." + "description": "The [supplemental data source](https://support.google.com/merchants/answer/7439058) for local and online products." } }, "type": "object" @@ -491,7 +499,7 @@ "type": "string" }, "password": { - "description": "Optional. An optional password for fetch url. Used for [submitting data sources through SFTP](https://support.google.com/merchants/answer/13813117).", + "description": "Optional. An optional password for fetch_uri. Used for [submitting data sources through SFTP](https://support.google.com/merchants/answer/13813117).", "type": "string" }, "timeOfDay": { @@ -503,7 +511,7 @@ "type": "string" }, "username": { - "description": "Optional. An optional user name for fetch url. Used for [submitting data sources through SFTP](https://support.google.com/merchants/answer/13813117).", + "description": "Optional. An optional user name for fetch_uri. Used for [submitting data sources through SFTP](https://support.google.com/merchants/answer/13813117).", "type": "string" } }, @@ -688,6 +696,12 @@ }, "type": "object" }, + "MerchantReviewDataSource": { + "description": "The merchant review data source.", + "id": "MerchantReviewDataSource", + "properties": {}, + "type": "object" + }, "PrimaryProductDataSource": { "description": "The primary data source for local and online products.", "id": "PrimaryProductDataSource", @@ -765,7 +779,8 @@ "CLOUD_RETAIL", "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", - "MERCHANT_REVIEWS" + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" ], "enumDeprecated": [ false, @@ -784,6 +799,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -803,13 +819,20 @@ "[Cloud retail](https://cloud.google.com/solutions/retail).", "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", - "[Merchant Reviews](https://developers.google.com/merchant-review-feeds)." + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "[YouTube Checkout](" ], "type": "string" } }, "type": "object" }, + "ProductReviewDataSource": { + "description": "The product review data source.", + "id": "ProductReviewDataSource", + "properties": {}, + "type": "object" + }, "ProductStatusChangeMessage": { "description": "The message that the merchant will receive to notify about product status change event", "id": "ProductStatusChangeMessage", @@ -837,6 +860,11 @@ }, "type": "array" }, + "expirationTime": { + "description": "The product expiration time. This field will not bet set if the notification is sent for a product deletion event.", + "format": "google-datetime", + "type": "string" + }, "managingAccount": { "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", "type": "string" @@ -895,7 +923,7 @@ "type": "object" }, "SupplementalProductDataSource": { - "description": "The supplemental data source for local and online products.", + "description": "The supplemental data source for local and online products. After creation, you should make sure to link the supplemental product data source into one or more primary product data sources.", "id": "SupplementalProductDataSource", "properties": { "contentLanguage": { @@ -903,7 +931,7 @@ "type": "string" }, "feedLabel": { - "description": "Optional. Immutable. The feed label that is specified on the data source level. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels). `feedLabel` and `contentLanguage` must be either both set or unset for data sources with product content type. They must be set for data sources with a file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept produts without that restriction.", + "description": "Optional. Immutable. The feed label that is specified on the data source level. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels). `feedLabel` and `contentLanguage` must be either both set or unset for data sources with product content type. They must be set for data sources with a file input. The fields must be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept produts without that restriction.", "type": "string" }, "referencingPrimaryDataSources": { @@ -922,22 +950,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } diff --git a/discovery/merchantapi-inventories_v1beta.json b/discovery/merchantapi-inventories_v1beta.json index b39b3a56fa..ec779881f5 100644 --- a/discovery/merchantapi-inventories_v1beta.json +++ b/discovery/merchantapi-inventories_v1beta.json @@ -300,7 +300,7 @@ } } }, - "revision": "20240827", + "revision": "20241119", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "CustomAttribute": { @@ -497,7 +497,8 @@ "CLOUD_RETAIL", "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", - "MERCHANT_REVIEWS" + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" ], "enumDeprecated": [ false, @@ -516,6 +517,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -535,7 +537,8 @@ "[Cloud retail](https://cloud.google.com/solutions/retail).", "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", - "[Merchant Reviews](https://developers.google.com/merchant-review-feeds)." + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "[YouTube Checkout](" ], "type": "string" } @@ -569,6 +572,11 @@ }, "type": "array" }, + "expirationTime": { + "description": "The product expiration time. This field will not bet set if the notification is sent for a product deletion event.", + "format": "google-datetime", + "type": "string" + }, "managingAccount": { "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", "type": "string" diff --git a/discovery/merchantapi-lfp_v1beta.json b/discovery/merchantapi-lfp_v1beta.json index 9e01ac8337..96a45c0523 100644 --- a/discovery/merchantapi-lfp_v1beta.json +++ b/discovery/merchantapi-lfp_v1beta.json @@ -298,7 +298,7 @@ } } }, - "revision": "20240827", + "revision": "20241119", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Empty": { @@ -571,7 +571,8 @@ "CLOUD_RETAIL", "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", - "MERCHANT_REVIEWS" + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" ], "enumDeprecated": [ false, @@ -590,6 +591,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -609,7 +611,8 @@ "[Cloud retail](https://cloud.google.com/solutions/retail).", "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", - "[Merchant Reviews](https://developers.google.com/merchant-review-feeds)." + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "[YouTube Checkout](" ], "type": "string" } @@ -643,6 +646,11 @@ }, "type": "array" }, + "expirationTime": { + "description": "The product expiration time. This field will not bet set if the notification is sent for a product deletion event.", + "format": "google-datetime", + "type": "string" + }, "managingAccount": { "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", "type": "string" diff --git a/discovery/merchantapi-notifications_v1beta.json b/discovery/merchantapi-notifications_v1beta.json index 05b3e76e3b..9e97119343 100644 --- a/discovery/merchantapi-notifications_v1beta.json +++ b/discovery/merchantapi-notifications_v1beta.json @@ -262,7 +262,7 @@ } } }, - "revision": "20240930", + "revision": "20241119", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Empty": { @@ -360,7 +360,8 @@ "CLOUD_RETAIL", "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", - "MERCHANT_REVIEWS" + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" ], "enumDeprecated": [ false, @@ -379,6 +380,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -398,7 +400,8 @@ "[Cloud retail](https://cloud.google.com/solutions/retail).", "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", - "[Merchant Reviews](https://developers.google.com/merchant-review-feeds)." + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "[YouTube Checkout](" ], "type": "string" } @@ -432,6 +435,11 @@ }, "type": "array" }, + "expirationTime": { + "description": "The product expiration time. This field will not bet set if the notification is sent for a product deletion event.", + "format": "google-datetime", + "type": "string" + }, "managingAccount": { "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", "type": "string" diff --git a/discovery/merchantapi-products_v1beta.json b/discovery/merchantapi-products_v1beta.json index 6930bb8260..77a453cb0d 100644 --- a/discovery/merchantapi-products_v1beta.json +++ b/discovery/merchantapi-products_v1beta.json @@ -124,7 +124,7 @@ "type": "string" }, "name": { - "description": "Required. The name of the product input resource to delete. Format: accounts/{account}/productInputs/{product}", + "description": "Required. The name of the product input resource to delete. Format: accounts/{account}/productInputs/{product} where the last section `product` consists of 4 parts: channel~content_language~feed_label~offer_id example for product name is \"accounts/123/productInputs/online~en~US~sku123\"", "location": "path", "pattern": "^accounts/[^/]+/productInputs/[^/]+$", "required": true, @@ -186,7 +186,7 @@ ], "parameters": { "name": { - "description": "Required. The name of the product to retrieve. Format: `accounts/{account}/products/{product}`", + "description": "Required. The name of the product to retrieve. Format: `accounts/{account}/products/{product}` where the last section `product` consists of 4 parts: channel~content_language~feed_label~offer_id example for product name is \"accounts/123/products/online~en~US~sku123\"", "location": "path", "pattern": "^accounts/[^/]+/products/[^/]+$", "required": true, @@ -242,7 +242,7 @@ } } }, - "revision": "20241001", + "revision": "20250106", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Attributes": { @@ -651,8 +651,15 @@ "$ref": "SubscriptionCost", "description": "Number of periods (months or years) and amount of payment per period for an item with an associated subscription contract." }, + "sustainabilityIncentives": { + "description": "The list of sustainability incentive programs.", + "items": { + "$ref": "ProductSustainabilityIncentive" + }, + "type": "array" + }, "taxCategory": { - "description": "The tax category of the product, used to configure detailed tax nexus in account-level tax settings.", + "description": "The tax category of the product.", "type": "string" }, "taxes": { @@ -826,7 +833,8 @@ "CLOUD_RETAIL", "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", - "MERCHANT_REVIEWS" + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" ], "enumDeprecated": [ false, @@ -845,6 +853,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -864,7 +873,8 @@ "[Cloud retail](https://cloud.google.com/solutions/retail).", "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", - "[Merchant Reviews](https://developers.google.com/merchant-review-feeds)." + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "[YouTube Checkout](" ], "type": "string" } @@ -983,7 +993,8 @@ "CLOUD_RETAIL", "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", - "MERCHANT_REVIEWS" + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" ], "enumDeprecated": [ false, @@ -1002,6 +1013,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -1021,7 +1033,8 @@ "[Cloud retail](https://cloud.google.com/solutions/retail).", "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", - "[Merchant Reviews](https://developers.google.com/merchant-review-feeds)." + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "[YouTube Checkout](" ], "type": "string" }, @@ -1112,6 +1125,10 @@ "description": "The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a merchant entity and a loyalty program entity. The label must be provided so that the system can associate the assets below (for example, price and points) with a merchant. The corresponding program must be linked to the merchant account.", "type": "string" }, + "shippingLabel": { + "description": "The label of the shipping benefit. If the field has value, this offer has loyalty shipping benefit. If the field value isn't provided, the item is not eligible for loyalty shipping for the given loyalty tier.", + "type": "string" + }, "tierLabel": { "description": "The label of the tier within the loyalty program. Must match one of the labels within the program.", "type": "string" @@ -1240,7 +1257,8 @@ "CLOUD_RETAIL", "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", - "MERCHANT_REVIEWS" + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" ], "enumDeprecated": [ false, @@ -1259,6 +1277,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -1278,7 +1297,8 @@ "[Cloud retail](https://cloud.google.com/solutions/retail).", "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", - "[Merchant Reviews](https://developers.google.com/merchant-review-feeds)." + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "[YouTube Checkout](" ], "type": "string" } @@ -1321,7 +1341,7 @@ "type": "object" }, "ProductInput": { - "description": "This resource represents input data you submit for a product, not the processed product that you see in Merchant Center, in Shopping ads, or across Google surfaces. Product inputs, rules and supplemental data source data are combined to create the processed product. Required product input attributes to pass data validation checks are primarily defined in the [Products Data Specification](https://support.google.com/merchants/answer/188494). The following attributes are required: feedLabel, contentLanguage and offerId. After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved. All fields in the product input and its sub-messages match the English name of their corresponding attribute in the vertical spec with [some exceptions](https://support.google.com/merchants/answer/7052112).", + "description": "This resource represents input data you submit for a product, not the processed product that you see in Merchant Center, in Shopping ads, or across Google surfaces. Product inputs, rules and supplemental data source data are combined to create the processed Product. Required product input attributes to pass data validation checks are primarily defined in the [Products Data Specification](https://support.google.com/merchants/answer/188494). The following attributes are required: feedLabel, contentLanguage and offerId. After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved. All fields in the product input and its sub-messages match the English name of their corresponding attribute in the vertical spec with [some exceptions](https://support.google.com/merchants/answer/7052112).", "id": "ProductInput", "properties": { "attributes": { @@ -1329,7 +1349,7 @@ "description": "Optional. A list of product attributes." }, "channel": { - "description": "Required. Immutable. The [channel](https://support.google.com/merchants/answer/7361332) of the product.", + "description": "Immutable. The [channel](https://support.google.com/merchants/answer/7361332) of the product.", "enum": [ "CHANNEL_ENUM_UNSPECIFIED", "ONLINE", @@ -1441,6 +1461,11 @@ }, "type": "array" }, + "expirationTime": { + "description": "The product expiration time. This field will not bet set if the notification is sent for a product deletion event.", + "format": "google-datetime", + "type": "string" + }, "managingAccount": { "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", "type": "string" @@ -1498,6 +1523,36 @@ }, "type": "object" }, + "ProductSustainabilityIncentive": { + "description": "Information regarding sustainability-related incentive programs such as rebates or tax relief.", + "id": "ProductSustainabilityIncentive", + "properties": { + "amount": { + "$ref": "Price", + "description": "The fixed amount of the incentive." + }, + "percentage": { + "description": "The percentage of the sale price that the incentive is applied to.", + "format": "double", + "type": "number" + }, + "type": { + "description": "Sustainability incentive program.", + "enum": [ + "TYPE_UNSPECIFIED", + "EV_TAX_CREDIT", + "EV_PRICE_DISCOUNT" + ], + "enumDescriptions": [ + "Unspecified or unknown sustainability incentive type.", + "Program offering tax liability reductions for electric vehicles and, in some countries, plug-in hybrids. These reductions can be based on a specific amount or a percentage of the sale price.", + "A subsidy program, often called an environmental bonus, provides a purchase grant for electric vehicles and, in some countries, plug-in hybrids. The grant amount may be a fixed sum or a percentage of the sale price." + ], + "type": "string" + } + }, + "type": "object" + }, "ProductWeight": { "description": "The weight of the product.", "id": "ProductWeight", diff --git a/discovery/merchantapi-promotions_v1beta.json b/discovery/merchantapi-promotions_v1beta.json index c7d5927be2..4ab2e53e3c 100644 --- a/discovery/merchantapi-promotions_v1beta.json +++ b/discovery/merchantapi-promotions_v1beta.json @@ -172,7 +172,7 @@ ], "parameters": { "pageSize": { - "description": "Output only. The maximum number of promotions to return. The service may return fewer than this value. The maximum value is 1000; values above 1000 will be coerced to 1000. If unspecified, the maximum number of promotions will be returned.", + "description": "Output only. The maximum number of promotions to return. The service may return fewer than this value. The maximum value is 250; values above 250 will be coerced to 250. If unspecified, the maximum number of promotions will be returned.", "format": "int32", "location": "query", "type": "integer" @@ -203,7 +203,7 @@ } } }, - "revision": "20240827", + "revision": "20241119", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "Attributes": { @@ -390,7 +390,13 @@ "LOCAL_INVENTORY_ADS", "FREE_LISTINGS", "FREE_LOCAL_LISTINGS", - "YOUTUBE_SHOPPING" + "YOUTUBE_SHOPPING", + "YOUTUBE_SHOPPING_CHECKOUT", + "YOUTUBE_AFFILIATE", + "FREE_VEHICLE_LISTINGS", + "VEHICLE_ADS", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL" ], "enumDescriptions": [ "Not specified.", @@ -399,7 +405,13 @@ "[Local inventory ads](https://support.google.com/merchants/answer/3057972).", "[Free listings](https://support.google.com/merchants/answer/9199328).", "[Free local product listings](https://support.google.com/merchants/answer/9825611).", - "[YouTube Shopping](https://support.google.com/merchants/answer/12362804)." + "[YouTube Shopping](https://support.google.com/merchants/answer/12362804).", + "Youtube shopping checkout.", + "Youtube affiliate.", + "Free vehicle listings.", + "Vehicle ads.", + "Cloud retail.", + "Local cloud retail." ], "type": "string" }, @@ -493,7 +505,8 @@ "CLOUD_RETAIL", "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", - "MERCHANT_REVIEWS" + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" ], "enumDeprecated": [ false, @@ -512,6 +525,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -531,7 +545,8 @@ "[Cloud retail](https://cloud.google.com/solutions/retail).", "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", - "[Merchant Reviews](https://developers.google.com/merchant-review-feeds)." + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "[YouTube Checkout](" ], "readOnly": true, "type": "string" @@ -650,7 +665,8 @@ "CLOUD_RETAIL", "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", - "MERCHANT_REVIEWS" + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" ], "enumDeprecated": [ false, @@ -669,6 +685,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -688,7 +705,8 @@ "[Cloud retail](https://cloud.google.com/solutions/retail).", "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", - "[Merchant Reviews](https://developers.google.com/merchant-review-feeds)." + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "[YouTube Checkout](" ], "readOnly": true, "type": "string" @@ -787,7 +805,8 @@ "CLOUD_RETAIL", "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", - "MERCHANT_REVIEWS" + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" ], "enumDeprecated": [ false, @@ -806,6 +825,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -825,7 +845,8 @@ "[Cloud retail](https://cloud.google.com/solutions/retail).", "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", - "[Merchant Reviews](https://developers.google.com/merchant-review-feeds)." + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "[YouTube Checkout](" ], "type": "string" } @@ -859,6 +880,11 @@ }, "type": "array" }, + "expirationTime": { + "description": "The product expiration time. This field will not bet set if the notification is sent for a product deletion event.", + "format": "google-datetime", + "type": "string" + }, "managingAccount": { "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", "type": "string" diff --git a/discovery/merchantapi-quota_v1beta.json b/discovery/merchantapi-quota_v1beta.json index d83545854d..08ad7e8f6a 100644 --- a/discovery/merchantapi-quota_v1beta.json +++ b/discovery/merchantapi-quota_v1beta.json @@ -150,7 +150,7 @@ } } }, - "revision": "20240827", + "revision": "20241119", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "ListQuotaGroupsResponse": { @@ -162,7 +162,7 @@ "type": "string" }, "quotaGroups": { - "description": "The methods, current quota usage and limits per each group. The quota is shared between all methods in the group. The groups are sorted in descending order based on quotaUsage.", + "description": "The methods, current quota usage and limits per each group. The quota is shared between all methods in the group. The groups are sorted in descending order based on quota_usage.", "items": { "$ref": "QuotaGroup" }, @@ -233,7 +233,8 @@ "CLOUD_RETAIL", "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", - "MERCHANT_REVIEWS" + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" ], "enumDeprecated": [ false, @@ -252,6 +253,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -271,7 +273,8 @@ "[Cloud retail](https://cloud.google.com/solutions/retail).", "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", - "[Merchant Reviews](https://developers.google.com/merchant-review-feeds)." + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "[YouTube Checkout](" ], "type": "string" } @@ -305,6 +308,11 @@ }, "type": "array" }, + "expirationTime": { + "description": "The product expiration time. This field will not bet set if the notification is sent for a product deletion event.", + "format": "google-datetime", + "type": "string" + }, "managingAccount": { "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", "type": "string" diff --git a/discovery/merchantapi-reports_v1beta.json b/discovery/merchantapi-reports_v1beta.json index 72081e70c4..a595210f10 100644 --- a/discovery/merchantapi-reports_v1beta.json +++ b/discovery/merchantapi-reports_v1beta.json @@ -142,7 +142,7 @@ } } }, - "revision": "20240827", + "revision": "20241119", "rootUrl": "https://merchantapi.googleapis.com/", "schemas": { "BestSellersBrandView": { @@ -654,7 +654,8 @@ "CLOUD_RETAIL", "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", - "MERCHANT_REVIEWS" + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" ], "enumDeprecated": [ false, @@ -673,6 +674,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -692,7 +694,8 @@ "[Cloud retail](https://cloud.google.com/solutions/retail).", "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", - "[Merchant Reviews](https://developers.google.com/merchant-review-feeds)." + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "[YouTube Checkout](" ], "type": "string" } @@ -1031,7 +1034,8 @@ "CLOUD_RETAIL", "LOCAL_CLOUD_RETAIL", "PRODUCT_REVIEWS", - "MERCHANT_REVIEWS" + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" ], "enumDeprecated": [ false, @@ -1050,6 +1054,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -1069,7 +1074,8 @@ "[Cloud retail](https://cloud.google.com/solutions/retail).", "[Local cloud retail](https://cloud.google.com/solutions/retail).", "[Product Reviews](https://support.google.com/merchants/answer/14620732).", - "[Merchant Reviews](https://developers.google.com/merchant-review-feeds)." + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "[YouTube Checkout](" ], "type": "string" } @@ -1237,6 +1243,11 @@ }, "type": "array" }, + "expirationTime": { + "description": "The product expiration time. This field will not bet set if the notification is sent for a product deletion event.", + "format": "google-datetime", + "type": "string" + }, "managingAccount": { "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", "type": "string" diff --git a/discovery/merchantapi-reviews_v1beta.json b/discovery/merchantapi-reviews_v1beta.json new file mode 100644 index 0000000000..9e7dbdae55 --- /dev/null +++ b/discovery/merchantapi-reviews_v1beta.json @@ -0,0 +1,1372 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/content": { + "description": "Manage your product listings and accounts for Google Shopping" + } + } + } + }, + "basePath": "", + "baseUrl": "https://merchantapi.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Merchant", + "description": "Programmatically manage your Merchant Center Accounts.", + "discoveryVersion": "v1", + "documentationLink": "https://developers.devsite.corp.google.com/merchant/api", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "merchantapi:reviews_v1beta", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://merchantapi.mtls.googleapis.com/", + "name": "merchantapi", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "accounts": { + "resources": { + "merchantReviews": { + "methods": { + "delete": { + "description": "Deletes merchant review.", + "flatPath": "reviews/v1beta/accounts/{accountsId}/merchantReviews/{merchantReviewsId}", + "httpMethod": "DELETE", + "id": "merchantapi.accounts.merchantReviews.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The ID of the merchant review. Format: accounts/{account}/merchantReviews/{merchantReview}", + "location": "path", + "pattern": "^accounts/[^/]+/merchantReviews/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "reviews/v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "get": { + "description": "Gets a merchant review.", + "flatPath": "reviews/v1beta/accounts/{accountsId}/merchantReviews/{merchantReviewsId}", + "httpMethod": "GET", + "id": "merchantapi.accounts.merchantReviews.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The ID of the merchant review. Format: accounts/{account}/merchantReviews/{merchantReview}", + "location": "path", + "pattern": "^accounts/[^/]+/merchantReviews/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "reviews/v1beta/{+name}", + "response": { + "$ref": "MerchantReview" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "insert": { + "description": "Inserts a review for your Merchant Center account. If the review already exists, then the review is replaced with the new instance.", + "flatPath": "reviews/v1beta/accounts/{accountsId}/merchantReviews:insert", + "httpMethod": "POST", + "id": "merchantapi.accounts.merchantReviews.insert", + "parameterOrder": [ + "parent" + ], + "parameters": { + "dataSource": { + "description": "Required. The data source of the [merchantreview](https://support.google.com/merchants/answer/7045996?sjid=5253581244217581976-EU) Format: `accounts/{account}/dataSources/{datasource}`.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The account where the merchant review will be inserted. Format: accounts/{account}", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "reviews/v1beta/{+parent}/merchantReviews:insert", + "request": { + "$ref": "MerchantReview" + }, + "response": { + "$ref": "MerchantReview" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "list": { + "description": "Lists merchant reviews.", + "flatPath": "reviews/v1beta/accounts/{accountsId}/merchantReviews", + "httpMethod": "GET", + "id": "merchantapi.accounts.merchantReviews.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of merchant reviews to return. The service can return fewer than this value. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the maximum number of reviews is returned.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListMerchantReviews` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMerchantReviews` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The account to list merchant reviews for. Format: accounts/{account}", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "reviews/v1beta/{+parent}/merchantReviews", + "response": { + "$ref": "ListMerchantReviewsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + }, + "productReviews": { + "methods": { + "delete": { + "description": "Deletes a product review.", + "flatPath": "reviews/v1beta/accounts/{accountsId}/productReviews/{productReviewsId}", + "httpMethod": "DELETE", + "id": "merchantapi.accounts.productReviews.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The ID of the Product review. Format: accounts/{account}/productReviews/{productReview}", + "location": "path", + "pattern": "^accounts/[^/]+/productReviews/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "reviews/v1beta/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "get": { + "description": "Gets a product review.", + "flatPath": "reviews/v1beta/accounts/{accountsId}/productReviews/{productReviewsId}", + "httpMethod": "GET", + "id": "merchantapi.accounts.productReviews.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The ID of the merchant review. Format: accounts/{account}/productReviews/{productReview}", + "location": "path", + "pattern": "^accounts/[^/]+/productReviews/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "reviews/v1beta/{+name}", + "response": { + "$ref": "ProductReview" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "insert": { + "description": "Inserts a product review.", + "flatPath": "reviews/v1beta/accounts/{accountsId}/productReviews:insert", + "httpMethod": "POST", + "id": "merchantapi.accounts.productReviews.insert", + "parameterOrder": [ + "parent" + ], + "parameters": { + "dataSource": { + "description": "Required. Format: `accounts/{account}/dataSources/{datasource}`.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The account where the product review will be inserted. Format: accounts/{account}", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "reviews/v1beta/{+parent}/productReviews:insert", + "request": { + "$ref": "ProductReview" + }, + "response": { + "$ref": "ProductReview" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "list": { + "description": "Lists product reviews.", + "flatPath": "reviews/v1beta/accounts/{accountsId}/productReviews", + "httpMethod": "GET", + "id": "merchantapi.accounts.productReviews.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of products to return. The service may return fewer than this value.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous `ListProductReviews` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListProductReviews` must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The account to list product reviews for. Format: accounts/{account}", + "location": "path", + "pattern": "^accounts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "reviews/v1beta/{+parent}/productReviews", + "response": { + "$ref": "ListProductReviewsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + } + } + } + }, + "revision": "20241119", + "rootUrl": "https://merchantapi.googleapis.com/", + "schemas": { + "CustomAttribute": { + "description": "A message that represents custom attributes. Exactly one of `value` or `group_values` must not be empty.", + "id": "CustomAttribute", + "properties": { + "groupValues": { + "description": "Subattributes within this attribute group. If `group_values` is not empty, `value` must be empty.", + "items": { + "$ref": "CustomAttribute" + }, + "type": "array" + }, + "name": { + "description": "The name of the attribute.", + "type": "string" + }, + "value": { + "description": "The value of the attribute. If `value` is not empty, `group_values` must be empty.", + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "ListMerchantReviewsResponse": { + "description": "Response message for the `ListMerchantsReview` method.", + "id": "ListMerchantReviewsResponse", + "properties": { + "merchantReviews": { + "description": "The merchant review.", + "items": { + "$ref": "MerchantReview" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The token to retrieve the next page of results.", + "type": "string" + } + }, + "type": "object" + }, + "ListProductReviewsResponse": { + "description": "response message for the ListProductReviews method.", + "id": "ListProductReviewsResponse", + "properties": { + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "productReviews": { + "description": "The product review.", + "items": { + "$ref": "ProductReview" + }, + "type": "array" + } + }, + "type": "object" + }, + "MerchantReview": { + "description": "A review for a merchant. For more information, see [Introduction to Merchant Review Feeds](https://developers.google.com/merchant-review-feeds)", + "id": "MerchantReview", + "properties": { + "attributes": { + "$ref": "MerchantReviewAttributes", + "description": "Optional. A list of merchant review attributes." + }, + "customAttributes": { + "description": "Required. A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the data specification in its generic form (for example, `{ \"name\": \"size type\", \"value\": \"regular\" }`). This is useful for submitting attributes not explicitly exposed by the API, such as experimental attributes. Maximum allowed number of characters for each custom attribute is 10240 (represents sum of characters for name and value). Maximum 2500 custom attributes can be set per product, with total size of 102.4kB. Underscores in custom attribute names are replaced by spaces upon insertion.", + "items": { + "$ref": "CustomAttribute" + }, + "type": "array" + }, + "dataSource": { + "description": "Output only. The primary data source of the merchant review.", + "readOnly": true, + "type": "string" + }, + "merchantReviewId": { + "description": "Required. The user provided merchant review ID to uniquely identify the merchant review.", + "type": "string" + }, + "merchantReviewStatus": { + "$ref": "MerchantReviewStatus", + "description": "Output only. The status of a merchant review, data validation issues, that is, information about a merchant review computed asynchronously.", + "readOnly": true + }, + "name": { + "description": "Identifier. The name of the merchant review. Format: `\"{merchantreview.name=accounts/{account}/merchantReviews/{merchantReview}}\"`", + "type": "string" + } + }, + "type": "object" + }, + "MerchantReviewAttributes": { + "description": "Attributes.", + "id": "MerchantReviewAttributes", + "properties": { + "collectionMethod": { + "description": "Optional. The method used to collect the review.", + "enum": [ + "COLLECTION_METHOD_UNSPECIFIED", + "MERCHANT_UNSOLICITED", + "POINT_OF_SALE", + "AFTER_FULFILLMENT" + ], + "enumDescriptions": [ + "Collection method unspecified.", + "The user was not responding to a specific solicitation when they submitted the review.", + "The user submitted the review in response to a solicitation when the user placed an order.", + "The user submitted the review in response to a solicitation after fulfillment of the user's order." + ], + "type": "string" + }, + "content": { + "description": "Required. This should be any freeform text provided by the user and should not be truncated. If multiple responses to different questions are provided, all responses should be included, with the minimal context for the responses to make sense. Context should not be provided if questions were left unanswered.", + "type": "string" + }, + "isAnonymous": { + "description": "Optional. Set to true if the reviewer should remain anonymous.", + "type": "boolean" + }, + "maxRating": { + "description": "Optional. The maximum possible number for the rating. The value of the max rating must be greater than the value of the min rating.", + "format": "int64", + "type": "string" + }, + "merchantDisplayName": { + "description": "Optional. Human-readable display name for the merchant.", + "type": "string" + }, + "merchantId": { + "description": "Required. Must be unique and stable across all requests. In other words, if a request today and another 90 days ago refer to the same merchant, they must have the same id.", + "type": "string" + }, + "merchantLink": { + "description": "Optional. URL to the merchant's main website. Do not use a redirect URL for this value. In other words, the value should point directly to the merchant's site.", + "type": "string" + }, + "merchantRatingLink": { + "description": "Optional. URL to the landing page that hosts the reviews for this merchant. Do not use a redirect URL.", + "type": "string" + }, + "minRating": { + "description": "Optional. The minimum possible number for the rating. This should be the worst possible rating and should not be a value for no rating.", + "format": "int64", + "type": "string" + }, + "rating": { + "description": "Optional. The reviewer's overall rating of the merchant.", + "format": "double", + "type": "number" + }, + "reviewCountry": { + "description": "Optional. The country where the reviewer made the order defined by ISO 3166-1 Alpha-2 Country Code.", + "type": "string" + }, + "reviewLanguage": { + "description": "Required. The language of the review defined by BCP-47 language code.", + "type": "string" + }, + "reviewTime": { + "description": "Required. The timestamp indicating when the review was written.", + "format": "google-datetime", + "type": "string" + }, + "reviewerId": { + "description": "Optional. A permanent, unique identifier for the author of the review in the publisher's system.", + "type": "string" + }, + "reviewerUsername": { + "description": "Optional. Display name of the review author.", + "type": "string" + }, + "title": { + "description": "Optional. The title of the review.", + "type": "string" + } + }, + "type": "object" + }, + "MerchantReviewDestinationStatus": { + "description": "The destination status of the merchant review status.", + "id": "MerchantReviewDestinationStatus", + "properties": { + "reportingContext": { + "description": "Output only. The name of the reporting context.", + "enum": [ + "REPORTING_CONTEXT_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISCOVERY_ADS", + "DEMAND_GEN_ADS", + "DEMAND_GEN_ADS_DISCOVER_SURFACE", + "VIDEO_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "VEHICLE_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "FREE_LOCAL_VEHICLE_LISTINGS", + "YOUTUBE_SHOPPING", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL", + "PRODUCT_REVIEWS", + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/merchants/answer/6149970).", + "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", + "[Video ads](https://support.google.com/google-ads/answer/6340491).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3271956).", + "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", + "[Free product listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", + "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "[Product Reviews](https://support.google.com/merchants/answer/14620732).", + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "[YouTube Checkout](" + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "MerchantReviewItemLevelIssue": { + "description": "The ItemLevelIssue of the merchant review status.", + "id": "MerchantReviewItemLevelIssue", + "properties": { + "attribute": { + "description": "Output only. The attribute's name, if the issue is caused by a single attribute.", + "readOnly": true, + "type": "string" + }, + "code": { + "description": "Output only. The error code of the issue.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Output only. A short issue description in English.", + "readOnly": true, + "type": "string" + }, + "detail": { + "description": "Output only. A detailed issue description in English.", + "readOnly": true, + "type": "string" + }, + "documentation": { + "description": "Output only. The URL of a web page to help with resolving this issue.", + "readOnly": true, + "type": "string" + }, + "reportingContext": { + "description": "Output only. The reporting context the issue applies to.", + "enum": [ + "REPORTING_CONTEXT_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISCOVERY_ADS", + "DEMAND_GEN_ADS", + "DEMAND_GEN_ADS_DISCOVER_SURFACE", + "VIDEO_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "VEHICLE_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "FREE_LOCAL_VEHICLE_LISTINGS", + "YOUTUBE_SHOPPING", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL", + "PRODUCT_REVIEWS", + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/merchants/answer/6149970).", + "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", + "[Video ads](https://support.google.com/google-ads/answer/6340491).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3271956).", + "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", + "[Free product listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", + "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "[Product Reviews](https://support.google.com/merchants/answer/14620732).", + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "[YouTube Checkout](" + ], + "readOnly": true, + "type": "string" + }, + "resolution": { + "description": "Output only. Whether the issue can be resolved by the merchant.", + "readOnly": true, + "type": "string" + }, + "severity": { + "description": "Output only. How this issue affects serving of the merchant review.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "NOT_IMPACTED", + "DISAPPROVED" + ], + "enumDescriptions": [ + "Not specified.", + "This issue represents a warning and does not have a direct affect on the merchant review.", + "Issue disapproves the merchant review." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "MerchantReviewStatus": { + "description": "The status of a merchant review, data validation issues, that is, information about a merchant review computed asynchronously.", + "id": "MerchantReviewStatus", + "properties": { + "createTime": { + "description": "Output only. Date on which the item has been created, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "destinationStatuses": { + "description": "Output only. The intended destinations for the merchant review.", + "items": { + "$ref": "MerchantReviewDestinationStatus" + }, + "readOnly": true, + "type": "array" + }, + "itemLevelIssues": { + "description": "Output only. A list of all issues associated with the merchant review.", + "items": { + "$ref": "MerchantReviewItemLevelIssue" + }, + "readOnly": true, + "type": "array" + }, + "lastUpdateTime": { + "description": "Output only. Date on which the item has been last updated, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ProductChange": { + "description": "The change that happened to the product including old value, new value, country code as the region code and reporting context.", + "id": "ProductChange", + "properties": { + "newValue": { + "description": "The new value of the changed resource or attribute.", + "type": "string" + }, + "oldValue": { + "description": "The old value of the changed resource or attribute.", + "type": "string" + }, + "regionCode": { + "description": "Countries that have the change (if applicable)", + "type": "string" + }, + "reportingContext": { + "description": "Reporting contexts that have the change (if applicable)", + "enum": [ + "REPORTING_CONTEXT_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISCOVERY_ADS", + "DEMAND_GEN_ADS", + "DEMAND_GEN_ADS_DISCOVER_SURFACE", + "VIDEO_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "VEHICLE_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "FREE_LOCAL_VEHICLE_LISTINGS", + "YOUTUBE_SHOPPING", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL", + "PRODUCT_REVIEWS", + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/merchants/answer/6149970).", + "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", + "[Video ads](https://support.google.com/google-ads/answer/6340491).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3271956).", + "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", + "[Free product listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", + "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "[Product Reviews](https://support.google.com/merchants/answer/14620732).", + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "[YouTube Checkout](" + ], + "type": "string" + } + }, + "type": "object" + }, + "ProductReview": { + "description": "A review for a product. For more information, see [Introduction to Product Review Feeds](https://developers.google.com/product-review-feeds)", + "id": "ProductReview", + "properties": { + "attributes": { + "$ref": "ProductReviewAttributes", + "description": "Optional. A list of product review attributes." + }, + "customAttributes": { + "description": "Optional. A list of custom (merchant-provided) attributes.", + "items": { + "$ref": "CustomAttribute" + }, + "type": "array" + }, + "dataSource": { + "description": "Output only. The primary data source of the product review.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The name of the product review. Format: `\"{productreview.name=accounts/{account}/productReviews/{productReview}}\"`", + "type": "string" + }, + "productReviewId": { + "description": "Required. The permanent, unique identifier for the product review in the publisher’s system.", + "type": "string" + }, + "productReviewStatus": { + "$ref": "ProductReviewStatus", + "description": "Output only. The status of a product review, data validation issues, that is, information about a product review computed asynchronously.", + "readOnly": true + } + }, + "type": "object" + }, + "ProductReviewAttributes": { + "description": "Attributes.", + "id": "ProductReviewAttributes", + "properties": { + "aggregatorName": { + "description": "Optional. The name of the aggregator of the product reviews. A publisher may use a reviews aggregator to manage reviews and provide the feeds. This element indicates the use of an aggregator and contains information about the aggregator.", + "type": "string" + }, + "asins": { + "description": "Optional. Contains ASINs (Amazon Standard Identification Numbers) associated with a product.", + "items": { + "type": "string" + }, + "type": "array" + }, + "brands": { + "description": "Optional. Contains brand names associated with a product.", + "items": { + "type": "string" + }, + "type": "array" + }, + "collectionMethod": { + "description": "Optional. The method used to collect the review.", + "enum": [ + "COLLECTION_METHOD_UNSPECIFIED", + "UNSOLICITED", + "POST_FULFILLMENT" + ], + "enumDescriptions": [ + "Collection method unspecified.", + "The user was not responding to a specific solicitation when they submitted the review.", + "The user submitted the review in response to a solicitation after fulfillment of the user's order." + ], + "type": "string" + }, + "cons": { + "description": "Optional. Contains the disadvantages based on the opinion of the reviewer. Omit boilerplate text like \"con:\" unless it was written by the reviewer.", + "items": { + "type": "string" + }, + "type": "array" + }, + "content": { + "description": "Required. The content of the review.", + "type": "string" + }, + "gtins": { + "description": "Optional. Contains GTINs (global trade item numbers) associated with a product. Sub-types of GTINs (e.g. UPC, EAN, ISBN, JAN) are supported.", + "items": { + "type": "string" + }, + "type": "array" + }, + "isSpam": { + "description": "Optional. Indicates whether the review is marked as spam in the publisher's system.", + "type": "boolean" + }, + "maxRating": { + "description": "Optional. The maximum possible number for the rating. The value of the max rating must be greater than the value of the min attribute.", + "format": "int64", + "type": "string" + }, + "minRating": { + "description": "Optional. Contains the ratings associated with the review. The minimum possible number for the rating. This should be the worst possible rating and should not be a value for no rating.", + "format": "int64", + "type": "string" + }, + "mpns": { + "description": "Optional. Contains MPNs (manufacturer part numbers) associated with a product.", + "items": { + "type": "string" + }, + "type": "array" + }, + "productLinks": { + "description": "Optional. The URI of the product. This URI can have the same value as the `review_link` element, if the review URI and the product URI are the same.", + "items": { + "type": "string" + }, + "type": "array" + }, + "productNames": { + "description": "Optional. Descriptive name of a product.", + "items": { + "type": "string" + }, + "type": "array" + }, + "pros": { + "description": "Optional. Contains the advantages based on the opinion of the reviewer. Omit boilerplate text like \"pro:\" unless it was written by the reviewer.", + "items": { + "type": "string" + }, + "type": "array" + }, + "publisherFavicon": { + "description": "Optional. A link to the company favicon of the publisher. The image dimensions should be favicon size: 16x16 pixels. The image format should be GIF, JPG or PNG.", + "type": "string" + }, + "publisherName": { + "description": "Optional. The name of the publisher of the product reviews. The information about the publisher, which may be a retailer, manufacturer, reviews service company, or any entity that publishes product reviews.", + "type": "string" + }, + "rating": { + "description": "Optional. The reviewer's overall rating of the product.", + "format": "double", + "type": "number" + }, + "reviewCountry": { + "description": "Optional. The country of the review defined by ISO 3166-1 Alpha-2 Country Code.", + "type": "string" + }, + "reviewLanguage": { + "description": "Optional. The language of the review defined by BCP-47 language code.", + "type": "string" + }, + "reviewLink": { + "$ref": "ReviewLink", + "description": "Optional. The URI of the review landing page." + }, + "reviewTime": { + "description": "Required. The timestamp indicating when the review was written.", + "format": "google-datetime", + "type": "string" + }, + "reviewerId": { + "description": "Optional. The author of the product review. A permanent, unique identifier for the author of the review in the publisher's system.", + "type": "string" + }, + "reviewerImageLinks": { + "description": "Optional. A URI to an image of the reviewed product created by the review author. The URI does not have to end with an image file extension.", + "items": { + "type": "string" + }, + "type": "array" + }, + "reviewerIsAnonymous": { + "description": "Optional. Set to true if the reviewer should remain anonymous.", + "type": "boolean" + }, + "reviewerUsername": { + "description": "Optional. The name of the reviewer of the product review.", + "type": "string" + }, + "skus": { + "description": "Optional. Contains SKUs (stock keeping units) associated with a product. Often this matches the product Offer Id in the product feed.", + "items": { + "type": "string" + }, + "type": "array" + }, + "subclientName": { + "description": "Optional. The name of the subclient of the product reviews. The subclient is an identifier of the product review source. It should be equivalent to the directory provided in the file data source path.", + "type": "string" + }, + "title": { + "description": "Optional. The title of the review.", + "type": "string" + }, + "transactionId": { + "description": "Optional. A permanent, unique identifier for the transaction associated with the review in the publisher's system. This ID can be used to indicate that multiple reviews are associated with the same transaction.", + "type": "string" + } + }, + "type": "object" + }, + "ProductReviewDestinationStatus": { + "description": "The destination status of the product review status.", + "id": "ProductReviewDestinationStatus", + "properties": { + "reportingContext": { + "description": "Output only. The name of the reporting context.", + "enum": [ + "REPORTING_CONTEXT_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISCOVERY_ADS", + "DEMAND_GEN_ADS", + "DEMAND_GEN_ADS_DISCOVER_SURFACE", + "VIDEO_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "VEHICLE_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "FREE_LOCAL_VEHICLE_LISTINGS", + "YOUTUBE_SHOPPING", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL", + "PRODUCT_REVIEWS", + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/merchants/answer/6149970).", + "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", + "[Video ads](https://support.google.com/google-ads/answer/6340491).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3271956).", + "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", + "[Free product listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", + "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "[Product Reviews](https://support.google.com/merchants/answer/14620732).", + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "[YouTube Checkout](" + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ProductReviewItemLevelIssue": { + "description": "The ItemLevelIssue of the product review status.", + "id": "ProductReviewItemLevelIssue", + "properties": { + "attribute": { + "description": "Output only. The attribute's name, if the issue is caused by a single attribute.", + "readOnly": true, + "type": "string" + }, + "code": { + "description": "Output only. The error code of the issue.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Output only. A short issue description in English.", + "readOnly": true, + "type": "string" + }, + "detail": { + "description": "Output only. A detailed issue description in English.", + "readOnly": true, + "type": "string" + }, + "documentation": { + "description": "Output only. The URL of a web page to help with resolving this issue.", + "readOnly": true, + "type": "string" + }, + "reportingContext": { + "description": "Output only. The reporting context the issue applies to.", + "enum": [ + "REPORTING_CONTEXT_ENUM_UNSPECIFIED", + "SHOPPING_ADS", + "DISCOVERY_ADS", + "DEMAND_GEN_ADS", + "DEMAND_GEN_ADS_DISCOVER_SURFACE", + "VIDEO_ADS", + "DISPLAY_ADS", + "LOCAL_INVENTORY_ADS", + "VEHICLE_INVENTORY_ADS", + "FREE_LISTINGS", + "FREE_LOCAL_LISTINGS", + "FREE_LOCAL_VEHICLE_LISTINGS", + "YOUTUBE_SHOPPING", + "CLOUD_RETAIL", + "LOCAL_CLOUD_RETAIL", + "PRODUCT_REVIEWS", + "MERCHANT_REVIEWS", + "YOUTUBE_CHECKOUT" + ], + "enumDeprecated": [ + false, + false, + true, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false, + false + ], + "enumDescriptions": [ + "Not specified.", + "[Shopping ads](https://support.google.com/merchants/answer/6149970).", + "Deprecated: Use `DEMAND_GEN_ADS` instead. [Discovery and Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads](https://support.google.com/merchants/answer/13389785).", + "[Demand Gen ads on Discover surface](https://support.google.com/merchants/answer/13389785).", + "[Video ads](https://support.google.com/google-ads/answer/6340491).", + "[Display ads](https://support.google.com/merchants/answer/6069387).", + "[Local inventory ads](https://support.google.com/merchants/answer/3271956).", + "[Vehicle inventory ads](https://support.google.com/merchants/answer/11544533).", + "[Free product listings](https://support.google.com/merchants/answer/9199328).", + "[Free local product listings](https://support.google.com/merchants/answer/9825611).", + "[Free local vehicle listings](https://support.google.com/merchants/answer/11544533).", + "[YouTube Shopping](https://support.google.com/merchants/answer/13478370).", + "[Cloud retail](https://cloud.google.com/solutions/retail).", + "[Local cloud retail](https://cloud.google.com/solutions/retail).", + "[Product Reviews](https://support.google.com/merchants/answer/14620732).", + "[Merchant Reviews](https://developers.google.com/merchant-review-feeds).", + "[YouTube Checkout](" + ], + "readOnly": true, + "type": "string" + }, + "resolution": { + "description": "Output only. Whether the issue can be resolved by the merchant.", + "readOnly": true, + "type": "string" + }, + "severity": { + "description": "Output only. How this issue affects serving of the product review.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "NOT_IMPACTED", + "DISAPPROVED" + ], + "enumDescriptions": [ + "Not specified.", + "This issue represents a warning and does not have a direct affect on the product review.", + "Issue disapproves the product review." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ProductReviewStatus": { + "description": "Product review status.", + "id": "ProductReviewStatus", + "properties": { + "createTime": { + "description": "Output only. Date on which the item has been created, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "destinationStatuses": { + "description": "Output only. The intended destinations for the product review.", + "items": { + "$ref": "ProductReviewDestinationStatus" + }, + "readOnly": true, + "type": "array" + }, + "itemLevelIssues": { + "description": "Output only. A list of all issues associated with the product review.", + "items": { + "$ref": "ProductReviewItemLevelIssue" + }, + "readOnly": true, + "type": "array" + }, + "lastUpdateTime": { + "description": "Output only. Date on which the item has been last updated, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ProductStatusChangeMessage": { + "description": "The message that the merchant will receive to notify about product status change event", + "id": "ProductStatusChangeMessage", + "properties": { + "account": { + "description": "The target account that owns the entity that changed. Format : `accounts/{merchant_id}`", + "type": "string" + }, + "attribute": { + "description": "The attribute in the resource that changed, in this case it will be always `Status`.", + "enum": [ + "ATTRIBUTE_UNSPECIFIED", + "STATUS" + ], + "enumDescriptions": [ + "Unspecified attribute", + "Status of the changed entity" + ], + "type": "string" + }, + "changes": { + "description": "A message to describe the change that happened to the product", + "items": { + "$ref": "ProductChange" + }, + "type": "array" + }, + "expirationTime": { + "description": "The product expiration time. This field will not bet set if the notification is sent for a product deletion event.", + "format": "google-datetime", + "type": "string" + }, + "managingAccount": { + "description": "The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id}`", + "type": "string" + }, + "resource": { + "description": "The product name. Format: `{product.name=accounts/{account}/products/{product}}`", + "type": "string" + }, + "resourceId": { + "description": "The product id.", + "type": "string" + }, + "resourceType": { + "description": "The resource that changed, in this case it will always be `Product`.", + "enum": [ + "RESOURCE_UNSPECIFIED", + "PRODUCT" + ], + "enumDescriptions": [ + "Unspecified resource", + "Resource type : product" + ], + "type": "string" + } + }, + "type": "object" + }, + "ReviewLink": { + "description": "The URI of the review landing page.", + "id": "ReviewLink", + "properties": { + "link": { + "description": "Optional. The URI of the review landing page. For example: `http://www.example.com/review_5.html`.", + "type": "string" + }, + "type": { + "description": "Optional. Type of the review URI.", + "enum": [ + "TYPE_UNSPECIFIED", + "SINGLETON", + "GROUP" + ], + "enumDescriptions": [ + "Type unspecified.", + "The review page contains only this single review.", + "The review page contains a group of reviews including this review." + ], + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Merchant API", + "version": "reviews_v1beta", + "version_module": true +} \ No newline at end of file diff --git a/discovery/metastore-v1.json b/discovery/metastore-v1.json index 56363ceb62..758b0c13b4 100644 --- a/discovery/metastore-v1.json +++ b/discovery/metastore-v1.json @@ -1684,7 +1684,7 @@ } } }, - "revision": "20240709", + "revision": "20241203", "rootUrl": "https://metastore.googleapis.com/", "schemas": { "AlterMetadataResourceLocationRequest": { @@ -3023,7 +3023,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", + "description": "Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", "readOnly": true, "type": "boolean" }, @@ -3166,7 +3166,7 @@ "type": "object" }, "RestoreServiceRequest": { - "description": "Request message for DataprocMetastore.Restore.", + "description": "Request message for DataprocMetastore.RestoreService.", "id": "RestoreServiceRequest", "properties": { "backup": { diff --git a/discovery/metastore-v1alpha.json b/discovery/metastore-v1alpha.json index 4382f0af6d..10b4d272fd 100644 --- a/discovery/metastore-v1alpha.json +++ b/discovery/metastore-v1alpha.json @@ -1796,7 +1796,7 @@ } } }, - "revision": "20240709", + "revision": "20241203", "rootUrl": "https://metastore.googleapis.com/", "schemas": { "AlterMetadataResourceLocationRequest": { @@ -3232,7 +3232,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", + "description": "Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", "readOnly": true, "type": "boolean" }, @@ -3397,7 +3397,7 @@ "type": "object" }, "RestoreServiceRequest": { - "description": "Request message for DataprocMetastore.Restore.", + "description": "Request message for DataprocMetastore.RestoreService.", "id": "RestoreServiceRequest", "properties": { "backup": { diff --git a/discovery/metastore-v1beta.json b/discovery/metastore-v1beta.json index 17d8b8078a..ac66ab9d4f 100644 --- a/discovery/metastore-v1beta.json +++ b/discovery/metastore-v1beta.json @@ -1796,7 +1796,7 @@ } } }, - "revision": "20240709", + "revision": "20241203", "rootUrl": "https://metastore.googleapis.com/", "schemas": { "AlterMetadataResourceLocationRequest": { @@ -3232,7 +3232,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", + "description": "Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", "readOnly": true, "type": "boolean" }, @@ -3397,7 +3397,7 @@ "type": "object" }, "RestoreServiceRequest": { - "description": "Request message for DataprocMetastore.Restore.", + "description": "Request message for DataprocMetastore.RestoreService.", "id": "RestoreServiceRequest", "properties": { "backup": { diff --git a/discovery/metastore-v2.json b/discovery/metastore-v2.json new file mode 100644 index 0000000000..dd95c53399 --- /dev/null +++ b/discovery/metastore-v2.json @@ -0,0 +1,1813 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + } + } + } + }, + "basePath": "", + "baseUrl": "https://metastore.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Dataproc Metastore", + "description": "The Dataproc Metastore API is used to manage the lifecycle and configuration of metastore services.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/dataproc-metastore/docs", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "metastore:v2", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://metastore.mtls.googleapis.com/", + "name": "metastore", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "resources": { + "services": { + "methods": { + "alterLocation": { + "description": "Alter metadata resource location. The metadata resource can be a database, table, or partition. This functionality only updates the parent directory for the respective metadata resource and does not transfer any existing data to the new location.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:alterLocation", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.alterLocation", + "parameterOrder": [ + "service" + ], + "parameters": { + "service": { + "description": "Required. The relative resource name of the metastore service to mutate metadata, in the following format:projects/{project_id}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+service}:alterLocation", + "request": { + "$ref": "GoogleCloudMetastoreV2AlterMetadataResourceLocationRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "alterTableProperties": { + "description": "Alter metadata table properties.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:alterTableProperties", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.alterTableProperties", + "parameterOrder": [ + "service" + ], + "parameters": { + "service": { + "description": "Required. The relative resource name of the Dataproc Metastore service that's being used to mutate metadata table properties, in the following format:projects/{project_id}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+service}:alterTableProperties", + "request": { + "$ref": "GoogleCloudMetastoreV2AlterTablePropertiesRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Creates a metastore service in a project and location.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The relative resource name of the location in which to create a metastore service, in the following form:projects/{project_number}/locations/{location_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "location": "query", + "type": "string" + }, + "serviceId": { + "description": "Required. The ID of the metastore service, which is used as the final component of the metastore service's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens.", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+parent}/services", + "request": { + "$ref": "GoogleCloudMetastoreV2Service" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single service.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}", + "httpMethod": "DELETE", + "id": "metastore.projects.locations.services.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the metastore service to delete, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "exportMetadata": { + "description": "Exports metadata from a service.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:exportMetadata", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.exportMetadata", + "parameterOrder": [ + "service" + ], + "parameters": { + "service": { + "description": "Required. The relative resource name of the metastore service to run export, in the following form:projects/{project_id}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+service}:exportMetadata", + "request": { + "$ref": "GoogleCloudMetastoreV2ExportMetadataRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the details of a single service.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}", + "httpMethod": "GET", + "id": "metastore.projects.locations.services.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the metastore service to retrieve, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleCloudMetastoreV2Service" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "importMetadata": { + "description": "Imports Metadata into a Dataproc Metastore service.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:importMetadata", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.importMetadata", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. The relative resource name of the metastore service to run import, in the following form:projects/{project_id}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}:importMetadata", + "request": { + "$ref": "GoogleCloudMetastoreV2ImportMetadataRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists services in a project and location.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services", + "httpMethod": "GET", + "id": "metastore.projects.locations.services.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. The filter to apply to list results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Specify the ordering of results as described in Sorting Order (https://cloud.google.com/apis/design/design_patterns#sorting_order). If not specified, the results will be sorted in the default order.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of services to return. The response may contain less than the maximum number. If unspecified, no more than 500 services are returned. The maximum value is 1000; values above 1000 are changed to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous DataprocMetastore.ListServices call. Provide this token to retrieve the subsequent page.To retrieve the first page, supply an empty page token.When paginating, other parameters provided to DataprocMetastore.ListServices must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The relative resource name of the location of metastore services to list, in the following form:projects/{project_number}/locations/{location_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/services", + "response": { + "$ref": "GoogleCloudMetastoreV2ListServicesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "moveTableToDatabase": { + "description": "Move a table to another database.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:moveTableToDatabase", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.moveTableToDatabase", + "parameterOrder": [ + "service" + ], + "parameters": { + "service": { + "description": "Required. The relative resource name of the metastore service to mutate metadata, in the following format:projects/{project_id}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+service}:moveTableToDatabase", + "request": { + "$ref": "GoogleCloudMetastoreV2MoveTableToDatabaseRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single service.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}", + "httpMethod": "PATCH", + "id": "metastore.projects.locations.services.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. The relative resource name of the metastore service, in the following format:projects/{project_number}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. A field mask used to specify the fields to be overwritten in the metastore service resource by the update. Fields specified in the update_mask are relative to the resource (not to the full request). A field is overwritten if it is in the mask.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}", + "request": { + "$ref": "GoogleCloudMetastoreV2Service" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "queryMetadata": { + "description": "Query Dataproc Metastore metadata.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:queryMetadata", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.queryMetadata", + "parameterOrder": [ + "service" + ], + "parameters": { + "service": { + "description": "Required. The relative resource name of the metastore service to query metadata, in the following format:projects/{project_id}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+service}:queryMetadata", + "request": { + "$ref": "GoogleCloudMetastoreV2QueryMetadataRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "restore": { + "description": "Restores a service from a backup.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:restore", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.restore", + "parameterOrder": [ + "service" + ], + "parameters": { + "service": { + "description": "Required. The relative resource name of the metastore service to run restore, in the following form:projects/{project_id}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+service}:restore", + "request": { + "$ref": "GoogleCloudMetastoreV2RestoreServiceRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "backups": { + "methods": { + "create": { + "description": "Creates a new backup in a given project and location.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/backups", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.backups.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "backupId": { + "description": "Required. The ID of the backup, which is used as the final component of the backup's name.This value must be between 1 and 64 characters long, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The relative resource name of the service in which to create a backup of the following form:projects/{project_number}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+parent}/backups", + "request": { + "$ref": "GoogleCloudMetastoreV2Backup" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single backup.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/backups/{backupsId}", + "httpMethod": "DELETE", + "id": "metastore.projects.locations.services.backups.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the backup to delete, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/backups/{backup_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "location": "query", + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single backup.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/backups/{backupsId}", + "httpMethod": "GET", + "id": "metastore.projects.locations.services.backups.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the backup to retrieve, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/backups/{backup_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+name}", + "response": { + "$ref": "GoogleCloudMetastoreV2Backup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists backups in a service.", + "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/backups", + "httpMethod": "GET", + "id": "metastore.projects.locations.services.backups.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. The filter to apply to list results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Specify the ordering of results as described in Sorting Order (https://cloud.google.com/apis/design/design_patterns#sorting_order). If not specified, the results will be sorted in the default order.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of backups to return. The response may contain less than the maximum number. If unspecified, no more than 500 backups are returned. The maximum value is 1000; values above 1000 are changed to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous DataprocMetastore.ListBackups call. Provide this token to retrieve the subsequent page.To retrieve the first page, supply an empty page token.When paginating, other parameters provided to DataprocMetastore.ListBackups must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The relative resource name of the service whose backups to list, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/backups.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2/{+parent}/backups", + "response": { + "$ref": "GoogleCloudMetastoreV2ListBackupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20241203", + "rootUrl": "https://metastore.googleapis.com/", + "schemas": { + "GoogleCloudMetastoreV1AlterMetadataResourceLocationResponse": { + "description": "Response message for DataprocMetastore.AlterMetadataResourceLocation.", + "id": "GoogleCloudMetastoreV1AlterMetadataResourceLocationResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudMetastoreV1CustomRegionMetadata": { + "description": "Metadata about a custom region. This is only populated if the region is a custom region. For single/multi regions, it will be empty.", + "id": "GoogleCloudMetastoreV1CustomRegionMetadata", + "properties": { + "optionalReadOnlyRegions": { + "description": "The read-only regions for this custom region.", + "items": { + "type": "string" + }, + "type": "array" + }, + "requiredReadWriteRegions": { + "description": "The read-write regions for this custom region.", + "items": { + "type": "string" + }, + "type": "array" + }, + "witnessRegion": { + "description": "The Spanner witness region for this custom region.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1ErrorDetails": { + "description": "Error details in public error message for DataprocMetastore.QueryMetadata.", + "id": "GoogleCloudMetastoreV1ErrorDetails", + "properties": { + "details": { + "additionalProperties": { + "type": "string" + }, + "description": "Additional structured details about this error.Keys define the failure items. Value describes the exception or details of the item.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1HiveMetastoreVersion": { + "description": "A specification of a supported version of the Hive Metastore software.", + "id": "GoogleCloudMetastoreV1HiveMetastoreVersion", + "properties": { + "isDefault": { + "description": "Whether version will be chosen by the server if a metastore service is created with a HiveMetastoreConfig that omits the version.", + "type": "boolean" + }, + "version": { + "description": "The semantic version of the Hive Metastore software.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1LocationMetadata": { + "description": "Metadata about the service in a location.", + "id": "GoogleCloudMetastoreV1LocationMetadata", + "properties": { + "customRegionMetadata": { + "description": "Possible configurations supported if the current region is a custom region.", + "items": { + "$ref": "GoogleCloudMetastoreV1CustomRegionMetadata" + }, + "type": "array" + }, + "multiRegionMetadata": { + "$ref": "GoogleCloudMetastoreV1MultiRegionMetadata", + "description": "The multi-region metadata if the current region is a multi-region." + }, + "supportedHiveMetastoreVersions": { + "description": "The versions of Hive Metastore that can be used when creating a new metastore service in this location. The server guarantees that exactly one HiveMetastoreVersion in the list will set is_default.", + "items": { + "$ref": "GoogleCloudMetastoreV1HiveMetastoreVersion" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1MoveTableToDatabaseResponse": { + "description": "Response message for DataprocMetastore.MoveTableToDatabase.", + "id": "GoogleCloudMetastoreV1MoveTableToDatabaseResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudMetastoreV1MultiRegionMetadata": { + "description": "The metadata for the multi-region that includes the constituent regions. The metadata is only populated if the region is multi-region. For single region or custom dual region, it will be empty.", + "id": "GoogleCloudMetastoreV1MultiRegionMetadata", + "properties": { + "constituentRegions": { + "description": "The regions constituting the multi-region.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1OperationMetadata": { + "description": "Represents the metadata of a long-running operation.", + "id": "GoogleCloudMetastoreV1OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1QueryMetadataResponse": { + "description": "Response message for DataprocMetastore.QueryMetadata.", + "id": "GoogleCloudMetastoreV1QueryMetadataResponse", + "properties": { + "resultManifestUri": { + "description": "The manifest URI is link to a JSON instance in Cloud Storage. This instance manifests immediately along with QueryMetadataResponse. The content of the URI is not retriable until the long-running operation query against the metadata finishes.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaAlterMetadataResourceLocationResponse": { + "description": "Response message for DataprocMetastore.AlterMetadataResourceLocation.", + "id": "GoogleCloudMetastoreV1alphaAlterMetadataResourceLocationResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaCancelMigrationResponse": { + "description": "Response message for DataprocMetastore.CancelMigration.", + "id": "GoogleCloudMetastoreV1alphaCancelMigrationResponse", + "properties": { + "migrationExecution": { + "description": "The relative resource name of the migration execution, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/migrationExecutions/{migration_execution_id}.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaCompleteMigrationResponse": { + "description": "Response message for DataprocMetastore.CompleteMigration.", + "id": "GoogleCloudMetastoreV1alphaCompleteMigrationResponse", + "properties": { + "migrationExecution": { + "description": "The relative resource name of the migration execution, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/migrationExecutions/{migration_execution_id}.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaCustomRegionMetadata": { + "description": "Metadata about a custom region. This is only populated if the region is a custom region. For single/multi regions, it will be empty.", + "id": "GoogleCloudMetastoreV1alphaCustomRegionMetadata", + "properties": { + "optionalReadOnlyRegions": { + "description": "The read-only regions for this custom region.", + "items": { + "type": "string" + }, + "type": "array" + }, + "requiredReadWriteRegions": { + "description": "The read-write regions for this custom region.", + "items": { + "type": "string" + }, + "type": "array" + }, + "witnessRegion": { + "description": "The Spanner witness region for this custom region.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaErrorDetails": { + "description": "Error details in public error message for DataprocMetastore.QueryMetadata.", + "id": "GoogleCloudMetastoreV1alphaErrorDetails", + "properties": { + "details": { + "additionalProperties": { + "type": "string" + }, + "description": "Additional structured details about this error.Keys define the failure items. Value describes the exception or details of the item.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaHiveMetastoreVersion": { + "description": "A specification of a supported version of the Hive Metastore software.", + "id": "GoogleCloudMetastoreV1alphaHiveMetastoreVersion", + "properties": { + "isDefault": { + "description": "Whether version will be chosen by the server if a metastore service is created with a HiveMetastoreConfig that omits the version.", + "type": "boolean" + }, + "version": { + "description": "The semantic version of the Hive Metastore software.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaLocationMetadata": { + "description": "Metadata about the service in a location.", + "id": "GoogleCloudMetastoreV1alphaLocationMetadata", + "properties": { + "customRegionMetadata": { + "description": "Possible configurations supported if the current region is a custom region.", + "items": { + "$ref": "GoogleCloudMetastoreV1alphaCustomRegionMetadata" + }, + "type": "array" + }, + "multiRegionMetadata": { + "$ref": "GoogleCloudMetastoreV1alphaMultiRegionMetadata", + "description": "The multi-region metadata if the current region is a multi-region." + }, + "supportedHiveMetastoreVersions": { + "description": "The versions of Hive Metastore that can be used when creating a new metastore service in this location. The server guarantees that exactly one HiveMetastoreVersion in the list will set is_default.", + "items": { + "$ref": "GoogleCloudMetastoreV1alphaHiveMetastoreVersion" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaMoveTableToDatabaseResponse": { + "description": "Response message for DataprocMetastore.MoveTableToDatabase.", + "id": "GoogleCloudMetastoreV1alphaMoveTableToDatabaseResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaMultiRegionMetadata": { + "description": "The metadata for the multi-region that includes the constituent regions. The metadata is only populated if the region is multi-region. For single region or custom dual region, it will be empty.", + "id": "GoogleCloudMetastoreV1alphaMultiRegionMetadata", + "properties": { + "constituentRegions": { + "description": "The regions constituting the multi-region.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaOperationMetadata": { + "description": "Represents the metadata of a long-running operation.", + "id": "GoogleCloudMetastoreV1alphaOperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaQueryMetadataResponse": { + "description": "Response message for DataprocMetastore.QueryMetadata.", + "id": "GoogleCloudMetastoreV1alphaQueryMetadataResponse", + "properties": { + "resultManifestUri": { + "description": "The manifest URI is link to a JSON instance in Cloud Storage. This instance manifests immediately along with QueryMetadataResponse. The content of the URI is not retriable until the long-running operation query against the metadata finishes.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1betaAlterMetadataResourceLocationResponse": { + "description": "Response message for DataprocMetastore.AlterMetadataResourceLocation.", + "id": "GoogleCloudMetastoreV1betaAlterMetadataResourceLocationResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudMetastoreV1betaCancelMigrationResponse": { + "description": "Response message for DataprocMetastore.CancelMigration.", + "id": "GoogleCloudMetastoreV1betaCancelMigrationResponse", + "properties": { + "migrationExecution": { + "description": "The relative resource name of the migration execution, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/migrationExecutions/{migration_execution_id}.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1betaCompleteMigrationResponse": { + "description": "Response message for DataprocMetastore.CompleteMigration.", + "id": "GoogleCloudMetastoreV1betaCompleteMigrationResponse", + "properties": { + "migrationExecution": { + "description": "The relative resource name of the migration execution, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/migrationExecutions/{migration_execution_id}.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1betaCustomRegionMetadata": { + "description": "Metadata about a custom region. This is only populated if the region is a custom region. For single/multi regions, it will be empty.", + "id": "GoogleCloudMetastoreV1betaCustomRegionMetadata", + "properties": { + "optionalReadOnlyRegions": { + "description": "The read-only regions for this custom region.", + "items": { + "type": "string" + }, + "type": "array" + }, + "requiredReadWriteRegions": { + "description": "The read-write regions for this custom region.", + "items": { + "type": "string" + }, + "type": "array" + }, + "witnessRegion": { + "description": "The Spanner witness region for this custom region.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1betaErrorDetails": { + "description": "Error details in public error message for DataprocMetastore.QueryMetadata.", + "id": "GoogleCloudMetastoreV1betaErrorDetails", + "properties": { + "details": { + "additionalProperties": { + "type": "string" + }, + "description": "Additional structured details about this error.Keys define the failure items. Value describes the exception or details of the item.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1betaHiveMetastoreVersion": { + "description": "A specification of a supported version of the Hive Metastore software.", + "id": "GoogleCloudMetastoreV1betaHiveMetastoreVersion", + "properties": { + "isDefault": { + "description": "Whether version will be chosen by the server if a metastore service is created with a HiveMetastoreConfig that omits the version.", + "type": "boolean" + }, + "version": { + "description": "The semantic version of the Hive Metastore software.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1betaLocationMetadata": { + "description": "Metadata about the service in a location.", + "id": "GoogleCloudMetastoreV1betaLocationMetadata", + "properties": { + "customRegionMetadata": { + "description": "Possible configurations supported if the current region is a custom region.", + "items": { + "$ref": "GoogleCloudMetastoreV1betaCustomRegionMetadata" + }, + "type": "array" + }, + "multiRegionMetadata": { + "$ref": "GoogleCloudMetastoreV1betaMultiRegionMetadata", + "description": "The multi-region metadata if the current region is a multi-region." + }, + "supportedHiveMetastoreVersions": { + "description": "The versions of Hive Metastore that can be used when creating a new metastore service in this location. The server guarantees that exactly one HiveMetastoreVersion in the list will set is_default.", + "items": { + "$ref": "GoogleCloudMetastoreV1betaHiveMetastoreVersion" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1betaMoveTableToDatabaseResponse": { + "description": "Response message for DataprocMetastore.MoveTableToDatabase.", + "id": "GoogleCloudMetastoreV1betaMoveTableToDatabaseResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudMetastoreV1betaMultiRegionMetadata": { + "description": "The metadata for the multi-region that includes the constituent regions. The metadata is only populated if the region is multi-region. For single region or custom dual region, it will be empty.", + "id": "GoogleCloudMetastoreV1betaMultiRegionMetadata", + "properties": { + "constituentRegions": { + "description": "The regions constituting the multi-region.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1betaOperationMetadata": { + "description": "Represents the metadata of a long-running operation.", + "id": "GoogleCloudMetastoreV1betaOperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1betaQueryMetadataResponse": { + "description": "Response message for DataprocMetastore.QueryMetadata.", + "id": "GoogleCloudMetastoreV1betaQueryMetadataResponse", + "properties": { + "resultManifestUri": { + "description": "The manifest URI is link to a JSON instance in Cloud Storage. This instance manifests immediately along with QueryMetadataResponse. The content of the URI is not retriable until the long-running operation query against the metadata finishes.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2AlterMetadataResourceLocationRequest": { + "description": "Request message for DataprocMetastore.AlterMetadataResourceLocation.", + "id": "GoogleCloudMetastoreV2AlterMetadataResourceLocationRequest", + "properties": { + "locationUri": { + "description": "Required. The new location URI for the metadata resource.", + "type": "string" + }, + "resourceName": { + "description": "Required. The relative metadata resource name in the following format.databases/{database_id} or databases/{database_id}/tables/{table_id} or databases/{database_id}/tables/{table_id}/partitions/{partition_id}", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2AlterTablePropertiesRequest": { + "description": "Request message for DataprocMetastore.AlterTableProperties.", + "id": "GoogleCloudMetastoreV2AlterTablePropertiesRequest", + "properties": { + "properties": { + "additionalProperties": { + "type": "string" + }, + "description": "A map that describes the desired values to mutate. If update_mask is empty, the properties will not update. Otherwise, the properties only alters the value whose associated paths exist in the update mask", + "type": "object" + }, + "tableName": { + "description": "Required. The name of the table containing the properties you're altering in the following format.databases/{database_id}/tables/{table_id}", + "type": "string" + }, + "updateMask": { + "description": "A field mask that specifies the metadata table properties that are overwritten by the update. Fields specified in the update_mask are relative to the resource (not to the full request). A field is overwritten if it is in the mask.For example, given the target properties: properties { a: 1 b: 2 } And an update properties: properties { a: 2 b: 3 c: 4 } then if the field mask is:paths: \"properties.b\", \"properties.c\"then the result will be: properties { a: 1 b: 3 c: 4 } ", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2AuxiliaryVersionConfig": { + "description": "Configuration information for the auxiliary service versions.", + "id": "GoogleCloudMetastoreV2AuxiliaryVersionConfig", + "properties": { + "configOverrides": { + "additionalProperties": { + "type": "string" + }, + "description": "A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence.", + "type": "object" + }, + "endpoints": { + "description": "Output only. The list of endpoints used to access the auxiliary metastore service, includes version and region data.", + "items": { + "$ref": "GoogleCloudMetastoreV2Endpoint" + }, + "readOnly": true, + "type": "array" + }, + "version": { + "description": "The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2Backup": { + "description": "The details of a backup resource.", + "id": "GoogleCloudMetastoreV2Backup", + "properties": { + "createTime": { + "description": "Output only. The time when the backup was started.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the backup.", + "type": "string" + }, + "endTime": { + "description": "Output only. The time when the backup finished creating.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Immutable. The relative resource name of the backup, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/backups/{backup_id}", + "type": "string" + }, + "restoringServices": { + "description": "Output only. Services that are restoring from the backup.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "serviceRevision": { + "$ref": "GoogleCloudMetastoreV2Service", + "description": "Output only. The revision of the service at the time of backup.", + "readOnly": true + }, + "state": { + "description": "Output only. The current state of the backup.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "DELETING", + "ACTIVE", + "FAILED", + "RESTORING" + ], + "enumDescriptions": [ + "The state of the backup is unknown.", + "The backup is being created.", + "The backup is being deleted.", + "The backup is active and ready to use.", + "The backup failed.", + "The backup is being restored." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2DataCatalogConfig": { + "description": "Specifies how metastore metadata should be integrated with the Data Catalog service.", + "id": "GoogleCloudMetastoreV2DataCatalogConfig", + "properties": { + "enabled": { + "description": "Optional. Defines whether the metastore metadata should be synced to Data Catalog. The default value is to disable syncing metastore metadata to Data Catalog.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2DatabaseDump": { + "description": "A specification of the location of and metadata about a database dump from a relational database management system.", + "id": "GoogleCloudMetastoreV2DatabaseDump", + "properties": { + "gcsUri": { + "description": "Required. A Cloud Storage object or folder URI that specifies the source from which to import metadata. It must begin with gs://.", + "type": "string" + }, + "type": { + "description": "Optional. The type of the database dump. If unspecified, defaults to MYSQL.", + "enum": [ + "TYPE_UNSPECIFIED", + "MYSQL", + "AVRO" + ], + "enumDescriptions": [ + "The type of the database dump is unknown.", + "Database dump is a MySQL dump file.", + "Database dump contains Avro files." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2EncryptionConfig": { + "description": "Encryption settings for the service.", + "id": "GoogleCloudMetastoreV2EncryptionConfig", + "properties": {}, + "type": "object" + }, + "GoogleCloudMetastoreV2Endpoint": { + "description": "An endpoint used to access the metastore service.", + "id": "GoogleCloudMetastoreV2Endpoint", + "properties": { + "endpointUri": { + "description": "Output only. The URI of the endpoint used to access the metastore service.", + "readOnly": true, + "type": "string" + }, + "region": { + "description": "Output only. The region where the endpoint is located.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2ExportMetadataRequest": { + "description": "Request message for DataprocMetastore.ExportMetadata.", + "id": "GoogleCloudMetastoreV2ExportMetadataRequest", + "properties": { + "databaseDumpType": { + "description": "Optional. The type of the database dump. If unspecified, defaults to MYSQL.", + "enum": [ + "TYPE_UNSPECIFIED", + "MYSQL", + "AVRO" + ], + "enumDescriptions": [ + "The type of the database dump is unknown.", + "Database dump is a MySQL dump file.", + "Database dump contains Avro files." + ], + "type": "string" + }, + "destinationGcsFolder": { + "description": "A Cloud Storage URI of a folder, in the format gs:///. A sub-folder containing exported files will be created below it.", + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format). A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2HiveMetastoreConfig": { + "description": "Specifies configuration information specific to running Hive metastore software as the metastore service.", + "id": "GoogleCloudMetastoreV2HiveMetastoreConfig", + "properties": { + "auxiliaryVersions": { + "additionalProperties": { + "$ref": "GoogleCloudMetastoreV2AuxiliaryVersionConfig" + }, + "description": "Optional. A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.", + "type": "object" + }, + "configOverrides": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig.", + "type": "object" + }, + "endpointProtocol": { + "description": "Optional. The protocol to use for the metastore service endpoint. If unspecified, defaults to GRPC.", + "enum": [ + "ENDPOINT_PROTOCOL_UNSPECIFIED", + "THRIFT", + "GRPC" + ], + "enumDescriptions": [ + "The protocol is not set.", + "Use the legacy Apache Thrift protocol for the metastore service endpoint.", + "Use the modernized gRPC protocol for the metastore service endpoint." + ], + "type": "string" + }, + "version": { + "description": "Immutable. The Hive metastore schema version.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2ImportMetadataRequest": { + "description": "Request message for DataprocMetastore.CreateMetadataImport.", + "id": "GoogleCloudMetastoreV2ImportMetadataRequest", + "properties": { + "databaseDump": { + "$ref": "GoogleCloudMetastoreV2DatabaseDump", + "description": "Immutable. A database dump from a pre-existing metastore's database." + }, + "description": { + "description": "Optional. The description of the metadata import.", + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format). A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2LatestBackup": { + "description": "The details of the latest scheduled backup.", + "id": "GoogleCloudMetastoreV2LatestBackup", + "properties": { + "backupId": { + "description": "Output only. The ID of an in-progress scheduled backup. Empty if no backup is in progress.", + "readOnly": true, + "type": "string" + }, + "duration": { + "description": "Output only. The duration of the backup completion.", + "format": "google-duration", + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. The time when the backup was started.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The current state of the backup.", + "enum": [ + "STATE_UNSPECIFIED", + "IN_PROGRESS", + "SUCCEEDED", + "FAILED" + ], + "enumDescriptions": [ + "The state of the backup is unknown.", + "The backup is in progress.", + "The backup completed.", + "The backup failed." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2ListBackupsResponse": { + "description": "Response message for DataprocMetastore.ListBackups.", + "id": "GoogleCloudMetastoreV2ListBackupsResponse", + "properties": { + "backups": { + "description": "The backups of the specified service.", + "items": { + "$ref": "GoogleCloudMetastoreV2Backup" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2ListServicesResponse": { + "description": "Response message for DataprocMetastore.ListServices.", + "id": "GoogleCloudMetastoreV2ListServicesResponse", + "properties": { + "nextPageToken": { + "description": "A token that can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "services": { + "description": "The services in the specified location.", + "items": { + "$ref": "GoogleCloudMetastoreV2Service" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2MetadataIntegration": { + "description": "Specifies how metastore metadata should be integrated with external services.", + "id": "GoogleCloudMetastoreV2MetadataIntegration", + "properties": { + "dataCatalogConfig": { + "$ref": "GoogleCloudMetastoreV2DataCatalogConfig", + "description": "Optional. The integration config for the Data Catalog service." + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2MoveTableToDatabaseRequest": { + "description": "Request message for DataprocMetastore.MoveTableToDatabase.", + "id": "GoogleCloudMetastoreV2MoveTableToDatabaseRequest", + "properties": { + "dbName": { + "description": "Required. The name of the database where the table resides.", + "type": "string" + }, + "destinationDbName": { + "description": "Required. The name of the database where the table should be moved.", + "type": "string" + }, + "tableName": { + "description": "Required. The name of the table to be moved.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2QueryMetadataRequest": { + "description": "Request message for DataprocMetastore.QueryMetadata.", + "id": "GoogleCloudMetastoreV2QueryMetadataRequest", + "properties": { + "query": { + "description": "Required. A read-only SQL query to execute against the metadata database. The query cannot change or mutate the data.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2RestoreServiceRequest": { + "description": "Request message for DataprocMetastore.Restore.", + "id": "GoogleCloudMetastoreV2RestoreServiceRequest", + "properties": { + "backup": { + "description": "Optional. The relative resource name of the metastore service backup to restore from, in the following form:projects/{project_id}/locations/{location_id}/services/{service_id}/backups/{backup_id}. Mutually exclusive with backup_location, and exactly one of the two must be set.", + "type": "string" + }, + "backupLocation": { + "description": "Optional. A Cloud Storage URI specifying the location of the backup artifacts, namely - backup avro files under \"avro/\", backup_metastore.json and service.json, in the following form:gs://. Mutually exclusive with backup, and exactly one of the two must be set.", + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format). A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "type": "string" + }, + "restoreType": { + "description": "Optional. The type of restore. If unspecified, defaults to METADATA_ONLY.", + "enum": [ + "RESTORE_TYPE_UNSPECIFIED", + "FULL", + "METADATA_ONLY" + ], + "enumDescriptions": [ + "The restore type is unknown.", + "The service's metadata and configuration are restored.", + "Only the service's metadata is restored." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2ScalingConfig": { + "description": "Represents the scaling configuration of a metastore service.", + "id": "GoogleCloudMetastoreV2ScalingConfig", + "properties": { + "scalingFactor": { + "description": "Optional. Scaling factor from 1 to 5, increments of 1.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2ScheduledBackup": { + "description": "This specifies the configuration of scheduled backup.", + "id": "GoogleCloudMetastoreV2ScheduledBackup", + "properties": { + "backupLocation": { + "description": "Optional. A Cloud Storage URI of a folder, in the format gs:///. A sub-folder containing backup files will be stored below it.", + "type": "string" + }, + "cronSchedule": { + "description": "Optional. The scheduled interval in Cron format, see https://en.wikipedia.org/wiki/Cron The default is empty: scheduled backup is not enabled. Must be specified to enable scheduled backups.", + "type": "string" + }, + "enabled": { + "description": "Optional. Defines whether the scheduled backup is enabled. The default value is false.", + "type": "boolean" + }, + "latestBackup": { + "$ref": "GoogleCloudMetastoreV2LatestBackup", + "description": "Output only. The details of the latest scheduled backup.", + "readOnly": true + }, + "nextScheduledTime": { + "description": "Output only. The time when the next backups execution is scheduled to start.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "timeZone": { + "description": "Optional. Specifies the time zone to be used when interpreting cron_schedule. Must be a time zone name from the time zone database (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones), e.g. America/Los_Angeles or Africa/Abidjan. If left unspecified, the default is UTC.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2Service": { + "description": "A managed metastore service that serves metadata queries.", + "id": "GoogleCloudMetastoreV2Service", + "properties": { + "createTime": { + "description": "Output only. The time when the metastore service was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "encryptionConfig": { + "$ref": "GoogleCloudMetastoreV2EncryptionConfig", + "description": "Immutable. Information used to configure the Dataproc Metastore service to encrypt customer data at rest. Cannot be updated." + }, + "endpoints": { + "description": "Output only. The list of endpoints used to access the metastore service.", + "items": { + "$ref": "GoogleCloudMetastoreV2Endpoint" + }, + "readOnly": true, + "type": "array" + }, + "hiveMetastoreConfig": { + "$ref": "GoogleCloudMetastoreV2HiveMetastoreConfig", + "description": "Configuration information specific to running Hive metastore software as the metastore service." + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "User-defined labels for the metastore service.", + "type": "object" + }, + "metadataIntegration": { + "$ref": "GoogleCloudMetastoreV2MetadataIntegration", + "description": "Optional. The setting that defines how metastore metadata should be integrated with external services and systems." + }, + "name": { + "description": "Immutable. The relative resource name of the metastore service, in the following format:projects/{project_number}/locations/{location_id}/services/{service_id}.", + "type": "string" + }, + "scalingConfig": { + "$ref": "GoogleCloudMetastoreV2ScalingConfig", + "description": "Optional. Scaling configuration of the metastore service." + }, + "scheduledBackup": { + "$ref": "GoogleCloudMetastoreV2ScheduledBackup", + "description": "Optional. The configuration of scheduled backup for the metastore service." + }, + "state": { + "description": "Output only. The current state of the metastore service.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "SUSPENDING", + "SUSPENDED", + "UPDATING", + "DELETING", + "ERROR" + ], + "enumDescriptions": [ + "The state of the metastore service is unknown.", + "The metastore service is in the process of being created.", + "The metastore service is running and ready to serve queries.", + "The metastore service is entering suspension. Its query-serving availability may cease unexpectedly.", + "The metastore service is suspended and unable to serve queries.", + "The metastore service is being updated. It remains usable but cannot accept additional update requests or be deleted at this time.", + "The metastore service is undergoing deletion. It cannot be used.", + "The metastore service has encountered an error and cannot be used. The metastore service should be deleted." + ], + "readOnly": true, + "type": "string" + }, + "stateMessage": { + "description": "Output only. Additional information about the current state of the metastore service, if available.", + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. The globally unique resource identifier of the metastore service.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time when the metastore service was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "warehouseGcsUri": { + "description": "Required. A Cloud Storage URI (starting with gs://) that specifies the default warehouse directory of the Hive Metastore.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleLongrunningOperation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "GoogleLongrunningOperation", + "properties": { + "done": { + "description": "If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.", + "type": "boolean" + }, + "error": { + "$ref": "GoogleRpcStatus", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id}.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleRpcStatus": { + "description": "The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors).", + "id": "GoogleRpcStatus", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Dataproc Metastore API", + "version": "v2", + "version_module": true +} \ No newline at end of file diff --git a/discovery/metastore-v2alpha.json b/discovery/metastore-v2alpha.json new file mode 100644 index 0000000000..05153aa760 --- /dev/null +++ b/discovery/metastore-v2alpha.json @@ -0,0 +1,2313 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + } + } + } + }, + "basePath": "", + "baseUrl": "https://metastore.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Dataproc Metastore", + "description": "The Dataproc Metastore API is used to manage the lifecycle and configuration of metastore services.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/dataproc-metastore/docs", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "metastore:v2alpha", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://metastore.mtls.googleapis.com/", + "name": "metastore", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "resources": { + "services": { + "methods": { + "alterLocation": { + "description": "Alter metadata resource location. The metadata resource can be a database, table, or partition. This functionality only updates the parent directory for the respective metadata resource and does not transfer any existing data to the new location.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:alterLocation", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.alterLocation", + "parameterOrder": [ + "service" + ], + "parameters": { + "service": { + "description": "Required. The relative resource name of the metastore service to mutate metadata, in the following format:projects/{project_id}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+service}:alterLocation", + "request": { + "$ref": "GoogleCloudMetastoreV2alphaAlterMetadataResourceLocationRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "alterTableProperties": { + "description": "Alter metadata table properties.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:alterTableProperties", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.alterTableProperties", + "parameterOrder": [ + "service" + ], + "parameters": { + "service": { + "description": "Required. The relative resource name of the Dataproc Metastore service that's being used to mutate metadata table properties, in the following format:projects/{project_id}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+service}:alterTableProperties", + "request": { + "$ref": "GoogleCloudMetastoreV2alphaAlterTablePropertiesRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "cancelMigration": { + "description": "Cancels the ongoing Managed Migration process.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:cancelMigration", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.cancelMigration", + "parameterOrder": [ + "service" + ], + "parameters": { + "service": { + "description": "Required. The relative resource name of the metastore service to cancel the ongoing migration to, in the following format:projects/{project_id}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+service}:cancelMigration", + "request": { + "$ref": "GoogleCloudMetastoreV2alphaCancelMigrationRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "completeMigration": { + "description": "Completes the managed migration process. The Dataproc Metastore service will switch to using its own backend database after successful migration.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:completeMigration", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.completeMigration", + "parameterOrder": [ + "service" + ], + "parameters": { + "service": { + "description": "Required. The relative resource name of the metastore service to complete the migration to, in the following format:projects/{project_id}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+service}:completeMigration", + "request": { + "$ref": "GoogleCloudMetastoreV2alphaCompleteMigrationRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Creates a metastore service in a project and location.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/services", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The relative resource name of the location in which to create a metastore service, in the following form:projects/{project_number}/locations/{location_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "location": "query", + "type": "string" + }, + "serviceId": { + "description": "Required. The ID of the metastore service, which is used as the final component of the metastore service's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens.", + "location": "query", + "type": "string" + } + }, + "path": "v2alpha/{+parent}/services", + "request": { + "$ref": "GoogleCloudMetastoreV2alphaService" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single service.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/services/{servicesId}", + "httpMethod": "DELETE", + "id": "metastore.projects.locations.services.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the metastore service to delete, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "location": "query", + "type": "string" + } + }, + "path": "v2alpha/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "exportMetadata": { + "description": "Exports metadata from a service.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:exportMetadata", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.exportMetadata", + "parameterOrder": [ + "service" + ], + "parameters": { + "service": { + "description": "Required. The relative resource name of the metastore service to run export, in the following form:projects/{project_id}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+service}:exportMetadata", + "request": { + "$ref": "GoogleCloudMetastoreV2alphaExportMetadataRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the details of a single service.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/services/{servicesId}", + "httpMethod": "GET", + "id": "metastore.projects.locations.services.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the metastore service to retrieve, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+name}", + "response": { + "$ref": "GoogleCloudMetastoreV2alphaService" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "importMetadata": { + "description": "Imports Metadata into a Dataproc Metastore service.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:importMetadata", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.importMetadata", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. The relative resource name of the metastore service to run import, in the following form:projects/{project_id}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+name}:importMetadata", + "request": { + "$ref": "GoogleCloudMetastoreV2alphaImportMetadataRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists services in a project and location.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/services", + "httpMethod": "GET", + "id": "metastore.projects.locations.services.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. The filter to apply to list results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Specify the ordering of results as described in Sorting Order (https://cloud.google.com/apis/design/design_patterns#sorting_order). If not specified, the results will be sorted in the default order.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of services to return. The response may contain less than the maximum number. If unspecified, no more than 500 services are returned. The maximum value is 1000; values above 1000 are changed to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous DataprocMetastore.ListServices call. Provide this token to retrieve the subsequent page.To retrieve the first page, supply an empty page token.When paginating, other parameters provided to DataprocMetastore.ListServices must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The relative resource name of the location of metastore services to list, in the following form:projects/{project_number}/locations/{location_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+parent}/services", + "response": { + "$ref": "GoogleCloudMetastoreV2alphaListServicesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "moveTableToDatabase": { + "description": "Move a table to another database.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:moveTableToDatabase", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.moveTableToDatabase", + "parameterOrder": [ + "service" + ], + "parameters": { + "service": { + "description": "Required. The relative resource name of the metastore service to mutate metadata, in the following format:projects/{project_id}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+service}:moveTableToDatabase", + "request": { + "$ref": "GoogleCloudMetastoreV2alphaMoveTableToDatabaseRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single service.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/services/{servicesId}", + "httpMethod": "PATCH", + "id": "metastore.projects.locations.services.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. The relative resource name of the metastore service, in the following format:projects/{project_number}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. A field mask used to specify the fields to be overwritten in the metastore service resource by the update. Fields specified in the update_mask are relative to the resource (not to the full request). A field is overwritten if it is in the mask.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2alpha/{+name}", + "request": { + "$ref": "GoogleCloudMetastoreV2alphaService" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "queryMetadata": { + "description": "Query Dataproc Metastore metadata.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:queryMetadata", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.queryMetadata", + "parameterOrder": [ + "service" + ], + "parameters": { + "service": { + "description": "Required. The relative resource name of the metastore service to query metadata, in the following format:projects/{project_id}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+service}:queryMetadata", + "request": { + "$ref": "GoogleCloudMetastoreV2alphaQueryMetadataRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "removeIamPolicy": { + "description": "Removes the attached IAM policies for a resource", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/{servicesId1}:removeIamPolicy", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.removeIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "Required. The relative resource name of the dataplane resource to remove IAM policy, in the following form:projects/{project_id}/locations/{location_id}/services/{service_id}/databases/{database_id} or projects/{project_id}/locations/{location_id}/services/{service_id}/databases/{database_id}/tables/{table_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/.*$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+resource}:removeIamPolicy", + "request": { + "$ref": "GoogleCloudMetastoreV2alphaRemoveIamPolicyRequest" + }, + "response": { + "$ref": "GoogleCloudMetastoreV2alphaRemoveIamPolicyResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "restore": { + "description": "Restores a service from a backup.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:restore", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.restore", + "parameterOrder": [ + "service" + ], + "parameters": { + "service": { + "description": "Required. The relative resource name of the metastore service to run restore, in the following form:projects/{project_id}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+service}:restore", + "request": { + "$ref": "GoogleCloudMetastoreV2alphaRestoreServiceRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "startMigration": { + "description": "Starts the Managed Migration process.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:startMigration", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.startMigration", + "parameterOrder": [ + "service" + ], + "parameters": { + "service": { + "description": "Required. The relative resource name of the metastore service to start migrating to, in the following format:projects/{project_id}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+service}:startMigration", + "request": { + "$ref": "GoogleCloudMetastoreV2alphaStartMigrationRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "backups": { + "methods": { + "create": { + "description": "Creates a new backup in a given project and location.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/backups", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.backups.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "backupId": { + "description": "Required. The ID of the backup, which is used as the final component of the backup's name.This value must be between 1 and 64 characters long, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The relative resource name of the service in which to create a backup of the following form:projects/{project_number}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "location": "query", + "type": "string" + } + }, + "path": "v2alpha/{+parent}/backups", + "request": { + "$ref": "GoogleCloudMetastoreV2alphaBackup" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single backup.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/backups/{backupsId}", + "httpMethod": "DELETE", + "id": "metastore.projects.locations.services.backups.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the backup to delete, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/backups/{backup_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "location": "query", + "type": "string" + } + }, + "path": "v2alpha/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single backup.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/backups/{backupsId}", + "httpMethod": "GET", + "id": "metastore.projects.locations.services.backups.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the backup to retrieve, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/backups/{backup_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+name}", + "response": { + "$ref": "GoogleCloudMetastoreV2alphaBackup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists backups in a service.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/backups", + "httpMethod": "GET", + "id": "metastore.projects.locations.services.backups.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. The filter to apply to list results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Specify the ordering of results as described in Sorting Order (https://cloud.google.com/apis/design/design_patterns#sorting_order). If not specified, the results will be sorted in the default order.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of backups to return. The response may contain less than the maximum number. If unspecified, no more than 500 backups are returned. The maximum value is 1000; values above 1000 are changed to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous DataprocMetastore.ListBackups call. Provide this token to retrieve the subsequent page.To retrieve the first page, supply an empty page token.When paginating, other parameters provided to DataprocMetastore.ListBackups must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The relative resource name of the service whose backups to list, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/backups.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+parent}/backups", + "response": { + "$ref": "GoogleCloudMetastoreV2alphaListBackupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "migrationExecutions": { + "methods": { + "delete": { + "description": "Deletes a single migration execution.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/migrationExecutions/{migrationExecutionsId}", + "httpMethod": "DELETE", + "id": "metastore.projects.locations.services.migrationExecutions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the migrationExecution to delete, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/migrationExecutions/{migration_execution_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/migrationExecutions/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "location": "query", + "type": "string" + } + }, + "path": "v2alpha/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single migration execution.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/migrationExecutions/{migrationExecutionsId}", + "httpMethod": "GET", + "id": "metastore.projects.locations.services.migrationExecutions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the migration execution to retrieve, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/migrationExecutions/{migration_execution_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/migrationExecutions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+name}", + "response": { + "$ref": "GoogleCloudMetastoreV2alphaMigrationExecution" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists migration executions on a service.", + "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/migrationExecutions", + "httpMethod": "GET", + "id": "metastore.projects.locations.services.migrationExecutions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. The filter to apply to list results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Specify the ordering of results as described in Sorting Order (https://cloud.google.com/apis/design/design_patterns#sorting_order). If not specified, the results will be sorted in the default order.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of migration executions to return. The response may contain less than the maximum number. If unspecified, no more than 500 migration executions are returned. The maximum value is 1000; values above 1000 are changed to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous DataprocMetastore.ListMigrationExecutions call. Provide this token to retrieve the subsequent page.To retrieve the first page, supply an empty page token.When paginating, other parameters provided to DataprocMetastore.ListMigrationExecutions must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The relative resource name of the service whose migration executions to list, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/migrationExecutions.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha/{+parent}/migrationExecutions", + "response": { + "$ref": "GoogleCloudMetastoreV2alphaListMigrationExecutionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20241203", + "rootUrl": "https://metastore.googleapis.com/", + "schemas": { + "GoogleCloudMetastoreV1AlterMetadataResourceLocationResponse": { + "description": "Response message for DataprocMetastore.AlterMetadataResourceLocation.", + "id": "GoogleCloudMetastoreV1AlterMetadataResourceLocationResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudMetastoreV1CustomRegionMetadata": { + "description": "Metadata about a custom region. This is only populated if the region is a custom region. For single/multi regions, it will be empty.", + "id": "GoogleCloudMetastoreV1CustomRegionMetadata", + "properties": { + "optionalReadOnlyRegions": { + "description": "The read-only regions for this custom region.", + "items": { + "type": "string" + }, + "type": "array" + }, + "requiredReadWriteRegions": { + "description": "The read-write regions for this custom region.", + "items": { + "type": "string" + }, + "type": "array" + }, + "witnessRegion": { + "description": "The Spanner witness region for this custom region.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1ErrorDetails": { + "description": "Error details in public error message for DataprocMetastore.QueryMetadata.", + "id": "GoogleCloudMetastoreV1ErrorDetails", + "properties": { + "details": { + "additionalProperties": { + "type": "string" + }, + "description": "Additional structured details about this error.Keys define the failure items. Value describes the exception or details of the item.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1HiveMetastoreVersion": { + "description": "A specification of a supported version of the Hive Metastore software.", + "id": "GoogleCloudMetastoreV1HiveMetastoreVersion", + "properties": { + "isDefault": { + "description": "Whether version will be chosen by the server if a metastore service is created with a HiveMetastoreConfig that omits the version.", + "type": "boolean" + }, + "version": { + "description": "The semantic version of the Hive Metastore software.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1LocationMetadata": { + "description": "Metadata about the service in a location.", + "id": "GoogleCloudMetastoreV1LocationMetadata", + "properties": { + "customRegionMetadata": { + "description": "Possible configurations supported if the current region is a custom region.", + "items": { + "$ref": "GoogleCloudMetastoreV1CustomRegionMetadata" + }, + "type": "array" + }, + "multiRegionMetadata": { + "$ref": "GoogleCloudMetastoreV1MultiRegionMetadata", + "description": "The multi-region metadata if the current region is a multi-region." + }, + "supportedHiveMetastoreVersions": { + "description": "The versions of Hive Metastore that can be used when creating a new metastore service in this location. The server guarantees that exactly one HiveMetastoreVersion in the list will set is_default.", + "items": { + "$ref": "GoogleCloudMetastoreV1HiveMetastoreVersion" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1MoveTableToDatabaseResponse": { + "description": "Response message for DataprocMetastore.MoveTableToDatabase.", + "id": "GoogleCloudMetastoreV1MoveTableToDatabaseResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudMetastoreV1MultiRegionMetadata": { + "description": "The metadata for the multi-region that includes the constituent regions. The metadata is only populated if the region is multi-region. For single region or custom dual region, it will be empty.", + "id": "GoogleCloudMetastoreV1MultiRegionMetadata", + "properties": { + "constituentRegions": { + "description": "The regions constituting the multi-region.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1OperationMetadata": { + "description": "Represents the metadata of a long-running operation.", + "id": "GoogleCloudMetastoreV1OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1QueryMetadataResponse": { + "description": "Response message for DataprocMetastore.QueryMetadata.", + "id": "GoogleCloudMetastoreV1QueryMetadataResponse", + "properties": { + "resultManifestUri": { + "description": "The manifest URI is link to a JSON instance in Cloud Storage. This instance manifests immediately along with QueryMetadataResponse. The content of the URI is not retriable until the long-running operation query against the metadata finishes.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaAlterMetadataResourceLocationResponse": { + "description": "Response message for DataprocMetastore.AlterMetadataResourceLocation.", + "id": "GoogleCloudMetastoreV1alphaAlterMetadataResourceLocationResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaCancelMigrationResponse": { + "description": "Response message for DataprocMetastore.CancelMigration.", + "id": "GoogleCloudMetastoreV1alphaCancelMigrationResponse", + "properties": { + "migrationExecution": { + "description": "The relative resource name of the migration execution, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/migrationExecutions/{migration_execution_id}.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaCompleteMigrationResponse": { + "description": "Response message for DataprocMetastore.CompleteMigration.", + "id": "GoogleCloudMetastoreV1alphaCompleteMigrationResponse", + "properties": { + "migrationExecution": { + "description": "The relative resource name of the migration execution, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/migrationExecutions/{migration_execution_id}.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaCustomRegionMetadata": { + "description": "Metadata about a custom region. This is only populated if the region is a custom region. For single/multi regions, it will be empty.", + "id": "GoogleCloudMetastoreV1alphaCustomRegionMetadata", + "properties": { + "optionalReadOnlyRegions": { + "description": "The read-only regions for this custom region.", + "items": { + "type": "string" + }, + "type": "array" + }, + "requiredReadWriteRegions": { + "description": "The read-write regions for this custom region.", + "items": { + "type": "string" + }, + "type": "array" + }, + "witnessRegion": { + "description": "The Spanner witness region for this custom region.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaErrorDetails": { + "description": "Error details in public error message for DataprocMetastore.QueryMetadata.", + "id": "GoogleCloudMetastoreV1alphaErrorDetails", + "properties": { + "details": { + "additionalProperties": { + "type": "string" + }, + "description": "Additional structured details about this error.Keys define the failure items. Value describes the exception or details of the item.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaHiveMetastoreVersion": { + "description": "A specification of a supported version of the Hive Metastore software.", + "id": "GoogleCloudMetastoreV1alphaHiveMetastoreVersion", + "properties": { + "isDefault": { + "description": "Whether version will be chosen by the server if a metastore service is created with a HiveMetastoreConfig that omits the version.", + "type": "boolean" + }, + "version": { + "description": "The semantic version of the Hive Metastore software.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaLocationMetadata": { + "description": "Metadata about the service in a location.", + "id": "GoogleCloudMetastoreV1alphaLocationMetadata", + "properties": { + "customRegionMetadata": { + "description": "Possible configurations supported if the current region is a custom region.", + "items": { + "$ref": "GoogleCloudMetastoreV1alphaCustomRegionMetadata" + }, + "type": "array" + }, + "multiRegionMetadata": { + "$ref": "GoogleCloudMetastoreV1alphaMultiRegionMetadata", + "description": "The multi-region metadata if the current region is a multi-region." + }, + "supportedHiveMetastoreVersions": { + "description": "The versions of Hive Metastore that can be used when creating a new metastore service in this location. The server guarantees that exactly one HiveMetastoreVersion in the list will set is_default.", + "items": { + "$ref": "GoogleCloudMetastoreV1alphaHiveMetastoreVersion" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaMoveTableToDatabaseResponse": { + "description": "Response message for DataprocMetastore.MoveTableToDatabase.", + "id": "GoogleCloudMetastoreV1alphaMoveTableToDatabaseResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaMultiRegionMetadata": { + "description": "The metadata for the multi-region that includes the constituent regions. The metadata is only populated if the region is multi-region. For single region or custom dual region, it will be empty.", + "id": "GoogleCloudMetastoreV1alphaMultiRegionMetadata", + "properties": { + "constituentRegions": { + "description": "The regions constituting the multi-region.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaOperationMetadata": { + "description": "Represents the metadata of a long-running operation.", + "id": "GoogleCloudMetastoreV1alphaOperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaQueryMetadataResponse": { + "description": "Response message for DataprocMetastore.QueryMetadata.", + "id": "GoogleCloudMetastoreV1alphaQueryMetadataResponse", + "properties": { + "resultManifestUri": { + "description": "The manifest URI is link to a JSON instance in Cloud Storage. This instance manifests immediately along with QueryMetadataResponse. The content of the URI is not retriable until the long-running operation query against the metadata finishes.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1betaAlterMetadataResourceLocationResponse": { + "description": "Response message for DataprocMetastore.AlterMetadataResourceLocation.", + "id": "GoogleCloudMetastoreV1betaAlterMetadataResourceLocationResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudMetastoreV1betaCancelMigrationResponse": { + "description": "Response message for DataprocMetastore.CancelMigration.", + "id": "GoogleCloudMetastoreV1betaCancelMigrationResponse", + "properties": { + "migrationExecution": { + "description": "The relative resource name of the migration execution, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/migrationExecutions/{migration_execution_id}.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1betaCompleteMigrationResponse": { + "description": "Response message for DataprocMetastore.CompleteMigration.", + "id": "GoogleCloudMetastoreV1betaCompleteMigrationResponse", + "properties": { + "migrationExecution": { + "description": "The relative resource name of the migration execution, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/migrationExecutions/{migration_execution_id}.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1betaCustomRegionMetadata": { + "description": "Metadata about a custom region. This is only populated if the region is a custom region. For single/multi regions, it will be empty.", + "id": "GoogleCloudMetastoreV1betaCustomRegionMetadata", + "properties": { + "optionalReadOnlyRegions": { + "description": "The read-only regions for this custom region.", + "items": { + "type": "string" + }, + "type": "array" + }, + "requiredReadWriteRegions": { + "description": "The read-write regions for this custom region.", + "items": { + "type": "string" + }, + "type": "array" + }, + "witnessRegion": { + "description": "The Spanner witness region for this custom region.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1betaErrorDetails": { + "description": "Error details in public error message for DataprocMetastore.QueryMetadata.", + "id": "GoogleCloudMetastoreV1betaErrorDetails", + "properties": { + "details": { + "additionalProperties": { + "type": "string" + }, + "description": "Additional structured details about this error.Keys define the failure items. Value describes the exception or details of the item.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1betaHiveMetastoreVersion": { + "description": "A specification of a supported version of the Hive Metastore software.", + "id": "GoogleCloudMetastoreV1betaHiveMetastoreVersion", + "properties": { + "isDefault": { + "description": "Whether version will be chosen by the server if a metastore service is created with a HiveMetastoreConfig that omits the version.", + "type": "boolean" + }, + "version": { + "description": "The semantic version of the Hive Metastore software.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1betaLocationMetadata": { + "description": "Metadata about the service in a location.", + "id": "GoogleCloudMetastoreV1betaLocationMetadata", + "properties": { + "customRegionMetadata": { + "description": "Possible configurations supported if the current region is a custom region.", + "items": { + "$ref": "GoogleCloudMetastoreV1betaCustomRegionMetadata" + }, + "type": "array" + }, + "multiRegionMetadata": { + "$ref": "GoogleCloudMetastoreV1betaMultiRegionMetadata", + "description": "The multi-region metadata if the current region is a multi-region." + }, + "supportedHiveMetastoreVersions": { + "description": "The versions of Hive Metastore that can be used when creating a new metastore service in this location. The server guarantees that exactly one HiveMetastoreVersion in the list will set is_default.", + "items": { + "$ref": "GoogleCloudMetastoreV1betaHiveMetastoreVersion" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1betaMoveTableToDatabaseResponse": { + "description": "Response message for DataprocMetastore.MoveTableToDatabase.", + "id": "GoogleCloudMetastoreV1betaMoveTableToDatabaseResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudMetastoreV1betaMultiRegionMetadata": { + "description": "The metadata for the multi-region that includes the constituent regions. The metadata is only populated if the region is multi-region. For single region or custom dual region, it will be empty.", + "id": "GoogleCloudMetastoreV1betaMultiRegionMetadata", + "properties": { + "constituentRegions": { + "description": "The regions constituting the multi-region.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1betaOperationMetadata": { + "description": "Represents the metadata of a long-running operation.", + "id": "GoogleCloudMetastoreV1betaOperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1betaQueryMetadataResponse": { + "description": "Response message for DataprocMetastore.QueryMetadata.", + "id": "GoogleCloudMetastoreV1betaQueryMetadataResponse", + "properties": { + "resultManifestUri": { + "description": "The manifest URI is link to a JSON instance in Cloud Storage. This instance manifests immediately along with QueryMetadataResponse. The content of the URI is not retriable until the long-running operation query against the metadata finishes.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaAlterMetadataResourceLocationRequest": { + "description": "Request message for DataprocMetastore.AlterMetadataResourceLocation.", + "id": "GoogleCloudMetastoreV2alphaAlterMetadataResourceLocationRequest", + "properties": { + "locationUri": { + "description": "Required. The new location URI for the metadata resource.", + "type": "string" + }, + "resourceName": { + "description": "Required. The relative metadata resource name in the following format.databases/{database_id} or databases/{database_id}/tables/{table_id} or databases/{database_id}/tables/{table_id}/partitions/{partition_id}", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaAlterTablePropertiesRequest": { + "description": "Request message for DataprocMetastore.AlterTableProperties.", + "id": "GoogleCloudMetastoreV2alphaAlterTablePropertiesRequest", + "properties": { + "properties": { + "additionalProperties": { + "type": "string" + }, + "description": "A map that describes the desired values to mutate. If update_mask is empty, the properties will not update. Otherwise, the properties only alters the value whose associated paths exist in the update mask", + "type": "object" + }, + "tableName": { + "description": "Required. The name of the table containing the properties you're altering in the following format.databases/{database_id}/tables/{table_id}", + "type": "string" + }, + "updateMask": { + "description": "A field mask that specifies the metadata table properties that are overwritten by the update. Fields specified in the update_mask are relative to the resource (not to the full request). A field is overwritten if it is in the mask.For example, given the target properties: properties { a: 1 b: 2 } And an update properties: properties { a: 2 b: 3 c: 4 } then if the field mask is:paths: \"properties.b\", \"properties.c\"then the result will be: properties { a: 1 b: 3 c: 4 } ", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaAutoscalingConfig": { + "description": "Represents the autoscaling configuration of a metastore service.", + "id": "GoogleCloudMetastoreV2alphaAutoscalingConfig", + "properties": { + "autoscalingEnabled": { + "description": "Optional. Whether or not autoscaling is enabled for this service.", + "type": "boolean" + }, + "autoscalingFactor": { + "description": "Output only. The scaling factor of a service with autoscaling enabled.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "limitConfig": { + "$ref": "GoogleCloudMetastoreV2alphaLimitConfig", + "description": "Optional. The LimitConfig of the service." + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaAuxiliaryVersionConfig": { + "description": "Configuration information for the auxiliary service versions.", + "id": "GoogleCloudMetastoreV2alphaAuxiliaryVersionConfig", + "properties": { + "configOverrides": { + "additionalProperties": { + "type": "string" + }, + "description": "A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence.", + "type": "object" + }, + "endpoints": { + "description": "Output only. The list of endpoints used to access the auxiliary metastore service, includes version and region data.", + "items": { + "$ref": "GoogleCloudMetastoreV2alphaEndpoint" + }, + "readOnly": true, + "type": "array" + }, + "version": { + "description": "The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaBackup": { + "description": "The details of a backup resource.", + "id": "GoogleCloudMetastoreV2alphaBackup", + "properties": { + "createTime": { + "description": "Output only. The time when the backup was started.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the backup.", + "type": "string" + }, + "endTime": { + "description": "Output only. The time when the backup finished creating.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Immutable. The relative resource name of the backup, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/backups/{backup_id}", + "type": "string" + }, + "restoringServices": { + "description": "Output only. Services that are restoring from the backup.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "serviceRevision": { + "$ref": "GoogleCloudMetastoreV2alphaService", + "description": "Output only. The revision of the service at the time of backup.", + "readOnly": true + }, + "state": { + "description": "Output only. The current state of the backup.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "DELETING", + "ACTIVE", + "FAILED", + "RESTORING" + ], + "enumDescriptions": [ + "The state of the backup is unknown.", + "The backup is being created.", + "The backup is being deleted.", + "The backup is active and ready to use.", + "The backup failed.", + "The backup is being restored." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaCancelMigrationRequest": { + "description": "Request message for DataprocMetastore.CancelMigration.", + "id": "GoogleCloudMetastoreV2alphaCancelMigrationRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaCdcConfig": { + "description": "Configuration information to start the Change Data Capture (CDC) streams from customer database to backend database of Dataproc Metastore.", + "id": "GoogleCloudMetastoreV2alphaCdcConfig", + "properties": { + "bucket": { + "description": "Optional. The bucket to write the intermediate stream event data in. The bucket name must be without any prefix like \"gs://\". See the bucket naming requirements (https://cloud.google.com/storage/docs/buckets#naming). This field is optional. If not set, the Artifacts Cloud Storage bucket will be used.", + "type": "string" + }, + "password": { + "description": "Required. Input only. The password for the user that Datastream service should use for the MySQL connection. This field is not returned on request.", + "type": "string" + }, + "reverseProxySubnet": { + "description": "Required. The URL of the subnetwork resource to create the VM instance hosting the reverse proxy in. More context in https://cloud.google.com/datastream/docs/private-connectivity#reverse-csql-proxy The subnetwork should reside in the network provided in the request that Datastream will peer to and should be in the same region as Datastream, in the following format. projects/{project_id}/regions/{region_id}/subnetworks/{subnetwork_id}", + "type": "string" + }, + "rootPath": { + "description": "Optional. The root path inside the Cloud Storage bucket. The stream event data will be written to this path. The default value is /migration.", + "type": "string" + }, + "subnetIpRange": { + "description": "Required. A /29 CIDR IP range for peering with datastream.", + "type": "string" + }, + "username": { + "description": "Required. The username that the Datastream service should use for the MySQL connection.", + "type": "string" + }, + "vpcNetwork": { + "description": "Required. Fully qualified name of the Cloud SQL instance's VPC network or the shared VPC network that Datastream will peer to, in the following format: projects/{project_id}/locations/global/networks/{network_id}. More context in https://cloud.google.com/datastream/docs/network-connectivity-options#privateconnectivity", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaCloudSQLConnectionConfig": { + "description": "Configuration information to establish customer database connection before the cutover phase of migration", + "id": "GoogleCloudMetastoreV2alphaCloudSQLConnectionConfig", + "properties": { + "hiveDatabaseName": { + "description": "Required. The hive database name.", + "type": "string" + }, + "instanceConnectionName": { + "description": "Required. Cloud SQL database connection name (project_id:region:instance_name)", + "type": "string" + }, + "ipAddress": { + "description": "Required. The private IP address of the Cloud SQL instance.", + "type": "string" + }, + "natSubnet": { + "description": "Required. The relative resource name of the subnetwork to be used for Private Service Connect. Note that this cannot be a regular subnet and is used only for NAT. (https://cloud.google.com/vpc/docs/about-vpc-hosted-services#psc-subnets) This subnet is used to publish the SOCKS5 proxy service. The subnet size must be at least /29 and it should reside in a network through which the Cloud SQL instance is accessible. The resource name should be in the format, projects/{project_id}/regions/{region_id}/subnetworks/{subnetwork_id}", + "type": "string" + }, + "password": { + "description": "Required. Input only. The password for the user that Dataproc Metastore service will be using to connect to the database. This field is not returned on request.", + "type": "string" + }, + "port": { + "description": "Required. The network port of the database.", + "format": "int32", + "type": "integer" + }, + "proxySubnet": { + "description": "Required. The relative resource name of the subnetwork to deploy the SOCKS5 proxy service in. The subnetwork should reside in a network through which the Cloud SQL instance is accessible. The resource name should be in the format, projects/{project_id}/regions/{region_id}/subnetworks/{subnetwork_id}", + "type": "string" + }, + "username": { + "description": "Required. The username that Dataproc Metastore service will use to connect to the database.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaCloudSQLMigrationConfig": { + "description": "Configuration information for migrating from self-managed hive metastore on Google Cloud using Cloud SQL as the backend database to Dataproc Metastore.", + "id": "GoogleCloudMetastoreV2alphaCloudSQLMigrationConfig", + "properties": { + "cdcConfig": { + "$ref": "GoogleCloudMetastoreV2alphaCdcConfig", + "description": "Required. Configuration information to start the Change Data Capture (CDC) streams from customer database to backend database of Dataproc Metastore. Dataproc Metastore switches to using its backend database after the cutover phase of migration." + }, + "cloudSqlConnectionConfig": { + "$ref": "GoogleCloudMetastoreV2alphaCloudSQLConnectionConfig", + "description": "Required. Configuration information to establish customer database connection before the cutover phase of migration" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaCompleteMigrationRequest": { + "description": "Request message for DataprocMetastore.CompleteMigration.", + "id": "GoogleCloudMetastoreV2alphaCompleteMigrationRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaDataCatalogConfig": { + "description": "Specifies how metastore metadata should be integrated with the Data Catalog service.", + "id": "GoogleCloudMetastoreV2alphaDataCatalogConfig", + "properties": { + "enabled": { + "description": "Optional. Defines whether the metastore metadata should be synced to Data Catalog. The default value is to disable syncing metastore metadata to Data Catalog.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaDatabaseDump": { + "description": "A specification of the location of and metadata about a database dump from a relational database management system.", + "id": "GoogleCloudMetastoreV2alphaDatabaseDump", + "properties": { + "gcsUri": { + "description": "Required. A Cloud Storage object or folder URI that specifies the source from which to import metadata. It must begin with gs://.", + "type": "string" + }, + "type": { + "description": "Optional. The type of the database dump. If unspecified, defaults to MYSQL.", + "enum": [ + "TYPE_UNSPECIFIED", + "MYSQL", + "AVRO" + ], + "enumDescriptions": [ + "The type of the database dump is unknown.", + "Database dump is a MySQL dump file.", + "Database dump contains Avro files." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaEncryptionConfig": { + "description": "Encryption settings for the service.", + "id": "GoogleCloudMetastoreV2alphaEncryptionConfig", + "properties": {}, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaEndpoint": { + "description": "An endpoint used to access the metastore service.", + "id": "GoogleCloudMetastoreV2alphaEndpoint", + "properties": { + "endpointUri": { + "description": "Output only. The URI of the endpoint used to access the metastore service.", + "readOnly": true, + "type": "string" + }, + "region": { + "description": "Output only. The region where the endpoint is located.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaExportMetadataRequest": { + "description": "Request message for DataprocMetastore.ExportMetadata.", + "id": "GoogleCloudMetastoreV2alphaExportMetadataRequest", + "properties": { + "databaseDumpType": { + "description": "Optional. The type of the database dump. If unspecified, defaults to MYSQL.", + "enum": [ + "TYPE_UNSPECIFIED", + "MYSQL", + "AVRO" + ], + "enumDescriptions": [ + "The type of the database dump is unknown.", + "Database dump is a MySQL dump file.", + "Database dump contains Avro files." + ], + "type": "string" + }, + "destinationGcsFolder": { + "description": "A Cloud Storage URI of a folder, in the format gs:///. A sub-folder containing exported files will be created below it.", + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format). A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaHiveMetastoreConfig": { + "description": "Specifies configuration information specific to running Hive metastore software as the metastore service.", + "id": "GoogleCloudMetastoreV2alphaHiveMetastoreConfig", + "properties": { + "auxiliaryVersions": { + "additionalProperties": { + "$ref": "GoogleCloudMetastoreV2alphaAuxiliaryVersionConfig" + }, + "description": "Optional. A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.", + "type": "object" + }, + "configOverrides": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig.", + "type": "object" + }, + "endpointProtocol": { + "description": "Optional. The protocol to use for the metastore service endpoint. If unspecified, defaults to GRPC.", + "enum": [ + "ENDPOINT_PROTOCOL_UNSPECIFIED", + "THRIFT", + "GRPC" + ], + "enumDescriptions": [ + "The protocol is not set.", + "Use the legacy Apache Thrift protocol for the metastore service endpoint.", + "Use the modernized gRPC protocol for the metastore service endpoint." + ], + "type": "string" + }, + "version": { + "description": "Immutable. The Hive metastore schema version.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaImportMetadataRequest": { + "description": "Request message for DataprocMetastore.CreateMetadataImport.", + "id": "GoogleCloudMetastoreV2alphaImportMetadataRequest", + "properties": { + "databaseDump": { + "$ref": "GoogleCloudMetastoreV2alphaDatabaseDump", + "description": "Immutable. A database dump from a pre-existing metastore's database." + }, + "description": { + "description": "Optional. The description of the metadata import.", + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format). A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaLatestBackup": { + "description": "The details of the latest scheduled backup.", + "id": "GoogleCloudMetastoreV2alphaLatestBackup", + "properties": { + "backupId": { + "description": "Output only. The ID of an in-progress scheduled backup. Empty if no backup is in progress.", + "readOnly": true, + "type": "string" + }, + "duration": { + "description": "Output only. The duration of the backup completion.", + "format": "google-duration", + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. The time when the backup was started.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The current state of the backup.", + "enum": [ + "STATE_UNSPECIFIED", + "IN_PROGRESS", + "SUCCEEDED", + "FAILED" + ], + "enumDescriptions": [ + "The state of the backup is unknown.", + "The backup is in progress.", + "The backup completed.", + "The backup failed." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaLimitConfig": { + "description": "Represents the autoscaling limit configuration of a metastore service.", + "id": "GoogleCloudMetastoreV2alphaLimitConfig", + "properties": { + "maxScalingFactor": { + "description": "Optional. The highest scaling factor that the service should be autoscaled to.", + "format": "int32", + "type": "integer" + }, + "minScalingFactor": { + "description": "Optional. The lowest scaling factor that the service should be autoscaled to.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaListBackupsResponse": { + "description": "Response message for DataprocMetastore.ListBackups.", + "id": "GoogleCloudMetastoreV2alphaListBackupsResponse", + "properties": { + "backups": { + "description": "The backups of the specified service.", + "items": { + "$ref": "GoogleCloudMetastoreV2alphaBackup" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaListMigrationExecutionsResponse": { + "description": "Response message for DataprocMetastore.ListMigrationExecutions.", + "id": "GoogleCloudMetastoreV2alphaListMigrationExecutionsResponse", + "properties": { + "migrationExecutions": { + "description": "The migration executions on the specified service.", + "items": { + "$ref": "GoogleCloudMetastoreV2alphaMigrationExecution" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaListServicesResponse": { + "description": "Response message for DataprocMetastore.ListServices.", + "id": "GoogleCloudMetastoreV2alphaListServicesResponse", + "properties": { + "nextPageToken": { + "description": "A token that can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "services": { + "description": "The services in the specified location.", + "items": { + "$ref": "GoogleCloudMetastoreV2alphaService" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaMetadataIntegration": { + "description": "Specifies how metastore metadata should be integrated with external services.", + "id": "GoogleCloudMetastoreV2alphaMetadataIntegration", + "properties": { + "dataCatalogConfig": { + "$ref": "GoogleCloudMetastoreV2alphaDataCatalogConfig", + "description": "Optional. The integration config for the Data Catalog service." + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaMigrationExecution": { + "description": "The details of a migration execution resource.", + "id": "GoogleCloudMetastoreV2alphaMigrationExecution", + "properties": { + "cloudSqlMigrationConfig": { + "$ref": "GoogleCloudMetastoreV2alphaCloudSQLMigrationConfig", + "description": "Configuration information specific to migrating from self-managed hive metastore on Google Cloud using Cloud SQL as the backend database to Dataproc Metastore." + }, + "createTime": { + "description": "Output only. The time when the migration execution was started.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time when the migration execution finished.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The relative resource name of the migration execution, in the following form: projects/{project_number}/locations/{location_id}/services/{service_id}/migrationExecutions/{migration_execution_id}", + "readOnly": true, + "type": "string" + }, + "phase": { + "description": "Output only. The current phase of the migration execution.", + "enum": [ + "PHASE_UNSPECIFIED", + "REPLICATION", + "CUTOVER" + ], + "enumDescriptions": [ + "The phase of the migration execution is unknown.", + "Replication phase refers to the migration phase when Dataproc Metastore is running a pipeline to replicate changes in the customer database to its backend database. During this phase, Dataproc Metastore uses the customer database as the hive metastore backend database.", + "Cutover phase refers to the migration phase when Dataproc Metastore switches to using its own backend database. Migration enters this phase when customer is done migrating all their clusters/workloads to Dataproc Metastore and triggers CompleteMigration." + ], + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The current state of the migration execution.", + "enum": [ + "STATE_UNSPECIFIED", + "STARTING", + "RUNNING", + "CANCELLING", + "AWAITING_USER_ACTION", + "SUCCEEDED", + "FAILED", + "CANCELLED", + "DELETING" + ], + "enumDescriptions": [ + "The state of the migration execution is unknown.", + "The migration execution is starting.", + "The migration execution is running.", + "The migration execution is in the process of being cancelled.", + "The migration execution is awaiting user action.", + "The migration execution has completed successfully.", + "The migration execution has failed.", + "The migration execution is cancelled.", + "The migration execution is being deleted." + ], + "readOnly": true, + "type": "string" + }, + "stateMessage": { + "description": "Output only. Additional information about the current state of the migration execution.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaMoveTableToDatabaseRequest": { + "description": "Request message for DataprocMetastore.MoveTableToDatabase.", + "id": "GoogleCloudMetastoreV2alphaMoveTableToDatabaseRequest", + "properties": { + "dbName": { + "description": "Required. The name of the database where the table resides.", + "type": "string" + }, + "destinationDbName": { + "description": "Required. The name of the database where the table should be moved.", + "type": "string" + }, + "tableName": { + "description": "Required. The name of the table to be moved.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaQueryMetadataRequest": { + "description": "Request message for DataprocMetastore.QueryMetadata.", + "id": "GoogleCloudMetastoreV2alphaQueryMetadataRequest", + "properties": { + "query": { + "description": "Required. A read-only SQL query to execute against the metadata database. The query cannot change or mutate the data.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaRemoveIamPolicyRequest": { + "description": "Request message for DataprocMetastore.RemoveIamPolicy.", + "id": "GoogleCloudMetastoreV2alphaRemoveIamPolicyRequest", + "properties": { + "asynchronous": { + "description": "Optional. Removes IAM policy attached to database or table asynchronously when it is set. The default is false.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaRemoveIamPolicyResponse": { + "description": "Response message for DataprocMetastore.RemoveIamPolicy.", + "id": "GoogleCloudMetastoreV2alphaRemoveIamPolicyResponse", + "properties": { + "success": { + "description": "True if the policy is successfully removed.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaRestoreServiceRequest": { + "description": "Request message for DataprocMetastore.Restore.", + "id": "GoogleCloudMetastoreV2alphaRestoreServiceRequest", + "properties": { + "backup": { + "description": "Optional. The relative resource name of the metastore service backup to restore from, in the following form:projects/{project_id}/locations/{location_id}/services/{service_id}/backups/{backup_id}. Mutually exclusive with backup_location, and exactly one of the two must be set.", + "type": "string" + }, + "backupLocation": { + "description": "Optional. A Cloud Storage URI specifying the location of the backup artifacts, namely - backup avro files under \"avro/\", backup_metastore.json and service.json, in the following form:gs://. Mutually exclusive with backup, and exactly one of the two must be set.", + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format). A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "type": "string" + }, + "restoreType": { + "description": "Optional. The type of restore. If unspecified, defaults to METADATA_ONLY.", + "enum": [ + "RESTORE_TYPE_UNSPECIFIED", + "FULL", + "METADATA_ONLY" + ], + "enumDescriptions": [ + "The restore type is unknown.", + "The service's metadata and configuration are restored.", + "Only the service's metadata is restored." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaScalingConfig": { + "description": "Represents the scaling configuration of a metastore service.", + "id": "GoogleCloudMetastoreV2alphaScalingConfig", + "properties": { + "autoscalingConfig": { + "$ref": "GoogleCloudMetastoreV2alphaAutoscalingConfig", + "description": "Optional. The autoscaling configuration." + }, + "scalingFactor": { + "description": "Optional. Scaling factor from 1 to 5, increments of 1.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaScheduledBackup": { + "description": "This specifies the configuration of scheduled backup.", + "id": "GoogleCloudMetastoreV2alphaScheduledBackup", + "properties": { + "backupLocation": { + "description": "Optional. A Cloud Storage URI of a folder, in the format gs:///. A sub-folder containing backup files will be stored below it.", + "type": "string" + }, + "cronSchedule": { + "description": "Optional. The scheduled interval in Cron format, see https://en.wikipedia.org/wiki/Cron The default is empty: scheduled backup is not enabled. Must be specified to enable scheduled backups.", + "type": "string" + }, + "enabled": { + "description": "Optional. Defines whether the scheduled backup is enabled. The default value is false.", + "type": "boolean" + }, + "latestBackup": { + "$ref": "GoogleCloudMetastoreV2alphaLatestBackup", + "description": "Output only. The details of the latest scheduled backup.", + "readOnly": true + }, + "nextScheduledTime": { + "description": "Output only. The time when the next backups execution is scheduled to start.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "timeZone": { + "description": "Optional. Specifies the time zone to be used when interpreting cron_schedule. Must be a time zone name from the time zone database (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones), e.g. America/Los_Angeles or Africa/Abidjan. If left unspecified, the default is UTC.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaService": { + "description": "A managed metastore service that serves metadata queries.", + "id": "GoogleCloudMetastoreV2alphaService", + "properties": { + "createTime": { + "description": "Output only. The time when the metastore service was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "encryptionConfig": { + "$ref": "GoogleCloudMetastoreV2alphaEncryptionConfig", + "description": "Immutable. Information used to configure the Dataproc Metastore service to encrypt customer data at rest. Cannot be updated." + }, + "endpoints": { + "description": "Output only. The list of endpoints used to access the metastore service.", + "items": { + "$ref": "GoogleCloudMetastoreV2alphaEndpoint" + }, + "readOnly": true, + "type": "array" + }, + "hiveMetastoreConfig": { + "$ref": "GoogleCloudMetastoreV2alphaHiveMetastoreConfig", + "description": "Configuration information specific to running Hive metastore software as the metastore service." + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "User-defined labels for the metastore service.", + "type": "object" + }, + "metadataIntegration": { + "$ref": "GoogleCloudMetastoreV2alphaMetadataIntegration", + "description": "Optional. The setting that defines how metastore metadata should be integrated with external services and systems." + }, + "name": { + "description": "Immutable. The relative resource name of the metastore service, in the following format:projects/{project_number}/locations/{location_id}/services/{service_id}.", + "type": "string" + }, + "scalingConfig": { + "$ref": "GoogleCloudMetastoreV2alphaScalingConfig", + "description": "Optional. Scaling configuration of the metastore service." + }, + "scheduledBackup": { + "$ref": "GoogleCloudMetastoreV2alphaScheduledBackup", + "description": "Optional. The configuration of scheduled backup for the metastore service." + }, + "state": { + "description": "Output only. The current state of the metastore service.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "SUSPENDING", + "SUSPENDED", + "UPDATING", + "DELETING", + "ERROR", + "MIGRATING" + ], + "enumDescriptions": [ + "The state of the metastore service is unknown.", + "The metastore service is in the process of being created.", + "The metastore service is running and ready to serve queries.", + "The metastore service is entering suspension. Its query-serving availability may cease unexpectedly.", + "The metastore service is suspended and unable to serve queries.", + "The metastore service is being updated. It remains usable but cannot accept additional update requests or be deleted at this time.", + "The metastore service is undergoing deletion. It cannot be used.", + "The metastore service has encountered an error and cannot be used. The metastore service should be deleted.", + "The metastore service is processing a managed migration." + ], + "readOnly": true, + "type": "string" + }, + "stateMessage": { + "description": "Output only. Additional information about the current state of the metastore service, if available.", + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. The globally unique resource identifier of the metastore service.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time when the metastore service was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "warehouseGcsUri": { + "description": "Required. A Cloud Storage URI (starting with gs://) that specifies the default warehouse directory of the Hive Metastore.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2alphaStartMigrationRequest": { + "description": "Request message for DataprocMetastore.StartMigration.", + "id": "GoogleCloudMetastoreV2alphaStartMigrationRequest", + "properties": { + "migrationExecution": { + "$ref": "GoogleCloudMetastoreV2alphaMigrationExecution", + "description": "Required. The configuration details for the migration." + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleLongrunningOperation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "GoogleLongrunningOperation", + "properties": { + "done": { + "description": "If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.", + "type": "boolean" + }, + "error": { + "$ref": "GoogleRpcStatus", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id}.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleRpcStatus": { + "description": "The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors).", + "id": "GoogleRpcStatus", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Dataproc Metastore API", + "version": "v2alpha", + "version_module": true +} \ No newline at end of file diff --git a/discovery/metastore-v2beta.json b/discovery/metastore-v2beta.json new file mode 100644 index 0000000000..3dc967a65c --- /dev/null +++ b/discovery/metastore-v2beta.json @@ -0,0 +1,2313 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + } + } + } + }, + "basePath": "", + "baseUrl": "https://metastore.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Dataproc Metastore", + "description": "The Dataproc Metastore API is used to manage the lifecycle and configuration of metastore services.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/dataproc-metastore/docs", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "metastore:v2beta", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://metastore.mtls.googleapis.com/", + "name": "metastore", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "resources": { + "services": { + "methods": { + "alterLocation": { + "description": "Alter metadata resource location. The metadata resource can be a database, table, or partition. This functionality only updates the parent directory for the respective metadata resource and does not transfer any existing data to the new location.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:alterLocation", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.alterLocation", + "parameterOrder": [ + "service" + ], + "parameters": { + "service": { + "description": "Required. The relative resource name of the metastore service to mutate metadata, in the following format:projects/{project_id}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+service}:alterLocation", + "request": { + "$ref": "GoogleCloudMetastoreV2betaAlterMetadataResourceLocationRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "alterTableProperties": { + "description": "Alter metadata table properties.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:alterTableProperties", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.alterTableProperties", + "parameterOrder": [ + "service" + ], + "parameters": { + "service": { + "description": "Required. The relative resource name of the Dataproc Metastore service that's being used to mutate metadata table properties, in the following format:projects/{project_id}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+service}:alterTableProperties", + "request": { + "$ref": "GoogleCloudMetastoreV2betaAlterTablePropertiesRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "cancelMigration": { + "description": "Cancels the ongoing Managed Migration process.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:cancelMigration", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.cancelMigration", + "parameterOrder": [ + "service" + ], + "parameters": { + "service": { + "description": "Required. The relative resource name of the metastore service to cancel the ongoing migration to, in the following format:projects/{project_id}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+service}:cancelMigration", + "request": { + "$ref": "GoogleCloudMetastoreV2betaCancelMigrationRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "completeMigration": { + "description": "Completes the managed migration process. The Dataproc Metastore service will switch to using its own backend database after successful migration.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:completeMigration", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.completeMigration", + "parameterOrder": [ + "service" + ], + "parameters": { + "service": { + "description": "Required. The relative resource name of the metastore service to complete the migration to, in the following format:projects/{project_id}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+service}:completeMigration", + "request": { + "$ref": "GoogleCloudMetastoreV2betaCompleteMigrationRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Creates a metastore service in a project and location.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/services", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The relative resource name of the location in which to create a metastore service, in the following form:projects/{project_number}/locations/{location_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "location": "query", + "type": "string" + }, + "serviceId": { + "description": "Required. The ID of the metastore service, which is used as the final component of the metastore service's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens.", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/{+parent}/services", + "request": { + "$ref": "GoogleCloudMetastoreV2betaService" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single service.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}", + "httpMethod": "DELETE", + "id": "metastore.projects.locations.services.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the metastore service to delete, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "exportMetadata": { + "description": "Exports metadata from a service.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:exportMetadata", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.exportMetadata", + "parameterOrder": [ + "service" + ], + "parameters": { + "service": { + "description": "Required. The relative resource name of the metastore service to run export, in the following form:projects/{project_id}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+service}:exportMetadata", + "request": { + "$ref": "GoogleCloudMetastoreV2betaExportMetadataRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the details of a single service.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}", + "httpMethod": "GET", + "id": "metastore.projects.locations.services.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the metastore service to retrieve, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "GoogleCloudMetastoreV2betaService" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "importMetadata": { + "description": "Imports Metadata into a Dataproc Metastore service.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:importMetadata", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.importMetadata", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. The relative resource name of the metastore service to run import, in the following form:projects/{project_id}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+name}:importMetadata", + "request": { + "$ref": "GoogleCloudMetastoreV2betaImportMetadataRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists services in a project and location.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/services", + "httpMethod": "GET", + "id": "metastore.projects.locations.services.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. The filter to apply to list results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Specify the ordering of results as described in Sorting Order (https://cloud.google.com/apis/design/design_patterns#sorting_order). If not specified, the results will be sorted in the default order.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of services to return. The response may contain less than the maximum number. If unspecified, no more than 500 services are returned. The maximum value is 1000; values above 1000 are changed to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous DataprocMetastore.ListServices call. Provide this token to retrieve the subsequent page.To retrieve the first page, supply an empty page token.When paginating, other parameters provided to DataprocMetastore.ListServices must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The relative resource name of the location of metastore services to list, in the following form:projects/{project_number}/locations/{location_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+parent}/services", + "response": { + "$ref": "GoogleCloudMetastoreV2betaListServicesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "moveTableToDatabase": { + "description": "Move a table to another database.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:moveTableToDatabase", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.moveTableToDatabase", + "parameterOrder": [ + "service" + ], + "parameters": { + "service": { + "description": "Required. The relative resource name of the metastore service to mutate metadata, in the following format:projects/{project_id}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+service}:moveTableToDatabase", + "request": { + "$ref": "GoogleCloudMetastoreV2betaMoveTableToDatabaseRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single service.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}", + "httpMethod": "PATCH", + "id": "metastore.projects.locations.services.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. The relative resource name of the metastore service, in the following format:projects/{project_number}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. A field mask used to specify the fields to be overwritten in the metastore service resource by the update. Fields specified in the update_mask are relative to the resource (not to the full request). A field is overwritten if it is in the mask.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/{+name}", + "request": { + "$ref": "GoogleCloudMetastoreV2betaService" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "queryMetadata": { + "description": "Query Dataproc Metastore metadata.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:queryMetadata", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.queryMetadata", + "parameterOrder": [ + "service" + ], + "parameters": { + "service": { + "description": "Required. The relative resource name of the metastore service to query metadata, in the following format:projects/{project_id}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+service}:queryMetadata", + "request": { + "$ref": "GoogleCloudMetastoreV2betaQueryMetadataRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "removeIamPolicy": { + "description": "Removes the attached IAM policies for a resource", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/{servicesId1}:removeIamPolicy", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.removeIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "Required. The relative resource name of the dataplane resource to remove IAM policy, in the following form:projects/{project_id}/locations/{location_id}/services/{service_id}/databases/{database_id} or projects/{project_id}/locations/{location_id}/services/{service_id}/databases/{database_id}/tables/{table_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/.*$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+resource}:removeIamPolicy", + "request": { + "$ref": "GoogleCloudMetastoreV2betaRemoveIamPolicyRequest" + }, + "response": { + "$ref": "GoogleCloudMetastoreV2betaRemoveIamPolicyResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "restore": { + "description": "Restores a service from a backup.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:restore", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.restore", + "parameterOrder": [ + "service" + ], + "parameters": { + "service": { + "description": "Required. The relative resource name of the metastore service to run restore, in the following form:projects/{project_id}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+service}:restore", + "request": { + "$ref": "GoogleCloudMetastoreV2betaRestoreServiceRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "startMigration": { + "description": "Starts the Managed Migration process.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}:startMigration", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.startMigration", + "parameterOrder": [ + "service" + ], + "parameters": { + "service": { + "description": "Required. The relative resource name of the metastore service to start migrating to, in the following format:projects/{project_id}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+service}:startMigration", + "request": { + "$ref": "GoogleCloudMetastoreV2betaStartMigrationRequest" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "backups": { + "methods": { + "create": { + "description": "Creates a new backup in a given project and location.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/backups", + "httpMethod": "POST", + "id": "metastore.projects.locations.services.backups.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "backupId": { + "description": "Required. The ID of the backup, which is used as the final component of the backup's name.This value must be between 1 and 64 characters long, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The relative resource name of the service in which to create a backup of the following form:projects/{project_number}/locations/{location_id}/services/{service_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/{+parent}/backups", + "request": { + "$ref": "GoogleCloudMetastoreV2betaBackup" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single backup.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/backups/{backupsId}", + "httpMethod": "DELETE", + "id": "metastore.projects.locations.services.backups.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the backup to delete, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/backups/{backup_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single backup.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/backups/{backupsId}", + "httpMethod": "GET", + "id": "metastore.projects.locations.services.backups.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the backup to retrieve, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/backups/{backup_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "GoogleCloudMetastoreV2betaBackup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists backups in a service.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/backups", + "httpMethod": "GET", + "id": "metastore.projects.locations.services.backups.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. The filter to apply to list results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Specify the ordering of results as described in Sorting Order (https://cloud.google.com/apis/design/design_patterns#sorting_order). If not specified, the results will be sorted in the default order.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of backups to return. The response may contain less than the maximum number. If unspecified, no more than 500 backups are returned. The maximum value is 1000; values above 1000 are changed to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous DataprocMetastore.ListBackups call. Provide this token to retrieve the subsequent page.To retrieve the first page, supply an empty page token.When paginating, other parameters provided to DataprocMetastore.ListBackups must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The relative resource name of the service whose backups to list, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/backups.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+parent}/backups", + "response": { + "$ref": "GoogleCloudMetastoreV2betaListBackupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "migrationExecutions": { + "methods": { + "delete": { + "description": "Deletes a single migration execution.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/migrationExecutions/{migrationExecutionsId}", + "httpMethod": "DELETE", + "id": "metastore.projects.locations.services.migrationExecutions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the migrationExecution to delete, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/migrationExecutions/{migration_execution_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/migrationExecutions/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single migration execution.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/migrationExecutions/{migrationExecutionsId}", + "httpMethod": "GET", + "id": "metastore.projects.locations.services.migrationExecutions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The relative resource name of the migration execution to retrieve, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/migrationExecutions/{migration_execution_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+/migrationExecutions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "GoogleCloudMetastoreV2betaMigrationExecution" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists migration executions on a service.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/services/{servicesId}/migrationExecutions", + "httpMethod": "GET", + "id": "metastore.projects.locations.services.migrationExecutions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. The filter to apply to list results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Specify the ordering of results as described in Sorting Order (https://cloud.google.com/apis/design/design_patterns#sorting_order). If not specified, the results will be sorted in the default order.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of migration executions to return. The response may contain less than the maximum number. If unspecified, no more than 500 migration executions are returned. The maximum value is 1000; values above 1000 are changed to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A page token, received from a previous DataprocMetastore.ListMigrationExecutions call. Provide this token to retrieve the subsequent page.To retrieve the first page, supply an empty page token.When paginating, other parameters provided to DataprocMetastore.ListMigrationExecutions must match the call that provided the page token.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The relative resource name of the service whose migration executions to list, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/migrationExecutions.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+parent}/migrationExecutions", + "response": { + "$ref": "GoogleCloudMetastoreV2betaListMigrationExecutionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20241203", + "rootUrl": "https://metastore.googleapis.com/", + "schemas": { + "GoogleCloudMetastoreV1AlterMetadataResourceLocationResponse": { + "description": "Response message for DataprocMetastore.AlterMetadataResourceLocation.", + "id": "GoogleCloudMetastoreV1AlterMetadataResourceLocationResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudMetastoreV1CustomRegionMetadata": { + "description": "Metadata about a custom region. This is only populated if the region is a custom region. For single/multi regions, it will be empty.", + "id": "GoogleCloudMetastoreV1CustomRegionMetadata", + "properties": { + "optionalReadOnlyRegions": { + "description": "The read-only regions for this custom region.", + "items": { + "type": "string" + }, + "type": "array" + }, + "requiredReadWriteRegions": { + "description": "The read-write regions for this custom region.", + "items": { + "type": "string" + }, + "type": "array" + }, + "witnessRegion": { + "description": "The Spanner witness region for this custom region.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1ErrorDetails": { + "description": "Error details in public error message for DataprocMetastore.QueryMetadata.", + "id": "GoogleCloudMetastoreV1ErrorDetails", + "properties": { + "details": { + "additionalProperties": { + "type": "string" + }, + "description": "Additional structured details about this error.Keys define the failure items. Value describes the exception or details of the item.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1HiveMetastoreVersion": { + "description": "A specification of a supported version of the Hive Metastore software.", + "id": "GoogleCloudMetastoreV1HiveMetastoreVersion", + "properties": { + "isDefault": { + "description": "Whether version will be chosen by the server if a metastore service is created with a HiveMetastoreConfig that omits the version.", + "type": "boolean" + }, + "version": { + "description": "The semantic version of the Hive Metastore software.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1LocationMetadata": { + "description": "Metadata about the service in a location.", + "id": "GoogleCloudMetastoreV1LocationMetadata", + "properties": { + "customRegionMetadata": { + "description": "Possible configurations supported if the current region is a custom region.", + "items": { + "$ref": "GoogleCloudMetastoreV1CustomRegionMetadata" + }, + "type": "array" + }, + "multiRegionMetadata": { + "$ref": "GoogleCloudMetastoreV1MultiRegionMetadata", + "description": "The multi-region metadata if the current region is a multi-region." + }, + "supportedHiveMetastoreVersions": { + "description": "The versions of Hive Metastore that can be used when creating a new metastore service in this location. The server guarantees that exactly one HiveMetastoreVersion in the list will set is_default.", + "items": { + "$ref": "GoogleCloudMetastoreV1HiveMetastoreVersion" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1MoveTableToDatabaseResponse": { + "description": "Response message for DataprocMetastore.MoveTableToDatabase.", + "id": "GoogleCloudMetastoreV1MoveTableToDatabaseResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudMetastoreV1MultiRegionMetadata": { + "description": "The metadata for the multi-region that includes the constituent regions. The metadata is only populated if the region is multi-region. For single region or custom dual region, it will be empty.", + "id": "GoogleCloudMetastoreV1MultiRegionMetadata", + "properties": { + "constituentRegions": { + "description": "The regions constituting the multi-region.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1OperationMetadata": { + "description": "Represents the metadata of a long-running operation.", + "id": "GoogleCloudMetastoreV1OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1QueryMetadataResponse": { + "description": "Response message for DataprocMetastore.QueryMetadata.", + "id": "GoogleCloudMetastoreV1QueryMetadataResponse", + "properties": { + "resultManifestUri": { + "description": "The manifest URI is link to a JSON instance in Cloud Storage. This instance manifests immediately along with QueryMetadataResponse. The content of the URI is not retriable until the long-running operation query against the metadata finishes.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaAlterMetadataResourceLocationResponse": { + "description": "Response message for DataprocMetastore.AlterMetadataResourceLocation.", + "id": "GoogleCloudMetastoreV1alphaAlterMetadataResourceLocationResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaCancelMigrationResponse": { + "description": "Response message for DataprocMetastore.CancelMigration.", + "id": "GoogleCloudMetastoreV1alphaCancelMigrationResponse", + "properties": { + "migrationExecution": { + "description": "The relative resource name of the migration execution, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/migrationExecutions/{migration_execution_id}.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaCompleteMigrationResponse": { + "description": "Response message for DataprocMetastore.CompleteMigration.", + "id": "GoogleCloudMetastoreV1alphaCompleteMigrationResponse", + "properties": { + "migrationExecution": { + "description": "The relative resource name of the migration execution, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/migrationExecutions/{migration_execution_id}.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaCustomRegionMetadata": { + "description": "Metadata about a custom region. This is only populated if the region is a custom region. For single/multi regions, it will be empty.", + "id": "GoogleCloudMetastoreV1alphaCustomRegionMetadata", + "properties": { + "optionalReadOnlyRegions": { + "description": "The read-only regions for this custom region.", + "items": { + "type": "string" + }, + "type": "array" + }, + "requiredReadWriteRegions": { + "description": "The read-write regions for this custom region.", + "items": { + "type": "string" + }, + "type": "array" + }, + "witnessRegion": { + "description": "The Spanner witness region for this custom region.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaErrorDetails": { + "description": "Error details in public error message for DataprocMetastore.QueryMetadata.", + "id": "GoogleCloudMetastoreV1alphaErrorDetails", + "properties": { + "details": { + "additionalProperties": { + "type": "string" + }, + "description": "Additional structured details about this error.Keys define the failure items. Value describes the exception or details of the item.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaHiveMetastoreVersion": { + "description": "A specification of a supported version of the Hive Metastore software.", + "id": "GoogleCloudMetastoreV1alphaHiveMetastoreVersion", + "properties": { + "isDefault": { + "description": "Whether version will be chosen by the server if a metastore service is created with a HiveMetastoreConfig that omits the version.", + "type": "boolean" + }, + "version": { + "description": "The semantic version of the Hive Metastore software.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaLocationMetadata": { + "description": "Metadata about the service in a location.", + "id": "GoogleCloudMetastoreV1alphaLocationMetadata", + "properties": { + "customRegionMetadata": { + "description": "Possible configurations supported if the current region is a custom region.", + "items": { + "$ref": "GoogleCloudMetastoreV1alphaCustomRegionMetadata" + }, + "type": "array" + }, + "multiRegionMetadata": { + "$ref": "GoogleCloudMetastoreV1alphaMultiRegionMetadata", + "description": "The multi-region metadata if the current region is a multi-region." + }, + "supportedHiveMetastoreVersions": { + "description": "The versions of Hive Metastore that can be used when creating a new metastore service in this location. The server guarantees that exactly one HiveMetastoreVersion in the list will set is_default.", + "items": { + "$ref": "GoogleCloudMetastoreV1alphaHiveMetastoreVersion" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaMoveTableToDatabaseResponse": { + "description": "Response message for DataprocMetastore.MoveTableToDatabase.", + "id": "GoogleCloudMetastoreV1alphaMoveTableToDatabaseResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaMultiRegionMetadata": { + "description": "The metadata for the multi-region that includes the constituent regions. The metadata is only populated if the region is multi-region. For single region or custom dual region, it will be empty.", + "id": "GoogleCloudMetastoreV1alphaMultiRegionMetadata", + "properties": { + "constituentRegions": { + "description": "The regions constituting the multi-region.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaOperationMetadata": { + "description": "Represents the metadata of a long-running operation.", + "id": "GoogleCloudMetastoreV1alphaOperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1alphaQueryMetadataResponse": { + "description": "Response message for DataprocMetastore.QueryMetadata.", + "id": "GoogleCloudMetastoreV1alphaQueryMetadataResponse", + "properties": { + "resultManifestUri": { + "description": "The manifest URI is link to a JSON instance in Cloud Storage. This instance manifests immediately along with QueryMetadataResponse. The content of the URI is not retriable until the long-running operation query against the metadata finishes.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1betaAlterMetadataResourceLocationResponse": { + "description": "Response message for DataprocMetastore.AlterMetadataResourceLocation.", + "id": "GoogleCloudMetastoreV1betaAlterMetadataResourceLocationResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudMetastoreV1betaCancelMigrationResponse": { + "description": "Response message for DataprocMetastore.CancelMigration.", + "id": "GoogleCloudMetastoreV1betaCancelMigrationResponse", + "properties": { + "migrationExecution": { + "description": "The relative resource name of the migration execution, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/migrationExecutions/{migration_execution_id}.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1betaCompleteMigrationResponse": { + "description": "Response message for DataprocMetastore.CompleteMigration.", + "id": "GoogleCloudMetastoreV1betaCompleteMigrationResponse", + "properties": { + "migrationExecution": { + "description": "The relative resource name of the migration execution, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/migrationExecutions/{migration_execution_id}.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1betaCustomRegionMetadata": { + "description": "Metadata about a custom region. This is only populated if the region is a custom region. For single/multi regions, it will be empty.", + "id": "GoogleCloudMetastoreV1betaCustomRegionMetadata", + "properties": { + "optionalReadOnlyRegions": { + "description": "The read-only regions for this custom region.", + "items": { + "type": "string" + }, + "type": "array" + }, + "requiredReadWriteRegions": { + "description": "The read-write regions for this custom region.", + "items": { + "type": "string" + }, + "type": "array" + }, + "witnessRegion": { + "description": "The Spanner witness region for this custom region.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1betaErrorDetails": { + "description": "Error details in public error message for DataprocMetastore.QueryMetadata.", + "id": "GoogleCloudMetastoreV1betaErrorDetails", + "properties": { + "details": { + "additionalProperties": { + "type": "string" + }, + "description": "Additional structured details about this error.Keys define the failure items. Value describes the exception or details of the item.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1betaHiveMetastoreVersion": { + "description": "A specification of a supported version of the Hive Metastore software.", + "id": "GoogleCloudMetastoreV1betaHiveMetastoreVersion", + "properties": { + "isDefault": { + "description": "Whether version will be chosen by the server if a metastore service is created with a HiveMetastoreConfig that omits the version.", + "type": "boolean" + }, + "version": { + "description": "The semantic version of the Hive Metastore software.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1betaLocationMetadata": { + "description": "Metadata about the service in a location.", + "id": "GoogleCloudMetastoreV1betaLocationMetadata", + "properties": { + "customRegionMetadata": { + "description": "Possible configurations supported if the current region is a custom region.", + "items": { + "$ref": "GoogleCloudMetastoreV1betaCustomRegionMetadata" + }, + "type": "array" + }, + "multiRegionMetadata": { + "$ref": "GoogleCloudMetastoreV1betaMultiRegionMetadata", + "description": "The multi-region metadata if the current region is a multi-region." + }, + "supportedHiveMetastoreVersions": { + "description": "The versions of Hive Metastore that can be used when creating a new metastore service in this location. The server guarantees that exactly one HiveMetastoreVersion in the list will set is_default.", + "items": { + "$ref": "GoogleCloudMetastoreV1betaHiveMetastoreVersion" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1betaMoveTableToDatabaseResponse": { + "description": "Response message for DataprocMetastore.MoveTableToDatabase.", + "id": "GoogleCloudMetastoreV1betaMoveTableToDatabaseResponse", + "properties": {}, + "type": "object" + }, + "GoogleCloudMetastoreV1betaMultiRegionMetadata": { + "description": "The metadata for the multi-region that includes the constituent regions. The metadata is only populated if the region is multi-region. For single region or custom dual region, it will be empty.", + "id": "GoogleCloudMetastoreV1betaMultiRegionMetadata", + "properties": { + "constituentRegions": { + "description": "The regions constituting the multi-region.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1betaOperationMetadata": { + "description": "Represents the metadata of a long-running operation.", + "id": "GoogleCloudMetastoreV1betaOperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV1betaQueryMetadataResponse": { + "description": "Response message for DataprocMetastore.QueryMetadata.", + "id": "GoogleCloudMetastoreV1betaQueryMetadataResponse", + "properties": { + "resultManifestUri": { + "description": "The manifest URI is link to a JSON instance in Cloud Storage. This instance manifests immediately along with QueryMetadataResponse. The content of the URI is not retriable until the long-running operation query against the metadata finishes.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaAlterMetadataResourceLocationRequest": { + "description": "Request message for DataprocMetastore.AlterMetadataResourceLocation.", + "id": "GoogleCloudMetastoreV2betaAlterMetadataResourceLocationRequest", + "properties": { + "locationUri": { + "description": "Required. The new location URI for the metadata resource.", + "type": "string" + }, + "resourceName": { + "description": "Required. The relative metadata resource name in the following format.databases/{database_id} or databases/{database_id}/tables/{table_id} or databases/{database_id}/tables/{table_id}/partitions/{partition_id}", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaAlterTablePropertiesRequest": { + "description": "Request message for DataprocMetastore.AlterTableProperties.", + "id": "GoogleCloudMetastoreV2betaAlterTablePropertiesRequest", + "properties": { + "properties": { + "additionalProperties": { + "type": "string" + }, + "description": "A map that describes the desired values to mutate. If update_mask is empty, the properties will not update. Otherwise, the properties only alters the value whose associated paths exist in the update mask", + "type": "object" + }, + "tableName": { + "description": "Required. The name of the table containing the properties you're altering in the following format.databases/{database_id}/tables/{table_id}", + "type": "string" + }, + "updateMask": { + "description": "A field mask that specifies the metadata table properties that are overwritten by the update. Fields specified in the update_mask are relative to the resource (not to the full request). A field is overwritten if it is in the mask.For example, given the target properties: properties { a: 1 b: 2 } And an update properties: properties { a: 2 b: 3 c: 4 } then if the field mask is:paths: \"properties.b\", \"properties.c\"then the result will be: properties { a: 1 b: 3 c: 4 } ", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaAutoscalingConfig": { + "description": "Represents the autoscaling configuration of a metastore service.", + "id": "GoogleCloudMetastoreV2betaAutoscalingConfig", + "properties": { + "autoscalingEnabled": { + "description": "Optional. Whether or not autoscaling is enabled for this service.", + "type": "boolean" + }, + "autoscalingFactor": { + "description": "Output only. The scaling factor of a service with autoscaling enabled.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "limitConfig": { + "$ref": "GoogleCloudMetastoreV2betaLimitConfig", + "description": "Optional. The LimitConfig of the service." + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaAuxiliaryVersionConfig": { + "description": "Configuration information for the auxiliary service versions.", + "id": "GoogleCloudMetastoreV2betaAuxiliaryVersionConfig", + "properties": { + "configOverrides": { + "additionalProperties": { + "type": "string" + }, + "description": "A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence.", + "type": "object" + }, + "endpoints": { + "description": "Output only. The list of endpoints used to access the auxiliary metastore service, includes version and region data.", + "items": { + "$ref": "GoogleCloudMetastoreV2betaEndpoint" + }, + "readOnly": true, + "type": "array" + }, + "version": { + "description": "The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaBackup": { + "description": "The details of a backup resource.", + "id": "GoogleCloudMetastoreV2betaBackup", + "properties": { + "createTime": { + "description": "Output only. The time when the backup was started.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the backup.", + "type": "string" + }, + "endTime": { + "description": "Output only. The time when the backup finished creating.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Immutable. The relative resource name of the backup, in the following form:projects/{project_number}/locations/{location_id}/services/{service_id}/backups/{backup_id}", + "type": "string" + }, + "restoringServices": { + "description": "Output only. Services that are restoring from the backup.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "serviceRevision": { + "$ref": "GoogleCloudMetastoreV2betaService", + "description": "Output only. The revision of the service at the time of backup.", + "readOnly": true + }, + "state": { + "description": "Output only. The current state of the backup.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "DELETING", + "ACTIVE", + "FAILED", + "RESTORING" + ], + "enumDescriptions": [ + "The state of the backup is unknown.", + "The backup is being created.", + "The backup is being deleted.", + "The backup is active and ready to use.", + "The backup failed.", + "The backup is being restored." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaCancelMigrationRequest": { + "description": "Request message for DataprocMetastore.CancelMigration.", + "id": "GoogleCloudMetastoreV2betaCancelMigrationRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudMetastoreV2betaCdcConfig": { + "description": "Configuration information to start the Change Data Capture (CDC) streams from customer database to backend database of Dataproc Metastore.", + "id": "GoogleCloudMetastoreV2betaCdcConfig", + "properties": { + "bucket": { + "description": "Optional. The bucket to write the intermediate stream event data in. The bucket name must be without any prefix like \"gs://\". See the bucket naming requirements (https://cloud.google.com/storage/docs/buckets#naming). This field is optional. If not set, the Artifacts Cloud Storage bucket will be used.", + "type": "string" + }, + "password": { + "description": "Required. Input only. The password for the user that Datastream service should use for the MySQL connection. This field is not returned on request.", + "type": "string" + }, + "reverseProxySubnet": { + "description": "Required. The URL of the subnetwork resource to create the VM instance hosting the reverse proxy in. More context in https://cloud.google.com/datastream/docs/private-connectivity#reverse-csql-proxy The subnetwork should reside in the network provided in the request that Datastream will peer to and should be in the same region as Datastream, in the following format. projects/{project_id}/regions/{region_id}/subnetworks/{subnetwork_id}", + "type": "string" + }, + "rootPath": { + "description": "Optional. The root path inside the Cloud Storage bucket. The stream event data will be written to this path. The default value is /migration.", + "type": "string" + }, + "subnetIpRange": { + "description": "Required. A /29 CIDR IP range for peering with datastream.", + "type": "string" + }, + "username": { + "description": "Required. The username that the Datastream service should use for the MySQL connection.", + "type": "string" + }, + "vpcNetwork": { + "description": "Required. Fully qualified name of the Cloud SQL instance's VPC network or the shared VPC network that Datastream will peer to, in the following format: projects/{project_id}/locations/global/networks/{network_id}. More context in https://cloud.google.com/datastream/docs/network-connectivity-options#privateconnectivity", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaCloudSQLConnectionConfig": { + "description": "Configuration information to establish customer database connection before the cutover phase of migration", + "id": "GoogleCloudMetastoreV2betaCloudSQLConnectionConfig", + "properties": { + "hiveDatabaseName": { + "description": "Required. The hive database name.", + "type": "string" + }, + "instanceConnectionName": { + "description": "Required. Cloud SQL database connection name (project_id:region:instance_name)", + "type": "string" + }, + "ipAddress": { + "description": "Required. The private IP address of the Cloud SQL instance.", + "type": "string" + }, + "natSubnet": { + "description": "Required. The relative resource name of the subnetwork to be used for Private Service Connect. Note that this cannot be a regular subnet and is used only for NAT. (https://cloud.google.com/vpc/docs/about-vpc-hosted-services#psc-subnets) This subnet is used to publish the SOCKS5 proxy service. The subnet size must be at least /29 and it should reside in a network through which the Cloud SQL instance is accessible. The resource name should be in the format, projects/{project_id}/regions/{region_id}/subnetworks/{subnetwork_id}", + "type": "string" + }, + "password": { + "description": "Required. Input only. The password for the user that Dataproc Metastore service will be using to connect to the database. This field is not returned on request.", + "type": "string" + }, + "port": { + "description": "Required. The network port of the database.", + "format": "int32", + "type": "integer" + }, + "proxySubnet": { + "description": "Required. The relative resource name of the subnetwork to deploy the SOCKS5 proxy service in. The subnetwork should reside in a network through which the Cloud SQL instance is accessible. The resource name should be in the format, projects/{project_id}/regions/{region_id}/subnetworks/{subnetwork_id}", + "type": "string" + }, + "username": { + "description": "Required. The username that Dataproc Metastore service will use to connect to the database.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaCloudSQLMigrationConfig": { + "description": "Configuration information for migrating from self-managed hive metastore on Google Cloud using Cloud SQL as the backend database to Dataproc Metastore.", + "id": "GoogleCloudMetastoreV2betaCloudSQLMigrationConfig", + "properties": { + "cdcConfig": { + "$ref": "GoogleCloudMetastoreV2betaCdcConfig", + "description": "Required. Configuration information to start the Change Data Capture (CDC) streams from customer database to backend database of Dataproc Metastore. Dataproc Metastore switches to using its backend database after the cutover phase of migration." + }, + "cloudSqlConnectionConfig": { + "$ref": "GoogleCloudMetastoreV2betaCloudSQLConnectionConfig", + "description": "Required. Configuration information to establish customer database connection before the cutover phase of migration" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaCompleteMigrationRequest": { + "description": "Request message for DataprocMetastore.CompleteMigration.", + "id": "GoogleCloudMetastoreV2betaCompleteMigrationRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudMetastoreV2betaDataCatalogConfig": { + "description": "Specifies how metastore metadata should be integrated with the Data Catalog service.", + "id": "GoogleCloudMetastoreV2betaDataCatalogConfig", + "properties": { + "enabled": { + "description": "Optional. Defines whether the metastore metadata should be synced to Data Catalog. The default value is to disable syncing metastore metadata to Data Catalog.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaDatabaseDump": { + "description": "A specification of the location of and metadata about a database dump from a relational database management system.", + "id": "GoogleCloudMetastoreV2betaDatabaseDump", + "properties": { + "gcsUri": { + "description": "Required. A Cloud Storage object or folder URI that specifies the source from which to import metadata. It must begin with gs://.", + "type": "string" + }, + "type": { + "description": "Optional. The type of the database dump. If unspecified, defaults to MYSQL.", + "enum": [ + "TYPE_UNSPECIFIED", + "MYSQL", + "AVRO" + ], + "enumDescriptions": [ + "The type of the database dump is unknown.", + "Database dump is a MySQL dump file.", + "Database dump contains Avro files." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaEncryptionConfig": { + "description": "Encryption settings for the service.", + "id": "GoogleCloudMetastoreV2betaEncryptionConfig", + "properties": {}, + "type": "object" + }, + "GoogleCloudMetastoreV2betaEndpoint": { + "description": "An endpoint used to access the metastore service.", + "id": "GoogleCloudMetastoreV2betaEndpoint", + "properties": { + "endpointUri": { + "description": "Output only. The URI of the endpoint used to access the metastore service.", + "readOnly": true, + "type": "string" + }, + "region": { + "description": "Output only. The region where the endpoint is located.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaExportMetadataRequest": { + "description": "Request message for DataprocMetastore.ExportMetadata.", + "id": "GoogleCloudMetastoreV2betaExportMetadataRequest", + "properties": { + "databaseDumpType": { + "description": "Optional. The type of the database dump. If unspecified, defaults to MYSQL.", + "enum": [ + "TYPE_UNSPECIFIED", + "MYSQL", + "AVRO" + ], + "enumDescriptions": [ + "The type of the database dump is unknown.", + "Database dump is a MySQL dump file.", + "Database dump contains Avro files." + ], + "type": "string" + }, + "destinationGcsFolder": { + "description": "A Cloud Storage URI of a folder, in the format gs:///. A sub-folder containing exported files will be created below it.", + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format). A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaHiveMetastoreConfig": { + "description": "Specifies configuration information specific to running Hive metastore software as the metastore service.", + "id": "GoogleCloudMetastoreV2betaHiveMetastoreConfig", + "properties": { + "auxiliaryVersions": { + "additionalProperties": { + "$ref": "GoogleCloudMetastoreV2betaAuxiliaryVersionConfig" + }, + "description": "Optional. A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen.", + "type": "object" + }, + "configOverrides": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig.", + "type": "object" + }, + "endpointProtocol": { + "description": "Optional. The protocol to use for the metastore service endpoint. If unspecified, defaults to GRPC.", + "enum": [ + "ENDPOINT_PROTOCOL_UNSPECIFIED", + "THRIFT", + "GRPC" + ], + "enumDescriptions": [ + "The protocol is not set.", + "Use the legacy Apache Thrift protocol for the metastore service endpoint.", + "Use the modernized gRPC protocol for the metastore service endpoint." + ], + "type": "string" + }, + "version": { + "description": "Immutable. The Hive metastore schema version.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaImportMetadataRequest": { + "description": "Request message for DataprocMetastore.CreateMetadataImport.", + "id": "GoogleCloudMetastoreV2betaImportMetadataRequest", + "properties": { + "databaseDump": { + "$ref": "GoogleCloudMetastoreV2betaDatabaseDump", + "description": "Immutable. A database dump from a pre-existing metastore's database." + }, + "description": { + "description": "Optional. The description of the metadata import.", + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format). A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaLatestBackup": { + "description": "The details of the latest scheduled backup.", + "id": "GoogleCloudMetastoreV2betaLatestBackup", + "properties": { + "backupId": { + "description": "Output only. The ID of an in-progress scheduled backup. Empty if no backup is in progress.", + "readOnly": true, + "type": "string" + }, + "duration": { + "description": "Output only. The duration of the backup completion.", + "format": "google-duration", + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. The time when the backup was started.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The current state of the backup.", + "enum": [ + "STATE_UNSPECIFIED", + "IN_PROGRESS", + "SUCCEEDED", + "FAILED" + ], + "enumDescriptions": [ + "The state of the backup is unknown.", + "The backup is in progress.", + "The backup completed.", + "The backup failed." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaLimitConfig": { + "description": "Represents the autoscaling limit configuration of a metastore service.", + "id": "GoogleCloudMetastoreV2betaLimitConfig", + "properties": { + "maxScalingFactor": { + "description": "Optional. The highest scaling factor that the service should be autoscaled to.", + "format": "int32", + "type": "integer" + }, + "minScalingFactor": { + "description": "Optional. The lowest scaling factor that the service should be autoscaled to.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaListBackupsResponse": { + "description": "Response message for DataprocMetastore.ListBackups.", + "id": "GoogleCloudMetastoreV2betaListBackupsResponse", + "properties": { + "backups": { + "description": "The backups of the specified service.", + "items": { + "$ref": "GoogleCloudMetastoreV2betaBackup" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaListMigrationExecutionsResponse": { + "description": "Response message for DataprocMetastore.ListMigrationExecutions.", + "id": "GoogleCloudMetastoreV2betaListMigrationExecutionsResponse", + "properties": { + "migrationExecutions": { + "description": "The migration executions on the specified service.", + "items": { + "$ref": "GoogleCloudMetastoreV2betaMigrationExecution" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token that can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaListServicesResponse": { + "description": "Response message for DataprocMetastore.ListServices.", + "id": "GoogleCloudMetastoreV2betaListServicesResponse", + "properties": { + "nextPageToken": { + "description": "A token that can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "services": { + "description": "The services in the specified location.", + "items": { + "$ref": "GoogleCloudMetastoreV2betaService" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaMetadataIntegration": { + "description": "Specifies how metastore metadata should be integrated with external services.", + "id": "GoogleCloudMetastoreV2betaMetadataIntegration", + "properties": { + "dataCatalogConfig": { + "$ref": "GoogleCloudMetastoreV2betaDataCatalogConfig", + "description": "Optional. The integration config for the Data Catalog service." + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaMigrationExecution": { + "description": "The details of a migration execution resource.", + "id": "GoogleCloudMetastoreV2betaMigrationExecution", + "properties": { + "cloudSqlMigrationConfig": { + "$ref": "GoogleCloudMetastoreV2betaCloudSQLMigrationConfig", + "description": "Configuration information specific to migrating from self-managed hive metastore on Google Cloud using Cloud SQL as the backend database to Dataproc Metastore." + }, + "createTime": { + "description": "Output only. The time when the migration execution was started.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time when the migration execution finished.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The relative resource name of the migration execution, in the following form: projects/{project_number}/locations/{location_id}/services/{service_id}/migrationExecutions/{migration_execution_id}", + "readOnly": true, + "type": "string" + }, + "phase": { + "description": "Output only. The current phase of the migration execution.", + "enum": [ + "PHASE_UNSPECIFIED", + "REPLICATION", + "CUTOVER" + ], + "enumDescriptions": [ + "The phase of the migration execution is unknown.", + "Replication phase refers to the migration phase when Dataproc Metastore is running a pipeline to replicate changes in the customer database to its backend database. During this phase, Dataproc Metastore uses the customer database as the hive metastore backend database.", + "Cutover phase refers to the migration phase when Dataproc Metastore switches to using its own backend database. Migration enters this phase when customer is done migrating all their clusters/workloads to Dataproc Metastore and triggers CompleteMigration." + ], + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The current state of the migration execution.", + "enum": [ + "STATE_UNSPECIFIED", + "STARTING", + "RUNNING", + "CANCELLING", + "AWAITING_USER_ACTION", + "SUCCEEDED", + "FAILED", + "CANCELLED", + "DELETING" + ], + "enumDescriptions": [ + "The state of the migration execution is unknown.", + "The migration execution is starting.", + "The migration execution is running.", + "The migration execution is in the process of being cancelled.", + "The migration execution is awaiting user action.", + "The migration execution has completed successfully.", + "The migration execution has failed.", + "The migration execution is cancelled.", + "The migration execution is being deleted." + ], + "readOnly": true, + "type": "string" + }, + "stateMessage": { + "description": "Output only. Additional information about the current state of the migration execution.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaMoveTableToDatabaseRequest": { + "description": "Request message for DataprocMetastore.MoveTableToDatabase.", + "id": "GoogleCloudMetastoreV2betaMoveTableToDatabaseRequest", + "properties": { + "dbName": { + "description": "Required. The name of the database where the table resides.", + "type": "string" + }, + "destinationDbName": { + "description": "Required. The name of the database where the table should be moved.", + "type": "string" + }, + "tableName": { + "description": "Required. The name of the table to be moved.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaQueryMetadataRequest": { + "description": "Request message for DataprocMetastore.QueryMetadata.", + "id": "GoogleCloudMetastoreV2betaQueryMetadataRequest", + "properties": { + "query": { + "description": "Required. A read-only SQL query to execute against the metadata database. The query cannot change or mutate the data.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaRemoveIamPolicyRequest": { + "description": "Request message for DataprocMetastore.RemoveIamPolicy.", + "id": "GoogleCloudMetastoreV2betaRemoveIamPolicyRequest", + "properties": { + "asynchronous": { + "description": "Optional. Removes IAM policy attached to database or table asynchronously when it is set. The default is false.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaRemoveIamPolicyResponse": { + "description": "Response message for DataprocMetastore.RemoveIamPolicy.", + "id": "GoogleCloudMetastoreV2betaRemoveIamPolicyResponse", + "properties": { + "success": { + "description": "True if the policy is successfully removed.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaRestoreServiceRequest": { + "description": "Request message for DataprocMetastore.Restore.", + "id": "GoogleCloudMetastoreV2betaRestoreServiceRequest", + "properties": { + "backup": { + "description": "Optional. The relative resource name of the metastore service backup to restore from, in the following form:projects/{project_id}/locations/{location_id}/services/{service_id}/backups/{backup_id}. Mutually exclusive with backup_location, and exactly one of the two must be set.", + "type": "string" + }, + "backupLocation": { + "description": "Optional. A Cloud Storage URI specifying the location of the backup artifacts, namely - backup avro files under \"avro/\", backup_metastore.json and service.json, in the following form:gs://. Mutually exclusive with backup, and exactly one of the two must be set.", + "type": "string" + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format). A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "type": "string" + }, + "restoreType": { + "description": "Optional. The type of restore. If unspecified, defaults to METADATA_ONLY.", + "enum": [ + "RESTORE_TYPE_UNSPECIFIED", + "FULL", + "METADATA_ONLY" + ], + "enumDescriptions": [ + "The restore type is unknown.", + "The service's metadata and configuration are restored.", + "Only the service's metadata is restored." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaScalingConfig": { + "description": "Represents the scaling configuration of a metastore service.", + "id": "GoogleCloudMetastoreV2betaScalingConfig", + "properties": { + "autoscalingConfig": { + "$ref": "GoogleCloudMetastoreV2betaAutoscalingConfig", + "description": "Optional. The autoscaling configuration." + }, + "scalingFactor": { + "description": "Optional. Scaling factor from 1 to 5, increments of 1.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaScheduledBackup": { + "description": "This specifies the configuration of scheduled backup.", + "id": "GoogleCloudMetastoreV2betaScheduledBackup", + "properties": { + "backupLocation": { + "description": "Optional. A Cloud Storage URI of a folder, in the format gs:///. A sub-folder containing backup files will be stored below it.", + "type": "string" + }, + "cronSchedule": { + "description": "Optional. The scheduled interval in Cron format, see https://en.wikipedia.org/wiki/Cron The default is empty: scheduled backup is not enabled. Must be specified to enable scheduled backups.", + "type": "string" + }, + "enabled": { + "description": "Optional. Defines whether the scheduled backup is enabled. The default value is false.", + "type": "boolean" + }, + "latestBackup": { + "$ref": "GoogleCloudMetastoreV2betaLatestBackup", + "description": "Output only. The details of the latest scheduled backup.", + "readOnly": true + }, + "nextScheduledTime": { + "description": "Output only. The time when the next backups execution is scheduled to start.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "timeZone": { + "description": "Optional. Specifies the time zone to be used when interpreting cron_schedule. Must be a time zone name from the time zone database (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones), e.g. America/Los_Angeles or Africa/Abidjan. If left unspecified, the default is UTC.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaService": { + "description": "A managed metastore service that serves metadata queries.", + "id": "GoogleCloudMetastoreV2betaService", + "properties": { + "createTime": { + "description": "Output only. The time when the metastore service was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "encryptionConfig": { + "$ref": "GoogleCloudMetastoreV2betaEncryptionConfig", + "description": "Immutable. Information used to configure the Dataproc Metastore service to encrypt customer data at rest. Cannot be updated." + }, + "endpoints": { + "description": "Output only. The list of endpoints used to access the metastore service.", + "items": { + "$ref": "GoogleCloudMetastoreV2betaEndpoint" + }, + "readOnly": true, + "type": "array" + }, + "hiveMetastoreConfig": { + "$ref": "GoogleCloudMetastoreV2betaHiveMetastoreConfig", + "description": "Configuration information specific to running Hive metastore software as the metastore service." + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "User-defined labels for the metastore service.", + "type": "object" + }, + "metadataIntegration": { + "$ref": "GoogleCloudMetastoreV2betaMetadataIntegration", + "description": "Optional. The setting that defines how metastore metadata should be integrated with external services and systems." + }, + "name": { + "description": "Immutable. The relative resource name of the metastore service, in the following format:projects/{project_number}/locations/{location_id}/services/{service_id}.", + "type": "string" + }, + "scalingConfig": { + "$ref": "GoogleCloudMetastoreV2betaScalingConfig", + "description": "Optional. Scaling configuration of the metastore service." + }, + "scheduledBackup": { + "$ref": "GoogleCloudMetastoreV2betaScheduledBackup", + "description": "Optional. The configuration of scheduled backup for the metastore service." + }, + "state": { + "description": "Output only. The current state of the metastore service.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "SUSPENDING", + "SUSPENDED", + "UPDATING", + "DELETING", + "ERROR", + "MIGRATING" + ], + "enumDescriptions": [ + "The state of the metastore service is unknown.", + "The metastore service is in the process of being created.", + "The metastore service is running and ready to serve queries.", + "The metastore service is entering suspension. Its query-serving availability may cease unexpectedly.", + "The metastore service is suspended and unable to serve queries.", + "The metastore service is being updated. It remains usable but cannot accept additional update requests or be deleted at this time.", + "The metastore service is undergoing deletion. It cannot be used.", + "The metastore service has encountered an error and cannot be used. The metastore service should be deleted.", + "The metastore service is processing a managed migration." + ], + "readOnly": true, + "type": "string" + }, + "stateMessage": { + "description": "Output only. Additional information about the current state of the metastore service, if available.", + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. The globally unique resource identifier of the metastore service.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time when the metastore service was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "warehouseGcsUri": { + "description": "Required. A Cloud Storage URI (starting with gs://) that specifies the default warehouse directory of the Hive Metastore.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudMetastoreV2betaStartMigrationRequest": { + "description": "Request message for DataprocMetastore.StartMigration.", + "id": "GoogleCloudMetastoreV2betaStartMigrationRequest", + "properties": { + "migrationExecution": { + "$ref": "GoogleCloudMetastoreV2betaMigrationExecution", + "description": "Required. The configuration details for the migration." + }, + "requestId": { + "description": "Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleLongrunningOperation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "GoogleLongrunningOperation", + "properties": { + "done": { + "description": "If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.", + "type": "boolean" + }, + "error": { + "$ref": "GoogleRpcStatus", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id}.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleRpcStatus": { + "description": "The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors).", + "id": "GoogleRpcStatus", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Dataproc Metastore API", + "version": "v2beta", + "version_module": true +} \ No newline at end of file diff --git a/discovery/migrationcenter-v1.json b/discovery/migrationcenter-v1.json index 0ff1b305c5..34e2a91b52 100644 --- a/discovery/migrationcenter-v1.json +++ b/discovery/migrationcenter-v1.json @@ -1401,7 +1401,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "migrationcenter.projects.locations.operations.cancel", @@ -2309,7 +2309,7 @@ } } }, - "revision": "20240926", + "revision": "20241205", "rootUrl": "https://migrationcenter.googleapis.com/", "schemas": { "AddAssetsToGroupRequest": { @@ -2542,6 +2542,16 @@ "readOnly": true, "type": "string" }, + "databaseDeploymentDetails": { + "$ref": "DatabaseDeploymentDetails", + "description": "Output only. Asset information specific for database deployments.", + "readOnly": true + }, + "databaseDetails": { + "$ref": "DatabaseDetails", + "description": "Output only. Asset information specific for logical databases.", + "readOnly": true + }, "insightList": { "$ref": "InsightList", "description": "Output only. The list of insights associated with the asset.", @@ -2577,6 +2587,11 @@ "readOnly": true, "type": "array" }, + "title": { + "description": "Output only. Server generated human readable name of the asset.", + "readOnly": true, + "type": "string" + }, "updateTime": { "description": "Output only. The timestamp when the asset was last updated.", "format": "google-datetime", @@ -2617,6 +2632,14 @@ ], "type": "string" }, + "databaseDeploymentDetails": { + "$ref": "DatabaseDeploymentDetails", + "description": "Asset information specific for database deployments." + }, + "databaseDetails": { + "$ref": "DatabaseDetails", + "description": "Asset information specific for logical databases." + }, "labels": { "additionalProperties": { "type": "string" @@ -2679,6 +2702,20 @@ "description": "AWS EC2 specific details.", "id": "AwsEc2PlatformDetails", "properties": { + "hyperthreading": { + "description": "Optional. Whether the machine is hyperthreaded.", + "enum": [ + "HYPERTHREADING_STATUS_UNSPECIFIED", + "HYPERTHREADING_STATUS_DISABLED", + "HYPERTHREADING_STATUS_ENABLED" + ], + "enumDescriptions": [ + "Simultaneous Multithreading status unknown.", + "Simultaneous Multithreading is disabled or unavailable.", + "Simultaneous Multithreading is enabled." + ], + "type": "string" + }, "location": { "description": "The location of the machine in the AWS format.", "type": "string" @@ -2694,6 +2731,20 @@ "description": "Azure VM specific details.", "id": "AzureVmPlatformDetails", "properties": { + "hyperthreading": { + "description": "Whether the machine is hyperthreaded.", + "enum": [ + "HYPERTHREADING_STATUS_UNSPECIFIED", + "HYPERTHREADING_STATUS_DISABLED", + "HYPERTHREADING_STATUS_ENABLED" + ], + "enumDescriptions": [ + "Simultaneous Multithreading status unknown.", + "Simultaneous Multithreading is disabled or unavailable.", + "Simultaneous Multithreading is enabled." + ], + "type": "string" + }, "location": { "description": "The location of the machine in the Azure format.", "type": "string" @@ -2835,7 +2886,7 @@ "PERSISTENT_DISK_TYPE_SSD" ], "enumDescriptions": [ - "Unspecified (default value). Selecting this value allows the system to use any disk type according to reported usage. This a good value to start with.", + "Unspecified. Fallback to default value based on context.", "Standard HDD Persistent Disk.", "Balanced Persistent Disk.", "SSD Persistent Disk." @@ -2905,7 +2956,7 @@ "PERSISTENT_DISK_TYPE_SSD" ], "enumDescriptions": [ - "Unspecified (default value). Selecting this value allows the system to use any disk type according to reported usage. This a good value to start with.", + "Unspecified. Fallback to default value based on context.", "Standard HDD Persistent Disk.", "Balanced Persistent Disk.", "SSD Persistent Disk." @@ -2972,7 +3023,15 @@ "properties": { "iops": { "$ref": "DailyResourceUsageAggregationStats", - "description": "Disk I/O operations per second." + "description": "Optional. Disk I/O operations per second." + }, + "readIops": { + "$ref": "DailyResourceUsageAggregationStats", + "description": "Optional. Disk read I/O operations per second." + }, + "writeIops": { + "$ref": "DailyResourceUsageAggregationStats", + "description": "Optional. Disk write I/O operations per second." } }, "type": "object" @@ -3030,6 +3089,284 @@ }, "type": "object" }, + "DatabaseDeploymentDetails": { + "description": "The details of a database deployment asset.", + "id": "DatabaseDeploymentDetails", + "properties": { + "aggregatedStats": { + "$ref": "DatabaseDeploymentDetailsAggregatedStats", + "description": "Output only. Aggregated stats for the database deployment.", + "readOnly": true + }, + "edition": { + "description": "Optional. The database deployment edition.", + "type": "string" + }, + "generatedId": { + "description": "Optional. The database deployment generated ID.", + "type": "string" + }, + "manualUniqueId": { + "description": "Optional. A manual unique ID set by the user.", + "type": "string" + }, + "mysql": { + "$ref": "MysqlDatabaseDeployment", + "description": "Optional. Details of a MYSQL database deployment." + }, + "postgresql": { + "$ref": "PostgreSqlDatabaseDeployment", + "description": "Optional. Details of a PostgreSQL database deployment." + }, + "sqlServer": { + "$ref": "SqlServerDatabaseDeployment", + "description": "Optional. Details of a Microsoft SQL Server database deployment." + }, + "topology": { + "$ref": "DatabaseDeploymentTopology", + "description": "Optional. Details of the database deployment topology." + }, + "version": { + "description": "Optional. The database deployment version.", + "type": "string" + } + }, + "type": "object" + }, + "DatabaseDeploymentDetailsAggregatedStats": { + "description": "Aggregated stats for the database deployment.", + "id": "DatabaseDeploymentDetailsAggregatedStats", + "properties": { + "databaseCount": { + "description": "Output only. The number of databases in the deployment.", + "format": "int32", + "readOnly": true, + "type": "integer" + } + }, + "type": "object" + }, + "DatabaseDeploymentTopology": { + "description": "Details of database deployment's topology.", + "id": "DatabaseDeploymentTopology", + "properties": { + "coreCount": { + "description": "Optional. Number of total logical cores.", + "format": "int32", + "type": "integer" + }, + "coreLimit": { + "description": "Optional. Number of total logical cores limited by db deployment.", + "format": "int32", + "type": "integer" + }, + "diskAllocatedBytes": { + "description": "Optional. Disk allocated in bytes.", + "format": "int64", + "type": "string" + }, + "diskUsedBytes": { + "description": "Optional. Disk used in bytes.", + "format": "int64", + "type": "string" + }, + "instances": { + "description": "Optional. List of database instances.", + "items": { + "$ref": "DatabaseInstance" + }, + "type": "array" + }, + "memoryBytes": { + "description": "Optional. Total memory in bytes.", + "format": "int64", + "type": "string" + }, + "memoryLimitBytes": { + "description": "Optional. Total memory in bytes limited by db deployment.", + "format": "int64", + "type": "string" + }, + "physicalCoreCount": { + "description": "Optional. Number of total physical cores.", + "format": "int32", + "type": "integer" + }, + "physicalCoreLimit": { + "description": "Optional. Number of total physical cores limited by db deployment.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "DatabaseDetails": { + "description": "Details of a logical database.", + "id": "DatabaseDetails", + "properties": { + "allocatedStorageBytes": { + "description": "Optional. The allocated storage for the database in bytes.", + "format": "int64", + "type": "string" + }, + "databaseName": { + "description": "Required. The name of the database.", + "type": "string" + }, + "parentDatabaseDeployment": { + "$ref": "DatabaseDetailsParentDatabaseDeployment", + "description": "Required. The parent database deployment that contains the logical database." + }, + "schemas": { + "description": "Optional. The database schemas.", + "items": { + "$ref": "DatabaseSchema" + }, + "type": "array" + } + }, + "type": "object" + }, + "DatabaseDetailsParentDatabaseDeployment": { + "description": "The identifiers of the parent database deployment.", + "id": "DatabaseDetailsParentDatabaseDeployment", + "properties": { + "generatedId": { + "description": "Optional. The parent database deployment generated ID.", + "type": "string" + }, + "manualUniqueId": { + "description": "Optional. The parent database deployment optional manual unique ID set by the user.", + "type": "string" + } + }, + "type": "object" + }, + "DatabaseInstance": { + "description": "Details of a database instance.", + "id": "DatabaseInstance", + "properties": { + "instanceName": { + "description": "Optional. The instance's name.", + "type": "string" + }, + "network": { + "$ref": "DatabaseInstanceNetwork", + "description": "Optional. Networking details." + }, + "role": { + "description": "Optional. The instance role in the database engine.", + "enum": [ + "ROLE_UNSPECIFIED", + "PRIMARY", + "SECONDARY", + "ARBITER" + ], + "enumDescriptions": [ + "Unspecified.", + "Primary.", + "Secondary.", + "Arbiter." + ], + "type": "string" + } + }, + "type": "object" + }, + "DatabaseInstanceNetwork": { + "description": "Network details of a database instance.", + "id": "DatabaseInstanceNetwork", + "properties": { + "hostNames": { + "description": "Optional. The instance's host names.", + "items": { + "type": "string" + }, + "type": "array" + }, + "ipAddresses": { + "description": "Optional. The instance's IP addresses.", + "items": { + "type": "string" + }, + "type": "array" + }, + "primaryMacAddress": { + "description": "Optional. The instance's primary MAC address.", + "type": "string" + } + }, + "type": "object" + }, + "DatabaseObjects": { + "description": "Details of a group of database objects.", + "id": "DatabaseObjects", + "properties": { + "category": { + "description": "Optional. The category of the objects.", + "enum": [ + "CATEGORY_UNSPECIFIED", + "TABLE", + "INDEX", + "CONSTRAINTS", + "VIEWS", + "SOURCE_CODE", + "OTHER" + ], + "enumDescriptions": [ + "Unspecified type.", + "Table.", + "Index.", + "Constraints.", + "Views.", + "Source code, e.g. procedures.", + "Uncategorized objects." + ], + "type": "string" + }, + "count": { + "description": "Optional. The number of objects.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "DatabaseSchema": { + "description": "Details of a database schema.", + "id": "DatabaseSchema", + "properties": { + "mysql": { + "$ref": "MySqlSchemaDetails", + "description": "Optional. Details of a Mysql schema." + }, + "objects": { + "description": "Optional. List of details of objects by category.", + "items": { + "$ref": "DatabaseObjects" + }, + "type": "array" + }, + "postgresql": { + "$ref": "PostgreSqlSchemaDetails", + "description": "Optional. Details of a PostgreSql schema." + }, + "schemaName": { + "description": "Required. The name of the schema.", + "type": "string" + }, + "sqlServer": { + "$ref": "SqlServerSchemaDetails", + "description": "Optional. Details of a SqlServer schema." + }, + "tablesSizeBytes": { + "description": "Optional. The total size of tables in bytes.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "Date": { "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp", "id": "Date", @@ -3283,7 +3620,17 @@ "id": "DiskUsageSample", "properties": { "averageIops": { - "description": "Average IOPS sampled over a short window. Must be non-negative.", + "description": "Optional. Average IOPS sampled over a short window. Must be non-negative. Must be equal to the sum of read and write if one of them is positive. if both read and write are zero they are ignored.", + "format": "float", + "type": "number" + }, + "averageReadIops": { + "description": "Optional. Average read IOPS sampled over a short window. Must be non-negative.", + "format": "float", + "type": "number" + }, + "averageWriteIops": { + "description": "Optional. Average write IOPS sampled over a short window. Must be non-negative.", "format": "float", "type": "number" } @@ -3508,6 +3855,20 @@ "description": "Generic platform details.", "id": "GenericPlatformDetails", "properties": { + "hyperthreading": { + "description": "Whether the machine is hyperthreaded.", + "enum": [ + "HYPERTHREADING_STATUS_UNSPECIFIED", + "HYPERTHREADING_STATUS_DISABLED", + "HYPERTHREADING_STATUS_ENABLED" + ], + "enumDescriptions": [ + "Simultaneous Multithreading status unknown.", + "Simultaneous Multithreading is disabled or unavailable.", + "Simultaneous Multithreading is enabled." + ], + "type": "string" + }, "location": { "description": "Free text representation of the machine location. The format of this field should not be relied on. Different VMs in the same location may have different string values for this field.", "type": "string" @@ -3775,7 +4136,8 @@ "IMPORT_JOB_FORMAT_RVTOOLS_CSV", "IMPORT_JOB_FORMAT_EXPORTED_AWS_CSV", "IMPORT_JOB_FORMAT_EXPORTED_AZURE_CSV", - "IMPORT_JOB_FORMAT_STRATOZONE_CSV" + "IMPORT_JOB_FORMAT_STRATOZONE_CSV", + "IMPORT_JOB_FORMAT_DATABASE_ZIP" ], "enumDescriptions": [ "Default value.", @@ -3783,7 +4145,8 @@ "RVTools format (CSV).", "CSV format exported from AWS using the AWS collection script.", "CSV format exported from Azure using the Azure collection script.", - "CSV format created manually and following the StratoZone format. For more information, see Manually create and upload data tables." + "CSV format created manually and following the StratoZone format. For more information, see Manually create and upload data tables.", + "ZIP file with nested CSV files generated by a database collector." ], "type": "string" }, @@ -3925,6 +4288,15 @@ "description": "A resource that reports the import job errors at row level.", "id": "ImportRowError", "properties": { + "archiveError": { + "$ref": "ImportRowErrorArchiveErrorDetails", + "description": "Error details for an archive file." + }, + "assetTitle": { + "description": "Output only. The asset title.", + "readOnly": true, + "type": "string" + }, "csvError": { "$ref": "ImportRowErrorCsvErrorDetails", "description": "Error details for a CSV file." @@ -3957,6 +4329,22 @@ }, "type": "object" }, + "ImportRowErrorArchiveErrorDetails": { + "description": "Error details for an archive file.", + "id": "ImportRowErrorArchiveErrorDetails", + "properties": { + "csvError": { + "$ref": "ImportRowErrorCsvErrorDetails", + "description": "Error details for a CSV file." + }, + "filePath": { + "description": "Output only. The file path inside the archive where the error was detected.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "ImportRowErrorCsvErrorDetails": { "description": "Error details for a CSV file.", "id": "ImportRowErrorCsvErrorDetails", @@ -3991,7 +4379,7 @@ "properties": { "genericInsight": { "$ref": "GenericInsight", - "description": "Output only. A generic insight about an asset", + "description": "Output only. A generic insight about an asset.", "readOnly": true }, "migrationInsight": { @@ -4355,6 +4743,10 @@ "description": "CPU architecture, e.g., \"x64-based PC\", \"x86_64\", \"i686\" etc.", "type": "string" }, + "cpuManufacturer": { + "description": "Optional. CPU manufacturer, e.g., \"Intel\", \"AMD\".", + "type": "string" + }, "cpuName": { "description": "CPU name, e.g., \"Intel Xeon E5-2690\", \"AMD EPYC 7571\" etc.", "type": "string" @@ -4596,6 +4988,160 @@ }, "type": "object" }, + "MySqlPlugin": { + "description": "MySql plugin.", + "id": "MySqlPlugin", + "properties": { + "enabled": { + "description": "Required. The plugin is active.", + "type": "boolean" + }, + "plugin": { + "description": "Required. The plugin name.", + "type": "string" + }, + "version": { + "description": "Required. The plugin version.", + "type": "string" + } + }, + "type": "object" + }, + "MySqlProperty": { + "description": "MySql property.", + "id": "MySqlProperty", + "properties": { + "enabled": { + "description": "Required. The property is enabled.", + "type": "boolean" + }, + "numericValue": { + "description": "Required. The property numeric value.", + "format": "int64", + "type": "string" + }, + "property": { + "description": "Required. The property name.", + "type": "string" + } + }, + "type": "object" + }, + "MySqlSchemaDetails": { + "description": "Specific details for a Mysql database.", + "id": "MySqlSchemaDetails", + "properties": { + "storageEngines": { + "description": "Optional. Mysql storage engine tables.", + "items": { + "$ref": "MySqlStorageEngineDetails" + }, + "type": "array" + } + }, + "type": "object" + }, + "MySqlStorageEngineDetails": { + "description": "Mysql storage engine tables.", + "id": "MySqlStorageEngineDetails", + "properties": { + "encryptedTableCount": { + "description": "Optional. The number of encrypted tables.", + "format": "int32", + "type": "integer" + }, + "engine": { + "description": "Required. The storage engine.", + "enum": [ + "ENGINE_UNSPECIFIED", + "INNODB", + "MYISAM", + "MEMORY", + "CSV", + "ARCHIVE", + "BLACKHOLE", + "NDB", + "MERGE", + "FEDERATED", + "EXAMPLE", + "OTHER" + ], + "enumDescriptions": [ + "Unspecified storage engine.", + "InnoDB.", + "MyISAM.", + "Memory.", + "CSV.", + "Archive.", + "Blackhole.", + "NDB.", + "Merge.", + "Federated.", + "Example.", + "Other." + ], + "type": "string" + }, + "tableCount": { + "description": "Optional. The number of tables.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "MySqlVariable": { + "description": "MySql variable.", + "id": "MySqlVariable", + "properties": { + "category": { + "description": "Required. The variable category.", + "type": "string" + }, + "value": { + "description": "Required. The variable value.", + "type": "string" + }, + "variable": { + "description": "Required. The variable name.", + "type": "string" + } + }, + "type": "object" + }, + "MysqlDatabaseDeployment": { + "description": "Specific details for a Mysql database deployment.", + "id": "MysqlDatabaseDeployment", + "properties": { + "plugins": { + "description": "Optional. List of MySql plugins.", + "items": { + "$ref": "MySqlPlugin" + }, + "type": "array" + }, + "properties": { + "description": "Optional. List of MySql properties.", + "items": { + "$ref": "MySqlProperty" + }, + "type": "array" + }, + "resourceGroupsCount": { + "description": "Optional. Number of resource groups.", + "format": "int32", + "type": "integer" + }, + "variables": { + "description": "Optional. List of MySql variables.", + "items": { + "$ref": "MySqlVariable" + }, + "type": "array" + } + }, + "type": "object" + }, "NetworkAdapterDetails": { "description": "Details of network adapter.", "id": "NetworkAdapterDetails", @@ -4948,6 +5494,20 @@ "description": "Platform specific details for Physical Machines.", "id": "PhysicalPlatformDetails", "properties": { + "hyperthreading": { + "description": "Whether the machine is hyperthreaded.", + "enum": [ + "HYPERTHREADING_STATUS_UNSPECIFIED", + "HYPERTHREADING_STATUS_DISABLED", + "HYPERTHREADING_STATUS_ENABLED" + ], + "enumDescriptions": [ + "Simultaneous Multithreading status unknown.", + "Simultaneous Multithreading is disabled or unavailable.", + "Simultaneous Multithreading is enabled." + ], + "type": "string" + }, "location": { "description": "Free text representation of the machine location. The format of this field should not be relied on. Different machines in the same location may have different string values for this field.", "type": "string" @@ -4982,6 +5542,118 @@ }, "type": "object" }, + "PostgreSqlDatabaseDeployment": { + "description": "Specific details for a PostgreSQL database deployment.", + "id": "PostgreSqlDatabaseDeployment", + "properties": { + "properties": { + "description": "Optional. List of PostgreSql properties.", + "items": { + "$ref": "PostgreSqlProperty" + }, + "type": "array" + }, + "settings": { + "description": "Optional. List of PostgreSql settings.", + "items": { + "$ref": "PostgreSqlSetting" + }, + "type": "array" + } + }, + "type": "object" + }, + "PostgreSqlExtension": { + "description": "PostgreSql extension.", + "id": "PostgreSqlExtension", + "properties": { + "extension": { + "description": "Required. The extension name.", + "type": "string" + }, + "version": { + "description": "Required. The extension version.", + "type": "string" + } + }, + "type": "object" + }, + "PostgreSqlProperty": { + "description": "PostgreSql property.", + "id": "PostgreSqlProperty", + "properties": { + "enabled": { + "description": "Required. The property is enabled.", + "type": "boolean" + }, + "numericValue": { + "description": "Required. The property numeric value.", + "format": "int64", + "type": "string" + }, + "property": { + "description": "Required. The property name.", + "type": "string" + } + }, + "type": "object" + }, + "PostgreSqlSchemaDetails": { + "description": "Specific details for a PostgreSql schema.", + "id": "PostgreSqlSchemaDetails", + "properties": { + "foreignTablesCount": { + "description": "Optional. PostgreSql foreign tables.", + "format": "int32", + "type": "integer" + }, + "postgresqlExtensions": { + "description": "Optional. PostgreSql extensions.", + "items": { + "$ref": "PostgreSqlExtension" + }, + "type": "array" + } + }, + "type": "object" + }, + "PostgreSqlSetting": { + "description": "PostgreSql setting.", + "id": "PostgreSqlSetting", + "properties": { + "boolValue": { + "description": "Required. The setting boolean value.", + "type": "boolean" + }, + "intValue": { + "description": "Required. The setting int value.", + "format": "int64", + "type": "string" + }, + "realValue": { + "description": "Required. The setting real value.", + "format": "float", + "type": "number" + }, + "setting": { + "description": "Required. The setting name.", + "type": "string" + }, + "source": { + "description": "Required. The setting source.", + "type": "string" + }, + "stringValue": { + "description": "Required. The setting string value. Notice that enum values are stored as strings.", + "type": "string" + }, + "unit": { + "description": "Optional. The setting unit.", + "type": "string" + } + }, + "type": "object" + }, "PreferenceSet": { "description": "The preferences that apply to all assets in a given context.", "id": "PreferenceSet", @@ -5294,7 +5966,7 @@ "PERSISTENT_DISK_TYPE_SSD" ], "enumDescriptions": [ - "Unspecified (default value). Selecting this value allows the system to use any disk type according to reported usage. This a good value to start with.", + "Unspecified. Fallback to default value based on context.", "Standard HDD Persistent Disk.", "Balanced Persistent Disk.", "SSD Persistent Disk." @@ -5917,6 +6589,107 @@ }, "type": "object" }, + "SqlServerDatabaseDeployment": { + "description": "Specific details for a Microsoft SQL Server database deployment.", + "id": "SqlServerDatabaseDeployment", + "properties": { + "features": { + "description": "Optional. List of SQL Server features.", + "items": { + "$ref": "SqlServerFeature" + }, + "type": "array" + }, + "serverFlags": { + "description": "Optional. List of SQL Server server flags.", + "items": { + "$ref": "SqlServerServerFlag" + }, + "type": "array" + }, + "traceFlags": { + "description": "Optional. List of SQL Server trace flags.", + "items": { + "$ref": "SqlServerTraceFlag" + }, + "type": "array" + } + }, + "type": "object" + }, + "SqlServerFeature": { + "description": "SQL Server feature details.", + "id": "SqlServerFeature", + "properties": { + "enabled": { + "description": "Required. Field enabled is set when a feature is used on the source deployment.", + "type": "boolean" + }, + "featureName": { + "description": "Required. The feature name.", + "type": "string" + } + }, + "type": "object" + }, + "SqlServerSchemaDetails": { + "description": "Specific details for a SqlServer database.", + "id": "SqlServerSchemaDetails", + "properties": { + "clrObjectCount": { + "description": "Optional. SqlServer number of CLR objects.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "SqlServerServerFlag": { + "description": "SQL Server server flag details.", + "id": "SqlServerServerFlag", + "properties": { + "serverFlagName": { + "description": "Required. The server flag name.", + "type": "string" + }, + "value": { + "description": "Required. The server flag value set by the user.", + "type": "string" + }, + "valueInUse": { + "description": "Required. The server flag actual value. If `value_in_use` is different from `value` it means that either the configuration change was not applied or it is an expected behavior. See SQL Server documentation for more details.", + "type": "string" + } + }, + "type": "object" + }, + "SqlServerTraceFlag": { + "description": "SQL Server trace flag details.", + "id": "SqlServerTraceFlag", + "properties": { + "scope": { + "description": "Required. The trace flag scope.", + "enum": [ + "SCOPE_UNSPECIFIED", + "OFF", + "GLOBAL", + "SESSION" + ], + "enumDescriptions": [ + "Unspecified.", + "Off.", + "Global.", + "Session." + ], + "type": "string" + }, + "traceFlagName": { + "description": "Required. The trace flag name.", + "type": "string" + } + }, + "type": "object" + }, "Status": { "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", "id": "Status", @@ -6081,7 +6854,7 @@ "enumDescriptions": [ "Unspecified (default value).", "Prefer to migrate to Google Cloud Compute Engine.", - "Prefer to migrate to Google Cloud VMware Engine.", + "Prefer to migrate to Google Cloud VMware Engine.6278", "Prefer to migrate to Google Cloud Sole Tenant Nodes." ], "type": "string" @@ -6206,6 +6979,20 @@ "description": "VMware specific details.", "id": "VmwarePlatformDetails", "properties": { + "esxHyperthreading": { + "description": "Whether the ESX is hyperthreaded.", + "enum": [ + "HYPERTHREADING_STATUS_UNSPECIFIED", + "HYPERTHREADING_STATUS_DISABLED", + "HYPERTHREADING_STATUS_ENABLED" + ], + "enumDescriptions": [ + "Simultaneous Multithreading status unknown.", + "Simultaneous Multithreading is disabled or unavailable.", + "Simultaneous Multithreading is enabled." + ], + "type": "string" + }, "esxVersion": { "description": "ESX version.", "type": "string" diff --git a/discovery/migrationcenter-v1alpha1.json b/discovery/migrationcenter-v1alpha1.json index 044447a6e3..78ecad98c1 100644 --- a/discovery/migrationcenter-v1alpha1.json +++ b/discovery/migrationcenter-v1alpha1.json @@ -1566,7 +1566,7 @@ "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`.", + "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": "v1alpha1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "migrationcenter.projects.locations.operations.cancel", @@ -2548,7 +2548,7 @@ } } }, - "revision": "20240926", + "revision": "20241212", "rootUrl": "https://migrationcenter.googleapis.com/", "schemas": { "AddAssetsToGroupRequest": { @@ -3125,6 +3125,20 @@ "description": "AWS EC2 specific details.", "id": "AwsEc2PlatformDetails", "properties": { + "hyperthreading": { + "description": "Optional. Whether the machine is hyperthreaded.", + "enum": [ + "HYPERTHREADING_STATUS_UNSPECIFIED", + "HYPERTHREADING_STATUS_DISABLED", + "HYPERTHREADING_STATUS_ENABLED" + ], + "enumDescriptions": [ + "Simultaneous Multithreading status unknown.", + "Simultaneous Multithreading is disabled or unavailable.", + "Simultaneous Multithreading is enabled." + ], + "type": "string" + }, "location": { "description": "The location of the machine in the AWS format.", "type": "string" @@ -3140,6 +3154,20 @@ "description": "Azure VM specific details.", "id": "AzureVmPlatformDetails", "properties": { + "hyperthreading": { + "description": "Whether the machine is hyperthreaded.", + "enum": [ + "HYPERTHREADING_STATUS_UNSPECIFIED", + "HYPERTHREADING_STATUS_DISABLED", + "HYPERTHREADING_STATUS_ENABLED" + ], + "enumDescriptions": [ + "Simultaneous Multithreading status unknown.", + "Simultaneous Multithreading is disabled or unavailable.", + "Simultaneous Multithreading is enabled." + ], + "type": "string" + }, "location": { "description": "The location of the machine in the Azure format.", "type": "string" @@ -3619,7 +3647,7 @@ "PERSISTENT_DISK_TYPE_SSD" ], "enumDescriptions": [ - "Unspecified (default value). Selecting this value allows the system to use any disk type according to reported usage. This a good value to start with.", + "Unspecified. Fallback to default value based on context.", "Standard HDD Persistent Disk.", "Balanced Persistent Disk.", "SSD Persistent Disk." @@ -3701,7 +3729,7 @@ "PERSISTENT_DISK_TYPE_SSD" ], "enumDescriptions": [ - "Unspecified (default value). Selecting this value allows the system to use any disk type according to reported usage. This a good value to start with.", + "Unspecified. Fallback to default value based on context.", "Standard HDD Persistent Disk.", "Balanced Persistent Disk.", "SSD Persistent Disk." @@ -4171,7 +4199,7 @@ "PERSISTENT_DISK_TYPE_SSD" ], "enumDescriptions": [ - "Unspecified (default value). Selecting this value allows the system to use any disk type according to reported usage. This a good value to start with.", + "Unspecified. Fallback to default value based on context.", "Standard HDD Persistent Disk.", "Balanced Persistent Disk.", "SSD Persistent Disk." @@ -4930,6 +4958,20 @@ "description": "Generic platform details.", "id": "GenericPlatformDetails", "properties": { + "hyperthreading": { + "description": "Whether the machine is hyperthreaded.", + "enum": [ + "HYPERTHREADING_STATUS_UNSPECIFIED", + "HYPERTHREADING_STATUS_DISABLED", + "HYPERTHREADING_STATUS_ENABLED" + ], + "enumDescriptions": [ + "Simultaneous Multithreading status unknown.", + "Simultaneous Multithreading is disabled or unavailable.", + "Simultaneous Multithreading is enabled." + ], + "type": "string" + }, "location": { "description": "Free text representation of the machine location. The format of this field should not be relied on. Different VMs in the same location may have different string values for this field.", "type": "string" @@ -6578,6 +6620,11 @@ "format": "int32", "readOnly": true, "type": "integer" + }, + "xlsxOutputFile": { + "$ref": "XlsxOutputFile", + "description": "Output only. XLSX output file.", + "readOnly": true } }, "type": "object" @@ -6644,6 +6691,20 @@ "description": "Platform specific details for Physical Machines.", "id": "PhysicalPlatformDetails", "properties": { + "hyperthreading": { + "description": "Whether the machine is hyperthreaded.", + "enum": [ + "HYPERTHREADING_STATUS_UNSPECIFIED", + "HYPERTHREADING_STATUS_DISABLED", + "HYPERTHREADING_STATUS_ENABLED" + ], + "enumDescriptions": [ + "Simultaneous Multithreading status unknown.", + "Simultaneous Multithreading is disabled or unavailable.", + "Simultaneous Multithreading is enabled." + ], + "type": "string" + }, "location": { "description": "Free text representation of the machine location. The format of this field should not be relied on. Different machines in the same location may have different string values for this field.", "type": "string" @@ -7413,7 +7474,7 @@ "PERSISTENT_DISK_TYPE_SSD" ], "enumDescriptions": [ - "Unspecified (default value). Selecting this value allows the system to use any disk type according to reported usage. This a good value to start with.", + "Unspecified. Fallback to default value based on context.", "Standard HDD Persistent Disk.", "Balanced Persistent Disk.", "SSD Persistent Disk." @@ -7762,6 +7823,10 @@ "description": "Describes the Migration Center settings related to the project.", "id": "Settings", "properties": { + "customerConsentForGoogleSalesToAccessMigrationCenter": { + "description": "Customer consent for Google sales to access their Cloud Migration Center project.", + "type": "boolean" + }, "disableCloudLogging": { "description": "Disable Cloud Logging for the Migration Center API. Users are billed for the logs.", "type": "boolean" @@ -7798,7 +7863,22 @@ "SignedUriDestination": { "description": "Signed URI destination configuration.", "id": "SignedUriDestination", - "properties": {}, + "properties": { + "fileFormat": { + "description": "Required. The file format to export.", + "enum": [ + "FILE_FORMAT_UNSPECIFIED", + "CSV", + "XLSX" + ], + "enumDescriptions": [ + "Unspecified file format will be treated as CSV.", + "CSV file format.", + "XLSX file format which used in Excel." + ], + "type": "string" + } + }, "type": "object" }, "SignedUris": { @@ -8121,11 +8201,11 @@ "id": "TimeZone", "properties": { "id": { - "description": "IANA Time Zone Database time zone, e.g. \"America/New_York\".", + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", "type": "string" }, "version": { - "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", "type": "string" } }, @@ -8710,6 +8790,20 @@ "description": "VMware specific details.", "id": "VmwarePlatformDetails", "properties": { + "esxHyperthreading": { + "description": "Whether the ESX is hyperthreaded.", + "enum": [ + "HYPERTHREADING_STATUS_UNSPECIFIED", + "HYPERTHREADING_STATUS_DISABLED", + "HYPERTHREADING_STATUS_ENABLED" + ], + "enumDescriptions": [ + "Simultaneous Multithreading status unknown.", + "Simultaneous Multithreading is disabled or unavailable.", + "Simultaneous Multithreading is enabled." + ], + "type": "string" + }, "esxVersion": { "description": "ESX version.", "type": "string" @@ -8724,6 +8818,18 @@ } }, "type": "object" + }, + "XlsxOutputFile": { + "description": "Contains a single output file of type XLSX.", + "id": "XlsxOutputFile", + "properties": { + "signedUri": { + "$ref": "SignedUri", + "description": "Output only. Signed URI destination.", + "readOnly": true + } + }, + "type": "object" } }, "servicePath": "", diff --git a/discovery/ml-v1.json b/discovery/ml-v1.json index 3e6563cb7e..63252f84d5 100644 --- a/discovery/ml-v1.json +++ b/discovery/ml-v1.json @@ -512,7 +512,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "ml.projects.locations.operations.cancel", @@ -1391,7 +1391,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "ml.projects.operations.cancel", @@ -1486,7 +1486,7 @@ } } }, - "revision": "20240122", + "revision": "20241116", "rootUrl": "https://ml.googleapis.com/", "schemas": { "GoogleApi__HttpBody": { diff --git a/discovery/monitoring-v1.json b/discovery/monitoring-v1.json index af52005bae..005df8b4cc 100644 --- a/discovery/monitoring-v1.json +++ b/discovery/monitoring-v1.json @@ -753,7 +753,7 @@ } } }, - "revision": "20240929", + "revision": "20241212", "rootUrl": "https://monitoring.googleapis.com/", "schemas": { "Aggregation": { @@ -1060,6 +1060,33 @@ }, "type": "object" }, + "ColumnSortingOptions": { + "description": "Data structure to storing column's sort strategy", + "id": "ColumnSortingOptions", + "properties": { + "column": { + "description": "Optional. Column name to sort data by", + "type": "string" + }, + "direction": { + "description": "Optional. A sorting direction that determines ascending or descending order. This is a legacy field kept for backwards compatibility with table.", + "enum": [ + "SORT_ORDER_UNSPECIFIED", + "SORT_ORDER_NONE", + "SORT_ORDER_ASCENDING", + "SORT_ORDER_DESCENDING" + ], + "enumDescriptions": [ + "An unspecified sort order. This option is invalid when sorting is required.", + "No sorting is applied.", + "The lowest-valued entries are selected first.", + "The highest-valued entries are selected first." + ], + "type": "string" + } + }, + "type": "object" + }, "Dashboard": { "description": "A Google Stackdriver dashboard. Dashboards define the content and layout of pages in the Stackdriver web application.", "id": "Dashboard", @@ -1253,6 +1280,13 @@ ], "type": "string" }, + "sort": { + "description": "Optional. A collection of sort options, affects the order of the data and legend.", + "items": { + "$ref": "ColumnSortingOptions" + }, + "type": "array" + }, "targetAxis": { "description": "Optional. The target axis to use for plotting the metric.", "enum": [ @@ -1800,7 +1834,7 @@ "id": "MosaicLayout", "properties": { "columns": { - "description": "The number of columns in the mosaic grid. The number of columns must be between 1 and 12, inclusive.", + "description": "The number of columns in the mosaic grid. The number of columns must be between 1 and 48, inclusive.", "format": "int32", "type": "integer" }, diff --git a/discovery/monitoring-v3.json b/discovery/monitoring-v3.json index 100a994286..11c99349d3 100644 --- a/discovery/monitoring-v3.json +++ b/discovery/monitoring-v3.json @@ -1205,7 +1205,7 @@ ], "parameters": { "filter": { - "description": "If this field is empty, all custom and system-defined metric descriptors are returned. Otherwise, the filter (https://cloud.google.com/monitoring/api/v3/filters) specifies which metric descriptors are to be returned. For example, the following filter matches all custom metrics (https://cloud.google.com/monitoring/custom-metrics): metric.type = starts_with(\"custom.googleapis.com/\") ", + "description": "Optional. If this field is empty, all custom and system-defined metric descriptors are returned. Otherwise, the filter (https://cloud.google.com/monitoring/api/v3/filters) specifies which metric descriptors are to be returned. For example, the following filter matches all custom metrics (https://cloud.google.com/monitoring/custom-metrics): metric.type = starts_with(\"custom.googleapis.com/\") ", "location": "query", "type": "string" }, @@ -1217,13 +1217,13 @@ "type": "string" }, "pageSize": { - "description": "A positive number that is the maximum number of results to return. The default and maximum value is 10,000. If a page_size <= 0 or > 10,000 is submitted, will instead return a maximum of 10,000 results.", + "description": "Optional. A positive number that is the maximum number of results to return. The default and maximum value is 10,000. If a page_size <= 0 or > 10,000 is submitted, will instead return a maximum of 10,000 results.", "format": "int32", "location": "query", "type": "integer" }, "pageToken": { - "description": "If this field is not empty then it must contain the nextPageToken value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call.", + "description": "Optional. If this field is not empty then it must contain the nextPageToken value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call.", "location": "query", "type": "string" } @@ -1427,7 +1427,7 @@ ], "parameters": { "force": { - "description": "If true, the notification channel will be deleted regardless of its use in alert policies (the policies will be updated to remove the channel). If false, channels that are still referenced by an existing alerting policy will fail to be deleted in a delete operation.", + "description": "If true, the notification channel will be deleted regardless of its use in alert policies (the policies will be updated to remove the channel). If false, this operation will fail if the notification channel is referenced by existing alerting policies.", "location": "query", "type": "boolean" }, @@ -2715,7 +2715,7 @@ } } }, - "revision": "20240929", + "revision": "20241114", "rootUrl": "https://monitoring.googleapis.com/", "schemas": { "Aggregation": { @@ -2820,12 +2820,12 @@ "type": "object" }, "AlertPolicy": { - "description": "A description of the conditions under which some aspect of your system is considered to be \"unhealthy\" and the ways to notify people or services about this state. For an overview of alert policies, see Introduction to Alerting (https://cloud.google.com/monitoring/alerts/).", + "description": "A description of the conditions under which some aspect of your system is considered to be \"unhealthy\" and the ways to notify people or services about this state. For an overview of alerting policies, see Introduction to Alerting (https://cloud.google.com/monitoring/alerts/).", "id": "AlertPolicy", "properties": { "alertStrategy": { "$ref": "AlertStrategy", - "description": "Control over how this alert policy's notification channels are notified." + "description": "Control over how this alerting policy's notification channels are notified." }, "combiner": { "description": "How to combine the results of multiple conditions to determine if an incident should be opened. If condition_time_series_query_language is present, this must be COMBINE_UNSPECIFIED.", @@ -2882,7 +2882,7 @@ "type": "array" }, "severity": { - "description": "Optional. The severity of an alert policy indicates how important incidents generated by that policy are. The severity level will be displayed on the Incident detail page and in notifications.", + "description": "Optional. The severity of an alerting policy indicates how important incidents generated by that policy are. The severity level will be displayed on the Incident detail page and in notifications.", "enum": [ "SEVERITY_UNSPECIFIED", "CRITICAL", @@ -2906,7 +2906,7 @@ }, "validity": { "$ref": "Status", - "description": "Read-only description of how the alert policy is invalid. This field is only set when the alert policy is invalid. An invalid alert policy will not generate incidents." + "description": "Read-only description of how the alerting policy is invalid. This field is only set when the alerting policy is invalid. An invalid alerting policy will not generate incidents." } }, "type": "object" @@ -2916,7 +2916,7 @@ "id": "AlertStrategy", "properties": { "autoClose": { - "description": "If an alert policy that was active has no data for this long, any open incidents will close", + "description": "If an alerting policy that was active has no data for this long, any open incidents will close", "format": "google-duration", "type": "string" }, @@ -2927,9 +2927,26 @@ }, "type": "array" }, + "notificationPrompts": { + "description": "For log-based alert policies, the notification prompts is always OPENED. For non log-based alert policies, the notification prompts can be OPENED or OPENED, CLOSED.", + "items": { + "enum": [ + "NOTIFICATION_PROMPT_UNSPECIFIED", + "OPENED", + "CLOSED" + ], + "enumDescriptions": [ + "No strategy specified. Treated as error.", + "Notify when an incident is opened.", + "Notify when an incident is closed." + ], + "type": "string" + }, + "type": "array" + }, "notificationRateLimit": { "$ref": "NotificationRateLimit", - "description": "Required for log-based alert policies, i.e. policies with a LogMatch condition.This limit is not implemented for alert policies that do not have a LogMatch condition." + "description": "Required for log-based alerting policies, i.e. policies with a LogMatch condition.This limit is not implemented for alerting policies that do not have a LogMatch condition." } }, "type": "object" @@ -3256,7 +3273,7 @@ }, "conditionSql": { "$ref": "SqlCondition", - "description": "A condition that uses SQL to define alerts in Logs Analytics." + "description": "A condition that periodically evaluates a SQL query result." }, "conditionThreshold": { "$ref": "MetricThreshold", @@ -3417,7 +3434,7 @@ "description": "Optional. The time of day (in UTC) at which the query should run. If left unspecified, the server picks an arbitrary time of day and runs the query at the same time each day." }, "periodicity": { - "description": "Required. LINT.IfChange The number of days between runs. Must be greater than or equal to 1 day and less than or equal to 31 days. LINT.ThenChange(//depot/google3/cloud/monitoring/api/alerts/policy_validation.cc)", + "description": "Required. The number of days between runs. Must be greater than or equal to 1 day and less than or equal to 31 days.", "format": "int32", "type": "integer" } @@ -3890,12 +3907,12 @@ "id": "Hourly", "properties": { "minuteOffset": { - "description": "Optional. LINT.IfChange The number of minutes after the hour (in UTC) to run the query. Must be between 0 and 59 inclusive. If left unspecified, then an arbitrary offset is used. LINT.ThenChange(//depot/google3/cloud/monitoring/api/alerts/policy_validation.cc)", + "description": "Optional. The number of minutes after the hour (in UTC) to run the query. Must be greater than or equal to 0 minutes and less than or equal to 59 minutes. If left unspecified, then an arbitrary offset is used.", "format": "int32", "type": "integer" }, "periodicity": { - "description": "Required. LINT.IfChange The number of hours between runs. Must be greater than or equal to 1 hour and less than or equal to 48 hours. LINT.ThenChange(//depot/google3/cloud/monitoring/api/alerts/policy_validation.cc)", + "description": "Required. The number of hours between runs. Must be greater than or equal to 1 hour and less than or equal to 48 hours.", "format": "int32", "type": "integer" } @@ -4797,7 +4814,7 @@ "id": "Minutes", "properties": { "periodicity": { - "description": "Required. LINT.IfChange Number of minutes between runs. The interval must be between 5 minutes and 1440 minutes. LINT.ThenChange(//depot/google3/cloud/monitoring/api/alerts/policy_validation.cc)", + "description": "Required. Number of minutes between runs. The interval must be greater than or equal to 5 minutes and less than or equal to 1440 minutes.", "format": "int32", "type": "integer" } @@ -4899,7 +4916,7 @@ "type": "object" }, "MonitoringQueryLanguageCondition": { - "description": "A condition type that allows alert policies to be defined using Monitoring Query Language (https://cloud.google.com/monitoring/mql).", + "description": "A condition type that allows alerting policies to be defined using Monitoring Query Language (https://cloud.google.com/monitoring/mql).", "id": "MonitoringQueryLanguageCondition", "properties": { "duration": { @@ -5108,7 +5125,7 @@ "type": "object" }, "NotificationRateLimit": { - "description": "Control over the rate of notifications sent to this alert policy's notification channels.", + "description": "Control over the rate of notifications sent to this alerting policy's notification channels.", "id": "NotificationRateLimit", "properties": { "period": { @@ -5239,13 +5256,17 @@ "type": "object" }, "PrometheusQueryLanguageCondition": { - "description": "A condition type that allows alert policies to be defined using Prometheus Query Language (PromQL) (https://prometheus.io/docs/prometheus/latest/querying/basics/).The PrometheusQueryLanguageCondition message contains information from a Prometheus alerting rule and its associated rule group.A Prometheus alerting rule is described here (https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/). The semantics of a Prometheus alerting rule is described here (https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/#rule).A Prometheus rule group is described here (https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/). The semantics of a Prometheus rule group is described here (https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/#rule_group).Because Cloud Alerting has no representation of a Prometheus rule group resource, we must embed the information of the parent rule group inside each of the conditions that refer to it. We must also update the contents of all Prometheus alerts in case the information of their rule group changes.The PrometheusQueryLanguageCondition protocol buffer combines the information of the corresponding rule group and alerting rule. The structure of the PrometheusQueryLanguageCondition protocol buffer does NOT mimic the structure of the Prometheus rule group and alerting rule YAML declarations. The PrometheusQueryLanguageCondition protocol buffer may change in the future to support future rule group and/or alerting rule features. There are no new such features at the present time (2023-06-26).", + "description": "A condition type that allows alerting policies to be defined using Prometheus Query Language (PromQL) (https://prometheus.io/docs/prometheus/latest/querying/basics/).The PrometheusQueryLanguageCondition message contains information from a Prometheus alerting rule and its associated rule group.A Prometheus alerting rule is described here (https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/). The semantics of a Prometheus alerting rule is described here (https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/#rule).A Prometheus rule group is described here (https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/). The semantics of a Prometheus rule group is described here (https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/#rule_group).Because Cloud Alerting has no representation of a Prometheus rule group resource, we must embed the information of the parent rule group inside each of the conditions that refer to it. We must also update the contents of all Prometheus alerts in case the information of their rule group changes.The PrometheusQueryLanguageCondition protocol buffer combines the information of the corresponding rule group and alerting rule. The structure of the PrometheusQueryLanguageCondition protocol buffer does NOT mimic the structure of the Prometheus rule group and alerting rule YAML declarations. The PrometheusQueryLanguageCondition protocol buffer may change in the future to support future rule group and/or alerting rule features. There are no new such features at the present time (2023-06-26).", "id": "PrometheusQueryLanguageCondition", "properties": { "alertRule": { "description": "Optional. The alerting rule name of this alert in the corresponding Prometheus configuration file.Some external tools may require this field to be populated correctly in order to refer to the original Prometheus configuration file. The rule group name and the alert name are necessary to update the relevant AlertPolicies in case the definition of the rule group changes in the future.This field is optional. If this field is not empty, then it must be a valid Prometheus label name (https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels). This field may not exceed 2048 Unicode characters in length.", "type": "string" }, + "disableMetricValidation": { + "description": "Optional. Whether to disable metric existence validation for this condition.This allows alerting policies to be defined on metrics that do not yet exist, improving advanced customer workflows such as configuring alerting policies using Terraform.Users with the monitoring.alertPolicyViewer role are able to see the name of the non-existent metric in the alerting policy condition.", + "type": "boolean" + }, "duration": { "description": "Optional. Alerts are considered firing once their PromQL expression was evaluated to be \"true\" for this long. Alerts whose PromQL expression was not evaluated to be \"true\" for long enough are considered pending. Must be a non-negative duration or missing. This field is optional. Its default value is zero.", "format": "google-duration", @@ -5670,7 +5691,7 @@ "type": "object" }, "SqlCondition": { - "description": "A condition that allows alert policies to be defined using GoogleSQL. SQL conditions examine a sliding window of logs using GoogleSQL. Alert policies with SQL conditions may incur additional billing.", + "description": "A condition that allows alerting policies to be defined using GoogleSQL. SQL conditions examine a sliding window of logs using GoogleSQL. Alert policies with SQL conditions may incur additional billing.", "id": "SqlCondition", "properties": { "booleanTest": { @@ -5690,7 +5711,7 @@ "description": "Schedule the query to execute every so many minutes." }, "query": { - "description": "Required. The Log Analytics SQL query to run, as a string. The query must conform to the required shape. Specifically, the query must not try to filter the input by time. A filter will automatically be applied to filter the input so that the query receives all rows received since the last time the query was run.E.g. Extract all log entries containing an HTTP request:SELECT timestamp, log_name, severity, http_request, resource, labels FROM my-project.global._Default._AllLogs WHERE http_request IS NOT NULL", + "description": "Required. The Log Analytics SQL query to run, as a string. The query must conform to the required shape. Specifically, the query must not try to filter the input by time. A filter will automatically be applied to filter the input so that the query receives all rows received since the last time the query was run.For example, the following query extracts all log entries containing an HTTP request:SELECT timestamp, log_name, severity, http_request, resource, labels FROM my-project.global._Default._AllLogs WHERE http_request IS NOT NULL", "type": "string" }, "rowCountTest": { @@ -5787,22 +5808,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } diff --git a/discovery/mybusinessaccountmanagement-v1.json b/discovery/mybusinessaccountmanagement-v1.json index 66000174dd..b8df7e8c82 100644 --- a/discovery/mybusinessaccountmanagement-v1.json +++ b/discovery/mybusinessaccountmanagement-v1.json @@ -530,7 +530,7 @@ } } }, - "revision": "20230201", + "revision": "20241120", "rootUrl": "https://mybusinessaccountmanagement.googleapis.com/", "schemas": { "AcceptInvitationRequest": { @@ -844,18 +844,18 @@ "type": "object" }, "PostalAddress": { - "description": "Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478", + "description": "Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478", "id": "PostalAddress", "properties": { "addressLines": { - "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", + "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", "items": { "type": "string" }, "type": "array" }, "administrativeArea": { - "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.", + "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated.", "type": "string" }, "languageCode": { @@ -871,7 +871,7 @@ "type": "string" }, "postalCode": { - "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.).", + "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.).", "type": "string" }, "recipients": { @@ -891,7 +891,7 @@ "type": "integer" }, "sortingCode": { - "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (e.g. \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (e.g. Côte d'Ivoire).", + "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (For example \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (For example Côte d'Ivoire).", "type": "string" }, "sublocality": { diff --git a/discovery/mybusinessbusinessinformation-v1.json b/discovery/mybusinessbusinessinformation-v1.json index 236042f634..e84e53ca55 100644 --- a/discovery/mybusinessbusinessinformation-v1.json +++ b/discovery/mybusinessbusinessinformation-v1.json @@ -612,7 +612,7 @@ } } }, - "revision": "20241002", + "revision": "20241120", "rootUrl": "https://mybusinessbusinessinformation.googleapis.com/", "schemas": { "AdWordsLocationExtensions": { @@ -1386,18 +1386,18 @@ "type": "object" }, "PostalAddress": { - "description": "Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478", + "description": "Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478", "id": "PostalAddress", "properties": { "addressLines": { - "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", + "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", "items": { "type": "string" }, "type": "array" }, "administrativeArea": { - "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.", + "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated.", "type": "string" }, "languageCode": { @@ -1413,7 +1413,7 @@ "type": "string" }, "postalCode": { - "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.).", + "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.).", "type": "string" }, "recipients": { @@ -1433,7 +1433,7 @@ "type": "integer" }, "sortingCode": { - "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (e.g. \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (e.g. Côte d'Ivoire).", + "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (For example \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (For example Côte d'Ivoire).", "type": "string" }, "sublocality": { diff --git a/discovery/mybusinessverifications-v1.json b/discovery/mybusinessverifications-v1.json index 56d3ff23bf..7474acd196 100644 --- a/discovery/mybusinessverifications-v1.json +++ b/discovery/mybusinessverifications-v1.json @@ -237,7 +237,7 @@ } } }, - "revision": "20230920", + "revision": "20241120", "rootUrl": "https://mybusinessverifications.googleapis.com/", "schemas": { "AddressVerificationData": { @@ -370,18 +370,18 @@ "type": "object" }, "PostalAddress": { - "description": "Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478", + "description": "Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478", "id": "PostalAddress", "properties": { "addressLines": { - "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", + "description": "Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example \"Austin, TX\"), it is important that the line order is clear. The order of address lines should be \"envelope order\" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example \"ja\" for large-to-small ordering and \"ja-Latn\" or \"en\" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas).", "items": { "type": "string" }, "type": "array" }, "administrativeArea": { - "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated.", + "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example \"Barcelona\" and not \"Catalonia\"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated.", "type": "string" }, "languageCode": { @@ -397,7 +397,7 @@ "type": "string" }, "postalCode": { - "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.).", + "description": "Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.).", "type": "string" }, "recipients": { @@ -417,7 +417,7 @@ "type": "integer" }, "sortingCode": { - "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (e.g. \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (e.g. Côte d'Ivoire).", + "description": "Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like \"CEDEX\", optionally followed by a number (For example \"CEDEX 7\"), or just a number alone, representing the \"sector code\" (Jamaica), \"delivery area indicator\" (Malawi) or \"post office indicator\" (For example Côte d'Ivoire).", "type": "string" }, "sublocality": { diff --git a/discovery/netapp-v1.json b/discovery/netapp-v1.json new file mode 100644 index 0000000000..41c29d6fbe --- /dev/null +++ b/discovery/netapp-v1.json @@ -0,0 +1,4220 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + } + } + } + }, + "basePath": "", + "baseUrl": "https://netapp.googleapis.com/", + "batchPath": "batch", + "canonicalName": "NetApp Files", + "description": "Google Cloud NetApp Volumes is a fully-managed, cloud-based data storage service that provides advanced data management capabilities and highly scalable performance with global availability.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/netapp/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "netapp:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://netapp.mtls.googleapis.com/", + "name": "netapp", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v1/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "netapp.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return. If not set, the service selects a default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "activeDirectories": { + "methods": { + "create": { + "description": "CreateActiveDirectory Creates the active directory specified in the request.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/activeDirectories", + "httpMethod": "POST", + "id": "netapp.projects.locations.activeDirectories.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "activeDirectoryId": { + "description": "Required. ID of the active directory to create. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter , the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Value for parent.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/activeDirectories", + "request": { + "$ref": "ActiveDirectory" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete the active directory specified in the request.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/activeDirectories/{activeDirectoriesId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.activeDirectories.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the active directory.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/activeDirectories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Describes a specified active directory.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/activeDirectories/{activeDirectoriesId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.activeDirectories.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the active directory.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/activeDirectories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "ActiveDirectory" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists active directories.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/activeDirectories", + "httpMethod": "GET", + "id": "netapp.projects.locations.activeDirectories.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Filtering results", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Hint for how to order the results", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Server may return fewer items than requested. If unspecified, the 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 ListActiveDirectoriesRequest", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/activeDirectories", + "response": { + "$ref": "ListActiveDirectoriesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update the parameters of an active directories.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/activeDirectories/{activeDirectoriesId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.activeDirectories.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the active directory. Format: `projects/{project_number}/locations/{location_id}/activeDirectories/{active_directory_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/activeDirectories/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the Active Directory resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "ActiveDirectory" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "backupPolicies": { + "methods": { + "create": { + "description": "Creates new backup policy", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupPolicies", + "httpMethod": "POST", + "id": "netapp.projects.locations.backupPolicies.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "backupPolicyId": { + "description": "Required. The ID to use for the backup policy. The ID must be unique within the specified location. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The location to create the backup policies of, in the format `projects/{project_id}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/backupPolicies", + "request": { + "$ref": "BackupPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Warning! This operation will permanently delete the backup policy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupPolicies/{backupPoliciesId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.backupPolicies.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backup policy resource name, in the format `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the description of the specified backup policy by backup_policy_id.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupPolicies/{backupPoliciesId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.backupPolicies.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backupPolicy resource name, in the format `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "BackupPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns list of all available backup policies.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupPolicies", + "httpMethod": "GET", + "id": "netapp.projects.locations.backupPolicies.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Filtering results", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Hint for how to order the results", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Server may return fewer items than requested. If unspecified, the 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 ListBackupPoliciesRequest", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/backupPolicies", + "response": { + "$ref": "ListBackupPoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates settings of a specific backup policy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupPolicies/{backupPoliciesId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.backupPolicies.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the backup policy. Format: `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupPolicies/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the Backup Policy resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "BackupPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "backupVaults": { + "methods": { + "create": { + "description": "Creates new backup vault", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults", + "httpMethod": "POST", + "id": "netapp.projects.locations.backupVaults.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "backupVaultId": { + "description": "Required. The ID to use for the backupVault. The ID must be unique within the specified location. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The location to create the backup vaults, in the format `projects/{project_id}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/backupVaults", + "request": { + "$ref": "BackupVault" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Warning! This operation will permanently delete the backup vault.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.backupVaults.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backupVault resource name, in the format `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the description of the specified backup vault", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.backupVaults.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backupVault resource name, in the format `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "BackupVault" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns list of all available backup vaults.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults", + "httpMethod": "GET", + "id": "netapp.projects.locations.backupVaults.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "List filter.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of items to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value to use if there are additional results to retrieve for this list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The location for which to retrieve backupVault information, in the format `projects/{project_id}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/backupVaults", + "response": { + "$ref": "ListBackupVaultsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the settings of a specific backup vault.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.backupVaults.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the backup vault. Format: `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the Backup resource to be updated. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "BackupVault" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "backups": { + "methods": { + "create": { + "description": "Creates a backup from the volume specified in the request The backup can be created from the given snapshot if specified in the request. If no snapshot specified, there'll be a new snapshot taken to initiate the backup creation.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/backups", + "httpMethod": "POST", + "id": "netapp.projects.locations.backupVaults.backups.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "backupId": { + "description": "Required. The ID to use for the backup. The ID must be unique within the specified backupVault. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The NetApp backupVault to create the backups of, in the format `projects/*/locations/*/backupVaults/{backup_vault_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/backups", + "request": { + "$ref": "Backup" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Warning! This operation will permanently delete the backup.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/backups/{backupsId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.backupVaults.backups.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backup resource name, in the format `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the description of the specified backup", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/backups/{backupsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.backupVaults.backups.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backup resource name, in the format `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Backup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns descriptions of all backups for a backupVault.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/backups", + "httpMethod": "GET", + "id": "netapp.projects.locations.backupVaults.backups.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "The standard list filter. If specified, backups will be returned based on the attribute name that matches the filter expression. If empty, then no backups are filtered out. See https://google.aip.dev/160", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of items to return. The service may return fewer than this value. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value to use if there are additional results to retrieve for this list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The backupVault for which to retrieve backup information, in the format `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`. To retrieve backup information for all locations, use \"-\" for the `{location}` value. To retrieve backup information for all backupVaults, use \"-\" for the `{backup_vault_id}` value. To retrieve backup information for a volume, use \"-\" for the `{backup_vault_id}` value and specify volume full name with the filter.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/backups", + "response": { + "$ref": "ListBackupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update backup with full spec.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/backups/{backupsId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.backupVaults.backups.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the backup. Format: `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the Backup resource to be updated. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Backup" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "kmsConfigs": { + "methods": { + "create": { + "description": "Creates a new KMS config.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/kmsConfigs", + "httpMethod": "POST", + "id": "netapp.projects.locations.kmsConfigs.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "kmsConfigId": { + "description": "Required. Id of the requesting KmsConfig. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Value for parent.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/kmsConfigs", + "request": { + "$ref": "KmsConfig" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Warning! This operation will permanently delete the Kms config.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/kmsConfigs/{kmsConfigsId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.kmsConfigs.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the KmsConfig.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/kmsConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "encrypt": { + "description": "Encrypt the existing volumes without CMEK encryption with the desired the KMS config for the whole region.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/kmsConfigs/{kmsConfigsId}:encrypt", + "httpMethod": "POST", + "id": "netapp.projects.locations.kmsConfigs.encrypt", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the KmsConfig.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/kmsConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:encrypt", + "request": { + "$ref": "EncryptVolumesRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the description of the specified KMS config by kms_config_id.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/kmsConfigs/{kmsConfigsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.kmsConfigs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the KmsConfig", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/kmsConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "KmsConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns descriptions of all KMS configs owned by the caller.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/kmsConfigs", + "httpMethod": "GET", + "id": "netapp.projects.locations.kmsConfigs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "List filter.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of items to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value to use if there are additional results to retrieve for this list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent value", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/kmsConfigs", + "response": { + "$ref": "ListKmsConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the Kms config properties with the full spec", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/kmsConfigs/{kmsConfigsId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.kmsConfigs.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. Name of the KmsConfig.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/kmsConfigs/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the KmsConfig resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "KmsConfig" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "verify": { + "description": "Verifies KMS config reachability.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/kmsConfigs/{kmsConfigsId}:verify", + "httpMethod": "POST", + "id": "netapp.projects.locations.kmsConfigs.verify", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the KMS Config to be verified.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/kmsConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:verify", + "request": { + "$ref": "VerifyKmsConfigRequest" + }, + "response": { + "$ref": "VerifyKmsConfigResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "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/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "netapp.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "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/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "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/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "netapp.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "storagePools": { + "methods": { + "create": { + "description": "Creates a new storage pool.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/storagePools", + "httpMethod": "POST", + "id": "netapp.projects.locations.storagePools.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Value for parent.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "storagePoolId": { + "description": "Required. Id of the requesting storage pool. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/storagePools", + "request": { + "$ref": "StoragePool" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Warning! This operation will permanently delete the storage pool.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/storagePools/{storagePoolsId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.storagePools.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the storage pool", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/storagePools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the description of the specified storage pool by poolId.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/storagePools/{storagePoolsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.storagePools.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the storage pool", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/storagePools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "StoragePool" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns descriptions of all storage pools owned by the caller.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/storagePools", + "httpMethod": "GET", + "id": "netapp.projects.locations.storagePools.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. List filter.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of items to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value to use if there are additional results to retrieve for this list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent value", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/storagePools", + "response": { + "$ref": "ListStoragePoolsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the storage pool properties with the full spec", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/storagePools/{storagePoolsId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.storagePools.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. Name of the storage pool", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/storagePools/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the StoragePool resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "StoragePool" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "switch": { + "description": "This operation will switch the active/replica zone for a regional storagePool.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/storagePools/{storagePoolsId}:switch", + "httpMethod": "POST", + "id": "netapp.projects.locations.storagePools.switch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the storage pool", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/storagePools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:switch", + "request": { + "$ref": "SwitchActiveReplicaZoneRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "validateDirectoryService": { + "description": "ValidateDirectoryService does a connectivity check for a directory service policy attached to the storage pool.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/storagePools/{storagePoolsId}:validateDirectoryService", + "httpMethod": "POST", + "id": "netapp.projects.locations.storagePools.validateDirectoryService", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the storage pool", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/storagePools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:validateDirectoryService", + "request": { + "$ref": "ValidateDirectoryServiceRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "volumes": { + "methods": { + "create": { + "description": "Creates a new Volume in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Value for parent.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "volumeId": { + "description": "Required. Id of the requesting volume. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/volumes", + "request": { + "$ref": "Volume" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single Volume.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.volumes.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "force": { + "description": "If this field is set as true, CCFE will not block the volume resource deletion even if it has any snapshots resource. (Otherwise, the request will only work if the volume has no snapshots.)", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. Name of the volume", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single Volume.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.volumes.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the volume", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Volume" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Volumes in a given project.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes", + "httpMethod": "GET", + "id": "netapp.projects.locations.volumes.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Filtering results", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Hint for how to order the results", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Server may return fewer items than requested. If unspecified, the 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 ListVolumesRequest", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/volumes", + "response": { + "$ref": "ListVolumesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single Volume.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.volumes.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. Name of the volume", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the Volume resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Volume" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "revert": { + "description": "Revert an existing volume to a specified snapshot. Warning! This operation will permanently revert all changes made after the snapshot was created.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}:revert", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.revert", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the volume, in the format of projects/{project_id}/locations/{location}/volumes/{volume_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:revert", + "request": { + "$ref": "RevertVolumeRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "replications": { + "methods": { + "create": { + "description": "Create a new replication for a volume.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.replications.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The NetApp volume to create the replications of, in the format `projects/{project_id}/locations/{location}/volumes/{volume_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + }, + "replicationId": { + "description": "Required. ID of the replication to create. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/replications", + "request": { + "$ref": "Replication" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a replication.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.volumes.replications.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The replication resource name, in the format `projects/*/locations/*/volumes/*/replications/{replication_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "establishPeering": { + "description": "Establish replication peering.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}:establishPeering", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.replications.establishPeering", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the replication, in the format of projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:establishPeering", + "request": { + "$ref": "EstablishPeeringRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Describe a replication for a volume.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.volumes.replications.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The replication resource name, in the format `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Replication" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns descriptions of all replications for a volume.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications", + "httpMethod": "GET", + "id": "netapp.projects.locations.volumes.replications.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "List filter.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of items to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value to use if there are additional results to retrieve for this list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The volume for which to retrieve replication information, in the format `projects/{project_id}/locations/{location}/volumes/{volume_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/replications", + "response": { + "$ref": "ListReplicationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the settings of a specific replication.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.volumes.replications.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the Replication. Format: `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update. At least one path must be supplied in this field.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Replication" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "resume": { + "description": "Resume Cross Region Replication.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}:resume", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.replications.resume", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the replication, in the format of projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:resume", + "request": { + "$ref": "ResumeReplicationRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "reverseDirection": { + "description": "Reverses direction of replication. Source becomes destination and destination becomes source.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}:reverseDirection", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.replications.reverseDirection", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the replication, in the format of projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:reverseDirection", + "request": { + "$ref": "ReverseReplicationDirectionRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "stop": { + "description": "Stop Cross Region Replication.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}:stop", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.replications.stop", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the replication, in the format of projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:stop", + "request": { + "$ref": "StopReplicationRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "sync": { + "description": "Syncs the replication. This will invoke one time volume data transfer from source to destination.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}:sync", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.replications.sync", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the replication, in the format of projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:sync", + "request": { + "$ref": "SyncReplicationRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "snapshots": { + "methods": { + "create": { + "description": "Create a new snapshot for a volume.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.snapshots.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The NetApp volume to create the snapshots of, in the format `projects/{project_id}/locations/{location}/volumes/{volume_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + }, + "snapshotId": { + "description": "Required. ID of the snapshot to create. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/snapshots", + "request": { + "$ref": "Snapshot" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a snapshot.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots/{snapshotsId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.volumes.snapshots.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The snapshot resource name, in the format `projects/*/locations/*/volumes/*/snapshots/{snapshot_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/snapshots/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Describe a snapshot for a volume.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots/{snapshotsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.volumes.snapshots.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The snapshot resource name, in the format `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/snapshots/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Snapshot" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns descriptions of all snapshots for a volume.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots", + "httpMethod": "GET", + "id": "netapp.projects.locations.volumes.snapshots.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "List filter.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of items to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value to use if there are additional results to retrieve for this list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The volume for which to retrieve snapshot information, in the format `projects/{project_id}/locations/{location}/volumes/{volume_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/snapshots", + "response": { + "$ref": "ListSnapshotsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the settings of a specific snapshot.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots/{snapshotsId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.volumes.snapshots.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the snapshot. Format: `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/snapshots/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update. At least one path must be supplied in this field.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Snapshot" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20241209", + "rootUrl": "https://netapp.googleapis.com/", + "schemas": { + "ActiveDirectory": { + "description": "ActiveDirectory is the public representation of the active directory config.", + "id": "ActiveDirectory", + "properties": { + "administrators": { + "description": "Optional. Users to be added to the Built-in Admininstrators group.", + "items": { + "type": "string" + }, + "type": "array" + }, + "aesEncryption": { + "description": "If enabled, AES encryption will be enabled for SMB communication.", + "type": "boolean" + }, + "backupOperators": { + "description": "Optional. Users to be added to the Built-in Backup Operator active directory group.", + "items": { + "type": "string" + }, + "type": "array" + }, + "createTime": { + "description": "Output only. Create time of the active directory.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Description of the active directory.", + "type": "string" + }, + "dns": { + "description": "Required. Comma separated list of DNS server IP addresses for the Active Directory domain.", + "type": "string" + }, + "domain": { + "description": "Required. Name of the Active Directory domain", + "type": "string" + }, + "encryptDcConnections": { + "description": "If enabled, traffic between the SMB server to Domain Controller (DC) will be encrypted.", + "type": "boolean" + }, + "kdcHostname": { + "description": "Name of the active directory machine. This optional parameter is used only while creating kerberos volume", + "type": "string" + }, + "kdcIp": { + "description": "KDC server IP address for the active directory machine.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels for the active directory.", + "type": "object" + }, + "ldapSigning": { + "description": "Specifies whether or not the LDAP traffic needs to be signed.", + "type": "boolean" + }, + "name": { + "description": "Identifier. The resource name of the active directory. Format: `projects/{project_number}/locations/{location_id}/activeDirectories/{active_directory_id}`.", + "type": "string" + }, + "netBiosPrefix": { + "description": "Required. NetBIOSPrefix is used as a prefix for SMB server name.", + "type": "string" + }, + "nfsUsersWithLdap": { + "description": "If enabled, will allow access to local users and LDAP users. If access is needed for only LDAP users, it has to be disabled.", + "type": "boolean" + }, + "organizationalUnit": { + "description": "The Organizational Unit (OU) within the Windows Active Directory the user belongs to.", + "type": "string" + }, + "password": { + "description": "Required. Password of the Active Directory domain administrator.", + "type": "string" + }, + "securityOperators": { + "description": "Optional. Domain users to be given the SeSecurityPrivilege.", + "items": { + "type": "string" + }, + "type": "array" + }, + "site": { + "description": "The Active Directory site the service will limit Domain Controller discovery too.", + "type": "string" + }, + "state": { + "description": "Output only. The state of the AD.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY", + "UPDATING", + "IN_USE", + "DELETING", + "ERROR", + "DIAGNOSING" + ], + "enumDescriptions": [ + "Unspecified Active Directory State", + "Active Directory State is Creating", + "Active Directory State is Ready", + "Active Directory State is Updating", + "Active Directory State is In use", + "Active Directory State is Deleting", + "Active Directory State is Error", + "Active Directory State is Diagnosing." + ], + "readOnly": true, + "type": "string" + }, + "stateDetails": { + "description": "Output only. The state details of the Active Directory.", + "readOnly": true, + "type": "string" + }, + "username": { + "description": "Required. Username of the Active Directory domain administrator.", + "type": "string" + } + }, + "type": "object" + }, + "Backup": { + "description": "A NetApp Backup.", + "id": "Backup", + "properties": { + "backupType": { + "description": "Output only. Type of backup, manually created or created by a backup policy.", + "enum": [ + "TYPE_UNSPECIFIED", + "MANUAL", + "SCHEDULED" + ], + "enumDescriptions": [ + "Unspecified backup type.", + "Manual backup type.", + "Scheduled backup type." + ], + "readOnly": true, + "type": "string" + }, + "chainStorageBytes": { + "description": "Output only. Total size of all backups in a chain in bytes = baseline backup size + sum(incremental backup size)", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time when the backup was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "A description of the backup with 2048 characters or less. Requests with longer descriptions will be rejected.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource labels to represent user provided metadata.", + "type": "object" + }, + "name": { + "description": "Identifier. The resource name of the backup. Format: `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`.", + "type": "string" + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use", + "readOnly": true, + "type": "boolean" + }, + "sourceSnapshot": { + "description": "If specified, backup will be created from the given snapshot. If not specified, there will be a new snapshot taken to initiate the backup creation. Format: `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}`", + "type": "string" + }, + "sourceVolume": { + "description": "Volume full name of this backup belongs to. Format: `projects/{projects_id}/locations/{location}/volumes/{volume_id}`", + "type": "string" + }, + "state": { + "description": "Output only. The backup state.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "UPLOADING", + "READY", + "DELETING", + "ERROR", + "UPDATING" + ], + "enumDescriptions": [ + "State not set.", + "Backup is being created. While in this state, the snapshot for the backup point-in-time may not have been created yet, and so the point-in-time may not have been fixed.", + "Backup is being uploaded. While in this state, none of the writes to the volume will be included in the backup.", + "Backup is available for use.", + "Backup is being deleted.", + "Backup is not valid and cannot be used for creating new volumes or restoring existing volumes.", + "Backup is being updated." + ], + "readOnly": true, + "type": "string" + }, + "volumeUsageBytes": { + "description": "Output only. Size of the file system when the backup was created. When creating a new volume from the backup, the volume capacity will have to be at least as big.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BackupConfig": { + "description": "BackupConfig contains backup related config on a volume.", + "id": "BackupConfig", + "properties": { + "backupChainBytes": { + "description": "Output only. Total size of all backups in a chain in bytes = baseline backup size + sum(incremental backup size).", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "backupPolicies": { + "description": "Optional. When specified, schedule backups will be created based on the policy configuration.", + "items": { + "type": "string" + }, + "type": "array" + }, + "backupVault": { + "description": "Optional. Name of backup vault. Format: projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}", + "type": "string" + }, + "scheduledBackupEnabled": { + "description": "Optional. When set to true, scheduled backup is enabled on the volume. This field should be nil when there's no backup policy attached.", + "type": "boolean" + } + }, + "type": "object" + }, + "BackupPolicy": { + "description": "Backup Policy.", + "id": "BackupPolicy", + "properties": { + "assignedVolumeCount": { + "description": "Output only. The total number of volumes assigned by this backup policy.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "createTime": { + "description": "Output only. The time when the backup policy was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dailyBackupLimit": { + "description": "Number of daily backups to keep. Note that the minimum daily backup limit is 2.", + "format": "int32", + "type": "integer" + }, + "description": { + "description": "Description of the backup policy.", + "type": "string" + }, + "enabled": { + "description": "If enabled, make backups automatically according to the schedules. This will be applied to all volumes that have this policy attached and enforced on volume level. If not specified, default is true.", + "type": "boolean" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource labels to represent user provided metadata.", + "type": "object" + }, + "monthlyBackupLimit": { + "description": "Number of monthly backups to keep. Note that the sum of daily, weekly and monthly backups should be greater than 1.", + "format": "int32", + "type": "integer" + }, + "name": { + "description": "Identifier. The resource name of the backup policy. Format: `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}`.", + "type": "string" + }, + "state": { + "description": "Output only. The backup policy state.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY", + "DELETING", + "ERROR", + "UPDATING" + ], + "enumDescriptions": [ + "State not set.", + "BackupPolicy is being created.", + "BackupPolicy is available for use.", + "BackupPolicy is being deleted.", + "BackupPolicy is not valid and cannot be used.", + "BackupPolicy is being updated." + ], + "readOnly": true, + "type": "string" + }, + "weeklyBackupLimit": { + "description": "Number of weekly backups to keep. Note that the sum of daily, weekly and monthly backups should be greater than 1.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "BackupVault": { + "description": "A NetApp BackupVault.", + "id": "BackupVault", + "properties": { + "createTime": { + "description": "Output only. Create time of the backup vault.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Description of the backup vault.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource labels to represent user provided metadata.", + "type": "object" + }, + "name": { + "description": "Identifier. The resource name of the backup vault. Format: `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`.", + "type": "string" + }, + "state": { + "description": "Output only. The backup vault state.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY", + "DELETING", + "ERROR", + "UPDATING" + ], + "enumDescriptions": [ + "State not set.", + "BackupVault is being created.", + "BackupVault is available for use.", + "BackupVault is being deleted.", + "BackupVault is not valid and cannot be used.", + "BackupVault is being updated." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "DailySchedule": { + "description": "Make a snapshot every day e.g. at 04:00, 05:20, 23:50", + "id": "DailySchedule", + "properties": { + "hour": { + "description": "Set the hour to start the snapshot (0-23), defaults to midnight (0).", + "format": "double", + "type": "number" + }, + "minute": { + "description": "Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0).", + "format": "double", + "type": "number" + }, + "snapshotsToKeep": { + "description": "The maximum number of Snapshots to keep for the hourly schedule", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "DestinationVolumeParameters": { + "description": "DestinationVolumeParameters specify input parameters used for creating destination volume.", + "id": "DestinationVolumeParameters", + "properties": { + "description": { + "description": "Description for the destination volume.", + "type": "string" + }, + "shareName": { + "description": "Destination volume's share name. If not specified, source volume's share name will be used.", + "type": "string" + }, + "storagePool": { + "description": "Required. Existing destination StoragePool name.", + "type": "string" + }, + "tieringPolicy": { + "$ref": "TieringPolicy", + "description": "Optional. Tiering policy for the volume." + }, + "volumeId": { + "description": "Desired destination volume resource id. If not specified, source volume's resource id will be used. This value must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens, and cannot end with a hyphen.", + "type": "string" + } + }, + "type": "object" + }, + "EncryptVolumesRequest": { + "description": "EncryptVolumesRequest specifies the KMS config to encrypt existing volumes.", + "id": "EncryptVolumesRequest", + "properties": {}, + "type": "object" + }, + "EstablishPeeringRequest": { + "description": "EstablishPeeringRequest establishes cluster and svm peerings between the source and the destination replications.", + "id": "EstablishPeeringRequest", + "properties": { + "peerClusterName": { + "description": "Required. Name of the user's local source cluster to be peered with the destination cluster.", + "type": "string" + }, + "peerIpAddresses": { + "description": "Optional. List of IPv4 ip addresses to be used for peering.", + "items": { + "type": "string" + }, + "type": "array" + }, + "peerSvmName": { + "description": "Required. Name of the user's local source vserver svm to be peered with the destination vserver svm.", + "type": "string" + }, + "peerVolumeName": { + "description": "Required. Name of the user's local source volume to be peered with the destination volume.", + "type": "string" + } + }, + "type": "object" + }, + "ExportPolicy": { + "description": "Defines the export policy for the volume.", + "id": "ExportPolicy", + "properties": { + "rules": { + "description": "Required. List of export policy rules", + "items": { + "$ref": "SimpleExportPolicyRule" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleProtobufEmpty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "GoogleProtobufEmpty", + "properties": {}, + "type": "object" + }, + "HourlySchedule": { + "description": "Make a snapshot every hour e.g. at 04:00, 05:00, 06:00.", + "id": "HourlySchedule", + "properties": { + "minute": { + "description": "Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0).", + "format": "double", + "type": "number" + }, + "snapshotsToKeep": { + "description": "The maximum number of Snapshots to keep for the hourly schedule", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "HybridPeeringDetails": { + "description": "HybridPeeringDetails contains details about the hybrid peering.", + "id": "HybridPeeringDetails", + "properties": { + "command": { + "description": "Optional. Copy-paste-able commands to be used on user's ONTAP to accept peering requests.", + "type": "string" + }, + "commandExpiryTime": { + "description": "Optional. Expiration time for the peering command to be executed on user's ONTAP.", + "format": "google-datetime", + "type": "string" + }, + "passphrase": { + "description": "Optional. Temporary passphrase generated to accept cluster peering command.", + "type": "string" + }, + "subnetIp": { + "description": "Optional. IP address of the subnet.", + "type": "string" + } + }, + "type": "object" + }, + "HybridReplicationParameters": { + "description": "The Hybrid Replication parameters for the volume.", + "id": "HybridReplicationParameters", + "properties": { + "clusterLocation": { + "description": "Optional. Name of source cluster location associated with the Hybrid replication. This is a free-form field for the display purpose only.", + "type": "string" + }, + "description": { + "description": "Optional. Description of the replication.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels to be added to the replication as the key value pairs.", + "type": "object" + }, + "peerClusterName": { + "description": "Required. Name of the user's local source cluster to be peered with the destination cluster.", + "type": "string" + }, + "peerIpAddresses": { + "description": "Required. List of node ip addresses to be peered with.", + "items": { + "type": "string" + }, + "type": "array" + }, + "peerSvmName": { + "description": "Required. Name of the user's local source vserver svm to be peered with the destination vserver svm.", + "type": "string" + }, + "peerVolumeName": { + "description": "Required. Name of the user's local source volume to be peered with the destination volume.", + "type": "string" + }, + "replication": { + "description": "Required. Desired name for the replication of this volume.", + "type": "string" + } + }, + "type": "object" + }, + "KmsConfig": { + "description": "KmsConfig is the customer managed encryption key(CMEK) configuration.", + "id": "KmsConfig", + "properties": { + "createTime": { + "description": "Output only. Create time of the KmsConfig.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "cryptoKeyName": { + "description": "Required. Customer managed crypto key resource full name. Format: projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{key}.", + "type": "string" + }, + "description": { + "description": "Description of the KmsConfig.", + "type": "string" + }, + "instructions": { + "description": "Output only. Instructions to provide the access to the customer provided encryption key.", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels as key value pairs", + "type": "object" + }, + "name": { + "description": "Identifier. Name of the KmsConfig.", + "type": "string" + }, + "serviceAccount": { + "description": "Output only. The Service account which will have access to the customer provided encryption key.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. State of the KmsConfig.", + "enum": [ + "STATE_UNSPECIFIED", + "READY", + "CREATING", + "DELETING", + "UPDATING", + "IN_USE", + "ERROR", + "KEY_CHECK_PENDING", + "KEY_NOT_REACHABLE", + "DISABLING", + "DISABLED", + "MIGRATING" + ], + "enumDescriptions": [ + "Unspecified KmsConfig State", + "KmsConfig State is Ready", + "KmsConfig State is Creating", + "KmsConfig State is Deleting", + "KmsConfig State is Updating", + "KmsConfig State is In Use.", + "KmsConfig State is Error", + "KmsConfig State is Pending to verify crypto key access.", + "KmsConfig State is Not accessbile by the SDE service account to the crypto key.", + "KmsConfig State is Disabling.", + "KmsConfig State is Disabled.", + "KmsConfig State is Migrating. The existing volumes are migrating from SMEK to CMEK." + ], + "readOnly": true, + "type": "string" + }, + "stateDetails": { + "description": "Output only. State details of the KmsConfig.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ListActiveDirectoriesResponse": { + "description": "ListActiveDirectoriesResponse contains all the active directories requested.", + "id": "ListActiveDirectoriesResponse", + "properties": { + "activeDirectories": { + "description": "The list of active directories.", + "items": { + "$ref": "ActiveDirectory" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListBackupPoliciesResponse": { + "description": "ListBackupPoliciesResponse contains all the backup policies requested.", + "id": "ListBackupPoliciesResponse", + "properties": { + "backupPolicies": { + "description": "The list of backup policies.", + "items": { + "$ref": "BackupPolicy" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListBackupVaultsResponse": { + "description": "ListBackupVaultsResponse is the result of ListBackupVaultsRequest.", + "id": "ListBackupVaultsResponse", + "properties": { + "backupVaults": { + "description": "A list of backupVaults in the project for the specified location.", + "items": { + "$ref": "BackupVault" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The token you can use to retrieve the next page of results. Not returned if there are no more results in the list.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListBackupsResponse": { + "description": "ListBackupsResponse is the result of ListBackupsRequest.", + "id": "ListBackupsResponse", + "properties": { + "backups": { + "description": "A list of backups in the project.", + "items": { + "$ref": "Backup" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The token you can use to retrieve the next page of results. Not returned if there are no more results in the list.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListKmsConfigsResponse": { + "description": "ListKmsConfigsResponse is the response to a ListKmsConfigsRequest.", + "id": "ListKmsConfigsResponse", + "properties": { + "kmsConfigs": { + "description": "The list of KmsConfigs", + "items": { + "$ref": "KmsConfig" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListReplicationsResponse": { + "description": "ListReplicationsResponse is the result of ListReplicationsRequest.", + "id": "ListReplicationsResponse", + "properties": { + "nextPageToken": { + "description": "The token you can use to retrieve the next page of results. Not returned if there are no more results in the list.", + "type": "string" + }, + "replications": { + "description": "A list of replications in the project for the specified volume.", + "items": { + "$ref": "Replication" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListSnapshotsResponse": { + "description": "ListSnapshotsResponse is the result of ListSnapshotsRequest.", + "id": "ListSnapshotsResponse", + "properties": { + "nextPageToken": { + "description": "The token you can use to retrieve the next page of results. Not returned if there are no more results in the list.", + "type": "string" + }, + "snapshots": { + "description": "A list of snapshots in the project for the specified volume.", + "items": { + "$ref": "Snapshot" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListStoragePoolsResponse": { + "description": "ListStoragePoolsResponse is the response to a ListStoragePoolsRequest.", + "id": "ListStoragePoolsResponse", + "properties": { + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "storagePools": { + "description": "The list of StoragePools", + "items": { + "$ref": "StoragePool" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListVolumesResponse": { + "description": "Message for response to listing Volumes", + "id": "ListVolumesResponse", + "properties": { + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + }, + "volumes": { + "description": "The list of Volume", + "items": { + "$ref": "Volume" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents a Google Cloud location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given location.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "LocationMetadata": { + "description": "Metadata for a given google.cloud.location.Location.", + "id": "LocationMetadata", + "properties": { + "supportedServiceLevels": { + "description": "Output only. Supported service levels in a location.", + "items": { + "enum": [ + "SERVICE_LEVEL_UNSPECIFIED", + "PREMIUM", + "EXTREME", + "STANDARD", + "FLEX" + ], + "enumDescriptions": [ + "Unspecified service level.", + "Premium service level.", + "Extreme service level.", + "Standard service level.", + "Flex service level." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "MonthlySchedule": { + "description": "Make a snapshot once a month e.g. at 2nd 04:00, 7th 05:20, 24th 23:50", + "id": "MonthlySchedule", + "properties": { + "daysOfMonth": { + "description": "Set the day or days of the month to make a snapshot (1-31). Accepts a comma separated number of days. Defaults to '1'.", + "type": "string" + }, + "hour": { + "description": "Set the hour to start the snapshot (0-23), defaults to midnight (0).", + "format": "double", + "type": "number" + }, + "minute": { + "description": "Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0).", + "format": "double", + "type": "number" + }, + "snapshotsToKeep": { + "description": "The maximum number of Snapshots to keep for the hourly schedule", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "MountOption": { + "description": "View only mount options for a volume.", + "id": "MountOption", + "properties": { + "export": { + "description": "Export string", + "type": "string" + }, + "exportFull": { + "description": "Full export string", + "type": "string" + }, + "instructions": { + "description": "Instructions for mounting", + "type": "string" + }, + "protocol": { + "description": "Protocol to mount with.", + "enum": [ + "PROTOCOLS_UNSPECIFIED", + "NFSV3", + "NFSV4", + "SMB" + ], + "enumDescriptions": [ + "Unspecified protocol", + "NFS V3 protocol", + "NFS V4 protocol", + "SMB protocol" + ], + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been canceled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Replication": { + "description": "Replication is a nested resource under Volume, that describes a cross-region replication relationship between 2 volumes in different regions.", + "id": "Replication", + "properties": { + "clusterLocation": { + "description": "Optional. Location of the user cluster.", + "type": "string" + }, + "createTime": { + "description": "Output only. Replication create time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "A description about this replication relationship.", + "type": "string" + }, + "destinationVolume": { + "description": "Output only. Full name of destination volume resource. Example : \"projects/{project}/locations/{location}/volumes/{volume_id}\"", + "readOnly": true, + "type": "string" + }, + "destinationVolumeParameters": { + "$ref": "DestinationVolumeParameters", + "description": "Required. Input only. Destination volume parameters" + }, + "healthy": { + "description": "Output only. Condition of the relationship. Can be one of the following: - true: The replication relationship is healthy. It has not missed the most recent scheduled transfer. - false: The replication relationship is not healthy. It has missed the most recent scheduled transfer.", + "readOnly": true, + "type": "boolean" + }, + "hybridPeeringDetails": { + "$ref": "HybridPeeringDetails", + "description": "Output only. Hybrid peering details.", + "readOnly": true + }, + "hybridReplicationType": { + "description": "Output only. Type of the hybrid replication.", + "enum": [ + "HYBRID_REPLICATION_TYPE_UNSPECIFIED", + "MIGRATION", + "CONTINUOUS_REPLICATION" + ], + "enumDescriptions": [ + "Unspecified hybrid replication type.", + "Hybrid replication type for migration.", + "Hybrid replication type for continuous replication." + ], + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource labels to represent user provided metadata.", + "type": "object" + }, + "mirrorState": { + "description": "Output only. Indicates the state of mirroring.", + "enum": [ + "MIRROR_STATE_UNSPECIFIED", + "PREPARING", + "MIRRORED", + "STOPPED", + "TRANSFERRING", + "BASELINE_TRANSFERRING", + "ABORTED" + ], + "enumDescriptions": [ + "Unspecified MirrorState", + "Destination volume is being prepared.", + "Destination volume has been initialized and is ready to receive replication transfers.", + "Destination volume is not receiving replication transfers.", + "Incremental replication is in progress.", + "Baseline replication is in progress.", + "Replication is aborted." + ], + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the Replication. Format: `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}`.", + "type": "string" + }, + "replicationSchedule": { + "description": "Required. Indicates the schedule for replication.", + "enum": [ + "REPLICATION_SCHEDULE_UNSPECIFIED", + "EVERY_10_MINUTES", + "HOURLY", + "DAILY" + ], + "enumDescriptions": [ + "Unspecified ReplicationSchedule", + "Replication happens once every 10 minutes.", + "Replication happens once every hour.", + "Replication happens once every day." + ], + "type": "string" + }, + "role": { + "description": "Output only. Indicates whether this points to source or destination.", + "enum": [ + "REPLICATION_ROLE_UNSPECIFIED", + "SOURCE", + "DESTINATION" + ], + "enumDescriptions": [ + "Unspecified replication role", + "Indicates Source volume.", + "Indicates Destination volume." + ], + "readOnly": true, + "type": "string" + }, + "sourceVolume": { + "description": "Output only. Full name of source volume resource. Example : \"projects/{project}/locations/{location}/volumes/{volume_id}\"", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. State of the replication.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY", + "UPDATING", + "DELETING", + "ERROR", + "PENDING_CLUSTER_PEERING", + "PENDING_SVM_PEERING" + ], + "enumDescriptions": [ + "Unspecified replication State", + "Replication is creating.", + "Replication is ready.", + "Replication is updating.", + "Replication is deleting.", + "Replication is in error state.", + "Replication is waiting for cluster peering to be established.", + "Replication is waiting for SVM peering to be established." + ], + "readOnly": true, + "type": "string" + }, + "stateDetails": { + "description": "Output only. State details of the replication.", + "readOnly": true, + "type": "string" + }, + "transferStats": { + "$ref": "TransferStats", + "description": "Output only. Replication transfer statistics.", + "readOnly": true + } + }, + "type": "object" + }, + "RestoreParameters": { + "description": "The RestoreParameters if volume is created from a snapshot or backup.", + "id": "RestoreParameters", + "properties": { + "sourceBackup": { + "description": "Full name of the backup resource. Format: projects/{project}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}", + "type": "string" + }, + "sourceSnapshot": { + "description": "Full name of the snapshot resource. Format: projects/{project}/locations/{location}/volumes/{volume}/snapshots/{snapshot}", + "type": "string" + } + }, + "type": "object" + }, + "ResumeReplicationRequest": { + "description": "ResumeReplicationRequest resumes a stopped replication.", + "id": "ResumeReplicationRequest", + "properties": {}, + "type": "object" + }, + "ReverseReplicationDirectionRequest": { + "description": "ReverseReplicationDirectionRequest reverses direction of replication. Source becomes destination and destination becomes source.", + "id": "ReverseReplicationDirectionRequest", + "properties": {}, + "type": "object" + }, + "RevertVolumeRequest": { + "description": "RevertVolumeRequest reverts the given volume to the specified snapshot.", + "id": "RevertVolumeRequest", + "properties": { + "snapshotId": { + "description": "Required. The snapshot resource ID, in the format 'my-snapshot', where the specified ID is the {snapshot_id} of the fully qualified name like projects/{project_id}/locations/{location_id}/volumes/{volume_id}/snapshots/{snapshot_id}", + "type": "string" + } + }, + "type": "object" + }, + "SimpleExportPolicyRule": { + "description": "An export policy rule describing various export options.", + "id": "SimpleExportPolicyRule", + "properties": { + "accessType": { + "description": "Access type (ReadWrite, ReadOnly, None)", + "enum": [ + "ACCESS_TYPE_UNSPECIFIED", + "READ_ONLY", + "READ_WRITE", + "READ_NONE" + ], + "enumDescriptions": [ + "Unspecified Access Type", + "Read Only", + "Read Write", + "None" + ], + "type": "string" + }, + "allowedClients": { + "description": "Comma separated list of allowed clients IP addresses", + "type": "string" + }, + "hasRootAccess": { + "description": "Whether Unix root access will be granted.", + "type": "string" + }, + "kerberos5ReadOnly": { + "description": "If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'authentication' kerberos security mode.", + "type": "boolean" + }, + "kerberos5ReadWrite": { + "description": "If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'authentication' kerberos security mode. The 'kerberos5ReadOnly' value be ignored if this is enabled.", + "type": "boolean" + }, + "kerberos5iReadOnly": { + "description": "If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'integrity' kerberos security mode.", + "type": "boolean" + }, + "kerberos5iReadWrite": { + "description": "If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'integrity' kerberos security mode. The 'kerberos5iReadOnly' value be ignored if this is enabled.", + "type": "boolean" + }, + "kerberos5pReadOnly": { + "description": "If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'privacy' kerberos security mode.", + "type": "boolean" + }, + "kerberos5pReadWrite": { + "description": "If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'privacy' kerberos security mode. The 'kerberos5pReadOnly' value be ignored if this is enabled.", + "type": "boolean" + }, + "nfsv3": { + "description": "NFS V3 protocol.", + "type": "boolean" + }, + "nfsv4": { + "description": "NFS V4 protocol.", + "type": "boolean" + } + }, + "type": "object" + }, + "Snapshot": { + "description": "Snapshot is a point-in-time version of a Volume's content.", + "id": "Snapshot", + "properties": { + "createTime": { + "description": "Output only. The time when the snapshot was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "A description of the snapshot with 2048 characters or less. Requests with longer descriptions will be rejected.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource labels to represent user provided metadata.", + "type": "object" + }, + "name": { + "description": "Identifier. The resource name of the snapshot. Format: `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}`.", + "type": "string" + }, + "state": { + "description": "Output only. The snapshot state.", + "enum": [ + "STATE_UNSPECIFIED", + "READY", + "CREATING", + "DELETING", + "UPDATING", + "DISABLED", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified Snapshot State", + "Snapshot State is Ready", + "Snapshot State is Creating", + "Snapshot State is Deleting", + "Snapshot State is Updating", + "Snapshot State is Disabled", + "Snapshot State is Error" + ], + "readOnly": true, + "type": "string" + }, + "stateDetails": { + "description": "Output only. State details of the storage pool", + "readOnly": true, + "type": "string" + }, + "usedBytes": { + "description": "Output only. Current storage usage for the snapshot in bytes.", + "format": "double", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "SnapshotPolicy": { + "description": "Snapshot Policy for a volume.", + "id": "SnapshotPolicy", + "properties": { + "dailySchedule": { + "$ref": "DailySchedule", + "description": "Daily schedule policy." + }, + "enabled": { + "description": "If enabled, make snapshots automatically according to the schedules. Default is false.", + "type": "boolean" + }, + "hourlySchedule": { + "$ref": "HourlySchedule", + "description": "Hourly schedule policy." + }, + "monthlySchedule": { + "$ref": "MonthlySchedule", + "description": "Monthly schedule policy." + }, + "weeklySchedule": { + "$ref": "WeeklySchedule", + "description": "Weekly schedule policy." + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "StopReplicationRequest": { + "description": "StopReplicationRequest stops a replication until resumed.", + "id": "StopReplicationRequest", + "properties": { + "force": { + "description": "Indicates whether to stop replication forcefully while data transfer is in progress. Warning! if force is true, this will abort any current transfers and can lead to data loss due to partial transfer. If force is false, stop replication will fail while data transfer is in progress and you will need to retry later.", + "type": "boolean" + } + }, + "type": "object" + }, + "StoragePool": { + "description": "StoragePool is a container for volumes with a service level and capacity. Volumes can be created in a pool of sufficient available capacity. StoragePool capacity is what you are billed for.", + "id": "StoragePool", + "properties": { + "activeDirectory": { + "description": "Optional. Specifies the Active Directory to be used for creating a SMB volume.", + "type": "string" + }, + "allowAutoTiering": { + "description": "Optional. True if the storage pool supports Auto Tiering enabled volumes. Default is false. Auto-tiering can be enabled after storage pool creation but it can't be disabled once enabled.", + "type": "boolean" + }, + "capacityGib": { + "description": "Required. Capacity in GIB of the pool", + "format": "int64", + "type": "string" + }, + "createTime": { + "description": "Output only. Create time of the storage pool", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Description of the storage pool", + "type": "string" + }, + "encryptionType": { + "description": "Output only. Specifies the current pool encryption key source.", + "enum": [ + "ENCRYPTION_TYPE_UNSPECIFIED", + "SERVICE_MANAGED", + "CLOUD_KMS" + ], + "enumDescriptions": [ + "The source of the encryption key is not specified.", + "Google managed encryption key.", + "Customer managed encryption key, which is stored in KMS." + ], + "readOnly": true, + "type": "string" + }, + "globalAccessAllowed": { + "deprecated": true, + "description": "Deprecated. Used to allow SO pool to access AD or DNS server from other regions.", + "type": "boolean" + }, + "kmsConfig": { + "description": "Optional. Specifies the KMS config to be used for volume encryption.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels as key value pairs", + "type": "object" + }, + "ldapEnabled": { + "description": "Optional. Flag indicating if the pool is NFS LDAP enabled or not.", + "type": "boolean" + }, + "name": { + "description": "Identifier. Name of the storage pool", + "type": "string" + }, + "network": { + "description": "Required. VPC Network name. Format: projects/{project}/global/networks/{network}", + "type": "string" + }, + "psaRange": { + "description": "Optional. This field is not implemented. The values provided in this field are ignored.", + "type": "string" + }, + "replicaZone": { + "description": "Optional. Specifies the replica zone for regional storagePool.", + "type": "string" + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use", + "readOnly": true, + "type": "boolean" + }, + "serviceLevel": { + "description": "Required. Service level of the storage pool", + "enum": [ + "SERVICE_LEVEL_UNSPECIFIED", + "PREMIUM", + "EXTREME", + "STANDARD", + "FLEX" + ], + "enumDescriptions": [ + "Unspecified service level.", + "Premium service level.", + "Extreme service level.", + "Standard service level.", + "Flex service level." + ], + "type": "string" + }, + "state": { + "description": "Output only. State of the storage pool", + "enum": [ + "STATE_UNSPECIFIED", + "READY", + "CREATING", + "DELETING", + "UPDATING", + "RESTORING", + "DISABLED", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified Storage Pool State", + "Storage Pool State is Ready", + "Storage Pool State is Creating", + "Storage Pool State is Deleting", + "Storage Pool State is Updating", + "Storage Pool State is Restoring", + "Storage Pool State is Disabled", + "Storage Pool State is Error" + ], + "readOnly": true, + "type": "string" + }, + "stateDetails": { + "description": "Output only. State details of the storage pool", + "readOnly": true, + "type": "string" + }, + "volumeCapacityGib": { + "description": "Output only. Allocated size of all volumes in GIB in the storage pool", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "volumeCount": { + "description": "Output only. Volume count of the storage pool", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "zone": { + "description": "Optional. Specifies the active zone for regional storagePool.", + "type": "string" + } + }, + "type": "object" + }, + "SwitchActiveReplicaZoneRequest": { + "description": "SwitchActiveReplicaZoneRequest switch the active/replica zone for a regional storagePool.", + "id": "SwitchActiveReplicaZoneRequest", + "properties": {}, + "type": "object" + }, + "SyncReplicationRequest": { + "description": "SyncReplicationRequest syncs the replication from source to destination.", + "id": "SyncReplicationRequest", + "properties": {}, + "type": "object" + }, + "TieringPolicy": { + "description": "Defines tiering policy for the volume.", + "id": "TieringPolicy", + "properties": { + "coolingThresholdDays": { + "description": "Optional. Time in days to mark the volume's data block as cold and make it eligible for tiering, can be range from 7-183. Default is 31.", + "format": "int32", + "type": "integer" + }, + "tierAction": { + "description": "Optional. Flag indicating if the volume has tiering policy enable/pause. Default is PAUSED.", + "enum": [ + "TIER_ACTION_UNSPECIFIED", + "ENABLED", + "PAUSED" + ], + "enumDescriptions": [ + "Unspecified.", + "When tiering is enabled, new cold data will be tiered.", + "When paused, tiering won't be performed on new data. Existing data stays tiered until accessed." + ], + "type": "string" + } + }, + "type": "object" + }, + "TransferStats": { + "description": "TransferStats reports all statistics related to replication transfer.", + "id": "TransferStats", + "properties": { + "lagDuration": { + "description": "Lag duration indicates the duration by which Destination region volume content lags behind the primary region volume content.", + "format": "google-duration", + "type": "string" + }, + "lastTransferBytes": { + "description": "Last transfer size in bytes.", + "format": "int64", + "type": "string" + }, + "lastTransferDuration": { + "description": "Time taken during last transfer.", + "format": "google-duration", + "type": "string" + }, + "lastTransferEndTime": { + "description": "Time when last transfer completed.", + "format": "google-datetime", + "type": "string" + }, + "lastTransferError": { + "description": "A message describing the cause of the last transfer failure.", + "type": "string" + }, + "totalTransferDuration": { + "description": "Cumulative time taken across all transfers for the replication relationship.", + "format": "google-duration", + "type": "string" + }, + "transferBytes": { + "description": "Cumulative bytes trasferred so far for the replication relatinonship.", + "format": "int64", + "type": "string" + }, + "updateTime": { + "description": "Time when progress was updated last.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "ValidateDirectoryServiceRequest": { + "description": "ValidateDirectoryServiceRequest validates the directory service policy attached to the storage pool.", + "id": "ValidateDirectoryServiceRequest", + "properties": { + "directoryServiceType": { + "description": "Type of directory service policy attached to the storage pool.", + "enum": [ + "DIRECTORY_SERVICE_TYPE_UNSPECIFIED", + "ACTIVE_DIRECTORY" + ], + "enumDescriptions": [ + "Directory service type is not specified.", + "Active directory policy attached to the storage pool." + ], + "type": "string" + } + }, + "type": "object" + }, + "VerifyKmsConfigRequest": { + "description": "VerifyKmsConfigRequest specifies the KMS config to be validated.", + "id": "VerifyKmsConfigRequest", + "properties": {}, + "type": "object" + }, + "VerifyKmsConfigResponse": { + "description": "VerifyKmsConfigResponse contains the information if the config is correctly and error message.", + "id": "VerifyKmsConfigResponse", + "properties": { + "healthError": { + "description": "Output only. Error message if config is not healthy.", + "readOnly": true, + "type": "string" + }, + "healthy": { + "description": "Output only. If the customer key configured correctly to the encrypt volume.", + "readOnly": true, + "type": "boolean" + }, + "instructions": { + "description": "Output only. Instructions for the customers to provide the access to the encryption key.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Volume": { + "description": "Volume provides a filesystem that you can mount.", + "id": "Volume", + "properties": { + "activeDirectory": { + "description": "Output only. Specifies the ActiveDirectory name of a SMB volume.", + "readOnly": true, + "type": "string" + }, + "backupConfig": { + "$ref": "BackupConfig", + "description": "BackupConfig of the volume." + }, + "capacityGib": { + "description": "Required. Capacity in GIB of the volume", + "format": "int64", + "type": "string" + }, + "coldTierSizeGib": { + "description": "Output only. Size of the volume cold tier data in GiB.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. Create time of the volume", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Description of the volume", + "type": "string" + }, + "encryptionType": { + "description": "Output only. Specified the current volume encryption key source.", + "enum": [ + "ENCRYPTION_TYPE_UNSPECIFIED", + "SERVICE_MANAGED", + "CLOUD_KMS" + ], + "enumDescriptions": [ + "The source of the encryption key is not specified.", + "Google managed encryption key.", + "Customer managed encryption key, which is stored in KMS." + ], + "readOnly": true, + "type": "string" + }, + "exportPolicy": { + "$ref": "ExportPolicy", + "description": "Optional. Export policy of the volume" + }, + "hasReplication": { + "description": "Output only. Indicates whether the volume is part of a replication relationship.", + "readOnly": true, + "type": "boolean" + }, + "hybridReplicationParameters": { + "$ref": "HybridReplicationParameters", + "description": "Optional. The Hybrid Replication parameters for the volume." + }, + "kerberosEnabled": { + "description": "Optional. Flag indicating if the volume is a kerberos volume or not, export policy rules control kerberos security modes (krb5, krb5i, krb5p).", + "type": "boolean" + }, + "kmsConfig": { + "description": "Output only. Specifies the KMS config to be used for volume encryption.", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels as key value pairs", + "type": "object" + }, + "largeCapacity": { + "description": "Optional. Flag indicating if the volume will be a large capacity volume or a regular volume.", + "type": "boolean" + }, + "ldapEnabled": { + "description": "Output only. Flag indicating if the volume is NFS LDAP enabled or not.", + "readOnly": true, + "type": "boolean" + }, + "mountOptions": { + "description": "Output only. Mount options of this volume", + "items": { + "$ref": "MountOption" + }, + "readOnly": true, + "type": "array" + }, + "multipleEndpoints": { + "description": "Optional. Flag indicating if the volume will have an IP address per node for volumes supporting multiple IP endpoints. Only the volume with large_capacity will be allowed to have multiple endpoints.", + "type": "boolean" + }, + "name": { + "description": "Identifier. Name of the volume", + "type": "string" + }, + "network": { + "description": "Output only. VPC Network name. Format: projects/{project}/global/networks/{network}", + "readOnly": true, + "type": "string" + }, + "protocols": { + "description": "Required. Protocols required for the volume", + "items": { + "enum": [ + "PROTOCOLS_UNSPECIFIED", + "NFSV3", + "NFSV4", + "SMB" + ], + "enumDescriptions": [ + "Unspecified protocol", + "NFS V3 protocol", + "NFS V4 protocol", + "SMB protocol" + ], + "type": "string" + }, + "type": "array" + }, + "psaRange": { + "description": "Output only. This field is not implemented. The values provided in this field are ignored.", + "readOnly": true, + "type": "string" + }, + "replicaZone": { + "description": "Output only. Specifies the replica zone for regional volume.", + "readOnly": true, + "type": "string" + }, + "restoreParameters": { + "$ref": "RestoreParameters", + "description": "Optional. Specifies the source of the volume to be created from." + }, + "restrictedActions": { + "description": "Optional. List of actions that are restricted on this volume.", + "items": { + "enum": [ + "RESTRICTED_ACTION_UNSPECIFIED", + "DELETE" + ], + "enumDescriptions": [ + "Unspecified restricted action", + "Prevent volume from being deleted when mounted." + ], + "type": "string" + }, + "type": "array" + }, + "securityStyle": { + "description": "Optional. Security Style of the Volume", + "enum": [ + "SECURITY_STYLE_UNSPECIFIED", + "NTFS", + "UNIX" + ], + "enumDescriptions": [ + "SecurityStyle is unspecified", + "SecurityStyle uses NTFS", + "SecurityStyle uses UNIX" + ], + "type": "string" + }, + "serviceLevel": { + "description": "Output only. Service level of the volume", + "enum": [ + "SERVICE_LEVEL_UNSPECIFIED", + "PREMIUM", + "EXTREME", + "STANDARD", + "FLEX" + ], + "enumDescriptions": [ + "Unspecified service level.", + "Premium service level.", + "Extreme service level.", + "Standard service level.", + "Flex service level." + ], + "readOnly": true, + "type": "string" + }, + "shareName": { + "description": "Required. Share name of the volume", + "type": "string" + }, + "smbSettings": { + "description": "Optional. SMB share settings for the volume.", + "items": { + "enum": [ + "SMB_SETTINGS_UNSPECIFIED", + "ENCRYPT_DATA", + "BROWSABLE", + "CHANGE_NOTIFY", + "NON_BROWSABLE", + "OPLOCKS", + "SHOW_SNAPSHOT", + "SHOW_PREVIOUS_VERSIONS", + "ACCESS_BASED_ENUMERATION", + "CONTINUOUSLY_AVAILABLE" + ], + "enumDescriptions": [ + "Unspecified default option", + "SMB setting encrypt data", + "SMB setting browsable", + "SMB setting notify change", + "SMB setting not to notify change", + "SMB setting oplocks", + "SMB setting to show snapshots", + "SMB setting to show previous versions", + "SMB setting to access volume based on enumerartion", + "Continuously available enumeration" + ], + "type": "string" + }, + "type": "array" + }, + "snapReserve": { + "description": "Optional. Snap_reserve specifies percentage of volume storage reserved for snapshot storage. Default is 0 percent.", + "format": "double", + "type": "number" + }, + "snapshotDirectory": { + "description": "Optional. Snapshot_directory if enabled (true) the volume will contain a read-only .snapshot directory which provides access to each of the volume's snapshots.", + "type": "boolean" + }, + "snapshotPolicy": { + "$ref": "SnapshotPolicy", + "description": "Optional. SnapshotPolicy for a volume." + }, + "state": { + "description": "Output only. State of the volume", + "enum": [ + "STATE_UNSPECIFIED", + "READY", + "CREATING", + "DELETING", + "UPDATING", + "RESTORING", + "DISABLED", + "ERROR", + "PREPARING", + "READ_ONLY" + ], + "enumDescriptions": [ + "Unspecified Volume State", + "Volume State is Ready", + "Volume State is Creating", + "Volume State is Deleting", + "Volume State is Updating", + "Volume State is Restoring", + "Volume State is Disabled", + "Volume State is Error", + "Volume State is Preparing. Note that this is different from CREATING where CREATING means the volume is being created, while PREPARING means the volume is created and now being prepared for the replication.", + "Volume State is Read Only" + ], + "readOnly": true, + "type": "string" + }, + "stateDetails": { + "description": "Output only. State details of the volume", + "readOnly": true, + "type": "string" + }, + "storagePool": { + "description": "Required. StoragePool name of the volume", + "type": "string" + }, + "tieringPolicy": { + "$ref": "TieringPolicy", + "description": "Tiering policy for the volume." + }, + "unixPermissions": { + "description": "Optional. Default unix style permission (e.g. 777) the mount point will be created with. Applicable for NFS protocol types only.", + "type": "string" + }, + "usedGib": { + "description": "Output only. Used capacity in GIB of the volume. This is computed periodically and it does not represent the realtime usage.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "zone": { + "description": "Output only. Specifies the active zone for regional volume.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "WeeklySchedule": { + "description": "Make a snapshot every week e.g. at Monday 04:00, Wednesday 05:20, Sunday 23:50", + "id": "WeeklySchedule", + "properties": { + "day": { + "description": "Set the day or days of the week to make a snapshot. Accepts a comma separated days of the week. Defaults to 'Sunday'.", + "type": "string" + }, + "hour": { + "description": "Set the hour to start the snapshot (0-23), defaults to midnight (0).", + "format": "double", + "type": "number" + }, + "minute": { + "description": "Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0).", + "format": "double", + "type": "number" + }, + "snapshotsToKeep": { + "description": "The maximum number of Snapshots to keep for the hourly schedule", + "format": "double", + "type": "number" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "NetApp API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/discovery/netapp-v1beta1.json b/discovery/netapp-v1beta1.json new file mode 100644 index 0000000000..43c00d1324 --- /dev/null +++ b/discovery/netapp-v1beta1.json @@ -0,0 +1,4220 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + } + } + } + }, + "basePath": "", + "baseUrl": "https://netapp.googleapis.com/", + "batchPath": "batch", + "canonicalName": "NetApp Files", + "description": "Google Cloud NetApp Volumes is a fully-managed, cloud-based data storage service that provides advanced data management capabilities and highly scalable performance with global availability.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/netapp/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "netapp:v1beta1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://netapp.mtls.googleapis.com/", + "name": "netapp", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v1beta1/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "netapp.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return. If not set, the service selects a default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "activeDirectories": { + "methods": { + "create": { + "description": "CreateActiveDirectory Creates the active directory specified in the request.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/activeDirectories", + "httpMethod": "POST", + "id": "netapp.projects.locations.activeDirectories.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "activeDirectoryId": { + "description": "Required. ID of the active directory to create. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter , the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Value for parent.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/activeDirectories", + "request": { + "$ref": "ActiveDirectory" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete the active directory specified in the request.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/activeDirectories/{activeDirectoriesId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.activeDirectories.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the active directory.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/activeDirectories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Describes a specified active directory.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/activeDirectories/{activeDirectoriesId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.activeDirectories.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the active directory.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/activeDirectories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "ActiveDirectory" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists active directories.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/activeDirectories", + "httpMethod": "GET", + "id": "netapp.projects.locations.activeDirectories.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Filtering results", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Hint for how to order the results", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Server may return fewer items than requested. If unspecified, the 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 ListActiveDirectoriesRequest", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/activeDirectories", + "response": { + "$ref": "ListActiveDirectoriesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update the parameters of an active directories.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/activeDirectories/{activeDirectoriesId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.activeDirectories.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the active directory. Format: `projects/{project_number}/locations/{location_id}/activeDirectories/{active_directory_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/activeDirectories/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the Active Directory resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "ActiveDirectory" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "backupPolicies": { + "methods": { + "create": { + "description": "Creates new backup policy", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupPolicies", + "httpMethod": "POST", + "id": "netapp.projects.locations.backupPolicies.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "backupPolicyId": { + "description": "Required. The ID to use for the backup policy. The ID must be unique within the specified location. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The location to create the backup policies of, in the format `projects/{project_id}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/backupPolicies", + "request": { + "$ref": "BackupPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Warning! This operation will permanently delete the backup policy.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupPolicies/{backupPoliciesId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.backupPolicies.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backup policy resource name, in the format `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the description of the specified backup policy by backup_policy_id.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupPolicies/{backupPoliciesId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.backupPolicies.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backupPolicy resource name, in the format `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "BackupPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns list of all available backup policies.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupPolicies", + "httpMethod": "GET", + "id": "netapp.projects.locations.backupPolicies.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Filtering results", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Hint for how to order the results", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Server may return fewer items than requested. If unspecified, the 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 ListBackupPoliciesRequest", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/backupPolicies", + "response": { + "$ref": "ListBackupPoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates settings of a specific backup policy.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupPolicies/{backupPoliciesId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.backupPolicies.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the backup policy. Format: `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupPolicies/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the Backup Policy resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "BackupPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "backupVaults": { + "methods": { + "create": { + "description": "Creates new backup vault", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupVaults", + "httpMethod": "POST", + "id": "netapp.projects.locations.backupVaults.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "backupVaultId": { + "description": "Required. The ID to use for the backupVault. The ID must be unique within the specified location. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The location to create the backup vaults, in the format `projects/{project_id}/locations/{location}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/backupVaults", + "request": { + "$ref": "BackupVault" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Warning! This operation will permanently delete the backup vault.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.backupVaults.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backupVault resource name, in the format `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the description of the specified backup vault", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.backupVaults.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backupVault resource name, in the format `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "BackupVault" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns list of all available backup vaults.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupVaults", + "httpMethod": "GET", + "id": "netapp.projects.locations.backupVaults.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "List filter.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of items to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value to use if there are additional results to retrieve for this list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The location for which to retrieve backupVault information, in the format `projects/{project_id}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/backupVaults", + "response": { + "$ref": "ListBackupVaultsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the settings of a specific backup vault.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.backupVaults.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the backup vault. Format: `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the Backup resource to be updated. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "BackupVault" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "backups": { + "methods": { + "create": { + "description": "Creates a backup from the volume specified in the request The backup can be created from the given snapshot if specified in the request. If no snapshot specified, there'll be a new snapshot taken to initiate the backup creation.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/backups", + "httpMethod": "POST", + "id": "netapp.projects.locations.backupVaults.backups.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "backupId": { + "description": "Required. The ID to use for the backup. The ID must be unique within the specified backupVault. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The NetApp backupVault to create the backups of, in the format `projects/*/locations/*/backupVaults/{backup_vault_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/backups", + "request": { + "$ref": "Backup" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Warning! This operation will permanently delete the backup.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/backups/{backupsId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.backupVaults.backups.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backup resource name, in the format `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the description of the specified backup", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/backups/{backupsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.backupVaults.backups.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The backup resource name, in the format `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Backup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns descriptions of all backups for a backupVault.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/backups", + "httpMethod": "GET", + "id": "netapp.projects.locations.backupVaults.backups.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "The standard list filter. If specified, backups will be returned based on the attribute name that matches the filter expression. If empty, then no backups are filtered out. See https://google.aip.dev/160", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of items to return. The service may return fewer than this value. The maximum value is 1000; values above 1000 will be coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value to use if there are additional results to retrieve for this list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The backupVault for which to retrieve backup information, in the format `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`. To retrieve backup information for all locations, use \"-\" for the `{location}` value. To retrieve backup information for all backupVaults, use \"-\" for the `{backup_vault_id}` value. To retrieve backup information for a volume, use \"-\" for the `{backup_vault_id}` value and specify volume full name with the filter.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/backups", + "response": { + "$ref": "ListBackupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Update backup with full spec.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupVaults/{backupVaultsId}/backups/{backupsId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.backupVaults.backups.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the backup. Format: `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupVaults/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the Backup resource to be updated. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "Backup" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "kmsConfigs": { + "methods": { + "create": { + "description": "Creates a new KMS config.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/kmsConfigs", + "httpMethod": "POST", + "id": "netapp.projects.locations.kmsConfigs.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "kmsConfigId": { + "description": "Required. Id of the requesting KmsConfig. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Value for parent.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/kmsConfigs", + "request": { + "$ref": "KmsConfig" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Warning! This operation will permanently delete the Kms config.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/kmsConfigs/{kmsConfigsId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.kmsConfigs.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the KmsConfig.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/kmsConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "encrypt": { + "description": "Encrypt the existing volumes without CMEK encryption with the desired the KMS config for the whole region.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/kmsConfigs/{kmsConfigsId}:encrypt", + "httpMethod": "POST", + "id": "netapp.projects.locations.kmsConfigs.encrypt", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the KmsConfig.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/kmsConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:encrypt", + "request": { + "$ref": "EncryptVolumesRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the description of the specified KMS config by kms_config_id.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/kmsConfigs/{kmsConfigsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.kmsConfigs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the KmsConfig", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/kmsConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "KmsConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns descriptions of all KMS configs owned by the caller.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/kmsConfigs", + "httpMethod": "GET", + "id": "netapp.projects.locations.kmsConfigs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "List filter.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of items to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value to use if there are additional results to retrieve for this list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent value", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/kmsConfigs", + "response": { + "$ref": "ListKmsConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the Kms config properties with the full spec", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/kmsConfigs/{kmsConfigsId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.kmsConfigs.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. Name of the KmsConfig.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/kmsConfigs/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the KmsConfig resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "KmsConfig" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "verify": { + "description": "Verifies KMS config reachability.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/kmsConfigs/{kmsConfigsId}:verify", + "httpMethod": "POST", + "id": "netapp.projects.locations.kmsConfigs.verify", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the KMS Config to be verified.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/kmsConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:verify", + "request": { + "$ref": "VerifyKmsConfigRequest" + }, + "response": { + "$ref": "VerifyKmsConfigResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "netapp.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "netapp.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "storagePools": { + "methods": { + "create": { + "description": "Creates a new storage pool.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/storagePools", + "httpMethod": "POST", + "id": "netapp.projects.locations.storagePools.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Value for parent.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "storagePoolId": { + "description": "Required. Id of the requesting storage pool. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/storagePools", + "request": { + "$ref": "StoragePool" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Warning! This operation will permanently delete the storage pool.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/storagePools/{storagePoolsId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.storagePools.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the storage pool", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/storagePools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the description of the specified storage pool by poolId.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/storagePools/{storagePoolsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.storagePools.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the storage pool", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/storagePools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "StoragePool" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns descriptions of all storage pools owned by the caller.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/storagePools", + "httpMethod": "GET", + "id": "netapp.projects.locations.storagePools.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. List filter.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of items to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The next_page_token value to use if there are additional results to retrieve for this list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Parent value", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/storagePools", + "response": { + "$ref": "ListStoragePoolsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the storage pool properties with the full spec", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/storagePools/{storagePoolsId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.storagePools.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. Name of the storage pool", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/storagePools/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the StoragePool resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "StoragePool" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "switch": { + "description": "This operation will switch the active/replica zone for a regional storagePool.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/storagePools/{storagePoolsId}:switch", + "httpMethod": "POST", + "id": "netapp.projects.locations.storagePools.switch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the storage pool", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/storagePools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:switch", + "request": { + "$ref": "SwitchActiveReplicaZoneRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "validateDirectoryService": { + "description": "ValidateDirectoryService does a connectivity check for a directory service policy attached to the storage pool.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/storagePools/{storagePoolsId}:validateDirectoryService", + "httpMethod": "POST", + "id": "netapp.projects.locations.storagePools.validateDirectoryService", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the storage pool", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/storagePools/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:validateDirectoryService", + "request": { + "$ref": "ValidateDirectoryServiceRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "volumes": { + "methods": { + "create": { + "description": "Creates a new Volume in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Value for parent.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "volumeId": { + "description": "Required. Id of the requesting volume. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/volumes", + "request": { + "$ref": "Volume" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single Volume.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.volumes.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "force": { + "description": "If this field is set as true, CCFE will not block the volume resource deletion even if it has any snapshots resource. (Otherwise, the request will only work if the volume has no snapshots.)", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. Name of the volume", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single Volume.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.volumes.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the volume", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Volume" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists Volumes in a given project.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes", + "httpMethod": "GET", + "id": "netapp.projects.locations.volumes.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Filtering results", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Hint for how to order the results", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Requested page size. Server may return fewer items than requested. If unspecified, the 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 ListVolumesRequest", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/volumes", + "response": { + "$ref": "ListVolumesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single Volume.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.volumes.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. Name of the volume", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the Volume resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "Volume" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "revert": { + "description": "Revert an existing volume to a specified snapshot. Warning! This operation will permanently revert all changes made after the snapshot was created.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}:revert", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.revert", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the volume, in the format of projects/{project_id}/locations/{location}/volumes/{volume_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:revert", + "request": { + "$ref": "RevertVolumeRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "replications": { + "methods": { + "create": { + "description": "Create a new replication for a volume.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.replications.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The NetApp volume to create the replications of, in the format `projects/{project_id}/locations/{location}/volumes/{volume_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + }, + "replicationId": { + "description": "Required. ID of the replication to create. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/replications", + "request": { + "$ref": "Replication" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a replication.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.volumes.replications.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The replication resource name, in the format `projects/*/locations/*/volumes/*/replications/{replication_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "establishPeering": { + "description": "Establish replication peering.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}:establishPeering", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.replications.establishPeering", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the replication, in the format of projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:establishPeering", + "request": { + "$ref": "EstablishPeeringRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Describe a replication for a volume.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.volumes.replications.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The replication resource name, in the format `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Replication" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns descriptions of all replications for a volume.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications", + "httpMethod": "GET", + "id": "netapp.projects.locations.volumes.replications.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "List filter.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of items to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value to use if there are additional results to retrieve for this list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The volume for which to retrieve replication information, in the format `projects/{project_id}/locations/{location}/volumes/{volume_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/replications", + "response": { + "$ref": "ListReplicationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the settings of a specific replication.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.volumes.replications.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the Replication. Format: `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update. At least one path must be supplied in this field.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "Replication" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "resume": { + "description": "Resume Cross Region Replication.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}:resume", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.replications.resume", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the replication, in the format of projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:resume", + "request": { + "$ref": "ResumeReplicationRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "reverseDirection": { + "description": "Reverses direction of replication. Source becomes destination and destination becomes source.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}:reverseDirection", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.replications.reverseDirection", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the replication, in the format of projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:reverseDirection", + "request": { + "$ref": "ReverseReplicationDirectionRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "stop": { + "description": "Stop Cross Region Replication.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}:stop", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.replications.stop", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the replication, in the format of projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:stop", + "request": { + "$ref": "StopReplicationRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "sync": { + "description": "Syncs the replication. This will invoke one time volume data transfer from source to destination.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/replications/{replicationsId}:sync", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.replications.sync", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name of the replication, in the format of projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/replications/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:sync", + "request": { + "$ref": "SyncReplicationRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "snapshots": { + "methods": { + "create": { + "description": "Create a new snapshot for a volume.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots", + "httpMethod": "POST", + "id": "netapp.projects.locations.volumes.snapshots.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The NetApp volume to create the snapshots of, in the format `projects/{project_id}/locations/{location}/volumes/{volume_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + }, + "snapshotId": { + "description": "Required. ID of the snapshot to create. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/snapshots", + "request": { + "$ref": "Snapshot" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a snapshot.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots/{snapshotsId}", + "httpMethod": "DELETE", + "id": "netapp.projects.locations.volumes.snapshots.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The snapshot resource name, in the format `projects/*/locations/*/volumes/*/snapshots/{snapshot_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/snapshots/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Describe a snapshot for a volume.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots/{snapshotsId}", + "httpMethod": "GET", + "id": "netapp.projects.locations.volumes.snapshots.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The snapshot resource name, in the format `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/snapshots/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Snapshot" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns descriptions of all snapshots for a volume.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots", + "httpMethod": "GET", + "id": "netapp.projects.locations.volumes.snapshots.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "List filter.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Sort results. Supported values are \"name\", \"name desc\" or \"\" (unsorted).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of items to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value to use if there are additional results to retrieve for this list request.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The volume for which to retrieve snapshot information, in the format `projects/{project_id}/locations/{location}/volumes/{volume_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/snapshots", + "response": { + "$ref": "ListSnapshotsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the settings of a specific snapshot.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}/snapshots/{snapshotsId}", + "httpMethod": "PATCH", + "id": "netapp.projects.locations.volumes.snapshots.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the snapshot. Format: `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+/snapshots/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update. At least one path must be supplied in this field.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "Snapshot" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20241209", + "rootUrl": "https://netapp.googleapis.com/", + "schemas": { + "ActiveDirectory": { + "description": "ActiveDirectory is the public representation of the active directory config.", + "id": "ActiveDirectory", + "properties": { + "administrators": { + "description": "Optional. Users to be added to the Built-in Admininstrators group.", + "items": { + "type": "string" + }, + "type": "array" + }, + "aesEncryption": { + "description": "If enabled, AES encryption will be enabled for SMB communication.", + "type": "boolean" + }, + "backupOperators": { + "description": "Optional. Users to be added to the Built-in Backup Operator active directory group.", + "items": { + "type": "string" + }, + "type": "array" + }, + "createTime": { + "description": "Output only. Create time of the active directory.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Description of the active directory.", + "type": "string" + }, + "dns": { + "description": "Required. Comma separated list of DNS server IP addresses for the Active Directory domain.", + "type": "string" + }, + "domain": { + "description": "Required. Name of the Active Directory domain", + "type": "string" + }, + "encryptDcConnections": { + "description": "If enabled, traffic between the SMB server to Domain Controller (DC) will be encrypted.", + "type": "boolean" + }, + "kdcHostname": { + "description": "Name of the active directory machine. This optional parameter is used only while creating kerberos volume", + "type": "string" + }, + "kdcIp": { + "description": "KDC server IP address for the active directory machine.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels for the active directory.", + "type": "object" + }, + "ldapSigning": { + "description": "Specifies whether or not the LDAP traffic needs to be signed.", + "type": "boolean" + }, + "name": { + "description": "Identifier. The resource name of the active directory. Format: `projects/{project_number}/locations/{location_id}/activeDirectories/{active_directory_id}`.", + "type": "string" + }, + "netBiosPrefix": { + "description": "Required. NetBIOSPrefix is used as a prefix for SMB server name.", + "type": "string" + }, + "nfsUsersWithLdap": { + "description": "If enabled, will allow access to local users and LDAP users. If access is needed for only LDAP users, it has to be disabled.", + "type": "boolean" + }, + "organizationalUnit": { + "description": "The Organizational Unit (OU) within the Windows Active Directory the user belongs to.", + "type": "string" + }, + "password": { + "description": "Required. Password of the Active Directory domain administrator.", + "type": "string" + }, + "securityOperators": { + "description": "Optional. Domain users to be given the SeSecurityPrivilege.", + "items": { + "type": "string" + }, + "type": "array" + }, + "site": { + "description": "The Active Directory site the service will limit Domain Controller discovery too.", + "type": "string" + }, + "state": { + "description": "Output only. The state of the AD.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY", + "UPDATING", + "IN_USE", + "DELETING", + "ERROR", + "DIAGNOSING" + ], + "enumDescriptions": [ + "Unspecified Active Directory State", + "Active Directory State is Creating", + "Active Directory State is Ready", + "Active Directory State is Updating", + "Active Directory State is In use", + "Active Directory State is Deleting", + "Active Directory State is Error", + "Active Directory State is Diagnosing." + ], + "readOnly": true, + "type": "string" + }, + "stateDetails": { + "description": "Output only. The state details of the Active Directory.", + "readOnly": true, + "type": "string" + }, + "username": { + "description": "Required. Username of the Active Directory domain administrator.", + "type": "string" + } + }, + "type": "object" + }, + "Backup": { + "description": "A NetApp Backup.", + "id": "Backup", + "properties": { + "backupType": { + "description": "Output only. Type of backup, manually created or created by a backup policy.", + "enum": [ + "TYPE_UNSPECIFIED", + "MANUAL", + "SCHEDULED" + ], + "enumDescriptions": [ + "Unspecified backup type.", + "Manual backup type.", + "Scheduled backup type." + ], + "readOnly": true, + "type": "string" + }, + "chainStorageBytes": { + "description": "Output only. Total size of all backups in a chain in bytes = baseline backup size + sum(incremental backup size)", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time when the backup was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "A description of the backup with 2048 characters or less. Requests with longer descriptions will be rejected.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource labels to represent user provided metadata.", + "type": "object" + }, + "name": { + "description": "Identifier. The resource name of the backup. Format: `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}`.", + "type": "string" + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use", + "readOnly": true, + "type": "boolean" + }, + "sourceSnapshot": { + "description": "If specified, backup will be created from the given snapshot. If not specified, there will be a new snapshot taken to initiate the backup creation. Format: `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}`", + "type": "string" + }, + "sourceVolume": { + "description": "Volume full name of this backup belongs to. Format: `projects/{projects_id}/locations/{location}/volumes/{volume_id}`", + "type": "string" + }, + "state": { + "description": "Output only. The backup state.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "UPLOADING", + "READY", + "DELETING", + "ERROR", + "UPDATING" + ], + "enumDescriptions": [ + "State not set.", + "Backup is being created. While in this state, the snapshot for the backup point-in-time may not have been created yet, and so the point-in-time may not have been fixed.", + "Backup is being uploaded. While in this state, none of the writes to the volume will be included in the backup.", + "Backup is available for use.", + "Backup is being deleted.", + "Backup is not valid and cannot be used for creating new volumes or restoring existing volumes.", + "Backup is being updated." + ], + "readOnly": true, + "type": "string" + }, + "volumeUsageBytes": { + "description": "Output only. Size of the file system when the backup was created. When creating a new volume from the backup, the volume capacity will have to be at least as big.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BackupConfig": { + "description": "BackupConfig contains backup related config on a volume.", + "id": "BackupConfig", + "properties": { + "backupChainBytes": { + "description": "Output only. Total size of all backups in a chain in bytes = baseline backup size + sum(incremental backup size).", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "backupPolicies": { + "description": "Optional. When specified, schedule backups will be created based on the policy configuration.", + "items": { + "type": "string" + }, + "type": "array" + }, + "backupVault": { + "description": "Optional. Name of backup vault. Format: projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}", + "type": "string" + }, + "scheduledBackupEnabled": { + "description": "Optional. When set to true, scheduled backup is enabled on the volume. This field should be nil when there's no backup policy attached.", + "type": "boolean" + } + }, + "type": "object" + }, + "BackupPolicy": { + "description": "Backup Policy.", + "id": "BackupPolicy", + "properties": { + "assignedVolumeCount": { + "description": "Output only. The total number of volumes assigned by this backup policy.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "createTime": { + "description": "Output only. The time when the backup policy was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "dailyBackupLimit": { + "description": "Number of daily backups to keep. Note that the minimum daily backup limit is 2.", + "format": "int32", + "type": "integer" + }, + "description": { + "description": "Description of the backup policy.", + "type": "string" + }, + "enabled": { + "description": "If enabled, make backups automatically according to the schedules. This will be applied to all volumes that have this policy attached and enforced on volume level. If not specified, default is true.", + "type": "boolean" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource labels to represent user provided metadata.", + "type": "object" + }, + "monthlyBackupLimit": { + "description": "Number of monthly backups to keep. Note that the sum of daily, weekly and monthly backups should be greater than 1.", + "format": "int32", + "type": "integer" + }, + "name": { + "description": "Identifier. The resource name of the backup policy. Format: `projects/{project_id}/locations/{location}/backupPolicies/{backup_policy_id}`.", + "type": "string" + }, + "state": { + "description": "Output only. The backup policy state.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY", + "DELETING", + "ERROR", + "UPDATING" + ], + "enumDescriptions": [ + "State not set.", + "BackupPolicy is being created.", + "BackupPolicy is available for use.", + "BackupPolicy is being deleted.", + "BackupPolicy is not valid and cannot be used.", + "BackupPolicy is being updated." + ], + "readOnly": true, + "type": "string" + }, + "weeklyBackupLimit": { + "description": "Number of weekly backups to keep. Note that the sum of daily, weekly and monthly backups should be greater than 1.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "BackupVault": { + "description": "A NetApp BackupVault.", + "id": "BackupVault", + "properties": { + "createTime": { + "description": "Output only. Create time of the backup vault.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Description of the backup vault.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource labels to represent user provided metadata.", + "type": "object" + }, + "name": { + "description": "Identifier. The resource name of the backup vault. Format: `projects/{project_id}/locations/{location}/backupVaults/{backup_vault_id}`.", + "type": "string" + }, + "state": { + "description": "Output only. The backup vault state.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY", + "DELETING", + "ERROR", + "UPDATING" + ], + "enumDescriptions": [ + "State not set.", + "BackupVault is being created.", + "BackupVault is available for use.", + "BackupVault is being deleted.", + "BackupVault is not valid and cannot be used.", + "BackupVault is being updated." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "DailySchedule": { + "description": "Make a snapshot every day e.g. at 04:00, 05:20, 23:50", + "id": "DailySchedule", + "properties": { + "hour": { + "description": "Set the hour to start the snapshot (0-23), defaults to midnight (0).", + "format": "double", + "type": "number" + }, + "minute": { + "description": "Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0).", + "format": "double", + "type": "number" + }, + "snapshotsToKeep": { + "description": "The maximum number of Snapshots to keep for the hourly schedule", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "DestinationVolumeParameters": { + "description": "DestinationVolumeParameters specify input parameters used for creating destination volume.", + "id": "DestinationVolumeParameters", + "properties": { + "description": { + "description": "Description for the destination volume.", + "type": "string" + }, + "shareName": { + "description": "Destination volume's share name. If not specified, source volume's share name will be used.", + "type": "string" + }, + "storagePool": { + "description": "Required. Existing destination StoragePool name.", + "type": "string" + }, + "tieringPolicy": { + "$ref": "TieringPolicy", + "description": "Optional. Tiering policy for the volume." + }, + "volumeId": { + "description": "Desired destination volume resource id. If not specified, source volume's resource id will be used. This value must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens, and cannot end with a hyphen.", + "type": "string" + } + }, + "type": "object" + }, + "EncryptVolumesRequest": { + "description": "EncryptVolumesRequest specifies the KMS config to encrypt existing volumes.", + "id": "EncryptVolumesRequest", + "properties": {}, + "type": "object" + }, + "EstablishPeeringRequest": { + "description": "EstablishPeeringRequest establishes cluster and svm peerings between the source and the destination replications.", + "id": "EstablishPeeringRequest", + "properties": { + "peerClusterName": { + "description": "Required. Name of the user's local source cluster to be peered with the destination cluster.", + "type": "string" + }, + "peerIpAddresses": { + "description": "Optional. List of IPv4 ip addresses to be used for peering.", + "items": { + "type": "string" + }, + "type": "array" + }, + "peerSvmName": { + "description": "Required. Name of the user's local source vserver svm to be peered with the destination vserver svm.", + "type": "string" + }, + "peerVolumeName": { + "description": "Required. Name of the user's local source volume to be peered with the destination volume.", + "type": "string" + } + }, + "type": "object" + }, + "ExportPolicy": { + "description": "Defines the export policy for the volume.", + "id": "ExportPolicy", + "properties": { + "rules": { + "description": "Required. List of export policy rules", + "items": { + "$ref": "SimpleExportPolicyRule" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleProtobufEmpty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "GoogleProtobufEmpty", + "properties": {}, + "type": "object" + }, + "HourlySchedule": { + "description": "Make a snapshot every hour e.g. at 04:00, 05:00, 06:00.", + "id": "HourlySchedule", + "properties": { + "minute": { + "description": "Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0).", + "format": "double", + "type": "number" + }, + "snapshotsToKeep": { + "description": "The maximum number of Snapshots to keep for the hourly schedule", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "HybridPeeringDetails": { + "description": "HybridPeeringDetails contains details about the hybrid peering.", + "id": "HybridPeeringDetails", + "properties": { + "command": { + "description": "Optional. Copy-paste-able commands to be used on user's ONTAP to accept peering requests.", + "type": "string" + }, + "commandExpiryTime": { + "description": "Optional. Expiration time for the peering command to be executed on user's ONTAP.", + "format": "google-datetime", + "type": "string" + }, + "passphrase": { + "description": "Optional. Temporary passphrase generated to accept cluster peering command.", + "type": "string" + }, + "subnetIp": { + "description": "Optional. IP address of the subnet.", + "type": "string" + } + }, + "type": "object" + }, + "HybridReplicationParameters": { + "description": "The Hybrid Replication parameters for the volume.", + "id": "HybridReplicationParameters", + "properties": { + "clusterLocation": { + "description": "Optional. Name of source cluster location associated with the Hybrid replication. This is a free-form field for the display purpose only.", + "type": "string" + }, + "description": { + "description": "Optional. Description of the replication.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels to be added to the replication as the key value pairs.", + "type": "object" + }, + "peerClusterName": { + "description": "Required. Name of the user's local source cluster to be peered with the destination cluster.", + "type": "string" + }, + "peerIpAddresses": { + "description": "Required. List of node ip addresses to be peered with.", + "items": { + "type": "string" + }, + "type": "array" + }, + "peerSvmName": { + "description": "Required. Name of the user's local source vserver svm to be peered with the destination vserver svm.", + "type": "string" + }, + "peerVolumeName": { + "description": "Required. Name of the user's local source volume to be peered with the destination volume.", + "type": "string" + }, + "replication": { + "description": "Required. Desired name for the replication of this volume.", + "type": "string" + } + }, + "type": "object" + }, + "KmsConfig": { + "description": "KmsConfig is the customer managed encryption key(CMEK) configuration.", + "id": "KmsConfig", + "properties": { + "createTime": { + "description": "Output only. Create time of the KmsConfig.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "cryptoKeyName": { + "description": "Required. Customer managed crypto key resource full name. Format: projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{key}.", + "type": "string" + }, + "description": { + "description": "Description of the KmsConfig.", + "type": "string" + }, + "instructions": { + "description": "Output only. Instructions to provide the access to the customer provided encryption key.", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels as key value pairs", + "type": "object" + }, + "name": { + "description": "Identifier. Name of the KmsConfig.", + "type": "string" + }, + "serviceAccount": { + "description": "Output only. The Service account which will have access to the customer provided encryption key.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. State of the KmsConfig.", + "enum": [ + "STATE_UNSPECIFIED", + "READY", + "CREATING", + "DELETING", + "UPDATING", + "IN_USE", + "ERROR", + "KEY_CHECK_PENDING", + "KEY_NOT_REACHABLE", + "DISABLING", + "DISABLED", + "MIGRATING" + ], + "enumDescriptions": [ + "Unspecified KmsConfig State", + "KmsConfig State is Ready", + "KmsConfig State is Creating", + "KmsConfig State is Deleting", + "KmsConfig State is Updating", + "KmsConfig State is In Use.", + "KmsConfig State is Error", + "KmsConfig State is Pending to verify crypto key access.", + "KmsConfig State is Not accessbile by the SDE service account to the crypto key.", + "KmsConfig State is Disabling.", + "KmsConfig State is Disabled.", + "KmsConfig State is Migrating. The existing volumes are migrating from SMEK to CMEK." + ], + "readOnly": true, + "type": "string" + }, + "stateDetails": { + "description": "Output only. State details of the KmsConfig.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ListActiveDirectoriesResponse": { + "description": "ListActiveDirectoriesResponse contains all the active directories requested.", + "id": "ListActiveDirectoriesResponse", + "properties": { + "activeDirectories": { + "description": "The list of active directories.", + "items": { + "$ref": "ActiveDirectory" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListBackupPoliciesResponse": { + "description": "ListBackupPoliciesResponse contains all the backup policies requested.", + "id": "ListBackupPoliciesResponse", + "properties": { + "backupPolicies": { + "description": "The list of backup policies.", + "items": { + "$ref": "BackupPolicy" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListBackupVaultsResponse": { + "description": "ListBackupVaultsResponse is the result of ListBackupVaultsRequest.", + "id": "ListBackupVaultsResponse", + "properties": { + "backupVaults": { + "description": "A list of backupVaults in the project for the specified location.", + "items": { + "$ref": "BackupVault" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The token you can use to retrieve the next page of results. Not returned if there are no more results in the list.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListBackupsResponse": { + "description": "ListBackupsResponse is the result of ListBackupsRequest.", + "id": "ListBackupsResponse", + "properties": { + "backups": { + "description": "A list of backups in the project.", + "items": { + "$ref": "Backup" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The token you can use to retrieve the next page of results. Not returned if there are no more results in the list.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListKmsConfigsResponse": { + "description": "ListKmsConfigsResponse is the response to a ListKmsConfigsRequest.", + "id": "ListKmsConfigsResponse", + "properties": { + "kmsConfigs": { + "description": "The list of KmsConfigs", + "items": { + "$ref": "KmsConfig" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListReplicationsResponse": { + "description": "ListReplicationsResponse is the result of ListReplicationsRequest.", + "id": "ListReplicationsResponse", + "properties": { + "nextPageToken": { + "description": "The token you can use to retrieve the next page of results. Not returned if there are no more results in the list.", + "type": "string" + }, + "replications": { + "description": "A list of replications in the project for the specified volume.", + "items": { + "$ref": "Replication" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListSnapshotsResponse": { + "description": "ListSnapshotsResponse is the result of ListSnapshotsRequest.", + "id": "ListSnapshotsResponse", + "properties": { + "nextPageToken": { + "description": "The token you can use to retrieve the next page of results. Not returned if there are no more results in the list.", + "type": "string" + }, + "snapshots": { + "description": "A list of snapshots in the project for the specified volume.", + "items": { + "$ref": "Snapshot" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListStoragePoolsResponse": { + "description": "ListStoragePoolsResponse is the response to a ListStoragePoolsRequest.", + "id": "ListStoragePoolsResponse", + "properties": { + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "storagePools": { + "description": "The list of StoragePools", + "items": { + "$ref": "StoragePool" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListVolumesResponse": { + "description": "Message for response to listing Volumes", + "id": "ListVolumesResponse", + "properties": { + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + }, + "volumes": { + "description": "The list of Volume", + "items": { + "$ref": "Volume" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents a Google Cloud location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given location.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "LocationMetadata": { + "description": "Metadata for a given google.cloud.location.Location.", + "id": "LocationMetadata", + "properties": { + "supportedServiceLevels": { + "description": "Output only. Supported service levels in a location.", + "items": { + "enum": [ + "SERVICE_LEVEL_UNSPECIFIED", + "PREMIUM", + "EXTREME", + "STANDARD", + "FLEX" + ], + "enumDescriptions": [ + "Unspecified service level.", + "Premium service level.", + "Extreme service level.", + "Standard service level.", + "Flex service level." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object" + }, + "MonthlySchedule": { + "description": "Make a snapshot once a month e.g. at 2nd 04:00, 7th 05:20, 24th 23:50", + "id": "MonthlySchedule", + "properties": { + "daysOfMonth": { + "description": "Set the day or days of the month to make a snapshot (1-31). Accepts a comma separated number of days. Defaults to '1'.", + "type": "string" + }, + "hour": { + "description": "Set the hour to start the snapshot (0-23), defaults to midnight (0).", + "format": "double", + "type": "number" + }, + "minute": { + "description": "Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0).", + "format": "double", + "type": "number" + }, + "snapshotsToKeep": { + "description": "The maximum number of Snapshots to keep for the hourly schedule", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, + "MountOption": { + "description": "View only mount options for a volume.", + "id": "MountOption", + "properties": { + "export": { + "description": "Export string", + "type": "string" + }, + "exportFull": { + "description": "Full export string", + "type": "string" + }, + "instructions": { + "description": "Instructions for mounting", + "type": "string" + }, + "protocol": { + "description": "Protocol to mount with.", + "enum": [ + "PROTOCOLS_UNSPECIFIED", + "NFSV3", + "NFSV4", + "SMB" + ], + "enumDescriptions": [ + "Unspecified protocol", + "NFS V3 protocol", + "NFS V4 protocol", + "SMB protocol" + ], + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been canceled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Replication": { + "description": "Replication is a nested resource under Volume, that describes a cross-region replication relationship between 2 volumes in different regions.", + "id": "Replication", + "properties": { + "clusterLocation": { + "description": "Optional. Location of the user cluster.", + "type": "string" + }, + "createTime": { + "description": "Output only. Replication create time.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "A description about this replication relationship.", + "type": "string" + }, + "destinationVolume": { + "description": "Output only. Full name of destination volume resource. Example : \"projects/{project}/locations/{location}/volumes/{volume_id}\"", + "readOnly": true, + "type": "string" + }, + "destinationVolumeParameters": { + "$ref": "DestinationVolumeParameters", + "description": "Required. Input only. Destination volume parameters" + }, + "healthy": { + "description": "Output only. Condition of the relationship. Can be one of the following: - true: The replication relationship is healthy. It has not missed the most recent scheduled transfer. - false: The replication relationship is not healthy. It has missed the most recent scheduled transfer.", + "readOnly": true, + "type": "boolean" + }, + "hybridPeeringDetails": { + "$ref": "HybridPeeringDetails", + "description": "Output only. Hybrid peering details.", + "readOnly": true + }, + "hybridReplicationType": { + "description": "Output only. Type of the hybrid replication.", + "enum": [ + "HYBRID_REPLICATION_TYPE_UNSPECIFIED", + "MIGRATION", + "CONTINUOUS_REPLICATION" + ], + "enumDescriptions": [ + "Unspecified hybrid replication type.", + "Hybrid replication type for migration.", + "Hybrid replication type for continuous replication." + ], + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource labels to represent user provided metadata.", + "type": "object" + }, + "mirrorState": { + "description": "Output only. Indicates the state of mirroring.", + "enum": [ + "MIRROR_STATE_UNSPECIFIED", + "PREPARING", + "MIRRORED", + "STOPPED", + "TRANSFERRING", + "BASELINE_TRANSFERRING", + "ABORTED" + ], + "enumDescriptions": [ + "Unspecified MirrorState", + "Destination volume is being prepared.", + "Destination volume has been initialized and is ready to receive replication transfers.", + "Destination volume is not receiving replication transfers.", + "Incremental replication is in progress.", + "Baseline replication is in progress.", + "Replication is aborted." + ], + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. The resource name of the Replication. Format: `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}`.", + "type": "string" + }, + "replicationSchedule": { + "description": "Required. Indicates the schedule for replication.", + "enum": [ + "REPLICATION_SCHEDULE_UNSPECIFIED", + "EVERY_10_MINUTES", + "HOURLY", + "DAILY" + ], + "enumDescriptions": [ + "Unspecified ReplicationSchedule", + "Replication happens once every 10 minutes.", + "Replication happens once every hour.", + "Replication happens once every day." + ], + "type": "string" + }, + "role": { + "description": "Output only. Indicates whether this points to source or destination.", + "enum": [ + "REPLICATION_ROLE_UNSPECIFIED", + "SOURCE", + "DESTINATION" + ], + "enumDescriptions": [ + "Unspecified replication role", + "Indicates Source volume.", + "Indicates Destination volume." + ], + "readOnly": true, + "type": "string" + }, + "sourceVolume": { + "description": "Output only. Full name of source volume resource. Example : \"projects/{project}/locations/{location}/volumes/{volume_id}\"", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. State of the replication.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "READY", + "UPDATING", + "DELETING", + "ERROR", + "PENDING_CLUSTER_PEERING", + "PENDING_SVM_PEERING" + ], + "enumDescriptions": [ + "Unspecified replication State", + "Replication is creating.", + "Replication is ready.", + "Replication is updating.", + "Replication is deleting.", + "Replication is in error state.", + "Replication is waiting for cluster peering to be established.", + "Replication is waiting for SVM peering to be established." + ], + "readOnly": true, + "type": "string" + }, + "stateDetails": { + "description": "Output only. State details of the replication.", + "readOnly": true, + "type": "string" + }, + "transferStats": { + "$ref": "TransferStats", + "description": "Output only. Replication transfer statistics.", + "readOnly": true + } + }, + "type": "object" + }, + "RestoreParameters": { + "description": "The RestoreParameters if volume is created from a snapshot or backup.", + "id": "RestoreParameters", + "properties": { + "sourceBackup": { + "description": "Full name of the backup resource. Format: projects/{project}/locations/{location}/backupVaults/{backup_vault_id}/backups/{backup_id}", + "type": "string" + }, + "sourceSnapshot": { + "description": "Full name of the snapshot resource. Format: projects/{project}/locations/{location}/volumes/{volume}/snapshots/{snapshot}", + "type": "string" + } + }, + "type": "object" + }, + "ResumeReplicationRequest": { + "description": "ResumeReplicationRequest resumes a stopped replication.", + "id": "ResumeReplicationRequest", + "properties": {}, + "type": "object" + }, + "ReverseReplicationDirectionRequest": { + "description": "ReverseReplicationDirectionRequest reverses direction of replication. Source becomes destination and destination becomes source.", + "id": "ReverseReplicationDirectionRequest", + "properties": {}, + "type": "object" + }, + "RevertVolumeRequest": { + "description": "RevertVolumeRequest reverts the given volume to the specified snapshot.", + "id": "RevertVolumeRequest", + "properties": { + "snapshotId": { + "description": "Required. The snapshot resource ID, in the format 'my-snapshot', where the specified ID is the {snapshot_id} of the fully qualified name like projects/{project_id}/locations/{location_id}/volumes/{volume_id}/snapshots/{snapshot_id}", + "type": "string" + } + }, + "type": "object" + }, + "SimpleExportPolicyRule": { + "description": "An export policy rule describing various export options.", + "id": "SimpleExportPolicyRule", + "properties": { + "accessType": { + "description": "Access type (ReadWrite, ReadOnly, None)", + "enum": [ + "ACCESS_TYPE_UNSPECIFIED", + "READ_ONLY", + "READ_WRITE", + "READ_NONE" + ], + "enumDescriptions": [ + "Unspecified Access Type", + "Read Only", + "Read Write", + "None" + ], + "type": "string" + }, + "allowedClients": { + "description": "Comma separated list of allowed clients IP addresses", + "type": "string" + }, + "hasRootAccess": { + "description": "Whether Unix root access will be granted.", + "type": "string" + }, + "kerberos5ReadOnly": { + "description": "If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'authentication' kerberos security mode.", + "type": "boolean" + }, + "kerberos5ReadWrite": { + "description": "If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'authentication' kerberos security mode. The 'kerberos5ReadOnly' value be ignored if this is enabled.", + "type": "boolean" + }, + "kerberos5iReadOnly": { + "description": "If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'integrity' kerberos security mode.", + "type": "boolean" + }, + "kerberos5iReadWrite": { + "description": "If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'integrity' kerberos security mode. The 'kerberos5iReadOnly' value be ignored if this is enabled.", + "type": "boolean" + }, + "kerberos5pReadOnly": { + "description": "If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'privacy' kerberos security mode.", + "type": "boolean" + }, + "kerberos5pReadWrite": { + "description": "If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'privacy' kerberos security mode. The 'kerberos5pReadOnly' value be ignored if this is enabled.", + "type": "boolean" + }, + "nfsv3": { + "description": "NFS V3 protocol.", + "type": "boolean" + }, + "nfsv4": { + "description": "NFS V4 protocol.", + "type": "boolean" + } + }, + "type": "object" + }, + "Snapshot": { + "description": "Snapshot is a point-in-time version of a Volume's content.", + "id": "Snapshot", + "properties": { + "createTime": { + "description": "Output only. The time when the snapshot was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "A description of the snapshot with 2048 characters or less. Requests with longer descriptions will be rejected.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Resource labels to represent user provided metadata.", + "type": "object" + }, + "name": { + "description": "Identifier. The resource name of the snapshot. Format: `projects/{project_id}/locations/{location}/volumes/{volume_id}/snapshots/{snapshot_id}`.", + "type": "string" + }, + "state": { + "description": "Output only. The snapshot state.", + "enum": [ + "STATE_UNSPECIFIED", + "READY", + "CREATING", + "DELETING", + "UPDATING", + "DISABLED", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified Snapshot State", + "Snapshot State is Ready", + "Snapshot State is Creating", + "Snapshot State is Deleting", + "Snapshot State is Updating", + "Snapshot State is Disabled", + "Snapshot State is Error" + ], + "readOnly": true, + "type": "string" + }, + "stateDetails": { + "description": "Output only. State details of the storage pool", + "readOnly": true, + "type": "string" + }, + "usedBytes": { + "description": "Output only. Current storage usage for the snapshot in bytes.", + "format": "double", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "SnapshotPolicy": { + "description": "Snapshot Policy for a volume.", + "id": "SnapshotPolicy", + "properties": { + "dailySchedule": { + "$ref": "DailySchedule", + "description": "Daily schedule policy." + }, + "enabled": { + "description": "If enabled, make snapshots automatically according to the schedules. Default is false.", + "type": "boolean" + }, + "hourlySchedule": { + "$ref": "HourlySchedule", + "description": "Hourly schedule policy." + }, + "monthlySchedule": { + "$ref": "MonthlySchedule", + "description": "Monthly schedule policy." + }, + "weeklySchedule": { + "$ref": "WeeklySchedule", + "description": "Weekly schedule policy." + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "StopReplicationRequest": { + "description": "StopReplicationRequest stops a replication until resumed.", + "id": "StopReplicationRequest", + "properties": { + "force": { + "description": "Indicates whether to stop replication forcefully while data transfer is in progress. Warning! if force is true, this will abort any current transfers and can lead to data loss due to partial transfer. If force is false, stop replication will fail while data transfer is in progress and you will need to retry later.", + "type": "boolean" + } + }, + "type": "object" + }, + "StoragePool": { + "description": "StoragePool is a container for volumes with a service level and capacity. Volumes can be created in a pool of sufficient available capacity. StoragePool capacity is what you are billed for.", + "id": "StoragePool", + "properties": { + "activeDirectory": { + "description": "Optional. Specifies the Active Directory to be used for creating a SMB volume.", + "type": "string" + }, + "allowAutoTiering": { + "description": "Optional. True if the storage pool supports Auto Tiering enabled volumes. Default is false. Auto-tiering can be enabled after storage pool creation but it can't be disabled once enabled.", + "type": "boolean" + }, + "capacityGib": { + "description": "Required. Capacity in GIB of the pool", + "format": "int64", + "type": "string" + }, + "createTime": { + "description": "Output only. Create time of the storage pool", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Description of the storage pool", + "type": "string" + }, + "encryptionType": { + "description": "Output only. Specifies the current pool encryption key source.", + "enum": [ + "ENCRYPTION_TYPE_UNSPECIFIED", + "SERVICE_MANAGED", + "CLOUD_KMS" + ], + "enumDescriptions": [ + "The source of the encryption key is not specified.", + "Google managed encryption key.", + "Customer managed encryption key, which is stored in KMS." + ], + "readOnly": true, + "type": "string" + }, + "globalAccessAllowed": { + "deprecated": true, + "description": "Deprecated. Used to allow SO pool to access AD or DNS server from other regions.", + "type": "boolean" + }, + "kmsConfig": { + "description": "Optional. Specifies the KMS config to be used for volume encryption.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels as key value pairs", + "type": "object" + }, + "ldapEnabled": { + "description": "Optional. Flag indicating if the pool is NFS LDAP enabled or not.", + "type": "boolean" + }, + "name": { + "description": "Identifier. Name of the storage pool", + "type": "string" + }, + "network": { + "description": "Required. VPC Network name. Format: projects/{project}/global/networks/{network}", + "type": "string" + }, + "psaRange": { + "description": "Optional. This field is not implemented. The values provided in this field are ignored.", + "type": "string" + }, + "replicaZone": { + "description": "Optional. Specifies the replica zone for regional storagePool.", + "type": "string" + }, + "satisfiesPzi": { + "description": "Output only. Reserved for future use", + "readOnly": true, + "type": "boolean" + }, + "satisfiesPzs": { + "description": "Output only. Reserved for future use", + "readOnly": true, + "type": "boolean" + }, + "serviceLevel": { + "description": "Required. Service level of the storage pool", + "enum": [ + "SERVICE_LEVEL_UNSPECIFIED", + "PREMIUM", + "EXTREME", + "STANDARD", + "FLEX" + ], + "enumDescriptions": [ + "Unspecified service level.", + "Premium service level.", + "Extreme service level.", + "Standard service level.", + "Flex service level." + ], + "type": "string" + }, + "state": { + "description": "Output only. State of the storage pool", + "enum": [ + "STATE_UNSPECIFIED", + "READY", + "CREATING", + "DELETING", + "UPDATING", + "RESTORING", + "DISABLED", + "ERROR" + ], + "enumDescriptions": [ + "Unspecified Storage Pool State", + "Storage Pool State is Ready", + "Storage Pool State is Creating", + "Storage Pool State is Deleting", + "Storage Pool State is Updating", + "Storage Pool State is Restoring", + "Storage Pool State is Disabled", + "Storage Pool State is Error" + ], + "readOnly": true, + "type": "string" + }, + "stateDetails": { + "description": "Output only. State details of the storage pool", + "readOnly": true, + "type": "string" + }, + "volumeCapacityGib": { + "description": "Output only. Allocated size of all volumes in GIB in the storage pool", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "volumeCount": { + "description": "Output only. Volume count of the storage pool", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "zone": { + "description": "Optional. Specifies the active zone for regional storagePool.", + "type": "string" + } + }, + "type": "object" + }, + "SwitchActiveReplicaZoneRequest": { + "description": "SwitchActiveReplicaZoneRequest switch the active/replica zone for a regional storagePool.", + "id": "SwitchActiveReplicaZoneRequest", + "properties": {}, + "type": "object" + }, + "SyncReplicationRequest": { + "description": "SyncReplicationRequest syncs the replication from source to destination.", + "id": "SyncReplicationRequest", + "properties": {}, + "type": "object" + }, + "TieringPolicy": { + "description": "Defines tiering policy for the volume.", + "id": "TieringPolicy", + "properties": { + "coolingThresholdDays": { + "description": "Optional. Time in days to mark the volume's data block as cold and make it eligible for tiering, can be range from 7-183. Default is 31.", + "format": "int32", + "type": "integer" + }, + "tierAction": { + "description": "Optional. Flag indicating if the volume has tiering policy enable/pause. Default is PAUSED.", + "enum": [ + "TIER_ACTION_UNSPECIFIED", + "ENABLED", + "PAUSED" + ], + "enumDescriptions": [ + "Unspecified.", + "When tiering is enabled, new cold data will be tiered.", + "When paused, tiering won't be performed on new data. Existing data stays tiered until accessed." + ], + "type": "string" + } + }, + "type": "object" + }, + "TransferStats": { + "description": "TransferStats reports all statistics related to replication transfer.", + "id": "TransferStats", + "properties": { + "lagDuration": { + "description": "Lag duration indicates the duration by which Destination region volume content lags behind the primary region volume content.", + "format": "google-duration", + "type": "string" + }, + "lastTransferBytes": { + "description": "Last transfer size in bytes.", + "format": "int64", + "type": "string" + }, + "lastTransferDuration": { + "description": "Time taken during last transfer.", + "format": "google-duration", + "type": "string" + }, + "lastTransferEndTime": { + "description": "Time when last transfer completed.", + "format": "google-datetime", + "type": "string" + }, + "lastTransferError": { + "description": "A message describing the cause of the last transfer failure.", + "type": "string" + }, + "totalTransferDuration": { + "description": "Cumulative time taken across all transfers for the replication relationship.", + "format": "google-duration", + "type": "string" + }, + "transferBytes": { + "description": "Cumulative bytes trasferred so far for the replication relatinonship.", + "format": "int64", + "type": "string" + }, + "updateTime": { + "description": "Time when progress was updated last.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "ValidateDirectoryServiceRequest": { + "description": "ValidateDirectoryServiceRequest validates the directory service policy attached to the storage pool.", + "id": "ValidateDirectoryServiceRequest", + "properties": { + "directoryServiceType": { + "description": "Type of directory service policy attached to the storage pool.", + "enum": [ + "DIRECTORY_SERVICE_TYPE_UNSPECIFIED", + "ACTIVE_DIRECTORY" + ], + "enumDescriptions": [ + "Directory service type is not specified.", + "Active directory policy attached to the storage pool." + ], + "type": "string" + } + }, + "type": "object" + }, + "VerifyKmsConfigRequest": { + "description": "VerifyKmsConfigRequest specifies the KMS config to be validated.", + "id": "VerifyKmsConfigRequest", + "properties": {}, + "type": "object" + }, + "VerifyKmsConfigResponse": { + "description": "VerifyKmsConfigResponse contains the information if the config is correctly and error message.", + "id": "VerifyKmsConfigResponse", + "properties": { + "healthError": { + "description": "Output only. Error message if config is not healthy.", + "readOnly": true, + "type": "string" + }, + "healthy": { + "description": "Output only. If the customer key configured correctly to the encrypt volume.", + "readOnly": true, + "type": "boolean" + }, + "instructions": { + "description": "Output only. Instructions for the customers to provide the access to the encryption key.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Volume": { + "description": "Volume provides a filesystem that you can mount.", + "id": "Volume", + "properties": { + "activeDirectory": { + "description": "Output only. Specifies the ActiveDirectory name of a SMB volume.", + "readOnly": true, + "type": "string" + }, + "backupConfig": { + "$ref": "BackupConfig", + "description": "BackupConfig of the volume." + }, + "capacityGib": { + "description": "Required. Capacity in GIB of the volume", + "format": "int64", + "type": "string" + }, + "coldTierSizeGib": { + "description": "Output only. Size of the volume cold tier data in GiB.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. Create time of the volume", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Description of the volume", + "type": "string" + }, + "encryptionType": { + "description": "Output only. Specified the current volume encryption key source.", + "enum": [ + "ENCRYPTION_TYPE_UNSPECIFIED", + "SERVICE_MANAGED", + "CLOUD_KMS" + ], + "enumDescriptions": [ + "The source of the encryption key is not specified.", + "Google managed encryption key.", + "Customer managed encryption key, which is stored in KMS." + ], + "readOnly": true, + "type": "string" + }, + "exportPolicy": { + "$ref": "ExportPolicy", + "description": "Optional. Export policy of the volume" + }, + "hasReplication": { + "description": "Output only. Indicates whether the volume is part of a replication relationship.", + "readOnly": true, + "type": "boolean" + }, + "hybridReplicationParameters": { + "$ref": "HybridReplicationParameters", + "description": "Optional. The Hybrid Replication parameters for the volume." + }, + "kerberosEnabled": { + "description": "Optional. Flag indicating if the volume is a kerberos volume or not, export policy rules control kerberos security modes (krb5, krb5i, krb5p).", + "type": "boolean" + }, + "kmsConfig": { + "description": "Output only. Specifies the KMS config to be used for volume encryption.", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels as key value pairs", + "type": "object" + }, + "largeCapacity": { + "description": "Optional. Flag indicating if the volume will be a large capacity volume or a regular volume.", + "type": "boolean" + }, + "ldapEnabled": { + "description": "Output only. Flag indicating if the volume is NFS LDAP enabled or not.", + "readOnly": true, + "type": "boolean" + }, + "mountOptions": { + "description": "Output only. Mount options of this volume", + "items": { + "$ref": "MountOption" + }, + "readOnly": true, + "type": "array" + }, + "multipleEndpoints": { + "description": "Optional. Flag indicating if the volume will have an IP address per node for volumes supporting multiple IP endpoints. Only the volume with large_capacity will be allowed to have multiple endpoints.", + "type": "boolean" + }, + "name": { + "description": "Identifier. Name of the volume", + "type": "string" + }, + "network": { + "description": "Output only. VPC Network name. Format: projects/{project}/global/networks/{network}", + "readOnly": true, + "type": "string" + }, + "protocols": { + "description": "Required. Protocols required for the volume", + "items": { + "enum": [ + "PROTOCOLS_UNSPECIFIED", + "NFSV3", + "NFSV4", + "SMB" + ], + "enumDescriptions": [ + "Unspecified protocol", + "NFS V3 protocol", + "NFS V4 protocol", + "SMB protocol" + ], + "type": "string" + }, + "type": "array" + }, + "psaRange": { + "description": "Output only. This field is not implemented. The values provided in this field are ignored.", + "readOnly": true, + "type": "string" + }, + "replicaZone": { + "description": "Output only. Specifies the replica zone for regional volume.", + "readOnly": true, + "type": "string" + }, + "restoreParameters": { + "$ref": "RestoreParameters", + "description": "Optional. Specifies the source of the volume to be created from." + }, + "restrictedActions": { + "description": "Optional. List of actions that are restricted on this volume.", + "items": { + "enum": [ + "RESTRICTED_ACTION_UNSPECIFIED", + "DELETE" + ], + "enumDescriptions": [ + "Unspecified restricted action", + "Prevent volume from being deleted when mounted." + ], + "type": "string" + }, + "type": "array" + }, + "securityStyle": { + "description": "Optional. Security Style of the Volume", + "enum": [ + "SECURITY_STYLE_UNSPECIFIED", + "NTFS", + "UNIX" + ], + "enumDescriptions": [ + "SecurityStyle is unspecified", + "SecurityStyle uses NTFS", + "SecurityStyle uses UNIX" + ], + "type": "string" + }, + "serviceLevel": { + "description": "Output only. Service level of the volume", + "enum": [ + "SERVICE_LEVEL_UNSPECIFIED", + "PREMIUM", + "EXTREME", + "STANDARD", + "FLEX" + ], + "enumDescriptions": [ + "Unspecified service level.", + "Premium service level.", + "Extreme service level.", + "Standard service level.", + "Flex service level." + ], + "readOnly": true, + "type": "string" + }, + "shareName": { + "description": "Required. Share name of the volume", + "type": "string" + }, + "smbSettings": { + "description": "Optional. SMB share settings for the volume.", + "items": { + "enum": [ + "SMB_SETTINGS_UNSPECIFIED", + "ENCRYPT_DATA", + "BROWSABLE", + "CHANGE_NOTIFY", + "NON_BROWSABLE", + "OPLOCKS", + "SHOW_SNAPSHOT", + "SHOW_PREVIOUS_VERSIONS", + "ACCESS_BASED_ENUMERATION", + "CONTINUOUSLY_AVAILABLE" + ], + "enumDescriptions": [ + "Unspecified default option", + "SMB setting encrypt data", + "SMB setting browsable", + "SMB setting notify change", + "SMB setting not to notify change", + "SMB setting oplocks", + "SMB setting to show snapshots", + "SMB setting to show previous versions", + "SMB setting to access volume based on enumerartion", + "Continuously available enumeration" + ], + "type": "string" + }, + "type": "array" + }, + "snapReserve": { + "description": "Optional. Snap_reserve specifies percentage of volume storage reserved for snapshot storage. Default is 0 percent.", + "format": "double", + "type": "number" + }, + "snapshotDirectory": { + "description": "Optional. Snapshot_directory if enabled (true) the volume will contain a read-only .snapshot directory which provides access to each of the volume's snapshots.", + "type": "boolean" + }, + "snapshotPolicy": { + "$ref": "SnapshotPolicy", + "description": "Optional. SnapshotPolicy for a volume." + }, + "state": { + "description": "Output only. State of the volume", + "enum": [ + "STATE_UNSPECIFIED", + "READY", + "CREATING", + "DELETING", + "UPDATING", + "RESTORING", + "DISABLED", + "ERROR", + "PREPARING", + "READ_ONLY" + ], + "enumDescriptions": [ + "Unspecified Volume State", + "Volume State is Ready", + "Volume State is Creating", + "Volume State is Deleting", + "Volume State is Updating", + "Volume State is Restoring", + "Volume State is Disabled", + "Volume State is Error", + "Volume State is Preparing. Note that this is different from CREATING where CREATING means the volume is being created, while PREPARING means the volume is created and now being prepared for the replication.", + "Volume State is Read Only" + ], + "readOnly": true, + "type": "string" + }, + "stateDetails": { + "description": "Output only. State details of the volume", + "readOnly": true, + "type": "string" + }, + "storagePool": { + "description": "Required. StoragePool name of the volume", + "type": "string" + }, + "tieringPolicy": { + "$ref": "TieringPolicy", + "description": "Tiering policy for the volume." + }, + "unixPermissions": { + "description": "Optional. Default unix style permission (e.g. 777) the mount point will be created with. Applicable for NFS protocol types only.", + "type": "string" + }, + "usedGib": { + "description": "Output only. Used capacity in GIB of the volume. This is computed periodically and it does not represent the realtime usage.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "zone": { + "description": "Output only. Specifies the active zone for regional volume.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "WeeklySchedule": { + "description": "Make a snapshot every week e.g. at Monday 04:00, Wednesday 05:20, Sunday 23:50", + "id": "WeeklySchedule", + "properties": { + "day": { + "description": "Set the day or days of the week to make a snapshot. Accepts a comma separated days of the week. Defaults to 'Sunday'.", + "type": "string" + }, + "hour": { + "description": "Set the hour to start the snapshot (0-23), defaults to midnight (0).", + "format": "double", + "type": "number" + }, + "minute": { + "description": "Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0).", + "format": "double", + "type": "number" + }, + "snapshotsToKeep": { + "description": "The maximum number of Snapshots to keep for the hourly schedule", + "format": "double", + "type": "number" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "NetApp API", + "version": "v1beta1", + "version_module": true +} \ No newline at end of file diff --git a/discovery/networkconnectivity-v1.json b/discovery/networkconnectivity-v1.json index 3932967028..d6e9f22061 100644 --- a/discovery/networkconnectivity-v1.json +++ b/discovery/networkconnectivity-v1.json @@ -485,6 +485,57 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "queryStatus": { + "description": "Query the Private Service Connect propagation status of a Network Connectivity Center hub.", + "flatPath": "v1/projects/{projectsId}/locations/global/hubs/{hubsId}:queryStatus", + "httpMethod": "GET", + "id": "networkconnectivity.projects.locations.global.hubs.queryStatus", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "Optional. An expression that filters the list of results. The filter can be used to filter the results by the following fields: * `psc_propagation_status.source_spoke` * `psc_propagation_status.source_group` * `psc_propagation_status.source_forwarding_rule` * `psc_propagation_status.target_spoke` * `psc_propagation_status.target_group` * `psc_propagation_status.code` * `psc_propagation_status.message`", + "location": "query", + "type": "string" + }, + "groupBy": { + "description": "Optional. Aggregate the results by the specified fields. A comma-separated list of any of these fields: * `psc_propagation_status.source_spoke` * `psc_propagation_status.source_group` * `psc_propagation_status.source_forwarding_rule` * `psc_propagation_status.target_spoke` * `psc_propagation_status.target_group` * `psc_propagation_status.code`", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the hub.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/hubs/[^/]+$", + "required": true, + "type": "string" + }, + "orderBy": { + "description": "Optional. Sort the results in ascending order by the specified fields. A comma-separated list of any of these fields: * `psc_propagation_status.source_spoke` * `psc_propagation_status.source_group` * `psc_propagation_status.source_forwarding_rule` * `psc_propagation_status.target_spoke` * `psc_propagation_status.target_group` * `psc_propagation_status.code` If `group_by` is set, the value of the `order_by` field must be the same as or a subset of the `group_by` field.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of results to return per page.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}:queryStatus", + "response": { + "$ref": "QueryHubStatusResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "rejectSpoke": { "description": "Rejects a Network Connectivity Center spoke from being attached to a hub. If the spoke was previously in the `ACTIVE` state, it transitions to the `INACTIVE` state and is no longer able to connect to other spokes that are attached to the hub.", "flatPath": "v1/projects/{projectsId}/locations/global/hubs/{hubsId}:rejectSpoke", @@ -1343,7 +1394,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "networkconnectivity.projects.locations.operations.cancel", @@ -2812,7 +2863,7 @@ } } }, - "revision": "20240923", + "revision": "20250101", "rootUrl": "https://networkconnectivity.googleapis.com/", "schemas": { "AcceptHubSpokeRequest": { @@ -2894,7 +2945,7 @@ "id": "AutoAccept", "properties": { "autoAcceptProjects": { - "description": "A list of project ids or project numbers for which you want to enable auto-accept. The auto-accept setting is applied to spokes being created or updated in these projects.", + "description": "Optional. A list of project ids or project numbers for which you want to enable auto-accept. The auto-accept setting is applied to spokes being created or updated in these projects.", "items": { "type": "string" }, @@ -2937,6 +2988,20 @@ "description": "This is used in PSC consumer ForwardingRule to control whether the PSC endpoint can be accessed from another region.", "type": "boolean" }, + "ipVersion": { + "description": "The requested IP version for the PSC connection.", + "enum": [ + "IP_VERSION_UNSPECIFIED", + "IPV4", + "IPV6" + ], + "enumDescriptions": [ + "Default value. We will use IPv4 or IPv6 depending on the IP version of first available subnetwork.", + "Will use IPv4 only.", + "Will use IPv6 only." + ], + "type": "string" + }, "network": { "description": "The resource path of the consumer network where PSC connections are allowed to be created in. Note, this network does not need be in the ConsumerPscConfig.project in the case of SharedVPC. Example: projects/{projectNumOrId}/global/networks/{networkId}.", "type": "string" @@ -3030,6 +3095,20 @@ "description": "The IP literal allocated on the consumer network for the PSC forwarding rule that is created to connect to the producer service attachment in this service connection map.", "type": "string" }, + "ipVersion": { + "description": "The requested IP version for the PSC connection.", + "enum": [ + "IP_VERSION_UNSPECIFIED", + "IPV4", + "IPV6" + ], + "enumDescriptions": [ + "Default value. We will use IPv4 or IPv6 depending on the IP version of first available subnetwork.", + "Will use IPv4 only.", + "Will use IPv6 only." + ], + "type": "string" + }, "network": { "description": "The consumer network whose PSC forwarding rule is connected to the service attachments in this service connection map. Note that the network could be on a different project (shared VPC).", "type": "string" @@ -3070,14 +3149,18 @@ "ACTIVE", "FAILED", "CREATING", - "DELETING" + "DELETING", + "CREATE_REPAIRING", + "DELETE_REPAIRING" ], "enumDescriptions": [ "An invalid state as the default case.", "The connection has been created successfully. However, for the up-to-date connection status, please use the service attachment's \"ConnectedEndpoint.status\" as the source of truth.", "The connection is not functional since some resources on the connection fail to be created.", "The connection is being created.", - "The connection is being deleted." + "The connection is being deleted.", + "The connection is being repaired to complete creation.", + "The connection is being repaired to complete deletion." ], "type": "string" } @@ -3215,7 +3298,7 @@ "additionalProperties": { "type": "string" }, - "description": "Additional structured details about this error. Keys must match /a-z+/ but should ideally be lowerCamelCase. Also they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than {\"instanceLimit\": \"100/request\"}, should be returned as, {\"instanceLimitPerRequest\": \"100\"}, if the client exceeds the number of instances that can be created in a single (batch) request.", + "description": "Additional structured details about this error. Keys must match a regular expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{\"instanceLimit\": \"100/request\"}`, should be returned as, `{\"instanceLimitPerRequest\": \"100\"}`, if the client exceeds the number of instances that can be created in a single (batch) request.", "type": "object" }, "reason": { @@ -3338,7 +3421,7 @@ "type": "string" }, "description": { - "description": "An optional description of the hub.", + "description": "Optional. An optional description of the hub.", "type": "string" }, "exportPsc": { @@ -3443,6 +3526,26 @@ }, "type": "object" }, + "HubStatusEntry": { + "description": "A hub status entry represents the status of a set of propagated Private Service Connect connections grouped by certain fields.", + "id": "HubStatusEntry", + "properties": { + "count": { + "description": "The number of propagated Private Service Connect connections with this status. If the `group_by` field was not set in the request message, the value of this field is 1.", + "format": "int32", + "type": "integer" + }, + "groupBy": { + "description": "The fields that this entry is grouped by. This has the same value as the `group_by` field in the request message.", + "type": "string" + }, + "pscPropagationStatus": { + "$ref": "PscPropagationStatus", + "description": "The Private Service Connect propagation status." + } + }, + "type": "object" + }, "InterconnectAttachment": { "description": "InterconnectAttachment that this route applies to.", "id": "InterconnectAttachment", @@ -3455,7 +3558,7 @@ "type": "object" }, "InternalRange": { - "description": "The internal range resource for IPAM operations within a VPC network. Used to represent a private address range along with behavioral characterstics of that range (its usage and peering behavior). Networking resources can link to this range if they are created as belonging to it.", + "description": "The internal range resource for IPAM operations within a VPC network. Used to represent a private address range along with behavioral characteristics of that range (its usage and peering behavior). Networking resources can link to this range if they are created as belonging to it.", "id": "InternalRange", "properties": { "createTime": { @@ -3480,7 +3583,7 @@ }, "migration": { "$ref": "Migration", - "description": "Optional. Should be present if usage is set to FOR_MIGRATION." + "description": "Optional. Must be present if usage is set to FOR_MIGRATION. This field is for internal use." }, "name": { "description": "Immutable. The name of an internal range. Format: projects/{project}/locations/{location}/internalRanges/{internal_range} See: https://google.aip.dev/122#fields-representing-resource-names", @@ -3552,7 +3655,7 @@ "Unspecified usage is allowed in calls which identify the resource by other fields and do not need Usage set to complete. These are, i.e.: GetInternalRange and DeleteInternalRange. Usage needs to be specified explicitly in CreateInternalRange or UpdateInternalRange calls.", "A VPC resource can use the reserved CIDR block by associating it with the internal range resource if usage is set to FOR_VPC.", "Ranges created with EXTERNAL_TO_VPC cannot be associated with VPC resources and are meant to block out address ranges for various use cases, like for example, usage on-prem, with dynamic route announcements via interconnect.", - "Ranges created FOR_MIGRATION can be used to lock a CIDR range between a source and target subnet. If usage is set to FOR_MIGRATION the peering value has to be set to FOR_SELF or default to FOR_SELF when unset." + "Ranges created FOR_MIGRATION can be used to lock a CIDR range between a source and target subnet. If usage is set to FOR_MIGRATION, the peering value has to be set to FOR_SELF or default to FOR_SELF when unset. This value is for internal use." ], "type": "string" }, @@ -3598,7 +3701,6 @@ "type": "object" }, "LinkedProducerVpcNetwork": { - "description": "Next ID: 7", "id": "LinkedProducerVpcNetwork", "properties": { "excludeExportRanges": { @@ -3608,6 +3710,13 @@ }, "type": "array" }, + "includeExportRanges": { + "description": "Optional. IP ranges allowed to be included from peering.", + "items": { + "type": "string" + }, + "type": "array" + }, "network": { "description": "Immutable. The URI of the Service Consumer VPC that the Producer VPC is peered with.", "type": "string" @@ -3841,7 +3950,7 @@ "type": "object" }, "ListPolicyBasedRoutesResponse": { - "description": "Response for PolicyBasedRouting.ListPolicyBasedRoutes method.", + "description": "Response for PolicyBasedRoutingService.ListPolicyBasedRoutes method.", "id": "ListPolicyBasedRoutesResponse", "properties": { "nextPageToken": { @@ -4227,7 +4336,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -4465,6 +4574,20 @@ "description": "The last Compute Engine operation to setup PSC connection.", "type": "string" }, + "ipVersion": { + "description": "The requested IP version for the PSC connection.", + "enum": [ + "IP_VERSION_UNSPECIFIED", + "IPV4", + "IPV6" + ], + "enumDescriptions": [ + "Default value. We will use IPv4 or IPv6 depending on the IP version of first available subnetwork.", + "Will use IPv4 only.", + "Will use IPv6 only." + ], + "type": "string" + }, "producerInstanceId": { "deprecated": true, "description": "Immutable. Deprecated. Use producer_instance_metadata instead. An immutable identifier for the producer instance.", @@ -4498,15 +4621,90 @@ "ACTIVE", "FAILED", "CREATING", - "DELETING" + "DELETING", + "CREATE_REPAIRING", + "DELETE_REPAIRING" ], "enumDescriptions": [ "An invalid state as the default case.", "The connection has been created successfully. However, for the up-to-date connection status, please use the created forwarding rule's \"PscConnectionStatus\" as the source of truth.", "The connection is not functional since some resources on the connection fail to be created.", "The connection is being created.", - "The connection is being deleted." + "The connection is being deleted.", + "The connection is being repaired to complete creation.", + "The connection is being repaired to complete deletion." + ], + "type": "string" + } + }, + "type": "object" + }, + "PscPropagationStatus": { + "description": "The status of one or more propagated Private Service Connect connections in a hub.", + "id": "PscPropagationStatus", + "properties": { + "code": { + "description": "The propagation status.", + "enum": [ + "CODE_UNSPECIFIED", + "READY", + "PROPAGATING", + "ERROR_PRODUCER_PROPAGATED_CONNECTION_LIMIT_EXCEEDED", + "ERROR_PRODUCER_NAT_IP_SPACE_EXHAUSTED", + "ERROR_PRODUCER_QUOTA_EXCEEDED", + "ERROR_CONSUMER_QUOTA_EXCEEDED" ], + "enumDescriptions": [ + "The code is unspecified.", + "The propagated Private Service Connect connection is ready.", + "The Private Service Connect connection is propagating. This is a transient state.", + "The Private Service Connect connection propagation failed because the VPC network or the project of the target spoke has exceeded the connection limit set by the producer.", + "The Private Service Connect connection propagation failed because the NAT IP subnet space has been exhausted. It is equivalent to the `Needs attention` status of the Private Service Connect connection. See https://cloud.google.com/vpc/docs/about-accessing-vpc-hosted-services-endpoints#connection-statuses.", + "The Private Service Connect connection propagation failed because the `PSC_ILB_CONSUMER_FORWARDING_RULES_PER_PRODUCER_NETWORK` quota in the producer VPC network has been exceeded.", + "The Private Service Connect connection propagation failed because the `PSC_PROPAGATED_CONNECTIONS_PER_VPC_NETWORK` quota in the consumer VPC network has been exceeded." + ], + "type": "string" + }, + "message": { + "description": "The human-readable summary of the Private Service Connect connection propagation status.", + "type": "string" + }, + "sourceForwardingRule": { + "description": "The name of the forwarding rule exported to the hub.", + "type": "string" + }, + "sourceGroup": { + "description": "The name of the group that the source spoke belongs to.", + "type": "string" + }, + "sourceSpoke": { + "description": "The name of the spoke that the source forwarding rule belongs to.", + "type": "string" + }, + "targetGroup": { + "description": "The name of the group that the target spoke belongs to.", + "type": "string" + }, + "targetSpoke": { + "description": "The name of the spoke that the source forwarding rule propagates to.", + "type": "string" + } + }, + "type": "object" + }, + "QueryHubStatusResponse": { + "description": "The response for HubService.QueryHubStatus.", + "id": "QueryHubStatusResponse", + "properties": { + "hubStatusEntries": { + "description": "The list of hub status.", + "items": { + "$ref": "HubStatusEntry" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The token for the next page of the response. To see more results, use this value as the page_token for your next request. If this value is empty, there are no more results.", "type": "string" } }, @@ -4531,7 +4729,7 @@ "type": "string" }, "address": { - "description": "Optional. The IP Address of the Regional Endpoint. When no address is provided, an IP from the subnetwork is allocated. Use one of the following formats: * IPv4 address as in `10.0.0.1` * Address resource URI as in `projects/{project}/regions/{region}/addresses/{address_name}`", + "description": "Optional. The IP Address of the Regional Endpoint. When no address is provided, an IP from the subnetwork is allocated. Use one of the following formats: * IPv4 address as in `10.0.0.1` * Address resource URI as in `projects/{project}/regions/{region}/addresses/{address_name}` for an IPv4 or IPv6 address.", "type": "string" }, "createTime": { @@ -4833,7 +5031,7 @@ "type": "object" }, "ServiceClass": { - "description": "The ServiceClass resource. Next id: 9", + "description": "The ServiceClass resource.", "id": "ServiceClass", "properties": { "createTime": { @@ -4876,7 +5074,7 @@ "type": "object" }, "ServiceConnectionMap": { - "description": "The ServiceConnectionMap resource. Next id: 15", + "description": "The ServiceConnectionMap resource.", "id": "ServiceConnectionMap", "properties": { "consumerPscConfigs": { @@ -4949,7 +5147,7 @@ "type": "string" }, "token": { - "description": "The token provided by the consumer. This token authenticates that the consumer can create a connecton within the specified project and network.", + "description": "The token provided by the consumer. This token authenticates that the consumer can create a connection within the specified project and network.", "type": "string" }, "updateTime": { @@ -4962,7 +5160,7 @@ "type": "object" }, "ServiceConnectionPolicy": { - "description": "The ServiceConnectionPolicy resource. Next id: 12", + "description": "The ServiceConnectionPolicy resource.", "id": "ServiceConnectionPolicy", "properties": { "createTime": { @@ -5033,7 +5231,7 @@ "type": "object" }, "ServiceConnectionToken": { - "description": "The ServiceConnectionToken resource. Next id: 10", + "description": "The ServiceConnectionToken resource.", "id": "ServiceConnectionToken", "properties": { "createTime": { @@ -5112,7 +5310,7 @@ "type": "string" }, "description": { - "description": "An optional description of the spoke.", + "description": "Optional. An optional description of the spoke.", "type": "string" }, "group": { @@ -5132,7 +5330,7 @@ }, "linkedInterconnectAttachments": { "$ref": "LinkedInterconnectAttachments", - "description": "VLAN attachments that are associated with the spoke." + "description": "Optional. VLAN attachments that are associated with the spoke." }, "linkedProducerVpcNetwork": { "$ref": "LinkedProducerVpcNetwork", @@ -5140,7 +5338,7 @@ }, "linkedRouterApplianceInstances": { "$ref": "LinkedRouterApplianceInstances", - "description": "Router appliance instances that are associated with the spoke." + "description": "Optional. Router appliance instances that are associated with the spoke." }, "linkedVpcNetwork": { "$ref": "LinkedVpcNetwork", @@ -5148,14 +5346,14 @@ }, "linkedVpnTunnels": { "$ref": "LinkedVpnTunnels", - "description": "VPN tunnels that are associated with the spoke." + "description": "Optional. VPN tunnels that are associated with the spoke." }, "name": { "description": "Immutable. The name of the spoke. Spoke names must be unique. They use the following form: `projects/{project_number}/locations/{region}/spokes/{spoke_id}`", "type": "string" }, "reasons": { - "description": "Output only. The reasons for current state of the spoke. Only present when the spoke is in the `INACTIVE` state.", + "description": "Output only. The reasons for current state of the spoke.", "items": { "$ref": "StateReason" }, @@ -5281,14 +5479,20 @@ "PENDING_REVIEW", "REJECTED", "PAUSED", - "FAILED" + "FAILED", + "UPDATE_PENDING_REVIEW", + "UPDATE_REJECTED", + "UPDATE_FAILED" ], "enumDescriptions": [ "No information available.", "The proposed spoke is pending review.", "The proposed spoke has been rejected by the hub administrator.", "The spoke has been deactivated internally.", - "Network Connectivity Center encountered errors while accepting the spoke." + "Network Connectivity Center encountered errors while accepting the spoke.", + "The proposed spoke update is pending review.", + "The proposed spoke update has been rejected by the hub administrator.", + "Network Connectivity Center encountered errors while accepting the spoke update." ], "readOnly": true, "type": "string" @@ -5372,14 +5576,20 @@ "PENDING_REVIEW", "REJECTED", "PAUSED", - "FAILED" + "FAILED", + "UPDATE_PENDING_REVIEW", + "UPDATE_REJECTED", + "UPDATE_FAILED" ], "enumDescriptions": [ "No information available.", "The proposed spoke is pending review.", "The proposed spoke has been rejected by the hub administrator.", "The spoke has been deactivated internally.", - "Network Connectivity Center encountered errors while accepting the spoke." + "Network Connectivity Center encountered errors while accepting the spoke.", + "The proposed spoke update is pending review.", + "The proposed spoke update has been rejected by the hub administrator.", + "Network Connectivity Center encountered errors while accepting the spoke update." ], "type": "string" }, diff --git a/discovery/networkconnectivity-v1alpha1.json b/discovery/networkconnectivity-v1alpha1.json index b0083408a3..4e4c971eb6 100644 --- a/discovery/networkconnectivity-v1alpha1.json +++ b/discovery/networkconnectivity-v1alpha1.json @@ -1116,7 +1116,7 @@ } } }, - "revision": "20240911", + "revision": "20241030", "rootUrl": "https://networkconnectivity.googleapis.com/", "schemas": { "AuditConfig": { @@ -1382,6 +1382,10 @@ "description": "A description of this resource.", "type": "string" }, + "immutable": { + "description": "Optional. Immutable ranges cannot have their fields modified, except for labels and description.", + "type": "boolean" + }, "ipCidrRange": { "description": "IP range that this internal range defines. NOTE: IPv6 ranges are limited to usage=EXTERNAL_TO_VPC and peering=FOR_SELF. NOTE: For IPv6 Ranges this field is compulsory, i.e. the address range must be specified explicitly.", "type": "string" @@ -1395,7 +1399,7 @@ }, "migration": { "$ref": "Migration", - "description": "Optional. Should be present if usage is set to FOR_MIGRATION." + "description": "Optional. Must be present if usage is set to FOR_MIGRATION. This field is for internal use." }, "name": { "description": "Immutable. The name of an internal range. Format: projects/{project}/locations/{location}/internalRanges/{internal_range} See: https://google.aip.dev/122#fields-representing-resource-names", @@ -1467,7 +1471,7 @@ "Unspecified usage is allowed in calls which identify the resource by other fields and do not need Usage set to complete. These are, i.e.: GetInternalRange and DeleteInternalRange. Usage needs to be specified explicitly in CreateInternalRange or UpdateInternalRange calls.", "A VPC resource can use the reserved CIDR block by associating it with the internal range resource if usage is set to FOR_VPC.", "Ranges created with EXTERNAL_TO_VPC cannot be associated with VPC resources and are meant to block out address ranges for various use cases such as usage on-premises, with dynamic route announcements via Interconnect.", - "Ranges created FOR_MIGRATION can be used to lock a CIDR range between a source and target subnet. If usage is set to FOR_MIGRATION the peering value has to be set to FOR_SELF or default to FOR_SELF when unset." + "Ranges created FOR_MIGRATION can be used to lock a CIDR range between a source and target subnet. If usage is set to FOR_MIGRATION the peering value has to be set to FOR_SELF or default to FOR_SELF when unset. This value is for internal use." ], "type": "string" }, diff --git a/discovery/networkmanagement-v1.json b/discovery/networkmanagement-v1.json index 239a2e485c..9fa789c617 100644 --- a/discovery/networkmanagement-v1.json +++ b/discovery/networkmanagement-v1.json @@ -464,7 +464,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/global/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "networkmanagement.projects.locations.global.operations.cancel", @@ -585,13 +585,180 @@ } } } + }, + "vpcFlowLogsConfigs": { + "methods": { + "create": { + "description": "Creates a new `VpcFlowLogsConfig`. If a configuration with the exact same settings already exists (even if the ID is different), the creation fails. Notes: 1. Creating a configuration with state=DISABLED will fail 2. The following fields are not considered as `settings` for the purpose of the check mentioned above, therefore - creating another configuration with the same fields but different values for the following fields will fail as well: * name * create_time * update_time * labels * description", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/vpcFlowLogsConfigs", + "httpMethod": "POST", + "id": "networkmanagement.projects.locations.vpcFlowLogsConfigs.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the VPC Flow Logs configuration to create: `projects/{project_id}/locations/global`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "vpcFlowLogsConfigId": { + "description": "Required. ID of the `VpcFlowLogsConfig`.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/vpcFlowLogsConfigs", + "request": { + "$ref": "VpcFlowLogsConfig" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a specific `VpcFlowLogsConfig`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/vpcFlowLogsConfigs/{vpcFlowLogsConfigsId}", + "httpMethod": "DELETE", + "id": "networkmanagement.projects.locations.vpcFlowLogsConfigs.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. `VpcFlowLogsConfig` resource name using the form: `projects/{project_id}/locations/global/vpcFlowLogsConfigs/{vpc_flow_logs_config}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/vpcFlowLogsConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the details of a specific `VpcFlowLogsConfig`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/vpcFlowLogsConfigs/{vpcFlowLogsConfigsId}", + "httpMethod": "GET", + "id": "networkmanagement.projects.locations.vpcFlowLogsConfigs.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. `VpcFlowLogsConfig` resource name using the form: `projects/{project_id}/locations/global/vpcFlowLogsConfigs/{vpc_flow_logs_config}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/vpcFlowLogsConfigs/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "VpcFlowLogsConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all `VpcFlowLogsConfigs` in a given project.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/vpcFlowLogsConfigs", + "httpMethod": "GET", + "id": "networkmanagement.projects.locations.vpcFlowLogsConfigs.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Lists the `VpcFlowLogsConfigs` that match the filter expression. A filter expression must use the supported [CEL logic operators] (https://cloud.google.com/vpc/docs/about-flow-logs-records#supported_cel_logic_operators).", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Field to use to sort the list.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Number of `VpcFlowLogsConfigs` to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. Page token from an earlier query, as returned in `next_page_token`.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource of the VpcFlowLogsConfig: `projects/{project_id}/locations/global`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/vpcFlowLogsConfigs", + "response": { + "$ref": "ListVpcFlowLogsConfigsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an existing `VpcFlowLogsConfig`. If a configuration with the exact same settings already exists (even if the ID is different), the creation fails. Notes: 1. Updating a configuration with state=DISABLED will fail. 2. The following fields are not considered as `settings` for the purpose of the check mentioned above, therefore - updating another configuration with the same fields but different values for the following fields will fail as well: * name * create_time * update_time * labels * description", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/vpcFlowLogsConfigs/{vpcFlowLogsConfigsId}", + "httpMethod": "PATCH", + "id": "networkmanagement.projects.locations.vpcFlowLogsConfigs.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. Unique name of the configuration using the form: `projects/{project_id}/locations/global/vpcFlowLogsConfigs/{vpc_flow_logs_config_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/vpcFlowLogsConfigs/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update. At least one path must be supplied in this field.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "VpcFlowLogsConfig" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } } } } } } }, - "revision": "20240918", + "revision": "20241210", "rootUrl": "https://networkmanagement.googleapis.com/", "schemas": { "AbortInfo": { @@ -616,6 +783,7 @@ "PERMISSION_DENIED", "PERMISSION_DENIED_NO_CLOUD_NAT_CONFIGS", "PERMISSION_DENIED_NO_NEG_ENDPOINT_CONFIGS", + "PERMISSION_DENIED_NO_CLOUD_ROUTER_CONFIGS", "NO_SOURCE_LOCATION", "INVALID_ARGUMENT", "TRACE_TOO_LONG", @@ -672,6 +840,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -690,6 +859,7 @@ "Aborted because user lacks permission to access all or part of the network configurations required to run the test.", "Aborted because user lacks permission to access Cloud NAT configs required to run the test.", "Aborted because user lacks permission to access Network endpoint group endpoint configs required to run the test.", + "Aborted because user lacks permission to access Cloud Router configs required to run the test.", "Aborted because no valid source or destination endpoint is derived from the input test request.", "Aborted because the source or destination endpoint specified in the request is invalid. Some examples: - The request might contain malformed resource URI, project ID, or IP address. - The request might contain inconsistent information (for example, the request might include both the instance and the network, but the instance might not have a NIC in that network).", "Aborted because the number of steps in the trace exceeds a certain limit. It might be caused by a routing loop.", @@ -1000,6 +1170,15 @@ }, "type": "array" }, + "returnReachabilityDetails": { + "$ref": "ReachabilityDetails", + "description": "Output only. The reachability details of this test from the latest run for the return path. The details are updated when creating a new test, updating an existing test, or triggering a one-time rerun of an existing test.", + "readOnly": true + }, + "roundTrip": { + "description": "Whether run analysis for the return path from destination to source. Default value is false.", + "type": "boolean" + }, "source": { "$ref": "Endpoint", "description": "Required. Source specification of the Connectivity Test. You can use a combination of source IP address, virtual machine (VM) instance, or Compute Engine network to uniquely identify the source location. Examples: If the source IP address is an internal IP address within a Google Cloud Virtual Private Cloud (VPC) network, then you must also specify the VPC network. Otherwise, specify the VM instance, which already contains its internal IP address and VPC network information. If the source of the test is within an on-premises network, then you must provide the destination VPC network. If the source endpoint is a Compute Engine VM instance with multiple network interfaces, the instance itself is not sufficient to identify the endpoint. So, you must also specify the source IP address or VPC network. A reachability analysis proceeds even if the source location is ambiguous. However, the test result may include endpoints that you don't intend to test." @@ -1169,7 +1348,8 @@ "REDIS_CLUSTER_UNSUPPORTED_PROTOCOL", "NO_ADVERTISED_ROUTE_TO_GCP_DESTINATION", "NO_TRAFFIC_SELECTOR_TO_GCP_DESTINATION", - "NO_KNOWN_ROUTE_FROM_PEERED_NETWORK_TO_DESTINATION" + "NO_KNOWN_ROUTE_FROM_PEERED_NETWORK_TO_DESTINATION", + "PRIVATE_NAT_TO_PSC_ENDPOINT_UNSUPPORTED" ], "enumDescriptions": [ "Cause is unspecified.", @@ -1238,7 +1418,7 @@ "Packet sent to a load balancer, which requires a proxy-only subnet and the subnet is not found.", "Packet sent to Cloud Nat without active NAT IPs.", "Packet is stuck in a routing loop.", - "Packet is dropped due to an unspecified reason inside a Google-managed service. Used only for return traces.", + "Packet is dropped inside a Google-managed service due to being delivered in return trace to an endpoint that doesn't match the endpoint the packet was sent from in forward trace. Used only for return traces.", "Packet is dropped due to a load balancer backend instance not having a network interface in the network expected by the load balancer.", "Packet is dropped due to a backend service named port not being defined on the instance group level.", "Packet is dropped due to a destination IP range being part of a Private NAT IP range.", @@ -1254,7 +1434,8 @@ "Packet is dropped due to an unsupported protocol being used to connect to a Redis Cluster. Only TCP connections are accepted by a Redis Cluster.", "Packet from the non-GCP (on-prem) or unknown GCP network is dropped due to the destination IP address not belonging to any IP prefix advertised via BGP by the Cloud Router.", "Packet from the non-GCP (on-prem) or unknown GCP network is dropped due to the destination IP address not belonging to any IP prefix included to the local traffic selector of the VPN tunnel.", - "Packet from the unknown peered network is dropped due to no known route from the source network to the destination IP address." + "Packet from the unknown peered network is dropped due to no known route from the source network to the destination IP address.", + "Sending packets processed by the Private NAT Gateways to the Private Service Connect endpoints is not supported." ], "type": "string" }, @@ -1337,8 +1518,12 @@ "readOnly": true, "type": "string" }, + "fqdn": { + "description": "DNS endpoint of [Google Kubernetes Engine cluster control plane](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture). Requires gke_master_cluster to be set, can't be used simultaneoulsly with ip_address or network. Applicable only to destination endpoint.", + "type": "string" + }, "gkeMasterCluster": { - "description": "A cluster URI for [Google Kubernetes Engine master](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture).", + "description": "A cluster URI for [Google Kubernetes Engine cluster control plane](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture).", "type": "string" }, "instance": { @@ -1685,12 +1870,16 @@ "description": "URI of a GKE cluster.", "type": "string" }, + "dnsEndpoint": { + "description": "DNS endpoint of a GKE cluster control plane.", + "type": "string" + }, "externalIp": { - "description": "External IP address of a GKE cluster master.", + "description": "External IP address of a GKE cluster control plane.", "type": "string" }, "internalIp": { - "description": "Internal IP address of a GKE cluster master.", + "description": "Internal IP address of a GKE cluster control plane.", "type": "string" } }, @@ -1868,6 +2057,31 @@ }, "type": "object" }, + "ListVpcFlowLogsConfigsResponse": { + "description": "Response for the `ListVpcFlowLogsConfigs` method.", + "id": "ListVpcFlowLogsConfigsResponse", + "properties": { + "nextPageToken": { + "description": "Page token to fetch the next set of configurations.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached (when querying all locations with `-`).", + "items": { + "type": "string" + }, + "type": "array" + }, + "vpcFlowLogsConfigs": { + "description": "List of VPC Flow Log configurations.", + "items": { + "$ref": "VpcFlowLogsConfig" + }, + "type": "array" + } + }, + "type": "object" + }, "LoadBalancerBackend": { "description": "For display only. Metadata associated with a specific load balancer backend.", "id": "LoadBalancerBackend", @@ -2512,11 +2726,12 @@ "id": "RouteInfo", "properties": { "advertisedRouteNextHopUri": { - "description": "For advertised routes, the URI of their next hop, i.e. the URI of the hybrid endpoint (VPN tunnel, Interconnect attachment, NCC router appliance) the advertised prefix is advertised through, or URI of the source peered network.", + "deprecated": true, + "description": "For ADVERTISED routes, the URI of their next hop, i.e. the URI of the hybrid endpoint (VPN tunnel, Interconnect attachment, NCC router appliance) the advertised prefix is advertised through, or URI of the source peered network. Deprecated in favor of the next_hop_uri field, not used in new tests.", "type": "string" }, "advertisedRouteSourceRouterUri": { - "description": "For advertised dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix.", + "description": "For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix.", "type": "string" }, "destIpRange": { @@ -2524,7 +2739,7 @@ "type": "string" }, "destPortRanges": { - "description": "Destination port ranges of the route. Policy based routes only.", + "description": "Destination port ranges of the route. POLICY_BASED routes only.", "items": { "type": "string" }, @@ -2541,20 +2756,29 @@ }, "type": "array" }, + "nccHubRouteUri": { + "description": "For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub's routing table.", + "type": "string" + }, "nccHubUri": { - "description": "URI of a NCC Hub. NCC_HUB routes only.", + "description": "URI of the NCC Hub the route is advertised by. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.", "type": "string" }, "nccSpokeUri": { - "description": "URI of a NCC Spoke. NCC_HUB routes only.", + "description": "URI of the destination NCC Spoke. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.", "type": "string" }, "networkUri": { - "description": "URI of a Compute Engine network. NETWORK routes only.", + "description": "URI of a VPC network where route is located.", "type": "string" }, "nextHop": { - "description": "Next hop of the route.", + "deprecated": true, + "description": "String type of the next hop of the route (for example, \"VPN tunnel\"). Deprecated in favor of the next_hop_type and next_hop_uri fields, not used in new tests.", + "type": "string" + }, + "nextHopNetworkUri": { + "description": "URI of a VPC network where the next hop resource is located.", "type": "string" }, "nextHopType": { @@ -2579,36 +2803,49 @@ "Next hop is an IP address.", "Next hop is a Compute Engine instance.", "Next hop is a VPC network gateway.", - "Next hop is a peering VPC.", + "Next hop is a peering VPC. This scenario only happens when the user doesn't have permissions to the project where the next hop resource is located.", "Next hop is an interconnect.", "Next hop is a VPN tunnel.", "Next hop is a VPN gateway. This scenario only happens when tracing connectivity from an on-premises network to Google Cloud through a VPN. The analysis simulates a packet departing from the on-premises network through a VPN tunnel and arriving at a Cloud VPN gateway.", "Next hop is an internet gateway.", - "Next hop is blackhole; that is, the next hop either does not exist or is not running.", + "Next hop is blackhole; that is, the next hop either does not exist or is unusable.", "Next hop is the forwarding rule of an Internal Load Balancer.", "Next hop is a [router appliance instance](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/ra-overview).", - "Next hop is an NCC hub." + "Next hop is an NCC hub. This scenario only happens when the user doesn't have permissions to the project where the next hop resource is located." ], "type": "string" }, + "nextHopUri": { + "description": "URI of the next hop resource.", + "type": "string" + }, + "originatingRouteDisplayName": { + "description": "For PEERING_SUBNET, PEERING_STATIC and PEERING_DYNAMIC routes, the name of the originating SUBNET/STATIC/DYNAMIC route.", + "type": "string" + }, + "originatingRouteUri": { + "description": "For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route.", + "type": "string" + }, "priority": { "description": "Priority of the route.", "format": "int32", "type": "integer" }, "protocols": { - "description": "Protocols of the route. Policy based routes only.", + "description": "Protocols of the route. POLICY_BASED routes only.", "items": { "type": "string" }, "type": "array" }, "region": { - "description": "Region of the route (if applicable).", + "description": "Region of the route. DYNAMIC, PEERING_DYNAMIC, POLICY_BASED and ADVERTISED routes only. If set for POLICY_BASED route, this is a region of VLAN attachments for Cloud Interconnect the route applies to.", "type": "string" }, "routeScope": { - "description": "Indicates where route is applicable.", + "deprecated": true, + "description": "Indicates where route is applicable. Deprecated, routes with NCC_HUB scope are not included in the trace in new tests.", "enum": [ "ROUTE_SCOPE_UNSPECIFIED", "NETWORK", @@ -2639,27 +2876,27 @@ "Route is a subnet route automatically created by the system.", "Static route created by the user, including the default route to the internet.", "Dynamic route exchanged between BGP peers.", - "A subnet route received from peering network.", + "A subnet route received from peering network or NCC Hub.", "A static route received from peering network.", - "A dynamic route received from peering network.", + "A dynamic route received from peering network or NCC Hub.", "Policy based route.", "Advertised route. Synthetic route which is used to transition from the StartFromPrivateNetwork state in Connectivity tests." ], "type": "string" }, "srcIpRange": { - "description": "Source IP address range of the route. Policy based routes only.", + "description": "Source IP address range of the route. POLICY_BASED routes only.", "type": "string" }, "srcPortRanges": { - "description": "Source port ranges of the route. Policy based routes only.", + "description": "Source port ranges of the route. POLICY_BASED routes only.", "items": { "type": "string" }, "type": "array" }, "uri": { - "description": "URI of a route (if applicable).", + "description": "URI of a route. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.", "type": "string" } }, @@ -3040,6 +3277,131 @@ }, "type": "object" }, + "VpcFlowLogsConfig": { + "description": "A configuration to generate VPC Flow Logs.", + "id": "VpcFlowLogsConfig", + "properties": { + "aggregationInterval": { + "description": "Optional. The aggregation interval for the logs. Default value is INTERVAL_5_SEC.", + "enum": [ + "AGGREGATION_INTERVAL_UNSPECIFIED", + "INTERVAL_5_SEC", + "INTERVAL_30_SEC", + "INTERVAL_1_MIN", + "INTERVAL_5_MIN", + "INTERVAL_10_MIN", + "INTERVAL_15_MIN" + ], + "enumDescriptions": [ + "If not specified, will default to INTERVAL_5_SEC.", + "Aggregate logs in 5s intervals.", + "Aggregate logs in 30s intervals.", + "Aggregate logs in 1m intervals.", + "Aggregate logs in 5m intervals.", + "Aggregate logs in 10m intervals.", + "Aggregate logs in 15m intervals." + ], + "type": "string" + }, + "createTime": { + "description": "Output only. The time the config was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. The user-supplied description of the VPC Flow Logs configuration. Maximum of 512 characters.", + "type": "string" + }, + "filterExpr": { + "description": "Optional. Export filter used to define which VPC Flow Logs should be logged.", + "type": "string" + }, + "flowSampling": { + "description": "Optional. The value of the field must be in (0, 1]. The sampling rate of VPC Flow Logs where 1.0 means all collected logs are reported. Setting the sampling rate to 0.0 is not allowed. If you want to disable VPC Flow Logs, use the state field instead. Default value is 1.0.", + "format": "float", + "type": "number" + }, + "interconnectAttachment": { + "description": "Traffic will be logged from the Interconnect Attachment. Format: projects/{project_id}/regions/{region}/interconnectAttachments/{name}", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Resource labels to represent user-provided metadata.", + "type": "object" + }, + "metadata": { + "description": "Optional. Configures whether all, none or a subset of metadata fields should be added to the reported VPC flow logs. Default value is INCLUDE_ALL_METADATA.", + "enum": [ + "METADATA_UNSPECIFIED", + "INCLUDE_ALL_METADATA", + "EXCLUDE_ALL_METADATA", + "CUSTOM_METADATA" + ], + "enumDescriptions": [ + "If not specified, will default to INCLUDE_ALL_METADATA.", + "Include all metadata fields.", + "Exclude all metadata fields.", + "Include only custom fields (specified in metadata_fields)." + ], + "type": "string" + }, + "metadataFields": { + "description": "Optional. Custom metadata fields to include in the reported VPC flow logs. Can only be specified if \"metadata\" was set to CUSTOM_METADATA.", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Identifier. Unique name of the configuration using the form: `projects/{project_id}/locations/global/vpcFlowLogsConfigs/{vpc_flow_logs_config_id}`", + "type": "string" + }, + "state": { + "description": "Optional. The state of the VPC Flow Log configuration. Default value is ENABLED. When creating a new configuration, it must be enabled.", + "enum": [ + "STATE_UNSPECIFIED", + "ENABLED", + "DISABLED" + ], + "enumDescriptions": [ + "If not specified, will default to ENABLED.", + "When ENABLED, this configuration will generate logs.", + "When DISABLED, this configuration will not generate logs." + ], + "type": "string" + }, + "targetResourceState": { + "description": "Output only. A diagnostic bit - describes the state of the configured target resource for diagnostic purposes.", + "enum": [ + "TARGET_RESOURCE_STATE_UNSPECIFIED", + "TARGET_RESOURCE_EXISTS", + "TARGET_RESOURCE_DOES_NOT_EXIST" + ], + "enumDescriptions": [ + "Unspecified target resource state.", + "Indicates that the target resource exists.", + "Indicates that the target resource does not exist." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time the config was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "vpnTunnel": { + "description": "Traffic will be logged from the VPN Tunnel. Format: projects/{project_id}/regions/{region}/vpnTunnels/{name}", + "type": "string" + } + }, + "type": "object" + }, "VpnGatewayInfo": { "description": "For display only. Metadata associated with a Compute Engine VPN gateway.", "id": "VpnGatewayInfo", diff --git a/discovery/networkmanagement-v1beta1.json b/discovery/networkmanagement-v1beta1.json index f033dd10e2..e4da0ceaaf 100644 --- a/discovery/networkmanagement-v1beta1.json +++ b/discovery/networkmanagement-v1beta1.json @@ -464,7 +464,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/global/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "networkmanagement.projects.locations.global.operations.cancel", @@ -758,7 +758,7 @@ } } }, - "revision": "20240918", + "revision": "20241210", "rootUrl": "https://networkmanagement.googleapis.com/", "schemas": { "AbortInfo": { @@ -783,6 +783,7 @@ "PERMISSION_DENIED", "PERMISSION_DENIED_NO_CLOUD_NAT_CONFIGS", "PERMISSION_DENIED_NO_NEG_ENDPOINT_CONFIGS", + "PERMISSION_DENIED_NO_CLOUD_ROUTER_CONFIGS", "NO_SOURCE_LOCATION", "INVALID_ARGUMENT", "TRACE_TOO_LONG", @@ -839,6 +840,7 @@ false, false, false, + false, false ], "enumDescriptions": [ @@ -857,6 +859,7 @@ "Aborted because user lacks permission to access all or part of the network configurations required to run the test.", "Aborted because user lacks permission to access Cloud NAT configs required to run the test.", "Aborted because user lacks permission to access Network endpoint group endpoint configs required to run the test.", + "Aborted because user lacks permission to access Cloud Router configs required to run the test.", "Aborted because no valid source or destination endpoint is derived from the input test request.", "Aborted because the source or destination endpoint specified in the request is invalid. Some examples: - The request might contain malformed resource URI, project ID, or IP address. - The request might contain inconsistent information (for example, the request might include both the instance and the network, but the instance might not have a NIC in that network).", "Aborted because the number of steps in the trace exceeds a certain limit. It might be caused by a routing loop.", @@ -1066,11 +1069,6 @@ "description": "Location in which this revision is deployed.", "type": "string" }, - "serviceName": { - "deprecated": true, - "description": "ID of Cloud Run Service this revision belongs to. Was never set, is not exported to v1 proto and public protos. Do not export to v1beta1 public proto.", - "type": "string" - }, "serviceUri": { "description": "URI of Cloud Run service this revision belongs to.", "type": "string" @@ -1172,6 +1170,15 @@ }, "type": "array" }, + "returnReachabilityDetails": { + "$ref": "ReachabilityDetails", + "description": "Output only. The reachability details of this test from the latest run for the return path. The details are updated when creating a new test, updating an existing test, or triggering a one-time rerun of an existing test.", + "readOnly": true + }, + "roundTrip": { + "description": "Whether run analysis for the return path from destination to source. Default value is false.", + "type": "boolean" + }, "source": { "$ref": "Endpoint", "description": "Required. Source specification of the Connectivity Test. You can use a combination of source IP address, virtual machine (VM) instance, or Compute Engine network to uniquely identify the source location. Examples: If the source IP address is an internal IP address within a Google Cloud Virtual Private Cloud (VPC) network, then you must also specify the VPC network. Otherwise, specify the VM instance, which already contains its internal IP address and VPC network information. If the source of the test is within an on-premises network, then you must provide the destination VPC network. If the source endpoint is a Compute Engine VM instance with multiple network interfaces, the instance itself is not sufficient to identify the endpoint. So, you must also specify the source IP address or VPC network. A reachability analysis proceeds even if the source location is ambiguous. However, the test result may include endpoints that you don't intend to test." @@ -1341,7 +1348,8 @@ "REDIS_CLUSTER_UNSUPPORTED_PROTOCOL", "NO_ADVERTISED_ROUTE_TO_GCP_DESTINATION", "NO_TRAFFIC_SELECTOR_TO_GCP_DESTINATION", - "NO_KNOWN_ROUTE_FROM_PEERED_NETWORK_TO_DESTINATION" + "NO_KNOWN_ROUTE_FROM_PEERED_NETWORK_TO_DESTINATION", + "PRIVATE_NAT_TO_PSC_ENDPOINT_UNSUPPORTED" ], "enumDescriptions": [ "Cause is unspecified.", @@ -1410,7 +1418,7 @@ "Packet sent to a load balancer, which requires a proxy-only subnet and the subnet is not found.", "Packet sent to Cloud Nat without active NAT IPs.", "Packet is stuck in a routing loop.", - "Packet is dropped due to an unspecified reason inside a Google-managed service. Used only for return traces.", + "Packet is dropped inside a Google-managed service due to being delivered in return trace to an endpoint that doesn't match the endpoint the packet was sent from in forward trace. Used only for return traces.", "Packet is dropped due to a load balancer backend instance not having a network interface in the network expected by the load balancer.", "Packet is dropped due to a backend service named port not being defined on the instance group level.", "Packet is dropped due to a destination IP range being part of a Private NAT IP range.", @@ -1426,7 +1434,8 @@ "Packet is dropped due to an unsupported protocol being used to connect to a Redis Cluster. Only TCP connections are accepted by a Redis Cluster.", "Packet from the non-GCP (on-prem) or unknown GCP network is dropped due to the destination IP address not belonging to any IP prefix advertised via BGP by the Cloud Router.", "Packet from the non-GCP (on-prem) or unknown GCP network is dropped due to the destination IP address not belonging to any IP prefix included to the local traffic selector of the VPN tunnel.", - "Packet from the unknown peered network is dropped due to no known route from the source network to the destination IP address." + "Packet from the unknown peered network is dropped due to no known route from the source network to the destination IP address.", + "Sending packets processed by the Private NAT Gateways to the Private Service Connect endpoints is not supported." ], "type": "string" }, @@ -1509,8 +1518,12 @@ "readOnly": true, "type": "string" }, + "fqdn": { + "description": "DNS endpoint of [Google Kubernetes Engine cluster control plane](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture). Requires gke_master_cluster to be set, can't be used simultaneoulsly with ip_address or network. Applicable only to destination endpoint.", + "type": "string" + }, "gkeMasterCluster": { - "description": "A cluster URI for [Google Kubernetes Engine master](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture).", + "description": "A cluster URI for [Google Kubernetes Engine cluster control plane](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture).", "type": "string" }, "instance": { @@ -1857,12 +1870,16 @@ "description": "URI of a GKE cluster.", "type": "string" }, + "dnsEndpoint": { + "description": "DNS endpoint of a GKE cluster control plane.", + "type": "string" + }, "externalIp": { - "description": "External IP address of a GKE cluster master.", + "description": "External IP address of a GKE cluster control plane.", "type": "string" }, "internalIp": { - "description": "Internal IP address of a GKE cluster master.", + "description": "Internal IP address of a GKE cluster control plane.", "type": "string" } }, @@ -2709,11 +2726,12 @@ "id": "RouteInfo", "properties": { "advertisedRouteNextHopUri": { - "description": "For advertised routes, the URI of their next hop, i.e. the URI of the hybrid endpoint (VPN tunnel, Interconnect attachment, NCC router appliance) the advertised prefix is advertised through, or URI of the source peered network.", + "deprecated": true, + "description": "For ADVERTISED routes, the URI of their next hop, i.e. the URI of the hybrid endpoint (VPN tunnel, Interconnect attachment, NCC router appliance) the advertised prefix is advertised through, or URI of the source peered network. Deprecated in favor of the next_hop_uri field, not used in new tests.", "type": "string" }, "advertisedRouteSourceRouterUri": { - "description": "For advertised dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix.", + "description": "For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix.", "type": "string" }, "destIpRange": { @@ -2721,7 +2739,7 @@ "type": "string" }, "destPortRanges": { - "description": "Destination port ranges of the route. Policy based routes only.", + "description": "Destination port ranges of the route. POLICY_BASED routes only.", "items": { "type": "string" }, @@ -2738,20 +2756,29 @@ }, "type": "array" }, + "nccHubRouteUri": { + "description": "For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub's routing table.", + "type": "string" + }, "nccHubUri": { - "description": "URI of a NCC Hub. NCC_HUB routes only.", + "description": "URI of the NCC Hub the route is advertised by. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.", "type": "string" }, "nccSpokeUri": { - "description": "URI of a NCC Spoke. NCC_HUB routes only.", + "description": "URI of the destination NCC Spoke. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.", "type": "string" }, "networkUri": { - "description": "URI of a Compute Engine network. NETWORK routes only.", + "description": "URI of a VPC network where route is located.", "type": "string" }, "nextHop": { - "description": "Next hop of the route.", + "deprecated": true, + "description": "String type of the next hop of the route (for example, \"VPN tunnel\"). Deprecated in favor of the next_hop_type and next_hop_uri fields, not used in new tests.", + "type": "string" + }, + "nextHopNetworkUri": { + "description": "URI of a VPC network where the next hop resource is located.", "type": "string" }, "nextHopType": { @@ -2776,36 +2803,49 @@ "Next hop is an IP address.", "Next hop is a Compute Engine instance.", "Next hop is a VPC network gateway.", - "Next hop is a peering VPC.", + "Next hop is a peering VPC. This scenario only happens when the user doesn't have permissions to the project where the next hop resource is located.", "Next hop is an interconnect.", "Next hop is a VPN tunnel.", "Next hop is a VPN gateway. This scenario only happens when tracing connectivity from an on-premises network to Google Cloud through a VPN. The analysis simulates a packet departing from the on-premises network through a VPN tunnel and arriving at a Cloud VPN gateway.", "Next hop is an internet gateway.", - "Next hop is blackhole; that is, the next hop either does not exist or is not running.", + "Next hop is blackhole; that is, the next hop either does not exist or is unusable.", "Next hop is the forwarding rule of an Internal Load Balancer.", "Next hop is a [router appliance instance](https://cloud.google.com/network-connectivity/docs/network-connectivity-center/concepts/ra-overview).", - "Next hop is an NCC hub." + "Next hop is an NCC hub. This scenario only happens when the user doesn't have permissions to the project where the next hop resource is located." ], "type": "string" }, + "nextHopUri": { + "description": "URI of the next hop resource.", + "type": "string" + }, + "originatingRouteDisplayName": { + "description": "For PEERING_SUBNET, PEERING_STATIC and PEERING_DYNAMIC routes, the name of the originating SUBNET/STATIC/DYNAMIC route.", + "type": "string" + }, + "originatingRouteUri": { + "description": "For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route.", + "type": "string" + }, "priority": { "description": "Priority of the route.", "format": "int32", "type": "integer" }, "protocols": { - "description": "Protocols of the route. Policy based routes only.", + "description": "Protocols of the route. POLICY_BASED routes only.", "items": { "type": "string" }, "type": "array" }, "region": { - "description": "Region of the route (if applicable).", + "description": "Region of the route. DYNAMIC, PEERING_DYNAMIC, POLICY_BASED and ADVERTISED routes only. If set for POLICY_BASED route, this is a region of VLAN attachments for Cloud Interconnect the route applies to.", "type": "string" }, "routeScope": { - "description": "Indicates where route is applicable.", + "deprecated": true, + "description": "Indicates where route is applicable. Deprecated, routes with NCC_HUB scope are not included in the trace in new tests.", "enum": [ "ROUTE_SCOPE_UNSPECIFIED", "NETWORK", @@ -2836,27 +2876,27 @@ "Route is a subnet route automatically created by the system.", "Static route created by the user, including the default route to the internet.", "Dynamic route exchanged between BGP peers.", - "A subnet route received from peering network.", + "A subnet route received from peering network or NCC Hub.", "A static route received from peering network.", - "A dynamic route received from peering network.", + "A dynamic route received from peering network or NCC Hub.", "Policy based route.", "Advertised route. Synthetic route which is used to transition from the StartFromPrivateNetwork state in Connectivity tests." ], "type": "string" }, "srcIpRange": { - "description": "Source IP address range of the route. Policy based routes only.", + "description": "Source IP address range of the route. POLICY_BASED routes only.", "type": "string" }, "srcPortRanges": { - "description": "Source port ranges of the route. Policy based routes only.", + "description": "Source port ranges of the route. POLICY_BASED routes only.", "items": { "type": "string" }, "type": "array" }, "uri": { - "description": "URI of a route (if applicable).", + "description": "URI of a route. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.", "type": "string" } }, @@ -3334,6 +3374,21 @@ ], "type": "string" }, + "targetResourceState": { + "description": "Output only. A diagnostic bit - describes the state of the configured target resource for diagnostic purposes.", + "enum": [ + "TARGET_RESOURCE_STATE_UNSPECIFIED", + "TARGET_RESOURCE_EXISTS", + "TARGET_RESOURCE_DOES_NOT_EXIST" + ], + "enumDescriptions": [ + "Unspecified target resource state.", + "Indicates that the target resource exists.", + "Indicates that the target resource does not exist." + ], + "readOnly": true, + "type": "string" + }, "updateTime": { "description": "Output only. The time the config was updated.", "format": "google-datetime", diff --git a/discovery/networksecurity-v1.json b/discovery/networksecurity-v1.json index 294e3d25fa..c801494e27 100644 --- a/discovery/networksecurity-v1.json +++ b/discovery/networksecurity-v1.json @@ -586,7 +586,7 @@ "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`.", + "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/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "networksecurity.organizations.locations.operations.cancel", @@ -1731,6 +1731,99 @@ }, "authzPolicies": { "methods": { + "create": { + "description": "Creates a new AuthzPolicy in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/authzPolicies", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.authzPolicies.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "authzPolicyId": { + "description": "Required. User-provided ID of the `AuthzPolicy` resource to be created.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource of the `AuthzPolicy` resource. Must be in the format `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/authzPolicies", + "request": { + "$ref": "AuthzPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single AuthzPolicy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/authzPolicies/{authzPoliciesId}", + "httpMethod": "DELETE", + "id": "networksecurity.projects.locations.authzPolicies.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the `AuthzPolicy` resource to delete. Must be in the format `projects/{project}/locations/{location}/authzPolicies/{authz_policy}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/authzPolicies/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single AuthzPolicy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/authzPolicies/{authzPoliciesId}", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.authzPolicies.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the `AuthzPolicy` resource to get. Must be in the format `projects/{project}/locations/{location}/authzPolicies/{authz_policy}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/authzPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "AuthzPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "getIamPolicy": { "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/authzPolicies/{authzPoliciesId}:getIamPolicy", @@ -1762,6 +1855,91 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "list": { + "description": "Lists AuthzPolicies in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/authzPolicies", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.authzPolicies.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filtering results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Hint for how to order the results.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results that the server returns.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which the `AuthzPolicy` resources are listed, specified in the following format: `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/authzPolicies", + "response": { + "$ref": "ListAuthzPoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single AuthzPolicy.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/authzPolicies/{authzPoliciesId}", + "httpMethod": "PATCH", + "id": "networksecurity.projects.locations.authzPolicies.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Identifier. Name of the `AuthzPolicy` resource in the following format: `projects/{project}/locations/{location}/authzPolicies/{authz_policy}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/authzPolicies/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. Used to specify the fields to be overwritten in the `AuthzPolicy` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not specify a mask, then all fields are overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "AuthzPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "setIamPolicy": { "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/authzPolicies/{authzPoliciesId}:setIamPolicy", @@ -2565,7 +2743,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "networksecurity.projects.locations.operations.cancel", @@ -3253,7 +3431,7 @@ } } }, - "revision": "20240919", + "revision": "20241202", "rootUrl": "https://networksecurity.googleapis.com/", "schemas": { "AddAddressGroupItemsRequest": { @@ -3411,6 +3589,336 @@ }, "type": "object" }, + "AuthzPolicy": { + "description": "`AuthzPolicy` is a resource that allows to forward traffic to a callout backend designed to scan the traffic for security purposes.", + "id": "AuthzPolicy", + "properties": { + "action": { + "description": "Required. Can be one of `ALLOW`, `DENY`, `CUSTOM`. When the action is `CUSTOM`, `customProvider` must be specified. When the action is `ALLOW`, only requests matching the policy will be allowed. When the action is `DENY`, only requests matching the policy will be denied. When a request arrives, the policies are evaluated in the following order: 1. If there is a `CUSTOM` policy that matches the request, the `CUSTOM` policy is evaluated using the custom authorization providers and the request is denied if the provider rejects the request. 2. If there are any `DENY` policies that match the request, the request is denied. 3. If there are no `ALLOW` policies for the resource or if any of the `ALLOW` policies match the request, the request is allowed. 4. Else the request is denied by default if none of the configured AuthzPolicies with `ALLOW` action match the request.", + "enum": [ + "AUTHZ_ACTION_UNSPECIFIED", + "ALLOW", + "DENY", + "CUSTOM" + ], + "enumDescriptions": [ + "Unspecified action.", + "Allow request to pass through to the backend.", + "Deny the request and return a HTTP 404 to the client.", + "Delegate the authorization decision to an external authorization engine." + ], + "type": "string" + }, + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "customProvider": { + "$ref": "AuthzPolicyCustomProvider", + "description": "Optional. Required if the action is `CUSTOM`. Allows delegating authorization decisions to Cloud IAP or to Service Extensions. One of `cloudIap` or `authzExtension` must be specified." + }, + "description": { + "description": "Optional. A human-readable description of the resource.", + "type": "string" + }, + "httpRules": { + "description": "Optional. A list of authorization HTTP rules to match against the incoming request. A policy match occurs when at least one HTTP rule matches the request or when no HTTP rules are specified in the policy. At least one HTTP Rule is required for Allow or Deny Action. Limited to 5 rules.", + "items": { + "$ref": "AuthzPolicyAuthzRule" + }, + "type": "array" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Set of labels associated with the `AuthzPolicy` resource. The format must comply with [the following requirements](/compute/docs/labeling-resources#requirements).", + "type": "object" + }, + "name": { + "description": "Required. Identifier. Name of the `AuthzPolicy` resource in the following format: `projects/{project}/locations/{location}/authzPolicies/{authz_policy}`.", + "type": "string" + }, + "target": { + "$ref": "AuthzPolicyTarget", + "description": "Required. Specifies the set of resources to which this policy should be applied to." + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AuthzPolicyAuthzRule": { + "description": "Conditions to match against the incoming request.", + "id": "AuthzPolicyAuthzRule", + "properties": { + "from": { + "$ref": "AuthzPolicyAuthzRuleFrom", + "description": "Optional. Describes properties of a source of a request." + }, + "to": { + "$ref": "AuthzPolicyAuthzRuleTo", + "description": "Optional. Describes properties of a target of a request." + }, + "when": { + "description": "Optional. CEL expression that describes the conditions to be satisfied for the action. The result of the CEL expression is ANDed with the from and to. Refer to the CEL language reference for a list of available attributes.", + "type": "string" + } + }, + "type": "object" + }, + "AuthzPolicyAuthzRuleFrom": { + "description": "Describes properties of one or more sources of a request.", + "id": "AuthzPolicyAuthzRuleFrom", + "properties": { + "notSources": { + "description": "Optional. Describes the negated properties of request sources. Matches requests from sources that do not match the criteria specified in this field. At least one of sources or notSources must be specified.", + "items": { + "$ref": "AuthzPolicyAuthzRuleFromRequestSource" + }, + "type": "array" + }, + "sources": { + "description": "Optional. Describes the properties of a request's sources. At least one of sources or notSources must be specified. Limited to 1 source. A match occurs when ANY source (in sources or notSources) matches the request. Within a single source, the match follows AND semantics across fields and OR semantics within a single field, i.e. a match occurs when ANY principal matches AND ANY ipBlocks match.", + "items": { + "$ref": "AuthzPolicyAuthzRuleFromRequestSource" + }, + "type": "array" + } + }, + "type": "object" + }, + "AuthzPolicyAuthzRuleFromRequestSource": { + "description": "Describes the properties of a single source.", + "id": "AuthzPolicyAuthzRuleFromRequestSource", + "properties": { + "principals": { + "description": "Optional. A list of identities derived from the client's certificate. This field will not match on a request unless mutual TLS is enabled for the Forwarding rule or Gateway. Each identity is a string whose value is matched against the URI SAN, or DNS SAN or the subject field in the client's certificate. The match can be exact, prefix, suffix or a substring match. One of exact, prefix, suffix or contains must be specified. Limited to 5 principals.", + "items": { + "$ref": "AuthzPolicyAuthzRuleStringMatch" + }, + "type": "array" + }, + "resources": { + "description": "Optional. A list of resources to match against the resource of the source VM of a request. Limited to 5 resources.", + "items": { + "$ref": "AuthzPolicyAuthzRuleRequestResource" + }, + "type": "array" + } + }, + "type": "object" + }, + "AuthzPolicyAuthzRuleHeaderMatch": { + "description": "Determines how a HTTP header should be matched.", + "id": "AuthzPolicyAuthzRuleHeaderMatch", + "properties": { + "name": { + "description": "Optional. Specifies the name of the header in the request.", + "type": "string" + }, + "value": { + "$ref": "AuthzPolicyAuthzRuleStringMatch", + "description": "Optional. Specifies how the header match will be performed." + } + }, + "type": "object" + }, + "AuthzPolicyAuthzRuleRequestResource": { + "description": "Describes the properties of a client VM resource accessing the internal application load balancers.", + "id": "AuthzPolicyAuthzRuleRequestResource", + "properties": { + "iamServiceAccount": { + "$ref": "AuthzPolicyAuthzRuleStringMatch", + "description": "Optional. An IAM service account to match against the source service account of the VM sending the request." + }, + "tagValueIdSet": { + "$ref": "AuthzPolicyAuthzRuleRequestResourceTagValueIdSet", + "description": "Optional. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request." + } + }, + "type": "object" + }, + "AuthzPolicyAuthzRuleRequestResourceTagValueIdSet": { + "description": "Describes a set of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request.", + "id": "AuthzPolicyAuthzRuleRequestResourceTagValueIdSet", + "properties": { + "ids": { + "description": "Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 5 matches.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AuthzPolicyAuthzRuleStringMatch": { + "description": "Determines how a string value should be matched.", + "id": "AuthzPolicyAuthzRuleStringMatch", + "properties": { + "contains": { + "description": "The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``", + "type": "string" + }, + "exact": { + "description": "The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.", + "type": "string" + }, + "ignoreCase": { + "description": "If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.", + "type": "boolean" + }, + "prefix": { + "description": "The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz``", + "type": "string" + }, + "suffix": { + "description": "The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``", + "type": "string" + } + }, + "type": "object" + }, + "AuthzPolicyAuthzRuleTo": { + "description": "Describes properties of one or more targets of a request.", + "id": "AuthzPolicyAuthzRuleTo", + "properties": { + "notOperations": { + "description": "Optional. Describes the negated properties of the targets of a request. Matches requests for operations that do not match the criteria specified in this field. At least one of operations or notOperations must be specified.", + "items": { + "$ref": "AuthzPolicyAuthzRuleToRequestOperation" + }, + "type": "array" + }, + "operations": { + "description": "Optional. Describes properties of one or more targets of a request. At least one of operations or notOperations must be specified. Limited to 1 operation. A match occurs when ANY operation (in operations or notOperations) matches. Within an operation, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches.", + "items": { + "$ref": "AuthzPolicyAuthzRuleToRequestOperation" + }, + "type": "array" + } + }, + "type": "object" + }, + "AuthzPolicyAuthzRuleToRequestOperation": { + "description": "Describes properties of one or more targets of a request.", + "id": "AuthzPolicyAuthzRuleToRequestOperation", + "properties": { + "headerSet": { + "$ref": "AuthzPolicyAuthzRuleToRequestOperationHeaderSet", + "description": "Optional. A list of headers to match against in http header." + }, + "hosts": { + "description": "Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches.", + "items": { + "$ref": "AuthzPolicyAuthzRuleStringMatch" + }, + "type": "array" + }, + "methods": { + "description": "Optional. A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive.", + "items": { + "type": "string" + }, + "type": "array" + }, + "paths": { + "description": "Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method.", + "items": { + "$ref": "AuthzPolicyAuthzRuleStringMatch" + }, + "type": "array" + } + }, + "type": "object" + }, + "AuthzPolicyAuthzRuleToRequestOperationHeaderSet": { + "description": "Describes a set of HTTP headers to match against.", + "id": "AuthzPolicyAuthzRuleToRequestOperationHeaderSet", + "properties": { + "headers": { + "description": "Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches.", + "items": { + "$ref": "AuthzPolicyAuthzRuleHeaderMatch" + }, + "type": "array" + } + }, + "type": "object" + }, + "AuthzPolicyCustomProvider": { + "description": "Allows delegating authorization decisions to Cloud IAP or to Service Extensions.", + "id": "AuthzPolicyCustomProvider", + "properties": { + "authzExtension": { + "$ref": "AuthzPolicyCustomProviderAuthzExtension", + "description": "Optional. Delegate authorization decision to user authored Service Extension. Only one of cloudIap or authzExtension can be specified." + }, + "cloudIap": { + "$ref": "AuthzPolicyCustomProviderCloudIap", + "description": "Optional. Delegates authorization decisions to Cloud IAP. Applicable only for managed load balancers. Enabling Cloud IAP at the AuthzPolicy level is not compatible with Cloud IAP settings in the BackendService. Enabling IAP in both places will result in request failure. Ensure that IAP is enabled in either the AuthzPolicy or the BackendService but not in both places." + } + }, + "type": "object" + }, + "AuthzPolicyCustomProviderAuthzExtension": { + "description": "Optional. Delegate authorization decision to user authored extension. Only one of cloudIap or authzExtension can be specified.", + "id": "AuthzPolicyCustomProviderAuthzExtension", + "properties": { + "resources": { + "description": "Required. A list of references to authorization extensions that will be invoked for requests matching this policy. Limited to 1 custom provider.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AuthzPolicyCustomProviderCloudIap": { + "description": "Optional. Delegates authorization decisions to Cloud IAP. Applicable only for managed load balancers. Enabling Cloud IAP at the AuthzPolicy level is not compatible with Cloud IAP settings in the BackendService. Enabling IAP in both places will result in request failure. Ensure that IAP is enabled in either the AuthzPolicy or the BackendService but not in both places.", + "id": "AuthzPolicyCustomProviderCloudIap", + "properties": {}, + "type": "object" + }, + "AuthzPolicyTarget": { + "description": "Specifies the set of targets to which this policy should be applied to.", + "id": "AuthzPolicyTarget", + "properties": { + "loadBalancingScheme": { + "description": "Required. All gateways and forwarding rules referenced by this policy and extensions must share the same load balancing scheme. Supported values: `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service).", + "enum": [ + "LOAD_BALANCING_SCHEME_UNSPECIFIED", + "INTERNAL_MANAGED", + "EXTERNAL_MANAGED", + "INTERNAL_SELF_MANAGED" + ], + "enumDescriptions": [ + "Default value. Do not use.", + "Signifies that this is used for Regional internal or Cross-region internal Application Load Balancing.", + "Signifies that this is used for Global external or Regional external Application Load Balancing.", + "Signifies that this is used for Cloud Service Mesh. Meant for use by CSM GKE controller only." + ], + "type": "string" + }, + "resources": { + "description": "Required. A list of references to the Forwarding Rules on which this policy will be applied.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", @@ -3492,6 +4000,17 @@ }, "type": "object" }, + "CustomInterceptProfile": { + "description": "CustomInterceptProfile defines the Packet Intercept Endpoint Group used to intercept traffic to a third-party firewall in a Firewall rule.", + "id": "CustomInterceptProfile", + "properties": { + "interceptEndpointGroup": { + "description": "Required. The InterceptEndpointGroup to which traffic associated with the SP should be mirrored.", + "type": "string" + } + }, + "type": "object" + }, "CustomMirroringProfile": { "description": "CustomMirroringProfile defines an action for mirroring traffic to a collector's EndpointGroup", "id": "CustomMirroringProfile", @@ -3698,7 +4217,7 @@ "Active and ready for traffic.", "Being deleted.", "Down or in an error state.", - "The GCP project that housed the association has been deleted." + "The project that housed the association has been deleted." ], "readOnly": true, "type": "string" @@ -4086,6 +4605,31 @@ }, "type": "object" }, + "ListAuthzPoliciesResponse": { + "description": "Message for response to listing `AuthzPolicy` resources.", + "id": "ListAuthzPoliciesResponse", + "properties": { + "authzPolicies": { + "description": "The list of `AuthzPolicy` resources.", + "items": { + "$ref": "AuthzPolicy" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results that the server returns.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ListClientTlsPoliciesResponse": { "description": "Response returned by the ListClientTlsPolicies method.", "id": "ListClientTlsPoliciesResponse", @@ -4529,7 +5073,7 @@ "type": "object" }, "SecurityProfile": { - "description": "SecurityProfile is a resource that defines the behavior for one of many ProfileTypes. Next ID: 12", + "description": "SecurityProfile is a resource that defines the behavior for one of many ProfileTypes.", "id": "SecurityProfile", "properties": { "createTime": { @@ -4538,6 +5082,10 @@ "readOnly": true, "type": "string" }, + "customInterceptProfile": { + "$ref": "CustomInterceptProfile", + "description": "The custom TPPI configuration for the SecurityProfile." + }, "customMirroringProfile": { "$ref": "CustomMirroringProfile", "description": "The custom Packet Mirroring v2 configuration for the SecurityProfile." @@ -4571,12 +5119,14 @@ "enum": [ "PROFILE_TYPE_UNSPECIFIED", "THREAT_PREVENTION", - "CUSTOM_MIRRORING" + "CUSTOM_MIRRORING", + "CUSTOM_INTERCEPT" ], "enumDescriptions": [ "Profile type not specified.", "Profile type for threat prevention.", - "Profile type for packet mirroring v2" + "Profile type for packet mirroring v2", + "Profile type for TPPI." ], "type": "string" }, @@ -4590,7 +5140,7 @@ "type": "object" }, "SecurityProfileGroup": { - "description": "SecurityProfileGroup is a resource that defines the behavior for various ProfileTypes. Next ID: 11", + "description": "SecurityProfileGroup is a resource that defines the behavior for various ProfileTypes.", "id": "SecurityProfileGroup", "properties": { "createTime": { @@ -4599,6 +5149,10 @@ "readOnly": true, "type": "string" }, + "customInterceptProfile": { + "description": "Optional. Reference to a SecurityProfile with the CustomIntercept configuration.", + "type": "string" + }, "customMirroringProfile": { "description": "Optional. Reference to a SecurityProfile with the CustomMirroring configuration.", "type": "string" diff --git a/discovery/networksecurity-v1beta1.json b/discovery/networksecurity-v1beta1.json index 52d5da96c5..2fd3d0cd12 100644 --- a/discovery/networksecurity-v1beta1.json +++ b/discovery/networksecurity-v1beta1.json @@ -586,7 +586,7 @@ "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`.", + "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": "v1beta1/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "networksecurity.organizations.locations.operations.cancel", @@ -2740,19 +2740,19 @@ } } }, - "mirroringDeploymentGroups": { + "interceptDeploymentGroups": { "methods": { "create": { - "description": "Creates a new MirroringDeploymentGroup in a given project and location.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringDeploymentGroups", + "description": "Creates a new InterceptDeploymentGroup in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interceptDeploymentGroups", "httpMethod": "POST", - "id": "networksecurity.projects.locations.mirroringDeploymentGroups.create", + "id": "networksecurity.projects.locations.interceptDeploymentGroups.create", "parameterOrder": [ "parent" ], "parameters": { - "mirroringDeploymentGroupId": { - "description": "Required. Id of the requesting object If auto-generating Id server-side, remove this field and mirroring_deployment_group_id from the method_signature of Create RPC", + "interceptDeploymentGroupId": { + "description": "Required. Id of the requesting object If auto-generating Id server-side, remove this field and intercept_deployment_group_id from the method_signature of Create RPC", "location": "query", "type": "string" }, @@ -2769,9 +2769,9 @@ "type": "string" } }, - "path": "v1beta1/{+parent}/mirroringDeploymentGroups", + "path": "v1beta1/{+parent}/interceptDeploymentGroups", "request": { - "$ref": "MirroringDeploymentGroup" + "$ref": "InterceptDeploymentGroup" }, "response": { "$ref": "Operation" @@ -2781,10 +2781,10 @@ ] }, "delete": { - "description": "Deletes a single MirroringDeploymentGroup.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringDeploymentGroups/{mirroringDeploymentGroupsId}", + "description": "Deletes a single InterceptDeploymentGroup.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interceptDeploymentGroups/{interceptDeploymentGroupsId}", "httpMethod": "DELETE", - "id": "networksecurity.projects.locations.mirroringDeploymentGroups.delete", + "id": "networksecurity.projects.locations.interceptDeploymentGroups.delete", "parameterOrder": [ "name" ], @@ -2792,7 +2792,7 @@ "name": { "description": "Required. Name of the resource", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/mirroringDeploymentGroups/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/interceptDeploymentGroups/[^/]+$", "required": true, "type": "string" }, @@ -2811,10 +2811,10 @@ ] }, "get": { - "description": "Gets details of a single MirroringDeploymentGroup.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringDeploymentGroups/{mirroringDeploymentGroupsId}", + "description": "Gets details of a single InterceptDeploymentGroup.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interceptDeploymentGroups/{interceptDeploymentGroupsId}", "httpMethod": "GET", - "id": "networksecurity.projects.locations.mirroringDeploymentGroups.get", + "id": "networksecurity.projects.locations.interceptDeploymentGroups.get", "parameterOrder": [ "name" ], @@ -2822,24 +2822,24 @@ "name": { "description": "Required. Name of the resource", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/mirroringDeploymentGroups/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/interceptDeploymentGroups/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { - "$ref": "MirroringDeploymentGroup" + "$ref": "InterceptDeploymentGroup" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { - "description": "Lists MirroringDeploymentGroups in a given project and location.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringDeploymentGroups", + "description": "Lists InterceptDeploymentGroups in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interceptDeploymentGroups", "httpMethod": "GET", - "id": "networksecurity.projects.locations.mirroringDeploymentGroups.list", + "id": "networksecurity.projects.locations.interceptDeploymentGroups.list", "parameterOrder": [ "parent" ], @@ -2866,34 +2866,34 @@ "type": "string" }, "parent": { - "description": "Required. Parent value for ListMirroringDeploymentGroupsRequest", + "description": "Required. Parent value for ListInterceptDeploymentGroupsRequest", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v1beta1/{+parent}/mirroringDeploymentGroups", + "path": "v1beta1/{+parent}/interceptDeploymentGroups", "response": { - "$ref": "ListMirroringDeploymentGroupsResponse" + "$ref": "ListInterceptDeploymentGroupsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "patch": { - "description": "Updates a single MirroringDeploymentGroup.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringDeploymentGroups/{mirroringDeploymentGroupsId}", + "description": "Updates a single InterceptDeploymentGroup.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interceptDeploymentGroups/{interceptDeploymentGroupsId}", "httpMethod": "PATCH", - "id": "networksecurity.projects.locations.mirroringDeploymentGroups.patch", + "id": "networksecurity.projects.locations.interceptDeploymentGroups.patch", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "Immutable. Identifier. Then name of the MirroringDeploymentGroup.", + "description": "Immutable. Identifier. Then name of the InterceptDeploymentGroup.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/mirroringDeploymentGroups/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/interceptDeploymentGroups/[^/]+$", "required": true, "type": "string" }, @@ -2903,7 +2903,7 @@ "type": "string" }, "updateMask": { - "description": "Required. Field mask is used to specify the fields to be overwritten in the MirroringDeploymentGroup resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "description": "Required. Field mask is used to specify the fields to be overwritten in the InterceptDeploymentGroup resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -2911,7 +2911,7 @@ }, "path": "v1beta1/{+name}", "request": { - "$ref": "MirroringDeploymentGroup" + "$ref": "InterceptDeploymentGroup" }, "response": { "$ref": "Operation" @@ -2922,19 +2922,19 @@ } } }, - "mirroringDeployments": { + "interceptDeployments": { "methods": { "create": { - "description": "Creates a new MirroringDeployment in a given project and location.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringDeployments", + "description": "Creates a new InterceptDeployment in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interceptDeployments", "httpMethod": "POST", - "id": "networksecurity.projects.locations.mirroringDeployments.create", + "id": "networksecurity.projects.locations.interceptDeployments.create", "parameterOrder": [ "parent" ], "parameters": { - "mirroringDeploymentId": { - "description": "Required. Id of the requesting object If auto-generating Id server-side, remove this field and mirroring_deployment_id from the method_signature of Create RPC", + "interceptDeploymentId": { + "description": "Required. Id of the requesting object If auto-generating Id server-side, remove this field and intercept_deployment_id from the method_signature of Create RPC", "location": "query", "type": "string" }, @@ -2951,9 +2951,9 @@ "type": "string" } }, - "path": "v1beta1/{+parent}/mirroringDeployments", + "path": "v1beta1/{+parent}/interceptDeployments", "request": { - "$ref": "MirroringDeployment" + "$ref": "InterceptDeployment" }, "response": { "$ref": "Operation" @@ -2963,10 +2963,10 @@ ] }, "delete": { - "description": "Deletes a single MirroringDeployment.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringDeployments/{mirroringDeploymentsId}", + "description": "Deletes a single InterceptDeployment.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interceptDeployments/{interceptDeploymentsId}", "httpMethod": "DELETE", - "id": "networksecurity.projects.locations.mirroringDeployments.delete", + "id": "networksecurity.projects.locations.interceptDeployments.delete", "parameterOrder": [ "name" ], @@ -2974,7 +2974,7 @@ "name": { "description": "Required. Name of the resource", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/mirroringDeployments/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/interceptDeployments/[^/]+$", "required": true, "type": "string" }, @@ -2993,10 +2993,10 @@ ] }, "get": { - "description": "Gets details of a single MirroringDeployment.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringDeployments/{mirroringDeploymentsId}", + "description": "Gets details of a single InterceptDeployment.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interceptDeployments/{interceptDeploymentsId}", "httpMethod": "GET", - "id": "networksecurity.projects.locations.mirroringDeployments.get", + "id": "networksecurity.projects.locations.interceptDeployments.get", "parameterOrder": [ "name" ], @@ -3004,24 +3004,24 @@ "name": { "description": "Required. Name of the resource", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/mirroringDeployments/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/interceptDeployments/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { - "$ref": "MirroringDeployment" + "$ref": "InterceptDeployment" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { - "description": "Lists MirroringDeployments in a given project and location.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringDeployments", + "description": "Lists InterceptDeployments in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interceptDeployments", "httpMethod": "GET", - "id": "networksecurity.projects.locations.mirroringDeployments.list", + "id": "networksecurity.projects.locations.interceptDeployments.list", "parameterOrder": [ "parent" ], @@ -3048,34 +3048,34 @@ "type": "string" }, "parent": { - "description": "Required. Parent value for ListMirroringDeploymentsRequest", + "description": "Required. Parent value for ListInterceptDeploymentsRequest", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v1beta1/{+parent}/mirroringDeployments", + "path": "v1beta1/{+parent}/interceptDeployments", "response": { - "$ref": "ListMirroringDeploymentsResponse" + "$ref": "ListInterceptDeploymentsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "patch": { - "description": "Updates a single MirroringDeployment.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringDeployments/{mirroringDeploymentsId}", + "description": "Updates a single InterceptDeployment.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interceptDeployments/{interceptDeploymentsId}", "httpMethod": "PATCH", - "id": "networksecurity.projects.locations.mirroringDeployments.patch", + "id": "networksecurity.projects.locations.interceptDeployments.patch", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "Immutable. Identifier. The name of the MirroringDeployment.", + "description": "Immutable. Identifier. The name of the InterceptDeployment.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/mirroringDeployments/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/interceptDeployments/[^/]+$", "required": true, "type": "string" }, @@ -3085,7 +3085,7 @@ "type": "string" }, "updateMask": { - "description": "Required. Field mask is used to specify the fields to be overwritten in the MirroringDeployment resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "description": "Required. Field mask is used to specify the fields to be overwritten in the InterceptDeployment resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -3093,7 +3093,7 @@ }, "path": "v1beta1/{+name}", "request": { - "$ref": "MirroringDeployment" + "$ref": "InterceptDeployment" }, "response": { "$ref": "Operation" @@ -3104,19 +3104,19 @@ } } }, - "mirroringEndpointGroupAssociations": { + "interceptEndpointGroupAssociations": { "methods": { "create": { - "description": "Creates a new MirroringEndpointGroupAssociation in a given project and location.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroupAssociations", + "description": "Creates a new InterceptEndpointGroupAssociation in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interceptEndpointGroupAssociations", "httpMethod": "POST", - "id": "networksecurity.projects.locations.mirroringEndpointGroupAssociations.create", + "id": "networksecurity.projects.locations.interceptEndpointGroupAssociations.create", "parameterOrder": [ "parent" ], "parameters": { - "mirroringEndpointGroupAssociationId": { - "description": "Optional. Id of the requesting object If auto-generating Id server-side, remove this field and mirroring_endpoint_group_association_id from the method_signature of Create RPC", + "interceptEndpointGroupAssociationId": { + "description": "Optional. Id of the requesting object If auto-generating Id server-side, remove this field and intercept_endpoint_group_association_id from the method_signature of Create RPC", "location": "query", "type": "string" }, @@ -3133,9 +3133,9 @@ "type": "string" } }, - "path": "v1beta1/{+parent}/mirroringEndpointGroupAssociations", + "path": "v1beta1/{+parent}/interceptEndpointGroupAssociations", "request": { - "$ref": "MirroringEndpointGroupAssociation" + "$ref": "InterceptEndpointGroupAssociation" }, "response": { "$ref": "Operation" @@ -3145,10 +3145,10 @@ ] }, "delete": { - "description": "Deletes a single MirroringEndpointGroupAssociation.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroupAssociations/{mirroringEndpointGroupAssociationsId}", + "description": "Deletes a single InterceptEndpointGroupAssociation.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interceptEndpointGroupAssociations/{interceptEndpointGroupAssociationsId}", "httpMethod": "DELETE", - "id": "networksecurity.projects.locations.mirroringEndpointGroupAssociations.delete", + "id": "networksecurity.projects.locations.interceptEndpointGroupAssociations.delete", "parameterOrder": [ "name" ], @@ -3156,7 +3156,7 @@ "name": { "description": "Required. Name of the resource", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/mirroringEndpointGroupAssociations/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/interceptEndpointGroupAssociations/[^/]+$", "required": true, "type": "string" }, @@ -3175,10 +3175,10 @@ ] }, "get": { - "description": "Gets details of a single MirroringEndpointGroupAssociation.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroupAssociations/{mirroringEndpointGroupAssociationsId}", + "description": "Gets details of a single InterceptEndpointGroupAssociation.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interceptEndpointGroupAssociations/{interceptEndpointGroupAssociationsId}", "httpMethod": "GET", - "id": "networksecurity.projects.locations.mirroringEndpointGroupAssociations.get", + "id": "networksecurity.projects.locations.interceptEndpointGroupAssociations.get", "parameterOrder": [ "name" ], @@ -3186,24 +3186,24 @@ "name": { "description": "Required. Name of the resource", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/mirroringEndpointGroupAssociations/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/interceptEndpointGroupAssociations/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { - "$ref": "MirroringEndpointGroupAssociation" + "$ref": "InterceptEndpointGroupAssociation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { - "description": "Lists MirroringEndpointGroupAssociations in a given project and location.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroupAssociations", + "description": "Lists InterceptEndpointGroupAssociations in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interceptEndpointGroupAssociations", "httpMethod": "GET", - "id": "networksecurity.projects.locations.mirroringEndpointGroupAssociations.list", + "id": "networksecurity.projects.locations.interceptEndpointGroupAssociations.list", "parameterOrder": [ "parent" ], @@ -3230,34 +3230,34 @@ "type": "string" }, "parent": { - "description": "Required. Parent value for ListMirroringEndpointGroupAssociationsRequest", + "description": "Required. Parent value for ListInterceptEndpointGroupAssociationsRequest", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v1beta1/{+parent}/mirroringEndpointGroupAssociations", + "path": "v1beta1/{+parent}/interceptEndpointGroupAssociations", "response": { - "$ref": "ListMirroringEndpointGroupAssociationsResponse" + "$ref": "ListInterceptEndpointGroupAssociationsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "patch": { - "description": "Updates a single MirroringEndpointGroupAssociation.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroupAssociations/{mirroringEndpointGroupAssociationsId}", + "description": "Updates a single InterceptEndpointGroupAssociation.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interceptEndpointGroupAssociations/{interceptEndpointGroupAssociationsId}", "httpMethod": "PATCH", - "id": "networksecurity.projects.locations.mirroringEndpointGroupAssociations.patch", + "id": "networksecurity.projects.locations.interceptEndpointGroupAssociations.patch", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "Immutable. Identifier. The name of the MirroringEndpointGroupAssociation.", + "description": "Immutable. Identifier. The name of the InterceptEndpointGroupAssociation.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/mirroringEndpointGroupAssociations/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/interceptEndpointGroupAssociations/[^/]+$", "required": true, "type": "string" }, @@ -3267,7 +3267,7 @@ "type": "string" }, "updateMask": { - "description": "Required. Field mask is used to specify the fields to be overwritten in the MirroringEndpointGroupAssociation resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "description": "Required. Field mask is used to specify the fields to be overwritten in the InterceptEndpointGroupAssociation resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -3275,7 +3275,7 @@ }, "path": "v1beta1/{+name}", "request": { - "$ref": "MirroringEndpointGroupAssociation" + "$ref": "InterceptEndpointGroupAssociation" }, "response": { "$ref": "Operation" @@ -3286,19 +3286,19 @@ } } }, - "mirroringEndpointGroups": { + "interceptEndpointGroups": { "methods": { "create": { - "description": "Creates a new MirroringEndpointGroup in a given project and location.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroups", + "description": "Creates a new InterceptEndpointGroup in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interceptEndpointGroups", "httpMethod": "POST", - "id": "networksecurity.projects.locations.mirroringEndpointGroups.create", + "id": "networksecurity.projects.locations.interceptEndpointGroups.create", "parameterOrder": [ "parent" ], "parameters": { - "mirroringEndpointGroupId": { - "description": "Required. Id of the requesting object If auto-generating Id server-side, remove this field and mirroring_endpoint_group_id from the method_signature of Create RPC", + "interceptEndpointGroupId": { + "description": "Required. Id of the requesting object If auto-generating Id server-side, remove this field and intercept_endpoint_group_id from the method_signature of Create RPC", "location": "query", "type": "string" }, @@ -3315,9 +3315,9 @@ "type": "string" } }, - "path": "v1beta1/{+parent}/mirroringEndpointGroups", + "path": "v1beta1/{+parent}/interceptEndpointGroups", "request": { - "$ref": "MirroringEndpointGroup" + "$ref": "InterceptEndpointGroup" }, "response": { "$ref": "Operation" @@ -3327,10 +3327,10 @@ ] }, "delete": { - "description": "Deletes a single MirroringEndpointGroup.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroups/{mirroringEndpointGroupsId}", + "description": "Deletes a single InterceptEndpointGroup.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interceptEndpointGroups/{interceptEndpointGroupsId}", "httpMethod": "DELETE", - "id": "networksecurity.projects.locations.mirroringEndpointGroups.delete", + "id": "networksecurity.projects.locations.interceptEndpointGroups.delete", "parameterOrder": [ "name" ], @@ -3338,7 +3338,7 @@ "name": { "description": "Required. Name of the resource", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/mirroringEndpointGroups/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/interceptEndpointGroups/[^/]+$", "required": true, "type": "string" }, @@ -3357,10 +3357,10 @@ ] }, "get": { - "description": "Gets details of a single MirroringEndpointGroup.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroups/{mirroringEndpointGroupsId}", + "description": "Gets details of a single InterceptEndpointGroup.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interceptEndpointGroups/{interceptEndpointGroupsId}", "httpMethod": "GET", - "id": "networksecurity.projects.locations.mirroringEndpointGroups.get", + "id": "networksecurity.projects.locations.interceptEndpointGroups.get", "parameterOrder": [ "name" ], @@ -3368,24 +3368,24 @@ "name": { "description": "Required. Name of the resource", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/mirroringEndpointGroups/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/interceptEndpointGroups/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { - "$ref": "MirroringEndpointGroup" + "$ref": "InterceptEndpointGroup" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { - "description": "Lists MirroringEndpointGroups in a given project and location.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroups", + "description": "Lists InterceptEndpointGroups in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interceptEndpointGroups", "httpMethod": "GET", - "id": "networksecurity.projects.locations.mirroringEndpointGroups.list", + "id": "networksecurity.projects.locations.interceptEndpointGroups.list", "parameterOrder": [ "parent" ], @@ -3412,34 +3412,34 @@ "type": "string" }, "parent": { - "description": "Required. Parent value for ListMirroringEndpointGroupsRequest", + "description": "Required. Parent value for ListInterceptEndpointGroupsRequest", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v1beta1/{+parent}/mirroringEndpointGroups", + "path": "v1beta1/{+parent}/interceptEndpointGroups", "response": { - "$ref": "ListMirroringEndpointGroupsResponse" + "$ref": "ListInterceptEndpointGroupsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "patch": { - "description": "Updates a single MirroringEndpointGroup.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroups/{mirroringEndpointGroupsId}", + "description": "Updates a single InterceptEndpointGroup.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/interceptEndpointGroups/{interceptEndpointGroupsId}", "httpMethod": "PATCH", - "id": "networksecurity.projects.locations.mirroringEndpointGroups.patch", + "id": "networksecurity.projects.locations.interceptEndpointGroups.patch", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "Immutable. Identifier. The name of the MirroringEndpointGroup.", + "description": "Immutable. Identifier. The name of the InterceptEndpointGroup.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/mirroringEndpointGroups/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/interceptEndpointGroups/[^/]+$", "required": true, "type": "string" }, @@ -3449,7 +3449,7 @@ "type": "string" }, "updateMask": { - "description": "Required. Field mask is used to specify the fields to be overwritten in the MirroringEndpointGroup resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "description": "Required. Field mask is used to specify the fields to be overwritten in the InterceptEndpointGroup resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -3457,7 +3457,7 @@ }, "path": "v1beta1/{+name}", "request": { - "$ref": "MirroringEndpointGroup" + "$ref": "InterceptEndpointGroup" }, "response": { "$ref": "Operation" @@ -3468,156 +3468,178 @@ } } }, - "operations": { + "mirroringDeploymentGroups": { "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "create": { + "description": "Creates a new MirroringDeploymentGroup in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringDeploymentGroups", "httpMethod": "POST", - "id": "networksecurity.projects.locations.operations.cancel", + "id": "networksecurity.projects.locations.mirroringDeploymentGroups.create", "parameterOrder": [ - "name" + "parent" ], "parameters": { - "name": { - "description": "The name of the operation resource to be cancelled.", + "mirroringDeploymentGroupId": { + "description": "Required. Id of the requesting object If auto-generating Id server-side, remove this field and mirroring_deployment_group_id from the method_signature of Create RPC", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Value for parent.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" } }, - "path": "v1beta1/{+name}:cancel", + "path": "v1beta1/{+parent}/mirroringDeploymentGroups", "request": { - "$ref": "CancelOperationRequest" + "$ref": "MirroringDeploymentGroup" }, "response": { - "$ref": "Empty" + "$ref": "Operation" }, "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "description": "Deletes a single MirroringDeploymentGroup.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringDeploymentGroups/{mirroringDeploymentGroupsId}", "httpMethod": "DELETE", - "id": "networksecurity.projects.locations.operations.delete", + "id": "networksecurity.projects.locations.mirroringDeploymentGroups.delete", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "The name of the operation resource to be deleted.", + "description": "Required. Name of the resource", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/mirroringDeploymentGroups/[^/]+$", "required": true, "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" } }, "path": "v1beta1/{+name}", "response": { - "$ref": "Empty" + "$ref": "Operation" }, "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "description": "Gets details of a single MirroringDeploymentGroup.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringDeploymentGroups/{mirroringDeploymentGroupsId}", "httpMethod": "GET", - "id": "networksecurity.projects.locations.operations.get", + "id": "networksecurity.projects.locations.mirroringDeploymentGroups.get", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "The name of the operation resource.", + "description": "Required. Name of the resource", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/mirroringDeploymentGroups/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { - "$ref": "Operation" + "$ref": "MirroringDeploymentGroup" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { - "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations", + "description": "Lists MirroringDeploymentGroups in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringDeploymentGroups", "httpMethod": "GET", - "id": "networksecurity.projects.locations.operations.list", + "id": "networksecurity.projects.locations.mirroringDeploymentGroups.list", "parameterOrder": [ - "name" + "parent" ], "parameters": { "filter": { - "description": "The standard list filter.", + "description": "Optional. Filtering results", "location": "query", "type": "string" }, - "name": { - "description": "The name of the operation's parent resource.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", - "required": true, + "orderBy": { + "description": "Optional. Hint for how to order the results", + "location": "query", "type": "string" }, "pageSize": { - "description": "The standard list page size.", + "description": "Optional. 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": "The standard list page token.", + "description": "Optional. A token identifying a page of results the server should return.", "location": "query", "type": "string" + }, + "parent": { + "description": "Required. Parent value for ListMirroringDeploymentGroupsRequest", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" } }, - "path": "v1beta1/{+name}/operations", + "path": "v1beta1/{+parent}/mirroringDeploymentGroups", "response": { - "$ref": "ListOperationsResponse" + "$ref": "ListMirroringDeploymentGroupsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] - } - } - }, - "serverTlsPolicies": { - "methods": { - "create": { - "description": "Creates a new ServerTlsPolicy in a given project and location.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies", - "httpMethod": "POST", - "id": "networksecurity.projects.locations.serverTlsPolicies.create", + }, + "patch": { + "description": "Updates a single MirroringDeploymentGroup.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringDeploymentGroups/{mirroringDeploymentGroupsId}", + "httpMethod": "PATCH", + "id": "networksecurity.projects.locations.mirroringDeploymentGroups.patch", "parameterOrder": [ - "parent" + "name" ], "parameters": { - "parent": { - "description": "Required. The parent resource of the ServerTlsPolicy. Must be in the format `projects/*/locations/{location}`.", + "name": { + "description": "Immutable. Identifier. Then name of the MirroringDeploymentGroup.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/mirroringDeploymentGroups/[^/]+$", "required": true, "type": "string" }, - "serverTlsPolicyId": { - "description": "Required. Short name of the ServerTlsPolicy resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. \"server_mtls_policy\".", + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. Field mask is used to specify the fields to be overwritten in the MirroringDeploymentGroup resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", "location": "query", "type": "string" } }, - "path": "v1beta1/{+parent}/serverTlsPolicies", + "path": "v1beta1/{+name}", "request": { - "$ref": "ServerTlsPolicy" + "$ref": "MirroringDeploymentGroup" }, "response": { "$ref": "Operation" @@ -3625,25 +3647,42 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] - }, - "delete": { - "description": "Deletes a single ServerTlsPolicy.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}", - "httpMethod": "DELETE", - "id": "networksecurity.projects.locations.serverTlsPolicies.delete", + } + } + }, + "mirroringDeployments": { + "methods": { + "create": { + "description": "Creates a new MirroringDeployment in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringDeployments", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.mirroringDeployments.create", "parameterOrder": [ - "name" + "parent" ], "parameters": { - "name": { - "description": "Required. A name of the ServerTlsPolicy to delete. Must be in the format `projects/*/locations/{location}/serverTlsPolicies/*`.", + "mirroringDeploymentId": { + "description": "Required. Id of the requesting object If auto-generating Id server-side, remove this field and mirroring_deployment_id from the method_signature of Create RPC", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Value for parent.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" } }, - "path": "v1beta1/{+name}", + "path": "v1beta1/{+parent}/mirroringDeployments", + "request": { + "$ref": "MirroringDeployment" + }, "response": { "$ref": "Operation" }, @@ -3651,116 +3690,130 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, - "get": { - "description": "Gets details of a single ServerTlsPolicy.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}", - "httpMethod": "GET", - "id": "networksecurity.projects.locations.serverTlsPolicies.get", + "delete": { + "description": "Deletes a single MirroringDeployment.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringDeployments/{mirroringDeploymentsId}", + "httpMethod": "DELETE", + "id": "networksecurity.projects.locations.mirroringDeployments.delete", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "Required. A name of the ServerTlsPolicy to get. Must be in the format `projects/*/locations/{location}/serverTlsPolicies/*`.", + "description": "Required. Name of the resource", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/mirroringDeployments/[^/]+$", "required": true, "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" } }, "path": "v1beta1/{+name}", "response": { - "$ref": "ServerTlsPolicy" + "$ref": "Operation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, - "getIamPolicy": { - "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}:getIamPolicy", + "get": { + "description": "Gets details of a single MirroringDeployment.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringDeployments/{mirroringDeploymentsId}", "httpMethod": "GET", - "id": "networksecurity.projects.locations.serverTlsPolicies.getIamPolicy", + "id": "networksecurity.projects.locations.mirroringDeployments.get", "parameterOrder": [ - "resource" + "name" ], "parameters": { - "options.requestedPolicyVersion": { - "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "format": "int32", - "location": "query", - "type": "integer" - }, - "resource": { - "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "name": { + "description": "Required. Name of the resource", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/mirroringDeployments/[^/]+$", "required": true, "type": "string" } }, - "path": "v1beta1/{+resource}:getIamPolicy", + "path": "v1beta1/{+name}", "response": { - "$ref": "GoogleIamV1Policy" + "$ref": "MirroringDeployment" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { - "description": "Lists ServerTlsPolicies in a given project and location.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies", + "description": "Lists MirroringDeployments in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringDeployments", "httpMethod": "GET", - "id": "networksecurity.projects.locations.serverTlsPolicies.list", + "id": "networksecurity.projects.locations.mirroringDeployments.list", "parameterOrder": [ "parent" ], "parameters": { + "filter": { + "description": "Optional. Filtering results", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Hint for how to order the results", + "location": "query", + "type": "string" + }, "pageSize": { - "description": "Maximum number of ServerTlsPolicies to return per call.", + "description": "Optional. 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": "The value returned by the last `ListServerTlsPoliciesResponse` Indicates that this is a continuation of a prior `ListServerTlsPolicies` call, and that the system should return the next page of data.", + "description": "Optional. A token identifying a page of results the server should return.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The project and location from which the ServerTlsPolicies should be listed, specified in the format `projects/*/locations/{location}`.", + "description": "Required. Parent value for ListMirroringDeploymentsRequest", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v1beta1/{+parent}/serverTlsPolicies", + "path": "v1beta1/{+parent}/mirroringDeployments", "response": { - "$ref": "ListServerTlsPoliciesResponse" + "$ref": "ListMirroringDeploymentsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "patch": { - "description": "Updates the parameters of a single ServerTlsPolicy.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}", + "description": "Updates a single MirroringDeployment.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringDeployments/{mirroringDeploymentsId}", "httpMethod": "PATCH", - "id": "networksecurity.projects.locations.serverTlsPolicies.patch", + "id": "networksecurity.projects.locations.mirroringDeployments.patch", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "Required. Name of the ServerTlsPolicy resource. It matches the pattern `projects/*/locations/{location}/serverTlsPolicies/{server_tls_policy}`", + "description": "Immutable. Identifier. The name of the MirroringDeployment.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/mirroringDeployments/[^/]+$", "required": true, "type": "string" }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, "updateMask": { - "description": "Optional. Field mask is used to specify the fields to be overwritten in the ServerTlsPolicy resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "description": "Required. Field mask is used to specify the fields to be overwritten in the MirroringDeployment resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -3768,7 +3821,7 @@ }, "path": "v1beta1/{+name}", "request": { - "$ref": "ServerTlsPolicy" + "$ref": "MirroringDeployment" }, "response": { "$ref": "Operation" @@ -3776,92 +3829,41 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] - }, - "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}:setIamPolicy", - "httpMethod": "POST", - "id": "networksecurity.projects.locations.serverTlsPolicies.setIamPolicy", - "parameterOrder": [ - "resource" - ], - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+resource}:setIamPolicy", - "request": { - "$ref": "GoogleIamV1SetIamPolicyRequest" - }, - "response": { - "$ref": "GoogleIamV1Policy" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, - "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}:testIamPermissions", - "httpMethod": "POST", - "id": "networksecurity.projects.locations.serverTlsPolicies.testIamPermissions", - "parameterOrder": [ - "resource" - ], - "parameters": { - "resource": { - "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", - "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", - "required": true, - "type": "string" - } - }, - "path": "v1beta1/{+resource}:testIamPermissions", - "request": { - "$ref": "GoogleIamV1TestIamPermissionsRequest" - }, - "response": { - "$ref": "GoogleIamV1TestIamPermissionsResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] } } }, - "tlsInspectionPolicies": { + "mirroringEndpointGroupAssociations": { "methods": { "create": { - "description": "Creates a new TlsInspectionPolicy in a given project and location.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tlsInspectionPolicies", + "description": "Creates a new MirroringEndpointGroupAssociation in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroupAssociations", "httpMethod": "POST", - "id": "networksecurity.projects.locations.tlsInspectionPolicies.create", + "id": "networksecurity.projects.locations.mirroringEndpointGroupAssociations.create", "parameterOrder": [ "parent" ], "parameters": { + "mirroringEndpointGroupAssociationId": { + "description": "Optional. Id of the requesting object If auto-generating Id server-side, remove this field and mirroring_endpoint_group_association_id from the method_signature of Create RPC", + "location": "query", + "type": "string" + }, "parent": { - "description": "Required. The parent resource of the TlsInspectionPolicy. Must be in the format `projects/{project}/locations/{location}`.", + "description": "Required. Value for parent.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, - "tlsInspectionPolicyId": { - "description": "Required. Short name of the TlsInspectionPolicy resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. \"tls_inspection_policy1\".", + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } }, - "path": "v1beta1/{+parent}/tlsInspectionPolicies", + "path": "v1beta1/{+parent}/mirroringEndpointGroupAssociations", "request": { - "$ref": "TlsInspectionPolicy" + "$ref": "MirroringEndpointGroupAssociation" }, "response": { "$ref": "Operation" @@ -3871,25 +3873,25 @@ ] }, "delete": { - "description": "Deletes a single TlsInspectionPolicy.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tlsInspectionPolicies/{tlsInspectionPoliciesId}", + "description": "Deletes a single MirroringEndpointGroupAssociation.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroupAssociations/{mirroringEndpointGroupAssociationsId}", "httpMethod": "DELETE", - "id": "networksecurity.projects.locations.tlsInspectionPolicies.delete", + "id": "networksecurity.projects.locations.mirroringEndpointGroupAssociations.delete", "parameterOrder": [ "name" ], "parameters": { - "force": { - "description": "If set to true, any rules for this TlsInspectionPolicy will also be deleted. (Otherwise, the request will only work if the TlsInspectionPolicy has no rules.)", - "location": "query", - "type": "boolean" - }, "name": { - "description": "Required. A name of the TlsInspectionPolicy to delete. Must be in the format `projects/{project}/locations/{location}/tlsInspectionPolicies/{tls_inspection_policy}`.", + "description": "Required. Name of the resource", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/tlsInspectionPolicies/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/mirroringEndpointGroupAssociations/[^/]+$", "required": true, "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" } }, "path": "v1beta1/{+name}", @@ -3901,84 +3903,99 @@ ] }, "get": { - "description": "Gets details of a single TlsInspectionPolicy.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tlsInspectionPolicies/{tlsInspectionPoliciesId}", + "description": "Gets details of a single MirroringEndpointGroupAssociation.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroupAssociations/{mirroringEndpointGroupAssociationsId}", "httpMethod": "GET", - "id": "networksecurity.projects.locations.tlsInspectionPolicies.get", + "id": "networksecurity.projects.locations.mirroringEndpointGroupAssociations.get", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "Required. A name of the TlsInspectionPolicy to get. Must be in the format `projects/{project}/locations/{location}/tlsInspectionPolicies/{tls_inspection_policy}`.", + "description": "Required. Name of the resource", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/tlsInspectionPolicies/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/mirroringEndpointGroupAssociations/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { - "$ref": "TlsInspectionPolicy" + "$ref": "MirroringEndpointGroupAssociation" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { - "description": "Lists TlsInspectionPolicies in a given project and location.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tlsInspectionPolicies", + "description": "Lists MirroringEndpointGroupAssociations in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroupAssociations", "httpMethod": "GET", - "id": "networksecurity.projects.locations.tlsInspectionPolicies.list", + "id": "networksecurity.projects.locations.mirroringEndpointGroupAssociations.list", "parameterOrder": [ "parent" ], "parameters": { + "filter": { + "description": "Optional. Filtering results", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Hint for how to order the results", + "location": "query", + "type": "string" + }, "pageSize": { - "description": "Maximum number of TlsInspectionPolicies to return per call.", + "description": "Optional. 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": "The value returned by the last 'ListTlsInspectionPoliciesResponse' Indicates that this is a continuation of a prior 'ListTlsInspectionPolicies' call, and that the system should return the next page of data.", + "description": "Optional. A token identifying a page of results the server should return.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The project and location from which the TlsInspectionPolicies should be listed, specified in the format `projects/{project}/locations/{location}`.", + "description": "Required. Parent value for ListMirroringEndpointGroupAssociationsRequest", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v1beta1/{+parent}/tlsInspectionPolicies", + "path": "v1beta1/{+parent}/mirroringEndpointGroupAssociations", "response": { - "$ref": "ListTlsInspectionPoliciesResponse" + "$ref": "ListMirroringEndpointGroupAssociationsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "patch": { - "description": "Updates the parameters of a single TlsInspectionPolicy.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tlsInspectionPolicies/{tlsInspectionPoliciesId}", + "description": "Updates a single MirroringEndpointGroupAssociation.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroupAssociations/{mirroringEndpointGroupAssociationsId}", "httpMethod": "PATCH", - "id": "networksecurity.projects.locations.tlsInspectionPolicies.patch", + "id": "networksecurity.projects.locations.mirroringEndpointGroupAssociations.patch", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "Required. Name of the resource. Name is of the form projects/{project}/locations/{location}/tlsInspectionPolicies/{tls_inspection_policy} tls_inspection_policy should match the pattern:(^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$).", + "description": "Immutable. Identifier. The name of the MirroringEndpointGroupAssociation.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/tlsInspectionPolicies/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/mirroringEndpointGroupAssociations/[^/]+$", "required": true, "type": "string" }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, "updateMask": { - "description": "Optional. Field mask is used to specify the fields to be overwritten in the TlsInspectionPolicy resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "description": "Required. Field mask is used to specify the fields to be overwritten in the MirroringEndpointGroupAssociation resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -3986,7 +4003,7 @@ }, "path": "v1beta1/{+name}", "request": { - "$ref": "TlsInspectionPolicy" + "$ref": "MirroringEndpointGroupAssociation" }, "response": { "$ref": "Operation" @@ -3997,33 +4014,38 @@ } } }, - "urlLists": { + "mirroringEndpointGroups": { "methods": { "create": { - "description": "Creates a new UrlList in a given project and location.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/urlLists", + "description": "Creates a new MirroringEndpointGroup in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroups", "httpMethod": "POST", - "id": "networksecurity.projects.locations.urlLists.create", + "id": "networksecurity.projects.locations.mirroringEndpointGroups.create", "parameterOrder": [ "parent" ], "parameters": { + "mirroringEndpointGroupId": { + "description": "Required. Id of the requesting object If auto-generating Id server-side, remove this field and mirroring_endpoint_group_id from the method_signature of Create RPC", + "location": "query", + "type": "string" + }, "parent": { - "description": "Required. The parent resource of the UrlList. Must be in the format `projects/*/locations/{location}`.", + "description": "Required. Value for parent.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, - "urlListId": { - "description": "Required. Short name of the UrlList resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. \"url_list\".", + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", "location": "query", "type": "string" } }, - "path": "v1beta1/{+parent}/urlLists", + "path": "v1beta1/{+parent}/mirroringEndpointGroups", "request": { - "$ref": "UrlList" + "$ref": "MirroringEndpointGroup" }, "response": { "$ref": "Operation" @@ -4033,20 +4055,25 @@ ] }, "delete": { - "description": "Deletes a single UrlList.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/urlLists/{urlListsId}", + "description": "Deletes a single MirroringEndpointGroup.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroups/{mirroringEndpointGroupsId}", "httpMethod": "DELETE", - "id": "networksecurity.projects.locations.urlLists.delete", + "id": "networksecurity.projects.locations.mirroringEndpointGroups.delete", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "Required. A name of the UrlList to delete. Must be in the format `projects/*/locations/{location}/urlLists/*`.", + "description": "Required. Name of the resource", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/urlLists/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/mirroringEndpointGroups/[^/]+$", "required": true, "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" } }, "path": "v1beta1/{+name}", @@ -4058,84 +4085,99 @@ ] }, "get": { - "description": "Gets details of a single UrlList.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/urlLists/{urlListsId}", + "description": "Gets details of a single MirroringEndpointGroup.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroups/{mirroringEndpointGroupsId}", "httpMethod": "GET", - "id": "networksecurity.projects.locations.urlLists.get", + "id": "networksecurity.projects.locations.mirroringEndpointGroups.get", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "Required. A name of the UrlList to get. Must be in the format `projects/*/locations/{location}/urlLists/*`.", + "description": "Required. Name of the resource", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/urlLists/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/mirroringEndpointGroups/[^/]+$", "required": true, "type": "string" } }, "path": "v1beta1/{+name}", "response": { - "$ref": "UrlList" + "$ref": "MirroringEndpointGroup" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "list": { - "description": "Lists UrlLists in a given project and location.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/urlLists", + "description": "Lists MirroringEndpointGroups in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroups", "httpMethod": "GET", - "id": "networksecurity.projects.locations.urlLists.list", + "id": "networksecurity.projects.locations.mirroringEndpointGroups.list", "parameterOrder": [ "parent" ], "parameters": { + "filter": { + "description": "Optional. Filtering results", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Hint for how to order the results", + "location": "query", + "type": "string" + }, "pageSize": { - "description": "Maximum number of UrlLists to return per call.", + "description": "Optional. 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": "The value returned by the last `ListUrlListsResponse` Indicates that this is a continuation of a prior `ListUrlLists` call, and that the system should return the next page of data.", + "description": "Optional. A token identifying a page of results the server should return.", "location": "query", "type": "string" }, "parent": { - "description": "Required. The project and location from which the UrlLists should be listed, specified in the format `projects/{project}/locations/{location}`.", + "description": "Required. Parent value for ListMirroringEndpointGroupsRequest", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" } }, - "path": "v1beta1/{+parent}/urlLists", + "path": "v1beta1/{+parent}/mirroringEndpointGroups", "response": { - "$ref": "ListUrlListsResponse" + "$ref": "ListMirroringEndpointGroupsResponse" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] }, "patch": { - "description": "Updates the parameters of a single UrlList.", - "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/urlLists/{urlListsId}", + "description": "Updates a single MirroringEndpointGroup.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/mirroringEndpointGroups/{mirroringEndpointGroupsId}", "httpMethod": "PATCH", - "id": "networksecurity.projects.locations.urlLists.patch", + "id": "networksecurity.projects.locations.mirroringEndpointGroups.patch", "parameterOrder": [ "name" ], "parameters": { "name": { - "description": "Required. Name of the resource provided by the user. Name is of the form projects/{project}/locations/{location}/urlLists/{url_list} url_list should match the pattern:(^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$).", + "description": "Immutable. Identifier. Next ID: 11 The name of the MirroringEndpointGroup.", "location": "path", - "pattern": "^projects/[^/]+/locations/[^/]+/urlLists/[^/]+$", + "pattern": "^projects/[^/]+/locations/[^/]+/mirroringEndpointGroups/[^/]+$", "required": true, "type": "string" }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, "updateMask": { - "description": "Optional. Field mask is used to specify the fields to be overwritten in the UrlList resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "description": "Required. Field mask is used to specify the fields to be overwritten in the MirroringEndpointGroup resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", "format": "google-fieldmask", "location": "query", "type": "string" @@ -4143,7 +4185,7 @@ }, "path": "v1beta1/{+name}", "request": { - "$ref": "UrlList" + "$ref": "MirroringEndpointGroup" }, "response": { "$ref": "Operation" @@ -4153,161 +4195,1243 @@ ] } } - } - } - } - } - } - }, - "revision": "20240919", - "rootUrl": "https://networksecurity.googleapis.com/", - "schemas": { - "AddAddressGroupItemsRequest": { - "description": "Request used by the AddAddressGroupItems method.", - "id": "AddAddressGroupItemsRequest", - "properties": { - "items": { - "description": "Required. List of items to add.", - "items": { - "type": "string" - }, - "type": "array" - }, - "requestId": { - "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", - "type": "string" - } - }, - "type": "object" - }, - "AddressGroup": { - "description": "AddressGroup is a resource that specifies how a collection of IP/DNS used in Firewall Policy.", - "id": "AddressGroup", - "properties": { - "capacity": { - "description": "Required. Capacity of the Address Group", - "format": "int32", - "type": "integer" - }, - "createTime": { - "description": "Output only. The timestamp when the resource was created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "description": { - "description": "Optional. Free-text description of the resource.", - "type": "string" - }, - "items": { - "description": "Optional. List of items.", - "items": { - "type": "string" - }, - "type": "array" - }, - "labels": { - "additionalProperties": { - "type": "string" - }, - "description": "Optional. Set of label tags associated with the AddressGroup resource.", - "type": "object" - }, - "name": { - "description": "Required. Name of the AddressGroup resource. It matches pattern `projects/*/locations/{location}/addressGroups/`.", - "type": "string" - }, - "purpose": { - "description": "Optional. List of supported purposes of the Address Group.", - "items": { - "enum": [ - "PURPOSE_UNSPECIFIED", - "DEFAULT", - "CLOUD_ARMOR" - ], - "enumDescriptions": [ - "Default value. Should never happen.", - "Address Group is distributed to VMC, and is usable in Firewall Policies and other systems that rely on VMC.", - "Address Group is usable in Cloud Armor." - ], - "type": "string" - }, - "type": "array" - }, - "selfLink": { - "description": "Output only. Server-defined fully-qualified URL for this resource.", - "readOnly": true, - "type": "string" - }, - "type": { - "description": "Required. The type of the Address Group. Possible values are \"IPv4\" or \"IPV6\".", - "enum": [ - "TYPE_UNSPECIFIED", - "IPV4", - "IPV6" - ], - "enumDescriptions": [ - "Default value.", - "IP v4 ranges.", - "IP v6 ranges." - ], - "type": "string" - }, - "updateTime": { - "description": "Output only. The timestamp when the resource was updated.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "AuthorizationPolicy": { - "description": "AuthorizationPolicy is a resource that specifies how a server should authorize incoming connections. This resource in itself does not change the configuration unless it's attached to a target https proxy or endpoint config selector resource.", - "id": "AuthorizationPolicy", - "properties": { - "action": { - "description": "Required. The action to take when a rule match is found. Possible values are \"ALLOW\" or \"DENY\".", - "enum": [ - "ACTION_UNSPECIFIED", - "ALLOW", - "DENY" - ], - "enumDescriptions": [ - "Default value.", - "Grant access.", - "Deny access. Deny rules should be avoided unless they are used to provide a default \"deny all\" fallback." - ], - "type": "string" - }, - "createTime": { - "description": "Output only. The timestamp when the resource was created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "description": { - "description": "Optional. Free-text description of the resource.", - "type": "string" + }, + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "networksecurity.projects.locations.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "serverTlsPolicies": { + "methods": { + "create": { + "description": "Creates a new ServerTlsPolicy in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.serverTlsPolicies.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the ServerTlsPolicy. Must be in the format `projects/*/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "serverTlsPolicyId": { + "description": "Required. Short name of the ServerTlsPolicy resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. \"server_mtls_policy\".", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/serverTlsPolicies", + "request": { + "$ref": "ServerTlsPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single ServerTlsPolicy.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}", + "httpMethod": "DELETE", + "id": "networksecurity.projects.locations.serverTlsPolicies.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the ServerTlsPolicy to delete. Must be in the format `projects/*/locations/{location}/serverTlsPolicies/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single ServerTlsPolicy.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.serverTlsPolicies.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the ServerTlsPolicy to get. Must be in the format `projects/*/locations/{location}/serverTlsPolicies/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "ServerTlsPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}:getIamPolicy", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.serverTlsPolicies.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists ServerTlsPolicies in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.serverTlsPolicies.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of ServerTlsPolicies to return per call.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListServerTlsPoliciesResponse` Indicates that this is a continuation of a prior `ListServerTlsPolicies` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which the ServerTlsPolicies should be listed, specified in the format `projects/*/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/serverTlsPolicies", + "response": { + "$ref": "ListServerTlsPoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single ServerTlsPolicy.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}", + "httpMethod": "PATCH", + "id": "networksecurity.projects.locations.serverTlsPolicies.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the ServerTlsPolicy resource. It matches the pattern `projects/*/locations/{location}/serverTlsPolicies/{server_tls_policy}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to specify the fields to be overwritten in the ServerTlsPolicy resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "ServerTlsPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}:setIamPolicy", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.serverTlsPolicies.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may \"fail open\" without warning.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/serverTlsPolicies/{serverTlsPoliciesId}:testIamPermissions", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.serverTlsPolicies.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/serverTlsPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "tlsInspectionPolicies": { + "methods": { + "create": { + "description": "Creates a new TlsInspectionPolicy in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tlsInspectionPolicies", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.tlsInspectionPolicies.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the TlsInspectionPolicy. Must be in the format `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "tlsInspectionPolicyId": { + "description": "Required. Short name of the TlsInspectionPolicy resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. \"tls_inspection_policy1\".", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/tlsInspectionPolicies", + "request": { + "$ref": "TlsInspectionPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single TlsInspectionPolicy.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tlsInspectionPolicies/{tlsInspectionPoliciesId}", + "httpMethod": "DELETE", + "id": "networksecurity.projects.locations.tlsInspectionPolicies.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "force": { + "description": "If set to true, any rules for this TlsInspectionPolicy will also be deleted. (Otherwise, the request will only work if the TlsInspectionPolicy has no rules.)", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. A name of the TlsInspectionPolicy to delete. Must be in the format `projects/{project}/locations/{location}/tlsInspectionPolicies/{tls_inspection_policy}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/tlsInspectionPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single TlsInspectionPolicy.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tlsInspectionPolicies/{tlsInspectionPoliciesId}", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.tlsInspectionPolicies.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the TlsInspectionPolicy to get. Must be in the format `projects/{project}/locations/{location}/tlsInspectionPolicies/{tls_inspection_policy}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/tlsInspectionPolicies/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "TlsInspectionPolicy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists TlsInspectionPolicies in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tlsInspectionPolicies", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.tlsInspectionPolicies.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of TlsInspectionPolicies to return per call.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last 'ListTlsInspectionPoliciesResponse' Indicates that this is a continuation of a prior 'ListTlsInspectionPolicies' call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which the TlsInspectionPolicies should be listed, specified in the format `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/tlsInspectionPolicies", + "response": { + "$ref": "ListTlsInspectionPoliciesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single TlsInspectionPolicy.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/tlsInspectionPolicies/{tlsInspectionPoliciesId}", + "httpMethod": "PATCH", + "id": "networksecurity.projects.locations.tlsInspectionPolicies.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource. Name is of the form projects/{project}/locations/{location}/tlsInspectionPolicies/{tls_inspection_policy} tls_inspection_policy should match the pattern:(^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$).", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/tlsInspectionPolicies/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to specify the fields to be overwritten in the TlsInspectionPolicy resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "TlsInspectionPolicy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "urlLists": { + "methods": { + "create": { + "description": "Creates a new UrlList in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/urlLists", + "httpMethod": "POST", + "id": "networksecurity.projects.locations.urlLists.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the UrlList. Must be in the format `projects/*/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "urlListId": { + "description": "Required. Short name of the UrlList resource to be created. This value should be 1-63 characters long, containing only letters, numbers, hyphens, and underscores, and should not start with a number. E.g. \"url_list\".", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/urlLists", + "request": { + "$ref": "UrlList" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single UrlList.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/urlLists/{urlListsId}", + "httpMethod": "DELETE", + "id": "networksecurity.projects.locations.urlLists.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the UrlList to delete. Must be in the format `projects/*/locations/{location}/urlLists/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/urlLists/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single UrlList.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/urlLists/{urlListsId}", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.urlLists.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the UrlList to get. Must be in the format `projects/*/locations/{location}/urlLists/*`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/urlLists/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "UrlList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists UrlLists in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/urlLists", + "httpMethod": "GET", + "id": "networksecurity.projects.locations.urlLists.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of UrlLists to return per call.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListUrlListsResponse` Indicates that this is a continuation of a prior `ListUrlLists` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which the UrlLists should be listed, specified in the format `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/urlLists", + "response": { + "$ref": "ListUrlListsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single UrlList.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/urlLists/{urlListsId}", + "httpMethod": "PATCH", + "id": "networksecurity.projects.locations.urlLists.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource provided by the user. Name is of the form projects/{project}/locations/{location}/urlLists/{url_list} url_list should match the pattern:(^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$).", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/urlLists/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Field mask is used to specify the fields to be overwritten in the UrlList resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "UrlList" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20241208", + "rootUrl": "https://networksecurity.googleapis.com/", + "schemas": { + "AddAddressGroupItemsRequest": { + "description": "Request used by the AddAddressGroupItems method.", + "id": "AddAddressGroupItemsRequest", + "properties": { + "items": { + "description": "Required. List of items to add.", + "items": { + "type": "string" + }, + "type": "array" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "type": "string" + } + }, + "type": "object" + }, + "AddressGroup": { + "description": "AddressGroup is a resource that specifies how a collection of IP/DNS used in Firewall Policy.", + "id": "AddressGroup", + "properties": { + "capacity": { + "description": "Required. Capacity of the Address Group", + "format": "int32", + "type": "integer" + }, + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Free-text description of the resource.", + "type": "string" + }, + "items": { + "description": "Optional. List of items.", + "items": { + "type": "string" + }, + "type": "array" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Set of label tags associated with the AddressGroup resource.", + "type": "object" + }, + "name": { + "description": "Required. Name of the AddressGroup resource. It matches pattern `projects/*/locations/{location}/addressGroups/`.", + "type": "string" + }, + "purpose": { + "description": "Optional. List of supported purposes of the Address Group.", + "items": { + "enum": [ + "PURPOSE_UNSPECIFIED", + "DEFAULT", + "CLOUD_ARMOR" + ], + "enumDescriptions": [ + "Default value. Should never happen.", + "Address Group is distributed to VMC, and is usable in Firewall Policies and other systems that rely on VMC.", + "Address Group is usable in Cloud Armor." + ], + "type": "string" + }, + "type": "array" + }, + "selfLink": { + "description": "Output only. Server-defined fully-qualified URL for this resource.", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Required. The type of the Address Group. Possible values are \"IPv4\" or \"IPV6\".", + "enum": [ + "TYPE_UNSPECIFIED", + "IPV4", + "IPV6" + ], + "enumDescriptions": [ + "Default value.", + "IP v4 ranges.", + "IP v6 ranges." + ], + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AuthorizationPolicy": { + "description": "AuthorizationPolicy is a resource that specifies how a server should authorize incoming connections. This resource in itself does not change the configuration unless it's attached to a target https proxy or endpoint config selector resource.", + "id": "AuthorizationPolicy", + "properties": { + "action": { + "description": "Required. The action to take when a rule match is found. Possible values are \"ALLOW\" or \"DENY\".", + "enum": [ + "ACTION_UNSPECIFIED", + "ALLOW", + "DENY" + ], + "enumDescriptions": [ + "Default value.", + "Grant access.", + "Deny access. Deny rules should be avoided unless they are used to provide a default \"deny all\" fallback." + ], + "type": "string" + }, + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Free-text description of the resource.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Set of label tags associated with the AuthorizationPolicy resource.", + "type": "object" + }, + "name": { + "description": "Required. Name of the AuthorizationPolicy resource. It matches pattern `projects/{project}/locations/{location}/authorizationPolicies/`.", + "type": "string" + }, + "rules": { + "description": "Optional. List of rules to match. Note that at least one of the rules must match in order for the action specified in the 'action' field to be taken. A rule is a match if there is a matching source and destination. If left blank, the action specified in the `action` field will be applied on every request.", + "items": { + "$ref": "Rule" + }, + "type": "array" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AuthzPolicy": { + "description": "`AuthzPolicy` is a resource that allows to forward traffic to a callout backend designed to scan the traffic for security purposes.", + "id": "AuthzPolicy", + "properties": { + "action": { + "description": "Required. Can be one of `ALLOW`, `DENY`, `CUSTOM`. When the action is `CUSTOM`, `customProvider` must be specified. When the action is `ALLOW`, only requests matching the policy will be allowed. When the action is `DENY`, only requests matching the policy will be denied. When a request arrives, the policies are evaluated in the following order: 1. If there is a `CUSTOM` policy that matches the request, the `CUSTOM` policy is evaluated using the custom authorization providers and the request is denied if the provider rejects the request. 2. If there are any `DENY` policies that match the request, the request is denied. 3. If there are no `ALLOW` policies for the resource or if any of the `ALLOW` policies match the request, the request is allowed. 4. Else the request is denied by default if none of the configured AuthzPolicies with `ALLOW` action match the request.", + "enum": [ + "AUTHZ_ACTION_UNSPECIFIED", + "ALLOW", + "DENY", + "CUSTOM" + ], + "enumDescriptions": [ + "Unspecified action.", + "Allow request to pass through to the backend.", + "Deny the request and return a HTTP 404 to the client.", + "Delegate the authorization decision to an external authorization engine." + ], + "type": "string" + }, + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "customProvider": { + "$ref": "AuthzPolicyCustomProvider", + "description": "Optional. Required if the action is `CUSTOM`. Allows delegating authorization decisions to Cloud IAP or to Service Extensions. One of `cloudIap` or `authzExtension` must be specified." + }, + "description": { + "description": "Optional. A human-readable description of the resource.", + "type": "string" + }, + "httpRules": { + "description": "Optional. A list of authorization HTTP rules to match against the incoming request. A policy match occurs when at least one HTTP rule matches the request or when no HTTP rules are specified in the policy. At least one HTTP Rule is required for Allow or Deny Action. Limited to 5 rules.", + "items": { + "$ref": "AuthzPolicyAuthzRule" + }, + "type": "array" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Set of labels associated with the `AuthzPolicy` resource. The format must comply with [the following requirements](/compute/docs/labeling-resources#requirements).", + "type": "object" + }, + "name": { + "description": "Required. Identifier. Name of the `AuthzPolicy` resource in the following format: `projects/{project}/locations/{location}/authzPolicies/{authz_policy}`.", + "type": "string" + }, + "target": { + "$ref": "AuthzPolicyTarget", + "description": "Required. Specifies the set of resources to which this policy should be applied to." + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "AuthzPolicyAuthzRule": { + "description": "Conditions to match against the incoming request.", + "id": "AuthzPolicyAuthzRule", + "properties": { + "from": { + "$ref": "AuthzPolicyAuthzRuleFrom", + "description": "Optional. Describes properties of a source of a request." + }, + "to": { + "$ref": "AuthzPolicyAuthzRuleTo", + "description": "Optional. Describes properties of a target of a request." + }, + "when": { + "description": "Optional. CEL expression that describes the conditions to be satisfied for the action. The result of the CEL expression is ANDed with the from and to. Refer to the CEL language reference for a list of available attributes.", + "type": "string" + } + }, + "type": "object" + }, + "AuthzPolicyAuthzRuleFrom": { + "description": "Describes properties of one or more sources of a request.", + "id": "AuthzPolicyAuthzRuleFrom", + "properties": { + "notSources": { + "description": "Optional. Describes the negated properties of request sources. Matches requests from sources that do not match the criteria specified in this field. At least one of sources or notSources must be specified.", + "items": { + "$ref": "AuthzPolicyAuthzRuleFromRequestSource" + }, + "type": "array" + }, + "sources": { + "description": "Optional. Describes the properties of a request's sources. At least one of sources or notSources must be specified. Limited to 1 source. A match occurs when ANY source (in sources or notSources) matches the request. Within a single source, the match follows AND semantics across fields and OR semantics within a single field, i.e. a match occurs when ANY principal matches AND ANY ipBlocks match.", + "items": { + "$ref": "AuthzPolicyAuthzRuleFromRequestSource" + }, + "type": "array" + } + }, + "type": "object" + }, + "AuthzPolicyAuthzRuleFromRequestSource": { + "description": "Describes the properties of a single source.", + "id": "AuthzPolicyAuthzRuleFromRequestSource", + "properties": { + "principals": { + "description": "Optional. A list of identities derived from the client's certificate. This field will not match on a request unless mutual TLS is enabled for the Forwarding rule or Gateway. Each identity is a string whose value is matched against the URI SAN, or DNS SAN or the subject field in the client's certificate. The match can be exact, prefix, suffix or a substring match. One of exact, prefix, suffix or contains must be specified. Limited to 5 principals.", + "items": { + "$ref": "AuthzPolicyAuthzRuleStringMatch" + }, + "type": "array" + }, + "resources": { + "description": "Optional. A list of resources to match against the resource of the source VM of a request. Limited to 5 resources.", + "items": { + "$ref": "AuthzPolicyAuthzRuleRequestResource" + }, + "type": "array" + } + }, + "type": "object" + }, + "AuthzPolicyAuthzRuleHeaderMatch": { + "description": "Determines how a HTTP header should be matched.", + "id": "AuthzPolicyAuthzRuleHeaderMatch", + "properties": { + "name": { + "description": "Optional. Specifies the name of the header in the request.", + "type": "string" + }, + "value": { + "$ref": "AuthzPolicyAuthzRuleStringMatch", + "description": "Optional. Specifies how the header match will be performed." + } + }, + "type": "object" + }, + "AuthzPolicyAuthzRuleRequestResource": { + "description": "Describes the properties of a client VM resource accessing the internal application load balancers.", + "id": "AuthzPolicyAuthzRuleRequestResource", + "properties": { + "iamServiceAccount": { + "$ref": "AuthzPolicyAuthzRuleStringMatch", + "description": "Optional. An IAM service account to match against the source service account of the VM sending the request." + }, + "tagValueIdSet": { + "$ref": "AuthzPolicyAuthzRuleRequestResourceTagValueIdSet", + "description": "Optional. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request." + } + }, + "type": "object" + }, + "AuthzPolicyAuthzRuleRequestResourceTagValueIdSet": { + "description": "Describes a set of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request.", + "id": "AuthzPolicyAuthzRuleRequestResourceTagValueIdSet", + "properties": { + "ids": { + "description": "Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 5 matches.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AuthzPolicyAuthzRuleStringMatch": { + "description": "Determines how a string value should be matched.", + "id": "AuthzPolicyAuthzRuleStringMatch", + "properties": { + "contains": { + "description": "The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``", + "type": "string" + }, + "exact": { + "description": "The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.", + "type": "string" + }, + "ignoreCase": { + "description": "If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.", + "type": "boolean" + }, + "prefix": { + "description": "The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz``", + "type": "string" + }, + "suffix": { + "description": "The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``", + "type": "string" + } + }, + "type": "object" + }, + "AuthzPolicyAuthzRuleTo": { + "description": "Describes properties of one or more targets of a request.", + "id": "AuthzPolicyAuthzRuleTo", + "properties": { + "notOperations": { + "description": "Optional. Describes the negated properties of the targets of a request. Matches requests for operations that do not match the criteria specified in this field. At least one of operations or notOperations must be specified.", + "items": { + "$ref": "AuthzPolicyAuthzRuleToRequestOperation" + }, + "type": "array" + }, + "operations": { + "description": "Optional. Describes properties of one or more targets of a request. At least one of operations or notOperations must be specified. Limited to 1 operation. A match occurs when ANY operation (in operations or notOperations) matches. Within an operation, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches.", + "items": { + "$ref": "AuthzPolicyAuthzRuleToRequestOperation" + }, + "type": "array" + } + }, + "type": "object" + }, + "AuthzPolicyAuthzRuleToRequestOperation": { + "description": "Describes properties of one or more targets of a request.", + "id": "AuthzPolicyAuthzRuleToRequestOperation", + "properties": { + "headerSet": { + "$ref": "AuthzPolicyAuthzRuleToRequestOperationHeaderSet", + "description": "Optional. A list of headers to match against in http header." + }, + "hosts": { + "description": "Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches.", + "items": { + "$ref": "AuthzPolicyAuthzRuleStringMatch" + }, + "type": "array" + }, + "methods": { + "description": "Optional. A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive.", + "items": { + "type": "string" + }, + "type": "array" + }, + "paths": { + "description": "Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method.", + "items": { + "$ref": "AuthzPolicyAuthzRuleStringMatch" + }, + "type": "array" + } + }, + "type": "object" + }, + "AuthzPolicyAuthzRuleToRequestOperationHeaderSet": { + "description": "Describes a set of HTTP headers to match against.", + "id": "AuthzPolicyAuthzRuleToRequestOperationHeaderSet", + "properties": { + "headers": { + "description": "Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches.", + "items": { + "$ref": "AuthzPolicyAuthzRuleHeaderMatch" + }, + "type": "array" + } + }, + "type": "object" + }, + "AuthzPolicyCustomProvider": { + "description": "Allows delegating authorization decisions to Cloud IAP or to Service Extensions.", + "id": "AuthzPolicyCustomProvider", + "properties": { + "authzExtension": { + "$ref": "AuthzPolicyCustomProviderAuthzExtension", + "description": "Optional. Delegate authorization decision to user authored Service Extension. Only one of cloudIap or authzExtension can be specified." + }, + "cloudIap": { + "$ref": "AuthzPolicyCustomProviderCloudIap", + "description": "Optional. Delegates authorization decisions to Cloud IAP. Applicable only for managed load balancers. Enabling Cloud IAP at the AuthzPolicy level is not compatible with Cloud IAP settings in the BackendService. Enabling IAP in both places will result in request failure. Ensure that IAP is enabled in either the AuthzPolicy or the BackendService but not in both places." + } + }, + "type": "object" + }, + "AuthzPolicyCustomProviderAuthzExtension": { + "description": "Optional. Delegate authorization decision to user authored extension. Only one of cloudIap or authzExtension can be specified.", + "id": "AuthzPolicyCustomProviderAuthzExtension", + "properties": { + "resources": { + "description": "Required. A list of references to authorization extensions that will be invoked for requests matching this policy. Limited to 1 custom provider.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "AuthzPolicyCustomProviderCloudIap": { + "description": "Optional. Delegates authorization decisions to Cloud IAP. Applicable only for managed load balancers. Enabling Cloud IAP at the AuthzPolicy level is not compatible with Cloud IAP settings in the BackendService. Enabling IAP in both places will result in request failure. Ensure that IAP is enabled in either the AuthzPolicy or the BackendService but not in both places.", + "id": "AuthzPolicyCustomProviderCloudIap", + "properties": {}, + "type": "object" + }, + "AuthzPolicyTarget": { + "description": "Specifies the set of targets to which this policy should be applied to.", + "id": "AuthzPolicyTarget", + "properties": { + "loadBalancingScheme": { + "description": "Required. All gateways and forwarding rules referenced by this policy and extensions must share the same load balancing scheme. Supported values: `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service).", + "enum": [ + "LOAD_BALANCING_SCHEME_UNSPECIFIED", + "INTERNAL_MANAGED", + "EXTERNAL_MANAGED", + "INTERNAL_SELF_MANAGED" + ], + "enumDescriptions": [ + "Default value. Do not use.", + "Signifies that this is used for Regional internal or Cross-region internal Application Load Balancing.", + "Signifies that this is used for Global external or Regional external Application Load Balancing.", + "Signifies that this is used for Cloud Service Mesh. Meant for use by CSM GKE controller only." + ], + "type": "string" + }, + "resources": { + "description": "Required. A list of references to the Forwarding Rules on which this policy will be applied.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "CertificateProviderInstance": { + "description": "Specification of a TLS certificate provider instance. Workloads may have one or more CertificateProvider instances (plugins) and one of them is enabled and configured by specifying this message. Workloads use the values from this message to locate and load the CertificateProvider instance configuration.", + "id": "CertificateProviderInstance", + "properties": { + "pluginInstance": { + "description": "Required. Plugin instance name, used to locate and load CertificateProvider instance configuration. Set to \"google_cloud_private_spiffe\" to use Certificate Authority Service certificate provider instance.", + "type": "string" + } + }, + "type": "object" + }, + "ClientTlsPolicy": { + "description": "ClientTlsPolicy is a resource that specifies how a client should authenticate connections to backends of a service. This resource itself does not affect configuration unless it is attached to a backend service resource.", + "id": "ClientTlsPolicy", + "properties": { + "clientCertificate": { + "$ref": "GoogleCloudNetworksecurityV1beta1CertificateProvider", + "description": "Optional. Defines a mechanism to provision client identity (public and private keys) for peer to peer authentication. The presence of this dictates mTLS." + }, + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Free-text description of the resource.", + "type": "string" }, "labels": { "additionalProperties": { "type": "string" }, - "description": "Optional. Set of label tags associated with the AuthorizationPolicy resource.", + "description": "Optional. Set of label tags associated with the resource.", "type": "object" }, "name": { - "description": "Required. Name of the AuthorizationPolicy resource. It matches pattern `projects/{project}/locations/{location}/authorizationPolicies/`.", + "description": "Required. Name of the ClientTlsPolicy resource. It matches the pattern `projects/*/locations/{location}/clientTlsPolicies/{client_tls_policy}`", "type": "string" }, - "rules": { - "description": "Optional. List of rules to match. Note that at least one of the rules must match in order for the action specified in the 'action' field to be taken. A rule is a match if there is a matching source and destination. If left blank, the action specified in the `action` field will be applied on every request.", + "serverValidationCa": { + "description": "Optional. Defines the mechanism to obtain the Certificate Authority certificate to validate the server certificate. If empty, client does not validate the server certificate.", "items": { - "$ref": "Rule" + "$ref": "ValidationCA" }, "type": "array" }, + "sni": { + "description": "Optional. Server Name Indication string to present to the server during TLS handshake. E.g: \"secure.example.com\".", + "type": "string" + }, "updateTime": { "description": "Output only. The timestamp when the resource was updated.", "format": "google-datetime", @@ -4317,64 +5441,249 @@ }, "type": "object" }, - "AuthzPolicy": { - "description": "`AuthzPolicy` is a resource that allows to forward traffic to a callout backend designed to scan the traffic for security purposes.", - "id": "AuthzPolicy", + "CloneAddressGroupItemsRequest": { + "description": "Request used by the CloneAddressGroupItems method.", + "id": "CloneAddressGroupItemsRequest", "properties": { - "action": { - "description": "Required. Can be one of `ALLOW`, `DENY`, `CUSTOM`. When the action is `CUSTOM`, `customProvider` must be specified. When the action is `ALLOW`, only requests matching the policy will be allowed. When the action is `DENY`, only requests matching the policy will be denied. When a request arrives, the policies are evaluated in the following order: 1. If there is a `CUSTOM` policy that matches the request, the `CUSTOM` policy is evaluated using the custom authorization providers and the request is denied if the provider rejects the request. 2. If there are any `DENY` policies that match the request, the request is denied. 3. If there are no `ALLOW` policies for the resource or if any of the `ALLOW` policies match the request, the request is allowed. 4. Else the request is denied by default if none of the configured AuthzPolicies with `ALLOW` action match the request.", + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "type": "string" + }, + "sourceAddressGroup": { + "description": "Required. Source address group to clone items from.", + "type": "string" + } + }, + "type": "object" + }, + "CustomInterceptProfile": { + "description": "CustomInterceptProfile defines the Packet Intercept Endpoint Group used to intercept traffic to a third-party firewall in a Firewall rule.", + "id": "CustomInterceptProfile", + "properties": { + "interceptEndpointGroup": { + "description": "Required. The InterceptEndpointGroup to which traffic associated with the SP should be mirrored.", + "type": "string" + } + }, + "type": "object" + }, + "CustomMirroringProfile": { + "description": "CustomMirroringProfile defines an action for mirroring traffic to a collector's EndpointGroup", + "id": "CustomMirroringProfile", + "properties": { + "mirroringEndpointGroup": { + "description": "Required. The MirroringEndpointGroup to which traffic associated with the SP should be mirrored.", + "type": "string" + } + }, + "type": "object" + }, + "Destination": { + "description": "Specification of traffic destination attributes.", + "id": "Destination", + "properties": { + "hosts": { + "description": "Required. List of host names to match. Matched against the \":authority\" header in http requests. At least one host should match. Each host can be an exact match, or a prefix match (example \"mydomain.*\") or a suffix match (example \"*.myorg.com\") or a presence (any) match \"*\".", + "items": { + "type": "string" + }, + "type": "array" + }, + "httpHeaderMatch": { + "$ref": "HttpHeaderMatch", + "description": "Optional. Match against key:value pair in http header. Provides a flexible match based on HTTP headers, for potentially advanced use cases. At least one header should match. Avoid using header matches to make authorization decisions unless there is a strong guarantee that requests arrive through a trusted client or proxy." + }, + "methods": { + "description": "Optional. A list of HTTP methods to match. At least one method should match. Should not be set for gRPC services.", + "items": { + "type": "string" + }, + "type": "array" + }, + "ports": { + "description": "Required. List of destination ports to match. At least one port should match.", + "items": { + "format": "uint32", + "type": "integer" + }, + "type": "array" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", + "id": "Expr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language syntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", + "type": "string" + } + }, + "type": "object" + }, + "FirewallEndpoint": { + "description": "Message describing Endpoint object", + "id": "FirewallEndpoint", + "properties": { + "associatedNetworks": { + "deprecated": true, + "description": "Output only. List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "associations": { + "description": "Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured.", + "items": { + "$ref": "FirewallEndpointAssociationReference" + }, + "readOnly": true, + "type": "array" + }, + "billingProjectId": { + "description": "Required. Project to bill on endpoint uptime usage.", + "type": "string" + }, + "createTime": { + "description": "Output only. Create time stamp", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Description of the firewall endpoint. Max length 2048 characters.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels as key value pairs", + "type": "object" + }, + "name": { + "description": "Immutable. Identifier. name of resource", + "type": "string" + }, + "reconciling": { + "description": "Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128.", + "readOnly": true, + "type": "boolean" + }, + "state": { + "description": "Output only. Current state of the endpoint.", "enum": [ - "AUTHZ_ACTION_UNSPECIFIED", - "ALLOW", - "DENY", - "CUSTOM" + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "DELETING", + "INACTIVE" ], "enumDescriptions": [ - "Unspecified action.", - "Allow request to pass through to the backend.", - "Deny the request and return a HTTP 404 to the client.", - "Delegate the authorization decision to an external authorization engine." + "Not set.", + "Being created.", + "Processing configuration updates.", + "Being deleted.", + "Down or in an error state." ], + "readOnly": true, "type": "string" }, + "updateTime": { + "description": "Output only. Update time stamp", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "FirewallEndpointAssociation": { + "description": "Message describing Association object", + "id": "FirewallEndpointAssociation", + "properties": { "createTime": { - "description": "Output only. The timestamp when the resource was created.", + "description": "Output only. Create time stamp", "format": "google-datetime", "readOnly": true, "type": "string" }, - "customProvider": { - "$ref": "AuthzPolicyCustomProvider", - "description": "Optional. Required if the action is `CUSTOM`. Allows delegating authorization decisions to Cloud IAP or to Service Extensions. One of `cloudIap` or `authzExtension` must be specified." + "disabled": { + "description": "Optional. Whether the association is disabled. True indicates that traffic won't be intercepted", + "type": "boolean" }, - "description": { - "description": "Optional. A human-readable description of the resource.", + "firewallEndpoint": { + "description": "Required. The URL of the FirewallEndpoint that is being associated.", "type": "string" }, - "httpRules": { - "description": "Optional. A list of authorization HTTP rules to match against the incoming request. A policy match occurs when at least one HTTP rule matches the request or when no HTTP rules are specified in the policy. At least one HTTP Rule is required for Allow or Deny Action. Limited to 5 rules.", - "items": { - "$ref": "AuthzPolicyAuthzRule" - }, - "type": "array" - }, "labels": { "additionalProperties": { "type": "string" }, - "description": "Optional. Set of labels associated with the `AuthzPolicy` resource. The format must comply with [the following requirements](/compute/docs/labeling-resources#requirements).", + "description": "Optional. Labels as key value pairs", "type": "object" }, - "name": { - "description": "Required. Identifier. Name of the `AuthzPolicy` resource in the following format: `projects/{project}/locations/{location}/authzPolicies/{authz_policy}`.", + "name": { + "description": "Immutable. Identifier. name of resource", + "type": "string" + }, + "network": { + "description": "Required. The URL of the network that is being associated.", + "type": "string" + }, + "reconciling": { + "description": "Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128.", + "readOnly": true, + "type": "boolean" + }, + "state": { + "description": "Output only. Current state of the association.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "DELETING", + "INACTIVE", + "ORPHAN" + ], + "enumDescriptions": [ + "Not set.", + "Being created.", + "Active and ready for traffic.", + "Being deleted.", + "Down or in an error state.", + "The project that housed the association has been deleted." + ], + "readOnly": true, "type": "string" }, - "target": { - "$ref": "AuthzPolicyTarget", - "description": "Required. Specifies the set of resources to which this policy should be applied to." + "tlsInspectionPolicy": { + "description": "Optional. The URL of the TlsInspectionPolicy that is being associated.", + "type": "string" }, "updateTime": { - "description": "Output only. The timestamp when the resource was updated.", + "description": "Output only. Update time stamp", "format": "google-datetime", "readOnly": true, "type": "string" @@ -4382,458 +5691,318 @@ }, "type": "object" }, - "AuthzPolicyAuthzRule": { - "description": "Conditions to match against the incoming request.", - "id": "AuthzPolicyAuthzRule", + "FirewallEndpointAssociationReference": { + "description": "This is a subset of the FirewallEndpointAssociation message, containing fields to be used by the consumer.", + "id": "FirewallEndpointAssociationReference", "properties": { - "from": { - "$ref": "AuthzPolicyAuthzRuleFrom", - "description": "Optional. Describes properties of one or more sources of a request." - }, - "to": { - "$ref": "AuthzPolicyAuthzRuleTo", - "description": "Optional. Describes properties of one or more targets of a request." + "name": { + "description": "Output only. The resource name of the FirewallEndpointAssociation. Format: projects/{project}/locations/{location}/firewallEndpointAssociations/{id}", + "readOnly": true, + "type": "string" }, - "when": { - "description": "Optional. CEL expression that describes the conditions to be satisfied for the action. The result of the CEL expression is ANDed with the from and to. Refer to the CEL language reference for a list of available attributes.", + "network": { + "description": "Output only. The VPC network associated. Format: projects/{project}/global/networks/{name}.", + "readOnly": true, "type": "string" } }, "type": "object" }, - "AuthzPolicyAuthzRuleFrom": { - "description": "Describes properties of one or more sources of a request.", - "id": "AuthzPolicyAuthzRuleFrom", + "GatewaySecurityPolicy": { + "description": "The GatewaySecurityPolicy resource contains a collection of GatewaySecurityPolicyRules and associated metadata.", + "id": "GatewaySecurityPolicy", "properties": { - "notSources": { - "description": "Optional. Describes the negated properties of request sources. Matches requests from sources that do not match the criteria specified in this field. At least one of sources or notSources must be specified.", - "items": { - "$ref": "AuthzPolicyAuthzRuleFromRequestSource" - }, - "type": "array" + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" }, - "sources": { - "description": "Optional. Describes the properties of a request's sources. At least one of sources or notSources must be specified. Limited to 5 sources. A match occurs when ANY source (in sources or notSources) matches the request. Within a single source, the match follows AND semantics across fields and OR semantics within a single field, i.e. a match occurs when ANY principal matches AND ANY ipBlocks match.", - "items": { - "$ref": "AuthzPolicyAuthzRuleFromRequestSource" - }, - "type": "array" - } - }, - "type": "object" - }, - "AuthzPolicyAuthzRuleFromRequestSource": { - "description": "Describes the properties of a single source.", - "id": "AuthzPolicyAuthzRuleFromRequestSource", - "properties": { - "principals": { - "description": "Optional. A list of identities derived from the client's certificate. This field will not match on a request unless mutual TLS is enabled for the Forwarding rule or Gateway. Each identity is a string whose value is matched against the URI SAN, or DNS SAN or the subject field in the client's certificate. The match can be exact, prefix, suffix or a substring match. One of exact, prefix, suffix or contains must be specified. Limited to 5 principals.", - "items": { - "$ref": "AuthzPolicyAuthzRuleStringMatch" - }, - "type": "array" + "description": { + "description": "Optional. Free-text description of the resource.", + "type": "string" }, - "resources": { - "description": "Optional. A list of resources to match against the resource of the source VM of a request. Limited to 5 resources.", - "items": { - "$ref": "AuthzPolicyAuthzRuleRequestResource" - }, - "type": "array" - } - }, - "type": "object" - }, - "AuthzPolicyAuthzRuleHeaderMatch": { - "description": "Determines how a HTTP header should be matched.", - "id": "AuthzPolicyAuthzRuleHeaderMatch", - "properties": { "name": { - "description": "Optional. Specifies the name of the header in the request.", + "description": "Required. Name of the resource. Name is of the form projects/{project}/locations/{location}/gatewaySecurityPolicies/{gateway_security_policy} gateway_security_policy should match the pattern:(^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$).", "type": "string" }, - "value": { - "$ref": "AuthzPolicyAuthzRuleStringMatch", - "description": "Optional. Specifies how the header match will be performed." - } - }, - "type": "object" - }, - "AuthzPolicyAuthzRuleRequestResource": { - "description": "Describes the properties of a client VM resource accessing the internal application load balancers.", - "id": "AuthzPolicyAuthzRuleRequestResource", - "properties": { - "iamServiceAccount": { - "$ref": "AuthzPolicyAuthzRuleStringMatch", - "description": "Optional. An IAM service account to match against the source service account of the VM sending the request." + "tlsInspectionPolicy": { + "description": "Optional. Name of a TLS Inspection Policy resource that defines how TLS inspection will be performed for any rule(s) which enables it.", + "type": "string" }, - "tagValueIdSet": { - "$ref": "AuthzPolicyAuthzRuleRequestResourceTagValueIdSet", - "description": "Optional. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request." - } - }, - "type": "object" - }, - "AuthzPolicyAuthzRuleRequestResourceTagValueIdSet": { - "description": "Describes a set of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request.", - "id": "AuthzPolicyAuthzRuleRequestResourceTagValueIdSet", - "properties": { - "ids": { - "description": "Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 5 matches.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" + "updateTime": { + "description": "Output only. The timestamp when the resource was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" } }, "type": "object" }, - "AuthzPolicyAuthzRuleStringMatch": { - "description": "Determines how a string value should be matched.", - "id": "AuthzPolicyAuthzRuleStringMatch", + "GatewaySecurityPolicyRule": { + "description": "The GatewaySecurityPolicyRule resource is in a nested collection within a GatewaySecurityPolicy and represents a traffic matching condition and associated action to perform.", + "id": "GatewaySecurityPolicyRule", "properties": { - "contains": { - "description": "The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def``", + "applicationMatcher": { + "description": "Optional. CEL expression for matching on L7/application level criteria.", "type": "string" }, - "exact": { - "description": "The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``.", + "basicProfile": { + "description": "Required. Profile which tells what the primitive action should be.", + "enum": [ + "BASIC_PROFILE_UNSPECIFIED", + "ALLOW", + "DENY" + ], + "enumDescriptions": [ + "If there is not a mentioned action for the target.", + "Allow the matched traffic.", + "Deny the matched traffic." + ], "type": "string" }, - "ignoreCase": { - "description": "If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true.", + "createTime": { + "description": "Output only. Time when the rule was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Free-text description of the resource.", + "type": "string" + }, + "enabled": { + "description": "Required. Whether the rule is enforced.", "type": "boolean" }, - "prefix": { - "description": "The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz``", + "name": { + "description": "Required. Immutable. Name of the resource. ame is the full resource name so projects/{project}/locations/{location}/gatewaySecurityPolicies/{gateway_security_policy}/rules/{rule} rule should match the pattern: (^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$).", "type": "string" }, - "suffix": { - "description": "The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc``", + "priority": { + "description": "Required. Priority of the rule. Lower number corresponds to higher precedence.", + "format": "int32", + "type": "integer" + }, + "sessionMatcher": { + "description": "Required. CEL expression for matching on session criteria.", "type": "string" - } - }, - "type": "object" - }, - "AuthzPolicyAuthzRuleTo": { - "description": "Describes properties of one or more targets of a request.", - "id": "AuthzPolicyAuthzRuleTo", - "properties": { - "notOperations": { - "description": "Optional. Describes the negated properties of the targets of a request. Matches requests for operations that do not match the criteria specified in this field. At least one of operations or notOperations must be specified.", - "items": { - "$ref": "AuthzPolicyAuthzRuleToRequestOperation" - }, - "type": "array" }, - "operations": { - "description": "Optional. Describes properties of one or more targets of a request. At least one of operations or notOperations must be specified. Limited to 5 operations. A match occurs when ANY operation (in operations or notOperations) matches. Within an operation, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches.", - "items": { - "$ref": "AuthzPolicyAuthzRuleToRequestOperation" - }, - "type": "array" + "tlsInspectionEnabled": { + "description": "Optional. Flag to enable TLS inspection of traffic matching on , can only be true if the parent GatewaySecurityPolicy references a TLSInspectionConfig.", + "type": "boolean" + }, + "updateTime": { + "description": "Output only. Time when the rule was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" } }, "type": "object" }, - "AuthzPolicyAuthzRuleToRequestOperation": { - "description": "Describes properties of one or more targets of a request.", - "id": "AuthzPolicyAuthzRuleToRequestOperation", + "GoogleCloudNetworksecurityV1beta1CertificateProvider": { + "description": "Specification of certificate provider. Defines the mechanism to obtain the certificate and private key for peer to peer authentication.", + "id": "GoogleCloudNetworksecurityV1beta1CertificateProvider", "properties": { - "headerSet": { - "$ref": "AuthzPolicyAuthzRuleToRequestOperationHeaderSet", - "description": "Optional. A list of headers to match against in http header." - }, - "hosts": { - "description": "Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches.", - "items": { - "$ref": "AuthzPolicyAuthzRuleStringMatch" - }, - "type": "array" - }, - "methods": { - "description": "Optional. A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive.", - "items": { - "type": "string" - }, - "type": "array" + "certificateProviderInstance": { + "$ref": "CertificateProviderInstance", + "description": "The certificate provider instance specification that will be passed to the data plane, which will be used to load necessary credential information." }, - "paths": { - "description": "Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method.", - "items": { - "$ref": "AuthzPolicyAuthzRuleStringMatch" - }, - "type": "array" + "grpcEndpoint": { + "$ref": "GoogleCloudNetworksecurityV1beta1GrpcEndpoint", + "description": "gRPC specific configuration to access the gRPC server to obtain the cert and private key." } }, "type": "object" }, - "AuthzPolicyAuthzRuleToRequestOperationHeaderSet": { - "description": "Describes a set of HTTP headers to match against.", - "id": "AuthzPolicyAuthzRuleToRequestOperationHeaderSet", + "GoogleCloudNetworksecurityV1beta1GrpcEndpoint": { + "description": "Specification of the GRPC Endpoint.", + "id": "GoogleCloudNetworksecurityV1beta1GrpcEndpoint", "properties": { - "headers": { - "description": "Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches.", - "items": { - "$ref": "AuthzPolicyAuthzRuleHeaderMatch" - }, - "type": "array" + "targetUri": { + "description": "Required. The target URI of the gRPC endpoint. Only UDS path is supported, and should start with \"unix:\".", + "type": "string" } }, "type": "object" }, - "AuthzPolicyCustomProvider": { - "description": "Allows delegating authorization decisions to Cloud IAP or to Service Extensions.", - "id": "AuthzPolicyCustomProvider", + "GoogleIamV1AuditConfig": { + "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", + "id": "GoogleIamV1AuditConfig", "properties": { - "authzExtension": { - "$ref": "AuthzPolicyCustomProviderAuthzExtension", - "description": "Optional. Delegate authorization decision to user authored Service Extension. Only one of cloudIap or authzExtension can be specified." + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "GoogleIamV1AuditLogConfig" + }, + "type": "array" }, - "cloudIap": { - "$ref": "AuthzPolicyCustomProviderCloudIap", - "description": "Optional. Delegates authorization decisions to Cloud IAP. Applicable only for managed load balancers. Enabling Cloud IAP at the AuthzPolicy level is not compatible with Cloud IAP settings in the BackendService. Enabling IAP in both places will result in request failure. Ensure that IAP is enabled in either the AuthzPolicy or the BackendService but not in both places." + "service": { + "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", + "type": "string" } }, "type": "object" }, - "AuthzPolicyCustomProviderAuthzExtension": { - "description": "Optional. Delegate authorization decision to user authored extension. Only one of cloudIap or authzExtension can be specified.", - "id": "AuthzPolicyCustomProviderAuthzExtension", + "GoogleIamV1AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", + "id": "GoogleIamV1AuditLogConfig", "properties": { - "resources": { - "description": "Required. A list of references to authorization extensions that will be invoked for requests matching this policy. Limited to 1 custom provider.", + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", "items": { "type": "string" }, "type": "array" - } - }, - "type": "object" - }, - "AuthzPolicyCustomProviderCloudIap": { - "description": "Optional. Delegates authorization decisions to Cloud IAP. Applicable only for managed load balancers. Enabling Cloud IAP at the AuthzPolicy level is not compatible with Cloud IAP settings in the BackendService. Enabling IAP in both places will result in request failure. Ensure that IAP is enabled in either the AuthzPolicy or the BackendService but not in both places.", - "id": "AuthzPolicyCustomProviderCloudIap", - "properties": {}, - "type": "object" - }, - "AuthzPolicyTarget": { - "description": "Specifies the set of targets to which this policy should be applied to.", - "id": "AuthzPolicyTarget", - "properties": { - "loadBalancingScheme": { - "description": "Required. All gateways and forwarding rules referenced by this policy and extensions must share the same load balancing scheme. Supported values: `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service).", + }, + "logType": { + "description": "The log type that this config enables.", "enum": [ - "LOAD_BALANCING_SCHEME_UNSPECIFIED", - "INTERNAL_MANAGED", - "EXTERNAL_MANAGED", - "INTERNAL_SELF_MANAGED" + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" ], "enumDescriptions": [ - "Default value. Do not use.", - "Signifies that this is used for Regional internal or Cross-region internal Application Load Balancing.", - "Signifies that this is used for Global external or Regional external Application Load Balancing.", - "Signifies that this is used for Cloud Service Mesh. Meant for use by CSM GKE controller only." + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" ], "type": "string" - }, - "resources": { - "description": "Required. A list of references to the Forwarding Rules on which this policy will be applied.", - "items": { - "type": "string" - }, - "type": "array" } }, "type": "object" }, - "CancelOperationRequest": { - "description": "The request message for Operations.CancelOperation.", - "id": "CancelOperationRequest", - "properties": {}, - "type": "object" - }, - "CertificateProviderInstance": { - "description": "Specification of a TLS certificate provider instance. Workloads may have one or more CertificateProvider instances (plugins) and one of them is enabled and configured by specifying this message. Workloads use the values from this message to locate and load the CertificateProvider instance configuration.", - "id": "CertificateProviderInstance", + "GoogleIamV1Binding": { + "description": "Associates `members`, or principals, with a `role`.", + "id": "GoogleIamV1Binding", "properties": { - "pluginInstance": { - "description": "Required. Plugin instance name, used to locate and load CertificateProvider instance configuration. Set to \"google_cloud_private_spiffe\" to use Certificate Authority Service certificate provider instance.", + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", "type": "string" } }, "type": "object" }, - "ClientTlsPolicy": { - "description": "ClientTlsPolicy is a resource that specifies how a client should authenticate connections to backends of a service. This resource itself does not affect configuration unless it is attached to a backend service resource.", - "id": "ClientTlsPolicy", + "GoogleIamV1Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "GoogleIamV1Policy", "properties": { - "clientCertificate": { - "$ref": "GoogleCloudNetworksecurityV1beta1CertificateProvider", - "description": "Optional. Defines a mechanism to provision client identity (public and private keys) for peer to peer authentication. The presence of this dictates mTLS." - }, - "createTime": { - "description": "Output only. The timestamp when the resource was created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "description": { - "description": "Optional. Free-text description of the resource.", - "type": "string" - }, - "labels": { - "additionalProperties": { - "type": "string" + "auditConfigs": { + "description": "Specifies cloud audit logging configuration for this policy.", + "items": { + "$ref": "GoogleIamV1AuditConfig" }, - "description": "Optional. Set of label tags associated with the resource.", - "type": "object" - }, - "name": { - "description": "Required. Name of the ClientTlsPolicy resource. It matches the pattern `projects/*/locations/{location}/clientTlsPolicies/{client_tls_policy}`", - "type": "string" + "type": "array" }, - "serverValidationCa": { - "description": "Optional. Defines the mechanism to obtain the Certificate Authority certificate to validate the server certificate. If empty, client does not validate the server certificate.", + "bindings": { + "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", "items": { - "$ref": "ValidationCA" + "$ref": "GoogleIamV1Binding" }, "type": "array" }, - "sni": { - "description": "Optional. Server Name Indication string to present to the server during TLS handshake. E.g: \"secure.example.com\".", + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", + "format": "byte", "type": "string" }, - "updateTime": { - "description": "Output only. The timestamp when the resource was updated.", - "format": "google-datetime", - "readOnly": true, - "type": "string" + "version": { + "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" } }, "type": "object" }, - "CloneAddressGroupItemsRequest": { - "description": "Request used by the CloneAddressGroupItems method.", - "id": "CloneAddressGroupItemsRequest", + "GoogleIamV1SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "id": "GoogleIamV1SetIamPolicyRequest", "properties": { - "requestId": { - "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", - "type": "string" + "policy": { + "$ref": "GoogleIamV1Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them." }, - "sourceAddressGroup": { - "description": "Required. Source address group to clone items from.", + "updateMask": { + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`", + "format": "google-fieldmask", "type": "string" } }, "type": "object" }, - "CustomMirroringProfile": { - "description": "CustomMirroringProfile defines an action for mirroring traffic to a collector's EndpointGroup", - "id": "CustomMirroringProfile", + "GoogleIamV1TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "GoogleIamV1TestIamPermissionsRequest", "properties": { - "mirroringEndpointGroup": { - "description": "Required. The MirroringEndpointGroup to which traffic associated with the SP should be mirrored.", - "type": "string" + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" }, - "Destination": { - "description": "Specification of traffic destination attributes.", - "id": "Destination", + "GoogleIamV1TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "GoogleIamV1TestIamPermissionsResponse", "properties": { - "hosts": { - "description": "Required. List of host names to match. Matched against the \":authority\" header in http requests. At least one host should match. Each host can be an exact match, or a prefix match (example \"mydomain.*\") or a suffix match (example \"*.myorg.com\") or a presence (any) match \"*\".", - "items": { - "type": "string" - }, - "type": "array" - }, - "httpHeaderMatch": { - "$ref": "HttpHeaderMatch", - "description": "Optional. Match against key:value pair in http header. Provides a flexible match based on HTTP headers, for potentially advanced use cases. At least one header should match. Avoid using header matches to make authorization decisions unless there is a strong guarantee that requests arrive through a trusted client or proxy." - }, - "methods": { - "description": "Optional. A list of HTTP methods to match. At least one method should match. Should not be set for gRPC services.", + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", "items": { "type": "string" }, "type": "array" - }, - "ports": { - "description": "Required. List of destination ports to match. At least one port should match.", - "items": { - "format": "uint32", - "type": "integer" - }, - "type": "array" } }, "type": "object" }, - "Empty": { - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", - "id": "Empty", - "properties": {}, - "type": "object" - }, - "Expr": { - "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", - "id": "Expr", + "HttpHeaderMatch": { + "description": "Specification of HTTP header match attributes.", + "id": "HttpHeaderMatch", "properties": { - "description": { - "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", - "type": "string" - }, - "expression": { - "description": "Textual representation of an expression in Common Expression Language syntax.", - "type": "string" - }, - "location": { - "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", + "headerName": { + "description": "Required. The name of the HTTP header to match. For matching against the HTTP request's authority, use a headerMatch with the header name \":authority\". For matching a request's method, use the headerName \":method\".", "type": "string" }, - "title": { - "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", + "regexMatch": { + "description": "Required. The value of the header must match the regular expression specified in regexMatch. For regular expression grammar, please see: en.cppreference.com/w/cpp/regex/ecmascript For matching against a port specified in the HTTP request, use a headerMatch with headerName set to Host and a regular expression that satisfies the RFC2616 Host header's port specifier.", "type": "string" } }, "type": "object" }, - "FirewallEndpoint": { - "description": "Message describing Endpoint object", - "id": "FirewallEndpoint", + "InterceptDeployment": { + "description": "Message describing InterceptDeployment object", + "id": "InterceptDeployment", "properties": { - "associatedNetworks": { - "deprecated": true, - "description": "Output only. List of networks that are associated with this endpoint in the local zone. This is a projection of the FirewallEndpointAssociations pointing at this endpoint. A network will only appear in this list after traffic routing is fully configured. Format: projects/{project}/global/networks/{name}.", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - }, - "associations": { - "description": "Output only. List of FirewallEndpointAssociations that are associated to this endpoint. An association will only appear in this list after traffic routing is fully configured.", - "items": { - "$ref": "FirewallEndpointAssociationReference" - }, - "readOnly": true, - "type": "array" - }, - "billingProjectId": { - "description": "Required. Project to bill on endpoint uptime usage.", - "type": "string" - }, "createTime": { - "description": "Output only. Create time stamp", + "description": "Output only. [Output only] Create time stamp", "format": "google-datetime", "readOnly": true, "type": "string" }, - "description": { - "description": "Optional. Description of the firewall endpoint. Max length 2048 characters.", + "forwardingRule": { + "description": "Required. Immutable. The regional load balancer which the intercepted traffic should be forwarded to. Format is: projects/{project}/regions/{region}/forwardingRules/{forwardingRule}", + "type": "string" + }, + "interceptDeploymentGroup": { + "description": "Required. Immutable. The Intercept Deployment Group that this resource is part of. Format is: `projects/{project}/locations/global/interceptDeploymentGroups/{interceptDeploymentGroup}`", "type": "string" }, "labels": { @@ -4844,7 +6013,7 @@ "type": "object" }, "name": { - "description": "Immutable. Identifier. name of resource", + "description": "Immutable. Identifier. The name of the InterceptDeployment.", "type": "string" }, "reconciling": { @@ -4853,26 +6022,28 @@ "type": "boolean" }, "state": { - "description": "Output only. Current state of the endpoint.", + "description": "Output only. Current state of the deployment.", "enum": [ "STATE_UNSPECIFIED", - "CREATING", "ACTIVE", + "CREATING", "DELETING", - "INACTIVE" + "OUT_OF_SYNC", + "DELETE_FAILED" ], "enumDescriptions": [ "Not set.", + "Ready.", "Being created.", - "Processing configuration updates.", "Being deleted.", - "Down or in an error state." + "The underlying data plane is out of sync with the deployment. The deployment is not expected to be usable. This state can result in undefined behavior.", + "An attempt to delete the deployment has failed. This is a terminal state and the deployment is not expected to be usable as some of its resources have been deleted. The only permitted operation is to retry deleting the deployment." ], "readOnly": true, "type": "string" }, "updateTime": { - "description": "Output only. Update time stamp", + "description": "Output only. [Output only] Update time stamp", "format": "google-datetime", "readOnly": true, "type": "string" @@ -4880,24 +6051,24 @@ }, "type": "object" }, - "FirewallEndpointAssociation": { - "description": "Message describing Association object", - "id": "FirewallEndpointAssociation", + "InterceptDeploymentGroup": { + "description": "Message describing InterceptDeploymentGroup object", + "id": "InterceptDeploymentGroup", "properties": { + "connectedEndpointGroups": { + "description": "Output only. The list of Intercept Endpoint Groups that are connected to this resource.", + "items": { + "$ref": "InterceptDeploymentGroupConnectedEndpointGroup" + }, + "readOnly": true, + "type": "array" + }, "createTime": { - "description": "Output only. Create time stamp", + "description": "Output only. [Output only] Create time stamp", "format": "google-datetime", "readOnly": true, "type": "string" }, - "disabled": { - "description": "Optional. Whether the association is disabled. True indicates that traffic won't be intercepted", - "type": "boolean" - }, - "firewallEndpoint": { - "description": "Required. The URL of the FirewallEndpoint that is being associated.", - "type": "string" - }, "labels": { "additionalProperties": { "type": "string" @@ -4906,11 +6077,11 @@ "type": "object" }, "name": { - "description": "Immutable. Identifier. name of resource", + "description": "Immutable. Identifier. Then name of the InterceptDeploymentGroup.", "type": "string" }, "network": { - "description": "Required. The URL of the network that is being associated.", + "description": "Required. Immutable. The network that is being used for the deployment. Format is: projects/{project}/global/networks/{network}.", "type": "string" }, "reconciling": { @@ -4919,32 +6090,24 @@ "type": "boolean" }, "state": { - "description": "Output only. Current state of the association.", + "description": "Output only. Current state of the deployment group.", "enum": [ "STATE_UNSPECIFIED", - "CREATING", "ACTIVE", - "DELETING", - "INACTIVE", - "ORPHAN" + "CREATING", + "DELETING" ], "enumDescriptions": [ "Not set.", + "Ready.", "Being created.", - "Active and ready for traffic.", - "Being deleted.", - "Down or in an error state.", - "The GCP project that housed the association has been deleted." + "Being deleted." ], "readOnly": true, "type": "string" }, - "tlsInspectionPolicy": { - "description": "Optional. The URL of the TlsInspectionPolicy that is being associated.", - "type": "string" - }, "updateTime": { - "description": "Output only. Update time stamp", + "description": "Output only. [Output only] Update time stamp", "format": "google-datetime", "readOnly": true, "type": "string" @@ -4952,297 +6115,228 @@ }, "type": "object" }, - "FirewallEndpointAssociationReference": { - "description": "This is a subset of the FirewallEndpointAssociation message, containing fields to be used by the consumer.", - "id": "FirewallEndpointAssociationReference", + "InterceptDeploymentGroupConnectedEndpointGroup": { + "description": "An endpoint group connected to this deployment group.", + "id": "InterceptDeploymentGroupConnectedEndpointGroup", "properties": { "name": { - "description": "Output only. The resource name of the FirewallEndpointAssociation. Format: projects/{project}/locations/{location}/firewallEndpointAssociations/{id}", - "readOnly": true, - "type": "string" - }, - "network": { - "description": "Output only. The VPC network associated. Format: projects/{project}/global/networks/{name}.", + "description": "Output only. A connected intercept endpoint group.", "readOnly": true, "type": "string" } }, "type": "object" }, - "GatewaySecurityPolicy": { - "description": "The GatewaySecurityPolicy resource contains a collection of GatewaySecurityPolicyRules and associated metadata.", - "id": "GatewaySecurityPolicy", + "InterceptEndpointGroup": { + "description": "Message describing InterceptEndpointGroup object.", + "id": "InterceptEndpointGroup", "properties": { - "createTime": { - "description": "Output only. The timestamp when the resource was created.", - "format": "google-datetime", - "readOnly": true, - "type": "string" - }, - "description": { - "description": "Optional. Free-text description of the resource.", - "type": "string" - }, - "name": { - "description": "Required. Name of the resource. Name is of the form projects/{project}/locations/{location}/gatewaySecurityPolicies/{gateway_security_policy} gateway_security_policy should match the pattern:(^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$).", - "type": "string" - }, - "tlsInspectionPolicy": { - "description": "Optional. Name of a TLS Inspection Policy resource that defines how TLS inspection will be performed for any rule(s) which enables it.", - "type": "string" - }, - "updateTime": { - "description": "Output only. The timestamp when the resource was updated.", - "format": "google-datetime", + "associations": { + "description": "Output only. List of Intercept Endpoint Group Associations that are associated to this endpoint group.", + "items": { + "$ref": "InterceptEndpointGroupAssociationDetails" + }, "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "GatewaySecurityPolicyRule": { - "description": "The GatewaySecurityPolicyRule resource is in a nested collection within a GatewaySecurityPolicy and represents a traffic matching condition and associated action to perform.", - "id": "GatewaySecurityPolicyRule", - "properties": { - "applicationMatcher": { - "description": "Optional. CEL expression for matching on L7/application level criteria.", - "type": "string" - }, - "basicProfile": { - "description": "Required. Profile which tells what the primitive action should be.", - "enum": [ - "BASIC_PROFILE_UNSPECIFIED", - "ALLOW", - "DENY" - ], - "enumDescriptions": [ - "If there is not a mentioned action for the target.", - "Allow the matched traffic.", - "Deny the matched traffic." - ], - "type": "string" + "type": "array" }, "createTime": { - "description": "Output only. Time when the rule was created.", + "description": "Output only. [Output only] Create time stamp", "format": "google-datetime", "readOnly": true, "type": "string" }, "description": { - "description": "Optional. Free-text description of the resource.", + "description": "Optional. User-provided description of the endpoint group. Used as additional context for the endpoint group.", "type": "string" }, - "enabled": { - "description": "Required. Whether the rule is enforced.", - "type": "boolean" - }, - "name": { - "description": "Required. Immutable. Name of the resource. ame is the full resource name so projects/{project}/locations/{location}/gatewaySecurityPolicies/{gateway_security_policy}/rules/{rule} rule should match the pattern: (^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$).", + "interceptDeploymentGroup": { + "description": "Required. Immutable. The Intercept Deployment Group that this resource is connected to. Format is: `projects/{project}/locations/global/interceptDeploymentGroups/{interceptDeploymentGroup}`", "type": "string" }, - "priority": { - "description": "Required. Priority of the rule. Lower number corresponds to higher precedence.", - "format": "int32", - "type": "integer" + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels as key value pairs", + "type": "object" }, - "sessionMatcher": { - "description": "Required. CEL expression for matching on session criteria.", + "name": { + "description": "Immutable. Identifier. The name of the InterceptEndpointGroup.", "type": "string" }, - "tlsInspectionEnabled": { - "description": "Optional. Flag to enable TLS inspection of traffic matching on , can only be true if the parent GatewaySecurityPolicy references a TLSInspectionConfig.", - "type": "boolean" - }, - "updateTime": { - "description": "Output only. Time when the rule was updated.", - "format": "google-datetime", + "reconciling": { + "description": "Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128.", "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "GoogleCloudNetworksecurityV1beta1CertificateProvider": { - "description": "Specification of certificate provider. Defines the mechanism to obtain the certificate and private key for peer to peer authentication.", - "id": "GoogleCloudNetworksecurityV1beta1CertificateProvider", - "properties": { - "certificateProviderInstance": { - "$ref": "CertificateProviderInstance", - "description": "The certificate provider instance specification that will be passed to the data plane, which will be used to load necessary credential information." - }, - "grpcEndpoint": { - "$ref": "GoogleCloudNetworksecurityV1beta1GrpcEndpoint", - "description": "gRPC specific configuration to access the gRPC server to obtain the cert and private key." - } - }, - "type": "object" - }, - "GoogleCloudNetworksecurityV1beta1GrpcEndpoint": { - "description": "Specification of the GRPC Endpoint.", - "id": "GoogleCloudNetworksecurityV1beta1GrpcEndpoint", - "properties": { - "targetUri": { - "description": "Required. The target URI of the gRPC endpoint. Only UDS path is supported, and should start with \"unix:\".", - "type": "string" - } - }, - "type": "object" - }, - "GoogleIamV1AuditConfig": { - "description": "Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { \"audit_configs\": [ { \"service\": \"allServices\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" }, { \"log_type\": \"ADMIN_READ\" } ] }, { \"service\": \"sampleservice.googleapis.com\", \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\" }, { \"log_type\": \"DATA_WRITE\", \"exempted_members\": [ \"user:aliya@example.com\" ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.", - "id": "GoogleIamV1AuditConfig", - "properties": { - "auditLogConfigs": { - "description": "The configuration for logging of each type of permission.", - "items": { - "$ref": "GoogleIamV1AuditLogConfig" - }, - "type": "array" - }, - "service": { - "description": "Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services.", - "type": "string" - } - }, - "type": "object" - }, - "GoogleIamV1AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions. Example: { \"audit_log_configs\": [ { \"log_type\": \"DATA_READ\", \"exempted_members\": [ \"user:jose@example.com\" ] }, { \"log_type\": \"DATA_WRITE\" } ] } This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from DATA_READ logging.", - "id": "GoogleIamV1AuditLogConfig", - "properties": { - "exemptedMembers": { - "description": "Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members.", - "items": { - "type": "string" - }, - "type": "array" + "type": "boolean" }, - "logType": { - "description": "The log type that this config enables.", + "state": { + "description": "Output only. Current state of the endpoint group.", "enum": [ - "LOG_TYPE_UNSPECIFIED", - "ADMIN_READ", - "DATA_WRITE", - "DATA_READ" + "STATE_UNSPECIFIED", + "ACTIVE", + "CLOSED", + "CREATING", + "DELETING", + "OUT_OF_SYNC", + "DELETE_FAILED" ], "enumDescriptions": [ - "Default case. Should never be this.", - "Admin reads. Example: CloudIAM getIamPolicy", - "Data writes. Example: CloudSQL Users create", - "Data reads. Example: CloudSQL Users list" + "Not set.", + "Ready.", + "The deployment group has been deleted and intercept is disabled.", + "Being created.", + "Being deleted.", + "The underlying data plane is out of sync with the endpoint group. Some associations might not be usable.", + "An attempt to delete the endpoint group has failed. This is a terminal state and the endpoint group is not expected to be usable as some of its resources have been deleted. The only permitted operation is to retry deleting the endpoint group." ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. [Output only] Update time stamp", + "format": "google-datetime", + "readOnly": true, "type": "string" } }, "type": "object" }, - "GoogleIamV1Binding": { - "description": "Associates `members`, or principals, with a `role`.", - "id": "GoogleIamV1Binding", + "InterceptEndpointGroupAssociation": { + "description": "Message describing InterceptEndpointGroupAssociation object", + "id": "InterceptEndpointGroupAssociation", "properties": { - "condition": { - "$ref": "Expr", - "description": "The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + "createTime": { + "description": "Output only. [Output only] Create time stamp", + "format": "google-datetime", + "readOnly": true, + "type": "string" }, - "members": { - "description": "Specifies the principals requesting access for a Google Cloud resource. `members` can have the following values: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.", - "items": { + "interceptEndpointGroup": { + "description": "Required. Immutable. The Intercept Endpoint Group that this resource is connected to. Format is: `projects/{project}/locations/global/interceptEndpointGroups/{interceptEndpointGroup}`", + "type": "string" + }, + "labels": { + "additionalProperties": { "type": "string" }, - "type": "array" + "description": "Optional. Labels as key value pairs", + "type": "object" }, - "role": { - "description": "Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).", - "type": "string" - } - }, - "type": "object" - }, - "GoogleIamV1Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { \"bindings\": [ { \"role\": \"roles/resourcemanager.organizationAdmin\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-project-id@appspot.gserviceaccount.com\" ] }, { \"role\": \"roles/resourcemanager.organizationViewer\", \"members\": [ \"user:eve@example.com\" ], \"condition\": { \"title\": \"expirable access\", \"description\": \"Does not grant access after Sep 2020\", \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\", } } ], \"etag\": \"BwWWja0YfJA=\", \"version\": 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/).", - "id": "GoogleIamV1Policy", - "properties": { - "auditConfigs": { - "description": "Specifies cloud audit logging configuration for this policy.", + "locationsDetails": { + "description": "Output only. The list of locations that this association is in and its details.", "items": { - "$ref": "GoogleIamV1AuditConfig" + "$ref": "InterceptEndpointGroupAssociationLocationDetails" }, + "readOnly": true, "type": "array" }, - "bindings": { - "description": "Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.", - "items": { - "$ref": "GoogleIamV1Binding" - }, - "type": "array" + "name": { + "description": "Immutable. Identifier. The name of the InterceptEndpointGroupAssociation.", + "type": "string" }, - "etag": { - "description": "`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.", - "format": "byte", + "network": { + "description": "Required. Immutable. The VPC network associated. Format: projects/{project}/global/networks/{network}.", "type": "string" }, - "version": { - "description": "Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "GoogleIamV1SetIamPolicyRequest": { - "description": "Request message for `SetIamPolicy` method.", - "id": "GoogleIamV1SetIamPolicyRequest", - "properties": { - "policy": { - "$ref": "GoogleIamV1Policy", - "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Google Cloud services (such as Projects) might reject them." + "reconciling": { + "description": "Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128.", + "readOnly": true, + "type": "boolean" }, - "updateMask": { - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only the fields in the mask will be modified. If no mask is provided, the following default mask is used: `paths: \"bindings, etag\"`", - "format": "google-fieldmask", + "state": { + "description": "Output only. Current state of the endpoint group association.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "CREATING", + "DELETING", + "CLOSED", + "OUT_OF_SYNC", + "DELETE_FAILED" + ], + "enumDescriptions": [ + "Not set.", + "Ready.", + "Being created.", + "Being deleted.", + "Intercept is disabled due to an operation on another resource.", + "The underlying data plane is out of sync with the association. The association is not expected to be usable. This state can result in undefined behavior. See the `locations_details` field for more details.", + "An attempt to delete the association has failed. This is a terminal state and the association is not expected to be usable as some of its resources have been deleted. The only permitted operation is to retry deleting the association." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. [Output only] Update time stamp", + "format": "google-datetime", + "readOnly": true, "type": "string" } }, "type": "object" }, - "GoogleIamV1TestIamPermissionsRequest": { - "description": "Request message for `TestIamPermissions` method.", - "id": "GoogleIamV1TestIamPermissionsRequest", - "properties": { - "permissions": { - "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "GoogleIamV1TestIamPermissionsResponse": { - "description": "Response message for `TestIamPermissions` method.", - "id": "GoogleIamV1TestIamPermissionsResponse", + "InterceptEndpointGroupAssociationDetails": { + "description": "This is a subset of the InterceptEndpointGroupAssociation message, containing fields to be used by the consumer.", + "id": "InterceptEndpointGroupAssociationDetails", "properties": { - "permissions": { - "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", - "items": { - "type": "string" - }, - "type": "array" + "name": { + "description": "Output only. The resource name of the InterceptEndpointGroupAssociation. Format: projects/{project}/locations/{location}/interceptEndpointGroupAssociations/{interceptEndpointGroupAssociation}", + "readOnly": true, + "type": "string" + }, + "network": { + "description": "Output only. The VPC network associated. Format: projects/{project}/global/networks/{name}.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. Current state of the association.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "CREATING", + "DELETING", + "CLOSED", + "OUT_OF_SYNC", + "DELETE_FAILED" + ], + "enumDescriptions": [ + "Not set.", + "Ready.", + "Being created.", + "Being deleted.", + "Intercept is disabled due to an operation on another resource.", + "The underlying data plane is out of sync with the association. The association is not expected to be usable. This state can result in undefined behavior. See the `locations_details` field for more details.", + "An attempt to delete the association has failed. This is a terminal state and the association is not expected to be usable as some of its resources have been deleted. The only permitted operation is to retry deleting the association." + ], + "readOnly": true, + "type": "string" } }, "type": "object" }, - "HttpHeaderMatch": { - "description": "Specification of HTTP header match attributes.", - "id": "HttpHeaderMatch", + "InterceptEndpointGroupAssociationLocationDetails": { + "description": "Details about the association status in a specific cloud location.", + "id": "InterceptEndpointGroupAssociationLocationDetails", "properties": { - "headerName": { - "description": "Required. The name of the HTTP header to match. For matching against the HTTP request's authority, use a headerMatch with the header name \":authority\". For matching a request's method, use the headerName \":method\".", + "location": { + "description": "Output only. The cloud location.", + "readOnly": true, "type": "string" }, - "regexMatch": { - "description": "Required. The value of the header must match the regular expression specified in regexMatch. For regular expression grammar, please see: en.cppreference.com/w/cpp/regex/ecmascript For matching against a port specified in the HTTP request, use a headerMatch with headerName set to Host and a regular expression that satisfies the RFC2616 Host header's port specifier.", + "state": { + "description": "Output only. The association state in this location.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "OUT_OF_SYNC" + ], + "enumDescriptions": [ + "Not set.", + "Ready.", + "The data plane is out of sync with the association in this location." + ], + "readOnly": true, "type": "string" } }, @@ -5465,6 +6559,85 @@ }, "type": "object" }, + "ListInterceptDeploymentGroupsResponse": { + "description": "Message for response to listing InterceptDeploymentGroups", + "id": "ListInterceptDeploymentGroupsResponse", + "properties": { + "interceptDeploymentGroups": { + "description": "The list of InterceptDeploymentGroup", + "items": { + "$ref": "InterceptDeploymentGroup" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + } + }, + "type": "object" + }, + "ListInterceptDeploymentsResponse": { + "description": "Message for response to listing InterceptDeployments", + "id": "ListInterceptDeploymentsResponse", + "properties": { + "interceptDeployments": { + "description": "The list of InterceptDeployment", + "items": { + "$ref": "InterceptDeployment" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListInterceptEndpointGroupAssociationsResponse": { + "description": "Message for response to listing InterceptEndpointGroupAssociations", + "id": "ListInterceptEndpointGroupAssociationsResponse", + "properties": { + "interceptEndpointGroupAssociations": { + "description": "The list of InterceptEndpointGroupAssociation", + "items": { + "$ref": "InterceptEndpointGroupAssociation" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + } + }, + "type": "object" + }, + "ListInterceptEndpointGroupsResponse": { + "description": "Message for response to listing InterceptEndpointGroups", + "id": "ListInterceptEndpointGroupsResponse", + "properties": { + "interceptEndpointGroups": { + "description": "The list of InterceptEndpointGroup", + "items": { + "$ref": "InterceptEndpointGroup" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + } + }, + "type": "object" + }, "ListLocationsResponse": { "description": "The response message for Locations.ListLocations.", "id": "ListLocationsResponse", @@ -5751,7 +6924,7 @@ "type": "object" }, "MirroringDeployment": { - "description": "Message describing MirroringDeployment object", + "description": "Message describing MirroringDeployment object NEXT ID: 10", "id": "MirroringDeployment", "properties": { "createTime": { @@ -5815,7 +6988,7 @@ "type": "object" }, "MirroringDeploymentGroup": { - "description": "Message describing MirroringDeploymentGroup object", + "description": "Message describing MirroringDeploymentGroup object NEXT ID: 10", "id": "MirroringDeploymentGroup", "properties": { "connectedEndpointGroups": { @@ -5891,7 +7064,7 @@ "type": "object" }, "MirroringEndpointGroup": { - "description": "Message describing MirroringEndpointGroup object. Next ID: 10", + "description": "Message describing MirroringEndpointGroup object.", "id": "MirroringEndpointGroup", "properties": { "createTime": { @@ -5912,7 +7085,7 @@ "type": "string" }, "name": { - "description": "Immutable. Identifier. The name of the MirroringEndpointGroup.", + "description": "Immutable. Identifier. Next ID: 11 The name of the MirroringEndpointGroup.", "type": "string" }, "reconciling": { @@ -6172,7 +7345,7 @@ "type": "object" }, "SecurityProfile": { - "description": "SecurityProfile is a resource that defines the behavior for one of many ProfileTypes. Next ID: 12", + "description": "SecurityProfile is a resource that defines the behavior for one of many ProfileTypes.", "id": "SecurityProfile", "properties": { "createTime": { @@ -6181,6 +7354,10 @@ "readOnly": true, "type": "string" }, + "customInterceptProfile": { + "$ref": "CustomInterceptProfile", + "description": "The custom TPPI configuration for the SecurityProfile." + }, "customMirroringProfile": { "$ref": "CustomMirroringProfile", "description": "The custom Packet Mirroring v2 configuration for the SecurityProfile." @@ -6214,12 +7391,14 @@ "enum": [ "PROFILE_TYPE_UNSPECIFIED", "THREAT_PREVENTION", - "CUSTOM_MIRRORING" + "CUSTOM_MIRRORING", + "CUSTOM_INTERCEPT" ], "enumDescriptions": [ "Profile type not specified.", "Profile type for threat prevention.", - "Profile type for packet mirroring v2" + "Profile type for packet mirroring v2", + "Profile type for TPPI." ], "type": "string" }, @@ -6233,7 +7412,7 @@ "type": "object" }, "SecurityProfileGroup": { - "description": "SecurityProfileGroup is a resource that defines the behavior for various ProfileTypes. Next ID: 11", + "description": "SecurityProfileGroup is a resource that defines the behavior for various ProfileTypes.", "id": "SecurityProfileGroup", "properties": { "createTime": { @@ -6242,6 +7421,10 @@ "readOnly": true, "type": "string" }, + "customInterceptProfile": { + "description": "Optional. Reference to a SecurityProfile with the CustomIntercept configuration.", + "type": "string" + }, "customMirroringProfile": { "description": "Optional. Reference to a SecurityProfile with the CustomMirroring configuration.", "type": "string" diff --git a/discovery/networkservices-v1.json b/discovery/networkservices-v1.json index e8d54dca56..e85455af2d 100644 --- a/discovery/networkservices-v1.json +++ b/discovery/networkservices-v1.json @@ -177,6 +177,188 @@ } }, "resources": { + "authzExtensions": { + "methods": { + "create": { + "description": "Creates a new `AuthzExtension` resource in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/authzExtensions", + "httpMethod": "POST", + "id": "networkservices.projects.locations.authzExtensions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "authzExtensionId": { + "description": "Required. User-provided ID of the `AuthzExtension` resource to be created.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource of the `AuthzExtension` resource. Must be in the format `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/authzExtensions", + "request": { + "$ref": "AuthzExtension" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified `AuthzExtension` resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/authzExtensions/{authzExtensionsId}", + "httpMethod": "DELETE", + "id": "networkservices.projects.locations.authzExtensions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the `AuthzExtension` resource to delete. Must be in the format `projects/{project}/locations/{location}/authzExtensions/{authz_extension}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/authzExtensions/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified `AuthzExtension` resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/authzExtensions/{authzExtensionsId}", + "httpMethod": "GET", + "id": "networkservices.projects.locations.authzExtensions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the `AuthzExtension` resource to get. Must be in the format `projects/{project}/locations/{location}/authzExtensions/{authz_extension}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/authzExtensions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "AuthzExtension" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists `AuthzExtension` resources in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/authzExtensions", + "httpMethod": "GET", + "id": "networkservices.projects.locations.authzExtensions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filtering results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Hint for how to order the results.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results that the server returns.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which the `AuthzExtension` resources are listed, specified in the following format: `projects/{project}/locations/{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/authzExtensions", + "response": { + "$ref": "ListAuthzExtensionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of the specified `AuthzExtension` resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/authzExtensions/{authzExtensionsId}", + "httpMethod": "PATCH", + "id": "networkservices.projects.locations.authzExtensions.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Identifier. Name of the `AuthzExtension` resource in the following format: `projects/{project}/locations/{location}/authzExtensions/{authz_extension}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/authzExtensions/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. Used to specify the fields to be overwritten in the `AuthzExtension` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not specify a mask, then all fields are overwritten.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "AuthzExtension" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "edgeCacheKeysets": { "methods": { "getIamPolicy": { @@ -762,6 +944,73 @@ "https://www.googleapis.com/auth/cloud-platform" ] } + }, + "resources": { + "routeViews": { + "methods": { + "get": { + "description": "Get a single RouteView of a Gateway.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gateways/{gatewaysId}/routeViews/{routeViewsId}", + "httpMethod": "GET", + "id": "networkservices.projects.locations.gateways.routeViews.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the GatewayRouteView resource. Formats: projects/{project_number}/locations/{location}/gateways/{gateway_name}/routeViews/{route_view_name}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gateways/[^/]+/routeViews/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GatewayRouteView" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists RouteViews", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/gateways/{gatewaysId}/routeViews", + "httpMethod": "GET", + "id": "networkservices.projects.locations.gateways.routeViews.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of GatewayRouteViews to return per call.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListGatewayRouteViewsResponse` Indicates that this is a continuation of a prior `ListGatewayRouteViews` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The Gateway to which a Route is associated. Formats: projects/{project_number}/locations/{location}/gateways/{gateway_name}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gateways/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/routeViews", + "response": { + "$ref": "ListGatewayRouteViewsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } } }, "grpcRoutes": { @@ -1597,12 +1846,79 @@ "https://www.googleapis.com/auth/cloud-platform" ] } + }, + "resources": { + "routeViews": { + "methods": { + "get": { + "description": "Get a single RouteView of a Mesh.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/meshes/{meshesId}/routeViews/{routeViewsId}", + "httpMethod": "GET", + "id": "networkservices.projects.locations.meshes.routeViews.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the MeshRouteView resource. Format: projects/{project_number}/locations/{location}/meshes/{mesh_name}/routeViews/{route_view_name}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/meshes/[^/]+/routeViews/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "MeshRouteView" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists RouteViews", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/meshes/{meshesId}/routeViews", + "httpMethod": "GET", + "id": "networkservices.projects.locations.meshes.routeViews.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of MeshRouteViews to return per call.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListMeshRouteViewsResponse` Indicates that this is a continuation of a prior `ListMeshRouteViews` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The Mesh to which a Route is associated. Format: projects/{project_number}/locations/{location}/meshes/{mesh_name}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/meshes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/routeViews", + "response": { + "$ref": "ListMeshRouteViewsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } } }, "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "networkservices.projects.locations.operations.cancel", @@ -1976,7 +2292,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the ServiceLbPolicy resource. It matches pattern `projects/{project}/locations/{location}/serviceLbPolicies/{service_lb_policy_name}`.", + "description": "Identifier. Name of the ServiceLbPolicy resource. It matches pattern `projects/{project}/locations/{location}/serviceLbPolicies/{service_lb_policy_name}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/serviceLbPolicies/[^/]+$", "required": true, @@ -2315,13 +2631,310 @@ ] } } + }, + "wasmPlugins": { + "methods": { + "create": { + "description": "Creates a new `WasmPlugin` resource in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/wasmPlugins", + "httpMethod": "POST", + "id": "networkservices.projects.locations.wasmPlugins.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the `WasmPlugin` resource. Must be in the format `projects/{project}/locations/global`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "wasmPluginId": { + "description": "Required. User-provided ID of the `WasmPlugin` resource to be created.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/wasmPlugins", + "request": { + "$ref": "WasmPlugin" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified `WasmPlugin` resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/wasmPlugins/{wasmPluginsId}", + "httpMethod": "DELETE", + "id": "networkservices.projects.locations.wasmPlugins.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the `WasmPlugin` resource to delete. Must be in the format `projects/{project}/locations/global/wasmPlugins/{wasm_plugin}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/wasmPlugins/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified `WasmPlugin` resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/wasmPlugins/{wasmPluginsId}", + "httpMethod": "GET", + "id": "networkservices.projects.locations.wasmPlugins.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the `WasmPlugin` resource to get. Must be in the format `projects/{project}/locations/global/wasmPlugins/{wasm_plugin}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/wasmPlugins/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Determines how much data must be returned in the response. See [AIP-157](https://google.aip.dev/157).", + "enum": [ + "WASM_PLUGIN_VIEW_UNSPECIFIED", + "WASM_PLUGIN_VIEW_BASIC", + "WASM_PLUGIN_VIEW_FULL" + ], + "enumDescriptions": [ + "Unspecified value. Do not use.", + "If specified in the `GET` request for a `WasmPlugin` resource, the server's response includes just the `WasmPlugin` resource.", + "If specified in the `GET` request for a `WasmPlugin` resource, the server's response includes the `WasmPlugin` resource with all its versions." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "WasmPlugin" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists `WasmPlugin` resources in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/wasmPlugins", + "httpMethod": "GET", + "id": "networkservices.projects.locations.wasmPlugins.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of `WasmPlugin` resources to return per call. If not specified, at most 50 `WasmPlugin` resources are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListWasmPluginsResponse` call. Indicates that this is a continuation of a prior `ListWasmPlugins` call, and that the next page of data is to be returned.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which the `WasmPlugin` resources are listed, specified in the following format: `projects/{project}/locations/global`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/wasmPlugins", + "response": { + "$ref": "ListWasmPluginsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of the specified `WasmPlugin` resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/wasmPlugins/{wasmPluginsId}", + "httpMethod": "PATCH", + "id": "networkservices.projects.locations.wasmPlugins.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. Name of the `WasmPlugin` resource in the following format: `projects/{project}/locations/{location}/wasmPlugins/{wasm_plugin}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/wasmPlugins/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Used to specify the fields to be overwritten in the `WasmPlugin` resource by the update. The fields specified in the `update_mask` field are relative to the resource, not the full request. An omitted `update_mask` field is treated as an implied `update_mask` field equivalent to all fields that are populated (that have a non-empty value). The `update_mask` field supports a special value `*`, which means that each field in the given `WasmPlugin` resource (including the empty ones) replaces the current value.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "WasmPlugin" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "versions": { + "methods": { + "create": { + "description": "Creates a new `WasmPluginVersion` resource in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/wasmPlugins/{wasmPluginsId}/versions", + "httpMethod": "POST", + "id": "networkservices.projects.locations.wasmPlugins.versions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the `WasmPluginVersion` resource. Must be in the format `projects/{project}/locations/global/wasmPlugins/{wasm_plugin}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/wasmPlugins/[^/]+$", + "required": true, + "type": "string" + }, + "wasmPluginVersionId": { + "description": "Required. User-provided ID of the `WasmPluginVersion` resource to be created.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/versions", + "request": { + "$ref": "WasmPluginVersion" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified `WasmPluginVersion` resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/wasmPlugins/{wasmPluginsId}/versions/{versionsId}", + "httpMethod": "DELETE", + "id": "networkservices.projects.locations.wasmPlugins.versions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the `WasmPluginVersion` resource to delete. Must be in the format `projects/{project}/locations/global/wasmPlugins/{wasm_plugin}/versions/{wasm_plugin_version}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/wasmPlugins/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified `WasmPluginVersion` resource.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/wasmPlugins/{wasmPluginsId}/versions/{versionsId}", + "httpMethod": "GET", + "id": "networkservices.projects.locations.wasmPlugins.versions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the `WasmPluginVersion` resource to get. Must be in the format `projects/{project}/locations/global/wasmPlugins/{wasm_plugin}/versions/{wasm_plugin_version}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/wasmPlugins/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "WasmPluginVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists `WasmPluginVersion` resources in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/wasmPlugins/{wasmPluginsId}/versions", + "httpMethod": "GET", + "id": "networkservices.projects.locations.wasmPlugins.versions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of `WasmPluginVersion` resources to return per call. If not specified, at most 50 `WasmPluginVersion` resources are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListWasmPluginVersionsResponse` call. Indicates that this is a continuation of a prior `ListWasmPluginVersions` call, and that the next page of data is to be returned.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The `WasmPlugin` resource whose `WasmPluginVersion`s are listed, specified in the following format: `projects/{project}/locations/global/wasmPlugins/{wasm_plugin}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/wasmPlugins/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/versions", + "response": { + "$ref": "ListWasmPluginVersionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } } } } } } }, - "revision": "20240919", + "revision": "20241118", "rootUrl": "https://networkservices.googleapis.com/", "schemas": { "AuditConfig": { @@ -2372,6 +2985,98 @@ }, "type": "object" }, + "AuthzExtension": { + "description": "`AuthzExtension` is a resource that allows traffic forwarding to a callout backend service to make an authorization decision.", + "id": "AuthzExtension", + "properties": { + "authority": { + "description": "Required. The `:authority` header in the gRPC request sent from Envoy to the extension service.", + "type": "string" + }, + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. A human-readable description of the resource.", + "type": "string" + }, + "failOpen": { + "description": "Optional. Determines how the proxy behaves if the call to the extension fails or times out. When set to `TRUE`, request or response processing continues without error. Any subsequent extensions in the extension chain are also executed. When set to `FALSE` or the default setting of `FALSE` is used, one of the following happens: * If response headers have not been delivered to the downstream client, a generic 500 error is returned to the client. The error response can be tailored by configuring a custom error response in the load balancer. * If response headers have been delivered, then the HTTP stream to the downstream client is reset.", + "type": "boolean" + }, + "forwardHeaders": { + "description": "Optional. List of the HTTP headers to forward to the extension (from the client). If omitted, all headers are sent. Each element is a string indicating the header name.", + "items": { + "type": "string" + }, + "type": "array" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Set of labels associated with the `AuthzExtension` resource. The format must comply with [the requirements for labels](/compute/docs/labeling-resources#requirements) for Google Cloud resources.", + "type": "object" + }, + "loadBalancingScheme": { + "description": "Required. All backend services and forwarding rules referenced by this extension must share the same load balancing scheme. Supported values: `INTERNAL_MANAGED`, `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service).", + "enum": [ + "LOAD_BALANCING_SCHEME_UNSPECIFIED", + "INTERNAL_MANAGED", + "EXTERNAL_MANAGED" + ], + "enumDescriptions": [ + "Default value. Do not use.", + "Signifies that this is used for Internal HTTP(S) Load Balancing.", + "Signifies that this is used for External Managed HTTP(S) Load Balancing." + ], + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. The metadata provided here is included as part of the `metadata_context` (of type `google.protobuf.Struct`) in the `ProcessingRequest` message sent to the extension server. The metadata is available under the namespace `com.google.authz_extension.`. The following variables are supported in the metadata Struct: `{forwarding_rule_id}` - substituted with the forwarding rule's fully qualified resource name.", + "type": "object" + }, + "name": { + "description": "Required. Identifier. Name of the `AuthzExtension` resource in the following format: `projects/{project}/locations/{location}/authzExtensions/{authz_extension}`.", + "type": "string" + }, + "service": { + "description": "Required. The reference to the service that runs the extension. To configure a callout extension, `service` must be a fully-qualified reference to a [backend service](https://cloud.google.com/compute/docs/reference/rest/v1/backendServices) in the format: `https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/backendServices/{backendService}` or `https://www.googleapis.com/compute/v1/projects/{project}/global/backendServices/{backendService}`.", + "type": "string" + }, + "timeout": { + "description": "Required. Specifies the timeout for each individual message on the stream. The timeout must be between 10-10000 milliseconds.", + "format": "google-duration", + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "wireFormat": { + "description": "Optional. The format of communication supported by the callout extension. If not specified, the default is `EXT_PROC_GRPC`.", + "enum": [ + "WIRE_FORMAT_UNSPECIFIED", + "EXT_PROC_GRPC" + ], + "enumDescriptions": [ + "Not specified.", + "The extension service uses ExtProc GRPC API over a gRPC stream. This is the default value if the wire format is not specified. The backend service for the extension must use HTTP2 or H2C as the protocol. All `supported_events` for a client request will be sent as part of the same gRPC stream." + ], + "type": "string" + } + }, + "type": "object" + }, "Binding": { "description": "Associates `members`, or principals, with a `role`.", "id": "Binding", @@ -2578,7 +3283,7 @@ "id": "ExtensionChainExtension", "properties": { "authority": { - "description": "Optional. The `:authority` header in the gRPC request sent from Envoy to the extension service. Required for Callout extensions.", + "description": "Optional. The `:authority` header in the gRPC request sent from Envoy to the extension service. Required for Callout extensions. This field is not supported for plugin extensions. Setting it results in a validation error.", "type": "string" }, "failOpen": { @@ -2590,18 +3295,26 @@ "items": { "type": "string" }, - "type": "array" + "type": "array" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. The metadata provided here is included as part of the `metadata_context` (of type `google.protobuf.Struct`) in the `ProcessingRequest` message sent to the extension server. The metadata is available under the namespace `com.google....`. For example: `com.google.lb_traffic_extension.lbtrafficextension1.chain1.ext1`. The following variables are supported in the metadata: `{forwarding_rule_id}` - substituted with the forwarding rule's fully qualified resource name. This field is not supported for plugin extensions. Setting it results in a validation error.", + "type": "object" }, "name": { "description": "Required. The name for this extension. The name is logged as part of the HTTP request logs. The name must conform with RFC-1034, is restricted to lower-cased letters, numbers and hyphens, and can have a maximum length of 63 characters. Additionally, the first character must be a letter and the last a letter or a number.", "type": "string" }, "service": { - "description": "Required. The reference to the service that runs the extension. Currently only callout extensions are supported here. To configure a callout extension, `service` must be a fully-qualified reference to a [backend service](https://cloud.google.com/compute/docs/reference/rest/v1/backendServices) in the format: `https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/backendServices/{backendService}` or `https://www.googleapis.com/compute/v1/projects/{project}/global/backendServices/{backendService}`.", + "description": "Required. The reference to the service that runs the extension. To configure a callout extension, `service` must be a fully-qualified reference to a [backend service](https://cloud.google.com/compute/docs/reference/rest/v1/backendServices) in the format: `https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/backendServices/{backendService}` or `https://www.googleapis.com/compute/v1/projects/{project}/global/backendServices/{backendService}`. To configure a plugin extension, `service` must be a reference to a [`WasmPlugin` resource](https://cloud.google.com/service-extensions/docs/reference/rest/v1beta1/projects.locations.wasmPlugins) in the format: `projects/{project}/locations/{location}/wasmPlugins/{plugin}` or `//networkservices.googleapis.com/projects/{project}/locations/{location}/wasmPlugins/{wasmPlugin}`. Plugin extensions are currently supported for the `LbTrafficExtension` and the `LbRouteExtension` resources.", "type": "string" }, "supportedEvents": { - "description": "Optional. A set of events during request or response processing for which this extension is called. This field is required for the `LbTrafficExtension` resource. It must not be set for the `LbRouteExtension` resource.", + "description": "Optional. A set of events during request or response processing for which this extension is called. This field is required for the `LbTrafficExtension` resource. It must not be set for the `LbRouteExtension` resource, otherwise a validation error is returned.", "items": { "enum": [ "EVENT_TYPE_UNSPECIFIED", @@ -2626,7 +3339,7 @@ "type": "array" }, "timeout": { - "description": "Optional. Specifies the timeout for each individual message on the stream. The timeout must be between 10-1000 milliseconds. Required for Callout extensions.", + "description": "Optional. Specifies the timeout for each individual message on the stream. The timeout must be between `10`-`1000` milliseconds. Required for callout extensions. This field is not supported for plugin extensions. Setting it results in a validation error.", "format": "google-duration", "type": "string" } @@ -2779,6 +3492,39 @@ }, "type": "object" }, + "GatewayRouteView": { + "description": "GatewayRouteView defines view-only resource for Routes to a Gateway", + "id": "GatewayRouteView", + "properties": { + "name": { + "description": "Output only. Identifier. Full path name of the GatewayRouteView resource. Format: projects/{project_number}/locations/{location}/gateways/{gateway_name}/routeViews/{route_view_name}", + "readOnly": true, + "type": "string" + }, + "routeId": { + "description": "Output only. The resource id for the route.", + "readOnly": true, + "type": "string" + }, + "routeLocation": { + "description": "Output only. Location where the route exists.", + "readOnly": true, + "type": "string" + }, + "routeProjectNumber": { + "description": "Output only. Project number where the route exists.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "routeType": { + "description": "Output only. Type of the route: HttpRoute,GrpcRoute,TcpRoute, or TlsRoute", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GrpcRoute": { "description": "GrpcRoute is the resource defining how gRPC traffic routed by a Mesh or Gateway resource is routed.", "id": "GrpcRoute", @@ -3658,7 +4404,7 @@ "type": "array" }, "forwardingRules": { - "description": "Required. A list of references to the forwarding rules to which this service extension is attached to. At least one forwarding rule is required. There can be only one `LbRouteExtension` resource per forwarding rule.", + "description": "Required. A list of references to the forwarding rules to which this service extension is attached. At least one forwarding rule is required. There can be only one `LbRouteExtension` resource per forwarding rule.", "items": { "type": "string" }, @@ -3690,7 +4436,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Optional. The metadata provided here is included as part of the `metadata_context` (of type `google.protobuf.Struct`) in the `ProcessingRequest` message sent to the extension server. The metadata is available under the namespace `com.google.lb_route_extension.`. The following variables are supported in the metadata Struct: `{forwarding_rule_id}` - substituted with the forwarding rule's fully qualified resource name.", + "description": "Optional. The metadata provided here is included as part of the `metadata_context` (of type `google.protobuf.Struct`) in the `ProcessingRequest` message sent to the extension server. The metadata is available under the namespace `com.google.lb_route_extension.`. The following variables are supported in the metadata Struct: `{forwarding_rule_id}` - substituted with the forwarding rule's fully qualified resource name. This field is not supported for plugin extensions. Setting it results in a validation error.", "type": "object" }, "name": { @@ -3728,7 +4474,7 @@ "type": "array" }, "forwardingRules": { - "description": "Required. A list of references to the forwarding rules to which this service extension is attached to. At least one forwarding rule is required. There can be only one `LBTrafficExtension` resource per forwarding rule.", + "description": "Optional. A list of references to the forwarding rules to which this service extension is attached. At least one forwarding rule is required. There can be only one `LBTrafficExtension` resource per forwarding rule.", "items": { "type": "string" }, @@ -3760,7 +4506,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Optional. The metadata provided here is included in the `ProcessingRequest.metadata_context.filter_metadata` map field. The metadata is available under the key `com.google.lb_traffic_extension.`. The following variables are supported in the metadata: `{forwarding_rule_id}` - substituted with the forwarding rule's fully qualified resource name.", + "description": "Optional. The metadata provided here is included in the `ProcessingRequest.metadata_context.filter_metadata` map field. The metadata is available under the key `com.google.lb_traffic_extension.`. The following variables are supported in the metadata: `{forwarding_rule_id}` - substituted with the forwarding rule's fully qualified resource name. This field is not supported for plugin extensions. Setting it results in a validation error.", "type": "object" }, "name": { @@ -3776,6 +4522,31 @@ }, "type": "object" }, + "ListAuthzExtensionsResponse": { + "description": "Message for response to listing `AuthzExtension` resources.", + "id": "ListAuthzExtensionsResponse", + "properties": { + "authzExtensions": { + "description": "The list of `AuthzExtension` resources.", + "items": { + "$ref": "AuthzExtension" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results that the server returns.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "ListEndpointPoliciesResponse": { "description": "Response returned by the ListEndpointPolicies method.", "id": "ListEndpointPoliciesResponse", @@ -3794,6 +4565,24 @@ }, "type": "object" }, + "ListGatewayRouteViewsResponse": { + "description": "Response returned by the ListGatewayRouteViews method.", + "id": "ListGatewayRouteViewsResponse", + "properties": { + "gatewayRouteViews": { + "description": "List of GatewayRouteView resources.", + "items": { + "$ref": "GatewayRouteView" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, "ListGatewaysResponse": { "description": "Response returned by the ListGateways method.", "id": "ListGatewaysResponse", @@ -3923,6 +4712,24 @@ }, "type": "object" }, + "ListMeshRouteViewsResponse": { + "description": "Response returned by the ListMeshRouteViews method.", + "id": "ListMeshRouteViewsResponse", + "properties": { + "meshRouteViews": { + "description": "List of MeshRouteView resources.", + "items": { + "$ref": "MeshRouteView" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, "ListMeshesResponse": { "description": "Response returned by the ListMeshes method.", "id": "ListMeshesResponse", @@ -4031,6 +4838,42 @@ }, "type": "object" }, + "ListWasmPluginVersionsResponse": { + "description": "Response returned by the `ListWasmPluginVersions` method.", + "id": "ListWasmPluginVersionsResponse", + "properties": { + "nextPageToken": { + "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", + "type": "string" + }, + "wasmPluginVersions": { + "description": "List of `WasmPluginVersion` resources.", + "items": { + "$ref": "WasmPluginVersion" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListWasmPluginsResponse": { + "description": "Response returned by the `ListWasmPlugins` method.", + "id": "ListWasmPluginsResponse", + "properties": { + "nextPageToken": { + "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", + "type": "string" + }, + "wasmPlugins": { + "description": "List of `WasmPlugin` resources.", + "items": { + "$ref": "WasmPlugin" + }, + "type": "array" + } + }, + "type": "object" + }, "Location": { "description": "A resource that represents a Google Cloud location.", "id": "Location", @@ -4066,7 +4909,7 @@ "type": "object" }, "LoggingConfig": { - "description": "The configuration for Platform Telemetry logging for Eventarc Avdvanced resources.", + "description": "The configuration for Platform Telemetry logging for Eventarc Advanced resources.", "id": "LoggingConfig", "properties": { "logSeverity": { @@ -4158,6 +5001,39 @@ }, "type": "object" }, + "MeshRouteView": { + "description": "MeshRouteView defines view-only resource for Routes to a Mesh", + "id": "MeshRouteView", + "properties": { + "name": { + "description": "Output only. Identifier. Full path name of the MeshRouteView resource. Format: projects/{project_number}/locations/{location}/meshes/{mesh_name}/routeViews/{route_view_name}", + "readOnly": true, + "type": "string" + }, + "routeId": { + "description": "Output only. The resource id for the route.", + "readOnly": true, + "type": "string" + }, + "routeLocation": { + "description": "Output only. Location where the route exists.", + "readOnly": true, + "type": "string" + }, + "routeProjectNumber": { + "description": "Output only. Project number where the route exists.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "routeType": { + "description": "Output only. Type of the route: HttpRoute,GrpcRoute,TcpRoute, or TlsRoute", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Operation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "id": "Operation", @@ -4369,7 +5245,7 @@ "type": "string" }, "name": { - "description": "Required. Name of the ServiceLbPolicy resource. It matches pattern `projects/{project}/locations/{location}/serviceLbPolicies/{service_lb_policy_name}`.", + "description": "Identifier. Name of the ServiceLbPolicy resource. It matches pattern `projects/{project}/locations/{location}/serviceLbPolicies/{service_lb_policy_name}`.", "type": "string" }, "updateTime": { @@ -4754,6 +5630,223 @@ } }, "type": "object" + }, + "WasmPlugin": { + "description": "`WasmPlugin` is a resource representing a service executing a customer-provided Wasm module.", + "id": "WasmPlugin", + "properties": { + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. A human-readable description of the resource.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Set of labels associated with the `WasmPlugin` resource. The format must comply with [the following requirements](/compute/docs/labeling-resources#requirements).", + "type": "object" + }, + "logConfig": { + "$ref": "WasmPluginLogConfig", + "description": "Optional. Specifies the logging options for the activity performed by this plugin. If logging is enabled, plugin logs are exported to Cloud Logging. Note that the settings relate to the logs generated by using logging statements in your Wasm code." + }, + "mainVersionId": { + "description": "Optional. The ID of the `WasmPluginVersion` resource that is the currently serving one. The version referred to must be a child of this `WasmPlugin` resource.", + "type": "string" + }, + "name": { + "description": "Identifier. Name of the `WasmPlugin` resource in the following format: `projects/{project}/locations/{location}/wasmPlugins/{wasm_plugin}`.", + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "usedBy": { + "description": "Output only. List of all [extensions](https://cloud.google.com/service-extensions/docs/overview) that use this `WasmPlugin` resource.", + "items": { + "$ref": "WasmPluginUsedBy" + }, + "readOnly": true, + "type": "array" + }, + "versions": { + "additionalProperties": { + "$ref": "WasmPluginVersionDetails" + }, + "description": "Optional. All versions of this `WasmPlugin` resource in the key-value format. The key is the resource ID, and the value is the `VersionDetails` object. Lets you create or update a `WasmPlugin` resource and its versions in a single request. When the `main_version_id` field is not empty, it must point to one of the `VersionDetails` objects in the map. If provided in a `PATCH` request, the new versions replace the previous set. Any version omitted from the `versions` field is removed. Because the `WasmPluginVersion` resource is immutable, if a `WasmPluginVersion` resource with the same name already exists and differs, the request fails. Note: In a `GET` request, this field is populated only if the field `GetWasmPluginRequest.view` is set to `WASM_PLUGIN_VIEW_FULL`.", + "type": "object" + } + }, + "type": "object" + }, + "WasmPluginLogConfig": { + "description": "Specifies the logging options for the activity performed by this plugin. If logging is enabled, plugin logs are exported to Cloud Logging.", + "id": "WasmPluginLogConfig", + "properties": { + "enable": { + "description": "Optional. Specifies whether to enable logging for activity by this plugin. Defaults to `false`.", + "type": "boolean" + }, + "minLogLevel": { + "description": "Non-empty default. Specificies the lowest level of the plugin logs that are exported to Cloud Logging. This setting relates to the logs generated by using logging statements in your Wasm code. This field is can be set only if logging is enabled for the plugin. If the field is not provided when logging is enabled, it is set to `INFO` by default.", + "enum": [ + "LOG_LEVEL_UNSPECIFIED", + "TRACE", + "DEBUG", + "INFO", + "WARN", + "ERROR", + "CRITICAL" + ], + "enumDescriptions": [ + "Unspecified value. Defaults to `LogLevel.INFO`.", + "Report logs with TRACE level and above.", + "Report logs with DEBUG level and above.", + "Report logs with INFO level and above.", + "Report logs with WARN level and above.", + "Report logs with ERROR level and above.", + "Report logs with CRITICAL level only." + ], + "type": "string" + }, + "sampleRate": { + "description": "Non-empty default. Configures the sampling rate of activity logs, where `1.0` means all logged activity is reported and `0.0` means no activity is reported. A floating point value between `0.0` and `1.0` indicates that a percentage of log messages is stored. The default value when logging is enabled is `1.0`. The value of the field must be between `0` and `1` (inclusive). This field can be specified only if logging is enabled for this plugin.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "WasmPluginUsedBy": { + "description": "Defines a resource that uses the `WasmPlugin` resource.", + "id": "WasmPluginUsedBy", + "properties": { + "name": { + "description": "Output only. Full name of the resource https://google.aip.dev/122#full-resource-names, for example `//networkservices.googleapis.com/projects/{project}/locations/{location}/lbRouteExtensions/{extension}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "WasmPluginVersion": { + "description": "A single immutable version of a `WasmPlugin` resource. Defines the Wasm module used and optionally its runtime config.", + "id": "WasmPluginVersion", + "properties": { + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. A human-readable description of the resource.", + "type": "string" + }, + "imageDigest": { + "description": "Output only. The resolved digest for the image specified in the `image` field. The digest is resolved during the creation of `WasmPluginVersion` resource. This field holds the digest value, regardless of whether a tag or digest was originally specified in the `image` field.", + "readOnly": true, + "type": "string" + }, + "imageUri": { + "description": "Optional. URI of the container image containing the plugin, stored in the Artifact Registry. When a new `WasmPluginVersion` resource is created, the digest of the container image is saved in the `image_digest` field. When downloading an image, the digest value is used instead of an image tag.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Set of labels associated with the `WasmPluginVersion` resource.", + "type": "object" + }, + "name": { + "description": "Identifier. Name of the `WasmPluginVersion` resource in the following format: `projects/{project}/locations/{location}/wasmPlugins/{wasm_plugin}/ versions/{wasm_plugin_version}`.", + "type": "string" + }, + "pluginConfigData": { + "description": "Configuration for the plugin. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. When a new `WasmPluginVersion` resource is created, the digest of the contents is saved in the `plugin_config_digest` field.", + "format": "byte", + "type": "string" + }, + "pluginConfigDigest": { + "description": "Output only. This field holds the digest (usually checksum) value for the plugin configuration. The value is calculated based on the contents of `plugin_config_data` or the container image defined by the `plugin_config_uri` field.", + "readOnly": true, + "type": "string" + }, + "pluginConfigUri": { + "description": "URI of the plugin configuration stored in the Artifact Registry. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. The container image must contain only a single file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the digest of the container image is saved in the `plugin_config_digest` field.", + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "WasmPluginVersionDetails": { + "description": "Details of a `WasmPluginVersion` resource to be inlined in the `WasmPlugin` resource.", + "id": "WasmPluginVersionDetails", + "properties": { + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. A human-readable description of the resource.", + "type": "string" + }, + "imageDigest": { + "description": "Output only. The resolved digest for the image specified in `image`. The digest is resolved during the creation of a `WasmPluginVersion` resource. This field holds the digest value regardless of whether a tag or digest was originally specified in the `image` field.", + "readOnly": true, + "type": "string" + }, + "imageUri": { + "description": "Optional. URI of the container image containing the Wasm module, stored in the Artifact Registry. The container image must contain only a single file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource is created, the URI gets resolved to an image digest and saved in the `image_digest` field.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Set of labels associated with the `WasmPluginVersion` resource.", + "type": "object" + }, + "pluginConfigData": { + "description": "Configuration for the plugin. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. When a new `WasmPluginVersion` version is created, the digest of the contents is saved in the `plugin_config_digest` field.", + "format": "byte", + "type": "string" + }, + "pluginConfigDigest": { + "description": "Output only. This field holds the digest (usually checksum) value for the plugin configuration. The value is calculated based on the contents of the `plugin_config_data` field or the container image defined by the `plugin_config_uri` field.", + "readOnly": true, + "type": "string" + }, + "pluginConfigUri": { + "description": "URI of the plugin configuration stored in the Artifact Registry. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. The container image must contain only a single file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the digest of the container image is saved in the `plugin_config_digest` field.", + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/discovery/networkservices-v1beta1.json b/discovery/networkservices-v1beta1.json index 127e7e9fb3..79cb7c8df5 100644 --- a/discovery/networkservices-v1beta1.json +++ b/discovery/networkservices-v1beta1.json @@ -671,6 +671,73 @@ "https://www.googleapis.com/auth/cloud-platform" ] } + }, + "resources": { + "routeViews": { + "methods": { + "get": { + "description": "Get a single RouteView of a Gateway.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/gateways/{gatewaysId}/routeViews/{routeViewsId}", + "httpMethod": "GET", + "id": "networkservices.projects.locations.gateways.routeViews.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the GatewayRouteView resource. Formats: projects/{project_number}/locations/{location}/gateways/{gateway_name}/routeViews/{route_view_name}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gateways/[^/]+/routeViews/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "GatewayRouteView" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists RouteViews", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/gateways/{gatewaysId}/routeViews", + "httpMethod": "GET", + "id": "networkservices.projects.locations.gateways.routeViews.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of GatewayRouteViews to return per call.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListGatewayRouteViewsResponse` Indicates that this is a continuation of a prior `ListGatewayRouteViews` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The Gateway to which a Route is associated. Formats: projects/{project_number}/locations/{location}/gateways/{gateway_name}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/gateways/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/routeViews", + "response": { + "$ref": "ListGatewayRouteViewsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } } }, "grpcRoutes": { @@ -1506,12 +1573,79 @@ "https://www.googleapis.com/auth/cloud-platform" ] } + }, + "resources": { + "routeViews": { + "methods": { + "get": { + "description": "Get a single RouteView of a Mesh.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/meshes/{meshesId}/routeViews/{routeViewsId}", + "httpMethod": "GET", + "id": "networkservices.projects.locations.meshes.routeViews.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the MeshRouteView resource. Format: projects/{project_number}/locations/{location}/meshes/{mesh_name}/routeViews/{route_view_name}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/meshes/[^/]+/routeViews/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "MeshRouteView" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists RouteViews", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/meshes/{meshesId}/routeViews", + "httpMethod": "GET", + "id": "networkservices.projects.locations.meshes.routeViews.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of MeshRouteViews to return per call.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListMeshRouteViewsResponse` Indicates that this is a continuation of a prior `ListMeshRouteViews` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The Mesh to which a Route is associated. Format: projects/{project_number}/locations/{location}/meshes/{mesh_name}", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/meshes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/routeViews", + "response": { + "$ref": "ListMeshRouteViewsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } } }, "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "networkservices.projects.locations.operations.cancel", @@ -1885,7 +2019,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the ServiceLbPolicy resource. It matches pattern `projects/{project}/locations/{location}/serviceLbPolicies/{service_lb_policy_name}`.", + "description": "Identifier. Name of the ServiceLbPolicy resource. It matches pattern `projects/{project}/locations/{location}/serviceLbPolicies/{service_lb_policy_name}`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/serviceLbPolicies/[^/]+$", "required": true, @@ -2224,13 +2358,310 @@ ] } } + }, + "wasmPlugins": { + "methods": { + "create": { + "description": "Creates a new `WasmPlugin` resource in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/wasmPlugins", + "httpMethod": "POST", + "id": "networkservices.projects.locations.wasmPlugins.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the `WasmPlugin` resource. Must be in the format `projects/{project}/locations/global`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "wasmPluginId": { + "description": "Required. User-provided ID of the `WasmPlugin` resource to be created.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/wasmPlugins", + "request": { + "$ref": "WasmPlugin" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified `WasmPlugin` resource.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/wasmPlugins/{wasmPluginsId}", + "httpMethod": "DELETE", + "id": "networkservices.projects.locations.wasmPlugins.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the `WasmPlugin` resource to delete. Must be in the format `projects/{project}/locations/global/wasmPlugins/{wasm_plugin}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/wasmPlugins/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified `WasmPlugin` resource.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/wasmPlugins/{wasmPluginsId}", + "httpMethod": "GET", + "id": "networkservices.projects.locations.wasmPlugins.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the `WasmPlugin` resource to get. Must be in the format `projects/{project}/locations/global/wasmPlugins/{wasm_plugin}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/wasmPlugins/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "Determines how much data must be returned in the response. See [AIP-157](https://google.aip.dev/157).", + "enum": [ + "WASM_PLUGIN_VIEW_UNSPECIFIED", + "WASM_PLUGIN_VIEW_BASIC", + "WASM_PLUGIN_VIEW_FULL" + ], + "enumDescriptions": [ + "Unspecified value. Do not use.", + "If specified in the `GET` request for a `WasmPlugin` resource, the server's response includes just the `WasmPlugin` resource.", + "If specified in the `GET` request for a `WasmPlugin` resource, the server's response includes the `WasmPlugin` resource with all its versions." + ], + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "WasmPlugin" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists `WasmPlugin` resources in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/wasmPlugins", + "httpMethod": "GET", + "id": "networkservices.projects.locations.wasmPlugins.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of `WasmPlugin` resources to return per call. If not specified, at most 50 `WasmPlugin` resources are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListWasmPluginsResponse` call. Indicates that this is a continuation of a prior `ListWasmPlugins` call, and that the next page of data is to be returned.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location from which the `WasmPlugin` resources are listed, specified in the following format: `projects/{project}/locations/global`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/wasmPlugins", + "response": { + "$ref": "ListWasmPluginsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of the specified `WasmPlugin` resource.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/wasmPlugins/{wasmPluginsId}", + "httpMethod": "PATCH", + "id": "networkservices.projects.locations.wasmPlugins.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. Name of the `WasmPlugin` resource in the following format: `projects/{project}/locations/{location}/wasmPlugins/{wasm_plugin}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/wasmPlugins/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. Used to specify the fields to be overwritten in the `WasmPlugin` resource by the update. The fields specified in the `update_mask` field are relative to the resource, not the full request. An omitted `update_mask` field is treated as an implied `update_mask` field equivalent to all fields that are populated (that have a non-empty value). The `update_mask` field supports a special value `*`, which means that each field in the given `WasmPlugin` resource (including the empty ones) replaces the current value.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "WasmPlugin" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "versions": { + "methods": { + "create": { + "description": "Creates a new `WasmPluginVersion` resource in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/wasmPlugins/{wasmPluginsId}/versions", + "httpMethod": "POST", + "id": "networkservices.projects.locations.wasmPlugins.versions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource of the `WasmPluginVersion` resource. Must be in the format `projects/{project}/locations/global/wasmPlugins/{wasm_plugin}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/wasmPlugins/[^/]+$", + "required": true, + "type": "string" + }, + "wasmPluginVersionId": { + "description": "Required. User-provided ID of the `WasmPluginVersion` resource to be created.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/versions", + "request": { + "$ref": "WasmPluginVersion" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes the specified `WasmPluginVersion` resource.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/wasmPlugins/{wasmPluginsId}/versions/{versionsId}", + "httpMethod": "DELETE", + "id": "networkservices.projects.locations.wasmPlugins.versions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the `WasmPluginVersion` resource to delete. Must be in the format `projects/{project}/locations/global/wasmPlugins/{wasm_plugin}/versions/{wasm_plugin_version}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/wasmPlugins/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of the specified `WasmPluginVersion` resource.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/wasmPlugins/{wasmPluginsId}/versions/{versionsId}", + "httpMethod": "GET", + "id": "networkservices.projects.locations.wasmPlugins.versions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. A name of the `WasmPluginVersion` resource to get. Must be in the format `projects/{project}/locations/global/wasmPlugins/{wasm_plugin}/versions/{wasm_plugin_version}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/wasmPlugins/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "WasmPluginVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists `WasmPluginVersion` resources in a given project and location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/wasmPlugins/{wasmPluginsId}/versions", + "httpMethod": "GET", + "id": "networkservices.projects.locations.wasmPlugins.versions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of `WasmPluginVersion` resources to return per call. If not specified, at most 50 `WasmPluginVersion` resources are returned. The maximum value is 1000; values above 1000 are coerced to 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListWasmPluginVersionsResponse` call. Indicates that this is a continuation of a prior `ListWasmPluginVersions` call, and that the next page of data is to be returned.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The `WasmPlugin` resource whose `WasmPluginVersion`s are listed, specified in the following format: `projects/{project}/locations/global/wasmPlugins/{wasm_plugin}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/wasmPlugins/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/versions", + "response": { + "$ref": "ListWasmPluginVersionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } } } } } } }, - "revision": "20240919", + "revision": "20241118", "rootUrl": "https://networkservices.googleapis.com/", "schemas": { "AuthzExtension": { @@ -2318,7 +2749,7 @@ ], "enumDescriptions": [ "Not specified.", - "The extension service uses ExtProc GRPC API." + "The extension service uses ExtProc GRPC API over a gRPC stream. This is the default value if the wire format is not specified. The backend service for the extension must use HTTP2 or H2C as the protocol. All `supported_events` for a client request will be sent as part of the same gRPC stream." ], "type": "string" } @@ -2443,7 +2874,7 @@ "id": "ExtensionChainExtension", "properties": { "authority": { - "description": "Optional. The `:authority` header in the gRPC request sent from Envoy to the extension service. Required for Callout extensions.", + "description": "Optional. The `:authority` header in the gRPC request sent from Envoy to the extension service. Required for Callout extensions. This field is not supported for plugin extensions. Setting it results in a validation error.", "type": "string" }, "failOpen": { @@ -2457,16 +2888,24 @@ }, "type": "array" }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. The metadata provided here is included as part of the `metadata_context` (of type `google.protobuf.Struct`) in the `ProcessingRequest` message sent to the extension server. The metadata is available under the namespace `com.google....`. For example: `com.google.lb_traffic_extension.lbtrafficextension1.chain1.ext1`. The following variables are supported in the metadata: `{forwarding_rule_id}` - substituted with the forwarding rule's fully qualified resource name. This field is not supported for plugin extensions. Setting it results in a validation error.", + "type": "object" + }, "name": { "description": "Required. The name for this extension. The name is logged as part of the HTTP request logs. The name must conform with RFC-1034, is restricted to lower-cased letters, numbers and hyphens, and can have a maximum length of 63 characters. Additionally, the first character must be a letter and the last a letter or a number.", "type": "string" }, "service": { - "description": "Required. The reference to the service that runs the extension. Currently only callout extensions are supported here. To configure a callout extension, `service` must be a fully-qualified reference to a [backend service](https://cloud.google.com/compute/docs/reference/rest/v1/backendServices) in the format: `https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/backendServices/{backendService}` or `https://www.googleapis.com/compute/v1/projects/{project}/global/backendServices/{backendService}`.", + "description": "Required. The reference to the service that runs the extension. To configure a callout extension, `service` must be a fully-qualified reference to a [backend service](https://cloud.google.com/compute/docs/reference/rest/v1/backendServices) in the format: `https://www.googleapis.com/compute/v1/projects/{project}/regions/{region}/backendServices/{backendService}` or `https://www.googleapis.com/compute/v1/projects/{project}/global/backendServices/{backendService}`. To configure a plugin extension, `service` must be a reference to a [`WasmPlugin` resource](https://cloud.google.com/service-extensions/docs/reference/rest/v1beta1/projects.locations.wasmPlugins) in the format: `projects/{project}/locations/{location}/wasmPlugins/{plugin}` or `//networkservices.googleapis.com/projects/{project}/locations/{location}/wasmPlugins/{wasmPlugin}`. Plugin extensions are currently supported for the `LbTrafficExtension` and the `LbRouteExtension` resources.", "type": "string" }, "supportedEvents": { - "description": "Optional. A set of events during request or response processing for which this extension is called. This field is required for the `LbTrafficExtension` resource. It must not be set for the `LbRouteExtension` resource.", + "description": "Optional. A set of events during request or response processing for which this extension is called. This field is required for the `LbTrafficExtension` resource. It must not be set for the `LbRouteExtension` resource, otherwise a validation error is returned.", "items": { "enum": [ "EVENT_TYPE_UNSPECIFIED", @@ -2491,7 +2930,7 @@ "type": "array" }, "timeout": { - "description": "Optional. Specifies the timeout for each individual message on the stream. The timeout must be between 10-1000 milliseconds. Required for Callout extensions.", + "description": "Optional. Specifies the timeout for each individual message on the stream. The timeout must be between `10`-`1000` milliseconds. Required for callout extensions. This field is not supported for plugin extensions. Setting it results in a validation error.", "format": "google-duration", "type": "string" } @@ -2644,6 +3083,39 @@ }, "type": "object" }, + "GatewayRouteView": { + "description": "GatewayRouteView defines view-only resource for Routes to a Gateway", + "id": "GatewayRouteView", + "properties": { + "name": { + "description": "Output only. Identifier. Full path name of the GatewayRouteView resource. Format: projects/{project_number}/locations/{location}/gateways/{gateway_name}/routeViews/{route_view_name}", + "readOnly": true, + "type": "string" + }, + "routeId": { + "description": "Output only. The resource id for the route.", + "readOnly": true, + "type": "string" + }, + "routeLocation": { + "description": "Output only. Location where the route exists.", + "readOnly": true, + "type": "string" + }, + "routeProjectNumber": { + "description": "Output only. Project number where the route exists.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "routeType": { + "description": "Output only. Type of the route: HttpRoute,GrpcRoute,TcpRoute, or TlsRoute", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GrpcRoute": { "description": "GrpcRoute is the resource defining how gRPC traffic routed by a Mesh or Gateway resource is routed.", "id": "GrpcRoute", @@ -3523,7 +3995,7 @@ "type": "array" }, "forwardingRules": { - "description": "Required. A list of references to the forwarding rules to which this service extension is attached to. At least one forwarding rule is required. There can be only one `LbRouteExtension` resource per forwarding rule.", + "description": "Required. A list of references to the forwarding rules to which this service extension is attached. At least one forwarding rule is required. There can be only one `LbRouteExtension` resource per forwarding rule.", "items": { "type": "string" }, @@ -3555,7 +4027,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Optional. The metadata provided here is included as part of the `metadata_context` (of type `google.protobuf.Struct`) in the `ProcessingRequest` message sent to the extension server. The metadata is available under the namespace `com.google.lb_route_extension.`. The following variables are supported in the metadata Struct: `{forwarding_rule_id}` - substituted with the forwarding rule's fully qualified resource name.", + "description": "Optional. The metadata provided here is included as part of the `metadata_context` (of type `google.protobuf.Struct`) in the `ProcessingRequest` message sent to the extension server. The metadata is available under the namespace `com.google.lb_route_extension.`. The following variables are supported in the metadata Struct: `{forwarding_rule_id}` - substituted with the forwarding rule's fully qualified resource name. This field is not supported for plugin extensions. Setting it results in a validation error.", "type": "object" }, "name": { @@ -3593,7 +4065,7 @@ "type": "array" }, "forwardingRules": { - "description": "Required. A list of references to the forwarding rules to which this service extension is attached to. At least one forwarding rule is required. There can be only one `LBTrafficExtension` resource per forwarding rule.", + "description": "Optional. A list of references to the forwarding rules to which this service extension is attached. At least one forwarding rule is required. There can be only one `LBTrafficExtension` resource per forwarding rule.", "items": { "type": "string" }, @@ -3625,7 +4097,7 @@ "description": "Properties of the object.", "type": "any" }, - "description": "Optional. The metadata provided here is included in the `ProcessingRequest.metadata_context.filter_metadata` map field. The metadata is available under the key `com.google.lb_traffic_extension.`. The following variables are supported in the metadata: `{forwarding_rule_id}` - substituted with the forwarding rule's fully qualified resource name.", + "description": "Optional. The metadata provided here is included in the `ProcessingRequest.metadata_context.filter_metadata` map field. The metadata is available under the key `com.google.lb_traffic_extension.`. The following variables are supported in the metadata: `{forwarding_rule_id}` - substituted with the forwarding rule's fully qualified resource name. This field is not supported for plugin extensions. Setting it results in a validation error.", "type": "object" }, "name": { @@ -3684,6 +4156,24 @@ }, "type": "object" }, + "ListGatewayRouteViewsResponse": { + "description": "Response returned by the ListGatewayRouteViews method.", + "id": "ListGatewayRouteViewsResponse", + "properties": { + "gatewayRouteViews": { + "description": "List of GatewayRouteView resources.", + "items": { + "$ref": "GatewayRouteView" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, "ListGatewaysResponse": { "description": "Response returned by the ListGateways method.", "id": "ListGatewaysResponse", @@ -3813,6 +4303,24 @@ }, "type": "object" }, + "ListMeshRouteViewsResponse": { + "description": "Response returned by the ListMeshRouteViews method.", + "id": "ListMeshRouteViewsResponse", + "properties": { + "meshRouteViews": { + "description": "List of MeshRouteView resources.", + "items": { + "$ref": "MeshRouteView" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + } + }, + "type": "object" + }, "ListMeshesResponse": { "description": "Response returned by the ListMeshes method.", "id": "ListMeshesResponse", @@ -3921,6 +4429,42 @@ }, "type": "object" }, + "ListWasmPluginVersionsResponse": { + "description": "Response returned by the `ListWasmPluginVersions` method.", + "id": "ListWasmPluginVersionsResponse", + "properties": { + "nextPageToken": { + "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", + "type": "string" + }, + "wasmPluginVersions": { + "description": "List of `WasmPluginVersion` resources.", + "items": { + "$ref": "WasmPluginVersion" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListWasmPluginsResponse": { + "description": "Response returned by the `ListWasmPlugins` method.", + "id": "ListWasmPluginsResponse", + "properties": { + "nextPageToken": { + "description": "If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.", + "type": "string" + }, + "wasmPlugins": { + "description": "List of `WasmPlugin` resources.", + "items": { + "$ref": "WasmPlugin" + }, + "type": "array" + } + }, + "type": "object" + }, "Location": { "description": "A resource that represents a Google Cloud location.", "id": "Location", @@ -3956,7 +4500,7 @@ "type": "object" }, "LoggingConfig": { - "description": "The configuration for Platform Telemetry logging for Eventarc Avdvanced resources.", + "description": "The configuration for Platform Telemetry logging for Eventarc Advanced resources.", "id": "LoggingConfig", "properties": { "logSeverity": { @@ -4048,6 +4592,39 @@ }, "type": "object" }, + "MeshRouteView": { + "description": "MeshRouteView defines view-only resource for Routes to a Mesh", + "id": "MeshRouteView", + "properties": { + "name": { + "description": "Output only. Identifier. Full path name of the MeshRouteView resource. Format: projects/{project_number}/locations/{location}/meshes/{mesh_name}/routeViews/{route_view_name}", + "readOnly": true, + "type": "string" + }, + "routeId": { + "description": "Output only. The resource id for the route.", + "readOnly": true, + "type": "string" + }, + "routeLocation": { + "description": "Output only. Location where the route exists.", + "readOnly": true, + "type": "string" + }, + "routeProjectNumber": { + "description": "Output only. Project number where the route exists.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "routeType": { + "description": "Output only. Type of the route: HttpRoute,GrpcRoute,TcpRoute, or TlsRoute", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "MetadataLabelMatcher": { "description": "The matcher that is based on node metadata presented by xDS clients.", "id": "MetadataLabelMatcher", @@ -4271,7 +4848,7 @@ "type": "string" }, "name": { - "description": "Required. Name of the ServiceLbPolicy resource. It matches pattern `projects/{project}/locations/{location}/serviceLbPolicies/{service_lb_policy_name}`.", + "description": "Identifier. Name of the ServiceLbPolicy resource. It matches pattern `projects/{project}/locations/{location}/serviceLbPolicies/{service_lb_policy_name}`.", "type": "string" }, "updateTime": { @@ -4612,6 +5189,223 @@ } }, "type": "object" + }, + "WasmPlugin": { + "description": "`WasmPlugin` is a resource representing a service executing a customer-provided Wasm module.", + "id": "WasmPlugin", + "properties": { + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. A human-readable description of the resource.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Set of labels associated with the `WasmPlugin` resource. The format must comply with [the following requirements](/compute/docs/labeling-resources#requirements).", + "type": "object" + }, + "logConfig": { + "$ref": "WasmPluginLogConfig", + "description": "Optional. Specifies the logging options for the activity performed by this plugin. If logging is enabled, plugin logs are exported to Cloud Logging. Note that the settings relate to the logs generated by using logging statements in your Wasm code." + }, + "mainVersionId": { + "description": "Optional. The ID of the `WasmPluginVersion` resource that is the currently serving one. The version referred to must be a child of this `WasmPlugin` resource.", + "type": "string" + }, + "name": { + "description": "Identifier. Name of the `WasmPlugin` resource in the following format: `projects/{project}/locations/{location}/wasmPlugins/{wasm_plugin}`.", + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "usedBy": { + "description": "Output only. List of all [extensions](https://cloud.google.com/service-extensions/docs/overview) that use this `WasmPlugin` resource.", + "items": { + "$ref": "WasmPluginUsedBy" + }, + "readOnly": true, + "type": "array" + }, + "versions": { + "additionalProperties": { + "$ref": "WasmPluginVersionDetails" + }, + "description": "Optional. All versions of this `WasmPlugin` resource in the key-value format. The key is the resource ID, and the value is the `VersionDetails` object. Lets you create or update a `WasmPlugin` resource and its versions in a single request. When the `main_version_id` field is not empty, it must point to one of the `VersionDetails` objects in the map. If provided in a `PATCH` request, the new versions replace the previous set. Any version omitted from the `versions` field is removed. Because the `WasmPluginVersion` resource is immutable, if a `WasmPluginVersion` resource with the same name already exists and differs, the request fails. Note: In a `GET` request, this field is populated only if the field `GetWasmPluginRequest.view` is set to `WASM_PLUGIN_VIEW_FULL`.", + "type": "object" + } + }, + "type": "object" + }, + "WasmPluginLogConfig": { + "description": "Specifies the logging options for the activity performed by this plugin. If logging is enabled, plugin logs are exported to Cloud Logging.", + "id": "WasmPluginLogConfig", + "properties": { + "enable": { + "description": "Optional. Specifies whether to enable logging for activity by this plugin. Defaults to `false`.", + "type": "boolean" + }, + "minLogLevel": { + "description": "Non-empty default. Specificies the lowest level of the plugin logs that are exported to Cloud Logging. This setting relates to the logs generated by using logging statements in your Wasm code. This field is can be set only if logging is enabled for the plugin. If the field is not provided when logging is enabled, it is set to `INFO` by default.", + "enum": [ + "LOG_LEVEL_UNSPECIFIED", + "TRACE", + "DEBUG", + "INFO", + "WARN", + "ERROR", + "CRITICAL" + ], + "enumDescriptions": [ + "Unspecified value. Defaults to `LogLevel.INFO`.", + "Report logs with TRACE level and above.", + "Report logs with DEBUG level and above.", + "Report logs with INFO level and above.", + "Report logs with WARN level and above.", + "Report logs with ERROR level and above.", + "Report logs with CRITICAL level only." + ], + "type": "string" + }, + "sampleRate": { + "description": "Non-empty default. Configures the sampling rate of activity logs, where `1.0` means all logged activity is reported and `0.0` means no activity is reported. A floating point value between `0.0` and `1.0` indicates that a percentage of log messages is stored. The default value when logging is enabled is `1.0`. The value of the field must be between `0` and `1` (inclusive). This field can be specified only if logging is enabled for this plugin.", + "format": "float", + "type": "number" + } + }, + "type": "object" + }, + "WasmPluginUsedBy": { + "description": "Defines a resource that uses the `WasmPlugin` resource.", + "id": "WasmPluginUsedBy", + "properties": { + "name": { + "description": "Output only. Full name of the resource https://google.aip.dev/122#full-resource-names, for example `//networkservices.googleapis.com/projects/{project}/locations/{location}/lbRouteExtensions/{extension}`", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "WasmPluginVersion": { + "description": "A single immutable version of a `WasmPlugin` resource. Defines the Wasm module used and optionally its runtime config.", + "id": "WasmPluginVersion", + "properties": { + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. A human-readable description of the resource.", + "type": "string" + }, + "imageDigest": { + "description": "Output only. The resolved digest for the image specified in the `image` field. The digest is resolved during the creation of `WasmPluginVersion` resource. This field holds the digest value, regardless of whether a tag or digest was originally specified in the `image` field.", + "readOnly": true, + "type": "string" + }, + "imageUri": { + "description": "Optional. URI of the container image containing the plugin, stored in the Artifact Registry. When a new `WasmPluginVersion` resource is created, the digest of the container image is saved in the `image_digest` field. When downloading an image, the digest value is used instead of an image tag.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Set of labels associated with the `WasmPluginVersion` resource.", + "type": "object" + }, + "name": { + "description": "Identifier. Name of the `WasmPluginVersion` resource in the following format: `projects/{project}/locations/{location}/wasmPlugins/{wasm_plugin}/ versions/{wasm_plugin_version}`.", + "type": "string" + }, + "pluginConfigData": { + "description": "Configuration for the plugin. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. When a new `WasmPluginVersion` resource is created, the digest of the contents is saved in the `plugin_config_digest` field.", + "format": "byte", + "type": "string" + }, + "pluginConfigDigest": { + "description": "Output only. This field holds the digest (usually checksum) value for the plugin configuration. The value is calculated based on the contents of `plugin_config_data` or the container image defined by the `plugin_config_uri` field.", + "readOnly": true, + "type": "string" + }, + "pluginConfigUri": { + "description": "URI of the plugin configuration stored in the Artifact Registry. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. The container image must contain only a single file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the digest of the container image is saved in the `plugin_config_digest` field.", + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "WasmPluginVersionDetails": { + "description": "Details of a `WasmPluginVersion` resource to be inlined in the `WasmPlugin` resource.", + "id": "WasmPluginVersionDetails", + "properties": { + "createTime": { + "description": "Output only. The timestamp when the resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. A human-readable description of the resource.", + "type": "string" + }, + "imageDigest": { + "description": "Output only. The resolved digest for the image specified in `image`. The digest is resolved during the creation of a `WasmPluginVersion` resource. This field holds the digest value regardless of whether a tag or digest was originally specified in the `image` field.", + "readOnly": true, + "type": "string" + }, + "imageUri": { + "description": "Optional. URI of the container image containing the Wasm module, stored in the Artifact Registry. The container image must contain only a single file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource is created, the URI gets resolved to an image digest and saved in the `image_digest` field.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Set of labels associated with the `WasmPluginVersion` resource.", + "type": "object" + }, + "pluginConfigData": { + "description": "Configuration for the plugin. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. When a new `WasmPluginVersion` version is created, the digest of the contents is saved in the `plugin_config_digest` field.", + "format": "byte", + "type": "string" + }, + "pluginConfigDigest": { + "description": "Output only. This field holds the digest (usually checksum) value for the plugin configuration. The value is calculated based on the contents of the `plugin_config_data` field or the container image defined by the `plugin_config_uri` field.", + "readOnly": true, + "type": "string" + }, + "pluginConfigUri": { + "description": "URI of the plugin configuration stored in the Artifact Registry. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. The container image must contain only a single file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the digest of the container image is saved in the `plugin_config_digest` field.", + "type": "string" + }, + "updateTime": { + "description": "Output only. The timestamp when the resource was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" } }, "servicePath": "", diff --git a/discovery/notebooks-v1.json b/discovery/notebooks-v1.json index de29e90a32..2003a14f17 100644 --- a/discovery/notebooks-v1.json +++ b/discovery/notebooks-v1.json @@ -1201,7 +1201,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "notebooks.projects.locations.operations.cancel", @@ -2008,7 +2008,7 @@ } } }, - "revision": "20240918", + "revision": "20241204", "rootUrl": "https://notebooks.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -2132,7 +2132,7 @@ "description": "Required. Defines flags that are used to run the diagnostic tool" }, "timeoutMinutes": { - "description": "Optional. Maxmium amount of time in minutes before the operation times out.", + "description": "Optional. Maximum amount of time in minutes before the operation times out.", "format": "int32", "type": "integer" } @@ -2148,7 +2148,7 @@ "description": "Required. Defines flags that are used to run the diagnostic tool" }, "timeoutMinutes": { - "description": "Optional. Maxmium amount of time in minutes before the operation times out.", + "description": "Optional. Maximum amount of time in minutes before the operation times out.", "format": "int32", "type": "integer" } @@ -2706,7 +2706,7 @@ "type": "object" }, "machineType": { - "description": "Required. The [Compute Engine machine type](https://cloud.google.com/compute/docs/machine-types) of this instance.", + "description": "Required. The [Compute Engine machine type](https://cloud.google.com/compute/docs/machine-resource) of this instance.", "type": "string" }, "metadata": { @@ -3360,7 +3360,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "type": "boolean" }, "statusMessage": { @@ -3968,9 +3968,9 @@ "enumDescriptions": [ "Unspecified state.", "The job is executing normally.", - "The job is paused by the user. It will not execute. A user can intentionally pause the job using PauseJobRequest.", + "The job is paused by the user. It will not execute. A user can intentionally pause the job using [Cloud Scheduler](https://cloud.google.com/scheduler/docs/creating#pause).", "The job is disabled by the system due to error. The user cannot directly set a job to be disabled.", - "The job state resulting from a failed CloudScheduler.UpdateJob operation. To recover a job from this state, retry CloudScheduler.UpdateJob until a successful response is received.", + "The job state resulting from a failed [CloudScheduler.UpdateJob](https://cloud.google.com/scheduler/docs/creating#edit) operation. To recover a job from this state, retry [CloudScheduler.UpdateJob](https://cloud.google.com/scheduler/docs/creating#edit) until a successful response is received.", "The schedule resource is being created.", "The schedule resource is being deleted." ], @@ -4109,7 +4109,7 @@ "id": "SetInstanceMachineTypeRequest", "properties": { "machineType": { - "description": "Required. The [Compute Engine machine type](https://cloud.google.com/compute/docs/machine-types).", + "description": "Required. The [Compute Engine machine type](https://cloud.google.com/compute/docs/machine-resource).", "type": "string" } }, diff --git a/discovery/notebooks-v2.json b/discovery/notebooks-v2.json index 1a99f852ee..b283831986 100644 --- a/discovery/notebooks-v2.json +++ b/discovery/notebooks-v2.json @@ -779,7 +779,7 @@ "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`.", + "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": "v2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "notebooks.projects.locations.operations.cancel", @@ -904,7 +904,7 @@ } } }, - "revision": "20240918", + "revision": "20241204", "rootUrl": "https://notebooks.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -1168,7 +1168,7 @@ "description": "Required. Defines flags that are used to run the diagnostic tool" }, "timeoutMinutes": { - "description": "Optional. Maxmium amount of time in minutes before the operation times out.", + "description": "Optional. Maximum amount of time in minutes before the operation times out.", "format": "int32", "type": "integer" } @@ -1406,6 +1406,10 @@ "description": "Optional. If true, the notebook instance will not register with the proxy.", "type": "boolean" }, + "enableThirdPartyIdentity": { + "description": "Optional. Flag that specifies that a notebook can be accessed with third party identity provider.", + "type": "boolean" + }, "gceSetup": { "$ref": "GceSetup", "description": "Optional. Compute Engine setup for the notebook. Uses notebook-defined fields." @@ -1718,7 +1722,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "type": "boolean" }, "statusMessage": { diff --git a/discovery/ondemandscanning-v1.json b/discovery/ondemandscanning-v1.json index 6a954a1a83..4df4940cb7 100644 --- a/discovery/ondemandscanning-v1.json +++ b/discovery/ondemandscanning-v1.json @@ -112,7 +112,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "ondemandscanning.projects.locations.operations.cancel", @@ -339,7 +339,7 @@ } } }, - "revision": "20240715", + "revision": "20241209", "rootUrl": "https://ondemandscanning.googleapis.com/", "schemas": { "AliasContext": { diff --git a/discovery/ondemandscanning-v1beta1.json b/discovery/ondemandscanning-v1beta1.json index 2732e38a5b..ead5c1ab88 100644 --- a/discovery/ondemandscanning-v1beta1.json +++ b/discovery/ondemandscanning-v1beta1.json @@ -112,7 +112,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "ondemandscanning.projects.locations.operations.cancel", @@ -339,7 +339,7 @@ } } }, - "revision": "20240715", + "revision": "20241209", "rootUrl": "https://ondemandscanning.googleapis.com/", "schemas": { "AliasContext": { diff --git a/discovery/oracledatabase-v1.json b/discovery/oracledatabase-v1.json index 8f3cc2636d..6985828adb 100644 --- a/discovery/oracledatabase-v1.json +++ b/discovery/oracledatabase-v1.json @@ -994,7 +994,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "oracledatabase.projects.locations.operations.cancel", @@ -1119,7 +1119,7 @@ } } }, - "revision": "20240918", + "revision": "20241210", "rootUrl": "https://oracledatabase.googleapis.com/", "schemas": { "AllConnectionStrings": { @@ -2237,8 +2237,9 @@ "type": "integer" }, "cpuCount": { - "description": "Optional. The number of enabled CPU cores.", + "description": "Output only. The number of enabled CPU cores.", "format": "int32", + "readOnly": true, "type": "integer" }, "customerContacts": { @@ -2255,8 +2256,9 @@ "type": "number" }, "dbNodeStorageSizeGb": { - "description": "Optional. The local node storage allocated in GBs.", + "description": "Output only. The local node storage allocated in GBs.", "format": "int32", + "readOnly": true, "type": "integer" }, "dbServerVersion": { @@ -2293,8 +2295,9 @@ "type": "integer" }, "memorySizeGb": { - "description": "Optional. The memory allocated in GBs.", + "description": "Output only. The memory allocated in GBs.", "format": "int32", + "readOnly": true, "type": "integer" }, "monthlyDbServerVersion": { @@ -2631,8 +2634,7 @@ "type": "integer" }, "systemVersion": { - "description": "Output only. Operating system version of the image.", - "readOnly": true, + "description": "Optional. Operating system version of the image.", "type": "string" }, "timeZone": { @@ -3065,13 +3067,15 @@ "STATE_UNSPECIFIED", "ACCOUNT_NOT_LINKED", "ACCOUNT_NOT_ACTIVE", - "ACTIVE" + "ACTIVE", + "ACCOUNT_SUSPENDED" ], "enumDescriptions": [ "Default unspecified value.", "Account not linked.", "Account is linked but not active.", - "Entitlement and Account are active." + "Entitlement and Account are active.", + "Account is suspended." ], "readOnly": true, "type": "string" @@ -3719,22 +3723,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } @@ -3746,11 +3750,11 @@ "id": "TimeZone", "properties": { "id": { - "description": "IANA Time Zone Database time zone, e.g. \"America/New_York\".", + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", "type": "string" }, "version": { - "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", "type": "string" } }, diff --git a/discovery/orgpolicy-v2.json b/discovery/orgpolicy-v2.json index ad5d5b3ea3..cad89544dd 100644 --- a/discovery/orgpolicy-v2.json +++ b/discovery/orgpolicy-v2.json @@ -930,7 +930,7 @@ } } }, - "revision": "20240524", + "revision": "20241129", "rootUrl": "https://orgpolicy.googleapis.com/", "schemas": { "GoogleCloudOrgpolicyV2AlternatePolicySpec": { @@ -989,6 +989,10 @@ "supportsDryRun": { "description": "Shows if dry run is supported for this constraint or not.", "type": "boolean" + }, + "supportsSimulation": { + "description": "Shows if simulation is supported for this constraint or not.", + "type": "boolean" } }, "type": "object" @@ -996,7 +1000,136 @@ "GoogleCloudOrgpolicyV2ConstraintBooleanConstraint": { "description": "A constraint that is either enforced or not. For example, a constraint `constraints/compute.disableSerialPortAccess`. If it is enforced on a VM instance, serial port connections will not be opened to that instance.", "id": "GoogleCloudOrgpolicyV2ConstraintBooleanConstraint", - "properties": {}, + "properties": { + "customConstraintDefinition": { + "$ref": "GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinition", + "description": "Custom constraint definition. This is set only for Managed Constraints" + } + }, + "type": "object" + }, + "GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinition": { + "description": "Currently used for Managed Constraints. This represents a subset of fields missing from Constraint proto that are required to describe CustomConstraint", + "id": "GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinition", + "properties": { + "actionType": { + "description": "Allow or deny type.", + "enum": [ + "ACTION_TYPE_UNSPECIFIED", + "ALLOW", + "DENY" + ], + "enumDescriptions": [ + "Unspecified. Results in an error.", + "Allowed action type.", + "Deny action type." + ], + "type": "string" + }, + "condition": { + "description": "Org policy condition/expression. For example: `resource.instanceName.matches(\"[production|test]_.*_(\\d)+\")` or, `resource.management.auto_upgrade == true` The max length of the condition is 1000 characters.", + "type": "string" + }, + "methodTypes": { + "description": "All the operations being applied for this constraint.", + "items": { + "enum": [ + "METHOD_TYPE_UNSPECIFIED", + "CREATE", + "UPDATE", + "DELETE", + "REMOVE_GRANT", + "GOVERN_TAGS" + ], + "enumDescriptions": [ + "Unspecified. Results in an error.", + "Constraint applied when creating the resource.", + "Constraint applied when updating the resource.", + "Constraint applied when deleting the resource. Not supported yet.", + "Constraint applied when removing an IAM grant.", + "Constraint applied when enforcing forced tagging." + ], + "type": "string" + }, + "type": "array" + }, + "parameters": { + "additionalProperties": { + "$ref": "GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameter" + }, + "description": "Stores Structure of parameters used by Constraint condition. Key of map represents name of the parameter.", + "type": "object" + }, + "resourceTypes": { + "description": "The resource instance type on which this policy applies. Format will be of the form : `/` Example: * `compute.googleapis.com/Instance`.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameter": { + "description": "Defines a parameter structure.", + "id": "GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameter", + "properties": { + "defaultValue": { + "description": "Sets the value of the parameter in an assignment if no value is given.", + "type": "any" + }, + "item": { + "description": "Determines the parameter’s value structure. For example, LIST can be specified by defining type : LIST, and item type as : STRING.", + "enum": [ + "TYPE_UNSPECIFIED", + "LIST", + "STRING", + "BOOLEAN" + ], + "enumDescriptions": [ + "Unspecified. Results in an error.", + "List parameter type.", + "String parameter type.", + "Boolean parameter type." + ], + "type": "string" + }, + "metadata": { + "$ref": "GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameterMetadata", + "description": "Defines subproperties primarily used by the UI to display user-friendly information." + }, + "type": { + "description": "Type of the parameter.", + "enum": [ + "TYPE_UNSPECIFIED", + "LIST", + "STRING", + "BOOLEAN" + ], + "enumDescriptions": [ + "Unspecified. Results in an error.", + "List parameter type.", + "String parameter type.", + "Boolean parameter type." + ], + "type": "string" + }, + "validValuesExpr": { + "description": "Provides a CEL expression to specify the acceptable parameter values during assignment. For example, parameterName in (\"parameterValue1\", \"parameterValue2\")", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameterMetadata": { + "description": "Defines Medata structure.", + "id": "GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameterMetadata", + "properties": { + "description": { + "description": "Detailed description of what this `parameter` is and use of it. Mutable.", + "type": "string" + } + }, "type": "object" }, "GoogleCloudOrgpolicyV2ConstraintListConstraint": { @@ -1221,6 +1354,14 @@ "description": "If `true`, then the policy is enforced. If `false`, then any configuration is acceptable. This field can be set only in policies for boolean constraints.", "type": "boolean" }, + "parameters": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Required for GMCs if parameters defined in constraints. Pass parameter values when policy enforcement is enabled. Ensure that parameter value types match those defined in the constraint definition. For example: { \"allowedLocations\" : [\"us-east1\", \"us-west1\"], \"allowAll\" : true }", + "type": "object" + }, "values": { "$ref": "GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValues", "description": "List of values to be used for this policy rule. This field can be set only in policies for list constraints." diff --git a/discovery/osconfig-v1.json b/discovery/osconfig-v1.json index d801c162cb..bc59253af7 100644 --- a/discovery/osconfig-v1.json +++ b/discovery/osconfig-v1.json @@ -636,7 +636,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/osPolicyAssignments/{osPolicyAssignmentsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "osconfig.projects.locations.osPolicyAssignments.operations.cancel", @@ -1083,7 +1083,7 @@ } } }, - "revision": "20241002", + "revision": "20241201", "rootUrl": "https://osconfig.googleapis.com/", "schemas": { "AptSettings": { @@ -1495,6 +1495,50 @@ }, "type": "object" }, + "GoogleCloudOsconfigV2beta__OperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "GoogleCloudOsconfigV2beta__OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "Inventory": { "description": "This API resource represents the available inventory data for a Compute Engine virtual machine (VM) instance at a given point in time. You can use this API resource to determine the inventory data of your VM. For more information, see [Information provided by OS inventory management](https://cloud.google.com/compute/docs/instances/os-inventory-management#data-collected).", "id": "Inventory", @@ -3527,11 +3571,11 @@ "id": "TimeZone", "properties": { "id": { - "description": "IANA Time Zone Database time zone, e.g. \"America/New_York\".", + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", "type": "string" }, "version": { - "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", "type": "string" } }, diff --git a/discovery/osconfig-v1alpha.json b/discovery/osconfig-v1alpha.json index 3e45373514..8449d2dbbc 100644 --- a/discovery/osconfig-v1alpha.json +++ b/discovery/osconfig-v1alpha.json @@ -646,7 +646,7 @@ "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`.", + "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": "v1alpha/projects/{projectsId}/locations/{locationsId}/osPolicyAssignments/{osPolicyAssignmentsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "osconfig.projects.locations.osPolicyAssignments.operations.cancel", @@ -707,7 +707,7 @@ } } }, - "revision": "20240901", + "revision": "20241117", "rootUrl": "https://osconfig.googleapis.com/", "schemas": { "CVSSv3": { @@ -962,6 +962,50 @@ }, "type": "object" }, + "GoogleCloudOsconfigV2beta__OperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "GoogleCloudOsconfigV2beta__OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "InstanceOSPoliciesCompliance": { "deprecated": true, "description": "This API resource represents the OS policies compliance data for a Compute Engine virtual machine (VM) instance at a given point in time. A Compute Engine VM can have multiple OS policy assignments, and each assignment can have multiple OS policies. As a result, multiple OS policies could be applied to a single VM. You can use this API resource to determine both the compliance state of your VM as well as the compliance state of an individual OS policy. For more information, see [View compliance](https://cloud.google.com/compute/docs/os-configuration-management/view-compliance).", diff --git a/discovery/osconfig-v1beta.json b/discovery/osconfig-v1beta.json index 83d5898782..2d2a6461b9 100644 --- a/discovery/osconfig-v1beta.json +++ b/discovery/osconfig-v1beta.json @@ -689,7 +689,7 @@ } } }, - "revision": "20241002", + "revision": "20241201", "rootUrl": "https://osconfig.googleapis.com/", "schemas": { "AptRepository": { @@ -1130,6 +1130,50 @@ }, "type": "object" }, + "GoogleCloudOsconfigV2beta__OperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "GoogleCloudOsconfigV2beta__OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GuestPolicy": { "description": "An OS Config resource representing a guest configuration policy. These policies represent the desired state for VM instance guest environments including packages to install or remove, package repository configurations, and software to install.", "id": "GuestPolicy", @@ -2295,11 +2339,11 @@ "id": "TimeZone", "properties": { "id": { - "description": "IANA Time Zone Database time zone, e.g. \"America/New_York\".", + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", "type": "string" }, "version": { - "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", "type": "string" } }, diff --git a/discovery/osconfig-v2beta.json b/discovery/osconfig-v2beta.json new file mode 100644 index 0000000000..1653289473 --- /dev/null +++ b/discovery/osconfig-v2beta.json @@ -0,0 +1,2274 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + } + } + } + }, + "basePath": "", + "baseUrl": "https://osconfig.googleapis.com/", + "batchPath": "batch", + "canonicalName": "OS Config", + "description": "OS management tools that can be used for patch management, patch compliance, and configuration management on VM instances.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/compute/docs/osconfig/rest", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "osconfig:v2beta", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://osconfig.mtls.googleapis.com/", + "name": "osconfig", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "folders": { + "resources": { + "locations": { + "resources": { + "global": { + "resources": { + "policyOrchestrators": { + "methods": { + "create": { + "description": "Creates a new policy orchestrator under the given folder resource. `name` field of the given orchestrator are ignored and instead replaced by a product of `parent` and `policy_orchestrator_id`. Orchestrator state field might be only set to `ACTIVE`, `STOPPED` or omitted (in which case, the created resource will be in `ACTIVE` state anyway).", + "flatPath": "v2beta/folders/{foldersId}/locations/global/policyOrchestrators", + "httpMethod": "POST", + "id": "osconfig.folders.locations.global.policyOrchestrators.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name in the form of: * `organizations/{organization_id}/locations/global` * `folders/{folder_id}/locations/global` * `projects/{project_id_or_number}/locations/global`", + "location": "path", + "pattern": "^folders/[^/]+/locations/global$", + "required": true, + "type": "string" + }, + "policyOrchestratorId": { + "description": "Required. The logical identifier of the policy orchestrator, with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the parent.", + "location": "query", + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/{+parent}/policyOrchestrators", + "request": { + "$ref": "GoogleCloudOsconfigV2beta__PolicyOrchestrator" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an existing policy orchestrator resource, parented by a folder.", + "flatPath": "v2beta/folders/{foldersId}/locations/global/policyOrchestrators/{policyOrchestratorsId}", + "httpMethod": "DELETE", + "id": "osconfig.folders.locations.global.policyOrchestrators.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the policy orchestrator. If an etag is provided and does not match the current etag of the policy orchestrator, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. Name of the resource to be deleted.", + "location": "path", + "pattern": "^folders/[^/]+/locations/global/policyOrchestrators/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Retrieves an existing policy orchestrator, parented by a folder.", + "flatPath": "v2beta/folders/{foldersId}/locations/global/policyOrchestrators/{policyOrchestratorsId}", + "httpMethod": "GET", + "id": "osconfig.folders.locations.global.policyOrchestrators.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name.", + "location": "path", + "pattern": "^folders/[^/]+/locations/global/policyOrchestrators/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "GoogleCloudOsconfigV2beta__PolicyOrchestrator" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists the policy orchestrators under the given parent folder resource.", + "flatPath": "v2beta/folders/{foldersId}/locations/global/policyOrchestrators", + "httpMethod": "GET", + "id": "osconfig.folders.locations.global.policyOrchestrators.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filtering results", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Hint for how to order the results", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. 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": "Optional. A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name.", + "location": "path", + "pattern": "^folders/[^/]+/locations/global$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+parent}/policyOrchestrators", + "response": { + "$ref": "GoogleCloudOsconfigV2beta__ListPolicyOrchestratorsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an existing policy orchestrator, parented by a folder.", + "flatPath": "v2beta/folders/{foldersId}/locations/global/policyOrchestrators/{policyOrchestratorsId}", + "httpMethod": "PATCH", + "id": "osconfig.folders.locations.global.policyOrchestrators.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. Identifier. In form of * `organizations/{organization_id}/locations/global/policyOrchestrators/{orchestrator_id}` * `folders/{folder_id}/locations/global/policyOrchestrators/{orchestrator_id}` * `projects/{project_id_or_number}/locations/global/policyOrchestrators/{orchestrator_id}`", + "location": "path", + "pattern": "^folders/[^/]+/locations/global/policyOrchestrators/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The list of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/{+name}", + "request": { + "$ref": "GoogleCloudOsconfigV2beta__PolicyOrchestrator" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "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": "v2beta/folders/{foldersId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "osconfig.folders.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^folders/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+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": "v2beta/folders/{foldersId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "osconfig.folders.locations.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^folders/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+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": "v2beta/folders/{foldersId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "osconfig.folders.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^folders/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", + "flatPath": "v2beta/folders/{foldersId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "osconfig.folders.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^folders/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + }, + "organizations": { + "resources": { + "locations": { + "resources": { + "global": { + "resources": { + "policyOrchestrators": { + "methods": { + "create": { + "description": "Creates a new policy orchestrator under the given organizations resource. `name` field of the given orchestrator are ignored and instead replaced by a product of `parent` and `policy_orchestrator_id`. Orchestrator state field might be only set to `ACTIVE`, `STOPPED` or omitted (in which case, the created resource will be in `ACTIVE` state anyway).", + "flatPath": "v2beta/organizations/{organizationsId}/locations/global/policyOrchestrators", + "httpMethod": "POST", + "id": "osconfig.organizations.locations.global.policyOrchestrators.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name in the form of: * `organizations/{organization_id}/locations/global` * `folders/{folder_id}/locations/global` * `projects/{project_id_or_number}/locations/global`", + "location": "path", + "pattern": "^organizations/[^/]+/locations/global$", + "required": true, + "type": "string" + }, + "policyOrchestratorId": { + "description": "Required. The logical identifier of the policy orchestrator, with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the parent.", + "location": "query", + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/{+parent}/policyOrchestrators", + "request": { + "$ref": "GoogleCloudOsconfigV2beta__PolicyOrchestrator" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an existing policy orchestrator resource, parented by an organization.", + "flatPath": "v2beta/organizations/{organizationsId}/locations/global/policyOrchestrators/{policyOrchestratorsId}", + "httpMethod": "DELETE", + "id": "osconfig.organizations.locations.global.policyOrchestrators.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the policy orchestrator. If an etag is provided and does not match the current etag of the policy orchestrator, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. Name of the resource to be deleted.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/global/policyOrchestrators/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Retrieves an existing policy orchestrator, parented by an organization.", + "flatPath": "v2beta/organizations/{organizationsId}/locations/global/policyOrchestrators/{policyOrchestratorsId}", + "httpMethod": "GET", + "id": "osconfig.organizations.locations.global.policyOrchestrators.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/global/policyOrchestrators/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "GoogleCloudOsconfigV2beta__PolicyOrchestrator" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists the policy orchestrators under the given parent organization resource.", + "flatPath": "v2beta/organizations/{organizationsId}/locations/global/policyOrchestrators", + "httpMethod": "GET", + "id": "osconfig.organizations.locations.global.policyOrchestrators.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filtering results", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Hint for how to order the results", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. 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": "Optional. A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/global$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+parent}/policyOrchestrators", + "response": { + "$ref": "GoogleCloudOsconfigV2beta__ListPolicyOrchestratorsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an existing policy orchestrator, parented by an organization.", + "flatPath": "v2beta/organizations/{organizationsId}/locations/global/policyOrchestrators/{policyOrchestratorsId}", + "httpMethod": "PATCH", + "id": "osconfig.organizations.locations.global.policyOrchestrators.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. Identifier. In form of * `organizations/{organization_id}/locations/global/policyOrchestrators/{orchestrator_id}` * `folders/{folder_id}/locations/global/policyOrchestrators/{orchestrator_id}` * `projects/{project_id_or_number}/locations/global/policyOrchestrators/{orchestrator_id}`", + "location": "path", + "pattern": "^organizations/[^/]+/locations/global/policyOrchestrators/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The list of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/{+name}", + "request": { + "$ref": "GoogleCloudOsconfigV2beta__PolicyOrchestrator" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "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": "v2beta/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "osconfig.organizations.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+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": "v2beta/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "osconfig.organizations.locations.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+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": "v2beta/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "osconfig.organizations.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", + "flatPath": "v2beta/organizations/{organizationsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "osconfig.organizations.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + }, + "projects": { + "resources": { + "locations": { + "resources": { + "global": { + "resources": { + "policyOrchestrators": { + "methods": { + "create": { + "description": "Creates a new policy orchestrator under the given project resource. `name` field of the given orchestrator are ignored and instead replaced by a product of `parent` and `policy_orchestrator_id`. Orchestrator state field might be only set to `ACTIVE`, `STOPPED` or omitted (in which case, the created resource will be in `ACTIVE` state anyway).", + "flatPath": "v2beta/projects/{projectsId}/locations/global/policyOrchestrators", + "httpMethod": "POST", + "id": "osconfig.projects.locations.global.policyOrchestrators.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name in the form of: * `organizations/{organization_id}/locations/global` * `folders/{folder_id}/locations/global` * `projects/{project_id_or_number}/locations/global`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global$", + "required": true, + "type": "string" + }, + "policyOrchestratorId": { + "description": "Required. The logical identifier of the policy orchestrator, with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the parent.", + "location": "query", + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/{+parent}/policyOrchestrators", + "request": { + "$ref": "GoogleCloudOsconfigV2beta__PolicyOrchestrator" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an existing policy orchestrator resource, parented by a project.", + "flatPath": "v2beta/projects/{projectsId}/locations/global/policyOrchestrators/{policyOrchestratorsId}", + "httpMethod": "DELETE", + "id": "osconfig.projects.locations.global.policyOrchestrators.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. The current etag of the policy orchestrator. If an etag is provided and does not match the current etag of the policy orchestrator, deletion will be blocked and an ABORTED error will be returned.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. Name of the resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/policyOrchestrators/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Retrieves an existing policy orchestrator, parented by a project.", + "flatPath": "v2beta/projects/{projectsId}/locations/global/policyOrchestrators/{policyOrchestratorsId}", + "httpMethod": "GET", + "id": "osconfig.projects.locations.global.policyOrchestrators.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/policyOrchestrators/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "GoogleCloudOsconfigV2beta__PolicyOrchestrator" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists the policy orchestrators under the given parent project resource.", + "flatPath": "v2beta/projects/{projectsId}/locations/global/policyOrchestrators", + "httpMethod": "GET", + "id": "osconfig.projects.locations.global.policyOrchestrators.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filtering results", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Hint for how to order the results", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. 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": "Optional. A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/global$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+parent}/policyOrchestrators", + "response": { + "$ref": "GoogleCloudOsconfigV2beta__ListPolicyOrchestratorsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an existing policy orchestrator, parented by a project.", + "flatPath": "v2beta/projects/{projectsId}/locations/global/policyOrchestrators/{policyOrchestratorsId}", + "httpMethod": "PATCH", + "id": "osconfig.projects.locations.global.policyOrchestrators.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Immutable. Identifier. In form of * `organizations/{organization_id}/locations/global/policyOrchestrators/{orchestrator_id}` * `folders/{folder_id}/locations/global/policyOrchestrators/{orchestrator_id}` * `projects/{project_id_or_number}/locations/global/policyOrchestrators/{orchestrator_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/global/policyOrchestrators/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Optional. The list of fields to update.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/{+name}", + "request": { + "$ref": "GoogleCloudOsconfigV2beta__PolicyOrchestrator" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "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": "v2beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "osconfig.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+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": "v2beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "osconfig.projects.locations.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+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": "v2beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "osconfig.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", + "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "osconfig.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v2beta/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20241117", + "rootUrl": "https://osconfig.googleapis.com/", + "schemas": { + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "FixedOrPercent": { + "description": "Message encapsulating a value that can be either absolute (\"fixed\") or relative (\"percent\") to a value.", + "id": "FixedOrPercent", + "properties": { + "fixed": { + "description": "Specifies a fixed value.", + "format": "int32", + "type": "integer" + }, + "percent": { + "description": "Specifies the relative value defined as a percentage, which will be multiplied by a reference value.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudOsconfigV1__OSPolicyAssignmentOperationMetadata": { + "description": "OS policy assignment operation metadata provided by OS policy assignment API methods that return long running operations.", + "id": "GoogleCloudOsconfigV1__OSPolicyAssignmentOperationMetadata", + "properties": { + "apiMethod": { + "description": "The OS policy assignment API method.", + "enum": [ + "API_METHOD_UNSPECIFIED", + "CREATE", + "UPDATE", + "DELETE" + ], + "enumDescriptions": [ + "Invalid value", + "Create OS policy assignment API method", + "Update OS policy assignment API method", + "Delete OS policy assignment API method" + ], + "type": "string" + }, + "osPolicyAssignment": { + "description": "Reference to the `OSPolicyAssignment` API resource. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id@revision_id}`", + "type": "string" + }, + "rolloutStartTime": { + "description": "Rollout start time", + "format": "google-datetime", + "type": "string" + }, + "rolloutState": { + "description": "State of the rollout", + "enum": [ + "ROLLOUT_STATE_UNSPECIFIED", + "IN_PROGRESS", + "CANCELLING", + "CANCELLED", + "SUCCEEDED" + ], + "enumDescriptions": [ + "Invalid value", + "The rollout is in progress.", + "The rollout is being cancelled.", + "The rollout is cancelled.", + "The rollout has completed successfully." + ], + "type": "string" + }, + "rolloutUpdateTime": { + "description": "Rollout update time", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudOsconfigV2beta_OrchestrationScope_LocationSelector": { + "description": "Selector containing locations in scope.", + "id": "GoogleCloudOsconfigV2beta_OrchestrationScope_LocationSelector", + "properties": { + "includedLocations": { + "description": "Optional. Names of the locations in scope. Format: `us-central1-a`", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudOsconfigV2beta_OrchestrationScope_ResourceHierarchySelector": { + "description": "Selector containing Cloud Resource Manager resource hierarchy nodes.", + "id": "GoogleCloudOsconfigV2beta_OrchestrationScope_ResourceHierarchySelector", + "properties": { + "includedFolders": { + "description": "Optional. Names of the folders in scope. Format: `folders/{folder_id}`", + "items": { + "type": "string" + }, + "type": "array" + }, + "includedProjects": { + "description": "Optional. Names of the projects in scope. Format: `projects/{project_number}`", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudOsconfigV2beta_OrchestrationScope_Selector": { + "description": "Selector for the resources in scope of orchestration.", + "id": "GoogleCloudOsconfigV2beta_OrchestrationScope_Selector", + "properties": { + "locationSelector": { + "$ref": "GoogleCloudOsconfigV2beta_OrchestrationScope_LocationSelector", + "description": "Selector for selecting locations." + }, + "resourceHierarchySelector": { + "$ref": "GoogleCloudOsconfigV2beta_OrchestrationScope_ResourceHierarchySelector", + "description": "Selector for selecting resource hierarchy." + } + }, + "type": "object" + }, + "GoogleCloudOsconfigV2beta_PolicyOrchestrator_IterationState": { + "description": "Describes the state of a single iteration of the orchestrator.", + "id": "GoogleCloudOsconfigV2beta_PolicyOrchestrator_IterationState", + "properties": { + "error": { + "$ref": "Status", + "description": "Output only. Error thrown in the wave iteration.", + "readOnly": true + }, + "failedActions": { + "description": "Output only. Number of orchestration actions which failed so far. For more details, query the Cloud Logs.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "finishTime": { + "description": "Output only. Finish time of the wave iteration.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "performedActions": { + "description": "Output only. Overall number of actions done by the orchestrator so far.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "progress": { + "description": "Output only. An estimated percentage of the progress. Number between 0 and 100.", + "format": "float", + "readOnly": true, + "type": "number" + }, + "rolloutResource": { + "description": "Output only. Handle to the Progressive Rollouts API rollout resource, which contains detailed information about a particular orchestration iteration.", + "readOnly": true, + "type": "string" + }, + "startTime": { + "description": "Output only. Start time of the wave iteration.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. State of the iteration.", + "enum": [ + "STATE_UNSPECIFIED", + "PROCESSING", + "COMPLETED", + "FAILED", + "CANCELLED", + "UNKNOWN" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Iteration is in progress.", + "Iteration completed, with all actions being successful.", + "Iteration completed, with failures.", + "Iteration was explicitly cancelled.", + "Impossible to determine current state of the iteration." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudOsconfigV2beta_PolicyOrchestrator_OrchestrationState": { + "description": "Describes the state of the orchestration process.", + "id": "GoogleCloudOsconfigV2beta_PolicyOrchestrator_OrchestrationState", + "properties": { + "currentIterationState": { + "$ref": "GoogleCloudOsconfigV2beta_PolicyOrchestrator_IterationState", + "description": "Output only. Current Wave iteration state.", + "readOnly": true + }, + "previousIterationState": { + "$ref": "GoogleCloudOsconfigV2beta_PolicyOrchestrator_IterationState", + "description": "Output only. Previous Wave iteration state.", + "readOnly": true + } + }, + "type": "object" + }, + "GoogleCloudOsconfigV2beta__ListPolicyOrchestratorsResponse": { + "description": "Response for the list policy orchestrator resources.", + "id": "GoogleCloudOsconfigV2beta__ListPolicyOrchestratorsResponse", + "properties": { + "nextPageToken": { + "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.", + "type": "string" + }, + "policyOrchestrators": { + "description": "The policy orchestrators for the specified parent resource.", + "items": { + "$ref": "GoogleCloudOsconfigV2beta__PolicyOrchestrator" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudOsconfigV2beta__OperationMetadata": { + "description": "Represents the metadata of the long-running operation.", + "id": "GoogleCloudOsconfigV2beta__OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudOsconfigV2beta__OrchestratedResource": { + "description": "Represents a resource that is being orchestrated by the policy orchestrator.", + "id": "GoogleCloudOsconfigV2beta__OrchestratedResource", + "properties": { + "id": { + "description": "Optional. ID of the resource to be used while generating set of affected resources. For UPSERT action the value is auto-generated during PolicyOrchestrator creation when not set. When the value is set it should following next restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the project. For DELETE action, ID must be specified explicitly during PolicyOrchestrator creation.", + "type": "string" + }, + "osPolicyAssignmentV1Payload": { + "$ref": "OSPolicyAssignment", + "description": "Optional. OSPolicyAssignment resource to be created, updated or deleted. Name field is ignored and replace with a generated value. With this field set, orchestrator will perform actions on `project/{project}/locations/{zone}/osPolicyAssignments/{resource_id}` resources, where `project` and `zone` pairs come from the expanded scope, and `resource_id` comes from the `resource_id` field of orchestrator resource." + } + }, + "type": "object" + }, + "GoogleCloudOsconfigV2beta__OrchestrationScope": { + "description": "Defines a set of selectors which drive which resources are in scope of policy orchestration.", + "id": "GoogleCloudOsconfigV2beta__OrchestrationScope", + "properties": { + "selectors": { + "description": "Optional. Selectors of the orchestration scope. There is a logical AND between each selector defined. When there is no explicit `ResourceHierarchySelector` selector specified, the scope is by default bounded to the parent of the policy orchestrator resource.", + "items": { + "$ref": "GoogleCloudOsconfigV2beta_OrchestrationScope_Selector" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudOsconfigV2beta__PolicyOrchestrator": { + "description": "PolicyOrchestrator helps managing project+zone level policy resources (e.g. OS Policy Assignments), by providing tools to create, update and delete them across projects and locations, at scale. Policy orchestrator functions as an endless loop. Each iteration orchestrator computes a set of resources that should be affected, then progressively applies changes to them. If for some reason this set of resources changes over time (e.g. new projects are added), the future loop iterations will address that. Orchestrator can either upsert or delete policy resources. For more details, see the description of the `action`, and `orchestrated_resource` fields. Note that policy orchestrator do not \"manage\" the resources it creates. Every iteration is independent and only minimal history of past actions is retained (apart from Cloud Logging). If orchestrator gets deleted, it does not affect the resources it created in the past. Those will remain where they were. Same applies if projects are removed from the orchestrator's scope.", + "id": "GoogleCloudOsconfigV2beta__PolicyOrchestrator", + "properties": { + "action": { + "description": "Required. Action to be done by the orchestrator in `projects/{project_id}/zones/{zone_id}` locations defined by the `orchestration_scope`. Allowed values: - `UPSERT` - Orchestrator will create or update target resources. - `DELETE` - Orchestrator will delete target resources, if they exist", + "type": "string" + }, + "createTime": { + "description": "Output only. Timestamp when the policy orchestrator resource was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. Freeform text describing the purpose of the resource.", + "type": "string" + }, + "etag": { + "description": "Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding.", + "readOnly": true, + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Labels as key value pairs", + "type": "object" + }, + "name": { + "description": "Immutable. Identifier. In form of * `organizations/{organization_id}/locations/global/policyOrchestrators/{orchestrator_id}` * `folders/{folder_id}/locations/global/policyOrchestrators/{orchestrator_id}` * `projects/{project_id_or_number}/locations/global/policyOrchestrators/{orchestrator_id}`", + "type": "string" + }, + "orchestratedResource": { + "$ref": "GoogleCloudOsconfigV2beta__OrchestratedResource", + "description": "Required. Resource to be orchestrated by the policy orchestrator." + }, + "orchestrationScope": { + "$ref": "GoogleCloudOsconfigV2beta__OrchestrationScope", + "description": "Optional. Defines scope for the orchestration, in context of the enclosing PolicyOrchestrator resource. Scope is expanded into a list of pairs, in which the rollout action will take place. Expansion starts with a Folder resource parenting the PolicyOrchestrator resource: - All the descendant projects are listed. - List of project is cross joined with a list of all available zones. - Resulting list of pairs is filtered according to the selectors." + }, + "orchestrationState": { + "$ref": "GoogleCloudOsconfigV2beta_PolicyOrchestrator_OrchestrationState", + "description": "Output only. State of the orchestration.", + "readOnly": true + }, + "reconciling": { + "description": "Output only. Set to true, if the there are ongoing changes being applied by the orchestrator.", + "readOnly": true, + "type": "boolean" + }, + "state": { + "description": "Optional. State of the orchestrator. Can be updated to change orchestrator behaviour. Allowed values: - `ACTIVE` - orchestrator is actively looking for actions to be taken. - `STOPPED` - orchestrator won't make any changes. Note: There might be more states added in the future. We use string here instead of an enum, to avoid the need of propagating new states to all the client code.", + "type": "string" + }, + "updateTime": { + "description": "Output only. Timestamp when the policy orchestrator resource was last modified.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "OSPolicy": { + "description": "An OS policy defines the desired state configuration for a VM.", + "id": "OSPolicy", + "properties": { + "allowNoResourceGroupMatch": { + "description": "This flag determines the OS policy compliance status when none of the resource groups within the policy are applicable for a VM. Set this value to `true` if the policy needs to be reported as compliant even if the policy has nothing to validate or enforce.", + "type": "boolean" + }, + "description": { + "description": "Policy description. Length of the description is limited to 1024 characters.", + "type": "string" + }, + "id": { + "description": "Required. The id of the OS policy with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the assignment.", + "type": "string" + }, + "mode": { + "description": "Required. Policy mode", + "enum": [ + "MODE_UNSPECIFIED", + "VALIDATION", + "ENFORCEMENT" + ], + "enumDescriptions": [ + "Invalid mode", + "This mode checks if the configuration resources in the policy are in their desired state. No actions are performed if they are not in the desired state. This mode is used for reporting purposes.", + "This mode checks if the configuration resources in the policy are in their desired state, and if not, enforces the desired state." + ], + "type": "string" + }, + "resourceGroups": { + "description": "Required. List of resource groups for the policy. For a particular VM, resource groups are evaluated in the order specified and the first resource group that is applicable is selected and the rest are ignored. If none of the resource groups are applicable for a VM, the VM is considered to be non-compliant w.r.t this policy. This behavior can be toggled by the flag `allow_no_resource_group_match`", + "items": { + "$ref": "OSPolicyResourceGroup" + }, + "type": "array" + } + }, + "type": "object" + }, + "OSPolicyAssignment": { + "description": "OS policy assignment is an API resource that is used to apply a set of OS policies to a dynamically targeted group of Compute Engine VM instances. An OS policy is used to define the desired state configuration for a Compute Engine VM instance through a set of configuration resources that provide capabilities such as installing or removing software packages, or executing a script. For more information about the OS policy resource definitions and examples, see [OS policy and OS policy assignment](https://cloud.google.com/compute/docs/os-configuration-management/working-with-os-policies).", + "id": "OSPolicyAssignment", + "properties": { + "baseline": { + "description": "Output only. Indicates that this revision has been successfully rolled out in this zone and new VMs will be assigned OS policies from this revision. For a given OS policy assignment, there is only one revision with a value of `true` for this field.", + "readOnly": true, + "type": "boolean" + }, + "deleted": { + "description": "Output only. Indicates that this revision deletes the OS policy assignment.", + "readOnly": true, + "type": "boolean" + }, + "description": { + "description": "OS policy assignment description. Length of the description is limited to 1024 characters.", + "type": "string" + }, + "etag": { + "description": "The etag for this OS policy assignment. If this is provided on update, it must match the server's etag.", + "type": "string" + }, + "instanceFilter": { + "$ref": "OSPolicyAssignmentInstanceFilter", + "description": "Required. Filter to select VMs." + }, + "name": { + "description": "Resource name. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id}` This field is ignored when you create an OS policy assignment.", + "type": "string" + }, + "osPolicies": { + "description": "Required. List of OS policies to be applied to the VMs.", + "items": { + "$ref": "OSPolicy" + }, + "type": "array" + }, + "reconciling": { + "description": "Output only. Indicates that reconciliation is in progress for the revision. This value is `true` when the `rollout_state` is one of: * IN_PROGRESS * CANCELLING", + "readOnly": true, + "type": "boolean" + }, + "revisionCreateTime": { + "description": "Output only. The timestamp that the revision was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "revisionId": { + "description": "Output only. The assignment revision ID A new revision is committed whenever a rollout is triggered for a OS policy assignment", + "readOnly": true, + "type": "string" + }, + "rollout": { + "$ref": "OSPolicyAssignmentRollout", + "description": "Required. Rollout to deploy the OS policy assignment. A rollout is triggered in the following situations: 1) OSPolicyAssignment is created. 2) OSPolicyAssignment is updated and the update contains changes to one of the following fields: - instance_filter - os_policies 3) OSPolicyAssignment is deleted." + }, + "rolloutState": { + "description": "Output only. OS policy assignment rollout state", + "enum": [ + "ROLLOUT_STATE_UNSPECIFIED", + "IN_PROGRESS", + "CANCELLING", + "CANCELLED", + "SUCCEEDED" + ], + "enumDescriptions": [ + "Invalid value", + "The rollout is in progress.", + "The rollout is being cancelled.", + "The rollout is cancelled.", + "The rollout has completed successfully." + ], + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. Server generated unique id for the OS policy assignment resource.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyAssignmentInstanceFilter": { + "description": "Filters to select target VMs for an assignment. If more than one filter criteria is specified below, a VM will be selected if and only if it satisfies all of them.", + "id": "OSPolicyAssignmentInstanceFilter", + "properties": { + "all": { + "description": "Target all VMs in the project. If true, no other criteria is permitted.", + "type": "boolean" + }, + "exclusionLabels": { + "description": "List of label sets used for VM exclusion. If the list has more than one label set, the VM is excluded if any of the label sets are applicable for the VM.", + "items": { + "$ref": "OSPolicyAssignmentLabelSet" + }, + "type": "array" + }, + "inclusionLabels": { + "description": "List of label sets used for VM inclusion. If the list has more than one `LabelSet`, the VM is included if any of the label sets are applicable for the VM.", + "items": { + "$ref": "OSPolicyAssignmentLabelSet" + }, + "type": "array" + }, + "inventories": { + "description": "List of inventories to select VMs. A VM is selected if its inventory data matches at least one of the following inventories.", + "items": { + "$ref": "OSPolicyAssignmentInstanceFilterInventory" + }, + "type": "array" + } + }, + "type": "object" + }, + "OSPolicyAssignmentInstanceFilterInventory": { + "description": "VM inventory details.", + "id": "OSPolicyAssignmentInstanceFilterInventory", + "properties": { + "osShortName": { + "description": "Required. The OS short name", + "type": "string" + }, + "osVersion": { + "description": "The OS version Prefix matches are supported if asterisk(*) is provided as the last character. For example, to match all versions with a major version of `7`, specify the following value for this field `7.*` An empty string matches all OS versions.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyAssignmentLabelSet": { + "description": "Message representing label set. * A label is a key value pair set for a VM. * A LabelSet is a set of labels. * Labels within a LabelSet are ANDed. In other words, a LabelSet is applicable for a VM only if it matches all the labels in the LabelSet. * Example: A LabelSet with 2 labels: `env=prod` and `type=webserver` will only be applicable for those VMs with both labels present.", + "id": "OSPolicyAssignmentLabelSet", + "properties": { + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels are identified by key/value pairs in this map. A VM should contain all the key/value pairs specified in this map to be selected.", + "type": "object" + } + }, + "type": "object" + }, + "OSPolicyAssignmentOperationMetadata": { + "description": "OS policy assignment operation metadata provided by OS policy assignment API methods that return long running operations.", + "id": "OSPolicyAssignmentOperationMetadata", + "properties": { + "apiMethod": { + "description": "The OS policy assignment API method.", + "enum": [ + "API_METHOD_UNSPECIFIED", + "CREATE", + "UPDATE", + "DELETE" + ], + "enumDescriptions": [ + "Invalid value", + "Create OS policy assignment API method", + "Update OS policy assignment API method", + "Delete OS policy assignment API method" + ], + "type": "string" + }, + "osPolicyAssignment": { + "description": "Reference to the `OSPolicyAssignment` API resource. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id@revision_id}`", + "type": "string" + }, + "rolloutStartTime": { + "description": "Rollout start time", + "format": "google-datetime", + "type": "string" + }, + "rolloutState": { + "description": "State of the rollout", + "enum": [ + "ROLLOUT_STATE_UNSPECIFIED", + "IN_PROGRESS", + "CANCELLING", + "CANCELLED", + "SUCCEEDED" + ], + "enumDescriptions": [ + "Invalid value", + "The rollout is in progress.", + "The rollout is being cancelled.", + "The rollout is cancelled.", + "The rollout has completed successfully." + ], + "type": "string" + }, + "rolloutUpdateTime": { + "description": "Rollout update time", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyAssignmentRollout": { + "description": "Message to configure the rollout at the zonal level for the OS policy assignment.", + "id": "OSPolicyAssignmentRollout", + "properties": { + "disruptionBudget": { + "$ref": "FixedOrPercent", + "description": "Required. The maximum number (or percentage) of VMs per zone to disrupt at any given moment." + }, + "minWaitDuration": { + "description": "Required. This determines the minimum duration of time to wait after the configuration changes are applied through the current rollout. A VM continues to count towards the `disruption_budget` at least until this duration of time has passed after configuration changes are applied.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyInventoryFilter": { + "description": "Filtering criteria to select VMs based on inventory details.", + "id": "OSPolicyInventoryFilter", + "properties": { + "osShortName": { + "description": "Required. The OS short name", + "type": "string" + }, + "osVersion": { + "description": "The OS version Prefix matches are supported if asterisk(*) is provided as the last character. For example, to match all versions with a major version of `7`, specify the following value for this field `7.*` An empty string matches all OS versions.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResource": { + "description": "An OS policy resource is used to define the desired state configuration and provides a specific functionality like installing/removing packages, executing a script etc. The system ensures that resources are always in their desired state by taking necessary actions if they have drifted from their desired state.", + "id": "OSPolicyResource", + "properties": { + "exec": { + "$ref": "OSPolicyResourceExecResource", + "description": "Exec resource" + }, + "file": { + "$ref": "OSPolicyResourceFileResource", + "description": "File resource" + }, + "id": { + "description": "Required. The id of the resource with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the OS policy.", + "type": "string" + }, + "pkg": { + "$ref": "OSPolicyResourcePackageResource", + "description": "Package resource" + }, + "repository": { + "$ref": "OSPolicyResourceRepositoryResource", + "description": "Package repository resource" + } + }, + "type": "object" + }, + "OSPolicyResourceExecResource": { + "description": "A resource that allows executing scripts on the VM. The `ExecResource` has 2 stages: `validate` and `enforce` and both stages accept a script as an argument to execute. When the `ExecResource` is applied by the agent, it first executes the script in the `validate` stage. The `validate` stage can signal that the `ExecResource` is already in the desired state by returning an exit code of `100`. If the `ExecResource` is not in the desired state, it should return an exit code of `101`. Any other exit code returned by this stage is considered an error. If the `ExecResource` is not in the desired state based on the exit code from the `validate` stage, the agent proceeds to execute the script from the `enforce` stage. If the `ExecResource` is already in the desired state, the `enforce` stage will not be run. Similar to `validate` stage, the `enforce` stage should return an exit code of `100` to indicate that the resource in now in its desired state. Any other exit code is considered an error. NOTE: An exit code of `100` was chosen over `0` (and `101` vs `1`) to have an explicit indicator of `in desired state`, `not in desired state` and errors. Because, for example, Powershell will always return an exit code of `0` unless an `exit` statement is provided in the script. So, for reasons of consistency and being explicit, exit codes `100` and `101` were chosen.", + "id": "OSPolicyResourceExecResource", + "properties": { + "enforce": { + "$ref": "OSPolicyResourceExecResourceExec", + "description": "What to run to bring this resource into the desired state. An exit code of 100 indicates \"success\", any other exit code indicates a failure running enforce." + }, + "validate": { + "$ref": "OSPolicyResourceExecResourceExec", + "description": "Required. What to run to validate this resource is in the desired state. An exit code of 100 indicates \"in desired state\", and exit code of 101 indicates \"not in desired state\". Any other exit code indicates a failure running validate." + } + }, + "type": "object" + }, + "OSPolicyResourceExecResourceExec": { + "description": "A file or script to execute.", + "id": "OSPolicyResourceExecResourceExec", + "properties": { + "args": { + "description": "Optional arguments to pass to the source during execution.", + "items": { + "type": "string" + }, + "type": "array" + }, + "file": { + "$ref": "OSPolicyResourceFile", + "description": "A remote or local file." + }, + "interpreter": { + "description": "Required. The script interpreter to use.", + "enum": [ + "INTERPRETER_UNSPECIFIED", + "NONE", + "SHELL", + "POWERSHELL" + ], + "enumDescriptions": [ + "Invalid value, the request will return validation error.", + "If an interpreter is not specified, the source is executed directly. This execution, without an interpreter, only succeeds for executables and scripts that have shebang lines.", + "Indicates that the script runs with `/bin/sh` on Linux and `cmd.exe` on Windows.", + "Indicates that the script runs with PowerShell." + ], + "type": "string" + }, + "outputFilePath": { + "description": "Only recorded for enforce Exec. Path to an output file (that is created by this Exec) whose content will be recorded in OSPolicyResourceCompliance after a successful run. Absence or failure to read this file will result in this ExecResource being non-compliant. Output file size is limited to 500K bytes.", + "type": "string" + }, + "script": { + "description": "An inline script. The size of the script is limited to 32KiB.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourceFile": { + "description": "A remote or local file.", + "id": "OSPolicyResourceFile", + "properties": { + "allowInsecure": { + "description": "Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.", + "type": "boolean" + }, + "gcs": { + "$ref": "OSPolicyResourceFileGcs", + "description": "A Cloud Storage object." + }, + "localPath": { + "description": "A local path within the VM to use.", + "type": "string" + }, + "remote": { + "$ref": "OSPolicyResourceFileRemote", + "description": "A generic remote file." + } + }, + "type": "object" + }, + "OSPolicyResourceFileGcs": { + "description": "Specifies a file available as a Cloud Storage Object.", + "id": "OSPolicyResourceFileGcs", + "properties": { + "bucket": { + "description": "Required. Bucket of the Cloud Storage object.", + "type": "string" + }, + "generation": { + "description": "Generation number of the Cloud Storage object.", + "format": "int64", + "type": "string" + }, + "object": { + "description": "Required. Name of the Cloud Storage object.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourceFileRemote": { + "description": "Specifies a file available via some URI.", + "id": "OSPolicyResourceFileRemote", + "properties": { + "sha256Checksum": { + "description": "SHA256 checksum of the remote file.", + "type": "string" + }, + "uri": { + "description": "Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol}://{location}`.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourceFileResource": { + "description": "A resource that manages the state of a file.", + "id": "OSPolicyResourceFileResource", + "properties": { + "content": { + "description": "A a file with this content. The size of the content is limited to 32KiB.", + "type": "string" + }, + "file": { + "$ref": "OSPolicyResourceFile", + "description": "A remote or local source." + }, + "path": { + "description": "Required. The absolute path of the file within the VM.", + "type": "string" + }, + "permissions": { + "description": "Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4", + "type": "string" + }, + "state": { + "description": "Required. Desired state of the file.", + "enum": [ + "DESIRED_STATE_UNSPECIFIED", + "PRESENT", + "ABSENT", + "CONTENTS_MATCH" + ], + "enumDescriptions": [ + "Unspecified is invalid.", + "Ensure file at path is present.", + "Ensure file at path is absent.", + "Ensure the contents of the file at path matches. If the file does not exist it will be created." + ], + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourceGroup": { + "description": "Resource groups provide a mechanism to group OS policy resources. Resource groups enable OS policy authors to create a single OS policy to be applied to VMs running different operating Systems. When the OS policy is applied to a target VM, the appropriate resource group within the OS policy is selected based on the `OSFilter` specified within the resource group.", + "id": "OSPolicyResourceGroup", + "properties": { + "inventoryFilters": { + "description": "List of inventory filters for the resource group. The resources in this resource group are applied to the target VM if it satisfies at least one of the following inventory filters. For example, to apply this resource group to VMs running either `RHEL` or `CentOS` operating systems, specify 2 items for the list with following values: inventory_filters[0].os_short_name='rhel' and inventory_filters[1].os_short_name='centos' If the list is empty, this resource group will be applied to the target VM unconditionally.", + "items": { + "$ref": "OSPolicyInventoryFilter" + }, + "type": "array" + }, + "resources": { + "description": "Required. List of resources configured for this resource group. The resources are executed in the exact order specified here.", + "items": { + "$ref": "OSPolicyResource" + }, + "type": "array" + } + }, + "type": "object" + }, + "OSPolicyResourcePackageResource": { + "description": "A resource that manages a system package.", + "id": "OSPolicyResourcePackageResource", + "properties": { + "apt": { + "$ref": "OSPolicyResourcePackageResourceAPT", + "description": "A package managed by Apt." + }, + "deb": { + "$ref": "OSPolicyResourcePackageResourceDeb", + "description": "A deb package file." + }, + "desiredState": { + "description": "Required. The desired state the agent should maintain for this package.", + "enum": [ + "DESIRED_STATE_UNSPECIFIED", + "INSTALLED", + "REMOVED" + ], + "enumDescriptions": [ + "Unspecified is invalid.", + "Ensure that the package is installed.", + "The agent ensures that the package is not installed and uninstalls it if detected." + ], + "type": "string" + }, + "googet": { + "$ref": "OSPolicyResourcePackageResourceGooGet", + "description": "A package managed by GooGet." + }, + "msi": { + "$ref": "OSPolicyResourcePackageResourceMSI", + "description": "An MSI package." + }, + "rpm": { + "$ref": "OSPolicyResourcePackageResourceRPM", + "description": "An rpm package file." + }, + "yum": { + "$ref": "OSPolicyResourcePackageResourceYUM", + "description": "A package managed by YUM." + }, + "zypper": { + "$ref": "OSPolicyResourcePackageResourceZypper", + "description": "A package managed by Zypper." + } + }, + "type": "object" + }, + "OSPolicyResourcePackageResourceAPT": { + "description": "A package managed by APT. - install: `apt-get update && apt-get -y install [name]` - remove: `apt-get -y remove [name]`", + "id": "OSPolicyResourcePackageResourceAPT", + "properties": { + "name": { + "description": "Required. Package name.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourcePackageResourceDeb": { + "description": "A deb package file. dpkg packages only support INSTALLED state.", + "id": "OSPolicyResourcePackageResourceDeb", + "properties": { + "pullDeps": { + "description": "Whether dependencies should also be installed. - install when false: `dpkg -i package` - install when true: `apt-get update && apt-get -y install package.deb`", + "type": "boolean" + }, + "source": { + "$ref": "OSPolicyResourceFile", + "description": "Required. A deb package." + } + }, + "type": "object" + }, + "OSPolicyResourcePackageResourceGooGet": { + "description": "A package managed by GooGet. - install: `googet -noconfirm install package` - remove: `googet -noconfirm remove package`", + "id": "OSPolicyResourcePackageResourceGooGet", + "properties": { + "name": { + "description": "Required. Package name.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourcePackageResourceMSI": { + "description": "An MSI package. MSI packages only support INSTALLED state.", + "id": "OSPolicyResourcePackageResourceMSI", + "properties": { + "properties": { + "description": "Additional properties to use during installation. This should be in the format of Property=Setting. Appended to the defaults of `ACTION=INSTALL REBOOT=ReallySuppress`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "source": { + "$ref": "OSPolicyResourceFile", + "description": "Required. The MSI package." + } + }, + "type": "object" + }, + "OSPolicyResourcePackageResourceRPM": { + "description": "An RPM package file. RPM packages only support INSTALLED state.", + "id": "OSPolicyResourcePackageResourceRPM", + "properties": { + "pullDeps": { + "description": "Whether dependencies should also be installed. - install when false: `rpm --upgrade --replacepkgs package.rpm` - install when true: `yum -y install package.rpm` or `zypper -y install package.rpm`", + "type": "boolean" + }, + "source": { + "$ref": "OSPolicyResourceFile", + "description": "Required. An rpm package." + } + }, + "type": "object" + }, + "OSPolicyResourcePackageResourceYUM": { + "description": "A package managed by YUM. - install: `yum -y install package` - remove: `yum -y remove package`", + "id": "OSPolicyResourcePackageResourceYUM", + "properties": { + "name": { + "description": "Required. Package name.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourcePackageResourceZypper": { + "description": "A package managed by Zypper. - install: `zypper -y install package` - remove: `zypper -y rm package`", + "id": "OSPolicyResourcePackageResourceZypper", + "properties": { + "name": { + "description": "Required. Package name.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourceRepositoryResource": { + "description": "A resource that manages a package repository.", + "id": "OSPolicyResourceRepositoryResource", + "properties": { + "apt": { + "$ref": "OSPolicyResourceRepositoryResourceAptRepository", + "description": "An Apt Repository." + }, + "goo": { + "$ref": "OSPolicyResourceRepositoryResourceGooRepository", + "description": "A Goo Repository." + }, + "yum": { + "$ref": "OSPolicyResourceRepositoryResourceYumRepository", + "description": "A Yum Repository." + }, + "zypper": { + "$ref": "OSPolicyResourceRepositoryResourceZypperRepository", + "description": "A Zypper Repository." + } + }, + "type": "object" + }, + "OSPolicyResourceRepositoryResourceAptRepository": { + "description": "Represents a single apt package repository. These will be added to a repo file that will be managed at `/etc/apt/sources.list.d/google_osconfig.list`.", + "id": "OSPolicyResourceRepositoryResourceAptRepository", + "properties": { + "archiveType": { + "description": "Required. Type of archive files in this repository.", + "enum": [ + "ARCHIVE_TYPE_UNSPECIFIED", + "DEB", + "DEB_SRC" + ], + "enumDescriptions": [ + "Unspecified is invalid.", + "Deb indicates that the archive contains binary files.", + "Deb-src indicates that the archive contains source files." + ], + "type": "string" + }, + "components": { + "description": "Required. List of components for this repository. Must contain at least one item.", + "items": { + "type": "string" + }, + "type": "array" + }, + "distribution": { + "description": "Required. Distribution of this repository.", + "type": "string" + }, + "gpgKey": { + "description": "URI of the key file for this repository. The agent maintains a keyring at `/etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg`.", + "type": "string" + }, + "uri": { + "description": "Required. URI for this repository.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourceRepositoryResourceGooRepository": { + "description": "Represents a Goo package repository. These are added to a repo file that is managed at `C:/ProgramData/GooGet/repos/google_osconfig.repo`.", + "id": "OSPolicyResourceRepositoryResourceGooRepository", + "properties": { + "name": { + "description": "Required. The name of the repository.", + "type": "string" + }, + "url": { + "description": "Required. The url of the repository.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourceRepositoryResourceYumRepository": { + "description": "Represents a single yum package repository. These are added to a repo file that is managed at `/etc/yum.repos.d/google_osconfig.repo`.", + "id": "OSPolicyResourceRepositoryResourceYumRepository", + "properties": { + "baseUrl": { + "description": "Required. The location of the repository directory.", + "type": "string" + }, + "displayName": { + "description": "The display name of the repository.", + "type": "string" + }, + "gpgKeys": { + "description": "URIs of GPG keys.", + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "Required. A one word, unique name for this repository. This is the `repo id` in the yum config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for resource conflicts.", + "type": "string" + } + }, + "type": "object" + }, + "OSPolicyResourceRepositoryResourceZypperRepository": { + "description": "Represents a single zypper package repository. These are added to a repo file that is managed at `/etc/zypp/repos.d/google_osconfig.repo`.", + "id": "OSPolicyResourceRepositoryResourceZypperRepository", + "properties": { + "baseUrl": { + "description": "Required. The location of the repository directory.", + "type": "string" + }, + "displayName": { + "description": "The display name of the repository.", + "type": "string" + }, + "gpgKeys": { + "description": "URIs of GPG keys.", + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "Required. A one word, unique name for this repository. This is the `repo id` in the zypper config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for GuestPolicy conflicts.", + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "OS Config API", + "version": "v2beta", + "version_module": true +} \ No newline at end of file diff --git a/discovery/oslogin-v1alpha.json b/discovery/oslogin-v1alpha.json index d7b1749fc9..6795614f6c 100644 --- a/discovery/oslogin-v1alpha.json +++ b/discovery/oslogin-v1alpha.json @@ -206,7 +206,7 @@ "type": "string" }, "regions": { - "description": "Optional. The regions to which to assert that the key was written. If unspecified, defaults to all regions. Regions are listed at https://cloud.google.com/about/locations#region.", + "description": "Optional. The regions to wait for a POSIX account to be written to before returning a response. If unspecified, defaults to all regions. Regions are listed at https://cloud.google.com/about/locations#region.", "location": "query", "repeated": true, "type": "string" @@ -477,7 +477,7 @@ } } }, - "revision": "20240616", + "revision": "20241208", "rootUrl": "https://oslogin.googleapis.com/", "schemas": { "Empty": { diff --git a/discovery/parallelstore-v1.json b/discovery/parallelstore-v1.json new file mode 100644 index 0000000000..a6bbdf3fd9 --- /dev/null +++ b/discovery/parallelstore-v1.json @@ -0,0 +1,986 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + } + } + } + }, + "basePath": "", + "baseUrl": "https://parallelstore.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Parallelstore", + "description": "", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/parallelstore", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "parallelstore:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://parallelstore.mtls.googleapis.com/", + "name": "parallelstore", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "parallelstore.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v1/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "parallelstore.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return. If not set, the service selects a default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "instances": { + "methods": { + "create": { + "description": "Creates a Parallelstore instance in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances", + "httpMethod": "POST", + "id": "parallelstore.projects.locations.instances.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "instanceId": { + "description": "Required. The name of the Parallelstore instance. * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the customer project / location", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The instance's project and location, in the format `projects/{project}/locations/{location}`. Locations map to Google Cloud zones; for example, `us-west1-b`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/instances", + "request": { + "$ref": "Instance" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single instance.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", + "httpMethod": "DELETE", + "id": "parallelstore.projects.locations.instances.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "exportData": { + "description": "Copies data from Parallelstore to Cloud Storage.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:exportData", + "httpMethod": "POST", + "id": "parallelstore.projects.locations.instances.exportData", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:exportData", + "request": { + "$ref": "ExportDataRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single instance.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", + "httpMethod": "GET", + "id": "parallelstore.projects.locations.instances.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The instance resource name, in the format `projects/{project_id}/locations/{location}/instances/{instance_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Instance" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "importData": { + "description": "Copies data from Cloud Storage to Parallelstore.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:importData", + "httpMethod": "POST", + "id": "parallelstore.projects.locations.instances.importData", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:importData", + "request": { + "$ref": "ImportDataRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all instances in a given project and location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances", + "httpMethod": "GET", + "id": "parallelstore.projects.locations.instances.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filtering results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Hint for how to order the results.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, the server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location for which to retrieve instance information, in the format `projects/{project_id}/locations/{location}`. To retrieve instance information for all locations, use \"-\" as the value of `{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/instances", + "response": { + "$ref": "ListInstancesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single instance.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", + "httpMethod": "PATCH", + "id": "parallelstore.projects.locations.instances.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the instance, in the format `projects/{project}/locations/{location}/instances/{instance_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update. Field mask is used to specify the fields to be overwritten in the Instance resource by the update. At least one path must be supplied in this field. The fields specified in the update_mask are relative to the resource, not the full request.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Instance" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "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/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "parallelstore.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:cancel", + "request": { + "$ref": "CancelOperationRequest" + }, + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "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/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "parallelstore.projects.locations.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "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/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "parallelstore.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "parallelstore.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20250102", + "rootUrl": "https://parallelstore.googleapis.com/", + "schemas": { + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "DestinationGcsBucket": { + "description": "Cloud Storage as the destination of a data transfer.", + "id": "DestinationGcsBucket", + "properties": { + "uri": { + "description": "Required. URI to a Cloud Storage bucket in the format: `gs:///`. The path inside the bucket is optional.", + "type": "string" + } + }, + "type": "object" + }, + "DestinationParallelstore": { + "description": "Parallelstore as the destination of a data transfer.", + "id": "DestinationParallelstore", + "properties": { + "path": { + "description": "Optional. Root directory path to the Paralellstore filesystem, starting with `/`. Defaults to `/` if unset.", + "type": "string" + } + }, + "type": "object" + }, + "ExportDataRequest": { + "description": "Export data from Parallelstore to Cloud Storage.", + "id": "ExportDataRequest", + "properties": { + "destinationGcsBucket": { + "$ref": "DestinationGcsBucket", + "description": "Cloud Storage destination." + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "type": "string" + }, + "serviceAccount": { + "description": "Optional. User-specified Service Account (SA) credentials to be used when performing the transfer. Use one of the following formats: * `{EMAIL_ADDRESS_OR_UNIQUE_ID}` * `projects/{PROJECT_ID_OR_NUMBER}/serviceAccounts/{EMAIL_ADDRESS_OR_UNIQUE_ID}` * `projects/-/serviceAccounts/{EMAIL_ADDRESS_OR_UNIQUE_ID}` If unspecified, the Parallelstore service agent is used: `service-@gcp-sa-parallelstore.iam.gserviceaccount.com`", + "type": "string" + }, + "sourceParallelstore": { + "$ref": "SourceParallelstore", + "description": "Parallelstore source." + } + }, + "type": "object" + }, + "GoogleProtobufEmpty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "GoogleProtobufEmpty", + "properties": {}, + "type": "object" + }, + "ImportDataRequest": { + "description": "Import data from Cloud Storage into a Parallelstore instance.", + "id": "ImportDataRequest", + "properties": { + "destinationParallelstore": { + "$ref": "DestinationParallelstore", + "description": "Parallelstore destination." + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "type": "string" + }, + "serviceAccount": { + "description": "Optional. User-specified service account credentials to be used when performing the transfer. Use one of the following formats: * `{EMAIL_ADDRESS_OR_UNIQUE_ID}` * `projects/{PROJECT_ID_OR_NUMBER}/serviceAccounts/{EMAIL_ADDRESS_OR_UNIQUE_ID}` * `projects/-/serviceAccounts/{EMAIL_ADDRESS_OR_UNIQUE_ID}` If unspecified, the Parallelstore service agent is used: `service-@gcp-sa-parallelstore.iam.gserviceaccount.com`", + "type": "string" + }, + "sourceGcsBucket": { + "$ref": "SourceGcsBucket", + "description": "The Cloud Storage source bucket and, optionally, path inside the bucket." + } + }, + "type": "object" + }, + "Instance": { + "description": "A Parallelstore instance.", + "id": "Instance", + "properties": { + "accessPoints": { + "description": "Output only. A list of IPv4 addresses used for client side configuration.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "capacityGib": { + "description": "Required. Immutable. The instance's storage capacity in Gibibytes (GiB). Allowed values are between 12000 and 100000, in multiples of 4000; e.g., 12000, 16000, 20000, ...", + "format": "int64", + "type": "string" + }, + "createTime": { + "description": "Output only. The time when the instance was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deploymentType": { + "description": "Optional. The deployment type of the instance. Allowed values are: * `SCRATCH`: the instance is a scratch instance. * `PERSISTENT`: the instance is a persistent instance.", + "enum": [ + "DEPLOYMENT_TYPE_UNSPECIFIED", + "SCRATCH", + "PERSISTENT" + ], + "enumDescriptions": [ + "Default Deployment Type It is equivalent to SCRATCH", + "Scratch", + "Persistent" + ], + "type": "string" + }, + "description": { + "description": "Optional. The description of the instance. 2048 characters or less.", + "type": "string" + }, + "directoryStripeLevel": { + "description": "Optional. Stripe level for directories. Allowed values are: * `DIRECTORY_STRIPE_LEVEL_MIN`: recommended when directories contain a small number of files. * `DIRECTORY_STRIPE_LEVEL_BALANCED`: balances performance for workloads involving a mix of small and large directories. * `DIRECTORY_STRIPE_LEVEL_MAX`: recommended for directories with a large number of files.", + "enum": [ + "DIRECTORY_STRIPE_LEVEL_UNSPECIFIED", + "DIRECTORY_STRIPE_LEVEL_MIN", + "DIRECTORY_STRIPE_LEVEL_BALANCED", + "DIRECTORY_STRIPE_LEVEL_MAX" + ], + "enumDescriptions": [ + "If not set, DirectoryStripeLevel will default to DIRECTORY_STRIPE_LEVEL_MAX", + "Minimum directory striping", + "Medium directory striping", + "Maximum directory striping" + ], + "type": "string" + }, + "effectiveReservedIpRange": { + "description": "Output only. Immutable. The ID of the IP address range being used by the instance's VPC network. This field is populated by the service and contains the value currently used by the service.", + "readOnly": true, + "type": "string" + }, + "fileStripeLevel": { + "description": "Optional. Stripe level for files. Allowed values are: * `FILE_STRIPE_LEVEL_MIN`: offers the best performance for small size files. * `FILE_STRIPE_LEVEL_BALANCED`: balances performance for workloads involving a mix of small and large files. * `FILE_STRIPE_LEVEL_MAX`: higher throughput performance for larger files.", + "enum": [ + "FILE_STRIPE_LEVEL_UNSPECIFIED", + "FILE_STRIPE_LEVEL_MIN", + "FILE_STRIPE_LEVEL_BALANCED", + "FILE_STRIPE_LEVEL_MAX" + ], + "enumDescriptions": [ + "If not set, FileStripeLevel will default to FILE_STRIPE_LEVEL_BALANCED", + "Minimum file striping", + "Medium file striping", + "Maximum file striping" + ], + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. See https://cloud.google.com/resource-manager/docs/labels-overview for details.", + "type": "object" + }, + "name": { + "description": "Identifier. The resource name of the instance, in the format `projects/{project}/locations/{location}/instances/{instance_id}`.", + "type": "string" + }, + "network": { + "description": "Optional. Immutable. The name of the Compute Engine [VPC network](https://cloud.google.com/vpc/docs/vpc) to which the instance is connected.", + "type": "string" + }, + "reservedIpRange": { + "description": "Optional. Immutable. The ID of the IP address range being used by the instance's VPC network. See [Configure a VPC network](https://cloud.google.com/parallelstore/docs/vpc#create_and_configure_the_vpc). If no ID is provided, all ranges are considered.", + "type": "string" + }, + "state": { + "description": "Output only. The instance state.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "DELETING", + "FAILED", + "UPGRADING", + "REPAIRING" + ], + "enumDescriptions": [ + "Not set.", + "The instance is being created.", + "The instance is available for use.", + "The instance is being deleted.", + "The instance is not usable.", + "The instance is being upgraded.", + "The instance is being repaired. This should only be used by instances using the `PERSISTENT` deployment type." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time when the instance was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ListInstancesResponse": { + "description": "Response from ListInstances.", + "id": "ListInstancesResponse", + "properties": { + "instances": { + "description": "The list of Parallelstore instances.", + "items": { + "$ref": "Instance" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents a Google Cloud location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given location.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Long-running operation metadata.", + "id": "OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "SourceGcsBucket": { + "description": "Cloud Storage as the source of a data transfer.", + "id": "SourceGcsBucket", + "properties": { + "uri": { + "description": "Required. URI to a Cloud Storage bucket in the format: `gs:///`. The path inside the bucket is optional.", + "type": "string" + } + }, + "type": "object" + }, + "SourceParallelstore": { + "description": "Parallelstore as the source of a data transfer.", + "id": "SourceParallelstore", + "properties": { + "path": { + "description": "Optional. Root directory path to the Paralellstore filesystem, starting with `/`. Defaults to `/` if unset.", + "type": "string" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Parallelstore API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/discovery/parallelstore-v1beta.json b/discovery/parallelstore-v1beta.json new file mode 100644 index 0000000000..bc3066364e --- /dev/null +++ b/discovery/parallelstore-v1beta.json @@ -0,0 +1,977 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + } + } + } + }, + "basePath": "", + "baseUrl": "https://parallelstore.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Parallelstore", + "description": "", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/parallelstore", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "parallelstore:v1beta", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://parallelstore.mtls.googleapis.com/", + "name": "parallelstore", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "parallelstore.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v1beta/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "parallelstore.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return. If not set, the service selects a default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "instances": { + "methods": { + "create": { + "description": "Creates a Parallelstore instance in a given project and location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/instances", + "httpMethod": "POST", + "id": "parallelstore.projects.locations.instances.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "instanceId": { + "description": "Required. The name of the Parallelstore instance. * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the customer project / location", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The instance's project and location, in the format `projects/{project}/locations/{location}`. Locations map to Google Cloud zones; for example, `us-west1-b`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+parent}/instances", + "request": { + "$ref": "Instance" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a single instance.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", + "httpMethod": "DELETE", + "id": "parallelstore.projects.locations.instances.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "exportData": { + "description": "Copies data from Parallelstore to Cloud Storage.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:exportData", + "httpMethod": "POST", + "id": "parallelstore.projects.locations.instances.exportData", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:exportData", + "request": { + "$ref": "ExportDataRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details of a single instance.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", + "httpMethod": "GET", + "id": "parallelstore.projects.locations.instances.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The instance resource name, in the format `projects/{project_id}/locations/{location}/instances/{instance_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Instance" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "importData": { + "description": "Copies data from Cloud Storage to Parallelstore.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:importData", + "httpMethod": "POST", + "id": "parallelstore.projects.locations.instances.importData", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:importData", + "request": { + "$ref": "ImportDataRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all instances in a given project and location.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/instances", + "httpMethod": "GET", + "id": "parallelstore.projects.locations.instances.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. Filtering results.", + "location": "query", + "type": "string" + }, + "orderBy": { + "description": "Optional. Hint for how to order the results.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, the server will pick an appropriate default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A token identifying a page of results the server should return.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The project and location for which to retrieve instance information, in the format `projects/{project_id}/locations/{location}`. To retrieve instance information for all locations, use \"-\" as the value of `{location}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+parent}/instances", + "response": { + "$ref": "ListInstancesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates the parameters of a single instance.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}", + "httpMethod": "PATCH", + "id": "parallelstore.projects.locations.instances.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Identifier. The resource name of the instance, in the format `projects/{project}/locations/{location}/instances/{instance_id}`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. Mask of fields to update. Field mask is used to specify the fields to be overwritten in the Instance resource by the update. At least one path must be supplied in this field. The fields specified in the update_mask are relative to the resource, not the full request.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}", + "request": { + "$ref": "Instance" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "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": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "parallelstore.projects.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}:cancel", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "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": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "parallelstore.projects.locations.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "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": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "parallelstore.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", + "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "parallelstore.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + }, + "revision": "20250102", + "rootUrl": "https://parallelstore.googleapis.com/", + "schemas": { + "DestinationGcsBucket": { + "description": "Cloud Storage as the destination of a data transfer.", + "id": "DestinationGcsBucket", + "properties": { + "uri": { + "description": "Required. URI to a Cloud Storage bucket in the format: `gs:///`. The path inside the bucket is optional.", + "type": "string" + } + }, + "type": "object" + }, + "DestinationParallelstore": { + "description": "Parallelstore as the destination of a data transfer.", + "id": "DestinationParallelstore", + "properties": { + "path": { + "description": "Optional. Root directory path to the Paralellstore filesystem, starting with `/`. Defaults to `/` if unset.", + "type": "string" + } + }, + "type": "object" + }, + "ExportDataRequest": { + "description": "Export data from Parallelstore to Cloud Storage.", + "id": "ExportDataRequest", + "properties": { + "destinationGcsBucket": { + "$ref": "DestinationGcsBucket", + "description": "Cloud Storage destination." + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "type": "string" + }, + "serviceAccount": { + "description": "Optional. User-specified Service Account (SA) credentials to be used when performing the transfer. Use one of the following formats: * `{EMAIL_ADDRESS_OR_UNIQUE_ID}` * `projects/{PROJECT_ID_OR_NUMBER}/serviceAccounts/{EMAIL_ADDRESS_OR_UNIQUE_ID}` * `projects/-/serviceAccounts/{EMAIL_ADDRESS_OR_UNIQUE_ID}` If unspecified, the Parallelstore service agent is used: `service-@gcp-sa-parallelstore.iam.gserviceaccount.com`", + "type": "string" + }, + "sourceParallelstore": { + "$ref": "SourceParallelstore", + "description": "Parallelstore source." + } + }, + "type": "object" + }, + "GoogleProtobufEmpty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "GoogleProtobufEmpty", + "properties": {}, + "type": "object" + }, + "ImportDataRequest": { + "description": "Import data from Cloud Storage into a Parallelstore instance.", + "id": "ImportDataRequest", + "properties": { + "destinationParallelstore": { + "$ref": "DestinationParallelstore", + "description": "Parallelstore destination." + }, + "requestId": { + "description": "Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).", + "type": "string" + }, + "serviceAccount": { + "description": "Optional. User-specified service account credentials to be used when performing the transfer. Use one of the following formats: * `{EMAIL_ADDRESS_OR_UNIQUE_ID}` * `projects/{PROJECT_ID_OR_NUMBER}/serviceAccounts/{EMAIL_ADDRESS_OR_UNIQUE_ID}` * `projects/-/serviceAccounts/{EMAIL_ADDRESS_OR_UNIQUE_ID}` If unspecified, the Parallelstore service agent is used: `service-@gcp-sa-parallelstore.iam.gserviceaccount.com`", + "type": "string" + }, + "sourceGcsBucket": { + "$ref": "SourceGcsBucket", + "description": "The Cloud Storage source bucket and, optionally, path inside the bucket." + } + }, + "type": "object" + }, + "Instance": { + "description": "A Parallelstore instance.", + "id": "Instance", + "properties": { + "accessPoints": { + "description": "Output only. A list of IPv4 addresses used for client side configuration.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "capacityGib": { + "description": "Required. Immutable. The instance's storage capacity in Gibibytes (GiB). Allowed values are between 12000 and 100000, in multiples of 4000; e.g., 12000, 16000, 20000, ...", + "format": "int64", + "type": "string" + }, + "createTime": { + "description": "Output only. The time when the instance was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "deploymentType": { + "description": "Optional. The deployment type of the instance. Allowed values are: * `SCRATCH`: the instance is a scratch instance. * `PERSISTENT`: the instance is a persistent instance.", + "enum": [ + "DEPLOYMENT_TYPE_UNSPECIFIED", + "SCRATCH", + "PERSISTENT" + ], + "enumDescriptions": [ + "Default Deployment Type It is equivalent to SCRATCH", + "Scratch", + "Persistent" + ], + "type": "string" + }, + "description": { + "description": "Optional. The description of the instance. 2048 characters or less.", + "type": "string" + }, + "directoryStripeLevel": { + "description": "Optional. Stripe level for directories. Allowed values are: * `DIRECTORY_STRIPE_LEVEL_MIN`: recommended when directories contain a small number of files. * `DIRECTORY_STRIPE_LEVEL_BALANCED`: balances performance for workloads involving a mix of small and large directories. * `DIRECTORY_STRIPE_LEVEL_MAX`: recommended for directories with a large number of files.", + "enum": [ + "DIRECTORY_STRIPE_LEVEL_UNSPECIFIED", + "DIRECTORY_STRIPE_LEVEL_MIN", + "DIRECTORY_STRIPE_LEVEL_BALANCED", + "DIRECTORY_STRIPE_LEVEL_MAX" + ], + "enumDescriptions": [ + "If not set, DirectoryStripeLevel will default to DIRECTORY_STRIPE_LEVEL_MAX", + "Minimum directory striping", + "Medium directory striping", + "Maximum directory striping" + ], + "type": "string" + }, + "effectiveReservedIpRange": { + "description": "Output only. Immutable. The ID of the IP address range being used by the instance's VPC network. This field is populated by the service and contains the value currently used by the service.", + "readOnly": true, + "type": "string" + }, + "fileStripeLevel": { + "description": "Optional. Stripe level for files. Allowed values are: * `FILE_STRIPE_LEVEL_MIN`: offers the best performance for small size files. * `FILE_STRIPE_LEVEL_BALANCED`: balances performance for workloads involving a mix of small and large files. * `FILE_STRIPE_LEVEL_MAX`: higher throughput performance for larger files.", + "enum": [ + "FILE_STRIPE_LEVEL_UNSPECIFIED", + "FILE_STRIPE_LEVEL_MIN", + "FILE_STRIPE_LEVEL_BALANCED", + "FILE_STRIPE_LEVEL_MAX" + ], + "enumDescriptions": [ + "If not set, FileStripeLevel will default to FILE_STRIPE_LEVEL_BALANCED", + "Minimum file striping", + "Medium file striping", + "Maximum file striping" + ], + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. See https://cloud.google.com/resource-manager/docs/labels-overview for details.", + "type": "object" + }, + "name": { + "description": "Identifier. The resource name of the instance, in the format `projects/{project}/locations/{location}/instances/{instance_id}`.", + "type": "string" + }, + "network": { + "description": "Optional. Immutable. The name of the Compute Engine [VPC network](https://cloud.google.com/vpc/docs/vpc) to which the instance is connected.", + "type": "string" + }, + "reservedIpRange": { + "description": "Optional. Immutable. The ID of the IP address range being used by the instance's VPC network. See [Configure a VPC network](https://cloud.google.com/parallelstore/docs/vpc#create_and_configure_the_vpc). If no ID is provided, all ranges are considered.", + "type": "string" + }, + "state": { + "description": "Output only. The instance state.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "DELETING", + "FAILED", + "UPGRADING", + "REPAIRING" + ], + "enumDescriptions": [ + "Not set.", + "The instance is being created.", + "The instance is available for use.", + "The instance is being deleted.", + "The instance is not usable.", + "The instance is being upgraded.", + "The instance is being repaired. This should only be used by instances using the `PERSISTENT` deployment type." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time when the instance was updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ListInstancesResponse": { + "description": "Response from ListInstances.", + "id": "ListInstancesResponse", + "properties": { + "instances": { + "description": "The list of Parallelstore instances.", + "items": { + "$ref": "Instance" + }, + "type": "array" + }, + "nextPageToken": { + "description": "A token identifying a page of results the server should return.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents a Google Cloud location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given location.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Long-running operation metadata.", + "id": "OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. Human-readable status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. Server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. Name of the verb executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "SourceGcsBucket": { + "description": "Cloud Storage as the source of a data transfer.", + "id": "SourceGcsBucket", + "properties": { + "uri": { + "description": "Required. URI to a Cloud Storage bucket in the format: `gs:///`. The path inside the bucket is optional.", + "type": "string" + } + }, + "type": "object" + }, + "SourceParallelstore": { + "description": "Parallelstore as the source of a data transfer.", + "id": "SourceParallelstore", + "properties": { + "path": { + "description": "Optional. Root directory path to the Paralellstore filesystem, starting with `/`. Defaults to `/` if unset.", + "type": "string" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Parallelstore API", + "version": "v1beta", + "version_module": true +} \ No newline at end of file diff --git a/discovery/paymentsresellersubscription-v1.json b/discovery/paymentsresellersubscription-v1.json index b9f17ad94e..a62a522685 100644 --- a/discovery/paymentsresellersubscription-v1.json +++ b/discovery/paymentsresellersubscription-v1.json @@ -431,11 +431,43 @@ ] } } + }, + "userSessions": { + "methods": { + "generate": { + "description": "This API replaces user authorized OAuth consent based APIs (Create, Entitle). Generates a short-lived token for a user session based on the user intent. You can use the session token to redirect the user to Google to finish the signup flow. You can re-generate new session token repeatedly for the same request if necessary, regardless of the previous tokens being expired or not.", + "flatPath": "v1/partners/{partnersId}/userSessions:generate", + "httpMethod": "POST", + "id": "paymentsresellersubscription.partners.userSessions.generate", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent, the partner that can resell. Format: partners/{partner}", + "location": "path", + "pattern": "^partners/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/userSessions:generate", + "request": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionRequest" + }, + "response": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionResponse" + }, + "scopes": [ + "openid" + ] + } + } } } } }, - "revision": "20240922", + "revision": "20241211", "rootUrl": "https://paymentsresellersubscription.googleapis.com/", "schemas": { "GoogleCloudPaymentsResellerSubscriptionV1Amount": { @@ -506,6 +538,25 @@ }, "type": "object" }, + "GoogleCloudPaymentsResellerSubscriptionV1CreateSubscriptionIntent": { + "description": "Intent message for creating a Subscription resource.", + "id": "GoogleCloudPaymentsResellerSubscriptionV1CreateSubscriptionIntent", + "properties": { + "parent": { + "description": "Required. The parent resource name, which is the identifier of the partner.", + "type": "string" + }, + "subscription": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1Subscription", + "description": "Required. The Subscription to be created." + }, + "subscriptionId": { + "description": "Required. Identifies the subscription resource on the Partner side. The value is restricted to 63 ASCII characters at the maximum. If a subscription was previously created with the same subscription_id, we will directly return that one.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudPaymentsResellerSubscriptionV1Duration": { "description": "Describes the length of a period of a time.", "id": "GoogleCloudPaymentsResellerSubscriptionV1Duration", @@ -534,8 +585,19 @@ }, "type": "object" }, + "GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionIntent": { + "description": "Intent for entitling the previously provisioned subscription to an end user.", + "id": "GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionIntent", + "properties": { + "name": { + "description": "Required. The name of the subscription resource that is entitled to the current end user.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequest": { - "description": "LINT.IfChange Partner request for entitling the previously provisioned subscription to an end user. The end user identity is inferred from the request OAuth context.", + "description": "Partner request for entitling the previously provisioned subscription to an end user. The end user identity is inferred from the request OAuth context.", "id": "GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequest", "properties": { "lineItemEntitlementDetails": { @@ -681,6 +743,28 @@ }, "type": "object" }, + "GoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionRequest": { + "description": "[Preview only] Request to generate a user session.", + "id": "GoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionRequest", + "properties": { + "intentPayload": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1IntentPayload", + "description": "The user intent to generate the user session." + } + }, + "type": "object" + }, + "GoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionResponse": { + "description": "[Preview only] Response that contains the details for generated user session.", + "id": "GoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionResponse", + "properties": { + "userSession": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1UserSession", + "description": "The generated user session. The token size is proportional to the size of the intent payload." + } + }, + "type": "object" + }, "GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload": { "description": "Payload specific to Google One products.", "id": "GoogleCloudPaymentsResellerSubscriptionV1GoogleOnePayload", @@ -735,6 +819,21 @@ }, "type": "object" }, + "GoogleCloudPaymentsResellerSubscriptionV1IntentPayload": { + "description": "The payload that describes the user intent.", + "id": "GoogleCloudPaymentsResellerSubscriptionV1IntentPayload", + "properties": { + "createIntent": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1CreateSubscriptionIntent", + "description": "The request to create a subscription." + }, + "entitleIntent": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionIntent", + "description": "The request to entitle a subscription." + } + }, + "type": "object" + }, "GoogleCloudPaymentsResellerSubscriptionV1ListProductsResponse": { "description": "Response that contains the products.", "id": "GoogleCloudPaymentsResellerSubscriptionV1ListProductsResponse", @@ -1062,6 +1161,11 @@ }, "type": "array" }, + "migrationDetails": { + "$ref": "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionMigrationDetails", + "description": "Output only. Describes the details of the migrated subscription. Only populated if this subscription is migrated from another system.", + "readOnly": true + }, "name": { "description": "Identifier. Resource name of the subscription. It will have the format of \"partners/{partner_id}/subscriptions/{subscription_id}\". This is available for authorizeAddon, but otherwise is response only.", "type": "string" @@ -1328,6 +1432,18 @@ }, "type": "object" }, + "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionMigrationDetails": { + "description": "Describes the details of the migrated subscription.", + "id": "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionMigrationDetails", + "properties": { + "migratedSubscriptionId": { + "description": "Output only. The migrated subscription id in the legacy system.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionPromotionSpec": { "description": "Describes the spec for one promotion.", "id": "GoogleCloudPaymentsResellerSubscriptionV1SubscriptionPromotionSpec", @@ -1406,6 +1522,24 @@ }, "type": "object" }, + "GoogleCloudPaymentsResellerSubscriptionV1UserSession": { + "description": "A user session contains a short-lived token that includes information required to interact with Google Payments Reseller Platform using the following web endpoints. - A user session token should be generated dynamically for an authenticated user. You should refrain from sharing a token directly with a user in an unauthenticated context, such as SMS, or email. - You can re-generate new session tokens repeatedly for same `generate` request if necessary, regardless of the previous tokens being expired or not. You don't need to worry about multiple sessions resulting in duplicate fulfillments as guaranteed by the same subscription id. Please refer to the [Google Managed Signup](/payments/reseller/subscription/reference/index/User.Signup.Integration/Google.Managed.Signup.\\(In.Preview\\)) documentation for additional integration details.", + "id": "GoogleCloudPaymentsResellerSubscriptionV1UserSession", + "properties": { + "expireTime": { + "description": "Output only. The time at which the user session expires.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "token": { + "description": "Output only. The encrypted token of the user session, including the information of the user's intent and request. This token should be provided when redirecting the user to Google.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudPaymentsResellerSubscriptionV1YoutubePayload": { "description": "Payload specific to Youtube products.", "id": "GoogleCloudPaymentsResellerSubscriptionV1YoutubePayload", diff --git a/discovery/places-v1.json b/discovery/places-v1.json index 7125be4e2f..529182cba9 100644 --- a/discovery/places-v1.json +++ b/discovery/places-v1.json @@ -280,7 +280,7 @@ } } }, - "revision": "20240920", + "revision": "20241231", "rootUrl": "https://places.googleapis.com/", "schemas": { "GoogleGeoTypeViewport": { @@ -298,6 +298,120 @@ }, "type": "object" }, + "GoogleMapsPlacesV1AddressDescriptor": { + "description": "A relational description of a location. Includes a ranked set of nearby landmarks and precise containing areas and their relationship to the target location.", + "id": "GoogleMapsPlacesV1AddressDescriptor", + "properties": { + "areas": { + "description": "A ranked list of containing or adjacent areas. The most recognizable and precise areas are ranked first.", + "items": { + "$ref": "GoogleMapsPlacesV1AddressDescriptorArea" + }, + "type": "array" + }, + "landmarks": { + "description": "A ranked list of nearby landmarks. The most recognizable and nearby landmarks are ranked first.", + "items": { + "$ref": "GoogleMapsPlacesV1AddressDescriptorLandmark" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleMapsPlacesV1AddressDescriptorArea": { + "description": "Area information and the area's relationship with the target location. Areas includes precise sublocality, neighborhoods, and large compounds that are useful for describing a location.", + "id": "GoogleMapsPlacesV1AddressDescriptorArea", + "properties": { + "containment": { + "description": "Defines the spatial relationship between the target location and the area.", + "enum": [ + "CONTAINMENT_UNSPECIFIED", + "WITHIN", + "OUTSKIRTS", + "NEAR" + ], + "enumDescriptions": [ + "The containment is unspecified.", + "The target location is within the area region, close to the center.", + "The target location is within the area region, close to the edge.", + "The target location is outside the area region, but close by." + ], + "type": "string" + }, + "displayName": { + "$ref": "GoogleTypeLocalizedText", + "description": "The area's display name." + }, + "name": { + "description": "The area's resource name.", + "type": "string" + }, + "placeId": { + "description": "The area's place id.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleMapsPlacesV1AddressDescriptorLandmark": { + "description": "Basic landmark information and the landmark's relationship with the target location. Landmarks are prominent places that can be used to describe a location.", + "id": "GoogleMapsPlacesV1AddressDescriptorLandmark", + "properties": { + "displayName": { + "$ref": "GoogleTypeLocalizedText", + "description": "The landmark's display name." + }, + "name": { + "description": "The landmark's resource name.", + "type": "string" + }, + "placeId": { + "description": "The landmark's place id.", + "type": "string" + }, + "spatialRelationship": { + "description": "Defines the spatial relationship between the target location and the landmark.", + "enum": [ + "NEAR", + "WITHIN", + "BESIDE", + "ACROSS_THE_ROAD", + "DOWN_THE_ROAD", + "AROUND_THE_CORNER", + "BEHIND" + ], + "enumDescriptions": [ + "This is the default relationship when nothing more specific below applies.", + "The landmark has a spatial geometry and the target is within its bounds.", + "The target is directly adjacent to the landmark.", + "The target is directly opposite the landmark on the other side of the road.", + "On the same route as the landmark but not besides or across.", + "Not on the same route as the landmark but a single turn away.", + "Close to the landmark's structure but further away from its street entrances." + ], + "type": "string" + }, + "straightLineDistanceMeters": { + "description": "The straight line distance, in meters, between the center point of the target and the center point of the landmark. In some situations, this value can be longer than `travel_distance_meters`.", + "format": "float", + "type": "number" + }, + "travelDistanceMeters": { + "description": "The travel distance, in meters, along the road network from the target to the landmark, if known. This value does not take into account the mode of transportation, such as walking, driving, or biking.", + "format": "float", + "type": "number" + }, + "types": { + "description": "A set of type tags for this landmark. For a complete list of possible values, see https://developers.google.com/maps/documentation/places/web-service/place-types.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleMapsPlacesV1AuthorAttribution": { "description": "Information about the author of the UGC data. Used in Photo, and Review.", "id": "GoogleMapsPlacesV1AuthorAttribution", @@ -321,6 +435,10 @@ "description": "Request proto for AutocompletePlaces.", "id": "GoogleMapsPlacesV1AutocompletePlacesRequest", "properties": { + "includePureServiceAreaBusinesses": { + "description": "Optional. Include pure service area businesses if the field is set to true. Pure service area business is a business that visits or delivers to customers directly but does not serve customers at their business address. For example, businesses like cleaning services or plumbers. Those businesses do not have a physical address or location on Google Maps. Places will not return fields including `location`, `plus_code`, and other location related fields for these businesses.", + "type": "boolean" + }, "includeQueryPredictions": { "description": "Optional. If true, the response will include both Place and query predictions. Otherwise the response will only return Place predictions.", "type": "boolean" @@ -843,6 +961,14 @@ }, "type": "array" }, + "flagContentUri": { + "description": "A link where users can flag a problem with the photo.", + "type": "string" + }, + "googleMapsUri": { + "description": "A link to show the photo on Google Maps.", + "type": "string" + }, "heightPx": { "description": "The maximum available height, in pixels.", "format": "int32", @@ -890,6 +1016,10 @@ }, "type": "array" }, + "addressDescriptor": { + "$ref": "GoogleMapsPlacesV1AddressDescriptor", + "description": "The address descriptor of the place. Address descriptors include additional information that help describe a location using landmarks and areas. See address descriptor regional coverage in https://developers.google.com/maps/documentation/geocoding/address-descriptors/coverage." + }, "adrFormatAddress": { "description": "The place's address in adr microformat: http://microformats.org/wiki/adr.", "type": "string" @@ -925,6 +1055,13 @@ ], "type": "string" }, + "containingPlaces": { + "description": "List of places in which the current place is located.", + "items": { + "$ref": "GoogleMapsPlacesV1PlaceContainingPlace" + }, + "type": "array" + }, "curbsidePickup": { "description": "Specifies if the business supports curbside pickup.", "type": "boolean" @@ -984,6 +1121,10 @@ "description": "Place is suitable for watching sports.", "type": "boolean" }, + "googleMapsLinks": { + "$ref": "GoogleMapsPlacesV1PlaceGoogleMapsLinks", + "description": "Links to trigger different Google Maps actions." + }, "googleMapsUri": { "description": "A URL providing more information about this place.", "type": "string" @@ -1067,6 +1208,10 @@ ], "type": "string" }, + "priceRange": { + "$ref": "GoogleMapsPlacesV1PriceRange", + "description": "The price range associated with a Place." + }, "primaryType": { "description": "The primary type of the given result. This type must one of the Places API supported types. For example, \"restaurant\", \"cafe\", \"airport\", etc. A place can only have a single primary type. For the complete list of possible values, see Table A and Table B at https://developers.google.com/maps/documentation/places/web-service/place-types", "type": "string" @@ -1075,6 +1220,10 @@ "$ref": "GoogleTypeLocalizedText", "description": "The display name of the primary type, localized to the request language if applicable. For the complete list of possible values, see Table A and Table B at https://developers.google.com/maps/documentation/places/web-service/place-types" }, + "pureServiceAreaBusiness": { + "description": "Indicates whether the place is a pure service area business. Pure service area business is a business that visits or delivers to customers directly but does not serve customers at their business address. For example, businesses like cleaning services or plumbers. Those businesses may not have a physical address or location on Google Maps.", + "type": "boolean" + }, "rating": { "description": "A rating between 1.0 and 5.0, based on user reviews of this place.", "format": "double", @@ -1082,7 +1231,7 @@ }, "regularOpeningHours": { "$ref": "GoogleMapsPlacesV1PlaceOpeningHours", - "description": "The regular hours of operation." + "description": "The regular hours of operation. Note that if a place is always open (24 hours), the `close` field will not be set. Clients can rely on always open (24 hours) being represented as an `open` period containing `day` with value `0`, `hour` with value `0`, and `minute` with value `0`." }, "regularSecondaryOpeningHours": { "description": "Contains an array of entries for information about regular secondary hours of a business. Secondary hours are different from a business's main hours. For example, a restaurant can specify drive through hours or delivery hours as its secondary hours. This field populates the type subfield, which draws from a predefined list of opening hours types (such as DRIVE_THROUGH, PICKUP, or TAKEOUT) based on the types of the place.", @@ -1180,7 +1329,7 @@ }, "viewport": { "$ref": "GoogleGeoTypeViewport", - "description": "A viewport suitable for displaying the place on an average-sized map." + "description": "A viewport suitable for displaying the place on an average-sized map. This viewport should not be used as the physical boundary or the service area of the business." }, "websiteUri": { "description": "The authoritative website for this place, e.g. a business' homepage. Note that for places that are part of a chain (e.g. an IKEA store), this will usually be the website for the individual store, not the overall chain.", @@ -1248,6 +1397,10 @@ "$ref": "GoogleMapsPlacesV1ContentBlock" }, "type": "array" + }, + "flagContentUri": { + "description": "A link where users can flag a problem with the summary.", + "type": "string" } }, "type": "object" @@ -1267,6 +1420,21 @@ }, "type": "object" }, + "GoogleMapsPlacesV1PlaceContainingPlace": { + "description": "Info about the place in which this place is located.", + "id": "GoogleMapsPlacesV1PlaceContainingPlace", + "properties": { + "id": { + "description": "The place id of the place in which this place is located.", + "type": "string" + }, + "name": { + "description": "The resource name of the place in which this place is located.", + "type": "string" + } + }, + "type": "object" + }, "GoogleMapsPlacesV1PlaceGenerativeSummary": { "description": "Experimental: See https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative for more details. AI-generated summary of the place.", "id": "GoogleMapsPlacesV1PlaceGenerativeSummary", @@ -1275,10 +1443,18 @@ "$ref": "GoogleTypeLocalizedText", "description": "The detailed description of the place." }, + "descriptionFlagContentUri": { + "description": "A link where users can flag a problem with the description summary.", + "type": "string" + }, "overview": { "$ref": "GoogleTypeLocalizedText", "description": "The overview of the place." }, + "overviewFlagContentUri": { + "description": "A link where users can flag a problem with the overview summary.", + "type": "string" + }, "references": { "$ref": "GoogleMapsPlacesV1References", "description": "References that are used to generate the summary description." @@ -1286,10 +1462,47 @@ }, "type": "object" }, + "GoogleMapsPlacesV1PlaceGoogleMapsLinks": { + "description": "Links to trigger different Google Maps actions.", + "id": "GoogleMapsPlacesV1PlaceGoogleMapsLinks", + "properties": { + "directionsUri": { + "description": "A link to show the directions to the place. The link only populates the destination location and uses the default travel mode `DRIVE`.", + "type": "string" + }, + "photosUri": { + "description": "A link to show photos of this place. This link is currently not supported on Google Maps Mobile and only works on the web version of Google Maps.", + "type": "string" + }, + "placeUri": { + "description": "A link to show this place.", + "type": "string" + }, + "reviewsUri": { + "description": "A link to show reviews of this place. This link is currently not supported on Google Maps Mobile and only works on the web version of Google Maps.", + "type": "string" + }, + "writeAReviewUri": { + "description": "A link to write a review for this place. This link is currently not supported on Google Maps Mobile and only works on the web version of Google Maps.", + "type": "string" + } + }, + "type": "object" + }, "GoogleMapsPlacesV1PlaceOpeningHours": { "description": "Information about business hour of the place.", "id": "GoogleMapsPlacesV1PlaceOpeningHours", "properties": { + "nextCloseTime": { + "description": "The next time the current opening hours period ends up to 7 days in the future. This field is only populated if the opening hours period is active at the time of serving the request.", + "format": "google-datetime", + "type": "string" + }, + "nextOpenTime": { + "description": "The next time the current opening hours period starts up to 7 days in the future. This field is only populated if the opening hours period is not active at the time of serving the request.", + "format": "google-datetime", + "type": "string" + }, "openNow": { "description": "Whether the opening hours period is currently active. For regular opening hours and current opening hours, this field means whether the place is open. For secondary opening hours and current secondary opening hours, this field means whether the secondary hours of this place is active.", "type": "boolean" @@ -1383,12 +1596,12 @@ "type": "integer" }, "hour": { - "description": "The hour in 2 digits. Ranges from 00 to 23.", + "description": "The hour in 24 hour format. Ranges from 0 to 23.", "format": "int32", "type": "integer" }, "minute": { - "description": "The minute in 2 digits. Ranges from 00 to 59.", + "description": "The minute. Ranges from 0 to 59.", "format": "int32", "type": "integer" }, @@ -1509,6 +1722,21 @@ }, "type": "object" }, + "GoogleMapsPlacesV1PriceRange": { + "description": "The price range associated with a Place. `end_price` could be unset, which indicates a range without upper bound (e.g. \"More than $100\").", + "id": "GoogleMapsPlacesV1PriceRange", + "properties": { + "endPrice": { + "$ref": "GoogleTypeMoney", + "description": "The high end of the price range (exclusive). Price should be lower than this amount." + }, + "startPrice": { + "$ref": "GoogleTypeMoney", + "description": "The low end of the price range (inclusive). Price should be at or above this amount." + } + }, + "type": "object" + }, "GoogleMapsPlacesV1References": { "description": "Experimental: See https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative for more details. Reference that the generative content is related to.", "id": "GoogleMapsPlacesV1References", @@ -1538,6 +1766,14 @@ "$ref": "GoogleMapsPlacesV1AuthorAttribution", "description": "This review's author." }, + "flagContentUri": { + "description": "A link where users can flag a problem with the review.", + "type": "string" + }, + "googleMapsUri": { + "description": "A link to show the review on Google Maps.", + "type": "string" + }, "name": { "description": "A reference representing this place review which may be used to look up this place review again (also called the API \"resource\" name: `places/{place_id}/reviews/{review}`).", "type": "string" @@ -1643,6 +1879,10 @@ "description": "The duration and distance from the routing origin to a place in the response, and a second leg from that place to the destination, if requested. **Note:** Adding `routingSummaries` in the field mask without also including either the `routingParameters.origin` parameter or the `searchAlongRouteParameters.polyline.encodedPolyline` parameter in the request causes an error.", "id": "GoogleMapsPlacesV1RoutingSummary", "properties": { + "directionsUri": { + "description": "A link to show directions on Google Maps using the waypoints from the given routing summary. The route generated by this link is not guaranteed to be the same as the route used to generate the routing summary. The link uses information provided in the request, from fields including `routingParameters` and `searchAlongRouteParameters` when applicable, to generate the directions link.", + "type": "string" + }, "legs": { "description": "The legs of the trip. When you calculate travel duration and distance from a set origin, `legs` contains a single leg containing the duration and distance from the origin to the destination. When you do a search along route, `legs` contains two legs: one from the origin to place, and one from the place to the destination.", "items": { @@ -1780,6 +2020,10 @@ "$ref": "GoogleMapsPlacesV1SearchTextRequestEVOptions", "description": "Optional. Set the searchable EV options of a place search request." }, + "includePureServiceAreaBusinesses": { + "description": "Optional. Include pure service area businesses if the field is set to true. Pure service area business is a business that visits or delivers to customers directly but does not serve customers at their business address. For example, businesses like cleaning services or plumbers. Those businesses do not have a physical address or location on Google Maps. Places will not return fields including `location`, `plus_code`, and other location related fields for these businesses.", + "type": "boolean" + }, "includedType": { "description": "The requested place type. Full list of types supported: https://developers.google.com/maps/documentation/places/web-service/place-types. Only support one included type.", "type": "string" @@ -1988,6 +2232,10 @@ "$ref": "GoogleMapsPlacesV1RoutingSummary" }, "type": "array" + }, + "searchUri": { + "description": "A link allows the user to search with the same text query as specified in the request on Google Maps.", + "type": "string" } }, "type": "object" diff --git a/discovery/playdeveloperreporting-v1alpha1.json b/discovery/playdeveloperreporting-v1alpha1.json index 245060182c..bccc572e30 100644 --- a/discovery/playdeveloperreporting-v1alpha1.json +++ b/discovery/playdeveloperreporting-v1alpha1.json @@ -393,7 +393,7 @@ ], "parameters": { "filter": { - "description": "A selection predicate to retrieve only a subset of the issues. Counts in the returned error issues will only reflect occurrences that matched the filter. For filtering basics, please check [AIP-160](https://google.aip.dev/160). ** Supported field names:** * `apiLevel`: Matches error issues that occurred in the requested Android versions (specified as the numeric API level) only. Example: `apiLevel = 28 OR apiLevel = 29`. * `versionCode`: Matches error issues that occurred in the requested app version codes only. Example: `versionCode = 123 OR versionCode = 456`. * `deviceModel`: Matches error issues that occurred in the requested devices. Example: `deviceModel = \"google/walleye\" OR deviceModel = \"google/marlin\"`. * `deviceBrand`: Matches error issues that occurred in the requested device brands. Example: `deviceBrand = \"Google\". * `deviceType`: Matches error issues that occurred in the requested device types. Example: `deviceType = \"PHONE\"`. * `errorIssueType`: Matches error issues of the requested types only. Valid candidates: `CRASH`, `ANR`. Example: `errorIssueType = CRASH OR errorIssueType = ANR`. * `appProcessState`: Matches error issues on the process state of an app, indicating whether an app runs in the foreground (user-visible) or background. Valid candidates: `FOREGROUND`, `BACKGROUND`. Example: `appProcessState = FOREGROUND`. * `isUserPerceived`: Matches error issues that are user-perceived. It is not accompanied by any operators. Example: `isUserPerceived`. ** Supported operators:** * Comparison operators: The only supported comparison operator is equality. The filtered field must appear on the left hand side of the comparison. * Logical Operators: Logical operators `AND` and `OR` can be used to build complex filters following a conjunctive normal form (CNF), i.e., conjunctions of disjunctions. The `OR` operator takes precedence over `AND` so the use of parenthesis is not necessary when building CNF. The `OR` operator is only supported to build disjunctions that apply to the same field, e.g., `versionCode = 123 OR errorIssueType = ANR` is not a valid filter. ** Examples ** Some valid filtering expressions: * `versionCode = 123 AND errorIssueType = ANR` * `versionCode = 123 AND errorIssueType = OR errorIssueType = CRASH` * `versionCode = 123 AND (errorIssueType = OR errorIssueType = CRASH)`", + "description": "A selection predicate to retrieve only a subset of the issues. Counts in the returned error issues will only reflect occurrences that matched the filter. For filtering basics, please check [AIP-160](https://google.aip.dev/160). ** Supported field names:** * `apiLevel`: Matches error issues that occurred in the requested Android versions (specified as the numeric API level) only. Example: `apiLevel = 28 OR apiLevel = 29`. * `versionCode`: Matches error issues that occurred in the requested app version codes only. Example: `versionCode = 123 OR versionCode = 456`. * `deviceModel`: Matches error issues that occurred in the requested devices. Example: `deviceModel = \"google/walleye\" OR deviceModel = \"google/marlin\"`. * `deviceBrand`: Matches error issues that occurred in the requested device brands. Example: `deviceBrand = \"Google\". * `deviceType`: Matches error issues that occurred in the requested device types. Example: `deviceType = \"PHONE\"`. * `errorIssueType`: Matches error issues of the requested types only. Valid candidates: `CRASH`, `ANR`, `NON_FATAL`. Example: `errorIssueType = CRASH OR errorIssueType = ANR`. * `appProcessState`: Matches error issues on the process state of an app, indicating whether an app runs in the foreground (user-visible) or background. Valid candidates: `FOREGROUND`, `BACKGROUND`. Example: `appProcessState = FOREGROUND`. * `isUserPerceived`: Matches error issues that are user-perceived. It is not accompanied by any operators. Example: `isUserPerceived`. ** Supported operators:** * Comparison operators: The only supported comparison operator is equality. The filtered field must appear on the left hand side of the comparison. * Logical Operators: Logical operators `AND` and `OR` can be used to build complex filters following a conjunctive normal form (CNF), i.e., conjunctions of disjunctions. The `OR` operator takes precedence over `AND` so the use of parenthesis is not necessary when building CNF. The `OR` operator is only supported to build disjunctions that apply to the same field, e.g., `versionCode = 123 OR errorIssueType = ANR` is not a valid filter. ** Examples ** Some valid filtering expressions: * `versionCode = 123 AND errorIssueType = ANR` * `versionCode = 123 AND errorIssueType = OR errorIssueType = CRASH` * `versionCode = 123 AND (errorIssueType = OR errorIssueType = CRASH)`", "location": "query", "type": "string" }, @@ -434,12 +434,12 @@ "type": "integer" }, "interval.endTime.timeZone.id": { - "description": "IANA Time Zone Database time zone, e.g. \"America/New_York\".", + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", "location": "query", "type": "string" }, "interval.endTime.timeZone.version": { - "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", "location": "query", "type": "string" }, @@ -492,12 +492,12 @@ "type": "integer" }, "interval.startTime.timeZone.id": { - "description": "IANA Time Zone Database time zone, e.g. \"America/New_York\".", + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", "location": "query", "type": "string" }, "interval.startTime.timeZone.version": { - "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", "location": "query", "type": "string" }, @@ -565,7 +565,7 @@ ], "parameters": { "filter": { - "description": "A selection predicate to retrieve only a subset of the reports. For filtering basics, please check [AIP-160](https://google.aip.dev/160). ** Supported field names:** * `apiLevel`: Matches error reports that occurred in the requested Android versions (specified as the numeric API level) only. Example: `apiLevel = 28 OR apiLevel = 29`. * `versionCode`: Matches error reports that occurred in the requested app version codes only. Example: `versionCode = 123 OR versionCode = 456`. * `deviceModel`: Matches error issues that occurred in the requested devices. Example: `deviceModel = \"google/walleye\" OR deviceModel = \"google/marlin\"`. * `deviceBrand`: Matches error issues that occurred in the requested device brands. Example: `deviceBrand = \"Google\". * `deviceType`: Matches error reports that occurred in the requested device types. Example: `deviceType = \"PHONE\"`. * `errorIssueType`: Matches error reports of the requested types only. Valid candidates: `CRASH`, `ANR`. Example: `errorIssueType = CRASH OR errorIssueType = ANR`. * `errorIssueId`: Matches error reports belonging to the requested error issue ids only. Example: `errorIssueId = 1234 OR errorIssueId = 4567`. * `errorReportId`: Matches error reports with the requested error report id. Example: `errorReportId = 1234 OR errorReportId = 4567`. * `appProcessState`: Matches error reports on the process state of an app, indicating whether an app runs in the foreground (user-visible) or background. Valid candidates: `FOREGROUND`, `BACKGROUND`. Example: `appProcessState = FOREGROUND`. * `isUserPerceived`: Matches error reports that are user-perceived. It is not accompanied by any operators. Example: `isUserPerceived`. ** Supported operators:** * Comparison operators: The only supported comparison operator is equality. The filtered field must appear on the left hand side of the comparison. * Logical Operators: Logical operators `AND` and `OR` can be used to build complex filters following a conjunctive normal form (CNF), i.e., conjunctions of disjunctions. The `OR` operator takes precedence over `AND` so the use of parenthesis is not necessary when building CNF. The `OR` operator is only supported to build disjunctions that apply to the same field, e.g., `versionCode = 123 OR versionCode = ANR`. The filter expression `versionCode = 123 OR errorIssueType = ANR` is not valid. ** Examples ** Some valid filtering expressions: * `versionCode = 123 AND errorIssueType = ANR` * `versionCode = 123 AND errorIssueType = OR errorIssueType = CRASH` * `versionCode = 123 AND (errorIssueType = OR errorIssueType = CRASH)`", + "description": "A selection predicate to retrieve only a subset of the reports. For filtering basics, please check [AIP-160](https://google.aip.dev/160). ** Supported field names:** * `apiLevel`: Matches error reports that occurred in the requested Android versions (specified as the numeric API level) only. Example: `apiLevel = 28 OR apiLevel = 29`. * `versionCode`: Matches error reports that occurred in the requested app version codes only. Example: `versionCode = 123 OR versionCode = 456`. * `deviceModel`: Matches error issues that occurred in the requested devices. Example: `deviceModel = \"google/walleye\" OR deviceModel = \"google/marlin\"`. * `deviceBrand`: Matches error issues that occurred in the requested device brands. Example: `deviceBrand = \"Google\". * `deviceType`: Matches error reports that occurred in the requested device types. Example: `deviceType = \"PHONE\"`. * `errorIssueType`: Matches error reports of the requested types only. Valid candidates: `CRASH`, `ANR`, `NON_FATAL`. Example: `errorIssueType = CRASH OR errorIssueType = ANR`. * `errorIssueId`: Matches error reports belonging to the requested error issue ids only. Example: `errorIssueId = 1234 OR errorIssueId = 4567`. * `errorReportId`: Matches error reports with the requested error report id. Example: `errorReportId = 1234 OR errorReportId = 4567`. * `appProcessState`: Matches error reports on the process state of an app, indicating whether an app runs in the foreground (user-visible) or background. Valid candidates: `FOREGROUND`, `BACKGROUND`. Example: `appProcessState = FOREGROUND`. * `isUserPerceived`: Matches error reports that are user-perceived. It is not accompanied by any operators. Example: `isUserPerceived`. ** Supported operators:** * Comparison operators: The only supported comparison operator is equality. The filtered field must appear on the left hand side of the comparison. * Logical Operators: Logical operators `AND` and `OR` can be used to build complex filters following a conjunctive normal form (CNF), i.e., conjunctions of disjunctions. The `OR` operator takes precedence over `AND` so the use of parenthesis is not necessary when building CNF. The `OR` operator is only supported to build disjunctions that apply to the same field, e.g., `versionCode = 123 OR versionCode = ANR`. The filter expression `versionCode = 123 OR errorIssueType = ANR` is not valid. ** Examples ** Some valid filtering expressions: * `versionCode = 123 AND errorIssueType = ANR` * `versionCode = 123 AND errorIssueType = OR errorIssueType = CRASH` * `versionCode = 123 AND (errorIssueType = OR errorIssueType = CRASH)`", "location": "query", "type": "string" }, @@ -606,12 +606,12 @@ "type": "integer" }, "interval.endTime.timeZone.id": { - "description": "IANA Time Zone Database time zone, e.g. \"America/New_York\".", + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", "location": "query", "type": "string" }, "interval.endTime.timeZone.version": { - "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", "location": "query", "type": "string" }, @@ -664,12 +664,12 @@ "type": "integer" }, "interval.startTime.timeZone.id": { - "description": "IANA Time Zone Database time zone, e.g. \"America/New_York\".", + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", "location": "query", "type": "string" }, "interval.startTime.timeZone.version": { - "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", "location": "query", "type": "string" }, @@ -947,7 +947,7 @@ } } }, - "revision": "20240926", + "revision": "20241128", "rootUrl": "https://playdeveloperreporting.googleapis.com/", "schemas": { "GooglePlayDeveloperReportingV1alpha1Anomaly": { @@ -1133,6 +1133,13 @@ "description": "A group of related ErrorReports received for an app. Similar error reports are grouped together into issues with a likely identical root cause. **Please note:** this resource is currently in Alpha. There could be changes to the issue grouping that would result in similar but more recent error reports being assigned to different issues. This could also cause some issues disappearing entirely and being replaced by new ones. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app.", "id": "GooglePlayDeveloperReportingV1alpha1ErrorIssue", "properties": { + "annotations": { + "description": "List of annotations for an issue. Annotations provide additional information that may help in diagnosing and fixing the issue.", + "items": { + "$ref": "GooglePlayDeveloperReportingV1alpha1IssueAnnotation" + }, + "type": "array" + }, "cause": { "description": "Cause of the issue. Depending on the type this can be either: * APPLICATION_NOT_RESPONDING: the type of ANR that occurred, e.g., 'Input dispatching timed out'. * CRASH: for Java unhandled exception errors, the type of the innermost exception that was thrown, e.g., IllegalArgumentException. For signals in native code, the signal that was raised, e.g. SIGSEGV.", "type": "string" @@ -1323,6 +1330,25 @@ }, "type": "object" }, + "GooglePlayDeveloperReportingV1alpha1IssueAnnotation": { + "description": "Representation of an annotation message for an issue.", + "id": "GooglePlayDeveloperReportingV1alpha1IssueAnnotation", + "properties": { + "body": { + "description": "Contains the contents of the annotation message.", + "type": "string" + }, + "category": { + "description": "Category that the annotation belongs to. An annotation will belong to a single category. Example categories: \"Potential fix\", \"Insight\".", + "type": "string" + }, + "title": { + "description": "Title for the annotation.", + "type": "string" + } + }, + "type": "object" + }, "GooglePlayDeveloperReportingV1alpha1ListAnomaliesResponse": { "description": "Response with a list of anomalies in datasets.", "id": "GooglePlayDeveloperReportingV1alpha1ListAnomaliesResponse", @@ -2138,7 +2164,7 @@ "type": "object" }, "GoogleTypeDecimal": { - "description": "A representation of a decimal value, such as 2.5. Clients may convert values into language-native decimal formats, such as Java's BigDecimal or Python's decimal.Decimal. [BigDecimal]: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html [decimal.Decimal]: https://docs.python.org/3/library/decimal.html", + "description": "A representation of a decimal value, such as 2.5. Clients may convert values into language-native decimal formats, such as Java's [BigDecimal](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html) or Python's [decimal.Decimal](https://docs.python.org/3/library/decimal.html).", "id": "GoogleTypeDecimal", "properties": { "value": { @@ -2153,11 +2179,11 @@ "id": "GoogleTypeTimeZone", "properties": { "id": { - "description": "IANA Time Zone Database time zone, e.g. \"America/New_York\".", + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", "type": "string" }, "version": { - "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", "type": "string" } }, diff --git a/discovery/playdeveloperreporting-v1beta1.json b/discovery/playdeveloperreporting-v1beta1.json index 0879eb1b3c..f00883dd8d 100644 --- a/discovery/playdeveloperreporting-v1beta1.json +++ b/discovery/playdeveloperreporting-v1beta1.json @@ -393,7 +393,7 @@ ], "parameters": { "filter": { - "description": "A selection predicate to retrieve only a subset of the issues. Counts in the returned error issues will only reflect occurrences that matched the filter. For filtering basics, please check [AIP-160](https://google.aip.dev/160). ** Supported field names:** * `apiLevel`: Matches error issues that occurred in the requested Android versions (specified as the numeric API level) only. Example: `apiLevel = 28 OR apiLevel = 29`. * `versionCode`: Matches error issues that occurred in the requested app version codes only. Example: `versionCode = 123 OR versionCode = 456`. * `deviceModel`: Matches error issues that occurred in the requested devices. Example: `deviceModel = \"google/walleye\" OR deviceModel = \"google/marlin\"`. * `deviceBrand`: Matches error issues that occurred in the requested device brands. Example: `deviceBrand = \"Google\". * `deviceType`: Matches error issues that occurred in the requested device types. Example: `deviceType = \"PHONE\"`. * `errorIssueType`: Matches error issues of the requested types only. Valid candidates: `CRASH`, `ANR`. Example: `errorIssueType = CRASH OR errorIssueType = ANR`. * `appProcessState`: Matches error issues on the process state of an app, indicating whether an app runs in the foreground (user-visible) or background. Valid candidates: `FOREGROUND`, `BACKGROUND`. Example: `appProcessState = FOREGROUND`. * `isUserPerceived`: Matches error issues that are user-perceived. It is not accompanied by any operators. Example: `isUserPerceived`. ** Supported operators:** * Comparison operators: The only supported comparison operator is equality. The filtered field must appear on the left hand side of the comparison. * Logical Operators: Logical operators `AND` and `OR` can be used to build complex filters following a conjunctive normal form (CNF), i.e., conjunctions of disjunctions. The `OR` operator takes precedence over `AND` so the use of parenthesis is not necessary when building CNF. The `OR` operator is only supported to build disjunctions that apply to the same field, e.g., `versionCode = 123 OR errorIssueType = ANR` is not a valid filter. ** Examples ** Some valid filtering expressions: * `versionCode = 123 AND errorIssueType = ANR` * `versionCode = 123 AND errorIssueType = OR errorIssueType = CRASH` * `versionCode = 123 AND (errorIssueType = OR errorIssueType = CRASH)`", + "description": "A selection predicate to retrieve only a subset of the issues. Counts in the returned error issues will only reflect occurrences that matched the filter. For filtering basics, please check [AIP-160](https://google.aip.dev/160). ** Supported field names:** * `apiLevel`: Matches error issues that occurred in the requested Android versions (specified as the numeric API level) only. Example: `apiLevel = 28 OR apiLevel = 29`. * `versionCode`: Matches error issues that occurred in the requested app version codes only. Example: `versionCode = 123 OR versionCode = 456`. * `deviceModel`: Matches error issues that occurred in the requested devices. Example: `deviceModel = \"google/walleye\" OR deviceModel = \"google/marlin\"`. * `deviceBrand`: Matches error issues that occurred in the requested device brands. Example: `deviceBrand = \"Google\". * `deviceType`: Matches error issues that occurred in the requested device types. Example: `deviceType = \"PHONE\"`. * `errorIssueType`: Matches error issues of the requested types only. Valid candidates: `CRASH`, `ANR`, `NON_FATAL`. Example: `errorIssueType = CRASH OR errorIssueType = ANR`. * `appProcessState`: Matches error issues on the process state of an app, indicating whether an app runs in the foreground (user-visible) or background. Valid candidates: `FOREGROUND`, `BACKGROUND`. Example: `appProcessState = FOREGROUND`. * `isUserPerceived`: Matches error issues that are user-perceived. It is not accompanied by any operators. Example: `isUserPerceived`. ** Supported operators:** * Comparison operators: The only supported comparison operator is equality. The filtered field must appear on the left hand side of the comparison. * Logical Operators: Logical operators `AND` and `OR` can be used to build complex filters following a conjunctive normal form (CNF), i.e., conjunctions of disjunctions. The `OR` operator takes precedence over `AND` so the use of parenthesis is not necessary when building CNF. The `OR` operator is only supported to build disjunctions that apply to the same field, e.g., `versionCode = 123 OR errorIssueType = ANR` is not a valid filter. ** Examples ** Some valid filtering expressions: * `versionCode = 123 AND errorIssueType = ANR` * `versionCode = 123 AND errorIssueType = OR errorIssueType = CRASH` * `versionCode = 123 AND (errorIssueType = OR errorIssueType = CRASH)`", "location": "query", "type": "string" }, @@ -434,12 +434,12 @@ "type": "integer" }, "interval.endTime.timeZone.id": { - "description": "IANA Time Zone Database time zone, e.g. \"America/New_York\".", + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", "location": "query", "type": "string" }, "interval.endTime.timeZone.version": { - "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", "location": "query", "type": "string" }, @@ -492,12 +492,12 @@ "type": "integer" }, "interval.startTime.timeZone.id": { - "description": "IANA Time Zone Database time zone, e.g. \"America/New_York\".", + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", "location": "query", "type": "string" }, "interval.startTime.timeZone.version": { - "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", "location": "query", "type": "string" }, @@ -565,7 +565,7 @@ ], "parameters": { "filter": { - "description": "A selection predicate to retrieve only a subset of the reports. For filtering basics, please check [AIP-160](https://google.aip.dev/160). ** Supported field names:** * `apiLevel`: Matches error reports that occurred in the requested Android versions (specified as the numeric API level) only. Example: `apiLevel = 28 OR apiLevel = 29`. * `versionCode`: Matches error reports that occurred in the requested app version codes only. Example: `versionCode = 123 OR versionCode = 456`. * `deviceModel`: Matches error issues that occurred in the requested devices. Example: `deviceModel = \"google/walleye\" OR deviceModel = \"google/marlin\"`. * `deviceBrand`: Matches error issues that occurred in the requested device brands. Example: `deviceBrand = \"Google\". * `deviceType`: Matches error reports that occurred in the requested device types. Example: `deviceType = \"PHONE\"`. * `errorIssueType`: Matches error reports of the requested types only. Valid candidates: `CRASH`, `ANR`. Example: `errorIssueType = CRASH OR errorIssueType = ANR`. * `errorIssueId`: Matches error reports belonging to the requested error issue ids only. Example: `errorIssueId = 1234 OR errorIssueId = 4567`. * `errorReportId`: Matches error reports with the requested error report id. Example: `errorReportId = 1234 OR errorReportId = 4567`. * `appProcessState`: Matches error reports on the process state of an app, indicating whether an app runs in the foreground (user-visible) or background. Valid candidates: `FOREGROUND`, `BACKGROUND`. Example: `appProcessState = FOREGROUND`. * `isUserPerceived`: Matches error reports that are user-perceived. It is not accompanied by any operators. Example: `isUserPerceived`. ** Supported operators:** * Comparison operators: The only supported comparison operator is equality. The filtered field must appear on the left hand side of the comparison. * Logical Operators: Logical operators `AND` and `OR` can be used to build complex filters following a conjunctive normal form (CNF), i.e., conjunctions of disjunctions. The `OR` operator takes precedence over `AND` so the use of parenthesis is not necessary when building CNF. The `OR` operator is only supported to build disjunctions that apply to the same field, e.g., `versionCode = 123 OR versionCode = ANR`. The filter expression `versionCode = 123 OR errorIssueType = ANR` is not valid. ** Examples ** Some valid filtering expressions: * `versionCode = 123 AND errorIssueType = ANR` * `versionCode = 123 AND errorIssueType = OR errorIssueType = CRASH` * `versionCode = 123 AND (errorIssueType = OR errorIssueType = CRASH)`", + "description": "A selection predicate to retrieve only a subset of the reports. For filtering basics, please check [AIP-160](https://google.aip.dev/160). ** Supported field names:** * `apiLevel`: Matches error reports that occurred in the requested Android versions (specified as the numeric API level) only. Example: `apiLevel = 28 OR apiLevel = 29`. * `versionCode`: Matches error reports that occurred in the requested app version codes only. Example: `versionCode = 123 OR versionCode = 456`. * `deviceModel`: Matches error issues that occurred in the requested devices. Example: `deviceModel = \"google/walleye\" OR deviceModel = \"google/marlin\"`. * `deviceBrand`: Matches error issues that occurred in the requested device brands. Example: `deviceBrand = \"Google\". * `deviceType`: Matches error reports that occurred in the requested device types. Example: `deviceType = \"PHONE\"`. * `errorIssueType`: Matches error reports of the requested types only. Valid candidates: `CRASH`, `ANR`, `NON_FATAL`. Example: `errorIssueType = CRASH OR errorIssueType = ANR`. * `errorIssueId`: Matches error reports belonging to the requested error issue ids only. Example: `errorIssueId = 1234 OR errorIssueId = 4567`. * `errorReportId`: Matches error reports with the requested error report id. Example: `errorReportId = 1234 OR errorReportId = 4567`. * `appProcessState`: Matches error reports on the process state of an app, indicating whether an app runs in the foreground (user-visible) or background. Valid candidates: `FOREGROUND`, `BACKGROUND`. Example: `appProcessState = FOREGROUND`. * `isUserPerceived`: Matches error reports that are user-perceived. It is not accompanied by any operators. Example: `isUserPerceived`. ** Supported operators:** * Comparison operators: The only supported comparison operator is equality. The filtered field must appear on the left hand side of the comparison. * Logical Operators: Logical operators `AND` and `OR` can be used to build complex filters following a conjunctive normal form (CNF), i.e., conjunctions of disjunctions. The `OR` operator takes precedence over `AND` so the use of parenthesis is not necessary when building CNF. The `OR` operator is only supported to build disjunctions that apply to the same field, e.g., `versionCode = 123 OR versionCode = ANR`. The filter expression `versionCode = 123 OR errorIssueType = ANR` is not valid. ** Examples ** Some valid filtering expressions: * `versionCode = 123 AND errorIssueType = ANR` * `versionCode = 123 AND errorIssueType = OR errorIssueType = CRASH` * `versionCode = 123 AND (errorIssueType = OR errorIssueType = CRASH)`", "location": "query", "type": "string" }, @@ -606,12 +606,12 @@ "type": "integer" }, "interval.endTime.timeZone.id": { - "description": "IANA Time Zone Database time zone, e.g. \"America/New_York\".", + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", "location": "query", "type": "string" }, "interval.endTime.timeZone.version": { - "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", "location": "query", "type": "string" }, @@ -664,12 +664,12 @@ "type": "integer" }, "interval.startTime.timeZone.id": { - "description": "IANA Time Zone Database time zone, e.g. \"America/New_York\".", + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", "location": "query", "type": "string" }, "interval.startTime.timeZone.version": { - "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", "location": "query", "type": "string" }, @@ -947,7 +947,7 @@ } } }, - "revision": "20240926", + "revision": "20241128", "rootUrl": "https://playdeveloperreporting.googleapis.com/", "schemas": { "GooglePlayDeveloperReportingV1beta1Anomaly": { @@ -1133,6 +1133,13 @@ "description": "A group of related ErrorReports received for an app. Similar error reports are grouped together into issues with a likely identical root cause. **Please note:** this resource is currently in Alpha. There could be changes to the issue grouping that would result in similar but more recent error reports being assigned to different issues. This could also cause some issues disappearing entirely and being replaced by new ones. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app.", "id": "GooglePlayDeveloperReportingV1beta1ErrorIssue", "properties": { + "annotations": { + "description": "List of annotations for an issue. Annotations provide additional information that may help in diagnosing and fixing the issue.", + "items": { + "$ref": "GooglePlayDeveloperReportingV1beta1IssueAnnotation" + }, + "type": "array" + }, "cause": { "description": "Cause of the issue. Depending on the type this can be either: * APPLICATION_NOT_RESPONDING: the type of ANR that occurred, e.g., 'Input dispatching timed out'. * CRASH: for Java unhandled exception errors, the type of the innermost exception that was thrown, e.g., IllegalArgumentException. For signals in native code, the signal that was raised, e.g. SIGSEGV.", "type": "string" @@ -1323,6 +1330,25 @@ }, "type": "object" }, + "GooglePlayDeveloperReportingV1beta1IssueAnnotation": { + "description": "Representation of an annotation message for an issue.", + "id": "GooglePlayDeveloperReportingV1beta1IssueAnnotation", + "properties": { + "body": { + "description": "Contains the contents of the annotation message.", + "type": "string" + }, + "category": { + "description": "Category that the annotation belongs to. An annotation will belong to a single category. Example categories: \"Potential fix\", \"Insight\".", + "type": "string" + }, + "title": { + "description": "Title for the annotation.", + "type": "string" + } + }, + "type": "object" + }, "GooglePlayDeveloperReportingV1beta1ListAnomaliesResponse": { "description": "Response with a list of anomalies in datasets.", "id": "GooglePlayDeveloperReportingV1beta1ListAnomaliesResponse", @@ -2138,7 +2164,7 @@ "type": "object" }, "GoogleTypeDecimal": { - "description": "A representation of a decimal value, such as 2.5. Clients may convert values into language-native decimal formats, such as Java's BigDecimal or Python's decimal.Decimal. [BigDecimal]: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html [decimal.Decimal]: https://docs.python.org/3/library/decimal.html", + "description": "A representation of a decimal value, such as 2.5. Clients may convert values into language-native decimal formats, such as Java's [BigDecimal](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html) or Python's [decimal.Decimal](https://docs.python.org/3/library/decimal.html).", "id": "GoogleTypeDecimal", "properties": { "value": { @@ -2153,11 +2179,11 @@ "id": "GoogleTypeTimeZone", "properties": { "id": { - "description": "IANA Time Zone Database time zone, e.g. \"America/New_York\".", + "description": "IANA Time Zone Database time zone. For example \"America/New_York\".", "type": "string" }, "version": { - "description": "Optional. IANA Time Zone Database version number, e.g. \"2019a\".", + "description": "Optional. IANA Time Zone Database version number. For example \"2019a\".", "type": "string" } }, diff --git a/discovery/playintegrity-v1.json b/discovery/playintegrity-v1.json index a423ad4c10..e4506f0bdd 100644 --- a/discovery/playintegrity-v1.json +++ b/discovery/playintegrity-v1.json @@ -170,7 +170,7 @@ } } }, - "revision": "20240813", + "revision": "20241127", "rootUrl": "https://playintegrity.googleapis.com/", "schemas": { "AccountActivity": { @@ -366,10 +366,26 @@ }, "type": "object" }, + "DeviceAttributes": { + "description": "Contains information about the device for which the integrity token was generated, e.g. Android SDK version.", + "id": "DeviceAttributes", + "properties": { + "sdkVersion": { + "description": "Android SDK version of the device, as defined in the public Android documentation: https://developer.android.com/reference/android/os/Build.VERSION_CODES. It won't be set if a necessary requirement was missed. For example DeviceIntegrity did not meet the minimum bar.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "DeviceIntegrity": { "description": "Contains the device attestation information.", "id": "DeviceIntegrity", "properties": { + "deviceAttributes": { + "$ref": "DeviceAttributes", + "description": "Attributes of the device where the integrity token was generated." + }, "deviceRecall": { "$ref": "DeviceRecall", "description": "Details about the device recall bits set by the developer." @@ -395,6 +411,27 @@ }, "type": "array" }, + "legacyDeviceRecognitionVerdict": { + "description": "Contains legacy details about the integrity of the device the app is running on. Only for devices with Android version T or higher and only for apps opted in to the new verdicts. Only available during the transition period to the new verdicts system and will be removed afterwards.", + "items": { + "enum": [ + "UNKNOWN", + "MEETS_BASIC_INTEGRITY", + "MEETS_DEVICE_INTEGRITY", + "MEETS_STRONG_INTEGRITY", + "MEETS_VIRTUAL_INTEGRITY" + ], + "enumDescriptions": [ + "Play does not have sufficient information to evaluate device integrity", + "App is running on a device that passes basic system integrity checks, but may not meet Android platform compatibility requirements and may not be approved to run Google Play services.", + "App is running on GMS Android device with Google Play services.", + "App is running on GMS Android device with Google Play services and has a strong guarantee of system integrity such as a hardware-backed keystore.", + "App is running on an Android emulator with Google Play services which meets core Android compatibility requirements." + ], + "type": "string" + }, + "type": "array" + }, "recentDeviceActivity": { "$ref": "RecentDeviceActivity", "description": "Details about the device activity of the device the app is running on." diff --git a/discovery/policysimulator-v1.json b/discovery/policysimulator-v1.json index 92df65d501..a11535aecf 100644 --- a/discovery/policysimulator-v1.json +++ b/discovery/policysimulator-v1.json @@ -806,7 +806,7 @@ } } }, - "revision": "20240623", + "revision": "20241118", "rootUrl": "https://policysimulator.googleapis.com/", "schemas": { "GoogleCloudOrgpolicyV2AlternatePolicySpec": { @@ -977,6 +977,14 @@ "description": "If `true`, then the policy is enforced. If `false`, then any configuration is acceptable. This field can be set only in policies for boolean constraints.", "type": "boolean" }, + "parameters": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Required for GMCs if parameters defined in constraints. Pass parameter values when policy enforcement is enabled. Ensure that parameter value types match those defined in the constraint definition. For example: { \"allowedLocations\" : [\"us-east1\", \"us-west1\"], \"allowAll\" : true }", + "type": "object" + }, "values": { "$ref": "GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValues", "description": "List of values to be used for this policy rule. This field can be set only in policies for list constraints." diff --git a/discovery/policysimulator-v1alpha.json b/discovery/policysimulator-v1alpha.json index 640a6a9c08..bd158ec82e 100644 --- a/discovery/policysimulator-v1alpha.json +++ b/discovery/policysimulator-v1alpha.json @@ -1078,7 +1078,7 @@ } } }, - "revision": "20240505", + "revision": "20241118", "rootUrl": "https://policysimulator.googleapis.com/", "schemas": { "GoogleCloudOrgpolicyV2AlternatePolicySpec": { @@ -1249,6 +1249,14 @@ "description": "If `true`, then the policy is enforced. If `false`, then any configuration is acceptable. This field can be set only in policies for boolean constraints.", "type": "boolean" }, + "parameters": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Required for GMCs if parameters defined in constraints. Pass parameter values when policy enforcement is enabled. Ensure that parameter value types match those defined in the constraint definition. For example: { \"allowedLocations\" : [\"us-east1\", \"us-west1\"], \"allowAll\" : true }", + "type": "object" + }, "values": { "$ref": "GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValues", "description": "List of values to be used for this policy rule. This field can be set only in policies for list constraints." diff --git a/discovery/policysimulator-v1beta.json b/discovery/policysimulator-v1beta.json index ad78e6647f..d0d7cda963 100644 --- a/discovery/policysimulator-v1beta.json +++ b/discovery/policysimulator-v1beta.json @@ -1078,7 +1078,7 @@ } } }, - "revision": "20240505", + "revision": "20241118", "rootUrl": "https://policysimulator.googleapis.com/", "schemas": { "GoogleCloudOrgpolicyV2AlternatePolicySpec": { @@ -1249,6 +1249,14 @@ "description": "If `true`, then the policy is enforced. If `false`, then any configuration is acceptable. This field can be set only in policies for boolean constraints.", "type": "boolean" }, + "parameters": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Required for GMCs if parameters defined in constraints. Pass parameter values when policy enforcement is enabled. Ensure that parameter value types match those defined in the constraint definition. For example: { \"allowedLocations\" : [\"us-east1\", \"us-west1\"], \"allowAll\" : true }", + "type": "object" + }, "values": { "$ref": "GoogleCloudOrgpolicyV2PolicySpecPolicyRuleStringValues", "description": "List of values to be used for this policy rule. This field can be set only in policies for list constraints." diff --git a/discovery/privateca-v1.json b/discovery/privateca-v1.json index 56bdaf3238..161d7ea331 100644 --- a/discovery/privateca-v1.json +++ b/discovery/privateca-v1.json @@ -392,7 +392,7 @@ ], "parameters": { "name": { - "description": "Output only. Identifier. The resource name for this CaPool in the format `projects/*/locations/*/caPools/*`.", + "description": "Identifier. The resource name for this CaPool in the format `projects/*/locations/*/caPools/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/caPools/[^/]+$", "required": true, @@ -754,7 +754,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name for this CertificateAuthority in the format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.", + "description": "Identifier. The resource name for this CertificateAuthority in the format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/caPools/[^/]+/certificateAuthorities/[^/]+$", "required": true, @@ -927,7 +927,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name for this CertificateRevocationList in the format `projects/*/locations/*/caPools/*certificateAuthorities/*/ certificateRevocationLists/*`.", + "description": "Identifier. The resource name for this CertificateRevocationList in the format `projects/*/locations/*/caPools/*certificateAuthorities/*/ certificateRevocationLists/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/caPools/[^/]+/certificateAuthorities/[^/]+/certificateRevocationLists/[^/]+$", "required": true, @@ -1028,7 +1028,7 @@ ], "parameters": { "certificateId": { - "description": "Optional. It must be unique within a location and match the regular expression `[a-zA-Z0-9_-]{1,63}`. This field is required when using a CertificateAuthority in the Enterprise CertificateAuthority.Tier, but is optional and its value is ignored otherwise.", + "description": "Optional. It must be unique within a location and match the regular expression `[a-zA-Z0-9_-]{1,63}`. This field is required when using a CertificateAuthority in the Enterprise CertificateAuthority.tier, but is optional and its value is ignored otherwise.", "location": "query", "type": "string" }, @@ -1147,7 +1147,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name for this Certificate in the format `projects/*/locations/*/caPools/*/certificates/*`.", + "description": "Identifier. The resource name for this Certificate in the format `projects/*/locations/*/caPools/*/certificates/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/caPools/[^/]+/certificates/[^/]+$", "required": true, @@ -1390,7 +1390,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name for this CertificateTemplate in the format `projects/*/locations/*/certificateTemplates/*`.", + "description": "Identifier. The resource name for this CertificateTemplate in the format `projects/*/locations/*/certificateTemplates/*`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/certificateTemplates/[^/]+$", "required": true, @@ -1480,7 +1480,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "privateca.projects.locations.operations.cancel", @@ -1605,7 +1605,7 @@ } } }, - "revision": "20240918", + "revision": "20241204", "rootUrl": "https://privateca.googleapis.com/", "schemas": { "AccessUrls": { @@ -1762,8 +1762,7 @@ "type": "object" }, "name": { - "description": "Output only. Identifier. The resource name for this CaPool in the format `projects/*/locations/*/caPools/*`.", - "readOnly": true, + "description": "Identifier. The resource name for this CaPool in the format `projects/*/locations/*/caPools/*`.", "type": "string" }, "publishingOptions": { @@ -1847,8 +1846,7 @@ "type": "string" }, "name": { - "description": "Output only. The resource name for this Certificate in the format `projects/*/locations/*/caPools/*/certificates/*`.", - "readOnly": true, + "description": "Identifier. The resource name for this Certificate in the format `projects/*/locations/*/caPools/*/certificates/*`.", "type": "string" }, "pemCertificate": { @@ -1956,8 +1954,7 @@ "type": "string" }, "name": { - "description": "Output only. The resource name for this CertificateAuthority in the format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.", - "readOnly": true, + "description": "Identifier. The resource name for this CertificateAuthority in the format `projects/*/locations/*/caPools/*/certificateAuthorities/*`.", "type": "string" }, "pemCaCertificates": { @@ -2216,8 +2213,7 @@ "type": "object" }, "name": { - "description": "Output only. The resource name for this CertificateRevocationList in the format `projects/*/locations/*/caPools/*certificateAuthorities/*/ certificateRevocationLists/*`.", - "readOnly": true, + "description": "Identifier. The resource name for this CertificateRevocationList in the format `projects/*/locations/*/caPools/*certificateAuthorities/*/ certificateRevocationLists/*`.", "type": "string" }, "pemCrl": { @@ -2299,8 +2295,7 @@ "type": "string" }, "name": { - "description": "Output only. The resource name for this CertificateTemplate in the format `projects/*/locations/*/certificateTemplates/*`.", - "readOnly": true, + "description": "Identifier. The resource name for this CertificateTemplate in the format `projects/*/locations/*/certificateTemplates/*`.", "type": "string" }, "passthroughExtensions": { @@ -2641,7 +2636,7 @@ "type": "array" }, "nextPageToken": { - "description": "A token to retrieve next page of results. Pass this value in ListCertificateAuthoritiesRequest.next_page_token to retrieve the next page of results.", + "description": "A token to retrieve next page of results. Pass this value in ListCertificateAuthoritiesRequest.page_token to retrieve the next page of results.", "type": "string" }, "unreachable": { @@ -2666,7 +2661,7 @@ "type": "array" }, "nextPageToken": { - "description": "A token to retrieve next page of results. Pass this value in ListCertificateAuthoritiesRequest.next_page_token to retrieve the next page of results.", + "description": "A token to retrieve next page of results. Pass this value in ListCertificateAuthoritiesRequest.page_token to retrieve the next page of results.", "type": "string" }, "unreachable": { @@ -2691,7 +2686,7 @@ "type": "array" }, "nextPageToken": { - "description": "A token to retrieve next page of results. Pass this value in ListCertificateRevocationListsRequest.next_page_token to retrieve the next page of results.", + "description": "A token to retrieve next page of results. Pass this value in ListCertificateRevocationListsRequest.page_token to retrieve the next page of results.", "type": "string" }, "unreachable": { @@ -2716,7 +2711,7 @@ "type": "array" }, "nextPageToken": { - "description": "A token to retrieve next page of results. Pass this value in ListCertificateTemplatesRequest.next_page_token to retrieve the next page of results.", + "description": "A token to retrieve next page of results. Pass this value in ListCertificateTemplatesRequest.page_token to retrieve the next page of results.", "type": "string" }, "unreachable": { @@ -2741,7 +2736,7 @@ "type": "array" }, "nextPageToken": { - "description": "A token to retrieve next page of results. Pass this value in ListCertificatesRequest.next_page_token to retrieve the next page of results.", + "description": "A token to retrieve next page of results. Pass this value in ListCertificatesRequest.page_token to retrieve the next page of results.", "type": "string" }, "unreachable": { @@ -2963,7 +2958,7 @@ "type": "string" }, "requestedCancellation": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, diff --git a/discovery/privateca-v1beta1.json b/discovery/privateca-v1beta1.json index ebdc36d17e..327ab538cf 100644 --- a/discovery/privateca-v1beta1.json +++ b/discovery/privateca-v1beta1.json @@ -364,7 +364,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "privateca.projects.locations.operations.cancel", @@ -580,7 +580,7 @@ } } }, - "revision": "20240129", + "revision": "20241204", "rootUrl": "https://privateca.googleapis.com/", "schemas": { "AuditConfig": { diff --git a/discovery/pubsub-v1.json b/discovery/pubsub-v1.json index f45f2a8fd2..8b6806959a 100644 --- a/discovery/pubsub-v1.json +++ b/discovery/pubsub-v1.json @@ -1638,7 +1638,7 @@ } } }, - "revision": "20240918", + "revision": "20241231", "rootUrl": "https://pubsub.googleapis.com/", "schemas": { "AcknowledgeRequest": { @@ -1656,7 +1656,7 @@ "type": "object" }, "AnalyticsHubSubscriptionInfo": { - "description": "Information about an associated Analytics Hub subscription (https://cloud.google.com/bigquery/docs/analytics-hub-manage-subscriptions).", + "description": "Information about an associated [Analytics Hub subscription](https://cloud.google.com/bigquery/docs/analytics-hub-manage-subscriptions).", "id": "AnalyticsHubSubscriptionInfo", "properties": { "listing": { @@ -1735,6 +1735,110 @@ }, "type": "object" }, + "AwsMsk": { + "description": "Ingestion settings for Amazon MSK.", + "id": "AwsMsk", + "properties": { + "awsRoleArn": { + "description": "Required. AWS role ARN to be used for Federated Identity authentication with Amazon MSK. Check the Pub/Sub docs for how to set up this role and the required permissions that need to be attached to it.", + "type": "string" + }, + "clusterArn": { + "description": "Required. The Amazon Resource Name (ARN) that uniquely identifies the cluster.", + "type": "string" + }, + "gcpServiceAccount": { + "description": "Required. The GCP service account to be used for Federated Identity authentication with Amazon MSK (via a `AssumeRoleWithWebIdentity` call for the provided role). The `aws_role_arn` must be set up with `accounts.google.com:sub` equals to this service account number.", + "type": "string" + }, + "state": { + "description": "Output only. An output-only field that indicates the state of the Amazon MSK ingestion source.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "MSK_PERMISSION_DENIED", + "PUBLISH_PERMISSION_DENIED", + "CLUSTER_NOT_FOUND", + "TOPIC_NOT_FOUND" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Ingestion is active.", + "Permission denied encountered while consuming data from Amazon MSK.", + "Permission denied encountered while publishing to the topic.", + "The provided MSK cluster wasn't found.", + "The provided topic wasn't found." + ], + "readOnly": true, + "type": "string" + }, + "topic": { + "description": "Required. The name of the topic in the Amazon MSK cluster that Pub/Sub will import from.", + "type": "string" + } + }, + "type": "object" + }, + "AzureEventHubs": { + "description": "Ingestion settings for Azure Event Hubs.", + "id": "AzureEventHubs", + "properties": { + "clientId": { + "description": "Optional. The client id of the Azure application that is being used to authenticate Pub/Sub.", + "type": "string" + }, + "eventHub": { + "description": "Optional. The name of the Event Hub.", + "type": "string" + }, + "gcpServiceAccount": { + "description": "Optional. The GCP service account to be used for Federated Identity authentication.", + "type": "string" + }, + "namespace": { + "description": "Optional. The name of the Event Hubs namespace.", + "type": "string" + }, + "resourceGroup": { + "description": "Optional. Name of the resource group within the azure subscription.", + "type": "string" + }, + "state": { + "description": "Output only. An output-only field that indicates the state of the Event Hubs ingestion source.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "EVENT_HUBS_PERMISSION_DENIED", + "PUBLISH_PERMISSION_DENIED", + "NAMESPACE_NOT_FOUND", + "EVENT_HUB_NOT_FOUND", + "SUBSCRIPTION_NOT_FOUND", + "RESOURCE_GROUP_NOT_FOUND" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Ingestion is active.", + "Permission denied encountered while consuming data from Event Hubs. This can happen when `client_id`, or `tenant_id` are invalid. Or the right permissions haven't been granted.", + "Permission denied encountered while publishing to the topic.", + "The provided Event Hubs namespace couldn't be found.", + "The provided Event Hub couldn't be found.", + "The provided Event Hubs subscription couldn't be found.", + "The provided Event Hubs resource group couldn't be found." + ], + "readOnly": true, + "type": "string" + }, + "subscriptionId": { + "description": "Optional. The Azure subscription id.", + "type": "string" + }, + "tenantId": { + "description": "Optional. The tenant id of the Azure application that is being used to authenticate Pub/Sub.", + "type": "string" + } + }, + "type": "object" + }, "BigQueryConfig": { "description": "Configuration for a BigQuery subscription.", "id": "BigQueryConfig", @@ -1944,6 +2048,56 @@ }, "type": "object" }, + "ConfluentCloud": { + "description": "Ingestion settings for Confluent Cloud.", + "id": "ConfluentCloud", + "properties": { + "bootstrapServer": { + "description": "Required. The address of the bootstrap server. The format is url:port.", + "type": "string" + }, + "clusterId": { + "description": "Required. The id of the cluster.", + "type": "string" + }, + "gcpServiceAccount": { + "description": "Required. The GCP service account to be used for Federated Identity authentication with `identity_pool_id`.", + "type": "string" + }, + "identityPoolId": { + "description": "Required. The id of the identity pool to be used for Federated Identity authentication with Confluent Cloud. See https://docs.confluent.io/cloud/current/security/authenticate/workload-identities/identity-providers/oauth/identity-pools.html#add-oauth-identity-pools.", + "type": "string" + }, + "state": { + "description": "Output only. An output-only field that indicates the state of the Confluent Cloud ingestion source.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "CONFLUENT_CLOUD_PERMISSION_DENIED", + "PUBLISH_PERMISSION_DENIED", + "UNREACHABLE_BOOTSTRAP_SERVER", + "CLUSTER_NOT_FOUND", + "TOPIC_NOT_FOUND" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Ingestion is active.", + "Permission denied encountered while consuming data from Confluent Cloud.", + "Permission denied encountered while publishing to the topic.", + "The provided bootstrap server address is unreachable.", + "The provided cluster wasn't found.", + "The provided topic wasn't found." + ], + "readOnly": true, + "type": "string" + }, + "topic": { + "description": "Required. The name of the topic in the Confluent Cloud cluster that Pub/Sub will import from.", + "type": "string" + } + }, + "type": "object" + }, "CreateSnapshotRequest": { "description": "Request for the `CreateSnapshot` method.", "id": "CreateSnapshotRequest", @@ -2033,10 +2187,22 @@ "$ref": "AwsKinesis", "description": "Optional. Amazon Kinesis Data Streams." }, + "awsMsk": { + "$ref": "AwsMsk", + "description": "Optional. Amazon MSK." + }, + "azureEventHubs": { + "$ref": "AzureEventHubs", + "description": "Optional. Azure Event Hubs." + }, "cloudStorage": { "$ref": "CloudStorage", "description": "Optional. Cloud Storage." }, + "confluentCloud": { + "$ref": "ConfluentCloud", + "description": "Optional. Confluent Cloud." + }, "platformLogsSettings": { "$ref": "PlatformLogsSettings", "description": "Optional. Platform Logs settings. If unset, no Platform Logs will be generated." diff --git a/discovery/pubsublite-v1.json b/discovery/pubsublite-v1.json index cda6fa588d..afee25f2c4 100644 --- a/discovery/pubsublite-v1.json +++ b/discovery/pubsublite-v1.json @@ -114,7 +114,7 @@ "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`.", + "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/admin/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "pubsublite.admin.projects.locations.operations.cancel", @@ -1040,7 +1040,7 @@ } } }, - "revision": "20230804", + "revision": "20241116", "rootUrl": "https://pubsublite.googleapis.com/", "schemas": { "CancelOperationRequest": { diff --git a/discovery/rapidmigrationassessment-v1.json b/discovery/rapidmigrationassessment-v1.json index f4a8e55cc2..49bd859772 100644 --- a/discovery/rapidmigrationassessment-v1.json +++ b/discovery/rapidmigrationassessment-v1.json @@ -508,7 +508,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "rapidmigrationassessment.projects.locations.operations.cancel", @@ -633,7 +633,7 @@ } } }, - "revision": "20230911", + "revision": "20241211", "rootUrl": "https://rapidmigrationassessment.googleapis.com/", "schemas": { "Annotation": { diff --git a/discovery/readerrevenuesubscriptionlinking-v1.json b/discovery/readerrevenuesubscriptionlinking-v1.json index 9290f1fbe6..fd8921a4bb 100644 --- a/discovery/readerrevenuesubscriptionlinking-v1.json +++ b/discovery/readerrevenuesubscriptionlinking-v1.json @@ -207,7 +207,7 @@ } } }, - "revision": "20230216", + "revision": "20241015", "rootUrl": "https://readerrevenuesubscriptionlinking.googleapis.com/", "schemas": { "DeleteReaderResponse": { @@ -225,7 +225,7 @@ "type": "string" }, "expireTime": { - "description": "Required. Expiration time of the entitlement. Entitlements that have expired over 30 days will be purged. Required. LINT.IfChange(expire_time) The max expire_time is 398 days from now(). LINT.ThenChange(//depot/google3/java/com/google/subscribewithgoogle/accountlinking/subscriptionlink/service/config/protoconf.pi:max_expiry_age)", + "description": "Required. Expiration time of the entitlement. Entitlements that have expired over 30 days will be purged. The max expire_time is 398 days from now().", "format": "google-datetime", "type": "string" }, diff --git a/discovery/recaptchaenterprise-v1.json b/discovery/recaptchaenterprise-v1.json index 653ca4d620..86ff171d3f 100644 --- a/discovery/recaptchaenterprise-v1.json +++ b/discovery/recaptchaenterprise-v1.json @@ -786,7 +786,7 @@ } } }, - "revision": "20240906", + "revision": "20241208", "rootUrl": "https://recaptchaenterprise.googleapis.com/", "schemas": { "GoogleCloudRecaptchaenterpriseV1AccountDefenderAssessment": { @@ -1175,9 +1175,9 @@ "DISABLED" ], "enumDescriptions": [ - "Default, unspecified setting. If opted in for automatic detection, `fraud_prevention_assessment` is returned based on the request. Otherwise, `fraud_prevention_assessment` is returned if `transaction_data` is present in the `Event` and Fraud Prevention is enabled in the Google Cloud console.", + "Default, unspecified setting. `fraud_prevention_assessment` is returned if `transaction_data` is present in `Event` and Fraud Prevention is enabled in the Google Cloud console.", "Enable Fraud Prevention for this assessment, if Fraud Prevention is enabled in the Google Cloud console.", - "Disable Fraud Prevention for this assessment, regardless of opt-in status or Google Cloud console settings." + "Disable Fraud Prevention for this assessment, regardless of Google Cloud console settings." ], "type": "string" }, @@ -1803,7 +1803,7 @@ "type": "object" }, "GoogleCloudRecaptchaenterpriseV1RemoveIpOverrideRequest": { - "description": "The removeIpOverride request message.", + "description": "The RemoveIpOverride request message.", "id": "GoogleCloudRecaptchaenterpriseV1RemoveIpOverrideRequest", "properties": { "ipOverrideData": { @@ -1854,6 +1854,23 @@ "description": "Risk analysis result for an event.", "id": "GoogleCloudRecaptchaenterpriseV1RiskAnalysis", "properties": { + "challenge": { + "description": "Output only. Challenge information for SCORE_AND_CHALLENGE and INVISIBLE keys", + "enum": [ + "CHALLENGE_UNSPECIFIED", + "NOCAPTCHA", + "PASSED", + "FAILED" + ], + "enumDescriptions": [ + "Default unspecified type.", + "No challenge was presented for solving.", + "A solution was submitted that was correct.", + "A solution was submitted that was incorrect or otherwise deemed suspicious." + ], + "readOnly": true, + "type": "string" + }, "extendedVerdictReasons": { "description": "Output only. Extended verdict reasons to be used for experimentation only. The set of possible reasons is subject to change.", "items": { diff --git a/discovery/recommender-v1.json b/discovery/recommender-v1.json index e4c7dbf796..90fe6a5d84 100644 --- a/discovery/recommender-v1.json +++ b/discovery/recommender-v1.json @@ -1686,7 +1686,7 @@ } } }, - "revision": "20240428", + "revision": "20241013", "rootUrl": "https://recommender.googleapis.com/", "schemas": { "GoogleCloudRecommenderV1CostProjection": { @@ -1739,6 +1739,13 @@ "$ref": "GoogleCloudRecommenderV1CostProjection", "description": "Use with CategoryType.COST" }, + "impactComponents": { + "description": "If populated, the impact contains multiple components. In this case, the top-level impact contains aggregated values and each component contains per-service details.", + "items": { + "$ref": "GoogleCloudRecommenderV1Impact" + }, + "type": "array" + }, "reliabilityProjection": { "$ref": "GoogleCloudRecommenderV1ReliabilityProjection", "description": "Use with CategoryType.RELIABILITY" @@ -1747,6 +1754,10 @@ "$ref": "GoogleCloudRecommenderV1SecurityProjection", "description": "Use with CategoryType.SECURITY" }, + "service": { + "description": "The service that this impact is associated with.", + "type": "string" + }, "sustainabilityProjection": { "$ref": "GoogleCloudRecommenderV1SustainabilityProjection", "description": "Use with CategoryType.SUSTAINABILITY" diff --git a/discovery/recommender-v1beta1.json b/discovery/recommender-v1beta1.json index e272559045..fb890b3904 100644 --- a/discovery/recommender-v1beta1.json +++ b/discovery/recommender-v1beta1.json @@ -1920,7 +1920,7 @@ } } }, - "revision": "20240428", + "revision": "20241013", "rootUrl": "https://recommender.googleapis.com/", "schemas": { "GoogleCloudLocationListLocationsResponse": { @@ -2039,6 +2039,13 @@ "$ref": "GoogleCloudRecommenderV1beta1CostProjection", "description": "Use with CategoryType.COST" }, + "impactComponents": { + "description": "If populated, the impact contains multiple components. In this case, the top-level impact contains aggregated values and each component contains per-service details.", + "items": { + "$ref": "GoogleCloudRecommenderV1beta1Impact" + }, + "type": "array" + }, "reliabilityProjection": { "$ref": "GoogleCloudRecommenderV1beta1ReliabilityProjection", "description": "Use with CategoryType.RELIABILITY" @@ -2047,6 +2054,10 @@ "$ref": "GoogleCloudRecommenderV1beta1SecurityProjection", "description": "Use with CategoryType.SECURITY" }, + "service": { + "description": "The service that this impact is associated with.", + "type": "string" + }, "sustainabilityProjection": { "$ref": "GoogleCloudRecommenderV1beta1SustainabilityProjection", "description": "Use with CategoryType.SUSTAINABILITY" diff --git a/discovery/redis-v1.json b/discovery/redis-v1.json index d2febffbac..b8e8086d23 100644 --- a/discovery/redis-v1.json +++ b/discovery/redis-v1.json @@ -177,8 +177,226 @@ } }, "resources": { + "backupCollections": { + "methods": { + "get": { + "description": "Get a backup collection.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupCollections/{backupCollectionsId}", + "httpMethod": "GET", + "id": "redis.projects.locations.backupCollections.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Redis backupCollection resource name using the form: `projects/{project_id}/locations/{location_id}/backupCollections/{backup_collection_id}` where `location_id` refers to a GCP region.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupCollections/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "BackupCollection" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all backup collections owned by a consumer project in either the specified location (region) or all locations. If `location_id` is specified as `-` (wildcard), then all regions available to the project are queried, and the results are aggregated.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupCollections", + "httpMethod": "GET", + "id": "redis.projects.locations.backupCollections.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of items to return. If not specified, a default value of 1000 will be used by the service. Regardless of the page_size value, the response may include a partial list and a caller should only rely on response's `next_page_token` to determine if there are more clusters left to be queried.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The `next_page_token` value returned from a previous [ListBackupCollections] request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the backupCollection location using the form: `projects/{project_id}/locations/{location_id}` where `location_id` refers to a GCP region.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/backupCollections", + "response": { + "$ref": "ListBackupCollectionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "backups": { + "methods": { + "delete": { + "description": "Deletes a specific backup.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupCollections/{backupCollectionsId}/backups/{backupsId}", + "httpMethod": "DELETE", + "id": "redis.projects.locations.backupCollections.backups.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Redis backup resource name using the form: `projects/{project_id}/locations/{location_id}/backupCollections/{backup_collection_id}/backups/{backup_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupCollections/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. Idempotent request UUID.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "export": { + "description": "Exports a specific backup to a customer target Cloud Storage URI.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupCollections/{backupCollectionsId}/backups/{backupsId}:export", + "httpMethod": "POST", + "id": "redis.projects.locations.backupCollections.backups.export", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Redis backup resource name using the form: `projects/{project_id}/locations/{location_id}/backupCollections/{backup_collection_id}/backups/{backup_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupCollections/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:export", + "request": { + "$ref": "ExportBackupRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the details of a specific backup.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupCollections/{backupCollectionsId}/backups/{backupsId}", + "httpMethod": "GET", + "id": "redis.projects.locations.backupCollections.backups.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Redis backup resource name using the form: `projects/{project_id}/locations/{location_id}/backupCollections/{backup_collection_id}/backups/{backup_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupCollections/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Backup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all backups owned by a backup collection.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/backupCollections/{backupCollectionsId}/backups", + "httpMethod": "GET", + "id": "redis.projects.locations.backupCollections.backups.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of items to return. If not specified, a default value of 1000 will be used by the service. Regardless of the page_size value, the response may include a partial list and a caller should only rely on response's `next_page_token` to determine if there are more clusters left to be queried.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The `next_page_token` value returned from a previous [ListBackupCollections] request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the backupCollection using the form: `projects/{project_id}/locations/{location_id}/backupCollections/{backup_collection_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupCollections/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/backups", + "response": { + "$ref": "ListBackupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, "clusters": { "methods": { + "backup": { + "description": "Backup Redis Cluster. If this is the first time a backup is being created, a backup collection will be created at the backend, and this backup belongs to this collection. Both collection and backup will have a resource name. Backup will be executed for each shard. A replica (primary if nonHA) will be selected to perform the execution. Backup call will be rejected if there is an ongoing backup or update operation. Be aware that during preview, if the cluster's internal software version is too old, critical update will be performed before actual backup. Once the internal software version is updated to the minimum version required by the backup feature, subsequent backups will not require critical update. After preview, there will be no critical update needed for backup.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:backup", + "httpMethod": "POST", + "id": "redis.projects.locations.clusters.backup", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Redis cluster resource name using the form: `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}` where `location_id` refers to a GCP region.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:backup", + "request": { + "$ref": "BackupClusterRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "create": { "description": "Creates a Redis cluster based on the specified properties. The creation is executed asynchronously and callers may check the returned operation to track its progress. Once the operation is completed the Redis cluster will be fully functional. The completed longrunning.Operation will contain the new cluster object in the response field. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/clusters", @@ -727,7 +945,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "redis.projects.locations.operations.cancel", @@ -849,7 +1067,7 @@ } } }, - "revision": "20240924", + "revision": "20241212", "rootUrl": "https://redis.googleapis.com/", "schemas": { "AOFConfig": { @@ -875,38 +1093,32 @@ }, "type": "object" }, - "AssetLocation": { - "description": "Provides the mapping of a cloud asset to a direct physical location or to a proxy that defines the location on its behalf.", - "id": "AssetLocation", + "AutomatedBackupConfig": { + "description": "The automated backup config for a cluster.", + "id": "AutomatedBackupConfig", "properties": { - "ccfeRmsPath": { - "description": "Spanner path of the CCFE RMS database. It is only applicable for CCFE tenants that use CCFE RMS for storing resource metadata.", + "automatedBackupMode": { + "description": "Optional. The automated backup mode. If the mode is disabled, the other fields will be ignored.", + "enum": [ + "AUTOMATED_BACKUP_MODE_UNSPECIFIED", + "DISABLED", + "ENABLED" + ], + "enumDescriptions": [ + "Default value. Automated backup config is not specified.", + "Automated backup config disabled.", + "Automated backup config enabled." + ], "type": "string" }, - "expected": { - "$ref": "IsolationExpectations", - "description": "Defines the customer expectation around ZI/ZS for this asset and ZI/ZS state of the region at the time of asset creation." + "fixedFrequencySchedule": { + "$ref": "FixedFrequencySchedule", + "description": "Optional. Trigger automated backups at a fixed frequency." }, - "extraParameters": { - "description": "Defines extra parameters required for specific asset types.", - "items": { - "$ref": "ExtraParameter" - }, - "type": "array" - }, - "locationData": { - "description": "Contains all kinds of physical location definitions for this asset.", - "items": { - "$ref": "LocationData" - }, - "type": "array" - }, - "parentAsset": { - "description": "Defines parents assets if any in order to allow later generation of child_asset_location data via child assets.", - "items": { - "$ref": "CloudAsset" - }, - "type": "array" + "retention": { + "description": "Optional. How long to keep automated backups before the backups are deleted. The value should be between 1 day and 365 days. If not specified, the default value is 35 days.", + "format": "google-duration", + "type": "string" } }, "type": "object" @@ -950,6 +1162,170 @@ }, "type": "object" }, + "Backup": { + "description": "Backup of a cluster.", + "id": "Backup", + "properties": { + "backupFiles": { + "description": "Output only. List of backup files of the backup.", + "items": { + "$ref": "BackupFile" + }, + "readOnly": true, + "type": "array" + }, + "backupType": { + "description": "Output only. Type of the backup.", + "enum": [ + "BACKUP_TYPE_UNSPECIFIED", + "ON_DEMAND", + "AUTOMATED" + ], + "enumDescriptions": [ + "The default value, not set.", + "On-demand backup.", + "Automated backup." + ], + "readOnly": true, + "type": "string" + }, + "cluster": { + "description": "Output only. Cluster resource path of this backup.", + "readOnly": true, + "type": "string" + }, + "clusterUid": { + "description": "Output only. Cluster uid of this backup.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time when the backup was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "engineVersion": { + "description": "Output only. redis-7.2, valkey-7.5", + "readOnly": true, + "type": "string" + }, + "expireTime": { + "description": "Output only. The time when the backup will expire.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. Full resource path of the backup. the last part of the name is the backup id with the following format: [YYYYMMDDHHMMSS]_[Shorted Cluster UID] OR customer specified while backup cluster. Example: 20240515123000_1234", + "type": "string" + }, + "nodeType": { + "description": "Output only. Node type of the cluster.", + "enum": [ + "NODE_TYPE_UNSPECIFIED", + "REDIS_SHARED_CORE_NANO", + "REDIS_HIGHMEM_MEDIUM", + "REDIS_HIGHMEM_XLARGE", + "REDIS_STANDARD_SMALL" + ], + "enumDescriptions": [ + "Node type unspecified", + "Redis shared core nano node_type.", + "Redis highmem medium node_type.", + "Redis highmem xlarge node_type.", + "Redis standard small node_type." + ], + "readOnly": true, + "type": "string" + }, + "replicaCount": { + "description": "Output only. Number of replicas for the cluster.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "shardCount": { + "description": "Output only. Number of shards for the cluster.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "state": { + "description": "Output only. State of the backup.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "DELETING", + "SUSPENDED" + ], + "enumDescriptions": [ + "The default value, not set.", + "The backup is being created.", + "The backup is active to be used.", + "The backup is being deleted.", + "The backup is currently suspended due to reasons like project deletion, billing account closure, etc." + ], + "readOnly": true, + "type": "string" + }, + "totalSizeBytes": { + "description": "Output only. Total size of the backup in bytes.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. System assigned unique identifier of the backup.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BackupClusterRequest": { + "description": "Request for [BackupCluster].", + "id": "BackupClusterRequest", + "properties": { + "backupId": { + "description": "Optional. The id of the backup to be created. If not specified, the default value ([YYYYMMDDHHMMSS]_[Shortened Cluster UID] is used.", + "type": "string" + }, + "ttl": { + "description": "Optional. TTL for the backup to expire. Value range is 1 day to 100 years. If not specified, the default value is 100 years.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "BackupCollection": { + "description": "BackupCollection of a cluster.", + "id": "BackupCollection", + "properties": { + "cluster": { + "description": "Output only. The full resource path of the cluster the backup collection belongs to. Example: projects/{project}/locations/{location}/clusters/{cluster}", + "readOnly": true, + "type": "string" + }, + "clusterUid": { + "description": "Output only. The cluster uid of the backup collection.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. Full resource path of the backup collection.", + "type": "string" + }, + "uid": { + "description": "Output only. System assigned unique identifier of the backup collection.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "BackupConfiguration": { "description": "Configuration for automatic backups", "id": "BackupConfiguration", @@ -969,6 +1345,30 @@ }, "type": "object" }, + "BackupFile": { + "description": "Backup is consisted of multiple backup files.", + "id": "BackupFile", + "properties": { + "createTime": { + "description": "Output only. The time when the backup file was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "fileName": { + "description": "Output only. e.g: .rdb", + "readOnly": true, + "type": "string" + }, + "sizeBytes": { + "description": "Output only. Size of the backup file in bytes.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "BackupRun": { "description": "A backup run.", "id": "BackupRun", @@ -1004,19 +1404,6 @@ }, "type": "object" }, - "BlobstoreLocation": { - "description": "Policy ID that identified data placement in Blobstore as per go/blobstore-user-guide#data-metadata-placement-and-failure-domains", - "id": "BlobstoreLocation", - "properties": { - "policyId": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "CertChain": { "id": "CertChain", "properties": { @@ -1044,30 +1431,6 @@ }, "type": "object" }, - "CloudAsset": { - "id": "CloudAsset", - "properties": { - "assetName": { - "type": "string" - }, - "assetType": { - "type": "string" - } - }, - "type": "object" - }, - "CloudAssetComposition": { - "id": "CloudAssetComposition", - "properties": { - "childAsset": { - "items": { - "$ref": "CloudAsset" - }, - "type": "array" - } - }, - "type": "object" - }, "Cluster": { "description": "A cluster instance.", "id": "Cluster", @@ -1086,6 +1449,22 @@ ], "type": "string" }, + "automatedBackupConfig": { + "$ref": "AutomatedBackupConfig", + "description": "Optional. The automated backup config for the cluster." + }, + "backupCollection": { + "description": "Optional. Output only. The backup collection full resource name. Example: projects/{project}/locations/{location}/backupCollections/{collection}", + "readOnly": true, + "type": "string" + }, + "clusterEndpoints": { + "description": "Optional. A list of cluster enpoints.", + "items": { + "$ref": "ClusterEndpoint" + }, + "type": "array" + }, "createTime": { "description": "Output only. The timestamp associated with the cluster creation request.", "format": "google-datetime", @@ -1108,6 +1487,10 @@ "readOnly": true, "type": "array" }, + "gcsSource": { + "$ref": "GcsBackupSource", + "description": "Optional. Backups stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the clusters. Read permission is required to import from the provided Cloud Storage objects." + }, "maintenancePolicy": { "$ref": "ClusterMaintenancePolicy", "description": "Optional. ClusterMaintenancePolicy determines when to allow or deny updates." @@ -1117,6 +1500,10 @@ "description": "Output only. ClusterMaintenanceSchedule Output only Published maintenance schedule.", "readOnly": true }, + "managedBackupSource": { + "$ref": "ManagedBackupSource", + "description": "Optional. Backups generated and managed by memorystore service." + }, "name": { "description": "Required. Identifier. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}`", "type": "string" @@ -1150,7 +1537,7 @@ "type": "number" }, "pscConfigs": { - "description": "Required. Each PscConfig configures the consumer network where IPs will be designated to the cluster for client access through Private Service Connect Automation. Currently, only one PscConfig is supported.", + "description": "Optional. Each PscConfig configures the consumer network where IPs will be designated to the cluster for client access through Private Service Connect Automation. Currently, only one PscConfig is supported.", "items": { "$ref": "PscConfig" }, @@ -1164,6 +1551,14 @@ "readOnly": true, "type": "array" }, + "pscServiceAttachments": { + "description": "Output only. Service attachment details to configure Psc connections", + "items": { + "$ref": "PscServiceAttachment" + }, + "readOnly": true, + "type": "array" + }, "redisConfigs": { "additionalProperties": { "type": "string" @@ -1237,6 +1632,20 @@ }, "type": "object" }, + "ClusterEndpoint": { + "description": "ClusterEndpoint consists of PSC connections that are created as a group in each VPC network for accessing the cluster. In each group, there shall be one connection for each service attachment in the cluster.", + "id": "ClusterEndpoint", + "properties": { + "connections": { + "description": "A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster.", + "items": { + "$ref": "ConnectionDetail" + }, + "type": "array" + } + }, + "type": "object" + }, "ClusterMaintenancePolicy": { "description": "Maintenance policy per cluster.", "id": "ClusterMaintenancePolicy", @@ -1363,6 +1772,21 @@ }, "type": "object" }, + "ConnectionDetail": { + "description": "Detailed information of each PSC connection.", + "id": "ConnectionDetail", + "properties": { + "pscAutoConnection": { + "$ref": "PscAutoConnection", + "description": "Detailed information of a PSC connection that is created through service connectivity automation." + }, + "pscConnection": { + "$ref": "PscConnection", + "description": "Detailed information of a PSC connection that is created by the customer who owns the cluster." + } + }, + "type": "object" + }, "CrossClusterReplicationConfig": { "description": "Cross cluster replication config.", "id": "CrossClusterReplicationConfig", @@ -1658,7 +2082,9 @@ "SIGNAL_TYPE_SUPERUSER_WRITING_TO_USER_TABLES", "SIGNAL_TYPE_USER_GRANTED_ALL_PERMISSIONS", "SIGNAL_TYPE_DATA_EXPORT_TO_EXTERNAL_CLOUD_STORAGE_BUCKET", - "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET" + "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET", + "SIGNAL_TYPE_WEAK_PASSWORD_HASH_ALGORITHM", + "SIGNAL_TYPE_NO_USER_PASSWORD_POLICY" ], "enumDeprecated": [ false, @@ -1739,6 +2165,8 @@ false, false, false, + false, + false, false ], "enumDescriptions": [ @@ -1820,7 +2248,9 @@ "Detects events where a Cloud SQL superuser (postgres for PostgreSQL servers or root for MySQL users) writes to non-system tables.", "Detects events where a database user or role has been granted all privileges to a database, or to all tables, procedures, or functions in a schema.", "Detects if database instance data exported to a Cloud Storage bucket outside of the organization.", - "Detects if database instance data exported to a Cloud Storage bucket that is owned by the organization and is publicly accessible." + "Detects if database instance data exported to a Cloud Storage bucket that is owned by the organization and is publicly accessible.", + "Detects if a database instance is using a weak password hash algorithm.", + "Detects if a database instance has no user password policy set." ], "type": "string" }, @@ -2191,7 +2621,9 @@ "SIGNAL_TYPE_SUPERUSER_WRITING_TO_USER_TABLES", "SIGNAL_TYPE_USER_GRANTED_ALL_PERMISSIONS", "SIGNAL_TYPE_DATA_EXPORT_TO_EXTERNAL_CLOUD_STORAGE_BUCKET", - "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET" + "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET", + "SIGNAL_TYPE_WEAK_PASSWORD_HASH_ALGORITHM", + "SIGNAL_TYPE_NO_USER_PASSWORD_POLICY" ], "enumDeprecated": [ false, @@ -2272,6 +2704,8 @@ false, false, false, + false, + false, false ], "enumDescriptions": [ @@ -2353,25 +2787,15 @@ "Detects events where a Cloud SQL superuser (postgres for PostgreSQL servers or root for MySQL users) writes to non-system tables.", "Detects events where a database user or role has been granted all privileges to a database, or to all tables, procedures, or functions in a schema.", "Detects if database instance data exported to a Cloud Storage bucket outside of the organization.", - "Detects if database instance data exported to a Cloud Storage bucket that is owned by the organization and is publicly accessible." + "Detects if database instance data exported to a Cloud Storage bucket that is owned by the organization and is publicly accessible.", + "Detects if a database instance is using a weak password hash algorithm.", + "Detects if a database instance has no user password policy set." ], "type": "string" } }, "type": "object" }, - "DirectLocationAssignment": { - "id": "DirectLocationAssignment", - "properties": { - "location": { - "items": { - "$ref": "LocationAssignment" - }, - "type": "array" - } - }, - "type": "object" - }, "DiscoveryEndpoint": { "description": "Endpoints on each network, for Redis clients to connect to the cluster.", "id": "DiscoveryEndpoint", @@ -2434,6 +2858,17 @@ }, "type": "object" }, + "ExportBackupRequest": { + "description": "Request for [ExportBackup].", + "id": "ExportBackupRequest", + "properties": { + "gcsBucket": { + "description": "Google Cloud Storage bucket, like \"my-bucket\".", + "type": "string" + } + }, + "type": "object" + }, "ExportInstanceRequest": { "description": "Request for Export.", "id": "ExportInstanceRequest", @@ -2445,17 +2880,6 @@ }, "type": "object" }, - "ExtraParameter": { - "description": "Defines parameters that should only be used for specific asset types.", - "id": "ExtraParameter", - "properties": { - "regionalMigDistributionPolicy": { - "$ref": "RegionalMigDistributionPolicy", - "description": "Details about zones used by regional compute.googleapis.com/InstanceGroupManager to create instances." - } - }, - "type": "object" - }, "FailoverInstanceRequest": { "description": "Request for Failover.", "id": "FailoverInstanceRequest", @@ -2477,6 +2901,31 @@ }, "type": "object" }, + "FixedFrequencySchedule": { + "description": "This schedule allows the backup to be triggered at a fixed frequency (currently only daily is supported).", + "id": "FixedFrequencySchedule", + "properties": { + "startTime": { + "$ref": "TimeOfDay", + "description": "Required. The start time of every automated backup in UTC. It must be set to the start of an hour. This field is required." + } + }, + "type": "object" + }, + "GcsBackupSource": { + "description": "Backups stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the clusters.", + "id": "GcsBackupSource", + "properties": { + "uris": { + "description": "Optional. URIs of the GCS objects to import. Example: gs://bucket1/object1, gs://bucket2/folder2/object2", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "GcsDestination": { "description": "The Cloud Storage location for the output content", "id": "GcsDestination", @@ -2877,127 +3326,52 @@ }, "type": "object" }, - "IsolationExpectations": { - "id": "IsolationExpectations", + "ListBackupCollectionsResponse": { + "description": "Response for [ListBackupCollections].", + "id": "ListBackupCollectionsResponse", + "properties": { + "backupCollections": { + "description": "A list of backupCollections in the project. If the `location_id` in the parent field of the request is \"-\", all regions available to the project are queried, and the results aggregated. If in such an aggregated query a location is unavailable, a placeholder backupCollection entry is included in the response with the `name` field set to a value of the form `projects/{project_id}/locations/{location_id}/backupCollections/`- and the `status` field set to ERROR and `status_message` field set to \"location not available for ListBackupCollections\".", + "items": { + "$ref": "BackupCollection" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListBackupsResponse": { + "description": "Response for [ListBackups].", + "id": "ListBackupsResponse", "properties": { - "requirementOverride": { - "$ref": "RequirementOverride", - "description": "Explicit overrides for ZI and ZS requirements to be used for resources that should be excluded from ZI/ZS verification logic." - }, - "ziOrgPolicy": { - "enum": [ - "ZI_UNSPECIFIED", - "ZI_UNKNOWN", - "ZI_NOT_REQUIRED", - "ZI_PREFERRED", - "ZI_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "ziRegionPolicy": { - "enum": [ - "ZI_REGION_POLICY_UNSPECIFIED", - "ZI_REGION_POLICY_UNKNOWN", - "ZI_REGION_POLICY_NOT_SET", - "ZI_REGION_POLICY_FAIL_OPEN", - "ZI_REGION_POLICY_FAIL_CLOSED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "ziRegionState": { - "enum": [ - "ZI_REGION_UNSPECIFIED", - "ZI_REGION_UNKNOWN", - "ZI_REGION_NOT_ENABLED", - "ZI_REGION_ENABLED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - }, - "zoneIsolation": { - "deprecated": true, - "description": "Deprecated: use zi_org_policy, zi_region_policy and zi_region_state instead for setting ZI expectations as per go/zicy-publish-physical-location.", - "enum": [ - "ZI_UNSPECIFIED", - "ZI_UNKNOWN", - "ZI_NOT_REQUIRED", - "ZI_PREFERRED", - "ZI_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "zoneSeparation": { - "deprecated": true, - "description": "Deprecated: use zs_org_policy, and zs_region_stateinstead for setting Zs expectations as per go/zicy-publish-physical-location.", - "enum": [ - "ZS_UNSPECIFIED", - "ZS_UNKNOWN", - "ZS_NOT_REQUIRED", - "ZS_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" + "backups": { + "description": "A list of backups in the project.", + "items": { + "$ref": "Backup" + }, + "type": "array" }, - "zsOrgPolicy": { - "enum": [ - "ZS_UNSPECIFIED", - "ZS_UNKNOWN", - "ZS_NOT_REQUIRED", - "ZS_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", "type": "string" }, - "zsRegionState": { - "enum": [ - "ZS_REGION_UNSPECIFIED", - "ZS_REGION_UNKNOWN", - "ZS_REGION_NOT_ENABLED", - "ZS_REGION_ENABLED" - ], - "enumDescriptions": [ - "", - "To be used if tracking of the asset ZS-bit is not available", - "", - "" - ], - "type": "string" + "unreachable": { + "description": "Backups that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -3122,64 +3496,6 @@ }, "type": "object" }, - "LocationAssignment": { - "id": "LocationAssignment", - "properties": { - "location": { - "type": "string" - }, - "locationType": { - "enum": [ - "UNSPECIFIED", - "CLUSTER", - "POP", - "CLOUD_ZONE", - "CLOUD_REGION", - "MULTI_REGION_GEO", - "MULTI_REGION_JURISDICTION", - "GLOBAL", - "OTHER" - ], - "enumDescriptions": [ - "", - "1-10: Physical failure domains.", - "", - "11-20: Logical failure domains.", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "LocationData": { - "id": "LocationData", - "properties": { - "blobstoreLocation": { - "$ref": "BlobstoreLocation" - }, - "childAssetLocation": { - "$ref": "CloudAssetComposition" - }, - "directLocation": { - "$ref": "DirectLocationAssignment" - }, - "gcpProjectProxy": { - "$ref": "TenantProjectProxy" - }, - "placerLocation": { - "$ref": "PlacerLocation" - }, - "spannerLocation": { - "$ref": "SpannerLocation" - } - }, - "type": "object" - }, "MachineConfiguration": { "description": "MachineConfiguration describes the configuration of a machine specific to Database Resource.", "id": "MachineConfiguration", @@ -3198,6 +3514,11 @@ "description": "Optional. Number of shards (if applicable).", "format": "int32", "type": "integer" + }, + "vcpuCount": { + "description": "Optional. The number of vCPUs. TODO(b/342344482, b/342346271) add proto validations again after bug fix.", + "format": "double", + "type": "number" } }, "type": "object" @@ -3262,6 +3583,17 @@ }, "type": "object" }, + "ManagedBackupSource": { + "description": "Backups that generated and managed by memorystore.", + "id": "ManagedBackupSource", + "properties": { + "backup": { + "description": "Optional. Example: //redis.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported, like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup_id} In this case, it assumes the backup is under redis.googleapis.com.", + "type": "string" + } + }, + "type": "object" + }, "ManagedCertificateAuthority": { "id": "ManagedCertificateAuthority", "properties": { @@ -3545,17 +3877,6 @@ }, "type": "object" }, - "PlacerLocation": { - "description": "Message describing that the location of the customer resource is tied to placer allocations", - "id": "PlacerLocation", - "properties": { - "placerConfig": { - "description": "Directory with a config related to it in placer (e.g. \"/placer/prod/home/my-root/my-dir\")", - "type": "string" - } - }, - "type": "object" - }, "Product": { "description": "Product specification for Condor resources.", "id": "Product", @@ -3671,6 +3992,73 @@ }, "type": "object" }, + "PscAutoConnection": { + "description": "Details of consumer resources in a PSC connection that is created through Service Connectivity Automation.", + "id": "PscAutoConnection", + "properties": { + "address": { + "description": "Output only. The IP allocated on the consumer network for the PSC forwarding rule.", + "readOnly": true, + "type": "string" + }, + "connectionType": { + "description": "Output only. Type of the PSC connection.", + "enum": [ + "CONNECTION_TYPE_UNSPECIFIED", + "CONNECTION_TYPE_DISCOVERY", + "CONNECTION_TYPE_PRIMARY", + "CONNECTION_TYPE_READER" + ], + "enumDescriptions": [ + "Cluster endpoint Type is not set", + "Cluster endpoint that will be used as for cluster topology discovery.", + "Cluster endpoint that will be used as primary endpoint to access primary.", + "Cluster endpoint that will be used as reader endpoint to access replicas." + ], + "readOnly": true, + "type": "string" + }, + "forwardingRule": { + "description": "Output only. The URI of the consumer side forwarding rule. Example: projects/{projectNumOrId}/regions/us-east1/forwardingRules/{resourceId}.", + "readOnly": true, + "type": "string" + }, + "network": { + "description": "Required. The consumer network where the IP address resides, in the form of projects/{project_id}/global/networks/{network_id}.", + "type": "string" + }, + "projectId": { + "description": "Required. The consumer project_id where the forwarding rule is created from.", + "type": "string" + }, + "pscConnectionId": { + "description": "Output only. The PSC connection id of the forwarding rule connected to the service attachment.", + "readOnly": true, + "type": "string" + }, + "pscConnectionStatus": { + "description": "Output only. The status of the PSC connection. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.", + "enum": [ + "PSC_CONNECTION_STATUS_UNSPECIFIED", + "PSC_CONNECTION_STATUS_ACTIVE", + "PSC_CONNECTION_STATUS_NOT_FOUND" + ], + "enumDescriptions": [ + "PSC connection status is not specified.", + "The connection is active", + "Connection not found" + ], + "readOnly": true, + "type": "string" + }, + "serviceAttachment": { + "description": "Output only. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "PscConfig": { "id": "PscConfig", "properties": { @@ -3689,6 +4077,23 @@ "description": "Required. The IP allocated on the consumer network for the PSC forwarding rule.", "type": "string" }, + "connectionType": { + "description": "Output only. Type of the PSC connection.", + "enum": [ + "CONNECTION_TYPE_UNSPECIFIED", + "CONNECTION_TYPE_DISCOVERY", + "CONNECTION_TYPE_PRIMARY", + "CONNECTION_TYPE_READER" + ], + "enumDescriptions": [ + "Cluster endpoint Type is not set", + "Cluster endpoint that will be used as for cluster topology discovery.", + "Cluster endpoint that will be used as primary endpoint to access primary.", + "Cluster endpoint that will be used as reader endpoint to access replicas." + ], + "readOnly": true, + "type": "string" + }, "forwardingRule": { "description": "Required. The URI of the consumer side forwarding rule. Example: projects/{projectNumOrId}/regions/us-east1/forwardingRules/{resourceId}.", "type": "string" @@ -3705,6 +4110,21 @@ "description": "Required. The PSC connection id of the forwarding rule connected to the service attachment.", "type": "string" }, + "pscConnectionStatus": { + "description": "Output only. The status of the PSC connection. Please note that this value is updated periodically. To get the latest status of a PSC connection, follow https://cloud.google.com/vpc/docs/configure-private-service-connect-services#endpoint-details.", + "enum": [ + "PSC_CONNECTION_STATUS_UNSPECIFIED", + "PSC_CONNECTION_STATUS_ACTIVE", + "PSC_CONNECTION_STATUS_NOT_FOUND" + ], + "enumDescriptions": [ + "PSC connection status is not specified.", + "The connection is active", + "Connection not found" + ], + "readOnly": true, + "type": "string" + }, "serviceAttachment": { "description": "Required. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.", "type": "string" @@ -3712,6 +4132,35 @@ }, "type": "object" }, + "PscServiceAttachment": { + "description": "Configuration of a service attachment of the cluster, for creating PSC connections.", + "id": "PscServiceAttachment", + "properties": { + "connectionType": { + "description": "Output only. Type of a PSC connection targeting this service attachment.", + "enum": [ + "CONNECTION_TYPE_UNSPECIFIED", + "CONNECTION_TYPE_DISCOVERY", + "CONNECTION_TYPE_PRIMARY", + "CONNECTION_TYPE_READER" + ], + "enumDescriptions": [ + "Cluster endpoint Type is not set", + "Cluster endpoint that will be used as for cluster topology discovery.", + "Cluster endpoint that will be used as primary endpoint to access primary.", + "Cluster endpoint that will be used as reader endpoint to access replicas." + ], + "readOnly": true, + "type": "string" + }, + "serviceAttachment": { + "description": "Output only. Service attachment URI which your self-created PscConnection should use as target", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "RDBConfig": { "description": "Configuration of the RDB based persistence.", "id": "RDBConfig", @@ -3773,25 +4222,6 @@ }, "type": "object" }, - "RegionalMigDistributionPolicy": { - "description": "To be used for specifying the intended distribution of regional compute.googleapis.com/InstanceGroupManager instances", - "id": "RegionalMigDistributionPolicy", - "properties": { - "targetShape": { - "description": "The shape in which the group converges around distribution of resources. Instance of proto2 enum", - "format": "int32", - "type": "integer" - }, - "zones": { - "description": "Cloud zones used by regional MIG to create instances.", - "items": { - "$ref": "ZoneConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, "RemoteCluster": { "description": "Details of the remote cluster associated with this cluster in a cross cluster replication setup.", "id": "RemoteCluster", @@ -3808,44 +4238,6 @@ }, "type": "object" }, - "RequirementOverride": { - "id": "RequirementOverride", - "properties": { - "ziOverride": { - "enum": [ - "ZI_UNSPECIFIED", - "ZI_UNKNOWN", - "ZI_NOT_REQUIRED", - "ZI_PREFERRED", - "ZI_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "zsOverride": { - "enum": [ - "ZS_UNSPECIFIED", - "ZS_UNKNOWN", - "ZS_NOT_REQUIRED", - "ZS_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, "RescheduleClusterMaintenanceRequest": { "description": "Request for rescheduling a cluster maintenance.", "id": "RescheduleClusterMaintenanceRequest", @@ -3913,6 +4305,7 @@ "type": "integer" }, "retentionUnit": { + "deprecated": true, "description": "The unit that 'retained_backups' represents.", "enum": [ "RETENTION_UNIT_UNSPECIFIED", @@ -3933,26 +4326,11 @@ "timeBasedRetention": { "format": "google-duration", "type": "string" - } - }, - "type": "object" - }, - "SpannerLocation": { - "id": "SpannerLocation", - "properties": { - "backupName": { - "description": "Set of backups used by the resource with name in the same format as what is available at http://table/spanner_automon.backup_metadata", - "items": { - "type": "string" - }, - "type": "array" }, - "dbName": { - "description": "Set of databases used by the resource in format /span//", - "items": { - "type": "string" - }, - "type": "array" + "timestampBasedRetentionTime": { + "description": "Timestamp based retention period i.e. 2024-05-01T00:00:00Z", + "format": "google-datetime", + "type": "string" } }, "type": "object" @@ -4009,39 +4387,27 @@ }, "type": "object" }, - "TenantProjectProxy": { - "id": "TenantProjectProxy", - "properties": { - "projectNumbers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "TimeOfDay": { "description": "Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.", "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } @@ -4186,15 +4552,6 @@ }, "type": "object" }, - "ZoneConfiguration": { - "id": "ZoneConfiguration", - "properties": { - "zone": { - "type": "string" - } - }, - "type": "object" - }, "ZoneDistributionConfig": { "description": "Zone distribution config for allocation of cluster resources.", "id": "ZoneDistributionConfig", diff --git a/discovery/redis-v1beta1.json b/discovery/redis-v1beta1.json index 4fd9d2fa7b..8737679f60 100644 --- a/discovery/redis-v1beta1.json +++ b/discovery/redis-v1beta1.json @@ -177,8 +177,226 @@ } }, "resources": { + "backupCollections": { + "methods": { + "get": { + "description": "Get a backup collection.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupCollections/{backupCollectionsId}", + "httpMethod": "GET", + "id": "redis.projects.locations.backupCollections.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Redis backupCollection resource name using the form: `projects/{project_id}/locations/{location_id}/backupCollections/{backup_collection_id}` where `location_id` refers to a GCP region.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupCollections/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "BackupCollection" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all backup collections owned by a consumer project in either the specified location (region) or all locations. If `location_id` is specified as `-` (wildcard), then all regions available to the project are queried, and the results are aggregated.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupCollections", + "httpMethod": "GET", + "id": "redis.projects.locations.backupCollections.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of items to return. If not specified, a default value of 1000 will be used by the service. Regardless of the page_size value, the response may include a partial list and a caller should only rely on response's `next_page_token` to determine if there are more clusters left to be queried.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The `next_page_token` value returned from a previous [ListBackupCollections] request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the backupCollection location using the form: `projects/{project_id}/locations/{location_id}` where `location_id` refers to a GCP region.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/backupCollections", + "response": { + "$ref": "ListBackupCollectionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "backups": { + "methods": { + "delete": { + "description": "Deletes a specific backup.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupCollections/{backupCollectionsId}/backups/{backupsId}", + "httpMethod": "DELETE", + "id": "redis.projects.locations.backupCollections.backups.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Redis backup resource name using the form: `projects/{project_id}/locations/{location_id}/backupCollections/{backup_collection_id}/backups/{backup_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupCollections/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + }, + "requestId": { + "description": "Optional. Idempotent request UUID.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "export": { + "description": "Exports a specific backup to a customer target Cloud Storage URI.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupCollections/{backupCollectionsId}/backups/{backupsId}:export", + "httpMethod": "POST", + "id": "redis.projects.locations.backupCollections.backups.export", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Redis backup resource name using the form: `projects/{project_id}/locations/{location_id}/backupCollections/{backup_collection_id}/backups/{backup_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupCollections/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:export", + "request": { + "$ref": "ExportBackupRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the details of a specific backup.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupCollections/{backupCollectionsId}/backups/{backupsId}", + "httpMethod": "GET", + "id": "redis.projects.locations.backupCollections.backups.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Redis backup resource name using the form: `projects/{project_id}/locations/{location_id}/backupCollections/{backup_collection_id}/backups/{backup_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupCollections/[^/]+/backups/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Backup" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all backups owned by a backup collection.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/backupCollections/{backupCollectionsId}/backups", + "httpMethod": "GET", + "id": "redis.projects.locations.backupCollections.backups.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Optional. The maximum number of items to return. If not specified, a default value of 1000 will be used by the service. Regardless of the page_size value, the response may include a partial list and a caller should only rely on response's `next_page_token` to determine if there are more clusters left to be queried.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. The `next_page_token` value returned from a previous [ListBackupCollections] request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the backupCollection using the form: `projects/{project_id}/locations/{location_id}/backupCollections/{backup_collection_id}`", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/backupCollections/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/backups", + "response": { + "$ref": "ListBackupsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, "clusters": { "methods": { + "backup": { + "description": "Backup Redis Cluster. If this is the first time a backup is being created, a backup collection will be created at the backend, and this backup belongs to this collection. Both collection and backup will have a resource name. Backup will be executed for each shard. A replica (primary if nonHA) will be selected to perform the execution. Backup call will be rejected if there is an ongoing backup or update operation. Be aware that during preview, if the cluster's internal software version is too old, critical update will be performed before actual backup. Once the internal software version is updated to the minimum version required by the backup feature, subsequent backups will not require critical update. After preview, there will be no critical update needed for backup.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters/{clustersId}:backup", + "httpMethod": "POST", + "id": "redis.projects.locations.clusters.backup", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Redis cluster resource name using the form: `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}` where `location_id` refers to a GCP region.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/clusters/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}:backup", + "request": { + "$ref": "BackupClusterRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "create": { "description": "Creates a Redis cluster based on the specified properties. The creation is executed asynchronously and callers may check the returned operation to track its progress. Once the operation is completed the Redis cluster will be fully functional. The completed longrunning.Operation will contain the new cluster object in the response field. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/clusters", @@ -727,7 +945,7 @@ "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`.", + "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": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "redis.projects.locations.operations.cancel", @@ -849,7 +1067,7 @@ } } }, - "revision": "20240924", + "revision": "20241212", "rootUrl": "https://redis.googleapis.com/", "schemas": { "AOFConfig": { @@ -875,38 +1093,32 @@ }, "type": "object" }, - "AssetLocation": { - "description": "Provides the mapping of a cloud asset to a direct physical location or to a proxy that defines the location on its behalf.", - "id": "AssetLocation", + "AutomatedBackupConfig": { + "description": "The automated backup config for a cluster.", + "id": "AutomatedBackupConfig", "properties": { - "ccfeRmsPath": { - "description": "Spanner path of the CCFE RMS database. It is only applicable for CCFE tenants that use CCFE RMS for storing resource metadata.", + "automatedBackupMode": { + "description": "Optional. The automated backup mode. If the mode is disabled, the other fields will be ignored.", + "enum": [ + "AUTOMATED_BACKUP_MODE_UNSPECIFIED", + "DISABLED", + "ENABLED" + ], + "enumDescriptions": [ + "Default value. Automated backup config is not specified.", + "Automated backup config disabled.", + "Automated backup config enabled." + ], "type": "string" }, - "expected": { - "$ref": "IsolationExpectations", - "description": "Defines the customer expectation around ZI/ZS for this asset and ZI/ZS state of the region at the time of asset creation." + "fixedFrequencySchedule": { + "$ref": "FixedFrequencySchedule", + "description": "Optional. Trigger automated backups at a fixed frequency." }, - "extraParameters": { - "description": "Defines extra parameters required for specific asset types.", - "items": { - "$ref": "ExtraParameter" - }, - "type": "array" - }, - "locationData": { - "description": "Contains all kinds of physical location definitions for this asset.", - "items": { - "$ref": "LocationData" - }, - "type": "array" - }, - "parentAsset": { - "description": "Defines parents assets if any in order to allow later generation of child_asset_location data via child assets.", - "items": { - "$ref": "CloudAsset" - }, - "type": "array" + "retention": { + "description": "Optional. How long to keep automated backups before the backups are deleted. The value should be between 1 day and 365 days. If not specified, the default value is 35 days.", + "format": "google-duration", + "type": "string" } }, "type": "object" @@ -950,6 +1162,170 @@ }, "type": "object" }, + "Backup": { + "description": "Backup of a cluster.", + "id": "Backup", + "properties": { + "backupFiles": { + "description": "Output only. List of backup files of the backup.", + "items": { + "$ref": "BackupFile" + }, + "readOnly": true, + "type": "array" + }, + "backupType": { + "description": "Output only. Type of the backup.", + "enum": [ + "BACKUP_TYPE_UNSPECIFIED", + "ON_DEMAND", + "AUTOMATED" + ], + "enumDescriptions": [ + "The default value, not set.", + "On-demand backup.", + "Automated backup." + ], + "readOnly": true, + "type": "string" + }, + "cluster": { + "description": "Output only. Cluster resource path of this backup.", + "readOnly": true, + "type": "string" + }, + "clusterUid": { + "description": "Output only. Cluster uid of this backup.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time when the backup was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "engineVersion": { + "description": "Output only. redis-7.2, valkey-7.5", + "readOnly": true, + "type": "string" + }, + "expireTime": { + "description": "Output only. The time when the backup will expire.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. Full resource path of the backup. the last part of the name is the backup id with the following format: [YYYYMMDDHHMMSS]_[Shorted Cluster UID] OR customer specified while backup cluster. Example: 20240515123000_1234", + "type": "string" + }, + "nodeType": { + "description": "Output only. Node type of the cluster.", + "enum": [ + "NODE_TYPE_UNSPECIFIED", + "REDIS_SHARED_CORE_NANO", + "REDIS_HIGHMEM_MEDIUM", + "REDIS_HIGHMEM_XLARGE", + "REDIS_STANDARD_SMALL" + ], + "enumDescriptions": [ + "Node type unspecified", + "Redis shared core nano node_type.", + "Redis highmem medium node_type.", + "Redis highmem xlarge node_type.", + "Redis standard small node_type." + ], + "readOnly": true, + "type": "string" + }, + "replicaCount": { + "description": "Output only. Number of replicas for the cluster.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "shardCount": { + "description": "Output only. Number of shards for the cluster.", + "format": "int32", + "readOnly": true, + "type": "integer" + }, + "state": { + "description": "Output only. State of the backup.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "ACTIVE", + "DELETING", + "SUSPENDED" + ], + "enumDescriptions": [ + "The default value, not set.", + "The backup is being created.", + "The backup is active to be used.", + "The backup is being deleted.", + "The backup is currently suspended due to reasons like project deletion, billing account closure, etc." + ], + "readOnly": true, + "type": "string" + }, + "totalSizeBytes": { + "description": "Output only. Total size of the backup in bytes.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "uid": { + "description": "Output only. System assigned unique identifier of the backup.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "BackupClusterRequest": { + "description": "Request for [BackupCluster].", + "id": "BackupClusterRequest", + "properties": { + "backupId": { + "description": "Optional. The id of the backup to be created. If not specified, the default value ([YYYYMMDDHHMMSS]_[Shortened Cluster UID] is used.", + "type": "string" + }, + "ttl": { + "description": "Optional. TTL for the backup to expire. Value range is 1 day to 100 years. If not specified, the default value is 100 years.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, + "BackupCollection": { + "description": "BackupCollection of a cluster.", + "id": "BackupCollection", + "properties": { + "cluster": { + "description": "Output only. The full resource path of the cluster the backup collection belongs to. Example: projects/{project}/locations/{location}/clusters/{cluster}", + "readOnly": true, + "type": "string" + }, + "clusterUid": { + "description": "Output only. The cluster uid of the backup collection.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Identifier. Full resource path of the backup collection.", + "type": "string" + }, + "uid": { + "description": "Output only. System assigned unique identifier of the backup collection.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "BackupConfiguration": { "description": "Configuration for automatic backups", "id": "BackupConfiguration", @@ -969,6 +1345,30 @@ }, "type": "object" }, + "BackupFile": { + "description": "Backup is consisted of multiple backup files.", + "id": "BackupFile", + "properties": { + "createTime": { + "description": "Output only. The time when the backup file was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "fileName": { + "description": "Output only. e.g: .rdb", + "readOnly": true, + "type": "string" + }, + "sizeBytes": { + "description": "Output only. Size of the backup file in bytes.", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "BackupRun": { "description": "A backup run.", "id": "BackupRun", @@ -1004,19 +1404,6 @@ }, "type": "object" }, - "BlobstoreLocation": { - "description": "Policy ID that identified data placement in Blobstore as per go/blobstore-user-guide#data-metadata-placement-and-failure-domains", - "id": "BlobstoreLocation", - "properties": { - "policyId": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "CertChain": { "id": "CertChain", "properties": { @@ -1044,30 +1431,6 @@ }, "type": "object" }, - "CloudAsset": { - "id": "CloudAsset", - "properties": { - "assetName": { - "type": "string" - }, - "assetType": { - "type": "string" - } - }, - "type": "object" - }, - "CloudAssetComposition": { - "id": "CloudAssetComposition", - "properties": { - "childAsset": { - "items": { - "$ref": "CloudAsset" - }, - "type": "array" - } - }, - "type": "object" - }, "Cluster": { "description": "A cluster instance.", "id": "Cluster", @@ -1086,6 +1449,22 @@ ], "type": "string" }, + "automatedBackupConfig": { + "$ref": "AutomatedBackupConfig", + "description": "Optional. The automated backup config for the cluster." + }, + "backupCollection": { + "description": "Optional. Output only. The backup collection full resource name. Example: projects/{project}/locations/{location}/backupCollections/{collection}", + "readOnly": true, + "type": "string" + }, + "clusterEndpoints": { + "description": "Optional. A list of cluster enpoints.", + "items": { + "$ref": "ClusterEndpoint" + }, + "type": "array" + }, "createTime": { "description": "Output only. The timestamp associated with the cluster creation request.", "format": "google-datetime", @@ -1108,6 +1487,10 @@ "readOnly": true, "type": "array" }, + "gcsSource": { + "$ref": "GcsBackupSource", + "description": "Optional. Backups stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the clusters. Read permission is required to import from the provided Cloud Storage objects." + }, "maintenancePolicy": { "$ref": "ClusterMaintenancePolicy", "description": "Optional. ClusterMaintenancePolicy determines when to allow or deny updates." @@ -1117,6 +1500,10 @@ "description": "Output only. ClusterMaintenanceSchedule Output only Published maintenance schedule.", "readOnly": true }, + "managedBackupSource": { + "$ref": "ManagedBackupSource", + "description": "Optional. Backups generated and managed by memorystore service." + }, "name": { "description": "Required. Identifier. Unique name of the resource in this scope including project and location using the form: `projects/{project_id}/locations/{location_id}/clusters/{cluster_id}`", "type": "string" @@ -1150,7 +1537,7 @@ "type": "number" }, "pscConfigs": { - "description": "Required. Each PscConfig configures the consumer network where IPs will be designated to the cluster for client access through Private Service Connect Automation. Currently, only one PscConfig is supported.", + "description": "Optional. Each PscConfig configures the consumer network where IPs will be designated to the cluster for client access through Private Service Connect Automation. Currently, only one PscConfig is supported.", "items": { "$ref": "PscConfig" }, @@ -1164,6 +1551,14 @@ "readOnly": true, "type": "array" }, + "pscServiceAttachments": { + "description": "Output only. Service attachment details to configure Psc connections", + "items": { + "$ref": "PscServiceAttachment" + }, + "readOnly": true, + "type": "array" + }, "redisConfigs": { "additionalProperties": { "type": "string" @@ -1237,6 +1632,20 @@ }, "type": "object" }, + "ClusterEndpoint": { + "description": "ClusterEndpoint consists of PSC connections that are created as a group in each VPC network for accessing the cluster. In each group, there shall be one connection for each service attachment in the cluster.", + "id": "ClusterEndpoint", + "properties": { + "connections": { + "description": "A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster.", + "items": { + "$ref": "ConnectionDetail" + }, + "type": "array" + } + }, + "type": "object" + }, "ClusterMaintenancePolicy": { "description": "Maintenance policy per cluster.", "id": "ClusterMaintenancePolicy", @@ -1363,6 +1772,21 @@ }, "type": "object" }, + "ConnectionDetail": { + "description": "Detailed information of each PSC connection.", + "id": "ConnectionDetail", + "properties": { + "pscAutoConnection": { + "$ref": "PscAutoConnection", + "description": "Detailed information of a PSC connection that is created through service connectivity automation." + }, + "pscConnection": { + "$ref": "PscConnection", + "description": "Detailed information of a PSC connection that is created by the customer who owns the cluster." + } + }, + "type": "object" + }, "CrossClusterReplicationConfig": { "description": "Cross cluster replication config.", "id": "CrossClusterReplicationConfig", @@ -1658,7 +2082,9 @@ "SIGNAL_TYPE_SUPERUSER_WRITING_TO_USER_TABLES", "SIGNAL_TYPE_USER_GRANTED_ALL_PERMISSIONS", "SIGNAL_TYPE_DATA_EXPORT_TO_EXTERNAL_CLOUD_STORAGE_BUCKET", - "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET" + "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET", + "SIGNAL_TYPE_WEAK_PASSWORD_HASH_ALGORITHM", + "SIGNAL_TYPE_NO_USER_PASSWORD_POLICY" ], "enumDeprecated": [ false, @@ -1739,6 +2165,8 @@ false, false, false, + false, + false, false ], "enumDescriptions": [ @@ -1820,7 +2248,9 @@ "Detects events where a Cloud SQL superuser (postgres for PostgreSQL servers or root for MySQL users) writes to non-system tables.", "Detects events where a database user or role has been granted all privileges to a database, or to all tables, procedures, or functions in a schema.", "Detects if database instance data exported to a Cloud Storage bucket outside of the organization.", - "Detects if database instance data exported to a Cloud Storage bucket that is owned by the organization and is publicly accessible." + "Detects if database instance data exported to a Cloud Storage bucket that is owned by the organization and is publicly accessible.", + "Detects if a database instance is using a weak password hash algorithm.", + "Detects if a database instance has no user password policy set." ], "type": "string" }, @@ -2191,7 +2621,9 @@ "SIGNAL_TYPE_SUPERUSER_WRITING_TO_USER_TABLES", "SIGNAL_TYPE_USER_GRANTED_ALL_PERMISSIONS", "SIGNAL_TYPE_DATA_EXPORT_TO_EXTERNAL_CLOUD_STORAGE_BUCKET", - "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET" + "SIGNAL_TYPE_DATA_EXPORT_TO_PUBLIC_CLOUD_STORAGE_BUCKET", + "SIGNAL_TYPE_WEAK_PASSWORD_HASH_ALGORITHM", + "SIGNAL_TYPE_NO_USER_PASSWORD_POLICY" ], "enumDeprecated": [ false, @@ -2272,6 +2704,8 @@ false, false, false, + false, + false, false ], "enumDescriptions": [ @@ -2353,25 +2787,15 @@ "Detects events where a Cloud SQL superuser (postgres for PostgreSQL servers or root for MySQL users) writes to non-system tables.", "Detects events where a database user or role has been granted all privileges to a database, or to all tables, procedures, or functions in a schema.", "Detects if database instance data exported to a Cloud Storage bucket outside of the organization.", - "Detects if database instance data exported to a Cloud Storage bucket that is owned by the organization and is publicly accessible." + "Detects if database instance data exported to a Cloud Storage bucket that is owned by the organization and is publicly accessible.", + "Detects if a database instance is using a weak password hash algorithm.", + "Detects if a database instance has no user password policy set." ], "type": "string" } }, "type": "object" }, - "DirectLocationAssignment": { - "id": "DirectLocationAssignment", - "properties": { - "location": { - "items": { - "$ref": "LocationAssignment" - }, - "type": "array" - } - }, - "type": "object" - }, "DiscoveryEndpoint": { "description": "Endpoints on each network, for Redis clients to connect to the cluster.", "id": "DiscoveryEndpoint", @@ -2434,6 +2858,17 @@ }, "type": "object" }, + "ExportBackupRequest": { + "description": "Request for [ExportBackup].", + "id": "ExportBackupRequest", + "properties": { + "gcsBucket": { + "description": "Google Cloud Storage bucket, like \"my-bucket\".", + "type": "string" + } + }, + "type": "object" + }, "ExportInstanceRequest": { "description": "Request for Export.", "id": "ExportInstanceRequest", @@ -2445,17 +2880,6 @@ }, "type": "object" }, - "ExtraParameter": { - "description": "Defines parameters that should only be used for specific asset types.", - "id": "ExtraParameter", - "properties": { - "regionalMigDistributionPolicy": { - "$ref": "RegionalMigDistributionPolicy", - "description": "Details about zones used by regional compute.googleapis.com/InstanceGroupManager to create instances." - } - }, - "type": "object" - }, "FailoverInstanceRequest": { "description": "Request for Failover.", "id": "FailoverInstanceRequest", @@ -2477,6 +2901,31 @@ }, "type": "object" }, + "FixedFrequencySchedule": { + "description": "This schedule allows the backup to be triggered at a fixed frequency (currently only daily is supported).", + "id": "FixedFrequencySchedule", + "properties": { + "startTime": { + "$ref": "TimeOfDay", + "description": "Required. The start time of every automated backup in UTC. It must be set to the start of an hour. This field is required." + } + }, + "type": "object" + }, + "GcsBackupSource": { + "description": "Backups stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the clusters.", + "id": "GcsBackupSource", + "properties": { + "uris": { + "description": "Optional. URIs of the GCS objects to import. Example: gs://bucket1/object1, gs://bucket2/folder2/object2", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "GcsDestination": { "description": "The Cloud Storage location for the output content", "id": "GcsDestination", @@ -2509,7 +2958,7 @@ "type": "string" }, "cancelRequested": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -2884,127 +3333,52 @@ }, "type": "object" }, - "IsolationExpectations": { - "id": "IsolationExpectations", + "ListBackupCollectionsResponse": { + "description": "Response for [ListBackupCollections].", + "id": "ListBackupCollectionsResponse", + "properties": { + "backupCollections": { + "description": "A list of backupCollections in the project. If the `location_id` in the parent field of the request is \"-\", all regions available to the project are queried, and the results aggregated. If in such an aggregated query a location is unavailable, a placeholder backupCollection entry is included in the response with the `name` field set to a value of the form `projects/{project_id}/locations/{location_id}/backupCollections/`- and the `status` field set to ERROR and `status_message` field set to \"location not available for ListBackupCollections\".", + "items": { + "$ref": "BackupCollection" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", + "type": "string" + }, + "unreachable": { + "description": "Locations that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListBackupsResponse": { + "description": "Response for [ListBackups].", + "id": "ListBackupsResponse", "properties": { - "requirementOverride": { - "$ref": "RequirementOverride", - "description": "Explicit overrides for ZI and ZS requirements to be used for resources that should be excluded from ZI/ZS verification logic." - }, - "ziOrgPolicy": { - "enum": [ - "ZI_UNSPECIFIED", - "ZI_UNKNOWN", - "ZI_NOT_REQUIRED", - "ZI_PREFERRED", - "ZI_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "ziRegionPolicy": { - "enum": [ - "ZI_REGION_POLICY_UNSPECIFIED", - "ZI_REGION_POLICY_UNKNOWN", - "ZI_REGION_POLICY_NOT_SET", - "ZI_REGION_POLICY_FAIL_OPEN", - "ZI_REGION_POLICY_FAIL_CLOSED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "ziRegionState": { - "enum": [ - "ZI_REGION_UNSPECIFIED", - "ZI_REGION_UNKNOWN", - "ZI_REGION_NOT_ENABLED", - "ZI_REGION_ENABLED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - }, - "zoneIsolation": { - "deprecated": true, - "description": "Deprecated: use zi_org_policy, zi_region_policy and zi_region_state instead for setting ZI expectations as per go/zicy-publish-physical-location.", - "enum": [ - "ZI_UNSPECIFIED", - "ZI_UNKNOWN", - "ZI_NOT_REQUIRED", - "ZI_PREFERRED", - "ZI_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "zoneSeparation": { - "deprecated": true, - "description": "Deprecated: use zs_org_policy, and zs_region_stateinstead for setting Zs expectations as per go/zicy-publish-physical-location.", - "enum": [ - "ZS_UNSPECIFIED", - "ZS_UNKNOWN", - "ZS_NOT_REQUIRED", - "ZS_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" + "backups": { + "description": "A list of backups in the project.", + "items": { + "$ref": "Backup" + }, + "type": "array" }, - "zsOrgPolicy": { - "enum": [ - "ZS_UNSPECIFIED", - "ZS_UNKNOWN", - "ZS_NOT_REQUIRED", - "ZS_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no more results in the list.", "type": "string" }, - "zsRegionState": { - "enum": [ - "ZS_REGION_UNSPECIFIED", - "ZS_REGION_UNKNOWN", - "ZS_REGION_NOT_ENABLED", - "ZS_REGION_ENABLED" - ], - "enumDescriptions": [ - "", - "To be used if tracking of the asset ZS-bit is not available", - "", - "" - ], - "type": "string" + "unreachable": { + "description": "Backups that could not be reached.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" @@ -3129,64 +3503,6 @@ }, "type": "object" }, - "LocationAssignment": { - "id": "LocationAssignment", - "properties": { - "location": { - "type": "string" - }, - "locationType": { - "enum": [ - "UNSPECIFIED", - "CLUSTER", - "POP", - "CLOUD_ZONE", - "CLOUD_REGION", - "MULTI_REGION_GEO", - "MULTI_REGION_JURISDICTION", - "GLOBAL", - "OTHER" - ], - "enumDescriptions": [ - "", - "1-10: Physical failure domains.", - "", - "11-20: Logical failure domains.", - "", - "", - "", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, - "LocationData": { - "id": "LocationData", - "properties": { - "blobstoreLocation": { - "$ref": "BlobstoreLocation" - }, - "childAssetLocation": { - "$ref": "CloudAssetComposition" - }, - "directLocation": { - "$ref": "DirectLocationAssignment" - }, - "gcpProjectProxy": { - "$ref": "TenantProjectProxy" - }, - "placerLocation": { - "$ref": "PlacerLocation" - }, - "spannerLocation": { - "$ref": "SpannerLocation" - } - }, - "type": "object" - }, "MachineConfiguration": { "description": "MachineConfiguration describes the configuration of a machine specific to Database Resource.", "id": "MachineConfiguration", @@ -3205,6 +3521,11 @@ "description": "Optional. Number of shards (if applicable).", "format": "int32", "type": "integer" + }, + "vcpuCount": { + "description": "Optional. The number of vCPUs. TODO(b/342344482, b/342346271) add proto validations again after bug fix.", + "format": "double", + "type": "number" } }, "type": "object" @@ -3269,6 +3590,17 @@ }, "type": "object" }, + "ManagedBackupSource": { + "description": "Backups that generated and managed by memorystore.", + "id": "ManagedBackupSource", + "properties": { + "backup": { + "description": "Optional. Example: //redis.googleapis.com/projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup} A shorter version (without the prefix) of the backup name is also supported, like projects/{project}/locations/{location}/backupCollections/{collection}/backups/{backup_id} In this case, it assumes the backup is under redis.googleapis.com.", + "type": "string" + } + }, + "type": "object" + }, "ManagedCertificateAuthority": { "id": "ManagedCertificateAuthority", "properties": { @@ -3552,17 +3884,6 @@ }, "type": "object" }, - "PlacerLocation": { - "description": "Message describing that the location of the customer resource is tied to placer allocations", - "id": "PlacerLocation", - "properties": { - "placerConfig": { - "description": "Directory with a config related to it in placer (e.g. \"/placer/prod/home/my-root/my-dir\")", - "type": "string" - } - }, - "type": "object" - }, "Product": { "description": "Product specification for Condor resources.", "id": "Product", @@ -3678,6 +3999,73 @@ }, "type": "object" }, + "PscAutoConnection": { + "description": "Details of consumer resources in a PSC connection that is created through Service Connectivity Automation.", + "id": "PscAutoConnection", + "properties": { + "address": { + "description": "Output only. The IP allocated on the consumer network for the PSC forwarding rule.", + "readOnly": true, + "type": "string" + }, + "connectionType": { + "description": "Output only. Type of the PSC connection.", + "enum": [ + "CONNECTION_TYPE_UNSPECIFIED", + "CONNECTION_TYPE_DISCOVERY", + "CONNECTION_TYPE_PRIMARY", + "CONNECTION_TYPE_READER" + ], + "enumDescriptions": [ + "Cluster endpoint Type is not set", + "Cluster endpoint that will be used as for cluster topology discovery.", + "Cluster endpoint that will be used as primary endpoint to access primary.", + "Cluster endpoint that will be used as reader endpoint to access replicas." + ], + "readOnly": true, + "type": "string" + }, + "forwardingRule": { + "description": "Output only. The URI of the consumer side forwarding rule. Example: projects/{projectNumOrId}/regions/us-east1/forwardingRules/{resourceId}.", + "readOnly": true, + "type": "string" + }, + "network": { + "description": "Required. The consumer network where the IP address resides, in the form of projects/{project_id}/global/networks/{network_id}.", + "type": "string" + }, + "projectId": { + "description": "Required. The consumer project_id where the forwarding rule is created from.", + "type": "string" + }, + "pscConnectionId": { + "description": "Output only. The PSC connection id of the forwarding rule connected to the service attachment.", + "readOnly": true, + "type": "string" + }, + "pscConnectionStatus": { + "description": "Output only. The status of the PSC connection. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status.", + "enum": [ + "PSC_CONNECTION_STATUS_UNSPECIFIED", + "PSC_CONNECTION_STATUS_ACTIVE", + "PSC_CONNECTION_STATUS_NOT_FOUND" + ], + "enumDescriptions": [ + "PSC connection status is not specified.", + "The connection is active", + "Connection not found" + ], + "readOnly": true, + "type": "string" + }, + "serviceAttachment": { + "description": "Output only. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "PscConfig": { "id": "PscConfig", "properties": { @@ -3696,6 +4084,23 @@ "description": "Required. The IP allocated on the consumer network for the PSC forwarding rule.", "type": "string" }, + "connectionType": { + "description": "Output only. Type of the PSC connection.", + "enum": [ + "CONNECTION_TYPE_UNSPECIFIED", + "CONNECTION_TYPE_DISCOVERY", + "CONNECTION_TYPE_PRIMARY", + "CONNECTION_TYPE_READER" + ], + "enumDescriptions": [ + "Cluster endpoint Type is not set", + "Cluster endpoint that will be used as for cluster topology discovery.", + "Cluster endpoint that will be used as primary endpoint to access primary.", + "Cluster endpoint that will be used as reader endpoint to access replicas." + ], + "readOnly": true, + "type": "string" + }, "forwardingRule": { "description": "Required. The URI of the consumer side forwarding rule. Example: projects/{projectNumOrId}/regions/us-east1/forwardingRules/{resourceId}.", "type": "string" @@ -3712,6 +4117,21 @@ "description": "Required. The PSC connection id of the forwarding rule connected to the service attachment.", "type": "string" }, + "pscConnectionStatus": { + "description": "Output only. The status of the PSC connection. Please note that this value is updated periodically. To get the latest status of a PSC connection, follow https://cloud.google.com/vpc/docs/configure-private-service-connect-services#endpoint-details.", + "enum": [ + "PSC_CONNECTION_STATUS_UNSPECIFIED", + "PSC_CONNECTION_STATUS_ACTIVE", + "PSC_CONNECTION_STATUS_NOT_FOUND" + ], + "enumDescriptions": [ + "PSC connection status is not specified.", + "The connection is active", + "Connection not found" + ], + "readOnly": true, + "type": "string" + }, "serviceAttachment": { "description": "Required. The service attachment which is the target of the PSC connection, in the form of projects/{project-id}/regions/{region}/serviceAttachments/{service-attachment-id}.", "type": "string" @@ -3719,6 +4139,35 @@ }, "type": "object" }, + "PscServiceAttachment": { + "description": "Configuration of a service attachment of the cluster, for creating PSC connections.", + "id": "PscServiceAttachment", + "properties": { + "connectionType": { + "description": "Output only. Type of a PSC connection targeting this service attachment.", + "enum": [ + "CONNECTION_TYPE_UNSPECIFIED", + "CONNECTION_TYPE_DISCOVERY", + "CONNECTION_TYPE_PRIMARY", + "CONNECTION_TYPE_READER" + ], + "enumDescriptions": [ + "Cluster endpoint Type is not set", + "Cluster endpoint that will be used as for cluster topology discovery.", + "Cluster endpoint that will be used as primary endpoint to access primary.", + "Cluster endpoint that will be used as reader endpoint to access replicas." + ], + "readOnly": true, + "type": "string" + }, + "serviceAttachment": { + "description": "Output only. Service attachment URI which your self-created PscConnection should use as target", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "RDBConfig": { "description": "Configuration of the RDB based persistence.", "id": "RDBConfig", @@ -3780,25 +4229,6 @@ }, "type": "object" }, - "RegionalMigDistributionPolicy": { - "description": "To be used for specifying the intended distribution of regional compute.googleapis.com/InstanceGroupManager instances", - "id": "RegionalMigDistributionPolicy", - "properties": { - "targetShape": { - "description": "The shape in which the group converges around distribution of resources. Instance of proto2 enum", - "format": "int32", - "type": "integer" - }, - "zones": { - "description": "Cloud zones used by regional MIG to create instances.", - "items": { - "$ref": "ZoneConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, "RemoteCluster": { "description": "Details of the remote cluster associated with this cluster in a cross cluster replication setup.", "id": "RemoteCluster", @@ -3815,44 +4245,6 @@ }, "type": "object" }, - "RequirementOverride": { - "id": "RequirementOverride", - "properties": { - "ziOverride": { - "enum": [ - "ZI_UNSPECIFIED", - "ZI_UNKNOWN", - "ZI_NOT_REQUIRED", - "ZI_PREFERRED", - "ZI_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "zsOverride": { - "enum": [ - "ZS_UNSPECIFIED", - "ZS_UNKNOWN", - "ZS_NOT_REQUIRED", - "ZS_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, "RescheduleClusterMaintenanceRequest": { "description": "Request for rescheduling a cluster maintenance.", "id": "RescheduleClusterMaintenanceRequest", @@ -3920,6 +4312,7 @@ "type": "integer" }, "retentionUnit": { + "deprecated": true, "description": "The unit that 'retained_backups' represents.", "enum": [ "RETENTION_UNIT_UNSPECIFIED", @@ -3940,26 +4333,11 @@ "timeBasedRetention": { "format": "google-duration", "type": "string" - } - }, - "type": "object" - }, - "SpannerLocation": { - "id": "SpannerLocation", - "properties": { - "backupName": { - "description": "Set of backups used by the resource with name in the same format as what is available at http://table/spanner_automon.backup_metadata", - "items": { - "type": "string" - }, - "type": "array" }, - "dbName": { - "description": "Set of databases used by the resource in format /span//", - "items": { - "type": "string" - }, - "type": "array" + "timestampBasedRetentionTime": { + "description": "Timestamp based retention period i.e. 2024-05-01T00:00:00Z", + "format": "google-datetime", + "type": "string" } }, "type": "object" @@ -4016,39 +4394,27 @@ }, "type": "object" }, - "TenantProjectProxy": { - "id": "TenantProjectProxy", - "properties": { - "projectNumbers": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "TimeOfDay": { "description": "Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`.", "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } @@ -4193,15 +4559,6 @@ }, "type": "object" }, - "ZoneConfiguration": { - "id": "ZoneConfiguration", - "properties": { - "zone": { - "type": "string" - } - }, - "type": "object" - }, "ZoneDistributionConfig": { "description": "Zone distribution config for allocation of cluster resources.", "id": "ZoneDistributionConfig", diff --git a/discovery/retail-v2.json b/discovery/retail-v2.json index 1b400614f0..fd38bfa051 100644 --- a/discovery/retail-v2.json +++ b/discovery/retail-v2.json @@ -1930,49 +1930,26 @@ "userEvents": { "methods": { "collect": { - "description": "Writes a single user event from the browser. This uses a GET request to due to browser restriction of POST-ing to a 3rd party domain. This method is used only by the Retail API JavaScript pixel and Google Tag Manager. Users should not call this method directly.", + "description": "Writes a single user event from the browser. For larger user event payload over 16 KB, the POST method should be used instead, otherwise a 400 Bad Request error is returned. This method is used only by the Retail API JavaScript pixel and Google Tag Manager. Users should not call this method directly.", "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/userEvents:collect", - "httpMethod": "GET", + "httpMethod": "POST", "id": "retail.projects.locations.catalogs.userEvents.collect", "parameterOrder": [ "parent" ], "parameters": { - "ets": { - "description": "The event timestamp in milliseconds. This prevents browser caching of otherwise identical get requests. The name is abbreviated to reduce the payload bytes.", - "format": "int64", - "location": "query", - "type": "string" - }, "parent": { "description": "Required. The parent catalog name, such as `projects/1234/locations/global/catalogs/default_catalog`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", "required": true, "type": "string" - }, - "prebuiltRule": { - "description": "The prebuilt rule name that can convert a specific type of raw_json. For example: \"ga4_bq\" rule for the GA4 user event schema.", - "location": "query", - "type": "string" - }, - "rawJson": { - "description": "An arbitrary serialized JSON string that contains necessary information that can comprise a user event. When this field is specified, the user_event field will be ignored. Note: line-delimited JSON is not supported, a single JSON only.", - "location": "query", - "type": "string" - }, - "uri": { - "description": "The URL including cgi-parameters but excluding the hash fragment with a length limit of 5,000 characters. This is often more useful than the referer URL, because many browsers only send the domain for 3rd party requests.", - "location": "query", - "type": "string" - }, - "userEvent": { - "description": "Required. URL encoded UserEvent proto with a length limit of 2,000,000 characters.", - "location": "query", - "type": "string" } }, "path": "v2/{+parent}/userEvents:collect", + "request": { + "$ref": "GoogleCloudRetailV2CollectUserEventRequest" + }, "response": { "$ref": "GoogleApiHttpBody" }, @@ -2246,7 +2223,7 @@ } } }, - "revision": "20240920", + "revision": "20250107", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -2514,7 +2491,7 @@ "enumDescriptions": [ "Value used when unset. In this case, server behavior defaults to CATALOG_LEVEL_ATTRIBUTE_CONFIG.", "At this level, we honor the attribute configurations set in Product.attributes.", - "At this level, we honor the attribute configurations set in CatalogConfig.attribute_configs." + "At this level, we honor the attribute configurations set in `CatalogConfig.attribute_configs`." ], "readOnly": true, "type": "string" @@ -2615,7 +2592,7 @@ }, "partitionDate": { "$ref": "GoogleTypeDate", - "description": "BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest." + "description": "BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format." }, "projectId": { "description": "The project ID (can be project # or ID) that the BigQuery source is in with a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", @@ -2684,7 +2661,7 @@ "description": "Contains facet options." }, "inUse": { - "description": "Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded catalog attributes that are neither in use by products nor predefined can be deleted. Catalog attributes that are either in use by products or are predefined attributes cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update.", + "description": "Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded catalog attributes that are neither in use by products nor predefined can be deleted. Catalog attributes that are either in use by products or are predefined attributes cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update.", "readOnly": true, "type": "boolean" }, @@ -2859,12 +2836,40 @@ }, "type": "object" }, + "GoogleCloudRetailV2CollectUserEventRequest": { + "description": "Request message for CollectUserEvent method.", + "id": "GoogleCloudRetailV2CollectUserEventRequest", + "properties": { + "ets": { + "description": "The event timestamp in milliseconds. This prevents browser caching of otherwise identical get requests. The name is abbreviated to reduce the payload bytes.", + "format": "int64", + "type": "string" + }, + "prebuiltRule": { + "description": "The prebuilt rule name that can convert a specific type of raw_json. For example: \"ga4_bq\" rule for the GA4 user event schema.", + "type": "string" + }, + "rawJson": { + "description": "An arbitrary serialized JSON string that contains necessary information that can comprise a user event. When this field is specified, the user_event field will be ignored. Note: line-delimited JSON is not supported, a single JSON only.", + "type": "string" + }, + "uri": { + "description": "The URL including cgi-parameters but excluding the hash fragment with a length limit of 5,000 characters. This is often more useful than the referer URL, because many browsers only send the domain for 3rd party requests.", + "type": "string" + }, + "userEvent": { + "description": "Required. URL encoded UserEvent proto with a length limit of 2,000,000 characters.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudRetailV2ColorInfo": { "description": "The color information of a Product.", "id": "GoogleCloudRetailV2ColorInfo", "properties": { "colorFamilies": { - "description": "The standard color families. Strongly recommended to use the following standard color groups: \"Red\", \"Pink\", \"Orange\", \"Yellow\", \"Purple\", \"Green\", \"Cyan\", \"Blue\", \"Brown\", \"White\", \"Gray\", \"Black\" and \"Mixed\". Normally it is expected to have only 1 color family. May consider using single \"Mixed\" instead of multiple values. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color).", + "description": "The standard color families. Strongly recommended to use the following standard color groups: \"Red\", \"Pink\", \"Orange\", \"Yellow\", \"Purple\", \"Green\", \"Cyan\", \"Blue\", \"Brown\", \"White\", \"Gray\", \"Black\" and \"Mixed\". Normally it is expected to have only 1 color family. May consider using single \"Mixed\" instead of multiple values. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). The colorFamilies field as a system attribute is not a required field but strongly recommended to be specified. Google Search models treat this field as more important than a custom product attribute when specified.", "items": { "type": "string" }, @@ -3211,7 +3216,7 @@ "type": "object" }, "GoogleCloudRetailV2ExperimentInfo": { - "description": "Metadata for active A/B testing Experiment.", + "description": "Metadata for active A/B testing experiment.", "id": "GoogleCloudRetailV2ExperimentInfo", "properties": { "experiment": { @@ -3230,7 +3235,7 @@ "id": "GoogleCloudRetailV2ExperimentInfoServingConfigExperiment", "properties": { "experimentServingConfig": { - "description": "The fully qualified resource name of the serving config Experiment.VariantArm.serving_config_id responsible for generating the search response. For example: `projects/*/locations/*/catalogs/*/servingConfigs/*`.", + "description": "The fully qualified resource name of the serving config `Experiment.VariantArm.serving_config_id` responsible for generating the search response. For example: `projects/*/locations/*/catalogs/*/servingConfigs/*`.", "type": "string" }, "originalServingConfig": { @@ -3435,7 +3440,7 @@ "type": "object" }, "GoogleCloudRetailV2Image": { - "description": "Product image. Recommendations AI and Retail Search do not use product images to improve prediction and search results. However, product images can be returned in results, and are shown in prediction or search previews in the console.", + "description": "Product image. Recommendations AI and Retail Search use product images to improve prediction and search results. Product images can be returned in results, and are shown in prediction or search previews in the console. Please try to provide correct product images and avoid using images with size too small.", "id": "GoogleCloudRetailV2Image", "properties": { "height": { @@ -3768,23 +3773,41 @@ "additionalProperties": { "$ref": "GoogleCloudRetailV2CustomAttribute" }, - "description": "Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB.", + "description": "Optional. Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB.", "type": "object" }, + "availability": { + "description": "Optional. The availability of the Product at this place_id. Default to Availability.IN_STOCK. For primary products with variants set the availability of the primary as Availability.OUT_OF_STOCK and set the true availability at the variant level. This way the primary product will be considered \"in stock\" as long as it has at least one variant in stock. For primary products with no variants set the true availability at the primary level. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability).", + "enum": [ + "AVAILABILITY_UNSPECIFIED", + "IN_STOCK", + "OUT_OF_STOCK", + "PREORDER", + "BACKORDER" + ], + "enumDescriptions": [ + "Default product availability. Default to Availability.IN_STOCK if unset.", + "Product in stock.", + "Product out of stock.", + "Product that is in pre-order state.", + "Product that is back-ordered (i.e. temporarily out of stock)." + ], + "type": "string" + }, "fulfillmentTypes": { - "description": "Input only. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * \"pickup-in-store\" * \"ship-to-store\" * \"same-day-delivery\" * \"next-day-delivery\" * \"custom-type-1\" * \"custom-type-2\" * \"custom-type-3\" * \"custom-type-4\" * \"custom-type-5\" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned.", + "description": "Optional. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * \"pickup-in-store\" * \"ship-to-store\" * \"same-day-delivery\" * \"next-day-delivery\" * \"custom-type-1\" * \"custom-type-2\" * \"custom-type-3\" * \"custom-type-4\" * \"custom-type-5\" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned.", "items": { "type": "string" }, "type": "array" }, "placeId": { - "description": "The place ID for the current set of inventory information.", + "description": "Required. The place ID for the current set of inventory information.", "type": "string" }, "priceInfo": { "$ref": "GoogleCloudRetailV2PriceInfo", - "description": "Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371)." + "description": "Optional. Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371)." } }, "type": "object" @@ -4041,6 +4064,41 @@ "properties": {}, "type": "object" }, + "GoogleCloudRetailV2PinControlMetadata": { + "description": "Metadata for pinning to be returned in the response. This is used for distinguishing between applied vs dropped pins.", + "id": "GoogleCloudRetailV2PinControlMetadata", + "properties": { + "allMatchedPins": { + "additionalProperties": { + "$ref": "GoogleCloudRetailV2PinControlMetadataProductPins" + }, + "description": "Map of all matched pins, keyed by pin position.", + "type": "object" + }, + "droppedPins": { + "additionalProperties": { + "$ref": "GoogleCloudRetailV2PinControlMetadataProductPins" + }, + "description": "Map of pins that were dropped due to overlap with other matching pins, keyed by pin position.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2PinControlMetadataProductPins": { + "description": "List of product ids which have associated pins.", + "id": "GoogleCloudRetailV2PinControlMetadataProductPins", + "properties": { + "productId": { + "description": "List of product ids which have associated pins.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudRetailV2PredictRequest": { "description": "Request message for Predict method.", "id": "GoogleCloudRetailV2PredictRequest", @@ -4349,7 +4407,7 @@ }, "retrievableFields": { "deprecated": true, - "description": "Indicates which fields in the Products are returned in SearchResponse. Supported fields for all types: * audience * availability * brands * color_info * conditions * gtin * materials * name * patterns * price_info * rating * sizes * title * uri Supported fields only for Type.PRIMARY and Type.COLLECTION: * categories * description * images Supported fields only for Type.VARIANT: * Only the first image in images To mark attributes as retrievable, include paths of the form \"attributes.key\" where \"key\" is the key of a custom attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION, the following fields are always returned in SearchResponse by default: * name For Type.VARIANT, the following fields are always returned in by default: * name * color_info The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is returned. Note: Returning more fields in SearchResponse can increase response payload size and serving latency. This field is deprecated. Use the retrievable site-wide control instead.", + "description": "Indicates which fields in the Products are returned in SearchResponse. Supported fields for all types: * audience * availability * brands * color_info * conditions * gtin * materials * name * patterns * price_info * rating * sizes * title * uri Supported fields only for Type.PRIMARY and Type.COLLECTION: * categories * description * images Supported fields only for Type.VARIANT: * Only the first image in images To mark attributes as retrievable, include paths of the form \"attributes.key\" where \"key\" is the key of a custom attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION, the following fields are always returned in SearchResponse by default: * name For Type.VARIANT, the following fields are always returned in by default: * name * color_info Note: Returning more fields in SearchResponse can increase response payload size and serving latency. This field is deprecated. Use the retrievable site-wide control instead.", "format": "google-fieldmask", "type": "string" }, @@ -4850,6 +4908,10 @@ "$ref": "GoogleCloudRetailV2RuleOnewaySynonymsAction", "description": "Treats specific term as a synonym with a group of terms. Group of terms will not be treated as synonyms with the specific term." }, + "pinAction": { + "$ref": "GoogleCloudRetailV2RulePinAction", + "description": "Pins one or more specified products to a specific position in the results." + }, "redirectAction": { "$ref": "GoogleCloudRetailV2RuleRedirectAction", "description": "Redirects a shopper to a specific page." @@ -4996,6 +5058,20 @@ }, "type": "object" }, + "GoogleCloudRetailV2RulePinAction": { + "description": "Pins one or more specified products to a specific position in the results. * Rule Condition: Must specify non-empty Condition.query_terms (for search only) or Condition.page_categories (for browse only), but can't specify both. * Action Input: mapping of `[pin_position, product_id]` pairs (pin position uses 1-based indexing). * Action Result: Will pin products with matching ids to the position specified in the final result order. Example: Suppose the query is `shoes`, the Condition.query_terms is `shoes` and the pin_map has `{1, \"pid1\"}`, then product with `pid1` will be pinned to the top position in the final results. If multiple PinActions are matched to a single request the actions will be processed from most to least recently updated. Pins to positions larger than the max allowed page size of 120 are not allowed.", + "id": "GoogleCloudRetailV2RulePinAction", + "properties": { + "pinMap": { + "additionalProperties": { + "type": "string" + }, + "description": "Required. A map of positions to product_ids. Partial matches per action are allowed, if a certain position in the map is already filled that `[position, product_id]` pair will be ignored but the rest may still be applied. This case will only occur if multiple pin actions are matched to a single request, as the map guarantees that pin positions are unique within the same action. Duplicate product_ids are not permitted within a single pin map. The max size of this map is 120, equivalent to the max [request page size](https://cloud.google.com/retail/docs/reference/rest/v2/projects.locations.catalogs.placements/search#request-body).", + "type": "object" + } + }, + "type": "object" + }, "GoogleCloudRetailV2RuleRedirectAction": { "description": "Redirects a shopper to a specific page. * Rule Condition: Must specify Condition.query_terms. * Action Input: Request Query * Action Result: Redirects shopper to provided uri.", "id": "GoogleCloudRetailV2RuleRedirectAction", @@ -5480,7 +5556,7 @@ "type": "string" }, "experimentInfo": { - "description": "Metadata related to A/B testing Experiment associated with this response. Only exists when an experiment is triggered.", + "description": "Metadata related to A/B testing experiment associated with this response. Only exists when an experiment is triggered.", "items": { "$ref": "GoogleCloudRetailV2ExperimentInfo" }, @@ -5504,6 +5580,10 @@ "description": "A token that can be sent as SearchRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", "type": "string" }, + "pinControlMetadata": { + "$ref": "GoogleCloudRetailV2PinControlMetadata", + "description": "Metadata for pin controls which were applicable to the request. This contains two map fields, one for all matched pins and one for pins which were matched but not applied. The two maps are keyed by pin position, and the values are the product ids which were matched to that pin." + }, "queryExpansionInfo": { "$ref": "GoogleCloudRetailV2SearchResponseQueryExpansionInfo", "description": "Query expansion information for the returned results." @@ -6134,7 +6214,7 @@ "type": "string" }, "userAgent": { - "description": "User agent as included in the HTTP header. Required for getting SearchResponse.sponsored_results. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request is set.", + "description": "User agent as included in the HTTP header. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request is set.", "type": "string" }, "userId": { diff --git a/discovery/retail-v2alpha.json b/discovery/retail-v2alpha.json index d8380f50ff..98e3132bea 100644 --- a/discovery/retail-v2alpha.json +++ b/discovery/retail-v2alpha.json @@ -2391,49 +2391,26 @@ "userEvents": { "methods": { "collect": { - "description": "Writes a single user event from the browser. This uses a GET request to due to browser restriction of POST-ing to a 3rd party domain. This method is used only by the Retail API JavaScript pixel and Google Tag Manager. Users should not call this method directly.", + "description": "Writes a single user event from the browser. For larger user event payload over 16 KB, the POST method should be used instead, otherwise a 400 Bad Request error is returned. This method is used only by the Retail API JavaScript pixel and Google Tag Manager. Users should not call this method directly.", "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/userEvents:collect", - "httpMethod": "GET", + "httpMethod": "POST", "id": "retail.projects.locations.catalogs.userEvents.collect", "parameterOrder": [ "parent" ], "parameters": { - "ets": { - "description": "The event timestamp in milliseconds. This prevents browser caching of otherwise identical get requests. The name is abbreviated to reduce the payload bytes.", - "format": "int64", - "location": "query", - "type": "string" - }, "parent": { "description": "Required. The parent catalog name, such as `projects/1234/locations/global/catalogs/default_catalog`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", "required": true, "type": "string" - }, - "prebuiltRule": { - "description": "The prebuilt rule name that can convert a specific type of raw_json. For example: \"ga4_bq\" rule for the GA4 user event schema.", - "location": "query", - "type": "string" - }, - "rawJson": { - "description": "An arbitrary serialized JSON string that contains necessary information that can comprise a user event. When this field is specified, the user_event field will be ignored. Note: line-delimited JSON is not supported, a single JSON only.", - "location": "query", - "type": "string" - }, - "uri": { - "description": "The URL including cgi-parameters but excluding the hash fragment with a length limit of 5,000 characters. This is often more useful than the referer URL, because many browsers only send the domain for 3rd party requests.", - "location": "query", - "type": "string" - }, - "userEvent": { - "description": "Required. URL encoded UserEvent proto with a length limit of 2,000,000 characters.", - "location": "query", - "type": "string" } }, "path": "v2alpha/{+parent}/userEvents:collect", + "request": { + "$ref": "GoogleCloudRetailV2alphaCollectUserEventRequest" + }, "response": { "$ref": "GoogleApiHttpBody" }, @@ -2767,7 +2744,7 @@ } } }, - "revision": "20240920", + "revision": "20250107", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -3667,7 +3644,7 @@ "enumDescriptions": [ "Value used when unset. In this case, server behavior defaults to CATALOG_LEVEL_ATTRIBUTE_CONFIG.", "At this level, we honor the attribute configurations set in Product.attributes.", - "At this level, we honor the attribute configurations set in CatalogConfig.attribute_configs." + "At this level, we honor the attribute configurations set in `CatalogConfig.attribute_configs`." ], "readOnly": true, "type": "string" @@ -3803,7 +3780,7 @@ }, "partitionDate": { "$ref": "GoogleTypeDate", - "description": "BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest." + "description": "BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format." }, "projectId": { "description": "The project ID (can be project # or ID) that the BigQuery source is in with a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", @@ -3981,7 +3958,7 @@ "description": "Contains facet options." }, "inUse": { - "description": "Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded catalog attributes that are neither in use by products nor predefined can be deleted. Catalog attributes that are either in use by products or are predefined attributes cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update.", + "description": "Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded catalog attributes that are neither in use by products nor predefined can be deleted. Catalog attributes that are either in use by products or are predefined attributes cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update.", "readOnly": true, "type": "boolean" }, @@ -4170,12 +4147,40 @@ }, "type": "object" }, + "GoogleCloudRetailV2alphaCollectUserEventRequest": { + "description": "Request message for CollectUserEvent method.", + "id": "GoogleCloudRetailV2alphaCollectUserEventRequest", + "properties": { + "ets": { + "description": "The event timestamp in milliseconds. This prevents browser caching of otherwise identical get requests. The name is abbreviated to reduce the payload bytes.", + "format": "int64", + "type": "string" + }, + "prebuiltRule": { + "description": "The prebuilt rule name that can convert a specific type of raw_json. For example: \"ga4_bq\" rule for the GA4 user event schema.", + "type": "string" + }, + "rawJson": { + "description": "An arbitrary serialized JSON string that contains necessary information that can comprise a user event. When this field is specified, the user_event field will be ignored. Note: line-delimited JSON is not supported, a single JSON only.", + "type": "string" + }, + "uri": { + "description": "The URL including cgi-parameters but excluding the hash fragment with a length limit of 5,000 characters. This is often more useful than the referer URL, because many browsers only send the domain for 3rd party requests.", + "type": "string" + }, + "userEvent": { + "description": "Required. URL encoded UserEvent proto with a length limit of 2,000,000 characters.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudRetailV2alphaColorInfo": { "description": "The color information of a Product.", "id": "GoogleCloudRetailV2alphaColorInfo", "properties": { "colorFamilies": { - "description": "The standard color families. Strongly recommended to use the following standard color groups: \"Red\", \"Pink\", \"Orange\", \"Yellow\", \"Purple\", \"Green\", \"Cyan\", \"Blue\", \"Brown\", \"White\", \"Gray\", \"Black\" and \"Mixed\". Normally it is expected to have only 1 color family. May consider using single \"Mixed\" instead of multiple values. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color).", + "description": "The standard color families. Strongly recommended to use the following standard color groups: \"Red\", \"Pink\", \"Orange\", \"Yellow\", \"Purple\", \"Green\", \"Cyan\", \"Blue\", \"Brown\", \"White\", \"Gray\", \"Black\" and \"Mixed\". Normally it is expected to have only 1 color family. May consider using single \"Mixed\" instead of multiple values. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). The colorFamilies field as a system attribute is not a required field but strongly recommended to be specified. Google Search models treat this field as more important than a custom product attribute when specified.", "items": { "type": "string" }, @@ -4604,7 +4609,7 @@ "type": "object" }, "GoogleCloudRetailV2alphaExperimentInfo": { - "description": "Metadata for active A/B testing Experiment.", + "description": "Metadata for active A/B testing experiment.", "id": "GoogleCloudRetailV2alphaExperimentInfo", "properties": { "experiment": { @@ -4623,7 +4628,7 @@ "id": "GoogleCloudRetailV2alphaExperimentInfoServingConfigExperiment", "properties": { "experimentServingConfig": { - "description": "The fully qualified resource name of the serving config Experiment.VariantArm.serving_config_id responsible for generating the search response. For example: `projects/*/locations/*/catalogs/*/servingConfigs/*`.", + "description": "The fully qualified resource name of the serving config `Experiment.VariantArm.serving_config_id` responsible for generating the search response. For example: `projects/*/locations/*/catalogs/*/servingConfigs/*`.", "type": "string" }, "originalServingConfig": { @@ -4902,7 +4907,7 @@ "type": "object" }, "GoogleCloudRetailV2alphaImage": { - "description": "Product image. Recommendations AI and Retail Search do not use product images to improve prediction and search results. However, product images can be returned in results, and are shown in prediction or search previews in the console.", + "description": "Product image. Recommendations AI and Retail Search use product images to improve prediction and search results. Product images can be returned in results, and are shown in prediction or search previews in the console. Please try to provide correct product images and avoid using images with size too small.", "id": "GoogleCloudRetailV2alphaImage", "properties": { "height": { @@ -5300,23 +5305,41 @@ "additionalProperties": { "$ref": "GoogleCloudRetailV2alphaCustomAttribute" }, - "description": "Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB.", + "description": "Optional. Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB.", "type": "object" }, + "availability": { + "description": "Optional. The availability of the Product at this place_id. Default to Availability.IN_STOCK. For primary products with variants set the availability of the primary as Availability.OUT_OF_STOCK and set the true availability at the variant level. This way the primary product will be considered \"in stock\" as long as it has at least one variant in stock. For primary products with no variants set the true availability at the primary level. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability).", + "enum": [ + "AVAILABILITY_UNSPECIFIED", + "IN_STOCK", + "OUT_OF_STOCK", + "PREORDER", + "BACKORDER" + ], + "enumDescriptions": [ + "Default product availability. Default to Availability.IN_STOCK if unset.", + "Product in stock.", + "Product out of stock.", + "Product that is in pre-order state.", + "Product that is back-ordered (i.e. temporarily out of stock)." + ], + "type": "string" + }, "fulfillmentTypes": { - "description": "Input only. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * \"pickup-in-store\" * \"ship-to-store\" * \"same-day-delivery\" * \"next-day-delivery\" * \"custom-type-1\" * \"custom-type-2\" * \"custom-type-3\" * \"custom-type-4\" * \"custom-type-5\" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned.", + "description": "Optional. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * \"pickup-in-store\" * \"ship-to-store\" * \"same-day-delivery\" * \"next-day-delivery\" * \"custom-type-1\" * \"custom-type-2\" * \"custom-type-3\" * \"custom-type-4\" * \"custom-type-5\" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned.", "items": { "type": "string" }, "type": "array" }, "placeId": { - "description": "The place ID for the current set of inventory information.", + "description": "Required. The place ID for the current set of inventory information.", "type": "string" }, "priceInfo": { "$ref": "GoogleCloudRetailV2alphaPriceInfo", - "description": "Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371)." + "description": "Optional. Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371)." } }, "type": "object" @@ -5864,6 +5887,41 @@ "properties": {}, "type": "object" }, + "GoogleCloudRetailV2alphaPinControlMetadata": { + "description": "Metadata for pinning to be returned in the response. This is used for distinguishing between applied vs dropped pins.", + "id": "GoogleCloudRetailV2alphaPinControlMetadata", + "properties": { + "allMatchedPins": { + "additionalProperties": { + "$ref": "GoogleCloudRetailV2alphaPinControlMetadataProductPins" + }, + "description": "Map of all matched pins, keyed by pin position.", + "type": "object" + }, + "droppedPins": { + "additionalProperties": { + "$ref": "GoogleCloudRetailV2alphaPinControlMetadataProductPins" + }, + "description": "Map of pins that were dropped due to overlap with other matching pins, keyed by pin position.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2alphaPinControlMetadataProductPins": { + "description": "List of product ids which have associated pins.", + "id": "GoogleCloudRetailV2alphaPinControlMetadataProductPins", + "properties": { + "productId": { + "description": "List of product ids which have associated pins.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudRetailV2alphaPredictRequest": { "description": "Request message for Predict method.", "id": "GoogleCloudRetailV2alphaPredictRequest", @@ -6172,7 +6230,7 @@ }, "retrievableFields": { "deprecated": true, - "description": "Indicates which fields in the Products are returned in SearchResponse. Supported fields for all types: * audience * availability * brands * color_info * conditions * gtin * materials * name * patterns * price_info * rating * sizes * title * uri Supported fields only for Type.PRIMARY and Type.COLLECTION: * categories * description * images Supported fields only for Type.VARIANT: * Only the first image in images To mark attributes as retrievable, include paths of the form \"attributes.key\" where \"key\" is the key of a custom attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION, the following fields are always returned in SearchResponse by default: * name For Type.VARIANT, the following fields are always returned in by default: * name * color_info The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is returned. Note: Returning more fields in SearchResponse can increase response payload size and serving latency. This field is deprecated. Use the retrievable site-wide control instead.", + "description": "Indicates which fields in the Products are returned in SearchResponse. Supported fields for all types: * audience * availability * brands * color_info * conditions * gtin * materials * name * patterns * price_info * rating * sizes * title * uri Supported fields only for Type.PRIMARY and Type.COLLECTION: * categories * description * images Supported fields only for Type.VARIANT: * Only the first image in images To mark attributes as retrievable, include paths of the form \"attributes.key\" where \"key\" is the key of a custom attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION, the following fields are always returned in SearchResponse by default: * name For Type.VARIANT, the following fields are always returned in by default: * name * color_info Note: Returning more fields in SearchResponse can increase response payload size and serving latency. This field is deprecated. Use the retrievable site-wide control instead.", "format": "google-fieldmask", "type": "string" }, @@ -6703,6 +6761,10 @@ "$ref": "GoogleCloudRetailV2alphaRuleOnewaySynonymsAction", "description": "Treats specific term as a synonym with a group of terms. Group of terms will not be treated as synonyms with the specific term." }, + "pinAction": { + "$ref": "GoogleCloudRetailV2alphaRulePinAction", + "description": "Pins one or more specified products to a specific position in the results." + }, "redirectAction": { "$ref": "GoogleCloudRetailV2alphaRuleRedirectAction", "description": "Redirects a shopper to a specific page." @@ -6849,6 +6911,20 @@ }, "type": "object" }, + "GoogleCloudRetailV2alphaRulePinAction": { + "description": "Pins one or more specified products to a specific position in the results. * Rule Condition: Must specify non-empty Condition.query_terms (for search only) or Condition.page_categories (for browse only), but can't specify both. * Action Input: mapping of `[pin_position, product_id]` pairs (pin position uses 1-based indexing). * Action Result: Will pin products with matching ids to the position specified in the final result order. Example: Suppose the query is `shoes`, the Condition.query_terms is `shoes` and the pin_map has `{1, \"pid1\"}`, then product with `pid1` will be pinned to the top position in the final results. If multiple PinActions are matched to a single request the actions will be processed from most to least recently updated. Pins to positions larger than the max allowed page size of 120 are not allowed.", + "id": "GoogleCloudRetailV2alphaRulePinAction", + "properties": { + "pinMap": { + "additionalProperties": { + "type": "string" + }, + "description": "Required. A map of positions to product_ids. Partial matches per action are allowed, if a certain position in the map is already filled that `[position, product_id]` pair will be ignored but the rest may still be applied. This case will only occur if multiple pin actions are matched to a single request, as the map guarantees that pin positions are unique within the same action. Duplicate product_ids are not permitted within a single pin map. The max size of this map is 120, equivalent to the max [request page size](https://cloud.google.com/retail/docs/reference/rest/v2/projects.locations.catalogs.placements/search#request-body).", + "type": "object" + } + }, + "type": "object" + }, "GoogleCloudRetailV2alphaRuleRedirectAction": { "description": "Redirects a shopper to a specific page. * Rule Condition: Must specify Condition.query_terms. * Action Input: Request Query * Action Result: Redirects shopper to provided uri.", "id": "GoogleCloudRetailV2alphaRuleRedirectAction", @@ -7351,7 +7427,7 @@ "type": "string" }, "experimentInfo": { - "description": "Metadata related to A/B testing Experiment associated with this response. Only exists when an experiment is triggered.", + "description": "Metadata related to A/B testing experiment associated with this response. Only exists when an experiment is triggered.", "items": { "$ref": "GoogleCloudRetailV2alphaExperimentInfo" }, @@ -7375,6 +7451,10 @@ "description": "A token that can be sent as SearchRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", "type": "string" }, + "pinControlMetadata": { + "$ref": "GoogleCloudRetailV2alphaPinControlMetadata", + "description": "Metadata for pin controls which were applicable to the request. This contains two map fields, one for all matched pins and one for pins which were matched but not applied. The two maps are keyed by pin position, and the values are the product ids which were matched to that pin." + }, "queryExpansionInfo": { "$ref": "GoogleCloudRetailV2alphaSearchResponseQueryExpansionInfo", "description": "Query expansion information for the returned results." @@ -8022,7 +8102,7 @@ "type": "string" }, "userAgent": { - "description": "User agent as included in the HTTP header. Required for getting SearchResponse.sponsored_results. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request is set.", + "description": "User agent as included in the HTTP header. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request is set.", "type": "string" }, "userId": { diff --git a/discovery/retail-v2beta.json b/discovery/retail-v2beta.json index 5f32bf6d94..39e97c5cfd 100644 --- a/discovery/retail-v2beta.json +++ b/discovery/retail-v2beta.json @@ -2047,49 +2047,26 @@ "userEvents": { "methods": { "collect": { - "description": "Writes a single user event from the browser. This uses a GET request to due to browser restriction of POST-ing to a 3rd party domain. This method is used only by the Retail API JavaScript pixel and Google Tag Manager. Users should not call this method directly.", + "description": "Writes a single user event from the browser. For larger user event payload over 16 KB, the POST method should be used instead, otherwise a 400 Bad Request error is returned. This method is used only by the Retail API JavaScript pixel and Google Tag Manager. Users should not call this method directly.", "flatPath": "v2beta/projects/{projectsId}/locations/{locationsId}/catalogs/{catalogsId}/userEvents:collect", - "httpMethod": "GET", + "httpMethod": "POST", "id": "retail.projects.locations.catalogs.userEvents.collect", "parameterOrder": [ "parent" ], "parameters": { - "ets": { - "description": "The event timestamp in milliseconds. This prevents browser caching of otherwise identical get requests. The name is abbreviated to reduce the payload bytes.", - "format": "int64", - "location": "query", - "type": "string" - }, "parent": { "description": "Required. The parent catalog name, such as `projects/1234/locations/global/catalogs/default_catalog`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+$", "required": true, "type": "string" - }, - "prebuiltRule": { - "description": "The prebuilt rule name that can convert a specific type of raw_json. For example: \"ga4_bq\" rule for the GA4 user event schema.", - "location": "query", - "type": "string" - }, - "rawJson": { - "description": "An arbitrary serialized JSON string that contains necessary information that can comprise a user event. When this field is specified, the user_event field will be ignored. Note: line-delimited JSON is not supported, a single JSON only.", - "location": "query", - "type": "string" - }, - "uri": { - "description": "The URL including cgi-parameters but excluding the hash fragment with a length limit of 5,000 characters. This is often more useful than the referer URL, because many browsers only send the domain for 3rd party requests.", - "location": "query", - "type": "string" - }, - "userEvent": { - "description": "Required. URL encoded UserEvent proto with a length limit of 2,000,000 characters.", - "location": "query", - "type": "string" } }, "path": "v2beta/{+parent}/userEvents:collect", + "request": { + "$ref": "GoogleCloudRetailV2betaCollectUserEventRequest" + }, "response": { "$ref": "GoogleApiHttpBody" }, @@ -2391,7 +2368,7 @@ } } }, - "revision": "20240920", + "revision": "20250107", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -4115,7 +4092,7 @@ "enumDescriptions": [ "Value used when unset. In this case, server behavior defaults to CATALOG_LEVEL_ATTRIBUTE_CONFIG.", "At this level, we honor the attribute configurations set in Product.attributes.", - "At this level, we honor the attribute configurations set in CatalogConfig.attribute_configs." + "At this level, we honor the attribute configurations set in `CatalogConfig.attribute_configs`." ], "readOnly": true, "type": "string" @@ -4251,7 +4228,7 @@ }, "partitionDate": { "$ref": "GoogleTypeDate", - "description": "BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest." + "description": "BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format." }, "projectId": { "description": "The project ID (can be project # or ID) that the BigQuery source is in with a length limit of 128 characters. If not specified, inherits the project ID from the parent request.", @@ -4324,7 +4301,7 @@ "description": "Contains facet options." }, "inUse": { - "description": "Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded catalog attributes that are neither in use by products nor predefined can be deleted. Catalog attributes that are either in use by products or are predefined attributes cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update.", + "description": "Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded catalog attributes that are neither in use by products nor predefined can be deleted. Catalog attributes that are either in use by products or are predefined attributes cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update.", "readOnly": true, "type": "boolean" }, @@ -4513,12 +4490,40 @@ }, "type": "object" }, + "GoogleCloudRetailV2betaCollectUserEventRequest": { + "description": "Request message for CollectUserEvent method.", + "id": "GoogleCloudRetailV2betaCollectUserEventRequest", + "properties": { + "ets": { + "description": "The event timestamp in milliseconds. This prevents browser caching of otherwise identical get requests. The name is abbreviated to reduce the payload bytes.", + "format": "int64", + "type": "string" + }, + "prebuiltRule": { + "description": "The prebuilt rule name that can convert a specific type of raw_json. For example: \"ga4_bq\" rule for the GA4 user event schema.", + "type": "string" + }, + "rawJson": { + "description": "An arbitrary serialized JSON string that contains necessary information that can comprise a user event. When this field is specified, the user_event field will be ignored. Note: line-delimited JSON is not supported, a single JSON only.", + "type": "string" + }, + "uri": { + "description": "The URL including cgi-parameters but excluding the hash fragment with a length limit of 5,000 characters. This is often more useful than the referer URL, because many browsers only send the domain for 3rd party requests.", + "type": "string" + }, + "userEvent": { + "description": "Required. URL encoded UserEvent proto with a length limit of 2,000,000 characters.", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudRetailV2betaColorInfo": { "description": "The color information of a Product.", "id": "GoogleCloudRetailV2betaColorInfo", "properties": { "colorFamilies": { - "description": "The standard color families. Strongly recommended to use the following standard color groups: \"Red\", \"Pink\", \"Orange\", \"Yellow\", \"Purple\", \"Green\", \"Cyan\", \"Blue\", \"Brown\", \"White\", \"Gray\", \"Black\" and \"Mixed\". Normally it is expected to have only 1 color family. May consider using single \"Mixed\" instead of multiple values. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color).", + "description": "The standard color families. Strongly recommended to use the following standard color groups: \"Red\", \"Pink\", \"Orange\", \"Yellow\", \"Purple\", \"Green\", \"Cyan\", \"Blue\", \"Brown\", \"White\", \"Gray\", \"Black\" and \"Mixed\". Normally it is expected to have only 1 color family. May consider using single \"Mixed\" instead of multiple values. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). The colorFamilies field as a system attribute is not a required field but strongly recommended to be specified. Google Search models treat this field as more important than a custom product attribute when specified.", "items": { "type": "string" }, @@ -4870,7 +4875,7 @@ "type": "object" }, "GoogleCloudRetailV2betaExperimentInfo": { - "description": "Metadata for active A/B testing Experiment.", + "description": "Metadata for active A/B testing experiment.", "id": "GoogleCloudRetailV2betaExperimentInfo", "properties": { "experiment": { @@ -4889,7 +4894,7 @@ "id": "GoogleCloudRetailV2betaExperimentInfoServingConfigExperiment", "properties": { "experimentServingConfig": { - "description": "The fully qualified resource name of the serving config Experiment.VariantArm.serving_config_id responsible for generating the search response. For example: `projects/*/locations/*/catalogs/*/servingConfigs/*`.", + "description": "The fully qualified resource name of the serving config `Experiment.VariantArm.serving_config_id` responsible for generating the search response. For example: `projects/*/locations/*/catalogs/*/servingConfigs/*`.", "type": "string" }, "originalServingConfig": { @@ -5168,7 +5173,7 @@ "type": "object" }, "GoogleCloudRetailV2betaImage": { - "description": "Product image. Recommendations AI and Retail Search do not use product images to improve prediction and search results. However, product images can be returned in results, and are shown in prediction or search previews in the console.", + "description": "Product image. Recommendations AI and Retail Search use product images to improve prediction and search results. Product images can be returned in results, and are shown in prediction or search previews in the console. Please try to provide correct product images and avoid using images with size too small.", "id": "GoogleCloudRetailV2betaImage", "properties": { "height": { @@ -5501,23 +5506,41 @@ "additionalProperties": { "$ref": "GoogleCloudRetailV2betaCustomAttribute" }, - "description": "Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB.", + "description": "Optional. Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB.", "type": "object" }, + "availability": { + "description": "Optional. The availability of the Product at this place_id. Default to Availability.IN_STOCK. For primary products with variants set the availability of the primary as Availability.OUT_OF_STOCK and set the true availability at the variant level. This way the primary product will be considered \"in stock\" as long as it has at least one variant in stock. For primary products with no variants set the true availability at the primary level. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability).", + "enum": [ + "AVAILABILITY_UNSPECIFIED", + "IN_STOCK", + "OUT_OF_STOCK", + "PREORDER", + "BACKORDER" + ], + "enumDescriptions": [ + "Default product availability. Default to Availability.IN_STOCK if unset.", + "Product in stock.", + "Product out of stock.", + "Product that is in pre-order state.", + "Product that is back-ordered (i.e. temporarily out of stock)." + ], + "type": "string" + }, "fulfillmentTypes": { - "description": "Input only. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * \"pickup-in-store\" * \"ship-to-store\" * \"same-day-delivery\" * \"next-day-delivery\" * \"custom-type-1\" * \"custom-type-2\" * \"custom-type-3\" * \"custom-type-4\" * \"custom-type-5\" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned.", + "description": "Optional. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * \"pickup-in-store\" * \"ship-to-store\" * \"same-day-delivery\" * \"next-day-delivery\" * \"custom-type-1\" * \"custom-type-2\" * \"custom-type-3\" * \"custom-type-4\" * \"custom-type-5\" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned.", "items": { "type": "string" }, "type": "array" }, "placeId": { - "description": "The place ID for the current set of inventory information.", + "description": "Required. The place ID for the current set of inventory information.", "type": "string" }, "priceInfo": { "$ref": "GoogleCloudRetailV2betaPriceInfo", - "description": "Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371)." + "description": "Optional. Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371)." } }, "type": "object" @@ -5842,6 +5865,41 @@ "properties": {}, "type": "object" }, + "GoogleCloudRetailV2betaPinControlMetadata": { + "description": "Metadata for pinning to be returned in the response. This is used for distinguishing between applied vs dropped pins.", + "id": "GoogleCloudRetailV2betaPinControlMetadata", + "properties": { + "allMatchedPins": { + "additionalProperties": { + "$ref": "GoogleCloudRetailV2betaPinControlMetadataProductPins" + }, + "description": "Map of all matched pins, keyed by pin position.", + "type": "object" + }, + "droppedPins": { + "additionalProperties": { + "$ref": "GoogleCloudRetailV2betaPinControlMetadataProductPins" + }, + "description": "Map of pins that were dropped due to overlap with other matching pins, keyed by pin position.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleCloudRetailV2betaPinControlMetadataProductPins": { + "description": "List of product ids which have associated pins.", + "id": "GoogleCloudRetailV2betaPinControlMetadataProductPins", + "properties": { + "productId": { + "description": "List of product ids which have associated pins.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudRetailV2betaPredictRequest": { "description": "Request message for Predict method.", "id": "GoogleCloudRetailV2betaPredictRequest", @@ -6150,7 +6208,7 @@ }, "retrievableFields": { "deprecated": true, - "description": "Indicates which fields in the Products are returned in SearchResponse. Supported fields for all types: * audience * availability * brands * color_info * conditions * gtin * materials * name * patterns * price_info * rating * sizes * title * uri Supported fields only for Type.PRIMARY and Type.COLLECTION: * categories * description * images Supported fields only for Type.VARIANT: * Only the first image in images To mark attributes as retrievable, include paths of the form \"attributes.key\" where \"key\" is the key of a custom attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION, the following fields are always returned in SearchResponse by default: * name For Type.VARIANT, the following fields are always returned in by default: * name * color_info The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is returned. Note: Returning more fields in SearchResponse can increase response payload size and serving latency. This field is deprecated. Use the retrievable site-wide control instead.", + "description": "Indicates which fields in the Products are returned in SearchResponse. Supported fields for all types: * audience * availability * brands * color_info * conditions * gtin * materials * name * patterns * price_info * rating * sizes * title * uri Supported fields only for Type.PRIMARY and Type.COLLECTION: * categories * description * images Supported fields only for Type.VARIANT: * Only the first image in images To mark attributes as retrievable, include paths of the form \"attributes.key\" where \"key\" is the key of a custom attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION, the following fields are always returned in SearchResponse by default: * name For Type.VARIANT, the following fields are always returned in by default: * name * color_info Note: Returning more fields in SearchResponse can increase response payload size and serving latency. This field is deprecated. Use the retrievable site-wide control instead.", "format": "google-fieldmask", "type": "string" }, @@ -6651,6 +6709,10 @@ "$ref": "GoogleCloudRetailV2betaRuleOnewaySynonymsAction", "description": "Treats specific term as a synonym with a group of terms. Group of terms will not be treated as synonyms with the specific term." }, + "pinAction": { + "$ref": "GoogleCloudRetailV2betaRulePinAction", + "description": "Pins one or more specified products to a specific position in the results." + }, "redirectAction": { "$ref": "GoogleCloudRetailV2betaRuleRedirectAction", "description": "Redirects a shopper to a specific page." @@ -6797,6 +6859,20 @@ }, "type": "object" }, + "GoogleCloudRetailV2betaRulePinAction": { + "description": "Pins one or more specified products to a specific position in the results. * Rule Condition: Must specify non-empty Condition.query_terms (for search only) or Condition.page_categories (for browse only), but can't specify both. * Action Input: mapping of `[pin_position, product_id]` pairs (pin position uses 1-based indexing). * Action Result: Will pin products with matching ids to the position specified in the final result order. Example: Suppose the query is `shoes`, the Condition.query_terms is `shoes` and the pin_map has `{1, \"pid1\"}`, then product with `pid1` will be pinned to the top position in the final results. If multiple PinActions are matched to a single request the actions will be processed from most to least recently updated. Pins to positions larger than the max allowed page size of 120 are not allowed.", + "id": "GoogleCloudRetailV2betaRulePinAction", + "properties": { + "pinMap": { + "additionalProperties": { + "type": "string" + }, + "description": "Required. A map of positions to product_ids. Partial matches per action are allowed, if a certain position in the map is already filled that `[position, product_id]` pair will be ignored but the rest may still be applied. This case will only occur if multiple pin actions are matched to a single request, as the map guarantees that pin positions are unique within the same action. Duplicate product_ids are not permitted within a single pin map. The max size of this map is 120, equivalent to the max [request page size](https://cloud.google.com/retail/docs/reference/rest/v2/projects.locations.catalogs.placements/search#request-body).", + "type": "object" + } + }, + "type": "object" + }, "GoogleCloudRetailV2betaRuleRedirectAction": { "description": "Redirects a shopper to a specific page. * Rule Condition: Must specify Condition.query_terms. * Action Input: Request Query * Action Result: Redirects shopper to provided uri.", "id": "GoogleCloudRetailV2betaRuleRedirectAction", @@ -7281,7 +7357,7 @@ "type": "string" }, "experimentInfo": { - "description": "Metadata related to A/B testing Experiment associated with this response. Only exists when an experiment is triggered.", + "description": "Metadata related to A/B testing experiment associated with this response. Only exists when an experiment is triggered.", "items": { "$ref": "GoogleCloudRetailV2betaExperimentInfo" }, @@ -7305,6 +7381,10 @@ "description": "A token that can be sent as SearchRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages.", "type": "string" }, + "pinControlMetadata": { + "$ref": "GoogleCloudRetailV2betaPinControlMetadata", + "description": "Metadata for pin controls which were applicable to the request. This contains two map fields, one for all matched pins and one for pins which were matched but not applied. The two maps are keyed by pin position, and the values are the product ids which were matched to that pin." + }, "queryExpansionInfo": { "$ref": "GoogleCloudRetailV2betaSearchResponseQueryExpansionInfo", "description": "Query expansion information for the returned results." @@ -7935,7 +8015,7 @@ "type": "string" }, "userAgent": { - "description": "User agent as included in the HTTP header. Required for getting SearchResponse.sponsored_results. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request is set.", + "description": "User agent as included in the HTTP header. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request is set.", "type": "string" }, "userId": { diff --git a/discovery/run-v1.json b/discovery/run-v1.json index 4b38f83514..47696547c2 100644 --- a/discovery/run-v1.json +++ b/discovery/run-v1.json @@ -2614,7 +2614,7 @@ } } }, - "revision": "20240927", + "revision": "20241004", "rootUrl": "https://run.googleapis.com/", "schemas": { "Addressable": { @@ -5383,7 +5383,7 @@ "additionalProperties": { "type": "string" }, - "description": "Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with 'run.googleapis.com/' and 'autoscaling.knative.dev' are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service. * `run.googleapis.com/build-id`: Service. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/ingress`: Service. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution. * `run.googleapis.com/vpc-access-egress`: Revision, Execution.", + "description": "Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with 'run.googleapis.com/' and 'autoscaling.knative.dev' are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service. * `run.googleapis.com/build-id`: Service. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution. * `run.googleapis.com/vpc-access-egress`: Revision, Execution.", "type": "object" }, "clusterName": { @@ -5770,7 +5770,7 @@ "properties": { "metadata": { "$ref": "ObjectMeta", - "description": "Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`." + "description": "Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/health-check-disabled`: if true, deploy-time startup probes will not run for this revision. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`." }, "spec": { "$ref": "RevisionSpec", diff --git a/discovery/run-v2.json b/discovery/run-v2.json index 7c80c2bd79..7446b0459c 100644 --- a/discovery/run-v2.json +++ b/discovery/run-v2.json @@ -428,7 +428,7 @@ ], "parameters": { "parent": { - "description": "Required. The project and location to build in. Location must be a region, e.g., 'us-central1' or 'global' if the global builder is to be used. Format: projects/{project}/locations/{location}", + "description": "Required. The project and location to build in. Location must be a region, e.g., 'us-central1' or 'global' if the global builder is to be used. Format: `projects/{project}/locations/{location}`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -1526,7 +1526,7 @@ } } }, - "revision": "20240927", + "revision": "20250103", "rootUrl": "https://run.googleapis.com/", "schemas": { "GoogleCloudRunV2BinaryAuthorization": { @@ -1538,7 +1538,7 @@ "type": "string" }, "policy": { - "description": "Optional. The path to a binary authorization policy. Format: projects/{project}/platforms/cloudRun/{policy-name}", + "description": "Optional. The path to a binary authorization policy. Format: `projects/{project}/platforms/cloudRun/{policy-name}`", "type": "string" }, "useDefault": { @@ -1575,6 +1575,10 @@ "description": "Optional. Name of the function target if the source is a function source. Required for function builds.", "type": "string" }, + "projectDescriptor": { + "description": "Optional. project_descriptor stores the path to the project descriptor file. When empty, it means that there is no project descriptor file in the source.", + "type": "string" + }, "runtime": { "deprecated": true, "description": "The runtime name, e.g. 'go113'. Leave blank for generic builds.", @@ -2267,6 +2271,13 @@ "description": "Cloud Storage Bucket name.", "type": "string" }, + "mountOptions": { + "description": "A list of additional flags to pass to the gcsfuse CLI. Options should be specified without the leading \"--\".", + "items": { + "type": "string" + }, + "type": "array" + }, "readOnly": { "description": "If true, the volume will be mounted as read only for all mounts.", "type": "boolean" @@ -3030,6 +3041,25 @@ "description": "A reference to a customer managed encryption key (CMEK) to use to encrypt this container image. For more information, go to https://cloud.google.com/run/docs/securing/using-cmek", "type": "string" }, + "encryptionKeyRevocationAction": { + "description": "Optional. The action to take if the encryption key is revoked.", + "enum": [ + "ENCRYPTION_KEY_REVOCATION_ACTION_UNSPECIFIED", + "PREVENT_NEW", + "SHUTDOWN" + ], + "enumDescriptions": [ + "Unspecified", + "Prevents the creation of new instances.", + "Shuts down existing instances, and prevents creation of new ones." + ], + "type": "string" + }, + "encryptionKeyShutdownDuration": { + "description": "Optional. If encryption_key_revocation_action is SHUTDOWN, the duration before shutting down all instances. The minimum increment is 1 hour.", + "format": "google-duration", + "type": "string" + }, "executionEnvironment": { "description": "Optional. The sandbox environment to host this Revision.", "enum": [ @@ -3056,7 +3086,7 @@ "type": "object" }, "maxInstanceRequestConcurrency": { - "description": "Optional. Sets the maximum number of requests that each serving instance can receive. If not specified or 0, defaults to 80 when requested CPU >= 1 and defaults to 1 when requested CPU < 1.", + "description": "Optional. Sets the maximum number of requests that each serving instance can receive. If not specified or 0, concurrency defaults to 80 when requested `CPU >= 1` and defaults to 1 when requested `CPU < 1`.", "format": "int32", "type": "integer" }, @@ -3142,7 +3172,7 @@ "id": "GoogleCloudRunV2SecretVolumeSource", "properties": { "defaultMode": { - "description": "Integer representation of mode bits to use on created files by default. Must be a value between 0000 and 0777 (octal), defaulting to 0444. Directories within the path are not affected by this setting. Notes * Internally, a umask of 0222 will be applied to any non-zero value. * This is an integer representation of the mode bits. So, the octal integer value should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod 777 (a=rwx), set to 0777 (octal) or 511 (base-10). For chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 (base-10). * This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. This might be in conflict with other options that affect the file mode, like fsGroup, and as a result, other mode bits could be set.", + "description": "Integer representation of mode bits to use on created files by default. Must be a value between 0000 and 0777 (octal), defaulting to 0444. Directories within the path are not affected by this setting. Notes * Internally, a umask of 0222 will be applied to any non-zero value. * This is an integer representation of the mode bits. So, the octal integer value should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 (base-10). * This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. This might be in conflict with other options that affect the file mode, like fsGroup, and as a result, other mode bits could be set.", "format": "int32", "type": "integer" }, @@ -3259,7 +3289,7 @@ "type": "string" }, "invokerIamDisabled": { - "description": "Optional. Disables IAM permission check for run.routes.invoke for callers of this service. This setting should not be used with external ingress.", + "description": "Optional. Disables IAM permission check for run.routes.invoke for callers of this service. This feature is available by invitation only. For more information, visit https://cloud.google.com/run/docs/securing/managing-access#invoker_check.", "type": "boolean" }, "labels": { @@ -3388,7 +3418,7 @@ "id": "GoogleCloudRunV2ServiceMesh", "properties": { "mesh": { - "description": "The Mesh resource name. Format: projects/{project}/locations/global/meshes/{mesh}, where {project} can be project id or number.", + "description": "The Mesh resource name. Format: `projects/{project}/locations/global/meshes/{mesh}`, where `{project}` can be project id or number.", "type": "string" } }, @@ -3398,6 +3428,16 @@ "description": "Scaling settings applied at the service level rather than at the revision level.", "id": "GoogleCloudRunV2ServiceScaling", "properties": { + "manualInstanceCount": { + "description": "Optional. total instance count for the service in manual scaling mode. This number of instances is divided among all revisions with specified traffic based on the percent of traffic they are receiving.", + "format": "int32", + "type": "integer" + }, + "maxInstanceCount": { + "description": "Optional. total max instances for the service. This number of instances is divided among all revisions with specified traffic based on the percent of traffic they are receiving.", + "format": "int32", + "type": "integer" + }, "minInstanceCount": { "description": "Optional. total min instances for the service. This number of instances is divided among all revisions with specified traffic based on the percent of traffic they are receiving.", "format": "int32", @@ -3472,7 +3512,7 @@ "type": "array" }, "workerPool": { - "description": "Optional. Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where {project} and {region} are the project id and region respectively where the worker pool is defined and {workerPool} is the short name of the worker pool.", + "description": "Optional. Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project}/locations/{region}/workerPools/{workerPool}` where `{project}` and `{region}` are the project id and region respectively where the worker pool is defined and `{workerPool}` is the short name of the worker pool.", "type": "string" } }, @@ -3855,7 +3895,7 @@ "id": "GoogleCloudRunV2VersionToPath", "properties": { "mode": { - "description": "Integer octal mode bits to use on this file, must be a value between 01 and 0777 (octal). If 0 or not set, the Volume's default mode will be used. Notes * Internally, a umask of 0222 will be applied to any non-zero value. * This is an integer representation of the mode bits. So, the octal integer value should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod 777 (a=rwx), set to 0777 (octal) or 511 (base-10). For chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 (base-10). * This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.", + "description": "Integer octal mode bits to use on this file, must be a value between 01 and 0777 (octal). If 0 or not set, the Volume's default mode will be used. Notes * Internally, a umask of 0222 will be applied to any non-zero value. * This is an integer representation of the mode bits. So, the octal integer value should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 (base-10). * This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.", "format": "int32", "type": "integer" }, @@ -3921,7 +3961,7 @@ "id": "GoogleCloudRunV2VpcAccess", "properties": { "connector": { - "description": "VPC Access connector name. Format: projects/{project}/locations/{location}/connectors/{connector}, where {project} can be project id or number. For more information on sending traffic to a VPC network via a connector, visit https://cloud.google.com/run/docs/configuring/vpc-connectors.", + "description": "VPC Access connector name. Format: `projects/{project}/locations/{location}/connectors/{connector}`, where `{project}` can be project id or number. For more information on sending traffic to a VPC network via a connector, visit https://cloud.google.com/run/docs/configuring/vpc-connectors.", "type": "string" }, "egress": { @@ -5558,12 +5598,12 @@ "type": "integer" }, "message": { - "description": "Detail message", + "description": "Detail message copybara:strip_begin(b/383363683) copybara:strip_end_and_replace optional string message = 3;", "type": "string" }, "messageSet": { "$ref": "Proto2BridgeMessageSet", - "description": "message_set associates an arbitrary proto message with the status." + "description": "message_set associates an arbitrary proto message with the status. copybara:strip_begin(b/383363683) copybara:strip_end_and_replace optional proto2.bridge.MessageSet message_set = 5;" }, "space": { "description": "The following are usually only present when code != 0 Space to which this status belongs", diff --git a/discovery/runtimeconfig-v1.json b/discovery/runtimeconfig-v1.json index 78fe669a57..08d856d04d 100644 --- a/discovery/runtimeconfig-v1.json +++ b/discovery/runtimeconfig-v1.json @@ -111,7 +111,7 @@ "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`.", + "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": "runtimeconfig.operations.cancel", @@ -210,7 +210,7 @@ } } }, - "revision": "20230806", + "revision": "20241219", "rootUrl": "https://runtimeconfig.googleapis.com/", "schemas": { "CancelOperationRequest": { diff --git a/discovery/searchads360-v0.json b/discovery/searchads360-v0.json index 22fd45fb47..ae3328c6d7 100644 --- a/discovery/searchads360-v0.json +++ b/discovery/searchads360-v0.json @@ -260,7 +260,7 @@ } } }, - "revision": "20241002", + "revision": "20241108", "rootUrl": "https://searchads360.googleapis.com/", "schemas": { "GoogleAdsSearchads360V0Common__AdScheduleInfo": { @@ -4225,6 +4225,14 @@ "readOnly": true, "type": "string" }, + "effectiveLabels": { + "description": "Output only. The resource names of effective labels attached to this ad. An effective label is a label inherited or directly assigned to this ad.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, "engineId": { "description": "Output only. ID of the ad in the external engine account. This field is for Search Ads 360 account only, for example, Yahoo Japan, Microsoft, Baidu etc. For non-Search Ads 360 entity, use \"ad_group_ad.ad.id\" instead.", "readOnly": true, @@ -4336,6 +4344,31 @@ }, "type": "object" }, + "GoogleAdsSearchads360V0Resources__AdGroupAdEffectiveLabel": { + "description": "A relationship between an ad group ad and an effective label. An effective label is a label inherited or directly assigned to this ad group ad.", + "id": "GoogleAdsSearchads360V0Resources__AdGroupAdEffectiveLabel", + "properties": { + "adGroupAd": { + "description": "Immutable. The ad group ad to which the effective label is attached.", + "type": "string" + }, + "label": { + "description": "Immutable. The effective label assigned to the ad group ad.", + "type": "string" + }, + "ownerCustomerId": { + "description": "Output only. The ID of the Customer which owns the effective label.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the ad group ad effective label. Ad group ad effective label resource names have the form: `customers/{customer_id}/adGroupAdEffectiveLabels/{ad_group_id}~{ad_id}~{label_id}`", + "type": "string" + } + }, + "type": "object" + }, "GoogleAdsSearchads360V0Resources__AdGroupAdLabel": { "description": "A relationship between an ad group ad and a label.", "id": "GoogleAdsSearchads360V0Resources__AdGroupAdLabel", @@ -4505,6 +4538,14 @@ "readOnly": true, "type": "string" }, + "effectiveLabels": { + "description": "Output only. The resource names of effective labels attached to this ad group criterion. An effective label is a label inherited or directly assigned to this ad group criterion.", + "items": { + "type": "string" + }, + "readOnly": true, + "type": "array" + }, "engineId": { "description": "Output only. ID of the ad group criterion in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use \"ad_group_criterion.criterion_id\" instead.", "readOnly": true, @@ -4764,6 +4805,31 @@ }, "type": "object" }, + "GoogleAdsSearchads360V0Resources__AdGroupCriterionEffectiveLabel": { + "description": "A relationship between an ad group criterion and an effective label. An effective label is a label inherited or directly assigned to this ad group criterion.", + "id": "GoogleAdsSearchads360V0Resources__AdGroupCriterionEffectiveLabel", + "properties": { + "adGroupCriterion": { + "description": "Immutable. The ad group criterion to which the effective label is attached.", + "type": "string" + }, + "label": { + "description": "Immutable. The effective label assigned to the ad group criterion.", + "type": "string" + }, + "ownerCustomerId": { + "description": "Output only. The ID of the Customer which owns the effective label.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Immutable. The resource name of the ad group criterion effective label. Ad group criterion effective label resource names have the form: `customers/{customer_id}/adGroupCriterionEffectiveLabels/{ad_group_id}~{criterion_id}~{label_id}`", + "type": "string" + } + }, + "type": "object" + }, "GoogleAdsSearchads360V0Resources__AdGroupCriterionLabel": { "description": "A relationship between an ad group criterion and a label.", "id": "GoogleAdsSearchads360V0Resources__AdGroupCriterionLabel", @@ -8099,6 +8165,29 @@ }, "type": "object" }, + "GoogleAdsSearchads360V0Resources__UserLocationView": { + "description": "A user location view. User Location View includes all metrics aggregated at the country level, one row per country. It reports metrics at the actual physical location of the user by targeted or not targeted location. If other segment fields are used, you may get more than one row per country.", + "id": "GoogleAdsSearchads360V0Resources__UserLocationView", + "properties": { + "countryCriterionId": { + "description": "Output only. Criterion Id for the country.", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Output only. The resource name of the user location view. UserLocation view resource names have the form: `customers/{customer_id}/userLocationViews/{country_criterion_id}~{targeting_location}`", + "readOnly": true, + "type": "string" + }, + "targetingLocation": { + "description": "Output only. Indicates whether location was targeted or not.", + "readOnly": true, + "type": "boolean" + } + }, + "type": "object" + }, "GoogleAdsSearchads360V0Resources__Visit": { "description": "A visit.", "id": "GoogleAdsSearchads360V0Resources__Visit", @@ -8397,6 +8486,10 @@ "$ref": "GoogleAdsSearchads360V0Resources__AdGroupAd", "description": "The ad referenced in the query." }, + "adGroupAdEffectiveLabel": { + "$ref": "GoogleAdsSearchads360V0Resources__AdGroupAdEffectiveLabel", + "description": "The ad group ad effective label referenced in the query." + }, "adGroupAdLabel": { "$ref": "GoogleAdsSearchads360V0Resources__AdGroupAdLabel", "description": "The ad group ad label referenced in the query." @@ -8421,6 +8514,10 @@ "$ref": "GoogleAdsSearchads360V0Resources__AdGroupCriterion", "description": "The criterion referenced in the query." }, + "adGroupCriterionEffectiveLabel": { + "$ref": "GoogleAdsSearchads360V0Resources__AdGroupCriterionEffectiveLabel", + "description": "The ad group criterion effective label referenced in the query." + }, "adGroupCriterionLabel": { "$ref": "GoogleAdsSearchads360V0Resources__AdGroupCriterionLabel", "description": "The ad group criterion label referenced in the query." @@ -8604,6 +8701,10 @@ "$ref": "GoogleAdsSearchads360V0Resources__UserList", "description": "The user list referenced in the query." }, + "userLocationView": { + "$ref": "GoogleAdsSearchads360V0Resources__UserLocationView", + "description": "The user location view referenced in the query." + }, "visit": { "$ref": "GoogleAdsSearchads360V0Resources__Visit", "description": "The event level visit referenced in the query." diff --git a/discovery/secretmanager-v1.json b/discovery/secretmanager-v1.json index e99cc4ee09..22d3ef11dd 100644 --- a/discovery/secretmanager-v1.json +++ b/discovery/secretmanager-v1.json @@ -1190,7 +1190,7 @@ } } }, - "revision": "20240924", + "revision": "20241114", "rootUrl": "https://secretmanager.googleapis.com/", "schemas": { "AccessSecretVersionResponse": { @@ -1821,7 +1821,7 @@ "type": "object" }, "UserManaged": { - "description": "A replication policy that replicates the Secret payload into the locations specified in Secret.replication.user_managed.replicas", + "description": "A replication policy that replicates the Secret payload into the locations specified in Replication.UserManaged.replicas", "id": "UserManaged", "properties": { "replicas": { diff --git a/discovery/secretmanager-v1beta1.json b/discovery/secretmanager-v1beta1.json index cf48bdae6d..3400facd8b 100644 --- a/discovery/secretmanager-v1beta1.json +++ b/discovery/secretmanager-v1beta1.json @@ -710,7 +710,7 @@ } } }, - "revision": "20240726", + "revision": "20241209", "rootUrl": "https://secretmanager.googleapis.com/", "schemas": { "AccessSecretVersionResponse": { @@ -1144,7 +1144,7 @@ "type": "object" }, "UserManaged": { - "description": "A replication policy that replicates the Secret payload into the locations specified in Secret.replication.user_managed.replicas", + "description": "A replication policy that replicates the Secret payload into the locations specified in Replication.UserManaged.replicas", "id": "UserManaged", "properties": { "replicas": { diff --git a/discovery/secretmanager-v1beta2.json b/discovery/secretmanager-v1beta2.json index b51c46cac6..466fdeb78e 100644 --- a/discovery/secretmanager-v1beta2.json +++ b/discovery/secretmanager-v1beta2.json @@ -1190,7 +1190,7 @@ } } }, - "revision": "20240726", + "revision": "20241114", "rootUrl": "https://secretmanager.googleapis.com/", "schemas": { "AccessSecretVersionResponse": { @@ -1821,7 +1821,7 @@ "type": "object" }, "UserManaged": { - "description": "A replication policy that replicates the Secret payload into the locations specified in Secret.replication.user_managed.replicas", + "description": "A replication policy that replicates the Secret payload into the locations specified in Replication.UserManaged.replicas", "id": "UserManaged", "properties": { "replicas": { diff --git a/discovery/securitycenter-v1.json b/discovery/securitycenter-v1.json index f9e07e8fef..6e266226df 100644 --- a/discovery/securitycenter-v1.json +++ b/discovery/securitycenter-v1.json @@ -20,6 +20,16 @@ "description": "Regional Endpoint", "endpointUrl": "https://securitycenter.me-central2.rep.googleapis.com/", "location": "me-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://securitycenter.us.rep.googleapis.com/", + "location": "us" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://securitycenter.eu.rep.googleapis.com/", + "location": "eu" } ], "fullyEncodeReservedExpansion": true, @@ -1499,6 +1509,7 @@ ], "parameters": { "compareDuration": { + "deprecated": true, "description": "When compare_duration is set, the ListFindingsResult's \"state_change\" attribute is updated to indicate whether the finding had its state changed, the finding's state remained unchanged, or if the finding was added in any state during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence and state of the finding at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the finding is made inactive and then active again. Possible \"state_change\" values when compare_duration is specified: * \"CHANGED\": indicates that the finding was present and matched the given filter at the start of compare_duration, but changed its state at read_time. * \"UNCHANGED\": indicates that the finding was present and matched the given filter at the start of compare_duration and did not change state at read_time. * \"ADDED\": indicates that the finding did not match the given filter or was not present at the start of compare_duration, but was present at read_time. * \"REMOVED\": indicates that the finding was present and matched the filter at the start of compare_duration, but did not match the filter at read_time. If compare_duration is not specified, then the only possible state_change is \"UNUSED\", which will be the state_change set for all findings present at read_time.", "format": "google-duration", "location": "query", @@ -1539,6 +1550,7 @@ "type": "string" }, "readTime": { + "deprecated": true, "description": "Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", "format": "google-datetime", "location": "query", @@ -1959,6 +1971,51 @@ } } }, + "attackPaths": { + "methods": { + "list": { + "description": "Lists the attack paths for a set of simulation results or valued resources and filter.", + "flatPath": "v1/organizations/{organizationsId}/attackPaths", + "httpMethod": "GET", + "id": "securitycenter.organizations.attackPaths.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "The filter expression that filters the attack path in the response. Supported fields: * `valued_resources` supports =", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The value returned by the last `ListAttackPathsResponse`; indicates that this is a continuation of a prior `ListAttackPaths` call, and that the system should return the next page of data.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Name of parent to list attack paths. Valid formats: `organizations/{organization}`, `organizations/{organization}/simulations/{simulation}` `organizations/{organization}/simulations/{simulation}/attackExposureResults/{attack_exposure_result_v2}` `organizations/{organization}/simulations/{simulation}/valuedResources/{valued_resource}`", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/attackPaths", + "response": { + "$ref": "ListAttackPathsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, "bigQueryExports": { "methods": { "create": { @@ -2844,7 +2901,7 @@ "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`.", + "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/organizations/{organizationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "securitycenter.organizations.operations.cancel", @@ -3979,6 +4036,7 @@ ], "parameters": { "compareDuration": { + "deprecated": true, "description": "When compare_duration is set, the ListFindingsResult's \"state_change\" attribute is updated to indicate whether the finding had its state changed, the finding's state remained unchanged, or if the finding was added in any state during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence and state of the finding at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the finding is made inactive and then active again. Possible \"state_change\" values when compare_duration is specified: * \"CHANGED\": indicates that the finding was present and matched the given filter at the start of compare_duration, but changed its state at read_time. * \"UNCHANGED\": indicates that the finding was present and matched the given filter at the start of compare_duration and did not change state at read_time. * \"ADDED\": indicates that the finding did not match the given filter or was not present at the start of compare_duration, but was present at read_time. * \"REMOVED\": indicates that the finding was present and matched the filter at the start of compare_duration, but did not match the filter at read_time. If compare_duration is not specified, then the only possible state_change is \"UNUSED\", which will be the state_change set for all findings present at read_time.", "format": "google-duration", "location": "query", @@ -4019,6 +4077,7 @@ "type": "string" }, "readTime": { + "deprecated": true, "description": "Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", "format": "google-datetime", "location": "query", @@ -5646,6 +5705,7 @@ ], "parameters": { "compareDuration": { + "deprecated": true, "description": "When compare_duration is set, the ListFindingsResult's \"state_change\" attribute is updated to indicate whether the finding had its state changed, the finding's state remained unchanged, or if the finding was added in any state during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence and state of the finding at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the finding is made inactive and then active again. Possible \"state_change\" values when compare_duration is specified: * \"CHANGED\": indicates that the finding was present and matched the given filter at the start of compare_duration, but changed its state at read_time. * \"UNCHANGED\": indicates that the finding was present and matched the given filter at the start of compare_duration and did not change state at read_time. * \"ADDED\": indicates that the finding did not match the given filter or was not present at the start of compare_duration, but was present at read_time. * \"REMOVED\": indicates that the finding was present and matched the filter at the start of compare_duration, but did not match the filter at read_time. If compare_duration is not specified, then the only possible state_change is \"UNUSED\", which will be the state_change set for all findings present at read_time.", "format": "google-duration", "location": "query", @@ -5686,6 +5746,7 @@ "type": "string" }, "readTime": { + "deprecated": true, "description": "Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", "format": "google-datetime", "location": "query", @@ -5877,7 +5938,7 @@ } } }, - "revision": "20240926", + "revision": "20250103", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Access": { @@ -6084,14 +6145,26 @@ "type": "string" }, "volumeBps": { - "description": "Total BPS (bytes per second) volume of attack.", + "deprecated": true, + "description": "Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead.", "format": "int32", "type": "integer" }, + "volumeBpsLong": { + "description": "Total BPS (bytes per second) volume of attack.", + "format": "int64", + "type": "string" + }, "volumePps": { - "description": "Total PPS (packets per second) volume of attack.", + "deprecated": true, + "description": "Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead.", "format": "int32", "type": "integer" + }, + "volumePpsLong": { + "description": "Total PPS (packets per second) volume of attack.", + "format": "int64", + "type": "string" } }, "type": "object" @@ -6601,17 +6674,6 @@ }, "type": "object" }, - "CelPolicySpec": { - "description": "YAML-based rule that uses CEL, which supports the declaration of variables and a filtering predicate. A vulnerable resource is emitted if the evaluation is false. Given: 1) the resource types as: - resource_types: \"compute.googleapis.com/Instance\" - resource_types: \"compute.googleapis.com/Firewall\" 2) the CEL policy spec as: name: bad_instance resource_filters: - name: instance resource_type: compute.googleapis.com/Instance filter: > instance.status == 'RUNNING' && 'public' in instance.tags.items - name: firewall resource_type: compute.googleapis.com/Firewall filter: > firewall.direction == 'INGRESS' && !firewall.disabled && firewall.allowed.exists(rule, rule.IPProtocol.upperAscii() in ['TCP', 'ALL'] && rule.ports.exists(port, network.portsInRange(port, '11-256'))) rule: match: - predicate: > instance.networkInterfaces.exists(net, firewall.network == net.network) output: > {'message': 'Compute instance with publicly accessible ports', 'instance': instance.name} Users are able to join resource types together using the exact format as Kubernetes Validating Admission policies.", - "id": "CelPolicySpec", - "properties": { - "spec": { - "description": "The CEL policy to evaluate to produce findings. A finding is generated when the policy validation evaluates to false.", - "type": "string" - } - }, - "type": "object" - }, "CloudArmor": { "description": "Fields related to Google Cloud Armor findings.", "id": "CloudArmor", @@ -7238,6 +7300,40 @@ }, "type": "object" }, + "DataRetentionDeletionEvent": { + "description": "Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments.", + "id": "DataRetentionDeletionEvent", + "properties": { + "dataObjectCount": { + "description": "Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000.", + "format": "int64", + "type": "string" + }, + "eventDetectionTime": { + "description": "Timestamp indicating when the event was detected.", + "format": "google-datetime", + "type": "string" + }, + "eventType": { + "description": "Type of the DRD event.", + "enum": [ + "EVENT_TYPE_UNSPECIFIED", + "EVENT_TYPE_MAX_TTL_EXCEEDED" + ], + "enumDescriptions": [ + "Unspecified event type.", + "The maximum retention time has been exceeded." + ], + "type": "string" + }, + "maxRetentionAllowed": { + "description": "Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user set the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, "Database": { "description": "Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided.", "id": "Database", @@ -7288,6 +7384,17 @@ }, "type": "object" }, + "Disk": { + "description": "Contains information about the disk associated with the finding.", + "id": "Disk", + "properties": { + "name": { + "description": "The name of the disk, for example, \"https://www.googleapis.com/compute/v1/projects/project-id/zones/zone-id/disks/disk-id\".", + "type": "string" + } + }, + "type": "object" + }, "DiskPath": { "description": "Path of the file in terms of underlying disk/partition identifiers.", "id": "DiskPath", @@ -7323,6 +7430,22 @@ "description": "An EffectiveEventThreatDetectionCustomModule is the representation of an Event Threat Detection custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablement_state` property in EffectiveEventThreatDetectionCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective `enablement_state` for the module in all child folders or projects is also `enabled`. EffectiveEventThreatDetectionCustomModule is read-only.", "id": "EffectiveEventThreatDetectionCustomModule", "properties": { + "cloudProvider": { + "description": "The cloud provider of the custom module.", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD_PLATFORM", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "Unspecified cloud provider.", + "Google Cloud Platform.", + "Amazon Web Services.", + "Microsoft Azure." + ], + "type": "string" + }, "config": { "additionalProperties": { "description": "Properties of the object.", @@ -7400,6 +7523,22 @@ "readOnly": true, "type": "string" }, + "cloudProvider": { + "description": "The cloud provider of the custom module.", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD_PLATFORM", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "Unspecified cloud provider.", + "Google Cloud.", + "Amazon Web Services (AWS).", + "Microsoft Azure." + ], + "type": "string" + }, "config": { "additionalProperties": { "description": "Properties of the object.", @@ -7646,6 +7785,13 @@ }, "type": "array" }, + "dataRetentionDeletionEvents": { + "description": "Data retention deletion events associated with the finding.", + "items": { + "$ref": "DataRetentionDeletionEvent" + }, + "type": "array" + }, "database": { "$ref": "Database", "description": "Database associated with the finding." @@ -7654,6 +7800,10 @@ "description": "Contains more details about the finding.", "type": "string" }, + "disk": { + "$ref": "Disk", + "description": "Disk associated with the finding." + }, "eventTime": { "description": "The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp.", "format": "google-datetime", @@ -8050,10 +8200,6 @@ "description": "Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify.", "id": "GoogleCloudSecuritycenterV1CustomConfig", "properties": { - "celPolicy": { - "$ref": "CelPolicySpec", - "description": "The CEL policy spec attached to the custom module." - }, "customOutput": { "$ref": "GoogleCloudSecuritycenterV1CustomOutputSpec", "description": "Custom output properties." @@ -8113,6 +8259,22 @@ "description": "An EffectiveSecurityHealthAnalyticsCustomModule is the representation of a Security Health Analytics custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablementState` property in EffectiveSecurityHealthAnalyticsCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective enablement_state for the module in all child folders or projects is also `enabled`. EffectiveSecurityHealthAnalyticsCustomModule is read-only.", "id": "GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule", "properties": { + "cloudProvider": { + "description": "The cloud provider of the custom module.", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD_PLATFORM", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "Unspecified cloud provider.", + "Google Cloud Platform.", + "Amazon Web Services.", + "Microsoft Azure." + ], + "type": "string" + }, "customConfig": { "$ref": "GoogleCloudSecuritycenterV1CustomConfig", "description": "Output only. The user-specified configuration for the module.", @@ -8471,7 +8633,7 @@ "description": "A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. \"bigquery.googleapis.com/Dataset\"." }, "tagValues": { - "description": "Required. Tag values combined with `AND` to check against. Values in the form \"tagValues/123\" Example: `[ \"tagValues/123\", \"tagValues/456\", \"tagValues/789\" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing", + "description": "Required. Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of \"tagValues/123\". Example: `[ \"tagValues/123\", \"tagValues/456\", \"tagValues/789\" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing", "items": { "type": "string" }, @@ -8523,6 +8685,22 @@ "readOnly": true, "type": "string" }, + "cloudProvider": { + "description": "The cloud provider of the custom module.", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD_PLATFORM", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "Unspecified cloud provider.", + "Google Cloud.", + "Amazon Web Services (AWS).", + "Microsoft Azure." + ], + "type": "string" + }, "customConfig": { "$ref": "GoogleCloudSecuritycenterV1CustomConfig", "description": "The user specified custom configuration for the module." @@ -8965,14 +9143,26 @@ "type": "string" }, "volumeBps": { - "description": "Total BPS (bytes per second) volume of attack.", + "deprecated": true, + "description": "Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead.", "format": "int32", "type": "integer" }, + "volumeBpsLong": { + "description": "Total BPS (bytes per second) volume of attack.", + "format": "int64", + "type": "string" + }, "volumePps": { - "description": "Total PPS (packets per second) volume of attack.", + "deprecated": true, + "description": "Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead.", "format": "int32", "type": "integer" + }, + "volumePpsLong": { + "description": "Total PPS (packets per second) volume of attack.", + "format": "int64", + "type": "string" } }, "type": "object" @@ -9833,6 +10023,40 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2DataRetentionDeletionEvent": { + "description": "Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments.", + "id": "GoogleCloudSecuritycenterV2DataRetentionDeletionEvent", + "properties": { + "dataObjectCount": { + "description": "Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000.", + "format": "int64", + "type": "string" + }, + "eventDetectionTime": { + "description": "Timestamp indicating when the event was detected.", + "format": "google-datetime", + "type": "string" + }, + "eventType": { + "description": "Type of the DRD event.", + "enum": [ + "EVENT_TYPE_UNSPECIFIED", + "EVENT_TYPE_MAX_TTL_EXCEEDED" + ], + "enumDescriptions": [ + "Unspecified event type.", + "The maximum retention time has been exceeded." + ], + "type": "string" + }, + "maxRetentionAllowed": { + "description": "Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user set the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2Database": { "description": "Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided.", "id": "GoogleCloudSecuritycenterV2Database", @@ -9883,6 +10107,17 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2Disk": { + "description": "Contains information about the disk associated with the finding.", + "id": "GoogleCloudSecuritycenterV2Disk", + "properties": { + "name": { + "description": "The name of the disk, for example, \"https://www.googleapis.com/compute/v1/projects/project-id/zones/zone-id/disks/disk-id\".", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2DiskPath": { "description": "Path of the file in terms of underlying disk/partition identifiers.", "id": "GoogleCloudSecuritycenterV2DiskPath", @@ -10158,6 +10393,13 @@ }, "type": "array" }, + "dataRetentionDeletionEvents": { + "description": "Data retention deletion events associated with the finding.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2DataRetentionDeletionEvent" + }, + "type": "array" + }, "database": { "$ref": "GoogleCloudSecuritycenterV2Database", "description": "Database associated with the finding." @@ -10166,6 +10408,10 @@ "description": "Contains more details about the finding.", "type": "string" }, + "disk": { + "$ref": "GoogleCloudSecuritycenterV2Disk", + "description": "Disk associated with the finding." + }, "eventTime": { "description": "The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp.", "format": "google-datetime", @@ -10511,6 +10757,403 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2Issue": { + "description": "Security Command Center Issue.", + "id": "GoogleCloudSecuritycenterV2Issue", + "properties": { + "createTime": { + "description": "Output only. The time the issue was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the issue in Markdown format.", + "type": "string" + }, + "detection": { + "description": "The finding category or rule name that generated the issue.", + "type": "string" + }, + "domains": { + "description": "The domains of the issue.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2IssueDomain" + }, + "type": "array" + }, + "exposureScore": { + "description": "The exposure score of the issue.", + "format": "double", + "type": "number" + }, + "issueType": { + "description": "The type of the issue.", + "enum": [ + "ISSUE_TYPE_UNSPECIFIED", + "CHOKEPOINT", + "TOXIC_COMBINATION", + "INSIGHT" + ], + "enumDescriptions": [ + "Unspecified issue type.", + "Chokepoint issue type.", + "Toxic combination issue type.", + "Insight issue type." + ], + "type": "string" + }, + "lastObservationTime": { + "description": "The time the issue was last observed.", + "format": "google-datetime", + "type": "string" + }, + "mute": { + "$ref": "GoogleCloudSecuritycenterV2IssueMute", + "description": "The mute information of the issue." + }, + "name": { + "description": "Identifier. The name of the issue. Format: organizations/{organization}/locations/{location}/issues/{issue}", + "type": "string" + }, + "primaryResource": { + "$ref": "GoogleCloudSecuritycenterV2IssueResource", + "description": "The primary resource associated with the issue." + }, + "relatedFindings": { + "description": "The findings related to the issue.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2IssueFinding" + }, + "type": "array" + }, + "remediations": { + "description": "Approaches to remediate the issue in Markdown format.", + "items": { + "type": "string" + }, + "type": "array" + }, + "secondaryResources": { + "description": "Additional resources associated with the issue.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2IssueResource" + }, + "type": "array" + }, + "securityContexts": { + "description": "The security context of the issue.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2IssueSecurityContext" + }, + "type": "array" + }, + "severity": { + "description": "The severity of the issue.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "CRITICAL", + "HIGH", + "MEDIUM", + "LOW" + ], + "enumDescriptions": [ + "Unspecified severity.", + "Critical severity.", + "High severity.", + "Medium severity.", + "Low severity." + ], + "type": "string" + }, + "state": { + "description": "Output only. The state of the issue.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "INACTIVE" + ], + "enumDescriptions": [ + "Unspecified state.", + "Active state.", + "Inactive state." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time the issue was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueDomain": { + "description": "The domains of an issue.", + "id": "GoogleCloudSecuritycenterV2IssueDomain", + "properties": { + "domainCategory": { + "description": "The domain category of the issue.", + "enum": [ + "DOMAIN_CATEGORY_UNSPECIFIED", + "AI", + "CODE", + "CONTAINER", + "DATA", + "IDENTITY_AND_ACCESS", + "VULNERABILITY" + ], + "enumDescriptions": [ + "Unspecified domain category.", + "Issues in the AI domain.", + "Issues in the code domain.", + "Issues in the container domain.", + "Issues in the data domain.", + "Issues in the identity and access domain.", + "Issues in the vulnerability domain." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueFinding": { + "description": "Finding related to an issue.", + "id": "GoogleCloudSecuritycenterV2IssueFinding", + "properties": { + "cve": { + "$ref": "GoogleCloudSecuritycenterV2IssueFindingCve", + "description": "The CVE of the finding." + }, + "name": { + "description": "The name of the finding.", + "type": "string" + }, + "securityBulletin": { + "$ref": "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin", + "description": "The security bulletin of the finding." + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueFindingCve": { + "description": "The CVE of the finding.", + "id": "GoogleCloudSecuritycenterV2IssueFindingCve", + "properties": { + "name": { + "description": "The CVE name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin": { + "description": "The security bulletin of the finding.", + "id": "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin", + "properties": { + "name": { + "description": "The security bulletin name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueMute": { + "description": "The mute information of the issue.", + "id": "GoogleCloudSecuritycenterV2IssueMute", + "properties": { + "muteInitiator": { + "description": "The email address of the user who last changed the mute state of the issue.", + "type": "string" + }, + "muteReason": { + "description": "The user-provided reason for muting the issue.", + "type": "string" + }, + "muteState": { + "description": "Output only. The mute state of the issue.", + "enum": [ + "MUTE_STATE_UNSPECIFIED", + "NOT_MUTED", + "MUTED" + ], + "enumDescriptions": [ + "Unspecified mute state.", + "Not muted.", + "Muted." + ], + "readOnly": true, + "type": "string" + }, + "muteUpdateTime": { + "description": "The time the issue was muted.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueResource": { + "description": "A resource associated with the an issue.", + "id": "GoogleCloudSecuritycenterV2IssueResource", + "properties": { + "awsMetadata": { + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata", + "description": "The AWS metadata of the resource associated with the issue. Only populated for AWS resources." + }, + "azureMetadata": { + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata", + "description": "The Azure metadata of the resource associated with the issue. Only populated for Azure resources." + }, + "cloudProvider": { + "description": "The cloud provider of the resource associated with the issue.", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "Unspecified cloud provider.", + "Google Cloud.", + "Amazon Web Services.", + "Microsoft Azure." + ], + "type": "string" + }, + "displayName": { + "description": "The resource-type specific display name of the resource associated with the issue.", + "type": "string" + }, + "googleCloudMetadata": { + "$ref": "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata", + "description": "The Google Cloud metadata of the resource associated with the issue. Only populated for Google Cloud resources." + }, + "name": { + "description": "The full resource name of the resource associated with the issue.", + "type": "string" + }, + "type": { + "description": "The type of the resource associated with the issue.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata": { + "description": "The AWS metadata of a resource associated with an issue.", + "id": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata", + "properties": { + "account": { + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount", + "description": "The AWS account of the resource associated with the issue." + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount": { + "description": "The AWS account of the resource associated with the issue.", + "id": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount", + "properties": { + "id": { + "description": "The AWS account ID of the resource associated with the issue.", + "type": "string" + }, + "name": { + "description": "The AWS account name of the resource associated with the issue.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata": { + "description": "The Azure metadata of a resource associated with an issue.", + "id": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata", + "properties": { + "subscription": { + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription", + "description": "The Azure subscription of the resource associated with the issue." + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription": { + "description": "The Azure subscription of the resource associated with the issue.", + "id": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription", + "properties": { + "displayName": { + "description": "The Azure subscription display name of the resource associated with the issue.", + "type": "string" + }, + "id": { + "description": "The Azure subscription ID of the resource associated with the issue.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata": { + "description": "Google Cloud metadata of a resource associated with an issue.", + "id": "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata", + "properties": { + "projectId": { + "description": "The project ID that the resource associated with the issue belongs to.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueSecurityContext": { + "description": "Security context associated with an issue.", + "id": "GoogleCloudSecuritycenterV2IssueSecurityContext", + "properties": { + "aggregatedCount": { + "$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount", + "description": "The aggregated count of the security context." + }, + "context": { + "$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextContext", + "description": "The context of the security context." + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount": { + "description": "Aggregated count of a security context.", + "id": "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount", + "properties": { + "key": { + "description": "Aggregation key.", + "type": "string" + }, + "value": { + "description": "Aggregation value.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueSecurityContextContext": { + "description": "Context of a security context.", + "id": "GoogleCloudSecuritycenterV2IssueSecurityContextContext", + "properties": { + "type": { + "description": "Context type.", + "type": "string" + }, + "values": { + "description": "Context values.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2KernelRootkit": { "description": "Kernel mode rootkit signatures.", "id": "GoogleCloudSecuritycenterV2KernelRootkit", @@ -10760,6 +11403,7 @@ "ACCOUNT_ACCESS_REMOVAL", "STEAL_WEB_SESSION_COOKIE", "CREATE_OR_MODIFY_SYSTEM_PROCESS", + "EVENT_TRIGGERED_EXECUTION", "ABUSE_ELEVATION_CONTROL_MECHANISM", "UNSECURED_CREDENTIALS", "MODIFY_AUTHENTICATION_PROCESS", @@ -10776,6 +11420,7 @@ "ACTIVE_SCANNING", "SCANNING_IP_BLOCKS", "CONTAINER_ADMINISTRATION_COMMAND", + "DEPLOY_CONTAINER", "ESCAPE_TO_HOST", "CONTAINER_AND_RESOURCE_DISCOVERY", "STEAL_OR_FORGE_AUTHENTICATION_CERTIFICATES" @@ -10827,6 +11472,7 @@ "T1531", "T1539", "T1543", + "T1546", "T1548", "T1552", "T1556", @@ -10843,6 +11489,7 @@ "T1595", "T1595.001", "T1609", + "T1610", "T1611", "T1613", "T1649" @@ -10939,6 +11586,7 @@ "ACCOUNT_ACCESS_REMOVAL", "STEAL_WEB_SESSION_COOKIE", "CREATE_OR_MODIFY_SYSTEM_PROCESS", + "EVENT_TRIGGERED_EXECUTION", "ABUSE_ELEVATION_CONTROL_MECHANISM", "UNSECURED_CREDENTIALS", "MODIFY_AUTHENTICATION_PROCESS", @@ -10955,6 +11603,7 @@ "ACTIVE_SCANNING", "SCANNING_IP_BLOCKS", "CONTAINER_ADMINISTRATION_COMMAND", + "DEPLOY_CONTAINER", "ESCAPE_TO_HOST", "CONTAINER_AND_RESOURCE_DISCOVERY", "STEAL_OR_FORGE_AUTHENTICATION_CERTIFICATES" @@ -11006,6 +11655,7 @@ "T1531", "T1539", "T1543", + "T1546", "T1548", "T1552", "T1556", @@ -11022,6 +11672,7 @@ "T1595", "T1595.001", "T1609", + "T1610", "T1611", "T1613", "T1649" @@ -11615,7 +12266,7 @@ "description": "A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. \"bigquery.googleapis.com/Dataset\"." }, "tagValues": { - "description": "Tag values combined with `AND` to check against. Values in the form \"tagValues/123\" Example: `[ \"tagValues/123\", \"tagValues/456\", \"tagValues/789\" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing", + "description": "Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of \"tagValues/123\". Example: `[ \"tagValues/123\", \"tagValues/456\", \"tagValues/789\" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing", "items": { "type": "string" }, @@ -12031,6 +12682,7 @@ "id": "GroupFindingsRequest", "properties": { "compareDuration": { + "deprecated": true, "description": "When compare_duration is set, the GroupResult's \"state_change\" attribute is updated to indicate whether the finding had its state changed, the finding's state remained unchanged, or if the finding was added during the compare_duration period of time that precedes the read_time. This is the time between (read_time - compare_duration) and read_time. The state_change value is derived based on the presence and state of the finding at the two points in time. Intermediate state changes between the two times don't affect the result. For example, the results aren't affected if the finding is made inactive and then active again. Possible \"state_change\" values when compare_duration is specified: * \"CHANGED\": indicates that the finding was present and matched the given filter at the start of compare_duration, but changed its state at read_time. * \"UNCHANGED\": indicates that the finding was present and matched the given filter at the start of compare_duration and did not change state at read_time. * \"ADDED\": indicates that the finding did not match the given filter or was not present at the start of compare_duration, but was present at read_time. * \"REMOVED\": indicates that the finding was present and matched the filter at the start of compare_duration, but did not match the filter at read_time. If compare_duration is not specified, then the only possible state_change is \"UNUSED\", which will be the state_change set for all findings present at read_time. If this field is set then `state_change` must be a specified field in `group_by`.", "format": "google-duration", "type": "string" @@ -12053,6 +12705,7 @@ "type": "string" }, "readTime": { + "deprecated": true, "description": "Time used as a reference point when filtering findings. The filter is limited to findings existing at the supplied time and their values are those at that specific time. Absence of this field will default to the API's version of NOW.", "format": "google-datetime", "type": "string" @@ -12828,6 +13481,7 @@ "ACCOUNT_ACCESS_REMOVAL", "STEAL_WEB_SESSION_COOKIE", "CREATE_OR_MODIFY_SYSTEM_PROCESS", + "EVENT_TRIGGERED_EXECUTION", "ABUSE_ELEVATION_CONTROL_MECHANISM", "UNSECURED_CREDENTIALS", "MODIFY_AUTHENTICATION_PROCESS", @@ -12844,6 +13498,7 @@ "ACTIVE_SCANNING", "SCANNING_IP_BLOCKS", "CONTAINER_ADMINISTRATION_COMMAND", + "DEPLOY_CONTAINER", "ESCAPE_TO_HOST", "CONTAINER_AND_RESOURCE_DISCOVERY", "STEAL_OR_FORGE_AUTHENTICATION_CERTIFICATES" @@ -12895,6 +13550,7 @@ "T1531", "T1539", "T1543", + "T1546", "T1548", "T1552", "T1556", @@ -12911,6 +13567,7 @@ "T1595", "T1595.001", "T1609", + "T1610", "T1611", "T1613", "T1649" @@ -13007,6 +13664,7 @@ "ACCOUNT_ACCESS_REMOVAL", "STEAL_WEB_SESSION_COOKIE", "CREATE_OR_MODIFY_SYSTEM_PROCESS", + "EVENT_TRIGGERED_EXECUTION", "ABUSE_ELEVATION_CONTROL_MECHANISM", "UNSECURED_CREDENTIALS", "MODIFY_AUTHENTICATION_PROCESS", @@ -13023,6 +13681,7 @@ "ACTIVE_SCANNING", "SCANNING_IP_BLOCKS", "CONTAINER_ADMINISTRATION_COMMAND", + "DEPLOY_CONTAINER", "ESCAPE_TO_HOST", "CONTAINER_AND_RESOURCE_DISCOVERY", "STEAL_OR_FORGE_AUTHENTICATION_CERTIFICATES" @@ -13074,6 +13733,7 @@ "T1531", "T1539", "T1543", + "T1546", "T1548", "T1552", "T1556", @@ -13090,6 +13750,7 @@ "T1595", "T1595.001", "T1609", + "T1610", "T1611", "T1613", "T1649" @@ -13925,7 +14586,8 @@ "id": "SetFindingStateRequest", "properties": { "startTime": { - "description": "Required. The time at which the updated state takes effect.", + "deprecated": true, + "description": "Optional. The time at which the updated state takes effect. If unset, defaults to the request time.", "format": "google-datetime", "type": "string" }, diff --git a/discovery/securitycenter-v1beta1.json b/discovery/securitycenter-v1beta1.json index 75a5b1ceaa..758d55add6 100644 --- a/discovery/securitycenter-v1beta1.json +++ b/discovery/securitycenter-v1beta1.json @@ -20,6 +20,16 @@ "description": "Regional Endpoint", "endpointUrl": "https://securitycenter.me-central2.rep.googleapis.com/", "location": "me-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://securitycenter.us.rep.googleapis.com/", + "location": "us" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://securitycenter.eu.rep.googleapis.com/", + "location": "eu" } ], "fullyEncodeReservedExpansion": true, @@ -342,7 +352,7 @@ "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`.", + "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": "v1beta1/organizations/{organizationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "securitycenter.organizations.operations.cancel", @@ -903,7 +913,7 @@ } } }, - "revision": "20240926", + "revision": "20241206", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Access": { @@ -1439,17 +1449,6 @@ "properties": {}, "type": "object" }, - "CelPolicySpec": { - "description": "YAML-based rule that uses CEL, which supports the declaration of variables and a filtering predicate. A vulnerable resource is emitted if the evaluation is false. Given: 1) the resource types as: - resource_types: \"compute.googleapis.com/Instance\" - resource_types: \"compute.googleapis.com/Firewall\" 2) the CEL policy spec as: name: bad_instance resource_filters: - name: instance resource_type: compute.googleapis.com/Instance filter: > instance.status == 'RUNNING' && 'public' in instance.tags.items - name: firewall resource_type: compute.googleapis.com/Firewall filter: > firewall.direction == 'INGRESS' && !firewall.disabled && firewall.allowed.exists(rule, rule.IPProtocol.upperAscii() in ['TCP', 'ALL'] && rule.ports.exists(port, network.portsInRange(port, '11-256'))) rule: match: - predicate: > instance.networkInterfaces.exists(net, firewall.network == net.network) output: > {'message': 'Compute instance with publicly accessible ports', 'instance': instance.name} Users are able to join resource types together using the exact format as Kubernetes Validating Admission policies.", - "id": "CelPolicySpec", - "properties": { - "spec": { - "description": "The CEL policy to evaluate to produce findings. A finding is generated when the policy validation evaluates to false.", - "type": "string" - } - }, - "type": "object" - }, "CloudArmor": { "description": "Fields related to Google Cloud Armor findings.", "id": "CloudArmor", @@ -2025,6 +2024,40 @@ }, "type": "object" }, + "DataRetentionDeletionEvent": { + "description": "Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments.", + "id": "DataRetentionDeletionEvent", + "properties": { + "dataObjectCount": { + "description": "Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000.", + "format": "int64", + "type": "string" + }, + "eventDetectionTime": { + "description": "Timestamp indicating when the event was detected.", + "format": "google-datetime", + "type": "string" + }, + "eventType": { + "description": "Type of the DRD event.", + "enum": [ + "EVENT_TYPE_UNSPECIFIED", + "EVENT_TYPE_MAX_TTL_EXCEEDED" + ], + "enumDescriptions": [ + "Unspecified event type.", + "The maximum retention time has been exceeded." + ], + "type": "string" + }, + "maxRetentionAllowed": { + "description": "Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user set the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, "Database": { "description": "Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided.", "id": "Database", @@ -2075,6 +2108,17 @@ }, "type": "object" }, + "Disk": { + "description": "Contains information about the disk associated with the finding.", + "id": "Disk", + "properties": { + "name": { + "description": "The name of the disk, for example, \"https://www.googleapis.com/compute/v1/projects/project-id/zones/zone-id/disks/disk-id\".", + "type": "string" + } + }, + "type": "object" + }, "DiskPath": { "description": "Path of the file in terms of underlying disk/partition identifiers.", "id": "DiskPath", @@ -2319,6 +2363,13 @@ }, "type": "array" }, + "dataRetentionDeletionEvents": { + "description": "Data retention deletion events associated with the finding.", + "items": { + "$ref": "DataRetentionDeletionEvent" + }, + "type": "array" + }, "database": { "$ref": "Database", "description": "Database associated with the finding." @@ -2327,6 +2378,10 @@ "description": "Contains more details about the finding.", "type": "string" }, + "disk": { + "$ref": "Disk", + "description": "Disk associated with the finding." + }, "eventTime": { "description": "The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp.", "format": "google-datetime", @@ -2723,10 +2778,6 @@ "description": "Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify.", "id": "GoogleCloudSecuritycenterV1CustomConfig", "properties": { - "celPolicy": { - "$ref": "CelPolicySpec", - "description": "The CEL policy spec attached to the custom module." - }, "customOutput": { "$ref": "GoogleCloudSecuritycenterV1CustomOutputSpec", "description": "Custom output properties." @@ -2786,6 +2837,22 @@ "description": "An EffectiveSecurityHealthAnalyticsCustomModule is the representation of a Security Health Analytics custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablementState` property in EffectiveSecurityHealthAnalyticsCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective enablement_state for the module in all child folders or projects is also `enabled`. EffectiveSecurityHealthAnalyticsCustomModule is read-only.", "id": "GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule", "properties": { + "cloudProvider": { + "description": "The cloud provider of the custom module.", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD_PLATFORM", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "Unspecified cloud provider.", + "Google Cloud Platform.", + "Amazon Web Services.", + "Microsoft Azure." + ], + "type": "string" + }, "customConfig": { "$ref": "GoogleCloudSecuritycenterV1CustomConfig", "description": "Output only. The user-specified configuration for the module.", @@ -3144,7 +3211,7 @@ "description": "A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. \"bigquery.googleapis.com/Dataset\"." }, "tagValues": { - "description": "Required. Tag values combined with `AND` to check against. Values in the form \"tagValues/123\" Example: `[ \"tagValues/123\", \"tagValues/456\", \"tagValues/789\" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing", + "description": "Required. Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of \"tagValues/123\". Example: `[ \"tagValues/123\", \"tagValues/456\", \"tagValues/789\" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing", "items": { "type": "string" }, @@ -3196,6 +3263,22 @@ "readOnly": true, "type": "string" }, + "cloudProvider": { + "description": "The cloud provider of the custom module.", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD_PLATFORM", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "Unspecified cloud provider.", + "Google Cloud.", + "Amazon Web Services (AWS).", + "Microsoft Azure." + ], + "type": "string" + }, "customConfig": { "$ref": "GoogleCloudSecuritycenterV1CustomConfig", "description": "The user specified custom configuration for the module." @@ -4587,6 +4670,40 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2DataRetentionDeletionEvent": { + "description": "Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments.", + "id": "GoogleCloudSecuritycenterV2DataRetentionDeletionEvent", + "properties": { + "dataObjectCount": { + "description": "Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000.", + "format": "int64", + "type": "string" + }, + "eventDetectionTime": { + "description": "Timestamp indicating when the event was detected.", + "format": "google-datetime", + "type": "string" + }, + "eventType": { + "description": "Type of the DRD event.", + "enum": [ + "EVENT_TYPE_UNSPECIFIED", + "EVENT_TYPE_MAX_TTL_EXCEEDED" + ], + "enumDescriptions": [ + "Unspecified event type.", + "The maximum retention time has been exceeded." + ], + "type": "string" + }, + "maxRetentionAllowed": { + "description": "Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user set the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2Database": { "description": "Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided.", "id": "GoogleCloudSecuritycenterV2Database", @@ -4637,6 +4754,17 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2Disk": { + "description": "Contains information about the disk associated with the finding.", + "id": "GoogleCloudSecuritycenterV2Disk", + "properties": { + "name": { + "description": "The name of the disk, for example, \"https://www.googleapis.com/compute/v1/projects/project-id/zones/zone-id/disks/disk-id\".", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2DiskPath": { "description": "Path of the file in terms of underlying disk/partition identifiers.", "id": "GoogleCloudSecuritycenterV2DiskPath", @@ -4912,6 +5040,13 @@ }, "type": "array" }, + "dataRetentionDeletionEvents": { + "description": "Data retention deletion events associated with the finding.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2DataRetentionDeletionEvent" + }, + "type": "array" + }, "database": { "$ref": "GoogleCloudSecuritycenterV2Database", "description": "Database associated with the finding." @@ -4920,6 +5055,10 @@ "description": "Contains more details about the finding.", "type": "string" }, + "disk": { + "$ref": "GoogleCloudSecuritycenterV2Disk", + "description": "Disk associated with the finding." + }, "eventTime": { "description": "The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp.", "format": "google-datetime", @@ -5265,6 +5404,403 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2Issue": { + "description": "Security Command Center Issue.", + "id": "GoogleCloudSecuritycenterV2Issue", + "properties": { + "createTime": { + "description": "Output only. The time the issue was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the issue in Markdown format.", + "type": "string" + }, + "detection": { + "description": "The finding category or rule name that generated the issue.", + "type": "string" + }, + "domains": { + "description": "The domains of the issue.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2IssueDomain" + }, + "type": "array" + }, + "exposureScore": { + "description": "The exposure score of the issue.", + "format": "double", + "type": "number" + }, + "issueType": { + "description": "The type of the issue.", + "enum": [ + "ISSUE_TYPE_UNSPECIFIED", + "CHOKEPOINT", + "TOXIC_COMBINATION", + "INSIGHT" + ], + "enumDescriptions": [ + "Unspecified issue type.", + "Chokepoint issue type.", + "Toxic combination issue type.", + "Insight issue type." + ], + "type": "string" + }, + "lastObservationTime": { + "description": "The time the issue was last observed.", + "format": "google-datetime", + "type": "string" + }, + "mute": { + "$ref": "GoogleCloudSecuritycenterV2IssueMute", + "description": "The mute information of the issue." + }, + "name": { + "description": "Identifier. The name of the issue. Format: organizations/{organization}/locations/{location}/issues/{issue}", + "type": "string" + }, + "primaryResource": { + "$ref": "GoogleCloudSecuritycenterV2IssueResource", + "description": "The primary resource associated with the issue." + }, + "relatedFindings": { + "description": "The findings related to the issue.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2IssueFinding" + }, + "type": "array" + }, + "remediations": { + "description": "Approaches to remediate the issue in Markdown format.", + "items": { + "type": "string" + }, + "type": "array" + }, + "secondaryResources": { + "description": "Additional resources associated with the issue.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2IssueResource" + }, + "type": "array" + }, + "securityContexts": { + "description": "The security context of the issue.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2IssueSecurityContext" + }, + "type": "array" + }, + "severity": { + "description": "The severity of the issue.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "CRITICAL", + "HIGH", + "MEDIUM", + "LOW" + ], + "enumDescriptions": [ + "Unspecified severity.", + "Critical severity.", + "High severity.", + "Medium severity.", + "Low severity." + ], + "type": "string" + }, + "state": { + "description": "Output only. The state of the issue.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "INACTIVE" + ], + "enumDescriptions": [ + "Unspecified state.", + "Active state.", + "Inactive state." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time the issue was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueDomain": { + "description": "The domains of an issue.", + "id": "GoogleCloudSecuritycenterV2IssueDomain", + "properties": { + "domainCategory": { + "description": "The domain category of the issue.", + "enum": [ + "DOMAIN_CATEGORY_UNSPECIFIED", + "AI", + "CODE", + "CONTAINER", + "DATA", + "IDENTITY_AND_ACCESS", + "VULNERABILITY" + ], + "enumDescriptions": [ + "Unspecified domain category.", + "Issues in the AI domain.", + "Issues in the code domain.", + "Issues in the container domain.", + "Issues in the data domain.", + "Issues in the identity and access domain.", + "Issues in the vulnerability domain." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueFinding": { + "description": "Finding related to an issue.", + "id": "GoogleCloudSecuritycenterV2IssueFinding", + "properties": { + "cve": { + "$ref": "GoogleCloudSecuritycenterV2IssueFindingCve", + "description": "The CVE of the finding." + }, + "name": { + "description": "The name of the finding.", + "type": "string" + }, + "securityBulletin": { + "$ref": "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin", + "description": "The security bulletin of the finding." + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueFindingCve": { + "description": "The CVE of the finding.", + "id": "GoogleCloudSecuritycenterV2IssueFindingCve", + "properties": { + "name": { + "description": "The CVE name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin": { + "description": "The security bulletin of the finding.", + "id": "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin", + "properties": { + "name": { + "description": "The security bulletin name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueMute": { + "description": "The mute information of the issue.", + "id": "GoogleCloudSecuritycenterV2IssueMute", + "properties": { + "muteInitiator": { + "description": "The email address of the user who last changed the mute state of the issue.", + "type": "string" + }, + "muteReason": { + "description": "The user-provided reason for muting the issue.", + "type": "string" + }, + "muteState": { + "description": "Output only. The mute state of the issue.", + "enum": [ + "MUTE_STATE_UNSPECIFIED", + "NOT_MUTED", + "MUTED" + ], + "enumDescriptions": [ + "Unspecified mute state.", + "Not muted.", + "Muted." + ], + "readOnly": true, + "type": "string" + }, + "muteUpdateTime": { + "description": "The time the issue was muted.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueResource": { + "description": "A resource associated with the an issue.", + "id": "GoogleCloudSecuritycenterV2IssueResource", + "properties": { + "awsMetadata": { + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata", + "description": "The AWS metadata of the resource associated with the issue. Only populated for AWS resources." + }, + "azureMetadata": { + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata", + "description": "The Azure metadata of the resource associated with the issue. Only populated for Azure resources." + }, + "cloudProvider": { + "description": "The cloud provider of the resource associated with the issue.", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "Unspecified cloud provider.", + "Google Cloud.", + "Amazon Web Services.", + "Microsoft Azure." + ], + "type": "string" + }, + "displayName": { + "description": "The resource-type specific display name of the resource associated with the issue.", + "type": "string" + }, + "googleCloudMetadata": { + "$ref": "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata", + "description": "The Google Cloud metadata of the resource associated with the issue. Only populated for Google Cloud resources." + }, + "name": { + "description": "The full resource name of the resource associated with the issue.", + "type": "string" + }, + "type": { + "description": "The type of the resource associated with the issue.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata": { + "description": "The AWS metadata of a resource associated with an issue.", + "id": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata", + "properties": { + "account": { + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount", + "description": "The AWS account of the resource associated with the issue." + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount": { + "description": "The AWS account of the resource associated with the issue.", + "id": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount", + "properties": { + "id": { + "description": "The AWS account ID of the resource associated with the issue.", + "type": "string" + }, + "name": { + "description": "The AWS account name of the resource associated with the issue.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata": { + "description": "The Azure metadata of a resource associated with an issue.", + "id": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata", + "properties": { + "subscription": { + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription", + "description": "The Azure subscription of the resource associated with the issue." + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription": { + "description": "The Azure subscription of the resource associated with the issue.", + "id": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription", + "properties": { + "displayName": { + "description": "The Azure subscription display name of the resource associated with the issue.", + "type": "string" + }, + "id": { + "description": "The Azure subscription ID of the resource associated with the issue.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata": { + "description": "Google Cloud metadata of a resource associated with an issue.", + "id": "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata", + "properties": { + "projectId": { + "description": "The project ID that the resource associated with the issue belongs to.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueSecurityContext": { + "description": "Security context associated with an issue.", + "id": "GoogleCloudSecuritycenterV2IssueSecurityContext", + "properties": { + "aggregatedCount": { + "$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount", + "description": "The aggregated count of the security context." + }, + "context": { + "$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextContext", + "description": "The context of the security context." + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount": { + "description": "Aggregated count of a security context.", + "id": "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount", + "properties": { + "key": { + "description": "Aggregation key.", + "type": "string" + }, + "value": { + "description": "Aggregation value.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueSecurityContextContext": { + "description": "Context of a security context.", + "id": "GoogleCloudSecuritycenterV2IssueSecurityContextContext", + "properties": { + "type": { + "description": "Context type.", + "type": "string" + }, + "values": { + "description": "Context values.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2KernelRootkit": { "description": "Kernel mode rootkit signatures.", "id": "GoogleCloudSecuritycenterV2KernelRootkit", @@ -5514,6 +6050,7 @@ "ACCOUNT_ACCESS_REMOVAL", "STEAL_WEB_SESSION_COOKIE", "CREATE_OR_MODIFY_SYSTEM_PROCESS", + "EVENT_TRIGGERED_EXECUTION", "ABUSE_ELEVATION_CONTROL_MECHANISM", "UNSECURED_CREDENTIALS", "MODIFY_AUTHENTICATION_PROCESS", @@ -5530,6 +6067,7 @@ "ACTIVE_SCANNING", "SCANNING_IP_BLOCKS", "CONTAINER_ADMINISTRATION_COMMAND", + "DEPLOY_CONTAINER", "ESCAPE_TO_HOST", "CONTAINER_AND_RESOURCE_DISCOVERY", "STEAL_OR_FORGE_AUTHENTICATION_CERTIFICATES" @@ -5581,6 +6119,7 @@ "T1531", "T1539", "T1543", + "T1546", "T1548", "T1552", "T1556", @@ -5597,6 +6136,7 @@ "T1595", "T1595.001", "T1609", + "T1610", "T1611", "T1613", "T1649" @@ -5693,6 +6233,7 @@ "ACCOUNT_ACCESS_REMOVAL", "STEAL_WEB_SESSION_COOKIE", "CREATE_OR_MODIFY_SYSTEM_PROCESS", + "EVENT_TRIGGERED_EXECUTION", "ABUSE_ELEVATION_CONTROL_MECHANISM", "UNSECURED_CREDENTIALS", "MODIFY_AUTHENTICATION_PROCESS", @@ -5709,6 +6250,7 @@ "ACTIVE_SCANNING", "SCANNING_IP_BLOCKS", "CONTAINER_ADMINISTRATION_COMMAND", + "DEPLOY_CONTAINER", "ESCAPE_TO_HOST", "CONTAINER_AND_RESOURCE_DISCOVERY", "STEAL_OR_FORGE_AUTHENTICATION_CERTIFICATES" @@ -5760,6 +6302,7 @@ "T1531", "T1539", "T1543", + "T1546", "T1548", "T1552", "T1556", @@ -5776,6 +6319,7 @@ "T1595", "T1595.001", "T1609", + "T1610", "T1611", "T1613", "T1649" @@ -6369,7 +6913,7 @@ "description": "A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. \"bigquery.googleapis.com/Dataset\"." }, "tagValues": { - "description": "Tag values combined with `AND` to check against. Values in the form \"tagValues/123\" Example: `[ \"tagValues/123\", \"tagValues/456\", \"tagValues/789\" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing", + "description": "Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of \"tagValues/123\". Example: `[ \"tagValues/123\", \"tagValues/456\", \"tagValues/789\" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing", "items": { "type": "string" }, @@ -7303,6 +7847,7 @@ "ACCOUNT_ACCESS_REMOVAL", "STEAL_WEB_SESSION_COOKIE", "CREATE_OR_MODIFY_SYSTEM_PROCESS", + "EVENT_TRIGGERED_EXECUTION", "ABUSE_ELEVATION_CONTROL_MECHANISM", "UNSECURED_CREDENTIALS", "MODIFY_AUTHENTICATION_PROCESS", @@ -7319,6 +7864,7 @@ "ACTIVE_SCANNING", "SCANNING_IP_BLOCKS", "CONTAINER_ADMINISTRATION_COMMAND", + "DEPLOY_CONTAINER", "ESCAPE_TO_HOST", "CONTAINER_AND_RESOURCE_DISCOVERY", "STEAL_OR_FORGE_AUTHENTICATION_CERTIFICATES" @@ -7370,6 +7916,7 @@ "T1531", "T1539", "T1543", + "T1546", "T1548", "T1552", "T1556", @@ -7386,6 +7933,7 @@ "T1595", "T1595.001", "T1609", + "T1610", "T1611", "T1613", "T1649" @@ -7482,6 +8030,7 @@ "ACCOUNT_ACCESS_REMOVAL", "STEAL_WEB_SESSION_COOKIE", "CREATE_OR_MODIFY_SYSTEM_PROCESS", + "EVENT_TRIGGERED_EXECUTION", "ABUSE_ELEVATION_CONTROL_MECHANISM", "UNSECURED_CREDENTIALS", "MODIFY_AUTHENTICATION_PROCESS", @@ -7498,6 +8047,7 @@ "ACTIVE_SCANNING", "SCANNING_IP_BLOCKS", "CONTAINER_ADMINISTRATION_COMMAND", + "DEPLOY_CONTAINER", "ESCAPE_TO_HOST", "CONTAINER_AND_RESOURCE_DISCOVERY", "STEAL_OR_FORGE_AUTHENTICATION_CERTIFICATES" @@ -7549,6 +8099,7 @@ "T1531", "T1539", "T1543", + "T1546", "T1548", "T1552", "T1556", @@ -7565,6 +8116,7 @@ "T1595", "T1595.001", "T1609", + "T1610", "T1611", "T1613", "T1649" @@ -8222,7 +8774,7 @@ "id": "SetFindingStateRequest", "properties": { "startTime": { - "description": "Required. The time at which the updated state takes effect.", + "description": "Optional. The time at which the updated state takes effect. If not set uses the current time.", "format": "google-datetime", "type": "string" }, diff --git a/discovery/securitycenter-v1beta2.json b/discovery/securitycenter-v1beta2.json index 734ed38b3d..3e44f7ad28 100644 --- a/discovery/securitycenter-v1beta2.json +++ b/discovery/securitycenter-v1beta2.json @@ -20,6 +20,16 @@ "description": "Regional Endpoint", "endpointUrl": "https://securitycenter.me-central2.rep.googleapis.com/", "location": "me-central2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://securitycenter.us.rep.googleapis.com/", + "location": "us" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://securitycenter.eu.rep.googleapis.com/", + "location": "eu" } ], "fullyEncodeReservedExpansion": true, @@ -1993,7 +2003,7 @@ } } }, - "revision": "20240927", + "revision": "20241206", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Access": { @@ -2291,6 +2301,10 @@ "description": "Represents an Azure resource group.", "id": "AzureResourceGroup", "properties": { + "id": { + "description": "The ID of the Azure resource group.", + "type": "string" + }, "name": { "description": "The name of the Azure resource group. This is not a UUID.", "type": "string" @@ -3036,6 +3050,40 @@ }, "type": "object" }, + "DataRetentionDeletionEvent": { + "description": "Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments.", + "id": "DataRetentionDeletionEvent", + "properties": { + "dataObjectCount": { + "description": "Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000.", + "format": "int64", + "type": "string" + }, + "eventDetectionTime": { + "description": "Timestamp indicating when the event was detected.", + "format": "google-datetime", + "type": "string" + }, + "eventType": { + "description": "Type of the DRD event.", + "enum": [ + "EVENT_TYPE_UNSPECIFIED", + "EVENT_TYPE_MAX_TTL_EXCEEDED" + ], + "enumDescriptions": [ + "Unspecified event type.", + "The maximum retention time has been exceeded." + ], + "type": "string" + }, + "maxRetentionAllowed": { + "description": "Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user set the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, "Database": { "description": "Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided.", "id": "Database", @@ -3123,6 +3171,17 @@ }, "type": "object" }, + "Disk": { + "description": "Contains information about the disk associated with the finding.", + "id": "Disk", + "properties": { + "name": { + "description": "The name of the disk, for example, \"https://www.googleapis.com/compute/v1/projects/project-id/zones/zone-id/disks/disk-id\".", + "type": "string" + } + }, + "type": "object" + }, "DiskPath": { "description": "Path of the file in terms of underlying disk/partition identifiers.", "id": "DiskPath", @@ -3401,6 +3460,13 @@ }, "type": "array" }, + "dataRetentionDeletionEvents": { + "description": "Data retention deletion events associated with the finding.", + "items": { + "$ref": "DataRetentionDeletionEvent" + }, + "type": "array" + }, "database": { "$ref": "Database", "description": "Database associated with the finding." @@ -3409,6 +3475,10 @@ "description": "Contains more details about the finding.", "type": "string" }, + "disk": { + "$ref": "Disk", + "description": "Disk associated with the finding." + }, "eventTime": { "description": "The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp.", "format": "google-datetime", @@ -3841,6 +3911,22 @@ "description": "An EffectiveSecurityHealthAnalyticsCustomModule is the representation of a Security Health Analytics custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablementState` property in EffectiveSecurityHealthAnalyticsCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective enablement_state for the module in all child folders or projects is also `enabled`. EffectiveSecurityHealthAnalyticsCustomModule is read-only.", "id": "GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule", "properties": { + "cloudProvider": { + "description": "The cloud provider of the custom module.", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD_PLATFORM", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "Unspecified cloud provider.", + "Google Cloud Platform.", + "Amazon Web Services.", + "Microsoft Azure." + ], + "type": "string" + }, "customConfig": { "$ref": "GoogleCloudSecuritycenterV1CustomConfig", "description": "Output only. The user-specified configuration for the module.", @@ -4199,7 +4285,7 @@ "description": "A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. \"bigquery.googleapis.com/Dataset\"." }, "tagValues": { - "description": "Required. Tag values combined with `AND` to check against. Values in the form \"tagValues/123\" Example: `[ \"tagValues/123\", \"tagValues/456\", \"tagValues/789\" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing", + "description": "Required. Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of \"tagValues/123\". Example: `[ \"tagValues/123\", \"tagValues/456\", \"tagValues/789\" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing", "items": { "type": "string" }, @@ -4251,6 +4337,22 @@ "readOnly": true, "type": "string" }, + "cloudProvider": { + "description": "The cloud provider of the custom module.", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD_PLATFORM", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "Unspecified cloud provider.", + "Google Cloud.", + "Amazon Web Services (AWS).", + "Microsoft Azure." + ], + "type": "string" + }, "customConfig": { "$ref": "GoogleCloudSecuritycenterV1CustomConfig", "description": "The user specified custom configuration for the module." @@ -4864,6 +4966,10 @@ "description": "Represents an Azure resource group.", "id": "GoogleCloudSecuritycenterV2AzureResourceGroup", "properties": { + "id": { + "description": "The ID of the Azure resource group.", + "type": "string" + }, "name": { "description": "The name of the Azure resource group. This is not a UUID.", "type": "string" @@ -5557,6 +5663,40 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2DataRetentionDeletionEvent": { + "description": "Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments.", + "id": "GoogleCloudSecuritycenterV2DataRetentionDeletionEvent", + "properties": { + "dataObjectCount": { + "description": "Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000.", + "format": "int64", + "type": "string" + }, + "eventDetectionTime": { + "description": "Timestamp indicating when the event was detected.", + "format": "google-datetime", + "type": "string" + }, + "eventType": { + "description": "Type of the DRD event.", + "enum": [ + "EVENT_TYPE_UNSPECIFIED", + "EVENT_TYPE_MAX_TTL_EXCEEDED" + ], + "enumDescriptions": [ + "Unspecified event type.", + "The maximum retention time has been exceeded." + ], + "type": "string" + }, + "maxRetentionAllowed": { + "description": "Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user set the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2Database": { "description": "Represents database access information, such as queries. A database may be a sub-resource of an instance (as in the case of Cloud SQL instances or Cloud Spanner instances), or the database instance itself. Some database resources might not have the [full resource name](https://google.aip.dev/122#full-resource-names) populated because these resource types, such as Cloud SQL databases, are not yet supported by Cloud Asset Inventory. In these cases only the display name is provided.", "id": "GoogleCloudSecuritycenterV2Database", @@ -5607,6 +5747,17 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2Disk": { + "description": "Contains information about the disk associated with the finding.", + "id": "GoogleCloudSecuritycenterV2Disk", + "properties": { + "name": { + "description": "The name of the disk, for example, \"https://www.googleapis.com/compute/v1/projects/project-id/zones/zone-id/disks/disk-id\".", + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2DiskPath": { "description": "Path of the file in terms of underlying disk/partition identifiers.", "id": "GoogleCloudSecuritycenterV2DiskPath", @@ -5882,6 +6033,13 @@ }, "type": "array" }, + "dataRetentionDeletionEvents": { + "description": "Data retention deletion events associated with the finding.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2DataRetentionDeletionEvent" + }, + "type": "array" + }, "database": { "$ref": "GoogleCloudSecuritycenterV2Database", "description": "Database associated with the finding." @@ -5890,6 +6048,10 @@ "description": "Contains more details about the finding.", "type": "string" }, + "disk": { + "$ref": "GoogleCloudSecuritycenterV2Disk", + "description": "Disk associated with the finding." + }, "eventTime": { "description": "The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp.", "format": "google-datetime", @@ -6235,6 +6397,403 @@ }, "type": "object" }, + "GoogleCloudSecuritycenterV2Issue": { + "description": "Security Command Center Issue.", + "id": "GoogleCloudSecuritycenterV2Issue", + "properties": { + "createTime": { + "description": "Output only. The time the issue was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "The description of the issue in Markdown format.", + "type": "string" + }, + "detection": { + "description": "The finding category or rule name that generated the issue.", + "type": "string" + }, + "domains": { + "description": "The domains of the issue.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2IssueDomain" + }, + "type": "array" + }, + "exposureScore": { + "description": "The exposure score of the issue.", + "format": "double", + "type": "number" + }, + "issueType": { + "description": "The type of the issue.", + "enum": [ + "ISSUE_TYPE_UNSPECIFIED", + "CHOKEPOINT", + "TOXIC_COMBINATION", + "INSIGHT" + ], + "enumDescriptions": [ + "Unspecified issue type.", + "Chokepoint issue type.", + "Toxic combination issue type.", + "Insight issue type." + ], + "type": "string" + }, + "lastObservationTime": { + "description": "The time the issue was last observed.", + "format": "google-datetime", + "type": "string" + }, + "mute": { + "$ref": "GoogleCloudSecuritycenterV2IssueMute", + "description": "The mute information of the issue." + }, + "name": { + "description": "Identifier. The name of the issue. Format: organizations/{organization}/locations/{location}/issues/{issue}", + "type": "string" + }, + "primaryResource": { + "$ref": "GoogleCloudSecuritycenterV2IssueResource", + "description": "The primary resource associated with the issue." + }, + "relatedFindings": { + "description": "The findings related to the issue.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2IssueFinding" + }, + "type": "array" + }, + "remediations": { + "description": "Approaches to remediate the issue in Markdown format.", + "items": { + "type": "string" + }, + "type": "array" + }, + "secondaryResources": { + "description": "Additional resources associated with the issue.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2IssueResource" + }, + "type": "array" + }, + "securityContexts": { + "description": "The security context of the issue.", + "items": { + "$ref": "GoogleCloudSecuritycenterV2IssueSecurityContext" + }, + "type": "array" + }, + "severity": { + "description": "The severity of the issue.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "CRITICAL", + "HIGH", + "MEDIUM", + "LOW" + ], + "enumDescriptions": [ + "Unspecified severity.", + "Critical severity.", + "High severity.", + "Medium severity.", + "Low severity." + ], + "type": "string" + }, + "state": { + "description": "Output only. The state of the issue.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "INACTIVE" + ], + "enumDescriptions": [ + "Unspecified state.", + "Active state.", + "Inactive state." + ], + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time the issue was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueDomain": { + "description": "The domains of an issue.", + "id": "GoogleCloudSecuritycenterV2IssueDomain", + "properties": { + "domainCategory": { + "description": "The domain category of the issue.", + "enum": [ + "DOMAIN_CATEGORY_UNSPECIFIED", + "AI", + "CODE", + "CONTAINER", + "DATA", + "IDENTITY_AND_ACCESS", + "VULNERABILITY" + ], + "enumDescriptions": [ + "Unspecified domain category.", + "Issues in the AI domain.", + "Issues in the code domain.", + "Issues in the container domain.", + "Issues in the data domain.", + "Issues in the identity and access domain.", + "Issues in the vulnerability domain." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueFinding": { + "description": "Finding related to an issue.", + "id": "GoogleCloudSecuritycenterV2IssueFinding", + "properties": { + "cve": { + "$ref": "GoogleCloudSecuritycenterV2IssueFindingCve", + "description": "The CVE of the finding." + }, + "name": { + "description": "The name of the finding.", + "type": "string" + }, + "securityBulletin": { + "$ref": "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin", + "description": "The security bulletin of the finding." + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueFindingCve": { + "description": "The CVE of the finding.", + "id": "GoogleCloudSecuritycenterV2IssueFindingCve", + "properties": { + "name": { + "description": "The CVE name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin": { + "description": "The security bulletin of the finding.", + "id": "GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin", + "properties": { + "name": { + "description": "The security bulletin name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueMute": { + "description": "The mute information of the issue.", + "id": "GoogleCloudSecuritycenterV2IssueMute", + "properties": { + "muteInitiator": { + "description": "The email address of the user who last changed the mute state of the issue.", + "type": "string" + }, + "muteReason": { + "description": "The user-provided reason for muting the issue.", + "type": "string" + }, + "muteState": { + "description": "Output only. The mute state of the issue.", + "enum": [ + "MUTE_STATE_UNSPECIFIED", + "NOT_MUTED", + "MUTED" + ], + "enumDescriptions": [ + "Unspecified mute state.", + "Not muted.", + "Muted." + ], + "readOnly": true, + "type": "string" + }, + "muteUpdateTime": { + "description": "The time the issue was muted.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueResource": { + "description": "A resource associated with the an issue.", + "id": "GoogleCloudSecuritycenterV2IssueResource", + "properties": { + "awsMetadata": { + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata", + "description": "The AWS metadata of the resource associated with the issue. Only populated for AWS resources." + }, + "azureMetadata": { + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata", + "description": "The Azure metadata of the resource associated with the issue. Only populated for Azure resources." + }, + "cloudProvider": { + "description": "The cloud provider of the resource associated with the issue.", + "enum": [ + "CLOUD_PROVIDER_UNSPECIFIED", + "GOOGLE_CLOUD", + "AMAZON_WEB_SERVICES", + "MICROSOFT_AZURE" + ], + "enumDescriptions": [ + "Unspecified cloud provider.", + "Google Cloud.", + "Amazon Web Services.", + "Microsoft Azure." + ], + "type": "string" + }, + "displayName": { + "description": "The resource-type specific display name of the resource associated with the issue.", + "type": "string" + }, + "googleCloudMetadata": { + "$ref": "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata", + "description": "The Google Cloud metadata of the resource associated with the issue. Only populated for Google Cloud resources." + }, + "name": { + "description": "The full resource name of the resource associated with the issue.", + "type": "string" + }, + "type": { + "description": "The type of the resource associated with the issue.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata": { + "description": "The AWS metadata of a resource associated with an issue.", + "id": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadata", + "properties": { + "account": { + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount", + "description": "The AWS account of the resource associated with the issue." + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount": { + "description": "The AWS account of the resource associated with the issue.", + "id": "GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount", + "properties": { + "id": { + "description": "The AWS account ID of the resource associated with the issue.", + "type": "string" + }, + "name": { + "description": "The AWS account name of the resource associated with the issue.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata": { + "description": "The Azure metadata of a resource associated with an issue.", + "id": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadata", + "properties": { + "subscription": { + "$ref": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription", + "description": "The Azure subscription of the resource associated with the issue." + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription": { + "description": "The Azure subscription of the resource associated with the issue.", + "id": "GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription", + "properties": { + "displayName": { + "description": "The Azure subscription display name of the resource associated with the issue.", + "type": "string" + }, + "id": { + "description": "The Azure subscription ID of the resource associated with the issue.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata": { + "description": "Google Cloud metadata of a resource associated with an issue.", + "id": "GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata", + "properties": { + "projectId": { + "description": "The project ID that the resource associated with the issue belongs to.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueSecurityContext": { + "description": "Security context associated with an issue.", + "id": "GoogleCloudSecuritycenterV2IssueSecurityContext", + "properties": { + "aggregatedCount": { + "$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount", + "description": "The aggregated count of the security context." + }, + "context": { + "$ref": "GoogleCloudSecuritycenterV2IssueSecurityContextContext", + "description": "The context of the security context." + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount": { + "description": "Aggregated count of a security context.", + "id": "GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount", + "properties": { + "key": { + "description": "Aggregation key.", + "type": "string" + }, + "value": { + "description": "Aggregation value.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudSecuritycenterV2IssueSecurityContextContext": { + "description": "Context of a security context.", + "id": "GoogleCloudSecuritycenterV2IssueSecurityContextContext", + "properties": { + "type": { + "description": "Context type.", + "type": "string" + }, + "values": { + "description": "Context values.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "GoogleCloudSecuritycenterV2KernelRootkit": { "description": "Kernel mode rootkit signatures.", "id": "GoogleCloudSecuritycenterV2KernelRootkit", @@ -6484,6 +7043,7 @@ "ACCOUNT_ACCESS_REMOVAL", "STEAL_WEB_SESSION_COOKIE", "CREATE_OR_MODIFY_SYSTEM_PROCESS", + "EVENT_TRIGGERED_EXECUTION", "ABUSE_ELEVATION_CONTROL_MECHANISM", "UNSECURED_CREDENTIALS", "MODIFY_AUTHENTICATION_PROCESS", @@ -6500,6 +7060,7 @@ "ACTIVE_SCANNING", "SCANNING_IP_BLOCKS", "CONTAINER_ADMINISTRATION_COMMAND", + "DEPLOY_CONTAINER", "ESCAPE_TO_HOST", "CONTAINER_AND_RESOURCE_DISCOVERY", "STEAL_OR_FORGE_AUTHENTICATION_CERTIFICATES" @@ -6551,6 +7112,7 @@ "T1531", "T1539", "T1543", + "T1546", "T1548", "T1552", "T1556", @@ -6567,6 +7129,7 @@ "T1595", "T1595.001", "T1609", + "T1610", "T1611", "T1613", "T1649" @@ -6663,6 +7226,7 @@ "ACCOUNT_ACCESS_REMOVAL", "STEAL_WEB_SESSION_COOKIE", "CREATE_OR_MODIFY_SYSTEM_PROCESS", + "EVENT_TRIGGERED_EXECUTION", "ABUSE_ELEVATION_CONTROL_MECHANISM", "UNSECURED_CREDENTIALS", "MODIFY_AUTHENTICATION_PROCESS", @@ -6679,6 +7243,7 @@ "ACTIVE_SCANNING", "SCANNING_IP_BLOCKS", "CONTAINER_ADMINISTRATION_COMMAND", + "DEPLOY_CONTAINER", "ESCAPE_TO_HOST", "CONTAINER_AND_RESOURCE_DISCOVERY", "STEAL_OR_FORGE_AUTHENTICATION_CERTIFICATES" @@ -6730,6 +7295,7 @@ "T1531", "T1539", "T1543", + "T1546", "T1548", "T1552", "T1556", @@ -6746,6 +7312,7 @@ "T1595", "T1595.001", "T1609", + "T1610", "T1611", "T1613", "T1649" @@ -7339,7 +7906,7 @@ "description": "A mapping of the sensitivity on Sensitive Data Protection finding to resource values. This mapping can only be used in combination with a resource_type that is related to BigQuery, e.g. \"bigquery.googleapis.com/Dataset\"." }, "tagValues": { - "description": "Tag values combined with `AND` to check against. Values in the form \"tagValues/123\" Example: `[ \"tagValues/123\", \"tagValues/456\", \"tagValues/789\" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing", + "description": "Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of \"tagValues/123\". Example: `[ \"tagValues/123\", \"tagValues/456\", \"tagValues/789\" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing", "items": { "type": "string" }, @@ -8024,6 +8591,7 @@ "ACCOUNT_ACCESS_REMOVAL", "STEAL_WEB_SESSION_COOKIE", "CREATE_OR_MODIFY_SYSTEM_PROCESS", + "EVENT_TRIGGERED_EXECUTION", "ABUSE_ELEVATION_CONTROL_MECHANISM", "UNSECURED_CREDENTIALS", "MODIFY_AUTHENTICATION_PROCESS", @@ -8040,6 +8608,7 @@ "ACTIVE_SCANNING", "SCANNING_IP_BLOCKS", "CONTAINER_ADMINISTRATION_COMMAND", + "DEPLOY_CONTAINER", "ESCAPE_TO_HOST", "CONTAINER_AND_RESOURCE_DISCOVERY", "STEAL_OR_FORGE_AUTHENTICATION_CERTIFICATES" @@ -8091,6 +8660,7 @@ "T1531", "T1539", "T1543", + "T1546", "T1548", "T1552", "T1556", @@ -8107,6 +8677,7 @@ "T1595", "T1595.001", "T1609", + "T1610", "T1611", "T1613", "T1649" @@ -8203,6 +8774,7 @@ "ACCOUNT_ACCESS_REMOVAL", "STEAL_WEB_SESSION_COOKIE", "CREATE_OR_MODIFY_SYSTEM_PROCESS", + "EVENT_TRIGGERED_EXECUTION", "ABUSE_ELEVATION_CONTROL_MECHANISM", "UNSECURED_CREDENTIALS", "MODIFY_AUTHENTICATION_PROCESS", @@ -8219,6 +8791,7 @@ "ACTIVE_SCANNING", "SCANNING_IP_BLOCKS", "CONTAINER_ADMINISTRATION_COMMAND", + "DEPLOY_CONTAINER", "ESCAPE_TO_HOST", "CONTAINER_AND_RESOURCE_DISCOVERY", "STEAL_OR_FORGE_AUTHENTICATION_CERTIFICATES" @@ -8270,6 +8843,7 @@ "T1531", "T1539", "T1543", + "T1546", "T1548", "T1552", "T1556", @@ -8286,6 +8860,7 @@ "T1595", "T1595.001", "T1609", + "T1610", "T1611", "T1613", "T1649" diff --git a/discovery/securityposture-v1.json b/discovery/securityposture-v1.json new file mode 100644 index 0000000000..97e273fdb2 --- /dev/null +++ b/discovery/securityposture-v1.json @@ -0,0 +1,2136 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account." + } + } + } + }, + "basePath": "", + "baseUrl": "https://securityposture.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Security Posture", + "description": "Defines, assesses, and monitors the overall status of your security in Google Cloud. You can use security postures to evaluate your current cloud security against defined benchmarks and help maintain the level of security that your organization requires. ", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/security-command-center", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "securityposture:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://securityposture.mtls.googleapis.com/", + "name": "securityposture", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "organizations": { + "resources": { + "locations": { + "resources": { + "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/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}:cancel", + "httpMethod": "POST", + "id": "securityposture.organizations.locations.operations.cancel", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be cancelled.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/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/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "DELETE", + "id": "securityposture.organizations.locations.operations.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource to be deleted.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/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/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "securityposture.organizations.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "securityposture.organizations.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "postureDeployments": { + "methods": { + "create": { + "description": "Creates a new PostureDeployment in a given project and location.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/postureDeployments", + "httpMethod": "POST", + "id": "securityposture.organizations.locations.postureDeployments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name, in the format `organizations/{organization}/locations/global`.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "postureDeploymentId": { + "description": "Required. An identifier for the posture deployment.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/postureDeployments", + "request": { + "$ref": "PostureDeployment" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a PostureDeployment.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/postureDeployments/{postureDeploymentsId}", + "httpMethod": "DELETE", + "id": "securityposture.organizations.locations.postureDeployments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. An opaque identifier for the current version of the posture deployment. If you provide this value, then it must match the existing value. If the values don't match, then the request fails with an ABORTED error. If you omit this value, then the posture deployment is deleted regardless of its current `etag` value.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the posture deployment, in the format `organizations/{organization}/locations/global/postureDeployments/{posture_id}`.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/postureDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details for a PostureDeployment.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/postureDeployments/{postureDeploymentsId}", + "httpMethod": "GET", + "id": "securityposture.organizations.locations.postureDeployments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the PostureDeployment, in the format `organizations/{organization}/locations/global/postureDeployments/{posture_deployment_id}`.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/postureDeployments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "PostureDeployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists every PostureDeployment in a project and location.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/postureDeployments", + "httpMethod": "GET", + "id": "securityposture.organizations.locations.postureDeployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. A filter to apply to the list of postures, in the format defined in [AIP-160: Filtering](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of posture deployments to return. The default value is `500`. If you exceed the maximum value of `1000`, then the service uses the maximum value.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A pagination token returned from a previous request to list posture deployments. Provide this token to retrieve the next page of results.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name, in the format `organizations/{organization}/locations/global`.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/postureDeployments", + "response": { + "$ref": "ListPostureDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates an existing PostureDeployment. To prevent concurrent updates from overwriting each other, always follow the read-modify-write pattern when you update a posture deployment: 1. Call GetPostureDeployment to get the current version of the deployment. 2. Update the fields in the deployment as needed. 3. Call UpdatePostureDeployment to update the deployment. Ensure that your request includes the `etag` value from the GetPostureDeployment response. **Important:** If you omit the `etag` when you call UpdatePostureDeployment, then the updated deployment unconditionally overwrites the existing deployment.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/postureDeployments/{postureDeploymentsId}", + "httpMethod": "PATCH", + "id": "securityposture.organizations.locations.postureDeployments.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Identifier. The name of the posture deployment, in the format `organizations/{organization}/locations/global/postureDeployments/{deployment_id}`.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/postureDeployments/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "Required. The fields in the PostureDeployment to update. You can update only the following fields: * PostureDeployment.posture_id * PostureDeployment.posture_revision_id", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "PostureDeployment" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "postureTemplates": { + "methods": { + "get": { + "description": "Gets a single revision of a PostureTemplate.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/postureTemplates/{postureTemplatesId}", + "httpMethod": "GET", + "id": "securityposture.organizations.locations.postureTemplates.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the PostureTemplate, in the format `organizations/{organization}/locations/global/postureTemplates/{posture_template}`.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/postureTemplates/[^/]+$", + "required": true, + "type": "string" + }, + "revisionId": { + "description": "Optional. The posture template revision to retrieve. If not specified, the most recently updated revision is retrieved.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "PostureTemplate" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists every PostureTemplate in a given organization and location.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/postureTemplates", + "httpMethod": "GET", + "id": "securityposture.organizations.locations.postureTemplates.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. A filter to apply to the list of postures, in the format defined in [AIP-160: Filtering](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of posture templates to return. The default value is `500`. If you exceed the maximum value of `1000`, then the service uses the maximum value.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A pagination token returned from a previous request to list posture templates. Provide this token to retrieve the next page of results.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name, in the format `organizations/{organization}/locations/global`.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/postureTemplates", + "response": { + "$ref": "ListPostureTemplatesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "postures": { + "methods": { + "create": { + "description": "Creates a new Posture.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/postures", + "httpMethod": "POST", + "id": "securityposture.organizations.locations.postures.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name, in the format `organizations/{organization}/locations/global`.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "postureId": { + "description": "Required. An identifier for the posture.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/postures", + "request": { + "$ref": "Posture" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes all revisions of a Posture. You can only delete a posture if none of its revisions are deployed.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/postures/{posturesId}", + "httpMethod": "DELETE", + "id": "securityposture.organizations.locations.postures.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "etag": { + "description": "Optional. An opaque identifier for the current version of the posture. If you provide this value, then it must match the existing value. If the values don't match, then the request fails with an ABORTED error. If you omit this value, then the posture is deleted regardless of its current `etag` value.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the Posture, in the format `organizations/{organization}/locations/global/postures/{posture_id}`.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/postures/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "extract": { + "description": "Extracts existing policies from an organization, folder, or project, and applies them to another organization, folder, or project as a Posture. If the other organization, folder, or project already has a posture, then the result of the long-running operation is an ALREADY_EXISTS error.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/postures:extract", + "httpMethod": "POST", + "id": "securityposture.organizations.locations.postures.extract", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name, in the format `organizations/{organization}/locations/global`.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/postures:extract", + "request": { + "$ref": "ExtractPostureRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a single revision of a Posture.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/postures/{posturesId}", + "httpMethod": "GET", + "id": "securityposture.organizations.locations.postures.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the Posture, in the format `organizations/{organization}/locations/global/postures/{posture_id}`.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/postures/[^/]+$", + "required": true, + "type": "string" + }, + "revisionId": { + "description": "Optional. The posture revision to retrieve. If not specified, the most recently updated revision is retrieved.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Posture" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists the most recent revisions of all Posture resources in a specified organization and location.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/postures", + "httpMethod": "GET", + "id": "securityposture.organizations.locations.postures.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. A filter to apply to the list of postures, in the format defined in [AIP-160: Filtering](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of postures to return. The default value is `500`. If you exceed the maximum value of `1000`, then the service uses the maximum value.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A pagination token returned from a previous request to list postures. Provide this token to retrieve the next page of results.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name, in the format `organizations/{organization}/locations/global`.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/postures", + "response": { + "$ref": "ListPosturesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "listRevisions": { + "description": "Lists all revisions of a single Posture.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/postures/{posturesId}:listRevisions", + "httpMethod": "GET", + "id": "securityposture.organizations.locations.postures.listRevisions", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the Posture, in the format `organizations/{organization}/locations/global/postures/{posture_id}`.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/postures/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of posture revisions to return. The default value is `500`. If you exceed the maximum value of `1000`, then the service uses the maximum value.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A pagination token from a previous request to list posture revisions. Provide this token to retrieve the next page of results.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}:listRevisions", + "response": { + "$ref": "ListPostureRevisionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "description": "Updates a revision of an existing Posture. If the posture revision that you update is currently deployed, then a new revision of the posture is created. To prevent concurrent updates from overwriting each other, always follow the read-modify-write pattern when you update a posture: 1. Call GetPosture to get the current version of the posture. 2. Update the fields in the posture as needed. 3. Call UpdatePosture to update the posture. Ensure that your request includes the `etag` value from the GetPosture response. **Important:** If you omit the `etag` when you call UpdatePosture, then the updated posture unconditionally overwrites the existing posture.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/postures/{posturesId}", + "httpMethod": "PATCH", + "id": "securityposture.organizations.locations.postures.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Identifier. The name of the posture, in the format `organizations/{organization}/locations/global/postures/{posture_id}`.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/postures/[^/]+$", + "required": true, + "type": "string" + }, + "revisionId": { + "description": "Required. The revision ID of the posture to update. If the posture revision that you update is currently deployed, then a new revision of the posture is created.", + "location": "query", + "type": "string" + }, + "updateMask": { + "description": "Required. The fields in the Posture to update. You can update only the following fields: * Posture.description * Posture.policy_sets * Posture.state", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "Posture" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "reports": { + "methods": { + "createIaCValidationReport": { + "description": "Validates a specified infrastructure-as-code (IaC) configuration, and creates a Report with the validation results. Only Terraform configurations are supported. Only modified assets are validated.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/reports:createIaCValidationReport", + "httpMethod": "POST", + "id": "securityposture.organizations.locations.reports.createIaCValidationReport", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name, in the format `organizations/{organization}/locations/global`.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/reports:createIaCValidationReport", + "request": { + "$ref": "CreateIaCValidationReportRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets details for a Report.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/reports/{reportsId}", + "httpMethod": "GET", + "id": "securityposture.organizations.locations.reports.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the report, in the format `organizations/{organization}/locations/global/reports/{report_id}`.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+/reports/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Report" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists every Report in a given organization and location.", + "flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/reports", + "httpMethod": "GET", + "id": "securityposture.organizations.locations.reports.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "Optional. A filter to apply to the list of reports, in the format defined in [AIP-160: Filtering](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "Optional. The maximum number of reports to return. The default value is `500`. If you exceed the maximum value of `1000`, then the service uses the maximum value.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Optional. A pagination token returned from a previous request to list reports. Provide this token to retrieve the next page of results.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name, in the format `organizations/{organization}/locations/global`.", + "location": "path", + "pattern": "^organizations/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/reports", + "response": { + "$ref": "ListReportsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + }, + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "securityposture.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v1/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "securityposture.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).", + "location": "query", + "type": "string" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The maximum number of results to return. If not set, the service selects a default.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + }, + "revision": "20241212", + "rootUrl": "https://securityposture.googleapis.com/", + "schemas": { + "AssetDetails": { + "description": "Details of a Cloud Asset Inventory asset that caused a violation.", + "id": "AssetDetails", + "properties": { + "asset": { + "description": "Information about the Cloud Asset Inventory asset that violated a policy. The format of this information can change at any time without prior notice. Your application must not depend on this information in any way.", + "type": "string" + }, + "assetType": { + "description": "The type of Cloud Asset Inventory asset. For a list of asset types, see [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types).", + "type": "string" + } + }, + "type": "object" + }, + "CancelOperationRequest": { + "description": "The request message for Operations.CancelOperation.", + "id": "CancelOperationRequest", + "properties": {}, + "type": "object" + }, + "ComplianceStandard": { + "description": "Information about a compliance standard that the policy helps enforce.", + "id": "ComplianceStandard", + "properties": { + "control": { + "description": "Optional. The control in the compliance standard that the policy helps enforce. For example, `AC-3`.", + "type": "string" + }, + "standard": { + "description": "Optional. The compliance standard that the policy helps enforce. For example, `NIST SP 800-53`.", + "type": "string" + } + }, + "type": "object" + }, + "Constraint": { + "description": "Metadata for a constraint in a Policy.", + "id": "Constraint", + "properties": { + "orgPolicyConstraint": { + "$ref": "OrgPolicyConstraint", + "description": "Optional. A predefined organization policy constraint." + }, + "orgPolicyConstraintCustom": { + "$ref": "OrgPolicyConstraintCustom", + "description": "Optional. A custom organization policy constraint." + }, + "securityHealthAnalyticsCustomModule": { + "$ref": "SecurityHealthAnalyticsCustomModule", + "description": "Optional. A custom module for Security Health Analytics." + }, + "securityHealthAnalyticsModule": { + "$ref": "SecurityHealthAnalyticsModule", + "description": "Optional. A built-in detector for Security Health Analytics." + } + }, + "type": "object" + }, + "CreateIaCValidationReportRequest": { + "description": "Request message for CreateIaCValidationReport.", + "id": "CreateIaCValidationReportRequest", + "properties": { + "iac": { + "$ref": "IaC", + "description": "Required. The infrastructure-as-code (IaC) configuration to validate." + } + }, + "type": "object" + }, + "CustomConfig": { + "description": "A custom module configuration for Security Health Analytics. Use `CustomConfig` to create custom detectors that generate custom findings for resources that you specify.", + "id": "CustomConfig", + "properties": { + "customOutput": { + "$ref": "CustomOutputSpec", + "description": "Optional. Definitions of custom source properties to include in findings." + }, + "description": { + "description": "Optional. A description of the vulnerability or misconfiguration that the custom module detects. The description appears in each finding. Provide enough information to help an investigator understand the finding. The value must be enclosed in quotation marks.", + "type": "string" + }, + "predicate": { + "$ref": "Expr", + "description": "Required. The Common Expression Language (CEL) expression to evaluate. When the expression evaluates to `true` for a resource, a finding is generated." + }, + "recommendation": { + "description": "Required. An explanation of the steps that security teams can take to resolve the detected issue. The explanation appears in each finding.", + "type": "string" + }, + "resourceSelector": { + "$ref": "ResourceSelector", + "description": "Required. The resource types that the custom module operates on." + }, + "severity": { + "description": "Required. The severity of findings generated by the custom module.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "CRITICAL", + "HIGH", + "MEDIUM", + "LOW" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Critical severity.", + "High severity.", + "Medium severity.", + "Low severity." + ], + "type": "string" + } + }, + "type": "object" + }, + "CustomOutputSpec": { + "description": "Definitions of custom source properties that can appear in findings.", + "id": "CustomOutputSpec", + "properties": { + "properties": { + "description": "Optional. The custom source properties that can appear in findings.", + "items": { + "$ref": "Property" + }, + "type": "array" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() < 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' && document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", + "id": "Expr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language syntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.", + "type": "string" + } + }, + "type": "object" + }, + "ExtractPostureRequest": { + "description": "Request message for ExtractPosture.", + "id": "ExtractPostureRequest", + "properties": { + "postureId": { + "description": "Required. An identifier for the posture.", + "type": "string" + }, + "workload": { + "description": "Required. The organization, folder, or project from which policies are extracted. Must be within the organization defined in parent. Use one of the following formats: * `organization/{organization_number}` * `folder/{folder_number}` * `project/{project_number}`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritypostureV1CustomConstraint": { + "description": "A custom, user-defined constraint. You can apply the constraint only to the resource types specified in the constraint, and only within the organization where the constraint is defined. _When you create a custom constraint, it is not enforced automatically._ You must use an organization policy to [enforce the constraint](https://cloud.google.com/resource-manager/help/organization-policy/constraints/enforce).", + "id": "GoogleCloudSecuritypostureV1CustomConstraint", + "properties": { + "actionType": { + "description": "Whether to allow or deny the action.", + "enum": [ + "ACTION_TYPE_UNSPECIFIED", + "ALLOW", + "DENY" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Allow the action.", + "Deny the action." + ], + "type": "string" + }, + "condition": { + "description": "A Common Expression Language (CEL) condition expression that must evaluate to `true` for the constraint to be enforced. The maximum length is 1000 characters. For example: + `resource.instanceName.matches('(production|test)_(.+_)?[\\d]+')`: Evaluates to `true` if the resource's `instanceName` attribute contains the following: + The prefix `production` or `test` + An underscore (`_`) + Optional: One or more characters, followed by an underscore (`_`) + One or more digits + `resource.management.auto_upgrade == true`: Evaluates to `true` if the resource's `management.auto_upgrade` attribute is `true`.", + "type": "string" + }, + "description": { + "description": "A description of the constraint. The maximum length is 2000 characters.", + "type": "string" + }, + "displayName": { + "description": "A display name for the constraint. The maximum length is 200 characters.", + "type": "string" + }, + "methodTypes": { + "description": "The types of operations that the constraint applies to.", + "items": { + "enum": [ + "METHOD_TYPE_UNSPECIFIED", + "CREATE", + "UPDATE", + "DELETE" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Constraint applied when creating the resource.", + "Constraint applied when updating the resource.", + "Not supported. Constraint applied when deleting the resource." + ], + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Immutable. The name of the constraint, in the format `organizations/{organization_id}/customConstraints/custom.{custom_constraint_id}`. For example, `organizations/123456789012/customConstraints/custom.createOnlyE2TypeVms`. Must contain 1 to 62 characters, excluding the prefix `organizations/{organization_id}/customConstraints/custom.`.", + "type": "string" + }, + "resourceTypes": { + "description": "Immutable. The resource type that the constraint applies to, in the format `{canonical_service_name}/{resource_type_name}`. For example, `compute.googleapis.com/Instance`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "updateTime": { + "description": "Output only. The last time at which the constraint was updated or created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudSecuritypostureV1PolicyRule": { + "description": "A rule that defines the allowed and denied values for an organization policy constraint.", + "id": "GoogleCloudSecuritypostureV1PolicyRule", + "properties": { + "allowAll": { + "description": "Whether to allow any value for a list constraint. Valid only for list constraints.", + "type": "boolean" + }, + "condition": { + "$ref": "Expr", + "description": "A condition that determines whether this rule is used to evaluate the policy. When set, the google.type.Expr.expression field must contain 1 to 10 subexpressions, joined by the `||` or `&&` operators. Each subexpression must use the `resource.matchTag()` or `resource.matchTagId()` Common Expression Language (CEL) function. The `resource.matchTag()` function takes the following arguments: * `key_name`: the namespaced name of the tag key, with the organization ID and a slash (`/`) as a prefix; for example, `123456789012/environment` * `value_name`: the short name of the tag value For example: `resource.matchTag('123456789012/environment, 'prod')` The `resource.matchTagId()` function takes the following arguments: * `key_id`: the permanent ID of the tag key; for example, `tagKeys/123456789012` * `value_id`: the permanent ID of the tag value; for example, `tagValues/567890123456` For example: `resource.matchTagId('tagKeys/123456789012', 'tagValues/567890123456')`" + }, + "denyAll": { + "description": "Whether to deny all values for a list constraint. Valid only for list constraints.", + "type": "boolean" + }, + "enforce": { + "description": "Whether to enforce the constraint. Valid only for boolean constraints.", + "type": "boolean" + }, + "parameters": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional. Required for GMCs if parameters defined in constraints. Pass parameter values when policy enforcement is enabled. Ensure that parameter value types match those defined in the constraint definition. For example: { \"allowedLocations\" : [\"us-east1\", \"us-west1\"], \"allowAll\" : true }", + "type": "object" + }, + "resourceTypes": { + "$ref": "ResourceTypes", + "description": "Optional. The resource types policy can support, only used for Google managed constraint and method type is GOVERN_TAGS." + }, + "values": { + "$ref": "GoogleCloudSecuritypostureV1PolicyRuleStringValues", + "description": "The allowed and denied values for a list constraint. Valid only for list constraints." + } + }, + "type": "object" + }, + "GoogleCloudSecuritypostureV1PolicyRuleStringValues": { + "description": "The allowed and denied values for a list constraint. For all constraints, these fields can contain literal values. Optionally, you can add the `is:` prefix to these values. If the value contains a colon (`:`), then the `is:` prefix is required. Some constraints allow you to specify a portion of the resource hierarchy, known as a [_hierarchy subtree_](https://cloud.google.com/resource-manager/help/organization-policy/hierarchy-subtree), that the constraint applies to. To specify a hierarchy subtree, use the `under:` prefix, followed by a value with one of these formats: - `projects/{project_id}` (for example, `projects/tokyo-rain-123`) - `folders/{folder_id}` (for example, `folders/1234567890123`) - `organizations/{organization_id}` (for example, `organizations/123456789012`) A constraint's `supports_under` field indicates whether you can specify a hierarchy subtree. To learn which predefined constraints let you specify a hierarchy subtree, see the [constraints reference](https://cloud.google.com/resource-manager/help/organization-policy/constraints/reference).", + "id": "GoogleCloudSecuritypostureV1PolicyRuleStringValues", + "properties": { + "allowedValues": { + "description": "The allowed values for the constraint.", + "items": { + "type": "string" + }, + "type": "array" + }, + "deniedValues": { + "description": "The denied values for the constraint.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "IaC": { + "description": "Details of an infrastructure-as-code (IaC) configuration.", + "id": "IaC", + "properties": { + "tfPlan": { + "description": "Optional. A Terraform plan file, formatted as a stringified JSON object. To learn how to generate a Terraform plan file in JSON format, see [JSON output format](https://developer.hashicorp.com/terraform/internals/json-format) in the Terraform documentation.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "IaCValidationReport": { + "description": "Details of an infrastructure-as-code (IaC) validation report.", + "id": "IaCValidationReport", + "properties": { + "note": { + "description": "Additional information about the report.", + "type": "string" + }, + "violations": { + "description": "A list of every Violation found in the IaC configuration.", + "items": { + "$ref": "Violation" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListPostureDeploymentsResponse": { + "description": "Response message for ListPostureDeployments.", + "id": "ListPostureDeploymentsResponse", + "properties": { + "nextPageToken": { + "description": "A pagination token. To retrieve the next page of results, call the method again with this token.", + "type": "string" + }, + "postureDeployments": { + "description": "The list of PostureDeployment resources.", + "items": { + "$ref": "PostureDeployment" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that were temporarily unavailable and could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListPostureRevisionsResponse": { + "description": "Response message for ListPostureRevisions.", + "id": "ListPostureRevisionsResponse", + "properties": { + "nextPageToken": { + "description": "A pagination token. To retrieve the next page of results, call the method again with this token.", + "type": "string" + }, + "revisions": { + "description": "The list of revisions for the Posture.", + "items": { + "$ref": "Posture" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListPostureTemplatesResponse": { + "description": "Response message for ListPostureTemplates.", + "id": "ListPostureTemplatesResponse", + "properties": { + "nextPageToken": { + "description": "A pagination token. To retrieve the next page of results, call the method again with this token.", + "type": "string" + }, + "postureTemplates": { + "description": "The list of PostureTemplate resources.", + "items": { + "$ref": "PostureTemplate" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListPosturesResponse": { + "description": "Response message for ListPostures.", + "id": "ListPosturesResponse", + "properties": { + "nextPageToken": { + "description": "A pagination token. To retrieve the next page of results, call the method again with this token.", + "type": "string" + }, + "postures": { + "description": "The list of Posture resources.", + "items": { + "$ref": "Posture" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that were temporarily unavailable and could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListReportsResponse": { + "description": "Response message for ListReports.", + "id": "ListReportsResponse", + "properties": { + "nextPageToken": { + "description": "A pagination token. To retrieve the next page of results, call the method again with this token.", + "type": "string" + }, + "reports": { + "description": "The list of Report resources.", + "items": { + "$ref": "Report" + }, + "type": "array" + }, + "unreachable": { + "description": "Locations that were temporarily unavailable and could not be reached.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents a Google Cloud location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given location.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a network API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "OperationMetadata": { + "description": "Metadata for an Operation.", + "id": "OperationMetadata", + "properties": { + "apiVersion": { + "description": "Output only. The API version used to start the operation.", + "readOnly": true, + "type": "string" + }, + "createTime": { + "description": "Output only. The time at which the operation was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "endTime": { + "description": "Output only. The time at which the operation finished running.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "errorMessage": { + "description": "Output only. An error message. Returned when a PostureDeployment enters a failure state like UPDATE_FAILED.", + "readOnly": true, + "type": "string" + }, + "requestedCancellation": { + "description": "Output only. Whether a request to cancel the operation has been received. For operations that have been cancelled successfully, the Operation.error field contains the error code CANCELLED.", + "readOnly": true, + "type": "boolean" + }, + "statusMessage": { + "description": "Output only. The status of the operation, if any.", + "readOnly": true, + "type": "string" + }, + "target": { + "description": "Output only. The server-defined resource path for the target of the operation.", + "readOnly": true, + "type": "string" + }, + "verb": { + "description": "Output only. The name of the action executed by the operation.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "OrgPolicyConstraint": { + "description": "A predefined organization policy constraint.", + "id": "OrgPolicyConstraint", + "properties": { + "cannedConstraintId": { + "description": "Required. A unique identifier for the constraint.", + "type": "string" + }, + "policyRules": { + "description": "Required. The rules enforced by the constraint.", + "items": { + "$ref": "GoogleCloudSecuritypostureV1PolicyRule" + }, + "type": "array" + } + }, + "type": "object" + }, + "OrgPolicyConstraintCustom": { + "description": "A custom organization policy constraint.", + "id": "OrgPolicyConstraintCustom", + "properties": { + "customConstraint": { + "$ref": "GoogleCloudSecuritypostureV1CustomConstraint", + "description": "Required. Metadata for the constraint." + }, + "policyRules": { + "description": "Required. The rules enforced by the constraint.", + "items": { + "$ref": "GoogleCloudSecuritypostureV1PolicyRule" + }, + "type": "array" + } + }, + "type": "object" + }, + "Policy": { + "description": "The details of a policy, including the constraints that it includes.", + "id": "Policy", + "properties": { + "complianceStandards": { + "description": "Optional. The compliance standards that the policy helps enforce.", + "items": { + "$ref": "ComplianceStandard" + }, + "type": "array" + }, + "constraint": { + "$ref": "Constraint", + "description": "Required. The constraints that the policy includes." + }, + "description": { + "description": "Optional. A description of the policy.", + "type": "string" + }, + "policyId": { + "description": "Required. A user-specified identifier for the policy. In a PolicySet, each policy must have a unique identifier.", + "type": "string" + } + }, + "type": "object" + }, + "PolicyDetails": { + "description": "Details of a policy that was violated.", + "id": "PolicyDetails", + "properties": { + "complianceStandards": { + "description": "The compliance standards that the policy maps to. For example, `CIS-2.0 1.15`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "constraint": { + "description": "Information about the constraint that was violated. The format of this information can change at any time without prior notice. Your application must not depend on this information in any way.", + "type": "string" + }, + "constraintType": { + "description": "The type of constraint that was violated.", + "enum": [ + "CONSTRAINT_TYPE_UNSPECIFIED", + "SECURITY_HEALTH_ANALYTICS_CUSTOM_MODULE", + "ORG_POLICY_CUSTOM", + "SECURITY_HEALTH_ANALYTICS_MODULE", + "ORG_POLICY", + "REGO_POLICY" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "A custom module for Security Health Analytics.", + "A custom organization policy constraint.", + "A built-in detector for Security Health Analytics.", + "A predefined organization policy constraint.", + "A custom rego policy constraint." + ], + "type": "string" + }, + "description": { + "description": "A description of the policy.", + "type": "string" + } + }, + "type": "object" + }, + "PolicySet": { + "description": "A group of one or more Policy resources.", + "id": "PolicySet", + "properties": { + "description": { + "description": "Optional. A description of the policy set.", + "type": "string" + }, + "policies": { + "description": "Required. The Policy resources in the policy set. Each policy must have a policy_id that's unique within the policy set.", + "items": { + "$ref": "Policy" + }, + "type": "array" + }, + "policySetId": { + "description": "Required. An identifier for the policy set.", + "type": "string" + } + }, + "type": "object" + }, + "Posture": { + "description": "The details of a posture.", + "id": "Posture", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The user-specified annotations for the posture. For details about the values you can use in an annotation, see [AIP-148: Standard fields](https://google.aip.dev/148#annotations).", + "type": "object" + }, + "categories": { + "description": "Output only. The categories that the posture belongs to, as determined by the Security Posture API.", + "items": { + "enum": [ + "CATEGORY_UNSPECIFIED", + "AI", + "AWS", + "GCP", + "AZURE" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Artificial intelligence (AI).", + "Amazon Web Services (AWS) policies.", + "Google Cloud policies.", + "Microsoft Azure policies." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "createTime": { + "description": "Output only. The time at which the posture was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. A description of the posture.", + "type": "string" + }, + "etag": { + "description": "Optional. An opaque identifier for the current version of the posture at the specified `revision_id`. To prevent concurrent updates from overwriting each other, always provide the `etag` when you update a posture. You can also provide the `etag` when you delete a posture, to help ensure that you're deleting the intended version of the posture.", + "type": "string" + }, + "name": { + "description": "Required. Identifier. The name of the posture, in the format `organizations/{organization}/locations/global/postures/{posture_id}`.", + "type": "string" + }, + "policySets": { + "description": "Required. The PolicySet resources that the posture includes.", + "items": { + "$ref": "PolicySet" + }, + "type": "array" + }, + "reconciling": { + "description": "Output only. Whether the posture is in the process of being updated.", + "readOnly": true, + "type": "boolean" + }, + "revisionId": { + "description": "Output only. Immutable. An opaque eight-character string that identifies the revision of the posture. A posture can have multiple revisions; when you deploy a posture, you deploy a specific revision of the posture.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Required. The state of the posture at the specified `revision_id`.", + "enum": [ + "STATE_UNSPECIFIED", + "DEPRECATED", + "DRAFT", + "ACTIVE" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The posture is deprecated and can no longer be deployed.", + "The posture is a draft and is not ready to deploy.", + "The posture is complete and ready to deploy." + ], + "type": "string" + }, + "updateTime": { + "description": "Output only. The time at which the posture was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "PostureDeployment": { + "description": "Details for a Posture deployment on an organization, folder, or project. You can deploy at most one posture to each organization, folder, or project. The parent resource for a posture deployment is always the organization, even if the deployment applies to a folder or project.", + "id": "PostureDeployment", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. The user-specified annotations for the posture deployment. For details about the values you can use in an annotation, see [AIP-148: Standard fields](https://google.aip.dev/148#annotations).", + "type": "object" + }, + "categories": { + "description": "Output only. The categories that the posture deployment belongs to, as determined by the Security Posture API.", + "items": { + "enum": [ + "CATEGORY_UNSPECIFIED", + "AI", + "AWS", + "GCP", + "AZURE" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Artificial intelligence (AI).", + "Amazon Web Services (AWS) policies.", + "Google Cloud policies.", + "Microsoft Azure policies." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "createTime": { + "description": "Output only. The time at which the posture deployment was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Optional. A description of the posture deployment.", + "type": "string" + }, + "desiredPostureId": { + "description": "Output only. The posture ID that was specified for the deployment. Present only if the posture deployment is in a failed state.", + "readOnly": true, + "type": "string" + }, + "desiredPostureRevisionId": { + "description": "Output only. The revision ID of the posture that was specified for the deployment. Present only if the deployment is in a failed state.", + "readOnly": true, + "type": "string" + }, + "etag": { + "description": "Optional. An opaque identifier for the current version of the posture deployment. To prevent concurrent updates from overwriting each other, always provide the `etag` when you update a posture deployment. You can also provide the `etag` when you delete a posture deployment, to help ensure that you're deleting the intended posture deployment.", + "type": "string" + }, + "failureMessage": { + "description": "Output only. A description of why the posture deployment failed. Present only if the deployment is in a failed state.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Required. Identifier. The name of the posture deployment, in the format `organizations/{organization}/locations/global/postureDeployments/{deployment_id}`.", + "type": "string" + }, + "postureId": { + "description": "Required. The posture used in the deployment, in the format `organizations/{organization}/locations/global/postures/{posture_id}`.", + "type": "string" + }, + "postureRevisionId": { + "description": "Required. The revision ID of the posture used in the deployment.", + "type": "string" + }, + "reconciling": { + "description": "Output only. Whether the posture deployment is in the process of being updated.", + "readOnly": true, + "type": "boolean" + }, + "state": { + "description": "Output only. The state of the posture deployment.", + "enum": [ + "STATE_UNSPECIFIED", + "CREATING", + "DELETING", + "UPDATING", + "ACTIVE", + "CREATE_FAILED", + "UPDATE_FAILED", + "DELETE_FAILED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The posture deployment is being created.", + "The posture deployment is being deleted.", + "The posture deployment is being updated.", + "The posture deployment is active and in use.", + "The posture deployment could not be created.", + "The posture deployment could not be updated.", + "The posture deployment could not be deleted." + ], + "readOnly": true, + "type": "string" + }, + "targetResource": { + "description": "Required. The organization, folder, or project where the posture is deployed. Uses one of the following formats: * `organizations/{organization_number}` * `folders/{folder_number}` * `projects/{project_number}`", + "type": "string" + }, + "updateTime": { + "description": "Output only. The time at which the posture deployment was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "PostureDetails": { + "description": "Details of a posture deployment.", + "id": "PostureDetails", + "properties": { + "policySet": { + "description": "The identifier for the PolicySet that the relevant policy belongs to.", + "type": "string" + }, + "posture": { + "description": "The posture used in the deployment, in the format `organizations/{organization}/locations/global/postures/{posture_id}`.", + "type": "string" + }, + "postureDeployment": { + "description": "The name of the posture deployment, in the format `organizations/{organization}/locations/global/postureDeployments/{deployment_id}`.", + "type": "string" + }, + "postureDeploymentTargetResource": { + "description": "The organization, folder, or project where the posture is deployed. Uses one of the following formats: * `organizations/{organization_number}` * `folders/{folder_number}` * `projects/{project_number}`", + "type": "string" + }, + "postureRevisionId": { + "description": "The revision ID of the posture used in the deployment.", + "type": "string" + } + }, + "type": "object" + }, + "PostureTemplate": { + "description": "The details of a posture template.", + "id": "PostureTemplate", + "properties": { + "categories": { + "description": "Output only. The categories that the posture template belongs to, as determined by the Security Posture API.", + "items": { + "enum": [ + "CATEGORY_UNSPECIFIED", + "AI", + "AWS", + "GCP", + "AZURE" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Artificial intelligence (AI).", + "Amazon Web Services (AWS) policies.", + "Google Cloud policies.", + "Microsoft Azure policies." + ], + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "description": { + "description": "Output only. A description of the posture template.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. Identifier. The name of the posture template, in the format `organizations/{organization}/locations/global/postureTemplates/{posture_template}`.", + "readOnly": true, + "type": "string" + }, + "policySets": { + "description": "Output only. The PolicySet resources that the posture template includes.", + "items": { + "$ref": "PolicySet" + }, + "readOnly": true, + "type": "array" + }, + "revisionId": { + "description": "Output only. A string that identifies the revision of the posture template.", + "readOnly": true, + "type": "string" + }, + "state": { + "description": "Output only. The state of the posture template at the specified `revision_id`.", + "enum": [ + "STATE_UNSPECIFIED", + "ACTIVE", + "DEPRECATED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The posture template follows the latest controls and standards.", + "The posture template uses outdated controls and standards. We recommend that you use a newer revision of the posture template." + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "Property": { + "description": "A name-value pair used as a custom source property.", + "id": "Property", + "properties": { + "name": { + "description": "Required. The name of the custom source property.", + "type": "string" + }, + "valueExpression": { + "$ref": "Expr", + "description": "Optional. The CEL expression for the value of the custom source property. For resource properties, you can return the value of the property or a string enclosed in quotation marks." + } + }, + "type": "object" + }, + "Report": { + "description": "Details of a report.", + "id": "Report", + "properties": { + "createTime": { + "description": "Output only. The time at which the report was created.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "iacValidationReport": { + "$ref": "IaCValidationReport", + "description": "Output only. An infrastructure-as-code (IaC) validation report.", + "readOnly": true + }, + "name": { + "description": "Required. The name of the report, in the format `organizations/{organization}/locations/global/reports/{report_id}`.", + "type": "string" + }, + "updateTime": { + "description": "Output only. The time at which the report was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ResourceSelector": { + "description": "A selector for the resource types to run the detector on.", + "id": "ResourceSelector", + "properties": { + "resourceTypes": { + "description": "Required. The resource types to run the detector on. Each custom module can specify up to 5 resource types.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "ResourceTypes": { + "description": "Set multiple resource types for one policy, eg: resourceTypes: included: - compute.googleapis.com/Instance - compute.googleapis.com/Disk Constraint definition contains an empty resource type in order to support multiple resource types in the policy. Only support Google managed constriaint and method type is GOVERN_TAGS Refer go/multi-resource-support-force-tags-gmc to get more details.", + "id": "ResourceTypes", + "properties": { + "included": { + "description": "Optional. The resource type we currently support. cloud/orgpolicy/customconstraintconfig/prod/resource_types.prototext", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "SecurityHealthAnalyticsCustomModule": { + "description": "A custom module for Security Health Analytics.", + "id": "SecurityHealthAnalyticsCustomModule", + "properties": { + "config": { + "$ref": "CustomConfig", + "description": "Required. Configuration settings for the custom module." + }, + "displayName": { + "description": "Optional. The display name of the custom module. This value is used as the finding category for all the asset violation findings that the custom module returns. The display name must contain between 1 and 128 alphanumeric characters or underscores, and it must start with a lowercase letter.", + "type": "string" + }, + "id": { + "description": "Output only. Immutable. The unique identifier for the custom module. Contains 1 to 20 digits.", + "readOnly": true, + "type": "string" + }, + "moduleEnablementState": { + "description": "Whether the custom module is enabled at a specified level of the resource hierarchy.", + "enum": [ + "ENABLEMENT_STATE_UNSPECIFIED", + "ENABLED", + "DISABLED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The detector or custom module is enabled.", + "The detector or custom module is disabled." + ], + "type": "string" + } + }, + "type": "object" + }, + "SecurityHealthAnalyticsModule": { + "description": "A built-in detector for Security Health Analytics.", + "id": "SecurityHealthAnalyticsModule", + "properties": { + "moduleEnablementState": { + "description": "Whether the detector is enabled at a specified level of the resource hierarchy.", + "enum": [ + "ENABLEMENT_STATE_UNSPECIFIED", + "ENABLED", + "DISABLED" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "The detector or custom module is enabled.", + "The detector or custom module is disabled." + ], + "type": "string" + }, + "moduleName": { + "description": "Required. The name of the detector. For example, `BIGQUERY_TABLE_CMEK_DISABLED`. This field is also used as the finding category for all the asset violation findings that the detector returns.", + "type": "string" + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "Violation": { + "description": "Details of a violation.", + "id": "Violation", + "properties": { + "assetId": { + "description": "The full resource name of the asset that caused the violation. For details about the format of the full resource name for each asset type, see [Resource name format](https://cloud.google.com/asset-inventory/docs/resource-name-format).", + "type": "string" + }, + "nextSteps": { + "description": "A description of the steps that you can take to fix the violation.", + "type": "string" + }, + "policyId": { + "description": "The policy that was violated.", + "type": "string" + }, + "severity": { + "description": "The severity of the violation.", + "enum": [ + "SEVERITY_UNSPECIFIED", + "CRITICAL", + "HIGH", + "MEDIUM", + "LOW" + ], + "enumDescriptions": [ + "Default value. This value is unused.", + "Critical severity.", + "High severity.", + "Medium severity.", + "Low severity." + ], + "type": "string" + }, + "violatedAsset": { + "$ref": "AssetDetails", + "description": "Details of the Cloud Asset Inventory asset that caused the violation." + }, + "violatedPolicy": { + "$ref": "PolicyDetails", + "description": "Details of the policy that was violated." + }, + "violatedPosture": { + "$ref": "PostureDetails", + "description": "Details for the posture that was violated. This field is present only if the violated policy belongs to a deployed posture." + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Security Posture API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/discovery/serviceconsumermanagement-v1.json b/discovery/serviceconsumermanagement-v1.json index 02e3dfa4ac..dc718bbc20 100644 --- a/discovery/serviceconsumermanagement-v1.json +++ b/discovery/serviceconsumermanagement-v1.json @@ -108,7 +108,7 @@ "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`.", + "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": "serviceconsumermanagement.operations.cancel", @@ -542,7 +542,7 @@ } } }, - "revision": "20240929", + "revision": "20241210", "rootUrl": "https://serviceconsumermanagement.googleapis.com/", "schemas": { "AddTenantProjectRequest": { @@ -1133,6 +1133,10 @@ "description": "`Documentation` provides the information for describing a service. Example: documentation: summary: > The Google Calendar API gives access to most calendar features. pages: - name: Overview content: (== include google/foo/overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==) rules: - selector: google.calendar.Calendar.Get description: > ... - selector: google.calendar.Calendar.Put description: > ... Documentation is provided in markdown syntax. In addition to standard markdown features, definition lists, tables and fenced code blocks are supported. Section headers can be provided and are interpreted relative to the section nesting of the context where a documentation fragment is embedded. Documentation from the IDL is merged with documentation defined via the config at normalization time, where documentation provided by config rules overrides IDL provided. A number of constructs specific to the API platform are supported in documentation text. In order to reference a proto element, the following notation can be used: [fully.qualified.proto.name][] To override the display text used for the link, this can be used: [display text][fully.qualified.proto.name] Text can be excluded from doc using the following notation: (-- internal comment --) A few directives are available in documentation. Note that directives must appear on a single line to be properly identified. The `include` directive includes a markdown file from an external source: (== include path/to/file ==) The `resource_for` directive marks a message to be the resource of a collection in REST view. If it is not specified, tools attempt to infer the resource from the operations in a collection: (== resource_for v1.shelves.books ==) The directive `suppress_warning` does not directly affect documentation and is documented together with service config validation.", "id": "Documentation", "properties": { + "additionalIamInfo": { + "description": "Optional information about the IAM configuration. This is typically used to link to documentation about a product's IAM roles and permissions.", + "type": "string" + }, "documentationRootUrl": { "description": "The URL to the root of documentation.", "type": "string" @@ -1348,6 +1352,10 @@ "description": "Experimental features to be included during client library generation. These fields will be deprecated once the feature graduates and is enabled by default.", "id": "ExperimentalFeatures", "properties": { + "protobufPythonicTypesEnabled": { + "description": "Enables generation of protobuf code using new types that are more Pythonic which are included in `protobuf>=5.29.x`. This feature will be enabled by default 1 month after launching the feature in preview packages.", + "type": "boolean" + }, "restAsyncIoEnabled": { "description": "Enables generation of asynchronous REST clients if `rest` transport is enabled. By default, asynchronous REST clients will not be generated. This feature will be enabled by default 1 month after launching the feature in preview packages.", "type": "boolean" @@ -1487,6 +1495,13 @@ "common": { "$ref": "CommonLanguageSettings", "description": "Some settings." + }, + "renamedServices": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of service names to renamed services. Keys are the package relative service names and values are the name to be used for the service client and call options. publishing: go_settings: renamed_services: Publisher: TopicAdmin", + "type": "object" } }, "type": "object" @@ -2427,7 +2442,7 @@ "type": "string" }, "unit": { - "description": "Specify the unit of the quota limit. It uses the same syntax as Metric.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * \"1/min/{project}\" for quota per minute per project. Note: the order of unit components is insignificant. The \"1\" at the beginning is required to follow the metric unit syntax.", + "description": "Specify the unit of the quota limit. It uses the same syntax as MetricDescriptor.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * \"1/min/{project}\" for quota per minute per project. Note: the order of unit components is insignificant. The \"1\" at the beginning is required to follow the metric unit syntax.", "type": "string" }, "values": { diff --git a/discovery/serviceconsumermanagement-v1beta1.json b/discovery/serviceconsumermanagement-v1beta1.json index 773b916ea0..3ba9f6bfc3 100644 --- a/discovery/serviceconsumermanagement-v1beta1.json +++ b/discovery/serviceconsumermanagement-v1beta1.json @@ -715,7 +715,7 @@ } } }, - "revision": "20240929", + "revision": "20241205", "rootUrl": "https://serviceconsumermanagement.googleapis.com/", "schemas": { "Api": { @@ -1218,6 +1218,10 @@ "description": "`Documentation` provides the information for describing a service. Example: documentation: summary: > The Google Calendar API gives access to most calendar features. pages: - name: Overview content: (== include google/foo/overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==) rules: - selector: google.calendar.Calendar.Get description: > ... - selector: google.calendar.Calendar.Put description: > ... Documentation is provided in markdown syntax. In addition to standard markdown features, definition lists, tables and fenced code blocks are supported. Section headers can be provided and are interpreted relative to the section nesting of the context where a documentation fragment is embedded. Documentation from the IDL is merged with documentation defined via the config at normalization time, where documentation provided by config rules overrides IDL provided. A number of constructs specific to the API platform are supported in documentation text. In order to reference a proto element, the following notation can be used: [fully.qualified.proto.name][] To override the display text used for the link, this can be used: [display text][fully.qualified.proto.name] Text can be excluded from doc using the following notation: (-- internal comment --) A few directives are available in documentation. Note that directives must appear on a single line to be properly identified. The `include` directive includes a markdown file from an external source: (== include path/to/file ==) The `resource_for` directive marks a message to be the resource of a collection in REST view. If it is not specified, tools attempt to infer the resource from the operations in a collection: (== resource_for v1.shelves.books ==) The directive `suppress_warning` does not directly affect documentation and is documented together with service config validation.", "id": "Documentation", "properties": { + "additionalIamInfo": { + "description": "Optional information about the IAM configuration. This is typically used to link to documentation about a product's IAM roles and permissions.", + "type": "string" + }, "documentationRootUrl": { "description": "The URL to the root of documentation.", "type": "string" @@ -1433,6 +1437,10 @@ "description": "Experimental features to be included during client library generation. These fields will be deprecated once the feature graduates and is enabled by default.", "id": "ExperimentalFeatures", "properties": { + "protobufPythonicTypesEnabled": { + "description": "Enables generation of protobuf code using new types that are more Pythonic which are included in `protobuf>=5.29.x`. This feature will be enabled by default 1 month after launching the feature in preview packages.", + "type": "boolean" + }, "restAsyncIoEnabled": { "description": "Enables generation of asynchronous REST clients if `rest` transport is enabled. By default, asynchronous REST clients will not be generated. This feature will be enabled by default 1 month after launching the feature in preview packages.", "type": "boolean" @@ -1572,6 +1580,13 @@ "common": { "$ref": "CommonLanguageSettings", "description": "Some settings." + }, + "renamedServices": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of service names to renamed services. Keys are the package relative service names and values are the name to be used for the service client and call options. publishing: go_settings: renamed_services: Publisher: TopicAdmin", + "type": "object" } }, "type": "object" @@ -2458,7 +2473,7 @@ "type": "string" }, "unit": { - "description": "Specify the unit of the quota limit. It uses the same syntax as Metric.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * \"1/min/{project}\" for quota per minute per project. Note: the order of unit components is insignificant. The \"1\" at the beginning is required to follow the metric unit syntax.", + "description": "Specify the unit of the quota limit. It uses the same syntax as MetricDescriptor.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * \"1/min/{project}\" for quota per minute per project. Note: the order of unit components is insignificant. The \"1\" at the beginning is required to follow the metric unit syntax.", "type": "string" }, "values": { @@ -3012,13 +3027,17 @@ "id": "V1Beta1ImportProducerQuotaPoliciesRequest", "properties": { "force": { - "description": "Whether to force the import of the quota policies. If the policy import would decrease the default limit of any consumer tier by more than 10 percent, the call is rejected, as a safety measure to avoid accidentally decreasing quota too quickly. Setting the force parameter to true ignores this restriction.", + "description": "Whether quota policy can result in a decrease of effective limit. Don't allow any decreases if force is not specified. If force is specified, then don't allow any decreases below 120% of the 7d quota usage, or for cases where usage cannot be examined (custom dimensions/ per user/per resource), only allow a 10% decrease.", "type": "boolean" }, "forceJustification": { - "description": "If force option is set to true, force_justification is suggested to be set to log the reason in audit logs.", + "description": "If force or force_skip_quota_usage_check option is set to true, force_justification is suggested to be set to log the reason in audit logs.", "type": "string" }, + "forceSkipQuotaUsageCheck": { + "description": "If set to true, skip the quota usage check. This field is only used when the effective limit can be decreased. If the force field is not set, this field will be ignored.", + "type": "boolean" + }, "inlineSource": { "$ref": "V1Beta1PolicyInlineSource", "description": "The import data is specified in the request message itself" diff --git a/discovery/servicecontrol-v1.json b/discovery/servicecontrol-v1.json index 8afd31af6d..1ccd152f79 100644 --- a/discovery/servicecontrol-v1.json +++ b/discovery/servicecontrol-v1.json @@ -197,7 +197,7 @@ } } }, - "revision": "20240802", + "revision": "20250103", "rootUrl": "https://servicecontrol.googleapis.com/", "schemas": { "AllocateInfo": { @@ -289,7 +289,7 @@ "additionalProperties": { "$ref": "AttributeValue" }, - "description": "The set of attributes. Each attribute's key can be up to 128 bytes long. The value can be a string up to 256 bytes, a signed 64-bit integer, or the Boolean values `true` and `false`. For example: \"/instance_id\": \"my-instance\" \"/http/user_agent\": \"\" \"/http/request_bytes\": 300 \"abc.com/myattribute\": true", + "description": "The set of attributes. Each attribute's key can be up to 128 bytes long. The value can be a string up to 256 bytes, a signed 64-bit integer, or the Boolean values `true` and `false`. For example: \"/instance_id\": \"my-instance\" \"/http/user_agent\": \"\" \"/http/request_bytes\": 300 \"example.com/myattribute\": true", "type": "object" }, "droppedAttributesCount": { @@ -418,10 +418,6 @@ "description": "Structured claims presented with the credential. JWTs include `{key: value}` pairs for standard and private claims. The following is a subset of the standard required and optional claims that would typically be presented for a Google-based JWT: {'iss': 'accounts.google.com', 'sub': '113289723416554971153', 'aud': ['123456789012', 'pubsub.googleapis.com'], 'azp': '123456789012.apps.googleusercontent.com', 'email': 'jsmith@example.com', 'iat': 1353601026, 'exp': 1353604926} SAML assertions are similarly specified, but with an identity provider dependent structure.", "type": "object" }, - "credentialId": { - "description": "Identifies the client credential id used for authentication. credential_id is in the format of AUTH_METHOD:IDENTIFIER, e.g. \"serviceaccount:XXXXX, apikey:XXXXX\" where the format of the IDENTIFIER can vary for different AUTH_METHODs.", - "type": "string" - }, "presenter": { "description": "The authorized presenter of the credential. Reflects the optional Authorized Presenter (`azp`) claim within a JWT or the OAuth client id. For example, a Google Cloud Platform client id looks as follows: \"123456789012.apps.googleusercontent.com\".", "type": "string" @@ -905,7 +901,7 @@ "type": "string" }, "referer": { - "description": "The referer URL of the request, as defined in [HTTP/1.1 Header Field Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).", + "description": "The referer URL of the request, as defined in [HTTP/1.1 Header Field Definitions](https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).", "type": "string" }, "remoteIp": { @@ -1994,7 +1990,7 @@ "type": "string" }, "referer": { - "description": "The referer URL of the request, as defined in [HTTP/1.1 Header Field Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).", + "description": "The referer URL of the request, as defined in [HTTP/1.1 Header Field Definitions](https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).", "type": "string" }, "remoteIp": { diff --git a/discovery/servicecontrol-v2.json b/discovery/servicecontrol-v2.json index 2f67f7f46e..0d11fb5445 100644 --- a/discovery/servicecontrol-v2.json +++ b/discovery/servicecontrol-v2.json @@ -169,7 +169,7 @@ } } }, - "revision": "20240802", + "revision": "20250103", "rootUrl": "https://servicecontrol.googleapis.com/", "schemas": { "Api": { @@ -359,10 +359,6 @@ "description": "Structured claims presented with the credential. JWTs include `{key: value}` pairs for standard and private claims. The following is a subset of the standard required and optional claims that would typically be presented for a Google-based JWT: {'iss': 'accounts.google.com', 'sub': '113289723416554971153', 'aud': ['123456789012', 'pubsub.googleapis.com'], 'azp': '123456789012.apps.googleusercontent.com', 'email': 'jsmith@example.com', 'iat': 1353601026, 'exp': 1353604926} SAML assertions are similarly specified, but with an identity provider dependent structure.", "type": "object" }, - "credentialId": { - "description": "Identifies the client credential id used for authentication. credential_id is in the format of AUTH_METHOD:IDENTIFIER, e.g. \"serviceaccount:XXXXX, apikey:XXXXX\" where the format of the IDENTIFIER can vary for different AUTH_METHODs.", - "type": "string" - }, "presenter": { "description": "The authorized presenter of the credential. Reflects the optional Authorized Presenter (`azp`) claim within a JWT or the OAuth client id. For example, a Google Cloud Platform client id looks as follows: \"123456789012.apps.googleusercontent.com\".", "type": "string" @@ -487,6 +483,14 @@ "description": "Response message for the Check method.", "id": "CheckResponse", "properties": { + "dynamicMetadata": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Optional response metadata that will be emitted as dynamic metadata to be consumed by the caller of ServiceController. For compatibility with the ext_authz interface.", + "type": "object" + }, "headers": { "additionalProperties": { "type": "string" @@ -1007,7 +1011,7 @@ "type": "string" }, "referer": { - "description": "The referer URL of the request, as defined in [HTTP/1.1 Header Field Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).", + "description": "The referer URL of the request, as defined in [HTTP/1.1 Header Field Definitions](https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).", "type": "string" }, "remoteIp": { diff --git a/discovery/servicemanagement-v1.json b/discovery/servicemanagement-v1.json index 0158aa7d28..fb75d374e7 100644 --- a/discovery/servicemanagement-v1.json +++ b/discovery/servicemanagement-v1.json @@ -830,7 +830,7 @@ } } }, - "revision": "20240927", + "revision": "20241202", "rootUrl": "https://servicemanagement.googleapis.com/", "schemas": { "Advice": { @@ -1568,6 +1568,10 @@ "description": "`Documentation` provides the information for describing a service. Example: documentation: summary: > The Google Calendar API gives access to most calendar features. pages: - name: Overview content: (== include google/foo/overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==) rules: - selector: google.calendar.Calendar.Get description: > ... - selector: google.calendar.Calendar.Put description: > ... Documentation is provided in markdown syntax. In addition to standard markdown features, definition lists, tables and fenced code blocks are supported. Section headers can be provided and are interpreted relative to the section nesting of the context where a documentation fragment is embedded. Documentation from the IDL is merged with documentation defined via the config at normalization time, where documentation provided by config rules overrides IDL provided. A number of constructs specific to the API platform are supported in documentation text. In order to reference a proto element, the following notation can be used: [fully.qualified.proto.name][] To override the display text used for the link, this can be used: [display text][fully.qualified.proto.name] Text can be excluded from doc using the following notation: (-- internal comment --) A few directives are available in documentation. Note that directives must appear on a single line to be properly identified. The `include` directive includes a markdown file from an external source: (== include path/to/file ==) The `resource_for` directive marks a message to be the resource of a collection in REST view. If it is not specified, tools attempt to infer the resource from the operations in a collection: (== resource_for v1.shelves.books ==) The directive `suppress_warning` does not directly affect documentation and is documented together with service config validation.", "id": "Documentation", "properties": { + "additionalIamInfo": { + "description": "Optional information about the IAM configuration. This is typically used to link to documentation about a product's IAM roles and permissions.", + "type": "string" + }, "documentationRootUrl": { "description": "The URL to the root of documentation.", "type": "string" @@ -1783,6 +1787,10 @@ "description": "Experimental features to be included during client library generation. These fields will be deprecated once the feature graduates and is enabled by default.", "id": "ExperimentalFeatures", "properties": { + "protobufPythonicTypesEnabled": { + "description": "Enables generation of protobuf code using new types that are more Pythonic which are included in `protobuf>=5.29.x`. This feature will be enabled by default 1 month after launching the feature in preview packages.", + "type": "boolean" + }, "restAsyncIoEnabled": { "description": "Enables generation of asynchronous REST clients if `rest` transport is enabled. By default, asynchronous REST clients will not be generated. This feature will be enabled by default 1 month after launching the feature in preview packages.", "type": "boolean" @@ -2035,6 +2043,13 @@ "common": { "$ref": "CommonLanguageSettings", "description": "Some settings." + }, + "renamedServices": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of service names to renamed services. Keys are the package relative service names and values are the name to be used for the service client and call options. publishing: go_settings: renamed_services: Publisher: TopicAdmin", + "type": "object" } }, "type": "object" @@ -3085,7 +3100,7 @@ "type": "string" }, "unit": { - "description": "Specify the unit of the quota limit. It uses the same syntax as Metric.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * \"1/min/{project}\" for quota per minute per project. Note: the order of unit components is insignificant. The \"1\" at the beginning is required to follow the metric unit syntax.", + "description": "Specify the unit of the quota limit. It uses the same syntax as MetricDescriptor.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * \"1/min/{project}\" for quota per minute per project. Note: the order of unit components is insignificant. The \"1\" at the beginning is required to follow the metric unit syntax.", "type": "string" }, "values": { diff --git a/discovery/servicenetworking-v1.json b/discovery/servicenetworking-v1.json index 96623fb800..476bb0b2fa 100644 --- a/discovery/servicenetworking-v1.json +++ b/discovery/servicenetworking-v1.json @@ -111,7 +111,7 @@ "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`.", + "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": "servicenetworking.operations.cancel", @@ -858,7 +858,7 @@ ], "parameters": { "name": { - "description": "Required. The network that the consumer is using to connect with services. Must be in the form of services/{service}/projects/{project}/global/networks/{network}/zones/{zoneName} Where {service} is the peering service that is managing connectivity for the service producer's organization. For Google services that support this {project} is the project number, as in '12345' {network} is the network name. {zoneName} is the DNS zone name", + "description": "Required. The network that the consumer is using to connect with services. Must be in the form of services/{service}/projects/{project}/global/networks/{network}/dnsZones/{zoneName} Where {service} is the peering service that is managing connectivity for the service producer's organization. For Google services that support this {project} is the project number, as in '12345' {network} is the network name. {zoneName} is the DNS zone name", "location": "path", "pattern": "^services/[^/]+/projects/[^/]+/global/networks/[^/]+/dnsZones/[^/]+$", "required": true, @@ -1029,7 +1029,7 @@ } } }, - "revision": "20240925", + "revision": "20250107", "rootUrl": "https://servicenetworking.googleapis.com/", "schemas": { "AddDnsRecordSetMetadata": { @@ -1968,6 +1968,10 @@ "description": "`Documentation` provides the information for describing a service. Example: documentation: summary: > The Google Calendar API gives access to most calendar features. pages: - name: Overview content: (== include google/foo/overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==) rules: - selector: google.calendar.Calendar.Get description: > ... - selector: google.calendar.Calendar.Put description: > ... Documentation is provided in markdown syntax. In addition to standard markdown features, definition lists, tables and fenced code blocks are supported. Section headers can be provided and are interpreted relative to the section nesting of the context where a documentation fragment is embedded. Documentation from the IDL is merged with documentation defined via the config at normalization time, where documentation provided by config rules overrides IDL provided. A number of constructs specific to the API platform are supported in documentation text. In order to reference a proto element, the following notation can be used: [fully.qualified.proto.name][] To override the display text used for the link, this can be used: [display text][fully.qualified.proto.name] Text can be excluded from doc using the following notation: (-- internal comment --) A few directives are available in documentation. Note that directives must appear on a single line to be properly identified. The `include` directive includes a markdown file from an external source: (== include path/to/file ==) The `resource_for` directive marks a message to be the resource of a collection in REST view. If it is not specified, tools attempt to infer the resource from the operations in a collection: (== resource_for v1.shelves.books ==) The directive `suppress_warning` does not directly affect documentation and is documented together with service config validation.", "id": "Documentation", "properties": { + "additionalIamInfo": { + "description": "Optional information about the IAM configuration. This is typically used to link to documentation about a product's IAM roles and permissions.", + "type": "string" + }, "documentationRootUrl": { "description": "The URL to the root of documentation.", "type": "string" @@ -2194,6 +2198,10 @@ "description": "Experimental features to be included during client library generation. These fields will be deprecated once the feature graduates and is enabled by default.", "id": "ExperimentalFeatures", "properties": { + "protobufPythonicTypesEnabled": { + "description": "Enables generation of protobuf code using new types that are more Pythonic which are included in `protobuf>=5.29.x`. This feature will be enabled by default 1 month after launching the feature in preview packages.", + "type": "boolean" + }, "restAsyncIoEnabled": { "description": "Enables generation of asynchronous REST clients if `rest` transport is enabled. By default, asynchronous REST clients will not be generated. This feature will be enabled by default 1 month after launching the feature in preview packages.", "type": "boolean" @@ -2348,6 +2356,13 @@ "common": { "$ref": "CommonLanguageSettings", "description": "Some settings." + }, + "renamedServices": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of service names to renamed services. Keys are the package relative service names and values are the name to be used for the service client and call options. publishing: go_settings: renamed_services: Publisher: TopicAdmin", + "type": "object" } }, "type": "object" @@ -3419,7 +3434,7 @@ "type": "string" }, "unit": { - "description": "Specify the unit of the quota limit. It uses the same syntax as Metric.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * \"1/min/{project}\" for quota per minute per project. Note: the order of unit components is insignificant. The \"1\" at the beginning is required to follow the metric unit syntax.", + "description": "Specify the unit of the quota limit. It uses the same syntax as MetricDescriptor.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * \"1/min/{project}\" for quota per minute per project. Note: the order of unit components is insignificant. The \"1\" at the beginning is required to follow the metric unit syntax.", "type": "string" }, "values": { diff --git a/discovery/servicenetworking-v1beta.json b/discovery/servicenetworking-v1beta.json index 6a6200400f..a0ce0098a8 100644 --- a/discovery/servicenetworking-v1beta.json +++ b/discovery/servicenetworking-v1beta.json @@ -307,7 +307,7 @@ } } }, - "revision": "20240925", + "revision": "20241212", "rootUrl": "https://servicenetworking.googleapis.com/", "schemas": { "AddDnsRecordSetMetadata": { @@ -1080,6 +1080,10 @@ "description": "`Documentation` provides the information for describing a service. Example: documentation: summary: > The Google Calendar API gives access to most calendar features. pages: - name: Overview content: (== include google/foo/overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==) rules: - selector: google.calendar.Calendar.Get description: > ... - selector: google.calendar.Calendar.Put description: > ... Documentation is provided in markdown syntax. In addition to standard markdown features, definition lists, tables and fenced code blocks are supported. Section headers can be provided and are interpreted relative to the section nesting of the context where a documentation fragment is embedded. Documentation from the IDL is merged with documentation defined via the config at normalization time, where documentation provided by config rules overrides IDL provided. A number of constructs specific to the API platform are supported in documentation text. In order to reference a proto element, the following notation can be used: [fully.qualified.proto.name][] To override the display text used for the link, this can be used: [display text][fully.qualified.proto.name] Text can be excluded from doc using the following notation: (-- internal comment --) A few directives are available in documentation. Note that directives must appear on a single line to be properly identified. The `include` directive includes a markdown file from an external source: (== include path/to/file ==) The `resource_for` directive marks a message to be the resource of a collection in REST view. If it is not specified, tools attempt to infer the resource from the operations in a collection: (== resource_for v1.shelves.books ==) The directive `suppress_warning` does not directly affect documentation and is documented together with service config validation.", "id": "Documentation", "properties": { + "additionalIamInfo": { + "description": "Optional information about the IAM configuration. This is typically used to link to documentation about a product's IAM roles and permissions.", + "type": "string" + }, "documentationRootUrl": { "description": "The URL to the root of documentation.", "type": "string" @@ -1289,6 +1293,10 @@ "description": "Experimental features to be included during client library generation. These fields will be deprecated once the feature graduates and is enabled by default.", "id": "ExperimentalFeatures", "properties": { + "protobufPythonicTypesEnabled": { + "description": "Enables generation of protobuf code using new types that are more Pythonic which are included in `protobuf>=5.29.x`. This feature will be enabled by default 1 month after launching the feature in preview packages.", + "type": "boolean" + }, "restAsyncIoEnabled": { "description": "Enables generation of asynchronous REST clients if `rest` transport is enabled. By default, asynchronous REST clients will not be generated. This feature will be enabled by default 1 month after launching the feature in preview packages.", "type": "boolean" @@ -1428,6 +1436,13 @@ "common": { "$ref": "CommonLanguageSettings", "description": "Some settings." + }, + "renamedServices": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of service names to renamed services. Keys are the package relative service names and values are the name to be used for the service client and call options. publishing: go_settings: renamed_services: Publisher: TopicAdmin", + "type": "object" } }, "type": "object" @@ -2439,7 +2454,7 @@ "type": "string" }, "unit": { - "description": "Specify the unit of the quota limit. It uses the same syntax as Metric.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * \"1/min/{project}\" for quota per minute per project. Note: the order of unit components is insignificant. The \"1\" at the beginning is required to follow the metric unit syntax.", + "description": "Specify the unit of the quota limit. It uses the same syntax as MetricDescriptor.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * \"1/min/{project}\" for quota per minute per project. Note: the order of unit components is insignificant. The \"1\" at the beginning is required to follow the metric unit syntax.", "type": "string" }, "values": { diff --git a/discovery/serviceusage-v1.json b/discovery/serviceusage-v1.json index 8db04cb213..0d68f05689 100644 --- a/discovery/serviceusage-v1.json +++ b/discovery/serviceusage-v1.json @@ -114,7 +114,7 @@ "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`.", + "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": "serviceusage.operations.cancel", @@ -426,7 +426,7 @@ } } }, - "revision": "20240929", + "revision": "20241219", "rootUrl": "https://serviceusage.googleapis.com/", "schemas": { "AddEnableRulesMetadata": { @@ -502,12 +502,14 @@ "enum": [ "ANALYSIS_TYPE_UNSPECIFIED", "ANALYSIS_TYPE_DEPENDENCY", - "ANALYSIS_TYPE_RESOURCE_USAGE" + "ANALYSIS_TYPE_RESOURCE_USAGE", + "ANALYSIS_TYPE_RESOURCE_EXISTENCE" ], "enumDescriptions": [ "Unspecified analysis type. Do not use.", "The analysis of service dependencies.", - "The analysis of service resource usage." + "The analysis of service resource usage.", + "The analysis of service resource existence." ], "readOnly": true, "type": "string" @@ -1231,6 +1233,10 @@ "description": "`Documentation` provides the information for describing a service. Example: documentation: summary: > The Google Calendar API gives access to most calendar features. pages: - name: Overview content: (== include google/foo/overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==) rules: - selector: google.calendar.Calendar.Get description: > ... - selector: google.calendar.Calendar.Put description: > ... Documentation is provided in markdown syntax. In addition to standard markdown features, definition lists, tables and fenced code blocks are supported. Section headers can be provided and are interpreted relative to the section nesting of the context where a documentation fragment is embedded. Documentation from the IDL is merged with documentation defined via the config at normalization time, where documentation provided by config rules overrides IDL provided. A number of constructs specific to the API platform are supported in documentation text. In order to reference a proto element, the following notation can be used: [fully.qualified.proto.name][] To override the display text used for the link, this can be used: [display text][fully.qualified.proto.name] Text can be excluded from doc using the following notation: (-- internal comment --) A few directives are available in documentation. Note that directives must appear on a single line to be properly identified. The `include` directive includes a markdown file from an external source: (== include path/to/file ==) The `resource_for` directive marks a message to be the resource of a collection in REST view. If it is not specified, tools attempt to infer the resource from the operations in a collection: (== resource_for v1.shelves.books ==) The directive `suppress_warning` does not directly affect documentation and is documented together with service config validation.", "id": "Documentation", "properties": { + "additionalIamInfo": { + "description": "Optional information about the IAM configuration. This is typically used to link to documentation about a product's IAM roles and permissions.", + "type": "string" + }, "documentationRootUrl": { "description": "The URL to the root of documentation.", "type": "string" @@ -1524,6 +1530,10 @@ "description": "Experimental features to be included during client library generation. These fields will be deprecated once the feature graduates and is enabled by default.", "id": "ExperimentalFeatures", "properties": { + "protobufPythonicTypesEnabled": { + "description": "Enables generation of protobuf code using new types that are more Pythonic which are included in `protobuf>=5.29.x`. This feature will be enabled by default 1 month after launching the feature in preview packages.", + "type": "boolean" + }, "restAsyncIoEnabled": { "description": "Enables generation of asynchronous REST clients if `rest` transport is enabled. By default, asynchronous REST clients will not be generated. This feature will be enabled by default 1 month after launching the feature in preview packages.", "type": "boolean" @@ -1692,6 +1702,13 @@ "common": { "$ref": "CommonLanguageSettings", "description": "Some settings." + }, + "renamedServices": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of service names to renamed services. Keys are the package relative service names and values are the name to be used for the service client and call options. publishing: go_settings: renamed_services: Publisher: TopicAdmin", + "type": "object" } }, "type": "object" @@ -2044,6 +2061,171 @@ "properties": {}, "type": "object" }, + "GoogleApiServiceusageV2betaAnalysis": { + "description": "A message to group the analysis information.", + "id": "GoogleApiServiceusageV2betaAnalysis", + "properties": { + "analysis": { + "$ref": "GoogleApiServiceusageV2betaAnalysisResult", + "description": "Output only. Analysis result of updating a policy.", + "readOnly": true + }, + "analysisType": { + "description": "Output only. The type of analysis.", + "enum": [ + "ANALYSIS_TYPE_UNSPECIFIED", + "ANALYSIS_TYPE_DEPENDENCY", + "ANALYSIS_TYPE_RESOURCE_USAGE" + ], + "enumDescriptions": [ + "Unspecified analysis type. Do not use.", + "The analysis of service dependencies.", + "The analysis of service resource usage." + ], + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. The user friendly display name of the analysis type. E.g. service dependency analysis, service resource usage analysis, etc.", + "readOnly": true, + "type": "string" + }, + "service": { + "description": "The names of the service that has analysis result of warnings or blockers. Example: `services/storage.googleapis.com`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleApiServiceusageV2betaAnalysisResult": { + "description": "An analysis result including blockers and warnings.", + "id": "GoogleApiServiceusageV2betaAnalysisResult", + "properties": { + "blockers": { + "description": "Blocking information that would prevent the policy changes at runtime.", + "items": { + "$ref": "GoogleApiServiceusageV2betaImpact" + }, + "type": "array" + }, + "warnings": { + "description": "Warning information indicating that the policy changes might be unsafe, but will not block the changes at runtime.", + "items": { + "$ref": "GoogleApiServiceusageV2betaImpact" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleApiServiceusageV2betaAnalyzeConsumerPolicyMetadata": { + "description": "Metadata for the `AnalyzeConsumerPolicy` method.", + "id": "GoogleApiServiceusageV2betaAnalyzeConsumerPolicyMetadata", + "properties": {}, + "type": "object" + }, + "GoogleApiServiceusageV2betaAnalyzeConsumerPolicyResponse": { + "description": "The response of analyzing a consumer policy update.", + "id": "GoogleApiServiceusageV2betaAnalyzeConsumerPolicyResponse", + "properties": { + "analysis": { + "description": "The list of analyses returned from performing the intended policy update analysis. The analysis is grouped by service name and different analysis types. The empty analysis list means that the consumer policy can be updated without any warnings or blockers.", + "items": { + "$ref": "GoogleApiServiceusageV2betaAnalysis" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleApiServiceusageV2betaConsumerPolicy": { + "description": "Consumer Policy is a set of rules that define what services or service groups can be used for a cloud resource hierarchy.", + "id": "GoogleApiServiceusageV2betaConsumerPolicy", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Annotations is an unstructured key-value map stored with a policy that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. [AIP-128](https://google.aip.dev/128#annotations)", + "type": "object" + }, + "createTime": { + "description": "Output only. The time the policy was created. For singleton policies, this is the first touch of the policy.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "enableRules": { + "description": "Enable rules define usable services, groups, and categories. There can currently be at most one `EnableRule`. This restriction will be lifted in later releases.", + "items": { + "$ref": "GoogleApiServiceusageV2betaEnableRule" + }, + "type": "array" + }, + "etag": { + "description": "Output only. An opaque tag indicating the current version of the policy, used for concurrency control.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the policy. Only the `default` policy is supported: `projects/12345/consumerPolicies/default`, `folders/12345/consumerPolicies/default`, `organizations/12345/consumerPolicies/default`.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time the policy was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleApiServiceusageV2betaEnableRule": { + "description": "The consumer policy rule that defines enabled services, groups, and categories.", + "id": "GoogleApiServiceusageV2betaEnableRule", + "properties": { + "services": { + "description": "The names of the services that are enabled. Example: `services/storage.googleapis.com`.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleApiServiceusageV2betaImpact": { + "description": "A message to group impacts of updating a policy.", + "id": "GoogleApiServiceusageV2betaImpact", + "properties": { + "detail": { + "description": "Output only. User friendly impact detail in a free form message.", + "readOnly": true, + "type": "string" + }, + "impactType": { + "description": "Output only. The type of impact.", + "enum": [ + "IMPACT_TYPE_UNSPECIFIED", + "DEPENDENCY_MISSING_DEPENDENCIES" + ], + "enumDescriptions": [ + "Reserved Blocks (Block n contains codes from 100n to 100(n+1) -1 Block 0 - Special/Admin codes Block 1 - Impact Type of ANALYSIS_TYPE_DEPENDENCY Block 2 - Impact Type of ANALYSIS_TYPE_RESOURCE_USAGE ...", + "Block 1 - Impact Type of ANALYSIS_TYPE_DEPENDENCY" + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleApiServiceusageV2betaUpdateConsumerPolicyMetadata": { + "description": "Metadata for the `UpdateConsumerPolicy` method.", + "id": "GoogleApiServiceusageV2betaUpdateConsumerPolicyMetadata", + "properties": {}, + "type": "object" + }, "Http": { "description": "Defines the HTTP configuration for an API service. It contains a list of HttpRule, each specifying the mapping of an RPC method to one or more HTTP REST API methods.", "id": "Http", @@ -2125,14 +2307,20 @@ "description": "Output only. The type of impact.", "enum": [ "IMPACT_TYPE_UNSPECIFIED", - "DEPENDENCY_MISSING_DEPENDENCIES" + "DEPENDENCY_MISSING_DEPENDENCIES", + "RESOURCE_EXISTENCE_PROJECT" ], "enumDescriptions": [ - "Reserved Blocks (Block n contains codes from 100n to 100(n+1) -1 Block 0 - Special/Admin codes Block 1 - Impact Type of ANALYSIS_TYPE_DEPENDENCY Block 2 - Impact Type of ANALYSIS_TYPE_RESOURCE_USAGE ...", - "Block 1 - Impact Type of ANALYSIS_TYPE_DEPENDENCY" + "Reserved Blocks (Block n contains codes from 100n to 100(n+1) -1 Block 0 - Special/Admin codes Block 1 - Impact Type of ANALYSIS_TYPE_DEPENDENCY Block 2 - Impact Type of ANALYSIS_TYPE_RESOURCE_USAGE Block 3 - Impact Type of ANALYSIS_TYPE_RESOURCE_EXISTENCE ...", + "Block 1 - Impact Type of ANALYSIS_TYPE_DEPENDENCY", + "Block 3 - Impact Type of ANALYSIS_TYPE_RESOURCE_EXISTENCE" ], "readOnly": true, "type": "string" + }, + "parent": { + "description": "The parent resource that the analysis is based on and the service name that the analysis is for. Example: `projects/100/services/compute.googleapis.com`, folders/101/services/compute.googleapis.com` and `organizations/102/services/compute.googleapis.com`. Usually, the parent resource here is same as the parent resource of the analyzed policy. However, for some analysis types, the parent can be different. For example, for resource existence analysis, if the parent resource of the analyzed policy is a folder or an organization, the parent resource here can still be the project that contains the resources.", + "type": "string" } }, "type": "object" @@ -3061,7 +3249,7 @@ "type": "string" }, "unit": { - "description": "Specify the unit of the quota limit. It uses the same syntax as Metric.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * \"1/min/{project}\" for quota per minute per project. Note: the order of unit components is insignificant. The \"1\" at the beginning is required to follow the metric unit syntax.", + "description": "Specify the unit of the quota limit. It uses the same syntax as MetricDescriptor.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * \"1/min/{project}\" for quota per minute per project. Note: the order of unit components is insignificant. The \"1\" at the beginning is required to follow the metric unit syntax.", "type": "string" }, "values": { diff --git a/discovery/serviceusage-v1beta1.json b/discovery/serviceusage-v1beta1.json index 9f093d9dfd..e90b50208b 100644 --- a/discovery/serviceusage-v1beta1.json +++ b/discovery/serviceusage-v1beta1.json @@ -964,7 +964,7 @@ } } }, - "revision": "20240929", + "revision": "20241219", "rootUrl": "https://serviceusage.googleapis.com/", "schemas": { "AddEnableRulesMetadata": { @@ -1040,12 +1040,14 @@ "enum": [ "ANALYSIS_TYPE_UNSPECIFIED", "ANALYSIS_TYPE_DEPENDENCY", - "ANALYSIS_TYPE_RESOURCE_USAGE" + "ANALYSIS_TYPE_RESOURCE_USAGE", + "ANALYSIS_TYPE_RESOURCE_EXISTENCE" ], "enumDescriptions": [ "Unspecified analysis type. Do not use.", "The analysis of service dependencies.", - "The analysis of service resource usage." + "The analysis of service resource usage.", + "The analysis of service resource existence." ], "readOnly": true, "type": "string" @@ -1808,6 +1810,10 @@ "description": "`Documentation` provides the information for describing a service. Example: documentation: summary: > The Google Calendar API gives access to most calendar features. pages: - name: Overview content: (== include google/foo/overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==) rules: - selector: google.calendar.Calendar.Get description: > ... - selector: google.calendar.Calendar.Put description: > ... Documentation is provided in markdown syntax. In addition to standard markdown features, definition lists, tables and fenced code blocks are supported. Section headers can be provided and are interpreted relative to the section nesting of the context where a documentation fragment is embedded. Documentation from the IDL is merged with documentation defined via the config at normalization time, where documentation provided by config rules overrides IDL provided. A number of constructs specific to the API platform are supported in documentation text. In order to reference a proto element, the following notation can be used: [fully.qualified.proto.name][] To override the display text used for the link, this can be used: [display text][fully.qualified.proto.name] Text can be excluded from doc using the following notation: (-- internal comment --) A few directives are available in documentation. Note that directives must appear on a single line to be properly identified. The `include` directive includes a markdown file from an external source: (== include path/to/file ==) The `resource_for` directive marks a message to be the resource of a collection in REST view. If it is not specified, tools attempt to infer the resource from the operations in a collection: (== resource_for v1.shelves.books ==) The directive `suppress_warning` does not directly affect documentation and is documented together with service config validation.", "id": "Documentation", "properties": { + "additionalIamInfo": { + "description": "Optional information about the IAM configuration. This is typically used to link to documentation about a product's IAM roles and permissions.", + "type": "string" + }, "documentationRootUrl": { "description": "The URL to the root of documentation.", "type": "string" @@ -2101,6 +2107,10 @@ "description": "Experimental features to be included during client library generation. These fields will be deprecated once the feature graduates and is enabled by default.", "id": "ExperimentalFeatures", "properties": { + "protobufPythonicTypesEnabled": { + "description": "Enables generation of protobuf code using new types that are more Pythonic which are included in `protobuf>=5.29.x`. This feature will be enabled by default 1 month after launching the feature in preview packages.", + "type": "boolean" + }, "restAsyncIoEnabled": { "description": "Enables generation of asynchronous REST clients if `rest` transport is enabled. By default, asynchronous REST clients will not be generated. This feature will be enabled by default 1 month after launching the feature in preview packages.", "type": "boolean" @@ -2269,6 +2279,13 @@ "common": { "$ref": "CommonLanguageSettings", "description": "Some settings." + }, + "renamedServices": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of service names to renamed services. Keys are the package relative service names and values are the name to be used for the service client and call options. publishing: go_settings: renamed_services: Publisher: TopicAdmin", + "type": "object" } }, "type": "object" @@ -2621,6 +2638,171 @@ "properties": {}, "type": "object" }, + "GoogleApiServiceusageV2betaAnalysis": { + "description": "A message to group the analysis information.", + "id": "GoogleApiServiceusageV2betaAnalysis", + "properties": { + "analysis": { + "$ref": "GoogleApiServiceusageV2betaAnalysisResult", + "description": "Output only. Analysis result of updating a policy.", + "readOnly": true + }, + "analysisType": { + "description": "Output only. The type of analysis.", + "enum": [ + "ANALYSIS_TYPE_UNSPECIFIED", + "ANALYSIS_TYPE_DEPENDENCY", + "ANALYSIS_TYPE_RESOURCE_USAGE" + ], + "enumDescriptions": [ + "Unspecified analysis type. Do not use.", + "The analysis of service dependencies.", + "The analysis of service resource usage." + ], + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "Output only. The user friendly display name of the analysis type. E.g. service dependency analysis, service resource usage analysis, etc.", + "readOnly": true, + "type": "string" + }, + "service": { + "description": "The names of the service that has analysis result of warnings or blockers. Example: `services/storage.googleapis.com`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleApiServiceusageV2betaAnalysisResult": { + "description": "An analysis result including blockers and warnings.", + "id": "GoogleApiServiceusageV2betaAnalysisResult", + "properties": { + "blockers": { + "description": "Blocking information that would prevent the policy changes at runtime.", + "items": { + "$ref": "GoogleApiServiceusageV2betaImpact" + }, + "type": "array" + }, + "warnings": { + "description": "Warning information indicating that the policy changes might be unsafe, but will not block the changes at runtime.", + "items": { + "$ref": "GoogleApiServiceusageV2betaImpact" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleApiServiceusageV2betaAnalyzeConsumerPolicyMetadata": { + "description": "Metadata for the `AnalyzeConsumerPolicy` method.", + "id": "GoogleApiServiceusageV2betaAnalyzeConsumerPolicyMetadata", + "properties": {}, + "type": "object" + }, + "GoogleApiServiceusageV2betaAnalyzeConsumerPolicyResponse": { + "description": "The response of analyzing a consumer policy update.", + "id": "GoogleApiServiceusageV2betaAnalyzeConsumerPolicyResponse", + "properties": { + "analysis": { + "description": "The list of analyses returned from performing the intended policy update analysis. The analysis is grouped by service name and different analysis types. The empty analysis list means that the consumer policy can be updated without any warnings or blockers.", + "items": { + "$ref": "GoogleApiServiceusageV2betaAnalysis" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleApiServiceusageV2betaConsumerPolicy": { + "description": "Consumer Policy is a set of rules that define what services or service groups can be used for a cloud resource hierarchy.", + "id": "GoogleApiServiceusageV2betaConsumerPolicy", + "properties": { + "annotations": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Annotations is an unstructured key-value map stored with a policy that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. [AIP-128](https://google.aip.dev/128#annotations)", + "type": "object" + }, + "createTime": { + "description": "Output only. The time the policy was created. For singleton policies, this is the first touch of the policy.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + }, + "enableRules": { + "description": "Enable rules define usable services, groups, and categories. There can currently be at most one `EnableRule`. This restriction will be lifted in later releases.", + "items": { + "$ref": "GoogleApiServiceusageV2betaEnableRule" + }, + "type": "array" + }, + "etag": { + "description": "Output only. An opaque tag indicating the current version of the policy, used for concurrency control.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Output only. The resource name of the policy. Only the `default` policy is supported: `projects/12345/consumerPolicies/default`, `folders/12345/consumerPolicies/default`, `organizations/12345/consumerPolicies/default`.", + "readOnly": true, + "type": "string" + }, + "updateTime": { + "description": "Output only. The time the policy was last updated.", + "format": "google-datetime", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleApiServiceusageV2betaEnableRule": { + "description": "The consumer policy rule that defines enabled services, groups, and categories.", + "id": "GoogleApiServiceusageV2betaEnableRule", + "properties": { + "services": { + "description": "The names of the services that are enabled. Example: `services/storage.googleapis.com`.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleApiServiceusageV2betaImpact": { + "description": "A message to group impacts of updating a policy.", + "id": "GoogleApiServiceusageV2betaImpact", + "properties": { + "detail": { + "description": "Output only. User friendly impact detail in a free form message.", + "readOnly": true, + "type": "string" + }, + "impactType": { + "description": "Output only. The type of impact.", + "enum": [ + "IMPACT_TYPE_UNSPECIFIED", + "DEPENDENCY_MISSING_DEPENDENCIES" + ], + "enumDescriptions": [ + "Reserved Blocks (Block n contains codes from 100n to 100(n+1) -1 Block 0 - Special/Admin codes Block 1 - Impact Type of ANALYSIS_TYPE_DEPENDENCY Block 2 - Impact Type of ANALYSIS_TYPE_RESOURCE_USAGE ...", + "Block 1 - Impact Type of ANALYSIS_TYPE_DEPENDENCY" + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "GoogleApiServiceusageV2betaUpdateConsumerPolicyMetadata": { + "description": "Metadata for the `UpdateConsumerPolicy` method.", + "id": "GoogleApiServiceusageV2betaUpdateConsumerPolicyMetadata", + "properties": {}, + "type": "object" + }, "Http": { "description": "Defines the HTTP configuration for an API service. It contains a list of HttpRule, each specifying the mapping of an RPC method to one or more HTTP REST API methods.", "id": "Http", @@ -2702,14 +2884,20 @@ "description": "Output only. The type of impact.", "enum": [ "IMPACT_TYPE_UNSPECIFIED", - "DEPENDENCY_MISSING_DEPENDENCIES" + "DEPENDENCY_MISSING_DEPENDENCIES", + "RESOURCE_EXISTENCE_PROJECT" ], "enumDescriptions": [ - "Reserved Blocks (Block n contains codes from 100n to 100(n+1) -1 Block 0 - Special/Admin codes Block 1 - Impact Type of ANALYSIS_TYPE_DEPENDENCY Block 2 - Impact Type of ANALYSIS_TYPE_RESOURCE_USAGE ...", - "Block 1 - Impact Type of ANALYSIS_TYPE_DEPENDENCY" + "Reserved Blocks (Block n contains codes from 100n to 100(n+1) -1 Block 0 - Special/Admin codes Block 1 - Impact Type of ANALYSIS_TYPE_DEPENDENCY Block 2 - Impact Type of ANALYSIS_TYPE_RESOURCE_USAGE Block 3 - Impact Type of ANALYSIS_TYPE_RESOURCE_EXISTENCE ...", + "Block 1 - Impact Type of ANALYSIS_TYPE_DEPENDENCY", + "Block 3 - Impact Type of ANALYSIS_TYPE_RESOURCE_EXISTENCE" ], "readOnly": true, "type": "string" + }, + "parent": { + "description": "The parent resource that the analysis is based on and the service name that the analysis is for. Example: `projects/100/services/compute.googleapis.com`, folders/101/services/compute.googleapis.com` and `organizations/102/services/compute.googleapis.com`. Usually, the parent resource here is same as the parent resource of the analyzed policy. However, for some analysis types, the parent can be different. For example, for resource existence analysis, if the parent resource of the analyzed policy is a folder or an organization, the parent resource here can still be the project that contains the resources.", + "type": "string" } }, "type": "object" @@ -3849,7 +4037,7 @@ "type": "string" }, "unit": { - "description": "Specify the unit of the quota limit. It uses the same syntax as Metric.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * \"1/min/{project}\" for quota per minute per project. Note: the order of unit components is insignificant. The \"1\" at the beginning is required to follow the metric unit syntax.", + "description": "Specify the unit of the quota limit. It uses the same syntax as MetricDescriptor.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * \"1/min/{project}\" for quota per minute per project. Note: the order of unit components is insignificant. The \"1\" at the beginning is required to follow the metric unit syntax.", "type": "string" }, "values": { diff --git a/discovery/sheets-v4.json b/discovery/sheets-v4.json index eb7519e339..1f5062e18f 100644 --- a/discovery/sheets-v4.json +++ b/discovery/sheets-v4.json @@ -870,7 +870,7 @@ } } }, - "revision": "20240917", + "revision": "20250106", "rootUrl": "https://sheets.googleapis.com/", "schemas": { "AddBandingRequest": { @@ -3941,7 +3941,7 @@ "type": "object" }, "DeleteDimensionRequest": { - "description": "Deletes the dimensions from the sheet.", + "description": " Deletes the dimensions from the sheet.", "id": "DeleteDimensionRequest", "properties": { "range": { @@ -4195,7 +4195,7 @@ "type": "string" }, "visibility": { - "description": "Limits the selected developer metadata to that which has a matching DeveloperMetadata.visibility. If left unspecified, all developer metadata visibile to the requesting project is considered.", + "description": "Limits the selected developer metadata to that which has a matching DeveloperMetadata.visibility. If left unspecified, all developer metadata visible to the requesting project is considered.", "enum": [ "DEVELOPER_METADATA_VISIBILITY_UNSPECIFIED", "DOCUMENT", @@ -6538,6 +6538,10 @@ "description": "Sets a data validation rule to every cell in the range. To clear validation in a range, call this with no rule specified.", "id": "SetDataValidationRequest", "properties": { + "filteredRowsIncluded": { + "description": "Optional. If true, the data validation rule will be applied to the filtered rows as well.", + "type": "boolean" + }, "range": { "$ref": "GridRange", "description": "The range the data validation rule should apply to." @@ -7182,22 +7186,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } diff --git a/discovery/solar-v1.json b/discovery/solar-v1.json index 4b2b99d851..5ec92f4ac5 100644 --- a/discovery/solar-v1.json +++ b/discovery/solar-v1.json @@ -299,7 +299,7 @@ } } }, - "revision": "20240820", + "revision": "20241211", "rootUrl": "https://solar.googleapis.com/", "schemas": { "BuildingInsights": { @@ -345,7 +345,7 @@ "type": "string" }, "name": { - "description": "The resource name for the building, of the format `building/`.", + "description": "The resource name for the building, of the format `buildings/{place_id}`.", "type": "string" }, "postalCode": { diff --git a/discovery/spanner-v1.json b/discovery/spanner-v1.json index 53aa9378f1..ec90cc80c8 100644 --- a/discovery/spanner-v1.json +++ b/discovery/spanner-v1.json @@ -22,6 +22,11 @@ "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/spanner/", "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://spanner.europe-west8.rep.googleapis.com/", + "location": "europe-west8" + }, { "description": "Regional Endpoint", "endpointUrl": "https://spanner.me-central2.rep.googleapis.com/", @@ -32,6 +37,11 @@ "endpointUrl": "https://spanner.us-central1.rep.googleapis.com/", "location": "us-central1" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://spanner.us-central2.rep.googleapis.com/", + "location": "us-central2" + }, { "description": "Regional Endpoint", "endpointUrl": "https://spanner.us-east1.rep.googleapis.com/", @@ -47,15 +57,40 @@ "endpointUrl": "https://spanner.us-east5.rep.googleapis.com/", "location": "us-east5" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://spanner.us-east7.rep.googleapis.com/", + "location": "us-east7" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://spanner.us-south1.rep.googleapis.com/", + "location": "us-south1" + }, { "description": "Regional Endpoint", "endpointUrl": "https://spanner.us-west1.rep.googleapis.com/", "location": "us-west1" }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://spanner.us-west2.rep.googleapis.com/", + "location": "us-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://spanner.us-west3.rep.googleapis.com/", + "location": "us-west3" + }, { "description": "Regional Endpoint", "endpointUrl": "https://spanner.us-west4.rep.googleapis.com/", "location": "us-west4" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://spanner.us-west8.rep.googleapis.com/", + "location": "us-west8" } ], "fullyEncodeReservedExpansion": true, @@ -360,7 +395,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/instanceConfigs/{instanceConfigsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "spanner.projects.instanceConfigs.operations.cancel", @@ -486,7 +521,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/instanceConfigs/{instanceConfigsId}/ssdCaches/{ssdCachesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "spanner.projects.instanceConfigs.ssdCaches.operations.cancel", @@ -1009,7 +1044,7 @@ "type": "string" }, "encryptionConfig.kmsKeyNames": { - "description": "Optional. Specifies the KMS configuration for the one or more keys used to protect the backup. Values are of the form `projects//locations//keyRings//cryptoKeys/`. The keys referenced by kms_key_names must fully cover all regions of the backup's instance configuration. Some examples: * For single region instance configs, specify a single regional location KMS key. * For multi-regional instance configs of type GOOGLE_MANAGED, either specify a multi-regional location KMS key or multiple regional location KMS keys that cover all regions in the instance config. * For an instance config of type USER_MANAGED, please specify only regional location KMS keys to cover each region in the instance config. Multi-regional location KMS keys are not supported for USER_MANAGED instance configs.", + "description": "Optional. Specifies the KMS configuration for the one or more keys used to protect the backup. Values are of the form `projects//locations//keyRings//cryptoKeys/`. The keys referenced by `kms_key_names` must fully cover all regions of the backup's instance configuration. Some examples: * For regional (single-region) instance configurations, specify a regional location KMS key. * For multi-region instance configurations of type `GOOGLE_MANAGED`, either specify a multi-region location KMS key or multiple regional location KMS keys that cover all regions in the instance configuration. * For an instance configuration of type `USER_MANAGED`, specify only regional location KMS keys to cover each region in the instance configuration. Multi-region location KMS keys aren't supported for `USER_MANAGED` type instance configurations.", "location": "query", "repeated": true, "type": "string" @@ -1087,7 +1122,7 @@ ] }, "getIamPolicy": { - "description": "Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource.", + "description": "Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource. For backup schedules, authorization requires `spanner.backupSchedules.getIamPolicy` permission on resource.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/backups/{backupsId}:getIamPolicy", "httpMethod": "POST", "id": "spanner.projects.instances.backups.getIamPolicy", @@ -1193,7 +1228,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource.", + "description": "Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource. For backup schedules, authorization requires `spanner.backupSchedules.setIamPolicy` permission on resource.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/backups/{backupsId}:setIamPolicy", "httpMethod": "POST", "id": "spanner.projects.instances.backups.setIamPolicy", @@ -1222,7 +1257,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance.", + "description": "Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance. Calling this method on a backup schedule that does not exist will result in a NOT_FOUND error if the user has `spanner.backupSchedules.list` permission on the containing database.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/backups/{backupsId}:testIamPermissions", "httpMethod": "POST", "id": "spanner.projects.instances.backups.testIamPermissions", @@ -1255,7 +1290,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/backups/{backupsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "spanner.projects.instances.backups.operations.cancel", @@ -1390,7 +1425,7 @@ ], "parameters": { "filter": { - "description": "An expression that filters the list of returned operations. A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string, a number, or a boolean. The comparison operator must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`. Colon `:` is the contains operator. Filter rules are not case sensitive. The following fields in the Operation are eligible for filtering: * `name` - The name of the long-running operation * `done` - False if the operation is in progress, else true. * `metadata.@type` - the type of metadata. For example, the type string for RestoreDatabaseMetadata is `type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata`. * `metadata.` - any field in metadata.value. `metadata.@type` must be specified first, if filtering on metadata fields. * `error` - Error associated with the long-running operation. * `response.@type` - the type of response. * `response.` - any field in response.value. You can combine multiple expressions by enclosing each expression in parentheses. By default, expressions are combined with AND logic. However, you can specify AND, OR, and NOT logic explicitly. Here are a few examples: * `done:true` - The operation is complete. * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata) AND` \\ `(metadata.source_type:BACKUP) AND` \\ `(metadata.backup_info.backup:backup_howl) AND` \\ `(metadata.name:restored_howl) AND` \\ `(metadata.progress.start_time < \\\"2018-03-28T14:50:00Z\\\") AND` \\ `(error:*)` - Return operations where: * The operation's metadata type is RestoreDatabaseMetadata. * The database is restored from a backup. * The backup name contains \"backup_howl\". * The restored database's name contains \"restored_howl\". * The operation started before 2018-03-28T14:50:00Z. * The operation resulted in an error.", + "description": "An expression that filters the list of returned operations. A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string, a number, or a boolean. The comparison operator must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`. Colon `:` is the contains operator. Filter rules are not case sensitive. The following fields in the operation are eligible for filtering: * `name` - The name of the long-running operation * `done` - False if the operation is in progress, else true. * `metadata.@type` - the type of metadata. For example, the type string for RestoreDatabaseMetadata is `type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata`. * `metadata.` - any field in metadata.value. `metadata.@type` must be specified first, if filtering on metadata fields. * `error` - Error associated with the long-running operation. * `response.@type` - the type of response. * `response.` - any field in response.value. You can combine multiple expressions by enclosing each expression in parentheses. By default, expressions are combined with AND logic. However, you can specify AND, OR, and NOT logic explicitly. Here are a few examples: * `done:true` - The operation is complete. * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata) AND` \\ `(metadata.source_type:BACKUP) AND` \\ `(metadata.backup_info.backup:backup_howl) AND` \\ `(metadata.name:restored_howl) AND` \\ `(metadata.progress.start_time < \\\"2018-03-28T14:50:00Z\\\") AND` \\ `(error:*)` - Return operations where: * The operation's metadata type is RestoreDatabaseMetadata. * The database is restored from a backup. * The backup name contains \"backup_howl\". * The restored database's name contains \"restored_howl\". * The operation started before 2018-03-28T14:50:00Z. * The operation resulted in an error.", "location": "query", "type": "string" }, @@ -1563,7 +1598,7 @@ ] }, "getIamPolicy": { - "description": "Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource.", + "description": "Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource. For backup schedules, authorization requires `spanner.backupSchedules.getIamPolicy` permission on resource.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}:getIamPolicy", "httpMethod": "POST", "id": "spanner.projects.instances.databases.getIamPolicy", @@ -1746,7 +1781,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource.", + "description": "Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource. For backup schedules, authorization requires `spanner.backupSchedules.setIamPolicy` permission on resource.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}:setIamPolicy", "httpMethod": "POST", "id": "spanner.projects.instances.databases.setIamPolicy", @@ -1775,7 +1810,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance.", + "description": "Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance. Calling this method on a backup schedule that does not exist will result in a NOT_FOUND error if the user has `spanner.backupSchedules.list` permission on the containing database.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}:testIamPermissions", "httpMethod": "POST", "id": "spanner.projects.instances.databases.testIamPermissions", @@ -1923,7 +1958,7 @@ ] }, "getIamPolicy": { - "description": "Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource.", + "description": "Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource. For backup schedules, authorization requires `spanner.backupSchedules.getIamPolicy` permission on resource.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/backupSchedules/{backupSchedulesId}:getIamPolicy", "httpMethod": "POST", "id": "spanner.projects.instances.databases.backupSchedules.getIamPolicy", @@ -2024,7 +2059,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource.", + "description": "Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource. For backup schedules, authorization requires `spanner.backupSchedules.setIamPolicy` permission on resource.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/backupSchedules/{backupSchedulesId}:setIamPolicy", "httpMethod": "POST", "id": "spanner.projects.instances.databases.backupSchedules.setIamPolicy", @@ -2053,7 +2088,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance.", + "description": "Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance. Calling this method on a backup schedule that does not exist will result in a NOT_FOUND error if the user has `spanner.backupSchedules.list` permission on the containing database.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/backupSchedules/{backupSchedulesId}:testIamPermissions", "httpMethod": "POST", "id": "spanner.projects.instances.databases.backupSchedules.testIamPermissions", @@ -2123,7 +2158,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance.", + "description": "Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance. Calling this method on a backup schedule that does not exist will result in a NOT_FOUND error if the user has `spanner.backupSchedules.list` permission on the containing database.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/databaseRoles/{databaseRolesId}:testIamPermissions", "httpMethod": "POST", "id": "spanner.projects.instances.databases.databaseRoles.testIamPermissions", @@ -2156,7 +2191,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/databases/{databasesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "spanner.projects.instances.databases.operations.cancel", @@ -2771,7 +2806,7 @@ "type": "string" }, "instancePartitionDeadline": { - "description": "Optional. Deadline used while retrieving metadata for instance partition operations. Instance partitions whose operation metadata cannot be retrieved within this deadline will be added to unreachable in ListInstancePartitionOperationsResponse.", + "description": "Optional. Deadline used while retrieving metadata for instance partition operations. Instance partitions whose operation metadata cannot be retrieved within this deadline will be added to unreachable_instance_partitions in ListInstancePartitionOperationsResponse.", "format": "google-datetime", "location": "query", "type": "string" @@ -2971,7 +3006,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/instancePartitions/{instancePartitionsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "spanner.projects.instances.instancePartitions.operations.cancel", @@ -3097,7 +3132,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/instances/{instancesId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "spanner.projects.instances.operations.cancel", @@ -3284,13 +3319,35 @@ } } }, - "revision": "20240918", + "revision": "20241218", "rootUrl": "https://spanner.googleapis.com/", "schemas": { + "AsymmetricAutoscalingOption": { + "description": "AsymmetricAutoscalingOption specifies the scaling of replicas identified by the given selection.", + "id": "AsymmetricAutoscalingOption", + "properties": { + "overrides": { + "$ref": "AutoscalingConfigOverrides", + "description": "Optional. Overrides applied to the top-level autoscaling configuration for the selected replicas." + }, + "replicaSelection": { + "$ref": "InstanceReplicaSelection", + "description": "Required. Selects the replicas to which this AsymmetricAutoscalingOption applies. Only read-only replicas are supported." + } + }, + "type": "object" + }, "AutoscalingConfig": { "description": "Autoscaling configuration for an instance.", "id": "AutoscalingConfig", "properties": { + "asymmetricAutoscalingOptions": { + "description": "Optional. Optional asymmetric autoscaling options. Replicas matching the replica selection criteria will be autoscaled independently from other replicas. The autoscaler will scale the replicas based on the utilization of replicas identified by the replica selection. Replica selections should not overlap with each other. Other replicas (those do not match any replica selection) will be autoscaled together and will have the same compute capacity allocated to them.", + "items": { + "$ref": "AsymmetricAutoscalingOption" + }, + "type": "array" + }, "autoscalingLimits": { "$ref": "AutoscalingLimits", "description": "Required. Autoscaling limits for an instance." @@ -3302,6 +3359,22 @@ }, "type": "object" }, + "AutoscalingConfigOverrides": { + "description": "Overrides the top-level autoscaling configuration for the replicas identified by `replica_selection`. All fields in this message are optional. Any unspecified fields will use the corresponding values from the top-level autoscaling configuration.", + "id": "AutoscalingConfigOverrides", + "properties": { + "autoscalingLimits": { + "$ref": "AutoscalingLimits", + "description": "Optional. If specified, overrides the min/max limit in the top-level autoscaling configuration for the selected replicas." + }, + "autoscalingTargetHighPriorityCpuUtilizationPercent": { + "description": "Optional. If specified, overrides the autoscaling target high_priority_cpu_utilization_percent in the top-level autoscaling configuration for the selected replicas.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "AutoscalingLimits": { "description": "The autoscaling limits for the instance. Users can define the minimum and maximum compute capacity allocated to the instance, and the autoscaler will only scale within that range. Users can either use nodes or processing units to specify the limits, but should use the same unit to set both the min_limit and max_limit.", "id": "AutoscalingLimits", @@ -3389,7 +3462,7 @@ "readOnly": true }, "encryptionInformation": { - "description": "Output only. The encryption information for the backup, whether it is protected by one or more KMS keys. The information includes all Cloud KMS key versions used to encrypt the backup. The `encryption_status' field inside of each `EncryptionInfo` is not populated. At least one of the key versions must be available for the backup to be restored. If a key version is revoked in the middle of a restore, the restore behavior is undefined.", + "description": "Output only. The encryption information for the backup, whether it is protected by one or more KMS keys. The information includes all Cloud KMS key versions used to encrypt the backup. The `encryption_status` field inside of each `EncryptionInfo` is not populated. At least one of the key versions must be available for the backup to be restored. If a key version is revoked in the middle of a restore, the restore behavior is undefined.", "items": { "$ref": "EncryptionInfo" }, @@ -3505,7 +3578,7 @@ "type": "object" }, "BackupSchedule": { - "description": "BackupSchedule expresses the automated backup creation specification for a Spanner database. Next ID: 10", + "description": "BackupSchedule expresses the automated backup creation specification for a Spanner database.", "id": "BackupSchedule", "properties": { "encryptionConfig": { @@ -3633,6 +3706,10 @@ "description": "The request for BeginTransaction.", "id": "BeginTransactionRequest", "properties": { + "mutationKey": { + "$ref": "Mutation", + "description": "Optional. Required for read-write transactions on a multiplexed session that commit mutations but do not perform any reads or queries. Clients should randomly select one of the mutations from the mutation set and send it as a part of this request." + }, "options": { "$ref": "TransactionOptions", "description": "Required. Options for the new transaction." @@ -3742,6 +3819,10 @@ }, "type": "array" }, + "precommitToken": { + "$ref": "MultiplexedSessionPrecommitToken", + "description": "Optional. If the read-write transaction was executed on a multiplexed session, the precommit token with the highest sequence number received in this transaction attempt, should be included here. Failing to do so will result in a FailedPrecondition error." + }, "requestOptions": { "$ref": "RequestOptions", "description": "Common options for this request." @@ -3774,6 +3855,10 @@ "description": "The Cloud Spanner timestamp at which the transaction committed.", "format": "google-datetime", "type": "string" + }, + "precommitToken": { + "$ref": "MultiplexedSessionPrecommitToken", + "description": "If specified, transaction has not committed yet. Clients must retry the commit with the new precommit token." } }, "type": "object" @@ -3853,7 +3938,7 @@ "type": "string" }, "kmsKeyNames": { - "description": "Optional. Specifies the KMS configuration for the one or more keys used to protect the backup. Values are of the form `projects//locations//keyRings//cryptoKeys/`. Kms keys specified can be in any order. The keys referenced by kms_key_names must fully cover all regions of the backup's instance configuration. Some examples: * For single region instance configs, specify a single regional location KMS key. * For multi-regional instance configs of type GOOGLE_MANAGED, either specify a multi-regional location KMS key or multiple regional location KMS keys that cover all regions in the instance config. * For an instance config of type USER_MANAGED, please specify only regional location KMS keys to cover each region in the instance config. Multi-regional location KMS keys are not supported for USER_MANAGED instance configs.", + "description": "Optional. Specifies the KMS configuration for the one or more keys used to protect the backup. Values are of the form `projects//locations//keyRings//cryptoKeys/`. KMS keys specified can be in any order. The keys referenced by `kms_key_names` must fully cover all regions of the backup's instance configuration. Some examples: * For regional (single-region) instance configurations, specify a regional location KMS key. * For multi-region instance configurations of type `GOOGLE_MANAGED`, either specify a multi-region location KMS key or multiple regional location KMS keys that cover all regions in the instance configuration. * For an instance configuration of type `USER_MANAGED`, specify only regional location KMS keys to cover each region in the instance configuration. Multi-region location KMS keys aren't supported for `USER_MANAGED` type instance configurations.", "items": { "type": "string" }, @@ -3935,7 +4020,7 @@ "type": "string" }, "kmsKeyNames": { - "description": "Optional. Specifies the KMS configuration for the one or more keys used to protect the backup. Values are of the form `projects//locations//keyRings//cryptoKeys/`. The keys referenced by kms_key_names must fully cover all regions of the backup's instance configuration. Some examples: * For single region instance configs, specify a single regional location KMS key. * For multi-regional instance configs of type GOOGLE_MANAGED, either specify a multi-regional location KMS key or multiple regional location KMS keys that cover all regions in the instance config. * For an instance config of type USER_MANAGED, please specify only regional location KMS keys to cover each region in the instance config. Multi-regional location KMS keys are not supported for USER_MANAGED instance configs.", + "description": "Optional. Specifies the KMS configuration for the one or more keys used to protect the backup. Values are of the form `projects//locations//keyRings//cryptoKeys/`. The keys referenced by `kms_key_names` must fully cover all regions of the backup's instance configuration. Some examples: * For regional (single-region) instance configurations, specify a regional location KMS key. * For multi-region instance configurations of type `GOOGLE_MANAGED`, either specify a multi-region location KMS key or multiple regional location KMS keys that cover all regions in the instance configuration. * For an instance configuration of type `USER_MANAGED`, specify only regional location KMS keys to cover each region in the instance configuration. Multi-region location KMS keys aren't supported for `USER_MANAGED` type instance configurations.", "items": { "type": "string" }, @@ -4041,7 +4126,7 @@ "type": "object" }, "CreateInstanceConfigRequest": { - "description": "The request for CreateInstanceConfigRequest.", + "description": "The request for CreateInstanceConfig.", "id": "CreateInstanceConfigRequest", "properties": { "instanceConfig": { @@ -4234,7 +4319,7 @@ "readOnly": true }, "encryptionInfo": { - "description": "Output only. For databases that are using customer managed encryption, this field contains the encryption information for the database, such as all Cloud KMS key versions that are in use. The `encryption_status' field inside of each `EncryptionInfo` is not populated. For databases that are using Google default or other types of encryption, this field is empty. This field is propagated lazily from the backend. There might be a delay from when a key version is being used and when it appears in this field.", + "description": "Output only. For databases that are using customer managed encryption, this field contains the encryption information for the database, such as all Cloud KMS key versions that are in use. The `encryption_status` field inside of each `EncryptionInfo` is not populated. For databases that are using Google default or other types of encryption, this field is empty. This field is propagated lazily from the backend. There might be a delay from when a key version is being used and when it appears in this field.", "items": { "$ref": "EncryptionInfo" }, @@ -4425,7 +4510,7 @@ "type": "string" }, "kmsKeyNames": { - "description": "Specifies the KMS configuration for the one or more keys used to encrypt the database. Values are of the form `projects//locations//keyRings//cryptoKeys/`. The keys referenced by kms_key_names must fully cover all regions of the database instance configuration. Some examples: * For single region database instance configs, specify a single regional location KMS key. * For multi-regional database instance configs of type GOOGLE_MANAGED, either specify a multi-regional location KMS key or multiple regional location KMS keys that cover all regions in the instance config. * For a database instance config of type USER_MANAGED, please specify only regional location KMS keys to cover each region in the instance config. Multi-regional location KMS keys are not supported for USER_MANAGED instance configs.", + "description": "Specifies the KMS configuration for one or more keys used to encrypt the database. Values are of the form `projects//locations//keyRings//cryptoKeys/`. The keys referenced by `kms_key_names` must fully cover all regions of the database's instance configuration. Some examples: * For regional (single-region) instance configurations, specify a regional location KMS key. * For multi-region instance configurations of type `GOOGLE_MANAGED`, either specify a multi-region location KMS key or multiple regional location KMS keys that cover all regions in the instance configuration. * For an instance configuration of type `USER_MANAGED`, specify only regional location KMS keys to cover each region in the instance configuration. Multi-region location KMS keys aren't supported for `USER_MANAGED` type instance configurations.", "items": { "type": "string" }, @@ -4511,6 +4596,10 @@ "description": "The response for ExecuteBatchDml. Contains a list of ResultSet messages, one for each DML statement that has successfully executed, in the same order as the statements in the request. If a statement fails, the status in the response body identifies the cause of the failure. To check for DML statements that failed, use the following approach: 1. Check the status in the response message. The google.rpc.Code enum value `OK` indicates that all statements were executed successfully. 2. If the status was not `OK`, check the number of result sets in the response. If the response contains `N` ResultSet messages, then statement `N+1` in the request failed. Example 1: * Request: 5 DML statements, all executed successfully. * Response: 5 ResultSet messages, with the status `OK`. Example 2: * Request: 5 DML statements. The third statement has a syntax error. * Response: 2 ResultSet messages, and a syntax error (`INVALID_ARGUMENT`) status. The number of ResultSet messages indicates that the third statement failed, and the fourth and fifth statements were not executed.", "id": "ExecuteBatchDmlResponse", "properties": { + "precommitToken": { + "$ref": "MultiplexedSessionPrecommitToken", + "description": "Optional. A precommit token will be included if the read-write transaction is on a multiplexed session. The precommit token with the highest sequence number from this transaction attempt should be passed to the Commit request for this transaction." + }, "resultSets": { "description": "One ResultSet for each statement in the request that ran successfully, in the same order as the statements in the request. Each ResultSet does not contain any rows. The ResultSetStats in each ResultSet contain the number of rows modified by the statement. Only the first ResultSet in the response contains valid ResultSetMetadata.", "items": { @@ -4562,12 +4651,16 @@ "enum": [ "NORMAL", "PLAN", - "PROFILE" + "PROFILE", + "WITH_STATS", + "WITH_PLAN_AND_STATS" ], "enumDescriptions": [ "The default mode. Only the statement results are returned.", "This mode returns only the query plan, without any results or execution statistics information.", - "This mode returns the query plan, overall execution statistics, operator level execution statistics along with the results. This has a performance overhead compared to the other modes. It is not recommended to use this mode for production traffic." + "This mode returns the query plan, overall execution statistics, operator level execution statistics along with the results. This has a performance overhead compared to the other modes. It is not recommended to use this mode for production traffic.", + "This mode returns the overall (but not operator-level) execution statistics along with the results.", + "This mode returns the query plan, overall (but not operator-level) execution statistics along with the results." ], "type": "string" }, @@ -4809,6 +4902,20 @@ "readOnly": true, "type": "string" }, + "defaultBackupScheduleType": { + "description": "Optional. Controls the default backup behavior for new databases within the instance. Note that `AUTOMATIC` is not permitted for free instances, as backups and backup schedules are not allowed for free instances. In the `GetInstance` or `ListInstances` response, if the value of default_backup_schedule_type is unset or NONE, no default backup schedule will be created for new databases within the instance.", + "enum": [ + "DEFAULT_BACKUP_SCHEDULE_TYPE_UNSPECIFIED", + "NONE", + "AUTOMATIC" + ], + "enumDescriptions": [ + "Not specified.", + "No default backup schedule will be created automatically on creation of a database within the instance.", + "A default backup schedule will be created automatically on creation of a database within the instance. Once created, the default backup schedule can be edited or deleted just like any other backup schedule. Currently, the default backup schedule creates a full backup every 24 hours and retains the backup for a period of 7 days." + ], + "type": "string" + }, "displayName": { "description": "Required. The descriptive name for this instance as it appears in UIs. Must be unique per project and between 4 and 30 characters in length.", "type": "string" @@ -4875,6 +4982,14 @@ "format": "int32", "type": "integer" }, + "replicaComputeCapacity": { + "description": "Output only. Lists the compute capacity per ReplicaSelection. A replica selection identifies a set of replicas with common properties. Replicas identified by a ReplicaSelection are scaled with the same compute capacity.", + "items": { + "$ref": "ReplicaComputeCapacity" + }, + "readOnly": true, + "type": "array" + }, "state": { "description": "Output only. The current instance state. For CreateInstance, the state must be either omitted or set to `CREATING`. For UpdateInstance, the state must be either omitted or set to `READY`.", "enum": [ @@ -5127,6 +5242,17 @@ }, "type": "object" }, + "InstanceReplicaSelection": { + "description": "ReplicaSelection identifies replicas with common properties.", + "id": "InstanceReplicaSelection", + "properties": { + "location": { + "description": "Required. Name of the location of the replicas (e.g., \"us-central1\").", + "type": "string" + } + }, + "type": "object" + }, "KeyRange": { "description": "KeyRange represents a range of rows in a table or index. A range has a start key and an end key. These keys can be open or closed, indicating if the range includes rows with that key. Keys are represented by lists, where the ith value in the list corresponds to the ith component of the table or index primary key. Individual values are encoded as described here. For example, consider the following table definition: CREATE TABLE UserEvents ( UserName STRING(MAX), EventDate STRING(10) ) PRIMARY KEY(UserName, EventDate); The following keys name rows in this table: \"Bob\", \"2014-09-23\" Since the `UserEvents` table's `PRIMARY KEY` clause names two columns, each `UserEvents` key has two elements; the first is the `UserName`, and the second is the `EventDate`. Key ranges with multiple components are interpreted lexicographically by component using the table or index key's declared sort order. For example, the following range returns all events for user `\"Bob\"` that occurred in the year 2015: \"start_closed\": [\"Bob\", \"2015-01-01\"] \"end_closed\": [\"Bob\", \"2015-12-31\"] Start and end keys can omit trailing key components. This affects the inclusion and exclusion of rows that exactly match the provided key components: if the key is closed, then rows that exactly match the provided components are included; if the key is open, then rows that exactly match are not included. For example, the following range includes all events for `\"Bob\"` that occurred during and after the year 2000: \"start_closed\": [\"Bob\", \"2000-01-01\"] \"end_closed\": [\"Bob\"] The next example retrieves all events for `\"Bob\"`: \"start_closed\": [\"Bob\"] \"end_closed\": [\"Bob\"] To retrieve events before the year 2000: \"start_closed\": [\"Bob\"] \"end_open\": [\"Bob\", \"2000-01-01\"] The following range includes all rows in the table: \"start_closed\": [] \"end_closed\": [] This range returns all users whose `UserName` begins with any character from A to C: \"start_closed\": [\"A\"] \"end_open\": [\"D\"] This range returns all users whose `UserName` begins with B: \"start_closed\": [\"B\"] \"end_open\": [\"C\"] Key ranges honor column sort order. For example, suppose a table is defined as follows: CREATE TABLE DescendingSortedTable { Key INT64, ... ) PRIMARY KEY(Key DESC); The following range retrieves all rows with key values between 1 and 100 inclusive: \"start_closed\": [\"100\"] \"end_closed\": [\"1\"] Note that 100 is passed as the start, and 1 is passed as the end, because `Key` is a descending column in the schema.", "id": "KeyRange", @@ -5809,6 +5935,10 @@ "$ref": "ResultSetMetadata", "description": "Metadata about the result set, such as row type information. Only present in the first response." }, + "precommitToken": { + "$ref": "MultiplexedSessionPrecommitToken", + "description": "Optional. A precommit token will be included if the read-write transaction is on a multiplexed session. The precommit token with the highest sequence number from this transaction attempt should be passed to the Commit request for this transaction." + }, "resumeToken": { "description": "Streaming calls might be interrupted for a variety of reasons, such as TCP connection loss. If this occurs, the stream of results can be resumed by re-sending the original request and including `resume_token`. Note that executing any other transaction in the same session invalidates the token.", "format": "byte", @@ -6102,7 +6232,7 @@ }, "queryAdvice": { "$ref": "QueryAdvisorResult", - "description": "Optional. The advices/recommendations for a query. Currently this field will be serving index recommendations for a query." + "description": "Optional. The advise/recommendations for a query. Currently this field will be serving index recommendations for a query." } }, "type": "object" @@ -6284,6 +6414,11 @@ "description": "Message type to initiate a read-write transaction. Currently this transaction type has no options.", "id": "ReadWrite", "properties": { + "multiplexedSessionPreviousTransactionId": { + "description": "Optional. Clients should pass the transaction ID of the previous transaction attempt that was aborted if this transaction is being executed on a multiplexed session.", + "format": "byte", + "type": "string" + }, "readLockMode": { "description": "Read lock mode for the transaction.", "enum": [ @@ -6301,6 +6436,27 @@ }, "type": "object" }, + "ReplicaComputeCapacity": { + "description": "ReplicaComputeCapacity describes the amount of server resources that are allocated to each replica identified by the replica selection.", + "id": "ReplicaComputeCapacity", + "properties": { + "nodeCount": { + "description": "The number of nodes allocated to each replica. This may be zero in API responses for instances that are not yet in state `READY`.", + "format": "int32", + "type": "integer" + }, + "processingUnits": { + "description": "The number of processing units allocated to each replica. This may be zero in API responses for instances that are not yet in state `READY`.", + "format": "int32", + "type": "integer" + }, + "replicaSelection": { + "$ref": "InstanceReplicaSelection", + "description": "Required. Identifies replicas by specified properties. All replicas in the selection have the same amount of compute capacity." + } + }, + "type": "object" + }, "ReplicaInfo": { "id": "ReplicaInfo", "properties": { @@ -6412,7 +6568,7 @@ "type": "string" }, "kmsKeyNames": { - "description": "Optional. Specifies the KMS configuration for the one or more keys used to encrypt the database. Values have the form `projects//locations//keyRings//cryptoKeys/`. The keys referenced by kms_key_names must fully cover all regions of the database instance configuration. Some examples: * For single region database instance configurations, specify a single regional location KMS key. * For multi-regional database instance configurations of type `GOOGLE_MANAGED`, either specify a multi-regional location KMS key or multiple regional location KMS keys that cover all regions in the instance configuration. * For a database instance configuration of type `USER_MANAGED`, please specify only regional location KMS keys to cover each region in the instance configuration. Multi-regional location KMS keys are not supported for USER_MANAGED instance configurations.", + "description": "Optional. Specifies the KMS configuration for one or more keys used to encrypt the database. Values have the form `projects//locations//keyRings//cryptoKeys/`. The keys referenced by `kms_key_names` must fully cover all regions of the database's instance configuration. Some examples: * For regional (single-region) instance configurations, specify a regional location KMS key. * For multi-region instance configurations of type `GOOGLE_MANAGED`, either specify a multi-region location KMS key or multiple regional location KMS keys that cover all regions in the instance configuration. * For an instance configuration of type `USER_MANAGED`, specify only regional location KMS keys to cover each region in the instance configuration. Multi-region location KMS keys aren't supported for `USER_MANAGED` type instance configurations.", "items": { "type": "string" }, @@ -6511,6 +6667,10 @@ "$ref": "ResultSetMetadata", "description": "Metadata about the result set, such as row type information." }, + "precommitToken": { + "$ref": "MultiplexedSessionPrecommitToken", + "description": "Optional. A precommit token will be included if the read-write transaction is on a multiplexed session. The precommit token with the highest sequence number from this transaction attempt should be passed to the Commit request for this transaction." + }, "rows": { "description": "Each element in `rows` is a row whose format is defined by metadata.row_type. The ith element in each row matches the ith field in metadata.row_type. Elements are encoded based on type as described here.", "items": { @@ -6907,7 +7067,8 @@ "NUMERIC", "JSON", "PROTO", - "ENUM" + "ENUM", + "INTERVAL" ], "enumDescriptions": [ "Not specified.", @@ -6924,7 +7085,8 @@ "Encoded as `string`, in decimal format or scientific notation format. Decimal format: `[+-]Digits[.[Digits]]` or `+-.Digits` Scientific notation: `[+-]Digits[.[Digits]][ExponentIndicator[+-]Digits]` or `+-.Digits[ExponentIndicator[+-]Digits]` (ExponentIndicator is `\"e\"` or `\"E\"`)", "Encoded as a JSON-formatted `string` as described in RFC 7159. The following rules are applied when parsing JSON input: - Whitespace characters are not preserved. - If a JSON object has duplicate keys, only the first key is preserved. - Members of a JSON object are not guaranteed to have their order preserved. - JSON array elements will have their order preserved.", "Encoded as a base64-encoded `string`, as described in RFC 4648, section 4.", - "Encoded as `string`, in decimal format." + "Encoded as `string`, in decimal format.", + "Encoded as `string`, in `ISO8601` duration format - `P[n]Y[n]M[n]DT[n]H[n]M[n[.fraction]]S` where `n` is an integer. For example, `P1Y2M3DT4H5M6.5S` represents time duration of 1 year, 2 months, 3 days, 4 hours, 5 minutes, and 6.5 seconds." ], "type": "string" }, @@ -7003,11 +7165,11 @@ "id": "UpdateDatabaseDdlRequest", "properties": { "operationId": { - "description": "If empty, the new update request is assigned an automatically-generated operation ID. Otherwise, `operation_id` is used to construct the name of the resulting Operation. Specifying an explicit operation ID simplifies determining whether the statements were executed in the event that the UpdateDatabaseDdl call is replayed, or the return value is otherwise lost: the database and `operation_id` fields can be combined to form the name of the resulting longrunning.Operation: `/operations/`. `operation_id` should be unique within the database, and must be a valid identifier: `a-z*`. Note that automatically-generated operation IDs always begin with an underscore. If the named operation already exists, UpdateDatabaseDdl returns `ALREADY_EXISTS`.", + "description": "If empty, the new update request is assigned an automatically-generated operation ID. Otherwise, `operation_id` is used to construct the name of the resulting Operation. Specifying an explicit operation ID simplifies determining whether the statements were executed in the event that the UpdateDatabaseDdl call is replayed, or the return value is otherwise lost: the database and `operation_id` fields can be combined to form the `name` of the resulting longrunning.Operation: `/operations/`. `operation_id` should be unique within the database, and must be a valid identifier: `a-z*`. Note that automatically-generated operation IDs always begin with an underscore. If the named operation already exists, UpdateDatabaseDdl returns `ALREADY_EXISTS`.", "type": "string" }, "protoDescriptors": { - "description": "Optional. Proto descriptors used by CREATE/ALTER PROTO BUNDLE statements. Contains a protobuf-serialized [google.protobuf.FileDescriptorSet](https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/descriptor.proto). To generate it, [install](https://grpc.io/docs/protoc-installation/) and run `protoc` with --include_imports and --descriptor_set_out. For example, to generate for moon/shot/app.proto, run ``` $protoc --proto_path=/app_path --proto_path=/lib_path \\ --include_imports \\ --descriptor_set_out=descriptors.data \\ moon/shot/app.proto ``` For more details, see protobuffer [self description](https://developers.google.com/protocol-buffers/docs/techniques#self-description).", + "description": "Optional. Proto descriptors used by CREATE/ALTER PROTO BUNDLE statements. Contains a protobuf-serialized [google.protobufFileDescriptorSet](https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/descriptor.proto). To generate it, [install](https://grpc.io/docs/protoc-installation/) and run `protoc` with --include_imports and --descriptor_set_out. For example, to generate for moon/shot/app.proto, run ``` $protoc --proto_path=/app_path --proto_path=/lib_path \\ --include_imports \\ --descriptor_set_out=descriptors.data \\ moon/shot/app.proto ``` For more details, see protobuffer [self description](https://developers.google.com/protocol-buffers/docs/techniques#self-description).", "format": "byte", "type": "string" }, @@ -7078,7 +7240,7 @@ "type": "object" }, "UpdateInstanceConfigRequest": { - "description": "The request for UpdateInstanceConfigRequest.", + "description": "The request for UpdateInstanceConfig.", "id": "UpdateInstanceConfigRequest", "properties": { "instanceConfig": { diff --git a/discovery/speech-v1.json b/discovery/speech-v1.json index 196da183c5..fd60095968 100644 --- a/discovery/speech-v1.json +++ b/discovery/speech-v1.json @@ -15,6 +15,43 @@ "description": "Converts audio to text by applying powerful neural network models.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/speech-to-text/docs/quickstart-protocol", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://speech.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://speech.us-west1.rep.googleapis.com/", + "location": "us-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://speech.me-west1.rep.googleapis.com/", + "location": "me-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://speech.europe-west1.rep.googleapis.com/", + "location": "europe-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://speech.europe-west2.rep.googleapis.com/", + "location": "europe-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://speech.europe-west3.rep.googleapis.com/", + "location": "europe-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://speech.europe-west4.rep.googleapis.com/", + "location": "europe-west4" + } + ], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -524,7 +561,7 @@ } } }, - "revision": "20240926", + "revision": "20241111", "rootUrl": "https://speech.googleapis.com/", "schemas": { "ABNFGrammar": { diff --git a/discovery/speech-v1p1beta1.json b/discovery/speech-v1p1beta1.json index 05edd0c33c..8c2589969d 100644 --- a/discovery/speech-v1p1beta1.json +++ b/discovery/speech-v1p1beta1.json @@ -15,6 +15,43 @@ "description": "Converts audio to text by applying powerful neural network models.", "discoveryVersion": "v1", "documentationLink": "https://cloud.google.com/speech-to-text/docs/quickstart-protocol", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://speech.us-central1.rep.googleapis.com/", + "location": "us-central1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://speech.us-west1.rep.googleapis.com/", + "location": "us-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://speech.me-west1.rep.googleapis.com/", + "location": "me-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://speech.europe-west1.rep.googleapis.com/", + "location": "europe-west1" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://speech.europe-west2.rep.googleapis.com/", + "location": "europe-west2" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://speech.europe-west3.rep.googleapis.com/", + "location": "europe-west3" + }, + { + "description": "Regional Endpoint", + "endpointUrl": "https://speech.europe-west4.rep.googleapis.com/", + "location": "europe-west4" + } + ], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -524,7 +561,7 @@ } } }, - "revision": "20240926", + "revision": "20241111", "rootUrl": "https://speech.googleapis.com/", "schemas": { "ABNFGrammar": { diff --git a/discovery/sqladmin-v1.json b/discovery/sqladmin-v1.json index 971b0ebc76..dadc1657da 100644 --- a/discovery/sqladmin-v1.json +++ b/discovery/sqladmin-v1.json @@ -609,7 +609,7 @@ "instances": { "methods": { "ListServerCertificates": { - "description": "Lists all versions of server certificates and certificate authorities (CAs) for the specified instance. There can be up to three sets of certs listed: the certificate that is currently in use, a future that has been added but not yet used to sign a certificate, and a certificate that has been rotated out.", + "description": "Lists all versions of server certificates and certificate authorities (CAs) for the specified instance. There can be up to three sets of certs listed: the certificate that is currently in use, a future that has been added but not yet used to sign a certificate, and a certificate that has been rotated out. For instances not using Certificate Authority Service (CAS) server CA, use ListServerCas instead.", "flatPath": "v1/projects/{project}/instances/{instance}/listServerCertificates", "httpMethod": "GET", "id": "sql.instances.ListServerCertificates", @@ -641,7 +641,7 @@ ] }, "RotateServerCertificate": { - "description": "Rotates the server certificate version to one previously added with the addServerCertificate method. For instances not using Certificate Authority Service (CAS) server CA, please use RotateServerCa instead.", + "description": "Rotates the server certificate version to one previously added with the addServerCertificate method. For instances not using Certificate Authority Service (CAS) server CA, use RotateServerCa instead.", "flatPath": "v1/projects/{project}/instances/{instance}/rotateServerCertificate", "httpMethod": "POST", "id": "sql.instances.RotateServerCertificate", @@ -711,7 +711,7 @@ ] }, "addServerCa": { - "description": "Adds a new trusted Certificate Authority (CA) version for the specified instance. Required to prepare for a certificate rotation. If a CA version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one CA version waiting to be rotated in. For instances that have enabled Certificate Authority Service (CAS) based server CA, please use AddServerCertificate to add a new server certificate.", + "description": "Adds a new trusted Certificate Authority (CA) version for the specified instance. Required to prepare for a certificate rotation. If a CA version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one CA version waiting to be rotated in. For instances that have enabled Certificate Authority Service (CAS) based server CA, use AddServerCertificate to add a new server certificate.", "flatPath": "v1/projects/{project}/instances/{instance}/addServerCa", "httpMethod": "POST", "id": "sql.instances.addServerCa", @@ -743,7 +743,7 @@ ] }, "addServerCertificate": { - "description": "Add a new trusted server certificate version for the specified instance using Certificate Authority Service (CAS) server CA. Required to prepare for a certificate rotation. If a server certificate version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one certificate version waiting to be rotated in. For instances not using CAS server CA, please use AddServerCa instead.", + "description": "Add a new trusted server certificate version for the specified instance using Certificate Authority Service (CAS) server CA. Required to prepare for a certificate rotation. If a server certificate version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one certificate version waiting to be rotated in. For instances not using CAS server CA, use AddServerCa instead.", "flatPath": "v1/projects/{project}/instances/{instance}/addServerCertificate", "httpMethod": "POST", "id": "sql.instances.addServerCertificate", @@ -819,28 +819,6 @@ "instance" ], "parameters": { - "enableFinalBackup": { - "description": "Flag to opt-in for final backup. By default, it is turned off.", - "location": "query", - "type": "boolean" - }, - "finalBackupDescription": { - "description": "Optional. The description of the final backup.", - "location": "query", - "type": "string" - }, - "finalBackupExpiryTime": { - "description": "Optional. Final Backup expiration time. Timestamp in UTC of when this resource is considered expired.", - "format": "google-datetime", - "location": "query", - "type": "string" - }, - "finalBackupTtlDays": { - "description": "Optional. Retention period of the final backup.", - "format": "int64", - "location": "query", - "type": "string" - }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", @@ -1215,7 +1193,7 @@ ], "parameters": { "failover": { - "description": "Set to true to invoke a replica failover to the designated DR replica. As part of replica failover, the promote operation attempts to add the original primary instance as a replica of the promoted DR replica when the original primary instance comes back online. If set to false or not specified, then the original primary instance becomes an independent Cloud SQL primary instance. Only applicable to MySQL.", + "description": "Set to true to invoke a replica failover to the DR replica. As part of replica failover, the promote operation attempts to add the original primary instance as a replica of the promoted DR replica when the original primary instance comes back online. If set to false or not specified, then the original primary instance becomes an independent Cloud SQL primary instance.", "location": "query", "type": "boolean" }, @@ -1408,7 +1386,7 @@ ] }, "rotateServerCa": { - "description": "Rotates the server certificate to one signed by the Certificate Authority (CA) version previously added with the addServerCA method. For instances that have enabled Certificate Authority Service (CAS) based server CA, please use RotateServerCertificate to rotate the server certificate.", + "description": "Rotates the server certificate to one signed by the Certificate Authority (CA) version previously added with the addServerCA method. For instances that have enabled Certificate Authority Service (CAS) based server CA, use RotateServerCertificate to rotate the server certificate.", "flatPath": "v1/projects/{project}/instances/{instance}/rotateServerCa", "httpMethod": "POST", "id": "sql.instances.rotateServerCa", @@ -1507,7 +1485,7 @@ ] }, "switchover": { - "description": "Switches over from the primary instance to the designated DR replica instance.", + "description": "Switches over from the primary instance to the DR replica instance.", "flatPath": "v1/projects/{project}/instances/{instance}/switchover", "httpMethod": "POST", "id": "sql.instances.switchover", @@ -1517,7 +1495,7 @@ ], "parameters": { "dbTimeout": { - "description": "Optional. (MySQL only) Cloud SQL instance operations timeout, which is a sum of all database operations. Default value is 10 minutes and can be modified to a maximum value of 24 hours.", + "description": "Optional. (MySQL and PostgreSQL only) Cloud SQL instance operations timeout, which is a sum of all database operations. Default value is 10 minutes and can be modified to a maximum value of 24 hours.", "format": "google-duration", "location": "query", "type": "string" @@ -1691,11 +1669,6 @@ "project" ], "parameters": { - "filter": { - "description": "Optional. A filter string that follows the rules of EBNF grammar (https://google.aip.dev/assets/misc/ebnf-filtering.txt). Cloud SQL provides filters for status, operationType, and startTime.", - "location": "query", - "type": "string" - }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "query", @@ -2393,7 +2366,7 @@ } } }, - "revision": "20240925", + "revision": "20241210", "rootUrl": "https://sqladmin.googleapis.com/", "schemas": { "AclEntry": { @@ -2583,10 +2556,6 @@ "kind": { "description": "This is always `sql#backupContext`.", "type": "string" - }, - "name": { - "description": "The name of the backup. Format: projects/{project}/backups/{backup}", - "type": "string" } }, "type": "object" @@ -2654,8 +2623,8 @@ ], "enumDescriptions": [ "This is an unknown BackupKind.", - "The snapshot based backups", - "Physical backups" + "Snapshot-based backups.", + "Physical backups." ], "type": "string" }, @@ -2887,6 +2856,13 @@ ], "type": "string" }, + "customSubjectAlternativeNames": { + "description": "Custom subject alternative names for the server certificate.", + "items": { + "type": "string" + }, + "type": "array" + }, "databaseVersion": { "description": "The database engine type and version. The `databaseVersion` field cannot be changed after instance creation. MySQL instances: `MYSQL_8_0`, `MYSQL_5_7` (default), or `MYSQL_5_6`. PostgreSQL instances: `POSTGRES_9_6`, `POSTGRES_10`, `POSTGRES_11`, `POSTGRES_12` (default), `POSTGRES_13`, or `POSTGRES_14`. SQL Server instances: `SQLSERVER_2017_STANDARD` (default), `SQLSERVER_2017_ENTERPRISE`, `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`, `SQLSERVER_2019_STANDARD`, `SQLSERVER_2019_ENTERPRISE`, `SQLSERVER_2019_EXPRESS`, or `SQLSERVER_2019_WEB`.", "enum": [ @@ -2895,19 +2871,6 @@ "MYSQL_5_5", "MYSQL_5_6", "MYSQL_5_7", - "SQLSERVER_2017_STANDARD", - "SQLSERVER_2017_ENTERPRISE", - "SQLSERVER_2017_EXPRESS", - "SQLSERVER_2017_WEB", - "POSTGRES_9_6", - "POSTGRES_10", - "POSTGRES_11", - "POSTGRES_12", - "POSTGRES_13", - "POSTGRES_14", - "POSTGRES_15", - "POSTGRES_16", - "POSTGRES_17", "MYSQL_8_0", "MYSQL_8_0_18", "MYSQL_8_0_26", @@ -2925,7 +2888,22 @@ "MYSQL_8_0_38", "MYSQL_8_0_39", "MYSQL_8_0_40", + "MYSQL_8_0_41", + "MYSQL_8_0_42", "MYSQL_8_4", + "SQLSERVER_2017_STANDARD", + "SQLSERVER_2017_ENTERPRISE", + "SQLSERVER_2017_EXPRESS", + "SQLSERVER_2017_WEB", + "POSTGRES_9_6", + "POSTGRES_10", + "POSTGRES_11", + "POSTGRES_12", + "POSTGRES_13", + "POSTGRES_14", + "POSTGRES_15", + "POSTGRES_16", + "POSTGRES_17", "SQLSERVER_2019_STANDARD", "SQLSERVER_2019_ENTERPRISE", "SQLSERVER_2019_EXPRESS", @@ -2946,6 +2924,9 @@ false, false, false, + true, + false, + false, false, false, false, @@ -2959,7 +2940,6 @@ false, false, false, - true, false, false, false, @@ -2987,19 +2967,6 @@ "The database version is MySQL 5.5.", "The database version is MySQL 5.6.", "The database version is MySQL 5.7.", - "The database version is SQL Server 2017 Standard.", - "The database version is SQL Server 2017 Enterprise.", - "The database version is SQL Server 2017 Express.", - "The database version is SQL Server 2017 Web.", - "The database version is PostgreSQL 9.6.", - "The database version is PostgreSQL 10.", - "The database version is PostgreSQL 11.", - "The database version is PostgreSQL 12.", - "The database version is PostgreSQL 13.", - "The database version is PostgreSQL 14.", - "The database version is PostgreSQL 15.", - "The database version is PostgreSQL 16.", - "The database version is PostgreSQL 17.", "The database version is MySQL 8.", "The database major version is MySQL 8.0 and the minor version is 18.", "The database major version is MySQL 8.0 and the minor version is 26.", @@ -3017,7 +2984,22 @@ "The database major version is MySQL 8.0 and the minor version is 38.", "The database major version is MySQL 8.0 and the minor version is 39.", "The database major version is MySQL 8.0 and the minor version is 40.", + "The database major version is MySQL 8.0 and the minor version is 41.", + "The database major version is MySQL 8.0 and the minor version is 42.", "The database version is MySQL 8.4.", + "The database version is SQL Server 2017 Standard.", + "The database version is SQL Server 2017 Enterprise.", + "The database version is SQL Server 2017 Express.", + "The database version is SQL Server 2017 Web.", + "The database version is PostgreSQL 9.6.", + "The database version is PostgreSQL 10.", + "The database version is PostgreSQL 11.", + "The database version is PostgreSQL 12.", + "The database version is PostgreSQL 13.", + "The database version is PostgreSQL 14.", + "The database version is PostgreSQL 15.", + "The database version is PostgreSQL 16.", + "The database version is PostgreSQL 17.", "The database version is SQL Server 2019 Standard.", "The database version is SQL Server 2019 Enterprise.", "The database version is SQL Server 2019 Express.", @@ -3204,19 +3186,6 @@ "MYSQL_5_5", "MYSQL_5_6", "MYSQL_5_7", - "SQLSERVER_2017_STANDARD", - "SQLSERVER_2017_ENTERPRISE", - "SQLSERVER_2017_EXPRESS", - "SQLSERVER_2017_WEB", - "POSTGRES_9_6", - "POSTGRES_10", - "POSTGRES_11", - "POSTGRES_12", - "POSTGRES_13", - "POSTGRES_14", - "POSTGRES_15", - "POSTGRES_16", - "POSTGRES_17", "MYSQL_8_0", "MYSQL_8_0_18", "MYSQL_8_0_26", @@ -3234,7 +3203,22 @@ "MYSQL_8_0_38", "MYSQL_8_0_39", "MYSQL_8_0_40", + "MYSQL_8_0_41", + "MYSQL_8_0_42", "MYSQL_8_4", + "SQLSERVER_2017_STANDARD", + "SQLSERVER_2017_ENTERPRISE", + "SQLSERVER_2017_EXPRESS", + "SQLSERVER_2017_WEB", + "POSTGRES_9_6", + "POSTGRES_10", + "POSTGRES_11", + "POSTGRES_12", + "POSTGRES_13", + "POSTGRES_14", + "POSTGRES_15", + "POSTGRES_16", + "POSTGRES_17", "SQLSERVER_2019_STANDARD", "SQLSERVER_2019_ENTERPRISE", "SQLSERVER_2019_EXPRESS", @@ -3255,6 +3239,9 @@ false, false, false, + true, + false, + false, false, false, false, @@ -3268,7 +3255,6 @@ false, false, false, - true, false, false, false, @@ -3296,19 +3282,6 @@ "The database version is MySQL 5.5.", "The database version is MySQL 5.6.", "The database version is MySQL 5.7.", - "The database version is SQL Server 2017 Standard.", - "The database version is SQL Server 2017 Enterprise.", - "The database version is SQL Server 2017 Express.", - "The database version is SQL Server 2017 Web.", - "The database version is PostgreSQL 9.6.", - "The database version is PostgreSQL 10.", - "The database version is PostgreSQL 11.", - "The database version is PostgreSQL 12.", - "The database version is PostgreSQL 13.", - "The database version is PostgreSQL 14.", - "The database version is PostgreSQL 15.", - "The database version is PostgreSQL 16.", - "The database version is PostgreSQL 17.", "The database version is MySQL 8.", "The database major version is MySQL 8.0 and the minor version is 18.", "The database major version is MySQL 8.0 and the minor version is 26.", @@ -3326,7 +3299,22 @@ "The database major version is MySQL 8.0 and the minor version is 38.", "The database major version is MySQL 8.0 and the minor version is 39.", "The database major version is MySQL 8.0 and the minor version is 40.", + "The database major version is MySQL 8.0 and the minor version is 41.", + "The database major version is MySQL 8.0 and the minor version is 42.", "The database version is MySQL 8.4.", + "The database version is SQL Server 2017 Standard.", + "The database version is SQL Server 2017 Enterprise.", + "The database version is SQL Server 2017 Express.", + "The database version is SQL Server 2017 Web.", + "The database version is PostgreSQL 9.6.", + "The database version is PostgreSQL 10.", + "The database version is PostgreSQL 11.", + "The database version is PostgreSQL 12.", + "The database version is PostgreSQL 13.", + "The database version is PostgreSQL 14.", + "The database version is PostgreSQL 15.", + "The database version is PostgreSQL 16.", + "The database version is PostgreSQL 17.", "The database version is SQL Server 2019 Standard.", "The database version is SQL Server 2019 Enterprise.", "The database version is SQL Server 2019 Express.", @@ -3467,7 +3455,7 @@ }, "replicationCluster": { "$ref": "ReplicationCluster", - "description": "Optional. A primary instance and disaster recovery (DR) replica pair. A DR replica is a cross-region replica that you designate for failover in the event that the primary instance experiences regional failure. Only applicable to MySQL." + "description": "Optional. A primary instance and disaster recovery (DR) replica pair. A DR replica is a cross-region replica that you designate for failover in the event that the primary instance experiences regional failure. Applicable to MySQL and PostgreSQL." }, "rootPassword": { "description": "Initial root password. Use only on creation. You must set root passwords before you can connect to PostgreSQL instances.", @@ -3578,6 +3566,13 @@ "description": "Input only. Whether Cloud SQL is enabled to switch storing point-in-time recovery log files from a data disk to Cloud Storage.", "type": "boolean" }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Input only. Immutable. Tag keys and tag values that are bound to this instance. You must represent each item in the map as: `\"\" : \"\"`. For example, a single resource can have the following tags: ``` \"123/environment\": \"production\", \"123/costCenter\": \"marketing\", ``` For more information on tag creation and management, see https://cloud.google.com/resource-manager/docs/tags/tags-overview.", + "type": "object" + }, "upgradableDatabaseVersions": { "description": "Output only. All database versions that are available for upgrade.", "items": { @@ -3924,6 +3919,17 @@ }, "type": "object" }, + "ExternalSyncSelectedObject": { + "description": "The selected object that Cloud SQL migrates.", + "id": "ExternalSyncSelectedObject", + "properties": { + "database": { + "description": "The name of the database that Cloud SQL migrates.", + "type": "string" + } + }, + "type": "object" + }, "FailoverContext": { "description": "Database instance failover context.", "id": "FailoverContext", @@ -3968,19 +3974,6 @@ "MYSQL_5_5", "MYSQL_5_6", "MYSQL_5_7", - "SQLSERVER_2017_STANDARD", - "SQLSERVER_2017_ENTERPRISE", - "SQLSERVER_2017_EXPRESS", - "SQLSERVER_2017_WEB", - "POSTGRES_9_6", - "POSTGRES_10", - "POSTGRES_11", - "POSTGRES_12", - "POSTGRES_13", - "POSTGRES_14", - "POSTGRES_15", - "POSTGRES_16", - "POSTGRES_17", "MYSQL_8_0", "MYSQL_8_0_18", "MYSQL_8_0_26", @@ -3998,7 +3991,22 @@ "MYSQL_8_0_38", "MYSQL_8_0_39", "MYSQL_8_0_40", + "MYSQL_8_0_41", + "MYSQL_8_0_42", "MYSQL_8_4", + "SQLSERVER_2017_STANDARD", + "SQLSERVER_2017_ENTERPRISE", + "SQLSERVER_2017_EXPRESS", + "SQLSERVER_2017_WEB", + "POSTGRES_9_6", + "POSTGRES_10", + "POSTGRES_11", + "POSTGRES_12", + "POSTGRES_13", + "POSTGRES_14", + "POSTGRES_15", + "POSTGRES_16", + "POSTGRES_17", "SQLSERVER_2019_STANDARD", "SQLSERVER_2019_ENTERPRISE", "SQLSERVER_2019_EXPRESS", @@ -4019,6 +4027,9 @@ false, false, false, + true, + false, + false, false, false, false, @@ -4032,7 +4043,6 @@ false, false, false, - true, false, false, false, @@ -4060,19 +4070,6 @@ "The database version is MySQL 5.5.", "The database version is MySQL 5.6.", "The database version is MySQL 5.7.", - "The database version is SQL Server 2017 Standard.", - "The database version is SQL Server 2017 Enterprise.", - "The database version is SQL Server 2017 Express.", - "The database version is SQL Server 2017 Web.", - "The database version is PostgreSQL 9.6.", - "The database version is PostgreSQL 10.", - "The database version is PostgreSQL 11.", - "The database version is PostgreSQL 12.", - "The database version is PostgreSQL 13.", - "The database version is PostgreSQL 14.", - "The database version is PostgreSQL 15.", - "The database version is PostgreSQL 16.", - "The database version is PostgreSQL 17.", "The database version is MySQL 8.", "The database major version is MySQL 8.0 and the minor version is 18.", "The database major version is MySQL 8.0 and the minor version is 26.", @@ -4090,7 +4087,22 @@ "The database major version is MySQL 8.0 and the minor version is 38.", "The database major version is MySQL 8.0 and the minor version is 39.", "The database major version is MySQL 8.0 and the minor version is 40.", + "The database major version is MySQL 8.0 and the minor version is 41.", + "The database major version is MySQL 8.0 and the minor version is 42.", "The database version is MySQL 8.4.", + "The database version is SQL Server 2017 Standard.", + "The database version is SQL Server 2017 Enterprise.", + "The database version is SQL Server 2017 Express.", + "The database version is SQL Server 2017 Web.", + "The database version is PostgreSQL 9.6.", + "The database version is PostgreSQL 10.", + "The database version is PostgreSQL 11.", + "The database version is PostgreSQL 12.", + "The database version is PostgreSQL 13.", + "The database version is PostgreSQL 14.", + "The database version is PostgreSQL 15.", + "The database version is PostgreSQL 16.", + "The database version is PostgreSQL 17.", "The database version is SQL Server 2019 Standard.", "The database version is SQL Server 2019 Enterprise.", "The database version is SQL Server 2019 Express.", @@ -4628,17 +4640,9 @@ "description": "Database instance restore backup request.", "id": "InstancesRestoreBackupRequest", "properties": { - "backup": { - "description": "The name of the backup to restore from in following format: projects/{project-id}/backups/{backup-uid} Only one of restore_backup_context or backup can be passed to the input.", - "type": "string" - }, "restoreBackupContext": { "$ref": "RestoreBackupContext", "description": "Parameters required to perform the restore backup operation." - }, - "restoreInstanceSettings": { - "$ref": "DatabaseInstance", - "description": "Optional. Restore instance settings overrides the instance settings stored as part of the backup. Instance's major database version cannot be changed and the disk size can only be increased. This feature is only available for restores to new instances using the backup name." } }, "type": "object" @@ -4691,6 +4695,13 @@ }, "type": "array" }, + "customSubjectAlternativeNames": { + "description": "Optional. Custom Subject Alternative Name(SAN)s for a Cloud SQL instance.", + "items": { + "type": "string" + }, + "type": "array" + }, "enablePrivatePathForGoogleCloudServices": { "description": "Controls connectivity to private IP instances from Google services, such as BigQuery.", "type": "boolean" @@ -4716,15 +4727,21 @@ "enum": [ "CA_MODE_UNSPECIFIED", "GOOGLE_MANAGED_INTERNAL_CA", - "GOOGLE_MANAGED_CAS_CA" + "GOOGLE_MANAGED_CAS_CA", + "CUSTOMER_MANAGED_CAS_CA" ], "enumDescriptions": [ - "CA mode is unknown.", + "CA mode is unspecified. It is effectively the same as `GOOGLE_MANAGED_INTERNAL_CA`.", "Google-managed self-signed internal CA.", - "Google-managed regional CA part of root CA hierarchy hosted on Google Cloud's Certificate Authority Service (CAS)." + "Google-managed regional CA part of root CA hierarchy hosted on Google Cloud's Certificate Authority Service (CAS).", + "Customer-managed CA hosted on Google Cloud's Certificate Authority Service (CAS)." ], "type": "string" }, + "serverCaPool": { + "description": "Optional. The resource name of the server CA pool for an instance with `CUSTOMER_MANAGED_CAS_CA` as the `server_ca_mode`. Format: projects//locations//caPools/", + "type": "string" + }, "sslMode": { "description": "Specify how SSL/TLS is enforced in database connections. If you must use the `require_ssl` flag for backward compatibility, then only the following value pairs are valid: For PostgreSQL and MySQL: * `ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED` and `require_ssl=false` * `ssl_mode=ENCRYPTED_ONLY` and `require_ssl=false` * `ssl_mode=TRUSTED_CLIENT_CERTIFICATE_REQUIRED` and `require_ssl=true` For SQL Server: * `ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED` and `require_ssl=false` * `ssl_mode=ENCRYPTED_ONLY` and `require_ssl=true` The value of `ssl_mode` has priority over the value of `require_ssl`. For example, for the pair `ssl_mode=ENCRYPTED_ONLY` and `require_ssl=false`, `ssl_mode=ENCRYPTED_ONLY` means accept only SSL connections, while `require_ssl=false` means accept both non-SSL and SSL connections. In this case, MySQL and PostgreSQL databases respect `ssl_mode` and accepts only SSL connections.", "enum": [ @@ -4938,10 +4955,33 @@ "description": "The password for connecting to on-premises instance.", "type": "string" }, + "selectedObjects": { + "description": "Optional. A list of objects that the user selects for replication from an external source instance.", + "items": { + "$ref": "SelectedObjects" + }, + "type": "array" + }, "sourceInstance": { "$ref": "InstanceReference", "description": "The reference to Cloud SQL instance if the source is Cloud SQL." }, + "sslOption": { + "description": "Optional. SSL option for replica connection to the on-premises source.", + "enum": [ + "SSL_OPTION_UNSPECIFIED", + "DISABLE", + "REQUIRE", + "VERIFY_CA" + ], + "enumDescriptions": [ + "Unknown SSL option i.e. SSL option not specified by user.", + "SSL is not used for replica connection to the on-premises source.", + "SSL is required for replica connection to the on-premises source.", + "Verify CA is required for replica connection to the on-premises source." + ], + "type": "string" + }, "username": { "description": "The username for connecting to on-premises instance.", "type": "string" @@ -5037,14 +5077,14 @@ "AUTO_RESTART", "REENCRYPT", "SWITCHOVER", - "UPDATE_BACKUP", "ACQUIRE_SSRS_LEASE", "RELEASE_SSRS_LEASE", "RECONFIGURE_OLD_PRIMARY", "CLUSTER_MAINTENANCE", "SELF_SERVICE_MAINTENANCE", "SWITCHOVER_TO_REPLICA", - "MAJOR_VERSION_UPGRADE" + "MAJOR_VERSION_UPGRADE", + "ADVANCED_BACKUP" ], "enumDeprecated": [ false, @@ -5089,10 +5129,10 @@ false, false, false, - false, true, true, false, + false, false ], "enumDescriptions": [ @@ -5135,14 +5175,14 @@ "Performs auto-restart of an HA-enabled Cloud SQL database for auto recovery.", "Re-encrypts CMEK instances with latest key version.", "Switches the roles of the primary and replica pair. The target instance should be the replica.", - "Update a backup.", "Acquire a lease for the setup of SQL Server Reporting Services (SSRS).", "Release a lease for the setup of SQL Server Reporting Services (SSRS).", "Reconfigures old primary after a promote replica operation. Effect of a promote operation to the old primary is executed in this operation, asynchronously from the promote replica operation executed to the replica.", "Indicates that the instance, its read replicas, and its cascading replicas are in maintenance. Maintenance typically gets initiated on groups of replicas first, followed by the primary instance. For each instance, maintenance typically causes the instance to be unavailable for 1-3 minutes.", "Indicates that the instance (and any of its replicas) are currently in maintenance. This is initiated as a self-service request by using SSM. Maintenance typically causes the instance to be unavailable for 1-3 minutes.", "Switches a primary instance to a replica. This operation runs as part of a switchover operation to the original primary instance.", - "Updates the major version of a Cloud SQL instance." + "Updates the major version of a Cloud SQL instance.", + "Creates a backup for an Advanced BackupTier Cloud SQL instance." ], "type": "string" }, @@ -5171,8 +5211,11 @@ ], "type": "string" }, + "subOperationType": { + "$ref": "SqlSubOperationType", + "description": "Optional. The sub operation based on the operation type." + }, "targetId": { - "description": "Name of the database instance related to this operation.", "type": "string" }, "targetLink": { @@ -5236,7 +5279,7 @@ "type": "string" }, "cancelRequested": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -5288,13 +5331,6 @@ "nextPageToken": { "description": "The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.", "type": "string" - }, - "warnings": { - "description": "List of warnings that occurred while handling the request.", - "items": { - "$ref": "ApiWarning" - }, - "type": "array" } }, "type": "object" @@ -5374,6 +5410,33 @@ }, "type": "object" }, + "PscAutoConnectionConfig": { + "description": "Settings for an automatically-setup Private Service Connect consumer endpoint that is used to connect to a Cloud SQL instance.", + "id": "PscAutoConnectionConfig", + "properties": { + "consumerNetwork": { + "description": "The consumer network of this consumer endpoint. This must be a resource path that includes both the host project and the network name. For example, `projects/project1/global/networks/network1`. The consumer host project of this network might be different from the consumer service project.", + "type": "string" + }, + "consumerNetworkStatus": { + "description": "The connection policy status of the consumer network.", + "type": "string" + }, + "consumerProject": { + "description": "This is the project ID of consumer service project of this consumer endpoint. Optional. This is only applicable if consumer_network is a shared vpc network.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address of the consumer endpoint.", + "type": "string" + }, + "status": { + "description": "The connection status of the consumer endpoint.", + "type": "string" + } + }, + "type": "object" + }, "PscConfig": { "description": "PSC settings for a Cloud SQL instance.", "id": "PscConfig", @@ -5385,6 +5448,13 @@ }, "type": "array" }, + "pscAutoConnections": { + "description": "Optional. The list of settings for requested Private Service Connect consumer endpoints that can be used to connect to this Cloud SQL instance.", + "items": { + "$ref": "PscAutoConnectionConfig" + }, + "type": "array" + }, "pscEnabled": { "description": "Whether PSC connectivity is enabled for this instance.", "type": "boolean" @@ -5416,7 +5486,7 @@ "type": "object" }, "ReplicationCluster": { - "description": "A primary instance and disaster recovery (DR) replica pair. A DR replica is a cross-region replica that you designate for failover in the event that the primary instance experiences regional failure. Only applicable to MySQL.", + "description": "A primary instance and disaster recovery (DR) replica pair. A DR replica is a cross-region replica that you designate for failover in the event that the primary instance experiences regional failure. Applicable to MySQL and PostgreSQL.", "id": "ReplicationCluster", "properties": { "drReplica": { @@ -5429,7 +5499,7 @@ "type": "string" }, "psaWriteEndpoint": { - "description": "Output only. If set, it indicates this instance has a private service access (PSA) dns endpoint that is pointing to the primary instance of the cluster. If this instance is the primary, the dns should be pointing to this instance. After Switchover or Replica failover, this DNS endpoint points to the promoted instance. This is a read-only field, returned to the user as information. This field can exist even if a standalone instance does not yet have a replica, or had a DR replica that was deleted.", + "description": "Output only. If set, this field indicates this instance has a private service access (PSA) DNS endpoint that is pointing to the primary instance of the cluster. If this instance is the primary, then the DNS endpoint points to this instance. After a switchover or replica failover operation, this DNS endpoint points to the promoted instance. This is a read-only field, returned to the user as information. This field can exist even if a standalone instance doesn't have a DR replica yet or the DR replica is deleted.", "readOnly": true, "type": "string" } @@ -5517,6 +5587,17 @@ }, "type": "object" }, + "SelectedObjects": { + "description": "A list of objects that the user selects for replication from an external source instance.", + "id": "SelectedObjects", + "properties": { + "database": { + "description": "Required. The name of the database to migrate.", + "type": "string" + } + }, + "type": "object" + }, "Settings": { "description": "Database instance settings.", "id": "Settings", @@ -5846,7 +5927,8 @@ "UNSUPPORTED_COLUMNS", "USERS_NOT_CREATED_IN_REPLICA", "UNSUPPORTED_SYSTEM_OBJECTS", - "UNSUPPORTED_TABLES_WITH_REPLICA_IDENTITY" + "UNSUPPORTED_TABLES_WITH_REPLICA_IDENTITY", + "SELECTED_OBJECTS_NOT_EXIST_ON_SOURCE" ], "enumDescriptions": [ "", @@ -5901,7 +5983,8 @@ "The source database has generated columns that can't be migrated. Please change them to regular columns before migration.", "The source database has users that aren't created in the replica. First, create all users, which are in the pg_user_mappings table of the source database, in the destination instance. Then, perform the migration.", "The selected objects include system objects that aren't supported for migration.", - "The source database has tables with the FULL or NOTHING replica identity. Before starting your migration, either remove the identity or change it to DEFAULT. Note that this is an error and will block the migration." + "The source database has tables with the FULL or NOTHING replica identity. Before starting your migration, either remove the identity or change it to DEFAULT. Note that this is an error and will block the migration.", + "The selected objects don't exist on the source instance." ], "type": "string" } @@ -6064,6 +6147,13 @@ "$ref": "MySqlSyncConfig", "description": "Optional. MySQL-specific settings for start external sync." }, + "selectedObjects": { + "description": "Optional. Migrate only the specified objects from the source instance. If this field is empty, then migrate all objects.", + "items": { + "$ref": "ExternalSyncSelectedObject" + }, + "type": "array" + }, "syncMode": { "description": "External sync mode", "enum": [ @@ -6240,6 +6330,31 @@ }, "type": "object" }, + "SqlSubOperationType": { + "description": "The sub operation type based on the operation type.", + "id": "SqlSubOperationType", + "properties": { + "maintenanceType": { + "description": "The type of maintenance to be performed on the instance.", + "enum": [ + "SQL_MAINTENANCE_TYPE_UNSPECIFIED", + "INSTANCE_MAINTENANCE", + "REPLICA_INCLUDED_MAINTENANCE", + "INSTANCE_SELF_SERVICE_MAINTENANCE", + "REPLICA_INCLUDED_SELF_SERVICE_MAINTENANCE" + ], + "enumDescriptions": [ + "Maintenance type is unspecified.", + "Indicates that a standalone instance is undergoing maintenance. The instance can be either a primary instance or a replica.", + "Indicates that the primary instance and all of its replicas, including cascading replicas, are undergoing maintenance. Maintenance is performed on groups of replicas first, followed by the primary instance.", + "Indicates that the standalone instance is undergoing maintenance, initiated by self-service. The instance can be either a primary instance or a replica.", + "Indicates that the primary instance and all of its replicas are undergoing maintenance, initiated by self-service. Maintenance is performed on groups of replicas first, followed by the primary instance." + ], + "type": "string" + } + }, + "type": "object" + }, "SslCert": { "description": "SslCerts Resource", "id": "SslCert", diff --git a/discovery/sqladmin-v1beta4.json b/discovery/sqladmin-v1beta4.json index b49cffaae8..3c04df7a72 100644 --- a/discovery/sqladmin-v1beta4.json +++ b/discovery/sqladmin-v1beta4.json @@ -609,7 +609,7 @@ "instances": { "methods": { "ListServerCertificates": { - "description": "Lists all versions of server certificates and certificate authorities (CAs) for the specified instance. There can be up to three sets of certs listed: the certificate that is currently in use, a future that has been added but not yet used to sign a certificate, and a certificate that has been rotated out.", + "description": "Lists all versions of server certificates and certificate authorities (CAs) for the specified instance. There can be up to three sets of certs listed: the certificate that is currently in use, a future that has been added but not yet used to sign a certificate, and a certificate that has been rotated out. For instances not using Certificate Authority Service (CAS) server CA, use ListServerCas instead.", "flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/listServerCertificates", "httpMethod": "GET", "id": "sql.instances.ListServerCertificates", @@ -641,7 +641,7 @@ ] }, "RotateServerCertificate": { - "description": "Rotates the server certificate version to one previously added with the addServerCertificate method. For instances not using Certificate Authority Service (CAS) server CA, please use RotateServerCa instead.", + "description": "Rotates the server certificate version to one previously added with the addServerCertificate method. For instances not using Certificate Authority Service (CAS) server CA, use RotateServerCa instead.", "flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/rotateServerCertificate", "httpMethod": "POST", "id": "sql.instances.RotateServerCertificate", @@ -711,7 +711,7 @@ ] }, "addServerCa": { - "description": "Add a new trusted Certificate Authority (CA) version for the specified instance. Required to prepare for a certificate rotation. If a CA version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one CA version waiting to be rotated in. For instances that have enabled Certificate Authority Service (CAS) based server CA, please use AddServerCertificate to add a new server certificate.", + "description": "Add a new trusted Certificate Authority (CA) version for the specified instance. Required to prepare for a certificate rotation. If a CA version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one CA version waiting to be rotated in. For instances that have enabled Certificate Authority Service (CAS) based server CA, use AddServerCertificate to add a new server certificate.", "flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/addServerCa", "httpMethod": "POST", "id": "sql.instances.addServerCa", @@ -743,7 +743,7 @@ ] }, "addServerCertificate": { - "description": "Add a new trusted server certificate version for the specified instance using Certificate Authority Service (CAS) server CA. Required to prepare for a certificate rotation. If a server certificate version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one certificate version waiting to be rotated in. For instances not using CAS server CA, please use AddServerCa instead.", + "description": "Add a new trusted server certificate version for the specified instance using Certificate Authority Service (CAS) server CA. Required to prepare for a certificate rotation. If a server certificate version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one certificate version waiting to be rotated in. For instances not using CAS server CA, use AddServerCa instead.", "flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/addServerCertificate", "httpMethod": "POST", "id": "sql.instances.addServerCertificate", @@ -819,28 +819,6 @@ "instance" ], "parameters": { - "enableFinalBackup": { - "description": "Flag to opt-in for final backup. By default, it is turned off.", - "location": "query", - "type": "boolean" - }, - "finalBackupDescription": { - "description": "Optional. The description of the final backup.", - "location": "query", - "type": "string" - }, - "finalBackupExpiryTime": { - "description": "Optional. Final Backup expiration time. Timestamp in UTC of when this resource is considered expired.", - "format": "google-datetime", - "location": "query", - "type": "string" - }, - "finalBackupTtlDays": { - "description": "Optional. Retention period of the final backup.", - "format": "int64", - "location": "query", - "type": "string" - }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "path", @@ -1215,7 +1193,7 @@ ], "parameters": { "failover": { - "description": "Set to true to invoke a replica failover to the designated DR replica. As part of replica failover, the promote operation attempts to add the original primary instance as a replica of the promoted DR replica when the original primary instance comes back online. If set to false or not specified, then the original primary instance becomes an independent Cloud SQL primary instance. Only applicable to MySQL.", + "description": "Set to true to invoke a replica failover to the DR replica. As part of replica failover, the promote operation attempts to add the original primary instance as a replica of the promoted DR replica when the original primary instance comes back online. If set to false or not specified, then the original primary instance becomes an independent Cloud SQL primary instance.", "location": "query", "type": "boolean" }, @@ -1408,7 +1386,7 @@ ] }, "rotateServerCa": { - "description": "Rotates the server certificate to one signed by the Certificate Authority (CA) version previously added with the addServerCA method. For instances that have enabled Certificate Authority Service (CAS) based server CA, please use RotateServerCertificate to rotate the server certificate.", + "description": "Rotates the server certificate to one signed by the Certificate Authority (CA) version previously added with the addServerCA method. For instances that have enabled Certificate Authority Service (CAS) based server CA, use RotateServerCertificate to rotate the server certificate.", "flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/rotateServerCa", "httpMethod": "POST", "id": "sql.instances.rotateServerCa", @@ -1507,7 +1485,7 @@ ] }, "switchover": { - "description": "Switches over from the primary instance to the designated DR replica instance.", + "description": "Switches over from the primary instance to the DR replica instance.", "flatPath": "sql/v1beta4/projects/{project}/instances/{instance}/switchover", "httpMethod": "POST", "id": "sql.instances.switchover", @@ -1517,7 +1495,7 @@ ], "parameters": { "dbTimeout": { - "description": "Optional. (MySQL only) Cloud SQL instance operations timeout, which is a sum of all database operations. Default value is 10 minutes and can be modified to a maximum value of 24 hours.", + "description": "Optional. (MySQL and PostgreSQL only) Cloud SQL instance operations timeout, which is a sum of all database operations. Default value is 10 minutes and can be modified to a maximum value of 24 hours.", "format": "google-duration", "location": "query", "type": "string" @@ -1691,11 +1669,6 @@ "project" ], "parameters": { - "filter": { - "description": "Optional. A filter string that follows the rules of EBNF grammar (https://google.aip.dev/assets/misc/ebnf-filtering.txt). Cloud SQL provides filters for status, operationType, and startTime.", - "location": "query", - "type": "string" - }, "instance": { "description": "Cloud SQL instance ID. This does not include the project ID.", "location": "query", @@ -2393,7 +2366,7 @@ } } }, - "revision": "20240925", + "revision": "20241210", "rootUrl": "https://sqladmin.googleapis.com/", "schemas": { "AclEntry": { @@ -2583,10 +2556,6 @@ "kind": { "description": "This is always `sql#backupContext`.", "type": "string" - }, - "name": { - "description": "The name of the backup. Format: projects/{project}/backups/{backup}", - "type": "string" } }, "type": "object" @@ -2654,8 +2623,8 @@ ], "enumDescriptions": [ "This is an unknown BackupKind.", - "The snapshot based backups", - "Physical backups" + "Snapshot-based backups.", + "Physical backups." ], "type": "string" }, @@ -2887,6 +2856,13 @@ ], "type": "string" }, + "customSubjectAlternativeNames": { + "description": "Custom subject alternative names for the server certificate.", + "items": { + "type": "string" + }, + "type": "array" + }, "databaseVersion": { "description": "The database engine type and version. The `databaseVersion` field cannot be changed after instance creation. MySQL instances: `MYSQL_8_0`, `MYSQL_5_7` (default), or `MYSQL_5_6`. PostgreSQL instances: `POSTGRES_9_6`, `POSTGRES_10`, `POSTGRES_11` or `POSTGRES_12` (default), `POSTGRES_13`, or `POSTGRES_14`. SQL Server instances: `SQLSERVER_2017_STANDARD` (default), `SQLSERVER_2017_ENTERPRISE`, `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`, `SQLSERVER_2019_STANDARD`, `SQLSERVER_2019_ENTERPRISE`, `SQLSERVER_2019_EXPRESS`, or `SQLSERVER_2019_WEB`.", "enum": [ @@ -2895,19 +2871,6 @@ "MYSQL_5_5", "MYSQL_5_6", "MYSQL_5_7", - "SQLSERVER_2017_STANDARD", - "SQLSERVER_2017_ENTERPRISE", - "SQLSERVER_2017_EXPRESS", - "SQLSERVER_2017_WEB", - "POSTGRES_9_6", - "POSTGRES_10", - "POSTGRES_11", - "POSTGRES_12", - "POSTGRES_13", - "POSTGRES_14", - "POSTGRES_15", - "POSTGRES_16", - "POSTGRES_17", "MYSQL_8_0", "MYSQL_8_0_18", "MYSQL_8_0_26", @@ -2925,7 +2888,22 @@ "MYSQL_8_0_38", "MYSQL_8_0_39", "MYSQL_8_0_40", + "MYSQL_8_0_41", + "MYSQL_8_0_42", "MYSQL_8_4", + "SQLSERVER_2017_STANDARD", + "SQLSERVER_2017_ENTERPRISE", + "SQLSERVER_2017_EXPRESS", + "SQLSERVER_2017_WEB", + "POSTGRES_9_6", + "POSTGRES_10", + "POSTGRES_11", + "POSTGRES_12", + "POSTGRES_13", + "POSTGRES_14", + "POSTGRES_15", + "POSTGRES_16", + "POSTGRES_17", "SQLSERVER_2019_STANDARD", "SQLSERVER_2019_ENTERPRISE", "SQLSERVER_2019_EXPRESS", @@ -2946,6 +2924,9 @@ false, false, false, + true, + false, + false, false, false, false, @@ -2959,7 +2940,6 @@ false, false, false, - true, false, false, false, @@ -2987,19 +2967,6 @@ "The database version is MySQL 5.5.", "The database version is MySQL 5.6.", "The database version is MySQL 5.7.", - "The database version is SQL Server 2017 Standard.", - "The database version is SQL Server 2017 Enterprise.", - "The database version is SQL Server 2017 Express.", - "The database version is SQL Server 2017 Web.", - "The database version is PostgreSQL 9.6.", - "The database version is PostgreSQL 10.", - "The database version is PostgreSQL 11.", - "The database version is PostgreSQL 12.", - "The database version is PostgreSQL 13.", - "The database version is PostgreSQL 14.", - "The database version is PostgreSQL 15.", - "The database version is PostgreSQL 16.", - "The database version is PostgreSQL 17.", "The database version is MySQL 8.", "The database major version is MySQL 8.0 and the minor version is 18.", "The database major version is MySQL 8.0 and the minor version is 26.", @@ -3017,7 +2984,22 @@ "The database major version is MySQL 8.0 and the minor version is 38.", "The database major version is MySQL 8.0 and the minor version is 39.", "The database major version is MySQL 8.0 and the minor version is 40.", + "The database major version is MySQL 8.0 and the minor version is 41.", + "The database major version is MySQL 8.0 and the minor version is 42.", "The database version is MySQL 8.4.", + "The database version is SQL Server 2017 Standard.", + "The database version is SQL Server 2017 Enterprise.", + "The database version is SQL Server 2017 Express.", + "The database version is SQL Server 2017 Web.", + "The database version is PostgreSQL 9.6.", + "The database version is PostgreSQL 10.", + "The database version is PostgreSQL 11.", + "The database version is PostgreSQL 12.", + "The database version is PostgreSQL 13.", + "The database version is PostgreSQL 14.", + "The database version is PostgreSQL 15.", + "The database version is PostgreSQL 16.", + "The database version is PostgreSQL 17.", "The database version is SQL Server 2019 Standard.", "The database version is SQL Server 2019 Enterprise.", "The database version is SQL Server 2019 Express.", @@ -3064,7 +3046,7 @@ "GOOGLE_MANAGED_CAS_CA" ], "enumDescriptions": [ - "CA mode is unknown.", + "CA mode is unspecified. It is effectively the same as `GOOGLE_MANAGED_INTERNAL_CA`.", "Google-managed self-signed internal CA.", "Google-managed regional CA part of root CA hierarchy hosted on Google Cloud's Certificate Authority Service (CAS)." ], @@ -3204,19 +3186,6 @@ "MYSQL_5_5", "MYSQL_5_6", "MYSQL_5_7", - "SQLSERVER_2017_STANDARD", - "SQLSERVER_2017_ENTERPRISE", - "SQLSERVER_2017_EXPRESS", - "SQLSERVER_2017_WEB", - "POSTGRES_9_6", - "POSTGRES_10", - "POSTGRES_11", - "POSTGRES_12", - "POSTGRES_13", - "POSTGRES_14", - "POSTGRES_15", - "POSTGRES_16", - "POSTGRES_17", "MYSQL_8_0", "MYSQL_8_0_18", "MYSQL_8_0_26", @@ -3234,7 +3203,22 @@ "MYSQL_8_0_38", "MYSQL_8_0_39", "MYSQL_8_0_40", + "MYSQL_8_0_41", + "MYSQL_8_0_42", "MYSQL_8_4", + "SQLSERVER_2017_STANDARD", + "SQLSERVER_2017_ENTERPRISE", + "SQLSERVER_2017_EXPRESS", + "SQLSERVER_2017_WEB", + "POSTGRES_9_6", + "POSTGRES_10", + "POSTGRES_11", + "POSTGRES_12", + "POSTGRES_13", + "POSTGRES_14", + "POSTGRES_15", + "POSTGRES_16", + "POSTGRES_17", "SQLSERVER_2019_STANDARD", "SQLSERVER_2019_ENTERPRISE", "SQLSERVER_2019_EXPRESS", @@ -3255,6 +3239,9 @@ false, false, false, + true, + false, + false, false, false, false, @@ -3268,7 +3255,6 @@ false, false, false, - true, false, false, false, @@ -3296,19 +3282,6 @@ "The database version is MySQL 5.5.", "The database version is MySQL 5.6.", "The database version is MySQL 5.7.", - "The database version is SQL Server 2017 Standard.", - "The database version is SQL Server 2017 Enterprise.", - "The database version is SQL Server 2017 Express.", - "The database version is SQL Server 2017 Web.", - "The database version is PostgreSQL 9.6.", - "The database version is PostgreSQL 10.", - "The database version is PostgreSQL 11.", - "The database version is PostgreSQL 12.", - "The database version is PostgreSQL 13.", - "The database version is PostgreSQL 14.", - "The database version is PostgreSQL 15.", - "The database version is PostgreSQL 16.", - "The database version is PostgreSQL 17.", "The database version is MySQL 8.", "The database major version is MySQL 8.0 and the minor version is 18.", "The database major version is MySQL 8.0 and the minor version is 26.", @@ -3326,7 +3299,22 @@ "The database major version is MySQL 8.0 and the minor version is 38.", "The database major version is MySQL 8.0 and the minor version is 39.", "The database major version is MySQL 8.0 and the minor version is 40.", + "The database major version is MySQL 8.0 and the minor version is 41.", + "The database major version is MySQL 8.0 and the minor version is 42.", "The database version is MySQL 8.4.", + "The database version is SQL Server 2017 Standard.", + "The database version is SQL Server 2017 Enterprise.", + "The database version is SQL Server 2017 Express.", + "The database version is SQL Server 2017 Web.", + "The database version is PostgreSQL 9.6.", + "The database version is PostgreSQL 10.", + "The database version is PostgreSQL 11.", + "The database version is PostgreSQL 12.", + "The database version is PostgreSQL 13.", + "The database version is PostgreSQL 14.", + "The database version is PostgreSQL 15.", + "The database version is PostgreSQL 16.", + "The database version is PostgreSQL 17.", "The database version is SQL Server 2019 Standard.", "The database version is SQL Server 2019 Enterprise.", "The database version is SQL Server 2019 Express.", @@ -3467,7 +3455,7 @@ }, "replicationCluster": { "$ref": "ReplicationCluster", - "description": "A primary instance and disaster recovery (DR) replica pair. A DR replica is a cross-region replica that you designate for failover in the event that the primary instance experiences regional failure. Only applicable to MySQL." + "description": "A primary instance and disaster recovery (DR) replica pair. A DR replica is a cross-region replica that you designate for failover in the event that the primary instance experiences regional failure. Applicable to MySQL and PostgreSQL." }, "rootPassword": { "description": "Initial root password. Use only on creation. You must set root passwords before you can connect to PostgreSQL instances.", @@ -3579,6 +3567,13 @@ "description": "Input only. Whether Cloud SQL is enabled to switch storing point-in-time recovery log files from a data disk to Cloud Storage.", "type": "boolean" }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Input only. Immutable. Tag keys and tag values that are bound to this instance. You must represent each item in the map as: `\"\" : \"\"`. For example, a single resource can have the following tags: ``` \"123/environment\": \"production\", \"123/costCenter\": \"marketing\", ``` For more information on tag creation and management, see https://cloud.google.com/resource-manager/docs/tags/tags-overview.", + "type": "object" + }, "upgradableDatabaseVersions": { "description": "Output only. All database versions that are available for upgrade.", "items": { @@ -3925,6 +3920,17 @@ }, "type": "object" }, + "ExternalSyncSelectedObject": { + "description": "The selected object that Cloud SQL migrates.", + "id": "ExternalSyncSelectedObject", + "properties": { + "database": { + "description": "The name of the database that Cloud SQL migrates.", + "type": "string" + } + }, + "type": "object" + }, "FailoverContext": { "description": "Database instance failover context.", "id": "FailoverContext", @@ -3969,19 +3975,6 @@ "MYSQL_5_5", "MYSQL_5_6", "MYSQL_5_7", - "SQLSERVER_2017_STANDARD", - "SQLSERVER_2017_ENTERPRISE", - "SQLSERVER_2017_EXPRESS", - "SQLSERVER_2017_WEB", - "POSTGRES_9_6", - "POSTGRES_10", - "POSTGRES_11", - "POSTGRES_12", - "POSTGRES_13", - "POSTGRES_14", - "POSTGRES_15", - "POSTGRES_16", - "POSTGRES_17", "MYSQL_8_0", "MYSQL_8_0_18", "MYSQL_8_0_26", @@ -3999,7 +3992,22 @@ "MYSQL_8_0_38", "MYSQL_8_0_39", "MYSQL_8_0_40", + "MYSQL_8_0_41", + "MYSQL_8_0_42", "MYSQL_8_4", + "SQLSERVER_2017_STANDARD", + "SQLSERVER_2017_ENTERPRISE", + "SQLSERVER_2017_EXPRESS", + "SQLSERVER_2017_WEB", + "POSTGRES_9_6", + "POSTGRES_10", + "POSTGRES_11", + "POSTGRES_12", + "POSTGRES_13", + "POSTGRES_14", + "POSTGRES_15", + "POSTGRES_16", + "POSTGRES_17", "SQLSERVER_2019_STANDARD", "SQLSERVER_2019_ENTERPRISE", "SQLSERVER_2019_EXPRESS", @@ -4020,6 +4028,9 @@ false, false, false, + true, + false, + false, false, false, false, @@ -4033,7 +4044,6 @@ false, false, false, - true, false, false, false, @@ -4061,19 +4071,6 @@ "The database version is MySQL 5.5.", "The database version is MySQL 5.6.", "The database version is MySQL 5.7.", - "The database version is SQL Server 2017 Standard.", - "The database version is SQL Server 2017 Enterprise.", - "The database version is SQL Server 2017 Express.", - "The database version is SQL Server 2017 Web.", - "The database version is PostgreSQL 9.6.", - "The database version is PostgreSQL 10.", - "The database version is PostgreSQL 11.", - "The database version is PostgreSQL 12.", - "The database version is PostgreSQL 13.", - "The database version is PostgreSQL 14.", - "The database version is PostgreSQL 15.", - "The database version is PostgreSQL 16.", - "The database version is PostgreSQL 17.", "The database version is MySQL 8.", "The database major version is MySQL 8.0 and the minor version is 18.", "The database major version is MySQL 8.0 and the minor version is 26.", @@ -4091,7 +4088,22 @@ "The database major version is MySQL 8.0 and the minor version is 38.", "The database major version is MySQL 8.0 and the minor version is 39.", "The database major version is MySQL 8.0 and the minor version is 40.", + "The database major version is MySQL 8.0 and the minor version is 41.", + "The database major version is MySQL 8.0 and the minor version is 42.", "The database version is MySQL 8.4.", + "The database version is SQL Server 2017 Standard.", + "The database version is SQL Server 2017 Enterprise.", + "The database version is SQL Server 2017 Express.", + "The database version is SQL Server 2017 Web.", + "The database version is PostgreSQL 9.6.", + "The database version is PostgreSQL 10.", + "The database version is PostgreSQL 11.", + "The database version is PostgreSQL 12.", + "The database version is PostgreSQL 13.", + "The database version is PostgreSQL 14.", + "The database version is PostgreSQL 15.", + "The database version is PostgreSQL 16.", + "The database version is PostgreSQL 17.", "The database version is SQL Server 2019 Standard.", "The database version is SQL Server 2019 Enterprise.", "The database version is SQL Server 2019 Express.", @@ -4629,17 +4641,9 @@ "description": "Database instance restore backup request.", "id": "InstancesRestoreBackupRequest", "properties": { - "backup": { - "description": "The name of the backup to restore from in following format: projects/{project-id}/backups/{backup-uid} Only one of restore_backup_context or backup can be passed to the input.", - "type": "string" - }, "restoreBackupContext": { "$ref": "RestoreBackupContext", "description": "Parameters required to perform the restore backup operation." - }, - "restoreInstanceSettings": { - "$ref": "DatabaseInstance", - "description": "Optional. Restore instance settings overrides the instance settings stored as part of the backup. Instance's major database version cannot be changed and the disk size can only be increased. This feature is only available for restores to new instances using the backup name." } }, "type": "object" @@ -4692,6 +4696,13 @@ }, "type": "array" }, + "customSubjectAlternativeNames": { + "description": "Optional. Custom Subject Alternative Name(SAN)s for a Cloud SQL instance.", + "items": { + "type": "string" + }, + "type": "array" + }, "enablePrivatePathForGoogleCloudServices": { "description": "Controls connectivity to private IP instances from Google services, such as BigQuery.", "type": "boolean" @@ -4717,15 +4728,21 @@ "enum": [ "CA_MODE_UNSPECIFIED", "GOOGLE_MANAGED_INTERNAL_CA", - "GOOGLE_MANAGED_CAS_CA" + "GOOGLE_MANAGED_CAS_CA", + "CUSTOMER_MANAGED_CAS_CA" ], "enumDescriptions": [ - "CA mode is unknown.", + "CA mode is unspecified. It is effectively the same as `GOOGLE_MANAGED_INTERNAL_CA`.", "Google-managed self-signed internal CA.", - "Google-managed regional CA part of root CA hierarchy hosted on Google Cloud's Certificate Authority Service (CAS)." + "Google-managed regional CA part of root CA hierarchy hosted on Google Cloud's Certificate Authority Service (CAS).", + "Customer-managed CA hosted on Google Cloud's Certificate Authority Service (CAS)." ], "type": "string" }, + "serverCaPool": { + "description": "Optional. The resource name of the server CA pool for an instance with `CUSTOMER_MANAGED_CAS_CA` as the `server_ca_mode`. Format: projects//locations//caPools/", + "type": "string" + }, "sslMode": { "description": "Specify how SSL/TLS is enforced in database connections. If you must use the `require_ssl` flag for backward compatibility, then only the following value pairs are valid: For PostgreSQL and MySQL: * `ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED` and `require_ssl=false` * `ssl_mode=ENCRYPTED_ONLY` and `require_ssl=false` * `ssl_mode=TRUSTED_CLIENT_CERTIFICATE_REQUIRED` and `require_ssl=true` For SQL Server: * `ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED` and `require_ssl=false` * `ssl_mode=ENCRYPTED_ONLY` and `require_ssl=true` The value of `ssl_mode` has priority over the value of `require_ssl`. For example, for the pair `ssl_mode=ENCRYPTED_ONLY` and `require_ssl=false`, `ssl_mode=ENCRYPTED_ONLY` means accept only SSL connections, while `require_ssl=false` means accept both non-SSL and SSL connections. In this case, MySQL and PostgreSQL databases respect `ssl_mode` and accepts only SSL connections.", "enum": [ @@ -4939,10 +4956,33 @@ "description": "The password for connecting to on-premises instance.", "type": "string" }, + "selectedObjects": { + "description": "Optional. A list of objects that the user selects for replication from an external source instance.", + "items": { + "$ref": "SelectedObjects" + }, + "type": "array" + }, "sourceInstance": { "$ref": "InstanceReference", "description": "The reference to Cloud SQL instance if the source is Cloud SQL." }, + "sslOption": { + "description": "Optional. SslOption for replica connection to the on-premises source.", + "enum": [ + "SSL_OPTION_UNSPECIFIED", + "DISABLE", + "REQUIRE", + "VERIFY_CA" + ], + "enumDescriptions": [ + "Unknown SSL option i.e. SSL option not specified by user.", + "SSL is disabled for replica connection to the on-premises source.", + "SSL is required for replica connection to the on-premises source.", + "Verify CA is required for replica connection to the on-premises source." + ], + "type": "string" + }, "username": { "description": "The username for connecting to on-premises instance.", "type": "string" @@ -5038,14 +5078,14 @@ "AUTO_RESTART", "REENCRYPT", "SWITCHOVER", - "UPDATE_BACKUP", "ACQUIRE_SSRS_LEASE", "RELEASE_SSRS_LEASE", "RECONFIGURE_OLD_PRIMARY", "CLUSTER_MAINTENANCE", "SELF_SERVICE_MAINTENANCE", "SWITCHOVER_TO_REPLICA", - "MAJOR_VERSION_UPGRADE" + "MAJOR_VERSION_UPGRADE", + "ADVANCED_BACKUP" ], "enumDeprecated": [ false, @@ -5090,10 +5130,10 @@ false, false, false, - false, true, true, false, + false, false ], "enumDescriptions": [ @@ -5136,14 +5176,14 @@ "Performs auto-restart of an HA-enabled Cloud SQL database for auto recovery.", "Re-encrypts CMEK instances with latest key version.", "Switches the roles of the primary and replica pair. The target instance should be the replica.", - "Update a backup.", "Acquire a lease for the setup of SQL Server Reporting Services (SSRS).", "Release a lease for the setup of SQL Server Reporting Services (SSRS).", "Reconfigures old primary after a promote replica operation. Effect of a promote operation to the old primary is executed in this operation, asynchronously from the promote replica operation executed to the replica.", "Indicates that the instance, its read replicas, and its cascading replicas are in maintenance. Maintenance typically gets initiated on groups of replicas first, followed by the primary instance. For each instance, maintenance typically causes the instance to be unavailable for 1-3 minutes.", "Indicates that the instance (and any of its replicas) are currently in maintenance. This is initiated as a self-service request by using SSM. Maintenance typically causes the instance to be unavailable for 1-3 minutes.", "Switches a primary instance to a replica. This operation runs as part of a switchover operation to the original primary instance.", - "Updates the major version of a Cloud SQL instance." + "Updates the major version of a Cloud SQL instance.", + "Creates a backup for an Advanced BackupTier Cloud SQL instance." ], "type": "string" }, @@ -5172,8 +5212,11 @@ ], "type": "string" }, + "subOperationType": { + "$ref": "SqlSubOperationType", + "description": "Optional. The sub operation based on the operation type." + }, "targetId": { - "description": "Name of the database instance related to this operation.", "type": "string" }, "targetLink": { @@ -5237,7 +5280,7 @@ "type": "string" }, "cancelRequested": { - "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`.", + "description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "readOnly": true, "type": "boolean" }, @@ -5289,13 +5332,6 @@ "nextPageToken": { "description": "The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.", "type": "string" - }, - "warnings": { - "description": "List of warnings that occurred while handling the request.", - "items": { - "$ref": "ApiWarning" - }, - "type": "array" } }, "type": "object" @@ -5375,6 +5411,33 @@ }, "type": "object" }, + "PscAutoConnectionConfig": { + "description": "Settings for an automatically-setup Private Service Connect consumer endpoint that is used to connect to a Cloud SQL instance.", + "id": "PscAutoConnectionConfig", + "properties": { + "consumerNetwork": { + "description": "The consumer network of this consumer endpoint. This must be a resource path that includes both the host project and the network name. For example, `projects/project1/global/networks/network1`. The consumer host project of this network might be different from the consumer service project.", + "type": "string" + }, + "consumerNetworkStatus": { + "description": "The connection policy status of the consumer network.", + "type": "string" + }, + "consumerProject": { + "description": "This is the project ID of consumer service project of this consumer endpoint. Optional. This is only applicable if consumer_network is a shared vpc network.", + "type": "string" + }, + "ipAddress": { + "description": "The IP address of the consumer endpoint.", + "type": "string" + }, + "status": { + "description": "The connection status of the consumer endpoint.", + "type": "string" + } + }, + "type": "object" + }, "PscConfig": { "description": "PSC settings for a Cloud SQL instance.", "id": "PscConfig", @@ -5386,6 +5449,13 @@ }, "type": "array" }, + "pscAutoConnections": { + "description": "Optional. The list of settings for requested Private Service Connect consumer endpoints that can be used to connect to this Cloud SQL instance.", + "items": { + "$ref": "PscAutoConnectionConfig" + }, + "type": "array" + }, "pscEnabled": { "description": "Whether PSC connectivity is enabled for this instance.", "type": "boolean" @@ -5417,7 +5487,7 @@ "type": "object" }, "ReplicationCluster": { - "description": "A primary instance and disaster recovery (DR) replica pair. A DR replica is a cross-region replica that you designate for failover in the event that the primary instance has regional failure. Only applicable to MySQL.", + "description": "A primary instance and disaster recovery (DR) replica pair. A DR replica is a cross-region replica that you designate for failover in the event that the primary instance has regional failure. Applicable to MySQL and PostgreSQL.", "id": "ReplicationCluster", "properties": { "drReplica": { @@ -5430,7 +5500,7 @@ "type": "string" }, "psaWriteEndpoint": { - "description": "Output only. If set, it indicates this instance has a private service access (PSA) dns endpoint that is pointing to the primary instance of the cluster. If this instance is the primary, the dns should be pointing to this instance. After Switchover or Replica failover, this DNS endpoint points to the promoted instance. This is a read-only field, returned to the user as information. This field can exist even if a standalone instance does not yet have a replica, or had a DR replica that was deleted.", + "description": "Output only. If set, this field indicates this instance has a private service access (PSA) DNS endpoint that is pointing to the primary instance of the cluster. If this instance is the primary, then the DNS endpoint points to this instance. After a switchover or replica failover operation, this DNS endpoint points to the promoted instance. This is a read-only field, returned to the user as information. This field can exist even if a standalone instance doesn't have a DR replica yet or the DR replica is deleted.", "readOnly": true, "type": "string" } @@ -5518,6 +5588,17 @@ }, "type": "object" }, + "SelectedObjects": { + "description": "A list of objects that the user selects for replication from an external source instance.", + "id": "SelectedObjects", + "properties": { + "database": { + "description": "Required. The name of the database to migrate.", + "type": "string" + } + }, + "type": "object" + }, "Settings": { "description": "Database instance settings.", "id": "Settings", @@ -5847,7 +5928,8 @@ "UNSUPPORTED_COLUMNS", "USERS_NOT_CREATED_IN_REPLICA", "UNSUPPORTED_SYSTEM_OBJECTS", - "UNSUPPORTED_TABLES_WITH_REPLICA_IDENTITY" + "UNSUPPORTED_TABLES_WITH_REPLICA_IDENTITY", + "SELECTED_OBJECTS_NOT_EXIST_ON_SOURCE" ], "enumDescriptions": [ "", @@ -5902,7 +5984,8 @@ "The source database has generated columns that can't be migrated. Please change them to regular columns before migration.", "The source database has users that aren't created in the replica. First, create all users, which are in the pg_user_mappings table of the source database, in the destination instance. Then, perform the migration.", "The selected objects include system objects that aren't supported for migration.", - "The source database has tables with the FULL or NOTHING replica identity. Before starting your migration, either remove the identity or change it to DEFAULT. Note that this is an error and will block the migration." + "The source database has tables with the FULL or NOTHING replica identity. Before starting your migration, either remove the identity or change it to DEFAULT. Note that this is an error and will block the migration.", + "The selected objects don't exist on the source instance." ], "type": "string" } @@ -6063,6 +6146,13 @@ "$ref": "MySqlSyncConfig", "description": "Optional. MySQL-specific settings for start external sync." }, + "selectedObjects": { + "description": "Optional. Migrate only the specified objects from the source instance. If this field is empty, then migrate all objects.", + "items": { + "$ref": "ExternalSyncSelectedObject" + }, + "type": "array" + }, "syncMode": { "description": "External sync mode", "enum": [ @@ -6239,6 +6329,31 @@ }, "type": "object" }, + "SqlSubOperationType": { + "description": "The sub operation type based on the operation type.", + "id": "SqlSubOperationType", + "properties": { + "maintenanceType": { + "description": "The type of maintenance to be performed on the instance.", + "enum": [ + "SQL_MAINTENANCE_TYPE_UNSPECIFIED", + "INSTANCE_MAINTENANCE", + "REPLICA_INCLUDED_MAINTENANCE", + "INSTANCE_SELF_SERVICE_MAINTENANCE", + "REPLICA_INCLUDED_SELF_SERVICE_MAINTENANCE" + ], + "enumDescriptions": [ + "Maintenance type is unspecified.", + "Indicates that a standalone instance is undergoing maintenance. The instance can be either a primary instance or a replica.", + "Indicates that the primary instance and all of its replicas, including cascading replicas, are undergoing maintenance. Maintenance is performed on groups of replicas first, followed by the primary instance.", + "Indicates that the standalone instance is undergoing maintenance, initiated by self-service. The instance can be either a primary instance or a replica.", + "Indicates that the primary instance and all of its replicas are undergoing maintenance, initiated by self-service. Maintenance is performed on groups of replicas first, followed by the primary instance." + ], + "type": "string" + } + }, + "type": "object" + }, "SslCert": { "description": "SslCerts Resource", "id": "SslCert", diff --git a/discovery/storage-v1.json b/discovery/storage-v1.json index d23f5aee9b..f1745c067d 100644 --- a/discovery/storage-v1.json +++ b/discovery/storage-v1.json @@ -93,7 +93,7 @@ "location": "us-west4" } ], - "etag": "\"3133363239393031373133303332303839383336\"", + "etag": "\"3133343838373034343130353038353234313337\"", "icons": { "x16": "https://www.google.com/images/icons/product/cloud_storage-16.png", "x32": "https://www.google.com/images/icons/product/cloud_storage-32.png" @@ -1129,6 +1129,19 @@ "required": true, "type": "string" }, + "projection": { + "description": "Set of properties to return. Defaults to full.", + "enum": [ + "full", + "noAcl" + ], + "enumDescriptions": [ + "Include all properties.", + "Omit owner, acl and defaultObjectAcl properties." + ], + "location": "query", + "type": "string" + }, "userProject": { "description": "The project to be billed for this request. Required for Requester Pays buckets.", "location": "query", @@ -1136,6 +1149,9 @@ } }, "path": "b/{bucket}/restore", + "response": { + "$ref": "Bucket" + }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/devstorage.full_control", @@ -3208,6 +3224,98 @@ ], "supportsSubscription": true }, + "move": { + "description": "Moves the source object to the destination object in the same bucket.", + "httpMethod": "POST", + "id": "storage.objects.move", + "parameterOrder": [ + "bucket", + "sourceObject", + "destinationObject" + ], + "parameters": { + "bucket": { + "description": "Name of the bucket in which the object resides.", + "location": "path", + "required": true, + "type": "string" + }, + "destinationObject": { + "description": "Name of the destination object. For information about how to URL encode object names to be path safe, see [Encoding URI Path Parts](https://cloud.google.com/storage/docs/request-endpoints#encoding).", + "location": "path", + "required": true, + "type": "string" + }, + "ifGenerationMatch": { + "description": "Makes the operation conditional on whether the destination object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object. `ifGenerationMatch` and `ifGenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request.", + "format": "int64", + "location": "query", + "type": "string" + }, + "ifGenerationNotMatch": { + "description": "Makes the operation conditional on whether the destination object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.`ifGenerationMatch` and `ifGenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request.", + "format": "int64", + "location": "query", + "type": "string" + }, + "ifMetagenerationMatch": { + "description": "Makes the operation conditional on whether the destination object's current metageneration matches the given value. `ifMetagenerationMatch` and `ifMetagenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request.", + "format": "int64", + "location": "query", + "type": "string" + }, + "ifMetagenerationNotMatch": { + "description": "Makes the operation conditional on whether the destination object's current metageneration does not match the given value. `ifMetagenerationMatch` and `ifMetagenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request.", + "format": "int64", + "location": "query", + "type": "string" + }, + "ifSourceGenerationMatch": { + "description": "Makes the operation conditional on whether the source object's current generation matches the given value. `ifSourceGenerationMatch` and `ifSourceGenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request.", + "format": "int64", + "location": "query", + "type": "string" + }, + "ifSourceGenerationNotMatch": { + "description": "Makes the operation conditional on whether the source object's current generation does not match the given value. `ifSourceGenerationMatch` and `ifSourceGenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request.", + "format": "int64", + "location": "query", + "type": "string" + }, + "ifSourceMetagenerationMatch": { + "description": "Makes the operation conditional on whether the source object's current metageneration matches the given value. `ifSourceMetagenerationMatch` and `ifSourceMetagenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request.", + "format": "int64", + "location": "query", + "type": "string" + }, + "ifSourceMetagenerationNotMatch": { + "description": "Makes the operation conditional on whether the source object's current metageneration does not match the given value. `ifSourceMetagenerationMatch` and `ifSourceMetagenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request.", + "format": "int64", + "location": "query", + "type": "string" + }, + "sourceObject": { + "description": "Name of the source object. For information about how to URL encode object names to be path safe, see [Encoding URI Path Parts](https://cloud.google.com/storage/docs/request-endpoints#encoding).", + "location": "path", + "required": true, + "type": "string" + }, + "userProject": { + "description": "The project to be billed for this request. Required for Requester Pays buckets.", + "location": "query", + "type": "string" + } + }, + "path": "b/{bucket}/o/{sourceObject}/moveTo/o/{destinationObject}", + "response": { + "$ref": "Object" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/devstorage.full_control", + "https://www.googleapis.com/auth/devstorage.read_write" + ] + }, "patch": { "description": "Patches an object's metadata.", "httpMethod": "PATCH", @@ -3869,6 +3977,38 @@ }, "operations": { "methods": { + "advanceRelocateBucket": { + "description": "Starts asynchronous advancement of the relocate bucket operation in the case of required write downtime, to allow it to lock the bucket at the source location, and proceed with the bucket location swap. The server makes a best effort to advance the relocate bucket operation, but success is not guaranteed.", + "httpMethod": "POST", + "id": "storage.buckets.operations.advanceRelocateBucket", + "parameterOrder": [ + "bucket", + "operationId" + ], + "parameters": { + "bucket": { + "description": "Name of the bucket to advance the relocate for.", + "location": "path", + "required": true, + "type": "string" + }, + "operationId": { + "description": "ID of the operation resource.", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "b/{bucket}/operations/{operationId}/advanceRelocateBucket", + "request": { + "$ref": "AdvanceRelocateBucketOperationRequest" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/devstorage.full_control", + "https://www.googleapis.com/auth/devstorage.read_write" + ] + }, "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.", "httpMethod": "POST", @@ -4224,9 +4364,26 @@ } } }, - "revision": "20240924", + "revision": "20241206", "rootUrl": "https://storage.googleapis.com/", "schemas": { + "AdvanceRelocateBucketOperationRequest": { + "description": "An AdvanceRelocateBucketOperation request.", + "id": "AdvanceRelocateBucketOperationRequest", + "properties": { + "expireTime": { + "description": "Specifies the time when the relocation will revert to the sync stage if the relocation hasn't succeeded.", + "format": "date-time", + "type": "string" + }, + "ttl": { + "description": "Specifies the duration after which the relocation will revert to the sync stage if the relocation hasn't succeeded. Optional, if not supplied, a default value of 12h will be used.", + "format": "google-duration", + "type": "string" + } + }, + "type": "object" + }, "AnywhereCache": { "description": "An Anywhere Cache instance.", "id": "AnywhereCache", @@ -5741,6 +5898,11 @@ "format": "date-time", "type": "string" }, + "timeFinalized": { + "description": "The time when the object was finalized.", + "format": "date-time", + "type": "string" + }, "timeStorageClassUpdated": { "description": "The time at which the object's storage class was last changed. When the object is initially created, it will be set to timeCreated.", "format": "date-time", diff --git a/discovery/storagetransfer-v1.json b/discovery/storagetransfer-v1.json index fddfc9601a..7e47fd67a9 100644 --- a/discovery/storagetransfer-v1.json +++ b/discovery/storagetransfer-v1.json @@ -632,7 +632,7 @@ } } }, - "revision": "20240928", + "revision": "20241005", "rootUrl": "https://storagetransfer.googleapis.com/", "schemas": { "AgentPool": { @@ -1530,22 +1530,22 @@ "id": "TimeOfDay", "properties": { "hours": { - "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "description": "Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", "format": "int32", "type": "integer" }, "minutes": { - "description": "Minutes of hour of day. Must be from 0 to 59.", + "description": "Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.", "format": "int32", "type": "integer" }, "nanos": { - "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "description": "Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.", "format": "int32", "type": "integer" }, "seconds": { - "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "description": "Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.", "format": "int32", "type": "integer" } diff --git a/discovery/sts-v1.json b/discovery/sts-v1.json index 96d77a7d98..b79a1b7aa9 100644 --- a/discovery/sts-v1.json +++ b/discovery/sts-v1.json @@ -6,6 +6,13 @@ "description": "The Security Token Service exchanges Google or third-party credentials for a short-lived access token to Google Cloud resources.", "discoveryVersion": "v1", "documentationLink": "http://cloud.google.com/iam/docs/workload-identity-federation", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://sts.us-east7.rep.googleapis.com/", + "location": "us-east7" + } + ], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -116,7 +123,7 @@ } } }, - "revision": "20240904", + "revision": "20241106", "rootUrl": "https://sts.googleapis.com/", "schemas": { "GoogleIamV1Binding": { @@ -226,7 +233,7 @@ "type": "string" }, "expires_in": { - "description": "The amount of time, in seconds, between the time when the access token was issued and the time when the access token will expire. This field is absent when the `subject_token` in the request is a Google-issued, short-lived access token. In this case, the access token has the same expiration time as the `subject_token`.", + "description": "The amount of time, in seconds, between the time when the access token was issued and the time when the access token will expire. This field is absent when the `subject_token` in the request is a a short-lived access token for a Cloud Identity or Google Workspace user account. In this case, the access token has the same expiration time as the `subject_token`.", "format": "int32", "type": "integer" }, diff --git a/discovery/sts-v1beta.json b/discovery/sts-v1beta.json index e8ece48c61..426e25045b 100644 --- a/discovery/sts-v1beta.json +++ b/discovery/sts-v1beta.json @@ -6,6 +6,13 @@ "description": "The Security Token Service exchanges Google or third-party credentials for a short-lived access token to Google Cloud resources.", "discoveryVersion": "v1", "documentationLink": "http://cloud.google.com/iam/docs/workload-identity-federation", + "endpoints": [ + { + "description": "Regional Endpoint", + "endpointUrl": "https://sts.us-east7.rep.googleapis.com/", + "location": "us-east7" + } + ], "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", @@ -116,7 +123,7 @@ } } }, - "revision": "20240425", + "revision": "20241106", "rootUrl": "https://sts.googleapis.com/", "schemas": { "GoogleIamV1Binding": { diff --git a/discovery/tagmanager-v2.json b/discovery/tagmanager-v2.json index 9d96a3dad1..e269bcdd17 100644 --- a/discovery/tagmanager-v2.json +++ b/discovery/tagmanager-v2.json @@ -3895,7 +3895,7 @@ } } }, - "revision": "20240701", + "revision": "20241204", "rootUrl": "https://tagmanager.googleapis.com/", "schemas": { "Account": { @@ -5144,6 +5144,10 @@ "description": "The signature of the community gallery template as computed at import time. This value is recomputed whenever the template is updated from the gallery.", "type": "string" }, + "templateDeveloperId": { + "description": "The developer id of the community gallery template. This value is set whenever the template is created from the gallery.", + "type": "string" + }, "version": { "description": "The version of the community gallery template.", "type": "string" diff --git a/discovery/tasks-v1.json b/discovery/tasks-v1.json index 97c7d8efd4..6a25e448fc 100644 --- a/discovery/tasks-v1.json +++ b/discovery/tasks-v1.json @@ -475,12 +475,12 @@ "type": "string" }, "parent": { - "description": "New parent task identifier. If the task is moved to the top level, this parameter is omitted. Assigned tasks can not be set as parent task (have subtasks) or be moved under a parent task (become subtasks). Optional.", + "description": "New parent task identifier. If the task is moved to the top level, this parameter is omitted. The task set as parent must exist in the task list and can not be hidden. Assigned tasks can not be set as parent task (have subtasks) or be moved under a parent task (become subtasks). Optional.", "location": "query", "type": "string" }, "previous": { - "description": "New previous sibling task identifier. If the task is moved to the first position among its siblings, this parameter is omitted. Optional.", + "description": "New previous sibling task identifier. If the task is moved to the first position among its siblings, this parameter is omitted. The task set as previous must exist in the task list and can not be hidden. Optional.", "location": "query", "type": "string" }, @@ -576,7 +576,7 @@ } } }, - "revision": "20240630", + "revision": "20250105", "rootUrl": "https://tasks.googleapis.com/", "schemas": { "AssignmentInfo": { diff --git a/discovery/testing-v1.json b/discovery/testing-v1.json index 5a5ac61cb4..bf710ac695 100644 --- a/discovery/testing-v1.json +++ b/discovery/testing-v1.json @@ -449,7 +449,7 @@ } } }, - "revision": "20240917", + "revision": "20241231", "rootUrl": "https://testing.googleapis.com/", "schemas": { "Account": { @@ -972,12 +972,18 @@ "type": "array" }, "usesPermission": { - "description": "Permissions declared to be used by the application", "items": { "type": "string" }, "type": "array" }, + "usesPermissionTags": { + "description": "Permissions declared to be used by the application", + "items": { + "$ref": "UsesPermissionTag" + }, + "type": "array" + }, "versionCode": { "description": "Version number used internally by the app.", "format": "int64", @@ -1567,7 +1573,7 @@ }, "roboScript": { "$ref": "FileReference", - "description": "An optional Roboscript to customize the crawl. See https://firebase.google.com/docs/test-lab/android/robo-scripts-reference for more information about Roboscripts." + "description": "An optional Roboscript to customize the crawl. See https://firebase.google.com/docs/test-lab/android/robo-scripts-reference for more information about Roboscripts. The maximum allowed file size of the roboscript is 10MiB." } }, "type": "object" @@ -2819,6 +2825,22 @@ }, "type": "object" }, + "UsesPermissionTag": { + "description": "The tag within a manifest. https://developer.android.com/guide/topics/manifest/uses-permission-element.html", + "id": "UsesPermissionTag", + "properties": { + "maxSdkVersion": { + "description": "The android:name value", + "format": "int32", + "type": "integer" + }, + "name": { + "description": "The android:name value", + "type": "string" + } + }, + "type": "object" + }, "XcodeVersion": { "description": "An Xcode version that an iOS version is compatible with.", "id": "XcodeVersion", diff --git a/discovery/texttospeech-v1.json b/discovery/texttospeech-v1.json index 4760146532..6c9c5393dc 100644 --- a/discovery/texttospeech-v1.json +++ b/discovery/texttospeech-v1.json @@ -108,7 +108,7 @@ "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`.", + "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": "texttospeech.operations.cancel", @@ -294,24 +294,6 @@ }, "voices": { "methods": { - "generateVoiceCloningKey": { - "description": "Generates voice clone key given a short voice prompt. This method validates the voice prompts with a series of checks against the voice talent statement to verify the voice clone is safe to generate.", - "flatPath": "v1/voices:generateVoiceCloningKey", - "httpMethod": "POST", - "id": "texttospeech.voices.generateVoiceCloningKey", - "parameterOrder": [], - "parameters": {}, - "path": "v1/voices:generateVoiceCloningKey", - "request": { - "$ref": "GenerateVoiceCloningKeyRequest" - }, - "response": { - "$ref": "GenerateVoiceCloningKeyResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, "list": { "description": "Returns a list of Voice supported for synthesis.", "flatPath": "v1/voices", @@ -336,7 +318,7 @@ } } }, - "revision": "20241001", + "revision": "20241216", "rootUrl": "https://texttospeech.googleapis.com/", "schemas": { "AdvancedVoiceOptions": { @@ -344,7 +326,7 @@ "id": "AdvancedVoiceOptions", "properties": { "lowLatencyJourneySynthesis": { - "description": "Only for Jounrney voices. If false, the synthesis will be context aware and have higher latency.", + "description": "Only for Journey voices. If false, the synthesis will be context aware and have higher latency.", "type": "boolean" } }, @@ -362,7 +344,8 @@ "MP3", "OGG_OPUS", "MULAW", - "ALAW" + "ALAW", + "PCM" ], "enumDescriptions": [ "Not specified. Will return result google.rpc.Code.INVALID_ARGUMENT.", @@ -370,7 +353,8 @@ "MP3 audio at 32kbps.", "Opus encoded audio wrapped in an ogg container. The result will be a file which can be played natively on Android, and in browsers (at least Chrome and Firefox). The quality of the encoding is considerably higher than MP3 while using approximately the same bitrate.", "8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law. Audio content returned as MULAW also contains a WAV header.", - "8-bit samples that compand 14-bit audio samples using G.711 PCMU/A-law. Audio content returned as ALAW also contains a WAV header." + "8-bit samples that compand 14-bit audio samples using G.711 PCMU/A-law. Audio content returned as ALAW also contains a WAV header.", + "Uncompressed 16-bit signed little-endian samples (Linear PCM). Note that as opposed to LINEAR16, audio will not be wrapped in a WAV (or any other) header." ], "type": "string" }, @@ -485,40 +469,6 @@ "properties": {}, "type": "object" }, - "GenerateVoiceCloningKeyRequest": { - "description": "Request message for the `GenerateVoiceCloningKey` method.", - "id": "GenerateVoiceCloningKeyRequest", - "properties": { - "consentScript": { - "description": "Required. The script used for the voice talent statement. The script will be provided to the caller through other channels. It must be returned unchanged in this field.", - "type": "string" - }, - "languageCode": { - "description": "Required. The language of the supplied audio as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. Example: \"en-US\". See [Language Support](https://cloud.google.com/speech-to-text/docs/languages) for a list of the currently supported language codes.", - "type": "string" - }, - "referenceAudio": { - "$ref": "InputAudio", - "description": "Required. The training audio used to create voice clone. This is currently limited to LINEAR16 PCM WAV files mono audio with 24khz sample rate. This needs to be specified in [InputAudio.audio_config], other values will be explicitly rejected." - }, - "voiceTalentConsent": { - "$ref": "InputAudio", - "description": "Required. The voice talent audio used to verify consent to voice clone." - } - }, - "type": "object" - }, - "GenerateVoiceCloningKeyResponse": { - "description": "Response message for the `GenerateVoiceCloningKey` method.", - "id": "GenerateVoiceCloningKeyResponse", - "properties": { - "voiceCloningKey": { - "description": "The voice clone key. Use it in the SynthesizeSpeechRequest by setting [voice.voice_clone.voice_cloning_key].", - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudTexttospeechV1SynthesizeLongAudioMetadata": { "description": "Metadata for response returned by the `SynthesizeLongAudio` method.", "id": "GoogleCloudTexttospeechV1SynthesizeLongAudioMetadata", @@ -542,54 +492,6 @@ }, "type": "object" }, - "InputAudio": { - "description": "Holds audio content and config.", - "id": "InputAudio", - "properties": { - "audioConfig": { - "$ref": "InputAudioConfig", - "description": "Required. Provides information that specifies how to process content." - }, - "content": { - "description": "Required. The audio data bytes encoded as specified in `InputAudioConfig`. Note: as with all bytes fields, proto buffers use a pure binary representation, whereas JSON representations use base64. Audio samples should be between 5-25 seconds in length.", - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "InputAudioConfig": { - "description": "Description of inputted audio data.", - "id": "InputAudioConfig", - "properties": { - "audioEncoding": { - "description": "Required. The format of the audio byte stream.", - "enum": [ - "AUDIO_ENCODING_UNSPECIFIED", - "LINEAR16", - "MP3", - "OGG_OPUS", - "MULAW", - "ALAW" - ], - "enumDescriptions": [ - "Not specified. Will return result google.rpc.Code.INVALID_ARGUMENT.", - "Uncompressed 16-bit signed little-endian samples (Linear PCM). Audio content returned as LINEAR16 also contains a WAV header.", - "MP3 audio at 32kbps.", - "Opus encoded audio wrapped in an ogg container. The result will be a file which can be played natively on Android, and in browsers (at least Chrome and Firefox). The quality of the encoding is considerably higher than MP3 while using approximately the same bitrate.", - "8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law. Audio content returned as MULAW also contains a WAV header.", - "8-bit samples that compand 14-bit audio samples using G.711 PCMU/A-law. Audio content returned as ALAW also contains a WAV header." - ], - "type": "string" - }, - "sampleRateHertz": { - "description": "Required. The sample rate (in hertz) for this audio.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, "ListOperationsResponse": { "description": "The response message for Operations.ListOperations.", "id": "ListOperationsResponse", @@ -622,6 +524,20 @@ }, "type": "object" }, + "MultiSpeakerMarkup": { + "description": "A collection of turns for multi-speaker synthesis.", + "id": "MultiSpeakerMarkup", + "properties": { + "turns": { + "description": "Required. Speaker turns.", + "items": { + "$ref": "Turn" + }, + "type": "array" + } + }, + "type": "object" + }, "Operation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "id": "Operation", @@ -692,6 +608,10 @@ "$ref": "CustomPronunciations", "description": "Optional. The pronunciation customizations to be applied to the input. If this is set, the input will be synthesized using the given pronunciation customizations. The initial support will be for EFIGS (English, French, Italian, German, Spanish) languages, as provided in VoiceSelectionParams. Journey and Instant Clone voices are not supported yet. In order to customize the pronunciation of a phrase, there must be an exact match of the phrase in the input types. If using SSML, the phrase must not be inside a phoneme tag (entirely or partially)." }, + "multiSpeakerMarkup": { + "$ref": "MultiSpeakerMarkup", + "description": "The multi-speaker input to be synthesized. Only applicable for multi-speaker synthesis." + }, "ssml": { "description": "The SSML document to be synthesized. The SSML document must be valid and well-formed. Otherwise the RPC will fail and return google.rpc.Code.INVALID_ARGUMENT. For more information, see [SSML](https://cloud.google.com/text-to-speech/docs/ssml).", "type": "string" @@ -755,7 +675,7 @@ "properties": { "advancedVoiceOptions": { "$ref": "AdvancedVoiceOptions", - "description": "Adnanced voice options." + "description": "Advanced voice options." }, "audioConfig": { "$ref": "AudioConfig", @@ -784,6 +704,21 @@ }, "type": "object" }, + "Turn": { + "description": "A Multi-speaker turn.", + "id": "Turn", + "properties": { + "speaker": { + "description": "Required. The speaker of the turn, for example, 'O' or 'Q'. Please refer to documentation for available speakers.", + "type": "string" + }, + "text": { + "description": "Required. The text to speak.", + "type": "string" + } + }, + "type": "object" + }, "Voice": { "description": "Description of a voice supported by the TTS service.", "id": "Voice", diff --git a/discovery/texttospeech-v1beta1.json b/discovery/texttospeech-v1beta1.json index 2b3e115b62..7feafede59 100644 --- a/discovery/texttospeech-v1beta1.json +++ b/discovery/texttospeech-v1beta1.json @@ -237,24 +237,6 @@ }, "voices": { "methods": { - "generateVoiceCloningKey": { - "description": "Generates voice clone key given a short voice prompt. This method validates the voice prompts with a series of checks against the voice talent statement to verify the voice clone is safe to generate.", - "flatPath": "v1beta1/voices:generateVoiceCloningKey", - "httpMethod": "POST", - "id": "texttospeech.voices.generateVoiceCloningKey", - "parameterOrder": [], - "parameters": {}, - "path": "v1beta1/voices:generateVoiceCloningKey", - "request": { - "$ref": "GenerateVoiceCloningKeyRequest" - }, - "response": { - "$ref": "GenerateVoiceCloningKeyResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" - ] - }, "list": { "description": "Returns a list of Voice supported for synthesis.", "flatPath": "v1beta1/voices", @@ -279,7 +261,7 @@ } } }, - "revision": "20241001", + "revision": "20241216", "rootUrl": "https://texttospeech.googleapis.com/", "schemas": { "AdvancedVoiceOptions": { @@ -287,7 +269,7 @@ "id": "AdvancedVoiceOptions", "properties": { "lowLatencyJourneySynthesis": { - "description": "Only for Jounrney voices. If false, the synthesis will be context aware and have higher latency.", + "description": "Only for Journey voices. If false, the synthesis will be context aware and have higher latency.", "type": "boolean" } }, @@ -306,7 +288,8 @@ "MP3_64_KBPS", "OGG_OPUS", "MULAW", - "ALAW" + "ALAW", + "PCM" ], "enumDescriptions": [ "Not specified. Will return result google.rpc.Code.INVALID_ARGUMENT.", @@ -315,7 +298,8 @@ "MP3 at 64kbps.", "Opus encoded audio wrapped in an ogg container. The result will be a file which can be played natively on Android, and in browsers (at least Chrome and Firefox). The quality of the encoding is considerably higher than MP3 while using approximately the same bitrate.", "8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law. Audio content returned as MULAW also contains a WAV header.", - "8-bit samples that compand 14-bit audio samples using G.711 PCMU/A-law. Audio content returned as ALAW also contains a WAV header." + "8-bit samples that compand 14-bit audio samples using G.711 PCMU/A-law. Audio content returned as ALAW also contains a WAV header.", + "Uncompressed 16-bit signed little-endian samples (Linear PCM). Note that as opposed to LINEAR16, audio will not be wrapped in a WAV (or any other) header." ], "type": "string" }, @@ -418,40 +402,6 @@ }, "type": "object" }, - "GenerateVoiceCloningKeyRequest": { - "description": "Request message for the `GenerateVoiceCloningKey` method.", - "id": "GenerateVoiceCloningKeyRequest", - "properties": { - "consentScript": { - "description": "Required. The script used for the voice talent statement. The script will be provided to the caller through other channels. It must be returned unchanged in this field.", - "type": "string" - }, - "languageCode": { - "description": "Required. The language of the supplied audio as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. Example: \"en-US\". See [Language Support](https://cloud.google.com/speech-to-text/docs/languages) for a list of the currently supported language codes.", - "type": "string" - }, - "referenceAudio": { - "$ref": "InputAudio", - "description": "Required. The training audio used to create voice clone. This is currently limited to LINEAR16 PCM WAV files mono audio with 24khz sample rate. This needs to be specified in [InputAudio.audio_config], other values will be explicitly rejected." - }, - "voiceTalentConsent": { - "$ref": "InputAudio", - "description": "Required. The voice talent audio used to verify consent to voice clone." - } - }, - "type": "object" - }, - "GenerateVoiceCloningKeyResponse": { - "description": "Response message for the `GenerateVoiceCloningKey` method.", - "id": "GenerateVoiceCloningKeyResponse", - "properties": { - "voiceCloningKey": { - "description": "The voice clone key. Use it in the SynthesizeSpeechRequest by setting [voice.voice_clone.voice_cloning_key].", - "type": "string" - } - }, - "type": "object" - }, "GoogleCloudTexttospeechV1beta1SynthesizeLongAudioMetadata": { "description": "Metadata for response returned by the `SynthesizeLongAudio` method.", "id": "GoogleCloudTexttospeechV1beta1SynthesizeLongAudioMetadata", @@ -475,56 +425,6 @@ }, "type": "object" }, - "InputAudio": { - "description": "Holds audio content and config.", - "id": "InputAudio", - "properties": { - "audioConfig": { - "$ref": "InputAudioConfig", - "description": "Required. Provides information that specifies how to process content." - }, - "content": { - "description": "Required. The audio data bytes encoded as specified in `InputAudioConfig`. Note: as with all bytes fields, proto buffers use a pure binary representation, whereas JSON representations use base64. Audio samples should be between 5-25 seconds in length.", - "format": "byte", - "type": "string" - } - }, - "type": "object" - }, - "InputAudioConfig": { - "description": "Description of inputted audio data.", - "id": "InputAudioConfig", - "properties": { - "audioEncoding": { - "description": "Required. The format of the audio byte stream.", - "enum": [ - "AUDIO_ENCODING_UNSPECIFIED", - "LINEAR16", - "MP3", - "MP3_64_KBPS", - "OGG_OPUS", - "MULAW", - "ALAW" - ], - "enumDescriptions": [ - "Not specified. Will return result google.rpc.Code.INVALID_ARGUMENT.", - "Uncompressed 16-bit signed little-endian samples (Linear PCM). Audio content returned as LINEAR16 also contains a WAV header.", - "MP3 audio at 32kbps.", - "MP3 at 64kbps.", - "Opus encoded audio wrapped in an ogg container. The result will be a file which can be played natively on Android, and in browsers (at least Chrome and Firefox). The quality of the encoding is considerably higher than MP3 while using approximately the same bitrate.", - "8-bit samples that compand 14-bit audio samples using G.711 PCMU/mu-law. Audio content returned as MULAW also contains a WAV header.", - "8-bit samples that compand 14-bit audio samples using G.711 PCMU/A-law. Audio content returned as ALAW also contains a WAV header." - ], - "type": "string" - }, - "sampleRateHertz": { - "description": "Required. The sample rate (in hertz) for this audio.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, "ListOperationsResponse": { "description": "The response message for Operations.ListOperations.", "id": "ListOperationsResponse", @@ -557,6 +457,20 @@ }, "type": "object" }, + "MultiSpeakerMarkup": { + "description": "A collection of turns for multi-speaker synthesis.", + "id": "MultiSpeakerMarkup", + "properties": { + "turns": { + "description": "Required. Speaker turns.", + "items": { + "$ref": "Turn" + }, + "type": "array" + } + }, + "type": "object" + }, "Operation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "id": "Operation", @@ -627,6 +541,10 @@ "$ref": "CustomPronunciations", "description": "Optional. The pronunciation customizations to be applied to the input. If this is set, the input will be synthesized using the given pronunciation customizations. The initial support will be for EFIGS (English, French, Italian, German, Spanish) languages, as provided in VoiceSelectionParams. Journey and Instant Clone voices are not supported yet. In order to customize the pronunciation of a phrase, there must be an exact match of the phrase in the input types. If using SSML, the phrase must not be inside a phoneme tag (entirely or partially)." }, + "multiSpeakerMarkup": { + "$ref": "MultiSpeakerMarkup", + "description": "The multi-speaker input to be synthesized. Only applicable for multi-speaker synthesis." + }, "ssml": { "description": "The SSML document to be synthesized. The SSML document must be valid and well-formed. Otherwise the RPC will fail and return google.rpc.Code.INVALID_ARGUMENT. For more information, see [SSML](https://cloud.google.com/text-to-speech/docs/ssml).", "type": "string" @@ -690,7 +608,7 @@ "properties": { "advancedVoiceOptions": { "$ref": "AdvancedVoiceOptions", - "description": "Adnanced voice options." + "description": "Advanced voice options." }, "audioConfig": { "$ref": "AudioConfig", @@ -761,6 +679,21 @@ }, "type": "object" }, + "Turn": { + "description": "A Multi-speaker turn.", + "id": "Turn", + "properties": { + "speaker": { + "description": "Required. The speaker of the turn, for example, 'O' or 'Q'. Please refer to documentation for available speakers.", + "type": "string" + }, + "text": { + "description": "Required. The text to speak.", + "type": "string" + } + }, + "type": "object" + }, "Voice": { "description": "Description of a voice supported by the TTS service.", "id": "Voice", diff --git a/discovery/toolresults-v1beta3.json b/discovery/toolresults-v1beta3.json index 26cc72b3c2..25bd2bb83e 100644 --- a/discovery/toolresults-v1beta3.json +++ b/discovery/toolresults-v1beta3.json @@ -15,6 +15,7 @@ "description": "API to publish and access results from developer tools.", "discoveryVersion": "v1", "documentationLink": "https://firebase.google.com/docs/test-lab/", + "fullyEncodeReservedExpansion": true, "icons": { "x16": "http://www.google.com/images/icons/product/search-16.gif", "x32": "http://www.google.com/images/icons/product/search-32.gif" @@ -1463,7 +1464,7 @@ } } }, - "revision": "20240321", + "revision": "20241121", "rootUrl": "https://toolresults.googleapis.com/", "schemas": { "ANR": { diff --git a/discovery/tpu-v1.json b/discovery/tpu-v1.json index 603dbc140d..e97703fbc6 100644 --- a/discovery/tpu-v1.json +++ b/discovery/tpu-v1.json @@ -462,7 +462,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "tpu.projects.locations.operations.cancel", @@ -659,7 +659,7 @@ } } }, - "revision": "20230803", + "revision": "20241126", "rootUrl": "https://tpu.googleapis.com/", "schemas": { "AcceleratorType": { @@ -968,7 +968,8 @@ "TERMINATED", "HIDING", "HIDDEN", - "UNHIDING" + "UNHIDING", + "UNKNOWN" ], "enumDescriptions": [ "TPU node state is not known/set.", @@ -985,7 +986,8 @@ "TPU node has been terminated due to maintenance or has reached the end of its life cycle (for preemptible nodes).", "TPU node is currently hiding.", "TPU node has been hidden.", - "TPU node is currently unhiding." + "TPU node is currently unhiding.", + "TPU node has unknown state after a failed repair." ], "readOnly": true, "type": "string" diff --git a/discovery/tpu-v1alpha1.json b/discovery/tpu-v1alpha1.json index 681b0d24d2..4cdfd9862e 100644 --- a/discovery/tpu-v1alpha1.json +++ b/discovery/tpu-v1alpha1.json @@ -472,7 +472,7 @@ "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`.", + "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": "v1alpha1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "tpu.projects.locations.operations.cancel", @@ -669,7 +669,7 @@ } } }, - "revision": "20230803", + "revision": "20241126", "rootUrl": "https://tpu.googleapis.com/", "schemas": { "AcceleratorType": { @@ -978,7 +978,8 @@ "TERMINATED", "HIDING", "HIDDEN", - "UNHIDING" + "UNHIDING", + "UNKNOWN" ], "enumDescriptions": [ "TPU node state is not known/set.", @@ -995,7 +996,8 @@ "TPU node has been terminated due to maintenance or has reached the end of its life cycle (for preemptible nodes).", "TPU node is currently hiding.", "TPU node has been hidden.", - "TPU node is currently unhiding." + "TPU node is currently unhiding.", + "TPU node has unknown state after a failed repair." ], "readOnly": true, "type": "string" diff --git a/discovery/tpu-v2.json b/discovery/tpu-v2.json index b08e1371e8..e0dc5740c5 100644 --- a/discovery/tpu-v2.json +++ b/discovery/tpu-v2.json @@ -524,7 +524,7 @@ "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`.", + "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": "v2/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "tpu.projects.locations.operations.cancel", @@ -887,7 +887,7 @@ } } }, - "revision": "20240613", + "revision": "20241126", "rootUrl": "https://tpu.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -906,7 +906,8 @@ "V3", "V4", "V5LITE_POD", - "V5P" + "V5P", + "V6E" ], "enumDescriptions": [ "Unspecified version.", @@ -914,7 +915,8 @@ "TPU v3.", "TPU v4.", "TPU v5lite pod.", - "TPU v5p" + "TPU v5p", + "TPU v6e" ], "type": "string" } @@ -1537,7 +1539,8 @@ "TERMINATED", "HIDING", "HIDDEN", - "UNHIDING" + "UNHIDING", + "UNKNOWN" ], "enumDescriptions": [ "TPU node state is not known/set.", @@ -1554,7 +1557,8 @@ "TPU node has been terminated due to maintenance or has reached the end of its life cycle (for preemptible nodes).", "TPU node is currently hiding.", "TPU node has been hidden.", - "TPU node is currently unhiding." + "TPU node is currently unhiding.", + "TPU node has unknown state after a failed repair." ], "readOnly": true, "type": "string" diff --git a/discovery/tpu-v2alpha1.json b/discovery/tpu-v2alpha1.json index 8615ae6957..6edb0c4abc 100644 --- a/discovery/tpu-v2alpha1.json +++ b/discovery/tpu-v2alpha1.json @@ -473,6 +473,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "performMaintenance": { + "description": "Perform manual maintenance on a node.", + "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}:performMaintenance", + "httpMethod": "POST", + "id": "tpu.projects.locations.nodes.performMaintenance", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The resource name.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/nodes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha1/{+name}:performMaintenance", + "request": { + "$ref": "PerformMaintenanceRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "simulateMaintenanceEvent": { "description": "Simulates a maintenance event.", "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/nodes/{nodesId}:simulateMaintenanceEvent", @@ -562,7 +590,7 @@ "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`.", + "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": "v2alpha1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "tpu.projects.locations.operations.cancel", @@ -815,6 +843,34 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "performMaintenanceQueuedResource": { + "description": "Perform manual maintenance on specific nodes of a QueuedResource.", + "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/queuedResources/{queuedResourcesId}:performMaintenanceQueuedResource", + "httpMethod": "POST", + "id": "tpu.projects.locations.queuedResources.performMaintenanceQueuedResource", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the QueuedResource which holds the nodes to perform maintenance on.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/queuedResources/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v2alpha1/{+name}:performMaintenanceQueuedResource", + "request": { + "$ref": "PerformMaintenanceQueuedResourceRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, "reset": { "description": "Resets a QueuedResource TPU instance", "flatPath": "v2alpha1/projects/{projectsId}/locations/{locationsId}/queuedResources/{queuedResourcesId}:reset", @@ -965,7 +1021,7 @@ } } }, - "revision": "20240916", + "revision": "20241126", "rootUrl": "https://tpu.googleapis.com/", "schemas": { "AcceleratorConfig": { @@ -984,7 +1040,8 @@ "V3", "V4", "V5LITE_POD", - "V5P" + "V5P", + "V6E" ], "enumDescriptions": [ "Unspecified version.", @@ -992,7 +1049,8 @@ "TPU v3.", "TPU v4.", "TPU v5lite pod.", - "TPU v5." + "TPU v5.", + "TPU v6e." ], "type": "string" } @@ -1461,6 +1519,20 @@ "nodeIdPrefix": { "description": "Prefix of node_ids in case of multi-node request Should follow the `^[A-Za-z0-9_.~+%-]+$` regex format. If node_count = 3 and node_id_prefix = \"np\", node ids of nodes created will be \"np-0\", \"np-1\", \"np-2\". If this field is not provided we use queued_resource_id as the node_id_prefix.", "type": "string" + }, + "workloadType": { + "description": "Optional. The workload type for the multi-node request.", + "enum": [ + "WORKLOAD_TYPE_UNSPECIFIED", + "THROUGHPUT_OPTIMIZED", + "AVAILABILITY_OPTIMIZED" + ], + "enumDescriptions": [ + "Not specified.", + "All of the nodes are available most of the time. Recommended for training workloads.", + "Most of the nodes are available all of the time. Recommended for serving workloads." + ], + "type": "string" } }, "type": "object" @@ -1681,7 +1753,8 @@ "TERMINATED", "HIDING", "HIDDEN", - "UNHIDING" + "UNHIDING", + "UNKNOWN" ], "enumDescriptions": [ "TPU node state is not known/set.", @@ -1698,7 +1771,8 @@ "TPU node has been terminated due to maintenance or has reached the end of its life cycle (for preemptible nodes).", "TPU node is currently hiding.", "TPU node has been hidden.", - "TPU node is currently unhiding." + "TPU node is currently unhiding.", + "TPU node has unknown state after a failed repair." ], "readOnly": true, "type": "string" @@ -1717,6 +1791,11 @@ "type": "string" }, "type": "array" + }, + "upcomingMaintenance": { + "$ref": "UpcomingMaintenance", + "description": "Output only. Upcoming maintenance on this TPU node.", + "readOnly": true } }, "type": "object" @@ -1816,6 +1895,26 @@ }, "type": "object" }, + "PerformMaintenanceQueuedResourceRequest": { + "description": "Request for PerformMaintenanceQueuedResource.", + "id": "PerformMaintenanceQueuedResourceRequest", + "properties": { + "nodeNames": { + "description": "The names of the nodes to perform maintenance on.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "PerformMaintenanceRequest": { + "description": "Request for PerformMaintenance.", + "id": "PerformMaintenanceRequest", + "properties": {}, + "type": "object" + }, "ProvisioningData": { "description": "Further data for the provisioning state.", "id": "ProvisioningData", @@ -2261,6 +2360,57 @@ }, "type": "object" }, + "UpcomingMaintenance": { + "description": "Upcoming Maintenance notification information.", + "id": "UpcomingMaintenance", + "properties": { + "canReschedule": { + "description": "Indicates if the maintenance can be customer triggered.", + "type": "boolean" + }, + "latestWindowStartTime": { + "description": "The latest time for the planned maintenance window to start. This timestamp value is in RFC3339 text format.", + "type": "string" + }, + "maintenanceStatus": { + "description": "The status of the maintenance.", + "enum": [ + "UNKNOWN", + "PENDING", + "ONGOING" + ], + "enumDescriptions": [ + "Unknown maintenance status. Do not use this value.", + "There is pending maintenance.", + "There is ongoing maintenance on this VM." + ], + "type": "string" + }, + "type": { + "description": "Defines the type of maintenance.", + "enum": [ + "UNKNOWN_TYPE", + "SCHEDULED", + "UNSCHEDULED" + ], + "enumDescriptions": [ + "No type specified. Do not use this value.", + "Scheduled maintenance (e.g. maintenance after uptime guarantee is complete).", + "Unscheduled maintenance (e.g. emergency maintenance during uptime guarantee)." + ], + "type": "string" + }, + "windowEndTime": { + "description": "The time by which the maintenance disruption will be completed. This timestamp value is in RFC3339 text format.", + "type": "string" + }, + "windowStartTime": { + "description": "The current start time of the maintenance window. This timestamp value is in RFC3339 text format.", + "type": "string" + } + }, + "type": "object" + }, "Usage": { "id": "Usage", "properties": { diff --git a/discovery/transcoder-v1.json b/discovery/transcoder-v1.json index ce3f1148d9..16daefe2b5 100644 --- a/discovery/transcoder-v1.json +++ b/discovery/transcoder-v1.json @@ -385,7 +385,7 @@ } } }, - "revision": "20240626", + "revision": "20241009", "rootUrl": "https://transcoder.googleapis.com/", "schemas": { "AdBreak": { @@ -565,7 +565,7 @@ "type": "array" }, "codec": { - "description": "The codec for this audio stream. The default is `aac`. Supported audio codecs: - `aac` - `aac-he` - `aac-he-v2` - `mp3` - `ac3` - `eac3`", + "description": "The codec for this audio stream. The default is `aac`. Supported audio codecs: - `aac` - `aac-he` - `aac-he-v2` - `mp3` - `ac3` - `eac3` - `vorbis`", "type": "string" }, "displayName": { @@ -1486,7 +1486,7 @@ "id": "MuxStream", "properties": { "container": { - "description": "The container format. The default is `mp4` Supported container formats: - `ts` - `fmp4`- the corresponding file extension is `.m4s` - `mp4` - `vtt` See also: [Supported input and output formats](https://cloud.google.com/transcoder/docs/concepts/supported-input-and-output-formats)", + "description": "The container format. The default is `mp4` Supported container formats: - `ts` - `fmp4`- the corresponding file extension is `.m4s` - `mp4` - `vtt` - `ogg` See also: [Supported input and output formats](https://cloud.google.com/transcoder/docs/concepts/supported-input-and-output-formats)", "type": "string" }, "elementaryStreams": { diff --git a/discovery/translate-v3.json b/discovery/translate-v3.json index 95e6cdfd92..c52b9cff78 100644 --- a/discovery/translate-v3.json +++ b/discovery/translate-v3.json @@ -291,7 +291,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-translation" ] }, "batchTranslateText": { @@ -319,7 +320,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-translation" ] }, "detectLanguage": { @@ -1550,7 +1552,7 @@ "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`.", + "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": "v3/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "translate.projects.locations.operations.cancel", @@ -1708,7 +1710,7 @@ } } }, - "revision": "20240912", + "revision": "20241218", "rootUrl": "https://translation.googleapis.com/", "schemas": { "AdaptiveMtDataset": { @@ -2372,6 +2374,10 @@ "description": "Configures which glossary is used for a specific target language and defines options for applying that glossary.", "id": "GlossaryConfig", "properties": { + "contextualTranslationEnabled": { + "description": "Optional. If set to true, the glossary will be used for contextual translation.", + "type": "boolean" + }, "glossary": { "description": "Required. The `glossary` to be applied for this translation. The format depends on the glossary: - User-provided custom glossary: `projects/{project-number-or-id}/locations/{location-id}/glossaries/{glossary-id}`", "type": "string" @@ -3123,6 +3129,10 @@ "description": "Configures which glossary is used for a specific target language and defines options for applying that glossary.", "id": "TranslateTextGlossaryConfig", "properties": { + "contextualTranslationEnabled": { + "description": "Optional. If set to true, the glossary will be used for contextual translation.", + "type": "boolean" + }, "glossary": { "description": "Required. The `glossary` to be applied for this translation. The format depends on the glossary: - User-provided custom glossary: `projects/{project-number-or-id}/locations/{location-id}/glossaries/{glossary-id}`", "type": "string" diff --git a/discovery/translate-v3beta1.json b/discovery/translate-v3beta1.json index a19c87e780..c50de44430 100644 --- a/discovery/translate-v3beta1.json +++ b/discovery/translate-v3beta1.json @@ -233,7 +233,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-translation" ] }, "batchTranslateText": { @@ -261,7 +262,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-translation" ] }, "detectLanguage": { @@ -484,7 +486,8 @@ "$ref": "Operation" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-translation" ] }, "delete": { @@ -586,7 +589,7 @@ "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`.", + "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": "v3beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "translate.projects.locations.operations.cancel", @@ -744,7 +747,7 @@ } } }, - "revision": "20230922", + "revision": "20241218", "rootUrl": "https://translation.googleapis.com/", "schemas": { "BatchDocumentInputConfig": { @@ -1401,9 +1404,13 @@ "type": "object" }, "TranslateTextGlossaryConfig": { - "description": "Configures which glossary should be used for a specific target language, and defines options for applying that glossary.", + "description": "----------------------------------------------------------------------------- Configures which glossary should be used for a specific target language, and defines options for applying that glossary.", "id": "TranslateTextGlossaryConfig", "properties": { + "contextualTranslationEnabled": { + "description": "Optional. If set to true, the glossary will be used for contextual translation.", + "type": "boolean" + }, "glossary": { "description": "Required. Specifies the glossary used for this translation. Use this format: projects/*/locations/*/glossaries/*", "type": "string" diff --git a/discovery/travelimpactmodel-v1.json b/discovery/travelimpactmodel-v1.json index 29eb1f3d63..e2c075395d 100644 --- a/discovery/travelimpactmodel-v1.json +++ b/discovery/travelimpactmodel-v1.json @@ -116,7 +116,7 @@ } } }, - "revision": "20231011", + "revision": "20241027", "rootUrl": "https://travelimpactmodel.googleapis.com/", "schemas": { "ComputeFlightEmissionsRequest": { @@ -234,7 +234,7 @@ "properties": { "emissionsGramsPerPax": { "$ref": "EmissionsGramsPerPax", - "description": "Optional. Per-passenger emission estimate numbers. Will not be present if emissions could not be computed. For the list of reasons why emissions could not be computed, see ComputeFlightEmissions. Note this field is currently equivalent to ttw_emissions_grams_per_pax until TIM version 1.X.0 which will update this to be total wtw emissions aka wtt_emissions_grams_per_pax + ttw_emissions_grams_per_pax." + "description": "Optional. Per-passenger emission estimate numbers. Will not be present if emissions could not be computed. For the list of reasons why emissions could not be computed, see ComputeFlightEmissions. This field uses wtw emissions aka ttw_emissions_grams_per_pax + wtt_emissions_grams_per_pax." }, "flight": { "$ref": "Flight", diff --git a/discovery/vault-v1.json b/discovery/vault-v1.json index abe2d52cc0..d2e11c9063 100644 --- a/discovery/vault-v1.json +++ b/discovery/vault-v1.json @@ -1080,7 +1080,7 @@ "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`.", + "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": "vault.operations.cancel", @@ -1203,7 +1203,7 @@ } } }, - "revision": "20240806", + "revision": "20241121", "rootUrl": "https://vault.googleapis.com/", "schemas": { "AccountCount": { diff --git a/discovery/verifiedaccess-v2.json b/discovery/verifiedaccess-v2.json index b217c2a92b..5637a6fa09 100644 --- a/discovery/verifiedaccess-v2.json +++ b/discovery/verifiedaccess-v2.json @@ -146,7 +146,7 @@ } } }, - "revision": "20240423", + "revision": "20241112", "rootUrl": "https://verifiedaccess.googleapis.com/", "schemas": { "Challenge": { @@ -285,7 +285,7 @@ "type": "string" }, "osFirewall": { - "description": "The state of the OS level firewall. On ChromeOS, the value will always be ENABLED on regular devices and UNKNOWN on devices in developer mode.", + "description": "The state of the OS level firewall. On ChromeOS, the value will always be ENABLED on regular devices and UNKNOWN on devices in developer mode. Support for MacOS 15 (Sequoia) and later has been introduced in Chrome M131.", "enum": [ "OS_FIREWALL_UNSPECIFIED", "OS_FIREWALL_UNKNOWN", diff --git a/discovery/vision-v1.json b/discovery/vision-v1.json index 3aa95ebabc..b07ac2e8f4 100644 --- a/discovery/vision-v1.json +++ b/discovery/vision-v1.json @@ -229,7 +229,7 @@ "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`.", + "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": "vision.operations.cancel", @@ -1282,7 +1282,7 @@ } } }, - "revision": "20240823", + "revision": "20241115", "rootUrl": "https://vision.googleapis.com/", "schemas": { "AddProductToProductSetRequest": { diff --git a/discovery/vmmigration-v1.json b/discovery/vmmigration-v1.json index b6ff7db6af..f8cf5d8bd8 100644 --- a/discovery/vmmigration-v1.json +++ b/discovery/vmmigration-v1.json @@ -666,7 +666,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "vmmigration.projects.locations.operations.cancel", @@ -2220,7 +2220,7 @@ } } }, - "revision": "20240912", + "revision": "20241114", "rootUrl": "https://vmmigration.googleapis.com/", "schemas": { "AccessKeyCredentials": { @@ -2430,6 +2430,21 @@ "description": "Represent the source AWS VM details.", "id": "AwsSourceVmDetails", "properties": { + "architecture": { + "description": "Output only. The VM architecture.", + "enum": [ + "VM_ARCHITECTURE_UNSPECIFIED", + "VM_ARCHITECTURE_X86_FAMILY", + "VM_ARCHITECTURE_ARM64" + ], + "enumDescriptions": [ + "The architecture is unknown.", + "The architecture is one of the x86 architectures.", + "The architecture is ARM64." + ], + "readOnly": true, + "type": "string" + }, "committedStorageBytes": { "description": "Output only. The total size of the disks being migrated in bytes.", "format": "int64", @@ -2700,6 +2715,21 @@ "description": "Represent the source Azure VM details.", "id": "AzureSourceVmDetails", "properties": { + "architecture": { + "description": "Output only. The VM architecture.", + "enum": [ + "VM_ARCHITECTURE_UNSPECIFIED", + "VM_ARCHITECTURE_X86_FAMILY", + "VM_ARCHITECTURE_ARM64" + ], + "enumDescriptions": [ + "The architecture is unknown.", + "The architecture is one of the x86 architectures.", + "The architecture is ARM64." + ], + "readOnly": true, + "type": "string" + }, "committedStorageBytes": { "description": "Output only. The total size of the disks being migrated in bytes.", "format": "int64", @@ -2741,6 +2771,20 @@ "description": "AzureVmDetails describes a VM in Azure.", "id": "AzureVmDetails", "properties": { + "architecture": { + "description": "The CPU architecture.", + "enum": [ + "VM_ARCHITECTURE_UNSPECIFIED", + "VM_ARCHITECTURE_X86_FAMILY", + "VM_ARCHITECTURE_ARM64" + ], + "enumDescriptions": [ + "The architecture is unknown.", + "The architecture is one of the x86 architectures.", + "The architecture is ARM64." + ], + "type": "string" + }, "bootOption": { "description": "The VM Boot Option.", "enum": [ @@ -5899,6 +5943,21 @@ "description": "Represent the source Vmware VM details.", "id": "VmwareSourceVmDetails", "properties": { + "architecture": { + "description": "Output only. The VM architecture.", + "enum": [ + "VM_ARCHITECTURE_UNSPECIFIED", + "VM_ARCHITECTURE_X86_FAMILY", + "VM_ARCHITECTURE_ARM64" + ], + "enumDescriptions": [ + "The architecture is unknown.", + "The architecture is one of the x86 architectures.", + "The architecture is ARM64." + ], + "readOnly": true, + "type": "string" + }, "committedStorageBytes": { "description": "Output only. The total size of the disks being migrated in bytes.", "format": "int64", @@ -5940,6 +5999,21 @@ "description": "VmwareVmDetails describes a VM in vCenter.", "id": "VmwareVmDetails", "properties": { + "architecture": { + "description": "Output only. The CPU architecture.", + "enum": [ + "VM_ARCHITECTURE_UNSPECIFIED", + "VM_ARCHITECTURE_X86_FAMILY", + "VM_ARCHITECTURE_ARM64" + ], + "enumDescriptions": [ + "The architecture is unknown.", + "The architecture is one of the x86 architectures.", + "The architecture is ARM64." + ], + "readOnly": true, + "type": "string" + }, "bootOption": { "description": "Output only. The VM Boot Option.", "enum": [ diff --git a/discovery/vmmigration-v1alpha1.json b/discovery/vmmigration-v1alpha1.json index 0614fc4da7..e80d2ef56b 100644 --- a/discovery/vmmigration-v1alpha1.json +++ b/discovery/vmmigration-v1alpha1.json @@ -666,7 +666,7 @@ "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`.", + "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": "v1alpha1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "vmmigration.projects.locations.operations.cancel", @@ -2220,7 +2220,7 @@ } } }, - "revision": "20240912", + "revision": "20241114", "rootUrl": "https://vmmigration.googleapis.com/", "schemas": { "AccessKeyCredentials": { @@ -2430,6 +2430,21 @@ "description": "Represent the source AWS VM details.", "id": "AwsSourceVmDetails", "properties": { + "architecture": { + "description": "Output only. The VM architecture.", + "enum": [ + "VM_ARCHITECTURE_UNSPECIFIED", + "VM_ARCHITECTURE_X86_FAMILY", + "VM_ARCHITECTURE_ARM64" + ], + "enumDescriptions": [ + "The architecture is unknown.", + "The architecture is one of the x86 architectures.", + "The architecture is ARM64." + ], + "readOnly": true, + "type": "string" + }, "committedStorageBytes": { "description": "Output only. The total size of the disks being migrated in bytes.", "format": "int64", @@ -2700,6 +2715,21 @@ "description": "Represent the source Azure VM details.", "id": "AzureSourceVmDetails", "properties": { + "architecture": { + "description": "Output only. The VM architecture.", + "enum": [ + "VM_ARCHITECTURE_UNSPECIFIED", + "VM_ARCHITECTURE_X86_FAMILY", + "VM_ARCHITECTURE_ARM64" + ], + "enumDescriptions": [ + "The architecture is unknown.", + "The architecture is one of the x86 architectures.", + "The architecture is ARM64." + ], + "readOnly": true, + "type": "string" + }, "committedStorageBytes": { "description": "Output only. The total size of the disks being migrated in bytes.", "format": "int64", @@ -2741,6 +2771,20 @@ "description": "AzureVmDetails describes a VM in Azure.", "id": "AzureVmDetails", "properties": { + "architecture": { + "description": "The CPU architecture.", + "enum": [ + "VM_ARCHITECTURE_UNSPECIFIED", + "VM_ARCHITECTURE_X86_FAMILY", + "VM_ARCHITECTURE_ARM64" + ], + "enumDescriptions": [ + "The architecture is unknown.", + "The architecture is one of the x86 architectures.", + "The architecture is ARM64." + ], + "type": "string" + }, "bootOption": { "description": "The VM Boot Option.", "enum": [ @@ -6153,6 +6197,21 @@ "description": "Represent the source Vmware VM details.", "id": "VmwareSourceVmDetails", "properties": { + "architecture": { + "description": "Output only. The VM architecture.", + "enum": [ + "VM_ARCHITECTURE_UNSPECIFIED", + "VM_ARCHITECTURE_X86_FAMILY", + "VM_ARCHITECTURE_ARM64" + ], + "enumDescriptions": [ + "The architecture is unknown.", + "The architecture is one of the x86 architectures.", + "The architecture is ARM64." + ], + "readOnly": true, + "type": "string" + }, "committedStorageBytes": { "description": "Output only. The total size of the disks being migrated in bytes.", "format": "int64", @@ -6194,6 +6253,21 @@ "description": "VmwareVmDetails describes a VM in vCenter.", "id": "VmwareVmDetails", "properties": { + "architecture": { + "description": "Output only. The CPU architecture.", + "enum": [ + "VM_ARCHITECTURE_UNSPECIFIED", + "VM_ARCHITECTURE_X86_FAMILY", + "VM_ARCHITECTURE_ARM64" + ], + "enumDescriptions": [ + "The architecture is unknown.", + "The architecture is one of the x86 architectures.", + "The architecture is ARM64." + ], + "readOnly": true, + "type": "string" + }, "bootOption": { "description": "Output only. The VM Boot Option.", "enum": [ diff --git a/discovery/vmwareengine-v1.json b/discovery/vmwareengine-v1.json index b4094df5dd..eeb4badb31 100644 --- a/discovery/vmwareengine-v1.json +++ b/discovery/vmwareengine-v1.json @@ -413,7 +413,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name of the network peering. NetworkPeering is a global resource and location can only be global. Resource names are scheme-less URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/global/networkPeerings/my-peering`", + "description": "Output only. Identifier. The resource name of the network peering. NetworkPeering is a global resource and location can only be global. Resource names are scheme-less URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/global/networkPeerings/my-peering`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/networkPeerings/[^/]+$", "required": true, @@ -678,7 +678,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name of this network policy. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1/networkPolicies/my-network-policy`", + "description": "Output only. Identifier. The resource name of this network policy. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1/networkPolicies/my-network-policy`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/networkPolicies/[^/]+$", "required": true, @@ -1281,7 +1281,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name of this private cloud. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud`", + "description": "Output only. Identifier. The resource name of this private cloud. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/privateClouds/[^/]+$", "required": true, @@ -1515,7 +1515,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name of this DNS profile. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/dnsForwarding`", + "description": "Output only. Identifier. The resource name of this DNS profile. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/dnsForwarding`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/privateClouds/[^/]+/dnsForwarding$", "required": true, @@ -1733,7 +1733,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name of this cluster. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/clusters/my-cluster`", + "description": "Output only. Identifier. The resource name of this cluster. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/clusters/my-cluster`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/privateClouds/[^/]+/clusters/[^/]+$", "required": true, @@ -2043,7 +2043,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name of this external IP address. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/externalAddresses/my-address`", + "description": "Output only. Identifier. The resource name of this external IP address. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/externalAddresses/my-address`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/privateClouds/[^/]+/externalAddresses/[^/]+$", "required": true, @@ -2729,7 +2729,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name of this subnet. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/subnets/my-subnet`", + "description": "Output only. Identifier. The resource name of this subnet. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/subnets/my-subnet`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/privateClouds/[^/]+/subnets/[^/]+$", "required": true, @@ -3137,7 +3137,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name of the VMware Engine network. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/global/vmwareEngineNetworks/my-network`", + "description": "Output only. Identifier. The resource name of the VMware Engine network. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/global/vmwareEngineNetworks/my-network`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/vmwareEngineNetworks/[^/]+$", "required": true, @@ -3173,7 +3173,7 @@ } } }, - "revision": "20240701", + "revision": "20241009", "rootUrl": "https://vmwareengine.googleapis.com/", "schemas": { "AuditConfig": { @@ -3327,7 +3327,7 @@ "type": "boolean" }, "name": { - "description": "Output only. The resource name of this cluster. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/clusters/my-cluster`", + "description": "Output only. Identifier. The resource name of this cluster. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/clusters/my-cluster`", "readOnly": true, "type": "string" }, @@ -3430,7 +3430,7 @@ "type": "array" }, "name": { - "description": "Output only. The resource name of this DNS profile. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/dnsForwarding`", + "description": "Output only. Identifier. The resource name of this DNS profile. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/dnsForwarding`", "readOnly": true, "type": "string" }, @@ -3599,7 +3599,7 @@ "type": "string" }, "name": { - "description": "Output only. The resource name of this external IP address. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/externalAddresses/my-address`", + "description": "Output only. Identifier. The resource name of this external IP address. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/externalAddresses/my-address`", "readOnly": true, "type": "string" }, @@ -4481,7 +4481,7 @@ "type": "boolean" }, "name": { - "description": "Output only. The resource name of the network peering. NetworkPeering is a global resource and location can only be global. Resource names are scheme-less URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/global/networkPeerings/my-peering`", + "description": "Output only. Identifier. The resource name of the network peering. NetworkPeering is a global resource and location can only be global. Resource names are scheme-less URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/global/networkPeerings/my-peering`", "readOnly": true, "type": "string" }, @@ -4587,7 +4587,7 @@ "description": "Network service that allows VMware workloads to access the internet." }, "name": { - "description": "Output only. The resource name of this network policy. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1/networkPolicies/my-network-policy`", + "description": "Output only. Identifier. The resource name of this network policy. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1/networkPolicies/my-network-policy`", "readOnly": true, "type": "string" }, @@ -5065,7 +5065,7 @@ "description": "Required. Input only. The management cluster for this private cloud. This field is required during creation of the private cloud to provide details for the default cluster. The following fields can't be changed after private cloud creation: `ManagementCluster.clusterId`, `ManagementCluster.nodeTypeId`." }, "name": { - "description": "Output only. The resource name of this private cloud. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud`", + "description": "Output only. Identifier. The resource name of this private cloud. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud`", "readOnly": true, "type": "string" }, @@ -5378,7 +5378,7 @@ "type": "string" }, "name": { - "description": "Output only. The resource name of this subnet. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/subnets/my-subnet`", + "description": "Output only. Identifier. The resource name of this subnet. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/subnets/my-subnet`", "readOnly": true, "type": "string" }, @@ -5528,7 +5528,7 @@ "type": "string" }, "name": { - "description": "Output only. The resource name of the VMware Engine network. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/global/vmwareEngineNetworks/my-network`", + "description": "Output only. Identifier. The resource name of the VMware Engine network. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/global/vmwareEngineNetworks/my-network`", "readOnly": true, "type": "string" }, diff --git a/discovery/walletobjects-v1.json b/discovery/walletobjects-v1.json index b64a2680df..3a8a3bfa9c 100644 --- a/discovery/walletobjects-v1.json +++ b/discovery/walletobjects-v1.json @@ -2681,7 +2681,7 @@ } } }, - "revision": "20240927", + "revision": "20241203", "rootUrl": "https://walletobjects.googleapis.com/", "schemas": { "ActivationOptions": { @@ -2774,6 +2774,10 @@ "$ref": "AppLinkDataAppLinkInfo", "description": "Optional information about the partner app link." }, + "displayText": { + "$ref": "LocalizedString", + "description": "Optional display text for the app link button. Character limit is 30." + }, "iosAppLinkInfo": { "$ref": "AppLinkDataAppLinkInfo", "deprecated": true, @@ -3515,7 +3519,7 @@ "type": "object" }, "DiscoverableProgram": { - "description": "Information about how a class may be discovered and instantiated from within the Android Pay app. This is done by searching for a loyalty or gift card program and scanning or manually entering.", + "description": "Information about how a class may be discovered and instantiated from within the Google Wallet app. This is done by searching for a loyalty or gift card program and scanning or manually entering.", "id": "DiscoverableProgram", "properties": { "merchantSigninInfo": { @@ -3917,6 +3921,13 @@ "$ref": "Image", "description": "The logo image of the ticket. This image is displayed in the card detail view of the app." }, + "merchantLocations": { + "description": "Merchant locations. There is a maximum of ten on the class. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints.", + "items": { + "$ref": "MerchantLocation" + }, + "type": "array" + }, "messages": { "description": "An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10.", "items": { @@ -3955,6 +3966,18 @@ ], "type": "string" }, + "notifyPreference": { + "description": "Whether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If not specified, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.", + "enum": [ + "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED", + "NOTIFY_ON_UPDATE" + ], + "enumDescriptions": [ + "Default behavior is no notifications sent.", + "This value will result in a notification being sent, if the updated fields are part of an allowlist." + ], + "type": "string" + }, "redemptionIssuers": { "description": "Identifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.", "items": { @@ -4241,6 +4264,13 @@ }, "type": "array" }, + "merchantLocations": { + "description": "Merchant locations. There is a maximum of ten on the object. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints.", + "items": { + "$ref": "MerchantLocation" + }, + "type": "array" + }, "messages": { "description": "An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10.", "items": { @@ -4248,6 +4278,18 @@ }, "type": "array" }, + "notifyPreference": { + "description": "Whether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.", + "enum": [ + "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED", + "NOTIFY_ON_UPDATE" + ], + "enumDescriptions": [ + "Default behavior is no notifications sent.", + "This value will result in a notification being sent, if the updated fields are part of an allowlist." + ], + "type": "string" + }, "passConstraints": { "$ref": "PassConstraints", "description": "Pass constraints for the object. Includes limiting NFC and screenshot behaviors." @@ -4724,6 +4766,13 @@ }, "type": "array" }, + "merchantLocations": { + "description": "Merchant locations. There is a maximum of ten on the class. Any additional MerchantLocations added beyond the 10 will be rejected by the validator. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints.", + "items": { + "$ref": "MerchantLocation" + }, + "type": "array" + }, "messages": { "description": "An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10.", "items": { @@ -4762,6 +4811,18 @@ ], "type": "string" }, + "notifyPreference": { + "description": "Whether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If not specified, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.", + "enum": [ + "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED", + "NOTIFY_ON_UPDATE" + ], + "enumDescriptions": [ + "Default behavior is no notifications sent.", + "This value will result in a notification being sent, if the updated fields are part of an allowlist." + ], + "type": "string" + }, "origin": { "$ref": "AirportInfo", "description": "Required. Origin airport." @@ -5005,6 +5066,13 @@ }, "type": "array" }, + "merchantLocations": { + "description": "Merchant locations. There is a maximum of ten on the object. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints.", + "items": { + "$ref": "MerchantLocation" + }, + "type": "array" + }, "messages": { "description": "An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10.", "items": { @@ -5012,6 +5080,18 @@ }, "type": "array" }, + "notifyPreference": { + "description": "Whether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.", + "enum": [ + "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED", + "NOTIFY_ON_UPDATE" + ], + "enumDescriptions": [ + "Default behavior is no notifications sent.", + "This value will result in a notification being sent, if the updated fields are part of an allowlist." + ], + "type": "string" + }, "passConstraints": { "$ref": "PassConstraints", "description": "Pass constraints for the object. Includes limiting NFC and screenshot behaviors." @@ -5185,6 +5265,13 @@ "$ref": "LinksModuleData", "description": "Links module data. If `linksModuleData` is also defined on the object, both will be displayed. The maximum number of these fields displayed is 10 from class and 10 from object." }, + "merchantLocations": { + "description": "Merchant locations. There is a maximum of ten on the class. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints.", + "items": { + "$ref": "MerchantLocation" + }, + "type": "array" + }, "messages": { "description": "An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10.", "items": { @@ -5330,6 +5417,7 @@ "GENERIC_HOME_INSURANCE", "GENERIC_ENTRY_TICKET", "GENERIC_RECEIPT", + "GENERIC_LOYALTY_CARD", "GENERIC_OTHER" ], "enumDescriptions": [ @@ -5345,6 +5433,7 @@ "Home-insurance cards", "Entry tickets", "Receipts", + "Loyalty cards. Please note that it is advisable to use a dedicated Loyalty card pass type instead of this generic type. A dedicated loyalty card pass type offers more features and functionality than a generic pass type.", "Other type" ], "type": "string" @@ -5395,6 +5484,13 @@ "$ref": "Image", "description": "The logo image of the pass. This image is displayed in the card detail view in upper left, and also on the list/thumbnail view. If the logo is not present, the first letter of `cardTitle` would be shown as logo." }, + "merchantLocations": { + "description": "Merchant locations. There is a maximum of ten on the object. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints.", + "items": { + "$ref": "MerchantLocation" + }, + "type": "array" + }, "messages": { "description": "An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10.", "items": { @@ -5626,6 +5722,13 @@ }, "type": "array" }, + "merchantLocations": { + "description": "Merchant locations. There is a maximum of ten on the class. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints.", + "items": { + "$ref": "MerchantLocation" + }, + "type": "array" + }, "merchantName": { "description": "Merchant name, such as \"Adam's Apparel\". The app may display an ellipsis after the first 20 characters to ensure full string is displayed on smaller screens.", "type": "string" @@ -5668,6 +5771,18 @@ ], "type": "string" }, + "notifyPreference": { + "description": "Whether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If not specified, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.", + "enum": [ + "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED", + "NOTIFY_ON_UPDATE" + ], + "enumDescriptions": [ + "Default behavior is no notifications sent.", + "This value will result in a notification being sent, if the updated fields are part of an allowlist." + ], + "type": "string" + }, "pinLabel": { "description": "The label to display for the PIN, such as \"4-digit PIN\".", "type": "string" @@ -5896,6 +6011,13 @@ }, "type": "array" }, + "merchantLocations": { + "description": "Merchant locations. There is a maximum of ten on the object. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints.", + "items": { + "$ref": "MerchantLocation" + }, + "type": "array" + }, "messages": { "description": "An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10.", "items": { @@ -5903,6 +6025,18 @@ }, "type": "array" }, + "notifyPreference": { + "description": "Whether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.", + "enum": [ + "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED", + "NOTIFY_ON_UPDATE" + ], + "enumDescriptions": [ + "Default behavior is no notifications sent.", + "This value will result in a notification being sent, if the updated fields are part of an allowlist." + ], + "type": "string" + }, "passConstraints": { "$ref": "PassConstraints", "description": "Pass constraints for the object. Includes limiting NFC and screenshot behaviors." @@ -6466,6 +6600,13 @@ }, "type": "array" }, + "merchantLocations": { + "description": "Merchant locations. There is a maximum of ten on the class. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints.", + "items": { + "$ref": "MerchantLocation" + }, + "type": "array" + }, "messages": { "description": "An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10.", "items": { @@ -6504,6 +6645,18 @@ ], "type": "string" }, + "notifyPreference": { + "description": "Whether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If not specified, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.", + "enum": [ + "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED", + "NOTIFY_ON_UPDATE" + ], + "enumDescriptions": [ + "Default behavior is no notifications sent.", + "This value will result in a notification being sent, if the updated fields are part of an allowlist." + ], + "type": "string" + }, "programLogo": { "$ref": "Image", "description": "Required. The logo of the loyalty program or company. This logo is displayed in both the details and list views of the app." @@ -6751,6 +6904,13 @@ "$ref": "LoyaltyPoints", "description": "The loyalty reward points label, balance, and type." }, + "merchantLocations": { + "description": "Merchant locations. There is a maximum of ten on the object. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints.", + "items": { + "$ref": "MerchantLocation" + }, + "type": "array" + }, "messages": { "description": "An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10.", "items": { @@ -6758,6 +6918,18 @@ }, "type": "array" }, + "notifyPreference": { + "description": "Whether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.", + "enum": [ + "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED", + "NOTIFY_ON_UPDATE" + ], + "enumDescriptions": [ + "Default behavior is no notifications sent.", + "This value will result in a notification being sent, if the updated fields are part of an allowlist." + ], + "type": "string" + }, "passConstraints": { "$ref": "PassConstraints", "description": "Pass constraints for the object. Includes limiting NFC and screenshot behaviors." @@ -7147,6 +7319,23 @@ }, "type": "object" }, + "MerchantLocation": { + "description": "Locations of interest for this class or object. Currently, this location is used for geofenced notifications. When a user is within a set radius of this lat/long, and dwells there, Google will trigger a notification. When a user exits this radius, the notification will be hidden.", + "id": "MerchantLocation", + "properties": { + "latitude": { + "description": "The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected.", + "format": "double", + "type": "number" + }, + "longitude": { + "description": "The longitude specified in the range -180.0 through +180.0, both inclusive. Values outside these bounds will be rejected.", + "format": "double", + "type": "number" + } + }, + "type": "object" + }, "Message": { "description": "A message that will be displayed with a Valuable", "id": "Message", @@ -7420,6 +7609,13 @@ }, "type": "array" }, + "merchantLocations": { + "description": "Merchant locations. There is a maximum of ten on the class. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints.", + "items": { + "$ref": "MerchantLocation" + }, + "type": "array" + }, "messages": { "description": "An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10.", "items": { @@ -7458,6 +7654,18 @@ ], "type": "string" }, + "notifyPreference": { + "description": "Whether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If not specified, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.", + "enum": [ + "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED", + "NOTIFY_ON_UPDATE" + ], + "enumDescriptions": [ + "Default behavior is no notifications sent.", + "This value will result in a notification being sent, if the updated fields are part of an allowlist." + ], + "type": "string" + }, "provider": { "description": "Required. The offer provider (either the aggregator name or merchant name). Recommended maximum length is 12 characters to ensure full string is displayed on smaller screens.", "type": "string" @@ -7714,6 +7922,13 @@ }, "type": "array" }, + "merchantLocations": { + "description": "Merchant locations. There is a maximum of ten on the object. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints.", + "items": { + "$ref": "MerchantLocation" + }, + "type": "array" + }, "messages": { "description": "An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10.", "items": { @@ -7721,6 +7936,18 @@ }, "type": "array" }, + "notifyPreference": { + "description": "Whether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.", + "enum": [ + "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED", + "NOTIFY_ON_UPDATE" + ], + "enumDescriptions": [ + "Default behavior is no notifications sent.", + "This value will result in a notification being sent, if the updated fields are part of an allowlist." + ], + "type": "string" + }, "passConstraints": { "$ref": "PassConstraints", "description": "Pass constraints for the object. Includes limiting NFC and screenshot behaviors." @@ -8811,6 +9038,13 @@ "$ref": "Image", "description": "Required. The logo image of the ticket. This image is displayed in the card detail view of the app." }, + "merchantLocations": { + "description": "Merchant locations. There is a maximum of ten on the class. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints.", + "items": { + "$ref": "MerchantLocation" + }, + "type": "array" + }, "messages": { "description": "An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10.", "items": { @@ -8849,6 +9083,18 @@ ], "type": "string" }, + "notifyPreference": { + "description": "Whether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.", + "enum": [ + "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED", + "NOTIFY_ON_UPDATE" + ], + "enumDescriptions": [ + "Default behavior is no notifications sent.", + "This value will result in a notification being sent, if the updated fields are part of an allowlist." + ], + "type": "string" + }, "redemptionIssuers": { "description": "Identifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.", "items": { @@ -9150,6 +9396,13 @@ }, "type": "array" }, + "merchantLocations": { + "description": "Merchant locations. There is a maximum of ten on the object. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints.", + "items": { + "$ref": "MerchantLocation" + }, + "type": "array" + }, "messages": { "description": "An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10.", "items": { @@ -9157,6 +9410,18 @@ }, "type": "array" }, + "notifyPreference": { + "description": "Whether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.", + "enum": [ + "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED", + "NOTIFY_ON_UPDATE" + ], + "enumDescriptions": [ + "Default behavior is no notifications sent.", + "This value will result in a notification being sent, if the updated fields are part of an allowlist." + ], + "type": "string" + }, "passConstraints": { "$ref": "PassConstraints", "description": "Pass constraints for the object. Includes limiting NFC and screenshot behaviors." diff --git a/discovery/webrisk-v1.json b/discovery/webrisk-v1.json index 127789943a..e1d508bd9c 100644 --- a/discovery/webrisk-v1.json +++ b/discovery/webrisk-v1.json @@ -156,7 +156,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "webrisk.projects.operations.cancel", @@ -420,7 +420,7 @@ } } }, - "revision": "20230806", + "revision": "20241117", "rootUrl": "https://webrisk.googleapis.com/", "schemas": { "GoogleCloudWebriskV1ComputeThreatListDiffResponse": { diff --git a/discovery/workflowexecutions-v1.json b/discovery/workflowexecutions-v1.json index b0450bc486..3ef4fd20ec 100644 --- a/discovery/workflowexecutions-v1.json +++ b/discovery/workflowexecutions-v1.json @@ -517,7 +517,7 @@ } } }, - "revision": "20240916", + "revision": "20241001", "rootUrl": "https://workflowexecutions.googleapis.com/", "schemas": { "Callback": { @@ -1105,7 +1105,7 @@ "type": "string" }, "progressNumber": { - "description": "Progress number represents the current state of the current progress. eg: A step entry represents the 4th iteration in a progress of PROGRESS_TYPE_FOR.", + "description": "Progress number represents the current state of the current progress. eg: A step entry represents the 4th iteration in a progress of PROGRESS_TYPE_FOR. Note: This field is only populated when an iteration exists and the starting value is 1.", "format": "int64", "type": "string" }, diff --git a/discovery/workflows-v1.json b/discovery/workflows-v1.json index bbb1bb8204..86c5169e5a 100644 --- a/discovery/workflows-v1.json +++ b/discovery/workflows-v1.json @@ -485,7 +485,7 @@ } } }, - "revision": "20240925", + "revision": "20241204", "rootUrl": "https://workflows.googleapis.com/", "schemas": { "Empty": { @@ -840,6 +840,13 @@ "description": "Output only. Error regarding the state of the workflow. For example, this field will have error details if the execution data is unavailable due to revoked KMS key permissions.", "readOnly": true }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Input only. Immutable. Tags associated with this workflow.", + "type": "object" + }, "updateTime": { "description": "Output only. The timestamp for when the workflow was last updated. This is a workflow-wide field and is not tied to a specific revision.", "format": "google-datetime", diff --git a/discovery/workloadmanager-v1.json b/discovery/workloadmanager-v1.json index fbaa2d0f87..32631b04d7 100644 --- a/discovery/workloadmanager-v1.json +++ b/discovery/workloadmanager-v1.json @@ -597,7 +597,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "workloadmanager.projects.locations.operations.cancel", @@ -772,7 +772,7 @@ } } }, - "revision": "20240821", + "revision": "20241209", "rootUrl": "https://workloadmanager.googleapis.com/", "schemas": { "AgentCommand": { @@ -793,42 +793,6 @@ }, "type": "object" }, - "AssetLocation": { - "description": "Provides the mapping of a cloud asset to a direct physical location or to a proxy that defines the location on its behalf.", - "id": "AssetLocation", - "properties": { - "ccfeRmsPath": { - "description": "Spanner path of the CCFE RMS database. It is only applicable for CCFE tenants that use CCFE RMS for storing resource metadata.", - "type": "string" - }, - "expected": { - "$ref": "IsolationExpectations", - "description": "Defines the customer expectation around ZI/ZS for this asset and ZI/ZS state of the region at the time of asset creation." - }, - "extraParameters": { - "description": "Defines extra parameters required for specific asset types.", - "items": { - "$ref": "ExtraParameter" - }, - "type": "array" - }, - "locationData": { - "description": "Contains all kinds of physical location definitions for this asset.", - "items": { - "$ref": "LocationData" - }, - "type": "array" - }, - "parentAsset": { - "description": "Defines parents assets if any in order to allow later generation of child_asset_location data via child assets.", - "items": { - "$ref": "CloudAsset" - }, - "type": "array" - } - }, - "type": "object" - }, "BigQueryDestination": { "description": "Message describing big query destination", "id": "BigQueryDestination", @@ -844,49 +808,12 @@ }, "type": "object" }, - "BlobstoreLocation": { - "description": "Policy ID that identified data placement in Blobstore as per go/blobstore-user-guide#data-metadata-placement-and-failure-domains", - "id": "BlobstoreLocation", - "properties": { - "policyId": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", "properties": {}, "type": "object" }, - "CloudAsset": { - "id": "CloudAsset", - "properties": { - "assetName": { - "type": "string" - }, - "assetType": { - "type": "string" - } - }, - "type": "object" - }, - "CloudAssetComposition": { - "id": "CloudAssetComposition", - "properties": { - "childAsset": { - "items": { - "$ref": "CloudAsset" - }, - "type": "array" - } - }, - "type": "object" - }, "Command": { "description": "* Command specifies the type of command to execute.", "id": "Command", @@ -902,18 +829,6 @@ }, "type": "object" }, - "DirectLocationAssignment": { - "id": "DirectLocationAssignment", - "properties": { - "location": { - "items": { - "$ref": "LocationAssignment" - }, - "type": "array" - } - }, - "type": "object" - }, "Empty": { "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }", "id": "Empty", @@ -942,6 +857,24 @@ "description": "Description of the Evaluation", "type": "string" }, + "evaluationType": { + "description": "Evaluation type", + "enum": [ + "EVALUATION_TYPE_UNSPECIFIED", + "SAP", + "SQL_SERVER", + "OTHER", + "SCC_IAC" + ], + "enumDescriptions": [ + "Not specified", + "SAP best practices", + "SQL best practices", + "Customized best practices", + "SCC IaC (Infra as Code) best practices" + ], + "type": "string" + }, "labels": { "additionalProperties": { "type": "string" @@ -1029,6 +962,27 @@ "description": "The name of execution resource. The format is projects/{project}/locations/{location}/evaluations/{evaluation}/executions/{execution}", "type": "string" }, + "notices": { + "description": "Output only. Additional information generated by the execution", + "items": { + "$ref": "Notice" + }, + "readOnly": true, + "type": "array" + }, + "resultSummary": { + "$ref": "Summary", + "description": "Output only. [Output only] Result summary", + "readOnly": true + }, + "ruleResults": { + "description": "Output only. execution result summary per rule", + "items": { + "$ref": "RuleExecutionResult" + }, + "readOnly": true, + "type": "array" + }, "runType": { "description": "type represent whether the execution executed directly by user or scheduled according evaluation.schedule field.", "enum": [ @@ -1096,6 +1050,20 @@ "description": "The severity of violation.", "type": "string" }, + "type": { + "description": "Execution result type of the scanned resource", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_PASSED", + "TYPE_VIOLATED" + ], + "enumDescriptions": [ + "Unknown state", + "resource successfully passed the rule", + "resource violated the rule" + ], + "type": "string" + }, "violationDetails": { "$ref": "ViolationDetails", "description": "The details of violation in an evaluation result." @@ -1138,17 +1106,6 @@ }, "type": "object" }, - "ExtraParameter": { - "description": "Defines parameters that should only be used for specific asset types.", - "id": "ExtraParameter", - "properties": { - "regionalMigDistributionPolicy": { - "$ref": "RegionalMigDistributionPolicy", - "description": "Details about zones used by regional compute.googleapis.com/InstanceGroupManager to create instances." - } - }, - "type": "object" - }, "GceInstanceFilter": { "description": "Message describing compute engine instance filter", "id": "GceInstanceFilter", @@ -1188,131 +1145,10 @@ "sqlserverValidation": { "$ref": "SqlserverValidation", "description": "The insights data for the sqlserver workload validation." - } - }, - "type": "object" - }, - "IsolationExpectations": { - "id": "IsolationExpectations", - "properties": { - "requirementOverride": { - "$ref": "RequirementOverride", - "description": "Explicit overrides for ZI and ZS requirements to be used for resources that should be excluded from ZI/ZS verification logic." - }, - "ziOrgPolicy": { - "enum": [ - "ZI_UNSPECIFIED", - "ZI_UNKNOWN", - "ZI_NOT_REQUIRED", - "ZI_PREFERRED", - "ZI_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "ziRegionPolicy": { - "enum": [ - "ZI_REGION_POLICY_UNSPECIFIED", - "ZI_REGION_POLICY_UNKNOWN", - "ZI_REGION_POLICY_NOT_SET", - "ZI_REGION_POLICY_FAIL_OPEN", - "ZI_REGION_POLICY_FAIL_CLOSED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" }, - "ziRegionState": { - "enum": [ - "ZI_REGION_UNSPECIFIED", - "ZI_REGION_UNKNOWN", - "ZI_REGION_NOT_ENABLED", - "ZI_REGION_ENABLED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - }, - "zoneIsolation": { - "deprecated": true, - "description": "Deprecated: use zi_org_policy, zi_region_policy and zi_region_state instead for setting ZI expectations as per go/zicy-publish-physical-location.", - "enum": [ - "ZI_UNSPECIFIED", - "ZI_UNKNOWN", - "ZI_NOT_REQUIRED", - "ZI_PREFERRED", - "ZI_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "zoneSeparation": { - "deprecated": true, - "description": "Deprecated: use zs_org_policy, and zs_region_stateinstead for setting Zs expectations as per go/zicy-publish-physical-location.", - "enum": [ - "ZS_UNSPECIFIED", - "ZS_UNKNOWN", - "ZS_NOT_REQUIRED", - "ZS_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - }, - "zsOrgPolicy": { - "enum": [ - "ZS_UNSPECIFIED", - "ZS_UNKNOWN", - "ZS_NOT_REQUIRED", - "ZS_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - }, - "zsRegionState": { - "enum": [ - "ZS_REGION_UNSPECIFIED", - "ZS_REGION_UNKNOWN", - "ZS_REGION_NOT_ENABLED", - "ZS_REGION_ENABLED" - ], - "enumDescriptions": [ - "", - "To be used if tracking of the asset ZS-bit is not available", - "", - "" - ], - "type": "string" + "torsoValidation": { + "$ref": "TorsoValidation", + "description": "The insights data for workload validation of torso workloads." } }, "type": "object" @@ -1491,64 +1327,18 @@ }, "type": "object" }, - "LocationAssignment": { - "id": "LocationAssignment", + "Notice": { + "description": "Message for additional information generated by the execution", + "id": "Notice", "properties": { - "location": { - "type": "string" - }, - "locationType": { - "enum": [ - "UNSPECIFIED", - "CLUSTER", - "POP", - "CLOUD_ZONE", - "CLOUD_REGION", - "MULTI_REGION_GEO", - "MULTI_REGION_JURISDICTION", - "GLOBAL", - "OTHER" - ], - "enumDescriptions": [ - "", - "1-10: Physical failure domains.", - "", - "11-20: Logical failure domains.", - "", - "", - "", - "", - "" - ], + "message": { + "description": "Output only. Message of the notice", + "readOnly": true, "type": "string" } }, "type": "object" }, - "LocationData": { - "id": "LocationData", - "properties": { - "blobstoreLocation": { - "$ref": "BlobstoreLocation" - }, - "childAssetLocation": { - "$ref": "CloudAssetComposition" - }, - "directLocation": { - "$ref": "DirectLocationAssignment" - }, - "gcpProjectProxy": { - "$ref": "TenantProjectProxy" - }, - "placerLocation": { - "$ref": "PlacerLocation" - }, - "spannerLocation": { - "$ref": "SpannerLocation" - } - }, - "type": "object" - }, "Operation": { "description": "This resource represents a long-running operation that is the result of a network API call.", "id": "Operation", @@ -1628,74 +1418,6 @@ }, "type": "object" }, - "PlacerLocation": { - "description": "Message describing that the location of the customer resource is tied to placer allocations", - "id": "PlacerLocation", - "properties": { - "placerConfig": { - "description": "Directory with a config related to it in placer (e.g. \"/placer/prod/home/my-root/my-dir\")", - "type": "string" - } - }, - "type": "object" - }, - "RegionalMigDistributionPolicy": { - "description": "To be used for specifying the intended distribution of regional compute.googleapis.com/InstanceGroupManager instances", - "id": "RegionalMigDistributionPolicy", - "properties": { - "targetShape": { - "description": "The shape in which the group converges around distribution of resources. Instance of proto2 enum", - "format": "int32", - "type": "integer" - }, - "zones": { - "description": "Cloud zones used by regional MIG to create instances.", - "items": { - "$ref": "ZoneConfiguration" - }, - "type": "array" - } - }, - "type": "object" - }, - "RequirementOverride": { - "id": "RequirementOverride", - "properties": { - "ziOverride": { - "enum": [ - "ZI_UNSPECIFIED", - "ZI_UNKNOWN", - "ZI_NOT_REQUIRED", - "ZI_PREFERRED", - "ZI_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "", - "" - ], - "type": "string" - }, - "zsOverride": { - "enum": [ - "ZS_UNSPECIFIED", - "ZS_UNKNOWN", - "ZS_NOT_REQUIRED", - "ZS_REQUIRED" - ], - "enumDescriptions": [ - "", - "To be used if tracking is not available", - "", - "" - ], - "type": "string" - } - }, - "type": "object" - }, "Resource": { "description": "Message represent resource in execution result", "id": "Resource", @@ -1833,6 +1555,48 @@ }, "type": "object" }, + "RuleExecutionResult": { + "description": "Message for execution result summary per rule", + "id": "RuleExecutionResult", + "properties": { + "message": { + "description": "Execution message, if any", + "type": "string" + }, + "resultCount": { + "description": "Number of violations", + "format": "int64", + "type": "string" + }, + "rule": { + "description": "rule name", + "type": "string" + }, + "scannedResourceCount": { + "description": "Number of total scanned resources", + "format": "int64", + "type": "string" + }, + "state": { + "description": "Output only. The execution status", + "enum": [ + "STATE_UNSPECIFIED", + "STATE_SUCCESS", + "STATE_FAILURE", + "STATE_SKIPPED" + ], + "enumDescriptions": [ + "Unknown state", + "execution completed successfully", + "execution completed with failures", + "execution was not executed" + ], + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "RunEvaluationRequest": { "description": "Message for creating a Execution", "id": "RunEvaluationRequest", @@ -2204,6 +1968,10 @@ ], "type": "string" }, + "isDrSite": { + "description": "Optional. Instance is part of a DR site.", + "type": "boolean" + }, "virtualHostname": { "description": "Optional. A virtual hostname of the instance if it has one.", "type": "string" @@ -2384,26 +2152,6 @@ }, "type": "object" }, - "SpannerLocation": { - "id": "SpannerLocation", - "properties": { - "backupName": { - "description": "Set of backups used by the resource with name in the same format as what is available at http://table/spanner_automon.backup_metadata", - "items": { - "type": "string" - }, - "type": "array" - }, - "dbName": { - "description": "Set of databases used by the resource in format /span//", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "SqlserverValidation": { "description": "A presentation of SQLServer workload insight. The schema of SqlServer workloads validation related data.", "id": "SqlserverValidation", @@ -2519,14 +2267,69 @@ }, "type": "object" }, - "TenantProjectProxy": { - "id": "TenantProjectProxy", + "Summary": { + "description": "Message for execution summary", + "id": "Summary", "properties": { - "projectNumbers": { - "items": { + "failures": { + "description": "Output only. Number of failures", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "newFailures": { + "description": "Output only. Number of new failures compared to the previous execution", + "format": "int64", + "readOnly": true, + "type": "string" + }, + "newFixes": { + "description": "Output only. Number of new fixes compared to the previous execution", + "format": "int64", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "TorsoValidation": { + "description": "The schema of torso workload validation data.", + "id": "TorsoValidation", + "properties": { + "agentVersion": { + "description": "Required. agent_version lists the version of the agent that collected this data.", + "type": "string" + }, + "instanceName": { + "description": "Required. instance_name lists the human readable name of the instance that the data comes from.", + "type": "string" + }, + "projectId": { + "description": "Required. project_id lists the human readable cloud project that the data comes from.", + "type": "string" + }, + "validationDetails": { + "additionalProperties": { "type": "string" }, - "type": "array" + "description": "Required. validation_details contains the pairs of validation data: field name & field value.", + "type": "object" + }, + "workloadType": { + "description": "Required. workload_type specifies the type of torso workload.", + "enum": [ + "WORKLOAD_TYPE_UNSPECIFIED", + "MYSQL", + "ORACLE", + "REDIS" + ], + "enumDescriptions": [ + "Unspecified workload type.", + "MySQL workload.", + "Oracle workload.", + "Redis workload." + ], + "type": "string" } }, "type": "object" @@ -2577,15 +2380,6 @@ "id": "WriteInsightResponse", "properties": {}, "type": "object" - }, - "ZoneConfiguration": { - "id": "ZoneConfiguration", - "properties": { - "zone": { - "type": "string" - } - }, - "type": "object" } }, "servicePath": "", diff --git a/discovery/workspaceevents-v1.json b/discovery/workspaceevents-v1.json index a0aae35e1c..78c78fb8f8 100644 --- a/discovery/workspaceevents-v1.json +++ b/discovery/workspaceevents-v1.json @@ -29,6 +29,21 @@ "https://www.googleapis.com/auth/chat.spaces.readonly": { "description": "View chat and spaces in Google Chat" }, + "https://www.googleapis.com/auth/drive": { + "description": "See, edit, create, and delete all of your Google Drive files" + }, + "https://www.googleapis.com/auth/drive.file": { + "description": "See, edit, create, and delete only the specific Google Drive files you use with this app" + }, + "https://www.googleapis.com/auth/drive.metadata": { + "description": "View and manage metadata of files in your Google Drive" + }, + "https://www.googleapis.com/auth/drive.metadata.readonly": { + "description": "See information about your Google Drive files" + }, + "https://www.googleapis.com/auth/drive.readonly": { + "description": "See and download all your Google Drive files" + }, "https://www.googleapis.com/auth/meetings.space.created": { "description": "Create, edit, and see information about your Google Meet conferences created by the app." }, @@ -168,6 +183,11 @@ "https://www.googleapis.com/auth/chat.messages.readonly", "https://www.googleapis.com/auth/chat.spaces", "https://www.googleapis.com/auth/chat.spaces.readonly", + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/drive.metadata", + "https://www.googleapis.com/auth/drive.metadata.readonly", + "https://www.googleapis.com/auth/drive.readonly", "https://www.googleapis.com/auth/meetings.space.created", "https://www.googleapis.com/auth/meetings.space.readonly" ] @@ -205,6 +225,11 @@ "https://www.googleapis.com/auth/chat.messages.readonly", "https://www.googleapis.com/auth/chat.spaces", "https://www.googleapis.com/auth/chat.spaces.readonly", + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/drive.metadata", + "https://www.googleapis.com/auth/drive.metadata.readonly", + "https://www.googleapis.com/auth/drive.readonly", "https://www.googleapis.com/auth/meetings.space.created", "https://www.googleapis.com/auth/meetings.space.readonly" ] @@ -255,6 +280,11 @@ "https://www.googleapis.com/auth/chat.messages.readonly", "https://www.googleapis.com/auth/chat.spaces", "https://www.googleapis.com/auth/chat.spaces.readonly", + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/drive.metadata", + "https://www.googleapis.com/auth/drive.metadata.readonly", + "https://www.googleapis.com/auth/drive.readonly", "https://www.googleapis.com/auth/meetings.space.created", "https://www.googleapis.com/auth/meetings.space.readonly" ] @@ -290,6 +320,11 @@ "https://www.googleapis.com/auth/chat.messages.readonly", "https://www.googleapis.com/auth/chat.spaces", "https://www.googleapis.com/auth/chat.spaces.readonly", + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/drive.metadata", + "https://www.googleapis.com/auth/drive.metadata.readonly", + "https://www.googleapis.com/auth/drive.readonly", "https://www.googleapis.com/auth/meetings.space.created", "https://www.googleapis.com/auth/meetings.space.readonly" ] @@ -332,6 +367,11 @@ "https://www.googleapis.com/auth/chat.messages.readonly", "https://www.googleapis.com/auth/chat.spaces", "https://www.googleapis.com/auth/chat.spaces.readonly", + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/drive.metadata", + "https://www.googleapis.com/auth/drive.metadata.readonly", + "https://www.googleapis.com/auth/drive.readonly", "https://www.googleapis.com/auth/meetings.space.created", "https://www.googleapis.com/auth/meetings.space.readonly" ] @@ -346,7 +386,7 @@ ], "parameters": { "name": { - "description": "Optional. Immutable. Identifier. Resource name of the subscription. Format: `subscriptions/{subscription}`", + "description": "Identifier. Resource name of the subscription. Format: `subscriptions/{subscription}`", "location": "path", "pattern": "^subscriptions/[^/]+$", "required": true, @@ -380,12 +420,17 @@ "https://www.googleapis.com/auth/chat.messages.readonly", "https://www.googleapis.com/auth/chat.spaces", "https://www.googleapis.com/auth/chat.spaces.readonly", + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/drive.metadata", + "https://www.googleapis.com/auth/drive.metadata.readonly", + "https://www.googleapis.com/auth/drive.readonly", "https://www.googleapis.com/auth/meetings.space.created", "https://www.googleapis.com/auth/meetings.space.readonly" ] }, "reactivate": { - "description": "[Developer Preview](https://developers.google.com/workspace/preview): Reactivates a suspended Google Workspace subscription. This method resets your subscription's `State` field to `ACTIVE`. Before you use this method, you must fix the error that suspended the subscription. To learn how to use this method, see [Reactivate a Google Workspace subscription](https://developers.google.com/workspace/events/guides/reactivate-subscription).", + "description": "[Developer Preview](https://developers.google.com/workspace/preview): Reactivates a suspended Google Workspace subscription. This method resets your subscription's `State` field to `ACTIVE`. Before you use this method, you must fix the error that suspended the subscription. This method will ignore or reject any subscription that isn't currently in a suspended state. To learn how to use this method, see [Reactivate a Google Workspace subscription](https://developers.google.com/workspace/events/guides/reactivate-subscription).", "flatPath": "v1/subscriptions/{subscriptionsId}:reactivate", "httpMethod": "POST", "id": "workspaceevents.subscriptions.reactivate", @@ -417,6 +462,11 @@ "https://www.googleapis.com/auth/chat.messages.readonly", "https://www.googleapis.com/auth/chat.spaces", "https://www.googleapis.com/auth/chat.spaces.readonly", + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/drive.metadata", + "https://www.googleapis.com/auth/drive.metadata.readonly", + "https://www.googleapis.com/auth/drive.readonly", "https://www.googleapis.com/auth/meetings.space.created", "https://www.googleapis.com/auth/meetings.space.readonly" ] @@ -424,7 +474,7 @@ } } }, - "revision": "20240827", + "revision": "20241210", "rootUrl": "https://workspaceevents.googleapis.com/", "schemas": { "ListSubscriptionsResponse": { @@ -572,7 +622,7 @@ "type": "string" }, "name": { - "description": "Optional. Immutable. Identifier. Resource name of the subscription. Format: `subscriptions/{subscription}`", + "description": "Identifier. Resource name of the subscription. Format: `subscriptions/{subscription}`", "type": "string" }, "notificationEndpoint": { diff --git a/discovery/workstations-v1.json b/discovery/workstations-v1.json index 2b245913b6..fa148d5c35 100644 --- a/discovery/workstations-v1.json +++ b/discovery/workstations-v1.json @@ -180,7 +180,7 @@ "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`.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "workstations.projects.locations.operations.cancel", @@ -873,7 +873,7 @@ ] }, "generateAccessToken": { - "description": "Returns a short-lived credential that can be used to send authenticated and authorized traffic to a workstation.", + "description": "Returns a short-lived credential that can be used to send authenticated and authorized traffic to a workstation. Once generated this token cannot be revoked and is good for the lifetime of the token.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}/workstationConfigs/{workstationConfigsId}/workstations/{workstationsId}:generateAccessToken", "httpMethod": "POST", "id": "workstations.projects.locations.workstationClusters.workstationConfigs.workstations.generateAccessToken", @@ -1195,7 +1195,7 @@ } } }, - "revision": "20240904", + "revision": "20250101", "rootUrl": "https://workstations.googleapis.com/", "schemas": { "Accelerator": { @@ -1284,6 +1284,42 @@ }, "type": "object" }, + "BoostConfig": { + "description": "A boost configuration is a set of resources that a workstation can use to increase its performance. If you specify a boost configuration, upon startup, workstation users can choose to use a VM provisioned under the boost config by passing the boost config ID in the start request. If the workstation user does not provide a boost config ID in the start request, the system will choose a VM from the pool provisioned under the default config.", + "id": "BoostConfig", + "properties": { + "accelerators": { + "description": "Optional. A list of the type and count of accelerator cards attached to the boost instance. Defaults to `none`.", + "items": { + "$ref": "Accelerator" + }, + "type": "array" + }, + "bootDiskSizeGb": { + "description": "Optional. The size of the boot disk for the VM in gigabytes (GB). The minimum boot disk size is `30` GB. Defaults to `50` GB.", + "format": "int32", + "type": "integer" + }, + "enableNestedVirtualization": { + "description": "Optional. Whether to enable nested virtualization on boosted Cloud Workstations VMs running using this boost configuration. Defaults to false. Nested virtualization lets you run virtual machine (VM) instances inside your workstation. Before enabling nested virtualization, consider the following important considerations. Cloud Workstations instances are subject to the [same restrictions as Compute Engine instances](https://cloud.google.com/compute/docs/instances/nested-virtualization/overview#restrictions): * **Organization policy**: projects, folders, or organizations may be restricted from creating nested VMs if the **Disable VM nested virtualization** constraint is enforced in the organization policy. For more information, see the Compute Engine section, [Checking whether nested virtualization is allowed](https://cloud.google.com/compute/docs/instances/nested-virtualization/managing-constraint#checking_whether_nested_virtualization_is_allowed). * **Performance**: nested VMs might experience a 10% or greater decrease in performance for workloads that are CPU-bound and possibly greater than a 10% decrease for workloads that are input/output bound. * **Machine Type**: nested virtualization can only be enabled on boost configurations that specify a machine_type in the N1 or N2 machine series.", + "type": "boolean" + }, + "id": { + "description": "Required. The ID to be used for the boost configuration.", + "type": "string" + }, + "machineType": { + "description": "Optional. The type of machine that boosted VM instances will use—for example, `e2-standard-4`. For more information about machine types that Cloud Workstations supports, see the list of [available machine types](https://cloud.google.com/workstations/docs/available-machine-types). Defaults to `e2-standard-4`.", + "type": "string" + }, + "poolSize": { + "description": "Optional. The number of boost VMs that the system should keep idle so that workstations can be boosted quickly. Defaults to `0`.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "CancelOperationRequest": { "description": "The request message for Operations.CancelOperation.", "id": "CancelOperationRequest", @@ -1417,6 +1453,13 @@ }, "type": "array" }, + "boostConfigs": { + "description": "Optional. A list of the boost configurations that workstations created using this workstation configuration are allowed to use. If specified, users will have the option to choose from the list of boost configs when starting a workstation.", + "items": { + "$ref": "BoostConfig" + }, + "type": "array" + }, "bootDiskSizeGb": { "description": "Optional. The size of the boot disk for the VM in gigabytes (GB). The minimum boot disk size is `30` GB. Defaults to `50` GB.", "format": "int32", @@ -1485,6 +1528,28 @@ }, "type": "object" }, + "GceInstanceHost": { + "description": "The Compute Engine instance host.", + "id": "GceInstanceHost", + "properties": { + "id": { + "description": "Optional. Output only. The ID of the Compute Engine instance.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Optional. Output only. The name of the Compute Engine instance.", + "readOnly": true, + "type": "string" + }, + "zone": { + "description": "Optional. Output only. The zone of the Compute Engine instance.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GcePersistentDisk": { "description": "An EphemeralDirectory is backed by a Compute Engine persistent disk.", "id": "GcePersistentDisk", @@ -1895,7 +1960,7 @@ "type": "object" }, "PersistentDirectory": { - "description": "A directory to persist across workstation sessions.", + "description": "A directory to persist across workstation sessions. Updates to this field will not update existing workstations and will only take effect on new workstations.", "id": "PersistentDirectory", "properties": { "gcePd": { @@ -2001,6 +2066,17 @@ }, "type": "object" }, + "RuntimeHost": { + "description": "Runtime host for the workstation.", + "id": "RuntimeHost", + "properties": { + "gceInstanceHost": { + "$ref": "GceInstanceHost", + "description": "Specifies a Compute Engine instance as the host." + } + }, + "type": "object" + }, "SetIamPolicyRequest": { "description": "Request message for `SetIamPolicy` method.", "id": "SetIamPolicyRequest", @@ -2021,6 +2097,10 @@ "description": "Request message for StartWorkstation.", "id": "StartWorkstationRequest", "properties": { + "boostConfig": { + "description": "Optional. If set, the workstation starts using the boost configuration with the specified ID.", + "type": "string" + }, "etag": { "description": "Optional. If set, the request will be rejected if the latest version of the workstation on the server does not have this ETag.", "type": "string" @@ -2166,6 +2246,15 @@ "readOnly": true, "type": "boolean" }, + "runtimeHost": { + "$ref": "RuntimeHost", + "description": "Optional. Output only. Runtime host for the workstation when in STATE_RUNNING.", + "readOnly": true + }, + "sourceWorkstation": { + "description": "Optional. The source workstation from which this workstation's persistent directories were cloned on creation.", + "type": "string" + }, "startTime": { "description": "Output only. Time when this workstation was most recently successfully started, regardless of the workstation's initial state.", "format": "google-datetime", @@ -2286,6 +2375,13 @@ "description": "Immutable. Name of the Compute Engine subnetwork in which instances associated with this workstation cluster will be created. Must be part of the subnetwork specified for this workstation cluster.", "type": "string" }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Tag keys/values directly bound to this resource. For example: \"123/environment\": \"production\", \"123/costCenter\": \"marketing\"", + "type": "object" + }, "uid": { "description": "Output only. A system-assigned unique identifier for this workstation cluster.", "readOnly": true, diff --git a/discovery/workstations-v1beta.json b/discovery/workstations-v1beta.json index da19146f3e..38e6ddf01e 100644 --- a/discovery/workstations-v1beta.json +++ b/discovery/workstations-v1beta.json @@ -112,7 +112,7 @@ "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`.", + "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": "v1beta/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel", "httpMethod": "POST", "id": "workstations.projects.locations.operations.cancel", @@ -805,7 +805,7 @@ ] }, "generateAccessToken": { - "description": "Returns a short-lived credential that can be used to send authenticated and authorized traffic to a workstation.", + "description": "Returns a short-lived credential that can be used to send authenticated and authorized traffic to a workstation. Once generated this token cannot be revoked and is good for the lifetime of the token.", "flatPath": "v1beta/projects/{projectsId}/locations/{locationsId}/workstationClusters/{workstationClustersId}/workstationConfigs/{workstationConfigsId}/workstations/{workstationsId}:generateAccessToken", "httpMethod": "POST", "id": "workstations.projects.locations.workstationClusters.workstationConfigs.workstations.generateAccessToken", @@ -1127,7 +1127,7 @@ } } }, - "revision": "20240904", + "revision": "20250101", "rootUrl": "https://workstations.googleapis.com/", "schemas": { "Accelerator": { @@ -1217,7 +1217,7 @@ "type": "object" }, "BoostConfig": { - "description": "A configuration that workstations can boost to.", + "description": "A boost configuration is a set of resources that a workstation can use to increase its performance. If you specify a boost configuration, upon startup, workstation users can choose to use a VM provisioned under the boost config by passing the boost config ID in the start request. If the workstation user does not provide a boost config ID in the start request, the system will choose a VM from the pool provisioned under the default config.", "id": "BoostConfig", "properties": { "accelerators": { @@ -1237,7 +1237,7 @@ "type": "boolean" }, "id": { - "description": "Optional. Required. The id to be used for the boost configuration.", + "description": "Required. The ID to be used for the boost configuration.", "type": "string" }, "machineType": { @@ -1386,7 +1386,7 @@ "type": "array" }, "boostConfigs": { - "description": "Optional. A list of the boost configurations that workstations created using this workstation configuration are allowed to use.", + "description": "Optional. A list of the boost configurations that workstations created using this workstation configuration are allowed to use. If specified, users will have the option to choose from the list of boost configs when starting a workstation.", "items": { "$ref": "BoostConfig" }, @@ -1460,6 +1460,28 @@ }, "type": "object" }, + "GceInstanceHost": { + "description": "The Compute Engine instance host.", + "id": "GceInstanceHost", + "properties": { + "id": { + "description": "Optional. Output only. The ID of the Compute Engine instance.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Optional. Output only. The name of the Compute Engine instance.", + "readOnly": true, + "type": "string" + }, + "zone": { + "description": "Optional. Output only. The zone of the Compute Engine instance.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GcePersistentDisk": { "description": "An EphemeralDirectory is backed by a Compute Engine persistent disk.", "id": "GcePersistentDisk", @@ -1602,6 +1624,10 @@ "allowedUnauthenticatedCorsPreflightRequests": { "description": "Optional. By default, the workstations service makes sure that all requests to the workstation are authenticated. CORS preflight requests do not include cookies or custom headers, and so are considered unauthenticated and blocked by the workstations service. Enabling this option allows these unauthenticated CORS preflight requests through to the workstation, where it becomes the responsibility of the destination server in the workstation to validate the request.", "type": "boolean" + }, + "disableLocalhostReplacement": { + "description": "Optional. By default, the workstations service replaces references to localhost, 127.0.0.1, and 0.0.0.0 with the workstation's hostname in http responses from the workstation so that applications under development run properly on the workstation. This may intefere with some applications, and so this option allows that behavior to be disabled.", + "type": "boolean" } }, "type": "object" @@ -1829,7 +1855,7 @@ "type": "object" }, "PersistentDirectory": { - "description": "A directory to persist across workstation sessions.", + "description": "A directory to persist across workstation sessions. Updates to this field will not update existing workstations and will only take effect on new workstations.", "id": "PersistentDirectory", "properties": { "gcePd": { @@ -1935,6 +1961,17 @@ }, "type": "object" }, + "RuntimeHost": { + "description": "Runtime host for the workstation.", + "id": "RuntimeHost", + "properties": { + "gceInstanceHost": { + "$ref": "GceInstanceHost", + "description": "Specifies a Compute Engine instance as the host." + } + }, + "type": "object" + }, "SetIamPolicyRequest": { "description": "Request message for `SetIamPolicy` method.", "id": "SetIamPolicyRequest", @@ -2112,6 +2149,11 @@ "readOnly": true, "type": "boolean" }, + "runtimeHost": { + "$ref": "RuntimeHost", + "description": "Optional. Output only. Runtime host for the workstation when in STATE_RUNNING.", + "readOnly": true + }, "satisfiesPzi": { "description": "Output only. Reserved for future use.", "readOnly": true, @@ -2268,6 +2310,13 @@ "description": "Immutable. Name of the Compute Engine subnetwork in which instances associated with this workstation cluster will be created. Must be part of the subnetwork specified for this workstation cluster.", "type": "string" }, + "tags": { + "additionalProperties": { + "type": "string" + }, + "description": "Optional. Tag keys/values directly bound to this resource. For example: \"123/environment\": \"production\", \"123/costCenter\": \"marketing\"", + "type": "object" + }, "uid": { "description": "Output only. A system-assigned unique identifier for this workstation cluster.", "readOnly": true, diff --git a/discovery/youtube-v3.json b/discovery/youtube-v3.json index ac111201fa..a4e02c173c 100644 --- a/discovery/youtube-v3.json +++ b/discovery/youtube-v3.json @@ -1757,7 +1757,7 @@ }, "maxResults": { "default": "500", - "description": "The *maxResults* parameter specifies the maximum number of items that should be returned in the result set.", + "description": "The *maxResults* parameter specifies the maximum number of items that should be returned in the result set. Not used in the streaming RPC.", "format": "uint32", "location": "query", "maximum": "2000", @@ -4072,7 +4072,7 @@ } } }, - "revision": "20240926", + "revision": "20250101", "rootUrl": "https://youtube.googleapis.com/", "schemas": { "AbuseReport": { @@ -5551,6 +5551,10 @@ "$ref": "ChannelToStoreLinkDetailsBillingDetails", "description": "Information specific to billing (read-only)." }, + "merchantAffiliateProgramDetails": { + "$ref": "ChannelToStoreLinkDetailsMerchantAffiliateProgramDetails", + "description": "Information specific to merchant affiliate program (read-only)." + }, "merchantId": { "description": "Google Merchant Center id of the store.", "format": "uint64", @@ -5590,6 +5594,29 @@ }, "type": "object" }, + "ChannelToStoreLinkDetailsMerchantAffiliateProgramDetails": { + "description": "Information specific to merchant affiliate program.", + "id": "ChannelToStoreLinkDetailsMerchantAffiliateProgramDetails", + "properties": { + "status": { + "description": "The current merchant affiliate program status.", + "enum": [ + "merchantAffiliateProgramStatusUnspecified", + "merchantAffiliateProgramStatusEligible", + "merchantAffiliateProgramStatusActive", + "merchantAffiliateProgramStatusPaused" + ], + "enumDescriptions": [ + "Unspecified status.", + "Merchant is eligible for the merchant affiliate program.", + "Merchant affiliate program is active.", + "Merchant affiliate program is paused." + ], + "type": "string" + } + }, + "type": "object" + }, "ChannelTopicDetails": { "description": "Freebase topic information related to the channel.", "id": "ChannelTopicDetails", @@ -8057,7 +8084,7 @@ "type": "object" }, "InvideoBranding": { - "description": "LINT.IfChange Describes an invideo branding.", + "description": "Describes an invideo branding.", "id": "InvideoBranding", "properties": { "imageBytes": { @@ -8071,6 +8098,7 @@ }, "position": { "$ref": "InvideoPosition", + "deprecated": true, "description": "The spatial position within the video where the branding watermark will be displayed." }, "targetChannelId": { @@ -10014,7 +10042,7 @@ }, "kind": { "default": "youtube#playlistItemListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#playlistItemListResponse\". Etag of this resource.", + "description": "Identifies what kind of resource this is. Value: the fixed string \"youtube#playlistItemListResponse\".", "type": "string" }, "nextPageToken": { @@ -10762,6 +10790,10 @@ "TestItem": { "id": "TestItem", "properties": { + "etag": { + "description": "Etag for the resource. See https://en.wikipedia.org/wiki/HTTP_ETag.", + "type": "string" + }, "featuredPart": { "type": "boolean" }, @@ -11639,7 +11671,7 @@ "type": "string" }, "scheduledEndTime": { - "description": "The time that the broadcast is scheduled to end. If the value is empty or the property is not present, then the broadcast is scheduled to contiue indefinitely.", + "description": "The time that the broadcast is scheduled to end. If the value is empty or the property is not present, then the broadcast is scheduled to continue indefinitely.", "format": "date-time", "type": "string" }, @@ -11952,6 +11984,10 @@ "description": "Basic details about a video category, such as its localized title. Next Id: 19", "id": "VideoStatus", "properties": { + "containsSyntheticMedia": { + "description": "Indicates if the video contains altered or synthetic media.", + "type": "boolean" + }, "embeddable": { "description": "This value indicates if the video can be embedded on another website. @mutable youtube.videos.insert youtube.videos.update", "type": "boolean" @@ -12183,7 +12219,7 @@ "type": "object" }, "VideoSuggestionsTagSuggestion": { - "description": "A single tag suggestion with it's relevance information.", + "description": "A single tag suggestion with its relevance information.", "id": "VideoSuggestionsTagSuggestion", "properties": { "categoryRestricts": { diff --git a/src/apis/accesscontextmanager/v1.ts b/src/apis/accesscontextmanager/v1.ts index 2614c5e1b1..237284f5ee 100644 --- a/src/apis/accesscontextmanager/v1.ts +++ b/src/apis/accesscontextmanager/v1.ts @@ -202,9 +202,9 @@ export namespace accesscontextmanager_v1 { */ accessLevels?: string[] | null; /** - * Optional. Reauth settings applied to user access on a given AccessScope. + * Optional. Session settings applied to user access on a given AccessScope. */ - reauthSettings?: Schema$ReauthSettings; + sessionSettings?: Schema$SessionSettings; } /** * Identification for an API Operation. @@ -448,6 +448,10 @@ export namespace accesscontextmanager_v1 { * Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply. */ egressTo?: Schema$EgressTo; + /** + * Optional. Human-readable title for the egress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters. + */ + title?: string | null; } /** * The source that EgressPolicy authorizes access from inside the ServicePerimeter to somewhere outside the ServicePerimeter boundaries. @@ -520,10 +524,6 @@ export namespace accesscontextmanager_v1 { * Immutable. Assigned by the server during creation. The last segment has an arbitrary length and has only URI unreserved characters (as defined by [RFC 3986 Section 2.3](https://tools.ietf.org/html/rfc3986#section-2.3)). Should not be specified by the client during creation. Example: "organizations/256/gcpUserAccessBindings/b3-BhcX_Ud5N" */ name?: string | null; - /** - * Optional. GCSL policy for the group key. - */ - reauthSettings?: Schema$ReauthSettings; /** * Optional. A list of applications that are subject to this binding's restrictions. If the list is empty, the binding restrictions will universally apply to all applications. */ @@ -532,9 +532,13 @@ export namespace accesscontextmanager_v1 { * Optional. A list of scoped access settings that set this binding's restrictions on a subset of applications. This field cannot be set if restricted_client_applications is set. */ scopedAccessSettings?: Schema$ScopedAccessSettings[]; + /** + * Optional. The Google Cloud session length (GCSL) policy for the group key. + */ + sessionSettings?: Schema$SessionSettings; } /** - * Metadata of GCP Access Binding Long Running Operations. + * Metadata of Google Cloud Access Binding Long Running Operations. */ export interface Schema$GcpUserAccessBindingOperationMetadata {} /** @@ -584,6 +588,10 @@ export namespace accesscontextmanager_v1 { * Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply. */ ingressTo?: Schema$IngressTo; + /** + * Optional. Human-readable title for the ingress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters. + */ + title?: string | null; } /** * The source that IngressPolicy authorizes access from. @@ -778,31 +786,6 @@ export namespace accesscontextmanager_v1 { */ version?: number | null; } - /** - * Stores settings related to Google Cloud Session Length including session duration, the type of challenge (i.e. method) they should face when their session expires, and other related settings. - */ - export interface Schema$ReauthSettings { - /** - * Optional. How long a user is allowed to take between actions before a new access token must be issued. Presently only set for Cloud Apps. - */ - maxInactivity?: string | null; - /** - * Optional. Reauth method when users GCP session is up. - */ - reauthMethod?: string | null; - /** - * Optional. The session length. Setting this field to zero is equal to disabling. Reauth. Also can set infinite session by flipping the enabled bit to false below. If use_oidc_max_age is true, for OIDC apps, the session length will be the minimum of this field and OIDC max_age param. - */ - sessionLength?: string | null; - /** - * Optional. Big red button to turn off GCSL. When false, all fields set above will be disregarded and the session length is basically infinite. - */ - sessionLengthEnabled?: boolean | null; - /** - * Optional. Only useful for OIDC apps. When false, the OIDC max_age param, if passed in the authentication request will be ignored. When true, the re-auth period will be the minimum of the session_length field and the max_age OIDC param. - */ - useOidcMaxAge?: boolean | null; - } /** * A request to replace all existing Access Levels in an Access Policy with the Access Levels provided. This is done atomically. */ @@ -872,6 +855,10 @@ export namespace accesscontextmanager_v1 { * Description of the `ServicePerimeter` and its use. Does not affect behavior. */ description?: string | null; + /** + * Optional. An opaque identifier for the current version of the `ServicePerimeter`. This identifier does not follow any specific format. If an etag is not provided, the operation will be performed as if a valid etag is provided. + */ + etag?: string | null; /** * Identifier. Resource name for the `ServicePerimeter`. Format: `accessPolicies/{access_policy\}/servicePerimeters/{service_perimeter\}`. The `service_perimeter` component must begin with a letter, followed by alphanumeric characters or `_`. After you create a `ServicePerimeter`, you cannot change its `name`. */ @@ -926,6 +913,31 @@ export namespace accesscontextmanager_v1 { */ vpcAccessibleServices?: Schema$VpcAccessibleServices; } + /** + * Stores settings related to Google Cloud Session Length including session duration, the type of challenge (i.e. method) they should face when their session expires, and other related settings. + */ + export interface Schema$SessionSettings { + /** + * Optional. How long a user is allowed to take between actions before a new access token must be issued. Only set for Google Cloud apps. + */ + maxInactivity?: string | null; + /** + * Optional. The session length. Setting this field to zero is equal to disabling session. Also can set infinite session by flipping the enabled bit to false below. If use_oidc_max_age is true, for OIDC apps, the session length will be the minimum of this field and OIDC max_age param. + */ + sessionLength?: string | null; + /** + * Optional. This field enables or disables Google Cloud session length. When false, all fields set above will be disregarded and the session length is basically infinite. + */ + sessionLengthEnabled?: boolean | null; + /** + * Optional. Session method when user's Google Cloud session is up. + */ + sessionReauthMethod?: string | null; + /** + * Optional. Only useful for OIDC apps. When false, the OIDC max_age param, if passed in the authentication request will be ignored. When true, the re-auth period will be the minimum of the session_length field and the max_age OIDC param. + */ + useOidcMaxAge?: boolean | null; + } /** * Request message for `SetIamPolicy` method. */ @@ -3928,7 +3940,7 @@ export namespace accesscontextmanager_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -4833,15 +4845,15 @@ export namespace accesscontextmanager_v1 { export interface Params$Resource$Organizations$Gcpuseraccessbindings$Patch extends StandardParameters { /** - * Optional. This field will be used to control whether or not scoped access settings are appended to the existing list of scoped access settings. If true, the scoped access settings in the request will be appended to the existing list of scoped access settings. If false, the scoped access settings in the request replace the existing list of scoped access settings. + * Optional. This field controls whether or not certain repeated settings in the update request overwrite or append to existing settings on the binding. If true, then append. Otherwise overwrite. So far, only scoped_access_settings with reauth_settings supports appending. Global access_levels, access_levels in scoped_access_settings, dry_run_access_levels, reauth_settings, and session_settings are not compatible with append functionality, and the request will return an error if append=true when these settings are in the update_mask. The request will also return an error if append=true when "scoped_access_settings" is not set in the update_mask. */ - appendScopedAccessSettings?: boolean; + append?: boolean; /** * Immutable. Assigned by the server during creation. The last segment has an arbitrary length and has only URI unreserved characters (as defined by [RFC 3986 Section 2.3](https://tools.ietf.org/html/rfc3986#section-2.3)). Should not be specified by the client during creation. Example: "organizations/256/gcpUserAccessBindings/b3-BhcX_Ud5N" */ name?: string; /** - * Required. Only the fields specified in this mask are updated. Because name and group_key cannot be changed, update_mask is required and may only contain the following fields: `access_levels`, `dry_run_access_levels`, `reauth_settings`, `scoped_access_settings`. update_mask { paths: "access_levels" \} + * Required. Only the fields specified in this mask are updated. Because name and group_key cannot be changed, update_mask is required and may only contain the following fields: `access_levels`, `dry_run_access_levels`, `reauth_settings` `session_settings`, `scoped_access_settings`. update_mask { paths: "access_levels" \} */ updateMask?: string; diff --git a/src/apis/addressvalidation/v1.ts b/src/apis/addressvalidation/v1.ts index 3c283b6eab..c23e5db296 100644 --- a/src/apis/addressvalidation/v1.ts +++ b/src/apis/addressvalidation/v1.ts @@ -146,7 +146,7 @@ export namespace addressvalidation_v1 { */ addressComponents?: Schema$GoogleMapsAddressvalidationV1AddressComponent[]; /** - * The post-processed address, formatted as a single-line address following the address formatting rules of the region where the address is located. + * The post-processed address, formatted as a single-line address following the address formatting rules of the region where the address is located. Note: the format of this address may not match the format of the address in the `postal_address` field. For example, the `postal_address` always represents the country as a 2 letter `region_code`, such as "US" or "NZ". By contrast, this field uses a longer form of the country name, such as "USA" or "New Zealand". */ formattedAddress?: string | null; /** @@ -162,7 +162,7 @@ export namespace addressvalidation_v1 { */ unconfirmedComponentTypes?: string[] | null; /** - * Any tokens in the input that could not be resolved. This might be an input that was not recognized as a valid part of an address (for example in an input like "123235253253 Main St, San Francisco, CA, 94105", the unresolved tokens may look like `["123235253253"]` since that does not look like a valid street number. + * Any tokens in the input that could not be resolved. This might be an input that was not recognized as a valid part of an address. For example, for an input such as "Parcel 0000123123 & 0000456456 Str # Guthrie Center IA 50115 US", the unresolved tokens might look like `["Parcel", "0000123123", "&", "0000456456"]`. */ unresolvedTokens?: string[] | null; } @@ -605,15 +605,15 @@ export namespace addressvalidation_v1 { longitude?: number | null; } /** - * Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478 + * Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478 */ export interface Schema$GoogleTypePostalAddress { /** - * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). + * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). */ addressLines?: string[] | null; /** - * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated. + * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated. */ administrativeArea?: string | null; /** @@ -629,7 +629,7 @@ export namespace addressvalidation_v1 { */ organization?: string | null; /** - * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.). + * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.). */ postalCode?: string | null; /** @@ -645,7 +645,7 @@ export namespace addressvalidation_v1 { */ revision?: number | null; /** - * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (e.g. Côte d'Ivoire). + * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (For example "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (For example Côte d'Ivoire). */ sortingCode?: string | null; /** diff --git a/src/apis/admin/directory_v1.ts b/src/apis/admin/directory_v1.ts index dd1429b56d..14a3267990 100644 --- a/src/apis/admin/directory_v1.ts +++ b/src/apis/admin/directory_v1.ts @@ -473,6 +473,19 @@ export namespace admin_directory_v1 { */ nextPageToken?: string | null; } + /** + * Represents a data capacity with some amount of current usage in bytes. + */ + export interface Schema$ByteUsage { + /** + * Output only. The total capacity value, in bytes. + */ + capacityBytes?: string | null; + /** + * Output only. The current usage value, in bytes. + */ + usedBytes?: string | null; + } /** * Public API: Resources.calendars */ @@ -708,6 +721,10 @@ export namespace admin_directory_v1 { * Output only. Device license type. */ deviceLicenseType?: string | null; + /** + * Output only. How much disk space the device has available and is currently using. + */ + diskSpaceUsage?: Schema$ByteUsage; /** * Reports of disk space and other info about mounted/connected volumes. */ @@ -1651,7 +1668,7 @@ export namespace admin_directory_v1 { */ export interface Schema$OrgUnit { /** - * Determines if a sub-organizational unit can inherit the settings of the parent organization. The default value is `false`, meaning a sub-organizational unit inherits the settings of the nearest parent organizational unit. This field is deprecated. Setting it to `true` is no longer supported and can have _unintended consequences_. For more information about inheritance and users in an organization structure, see the [administration help center](https://support.google.com/a/answer/4352075). + * This field is deprecated and setting its value has no effect. */ blockInheritance?: boolean | null; /** @@ -1936,6 +1953,10 @@ export namespace admin_directory_v1 { * Output only. The type of the assignee (`USER` or `GROUP`). */ assigneeType?: string | null; + /** + * Optional. The condition associated with this role assignment. Note: Feature is available to Enterprise Standard, Enterprise Plus, Google Workspace for Education Plus and Cloud Identity Premium customers. A `RoleAssignment` with the `condition` field set will only take effect when the resource being accessed meets the condition. If `condition` is empty, the role (`role_id`) is applied to the actor (`assigned_to`) at the scope (`scope_type`) unconditionally. Currently, the following conditions are supported: - To make the `RoleAssignment` only applicable to [Security Groups](https://cloud.google.com/identity/docs/groups#group_types): `api.getAttribute('cloudidentity.googleapis.com/groups.labels', []).hasAny(['groups.security']) && resource.type == 'cloudidentity.googleapis.com/Group'` - To make the `RoleAssignment` not applicable to [Security Groups](https://cloud.google.com/identity/docs/groups#group_types): `!api.getAttribute('cloudidentity.googleapis.com/groups.labels', []).hasAny(['groups.security']) && resource.type == 'cloudidentity.googleapis.com/Group'` Currently, the condition strings have to be verbatim and they only work with the following [pre-built administrator roles](https://support.google.com/a/answer/2405986): - Groups Editor - Groups Reader The condition follows [Cloud IAM condition syntax](https://cloud.google.com/iam/docs/conditions-overview). Additional conditions related to Locked Groups are available under Open Beta. - To make the `RoleAssignment` not applicable to [Locked Groups](https://cloud.google.com/identity/docs/groups#group_types): `!api.getAttribute('cloudidentity.googleapis.com/groups.labels', []).hasAny(['groups.locked']) && resource.type == 'cloudidentity.googleapis.com/Group'` This condition can also be used in conjunction with a Security-related condition. + */ + condition?: string | null; /** * ETag of the resource. */ diff --git a/src/apis/adsense/v2.ts b/src/apis/adsense/v2.ts index 6bb5feaa26..d1e7d6dd36 100644 --- a/src/apis/adsense/v2.ts +++ b/src/apis/adsense/v2.ts @@ -694,11 +694,11 @@ export namespace adsense_v2 { */ export interface Schema$TimeZone { /** - * IANA Time Zone Database time zone, e.g. "America/New_York". + * IANA Time Zone Database time zone. For example "America/New_York". */ id?: string | null; /** - * Optional. IANA Time Zone Database version number, e.g. "2019a". + * Optional. IANA Time Zone Database version number. For example "2019a". */ version?: string | null; } diff --git a/src/apis/adsenseplatform/v1.ts b/src/apis/adsenseplatform/v1.ts index b5d4d39f88..cc5b42582e 100644 --- a/src/apis/adsenseplatform/v1.ts +++ b/src/apis/adsenseplatform/v1.ts @@ -305,11 +305,11 @@ export namespace adsenseplatform_v1 { */ export interface Schema$TimeZone { /** - * IANA Time Zone Database time zone, e.g. "America/New_York". + * IANA Time Zone Database time zone. For example "America/New_York". */ id?: string | null; /** - * Optional. IANA Time Zone Database version number, e.g. "2019a". + * Optional. IANA Time Zone Database version number. For example "2019a". */ version?: string | null; } diff --git a/src/apis/adsenseplatform/v1alpha.ts b/src/apis/adsenseplatform/v1alpha.ts index 273ecdcdda..54153071c7 100644 --- a/src/apis/adsenseplatform/v1alpha.ts +++ b/src/apis/adsenseplatform/v1alpha.ts @@ -112,6 +112,7 @@ export namespace adsenseplatform_v1alpha { */ export class Adsenseplatform { context: APIRequestContext; + accounts: Resource$Accounts; platforms: Resource$Platforms; constructor(options: GlobalOptions, google?: GoogleConfigurable) { @@ -120,6 +121,7 @@ export namespace adsenseplatform_v1alpha { google, }; + this.accounts = new Resource$Accounts(this.context); this.platforms = new Resource$Platforms(this.context); } } @@ -257,6 +259,19 @@ export namespace adsenseplatform_v1alpha { */ nextPageToken?: string | null; } + /** + * Response definition for the platform list rpc. + */ + export interface Schema$ListPlatformsResponse { + /** + * Continuation token used to page through platforms. To retrieve the next page of the results, set the next request's "page_token" value to this. + */ + nextPageToken?: string | null; + /** + * The platforms returned in this list response. + */ + platforms?: Schema$Platform[]; + } /** * Response definition for the site list rpc. */ @@ -279,6 +294,23 @@ export namespace adsenseplatform_v1alpha { */ name?: string | null; } + /** + * Representation of a Transparent Platform. + */ + export interface Schema$Platform { + /** + * Default platform group for the platform. + */ + defaultPlatformGroup?: string | null; + /** + * Output only. Description of the platform. + */ + description?: string | null; + /** + * Identifier. Resource name of a platform. Format: accounts/{account\}/platforms/{platform\} + */ + name?: string | null; + } /** * Response definition for the site request review rpc. */ @@ -305,15 +337,234 @@ export namespace adsenseplatform_v1alpha { */ export interface Schema$TimeZone { /** - * IANA Time Zone Database time zone, e.g. "America/New_York". + * IANA Time Zone Database time zone. For example "America/New_York". */ id?: string | null; /** - * Optional. IANA Time Zone Database version number, e.g. "2019a". + * Optional. IANA Time Zone Database version number. For example "2019a". */ version?: string | null; } + export class Resource$Accounts { + context: APIRequestContext; + platforms: Resource$Accounts$Platforms; + constructor(context: APIRequestContext) { + this.context = context; + this.platforms = new Resource$Accounts$Platforms(this.context); + } + } + + export class Resource$Accounts$Platforms { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets a platform. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Accounts$Platforms$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Accounts$Platforms$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Accounts$Platforms$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Platforms$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Platforms$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Accounts$Platforms$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Platforms$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Platforms$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://adsenseplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists platforms for a specified account. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Accounts$Platforms$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Accounts$Platforms$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Accounts$Platforms$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Platforms$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Platforms$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Accounts$Platforms$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Platforms$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Platforms$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://adsenseplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+parent}/platforms').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Accounts$Platforms$Get + extends StandardParameters { + /** + * Required. The name of the platform to retrieve. Format: accounts/{account\}/platforms/{platform\} + */ + name?: string; + } + export interface Params$Resource$Accounts$Platforms$List + extends StandardParameters { + /** + * Optional. The maximum number of platforms to include in the response, used for paging. If unspecified, at most 10000 platforms will be returned. The maximum value is 10000; values above 10000 will be coerced to 10000. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `ListPlatforms` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListPlatforms` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The account which owns the platforms. Format: accounts/{account\} + */ + parent?: string; + } + export class Resource$Platforms { context: APIRequestContext; accounts: Resource$Platforms$Accounts; diff --git a/src/apis/aiplatform/v1.ts b/src/apis/aiplatform/v1.ts index d0939bc587..3f409a03b0 100644 --- a/src/apis/aiplatform/v1.ts +++ b/src/apis/aiplatform/v1.ts @@ -114,6 +114,7 @@ export namespace aiplatform_v1 { context: APIRequestContext; datasets: Resource$Datasets; endpoints: Resource$Endpoints; + media: Resource$Media; projects: Resource$Projects; publishers: Resource$Publishers; @@ -125,6 +126,7 @@ export namespace aiplatform_v1 { this.datasets = new Resource$Datasets(this.context); this.endpoints = new Resource$Endpoints(this.context); + this.media = new Resource$Media(this.context); this.projects = new Resource$Projects(this.context); this.publishers = new Resource$Publishers(this.context); } @@ -167,6 +169,10 @@ export namespace aiplatform_v1 { * RAI scores for generated image. */ imageRaiScores?: Schema$CloudAiLargeModelsVisionImageRAIScores; + /** + * Image size. The size of the image. Can be self reported, or computed from the image bytes. + */ + imageSize?: Schema$CloudAiLargeModelsVisionImageImageSize; /** * RAI info for image. */ @@ -184,6 +190,14 @@ export namespace aiplatform_v1 { */ uri?: string | null; } + /** + * Image size. + */ + export interface Schema$CloudAiLargeModelsVisionImageImageSize { + channels?: number | null; + height?: number | null; + width?: number | null; + } /** * RAI scores for generated image returned. */ @@ -313,6 +327,14 @@ export namespace aiplatform_v1 { * Video */ export interface Schema$CloudAiLargeModelsVisionVideo { + /** + * Base 64 encoded video bytes. + */ + encodedVideo?: string | null; + /** + * Video encoding, for example "video/mp4". + */ + encoding?: string | null; /** * Path to another storage (typically Google Cloud Storage). */ @@ -487,6 +509,24 @@ export namespace aiplatform_v1 { */ updateTime?: string | null; } + /** + * The generic reusable api auth config. + */ + export interface Schema$GoogleCloudAiplatformV1ApiAuth { + /** + * The API secret. + */ + apiKeyConfig?: Schema$GoogleCloudAiplatformV1ApiAuthApiKeyConfig; + } + /** + * The API secret. + */ + export interface Schema$GoogleCloudAiplatformV1ApiAuthApiKeyConfig { + /** + * Required. The SecretManager secret version resource name storing API key. e.g. projects/{project\}/secrets/{secret\}/versions/{version\} + */ + apiKeySecretVersion?: string | null; + } /** * Instance of a general artifact. */ @@ -603,6 +643,49 @@ export namespace aiplatform_v1 { */ outputName?: string | null; } + /** + * Request message for AugmentPrompt. + */ + export interface Schema$GoogleCloudAiplatformV1AugmentPromptRequest { + /** + * Optional. Input content to augment, only text format is supported for now. + */ + contents?: Schema$GoogleCloudAiplatformV1Content[]; + /** + * Optional. Metadata of the backend deployed model. + */ + model?: Schema$GoogleCloudAiplatformV1AugmentPromptRequestModel; + /** + * Optional. Retrieves contexts from the Vertex RagStore. + */ + vertexRagStore?: Schema$GoogleCloudAiplatformV1VertexRagStore; + } + /** + * Metadata of the backend deployed model. + */ + export interface Schema$GoogleCloudAiplatformV1AugmentPromptRequestModel { + /** + * Optional. The model that the user will send the augmented prompt for content generation. + */ + model?: string | null; + /** + * Optional. The model version of the backend deployed model. + */ + modelVersion?: string | null; + } + /** + * Response message for AugmentPrompt. + */ + export interface Schema$GoogleCloudAiplatformV1AugmentPromptResponse { + /** + * Augmented prompt, only text format is supported for now. + */ + augmentedPrompt?: Schema$GoogleCloudAiplatformV1Content[]; + /** + * Retrieved facts from RAG data sources. + */ + facts?: Schema$GoogleCloudAiplatformV1Fact[]; + } /** * A description of resources that to large degree are decided by Vertex AI, and require only a modest additional configuration. Each Model supporting these resources documents its specific guidelines. */ @@ -802,7 +885,7 @@ export namespace aiplatform_v1 { */ model?: string | null; /** - * It's the same as the value in MigrateResourceRequest.migrate_resource_requests. + * It's the same as the value in BatchMigrateResourcesRequest.migrate_resource_requests. */ request?: Schema$GoogleCloudAiplatformV1MigrateResourceRequest; } @@ -1166,7 +1249,7 @@ export namespace aiplatform_v1 { useEffectiveOrder?: boolean | null; } /** - * Content blob. It's preferred to send as text directly rather than raw bytes. + * Content blob. */ export interface Schema$GoogleCloudAiplatformV1Blob { /** @@ -1196,6 +1279,97 @@ export namespace aiplatform_v1 { */ values?: boolean[] | null; } + /** + * Config of GenAI caching features. This is a singleton resource. + */ + export interface Schema$GoogleCloudAiplatformV1CacheConfig { + /** + * If set to true, disables GenAI caching. Otherwise caching is enabled. + */ + disableCache?: boolean | null; + /** + * Identifier. Name of the cache config. Format: - `projects/{project\}/cacheConfig`. + */ + name?: string | null; + } + /** + * A resource used in LLM queries for users to explicitly specify what to cache and how to cache. + */ + export interface Schema$GoogleCloudAiplatformV1CachedContent { + /** + * Optional. Input only. Immutable. The content to cache + */ + contents?: Schema$GoogleCloudAiplatformV1Content[]; + /** + * Output only. Creatation time of the cache entry. + */ + createTime?: string | null; + /** + * Optional. Immutable. The user-generated meaningful display name of the cached content. + */ + displayName?: string | null; + /** + * Timestamp of when this resource is considered expired. This is *always* provided on output, regardless of what was sent on input. + */ + expireTime?: string | null; + /** + * Immutable. The name of the publisher model to use for cached content. Format: projects/{project\}/locations/{location\}/publishers/{publisher\}/models/{model\} + */ + model?: string | null; + /** + * Immutable. Identifier. The server-generated resource name of the cached content Format: projects/{project\}/locations/{location\}/cachedContents/{cached_content\} + */ + name?: string | null; + /** + * Optional. Input only. Immutable. Developer set system instruction. Currently, text only + */ + systemInstruction?: Schema$GoogleCloudAiplatformV1Content; + /** + * Optional. Input only. Immutable. Tool config. This config is shared for all tools + */ + toolConfig?: Schema$GoogleCloudAiplatformV1ToolConfig; + /** + * Optional. Input only. Immutable. A list of `Tools` the model may use to generate the next response + */ + tools?: Schema$GoogleCloudAiplatformV1Tool[]; + /** + * Input only. The TTL for this resource. The expiration time is computed: now + TTL. + */ + ttl?: string | null; + /** + * Output only. When the cache entry was last updated in UTC time. + */ + updateTime?: string | null; + /** + * Output only. Metadata on the usage of the cached content. + */ + usageMetadata?: Schema$GoogleCloudAiplatformV1CachedContentUsageMetadata; + } + /** + * Metadata on the usage of the cached content. + */ + export interface Schema$GoogleCloudAiplatformV1CachedContentUsageMetadata { + /** + * Duration of audio in seconds. + */ + audioDurationSeconds?: number | null; + /** + * Number of images. + */ + imageCount?: number | null; + /** + * Number of text characters. + */ + textCount?: number | null; + /** + * Total number of tokens that the cached content consumes. + */ + totalTokenCount?: number | null; + /** + * Duration of video in seconds. + */ + videoDurationSeconds?: number | null; + } /** * Request message for JobService.CancelBatchPredictionJob. */ @@ -1337,6 +1511,36 @@ export namespace aiplatform_v1 { */ citations?: Schema$GoogleCloudAiplatformV1Citation[]; } + /** + * Claim that is extracted from the input text and facts that support it. + */ + export interface Schema$GoogleCloudAiplatformV1Claim { + /** + * Index in the input text where the claim ends (exclusive). + */ + endIndex?: number | null; + /** + * Indexes of the facts supporting this claim. + */ + factIndexes?: number[] | null; + /** + * Confidence score of this corroboration. + */ + score?: number | null; + /** + * Index in the input text where the claim starts (inclusive). + */ + startIndex?: number | null; + } + /** + * Configurations (e.g. inference timeout) that are applied on your endpoints. + */ + export interface Schema$GoogleCloudAiplatformV1ClientConnectionConfig { + /** + * Customizable online prediction request timeout. + */ + inferenceTimeout?: string | null; + } /** * Input for coherence metric. */ @@ -1385,6 +1589,62 @@ export namespace aiplatform_v1 { */ version?: number | null; } + /** + * Input for Comet metric. + */ + export interface Schema$GoogleCloudAiplatformV1CometInput { + /** + * Required. Comet instance. + */ + instance?: Schema$GoogleCloudAiplatformV1CometInstance; + /** + * Required. Spec for comet metric. + */ + metricSpec?: Schema$GoogleCloudAiplatformV1CometSpec; + } + /** + * Spec for Comet instance - The fields used for evaluation are dependent on the comet version. + */ + export interface Schema$GoogleCloudAiplatformV1CometInstance { + /** + * Required. Output of the evaluated model. + */ + prediction?: string | null; + /** + * Optional. Ground truth used to compare against the prediction. + */ + reference?: string | null; + /** + * Optional. Source text in original language. + */ + source?: string | null; + } + /** + * Spec for Comet result - calculates the comet score for the given instance using the version specified in the spec. + */ + export interface Schema$GoogleCloudAiplatformV1CometResult { + /** + * Output only. Comet score. Range depends on version. + */ + score?: number | null; + } + /** + * Spec for Comet metric. + */ + export interface Schema$GoogleCloudAiplatformV1CometSpec { + /** + * Optional. Source language in BCP-47 format. + */ + sourceLanguage?: string | null; + /** + * Optional. Target language in BCP-47 format. Covers both prediction and reference. + */ + targetLanguage?: string | null; + /** + * Required. Which version to use for evaluation. + */ + version?: string | null; + } /** * Request message for VizierService.CompleteTrial. */ @@ -1584,6 +1844,58 @@ export namespace aiplatform_v1 { */ modelVersionId?: string | null; } + /** + * RagCorpus status. + */ + export interface Schema$GoogleCloudAiplatformV1CorpusStatus { + /** + * Output only. Only when the `state` field is ERROR. + */ + errorStatus?: string | null; + /** + * Output only. RagCorpus life state. + */ + state?: string | null; + } + /** + * Request message for CorroborateContent. + */ + export interface Schema$GoogleCloudAiplatformV1CorroborateContentRequest { + /** + * Optional. Input content to corroborate, only text format is supported for now. + */ + content?: Schema$GoogleCloudAiplatformV1Content; + /** + * Optional. Facts used to generate the text can also be used to corroborate the text. + */ + facts?: Schema$GoogleCloudAiplatformV1Fact[]; + /** + * Optional. Parameters that can be set to override default settings per request. + */ + parameters?: Schema$GoogleCloudAiplatformV1CorroborateContentRequestParameters; + } + /** + * Parameters that can be overrided per request. + */ + export interface Schema$GoogleCloudAiplatformV1CorroborateContentRequestParameters { + /** + * Optional. Only return claims with citation score larger than the threshold. + */ + citationThreshold?: number | null; + } + /** + * Response message for CorroborateContent. + */ + export interface Schema$GoogleCloudAiplatformV1CorroborateContentResponse { + /** + * Claims that are extracted from the input content and facts that support the claims. + */ + claims?: Schema$GoogleCloudAiplatformV1Claim[]; + /** + * Confidence score of corroborating content. Value is [0,1] with 1 is the most confidence. + */ + corroborationScore?: number | null; + } /** * Request message for PredictionService.CountTokens. */ @@ -2227,7 +2539,7 @@ export namespace aiplatform_v1 { */ modelReference?: string | null; /** - * Output only. Identifier. The resource name of the Dataset. + * Output only. Identifier. The resource name of the Dataset. Format: `projects/{project\}/locations/{location\}/datasets/{dataset\}` */ name?: string | null; /** @@ -2312,6 +2624,10 @@ export namespace aiplatform_v1 { * Required. Immutable. The minimum number of machine replicas this DeployedModel will be always deployed on. This value must be greater than or equal to 1. If traffic against the DeployedModel increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. */ minReplicaCount?: number | null; + /** + * Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial model deployment/mutation is desired. If set, the model deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. + */ + requiredReplicaCount?: number | null; /** * Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). */ @@ -2558,6 +2874,10 @@ export namespace aiplatform_v1 { * Explanation configuration for this DeployedModel. When deploying a Model using EndpointService.DeployModel, this value overrides the value of Model.explanation_spec. All fields of explanation_spec are optional in the request. If a field of explanation_spec is not populated, the value of the same field of Model.explanation_spec is inherited. If the corresponding Model.explanation_spec is not populated, all fields of the explanation_spec will be used for the explanation configuration. */ explanationSpec?: Schema$GoogleCloudAiplatformV1ExplanationSpec; + /** + * Configuration for faster model deployment. + */ + fasterDeploymentConfig?: Schema$GoogleCloudAiplatformV1FasterDeploymentConfig; /** * Immutable. The ID of the DeployedModel. If not provided upon deployment, Vertex AI will generate a value for this ID. This value should be 1-10 characters, and valid characters are `/[0-9]/`. */ @@ -2582,6 +2902,14 @@ export namespace aiplatform_v1 { * The resource name of the shared DeploymentResourcePool to deploy on. Format: `projects/{project\}/locations/{location\}/deploymentResourcePools/{deployment_resource_pool\}` */ sharedResources?: string | null; + /** + * Output only. Runtime status of the deployed model. + */ + status?: Schema$GoogleCloudAiplatformV1DeployedModelStatus; + /** + * System labels to apply to Model Garden deployments. System labels are managed by Google for internal use only. + */ + systemLabels?: {[key: string]: string} | null; } /** * Points to a DeployedModel. @@ -2596,6 +2924,23 @@ export namespace aiplatform_v1 { */ endpoint?: string | null; } + /** + * Runtime status of the deployed model. + */ + export interface Schema$GoogleCloudAiplatformV1DeployedModelStatus { + /** + * Output only. The number of available replicas of the deployed model. + */ + availableReplicaCount?: number | null; + /** + * Output only. The time at which the status was last updated. + */ + lastUpdateTime?: string | null; + /** + * Output only. The latest deployed model's status message (if any). + */ + message?: string | null; + } /** * Runtime operation information for IndexEndpointService.DeployIndex. */ @@ -2753,6 +3098,10 @@ export namespace aiplatform_v1 { */ output?: string | null; } + /** + * The input content is encapsulated and uploaded in the request. + */ + export interface Schema$GoogleCloudAiplatformV1DirectUploadSource {} /** * Represents the spec of disk options. */ @@ -2775,6 +3124,19 @@ export namespace aiplatform_v1 { */ values?: number[] | null; } + /** + * Describes the options to customize dynamic retrieval. + */ + export interface Schema$GoogleCloudAiplatformV1DynamicRetrievalConfig { + /** + * Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used. + */ + dynamicThreshold?: number | null; + /** + * The mode of the predictor to be used in dynamic retrieval. + */ + mode?: string | null; + } /** * Represents a customer-managed encryption key spec that can be applied to a top-level resource. */ @@ -2788,6 +3150,10 @@ export namespace aiplatform_v1 { * Models are deployed into it, and afterwards Endpoint is called to obtain predictions and explanations. */ export interface Schema$GoogleCloudAiplatformV1Endpoint { + /** + * Configurations that are applied to the endpoint for online prediction. + */ + clientConnectionConfig?: Schema$GoogleCloudAiplatformV1ClientConnectionConfig; /** * Output only. Timestamp when this Endpoint was created. */ @@ -3028,6 +3394,10 @@ export namespace aiplatform_v1 { * Input for coherence metric. */ coherenceInput?: Schema$GoogleCloudAiplatformV1CoherenceInput; + /** + * Translation metrics. Input for Comet metric. + */ + cometInput?: Schema$GoogleCloudAiplatformV1CometInput; /** * Auto metric instances. Instances and metric spec for exact match metric. */ @@ -3044,6 +3414,10 @@ export namespace aiplatform_v1 { * Input for groundedness metric. */ groundednessInput?: Schema$GoogleCloudAiplatformV1GroundednessInput; + /** + * Input for Metricx metric. + */ + metricxInput?: Schema$GoogleCloudAiplatformV1MetricxInput; /** * Input for pairwise metric. */ @@ -3112,6 +3486,30 @@ export namespace aiplatform_v1 { * Input for tool parameter key value match metric. */ toolParameterKvMatchInput?: Schema$GoogleCloudAiplatformV1ToolParameterKVMatchInput; + /** + * Input for trajectory match any order metric. + */ + trajectoryAnyOrderMatchInput?: Schema$GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput; + /** + * Input for trajectory exact match metric. + */ + trajectoryExactMatchInput?: Schema$GoogleCloudAiplatformV1TrajectoryExactMatchInput; + /** + * Input for trajectory in order match metric. + */ + trajectoryInOrderMatchInput?: Schema$GoogleCloudAiplatformV1TrajectoryInOrderMatchInput; + /** + * Input for trajectory precision metric. + */ + trajectoryPrecisionInput?: Schema$GoogleCloudAiplatformV1TrajectoryPrecisionInput; + /** + * Input for trajectory recall metric. + */ + trajectoryRecallInput?: Schema$GoogleCloudAiplatformV1TrajectoryRecallInput; + /** + * Input for trajectory single tool use metric. + */ + trajectorySingleToolUseInput?: Schema$GoogleCloudAiplatformV1TrajectorySingleToolUseInput; } /** * Response message for EvaluationService.EvaluateInstances. @@ -3125,6 +3523,10 @@ export namespace aiplatform_v1 { * Result for coherence metric. */ coherenceResult?: Schema$GoogleCloudAiplatformV1CoherenceResult; + /** + * Translation metrics. Result for Comet metric. + */ + cometResult?: Schema$GoogleCloudAiplatformV1CometResult; /** * Auto metric evaluation results. Results for exact match metric. */ @@ -3141,6 +3543,10 @@ export namespace aiplatform_v1 { * Result for groundedness metric. */ groundednessResult?: Schema$GoogleCloudAiplatformV1GroundednessResult; + /** + * Result for Metricx metric. + */ + metricxResult?: Schema$GoogleCloudAiplatformV1MetricxResult; /** * Result for pairwise metric. */ @@ -3209,6 +3615,30 @@ export namespace aiplatform_v1 { * Results for tool parameter key value match metric. */ toolParameterKvMatchResults?: Schema$GoogleCloudAiplatformV1ToolParameterKVMatchResults; + /** + * Result for trajectory any order match metric. + */ + trajectoryAnyOrderMatchResults?: Schema$GoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults; + /** + * Result for trajectory exact match metric. + */ + trajectoryExactMatchResults?: Schema$GoogleCloudAiplatformV1TrajectoryExactMatchResults; + /** + * Result for trajectory in order match metric. + */ + trajectoryInOrderMatchResults?: Schema$GoogleCloudAiplatformV1TrajectoryInOrderMatchResults; + /** + * Result for trajectory precision metric. + */ + trajectoryPrecisionResults?: Schema$GoogleCloudAiplatformV1TrajectoryPrecisionResults; + /** + * Results for trajectory recall metric. + */ + trajectoryRecallResults?: Schema$GoogleCloudAiplatformV1TrajectoryRecallResults; + /** + * Results for trajectory single tool use metric. + */ + trajectorySingleToolUseResults?: Schema$GoogleCloudAiplatformV1TrajectorySingleToolUseResults; } /** * An edge describing the relationship between an Artifact and an Execution in a lineage graph. @@ -3694,7 +4124,7 @@ export namespace aiplatform_v1 { */ export interface Schema$GoogleCloudAiplatformV1ExportDataConfig { /** - * The Cloud Storage URI that points to a YAML file describing the annotation schema. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). The schema files that can be used here are found in gs://google-cloud-aiplatform/schema/dataset/annotation/, note that the chosen schema must be consistent with metadata of the Dataset specified by dataset_id. Only used for custom training data export use cases. Only applicable to Datasets that have DataItems and Annotations. Only Annotations that both match this schema and belong to DataItems not ignored by the split method are used in respectively training, validation or test role, depending on the role of the DataItem they are on. When used in conjunction with annotations_filter, the Annotations used for training are filtered by both annotations_filter and annotation_schema_uri. + * The Cloud Storage URI that points to a YAML file describing the annotation schema. The schema is defined as an OpenAPI 3.0.2 [Schema Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject). The schema files that can be used here are found in gs://google-cloud-aiplatform/schema/dataset/annotation/, note that the chosen schema must be consistent with metadata of the Dataset specified by ExportDataRequest.name. Only used for custom training data export use cases. Only applicable to Datasets that have DataItems and Annotations. Only Annotations that both match this schema and belong to DataItems not ignored by the split method are used in respectively training, validation or test role, depending on the role of the DataItem they are on. When used in conjunction with annotations_filter, the Annotations used for training are filtered by both annotations_filter and annotation_schema_uri. */ annotationSchemaUri?: string | null; /** @@ -3718,7 +4148,7 @@ export namespace aiplatform_v1 { */ gcsDestination?: Schema$GoogleCloudAiplatformV1GcsDestination; /** - * The ID of a SavedQuery (annotation set) under the Dataset specified by dataset_id used for filtering Annotations for training. Only used for custom training data export use cases. Only applicable to Datasets that have SavedQueries. Only Annotations that are associated with this SavedQuery are used in respectively training. When used in conjunction with annotations_filter, the Annotations used for training are filtered by both saved_query_id and annotations_filter. Only one of saved_query_id and annotation_schema_uri should be specified as both of them represent the same thing: problem type. + * The ID of a SavedQuery (annotation set) under the Dataset specified by ExportDataRequest.name used for filtering Annotations for training. Only used for custom training data export use cases. Only applicable to Datasets that have SavedQueries. Only Annotations that are associated with this SavedQuery are used in respectively training. When used in conjunction with annotations_filter, the Annotations used for training are filtered by both saved_query_id and annotations_filter. Only one of saved_query_id and annotation_schema_uri should be specified as both of them represent the same thing: problem type. */ savedQueryId?: string | null; } @@ -3945,6 +4375,44 @@ export namespace aiplatform_v1 { */ timeSeriesDataPoints?: Schema$GoogleCloudAiplatformV1TimeSeriesDataPoint[]; } + /** + * The fact used in grounding. + */ + export interface Schema$GoogleCloudAiplatformV1Fact { + /** + * Query that is used to retrieve this fact. + */ + query?: string | null; + /** + * If present, according to the underlying Vector DB and the selected metric type, the score can be either the distance or the similarity between the query and the fact and its range depends on the metric type. For example, if the metric type is COSINE_DISTANCE, it represents the distance between the query and the fact. The larger the distance, the less relevant the fact is to the query. The range is [0, 2], while 0 means the most relevant and 2 means the least relevant. + */ + score?: number | null; + /** + * If present, the summary/snippet of the fact. + */ + summary?: string | null; + /** + * If present, it refers to the title of this fact. + */ + title?: string | null; + /** + * If present, this uri links to the source of the fact. + */ + uri?: string | null; + /** + * If present, the distance between the query vector and this fact vector. + */ + vectorDistance?: number | null; + } + /** + * Configuration for faster model deployment. + */ + export interface Schema$GoogleCloudAiplatformV1FasterDeploymentConfig { + /** + * If true, enable fast tryout feature for this deployed model. + */ + fastTryoutEnabled?: boolean | null; + } /** * Feature Metadata information. For example, color is a feature that describes an apple. */ @@ -4484,6 +4952,10 @@ export namespace aiplatform_v1 { * Identifier. Name of the FeatureView. Format: `projects/{project\}/locations/{location\}/featureOnlineStores/{feature_online_store\}/featureViews/{feature_view\}` */ name?: string | null; + /** + * Optional. Configuration for FeatureView created under Optimized FeatureOnlineStore. + */ + optimizedConfig?: Schema$GoogleCloudAiplatformV1FeatureViewOptimizedConfig; /** * Output only. Reserved for future use. */ @@ -4609,6 +5081,15 @@ export namespace aiplatform_v1 { */ leafNodeEmbeddingCount?: string | null; } + /** + * Configuration for FeatureViews created in Optimized FeatureOnlineStore. + */ + export interface Schema$GoogleCloudAiplatformV1FeatureViewOptimizedConfig { + /** + * Optional. A description of resources that the FeatureView uses, which to large degree are decided by Vertex AI, and optionally allows only a modest additional configuration. If min_replica_count is not set, the default value is 2. If max_replica_count is not set, the default value is 6. The max allowed replica count is 1000. + */ + automaticResources?: Schema$GoogleCloudAiplatformV1AutomaticResources; + } /** * FeatureViewSync is a representation of sync operation which copies data from data source to Feature View in Online Store. */ @@ -4646,6 +5127,10 @@ export namespace aiplatform_v1 { * Configuration for Sync. Only one option is set. */ export interface Schema$GoogleCloudAiplatformV1FeatureViewSyncConfig { + /** + * Optional. If true, syncs the FeatureView in a continuous manner to Online Store. + */ + continuous?: boolean | null; /** * Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: "CRON_TZ=${IANA_TIME_ZONE\}" or "TZ=${IANA_TIME_ZONE\}". The ${IANA_TIME_ZONE\} may only be a valid string from IANA time zone database. For example, "CRON_TZ=America/New_York 1 * * * *", or "TZ=America/New_York 1 * * * *". */ @@ -4733,6 +5218,15 @@ export namespace aiplatform_v1 { */ value?: Schema$GoogleCloudAiplatformV1FeatureValue; } + /** + * Request message for PredictionService.FetchPredictOperation. + */ + export interface Schema$GoogleCloudAiplatformV1FetchPredictOperationRequest { + /** + * Required. The server-assigned name for the operation. + */ + operationName?: string | null; + } /** * URI based data. */ @@ -4746,6 +5240,19 @@ export namespace aiplatform_v1 { */ mimeType?: string | null; } + /** + * RagFile status. + */ + export interface Schema$GoogleCloudAiplatformV1FileStatus { + /** + * Output only. Only when the `state` field is ERROR. + */ + errorStatus?: string | null; + /** + * Output only. RagFile state. + */ + state?: string | null; + } /** * Assigns input data to training, validation, and test sets based on the given filters, data pieces not matched by any filter are ignored. Currently only supported for Datasets containing DataItems. If any of the filters in this message are to match nothing, then they can be set as '-' (the minus sign). Supported only for unstructured Datasets. */ @@ -5001,7 +5508,7 @@ export namespace aiplatform_v1 { mode?: string | null; } /** - * Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name and parameters. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. + * Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. */ export interface Schema$GoogleCloudAiplatformV1FunctionDeclaration { /** @@ -5056,6 +5563,10 @@ export namespace aiplatform_v1 { * Request message for [PredictionService.GenerateContent]. */ export interface Schema$GoogleCloudAiplatformV1GenerateContentRequest { + /** + * Optional. The name of the cached content used as context to serve the prediction. Note: only used in explicit caching, where users can have control over caching (e.g. what content to cache) and enjoy guaranteed cost savings. Format: `projects/{project\}/locations/{location\}/cachedContents/{cachedContent\}` + */ + cachedContent?: string | null; /** * Required. The content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history + latest request. */ @@ -5127,6 +5638,10 @@ export namespace aiplatform_v1 { * Usage metadata about response(s). */ export interface Schema$GoogleCloudAiplatformV1GenerateContentResponseUsageMetadata { + /** + * Output only. Number of tokens in the cached part in the input (the cached content). + */ + cachedContentTokenCount?: number | null; /** * Number of tokens in the response(s). */ @@ -5144,6 +5659,10 @@ export namespace aiplatform_v1 { * Generation config. */ export interface Schema$GoogleCloudAiplatformV1GenerationConfig { + /** + * Optional. If enabled, audio timestamp will be included in the request to the model. + */ + audioTimestamp?: boolean | null; /** * Optional. Number of candidates to generate. */ @@ -5160,6 +5679,10 @@ export namespace aiplatform_v1 { * Optional. The maximum number of output tokens to generate per message. */ maxOutputTokens?: number | null; + /** + * Optional. If specified, the media resolution specified will be used. + */ + mediaResolution?: string | null; /** * Optional. Positive penalties. */ @@ -5172,6 +5695,10 @@ export namespace aiplatform_v1 { * Optional. Output response mimetype of the generated candidate text. Supported mimetype: - `text/plain`: (default) Text output. - `application/json`: JSON response in the candidates. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. This is a preview feature. */ responseMimeType?: string | null; + /** + * Optional. The modalities of the response. + */ + responseModalities?: string[] | null; /** * Optional. The `Schema` object allows the definition of input and output data types. These types can be objects, but also primitives and arrays. Represents a select subset of an [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema). If set, a compatible response_mime_type must also be set. Compatible mimetypes: `application/json`: Schema for JSON response. */ @@ -5184,6 +5711,10 @@ export namespace aiplatform_v1 { * Optional. Seed. */ seed?: number | null; + /** + * Optional. The speech generation config. + */ + speechConfig?: Schema$GoogleCloudAiplatformV1SpeechConfig; /** * Optional. Stop sequences. */ @@ -5258,10 +5789,37 @@ export namespace aiplatform_v1 { */ baseModelUri?: string | null; } + /** + * The Google Drive location for the input content. + */ + export interface Schema$GoogleCloudAiplatformV1GoogleDriveSource { + /** + * Required. Google Drive resource IDs. + */ + resourceIds?: Schema$GoogleCloudAiplatformV1GoogleDriveSourceResourceId[]; + } + /** + * The type and ID of the Google Drive resource. + */ + export interface Schema$GoogleCloudAiplatformV1GoogleDriveSourceResourceId { + /** + * Required. The ID of the Google Drive resource. + */ + resourceId?: string | null; + /** + * Required. The type of the Google Drive resource. + */ + resourceType?: string | null; + } /** * Tool to retrieve public web data for grounding, powered by Google. */ - export interface Schema$GoogleCloudAiplatformV1GoogleSearchRetrieval {} + export interface Schema$GoogleCloudAiplatformV1GoogleSearchRetrieval { + /** + * Specifies the dynamic retrieval configuration for the given source. + */ + dynamicRetrievalConfig?: Schema$GoogleCloudAiplatformV1DynamicRetrievalConfig; + } /** * Input for groundedness metric. */ @@ -5331,6 +5889,10 @@ export namespace aiplatform_v1 { * Chunk from context retrieved by the retrieval tools. */ export interface Schema$GoogleCloudAiplatformV1GroundingChunkRetrievedContext { + /** + * Text of the attribution. + */ + text?: string | null; /** * Title of the attribution. */ @@ -5365,6 +5927,10 @@ export namespace aiplatform_v1 { * Optional. List of grounding support. */ groundingSupports?: Schema$GoogleCloudAiplatformV1GroundingSupport[]; + /** + * Optional. Output only. Retrieval metadata. + */ + retrievalMetadata?: Schema$GoogleCloudAiplatformV1RetrievalMetadata; /** * Optional. Google search entry for the following-up web searches. */ @@ -5632,6 +6198,56 @@ export namespace aiplatform_v1 { */ modelEvaluation?: Schema$GoogleCloudAiplatformV1ModelEvaluation; } + /** + * Config for importing RagFiles. + */ + export interface Schema$GoogleCloudAiplatformV1ImportRagFilesConfig { + /** + * Google Cloud Storage location. Supports importing individual files as well as entire Google Cloud Storage directories. Sample formats: - `gs://bucket_name/my_directory/object_name/my_file.txt` - `gs://bucket_name/my_directory` + */ + gcsSource?: Schema$GoogleCloudAiplatformV1GcsSource; + /** + * Google Drive location. Supports importing individual files as well as Google Drive folders. + */ + googleDriveSource?: Schema$GoogleCloudAiplatformV1GoogleDriveSource; + /** + * Jira queries with their corresponding authentication. + */ + jiraSource?: Schema$GoogleCloudAiplatformV1JiraSource; + /** + * Optional. The max number of queries per minute that this job is allowed to make to the embedding model specified on the corpus. This value is specific to this job and not shared across other import jobs. Consult the Quotas page on the project to set an appropriate value here. If unspecified, a default value of 1,000 QPM would be used. + */ + maxEmbeddingRequestsPerMin?: number | null; + /** + * The BigQuery destination to write partial failures to. It should be a bigquery table resource name (e.g. "bq://projectId.bqDatasetId.bqTableId"). The dataset must exist. If the table does not exist, it will be created with the expected schema. If the table exists, the schema will be validated and data will be added to this existing table. Deprecated. Prefer to use `import_result_bq_sink`. + */ + partialFailureBigquerySink?: Schema$GoogleCloudAiplatformV1BigQueryDestination; + /** + * The Cloud Storage path to write partial failures to. Deprecated. Prefer to use `import_result_gcs_sink`. + */ + partialFailureGcsSink?: Schema$GoogleCloudAiplatformV1GcsDestination; + /** + * Specifies the transformation config for RagFiles. + */ + ragFileTransformationConfig?: Schema$GoogleCloudAiplatformV1RagFileTransformationConfig; + /** + * SharePoint sources. + */ + sharePointSources?: Schema$GoogleCloudAiplatformV1SharePointSources; + /** + * Slack channels with their corresponding access tokens. + */ + slackSource?: Schema$GoogleCloudAiplatformV1SlackSource; + } + /** + * Request message for VertexRagDataService.ImportRagFiles. + */ + export interface Schema$GoogleCloudAiplatformV1ImportRagFilesRequest { + /** + * Required. The config for the RagFiles to be synced and imported into the RagCorpus. VertexRagDataService.ImportRagFiles. + */ + importRagFilesConfig?: Schema$GoogleCloudAiplatformV1ImportRagFilesConfig; + } /** * A representation of a collection of database items organized in a way that allows for approximate nearest neighbor (a.k.a ANN) algorithms search. */ @@ -5972,6 +6588,40 @@ export namespace aiplatform_v1 { */ stepCount?: number | null; } + /** + * The Jira source for the ImportRagFilesRequest. + */ + export interface Schema$GoogleCloudAiplatformV1JiraSource { + /** + * Required. The Jira queries. + */ + jiraQueries?: Schema$GoogleCloudAiplatformV1JiraSourceJiraQueries[]; + } + /** + * JiraQueries contains the Jira queries and corresponding authentication. + */ + export interface Schema$GoogleCloudAiplatformV1JiraSourceJiraQueries { + /** + * Required. The SecretManager secret version resource name (e.g. projects/{project\}/secrets/{secret\}/versions/{version\}) storing the Jira API key. See [Manage API tokens for your Atlassian account](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/). + */ + apiKeyConfig?: Schema$GoogleCloudAiplatformV1ApiAuthApiKeyConfig; + /** + * A list of custom Jira queries to import. For information about JQL (Jira Query Language), see https://support.atlassian.com/jira-service-management-cloud/docs/use-advanced-search-with-jira-query-language-jql/ + */ + customQueries?: string[] | null; + /** + * Required. The Jira email address. + */ + email?: string | null; + /** + * A list of Jira projects to import in their entirety. + */ + projects?: string[] | null; + /** + * Required. The Jira server URI. + */ + serverUri?: string | null; + } /** * Contains information about the Large Model. */ @@ -6037,6 +6687,19 @@ export namespace aiplatform_v1 { */ nextPageToken?: string | null; } + /** + * Response with a list of CachedContents. + */ + export interface Schema$GoogleCloudAiplatformV1ListCachedContentsResponse { + /** + * List of cached contents. + */ + cachedContents?: Schema$GoogleCloudAiplatformV1CachedContent[]; + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + } /** * Response message for MetadataService.ListContexts. */ @@ -6406,7 +7069,7 @@ export namespace aiplatform_v1 { */ export interface Schema$GoogleCloudAiplatformV1ListNotebookExecutionJobsResponse { /** - * A token to retrieve next page of results. Pass to ListNotebookExecutionJobs.page_token to obtain that page. + * A token to retrieve next page of results. Pass to ListNotebookExecutionJobsRequest.page_token to obtain that page. */ nextPageToken?: string | null; /** @@ -6476,6 +7139,45 @@ export namespace aiplatform_v1 { */ pipelineJobs?: Schema$GoogleCloudAiplatformV1PipelineJob[]; } + /** + * Response message for VertexRagDataService.ListRagCorpora. + */ + export interface Schema$GoogleCloudAiplatformV1ListRagCorporaResponse { + /** + * A token to retrieve the next page of results. Pass to ListRagCorporaRequest.page_token to obtain that page. + */ + nextPageToken?: string | null; + /** + * List of RagCorpora in the requested page. + */ + ragCorpora?: Schema$GoogleCloudAiplatformV1RagCorpus[]; + } + /** + * Response message for VertexRagDataService.ListRagFiles. + */ + export interface Schema$GoogleCloudAiplatformV1ListRagFilesResponse { + /** + * A token to retrieve the next page of results. Pass to ListRagFilesRequest.page_token to obtain that page. + */ + nextPageToken?: string | null; + /** + * List of RagFiles in the requested page. + */ + ragFiles?: Schema$GoogleCloudAiplatformV1RagFile[]; + } + /** + * Response message for ReasoningEngineService.ListReasoningEngines + */ + export interface Schema$GoogleCloudAiplatformV1ListReasoningEnginesResponse { + /** + * A token to retrieve the next page of results. Pass to ListReasoningEnginesRequest.page_token to obtain that page. + */ + nextPageToken?: string | null; + /** + * List of ReasoningEngines in the requested page. + */ + reasoningEngines?: Schema$GoogleCloudAiplatformV1ReasoningEngine[]; + } /** * Response message for DatasetService.ListSavedQueries. */ @@ -6641,11 +7343,11 @@ export namespace aiplatform_v1 { */ logProbability?: number | null; /** - * The candidate’s token string value. + * The candidate's token string value. */ token?: string | null; /** - * The candidate’s token id value. + * The candidate's token id value. */ tokenId?: number | null; } @@ -6820,6 +7522,62 @@ export namespace aiplatform_v1 { */ diskUtilizationBytes?: string | null; } + /** + * Input for MetricX metric. + */ + export interface Schema$GoogleCloudAiplatformV1MetricxInput { + /** + * Required. Metricx instance. + */ + instance?: Schema$GoogleCloudAiplatformV1MetricxInstance; + /** + * Required. Spec for Metricx metric. + */ + metricSpec?: Schema$GoogleCloudAiplatformV1MetricxSpec; + } + /** + * Spec for MetricX instance - The fields used for evaluation are dependent on the MetricX version. + */ + export interface Schema$GoogleCloudAiplatformV1MetricxInstance { + /** + * Required. Output of the evaluated model. + */ + prediction?: string | null; + /** + * Optional. Ground truth used to compare against the prediction. + */ + reference?: string | null; + /** + * Optional. Source text in original language. + */ + source?: string | null; + } + /** + * Spec for MetricX result - calculates the MetricX score for the given instance using the version specified in the spec. + */ + export interface Schema$GoogleCloudAiplatformV1MetricxResult { + /** + * Output only. MetricX score. Range depends on version. + */ + score?: number | null; + } + /** + * Spec for MetricX metric. + */ + export interface Schema$GoogleCloudAiplatformV1MetricxSpec { + /** + * Optional. Source language in BCP-47 format. + */ + sourceLanguage?: string | null; + /** + * Optional. Target language in BCP-47 format. Covers both prediction and reference. + */ + targetLanguage?: string | null; + /** + * Required. Which version to use for evaluation. + */ + version?: string | null; + } /** * Represents one resource that exists in automl.googleapis.com, datalabeling.googleapis.com or ml.googleapis.com. */ @@ -7211,6 +7969,10 @@ export namespace aiplatform_v1 { * Required. Immutable. URI of the Docker image to be used as the custom container for serving predictions. This URI must identify an image in Artifact Registry or Container Registry. Learn more about the [container publishing requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#publishing), including permissions requirements for the Vertex AI Service Agent. The container image is ingested upon ModelService.UploadModel, stored internally, and this original path is afterwards not used. To learn about the requirements for the Docker image itself, see [Custom container requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#). You can use the URI to one of Vertex AI's [pre-built container images for prediction](https://cloud.google.com/vertex-ai/docs/predictions/pre-built-containers) in this field. */ imageUri?: string | null; + /** + * Immutable. Specification for Kubernetes liveness probe. + */ + livenessProbe?: Schema$GoogleCloudAiplatformV1Probe; /** * Immutable. List of ports to expose from the container. Vertex AI sends any prediction requests that it receives to the first port on this list. Vertex AI also sends [liveness and health checks](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#liveness) to this port. If you do not specify this field, it defaults to following value: ```json [ { "containerPort": 8080 \} ] ``` Vertex AI does not use ports other than the first one listed. This field corresponds to the `ports` field of the Kubernetes Containers [v1 core API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core). */ @@ -7623,7 +8385,7 @@ export namespace aiplatform_v1 { */ emailAlertConfig?: Schema$GoogleCloudAiplatformV1ModelMonitoringAlertConfigEmailAlertConfig; /** - * Dump the anomalies to Cloud Logging. The anomalies will be put to json payload encoded from proto google.cloud.aiplatform.logging.ModelMonitoringAnomaliesLogEntry. This can be further sinked to Pub/Sub or any other services supported by Cloud Logging. + * Dump the anomalies to Cloud Logging. The anomalies will be put to json payload encoded from proto ModelMonitoringStatsAnomalies. This can be further synced to Pub/Sub or any other services supported by Cloud Logging. */ enableLogging?: boolean | null; /** @@ -8353,6 +9115,10 @@ export namespace aiplatform_v1 { * Output only. Timestamp when this NotebookExecutionJob was created. */ createTime?: string | null; + /** + * The custom compute configuration for an execution job. + */ + customEnvironmentSpec?: Schema$GoogleCloudAiplatformV1NotebookExecutionJobCustomEnvironmentSpec; /** * The Dataform Repository pointing to a single file notebook repository. */ @@ -8366,7 +9132,7 @@ export namespace aiplatform_v1 { */ displayName?: string | null; /** - * Customer-managed encryption key spec for the notebook execution job. This field is auto-populated if the NotebookService.NotebookRuntimeTemplate has an encryption spec. + * Customer-managed encryption key spec for the notebook execution job. This field is auto-populated if the NotebookRuntimeTemplate has an encryption spec. */ encryptionSpec?: Schema$GoogleCloudAiplatformV1EncryptionSpec; /** @@ -8389,6 +9155,10 @@ export namespace aiplatform_v1 { * Output only. The state of the NotebookExecutionJob. */ jobState?: string | null; + /** + * The name of the kernel to use during notebook execution. If unset, the default kernel is used. + */ + kernelName?: string | null; /** * The labels with user-defined metadata to organize NotebookExecutionJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with "aiplatform.googleapis.com/" and are immutable. */ @@ -8417,6 +9187,27 @@ export namespace aiplatform_v1 { * Output only. Timestamp when this NotebookExecutionJob was most recently updated. */ updateTime?: string | null; + /** + * The Workbench runtime configuration to use for the notebook execution. + */ + workbenchRuntime?: Schema$GoogleCloudAiplatformV1NotebookExecutionJobWorkbenchRuntime; + } + /** + * Compute configuration to use for an execution job. + */ + export interface Schema$GoogleCloudAiplatformV1NotebookExecutionJobCustomEnvironmentSpec { + /** + * The specification of a single machine for the execution job. + */ + machineSpec?: Schema$GoogleCloudAiplatformV1MachineSpec; + /** + * The network configuration to use for the execution job. + */ + networkSpec?: Schema$GoogleCloudAiplatformV1NetworkSpec; + /** + * The specification of a persistent disk to attach for the execution job. + */ + persistentDiskSpec?: Schema$GoogleCloudAiplatformV1PersistentDiskSpec; } /** * The Dataform Repository containing the input notebook. @@ -8453,6 +9244,10 @@ export namespace aiplatform_v1 { */ uri?: string | null; } + /** + * Configuration for a Workbench Instances-based environment. + */ + export interface Schema$GoogleCloudAiplatformV1NotebookExecutionJobWorkbenchRuntime {} /** * The idle shutdown configuration of NotebookRuntimeTemplate, which contains the idle_timeout as required field. */ @@ -8474,6 +9269,10 @@ export namespace aiplatform_v1 { * Output only. Timestamp when this NotebookRuntime was created. */ createTime?: string | null; + /** + * Output only. The specification of persistent disk attached to the notebook runtime as data disk storage. + */ + dataPersistentDiskSpec?: Schema$GoogleCloudAiplatformV1PersistentDiskSpec; /** * The description of the NotebookRuntime. */ @@ -8486,6 +9285,10 @@ export namespace aiplatform_v1 { * Output only. Customer-managed encryption key spec for the notebook runtime. */ encryptionSpec?: Schema$GoogleCloudAiplatformV1EncryptionSpec; + /** + * Output only. EUC configuration of the notebook runtime. + */ + eucConfig?: Schema$GoogleCloudAiplatformV1NotebookEucConfig; /** * Output only. Timestamp when this NotebookRuntime will be expired: 1. System Predefined NotebookRuntime: 24 hours after creation. After expiration, system predifined runtime will be deleted. 2. User created NotebookRuntime: 6 months after last upgrade. After expiration, user created runtime will be stopped and allowed for upgrade. */ @@ -8506,10 +9309,18 @@ export namespace aiplatform_v1 { * The labels with user-defined metadata to organize your NotebookRuntime. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one NotebookRuntime (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with "aiplatform.googleapis.com/" and are immutable. Following system labels exist for NotebookRuntime: * "aiplatform.googleapis.com/notebook_runtime_gce_instance_id": output only, its value is the Compute Engine instance id. * "aiplatform.googleapis.com/colab_enterprise_entry_service": its value is either "bigquery" or "vertex"; if absent, it should be "vertex". This is to describe the entry service, either BigQuery or Vertex. */ labels?: {[key: string]: string} | null; + /** + * Output only. The specification of a single machine used by the notebook runtime. + */ + machineSpec?: Schema$GoogleCloudAiplatformV1MachineSpec; /** * Output only. The resource name of the NotebookRuntime. */ name?: string | null; + /** + * Output only. Network spec of the notebook runtime. + */ + networkSpec?: Schema$GoogleCloudAiplatformV1NetworkSpec; /** * Optional. The Compute Engine tags to add to runtime (see [Tagging instances](https://cloud.google.com/vpc/docs/add-remove-network-tags)). */ @@ -8543,9 +9354,13 @@ export namespace aiplatform_v1 { */ satisfiesPzs?: boolean | null; /** - * Output only. The service account that the NotebookRuntime workload runs as. + * Output only. Deprecated: This field is no longer used and the "Vertex AI Notebook Service Account" (service-PROJECT_NUMBER@gcp-sa-aiplatform-vm.iam.gserviceaccount.com) is used for the runtime workload identity. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-notebook-service-account for more details. The service account that the NotebookRuntime workload runs as. */ serviceAccount?: string | null; + /** + * Output only. Runtime Shielded VM spec. + */ + shieldedVmConfig?: Schema$GoogleCloudAiplatformV1ShieldedVmConfig; /** * Output only. Timestamp when this NotebookRuntime was most recently updated. */ @@ -8592,7 +9407,7 @@ export namespace aiplatform_v1 { */ idleShutdownConfig?: Schema$GoogleCloudAiplatformV1NotebookIdleShutdownConfig; /** - * Output only. The default template to use if not specified. + * Output only. Deprecated: This field has no behavior. Use notebook_runtime_type = 'ONE_CLICK' instead. The default template to use if not specified. */ isDefault?: boolean | null; /** @@ -8620,7 +9435,7 @@ export namespace aiplatform_v1 { */ notebookRuntimeType?: string | null; /** - * The service account that the runtime workload runs as. You can use any service account within the same project, but you must have the service account user permission to use the instance. If not specified, the [Compute Engine default service account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. + * Deprecated: This field is ignored and the "Vertex AI Notebook Service Account" (service-PROJECT_NUMBER@gcp-sa-aiplatform-vm.iam.gserviceaccount.com) is used for the runtime workload identity. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-notebook-service-account for more details. For NotebookExecutionJob, use NotebookExecutionJob.service_account instead. The service account that the runtime workload runs as. You can use any service account within the same project, but you must have the service account user permission to use the instance. If not specified, the [Compute Engine default service account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. */ serviceAccount?: string | null; /** @@ -9280,6 +10095,15 @@ export namespace aiplatform_v1 { */ containerPort?: number | null; } + /** + * The configuration for the prebuilt speaker to use. + */ + export interface Schema$GoogleCloudAiplatformV1PrebuiltVoiceConfig { + /** + * The name of the preset voice to use. + */ + voiceName?: string | null; + } /** * Assigns input data to training, validation, and test sets based on the value of a provided key. Supported only for tabular Datasets. */ @@ -9289,6 +10113,19 @@ export namespace aiplatform_v1 { */ key?: string | null; } + /** + * Request message for PredictionService.PredictLongRunning. + */ + export interface Schema$GoogleCloudAiplatformV1PredictLongRunningRequest { + /** + * Required. The instances that are the input to the prediction call. A DeployedModel may have an upper limit on the number of instances it supports per request, and when it is exceeded the prediction call errors in case of AutoML Models, or, in case of customer created Models, the behaviour is as documented by that Model. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri. + */ + instances?: any[] | null; + /** + * Optional. The parameters that govern the prediction. The schema of the parameters may be specified via Endpoint's DeployedModels' Model's PredictSchemata's parameters_schema_uri. + */ + parameters?: any | null; + } /** * Request message for PredictionService.Predict. */ @@ -9424,10 +10261,22 @@ export namespace aiplatform_v1 { * ExecAction probes the health of a container by executing a command. */ exec?: Schema$GoogleCloudAiplatformV1ProbeExecAction; + /** + * GrpcAction probes the health of a container by sending a gRPC request. + */ + grpc?: Schema$GoogleCloudAiplatformV1ProbeGrpcAction; + /** + * HttpGetAction probes the health of a container by sending an HTTP GET request. + */ + httpGet?: Schema$GoogleCloudAiplatformV1ProbeHttpGetAction; /** * How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Must be less than timeout_seconds. Maps to Kubernetes probe argument 'periodSeconds'. */ periodSeconds?: number | null; + /** + * TcpSocketAction probes the health of a container by opening a TCP socket connection. + */ + tcpSocket?: Schema$GoogleCloudAiplatformV1ProbeTcpSocketAction; /** * Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Must be greater or equal to period_seconds. Maps to Kubernetes probe argument 'timeoutSeconds'. */ @@ -9442,6 +10291,70 @@ export namespace aiplatform_v1 { */ command?: string[] | null; } + /** + * GrpcAction checks the health of a container using a gRPC service. + */ + export interface Schema$GoogleCloudAiplatformV1ProbeGrpcAction { + /** + * Port number of the gRPC service. Number must be in the range 1 to 65535. + */ + port?: number | null; + /** + * Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). If this is not specified, the default behavior is defined by gRPC. + */ + service?: string | null; + } + /** + * HttpGetAction describes an action based on HTTP Get requests. + */ + export interface Schema$GoogleCloudAiplatformV1ProbeHttpGetAction { + /** + * Host name to connect to, defaults to the model serving container's IP. You probably want to set "Host" in httpHeaders instead. + */ + host?: string | null; + /** + * Custom headers to set in the request. HTTP allows repeated headers. + */ + httpHeaders?: Schema$GoogleCloudAiplatformV1ProbeHttpHeader[]; + /** + * Path to access on the HTTP server. + */ + path?: string | null; + /** + * Number of the port to access on the container. Number must be in the range 1 to 65535. + */ + port?: number | null; + /** + * Scheme to use for connecting to the host. Defaults to HTTP. Acceptable values are "HTTP" or "HTTPS". + */ + scheme?: string | null; + } + /** + * HttpHeader describes a custom header to be used in HTTP probes + */ + export interface Schema$GoogleCloudAiplatformV1ProbeHttpHeader { + /** + * The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header. + */ + name?: string | null; + /** + * The header field value + */ + value?: string | null; + } + /** + * TcpSocketAction probes the health of a container by opening a TCP socket connection. + */ + export interface Schema$GoogleCloudAiplatformV1ProbeTcpSocketAction { + /** + * Optional: Host name to connect to, defaults to the model serving container's IP. + */ + host?: string | null; + /** + * Number of the port to access on the container. Number must be in the range 1 to 65535. + */ + port?: number | null; + } /** * PscAutomatedEndpoints defines the output of the forwarding rule automatically created by each PscAutomationConfig. */ @@ -9628,7 +10541,7 @@ export namespace aiplatform_v1 { */ export interface Schema$GoogleCloudAiplatformV1PublisherModelCallToActionDeployDeployMetadata { /** - * Optional. Labels for the deployment. For managing deployment config like verifying, source of deployment config, etc. + * Optional. Labels for the deployment config. For managing deployment config like verifying, source of deployment config, etc. */ labels?: {[key: string]: string} | null; /** @@ -9903,6 +10816,28 @@ export namespace aiplatform_v1 { */ totalEndpointCount?: number | null; } + /** + * Request message for ReasoningEngineExecutionService.Query. + */ + export interface Schema$GoogleCloudAiplatformV1QueryReasoningEngineRequest { + /** + * Optional. Class method to be used for the query. It is optional and defaults to "query" if unspecified. + */ + classMethod?: string | null; + /** + * Optional. Input content provided by users in JSON object format. Examples include text query, function calling parameters, media bytes, etc. + */ + input?: {[key: string]: any} | null; + } + /** + * Response message for ReasoningEngineExecutionService.Query + */ + export interface Schema$GoogleCloudAiplatformV1QueryReasoningEngineResponse { + /** + * Response provided by users in JSON object format. + */ + output?: any | null; + } /** * Input for question answering correctness metric. */ @@ -10159,6 +11094,273 @@ export namespace aiplatform_v1 { */ version?: number | null; } + /** + * Relevant contexts for one query. + */ + export interface Schema$GoogleCloudAiplatformV1RagContexts { + /** + * All its contexts. + */ + contexts?: Schema$GoogleCloudAiplatformV1RagContextsContext[]; + } + /** + * A context of the query. + */ + export interface Schema$GoogleCloudAiplatformV1RagContextsContext { + /** + * According to the underlying Vector DB and the selected metric type, the score can be either the distance or the similarity between the query and the context and its range depends on the metric type. For example, if the metric type is COSINE_DISTANCE, it represents the distance between the query and the context. The larger the distance, the less relevant the context is to the query. The range is [0, 2], while 0 means the most relevant and 2 means the least relevant. + */ + score?: number | null; + /** + * The file display name. + */ + sourceDisplayName?: string | null; + /** + * If the file is imported from Cloud Storage or Google Drive, source_uri will be original file URI in Cloud Storage or Google Drive; if file is uploaded, source_uri will be file display name. + */ + sourceUri?: string | null; + /** + * The text chunk. + */ + text?: string | null; + } + /** + * A RagCorpus is a RagFile container and a project can have multiple RagCorpora. + */ + export interface Schema$GoogleCloudAiplatformV1RagCorpus { + /** + * Output only. RagCorpus state. + */ + corpusStatus?: Schema$GoogleCloudAiplatformV1CorpusStatus; + /** + * Output only. Timestamp when this RagCorpus was created. + */ + createTime?: string | null; + /** + * Optional. The description of the RagCorpus. + */ + description?: string | null; + /** + * Required. The display name of the RagCorpus. The name can be up to 128 characters long and can consist of any UTF-8 characters. + */ + displayName?: string | null; + /** + * Output only. The resource name of the RagCorpus. + */ + name?: string | null; + /** + * Output only. Timestamp when this RagCorpus was last updated. + */ + updateTime?: string | null; + /** + * Optional. Immutable. The config for the Vector DBs. + */ + vectorDbConfig?: Schema$GoogleCloudAiplatformV1RagVectorDbConfig; + } + /** + * Config for the embedding model to use for RAG. + */ + export interface Schema$GoogleCloudAiplatformV1RagEmbeddingModelConfig { + /** + * The Vertex AI Prediction Endpoint that either refers to a publisher model or an endpoint that is hosting a 1P fine-tuned text embedding model. Endpoints hosting non-1P fine-tuned text embedding models are currently not supported. This is used for dense vector search. + */ + vertexPredictionEndpoint?: Schema$GoogleCloudAiplatformV1RagEmbeddingModelConfigVertexPredictionEndpoint; + } + /** + * Config representing a model hosted on Vertex Prediction Endpoint. + */ + export interface Schema$GoogleCloudAiplatformV1RagEmbeddingModelConfigVertexPredictionEndpoint { + /** + * Required. The endpoint resource name. Format: `projects/{project\}/locations/{location\}/publishers/{publisher\}/models/{model\}` or `projects/{project\}/locations/{location\}/endpoints/{endpoint\}` + */ + endpoint?: string | null; + /** + * Output only. The resource name of the model that is deployed on the endpoint. Present only when the endpoint is not a publisher model. Pattern: `projects/{project\}/locations/{location\}/models/{model\}` + */ + model?: string | null; + /** + * Output only. Version ID of the model that is deployed on the endpoint. Present only when the endpoint is not a publisher model. + */ + modelVersionId?: string | null; + } + /** + * A RagFile contains user data for chunking, embedding and indexing. + */ + export interface Schema$GoogleCloudAiplatformV1RagFile { + /** + * Output only. Timestamp when this RagFile was created. + */ + createTime?: string | null; + /** + * Optional. The description of the RagFile. + */ + description?: string | null; + /** + * Output only. The RagFile is encapsulated and uploaded in the UploadRagFile request. + */ + directUploadSource?: Schema$GoogleCloudAiplatformV1DirectUploadSource; + /** + * Required. The display name of the RagFile. The name can be up to 128 characters long and can consist of any UTF-8 characters. + */ + displayName?: string | null; + /** + * Output only. State of the RagFile. + */ + fileStatus?: Schema$GoogleCloudAiplatformV1FileStatus; + /** + * Output only. Google Cloud Storage location of the RagFile. It does not support wildcards in the Cloud Storage uri for now. + */ + gcsSource?: Schema$GoogleCloudAiplatformV1GcsSource; + /** + * Output only. Google Drive location. Supports importing individual files as well as Google Drive folders. + */ + googleDriveSource?: Schema$GoogleCloudAiplatformV1GoogleDriveSource; + /** + * The RagFile is imported from a Jira query. + */ + jiraSource?: Schema$GoogleCloudAiplatformV1JiraSource; + /** + * Output only. The resource name of the RagFile. + */ + name?: string | null; + /** + * The RagFile is imported from a SharePoint source. + */ + sharePointSources?: Schema$GoogleCloudAiplatformV1SharePointSources; + /** + * The RagFile is imported from a Slack channel. + */ + slackSource?: Schema$GoogleCloudAiplatformV1SlackSource; + /** + * Output only. Timestamp when this RagFile was last updated. + */ + updateTime?: string | null; + } + /** + * Specifies the size and overlap of chunks for RagFiles. + */ + export interface Schema$GoogleCloudAiplatformV1RagFileChunkingConfig { + /** + * Specifies the fixed length chunking config. + */ + fixedLengthChunking?: Schema$GoogleCloudAiplatformV1RagFileChunkingConfigFixedLengthChunking; + } + /** + * Specifies the fixed length chunking config. + */ + export interface Schema$GoogleCloudAiplatformV1RagFileChunkingConfigFixedLengthChunking { + /** + * The overlap between chunks. + */ + chunkOverlap?: number | null; + /** + * The size of the chunks. + */ + chunkSize?: number | null; + } + /** + * Specifies the transformation config for RagFiles. + */ + export interface Schema$GoogleCloudAiplatformV1RagFileTransformationConfig { + /** + * Specifies the chunking config for RagFiles. + */ + ragFileChunkingConfig?: Schema$GoogleCloudAiplatformV1RagFileChunkingConfig; + } + /** + * A query to retrieve relevant contexts. + */ + export interface Schema$GoogleCloudAiplatformV1RagQuery { + /** + * Optional. The retrieval config for the query. + */ + ragRetrievalConfig?: Schema$GoogleCloudAiplatformV1RagRetrievalConfig; + /** + * Optional. The query in text format to get relevant contexts. + */ + text?: string | null; + } + /** + * Specifies the context retrieval config. + */ + export interface Schema$GoogleCloudAiplatformV1RagRetrievalConfig { + /** + * Optional. Config for filters. + */ + filter?: Schema$GoogleCloudAiplatformV1RagRetrievalConfigFilter; + /** + * Optional. The number of contexts to retrieve. + */ + topK?: number | null; + } + /** + * Config for filters. + */ + export interface Schema$GoogleCloudAiplatformV1RagRetrievalConfigFilter { + /** + * Optional. String for metadata filtering. + */ + metadataFilter?: string | null; + /** + * Optional. Only returns contexts with vector distance smaller than the threshold. + */ + vectorDistanceThreshold?: number | null; + /** + * Optional. Only returns contexts with vector similarity larger than the threshold. + */ + vectorSimilarityThreshold?: number | null; + } + /** + * Config for the Vector DB to use for RAG. + */ + export interface Schema$GoogleCloudAiplatformV1RagVectorDbConfig { + /** + * Authentication config for the chosen Vector DB. + */ + apiAuth?: Schema$GoogleCloudAiplatformV1ApiAuth; + /** + * The config for the Pinecone. + */ + pinecone?: Schema$GoogleCloudAiplatformV1RagVectorDbConfigPinecone; + /** + * Optional. Immutable. The embedding model config of the Vector DB. + */ + ragEmbeddingModelConfig?: Schema$GoogleCloudAiplatformV1RagEmbeddingModelConfig; + /** + * The config for the RAG-managed Vector DB. + */ + ragManagedDb?: Schema$GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDb; + /** + * The config for the Vertex Vector Search. + */ + vertexVectorSearch?: Schema$GoogleCloudAiplatformV1RagVectorDbConfigVertexVectorSearch; + } + /** + * The config for the Pinecone. + */ + export interface Schema$GoogleCloudAiplatformV1RagVectorDbConfigPinecone { + /** + * Pinecone index name. This value cannot be changed after it's set. + */ + indexName?: string | null; + } + /** + * The config for the default RAG-managed Vector DB. + */ + export interface Schema$GoogleCloudAiplatformV1RagVectorDbConfigRagManagedDb {} + /** + * The config for the Vertex Vector Search. + */ + export interface Schema$GoogleCloudAiplatformV1RagVectorDbConfigVertexVectorSearch { + /** + * The resource name of the Index. Format: `projects/{project\}/locations/{location\}/indexes/{index\}` + */ + index?: string | null; + /** + * The resource name of the Index Endpoint. Format: `projects/{project\}/locations/{location\}/indexEndpoints/{index_endpoint\}` + */ + indexEndpoint?: string | null; + } /** * Request message for PredictionService.RawPredict. */ @@ -10369,6 +11571,73 @@ export namespace aiplatform_v1 { */ viewCount?: string | null; } + /** + * ReasoningEngine provides a customizable runtime for models to determine which actions to take and in which order. + */ + export interface Schema$GoogleCloudAiplatformV1ReasoningEngine { + /** + * Output only. Timestamp when this ReasoningEngine was created. + */ + createTime?: string | null; + /** + * Optional. The description of the ReasoningEngine. + */ + description?: string | null; + /** + * Required. The display name of the ReasoningEngine. + */ + displayName?: string | null; + /** + * Optional. Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. + */ + etag?: string | null; + /** + * Identifier. The resource name of the ReasoningEngine. + */ + name?: string | null; + /** + * Required. Configurations of the ReasoningEngine + */ + spec?: Schema$GoogleCloudAiplatformV1ReasoningEngineSpec; + /** + * Output only. Timestamp when this ReasoningEngine was most recently updated. + */ + updateTime?: string | null; + } + /** + * ReasoningEngine configurations + */ + export interface Schema$GoogleCloudAiplatformV1ReasoningEngineSpec { + /** + * Optional. Declarations for object class methods in OpenAPI specification format. + */ + classMethods?: Array<{[key: string]: any}> | null; + /** + * Required. User provided package spec of the ReasoningEngine. + */ + packageSpec?: Schema$GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec; + } + /** + * User provided package spec like pickled object and package requirements. + */ + export interface Schema$GoogleCloudAiplatformV1ReasoningEngineSpecPackageSpec { + /** + * Optional. The Cloud Storage URI of the dependency files in tar.gz format. + */ + dependencyFilesGcsUri?: string | null; + /** + * Optional. The Cloud Storage URI of the pickled python object. + */ + pickleObjectGcsUri?: string | null; + /** + * Optional. The Python version. Currently support 3.8, 3.9, 3.10, 3.11. If not specified, default value is 3.10. + */ + pythonVersion?: string | null; + /** + * Optional. The Cloud Storage URI of the `requirements.txt` file + */ + requirementsGcsUri?: string | null; + } /** * Request message for GenAiTuningService.RebaseTunedModel. */ @@ -10562,6 +11831,63 @@ export namespace aiplatform_v1 { */ vertexRagStore?: Schema$GoogleCloudAiplatformV1VertexRagStore; } + /** + * Metadata related to retrieval in the grounding flow. + */ + export interface Schema$GoogleCloudAiplatformV1RetrievalMetadata { + /** + * Optional. Score indicating how likely information from Google Search could help answer the prompt. The score is in the range `[0, 1]`, where 0 is the least likely and 1 is the most likely. This score is only populated when Google Search grounding and dynamic retrieval is enabled. It will be compared to the threshold to determine whether to trigger Google Search. + */ + googleSearchDynamicRetrievalScore?: number | null; + } + /** + * Request message for VertexRagService.RetrieveContexts. + */ + export interface Schema$GoogleCloudAiplatformV1RetrieveContextsRequest { + /** + * Required. Single RAG retrieve query. + */ + query?: Schema$GoogleCloudAiplatformV1RagQuery; + /** + * The data source for Vertex RagStore. + */ + vertexRagStore?: Schema$GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore; + } + /** + * The data source for Vertex RagStore. + */ + export interface Schema$GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStore { + /** + * Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support. + */ + ragResources?: Schema$GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResource[]; + /** + * Optional. Only return contexts with vector distance smaller than the threshold. + */ + vectorDistanceThreshold?: number | null; + } + /** + * The definition of the Rag resource. + */ + export interface Schema$GoogleCloudAiplatformV1RetrieveContextsRequestVertexRagStoreRagResource { + /** + * Optional. RagCorpora resource name. Format: `projects/{project\}/locations/{location\}/ragCorpora/{rag_corpus\}` + */ + ragCorpus?: string | null; + /** + * Optional. rag_file_id. The files should be in the same rag_corpus set in rag_corpus field. + */ + ragFileIds?: string[] | null; + } + /** + * Response message for VertexRagService.RetrieveContexts. + */ + export interface Schema$GoogleCloudAiplatformV1RetrieveContextsResponse { + /** + * The contexts of the query. + */ + contexts?: Schema$GoogleCloudAiplatformV1RagContexts; + } /** * Input for rouge metric. */ @@ -10922,7 +12248,7 @@ export namespace aiplatform_v1 { */ maxWaitDuration?: string | null; /** - * Restarts the entire CustomJob if a worker gets restarted. This feature can be used by distributed training jobs that are not resilient to workers leaving and joining a job. + * Optional. Restarts the entire CustomJob if a worker gets restarted. This feature can be used by distributed training jobs that are not resilient to workers leaving and joining a job. */ restartJobOnWorkerRestart?: boolean | null; /** @@ -10930,7 +12256,7 @@ export namespace aiplatform_v1 { */ strategy?: string | null; /** - * The maximum job running time. The default is 7 days. + * Optional. The maximum job running time. The default is 7 days. */ timeout?: string | null; } @@ -10951,7 +12277,7 @@ export namespace aiplatform_v1 { */ description?: string | null; /** - * Optional. Possible values of the element of Type.STRING with enum format. For example we can define an Enum Direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]\} + * Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]\} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]\} */ enum?: string[] | null; /** @@ -12312,6 +13638,240 @@ export namespace aiplatform_v1 { */ yMin?: number | null; } + /** + * The A2 schema of a prompt. + */ + export interface Schema$GoogleCloudAiplatformV1SchemaPromptApiSchema { + /** + * The Schema version that represents changes to the API behavior. + */ + apiSchemaVersion?: string | null; + /** + * A list of execution instances for constructing a ready-to-use prompt. + */ + executions?: Schema$GoogleCloudAiplatformV1SchemaPromptInstancePromptExecution[]; + /** + * Multimodal prompt which embeds preambles to prompt string. + */ + multimodalPrompt?: Schema$GoogleCloudAiplatformV1SchemaPromptSpecMultimodalPrompt; + /** + * The prompt variation that stores preambles in separate fields. + */ + structuredPrompt?: Schema$GoogleCloudAiplatformV1SchemaPromptSpecStructuredPrompt; + /** + * The prompt variation for Translation use case. + */ + translationPrompt?: Schema$GoogleCloudAiplatformV1SchemaPromptSpecTranslationPrompt; + } + /** + * A prompt instance's parameters set that contains a set of variable values. + */ + export interface Schema$GoogleCloudAiplatformV1SchemaPromptInstancePromptExecution { + /** + * Maps variable names to their value. + */ + arguments?: { + [ + key: string + ]: Schema$GoogleCloudAiplatformV1SchemaPromptInstanceVariableValue; + } | null; + } + /** + * The value of a variable in prompt. + */ + export interface Schema$GoogleCloudAiplatformV1SchemaPromptInstanceVariableValue { + /** + * The parts of the variable value. + */ + partList?: Schema$GoogleCloudAiplatformV1SchemaPromptSpecPartList; + } + /** + * Prompt variation that embeds preambles to prompt string. + */ + export interface Schema$GoogleCloudAiplatformV1SchemaPromptSpecMultimodalPrompt { + /** + * The prompt message. + */ + promptMessage?: Schema$GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage; + } + /** + * A list of elements and information that make up a portion of prompt. + */ + export interface Schema$GoogleCloudAiplatformV1SchemaPromptSpecPartList { + /** + * A list of elements that can be part of a prompt. + */ + parts?: Schema$GoogleCloudAiplatformV1Part[]; + } + /** + * The prompt message that aligns with the prompt message in google.cloud.aiplatform.master.GenerateContentRequest. + */ + export interface Schema$GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage { + /** + * The content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history + latest request. + */ + contents?: Schema$GoogleCloudAiplatformV1Content[]; + /** + * Generation config. + */ + generationConfig?: Schema$GoogleCloudAiplatformV1GenerationConfig; + /** + * The model name. + */ + model?: string | null; + /** + * Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates. + */ + safetySettings?: Schema$GoogleCloudAiplatformV1SafetySetting[]; + /** + * The user provided system instructions for the model. Note: only text should be used in parts and content in each part will be in a separate paragraph. + */ + systemInstruction?: Schema$GoogleCloudAiplatformV1Content; + /** + * Tool config. This config is shared for all tools provided in the request. + */ + toolConfig?: Schema$GoogleCloudAiplatformV1ToolConfig; + /** + * A list of `Tools` the model may use to generate the next response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. + */ + tools?: Schema$GoogleCloudAiplatformV1Tool[]; + } + /** + * A pair of sentences used as reference in source and target languages. + */ + export interface Schema$GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePair { + /** + * Source sentence in the sentence pair. + */ + sourceSentence?: string | null; + /** + * Target sentence in the sentence pair. + */ + targetSentence?: string | null; + } + /** + * A list of reference sentence pairs. + */ + export interface Schema$GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePairList { + /** + * Reference sentence pairs. + */ + referenceSentencePairs?: Schema$GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePair[]; + } + /** + * Prompt variation that stores preambles in separate fields. + */ + export interface Schema$GoogleCloudAiplatformV1SchemaPromptSpecStructuredPrompt { + /** + * Preamble: The context of the prompt. + */ + context?: Schema$GoogleCloudAiplatformV1Content; + /** + * Preamble: A set of examples for expected model response. + */ + examples?: Schema$GoogleCloudAiplatformV1SchemaPromptSpecPartList[]; + /** + * Preamble: For infill prompt, the prefix before expected model response. + */ + infillPrefix?: string | null; + /** + * Preamble: For infill prompt, the suffix after expected model response. + */ + infillSuffix?: string | null; + /** + * Preamble: The input prefixes before each example input. + */ + inputPrefixes?: string[] | null; + /** + * Preamble: The output prefixes before each example output. + */ + outputPrefixes?: string[] | null; + /** + * Preamble: The input test data for prediction. Each PartList in this field represents one text-only input set for a single model request. + */ + predictionInputs?: Schema$GoogleCloudAiplatformV1SchemaPromptSpecPartList[]; + /** + * The prompt message. + */ + promptMessage?: Schema$GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage; + } + /** + * The translation example that contains reference sentences from various sources. + */ + export interface Schema$GoogleCloudAiplatformV1SchemaPromptSpecTranslationExample { + /** + * The reference sentences from inline text. + */ + referenceSentencePairLists?: Schema$GoogleCloudAiplatformV1SchemaPromptSpecReferenceSentencePairList[]; + /** + * The reference sentences from file. + */ + referenceSentencesFileInputs?: Schema$GoogleCloudAiplatformV1SchemaPromptSpecTranslationSentenceFileInput[]; + } + export interface Schema$GoogleCloudAiplatformV1SchemaPromptSpecTranslationFileInputSource { + /** + * The file's contents. + */ + content?: string | null; + /** + * The file's display name. + */ + displayName?: string | null; + /** + * The file's mime type. + */ + mimeType?: string | null; + } + export interface Schema$GoogleCloudAiplatformV1SchemaPromptSpecTranslationGcsInputSource { + /** + * Source data URI. For example, `gs://my_bucket/my_object`. + */ + inputUri?: string | null; + } + /** + * Optional settings for translation prompt. + */ + export interface Schema$GoogleCloudAiplatformV1SchemaPromptSpecTranslationOption { + /** + * How many shots to use. + */ + numberOfShots?: number | null; + } + /** + * Prompt variation for Translation use case. + */ + export interface Schema$GoogleCloudAiplatformV1SchemaPromptSpecTranslationPrompt { + /** + * The translation example. + */ + example?: Schema$GoogleCloudAiplatformV1SchemaPromptSpecTranslationExample; + /** + * The translation option. + */ + option?: Schema$GoogleCloudAiplatformV1SchemaPromptSpecTranslationOption; + /** + * The prompt message. + */ + promptMessage?: Schema$GoogleCloudAiplatformV1SchemaPromptSpecPromptMessage; + /** + * The source language code. + */ + sourceLanguageCode?: string | null; + /** + * The target language code. + */ + targetLanguageCode?: string | null; + } + export interface Schema$GoogleCloudAiplatformV1SchemaPromptSpecTranslationSentenceFileInput { + /** + * Inlined file source. + */ + fileInputSource?: Schema$GoogleCloudAiplatformV1SchemaPromptSpecTranslationFileInputSource; + /** + * Cloud Storage file source. + */ + gcsInputSource?: Schema$GoogleCloudAiplatformV1SchemaPromptSpecTranslationGcsInputSource; + } /** * The metadata of Datasets that contain tables data. */ @@ -12421,6 +13981,10 @@ export namespace aiplatform_v1 { * User-created prompt note. Note size limit is 2KB. */ note?: string | null; + /** + * The API schema of the prompt to support both UI and SDK usages. + */ + promptApiSchema?: Schema$GoogleCloudAiplatformV1SchemaPromptApiSchema; /** * Type of the prompt dataset. */ @@ -13825,6 +15389,56 @@ export namespace aiplatform_v1 { */ serviceAccount?: string | null; } + /** + * The SharePointSources to pass to ImportRagFiles. + */ + export interface Schema$GoogleCloudAiplatformV1SharePointSources { + /** + * The SharePoint sources. + */ + sharePointSources?: Schema$GoogleCloudAiplatformV1SharePointSourcesSharePointSource[]; + } + /** + * An individual SharePointSource. + */ + export interface Schema$GoogleCloudAiplatformV1SharePointSourcesSharePointSource { + /** + * The Application ID for the app registered in Microsoft Azure Portal. The application must also be configured with MS Graph permissions "Files.ReadAll", "Sites.ReadAll" and BrowserSiteLists.Read.All. + */ + clientId?: string | null; + /** + * The application secret for the app registered in Azure. + */ + clientSecret?: Schema$GoogleCloudAiplatformV1ApiAuthApiKeyConfig; + /** + * The ID of the drive to download from. + */ + driveId?: string | null; + /** + * The name of the drive to download from. + */ + driveName?: string | null; + /** + * Output only. The SharePoint file id. Output only. + */ + fileId?: string | null; + /** + * The ID of the SharePoint folder to download from. + */ + sharepointFolderId?: string | null; + /** + * The path of the SharePoint folder to download from. + */ + sharepointFolderPath?: string | null; + /** + * The name of the SharePoint site to download from. This can be the site name or the site id. + */ + sharepointSiteName?: string | null; + /** + * Unique identifier of the Azure Active Directory Instance. + */ + tenantId?: string | null; + } /** * A set of Shielded Instance options. See [Images using supported Shielded VM features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm). */ @@ -13834,6 +15448,45 @@ export namespace aiplatform_v1 { */ enableSecureBoot?: boolean | null; } + /** + * The Slack source for the ImportRagFilesRequest. + */ + export interface Schema$GoogleCloudAiplatformV1SlackSource { + /** + * Required. The Slack channels. + */ + channels?: Schema$GoogleCloudAiplatformV1SlackSourceSlackChannels[]; + } + /** + * SlackChannels contains the Slack channels and corresponding access token. + */ + export interface Schema$GoogleCloudAiplatformV1SlackSourceSlackChannels { + /** + * Required. The SecretManager secret version resource name (e.g. projects/{project\}/secrets/{secret\}/versions/{version\}) storing the Slack channel access token that has access to the slack channel IDs. See: https://api.slack.com/tutorials/tracks/getting-a-token. + */ + apiKeyConfig?: Schema$GoogleCloudAiplatformV1ApiAuthApiKeyConfig; + /** + * Required. The Slack channel IDs. + */ + channels?: Schema$GoogleCloudAiplatformV1SlackSourceSlackChannelsSlackChannel[]; + } + /** + * SlackChannel contains the Slack channel ID and the time range to import. + */ + export interface Schema$GoogleCloudAiplatformV1SlackSourceSlackChannelsSlackChannel { + /** + * Required. The Slack channel ID. + */ + channelId?: string | null; + /** + * Optional. The ending timestamp for messages to import. + */ + endTime?: string | null; + /** + * Optional. The starting timestamp for messages to import. + */ + startTime?: string | null; + } /** * Config for SmoothGrad approximation of gradients. When enabled, the gradients are approximated by averaging the gradients from noisy samples in the vicinity of the inputs. Adding noise can help improve the computed gradients. Refer to this paper for more details: https://arxiv.org/pdf/1706.03825.pdf */ @@ -13880,6 +15533,15 @@ export namespace aiplatform_v1 { */ specialistWorkerEmails?: string[] | null; } + /** + * The speech generation config. + */ + export interface Schema$GoogleCloudAiplatformV1SpeechConfig { + /** + * The configuration for the speaker to use. + */ + voiceConfig?: Schema$GoogleCloudAiplatformV1VoiceConfig; + } /** * Metadata information for NotebookService.StartNotebookRuntime. */ @@ -13897,6 +15559,10 @@ export namespace aiplatform_v1 { * Request message for NotebookService.StartNotebookRuntime. */ export interface Schema$GoogleCloudAiplatformV1StartNotebookRuntimeRequest {} + /** + * Request message for NotebookService.StopNotebookRuntime. + */ + export interface Schema$GoogleCloudAiplatformV1StopNotebookRuntimeRequest {} /** * Request message for VizierService.StopTrial. */ @@ -13949,7 +15615,7 @@ export namespace aiplatform_v1 { parameters?: Schema$GoogleCloudAiplatformV1Tensor; } /** - * Request message for FeaturestoreOnlineServingService.StreamingFeatureValuesRead. + * Request message for FeaturestoreOnlineServingService.StreamingReadFeatureValues. */ export interface Schema$GoogleCloudAiplatformV1StreamingReadFeatureValuesRequest { /** @@ -13961,6 +15627,19 @@ export namespace aiplatform_v1 { */ featureSelector?: Schema$GoogleCloudAiplatformV1FeatureSelector; } + /** + * Request message for ReasoningEngineExecutionService.StreamQuery. + */ + export interface Schema$GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest { + /** + * Optional. Class method to be used for the stream query. It is optional and defaults to "stream_query" if unspecified. + */ + classMethod?: string | null; + /** + * Optional. Input content provided by users in JSON object format. Examples include text query, function calling parameters, media bytes, etc. + */ + input?: {[key: string]: any} | null; + } /** * Request message for PredictionService.StreamRawPredict. */ @@ -15123,6 +16802,10 @@ export namespace aiplatform_v1 { * Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 128 function declarations can be provided. */ functionDeclarations?: Schema$GoogleCloudAiplatformV1FunctionDeclaration[]; + /** + * Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google. + */ + googleSearch?: Schema$GoogleCloudAiplatformV1ToolGoogleSearch; /** * Optional. GoogleSearchRetrieval tool type. Specialized retrieval tool that is powered by Google search. */ @@ -15132,6 +16815,19 @@ export namespace aiplatform_v1 { */ retrieval?: Schema$GoogleCloudAiplatformV1Retrieval; } + /** + * Spec for tool call. + */ + export interface Schema$GoogleCloudAiplatformV1ToolCall { + /** + * Optional. Spec for tool input + */ + toolInput?: string | null; + /** + * Required. Spec for tool name + */ + toolName?: string | null; + } /** * Input for tool call valid metric. */ @@ -15189,6 +16885,10 @@ export namespace aiplatform_v1 { */ functionCallingConfig?: Schema$GoogleCloudAiplatformV1FunctionCallingConfig; } + /** + * GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google. + */ + export interface Schema$GoogleCloudAiplatformV1ToolGoogleSearch {} /** * Input for tool name match metric. */ @@ -15334,7 +17034,7 @@ export namespace aiplatform_v1 { */ export interface Schema$GoogleCloudAiplatformV1ToolParameterKVMatchSpec { /** - * Optional. Whether to use STRCIT string match on parameter values. + * Optional. Whether to use STRICT string match on parameter values. */ useStrictStringMatch?: boolean | null; } @@ -15420,6 +17120,304 @@ export namespace aiplatform_v1 { */ updateTime?: string | null; } + /** + * Spec for trajectory. + */ + export interface Schema$GoogleCloudAiplatformV1Trajectory { + /** + * Required. Tool calls in the trajectory. + */ + toolCalls?: Schema$GoogleCloudAiplatformV1ToolCall[]; + } + /** + * Instances and metric spec for TrajectoryAnyOrderMatch metric. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInput { + /** + * Required. Repeated TrajectoryAnyOrderMatch instance. + */ + instances?: Schema$GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInstance[]; + /** + * Required. Spec for TrajectoryAnyOrderMatch metric. + */ + metricSpec?: Schema$GoogleCloudAiplatformV1TrajectoryAnyOrderMatchSpec; + } + /** + * Spec for TrajectoryAnyOrderMatch instance. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectoryAnyOrderMatchInstance { + /** + * Required. Spec for predicted tool call trajectory. + */ + predictedTrajectory?: Schema$GoogleCloudAiplatformV1Trajectory; + /** + * Required. Spec for reference tool call trajectory. + */ + referenceTrajectory?: Schema$GoogleCloudAiplatformV1Trajectory; + } + /** + * TrajectoryAnyOrderMatch metric value for an instance. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectoryAnyOrderMatchMetricValue { + /** + * Output only. TrajectoryAnyOrderMatch score. + */ + score?: number | null; + } + /** + * Results for TrajectoryAnyOrderMatch metric. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectoryAnyOrderMatchResults { + /** + * Output only. TrajectoryAnyOrderMatch metric values. + */ + trajectoryAnyOrderMatchMetricValues?: Schema$GoogleCloudAiplatformV1TrajectoryAnyOrderMatchMetricValue[]; + } + /** + * Spec for TrajectoryAnyOrderMatch metric - returns 1 if all tool calls in the reference trajectory appear in the predicted trajectory in any order, else 0. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectoryAnyOrderMatchSpec {} + /** + * Instances and metric spec for TrajectoryExactMatch metric. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectoryExactMatchInput { + /** + * Required. Repeated TrajectoryExactMatch instance. + */ + instances?: Schema$GoogleCloudAiplatformV1TrajectoryExactMatchInstance[]; + /** + * Required. Spec for TrajectoryExactMatch metric. + */ + metricSpec?: Schema$GoogleCloudAiplatformV1TrajectoryExactMatchSpec; + } + /** + * Spec for TrajectoryExactMatch instance. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectoryExactMatchInstance { + /** + * Required. Spec for predicted tool call trajectory. + */ + predictedTrajectory?: Schema$GoogleCloudAiplatformV1Trajectory; + /** + * Required. Spec for reference tool call trajectory. + */ + referenceTrajectory?: Schema$GoogleCloudAiplatformV1Trajectory; + } + /** + * TrajectoryExactMatch metric value for an instance. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectoryExactMatchMetricValue { + /** + * Output only. TrajectoryExactMatch score. + */ + score?: number | null; + } + /** + * Results for TrajectoryExactMatch metric. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectoryExactMatchResults { + /** + * Output only. TrajectoryExactMatch metric values. + */ + trajectoryExactMatchMetricValues?: Schema$GoogleCloudAiplatformV1TrajectoryExactMatchMetricValue[]; + } + /** + * Spec for TrajectoryExactMatch metric - returns 1 if tool calls in the reference trajectory exactly match the predicted trajectory, else 0. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectoryExactMatchSpec {} + /** + * Instances and metric spec for TrajectoryInOrderMatch metric. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectoryInOrderMatchInput { + /** + * Required. Repeated TrajectoryInOrderMatch instance. + */ + instances?: Schema$GoogleCloudAiplatformV1TrajectoryInOrderMatchInstance[]; + /** + * Required. Spec for TrajectoryInOrderMatch metric. + */ + metricSpec?: Schema$GoogleCloudAiplatformV1TrajectoryInOrderMatchSpec; + } + /** + * Spec for TrajectoryInOrderMatch instance. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectoryInOrderMatchInstance { + /** + * Required. Spec for predicted tool call trajectory. + */ + predictedTrajectory?: Schema$GoogleCloudAiplatformV1Trajectory; + /** + * Required. Spec for reference tool call trajectory. + */ + referenceTrajectory?: Schema$GoogleCloudAiplatformV1Trajectory; + } + /** + * TrajectoryInOrderMatch metric value for an instance. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectoryInOrderMatchMetricValue { + /** + * Output only. TrajectoryInOrderMatch score. + */ + score?: number | null; + } + /** + * Results for TrajectoryInOrderMatch metric. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectoryInOrderMatchResults { + /** + * Output only. TrajectoryInOrderMatch metric values. + */ + trajectoryInOrderMatchMetricValues?: Schema$GoogleCloudAiplatformV1TrajectoryInOrderMatchMetricValue[]; + } + /** + * Spec for TrajectoryInOrderMatch metric - returns 1 if tool calls in the reference trajectory appear in the predicted trajectory in the same order, else 0. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectoryInOrderMatchSpec {} + /** + * Instances and metric spec for TrajectoryPrecision metric. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectoryPrecisionInput { + /** + * Required. Repeated TrajectoryPrecision instance. + */ + instances?: Schema$GoogleCloudAiplatformV1TrajectoryPrecisionInstance[]; + /** + * Required. Spec for TrajectoryPrecision metric. + */ + metricSpec?: Schema$GoogleCloudAiplatformV1TrajectoryPrecisionSpec; + } + /** + * Spec for TrajectoryPrecision instance. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectoryPrecisionInstance { + /** + * Required. Spec for predicted tool call trajectory. + */ + predictedTrajectory?: Schema$GoogleCloudAiplatformV1Trajectory; + /** + * Required. Spec for reference tool call trajectory. + */ + referenceTrajectory?: Schema$GoogleCloudAiplatformV1Trajectory; + } + /** + * TrajectoryPrecision metric value for an instance. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectoryPrecisionMetricValue { + /** + * Output only. TrajectoryPrecision score. + */ + score?: number | null; + } + /** + * Results for TrajectoryPrecision metric. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectoryPrecisionResults { + /** + * Output only. TrajectoryPrecision metric values. + */ + trajectoryPrecisionMetricValues?: Schema$GoogleCloudAiplatformV1TrajectoryPrecisionMetricValue[]; + } + /** + * Spec for TrajectoryPrecision metric - returns a float score based on average precision of individual tool calls. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectoryPrecisionSpec {} + /** + * Instances and metric spec for TrajectoryRecall metric. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectoryRecallInput { + /** + * Required. Repeated TrajectoryRecall instance. + */ + instances?: Schema$GoogleCloudAiplatformV1TrajectoryRecallInstance[]; + /** + * Required. Spec for TrajectoryRecall metric. + */ + metricSpec?: Schema$GoogleCloudAiplatformV1TrajectoryRecallSpec; + } + /** + * Spec for TrajectoryRecall instance. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectoryRecallInstance { + /** + * Required. Spec for predicted tool call trajectory. + */ + predictedTrajectory?: Schema$GoogleCloudAiplatformV1Trajectory; + /** + * Required. Spec for reference tool call trajectory. + */ + referenceTrajectory?: Schema$GoogleCloudAiplatformV1Trajectory; + } + /** + * TrajectoryRecall metric value for an instance. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectoryRecallMetricValue { + /** + * Output only. TrajectoryRecall score. + */ + score?: number | null; + } + /** + * Results for TrajectoryRecall metric. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectoryRecallResults { + /** + * Output only. TrajectoryRecall metric values. + */ + trajectoryRecallMetricValues?: Schema$GoogleCloudAiplatformV1TrajectoryRecallMetricValue[]; + } + /** + * Spec for TrajectoryRecall metric - returns a float score based on average recall of individual tool calls. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectoryRecallSpec {} + /** + * Instances and metric spec for TrajectorySingleToolUse metric. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectorySingleToolUseInput { + /** + * Required. Repeated TrajectorySingleToolUse instance. + */ + instances?: Schema$GoogleCloudAiplatformV1TrajectorySingleToolUseInstance[]; + /** + * Required. Spec for TrajectorySingleToolUse metric. + */ + metricSpec?: Schema$GoogleCloudAiplatformV1TrajectorySingleToolUseSpec; + } + /** + * Spec for TrajectorySingleToolUse instance. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectorySingleToolUseInstance { + /** + * Required. Spec for predicted tool call trajectory. + */ + predictedTrajectory?: Schema$GoogleCloudAiplatformV1Trajectory; + } + /** + * TrajectorySingleToolUse metric value for an instance. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectorySingleToolUseMetricValue { + /** + * Output only. TrajectorySingleToolUse score. + */ + score?: number | null; + } + /** + * Results for TrajectorySingleToolUse metric. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectorySingleToolUseResults { + /** + * Output only. TrajectorySingleToolUse metric values. + */ + trajectorySingleToolUseMetricValues?: Schema$GoogleCloudAiplatformV1TrajectorySingleToolUseMetricValue[]; + } + /** + * Spec for TrajectorySingleToolUse metric - returns 1 if tool is present in the predicted trajectory, else 0. + */ + export interface Schema$GoogleCloudAiplatformV1TrajectorySingleToolUseSpec { + /** + * Required. Spec for tool name to be checked for in the predicted trajectory. + */ + toolName?: string | null; + } /** * A message representing a Trial. A Trial contains a unique set of Parameters that has been or will be evaluated, along with the objective metrics got by running the Trial. */ @@ -15540,7 +17538,7 @@ export namespace aiplatform_v1 { */ export interface Schema$GoogleCloudAiplatformV1TuningJob { /** - * The base model that is being tuned, e.g., "gemini-1.0-pro-002". + * The base model that is being tuned, e.g., "gemini-1.0-pro-002". . */ baseModel?: string | null; /** @@ -15575,6 +17573,10 @@ export namespace aiplatform_v1 { * Output only. Identifier. Resource name of a TuningJob. Format: `projects/{project\}/locations/{location\}/tuningJobs/{tuning_job\}` */ name?: string | null; + /** + * The service account that the tuningJob workload runs as. If not specified, the Vertex AI Secure Fine-Tuned Service Agent in the project will be used. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-secure-fine-tuning-service-agent Users starting the pipeline must have the `iam.serviceAccounts.actAs` permission on this service account. + */ + serviceAccount?: string | null; /** * Output only. Time when the TuningJob for the first time entered the `JOB_STATE_RUNNING` state. */ @@ -15678,6 +17680,15 @@ export namespace aiplatform_v1 { */ genericMetadata?: Schema$GoogleCloudAiplatformV1GenericOperationMetadata; } + /** + * Request message for EndpointService.UpdateEndpointLongRunning. + */ + export interface Schema$GoogleCloudAiplatformV1UpdateEndpointLongRunningRequest { + /** + * Required. The Endpoint which replaces the resource on the server. Currently we only support updating the `client_connection_config` field, all the other fields' update will be blocked. + */ + endpoint?: Schema$GoogleCloudAiplatformV1Endpoint; + } /** * Runtime operation information for ModelService.UpdateExplanationDataset. */ @@ -15862,6 +17873,41 @@ export namespace aiplatform_v1 { */ modelVersionId?: string | null; } + /** + * Config for uploading RagFile. + */ + export interface Schema$GoogleCloudAiplatformV1UploadRagFileConfig { + /** + * Specifies the transformation config for RagFiles. + */ + ragFileTransformationConfig?: Schema$GoogleCloudAiplatformV1RagFileTransformationConfig; + } + /** + * Request message for VertexRagDataService.UploadRagFile. + */ + export interface Schema$GoogleCloudAiplatformV1UploadRagFileRequest { + /** + * Required. The RagFile to upload. + */ + ragFile?: Schema$GoogleCloudAiplatformV1RagFile; + /** + * Required. The config for the RagFiles to be uploaded into the RagCorpus. VertexRagDataService.UploadRagFile. + */ + uploadRagFileConfig?: Schema$GoogleCloudAiplatformV1UploadRagFileConfig; + } + /** + * Response message for VertexRagDataService.UploadRagFile. + */ + export interface Schema$GoogleCloudAiplatformV1UploadRagFileResponse { + /** + * The error that occurred while processing the RagFile. + */ + error?: Schema$GoogleRpcStatus; + /** + * The RagFile that had been uploaded into the RagCorpus. + */ + ragFile?: Schema$GoogleCloudAiplatformV1RagFile; + } /** * Request message for IndexService.UpsertDatapoints */ @@ -15926,14 +17972,14 @@ export namespace aiplatform_v1 { * Retrieve from Vertex RAG Store for grounding. */ export interface Schema$GoogleCloudAiplatformV1VertexRagStore { - /** - * Optional. Deprecated. Please use rag_resources instead. - */ - ragCorpora?: string[] | null; /** * Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support. */ ragResources?: Schema$GoogleCloudAiplatformV1VertexRagStoreRagResource[]; + /** + * Optional. The retrieval config for the Rag query. + */ + ragRetrievalConfig?: Schema$GoogleCloudAiplatformV1RagRetrievalConfig; /** * Optional. Number of top k results to return from the selected corpora. */ @@ -15969,6 +18015,15 @@ export namespace aiplatform_v1 { */ startOffset?: string | null; } + /** + * The configuration for the voice to use. + */ + export interface Schema$GoogleCloudAiplatformV1VoiceConfig { + /** + * The configuration for the prebuilt voice to use. + */ + prebuiltVoiceConfig?: Schema$GoogleCloudAiplatformV1PrebuiltVoiceConfig; + } /** * Represents the spec of a worker pool in a job. */ @@ -16839,7 +18894,7 @@ export namespace aiplatform_v1 { } export interface Params$Resource$Datasets$Patch extends StandardParameters { /** - * Output only. Identifier. The resource name of the Dataset. + * Output only. Identifier. The resource name of the Dataset. Format: `projects/{project\}/locations/{location\}/datasets/{dataset\}` */ name?: string; /** @@ -17952,6 +20007,140 @@ export namespace aiplatform_v1 { requestBody?: Schema$GoogleCloudAiplatformV1GenerateContentRequest; } + export class Resource$Media { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Upload a file into a RagCorpus. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + upload( + params: Params$Resource$Media$Upload, + options: StreamMethodOptions + ): GaxiosPromise; + upload( + params?: Params$Resource$Media$Upload, + options?: MethodOptions + ): GaxiosPromise; + upload( + params: Params$Resource$Media$Upload, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + upload( + params: Params$Resource$Media$Upload, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + upload( + params: Params$Resource$Media$Upload, + callback: BodyResponseCallback + ): void; + upload( + callback: BodyResponseCallback + ): void; + upload( + paramsOrCallback?: + | Params$Resource$Media$Upload + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || {}) as Params$Resource$Media$Upload; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Media$Upload; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/ragFiles:upload').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + mediaUrl: (rootUrl + '/upload/v1/{+parent}/ragFiles:upload').replace( + /([^:]\/)\/+/g, + '$1' + ), + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Media$Upload extends StandardParameters { + /** + * Required. The name of the RagCorpus resource into which to upload the file. Format: `projects/{project\}/locations/{location\}/ragCorpora/{rag_corpus\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1UploadRagFileRequest; + + /** + * Media metadata + */ + media?: { + /** + * Media mime-type + */ + mimeType?: string; + + /** + * Media body contents + */ + body?: any; + }; + } + export class Resource$Projects { context: APIRequestContext; locations: Resource$Projects$Locations; @@ -17959,11 +20148,218 @@ export namespace aiplatform_v1 { this.context = context; this.locations = new Resource$Projects$Locations(this.context); } + + /** + * Gets a GenAI cache config. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getCacheConfig( + params: Params$Resource$Projects$Getcacheconfig, + options: StreamMethodOptions + ): GaxiosPromise; + getCacheConfig( + params?: Params$Resource$Projects$Getcacheconfig, + options?: MethodOptions + ): GaxiosPromise; + getCacheConfig( + params: Params$Resource$Projects$Getcacheconfig, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getCacheConfig( + params: Params$Resource$Projects$Getcacheconfig, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getCacheConfig( + params: Params$Resource$Projects$Getcacheconfig, + callback: BodyResponseCallback + ): void; + getCacheConfig( + callback: BodyResponseCallback + ): void; + getCacheConfig( + paramsOrCallback?: + | Params$Resource$Projects$Getcacheconfig + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Getcacheconfig; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Getcacheconfig; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates a cache config. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + updateCacheConfig( + params: Params$Resource$Projects$Updatecacheconfig, + options: StreamMethodOptions + ): GaxiosPromise; + updateCacheConfig( + params?: Params$Resource$Projects$Updatecacheconfig, + options?: MethodOptions + ): GaxiosPromise; + updateCacheConfig( + params: Params$Resource$Projects$Updatecacheconfig, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateCacheConfig( + params: Params$Resource$Projects$Updatecacheconfig, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateCacheConfig( + params: Params$Resource$Projects$Updatecacheconfig, + callback: BodyResponseCallback + ): void; + updateCacheConfig( + callback: BodyResponseCallback + ): void; + updateCacheConfig( + paramsOrCallback?: + | Params$Resource$Projects$Updatecacheconfig + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Updatecacheconfig; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Updatecacheconfig; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Getcacheconfig + extends StandardParameters { + /** + * Required. Name of the cache config. Format: - `projects/{project\}/cacheConfig`. + */ + name?: string; + } + export interface Params$Resource$Projects$Updatecacheconfig + extends StandardParameters { + /** + * Identifier. Name of the cache config. Format: - `projects/{project\}/cacheConfig`. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1CacheConfig; } export class Resource$Projects$Locations { context: APIRequestContext; batchPredictionJobs: Resource$Projects$Locations$Batchpredictionjobs; + cachedContents: Resource$Projects$Locations$Cachedcontents; customJobs: Resource$Projects$Locations$Customjobs; dataLabelingJobs: Resource$Projects$Locations$Datalabelingjobs; datasets: Resource$Projects$Locations$Datasets; @@ -17987,6 +20383,8 @@ export namespace aiplatform_v1 { persistentResources: Resource$Projects$Locations$Persistentresources; pipelineJobs: Resource$Projects$Locations$Pipelinejobs; publishers: Resource$Projects$Locations$Publishers; + ragCorpora: Resource$Projects$Locations$Ragcorpora; + reasoningEngines: Resource$Projects$Locations$Reasoningengines; schedules: Resource$Projects$Locations$Schedules; specialistPools: Resource$Projects$Locations$Specialistpools; studies: Resource$Projects$Locations$Studies; @@ -17997,6 +20395,9 @@ export namespace aiplatform_v1 { this.context = context; this.batchPredictionJobs = new Resource$Projects$Locations$Batchpredictionjobs(this.context); + this.cachedContents = new Resource$Projects$Locations$Cachedcontents( + this.context + ); this.customJobs = new Resource$Projects$Locations$Customjobs( this.context ); @@ -18050,6 +20451,12 @@ export namespace aiplatform_v1 { this.publishers = new Resource$Projects$Locations$Publishers( this.context ); + this.ragCorpora = new Resource$Projects$Locations$Ragcorpora( + this.context + ); + this.reasoningEngines = new Resource$Projects$Locations$Reasoningengines( + this.context + ); this.schedules = new Resource$Projects$Locations$Schedules(this.context); this.specialistPools = new Resource$Projects$Locations$Specialistpools( this.context @@ -18065,6 +20472,200 @@ export namespace aiplatform_v1 { ); } + /** + * Given an input prompt, it returns augmented prompt from vertex rag store to guide LLM towards generating grounded responses. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + augmentPrompt( + params: Params$Resource$Projects$Locations$Augmentprompt, + options: StreamMethodOptions + ): GaxiosPromise; + augmentPrompt( + params?: Params$Resource$Projects$Locations$Augmentprompt, + options?: MethodOptions + ): GaxiosPromise; + augmentPrompt( + params: Params$Resource$Projects$Locations$Augmentprompt, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + augmentPrompt( + params: Params$Resource$Projects$Locations$Augmentprompt, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + augmentPrompt( + params: Params$Resource$Projects$Locations$Augmentprompt, + callback: BodyResponseCallback + ): void; + augmentPrompt( + callback: BodyResponseCallback + ): void; + augmentPrompt( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Augmentprompt + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Augmentprompt; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Augmentprompt; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}:augmentPrompt').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Given an input text, it returns a score that evaluates the factuality of the text. It also extracts and returns claims from the text and provides supporting facts. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + corroborateContent( + params: Params$Resource$Projects$Locations$Corroboratecontent, + options: StreamMethodOptions + ): GaxiosPromise; + corroborateContent( + params?: Params$Resource$Projects$Locations$Corroboratecontent, + options?: MethodOptions + ): GaxiosPromise; + corroborateContent( + params: Params$Resource$Projects$Locations$Corroboratecontent, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + corroborateContent( + params: Params$Resource$Projects$Locations$Corroboratecontent, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + corroborateContent( + params: Params$Resource$Projects$Locations$Corroboratecontent, + callback: BodyResponseCallback + ): void; + corroborateContent( + callback: BodyResponseCallback + ): void; + corroborateContent( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Corroboratecontent + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Corroboratecontent; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Corroboratecontent; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}:corroborateContent').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + /** * Evaluates instances based on a given metric. * @@ -18350,8 +20951,129 @@ export namespace aiplatform_v1 { ); } } + + /** + * Retrieves relevant contexts for a query. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + retrieveContexts( + params: Params$Resource$Projects$Locations$Retrievecontexts, + options: StreamMethodOptions + ): GaxiosPromise; + retrieveContexts( + params?: Params$Resource$Projects$Locations$Retrievecontexts, + options?: MethodOptions + ): GaxiosPromise; + retrieveContexts( + params: Params$Resource$Projects$Locations$Retrievecontexts, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieveContexts( + params: Params$Resource$Projects$Locations$Retrievecontexts, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieveContexts( + params: Params$Resource$Projects$Locations$Retrievecontexts, + callback: BodyResponseCallback + ): void; + retrieveContexts( + callback: BodyResponseCallback + ): void; + retrieveContexts( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Retrievecontexts + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Retrievecontexts; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Retrievecontexts; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}:retrieveContexts').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Augmentprompt + extends StandardParameters { + /** + * Required. The resource name of the Location from which to augment prompt. The users must have permission to make a call in the project. Format: `projects/{project\}/locations/{location\}`. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1AugmentPromptRequest; } + export interface Params$Resource$Projects$Locations$Corroboratecontent + extends StandardParameters { + /** + * Required. The resource name of the Location from which to corroborate text. The users must have permission to make a call in the project. Format: `projects/{project\}/locations/{location\}`. + */ + parent?: string; + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1CorroborateContentRequest; + } export interface Params$Resource$Projects$Locations$Evaluateinstances extends StandardParameters { /** @@ -18390,6 +21112,18 @@ export namespace aiplatform_v1 { */ pageToken?: string; } + export interface Params$Resource$Projects$Locations$Retrievecontexts + extends StandardParameters { + /** + * Required. The resource name of the Location from which to retrieve RagContexts. The users must have permission to make a call in the project. Format: `projects/{project\}/locations/{location\}`. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1RetrieveContextsRequest; + } export class Resource$Projects$Locations$Batchpredictionjobs { context: APIRequestContext; @@ -18933,106 +21667,14 @@ export namespace aiplatform_v1 { readMask?: string; } - export class Resource$Projects$Locations$Customjobs { + export class Resource$Projects$Locations$Cachedcontents { context: APIRequestContext; - operations: Resource$Projects$Locations$Customjobs$Operations; constructor(context: APIRequestContext) { this.context = context; - this.operations = new Resource$Projects$Locations$Customjobs$Operations( - this.context - ); - } - - /** - * Cancels a CustomJob. Starts asynchronous cancellation on the CustomJob. The server makes a best effort to cancel the job, but success is not guaranteed. Clients can use JobService.GetCustomJob or other methods to check whether the cancellation succeeded or whether the job completed despite cancellation. On successful cancellation, the CustomJob is not deleted; instead it becomes a job with a CustomJob.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and CustomJob.state is set to `CANCELLED`. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - cancel( - params: Params$Resource$Projects$Locations$Customjobs$Cancel, - options: StreamMethodOptions - ): GaxiosPromise; - cancel( - params?: Params$Resource$Projects$Locations$Customjobs$Cancel, - options?: MethodOptions - ): GaxiosPromise; - cancel( - params: Params$Resource$Projects$Locations$Customjobs$Cancel, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - cancel( - params: Params$Resource$Projects$Locations$Customjobs$Cancel, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - cancel( - params: Params$Resource$Projects$Locations$Customjobs$Cancel, - callback: BodyResponseCallback - ): void; - cancel(callback: BodyResponseCallback): void; - cancel( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Customjobs$Cancel - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Customjobs$Cancel; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Customjobs$Cancel; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1/{+name}:cancel').replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['name'], - pathParams: ['name'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } } /** - * Creates a CustomJob. A created CustomJob right away will be attempted to be run. + * Creates cached content, this call will initialize the cached content in the data storage, and users need to pay for the cache data storage. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -19040,56 +21682,56 @@ export namespace aiplatform_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ create( - params: Params$Resource$Projects$Locations$Customjobs$Create, + params: Params$Resource$Projects$Locations$Cachedcontents$Create, options: StreamMethodOptions ): GaxiosPromise; create( - params?: Params$Resource$Projects$Locations$Customjobs$Create, + params?: Params$Resource$Projects$Locations$Cachedcontents$Create, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; create( - params: Params$Resource$Projects$Locations$Customjobs$Create, + params: Params$Resource$Projects$Locations$Cachedcontents$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Customjobs$Create, + params: Params$Resource$Projects$Locations$Cachedcontents$Create, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Customjobs$Create, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Cachedcontents$Create, + callback: BodyResponseCallback ): void; create( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Customjobs$Create - | BodyResponseCallback + | Params$Resource$Projects$Locations$Cachedcontents$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Customjobs$Create; + {}) as Params$Resource$Projects$Locations$Cachedcontents$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Customjobs$Create; + params = {} as Params$Resource$Projects$Locations$Cachedcontents$Create; options = {}; } @@ -19102,7 +21744,7 @@ export namespace aiplatform_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/customJobs').replace( + url: (rootUrl + '/v1/{+parent}/cachedContents').replace( /([^:]\/)\/+/g, '$1' ), @@ -19117,19 +21759,19 @@ export namespace aiplatform_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Deletes a CustomJob. + * Deletes cached content * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -19137,56 +21779,52 @@ export namespace aiplatform_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Projects$Locations$Customjobs$Delete, + params: Params$Resource$Projects$Locations$Cachedcontents$Delete, options: StreamMethodOptions ): GaxiosPromise; delete( - params?: Params$Resource$Projects$Locations$Customjobs$Delete, + params?: Params$Resource$Projects$Locations$Cachedcontents$Delete, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; delete( - params: Params$Resource$Projects$Locations$Customjobs$Delete, + params: Params$Resource$Projects$Locations$Cachedcontents$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Customjobs$Delete, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Projects$Locations$Customjobs$Delete, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Cachedcontents$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; delete( - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Cachedcontents$Delete, + callback: BodyResponseCallback ): void; + delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Customjobs$Delete - | BodyResponseCallback + | Params$Resource$Projects$Locations$Cachedcontents$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Customjobs$Delete; + {}) as Params$Resource$Projects$Locations$Cachedcontents$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Customjobs$Delete; + params = {} as Params$Resource$Projects$Locations$Cachedcontents$Delete; options = {}; } @@ -19211,17 +21849,17 @@ export namespace aiplatform_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets a CustomJob. + * Gets cached content configurations * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -19229,56 +21867,56 @@ export namespace aiplatform_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Projects$Locations$Customjobs$Get, + params: Params$Resource$Projects$Locations$Cachedcontents$Get, options: StreamMethodOptions ): GaxiosPromise; get( - params?: Params$Resource$Projects$Locations$Customjobs$Get, + params?: Params$Resource$Projects$Locations$Cachedcontents$Get, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; get( - params: Params$Resource$Projects$Locations$Customjobs$Get, + params: Params$Resource$Projects$Locations$Cachedcontents$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Customjobs$Get, + params: Params$Resource$Projects$Locations$Cachedcontents$Get, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Customjobs$Get, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Cachedcontents$Get, + callback: BodyResponseCallback ): void; get( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Customjobs$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Cachedcontents$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Customjobs$Get; + {}) as Params$Resource$Projects$Locations$Cachedcontents$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Customjobs$Get; + params = {} as Params$Resource$Projects$Locations$Cachedcontents$Get; options = {}; } @@ -19303,19 +21941,19 @@ export namespace aiplatform_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Lists CustomJobs in a Location. + * Lists cached contents in a project * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -19323,56 +21961,56 @@ export namespace aiplatform_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Projects$Locations$Customjobs$List, + params: Params$Resource$Projects$Locations$Cachedcontents$List, options: StreamMethodOptions ): GaxiosPromise; list( - params?: Params$Resource$Projects$Locations$Customjobs$List, + params?: Params$Resource$Projects$Locations$Cachedcontents$List, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; list( - params: Params$Resource$Projects$Locations$Customjobs$List, + params: Params$Resource$Projects$Locations$Cachedcontents$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Customjobs$List, + params: Params$Resource$Projects$Locations$Cachedcontents$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Customjobs$List, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Cachedcontents$List, + callback: BodyResponseCallback ): void; list( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Customjobs$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Cachedcontents$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Customjobs$List; + {}) as Params$Resource$Projects$Locations$Cachedcontents$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Customjobs$List; + params = {} as Params$Resource$Projects$Locations$Cachedcontents$List; options = {}; } @@ -19385,7 +22023,7 @@ export namespace aiplatform_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/customJobs').replace( + url: (rootUrl + '/v1/{+parent}/cachedContents').replace( /([^:]\/)\/+/g, '$1' ), @@ -19400,88 +22038,182 @@ export namespace aiplatform_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } - } - export interface Params$Resource$Projects$Locations$Customjobs$Cancel - extends StandardParameters { /** - * Required. The name of the CustomJob to cancel. Format: `projects/{project\}/locations/{location\}/customJobs/{custom_job\}` + * Updates cached content configurations + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - name?: string; + patch( + params: Params$Resource$Projects$Locations$Cachedcontents$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Cachedcontents$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Cachedcontents$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Cachedcontents$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Cachedcontents$Patch, + callback: BodyResponseCallback + ): void; + patch( + callback: BodyResponseCallback + ): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Cachedcontents$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Cachedcontents$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; - /** - * Request body metadata - */ - requestBody?: Schema$GoogleCloudAiplatformV1CancelCustomJobRequest; + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Cachedcontents$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } } - export interface Params$Resource$Projects$Locations$Customjobs$Create + + export interface Params$Resource$Projects$Locations$Cachedcontents$Create extends StandardParameters { /** - * Required. The resource name of the Location to create the CustomJob in. Format: `projects/{project\}/locations/{location\}` + * Required. The parent resource where the cached content will be created */ parent?: string; /** * Request body metadata */ - requestBody?: Schema$GoogleCloudAiplatformV1CustomJob; + requestBody?: Schema$GoogleCloudAiplatformV1CachedContent; } - export interface Params$Resource$Projects$Locations$Customjobs$Delete + export interface Params$Resource$Projects$Locations$Cachedcontents$Delete extends StandardParameters { /** - * Required. The name of the CustomJob resource to be deleted. Format: `projects/{project\}/locations/{location\}/customJobs/{custom_job\}` + * Required. The resource name referring to the cached content */ name?: string; } - export interface Params$Resource$Projects$Locations$Customjobs$Get + export interface Params$Resource$Projects$Locations$Cachedcontents$Get extends StandardParameters { /** - * Required. The name of the CustomJob resource. Format: `projects/{project\}/locations/{location\}/customJobs/{custom_job\}` + * Required. The resource name referring to the cached content */ name?: string; } - export interface Params$Resource$Projects$Locations$Customjobs$List + export interface Params$Resource$Projects$Locations$Cachedcontents$List extends StandardParameters { /** - * The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`\>`, `\>=` comparisons. `create_time` must be in RFC 3339 format. * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* - key existence Some examples of using the filter are: * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` * `state!="JOB_STATE_FAILED" OR display_name="my_job"` * `NOT display_name="my_job"` * `create_time\>"2021-05-18T00:00:00Z"` * `labels.keyA=valueA` * `labels.keyB:*` - */ - filter?: string; - /** - * The standard list page size. + * Optional. The maximum number of cached contents to return. The service may return fewer than this value. If unspecified, some default (under maximum) number of items will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. */ pageSize?: number; /** - * The standard list page token. Typically obtained via ListCustomJobsResponse.next_page_token of the previous JobService.ListCustomJobs call. + * Optional. A page token, received from a previous `ListCachedContents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCachedContents` must match the call that provided the page token. */ pageToken?: string; /** - * Required. The resource name of the Location to list the CustomJobs from. Format: `projects/{project\}/locations/{location\}` + * Required. The parent, which owns this collection of cached contents. */ parent?: string; + } + export interface Params$Resource$Projects$Locations$Cachedcontents$Patch + extends StandardParameters { /** - * Mask specifying which fields to read. + * Immutable. Identifier. The server-generated resource name of the cached content Format: projects/{project\}/locations/{location\}/cachedContents/{cached_content\} */ - readMask?: string; + name?: string; + /** + * Required. The list of fields to update. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1CachedContent; } - export class Resource$Projects$Locations$Customjobs$Operations { + export class Resource$Projects$Locations$Customjobs { context: APIRequestContext; + operations: Resource$Projects$Locations$Customjobs$Operations; constructor(context: APIRequestContext) { this.context = context; + this.operations = new Resource$Projects$Locations$Customjobs$Operations( + this.context + ); } /** - * 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`. + * Cancels a CustomJob. Starts asynchronous cancellation on the CustomJob. The server makes a best effort to cancel the job, but success is not guaranteed. Clients can use JobService.GetCustomJob or other methods to check whether the cancellation succeeded or whether the job completed despite cancellation. On successful cancellation, the CustomJob is not deleted; instead it becomes a job with a CustomJob.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`, and CustomJob.state is set to `CANCELLED`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -19489,31 +22221,31 @@ export namespace aiplatform_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ cancel( - params: Params$Resource$Projects$Locations$Customjobs$Operations$Cancel, + params: Params$Resource$Projects$Locations$Customjobs$Cancel, options: StreamMethodOptions ): GaxiosPromise; cancel( - params?: Params$Resource$Projects$Locations$Customjobs$Operations$Cancel, + params?: Params$Resource$Projects$Locations$Customjobs$Cancel, options?: MethodOptions ): GaxiosPromise; cancel( - params: Params$Resource$Projects$Locations$Customjobs$Operations$Cancel, + params: Params$Resource$Projects$Locations$Customjobs$Cancel, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; cancel( - params: Params$Resource$Projects$Locations$Customjobs$Operations$Cancel, + params: Params$Resource$Projects$Locations$Customjobs$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; cancel( - params: Params$Resource$Projects$Locations$Customjobs$Operations$Cancel, + params: Params$Resource$Projects$Locations$Customjobs$Cancel, callback: BodyResponseCallback ): void; cancel(callback: BodyResponseCallback): void; cancel( paramsOrCallback?: - | Params$Resource$Projects$Locations$Customjobs$Operations$Cancel + | Params$Resource$Projects$Locations$Customjobs$Cancel | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -19529,13 +22261,12 @@ export namespace aiplatform_v1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Customjobs$Operations$Cancel; + {}) as Params$Resource$Projects$Locations$Customjobs$Cancel; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Customjobs$Operations$Cancel; + params = {} as Params$Resource$Projects$Locations$Customjobs$Cancel; options = {}; } @@ -19570,61 +22301,64 @@ export namespace aiplatform_v1 { } /** - * 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`. + * Creates a CustomJob. A created CustomJob right away will be attempted to be run. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Projects$Locations$Customjobs$Operations$Delete, + create( + params: Params$Resource$Projects$Locations$Customjobs$Create, options: StreamMethodOptions ): GaxiosPromise; - delete( - params?: Params$Resource$Projects$Locations$Customjobs$Operations$Delete, + create( + params?: Params$Resource$Projects$Locations$Customjobs$Create, options?: MethodOptions - ): GaxiosPromise; - delete( - params: Params$Resource$Projects$Locations$Customjobs$Operations$Delete, + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Customjobs$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Customjobs$Operations$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Customjobs$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Customjobs$Operations$Delete, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Customjobs$Create, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + create( + callback: BodyResponseCallback + ): void; + create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Customjobs$Operations$Delete - | BodyResponseCallback + | Params$Resource$Projects$Locations$Customjobs$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Customjobs$Operations$Delete; + {}) as Params$Resource$Projects$Locations$Customjobs$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Customjobs$Operations$Delete; + params = {} as Params$Resource$Projects$Locations$Customjobs$Create; options = {}; } @@ -19637,65 +22371,70 @@ export namespace aiplatform_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + url: (rootUrl + '/v1/{+parent}/customJobs').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * 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. + * Deletes a CustomJob. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Projects$Locations$Customjobs$Operations$Get, + delete( + params: Params$Resource$Projects$Locations$Customjobs$Delete, options: StreamMethodOptions ): GaxiosPromise; - get( - params?: Params$Resource$Projects$Locations$Customjobs$Operations$Get, + delete( + params?: Params$Resource$Projects$Locations$Customjobs$Delete, options?: MethodOptions ): GaxiosPromise; - get( - params: Params$Resource$Projects$Locations$Customjobs$Operations$Get, + delete( + params: Params$Resource$Projects$Locations$Customjobs$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Customjobs$Operations$Get, + delete( + params: Params$Resource$Projects$Locations$Customjobs$Delete, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Customjobs$Operations$Get, + delete( + params: Params$Resource$Projects$Locations$Customjobs$Delete, callback: BodyResponseCallback ): void; - get( + delete( callback: BodyResponseCallback ): void; - get( + delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Customjobs$Operations$Get + | Params$Resource$Projects$Locations$Customjobs$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -19711,13 +22450,12 @@ export namespace aiplatform_v1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Customjobs$Operations$Get; + {}) as Params$Resource$Projects$Locations$Customjobs$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Customjobs$Operations$Get; + params = {} as Params$Resource$Projects$Locations$Customjobs$Delete; options = {}; } @@ -19731,7 +22469,7 @@ export namespace aiplatform_v1 { options: Object.assign( { url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'DELETE', apiVersion: '', }, options @@ -19752,65 +22490,64 @@ export namespace aiplatform_v1 { } /** - * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + * Gets a CustomJob. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Projects$Locations$Customjobs$Operations$List, + get( + params: Params$Resource$Projects$Locations$Customjobs$Get, options: StreamMethodOptions ): GaxiosPromise; - list( - params?: Params$Resource$Projects$Locations$Customjobs$Operations$List, + get( + params?: Params$Resource$Projects$Locations$Customjobs$Get, options?: MethodOptions - ): GaxiosPromise; - list( - params: Params$Resource$Projects$Locations$Customjobs$Operations$List, + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Customjobs$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Customjobs$Operations$List, + get( + params: Params$Resource$Projects$Locations$Customjobs$Get, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Customjobs$Operations$List, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Customjobs$Get, + callback: BodyResponseCallback ): void; - list( - callback: BodyResponseCallback + get( + callback: BodyResponseCallback ): void; - list( + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Customjobs$Operations$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Customjobs$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Customjobs$Operations$List; + {}) as Params$Resource$Projects$Locations$Customjobs$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Customjobs$Operations$List; + params = {} as Params$Resource$Projects$Locations$Customjobs$Get; options = {}; } @@ -19823,10 +22560,7 @@ export namespace aiplatform_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}/operations').replace( - /([^:]\/)\/+/g, - '$1' - ), + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', }, @@ -19838,77 +22572,76 @@ export namespace aiplatform_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done. + * Lists CustomJobs in a Location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - wait( - params: Params$Resource$Projects$Locations$Customjobs$Operations$Wait, + list( + params: Params$Resource$Projects$Locations$Customjobs$List, options: StreamMethodOptions ): GaxiosPromise; - wait( - params?: Params$Resource$Projects$Locations$Customjobs$Operations$Wait, + list( + params?: Params$Resource$Projects$Locations$Customjobs$List, options?: MethodOptions - ): GaxiosPromise; - wait( - params: Params$Resource$Projects$Locations$Customjobs$Operations$Wait, + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Customjobs$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - wait( - params: Params$Resource$Projects$Locations$Customjobs$Operations$Wait, + list( + params: Params$Resource$Projects$Locations$Customjobs$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - wait( - params: Params$Resource$Projects$Locations$Customjobs$Operations$Wait, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Customjobs$List, + callback: BodyResponseCallback ): void; - wait( - callback: BodyResponseCallback + list( + callback: BodyResponseCallback ): void; - wait( + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Customjobs$Operations$Wait - | BodyResponseCallback + | Params$Resource$Projects$Locations$Customjobs$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Customjobs$Operations$Wait; + {}) as Params$Resource$Projects$Locations$Customjobs$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Customjobs$Operations$Wait; + params = {} as Params$Resource$Projects$Locations$Customjobs$List; options = {}; } @@ -19921,93 +22654,103 @@ export namespace aiplatform_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}:wait').replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + url: (rootUrl + '/v1/{+parent}/customJobs').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } } - export interface Params$Resource$Projects$Locations$Customjobs$Operations$Cancel + export interface Params$Resource$Projects$Locations$Customjobs$Cancel extends StandardParameters { /** - * The name of the operation resource to be cancelled. + * Required. The name of the CustomJob to cancel. Format: `projects/{project\}/locations/{location\}/customJobs/{custom_job\}` */ name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1CancelCustomJobRequest; } - export interface Params$Resource$Projects$Locations$Customjobs$Operations$Delete + export interface Params$Resource$Projects$Locations$Customjobs$Create extends StandardParameters { /** - * The name of the operation resource to be deleted. + * Required. The resource name of the Location to create the CustomJob in. Format: `projects/{project\}/locations/{location\}` */ - name?: string; + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1CustomJob; } - export interface Params$Resource$Projects$Locations$Customjobs$Operations$Get + export interface Params$Resource$Projects$Locations$Customjobs$Delete extends StandardParameters { /** - * The name of the operation resource. + * Required. The name of the CustomJob resource to be deleted. Format: `projects/{project\}/locations/{location\}/customJobs/{custom_job\}` */ name?: string; } - export interface Params$Resource$Projects$Locations$Customjobs$Operations$List + export interface Params$Resource$Projects$Locations$Customjobs$Get extends StandardParameters { /** - * The standard list filter. + * Required. The name of the CustomJob resource. Format: `projects/{project\}/locations/{location\}/customJobs/{custom_job\}` */ - filter?: string; + name?: string; + } + export interface Params$Resource$Projects$Locations$Customjobs$List + extends StandardParameters { /** - * The name of the operation's parent resource. + * The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`\>`, `\>=` comparisons. `create_time` must be in RFC 3339 format. * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* - key existence Some examples of using the filter are: * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` * `state!="JOB_STATE_FAILED" OR display_name="my_job"` * `NOT display_name="my_job"` * `create_time\>"2021-05-18T00:00:00Z"` * `labels.keyA=valueA` * `labels.keyB:*` */ - name?: string; + filter?: string; /** * The standard list page size. */ pageSize?: number; /** - * The standard list page token. + * The standard list page token. Typically obtained via ListCustomJobsResponse.next_page_token of the previous JobService.ListCustomJobs call. */ pageToken?: string; - } - export interface Params$Resource$Projects$Locations$Customjobs$Operations$Wait - extends StandardParameters { /** - * The name of the operation resource to wait on. + * Required. The resource name of the Location to list the CustomJobs from. Format: `projects/{project\}/locations/{location\}` */ - name?: string; + parent?: string; /** - * The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used. + * Mask specifying which fields to read. */ - timeout?: string; + readMask?: string; } - export class Resource$Projects$Locations$Datalabelingjobs { + export class Resource$Projects$Locations$Customjobs$Operations { context: APIRequestContext; - operations: Resource$Projects$Locations$Datalabelingjobs$Operations; constructor(context: APIRequestContext) { this.context = context; - this.operations = - new Resource$Projects$Locations$Datalabelingjobs$Operations( - this.context - ); } /** - * Cancels a DataLabelingJob. Success of cancellation is not guaranteed. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -20015,31 +22758,31 @@ export namespace aiplatform_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ cancel( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Cancel, + params: Params$Resource$Projects$Locations$Customjobs$Operations$Cancel, options: StreamMethodOptions ): GaxiosPromise; cancel( - params?: Params$Resource$Projects$Locations$Datalabelingjobs$Cancel, + params?: Params$Resource$Projects$Locations$Customjobs$Operations$Cancel, options?: MethodOptions ): GaxiosPromise; cancel( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Cancel, + params: Params$Resource$Projects$Locations$Customjobs$Operations$Cancel, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; cancel( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Cancel, + params: Params$Resource$Projects$Locations$Customjobs$Operations$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; cancel( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Cancel, + params: Params$Resource$Projects$Locations$Customjobs$Operations$Cancel, callback: BodyResponseCallback ): void; cancel(callback: BodyResponseCallback): void; cancel( paramsOrCallback?: - | Params$Resource$Projects$Locations$Datalabelingjobs$Cancel + | Params$Resource$Projects$Locations$Customjobs$Operations$Cancel | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -20055,13 +22798,13 @@ export namespace aiplatform_v1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Datalabelingjobs$Cancel; + {}) as Params$Resource$Projects$Locations$Customjobs$Operations$Cancel; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Datalabelingjobs$Cancel; + {} as Params$Resource$Projects$Locations$Customjobs$Operations$Cancel; options = {}; } @@ -20096,65 +22839,61 @@ export namespace aiplatform_v1 { } /** - * Creates a DataLabelingJob. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - create( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Create, + delete( + params: Params$Resource$Projects$Locations$Customjobs$Operations$Delete, options: StreamMethodOptions ): GaxiosPromise; - create( - params?: Params$Resource$Projects$Locations$Datalabelingjobs$Create, + delete( + params?: Params$Resource$Projects$Locations$Customjobs$Operations$Delete, options?: MethodOptions - ): GaxiosPromise; - create( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Create, + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Customjobs$Operations$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Create, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Customjobs$Operations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Create, - callback: BodyResponseCallback - ): void; - create( - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Customjobs$Operations$Delete, + callback: BodyResponseCallback ): void; - create( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Datalabelingjobs$Create - | BodyResponseCallback + | Params$Resource$Projects$Locations$Customjobs$Operations$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Datalabelingjobs$Create; + {}) as Params$Resource$Projects$Locations$Customjobs$Operations$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Datalabelingjobs$Create; + {} as Params$Resource$Projects$Locations$Customjobs$Operations$Delete; options = {}; } @@ -20167,70 +22906,65 @@ export namespace aiplatform_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/dataLabelingJobs').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Deletes a DataLabelingJob. + * 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. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Delete, + get( + params: Params$Resource$Projects$Locations$Customjobs$Operations$Get, options: StreamMethodOptions ): GaxiosPromise; - delete( - params?: Params$Resource$Projects$Locations$Datalabelingjobs$Delete, + get( + params?: Params$Resource$Projects$Locations$Customjobs$Operations$Get, options?: MethodOptions ): GaxiosPromise; - delete( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Delete, + get( + params: Params$Resource$Projects$Locations$Customjobs$Operations$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Delete, + get( + params: Params$Resource$Projects$Locations$Customjobs$Operations$Get, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Delete, + get( + params: Params$Resource$Projects$Locations$Customjobs$Operations$Get, callback: BodyResponseCallback ): void; - delete( + get( callback: BodyResponseCallback ): void; - delete( + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Datalabelingjobs$Delete + | Params$Resource$Projects$Locations$Customjobs$Operations$Get | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -20246,13 +22980,13 @@ export namespace aiplatform_v1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Datalabelingjobs$Delete; + {}) as Params$Resource$Projects$Locations$Customjobs$Operations$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Datalabelingjobs$Delete; + {} as Params$Resource$Projects$Locations$Customjobs$Operations$Get; options = {}; } @@ -20266,7 +23000,7 @@ export namespace aiplatform_v1 { options: Object.assign( { url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'GET', apiVersion: '', }, options @@ -20287,64 +23021,65 @@ export namespace aiplatform_v1 { } /** - * Gets a DataLabelingJob. + * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Get, + list( + params: Params$Resource$Projects$Locations$Customjobs$Operations$List, options: StreamMethodOptions ): GaxiosPromise; - get( - params?: Params$Resource$Projects$Locations$Datalabelingjobs$Get, + list( + params?: Params$Resource$Projects$Locations$Customjobs$Operations$List, options?: MethodOptions - ): GaxiosPromise; - get( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Get, + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Customjobs$Operations$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Get, + list( + params: Params$Resource$Projects$Locations$Customjobs$Operations$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Get, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Customjobs$Operations$List, + callback: BodyResponseCallback ): void; - get( - callback: BodyResponseCallback + list( + callback: BodyResponseCallback ): void; - get( + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Datalabelingjobs$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Customjobs$Operations$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Datalabelingjobs$Get; + {}) as Params$Resource$Projects$Locations$Customjobs$Operations$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Datalabelingjobs$Get; + params = + {} as Params$Resource$Projects$Locations$Customjobs$Operations$List; options = {}; } @@ -20357,7 +23092,10 @@ export namespace aiplatform_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + url: (rootUrl + '/v1/{+name}/operations').replace( + /([^:]\/)\/+/g, + '$1' + ), method: 'GET', apiVersion: '', }, @@ -20369,76 +23107,77 @@ export namespace aiplatform_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Lists DataLabelingJobs in a Location. + * Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Projects$Locations$Datalabelingjobs$List, + wait( + params: Params$Resource$Projects$Locations$Customjobs$Operations$Wait, options: StreamMethodOptions ): GaxiosPromise; - list( - params?: Params$Resource$Projects$Locations$Datalabelingjobs$List, + wait( + params?: Params$Resource$Projects$Locations$Customjobs$Operations$Wait, options?: MethodOptions - ): GaxiosPromise; - list( - params: Params$Resource$Projects$Locations$Datalabelingjobs$List, + ): GaxiosPromise; + wait( + params: Params$Resource$Projects$Locations$Customjobs$Operations$Wait, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Datalabelingjobs$List, + wait( + params: Params$Resource$Projects$Locations$Customjobs$Operations$Wait, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Datalabelingjobs$List, - callback: BodyResponseCallback + wait( + params: Params$Resource$Projects$Locations$Customjobs$Operations$Wait, + callback: BodyResponseCallback ): void; - list( - callback: BodyResponseCallback + wait( + callback: BodyResponseCallback ): void; - list( + wait( paramsOrCallback?: - | Params$Resource$Projects$Locations$Datalabelingjobs$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Customjobs$Operations$Wait + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Datalabelingjobs$List; + {}) as Params$Resource$Projects$Locations$Customjobs$Operations$Wait; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Datalabelingjobs$List; + params = + {} as Params$Resource$Projects$Locations$Customjobs$Operations$Wait; options = {}; } @@ -20451,81 +23190,59 @@ export namespace aiplatform_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/dataLabelingJobs').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', + url: (rootUrl + '/v1/{+name}:wait').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } } - export interface Params$Resource$Projects$Locations$Datalabelingjobs$Cancel + export interface Params$Resource$Projects$Locations$Customjobs$Operations$Cancel extends StandardParameters { /** - * Required. The name of the DataLabelingJob. Format: `projects/{project\}/locations/{location\}/dataLabelingJobs/{data_labeling_job\}` + * The name of the operation resource to be cancelled. */ name?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GoogleCloudAiplatformV1CancelDataLabelingJobRequest; - } - export interface Params$Resource$Projects$Locations$Datalabelingjobs$Create - extends StandardParameters { - /** - * Required. The parent of the DataLabelingJob. Format: `projects/{project\}/locations/{location\}` - */ - parent?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GoogleCloudAiplatformV1DataLabelingJob; } - export interface Params$Resource$Projects$Locations$Datalabelingjobs$Delete + export interface Params$Resource$Projects$Locations$Customjobs$Operations$Delete extends StandardParameters { /** - * Required. The name of the DataLabelingJob to be deleted. Format: `projects/{project\}/locations/{location\}/dataLabelingJobs/{data_labeling_job\}` + * The name of the operation resource to be deleted. */ name?: string; } - export interface Params$Resource$Projects$Locations$Datalabelingjobs$Get + export interface Params$Resource$Projects$Locations$Customjobs$Operations$Get extends StandardParameters { /** - * Required. The name of the DataLabelingJob. Format: `projects/{project\}/locations/{location\}/dataLabelingJobs/{data_labeling_job\}` + * The name of the operation resource. */ name?: string; } - export interface Params$Resource$Projects$Locations$Datalabelingjobs$List + export interface Params$Resource$Projects$Locations$Customjobs$Operations$List extends StandardParameters { /** - * The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`\>`, `\>=` comparisons. `create_time` must be in RFC 3339 format. * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* - key existence Some examples of using the filter are: * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` * `state!="JOB_STATE_FAILED" OR display_name="my_job"` * `NOT display_name="my_job"` * `create_time\>"2021-05-18T00:00:00Z"` * `labels.keyA=valueA` * `labels.keyB:*` + * The standard list filter. */ filter?: string; /** - * A comma-separated list of fields to order by, sorted in ascending order by default. Use `desc` after a field name for descending. + * The name of the operation's parent resource. */ - orderBy?: string; + name?: string; /** * The standard list page size. */ @@ -20534,24 +23251,32 @@ export namespace aiplatform_v1 { * The standard list page token. */ pageToken?: string; + } + export interface Params$Resource$Projects$Locations$Customjobs$Operations$Wait + extends StandardParameters { /** - * Required. The parent of the DataLabelingJob. Format: `projects/{project\}/locations/{location\}` + * The name of the operation resource to wait on. */ - parent?: string; + name?: string; /** - * Mask specifying which fields to read. FieldMask represents a set of symbolic field paths. For example, the mask can be `paths: "name"`. The "name" here is a field in DataLabelingJob. If this field is not set, all fields of the DataLabelingJob are returned. + * The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used. */ - readMask?: string; + timeout?: string; } - export class Resource$Projects$Locations$Datalabelingjobs$Operations { + export class Resource$Projects$Locations$Datalabelingjobs { context: APIRequestContext; + operations: Resource$Projects$Locations$Datalabelingjobs$Operations; constructor(context: APIRequestContext) { this.context = context; + this.operations = + new Resource$Projects$Locations$Datalabelingjobs$Operations( + this.context + ); } /** - * 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`. + * Cancels a DataLabelingJob. Success of cancellation is not guaranteed. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -20559,31 +23284,31 @@ export namespace aiplatform_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ cancel( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Cancel, + params: Params$Resource$Projects$Locations$Datalabelingjobs$Cancel, options: StreamMethodOptions ): GaxiosPromise; cancel( - params?: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Cancel, + params?: Params$Resource$Projects$Locations$Datalabelingjobs$Cancel, options?: MethodOptions ): GaxiosPromise; cancel( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Cancel, + params: Params$Resource$Projects$Locations$Datalabelingjobs$Cancel, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; cancel( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Cancel, + params: Params$Resource$Projects$Locations$Datalabelingjobs$Cancel, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; cancel( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Cancel, + params: Params$Resource$Projects$Locations$Datalabelingjobs$Cancel, callback: BodyResponseCallback ): void; cancel(callback: BodyResponseCallback): void; cancel( paramsOrCallback?: - | Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Cancel + | Params$Resource$Projects$Locations$Datalabelingjobs$Cancel | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -20599,13 +23324,13 @@ export namespace aiplatform_v1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Cancel; + {}) as Params$Resource$Projects$Locations$Datalabelingjobs$Cancel; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Cancel; + {} as Params$Resource$Projects$Locations$Datalabelingjobs$Cancel; options = {}; } @@ -20640,61 +23365,65 @@ export namespace aiplatform_v1 { } /** - * 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`. + * Creates a DataLabelingJob. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Delete, + create( + params: Params$Resource$Projects$Locations$Datalabelingjobs$Create, options: StreamMethodOptions ): GaxiosPromise; - delete( - params?: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Delete, + create( + params?: Params$Resource$Projects$Locations$Datalabelingjobs$Create, options?: MethodOptions - ): GaxiosPromise; - delete( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Delete, + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Datalabelingjobs$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Datalabelingjobs$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Delete, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Datalabelingjobs$Create, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + create( + callback: BodyResponseCallback + ): void; + create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Delete - | BodyResponseCallback + | Params$Resource$Projects$Locations$Datalabelingjobs$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Delete; + {}) as Params$Resource$Projects$Locations$Datalabelingjobs$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Delete; + {} as Params$Resource$Projects$Locations$Datalabelingjobs$Create; options = {}; } @@ -20707,65 +23436,70 @@ export namespace aiplatform_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + url: (rootUrl + '/v1/{+parent}/dataLabelingJobs').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * 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. + * Deletes a DataLabelingJob. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Get, + delete( + params: Params$Resource$Projects$Locations$Datalabelingjobs$Delete, options: StreamMethodOptions ): GaxiosPromise; - get( - params?: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Get, + delete( + params?: Params$Resource$Projects$Locations$Datalabelingjobs$Delete, options?: MethodOptions ): GaxiosPromise; - get( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Get, + delete( + params: Params$Resource$Projects$Locations$Datalabelingjobs$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Get, + delete( + params: Params$Resource$Projects$Locations$Datalabelingjobs$Delete, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Get, + delete( + params: Params$Resource$Projects$Locations$Datalabelingjobs$Delete, callback: BodyResponseCallback ): void; - get( + delete( callback: BodyResponseCallback ): void; - get( + delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Get + | Params$Resource$Projects$Locations$Datalabelingjobs$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -20781,13 +23515,13 @@ export namespace aiplatform_v1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Get; + {}) as Params$Resource$Projects$Locations$Datalabelingjobs$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Get; + {} as Params$Resource$Projects$Locations$Datalabelingjobs$Delete; options = {}; } @@ -20801,7 +23535,7 @@ export namespace aiplatform_v1 { options: Object.assign( { url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'DELETE', apiVersion: '', }, options @@ -20822,65 +23556,64 @@ export namespace aiplatform_v1 { } /** - * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + * Gets a DataLabelingJob. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$List, + get( + params: Params$Resource$Projects$Locations$Datalabelingjobs$Get, options: StreamMethodOptions ): GaxiosPromise; - list( - params?: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$List, + get( + params?: Params$Resource$Projects$Locations$Datalabelingjobs$Get, options?: MethodOptions - ): GaxiosPromise; - list( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$List, + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Datalabelingjobs$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$List, + get( + params: Params$Resource$Projects$Locations$Datalabelingjobs$Get, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$List, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Datalabelingjobs$Get, + callback: BodyResponseCallback ): void; - list( - callback: BodyResponseCallback + get( + callback: BodyResponseCallback ): void; - list( + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Datalabelingjobs$Operations$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Datalabelingjobs$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Datalabelingjobs$Operations$List; + {}) as Params$Resource$Projects$Locations$Datalabelingjobs$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Datalabelingjobs$Operations$List; + params = {} as Params$Resource$Projects$Locations$Datalabelingjobs$Get; options = {}; } @@ -20893,10 +23626,7 @@ export namespace aiplatform_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}/operations').replace( - /([^:]\/)\/+/g, - '$1' - ), + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', }, @@ -20908,77 +23638,76 @@ export namespace aiplatform_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done. + * Lists DataLabelingJobs in a Location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - wait( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Wait, + list( + params: Params$Resource$Projects$Locations$Datalabelingjobs$List, options: StreamMethodOptions ): GaxiosPromise; - wait( - params?: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Wait, + list( + params?: Params$Resource$Projects$Locations$Datalabelingjobs$List, options?: MethodOptions - ): GaxiosPromise; - wait( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Wait, + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Datalabelingjobs$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - wait( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Wait, + list( + params: Params$Resource$Projects$Locations$Datalabelingjobs$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - wait( - params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Wait, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Datalabelingjobs$List, + callback: BodyResponseCallback ): void; - wait( - callback: BodyResponseCallback + list( + callback: BodyResponseCallback ): void; - wait( + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Wait - | BodyResponseCallback + | Params$Resource$Projects$Locations$Datalabelingjobs$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Wait; + {}) as Params$Resource$Projects$Locations$Datalabelingjobs$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Wait; + params = {} as Params$Resource$Projects$Locations$Datalabelingjobs$List; options = {}; } @@ -20991,59 +23720,81 @@ export namespace aiplatform_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}:wait').replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + url: (rootUrl + '/v1/{+parent}/dataLabelingJobs').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } } - export interface Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Cancel + export interface Params$Resource$Projects$Locations$Datalabelingjobs$Cancel extends StandardParameters { /** - * The name of the operation resource to be cancelled. + * Required. The name of the DataLabelingJob. Format: `projects/{project\}/locations/{location\}/dataLabelingJobs/{data_labeling_job\}` */ name?: string; - } - export interface Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Delete + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1CancelDataLabelingJobRequest; + } + export interface Params$Resource$Projects$Locations$Datalabelingjobs$Create extends StandardParameters { /** - * The name of the operation resource to be deleted. + * Required. The parent of the DataLabelingJob. Format: `projects/{project\}/locations/{location\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1DataLabelingJob; + } + export interface Params$Resource$Projects$Locations$Datalabelingjobs$Delete + extends StandardParameters { + /** + * Required. The name of the DataLabelingJob to be deleted. Format: `projects/{project\}/locations/{location\}/dataLabelingJobs/{data_labeling_job\}` */ name?: string; } - export interface Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Get + export interface Params$Resource$Projects$Locations$Datalabelingjobs$Get extends StandardParameters { /** - * The name of the operation resource. + * Required. The name of the DataLabelingJob. Format: `projects/{project\}/locations/{location\}/dataLabelingJobs/{data_labeling_job\}` */ name?: string; } - export interface Params$Resource$Projects$Locations$Datalabelingjobs$Operations$List + export interface Params$Resource$Projects$Locations$Datalabelingjobs$List extends StandardParameters { /** - * The standard list filter. + * The standard list filter. Supported fields: * `display_name` supports `=`, `!=` comparisons, and `:` wildcard. * `state` supports `=`, `!=` comparisons. * `create_time` supports `=`, `!=`,`<`, `<=`,`\>`, `\>=` comparisons. `create_time` must be in RFC 3339 format. * `labels` supports general map functions that is: `labels.key=value` - key:value equality `labels.key:* - key existence Some examples of using the filter are: * `state="JOB_STATE_SUCCEEDED" AND display_name:"my_job_*"` * `state!="JOB_STATE_FAILED" OR display_name="my_job"` * `NOT display_name="my_job"` * `create_time\>"2021-05-18T00:00:00Z"` * `labels.keyA=valueA` * `labels.keyB:*` */ filter?: string; /** - * The name of the operation's parent resource. + * A comma-separated list of fields to order by, sorted in ascending order by default. Use `desc` after a field name for descending. */ - name?: string; + orderBy?: string; /** * The standard list page size. */ @@ -21052,102 +23803,78 @@ export namespace aiplatform_v1 { * The standard list page token. */ pageToken?: string; - } - export interface Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Wait - extends StandardParameters { /** - * The name of the operation resource to wait on. + * Required. The parent of the DataLabelingJob. Format: `projects/{project\}/locations/{location\}` */ - name?: string; + parent?: string; /** - * The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used. + * Mask specifying which fields to read. FieldMask represents a set of symbolic field paths. For example, the mask can be `paths: "name"`. The "name" here is a field in DataLabelingJob. If this field is not set, all fields of the DataLabelingJob are returned. */ - timeout?: string; + readMask?: string; } - export class Resource$Projects$Locations$Datasets { + export class Resource$Projects$Locations$Datalabelingjobs$Operations { context: APIRequestContext; - annotationSpecs: Resource$Projects$Locations$Datasets$Annotationspecs; - dataItems: Resource$Projects$Locations$Datasets$Dataitems; - datasetVersions: Resource$Projects$Locations$Datasets$Datasetversions; - operations: Resource$Projects$Locations$Datasets$Operations; - savedQueries: Resource$Projects$Locations$Datasets$Savedqueries; constructor(context: APIRequestContext) { this.context = context; - this.annotationSpecs = - new Resource$Projects$Locations$Datasets$Annotationspecs(this.context); - this.dataItems = new Resource$Projects$Locations$Datasets$Dataitems( - this.context - ); - this.datasetVersions = - new Resource$Projects$Locations$Datasets$Datasetversions(this.context); - this.operations = new Resource$Projects$Locations$Datasets$Operations( - this.context - ); - this.savedQueries = new Resource$Projects$Locations$Datasets$Savedqueries( - this.context - ); } /** - * Creates a Dataset. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - create( - params: Params$Resource$Projects$Locations$Datasets$Create, + cancel( + params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Cancel, options: StreamMethodOptions ): GaxiosPromise; - create( - params?: Params$Resource$Projects$Locations$Datasets$Create, + cancel( + params?: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Cancel, options?: MethodOptions - ): GaxiosPromise; - create( - params: Params$Resource$Projects$Locations$Datasets$Create, + ): GaxiosPromise; + cancel( + params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Cancel, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Datasets$Create, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - create( - params: Params$Resource$Projects$Locations$Datasets$Create, - callback: BodyResponseCallback + cancel( + params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - callback: BodyResponseCallback + cancel( + params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Cancel, + callback: BodyResponseCallback ): void; - create( + cancel(callback: BodyResponseCallback): void; + cancel( paramsOrCallback?: - | Params$Resource$Projects$Locations$Datasets$Create - | BodyResponseCallback + | Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Cancel + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Datasets$Create; + {}) as Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Cancel; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Datasets$Create; + params = + {} as Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Cancel; options = {}; } @@ -21160,32 +23887,29 @@ export namespace aiplatform_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/datasets').replace( - /([^:]\/)\/+/g, - '$1' - ), + url: (rootUrl + '/v1/{+name}:cancel').replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Deletes a Dataset. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -21193,56 +23917,53 @@ export namespace aiplatform_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Projects$Locations$Datasets$Delete, + params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Delete, options: StreamMethodOptions ): GaxiosPromise; delete( - params?: Params$Resource$Projects$Locations$Datasets$Delete, + params?: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Delete, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; delete( - params: Params$Resource$Projects$Locations$Datasets$Delete, + params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Datasets$Delete, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Projects$Locations$Datasets$Delete, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; delete( - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Delete, + callback: BodyResponseCallback ): void; + delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Datasets$Delete - | BodyResponseCallback + | Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Datasets$Delete; + {}) as Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Datasets$Delete; + params = + {} as Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Delete; options = {}; } @@ -21267,53 +23988,53 @@ export namespace aiplatform_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Exports data from a Dataset. + * 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. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - export( - params: Params$Resource$Projects$Locations$Datasets$Export, + get( + params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Get, options: StreamMethodOptions ): GaxiosPromise; - export( - params?: Params$Resource$Projects$Locations$Datasets$Export, + get( + params?: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Get, options?: MethodOptions ): GaxiosPromise; - export( - params: Params$Resource$Projects$Locations$Datasets$Export, + get( + params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - export( - params: Params$Resource$Projects$Locations$Datasets$Export, + get( + params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Get, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - export( - params: Params$Resource$Projects$Locations$Datasets$Export, + get( + params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Get, callback: BodyResponseCallback ): void; - export( + get( callback: BodyResponseCallback ): void; - export( + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Datasets$Export + | Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Get | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -21329,12 +24050,13 @@ export namespace aiplatform_v1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Datasets$Export; + {}) as Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Datasets$Export; + params = + {} as Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Get; options = {}; } @@ -21347,8 +24069,8 @@ export namespace aiplatform_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}:export').replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', apiVersion: '', }, options @@ -21369,64 +24091,65 @@ export namespace aiplatform_v1 { } /** - * Gets a Dataset. + * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Projects$Locations$Datasets$Get, + list( + params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$List, options: StreamMethodOptions ): GaxiosPromise; - get( - params?: Params$Resource$Projects$Locations$Datasets$Get, + list( + params?: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$List, options?: MethodOptions - ): GaxiosPromise; - get( - params: Params$Resource$Projects$Locations$Datasets$Get, + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Datasets$Get, + list( + params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Datasets$Get, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$List, + callback: BodyResponseCallback ): void; - get( - callback: BodyResponseCallback + list( + callback: BodyResponseCallback ): void; - get( + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Datasets$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Datalabelingjobs$Operations$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Datasets$Get; + {}) as Params$Resource$Projects$Locations$Datalabelingjobs$Operations$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Datasets$Get; + params = + {} as Params$Resource$Projects$Locations$Datalabelingjobs$Operations$List; options = {}; } @@ -21439,7 +24162,10 @@ export namespace aiplatform_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + url: (rootUrl + '/v1/{+name}/operations').replace( + /([^:]\/)\/+/g, + '$1' + ), method: 'GET', apiVersion: '', }, @@ -21451,55 +24177,55 @@ export namespace aiplatform_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Imports data into a Dataset. + * Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - import( - params: Params$Resource$Projects$Locations$Datasets$Import, + wait( + params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Wait, options: StreamMethodOptions ): GaxiosPromise; - import( - params?: Params$Resource$Projects$Locations$Datasets$Import, + wait( + params?: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Wait, options?: MethodOptions ): GaxiosPromise; - import( - params: Params$Resource$Projects$Locations$Datasets$Import, + wait( + params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Wait, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - import( - params: Params$Resource$Projects$Locations$Datasets$Import, + wait( + params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Wait, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - import( - params: Params$Resource$Projects$Locations$Datasets$Import, + wait( + params: Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Wait, callback: BodyResponseCallback ): void; - import( + wait( callback: BodyResponseCallback ): void; - import( + wait( paramsOrCallback?: - | Params$Resource$Projects$Locations$Datasets$Import + | Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Wait | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -21515,12 +24241,13 @@ export namespace aiplatform_v1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Datasets$Import; + {}) as Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Wait; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Datasets$Import; + params = + {} as Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Wait; options = {}; } @@ -21533,7 +24260,7 @@ export namespace aiplatform_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}:import').replace(/([^:]\/)\/+/g, '$1'), + url: (rootUrl + '/v1/{+name}:wait').replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', }, @@ -21553,66 +24280,143 @@ export namespace aiplatform_v1 { return createAPIRequest(parameters); } } + } + export interface Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Cancel + extends StandardParameters { /** - * Lists Datasets in a Location. + * The name of the operation resource to be cancelled. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Delete + extends StandardParameters { + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Get + extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Datalabelingjobs$Operations$List + extends StandardParameters { + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + export interface Params$Resource$Projects$Locations$Datalabelingjobs$Operations$Wait + extends StandardParameters { + /** + * The name of the operation resource to wait on. + */ + name?: string; + /** + * The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used. + */ + timeout?: string; + } + + export class Resource$Projects$Locations$Datasets { + context: APIRequestContext; + annotationSpecs: Resource$Projects$Locations$Datasets$Annotationspecs; + dataItems: Resource$Projects$Locations$Datasets$Dataitems; + datasetVersions: Resource$Projects$Locations$Datasets$Datasetversions; + operations: Resource$Projects$Locations$Datasets$Operations; + savedQueries: Resource$Projects$Locations$Datasets$Savedqueries; + constructor(context: APIRequestContext) { + this.context = context; + this.annotationSpecs = + new Resource$Projects$Locations$Datasets$Annotationspecs(this.context); + this.dataItems = new Resource$Projects$Locations$Datasets$Dataitems( + this.context + ); + this.datasetVersions = + new Resource$Projects$Locations$Datasets$Datasetversions(this.context); + this.operations = new Resource$Projects$Locations$Datasets$Operations( + this.context + ); + this.savedQueries = new Resource$Projects$Locations$Datasets$Savedqueries( + this.context + ); + } + + /** + * Creates a Dataset. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Projects$Locations$Datasets$List, + create( + params: Params$Resource$Projects$Locations$Datasets$Create, options: StreamMethodOptions ): GaxiosPromise; - list( - params?: Params$Resource$Projects$Locations$Datasets$List, + create( + params?: Params$Resource$Projects$Locations$Datasets$Create, options?: MethodOptions - ): GaxiosPromise; - list( - params: Params$Resource$Projects$Locations$Datasets$List, + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Datasets$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Datasets$List, + create( + params: Params$Resource$Projects$Locations$Datasets$Create, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Datasets$List, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Datasets$Create, + callback: BodyResponseCallback ): void; - list( - callback: BodyResponseCallback + create( + callback: BodyResponseCallback ): void; - list( + create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Datasets$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Datasets$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Datasets$List; + {}) as Params$Resource$Projects$Locations$Datasets$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Datasets$List; + params = {} as Params$Resource$Projects$Locations$Datasets$Create; options = {}; } @@ -21629,7 +24433,7 @@ export namespace aiplatform_v1 { /([^:]\/)\/+/g, '$1' ), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -21640,76 +24444,74 @@ export namespace aiplatform_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Updates a Dataset. + * Deletes a Dataset. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Projects$Locations$Datasets$Patch, + delete( + params: Params$Resource$Projects$Locations$Datasets$Delete, options: StreamMethodOptions ): GaxiosPromise; - patch( - params?: Params$Resource$Projects$Locations$Datasets$Patch, + delete( + params?: Params$Resource$Projects$Locations$Datasets$Delete, options?: MethodOptions - ): GaxiosPromise; - patch( - params: Params$Resource$Projects$Locations$Datasets$Patch, + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Datasets$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Datasets$Patch, + delete( + params: Params$Resource$Projects$Locations$Datasets$Delete, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Datasets$Patch, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Datasets$Delete, + callback: BodyResponseCallback ): void; - patch( - callback: BodyResponseCallback + delete( + callback: BodyResponseCallback ): void; - patch( + delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Datasets$Patch - | BodyResponseCallback + | Params$Resource$Projects$Locations$Datasets$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Datasets$Patch; + {}) as Params$Resource$Projects$Locations$Datasets$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Datasets$Patch; + params = {} as Params$Resource$Projects$Locations$Datasets$Delete; options = {}; } @@ -21723,7 +24525,7 @@ export namespace aiplatform_v1 { options: Object.assign( { url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'DELETE', apiVersion: '', }, options @@ -21734,35 +24536,502 @@ export namespace aiplatform_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Searches DataItems in a Dataset. + * Exports data from a Dataset. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - searchDataItems( - params: Params$Resource$Projects$Locations$Datasets$Searchdataitems, + export( + params: Params$Resource$Projects$Locations$Datasets$Export, options: StreamMethodOptions ): GaxiosPromise; - searchDataItems( - params?: Params$Resource$Projects$Locations$Datasets$Searchdataitems, + export( + params?: Params$Resource$Projects$Locations$Datasets$Export, options?: MethodOptions - ): GaxiosPromise; - searchDataItems( - params: Params$Resource$Projects$Locations$Datasets$Searchdataitems, + ): GaxiosPromise; + export( + params: Params$Resource$Projects$Locations$Datasets$Export, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + export( + params: Params$Resource$Projects$Locations$Datasets$Export, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + export( + params: Params$Resource$Projects$Locations$Datasets$Export, + callback: BodyResponseCallback + ): void; + export( + callback: BodyResponseCallback + ): void; + export( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datasets$Export + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datasets$Export; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Datasets$Export; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:export').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets a Dataset. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Datasets$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Datasets$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Datasets$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Datasets$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Datasets$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datasets$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datasets$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Datasets$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Imports data into a Dataset. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + import( + params: Params$Resource$Projects$Locations$Datasets$Import, + options: StreamMethodOptions + ): GaxiosPromise; + import( + params?: Params$Resource$Projects$Locations$Datasets$Import, + options?: MethodOptions + ): GaxiosPromise; + import( + params: Params$Resource$Projects$Locations$Datasets$Import, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + import( + params: Params$Resource$Projects$Locations$Datasets$Import, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + import( + params: Params$Resource$Projects$Locations$Datasets$Import, + callback: BodyResponseCallback + ): void; + import( + callback: BodyResponseCallback + ): void; + import( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datasets$Import + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datasets$Import; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Datasets$Import; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:import').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists Datasets in a Location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Datasets$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Datasets$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Datasets$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Datasets$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Datasets$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datasets$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datasets$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Datasets$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/datasets').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates a Dataset. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Datasets$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Datasets$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Datasets$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Datasets$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Datasets$Patch, + callback: BodyResponseCallback + ): void; + patch( + callback: BodyResponseCallback + ): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datasets$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datasets$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Datasets$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Searches DataItems in a Dataset. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + searchDataItems( + params: Params$Resource$Projects$Locations$Datasets$Searchdataitems, + options: StreamMethodOptions + ): GaxiosPromise; + searchDataItems( + params?: Params$Resource$Projects$Locations$Datasets$Searchdataitems, + options?: MethodOptions + ): GaxiosPromise; + searchDataItems( + params: Params$Resource$Projects$Locations$Datasets$Searchdataitems, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; @@ -21928,7 +25197,7 @@ export namespace aiplatform_v1 { export interface Params$Resource$Projects$Locations$Datasets$Patch extends StandardParameters { /** - * Output only. Identifier. The resource name of the Dataset. + * Output only. Identifier. The resource name of the Dataset. Format: `projects/{project\}/locations/{location\}/datasets/{dataset\}` */ name?: string; /** @@ -22127,7 +25396,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -22929,7 +26198,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -23450,7 +26719,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -24632,7 +27901,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -25391,7 +28660,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -26569,7 +29838,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -27085,9 +30354,11 @@ export namespace aiplatform_v1 { export class Resource$Projects$Locations$Endpoints { context: APIRequestContext; + chat: Resource$Projects$Locations$Endpoints$Chat; operations: Resource$Projects$Locations$Endpoints$Operations; constructor(context: APIRequestContext) { this.context = context; + this.chat = new Resource$Projects$Locations$Endpoints$Chat(this.context); this.operations = new Resource$Projects$Locations$Endpoints$Operations( this.context ); @@ -27863,6 +31134,102 @@ export namespace aiplatform_v1 { } } + /** + * Fetch an asynchronous online prediction operation. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + fetchPredictOperation( + params: Params$Resource$Projects$Locations$Endpoints$Fetchpredictoperation, + options: StreamMethodOptions + ): GaxiosPromise; + fetchPredictOperation( + params?: Params$Resource$Projects$Locations$Endpoints$Fetchpredictoperation, + options?: MethodOptions + ): GaxiosPromise; + fetchPredictOperation( + params: Params$Resource$Projects$Locations$Endpoints$Fetchpredictoperation, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchPredictOperation( + params: Params$Resource$Projects$Locations$Endpoints$Fetchpredictoperation, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchPredictOperation( + params: Params$Resource$Projects$Locations$Endpoints$Fetchpredictoperation, + callback: BodyResponseCallback + ): void; + fetchPredictOperation( + callback: BodyResponseCallback + ): void; + fetchPredictOperation( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Endpoints$Fetchpredictoperation + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Endpoints$Fetchpredictoperation; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Endpoints$Fetchpredictoperation; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+endpoint}:fetchPredictOperation').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['endpoint'], + pathParams: ['endpoint'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Generate content with multimodal inputs. * @@ -28440,156 +31807,64 @@ export namespace aiplatform_v1 { } /** - * Perform an online prediction with an arbitrary HTTP payload. The response includes the following HTTP headers: * `X-Vertex-AI-Endpoint-Id`: ID of the Endpoint that served this prediction. * `X-Vertex-AI-Deployed-Model-Id`: ID of the Endpoint's DeployedModel that served this prediction. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - rawPredict( - params: Params$Resource$Projects$Locations$Endpoints$Rawpredict, - options: StreamMethodOptions - ): GaxiosPromise; - rawPredict( - params?: Params$Resource$Projects$Locations$Endpoints$Rawpredict, - options?: MethodOptions - ): GaxiosPromise; - rawPredict( - params: Params$Resource$Projects$Locations$Endpoints$Rawpredict, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - rawPredict( - params: Params$Resource$Projects$Locations$Endpoints$Rawpredict, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - rawPredict( - params: Params$Resource$Projects$Locations$Endpoints$Rawpredict, - callback: BodyResponseCallback - ): void; - rawPredict(callback: BodyResponseCallback): void; - rawPredict( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Endpoints$Rawpredict - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Endpoints$Rawpredict; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Endpoints$Rawpredict; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1/{+endpoint}:rawPredict').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['endpoint'], - pathParams: ['endpoint'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Perform a server-side streaming online prediction request for Vertex LLM streaming. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - serverStreamingPredict( - params: Params$Resource$Projects$Locations$Endpoints$Serverstreamingpredict, + predictLongRunning( + params: Params$Resource$Projects$Locations$Endpoints$Predictlongrunning, options: StreamMethodOptions ): GaxiosPromise; - serverStreamingPredict( - params?: Params$Resource$Projects$Locations$Endpoints$Serverstreamingpredict, + predictLongRunning( + params?: Params$Resource$Projects$Locations$Endpoints$Predictlongrunning, options?: MethodOptions - ): GaxiosPromise; - serverStreamingPredict( - params: Params$Resource$Projects$Locations$Endpoints$Serverstreamingpredict, + ): GaxiosPromise; + predictLongRunning( + params: Params$Resource$Projects$Locations$Endpoints$Predictlongrunning, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - serverStreamingPredict( - params: Params$Resource$Projects$Locations$Endpoints$Serverstreamingpredict, + predictLongRunning( + params: Params$Resource$Projects$Locations$Endpoints$Predictlongrunning, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - serverStreamingPredict( - params: Params$Resource$Projects$Locations$Endpoints$Serverstreamingpredict, - callback: BodyResponseCallback + predictLongRunning( + params: Params$Resource$Projects$Locations$Endpoints$Predictlongrunning, + callback: BodyResponseCallback ): void; - serverStreamingPredict( - callback: BodyResponseCallback + predictLongRunning( + callback: BodyResponseCallback ): void; - serverStreamingPredict( + predictLongRunning( paramsOrCallback?: - | Params$Resource$Projects$Locations$Endpoints$Serverstreamingpredict - | BodyResponseCallback + | Params$Resource$Projects$Locations$Endpoints$Predictlongrunning + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Endpoints$Serverstreamingpredict; + {}) as Params$Resource$Projects$Locations$Endpoints$Predictlongrunning; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Endpoints$Serverstreamingpredict; + {} as Params$Resource$Projects$Locations$Endpoints$Predictlongrunning; options = {}; } @@ -28602,7 +31877,7 @@ export namespace aiplatform_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+endpoint}:serverStreamingPredict').replace( + url: (rootUrl + '/v1/{+endpoint}:predictLongRunning').replace( /([^:]\/)\/+/g, '$1' ), @@ -28617,151 +31892,49 @@ export namespace aiplatform_v1 { context: this.context, }; if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Generate content with multimodal inputs with streaming support. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - streamGenerateContent( - params: Params$Resource$Projects$Locations$Endpoints$Streamgeneratecontent, - options: StreamMethodOptions - ): GaxiosPromise; - streamGenerateContent( - params?: Params$Resource$Projects$Locations$Endpoints$Streamgeneratecontent, - options?: MethodOptions - ): GaxiosPromise; - streamGenerateContent( - params: Params$Resource$Projects$Locations$Endpoints$Streamgeneratecontent, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - streamGenerateContent( - params: Params$Resource$Projects$Locations$Endpoints$Streamgeneratecontent, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - streamGenerateContent( - params: Params$Resource$Projects$Locations$Endpoints$Streamgeneratecontent, - callback: BodyResponseCallback - ): void; - streamGenerateContent( - callback: BodyResponseCallback - ): void; - streamGenerateContent( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Endpoints$Streamgeneratecontent - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Endpoints$Streamgeneratecontent; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Endpoints$Streamgeneratecontent; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1/{+model}:streamGenerateContent').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['model'], - pathParams: ['model'], - context: this.context, - }; - if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Perform a streaming online prediction with an arbitrary HTTP payload. + * Perform an online prediction with an arbitrary HTTP payload. The response includes the following HTTP headers: * `X-Vertex-AI-Endpoint-Id`: ID of the Endpoint that served this prediction. * `X-Vertex-AI-Deployed-Model-Id`: ID of the Endpoint's DeployedModel that served this prediction. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - streamRawPredict( - params: Params$Resource$Projects$Locations$Endpoints$Streamrawpredict, + rawPredict( + params: Params$Resource$Projects$Locations$Endpoints$Rawpredict, options: StreamMethodOptions ): GaxiosPromise; - streamRawPredict( - params?: Params$Resource$Projects$Locations$Endpoints$Streamrawpredict, + rawPredict( + params?: Params$Resource$Projects$Locations$Endpoints$Rawpredict, options?: MethodOptions ): GaxiosPromise; - streamRawPredict( - params: Params$Resource$Projects$Locations$Endpoints$Streamrawpredict, + rawPredict( + params: Params$Resource$Projects$Locations$Endpoints$Rawpredict, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - streamRawPredict( - params: Params$Resource$Projects$Locations$Endpoints$Streamrawpredict, + rawPredict( + params: Params$Resource$Projects$Locations$Endpoints$Rawpredict, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - streamRawPredict( - params: Params$Resource$Projects$Locations$Endpoints$Streamrawpredict, - callback: BodyResponseCallback - ): void; - streamRawPredict( + rawPredict( + params: Params$Resource$Projects$Locations$Endpoints$Rawpredict, callback: BodyResponseCallback ): void; - streamRawPredict( + rawPredict(callback: BodyResponseCallback): void; + rawPredict( paramsOrCallback?: - | Params$Resource$Projects$Locations$Endpoints$Streamrawpredict + | Params$Resource$Projects$Locations$Endpoints$Rawpredict | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -28777,13 +31950,12 @@ export namespace aiplatform_v1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Endpoints$Streamrawpredict; + {}) as Params$Resource$Projects$Locations$Endpoints$Rawpredict; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Endpoints$Streamrawpredict; + params = {} as Params$Resource$Projects$Locations$Endpoints$Rawpredict; options = {}; } @@ -28796,7 +31968,297 @@ export namespace aiplatform_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+endpoint}:streamRawPredict').replace( + url: (rootUrl + '/v1/{+endpoint}:rawPredict').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['endpoint'], + pathParams: ['endpoint'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Perform a server-side streaming online prediction request for Vertex LLM streaming. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + serverStreamingPredict( + params: Params$Resource$Projects$Locations$Endpoints$Serverstreamingpredict, + options: StreamMethodOptions + ): GaxiosPromise; + serverStreamingPredict( + params?: Params$Resource$Projects$Locations$Endpoints$Serverstreamingpredict, + options?: MethodOptions + ): GaxiosPromise; + serverStreamingPredict( + params: Params$Resource$Projects$Locations$Endpoints$Serverstreamingpredict, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + serverStreamingPredict( + params: Params$Resource$Projects$Locations$Endpoints$Serverstreamingpredict, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + serverStreamingPredict( + params: Params$Resource$Projects$Locations$Endpoints$Serverstreamingpredict, + callback: BodyResponseCallback + ): void; + serverStreamingPredict( + callback: BodyResponseCallback + ): void; + serverStreamingPredict( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Endpoints$Serverstreamingpredict + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Endpoints$Serverstreamingpredict; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Endpoints$Serverstreamingpredict; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+endpoint}:serverStreamingPredict').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['endpoint'], + pathParams: ['endpoint'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Generate content with multimodal inputs with streaming support. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + streamGenerateContent( + params: Params$Resource$Projects$Locations$Endpoints$Streamgeneratecontent, + options: StreamMethodOptions + ): GaxiosPromise; + streamGenerateContent( + params?: Params$Resource$Projects$Locations$Endpoints$Streamgeneratecontent, + options?: MethodOptions + ): GaxiosPromise; + streamGenerateContent( + params: Params$Resource$Projects$Locations$Endpoints$Streamgeneratecontent, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + streamGenerateContent( + params: Params$Resource$Projects$Locations$Endpoints$Streamgeneratecontent, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + streamGenerateContent( + params: Params$Resource$Projects$Locations$Endpoints$Streamgeneratecontent, + callback: BodyResponseCallback + ): void; + streamGenerateContent( + callback: BodyResponseCallback + ): void; + streamGenerateContent( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Endpoints$Streamgeneratecontent + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Endpoints$Streamgeneratecontent; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Endpoints$Streamgeneratecontent; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+model}:streamGenerateContent').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['model'], + pathParams: ['model'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Perform a streaming online prediction with an arbitrary HTTP payload. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + streamRawPredict( + params: Params$Resource$Projects$Locations$Endpoints$Streamrawpredict, + options: StreamMethodOptions + ): GaxiosPromise; + streamRawPredict( + params?: Params$Resource$Projects$Locations$Endpoints$Streamrawpredict, + options?: MethodOptions + ): GaxiosPromise; + streamRawPredict( + params: Params$Resource$Projects$Locations$Endpoints$Streamrawpredict, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + streamRawPredict( + params: Params$Resource$Projects$Locations$Endpoints$Streamrawpredict, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + streamRawPredict( + params: Params$Resource$Projects$Locations$Endpoints$Streamrawpredict, + callback: BodyResponseCallback + ): void; + streamRawPredict( + callback: BodyResponseCallback + ): void; + streamRawPredict( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Endpoints$Streamrawpredict + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Endpoints$Streamrawpredict; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Endpoints$Streamrawpredict; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+endpoint}:streamRawPredict').replace( /([^:]\/)\/+/g, '$1' ), @@ -28915,6 +32377,98 @@ export namespace aiplatform_v1 { return createAPIRequest(parameters); } } + + /** + * Updates an Endpoint with a long running operation. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + update( + params: Params$Resource$Projects$Locations$Endpoints$Update, + options: StreamMethodOptions + ): GaxiosPromise; + update( + params?: Params$Resource$Projects$Locations$Endpoints$Update, + options?: MethodOptions + ): GaxiosPromise; + update( + params: Params$Resource$Projects$Locations$Endpoints$Update, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + update( + params: Params$Resource$Projects$Locations$Endpoints$Update, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + update( + params: Params$Resource$Projects$Locations$Endpoints$Update, + callback: BodyResponseCallback + ): void; + update( + callback: BodyResponseCallback + ): void; + update( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Endpoints$Update + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Endpoints$Update; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Endpoints$Update; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:update').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } export interface Params$Resource$Projects$Locations$Endpoints$Computetokens @@ -29012,6 +32566,18 @@ export namespace aiplatform_v1 { */ requestBody?: Schema$GoogleCloudAiplatformV1ExplainRequest; } + export interface Params$Resource$Projects$Locations$Endpoints$Fetchpredictoperation + extends StandardParameters { + /** + * Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project\}/locations/{location\}/endpoints/{endpoint\}` or `projects/{project\}/locations/{location\}/publishers/{publisher\}/models/{model\}` + */ + endpoint?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1FetchPredictOperationRequest; + } export interface Params$Resource$Projects$Locations$Endpoints$Generatecontent extends StandardParameters { /** @@ -29098,6 +32664,18 @@ export namespace aiplatform_v1 { */ requestBody?: Schema$GoogleCloudAiplatformV1PredictRequest; } + export interface Params$Resource$Projects$Locations$Endpoints$Predictlongrunning + extends StandardParameters { + /** + * Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project\}/locations/{location\}/endpoints/{endpoint\}` or `projects/{project\}/locations/{location\}/publishers/{publisher\}/models/{model\}` + */ + endpoint?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1PredictLongRunningRequest; + } export interface Params$Resource$Projects$Locations$Endpoints$Rawpredict extends StandardParameters { /** @@ -29158,6 +32736,130 @@ export namespace aiplatform_v1 { */ requestBody?: Schema$GoogleCloudAiplatformV1UndeployModelRequest; } + export interface Params$Resource$Projects$Locations$Endpoints$Update + extends StandardParameters { + /** + * Output only. The resource name of the Endpoint. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1UpdateEndpointLongRunningRequest; + } + + export class Resource$Projects$Locations$Endpoints$Chat { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Exposes an OpenAI-compatible endpoint for chat completions. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + completions( + params: Params$Resource$Projects$Locations$Endpoints$Chat$Completions, + options: StreamMethodOptions + ): GaxiosPromise; + completions( + params?: Params$Resource$Projects$Locations$Endpoints$Chat$Completions, + options?: MethodOptions + ): GaxiosPromise; + completions( + params: Params$Resource$Projects$Locations$Endpoints$Chat$Completions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + completions( + params: Params$Resource$Projects$Locations$Endpoints$Chat$Completions, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + completions( + params: Params$Resource$Projects$Locations$Endpoints$Chat$Completions, + callback: BodyResponseCallback + ): void; + completions(callback: BodyResponseCallback): void; + completions( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Endpoints$Chat$Completions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Endpoints$Chat$Completions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Endpoints$Chat$Completions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+endpoint}/chat/completions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['endpoint'], + pathParams: ['endpoint'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Endpoints$Chat$Completions + extends StandardParameters { + /** + * Required. The name of the endpoint requested to serve the prediction. Format: `projects/{project\}/locations/{location\}/endpoints/{endpoint\}` + */ + endpoint?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleApiHttpBody; + } export class Resource$Projects$Locations$Endpoints$Operations { context: APIRequestContext; @@ -29166,7 +32868,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -30213,7 +33915,7 @@ export namespace aiplatform_v1 { */ pageSize?: number; /** - * A page token, received from a previous FeatureGroupAdminService.ListFeatureGroups call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureGroupAdminService.ListFeatureGroups must match the call that provided the page token. + * A page token, received from a previous FeatureRegistryService.ListFeatureGroups call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureRegistryService.ListFeatureGroups must match the call that provided the page token. */ pageToken?: string; /** @@ -30249,6 +33951,102 @@ export namespace aiplatform_v1 { ); } + /** + * Creates a batch of Features in a given FeatureGroup. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + batchCreate( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Batchcreate, + options: StreamMethodOptions + ): GaxiosPromise; + batchCreate( + params?: Params$Resource$Projects$Locations$Featuregroups$Features$Batchcreate, + options?: MethodOptions + ): GaxiosPromise; + batchCreate( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Batchcreate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + batchCreate( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Batchcreate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + batchCreate( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Batchcreate, + callback: BodyResponseCallback + ): void; + batchCreate( + callback: BodyResponseCallback + ): void; + batchCreate( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Featuregroups$Features$Batchcreate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Featuregroups$Features$Batchcreate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Featuregroups$Features$Batchcreate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/features:batchCreate').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Creates a new Feature in a given FeatureGroup. * @@ -30725,6 +34523,18 @@ export namespace aiplatform_v1 { } } + export interface Params$Resource$Projects$Locations$Featuregroups$Features$Batchcreate + extends StandardParameters { + /** + * Required. The resource name of the EntityType/FeatureGroup to create the batch of Features under. Format: `projects/{project\}/locations/{location\}/featurestores/{featurestore\}/entityTypes/{entity_type\}` `projects/{project\}/locations/{location\}/featureGroups/{feature_group\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1BatchCreateFeaturesRequest; + } export interface Params$Resource$Projects$Locations$Featuregroups$Features$Create extends StandardParameters { /** @@ -33692,7 +37502,7 @@ export namespace aiplatform_v1 { */ name?: string; /** - * Field mask is used to specify the fields to be overwritten in the FeatureView resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `labels` * `service_agent_type` * `big_query_source` * `big_query_source.uri` * `big_query_source.entity_id_columns` * `feature_registry_source` * `feature_registry_source.feature_groups` * `sync_config` * `sync_config.cron` + * Field mask is used to specify the fields to be overwritten in the FeatureView resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `labels` * `service_agent_type` * `big_query_source` * `big_query_source.uri` * `big_query_source.entity_id_columns` * `feature_registry_source` * `feature_registry_source.feature_groups` * `sync_config` * `sync_config.cron` * `optimized_config.automatic_resources` */ updateMask?: string; @@ -38155,7 +41965,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -38676,7 +42486,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -39197,7 +43007,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -40265,7 +44075,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -41878,7 +45688,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -43166,7 +46976,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -44930,7 +48740,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -46565,7 +50375,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -47977,7 +51787,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -48839,7 +52649,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -49590,7 +53400,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -50976,7 +54786,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -53377,7 +57187,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -54239,7 +58049,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -55958,7 +59768,7 @@ export namespace aiplatform_v1 { */ pageSize?: number; /** - * Optional. The standard list page token. Typically obtained via ListNotebookExecutionJobs.next_page_token of the previous NotebookService.ListNotebookExecutionJobs call. + * Optional. The standard list page token. Typically obtained via ListNotebookExecutionJobsResponse.next_page_token of the previous NotebookService.ListNotebookExecutionJobs call. */ pageToken?: string; /** @@ -55978,7 +59788,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -56976,6 +60786,98 @@ export namespace aiplatform_v1 { } } + /** + * Stops a NotebookRuntime. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + stop( + params: Params$Resource$Projects$Locations$Notebookruntimes$Stop, + options: StreamMethodOptions + ): GaxiosPromise; + stop( + params?: Params$Resource$Projects$Locations$Notebookruntimes$Stop, + options?: MethodOptions + ): GaxiosPromise; + stop( + params: Params$Resource$Projects$Locations$Notebookruntimes$Stop, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + stop( + params: Params$Resource$Projects$Locations$Notebookruntimes$Stop, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + stop( + params: Params$Resource$Projects$Locations$Notebookruntimes$Stop, + callback: BodyResponseCallback + ): void; + stop( + callback: BodyResponseCallback + ): void; + stop( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Notebookruntimes$Stop + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Notebookruntimes$Stop; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Notebookruntimes$Stop; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:stop').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Upgrades a NotebookRuntime. * @@ -57102,7 +61004,7 @@ export namespace aiplatform_v1 { export interface Params$Resource$Projects$Locations$Notebookruntimes$List extends StandardParameters { /** - * Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `notebookRuntime` supports = and !=. `notebookRuntime` represents the NotebookRuntime ID, i.e. the last segment of the NotebookRuntime's resource name. * `displayName` supports = and != and regex. * `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate` represents the NotebookRuntimeTemplate ID, i.e. the last segment of the NotebookRuntimeTemplate's resource name. * `healthState` supports = and !=. healthState enum: [HEALTHY, UNHEALTHY, HEALTH_STATE_UNSPECIFIED]. * `runtimeState` supports = and !=. runtimeState enum: [RUNTIME_STATE_UNSPECIFIED, RUNNING, BEING_STARTED, BEING_STOPPED, STOPPED, BEING_UPGRADED, ERROR, INVALID]. * `runtimeUser` supports = and !=. * API version is UI only: `uiState` supports = and !=. uiState enum: [UI_RESOURCE_STATE_UNSPECIFIED, UI_RESOURCE_STATE_BEING_CREATED, UI_RESOURCE_STATE_ACTIVE, UI_RESOURCE_STATE_BEING_DELETED, UI_RESOURCE_STATE_CREATION_FAILED]. * `notebookRuntimeType` supports = and !=. notebookRuntimeType enum: [USER_DEFINED, ONE_CLICK]. Some examples: * `notebookRuntime="notebookRuntime123"` * `displayName="myDisplayName"` and `displayName=~"myDisplayNameRegex"` * `notebookRuntimeTemplate="notebookRuntimeTemplate321"` * `healthState=HEALTHY` * `runtimeState=RUNNING` * `runtimeUser="test@google.com"` * `uiState=UI_RESOURCE_STATE_BEING_DELETED` * `notebookRuntimeType=USER_DEFINED` + * Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `notebookRuntime` supports = and !=. `notebookRuntime` represents the NotebookRuntime ID, i.e. the last segment of the NotebookRuntime's resource name. * `displayName` supports = and != and regex. * `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate` represents the NotebookRuntimeTemplate ID, i.e. the last segment of the NotebookRuntimeTemplate's resource name. * `healthState` supports = and !=. healthState enum: [HEALTHY, UNHEALTHY, HEALTH_STATE_UNSPECIFIED]. * `runtimeState` supports = and !=. runtimeState enum: [RUNTIME_STATE_UNSPECIFIED, RUNNING, BEING_STARTED, BEING_STOPPED, STOPPED, BEING_UPGRADED, ERROR, INVALID]. * `runtimeUser` supports = and !=. * API version is UI only: `uiState` supports = and !=. uiState enum: [UI_RESOURCE_STATE_UNSPECIFIED, UI_RESOURCE_STATE_BEING_CREATED, UI_RESOURCE_STATE_ACTIVE, UI_RESOURCE_STATE_BEING_DELETED, UI_RESOURCE_STATE_CREATION_FAILED]. * `notebookRuntimeType` supports = and !=. notebookRuntimeType enum: [USER_DEFINED, ONE_CLICK]. * `machineType` supports = and !=. * `acceleratorType` supports = and !=. Some examples: * `notebookRuntime="notebookRuntime123"` * `displayName="myDisplayName"` and `displayName=~"myDisplayNameRegex"` * `notebookRuntimeTemplate="notebookRuntimeTemplate321"` * `healthState=HEALTHY` * `runtimeState=RUNNING` * `runtimeUser="test@google.com"` * `uiState=UI_RESOURCE_STATE_BEING_DELETED` * `notebookRuntimeType=USER_DEFINED` * `machineType=e2-standard-4` * `acceleratorType=NVIDIA_TESLA_T4` */ filter?: string; /** @@ -57138,6 +61040,18 @@ export namespace aiplatform_v1 { */ requestBody?: Schema$GoogleCloudAiplatformV1StartNotebookRuntimeRequest; } + export interface Params$Resource$Projects$Locations$Notebookruntimes$Stop + extends StandardParameters { + /** + * Required. The name of the NotebookRuntime resource to be stopped. Instead of checking whether the name is in valid NotebookRuntime resource name format, directly throw NotFound exception if there is no such NotebookRuntime in spanner. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1StopNotebookRuntimeRequest; + } export interface Params$Resource$Projects$Locations$Notebookruntimes$Upgrade extends StandardParameters { /** @@ -57158,7 +61072,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -58491,7 +62405,7 @@ export namespace aiplatform_v1 { export interface Params$Resource$Projects$Locations$Notebookruntimetemplates$List extends StandardParameters { /** - * Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate` represents the NotebookRuntimeTemplate ID, i.e. the last segment of the NotebookRuntimeTemplate's resource name. * `display_name` supports = and != * `labels` supports general map functions that is: * `labels.key=value` - key:value equality * `labels.key:* or labels:key - key existence * A key including a space must be quoted. `labels."a key"`. * `notebookRuntimeType` supports = and !=. notebookRuntimeType enum: [USER_DEFINED, ONE_CLICK]. Some examples: * `notebookRuntimeTemplate=notebookRuntimeTemplate123` * `displayName="myDisplayName"` * `labels.myKey="myValue"` * `notebookRuntimeType=USER_DEFINED` + * Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate` represents the NotebookRuntimeTemplate ID, i.e. the last segment of the NotebookRuntimeTemplate's resource name. * `display_name` supports = and != * `labels` supports general map functions that is: * `labels.key=value` - key:value equality * `labels.key:* or labels:key - key existence * A key including a space must be quoted. `labels."a key"`. * `notebookRuntimeType` supports = and !=. notebookRuntimeType enum: [USER_DEFINED, ONE_CLICK]. * `machineType` supports = and !=. * `acceleratorType` supports = and !=. Some examples: * `notebookRuntimeTemplate=notebookRuntimeTemplate123` * `displayName="myDisplayName"` * `labels.myKey="myValue"` * `notebookRuntimeType=USER_DEFINED` * `machineType=e2-standard-4` * `acceleratorType=NVIDIA_TESLA_T4` */ filter?: string; /** @@ -58562,7 +62476,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -59083,7 +62997,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -60209,7 +64123,7 @@ export namespace aiplatform_v1 { */ pageSize?: number; /** - * Optional. The standard list page token. Typically obtained via ListPersistentResourceResponse.next_page_token of the previous PersistentResourceService.ListPersistentResource call. + * Optional. The standard list page token. Typically obtained via ListPersistentResourcesResponse.next_page_token of the previous PersistentResourceService.ListPersistentResource call. */ pageToken?: string; /** @@ -60253,7 +64167,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -61539,7 +65453,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -62266,6 +66180,102 @@ export namespace aiplatform_v1 { } } + /** + * Fetch an asynchronous online prediction operation. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + fetchPredictOperation( + params: Params$Resource$Projects$Locations$Publishers$Models$Fetchpredictoperation, + options: StreamMethodOptions + ): GaxiosPromise; + fetchPredictOperation( + params?: Params$Resource$Projects$Locations$Publishers$Models$Fetchpredictoperation, + options?: MethodOptions + ): GaxiosPromise; + fetchPredictOperation( + params: Params$Resource$Projects$Locations$Publishers$Models$Fetchpredictoperation, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchPredictOperation( + params: Params$Resource$Projects$Locations$Publishers$Models$Fetchpredictoperation, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchPredictOperation( + params: Params$Resource$Projects$Locations$Publishers$Models$Fetchpredictoperation, + callback: BodyResponseCallback + ): void; + fetchPredictOperation( + callback: BodyResponseCallback + ): void; + fetchPredictOperation( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Publishers$Models$Fetchpredictoperation + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Publishers$Models$Fetchpredictoperation; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Publishers$Models$Fetchpredictoperation; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+endpoint}:fetchPredictOperation').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['endpoint'], + pathParams: ['endpoint'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Generate content with multimodal inputs. * @@ -62462,6 +66472,101 @@ export namespace aiplatform_v1 { } } + /** + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + predictLongRunning( + params: Params$Resource$Projects$Locations$Publishers$Models$Predictlongrunning, + options: StreamMethodOptions + ): GaxiosPromise; + predictLongRunning( + params?: Params$Resource$Projects$Locations$Publishers$Models$Predictlongrunning, + options?: MethodOptions + ): GaxiosPromise; + predictLongRunning( + params: Params$Resource$Projects$Locations$Publishers$Models$Predictlongrunning, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + predictLongRunning( + params: Params$Resource$Projects$Locations$Publishers$Models$Predictlongrunning, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + predictLongRunning( + params: Params$Resource$Projects$Locations$Publishers$Models$Predictlongrunning, + callback: BodyResponseCallback + ): void; + predictLongRunning( + callback: BodyResponseCallback + ): void; + predictLongRunning( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Publishers$Models$Predictlongrunning + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Publishers$Models$Predictlongrunning; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Publishers$Models$Predictlongrunning; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+endpoint}:predictLongRunning').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['endpoint'], + pathParams: ['endpoint'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Perform an online prediction with an arbitrary HTTP payload. The response includes the following HTTP headers: * `X-Vertex-AI-Endpoint-Id`: ID of the Endpoint that served this prediction. * `X-Vertex-AI-Deployed-Model-Id`: ID of the Endpoint's DeployedModel that served this prediction. * @@ -62869,6 +66974,18 @@ export namespace aiplatform_v1 { */ requestBody?: Schema$GoogleCloudAiplatformV1CountTokensRequest; } + export interface Params$Resource$Projects$Locations$Publishers$Models$Fetchpredictoperation + extends StandardParameters { + /** + * Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project\}/locations/{location\}/endpoints/{endpoint\}` or `projects/{project\}/locations/{location\}/publishers/{publisher\}/models/{model\}` + */ + endpoint?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1FetchPredictOperationRequest; + } export interface Params$Resource$Projects$Locations$Publishers$Models$Generatecontent extends StandardParameters { /** @@ -62893,6 +67010,18 @@ export namespace aiplatform_v1 { */ requestBody?: Schema$GoogleCloudAiplatformV1PredictRequest; } + export interface Params$Resource$Projects$Locations$Publishers$Models$Predictlongrunning + extends StandardParameters { + /** + * Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project\}/locations/{location\}/endpoints/{endpoint\}` or `projects/{project\}/locations/{location\}/publishers/{publisher\}/models/{model\}` + */ + endpoint?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1PredictLongRunningRequest; + } export interface Params$Resource$Projects$Locations$Publishers$Models$Rawpredict extends StandardParameters { /** @@ -62942,6 +67071,3306 @@ export namespace aiplatform_v1 { requestBody?: Schema$GoogleCloudAiplatformV1StreamRawPredictRequest; } + export class Resource$Projects$Locations$Ragcorpora { + context: APIRequestContext; + operations: Resource$Projects$Locations$Ragcorpora$Operations; + ragFiles: Resource$Projects$Locations$Ragcorpora$Ragfiles; + constructor(context: APIRequestContext) { + this.context = context; + this.operations = new Resource$Projects$Locations$Ragcorpora$Operations( + this.context + ); + this.ragFiles = new Resource$Projects$Locations$Ragcorpora$Ragfiles( + this.context + ); + } + + /** + * Creates a RagCorpus. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Ragcorpora$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Ragcorpora$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Ragcorpora$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Ragcorpora$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Ragcorpora$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Ragcorpora$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Ragcorpora$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Ragcorpora$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/ragCorpora').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a RagCorpus. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Ragcorpora$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Ragcorpora$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Ragcorpora$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Ragcorpora$Delete, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Ragcorpora$Delete, + callback: BodyResponseCallback + ): void; + delete( + callback: BodyResponseCallback + ): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Ragcorpora$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Ragcorpora$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Ragcorpora$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets a RagCorpus. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Ragcorpora$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Ragcorpora$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Ragcorpora$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Ragcorpora$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Ragcorpora$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Ragcorpora$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Ragcorpora$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Ragcorpora$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Lists RagCorpora in a Location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Ragcorpora$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Ragcorpora$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Ragcorpora$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Ragcorpora$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Ragcorpora$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Ragcorpora$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Ragcorpora$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Ragcorpora$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/ragCorpora').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates a RagCorpus. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Ragcorpora$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Ragcorpora$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Ragcorpora$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Ragcorpora$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Ragcorpora$Patch, + callback: BodyResponseCallback + ): void; + patch( + callback: BodyResponseCallback + ): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Ragcorpora$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Ragcorpora$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Ragcorpora$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Ragcorpora$Create + extends StandardParameters { + /** + * Required. The resource name of the Location to create the RagCorpus in. Format: `projects/{project\}/locations/{location\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1RagCorpus; + } + export interface Params$Resource$Projects$Locations$Ragcorpora$Delete + extends StandardParameters { + /** + * Optional. If set to true, any RagFiles in this RagCorpus will also be deleted. Otherwise, the request will only work if the RagCorpus has no RagFiles. + */ + force?: boolean; + /** + * Required. The name of the RagCorpus resource to be deleted. Format: `projects/{project\}/locations/{location\}/ragCorpora/{rag_corpus\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Ragcorpora$Get + extends StandardParameters { + /** + * Required. The name of the RagCorpus resource. Format: `projects/{project\}/locations/{location\}/ragCorpora/{rag_corpus\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Ragcorpora$List + extends StandardParameters { + /** + * Optional. The standard list page size. + */ + pageSize?: number; + /** + * Optional. The standard list page token. Typically obtained via ListRagCorporaResponse.next_page_token of the previous VertexRagDataService.ListRagCorpora call. + */ + pageToken?: string; + /** + * Required. The resource name of the Location from which to list the RagCorpora. Format: `projects/{project\}/locations/{location\}` + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Ragcorpora$Patch + extends StandardParameters { + /** + * Output only. The resource name of the RagCorpus. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1RagCorpus; + } + + export class Resource$Projects$Locations$Ragcorpora$Operations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + cancel( + params: Params$Resource$Projects$Locations$Ragcorpora$Operations$Cancel, + options: StreamMethodOptions + ): GaxiosPromise; + cancel( + params?: Params$Resource$Projects$Locations$Ragcorpora$Operations$Cancel, + options?: MethodOptions + ): GaxiosPromise; + cancel( + params: Params$Resource$Projects$Locations$Ragcorpora$Operations$Cancel, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Ragcorpora$Operations$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Ragcorpora$Operations$Cancel, + callback: BodyResponseCallback + ): void; + cancel(callback: BodyResponseCallback): void; + cancel( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Ragcorpora$Operations$Cancel + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Ragcorpora$Operations$Cancel; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Ragcorpora$Operations$Cancel; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:cancel').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Ragcorpora$Operations$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Ragcorpora$Operations$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Ragcorpora$Operations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Ragcorpora$Operations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Ragcorpora$Operations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Ragcorpora$Operations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Ragcorpora$Operations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Ragcorpora$Operations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Ragcorpora$Operations$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Ragcorpora$Operations$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Ragcorpora$Operations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Ragcorpora$Operations$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Ragcorpora$Operations$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Ragcorpora$Operations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Ragcorpora$Operations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Ragcorpora$Operations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Ragcorpora$Operations$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Ragcorpora$Operations$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Ragcorpora$Operations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Ragcorpora$Operations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Ragcorpora$Operations$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Ragcorpora$Operations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Ragcorpora$Operations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Ragcorpora$Operations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}/operations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + wait( + params: Params$Resource$Projects$Locations$Ragcorpora$Operations$Wait, + options: StreamMethodOptions + ): GaxiosPromise; + wait( + params?: Params$Resource$Projects$Locations$Ragcorpora$Operations$Wait, + options?: MethodOptions + ): GaxiosPromise; + wait( + params: Params$Resource$Projects$Locations$Ragcorpora$Operations$Wait, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + wait( + params: Params$Resource$Projects$Locations$Ragcorpora$Operations$Wait, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + wait( + params: Params$Resource$Projects$Locations$Ragcorpora$Operations$Wait, + callback: BodyResponseCallback + ): void; + wait( + callback: BodyResponseCallback + ): void; + wait( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Ragcorpora$Operations$Wait + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Ragcorpora$Operations$Wait; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Ragcorpora$Operations$Wait; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:wait').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Ragcorpora$Operations$Cancel + extends StandardParameters { + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Ragcorpora$Operations$Delete + extends StandardParameters { + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Ragcorpora$Operations$Get + extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Ragcorpora$Operations$List + extends StandardParameters { + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + export interface Params$Resource$Projects$Locations$Ragcorpora$Operations$Wait + extends StandardParameters { + /** + * The name of the operation resource to wait on. + */ + name?: string; + /** + * The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used. + */ + timeout?: string; + } + + export class Resource$Projects$Locations$Ragcorpora$Ragfiles { + context: APIRequestContext; + operations: Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations; + constructor(context: APIRequestContext) { + this.context = context; + this.operations = + new Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations( + this.context + ); + } + + /** + * Deletes a RagFile. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Delete, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Delete, + callback: BodyResponseCallback + ): void; + delete( + callback: BodyResponseCallback + ): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets a RagFile. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Import files from Google Cloud Storage or Google Drive into a RagCorpus. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + import( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Import, + options: StreamMethodOptions + ): GaxiosPromise; + import( + params?: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Import, + options?: MethodOptions + ): GaxiosPromise; + import( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Import, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + import( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Import, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + import( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Import, + callback: BodyResponseCallback + ): void; + import( + callback: BodyResponseCallback + ): void; + import( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Import + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Import; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Import; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/ragFiles:import').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists RagFiles in a RagCorpus. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/ragFiles').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Delete + extends StandardParameters { + /** + * Required. The name of the RagFile resource to be deleted. Format: `projects/{project\}/locations/{location\}/ragCorpora/{rag_corpus\}/ragFiles/{rag_file\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Get + extends StandardParameters { + /** + * Required. The name of the RagFile resource. Format: `projects/{project\}/locations/{location\}/ragCorpora/{rag_corpus\}/ragFiles/{rag_file\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Import + extends StandardParameters { + /** + * Required. The name of the RagCorpus resource into which to import files. Format: `projects/{project\}/locations/{location\}/ragCorpora/{rag_corpus\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1ImportRagFilesRequest; + } + export interface Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$List + extends StandardParameters { + /** + * Optional. The standard list page size. + */ + pageSize?: number; + /** + * Optional. The standard list page token. Typically obtained via ListRagFilesResponse.next_page_token of the previous VertexRagDataService.ListRagFiles call. + */ + pageToken?: string; + /** + * Required. The resource name of the RagCorpus from which to list the RagFiles. Format: `projects/{project\}/locations/{location\}/ragCorpora/{rag_corpus\}` + */ + parent?: string; + } + + export class Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + cancel( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Cancel, + options: StreamMethodOptions + ): GaxiosPromise; + cancel( + params?: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Cancel, + options?: MethodOptions + ): GaxiosPromise; + cancel( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Cancel, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Cancel, + callback: BodyResponseCallback + ): void; + cancel(callback: BodyResponseCallback): void; + cancel( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Cancel + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Cancel; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Cancel; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:cancel').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}/operations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + wait( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Wait, + options: StreamMethodOptions + ): GaxiosPromise; + wait( + params?: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Wait, + options?: MethodOptions + ): GaxiosPromise; + wait( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Wait, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + wait( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Wait, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + wait( + params: Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Wait, + callback: BodyResponseCallback + ): void; + wait( + callback: BodyResponseCallback + ): void; + wait( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Wait + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Wait; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Wait; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:wait').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Cancel + extends StandardParameters { + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Delete + extends StandardParameters { + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Get + extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$List + extends StandardParameters { + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + export interface Params$Resource$Projects$Locations$Ragcorpora$Ragfiles$Operations$Wait + extends StandardParameters { + /** + * The name of the operation resource to wait on. + */ + name?: string; + /** + * The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used. + */ + timeout?: string; + } + + export class Resource$Projects$Locations$Reasoningengines { + context: APIRequestContext; + operations: Resource$Projects$Locations$Reasoningengines$Operations; + constructor(context: APIRequestContext) { + this.context = context; + this.operations = + new Resource$Projects$Locations$Reasoningengines$Operations( + this.context + ); + } + + /** + * Creates a reasoning engine. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Reasoningengines$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Reasoningengines$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Reasoningengines$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Reasoningengines$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Reasoningengines$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Reasoningengines$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Reasoningengines$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Reasoningengines$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/reasoningEngines').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a reasoning engine. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Reasoningengines$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Reasoningengines$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Reasoningengines$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Reasoningengines$Delete, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Reasoningengines$Delete, + callback: BodyResponseCallback + ): void; + delete( + callback: BodyResponseCallback + ): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Reasoningengines$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Reasoningengines$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Reasoningengines$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets a reasoning engine. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Reasoningengines$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Reasoningengines$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Reasoningengines$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Reasoningengines$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Reasoningengines$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Reasoningengines$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Reasoningengines$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Reasoningengines$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Lists reasoning engines in a location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Reasoningengines$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Reasoningengines$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Reasoningengines$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Reasoningengines$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Reasoningengines$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Reasoningengines$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Reasoningengines$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Reasoningengines$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/reasoningEngines').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates a reasoning engine. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Reasoningengines$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Reasoningengines$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Reasoningengines$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Reasoningengines$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Reasoningengines$Patch, + callback: BodyResponseCallback + ): void; + patch( + callback: BodyResponseCallback + ): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Reasoningengines$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Reasoningengines$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Reasoningengines$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Queries using a reasoning engine. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + query( + params: Params$Resource$Projects$Locations$Reasoningengines$Query, + options: StreamMethodOptions + ): GaxiosPromise; + query( + params?: Params$Resource$Projects$Locations$Reasoningengines$Query, + options?: MethodOptions + ): GaxiosPromise; + query( + params: Params$Resource$Projects$Locations$Reasoningengines$Query, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + query( + params: Params$Resource$Projects$Locations$Reasoningengines$Query, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + query( + params: Params$Resource$Projects$Locations$Reasoningengines$Query, + callback: BodyResponseCallback + ): void; + query( + callback: BodyResponseCallback + ): void; + query( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Reasoningengines$Query + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Reasoningengines$Query; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Reasoningengines$Query; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:query').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Streams queries using a reasoning engine. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + streamQuery( + params: Params$Resource$Projects$Locations$Reasoningengines$Streamquery, + options: StreamMethodOptions + ): GaxiosPromise; + streamQuery( + params?: Params$Resource$Projects$Locations$Reasoningengines$Streamquery, + options?: MethodOptions + ): GaxiosPromise; + streamQuery( + params: Params$Resource$Projects$Locations$Reasoningengines$Streamquery, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + streamQuery( + params: Params$Resource$Projects$Locations$Reasoningengines$Streamquery, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + streamQuery( + params: Params$Resource$Projects$Locations$Reasoningengines$Streamquery, + callback: BodyResponseCallback + ): void; + streamQuery(callback: BodyResponseCallback): void; + streamQuery( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Reasoningengines$Streamquery + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Reasoningengines$Streamquery; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Reasoningengines$Streamquery; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:streamQuery').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Reasoningengines$Create + extends StandardParameters { + /** + * Required. The resource name of the Location to create the ReasoningEngine in. Format: `projects/{project\}/locations/{location\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1ReasoningEngine; + } + export interface Params$Resource$Projects$Locations$Reasoningengines$Delete + extends StandardParameters { + /** + * Required. The name of the ReasoningEngine resource to be deleted. Format: `projects/{project\}/locations/{location\}/reasoningEngines/{reasoning_engine\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Reasoningengines$Get + extends StandardParameters { + /** + * Required. The name of the ReasoningEngine resource. Format: `projects/{project\}/locations/{location\}/reasoningEngines/{reasoning_engine\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Reasoningengines$List + extends StandardParameters { + /** + * Optional. The standard list filter. More detail in [AIP-160](https://google.aip.dev/160). + */ + filter?: string; + /** + * Optional. The standard list page size. + */ + pageSize?: number; + /** + * Optional. The standard list page token. + */ + pageToken?: string; + /** + * Required. The resource name of the Location to list the ReasoningEngines from. Format: `projects/{project\}/locations/{location\}` + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Reasoningengines$Patch + extends StandardParameters { + /** + * Identifier. The resource name of the ReasoningEngine. + */ + name?: string; + /** + * Optional. Mask specifying which fields to update. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1ReasoningEngine; + } + export interface Params$Resource$Projects$Locations$Reasoningengines$Query + extends StandardParameters { + /** + * Required. The name of the ReasoningEngine resource to use. Format: `projects/{project\}/locations/{location\}/reasoningEngines/{reasoning_engine\}` + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1QueryReasoningEngineRequest; + } + export interface Params$Resource$Projects$Locations$Reasoningengines$Streamquery + extends StandardParameters { + /** + * Required. The name of the ReasoningEngine resource to use. Format: `projects/{project\}/locations/{location\}/reasoningEngines/{reasoning_engine\}` + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1StreamQueryReasoningEngineRequest; + } + + export class Resource$Projects$Locations$Reasoningengines$Operations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + cancel( + params: Params$Resource$Projects$Locations$Reasoningengines$Operations$Cancel, + options: StreamMethodOptions + ): GaxiosPromise; + cancel( + params?: Params$Resource$Projects$Locations$Reasoningengines$Operations$Cancel, + options?: MethodOptions + ): GaxiosPromise; + cancel( + params: Params$Resource$Projects$Locations$Reasoningengines$Operations$Cancel, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Reasoningengines$Operations$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Reasoningengines$Operations$Cancel, + callback: BodyResponseCallback + ): void; + cancel(callback: BodyResponseCallback): void; + cancel( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Reasoningengines$Operations$Cancel + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Reasoningengines$Operations$Cancel; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Reasoningengines$Operations$Cancel; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:cancel').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Reasoningengines$Operations$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Reasoningengines$Operations$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Reasoningengines$Operations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Reasoningengines$Operations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Reasoningengines$Operations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Reasoningengines$Operations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Reasoningengines$Operations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Reasoningengines$Operations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Reasoningengines$Operations$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Reasoningengines$Operations$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Reasoningengines$Operations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Reasoningengines$Operations$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Reasoningengines$Operations$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Reasoningengines$Operations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Reasoningengines$Operations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Reasoningengines$Operations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Reasoningengines$Operations$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Reasoningengines$Operations$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Reasoningengines$Operations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Reasoningengines$Operations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Reasoningengines$Operations$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Reasoningengines$Operations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Reasoningengines$Operations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Reasoningengines$Operations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}/operations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + wait( + params: Params$Resource$Projects$Locations$Reasoningengines$Operations$Wait, + options: StreamMethodOptions + ): GaxiosPromise; + wait( + params?: Params$Resource$Projects$Locations$Reasoningengines$Operations$Wait, + options?: MethodOptions + ): GaxiosPromise; + wait( + params: Params$Resource$Projects$Locations$Reasoningengines$Operations$Wait, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + wait( + params: Params$Resource$Projects$Locations$Reasoningengines$Operations$Wait, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + wait( + params: Params$Resource$Projects$Locations$Reasoningengines$Operations$Wait, + callback: BodyResponseCallback + ): void; + wait( + callback: BodyResponseCallback + ): void; + wait( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Reasoningengines$Operations$Wait + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Reasoningengines$Operations$Wait; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Reasoningengines$Operations$Wait; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:wait').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Reasoningengines$Operations$Cancel + extends StandardParameters { + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Reasoningengines$Operations$Delete + extends StandardParameters { + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Reasoningengines$Operations$Get + extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Reasoningengines$Operations$List + extends StandardParameters { + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + export interface Params$Resource$Projects$Locations$Reasoningengines$Operations$Wait + extends StandardParameters { + /** + * The name of the operation resource to wait on. + */ + name?: string; + /** + * The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used. + */ + timeout?: string; + } + export class Resource$Projects$Locations$Schedules { context: APIRequestContext; operations: Resource$Projects$Locations$Schedules$Operations; @@ -63515,7 +70944,7 @@ export namespace aiplatform_v1 { } /** - * Resumes a paused Schedule to start scheduling new runs. Will mark Schedule.state to 'ACTIVE'. Only paused Schedule can be resumed. When the Schedule is resumed, new runs will be scheduled starting from the next execution time after the current time based on the time_specification in the Schedule. If Schedule.catchUp is set up true, all missed runs will be scheduled for backfill first. + * Resumes a paused Schedule to start scheduling new runs. Will mark Schedule.state to 'ACTIVE'. Only paused Schedule can be resumed. When the Schedule is resumed, new runs will be scheduled starting from the next execution time after the current time based on the time_specification in the Schedule. If Schedule.catch_up is set up true, all missed runs will be scheduled for backfill first. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -63700,7 +71129,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -64771,7 +72200,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -65834,7 +73263,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -67434,7 +74863,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -69616,7 +77045,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -70921,7 +78350,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -72339,7 +79768,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -72860,7 +80289,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -73927,7 +81356,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -74965,7 +82394,7 @@ export namespace aiplatform_v1 { */ pageSize?: number; /** - * Optional. The standard list page token. Typically obtained via ListTuningJob.next_page_token of the previous GenAiTuningService.ListTuningJob][] call. + * Optional. The standard list page token. Typically obtained via ListTuningJobsResponse.next_page_token of the previous GenAiTuningService.ListTuningJob][] call. */ pageToken?: string; /** @@ -74993,7 +82422,7 @@ export namespace aiplatform_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/aiplatform/v1beta1.ts b/src/apis/aiplatform/v1beta1.ts index cff8a42df2..5261776ca7 100644 --- a/src/apis/aiplatform/v1beta1.ts +++ b/src/apis/aiplatform/v1beta1.ts @@ -169,6 +169,10 @@ export namespace aiplatform_v1beta1 { * RAI scores for generated image. */ imageRaiScores?: Schema$CloudAiLargeModelsVisionImageRAIScores; + /** + * Image size. The size of the image. Can be self reported, or computed from the image bytes. + */ + imageSize?: Schema$CloudAiLargeModelsVisionImageImageSize; /** * RAI info for image. */ @@ -186,6 +190,14 @@ export namespace aiplatform_v1beta1 { */ uri?: string | null; } + /** + * Image size. + */ + export interface Schema$CloudAiLargeModelsVisionImageImageSize { + channels?: number | null; + height?: number | null; + width?: number | null; + } /** * RAI scores for generated image returned. */ @@ -315,6 +327,14 @@ export namespace aiplatform_v1beta1 { * Video */ export interface Schema$CloudAiLargeModelsVisionVideo { + /** + * Base 64 encoded video bytes. + */ + encodedVideo?: string | null; + /** + * Video encoding, for example "video/mp4". + */ + encoding?: string | null; /** * Path to another storage (typically Google Cloud Storage). */ @@ -721,9 +741,13 @@ export namespace aiplatform_v1beta1 { */ export interface Schema$GoogleCloudAiplatformV1beta1AuthConfigApiKeyConfig { /** - * Required. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project\}/secrets/{secrete\}/versions/{version\}` - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource. + * Optional. The name of the SecretManager secret version resource storing the API key. Format: `projects/{project\}/secrets/{secrete\}/versions/{version\}` - If both `api_key_secret` and `api_key_string` are specified, this field takes precedence over `api_key_string`. - If specified, the `secretmanager.versions.access` permission should be granted to Vertex AI Extension Service Agent (https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents) on the specified resource. */ apiKeySecret?: string | null; + /** + * Optional. The API key to be used in the request directly. + */ + apiKeyString?: string | null; /** * Required. The location of the API key. */ @@ -994,7 +1018,7 @@ export namespace aiplatform_v1beta1 { */ model?: string | null; /** - * It's the same as the value in MigrateResourceRequest.migrate_resource_requests. + * It's the same as the value in BatchMigrateResourcesRequest.migrate_resource_requests. */ request?: Schema$GoogleCloudAiplatformV1beta1MigrateResourceRequest; } @@ -1370,7 +1394,7 @@ export namespace aiplatform_v1beta1 { useEffectiveOrder?: boolean | null; } /** - * Content blob. It's preferred to send as text directly rather than raw bytes. + * Content blob. */ export interface Schema$GoogleCloudAiplatformV1beta1Blob { /** @@ -1653,6 +1677,28 @@ export namespace aiplatform_v1beta1 { */ startIndex?: number | null; } + /** + * Configurations (e.g. inference timeout) that are applied on your endpoints. + */ + export interface Schema$GoogleCloudAiplatformV1beta1ClientConnectionConfig { + /** + * Customizable online prediction request timeout. + */ + inferenceTimeout?: string | null; + } + /** + * Result of executing the [ExecutableCode]. Always follows a `part` containing the [ExecutableCode]. + */ + export interface Schema$GoogleCloudAiplatformV1beta1CodeExecutionResult { + /** + * Required. Outcome of the code execution. + */ + outcome?: string | null; + /** + * Optional. Contains stdout when code execution is successful, stderr or other description otherwise. + */ + output?: string | null; + } /** * Input for coherence metric. */ @@ -1701,6 +1747,62 @@ export namespace aiplatform_v1beta1 { */ version?: number | null; } + /** + * Input for Comet metric. + */ + export interface Schema$GoogleCloudAiplatformV1beta1CometInput { + /** + * Required. Comet instance. + */ + instance?: Schema$GoogleCloudAiplatformV1beta1CometInstance; + /** + * Required. Spec for comet metric. + */ + metricSpec?: Schema$GoogleCloudAiplatformV1beta1CometSpec; + } + /** + * Spec for Comet instance - The fields used for evaluation are dependent on the comet version. + */ + export interface Schema$GoogleCloudAiplatformV1beta1CometInstance { + /** + * Required. Output of the evaluated model. + */ + prediction?: string | null; + /** + * Optional. Ground truth used to compare against the prediction. + */ + reference?: string | null; + /** + * Optional. Source text in original language. + */ + source?: string | null; + } + /** + * Spec for Comet result - calculates the comet score for the given instance using the version specified in the spec. + */ + export interface Schema$GoogleCloudAiplatformV1beta1CometResult { + /** + * Output only. Comet score. Range depends on version. + */ + score?: number | null; + } + /** + * Spec for Comet metric. + */ + export interface Schema$GoogleCloudAiplatformV1beta1CometSpec { + /** + * Optional. Source language in BCP-47 format. + */ + sourceLanguage?: string | null; + /** + * Optional. Target language in BCP-47 format. Covers both prediction and reference. + */ + targetLanguage?: string | null; + /** + * Required. Which version to use for evaluation. + */ + version?: string | null; + } /** * Request message for VizierService.CompleteTrial. */ @@ -2438,6 +2540,10 @@ export namespace aiplatform_v1beta1 { * The ID of the location to store protected artifacts. e.g. us-central1. Populate only when the location is different than CustomJob location. List of supported locations: https://cloud.google.com/vertex-ai/docs/general/locations */ protectedArtifactLocationId?: string | null; + /** + * Optional. Configuration for PSC-I for CustomJob. + */ + pscInterfaceConfig?: Schema$GoogleCloudAiplatformV1beta1PscInterfaceConfig; /** * Optional. A list of names for the reserved ip ranges under the VPC network that can be used for this job. If set, we will deploy the job within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. */ @@ -2639,7 +2745,7 @@ export namespace aiplatform_v1beta1 { */ modelReference?: string | null; /** - * Output only. Identifier. The resource name of the Dataset. + * Output only. Identifier. The resource name of the Dataset. Format: `projects/{project\}/locations/{location\}/datasets/{dataset\}` */ name?: string | null; /** @@ -2815,6 +2921,10 @@ export namespace aiplatform_v1beta1 { * Required. Immutable. The minimum number of machine replicas this DeployedModel will be always deployed on. This value must be greater than or equal to 1. If traffic against the DeployedModel increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed. */ minReplicaCount?: number | null; + /** + * Optional. Number of required available replicas for the deployment to succeed. This field is only needed when partial model deployment/mutation is desired. If set, the model deploy/mutate operation will succeed once available_replica_count reaches required_replica_count, and the rest of the replicas will be retried. If not set, the default required_replica_count will be min_replica_count. + */ + requiredReplicaCount?: number | null; /** * Optional. If true, schedule the deployment workload on [spot VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). */ @@ -3061,6 +3171,10 @@ export namespace aiplatform_v1beta1 { * Explanation configuration for this DeployedModel. When deploying a Model using EndpointService.DeployModel, this value overrides the value of Model.explanation_spec. All fields of explanation_spec are optional in the request. If a field of explanation_spec is not populated, the value of the same field of Model.explanation_spec is inherited. If the corresponding Model.explanation_spec is not populated, all fields of the explanation_spec will be used for the explanation configuration. */ explanationSpec?: Schema$GoogleCloudAiplatformV1beta1ExplanationSpec; + /** + * Configuration for faster model deployment. + */ + fasterDeploymentConfig?: Schema$GoogleCloudAiplatformV1beta1FasterDeploymentConfig; /** * Immutable. The ID of the DeployedModel. If not provided upon deployment, Vertex AI will generate a value for this ID. This value should be 1-10 characters, and valid characters are `/[0-9]/`. */ @@ -3085,6 +3199,14 @@ export namespace aiplatform_v1beta1 { * The resource name of the shared DeploymentResourcePool to deploy on. Format: `projects/{project\}/locations/{location\}/deploymentResourcePools/{deployment_resource_pool\}` */ sharedResources?: string | null; + /** + * Output only. Runtime status of the deployed model. + */ + status?: Schema$GoogleCloudAiplatformV1beta1DeployedModelStatus; + /** + * System labels to apply to Model Garden deployments. System labels are managed by Google for internal use only. + */ + systemLabels?: {[key: string]: string} | null; } /** * Points to a DeployedModel. @@ -3099,6 +3221,23 @@ export namespace aiplatform_v1beta1 { */ endpoint?: string | null; } + /** + * Runtime status of the deployed model. + */ + export interface Schema$GoogleCloudAiplatformV1beta1DeployedModelStatus { + /** + * Output only. The number of available replicas of the deployed model. + */ + availableReplicaCount?: number | null; + /** + * Output only. The time at which the status was last updated. + */ + lastUpdateTime?: string | null; + /** + * Output only. The latest deployed model's status message (if any). + */ + message?: string | null; + } /** * Runtime operation information for IndexEndpointService.DeployIndex. */ @@ -3198,6 +3337,35 @@ export namespace aiplatform_v1beta1 { */ deployedModel?: Schema$GoogleCloudAiplatformV1beta1DeployedModel; } + /** + * Request message for ModelGardenService.DeployPublisherModel. + */ + export interface Schema$GoogleCloudAiplatformV1beta1DeployPublisherModelRequest { + /** + * Optional. Whether the user accepts the End User License Agreement (EULA) for the model. + */ + acceptEula?: boolean | null; + /** + * Optional. The dedicated resources to use for the endpoint. If not set, the default resources will be used. + */ + dedicatedResources?: Schema$GoogleCloudAiplatformV1beta1DedicatedResources; + /** + * Optional. The user-specified display name of the endpoint. If not set, a default name will be used. + */ + endpointDisplayName?: string | null; + /** + * Optional. The Hugging Face read access token used to access the model artifacts of gated models. + */ + huggingFaceAccessToken?: string | null; + /** + * Required. The name of the PublisherModel resource. Format: `publishers/{publisher\}/models/{publisher_model\}@{version_id\}`, or `publishers/hf-{hugging-face-author\}/models/{hugging-face-model-name\}@001` + */ + model?: string | null; + /** + * Optional. The user-specified display name of the uploaded model. If not set, a default name will be used. + */ + modelDisplayName?: string | null; + } /** * Runtime operation information for SolverService.DeploySolver. */ @@ -3321,15 +3489,15 @@ export namespace aiplatform_v1beta1 { */ hyperParameters?: Schema$GoogleCloudAiplatformV1beta1DistillationHyperParameters; /** - * Required. A path in a Cloud Storage bucket, which will be treated as the root output directory of the distillation pipeline. It is used by the system to generate the paths of output artifacts. + * Deprecated. A path in a Cloud Storage bucket, which will be treated as the root output directory of the distillation pipeline. It is used by the system to generate the paths of output artifacts. */ pipelineRootDirectory?: string | null; /** - * The student model that is being tuned, e.g., "google/gemma-2b-1.1-it". + * The student model that is being tuned, e.g., "google/gemma-2b-1.1-it". Deprecated. Use base_model instead. */ studentModel?: string | null; /** - * Required. Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file. + * Deprecated. Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file. */ trainingDatasetUri?: string | null; /** @@ -3350,6 +3518,19 @@ export namespace aiplatform_v1beta1 { */ values?: number[] | null; } + /** + * Describes the options to customize dynamic retrieval. + */ + export interface Schema$GoogleCloudAiplatformV1beta1DynamicRetrievalConfig { + /** + * Optional. The threshold to be used in dynamic retrieval. If not set, a system default value is used. + */ + dynamicThreshold?: number | null; + /** + * The mode of the predictor to be used in dynamic retrieval. + */ + mode?: string | null; + } /** * Represents a customer-managed encryption key spec that can be applied to a top-level resource. */ @@ -3363,6 +3544,10 @@ export namespace aiplatform_v1beta1 { * Models are deployed into it, and afterwards Endpoint is called to obtain predictions and explanations. */ export interface Schema$GoogleCloudAiplatformV1beta1Endpoint { + /** + * Configurations that are applied to the endpoint for online prediction. + */ + clientConnectionConfig?: Schema$GoogleCloudAiplatformV1beta1ClientConnectionConfig; /** * Output only. Timestamp when this Endpoint was created. */ @@ -3603,6 +3788,10 @@ export namespace aiplatform_v1beta1 { * Input for coherence metric. */ coherenceInput?: Schema$GoogleCloudAiplatformV1beta1CoherenceInput; + /** + * Translation metrics. Input for Comet metric. + */ + cometInput?: Schema$GoogleCloudAiplatformV1beta1CometInput; /** * Auto metric instances. Instances and metric spec for exact match metric. */ @@ -3619,6 +3808,10 @@ export namespace aiplatform_v1beta1 { * Input for groundedness metric. */ groundednessInput?: Schema$GoogleCloudAiplatformV1beta1GroundednessInput; + /** + * Input for Metricx metric. + */ + metricxInput?: Schema$GoogleCloudAiplatformV1beta1MetricxInput; /** * Input for pairwise metric. */ @@ -3687,6 +3880,30 @@ export namespace aiplatform_v1beta1 { * Input for tool parameter key value match metric. */ toolParameterKvMatchInput?: Schema$GoogleCloudAiplatformV1beta1ToolParameterKVMatchInput; + /** + * Input for trajectory match any order metric. + */ + trajectoryAnyOrderMatchInput?: Schema$GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchInput; + /** + * Input for trajectory exact match metric. + */ + trajectoryExactMatchInput?: Schema$GoogleCloudAiplatformV1beta1TrajectoryExactMatchInput; + /** + * Input for trajectory in order match metric. + */ + trajectoryInOrderMatchInput?: Schema$GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchInput; + /** + * Input for trajectory precision metric. + */ + trajectoryPrecisionInput?: Schema$GoogleCloudAiplatformV1beta1TrajectoryPrecisionInput; + /** + * Input for trajectory recall metric. + */ + trajectoryRecallInput?: Schema$GoogleCloudAiplatformV1beta1TrajectoryRecallInput; + /** + * Input for trajectory single tool use metric. + */ + trajectorySingleToolUseInput?: Schema$GoogleCloudAiplatformV1beta1TrajectorySingleToolUseInput; } /** * Response message for EvaluationService.EvaluateInstances. @@ -3700,6 +3917,10 @@ export namespace aiplatform_v1beta1 { * Result for coherence metric. */ coherenceResult?: Schema$GoogleCloudAiplatformV1beta1CoherenceResult; + /** + * Translation metrics. Result for Comet metric. + */ + cometResult?: Schema$GoogleCloudAiplatformV1beta1CometResult; /** * Auto metric evaluation results. Results for exact match metric. */ @@ -3716,6 +3937,10 @@ export namespace aiplatform_v1beta1 { * Result for groundedness metric. */ groundednessResult?: Schema$GoogleCloudAiplatformV1beta1GroundednessResult; + /** + * Result for Metricx metric. + */ + metricxResult?: Schema$GoogleCloudAiplatformV1beta1MetricxResult; /** * Result for pairwise metric. */ @@ -3784,6 +4009,30 @@ export namespace aiplatform_v1beta1 { * Results for tool parameter key value match metric. */ toolParameterKvMatchResults?: Schema$GoogleCloudAiplatformV1beta1ToolParameterKVMatchResults; + /** + * Result for trajectory any order match metric. + */ + trajectoryAnyOrderMatchResults?: Schema$GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchResults; + /** + * Result for trajectory exact match metric. + */ + trajectoryExactMatchResults?: Schema$GoogleCloudAiplatformV1beta1TrajectoryExactMatchResults; + /** + * Result for trajectory in order match metric. + */ + trajectoryInOrderMatchResults?: Schema$GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchResults; + /** + * Result for trajectory precision metric. + */ + trajectoryPrecisionResults?: Schema$GoogleCloudAiplatformV1beta1TrajectoryPrecisionResults; + /** + * Results for trajectory recall metric. + */ + trajectoryRecallResults?: Schema$GoogleCloudAiplatformV1beta1TrajectoryRecallResults; + /** + * Results for trajectory single tool use metric. + */ + trajectorySingleToolUseResults?: Schema$GoogleCloudAiplatformV1beta1TrajectorySingleToolUseResults; } /** * An edge describing the relationship between an Artifact and an Execution in a lineage graph. @@ -3938,6 +4187,19 @@ export namespace aiplatform_v1beta1 { */ namespaceName?: string | null; } + /** + * Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the [FunctionDeclaration] tool and [FunctionCallingConfig] mode is set to [Mode.CODE]. + */ + export interface Schema$GoogleCloudAiplatformV1beta1ExecutableCode { + /** + * Required. The code to be executed. + */ + code?: string | null; + /** + * Required. Programming language of the `code`. + */ + language?: string | null; + } /** * Request message for ExtensionExecutionService.ExecuteExtension. */ @@ -4569,13 +4831,21 @@ export namespace aiplatform_v1beta1 { */ name?: string | null; /** - * Optional. The PrivateServiceConnect config for the extension. If specified, the service endpoints associated with the Extension should be registered with private network access in the provided Service Directory (https://cloud.google.com/service-directory/docs/configuring-private-network-access). If the service contains more than one endpoint with a network, the service will arbitrarilty choose one of the endpoints to use for extension execution. + * Optional. The PrivateServiceConnect config for the extension. If specified, the service endpoints associated with the Extension should be [registered with private network access in the provided Service Directory](https://cloud.google.com/service-directory/docs/configuring-private-network-access). If the service contains more than one endpoint with a network, the service will arbitrarilty choose one of the endpoints to use for extension execution. */ privateServiceConnectConfig?: Schema$GoogleCloudAiplatformV1beta1ExtensionPrivateServiceConnectConfig; /** * Optional. Runtime config controlling the runtime behavior of this Extension. */ runtimeConfig?: Schema$GoogleCloudAiplatformV1beta1RuntimeConfig; + /** + * Output only. Reserved for future use. + */ + satisfiesPzi?: boolean | null; + /** + * Output only. Reserved for future use. + */ + satisfiesPzs?: boolean | null; /** * Optional. Examples to illustrate the usage of the extension as a tool. */ @@ -4649,6 +4919,10 @@ export namespace aiplatform_v1beta1 { * Query that is used to retrieve this fact. */ query?: string | null; + /** + * If present, according to the underlying Vector DB and the selected metric type, the score can be either the distance or the similarity between the query and the fact and its range depends on the metric type. For example, if the metric type is COSINE_DISTANCE, it represents the distance between the query and the fact. The larger the distance, the less relevant the fact is to the query. The range is [0, 2], while 0 means the most relevant and 2 means the least relevant. + */ + score?: number | null; /** * If present, the summary/snippet of the fact. */ @@ -4666,6 +4940,15 @@ export namespace aiplatform_v1beta1 { */ vectorDistance?: number | null; } + /** + * Configuration for faster model deployment. + */ + export interface Schema$GoogleCloudAiplatformV1beta1FasterDeploymentConfig { + /** + * If true, enable fast tryout feature for this deployed model. + */ + fastTryoutEnabled?: boolean | null; + } /** * Feature Metadata information. For example, color is a feature that describes an apple. */ @@ -4686,6 +4969,10 @@ export namespace aiplatform_v1beta1 { * Used to perform a consistent read-modify-write updates. If not set, a blind "overwrite" update happens. */ etag?: string | null; + /** + * Output only. Only applicable for Vertex AI Feature Store. The list of historical stats and anomalies. + */ + featureStatsAndAnomaly?: Schema$GoogleCloudAiplatformV1beta1FeatureStatsAndAnomaly[]; /** * Optional. The labels with user-defined metadata to organize your Features. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one Feature (System labels are excluded)." System reserved label keys are prefixed with "aiplatform.googleapis.com/" and are immutable. */ @@ -4751,6 +5038,14 @@ export namespace aiplatform_v1beta1 { * Identifier. Name of the FeatureGroup. Format: `projects/{project\}/locations/{location\}/featureGroups/{featureGroup\}` */ name?: string | null; + /** + * Output only. A Service Account unique to this FeatureGroup. The role bigquery.dataViewer should be granted to this service account to allow Vertex AI Feature Store to access source data while running jobs under this FeatureGroup. + */ + serviceAccountEmail?: string | null; + /** + * Optional. Service agent type used during jobs under a FeatureGroup. By default, the Vertex AI Service Agent is used. When using an IAM Policy to isolate this FeatureGroup within a project, a separate service account should be provisioned by setting this field to `SERVICE_AGENT_TYPE_FEATURE_GROUP`. This will generate a separate service account to access the BigQuery source table. + */ + serviceAgentType?: string | null; /** * Output only. Timestamp when this FeatureGroup was last updated. */ @@ -4787,6 +5082,43 @@ export namespace aiplatform_v1beta1 { */ timestampColumn?: string | null; } + /** + * Vertex AI Feature Monitor. + */ + export interface Schema$GoogleCloudAiplatformV1beta1FeatureMonitor { + /** + * Output only. Timestamp when this FeatureMonitor was created. + */ + createTime?: string | null; + /** + * Optional. Description of the FeatureMonitor. + */ + description?: string | null; + /** + * Optional. Used to perform consistent read-modify-write updates. If not set, a blind "overwrite" update happens. + */ + etag?: string | null; + /** + * Required. Feature selection config for the FeatureMonitor. + */ + featureSelectionConfig?: Schema$GoogleCloudAiplatformV1beta1FeatureSelectionConfig; + /** + * Optional. The labels with user-defined metadata to organize your FeatureMonitor. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureMonitor(System labels are excluded)." System reserved label keys are prefixed with "aiplatform.googleapis.com/" and are immutable. + */ + labels?: {[key: string]: string} | null; + /** + * Identifier. Name of the FeatureMonitor. Format: `projects/{project\}/locations/{location\}/featureGroups/{featureGroup\}/featureMonitors/{featureMonitor\}` + */ + name?: string | null; + /** + * Required. Schedule config for the FeatureMonitor. + */ + scheduleConfig?: Schema$GoogleCloudAiplatformV1beta1ScheduleConfig; + /** + * Output only. Timestamp when this FeatureMonitor was last updated. + */ + updateTime?: string | null; + } /** * A list of historical SnapshotAnalysis or ImportFeaturesAnalysis stats requested by user, sorted by FeatureStatsAnomaly.start_time descending. */ @@ -4800,6 +5132,64 @@ export namespace aiplatform_v1beta1 { */ objective?: string | null; } + /** + * Vertex AI Feature Monitor Job. + */ + export interface Schema$GoogleCloudAiplatformV1beta1FeatureMonitorJob { + /** + * Output only. Timestamp when this FeatureMonitorJob was created. Creation of a FeatureMonitorJob means that the job is pending / waiting for sufficient resources but may not have started running yet. + */ + createTime?: string | null; + /** + * Optional. Description of the FeatureMonitor. + */ + description?: string | null; + /** + * Output only. FeatureMonitorJob ID comparing to which the drift is calculated. + */ + driftBaseFeatureMonitorJobId?: string | null; + /** + * Output only. Data snapshot time comparing to which the drift is calculated. + */ + driftBaseSnapshotTime?: string | null; + /** + * Output only. Feature selection config used when creating FeatureMonitorJob. + */ + featureSelectionConfig?: Schema$GoogleCloudAiplatformV1beta1FeatureSelectionConfig; + /** + * Output only. Final status of the FeatureMonitorJob. + */ + finalStatus?: Schema$GoogleRpcStatus; + /** + * Output only. Summary from the FeatureMonitorJob. + */ + jobSummary?: Schema$GoogleCloudAiplatformV1beta1FeatureMonitorJobJobSummary; + /** + * Optional. The labels with user-defined metadata to organize your FeatureMonitorJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information on and examples of labels. No more than 64 user labels can be associated with one FeatureMonitor(System labels are excluded)." System reserved label keys are prefixed with "aiplatform.googleapis.com/" and are immutable. + */ + labels?: {[key: string]: string} | null; + /** + * Identifier. Name of the FeatureMonitorJob. Format: `projects/{project\}/locations/{location\}/featureGroups/{feature_group\}/featureMonitors/{feature_monitor\}/featureMonitorJobs/{feature_monitor_job\}`. + */ + name?: string | null; + /** + * Output only. Trigger type of the Feature Monitor Job. + */ + triggerType?: string | null; + } + /** + * Summary from the FeatureMonitorJob. + */ + export interface Schema$GoogleCloudAiplatformV1beta1FeatureMonitorJobJobSummary { + /** + * Output only. Features and their stats and anomalies + */ + featureStatsAndAnomalies?: Schema$GoogleCloudAiplatformV1beta1FeatureStatsAndAnomaly[]; + /** + * Output only. BigQuery slot milliseconds consumed. + */ + totalSlotMs?: string | null; + } /** * Noise sigma by features. Noise sigma represents the standard deviation of the gaussian kernel that will be used to add noise to interpolated inputs prior to computing gradients. */ @@ -4929,6 +5319,28 @@ export namespace aiplatform_v1beta1 { * Optimized storage type */ export interface Schema$GoogleCloudAiplatformV1beta1FeatureOnlineStoreOptimized {} + /** + * Feature selection configuration for the FeatureMonitor. + */ + export interface Schema$GoogleCloudAiplatformV1beta1FeatureSelectionConfig { + /** + * Optional. A list of features to be monitored and each feature's drift threshold. + */ + featureConfigs?: Schema$GoogleCloudAiplatformV1beta1FeatureSelectionConfigFeatureConfig[]; + } + /** + * Feature configuration. + */ + export interface Schema$GoogleCloudAiplatformV1beta1FeatureSelectionConfigFeatureConfig { + /** + * Optional. Drift threshold. If calculated difference with baseline data larger than threshold, it will be considered as the feature has drift. If not present, the threshold will be default to 0.3. + */ + driftThreshold?: number | null; + /** + * Required. The ID of the feature resource. Final component of the Feature's resource name. + */ + featureId?: string | null; + } /** * Selector for Features of an EntityType. */ @@ -4938,6 +5350,43 @@ export namespace aiplatform_v1beta1 { */ idMatcher?: Schema$GoogleCloudAiplatformV1beta1IdMatcher; } + /** + * Stats and Anomaly generated by FeatureMonitorJobs. Anomaly only includes Drift. + */ + export interface Schema$GoogleCloudAiplatformV1beta1FeatureStatsAndAnomaly { + /** + * Deviation from the current stats to baseline stats. 1. For categorical feature, the distribution distance is calculated by L-inifinity norm. 2. For numerical feature, the distribution distance is calculated by Jensen–Shannon divergence. + */ + distributionDeviation?: number | null; + /** + * If set to true, indicates current stats is detected as and comparing with baseline stats. + */ + driftDetected?: boolean | null; + /** + * This is the threshold used when detecting drifts, which is set in FeatureMonitor.FeatureSelectionConfig.FeatureConfig.drift_threshold + */ + driftDetectionThreshold?: number | null; + /** + * Feature Id. + */ + featureId?: string | null; + /** + * The ID of the FeatureMonitor that this FeatureStatsAndAnomaly generated according to. + */ + featureMonitorId?: string | null; + /** + * The ID of the FeatureMonitorJob that generated this FeatureStatsAndAnomaly. + */ + featureMonitorJobId?: string | null; + /** + * Feature stats. e.g. histogram buckets. In the format of tensorflow.metadata.v0.DatasetFeatureStatistics. + */ + featureStats?: any | null; + /** + * The timestamp we take snapshot for feature values to generate stats. + */ + statsTime?: string | null; + } /** * Stats and Anomaly generated at specific timestamp for specific Feature. The start_time and end_time are used to define the time range of the dataset that current stats belongs to, e.g. prediction traffic is bucketed into prediction datasets by time window. If the Dataset is not defined by time window, start_time = end_time. Timestamp of the stats and anomalies always refers to end_time. Raw stats and anomalies are stored in stats_uri or anomaly_uri in the tensorflow defined protos. Field data_stats contains almost identical information with the raw stats in Vertex AI defined proto, for UI to display. */ @@ -5417,6 +5866,10 @@ export namespace aiplatform_v1beta1 { * Configuration for Sync. Only one option is set. */ export interface Schema$GoogleCloudAiplatformV1beta1FeatureViewSyncConfig { + /** + * Optional. If true, syncs the FeatureView in a continuous manner to Online Store. + */ + continuous?: boolean | null; /** * Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: "CRON_TZ=${IANA_TIME_ZONE\}" or "TZ=${IANA_TIME_ZONE\}". The ${IANA_TIME_ZONE\} may only be a valid string from IANA time zone database. For example, "CRON_TZ=America/New_York 1 * * * *", or "TZ=America/New_York 1 * * * *". */ @@ -5552,6 +6005,15 @@ export namespace aiplatform_v1beta1 { */ value?: Schema$GoogleCloudAiplatformV1beta1FeatureValue; } + /** + * Request message for PredictionService.FetchPredictOperation. + */ + export interface Schema$GoogleCloudAiplatformV1beta1FetchPredictOperationRequest { + /** + * Required. The server-assigned name for the operation. + */ + operationName?: string | null; + } /** * URI based data. */ @@ -5833,7 +6295,7 @@ export namespace aiplatform_v1beta1 { mode?: string | null; } /** - * Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name and parameters. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. + * Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. */ export interface Schema$GoogleCloudAiplatformV1beta1FunctionDeclaration { /** @@ -6031,6 +6493,10 @@ export namespace aiplatform_v1beta1 { * Generation config. */ export interface Schema$GoogleCloudAiplatformV1beta1GenerationConfig { + /** + * Optional. If enabled, audio timestamp will be included in the request to the model. + */ + audioTimestamp?: boolean | null; /** * Optional. Number of candidates to generate. */ @@ -6047,6 +6513,10 @@ export namespace aiplatform_v1beta1 { * Optional. The maximum number of output tokens to generate per message. */ maxOutputTokens?: number | null; + /** + * Optional. If specified, the media resolution specified will be used. + */ + mediaResolution?: string | null; /** * Optional. Positive penalties. */ @@ -6059,6 +6529,10 @@ export namespace aiplatform_v1beta1 { * Optional. Output response mimetype of the generated candidate text. Supported mimetype: - `text/plain`: (default) Text output. - `application/json`: JSON response in the candidates. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. This is a preview feature. */ responseMimeType?: string | null; + /** + * Optional. The modalities of the response. + */ + responseModalities?: string[] | null; /** * Optional. The `Schema` object allows the definition of input and output data types. These types can be objects, but also primitives and arrays. Represents a select subset of an [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema). If set, a compatible response_mime_type must also be set. Compatible mimetypes: `application/json`: Schema for JSON response. */ @@ -6071,6 +6545,10 @@ export namespace aiplatform_v1beta1 { * Optional. Seed. */ seed?: number | null; + /** + * Optional. The speech generation config. + */ + speechConfig?: Schema$GoogleCloudAiplatformV1beta1SpeechConfig; /** * Optional. Stop sequences. */ @@ -6170,7 +6648,12 @@ export namespace aiplatform_v1beta1 { /** * Tool to retrieve public web data for grounding, powered by Google. */ - export interface Schema$GoogleCloudAiplatformV1beta1GoogleSearchRetrieval {} + export interface Schema$GoogleCloudAiplatformV1beta1GoogleSearchRetrieval { + /** + * Specifies the dynamic retrieval configuration for the given source. + */ + dynamicRetrievalConfig?: Schema$GoogleCloudAiplatformV1beta1DynamicRetrievalConfig; + } /** * Input for groundedness metric. */ @@ -6240,6 +6723,10 @@ export namespace aiplatform_v1beta1 { * Chunk from context retrieved by the retrieval tools. */ export interface Schema$GoogleCloudAiplatformV1beta1GroundingChunkRetrievedContext { + /** + * Text of the attribution. + */ + text?: string | null; /** * Title of the attribution. */ @@ -6274,6 +6761,10 @@ export namespace aiplatform_v1beta1 { * Optional. List of grounding support. */ groundingSupports?: Schema$GoogleCloudAiplatformV1beta1GroundingSupport[]; + /** + * Optional. Output only. Retrieval metadata. + */ + retrievalMetadata?: Schema$GoogleCloudAiplatformV1beta1RetrievalMetadata; /** * Optional. Queries executed by the retrieval tools. */ @@ -6575,11 +7066,11 @@ export namespace aiplatform_v1beta1 { */ maxEmbeddingRequestsPerMin?: number | null; /** - * The BigQuery destination to write partial failures to. It should be a bigquery table resource name (e.g. "bq://projectId.bqDatasetId.bqTableId"). If the dataset id does not exist, it will be created. If the table does not exist, it will be created with the expected schema. If the table exists, the schema will be validated and data will be added to this existing table. + * The BigQuery destination to write partial failures to. It should be a bigquery table resource name (e.g. "bq://projectId.bqDatasetId.bqTableId"). The dataset must exist. If the table does not exist, it will be created with the expected schema. If the table exists, the schema will be validated and data will be added to this existing table. Deprecated. Prefer to use `import_result_bq_sink`. */ partialFailureBigquerySink?: Schema$GoogleCloudAiplatformV1beta1BigQueryDestination; /** - * The Cloud Storage path to write partial failures to. + * The Cloud Storage path to write partial failures to. Deprecated. Prefer to use `import_result_gcs_sink`. */ partialFailureGcsSink?: Schema$GoogleCloudAiplatformV1beta1GcsDestination; /** @@ -6587,9 +7078,13 @@ export namespace aiplatform_v1beta1 { */ ragFileChunkingConfig?: Schema$GoogleCloudAiplatformV1beta1RagFileChunkingConfig; /** - * Specifies the parsing config for RagFiles. + * Optional. Specifies the parsing config for RagFiles. RAG will use the default parser if this field is not set. */ ragFileParsingConfig?: Schema$GoogleCloudAiplatformV1beta1RagFileParsingConfig; + /** + * Specifies the transformation config for RagFiles. + */ + ragFileTransformationConfig?: Schema$GoogleCloudAiplatformV1beta1RagFileTransformationConfig; /** * SharePoint sources. */ @@ -6975,7 +7470,7 @@ export namespace aiplatform_v1beta1 { */ export interface Schema$GoogleCloudAiplatformV1beta1JiraSourceJiraQueries { /** - * Required. The SecretManager secret version resource name (e.g. projects/{project\}/secrets/{secret\}/versions/{version\}) storing the Jira API key (https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/). + * Required. The SecretManager secret version resource name (e.g. projects/{project\}/secrets/{secret\}/versions/{version\}) storing the Jira API key. See [Manage API tokens for your Atlassian account](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/). */ apiKeyConfig?: Schema$GoogleCloudAiplatformV1beta1ApiAuthApiKeyConfig; /** @@ -7229,6 +7724,32 @@ export namespace aiplatform_v1beta1 { */ nextPageToken?: string | null; } + /** + * Response message for FeatureRegistryService.ListFeatureMonitorJobs. + */ + export interface Schema$GoogleCloudAiplatformV1beta1ListFeatureMonitorJobsResponse { + /** + * The FeatureMonitorJobs matching the request. + */ + featureMonitorJobs?: Schema$GoogleCloudAiplatformV1beta1FeatureMonitorJob[]; + /** + * A token, which can be sent as ListFeatureMonitorJobsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response message for FeatureRegistryService.ListFeatureMonitors. + */ + export interface Schema$GoogleCloudAiplatformV1beta1ListFeatureMonitorsResponse { + /** + * The FeatureMonitors matching the request. + */ + featureMonitors?: Schema$GoogleCloudAiplatformV1beta1FeatureMonitor[]; + /** + * A token, which can be sent as ListFeatureMonitorsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + } /** * Response message for FeatureOnlineStoreAdminService.ListFeatureOnlineStores. */ @@ -7481,7 +8002,7 @@ export namespace aiplatform_v1beta1 { */ export interface Schema$GoogleCloudAiplatformV1beta1ListNotebookExecutionJobsResponse { /** - * A token to retrieve next page of results. Pass to ListNotebookExecutionJobs.page_token to obtain that page. + * A token to retrieve next page of results. Pass to ListNotebookExecutionJobsRequest.page_token to obtain that page. */ nextPageToken?: string | null; /** @@ -7768,11 +8289,11 @@ export namespace aiplatform_v1beta1 { */ logProbability?: number | null; /** - * The candidate’s token string value. + * The candidate's token string value. */ token?: string | null; /** - * The candidate’s token id value. + * The candidate's token id value. */ tokenId?: number | null; } @@ -7947,6 +8468,62 @@ export namespace aiplatform_v1beta1 { */ diskUtilizationBytes?: string | null; } + /** + * Input for MetricX metric. + */ + export interface Schema$GoogleCloudAiplatformV1beta1MetricxInput { + /** + * Required. Metricx instance. + */ + instance?: Schema$GoogleCloudAiplatformV1beta1MetricxInstance; + /** + * Required. Spec for Metricx metric. + */ + metricSpec?: Schema$GoogleCloudAiplatformV1beta1MetricxSpec; + } + /** + * Spec for MetricX instance - The fields used for evaluation are dependent on the MetricX version. + */ + export interface Schema$GoogleCloudAiplatformV1beta1MetricxInstance { + /** + * Required. Output of the evaluated model. + */ + prediction?: string | null; + /** + * Optional. Ground truth used to compare against the prediction. + */ + reference?: string | null; + /** + * Optional. Source text in original language. + */ + source?: string | null; + } + /** + * Spec for MetricX result - calculates the MetricX score for the given instance using the version specified in the spec. + */ + export interface Schema$GoogleCloudAiplatformV1beta1MetricxResult { + /** + * Output only. MetricX score. Range depends on version. + */ + score?: number | null; + } + /** + * Spec for MetricX metric. + */ + export interface Schema$GoogleCloudAiplatformV1beta1MetricxSpec { + /** + * Optional. Source language in BCP-47 format. + */ + sourceLanguage?: string | null; + /** + * Optional. Target language in BCP-47 format. Covers both prediction and reference. + */ + targetLanguage?: string | null; + /** + * Required. Which version to use for evaluation. + */ + version?: string | null; + } /** * Represents one resource that exists in automl.googleapis.com, datalabeling.googleapis.com or ml.googleapis.com. */ @@ -8330,6 +8907,10 @@ export namespace aiplatform_v1beta1 { * Required. Immutable. URI of the Docker image to be used as the custom container for serving predictions. This URI must identify an image in Artifact Registry or Container Registry. Learn more about the [container publishing requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#publishing), including permissions requirements for the Vertex AI Service Agent. The container image is ingested upon ModelService.UploadModel, stored internally, and this original path is afterwards not used. To learn about the requirements for the Docker image itself, see [Custom container requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#). You can use the URI to one of Vertex AI's [pre-built container images for prediction](https://cloud.google.com/vertex-ai/docs/predictions/pre-built-containers) in this field. */ imageUri?: string | null; + /** + * Immutable. Specification for Kubernetes liveness probe. + */ + livenessProbe?: Schema$GoogleCloudAiplatformV1beta1Probe; /** * Immutable. List of ports to expose from the container. Vertex AI sends any prediction requests that it receives to the first port on this list. Vertex AI also sends [liveness and health checks](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#liveness) to this port. If you do not specify this field, it defaults to following value: ```json [ { "containerPort": 8080 \} ] ``` Vertex AI does not use ports other than the first one listed. This field corresponds to the `ports` field of the Kubernetes Containers [v1 core API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core). */ @@ -8809,7 +9390,7 @@ export namespace aiplatform_v1beta1 { */ emailAlertConfig?: Schema$GoogleCloudAiplatformV1beta1ModelMonitoringAlertConfigEmailAlertConfig; /** - * Dump the anomalies to Cloud Logging. The anomalies will be put to json payload encoded from proto google.cloud.aiplatform.logging.ModelMonitoringAnomaliesLogEntry. This can be further sinked to Pub/Sub or any other services supported by Cloud Logging. + * Dump the anomalies to Cloud Logging. The anomalies will be put to json payload encoded from proto ModelMonitoringStatsAnomalies. This can be further synced to Pub/Sub or any other services supported by Cloud Logging. */ enableLogging?: boolean | null; /** @@ -10082,6 +10663,10 @@ export namespace aiplatform_v1beta1 { * Output only. Timestamp when this NotebookExecutionJob was created. */ createTime?: string | null; + /** + * The custom compute configuration for an execution job. + */ + customEnvironmentSpec?: Schema$GoogleCloudAiplatformV1beta1NotebookExecutionJobCustomEnvironmentSpec; /** * The Dataform Repository pointing to a single file notebook repository. */ @@ -10095,7 +10680,7 @@ export namespace aiplatform_v1beta1 { */ displayName?: string | null; /** - * Customer-managed encryption key spec for the notebook execution job. This field is auto-populated if the NotebookService.NotebookRuntimeTemplate has an encryption spec. + * Customer-managed encryption key spec for the notebook execution job. This field is auto-populated if the NotebookRuntimeTemplate has an encryption spec. */ encryptionSpec?: Schema$GoogleCloudAiplatformV1beta1EncryptionSpec; /** @@ -10118,6 +10703,10 @@ export namespace aiplatform_v1beta1 { * Output only. The state of the NotebookExecutionJob. */ jobState?: string | null; + /** + * The name of the kernel to use during notebook execution. If unset, the default kernel is used. + */ + kernelName?: string | null; /** * The labels with user-defined metadata to organize NotebookExecutionJobs. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with "aiplatform.googleapis.com/" and are immutable. */ @@ -10146,6 +10735,27 @@ export namespace aiplatform_v1beta1 { * Output only. Timestamp when this NotebookExecutionJob was most recently updated. */ updateTime?: string | null; + /** + * The Workbench runtime configuration to use for the notebook execution. + */ + workbenchRuntime?: Schema$GoogleCloudAiplatformV1beta1NotebookExecutionJobWorkbenchRuntime; + } + /** + * Compute configuration to use for an execution job. + */ + export interface Schema$GoogleCloudAiplatformV1beta1NotebookExecutionJobCustomEnvironmentSpec { + /** + * The specification of a single machine for the execution job. + */ + machineSpec?: Schema$GoogleCloudAiplatformV1beta1MachineSpec; + /** + * The network configuration to use for the execution job. + */ + networkSpec?: Schema$GoogleCloudAiplatformV1beta1NetworkSpec; + /** + * The specification of a persistent disk to attach for the execution job. + */ + persistentDiskSpec?: Schema$GoogleCloudAiplatformV1beta1PersistentDiskSpec; } /** * The Dataform Repository containing the input notebook. @@ -10182,6 +10792,10 @@ export namespace aiplatform_v1beta1 { */ uri?: string | null; } + /** + * Configuration for a Workbench Instances-based environment. + */ + export interface Schema$GoogleCloudAiplatformV1beta1NotebookExecutionJobWorkbenchRuntime {} /** * The idle shutdown configuration of NotebookRuntimeTemplate, which contains the idle_timeout as required field. */ @@ -10203,6 +10817,10 @@ export namespace aiplatform_v1beta1 { * Output only. Timestamp when this NotebookRuntime was created. */ createTime?: string | null; + /** + * Output only. The specification of persistent disk attached to the notebook runtime as data disk storage. + */ + dataPersistentDiskSpec?: Schema$GoogleCloudAiplatformV1beta1PersistentDiskSpec; /** * The description of the NotebookRuntime. */ @@ -10215,6 +10833,10 @@ export namespace aiplatform_v1beta1 { * Output only. Customer-managed encryption key spec for the notebook runtime. */ encryptionSpec?: Schema$GoogleCloudAiplatformV1beta1EncryptionSpec; + /** + * Output only. EUC configuration of the notebook runtime. + */ + eucConfig?: Schema$GoogleCloudAiplatformV1beta1NotebookEucConfig; /** * Output only. Timestamp when this NotebookRuntime will be expired: 1. System Predefined NotebookRuntime: 24 hours after creation. After expiration, system predifined runtime will be deleted. 2. User created NotebookRuntime: 6 months after last upgrade. After expiration, user created runtime will be stopped and allowed for upgrade. */ @@ -10235,10 +10857,18 @@ export namespace aiplatform_v1beta1 { * The labels with user-defined metadata to organize your NotebookRuntime. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. No more than 64 user labels can be associated with one NotebookRuntime (System labels are excluded). See https://goo.gl/xmQnxf for more information and examples of labels. System reserved label keys are prefixed with "aiplatform.googleapis.com/" and are immutable. Following system labels exist for NotebookRuntime: * "aiplatform.googleapis.com/notebook_runtime_gce_instance_id": output only, its value is the Compute Engine instance id. * "aiplatform.googleapis.com/colab_enterprise_entry_service": its value is either "bigquery" or "vertex"; if absent, it should be "vertex". This is to describe the entry service, either BigQuery or Vertex. */ labels?: {[key: string]: string} | null; + /** + * Output only. The specification of a single machine used by the notebook runtime. + */ + machineSpec?: Schema$GoogleCloudAiplatformV1beta1MachineSpec; /** * Output only. The resource name of the NotebookRuntime. */ name?: string | null; + /** + * Output only. Network spec of the notebook runtime. + */ + networkSpec?: Schema$GoogleCloudAiplatformV1beta1NetworkSpec; /** * Optional. The Compute Engine tags to add to runtime (see [Tagging instances](https://cloud.google.com/vpc/docs/add-remove-network-tags)). */ @@ -10272,9 +10902,13 @@ export namespace aiplatform_v1beta1 { */ satisfiesPzs?: boolean | null; /** - * Output only. The service account that the NotebookRuntime workload runs as. + * Output only. Deprecated: This field is no longer used and the "Vertex AI Notebook Service Account" (service-PROJECT_NUMBER@gcp-sa-aiplatform-vm.iam.gserviceaccount.com) is used for the runtime workload identity. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-notebook-service-account for more details. The service account that the NotebookRuntime workload runs as. */ serviceAccount?: string | null; + /** + * Output only. Runtime Shielded VM spec. + */ + shieldedVmConfig?: Schema$GoogleCloudAiplatformV1beta1ShieldedVmConfig; /** * Output only. Timestamp when this NotebookRuntime was most recently updated. */ @@ -10321,7 +10955,7 @@ export namespace aiplatform_v1beta1 { */ idleShutdownConfig?: Schema$GoogleCloudAiplatformV1beta1NotebookIdleShutdownConfig; /** - * Output only. The default template to use if not specified. + * Output only. Deprecated: This field has no behavior. Use notebook_runtime_type = 'ONE_CLICK' instead. The default template to use if not specified. */ isDefault?: boolean | null; /** @@ -10349,7 +10983,7 @@ export namespace aiplatform_v1beta1 { */ notebookRuntimeType?: string | null; /** - * The service account that the runtime workload runs as. You can use any service account within the same project, but you must have the service account user permission to use the instance. If not specified, the [Compute Engine default service account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. + * Deprecated: This field is ignored and the "Vertex AI Notebook Service Account" (service-PROJECT_NUMBER@gcp-sa-aiplatform-vm.iam.gserviceaccount.com) is used for the runtime workload identity. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-notebook-service-account for more details. For NotebookExecutionJob, use NotebookExecutionJob.service_account instead. The service account that the runtime workload runs as. You can use any service account within the same project, but you must have the service account user permission to use the instance. If not specified, the [Compute Engine default service account](https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used. */ serviceAccount?: string | null; /** @@ -10554,6 +11188,14 @@ export namespace aiplatform_v1beta1 { * A datatype containing media that is part of a multi-part `Content` message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. A `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. */ export interface Schema$GoogleCloudAiplatformV1beta1Part { + /** + * Optional. Result of executing the [ExecutableCode]. + */ + codeExecutionResult?: Schema$GoogleCloudAiplatformV1beta1CodeExecutionResult; + /** + * Optional. Code generated by the model that is meant to be executed. + */ + executableCode?: Schema$GoogleCloudAiplatformV1beta1ExecutableCode; /** * Optional. URI based data. */ @@ -10574,11 +11216,32 @@ export namespace aiplatform_v1beta1 { * Optional. Text part (can be code). */ text?: string | null; + /** + * Optional. Indicates if the part is thought from the model. + */ + thought?: boolean | null; /** * Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data. */ videoMetadata?: Schema$GoogleCloudAiplatformV1beta1VideoMetadata; } + /** + * Tuning spec for Partner models. + */ + export interface Schema$GoogleCloudAiplatformV1beta1PartnerModelTuningSpec { + /** + * Hyperparameters for tuning. The accepted hyper_parameters and their valid range of values will differ depending on the base model. + */ + hyperParameters?: {[key: string]: any} | null; + /** + * Required. Cloud Storage path to file containing training dataset for tuning. The dataset must be formatted as a JSONL file. + */ + trainingDatasetUri?: string | null; + /** + * Optional. Cloud Storage path to file containing validation dataset for tuning. The dataset must be formatted as a JSONL file. + */ + validationDatasetUri?: string | null; + } /** * Request message for JobService.PauseModelDeploymentMonitoringJob. */ @@ -10714,7 +11377,7 @@ export namespace aiplatform_v1beta1 { */ network?: string | null; /** - * Output only. The original pipeline job id if this pipeline job is a rerun of a previous pipeline job. + * Optional. The original pipeline job id if this pipeline job is a rerun of a previous pipeline job. */ originalPipelineJobId?: string | null; /** @@ -10722,13 +11385,17 @@ export namespace aiplatform_v1beta1 { */ pipelineSpec?: {[key: string]: any} | null; /** - * Output only. The rerun configs for each task in the pipeline job. By default, the rerun will: 1. Use the same input artifacts as the original run. 2. Use the same input parameters as the original run. 3. Skip all the tasks that are already succeeded in the original run. 4. Rerun all the tasks that are not succeeded in the original run. By providing this field, users can override the default behavior and specify the rerun config for each task. + * Optional. The rerun configs for each task in the pipeline job. By default, the rerun will: 1. Use the same input artifacts as the original run. 2. Use the same input parameters as the original run. 3. Skip all the tasks that are already succeeded in the original run. 4. Rerun all the tasks that are not succeeded in the original run. By providing this field, users can override the default behavior and specify the rerun config for each task. */ pipelineTaskRerunConfigs?: Schema$GoogleCloudAiplatformV1beta1PipelineTaskRerunConfig[]; /** * Optional. Whether to do component level validations before job creation. */ preflightValidations?: boolean | null; + /** + * Optional. Configuration for PSC-I for PipelineJob. + */ + pscInterfaceConfig?: Schema$GoogleCloudAiplatformV1beta1PscInterfaceConfig; /** * A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range']. */ @@ -10795,6 +11462,10 @@ export namespace aiplatform_v1beta1 { * The runtime config of a PipelineJob. */ export interface Schema$GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfig { + /** + * Optional. The default runtime for the PipelineJob. If not set, Standard Vertex Custom Job(https://cloud.google.com/vertex-ai/docs/training/overview) is used as the runtime. If set, all pipeline tasks will run on the default runtime unless a task is a GCPC custom job component (https://cloud.google.com/vertex-ai/docs/pipelines/customjob-component) based task. If the task is based on a GCPC custom job component, it runs solely according to the component's configuration. + */ + defaultRuntime?: Schema$GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigDefaultRuntime; /** * Represents the failure policy of a pipeline. Currently, the default of a pipeline is that the pipeline will continue to run until no more tasks can be executed, also known as PIPELINE_FAILURE_POLICY_FAIL_SLOW. However, if a pipeline is set to PIPELINE_FAILURE_POLICY_FAIL_FAST, it will stop scheduling any new tasks when a task has failed. Any scheduled tasks will continue to completion. */ @@ -10822,6 +11493,15 @@ export namespace aiplatform_v1beta1 { */ parameterValues?: {[key: string]: any} | null; } + /** + * The default runtime for the PipelineJob. + */ + export interface Schema$GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigDefaultRuntime { + /** + * Persistent resource based runtime detail. + */ + persistentResourceRuntimeDetail?: Schema$GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigPersistentResourceRuntimeDetail; + } /** * The type of an input artifact. */ @@ -10831,6 +11511,23 @@ export namespace aiplatform_v1beta1 { */ artifactId?: string | null; } + /** + * Persistent resource based runtime detail. For more information about persistent resource, refer to https://cloud.google.com/vertex-ai/docs/training/persistent-resource-overview + */ + export interface Schema$GoogleCloudAiplatformV1beta1PipelineJobRuntimeConfigPersistentResourceRuntimeDetail { + /** + * Persistent resource name. Format: `projects/{project\}/locations/{location\}/persistentResources/{persistent_resource\}` + */ + persistentResourceName?: string | null; + /** + * Specifies the behavior to take if the timeout is reached. + */ + taskResourceUnavailableTimeoutBehavior?: string | null; + /** + * The max time a pipeline task waits for the required CPU, memory, or accelerator resource to become available from the specified persistent resource. Default wait time is 0. + */ + taskResourceUnavailableWaitTimeMs?: string | null; + } /** * The runtime detail of a task execution. */ @@ -10974,23 +11671,23 @@ export namespace aiplatform_v1beta1 { */ export interface Schema$GoogleCloudAiplatformV1beta1PipelineTaskRerunConfig { /** - * Output only. The runtime input of the task overridden by the user. + * Optional. The runtime input of the task overridden by the user. */ inputs?: Schema$GoogleCloudAiplatformV1beta1PipelineTaskRerunConfigInputs; /** - * Output only. Whether to skip downstream tasks. Default value is False. + * Optional. Whether to skip downstream tasks. Default value is False. */ skipDownstreamTasks?: boolean | null; /** - * Output only. Whether to skip this task. Default value is False. + * Optional. Whether to skip this task. Default value is False. */ skipTask?: boolean | null; /** - * Output only. The system generated ID of the task. Retrieved from original run. + * Optional. The system generated ID of the task. Retrieved from original run. */ taskId?: string | null; /** - * Output only. The name of the task. + * Optional. The name of the task. */ taskName?: string | null; } @@ -10999,7 +11696,7 @@ export namespace aiplatform_v1beta1 { */ export interface Schema$GoogleCloudAiplatformV1beta1PipelineTaskRerunConfigArtifactList { /** - * Output only. A list of artifact metadata. + * Optional. A list of artifact metadata. */ artifacts?: Schema$GoogleCloudAiplatformV1beta1RuntimeArtifact[]; } @@ -11008,7 +11705,7 @@ export namespace aiplatform_v1beta1 { */ export interface Schema$GoogleCloudAiplatformV1beta1PipelineTaskRerunConfigInputs { /** - * Output only. Input artifacts. + * Optional. Input artifacts. */ artifacts?: { [ @@ -11016,7 +11713,7 @@ export namespace aiplatform_v1beta1 { ]: Schema$GoogleCloudAiplatformV1beta1PipelineTaskRerunConfigArtifactList; } | null; /** - * Output only. Input parameters. + * Optional. Input parameters. */ parameterValues?: {[key: string]: any} | null; } @@ -11082,6 +11779,15 @@ export namespace aiplatform_v1beta1 { */ containerPort?: number | null; } + /** + * The configuration for the prebuilt speaker to use. + */ + export interface Schema$GoogleCloudAiplatformV1beta1PrebuiltVoiceConfig { + /** + * The name of the preset voice to use. + */ + voiceName?: string | null; + } /** * Assigns input data to training, validation, and test sets based on the value of a provided key. Supported only for tabular Datasets. */ @@ -11095,6 +11801,19 @@ export namespace aiplatform_v1beta1 { * Metadata for PredictLongRunning long running operations. */ export interface Schema$GoogleCloudAiplatformV1beta1PredictLongRunningMetadata {} + /** + * Request message for PredictionService.PredictLongRunning. + */ + export interface Schema$GoogleCloudAiplatformV1beta1PredictLongRunningRequest { + /** + * Required. The instances that are the input to the prediction call. A DeployedModel may have an upper limit on the number of instances it supports per request, and when it is exceeded the prediction call errors in case of AutoML Models, or, in case of customer created Models, the behaviour is as documented by that Model. The schema of any single instance may be specified via Endpoint's DeployedModels' Model's PredictSchemata's instance_schema_uri. + */ + instances?: any[] | null; + /** + * Optional. The parameters that govern the prediction. The schema of the parameters may be specified via Endpoint's DeployedModels' Model's PredictSchemata's parameters_schema_uri. + */ + parameters?: any | null; + } /** * Response message for [PredictionService.PredictLongRunning] */ @@ -11243,10 +11962,22 @@ export namespace aiplatform_v1beta1 { * ExecAction probes the health of a container by executing a command. */ exec?: Schema$GoogleCloudAiplatformV1beta1ProbeExecAction; + /** + * GrpcAction probes the health of a container by sending a gRPC request. + */ + grpc?: Schema$GoogleCloudAiplatformV1beta1ProbeGrpcAction; + /** + * HttpGetAction probes the health of a container by sending an HTTP GET request. + */ + httpGet?: Schema$GoogleCloudAiplatformV1beta1ProbeHttpGetAction; /** * How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Must be less than timeout_seconds. Maps to Kubernetes probe argument 'periodSeconds'. */ periodSeconds?: number | null; + /** + * TcpSocketAction probes the health of a container by opening a TCP socket connection. + */ + tcpSocket?: Schema$GoogleCloudAiplatformV1beta1ProbeTcpSocketAction; /** * Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Must be greater or equal to period_seconds. Maps to Kubernetes probe argument 'timeoutSeconds'. */ @@ -11261,6 +11992,70 @@ export namespace aiplatform_v1beta1 { */ command?: string[] | null; } + /** + * GrpcAction checks the health of a container using a gRPC service. + */ + export interface Schema$GoogleCloudAiplatformV1beta1ProbeGrpcAction { + /** + * Port number of the gRPC service. Number must be in the range 1 to 65535. + */ + port?: number | null; + /** + * Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md). If this is not specified, the default behavior is defined by gRPC. + */ + service?: string | null; + } + /** + * HttpGetAction describes an action based on HTTP Get requests. + */ + export interface Schema$GoogleCloudAiplatformV1beta1ProbeHttpGetAction { + /** + * Host name to connect to, defaults to the model serving container's IP. You probably want to set "Host" in httpHeaders instead. + */ + host?: string | null; + /** + * Custom headers to set in the request. HTTP allows repeated headers. + */ + httpHeaders?: Schema$GoogleCloudAiplatformV1beta1ProbeHttpHeader[]; + /** + * Path to access on the HTTP server. + */ + path?: string | null; + /** + * Number of the port to access on the container. Number must be in the range 1 to 65535. + */ + port?: number | null; + /** + * Scheme to use for connecting to the host. Defaults to HTTP. Acceptable values are "HTTP" or "HTTPS". + */ + scheme?: string | null; + } + /** + * HttpHeader describes a custom header to be used in HTTP probes + */ + export interface Schema$GoogleCloudAiplatformV1beta1ProbeHttpHeader { + /** + * The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header. + */ + name?: string | null; + /** + * The header field value + */ + value?: string | null; + } + /** + * TcpSocketAction probes the health of a container by opening a TCP socket connection. + */ + export interface Schema$GoogleCloudAiplatformV1beta1ProbeTcpSocketAction { + /** + * Optional: Host name to connect to, defaults to the model serving container's IP. + */ + host?: string | null; + /** + * Number of the port to access on the container. Number must be in the range 1 to 65535. + */ + port?: number | null; + } /** * PscAutomatedEndpoints defines the output of the forwarding rule automatically created by each PscAutomationConfig. */ @@ -11296,7 +12091,7 @@ export namespace aiplatform_v1beta1 { */ export interface Schema$GoogleCloudAiplatformV1beta1PscInterfaceConfig { /** - * Optional. The full name of the Compute Engine [network attachment](https://cloud.google.com/vpc/docs/about-network-attachments) to attach to the resource. For example, `projects/12345/regions/us-central1/networkAttachments/myNA`. is of the form `projects/{project\}/regions/{region\}/networkAttachments/{networkAttachment\}`. Where {project\} is a project number, as in `12345`, and {networkAttachment\} is a network attachment name. To specify this field, you must have already [created a network attachment] (https://cloud.google.com/vpc/docs/create-manage-network-attachments#create-network-attachments). This field is only used for resources using PSC-I. + * Optional. The name of the Compute Engine [network attachment](https://cloud.google.com/vpc/docs/about-network-attachments) to attach to the resource within the region and user project. To specify this field, you must have already [created a network attachment] (https://cloud.google.com/vpc/docs/create-manage-network-attachments#create-network-attachments). This field is only used for resources using PSC-I. */ networkAttachment?: string | null; } @@ -11460,7 +12255,7 @@ export namespace aiplatform_v1beta1 { */ export interface Schema$GoogleCloudAiplatformV1beta1PublisherModelCallToActionDeployDeployMetadata { /** - * Optional. Labels for the deployment. For managing deployment config like verifying, source of deployment config, etc. + * Optional. Labels for the deployment config. For managing deployment config like verifying, source of deployment config, etc. */ labels?: {[key: string]: string} | null; /** @@ -11774,6 +12569,10 @@ export namespace aiplatform_v1beta1 { * Request message for ReasoningEngineExecutionService.Query. */ export interface Schema$GoogleCloudAiplatformV1beta1QueryReasoningEngineRequest { + /** + * Optional. Class method to be used for the query. It is optional and defaults to "query" if unspecified. + */ + classMethod?: string | null; /** * Optional. Input content provided by users in JSON object format. Examples include text query, function calling parameters, media bytes, etc. */ @@ -12061,6 +12860,14 @@ export namespace aiplatform_v1beta1 { * The distance between the query dense embedding vector and the context text vector. */ distance?: number | null; + /** + * According to the underlying Vector DB and the selected metric type, the score can be either the distance or the similarity between the query and the context and its range depends on the metric type. For example, if the metric type is COSINE_DISTANCE, it represents the distance between the query and the context. The larger the distance, the less relevant the context is to the query. The range is [0, 2], while 0 means the most relevant and 2 means the least relevant. + */ + score?: number | null; + /** + * The file display name. + */ + sourceDisplayName?: string | null; /** * If the file is imported from Cloud Storage or Google Drive, source_uri will be original file URI in Cloud Storage or Google Drive; if file is uploaded, source_uri will be file display name. */ @@ -12110,6 +12917,14 @@ export namespace aiplatform_v1beta1 { * Output only. Timestamp when this RagCorpus was last updated. */ updateTime?: string | null; + /** + * Optional. Immutable. The config for the Vector DBs. + */ + vectorDbConfig?: Schema$GoogleCloudAiplatformV1beta1RagVectorDbConfig; + /** + * Optional. Immutable. The config for the Vertex AI Search. + */ + vertexAiSearchConfig?: Schema$GoogleCloudAiplatformV1beta1VertexAiSearchConfig; } /** * Config for the embedding model to use for RAG. @@ -12253,20 +13068,101 @@ export namespace aiplatform_v1beta1 { * The size of the chunks. */ chunkSize?: number | null; + /** + * Specifies the fixed length chunking config. + */ + fixedLengthChunking?: Schema$GoogleCloudAiplatformV1beta1RagFileChunkingConfigFixedLengthChunking; + } + /** + * Specifies the fixed length chunking config. + */ + export interface Schema$GoogleCloudAiplatformV1beta1RagFileChunkingConfigFixedLengthChunking { + /** + * The overlap between chunks. + */ + chunkOverlap?: number | null; + /** + * The size of the chunks. + */ + chunkSize?: number | null; } /** * Specifies the parsing config for RagFiles. */ export interface Schema$GoogleCloudAiplatformV1beta1RagFileParsingConfig { + /** + * The Advanced Parser to use for RagFiles. + */ + advancedParser?: Schema$GoogleCloudAiplatformV1beta1RagFileParsingConfigAdvancedParser; + /** + * The Layout Parser to use for RagFiles. + */ + layoutParser?: Schema$GoogleCloudAiplatformV1beta1RagFileParsingConfigLayoutParser; + /** + * The LLM Parser to use for RagFiles. + */ + llmParser?: Schema$GoogleCloudAiplatformV1beta1RagFileParsingConfigLlmParser; + /** + * Whether to use advanced PDF parsing. + */ + useAdvancedPdfParsing?: boolean | null; + } + /** + * Specifies the advanced parsing for RagFiles. + */ + export interface Schema$GoogleCloudAiplatformV1beta1RagFileParsingConfigAdvancedParser { /** * Whether to use advanced PDF parsing. */ useAdvancedPdfParsing?: boolean | null; } + /** + * Document AI Layout Parser config. + */ + export interface Schema$GoogleCloudAiplatformV1beta1RagFileParsingConfigLayoutParser { + /** + * The maximum number of requests the job is allowed to make to the Document AI processor per minute. Consult https://cloud.google.com/document-ai/quotas and the Quota page for your project to set an appropriate value here. If unspecified, a default value of 120 QPM would be used. + */ + maxParsingRequestsPerMin?: number | null; + /** + * The full resource name of a Document AI processor or processor version. The processor must have type `LAYOUT_PARSER_PROCESSOR`. If specified, the `additional_config.parse_as_scanned_pdf` field must be false. Format: * `projects/{project_id\}/locations/{location\}/processors/{processor_id\}` * `projects/{project_id\}/locations/{location\}/processors/{processor_id\}/processorVersions/{processor_version_id\}` + */ + processorName?: string | null; + } + /** + * Specifies the advanced parsing for RagFiles. + */ + export interface Schema$GoogleCloudAiplatformV1beta1RagFileParsingConfigLlmParser { + /** + * The prompt to use for parsing. If not specified, a default prompt will be used. + */ + customParsingPrompt?: string | null; + /** + * The maximum number of requests the job is allowed to make to the LLM model per minute. Consult https://cloud.google.com/vertex-ai/generative-ai/docs/quotas and your document size to set an appropriate value here. If unspecified, a default value of 5000 QPM would be used. + */ + maxParsingRequestsPerMin?: number | null; + /** + * The name of a LLM model used for parsing. Format: `gemini-1.5-pro-002` + */ + modelName?: string | null; + } + /** + * Specifies the transformation config for RagFiles. + */ + export interface Schema$GoogleCloudAiplatformV1beta1RagFileTransformationConfig { + /** + * Specifies the chunking config for RagFiles. + */ + ragFileChunkingConfig?: Schema$GoogleCloudAiplatformV1beta1RagFileChunkingConfig; + } /** * A query to retrieve relevant contexts. */ export interface Schema$GoogleCloudAiplatformV1beta1RagQuery { + /** + * Optional. The retrieval config for the query. + */ + ragRetrievalConfig?: Schema$GoogleCloudAiplatformV1beta1RagRetrievalConfig; /** * Optional. Configurations for hybrid search results ranking. */ @@ -12289,6 +13185,84 @@ export namespace aiplatform_v1beta1 { */ alpha?: number | null; } + /** + * Specifies the context retrieval config. + */ + export interface Schema$GoogleCloudAiplatformV1beta1RagRetrievalConfig { + /** + * Optional. Config for filters. + */ + filter?: Schema$GoogleCloudAiplatformV1beta1RagRetrievalConfigFilter; + /** + * Optional. Config for Hybrid Search. + */ + hybridSearch?: Schema$GoogleCloudAiplatformV1beta1RagRetrievalConfigHybridSearch; + /** + * Optional. Config for ranking and reranking. + */ + ranking?: Schema$GoogleCloudAiplatformV1beta1RagRetrievalConfigRanking; + /** + * Optional. The number of contexts to retrieve. + */ + topK?: number | null; + } + /** + * Config for filters. + */ + export interface Schema$GoogleCloudAiplatformV1beta1RagRetrievalConfigFilter { + /** + * Optional. String for metadata filtering. + */ + metadataFilter?: string | null; + /** + * Optional. Only returns contexts with vector distance smaller than the threshold. + */ + vectorDistanceThreshold?: number | null; + /** + * Optional. Only returns contexts with vector similarity larger than the threshold. + */ + vectorSimilarityThreshold?: number | null; + } + /** + * Config for Hybrid Search. + */ + export interface Schema$GoogleCloudAiplatformV1beta1RagRetrievalConfigHybridSearch { + /** + * Optional. Alpha value controls the weight between dense and sparse vector search results. The range is [0, 1], while 0 means sparse vector search only and 1 means dense vector search only. The default value is 0.5 which balances sparse and dense vector search equally. + */ + alpha?: number | null; + } + /** + * Config for ranking and reranking. + */ + export interface Schema$GoogleCloudAiplatformV1beta1RagRetrievalConfigRanking { + /** + * Optional. Config for LlmRanker. + */ + llmRanker?: Schema$GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingLlmRanker; + /** + * Optional. Config for Rank Service. + */ + rankService?: Schema$GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingRankService; + } + /** + * Config for LlmRanker. + */ + export interface Schema$GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingLlmRanker { + /** + * Optional. The model name used for ranking. Format: `gemini-1.5-pro` + */ + modelName?: string | null; + } + /** + * Config for Rank Service. + */ + export interface Schema$GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingRankService { + /** + * Optional. The model name of the rank service. Format: `semantic-ranker-512@latest` + */ + modelName?: string | null; + } /** * Config for the Vector DB to use for RAG. */ @@ -12301,6 +13275,10 @@ export namespace aiplatform_v1beta1 { * The config for the Pinecone. */ pinecone?: Schema$GoogleCloudAiplatformV1beta1RagVectorDbConfigPinecone; + /** + * Optional. Immutable. The embedding model config of the Vector DB. + */ + ragEmbeddingModelConfig?: Schema$GoogleCloudAiplatformV1beta1RagEmbeddingModelConfig; /** * The config for the RAG-managed Vector DB. */ @@ -12405,6 +13383,10 @@ export namespace aiplatform_v1beta1 { * Optional. Default image for user to choose a preferred ML framework (for example, TensorFlow or Pytorch) by choosing from [Vertex prebuilt images](https://cloud.google.com/vertex-ai/docs/training/pre-built-containers). Either this or the resource_pool_images is required. Use this field if you need all the resource pools to have the same Ray image. Otherwise, use the {@code resource_pool_images\} field. */ imageUri?: string | null; + /** + * Optional. Use if you want to mount to any NFS storages. + */ + nfsMounts?: Schema$GoogleCloudAiplatformV1beta1NfsMount[]; /** * Optional. OSS Ray logging configurations. */ @@ -12614,7 +13596,7 @@ export namespace aiplatform_v1beta1 { */ export interface Schema$GoogleCloudAiplatformV1beta1ReasoningEngineSpec { /** - * Optional. Declarations for object class methods. + * Optional. Declarations for object class methods in OpenAPI specification format. */ classMethods?: Array<{[key: string]: any}> | null; /** @@ -12895,6 +13877,15 @@ export namespace aiplatform_v1beta1 { */ vertexRagStore?: Schema$GoogleCloudAiplatformV1beta1VertexRagStore; } + /** + * Metadata related to retrieval in the grounding flow. + */ + export interface Schema$GoogleCloudAiplatformV1beta1RetrievalMetadata { + /** + * Optional. Score indicating how likely information from Google Search could help answer the prompt. The score is in the range `[0, 1]`, where 0 is the least likely and 1 is the most likely. This score is only populated when Google Search grounding and dynamic retrieval is enabled. It will be compared to the threshold to determine whether to trigger Google Search. + */ + googleSearchDynamicRetrievalScore?: number | null; + } /** * Request message for VertexRagService.RetrieveContexts. */ @@ -13355,6 +14346,15 @@ export namespace aiplatform_v1beta1 { */ updateTime?: string | null; } + /** + * Schedule configuration for the FeatureMonitor. + */ + export interface Schema$GoogleCloudAiplatformV1beta1ScheduleConfig { + /** + * Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: "CRON_TZ=${IANA_TIME_ZONE\}" or "TZ=${IANA_TIME_ZONE\}". The ${IANA_TIME_ZONE\} may only be a valid string from IANA time zone database. For example, "CRON_TZ=America/New_York 1 * * * *", or "TZ=America/New_York 1 * * * *". + */ + cron?: string | null; + } /** * Status of a scheduled run. */ @@ -13381,7 +14381,7 @@ export namespace aiplatform_v1beta1 { */ maxWaitDuration?: string | null; /** - * Restarts the entire CustomJob if a worker gets restarted. This feature can be used by distributed training jobs that are not resilient to workers leaving and joining a job. + * Optional. Restarts the entire CustomJob if a worker gets restarted. This feature can be used by distributed training jobs that are not resilient to workers leaving and joining a job. */ restartJobOnWorkerRestart?: boolean | null; /** @@ -13389,7 +14389,7 @@ export namespace aiplatform_v1beta1 { */ strategy?: string | null; /** - * The maximum job running time. The default is 7 days. + * Optional. The maximum job running time. The default is 7 days. */ timeout?: string | null; } @@ -13410,7 +14410,7 @@ export namespace aiplatform_v1beta1 { */ description?: string | null; /** - * Optional. Possible values of the element of Type.STRING with enum format. For example we can define an Enum Direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]\} + * Optional. Possible values of the element of primitive type with enum format. Examples: 1. We can define direction as : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]\} 2. We can define apartment number as : {type:INTEGER, format:enum, enum:["101", "201", "301"]\} */ enum?: string[] | null; /** @@ -14386,6 +15386,40 @@ export namespace aiplatform_v1beta1 { */ status?: string | null; } + /** + * The configuration for grounding checking. + */ + export interface Schema$GoogleCloudAiplatformV1beta1SchemaPredictParamsGroundingConfig { + /** + * If set, skip finding claim attributions (i.e not generate grounding citation). + */ + disableAttribution?: boolean | null; + /** + * The sources for the grounding checking. + */ + sources?: Schema$GoogleCloudAiplatformV1beta1SchemaPredictParamsGroundingConfigSourceEntry[]; + } + /** + * Single source entry for the grounding checking. + */ + export interface Schema$GoogleCloudAiplatformV1beta1SchemaPredictParamsGroundingConfigSourceEntry { + /** + * The uri of the Vertex AI Search data source. Deprecated. Use vertex_ai_search_datastore instead. + */ + enterpriseDatastore?: string | null; + /** + * The grounding text passed inline with the Predict API. It can support up to 1 million bytes. + */ + inlineContext?: string | null; + /** + * The type of the grounding checking source. + */ + type?: string | null; + /** + * The uri of the Vertex AI Search data source. + */ + vertexAiSearchDatastore?: string | null; + } /** * Prediction model parameters for Image Classification. */ @@ -14739,6 +15773,240 @@ export namespace aiplatform_v1beta1 { */ yMin?: number | null; } + /** + * The A2 schema of a prompt. + */ + export interface Schema$GoogleCloudAiplatformV1beta1SchemaPromptApiSchema { + /** + * The Schema version that represents changes to the API behavior. + */ + apiSchemaVersion?: string | null; + /** + * A list of execution instances for constructing a ready-to-use prompt. + */ + executions?: Schema$GoogleCloudAiplatformV1beta1SchemaPromptInstancePromptExecution[]; + /** + * Multimodal prompt which embeds preambles to prompt string. + */ + multimodalPrompt?: Schema$GoogleCloudAiplatformV1beta1SchemaPromptSpecMultimodalPrompt; + /** + * The prompt variation that stores preambles in separate fields. + */ + structuredPrompt?: Schema$GoogleCloudAiplatformV1beta1SchemaPromptSpecStructuredPrompt; + /** + * The prompt variation for Translation use case. + */ + translationPrompt?: Schema$GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationPrompt; + } + /** + * A prompt instance's parameters set that contains a set of variable values. + */ + export interface Schema$GoogleCloudAiplatformV1beta1SchemaPromptInstancePromptExecution { + /** + * Maps variable names to their value. + */ + arguments?: { + [ + key: string + ]: Schema$GoogleCloudAiplatformV1beta1SchemaPromptInstanceVariableValue; + } | null; + } + /** + * The value of a variable in prompt. + */ + export interface Schema$GoogleCloudAiplatformV1beta1SchemaPromptInstanceVariableValue { + /** + * The parts of the variable value. + */ + partList?: Schema$GoogleCloudAiplatformV1beta1SchemaPromptSpecPartList; + } + /** + * Prompt variation that embeds preambles to prompt string. + */ + export interface Schema$GoogleCloudAiplatformV1beta1SchemaPromptSpecMultimodalPrompt { + /** + * The prompt message. + */ + promptMessage?: Schema$GoogleCloudAiplatformV1beta1SchemaPromptSpecPromptMessage; + } + /** + * A list of elements and information that make up a portion of prompt. + */ + export interface Schema$GoogleCloudAiplatformV1beta1SchemaPromptSpecPartList { + /** + * A list of elements that can be part of a prompt. + */ + parts?: Schema$GoogleCloudAiplatformV1beta1Part[]; + } + /** + * The prompt message that aligns with the prompt message in google.cloud.aiplatform.master.GenerateContentRequest. + */ + export interface Schema$GoogleCloudAiplatformV1beta1SchemaPromptSpecPromptMessage { + /** + * The content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history + latest request. + */ + contents?: Schema$GoogleCloudAiplatformV1beta1Content[]; + /** + * Generation config. + */ + generationConfig?: Schema$GoogleCloudAiplatformV1beta1GenerationConfig; + /** + * The model name. + */ + model?: string | null; + /** + * Per request settings for blocking unsafe content. Enforced on GenerateContentResponse.candidates. + */ + safetySettings?: Schema$GoogleCloudAiplatformV1beta1SafetySetting[]; + /** + * The user provided system instructions for the model. Note: only text should be used in parts and content in each part will be in a separate paragraph. + */ + systemInstruction?: Schema$GoogleCloudAiplatformV1beta1Content; + /** + * Tool config. This config is shared for all tools provided in the request. + */ + toolConfig?: Schema$GoogleCloudAiplatformV1beta1ToolConfig; + /** + * A list of `Tools` the model may use to generate the next response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. + */ + tools?: Schema$GoogleCloudAiplatformV1beta1Tool[]; + } + /** + * A pair of sentences used as reference in source and target languages. + */ + export interface Schema$GoogleCloudAiplatformV1beta1SchemaPromptSpecReferenceSentencePair { + /** + * Source sentence in the sentence pair. + */ + sourceSentence?: string | null; + /** + * Target sentence in the sentence pair. + */ + targetSentence?: string | null; + } + /** + * A list of reference sentence pairs. + */ + export interface Schema$GoogleCloudAiplatformV1beta1SchemaPromptSpecReferenceSentencePairList { + /** + * Reference sentence pairs. + */ + referenceSentencePairs?: Schema$GoogleCloudAiplatformV1beta1SchemaPromptSpecReferenceSentencePair[]; + } + /** + * Prompt variation that stores preambles in separate fields. + */ + export interface Schema$GoogleCloudAiplatformV1beta1SchemaPromptSpecStructuredPrompt { + /** + * Preamble: The context of the prompt. + */ + context?: Schema$GoogleCloudAiplatformV1beta1Content; + /** + * Preamble: A set of examples for expected model response. + */ + examples?: Schema$GoogleCloudAiplatformV1beta1SchemaPromptSpecPartList[]; + /** + * Preamble: For infill prompt, the prefix before expected model response. + */ + infillPrefix?: string | null; + /** + * Preamble: For infill prompt, the suffix after expected model response. + */ + infillSuffix?: string | null; + /** + * Preamble: The input prefixes before each example input. + */ + inputPrefixes?: string[] | null; + /** + * Preamble: The output prefixes before each example output. + */ + outputPrefixes?: string[] | null; + /** + * Preamble: The input test data for prediction. Each PartList in this field represents one text-only input set for a single model request. + */ + predictionInputs?: Schema$GoogleCloudAiplatformV1beta1SchemaPromptSpecPartList[]; + /** + * The prompt message. + */ + promptMessage?: Schema$GoogleCloudAiplatformV1beta1SchemaPromptSpecPromptMessage; + } + /** + * The translation example that contains reference sentences from various sources. + */ + export interface Schema$GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationExample { + /** + * The reference sentences from inline text. + */ + referenceSentencePairLists?: Schema$GoogleCloudAiplatformV1beta1SchemaPromptSpecReferenceSentencePairList[]; + /** + * The reference sentences from file. + */ + referenceSentencesFileInputs?: Schema$GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationSentenceFileInput[]; + } + export interface Schema$GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationFileInputSource { + /** + * The file's contents. + */ + content?: string | null; + /** + * The file's display name. + */ + displayName?: string | null; + /** + * The file's mime type. + */ + mimeType?: string | null; + } + export interface Schema$GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationGcsInputSource { + /** + * Source data URI. For example, `gs://my_bucket/my_object`. + */ + inputUri?: string | null; + } + /** + * Optional settings for translation prompt. + */ + export interface Schema$GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationOption { + /** + * How many shots to use. + */ + numberOfShots?: number | null; + } + /** + * Prompt variation for Translation use case. + */ + export interface Schema$GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationPrompt { + /** + * The translation example. + */ + example?: Schema$GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationExample; + /** + * The translation option. + */ + option?: Schema$GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationOption; + /** + * The prompt message. + */ + promptMessage?: Schema$GoogleCloudAiplatformV1beta1SchemaPromptSpecPromptMessage; + /** + * The source language code. + */ + sourceLanguageCode?: string | null; + /** + * The target language code. + */ + targetLanguageCode?: string | null; + } + export interface Schema$GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationSentenceFileInput { + /** + * Inlined file source. + */ + fileInputSource?: Schema$GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationFileInputSource; + /** + * Cloud Storage file source. + */ + gcsInputSource?: Schema$GoogleCloudAiplatformV1beta1SchemaPromptSpecTranslationGcsInputSource; + } /** * The metadata of Datasets that contain tables data. */ @@ -14816,6 +16084,83 @@ export namespace aiplatform_v1beta1 { */ textSegment?: Schema$GoogleCloudAiplatformV1beta1SchemaTextSegment; } + /** + * The metadata of Datasets that contain Text Prompt data. + */ + export interface Schema$GoogleCloudAiplatformV1beta1SchemaTextPromptDatasetMetadata { + /** + * Number of candidates. + */ + candidateCount?: string | null; + /** + * The Google Cloud Storage URI that stores the prompt data. + */ + gcsUri?: string | null; + /** + * Grounding checking configuration. + */ + groundingConfig?: Schema$GoogleCloudAiplatformV1beta1SchemaPredictParamsGroundingConfig; + /** + * Whether the prompt dataset has prompt variable. + */ + hasPromptVariable?: boolean | null; + /** + * Whether or not the user has enabled logit probabilities in the model parameters. + */ + logprobs?: boolean | null; + /** + * Value of the maximum number of tokens generated set when the dataset was saved. + */ + maxOutputTokens?: string | null; + /** + * User-created prompt note. Note size limit is 2KB. + */ + note?: string | null; + /** + * The API schema of the prompt to support both UI and SDK usages. + */ + promptApiSchema?: Schema$GoogleCloudAiplatformV1beta1SchemaPromptApiSchema; + /** + * Type of the prompt dataset. + */ + promptType?: string | null; + /** + * Seeding enables model to return a deterministic response on a best effort basis. Determinism isn't guaranteed. This field determines whether or not seeding is enabled. + */ + seedEnabled?: boolean | null; + /** + * The actual value of the seed. + */ + seedValue?: string | null; + /** + * Customized stop sequences. + */ + stopSequences?: string[] | null; + /** + * The content of the prompt dataset system instruction. + */ + systemInstruction?: string | null; + /** + * The Google Cloud Storage URI that stores the system instruction, starting with gs://. + */ + systemInstructionGcsUri?: string | null; + /** + * Temperature value used for sampling set when the dataset was saved. This value is used to tune the degree of randomness. + */ + temperature?: number | null; + /** + * The content of the prompt dataset. + */ + text?: string | null; + /** + * Top K value set when the dataset was saved. This value determines how many candidates with highest probability from the vocab would be selected for each decoding step. + */ + topK?: string | null; + /** + * Top P value set when the dataset was saved. Given topK tokens for decoding, top candidates will be selected until the sum of their probabilities is topP. + */ + topP?: number | null; + } /** * The text segment inside of DataItem. */ @@ -16437,6 +17782,15 @@ export namespace aiplatform_v1beta1 { */ specialistWorkerEmails?: string[] | null; } + /** + * The speech generation config. + */ + export interface Schema$GoogleCloudAiplatformV1beta1SpeechConfig { + /** + * The configuration for the speaker to use. + */ + voiceConfig?: Schema$GoogleCloudAiplatformV1beta1VoiceConfig; + } /** * Metadata information for NotebookService.StartNotebookRuntime. */ @@ -16454,6 +17808,10 @@ export namespace aiplatform_v1beta1 { * Request message for NotebookService.StartNotebookRuntime. */ export interface Schema$GoogleCloudAiplatformV1beta1StartNotebookRuntimeRequest {} + /** + * Request message for NotebookService.StopNotebookRuntime. + */ + export interface Schema$GoogleCloudAiplatformV1beta1StopNotebookRuntimeRequest {} /** * Request message for VizierService.StopTrial. */ @@ -16527,7 +17885,7 @@ export namespace aiplatform_v1beta1 { parameters?: Schema$GoogleCloudAiplatformV1beta1Tensor; } /** - * Request message for FeaturestoreOnlineServingService.StreamingFeatureValuesRead. + * Request message for FeaturestoreOnlineServingService.StreamingReadFeatureValues. */ export interface Schema$GoogleCloudAiplatformV1beta1StreamingReadFeatureValuesRequest { /** @@ -16539,6 +17897,19 @@ export namespace aiplatform_v1beta1 { */ featureSelector?: Schema$GoogleCloudAiplatformV1beta1FeatureSelector; } + /** + * Request message for ReasoningEngineExecutionService.StreamQuery. + */ + export interface Schema$GoogleCloudAiplatformV1beta1StreamQueryReasoningEngineRequest { + /** + * Optional. Class method to be used for the stream query. It is optional and defaults to "stream_query" if unspecified. + */ + classMethod?: string | null; + /** + * Optional. Input content provided by users in JSON object format. Examples include text query, function calling parameters, media bytes, etc. + */ + input?: {[key: string]: any} | null; + } /** * Request message for PredictionService.StreamRawPredict. */ @@ -17745,10 +19116,18 @@ export namespace aiplatform_v1beta1 { * Tool details that the model may use to generate response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. A Tool object should contain exactly one type of Tool (e.g FunctionDeclaration, Retrieval or GoogleSearchRetrieval). */ export interface Schema$GoogleCloudAiplatformV1beta1Tool { + /** + * Optional. CodeExecution tool type. Enables the model to execute code as part of generation. This field is only used by the Gemini Developer API services. + */ + codeExecution?: Schema$GoogleCloudAiplatformV1beta1ToolCodeExecution; /** * Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 128 function declarations can be provided. */ functionDeclarations?: Schema$GoogleCloudAiplatformV1beta1FunctionDeclaration[]; + /** + * Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google. + */ + googleSearch?: Schema$GoogleCloudAiplatformV1beta1ToolGoogleSearch; /** * Optional. GoogleSearchRetrieval tool type. Specialized retrieval tool that is powered by Google search. */ @@ -17758,6 +19137,19 @@ export namespace aiplatform_v1beta1 { */ retrieval?: Schema$GoogleCloudAiplatformV1beta1Retrieval; } + /** + * Spec for tool call. + */ + export interface Schema$GoogleCloudAiplatformV1beta1ToolCall { + /** + * Optional. Spec for tool input + */ + toolInput?: string | null; + /** + * Required. Spec for tool name + */ + toolName?: string | null; + } /** * Input for tool call valid metric. */ @@ -17806,6 +19198,10 @@ export namespace aiplatform_v1beta1 { * Spec for tool call valid metric. */ export interface Schema$GoogleCloudAiplatformV1beta1ToolCallValidSpec {} + /** + * Tool that executes code generated by the model, and automatically returns the result to the model. See also [ExecutableCode]and [CodeExecutionResult] which are input and output to this tool. + */ + export interface Schema$GoogleCloudAiplatformV1beta1ToolCodeExecution {} /** * Tool config. This config is shared for all tools provided in the request. */ @@ -17815,6 +19211,10 @@ export namespace aiplatform_v1beta1 { */ functionCallingConfig?: Schema$GoogleCloudAiplatformV1beta1FunctionCallingConfig; } + /** + * GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google. + */ + export interface Schema$GoogleCloudAiplatformV1beta1ToolGoogleSearch {} /** * Input for tool name match metric. */ @@ -17960,7 +19360,7 @@ export namespace aiplatform_v1beta1 { */ export interface Schema$GoogleCloudAiplatformV1beta1ToolParameterKVMatchSpec { /** - * Optional. Whether to use STRCIT string match on parameter values. + * Optional. Whether to use STRICT string match on parameter values. */ useStrictStringMatch?: boolean | null; } @@ -18092,6 +19492,304 @@ export namespace aiplatform_v1beta1 { */ updateTime?: string | null; } + /** + * Spec for trajectory. + */ + export interface Schema$GoogleCloudAiplatformV1beta1Trajectory { + /** + * Required. Tool calls in the trajectory. + */ + toolCalls?: Schema$GoogleCloudAiplatformV1beta1ToolCall[]; + } + /** + * Instances and metric spec for TrajectoryAnyOrderMatch metric. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchInput { + /** + * Required. Repeated TrajectoryAnyOrderMatch instance. + */ + instances?: Schema$GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchInstance[]; + /** + * Required. Spec for TrajectoryAnyOrderMatch metric. + */ + metricSpec?: Schema$GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchSpec; + } + /** + * Spec for TrajectoryAnyOrderMatch instance. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchInstance { + /** + * Required. Spec for predicted tool call trajectory. + */ + predictedTrajectory?: Schema$GoogleCloudAiplatformV1beta1Trajectory; + /** + * Required. Spec for reference tool call trajectory. + */ + referenceTrajectory?: Schema$GoogleCloudAiplatformV1beta1Trajectory; + } + /** + * TrajectoryAnyOrderMatch metric value for an instance. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchMetricValue { + /** + * Output only. TrajectoryAnyOrderMatch score. + */ + score?: number | null; + } + /** + * Results for TrajectoryAnyOrderMatch metric. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchResults { + /** + * Output only. TrajectoryAnyOrderMatch metric values. + */ + trajectoryAnyOrderMatchMetricValues?: Schema$GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchMetricValue[]; + } + /** + * Spec for TrajectoryAnyOrderMatch metric - returns 1 if all tool calls in the reference trajectory appear in the predicted trajectory in any order, else 0. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectoryAnyOrderMatchSpec {} + /** + * Instances and metric spec for TrajectoryExactMatch metric. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectoryExactMatchInput { + /** + * Required. Repeated TrajectoryExactMatch instance. + */ + instances?: Schema$GoogleCloudAiplatformV1beta1TrajectoryExactMatchInstance[]; + /** + * Required. Spec for TrajectoryExactMatch metric. + */ + metricSpec?: Schema$GoogleCloudAiplatformV1beta1TrajectoryExactMatchSpec; + } + /** + * Spec for TrajectoryExactMatch instance. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectoryExactMatchInstance { + /** + * Required. Spec for predicted tool call trajectory. + */ + predictedTrajectory?: Schema$GoogleCloudAiplatformV1beta1Trajectory; + /** + * Required. Spec for reference tool call trajectory. + */ + referenceTrajectory?: Schema$GoogleCloudAiplatformV1beta1Trajectory; + } + /** + * TrajectoryExactMatch metric value for an instance. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectoryExactMatchMetricValue { + /** + * Output only. TrajectoryExactMatch score. + */ + score?: number | null; + } + /** + * Results for TrajectoryExactMatch metric. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectoryExactMatchResults { + /** + * Output only. TrajectoryExactMatch metric values. + */ + trajectoryExactMatchMetricValues?: Schema$GoogleCloudAiplatformV1beta1TrajectoryExactMatchMetricValue[]; + } + /** + * Spec for TrajectoryExactMatch metric - returns 1 if tool calls in the reference trajectory exactly match the predicted trajectory, else 0. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectoryExactMatchSpec {} + /** + * Instances and metric spec for TrajectoryInOrderMatch metric. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchInput { + /** + * Required. Repeated TrajectoryInOrderMatch instance. + */ + instances?: Schema$GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchInstance[]; + /** + * Required. Spec for TrajectoryInOrderMatch metric. + */ + metricSpec?: Schema$GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchSpec; + } + /** + * Spec for TrajectoryInOrderMatch instance. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchInstance { + /** + * Required. Spec for predicted tool call trajectory. + */ + predictedTrajectory?: Schema$GoogleCloudAiplatformV1beta1Trajectory; + /** + * Required. Spec for reference tool call trajectory. + */ + referenceTrajectory?: Schema$GoogleCloudAiplatformV1beta1Trajectory; + } + /** + * TrajectoryInOrderMatch metric value for an instance. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchMetricValue { + /** + * Output only. TrajectoryInOrderMatch score. + */ + score?: number | null; + } + /** + * Results for TrajectoryInOrderMatch metric. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchResults { + /** + * Output only. TrajectoryInOrderMatch metric values. + */ + trajectoryInOrderMatchMetricValues?: Schema$GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchMetricValue[]; + } + /** + * Spec for TrajectoryInOrderMatch metric - returns 1 if tool calls in the reference trajectory appear in the predicted trajectory in the same order, else 0. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectoryInOrderMatchSpec {} + /** + * Instances and metric spec for TrajectoryPrecision metric. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectoryPrecisionInput { + /** + * Required. Repeated TrajectoryPrecision instance. + */ + instances?: Schema$GoogleCloudAiplatformV1beta1TrajectoryPrecisionInstance[]; + /** + * Required. Spec for TrajectoryPrecision metric. + */ + metricSpec?: Schema$GoogleCloudAiplatformV1beta1TrajectoryPrecisionSpec; + } + /** + * Spec for TrajectoryPrecision instance. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectoryPrecisionInstance { + /** + * Required. Spec for predicted tool call trajectory. + */ + predictedTrajectory?: Schema$GoogleCloudAiplatformV1beta1Trajectory; + /** + * Required. Spec for reference tool call trajectory. + */ + referenceTrajectory?: Schema$GoogleCloudAiplatformV1beta1Trajectory; + } + /** + * TrajectoryPrecision metric value for an instance. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectoryPrecisionMetricValue { + /** + * Output only. TrajectoryPrecision score. + */ + score?: number | null; + } + /** + * Results for TrajectoryPrecision metric. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectoryPrecisionResults { + /** + * Output only. TrajectoryPrecision metric values. + */ + trajectoryPrecisionMetricValues?: Schema$GoogleCloudAiplatformV1beta1TrajectoryPrecisionMetricValue[]; + } + /** + * Spec for TrajectoryPrecision metric - returns a float score based on average precision of individual tool calls. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectoryPrecisionSpec {} + /** + * Instances and metric spec for TrajectoryRecall metric. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectoryRecallInput { + /** + * Required. Repeated TrajectoryRecall instance. + */ + instances?: Schema$GoogleCloudAiplatformV1beta1TrajectoryRecallInstance[]; + /** + * Required. Spec for TrajectoryRecall metric. + */ + metricSpec?: Schema$GoogleCloudAiplatformV1beta1TrajectoryRecallSpec; + } + /** + * Spec for TrajectoryRecall instance. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectoryRecallInstance { + /** + * Required. Spec for predicted tool call trajectory. + */ + predictedTrajectory?: Schema$GoogleCloudAiplatformV1beta1Trajectory; + /** + * Required. Spec for reference tool call trajectory. + */ + referenceTrajectory?: Schema$GoogleCloudAiplatformV1beta1Trajectory; + } + /** + * TrajectoryRecall metric value for an instance. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectoryRecallMetricValue { + /** + * Output only. TrajectoryRecall score. + */ + score?: number | null; + } + /** + * Results for TrajectoryRecall metric. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectoryRecallResults { + /** + * Output only. TrajectoryRecall metric values. + */ + trajectoryRecallMetricValues?: Schema$GoogleCloudAiplatformV1beta1TrajectoryRecallMetricValue[]; + } + /** + * Spec for TrajectoryRecall metric - returns a float score based on average recall of individual tool calls. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectoryRecallSpec {} + /** + * Instances and metric spec for TrajectorySingleToolUse metric. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectorySingleToolUseInput { + /** + * Required. Repeated TrajectorySingleToolUse instance. + */ + instances?: Schema$GoogleCloudAiplatformV1beta1TrajectorySingleToolUseInstance[]; + /** + * Required. Spec for TrajectorySingleToolUse metric. + */ + metricSpec?: Schema$GoogleCloudAiplatformV1beta1TrajectorySingleToolUseSpec; + } + /** + * Spec for TrajectorySingleToolUse instance. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectorySingleToolUseInstance { + /** + * Required. Spec for predicted tool call trajectory. + */ + predictedTrajectory?: Schema$GoogleCloudAiplatformV1beta1Trajectory; + } + /** + * TrajectorySingleToolUse metric value for an instance. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectorySingleToolUseMetricValue { + /** + * Output only. TrajectorySingleToolUse score. + */ + score?: number | null; + } + /** + * Results for TrajectorySingleToolUse metric. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectorySingleToolUseResults { + /** + * Output only. TrajectorySingleToolUse metric values. + */ + trajectorySingleToolUseMetricValues?: Schema$GoogleCloudAiplatformV1beta1TrajectorySingleToolUseMetricValue[]; + } + /** + * Spec for TrajectorySingleToolUse metric - returns 1 if tool is present in the predicted trajectory, else 0. + */ + export interface Schema$GoogleCloudAiplatformV1beta1TrajectorySingleToolUseSpec { + /** + * Required. Spec for tool name to be checked for in the predicted trajectory. + */ + toolName?: string | null; + } /** * A message representing a Trial. A Trial contains a unique set of Parameters that has been or will be evaluated, along with the objective metrics got by running the Trial. */ @@ -18216,7 +19914,7 @@ export namespace aiplatform_v1beta1 { */ export interface Schema$GoogleCloudAiplatformV1beta1TuningJob { /** - * The base model that is being tuned, e.g., "gemini-1.0-pro-002". + * The base model that is being tuned, e.g., "gemini-1.0-pro-002". . */ baseModel?: string | null; /** @@ -18255,10 +19953,18 @@ export namespace aiplatform_v1beta1 { * Output only. Identifier. Resource name of a TuningJob. Format: `projects/{project\}/locations/{location\}/tuningJobs/{tuning_job\}` */ name?: string | null; + /** + * Tuning Spec for open sourced and third party Partner models. + */ + partnerModelTuningSpec?: Schema$GoogleCloudAiplatformV1beta1PartnerModelTuningSpec; /** * Output only. The resource name of the PipelineJob associated with the TuningJob. Format: `projects/{project\}/locations/{location\}/pipelineJobs/{pipeline_job\}`. */ pipelineJob?: string | null; + /** + * The service account that the tuningJob workload runs as. If not specified, the Vertex AI Secure Fine-Tuned Service Agent in the project will be used. See https://cloud.google.com/iam/docs/service-agents#vertex-ai-secure-fine-tuning-service-agent Users starting the pipeline must have the `iam.serviceAccounts.actAs` permission on this service account. + */ + serviceAccount?: string | null; /** * Output only. Time when the TuningJob for the first time entered the `JOB_STATE_RUNNING` state. */ @@ -18371,6 +20077,15 @@ export namespace aiplatform_v1beta1 { */ genericMetadata?: Schema$GoogleCloudAiplatformV1beta1GenericOperationMetadata; } + /** + * Request message for EndpointService.UpdateEndpointLongRunning. + */ + export interface Schema$GoogleCloudAiplatformV1beta1UpdateEndpointLongRunningRequest { + /** + * Required. The Endpoint which replaces the resource on the server. Currently we only support updating the `client_connection_config` field, all the other fields' update will be blocked. + */ + endpoint?: Schema$GoogleCloudAiplatformV1beta1Endpoint; + } /** * Runtime operation information for ModelService.UpdateExplanationDataset. */ @@ -18572,6 +20287,10 @@ export namespace aiplatform_v1beta1 { * Specifies the size and overlap of chunks after uploading RagFile. */ ragFileChunkingConfig?: Schema$GoogleCloudAiplatformV1beta1RagFileChunkingConfig; + /** + * Specifies the transformation config for RagFiles. + */ + ragFileTransformationConfig?: Schema$GoogleCloudAiplatformV1beta1RagFileTransformationConfig; } /** * Request message for VertexRagDataService.UploadRagFile. @@ -18659,6 +20378,15 @@ export namespace aiplatform_v1beta1 { */ datastore?: string | null; } + /** + * Config for the Vertex AI Search. + */ + export interface Schema$GoogleCloudAiplatformV1beta1VertexAiSearchConfig { + /** + * Vertex AI Search Serving Config resource full name. For example, `projects/{project\}/locations/{location\}/collections/{collection\}/engines/{engine\}/servingConfigs/{serving_config\}` or `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}/servingConfigs/{serving_config\}`. + */ + servingConfig?: string | null; + } /** * Retrieve from Vertex RAG Store for grounding. */ @@ -18671,6 +20399,10 @@ export namespace aiplatform_v1beta1 { * Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support. */ ragResources?: Schema$GoogleCloudAiplatformV1beta1VertexRagStoreRagResource[]; + /** + * Optional. The retrieval config for the Rag query. + */ + ragRetrievalConfig?: Schema$GoogleCloudAiplatformV1beta1RagRetrievalConfig; /** * Optional. Number of top k results to return from the selected corpora. */ @@ -18706,6 +20438,15 @@ export namespace aiplatform_v1beta1 { */ startOffset?: string | null; } + /** + * The configuration for the voice to use. + */ + export interface Schema$GoogleCloudAiplatformV1beta1VoiceConfig { + /** + * The configuration for the prebuilt voice to use. + */ + prebuiltVoiceConfig?: Schema$GoogleCloudAiplatformV1beta1PrebuiltVoiceConfig; + } /** * Represents the spec of a worker pool in a job. */ @@ -19603,7 +21344,7 @@ export namespace aiplatform_v1beta1 { } export interface Params$Resource$Datasets$Patch extends StandardParameters { /** - * Output only. Identifier. The resource name of the Dataset. + * Output only. Identifier. The resource name of the Dataset. Format: `projects/{project\}/locations/{location\}/datasets/{dataset\}` */ name?: string; /** @@ -21403,6 +23144,101 @@ export namespace aiplatform_v1beta1 { } } + /** + * Deploys publisher models. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + deploy( + params: Params$Resource$Projects$Locations$Deploy, + options: StreamMethodOptions + ): GaxiosPromise; + deploy( + params?: Params$Resource$Projects$Locations$Deploy, + options?: MethodOptions + ): GaxiosPromise; + deploy( + params: Params$Resource$Projects$Locations$Deploy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + deploy( + params: Params$Resource$Projects$Locations$Deploy, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + deploy( + params: Params$Resource$Projects$Locations$Deploy, + callback: BodyResponseCallback + ): void; + deploy( + callback: BodyResponseCallback + ): void; + deploy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Deploy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Deploy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Deploy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+destination}:deploy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['destination'], + pathParams: ['destination'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Evaluates instances based on a given metric. * @@ -21811,6 +23647,18 @@ export namespace aiplatform_v1beta1 { */ requestBody?: Schema$GoogleCloudAiplatformV1beta1CorroborateContentRequest; } + export interface Params$Resource$Projects$Locations$Deploy + extends StandardParameters { + /** + * Required. The resource name of the Location to deploy the model in. Format: `projects/{project\}/locations/{location\}` + */ + destination?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1beta1DeployPublisherModelRequest; + } export interface Params$Resource$Projects$Locations$Evaluateinstances extends StandardParameters { /** @@ -21880,7 +23728,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -22417,7 +24265,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -24565,7 +26413,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -25644,7 +27492,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -27033,7 +28881,7 @@ export namespace aiplatform_v1beta1 { export interface Params$Resource$Projects$Locations$Datasets$Patch extends StandardParameters { /** - * Output only. Identifier. The resource name of the Dataset. + * Output only. Identifier. The resource name of the Dataset. Format: `projects/{project\}/locations/{location\}/datasets/{dataset\}` */ name?: string; /** @@ -27232,7 +29080,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -28040,7 +29888,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -28567,7 +30415,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -29755,7 +31603,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -30520,7 +32368,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -31702,7 +33550,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -32240,7 +34088,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -33542,6 +35390,101 @@ export namespace aiplatform_v1beta1 { } } + /** + * Fetch an asynchronous online prediction operation. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + fetchPredictOperation( + params: Params$Resource$Projects$Locations$Endpoints$Fetchpredictoperation, + options: StreamMethodOptions + ): GaxiosPromise; + fetchPredictOperation( + params?: Params$Resource$Projects$Locations$Endpoints$Fetchpredictoperation, + options?: MethodOptions + ): GaxiosPromise; + fetchPredictOperation( + params: Params$Resource$Projects$Locations$Endpoints$Fetchpredictoperation, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchPredictOperation( + params: Params$Resource$Projects$Locations$Endpoints$Fetchpredictoperation, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchPredictOperation( + params: Params$Resource$Projects$Locations$Endpoints$Fetchpredictoperation, + callback: BodyResponseCallback + ): void; + fetchPredictOperation( + callback: BodyResponseCallback + ): void; + fetchPredictOperation( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Endpoints$Fetchpredictoperation + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Endpoints$Fetchpredictoperation; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Endpoints$Fetchpredictoperation; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta1/{+endpoint}:fetchPredictOperation' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['endpoint'], + pathParams: ['endpoint'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Generate content with multimodal inputs. * @@ -34212,6 +36155,101 @@ export namespace aiplatform_v1beta1 { } } + /** + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + predictLongRunning( + params: Params$Resource$Projects$Locations$Endpoints$Predictlongrunning, + options: StreamMethodOptions + ): GaxiosPromise; + predictLongRunning( + params?: Params$Resource$Projects$Locations$Endpoints$Predictlongrunning, + options?: MethodOptions + ): GaxiosPromise; + predictLongRunning( + params: Params$Resource$Projects$Locations$Endpoints$Predictlongrunning, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + predictLongRunning( + params: Params$Resource$Projects$Locations$Endpoints$Predictlongrunning, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + predictLongRunning( + params: Params$Resource$Projects$Locations$Endpoints$Predictlongrunning, + callback: BodyResponseCallback + ): void; + predictLongRunning( + callback: BodyResponseCallback + ): void; + predictLongRunning( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Endpoints$Predictlongrunning + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Endpoints$Predictlongrunning; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Endpoints$Predictlongrunning; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+endpoint}:predictLongRunning').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['endpoint'], + pathParams: ['endpoint'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Perform an online prediction with an arbitrary HTTP payload. The response includes the following HTTP headers: * `X-Vertex-AI-Endpoint-Id`: ID of the Endpoint that served this prediction. * `X-Vertex-AI-Deployed-Model-Id`: ID of the Endpoint's DeployedModel that served this prediction. * @@ -34879,6 +36917,101 @@ export namespace aiplatform_v1beta1 { return createAPIRequest(parameters); } } + + /** + * Updates an Endpoint with a long running operation. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + update( + params: Params$Resource$Projects$Locations$Endpoints$Update, + options: StreamMethodOptions + ): GaxiosPromise; + update( + params?: Params$Resource$Projects$Locations$Endpoints$Update, + options?: MethodOptions + ): GaxiosPromise; + update( + params: Params$Resource$Projects$Locations$Endpoints$Update, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + update( + params: Params$Resource$Projects$Locations$Endpoints$Update, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + update( + params: Params$Resource$Projects$Locations$Endpoints$Update, + callback: BodyResponseCallback + ): void; + update( + callback: BodyResponseCallback + ): void; + update( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Endpoints$Update + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Endpoints$Update; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Endpoints$Update; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}:update').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } export interface Params$Resource$Projects$Locations$Endpoints$Computetokens @@ -34976,6 +37109,18 @@ export namespace aiplatform_v1beta1 { */ requestBody?: Schema$GoogleCloudAiplatformV1beta1ExplainRequest; } + export interface Params$Resource$Projects$Locations$Endpoints$Fetchpredictoperation + extends StandardParameters { + /** + * Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project\}/locations/{location\}/endpoints/{endpoint\}` or `projects/{project\}/locations/{location\}/publishers/{publisher\}/models/{model\}` + */ + endpoint?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1beta1FetchPredictOperationRequest; + } export interface Params$Resource$Projects$Locations$Endpoints$Generatecontent extends StandardParameters { /** @@ -35069,6 +37214,18 @@ export namespace aiplatform_v1beta1 { */ requestBody?: Schema$GoogleCloudAiplatformV1beta1PredictRequest; } + export interface Params$Resource$Projects$Locations$Endpoints$Predictlongrunning + extends StandardParameters { + /** + * Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project\}/locations/{location\}/endpoints/{endpoint\}` or `projects/{project\}/locations/{location\}/publishers/{publisher\}/models/{model\}` + */ + endpoint?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1beta1PredictLongRunningRequest; + } export interface Params$Resource$Projects$Locations$Endpoints$Rawpredict extends StandardParameters { /** @@ -35152,6 +37309,18 @@ export namespace aiplatform_v1beta1 { */ requestBody?: Schema$GoogleCloudAiplatformV1beta1UndeployModelRequest; } + export interface Params$Resource$Projects$Locations$Endpoints$Update + extends StandardParameters { + /** + * Output only. The resource name of the Endpoint. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1beta1UpdateEndpointLongRunningRequest; + } export class Resource$Projects$Locations$Endpoints$Chat { context: APIRequestContext; @@ -35272,7 +37441,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -36249,7 +38418,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -36788,7 +38957,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -38082,7 +40251,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -38604,10 +40773,15 @@ export namespace aiplatform_v1beta1 { export class Resource$Projects$Locations$Featuregroups { context: APIRequestContext; + featureMonitors: Resource$Projects$Locations$Featuregroups$Featuremonitors; features: Resource$Projects$Locations$Featuregroups$Features; operations: Resource$Projects$Locations$Featuregroups$Operations; constructor(context: APIRequestContext) { this.context = context; + this.featureMonitors = + new Resource$Projects$Locations$Featuregroups$Featuremonitors( + this.context + ); this.features = new Resource$Projects$Locations$Featuregroups$Features( this.context ); @@ -38896,6 +41070,100 @@ export namespace aiplatform_v1beta1 { } } + /** + * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getIamPolicy( + params: Params$Resource$Projects$Locations$Featuregroups$Getiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + getIamPolicy( + params?: Params$Resource$Projects$Locations$Featuregroups$Getiampolicy, + options?: MethodOptions + ): GaxiosPromise; + getIamPolicy( + params: Params$Resource$Projects$Locations$Featuregroups$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Featuregroups$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Featuregroups$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy( + callback: BodyResponseCallback + ): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Featuregroups$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Featuregroups$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Featuregroups$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+resource}:getIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Lists FeatureGroups in a given project and location. * @@ -39084,6 +41352,198 @@ export namespace aiplatform_v1beta1 { return createAPIRequest(parameters); } } + + /** + * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setIamPolicy( + params: Params$Resource$Projects$Locations$Featuregroups$Setiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + setIamPolicy( + params?: Params$Resource$Projects$Locations$Featuregroups$Setiampolicy, + options?: MethodOptions + ): GaxiosPromise; + setIamPolicy( + params: Params$Resource$Projects$Locations$Featuregroups$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Featuregroups$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Featuregroups$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy( + callback: BodyResponseCallback + ): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Featuregroups$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Featuregroups$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Featuregroups$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+resource}:setIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + testIamPermissions( + params: Params$Resource$Projects$Locations$Featuregroups$Testiampermissions, + options: StreamMethodOptions + ): GaxiosPromise; + testIamPermissions( + params?: Params$Resource$Projects$Locations$Featuregroups$Testiampermissions, + options?: MethodOptions + ): GaxiosPromise; + testIamPermissions( + params: Params$Resource$Projects$Locations$Featuregroups$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Featuregroups$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Featuregroups$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Featuregroups$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Featuregroups$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Featuregroups$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+resource}:testIamPermissions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } } export interface Params$Resource$Projects$Locations$Featuregroups$Create @@ -39120,6 +41580,17 @@ export namespace aiplatform_v1beta1 { */ name?: string; } + export interface Params$Resource$Projects$Locations$Featuregroups$Getiampolicy + extends StandardParameters { + /** + * Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + */ + 'options.requestedPolicyVersion'?: number; + /** + * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + } export interface Params$Resource$Projects$Locations$Featuregroups$List extends StandardParameters { /** @@ -39135,7 +41606,7 @@ export namespace aiplatform_v1beta1 { */ pageSize?: number; /** - * A page token, received from a previous FeatureGroupAdminService.ListFeatureGroups call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureGroupAdminService.ListFeatureGroups must match the call that provided the page token. + * A page token, received from a previous FeatureRegistryService.ListFeatureGroups call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureRegistryService.ListFeatureGroups must match the call that provided the page token. */ pageToken?: string; /** @@ -39159,20 +41630,48 @@ export namespace aiplatform_v1beta1 { */ requestBody?: Schema$GoogleCloudAiplatformV1beta1FeatureGroup; } + export interface Params$Resource$Projects$Locations$Featuregroups$Setiampolicy + extends StandardParameters { + /** + * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; - export class Resource$Projects$Locations$Featuregroups$Features { + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1SetIamPolicyRequest; + } + export interface Params$Resource$Projects$Locations$Featuregroups$Testiampermissions + extends StandardParameters { + /** + * The set of permissions to check for the `resource`. Permissions with wildcards (such as `*` or `storage.*`) are not allowed. For more information see [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). + */ + permissions?: string[]; + /** + * REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + } + + export class Resource$Projects$Locations$Featuregroups$Featuremonitors { context: APIRequestContext; - operations: Resource$Projects$Locations$Featuregroups$Features$Operations; + featureMonitorJobs: Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs; + operations: Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations; constructor(context: APIRequestContext) { this.context = context; + this.featureMonitorJobs = + new Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs( + this.context + ); this.operations = - new Resource$Projects$Locations$Featuregroups$Features$Operations( + new Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations( this.context ); } /** - * Creates a new Feature in a given FeatureGroup. + * Creates a new FeatureMonitor in a given project, location and FeatureGroup. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -39180,27 +41679,27 @@ export namespace aiplatform_v1beta1 { * @returns A promise if used with async/await, or void if used with a callback. */ create( - params: Params$Resource$Projects$Locations$Featuregroups$Features$Create, + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Create, options: StreamMethodOptions ): GaxiosPromise; create( - params?: Params$Resource$Projects$Locations$Featuregroups$Features$Create, + params?: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Create, options?: MethodOptions ): GaxiosPromise; create( - params: Params$Resource$Projects$Locations$Featuregroups$Features$Create, + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Featuregroups$Features$Create, + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Create, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Featuregroups$Features$Create, + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Create, callback: BodyResponseCallback ): void; create( @@ -39208,7 +41707,7 @@ export namespace aiplatform_v1beta1 { ): void; create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Featuregroups$Features$Create + | Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Create | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -39224,13 +41723,13 @@ export namespace aiplatform_v1beta1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Featuregroups$Features$Create; + {}) as Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Featuregroups$Features$Create; + {} as Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Create; options = {}; } @@ -39243,7 +41742,7 @@ export namespace aiplatform_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+parent}/features').replace( + url: (rootUrl + '/v1beta1/{+parent}/featureMonitors').replace( /([^:]\/)\/+/g, '$1' ), @@ -39268,7 +41767,7 @@ export namespace aiplatform_v1beta1 { } /** - * Deletes a single Feature. + * Deletes a single FeatureMonitor. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -39276,27 +41775,27 @@ export namespace aiplatform_v1beta1 { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Projects$Locations$Featuregroups$Features$Delete, + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Delete, options: StreamMethodOptions ): GaxiosPromise; delete( - params?: Params$Resource$Projects$Locations$Featuregroups$Features$Delete, + params?: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Delete, options?: MethodOptions ): GaxiosPromise; delete( - params: Params$Resource$Projects$Locations$Featuregroups$Features$Delete, + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Featuregroups$Features$Delete, + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Delete, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Featuregroups$Features$Delete, + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Delete, callback: BodyResponseCallback ): void; delete( @@ -39304,7 +41803,7 @@ export namespace aiplatform_v1beta1 { ): void; delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Featuregroups$Features$Delete + | Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -39320,13 +41819,13 @@ export namespace aiplatform_v1beta1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Featuregroups$Features$Delete; + {}) as Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Featuregroups$Features$Delete; + {} as Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Delete; options = {}; } @@ -39361,7 +41860,7 @@ export namespace aiplatform_v1beta1 { } /** - * Gets details of a single Feature. + * Gets details of a single FeatureMonitor. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -39369,57 +41868,57 @@ export namespace aiplatform_v1beta1 { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Projects$Locations$Featuregroups$Features$Get, + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Get, options: StreamMethodOptions ): GaxiosPromise; get( - params?: Params$Resource$Projects$Locations$Featuregroups$Features$Get, + params?: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Get, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; get( - params: Params$Resource$Projects$Locations$Featuregroups$Features$Get, + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Featuregroups$Features$Get, + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Get, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Featuregroups$Features$Get, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Get, + callback: BodyResponseCallback ): void; get( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Featuregroups$Features$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Featuregroups$Features$Get; + {}) as Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Featuregroups$Features$Get; + {} as Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Get; options = {}; } @@ -39444,19 +41943,19 @@ export namespace aiplatform_v1beta1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Lists Features in a given FeatureGroup. + * Lists FeatureGroups in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -39464,57 +41963,57 @@ export namespace aiplatform_v1beta1 { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Projects$Locations$Featuregroups$Features$List, + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$List, options: StreamMethodOptions ): GaxiosPromise; list( - params?: Params$Resource$Projects$Locations$Featuregroups$Features$List, + params?: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$List, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; list( - params: Params$Resource$Projects$Locations$Featuregroups$Features$List, + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Featuregroups$Features$List, + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Featuregroups$Features$List, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$List, + callback: BodyResponseCallback ): void; list( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Featuregroups$Features$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Featuregroups$Features$List; + {}) as Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Featuregroups$Features$List; + {} as Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$List; options = {}; } @@ -39527,7 +42026,7 @@ export namespace aiplatform_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+parent}/features').replace( + url: (rootUrl + '/v1beta1/{+parent}/featureMonitors').replace( /([^:]\/)\/+/g, '$1' ), @@ -39542,77 +42041,236 @@ export namespace aiplatform_v1beta1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } + } + + export interface Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Create + extends StandardParameters { + /** + * Required. The ID to use for this FeatureMonitor, which will become the final component of the FeatureGroup's resource name. This value may be up to 60 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within the FeatureGroup. + */ + featureMonitorId?: string; + /** + * Required. The resource name of FeatureGroup to create FeatureMonitor. Format: `projects/{project\}/locations/{location\}/featureGroups/{featuregroup\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1beta1FeatureMonitor; + } + export interface Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Delete + extends StandardParameters { + /** + * Required. The name of the FeatureMonitor to be deleted. Format: `projects/{project\}/locations/{location\}/featureGroups/{feature_group\}/featureMonitors/{feature_monitor\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Get + extends StandardParameters { + /** + * Required. The name of the FeatureMonitor resource. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$List + extends StandardParameters { + /** + * Optional. Lists the FeatureMonitors that match the filter expression. The following fields are supported: * `create_time`: Supports `=`, `!=`, `<`, `\>`, `<=`, and `\>=` comparisons. Values must be in RFC 3339 format. * `update_time`: Supports `=`, `!=`, `<`, `\>`, `<=`, and `\>=` comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality and key presence. Examples: * `create_time \> "2020-01-01" OR update_time \> "2020-01-01"` FeatureMonitors created or updated after 2020-01-01. * `labels.env = "prod"` FeatureGroups with label "env" set to "prod". + */ + filter?: string; + /** + * Optional. A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported Fields: * `create_time` * `update_time` + */ + orderBy?: string; + /** + * Optional. The maximum number of FeatureGroups to return. The service may return fewer than this value. If unspecified, at most 100 FeatureMonitors will be returned. The maximum value is 100; any value greater than 100 will be coerced to 100. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous FeatureRegistryService.ListFeatureMonitors call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureRegistryService.ListFeatureMonitors must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The resource name of the FeatureGroup to list FeatureMonitors. Format: `projects/{project\}/locations/{location\}/featureGroups/{featureGroup\}` + */ + parent?: string; + } + + export class Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } /** - * Updates the parameters of a single Feature. + * Creates a new feature monitor job. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Projects$Locations$Featuregroups$Features$Patch, + create( + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs$Create, options: StreamMethodOptions ): GaxiosPromise; - patch( - params?: Params$Resource$Projects$Locations$Featuregroups$Features$Patch, + create( + params?: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs$Create, options?: MethodOptions - ): GaxiosPromise; - patch( - params: Params$Resource$Projects$Locations$Featuregroups$Features$Patch, + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Featuregroups$Features$Patch, + create( + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs$Create, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Featuregroups$Features$Patch, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs$Create, + callback: BodyResponseCallback ): void; - patch( - callback: BodyResponseCallback + create( + callback: BodyResponseCallback ): void; - patch( + create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Featuregroups$Features$Patch - | BodyResponseCallback + | Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Featuregroups$Features$Patch; + {}) as Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Featuregroups$Features$Patch; + {} as Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/featureMonitorJobs').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Get a feature monitor job. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs$Get; options = {}; } @@ -39626,7 +42284,7 @@ export namespace aiplatform_v1beta1 { options: Object.assign( { url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'GET', apiVersion: '', }, options @@ -39637,95 +42295,164 @@ export namespace aiplatform_v1beta1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); + } + } + + /** + * List feature monitor jobs. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/featureMonitorJobs').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); } } } - export interface Params$Resource$Projects$Locations$Featuregroups$Features$Create + export interface Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs$Create extends StandardParameters { /** - * Required. The ID to use for the Feature, which will become the final component of the Feature's resource name. This value may be up to 128 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within an EntityType/FeatureGroup. + * Optional. Output only. System-generated ID for feature monitor job. */ - featureId?: string; + featureMonitorJobId?: string; /** - * Required. The resource name of the EntityType or FeatureGroup to create a Feature. Format for entity_type as parent: `projects/{project\}/locations/{location\}/featurestores/{featurestore\}/entityTypes/{entity_type\}` Format for feature_group as parent: `projects/{project\}/locations/{location\}/featureGroups/{feature_group\}` + * Required. The resource name of FeatureMonitor to create FeatureMonitorJob. Format: `projects/{project\}/locations/{location\}/featureGroups/{feature_group\}/featureMonitors/{feature_monitor\}` */ parent?: string; /** * Request body metadata */ - requestBody?: Schema$GoogleCloudAiplatformV1beta1Feature; - } - export interface Params$Resource$Projects$Locations$Featuregroups$Features$Delete - extends StandardParameters { - /** - * Required. The name of the Features to be deleted. Format: `projects/{project\}/locations/{location\}/featurestores/{featurestore\}/entityTypes/{entity_type\}/features/{feature\}` `projects/{project\}/locations/{location\}/featureGroups/{feature_group\}/features/{feature\}` - */ - name?: string; + requestBody?: Schema$GoogleCloudAiplatformV1beta1FeatureMonitorJob; } - export interface Params$Resource$Projects$Locations$Featuregroups$Features$Get + export interface Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs$Get extends StandardParameters { /** - * Required. The name of the Feature resource. Format for entity_type as parent: `projects/{project\}/locations/{location\}/featurestores/{featurestore\}/entityTypes/{entity_type\}` Format for feature_group as parent: `projects/{project\}/locations/{location\}/featureGroups/{feature_group\}` + * Required. The name of the FeatureMonitorJob resource. Format: `projects/{project\}/locations/{location\}/featureGroups/{feature_group\}/featureMonitors/{feature_monitor\}/featureMonitorJobs/{feature_monitor_job\}` */ name?: string; } - export interface Params$Resource$Projects$Locations$Featuregroups$Features$List + export interface Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Featuremonitorjobs$List extends StandardParameters { /** - * Lists the Features that match the filter expression. The following filters are supported: * `value_type`: Supports = and != comparisons. * `create_time`: Supports =, !=, <, \>, \>=, and <= comparisons. Values must be in RFC 3339 format. * `update_time`: Supports =, !=, <, \>, \>=, and <= comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality as well as key presence. Examples: * `value_type = DOUBLE` --\> Features whose type is DOUBLE. * `create_time \> \"2020-01-31T15:30:00.000000Z\" OR update_time \> \"2020-01-31T15:30:00.000000Z\"` --\> EntityTypes created or updated after 2020-01-31T15:30:00.000000Z. * `labels.active = yes AND labels.env = prod` --\> Features having both (active: yes) and (env: prod) labels. * `labels.env: *` --\> Any Feature which has a label with 'env' as the key. + * Optional. Lists the FeatureMonitorJobs that match the filter expression. The following fields are supported: * `create_time`: Supports `=`, `!=`, `<`, `\>`, `<=`, and `\>=` comparisons. Values must be Examples: * `create_time \> "2020-01-01"` FeatureMonitorJobs created after 2020-01-01. */ filter?: string; /** - * Only applicable for Vertex AI Feature Store (Legacy). If set, return the most recent ListFeaturesRequest.latest_stats_count of stats for each Feature in response. Valid value is [0, 10]. If number of stats exists < ListFeaturesRequest.latest_stats_count, return all existing stats. - */ - latestStatsCount?: number; - /** - * A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `feature_id` * `value_type` (Not supported for FeatureRegistry Feature) * `create_time` * `update_time` + * Optional. A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported Fields: * `create_time` */ orderBy?: string; /** - * The maximum number of Features to return. The service may return fewer than this value. If unspecified, at most 1000 Features will be returned. The maximum value is 1000; any value greater than 1000 will be coerced to 1000. + * Optional. The maximum number of FeatureMonitorJobs to return. The service may return fewer than this value. If unspecified, at most 100 FeatureMonitorJobs will be returned. The maximum value is 100; any value greater than 100 will be coerced to 100. */ pageSize?: number; /** - * A page token, received from a previous FeaturestoreService.ListFeatures call or FeatureRegistryService.ListFeatures call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeaturestoreService.ListFeatures or FeatureRegistryService.ListFeatures must match the call that provided the page token. + * Optional. A page token, received from a previous FeatureRegistryService.ListFeatureMonitorJobs call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeatureRegistryService.ListFeatureMonitorJobs must match the call that provided the page token. */ pageToken?: string; /** - * Required. The resource name of the Location to list Features. Format for entity_type as parent: `projects/{project\}/locations/{location\}/featurestores/{featurestore\}/entityTypes/{entity_type\}` Format for feature_group as parent: `projects/{project\}/locations/{location\}/featureGroups/{feature_group\}` + * Required. The resource name of the FeatureMonitor to list FeatureMonitorJobs. Format: `projects/{project\}/locations/{location\}/featureGroups/{feature_group\}/featureMonitors/{feature_monitor\}` */ parent?: string; - /** - * Mask specifying which fields to read. - */ - readMask?: string; - } - export interface Params$Resource$Projects$Locations$Featuregroups$Features$Patch - extends StandardParameters { - /** - * Immutable. Name of the Feature. Format: `projects/{project\}/locations/{location\}/featurestores/{featurestore\}/entityTypes/{entity_type\}/features/{feature\}` `projects/{project\}/locations/{location\}/featureGroups/{feature_group\}/features/{feature\}` The last part feature is assigned by the client. The feature can be up to 64 characters long and can consist only of ASCII Latin letters A-Z and a-z, underscore(_), and ASCII digits 0-9 starting with a letter. The value will be unique given an entity type. - */ - name?: string; - /** - * Field mask is used to specify the fields to be overwritten in the Features resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `description` * `labels` * `disable_monitoring` (Not supported for FeatureRegistryService Feature) * `point_of_contact` (Not supported for FeaturestoreService FeatureStore) - */ - updateMask?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GoogleCloudAiplatformV1beta1Feature; } - export class Resource$Projects$Locations$Featuregroups$Features$Operations { + export class Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; @@ -39740,31 +42467,31 @@ export namespace aiplatform_v1beta1 { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Delete, + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$Delete, options: StreamMethodOptions ): GaxiosPromise; delete( - params?: Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Delete, + params?: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$Delete, options?: MethodOptions ): GaxiosPromise; delete( - params: Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Delete, + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Delete, + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Delete, + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Delete + | Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -39780,13 +42507,13 @@ export namespace aiplatform_v1beta1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Delete; + {}) as Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Delete; + {} as Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$Delete; options = {}; } @@ -39829,27 +42556,27 @@ export namespace aiplatform_v1beta1 { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Get, + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$Get, options: StreamMethodOptions ): GaxiosPromise; get( - params?: Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Get, + params?: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$Get, options?: MethodOptions ): GaxiosPromise; get( - params: Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Get, + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Get, + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$Get, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Get, + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$Get, callback: BodyResponseCallback ): void; get( @@ -39857,7 +42584,7 @@ export namespace aiplatform_v1beta1 { ): void; get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Get + | Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$Get | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -39873,13 +42600,1126 @@ export namespace aiplatform_v1beta1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Get; + {}) as Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Get; + {} as Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}/operations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + wait( + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$Wait, + options: StreamMethodOptions + ): GaxiosPromise; + wait( + params?: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$Wait, + options?: MethodOptions + ): GaxiosPromise; + wait( + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$Wait, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + wait( + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$Wait, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + wait( + params: Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$Wait, + callback: BodyResponseCallback + ): void; + wait( + callback: BodyResponseCallback + ): void; + wait( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$Wait + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$Wait; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$Wait; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}:wait').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$Delete + extends StandardParameters { + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$Get + extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$List + extends StandardParameters { + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + export interface Params$Resource$Projects$Locations$Featuregroups$Featuremonitors$Operations$Wait + extends StandardParameters { + /** + * The name of the operation resource to wait on. + */ + name?: string; + /** + * The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used. + */ + timeout?: string; + } + + export class Resource$Projects$Locations$Featuregroups$Features { + context: APIRequestContext; + operations: Resource$Projects$Locations$Featuregroups$Features$Operations; + constructor(context: APIRequestContext) { + this.context = context; + this.operations = + new Resource$Projects$Locations$Featuregroups$Features$Operations( + this.context + ); + } + + /** + * Creates a batch of Features in a given FeatureGroup. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + batchCreate( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Batchcreate, + options: StreamMethodOptions + ): GaxiosPromise; + batchCreate( + params?: Params$Resource$Projects$Locations$Featuregroups$Features$Batchcreate, + options?: MethodOptions + ): GaxiosPromise; + batchCreate( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Batchcreate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + batchCreate( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Batchcreate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + batchCreate( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Batchcreate, + callback: BodyResponseCallback + ): void; + batchCreate( + callback: BodyResponseCallback + ): void; + batchCreate( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Featuregroups$Features$Batchcreate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Featuregroups$Features$Batchcreate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Featuregroups$Features$Batchcreate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/features:batchCreate').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Creates a new Feature in a given FeatureGroup. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Featuregroups$Features$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Featuregroups$Features$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Featuregroups$Features$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Featuregroups$Features$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/features').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a single Feature. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Featuregroups$Features$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Delete, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Delete, + callback: BodyResponseCallback + ): void; + delete( + callback: BodyResponseCallback + ): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Featuregroups$Features$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Featuregroups$Features$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Featuregroups$Features$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of a single Feature. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Featuregroups$Features$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Featuregroups$Features$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Featuregroups$Features$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Featuregroups$Features$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Lists Features in a given FeatureGroup. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Featuregroups$Features$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Featuregroups$Features$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Featuregroups$Features$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Featuregroups$Features$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Featuregroups$Features$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Featuregroups$Features$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Featuregroups$Features$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Featuregroups$Features$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/features').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates the parameters of a single Feature. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Featuregroups$Features$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Patch, + callback: BodyResponseCallback + ): void; + patch( + callback: BodyResponseCallback + ): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Featuregroups$Features$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Featuregroups$Features$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Featuregroups$Features$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Featuregroups$Features$Batchcreate + extends StandardParameters { + /** + * Required. The resource name of the EntityType/FeatureGroup to create the batch of Features under. Format: `projects/{project\}/locations/{location\}/featurestores/{featurestore\}/entityTypes/{entity_type\}` `projects/{project\}/locations/{location\}/featureGroups/{feature_group\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1beta1BatchCreateFeaturesRequest; + } + export interface Params$Resource$Projects$Locations$Featuregroups$Features$Create + extends StandardParameters { + /** + * Required. The ID to use for the Feature, which will become the final component of the Feature's resource name. This value may be up to 128 characters, and valid characters are `[a-z0-9_]`. The first character cannot be a number. The value must be unique within an EntityType/FeatureGroup. + */ + featureId?: string; + /** + * Required. The resource name of the EntityType or FeatureGroup to create a Feature. Format for entity_type as parent: `projects/{project\}/locations/{location\}/featurestores/{featurestore\}/entityTypes/{entity_type\}` Format for feature_group as parent: `projects/{project\}/locations/{location\}/featureGroups/{feature_group\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1beta1Feature; + } + export interface Params$Resource$Projects$Locations$Featuregroups$Features$Delete + extends StandardParameters { + /** + * Required. The name of the Features to be deleted. Format: `projects/{project\}/locations/{location\}/featurestores/{featurestore\}/entityTypes/{entity_type\}/features/{feature\}` `projects/{project\}/locations/{location\}/featureGroups/{feature_group\}/features/{feature\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Featuregroups$Features$Get + extends StandardParameters { + /** + * Optional. If set, returns the most recent count of stats. Valid value is [0, 100]. If stats_time_range is set, return most recent count of stats within the stats_time_range. + */ + 'featureStatsAndAnomalySpec.latestStatsCount'?: number; + /** + * Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end. + */ + 'featureStatsAndAnomalySpec.statsTimeRange.endTime'?: string; + /** + * Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start. + */ + 'featureStatsAndAnomalySpec.statsTimeRange.startTime'?: string; + /** + * Required. The name of the Feature resource. Format for entity_type as parent: `projects/{project\}/locations/{location\}/featurestores/{featurestore\}/entityTypes/{entity_type\}` Format for feature_group as parent: `projects/{project\}/locations/{location\}/featureGroups/{feature_group\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Featuregroups$Features$List + extends StandardParameters { + /** + * Lists the Features that match the filter expression. The following filters are supported: * `value_type`: Supports = and != comparisons. * `create_time`: Supports =, !=, <, \>, \>=, and <= comparisons. Values must be in RFC 3339 format. * `update_time`: Supports =, !=, <, \>, \>=, and <= comparisons. Values must be in RFC 3339 format. * `labels`: Supports key-value equality as well as key presence. Examples: * `value_type = DOUBLE` --\> Features whose type is DOUBLE. * `create_time \> \"2020-01-31T15:30:00.000000Z\" OR update_time \> \"2020-01-31T15:30:00.000000Z\"` --\> EntityTypes created or updated after 2020-01-31T15:30:00.000000Z. * `labels.active = yes AND labels.env = prod` --\> Features having both (active: yes) and (env: prod) labels. * `labels.env: *` --\> Any Feature which has a label with 'env' as the key. + */ + filter?: string; + /** + * Only applicable for Vertex AI Feature Store (Legacy). If set, return the most recent ListFeaturesRequest.latest_stats_count of stats for each Feature in response. Valid value is [0, 10]. If number of stats exists < ListFeaturesRequest.latest_stats_count, return all existing stats. + */ + latestStatsCount?: number; + /** + * A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `feature_id` * `value_type` (Not supported for FeatureRegistry Feature) * `create_time` * `update_time` + */ + orderBy?: string; + /** + * The maximum number of Features to return. The service may return fewer than this value. If unspecified, at most 1000 Features will be returned. The maximum value is 1000; any value greater than 1000 will be coerced to 1000. + */ + pageSize?: number; + /** + * A page token, received from a previous FeaturestoreService.ListFeatures call or FeatureRegistryService.ListFeatures call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to FeaturestoreService.ListFeatures or FeatureRegistryService.ListFeatures must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The resource name of the Location to list Features. Format for entity_type as parent: `projects/{project\}/locations/{location\}/featurestores/{featurestore\}/entityTypes/{entity_type\}` Format for feature_group as parent: `projects/{project\}/locations/{location\}/featureGroups/{feature_group\}` + */ + parent?: string; + /** + * Mask specifying which fields to read. + */ + readMask?: string; + } + export interface Params$Resource$Projects$Locations$Featuregroups$Features$Patch + extends StandardParameters { + /** + * Immutable. Name of the Feature. Format: `projects/{project\}/locations/{location\}/featurestores/{featurestore\}/entityTypes/{entity_type\}/features/{feature\}` `projects/{project\}/locations/{location\}/featureGroups/{feature_group\}/features/{feature\}` The last part feature is assigned by the client. The feature can be up to 64 characters long and can consist only of ASCII Latin letters A-Z and a-z, underscore(_), and ASCII digits 0-9 starting with a letter. The value will be unique given an entity type. + */ + name?: string; + /** + * Field mask is used to specify the fields to be overwritten in the Features resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `description` * `labels` * `disable_monitoring` (Not supported for FeatureRegistryService Feature) * `point_of_contact` (Not supported for FeaturestoreService FeatureStore) + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1beta1Feature; + } + + export class Resource$Projects$Locations$Featuregroups$Features$Operations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Featuregroups$Features$Operations$Get; options = {}; } @@ -42721,7 +46561,7 @@ export namespace aiplatform_v1beta1 { */ name?: string; /** - * Field mask is used to specify the fields to be overwritten in the FeatureView resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `labels` * `service_agent_type` * `big_query_source` * `big_query_source.uri` * `big_query_source.entity_id_columns` * `feature_registry_source` * `feature_registry_source.feature_groups` * `sync_config` * `sync_config.cron` + * Field mask is used to specify the fields to be overwritten in the FeatureView resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then only the non-empty fields present in the request will be overwritten. Set the update_mask to `*` to override all fields. Updatable fields: * `labels` * `service_agent_type` * `big_query_source` * `big_query_source.uri` * `big_query_source.entity_id_columns` * `feature_registry_source` * `feature_registry_source.feature_groups` * `sync_config` * `sync_config.cron` * `optimized_config.automatic_resources` */ updateMask?: string; @@ -47146,6 +50986,18 @@ export namespace aiplatform_v1beta1 { } export interface Params$Resource$Projects$Locations$Featurestores$Entitytypes$Features$Get extends StandardParameters { + /** + * Optional. If set, returns the most recent count of stats. Valid value is [0, 100]. If stats_time_range is set, return most recent count of stats within the stats_time_range. + */ + 'featureStatsAndAnomalySpec.latestStatsCount'?: number; + /** + * Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end. + */ + 'featureStatsAndAnomalySpec.statsTimeRange.endTime'?: string; + /** + * Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start. + */ + 'featureStatsAndAnomalySpec.statsTimeRange.startTime'?: string; /** * Required. The name of the Feature resource. Format for entity_type as parent: `projects/{project\}/locations/{location\}/featurestores/{featurestore\}/entityTypes/{entity_type\}` Format for feature_group as parent: `projects/{project\}/locations/{location\}/featureGroups/{feature_group\}` */ @@ -47206,7 +51058,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -47733,7 +51585,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -48260,7 +52112,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -49335,7 +53187,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -50952,7 +54804,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -52246,7 +56098,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -54016,7 +57868,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -55656,7 +59508,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -57074,7 +60926,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -57942,7 +61794,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -58698,7 +62550,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -60096,7 +63948,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -61845,7 +65697,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -64250,7 +68102,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -65118,7 +68970,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -67053,7 +70905,7 @@ export namespace aiplatform_v1beta1 { */ pageSize?: number; /** - * Optional. The standard list page token. Typically obtained via ListNotebookExecutionJobs.next_page_token of the previous NotebookService.ListNotebookExecutionJobs call. + * Optional. The standard list page token. Typically obtained via ListNotebookExecutionJobsResponse.next_page_token of the previous NotebookService.ListNotebookExecutionJobs call. */ pageToken?: string; /** @@ -67085,7 +70937,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -68286,6 +72138,101 @@ export namespace aiplatform_v1beta1 { } } + /** + * Stops a NotebookRuntime. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + stop( + params: Params$Resource$Projects$Locations$Notebookruntimes$Stop, + options: StreamMethodOptions + ): GaxiosPromise; + stop( + params?: Params$Resource$Projects$Locations$Notebookruntimes$Stop, + options?: MethodOptions + ): GaxiosPromise; + stop( + params: Params$Resource$Projects$Locations$Notebookruntimes$Stop, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + stop( + params: Params$Resource$Projects$Locations$Notebookruntimes$Stop, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + stop( + params: Params$Resource$Projects$Locations$Notebookruntimes$Stop, + callback: BodyResponseCallback + ): void; + stop( + callback: BodyResponseCallback + ): void; + stop( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Notebookruntimes$Stop + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Notebookruntimes$Stop; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Notebookruntimes$Stop; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}:stop').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Upgrades a NotebookRuntime. * @@ -68424,7 +72371,7 @@ export namespace aiplatform_v1beta1 { export interface Params$Resource$Projects$Locations$Notebookruntimes$List extends StandardParameters { /** - * Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `notebookRuntime` supports = and !=. `notebookRuntime` represents the NotebookRuntime ID, i.e. the last segment of the NotebookRuntime's resource name. * `displayName` supports = and != and regex. * `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate` represents the NotebookRuntimeTemplate ID, i.e. the last segment of the NotebookRuntimeTemplate's resource name. * `healthState` supports = and !=. healthState enum: [HEALTHY, UNHEALTHY, HEALTH_STATE_UNSPECIFIED]. * `runtimeState` supports = and !=. runtimeState enum: [RUNTIME_STATE_UNSPECIFIED, RUNNING, BEING_STARTED, BEING_STOPPED, STOPPED, BEING_UPGRADED, ERROR, INVALID]. * `runtimeUser` supports = and !=. * API version is UI only: `uiState` supports = and !=. uiState enum: [UI_RESOURCE_STATE_UNSPECIFIED, UI_RESOURCE_STATE_BEING_CREATED, UI_RESOURCE_STATE_ACTIVE, UI_RESOURCE_STATE_BEING_DELETED, UI_RESOURCE_STATE_CREATION_FAILED]. * `notebookRuntimeType` supports = and !=. notebookRuntimeType enum: [USER_DEFINED, ONE_CLICK]. Some examples: * `notebookRuntime="notebookRuntime123"` * `displayName="myDisplayName"` and `displayName=~"myDisplayNameRegex"` * `notebookRuntimeTemplate="notebookRuntimeTemplate321"` * `healthState=HEALTHY` * `runtimeState=RUNNING` * `runtimeUser="test@google.com"` * `uiState=UI_RESOURCE_STATE_BEING_DELETED` * `notebookRuntimeType=USER_DEFINED` + * Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `notebookRuntime` supports = and !=. `notebookRuntime` represents the NotebookRuntime ID, i.e. the last segment of the NotebookRuntime's resource name. * `displayName` supports = and != and regex. * `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate` represents the NotebookRuntimeTemplate ID, i.e. the last segment of the NotebookRuntimeTemplate's resource name. * `healthState` supports = and !=. healthState enum: [HEALTHY, UNHEALTHY, HEALTH_STATE_UNSPECIFIED]. * `runtimeState` supports = and !=. runtimeState enum: [RUNTIME_STATE_UNSPECIFIED, RUNNING, BEING_STARTED, BEING_STOPPED, STOPPED, BEING_UPGRADED, ERROR, INVALID]. * `runtimeUser` supports = and !=. * API version is UI only: `uiState` supports = and !=. uiState enum: [UI_RESOURCE_STATE_UNSPECIFIED, UI_RESOURCE_STATE_BEING_CREATED, UI_RESOURCE_STATE_ACTIVE, UI_RESOURCE_STATE_BEING_DELETED, UI_RESOURCE_STATE_CREATION_FAILED]. * `notebookRuntimeType` supports = and !=. notebookRuntimeType enum: [USER_DEFINED, ONE_CLICK]. * `machineType` supports = and !=. * `acceleratorType` supports = and !=. Some examples: * `notebookRuntime="notebookRuntime123"` * `displayName="myDisplayName"` and `displayName=~"myDisplayNameRegex"` * `notebookRuntimeTemplate="notebookRuntimeTemplate321"` * `healthState=HEALTHY` * `runtimeState=RUNNING` * `runtimeUser="test@google.com"` * `uiState=UI_RESOURCE_STATE_BEING_DELETED` * `notebookRuntimeType=USER_DEFINED` * `machineType=e2-standard-4` * `acceleratorType=NVIDIA_TESLA_T4` */ filter?: string; /** @@ -68472,6 +72419,18 @@ export namespace aiplatform_v1beta1 { */ requestBody?: Schema$GoogleCloudAiplatformV1beta1StartNotebookRuntimeRequest; } + export interface Params$Resource$Projects$Locations$Notebookruntimes$Stop + extends StandardParameters { + /** + * Required. The name of the NotebookRuntime resource to be stopped. Instead of checking whether the name is in valid NotebookRuntime resource name format, directly throw NotFound exception if there is no such NotebookRuntime in spanner. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1beta1StopNotebookRuntimeRequest; + } export interface Params$Resource$Projects$Locations$Notebookruntimes$Upgrade extends StandardParameters { /** @@ -68492,7 +72451,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -69829,7 +73788,7 @@ export namespace aiplatform_v1beta1 { export interface Params$Resource$Projects$Locations$Notebookruntimetemplates$List extends StandardParameters { /** - * Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate` represents the NotebookRuntimeTemplate ID, i.e. the last segment of the NotebookRuntimeTemplate's resource name. * `display_name` supports = and != * `labels` supports general map functions that is: * `labels.key=value` - key:value equality * `labels.key:* or labels:key - key existence * A key including a space must be quoted. `labels."a key"`. * `notebookRuntimeType` supports = and !=. notebookRuntimeType enum: [USER_DEFINED, ONE_CLICK]. Some examples: * `notebookRuntimeTemplate=notebookRuntimeTemplate123` * `displayName="myDisplayName"` * `labels.myKey="myValue"` * `notebookRuntimeType=USER_DEFINED` + * Optional. An expression for filtering the results of the request. For field names both snake_case and camelCase are supported. * `notebookRuntimeTemplate` supports = and !=. `notebookRuntimeTemplate` represents the NotebookRuntimeTemplate ID, i.e. the last segment of the NotebookRuntimeTemplate's resource name. * `display_name` supports = and != * `labels` supports general map functions that is: * `labels.key=value` - key:value equality * `labels.key:* or labels:key - key existence * A key including a space must be quoted. `labels."a key"`. * `notebookRuntimeType` supports = and !=. notebookRuntimeType enum: [USER_DEFINED, ONE_CLICK]. * `machineType` supports = and !=. * `acceleratorType` supports = and !=. Some examples: * `notebookRuntimeTemplate=notebookRuntimeTemplate123` * `displayName="myDisplayName"` * `labels.myKey="myValue"` * `notebookRuntimeType=USER_DEFINED` * `machineType=e2-standard-4` * `acceleratorType=NVIDIA_TESLA_T4` */ filter?: string; /** @@ -69900,7 +73859,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -70427,7 +74386,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -71562,7 +75521,7 @@ export namespace aiplatform_v1beta1 { */ pageSize?: number; /** - * Optional. The standard list page token. Typically obtained via ListPersistentResourceResponse.next_page_token of the previous PersistentResourceService.ListPersistentResource call. + * Optional. The standard list page token. Typically obtained via ListPersistentResourcesResponse.next_page_token of the previous PersistentResourceService.ListPersistentResource call. */ pageToken?: string; /** @@ -71606,7 +75565,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -72899,7 +76858,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -73632,6 +77591,101 @@ export namespace aiplatform_v1beta1 { } } + /** + * Fetch an asynchronous online prediction operation. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + fetchPredictOperation( + params: Params$Resource$Projects$Locations$Publishers$Models$Fetchpredictoperation, + options: StreamMethodOptions + ): GaxiosPromise; + fetchPredictOperation( + params?: Params$Resource$Projects$Locations$Publishers$Models$Fetchpredictoperation, + options?: MethodOptions + ): GaxiosPromise; + fetchPredictOperation( + params: Params$Resource$Projects$Locations$Publishers$Models$Fetchpredictoperation, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchPredictOperation( + params: Params$Resource$Projects$Locations$Publishers$Models$Fetchpredictoperation, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchPredictOperation( + params: Params$Resource$Projects$Locations$Publishers$Models$Fetchpredictoperation, + callback: BodyResponseCallback + ): void; + fetchPredictOperation( + callback: BodyResponseCallback + ): void; + fetchPredictOperation( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Publishers$Models$Fetchpredictoperation + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Publishers$Models$Fetchpredictoperation; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Publishers$Models$Fetchpredictoperation; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta1/{+endpoint}:fetchPredictOperation' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['endpoint'], + pathParams: ['endpoint'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Generate content with multimodal inputs. * @@ -73922,6 +77976,101 @@ export namespace aiplatform_v1beta1 { } } + /** + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + predictLongRunning( + params: Params$Resource$Projects$Locations$Publishers$Models$Predictlongrunning, + options: StreamMethodOptions + ): GaxiosPromise; + predictLongRunning( + params?: Params$Resource$Projects$Locations$Publishers$Models$Predictlongrunning, + options?: MethodOptions + ): GaxiosPromise; + predictLongRunning( + params: Params$Resource$Projects$Locations$Publishers$Models$Predictlongrunning, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + predictLongRunning( + params: Params$Resource$Projects$Locations$Publishers$Models$Predictlongrunning, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + predictLongRunning( + params: Params$Resource$Projects$Locations$Publishers$Models$Predictlongrunning, + callback: BodyResponseCallback + ): void; + predictLongRunning( + callback: BodyResponseCallback + ): void; + predictLongRunning( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Publishers$Models$Predictlongrunning + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Publishers$Models$Predictlongrunning; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Publishers$Models$Predictlongrunning; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+endpoint}:predictLongRunning').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['endpoint'], + pathParams: ['endpoint'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Perform an online prediction with an arbitrary HTTP payload. The response includes the following HTTP headers: * `X-Vertex-AI-Endpoint-Id`: ID of the Endpoint that served this prediction. * `X-Vertex-AI-Deployed-Model-Id`: ID of the Endpoint's DeployedModel that served this prediction. * @@ -74328,6 +78477,18 @@ export namespace aiplatform_v1beta1 { */ requestBody?: Schema$GoogleCloudAiplatformV1beta1CountTokensRequest; } + export interface Params$Resource$Projects$Locations$Publishers$Models$Fetchpredictoperation + extends StandardParameters { + /** + * Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project\}/locations/{location\}/endpoints/{endpoint\}` or `projects/{project\}/locations/{location\}/publishers/{publisher\}/models/{model\}` + */ + endpoint?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1beta1FetchPredictOperationRequest; + } export interface Params$Resource$Projects$Locations$Publishers$Models$Generatecontent extends StandardParameters { /** @@ -74363,6 +78524,18 @@ export namespace aiplatform_v1beta1 { */ requestBody?: Schema$GoogleCloudAiplatformV1beta1PredictRequest; } + export interface Params$Resource$Projects$Locations$Publishers$Models$Predictlongrunning + extends StandardParameters { + /** + * Required. The name of the Endpoint requested to serve the prediction. Format: `projects/{project\}/locations/{location\}/endpoints/{endpoint\}` or `projects/{project\}/locations/{location\}/publishers/{publisher\}/models/{model\}` + */ + endpoint?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1beta1PredictLongRunningRequest; + } export interface Params$Resource$Projects$Locations$Publishers$Models$Rawpredict extends StandardParameters { /** @@ -74962,7 +79135,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -75925,7 +80098,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -77026,6 +81199,98 @@ export namespace aiplatform_v1beta1 { ); } } + + /** + * Streams queries using a reasoning engine. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + streamQuery( + params: Params$Resource$Projects$Locations$Reasoningengines$Streamquery, + options: StreamMethodOptions + ): GaxiosPromise; + streamQuery( + params?: Params$Resource$Projects$Locations$Reasoningengines$Streamquery, + options?: MethodOptions + ): GaxiosPromise; + streamQuery( + params: Params$Resource$Projects$Locations$Reasoningengines$Streamquery, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + streamQuery( + params: Params$Resource$Projects$Locations$Reasoningengines$Streamquery, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + streamQuery( + params: Params$Resource$Projects$Locations$Reasoningengines$Streamquery, + callback: BodyResponseCallback + ): void; + streamQuery(callback: BodyResponseCallback): void; + streamQuery( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Reasoningengines$Streamquery + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Reasoningengines$Streamquery; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Reasoningengines$Streamquery; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://aiplatform.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}:streamQuery').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } export interface Params$Resource$Projects$Locations$Reasoningengines$Create @@ -77080,7 +81345,7 @@ export namespace aiplatform_v1beta1 { */ name?: string; /** - * Required. Mask specifying which fields to update. + * Optional. Mask specifying which fields to update. */ updateMask?: string; @@ -77101,6 +81366,18 @@ export namespace aiplatform_v1beta1 { */ requestBody?: Schema$GoogleCloudAiplatformV1beta1QueryReasoningEngineRequest; } + export interface Params$Resource$Projects$Locations$Reasoningengines$Streamquery + extends StandardParameters { + /** + * Required. The name of the ReasoningEngine resource to use. Format: `projects/{project\}/locations/{location\}/reasoningEngines/{reasoning_engine\}` + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudAiplatformV1beta1StreamQueryReasoningEngineRequest; + } export class Resource$Projects$Locations$Reasoningengines$Operations { context: APIRequestContext; @@ -77109,7 +81386,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -78205,7 +82482,7 @@ export namespace aiplatform_v1beta1 { } /** - * Resumes a paused Schedule to start scheduling new runs. Will mark Schedule.state to 'ACTIVE'. Only paused Schedule can be resumed. When the Schedule is resumed, new runs will be scheduled starting from the next execution time after the current time based on the time_specification in the Schedule. If Schedule.catchUp is set up true, all missed runs will be scheduled for backfill first. + * Resumes a paused Schedule to start scheduling new runs. Will mark Schedule.state to 'ACTIVE'. Only paused Schedule can be resumed. When the Schedule is resumed, new runs will be scheduled starting from the next execution time after the current time based on the time_specification in the Schedule. If Schedule.catch_up is set up true, all missed runs will be scheduled for backfill first. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -78393,7 +82670,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -79802,7 +84079,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -80871,7 +85148,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -82478,7 +86755,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -84666,7 +88943,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -85983,7 +90260,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -87407,7 +91684,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -87934,7 +92211,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -89010,7 +93287,7 @@ export namespace aiplatform_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -90057,7 +94334,7 @@ export namespace aiplatform_v1beta1 { */ pageSize?: number; /** - * Optional. The standard list page token. Typically obtained via ListTuningJob.next_page_token of the previous GenAiTuningService.ListTuningJob][] call. + * Optional. The standard list page token. Typically obtained via ListTuningJobsResponse.next_page_token of the previous GenAiTuningService.ListTuningJob][] call. */ pageToken?: string; /** @@ -90846,6 +95123,10 @@ export namespace aiplatform_v1beta1 { * Optional. The IETF BCP-47 language code representing the language in which the publisher models' text information should be written in. If not set, by default English (en). */ languageCode?: string; + /** + * Optional. List all publisher model versions if the flag is set to true. + */ + listAllVersions?: boolean; /** * Optional. A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. */ diff --git a/src/apis/alertcenter/v1beta1.ts b/src/apis/alertcenter/v1beta1.ts index ef0f69e385..7c47c2b4c2 100644 --- a/src/apis/alertcenter/v1beta1.ts +++ b/src/apis/alertcenter/v1beta1.ts @@ -422,7 +422,7 @@ export namespace alertcenter_v1beta1 { requestInfo?: Schema$RequestInfo[]; } /** - * Alerts from AppSettingsChanged bucket Rules configured by Admin which contain the below rules. Calendar settings changed Drive settings changed Email settings changed Mobile settings changed + * * Alerts from AppSettingsChanged bucket Rules configured by Admin which contain the below rules. Calendar settings changed Drive settings changed Email settings changed Mobile settings changed */ export interface Schema$AppSettingsChanged { /** @@ -970,7 +970,7 @@ export namespace alertcenter_v1beta1 { detectorName?: string | null; } /** - * Event occurred when primary admin changed in customer's account. The event are being received from insight forwarder + * * Event occurred when primary admin changed in customer's account. The event are being received from insight forwarder */ export interface Schema$PrimaryAdminChangedEvent { /** @@ -1150,7 +1150,7 @@ export namespace alertcenter_v1beta1 { notifications?: Schema$Notification[]; } /** - * Event occurred when SSO Profile created in customer's account. The event are being received from insight forwarder + * * Event occurred when SSO Profile created in customer's account. The event are being received from insight forwarder */ export interface Schema$SSOProfileCreatedEvent { /** @@ -1159,7 +1159,7 @@ export namespace alertcenter_v1beta1 { inboundSsoProfileName?: string | null; } /** - * Event occurred when SSO Profile deleted in customer's account. The event are being received from insight forwarder + * * Event occurred when SSO Profile deleted in customer's account. The event are being received from insight forwarder */ export interface Schema$SSOProfileDeletedEvent { /** @@ -1168,7 +1168,7 @@ export namespace alertcenter_v1beta1 { inboundSsoProfileName?: string | null; } /** - * Event occurred when SSO Profile updated in customer's account. The event are being received from insight forwarder + * * Event occurred when SSO Profile updated in customer's account. The event are being received from insight forwarder */ export interface Schema$SSOProfileUpdatedEvent { /** @@ -1207,7 +1207,7 @@ export namespace alertcenter_v1beta1 { message?: string | null; } /** - * Event occurred when password was reset for super admin in customer's account. The event are being received from insight forwarder + * * Event occurred when password was reset for super admin in customer's account. The event are being received from insight forwarder */ export interface Schema$SuperAdminPasswordResetEvent { /** @@ -1339,7 +1339,7 @@ export namespace alertcenter_v1beta1 { emailAddress?: string | null; } /** - * Alerts from UserChanges bucket Rules for predefined rules which contain the below rules. Suspended user made active New user Added User suspended (by admin) User granted admin privileges User admin privileges revoked User deleted Users password changed + * * Alerts from UserChanges bucket Rules for predefined rules which contain the below rules. Suspended user made active New user Added User suspended (by admin) User granted admin privileges User admin privileges revoked User deleted Users password changed */ export interface Schema$UserChanges { /** diff --git a/src/apis/alloydb/v1.ts b/src/apis/alloydb/v1.ts index 716241b5b4..f14323222d 100644 --- a/src/apis/alloydb/v1.ts +++ b/src/apis/alloydb/v1.ts @@ -250,6 +250,10 @@ export namespace alloydb_v1 { * Output only. The current state of the backup. */ state?: string | null; + /** + * Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: ``` "123/environment": "production", "123/costCenter": "marketing" ``` + */ + tags?: {[key: string]: string} | null; /** * The backup type, which suggests the trigger for the backup. */ @@ -423,6 +427,10 @@ export namespace alloydb_v1 { * Optional. Subscription type of the cluster. */ subscriptionType?: string | null; + /** + * Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: ``` "123/environment": "production", "123/costCenter": "marketing" ``` + */ + tags?: {[key: string]: string} | null; /** * Output only. Metadata for free trial clusters */ @@ -537,6 +545,27 @@ export namespace alloydb_v1 { */ pointInTime?: string | null; } + /** + * Options for exporting data in CSV format. + */ + export interface Schema$CsvExportOptions { + /** + * Optional. Specifies the character that should appear before a data character that needs to be escaped. The default is the same as quote character. The value of this argument has to be a character in Hex ASCII Code. + */ + escapeCharacter?: string | null; + /** + * Optional. Specifies the character that separates columns within each row (line) of the file. The default is comma. The value of this argument has to be a character in Hex ASCII Code. + */ + fieldDelimiter?: string | null; + /** + * Optional. Specifies the quoting character to be used when a data value is quoted. The default is double-quote. The value of this argument has to be a character in Hex ASCII Code. + */ + quoteCharacter?: string | null; + /** + * Required. The SELECT query used to extract the data. + */ + selectQuery?: string | null; + } /** * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} */ @@ -563,6 +592,36 @@ export namespace alloydb_v1 { */ kmsKeyVersions?: string[] | null; } + /** + * Export cluster request. + */ + export interface Schema$ExportClusterRequest { + /** + * Options for exporting data in CSV format. Required field to be set for CSV file type. + */ + csvExportOptions?: Schema$CsvExportOptions; + /** + * Required. Name of the database where the export command will be executed. Note - Value provided should be the same as expected from `SELECT current_database();` and NOT as a resource reference. + */ + database?: string | null; + /** + * Required. Option to export data to cloud storage. + */ + gcsDestination?: Schema$GcsDestination; + /** + * Options for exporting data in SQL format. Required field to be set for SQL file type. + */ + sqlExportOptions?: Schema$SqlExportOptions; + } + /** + * Response of export cluster rpc. + */ + export interface Schema$ExportClusterResponse { + /** + * Required. Option to export data to cloud storage. + */ + gcsDestination?: Schema$GcsDestination; + } /** * Message for triggering failover on an Instance */ @@ -576,6 +635,15 @@ export namespace alloydb_v1 { */ validateOnly?: boolean | null; } + /** + * Destination for Export. Export will be done to cloud storage. + */ + export interface Schema$GcsDestination { + /** + * Required. The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form `gs://bucketName/fileName`. + */ + uri?: string | null; + } /** * The response message for Locations.ListLocations. */ @@ -619,19 +687,19 @@ export namespace alloydb_v1 { */ export interface Schema$GoogleTypeTimeOfDay { /** - * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. */ hours?: number | null; /** - * Minutes of hour of day. Must be from 0 to 59. + * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. */ minutes?: number | null; /** - * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. */ nanos?: number | null; /** - * Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. */ seconds?: number | null; } @@ -673,7 +741,7 @@ export namespace alloydb_v1 { */ createTime?: string | null; /** - * Database flags. Set at instance level. * They are copied from primary instance on read instance creation. * Read instances can set new or override existing flags that are relevant for reads, e.g. for enabling columnar cache on a read instance. Flags set on read instance may or may not be present on primary. This is a list of "key": "value" pairs. "key": The name of the flag. These flags are passed at instance setup time, so include both server options and system variables for Postgres. Flags are specified with underscores, not hyphens. "value": The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn't take a value. + * Database flags. Set at the instance level. They are copied from the primary instance on secondary instance creation. Flags that have restrictions default to the value at primary instance on read instances during creation. Read instances can set new flags or override existing flags that are relevant for reads, for example, for enabling columnar cache on a read instance. Flags set on read instance might or might not be present on the primary instance. This is a list of "key": "value" pairs. "key": The name of the flag. These flags are passed at instance setup time, so include both server options and system variables for Postgres. Flags are specified with underscores, not hyphens. "value": The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn't take a value. */ databaseFlags?: {[key: string]: string} | null; /** @@ -1039,7 +1107,7 @@ export namespace alloydb_v1 { */ endTime?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -1211,6 +1279,27 @@ export namespace alloydb_v1 { */ primaryClusterName?: string | null; } + /** + * Options for exporting data in SQL format. + */ + export interface Schema$SqlExportOptions { + /** + * Optional. If true, output commands to DROP all the dumped database objects prior to outputting the commands for creating them. + */ + cleanTargetObjects?: boolean | null; + /** + * Optional. If true, use DROP ... IF EXISTS commands to check for the object's existence before dropping it in clean_target_objects mode. + */ + ifExistTargetObjects?: boolean | null; + /** + * Optional. If true, only export the schema. + */ + schemaOnly?: boolean | null; + /** + * Optional. Tables to export from. + */ + tables?: string[] | null; + } /** * SSL configuration. */ @@ -1438,7 +1527,7 @@ export namespace alloydb_v1 { uniqueId?: string | null; } /** - * Common model for database resource instance metadata. Next ID: 22 + * Common model for database resource instance metadata. Next ID: 23 */ export interface Schema$StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata { /** @@ -1465,6 +1554,10 @@ export namespace alloydb_v1 { * Any custom metadata associated with the resource */ customMetadata?: Schema$StorageDatabasecenterPartnerapiV1mainCustomMetadataData; + /** + * Optional. Edition represents whether the instance is ENTERPRISE or ENTERPRISE_PLUS. This information is core to Cloud SQL only and is used to identify the edition of the instance. + */ + edition?: string | null; /** * Entitlements associated with the resource */ @@ -1607,6 +1700,10 @@ export namespace alloydb_v1 { * Optional. Number of shards (if applicable). */ shardCount?: number | null; + /** + * Optional. The number of vCPUs. TODO(b/342344482, b/342346271) add proto validations again after bug fix. + */ + vcpuCount?: number | null; } export interface Schema$StorageDatabasecenterPartnerapiV1mainObservabilityMetricData { /** @@ -1655,6 +1752,10 @@ export namespace alloydb_v1 { */ retentionUnit?: string | null; timeBasedRetention?: string | null; + /** + * Timestamp based retention period i.e. 2024-05-01T00:00:00Z + */ + timestampBasedRetentionTime?: string | null; } /** * Message type for storing tags. Tags provide a way to create annotations for resources, and in some cases conditionally allow or deny policies based on whether a resource has a specific tag. @@ -2945,6 +3046,91 @@ export namespace alloydb_v1 { } } + /** + * Exports data from the cluster. Imperative only. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + export( + params: Params$Resource$Projects$Locations$Clusters$Export, + options: StreamMethodOptions + ): GaxiosPromise; + export( + params?: Params$Resource$Projects$Locations$Clusters$Export, + options?: MethodOptions + ): GaxiosPromise; + export( + params: Params$Resource$Projects$Locations$Clusters$Export, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + export( + params: Params$Resource$Projects$Locations$Clusters$Export, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + export( + params: Params$Resource$Projects$Locations$Clusters$Export, + callback: BodyResponseCallback + ): void; + export(callback: BodyResponseCallback): void; + export( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Clusters$Export + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Clusters$Export; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Clusters$Export; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://alloydb.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:export').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Gets details of a single Cluster. * @@ -3632,6 +3818,18 @@ export namespace alloydb_v1 { */ validateOnly?: boolean; } + export interface Params$Resource$Projects$Locations$Clusters$Export + extends StandardParameters { + /** + * Required. The resource name of the cluster. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ExportClusterRequest; + } export interface Params$Resource$Projects$Locations$Clusters$Get extends StandardParameters { /** @@ -5361,7 +5559,7 @@ export namespace alloydb_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/alloydb/v1alpha.ts b/src/apis/alloydb/v1alpha.ts index 2481affaa8..30971710dc 100644 --- a/src/apis/alloydb/v1alpha.ts +++ b/src/apis/alloydb/v1alpha.ts @@ -254,6 +254,10 @@ export namespace alloydb_v1alpha { * Output only. The current state of the backup. */ state?: string | null; + /** + * Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: ``` "123/environment": "production", "123/costCenter": "marketing" ``` + */ + tags?: {[key: string]: string} | null; /** * The backup type, which suggests the trigger for the backup. */ @@ -456,6 +460,10 @@ export namespace alloydb_v1alpha { * Optional. Subscription type of the cluster. */ subscriptionType?: string | null; + /** + * Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: ``` "123/environment": "production", "123/costCenter": "marketing" ``` + */ + tags?: {[key: string]: string} | null; /** * Output only. Metadata for free trial clusters */ @@ -578,6 +586,27 @@ export namespace alloydb_v1alpha { */ pointInTime?: string | null; } + /** + * Options for exporting data in CSV format. + */ + export interface Schema$CsvExportOptions { + /** + * Optional. Specifies the character that should appear before a data character that needs to be escaped. The default is the same as quote character. The value of this argument has to be a character in Hex ASCII Code. + */ + escapeCharacter?: string | null; + /** + * Optional. Specifies the character that separates columns within each row (line) of the file. The default is comma. The value of this argument has to be a character in Hex ASCII Code. + */ + fieldDelimiter?: string | null; + /** + * Optional. Specifies the quoting character to be used when a data value is quoted. The default is double-quote. The value of this argument has to be a character in Hex ASCII Code. + */ + quoteCharacter?: string | null; + /** + * Required. The SELECT query used to extract the data. + */ + selectQuery?: string | null; + } /** * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} */ @@ -604,6 +633,27 @@ export namespace alloydb_v1alpha { */ kmsKeyVersions?: string[] | null; } + /** + * Export cluster request. + */ + export interface Schema$ExportClusterRequest { + /** + * Options for exporting data in CSV format. Required field to be set for CSV file type. + */ + csvExportOptions?: Schema$CsvExportOptions; + /** + * Required. Name of the database where the export command will be executed. Note - Value provided should be the same as expected from `SELECT current_database();` and NOT as a resource reference. + */ + database?: string | null; + /** + * Required. Option to export data to cloud storage. + */ + gcsDestination?: Schema$GcsDestination; + /** + * Options for exporting data in SQL format. Required field to be set for SQL file type. + */ + sqlExportOptions?: Schema$SqlExportOptions; + } /** * Message for triggering failover on an Instance */ @@ -617,6 +667,15 @@ export namespace alloydb_v1alpha { */ validateOnly?: boolean | null; } + /** + * Destination for Export. Export will be done to cloud storage. + */ + export interface Schema$GcsDestination { + /** + * Required. The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form `gs://bucketName/fileName`. + */ + uri?: string | null; + } /** * Cluster level configuration parameters related to the Gemini in Databases add-on. */ @@ -678,19 +737,19 @@ export namespace alloydb_v1alpha { */ export interface Schema$GoogleTypeTimeOfDay { /** - * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. */ hours?: number | null; /** - * Minutes of hour of day. Must be from 0 to 59. + * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. */ minutes?: number | null; /** - * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. */ nanos?: number | null; /** - * Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. */ seconds?: number | null; } @@ -732,7 +791,7 @@ export namespace alloydb_v1alpha { */ createTime?: string | null; /** - * Database flags. Set at instance level. * They are copied from primary instance on read instance creation. * Read instances can set new or override existing flags that are relevant for reads, e.g. for enabling columnar cache on a read instance. Flags set on read instance may or may not be present on primary. This is a list of "key": "value" pairs. "key": The name of the flag. These flags are passed at instance setup time, so include both server options and system variables for Postgres. Flags are specified with underscores, not hyphens. "value": The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn't take a value. + * Database flags. Set at the instance level. They are copied from the primary instance on secondary instance creation. Flags that have restrictions default to the value at primary instance on read instances during creation. Read instances can set new flags or override existing flags that are relevant for reads, for example, for enabling columnar cache on a read instance. Flags set on read instance might or might not be present on the primary instance. This is a list of "key": "value" pairs. "key": The name of the flag. These flags are passed at instance setup time, so include both server options and system variables for Postgres. Flags are specified with underscores, not hyphens. "value": The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn't take a value. */ databaseFlags?: {[key: string]: string} | null; /** @@ -1155,7 +1214,7 @@ export namespace alloydb_v1alpha { */ endTime?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -1205,6 +1264,10 @@ export namespace alloydb_v1alpha { * Optional. Create an instance that allows connections from Private Service Connect endpoints to the instance. */ pscEnabled?: boolean | null; + /** + * Output only. The project number that needs to be allowlisted on the network attachment to enable outbound connectivity. + */ + serviceOwnedProjectNumber?: string | null; } /** * PscInstanceConfig contains PSC related configuration at an instance level. @@ -1218,11 +1281,24 @@ export namespace alloydb_v1alpha { * Output only. The DNS name of the instance for PSC connectivity. Name convention: ...alloydb-psc.goog */ pscDnsName?: string | null; + /** + * Optional. Configurations for setting up PSC interfaces attached to the instance which are used for outbound connectivity. Only primary instances can have PSC interface attached. Currently we only support 0 or 1 PSC interface. + */ + pscInterfaceConfigs?: Schema$PscInterfaceConfig[]; /** * Output only. The service attachment created when Private Service Connect (PSC) is enabled for the instance. The name of the resource will be in the format of `projects//regions//serviceAttachments/` */ serviceAttachmentLink?: string | null; } + /** + * Configuration for setting up a PSC interface to enable outbound connectivity. + */ + export interface Schema$PscInterfaceConfig { + /** + * The network attachment resource created in the consumer network to which the PSC interface will be linked. This is of the format: "projects/${CONSUMER_PROJECT\}/regions/${REGION\}/networkAttachments/${NETWORK_ATTACHMENT_NAME\}". The network attachment must be in the same region as the instance. + */ + networkAttachmentResource?: string | null; + } /** * A backup's position in a quantity-based retention queue, of backups with the same source cluster and type, with length, retention, specified by the backup's retention policy. Once the position is greater than the retention, the backup is eligible to be garbage collected. Example: 5 backups from the same source cluster and type with a quantity-based retention of 3 and denoted by backup_id (position, retention). Safe: backup_5 (1, 3), backup_4, (2, 3), backup_3 (3, 3). Awaiting garbage collection: backup_2 (4, 3), backup_1 (5, 3) */ @@ -1318,6 +1394,23 @@ export namespace alloydb_v1alpha { */ validateOnly?: boolean | null; } + /** + * Message for registering Restoring from CloudSQL resource. + */ + export interface Schema$RestoreFromCloudSQLRequest { + /** + * Cluster created from CloudSQL backup run. + */ + cloudsqlBackupRunSource?: Schema$CloudSQLBackupRunSource; + /** + * Required. The resource being created + */ + cluster?: Schema$Cluster; + /** + * Required. ID of the requesting object. + */ + clusterId?: string | null; + } /** * Configuration information for the secondary cluster. This should be set if and only if the cluster is of type SECONDARY. */ @@ -1327,6 +1420,27 @@ export namespace alloydb_v1alpha { */ primaryClusterName?: string | null; } + /** + * Options for exporting data in SQL format. + */ + export interface Schema$SqlExportOptions { + /** + * Optional. If true, output commands to DROP all the dumped database objects prior to outputting the commands for creating them. + */ + cleanTargetObjects?: boolean | null; + /** + * Optional. If true, use DROP ... IF EXISTS commands to check for the object's existence before dropping it in clean_target_objects mode. + */ + ifExistTargetObjects?: boolean | null; + /** + * Optional. If true, only export the schema. + */ + schemaOnly?: boolean | null; + /** + * Optional. Tables to export from. + */ + tables?: string[] | null; + } /** * SSL configuration. */ @@ -1554,7 +1668,7 @@ export namespace alloydb_v1alpha { uniqueId?: string | null; } /** - * Common model for database resource instance metadata. Next ID: 22 + * Common model for database resource instance metadata. Next ID: 23 */ export interface Schema$StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata { /** @@ -1581,6 +1695,10 @@ export namespace alloydb_v1alpha { * Any custom metadata associated with the resource */ customMetadata?: Schema$StorageDatabasecenterPartnerapiV1mainCustomMetadataData; + /** + * Optional. Edition represents whether the instance is ENTERPRISE or ENTERPRISE_PLUS. This information is core to Cloud SQL only and is used to identify the edition of the instance. + */ + edition?: string | null; /** * Entitlements associated with the resource */ @@ -1723,6 +1841,10 @@ export namespace alloydb_v1alpha { * Optional. Number of shards (if applicable). */ shardCount?: number | null; + /** + * Optional. The number of vCPUs. TODO(b/342344482, b/342346271) add proto validations again after bug fix. + */ + vcpuCount?: number | null; } export interface Schema$StorageDatabasecenterPartnerapiV1mainObservabilityMetricData { /** @@ -1771,6 +1893,10 @@ export namespace alloydb_v1alpha { */ retentionUnit?: string | null; timeBasedRetention?: string | null; + /** + * Timestamp based retention period i.e. 2024-05-01T00:00:00Z + */ + timestampBasedRetentionTime?: string | null; } /** * Message type for storing tags. Tags provide a way to create annotations for resources, and in some cases conditionally allow or deny policies based on whether a resource has a specific tag. @@ -3069,6 +3195,94 @@ export namespace alloydb_v1alpha { } } + /** + * Exports data from the cluster. Imperative only. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + export( + params: Params$Resource$Projects$Locations$Clusters$Export, + options: StreamMethodOptions + ): GaxiosPromise; + export( + params?: Params$Resource$Projects$Locations$Clusters$Export, + options?: MethodOptions + ): GaxiosPromise; + export( + params: Params$Resource$Projects$Locations$Clusters$Export, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + export( + params: Params$Resource$Projects$Locations$Clusters$Export, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + export( + params: Params$Resource$Projects$Locations$Clusters$Export, + callback: BodyResponseCallback + ): void; + export(callback: BodyResponseCallback): void; + export( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Clusters$Export + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Clusters$Export; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Clusters$Export; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://alloydb.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+name}:export').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Gets details of a single Cluster. * @@ -3508,6 +3722,94 @@ export namespace alloydb_v1alpha { } } + /** + * Restores an AlloyDB cluster from a CloudSQL resource. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + restoreFromCloudSQL( + params: Params$Resource$Projects$Locations$Clusters$Restorefromcloudsql, + options: StreamMethodOptions + ): GaxiosPromise; + restoreFromCloudSQL( + params?: Params$Resource$Projects$Locations$Clusters$Restorefromcloudsql, + options?: MethodOptions + ): GaxiosPromise; + restoreFromCloudSQL( + params: Params$Resource$Projects$Locations$Clusters$Restorefromcloudsql, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + restoreFromCloudSQL( + params: Params$Resource$Projects$Locations$Clusters$Restorefromcloudsql, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + restoreFromCloudSQL( + params: Params$Resource$Projects$Locations$Clusters$Restorefromcloudsql, + callback: BodyResponseCallback + ): void; + restoreFromCloudSQL(callback: BodyResponseCallback): void; + restoreFromCloudSQL( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Clusters$Restorefromcloudsql + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Clusters$Restorefromcloudsql; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Clusters$Restorefromcloudsql; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://alloydb.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1alpha/{+parent}/clusters:restoreFromCloudSQL' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Switches the roles of PRIMARY and SECONDARY clusters without any data loss. This promotes the SECONDARY cluster to PRIMARY and sets up the original PRIMARY cluster to replicate from this newly promoted cluster. * @@ -3756,6 +4058,18 @@ export namespace alloydb_v1alpha { */ validateOnly?: boolean; } + export interface Params$Resource$Projects$Locations$Clusters$Export + extends StandardParameters { + /** + * Required. The resource name of the cluster. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ExportClusterRequest; + } export interface Params$Resource$Projects$Locations$Clusters$Get extends StandardParameters { /** @@ -3842,6 +4156,18 @@ export namespace alloydb_v1alpha { */ requestBody?: Schema$RestoreClusterRequest; } + export interface Params$Resource$Projects$Locations$Clusters$Restorefromcloudsql + extends StandardParameters { + /** + * Required. The location of the new cluster. For the required format, see the comment on Cluster.name field. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RestoreFromCloudSQLRequest; + } export interface Params$Resource$Projects$Locations$Clusters$Switchover extends StandardParameters { /** @@ -5484,7 +5810,7 @@ export namespace alloydb_v1alpha { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/alloydb/v1beta.ts b/src/apis/alloydb/v1beta.ts index afc7214414..b570edb95c 100644 --- a/src/apis/alloydb/v1beta.ts +++ b/src/apis/alloydb/v1beta.ts @@ -250,6 +250,10 @@ export namespace alloydb_v1beta { * Output only. The current state of the backup. */ state?: string | null; + /** + * Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: ``` "123/environment": "production", "123/costCenter": "marketing" ``` + */ + tags?: {[key: string]: string} | null; /** * The backup type, which suggests the trigger for the backup. */ @@ -444,6 +448,10 @@ export namespace alloydb_v1beta { * Optional. Subscription type of the cluster. */ subscriptionType?: string | null; + /** + * Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: ``` "123/environment": "production", "123/costCenter": "marketing" ``` + */ + tags?: {[key: string]: string} | null; /** * Output only. Metadata for free trial clusters */ @@ -566,6 +574,27 @@ export namespace alloydb_v1beta { */ pointInTime?: string | null; } + /** + * Options for exporting data in CSV format. + */ + export interface Schema$CsvExportOptions { + /** + * Optional. Specifies the character that should appear before a data character that needs to be escaped. The default is the same as quote character. The value of this argument has to be a character in Hex ASCII Code. + */ + escapeCharacter?: string | null; + /** + * Optional. Specifies the character that separates columns within each row (line) of the file. The default is comma. The value of this argument has to be a character in Hex ASCII Code. + */ + fieldDelimiter?: string | null; + /** + * Optional. Specifies the quoting character to be used when a data value is quoted. The default is double-quote. The value of this argument has to be a character in Hex ASCII Code. + */ + quoteCharacter?: string | null; + /** + * Required. The SELECT query used to extract the data. + */ + selectQuery?: string | null; + } /** * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} */ @@ -592,6 +621,27 @@ export namespace alloydb_v1beta { */ kmsKeyVersions?: string[] | null; } + /** + * Export cluster request. + */ + export interface Schema$ExportClusterRequest { + /** + * Options for exporting data in CSV format. Required field to be set for CSV file type. + */ + csvExportOptions?: Schema$CsvExportOptions; + /** + * Required. Name of the database where the export command will be executed. Note - Value provided should be the same as expected from `SELECT current_database();` and NOT as a resource reference. + */ + database?: string | null; + /** + * Required. Option to export data to cloud storage. + */ + gcsDestination?: Schema$GcsDestination; + /** + * Options for exporting data in SQL format. Required field to be set for SQL file type. + */ + sqlExportOptions?: Schema$SqlExportOptions; + } /** * Message for triggering failover on an Instance */ @@ -605,6 +655,15 @@ export namespace alloydb_v1beta { */ validateOnly?: boolean | null; } + /** + * Destination for Export. Export will be done to cloud storage. + */ + export interface Schema$GcsDestination { + /** + * Required. The path to the file in Google Cloud Storage where the export will be stored. The URI is in the form `gs://bucketName/fileName`. + */ + uri?: string | null; + } /** * Cluster level configuration parameters related to the Gemini in Databases add-on. */ @@ -666,19 +725,19 @@ export namespace alloydb_v1beta { */ export interface Schema$GoogleTypeTimeOfDay { /** - * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. */ hours?: number | null; /** - * Minutes of hour of day. Must be from 0 to 59. + * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. */ minutes?: number | null; /** - * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. */ nanos?: number | null; /** - * Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. */ seconds?: number | null; } @@ -720,7 +779,7 @@ export namespace alloydb_v1beta { */ createTime?: string | null; /** - * Database flags. Set at instance level. * They are copied from primary instance on read instance creation. * Read instances can set new or override existing flags that are relevant for reads, e.g. for enabling columnar cache on a read instance. Flags set on read instance may or may not be present on primary. This is a list of "key": "value" pairs. "key": The name of the flag. These flags are passed at instance setup time, so include both server options and system variables for Postgres. Flags are specified with underscores, not hyphens. "value": The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn't take a value. + * Database flags. Set at the instance level. They are copied from the primary instance on secondary instance creation. Flags that have restrictions default to the value at primary instance on read instances during creation. Read instances can set new flags or override existing flags that are relevant for reads, for example, for enabling columnar cache on a read instance. Flags set on read instance might or might not be present on the primary instance. This is a list of "key": "value" pairs. "key": The name of the flag. These flags are passed at instance setup time, so include both server options and system variables for Postgres. Flags are specified with underscores, not hyphens. "value": The value of the flag. Booleans are set to **on** for true and **off** for false. This field must be omitted if the flag doesn't take a value. */ databaseFlags?: {[key: string]: string} | null; /** @@ -1139,7 +1198,7 @@ export namespace alloydb_v1beta { */ endTime?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -1302,6 +1361,23 @@ export namespace alloydb_v1beta { */ validateOnly?: boolean | null; } + /** + * Message for registering Restoring from CloudSQL resource. + */ + export interface Schema$RestoreFromCloudSQLRequest { + /** + * Cluster created from CloudSQL backup run. + */ + cloudsqlBackupRunSource?: Schema$CloudSQLBackupRunSource; + /** + * Required. The resource being created + */ + cluster?: Schema$Cluster; + /** + * Required. ID of the requesting object. + */ + clusterId?: string | null; + } /** * Configuration information for the secondary cluster. This should be set if and only if the cluster is of type SECONDARY. */ @@ -1311,6 +1387,27 @@ export namespace alloydb_v1beta { */ primaryClusterName?: string | null; } + /** + * Options for exporting data in SQL format. + */ + export interface Schema$SqlExportOptions { + /** + * Optional. If true, output commands to DROP all the dumped database objects prior to outputting the commands for creating them. + */ + cleanTargetObjects?: boolean | null; + /** + * Optional. If true, use DROP ... IF EXISTS commands to check for the object's existence before dropping it in clean_target_objects mode. + */ + ifExistTargetObjects?: boolean | null; + /** + * Optional. If true, only export the schema. + */ + schemaOnly?: boolean | null; + /** + * Optional. Tables to export from. + */ + tables?: string[] | null; + } /** * SSL configuration. */ @@ -1538,7 +1635,7 @@ export namespace alloydb_v1beta { uniqueId?: string | null; } /** - * Common model for database resource instance metadata. Next ID: 22 + * Common model for database resource instance metadata. Next ID: 23 */ export interface Schema$StorageDatabasecenterPartnerapiV1mainDatabaseResourceMetadata { /** @@ -1565,6 +1662,10 @@ export namespace alloydb_v1beta { * Any custom metadata associated with the resource */ customMetadata?: Schema$StorageDatabasecenterPartnerapiV1mainCustomMetadataData; + /** + * Optional. Edition represents whether the instance is ENTERPRISE or ENTERPRISE_PLUS. This information is core to Cloud SQL only and is used to identify the edition of the instance. + */ + edition?: string | null; /** * Entitlements associated with the resource */ @@ -1707,6 +1808,10 @@ export namespace alloydb_v1beta { * Optional. Number of shards (if applicable). */ shardCount?: number | null; + /** + * Optional. The number of vCPUs. TODO(b/342344482, b/342346271) add proto validations again after bug fix. + */ + vcpuCount?: number | null; } export interface Schema$StorageDatabasecenterPartnerapiV1mainObservabilityMetricData { /** @@ -1755,6 +1860,10 @@ export namespace alloydb_v1beta { */ retentionUnit?: string | null; timeBasedRetention?: string | null; + /** + * Timestamp based retention period i.e. 2024-05-01T00:00:00Z + */ + timestampBasedRetentionTime?: string | null; } /** * Message type for storing tags. Tags provide a way to create annotations for resources, and in some cases conditionally allow or deny policies based on whether a resource has a specific tag. @@ -3053,6 +3162,94 @@ export namespace alloydb_v1beta { } } + /** + * Exports data from the cluster. Imperative only. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + export( + params: Params$Resource$Projects$Locations$Clusters$Export, + options: StreamMethodOptions + ): GaxiosPromise; + export( + params?: Params$Resource$Projects$Locations$Clusters$Export, + options?: MethodOptions + ): GaxiosPromise; + export( + params: Params$Resource$Projects$Locations$Clusters$Export, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + export( + params: Params$Resource$Projects$Locations$Clusters$Export, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + export( + params: Params$Resource$Projects$Locations$Clusters$Export, + callback: BodyResponseCallback + ): void; + export(callback: BodyResponseCallback): void; + export( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Clusters$Export + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Clusters$Export; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Clusters$Export; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://alloydb.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}:export').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Gets details of a single Cluster. * @@ -3492,6 +3689,94 @@ export namespace alloydb_v1beta { } } + /** + * Restores an AlloyDB cluster from a CloudSQL resource. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + restoreFromCloudSQL( + params: Params$Resource$Projects$Locations$Clusters$Restorefromcloudsql, + options: StreamMethodOptions + ): GaxiosPromise; + restoreFromCloudSQL( + params?: Params$Resource$Projects$Locations$Clusters$Restorefromcloudsql, + options?: MethodOptions + ): GaxiosPromise; + restoreFromCloudSQL( + params: Params$Resource$Projects$Locations$Clusters$Restorefromcloudsql, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + restoreFromCloudSQL( + params: Params$Resource$Projects$Locations$Clusters$Restorefromcloudsql, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + restoreFromCloudSQL( + params: Params$Resource$Projects$Locations$Clusters$Restorefromcloudsql, + callback: BodyResponseCallback + ): void; + restoreFromCloudSQL(callback: BodyResponseCallback): void; + restoreFromCloudSQL( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Clusters$Restorefromcloudsql + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Clusters$Restorefromcloudsql; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Clusters$Restorefromcloudsql; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://alloydb.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta/{+parent}/clusters:restoreFromCloudSQL' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Switches the roles of PRIMARY and SECONDARY clusters without any data loss. This promotes the SECONDARY cluster to PRIMARY and sets up the original PRIMARY cluster to replicate from this newly promoted cluster. * @@ -3740,6 +4025,18 @@ export namespace alloydb_v1beta { */ validateOnly?: boolean; } + export interface Params$Resource$Projects$Locations$Clusters$Export + extends StandardParameters { + /** + * Required. The resource name of the cluster. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ExportClusterRequest; + } export interface Params$Resource$Projects$Locations$Clusters$Get extends StandardParameters { /** @@ -3826,6 +4123,18 @@ export namespace alloydb_v1beta { */ requestBody?: Schema$RestoreClusterRequest; } + export interface Params$Resource$Projects$Locations$Clusters$Restorefromcloudsql + extends StandardParameters { + /** + * Required. The location of the new cluster. For the required format, see the comment on Cluster.name field. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RestoreFromCloudSQLRequest; + } export interface Params$Resource$Projects$Locations$Clusters$Switchover extends StandardParameters { /** @@ -5468,7 +5777,7 @@ export namespace alloydb_v1beta { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/analyticsadmin/v1alpha.ts b/src/apis/analyticsadmin/v1alpha.ts index 2ca97e0340..5b21a89e33 100644 --- a/src/apis/analyticsadmin/v1alpha.ts +++ b/src/apis/analyticsadmin/v1alpha.ts @@ -1435,7 +1435,7 @@ export namespace analyticsadmin_v1alpha { */ export interface Schema$GoogleAnalyticsAdminV1alphaDataRetentionSettings { /** - * The length of time that event-level data is retained. + * Required. The length of time that event-level data is retained. */ eventDataRetention?: string | null; /** @@ -2770,7 +2770,7 @@ export namespace analyticsadmin_v1alpha { */ latestChangeTime?: string | null; /** - * Optional. The maximum number of ChangeHistoryEvent items to return. The service may return fewer than this value, even if there are additional pages. If unspecified, at most 50 items will be returned. The maximum value is 200 (higher values will be coerced to the maximum). + * Optional. The maximum number of ChangeHistoryEvent items to return. If unspecified, at most 50 items will be returned. The maximum value is 200 (higher values will be coerced to the maximum). Note that the service may return a page with fewer items than this value specifies (potentially even zero), and that there still may be additional pages. If you want a particular number of items, you'll need to continue requesting additional pages using `page_token` until you get the needed number. */ pageSize?: number | null; /** @@ -3615,7 +3615,7 @@ export namespace analyticsadmin_v1alpha { } /** - * Searches through all changes to an account or its children given the specified set of filters. + * Searches through all changes to an account or its children given the specified set of filters. Only returns the subset of changes supported by the API. The UI may return additional changes. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/analyticsadmin/v1beta.ts b/src/apis/analyticsadmin/v1beta.ts index 4a004e2223..777730839e 100644 --- a/src/apis/analyticsadmin/v1beta.ts +++ b/src/apis/analyticsadmin/v1beta.ts @@ -671,7 +671,7 @@ export namespace analyticsadmin_v1beta { */ export interface Schema$GoogleAnalyticsAdminV1betaDataRetentionSettings { /** - * The length of time that event-level data is retained. + * Required. The length of time that event-level data is retained. */ eventDataRetention?: string | null; /** @@ -1260,7 +1260,7 @@ export namespace analyticsadmin_v1beta { */ latestChangeTime?: string | null; /** - * Optional. The maximum number of ChangeHistoryEvent items to return. The service may return fewer than this value, even if there are additional pages. If unspecified, at most 50 items will be returned. The maximum value is 200 (higher values will be coerced to the maximum). + * Optional. The maximum number of ChangeHistoryEvent items to return. If unspecified, at most 50 items will be returned. The maximum value is 200 (higher values will be coerced to the maximum). Note that the service may return a page with fewer items than this value specifies (potentially even zero), and that there still may be additional pages. If you want a particular number of items, you'll need to continue requesting additional pages using `page_token` until you get the needed number. */ pageSize?: number | null; /** @@ -1962,7 +1962,7 @@ export namespace analyticsadmin_v1beta { } /** - * Searches through all changes to an account or its children given the specified set of filters. + * Searches through all changes to an account or its children given the specified set of filters. Only returns the subset of changes supported by the API. The UI may return additional changes. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/analyticsdata/v1beta.ts b/src/apis/analyticsdata/v1beta.ts index 15f82a9613..c74a382183 100644 --- a/src/apis/analyticsdata/v1beta.ts +++ b/src/apis/analyticsdata/v1beta.ts @@ -517,6 +517,10 @@ export namespace analyticsdata_v1beta { */ value?: string | null; } + /** + * Filter for empty values. + */ + export interface Schema$EmptyFilter {} /** * An expression to filter dimension or metric values. */ @@ -525,6 +529,10 @@ export namespace analyticsdata_v1beta { * A filter for two values. */ betweenFilter?: Schema$BetweenFilter; + /** + * A filter for empty values such as "(not set)" and "" values. + */ + emptyFilter?: Schema$EmptyFilter; /** * The dimension name or metric name. In most methods, dimensions & metrics can be used for the first time in this field. However in a RunPivotReportRequest, this field must be additionally specified by name in the RunPivotReportRequest's dimensions or metrics. */ diff --git a/src/apis/analyticshub/v1.ts b/src/apis/analyticshub/v1.ts index 411ce384a7..4684071844 100644 --- a/src/apis/analyticshub/v1.ts +++ b/src/apis/analyticshub/v1.ts @@ -127,7 +127,7 @@ export namespace analyticshub_v1 { } /** - * Information about an associated Analytics Hub subscription (https://cloud.google.com/bigquery/docs/analytics-hub-manage-subscriptions). + * Information about an associated [Analytics Hub subscription](https://cloud.google.com/bigquery/docs/analytics-hub-manage-subscriptions). */ export interface Schema$AnalyticsHubSubscriptionInfo { /** @@ -477,6 +477,46 @@ export namespace analyticshub_v1 { */ requestedPolicyVersion?: number | null; } + /** + * Commercial info contains the information about the commercial data products associated with the listing. + */ + export interface Schema$GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo { + /** + * Output only. Details of the Marketplace Data Product associated with the Listing. + */ + cloudMarketplace?: Schema$GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo; + } + /** + * Specifies the details of the Marketplace Data Product associated with the Listing. + */ + export interface Schema$GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfoGoogleCloudMarketplaceInfo { + /** + * Output only. Commercial state of the Marketplace Data Product. + */ + commercialState?: string | null; + /** + * Output only. Resource name of the commercial service associated with the Marketplace Data Product. e.g. example.com + */ + service?: string | null; + } + /** + * Commercial info metadata for this subscription. + */ + export interface Schema$GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo { + /** + * Output only. This is set when the subscription is commercialised via Cloud Marketplace. + */ + cloudMarketplace?: Schema$GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo; + } + /** + * Cloud Marketplace commercial metadata for this subscription. + */ + export interface Schema$GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfoGoogleCloudMarketplaceInfo { + /** + * Resource name of the Marketplace Order. + */ + order?: string | null; + } /** * A subscription resource. If none of `push_config`, `bigquery_config`, or `cloud_storage_config` is set, then the subscriber will pull and ack messages using API methods. At most one of these fields may be set. */ @@ -596,6 +636,10 @@ export namespace analyticshub_v1 { * Optional. Categories of the listing. Up to two categories are allowed. */ categories?: string[] | null; + /** + * Output only. Commercial info contains the information about the commercial data products associated with the listing. + */ + commercialInfo?: Schema$GoogleCloudBigqueryAnalyticshubV1ListingCommercialInfo; /** * Optional. Details of the data provider who owns the source data. */ @@ -989,6 +1033,10 @@ export namespace analyticshub_v1 { * Required. The parent resource path of the Subscription. e.g. `projects/subscriberproject/locations/US` */ destination?: string | null; + /** + * Optional. BigQuery destination dataset to create for the subscriber. + */ + destinationDataset?: Schema$DestinationDataset; /** * Email of the subscriber. */ @@ -1033,6 +1081,10 @@ export namespace analyticshub_v1 { * A subscription represents a subscribers' access to a particular set of published data. It contains references to associated listings, data exchanges, and linked datasets. */ export interface Schema$Subscription { + /** + * Output only. This is set if this is a commercial subscription i.e. if this subscription was created from subscribing to a commercial listing. + */ + commercialInfo?: Schema$GoogleCloudBigqueryAnalyticshubV1SubscriptionCommercialInfo; /** * Output only. Timestamp when the subscription was created. */ diff --git a/src/apis/analyticshub/v1beta1.ts b/src/apis/analyticshub/v1beta1.ts index fe1377bec4..28f297aab6 100644 --- a/src/apis/analyticshub/v1beta1.ts +++ b/src/apis/analyticshub/v1beta1.ts @@ -178,6 +178,15 @@ export namespace analyticshub_v1beta1 { */ role?: string | null; } + /** + * Commercial info metadata for this subscription. + */ + export interface Schema$CommercialInfo { + /** + * Output only. This is set when the subscription is commercialised via Cloud Marketplace. + */ + cloudMarketplace?: Schema$GoogleCloudMarketplaceInfo; + } /** * A data exchange is a container that lets you share data. Along with the descriptive information about the data exchange, it contains listings that reference shared datasets. */ @@ -224,44 +233,6 @@ export namespace analyticshub_v1beta1 { */ primaryContact?: string | null; } - /** - * Defines the destination bigquery dataset. - */ - export interface Schema$DestinationDataset { - /** - * Required. A reference that identifies the destination dataset. - */ - datasetReference?: Schema$DestinationDatasetReference; - /** - * Optional. A user-friendly description of the dataset. - */ - description?: string | null; - /** - * Optional. A descriptive name for the dataset. - */ - friendlyName?: string | null; - /** - * Optional. The labels associated with this dataset. You can use these to organize and group your datasets. You can set this property when inserting or updating a dataset. See https://cloud.google.com/resource-manager/docs/creating-managing-labels for more information. - */ - labels?: {[key: string]: string} | null; - /** - * Required. The geographic location where the dataset should reside. See https://cloud.google.com/bigquery/docs/locations for supported locations. - */ - location?: string | null; - } - /** - * Contains the reference that identifies a destination bigquery dataset. - */ - export interface Schema$DestinationDatasetReference { - /** - * Required. A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters. - */ - datasetId?: string | null; - /** - * Required. The ID of the project containing this dataset. - */ - projectId?: string | null; - } /** * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} */ @@ -305,6 +276,53 @@ export namespace analyticshub_v1beta1 { */ requestedPolicyVersion?: number | null; } + /** + * Defines the destination bigquery dataset. + */ + export interface Schema$GoogleCloudBigqueryDataexchangeV1beta1DestinationDataset { + /** + * Required. A reference that identifies the destination dataset. + */ + datasetReference?: Schema$GoogleCloudBigqueryDataexchangeV1beta1DestinationDatasetReference; + /** + * Optional. A user-friendly description of the dataset. + */ + description?: string | null; + /** + * Optional. A descriptive name for the dataset. + */ + friendlyName?: string | null; + /** + * Optional. The labels associated with this dataset. You can use these to organize and group your datasets. You can set this property when inserting or updating a dataset. See https://cloud.google.com/resource-manager/docs/creating-managing-labels for more information. + */ + labels?: {[key: string]: string} | null; + /** + * Required. The geographic location where the dataset should reside. See https://cloud.google.com/bigquery/docs/locations for supported locations. + */ + location?: string | null; + } + /** + * Contains the reference that identifies a destination bigquery dataset. + */ + export interface Schema$GoogleCloudBigqueryDataexchangeV1beta1DestinationDatasetReference { + /** + * Required. A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters. + */ + datasetId?: string | null; + /** + * Required. The ID of the project containing this dataset. + */ + projectId?: string | null; + } + /** + * Cloud Marketplace commercial metadata for this subscription. + */ + export interface Schema$GoogleCloudMarketplaceInfo { + /** + * Resource name of the Marketplace Order. + */ + order?: string | null; + } /** * Reference to a linked resource tracked by this Subscription. */ @@ -540,7 +558,7 @@ export namespace analyticshub_v1beta1 { /** * BigQuery destination dataset to create for the subscriber. */ - destinationDataset?: Schema$DestinationDataset; + destinationDataset?: Schema$GoogleCloudBigqueryDataexchangeV1beta1DestinationDataset; } /** * Message for response when you subscribe to a listing. @@ -550,6 +568,10 @@ export namespace analyticshub_v1beta1 { * A subscription represents a subscribers' access to a particular set of published data. It contains references to associated listings, data exchanges, and linked datasets. */ export interface Schema$Subscription { + /** + * Output only. This is set if this is a commercial subscription i.e. if this subscription was created from subscribing to a commercial listing. + */ + commercialInfo?: Schema$CommercialInfo; /** * Output only. Timestamp when the subscription was created. */ diff --git a/src/apis/androiddeviceprovisioning/v1.ts b/src/apis/androiddeviceprovisioning/v1.ts index e9b4b01b6d..a839157574 100644 --- a/src/apis/androiddeviceprovisioning/v1.ts +++ b/src/apis/androiddeviceprovisioning/v1.ts @@ -1017,7 +1017,7 @@ export namespace androiddeviceprovisioning_v1 { export interface Params$Resource$Customers$List extends StandardParameters { /** - * The maximum number of customers to show in a page of results. A number between 1 and 100 (inclusive). + * Required. The maximum number of customers to show in a page of results. A number between 1 and 100 (inclusive). */ pageSize?: number; /** @@ -2005,7 +2005,7 @@ export namespace androiddeviceprovisioning_v1 { export interface Params$Resource$Customers$Devices$List extends StandardParameters { /** - * The maximum number of devices to show in a page of results. Must be between 1 and 100 inclusive. + * Required. The maximum number of devices to show in a page of results. Must be between 1 and 100 inclusive. */ pageSize?: string; /** diff --git a/src/apis/androidenterprise/v1.ts b/src/apis/androidenterprise/v1.ts index c2d1eb69ad..404a8a7ac5 100644 --- a/src/apis/androidenterprise/v1.ts +++ b/src/apis/androidenterprise/v1.ts @@ -453,15 +453,6 @@ export namespace androidenterprise_v1 { */ variableSet?: Schema$VariableSet[]; } - /** - * Response message for create enrollment token. - */ - export interface Schema$CreateEnrollmentTokenResponse { - /** - * Enrollment token. - */ - enrollmentToken?: string | null; - } /** * A Devices resource represents a mobile device managed by the EMM and belonging to a specific enterprise user. */ @@ -556,6 +547,23 @@ export namespace androidenterprise_v1 { */ accountState?: string | null; } + /** + * A token used to enroll a device. + */ + export interface Schema$EnrollmentToken { + /** + * [Optional] The length of time the enrollment token is valid, ranging from 1 minute to [`Durations.MAX_VALUE`](https://developers.google.com/protocol-buffers/docs/reference/java/com/google/protobuf/util/Durations.html#MAX_VALUE), approximately 10,000 years. If not specified, the default duration is 1 hour. + */ + duration?: string | null; + /** + * [Required] The type of the enrollment token. + */ + enrollmentTokenType?: string | null; + /** + * The token value that's passed to the device and authorizes the device to enroll. This is a read-only field generated by the server. + */ + token?: string | null; + } /** * An Enterprises resource represents the binding between an EMM and a specific organization. That binding can be instantiated in one of two different ways using this API as follows: - For Google managed domain customers, the process involves using Enterprises.enroll and Enterprises.setAccount (in conjunction with artifacts obtained from the Admin console and the Google API Console) and submitted to the EMM through a more-or-less manual process. - For managed Google Play Accounts customers, the process involves using Enterprises.generateSignupUrl and Enterprises.completeSignup in conjunction with the managed Google Play sign-up UI (Google-provided mechanism) to create the binding without manual steps. As an EMM, you can support either or both approaches in your EMM console. See Create an Enterprise for details. */ @@ -1024,7 +1032,7 @@ export namespace androidenterprise_v1 { */ export interface Schema$Policy { /** - * Controls when automatic app updates on the device can be applied. Recommended alternative: autoUpdateMode which is set per app, provides greater flexibility around update frequency. When autoUpdateMode is set to AUTO_UPDATE_POSTPONED or AUTO_UPDATE_HIGH_PRIORITY, autoUpdatePolicy has no effect. "choiceToTheUser" allows the device's user to configure the app update policy. "always" enables auto updates. "never" disables auto updates. "wifiOnly" enables auto updates only when the device is connected to wifi. + * Controls when automatic app updates on the device can be applied. Recommended alternative: autoUpdateMode which is set per app, provides greater flexibility around update frequency. When autoUpdateMode is set to AUTO_UPDATE_POSTPONED or AUTO_UPDATE_HIGH_PRIORITY, autoUpdatePolicy has no effect. - choiceToTheUser allows the device's user to configure the app update policy. - always enables auto updates. - never disables auto updates. - wifiOnly enables auto updates only when the device is connected to wifi. *Important:* Changes to app update policies don't affect updates that are in progress. Any policy changes will apply to subsequent app updates. */ autoUpdatePolicy?: string | null; /** @@ -1035,6 +1043,10 @@ export namespace androidenterprise_v1 { * The maintenance window defining when apps running in the foreground should be updated. */ maintenanceWindow?: Schema$MaintenanceWindow; + /** + * An identifier for the policy that will be passed with the app install feedback sent from the Play Store. + */ + policyId?: string | null; /** * The availability granted to the device for the specified products. "all" gives the device access to all products, regardless of approval status. "all" does not enable automatic visibility of "alpha" or "beta" tracks. "whitelist" grants the device access the products specified in productPolicy[]. Only products that are approved or products that were previously approved (products with revoked approval) by the enterprise can be whitelisted. If no value is provided, the availability set at the user level is applied by default. */ @@ -2381,7 +2393,7 @@ export namespace androidenterprise_v1 { createEnrollmentToken( params?: Params$Resource$Enterprises$Createenrollmenttoken, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; createEnrollmentToken( params: Params$Resource$Enterprises$Createenrollmenttoken, options: StreamMethodOptions | BodyResponseCallback, @@ -2389,35 +2401,30 @@ export namespace androidenterprise_v1 { ): void; createEnrollmentToken( params: Params$Resource$Enterprises$Createenrollmenttoken, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; createEnrollmentToken( params: Params$Resource$Enterprises$Createenrollmenttoken, - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; createEnrollmentToken( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; createEnrollmentToken( paramsOrCallback?: | Params$Resource$Enterprises$Createenrollmenttoken - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || {}) as Params$Resource$Enterprises$Createenrollmenttoken; let options = (optionsOrCallback || {}) as MethodOptions; @@ -2453,14 +2460,12 @@ export namespace androidenterprise_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } @@ -3575,13 +3580,14 @@ export namespace androidenterprise_v1 { export interface Params$Resource$Enterprises$Createenrollmenttoken extends StandardParameters { /** - * Whether it’s a dedicated device or a knowledge worker device. + * Required. The ID of the enterprise. */ - deviceType?: string; + enterpriseId?: string; + /** - * The ID of the enterprise. + * Request body metadata */ - enterpriseId?: string; + requestBody?: Schema$EnrollmentToken; } export interface Params$Resource$Enterprises$Createwebtoken extends StandardParameters { diff --git a/src/apis/androidmanagement/v1.ts b/src/apis/androidmanagement/v1.ts index 4462554679..cb0cda7c3c 100644 --- a/src/apis/androidmanagement/v1.ts +++ b/src/apis/androidmanagement/v1.ts @@ -1282,7 +1282,7 @@ export namespace androidmanagement_v1 { termsAndConditions?: Schema$TermsAndConditions[]; } /** - * Configuration to enable an app as an extension app, with the capability of interacting with Android Device Policy offline. For Android versions 13 and above, extension apps are exempt from battery restrictions so will not be placed into the restricted App Standby Bucket (https://developer.android.com/topic/performance/appstandby#restricted-bucket). Extensions apps are also protected against users clearing their data or force-closing the application, although admins can continue to use the clear app data command on extension apps if needed for Android 13 and above. + * Configuration to enable an app as an extension app, with the capability of interacting with Android Device Policy offline. For Android versions 11 and above, extension apps are exempt from battery restrictions so will not be placed into the restricted App Standby Bucket (https://developer.android.com/topic/performance/appstandby#restricted-bucket). Extensions apps are also protected against users clearing their data or force-closing the application, although admins can continue to use the clear app data command on extension apps if needed for Android 11 and above. */ export interface Schema$ExtensionConfig { /** @@ -2209,6 +2209,10 @@ export namespace androidmanagement_v1 { * Used together with personalApplications to control how apps in the personal profile are allowed or blocked. */ personalPlayStoreMode?: string | null; + /** + * Optional. Controls whether a private space is allowed on the device. + */ + privateSpacePolicy?: string | null; /** * If true, screen capture is disabled for all users. */ @@ -2223,7 +2227,7 @@ export namespace androidmanagement_v1 { */ accountTypesWithManagementDisabled?: string[] | null; /** - * Whether adding new users and profiles is disabled. + * Whether adding new users and profiles is disabled. For devices where managementMode is DEVICE_OWNER this field is ignored and the user is never allowed to add or remove users. */ addUserDisabled?: boolean | null; /** @@ -2371,7 +2375,7 @@ export namespace androidmanagement_v1 { */ installUnknownSourcesAllowed?: boolean | null; /** - * If true, this disables the Lock Screen (https://source.android.com/docs/core/display/multi_display/lock-screen) for primary and/or secondary displays. + * If true, this disables the Lock Screen (https://source.android.com/docs/core/display/multi_display/lock-screen) for primary and/or secondary displays. This policy is supported only in dedicated device management mode. */ keyguardDisabled?: boolean | null; /** @@ -6770,6 +6774,10 @@ export namespace androidmanagement_v1 { * Optional. Email address used to prefill the admin field of the enterprise signup form. This value is a hint only and can be altered by the user. */ adminEmail?: string; + /** + * Optional. A list of domains that are permitted for the admin email. The IT admin cannot enter an email address with a domain name that is not in this list. Subdomains of domains in this list are not allowed but can be allowed by adding a second entry which has *. prefixed to the domain name (e.g. *.example.com). If the field is not present or is an empty list then the IT admin is free to use any valid domain name. Personal email domains are always allowed, but will result in the creation of a managed Google Play Accounts enterprise. + */ + allowedDomains?: string[]; /** * The callback URL that the admin will be redirected to after successfully creating an enterprise. Before redirecting there the system will add a query parameter to this URL named enterpriseToken which will contain an opaque token to be used for the create enterprise request. The URL will be parsed then reformatted in order to add the enterpriseToken parameter, so there may be some minor formatting changes. */ diff --git a/src/apis/androidpublisher/v3.ts b/src/apis/androidpublisher/v3.ts index 3a35d7962e..107681a501 100644 --- a/src/apis/androidpublisher/v3.ts +++ b/src/apis/androidpublisher/v3.ts @@ -517,7 +517,7 @@ export namespace androidpublisher_v3 { */ export interface Schema$AutoRenewingBasePlanType { /** - * Optional. Account hold period of the subscription, specified in ISO 8601 format. Acceptable values must be in DAYS and in the range P0D (zero days) to P30D (30 days). If not specified, the default value is P30D (30 days). + * Optional. Account hold period of the subscription, specified in ISO 8601 format. Acceptable values must be in days and between P0D and P60D. If not specified, the default value is P30D. The sum of gracePeriodDuration and accountHoldDuration must be between P30D and P60D days, inclusive. */ accountHoldDuration?: string | null; /** @@ -525,7 +525,7 @@ export namespace androidpublisher_v3 { */ billingPeriodDuration?: string | null; /** - * Grace period of the subscription, specified in ISO 8601 format. Acceptable values are P0D (zero days), P3D (3 days), P7D (7 days), P14D (14 days), and P30D (30 days). If not specified, a default value will be used based on the recurring period duration. + * Grace period of the subscription, specified in ISO 8601 format. Acceptable values must be in days and between P0D and the lesser of 30D and base plan billing period. If not specified, a default value will be used based on the billing period. The sum of gracePeriodDuration and accountHoldDuration must be between P30D and P60D days, inclusive. */ gracePeriodDuration?: string | null; /** @@ -561,6 +561,10 @@ export namespace androidpublisher_v3 { * The information of the last price change for the item since subscription signup. */ priceChangeDetails?: Schema$SubscriptionItemPriceChangeDetails; + /** + * The current recurring price of the auto renewing plan. + */ + recurringPrice?: Schema$Money; } /** * A single base plan for a subscription. @@ -1108,6 +1112,10 @@ export namespace androidpublisher_v3 { * A device needs to have all these system features to be included by the selector. */ requiredSystemFeatures?: Schema$SystemFeature[]; + /** + * Optional. The SoCs included by this selector. Only works for Android S+ devices. + */ + systemOnChips?: Schema$SystemOnChip[]; } /** * The device spec used to generate a system APK. @@ -1780,7 +1788,7 @@ export namespace androidpublisher_v3 { */ export interface Schema$InstallmentsBasePlanType { /** - * Optional. Account hold period of the subscription, specified exclusively in days and in ISO 8601 format. Acceptable values are P0D (zero days) to P30D (30days). If not specified, the default value is P30D (30 days). + * Optional. Account hold period of the subscription, specified in ISO 8601 format. Acceptable values must be in days and between P0D and P60D. If not specified, the default value is P30D. The sum of gracePeriodDuration and accountHoldDuration must be between P30D and P60D days, inclusive. */ accountHoldDuration?: string | null; /** @@ -1792,7 +1800,7 @@ export namespace androidpublisher_v3 { */ committedPaymentsCount?: number | null; /** - * Grace period of the subscription, specified in ISO 8601 format. Acceptable values are P0D (zero days), P3D (3 days), P7D (7 days), P14D (14 days), and P30D (30 days). If not specified, a default value will be used based on the recurring period duration. + * Grace period of the subscription, specified in ISO 8601 format. Acceptable values must be in days and between P0D and the lesser of 30D and base plan billing period. If not specified, a default value will be used based on the billing period. The sum of gracePeriodDuration and accountHoldDuration must be between P30D and P60D days, inclusive. */ gracePeriodDuration?: string | null; /** @@ -2122,7 +2130,7 @@ export namespace androidpublisher_v3 { offerTags?: string[] | null; } /** - * Represents a custom tag specified for base plans and subscription offers. + * Represents a custom tag specified for a product offer. */ export interface Schema$OfferTag { /** @@ -2130,6 +2138,10 @@ export namespace androidpublisher_v3 { */ tag?: string | null; } + /** + * A single use promotion code. + */ + export interface Schema$OneTimeCode {} /** * Represents a one-time transaction. */ @@ -2720,6 +2732,19 @@ export namespace androidpublisher_v3 { */ value?: Schema$SdkVersion[]; } + /** + * The promotion applied on this item when purchased. + */ + export interface Schema$SignupPromotion { + /** + * A one-time code was applied. + */ + oneTimeCode?: Schema$OneTimeCode; + /** + * A vanity code was applied. + */ + vanityCode?: Schema$VanityCode; + } /** * Holds data specific to Split APKs. */ @@ -3126,6 +3151,10 @@ export namespace androidpublisher_v3 { * The purchased product ID (for example, 'monthly001'). */ productId?: string | null; + /** + * Promotion details about this item. Only set if a promotion was applied during signup. + */ + signupPromotion?: Schema$SignupPromotion; } /** * Request for the purchases.subscriptions.acknowledge API. @@ -3269,6 +3298,19 @@ export namespace androidpublisher_v3 { * Information specific to cancellations initiated by Google system. */ export interface Schema$SystemInitiatedCancellation {} + /** + * Representation of a System-on-Chip (SoC) of an Android device. Can be used to target S+ devices. + */ + export interface Schema$SystemOnChip { + /** + * Required. The designer of the SoC, eg. "Google" Value of build property "ro.soc.manufacturer" https://developer.android.com/reference/android/os/Build#SOC_MANUFACTURER Required. + */ + manufacturer?: string | null; + /** + * Required. The model of the SoC, eg. "Tensor" Value of build property "ro.soc.model" https://developer.android.com/reference/android/os/Build#SOC_MODEL Required. + */ + model?: string | null; + } /** * Targeting details for a recovery action such as regions, android sdk levels, app versions etc. */ @@ -3744,6 +3786,15 @@ export namespace androidpublisher_v3 { */ name?: string | null; } + /** + * A multiple use, predefined promotion code. + */ + export interface Schema$VanityCode { + /** + * The promotion code. + */ + promotionCode?: string | null; + } /** * APK that is suitable for inclusion in a system image. The resource of SystemApksService. */ diff --git a/src/apis/apigateway/v1.ts b/src/apis/apigateway/v1.ts index 0c9b96b9b1..6a80568b1b 100644 --- a/src/apis/apigateway/v1.ts +++ b/src/apis/apigateway/v1.ts @@ -494,7 +494,7 @@ export namespace apigateway_v1 { */ endTime?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -3351,7 +3351,7 @@ export namespace apigateway_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/apigateway/v1beta.ts b/src/apis/apigateway/v1beta.ts index a8bd2f3be2..337f59b7fb 100644 --- a/src/apis/apigateway/v1beta.ts +++ b/src/apis/apigateway/v1beta.ts @@ -516,7 +516,7 @@ export namespace apigateway_v1beta { */ endTime?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -3379,7 +3379,7 @@ export namespace apigateway_v1beta { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/apikeys/v2.ts b/src/apis/apikeys/v2.ts index bcf803a10f..b819940b55 100644 --- a/src/apis/apikeys/v2.ts +++ b/src/apis/apikeys/v2.ts @@ -268,6 +268,10 @@ export namespace apikeys_v2 { * Key restrictions. */ restrictions?: Schema$V2Restrictions; + /** + * Optional. The email address of [the service account](https://cloud.google.com/iam/docs/service-accounts) the key is bound to. + */ + serviceAccountEmail?: string | null; /** * Output only. Unique id in UUID4 format. */ diff --git a/src/apis/appengine/v1.ts b/src/apis/appengine/v1.ts index 4ceae0106f..51344929a7 100644 --- a/src/apis/appengine/v1.ts +++ b/src/apis/appengine/v1.ts @@ -1369,6 +1369,23 @@ export namespace appengine_v1 { */ targetRequestCountPerSecond?: number | null; } + /** + * The request that is passed to CLH during per-resource events. The request will be sent with update semantics in all cases except for data governance purge events. These events will be sent with delete semantics and the CLH is expected to delete the resource receiving this event. + */ + export interface Schema$ResourceEvent { + /** + * The unique ID for this per-resource event. CLHs can use this value to dedup repeated calls. required + */ + eventId?: string | null; + /** + * The name of the resource for which this event is. required + */ + name?: string | null; + /** + * The state of the project that led to this event. + */ + state?: Schema$ContainerState; + } /** * A DNS resource record. */ @@ -6101,12 +6118,16 @@ export namespace appengine_v1 { export class Resource$Projects$Locations$Applications { context: APIRequestContext; authorizedDomains: Resource$Projects$Locations$Applications$Authorizeddomains; + services: Resource$Projects$Locations$Applications$Services; constructor(context: APIRequestContext) { this.context = context; this.authorizedDomains = new Resource$Projects$Locations$Applications$Authorizeddomains( this.context ); + this.services = new Resource$Projects$Locations$Applications$Services( + this.context + ); } } @@ -6238,4 +6259,267 @@ export namespace appengine_v1 { */ projectsId?: string; } + + export class Resource$Projects$Locations$Applications$Services { + context: APIRequestContext; + versions: Resource$Projects$Locations$Applications$Services$Versions; + constructor(context: APIRequestContext) { + this.context = context; + this.versions = + new Resource$Projects$Locations$Applications$Services$Versions( + this.context + ); + } + + /** + * Deletes the specified service and all enclosed versions. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Applications$Services$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Applications$Services$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Applications$Services$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Applications$Services$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Applications$Services$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Applications$Services$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Applications$Services$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Applications$Services$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: [ + 'projectsId', + 'locationsId', + 'applicationsId', + 'servicesId', + ], + pathParams: [ + 'applicationsId', + 'locationsId', + 'projectsId', + 'servicesId', + ], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Applications$Services$Delete + extends StandardParameters { + /** + * Part of `name`. See documentation of `projectsId`. + */ + applicationsId?: string; + /** + * Part of `name`. See documentation of `projectsId`. + */ + locationsId?: string; + /** + * Part of `name`. Name of the resource requested. Example: apps/myapp/services/default. + */ + projectsId?: string; + /** + * Part of `name`. See documentation of `projectsId`. + */ + servicesId?: string; + } + + export class Resource$Projects$Locations$Applications$Services$Versions { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Deletes an existing Version resource. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Applications$Services$Versions$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Applications$Services$Versions$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Applications$Services$Versions$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Applications$Services$Versions$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Applications$Services$Versions$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Applications$Services$Versions$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Applications$Services$Versions$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Applications$Services$Versions$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v1/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}/versions/{versionsId}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: [ + 'projectsId', + 'locationsId', + 'applicationsId', + 'servicesId', + 'versionsId', + ], + pathParams: [ + 'applicationsId', + 'locationsId', + 'projectsId', + 'servicesId', + 'versionsId', + ], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Applications$Services$Versions$Delete + extends StandardParameters { + /** + * Part of `name`. See documentation of `projectsId`. + */ + applicationsId?: string; + /** + * Part of `name`. See documentation of `projectsId`. + */ + locationsId?: string; + /** + * Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. + */ + projectsId?: string; + /** + * Part of `name`. See documentation of `projectsId`. + */ + servicesId?: string; + /** + * Part of `name`. See documentation of `projectsId`. + */ + versionsId?: string; + } } diff --git a/src/apis/appengine/v1alpha.ts b/src/apis/appengine/v1alpha.ts index 3abea33bcc..4a2cc64169 100644 --- a/src/apis/appengine/v1alpha.ts +++ b/src/apis/appengine/v1alpha.ts @@ -611,6 +611,23 @@ export namespace appengine_v1alpha { serviceActivation?: string | null; serviceManagement?: string | null; } + /** + * The request that is passed to CLH during per-resource events. The request will be sent with update semantics in all cases except for data governance purge events. These events will be sent with delete semantics and the CLH is expected to delete the resource receiving this event. + */ + export interface Schema$ResourceEvent { + /** + * The unique ID for this per-resource event. CLHs can use this value to dedup repeated calls. required + */ + eventId?: string | null; + /** + * The name of the resource for which this event is. required + */ + name?: string | null; + /** + * The state of the project that led to this event. + */ + state?: Schema$ContainerState; + } /** * A DNS resource record. */ diff --git a/src/apis/appengine/v1beta.ts b/src/apis/appengine/v1beta.ts index cc94b60f3f..0c26348df1 100644 --- a/src/apis/appengine/v1beta.ts +++ b/src/apis/appengine/v1beta.ts @@ -1411,6 +1411,23 @@ export namespace appengine_v1beta { */ targetRequestCountPerSecond?: number | null; } + /** + * The request that is passed to CLH during per-resource events. The request will be sent with update semantics in all cases except for data governance purge events. These events will be sent with delete semantics and the CLH is expected to delete the resource receiving this event. + */ + export interface Schema$ResourceEvent { + /** + * The unique ID for this per-resource event. CLHs can use this value to dedup repeated calls. required + */ + eventId?: string | null; + /** + * The name of the resource for which this event is. required + */ + name?: string | null; + /** + * The state of the project that led to this event. + */ + state?: Schema$ContainerState; + } /** * A DNS resource record. */ @@ -6369,12 +6386,16 @@ export namespace appengine_v1beta { export class Resource$Projects$Locations$Applications { context: APIRequestContext; authorizedDomains: Resource$Projects$Locations$Applications$Authorizeddomains; + services: Resource$Projects$Locations$Applications$Services; constructor(context: APIRequestContext) { this.context = context; this.authorizedDomains = new Resource$Projects$Locations$Applications$Authorizeddomains( this.context ); + this.services = new Resource$Projects$Locations$Applications$Services( + this.context + ); } } @@ -6507,6 +6528,269 @@ export namespace appengine_v1beta { projectsId?: string; } + export class Resource$Projects$Locations$Applications$Services { + context: APIRequestContext; + versions: Resource$Projects$Locations$Applications$Services$Versions; + constructor(context: APIRequestContext) { + this.context = context; + this.versions = + new Resource$Projects$Locations$Applications$Services$Versions( + this.context + ); + } + + /** + * Deletes the specified service and all enclosed versions. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Applications$Services$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Applications$Services$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Applications$Services$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Applications$Services$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Applications$Services$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Applications$Services$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Applications$Services$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Applications$Services$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v1beta/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: [ + 'projectsId', + 'locationsId', + 'applicationsId', + 'servicesId', + ], + pathParams: [ + 'applicationsId', + 'locationsId', + 'projectsId', + 'servicesId', + ], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Applications$Services$Delete + extends StandardParameters { + /** + * Part of `name`. See documentation of `projectsId`. + */ + applicationsId?: string; + /** + * Part of `name`. See documentation of `projectsId`. + */ + locationsId?: string; + /** + * Part of `name`. Name of the resource requested. Example: apps/myapp/services/default. + */ + projectsId?: string; + /** + * Part of `name`. See documentation of `projectsId`. + */ + servicesId?: string; + } + + export class Resource$Projects$Locations$Applications$Services$Versions { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Deletes an existing Version resource. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Applications$Services$Versions$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Applications$Services$Versions$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Applications$Services$Versions$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Applications$Services$Versions$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Applications$Services$Versions$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Applications$Services$Versions$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Applications$Services$Versions$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Applications$Services$Versions$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://appengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v1beta/projects/{projectsId}/locations/{locationsId}/applications/{applicationsId}/services/{servicesId}/versions/{versionsId}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: [ + 'projectsId', + 'locationsId', + 'applicationsId', + 'servicesId', + 'versionsId', + ], + pathParams: [ + 'applicationsId', + 'locationsId', + 'projectsId', + 'servicesId', + 'versionsId', + ], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Applications$Services$Versions$Delete + extends StandardParameters { + /** + * Part of `name`. See documentation of `projectsId`. + */ + applicationsId?: string; + /** + * Part of `name`. See documentation of `projectsId`. + */ + locationsId?: string; + /** + * Part of `name`. Name of the resource requested. Example: apps/myapp/services/default/versions/v1. + */ + projectsId?: string; + /** + * Part of `name`. See documentation of `projectsId`. + */ + servicesId?: string; + /** + * Part of `name`. See documentation of `projectsId`. + */ + versionsId?: string; + } + export class Resource$Projects$Locations$Operations { context: APIRequestContext; constructor(context: APIRequestContext) { diff --git a/src/apis/apphub/v1.ts b/src/apis/apphub/v1.ts index 362c08328a..9130424c72 100644 --- a/src/apis/apphub/v1.ts +++ b/src/apis/apphub/v1.ts @@ -125,7 +125,7 @@ export namespace apphub_v1 { } /** - * Application defines the governance boundary for App Hub Entities that perform a logical end-to-end business function. App Hub supports application level IAM permission to align with governance requirements. + * Application defines the governance boundary for App Hub entities that perform a logical end-to-end business function. App Hub supports application level IAM permission to align with governance requirements. */ export interface Schema$Application { /** @@ -145,7 +145,7 @@ export namespace apphub_v1 { */ displayName?: string | null; /** - * Identifier. The resource name of an Application. Format: "projects/{host-project-id\}/locations/{location\}/applications/{application-id\}" + * Identifier. The resource name of an Application. Format: `"projects/{host-project-id\}/locations/{location\}/applications/{application-id\}"` */ name?: string | null; /** @@ -165,6 +165,31 @@ export namespace apphub_v1 { */ updateTime?: string | null; } + /** + * Provides the mapping of a cloud asset to a direct physical location or to a proxy that defines the location on its behalf. + */ + export interface Schema$AssetLocation { + /** + * Spanner path of the CCFE RMS database. It is only applicable for CCFE tenants that use CCFE RMS for storing resource metadata. + */ + ccfeRmsPath?: string | null; + /** + * Defines the customer expectation around ZI/ZS for this asset and ZI/ZS state of the region at the time of asset creation. + */ + expected?: Schema$IsolationExpectations; + /** + * Defines extra parameters required for specific asset types. + */ + extraParameters?: Schema$ExtraParameter[]; + /** + * Contains all kinds of physical location definitions for this asset. + */ + locationData?: Schema$LocationData[]; + /** + * Defines parents assets if any in order to allow later generation of child_asset_location data via child assets. + */ + parentAsset?: Schema$CloudAsset[]; + } /** * Consumer provided attributes. */ @@ -233,10 +258,23 @@ export namespace apphub_v1 { */ role?: string | null; } + /** + * Policy ID that identified data placement in Blobstore as per go/blobstore-user-guide#data-metadata-placement-and-failure-domains + */ + export interface Schema$BlobstoreLocation { + policyId?: string[] | null; + } /** * The request message for Operations.CancelOperation. */ export interface Schema$CancelOperationRequest {} + export interface Schema$CloudAsset { + assetName?: string | null; + assetType?: string | null; + } + export interface Schema$CloudAssetComposition { + childAsset?: Schema$CloudAsset[]; + } /** * Contact information of stakeholders. */ @@ -267,12 +305,15 @@ export namespace apphub_v1 { * Response for DetachServiceProjectAttachment. */ export interface Schema$DetachServiceProjectAttachmentResponse {} + export interface Schema$DirectLocationAssignment { + location?: Schema$LocationAssignment[]; + } /** - * DiscoveredService is a network/api interface that exposes some functionality to clients for consumption over the network. A discovered service can be registered to a App Hub service. + * DiscoveredService is a network or API interface that exposes some functionality to clients for consumption over the network. A discovered service can be registered to a App Hub service. */ export interface Schema$DiscoveredService { /** - * Identifier. The resource name of the discovered service. Format: "projects/{host-project-id\}/locations/{location\}/discoveredServices/{uuid\}"" + * Identifier. The resource name of the discovered service. Format: `"projects/{host-project-id\}/locations/{location\}/discoveredServices/{uuid\}"` */ name?: string | null; /** @@ -289,7 +330,7 @@ export namespace apphub_v1 { */ export interface Schema$DiscoveredWorkload { /** - * Identifier. The resource name of the discovered workload. Format: "projects/{host-project-id\}/locations/{location\}/discoveredWorkloads/{uuid\}" + * Identifier. The resource name of the discovered workload. Format: `"projects/{host-project-id\}/locations/{location\}/discoveredWorkloads/{uuid\}"` */ name?: string | null; /** @@ -335,6 +376,34 @@ export namespace apphub_v1 { */ title?: string | null; } + /** + * Defines parameters that should only be used for specific asset types. + */ + export interface Schema$ExtraParameter { + /** + * Details about zones used by regional compute.googleapis.com/InstanceGroupManager to create instances. + */ + regionalMigDistributionPolicy?: Schema$RegionalMigDistributionPolicy; + } + export interface Schema$IsolationExpectations { + /** + * Explicit overrides for ZI and ZS requirements to be used for resources that should be excluded from ZI/ZS verification logic. + */ + requirementOverride?: Schema$RequirementOverride; + ziOrgPolicy?: string | null; + ziRegionPolicy?: string | null; + ziRegionState?: string | null; + /** + * Deprecated: use zi_org_policy, zi_region_policy and zi_region_state instead for setting ZI expectations as per go/zicy-publish-physical-location. + */ + zoneIsolation?: string | null; + /** + * Deprecated: use zs_org_policy, and zs_region_stateinstead for setting Zs expectations as per go/zicy-publish-physical-location. + */ + zoneSeparation?: string | null; + zsOrgPolicy?: string | null; + zsRegionState?: string | null; + } /** * Response for ListApplications. */ @@ -488,6 +557,18 @@ export namespace apphub_v1 { */ name?: string | null; } + export interface Schema$LocationAssignment { + location?: string | null; + locationType?: string | null; + } + export interface Schema$LocationData { + blobstoreLocation?: Schema$BlobstoreLocation; + childAssetLocation?: Schema$CloudAssetComposition; + directLocation?: Schema$DirectLocationAssignment; + gcpProjectProxy?: Schema$TenantProjectProxy; + placerLocation?: Schema$PlacerLocation; + spannerLocation?: Schema$SpannerLocation; + } /** * Response for LookupDiscoveredService. */ @@ -573,6 +654,15 @@ export namespace apphub_v1 { */ verb?: string | null; } + /** + * Message describing that the location of the customer resource is tied to placer allocations + */ + export interface Schema$PlacerLocation { + /** + * Directory with a config related to it in placer (e.g. "/placer/prod/home/my-root/my-dir") + */ + placerConfig?: string | null; + } /** * An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] \}, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", \} \} ], "etag": "BwWWja0YfJA=", "version": 3 \} ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). */ @@ -607,6 +697,23 @@ export namespace apphub_v1 { */ exclusiveAction?: string | null; } + /** + * To be used for specifying the intended distribution of regional compute.googleapis.com/InstanceGroupManager instances + */ + export interface Schema$RegionalMigDistributionPolicy { + /** + * The shape in which the group converges around distribution of resources. Instance of proto2 enum + */ + targetShape?: number | null; + /** + * Cloud zones used by regional MIG to create instances. + */ + zones?: Schema$ZoneConfiguration[]; + } + export interface Schema$RequirementOverride { + ziOverride?: string | null; + zsOverride?: string | null; + } /** * Scope of an application. */ @@ -617,7 +724,7 @@ export namespace apphub_v1 { type?: string | null; } /** - * Service is an App Hub data model that contains a discovered service, which represents a network/api interface that exposes some functionality to clients for consumption over the network. + * Service is an App Hub data model that contains a discovered service, which represents a network or API interface that exposes some functionality to clients for consumption over the network. */ export interface Schema$Service { /** @@ -641,7 +748,7 @@ export namespace apphub_v1 { */ displayName?: string | null; /** - * Identifier. The resource name of a Service. Format: "projects/{host-project-id\}/locations/{location\}/applications/{application-id\}/services/{service-id\}" + * Identifier. The resource name of a Service. Format: `"projects/{host-project-id\}/locations/{location\}/applications/{application-id\}/services/{service-id\}"` */ name?: string | null; /** @@ -674,11 +781,11 @@ export namespace apphub_v1 { */ createTime?: string | null; /** - * Identifier. The resource name of a ServiceProjectAttachment. Format: "projects/{host-project-id\}/locations/global/serviceProjectAttachments/{service-project-id\}." + * Identifier. The resource name of a ServiceProjectAttachment. Format: `"projects/{host-project-id\}/locations/global/serviceProjectAttachments/{service-project-id\}."` */ name?: string | null; /** - * Required. Immutable. Service project name in the format: "projects/abc" or "projects/123". As input, project name with either project id or number are accepted. As output, this field will contain project number. + * Required. Immutable. Service project name in the format: `"projects/abc"` or `"projects/123"`. As input, project name with either project id or number are accepted. As output, this field will contain project number. */ serviceProject?: string | null; /** @@ -712,7 +819,7 @@ export namespace apphub_v1 { */ export interface Schema$ServiceReference { /** - * Output only. The underlying resource URI (For example, URI of Forwarding Rule, URL Map, and Backend Service). + * Output only. The underlying resource URI. For example, URI of Forwarding Rule, URL Map, and Backend Service. */ uri?: string | null; } @@ -729,6 +836,16 @@ export namespace apphub_v1 { */ updateMask?: string | null; } + export interface Schema$SpannerLocation { + /** + * Set of backups used by the resource with name in the same format as what is available at http://table/spanner_automon.backup_metadata + */ + backupName?: string[] | null; + /** + * Set of databases used by the resource in format /span// + */ + dbName?: string[] | null; + } /** * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). */ @@ -746,6 +863,9 @@ export namespace apphub_v1 { */ message?: string | null; } + export interface Schema$TenantProjectProxy { + projectNumbers?: string[] | null; + } /** * Request message for `TestIamPermissions` method. */ @@ -789,7 +909,7 @@ export namespace apphub_v1 { */ displayName?: string | null; /** - * Identifier. The resource name of the Workload. Format: "projects/{host-project-id\}/locations/{location\}/applications/{application-id\}/workloads/{workload-id\}" + * Identifier. The resource name of the Workload. Format: `"projects/{host-project-id\}/locations/{location\}/applications/{application-id\}/workloads/{workload-id\}"` */ name?: string | null; /** @@ -818,15 +938,15 @@ export namespace apphub_v1 { */ export interface Schema$WorkloadProperties { /** - * Output only. The service project identifier that the underlying cloud resource resides in. Empty for non cloud resources. + * Output only. The service project identifier that the underlying cloud resource resides in. Empty for non-cloud resources. */ gcpProject?: string | null; /** - * Output only. The location that the underlying compute resource resides in (e.g us-west1). + * Output only. The location that the underlying compute resource resides in (for example, us-west1). */ location?: string | null; /** - * Output only. The location that the underlying compute resource resides in if it is zonal (e.g us-west1-a). + * Output only. The location that the underlying compute resource resides in if it is zonal (for example, us-west1-a). */ zone?: string | null; } @@ -839,6 +959,9 @@ export namespace apphub_v1 { */ uri?: string | null; } + export interface Schema$ZoneConfiguration { + zone?: string | null; + } export class Resource$Projects { context: APIRequestContext; @@ -2091,7 +2214,7 @@ export namespace apphub_v1 { export interface Params$Resource$Projects$Locations$Applications$Patch extends StandardParameters { /** - * Identifier. The resource name of an Application. Format: "projects/{host-project-id\}/locations/{location\}/applications/{application-id\}" + * Identifier. The resource name of an Application. Format: `"projects/{host-project-id\}/locations/{location\}/applications/{application-id\}"` */ name?: string; /** @@ -2645,7 +2768,7 @@ export namespace apphub_v1 { export interface Params$Resource$Projects$Locations$Applications$Services$Patch extends StandardParameters { /** - * Identifier. The resource name of a Service. Format: "projects/{host-project-id\}/locations/{location\}/applications/{application-id\}/services/{service-id\}" + * Identifier. The resource name of a Service. Format: `"projects/{host-project-id\}/locations/{location\}/applications/{application-id\}/services/{service-id\}"` */ name?: string; /** @@ -3175,7 +3298,7 @@ export namespace apphub_v1 { export interface Params$Resource$Projects$Locations$Applications$Workloads$Patch extends StandardParameters { /** - * Identifier. The resource name of the Workload. Format: "projects/{host-project-id\}/locations/{location\}/applications/{application-id\}/workloads/{workload-id\}" + * Identifier. The resource name of the Workload. Format: `"projects/{host-project-id\}/locations/{location\}/applications/{application-id\}/workloads/{workload-id\}"` */ name?: string; /** diff --git a/src/apis/apphub/v1alpha.ts b/src/apis/apphub/v1alpha.ts index dbcbce31d5..60219b6f7a 100644 --- a/src/apis/apphub/v1alpha.ts +++ b/src/apis/apphub/v1alpha.ts @@ -125,7 +125,7 @@ export namespace apphub_v1alpha { } /** - * Application defines the governance boundary for App Hub Entities that perform a logical end-to-end business function. App Hub supports application level IAM permission to align with governance requirements. + * Application defines the governance boundary for App Hub entities that perform a logical end-to-end business function. App Hub supports application level IAM permission to align with governance requirements. */ export interface Schema$Application { /** @@ -145,7 +145,7 @@ export namespace apphub_v1alpha { */ displayName?: string | null; /** - * Identifier. The resource name of an Application. Format: "projects/{host-project-id\}/locations/{location\}/applications/{application-id\}" + * Identifier. The resource name of an Application. Format: `"projects/{host-project-id\}/locations/{location\}/applications/{application-id\}"` */ name?: string | null; /** @@ -165,6 +165,31 @@ export namespace apphub_v1alpha { */ updateTime?: string | null; } + /** + * Provides the mapping of a cloud asset to a direct physical location or to a proxy that defines the location on its behalf. + */ + export interface Schema$AssetLocation { + /** + * Spanner path of the CCFE RMS database. It is only applicable for CCFE tenants that use CCFE RMS for storing resource metadata. + */ + ccfeRmsPath?: string | null; + /** + * Defines the customer expectation around ZI/ZS for this asset and ZI/ZS state of the region at the time of asset creation. + */ + expected?: Schema$IsolationExpectations; + /** + * Defines extra parameters required for specific asset types. + */ + extraParameters?: Schema$ExtraParameter[]; + /** + * Contains all kinds of physical location definitions for this asset. + */ + locationData?: Schema$LocationData[]; + /** + * Defines parents assets if any in order to allow later generation of child_asset_location data via child assets. + */ + parentAsset?: Schema$CloudAsset[]; + } /** * Consumer provided attributes. */ @@ -233,6 +258,12 @@ export namespace apphub_v1alpha { */ role?: string | null; } + /** + * Policy ID that identified data placement in Blobstore as per go/blobstore-user-guide#data-metadata-placement-and-failure-domains + */ + export interface Schema$BlobstoreLocation { + policyId?: string[] | null; + } /** * The request message for Operations.CancelOperation. */ @@ -246,6 +277,13 @@ export namespace apphub_v1alpha { */ uri?: string | null; } + export interface Schema$CloudAsset { + assetName?: string | null; + assetType?: string | null; + } + export interface Schema$CloudAssetComposition { + childAsset?: Schema$CloudAsset[]; + } /** * Contact information of stakeholders. */ @@ -288,12 +326,15 @@ export namespace apphub_v1alpha { * Response for DetachServiceProjectAttachment. */ export interface Schema$DetachServiceProjectAttachmentResponse {} + export interface Schema$DirectLocationAssignment { + location?: Schema$LocationAssignment[]; + } /** - * DiscoveredService is a network/api interface that exposes some functionality to clients for consumption over the network. A discovered service can be registered to a App Hub service. + * DiscoveredService is a network or API interface that exposes some functionality to clients for consumption over the network. A discovered service can be registered to a App Hub service. */ export interface Schema$DiscoveredService { /** - * Identifier. The resource name of the discovered service. Format: "projects/{host-project-id\}/locations/{location\}/discoveredServices/{uuid\}"" + * Identifier. The resource name of the discovered service. Format: `"projects/{host-project-id\}/locations/{location\}/discoveredServices/{uuid\}"` */ name?: string | null; /** @@ -310,7 +351,7 @@ export namespace apphub_v1alpha { */ export interface Schema$DiscoveredWorkload { /** - * Identifier. The resource name of the discovered workload. Format: "projects/{host-project-id\}/locations/{location\}/discoveredWorkloads/{uuid\}" + * Identifier. The resource name of the discovered workload. Format: `"projects/{host-project-id\}/locations/{location\}/discoveredWorkloads/{uuid\}"` */ name?: string | null; /** @@ -360,6 +401,15 @@ export namespace apphub_v1alpha { */ title?: string | null; } + /** + * Defines parameters that should only be used for specific asset types. + */ + export interface Schema$ExtraParameter { + /** + * Details about zones used by regional compute.googleapis.com/InstanceGroupManager to create instances. + */ + regionalMigDistributionPolicy?: Schema$RegionalMigDistributionPolicy; + } /** * Response for FindUnregisteredServices. */ @@ -394,6 +444,25 @@ export namespace apphub_v1alpha { */ unreachable?: string[] | null; } + export interface Schema$IsolationExpectations { + /** + * Explicit overrides for ZI and ZS requirements to be used for resources that should be excluded from ZI/ZS verification logic. + */ + requirementOverride?: Schema$RequirementOverride; + ziOrgPolicy?: string | null; + ziRegionPolicy?: string | null; + ziRegionState?: string | null; + /** + * Deprecated: use zi_org_policy, zi_region_policy and zi_region_state instead for setting ZI expectations as per go/zicy-publish-physical-location. + */ + zoneIsolation?: string | null; + /** + * Deprecated: use zs_org_policy, and zs_region_stateinstead for setting Zs expectations as per go/zicy-publish-physical-location. + */ + zoneSeparation?: string | null; + zsOrgPolicy?: string | null; + zsRegionState?: string | null; + } /** * Response for ListApplications. */ @@ -547,6 +616,18 @@ export namespace apphub_v1alpha { */ name?: string | null; } + export interface Schema$LocationAssignment { + location?: string | null; + locationType?: string | null; + } + export interface Schema$LocationData { + blobstoreLocation?: Schema$BlobstoreLocation; + childAssetLocation?: Schema$CloudAssetComposition; + directLocation?: Schema$DirectLocationAssignment; + gcpProjectProxy?: Schema$TenantProjectProxy; + placerLocation?: Schema$PlacerLocation; + spannerLocation?: Schema$SpannerLocation; + } /** * Response for LookupDiscoveredService. */ @@ -632,6 +713,15 @@ export namespace apphub_v1alpha { */ verb?: string | null; } + /** + * Message describing that the location of the customer resource is tied to placer allocations + */ + export interface Schema$PlacerLocation { + /** + * Directory with a config related to it in placer (e.g. "/placer/prod/home/my-root/my-dir") + */ + placerConfig?: string | null; + } /** * An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] \}, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", \} \} ], "etag": "BwWWja0YfJA=", "version": 3 \} ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). */ @@ -653,6 +743,23 @@ export namespace apphub_v1alpha { */ version?: number | null; } + /** + * To be used for specifying the intended distribution of regional compute.googleapis.com/InstanceGroupManager instances + */ + export interface Schema$RegionalMigDistributionPolicy { + /** + * The shape in which the group converges around distribution of resources. Instance of proto2 enum + */ + targetShape?: number | null; + /** + * Cloud zones used by regional MIG to create instances. + */ + zones?: Schema$ZoneConfiguration[]; + } + export interface Schema$RequirementOverride { + ziOverride?: string | null; + zsOverride?: string | null; + } /** * Scope of an application. */ @@ -663,7 +770,7 @@ export namespace apphub_v1alpha { type?: string | null; } /** - * Service is an App Hub data model that contains a discovered service, which represents a network/api interface that exposes some functionality to clients for consumption over the network. + * Service is an App Hub data model that contains a discovered service, which represents a network or API interface that exposes some functionality to clients for consumption over the network. */ export interface Schema$Service { /** @@ -687,7 +794,7 @@ export namespace apphub_v1alpha { */ displayName?: string | null; /** - * Identifier. The resource name of a Service. Format: "projects/{host-project-id\}/locations/{location\}/applications/{application-id\}/services/{service-id\}" + * Identifier. The resource name of a Service. Format: `"projects/{host-project-id\}/locations/{location\}/applications/{application-id\}/services/{service-id\}"` */ name?: string | null; /** @@ -720,11 +827,11 @@ export namespace apphub_v1alpha { */ createTime?: string | null; /** - * Identifier. The resource name of a ServiceProjectAttachment. Format: "projects/{host-project-id\}/locations/global/serviceProjectAttachments/{service-project-id\}." + * Identifier. The resource name of a ServiceProjectAttachment. Format: `"projects/{host-project-id\}/locations/global/serviceProjectAttachments/{service-project-id\}."` */ name?: string | null; /** - * Required. Immutable. Service project name in the format: "projects/abc" or "projects/123". As input, project name with either project id or number are accepted. As output, this field will contain project number. + * Required. Immutable. Service project name in the format: `"projects/abc"` or `"projects/123"`. As input, project name with either project id or number are accepted. As output, this field will contain project number. */ serviceProject?: string | null; /** @@ -762,7 +869,7 @@ export namespace apphub_v1alpha { */ path?: string | null; /** - * Output only. The underlying resource URI (For example, URI of Forwarding Rule, URL Map, and Backend Service). + * Output only. The underlying resource URI. For example, URI of Forwarding Rule, URL Map, and Backend Service. */ uri?: string | null; } @@ -779,6 +886,16 @@ export namespace apphub_v1alpha { */ updateMask?: string | null; } + export interface Schema$SpannerLocation { + /** + * Set of backups used by the resource with name in the same format as what is available at http://table/spanner_automon.backup_metadata + */ + backupName?: string[] | null; + /** + * Set of databases used by the resource in format /span// + */ + dbName?: string[] | null; + } /** * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). */ @@ -796,6 +913,9 @@ export namespace apphub_v1alpha { */ message?: string | null; } + export interface Schema$TenantProjectProxy { + projectNumbers?: string[] | null; + } /** * Request message for `TestIamPermissions` method. */ @@ -839,7 +959,7 @@ export namespace apphub_v1alpha { */ displayName?: string | null; /** - * Identifier. The resource name of the Workload. Format: "projects/{host-project-id\}/locations/{location\}/applications/{application-id\}/workloads/{workload-id\}" + * Identifier. The resource name of the Workload. Format: `"projects/{host-project-id\}/locations/{location\}/applications/{application-id\}/workloads/{workload-id\}"` */ name?: string | null; /** @@ -868,15 +988,15 @@ export namespace apphub_v1alpha { */ export interface Schema$WorkloadProperties { /** - * Output only. The service project identifier that the underlying cloud resource resides in. Empty for non cloud resources. + * Output only. The service project identifier that the underlying cloud resource resides in. Empty for non-cloud resources. */ gcpProject?: string | null; /** - * Output only. The location that the underlying compute resource resides in (e.g us-west1). + * Output only. The location that the underlying compute resource resides in (for example, us-west1). */ location?: string | null; /** - * Output only. The location that the underlying compute resource resides in if it is zonal (e.g us-west1-a). + * Output only. The location that the underlying compute resource resides in if it is zonal (for example, us-west1-a). */ zone?: string | null; } @@ -889,6 +1009,9 @@ export namespace apphub_v1alpha { */ uri?: string | null; } + export interface Schema$ZoneConfiguration { + zone?: string | null; + } export class Resource$Projects { context: APIRequestContext; @@ -2141,7 +2264,7 @@ export namespace apphub_v1alpha { export interface Params$Resource$Projects$Locations$Applications$Patch extends StandardParameters { /** - * Identifier. The resource name of an Application. Format: "projects/{host-project-id\}/locations/{location\}/applications/{application-id\}" + * Identifier. The resource name of an Application. Format: `"projects/{host-project-id\}/locations/{location\}/applications/{application-id\}"` */ name?: string; /** @@ -2695,7 +2818,7 @@ export namespace apphub_v1alpha { export interface Params$Resource$Projects$Locations$Applications$Services$Patch extends StandardParameters { /** - * Identifier. The resource name of a Service. Format: "projects/{host-project-id\}/locations/{location\}/applications/{application-id\}/services/{service-id\}" + * Identifier. The resource name of a Service. Format: `"projects/{host-project-id\}/locations/{location\}/applications/{application-id\}/services/{service-id\}"` */ name?: string; /** @@ -3225,7 +3348,7 @@ export namespace apphub_v1alpha { export interface Params$Resource$Projects$Locations$Applications$Workloads$Patch extends StandardParameters { /** - * Identifier. The resource name of the Workload. Format: "projects/{host-project-id\}/locations/{location\}/applications/{application-id\}/workloads/{workload-id\}" + * Identifier. The resource name of the Workload. Format: `"projects/{host-project-id\}/locations/{location\}/applications/{application-id\}/workloads/{workload-id\}"` */ name?: string; /** diff --git a/src/apis/areainsights/README.md b/src/apis/areainsights/README.md new file mode 100644 index 0000000000..ba9a630718 --- /dev/null +++ b/src/apis/areainsights/README.md @@ -0,0 +1,28 @@ +Google Inc. logo + +# areainsights + +> Places Insights API. + +## Installation + +```sh +$ npm install @googleapis/areainsights +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/googleapis/google-api-nodejs-client). +Information on classes can be found in [Googleapis Documentation](https://googleapis.dev/nodejs/googleapis/latest/areainsights/classes/Areainsights.html). + +## License +This library is licensed under Apache 2.0. Full license text is available in [LICENSE](https://github.com/googleapis/google-api-nodejs-client/blob/main/LICENSE). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/main/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/googleapis/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/src/apis/areainsights/index.ts b/src/apis/areainsights/index.ts new file mode 100644 index 0000000000..de0f667e82 --- /dev/null +++ b/src/apis/areainsights/index.ts @@ -0,0 +1,46 @@ +// Copyright 2020 Google LLC +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/*! THIS FILE IS AUTO-GENERATED */ + +import {AuthPlus, getAPI, GoogleConfigurable} from 'googleapis-common'; +import {areainsights_v1} from './v1'; + +export const VERSIONS = { + v1: areainsights_v1.Areainsights, +}; + +export function areainsights(version: 'v1'): areainsights_v1.Areainsights; +export function areainsights( + options: areainsights_v1.Options +): areainsights_v1.Areainsights; +export function areainsights( + this: GoogleConfigurable, + versionOrOptions: 'v1' | areainsights_v1.Options +) { + return getAPI('areainsights', versionOrOptions, VERSIONS, this); +} + +const auth = new AuthPlus(); +export {auth}; +export {areainsights_v1}; +export { + AuthPlus, + GlobalOptions, + APIRequestContext, + GoogleConfigurable, + StreamMethodOptions, + GaxiosPromise, + MethodOptions, + BodyResponseCallback, +} from 'googleapis-common'; diff --git a/src/apis/areainsights/package.json b/src/apis/areainsights/package.json new file mode 100644 index 0000000000..76b6e63348 --- /dev/null +++ b/src/apis/areainsights/package.json @@ -0,0 +1,43 @@ +{ + "name": "@googleapis/areainsights", + "version": "0.1.0", + "description": "areainsights", + "main": "build/index.js", + "types": "build/index.d.ts", + "keywords": [ + "google" + ], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/googleapis/google-api-nodejs-client", + "bugs": { + "url": "https://github.com/googleapis/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/googleapis/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=12.0.0" + }, + "scripts": { + "fix": "gts fix", + "lint": "gts check", + "compile": "tsc -p .", + "prepare": "npm run compile", + "webpack": "webpack" + }, + "dependencies": { + "googleapis-common": "^7.0.0" + }, + "devDependencies": { + "@microsoft/api-documenter": "^7.8.10", + "@microsoft/api-extractor": "^7.8.10", + "gts": "^5.0.0", + "null-loader": "^4.0.0", + "ts-loader": "^9.0.0", + "typescript": "~4.8.4", + "webpack": "^5.0.0", + "webpack-cli": "^5.0.0" + } +} diff --git a/src/apis/areainsights/tsconfig.json b/src/apis/areainsights/tsconfig.json new file mode 100644 index 0000000000..e081090496 --- /dev/null +++ b/src/apis/areainsights/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "./node_modules/gts/tsconfig-google.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "build" + }, + "include": [ + "*.ts", + ] +} diff --git a/src/apis/areainsights/v1.ts b/src/apis/areainsights/v1.ts new file mode 100644 index 0000000000..6b1ed08ae5 --- /dev/null +++ b/src/apis/areainsights/v1.ts @@ -0,0 +1,405 @@ +// Copyright 2020 Google LLC +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/no-empty-interface */ +/* eslint-disable @typescript-eslint/no-namespace */ +/* eslint-disable no-irregular-whitespace */ + +import { + OAuth2Client, + JWT, + Compute, + UserRefreshClient, + BaseExternalAccountClient, + GaxiosPromise, + GoogleConfigurable, + createAPIRequest, + MethodOptions, + StreamMethodOptions, + GlobalOptions, + GoogleAuth, + BodyResponseCallback, + APIRequestContext, +} from 'googleapis-common'; +import {Readable} from 'stream'; + +export namespace areainsights_v1 { + export interface Options extends GlobalOptions { + version: 'v1'; + } + + interface StandardParameters { + /** + * Auth client or API Key for the request + */ + auth?: + | string + | OAuth2Client + | JWT + | Compute + | UserRefreshClient + | BaseExternalAccountClient + | GoogleAuth; + + /** + * V1 error format. + */ + '$.xgafv'?: string; + /** + * OAuth access token. + */ + access_token?: string; + /** + * Data format for response. + */ + alt?: string; + /** + * JSONP + */ + callback?: string; + /** + * Selector specifying which fields to include in a partial response. + */ + fields?: string; + /** + * API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + */ + key?: string; + /** + * OAuth 2.0 token for the current user. + */ + oauth_token?: string; + /** + * Returns response with indentations and line breaks. + */ + prettyPrint?: boolean; + /** + * Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + */ + quotaUser?: string; + /** + * Legacy upload protocol for media (e.g. "media", "multipart"). + */ + uploadType?: string; + /** + * Upload protocol for media (e.g. "raw", "multipart"). + */ + upload_protocol?: string; + } + + /** + * Places Insights API + * + * Places Insights API. + * + * @example + * ```js + * const {google} = require('googleapis'); + * const areainsights = google.areainsights('v1'); + * ``` + */ + export class Areainsights { + context: APIRequestContext; + v1: Resource$V1; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.v1 = new Resource$V1(this.context); + } + } + + /** + * A circle is defined by a center point and radius in meters. + */ + export interface Schema$Circle { + /** + * The latitude and longitude of the center of the circle. + */ + latLng?: Schema$LatLng; + /** + * The Place resource name of the center of the circle. Only point places are supported. + */ + place?: string | null; + /** + * Optional. The radius of the circle in meters + */ + radius?: number | null; + } + /** + * Request for the ComputeInsights RPC. + */ + export interface Schema$ComputeInsightsRequest { + /** + * Required. Insight filter. + */ + filter?: Schema$Filter; + /** + * Required. Insights to compute. Currently only INSIGHT_COUNT and INSIGHT_PLACES are supported. + */ + insights?: string[] | null; + } + /** + * Response for the ComputeInsights RPC. + */ + export interface Schema$ComputeInsightsResponse { + /** + * Result for Insights.INSIGHT_COUNT. + */ + count?: string | null; + /** + * Result for Insights.INSIGHT_PLACES. + */ + placeInsights?: Schema$PlaceInsight[]; + } + /** + * Custom Area. + */ + export interface Schema$CustomArea { + /** + * Required. The custom area represented as a polygon + */ + polygon?: Schema$Polygon; + } + /** + * Filters for the ComputeInsights RPC. + */ + export interface Schema$Filter { + /** + * Required. Restricts results to places which are located in the area specified by location filters. + */ + locationFilter?: Schema$LocationFilter; + /** + * Optional. Restricts results to places whose operating status is included on this list. If operating_status is not set, OPERATING_STATUS_OPERATIONAL is used as default. + */ + operatingStatus?: string[] | null; + /** + * Optional. Restricts results to places whose price level is included on this list. If price_level is not set, all price levels are included in the results. + */ + priceLevels?: string[] | null; + /** + * Optional. Restricts results to places whose average user ratings are in the range specified by rating_filter. If rating_filter is not set, all ratings are included in the result. + */ + ratingFilter?: Schema$RatingFilter; + /** + * Required. Place type filters. + */ + typeFilter?: Schema$TypeFilter; + } + /** + * An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. + */ + export interface Schema$LatLng { + /** + * The latitude in degrees. It must be in the range [-90.0, +90.0]. + */ + latitude?: number | null; + /** + * The longitude in degrees. It must be in the range [-180.0, +180.0]. + */ + longitude?: number | null; + } + /** + * Location filters. Specifies the area of interest for the insight. + */ + export interface Schema$LocationFilter { + /** + * Area as a circle. + */ + circle?: Schema$Circle; + /** + * Custom area specified by a polygon. + */ + customArea?: Schema$CustomArea; + /** + * Area as region. + */ + region?: Schema$Region; + } + /** + * Holds information about a place + */ + export interface Schema$PlaceInsight { + /** + * The unique identifier of the place. This resource name can be used to retrieve details about the place using the [Places API](https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places/get). + */ + place?: string | null; + } + /** + * A polygon is represented by a series of connected coordinates in an counterclockwise ordered sequence. The coordinates form a closed loop and define a filled region. The first and last coordinates are equivalent, and they must contain identical values. The format is a simplified version of GeoJSON polygons (we only support one counterclockwise exterior ring). + */ + export interface Schema$Polygon { + /** + * Optional. The coordinates that define the polygon. + */ + coordinates?: Schema$LatLng[]; + } + /** + * Average user rating filters. + */ + export interface Schema$RatingFilter { + /** + * Optional. Restricts results to places whose average user rating is strictly less than or equal to max_rating. Values must be between 1.0 and 5.0. + */ + maxRating?: number | null; + /** + * Optional. Restricts results to places whose average user rating is greater than or equal to min_rating. Values must be between 1.0 and 5.0. + */ + minRating?: number | null; + } + /** + * A region is a geographic boundary such as: cities, postal codes, counties, states, etc. + */ + export interface Schema$Region { + /** + * The unique identifier of a specific geographic region. + */ + place?: string | null; + } + /** + * Place type filters. Only Place types from [Table a](https://developers.google.com/maps/documentation/places/web-service/place-types#table-a) are supported. A place can only have a single primary type associated with it. For example, the primary type might be "mexican_restaurant" or "steak_house". Use included_primary_types and excluded_primary_types to filter the results on a place's primary type. A place can also have multiple type values associated with it. For example a restaurant might have the following types: "seafood_restaurant", "restaurant", "food", "point_of_interest", "establishment". Use included_types and excluded_types to filter the results on the list of types associated with a place. If a search is specified with multiple type restrictions, only places that satisfy all of the restrictions are returned. For example, if you specify {"included_types": ["restaurant"], "excluded_primary_types": ["steak_house"]\}, the returned places provide "restaurant" related services but do not operate primarily as a "steak_house". If there are any conflicting types, i.e. a type appears in both included_types and excluded_types types or included_primary_types and excluded_primary_types, an INVALID_ARGUMENT error is returned. One of included_types or included_primary_types must be set. + */ + export interface Schema$TypeFilter { + /** + * Optional. Excluded primary Place types. + */ + excludedPrimaryTypes?: string[] | null; + /** + * Optional. Excluded Place types. + */ + excludedTypes?: string[] | null; + /** + * Optional. Included primary Place types. + */ + includedPrimaryTypes?: string[] | null; + /** + * Optional. Included Place types. + */ + includedTypes?: string[] | null; + } + + export class Resource$V1 { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Compute Insights RPC This method lets you retrieve insights about areas using a variaty of filter such as: area, place type, operating status, price level and ratings. Currently "count" and "places" insights are supported. With "count" insights you can answer questions such as "How many restaurant are located in California that are operational, are inexpensive and have an average rating of at least 4 stars" (see `insight` enum for more details). With "places" insights, you can determine which places match the requested filter. Clients can then use those place resource names to fetch more details about each individual place using the Places API. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + computeInsights( + params: Params$Resource$V1$Computeinsights, + options: StreamMethodOptions + ): GaxiosPromise; + computeInsights( + params?: Params$Resource$V1$Computeinsights, + options?: MethodOptions + ): GaxiosPromise; + computeInsights( + params: Params$Resource$V1$Computeinsights, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + computeInsights( + params: Params$Resource$V1$Computeinsights, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + computeInsights( + params: Params$Resource$V1$Computeinsights, + callback: BodyResponseCallback + ): void; + computeInsights( + callback: BodyResponseCallback + ): void; + computeInsights( + paramsOrCallback?: + | Params$Resource$V1$Computeinsights + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$V1$Computeinsights; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$V1$Computeinsights; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://areainsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1:computeInsights').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$V1$Computeinsights + extends StandardParameters { + /** + * Request body metadata + */ + requestBody?: Schema$ComputeInsightsRequest; + } +} diff --git a/src/apis/areainsights/webpack.config.js b/src/apis/areainsights/webpack.config.js new file mode 100644 index 0000000000..6c8111a4e8 --- /dev/null +++ b/src/apis/areainsights/webpack.config.js @@ -0,0 +1,79 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Use `npm run webpack` to produce Webpack bundle for this library. + +const path = require('path'); + +module.exports = { + entry: './index.ts', + resolve: { + extensions: ['.ts', '.js', '.json'], + fallback: { + crypto: false, + child_process: false, + fs: false, + http2: false, + buffer: 'browserify', + process: false, + os: false, + querystring: false, + path: false, + stream: 'stream-browserify', + url: false, + util: false, + zlib: false, + }, + }, + output: { + library: 'Areainsights', + filename: 'areainsights.min.js', + path: path.resolve(__dirname, 'dist'), + }, + module: { + rules: [ + { + test: /node_modules[\\/]google-auth-library[\\/]src[\\/]crypto[\\/]node[\\/]crypto/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]https-proxy-agent[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]gcp-metadata[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]gtoken[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]pkginfo[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]semver[\\/]/, + use: 'null-loader', + }, + { + test: /\.ts$/, + use: 'ts-loader', + exclude: /node_modules/, + }, + ], + }, + mode: 'production', + plugins: [], +}; diff --git a/src/apis/artifactregistry/v1.ts b/src/apis/artifactregistry/v1.ts index 7d14095920..d7e6ea65db 100644 --- a/src/apis/artifactregistry/v1.ts +++ b/src/apis/artifactregistry/v1.ts @@ -175,7 +175,7 @@ export namespace artifactregistry_v1 { */ annotations?: {[key: string]: string} | null; /** - * The namespace this attachment belongs to. E.g. If an Attachment is created by artifact analysis, namespace is set to `artifactanalysis.googleapis.com`. + * The namespace this attachment belongs to. E.g. If an attachment is created by artifact analysis, namespace is set to `artifactanalysis.googleapis.com`. */ attachmentNamespace?: string | null; /** @@ -187,7 +187,7 @@ export namespace artifactregistry_v1 { */ files?: string[] | null; /** - * The name of the attachment. E.g. "projects/p1/locations/us/repositories/repo/attachments/sbom". + * The name of the attachment. E.g. `projects/p1/locations/us/repositories/repo/attachments/sbom`. */ name?: string | null; /** @@ -195,11 +195,11 @@ export namespace artifactregistry_v1 { */ ociVersionName?: string | null; /** - * Required. The target the attachment is for, can be a Version, Package or Repository. E.g. "projects/p1/locations/us-central1/repositories/repo1/packages/p1/versions/v1". + * Required. The target the attachment is for, can be a Version, Package or Repository. E.g. `projects/p1/locations/us-central1/repositories/repo1/packages/p1/versions/v1`. */ target?: string | null; /** - * Type of Attachment. E.g. `application/vnd.spdx+json` + * Type of attachment. E.g. `application/vnd.spdx+json` */ type?: string | null; /** @@ -583,24 +583,24 @@ export namespace artifactregistry_v1 { repositoryPath?: string | null; } /** - * A Rule applies to repository or package level. It defines the deny or allow action of the operation when the conditions in the rule are met. + * A rule defines the deny or allow action of the operation it applies to and the conditions required for the rule to apply. You can set one rule for an entire repository and one rule for each package within. */ export interface Schema$GoogleDevtoolsArtifactregistryV1Rule { /** - * The action this rule makes. + * The action this rule takes. */ action?: string | null; /** - * Optional. The condition of the rule in CEL expression. If not provided, the rule matches all the objects. + * Optional. A CEL expression for conditions that must be met in order for the rule to apply. If not provided, the rule matches all objects. */ condition?: Schema$Expr; /** - * The name of the rule, for example: "projects/p1/locations/us-central1/repositories/repo1/rules/rule1". + * The name of the rule, for example: `projects/p1/locations/us-central1/repositories/repo1/rules/rule1`. */ name?: string | null; operation?: string | null; /** - * The package ID the rule applies to. If empty, this rule applies to all the packages inside the repository. + * The package ID the rule applies to. If empty, this rule applies to all packages inside the repository. */ packageId?: string | null; } @@ -791,7 +791,7 @@ export namespace artifactregistry_v1 { */ export interface Schema$ListAttachmentsResponse { /** - * The Attachments returned. + * The attachments returned. */ attachments?: Schema$Attachment[]; /** @@ -1207,7 +1207,7 @@ export namespace artifactregistry_v1 { */ aptRepository?: Schema$AptRepository; /** - * Common remote repository settings. Used as the RemoteRepository upstream URL instead of Predefined and Custom remote repositories. Google Cloud Console and Google Cloud CLI will map all the new remote repositories to this field. + * Common remote repository settings. Used as the remote repository upstream URL. */ commonRepository?: Schema$CommonRemoteRepository; /** @@ -1295,6 +1295,10 @@ export namespace artifactregistry_v1 { * The name of the repository, for example: `projects/p1/locations/us-central1/repositories/repo1`. For each location in a project, repository names must be unique. */ name?: string | null; + /** + * Output only. The repository endpoint, for example: `us-docker.pkg.dev/my-proj/my-repo`. + */ + registryUri?: string | null; /** * Configuration specific for a Remote Repository. */ @@ -1319,6 +1323,10 @@ export namespace artifactregistry_v1 { * Configuration specific for a Virtual Repository. */ virtualRepositoryConfig?: Schema$VirtualRepositoryConfig; + /** + * Optional. Config and state for vulnerability scanning of resources within this Repository. + */ + vulnerabilityScanningConfig?: Schema$VulnerabilityScanningConfig; } /** * Request message for `SetIamPolicy` method. @@ -1355,7 +1363,7 @@ export namespace artifactregistry_v1 { */ name?: string | null; /** - * The name of the version the tag refers to, for example: "projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811" If the package or version ID parts contain slashes, the slashes are escaped. + * The name of the version the tag refers to, for example: `projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811` If the package or version ID parts contain slashes, the slashes are escaped. */ version?: string | null; } @@ -1640,6 +1648,27 @@ export namespace artifactregistry_v1 { */ vpcscPolicy?: string | null; } + /** + * Config on whether to perform vulnerability scanning for resources in this repository, as well as output fields describing current state. + */ + export interface Schema$VulnerabilityScanningConfig { + /** + * Optional. Config for whether this repository has vulnerability scanning disabled. + */ + enablementConfig?: string | null; + /** + * Output only. State of feature enablement, combining repository enablement config and API enablement state. + */ + enablementState?: string | null; + /** + * Output only. Reason for the repository state. + */ + enablementStateReason?: string | null; + /** + * Output only. The last time this repository config was enabled. + */ + lastEnableTime?: string | null; + } /** * A detailed representation of a Yum artifact. */ @@ -8100,7 +8129,7 @@ export namespace artifactregistry_v1 { export interface Params$Resource$Projects$Locations$Repositories$Rules$Patch extends StandardParameters { /** - * The name of the rule, for example: "projects/p1/locations/us-central1/repositories/repo1/rules/rule1". + * The name of the rule, for example: `projects/p1/locations/us-central1/repositories/repo1/rules/rule1`. */ name?: string; /** diff --git a/src/apis/artifactregistry/v1beta1.ts b/src/apis/artifactregistry/v1beta1.ts index ff9b8f9b4c..4a46d458b8 100644 --- a/src/apis/artifactregistry/v1beta1.ts +++ b/src/apis/artifactregistry/v1beta1.ts @@ -454,7 +454,7 @@ export namespace artifactregistry_v1beta1 { */ name?: string | null; /** - * The name of the version the tag refers to, for example: "projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811" If the package or version ID parts contain slashes, the slashes are escaped. + * The name of the version the tag refers to, for example: `projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811` If the package or version ID parts contain slashes, the slashes are escaped. */ version?: string | null; } diff --git a/src/apis/assuredworkloads/v1.ts b/src/apis/assuredworkloads/v1.ts index 306d2a18ea..606b913c74 100644 --- a/src/apis/assuredworkloads/v1.ts +++ b/src/apis/assuredworkloads/v1.ts @@ -553,6 +553,10 @@ export namespace assuredworkloads_v1 { * Optional. Indicates whether the e-mail notification for a violation is enabled for a workload. This value will be by default True, and if not present will be considered as true. This should only be updated via updateWorkload call. Any Changes to this field during the createWorkload call will not be honored. This will always be true while creating the workload. */ violationNotificationsEnabled?: boolean | null; + /** + * Optional. Options to be set for the given created workload. + */ + workloadOptions?: Schema$GoogleCloudAssuredworkloadsV1WorkloadWorkloadOptions; } /** * Represents the Compliance Status of this workload @@ -588,7 +592,7 @@ export namespace assuredworkloads_v1 { */ ekmProvisioningErrorMapping?: string | null; /** - * Indicates Ekm enrollment Provisioning of a given workload. + * Output only. Indicates Ekm enrollment Provisioning of a given workload. */ ekmProvisioningState?: string | null; } @@ -618,7 +622,7 @@ export namespace assuredworkloads_v1 { */ assuredWorkloadsMonitoring?: boolean | null; /** - * Allow the partner to view inspectability logs and monitoring violations. + * Optional. Allow the partner to view inspectability logs and monitoring violations. */ dataLogsViewer?: boolean | null; /** @@ -631,7 +635,7 @@ export namespace assuredworkloads_v1 { */ export interface Schema$GoogleCloudAssuredworkloadsV1WorkloadResourceInfo { /** - * Resource identifier. For a project this represents project_number. + * Output only. Resource identifier. For a project this represents project_number. */ resourceId?: string | null; /** @@ -665,10 +669,19 @@ export namespace assuredworkloads_v1 { */ setupErrors?: string[] | null; /** - * Indicates SAA enrollment status of a given workload. + * Output only. Indicates SAA enrollment status of a given workload. */ setupStatus?: string | null; } + /** + * Options to be set for the given created workload. + */ + export interface Schema$GoogleCloudAssuredworkloadsV1WorkloadWorkloadOptions { + /** + * Optional. Specifies type of KAJ Enrollment if provided. + */ + kajEnrollmentType?: string | null; + } /** * The response message for Operations.ListOperations. */ diff --git a/src/apis/assuredworkloads/v1beta1.ts b/src/apis/assuredworkloads/v1beta1.ts index 21c171c7ce..8335177870 100644 --- a/src/apis/assuredworkloads/v1beta1.ts +++ b/src/apis/assuredworkloads/v1beta1.ts @@ -697,6 +697,10 @@ export namespace assuredworkloads_v1beta1 { * Optional. Indicates whether the e-mail notification for a violation is enabled for a workload. This value will be by default True, and if not present will be considered as true. This should only be updated via updateWorkload call. Any Changes to this field during the createWorkload call will not be honored. This will always be true while creating the workload. */ violationNotificationsEnabled?: boolean | null; + /** + * Optional. Options to be set for the given created workload. + */ + workloadOptions?: Schema$GoogleCloudAssuredworkloadsV1beta1WorkloadWorkloadOptions; } /** * Settings specific to resources needed for CJIS. @@ -741,7 +745,7 @@ export namespace assuredworkloads_v1beta1 { */ ekmProvisioningErrorMapping?: string | null; /** - * Indicates Ekm enrollment Provisioning of a given workload. + * Output only. Indicates Ekm enrollment Provisioning of a given workload. */ ekmProvisioningState?: string | null; } @@ -798,7 +802,7 @@ export namespace assuredworkloads_v1beta1 { */ assuredWorkloadsMonitoring?: boolean | null; /** - * Allow the partner to view inspectability logs and monitoring violations. + * Optional. Allow the partner to view inspectability logs and monitoring violations. */ dataLogsViewer?: boolean | null; /** @@ -811,7 +815,7 @@ export namespace assuredworkloads_v1beta1 { */ export interface Schema$GoogleCloudAssuredworkloadsV1beta1WorkloadResourceInfo { /** - * Resource identifier. For a project this represents project_number. + * Output only. Resource identifier. For a project this represents project_number. */ resourceId?: string | null; /** @@ -845,7 +849,7 @@ export namespace assuredworkloads_v1beta1 { */ setupErrors?: string[] | null; /** - * Indicates SAA enrollment status of a given workload. + * Output only. Indicates SAA enrollment status of a given workload. */ setupStatus?: string | null; } @@ -874,6 +878,15 @@ export namespace assuredworkloads_v1beta1 { */ updateTime?: string | null; } + /** + * Options to be set for the given created workload. + */ + export interface Schema$GoogleCloudAssuredworkloadsV1beta1WorkloadWorkloadOptions { + /** + * Optional. Specifies type of KAJ Enrollment if provided. + */ + kajEnrollmentType?: string | null; + } /** * The response message for Operations.ListOperations. */ diff --git a/src/apis/authorizedbuyersmarketplace/v1.ts b/src/apis/authorizedbuyersmarketplace/v1.ts index cd68a05287..70d2260f71 100644 --- a/src/apis/authorizedbuyersmarketplace/v1.ts +++ b/src/apis/authorizedbuyersmarketplace/v1.ts @@ -190,6 +190,10 @@ export namespace authorizedbuyersmarketplace_v1 { * Output only. The buyer that created this auction package. Format: `buyers/{buyerAccountId\}` */ creator?: string | null; + /** + * Output only. If set, this field contains the DSP specific seat id set by the media planner account that is considered the owner of this deal. The seat ID is in the calling DSP's namespace. + */ + dealOwnerSeatId?: string | null; /** * Output only. A description of the auction package. */ @@ -199,7 +203,7 @@ export namespace authorizedbuyersmarketplace_v1 { */ displayName?: string | null; /** - * Output only. If set, this field contains the list of DSP specific seat ids set by media planners that are eligible to transact on this deal. The seat ID is in the calling DSP's namespace. + * Output only. If set, this field identifies a seat that the media planner selected as the owner of this auction package. This is a seat ID in the DSP's namespace that was provided to the media planner. */ eligibleSeatIds?: string[] | null; /** @@ -1213,11 +1217,11 @@ export namespace authorizedbuyersmarketplace_v1 { */ export interface Schema$TimeZone { /** - * IANA Time Zone Database time zone, e.g. "America/New_York". + * IANA Time Zone Database time zone. For example "America/New_York". */ id?: string | null; /** - * Optional. IANA Time Zone Database version number, e.g. "2019a". + * Optional. IANA Time Zone Database version number. For example "2019a". */ version?: string | null; } diff --git a/src/apis/authorizedbuyersmarketplace/v1alpha.ts b/src/apis/authorizedbuyersmarketplace/v1alpha.ts index 62e5c89678..82bbb1b0d2 100644 --- a/src/apis/authorizedbuyersmarketplace/v1alpha.ts +++ b/src/apis/authorizedbuyersmarketplace/v1alpha.ts @@ -194,6 +194,10 @@ export namespace authorizedbuyersmarketplace_v1alpha { * Output only. The buyer that created this auction package. Format: `buyers/{buyerAccountId\}` */ creator?: string | null; + /** + * Output only. If set, this field contains the DSP specific seat id set by the media planner account that is considered the owner of this deal. The seat ID is in the calling DSP's namespace. + */ + dealOwnerSeatId?: string | null; /** * Output only. A description of the auction package. */ @@ -203,7 +207,7 @@ export namespace authorizedbuyersmarketplace_v1alpha { */ displayName?: string | null; /** - * Output only. If set, this field contains the list of DSP specific seat ids set by media planners that are eligible to transact on this deal. The seat ID is in the calling DSP's namespace. + * Output only. If set, this field identifies a seat that the media planner selected as the owner of this auction package. This is a seat ID in the DSP's namespace that was provided to the media planner. */ eligibleSeatIds?: string[] | null; /** @@ -1259,11 +1263,11 @@ export namespace authorizedbuyersmarketplace_v1alpha { */ export interface Schema$TimeZone { /** - * IANA Time Zone Database time zone, e.g. "America/New_York". + * IANA Time Zone Database time zone. For example "America/New_York". */ id?: string | null; /** - * Optional. IANA Time Zone Database version number, e.g. "2019a". + * Optional. IANA Time Zone Database version number. For example "2019a". */ version?: string | null; } diff --git a/src/apis/backupdr/v1.ts b/src/apis/backupdr/v1.ts index a60095fe44..64d92a5800 100644 --- a/src/apis/backupdr/v1.ts +++ b/src/apis/backupdr/v1.ts @@ -234,31 +234,6 @@ export namespace backupdr_v1 { */ values?: string[] | null; } - /** - * Provides the mapping of a cloud asset to a direct physical location or to a proxy that defines the location on its behalf. - */ - export interface Schema$AssetLocation { - /** - * Spanner path of the CCFE RMS database. It is only applicable for CCFE tenants that use CCFE RMS for storing resource metadata. - */ - ccfeRmsPath?: string | null; - /** - * Defines the customer expectation around ZI/ZS for this asset and ZI/ZS state of the region at the time of asset creation. - */ - expected?: Schema$IsolationExpectations; - /** - * Defines extra parameters required for specific asset types. - */ - extraParameters?: Schema$ExtraParameter[]; - /** - * Contains all kinds of physical location definitions for this asset. - */ - locationData?: Schema$LocationData[]; - /** - * Defines parents assets if any in order to allow later generation of child_asset_location data via child assets. - */ - parentAsset?: Schema$CloudAsset[]; - } /** * An instance-attached disk resource. */ @@ -418,6 +393,14 @@ export namespace backupdr_v1 { * Output only. source resource size in bytes at the time of the backup. */ resourceSizeBytes?: string | null; + /** + * Optional. Output only. Reserved for future use. + */ + satisfiesPzi?: boolean | null; + /** + * Optional. Output only. Reserved for future use. + */ + satisfiesPzs?: boolean | null; /** * Output only. The list of BackupLocks taken by the service to prevent the deletion of the backup. */ @@ -593,7 +576,7 @@ export namespace backupdr_v1 { */ name?: string | null; /** - * Required. The resource type to which the `BackupPlan` will be applied. Examples include, "compute.googleapis.com/Instance" and "storage.googleapis.com/Bucket". + * Required. The resource type to which the `BackupPlan` will be applied. Examples include, "compute.googleapis.com/Instance", "sqladmin.googleapis.com/Instance", or "alloydb.googleapis.com/Cluster". */ resourceType?: string | null; /** @@ -618,7 +601,7 @@ export namespace backupdr_v1 { */ createTime?: string | null; /** - * Output only. Output Only. Resource name of data source which will be used as storage location for backups taken. Format : projects/{project\}/locations/{location\}/backupVaults/{backupvault\}/dataSources/{datasource\} + * Output only. Resource name of data source which will be used as storage location for backups taken. Format : projects/{project\}/locations/{location\}/backupVaults/{backupvault\}/dataSources/{datasource\} */ dataSource?: string | null; /** @@ -630,7 +613,7 @@ export namespace backupdr_v1 { */ resource?: string | null; /** - * Output only. Output Only. Resource type of workload on which backupplan is applied + * Required. Immutable. Resource type of workload on which backupplan is applied */ resourceType?: string | null; /** @@ -651,7 +634,7 @@ export namespace backupdr_v1 { */ export interface Schema$BackupRule { /** - * Required. Configures the duration for which backup data will be kept. It is defined in “days”. The value should be greater than or equal to minimum enforced retention of the backup vault. + * Required. Configures the duration for which backup data will be kept. It is defined in “days”. The value should be greater than or equal to minimum enforced retention of the backup vault. Minimum value is 1 and maximum value is 90 for hourly backups. Minimum value is 1 and maximum value is 90 for daily backups. Minimum value is 7 and maximum value is 186 for weekly backups. Minimum value is 30 and maximum value is 732 for monthly backups. Minimum value is 365 and maximum value is 36159 for yearly backups. */ backupRetentionDays?: number | null; /** @@ -668,7 +651,7 @@ export namespace backupdr_v1 { */ export interface Schema$BackupVault { /** - * Optional. Note: This field is added for future use case and will not be supported in the current release. Optional. Access restriction for the backup vault. Default value is WITHIN_ORGANIZATION if not provided during creation. + * Optional. Note: This field is added for future use case and will not be supported in the current release. Access restriction for the backup vault. Default value is WITHIN_ORGANIZATION if not provided during creation. */ accessRestriction?: string | null; /** @@ -724,7 +707,7 @@ export namespace backupdr_v1 { */ totalStoredBytes?: string | null; /** - * Output only. Output only Immutable after resource creation until resource deletion. + * Output only. Immutable after resource creation until resource deletion. */ uid?: string | null; /** @@ -762,23 +745,10 @@ export namespace backupdr_v1 { */ role?: string | null; } - /** - * Policy ID that identified data placement in Blobstore as per go/blobstore-user-guide#data-metadata-placement-and-failure-domains - */ - export interface Schema$BlobstoreLocation { - policyId?: string[] | null; - } /** * The request message for Operations.CancelOperation. */ export interface Schema$CancelOperationRequest {} - export interface Schema$CloudAsset { - assetName?: string | null; - assetType?: string | null; - } - export interface Schema$CloudAssetComposition { - childAsset?: Schema$CloudAsset[]; - } /** * ComputeInstanceBackupProperties represents Compute Engine instance backup properties. */ @@ -1120,9 +1090,6 @@ export namespace backupdr_v1 { */ type?: string | null; } - export interface Schema$DirectLocationAssignment { - location?: Schema$LocationAssignment[]; - } /** * A set of Display Device options */ @@ -1170,15 +1137,6 @@ export namespace backupdr_v1 { */ title?: string | null; } - /** - * Defines parameters that should only be used for specific asset types. - */ - export interface Schema$ExtraParameter { - /** - * Details about zones used by regional compute.googleapis.com/InstanceGroupManager to create instances. - */ - regionalMigDistributionPolicy?: Schema$RegionalMigDistributionPolicy; - } /** * Request message for FetchAccessToken. */ @@ -1332,6 +1290,19 @@ export namespace backupdr_v1 { */ replicaZones?: string[] | null; } + /** + * Request message for initializing the service. + */ + export interface Schema$InitializeServiceRequest { + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string | null; + /** + * Required. The resource type to which the default service config will be applied. Examples include, "compute.googleapis.com/Instance" and "storage.googleapis.com/Bucket". + */ + resourceType?: string | null; + } /** * request message for InitiateBackup. */ @@ -1371,25 +1342,6 @@ export namespace backupdr_v1 { */ resourceManagerTags?: {[key: string]: string} | null; } - export interface Schema$IsolationExpectations { - /** - * Explicit overrides for ZI and ZS requirements to be used for resources that should be excluded from ZI/ZS verification logic. - */ - requirementOverride?: Schema$RequirementOverride; - ziOrgPolicy?: string | null; - ziRegionPolicy?: string | null; - ziRegionState?: string | null; - /** - * Deprecated: use zi_org_policy, zi_region_policy and zi_region_state instead for setting ZI expectations as per go/zicy-publish-physical-location. - */ - zoneIsolation?: string | null; - /** - * Deprecated: use zs_org_policy, and zs_region_stateinstead for setting Zs expectations as per go/zicy-publish-physical-location. - */ - zoneSeparation?: string | null; - zsOrgPolicy?: string | null; - zsRegionState?: string | null; - } /** * Response message for List BackupPlanAssociation */ @@ -1543,18 +1495,6 @@ export namespace backupdr_v1 { */ name?: string | null; } - export interface Schema$LocationAssignment { - location?: string | null; - locationType?: string | null; - } - export interface Schema$LocationData { - blobstoreLocation?: Schema$BlobstoreLocation; - childAssetLocation?: Schema$CloudAssetComposition; - directLocation?: Schema$DirectLocationAssignment; - gcpProjectProxy?: Schema$TenantProjectProxy; - placerLocation?: Schema$PlacerLocation; - spannerLocation?: Schema$SpannerLocation; - } /** * ManagementServer describes a single BackupDR ManagementServer instance. */ @@ -1588,7 +1528,7 @@ export namespace backupdr_v1 { */ name?: string | null; /** - * Required. VPC networks to which the ManagementServer instance is connected. For this version, only a single network is supported. + * Optional. VPC networks to which the ManagementServer instance is connected. For this version, only a single network is supported. This field is optional if MS is created without PSA */ networks?: Schema$NetworkConfig[]; /** @@ -1792,7 +1732,7 @@ export namespace backupdr_v1 { */ endTime?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to 'Code.CANCELLED'. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to 'Code.CANCELLED'. */ requestedCancellation?: boolean | null; /** @@ -1808,15 +1748,6 @@ export namespace backupdr_v1 { */ verb?: string | null; } - /** - * Message describing that the location of the customer resource is tied to placer allocations - */ - export interface Schema$PlacerLocation { - /** - * Directory with a config related to it in placer (e.g. "/placer/prod/home/my-root/my-dir") - */ - placerConfig?: string | null; - } /** * An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] \}, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", \} \} ], "etag": "BwWWja0YfJA=", "version": 3 \} ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). */ @@ -1838,19 +1769,6 @@ export namespace backupdr_v1 { */ version?: number | null; } - /** - * To be used for specifying the intended distribution of regional compute.googleapis.com/InstanceGroupManager instances - */ - export interface Schema$RegionalMigDistributionPolicy { - /** - * The shape in which the group converges around distribution of resources. Instance of proto2 enum - */ - targetShape?: number | null; - /** - * Cloud zones used by regional MIG to create instances. - */ - zones?: Schema$ZoneConfiguration[]; - } /** * Message for deleting a DataSource. */ @@ -1860,10 +1778,6 @@ export namespace backupdr_v1 { */ requestId?: string | null; } - export interface Schema$RequirementOverride { - ziOverride?: string | null; - zsOverride?: string | null; - } /** * Request message for restoring from a Backup. */ @@ -1895,7 +1809,7 @@ export namespace backupdr_v1 { */ export interface Schema$RuleConfigInfo { /** - * Output only. Output Only. google.rpc.Status object to store the last backup error. + * Output only. google.rpc.Status object to store the last backup error. */ lastBackupError?: Schema$Status; /** @@ -1907,7 +1821,7 @@ export namespace backupdr_v1 { */ lastSuccessfulBackupConsistencyTime?: string | null; /** - * Output only. Output Only. Backup Rule id fetched from backup plan. + * Output only. Backup Rule id fetched from backup plan. */ ruleId?: string | null; } @@ -2017,16 +1931,6 @@ export namespace backupdr_v1 { * Response message from SetStatusInternal method. */ export interface Schema$SetInternalStatusResponse {} - export interface Schema$SpannerLocation { - /** - * Set of backups used by the resource with name in the same format as what is available at http://table/spanner_automon.backup_metadata - */ - backupName?: string[] | null; - /** - * Set of databases used by the resource in format /span// - */ - dbName?: string[] | null; - } /** * `StandardSchedule` defines a schedule that run within the confines of a defined window of days. We can define recurrence type for schedule as HOURLY, DAILY, WEEKLY, MONTHLY or YEARLY. */ @@ -2099,9 +2003,6 @@ export namespace backupdr_v1 { */ gcpResource?: Schema$GcpResource; } - export interface Schema$TenantProjectProxy { - projectNumbers?: string[] | null; - } /** * Request message for `TestIamPermissions` method. */ @@ -2172,9 +2073,6 @@ export namespace backupdr_v1 { */ thirdPartyOauth2ClientId?: string | null; } - export interface Schema$ZoneConfiguration { - zone?: string | null; - } export class Resource$Projects { context: APIRequestContext; @@ -2192,6 +2090,7 @@ export namespace backupdr_v1 { backupVaults: Resource$Projects$Locations$Backupvaults; managementServers: Resource$Projects$Locations$Managementservers; operations: Resource$Projects$Locations$Operations; + serviceConfig: Resource$Projects$Locations$Serviceconfig; constructor(context: APIRequestContext) { this.context = context; this.backupPlanAssociations = @@ -2207,6 +2106,9 @@ export namespace backupdr_v1 { this.operations = new Resource$Projects$Locations$Operations( this.context ); + this.serviceConfig = new Resource$Projects$Locations$Serviceconfig( + this.context + ); } /** @@ -4043,6 +3945,10 @@ export namespace backupdr_v1 { * Optional. If set to true, any data source from this backup vault will also be deleted. */ force?: boolean; + /** + * Optional. If set to true, backupvault deletion will proceed even if there are backup plans referencing the backupvault. The default is 'false'. + */ + ignoreBackupPlanReferences?: boolean; /** * Required. Name of the resource. */ @@ -6379,7 +6285,7 @@ export namespace backupdr_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -6772,4 +6678,113 @@ export namespace backupdr_v1 { */ pageToken?: string; } + + export class Resource$Projects$Locations$Serviceconfig { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Initializes the service related config for a project. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + initialize( + params: Params$Resource$Projects$Locations$Serviceconfig$Initialize, + options: StreamMethodOptions + ): GaxiosPromise; + initialize( + params?: Params$Resource$Projects$Locations$Serviceconfig$Initialize, + options?: MethodOptions + ): GaxiosPromise; + initialize( + params: Params$Resource$Projects$Locations$Serviceconfig$Initialize, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + initialize( + params: Params$Resource$Projects$Locations$Serviceconfig$Initialize, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + initialize( + params: Params$Resource$Projects$Locations$Serviceconfig$Initialize, + callback: BodyResponseCallback + ): void; + initialize(callback: BodyResponseCallback): void; + initialize( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Serviceconfig$Initialize + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Serviceconfig$Initialize; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Serviceconfig$Initialize; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://backupdr.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:initialize').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Serviceconfig$Initialize + extends StandardParameters { + /** + * Required. The resource name of the serviceConfig used to initialize the service. Format: `projects/{project_id\}/locations/{location\}/serviceConfig`. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InitializeServiceRequest; + } } diff --git a/src/apis/batch/v1.ts b/src/apis/batch/v1.ts index 18ca6aa807..f0d2cfcbd2 100644 --- a/src/apis/batch/v1.ts +++ b/src/apis/batch/v1.ts @@ -504,7 +504,7 @@ export namespace batch_v1 { */ export interface Schema$CloudLoggingOption { /** - * Optional. Set this flag to true to change the [monitored resource type](https://cloud.google.com/monitoring/api/resources) for Cloud Logging logs generated by this Batch job from the [`batch.googleapis.com/Job`](https://cloud.google.com/monitoring/api/resources#tag_batch.googleapis.com/Job) type to the formerly used [`generic_task`](https://cloud.google.com/monitoring/api/resources#tag_generic_task) type. + * Optional. Set this field to `true` to change the [monitored resource type](https://cloud.google.com/monitoring/api/resources) for Cloud Logging logs generated by this Batch job from the [`batch.googleapis.com/Job`](https://cloud.google.com/monitoring/api/resources#tag_batch.googleapis.com/Job) type to the formerly used [`generic_task`](https://cloud.google.com/monitoring/api/resources#tag_generic_task) type. */ useGenericTaskMonitoredResource?: boolean | null; } @@ -650,7 +650,7 @@ export namespace batch_v1 { */ provisioningModel?: string | null; /** - * Optional. If specified, VMs will consume only the specified reservation. If not specified (default), VMs will consume any applicable reservation. Additionally, VMs will not consume any reservation if "NO_RESERVATION" is specified. + * Optional. If not specified (default), VMs will consume any applicable reservation. If "NO_RESERVATION" is specified, VMs will not consume any reservation. Otherwise, if specified, VMs will consume only the specified reservation. */ reservation?: string | null; } @@ -671,7 +671,7 @@ export namespace batch_v1 { */ installOpsAgent?: boolean | null; /** - * Name of an instance template used to create VMs. Named the field as 'instance_template' instead of 'template' to avoid C++ keyword conflict. Batch only supports global instance templates. You can specify the global instance template as a full or partial URL. + * Name of an instance template used to create VMs. Named the field as 'instance_template' instead of 'template' to avoid C++ keyword conflict. Batch only supports global instance templates from the same project as the job. You can specify the global instance template as a full or partial URL. */ instanceTemplate?: string | null; /** @@ -898,19 +898,19 @@ export namespace batch_v1 { allowedLocations?: string[] | null; } /** - * LogsPolicy describes how outputs from a Job's Tasks (stdout/stderr) will be preserved. + * LogsPolicy describes if and how a job's logs are preserved. Logs include information that is automatically written by the Batch service agent and any information that you configured the job's runnables to write to the `stdout` or `stderr` streams. */ export interface Schema$LogsPolicy { /** - * Optional. Additional settings for Cloud Logging. It will only take effect when the destination of `LogsPolicy` is set to `CLOUD_LOGGING`. + * Optional. When `destination` is set to `CLOUD_LOGGING`, you can optionally set this field to configure additional settings for Cloud Logging. */ cloudLoggingOption?: Schema$CloudLoggingOption; /** - * Where logs should be saved. + * If and where logs should be saved. */ destination?: string | null; /** - * The path to which logs are saved when the destination = PATH. This can be a local file path on the VM, or under the mount point of a Persistent Disk or Filestore, or a Cloud Storage path. + * When `destination` is set to `PATH`, you must set this field to the path where you want logs to be saved. This path can point to a local directory on the VM or (if congifured) a directory under the mount path of any Cloud Storage bucket, network file system (NFS), or writable persistent disk that is mounted to the job. For example, if the job has a bucket with `mountPath` set to `/mnt/disks/my-bucket`, you can write logs to the root directory of the `remotePath` of that bucket by setting this field to `/mnt/disks/my-bucket/`. */ logsPath?: string | null; } @@ -1012,7 +1012,7 @@ export namespace batch_v1 { */ endTime?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -2224,7 +2224,7 @@ export namespace batch_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/beyondcorp/v1.ts b/src/apis/beyondcorp/v1.ts index 61e6caa6fa..ca7194d2b4 100644 --- a/src/apis/beyondcorp/v1.ts +++ b/src/apis/beyondcorp/v1.ts @@ -213,7 +213,7 @@ export namespace beyondcorp_v1 { */ endTime?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -320,7 +320,7 @@ export namespace beyondcorp_v1 { */ endTime?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -448,7 +448,7 @@ export namespace beyondcorp_v1 { */ endTime?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -528,7 +528,7 @@ export namespace beyondcorp_v1 { */ endTime?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -648,7 +648,7 @@ export namespace beyondcorp_v1 { */ endTime?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -823,7 +823,7 @@ export namespace beyondcorp_v1 { */ endTime?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -1072,9 +1072,18 @@ export namespace beyondcorp_v1 { */ export interface Schema$GoogleCloudBeyondcorpSecuritygatewaysV1Hub { /** - * Optional. NAT gateway setup to ensure enough NAT IP addresses are available to handle the traffic needed to access the applications. Allows to explicitly enable or disable the NAT in the Hub along with the total IPs allocated to handle the capacity limits. + * Optional. Internet Gateway configuration. + */ + internetGateway?: Schema$GoogleCloudBeyondcorpSecuritygatewaysV1InternetGateway; + } + /** + * Represents the Internet Gateway configuration. + */ + export interface Schema$GoogleCloudBeyondcorpSecuritygatewaysV1InternetGateway { + /** + * Output only. List of IP addresses assigned to the Cloud NAT. */ - natGatewayConfig?: Schema$GoogleCloudBeyondcorpSecuritygatewaysV1NatGatewayConfig; + assignedIps?: string[] | null; } /** * Message for response to listing Applications. @@ -1110,28 +1119,6 @@ export namespace beyondcorp_v1 { */ unreachable?: string[] | null; } - /** - * Represents the NAT Gateway configuration. - */ - export interface Schema$GoogleCloudBeyondcorpSecuritygatewaysV1NatGatewayConfig { - /** - * Output only. List of NAT IPs that will be used for establishing connection to the endpoints. - */ - natIps?: string[] | null; - } - /** - * VPC Peering details. - */ - export interface Schema$GoogleCloudBeyondcorpSecuritygatewaysV1Peering { - /** - * Optional. List of DNS zones for DNS peering with the customer VPC network. - */ - dnsZones?: string[] | null; - /** - * Required. The name of the Target VPC network name in the format: `projects/{project\}/global/networks/{network\} - */ - targetVpcNetwork?: string | null; - } /** * Information about a BeyoncCorp SecurityGateway resource. */ @@ -1200,23 +1187,6 @@ export namespace beyondcorp_v1 { */ verb?: string | null; } - /** - * Set Peering request for creating a VPC peering between Google network and customer networks. - */ - export interface Schema$GoogleCloudBeyondcorpSecuritygatewaysV1SetPeeringRequest { - /** - * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - */ - requestId?: string | null; - /** - * Optional. If set, validates request by executing a dry-run which would not alter the resource in any way. - */ - validateOnly?: boolean | null; - /** - * Required. List of Peering connection information. - */ - vpcPeerings?: Schema$GoogleCloudBeyondcorpSecuritygatewaysV1Peering[]; - } /** * The response message for Locations.ListLocations. */ @@ -2533,7 +2503,7 @@ export namespace beyondcorp_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -7066,6 +7036,104 @@ export namespace beyondcorp_v1 { return createAPIRequest(parameters); } } + + /** + * Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + testIamPermissions( + params: Params$Resource$Projects$Locations$Global$Securitygateways$Applications$Testiampermissions, + options: StreamMethodOptions + ): GaxiosPromise; + testIamPermissions( + params?: Params$Resource$Projects$Locations$Global$Securitygateways$Applications$Testiampermissions, + options?: MethodOptions + ): GaxiosPromise; + testIamPermissions( + params: Params$Resource$Projects$Locations$Global$Securitygateways$Applications$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Global$Securitygateways$Applications$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Global$Securitygateways$Applications$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Global$Securitygateways$Applications$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Global$Securitygateways$Applications$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Global$Securitygateways$Applications$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://beyondcorp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:testIamPermissions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } } export interface Params$Resource$Projects$Locations$Global$Securitygateways$Applications$Create @@ -7108,6 +7176,18 @@ export namespace beyondcorp_v1 { */ requestBody?: Schema$GoogleCloudBeyondcorpSecuritygatewaysV1Application; } + export interface Params$Resource$Projects$Locations$Global$Securitygateways$Applications$Testiampermissions + extends StandardParameters { + /** + * REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1TestIamPermissionsRequest; + } export class Resource$Projects$Locations$Operations { context: APIRequestContext; @@ -7116,7 +7196,7 @@ export namespace beyondcorp_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -7815,6 +7895,100 @@ export namespace beyondcorp_v1 { } } + /** + * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getIamPolicy( + params: Params$Resource$Projects$Locations$Securitygateways$Getiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + getIamPolicy( + params?: Params$Resource$Projects$Locations$Securitygateways$Getiampolicy, + options?: MethodOptions + ): GaxiosPromise; + getIamPolicy( + params: Params$Resource$Projects$Locations$Securitygateways$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Securitygateways$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Securitygateways$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy( + callback: BodyResponseCallback + ): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Securitygateways$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Securitygateways$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Securitygateways$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://beyondcorp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Lists SecurityGateways in a given project and location. * @@ -8006,65 +8180,63 @@ export namespace beyondcorp_v1 { } /** - * This is a custom method to allow customers to create a peering connections between Google network and customer networks. This is enabled only for the allowlisted customers. + * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setPeering( - params: Params$Resource$Projects$Locations$Securitygateways$Setpeering, + setIamPolicy( + params: Params$Resource$Projects$Locations$Securitygateways$Setiampolicy, options: StreamMethodOptions ): GaxiosPromise; - setPeering( - params?: Params$Resource$Projects$Locations$Securitygateways$Setpeering, + setIamPolicy( + params?: Params$Resource$Projects$Locations$Securitygateways$Setiampolicy, options?: MethodOptions - ): GaxiosPromise; - setPeering( - params: Params$Resource$Projects$Locations$Securitygateways$Setpeering, + ): GaxiosPromise; + setIamPolicy( + params: Params$Resource$Projects$Locations$Securitygateways$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setPeering( - params: Params$Resource$Projects$Locations$Securitygateways$Setpeering, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Projects$Locations$Securitygateways$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setPeering( - params: Params$Resource$Projects$Locations$Securitygateways$Setpeering, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Projects$Locations$Securitygateways$Setiampolicy, + callback: BodyResponseCallback ): void; - setPeering( - callback: BodyResponseCallback + setIamPolicy( + callback: BodyResponseCallback ): void; - setPeering( + setIamPolicy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Securitygateways$Setpeering - | BodyResponseCallback + | Params$Resource$Projects$Locations$Securitygateways$Setiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Securitygateways$Setpeering; + {}) as Params$Resource$Projects$Locations$Securitygateways$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Securitygateways$Setpeering; + {} as Params$Resource$Projects$Locations$Securitygateways$Setiampolicy; options = {}; } @@ -8077,7 +8249,7 @@ export namespace beyondcorp_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+securityGateway}:setPeering').replace( + url: (rootUrl + '/v1/{+resource}:setIamPolicy').replace( /([^:]\/)\/+/g, '$1' ), @@ -8087,17 +8259,115 @@ export namespace beyondcorp_v1 { options ), params, - requiredParams: ['securityGateway'], - pathParams: ['securityGateway'], + requiredParams: ['resource'], + pathParams: ['resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); + } + } + + /** + * Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + testIamPermissions( + params: Params$Resource$Projects$Locations$Securitygateways$Testiampermissions, + options: StreamMethodOptions + ): GaxiosPromise; + testIamPermissions( + params?: Params$Resource$Projects$Locations$Securitygateways$Testiampermissions, + options?: MethodOptions + ): GaxiosPromise; + testIamPermissions( + params: Params$Resource$Projects$Locations$Securitygateways$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Securitygateways$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Securitygateways$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Securitygateways$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Securitygateways$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Securitygateways$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://beyondcorp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:testIamPermissions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); } } } @@ -8144,6 +8414,17 @@ export namespace beyondcorp_v1 { */ name?: string; } + export interface Params$Resource$Projects$Locations$Securitygateways$Getiampolicy + extends StandardParameters { + /** + * Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + */ + 'options.requestedPolicyVersion'?: number; + /** + * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + } export interface Params$Resource$Projects$Locations$Securitygateways$List extends StandardParameters { /** @@ -8187,17 +8468,29 @@ export namespace beyondcorp_v1 { */ requestBody?: Schema$GoogleCloudBeyondcorpSecuritygatewaysV1SecurityGateway; } - export interface Params$Resource$Projects$Locations$Securitygateways$Setpeering + export interface Params$Resource$Projects$Locations$Securitygateways$Setiampolicy extends StandardParameters { /** - * Required. BeyondCorp SecurityGateway name using the form: `projects/{project\}/locations/{location\}/securityGateways/{security_gateway\}` + * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. */ - securityGateway?: string; + resource?: string; /** * Request body metadata */ - requestBody?: Schema$GoogleCloudBeyondcorpSecuritygatewaysV1SetPeeringRequest; + requestBody?: Schema$GoogleIamV1SetIamPolicyRequest; + } + export interface Params$Resource$Projects$Locations$Securitygateways$Testiampermissions + extends StandardParameters { + /** + * REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1TestIamPermissionsRequest; } export class Resource$Projects$Locations$Securitygateways$Applications { @@ -8394,6 +8687,100 @@ export namespace beyondcorp_v1 { } } + /** + * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getIamPolicy( + params: Params$Resource$Projects$Locations$Securitygateways$Applications$Getiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + getIamPolicy( + params?: Params$Resource$Projects$Locations$Securitygateways$Applications$Getiampolicy, + options?: MethodOptions + ): GaxiosPromise; + getIamPolicy( + params: Params$Resource$Projects$Locations$Securitygateways$Applications$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Securitygateways$Applications$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Securitygateways$Applications$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy( + callback: BodyResponseCallback + ): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Securitygateways$Applications$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Securitygateways$Applications$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Securitygateways$Applications$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://beyondcorp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Lists Applications in a given project and location. * @@ -8491,6 +8878,100 @@ export namespace beyondcorp_v1 { ); } } + + /** + * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setIamPolicy( + params: Params$Resource$Projects$Locations$Securitygateways$Applications$Setiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + setIamPolicy( + params?: Params$Resource$Projects$Locations$Securitygateways$Applications$Setiampolicy, + options?: MethodOptions + ): GaxiosPromise; + setIamPolicy( + params: Params$Resource$Projects$Locations$Securitygateways$Applications$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Securitygateways$Applications$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Securitygateways$Applications$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy( + callback: BodyResponseCallback + ): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Securitygateways$Applications$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Securitygateways$Applications$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Securitygateways$Applications$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://beyondcorp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:setIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } export interface Params$Resource$Projects$Locations$Securitygateways$Applications$Delete @@ -8515,6 +8996,17 @@ export namespace beyondcorp_v1 { */ name?: string; } + export interface Params$Resource$Projects$Locations$Securitygateways$Applications$Getiampolicy + extends StandardParameters { + /** + * Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + */ + 'options.requestedPolicyVersion'?: number; + /** + * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + } export interface Params$Resource$Projects$Locations$Securitygateways$Applications$List extends StandardParameters { /** @@ -8538,4 +9030,16 @@ export namespace beyondcorp_v1 { */ parent?: string; } + export interface Params$Resource$Projects$Locations$Securitygateways$Applications$Setiampolicy + extends StandardParameters { + /** + * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleIamV1SetIamPolicyRequest; + } } diff --git a/src/apis/beyondcorp/v1alpha.ts b/src/apis/beyondcorp/v1alpha.ts index 2abec0256e..10ea474c7a 100644 --- a/src/apis/beyondcorp/v1alpha.ts +++ b/src/apis/beyondcorp/v1alpha.ts @@ -213,7 +213,7 @@ export namespace beyondcorp_v1alpha { */ endTime?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -665,7 +665,7 @@ export namespace beyondcorp_v1alpha { */ endTime?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -745,7 +745,7 @@ export namespace beyondcorp_v1alpha { */ endTime?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -840,7 +840,7 @@ export namespace beyondcorp_v1alpha { */ endTime?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -1015,7 +1015,7 @@ export namespace beyondcorp_v1alpha { */ endTime?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -1073,7 +1073,7 @@ export namespace beyondcorp_v1alpha { */ endTime?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -1663,9 +1663,18 @@ export namespace beyondcorp_v1alpha { */ export interface Schema$GoogleCloudBeyondcorpSecuritygatewaysV1alphaHub { /** - * Optional. NAT gateway setup to ensure enough NAT IP addresses are available to handle the traffic needed to access the applications. Allows to explicitly enable or disable the NAT in the Hub along with the total IPs allocated to handle the capacity limits. + * Optional. Internet Gateway configuration. + */ + internetGateway?: Schema$GoogleCloudBeyondcorpSecuritygatewaysV1alphaInternetGateway; + } + /** + * Represents the Internet Gateway configuration. + */ + export interface Schema$GoogleCloudBeyondcorpSecuritygatewaysV1alphaInternetGateway { + /** + * Output only. List of IP addresses assigned to the Cloud NAT. */ - natGatewayConfig?: Schema$GoogleCloudBeyondcorpSecuritygatewaysV1alphaNatGatewayConfig; + assignedIps?: string[] | null; } /** * Message for response to listing Applications. @@ -1701,28 +1710,6 @@ export namespace beyondcorp_v1alpha { */ unreachable?: string[] | null; } - /** - * Represents the NAT Gateway configuration. - */ - export interface Schema$GoogleCloudBeyondcorpSecuritygatewaysV1alphaNatGatewayConfig { - /** - * Output only. List of NAT IPs that will be used for establishing connection to the endpoints. - */ - natIps?: string[] | null; - } - /** - * VPC Peering details. - */ - export interface Schema$GoogleCloudBeyondcorpSecuritygatewaysV1alphaPeering { - /** - * Optional. List of DNS zones for DNS peering with the customer VPC network. - */ - dnsZones?: string[] | null; - /** - * Required. The name of the Target VPC network name in the format: `projects/{project\}/global/networks/{network\} - */ - targetVpcNetwork?: string | null; - } /** * Information about a BeyoncCorp SecurityGateway resource. */ @@ -1791,23 +1778,6 @@ export namespace beyondcorp_v1alpha { */ verb?: string | null; } - /** - * Set Peering request for creating a VPC peering between Google network and customer networks. - */ - export interface Schema$GoogleCloudBeyondcorpSecuritygatewaysV1alphaSetPeeringRequest { - /** - * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - */ - requestId?: string | null; - /** - * Optional. If set, validates request by executing a dry-run which would not alter the resource in any way. - */ - validateOnly?: boolean | null; - /** - * Required. List of Peering connection information. - */ - vpcPeerings?: Schema$GoogleCloudBeyondcorpSecuritygatewaysV1alphaPeering[]; - } /** * Represents the metadata of the long-running operation. */ @@ -5341,7 +5311,7 @@ export namespace beyondcorp_v1alpha { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -13855,7 +13825,7 @@ export namespace beyondcorp_v1alpha { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -14935,102 +14905,6 @@ export namespace beyondcorp_v1alpha { } } - /** - * This is a custom method to allow customers to create a peering connections between Google network and customer networks. This is enabled only for the allowlisted customers. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - setPeering( - params: Params$Resource$Projects$Locations$Securitygateways$Setpeering, - options: StreamMethodOptions - ): GaxiosPromise; - setPeering( - params?: Params$Resource$Projects$Locations$Securitygateways$Setpeering, - options?: MethodOptions - ): GaxiosPromise; - setPeering( - params: Params$Resource$Projects$Locations$Securitygateways$Setpeering, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setPeering( - params: Params$Resource$Projects$Locations$Securitygateways$Setpeering, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setPeering( - params: Params$Resource$Projects$Locations$Securitygateways$Setpeering, - callback: BodyResponseCallback - ): void; - setPeering( - callback: BodyResponseCallback - ): void; - setPeering( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Securitygateways$Setpeering - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Securitygateways$Setpeering; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Securitygateways$Setpeering; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://beyondcorp.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1alpha/{+securityGateway}:setPeering').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['securityGateway'], - pathParams: ['securityGateway'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - /** * Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. * @@ -15238,18 +15112,6 @@ export namespace beyondcorp_v1alpha { */ requestBody?: Schema$GoogleIamV1SetIamPolicyRequest; } - export interface Params$Resource$Projects$Locations$Securitygateways$Setpeering - extends StandardParameters { - /** - * Required. BeyondCorp SecurityGateway name using the form: `projects/{project\}/locations/{location\}/securityGateways/{security_gateway\}` - */ - securityGateway?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GoogleCloudBeyondcorpSecuritygatewaysV1alphaSetPeeringRequest; - } export interface Params$Resource$Projects$Locations$Securitygateways$Testiampermissions extends StandardParameters { /** diff --git a/src/apis/bigquery/v2.ts b/src/apis/bigquery/v2.ts index d037b4e556..7fc239b1ff 100644 --- a/src/apis/bigquery/v2.ts +++ b/src/apis/bigquery/v2.ts @@ -193,7 +193,7 @@ export namespace bigquery_v2 { */ argumentKind?: string | null; /** - * Required unless argument_kind = ANY_TYPE. + * Set if argument_kind == FIXED_TYPE. */ dataType?: Schema$StandardSqlDataType; /** @@ -458,19 +458,19 @@ export namespace bigquery_v2 { */ export interface Schema$BigLakeConfiguration { /** - * Required. The connection specifying the credentials to be used to read and write to external storage, such as Cloud Storage. The connection_id can have the form `{project\}.{location\}.{connection_id\}` or `projects/{project\}/locations/{location\}/connections/{connection_id\}". + * Optional. The connection specifying the credentials to be used to read and write to external storage, such as Cloud Storage. The connection_id can have the form `{project\}.{location\}.{connection_id\}` or `projects/{project\}/locations/{location\}/connections/{connection_id\}". */ connectionId?: string | null; /** - * Required. The file format the table data is stored in. + * Optional. The file format the table data is stored in. */ fileFormat?: string | null; /** - * Required. The fully qualified location prefix of the external folder where table data is stored. The '*' wildcard character is not allowed. The URI should be in the format `gs://bucket/path_to_table/` + * Optional. The fully qualified location prefix of the external folder where table data is stored. The '*' wildcard character is not allowed. The URI should be in the format `gs://bucket/path_to_table/` */ storageUri?: string | null; /** - * Required. The table format the metadata only snapshots are stored in. + * Optional. The table format the metadata only snapshots are stored in. */ tableFormat?: string | null; } @@ -762,7 +762,7 @@ export namespace bigquery_v2 { */ export interface Schema$Clustering { /** - * One or more fields on which data should be clustered. Only top-level, non-repeated, simple-type fields are supported. The ordering of the clustering fields should be prioritized from most to least important for filtering purposes. Additional information on limitations can be found here: https://cloud.google.com/bigquery/docs/creating-clustered-tables#limitations + * One or more fields on which data should be clustered. Only top-level, non-repeated, simple-type fields are supported. The ordering of the clustering fields should be prioritized from most to least important for filtering purposes. For additional information, see [Introduction to clustered tables](https://cloud.google.com/bigquery/docs/clustered-tables#limitations). */ fields?: string[] | null; } @@ -881,6 +881,7 @@ export namespace bigquery_v2 { * Optional. An array of objects that define dataset access for one or more entities. You can set this property when inserting or updating a dataset in order to control who is allowed to access the data. If unspecified at dataset creation time, BigQuery adds default dataset access for the following entities: access.specialGroup: projectReaders; access.role: READER; access.specialGroup: projectWriters; access.role: WRITER; access.specialGroup: projectOwners; access.role: OWNER; access.userByEmail: [dataset creator email]; access.role: OWNER; If you patch a dataset, then this field is overwritten by the patched dataset's access field. To add entities, you must supply the entire existing access array in addition to any new entities that you want to add. */ access?: Array<{ + condition?: Schema$Expr; dataset?: Schema$DatasetAccessEntry; domain?: string; groupByEmail?: string; @@ -1468,7 +1469,7 @@ export namespace bigquery_v2 { title?: string | null; } /** - * Options defining open source compatible datasets living in the BigQuery catalog. Contains metadata of open source database, schema or namespace represented by the current dataset. + * Options defining open source compatible datasets living in the BigQuery catalog. Contains metadata of open source database, schema, or namespace represented by the current dataset. */ export interface Schema$ExternalCatalogDatasetOptions { /** @@ -1476,20 +1477,20 @@ export namespace bigquery_v2 { */ defaultStorageLocationUri?: string | null; /** - * Optional. A map of key value pairs defining the parameters and properties of the open source schema. Maximum size of 2Mib. + * Optional. A map of key value pairs defining the parameters and properties of the open source schema. Maximum size of 2MiB. */ parameters?: {[key: string]: string} | null; } /** - * Metadata about open source compatible table. The fields contained in these options correspond to hive metastore's table level properties. + * Metadata about open source compatible table. The fields contained in these options correspond to Hive metastore's table-level properties. */ export interface Schema$ExternalCatalogTableOptions { /** - * Optional. The connection specifying the credentials to be used to read external storage, such as Azure Blob, Cloud Storage, or S3. The connection is needed to read the open source table from BigQuery Engine. The connection_id can have the form `..` or `projects//locations//connections/`. + * Optional. A connection ID that specifies the credentials to be used to read external storage, such as Azure Blob, Cloud Storage, or Amazon S3. This connection is needed to read the open source table from BigQuery. The connection_id format must be either `..` or `projects//locations//connections/`. */ connectionId?: string | null; /** - * Optional. A map of key value pairs defining the parameters and properties of the open source table. Corresponds with hive meta store table parameters. Maximum size of 4Mib. + * Optional. A map of the key-value pairs defining the parameters and properties of the open source table. Corresponds with Hive metastore table parameters. Maximum size of 4MiB. */ parameters?: {[key: string]: string} | null; /** @@ -2807,7 +2808,7 @@ export namespace bigquery_v2 { */ sparkStatistics?: Schema$SparkStatistics; /** - * Output only. The type of query statement, if valid. Possible values: * `SELECT`: [`SELECT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#select_list) statement. * `ASSERT`: [`ASSERT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/debugging-statements#assert) statement. * `INSERT`: [`INSERT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/dml-syntax#insert_statement) statement. * `UPDATE`: [`UPDATE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#update_statement) statement. * `DELETE`: [`DELETE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language) statement. * `MERGE`: [`MERGE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language) statement. * `CREATE_TABLE`: [`CREATE TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_table_statement) statement, without `AS SELECT`. * `CREATE_TABLE_AS_SELECT`: [`CREATE TABLE AS SELECT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#query_statement) statement. * `CREATE_VIEW`: [`CREATE VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_view_statement) statement. * `CREATE_MODEL`: [`CREATE MODEL`](https://cloud.google.com/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-create#create_model_statement) statement. * `CREATE_MATERIALIZED_VIEW`: [`CREATE MATERIALIZED VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_materialized_view_statement) statement. * `CREATE_FUNCTION`: [`CREATE FUNCTION`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_function_statement) statement. * `CREATE_TABLE_FUNCTION`: [`CREATE TABLE FUNCTION`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_table_function_statement) statement. * `CREATE_PROCEDURE`: [`CREATE PROCEDURE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_procedure) statement. * `CREATE_ROW_ACCESS_POLICY`: [`CREATE ROW ACCESS POLICY`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_row_access_policy_statement) statement. * `CREATE_SCHEMA`: [`CREATE SCHEMA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_schema_statement) statement. * `CREATE_SNAPSHOT_TABLE`: [`CREATE SNAPSHOT TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_snapshot_table_statement) statement. * `CREATE_SEARCH_INDEX`: [`CREATE SEARCH INDEX`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_search_index_statement) statement. * `DROP_TABLE`: [`DROP TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_table_statement) statement. * `DROP_EXTERNAL_TABLE`: [`DROP EXTERNAL TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_external_table_statement) statement. * `DROP_VIEW`: [`DROP VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_view_statement) statement. * `DROP_MODEL`: [`DROP MODEL`](https://cloud.google.com/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-drop-model) statement. * `DROP_MATERIALIZED_VIEW`: [`DROP MATERIALIZED VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_materialized_view_statement) statement. * `DROP_FUNCTION` : [`DROP FUNCTION`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_function_statement) statement. * `DROP_TABLE_FUNCTION` : [`DROP TABLE FUNCTION`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_table_function) statement. * `DROP_PROCEDURE`: [`DROP PROCEDURE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_procedure_statement) statement. * `DROP_SEARCH_INDEX`: [`DROP SEARCH INDEX`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_search_index) statement. * `DROP_SCHEMA`: [`DROP SCHEMA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_schema_statement) statement. * `DROP_SNAPSHOT_TABLE`: [`DROP SNAPSHOT TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_snapshot_table_statement) statement. * `DROP_ROW_ACCESS_POLICY`: [`DROP [ALL] ROW ACCESS POLICY|POLICIES`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_row_access_policy_statement) statement. * `ALTER_TABLE`: [`ALTER TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#alter_table_set_options_statement) statement. * `ALTER_VIEW`: [`ALTER VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#alter_view_set_options_statement) statement. * `ALTER_MATERIALIZED_VIEW`: [`ALTER MATERIALIZED VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#alter_materialized_view_set_options_statement) statement. * `ALTER_SCHEMA`: [`ALTER SCHEMA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#aalter_schema_set_options_statement) statement. * `SCRIPT`: [`SCRIPT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/procedural-language). * `TRUNCATE_TABLE`: [`TRUNCATE TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/dml-syntax#truncate_table_statement) statement. * `CREATE_EXTERNAL_TABLE`: [`CREATE EXTERNAL TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_external_table_statement) statement. * `EXPORT_DATA`: [`EXPORT DATA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/other-statements#export_data_statement) statement. * `EXPORT_MODEL`: [`EXPORT MODEL`](https://cloud.google.com/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-export-model) statement. * `LOAD_DATA`: [`LOAD DATA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/other-statements#load_data_statement) statement. * `CALL`: [`CALL`](https://cloud.google.com/bigquery/docs/reference/standard-sql/procedural-language#call) statement. + * Output only. The type of query statement, if valid. Possible values: * `SELECT`: [`SELECT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#select_list) statement. * `ASSERT`: [`ASSERT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/debugging-statements#assert) statement. * `INSERT`: [`INSERT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/dml-syntax#insert_statement) statement. * `UPDATE`: [`UPDATE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/dml-syntax#update_statement) statement. * `DELETE`: [`DELETE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language) statement. * `MERGE`: [`MERGE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language) statement. * `CREATE_TABLE`: [`CREATE TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_table_statement) statement, without `AS SELECT`. * `CREATE_TABLE_AS_SELECT`: [`CREATE TABLE AS SELECT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_table_statement) statement. * `CREATE_VIEW`: [`CREATE VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_view_statement) statement. * `CREATE_MODEL`: [`CREATE MODEL`](https://cloud.google.com/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-create#create_model_statement) statement. * `CREATE_MATERIALIZED_VIEW`: [`CREATE MATERIALIZED VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_materialized_view_statement) statement. * `CREATE_FUNCTION`: [`CREATE FUNCTION`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_function_statement) statement. * `CREATE_TABLE_FUNCTION`: [`CREATE TABLE FUNCTION`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_table_function_statement) statement. * `CREATE_PROCEDURE`: [`CREATE PROCEDURE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_procedure) statement. * `CREATE_ROW_ACCESS_POLICY`: [`CREATE ROW ACCESS POLICY`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_row_access_policy_statement) statement. * `CREATE_SCHEMA`: [`CREATE SCHEMA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_schema_statement) statement. * `CREATE_SNAPSHOT_TABLE`: [`CREATE SNAPSHOT TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_snapshot_table_statement) statement. * `CREATE_SEARCH_INDEX`: [`CREATE SEARCH INDEX`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_search_index_statement) statement. * `DROP_TABLE`: [`DROP TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_table_statement) statement. * `DROP_EXTERNAL_TABLE`: [`DROP EXTERNAL TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_external_table_statement) statement. * `DROP_VIEW`: [`DROP VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_view_statement) statement. * `DROP_MODEL`: [`DROP MODEL`](https://cloud.google.com/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-drop-model) statement. * `DROP_MATERIALIZED_VIEW`: [`DROP MATERIALIZED VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_materialized_view_statement) statement. * `DROP_FUNCTION` : [`DROP FUNCTION`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_function_statement) statement. * `DROP_TABLE_FUNCTION` : [`DROP TABLE FUNCTION`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_table_function) statement. * `DROP_PROCEDURE`: [`DROP PROCEDURE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_procedure_statement) statement. * `DROP_SEARCH_INDEX`: [`DROP SEARCH INDEX`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_search_index) statement. * `DROP_SCHEMA`: [`DROP SCHEMA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_schema_statement) statement. * `DROP_SNAPSHOT_TABLE`: [`DROP SNAPSHOT TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_snapshot_table_statement) statement. * `DROP_ROW_ACCESS_POLICY`: [`DROP [ALL] ROW ACCESS POLICY|POLICIES`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#drop_row_access_policy_statement) statement. * `ALTER_TABLE`: [`ALTER TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#alter_table_set_options_statement) statement. * `ALTER_VIEW`: [`ALTER VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#alter_view_set_options_statement) statement. * `ALTER_MATERIALIZED_VIEW`: [`ALTER MATERIALIZED VIEW`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#alter_materialized_view_set_options_statement) statement. * `ALTER_SCHEMA`: [`ALTER SCHEMA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#alter_schema_set_options_statement) statement. * `SCRIPT`: [`SCRIPT`](https://cloud.google.com/bigquery/docs/reference/standard-sql/procedural-language). * `TRUNCATE_TABLE`: [`TRUNCATE TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/dml-syntax#truncate_table_statement) statement. * `CREATE_EXTERNAL_TABLE`: [`CREATE EXTERNAL TABLE`](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#create_external_table_statement) statement. * `EXPORT_DATA`: [`EXPORT DATA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/other-statements#export_data_statement) statement. * `EXPORT_MODEL`: [`EXPORT MODEL`](https://cloud.google.com/bigquery-ml/docs/reference/standard-sql/bigqueryml-syntax-export-model) statement. * `LOAD_DATA`: [`LOAD DATA`](https://cloud.google.com/bigquery/docs/reference/standard-sql/other-statements#load_data_statement) statement. * `CALL`: [`CALL`](https://cloud.google.com/bigquery/docs/reference/standard-sql/procedural-language#call) statement. */ statementType?: string | null; /** @@ -3560,7 +3561,7 @@ export namespace bigquery_v2 { */ labels?: {[key: string]: string} | null; /** - * The geographic location where the job should run. See details at https://cloud.google.com/bigquery/docs/locations#specifying_your_location. + * The geographic location where the job should run. For more information, see how to [specify locations](https://cloud.google.com/bigquery/docs/locations#specify_locations). */ location?: string | null; /** @@ -4426,6 +4427,10 @@ export namespace bigquery_v2 { * Output only. The geographic location where the table resides. This value is inherited from the dataset. */ location?: string | null; + /** + * Optional. If set, overrides the default managed table type configured in the dataset. + */ + managedTableType?: string | null; /** * Optional. The materialized view definition. */ @@ -4947,7 +4952,7 @@ export namespace bigquery_v2 { */ colsampleBytree?: number | null; /** - * The contribution metric. Applies to contribution analysis models. Allowed formats supported are for summable and summable ratio contribution metrics. These include expressions such as "SUM(x)" or "SUM(x)/SUM(y)", where x and y are column names from the base table. + * The contribution metric. Applies to contribution analysis models. Allowed formats supported are for summable and summable ratio contribution metrics. These include expressions such as `SUM(x)` or `SUM(x)/SUM(y)`, where x and y are column names from the base table. */ contributionMetric?: string | null; /** @@ -4959,7 +4964,7 @@ export namespace bigquery_v2 { */ dataFrequency?: string | null; /** - * The column to split data with. This column won't be used as a feature. 1. When data_split_method is CUSTOM, the corresponding column should be boolean. The rows with true value tag are eval data, and the false are training data. 2. When data_split_method is SEQ, the first DATA_SPLIT_EVAL_FRACTION rows (from smallest to largest) in the corresponding column are used as training data, and the rest are eval data. It respects the order in Orderable data types: https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#data-type-properties + * The column to split data with. This column won't be used as a feature. 1. When data_split_method is CUSTOM, the corresponding column should be boolean. The rows with true value tag are eval data, and the false are training data. 2. When data_split_method is SEQ, the first DATA_SPLIT_EVAL_FRACTION rows (from smallest to largest) in the corresponding column are used as training data, and the rest are eval data. It respects the order in Orderable data types: https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#data_type_properties */ dataSplitColumn?: string | null; /** @@ -6003,6 +6008,10 @@ export namespace bigquery_v2 { projectId?: string; } export interface Params$Resource$Datasets$Get extends StandardParameters { + /** + * Optional. The version of the access policy schema to fetch. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for conditional access policy binding in datasets must specify version 3. Dataset with no conditional role bindings in access policy may specify any valid value or leave the field unset. This field will be mapped to [IAM Policy version] (https://cloud.google.com/iam/docs/policies#versions) and will be used to fetch policy from IAM. If unset or if 0 or 1 value is used for dataset with conditional bindings, access entry with condition will have role string appended by 'withcond' string followed by a hash value. For example : { "access": [ { "role": "roles/bigquery.dataViewer_with_conditionalbinding_7a34awqsda", "userByEmail": "user@example.com", \} ] \} Please refer https://cloud.google.com/iam/docs/troubleshooting-withcond for more details. + */ + accessPolicyVersion?: number; /** * Required. Dataset ID of the requested dataset */ @@ -6017,6 +6026,10 @@ export namespace bigquery_v2 { projectId?: string; } export interface Params$Resource$Datasets$Insert extends StandardParameters { + /** + * Optional. The version of the provided access policy schema. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. This version refers to the schema version of the access policy and not the version of access policy. This field's value can be equal or more than the access policy schema provided in the request. For example, * Requests with conditional access policy binding in datasets must specify version 3. * But dataset with no conditional role bindings in access policy may specify any valid value or leave the field unset. If unset or if 0 or 1 value is used for dataset with conditional bindings, request will be rejected. This field will be mapped to IAM Policy version (https://cloud.google.com/iam/docs/policies#versions) and will be used to set policy in IAM. + */ + accessPolicyVersion?: number; /** * Required. Project ID of the new dataset */ @@ -6050,6 +6063,10 @@ export namespace bigquery_v2 { projectId?: string; } export interface Params$Resource$Datasets$Patch extends StandardParameters { + /** + * Optional. The version of the provided access policy schema. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. This version refers to the schema version of the access policy and not the version of access policy. This field's value can be equal or more than the access policy schema provided in the request. For example, * Operations updating conditional access policy binding in datasets must specify version 3. Some of the operations are : - Adding a new access policy entry with condition. - Removing an access policy entry with condition. - Updating an access policy entry with condition. * But dataset with no conditional role bindings in access policy may specify any valid value or leave the field unset. If unset or if 0 or 1 value is used for dataset with conditional bindings, request will be rejected. This field will be mapped to IAM Policy version (https://cloud.google.com/iam/docs/policies#versions) and will be used to set policy in IAM. + */ + accessPolicyVersion?: number; /** * Required. Dataset ID of the dataset being updated */ @@ -6081,6 +6098,10 @@ export namespace bigquery_v2 { requestBody?: Schema$UndeleteDatasetRequest; } export interface Params$Resource$Datasets$Update extends StandardParameters { + /** + * Optional. The version of the provided access policy schema. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. This version refers to the schema version of the access policy and not the version of access policy. This field's value can be equal or more than the access policy schema provided in the request. For example, * Operations updating conditional access policy binding in datasets must specify version 3. Some of the operations are : - Adding a new access policy entry with condition. - Removing an access policy entry with condition. - Updating an access policy entry with condition. * But dataset with no conditional role bindings in access policy may specify any valid value or leave the field unset. If unset or if 0 or 1 value is used for dataset with conditional bindings, request will be rejected. This field will be mapped to IAM Policy version (https://cloud.google.com/iam/docs/policies#versions) and will be used to set policy in IAM. + */ + accessPolicyVersion?: number; /** * Required. Dataset ID of the dataset being updated */ @@ -6727,7 +6748,7 @@ export namespace bigquery_v2 { */ jobId?: string; /** - * The geographic location of the job. You must specify the location to run the job for the following scenarios: * If the location to run a job is not in the `us` or the `eu` multi-regional location * If the job's location is in a single region (for example, `us-central1`) For more information, see https://cloud.google.com/bigquery/docs/locations#specifying_your_location. + * The geographic location of the job. You must [specify the location](https://cloud.google.com/bigquery/docs/locations#specify_locations) to run the job for the following scenarios: * If the location to run a job is not in the `us` or the `eu` multi-regional location * If the job's location is in a single region (for example, `us-central1`) */ location?: string; /** @@ -6741,7 +6762,7 @@ export namespace bigquery_v2 { */ jobId?: string; /** - * The geographic location of the job. Required. See details at: https://cloud.google.com/bigquery/docs/locations#specifying_your_location. + * The geographic location of the job. Required. For more information, see how to [specify locations](https://cloud.google.com/bigquery/docs/locations#specify_locations). */ location?: string; /** @@ -6755,7 +6776,7 @@ export namespace bigquery_v2 { */ jobId?: string; /** - * The geographic location of the job. You must specify the location to run the job for the following scenarios: * If the location to run a job is not in the `us` or the `eu` multi-regional location * If the job's location is in a single region (for example, `us-central1`) For more information, see https://cloud.google.com/bigquery/docs/locations#specifying_your_location. + * The geographic location of the job. You must specify the location to run the job for the following scenarios: * If the location to run a job is not in the `us` or the `eu` multi-regional location * If the job's location is in a single region (for example, `us-central1`) For more information, see how to [specify locations](https://cloud.google.com/bigquery/docs/locations#specify_locations). */ location?: string; /** @@ -6774,7 +6795,7 @@ export namespace bigquery_v2 { */ jobId?: string; /** - * The geographic location of the job. You must specify the location to run the job for the following scenarios: * If the location to run a job is not in the `us` or the `eu` multi-regional location * If the job's location is in a single region (for example, `us-central1`) For more information, see https://cloud.google.com/bigquery/docs/locations#specifying_your_location. + * The geographic location of the job. You must specify the location to run the job for the following scenarios: * If the location to run a job is not in the `us` or the `eu` multi-regional location * If the job's location is in a single region (for example, `us-central1`) For more information, see how to [specify locations](https://cloud.google.com/bigquery/docs/locations#specify_locations). */ location?: string; /** diff --git a/src/apis/bigqueryreservation/v1.ts b/src/apis/bigqueryreservation/v1.ts index 1c57c795c1..2e5343e9b8 100644 --- a/src/apis/bigqueryreservation/v1.ts +++ b/src/apis/bigqueryreservation/v1.ts @@ -132,6 +132,10 @@ export namespace bigqueryreservation_v1 { * The resource which will use the reservation. E.g. `projects/myproject`, `folders/123`, or `organizations/456`. */ assignee?: string | null; + /** + * Optional. This field controls if "Gemini in BigQuery" (https://cloud.google.com/gemini/docs/bigquery/overview) features should be enabled for this reservation assignment, which is not on by default. "Gemini in BigQuery" has a distinct compliance posture from BigQuery. If this field is set to true, the assignment job type is QUERY, and the parent reservation edition is ENTERPRISE_PLUS, then the assignment will give the grantee project/organization access to "Gemini in BigQuery" features. + */ + enableGeminiInBigquery?: boolean | null; /** * Which type of jobs will use the reservation. */ @@ -150,7 +154,7 @@ export namespace bigqueryreservation_v1 { */ export interface Schema$Autoscale { /** - * Output only. The slot capacity added to this reservation when autoscale happens. Will be between [0, max_slots]. + * Output only. The slot capacity added to this reservation when autoscale happens. Will be between [0, max_slots]. Note: after users reduce max_slots, it may take a while before it can be propagated, so current_slots may stay in the original value and could be larger than max_slots for that brief period (less than one minute) */ currentSlots?: string | null; /** @@ -306,7 +310,7 @@ export namespace bigqueryreservation_v1 { */ autoscale?: Schema$Autoscale; /** - * Job concurrency target which sets a soft upper bound on the number of jobs that can run concurrently in this reservation. This is a soft target due to asynchronous nature of the system and various optimizations for small queries. Default value is 0 which means that concurrency target will be automatically computed by the system. NOTE: this field is exposed as target job concurrency in the Information Schema, DDL and BQ CLI. + * Job concurrency target which sets a soft upper bound on the number of jobs that can run concurrently in this reservation. This is a soft target due to asynchronous nature of the system and various optimizations for small queries. Default value is 0 which means that concurrency target will be automatically computed by the system. NOTE: this field is exposed as target job concurrency in the Information Schema, DDL and BigQuery CLI. */ concurrency?: string | null; /** @@ -321,6 +325,10 @@ export namespace bigqueryreservation_v1 { * If false, any query or pipeline job using this reservation will use idle slots from other reservations within the same admin project. If true, a query or pipeline job using this reservation will execute with the slot capacity specified in the slot_capacity field at most. */ ignoreIdleSlots?: boolean | null; + /** + * Optional. The labels associated with this reservation. You can use these to organize and group your reservations. You can set this property when inserting or updating a reservation. + */ + labels?: {[key: string]: string} | null; /** * Applicable only for reservations located within one of the BigQuery multi-regions (US or EU). If set to true, this reservation is placed in the organization's secondary region which is designated for disaster recovery purposes. If false, this reservation is placed in the organization's default region. NOTE: this is a preview feature. Project must be allow-listed in order to set this field. */ @@ -330,15 +338,15 @@ export namespace bigqueryreservation_v1 { */ name?: string | null; /** - * Optional. The original primary location of the reservation which is set only during its creation and remains unchanged afterwards. It can be used by the customer to answer questions about disaster recovery billing. The field is output only for customers and should not be specified, however, the google.api.field_behavior is not set to OUTPUT_ONLY since these fields are set in rerouted requests sent across regions. + * Output only. The location where the reservation was originally created. This is set only during the failover reservation's creation. All billing charges for the failover reservation will be applied to this location. */ originalPrimaryLocation?: string | null; /** - * Optional. The primary location of the reservation. The field is only meaningful for reservation used for cross region disaster recovery. The field is output only for customers and should not be specified, however, the google.api.field_behavior is not set to OUTPUT_ONLY since these fields are set in rerouted requests sent across regions. + * Output only. The current location of the reservation's primary replica. This field is only set for reservations using the managed disaster recovery feature. */ primaryLocation?: string | null; /** - * Optional. The secondary location of the reservation which is used for cross region disaster recovery purposes. Customer can set this in create/update reservation calls to create a failover reservation or convert a non-failover reservation to a failover reservation. + * Optional. The current location of the reservation's secondary replica. This field is only set for reservations using the managed disaster recovery feature. Users can set this in create reservation calls to create a failover reservation or in update reservation calls to convert a non-failover reservation to a failover reservation(or vice versa). */ secondaryLocation?: string | null; /** @@ -1822,7 +1830,7 @@ export namespace bigqueryreservation_v1 { } /** - * Failover a reservation to the secondary location. The operation should be done in the current secondary location, which will be promoted to the new primary location for the reservation. Attempting to failover a reservation in the current primary location will fail with the error code `google.rpc.Code.FAILED_PRECONDITION`. + * Fail over a reservation to the secondary location. The operation should be done in the current secondary location, which will be promoted to the new primary location for the reservation. Attempting to failover a reservation in the current primary location will fail with the error code `google.rpc.Code.FAILED_PRECONDITION`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/bigtableadmin/v2.ts b/src/apis/bigtableadmin/v2.ts index d03419b24f..16cda46837 100644 --- a/src/apis/bigtableadmin/v2.ts +++ b/src/apis/bigtableadmin/v2.ts @@ -215,11 +215,11 @@ export namespace bigtableadmin_v2 { */ export interface Schema$AutomatedBackupPolicy { /** - * Required. How frequently automated backups should occur. The only supported value at this time is 24 hours. + * How frequently automated backups should occur. The only supported value at this time is 24 hours. An undefined frequency is treated as 24 hours. */ frequency?: string | null; /** - * Required. How long the automated backups should be retained. The only supported value at this time is 3 days. + * Required. How long the automated backups should be retained. Values must be at least 3 days and at most 90 days. */ retentionPeriod?: string | null; } @@ -821,7 +821,7 @@ export namespace bigtableadmin_v2 { rowPrefixes?: string[] | null; } /** - * A value that combines incremental updates into a summarized value. Data is never directly written or read using type `Aggregate`. Writes will provide either the `input_type` or `state_type`, and reads will always return the `state_type` . + * A value that combines incremental updates into a summarized value. Data is never directly written or read using type `Aggregate`. Writes provide either the `input_type` or `state_type`, and reads always return the `state_type` . */ export interface Schema$GoogleBigtableAdminV2TypeAggregate { /** @@ -829,7 +829,7 @@ export namespace bigtableadmin_v2 { */ hllppUniqueCount?: Schema$GoogleBigtableAdminV2TypeAggregateHyperLogLogPlusPlusUniqueCount; /** - * Type of the inputs that are accumulated by this `Aggregate`, which must specify a full encoding. Use `AddInput` mutations to accumulate new inputs. + * Type of the inputs that are accumulated by this `Aggregate`. Use `AddInput` mutations to accumulate new inputs. */ inputType?: Schema$Type; /** @@ -841,7 +841,7 @@ export namespace bigtableadmin_v2 { */ min?: Schema$GoogleBigtableAdminV2TypeAggregateMin; /** - * Output only. Type that holds the internal accumulator state for the `Aggregate`. This is a function of the `input_type` and `aggregator` chosen, and will always specify a full encoding. + * Output only. Type that holds the internal accumulator state for the `Aggregate`. This is a function of the `input_type` and `aggregator` chosen. */ stateType?: Schema$Type; /** @@ -883,12 +883,12 @@ export namespace bigtableadmin_v2 { */ export interface Schema$GoogleBigtableAdminV2TypeBytes { /** - * The encoding to use when converting to/from lower level types. + * The encoding to use when converting to or from lower level types. */ encoding?: Schema$GoogleBigtableAdminV2TypeBytesEncoding; } /** - * Rules used to convert to/from lower level types. + * Rules used to convert to or from lower level types. */ export interface Schema$GoogleBigtableAdminV2TypeBytesEncoding { /** @@ -897,7 +897,7 @@ export namespace bigtableadmin_v2 { raw?: Schema$GoogleBigtableAdminV2TypeBytesEncodingRaw; } /** - * Leaves the value "as-is" * Order-preserving? Yes * Self-delimiting? No * Compatibility? N/A + * Leaves the value as-is. Sorted mode: all values are supported. Distinct mode: all values are supported. */ export interface Schema$GoogleBigtableAdminV2TypeBytesEncodingRaw {} /** @@ -917,12 +917,12 @@ export namespace bigtableadmin_v2 { */ export interface Schema$GoogleBigtableAdminV2TypeInt64 { /** - * The encoding to use when converting to/from lower level types. + * The encoding to use when converting to or from lower level types. */ encoding?: Schema$GoogleBigtableAdminV2TypeInt64Encoding; } /** - * Rules used to convert to/from lower level types. + * Rules used to convert to or from lower level types. */ export interface Schema$GoogleBigtableAdminV2TypeInt64Encoding { /** @@ -931,7 +931,7 @@ export namespace bigtableadmin_v2 { bigEndianBytes?: Schema$GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes; } /** - * Encodes the value as an 8-byte big endian twos complement `Bytes` value. * Order-preserving? No (positive values only) * Self-delimiting? Yes * Compatibility? - BigQuery Federation `BINARY` encoding - HBase `Bytes.toBytes` - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN` + * Encodes the value as an 8-byte big-endian two's complement value. Sorted mode: non-negative values are supported. Distinct mode: all values are supported. Compatible with: - BigQuery `BINARY` encoding - HBase `Bytes.toBytes` - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN` */ export interface Schema$GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes { /** @@ -957,12 +957,12 @@ export namespace bigtableadmin_v2 { */ export interface Schema$GoogleBigtableAdminV2TypeString { /** - * The encoding to use when converting to/from lower level types. + * The encoding to use when converting to or from lower level types. */ encoding?: Schema$GoogleBigtableAdminV2TypeStringEncoding; } /** - * Rules used to convert to/from lower level types. + * Rules used to convert to or from lower level types. */ export interface Schema$GoogleBigtableAdminV2TypeStringEncoding { /** @@ -975,7 +975,7 @@ export namespace bigtableadmin_v2 { utf8Raw?: Schema$GoogleBigtableAdminV2TypeStringEncodingUtf8Raw; } /** - * UTF-8 encoding * Order-preserving? Yes (code point order) * Self-delimiting? No * Compatibility? - BigQuery Federation `TEXT` encoding - HBase `Bytes.toBytes` - Java `String#getBytes(StandardCharsets.UTF_8)` + * UTF-8 encoding. Sorted mode: - All values are supported. - Code point order is preserved. Distinct mode: all values are supported. Compatible with: - BigQuery `TEXT` encoding - HBase `Bytes.toBytes` - Java `String#getBytes(StandardCharsets.UTF_8)` */ export interface Schema$GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes {} /** @@ -1434,7 +1434,7 @@ export namespace bigtableadmin_v2 { */ name?: string | null; /** - * If exists, the name of the long-running operation that will be used to track the post-restore optimization process to optimize the performance of the restored table. The metadata type of the long-running operation is OptimizeRestoreTableMetadata. The response type is Empty. This long-running operation may be automatically created by the system if applicable after the RestoreTable long-running operation completes successfully. This operation may not be created if the table is already optimized or the restore was not successful. + * If exists, the name of the long-running operation that will be used to track the post-restore optimization process to optimize the performance of the restored table. The metadata type of the long-running operation is OptimizeRestoredTableMetadata. The response type is Empty. This long-running operation may be automatically created by the system if applicable after the RestoreTable long-running operation completes successfully. This operation may not be created if the table is already optimized or the restore was not successful. */ optimizeTableOperationName?: string | null; /** @@ -1623,7 +1623,7 @@ export namespace bigtableadmin_v2 { permissions?: string[] | null; } /** - * `Type` represents the type of data that is written to, read from, or stored in Bigtable. It is heavily based on the GoogleSQL standard to help maintain familiarity and consistency across products and features. For compatibility with Bigtable's existing untyped APIs, each `Type` includes an `Encoding` which describes how to convert to/from the underlying data. Each encoding also defines the following properties: * Order-preserving: Does the encoded value sort consistently with the original typed value? Note that Bigtable will always sort data based on the raw encoded value, *not* the decoded type. - Example: BYTES values sort in the same order as their raw encodings. - Counterexample: Encoding INT64 as a fixed-width decimal string does *not* preserve sort order when dealing with negative numbers. `INT64(1) \> INT64(-1)`, but `STRING("-00001") \> STRING("00001)`. * Self-delimiting: If we concatenate two encoded values, can we always tell where the first one ends and the second one begins? - Example: If we encode INT64s to fixed-width STRINGs, the first value will always contain exactly N digits, possibly preceded by a sign. - Counterexample: If we concatenate two UTF-8 encoded STRINGs, we have no way to tell where the first one ends. * Compatibility: Which other systems have matching encoding schemes? For example, does this encoding have a GoogleSQL equivalent? HBase? Java? + * `Type` represents the type of data that is written to, read from, or stored in Bigtable. It is heavily based on the GoogleSQL standard to help maintain familiarity and consistency across products and features. For compatibility with Bigtable's existing untyped APIs, each `Type` includes an `Encoding` which describes how to convert to or from the underlying data. Each encoding can operate in one of two modes: - Sorted: In this mode, Bigtable guarantees that `Encode(X) <= Encode(Y)` if and only if `X <= Y`. This is useful anywhere sort order is important, for example when encoding keys. - Distinct: In this mode, Bigtable guarantees that if `X != Y` then `Encode(X) != Encode(Y)`. However, the converse is not guaranteed. For example, both "{'foo': '1', 'bar': '2'\}" and "{'bar': '2', 'foo': '1'\}" are valid encodings of the same JSON value. The API clearly documents which mode is used wherever an encoding can be configured. Each encoding also documents which values are supported in which modes. For example, when encoding INT64 as a numeric STRING, negative numbers cannot be encoded in sorted mode. This is because `INT64(1) \> INT64(-1)`, but `STRING("-00001") \> STRING("00001")`. */ export interface Schema$Type { /** diff --git a/src/apis/binaryauthorization/v1.ts b/src/apis/binaryauthorization/v1.ts index 16cfe52ae8..9edf668eb9 100644 --- a/src/apis/binaryauthorization/v1.ts +++ b/src/apis/binaryauthorization/v1.ts @@ -138,9 +138,6 @@ export namespace binaryauthorization_v1 { * Required. How this admission rule will be evaluated. */ evaluationMode?: string | null; - /** - * Optional. The resource names of the attestors that must attest to a container image, in the format `projects/x/attestors/x`. Each attestor must exist before a policy can reference it. To add an attestor to a policy the principal issuing the policy change request must be able to read the attestor resource. Note: this field must be non-empty when the `evaluation_mode` field specifies `REQUIRE_ATTESTATION`, otherwise it must be empty. - */ requireAttestationsBy?: string[] | null; } /** diff --git a/src/apis/binaryauthorization/v1beta1.ts b/src/apis/binaryauthorization/v1beta1.ts index e722218196..3e1e01d5c5 100644 --- a/src/apis/binaryauthorization/v1beta1.ts +++ b/src/apis/binaryauthorization/v1beta1.ts @@ -138,9 +138,6 @@ export namespace binaryauthorization_v1beta1 { * Required. How this admission rule will be evaluated. */ evaluationMode?: string | null; - /** - * Optional. The resource names of the attestors that must attest to a container image, in the format `projects/x/attestors/x`. Each attestor must exist before a policy can reference it. To add an attestor to a policy the principal issuing the policy change request must be able to read the attestor resource. Note: this field must be non-empty when the evaluation_mode field specifies REQUIRE_ATTESTATION, otherwise it must be empty. - */ requireAttestationsBy?: string[] | null; } /** diff --git a/src/apis/blockchainnodeengine/v1.ts b/src/apis/blockchainnodeengine/v1.ts index b7690c487c..a92b1d23ff 100644 --- a/src/apis/blockchainnodeengine/v1.ts +++ b/src/apis/blockchainnodeengine/v1.ts @@ -1199,7 +1199,7 @@ export namespace blockchainnodeengine_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/calendar/v3.ts b/src/apis/calendar/v3.ts index 63decfe5b2..83624bf914 100644 --- a/src/apis/calendar/v3.ts +++ b/src/apis/calendar/v3.ts @@ -614,6 +614,10 @@ export namespace calendar_v3 { * Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the maxAttendee query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False. */ attendeesOmitted?: boolean | null; + /** + * Birthday or special event data. Used if eventType is "birthday". Immutable. + */ + birthdayProperties?: Schema$EventBirthdayProperties; /** * The color of the event. This is an ID referring to an entry in the event section of the colors definition (see the colors endpoint). Optional. */ @@ -891,6 +895,25 @@ export namespace calendar_v3 { */ self?: boolean | null; } + export interface Schema$EventBirthdayProperties { + /** + * Resource name of the contact this birthday event is linked to. This can be used to fetch contact details from People API. Format: "people/c12345". Read-only. + */ + contact?: string | null; + /** + * Custom type label specified for this event. This is populated if birthdayProperties.type is set to "custom". Read-only. + */ + customTypeName?: string | null; + /** + * Type of birthday or special event. Possible values are: + * - "anniversary" - An anniversary other than birthday. Always has a contact. + * - "birthday" - A birthday event. This is the default value. + * - "custom" - A special date whose label is further specified in the customTypeName field. Always has a contact. + * - "other" - A special date which does not fall into the other categories, and does not have a custom label. Always has a contact. + * - "self" - Calendar owner's own birthday. Cannot have a contact. The Calendar API only supports creating events with the type "birthday". The type cannot be changed after the event is created. + */ + type?: string | null; + } export interface Schema$EventDateTime { /** * The date, in the format "yyyy-mm-dd", if this is an all-day event. diff --git a/src/apis/certificatemanager/v1.ts b/src/apis/certificatemanager/v1.ts index 20aef517b2..2a3fc22a4d 100644 --- a/src/apis/certificatemanager/v1.ts +++ b/src/apis/certificatemanager/v1.ts @@ -657,7 +657,7 @@ export namespace certificatemanager_v1 { */ endTime?: string | null; /** - * Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -3663,7 +3663,7 @@ export namespace certificatemanager_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/chat/v1.ts b/src/apis/chat/v1.ts index 68969a5ce6..49331d1cb8 100644 --- a/src/apis/chat/v1.ts +++ b/src/apis/chat/v1.ts @@ -240,7 +240,7 @@ export namespace chat_v1 { */ export interface Schema$Attachment { /** - * A reference to the attachment data. This field is used with the media API to download the attachment data. + * Optional. A reference to the attachment data. This field is used to create or update messages with attachments, or with the media API to download the attachment data. */ attachmentDataRef?: Schema$AttachmentDataRef; /** @@ -260,7 +260,7 @@ export namespace chat_v1 { */ driveDataRef?: Schema$DriveDataRef; /** - * Resource name of the attachment, in the form `spaces/{space\}/messages/{message\}/attachments/{attachment\}`. + * Optional. Resource name of the attachment, in the form `spaces/{space\}/messages/{message\}/attachments/{attachment\}`. */ name?: string | null; /** @@ -277,11 +277,11 @@ export namespace chat_v1 { */ export interface Schema$AttachmentDataRef { /** - * Opaque token containing a reference to an uploaded attachment. Treated by clients as an opaque string and used to create or update Chat messages with attachments. + * Optional. Opaque token containing a reference to an uploaded attachment. Treated by clients as an opaque string and used to create or update Chat messages with attachments. */ attachmentUploadToken?: string | null; /** - * The resource name of the attachment data. This field is used with the media API to download the attachment data. + * Optional. The resource name of the attachment data. This field is used with the media API to download the attachment data. */ resourceName?: string | null; } @@ -623,7 +623,7 @@ export namespace chat_v1 { */ customEmoji?: Schema$CustomEmoji; /** - * A basic emoji represented by a unicode string. + * Optional. A basic emoji represented by a unicode string. */ unicode?: string | null; } @@ -632,11 +632,11 @@ export namespace chat_v1 { */ export interface Schema$EmojiReactionSummary { /** - * Emoji associated with the reactions. + * Output only. Emoji associated with the reactions. */ emoji?: Schema$Emoji; /** - * The total number of reactions using the associated emoji. + * Output only. The total number of reactions using the associated emoji. */ reactionCount?: number | null; } @@ -661,6 +661,10 @@ export namespace chat_v1 { * An action that describes the behavior when the form is submitted. For example, you can invoke an Apps Script script to handle the form. If the action is triggered, the form values are sent to the server. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): */ export interface Schema$GoogleAppsCardV1Action { + /** + * Optional. If this is true, then all widgets are considered required by this action. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): + */ + allWidgetsAreRequired?: boolean | null; /** * A custom function to invoke when the containing element is clicked or otherwise activated. For example usage, see [Read form data](https://developers.google.com/workspace/chat/read-form-data). */ @@ -681,6 +685,10 @@ export namespace chat_v1 { * Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. To let the user make changes while the action is being processed, set [`LoadIndicator`](https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) to `NONE`. For [card messages](https://developers.google.com/workspace/chat/api/guides/v1/messages/create#create) in Chat apps, you must also set the action's [`ResponseType`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages#responsetype) to `UPDATE_MESSAGE` and use the same [`card_id`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages#CardWithId) from the card that contained the action. If `false`, the form values are cleared when the action is triggered. To prevent the user from making changes while the action is being processed, set [`LoadIndicator`](https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) to `SPINNER`. */ persistValues?: boolean | null; + /** + * Optional. Fill this list with the names of widgets that this Action needs for a valid submission. If the widgets listed here don't have a value when this Action is invoked, the form submission is aborted. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): + */ + requiredWidgets?: string[] | null; } /** * List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze one day, or snooze next week. You might use `action method = snooze()`, passing the snooze type and snooze time in the list of string parameters. To learn more, see [`CommonEventObject`](https://developers.google.com/workspace/chat/api/reference/rest/v1/Event#commoneventobject). [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): @@ -740,6 +748,10 @@ export namespace chat_v1 { * The text displayed inside the button. */ text?: string | null; + /** + * Optional. The type of a button. If unset, button type defaults to `OUTLINED`. If the `color` field is set, the button type is forced to `FILLED` and any value set for this field is ignored. + */ + type?: string | null; } /** * A list of buttons layed out horizontally. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): @@ -751,7 +763,7 @@ export namespace chat_v1 { buttons?: Schema$GoogleAppsCardV1Button[]; } /** - * A card interface displayed in a Google Chat message or Google Workspace Add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace Add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" \}, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" \}, "text": "sasha@example.com" \} \}, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" \}, "text": "Online" \} \}, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" \}, "text": "+1 (555) 555-1234" \} \}, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" \} \} \}, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" \} ] \} \} \} ] \} \} ] \} ] \} \} ] \} ``` + * A card interface displayed in a Google Chat message or Google Workspace Add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace Add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. Any widgets beyond this limit are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace Add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" \}, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" \}, "text": "sasha@example.com" \} \}, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" \}, "text": "Online" \} \}, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" \}, "text": "+1 (555) 555-1234" \} \}, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" \} \} \}, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" \} ] \} \} \} ] \} \} ] \} ] \} \} ] \} ``` */ export interface Schema$GoogleAppsCardV1Card { /** @@ -838,6 +850,87 @@ export namespace chat_v1 { */ title?: string | null; } + /** + * [Developer Preview](https://developers.google.com/workspace/preview): A carousel, also known as a slider, rotates and displays a list of widgets in a slideshow format, with buttons navigating to the previous or next widget. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel", \} \} ] \}, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel", \} \} ] \}, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel", \} \} ] \} ] \} ``` [Google Chat apps](https://developers.google.com/workspace/chat): + */ + export interface Schema$GoogleAppsCardV1Carousel { + /** + * A list of cards included in the carousel. + */ + carouselCards?: Schema$GoogleAppsCardV1CarouselCard[]; + } + /** + * [Developer Preview](https://developers.google.com/workspace/preview): A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): + */ + export interface Schema$GoogleAppsCardV1CarouselCard { + /** + * A list of widgets displayed at the bottom of the carousel card. The widgets are displayed in the order that they are specified. + */ + footerWidgets?: Schema$GoogleAppsCardV1NestedWidget[]; + /** + * A list of widgets displayed in the carousel card. The widgets are displayed in the order that they are specified. + */ + widgets?: Schema$GoogleAppsCardV1NestedWidget[]; + } + /** + * A text, icon, or text and icon chip that users can click. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): + */ + export interface Schema$GoogleAppsCardV1Chip { + /** + * The alternative text that's used for accessibility. Set descriptive text that lets users know what the chip does. For example, if a chip opens a hyperlink, write: "Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat". + */ + altText?: string | null; + /** + * Whether the chip is in an inactive state and ignores user actions. Defaults to `false`. + */ + disabled?: boolean | null; + /** + * Whether the chip is in an active state and responds to user actions. Defaults to `true`. Deprecated. Use `disabled` instead. + */ + enabled?: boolean | null; + /** + * The icon image. If both `icon` and `text` are set, then the icon appears before the text. + */ + icon?: Schema$GoogleAppsCardV1Icon; + /** + * The text displayed inside the chip. + */ + label?: string | null; + /** + * Optional. The action to perform when a user clicks the chip, such as opening a hyperlink or running a custom function. + */ + onClick?: Schema$GoogleAppsCardV1OnClick; + } + /** + * A list of chips layed out horizontally, which can either scroll horizontally or wrap to the next line. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): + */ + export interface Schema$GoogleAppsCardV1ChipList { + /** + * An array of chips. + */ + chips?: Schema$GoogleAppsCardV1Chip[]; + /** + * Specified chip list layout. + */ + layout?: string | null; + } + /** + * Represent an expand and collapse control. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): + */ + export interface Schema$GoogleAppsCardV1CollapseControl { + /** + * Optional. Define a customizable button to collapse the section. Both expand_button and collapse_button field must be set. Only one field set will not take into effect. If this field isn't set, the default button is used. + */ + collapseButton?: Schema$GoogleAppsCardV1Button; + /** + * Optional. Define a customizable button to expand the section. Both expand_button and collapse_button field must be set. Only one field set will not take into effect. If this field isn't set, the default button is used. + */ + expandButton?: Schema$GoogleAppsCardV1Button; + /** + * The horizontal alignment of the expand and collapse button. + */ + horizontalAlignment?: string | null; + } /** * A column. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend) */ @@ -869,7 +962,7 @@ export namespace chat_v1 { columnItems?: Schema$GoogleAppsCardV1Column[]; } /** - * Lets users input a date, a time, or both a date and a time. For an example in Google Chat apps, see [Let a user pick a date and time](https://developers.google.com/workspace/chat/design-interactive-card-dialog#let_a_user_pick_a_date_and_time). Users can input text or use the picker to select dates and times. If users input an invalid date or time, the picker shows an error that prompts users to input the information correctly. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): + * Lets users input a date, a time, or both a date and a time. Supports form submission validation. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For an example in Google Chat apps, see [Let a user pick a date and time](https://developers.google.com/workspace/chat/design-interactive-card-dialog#let_a_user_pick_a_date_and_time). Users can input text or use the picker to select dates and times. If users input an invalid date or time, the picker shows an error that prompts users to input the information correctly. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): */ export interface Schema$GoogleAppsCardV1DateTimePicker { /** @@ -1093,6 +1186,23 @@ export namespace chat_v1 { */ weight?: number | null; } + /** + * [Developer Preview](https://developers.google.com/workspace/preview): A list of widgets that can be displayed in a containing layout, such as a `CarouselCard`. [Google Chat apps](https://developers.google.com/workspace/chat): + */ + export interface Schema$GoogleAppsCardV1NestedWidget { + /** + * A button list widget. + */ + buttonList?: Schema$GoogleAppsCardV1ButtonList; + /** + * An image widget. + */ + image?: Schema$GoogleAppsCardV1Image; + /** + * A text paragraph widget. + */ + textParagraph?: Schema$GoogleAppsCardV1TextParagraph; + } /** * Represents how to respond when users click an interactive element on a card, such as a button. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): */ @@ -1113,6 +1223,10 @@ export namespace chat_v1 { * If specified, this `onClick` triggers an open link action. */ openLink?: Schema$GoogleAppsCardV1OpenLink; + /** + * If specified, this `onClick` opens an overflow menu. + */ + overflowMenu?: Schema$GoogleAppsCardV1OverflowMenu; } /** * Represents an `onClick` event that opens a hyperlink. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): @@ -1131,6 +1245,36 @@ export namespace chat_v1 { */ url?: string | null; } + /** + * A widget that presents a pop-up menu with one or more actions that users can invoke. For example, showing non-primary actions in a card. You can use this widget when actions don't fit in the available space. To use, specify this widget in the `OnClick` action of widgets that support it. For example, in a `Button`. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): + */ + export interface Schema$GoogleAppsCardV1OverflowMenu { + /** + * Required. The list of menu options. + */ + items?: Schema$GoogleAppsCardV1OverflowMenuItem[]; + } + /** + * An option that users can invoke in an overflow menu. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): + */ + export interface Schema$GoogleAppsCardV1OverflowMenuItem { + /** + * Whether the menu option is disabled. Defaults to false. + */ + disabled?: boolean | null; + /** + * Required. The action invoked when a menu option is selected. This `OnClick` cannot contain an `OverflowMenu`, any specified `OverflowMenu` is dropped and the menu item disabled. + */ + onClick?: Schema$GoogleAppsCardV1OnClick; + /** + * The icon displayed in front of the text. + */ + startIcon?: Schema$GoogleAppsCardV1Icon; + /** + * Required. The text that identifies or describes the item to users. + */ + text?: string | null; + } /** * For a `SelectionInput` widget that uses a multiselect menu, a data source from Google Workspace. Used to populate items in a multiselect menu. [Google Chat apps](https://developers.google.com/workspace/chat): */ @@ -1148,6 +1292,10 @@ export namespace chat_v1 { * A section contains a collection of widgets that are rendered vertically in the order that they're specified. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): */ export interface Schema$GoogleAppsCardV1Section { + /** + * Optional. Define the expand and collapse button of the section. This button will be shown only if the section is collapsible. If this field isn't set, the default button is used. + */ + collapseControl?: Schema$GoogleAppsCardV1CollapseControl; /** * Indicates whether this section is collapsible. Collapsible sections hide some or all widgets, but users can expand the section to reveal the hidden widgets by clicking **Show more**. Users can hide the widgets again by clicking **Show less**. To determine which widgets are hidden, specify `uncollapsibleWidgetsCount`. */ @@ -1166,11 +1314,11 @@ export namespace chat_v1 { widgets?: Schema$GoogleAppsCardV1Widget[]; } /** - * A widget that creates one or more UI items that users can select. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): + * A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): */ export interface Schema$GoogleAppsCardV1SelectionInput { /** - * An external data source, such as a relational data base. + * An external data source, such as a relational database. */ externalDataSource?: Schema$GoogleAppsCardV1Action; /** @@ -1186,7 +1334,7 @@ export namespace chat_v1 { */ multiSelectMaxSelectedItems?: number | null; /** - * For multiselect menus, the number of text characters that a user inputs before the app queries autocomplete and displays suggested items in the menu. If unspecified, defaults to 0 characters for static data sources and 3 characters for external data sources. + * For multiselect menus, the number of text characters that a user inputs before the menu returns suggested selection items. If unset, the multiselect menu uses the following default values: * If the menu uses a static array of `SelectionInput` items, defaults to 0 characters and immediately populates items from the array. * If the menu uses a dynamic data source (`multi_select_data_source`), defaults to 3 characters before querying the data source to return suggested items. */ multiSelectMinQueryLength?: number | null; /** @@ -1207,7 +1355,7 @@ export namespace chat_v1 { type?: string | null; } /** - * An item that users can select in a selection input, such as a checkbox or switch. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): + * An item that users can select in a selection input, such as a checkbox or switch. Supports up to 100 items. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): */ export interface Schema$GoogleAppsCardV1SelectionItem { /** @@ -1275,7 +1423,7 @@ export namespace chat_v1 { value?: string | null; } /** - * A field in which users can enter text. Supports suggestions and on-change actions. For an example in Google Chat apps, see [Add a field in which a user can enter text](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_field_in_which_a_user_can_enter_text). Chat apps receive and can process the value of entered text during form input events. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). When you need to collect undefined or abstract data from users, use a text input. To collect defined or enumerated data from users, use the SelectionInput widget. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): + * A field in which users can enter text. Supports suggestions and on-change actions. Supports form submission validation. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is entered. For an example in Google Chat apps, see [Add a field in which a user can enter text](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_field_in_which_a_user_can_enter_text). Chat apps receive and can process the value of entered text during form input events. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). When you need to collect undefined or abstract data from users, use a text input. To collect defined or enumerated data from users, use the SelectionInput widget. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): */ export interface Schema$GoogleAppsCardV1TextInput { /** @@ -1310,6 +1458,10 @@ export namespace chat_v1 { * How a text input field appears in the user interface. For example, whether the field is single or multi-line. */ type?: string | null; + /** + * Specify the input format validation necessary for this text field. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): + */ + validation?: Schema$GoogleAppsCardV1Validation; /** * The value entered by a user, returned as part of a form input event. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). */ @@ -1319,11 +1471,28 @@ export namespace chat_v1 { * A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): */ export interface Schema$GoogleAppsCardV1TextParagraph { + /** + * The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. + */ + maxLines?: number | null; /** * The text that's shown in the widget. */ text?: string | null; } + /** + * Represents the necessary data for validating the widget it's attached to. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): + */ + export interface Schema$GoogleAppsCardV1Validation { + /** + * Specify the character limit for text input widgets. Note that this is only used for text input and is ignored for other widgets. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): + */ + characterLimit?: number | null; + /** + * Specify the type of the input widgets. [Google Workspace Add-ons and Chat apps](https://developers.google.com/workspace/extend): + */ + inputType?: string | null; + } /** * Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. */ @@ -1332,6 +1501,14 @@ export namespace chat_v1 { * A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, \}, "disabled": true, \}, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" \}, "onClick": { "openLink": { "url": "https://example.com/calendar" \} \} \} ] \} ``` */ buttonList?: Schema$GoogleAppsCardV1ButtonList; + /** + * A carousel contains a collection of nested widgets. For example, this is a JSON representation of a carousel that contains two text paragraphs. ``` { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." \} \}, { "textParagraph": { "text": "Second text paragraph in the carousel." \} \} ] \} ``` + */ + carousel?: Schema$GoogleAppsCardV1Carousel; + /** + * A list of chips. For example, the following JSON creates two chips. The first is a text chip and the second is an icon chip that opens a link: ``` "chipList": { "chips": [ { "text": "Edit", "disabled": true, \}, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" \}, "onClick": { "openLink": { "url": "https://example.com/calendar" \} \} \} ] \} ``` + */ + chipList?: Schema$GoogleAppsCardV1ChipList; /** * Displays up to 2 columns. To include more than 2 columns, or to use rows, use the `Grid` widget. For example, the following JSON creates 2 columns that each contain text paragraphs: ``` "columns": { "columnItems": [ { "horizontalSizeStyle": "FILL_AVAILABLE_SPACE", "horizontalAlignment": "CENTER", "verticalAlignment": "CENTER", "widgets": [ { "textParagraph": { "text": "First column text paragraph" \} \} ] \}, { "horizontalSizeStyle": "FILL_AVAILABLE_SPACE", "horizontalAlignment": "CENTER", "verticalAlignment": "CENTER", "widgets": [ { "textParagraph": { "text": "Second column text paragraph" \} \} ] \} ] \} ``` */ @@ -1381,6 +1558,10 @@ export namespace chat_v1 { * ButtonList widget. */ buttonList?: Schema$GoogleAppsCardV1ButtonList; + /** + * ChipList widget. + */ + chipList?: Schema$GoogleAppsCardV1ChipList; /** * DateTimePicker widget. */ @@ -1568,7 +1749,7 @@ export namespace chat_v1 { */ nextPageToken?: string | null; /** - * Results are returned in chronological order (oldest event first). + * Results are returned in chronological order (oldest event first). Note: The `permissionSettings` field is not returned in the Space object for list requests. */ spaceEvents?: Schema$SpaceEvent[]; } @@ -1581,7 +1762,7 @@ export namespace chat_v1 { */ nextPageToken?: string | null; /** - * List of spaces in the requested (or first) page. + * List of spaces in the requested (or first) page. Note: The `permissionSettings` field is not returned in the Space object for list requests. */ spaces?: Schema$Space[]; } @@ -1616,15 +1797,15 @@ export namespace chat_v1 { */ deleteTime?: string | null; /** - * The Google Group the membership corresponds to. Reading or mutating memberships for Google Groups requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). + * Optional. The Google Group the membership corresponds to. Reading or mutating memberships for Google Groups requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). */ groupMember?: Schema$Group; /** - * The Google Chat user or app the membership corresponds to. If your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), the output populates the [user](https://developers.google.com/workspace/chat/api/reference/rest/v1/User) `name` and `type`. + * Optional. The Google Chat user or app the membership corresponds to. If your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), the output populates the [user](https://developers.google.com/workspace/chat/api/reference/rest/v1/User) `name` and `type`. */ member?: Schema$User; /** - * Resource name of the membership, assigned by the server. Format: `spaces/{space\}/members/{member\}` + * Identifier. Resource name of the membership, assigned by the server. Format: `spaces/{space\}/members/{member\}` */ name?: string | null; /** @@ -1668,11 +1849,11 @@ export namespace chat_v1 { */ export interface Schema$MembershipCount { /** - * Count of human users that have directly joined the space, not counting users joined by having membership in a joined group. + * Output only. Count of human users that have directly joined the space, not counting users joined by having membership in a joined group. */ joinedDirectHumanUserCount?: number | null; /** - * Count of all groups that have directly joined the space. + * Output only. Count of all groups that have directly joined the space. */ joinedGroupCount?: number | null; } @@ -1708,7 +1889,7 @@ export namespace chat_v1 { */ export interface Schema$Message { /** - * One or more interactive widgets that appear at the bottom of a message. You can add accessory widgets to messages that contain text, cards, or both text and cards. Not supported for messages that contain dialogs. For details, see [Add interactive widgets at the bottom of a message](https://developers.google.com/workspace/chat/create-messages#add-accessory-widgets). Creating a message with accessory widgets requires [app authentication] (https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). + * Optional. One or more interactive widgets that appear at the bottom of a message. You can add accessory widgets to messages that contain text, cards, or both text and cards. Not supported for messages that contain dialogs. For details, see [Add interactive widgets at the bottom of a message](https://developers.google.com/workspace/chat/create-messages#add-accessory-widgets). Creating a message with accessory widgets requires [app authentication] (https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). */ accessoryWidgets?: Schema$AccessoryWidget[]; /** @@ -1728,7 +1909,7 @@ export namespace chat_v1 { */ attachedGifs?: Schema$AttachedGif[]; /** - * User-uploaded attachment. + * Optional. User-uploaded attachment. */ attachment?: Schema$Attachment[]; /** @@ -1736,7 +1917,7 @@ export namespace chat_v1 { */ cards?: Schema$Card[]; /** - * An array of [cards](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards). Only Chat apps can create cards. If your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), the messages can't contain cards. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) + * Optional. An array of [cards](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards). Only Chat apps can create cards. If your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), the messages can't contain cards. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) */ cardsV2?: Schema$CardWithId[]; /** @@ -1760,7 +1941,7 @@ export namespace chat_v1 { */ emojiReactionSummaries?: Schema$EmojiReactionSummary[]; /** - * A plain-text description of the message's cards, used when the actual cards can't be displayed—for example, mobile notifications. + * Optional. A plain-text description of the message's cards, used when the actual cards can't be displayed—for example, mobile notifications. */ fallbackText?: string | null; /** @@ -1776,11 +1957,11 @@ export namespace chat_v1 { */ matchedUrl?: Schema$MatchedUrl; /** - * Resource name of the message. Format: `spaces/{space\}/messages/{message\}` Where `{space\}` is the ID of the space where the message is posted and `{message\}` is a system-assigned ID for the message. For example, `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`. If you set a custom ID when you create a message, you can use this ID to specify the message in a request by replacing `{message\}` with the value from the `clientAssignedMessageId` field. For example, `spaces/AAAAAAAAAAA/messages/client-custom-name`. For details, see [Name a message](https://developers.google.com/workspace/chat/create-messages#name_a_created_message). + * Identifier. Resource name of the message. Format: `spaces/{space\}/messages/{message\}` Where `{space\}` is the ID of the space where the message is posted and `{message\}` is a system-assigned ID for the message. For example, `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`. If you set a custom ID when you create a message, you can use this ID to specify the message in a request by replacing `{message\}` with the value from the `clientAssignedMessageId` field. For example, `spaces/AAAAAAAAAAA/messages/client-custom-name`. For details, see [Name a message](https://developers.google.com/workspace/chat/create-messages#name_a_created_message). */ name?: string | null; /** - * Immutable. Input for creating a message, otherwise output only. The user that can view the message. When set, the message is private and only visible to the specified user and the Chat app. To include this field in your request, you must call the Chat API using [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) and omit the following: * [Attachments](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages.attachments) * [Accessory widgets](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages#Message.AccessoryWidget) For details, see [Send a message privately](https://developers.google.com/workspace/chat/create-messages#private). + * Optional. Immutable. Input for creating a message, otherwise output only. The user that can view the message. When set, the message is private and only visible to the specified user and the Chat app. To include this field in your request, you must call the Chat API using [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) and omit the following: * [Attachments](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages.attachments) * [Accessory widgets](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages#Message.AccessoryWidget) For details, see [Send a message privately](https://developers.google.com/workspace/chat/create-messages#private). */ privateMessageViewer?: Schema$User; /** @@ -1796,11 +1977,11 @@ export namespace chat_v1 { */ slashCommand?: Schema$SlashCommand; /** - * If your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), the output populates the [space](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces) `name`. + * Output only. If your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), the output only populates the [space](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces) `name`. */ space?: Schema$Space; /** - * Plain-text body of the message. The first link to an image, video, or web page generates a [preview chip](https://developers.google.com/workspace/chat/preview-links). You can also [@mention a Google Chat user](https://developers.google.com/workspace/chat/format-messages#messages-@mention), or everyone in the space. To learn about creating text messages, see [Send a message](https://developers.google.com/workspace/chat/create-messages). + * Optional. Plain-text body of the message. The first link to an image, video, or web page generates a [preview chip](https://developers.google.com/workspace/chat/preview-links). You can also [@mention a Google Chat user](https://developers.google.com/workspace/chat/format-messages#messages-@mention), or everyone in the space. To learn about creating text messages, see [Send a message](https://developers.google.com/workspace/chat/create-messages). */ text?: string | null; /** @@ -1893,32 +2074,32 @@ export namespace chat_v1 { */ export interface Schema$PermissionSetting { /** - * Whether spaces managers have this permission. + * Optional. Whether spaces managers have this permission. */ managersAllowed?: boolean | null; /** - * Whether non-manager members have this permission. + * Optional. Whether non-manager members have this permission. */ membersAllowed?: boolean | null; } /** - * [Permission settings](https://support.google.com/chat/answer/13340792) for a named space. To set permission settings when creating a space, specify the `PredefinedPermissionSettings` field in your request. + * [Permission settings](https://support.google.com/chat/answer/13340792) that you can specify when updating an existing named space. To set permission settings when creating a space, specify the `PredefinedPermissionSettings` field in your request. */ export interface Schema$PermissionSettings { /** - * Setting for managing apps in a space. + * Optional. Setting for managing apps in a space. */ manageApps?: Schema$PermissionSetting; /** - * Setting for managing members and groups in a space. + * Optional. Setting for managing members and groups in a space. */ manageMembersAndGroups?: Schema$PermissionSetting; /** - * Setting for managing webhooks in a space. + * Optional. Setting for managing webhooks in a space. */ manageWebhooks?: Schema$PermissionSetting; /** - * Setting for updating space name, avatar, description and guidelines. + * Optional. Setting for updating space name, avatar, description and guidelines. */ modifySpaceDetails?: Schema$PermissionSetting; /** @@ -1926,15 +2107,15 @@ export namespace chat_v1 { */ postMessages?: Schema$PermissionSetting; /** - * Setting for replying to messages in a space. + * Optional. Setting for replying to messages in a space. */ replyMessages?: Schema$PermissionSetting; /** - * Setting for toggling space history on and off. + * Optional. Setting for toggling space history on and off. */ toggleHistory?: Schema$PermissionSetting; /** - * Setting for using @all in a space. + * Optional. Setting for using @all in a space. */ useAtMentionAll?: Schema$PermissionSetting; } @@ -1956,11 +2137,11 @@ export namespace chat_v1 { */ export interface Schema$Reaction { /** - * The emoji used in the reaction. + * Required. The emoji used in the reaction. */ emoji?: Schema$Emoji; /** - * The resource name of the reaction. Format: `spaces/{space\}/messages/{message\}/reactions/{reaction\}` + * Identifier. The resource name of the reaction. Format: `spaces/{space\}/messages/{message\}/reactions/{reaction\}` */ name?: string | null; /** @@ -2069,7 +2250,7 @@ export namespace chat_v1 { */ export interface Schema$SetUpSpaceRequest { /** - * Optional. The Google Chat users or groups to invite to join the space. Omit the calling user, as they are added automatically. The set currently allows up to 20 memberships (in addition to the caller). For human membership, the `Membership.member` field must contain a `user` with `name` populated (format: `users/{user\}`) and `type` set to `User.Type.HUMAN`. You can only add human users when setting up a space (adding Chat apps is only supported for direct message setup with the calling app). You can also add members using the user's email as an alias for {user\}. For example, the `user.name` can be `users/example@gmail.com`. To invite Gmail users or users from external Google Workspace domains, user's email must be used for `{user\}`. For Google group membership, the `Membership.group_member` field must contain a `group` with `name` populated (format `groups/{group\}`). You can only add Google groups when setting `Space.spaceType` to `SPACE`. Optional when setting `Space.spaceType` to `SPACE`. Required when setting `Space.spaceType` to `GROUP_CHAT`, along with at least two memberships. Required when setting `Space.spaceType` to `DIRECT_MESSAGE` with a human user, along with exactly one membership. Must be empty when creating a 1:1 conversation between a human and the calling Chat app (when setting `Space.spaceType` to `DIRECT_MESSAGE` and `Space.singleUserBotDm` to `true`). + * Optional. The Google Chat users or groups to invite to join the space. Omit the calling user, as they are added automatically. The set currently allows up to 49 memberships (in addition to the caller). For human membership, the `Membership.member` field must contain a `user` with `name` populated (format: `users/{user\}`) and `type` set to `User.Type.HUMAN`. You can only add human users when setting up a space (adding Chat apps is only supported for direct message setup with the calling app). You can also add members using the user's email as an alias for {user\}. For example, the `user.name` can be `users/example@gmail.com`. To invite Gmail users or users from external Google Workspace domains, user's email must be used for `{user\}`. For Google group membership, the `Membership.group_member` field must contain a `group` with `name` populated (format `groups/{group\}`). You can only add Google groups when setting `Space.spaceType` to `SPACE`. Optional when setting `Space.spaceType` to `SPACE`. Required when setting `Space.spaceType` to `GROUP_CHAT`, along with at least two memberships. Required when setting `Space.spaceType` to `DIRECT_MESSAGE` with a human user, along with exactly one membership. Must be empty when creating a 1:1 conversation between a human and the calling Chat app (when setting `Space.spaceType` to `DIRECT_MESSAGE` and `Space.singleUserBotDm` to `true`). */ memberships?: Schema$Membership[]; /** @@ -2132,17 +2313,21 @@ export namespace chat_v1 { */ createTime?: string | null; /** - * The space's display name. Required when [creating a space](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/create) with a `spaceType` of `SPACE`. If you receive the error message `ALREADY_EXISTS` when creating a space or updating the `displayName`, try a different `displayName`. An existing space within the Google Workspace organization might already use this display name. For direct messages, this field might be empty. Supports up to 128 characters. + * Optional. The space's display name. Required when [creating a space](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/create) with a `spaceType` of `SPACE`. If you receive the error message `ALREADY_EXISTS` when creating a space or updating the `displayName`, try a different `displayName`. An existing space within the Google Workspace organization might already use this display name. For direct messages, this field might be empty. Supports up to 128 characters. */ displayName?: string | null; /** - * Immutable. Whether this space permits any Google Chat user as a member. Input when creating a space in a Google Workspace organization. Omit this field when creating spaces in the following conditions: * The authenticated user uses a consumer account (unmanaged user account). By default, a space created by a consumer account permits any Google Chat user. For existing spaces, this field is output only. + * Optional. Immutable. Whether this space permits any Google Chat user as a member. Input when creating a space in a Google Workspace organization. Omit this field when creating spaces in the following conditions: * The authenticated user uses a consumer account (unmanaged user account). By default, a space created by a consumer account permits any Google Chat user. For existing spaces, this field is output only. */ externalUserAllowed?: boolean | null; /** * 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. Creating a space in `Import Mode`requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). */ importMode?: boolean | null; + /** + * Output only. The time when the space will be automatically deleted by the system if it remains in import mode. Each space created in import mode must exit this mode before this expire time using `spaces.completeImport`. This field is only populated for spaces that were created with import mode. + */ + importModeExpireTime?: string | null; /** * Output only. Timestamp of the last message in the space. */ @@ -2152,15 +2337,15 @@ export namespace chat_v1 { */ membershipCount?: Schema$MembershipCount; /** - * Resource name of the space. Format: `spaces/{space\}` Where `{space\}` represents the system-assigned ID for the space. You can obtain the space ID by calling the [`spaces.list()`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/list) method or from the space URL. For example, if the space URL is `https://mail.google.com/mail/u/0/#chat/space/AAAAAAAAA`, the space ID is `AAAAAAAAA`. + * Identifier. Resource name of the space. Format: `spaces/{space\}` Where `{space\}` represents the system-assigned ID for the space. You can obtain the space ID by calling the [`spaces.list()`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/list) method or from the space URL. For example, if the space URL is `https://mail.google.com/mail/u/0/#chat/space/AAAAAAAAA`, the space ID is `AAAAAAAAA`. */ name?: string | null; /** - * Optional. Exact permission settings which can be set to update the space. Input for updating a space. Otherwise, output only. For space creation, use `predefined_permission_settings` instead. + * Optional. Space permission settings for existing spaces. Input for updating exact space permission settings, where existing permission settings are replaced. Output lists current permission settings. Reading and updating permission settings supports: - In [Developer Preview](https://developers.google.com/workspace/preview), [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) with the `chat.app.spaces` scope. Only populated and settable when the Chat app created the space. - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) */ permissionSettings?: Schema$PermissionSettings; /** - * Optional. Input only. Space permission settings. Input for creating a space, a collaboration space is created if this field is not set. After you create the space, settings are populated in the `PermissionSettings` field. + * Optional. Input only. Predefined space permission settings, input only when creating a space. If the field is not set, a collaboration space is created. After you create the space, settings are populated in the `PermissionSettings` field. Setting predefined permission settings supports: - In [Developer Preview](https://developers.google.com/workspace/preview), [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) with the `chat.app.spaces` or `chat.app.spaces.create` scopes. - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) */ predefinedPermissionSettings?: string | null; /** @@ -2168,11 +2353,11 @@ export namespace chat_v1 { */ singleUserBotDm?: boolean | null; /** - * Details about the space including description and rules. + * Optional. Details about the space including description and rules. */ spaceDetails?: Schema$SpaceDetails; /** - * The message history state for messages and threads in this space. + * Optional. The message history state for messages and threads in this space. */ spaceHistoryState?: string | null; /** @@ -2180,7 +2365,7 @@ export namespace chat_v1 { */ spaceThreadingState?: string | null; /** - * The type of space. Required when creating a space or updating the space type of a space. Output only for other usage. + * Optional. The type of space. Required when creating a space or updating the space type of a space. Output only for other usage. */ spaceType?: string | null; /** @@ -2388,7 +2573,7 @@ export namespace chat_v1 { */ export interface Schema$Thread { /** - * Resource name of the thread. Example: `spaces/{space\}/threads/{thread\}` + * Identifier. Resource name of the thread. Example: `spaces/{space\}/threads/{thread\}` */ name?: string | null; /** @@ -2436,7 +2621,7 @@ export namespace chat_v1 { offset?: number | null; } /** - * The response of the updated widget. Used to provide autocomplete options for a widget. + * For `selectionInput` widgets, returns autocomplete suggestions for a multiselect menu. */ export interface Schema$UpdatedWidget { /** @@ -2764,7 +2949,7 @@ export namespace chat_v1 { } /** - * Completes the [import process](https://developers.google.com/workspace/chat/import-data) for the specified space and makes it visible to users. Requires app authentication and domain-wide delegation. For more information, see [Authorize Google Chat apps to import data](https://developers.google.com/workspace/chat/authorize-import). + * Completes the [import process](https://developers.google.com/workspace/chat/import-data) for the specified space and makes it visible to users. Requires [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) and domain-wide delegation. For more information, see [Authorize Google Chat apps to import data](https://developers.google.com/workspace/chat/authorize-import). * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -2859,7 +3044,7 @@ export namespace chat_v1 { } /** - * Creates a space with no members. Can be used to create a named space. Spaces grouped by topics aren't supported. For an example, see [Create a space](https://developers.google.com/workspace/chat/create-spaces). If you receive the error message `ALREADY_EXISTS` when creating a space, try a different `displayName`. An existing space within the Google Workspace organization might already use this display name. If you're a member of the [Developer Preview program](https://developers.google.com/workspace/preview), you can create a group chat in import mode using `spaceType.GROUP_CHAT`. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) When authenticating as an app, the `space.customer` field must be set in the request. + * Creates a space. Can be used to create a named space, or a group chat in `Import mode`. For an example, see [Create a space](https://developers.google.com/workspace/chat/create-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) When authenticating as an app, the `space.customer` field must be set in the request. Space membership upon creation depends on whether the space is created in `Import mode`: * **Import mode:** No members are created. * **All other modes:** The calling user is added as a member. This is: * The app itself when using app authentication. * The human user when using user authentication. If you receive the error message `ALREADY_EXISTS` when creating a space, try a different `displayName`. An existing space within the Google Workspace organization might already use this display name. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -2943,7 +3128,7 @@ export namespace chat_v1 { } /** - * Deletes a named space. Always performs a cascading delete, which means that the space's child resources—like messages posted in the space and memberships in the space—are also deleted. For an example, see [Delete a space](https://developers.google.com/workspace/chat/delete-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) + * Deletes a named space. Always performs a cascading delete, which means that the space's child resources—like messages posted in the space and memberships in the space—are also deleted. For an example, see [Delete a space](https://developers.google.com/workspace/chat/delete-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3115,7 +3300,7 @@ export namespace chat_v1 { } /** - * Returns details about a space. For an example, see [Get details about a space](https://developers.google.com/workspace/chat/get-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) + * Returns details about a space. For an example, see [Get details about a space](https://developers.google.com/workspace/chat/get-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3199,7 +3384,7 @@ export namespace chat_v1 { } /** - * Lists spaces the caller is a member of. Group chats and DMs aren't listed until the first message is sent. For an example, see [List spaces](https://developers.google.com/workspace/chat/list-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) Lists spaces visible to the caller or authenticated user. Group chats and DMs aren't listed until the first message is sent. To list all named spaces by Google Workspace organization, use the [`spaces.search()`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/search) method using Workspace administrator privileges instead. + * Lists spaces the caller is a member of. Group chats and DMs aren't listed until the first message is sent. For an example, see [List spaces](https://developers.google.com/workspace/chat/list-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) To list all named spaces by Google Workspace organization, use the [`spaces.search()`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/search) method using Workspace administrator privileges instead. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3286,7 +3471,7 @@ export namespace chat_v1 { } /** - * Updates a space. For an example, see [Update a space](https://developers.google.com/workspace/chat/update-spaces). If you're updating the `displayName` field and receive the error message `ALREADY_EXISTS`, try a different display name.. An existing space within the Google Workspace organization might already use this display name. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) + * Updates a space. For an example, see [Update a space](https://developers.google.com/workspace/chat/update-spaces). If you're updating the `displayName` field and receive the error message `ALREADY_EXISTS`, try a different display name.. An existing space within the Google Workspace organization might already use this display name. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3572,7 +3757,7 @@ export namespace chat_v1 { */ name?: string; /** - * 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). + * Optional. 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). */ useAdminAccess?: boolean; } @@ -3589,7 +3774,7 @@ export namespace chat_v1 { */ name?: string; /** - * 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). + * Optional. 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). */ useAdminAccess?: boolean; } @@ -3609,15 +3794,15 @@ export namespace chat_v1 { } export interface Params$Resource$Spaces$Patch extends StandardParameters { /** - * Resource name of the space. Format: `spaces/{space\}` Where `{space\}` represents the system-assigned ID for the space. You can obtain the space ID by calling the [`spaces.list()`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/list) method or from the space URL. For example, if the space URL is `https://mail.google.com/mail/u/0/#chat/space/AAAAAAAAA`, the space ID is `AAAAAAAAA`. + * Identifier. Resource name of the space. Format: `spaces/{space\}` Where `{space\}` represents the system-assigned ID for the space. You can obtain the space ID by calling the [`spaces.list()`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/list) method or from the space URL. For example, if the space URL is `https://mail.google.com/mail/u/0/#chat/space/AAAAAAAAA`, the space ID is `AAAAAAAAA`. */ name?: string; /** - * - Supports changing the [permission settings](https://support.google.com/chat/answer/13340792) of a space, supported field paths include: `permission_settings.manage_members_and_groups`, `permission_settings.modify_space_details`, `permission_settings.toggle_history`, `permission_settings.use_at_mention_all`, `permission_settings.manage_apps`, `permission_settings.manage_webhooks`, `permission_settings.reply_messages` (Warning: mutually exclusive with all other non-permission settings field paths). `permission_settings` is not supported with admin access. + * Required. The updated field paths, comma separated if there are multiple. You can update the following fields for a space: `space_details`: Updates the space's description. Supports up to 150 characters. `display_name`: Only supports updating the display name for spaces where `spaceType` field is `SPACE`. If you receive the error message `ALREADY_EXISTS`, try a different value. An existing space within the Google Workspace organization might already use this display name. `space_type`: Only supports changing a `GROUP_CHAT` space type to `SPACE`. Include `display_name` together with `space_type` in the update mask and ensure that the specified space has a non-empty display name and the `SPACE` space type. Including the `space_type` mask and the `SPACE` type in the specified space when updating the display name is optional if the existing space already has the `SPACE` type. Trying to update the space type in other ways results in an invalid argument error. `space_type` is not supported with `useAdminAccess`. `space_history_state`: Updates [space history settings](https://support.google.com/chat/answer/7664687) by turning history on or off for the space. Only supported if history settings are enabled for the Google Workspace organization. To update the space history state, you must omit all other field masks in your request. `space_history_state` is not supported with `useAdminAccess`. `access_settings.audience`: Updates the [access setting](https://support.google.com/chat/answer/11971020) of who can discover the space, join the space, and preview the messages in named space where `spaceType` field is `SPACE`. If the existing space has a target audience, you can remove the audience and restrict space access by omitting a value for this field mask. To update access settings for a space, the authenticating user must be a space manager and omit all other field masks in your request. You can't update this field if the space is in [import mode](https://developers.google.com/workspace/chat/import-data-overview). To learn more, see [Make a space discoverable to specific users](https://developers.google.com/workspace/chat/space-target-audience). `access_settings.audience` is not supported with `useAdminAccess`. `permission_settings`: Supports changing the [permission settings](https://support.google.com/chat/answer/13340792) of a space. When updating permission settings, you can only specify `permissionSettings` field masks; you cannot update other field masks at the same time. `permissionSettings` is not supported with `useAdminAccess`. The supported field masks include: - `permission_settings.manageMembersAndGroups` - `permission_settings.modifySpaceDetails` - `permission_settings.toggleHistory` - `permission_settings.useAtMentionAll` - `permission_settings.manageApps` - `permission_settings.manageWebhooks` - `permission_settings.replyMessages` */ updateMask?: string; /** - * 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`. + * Optional. 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`. */ useAdminAccess?: boolean; @@ -3662,7 +3847,7 @@ export namespace chat_v1 { } /** - * 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. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [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). + * 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. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request. 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). * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3750,7 +3935,7 @@ export namespace chat_v1 { } /** - * Deletes a membership. For an example, see [Remove a user or a Google Chat app from a space](https://developers.google.com/workspace/chat/delete-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) + * Deletes a membership. For an example, see [Remove a user or a Google Chat app from a space](https://developers.google.com/workspace/chat/delete-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3835,7 +4020,7 @@ export namespace chat_v1 { } /** - * Returns details about a membership. For an example, see [Get details about a user's or Google Chat app's membership](https://developers.google.com/workspace/chat/get-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) + * Returns details about a membership. For an example, see [Get details about a user's or Google Chat app's membership](https://developers.google.com/workspace/chat/get-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3920,7 +4105,7 @@ export namespace chat_v1 { } /** - * Lists memberships in a space. For an example, see [List users and Google Chat apps in a space](https://developers.google.com/workspace/chat/list-members). Listing memberships with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) lists memberships in spaces that the Chat app has access to, but excludes Chat app memberships, including its own. Listing memberships with [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) lists memberships in spaces that the authenticated user has access to. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) + * Lists memberships in a space. For an example, see [List users and Google Chat apps in a space](https://developers.google.com/workspace/chat/list-members). Listing memberships with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) lists memberships in spaces that the Chat app has access to, but excludes Chat app memberships, including its own. Listing memberships with [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) lists memberships in spaces that the authenticated user has access to. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -4013,7 +4198,7 @@ export namespace chat_v1 { } /** - * Updates a membership. For an example, see [Update a user's membership in a space](https://developers.google.com/workspace/chat/update-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) + * Updates a membership. For an example, see [Update a user's membership in a space](https://developers.google.com/workspace/chat/update-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) in [Developer Preview](https://developers.google.com/workspace/preview) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) You can authenticate and authorize this method with administrator privileges by setting the `use_admin_access` field in the request. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -4105,7 +4290,7 @@ export namespace chat_v1 { */ parent?: string; /** - * 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. + * Optional. 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. */ useAdminAccess?: boolean; @@ -4121,7 +4306,7 @@ export namespace chat_v1 { */ name?: string; /** - * 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. + * Optional. 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. */ useAdminAccess?: boolean; } @@ -4132,7 +4317,7 @@ export namespace chat_v1 { */ name?: string; /** - * 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. + * Optional. 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. */ useAdminAccess?: boolean; } @@ -4163,14 +4348,14 @@ export namespace chat_v1 { */ showInvited?: boolean; /** - * 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. + * Optional. 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. */ useAdminAccess?: boolean; } export interface Params$Resource$Spaces$Members$Patch extends StandardParameters { /** - * Resource name of the membership, assigned by the server. Format: `spaces/{space\}/members/{member\}` + * Identifier. Resource name of the membership, assigned by the server. Format: `spaces/{space\}/members/{member\}` */ name?: string; /** @@ -4178,7 +4363,7 @@ export namespace chat_v1 { */ updateMask?: string; /** - * 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). + * Optional. 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). */ useAdminAccess?: boolean; @@ -4199,7 +4384,7 @@ export namespace chat_v1 { } /** - * Creates a message in a Google Chat space. For an example, see [Send a message](https://developers.google.com/workspace/chat/create-messages). The `create()` method requires either user or app authentication. Chat attributes the message sender differently depending on the type of authentication that you use in your request. The following image shows how Chat attributes a message when you use app authentication. Chat displays the Chat app as the message sender. The content of the message can contain text (`text`), cards (`cardsV2`), and accessory widgets (`accessoryWidgets`). ![Message sent with app authentication](https://developers.google.com/workspace/chat/images/message-app-auth.svg) The following image shows how Chat attributes a message when you use user authentication. Chat displays the user as the message sender and attributes the Chat app to the message by displaying its name. The content of message can only contain text (`text`). ![Message sent with user authentication](https://developers.google.com/workspace/chat/images/message-user-auth.svg) The maximum message size, including the message contents, is 32,000 bytes. + * Creates a message in a Google Chat space. For an example, see [Send a message](https://developers.google.com/workspace/chat/create-messages). The `create()` method requires either [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) or [app authentication](https://developers.google.com/workspace/chat/authorize-import). Chat attributes the message sender differently depending on the type of authentication that you use in your request. The following image shows how Chat attributes a message when you use app authentication. Chat displays the Chat app as the message sender. The content of the message can contain text (`text`), cards (`cardsV2`), and accessory widgets (`accessoryWidgets`). ![Message sent with app authentication](https://developers.google.com/workspace/chat/images/message-app-auth.svg) The following image shows how Chat attributes a message when you use user authentication. Chat displays the user as the message sender and attributes the Chat app to the message by displaying its name. The content of message can only contain text (`text`). ![Message sent with user authentication](https://developers.google.com/workspace/chat/images/message-user-auth.svg) The maximum message size, including the message contents, is 32,000 bytes. For [webhook](https://developers.google.com/workspace/chat/quickstart/webhooks) requests, the response doesn't contain the full message. The response only populates the `name` and `thread.name` fields in addition to the information that was in the request. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -4727,7 +4912,7 @@ export namespace chat_v1 { */ messageId?: string; /** - * Optional. Specifies whether a message starts a thread or replies to one. Only supported in named spaces. + * Optional. Specifies whether a message starts a thread or replies to one. Only supported in named spaces. When [responding to user interactions](https://developers.google.com/workspace/chat/receive-respond-interactions), this field is ignored. For interactions within a thread, the reply is created in the same thread. Otherwise, the reply is created as a new thread. */ messageReplyOption?: string; /** @@ -4751,7 +4936,7 @@ export namespace chat_v1 { export interface Params$Resource$Spaces$Messages$Delete extends StandardParameters { /** - * When `true`, deleting a message also deletes its threaded replies. When `false`, if a message has threaded replies, deletion fails. Only applies when [authenticating as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). Has no effect when [authenticating as a Chat app] (https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). + * Optional. When `true`, deleting a message also deletes its threaded replies. When `false`, if a message has threaded replies, deletion fails. Only applies when [authenticating as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). Has no effect when [authenticating as a Chat app] (https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). */ force?: boolean; /** @@ -4769,19 +4954,19 @@ export namespace chat_v1 { export interface Params$Resource$Spaces$Messages$List extends StandardParameters { /** - * A query filter. You can filter messages by date (`create_time`) and thread (`thread.name`). To filter messages by the date they were created, specify the `create_time` with a timestamp in [RFC-3339](https://www.rfc-editor.org/rfc/rfc3339) format and double quotation marks. For example, `"2023-04-21T11:30:00-04:00"`. You can use the greater than operator `\>` to list messages that were created after a timestamp, or the less than operator `<` to list messages that were created before a timestamp. To filter messages within a time interval, use the `AND` operator between two timestamps. To filter by thread, specify the `thread.name`, formatted as `spaces/{space\}/threads/{thread\}`. You can only specify one `thread.name` per query. To filter by both thread and date, use the `AND` operator in your query. For example, the following queries are valid: ``` create_time \> "2012-04-21T11:30:00-04:00" create_time \> "2012-04-21T11:30:00-04:00" AND thread.name = spaces/AAAAAAAAAAA/threads/123 create_time \> "2012-04-21T11:30:00+00:00" AND create_time < "2013-01-01T00:00:00+00:00" AND thread.name = spaces/AAAAAAAAAAA/threads/123 thread.name = spaces/AAAAAAAAAAA/threads/123 ``` Invalid queries are rejected by the server with an `INVALID_ARGUMENT` error. + * Optional. A query filter. You can filter messages by date (`create_time`) and thread (`thread.name`). To filter messages by the date they were created, specify the `create_time` with a timestamp in [RFC-3339](https://www.rfc-editor.org/rfc/rfc3339) format and double quotation marks. For example, `"2023-04-21T11:30:00-04:00"`. You can use the greater than operator `\>` to list messages that were created after a timestamp, or the less than operator `<` to list messages that were created before a timestamp. To filter messages within a time interval, use the `AND` operator between two timestamps. To filter by thread, specify the `thread.name`, formatted as `spaces/{space\}/threads/{thread\}`. You can only specify one `thread.name` per query. To filter by both thread and date, use the `AND` operator in your query. For example, the following queries are valid: ``` create_time \> "2012-04-21T11:30:00-04:00" create_time \> "2012-04-21T11:30:00-04:00" AND thread.name = spaces/AAAAAAAAAAA/threads/123 create_time \> "2012-04-21T11:30:00+00:00" AND create_time < "2013-01-01T00:00:00+00:00" AND thread.name = spaces/AAAAAAAAAAA/threads/123 thread.name = spaces/AAAAAAAAAAA/threads/123 ``` Invalid queries are rejected by the server with an `INVALID_ARGUMENT` error. */ filter?: string; /** - * Optional, if resuming from a previous query. How the list of messages is ordered. Specify a value to order by an ordering operation. Valid ordering operation values are as follows: - `ASC` for ascending. - `DESC` for descending. The default ordering is `create_time ASC`. + * Optional. How the list of messages is ordered. Specify a value to order by an ordering operation. Valid ordering operation values are as follows: - `ASC` for ascending. - `DESC` for descending. The default ordering is `create_time ASC`. */ orderBy?: string; /** - * The maximum number of messages returned. The service might return fewer messages than this value. If unspecified, at most 25 are returned. The maximum value is 1000. If you use a value more than 1000, it's automatically changed to 1000. Negative values return an `INVALID_ARGUMENT` error. + * Optional. The maximum number of messages returned. The service might return fewer messages than this value. If unspecified, at most 25 are returned. The maximum value is 1000. If you use a value more than 1000, it's automatically changed to 1000. Negative values return an `INVALID_ARGUMENT` error. */ pageSize?: number; /** - * Optional, if resuming from a previous query. A page token received from a previous list messages 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. + * Optional. A page token received from a previous list messages 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. */ pageToken?: string; /** @@ -4789,7 +4974,7 @@ export namespace chat_v1 { */ parent?: string; /** - * Whether to include deleted messages. Deleted messages include deleted time and metadata about their deletion, but message content is unavailable. + * Optional. Whether to include deleted messages. Deleted messages include deleted time and metadata about their deletion, but message content is unavailable. */ showDeleted?: boolean; } @@ -4800,7 +4985,7 @@ export namespace chat_v1 { */ allowMissing?: boolean; /** - * Resource name of the message. Format: `spaces/{space\}/messages/{message\}` Where `{space\}` is the ID of the space where the message is posted and `{message\}` is a system-assigned ID for the message. For example, `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`. If you set a custom ID when you create a message, you can use this ID to specify the message in a request by replacing `{message\}` with the value from the `clientAssignedMessageId` field. For example, `spaces/AAAAAAAAAAA/messages/client-custom-name`. For details, see [Name a message](https://developers.google.com/workspace/chat/create-messages#name_a_created_message). + * Identifier. Resource name of the message. Format: `spaces/{space\}/messages/{message\}` Where `{space\}` is the ID of the space where the message is posted and `{message\}` is a system-assigned ID for the message. For example, `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`. If you set a custom ID when you create a message, you can use this ID to specify the message in a request by replacing `{message\}` with the value from the `clientAssignedMessageId` field. For example, `spaces/AAAAAAAAAAA/messages/client-custom-name`. For details, see [Name a message](https://developers.google.com/workspace/chat/create-messages#name_a_created_message). */ name?: string; /** @@ -4820,7 +5005,7 @@ export namespace chat_v1 { */ allowMissing?: boolean; /** - * Resource name of the message. Format: `spaces/{space\}/messages/{message\}` Where `{space\}` is the ID of the space where the message is posted and `{message\}` is a system-assigned ID for the message. For example, `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`. If you set a custom ID when you create a message, you can use this ID to specify the message in a request by replacing `{message\}` with the value from the `clientAssignedMessageId` field. For example, `spaces/AAAAAAAAAAA/messages/client-custom-name`. For details, see [Name a message](https://developers.google.com/workspace/chat/create-messages#name_a_created_message). + * Identifier. Resource name of the message. Format: `spaces/{space\}/messages/{message\}` Where `{space\}` is the ID of the space where the message is posted and `{message\}` is a system-assigned ID for the message. For example, `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`. If you set a custom ID when you create a message, you can use this ID to specify the message in a request by replacing `{message\}` with the value from the `clientAssignedMessageId` field. For example, `spaces/AAAAAAAAAAA/messages/client-custom-name`. For details, see [Name a message](https://developers.google.com/workspace/chat/create-messages#name_a_created_message). */ name?: string; /** @@ -5253,7 +5438,7 @@ export namespace chat_v1 { } /** - * Returns an event from a Google Chat space. The [event payload](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.spaceEvents#SpaceEvent.FIELDS.oneof_payload) contains the most recent version of the resource that changed. For example, if you request an event about a new message but the message was later updated, the server returns the updated `Message` resource in the event payload. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). To get an event, the authenticated user must be a member of the space. For an example, see [Get details about an event from a Google Chat space](https://developers.google.com/workspace/chat/get-space-event). + * Returns an event from a Google Chat space. The [event payload](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.spaceEvents#SpaceEvent.FIELDS.oneof_payload) contains the most recent version of the resource that changed. For example, if you request an event about a new message but the message was later updated, the server returns the updated `Message` resource in the event payload. Note: The `permissionSettings` field is not returned in the Space object of the Space event data for this request. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). To get an event, the authenticated user must be a member of the space. For an example, see [Get details about an event from a Google Chat space](https://developers.google.com/workspace/chat/get-space-event). * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -5449,7 +5634,7 @@ export namespace chat_v1 { */ pageSize?: number; /** - * A page token, received from a previous list space events call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to list space events must match the call that provided the page token. Passing different values to the other parameters might lead to unexpected results. + * Optional. A page token, received from a previous list space events call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to list space events must match the call that provided the page token. Passing different values to the other parameters might lead to unexpected results. */ pageToken?: string; /** diff --git a/src/apis/checks/v1alpha.ts b/src/apis/checks/v1alpha.ts index 878fb71eb2..12de84214e 100644 --- a/src/apis/checks/v1alpha.ts +++ b/src/apis/checks/v1alpha.ts @@ -113,6 +113,7 @@ export namespace checks_v1alpha { export class Checks { context: APIRequestContext; accounts: Resource$Accounts; + aisafety: Resource$Aisafety; media: Resource$Media; constructor(options: GlobalOptions, google?: GoogleConfigurable) { @@ -122,6 +123,7 @@ export namespace checks_v1alpha { }; this.accounts = new Resource$Accounts(this.context); + this.aisafety = new Resource$Aisafety(this.context); this.media = new Resource$Media(this.context); } } @@ -160,6 +162,97 @@ export namespace checks_v1alpha { */ nextPageToken?: string | null; } + /** + * Request proto for ClassifyContent RPC. + */ + export interface Schema$GoogleChecksAisafetyV1alphaClassifyContentRequest { + /** + * Optional. Version of the classifier to use. If not specified, the latest version will be used. + */ + classifierVersion?: string | null; + /** + * Optional. Context about the input that will be used to help on the classification. + */ + context?: Schema$GoogleChecksAisafetyV1alphaClassifyContentRequestContext; + /** + * Required. Content to be classified. + */ + input?: Schema$GoogleChecksAisafetyV1alphaClassifyContentRequestInputContent; + /** + * Required. List of policies to classify against. + */ + policies?: Schema$GoogleChecksAisafetyV1alphaClassifyContentRequestPolicyConfig[]; + } + /** + * Context about the input that will be used to help on the classification. + */ + export interface Schema$GoogleChecksAisafetyV1alphaClassifyContentRequestContext { + /** + * Optional. Prompt that generated the model response. + */ + prompt?: string | null; + } + /** + * Content to be classified. + */ + export interface Schema$GoogleChecksAisafetyV1alphaClassifyContentRequestInputContent { + /** + * Content in text format. + */ + textInput?: Schema$GoogleChecksAisafetyV1alphaTextInput; + } + /** + * List of policies to classify against. + */ + export interface Schema$GoogleChecksAisafetyV1alphaClassifyContentRequestPolicyConfig { + /** + * Required. Type of the policy. + */ + policyType?: string | null; + /** + * Optional. Score threshold to use when deciding if the content is violative or non-violative. If not specified, the default 0.5 threshold for the policy will be used. + */ + threshold?: number | null; + } + /** + * Response proto for ClassifyContent RPC. + */ + export interface Schema$GoogleChecksAisafetyV1alphaClassifyContentResponse { + /** + * Results of the classification for each policy. + */ + policyResults?: Schema$GoogleChecksAisafetyV1alphaClassifyContentResponsePolicyResult[]; + } + /** + * Result for one policy against the corresponding input. + */ + export interface Schema$GoogleChecksAisafetyV1alphaClassifyContentResponsePolicyResult { + /** + * Type of the policy. + */ + policyType?: string | null; + /** + * Final score for the results of this policy. + */ + score?: number | null; + /** + * Result of the classification for the policy. + */ + violationResult?: string | null; + } + /** + * Text input to be classified. + */ + export interface Schema$GoogleChecksAisafetyV1alphaTextInput { + /** + * Actual piece of text to be classified. + */ + content?: string | null; + /** + * Optional. Language of the text in ISO 639-1 format. If the language is invalid or not specified, the system will try to detect it. + */ + languageCode?: string | null; + } /** * The request message for ReportService.AnalyzeUpload. */ @@ -686,6 +779,201 @@ export namespace checks_v1alpha { */ id?: string | null; } + /** + * The results of a Code Compliance CLI analysis. + */ + export interface Schema$GoogleChecksRepoScanV1alphaCliAnalysis { + /** + * Optional. Requested code scans resulting from preliminary CLI analysis. + */ + codeScans?: Schema$GoogleChecksRepoScanV1alphaCodeScan[]; + /** + * Optional. Data sources detected in the scan. + */ + sources?: Schema$GoogleChecksRepoScanV1alphaSource[]; + } + /** + * Source code attribution. + */ + export interface Schema$GoogleChecksRepoScanV1alphaCodeAttribution { + /** + * Optional. Code excerpt where the source was detected along with surrounding code. + */ + codeExcerpt?: string | null; + /** + * Required. Line number (1-based). + */ + lineNumber?: number | null; + /** + * Required. Path of the file. + */ + path?: string | null; + /** + * Optional. Start line number of the code excerpt (1-based). + */ + startLineNumber?: number | null; + } + /** + * A requested analysis of source code. Contains the source code and processing state. + */ + export interface Schema$GoogleChecksRepoScanV1alphaCodeScan { + /** + * Optional. Data type classification requests. + */ + dataTypeClassifications?: Schema$GoogleChecksRepoScanV1alphaCodeScanDataTypeClassification[]; + /** + * Required. Source code to analyze. + */ + sourceCode?: Schema$GoogleChecksRepoScanV1alphaSourceCode; + } + /** + * A request to classify data types. + */ + export interface Schema$GoogleChecksRepoScanV1alphaCodeScanDataTypeClassification { + /** + * Required. Candidate data type. + */ + dataType?: string | null; + /** + * Required. Line number (1-based). + */ + lineNumber?: number | null; + } + /** + * The request message for RepoScanService.GenerateScan. + */ + export interface Schema$GoogleChecksRepoScanV1alphaGenerateScanRequest { + /** + * Required. CLI analysis results. + */ + cliAnalysis?: Schema$GoogleChecksRepoScanV1alphaCliAnalysis; + /** + * Required. CLI version. + */ + cliVersion?: string | null; + /** + * Required. Local scan path. + */ + localScanPath?: string | null; + /** + * Required. SCM metadata. + */ + scmMetadata?: Schema$GoogleChecksRepoScanV1alphaScmMetadata; + } + /** + * The response message for RepoScanService.ListRepoScans. + */ + export interface Schema$GoogleChecksRepoScanV1alphaListRepoScansResponse { + /** + * A token which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The repo scans for the specified app. + */ + repoScans?: Schema$GoogleChecksRepoScanV1alphaRepoScan[]; + } + /** + * Pull request info. + */ + export interface Schema$GoogleChecksRepoScanV1alphaPullRequest { + /** + * Required. For PR analysis, we compare against the most recent scan of the base branch to highlight new issues. + */ + baseBranch?: string | null; + /** + * Required. This can be supplied by the user or parsed automatically from predefined CI environment variables. + */ + prNumber?: string | null; + } + /** + * Repo scan. + */ + export interface Schema$GoogleChecksRepoScanV1alphaRepoScan { + /** + * CLI version. + */ + cliVersion?: string | null; + /** + * Local scan path. + */ + localScanPath?: string | null; + /** + * Identifier. Resource name of the scan. + */ + name?: string | null; + /** + * A URL to view results. + */ + resultsUri?: string | null; + /** + * SCM metadata. + */ + scmMetadata?: Schema$GoogleChecksRepoScanV1alphaScmMetadata; + /** + * Data sources detected. + */ + sources?: Schema$GoogleChecksRepoScanV1alphaSource[]; + } + /** + * SCM metadata. + */ + export interface Schema$GoogleChecksRepoScanV1alphaScmMetadata { + /** + * Required. Branch name. + */ + branch?: string | null; + /** + * Optional. Contains info about the associated pull request. This is only populated for pull request scans. + */ + pullRequest?: Schema$GoogleChecksRepoScanV1alphaPullRequest; + /** + * Required. Git remote URL. + */ + remoteUri?: string | null; + /** + * Required. Revision ID, e.g. Git commit hash. + */ + revisionId?: string | null; + } + /** + * Represents a data source finding. + */ + export interface Schema$GoogleChecksRepoScanV1alphaSource { + /** + * Optional. Source code attribution for the finding. + */ + codeAttribution?: Schema$GoogleChecksRepoScanV1alphaCodeAttribution; + /** + * Required. Data type. + */ + dataType?: string | null; + /** + * Optional. Whether the finding was marked as a false positive. + */ + falsePositive?: boolean | null; + } + /** + * Contains source code from a repo. + */ + export interface Schema$GoogleChecksRepoScanV1alphaSourceCode { + /** + * Required. Source code. + */ + code?: string | null; + /** + * Required. End line number (1-based). + */ + endLine?: number | null; + /** + * Required. Path of the file. + */ + path?: string | null; + /** + * Required. Start line number (1-based). + */ + startLine?: number | null; + } /** * The response message for Operations.ListOperations. */ @@ -994,7 +1282,7 @@ export namespace checks_v1alpha { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -1727,9 +2015,11 @@ export namespace checks_v1alpha { export class Resource$Accounts$Repos { context: APIRequestContext; operations: Resource$Accounts$Repos$Operations; + scans: Resource$Accounts$Repos$Scans; constructor(context: APIRequestContext) { this.context = context; this.operations = new Resource$Accounts$Repos$Operations(this.context); + this.scans = new Resource$Accounts$Repos$Scans(this.context); } } @@ -1833,6 +2123,443 @@ export namespace checks_v1alpha { name?: string; } + export class Resource$Accounts$Repos$Scans { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Uploads the results of local Code Compliance analysis and generates a scan of privacy issues. Returns a google.longrunning.Operation containing analysis and findings. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generate( + params: Params$Resource$Accounts$Repos$Scans$Generate, + options: StreamMethodOptions + ): GaxiosPromise; + generate( + params?: Params$Resource$Accounts$Repos$Scans$Generate, + options?: MethodOptions + ): GaxiosPromise; + generate( + params: Params$Resource$Accounts$Repos$Scans$Generate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generate( + params: Params$Resource$Accounts$Repos$Scans$Generate, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generate( + params: Params$Resource$Accounts$Repos$Scans$Generate, + callback: BodyResponseCallback + ): void; + generate(callback: BodyResponseCallback): void; + generate( + paramsOrCallback?: + | Params$Resource$Accounts$Repos$Scans$Generate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Repos$Scans$Generate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Repos$Scans$Generate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://checks.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+parent}/scans:generate').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets a repo scan. By default, only the name and results_uri fields are returned. You can include other fields by listing them in the `fields` URL query parameter. For example, `?fields=name,sources` will return the name and sources fields. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Accounts$Repos$Scans$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Accounts$Repos$Scans$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Accounts$Repos$Scans$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Repos$Scans$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Repos$Scans$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Accounts$Repos$Scans$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Repos$Scans$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Repos$Scans$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://checks.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Lists repo scans for the specified repo. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Accounts$Repos$Scans$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Accounts$Repos$Scans$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Accounts$Repos$Scans$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Repos$Scans$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Repos$Scans$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Accounts$Repos$Scans$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Repos$Scans$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Repos$Scans$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://checks.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+parent}/scans').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Accounts$Repos$Scans$Generate + extends StandardParameters { + /** + * Required. Resource name of the repo. Example: `accounts/123/repos/456` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleChecksRepoScanV1alphaGenerateScanRequest; + } + export interface Params$Resource$Accounts$Repos$Scans$Get + extends StandardParameters { + /** + * Required. Resource name of the repo scan. Example: `accounts/123/repos/456/scans/789` + */ + name?: string; + } + export interface Params$Resource$Accounts$Repos$Scans$List + extends StandardParameters { + /** + * Optional. An [AIP-160](https://google.aip.dev/160) filter string to filter repo scans. Example: `scmMetadata.branch = main` + */ + filter?: string; + /** + * Optional. The maximum number of repo scans to return. If unspecified, at most 10 repo scans will be returned. The maximum value is 50; values above 50 will be coerced to 50. + */ + pageSize?: number; + /** + * Optional. A page token received from a previous `ListRepoScans` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListRepoScans` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. Resource name of the repo. Example: `accounts/123/repos/456` + */ + parent?: string; + } + + export class Resource$Aisafety { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Analyze a piece of content with the provided set of policies. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + classifyContent( + params: Params$Resource$Aisafety$Classifycontent, + options: StreamMethodOptions + ): GaxiosPromise; + classifyContent( + params?: Params$Resource$Aisafety$Classifycontent, + options?: MethodOptions + ): GaxiosPromise; + classifyContent( + params: Params$Resource$Aisafety$Classifycontent, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + classifyContent( + params: Params$Resource$Aisafety$Classifycontent, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + classifyContent( + params: Params$Resource$Aisafety$Classifycontent, + callback: BodyResponseCallback + ): void; + classifyContent( + callback: BodyResponseCallback + ): void; + classifyContent( + paramsOrCallback?: + | Params$Resource$Aisafety$Classifycontent + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Aisafety$Classifycontent; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Aisafety$Classifycontent; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://checks.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/aisafety:classifyContent').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Aisafety$Classifycontent + extends StandardParameters { + /** + * Request body metadata + */ + requestBody?: Schema$GoogleChecksAisafetyV1alphaClassifyContentRequest; + } + export class Resource$Media { context: APIRequestContext; constructor(context: APIRequestContext) { diff --git a/src/apis/chromemanagement/v1.ts b/src/apis/chromemanagement/v1.ts index 92a6802d74..cad48169bf 100644 --- a/src/apis/chromemanagement/v1.ts +++ b/src/apis/chromemanagement/v1.ts @@ -1178,6 +1178,10 @@ export namespace chromemanagement_v1 { * Output only. Permissions of the installed app. */ permissions?: string[] | null; + /** + * Output only. If available, the risk assessment data about this extension. + */ + riskAssessment?: Schema$GoogleChromeManagementV1RiskAssessmentData; } /** * Kiosk app status report of a device. * Available for Kiosks * This field provides the app id and version number running on a kiosk device and the timestamp of when the report was last updated * Data for this field is controlled via policy: [ReportDeviceSessionStatus](https://chromeenterprise.google/policies/#ReportDeviceSessionStatus) * Data Collection Frequency: Only at Upload * Default Data Reporting Frequency: 3 hours - Policy Controlled: Yes * Cache: If the device is offline, the collected data is stored locally, and will be reported when the device is next online: No * Reported for affiliated users only: N/A * Granular permission needed: TELEMETRY_API_APPS_REPORT @@ -1536,6 +1540,53 @@ export namespace chromemanagement_v1 { */ userId?: string | null; } + /** + * Risk assessment for a Chrome extension. + */ + export interface Schema$GoogleChromeManagementV1RiskAssessment { + /** + * Risk assessment for the extension. Currently, this is a numerical value, and its interpretation is specific to each risk assessment provider. + */ + assessment?: string | null; + /** + * A URL that a user can navigate to for more information about the risk assessment. + */ + detailsUrl?: string | null; + /** + * The version of the extension that this assessment applies to. + */ + version?: string | null; + } + /** + * Risk assessment data about an extension/app. + */ + export interface Schema$GoogleChromeManagementV1RiskAssessmentData { + /** + * Individual risk assessments. + */ + entries?: Schema$GoogleChromeManagementV1RiskAssessmentEntry[]; + /** + * Overall assessed risk level across all entries. This will be the highest risk level from all entries. + */ + overallRiskLevel?: string | null; + } + /** + * One risk assessment entry. + */ + export interface Schema$GoogleChromeManagementV1RiskAssessmentEntry { + /** + * The risk assessment provider from which this entry comes from. + */ + provider?: string | null; + /** + * The details of the provider's risk assessment. + */ + riskAssessment?: Schema$GoogleChromeManagementV1RiskAssessment; + /** + * The bucketed risk level for the risk assessment. + */ + riskLevel?: string | null; + } /** * Runtime counters retrieved from CPU. Currently the runtime counters telemetry is only supported by Intel vPro PSR on Gen 14+. */ @@ -2172,177 +2223,686 @@ export namespace chromemanagement_v1 { justification?: string | null; } /** - * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} + * A certificate provisioning process. */ - export interface Schema$GoogleProtobufEmpty {} + export interface Schema$GoogleChromeManagementVersionsV1alpha1CertificateProvisioningProcess { + /** + * Output only. A JSON string that contains the administrator-provided configuration for the certification authority service. This field can be missing if no configuration was given. + */ + caConnectionAdapterConfigReference?: string | null; + /** + * Output only. The client certificate is being provisioned for a ChromeOS device. This contains information about the device. + */ + chromeOsDevice?: Schema$GoogleChromeManagementVersionsV1alpha1ChromeOsDevice; + /** + * Output only. The client certificate is being provisioned for a ChromeOS user session. This contains information about the user session. + */ + chromeOsUserSession?: Schema$GoogleChromeManagementVersionsV1alpha1ChromeOsUserSession; + /** + * Output only. A message describing why this `CertificateProvisioningProcess` failed. Presence of this field indicates that the `CertificateProvisioningProcess` has failed. + */ + failureMessage?: string | null; + /** + * Output only. The issued certificate for this `CertificateProvisioningProcess` in PEM format. + */ + issuedCertificate?: string | null; + /** + * Identifier. Resource name of the `CertificateProvisioningProcess`. The name pattern is given as `customers/{customer\}/certificateProvisioningProcesses/{certificate_provisioning_process\}` with `{customer\}` being the obfuscated customer id and `{certificate_provisioning_process\}` being the certificate provisioning process id. + */ + name?: string | null; + /** + * Output only. A JSON string that contains the administrator-provided configuration for the certificate provisioning profile. This field can be missing if no configuration was given. + */ + profileAdapterConfigReference?: string | null; + /** + * Output only. The ID of the certificate provisioning profile. + */ + provisioningProfileId?: string | null; + /** + * Output only. The signature of `signature_algorithm`, generated using the client's private key using `signature_algorithm`. This field is only present after the`SignData` operation has finished. + */ + signature?: string | null; + /** + * Output only. The signature algorithm that the adapter expects the client and backend components to use when processing `sign_data`. This field is only present after the `SignData` operation has been initiated. + */ + signatureAlgorithm?: string | null; + /** + * Output only. The data that the client was asked to sign. This field is only present after the `SignData` operation has been initiated. + */ + signData?: string | null; + /** + * Output only. Server-generated timestamp of when the certificate provisioning process has been created. + */ + startTime?: string | null; + /** + * Output only. The public key for which a certificate should be provisioned. Represented as a DER-encoded X.509 SubjectPublicKeyInfo. + */ + subjectPublicKeyInfo?: string | null; + } /** - * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + * Describes the ChromeOS device that a `CertificateProvisioningProcess` belongs to. */ - export interface Schema$GoogleRpcStatus { + export interface Schema$GoogleChromeManagementVersionsV1alpha1ChromeOsDevice { /** - * The status code, which should be an enum value of google.rpc.Code. + * Output only. The unique Directory API ID of the device. This value is the same as the Admin Console's Directory API ID in the ChromeOS Devices tab. */ - code?: number | null; + deviceDirectoryApiId?: string | null; /** - * A list of messages that carry the error details. There is a common set of message types for APIs to use. + * Output only. Device serial number. This value is the same as the Admin Console's Serial Number in the ChromeOS Devices tab. */ - details?: Array<{[key: string]: any}> | null; + serialNumber?: string | null; + } + /** + * Describes the ChromeOS user session that a `CertificateProvisioningProcess` belongs to. + */ + export interface Schema$GoogleChromeManagementVersionsV1alpha1ChromeOsUserSession { /** - * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + * Output only. This field contains information about the ChromeOS device that the user session is running on. It is only set if the user session is affiliated, i.e. if the user is managed by the same organization that managed the ChromeOS device. */ - message?: string | null; + chromeOsDevice?: Schema$GoogleChromeManagementVersionsV1alpha1ChromeOsDevice; + /** + * Output only. The unique Directory API ID of the user. + */ + userDirectoryApiId?: string | null; + /** + * Output only. The primary e-mail address of the user. + */ + userPrimaryEmail?: string | null; } /** - * Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp + * Metadata for the long-running operation returned by signData. */ - export interface Schema$GoogleTypeDate { + export interface Schema$GoogleChromeManagementVersionsV1alpha1SignDataMetadata { /** - * Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + * Output only. Start time of the SignData operation. */ - day?: number | null; + startTime?: string | null; + } + /** + * Response message for requesting a signature from the client that initated a certificate provisioning process. + */ + export interface Schema$GoogleChromeManagementVersionsV1alpha1SignDataResponse { /** - * Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + * Output only. The certificate provisioning process. The signature generated by the client will be available in the `signature` field of `CertificateProvisioningProcess`. */ - month?: number | null; + certificateProvisioningProcess?: Schema$GoogleChromeManagementVersionsV1alpha1CertificateProvisioningProcess; + } + /** + * Information of public key associated with a Chrome browser profile. + */ + export interface Schema$GoogleChromeManagementVersionsV1AttestationCredential { /** - * Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + * Output only. Latest rotation timestamp of the public key rotation. */ - year?: number | null; + keyRotationTime?: string | null; + /** + * Output only. Trust level of the public key. + */ + keyTrustLevel?: string | null; + /** + * Output only. Type of the public key. + */ + keyType?: string | null; + /** + * Output only. Value of the public key. + */ + publicKey?: string | null; } - - export class Resource$Customers { - context: APIRequestContext; - apps: Resource$Customers$Apps; - reports: Resource$Customers$Reports; - telemetry: Resource$Customers$Telemetry; - constructor(context: APIRequestContext) { - this.context = context; - this.apps = new Resource$Customers$Apps(this.context); - this.reports = new Resource$Customers$Reports(this.context); - this.telemetry = new Resource$Customers$Telemetry(this.context); - } + /** + * A certificate provisioning process. + */ + export interface Schema$GoogleChromeManagementVersionsV1CertificateProvisioningProcess { + /** + * Output only. A JSON string that contains the administrator-provided configuration for the certification authority service. This field can be missing if no configuration was given. + */ + caConnectionAdapterConfigReference?: string | null; + /** + * Output only. The client certificate is being provisioned for a ChromeOS device. This contains information about the device. + */ + chromeOsDevice?: Schema$GoogleChromeManagementVersionsV1ChromeOsDevice; + /** + * Output only. The client certificate is being provisioned for a ChromeOS user session. This contains information about the user session. + */ + chromeOsUserSession?: Schema$GoogleChromeManagementVersionsV1ChromeOsUserSession; + /** + * Output only. A message describing why this `CertificateProvisioningProcess` failed. Presence of this field indicates that the `CertificateProvisioningProcess` has failed. + */ + failureMessage?: string | null; + /** + * Output only. The issued certificate for this `CertificateProvisioningProcess` in PEM format. + */ + issuedCertificate?: string | null; + /** + * Identifier. Resource name of the `CertificateProvisioningProcess`. The name pattern is given as `customers/{customer\}/certificateProvisioningProcesses/{certificate_provisioning_process\}` with `{customer\}` being the obfuscated customer id and `{certificate_provisioning_process\}` being the certificate provisioning process id. + */ + name?: string | null; + /** + * Output only. A JSON string that contains the administrator-provided configuration for the certificate provisioning profile. This field can be missing if no configuration was given. + */ + profileAdapterConfigReference?: string | null; + /** + * Output only. The ID of the certificate provisioning profile. + */ + provisioningProfileId?: string | null; + /** + * Output only. The signature of `signature_algorithm`, generated using the client's private key using `signature_algorithm`. This field is only present after the`SignData` operation has finished. + */ + signature?: string | null; + /** + * Output only. The signature algorithm that the adapter expects the client and backend components to use when processing `sign_data`. This field is only present after the `SignData` operation has been initiated. + */ + signatureAlgorithm?: string | null; + /** + * Output only. The data that the client was asked to sign. This field is only present after the `SignData` operation has been initiated. + */ + signData?: string | null; + /** + * Output only. Server-generated timestamp of when the certificate provisioning process has been created. + */ + startTime?: string | null; + /** + * Output only. The public key for which a certificate should be provisioned. Represented as a DER-encoded X.509 SubjectPublicKeyInfo. + */ + subjectPublicKeyInfo?: string | null; } - - export class Resource$Customers$Apps { - context: APIRequestContext; - android: Resource$Customers$Apps$Android; - chrome: Resource$Customers$Apps$Chrome; - web: Resource$Customers$Apps$Web; - constructor(context: APIRequestContext) { - this.context = context; - this.android = new Resource$Customers$Apps$Android(this.context); - this.chrome = new Resource$Customers$Apps$Chrome(this.context); - this.web = new Resource$Customers$Apps$Web(this.context); - } - + /** + * A representation of a Chrome browser profile. + */ + export interface Schema$GoogleChromeManagementVersionsV1ChromeBrowserProfile { /** - * Generate summary of app installation requests. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * Output only. The specific affiliation state of the profile. */ - countChromeAppRequests( - params: Params$Resource$Customers$Apps$Countchromeapprequests, - options: StreamMethodOptions - ): GaxiosPromise; - countChromeAppRequests( - params?: Params$Resource$Customers$Apps$Countchromeapprequests, - options?: MethodOptions - ): GaxiosPromise; - countChromeAppRequests( - params: Params$Resource$Customers$Apps$Countchromeapprequests, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - countChromeAppRequests( - params: Params$Resource$Customers$Apps$Countchromeapprequests, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - countChromeAppRequests( - params: Params$Resource$Customers$Apps$Countchromeapprequests, - callback: BodyResponseCallback - ): void; - countChromeAppRequests( - callback: BodyResponseCallback - ): void; - countChromeAppRequests( - paramsOrCallback?: - | Params$Resource$Customers$Apps$Countchromeapprequests - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Customers$Apps$Countchromeapprequests; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Customers$Apps$Countchromeapprequests; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://chromemanagement.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/v1/{+customer}/apps:countChromeAppRequests' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['customer'], - pathParams: ['customer'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - + affiliationState?: string | null; /** - * Get a list of devices that have requested to install an extension. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * Optional. Location of the profile annotated by the admin. */ - fetchDevicesRequestingExtension( - params: Params$Resource$Customers$Apps$Fetchdevicesrequestingextension, - options: StreamMethodOptions + annotatedLocation?: string | null; + /** + * Optional. User of the profile annotated by the admin. + */ + annotatedUser?: string | null; + /** + * Output only. Attestation credential information of the profile. + */ + attestationCredential?: Schema$GoogleChromeManagementVersionsV1AttestationCredential; + /** + * Output only. Channel of the browser on which the profile exists. + */ + browserChannel?: string | null; + /** + * Output only. Version of the browser on which the profile exists. + */ + browserVersion?: string | null; + /** + * Output only. Basic information of the device on which the profile exists. This information is only available for the affiliated profiles. + */ + deviceInfo?: Schema$GoogleChromeManagementVersionsV1DeviceInfo; + /** + * Output only. Profile display name set by client. + */ + displayName?: string | null; + /** + * Output only. Etag of this ChromeBrowserProfile resource. This etag can be used with UPDATE operation to ensure consistency. + */ + etag?: string | null; + /** + * Output only. Number of extensions installed on the profile. + */ + extensionCount?: string | null; + /** + * Output only. Timestamp of the first enrollment of the profile. + */ + firstEnrollmentTime?: string | null; + /** + * Output only. Identify provider of the profile. + */ + identityProvider?: string | null; + /** + * Output only. Timestamp of the latest activity by the profile. + */ + lastActivityTime?: string | null; + /** + * Output only. Timestamp of the latest policy fetch by the profile. + */ + lastPolicyFetchTime?: string | null; + /** + * Output only. Timestamp of the latest policy sync by the profile. + */ + lastPolicySyncTime?: string | null; + /** + * Output only. Timestamp of the latest status report by the profile. + */ + lastStatusReportTime?: string | null; + /** + * Identifier. Format: customers/{customer_id\}/profiles/{profile_permanent_id\} + */ + name?: string | null; + /** + * Output only. OS platform of the device on which the profile exists. + */ + osPlatformType?: string | null; + /** + * Output only. Major OS version of the device on which the profile exists. (i.e. Windows 10) + */ + osPlatformVersion?: string | null; + /** + * Output only. OS version of the device on which the profile exists. + */ + osVersion?: string | null; + /** + * Output only. Number of policies applied on the profile. + */ + policyCount?: string | null; + /** + * Output only. Chrome client side profile ID. + */ + profileId?: string | null; + /** + * Output only. Profile permanent ID is the unique identifier of a profile within one customer. + */ + profilePermanentId?: string | null; + /** + * Output only. Detailed reporting data of the profile. This information is only available when the profile reporting policy is enabled. + */ + reportingData?: Schema$GoogleChromeManagementVersionsV1ReportingData; + /** + * Output only. Email address of the user to which the profile belongs. + */ + userEmail?: string | null; + /** + * Output only. Unique Directory API ID of the user that can be used in Admin SDK Users API. + */ + userId?: string | null; + } + /** + * Describes the ChromeOS device that a `CertificateProvisioningProcess` belongs to. + */ + export interface Schema$GoogleChromeManagementVersionsV1ChromeOsDevice { + /** + * Output only. The unique Directory API ID of the device. This value is the same as the Admin Console's Directory API ID in the ChromeOS Devices tab. + */ + deviceDirectoryApiId?: string | null; + /** + * Output only. Device serial number. This value is the same as the Admin Console's Serial Number in the ChromeOS Devices tab. + */ + serialNumber?: string | null; + } + /** + * Describes the ChromeOS user session that a `CertificateProvisioningProcess` belongs to. + */ + export interface Schema$GoogleChromeManagementVersionsV1ChromeOsUserSession { + /** + * Output only. This field contains information about the ChromeOS device that the user session is running on. It is only set if the user session is affiliated, i.e. if the user is managed by the same organization that managed the ChromeOS device. + */ + chromeOsDevice?: Schema$GoogleChromeManagementVersionsV1ChromeOsDevice; + /** + * Output only. The unique Directory API ID of the user. + */ + userDirectoryApiId?: string | null; + /** + * Output only. The primary e-mail address of the user. + */ + userPrimaryEmail?: string | null; + } + /** + * Information of a device that runs a Chrome browser profile. + */ + export interface Schema$GoogleChromeManagementVersionsV1DeviceInfo { + /** + * Output only. Device ID that identifies the affiliated device on which the profile exists. If the device type is CHROME_BROWSER, then this represents a unique Directory API ID of the device that can be used in Admin SDK Browsers API. + */ + affiliatedDeviceId?: string | null; + /** + * Output only. Type of the device on which the profile exists. + */ + deviceType?: string | null; + /** + * Output only. Hostname of the device on which the profile exists. + */ + hostname?: string | null; + /** + * Output only. Machine name of the device on which the profile exists. On platforms which do not report the machine name (currently iOS and Android) this is instead set to the browser's device_id - but note that this is a different device_id than the |affiliated_device_id|. + */ + machine?: string | null; + } + /** + * Response to ListChromeBrowserProfiles method. + */ + export interface Schema$GoogleChromeManagementVersionsV1ListChromeBrowserProfilesResponse { + /** + * The list of profiles returned. + */ + chromeBrowserProfiles?: Schema$GoogleChromeManagementVersionsV1ChromeBrowserProfile[]; + /** + * The pagination token that can be used to list the next page. + */ + nextPageToken?: string | null; + /** + * Total size represents an estimated number of resources returned. Not guaranteed to be accurate above 10k profiles. + */ + totalSize?: string | null; + } + /** + * Reporting data of a Chrome browser profile. + */ + export interface Schema$GoogleChromeManagementVersionsV1ReportingData { + /** + * Output only. Executable path of the installed Chrome browser. A valid path is included only in affiliated profiles. + */ + browserExecutablePath?: string | null; + /** + * Output only. Information of the extensions installed on the profile. + */ + extensionData?: Schema$GoogleChromeManagementVersionsV1ReportingDataExtensionData[]; + /** + * Output only. Information of the policies applied on the extensions. + */ + extensionPolicyData?: Schema$GoogleChromeManagementVersionsV1ReportingDataExtensionPolicyData[]; + /** + * Output only. Updated version of a browser, if it is different from the active browser version. + */ + installedBrowserVersion?: string | null; + /** + * Output only. Information of the policies applied on the profile. + */ + policyData?: Schema$GoogleChromeManagementVersionsV1ReportingDataPolicyData[]; + /** + * Output only. Path of the profile. A valid path is included only in affiliated profiles. + */ + profilePath?: string | null; + } + /** + * Information of conflicting policy applied on a Chrome browser profile. + */ + export interface Schema$GoogleChromeManagementVersionsV1ReportingDataConflictingPolicyData { + /** + * Output only. Source of the policy. + */ + source?: string | null; + } + /** + * Information of an extension installed on a Chrome browser profile. + */ + export interface Schema$GoogleChromeManagementVersionsV1ReportingDataExtensionData { + /** + * Output only. Description of the extension. + */ + description?: string | null; + /** + * Output only. ID of the extension. + */ + extensionId?: string | null; + /** + * Output only. Type of the extension. + */ + extensionType?: string | null; + /** + * Output only. The URL of the homepage of the extension. + */ + homepageUri?: string | null; + /** + * Output only. Installation type of the extension. + */ + installationType?: string | null; + /** + * Output only. Represents whether the user disabled the extension. + */ + isDisabled?: boolean | null; + /** + * Output only. Represents whether the extension is from the webstore. + */ + isWebstoreExtension?: boolean | null; + /** + * Output only. Manifest version of the extension. + */ + manifestVersion?: number | null; + /** + * Output only. Name of the extension. + */ + name?: string | null; + /** + * Output only. Permissions requested by the extension. + */ + permissions?: string[] | null; + /** + * Output only. Version of the extension. + */ + version?: string | null; + } + /** + * Information of the policies applied on an extension. + */ + export interface Schema$GoogleChromeManagementVersionsV1ReportingDataExtensionPolicyData { + /** + * Output only. ID of the extension. + */ + extensionId?: string | null; + /** + * Output only. Name of the extension. + */ + extensionName?: string | null; + /** + * Output only. Information of the policies applied on the extension. + */ + policyData?: Schema$GoogleChromeManagementVersionsV1ReportingDataPolicyData[]; + } + /** + * Information of a policy applied on a Chrome browser profile. + */ + export interface Schema$GoogleChromeManagementVersionsV1ReportingDataPolicyData { + /** + * Output only. Conflicting policy information. + */ + conflicts?: Schema$GoogleChromeManagementVersionsV1ReportingDataConflictingPolicyData[]; + /** + * Output only. Error message of the policy, if any. + */ + error?: string | null; + /** + * Output only. Name of the policy. + */ + name?: string | null; + /** + * Output only. Source of the policy. + */ + source?: string | null; + /** + * Output only. Value of the policy. + */ + value?: string | null; + } + /** + * Metadata for the long-running operation returned by signData. + */ + export interface Schema$GoogleChromeManagementVersionsV1SignDataMetadata { + /** + * Output only. Start time of the SignData operation. + */ + startTime?: string | null; + } + /** + * Response message for requesting a signature from the client that initated a certificate provisioning process. + */ + export interface Schema$GoogleChromeManagementVersionsV1SignDataResponse { + /** + * Output only. The certificate provisioning process. The signature generated by the client will be available in the `signature` field of `CertificateProvisioningProcess`. + */ + certificateProvisioningProcess?: Schema$GoogleChromeManagementVersionsV1CertificateProvisioningProcess; + } + /** + * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} + */ + export interface Schema$GoogleProtobufEmpty {} + /** + * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + */ + export interface Schema$GoogleRpcStatus { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number | null; + /** + * A list of messages that carry the error details. There is a common set of message types for APIs to use. + */ + details?: Array<{[key: string]: any}> | null; + /** + * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + */ + message?: string | null; + } + /** + * Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp + */ + export interface Schema$GoogleTypeDate { + /** + * Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. + */ + day?: number | null; + /** + * Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. + */ + month?: number | null; + /** + * Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. + */ + year?: number | null; + } + + export class Resource$Customers { + context: APIRequestContext; + apps: Resource$Customers$Apps; + profiles: Resource$Customers$Profiles; + reports: Resource$Customers$Reports; + telemetry: Resource$Customers$Telemetry; + constructor(context: APIRequestContext) { + this.context = context; + this.apps = new Resource$Customers$Apps(this.context); + this.profiles = new Resource$Customers$Profiles(this.context); + this.reports = new Resource$Customers$Reports(this.context); + this.telemetry = new Resource$Customers$Telemetry(this.context); + } + } + + export class Resource$Customers$Apps { + context: APIRequestContext; + android: Resource$Customers$Apps$Android; + chrome: Resource$Customers$Apps$Chrome; + web: Resource$Customers$Apps$Web; + constructor(context: APIRequestContext) { + this.context = context; + this.android = new Resource$Customers$Apps$Android(this.context); + this.chrome = new Resource$Customers$Apps$Chrome(this.context); + this.web = new Resource$Customers$Apps$Web(this.context); + } + + /** + * Generate summary of app installation requests. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + countChromeAppRequests( + params: Params$Resource$Customers$Apps$Countchromeapprequests, + options: StreamMethodOptions + ): GaxiosPromise; + countChromeAppRequests( + params?: Params$Resource$Customers$Apps$Countchromeapprequests, + options?: MethodOptions + ): GaxiosPromise; + countChromeAppRequests( + params: Params$Resource$Customers$Apps$Countchromeapprequests, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + countChromeAppRequests( + params: Params$Resource$Customers$Apps$Countchromeapprequests, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + countChromeAppRequests( + params: Params$Resource$Customers$Apps$Countchromeapprequests, + callback: BodyResponseCallback + ): void; + countChromeAppRequests( + callback: BodyResponseCallback + ): void; + countChromeAppRequests( + paramsOrCallback?: + | Params$Resource$Customers$Apps$Countchromeapprequests + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Apps$Countchromeapprequests; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Apps$Countchromeapprequests; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://chromemanagement.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1/{+customer}/apps:countChromeAppRequests' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['customer'], + pathParams: ['customer'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Get a list of devices that have requested to install an extension. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + fetchDevicesRequestingExtension( + params: Params$Resource$Customers$Apps$Fetchdevicesrequestingextension, + options: StreamMethodOptions ): GaxiosPromise; fetchDevicesRequestingExtension( params?: Params$Resource$Customers$Apps$Fetchdevicesrequestingextension, @@ -2594,12 +3154,122 @@ export namespace chromemanagement_v1 { */ pageSize?: number; /** - * Optional. Token to specify the page of the request to be returned. Token expires after 1 day. + * Optional. Token to specify the page of the request to be returned. Token expires after 1 day. + */ + pageToken?: string; + } + + export class Resource$Customers$Apps$Android { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Get a specific app for a customer by its resource name. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Customers$Apps$Android$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Customers$Apps$Android$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Customers$Apps$Android$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Customers$Apps$Android$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Customers$Apps$Android$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Customers$Apps$Android$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Apps$Android$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Apps$Android$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://chromemanagement.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Customers$Apps$Android$Get + extends StandardParameters { + /** + * Required. The app for which details are being queried. Examples: "customers/my_customer/apps/chrome/gmbmikajjgmnabiglmofipeabaddhgne@2.1.2" for the Save to Google Drive Chrome extension version 2.1.2, "customers/my_customer/apps/android/com.google.android.apps.docs" for the Google Drive Android app's latest version. */ - pageToken?: string; + name?: string; } - export class Resource$Customers$Apps$Android { + export class Resource$Customers$Apps$Chrome { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; @@ -2614,27 +3284,27 @@ export namespace chromemanagement_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Customers$Apps$Android$Get, + params: Params$Resource$Customers$Apps$Chrome$Get, options: StreamMethodOptions ): GaxiosPromise; get( - params?: Params$Resource$Customers$Apps$Android$Get, + params?: Params$Resource$Customers$Apps$Chrome$Get, options?: MethodOptions ): GaxiosPromise; get( - params: Params$Resource$Customers$Apps$Android$Get, + params: Params$Resource$Customers$Apps$Chrome$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Customers$Apps$Android$Get, + params: Params$Resource$Customers$Apps$Chrome$Get, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Customers$Apps$Android$Get, + params: Params$Resource$Customers$Apps$Chrome$Get, callback: BodyResponseCallback ): void; get( @@ -2642,7 +3312,7 @@ export namespace chromemanagement_v1 { ): void; get( paramsOrCallback?: - | Params$Resource$Customers$Apps$Android$Get + | Params$Resource$Customers$Apps$Chrome$Get | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -2658,12 +3328,12 @@ export namespace chromemanagement_v1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Customers$Apps$Android$Get; + {}) as Params$Resource$Customers$Apps$Chrome$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Customers$Apps$Android$Get; + params = {} as Params$Resource$Customers$Apps$Chrome$Get; options = {}; } @@ -2701,7 +3371,7 @@ export namespace chromemanagement_v1 { } } - export interface Params$Resource$Customers$Apps$Android$Get + export interface Params$Resource$Customers$Apps$Chrome$Get extends StandardParameters { /** * Required. The app for which details are being queried. Examples: "customers/my_customer/apps/chrome/gmbmikajjgmnabiglmofipeabaddhgne@2.1.2" for the Save to Google Drive Chrome extension version 2.1.2, "customers/my_customer/apps/android/com.google.android.apps.docs" for the Google Drive Android app's latest version. @@ -2709,7 +3379,7 @@ export namespace chromemanagement_v1 { name?: string; } - export class Resource$Customers$Apps$Chrome { + export class Resource$Customers$Apps$Web { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; @@ -2724,27 +3394,27 @@ export namespace chromemanagement_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Customers$Apps$Chrome$Get, + params: Params$Resource$Customers$Apps$Web$Get, options: StreamMethodOptions ): GaxiosPromise; get( - params?: Params$Resource$Customers$Apps$Chrome$Get, + params?: Params$Resource$Customers$Apps$Web$Get, options?: MethodOptions ): GaxiosPromise; get( - params: Params$Resource$Customers$Apps$Chrome$Get, + params: Params$Resource$Customers$Apps$Web$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Customers$Apps$Chrome$Get, + params: Params$Resource$Customers$Apps$Web$Get, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Customers$Apps$Chrome$Get, + params: Params$Resource$Customers$Apps$Web$Get, callback: BodyResponseCallback ): void; get( @@ -2752,7 +3422,7 @@ export namespace chromemanagement_v1 { ): void; get( paramsOrCallback?: - | Params$Resource$Customers$Apps$Chrome$Get + | Params$Resource$Customers$Apps$Web$Get | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -2768,12 +3438,12 @@ export namespace chromemanagement_v1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Customers$Apps$Chrome$Get; + {}) as Params$Resource$Customers$Apps$Web$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Customers$Apps$Chrome$Get; + params = {} as Params$Resource$Customers$Apps$Web$Get; options = {}; } @@ -2811,7 +3481,7 @@ export namespace chromemanagement_v1 { } } - export interface Params$Resource$Customers$Apps$Chrome$Get + export interface Params$Resource$Customers$Apps$Web$Get extends StandardParameters { /** * Required. The app for which details are being queried. Examples: "customers/my_customer/apps/chrome/gmbmikajjgmnabiglmofipeabaddhgne@2.1.2" for the Save to Google Drive Chrome extension version 2.1.2, "customers/my_customer/apps/android/com.google.android.apps.docs" for the Google Drive Android app's latest version. @@ -2819,14 +3489,103 @@ export namespace chromemanagement_v1 { name?: string; } - export class Resource$Customers$Apps$Web { + export class Resource$Customers$Profiles { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Get a specific app for a customer by its resource name. + * Deletes the data collected from a Chrome browser profile. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Customers$Profiles$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Customers$Profiles$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Customers$Profiles$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Customers$Profiles$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Customers$Profiles$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Customers$Profiles$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Profiles$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Profiles$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://chromemanagement.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets a Chrome browser profile with customer ID and profile permanent ID. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -2834,56 +3593,56 @@ export namespace chromemanagement_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Customers$Apps$Web$Get, + params: Params$Resource$Customers$Profiles$Get, options: StreamMethodOptions ): GaxiosPromise; get( - params?: Params$Resource$Customers$Apps$Web$Get, + params?: Params$Resource$Customers$Profiles$Get, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; get( - params: Params$Resource$Customers$Apps$Web$Get, + params: Params$Resource$Customers$Profiles$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Customers$Apps$Web$Get, + params: Params$Resource$Customers$Profiles$Get, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Customers$Apps$Web$Get, - callback: BodyResponseCallback + params: Params$Resource$Customers$Profiles$Get, + callback: BodyResponseCallback ): void; get( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; get( paramsOrCallback?: - | Params$Resource$Customers$Apps$Web$Get - | BodyResponseCallback + | Params$Resource$Customers$Profiles$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Customers$Apps$Web$Get; + {}) as Params$Resource$Customers$Profiles$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Customers$Apps$Web$Get; + params = {} as Params$Resource$Customers$Profiles$Get; options = {}; } @@ -2909,25 +3668,153 @@ export namespace chromemanagement_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( + parameters + ); + } + } + + /** + * Lists Chrome browser profiles of a customer based on the given search and sorting criteria. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Customers$Profiles$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Customers$Profiles$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Customers$Profiles$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Customers$Profiles$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Customers$Profiles$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Customers$Profiles$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Customers$Profiles$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Customers$Profiles$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://chromemanagement.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/profiles').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( parameters ); } } } - export interface Params$Resource$Customers$Apps$Web$Get + export interface Params$Resource$Customers$Profiles$Delete extends StandardParameters { /** - * Required. The app for which details are being queried. Examples: "customers/my_customer/apps/chrome/gmbmikajjgmnabiglmofipeabaddhgne@2.1.2" for the Save to Google Drive Chrome extension version 2.1.2, "customers/my_customer/apps/android/com.google.android.apps.docs" for the Google Drive Android app's latest version. + * Required. Format: customers/{customer_id\}/profiles/{profile_permanent_id\} + */ + name?: string; + } + export interface Params$Resource$Customers$Profiles$Get + extends StandardParameters { + /** + * Required. Format: customers/{customer_id\}/profiles/{profile_permanent_id\} */ name?: string; } + export interface Params$Resource$Customers$Profiles$List + extends StandardParameters { + /** + * Optional. The filter used to filter profiles. The following fields can be used in the filter: - profile_id - display_name - user_email - last_activity_time - last_policy_sync_time - last_status_report_time - first_enrollment_time - os_platform_type - os_version - browser_version - browser_channel - policy_count - extension_count - identity_provider - affiliation_state - ouId Any of the above fields can be used to specify a filter, and filtering by multiple fields is supported with AND operator. String type fields and enum type fields support '=' and '!=' operators. The integer type and the timestamp type fields support '=', '!=', '<', '\>', '<=' and '\>=' operators. Timestamps expect an RFC-3339 formatted string (e.g. 2012-04-21T11:30:00-04:00). Wildcard '*' can be used with a string type field filter. In addition, string literal filtering is also supported, for example, 'ABC' as a filter maps to a filter that checks if any of the filterable string type fields contains 'ABC'. Organization unit number can be used as a filtering criteria here by specifying 'ouId = ${your_org_unit_id\}', please note that only single OU ID matching is supported. + */ + filter?: string; + /** + * Optional. The fields used to specify the ordering of the results. The supported fields are: - profile_id - display_name - user_email - last_activity_time - last_policy_sync_time - last_status_report_time - first_enrollment_time - os_platform_type - os_version - browser_version - browser_channel - policy_count - extension_count - identity_provider - affiliation_state By default, sorting is in ascending order, to specify descending order for a field, a suffix " desc" should be added to the field name. The default ordering is the descending order of last_status_report_time. + */ + orderBy?: string; + /** + * Optional. The maximum number of profiles to return. The default page size is 100 if page_size is unspecified, and the maximum page size allowed is 200. + */ + pageSize?: number; + /** + * Optional. The page token used to retrieve a specific page of the listing request. + */ + pageToken?: string; + /** + * Required. Format: customers/{customer_id\} + */ + parent?: string; + } export class Resource$Customers$Reports { context: APIRequestContext; @@ -4122,11 +5009,11 @@ export namespace chromemanagement_v1 { */ customer?: string; /** - * Query string to filter results, AND-separated fields in EBNF syntax. Note: OR operations are not supported in this filter. Supported filter fields: * app_name * app_type * install_type * number_of_permissions * total_install_count * latest_profile_active_date * permission_name * app_id * manifest_versions + * Query string to filter results, AND-separated fields in EBNF syntax. Note: OR operations are not supported in this filter. Supported filter fields: * app_name * app_type * install_type * number_of_permissions * total_install_count * latest_profile_active_date * permission_name * app_id * manifest_versions * risk_score */ filter?: string; /** - * Field used to order results. Supported order by fields: * app_name * app_type * install_type * number_of_permissions * total_install_count * app_id * manifest_versions + * Field used to order results. Supported order by fields: * app_name * app_type * install_type * number_of_permissions * total_install_count * app_id * manifest_versions * risk_score */ orderBy?: string; /** diff --git a/src/apis/chromepolicy/v1.ts b/src/apis/chromepolicy/v1.ts index 98bf505229..563cae04ec 100644 --- a/src/apis/chromepolicy/v1.ts +++ b/src/apis/chromepolicy/v1.ts @@ -923,7 +923,7 @@ export namespace chromepolicy_v1 { */ package?: string | null; /** - * The syntax of the proto file. The supported values are "proto2", "proto3", and "editions". If `edition` is present, this value must be "editions". + * The syntax of the proto file. The supported values are "proto2", "proto3", and "editions". If `edition` is present, this value must be "editions". WARNING: This field should only be used by protobuf plugins or special cases like the proto compiler. Other uses are discouraged and developers should rely on the protoreflect APIs for their client language. */ syntax?: string | null; } diff --git a/src/apis/classroom/v1.ts b/src/apis/classroom/v1.ts index 0f24390d9f..94ae5545c4 100644 --- a/src/apis/classroom/v1.ts +++ b/src/apis/classroom/v1.ts @@ -647,6 +647,27 @@ export namespace classroom_v1 { */ updateTime?: string | null; } + /** + * A rubric criterion. Each criterion is a dimension on which performance is rated. + */ + export interface Schema$Criterion { + /** + * The description of the criterion. + */ + description?: string | null; + /** + * The criterion ID. On creation, an ID is assigned. + */ + id?: string | null; + /** + * The list of levels within this criterion. + */ + levels?: Schema$Level[]; + /** + * The title of the criterion. + */ + title?: string | null; + } /** * Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp */ @@ -901,6 +922,27 @@ export namespace classroom_v1 { */ userId?: string | null; } + /** + * A level of the criterion. + */ + export interface Schema$Level { + /** + * The description of the level. + */ + description?: string | null; + /** + * The level ID. On creation, an ID is assigned. + */ + id?: string | null; + /** + * Optional points associated with this level. If set, all levels within the rubric must specify points and the value must be distinct across all levels within a single criterion. 0 is distinct from no points. + */ + points?: number | null; + /** + * The title of the level. If the level has no points set, title must be set. + */ + title?: string | null; + } /** * URL item. */ @@ -1035,6 +1077,19 @@ export namespace classroom_v1 { */ nextPageToken?: string | null; } + /** + * Response when listing rubrics. + */ + export interface Schema$ListRubricsResponse { + /** + * Token identifying the next page of results to return. If empty, no further results are available. + */ + nextPageToken?: string | null; + /** + * Rubrics that match the request. + */ + rubrics?: Schema$Rubric[]; + } /** * Response when listing students. */ @@ -1220,6 +1275,56 @@ export namespace classroom_v1 { * Request to return a student submission. */ export interface Schema$ReturnStudentSubmissionRequest {} + /** + * The rubric of the course work. A rubric is a scoring guide used to evaluate student work and give feedback. For further details, see [Rubrics structure and known limitations](/classroom/rubrics/limitations). + */ + export interface Schema$Rubric { + /** + * Identifier of the course. Read-only. + */ + courseId?: string | null; + /** + * Identifier for the course work this corresponds to. Read-only. + */ + courseWorkId?: string | null; + /** + * Output only. Timestamp when this rubric was created. Read-only. + */ + creationTime?: string | null; + /** + * List of criteria. Each criterion is a dimension on which performance is rated. + */ + criteria?: Schema$Criterion[]; + /** + * Classroom-assigned identifier for the rubric. This is unique among rubrics for the relevant course work. Read-only. + */ + id?: string | null; + /** + * Input only. Immutable. Google Sheets ID of the spreadsheet. This spreadsheet must contain formatted rubric settings. See [Create or reuse a rubric for an assignment](https://support.google.com/edu/classroom/answer/9335069). Use of this field requires the `https://www.googleapis.com/auth/spreadsheets.readonly` or `https://www.googleapis.com/auth/spreadsheets` scope. + */ + sourceSpreadsheetId?: string | null; + /** + * Output only. Timestamp of the most recent change to this rubric. Read-only. + */ + updateTime?: string | null; + } + /** + * A rubric grade set for the student submission. There is at most one entry per rubric criterion. + */ + export interface Schema$RubricGrade { + /** + * Optional. Criterion ID. + */ + criterionId?: string | null; + /** + * Optional. Optional level ID of the selected level. If empty, no level was selected. + */ + levelId?: string | null; + /** + * Optional. Optional points assigned for this criterion, typically based on the level. Levels might or might not have points. If unset, no points were set for this criterion. + */ + points?: number | null; + } /** * Drive file that is used as material for course work. */ @@ -1301,6 +1406,10 @@ export namespace classroom_v1 { * Optional grade. If unset, no grade was set. This value must be non-negative. Decimal (that is, non-integer) values are allowed, but are rounded to two decimal places. This may be modified only by course teachers. */ assignedGrade?: number | null; + /** + * Assigned rubric grades based on the rubric's Criteria. This map is empty if there is no rubric attached to this course work or if a rubric is attached, but no grades have been set on any Criteria. Entries are only populated for grades that have been set. Key: The rubric's criterion ID. Read-only. + */ + assignedRubricGrades?: {[key: string]: Schema$RubricGrade} | null; /** * Submission content when course_work_type is ASSIGNMENT. Students can modify this content using ModifyAttachments. */ @@ -1329,6 +1438,10 @@ export namespace classroom_v1 { * Optional pending grade. If unset, no grade was set. This value must be non-negative. Decimal (that is, non-integer) values are allowed, but are rounded to two decimal places. This is only visible to and modifiable by course teachers. */ draftGrade?: number | null; + /** + * Pending rubric grades based on the rubric's criteria. This map is empty if there is no rubric attached to this course work or if a rubric is attached, but no grades have been set on any criteria. Entries are only populated for grades that have been set. Key: The rubric's criterion ID. Read-only. + */ + draftRubricGrades?: {[key: string]: Schema$RubricGrade} | null; /** * Classroom-assigned Identifier for the student submission. This is unique among submissions for the relevant course work. Read-only. */ @@ -1401,19 +1514,19 @@ export namespace classroom_v1 { */ export interface Schema$TimeOfDay { /** - * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. */ hours?: number | null; /** - * Minutes of hour of day. Must be from 0 to 59. + * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. */ minutes?: number | null; /** - * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. */ nanos?: number | null; /** - * Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. */ seconds?: number | null; } @@ -3734,12 +3847,14 @@ export namespace classroom_v1 { export class Resource$Courses$Coursework { context: APIRequestContext; addOnAttachments: Resource$Courses$Coursework$Addonattachments; + rubrics: Resource$Courses$Coursework$Rubrics; studentSubmissions: Resource$Courses$Coursework$Studentsubmissions; constructor(context: APIRequestContext) { this.context = context; this.addOnAttachments = new Resource$Courses$Coursework$Addonattachments( this.context ); + this.rubrics = new Resource$Courses$Coursework$Rubrics(this.context); this.studentSubmissions = new Resource$Courses$Coursework$Studentsubmissions(this.context); } @@ -4363,6 +4478,94 @@ export namespace classroom_v1 { return createAPIRequest(parameters); } } + + /** + * Updates a rubric. See google.classroom.v1.Rubric for details of which fields can be updated. Rubric update capabilities are [limited](/classroom/rubrics/limitations) once grading has started. The requesting user and course owner must have rubrics creation capabilities. For details, see [licensing requirements](https://developers.google.com/classroom/rubrics/limitations#license-requirements). This request must be made by the Google Cloud console of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the parent course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project didn't create the corresponding course work, if the user isn't permitted to make the requested modification to the rubric, or for access errors. This error code is also returned if grading has already started on the rubric. * `INVALID_ARGUMENT` if the request is malformed and for the following request error: * `RubricCriteriaInvalidFormat` * `NOT_FOUND` if the requested course, course work, or rubric doesn't exist or if the user doesn't have access to the corresponding course work. * `INTERNAL` if grading has already started on the rubric. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + updateRubric( + params: Params$Resource$Courses$Coursework$Updaterubric, + options: StreamMethodOptions + ): GaxiosPromise; + updateRubric( + params?: Params$Resource$Courses$Coursework$Updaterubric, + options?: MethodOptions + ): GaxiosPromise; + updateRubric( + params: Params$Resource$Courses$Coursework$Updaterubric, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateRubric( + params: Params$Resource$Courses$Coursework$Updaterubric, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateRubric( + params: Params$Resource$Courses$Coursework$Updaterubric, + callback: BodyResponseCallback + ): void; + updateRubric(callback: BodyResponseCallback): void; + updateRubric( + paramsOrCallback?: + | Params$Resource$Courses$Coursework$Updaterubric + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Courses$Coursework$Updaterubric; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Courses$Coursework$Updaterubric; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v1/courses/{courseId}/courseWork/{courseWorkId}/rubric' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['courseId', 'courseWorkId'], + pathParams: ['courseId', 'courseWorkId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } export interface Params$Resource$Courses$Coursework$Create @@ -4481,6 +4684,30 @@ export namespace classroom_v1 { */ requestBody?: Schema$CourseWork; } + export interface Params$Resource$Courses$Coursework$Updaterubric + extends StandardParameters { + /** + * Required. Identifier of the course. + */ + courseId?: string; + /** + * Required. Identifier of the course work. + */ + courseWorkId?: string; + /** + * Optional. Identifier of the rubric. + */ + id?: string; + /** + * Optional. Mask that identifies which fields on the rubric to update. This field is required to do an update. The update fails if invalid fields are specified. There are multiple options to define the criteria of a rubric: the `source_spreadsheet_id` and the `criteria` list. Only one of these can be used at a time to define a rubric. The rubric `criteria` list is fully replaced by the rubric criteria specified in the update request. For example, if a criterion or level is missing from the request, it is deleted. New criteria and levels are added and an ID is assigned. Existing criteria and levels retain the previously assigned ID if the ID is specified in the request. The following fields can be specified by teachers: * `criteria` * `source_spreadsheet_id` + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Rubric; + } export class Resource$Courses$Coursework$Addonattachments { context: APIRequestContext; @@ -5319,6 +5546,546 @@ export namespace classroom_v1 { requestBody?: Schema$AddOnAttachmentStudentSubmission; } + export class Resource$Courses$Coursework$Rubrics { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a rubric. The requesting user and course owner must have rubrics creation capabilities. For details, see [licensing requirements](https://developers.google.com/classroom/rubrics/limitations#license-requirements). For further details, see [Rubrics structure and known limitations](/classroom/rubrics/limitations). This request must be made by the Google Cloud console of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the parent course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user isn't permitted to create rubrics for course work in the requested course. * `INTERNAL` if the request has insufficient OAuth scopes. * `INVALID_ARGUMENT` if the request is malformed and for the following request error: * `RubricCriteriaInvalidFormat` * `NOT_FOUND` if the requested course or course work don't exist or the user doesn't have access to the course or course work. * `FAILED_PRECONDITION` for the following request error: * `AttachmentNotVisible` + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Courses$Coursework$Rubrics$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Courses$Coursework$Rubrics$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Courses$Coursework$Rubrics$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Courses$Coursework$Rubrics$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Courses$Coursework$Rubrics$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Courses$Coursework$Rubrics$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Courses$Coursework$Rubrics$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Courses$Coursework$Rubrics$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['courseId', 'courseWorkId'], + pathParams: ['courseId', 'courseWorkId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a rubric. The requesting user and course owner must have rubrics creation capabilities. For details, see [licensing requirements](https://developers.google.com/classroom/rubrics/limitations#license-requirements). This request must be made by the Google Cloud console of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the corresponding rubric. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project didn't create the corresponding rubric, or if the requesting user isn't permitted to delete the requested rubric. * `NOT_FOUND` if no rubric exists with the requested ID or the user does not have access to the course, course work, or rubric. * `INVALID_ARGUMENT` if grading has already started on the rubric. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Courses$Coursework$Rubrics$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Courses$Coursework$Rubrics$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Courses$Coursework$Rubrics$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Courses$Coursework$Rubrics$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Courses$Coursework$Rubrics$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Courses$Coursework$Rubrics$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Courses$Coursework$Rubrics$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Courses$Coursework$Rubrics$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics/{id}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['courseId', 'courseWorkId', 'id'], + pathParams: ['courseId', 'courseWorkId', 'id'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns a rubric. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course, course work, or rubric doesn't exist or if the user doesn't have access to the corresponding course work. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Courses$Coursework$Rubrics$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Courses$Coursework$Rubrics$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Courses$Coursework$Rubrics$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Courses$Coursework$Rubrics$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Courses$Coursework$Rubrics$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Courses$Coursework$Rubrics$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Courses$Coursework$Rubrics$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Courses$Coursework$Rubrics$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics/{id}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['courseId', 'courseWorkId', 'id'], + pathParams: ['courseId', 'courseWorkId', 'id'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns a list of rubrics that the requester is permitted to view. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the request is malformed. * `NOT_FOUND` if the requested course or course work doesn't exist or if the user doesn't have access to the corresponding course work. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Courses$Coursework$Rubrics$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Courses$Coursework$Rubrics$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Courses$Coursework$Rubrics$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Courses$Coursework$Rubrics$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Courses$Coursework$Rubrics$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Courses$Coursework$Rubrics$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Courses$Coursework$Rubrics$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Courses$Coursework$Rubrics$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['courseId', 'courseWorkId'], + pathParams: ['courseId', 'courseWorkId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates a rubric. See google.classroom.v1.Rubric for details of which fields can be updated. Rubric update capabilities are [limited](/classroom/rubrics/limitations) once grading has started. The requesting user and course owner must have rubrics creation capabilities. For details, see [licensing requirements](https://developers.google.com/classroom/rubrics/limitations#license-requirements). This request must be made by the Google Cloud console of the [OAuth client ID](https://support.google.com/cloud/answer/6158849) used to create the parent course work item. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting developer project didn't create the corresponding course work, if the user isn't permitted to make the requested modification to the rubric, or for access errors. This error code is also returned if grading has already started on the rubric. * `INVALID_ARGUMENT` if the request is malformed and for the following request error: * `RubricCriteriaInvalidFormat` * `NOT_FOUND` if the requested course, course work, or rubric doesn't exist or if the user doesn't have access to the corresponding course work. * `INTERNAL` if grading has already started on the rubric. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Courses$Coursework$Rubrics$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Courses$Coursework$Rubrics$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Courses$Coursework$Rubrics$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Courses$Coursework$Rubrics$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Courses$Coursework$Rubrics$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Courses$Coursework$Rubrics$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Courses$Coursework$Rubrics$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Courses$Coursework$Rubrics$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://classroom.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v1/courses/{courseId}/courseWork/{courseWorkId}/rubrics/{id}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['courseId', 'courseWorkId', 'id'], + pathParams: ['courseId', 'courseWorkId', 'id'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Courses$Coursework$Rubrics$Create + extends StandardParameters { + /** + * Required. Identifier of the course. + */ + courseId?: string; + /** + * Required. Identifier of the course work. + */ + courseWorkId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Rubric; + } + export interface Params$Resource$Courses$Coursework$Rubrics$Delete + extends StandardParameters { + /** + * Required. Identifier of the course. + */ + courseId?: string; + /** + * Required. Identifier of the course work. + */ + courseWorkId?: string; + /** + * Required. Identifier of the rubric. + */ + id?: string; + } + export interface Params$Resource$Courses$Coursework$Rubrics$Get + extends StandardParameters { + /** + * Required. Identifier of the course. + */ + courseId?: string; + /** + * Required. Identifier of the course work. + */ + courseWorkId?: string; + /** + * Required. Identifier of the rubric. + */ + id?: string; + } + export interface Params$Resource$Courses$Coursework$Rubrics$List + extends StandardParameters { + /** + * Required. Identifier of the course. + */ + courseId?: string; + /** + * Required. Identifier of the course work. + */ + courseWorkId?: string; + /** + * The maximum number of rubrics to return. If unspecified, at most 1 rubric is returned. The maximum value is 1; values above 1 are coerced to 1. + */ + pageSize?: number; + /** + * nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token. + */ + pageToken?: string; + } + export interface Params$Resource$Courses$Coursework$Rubrics$Patch + extends StandardParameters { + /** + * Required. Identifier of the course. + */ + courseId?: string; + /** + * Required. Identifier of the course work. + */ + courseWorkId?: string; + /** + * Optional. Identifier of the rubric. + */ + id?: string; + /** + * Optional. Mask that identifies which fields on the rubric to update. This field is required to do an update. The update fails if invalid fields are specified. There are multiple options to define the criteria of a rubric: the `source_spreadsheet_id` and the `criteria` list. Only one of these can be used at a time to define a rubric. The rubric `criteria` list is fully replaced by the rubric criteria specified in the update request. For example, if a criterion or level is missing from the request, it is deleted. New criteria and levels are added and an ID is assigned. Existing criteria and levels retain the previously assigned ID if the ID is specified in the request. The following fields can be specified by teachers: * `criteria` * `source_spreadsheet_id` + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Rubric; + } + export class Resource$Courses$Coursework$Studentsubmissions { context: APIRequestContext; constructor(context: APIRequestContext) { diff --git a/src/apis/cloudasset/v1.ts b/src/apis/cloudasset/v1.ts index 22e3190149..6b6cf635e8 100644 --- a/src/apis/cloudasset/v1.ts +++ b/src/apis/cloudasset/v1.ts @@ -192,7 +192,7 @@ export namespace cloudasset_v1 { */ mainAnalysis?: Schema$IamPolicyAnalysis; /** - * The service account impersonation analysis if AnalyzeIamPolicyRequest.analyze_service_account_impersonation is enabled. + * The service account impersonation analysis if IamPolicyAnalysisQuery.Options.analyze_service_account_impersonation is enabled. */ serviceAccountImpersonationAnalysis?: Schema$IamPolicyAnalysis[]; } @@ -525,7 +525,7 @@ export namespace cloudasset_v1 { */ export interface Schema$EffectiveTagDetails { /** - * The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the ancestor from which an effective_tag is inherited, according to [tag inheritance](https://cloud.google.com/resource-manager/docs/tags/tags-overview#inheritance). + * The [full resource name](https://cloud.google.com/asset-inventory/docs/resource-name-format) of the ancestor from which effective_tags are inherited, according to [tag inheritance](https://cloud.google.com/resource-manager/docs/tags/tags-overview#inheritance). */ attachedResource?: string | null; /** @@ -702,7 +702,7 @@ export namespace cloudasset_v1 { */ governedResource?: Schema$GoogleCloudAssetV1AnalyzeOrgPolicyGovernedAssetsResponseGovernedResource; /** - * The ordered list of all organization policies from the AnalyzeOrgPoliciesResponse.OrgPolicyResult.consolidated_policy.attached_resource to the scope specified in the request. If the constraint is defined with default policy, it will also appear in the list. + * The ordered list of all organization policies from the consolidated_policy.attached_resource to the scope specified in the request. If the constraint is defined with default policy, it will also appear in the list. */ policyBundle?: Schema$AnalyzerOrgPolicy[]; } @@ -906,7 +906,7 @@ export namespace cloudasset_v1 { */ parent?: string | null; /** - * The ordered list of all organization policies from the AnalyzeOrgPoliciesResponse.OrgPolicyResult.consolidated_policy.attached_resource. to the scope specified in the request. If the constraint is defined with default policy, it will also appear in the list. + * The ordered list of all organization policies from the consolidated_policy.attached_resource. to the scope specified in the request. If the constraint is defined with default policy, it will also appear in the list. */ policyBundle?: Schema$AnalyzerOrgPolicy[]; /** @@ -1409,6 +1409,10 @@ export namespace cloudasset_v1 { * Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply. */ egressTo?: Schema$GoogleIdentityAccesscontextmanagerV1EgressTo; + /** + * Optional. Human-readable title for the egress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters. + */ + title?: string | null; } /** * The source that EgressPolicy authorizes access from inside the ServicePerimeter to somewhere outside the ServicePerimeter boundaries. @@ -1418,6 +1422,10 @@ export namespace cloudasset_v1 { * An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all EgressSources will be allowed. */ accessLevel?: string | null; + /** + * A Google Cloud resource that you want to allow to egress the perimeter. These resources can access data outside the perimeter. This field only supports projects. The project format is `projects/{project_number\}`. The resource can be in any Google Cloud organization, not just the organization where the perimeter is defined. You can't use `*` in this field to allow all Google Cloud resources. + */ + resource?: string | null; } /** * Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. The request must match `operations` AND `resources` fields in order to be allowed egress out of the perimeter. @@ -1465,6 +1473,10 @@ export namespace cloudasset_v1 { * Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply. */ ingressTo?: Schema$GoogleIdentityAccesscontextmanagerV1IngressTo; + /** + * Optional. Human-readable title for the ingress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters. + */ + title?: string | null; } /** * The source that IngressPolicy authorizes access from. @@ -1530,6 +1542,10 @@ export namespace cloudasset_v1 { * Description of the `ServicePerimeter` and its use. Does not affect behavior. */ description?: string | null; + /** + * Optional. An opaque identifier for the current version of the `ServicePerimeter`. This identifier does not follow any specific format. If an etag is not provided, the operation will be performed as if a valid etag is provided. + */ + etag?: string | null; /** * Identifier. Resource name for the `ServicePerimeter`. Format: `accessPolicies/{access_policy\}/servicePerimeters/{service_perimeter\}`. The `service_perimeter` component must begin with a letter, followed by alphanumeric characters or `_`. After you create a `ServicePerimeter`, you cannot change its `name`. */ @@ -1950,7 +1966,7 @@ export namespace cloudasset_v1 { */ export interface Schema$OrgPolicyResult { /** - * The consolidated organization policy for the analyzed resource. The consolidated organization policy is computed by merging and evaluating AnalyzeOrgPoliciesResponse.policy_bundle. The evaluation will respect the organization policy [hierarchy rules](https://cloud.google.com/resource-manager/docs/organization-policy/understanding-hierarchy). + * The consolidated organization policy for the analyzed resource. The consolidated organization policy is computed by merging and evaluating policy_bundle. The evaluation will respect the organization policy [hierarchy rules](https://cloud.google.com/resource-manager/docs/organization-policy/understanding-hierarchy). */ consolidatedPolicy?: Schema$AnalyzerOrgPolicy; /** @@ -1962,7 +1978,7 @@ export namespace cloudasset_v1 { */ organization?: string | null; /** - * The ordered list of all organization policies from the AnalyzeOrgPoliciesResponse.OrgPolicyResult.consolidated_policy.attached_resource. to the scope specified in the request. If the constraint is defined with default policy, it will also appear in the list. + * The ordered list of all organization policies from the consolidated_policy.attached_resource. to the scope specified in the request. If the constraint is defined with default policy, it will also appear in the list. */ policyBundle?: Schema$AnalyzerOrgPolicy[]; /** diff --git a/src/apis/cloudasset/v1beta1.ts b/src/apis/cloudasset/v1beta1.ts index 474ba58a01..85622ee3f6 100644 --- a/src/apis/cloudasset/v1beta1.ts +++ b/src/apis/cloudasset/v1beta1.ts @@ -669,6 +669,10 @@ export namespace cloudasset_v1beta1 { * Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply. */ egressTo?: Schema$GoogleIdentityAccesscontextmanagerV1EgressTo; + /** + * Optional. Human-readable title for the egress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters. + */ + title?: string | null; } /** * The source that EgressPolicy authorizes access from inside the ServicePerimeter to somewhere outside the ServicePerimeter boundaries. @@ -678,6 +682,10 @@ export namespace cloudasset_v1beta1 { * An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all EgressSources will be allowed. */ accessLevel?: string | null; + /** + * A Google Cloud resource that you want to allow to egress the perimeter. These resources can access data outside the perimeter. This field only supports projects. The project format is `projects/{project_number\}`. The resource can be in any Google Cloud organization, not just the organization where the perimeter is defined. You can't use `*` in this field to allow all Google Cloud resources. + */ + resource?: string | null; } /** * Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. The request must match `operations` AND `resources` fields in order to be allowed egress out of the perimeter. @@ -725,6 +733,10 @@ export namespace cloudasset_v1beta1 { * Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply. */ ingressTo?: Schema$GoogleIdentityAccesscontextmanagerV1IngressTo; + /** + * Optional. Human-readable title for the ingress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters. + */ + title?: string | null; } /** * The source that IngressPolicy authorizes access from. @@ -790,6 +802,10 @@ export namespace cloudasset_v1beta1 { * Description of the `ServicePerimeter` and its use. Does not affect behavior. */ description?: string | null; + /** + * Optional. An opaque identifier for the current version of the `ServicePerimeter`. This identifier does not follow any specific format. If an etag is not provided, the operation will be performed as if a valid etag is provided. + */ + etag?: string | null; /** * Identifier. Resource name for the `ServicePerimeter`. Format: `accessPolicies/{access_policy\}/servicePerimeters/{service_perimeter\}`. The `service_perimeter` component must begin with a letter, followed by alphanumeric characters or `_`. After you create a `ServicePerimeter`, you cannot change its `name`. */ diff --git a/src/apis/cloudasset/v1p1beta1.ts b/src/apis/cloudasset/v1p1beta1.ts index e9b33ec1e5..19cbf83fae 100644 --- a/src/apis/cloudasset/v1p1beta1.ts +++ b/src/apis/cloudasset/v1p1beta1.ts @@ -596,6 +596,10 @@ export namespace cloudasset_v1p1beta1 { * Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply. */ egressTo?: Schema$GoogleIdentityAccesscontextmanagerV1EgressTo; + /** + * Optional. Human-readable title for the egress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters. + */ + title?: string | null; } /** * The source that EgressPolicy authorizes access from inside the ServicePerimeter to somewhere outside the ServicePerimeter boundaries. @@ -605,6 +609,10 @@ export namespace cloudasset_v1p1beta1 { * An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all EgressSources will be allowed. */ accessLevel?: string | null; + /** + * A Google Cloud resource that you want to allow to egress the perimeter. These resources can access data outside the perimeter. This field only supports projects. The project format is `projects/{project_number\}`. The resource can be in any Google Cloud organization, not just the organization where the perimeter is defined. You can't use `*` in this field to allow all Google Cloud resources. + */ + resource?: string | null; } /** * Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. The request must match `operations` AND `resources` fields in order to be allowed egress out of the perimeter. @@ -652,6 +660,10 @@ export namespace cloudasset_v1p1beta1 { * Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply. */ ingressTo?: Schema$GoogleIdentityAccesscontextmanagerV1IngressTo; + /** + * Optional. Human-readable title for the ingress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters. + */ + title?: string | null; } /** * The source that IngressPolicy authorizes access from. @@ -717,6 +729,10 @@ export namespace cloudasset_v1p1beta1 { * Description of the `ServicePerimeter` and its use. Does not affect behavior. */ description?: string | null; + /** + * Optional. An opaque identifier for the current version of the `ServicePerimeter`. This identifier does not follow any specific format. If an etag is not provided, the operation will be performed as if a valid etag is provided. + */ + etag?: string | null; /** * Identifier. Resource name for the `ServicePerimeter`. Format: `accessPolicies/{access_policy\}/servicePerimeters/{service_perimeter\}`. The `service_perimeter` component must begin with a letter, followed by alphanumeric characters or `_`. After you create a `ServicePerimeter`, you cannot change its `name`. */ diff --git a/src/apis/cloudasset/v1p5beta1.ts b/src/apis/cloudasset/v1p5beta1.ts index a906ed9138..83f9397512 100644 --- a/src/apis/cloudasset/v1p5beta1.ts +++ b/src/apis/cloudasset/v1p5beta1.ts @@ -626,6 +626,10 @@ export namespace cloudasset_v1p5beta1 { * Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply. */ egressTo?: Schema$GoogleIdentityAccesscontextmanagerV1EgressTo; + /** + * Optional. Human-readable title for the egress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters. + */ + title?: string | null; } /** * The source that EgressPolicy authorizes access from inside the ServicePerimeter to somewhere outside the ServicePerimeter boundaries. @@ -635,6 +639,10 @@ export namespace cloudasset_v1p5beta1 { * An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all EgressSources will be allowed. */ accessLevel?: string | null; + /** + * A Google Cloud resource that you want to allow to egress the perimeter. These resources can access data outside the perimeter. This field only supports projects. The project format is `projects/{project_number\}`. The resource can be in any Google Cloud organization, not just the organization where the perimeter is defined. You can't use `*` in this field to allow all Google Cloud resources. + */ + resource?: string | null; } /** * Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. The request must match `operations` AND `resources` fields in order to be allowed egress out of the perimeter. @@ -682,6 +690,10 @@ export namespace cloudasset_v1p5beta1 { * Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply. */ ingressTo?: Schema$GoogleIdentityAccesscontextmanagerV1IngressTo; + /** + * Optional. Human-readable title for the ingress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters. + */ + title?: string | null; } /** * The source that IngressPolicy authorizes access from. @@ -747,6 +759,10 @@ export namespace cloudasset_v1p5beta1 { * Description of the `ServicePerimeter` and its use. Does not affect behavior. */ description?: string | null; + /** + * Optional. An opaque identifier for the current version of the `ServicePerimeter`. This identifier does not follow any specific format. If an etag is not provided, the operation will be performed as if a valid etag is provided. + */ + etag?: string | null; /** * Identifier. Resource name for the `ServicePerimeter`. Format: `accessPolicies/{access_policy\}/servicePerimeters/{service_perimeter\}`. The `service_perimeter` component must begin with a letter, followed by alphanumeric characters or `_`. After you create a `ServicePerimeter`, you cannot change its `name`. */ diff --git a/src/apis/cloudasset/v1p7beta1.ts b/src/apis/cloudasset/v1p7beta1.ts index 9c4d7c9e63..0c186b6092 100644 --- a/src/apis/cloudasset/v1p7beta1.ts +++ b/src/apis/cloudasset/v1p7beta1.ts @@ -672,6 +672,10 @@ export namespace cloudasset_v1p7beta1 { * Defines the conditions on the ApiOperation and destination resources that cause this EgressPolicy to apply. */ egressTo?: Schema$GoogleIdentityAccesscontextmanagerV1EgressTo; + /** + * Optional. Human-readable title for the egress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters. + */ + title?: string | null; } /** * The source that EgressPolicy authorizes access from inside the ServicePerimeter to somewhere outside the ServicePerimeter boundaries. @@ -681,6 +685,10 @@ export namespace cloudasset_v1p7beta1 { * An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through Google Cloud calls with request origins within the perimeter. Example: `accessPolicies/MY_POLICY/accessLevels/MY_LEVEL`. If a single `*` is specified for `access_level`, then all EgressSources will be allowed. */ accessLevel?: string | null; + /** + * A Google Cloud resource that you want to allow to egress the perimeter. These resources can access data outside the perimeter. This field only supports projects. The project format is `projects/{project_number\}`. The resource can be in any Google Cloud organization, not just the organization where the perimeter is defined. You can't use `*` in this field to allow all Google Cloud resources. + */ + resource?: string | null; } /** * Defines the conditions under which an EgressPolicy matches a request. Conditions are based on information about the ApiOperation intended to be performed on the `resources` specified. Note that if the destination of the request is also protected by a ServicePerimeter, then that ServicePerimeter must have an IngressPolicy which allows access in order for this request to succeed. The request must match `operations` AND `resources` fields in order to be allowed egress out of the perimeter. @@ -728,6 +736,10 @@ export namespace cloudasset_v1p7beta1 { * Defines the conditions on the ApiOperation and request destination that cause this IngressPolicy to apply. */ ingressTo?: Schema$GoogleIdentityAccesscontextmanagerV1IngressTo; + /** + * Optional. Human-readable title for the ingress rule. The title must be unique within the perimeter and can not exceed 100 characters. Within the access policy, the combined length of all rule titles must not exceed 240,000 characters. + */ + title?: string | null; } /** * The source that IngressPolicy authorizes access from. @@ -793,6 +805,10 @@ export namespace cloudasset_v1p7beta1 { * Description of the `ServicePerimeter` and its use. Does not affect behavior. */ description?: string | null; + /** + * Optional. An opaque identifier for the current version of the `ServicePerimeter`. This identifier does not follow any specific format. If an etag is not provided, the operation will be performed as if a valid etag is provided. + */ + etag?: string | null; /** * Identifier. Resource name for the `ServicePerimeter`. Format: `accessPolicies/{access_policy\}/servicePerimeters/{service_perimeter\}`. The `service_perimeter` component must begin with a letter, followed by alphanumeric characters or `_`. After you create a `ServicePerimeter`, you cannot change its `name`. */ diff --git a/src/apis/cloudbilling/v1.ts b/src/apis/cloudbilling/v1.ts index 684290844d..f31df20a63 100644 --- a/src/apis/cloudbilling/v1.ts +++ b/src/apis/cloudbilling/v1.ts @@ -171,6 +171,10 @@ export namespace cloudbilling_v1 { * A billing account in the [Google Cloud Console](https://console.cloud.google.com/). You can assign a billing account to one or more projects. */ export interface Schema$BillingAccount { + /** + * Optional. The currency in which the billing account is billed and charged, represented as an ISO 4217 code such as `USD`. Billing account currency is determined at the time of billing account creation and cannot be updated subsequently, so this field should not be set on update requests. In addition, a subaccount always matches the currency of its parent billing account, so this field should not be set on subaccount creation requests. Clients can read this field to determine the currency of an existing billing account. + */ + currencyCode?: string | null; /** * The display name given to the billing account, such as `My Billing Account`. This name is displayed in the Google Cloud Console. */ diff --git a/src/apis/cloudbilling/v1beta.ts b/src/apis/cloudbilling/v1beta.ts index 1eb1baef6d..cb9e523393 100644 --- a/src/apis/cloudbilling/v1beta.ts +++ b/src/apis/cloudbilling/v1beta.ts @@ -418,7 +418,7 @@ export namespace cloudbilling_v1beta { virtualCpuCount?: string | null; } /** - * A representation of a decimal value, such as 2.5. Clients may convert values into language-native decimal formats, such as Java's BigDecimal or Python's decimal.Decimal. [BigDecimal]: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html [decimal.Decimal]: https://docs.python.org/3/library/decimal.html + * A representation of a decimal value, such as 2.5. Clients may convert values into language-native decimal formats, such as Java's [BigDecimal](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html) or Python's [decimal.Decimal](https://docs.python.org/3/library/decimal.html). */ export interface Schema$Decimal { /** diff --git a/src/apis/cloudbuild/v1.ts b/src/apis/cloudbuild/v1.ts index b74c6653f6..247f30cbc1 100644 --- a/src/apis/cloudbuild/v1.ts +++ b/src/apis/cloudbuild/v1.ts @@ -1720,7 +1720,7 @@ export namespace cloudbuild_v1 { */ apiVersion?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. */ cancelRequested?: boolean | null; /** @@ -1761,11 +1761,32 @@ export namespace cloudbuild_v1 { * Network configuration for the pool. */ networkConfig?: Schema$NetworkConfig; + /** + * Immutable. Private Service Connect(PSC) Network configuration for the pool. + */ + privateServiceConnect?: Schema$PrivateServiceConnect; /** * Machine configuration for the workers in the pool. */ workerConfig?: Schema$WorkerConfig; } + /** + * Defines the Private Service Connect network configuration for the pool. + */ + export interface Schema$PrivateServiceConnect { + /** + * Required. Immutable. The network attachment that the worker network interface is peered to. Must be in the format `projects/{project\}/regions/{region\}/networkAttachments/{networkAttachment\}`. The region of network attachment must be the same as the worker pool. See [Network Attachments](https://cloud.google.com/vpc/docs/about-network-attachments) + */ + networkAttachment?: string | null; + /** + * Required. Immutable. Disable public IP on the primary network interface. If true, workers are created without any public address, which prevents network egress to public IPs unless a network proxy is configured. If false, workers are created with a public address which allows for public internet egress. The public address only applies to traffic through the primary network interface. If `route_all_traffic` is set to true, all traffic will go through the non-primary network interface, this boolean has no effect. + */ + publicIpAddressDisabled?: boolean | null; + /** + * Immutable. Route all traffic through PSC interface. Enable this if you want full control of traffic in the private pool. Configure Cloud NAT for the subnet of network attachment if you need to access public Internet. If false, Only route private IPs, e.g. 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16 through PSC interface. + */ + routeAllTraffic?: boolean | null; + } /** * Metadata for `ProcessAppManifestCallback` operation. */ @@ -2624,7 +2645,7 @@ export namespace cloudbuild_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -6991,7 +7012,7 @@ export namespace cloudbuild_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/cloudbuild/v2.ts b/src/apis/cloudbuild/v2.ts index 5ab576c74b..f66ebdd2ec 100644 --- a/src/apis/cloudbuild/v2.ts +++ b/src/apis/cloudbuild/v2.ts @@ -782,7 +782,7 @@ export namespace cloudbuild_v2 { */ apiVersion?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. */ cancelRequested?: boolean | null; /** @@ -3894,7 +3894,7 @@ export namespace cloudbuild_v2 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/cloudchannel/v1.ts b/src/apis/cloudchannel/v1.ts index c31a0d5173..92faab24ea 100644 --- a/src/apis/cloudchannel/v1.ts +++ b/src/apis/cloudchannel/v1.ts @@ -113,6 +113,7 @@ export namespace cloudchannel_v1 { export class Cloudchannel { context: APIRequestContext; accounts: Resource$Accounts; + integrators: Resource$Integrators; operations: Resource$Operations; products: Resource$Products; @@ -123,6 +124,7 @@ export namespace cloudchannel_v1 { }; this.accounts = new Resource$Accounts(this.context); + this.integrators = new Resource$Integrators(this.context); this.operations = new Resource$Operations(this.context); this.products = new Resource$Products(this.context); } @@ -172,7 +174,7 @@ export namespace cloudchannel_v1 { */ channelPartner?: string | null; /** - * Type of event performed on the Channel Partner. + * Type of event which happened for the channel partner. */ eventType?: string | null; } @@ -219,7 +221,7 @@ export namespace cloudchannel_v1 { */ customer?: string | null; /** - * Type of event which happened on the customer. + * Type of event which happened for the customer. */ eventType?: string | null; } @@ -292,6 +294,10 @@ export namespace cloudchannel_v1 { * Extended entitlement parameters. When creating an entitlement, valid parameter names and values are defined in the Offer.parameter_definitions. For Google Workspace, the following Parameters may be accepted as input: - max_units: The maximum assignable units for a flexible offer OR - num_units: The total commitment for commitment-based offers The response may additionally include the following output-only Parameters: - assigned_units: The number of licenses assigned to users. For Google Cloud billing subaccounts, the following Parameter may be accepted as input: - display_name: The display name of the billing subaccount. */ parameters?: Schema$GoogleCloudChannelV1alpha1Parameter[]; + /** + * Optional. Price reference ID for the offer. Optional field only for offers that require additional price information. Used to guarantee that the pricing is consistent between quoting the offer and placing the order. Not yet implemented: if this field is populated in a request, it isn't evaluated in the API. + */ + priceReferenceId?: string | null; /** * Output only. Service provisioning details for the entitlement. */ @@ -326,7 +332,7 @@ export namespace cloudchannel_v1 { */ entitlement?: string | null; /** - * Type of event which happened on the entitlement. + * Type of event which happened for the entitlement. */ eventType?: string | null; } @@ -339,6 +345,19 @@ export namespace cloudchannel_v1 { */ operationType?: string | null; } + /** + * Represents Pub/Sub message content describing opportunity updates. + */ + export interface Schema$GoogleCloudChannelV1alpha1OpportunityEvent { + /** + * Type of event which happened for the opportunity. + */ + eventType?: string | null; + /** + * Resource name of the opportunity. Format: opportunities/{opportunity\} + */ + opportunity?: string | null; + } /** * Definition for extended entitlement parameters. */ @@ -520,6 +539,10 @@ export namespace cloudchannel_v1 { * Entitlement event sent as part of Pub/Sub event to partners. */ entitlementEvent?: Schema$GoogleCloudChannelV1alpha1EntitlementEvent; + /** + * Opportunity event sent as part of Pub/Sub event to partners/integrators. + */ + opportunityEvent?: Schema$GoogleCloudChannelV1alpha1OpportunityEvent; } /** * Response message for CloudChannelService.TransferEntitlements. This is put in the response field of google.longrunning.Operation. @@ -657,6 +680,10 @@ export namespace cloudchannel_v1 { * Optional. Parameters needed to purchase the Offer. To view the available Parameters refer to the Offer.parameter_definitions from the desired offer. */ parameters?: Schema$GoogleCloudChannelV1Parameter[]; + /** + * Optional. Price reference ID for the offer. Optional field only for offers that require additional price information. Used to guarantee that the pricing is consistent between quoting the offer and placing the order. Not yet implemented: if populated in a request, this field isn't evaluated in the API. + */ + priceReferenceId?: string | null; /** * Optional. Purchase order id provided by the reseller. */ @@ -667,7 +694,7 @@ export namespace cloudchannel_v1 { requestId?: string | null; } /** - * Request message for CloudChannelService.ChangeParametersRequest. + * Request message for CloudChannelService.ChangeParameters. */ export interface Schema$GoogleCloudChannelV1ChangeParametersRequest { /** @@ -797,7 +824,7 @@ export namespace cloudchannel_v1 { */ existing?: boolean | null; /** - * Returns true if the Cloud Identity account is associated with a customer of the Channel Services partner. + * Returns true if the Cloud Identity account is associated with a customer of the Channel Services partner (with active subscriptions or purchase consents). */ owned?: boolean | null; } @@ -1023,7 +1050,7 @@ export namespace cloudchannel_v1 { */ customer?: string | null; /** - * Type of event which happened on the customer. + * Type of event which happened for the customer. */ eventType?: string | null; } @@ -1114,6 +1141,10 @@ export namespace cloudchannel_v1 { * Extended entitlement parameters. When creating an entitlement, valid parameter names and values are defined in the Offer.parameter_definitions. For Google Workspace, the following Parameters may be accepted as input: - max_units: The maximum assignable units for a flexible offer OR - num_units: The total commitment for commitment-based offers The response may additionally include the following output-only Parameters: - assigned_units: The number of licenses assigned to users. For Google Cloud billing subaccounts, the following Parameter may be accepted as input: - display_name: The display name of the billing subaccount. */ parameters?: Schema$GoogleCloudChannelV1Parameter[]; + /** + * Optional. Price reference ID for the offer. Optional field only for offers that require additional price information. Used to guarantee that the pricing is consistent between quoting the offer and placing the order. Not yet implemented: if this field is populated in a request, it isn't evaluated in the API. + */ + priceReferenceId?: string | null; /** * Output only. Service provisioning details for the entitlement. */ @@ -1201,7 +1232,7 @@ export namespace cloudchannel_v1 { */ entitlement?: string | null; /** - * Type of event which happened on the entitlement. + * Type of event which happened for the entitlement. */ eventType?: string | null; } @@ -1424,7 +1455,7 @@ export namespace cloudchannel_v1 { */ billableSkus?: Schema$GoogleCloudChannelV1BillableSku[]; /** - * A token to retrieve the next page of results. Pass to ListSkuGroupBillableSkus.page_token to obtain that page. + * A token to retrieve the next page of results. Pass to ListSkuGroupBillableSkusRequest.page_token to obtain that page. */ nextPageToken?: string | null; } @@ -1433,7 +1464,7 @@ export namespace cloudchannel_v1 { */ export interface Schema$GoogleCloudChannelV1ListSkuGroupsResponse { /** - * A token to retrieve the next page of results. Pass to ListSkuGroups.page_token to obtain that page. + * A token to retrieve the next page of results. Pass to ListSkuGroupsRequest.page_token to obtain that page. */ nextPageToken?: string | null; /** @@ -1875,6 +1906,10 @@ export namespace cloudchannel_v1 { * Offer. */ offer?: Schema$GoogleCloudChannelV1Offer; + /** + * Optional. Price reference ID for the offer. Optional field only for offers that require additional price information. Used to guarantee that the pricing is consistent between quoting the offer and placing the order. + */ + priceReferenceId?: string | null; } /** * SKU that you can purchase. This is used in ListPurchasableSku API response. @@ -1898,6 +1933,14 @@ export namespace cloudchannel_v1 { * Request Message for RegisterSubscriber. */ export interface Schema$GoogleCloudChannelV1RegisterSubscriberRequest { + /** + * Optional. Resource name of the account. Required if integrator is not provided. Otherwise, leave this field empty/unset. + */ + account?: string | null; + /** + * Optional. Resource name of the integrator. Required if account is not provided. Otherwise, leave this field empty/unset. + */ + integrator?: string | null; /** * Required. Service account that provides subscriber access to the registered topic. */ @@ -2228,6 +2271,10 @@ export namespace cloudchannel_v1 { * Offer with parameter constraints updated to allow the Transfer. */ offer?: Schema$GoogleCloudChannelV1Offer; + /** + * Optional. Price reference ID for the offer. Optional field only for offers that require additional price information. Used to guarantee that the pricing is consistent between quoting the offer and placing the order. + */ + priceReferenceId?: string | null; } /** * TransferableSku represents information a reseller needs to view existing provisioned services for a customer that they do not own. Read-only. @@ -2319,6 +2366,14 @@ export namespace cloudchannel_v1 { * Request Message for UnregisterSubscriber. */ export interface Schema$GoogleCloudChannelV1UnregisterSubscriberRequest { + /** + * Optional. Resource name of the account. Required if integrator is not provided. Otherwise, leave this field empty/unset. + */ + account?: string | null; + /** + * Optional. Resource name of the integrator. Required if account is not provided. Otherwise, leave this field empty/unset. + */ + integrator?: string | null; /** * Required. Service account to unregister from subscriber access to the topic. */ @@ -2493,7 +2548,7 @@ export namespace cloudchannel_v1 { year?: number | null; } /** - * A representation of a decimal value, such as 2.5. Clients may convert values into language-native decimal formats, such as Java's BigDecimal or Python's decimal.Decimal. [BigDecimal]: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html [decimal.Decimal]: https://docs.python.org/3/library/decimal.html + * A representation of a decimal value, such as 2.5. Clients may convert values into language-native decimal formats, such as Java's [BigDecimal](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html) or Python's [decimal.Decimal](https://docs.python.org/3/library/decimal.html). */ export interface Schema$GoogleTypeDecimal { /** @@ -2519,15 +2574,15 @@ export namespace cloudchannel_v1 { units?: string | null; } /** - * Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478 + * Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478 */ export interface Schema$GoogleTypePostalAddress { /** - * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). + * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). */ addressLines?: string[] | null; /** - * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated. + * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated. */ administrativeArea?: string | null; /** @@ -2543,7 +2598,7 @@ export namespace cloudchannel_v1 { */ organization?: string | null; /** - * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.). + * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.). */ postalCode?: string | null; /** @@ -2559,7 +2614,7 @@ export namespace cloudchannel_v1 { */ revision?: number | null; /** - * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (e.g. Côte d'Ivoire). + * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (For example "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (For example Côte d'Ivoire). */ sortingCode?: string | null; /** @@ -2572,11 +2627,11 @@ export namespace cloudchannel_v1 { */ export interface Schema$GoogleTypeTimeZone { /** - * IANA Time Zone Database time zone, e.g. "America/New_York". + * IANA Time Zone Database time zone. For example "America/New_York". */ id?: string | null; /** - * Optional. IANA Time Zone Database version number, e.g. "2019a". + * Optional. IANA Time Zone Database version number. For example "2019a". */ version?: string | null; } @@ -2698,7 +2753,7 @@ export namespace cloudchannel_v1 { } /** - * Lists service accounts with subscriber privileges on the Cloud Pub/Sub topic created for this Channel Services account. Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: The topic resource doesn't exist. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: A list of service email addresses. + * Lists service accounts with subscriber privileges on the Pub/Sub topic created for this Channel Services account or integrator. Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: The topic resource doesn't exist. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: A list of service email addresses. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -2989,7 +3044,7 @@ export namespace cloudchannel_v1 { } /** - * Registers a service account with subscriber privileges on the Cloud Pub/Sub topic for this Channel Services account. After you create a subscriber, you get the events through SubscriberEvent Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The topic name with the registered service email address. + * Registers a service account with subscriber privileges on the Pub/Sub topic for this Channel Services account or integrator. After you create a subscriber, you get the events through SubscriberEvent Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The topic name with the registered service email address. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3086,7 +3141,7 @@ export namespace cloudchannel_v1 { } /** - * Unregisters a service account with subscriber privileges on the Cloud Pub/Sub topic created for this Channel Services account. If there are no service accounts left with subscriber privileges, this deletes the topic. You can call ListSubscribers to check for these accounts. Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: The topic resource doesn't exist. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The topic name that unregistered the service email address. Returns a success response if the service email address wasn't registered with the topic. + * Unregisters a service account with subscriber privileges on the Pub/Sub topic created for this Channel Services account or integrator. If there are no service accounts left with subscriber privileges, this deletes the topic. You can call ListSubscribers to check for these accounts. Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: The topic resource doesn't exist. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The topic name that unregistered the service email address. Returns a success response if the service email address wasn't registered with the topic. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3198,9 +3253,13 @@ export namespace cloudchannel_v1 { export interface Params$Resource$Accounts$Listsubscribers extends StandardParameters { /** - * Optional. Resource name of the account. + * Optional. Resource name of the account. Required if integrator is not provided. Otherwise, leave this field empty/unset. */ account?: string; + /** + * Optional. Resource name of the integrator. Required if account is not provided. Otherwise, leave this field empty/unset. + */ + integrator?: string; /** * Optional. The maximum number of service accounts to return. The service may return fewer than this value. If unspecified, returns at most 100 service accounts. The maximum value is 1000; the server will coerce values above 1000. */ @@ -3237,7 +3296,7 @@ export namespace cloudchannel_v1 { export interface Params$Resource$Accounts$Register extends StandardParameters { /** - * Optional. Resource name of the account. + * Optional. Resource name of the account. Required if integrator is not provided. Otherwise, leave this field empty/unset. */ account?: string; @@ -3249,7 +3308,7 @@ export namespace cloudchannel_v1 { export interface Params$Resource$Accounts$Unregister extends StandardParameters { /** - * Optional. Resource name of the account. + * Optional. Resource name of the account. Required if integrator is not provided. Otherwise, leave this field empty/unset. */ account?: string; @@ -8683,7 +8742,7 @@ export namespace cloudchannel_v1 { */ pageSize?: number; /** - * Optional. A token identifying a page of results beyond the first page. Obtained through ListSkuGroups.next_page_token of the previous CloudChannelService.ListSkuGroups call. + * Optional. A token identifying a page of results beyond the first page. Obtained through ListSkuGroupsResponse.next_page_token of the previous CloudChannelService.ListSkuGroups call. */ pageToken?: string; /** @@ -8803,7 +8862,7 @@ export namespace cloudchannel_v1 { */ pageSize?: number; /** - * Optional. A token identifying a page of results beyond the first page. Obtained through ListSkuGroupBillableSkus.next_page_token of the previous CloudChannelService.ListSkuGroupBillableSkus call. + * Optional. A token identifying a page of results beyond the first page. Obtained through ListSkuGroupBillableSkusResponse.next_page_token of the previous CloudChannelService.ListSkuGroupBillableSkus call. */ pageToken?: string; /** @@ -8812,6 +8871,348 @@ export namespace cloudchannel_v1 { parent?: string; } + export class Resource$Integrators { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Lists service accounts with subscriber privileges on the Pub/Sub topic created for this Channel Services account or integrator. Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: The topic resource doesn't exist. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: A list of service email addresses. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + listSubscribers( + params: Params$Resource$Integrators$Listsubscribers, + options: StreamMethodOptions + ): GaxiosPromise; + listSubscribers( + params?: Params$Resource$Integrators$Listsubscribers, + options?: MethodOptions + ): GaxiosPromise; + listSubscribers( + params: Params$Resource$Integrators$Listsubscribers, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listSubscribers( + params: Params$Resource$Integrators$Listsubscribers, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listSubscribers( + params: Params$Resource$Integrators$Listsubscribers, + callback: BodyResponseCallback + ): void; + listSubscribers( + callback: BodyResponseCallback + ): void; + listSubscribers( + paramsOrCallback?: + | Params$Resource$Integrators$Listsubscribers + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Integrators$Listsubscribers; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Integrators$Listsubscribers; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://cloudchannel.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+integrator}:listSubscribers').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['integrator'], + pathParams: ['integrator'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Registers a service account with subscriber privileges on the Pub/Sub topic for this Channel Services account or integrator. After you create a subscriber, you get the events through SubscriberEvent Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The topic name with the registered service email address. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + registerSubscriber( + params: Params$Resource$Integrators$Registersubscriber, + options: StreamMethodOptions + ): GaxiosPromise; + registerSubscriber( + params?: Params$Resource$Integrators$Registersubscriber, + options?: MethodOptions + ): GaxiosPromise; + registerSubscriber( + params: Params$Resource$Integrators$Registersubscriber, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + registerSubscriber( + params: Params$Resource$Integrators$Registersubscriber, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + registerSubscriber( + params: Params$Resource$Integrators$Registersubscriber, + callback: BodyResponseCallback + ): void; + registerSubscriber( + callback: BodyResponseCallback + ): void; + registerSubscriber( + paramsOrCallback?: + | Params$Resource$Integrators$Registersubscriber + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Integrators$Registersubscriber; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Integrators$Registersubscriber; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://cloudchannel.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+integrator}:registerSubscriber').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['integrator'], + pathParams: ['integrator'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Unregisters a service account with subscriber privileges on the Pub/Sub topic created for this Channel Services account or integrator. If there are no service accounts left with subscriber privileges, this deletes the topic. You can call ListSubscribers to check for these accounts. Possible error codes: * PERMISSION_DENIED: The reseller account making the request and the provided reseller account are different, or the impersonated user is not a super admin. * INVALID_ARGUMENT: Required request parameters are missing or invalid. * NOT_FOUND: The topic resource doesn't exist. * INTERNAL: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. * UNKNOWN: Any non-user error related to a technical issue in the backend. Contact Cloud Channel support. Return value: The topic name that unregistered the service email address. Returns a success response if the service email address wasn't registered with the topic. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + unregisterSubscriber( + params: Params$Resource$Integrators$Unregistersubscriber, + options: StreamMethodOptions + ): GaxiosPromise; + unregisterSubscriber( + params?: Params$Resource$Integrators$Unregistersubscriber, + options?: MethodOptions + ): GaxiosPromise; + unregisterSubscriber( + params: Params$Resource$Integrators$Unregistersubscriber, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + unregisterSubscriber( + params: Params$Resource$Integrators$Unregistersubscriber, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + unregisterSubscriber( + params: Params$Resource$Integrators$Unregistersubscriber, + callback: BodyResponseCallback + ): void; + unregisterSubscriber( + callback: BodyResponseCallback + ): void; + unregisterSubscriber( + paramsOrCallback?: + | Params$Resource$Integrators$Unregistersubscriber + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Integrators$Unregistersubscriber; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Integrators$Unregistersubscriber; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://cloudchannel.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+integrator}:unregisterSubscriber').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['integrator'], + pathParams: ['integrator'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Integrators$Listsubscribers + extends StandardParameters { + /** + * Optional. Resource name of the account. Required if integrator is not provided. Otherwise, leave this field empty/unset. + */ + account?: string; + /** + * Optional. Resource name of the integrator. Required if account is not provided. Otherwise, leave this field empty/unset. + */ + integrator?: string; + /** + * Optional. The maximum number of service accounts to return. The service may return fewer than this value. If unspecified, returns at most 100 service accounts. The maximum value is 1000; the server will coerce values above 1000. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `ListSubscribers` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListSubscribers` must match the call that provided the page token. + */ + pageToken?: string; + } + export interface Params$Resource$Integrators$Registersubscriber + extends StandardParameters { + /** + * Optional. Resource name of the integrator. Required if account is not provided. Otherwise, leave this field empty/unset. + */ + integrator?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudChannelV1RegisterSubscriberRequest; + } + export interface Params$Resource$Integrators$Unregistersubscriber + extends StandardParameters { + /** + * Optional. Resource name of the integrator. Required if account is not provided. Otherwise, leave this field empty/unset. + */ + integrator?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudChannelV1UnregisterSubscriberRequest; + } + export class Resource$Operations { context: APIRequestContext; constructor(context: APIRequestContext) { @@ -8819,7 +9220,7 @@ export namespace cloudchannel_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/cloudcontrolspartner/v1.ts b/src/apis/cloudcontrolspartner/v1.ts index 849b5ff4f3..1b24f44e77 100644 --- a/src/apis/cloudcontrolspartner/v1.ts +++ b/src/apis/cloudcontrolspartner/v1.ts @@ -208,6 +208,10 @@ export namespace cloudcontrolspartner_v1 { * Identifier. Format: `organizations/{organization\}/locations/{location\}/customers/{customer\}` */ name?: string | null; + /** + * Output only. The customer organization domain, extracted from CRM Organization’s display_name field. e.g. "google.com" + */ + organizationDomain?: string | null; } /** * Container for customer onboarding steps @@ -282,6 +286,10 @@ export namespace cloudcontrolspartner_v1 { */ ekmSolution?: string | null; } + /** + * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} + */ + export interface Schema$Empty {} /** * Remediation instructions to resolve violation via gcloud cli */ @@ -730,6 +738,181 @@ export namespace cloudcontrolspartner_v1 { ); } + /** + * Creates a new customer. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Organizations$Locations$Customers$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Organizations$Locations$Customers$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Organizations$Locations$Customers$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Organizations$Locations$Customers$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Organizations$Locations$Customers$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Customers$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Customers$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizations$Locations$Customers$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://cloudcontrolspartner.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/customers').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Delete details of a single customer + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Organizations$Locations$Customers$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Organizations$Locations$Customers$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Organizations$Locations$Customers$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Organizations$Locations$Customers$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Organizations$Locations$Customers$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Customers$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Customers$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizations$Locations$Customers$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://cloudcontrolspartner.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Gets details of a single customer * @@ -909,8 +1092,117 @@ export namespace cloudcontrolspartner_v1 { return createAPIRequest(parameters); } } + + /** + * Update details of a single customer + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Organizations$Locations$Customers$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Organizations$Locations$Customers$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Organizations$Locations$Customers$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Organizations$Locations$Customers$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Organizations$Locations$Customers$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Customers$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Customers$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizations$Locations$Customers$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://cloudcontrolspartner.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } + export interface Params$Resource$Organizations$Locations$Customers$Create + extends StandardParameters { + /** + * Required. The customer id to use for the customer, which will become the final component of the customer's resource name. The specified value must be a valid Google cloud organization id. + */ + customerId?: string; + /** + * Required. Parent resource Format: `organizations/{organization\}/locations/{location\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Customer; + } + export interface Params$Resource$Organizations$Locations$Customers$Delete + extends StandardParameters { + /** + * Required. name of the resource to be deleted format: name=organizations/x/locations/x/customers/x + */ + name?: string; + } export interface Params$Resource$Organizations$Locations$Customers$Get extends StandardParameters { /** @@ -941,6 +1233,22 @@ export namespace cloudcontrolspartner_v1 { */ parent?: string; } + export interface Params$Resource$Organizations$Locations$Customers$Patch + extends StandardParameters { + /** + * Identifier. Format: `organizations/{organization\}/locations/{location\}/customers/{customer\}` + */ + name?: string; + /** + * Optional. The list of fields to update + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Customer; + } export class Resource$Organizations$Locations$Customers$Workloads { context: APIRequestContext; diff --git a/src/apis/cloudcontrolspartner/v1beta.ts b/src/apis/cloudcontrolspartner/v1beta.ts index 3f9c833577..120600da99 100644 --- a/src/apis/cloudcontrolspartner/v1beta.ts +++ b/src/apis/cloudcontrolspartner/v1beta.ts @@ -208,6 +208,10 @@ export namespace cloudcontrolspartner_v1beta { * Identifier. Format: `organizations/{organization\}/locations/{location\}/customers/{customer\}` */ name?: string | null; + /** + * Output only. The customer organization domain, extracted from CRM Organization’s display_name field. e.g. "google.com" + */ + organizationDomain?: string | null; } /** * Container for customer onboarding steps @@ -282,6 +286,10 @@ export namespace cloudcontrolspartner_v1beta { */ ekmSolution?: string | null; } + /** + * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} + */ + export interface Schema$Empty {} /** * Remediation instructions to resolve violation via gcloud cli */ @@ -730,6 +738,181 @@ export namespace cloudcontrolspartner_v1beta { ); } + /** + * Creates a new customer. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Organizations$Locations$Customers$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Organizations$Locations$Customers$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Organizations$Locations$Customers$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Organizations$Locations$Customers$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Organizations$Locations$Customers$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Customers$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Customers$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizations$Locations$Customers$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://cloudcontrolspartner.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/customers').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Delete details of a single customer + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Organizations$Locations$Customers$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Organizations$Locations$Customers$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Organizations$Locations$Customers$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Organizations$Locations$Customers$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Organizations$Locations$Customers$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Customers$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Customers$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizations$Locations$Customers$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://cloudcontrolspartner.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Gets details of a single customer * @@ -909,8 +1092,117 @@ export namespace cloudcontrolspartner_v1beta { return createAPIRequest(parameters); } } + + /** + * Update details of a single customer + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Organizations$Locations$Customers$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Organizations$Locations$Customers$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Organizations$Locations$Customers$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Organizations$Locations$Customers$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Organizations$Locations$Customers$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Customers$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Customers$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizations$Locations$Customers$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://cloudcontrolspartner.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } + export interface Params$Resource$Organizations$Locations$Customers$Create + extends StandardParameters { + /** + * Required. The customer id to use for the customer, which will become the final component of the customer's resource name. The specified value must be a valid Google cloud organization id. + */ + customerId?: string; + /** + * Required. Parent resource Format: `organizations/{organization\}/locations/{location\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Customer; + } + export interface Params$Resource$Organizations$Locations$Customers$Delete + extends StandardParameters { + /** + * Required. name of the resource to be deleted format: name=organizations/x/locations/x/customers/x + */ + name?: string; + } export interface Params$Resource$Organizations$Locations$Customers$Get extends StandardParameters { /** @@ -941,6 +1233,22 @@ export namespace cloudcontrolspartner_v1beta { */ parent?: string; } + export interface Params$Resource$Organizations$Locations$Customers$Patch + extends StandardParameters { + /** + * Identifier. Format: `organizations/{organization\}/locations/{location\}/customers/{customer\}` + */ + name?: string; + /** + * Optional. The list of fields to update + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Customer; + } export class Resource$Organizations$Locations$Customers$Workloads { context: APIRequestContext; diff --git a/src/apis/clouddeploy/v1.ts b/src/apis/clouddeploy/v1.ts index 3c4496fae3..cd6528b551 100644 --- a/src/apis/clouddeploy/v1.ts +++ b/src/apis/clouddeploy/v1.ts @@ -234,6 +234,19 @@ export namespace clouddeploy_v1 { * The response object from `ApproveRollout`. */ export interface Schema$ApproveRolloutResponse {} + /** + * Information about entities associated with a `Target`. + */ + export interface Schema$AssociatedEntities { + /** + * Optional. Information specifying Anthos clusters as associated entities. + */ + anthosClusters?: Schema$AnthosCluster[]; + /** + * Optional. Information specifying GKE clusters as associated entities. + */ + gkeClusters?: Schema$GkeCluster[]; + } /** * Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] \}, { "log_type": "DATA_WRITE" \}, { "log_type": "ADMIN_READ" \} ] \}, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" \}, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] \} ] \} ] \} For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. */ @@ -376,6 +389,10 @@ export namespace clouddeploy_v1 { * Optional. The `RepairRolloutRule` will automatically repair a failed rollout. */ repairRolloutRule?: Schema$RepairRolloutRule; + /** + * Optional. The `TimedPromoteReleaseRule` will automatically promote a release from the current target(s) to the specified target(s) on a configured schedule. + */ + timedPromoteReleaseRule?: Schema$TimedPromoteReleaseRule; } /** * `AutomationRuleCondition` contains conditions relevant to an `Automation` rule. @@ -385,6 +402,10 @@ export namespace clouddeploy_v1 { * Optional. Details around targets enumerated in the rule. */ targetsPresentCondition?: Schema$TargetsPresentCondition; + /** + * Optional. TimedPromoteReleaseCondition contains rule conditions specific to a an Automation with a timed promote release rule defined. + */ + timedPromoteReleaseCondition?: Schema$TimedPromoteReleaseCondition; } /** * An `AutomationRun` resource in the Cloud Deploy API. An `AutomationRun` represents an execution instance of an automation rule. @@ -447,9 +468,13 @@ export namespace clouddeploy_v1 { */ stateDescription?: string | null; /** - * Output only. The ID of the target that represents the promotion stage that initiates the `AutomationRun`. The value of this field is the last segment of a target name. + * Output only. The ID of the source target that initiates the `AutomationRun`. The value of this field is the last segment of a target name. */ targetId?: string | null; + /** + * Output only. Promotes a release to a specified 'Target' as defined in a Timed Promote Release rule. + */ + timedPromoteReleaseOperation?: Schema$TimedPromoteReleaseOperation; /** * Output only. Time at which the automationRun was updated. */ @@ -1235,6 +1260,10 @@ export namespace clouddeploy_v1 { * Optional. The label to use when selecting Pods for the Deployment and Service resources. This label must already be present in both resources. */ podSelectorLabel?: string | null; + /** + * Optional. Route destinations allow configuring the Gateway API HTTPRoute to be deployed to additional clusters. This option is available for multi-cluster service mesh set ups that require the route to exist in the clusters that call the service. If unspecified, the HTTPRoute will only be deployed to the Target cluster. + */ + routeDestinations?: Schema$RouteDestinations; /** * Optional. The time to wait for route updates to propagate. The maximum configurable time is 3 hours, in seconds format. If unspecified, there is no wait time. */ @@ -1743,7 +1772,7 @@ export namespace clouddeploy_v1 { */ endTime?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -2122,7 +2151,7 @@ export namespace clouddeploy_v1 { */ skaffoldConfigUri?: string | null; /** - * The Skaffold version to use when operating on this release, such as "1.20.0". Not all versions are valid; Cloud Deploy supports a specific set of versions. If unset, the most recent supported Skaffold version will be used. + * Optional. The Skaffold version to use when operating on this release, such as "1.20.0". Not all versions are valid; Cloud Deploy supports a specific set of versions. If unset, the most recent supported Skaffold version will be used. */ skaffoldVersion?: string | null; /** @@ -2664,6 +2693,19 @@ export namespace clouddeploy_v1 { */ type?: string | null; } + /** + * Information about route destinations for the Gateway API service mesh. + */ + export interface Schema$RouteDestinations { + /** + * Required. The clusters where the Gateway API HTTPRoute resource will be deployed to. Valid entries include the associated entities IDs configured in the Target resource and "@self" to include the Target cluster. + */ + destinationIds?: string[] | null; + /** + * Optional. Whether to propagate the Kubernetes Service to the route destination clusters. The Service will always be deployed to the Target cluster even if the HTTPRoute is not. This option may be used to facilitiate successful DNS lookup in the route destination clusters. Can only be set to true if destinations are specified. + */ + propagateService?: boolean | null; + } /** * RuntimeConfig contains the runtime specific configurations for a deployment strategy. */ @@ -2910,6 +2952,10 @@ export namespace clouddeploy_v1 { * Optional. Information specifying an Anthos Cluster. */ anthosCluster?: Schema$AnthosCluster; + /** + * Optional. Map of entity IDs to their associated entities. Associated entities allows specifying places other than the deployment target for specific features. For example, the Gateway API canary can be configured to deploy the HTTPRoute to a different cluster(s) than the deployment cluster using associated entities. An entity ID must consist of lower-case letters, numbers, and hyphens, start with a letter and end with a letter or a number, and have a max length of 63 characters. In other words, it must match the following regex: `^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$`. + */ + associatedEntities?: {[key: string]: Schema$AssociatedEntities} | null; /** * Output only. Time at which the `Target` was created. */ @@ -3047,6 +3093,19 @@ export namespace clouddeploy_v1 { */ renderingState?: string | null; } + /** + * The targets involved in a single timed promotion. + */ + export interface Schema$Targets { + /** + * Optional. The destination target ID. + */ + destinationTargetId?: string | null; + /** + * Optional. The source target ID. + */ + sourceTargetId?: string | null; + } /** * `TargetsPresentCondition` contains information on any Targets referenced in the Delivery Pipeline that do not actually exist. */ @@ -3108,24 +3167,83 @@ export namespace clouddeploy_v1 { */ permissions?: string[] | null; } + /** + * `TimedPromoteReleaseCondition` contains conditions specific to an Automation with a Timed Promote Release rule defined. + */ + export interface Schema$TimedPromoteReleaseCondition { + /** + * Output only. When the next scheduled promotion(s) will occur. + */ + nextPromotionTime?: string | null; + /** + * Output only. A list of targets involved in the upcoming timed promotion(s). + */ + targetsList?: Schema$Targets[]; + } + /** + * Contains the information of an automated timed promote-release operation. + */ + export interface Schema$TimedPromoteReleaseOperation { + /** + * Output only. The starting phase of the rollout created by this operation. + */ + phase?: string | null; + /** + * Output only. The name of the release to be promoted. + */ + release?: string | null; + /** + * Output only. The ID of the target that represents the promotion stage to which the release will be promoted. The value of this field is the last segment of a target name. + */ + targetId?: string | null; + } + /** + * The `TimedPromoteReleaseRule` will automatically promote a release from the current target(s) to the specified target(s) on a configured schedule. + */ + export interface Schema$TimedPromoteReleaseRule { + /** + * Output only. Information around the state of the Automation rule. + */ + condition?: Schema$AutomationRuleCondition; + /** + * Optional. The starting phase of the rollout created by this rule. Default to the first phase. + */ + destinationPhase?: string | null; + /** + * Optional. The ID of the stage in the pipeline to which this `Release` is deploying. If unspecified, default it to the next stage in the promotion flow. The value of this field could be one of the following: * The last segment of a target name * "@next", the next target in the promotion sequence + */ + destinationTargetId?: string | null; + /** + * Required. ID of the rule. This ID must be unique in the `Automation` resource to which this rule belongs. The format is `[a-z]([a-z0-9-]{0,61\}[a-z0-9])?`. + */ + id?: string | null; + /** + * Required. Schedule in crontab format. e.g. "0 9 * * 1" for every Monday at 9am. + */ + schedule?: string | null; + /** + * Required. The time zone in IANA format [IANA Time Zone Database](https://www.iana.org/time-zones) (e.g. America/New_York). + */ + timeZone?: string | null; + } /** * Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. */ export interface Schema$TimeOfDay { /** - * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. */ hours?: number | null; /** - * Minutes of hour of day. Must be from 0 to 59. + * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. */ minutes?: number | null; /** - * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. */ nanos?: number | null; /** - * Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. */ seconds?: number | null; } @@ -8350,7 +8468,7 @@ export namespace clouddeploy_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/cloudfunctions/v1.ts b/src/apis/cloudfunctions/v1.ts index acaf13b509..4acf0a7d4b 100644 --- a/src/apis/cloudfunctions/v1.ts +++ b/src/apis/cloudfunctions/v1.ts @@ -233,7 +233,7 @@ export namespace cloudfunctions_v1 { */ description?: string | null; /** - * Docker Registry to use for this deployment. If unspecified, it defaults to `ARTIFACT_REGISTRY`. If `docker_repository` field is specified, this field should either be left unspecified or set to `ARTIFACT_REGISTRY`. + * Docker Registry to use for this deployment. Deprecated: Container Registry option will no longer be available after March 2025: https://cloud.google.com/artifact-registry/docs/transition/transition-from-gcr Please use Artifact Registry instead, which is the default choice. If unspecified, it defaults to `ARTIFACT_REGISTRY`. If `docker_repository` field is specified, this field should either be left unspecified or set to `ARTIFACT_REGISTRY`. */ dockerRegistry?: string | null; /** diff --git a/src/apis/cloudfunctions/v2.ts b/src/apis/cloudfunctions/v2.ts index 50d38fe12b..a91d02c896 100644 --- a/src/apis/cloudfunctions/v2.ts +++ b/src/apis/cloudfunctions/v2.ts @@ -189,7 +189,7 @@ export namespace cloudfunctions_v2 { */ dockerRegistry?: string | null; /** - * Repository in Artifact Registry to which the function docker image will be pushed after it is built by Cloud Build. If specified by user, it is created and managed by user with a customer managed encryption key. Otherwise, GCF will create and use a repository named 'gcf-artifacts' for every deployed region. It must match the pattern `projects/{project\}/locations/{location\}/repositories/{repository\}`. Cross-project repositories are not supported. Cross-location repositories are not supported. Repository format must be 'DOCKER'. + * Repository in Artifact Registry to which the function docker image will be pushed after it is built by Cloud Build. If specified by user, it is created and managed by user with a customer managed encryption key. Otherwise, GCF will create and use a repository named 'gcf-artifacts' for every deployed region. It must match the pattern `projects/{project\}/locations/{location\}/repositories/{repository\}`. Repository format must be 'DOCKER'. */ dockerRepository?: string | null; /** @@ -1021,7 +1021,7 @@ export namespace cloudfunctions_v2 { permissions?: string[] | null; } /** - * Information related to: * A function's eligibility for 1st Gen to 2nd Gen migration * Current state of migration for function undergoing migration. + * Information related to: * A function's eligibility for 1st Gen to 2nd Gen migration and 2nd Gen to CRf detach. * Current state of migration for function undergoing migration/detach. */ export interface Schema$UpgradeInfo { /** diff --git a/src/apis/cloudfunctions/v2alpha.ts b/src/apis/cloudfunctions/v2alpha.ts index 858aa38f53..38e45d7256 100644 --- a/src/apis/cloudfunctions/v2alpha.ts +++ b/src/apis/cloudfunctions/v2alpha.ts @@ -189,7 +189,7 @@ export namespace cloudfunctions_v2alpha { */ dockerRegistry?: string | null; /** - * Repository in Artifact Registry to which the function docker image will be pushed after it is built by Cloud Build. If specified by user, it is created and managed by user with a customer managed encryption key. Otherwise, GCF will create and use a repository named 'gcf-artifacts' for every deployed region. It must match the pattern `projects/{project\}/locations/{location\}/repositories/{repository\}`. Cross-project repositories are not supported. Cross-location repositories are not supported. Repository format must be 'DOCKER'. + * Repository in Artifact Registry to which the function docker image will be pushed after it is built by Cloud Build. If specified by user, it is created and managed by user with a customer managed encryption key. Otherwise, GCF will create and use a repository named 'gcf-artifacts' for every deployed region. It must match the pattern `projects/{project\}/locations/{location\}/repositories/{repository\}`. Repository format must be 'DOCKER'. */ dockerRepository?: string | null; /** @@ -1021,7 +1021,7 @@ export namespace cloudfunctions_v2alpha { permissions?: string[] | null; } /** - * Information related to: * A function's eligibility for 1st Gen to 2nd Gen migration * Current state of migration for function undergoing migration. + * Information related to: * A function's eligibility for 1st Gen to 2nd Gen migration and 2nd Gen to CRf detach. * Current state of migration for function undergoing migration/detach. */ export interface Schema$UpgradeInfo { /** diff --git a/src/apis/cloudfunctions/v2beta.ts b/src/apis/cloudfunctions/v2beta.ts index 137078e2fb..39bbec5c9d 100644 --- a/src/apis/cloudfunctions/v2beta.ts +++ b/src/apis/cloudfunctions/v2beta.ts @@ -189,7 +189,7 @@ export namespace cloudfunctions_v2beta { */ dockerRegistry?: string | null; /** - * Repository in Artifact Registry to which the function docker image will be pushed after it is built by Cloud Build. If specified by user, it is created and managed by user with a customer managed encryption key. Otherwise, GCF will create and use a repository named 'gcf-artifacts' for every deployed region. It must match the pattern `projects/{project\}/locations/{location\}/repositories/{repository\}`. Cross-project repositories are not supported. Cross-location repositories are not supported. Repository format must be 'DOCKER'. + * Repository in Artifact Registry to which the function docker image will be pushed after it is built by Cloud Build. If specified by user, it is created and managed by user with a customer managed encryption key. Otherwise, GCF will create and use a repository named 'gcf-artifacts' for every deployed region. It must match the pattern `projects/{project\}/locations/{location\}/repositories/{repository\}`. Repository format must be 'DOCKER'. */ dockerRepository?: string | null; /** @@ -1021,7 +1021,7 @@ export namespace cloudfunctions_v2beta { permissions?: string[] | null; } /** - * Information related to: * A function's eligibility for 1st Gen to 2nd Gen migration * Current state of migration for function undergoing migration. + * Information related to: * A function's eligibility for 1st Gen to 2nd Gen migration and 2nd Gen to CRf detach. * Current state of migration for function undergoing migration/detach. */ export interface Schema$UpgradeInfo { /** diff --git a/src/apis/cloudidentity/v1.ts b/src/apis/cloudidentity/v1.ts index bc3b7a49fb..5241d9a61c 100644 --- a/src/apis/cloudidentity/v1.ts +++ b/src/apis/cloudidentity/v1.ts @@ -117,6 +117,7 @@ export namespace cloudidentity_v1 { groups: Resource$Groups; inboundSamlSsoProfiles: Resource$Inboundsamlssoprofiles; inboundSsoAssignments: Resource$Inboundssoassignments; + policies: Resource$Policies; constructor(options: GlobalOptions, google?: GoogleConfigurable) { this.context = { @@ -133,6 +134,7 @@ export namespace cloudidentity_v1 { this.inboundSsoAssignments = new Resource$Inboundssoassignments( this.context ); + this.policies = new Resource$Policies(this.context); } } @@ -735,7 +737,7 @@ export namespace cloudidentity_v1 { */ model?: string | null; /** - * Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device\}`, where device is the unique id assigned to the Device. + * Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device\}`, where device is the unique id assigned to the Device. Important: Device API scopes require that you use domain-wide delegation to access the API. For more information, see [Set up the Devices API](https://cloud.google.com/identity/docs/how-to/setup-devices). */ name?: string | null; /** @@ -1188,6 +1190,19 @@ export namespace cloudidentity_v1 { */ nextPageToken?: string | null; } + /** + * The response message for PoliciesService.ListPolicies. + */ + export interface Schema$ListPoliciesResponse { + /** + * The pagination token to retrieve the next page of results. If this field is empty, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The results + */ + policies?: Schema$Policy[]; + } /** * Response message for UserInvitation listing request. */ @@ -1291,7 +1306,7 @@ export namespace cloudidentity_v1 { */ export interface Schema$MembershipAdjacencyList { /** - * Each edge contains information about the member that belongs to this group. Note: Fields returned here will help identify the specific Membership resource (e.g name, preferred_member_key and role), but may not be a comprehensive list of all fields. + * Each edge contains information about the member that belongs to this group. Note: Fields returned here will help identify the specific Membership resource (e.g `name`, `preferred_member_key` and `role`), but may not be a comprehensive list of all fields. */ edges?: Schema$Membership[]; /** @@ -1409,6 +1424,52 @@ export namespace cloudidentity_v1 { */ response?: {[key: string]: any} | null; } + /** + * A Policy resource binds an instance of a single Setting with the scope of a PolicyQuery. The Setting instance will be applied to all entities that satisfy the query. + */ + export interface Schema$Policy { + /** + * Immutable. Customer that the Policy belongs to. The value is in the format 'customers/{customerId\}'. The `customerId` must begin with "C" To find your customer ID in Admin Console see https://support.google.com/a/answer/10070793. + */ + customer?: string | null; + /** + * Output only. Identifier. The [resource name](https://cloud.google.com/apis/design/resource_names) of the Policy. Format: policies/{policy\}. + */ + name?: string | null; + /** + * Required. The PolicyQuery the Setting applies to. + */ + policyQuery?: Schema$PolicyQuery; + /** + * Required. The Setting configured by this Policy. + */ + setting?: Schema$Setting; + /** + * Output only. The type of the policy. + */ + type?: string | null; + } + /** + * PolicyQuery + */ + export interface Schema$PolicyQuery { + /** + * Immutable. The group that the query applies to. This field is only set if there is a single value for group that satisfies all clauses of the query. If no group applies, this will be the empty string. + */ + group?: string | null; + /** + * Required. Immutable. Non-empty default. The OrgUnit the query applies to. This field is only set if there is a single value for org_unit that satisfies all clauses of the query. + */ + orgUnit?: string | null; + /** + * Immutable. The CEL query that defines which entities the Policy applies to (ex. a User entity). For details about CEL see https://opensource.google.com/projects/cel. The OrgUnits the Policy applies to are represented by a clause like so: entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('{orgUnitId\}')) The Group the Policy applies to are represented by a clause like so: entity.groups.exists(group, group.group_id == groupId('{groupId\}')) The Licenses the Policy applies to are represented by a clause like so: entity.licenses.exists(license, license in ['/product/{productId\}/sku/{skuId\}']) The above clauses can be present in any combination, and used in conjunction with the &&, || and ! operators. The org_unit and group fields below are helper fields that contain the corresponding value(s) as the query to make the query easier to use. + */ + query?: string | null; + /** + * Output only. The decimal sort order of this PolicyQuery. The value is relative to all other policies with the same setting type for the customer. (There are no duplicates within this set). + */ + sortOrder?: number | null; + } /** * The evaluated state of this restriction. */ @@ -1548,6 +1609,19 @@ export namespace cloudidentity_v1 { * A request to send email for inviting target user corresponding to the UserInvitation. */ export interface Schema$SendUserInvitationRequest {} + /** + * Setting + */ + export interface Schema$Setting { + /** + * Required. Immutable. The type of the Setting. . + */ + type?: string | null; + /** + * Required. The value of the Setting. + */ + value?: {[key: string]: any} | null; + } /** * Controls sign-in behavior. */ @@ -6043,7 +6117,7 @@ export namespace cloudidentity_v1 { */ pageSize?: number; /** - * The next_page_token value returned from a previous list request, if any + * The `next_page_token` value returned from a previous list request, if any */ pageToken?: string; /** @@ -6062,7 +6136,7 @@ export namespace cloudidentity_v1 { */ pageSize?: number; /** - * The next_page_token value returned from a previous list request, if any. + * The `next_page_token` value returned from a previous list request, if any. */ pageToken?: string; /** @@ -6070,7 +6144,7 @@ export namespace cloudidentity_v1 { */ parent?: string; /** - * Required. A CEL expression that MUST include member specification AND label(s). This is a `required` field. Users can search on label attributes of groups. CONTAINS match ('in') is supported on labels. Identity-mapped groups are uniquely identified by both a `member_key_id` and a `member_key_namespace`, which requires an additional query input: `member_key_namespace`. Example query: `member_key_id == 'member_key_id_value' && in labels` Query may optionally contain equality operators on the parent of the group restricting the search within a particular customer, e.g. `parent == 'customers/{customer_id\}'`. The `customer_id` must begin with "C" (for example, 'C046psxkn'). This filtering is only supported for Admins with groups read permissons on the input customer. Example query: `member_key_id == 'member_key_id_value' && in labels && parent == 'customers/C046psxkn'` + * Required. A CEL expression that MUST include member specification AND label(s). This is a `required` field. Users can search on label attributes of groups. CONTAINS match ('in') is supported on labels. Identity-mapped groups are uniquely identified by both a `member_key_id` and a `member_key_namespace`, which requires an additional query input: `member_key_namespace`. Example query: `member_key_id == 'member_key_id_value' && in labels` Query may optionally contain equality operators on the parent of the group restricting the search within a particular customer, e.g. `parent == 'customers/{customer_id\}'`. The `customer_id` must begin with "C" (for example, 'C046psxkn'). This filtering is only supported for Admins with groups read permissions on the input customer. Example query: `member_key_id == 'member_key_id_value' && in labels && parent == 'customers/C046psxkn'` */ query?: string; } @@ -6081,7 +6155,7 @@ export namespace cloudidentity_v1 { */ pageSize?: number; /** - * The next_page_token value returned from a previous list request, if any. + * The `next_page_token` value returned from a previous list request, if any. */ pageToken?: string; /** @@ -7523,4 +7597,207 @@ export namespace cloudidentity_v1 { */ requestBody?: Schema$InboundSsoAssignment; } + + export class Resource$Policies { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Get a Policy + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Policies$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Policies$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Policies$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Policies$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Policies$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Policies$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || {}) as Params$Resource$Policies$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Policies$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://cloudidentity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * List Policies + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Policies$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Policies$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Policies$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Policies$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Policies$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Policies$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || {}) as Params$Resource$Policies$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Policies$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://cloudidentity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/policies').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Policies$Get extends StandardParameters { + /** + * Required. The name of the policy to retrieve. Format: "policies/{policy\}". + */ + name?: string; + } + export interface Params$Resource$Policies$List extends StandardParameters { + /** + * Optional. A CEL expression for filtering the results. Policies can be filtered by application with this expression: setting.name = 'settings/gmail.*' Policies can be filtered by setting type with this expression: setting.name = '*.service_status' A maximum of one of the above setting.name clauses can be used. Policies can be filtered by customer with this expression: customer = "customers/{customer\}" Where `customer` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may use `customers/my_customer` to specify your own organization. When no customer is mentioned it will be default to customers/my_customer. A maximum of one customer clause can be used. The above clauses can only be combined together in a single filter expression with the `&&` operator. + */ + filter?: string; + /** + * Optional. The maximum number of results to return. The service can return fewer than this number. If omitted or set to 0, the default is 50 results per page. The maximum allowed value is 100. `page_size` values greater than 100 default to 100. + */ + pageSize?: number; + /** + * Optional. The pagination token received from a prior call to PoliciesService.ListPolicies to retrieve the next page of results. When paginating, all other parameters provided to `ListPoliciesRequest` must match the call that provided the page token. + */ + pageToken?: string; + } } diff --git a/src/apis/cloudidentity/v1beta1.ts b/src/apis/cloudidentity/v1beta1.ts index 1f54ff04b8..78ed940683 100644 --- a/src/apis/cloudidentity/v1beta1.ts +++ b/src/apis/cloudidentity/v1beta1.ts @@ -118,6 +118,7 @@ export namespace cloudidentity_v1beta1 { inboundSamlSsoProfiles: Resource$Inboundsamlssoprofiles; inboundSsoAssignments: Resource$Inboundssoassignments; orgUnits: Resource$Orgunits; + policies: Resource$Policies; constructor(options: GlobalOptions, google?: GoogleConfigurable) { this.context = { @@ -135,6 +136,7 @@ export namespace cloudidentity_v1beta1 { this.context ); this.orgUnits = new Resource$Orgunits(this.context); + this.policies = new Resource$Policies(this.context); } } @@ -523,7 +525,7 @@ export namespace cloudidentity_v1beta1 { */ export interface Schema$DeleteInboundSsoAssignmentOperationMetadata {} /** - * A Device within the Cloud Identity Devices API. Represents a Device known to Google Cloud, independent of the device ownership, type, and whether it is assigned or in use by a user. + * A Device within the Cloud Identity Devices API. Represents a Device known to Google Cloud, independent of the device ownership, type, and whether it is assigned or in use by a user. Important: Device API scopes require that you use domain-wide delegation to access the API. For more information, see [Set up the Devices API](https://cloud.google.com/identity/docs/how-to/setup-devices). */ export interface Schema$Device { /** @@ -1205,7 +1207,7 @@ export namespace cloudidentity_v1beta1 { */ model?: string | null; /** - * Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device\}`, where device is the unique id assigned to the Device. + * Output only. [Resource name](https://cloud.google.com/apis/design/resource_names) of the Device in format: `devices/{device\}`, where device is the unique id assigned to the Device. Important: Device API scopes require that you use domain-wide delegation to access the API. For more information, see [Set up the Devices API](https://cloud.google.com/identity/docs/how-to/setup-devices). */ name?: string | null; /** @@ -1378,7 +1380,7 @@ export namespace cloudidentity_v1beta1 { */ groupKey?: Schema$EntityKey; /** - * Required. One or more label entries that apply to the Group. Currently supported labels contain a key with an empty value. Google Groups are the default type of group and have a label with a key of `cloudidentity.googleapis.com/groups.discussion_forum` and an empty value. Existing Google Groups can have an additional label with a key of `cloudidentity.googleapis.com/groups.security` and an empty value added to them. **This is an immutable change and the security label cannot be removed once added.** Dynamic groups have a label with a key of `cloudidentity.googleapis.com/groups.dynamic`. Identity-mapped groups for Cloud Search have a label with a key of `system/groups/external` and an empty value. + * Required. One or more label entries that apply to the Group. Labels contain a key with an empty value. Google Groups are the default type of group and have a label with a key of `cloudidentity.googleapis.com/groups.discussion_forum` and an empty value. Existing Google Groups can have an additional label with a key of `cloudidentity.googleapis.com/groups.security` and an empty value added to them. **This is an immutable change and the security label cannot be removed once added.** Dynamic groups have a label with a key of `cloudidentity.googleapis.com/groups.dynamic`. Identity-mapped groups for Cloud Search have a label with a key of `system/groups/external` and an empty value. (Beta) Google Groups can be [locked](https://support.google.com/a?p=locked-groups). To lock a group, add a label with a key of `cloudidentity.googleapis.com/groups.locked` and an empty value. Doing so locks the group. To unlock the group, remove this label. */ labels?: {[key: string]: string} | null; /** @@ -1636,6 +1638,19 @@ export namespace cloudidentity_v1beta1 { */ orgMemberships?: Schema$OrgMembership[]; } + /** + * The response message for PoliciesService.ListPolicies. + */ + export interface Schema$ListPoliciesResponse { + /** + * The pagination token to retrieve the next page of results. If this field is empty, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The results + */ + policies?: Schema$Policy[]; + } /** * Response message for UserInvitation listing request. */ @@ -1760,7 +1775,7 @@ export namespace cloudidentity_v1beta1 { */ export interface Schema$MembershipAdjacencyList { /** - * Each edge contains information about the member that belongs to this group. Note: Fields returned here will help identify the specific Membership resource (e.g name, preferred_member_key and role), but may not be a comprehensive list of all fields. + * Each edge contains information about the member that belongs to this group. Note: Fields returned here will help identify the specific Membership resource (e.g `name`, `preferred_member_key` and `role`), but may not be a comprehensive list of all fields. */ edges?: Schema$Membership[]; /** @@ -1912,6 +1927,52 @@ export namespace cloudidentity_v1beta1 { */ type?: string | null; } + /** + * A Policy resource binds an instance of a single Setting with the scope of a PolicyQuery. The Setting instance will be applied to all entities that satisfy the query. + */ + export interface Schema$Policy { + /** + * Immutable. Customer that the Policy belongs to. The value is in the format 'customers/{customerId\}'. The `customerId` must begin with "C" To find your customer ID in Admin Console see https://support.google.com/a/answer/10070793. + */ + customer?: string | null; + /** + * Output only. Identifier. The [resource name](https://cloud.google.com/apis/design/resource_names) of the Policy. Format: policies/{policy\}. + */ + name?: string | null; + /** + * Required. The PolicyQuery the Setting applies to. + */ + policyQuery?: Schema$PolicyQuery; + /** + * Required. The Setting configured by this Policy. + */ + setting?: Schema$Setting; + /** + * Output only. The type of the policy. + */ + type?: string | null; + } + /** + * PolicyQuery + */ + export interface Schema$PolicyQuery { + /** + * Immutable. The group that the query applies to. This field is only set if there is a single value for group that satisfies all clauses of the query. If no group applies, this will be the empty string. + */ + group?: string | null; + /** + * Required. Immutable. Non-empty default. The OrgUnit the query applies to. This field is only set if there is a single value for org_unit that satisfies all clauses of the query. + */ + orgUnit?: string | null; + /** + * Immutable. The CEL query that defines which entities the Policy applies to (ex. a User entity). For details about CEL see https://opensource.google.com/projects/cel. The OrgUnits the Policy applies to are represented by a clause like so: entity.org_units.exists(org_unit, org_unit.org_unit_id == orgUnitId('{orgUnitId\}')) The Group the Policy applies to are represented by a clause like so: entity.groups.exists(group, group.group_id == groupId('{groupId\}')) The Licenses the Policy applies to are represented by a clause like so: entity.licenses.exists(license, license in ['/product/{productId\}/sku/{skuId\}']) The above clauses can be present in any combination, and used in conjunction with the &&, || and ! operators. The org_unit and group fields below are helper fields that contain the corresponding value(s) as the query to make the query easier to use. + */ + query?: string | null; + /** + * Output only. The decimal sort order of this PolicyQuery. The value is relative to all other policies with the same setting type for the customer. (There are no duplicates within this set). + */ + sortOrder?: number | null; + } /** * POSIX Group definition to represent a group in a POSIX compliant system. Caution: POSIX groups are deprecated. As of September 26, 2024, you can no longer create new POSIX groups. For more information, see https://cloud.google.com/identity/docs/deprecations/posix-groups */ @@ -2068,6 +2129,19 @@ export namespace cloudidentity_v1beta1 { * A request to send email for inviting target user corresponding to the UserInvitation. */ export interface Schema$SendUserInvitationRequest {} + /** + * Setting + */ + export interface Schema$Setting { + /** + * Required. Immutable. The type of the Setting. . + */ + type?: string | null; + /** + * Required. The value of the Setting. + */ + value?: {[key: string]: any} | null; + } /** * Controls sign-in behavior. */ @@ -6394,7 +6468,7 @@ export namespace cloudidentity_v1beta1 { export interface Params$Resource$Groups$Memberships$Getmembershipgraph extends StandardParameters { /** - * Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the group to search transitive memberships in. Format: `groups/{group_id\}`, where `group_id` is the unique ID assigned to the Group to which the Membership belongs to. group_id can be a wildcard collection id "-". When a group_id is specified, the membership graph will be constrained to paths between the member (defined in the query) and the parent. If a wildcard collection is provided, all membership paths connected to the member will be returned. + * Required. [Resource name](https://cloud.google.com/apis/design/resource_names) of the group to search transitive memberships in. Format: `groups/{group_id\}`, where `group_id` is the unique ID assigned to the Group to which the Membership belongs to. group_id can be a wildcard collection id "-". When `group_id` is specified, the membership graph will be constrained to paths between the member (defined in the query) and the parent. If a wildcard collection is provided, all membership paths connected to the member will be returned. */ parent?: string; /** @@ -6459,7 +6533,7 @@ export namespace cloudidentity_v1beta1 { */ pageSize?: number; /** - * The next_page_token value returned from a previous list request, if any + * The next_page_token value returned from a previous list request, if any. */ pageToken?: string; /** @@ -6478,7 +6552,7 @@ export namespace cloudidentity_v1beta1 { */ pageSize?: number; /** - * The next_page_token value returned from a previous list request, if any. + * The `next_page_token` value returned from a previous list request, if any. */ pageToken?: string; /** @@ -6486,7 +6560,7 @@ export namespace cloudidentity_v1beta1 { */ parent?: string; /** - * Required. A CEL expression that MUST include member specification AND label(s). This is a `required` field. Users can search on label attributes of groups. CONTAINS match ('in') is supported on labels. Identity-mapped groups are uniquely identified by both a `member_key_id` and a `member_key_namespace`, which requires an additional query input: `member_key_namespace`. Example query: `member_key_id == 'member_key_id_value' && in labels` Query may optionally contain equality operators on the parent of the group restricting the search within a particular customer, e.g. `parent == 'customers/{customer_id\}'`. The `customer_id` must begin with "C" (for example, 'C046psxkn'). This filtering is only supported for Admins with groups read permissons on the input customer. Example query: `member_key_id == 'member_key_id_value' && in labels && parent == 'customers/C046psxkn'` + * Required. A CEL expression that MUST include member specification AND label(s). This is a `required` field. Users can search on label attributes of groups. CONTAINS match ('in') is supported on labels. Identity-mapped groups are uniquely identified by both a `member_key_id` and a `member_key_namespace`, which requires an additional query input: `member_key_namespace`. Example query: `member_key_id == 'member_key_id_value' && in labels` Query may optionally contain equality operators on the parent of the group restricting the search within a particular customer, e.g. `parent == 'customers/{customer_id\}'`. The `customer_id` must begin with "C" (for example, 'C046psxkn'). This filtering is only supported for Admins with groups read permissions on the input customer. Example query: `member_key_id == 'member_key_id_value' && in labels && parent == 'customers/C046psxkn'` */ query?: string; } @@ -8176,4 +8250,207 @@ export namespace cloudidentity_v1beta1 { */ requestBody?: Schema$MoveOrgMembershipRequest; } + + export class Resource$Policies { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Get a Policy + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Policies$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Policies$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Policies$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Policies$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Policies$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Policies$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || {}) as Params$Resource$Policies$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Policies$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://cloudidentity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * List Policies + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Policies$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Policies$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Policies$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Policies$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Policies$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Policies$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || {}) as Params$Resource$Policies$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Policies$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://cloudidentity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/policies').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Policies$Get extends StandardParameters { + /** + * Required. The name of the policy to retrieve. Format: "policies/{policy\}". + */ + name?: string; + } + export interface Params$Resource$Policies$List extends StandardParameters { + /** + * Optional. A CEL expression for filtering the results. Policies can be filtered by application with this expression: setting.name = 'settings/gmail.*' Policies can be filtered by setting type with this expression: setting.name = '*.service_status' A maximum of one of the above setting.name clauses can be used. Policies can be filtered by customer with this expression: customer = "customers/{customer\}" Where `customer` is the `id` from the [Admin SDK `Customer` resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). You may use `customers/my_customer` to specify your own organization. When no customer is mentioned it will be default to customers/my_customer. A maximum of one customer clause can be used. The above clauses can only be combined together in a single filter expression with the `&&` operator. + */ + filter?: string; + /** + * Optional. The maximum number of results to return. The service can return fewer than this number. If omitted or set to 0, the default is 50 results per page. The maximum allowed value is 100. `page_size` values greater than 100 default to 100. + */ + pageSize?: number; + /** + * Optional. The pagination token received from a prior call to PoliciesService.ListPolicies to retrieve the next page of results. When paginating, all other parameters provided to `ListPoliciesRequest` must match the call that provided the page token. + */ + pageToken?: string; + } } diff --git a/src/apis/cloudkms/v1.ts b/src/apis/cloudkms/v1.ts index 93a2e3bb19..f811c2c2d7 100644 --- a/src/apis/cloudkms/v1.ts +++ b/src/apis/cloudkms/v1.ts @@ -1008,7 +1008,7 @@ export namespace cloudkms_v1 { */ mac?: string | null; /** - * Optional. An optional CRC32C checksum of the MacVerifyRequest.mac. If specified, KeyManagementService will verify the integrity of the received MacVerifyRequest.mac using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(MacVerifyRequest.tag) is equal to MacVerifyRequest.mac_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type. + * Optional. An optional CRC32C checksum of the MacVerifyRequest.mac. If specified, KeyManagementService will verify the integrity of the received MacVerifyRequest.mac using this checksum. KeyManagementService will report an error if the checksum verification fails. If you receive a checksum error, your client should verify that CRC32C(MacVerifyRequest.mac) is equal to MacVerifyRequest.mac_crc32c, and if so, perform a limited number of retries. A persistent mismatch may indicate an issue in your computation of the CRC32C checksum. Note: This field is defined as int64 for reasons of compatibility across different languages. However, it is a non-negative integer, which will never exceed 2^32-1, and can be safely downconverted to uint32 in languages that support this type. */ macCrc32c?: string | null; } diff --git a/src/apis/cloudscheduler/v1.ts b/src/apis/cloudscheduler/v1.ts index 79841652e6..e8ecd3f783 100644 --- a/src/apis/cloudscheduler/v1.ts +++ b/src/apis/cloudscheduler/v1.ts @@ -394,7 +394,7 @@ export namespace cloudscheduler_v1 { */ apiVersion?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. */ cancelRequested?: boolean | null; /** @@ -522,7 +522,7 @@ export namespace cloudscheduler_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -1866,7 +1866,7 @@ export namespace cloudscheduler_v1 { */ pageSize?: number; /** - * A token identifying a page of results the server will return. To request the first page results, page_token must be empty. To request the next page of results, page_token must be the value of next_page_token returned from the previous call to ListJobs. It is an error to switch the value of filter or order_by while iterating through pages. + * A token identifying a page of results the server will return. To request the first page results, page_token must be empty. To request the next page of results, page_token must be the value of next_page_token returned from the previous call to ListJobs. */ pageToken?: string; /** diff --git a/src/apis/cloudscheduler/v1beta1.ts b/src/apis/cloudscheduler/v1beta1.ts index ee2e35239d..564366eacf 100644 --- a/src/apis/cloudscheduler/v1beta1.ts +++ b/src/apis/cloudscheduler/v1beta1.ts @@ -354,7 +354,7 @@ export namespace cloudscheduler_v1beta1 { */ apiVersion?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. */ cancelRequested?: boolean | null; /** diff --git a/src/apis/cloudsearch/v1.ts b/src/apis/cloudsearch/v1.ts index 166fef229b..296727564d 100644 --- a/src/apis/cloudsearch/v1.ts +++ b/src/apis/cloudsearch/v1.ts @@ -3086,21 +3086,6 @@ export namespace cloudsearch_v1 { */ importance?: string | null; } - /** - * The rewritten queries returned by Apps Search Query Understanding service. - */ - export interface Schema$RewrittenQueries { - rewrittenQueries?: Schema$RewrittenQuery[]; - /** - * The index of the selected query in `rewritten_queries` that is used by QAPI to call CSSR to get search results. If none of the queries were used (i.e. they all give empty search results), `selected_query_index` would default to -1. - */ - selectedQueryIndex?: number | null; - } - export interface Schema$RewrittenQuery { - rewrittenQuery?: string | null; - score?: number | null; - sortBy?: string | null; - } /** * IMPORTANT: It is unsafe to accept this message from an untrusted source, since it's trivial for an attacker to forge serialized messages that don't fulfill the type's safety contract -- for example, it could contain attacker controlled script. A system which receives a SafeHtmlProto implicitly trusts the producer of the SafeHtmlProto. So, it's generally safe to return this message in RPC responses, but generally unsafe to accept it in RPC requests. */ @@ -3263,7 +3248,7 @@ export namespace cloudsearch_v1 { quality?: number | null; } /** - * The search API request. + * The search API request. NEXT ID: 17 */ export interface Schema$SearchRequest { /** @@ -3301,7 +3286,7 @@ export namespace cloudsearch_v1 { start?: number | null; } /** - * The search API response. + * The search API response. NEXT ID: 17 */ export interface Schema$SearchResponse { /** diff --git a/src/apis/cloudshell/v1.ts b/src/apis/cloudshell/v1.ts index 4aa9c7bdaf..ae6a5f172f 100644 --- a/src/apis/cloudshell/v1.ts +++ b/src/apis/cloudshell/v1.ts @@ -341,7 +341,7 @@ export namespace cloudshell_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/cloudsupport/v2.ts b/src/apis/cloudsupport/v2.ts index ac7253d0f0..26b4f030dd 100644 --- a/src/apis/cloudsupport/v2.ts +++ b/src/apis/cloudsupport/v2.ts @@ -1661,7 +1661,7 @@ export namespace cloudsupport_v2 { export interface Params$Resource$Cases$Attachments$List extends StandardParameters { /** - * The maximum number of attachments fetched with each request. If not provided, the default is 10. The maximum page size that will be returned is 100. + * The maximum number of attachments fetched with each request. If not provided, the default is 10. The maximum page size that will be returned is 100. The size of each page can be smaller than the requested page size and can include zero. For example, you could request 100 attachments on one page, receive 0, and then on the next page, receive 90. */ pageSize?: number; /** diff --git a/src/apis/cloudsupport/v2beta.ts b/src/apis/cloudsupport/v2beta.ts index 1a3a1c46ea..205dee94ed 100644 --- a/src/apis/cloudsupport/v2beta.ts +++ b/src/apis/cloudsupport/v2beta.ts @@ -1874,7 +1874,7 @@ export namespace cloudsupport_v2beta { export interface Params$Resource$Cases$Attachments$List extends StandardParameters { /** - * The maximum number of attachments fetched with each request. If not provided, the default is 10. The maximum page size that will be returned is 100. + * The maximum number of attachments fetched with each request. If not provided, the default is 10. The maximum page size that will be returned is 100. The size of each page can be smaller than the requested page size and can include zero. For example, you could request 100 attachments on one page, receive 0, and then on the next page, receive 90. */ pageSize?: number; /** diff --git a/src/apis/cloudtasks/v2.ts b/src/apis/cloudtasks/v2.ts index eb3d4085ad..b809558475 100644 --- a/src/apis/cloudtasks/v2.ts +++ b/src/apis/cloudtasks/v2.ts @@ -2712,7 +2712,7 @@ export namespace cloudtasks_v2 { } /** - * Forces a task to run now. When this method is called, Cloud Tasks will dispatch the task, even if the task is already running, the queue has reached its RateLimits or is PAUSED. This command is meant to be used for manual debugging. For example, RunTask can be used to retry a failed task after a fix has been made or to manually force a task to be dispatched now. The dispatched task is returned. That is, the task that is returned contains the status after the task is dispatched but before the task is received by its target. If Cloud Tasks receives a successful response from the task's target, then the task will be deleted; otherwise the task's schedule_time will be reset to the time that RunTask was called plus the retry delay specified in the queue's RetryConfig. RunTask returns NOT_FOUND when it is called on a task that has already succeeded or permanently failed. + * Forces a task to run now. When this method is called, Cloud Tasks will dispatch the task, even if the task is already running, the queue has reached its RateLimits or is PAUSED. This command is meant to be used for manual debugging. For example, RunTask can be used to retry a failed task after a fix has been made or to manually force a task to be dispatched now. If Cloud Tasks receives a successful response from the task's target, then the task will be deleted; otherwise the task's schedule_time will be reset to the time that RunTask was called plus the retry delay specified in the queue's RetryConfig. RunTask returns NOT_FOUND when it is called on a task that has already succeeded or permanently failed. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/cloudtasks/v2beta3.ts b/src/apis/cloudtasks/v2beta3.ts index 3c9627e475..103ad7c7d3 100644 --- a/src/apis/cloudtasks/v2beta3.ts +++ b/src/apis/cloudtasks/v2beta3.ts @@ -352,7 +352,7 @@ export namespace cloudtasks_v2beta3 { */ body?: string | null; /** - * HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Any header that is prefixed with "X-CloudTasks-" will be treated as service header. Service headers define properties of the task and are predefined in CloudTask. * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `"Google-Cloud-Tasks"`. * `X-Google-*`: Google use only. * `X-AppEngine-*`: Google use only. `Content-Type` won't be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `"application/octet-stream"` or `"application/json"`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB. + * HTTP request headers. This map contains the header field names and values. Headers can be set when the task is created. These headers represent a subset of the headers that will accompany the task's HTTP request. Some HTTP request headers will be ignored or replaced. A partial list of headers that will be ignored or replaced is: * Any header that is prefixed with "X-CloudTasks-" will be treated as service header. Service headers define properties of the task and are predefined in Cloud Tasks. * Host: This will be computed by Cloud Tasks and derived from HttpRequest.url. * Content-Length: This will be computed by Cloud Tasks. * User-Agent: This will be set to `"Google-Cloud-Tasks"`. * `X-Google-*`: Google use only. * `X-AppEngine-*`: Google use only. `Content-Type` won't be set by Cloud Tasks. You can explicitly set `Content-Type` to a media type when the task is created. For example, `Content-Type` can be set to `"application/octet-stream"` or `"application/json"`. Headers which can have multiple values (according to RFC2616) can be specified using comma-separated values. The size of the headers must be less than 80KB. */ headers?: {[key: string]: string} | null; /** @@ -381,7 +381,7 @@ export namespace cloudtasks_v2beta3 { */ headerOverrides?: Schema$HeaderOverride[]; /** - * The HTTP method to use for the request. When specified, it overrides HttpRequest for the task. Note that if the value is set to HttpMethod the HttpRequest of the task will be ignored at execution time. + * The HTTP method to use for the request. When specified, it overrides HttpRequest.http_method for the task. Note that if the value is set to HttpMethod.GET the HttpRequest.body of the task will be ignored at execution time. */ httpMethod?: string | null; /** diff --git a/src/apis/composer/v1.ts b/src/apis/composer/v1.ts index d265d97153..1d7372a143 100644 --- a/src/apis/composer/v1.ts +++ b/src/apis/composer/v1.ts @@ -330,7 +330,7 @@ export namespace composer_v1 { */ export interface Schema$Environment { /** - * Configuration parameters for this environment. + * Optional. Configuration parameters for this environment. */ config?: Schema$EnvironmentConfig; /** @@ -342,7 +342,7 @@ export namespace composer_v1 { */ labels?: {[key: string]: string} | null; /** - * The resource name of the environment, in the form: "projects/{projectId\}/locations/{locationId\}/environments/{environmentId\}" EnvironmentId must start with a lowercase letter followed by up to 63 lowercase letters, numbers, or hyphens, and cannot end with a hyphen. + * Identifier. The resource name of the environment, in the form: "projects/{projectId\}/locations/{locationId\}/environments/{environmentId\}" EnvironmentId must start with a lowercase letter followed by up to 63 lowercase letters, numbers, or hyphens, and cannot end with a hyphen. */ name?: string | null; /** @@ -415,7 +415,7 @@ export namespace composer_v1 { */ masterAuthorizedNetworksConfig?: Schema$MasterAuthorizedNetworksConfig; /** - * The configuration used for the Kubernetes Engine cluster. + * Optional. The configuration used for the Kubernetes Engine cluster. */ nodeConfig?: Schema$NodeConfig; /** @@ -423,7 +423,7 @@ export namespace composer_v1 { */ nodeCount?: number | null; /** - * The configuration used for the Private IP Cloud Composer environment. + * Optional. The configuration used for the Private IP Cloud Composer environment. */ privateEnvironmentConfig?: Schema$PrivateEnvironmentConfig; /** @@ -435,7 +435,7 @@ export namespace composer_v1 { */ resilienceMode?: string | null; /** - * The configuration settings for software inside the environment. + * Optional. The configuration settings for software inside the environment. */ softwareConfig?: Schema$SoftwareConfig; /** @@ -1029,7 +1029,7 @@ export namespace composer_v1 { */ envVariables?: {[key: string]: string} | null; /** - * The version of the software running in the environment. This encapsulates both the version of Cloud Composer functionality and the version of Apache Airflow. It must match the regular expression `composer-([0-9]+(\.[0-9]+\.[0-9]+(-preview\.[0-9]+)?)?|latest)-airflow-([0-9]+(\.[0-9]+(\.[0-9]+)?)?)`. When used as input, the server also checks if the provided version is supported and denies the request for an unsupported version. The Cloud Composer portion of the image version is a full [semantic version](https://semver.org), or an alias in the form of major version number or `latest`. When an alias is provided, the server replaces it with the current Cloud Composer version that satisfies the alias. The Apache Airflow portion of the image version is a full semantic version that points to one of the supported Apache Airflow versions, or an alias in the form of only major or major.minor versions specified. When an alias is provided, the server replaces it with the latest Apache Airflow version that satisfies the alias and is supported in the given Cloud Composer version. In all cases, the resolved image version is stored in the same field. See also [version list](/composer/docs/concepts/versioning/composer-versions) and [versioning overview](/composer/docs/concepts/versioning/composer-versioning-overview). + * Optional. The version of the software running in the environment. This encapsulates both the version of Cloud Composer functionality and the version of Apache Airflow. It must match the regular expression `composer-([0-9]+(\.[0-9]+\.[0-9]+(-preview\.[0-9]+)?)?|latest)-airflow-([0-9]+(\.[0-9]+(\.[0-9]+)?)?)`. When used as input, the server also checks if the provided version is supported and denies the request for an unsupported version. The Cloud Composer portion of the image version is a full [semantic version](https://semver.org), or an alias in the form of major version number or `latest`. When an alias is provided, the server replaces it with the current Cloud Composer version that satisfies the alias. The Apache Airflow portion of the image version is a full semantic version that points to one of the supported Apache Airflow versions, or an alias in the form of only major or major.minor versions specified. When an alias is provided, the server replaces it with the latest Apache Airflow version that satisfies the alias and is supported in the given Cloud Composer version. In all cases, the resolved image version is stored in the same field. See also [version list](/composer/docs/concepts/versioning/composer-versions) and [versioning overview](/composer/docs/concepts/versioning/composer-versioning-overview). */ imageVersion?: string | null; /** @@ -1140,7 +1140,7 @@ export namespace composer_v1 { */ export interface Schema$UserWorkloadsConfigMap { /** - * Optional. The "data" field of Kubernetes ConfigMap, organized in key-value pairs. For details see: https://kubernetes.io/docs/concepts/configuration/configmap/ + * Optional. The "data" field of Kubernetes ConfigMap, organized in key-value pairs. For details see: https://kubernetes.io/docs/concepts/configuration/configmap/ Example: { "example_key": "example_value", "another_key": "another_value" \} */ data?: {[key: string]: string} | null; /** @@ -1153,7 +1153,7 @@ export namespace composer_v1 { */ export interface Schema$UserWorkloadsSecret { /** - * Optional. The "data" field of Kubernetes Secret, organized in key-value pairs, which can contain sensitive values such as a password, a token, or a key. The values for all keys have to be base64-encoded strings. For details see: https://kubernetes.io/docs/concepts/configuration/secret/ + * Optional. The "data" field of Kubernetes Secret, organized in key-value pairs, which can contain sensitive values such as a password, a token, or a key. The values for all keys have to be base64-encoded strings. For details see: https://kubernetes.io/docs/concepts/configuration/secret/ Example: { "example": "ZXhhbXBsZV92YWx1ZQ==", "another-example": "YW5vdGhlcl9leGFtcGxlX3ZhbHVl" \} */ data?: {[key: string]: string} | null; /** @@ -3667,7 +3667,7 @@ export namespace composer_v1 { } /** - * Lists workloads in a Cloud Composer environment. Workload is a unit that runs a single Composer component. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer. + * Lists workloads in a Cloud Composer environment. Workload is a unit that runs a single Composer component. This method is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/composer/v1beta1.ts b/src/apis/composer/v1beta1.ts index 8690c9689b..ecf8019b7d 100644 --- a/src/apis/composer/v1beta1.ts +++ b/src/apis/composer/v1beta1.ts @@ -334,7 +334,7 @@ export namespace composer_v1beta1 { */ export interface Schema$Environment { /** - * Configuration parameters for this environment. + * Optional. Configuration parameters for this environment. */ config?: Schema$EnvironmentConfig; /** @@ -346,7 +346,7 @@ export namespace composer_v1beta1 { */ labels?: {[key: string]: string} | null; /** - * The resource name of the environment, in the form: "projects/{projectId\}/locations/{locationId\}/environments/{environmentId\}" EnvironmentId must start with a lowercase letter followed by up to 63 lowercase letters, numbers, or hyphens, and cannot end with a hyphen. + * Identifier. The resource name of the environment, in the form: "projects/{projectId\}/locations/{locationId\}/environments/{environmentId\}" EnvironmentId must start with a lowercase letter followed by up to 63 lowercase letters, numbers, or hyphens, and cannot end with a hyphen. */ name?: string | null; /** @@ -419,7 +419,7 @@ export namespace composer_v1beta1 { */ masterAuthorizedNetworksConfig?: Schema$MasterAuthorizedNetworksConfig; /** - * The configuration used for the Kubernetes Engine cluster. + * Optional. The configuration used for the Kubernetes Engine cluster. */ nodeConfig?: Schema$NodeConfig; /** @@ -427,7 +427,7 @@ export namespace composer_v1beta1 { */ nodeCount?: number | null; /** - * The configuration used for the Private IP Cloud Composer environment. + * Optional. The configuration used for the Private IP Cloud Composer environment. */ privateEnvironmentConfig?: Schema$PrivateEnvironmentConfig; /** @@ -439,7 +439,7 @@ export namespace composer_v1beta1 { */ resilienceMode?: string | null; /** - * The configuration settings for software inside the environment. + * Optional. The configuration settings for software inside the environment. */ softwareConfig?: Schema$SoftwareConfig; /** @@ -1041,7 +1041,7 @@ export namespace composer_v1beta1 { */ envVariables?: {[key: string]: string} | null; /** - * The version of the software running in the environment. This encapsulates both the version of Cloud Composer functionality and the version of Apache Airflow. It must match the regular expression `composer-([0-9]+(\.[0-9]+\.[0-9]+(-preview\.[0-9]+)?)?|latest)-airflow-([0-9]+(\.[0-9]+(\.[0-9]+)?)?)`. When used as input, the server also checks if the provided version is supported and denies the request for an unsupported version. The Cloud Composer portion of the image version is a full [semantic version](https://semver.org), or an alias in the form of major version number or `latest`. When an alias is provided, the server replaces it with the current Cloud Composer version that satisfies the alias. The Apache Airflow portion of the image version is a full semantic version that points to one of the supported Apache Airflow versions, or an alias in the form of only major or major.minor versions specified. When an alias is provided, the server replaces it with the latest Apache Airflow version that satisfies the alias and is supported in the given Cloud Composer version. In all cases, the resolved image version is stored in the same field. See also [version list](/composer/docs/concepts/versioning/composer-versions) and [versioning overview](/composer/docs/concepts/versioning/composer-versioning-overview). + * Optional. The version of the software running in the environment. This encapsulates both the version of Cloud Composer functionality and the version of Apache Airflow. It must match the regular expression `composer-([0-9]+(\.[0-9]+\.[0-9]+(-preview\.[0-9]+)?)?|latest)-airflow-([0-9]+(\.[0-9]+(\.[0-9]+)?)?)`. When used as input, the server also checks if the provided version is supported and denies the request for an unsupported version. The Cloud Composer portion of the image version is a full [semantic version](https://semver.org), or an alias in the form of major version number or `latest`. When an alias is provided, the server replaces it with the current Cloud Composer version that satisfies the alias. The Apache Airflow portion of the image version is a full semantic version that points to one of the supported Apache Airflow versions, or an alias in the form of only major or major.minor versions specified. When an alias is provided, the server replaces it with the latest Apache Airflow version that satisfies the alias and is supported in the given Cloud Composer version. In all cases, the resolved image version is stored in the same field. See also [version list](/composer/docs/concepts/versioning/composer-versions) and [versioning overview](/composer/docs/concepts/versioning/composer-versioning-overview). */ imageVersion?: string | null; /** @@ -1152,7 +1152,7 @@ export namespace composer_v1beta1 { */ export interface Schema$UserWorkloadsConfigMap { /** - * Optional. The "data" field of Kubernetes ConfigMap, organized in key-value pairs. For details see: https://kubernetes.io/docs/concepts/configuration/configmap/ + * Optional. The "data" field of Kubernetes ConfigMap, organized in key-value pairs. For details see: https://kubernetes.io/docs/concepts/configuration/configmap/ Example: { "example_key": "example_value", "another_key": "another_value" \} */ data?: {[key: string]: string} | null; /** @@ -1165,7 +1165,7 @@ export namespace composer_v1beta1 { */ export interface Schema$UserWorkloadsSecret { /** - * Optional. The "data" field of Kubernetes Secret, organized in key-value pairs, which can contain sensitive values such as a password, a token, or a key. The values for all keys have to be base64-encoded strings. For details see: https://kubernetes.io/docs/concepts/configuration/secret/ + * Optional. The "data" field of Kubernetes Secret, organized in key-value pairs, which can contain sensitive values such as a password, a token, or a key. The values for all keys have to be base64-encoded strings. For details see: https://kubernetes.io/docs/concepts/configuration/secret/ Example: { "example": "ZXhhbXBsZV92YWx1ZQ==", "another-example": "YW5vdGhlcl9leGFtcGxlX3ZhbHVl" \} */ data?: {[key: string]: string} | null; /** @@ -3775,7 +3775,7 @@ export namespace composer_v1beta1 { } /** - * Lists workloads in a Cloud Composer environment. Workload is a unit that runs a single Composer component. This method is supported for Cloud Composer environments in versions composer-3.*.*-airflow-*.*.* and newer. + * Lists workloads in a Cloud Composer environment. Workload is a unit that runs a single Composer component. This method is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/compute/alpha.ts b/src/apis/compute/alpha.ts index b157882a33..6c0b84fed4 100644 --- a/src/apis/compute/alpha.ts +++ b/src/apis/compute/alpha.ts @@ -118,9 +118,11 @@ export namespace compute_alpha { context: APIRequestContext; acceleratorTypes: Resource$Acceleratortypes; addresses: Resource$Addresses; + advice: Resource$Advice; autoscalers: Resource$Autoscalers; backendBuckets: Resource$Backendbuckets; backendServices: Resource$Backendservices; + crossSiteNetworks: Resource$Crosssitenetworks; disks: Resource$Disks; diskSettings: Resource$Disksettings; diskTypes: Resource$Disktypes; @@ -148,7 +150,9 @@ export namespace compute_alpha { instanceTemplates: Resource$Instancetemplates; instantSnapshotGroups: Resource$Instantsnapshotgroups; instantSnapshots: Resource$Instantsnapshots; + interconnectAttachmentGroups: Resource$Interconnectattachmentgroups; interconnectAttachments: Resource$Interconnectattachments; + interconnectGroups: Resource$Interconnectgroups; interconnectLocations: Resource$Interconnectlocations; interconnectRemoteLocations: Resource$Interconnectremotelocations; interconnects: Resource$Interconnects; @@ -185,6 +189,7 @@ export namespace compute_alpha { regionInstanceTemplates: Resource$Regioninstancetemplates; regionInstantSnapshotGroups: Resource$Regioninstantsnapshotgroups; regionInstantSnapshots: Resource$Regioninstantsnapshots; + regionMultiMigs: Resource$Regionmultimigs; regionNetworkEndpointGroups: Resource$Regionnetworkendpointgroups; regionNetworkFirewallPolicies: Resource$Regionnetworkfirewallpolicies; regionNotificationEndpoints: Resource$Regionnotificationendpoints; @@ -225,6 +230,7 @@ export namespace compute_alpha { urlMaps: Resource$Urlmaps; vpnGateways: Resource$Vpngateways; vpnTunnels: Resource$Vpntunnels; + wireGroups: Resource$Wiregroups; zoneOperations: Resource$Zoneoperations; zoneQueuedResources: Resource$Zonequeuedresources; zones: Resource$Zones; @@ -237,9 +243,11 @@ export namespace compute_alpha { this.acceleratorTypes = new Resource$Acceleratortypes(this.context); this.addresses = new Resource$Addresses(this.context); + this.advice = new Resource$Advice(this.context); this.autoscalers = new Resource$Autoscalers(this.context); this.backendBuckets = new Resource$Backendbuckets(this.context); this.backendServices = new Resource$Backendservices(this.context); + this.crossSiteNetworks = new Resource$Crosssitenetworks(this.context); this.disks = new Resource$Disks(this.context); this.diskSettings = new Resource$Disksettings(this.context); this.diskTypes = new Resource$Disktypes(this.context); @@ -277,9 +285,12 @@ export namespace compute_alpha { this.context ); this.instantSnapshots = new Resource$Instantsnapshots(this.context); + this.interconnectAttachmentGroups = + new Resource$Interconnectattachmentgroups(this.context); this.interconnectAttachments = new Resource$Interconnectattachments( this.context ); + this.interconnectGroups = new Resource$Interconnectgroups(this.context); this.interconnectLocations = new Resource$Interconnectlocations( this.context ); @@ -342,6 +353,7 @@ export namespace compute_alpha { this.regionInstantSnapshots = new Resource$Regioninstantsnapshots( this.context ); + this.regionMultiMigs = new Resource$Regionmultimigs(this.context); this.regionNetworkEndpointGroups = new Resource$Regionnetworkendpointgroups(this.context); this.regionNetworkFirewallPolicies = @@ -397,6 +409,7 @@ export namespace compute_alpha { this.urlMaps = new Resource$Urlmaps(this.context); this.vpnGateways = new Resource$Vpngateways(this.context); this.vpnTunnels = new Resource$Vpntunnels(this.context); + this.wireGroups = new Resource$Wiregroups(this.context); this.zoneOperations = new Resource$Zoneoperations(this.context); this.zoneQueuedResources = new Resource$Zonequeuedresources(this.context); this.zones = new Resource$Zones(this.context); @@ -579,7 +592,7 @@ export namespace compute_alpha { */ publicPtrDomainName?: string | null; /** - * [Output Only] The resource URL for the security policy associated with this access config. + * The resource URL for the security policy associated with this access config. */ securityPolicy?: string | null; /** @@ -863,9 +876,13 @@ export namespace compute_alpha { */ export interface Schema$AllocationResourceStatus { /** - * Indicates number of blocks for accelerator optimized family (applicable beyond A3 only). + * The number of reservation blocks associated with this reservation. */ reservationBlockCount?: number | null; + /** + * Maintenance information for this reservation + */ + reservationMaintenance?: Schema$GroupMaintenanceInfo; /** * Allocation Properties of this reservation. */ @@ -952,6 +969,10 @@ export namespace compute_alpha { */ sourceInstanceTemplate?: string | null; } + export interface Schema$AsyncReplicationStatus { + diskPairReplicationState?: Schema$DiskPairReplicationState; + lastReplicationDetails?: Schema$ReplicationDetails; + } /** * An instance-attached disk resource. */ @@ -1126,7 +1147,7 @@ export namespace compute_alpha { */ sourceInstantSnapshot?: string | null; /** - * The source snapshot to create this disk. When creating a new instance boot disk, one of initializeParams.sourceSnapshot or initializeParams.sourceImage or disks.source is required. To create a disk with a snapshot that you created, specify the snapshot name in the following format: global/snapshots/my-backup If the source snapshot is deleted later, this field will not be set. + * The source snapshot to create this disk. When creating a new instance boot disk, one of initializeParams.sourceSnapshot or initializeParams.sourceImage or disks.source is required. To create a disk with a snapshot that you created, specify the snapshot name in the following format: global/snapshots/my-backup If the source snapshot is deleted later, this field will not be set. Note: You cannot create VMs in bulk using a snapshot as the source. Use an image instead when you create VMs using the bulk insert method. */ sourceSnapshot?: string | null; /** @@ -1139,17 +1160,13 @@ export namespace compute_alpha { storagePool?: string | null; } /** - * Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] \}, { "log_type": "DATA_WRITE" \}, { "log_type": "ADMIN_READ" \} ] \}, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" \}, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] \} ] \} ] \} For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging. + * Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] \}, { "log_type": "DATA_WRITE" \}, { "log_type": "ADMIN_READ" \} ] \}, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" \}, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] \} ] \} ] \} For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. */ export interface Schema$AuditConfig { /** * The configuration for logging of each type of permission. */ auditLogConfigs?: Schema$AuditLogConfig[]; - /** - * This is deprecated and has no effect. Do not use. - */ - exemptedMembers?: string[] | null; /** * Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. */ @@ -1163,10 +1180,6 @@ export namespace compute_alpha { * Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. */ exemptedMembers?: string[] | null; - /** - * This is deprecated and has no effect. Do not use. - */ - ignoreChildExemptions?: boolean | null; /** * The log type that this config enables. */ @@ -1663,7 +1676,7 @@ export namespace compute_alpha { */ cacheKeyPolicy?: Schema$BackendBucketCdnPolicyCacheKeyPolicy; /** - * Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any "private", "no-store" or "no-cache" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. + * Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any "private", "no-store" or "no-cache" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. If no value is provided for cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC. */ cacheMode?: string | null; /** @@ -1820,7 +1833,7 @@ export namespace compute_alpha { */ maxUtilization?: number | null; /** - * Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED. + * Name of a custom utilization signal. The name must be 1-24 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED. */ name?: string | null; } @@ -2078,7 +2091,7 @@ export namespace compute_alpha { */ cacheKeyPolicy?: Schema$CacheKeyPolicy; /** - * Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any "private", "no-store" or "no-cache" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. + * Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any "private", "no-store" or "no-cache" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. If no value is provided for cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC. */ cacheMode?: string | null; /** @@ -2170,7 +2183,7 @@ export namespace compute_alpha { */ dryRun?: boolean | null; /** - * Name of a custom utilization signal. The name must be 1-64 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED. + * Name of a custom utilization signal. The name must be 1-24 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED. */ name?: string | null; } @@ -2426,6 +2439,12 @@ export namespace compute_alpha { export interface Schema$BackendServiceReference { backendService?: string | null; } + export interface Schema$BackendServicesGetEffectiveSecurityPoliciesResponse { + /** + * Effective security policies for the backend service. + */ + securityPolicies?: Schema$SecurityPolicy[]; + } export interface Schema$BackendServicesScopedList { /** * A list of BackendServices contained in this scope. @@ -2667,10 +2686,6 @@ export namespace compute_alpha { * Associates `members`, or principals, with a `role`. */ export interface Schema$Binding { - /** - * This is deprecated and has no effect. Do not use. - */ - bindingId?: string | null; /** * The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). */ @@ -2774,6 +2789,10 @@ export namespace compute_alpha { partitionCount?: number | null; } export interface Schema$CacheInvalidationRule { + /** + * Not implemented. + */ + cacheTags?: string[] | null; /** * If set, this invalidation rule will only apply to requests with a Host header matching host. */ @@ -2813,6 +2832,35 @@ export namespace compute_alpha { */ queryStringWhitelist?: string[] | null; } + /** + * A request to recommend the best way to consume the specified resources in the future. + */ + export interface Schema$CalendarModeAdviceRequest { + /** + * Specification of resources to create in the future. The key of the map is an arbitrary string specified by the caller. Value of the map is a specification of required resources and their constraints. Currently only one value is allowed in this map. + */ + futureResourcesSpecs?: {[key: string]: Schema$FutureResourcesSpec} | null; + } + /** + * A response containing the recommended way of creating the specified resources in the future. It contains (will contain) multiple recommendations that can be analyzed by the customer and the best one can be picked. + */ + export interface Schema$CalendarModeAdviceResponse { + /** + * Recommendations where, how and when to create the requested resources in order to maximize their obtainability and minimize cost. + */ + recommendations?: Schema$CalendarModeRecommendation[]; + } + /** + * A single recommendation to create requested resources. Contains detailed recommendations for every future resources specification specified in CalendarModeAdviceRequest. + */ + export interface Schema$CalendarModeRecommendation { + /** + * Recommendations for every future resource specification passed in CalendarModeAdviceRequest. Keys of the map correspond to keys specified in the request. + */ + recommendationsPerSpec?: { + [key: string]: Schema$FutureResourcesRecommendation; + } | null; + } /** * [Deprecated] gRPC call credentials to access the SDS server. gRPC call credentials to access the SDS server. */ @@ -3106,31 +3154,6 @@ export namespace compute_alpha { message?: string; } | null; } - /** - * This is deprecated and has no effect. Do not use. - */ - export interface Schema$Condition { - /** - * This is deprecated and has no effect. Do not use. - */ - iam?: string | null; - /** - * This is deprecated and has no effect. Do not use. - */ - op?: string | null; - /** - * This is deprecated and has no effect. Do not use. - */ - svc?: string | null; - /** - * This is deprecated and has no effect. Do not use. - */ - sys?: string | null; - /** - * This is deprecated and has no effect. Do not use. - */ - values?: string[] | null; - } /** * A set of Confidential Instance options. */ @@ -3224,6 +3247,77 @@ export namespace compute_alpha { */ maxAge?: number | null; } + /** + * A resource that represents a cross-site network. You can use cross-site networks to connect your on-premises networks to each other through Interconnect connections. + */ + export interface Schema$CrossSiteNetwork { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string | null; + /** + * An optional description of the cross-site network. + */ + description?: string | null; + /** + * [Output Only] The unique identifier for the resource type. The server generates this identifier. + */ + id?: string | null; + /** + * [Output Only] Type of the resource. Always compute#crossSiteNetwork for cross-site networks. + */ + kind?: string | null; + /** + * Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + */ + name?: string | null; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string | null; + /** + * [Output Only] Server-defined URL for this resource with the resource id. + */ + selfLinkWithId?: string | null; + } + /** + * Response to the list request that contains a list of cross-site networks. + */ + export interface Schema$CrossSiteNetworkList { + etag?: string | null; + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string | null; + /** + * A list of CrossSiteNetwork resources. + */ + items?: Schema$CrossSiteNetwork[]; + /** + * [Output Only] Type of the resource. Always compute#crossSiteNetwork for cross-site networks. + */ + kind?: string | null; + /** + * [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. + */ + nextPageToken?: string | null; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string | null; + /** + * [Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder + */ + unreachables?: string[] | null; + /** + * [Output Only] Informational warning message. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } export interface Schema$CustomerEncryptionKey { /** * The name of the encryption key that is stored in Google Cloud KMS. For example: "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ key_region/cryptoKeys/key The fully-qualifed key name may be returned for resource GET requests. For example: "kmsKeyName": "projects/kms_project_id/locations/region/keyRings/ key_region/cryptoKeys/key /cryptoKeyVersions/1 @@ -3669,6 +3763,13 @@ export namespace compute_alpha { */ targetDisk?: string | null; } + export interface Schema$DiskPairReplicationState { + /** + * [Output Only] The status of disk creation. - ASYNC_REPLICATION_STATE_INITIALIZING: The device is doing the initial replication after starting the replication. - ASYNC_REPLICATION_STATE_REPLICATING_HEALTHY: The primary disk is healthily replicating to the secondary device i.e. last_replication_time is within RPO. - ASYNC_REPLICATION_STATE_REPLICATING_BEHIND_HIGH_CHURN: The replication is lagging above the SLO limit due to some internal issue. - ASYNC_REPLICATION_STATE_REPLICATING_BEHIND_SYSTEM_LAGGING: The replication is lagging, and the RPO is not being met due to some internal issue. - ASYNC_REPLICATION_STATE_REPLICATION_STUCK: The replication is completely stuck due to some internal error. - ASYNC_REPLICATION_STATE_STOPPING: The replication is under the process of being stopped. This is a transient state. - ASYNC_REPLICATION_STATE_STOPPED: The replication between the disk-pairs have stopped. + */ + dataReplicationState?: string | null; + replicationDiskPair?: Schema$ReplicationDiskPair; + } /** * Additional disk params. */ @@ -3967,7 +4068,7 @@ export namespace compute_alpha { */ domain?: string | null; /** - * Additional structured details about this error. Keys must match /a-z+/ but should ideally be lowerCamelCase. Also they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than {"instanceLimit": "100/request"\}, should be returned as, {"instanceLimitPerRequest": "100"\}, if the client exceeds the number of instances that can be created in a single (batch) request. + * Additional structured details about this error. Keys must match a regular expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{"instanceLimit": "100/request"\}`, should be returned as, `{"instanceLimitPerRequest": "100"\}`, if the client exceeds the number of instances that can be created in a single (batch) request. */ metadatas?: {[key: string]: string} | null; /** @@ -4299,6 +4400,20 @@ export namespace compute_alpha { */ kind?: string | null; } + export interface Schema$FirewallPoliciesScopedList { + /** + * A list of firewall policies contained in this scope. + */ + firewallPolicies?: Schema$FirewallPolicy[]; + /** + * Informational warning which replaces the list of firewall policies when the list is empty. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } /** * Represents a Firewall Policy resource. */ @@ -4591,6 +4706,17 @@ export namespace compute_alpha { */ percent?: number | null; } + /** + * A flexible specification of a time range that has 3 points of flexibility: (1) a flexible start time, (2) a flexible end time, (3) a flexible duration. It is possible to specify a contradictory time range that cannot be matched by any Interval. This causes a validation error. + */ + export interface Schema$FlexibleTimeRange { + endTimeNotEarlierThan?: string | null; + endTimeNotLaterThan?: string | null; + maxDuration?: string | null; + minDuration?: string | null; + startTimeNotEarlierThan?: string | null; + startTimeNotLaterThan?: string | null; + } /** * Represents a Forwarding Rule resource. Forwarding rule resources in Google Cloud can be either regional or global in scope: * [Global](https://cloud.google.com/compute/docs/reference/rest/alpha/globalForwardingRules) * [Regional](https://cloud.google.com/compute/docs/reference/rest/alpha/forwardingRules) A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud load balancer. Forwarding rules can also reference target instances and Cloud VPN Classic gateways (targetVpnGateway). For more information, read Forwarding rule concepts and Using protocol forwarding. */ @@ -4851,6 +4977,10 @@ export namespace compute_alpha { } | null; } export interface Schema$FutureReservation { + /** + * Aggregate reservation details for the future reservation. + */ + aggregateReservation?: Schema$AllocationAggregateReservation; /** * Future timestamp when the FR auto-created reservations will be deleted by Compute Engine. Format of this field must be a valid href="https://www.ietf.org/rfc/rfc3339.txt"\>RFC3339 value. */ @@ -4879,18 +5009,10 @@ export namespace compute_alpha { * An optional description of this resource. Provide this property when you create the future reservation. */ description?: string | null; - /** - * Indicates if this group of VMs have opportunistic maintenance enabled. This will be set on the FR by customers, and will be used for reservation and reservation block maintenance . - */ - enableOpportunisticMaintenance?: boolean | null; /** * [Output Only] A unique identifier for this future reservation. The server defines this identifier. */ id?: string | null; - /** - * Action to take during reservation termination. - */ - instanceTerminationAction?: string | null; /** * [Output Only] Type of the resource. Always compute#futureReservation for future reservations. */ @@ -4907,12 +5029,16 @@ export namespace compute_alpha { * Planning state before being submitted for evaluation */ planningStatus?: string | null; + /** + * The reservation mode which determines reservation-termination behavior and expected pricing. + */ + reservationMode?: string | null; /** * Name of reservations where the capacity is provisioned at the time of delivery of future reservations. If the reservation with the given name does not exist already, it is created automatically at the time of Approval with INACTIVE state till specified start-time. Either provide the reservation_name or a name_prefix. */ reservationName?: string | null; /** - * Indicates the maintenance type for this group of VMs. This will be set on the reservation via FR, and will be inherited for reservation blocks. + * Maintenance information for this reservation */ schedulingType?: string | null; /** @@ -4928,7 +5054,7 @@ export namespace compute_alpha { */ shareSettings?: Schema$ShareSettings; /** - * Indicates whether the auto-created reservation can be consumed by VMs with affinity for "any" reservation. If the field is set, then only VMs that target the reservation by name can consume from the delivered reservation. If set to true,the delivered resevervation will have the same name as the future reservation. + * Indicates whether the auto-created reservation can be consumed by VMs with affinity for "any" reservation. If the field is set, then only VMs that target the reservation by name can consume from the delivered reservation. */ specificReservationRequired?: boolean | null; /** @@ -4950,7 +5076,7 @@ export namespace compute_alpha { } export interface Schema$FutureReservationCommitmentInfo { /** - * name of the commitment where capacity is being delivered to. In the form of "projects/{project-id\}/locations/{region-name\}/commitment/{name\}" + * name of the commitment where capacity is being delivered to. */ commitmentName?: string | null; /** @@ -5170,6 +5296,137 @@ export namespace compute_alpha { */ startTime?: string | null; } + /** + * Recommendation for single resources specification, to be created in the future. + */ + export interface Schema$FutureResourcesRecommendation { + endTime?: string | null; + /** + * The advised location for resource usage. When a zone, in format 'zones/'. If not set, it means that no location is recommended - see other_locations for details. + */ + location?: string | null; + /** + * List of locations in the request scope that were not recommended. Keys of the map are zones, in format 'zones/'. The values are status information indicating the recommendation status. + */ + otherLocations?: { + [key: string]: Schema$FutureResourcesRecommendationOtherLocation; + } | null; + /** + * Unique id of the recommendation, a UUID string generated by the API. + */ + recommendationId?: string | null; + /** + * Type of recommendation. Currently only FUTURE_RESERVATION is supported. + */ + recommendationType?: string | null; + startTime?: string | null; + } + /** + * Information about recommendation status for locations that were allowed but not used by the response. + */ + export interface Schema$FutureResourcesRecommendationOtherLocation { + /** + * Details (human readable) describing the situation. For example, if status is CONDITION_NOT_MET, then details contain information about the parameters of the time window that did not meet the required conditions. + */ + details?: string | null; + /** + * Status of recommendation in this location. + */ + status?: string | null; + } + /** + * Specification of resources to be created at some time in the future within an optionally specified set of locations, and within the specified time range. + */ + export interface Schema$FutureResourcesSpec { + /** + * Indicates if the reservation allocation strategy is static (DENSE) or dynamic (STANDARD). Defaults to DENSE. + */ + deploymentType?: string | null; + /** + * Optional location policy allowing to exclude some zone(s) in which the resources must not be created. + */ + locationPolicy?: Schema$FutureResourcesSpecLocationPolicy; + /** + * Specification of the reserved resources. + */ + targetResources?: Schema$FutureResourcesSpecTargetResources; + /** + * Specification of a time range in which the resources may be created. The time range specifies start of resource use and planned end of resource use. + */ + timeRangeSpec?: Schema$FlexibleTimeRange; + } + export interface Schema$FutureResourcesSpecAggregateResources { + /** + * Size of the request, in accelerator (chip) count. + */ + acceleratorCount?: string | null; + /** + * The VM family that all instances scheduled against this reservation must belong to. Use for TPU reservations. + */ + vmFamily?: string | null; + /** + * Workload type. Use for TPU reservations. + */ + workloadType?: string | null; + } + export interface Schema$FutureResourcesSpecLocalSsdPartition { + /** + * Disk interface. Defaults to SCSI. + */ + diskInterface?: string | null; + /** + * The size of the disk in GB. + */ + diskSizeGb?: string | null; + } + /** + * Specification of locations to create resources in. + */ + export interface Schema$FutureResourcesSpecLocationPolicy { + /** + * Preferences for specified locations. Keys of the map are locations - zones, in format of 'zones/'. Values are preferences for the zones. If a zone is not specified in this map, it is ALLOWed. + */ + locations?: { + [key: string]: Schema$FutureResourcesSpecLocationPolicyLocation; + } | null; + } + /** + * Preference for a single specified location. + */ + export interface Schema$FutureResourcesSpecLocationPolicyLocation { + /** + * Preference for this location. + */ + preference?: string | null; + } + export interface Schema$FutureResourcesSpecSpecificSKUResources { + /** + * Size of the request, in instance count. + */ + instanceCount?: string | null; + /** + * Local SSD partitions. You do not have to include SSD partitions that are built in the machine type. + */ + localSsdPartitions?: Schema$FutureResourcesSpecLocalSsdPartition[]; + /** + * The machine type to use for instances that will use the reservation. This field only accepts machine type names. e.g. n2-standard-4 and does not accept machine type full or partial url. e.g. projects/my-l7ilb-project/zones/us-central1-a/machineTypes/n2-standard-4. Use for GPU reservations. + */ + machineType?: string | null; + } + /** + * Specification of reserved resources. + */ + export interface Schema$FutureResourcesSpecTargetResources { + aggregateResources?: Schema$FutureResourcesSpecAggregateResources; + specificSkuResources?: Schema$FutureResourcesSpecSpecificSKUResources; + } + export interface Schema$GetAsyncReplicationStatusResponse { + asyncReplicationStatus?: Schema$AsyncReplicationStatus; + /** + * end_interface: MixerGetResponseWithEtagBuilder + */ + etag?: string | null; + } export interface Schema$GetOwnerInstanceResponse { /** * Full instance resource URL. @@ -5236,6 +5493,27 @@ export namespace compute_alpha { */ policy?: Schema$Policy; } + /** + * Maintenance Info for ReservationBlocks. + */ + export interface Schema$GroupMaintenanceInfo { + /** + * Progress for ongoing maintenance for this group of VMs/hosts. Describes number of hosts in the block that have ongoing maintenance. + */ + maintenanceOngoingCount?: number | null; + /** + * Progress for ongoing maintenance for this group of VMs/hosts. Describes number of hosts in the block that have pending maintenance. + */ + maintenancePendingCount?: number | null; + /** + * The type of maintenance for the reservation. + */ + schedulingType?: string | null; + /** + * Maintenance information on this group of VMs. + */ + upcomingGroupMaintenance?: Schema$UpcomingMaintenance; + } export interface Schema$GRPCHealthCheck { /** * The gRPC service name for the health check. This field is optional. The value of grpc_service_name has the following meanings by convention: - Empty service_name means the overall status of all services at the backend. - Non-empty service_name means the health of that gRPC service, as defined by the owner of the service. The grpc_service_name can only be ASCII. @@ -6192,15 +6470,15 @@ export namespace compute_alpha { */ priority?: number | null; /** - * In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a route rule's routeAction. + * In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a route rule's routeAction. */ routeAction?: Schema$HttpRouteAction; /** - * The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. + * The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. */ service?: string | null; /** - * When this rule is matched, the request is redirected to a URL specified by urlRedirect. If urlRedirect is specified, service or routeAction must not be set. Not supported when the URL map is bound to a target gRPC proxy. + * When this rule is matched, the request is redirected to a URL specified by urlRedirect. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy. */ urlRedirect?: Schema$HttpRedirectAction; } @@ -7076,7 +7354,7 @@ export namespace compute_alpha { */ name?: string | null; /** - * Named ports configured for the Instance Groups complementary to this Instance Group Manager. + * [Output Only] Named ports configured on the Instance Groups complementary to this Instance Group Manager. */ namedPorts?: Schema$NamedPort[]; /** @@ -7330,7 +7608,7 @@ export namespace compute_alpha { } export interface Schema$InstanceGroupManagerInstanceLifecyclePolicy { /** - * The action that a MIG performs on a failed or an unhealthy VM. A VM is marked as unhealthy when the application running on that VM fails a health check. Valid values are - REPAIR (default): MIG automatically repairs a failed or an unhealthy VM by recreating it. For more information, see About repairing VMs in a MIG. - DO_NOTHING: MIG does not repair a failed or an unhealthy VM. + * The action that a MIG performs on a failed VM. If the value of the onFailedHealthCheck field is `DEFAULT_ACTION`, then the same action also applies to the VMs on which your application fails a health check. Valid values are - REPAIR (default): MIG automatically repairs a failed VM by recreating it. For more information, see about repairing VMs in a MIG. - DO_NOTHING: MIG does not repair a failed VM. */ defaultActionOnFailure?: string | null; /** @@ -7342,7 +7620,7 @@ export namespace compute_alpha { */ metadataBasedReadinessSignal?: Schema$InstanceGroupManagerInstanceLifecyclePolicyMetadataBasedReadinessSignal; /** - * The action that a MIG performs on an unhealthy VM. A VM is marked as unhealthy when the application running on that VM fails a health check. Valid values are: - DEFAULT_ACTION (default): The MIG performs the same action as specified in the instanceLifecyclePolicy.defaultActionOnFailure field. If the defaultActionOnFailure field is set to REPAIR, then the MIG repairs unhealthy VMs. If the defaultActionOnFailure field is set to DO_NOTHING, then the MIG doesn't repair unhealthy VMs. - REPAIR: The MIG repairs unhealthy VMs by recreating it. - DO_NOTHING: The MIG doesn't repair unhealthy VMs. For more information, see About repairing VMs in a MIG. + * The action that a MIG performs on an unhealthy VM. A VM is marked as unhealthy when the application running on that VM fails a health check. Valid values are: - DEFAULT_ACTION (default): MIG uses the same action configured for instanceLifecyclePolicy.defaultActionOnFailure field. - REPAIR: MIG automatically repairs an unhealthy VM by recreating it. - DO_NOTHING: MIG doesn't repair an unhealthy VM. For more information, see about repairing VMs in a MIG. */ onFailedHealthCheck?: string | null; } @@ -7414,6 +7692,10 @@ export namespace compute_alpha { * [Output Only] A unique identifier for this resource type. The server generates this identifier. */ id?: string | null; + /** + * The list of specifications of per-instance configs to be created. This field cannot be used together with 'resize_by'. + */ + instances?: Schema$PerInstanceConfig[]; /** * [Output Only] The resource type, which is always compute#instanceGroupManagerResizeRequest for resize requests. */ @@ -8281,7 +8563,7 @@ export namespace compute_alpha { } export interface Schema$InstancesGetEffectiveFirewallsResponse { /** - * Effective firewalls from firewall policies. + * [Output Only] Effective firewalls from firewall policies. */ firewallPolicys?: Schema$InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy[]; /** @@ -8302,12 +8584,16 @@ export namespace compute_alpha { * [Output Only] The name of the firewall policy. */ name?: string | null; + /** + * [Output Only] The packet mirroring rules that apply to the instance. + */ + packetMirroringRules?: Schema$FirewallPolicyRule[]; /** * [Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY. */ priority?: number | null; /** - * The rules that apply to the network. + * [Output Only] The rules that apply to the instance. Only rules that target the specific VM instance are returned if target service accounts or target secure tags are specified in the rules. */ rules?: Schema$FirewallPolicyRule[]; /** @@ -8339,6 +8625,10 @@ export namespace compute_alpha { resourcePolicies?: string[] | null; } export interface Schema$InstancesReportHostAsFaultyRequest { + /** + * The action hint to report the host as faulty. + */ + actionHint?: string | null; faultReasons?: Schema$InstancesReportHostAsFaultyRequestFaultReason[]; } export interface Schema$InstancesReportHostAsFaultyRequestFaultReason { @@ -8836,7 +9126,7 @@ export namespace compute_alpha { */ export interface Schema$Interconnect { /** - * Enable or disable the Application Aware Interconnect(AAI) feature on this interconnect. + * Enable or disable the application awareness feature on this Cloud Interconnect. */ aaiEnabled?: boolean | null; /** @@ -8844,7 +9134,7 @@ export namespace compute_alpha { */ adminEnabled?: boolean | null; /** - * Configuration for enabling Application Aware Interconnect (AAI) on this Cloud Interconnect connection between Google and your on-premises router. + * Configuration information for application awareness on this Cloud Interconnect. */ applicationAwareInterconnect?: Schema$InterconnectApplicationAwareInterconnect; /** @@ -8887,6 +9177,10 @@ export namespace compute_alpha { * [Output Only] A list of the URLs of all InterconnectAttachments configured to use this Interconnect. */ interconnectAttachments?: string[] | null; + /** + * [Output Only] URLs of InterconnectGroups that include this Interconnect. Order is arbitrary and items are unique. + */ + interconnectGroups?: string[] | null; /** * Type of interconnect, which can take one of the following values: - PARTNER: A partner-managed interconnection shared between customers though a partner. - DEDICATED: A dedicated physical interconnection with the customer. Note that a value IT_PRIVATE has been deprecated in favor of DEDICATED. */ @@ -8967,14 +9261,18 @@ export namespace compute_alpha { * [Output Only] The current state of Interconnect functionality, which can take one of the following values: - ACTIVE: The Interconnect is valid, turned up and ready to use. Attachments may be provisioned on this Interconnect. - UNPROVISIONED: The Interconnect has not completed turnup. No attachments may be provisioned on this Interconnect. - UNDER_MAINTENANCE: The Interconnect is undergoing internal maintenance. No attachments may be provisioned or updated on this Interconnect. */ state?: string | null; + /** + * [Output Only] A list of the URLs of all CrossSiteNetwork WireGroups configured to use this Interconnect. The Interconnect cannot be deleted if this list is non-empty. + */ + wireGroups?: string[] | null; } /** - * Configuration information for enabling Application Aware Interconnect (AAI) on this Cloud Interconnect connection between Google and your on-premises router. + * Configuration information for application awareness on this Cloud Interconnect. */ export interface Schema$InterconnectApplicationAwareInterconnect { bandwidthPercentagePolicy?: Schema$InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy; /** - * A description for the AAI profile on this interconnect. + * Description for the application awareness profile on this Cloud Interconnect. */ profileDescription?: string | null; /** @@ -9015,15 +9313,35 @@ export namespace compute_alpha { */ adminEnabled?: boolean | null; /** - * Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s + * [Output Only] URL of the AttachmentGroup that includes this Attachment. + */ + attachmentGroup?: string | null; + /** + * Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s - BPS_100G: 100 Gbit/s */ bandwidth?: string | null; + /** + * Single IPv4 address + prefix length to be configured on the cloud router interface for this interconnect attachment. - Both candidate_cloud_router_ip_address and candidate_customer_router_ip_address fields must be set or both must be unset. - Prefix length of both candidate_cloud_router_ip_address and candidate_customer_router_ip_address must be the same. - Max prefix length is 31. + */ + candidateCloudRouterIpAddress?: string | null; + /** + * Single IPv6 address + prefix length to be configured on the cloud router interface for this interconnect attachment. - Both candidate_cloud_router_ipv6_address and candidate_customer_router_ipv6_address fields must be set or both must be unset. - Prefix length of both candidate_cloud_router_ipv6_address and candidate_customer_router_ipv6_address must be the same. - Max prefix length is 126. + */ + candidateCloudRouterIpv6Address?: string | null; + /** + * Single IPv4 address + prefix length to be configured on the customer router interface for this interconnect attachment. + */ + candidateCustomerRouterIpAddress?: string | null; + /** + * Single IPv6 address + prefix length to be configured on the customer router interface for this interconnect attachment. + */ + candidateCustomerRouterIpv6Address?: string | null; /** * This field is not available. */ candidateIpv6Subnets?: string[] | null; /** - * Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space. + * Input only. Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space. */ candidateSubnets?: string[] | null; /** @@ -9067,7 +9385,7 @@ export namespace compute_alpha { */ description?: string | null; /** - * Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY. + * Input only. Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY. */ edgeAvailabilityDomain?: string | null; /** @@ -9167,7 +9485,7 @@ export namespace compute_alpha { */ state?: string | null; /** - * Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The default value is 29, except for Cross-Cloud Interconnect connections that use an InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal to 30. For example, connections that use an Azure remote location fall into this category. In these cases, the default value is 30, and requesting 29 returns an error. Where both 29 and 30 are allowed, 29 is preferred, because it gives Google Cloud Support more debugging visibility. + * Input only. Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The default value is 29, except for Cross-Cloud Interconnect connections that use an InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal to 30. For example, connections that use an Azure remote location fall into this category. In these cases, the default value is 30, and requesting 29 returns an error. Where both 29 and 30 are allowed, 29 is preferred, because it gives Google Cloud Support more debugging visibility. */ subnetLength?: number | null; /** @@ -9227,6 +9545,201 @@ export namespace compute_alpha { max?: number | null; min?: number | null; } + /** + * An interconnect attachment group resource allows customers to create, analyze, and expand highly available deployments. + */ + export interface Schema$InterconnectAttachmentGroup { + /** + * Attachments in the AttachmentGroup. Keys are arbitrary user-specified strings. Users are encouraged, but not required, to use their preferred format for resource links as keys. Note that there are add-members and remove-members methods in gcloud. The size of this map is limited by an "Attachments per group" quota. + */ + attachments?: { + [key: string]: Schema$InterconnectAttachmentGroupAttachment; + } | null; + configured?: Schema$InterconnectAttachmentGroupConfigured; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string | null; + /** + * An optional description of this resource. Provide this property when you create the resource. + */ + description?: string | null; + /** + * Opaque system-generated token that uniquely identifies the configuration. If provided when patching a configuration in update mode, the provided token must match the current token or the update is rejected. This provides a reliable means of doing read-modify-write (optimistic locking) as described by AIP 154. + */ + etag?: string | null; + /** + * [Output Only] The unique identifier for the resource type. The server generates this identifier. + */ + id?: string | null; + intent?: Schema$InterconnectAttachmentGroupIntent; + /** + * The URL of an InterconnectGroup that groups these Attachments' Interconnects. Customers do not need to set this unless directed by Google Support. + */ + interconnectGroup?: string | null; + /** + * [Output Only] Type of the resource. Always compute#interconnectAttachmentGroup. + */ + kind?: string | null; + logicalStructure?: Schema$InterconnectAttachmentGroupLogicalStructure; + /** + * Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + */ + name?: string | null; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string | null; + } + /** + * An Attachment in this AttachmentGroup. + */ + export interface Schema$InterconnectAttachmentGroupAttachment { + attachment?: string | null; + } + /** + * [Output Only] The redundancy this group is configured to support. The way a user queries what SLA their Attachment gets is by looking at this field of the Attachment's AttachmentGroup. + */ + export interface Schema$InterconnectAttachmentGroupConfigured { + availabilitySla?: Schema$InterconnectAttachmentGroupConfiguredAvailabilitySLA; + } + /** + * [Output Only] Which SLA this group is configured to support, and why this group does or does not meet that SLA's requirements. + */ + export interface Schema$InterconnectAttachmentGroupConfiguredAvailabilitySLA { + effectiveSla?: string | null; + intendedSlaBlockers?: Schema$InterconnectAttachmentGroupConfiguredAvailabilitySLAIntendedSlaBlockers[]; + } + /** + * [Output Only] Reasons why configuration.availabilitySLA.sla differs from intent.availabilitySLA. This list is empty if and only if those are the same. + */ + export interface Schema$InterconnectAttachmentGroupConfiguredAvailabilitySLAIntendedSlaBlockers { + /** + * [Output Only] URLs of any particular Attachments to explain this blocker in more detail. + */ + attachments?: string[] | null; + blockerType?: string | null; + /** + * [Output Only] The url of Google Cloud public documentation explaining this requirement. This is set for every type of requirement. + */ + documentationLink?: string | null; + /** + * [Output Only] A human-readable explanation of this requirement and why it's not met. This is set for every type of requirement. + */ + explanation?: string | null; + /** + * [Output Only] Metros used to explain this blocker in more detail. These are three-letter lowercase strings like "iad". This will be set for some blockers (like NO_ATTACHMENTS_IN_METRO_AND_ZONE) but does not apply to others. + */ + metros?: string[] | null; + /** + * [Output Only] Regions used to explain this blocker in more detail. These are region names formatted like "us-central1". This will be set for some blockers (like INCOMPATIBLE_REGIONS) but does not apply to others. + */ + regions?: string[] | null; + /** + * [Output Only] Zones used to explain this blocker in more detail. Format is "zone1" and/or "zone2". This will be set for some blockers (like MISSING_ZONE) but does not apply to others. + */ + zones?: string[] | null; + } + /** + * The user's intent for this AttachmentGroup. This is the only required field besides the name that must be specified on group creation. + */ + export interface Schema$InterconnectAttachmentGroupIntent { + availabilitySla?: string | null; + } + /** + * [Output Only] An analysis of the logical layout of Attachments in this group. Every Attachment in the group is shown once in this structure. + */ + export interface Schema$InterconnectAttachmentGroupLogicalStructure { + regions?: Schema$InterconnectAttachmentGroupLogicalStructureRegion[]; + } + /** + * [Output Only] The regions Attachments in this group are in. + */ + export interface Schema$InterconnectAttachmentGroupLogicalStructureRegion { + metros?: Schema$InterconnectAttachmentGroupLogicalStructureRegionMetro[]; + /** + * [Output Only] The name of a region, like "us-central1". + */ + region?: string | null; + } + /** + * [Output Only] The metros of Attachments in this group in this region. + */ + export interface Schema$InterconnectAttachmentGroupLogicalStructureRegionMetro { + facilities?: Schema$InterconnectAttachmentGroupLogicalStructureRegionMetroFacility[]; + /** + * [Output Only] The name of the metro, as a three-letter lowercase string like "iad". This is the first component of the location of an Interconnect. + */ + metro?: string | null; + } + /** + * [Output Only] The facilities used for this group's Attachments' Interconnects. + */ + export interface Schema$InterconnectAttachmentGroupLogicalStructureRegionMetroFacility { + /** + * [Output Only] The name of a facility, like "iad-1234". + */ + facility?: string | null; + zones?: Schema$InterconnectAttachmentGroupLogicalStructureRegionMetroFacilityZone[]; + } + /** + * [Output Only] The zones that Attachments in this group are present in, in the given facilities. This is inherited from their Interconnects. + */ + export interface Schema$InterconnectAttachmentGroupLogicalStructureRegionMetroFacilityZone { + /** + * [Output Only] URLs of Attachments in the given zone, to the given region, on Interconnects in the given facility and metro. Every Attachment in the AG has such an entry. + */ + attachments?: string[] | null; + /** + * [Output Only] The name of a zone, either "zone1" or "zone2". + */ + zone?: string | null; + } + /** + * Response for the InterconnectAttachmentGroupsGetOperationalStatusResponse. + */ + export interface Schema$InterconnectAttachmentGroupsGetOperationalStatusResponse { + etag?: string | null; + result?: Schema$InterconnectAttachmentGroupsOperationalStatus; + } + export interface Schema$InterconnectAttachmentGroupsListResponse { + etag?: string | null; + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string | null; + /** + * A list of InterconnectAttachmentGroup resources. + */ + items?: Schema$InterconnectAttachmentGroup[]; + kind?: string | null; + /** + * [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. + */ + nextPageToken?: string | null; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string | null; + /** + * [Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder + */ + unreachables?: string[] | null; + /** + * [Output Only] Informational warning message. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } + export interface Schema$InterconnectAttachmentGroupsOperationalStatus { + /** + * Summarizes the status of the group. + */ + groupStatus?: string | null; + } /** * Response to the list request, and contains a list of interconnect attachments. */ @@ -9423,6 +9936,227 @@ export namespace compute_alpha { */ operational?: boolean | null; } + /** + * An interconnect group resource allows customers to create, analyze, and expand their redundant connections. + */ + export interface Schema$InterconnectGroup { + configured?: Schema$InterconnectGroupConfigured; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string | null; + /** + * An optional description of this resource. Provide this property when you create the resource. + */ + description?: string | null; + /** + * Opaque system-generated token that uniquely identifies the configuration. If provided when patching a configuration in update mode, the provided token must match the current token or the update is rejected. This provides a reliable means of doing read-modify-write (optimistic locking) as described by API 154. + */ + etag?: string | null; + /** + * [Output Only] The unique identifier for the resource type. The server generates this identifier. + */ + id?: string | null; + intent?: Schema$InterconnectGroupIntent; + /** + * Interconnects in the InterconnectGroup. Keys are arbitrary user-specified strings. Users are encouraged, but not required, to use their preferred format for resource links as keys. Note that there are add-members and remove-members methods in gcloud. The size of this map is limited by an "Interconnects per group" quota. + */ + interconnects?: { + [key: string]: Schema$InterconnectGroupInterconnect; + } | null; + /** + * [Output Only] Type of the resource. Always compute#InterconnectGroup + */ + kind?: string | null; + /** + * Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + */ + name?: string | null; + physicalStructure?: Schema$InterconnectGroupPhysicalStructure; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string | null; + } + /** + * [Output Only] The status of the group as configured. This has the same structure as the operational field reported by the OperationalStatus method, but does not take into account the operational status of each resource. + */ + export interface Schema$InterconnectGroupConfigured { + topologyCapability?: Schema$InterconnectGroupConfiguredTopologyCapability; + } + /** + * [Output Only] How reliable this topology is configured to be, and why this group does or does not meet the requirements for the intended capability. + */ + export interface Schema$InterconnectGroupConfiguredTopologyCapability { + intendedCapabilityBlockers?: Schema$InterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockers[]; + supportedSla?: string | null; + } + /** + * [Output Only] Reasons why configuration.topologyCapability.sla differs from intent.topologyCapability. This list is empty if and only if those are the same. + */ + export interface Schema$InterconnectGroupConfiguredTopologyCapabilityIntendedCapabilityBlockers { + blockerType?: string | null; + /** + * [Output Only] The url of Google Cloud public documentation explaining this requirement. This is set for every type of requirement. + */ + documentationLink?: string | null; + /** + * [Output Only] A human-readable explanation of this requirement and why it's not met. This is set for every type of requirement. + */ + explanation?: string | null; + /** + * [Output Only] Facilities used to explain this blocker in more detail. Like physicalStructure.metros.facilities.facility, this is a numeric string like "5467". + */ + facilities?: string[] | null; + /** + * [Output Only] Interconnects used to explain this blocker in more detail. + */ + interconnects?: string[] | null; + /** + * [Output Only] Metros used to explain this blocker in more detail. These are three-letter lowercase strings like "iad". A blocker like INCOMPATIBLE_METROS will specify the problematic metros in this field. + */ + metros?: string[] | null; + /** + * [Output Only] Zones used to explain this blocker in more detail. Zone names are "zone1" and/or "zone2". + */ + zones?: string[] | null; + } + /** + * The user's intent for this group. This is the only required field besides the name that must be specified on group creation. + */ + export interface Schema$InterconnectGroupIntent { + topologyCapability?: string | null; + } + /** + * An Interconnect in this InterconnectGroup. + */ + export interface Schema$InterconnectGroupInterconnect { + /** + * The URL of an Interconnect in this group. All Interconnects in the group are unique. + */ + interconnect?: string | null; + } + /** + * [Output Only] An analysis of the physical layout of Interconnects in this group. Every Interconnect in the group is shown once in this structure. + */ + export interface Schema$InterconnectGroupPhysicalStructure { + metros?: Schema$InterconnectGroupPhysicalStructureMetros[]; + } + /** + * [Output Only] The metros Interconnects in this group are in. + */ + export interface Schema$InterconnectGroupPhysicalStructureMetros { + facilities?: Schema$InterconnectGroupPhysicalStructureMetrosFacilities[]; + /** + * [Output Only] The name of the metro, as a three-letter lowercase string like "iad". This is the first component of the location of Interconnects underneath this. + */ + metro?: string | null; + } + /** + * [Output Only] The facilities Interconnects in this metro are present in. + */ + export interface Schema$InterconnectGroupPhysicalStructureMetrosFacilities { + /** + * [Output Only] The ID of this facility, as a numeric string like "5467". This is the third component of the location of Interconnects in this facility. + */ + facility?: string | null; + zones?: Schema$InterconnectGroupPhysicalStructureMetrosFacilitiesZones[]; + } + /** + * [Output Only] The zones that Interconnects in this facility are present in. + */ + export interface Schema$InterconnectGroupPhysicalStructureMetrosFacilitiesZones { + /** + * [Output Only] URLs of Interconnects in this redundancy group in the given metro, facility, and zone. + */ + interconnects?: string[] | null; + /** + * [Output Only] The name of the zone, either "zone1" or "zone2". This is the second component of the location of Interconnects in this facility. + */ + zone?: string | null; + } + /** + * Response for the InterconnectGroupsGetOperationalStatusResponse. + */ + export interface Schema$InterconnectGroupsGetOperationalStatusResponse { + etag?: string | null; + result?: Schema$InterconnectGroupsOperationalStatus; + } + export interface Schema$InterconnectGroupsListResponse { + etag?: string | null; + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string | null; + /** + * A list of InterconnectGroup resources. + */ + items?: Schema$InterconnectGroup[]; + kind?: string | null; + /** + * [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. + */ + nextPageToken?: string | null; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string | null; + /** + * [Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder + */ + unreachables?: string[] | null; + /** + * [Output Only] Informational warning message. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } + /** + * Request to get the status of the interconnect group with extra detail. + */ + export interface Schema$InterconnectGroupsOperationalStatus { + /** + * The configuration analysis, as returned by Get. + */ + configured?: Schema$InterconnectGroupConfigured; + /** + * Summarizes the status of the group. + */ + groupStatus?: string | null; + /** + * The intent of the resource, as returned by Get. + */ + intent?: Schema$InterconnectGroupIntent; + interconnectStatuses?: Schema$InterconnectGroupsOperationalStatusInterconnectStatus[]; + /** + * The operational state of the group, including only active Interconnects. + */ + operational?: Schema$InterconnectGroupConfigured; + } + /** + * The status of one Interconnect in the group. The order is arbitrary. + */ + export interface Schema$InterconnectGroupsOperationalStatusInterconnectStatus { + /** + * Whether the Interconnect is enabled. + */ + adminEnabled?: boolean | null; + /** + * The diagnostics of the Interconnect, as returned by the existing get-diagnostics method. + */ + diagnostics?: Schema$InterconnectDiagnostics; + /** + * The URL of the Interconnect being described. + */ + interconnect?: string | null; + /** + * Whether this interconnect is participating in the redundant configuration. + */ + isActive?: string | null; + } /** * Response to the list request, and contains a list of interconnects. */ @@ -9469,7 +10203,7 @@ export namespace compute_alpha { */ availabilityZone?: string | null; /** - * [Output only] List of features available at this InterconnectLocation, which can take one of the following values: - MACSEC + * [Output only] List of features available at this InterconnectLocation, which can take one of the following values: - IF_MACSEC */ availableFeatures?: string[] | null; /** @@ -9488,6 +10222,10 @@ export namespace compute_alpha { * [Output Only] Creation timestamp in RFC3339 text format. */ creationTimestamp?: string | null; + /** + * [Output Only] A list of InterconnectLocation.CrossSiteInterconnectInfo objects, that describe parameters pertaining to the relation between this InterconnectLocation and various Interconnect metros. + */ + crossSiteInterconnectInfos?: Schema$InterconnectLocationCrossSiteInterconnectInfo[]; /** * [Output Only] An optional description of the resource. */ @@ -9537,6 +10275,19 @@ export namespace compute_alpha { */ supportsPzs?: boolean | null; } + /** + * Information about any potential WireGroups between an Interconnect at a specific InterconnectLocation, and an Interconnect in another metro. + */ + export interface Schema$InterconnectLocationCrossSiteInterconnectInfo { + /** + * Metropolitan area designator + */ + city?: string | null; + /** + * The maximum gbps for a single flow to this metro. This limits the total bandwidth which may be configured per wire. + */ + maxSingleFlowGbps?: number | null; + } /** * Response to the list request, and contains a list of interconnect locations. */ @@ -10043,6 +10794,9 @@ export namespace compute_alpha { * Specifies the set of permissible coattached licenseCodes of licenses that satisfy the coattachment requirement of this license. At least one license from the set must be attached to the same disk or image as this license. */ requiredCoattachedLicenses?: string[] | null; + /** + * [Input Only] Deprecated. + */ resourceRequirements?: Schema$LicenseResourceRequirements; /** * [Output Only] Server-defined URL for the resource. @@ -10175,11 +10929,11 @@ export namespace compute_alpha { } export interface Schema$LicenseResourceRequirements { /** - * Minimum number of guest cpus required to use the Instance. Enforced at Instance creation and Instance start. + * [Input Only] Deprecated. This field no longer reflects the minimum number of guest cpus required to use the Instance. */ minGuestCpuCount?: number | null; /** - * Minimum memory required to use the Instance. Enforced at Instance creation and Instance start. + * [Input Only] Deprecated. This field no longer reflects the minimum memory required to use the Instance. */ minMemoryMb?: number | null; } @@ -10310,71 +11064,6 @@ export namespace compute_alpha { */ maxCount?: number | null; } - /** - * This is deprecated and has no effect. Do not use. - */ - export interface Schema$LogConfig { - /** - * This is deprecated and has no effect. Do not use. - */ - cloudAudit?: Schema$LogConfigCloudAuditOptions; - /** - * This is deprecated and has no effect. Do not use. - */ - counter?: Schema$LogConfigCounterOptions; - /** - * This is deprecated and has no effect. Do not use. - */ - dataAccess?: Schema$LogConfigDataAccessOptions; - } - /** - * This is deprecated and has no effect. Do not use. - */ - export interface Schema$LogConfigCloudAuditOptions { - /** - * This is deprecated and has no effect. Do not use. - */ - logName?: string | null; - } - /** - * This is deprecated and has no effect. Do not use. - */ - export interface Schema$LogConfigCounterOptions { - /** - * This is deprecated and has no effect. Do not use. - */ - customFields?: Schema$LogConfigCounterOptionsCustomField[]; - /** - * This is deprecated and has no effect. Do not use. - */ - field?: string | null; - /** - * This is deprecated and has no effect. Do not use. - */ - metric?: string | null; - } - /** - * This is deprecated and has no effect. Do not use. - */ - export interface Schema$LogConfigCounterOptionsCustomField { - /** - * This is deprecated and has no effect. Do not use. - */ - name?: string | null; - /** - * This is deprecated and has no effect. Do not use. - */ - value?: string | null; - } - /** - * This is deprecated and has no effect. Do not use. - */ - export interface Schema$LogConfigDataAccessOptions { - /** - * This is deprecated and has no effect. Do not use. - */ - logMode?: string | null; - } /** * Represents a machine image resource. A machine image is a Compute Engine resource that stores all the configuration, metadata, permissions, and data from one or more disks required to create a Virtual machine (VM) instance. For more information, see Machine images. */ @@ -10868,6 +11557,95 @@ export namespace compute_alpha { */ units?: string | null; } + /** + * Multi-MIG represents a group of managed instance groups. + */ + export interface Schema$MultiMig { + /** + * [Output only] The creation timestamp of this multi-MIG in RFC3339 text format. + */ + creationTimestamp?: string | null; + /** + * An optional description of this resource. + */ + description?: string | null; + /** + * [Output only] The unique identifier for this resource type. The server generates this identifier. + */ + id?: string | null; + /** + * [Output only] Type of the resource. Always compute#multiMig for multi-MIGs. + */ + kind?: string | null; + /** + * The name of the multi-MIG. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + */ + name?: string | null; + /** + * [Output only] The URL of the region where the resource resides. You must specify this field as part of the HTTP request URL. You cannot set the region as a field in the request body. + */ + region?: string | null; + /** + * Resource policies for this multi-MIG. + */ + resourcePolicies?: Schema$MultiMigResourcePolicies; + /** + * [Output only] Server-defined URL for the resource. + */ + selfLink?: string | null; + /** + * [Output only] Server-defined URL for this resource with the resource id. + */ + selfLinkWithId?: string | null; + status?: Schema$MultiMigStatus; + } + /** + * Resource policies message for a multi-MIG. Specifies the workload policy configuration of the multi-MIG. + */ + export interface Schema$MultiMigResourcePolicies { + /** + * The URL of the workload policy for this multi-MIG. It can be a full or partial URL. For example, the following are all valid URLs to a workload policy: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy + */ + workloadPolicy?: string | null; + } + export interface Schema$MultiMigsList { + etag?: string | null; + /** + * Unique identifier for the resource; defined by the server. + */ + id?: string | null; + /** + * A list of multi-MIGs in the specified project and region. + */ + items?: Schema$MultiMig[]; + /** + * Type of resource. + */ + kind?: string | null; + /** + * This token allows you to get the next page of results for maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. + */ + nextPageToken?: string | null; + /** + * [Output only] Server-defined URL for this resource. + */ + selfLink?: string | null; + /** + * [Output only] Unreachable resources. + */ + unreachables?: string[] | null; + /** + * Informational warning message. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } + export interface Schema$MultiMigStatus { + memberInstanceGroupManagers?: string[] | null; + } /** * [Deprecated] Configuration for the mutual Tls mode for peer authentication. Configuration for the mutual Tls mode for peer authentication. */ @@ -11001,7 +11779,7 @@ export namespace compute_alpha { */ networkFirewallPolicyEnforcementOrder?: string | null; /** - * A full or partial URL of the network profile to apply to this network. This field can be set only at resource creation time. For example, the following are valid URLs: - https://www.googleapis.com/compute/alpha/projects/{project_id\}/global/networkProfiles/{network_profile_name\} - projects/{project_id\}/global/networkProfiles/{network_profile_name\} + * A full or partial URL of the network profile to apply to this network. This field can be set only at resource creation time. For example, the following are valid URLs: - https://www.googleapis.com/compute/{api_version\}/projects/{project_id\}/global/networkProfiles/{network_profile_name\} - projects/{project_id\}/global/networkProfiles/{network_profile_name\} */ networkProfile?: string | null; /** @@ -11671,6 +12449,40 @@ export namespace compute_alpha { */ networkEndpoint?: Schema$NetworkEndpoint; } + export interface Schema$NetworkFirewallPolicyAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string | null; + /** + * A list of FirewallPoliciesScopedList resources. + */ + items?: {[key: string]: Schema$FirewallPoliciesScopedList} | null; + /** + * [Output Only] Type of resource. Always compute#networkFirewallPoliciesAggregatedList for lists of network firewall policies. + */ + kind?: string | null; + /** + * [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. + */ + nextPageToken?: string | null; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string | null; + /** + * [Output Only] Unreachable resources. + */ + unreachables?: string[] | null; + /** + * [Output Only] Informational warning message. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } /** * A network interface resource attached to an instance. */ @@ -11732,7 +12544,7 @@ export namespace compute_alpha { */ nicType?: string | null; /** - * Name of the parent network interface of a VLAN based nic. If this field is specified, vlan must be set. + * Name of the parent network interface of a dynamic network interface. */ parentNicName?: string | null; /** @@ -11752,7 +12564,7 @@ export namespace compute_alpha { */ subnetwork?: string | null; /** - * VLAN tag of a VLAN based network interface, must be in range from 2 to 4094 inclusively. This field is mandatory if the parent network interface name is set. + * VLAN tag of a dynamic network interface, must be in range from 2 to 4094 inclusively. */ vlan?: number | null; } @@ -11889,6 +12701,10 @@ export namespace compute_alpha { * [Output Only] Type of the resource. Always compute#networkProfile for network profiles. */ kind?: string | null; + /** + * [Output Only] Location to which the network is restricted. + */ + location?: Schema$NetworkProfileLocation; /** * [Output Only] Name of the resource. */ @@ -11906,6 +12722,10 @@ export namespace compute_alpha { */ zone?: string | null; } + export interface Schema$NetworkProfileLocation { + name?: string | null; + scope?: string | null; + } export interface Schema$NetworkProfileNetworkFeatures { /** * Specifies what address purposes are supported. If empty, all address purposes are supported. @@ -11931,14 +12751,6 @@ export namespace compute_alpha { * Specifies whether cloud router creation is allowed. */ allowCloudRouter?: string | null; - /** - * Specifies which subnetwork purposes are supported. - */ - allowedSubnetPurposes?: string[] | null; - /** - * Specifies which subnetwork stack types are supported. - */ - allowedSubnetStackTypes?: string[] | null; /** * Specifies whether VMs are allowed to have external IP access on network interfaces connected to this VPC. */ @@ -11992,9 +12804,13 @@ export namespace compute_alpha { */ interfaceTypes?: string[] | null; /** - * Specifies which type of multicast is supported. + * Specifies which subnetwork purposes are supported. + */ + subnetPurposes?: string[] | null; + /** + * Specifies which subnetwork stack types are supported. */ - multicast?: string | null; + subnetStackTypes?: string[] | null; /** * Specifies which type of unicast is supported. */ @@ -12054,6 +12870,14 @@ export namespace compute_alpha { * Allows to define a preferred approach for handling inter-region cost in the selection process when using the STANDARD BGP best path selection algorithm. Can be DEFAULT or ADD_COST_TO_MED. */ bgpInterRegionCost?: string | null; + /** + * [Output Only] Effective value of the bgp_always_compare_med field. + */ + effectiveBgpAlwaysCompareMed?: boolean | null; + /** + * [Output Only] Effective value of the bgp_inter_region_cost field. + */ + effectiveBgpInterRegionCost?: string | null; /** * The network-wide routing mode to use. If set to REGIONAL, this network's Cloud Routers will only advertise routes with subnets of this network in the same region as the router. If set to GLOBAL, this network's Cloud Routers will advertise routes with all subnets of this network, across regions. */ @@ -12087,7 +12911,7 @@ export namespace compute_alpha { } export interface Schema$NetworksGetEffectiveFirewallsResponse { /** - * Effective firewalls from firewall policy. + * [Output Only] Effective firewalls from firewall policy. It returns Global Network Firewall Policies and Hierarchical Firewall Policies. Use regionNetworkFirewallPolicies.getEffectiveFirewalls to get Regional Network Firewall Policies as well. */ firewallPolicys?: Schema$NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy[]; /** @@ -12108,12 +12932,16 @@ export namespace compute_alpha { * [Output Only] The name of the firewall policy. */ name?: string | null; + /** + * [Output Only] The packet mirroring rules that apply to the network. + */ + packetMirroringRules?: Schema$FirewallPolicyRule[]; /** * [Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY. */ priority?: number | null; /** - * The rules that apply to the network. + * [Output Only] The rules that apply to the network. */ rules?: Schema$FirewallPolicyRule[]; /** @@ -12635,6 +13463,10 @@ export namespace compute_alpha { * [Output Only] Local SSD available to the node type, defined in GB. */ localSsdGb?: number | null; + /** + * [Output Only] Maximum number of VMs that can be created for this node type. + */ + maxVms?: number | null; /** * [Output Only] The amount of physical memory available to the node type, defined in MB. */ @@ -12986,7 +13818,7 @@ export namespace compute_alpha { */ targetId?: string | null; /** - * [Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from. + * [Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the disk that the snapshot was created from. */ targetLink?: string | null; /** @@ -13416,15 +14248,15 @@ export namespace compute_alpha { */ defaultCustomErrorResponsePolicy?: Schema$CustomErrorResponsePolicy; /** - * defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. If defaultRouteAction is specified, don't set defaultUrlRedirect. If defaultRouteAction.weightedBackendServices is specified, don't set defaultService. URL maps for classic Application Load Balancers only support the urlRewrite action within a path matcher's defaultRouteAction. + * defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path matcher's defaultRouteAction. */ defaultRouteAction?: Schema$HttpRouteAction; /** - * The full or partial URL to the BackendService resource. This URL is used if none of the pathRules or routeRules defined by this PathMatcher are matched. For example, the following are all valid URLs to a BackendService resource: - https://www.googleapis.com/compute/v1/projects/project /global/backendServices/backendService - compute/v1/projects/project/global/backendServices/backendService - global/backendServices/backendService If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if defaultRouteAction specifies any weightedBackendServices, defaultService must not be specified. If defaultService is specified, then set either defaultUrlRedirect or defaultRouteAction.weightedBackendService. Don't set both. Authorization requires one or more of the following Google IAM permissions on the specified resource default_service: - compute.backendBuckets.use - compute.backendServices.use + * The full or partial URL to the BackendService resource. This URL is used if none of the pathRules or routeRules defined by this PathMatcher are matched. For example, the following are all valid URLs to a BackendService resource: - https://www.googleapis.com/compute/v1/projects/project /global/backendServices/backendService - compute/v1/projects/project/global/backendServices/backendService - global/backendServices/backendService If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. Authorization requires one or more of the following Google IAM permissions on the specified resource default_service: - compute.backendBuckets.use - compute.backendServices.use */ defaultService?: string | null; /** - * When none of the specified pathRules or routeRules match, the request is redirected to a URL specified by defaultUrlRedirect. If defaultUrlRedirect is specified, then set either defaultService or defaultRouteAction. Don't set both. Not supported when the URL map is bound to a target gRPC proxy. + * When none of the specified pathRules or routeRules match, the request is redirected to a URL specified by defaultUrlRedirect. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy. */ defaultUrlRedirect?: Schema$HttpRedirectAction; /** @@ -13461,15 +14293,15 @@ export namespace compute_alpha { */ paths?: string[] | null; /** - * In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction or urlRedirect must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path rule's routeAction. + * In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path rule's routeAction. */ routeAction?: Schema$HttpRouteAction; /** - * The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. + * The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. */ service?: string | null; /** - * When a path pattern is matched, the request is redirected to a URL specified by urlRedirect. If urlRedirect is specified, service or routeAction must not be set. Not supported when the URL map is bound to a target gRPC proxy. + * When a path pattern is matched, the request is redirected to a URL specified by urlRedirect. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy. */ urlRedirect?: Schema$HttpRedirectAction; } @@ -13488,7 +14320,7 @@ export namespace compute_alpha { */ fingerprint?: string | null; /** - * The name of a per-instance configuration and its corresponding instance. Serves as a merge key during UpdatePerInstanceConfigs operations, that is, if a per-instance configuration with the same name exists then it will be updated, otherwise a new one will be created for the VM instance with the same name. An attempt to create a per-instance configconfiguration for a VM instance that either doesn't exist or is not part of the group will result in an error. + * The name of a per-instance configuration and its corresponding instance. Serves as a merge key during UpdatePerInstanceConfigs operations, that is, if a per-instance configuration with the same name exists then it will be updated, otherwise a new one will be created for the VM instance with the same name. An attempt to create a per-instance configuration for a VM instance that either doesn't exist or is not part of the group will result in an error. */ name?: string | null; /** @@ -13570,10 +14402,6 @@ export namespace compute_alpha { * `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. */ etag?: string | null; - /** - * This is deprecated and has no effect. Do not use. - */ - rules?: Schema$Rule[]; /** * Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). */ @@ -13718,7 +14546,7 @@ export namespace compute_alpha { */ description?: string | null; /** - * Restricted features enabled for use on this project. + * An optional list of restricted features enabled for use on this project. */ enabledFeatures?: string[] | null; /** @@ -13746,7 +14574,7 @@ export namespace compute_alpha { */ selfLink?: string | null; /** - * The naming prefix for daily usage reports and the Google Cloud Storage bucket where they are stored. + * An optional naming prefix for daily usage reports and the Google Cloud Storage bucket where they are stored. */ usageExportLocation?: Schema$UsageExportLocation; /** @@ -14927,7 +15755,7 @@ export namespace compute_alpha { } export interface Schema$RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse { /** - * Effective firewalls from firewall policy. + * [Output only] Effective firewalls from firewall policy. It applies to Regional Network Firewall Policies in the specified region, Global Network Firewall Policies and Hierachial Firewall Policies which are associated with the network. */ firewallPolicys?: Schema$RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy[]; /** @@ -14944,12 +15772,16 @@ export namespace compute_alpha { * [Output Only] The name of the firewall policy. */ name?: string | null; + /** + * [Output only] The packet mirroring rules that apply to the network. + */ + packetMirroringRules?: Schema$FirewallPolicyRule[]; /** * [Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY. */ priority?: number | null; /** - * The rules that apply to the network. + * [Output only] The rules that apply to the network. */ rules?: Schema$FirewallPolicyRule[]; /** @@ -14993,6 +15825,29 @@ export namespace compute_alpha { */ resource?: Schema$UrlMap; } + export interface Schema$RegionWaitForReplicationCatchUpRequest { + maxWaitDuration?: string | null; + } + export interface Schema$ReplicationDetails { + /** + * The last sync time of the device pair. + */ + lastReplicationTime?: string | null; + /** + * Replication lag in seconds. This will only be populated if device is in replicating state. Note that the value is calculated sometime during request processing and at the instant the client receives the response, the current replication_lag may have changed. + */ + secondsSinceLastReplication?: string | null; + } + export interface Schema$ReplicationDiskPair { + /** + * URL of the primary disk. + */ + primaryDisk?: string | null; + /** + * URL of the secondary disk. + */ + secondaryDisk?: string | null; + } /** * A policy that specifies how requests intended for the route's backends are shadowed to a separate mirrored backend service. The load balancer doesn't wait for responses from the shadow service. Before sending traffic to the shadow service, the host or authority header is suffixed with -shadow. */ @@ -15042,10 +15897,6 @@ export namespace compute_alpha { * [Output Only] The unique identifier for the resource. This identifier is defined by the server. */ id?: string | null; - /** - * Instance termination action that will be invoked when the reservation is deleted. - */ - instanceTerminationAction?: string | null; /** * [Output Only] Type of the resource. Always compute#reservations for reservations. */ @@ -15091,7 +15942,7 @@ export namespace compute_alpha { */ specificReservationRequired?: boolean | null; /** - * [Output Only] The status of the reservation. + * [Output Only] The status of the reservation. - CREATING: Reservation resources are being allocated. - READY: Reservation resources have been allocated, and the reservation is ready for use. - DELETING: Reservation deletion is in progress. - UPDATING: Reservation update is in progress. */ status?: string | null; /** @@ -15158,7 +16009,7 @@ export namespace compute_alpha { */ export interface Schema$ReservationBlock { /** - * [Output Only] Specifies the number of resources that are allocated in this block. It indicates the maximum number of VMs that a user can run on this particular block. + * [Output Only] The number of resources that are allocated in this reservation block. */ count?: number | null; /** @@ -15170,7 +16021,7 @@ export namespace compute_alpha { */ id?: string | null; /** - * [Output Only] Indicates how many instances are in use on this block. + * [Output Only] The number of instances that are currently in use on this reservation block. */ inUseCount?: number | null; /** @@ -15185,6 +16036,14 @@ export namespace compute_alpha { * [Output Only] The name of this reservation block generated by Google Compute Engine. The name must be 1-63 characters long, and comply with RFC1035 @pattern [a-z](?:[-a-z0-9]{0,61\}[a-z0-9])? */ name?: string | null; + /** + * [Output Only] The physical topology of the reservation block. + */ + physicalTopology?: Schema$ReservationBlockPhysicalTopology; + /** + * [Output Only] Maintenance information for this reservation block. + */ + reservationMaintenance?: Schema$GroupMaintenanceInfo; /** * [Output Only] Server-defined fully-qualified URL for this resource. */ @@ -15202,6 +16061,16 @@ export namespace compute_alpha { */ zone?: string | null; } + export interface Schema$ReservationBlockPhysicalTopology { + /** + * The hash of the capacity block within the cluster. + */ + block?: string | null; + /** + * The cluster name of the reservation block. + */ + cluster?: string | null; + } export interface Schema$ReservationBlocksGetResponse { resource?: Schema$ReservationBlock; } @@ -15268,6 +16137,18 @@ export namespace compute_alpha { message?: string; } | null; } + export interface Schema$ReservationsBlocksPerformMaintenanceRequest { + /** + * Specifies if all, running or unused hosts are in scope for this request. + */ + maintenanceScope?: string | null; + } + export interface Schema$ReservationsPerformMaintenanceRequest { + /** + * Specifies if all, running or unused hosts are in scope for this request. + */ + maintenanceScope?: string | null; + } export interface Schema$ReservationsResizeRequest { /** * Number of allocated resources can be resized with minimum = 1 and maximum = 1000. @@ -15456,6 +16337,10 @@ export namespace compute_alpha { * Specifies network collocation */ collocation?: string | null; + /** + * Specifies the shape of the GPU slice, in slice based GPU families eg. A4X. + */ + gpuTopology?: string | null; /** * Specifies the number of max logical switches. */ @@ -15690,14 +16575,22 @@ export namespace compute_alpha { * Contains output only fields. Use this sub-message for actual values set on Instance attributes as compared to the value requested by the user (intent) in their instance CRUD calls. */ export interface Schema$ResourceStatus { + /** + * [Output Only] Accelerators status show results of GPU scans. These scans are specialized diagnostic tests designed to uncover latent manufacturing defects or other issues that could potentially lead to data corruption or impede the customer's ability to efficiently execute GPU workloads. + */ + acceleratorStatus?: Schema$ResourceStatusAcceleratorStatus[]; /** * [Output Only] Contains last termination details why the instance was terminated. */ lastInstanceTerminationDetails?: Schema$ResourceStatusLastInstanceTerminationDetails; /** - * [Output Only] An opaque ID of the host on which the VM is running. + * [Output Only] The precise location of your instance within the zone's data center, including the block, sub-block, and host. The field is formatted as follows: blockId/subBlockId/hostId. */ physicalHost?: string | null; + /** + * [Output Only] A series of fields containing the global name of the Compute Engine cluster, as well as the ID of the block, sub-block, and host on which the running instance is located. + */ + physicalHostTopology?: Schema$ResourceStatusPhysicalHostTopology; scheduling?: Schema$ResourceStatusScheduling; /** * [Output Only] Represents the status of the service integration specs defined by the user in instance.serviceIntegrationSpecs. @@ -15706,17 +16599,76 @@ export namespace compute_alpha { [key: string]: Schema$ResourceStatusServiceIntegrationStatus; } | null; /** - * [Output Only] Details about stopping state of instance + * [Output Only] Details about the instance stopping state. */ shutdownDetails?: Schema$ResourceStatusShutdownDetails; upcomingMaintenance?: Schema$UpcomingMaintenance; } + /** + * The status of an individual accelerator resource. + */ + export interface Schema$ResourceStatusAcceleratorStatus { + /** + * The details of scans that passed for an accelerator. + */ + passedScans?: Schema$ResourceStatusAcceleratorStatusPassedScan[]; + /** + * The details of recommended scans for an accelerator. + */ + recommendedScans?: Schema$ResourceStatusAcceleratorStatusRecommendedScan[]; + /** + * The serial number of the accelerator. + */ + serialNumber?: string | null; + /** + * The UUID of the accelerator. + */ + uuid?: string | null; + } + export interface Schema$ResourceStatusAcceleratorStatusPassedScan { + /** + * The end time of the passed scan in RFC3339 text format. + */ + endTime?: string | null; + name?: string | null; + /** + * The start time of the passed scan in RFC3339 text format. + */ + startTime?: string | null; + version?: string | null; + } + export interface Schema$ResourceStatusAcceleratorStatusRecommendedScan { + estimatedDuration?: Schema$Duration; + name?: string | null; + version?: string | null; + } export interface Schema$ResourceStatusLastInstanceTerminationDetails { /** * Reason for termination */ terminationReason?: string | null; } + /** + * Represents the physical host topology of the host on which the VM is running. + */ + export interface Schema$ResourceStatusPhysicalHostTopology { + /** + * [Output Only] The ID of the block in which the running instance is located. Instances within the same block experience low network latency. + */ + block?: string | null; + /** + * [Output Only] The global name of the Compute Engine cluster where the running instance is located. + */ + cluster?: string | null; + /** + * [Output Only] The ID of the host on which the running instance is located. Instances on the same host experience the lowest possible network latency. + */ + host?: string | null; + /** + * [Output Only] The ID of the sub-block in which the running instance is located. Instances in the same sub-block experience lower network latency than instances in the same block. + */ + subblock?: string | null; + } export interface Schema$ResourceStatusScheduling { /** * Specifies the availability domain to place the instance in. The value must be a number between 1 and the number of availability domains specified in the spread placement policy attached to the instance. @@ -15747,11 +16699,11 @@ export namespace compute_alpha { state?: string | null; } /** - * Specifies if the instance is in `SHUTTING_DOWN` state or there is a instance stopping scheduled. + * Specifies if the instance is in `PENDING_STOP` state or there is a programmed stop scheduled. */ export interface Schema$ResourceStatusShutdownDetails { /** - * Duration for graceful shutdown. Only applicable when `stop_state=SHUTTING_DOWN`. + * The duration for graceful shutdown. Only applicable when `stop_state=PENDING_STOP`. */ maxDuration?: Schema$Duration; /** @@ -16029,6 +16981,10 @@ export namespace compute_alpha { * A list of NAT services created in this router. */ nats?: Schema$RouterNat[]; + /** + * URI of the ncc_gateway to which this router associated. + */ + nccGateway?: string | null; /** * URI of the network to which this router belongs. */ @@ -16809,39 +17765,6 @@ export namespace compute_alpha { kind?: string | null; result?: Schema$RouterStatus; } - /** - * This is deprecated and has no effect. Do not use. - */ - export interface Schema$Rule { - /** - * This is deprecated and has no effect. Do not use. - */ - action?: string | null; - /** - * This is deprecated and has no effect. Do not use. - */ - conditions?: Schema$Condition[]; - /** - * This is deprecated and has no effect. Do not use. - */ - description?: string | null; - /** - * This is deprecated and has no effect. Do not use. - */ - ins?: string[] | null; - /** - * This is deprecated and has no effect. Do not use. - */ - logConfigs?: Schema$LogConfig[]; - /** - * This is deprecated and has no effect. Do not use. - */ - notIns?: string[] | null; - /** - * This is deprecated and has no effect. Do not use. - */ - permissions?: string[] | null; - } /** * DEPRECATED: Please use compute#savedDisk instead. An instance-attached disk resource. */ @@ -17024,6 +17947,10 @@ export namespace compute_alpha { * Specifies the provisioning model of the instance. */ provisioningModel?: string | null; + /** + * Timeout between GCE ACPI G2 Soft Off and ACPI G3 Mechanical Off during shutdown operation of VM. For Standard VMs values between 0s and 120s are allowed. For Spot and Preemptible VMs supported values are between 0s and 30s. If no value is specified for shutdownDuration, default values are 90s for Standard VMs and 30s for Spot/Preemptible VMs. + */ + shutdownTimeout?: Schema$Duration; /** * Specifies the timestamp, when the instance will be terminated, in RFC3339 text format. If specified, the instance termination action will be performed at the termination time. */ @@ -17034,7 +17961,7 @@ export namespace compute_alpha { windowsLicenseOptimizationMode?: string | null; } /** - * Configuration for gracefully shutting down the instance. + * The configuration for gracefully shutting down the instance. */ export interface Schema$SchedulingGracefulShutdown { /** @@ -17042,7 +17969,7 @@ export namespace compute_alpha { */ enabled?: boolean | null; /** - * Specifies time needed to gracefully shut down the instance. After that time, the instance goes to STOPPING even if graceful shutdown is not completed. + * The time allotted for the instance to gracefully shut down. If the graceful shutdown isn't complete after this time, then the instance transitions to the STOPPING state. */ maxDuration?: Schema$Duration; } @@ -17312,6 +18239,10 @@ export namespace compute_alpha { jsonCustomConfig?: Schema$SecurityPolicyAdvancedOptionsConfigJsonCustomConfig; jsonParsing?: string | null; logLevel?: string | null; + /** + * The maximum request size chosen by the customer with Waf enabled. Currently only "8KB" and "128KB" are supported. Values are case insensitive. + */ + requestBodyInspectionSize?: string | null; /** * An optional list of case-insensitive request header names to use for resolving the callers client IP address. */ @@ -17680,7 +18611,7 @@ export namespace compute_alpha { */ conformAction?: string | null; /** - * Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if "enforceOnKey" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP. + * Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if "enforceOnKey" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. */ enforceOnKey?: string | null; /** @@ -17714,7 +18645,7 @@ export namespace compute_alpha { */ enforceOnKeyName?: string | null; /** - * Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if "enforceOnKeyConfigs" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP. + * Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if "enforceOnKeyConfigs" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. */ enforceOnKeyType?: string | null; } @@ -19655,6 +20586,10 @@ export namespace compute_alpha { * The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.64.0.0/10. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field is set at resource creation time. The range can be any range listed in the Valid ranges list. The range can be expanded after creation using expandIpCidrRange. */ ipCidrRange?: string | null; + /** + * Reference to the source of IP, like a PublicDelegatedPrefix (PDP) for BYOIP. The PDP must be a sub-PDP in EXTERNAL_IPV6_SUBNETWORK_CREATION mode. Use one of the following formats to specify a sub-PDP when creating a dual stack subnetwork with external access using BYOIP: - Full resource URL, as in https://www.googleapis.com/compute/v1/projects/projectId/regions/region /publicDelegatedPrefixes/sub-pdp-name - Partial URL, as in - projects/projectId/regions/region/publicDelegatedPrefixes/ sub-pdp-name - regions/region/publicDelegatedPrefixes/sub-pdp-name + */ + ipCollection?: string | null; /** * The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack. */ @@ -19663,6 +20598,10 @@ export namespace compute_alpha { * [Output Only] This field is for internal use. */ ipv6CidrRange?: string | null; + /** + * [Output Only] Possible endpoints of this subnetwork. It can be one of the following: - VM_ONLY: The subnetwork can be used for creating instances and IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6 ranges from a public delegated prefix and cannot be used to create NetLb. - VM_AND_FR: The subnetwork can be used for creating both VM instances and Forwarding Rules. It can also be used to reserve IPv6 addresses with both VM and FR endpoint types. Such a subnetwork gets its IPv6 range from Google IP Pool directly. + */ + ipv6GceEndpoint?: string | null; /** * [Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources. */ @@ -19692,7 +20631,7 @@ export namespace compute_alpha { */ privateIpv6GoogleAccess?: string | null; /** - * The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. + * The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. */ purpose?: string | null; /** @@ -20151,7 +21090,7 @@ export namespace compute_alpha { sslCertificates?: string[] | null; } /** - * Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/alpha/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/alpha/regionTargetHttpsProxies) A target HTTPS proxy is a component of GCP HTTPS load balancers. * targetHttpProxies are used by global external Application Load Balancers, classic Application Load Balancers, cross-region internal Application Load Balancers, and Traffic Director. * regionTargetHttpProxies are used by regional internal Application Load Balancers and regional external Application Load Balancers. Forwarding rules reference a target HTTPS proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts. + * Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/alpha/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/alpha/regionTargetHttpsProxies) A target HTTPS proxy is a component of Google Cloud HTTPS load balancers. * targetHttpProxies are used by global external Application Load Balancers, classic Application Load Balancers, cross-region internal Application Load Balancers, and Traffic Director. * regionTargetHttpProxies are used by regional internal Application Load Balancers and regional external Application Load Balancers. Forwarding rules reference a target HTTPS proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts. */ export interface Schema$TargetHttpsProxy { /** @@ -20227,7 +21166,7 @@ export namespace compute_alpha { */ serverTlsPolicy?: string | null; /** - * URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API. Certificate Manager Certificates are not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project\}/locations/{ location\}/certificates/{resourceName\}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project \}/locations/{location\}/certificates/{resourceName\}. + * URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API namespace. Using Certificate Manager Certificates in this field is not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates or up to 100 Certificate Manager Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project\}/locations/{ location\}/certificates/{resourceName\}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project \}/locations/{location\}/certificates/{resourceName\}. */ sslCertificates?: string[] | null; /** @@ -21206,7 +22145,7 @@ export namespace compute_alpha { latest?: string | null; } /** - * Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/alpha/urlMaps) * [Regional](/compute/docs/reference/rest/alpha/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by global external Application Load Balancers, classic Application Load Balancers, and cross-region internal Application Load Balancers. * regionUrlMaps are used by internal Application Load Balancers, regional external Application Load Balancers and regional internal Application Load Balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts. + * Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/alpha/urlMaps) * [Regional](/compute/docs/reference/rest/alpha/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by global external Application Load Balancers, classic Application Load Balancers, and cross-region internal Application Load Balancers. * regionUrlMaps are used by internal Application Load Balancers, regional external Application Load Balancers and regional internal Application Load Balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL, EXTERNAL_MANAGED, or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts. */ export interface Schema$UrlMap { /** @@ -21218,15 +22157,15 @@ export namespace compute_alpha { */ defaultCustomErrorResponsePolicy?: Schema$CustomErrorResponsePolicy; /** - * defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. + * defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. */ defaultRouteAction?: Schema$HttpRouteAction; /** - * The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any defaultRouteAction.weightedBackendServices. Conversely, if defaultRouteAction specifies any defaultRouteAction.weightedBackendServices, defaultService must not be specified. If defaultService is specified, then set either defaultUrlRedirect , or defaultRouteAction.weightedBackendService Don't set both. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. + * The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. */ defaultService?: string | null; /** - * When none of the specified hostRules match, the request is redirected to a URL specified by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or defaultRouteAction must not be set. Not supported when the URL map is bound to a target gRPC proxy. + * When none of the specified hostRules match, the request is redirected to a URL specified by defaultUrlRedirect. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy. */ defaultUrlRedirect?: Schema$HttpRedirectAction; /** @@ -21482,7 +22421,7 @@ export namespace compute_alpha { */ network?: string | null; /** - * The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. + * The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. */ purpose?: string | null; /** @@ -21522,7 +22461,7 @@ export namespace compute_alpha { /** * [Output Only] Informational warning messages for failures encountered from scopes. */ - scoped_warnings?: Schema$SubnetworksScopedWarning[]; + scopedWarnings?: Schema$SubnetworksScopedWarning[]; /** * [Output Only] Server-defined URL for this resource. */ @@ -22092,6 +23031,9 @@ export namespace compute_alpha { */ sensitivity?: number | null; } + export interface Schema$WaitForReplicationCatchUpRequest { + maxWaitDuration?: string | null; + } /** * In contrast to a single BackendService in HttpRouteAction to which all matching traffic is directed to, WeightedBackendService allows traffic to be split across multiple backend services. The volume of traffic for each backend service is proportional to the weight specified in each WeightedBackendService */ @@ -22109,6 +23051,236 @@ export namespace compute_alpha { */ weight?: number | null; } + /** + * A pseudowire that connects two Interconnect connections. + */ + export interface Schema$Wire { + /** + * [Output Only] Indicates whether the wire is enabled. When false, the wire is disabled. When true and when the wire group of the wire is also enabled, the wire is enabled. Defaults to true. + */ + adminEnabled?: boolean | null; + /** + * Wire endpoints are specific Interconnect connections. + */ + endpoints?: Schema$WireEndpoint[]; + /** + * [Output Only] A label that identifies the wire. The format of this label combines the existing labels of the wire group endpoints and Interconnect connections used by this wire in alphabetical order as follows: `ENDPOINT_A+CONNECTION_A1,ENDPOINT_B+CONNECTION_B1`, where: - ENDPOINT_A and ENDPOINT_B: are the labels that you entered as map keys when you specified the wire group endpoint objects. - CONNECTION_A1 and CONNECTION_B1: are the labels that you entered as map keys when you specified the wire group Interconnect objects. + */ + label?: string | null; + /** + * [Output Only] Properties of the wire. + */ + wireProperties?: Schema$WireProperties; + } + /** + * Wire endpoints are specific Interconnect connections. + */ + export interface Schema$WireEndpoint { + interconnect?: string | null; + vlanTag?: number | null; + } + /** + * A resource that represents a group of redundant wires. + */ + export interface Schema$WireGroup { + /** + * Indicates whether the wires in the wire group are enabled. When false, the wires in the wire group are disabled. When true and when there is simultaneously no wire-specific override of `adminEnabled` to false, a given wire is enabled. Defaults to true. + */ + adminEnabled?: boolean | null; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string | null; + /** + * An optional description of the wire group. + */ + description?: string | null; + /** + * A map that contains the logical endpoints of the wire group. Specify key-value pairs for the map as follows: - Key: an RFC1035 user-specified label. - Value: an Endpoint object. + */ + endpoints?: {[key: string]: Schema$WireGroupEndpoint} | null; + /** + * [Output Only] The unique identifier for the resource type. The server generates this identifier. + */ + id?: string | null; + /** + * [Output Only] Type of the resource. Always compute#wireGroups for wire groups. + */ + kind?: string | null; + /** + * Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + */ + name?: string | null; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string | null; + selfLinkWithId?: string | null; + /** + * Service level details determined for the wire group configuration. + */ + serviceLevel?: Schema$WireGroupServiceLevel; + /** + * Topology details for the wire group configuration. + */ + topology?: Schema$WireGroupTopology; + /** + * Properties of the wire group. + */ + wireGroupProperties?: Schema$WireGroupProperties; + /** + * A map that contains optional settings for individual wires. Specify key-value pairs for the map as follows: - Key: the label of an existing wire. To view a wire label and its format, see the wires[].label field. - Value: a WireInputs object. + */ + wireInputs?: {[key: string]: Schema$WireGroupWireInputs} | null; + /** + * Properties for all wires in the wire group. + */ + wireProperties?: Schema$WireProperties; + /** + * The single/redundant wire(s) managed by the wire group. + */ + wires?: Schema$Wire[]; + } + /** + * A logical endpoint for the wire group. An endpoint represents a metro that contains redundant Interconnect connections. A wire group is created between two endpoints. + */ + export interface Schema$WireGroupEndpoint { + /** + * A map that contains the redundant Interconnect connections. Specify key-value pairs for the map as follows: - Key: an RFC1035 user-specified label. - Value: an Interconnect object. + */ + interconnects?: { + [key: string]: Schema$WireGroupEndpointInterconnect; + } | null; + } + /** + * The redundant Interconnect connections for this endpoint. + */ + export interface Schema$WireGroupEndpointInterconnect { + /** + * An Interconnect connection. You can specify the connection as a partial or full URL. If the connection is in a different project from the cross-site network, use a format that specifies the project. See the following examples of partial and full URLs: global/interconnects/NAME projects/PROJECT_ID/global/interconnects/NAME - https://compute.googleapis.com/compute/projects/PROJECT_ID /global/interconnects/NAME + */ + interconnect?: string | null; + /** + * To configure the wire group for VLAN mode, enter a VLAN tag, which is a number from `2` to `4093`. You can autoallocate a tag by entering `0`. To configure the wire group for port mode, enter `-1`. Review the following guidelines: - A VLAN tag must be unique for an Interconnect connection across all attachments and wire groups. - Both endpoints of a wire must use the same VLAN tag value. - Single wire and redundant type wire groups must have only one VLAN tag. - Box and cross type wire groups must have two VLAN tags. The first is for the same-zone pseudowire, and the second is for the cross-zone pseudowire. - Port mode pseudowires must configure a value of `-1` for both endpoints. + */ + vlanTags?: number[] | null; + } + /** + * Response for the list request. + */ + export interface Schema$WireGroupList { + etag?: string | null; + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string | null; + /** + * A list of wire group resources. + */ + items?: Schema$WireGroup[]; + /** + * [Output Only] Type of the resource. Always compute#wireGroups for wire groups. + */ + kind?: string | null; + /** + * [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. + */ + nextPageToken?: string | null; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string | null; + /** + * [Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder + */ + unreachables?: string[] | null; + /** + * [Output Only] Informational warning message. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } + /** + * The properties of a wire group. These properties determine how a group of redundant wires are created and managed. + */ + export interface Schema$WireGroupProperties { + /** + * The type of the wire group, one of the following: - WIRE: a single pseudowire over two Interconnect connections with no redundancy. - REDUNDANT: two pseudowires over four Interconnect connections, with two connections in one metro and two connections in another metro. Each redundant pair of Interconnect connections spans both edge availability domains of the metro. Each pseudowire connects Interconnect connections in matching edge availability domains of the two metros. - BOX_AND_CROSS: four pseudowires over four Interconnect connections, with two connections in one metro and two connections in another metro. Each redundant pair of Interconnect connections spans both edge availability domains of the metro. Two pseudowires connect Interconnect connections in matching edge availability domains of the two metros. Two additional pseudowires connect the non-matching edge availability domains of the two metros. + */ + type?: string | null; + } + /** + * Service level details determined for the wire group configuration. + */ + export interface Schema$WireGroupServiceLevel { + /** + * [Output Only] The availability SLA that the wire group qualifies for. One of the following: `NO_AVAILABILITY_SLA`, `AVAILABILITY_99`, `AVAILABILITY_999`, or `AVAILABILITY_9995`. + */ + availabilityClass?: string | null; + } + /** + * Topology details for the wire group. + */ + export interface Schema$WireGroupTopology { + /** + * Topology details for all endpoints in the wire group. + */ + endpoints?: Schema$WireGroupTopologyEndpoint[]; + } + /** + * Topology details for a single wire group endpoint. + */ + export interface Schema$WireGroupTopologyEndpoint { + /** + * The InterconnectLocation.city (metropolitan area designator) that all interconnects are located in. + */ + city?: string | null; + /** + * Endpoint label from the wire group. + */ + label?: string | null; + } + /** + * Optional settings for individual wires. Allows wire-level control that can be useful for migration purposes. If you use this field, you opt-out of the SLA for the wire group. + */ + export interface Schema$WireGroupWireInputs { + /** + * Indicates whether the wire is enabled. When false, the wire is disabled. When true and when the wire group of the wire is also enabled, the wire is enabled. Defaults to true. + */ + adminEnabled?: boolean | null; + /** + * The overridden properties for the wire. Any properties that are not overridden are omitted from the object. Review the following guidelines: - If you apply wire overrides to a wire and its wire group bandwidth configuration is set to `SHARED_WITH_WIRE_GROUP`, the `meteredBandwidth` and `unmeteredBandwidth` properties must not differ from the wire group. - Overrides generate a `configurationNotice`. Ensure that differences in wire configuration are temporary. An example use case for wire overrides is slowly rolling out configuration changes to individual wires in a wire group. + */ + wirePropertyOverrides?: Schema$WireProperties; + } + /** + * The properties of a wire. + */ + export interface Schema$WireProperties { + /** + * The configuration of the bandwidth allocation, one of the following: - ALLOCATE_PER_WIRE: configures a separate unmetered bandwidth allocation (and associated charges) for each wire in the group. - SHARED_WITH_WIRE_GROUP: configures one unmetered bandwidth allocation for the wire group. The unmetered bandwidth is divided equally across each wire in the group, but dynamic throttling reallocates unused unmetered bandwidth from unused or underused wires to other wires in the group. For example, with a four-wire box-and-cross group, when one Interconnect connection is down, the unmetered bandwidth of the two down wires is reallocated to the remaining up wires. + */ + bandwidthAllocation?: string | null; + /** + * The metered bandwidth in Gigabits per second, using decimal units. `10` is 10 Gbps, `100` is 100 Gbps. The default value is `0`. You can specify unlimited bandwidth by entering `-1`. However, actual data transfer is limited by the port speed. + */ + bandwidthMetered?: string | null; + /** + * The unmetered bandwidth in Gigabits per second, using decimal units. `10` is 10 Gbps, `100` is 100 Gbps. Must be a multiple of 10. + */ + bandwidthUnmetered?: string | null; + /** + * Response when a fault is detected in a pseudowire: - NONE: default. - DISABLE_PORT: set the port line protocol down when inline probes detect a fault. This setting is only permitted on port mode pseudowires. + */ + faultResponse?: string | null; + /** + * The network service class. + */ + networkServiceClass?: string | null; + } export interface Schema$XpnHostList { /** * [Output Only] Unique identifier for the resource; defined by the server. @@ -23527,6 +24699,125 @@ export namespace compute_alpha { requestBody?: Schema$TestPermissionsRequest; } + export class Resource$Advice { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Advise how, where and when to create the requested amount of instances with specified accelerators, within the specified time and location limits. The method recommends creating future reservations for the requested resources. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + calendarMode( + params: Params$Resource$Advice$Calendarmode, + options: StreamMethodOptions + ): GaxiosPromise; + calendarMode( + params?: Params$Resource$Advice$Calendarmode, + options?: MethodOptions + ): GaxiosPromise; + calendarMode( + params: Params$Resource$Advice$Calendarmode, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + calendarMode( + params: Params$Resource$Advice$Calendarmode, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + calendarMode( + params: Params$Resource$Advice$Calendarmode, + callback: BodyResponseCallback + ): void; + calendarMode( + callback: BodyResponseCallback + ): void; + calendarMode( + paramsOrCallback?: + | Params$Resource$Advice$Calendarmode + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Advice$Calendarmode; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Advice$Calendarmode; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/advice/calendarMode' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Advice$Calendarmode + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CalendarModeAdviceRequest; + } + export class Resource$Autoscalers { context: APIRequestContext; constructor(context: APIRequestContext) { @@ -26305,6 +27596,104 @@ export namespace compute_alpha { } } + /** + * Returns effective security policies applied to this backend service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getEffectiveSecurityPolicies( + params: Params$Resource$Backendservices$Geteffectivesecuritypolicies, + options: StreamMethodOptions + ): GaxiosPromise; + getEffectiveSecurityPolicies( + params?: Params$Resource$Backendservices$Geteffectivesecuritypolicies, + options?: MethodOptions + ): GaxiosPromise; + getEffectiveSecurityPolicies( + params: Params$Resource$Backendservices$Geteffectivesecuritypolicies, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getEffectiveSecurityPolicies( + params: Params$Resource$Backendservices$Geteffectivesecuritypolicies, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getEffectiveSecurityPolicies( + params: Params$Resource$Backendservices$Geteffectivesecuritypolicies, + callback: BodyResponseCallback + ): void; + getEffectiveSecurityPolicies( + callback: BodyResponseCallback + ): void; + getEffectiveSecurityPolicies( + paramsOrCallback?: + | Params$Resource$Backendservices$Geteffectivesecuritypolicies + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Backendservices$Geteffectivesecuritypolicies; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Backendservices$Geteffectivesecuritypolicies; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/backendServices/{backendService}/getEffectiveSecurityPolicies' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'backendService'], + pathParams: ['backendService', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + /** * Gets the most recent health check results for this BackendService. Example request body: { "group": "/zones/us-east1-b/instanceGroups/lb-backend-example" \} * @@ -27400,6 +28789,17 @@ export namespace compute_alpha { */ project?: string; } + export interface Params$Resource$Backendservices$Geteffectivesecuritypolicies + extends StandardParameters { + /** + * Name of the Backend Service for this request. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + } export interface Params$Resource$Backendservices$Gethealth extends StandardParameters { /** @@ -27614,46 +29014,46 @@ export namespace compute_alpha { requestBody?: Schema$BackendService; } - export class Resource$Disks { + export class Resource$Crosssitenetworks { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Adds existing resource policies to a disk. You can only add one policy which will be applied to this disk for scheduling snapshot creation. + * Deletes the specified cross-site network in the given scope. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - addResourcePolicies( - params: Params$Resource$Disks$Addresourcepolicies, + delete( + params: Params$Resource$Crosssitenetworks$Delete, options: StreamMethodOptions ): GaxiosPromise; - addResourcePolicies( - params?: Params$Resource$Disks$Addresourcepolicies, + delete( + params?: Params$Resource$Crosssitenetworks$Delete, options?: MethodOptions ): GaxiosPromise; - addResourcePolicies( - params: Params$Resource$Disks$Addresourcepolicies, + delete( + params: Params$Resource$Crosssitenetworks$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - addResourcePolicies( - params: Params$Resource$Disks$Addresourcepolicies, + delete( + params: Params$Resource$Crosssitenetworks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - addResourcePolicies( - params: Params$Resource$Disks$Addresourcepolicies, + delete( + params: Params$Resource$Crosssitenetworks$Delete, callback: BodyResponseCallback ): void; - addResourcePolicies(callback: BodyResponseCallback): void; - addResourcePolicies( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Disks$Addresourcepolicies + | Params$Resource$Crosssitenetworks$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -27666,12 +29066,12 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Disks$Addresourcepolicies; + {}) as Params$Resource$Crosssitenetworks$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Addresourcepolicies; + params = {} as Params$Resource$Crosssitenetworks$Delete; options = {}; } @@ -27686,16 +29086,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/disks/{disk}/addResourcePolicies' + '/compute/alpha/projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'disk'], - pathParams: ['disk', 'project', 'zone'], + requiredParams: ['project', 'crossSiteNetwork'], + pathParams: ['crossSiteNetwork', 'project'], context: this.context, }; if (callback) { @@ -27709,62 +29109,57 @@ export namespace compute_alpha { } /** - * Retrieves an aggregated list of persistent disks. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + * Returns the specified cross-site network in the given scope. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - aggregatedList( - params: Params$Resource$Disks$Aggregatedlist, + get( + params: Params$Resource$Crosssitenetworks$Get, options: StreamMethodOptions ): GaxiosPromise; - aggregatedList( - params?: Params$Resource$Disks$Aggregatedlist, + get( + params?: Params$Resource$Crosssitenetworks$Get, options?: MethodOptions - ): GaxiosPromise; - aggregatedList( - params: Params$Resource$Disks$Aggregatedlist, + ): GaxiosPromise; + get( + params: Params$Resource$Crosssitenetworks$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - aggregatedList( - params: Params$Resource$Disks$Aggregatedlist, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - aggregatedList( - params: Params$Resource$Disks$Aggregatedlist, - callback: BodyResponseCallback + get( + params: Params$Resource$Crosssitenetworks$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - aggregatedList( - callback: BodyResponseCallback + get( + params: Params$Resource$Crosssitenetworks$Get, + callback: BodyResponseCallback ): void; - aggregatedList( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Disks$Aggregatedlist - | BodyResponseCallback + | Params$Resource$Crosssitenetworks$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Disks$Aggregatedlist; + {}) as Params$Resource$Crosssitenetworks$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Aggregatedlist; + params = {} as Params$Resource$Crosssitenetworks$Get; options = {}; } @@ -27778,7 +29173,8 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + '/compute/alpha/projects/{project}/aggregated/disks' + rootUrl + + '/compute/alpha/projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -27786,54 +29182,54 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'crossSiteNetwork'], + pathParams: ['crossSiteNetwork', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Bulk create a set of disks. + * Creates a cross-site network in the specified project in the given scope using the parameters that are included in the request. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - bulkInsert( - params: Params$Resource$Disks$Bulkinsert, + insert( + params: Params$Resource$Crosssitenetworks$Insert, options: StreamMethodOptions ): GaxiosPromise; - bulkInsert( - params?: Params$Resource$Disks$Bulkinsert, + insert( + params?: Params$Resource$Crosssitenetworks$Insert, options?: MethodOptions ): GaxiosPromise; - bulkInsert( - params: Params$Resource$Disks$Bulkinsert, + insert( + params: Params$Resource$Crosssitenetworks$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - bulkInsert( - params: Params$Resource$Disks$Bulkinsert, + insert( + params: Params$Resource$Crosssitenetworks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - bulkInsert( - params: Params$Resource$Disks$Bulkinsert, + insert( + params: Params$Resource$Crosssitenetworks$Insert, callback: BodyResponseCallback ): void; - bulkInsert(callback: BodyResponseCallback): void; - bulkInsert( + insert(callback: BodyResponseCallback): void; + insert( paramsOrCallback?: - | Params$Resource$Disks$Bulkinsert + | Params$Resource$Crosssitenetworks$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -27845,12 +29241,13 @@ export namespace compute_alpha { | BodyResponseCallback | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { - let params = (paramsOrCallback || {}) as Params$Resource$Disks$Bulkinsert; + let params = (paramsOrCallback || + {}) as Params$Resource$Crosssitenetworks$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Bulkinsert; + params = {} as Params$Resource$Crosssitenetworks$Insert; options = {}; } @@ -27865,7 +29262,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/disks/bulkInsert' + '/compute/alpha/projects/{project}/global/crossSiteNetworks' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -27873,8 +29270,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { @@ -27888,57 +29285,62 @@ export namespace compute_alpha { } /** - * Creates a snapshot of a specified persistent disk. For regular snapshot creation, consider using snapshots.insert instead, as that method supports more features, such as creating snapshots in a project different from the source disk project. + * Lists the cross-site networks for a project in the given scope. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - createSnapshot( - params: Params$Resource$Disks$Createsnapshot, + list( + params: Params$Resource$Crosssitenetworks$List, options: StreamMethodOptions ): GaxiosPromise; - createSnapshot( - params?: Params$Resource$Disks$Createsnapshot, + list( + params?: Params$Resource$Crosssitenetworks$List, options?: MethodOptions - ): GaxiosPromise; - createSnapshot( - params: Params$Resource$Disks$Createsnapshot, + ): GaxiosPromise; + list( + params: Params$Resource$Crosssitenetworks$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - createSnapshot( - params: Params$Resource$Disks$Createsnapshot, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Crosssitenetworks$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - createSnapshot( - params: Params$Resource$Disks$Createsnapshot, - callback: BodyResponseCallback + list( + params: Params$Resource$Crosssitenetworks$List, + callback: BodyResponseCallback ): void; - createSnapshot(callback: BodyResponseCallback): void; - createSnapshot( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Disks$Createsnapshot - | BodyResponseCallback + | Params$Resource$Crosssitenetworks$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Disks$Createsnapshot; + {}) as Params$Resource$Crosssitenetworks$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Createsnapshot; + params = {} as Params$Resource$Crosssitenetworks$List; options = {}; } @@ -27953,62 +29355,62 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/disks/{disk}/createSnapshot' + '/compute/alpha/projects/{project}/global/crossSiteNetworks' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'disk'], - pathParams: ['disk', 'project', 'zone'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Deletes the specified persistent disk. Deleting a disk removes its data permanently and is irreversible. However, deleting a disk does not delete any snapshots previously made from the disk. You must separately delete snapshots. + * Updates the specified cross-site network with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Disks$Delete, + patch( + params: Params$Resource$Crosssitenetworks$Patch, options: StreamMethodOptions ): GaxiosPromise; - delete( - params?: Params$Resource$Disks$Delete, + patch( + params?: Params$Resource$Crosssitenetworks$Patch, options?: MethodOptions ): GaxiosPromise; - delete( - params: Params$Resource$Disks$Delete, + patch( + params: Params$Resource$Crosssitenetworks$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Disks$Delete, + patch( + params: Params$Resource$Crosssitenetworks$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Disks$Delete, + patch( + params: Params$Resource$Crosssitenetworks$Patch, callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Disks$Delete + | Params$Resource$Crosssitenetworks$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -28020,12 +29422,13 @@ export namespace compute_alpha { | BodyResponseCallback | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { - let params = (paramsOrCallback || {}) as Params$Resource$Disks$Delete; + let params = (paramsOrCallback || + {}) as Params$Resource$Crosssitenetworks$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Delete; + params = {} as Params$Resource$Crosssitenetworks$Patch; options = {}; } @@ -28040,16 +29443,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/disks/{disk}' + '/compute/alpha/projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'disk'], - pathParams: ['disk', 'project', 'zone'], + requiredParams: ['project', 'crossSiteNetwork'], + pathParams: ['crossSiteNetwork', 'project'], context: this.context, }; if (callback) { @@ -28061,58 +29464,168 @@ export namespace compute_alpha { return createAPIRequest(parameters); } } + } + export interface Params$Resource$Crosssitenetworks$Delete + extends StandardParameters { /** - * Returns the specified persistent disk. + * Name of the cross-site network to delete. + */ + crossSiteNetwork?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder + */ + requestId?: string; + } + export interface Params$Resource$Crosssitenetworks$Get + extends StandardParameters { + /** + * Name of the cross-site network to return. + */ + crossSiteNetwork?: string; + /** + * Project ID for this request. + */ + project?: string; + } + export interface Params$Resource$Crosssitenetworks$Insert + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder + */ + requestId?: string; + /** + * [Input Only] Validate the new configuration, but don't create it. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$CrossSiteNetwork; + } + export interface Params$Resource$Crosssitenetworks$List + extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. + */ + returnPartialSuccess?: boolean; + } + export interface Params$Resource$Crosssitenetworks$Patch + extends StandardParameters { + /** + * Name of the cross-site network to update. + */ + crossSiteNetwork?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder + */ + requestId?: string; + /** + * update_mask indicates fields to be updated as part of this request. + */ + updateMask?: string; + /** + * [Input Only] Validate the new configuration, but don't update it. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$CrossSiteNetwork; + } + + export class Resource$Disks { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Adds existing resource policies to a disk. You can only add one policy which will be applied to this disk for scheduling snapshot creation. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Disks$Get, + addResourcePolicies( + params: Params$Resource$Disks$Addresourcepolicies, options: StreamMethodOptions ): GaxiosPromise; - get( - params?: Params$Resource$Disks$Get, + addResourcePolicies( + params?: Params$Resource$Disks$Addresourcepolicies, options?: MethodOptions - ): GaxiosPromise; - get( - params: Params$Resource$Disks$Get, + ): GaxiosPromise; + addResourcePolicies( + params: Params$Resource$Disks$Addresourcepolicies, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Disks$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + addResourcePolicies( + params: Params$Resource$Disks$Addresourcepolicies, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Disks$Get, - callback: BodyResponseCallback + addResourcePolicies( + params: Params$Resource$Disks$Addresourcepolicies, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + addResourcePolicies(callback: BodyResponseCallback): void; + addResourcePolicies( paramsOrCallback?: - | Params$Resource$Disks$Get - | BodyResponseCallback + | Params$Resource$Disks$Addresourcepolicies + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { - let params = (paramsOrCallback || {}) as Params$Resource$Disks$Get; + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Disks$Addresourcepolicies; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Get; + params = {} as Params$Resource$Disks$Addresourcepolicies; options = {}; } @@ -28127,9 +29640,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/disks/{disk}' + '/compute/alpha/projects/{project}/zones/{zone}/disks/{disk}/addResourcePolicies' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -28140,67 +29653,72 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets the access control policy for a resource. May be empty if no such policy or resource exists. + * Retrieves an aggregated list of persistent disks. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getIamPolicy( - params: Params$Resource$Disks$Getiampolicy, + aggregatedList( + params: Params$Resource$Disks$Aggregatedlist, options: StreamMethodOptions ): GaxiosPromise; - getIamPolicy( - params?: Params$Resource$Disks$Getiampolicy, + aggregatedList( + params?: Params$Resource$Disks$Aggregatedlist, options?: MethodOptions - ): GaxiosPromise; - getIamPolicy( - params: Params$Resource$Disks$Getiampolicy, + ): GaxiosPromise; + aggregatedList( + params: Params$Resource$Disks$Aggregatedlist, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Disks$Getiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getIamPolicy( - params: Params$Resource$Disks$Getiampolicy, - callback: BodyResponseCallback + aggregatedList( + params: Params$Resource$Disks$Aggregatedlist, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getIamPolicy(callback: BodyResponseCallback): void; - getIamPolicy( + aggregatedList( + params: Params$Resource$Disks$Aggregatedlist, + callback: BodyResponseCallback + ): void; + aggregatedList( + callback: BodyResponseCallback + ): void; + aggregatedList( paramsOrCallback?: - | Params$Resource$Disks$Getiampolicy - | BodyResponseCallback + | Params$Resource$Disks$Aggregatedlist + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Disks$Getiampolicy; + {}) as Params$Resource$Disks$Aggregatedlist; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Getiampolicy; + params = {} as Params$Resource$Disks$Aggregatedlist; options = {}; } @@ -28214,8 +29732,7 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/disks/{resource}/getIamPolicy' + rootUrl + '/compute/alpha/projects/{project}/aggregated/disks' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -28223,54 +29740,54 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'resource'], - pathParams: ['project', 'resource', 'zone'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Creates a persistent disk in the specified project using the data in the request. You can create a disk from a source (sourceImage, sourceSnapshot, or sourceDisk) or create an empty 500 GB data disk by omitting all properties. You can also create a disk that is larger than the default size by specifying the sizeGb property. + * Bulk create a set of disks. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - insert( - params: Params$Resource$Disks$Insert, + bulkInsert( + params: Params$Resource$Disks$Bulkinsert, options: StreamMethodOptions ): GaxiosPromise; - insert( - params?: Params$Resource$Disks$Insert, + bulkInsert( + params?: Params$Resource$Disks$Bulkinsert, options?: MethodOptions ): GaxiosPromise; - insert( - params: Params$Resource$Disks$Insert, + bulkInsert( + params: Params$Resource$Disks$Bulkinsert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Disks$Insert, + bulkInsert( + params: Params$Resource$Disks$Bulkinsert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Disks$Insert, + bulkInsert( + params: Params$Resource$Disks$Bulkinsert, callback: BodyResponseCallback ): void; - insert(callback: BodyResponseCallback): void; - insert( + bulkInsert(callback: BodyResponseCallback): void; + bulkInsert( paramsOrCallback?: - | Params$Resource$Disks$Insert + | Params$Resource$Disks$Bulkinsert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -28282,12 +29799,12 @@ export namespace compute_alpha { | BodyResponseCallback | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { - let params = (paramsOrCallback || {}) as Params$Resource$Disks$Insert; + let params = (paramsOrCallback || {}) as Params$Resource$Disks$Bulkinsert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Insert; + params = {} as Params$Resource$Disks$Bulkinsert; options = {}; } @@ -28301,7 +29818,8 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + '/compute/alpha/projects/{project}/zones/{zone}/disks' + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/disks/bulkInsert' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -28324,56 +29842,57 @@ export namespace compute_alpha { } /** - * Retrieves a list of persistent disks contained within the specified zone. + * Creates a snapshot of a specified persistent disk. For regular snapshot creation, consider using snapshots.insert instead, as that method supports more features, such as creating snapshots in a project different from the source disk project. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Disks$List, + createSnapshot( + params: Params$Resource$Disks$Createsnapshot, options: StreamMethodOptions ): GaxiosPromise; - list( - params?: Params$Resource$Disks$List, + createSnapshot( + params?: Params$Resource$Disks$Createsnapshot, options?: MethodOptions - ): GaxiosPromise; - list( - params: Params$Resource$Disks$List, + ): GaxiosPromise; + createSnapshot( + params: Params$Resource$Disks$Createsnapshot, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Disks$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + createSnapshot( + params: Params$Resource$Disks$Createsnapshot, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Disks$List, - callback: BodyResponseCallback + createSnapshot( + params: Params$Resource$Disks$Createsnapshot, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + createSnapshot(callback: BodyResponseCallback): void; + createSnapshot( paramsOrCallback?: - | Params$Resource$Disks$List - | BodyResponseCallback + | Params$Resource$Disks$Createsnapshot + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { - let params = (paramsOrCallback || {}) as Params$Resource$Disks$List; + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Disks$Createsnapshot; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$List; + params = {} as Params$Resource$Disks$Createsnapshot; options = {}; } @@ -28387,64 +29906,63 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + '/compute/alpha/projects/{project}/zones/{zone}/disks' + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/disks/{disk}/createSnapshot' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Removes resource policies from a disk. + * Deletes the specified persistent disk. Deleting a disk removes its data permanently and is irreversible. However, deleting a disk does not delete any snapshots previously made from the disk. You must separately delete snapshots. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - removeResourcePolicies( - params: Params$Resource$Disks$Removeresourcepolicies, + delete( + params: Params$Resource$Disks$Delete, options: StreamMethodOptions ): GaxiosPromise; - removeResourcePolicies( - params?: Params$Resource$Disks$Removeresourcepolicies, + delete( + params?: Params$Resource$Disks$Delete, options?: MethodOptions ): GaxiosPromise; - removeResourcePolicies( - params: Params$Resource$Disks$Removeresourcepolicies, + delete( + params: Params$Resource$Disks$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - removeResourcePolicies( - params: Params$Resource$Disks$Removeresourcepolicies, + delete( + params: Params$Resource$Disks$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - removeResourcePolicies( - params: Params$Resource$Disks$Removeresourcepolicies, - callback: BodyResponseCallback - ): void; - removeResourcePolicies( + delete( + params: Params$Resource$Disks$Delete, callback: BodyResponseCallback ): void; - removeResourcePolicies( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Disks$Removeresourcepolicies + | Params$Resource$Disks$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -28456,13 +29974,12 @@ export namespace compute_alpha { | BodyResponseCallback | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Disks$Removeresourcepolicies; + let params = (paramsOrCallback || {}) as Params$Resource$Disks$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Removeresourcepolicies; + params = {} as Params$Resource$Disks$Delete; options = {}; } @@ -28477,9 +29994,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/disks/{disk}/removeResourcePolicies' + '/compute/alpha/projects/{project}/zones/{zone}/disks/{disk}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'DELETE', apiVersion: '', }, options @@ -28500,56 +30017,56 @@ export namespace compute_alpha { } /** - * Resizes the specified persistent disk. You can only increase the size of the disk. + * Returns the specified persistent disk. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - resize( - params: Params$Resource$Disks$Resize, + get( + params: Params$Resource$Disks$Get, options: StreamMethodOptions ): GaxiosPromise; - resize( - params?: Params$Resource$Disks$Resize, + get( + params?: Params$Resource$Disks$Get, options?: MethodOptions - ): GaxiosPromise; - resize( - params: Params$Resource$Disks$Resize, + ): GaxiosPromise; + get( + params: Params$Resource$Disks$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - resize( - params: Params$Resource$Disks$Resize, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Disks$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - resize( - params: Params$Resource$Disks$Resize, - callback: BodyResponseCallback + get( + params: Params$Resource$Disks$Get, + callback: BodyResponseCallback ): void; - resize(callback: BodyResponseCallback): void; - resize( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Disks$Resize - | BodyResponseCallback + | Params$Resource$Disks$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { - let params = (paramsOrCallback || {}) as Params$Resource$Disks$Resize; + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || {}) as Params$Resource$Disks$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Resize; + params = {} as Params$Resource$Disks$Get; options = {}; } @@ -28564,9 +30081,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/disks/{disk}/resize' + '/compute/alpha/projects/{project}/zones/{zone}/disks/{disk}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options @@ -28577,67 +30094,74 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Sets the access control policy on the specified resource. Replaces any existing policy. + * Gets the status of current async replication for a given device. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setIamPolicy( - params: Params$Resource$Disks$Setiampolicy, + getAsyncReplicationStatus( + params: Params$Resource$Disks$Getasyncreplicationstatus, options: StreamMethodOptions ): GaxiosPromise; - setIamPolicy( - params?: Params$Resource$Disks$Setiampolicy, + getAsyncReplicationStatus( + params?: Params$Resource$Disks$Getasyncreplicationstatus, options?: MethodOptions - ): GaxiosPromise; - setIamPolicy( - params: Params$Resource$Disks$Setiampolicy, + ): GaxiosPromise; + getAsyncReplicationStatus( + params: Params$Resource$Disks$Getasyncreplicationstatus, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Disks$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getAsyncReplicationStatus( + params: Params$Resource$Disks$Getasyncreplicationstatus, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Disks$Setiampolicy, - callback: BodyResponseCallback + getAsyncReplicationStatus( + params: Params$Resource$Disks$Getasyncreplicationstatus, + callback: BodyResponseCallback ): void; - setIamPolicy(callback: BodyResponseCallback): void; - setIamPolicy( + getAsyncReplicationStatus( + callback: BodyResponseCallback + ): void; + getAsyncReplicationStatus( paramsOrCallback?: - | Params$Resource$Disks$Setiampolicy - | BodyResponseCallback + | Params$Resource$Disks$Getasyncreplicationstatus + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Disks$Setiampolicy; + {}) as Params$Resource$Disks$Getasyncreplicationstatus; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Setiampolicy; + params = {} as Params$Resource$Disks$Getasyncreplicationstatus; options = {}; } @@ -28652,79 +30176,82 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/disks/{resource}/setIamPolicy' + '/compute/alpha/projects/{project}/zones/{zone}/disks/{disk}/getAsyncReplicationStatus' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'resource'], - pathParams: ['project', 'resource', 'zone'], + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Sets the labels on a disk. To learn more about labels, read the Labeling Resources documentation. + * Gets the access control policy for a resource. May be empty if no such policy or resource exists. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setLabels( - params: Params$Resource$Disks$Setlabels, + getIamPolicy( + params: Params$Resource$Disks$Getiampolicy, options: StreamMethodOptions ): GaxiosPromise; - setLabels( - params?: Params$Resource$Disks$Setlabels, + getIamPolicy( + params?: Params$Resource$Disks$Getiampolicy, options?: MethodOptions - ): GaxiosPromise; - setLabels( - params: Params$Resource$Disks$Setlabels, + ): GaxiosPromise; + getIamPolicy( + params: Params$Resource$Disks$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setLabels( - params: Params$Resource$Disks$Setlabels, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Disks$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setLabels( - params: Params$Resource$Disks$Setlabels, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Disks$Getiampolicy, + callback: BodyResponseCallback ): void; - setLabels(callback: BodyResponseCallback): void; - setLabels( + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( paramsOrCallback?: - | Params$Resource$Disks$Setlabels - | BodyResponseCallback + | Params$Resource$Disks$Getiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { - let params = (paramsOrCallback || {}) as Params$Resource$Disks$Setlabels; + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Disks$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Setlabels; + params = {} as Params$Resource$Disks$Getiampolicy; options = {}; } @@ -28739,9 +30266,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/disks/{resource}/setLabels' + '/compute/alpha/projects/{project}/zones/{zone}/disks/{resource}/getIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options @@ -28752,51 +30279,49 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Starts asynchronous replication. Must be invoked on the primary disk. + * Creates a persistent disk in the specified project using the data in the request. You can create a disk from a source (sourceImage, sourceSnapshot, or sourceDisk) or create an empty 500 GB data disk by omitting all properties. You can also create a disk that is larger than the default size by specifying the sizeGb property. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - startAsyncReplication( - params: Params$Resource$Disks$Startasyncreplication, + insert( + params: Params$Resource$Disks$Insert, options: StreamMethodOptions ): GaxiosPromise; - startAsyncReplication( - params?: Params$Resource$Disks$Startasyncreplication, + insert( + params?: Params$Resource$Disks$Insert, options?: MethodOptions ): GaxiosPromise; - startAsyncReplication( - params: Params$Resource$Disks$Startasyncreplication, + insert( + params: Params$Resource$Disks$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - startAsyncReplication( - params: Params$Resource$Disks$Startasyncreplication, + insert( + params: Params$Resource$Disks$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - startAsyncReplication( - params: Params$Resource$Disks$Startasyncreplication, - callback: BodyResponseCallback - ): void; - startAsyncReplication( + insert( + params: Params$Resource$Disks$Insert, callback: BodyResponseCallback ): void; - startAsyncReplication( + insert(callback: BodyResponseCallback): void; + insert( paramsOrCallback?: - | Params$Resource$Disks$Startasyncreplication + | Params$Resource$Disks$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -28808,13 +30333,12 @@ export namespace compute_alpha { | BodyResponseCallback | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Disks$Startasyncreplication; + let params = (paramsOrCallback || {}) as Params$Resource$Disks$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Startasyncreplication; + params = {} as Params$Resource$Disks$Insert; options = {}; } @@ -28828,8 +30352,7 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/disks/{disk}/startAsyncReplication' + rootUrl + '/compute/alpha/projects/{project}/zones/{zone}/disks' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -28837,8 +30360,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'disk'], - pathParams: ['disk', 'project', 'zone'], + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], context: this.context, }; if (callback) { @@ -28852,59 +30375,56 @@ export namespace compute_alpha { } /** - * Stops asynchronous replication. Can be invoked either on the primary or on the secondary disk. + * Retrieves a list of persistent disks contained within the specified zone. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - stopAsyncReplication( - params: Params$Resource$Disks$Stopasyncreplication, + list( + params: Params$Resource$Disks$List, options: StreamMethodOptions ): GaxiosPromise; - stopAsyncReplication( - params?: Params$Resource$Disks$Stopasyncreplication, + list( + params?: Params$Resource$Disks$List, options?: MethodOptions - ): GaxiosPromise; - stopAsyncReplication( - params: Params$Resource$Disks$Stopasyncreplication, + ): GaxiosPromise; + list( + params: Params$Resource$Disks$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - stopAsyncReplication( - params: Params$Resource$Disks$Stopasyncreplication, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - stopAsyncReplication( - params: Params$Resource$Disks$Stopasyncreplication, - callback: BodyResponseCallback + list( + params: Params$Resource$Disks$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - stopAsyncReplication( - callback: BodyResponseCallback + list( + params: Params$Resource$Disks$List, + callback: BodyResponseCallback ): void; - stopAsyncReplication( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Disks$Stopasyncreplication - | BodyResponseCallback + | Params$Resource$Disks$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Disks$Stopasyncreplication; + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || {}) as Params$Resource$Disks$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Stopasyncreplication; + params = {} as Params$Resource$Disks$List; options = {}; } @@ -28918,65 +30438,64 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/disks/{disk}/stopAsyncReplication' + rootUrl + '/compute/alpha/projects/{project}/zones/{zone}/disks' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'disk'], - pathParams: ['disk', 'project', 'zone'], + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Stops asynchronous replication for a consistency group of disks. Can be invoked either in the primary or secondary scope. + * Removes resource policies from a disk. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - stopGroupAsyncReplication( - params: Params$Resource$Disks$Stopgroupasyncreplication, + removeResourcePolicies( + params: Params$Resource$Disks$Removeresourcepolicies, options: StreamMethodOptions ): GaxiosPromise; - stopGroupAsyncReplication( - params?: Params$Resource$Disks$Stopgroupasyncreplication, + removeResourcePolicies( + params?: Params$Resource$Disks$Removeresourcepolicies, options?: MethodOptions ): GaxiosPromise; - stopGroupAsyncReplication( - params: Params$Resource$Disks$Stopgroupasyncreplication, + removeResourcePolicies( + params: Params$Resource$Disks$Removeresourcepolicies, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - stopGroupAsyncReplication( - params: Params$Resource$Disks$Stopgroupasyncreplication, + removeResourcePolicies( + params: Params$Resource$Disks$Removeresourcepolicies, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - stopGroupAsyncReplication( - params: Params$Resource$Disks$Stopgroupasyncreplication, + removeResourcePolicies( + params: Params$Resource$Disks$Removeresourcepolicies, callback: BodyResponseCallback ): void; - stopGroupAsyncReplication( + removeResourcePolicies( callback: BodyResponseCallback ): void; - stopGroupAsyncReplication( + removeResourcePolicies( paramsOrCallback?: - | Params$Resource$Disks$Stopgroupasyncreplication + | Params$Resource$Disks$Removeresourcepolicies | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -28989,12 +30508,12 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Disks$Stopgroupasyncreplication; + {}) as Params$Resource$Disks$Removeresourcepolicies; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Stopgroupasyncreplication; + params = {} as Params$Resource$Disks$Removeresourcepolicies; options = {}; } @@ -29009,7 +30528,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/disks/stopGroupAsyncReplication' + '/compute/alpha/projects/{project}/zones/{zone}/disks/{disk}/removeResourcePolicies' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -29017,8 +30536,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], context: this.context, }; if (callback) { @@ -29032,64 +30551,144 @@ export namespace compute_alpha { } /** - * Returns permissions that a caller has on the specified resource. + * Resizes the specified persistent disk. You can only increase the size of the disk. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - testIamPermissions( - params: Params$Resource$Disks$Testiampermissions, + resize( + params: Params$Resource$Disks$Resize, options: StreamMethodOptions ): GaxiosPromise; - testIamPermissions( - params?: Params$Resource$Disks$Testiampermissions, + resize( + params?: Params$Resource$Disks$Resize, options?: MethodOptions - ): GaxiosPromise; - testIamPermissions( - params: Params$Resource$Disks$Testiampermissions, + ): GaxiosPromise; + resize( + params: Params$Resource$Disks$Resize, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Disks$Testiampermissions, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + resize( + params: Params$Resource$Disks$Resize, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Disks$Testiampermissions, - callback: BodyResponseCallback + resize( + params: Params$Resource$Disks$Resize, + callback: BodyResponseCallback ): void; - testIamPermissions( - callback: BodyResponseCallback + resize(callback: BodyResponseCallback): void; + resize( + paramsOrCallback?: + | Params$Resource$Disks$Resize + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || {}) as Params$Resource$Disks$Resize; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Disks$Resize; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/disks/{disk}/resize' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Sets the access control policy on the specified resource. Replaces any existing policy. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setIamPolicy( + params: Params$Resource$Disks$Setiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + setIamPolicy( + params?: Params$Resource$Disks$Setiampolicy, + options?: MethodOptions + ): GaxiosPromise; + setIamPolicy( + params: Params$Resource$Disks$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( + setIamPolicy( + params: Params$Resource$Disks$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Disks$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( paramsOrCallback?: - | Params$Resource$Disks$Testiampermissions - | BodyResponseCallback + | Params$Resource$Disks$Setiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Disks$Testiampermissions; + {}) as Params$Resource$Disks$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Testiampermissions; + params = {} as Params$Resource$Disks$Setiampolicy; options = {}; } @@ -29104,7 +30703,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/disks/{resource}/testIamPermissions' + '/compute/alpha/projects/{project}/zones/{zone}/disks/{resource}/setIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -29117,49 +30716,49 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates the specified disk with the data included in the request. The update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: user_license. + * Sets the labels on a disk. To learn more about labels, read the Labeling Resources documentation. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - update( - params: Params$Resource$Disks$Update, + setLabels( + params: Params$Resource$Disks$Setlabels, options: StreamMethodOptions ): GaxiosPromise; - update( - params?: Params$Resource$Disks$Update, + setLabels( + params?: Params$Resource$Disks$Setlabels, options?: MethodOptions ): GaxiosPromise; - update( - params: Params$Resource$Disks$Update, + setLabels( + params: Params$Resource$Disks$Setlabels, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - update( - params: Params$Resource$Disks$Update, + setLabels( + params: Params$Resource$Disks$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - update( - params: Params$Resource$Disks$Update, + setLabels( + params: Params$Resource$Disks$Setlabels, callback: BodyResponseCallback ): void; - update(callback: BodyResponseCallback): void; - update( + setLabels(callback: BodyResponseCallback): void; + setLabels( paramsOrCallback?: - | Params$Resource$Disks$Update + | Params$Resource$Disks$Setlabels | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -29171,12 +30770,12 @@ export namespace compute_alpha { | BodyResponseCallback | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { - let params = (paramsOrCallback || {}) as Params$Resource$Disks$Update; + let params = (paramsOrCallback || {}) as Params$Resource$Disks$Setlabels; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disks$Update; + params = {} as Params$Resource$Disks$Setlabels; options = {}; } @@ -29191,16 +30790,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/disks/{disk}' + '/compute/alpha/projects/{project}/zones/{zone}/disks/{resource}/setLabels' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'disk'], - pathParams: ['disk', 'project', 'zone'], + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], context: this.context, }; if (callback) { @@ -29212,480 +30811,241 @@ export namespace compute_alpha { return createAPIRequest(parameters); } } - } - export interface Params$Resource$Disks$Addresourcepolicies - extends StandardParameters { - /** - * The disk name for this request. - */ - disk?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; /** - * The name of the zone for this request. + * Starts asynchronous replication. Must be invoked on the primary disk. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - zone?: string; + startAsyncReplication( + params: Params$Resource$Disks$Startasyncreplication, + options: StreamMethodOptions + ): GaxiosPromise; + startAsyncReplication( + params?: Params$Resource$Disks$Startasyncreplication, + options?: MethodOptions + ): GaxiosPromise; + startAsyncReplication( + params: Params$Resource$Disks$Startasyncreplication, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + startAsyncReplication( + params: Params$Resource$Disks$Startasyncreplication, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + startAsyncReplication( + params: Params$Resource$Disks$Startasyncreplication, + callback: BodyResponseCallback + ): void; + startAsyncReplication( + callback: BodyResponseCallback + ): void; + startAsyncReplication( + paramsOrCallback?: + | Params$Resource$Disks$Startasyncreplication + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Disks$Startasyncreplication; + let options = (optionsOrCallback || {}) as MethodOptions; - /** - * Request body metadata - */ - requestBody?: Schema$DisksAddResourcePoliciesRequest; - } - export interface Params$Resource$Disks$Aggregatedlist - extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. - */ - filter?: string; - /** - * Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. - */ - includeAllScopes?: boolean; - /** - * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. - */ - returnPartialSuccess?: boolean; - /** - * The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. - */ - serviceProjectNumber?: string; - } - export interface Params$Resource$Disks$Bulkinsert extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Disks$Startasyncreplication; + options = {}; + } - /** - * Request body metadata - */ - requestBody?: Schema$BulkInsertDiskResource; - } - export interface Params$Resource$Disks$Createsnapshot - extends StandardParameters { - /** - * Name of the persistent disk to snapshot. - */ - disk?: string; - /** - * [Input Only] Whether to attempt an application consistent snapshot by informing the OS to prepare for the snapshot process. - */ - guestFlush?: boolean; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } - /** - * Request body metadata - */ - requestBody?: Schema$Snapshot; - } - export interface Params$Resource$Disks$Delete extends StandardParameters { - /** - * Name of the persistent disk to delete. - */ - disk?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Disks$Get extends StandardParameters { - /** - * Name of the persistent disk to return. - */ - disk?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Disks$Getiampolicy - extends StandardParameters { - /** - * Requested IAM Policy version. - */ - optionsRequestedPolicyVersion?: number; - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Disks$Insert extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Source image to restore onto a disk. This field is optional. - */ - sourceImage?: string; - /** - * The name of the zone for this request. - */ - zone?: string; + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/disks/{disk}/startAsyncReplication' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } /** - * Request body metadata - */ - requestBody?: Schema$Disk; - } - export interface Params$Resource$Disks$List extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. + * Stops asynchronous replication. Can be invoked either on the primary or on the secondary disk. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - filter?: string; + stopAsyncReplication( + params: Params$Resource$Disks$Stopasyncreplication, + options: StreamMethodOptions + ): GaxiosPromise; + stopAsyncReplication( + params?: Params$Resource$Disks$Stopasyncreplication, + options?: MethodOptions + ): GaxiosPromise; + stopAsyncReplication( + params: Params$Resource$Disks$Stopasyncreplication, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + stopAsyncReplication( + params: Params$Resource$Disks$Stopasyncreplication, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + stopAsyncReplication( + params: Params$Resource$Disks$Stopasyncreplication, + callback: BodyResponseCallback + ): void; + stopAsyncReplication( + callback: BodyResponseCallback + ): void; + stopAsyncReplication( + paramsOrCallback?: + | Params$Resource$Disks$Stopasyncreplication + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Disks$Stopasyncreplication; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Disks$Stopasyncreplication; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/disks/{disk}/stopAsyncReplication' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** - * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + * Stops asynchronous replication for a consistency group of disks. Can be invoked either in the primary or secondary scope. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. - */ - returnPartialSuccess?: boolean; - /** - * The name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Disks$Removeresourcepolicies - extends StandardParameters { - /** - * The disk name for this request. - */ - disk?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$DisksRemoveResourcePoliciesRequest; - } - export interface Params$Resource$Disks$Resize extends StandardParameters { - /** - * The name of the persistent disk. - */ - disk?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$DisksResizeRequest; - } - export interface Params$Resource$Disks$Setiampolicy - extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$ZoneSetPolicyRequest; - } - export interface Params$Resource$Disks$Setlabels extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$ZoneSetLabelsRequest; - } - export interface Params$Resource$Disks$Startasyncreplication - extends StandardParameters { - /** - * The name of the persistent disk. - */ - disk?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$DisksStartAsyncReplicationRequest; - } - export interface Params$Resource$Disks$Stopasyncreplication - extends StandardParameters { - /** - * The name of the persistent disk. - */ - disk?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Disks$Stopgroupasyncreplication - extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. This must be the zone of the primary or secondary disks in the consistency group. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$DisksStopGroupAsyncReplicationResource; - } - export interface Params$Resource$Disks$Testiampermissions - extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$TestPermissionsRequest; - } - export interface Params$Resource$Disks$Update extends StandardParameters { - /** - * The disk name for this request. - */ - disk?: string; - /** - * - */ - paths?: string[]; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * update_mask indicates fields to be updated as part of this request. - */ - updateMask?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Disk; - } - - export class Resource$Disksettings { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Get Zonal Disk Settings. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Disksettings$Get, + stopGroupAsyncReplication( + params: Params$Resource$Disks$Stopgroupasyncreplication, options: StreamMethodOptions ): GaxiosPromise; - get( - params?: Params$Resource$Disksettings$Get, + stopGroupAsyncReplication( + params?: Params$Resource$Disks$Stopgroupasyncreplication, options?: MethodOptions - ): GaxiosPromise; - get( - params: Params$Resource$Disksettings$Get, + ): GaxiosPromise; + stopGroupAsyncReplication( + params: Params$Resource$Disks$Stopgroupasyncreplication, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Disksettings$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + stopGroupAsyncReplication( + params: Params$Resource$Disks$Stopgroupasyncreplication, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Disksettings$Get, - callback: BodyResponseCallback + stopGroupAsyncReplication( + params: Params$Resource$Disks$Stopgroupasyncreplication, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + stopGroupAsyncReplication( + callback: BodyResponseCallback + ): void; + stopGroupAsyncReplication( paramsOrCallback?: - | Params$Resource$Disksettings$Get - | BodyResponseCallback + | Params$Resource$Disks$Stopgroupasyncreplication + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { - let params = (paramsOrCallback || {}) as Params$Resource$Disksettings$Get; + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Disks$Stopgroupasyncreplication; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disksettings$Get; + params = {} as Params$Resource$Disks$Stopgroupasyncreplication; options = {}; } @@ -29700,9 +31060,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/diskSettings' + '/compute/alpha/projects/{project}/zones/{zone}/disks/stopGroupAsyncReplication' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -29713,67 +31073,74 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Patch Zonal Disk Settings + * Returns permissions that a caller has on the specified resource. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Disksettings$Patch, + testIamPermissions( + params: Params$Resource$Disks$Testiampermissions, options: StreamMethodOptions ): GaxiosPromise; - patch( - params?: Params$Resource$Disksettings$Patch, + testIamPermissions( + params?: Params$Resource$Disks$Testiampermissions, options?: MethodOptions - ): GaxiosPromise; - patch( - params: Params$Resource$Disksettings$Patch, + ): GaxiosPromise; + testIamPermissions( + params: Params$Resource$Disks$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Disksettings$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Disks$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Disksettings$Patch, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Disks$Testiampermissions, + callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( paramsOrCallback?: - | Params$Resource$Disksettings$Patch - | BodyResponseCallback + | Params$Resource$Disks$Testiampermissions + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Disksettings$Patch; + {}) as Params$Resource$Disks$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disksettings$Patch; + params = {} as Params$Resource$Disks$Testiampermissions; options = {}; } @@ -29788,129 +31155,79 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/diskSettings' + '/compute/alpha/projects/{project}/zones/{zone}/disks/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Disksettings$Get extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the zone for this request. - */ - zone?: string; - } - export interface Params$Resource$Disksettings$Patch - extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * update_mask indicates fields to be updated as part of this request. - */ - updateMask?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$DiskSettings; - } - - export class Resource$Disktypes { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Retrieves an aggregated list of disk types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + * Updates the specified disk with the data included in the request. The update is performed only on selected fields included as part of update-mask. Only the following fields can be modified: user_license. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - aggregatedList( - params: Params$Resource$Disktypes$Aggregatedlist, + update( + params: Params$Resource$Disks$Update, options: StreamMethodOptions ): GaxiosPromise; - aggregatedList( - params?: Params$Resource$Disktypes$Aggregatedlist, + update( + params?: Params$Resource$Disks$Update, options?: MethodOptions - ): GaxiosPromise; - aggregatedList( - params: Params$Resource$Disktypes$Aggregatedlist, + ): GaxiosPromise; + update( + params: Params$Resource$Disks$Update, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - aggregatedList( - params: Params$Resource$Disktypes$Aggregatedlist, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - aggregatedList( - params: Params$Resource$Disktypes$Aggregatedlist, - callback: BodyResponseCallback + update( + params: Params$Resource$Disks$Update, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - aggregatedList( - callback: BodyResponseCallback + update( + params: Params$Resource$Disks$Update, + callback: BodyResponseCallback ): void; - aggregatedList( + update(callback: BodyResponseCallback): void; + update( paramsOrCallback?: - | Params$Resource$Disktypes$Aggregatedlist - | BodyResponseCallback + | Params$Resource$Disks$Update + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Disktypes$Aggregatedlist; + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || {}) as Params$Resource$Disks$Update; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disktypes$Aggregatedlist; + params = {} as Params$Resource$Disks$Update; options = {}; } @@ -29924,79 +31241,83 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + '/compute/alpha/projects/{project}/aggregated/diskTypes' + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/disks/{disk}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Returns the specified disk type. + * Wait for replication to catch up on the secondary disk. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Disktypes$Get, + waitForReplicationCatchUp( + params: Params$Resource$Disks$Waitforreplicationcatchup, options: StreamMethodOptions ): GaxiosPromise; - get( - params?: Params$Resource$Disktypes$Get, + waitForReplicationCatchUp( + params?: Params$Resource$Disks$Waitforreplicationcatchup, options?: MethodOptions - ): GaxiosPromise; - get( - params: Params$Resource$Disktypes$Get, + ): GaxiosPromise; + waitForReplicationCatchUp( + params: Params$Resource$Disks$Waitforreplicationcatchup, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Disktypes$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + waitForReplicationCatchUp( + params: Params$Resource$Disks$Waitforreplicationcatchup, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Disktypes$Get, - callback: BodyResponseCallback + waitForReplicationCatchUp( + params: Params$Resource$Disks$Waitforreplicationcatchup, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + waitForReplicationCatchUp( + callback: BodyResponseCallback + ): void; + waitForReplicationCatchUp( paramsOrCallback?: - | Params$Resource$Disktypes$Get - | BodyResponseCallback + | Params$Resource$Disks$Waitforreplicationcatchup + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { - let params = (paramsOrCallback || {}) as Params$Resource$Disktypes$Get; + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Disks$Waitforreplicationcatchup; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Disktypes$Get; + params = {} as Params$Resource$Disks$Waitforreplicationcatchup; options = {}; } @@ -30011,117 +31332,54 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/diskTypes/{diskType}' + '/compute/alpha/projects/{project}/zones/{zone}/disks/{disk}/waitForReplicationCatchUp' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['project', 'zone', 'diskType'], - pathParams: ['diskType', 'project', 'zone'], + requiredParams: ['project', 'zone', 'disk'], + pathParams: ['disk', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Disks$Addresourcepolicies + extends StandardParameters { /** - * Retrieves a list of disk types available to the specified project. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * The disk name for this request. */ - list( - params: Params$Resource$Disktypes$List, - options: StreamMethodOptions - ): GaxiosPromise; - list( - params?: Params$Resource$Disktypes$List, - options?: MethodOptions - ): GaxiosPromise; - list( - params: Params$Resource$Disktypes$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Disktypes$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Disktypes$List, - callback: BodyResponseCallback - ): void; - list(callback: BodyResponseCallback): void; - list( - paramsOrCallback?: - | Params$Resource$Disktypes$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { - let params = (paramsOrCallback || {}) as Params$Resource$Disktypes$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Disktypes$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/diskTypes' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } + /** + * Request body metadata + */ + requestBody?: Schema$DisksAddResourcePoliciesRequest; } - - export interface Params$Resource$Disktypes$Aggregatedlist + export interface Params$Resource$Disks$Aggregatedlist extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. @@ -30156,21 +31414,143 @@ export namespace compute_alpha { */ serviceProjectNumber?: string; } - export interface Params$Resource$Disktypes$Get extends StandardParameters { + export interface Params$Resource$Disks$Bulkinsert extends StandardParameters { /** - * Name of the disk type to return. + * Project ID for this request. */ - diskType?: string; + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BulkInsertDiskResource; + } + export interface Params$Resource$Disks$Createsnapshot + extends StandardParameters { + /** + * Name of the persistent disk to snapshot. + */ + disk?: string; + /** + * [Input Only] Whether to attempt an application consistent snapshot by informing the OS to prepare for the snapshot process. + */ + guestFlush?: boolean; /** * Project ID for this request. */ project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; /** * The name of the zone for this request. */ zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Snapshot; } - export interface Params$Resource$Disktypes$List extends StandardParameters { + export interface Params$Resource$Disks$Delete extends StandardParameters { + /** + * Name of the persistent disk to delete. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Disks$Get extends StandardParameters { + /** + * Name of the persistent disk to return. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Disks$Getasyncreplicationstatus + extends StandardParameters { + /** + * Name of the Disk resource whose Async replication details are requested. Name should conform to RFC1035 or be an unsigned long integer. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Disks$Getiampolicy + extends StandardParameters { + /** + * Requested IAM Policy version. + */ + optionsRequestedPolicyVersion?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Disks$Insert extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Source image to restore onto a disk. This field is optional. + */ + sourceImage?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Disk; + } + export interface Params$Resource$Disks$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. */ @@ -30200,156 +31580,292 @@ export namespace compute_alpha { */ zone?: string; } + export interface Params$Resource$Disks$Removeresourcepolicies + extends StandardParameters { + /** + * The disk name for this request. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$DisksRemoveResourcePoliciesRequest; + } + export interface Params$Resource$Disks$Resize extends StandardParameters { + /** + * The name of the persistent disk. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; - export class Resource$Externalvpngateways { + /** + * Request body metadata + */ + requestBody?: Schema$DisksResizeRequest; + } + export interface Params$Resource$Disks$Setiampolicy + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ZoneSetPolicyRequest; + } + export interface Params$Resource$Disks$Setlabels extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ZoneSetLabelsRequest; + } + export interface Params$Resource$Disks$Startasyncreplication + extends StandardParameters { + /** + * The name of the persistent disk. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$DisksStartAsyncReplicationRequest; + } + export interface Params$Resource$Disks$Stopasyncreplication + extends StandardParameters { + /** + * The name of the persistent disk. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Disks$Stopgroupasyncreplication + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. This must be the zone of the primary or secondary disks in the consistency group. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$DisksStopGroupAsyncReplicationResource; + } + export interface Params$Resource$Disks$Testiampermissions + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + export interface Params$Resource$Disks$Update extends StandardParameters { + /** + * The disk name for this request. + */ + disk?: string; + /** + * + */ + paths?: string[]; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * update_mask indicates fields to be updated as part of this request. + */ + updateMask?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Disk; + } + export interface Params$Resource$Disks$Waitforreplicationcatchup + extends StandardParameters { + /** + * The name of the persistent disk. Name should conform to RFC1035 or be an unsigned long integer. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$WaitForReplicationCatchUpRequest; + } + + export class Resource$Disksettings { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Deletes the specified externalVpnGateway. + * Get Zonal Disk Settings. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Externalvpngateways$Delete, + get( + params: Params$Resource$Disksettings$Get, options: StreamMethodOptions ): GaxiosPromise; - delete( - params?: Params$Resource$Externalvpngateways$Delete, + get( + params?: Params$Resource$Disksettings$Get, options?: MethodOptions - ): GaxiosPromise; - delete( - params: Params$Resource$Externalvpngateways$Delete, + ): GaxiosPromise; + get( + params: Params$Resource$Disksettings$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Externalvpngateways$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Disksettings$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Externalvpngateways$Delete, - callback: BodyResponseCallback + get( + params: Params$Resource$Disksettings$Get, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Externalvpngateways$Delete - | BodyResponseCallback + | Params$Resource$Disksettings$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Externalvpngateways$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Externalvpngateways$Delete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/externalVpnGateways/{externalVpnGateway}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'externalVpnGateway'], - pathParams: ['externalVpnGateway', 'project'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Returns the specified externalVpnGateway. Get a list of available externalVpnGateways by making a list() request. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Externalvpngateways$Get, - options: StreamMethodOptions - ): GaxiosPromise; - get( - params?: Params$Resource$Externalvpngateways$Get, - options?: MethodOptions - ): GaxiosPromise; - get( - params: Params$Resource$Externalvpngateways$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Externalvpngateways$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Externalvpngateways$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Externalvpngateways$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Externalvpngateways$Get; + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || {}) as Params$Resource$Disksettings$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Externalvpngateways$Get; + params = {} as Params$Resource$Disksettings$Get; options = {}; } @@ -30364,7 +31880,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/externalVpnGateways/{externalVpnGateway}' + '/compute/alpha/projects/{project}/zones/{zone}/diskSettings' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -30372,54 +31888,54 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'externalVpnGateway'], - pathParams: ['externalVpnGateway', 'project'], + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Creates a ExternalVpnGateway in the specified project using the data included in the request. + * Patch Zonal Disk Settings * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - insert( - params: Params$Resource$Externalvpngateways$Insert, + patch( + params: Params$Resource$Disksettings$Patch, options: StreamMethodOptions ): GaxiosPromise; - insert( - params?: Params$Resource$Externalvpngateways$Insert, + patch( + params?: Params$Resource$Disksettings$Patch, options?: MethodOptions ): GaxiosPromise; - insert( - params: Params$Resource$Externalvpngateways$Insert, + patch( + params: Params$Resource$Disksettings$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Externalvpngateways$Insert, + patch( + params: Params$Resource$Disksettings$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Externalvpngateways$Insert, + patch( + params: Params$Resource$Disksettings$Patch, callback: BodyResponseCallback ): void; - insert(callback: BodyResponseCallback): void; - insert( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Externalvpngateways$Insert + | Params$Resource$Disksettings$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -30432,12 +31948,12 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Externalvpngateways$Insert; + {}) as Params$Resource$Disksettings$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Externalvpngateways$Insert; + params = {} as Params$Resource$Disksettings$Patch; options = {}; } @@ -30452,16 +31968,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/externalVpnGateways' + '/compute/alpha/projects/{project}/zones/{zone}/diskSettings' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], context: this.context, }; if (callback) { @@ -30473,64 +31989,108 @@ export namespace compute_alpha { return createAPIRequest(parameters); } } + } + export interface Params$Resource$Disksettings$Get extends StandardParameters { /** - * Retrieves the list of ExternalVpnGateway available to the specified project. + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Disksettings$Patch + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * update_mask indicates fields to be updated as part of this request. + */ + updateMask?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$DiskSettings; + } + + export class Resource$Disktypes { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Retrieves an aggregated list of disk types. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Externalvpngateways$List, + aggregatedList( + params: Params$Resource$Disktypes$Aggregatedlist, options: StreamMethodOptions ): GaxiosPromise; - list( - params?: Params$Resource$Externalvpngateways$List, + aggregatedList( + params?: Params$Resource$Disktypes$Aggregatedlist, options?: MethodOptions - ): GaxiosPromise; - list( - params: Params$Resource$Externalvpngateways$List, + ): GaxiosPromise; + aggregatedList( + params: Params$Resource$Disktypes$Aggregatedlist, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Externalvpngateways$List, + aggregatedList( + params: Params$Resource$Disktypes$Aggregatedlist, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Externalvpngateways$List, - callback: BodyResponseCallback + aggregatedList( + params: Params$Resource$Disktypes$Aggregatedlist, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + aggregatedList( + callback: BodyResponseCallback + ): void; + aggregatedList( paramsOrCallback?: - | Params$Resource$Externalvpngateways$List - | BodyResponseCallback + | Params$Resource$Disktypes$Aggregatedlist + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Externalvpngateways$List; + {}) as Params$Resource$Disktypes$Aggregatedlist; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Externalvpngateways$List; + params = {} as Params$Resource$Disktypes$Aggregatedlist; options = {}; } @@ -30544,8 +32104,7 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/projects/{project}/global/externalVpnGateways' + rootUrl + '/compute/alpha/projects/{project}/aggregated/diskTypes' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -30558,67 +32117,66 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Sets the labels on an ExternalVpnGateway. To learn more about labels, read the Labeling Resources documentation. + * Returns the specified disk type. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setLabels( - params: Params$Resource$Externalvpngateways$Setlabels, + get( + params: Params$Resource$Disktypes$Get, options: StreamMethodOptions ): GaxiosPromise; - setLabels( - params?: Params$Resource$Externalvpngateways$Setlabels, + get( + params?: Params$Resource$Disktypes$Get, options?: MethodOptions - ): GaxiosPromise; - setLabels( - params: Params$Resource$Externalvpngateways$Setlabels, + ): GaxiosPromise; + get( + params: Params$Resource$Disktypes$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setLabels( - params: Params$Resource$Externalvpngateways$Setlabels, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Disktypes$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setLabels( - params: Params$Resource$Externalvpngateways$Setlabels, - callback: BodyResponseCallback + get( + params: Params$Resource$Disktypes$Get, + callback: BodyResponseCallback ): void; - setLabels(callback: BodyResponseCallback): void; - setLabels( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Externalvpngateways$Setlabels - | BodyResponseCallback + | Params$Resource$Disktypes$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Externalvpngateways$Setlabels; + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || {}) as Params$Resource$Disktypes$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Externalvpngateways$Setlabels; + params = {} as Params$Resource$Disktypes$Get; options = {}; } @@ -30633,87 +32191,79 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/externalVpnGateways/{resource}/setLabels' + '/compute/alpha/projects/{project}/zones/{zone}/diskTypes/{diskType}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], + requiredParams: ['project', 'zone', 'diskType'], + pathParams: ['diskType', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Returns permissions that a caller has on the specified resource. + * Retrieves a list of disk types available to the specified project. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - testIamPermissions( - params: Params$Resource$Externalvpngateways$Testiampermissions, + list( + params: Params$Resource$Disktypes$List, options: StreamMethodOptions ): GaxiosPromise; - testIamPermissions( - params?: Params$Resource$Externalvpngateways$Testiampermissions, + list( + params?: Params$Resource$Disktypes$List, options?: MethodOptions - ): GaxiosPromise; - testIamPermissions( - params: Params$Resource$Externalvpngateways$Testiampermissions, + ): GaxiosPromise; + list( + params: Params$Resource$Disktypes$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Externalvpngateways$Testiampermissions, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - testIamPermissions( - params: Params$Resource$Externalvpngateways$Testiampermissions, - callback: BodyResponseCallback + list( + params: Params$Resource$Disktypes$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - callback: BodyResponseCallback + list( + params: Params$Resource$Disktypes$List, + callback: BodyResponseCallback ): void; - testIamPermissions( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Externalvpngateways$Testiampermissions - | BodyResponseCallback + | Params$Resource$Disktypes$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Externalvpngateways$Testiampermissions; + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || {}) as Params$Resource$Disktypes$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Externalvpngateways$Testiampermissions; + params = {} as Params$Resource$Disktypes$List; options = {}; } @@ -30728,73 +32278,79 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/externalVpnGateways/{resource}/testIamPermissions' + '/compute/alpha/projects/{project}/zones/{zone}/diskTypes' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } } - export interface Params$Resource$Externalvpngateways$Delete + export interface Params$Resource$Disktypes$Aggregatedlist extends StandardParameters { /** - * Name of the externalVpnGateways to delete. + * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. */ - externalVpnGateway?: string; + filter?: string; /** - * Project ID for this request. + * Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. */ - project?: string; + includeAllScopes?: boolean; /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) */ - requestId?: string; - } - export interface Params$Resource$Externalvpngateways$Get - extends StandardParameters { + maxResults?: number; /** - * Name of the externalVpnGateway to return. + * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. */ - externalVpnGateway?: string; + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + */ + pageToken?: string; /** * Project ID for this request. */ project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. + */ + serviceProjectNumber?: string; } - export interface Params$Resource$Externalvpngateways$Insert - extends StandardParameters { + export interface Params$Resource$Disktypes$Get extends StandardParameters { /** - * Project ID for this request. + * Name of the disk type to return. */ - project?: string; + diskType?: string; /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * Project ID for this request. */ - requestId?: string; - + project?: string; /** - * Request body metadata + * The name of the zone for this request. */ - requestBody?: Schema$ExternalVpnGateway; + zone?: string; } - export interface Params$Resource$Externalvpngateways$List - extends StandardParameters { + export interface Params$Resource$Disktypes$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. */ @@ -30819,80 +32375,52 @@ export namespace compute_alpha { * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. */ returnPartialSuccess?: boolean; - } - export interface Params$Resource$Externalvpngateways$Setlabels - extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GlobalSetLabelsRequest; - } - export interface Params$Resource$Externalvpngateways$Testiampermissions - extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; - /** - * Request body metadata + * The name of the zone for this request. */ - requestBody?: Schema$TestPermissionsRequest; + zone?: string; } - export class Resource$Firewallpolicies { + export class Resource$Externalvpngateways { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Inserts an association for the specified firewall policy. + * Deletes the specified externalVpnGateway. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - addAssociation( - params: Params$Resource$Firewallpolicies$Addassociation, + delete( + params: Params$Resource$Externalvpngateways$Delete, options: StreamMethodOptions ): GaxiosPromise; - addAssociation( - params?: Params$Resource$Firewallpolicies$Addassociation, + delete( + params?: Params$Resource$Externalvpngateways$Delete, options?: MethodOptions ): GaxiosPromise; - addAssociation( - params: Params$Resource$Firewallpolicies$Addassociation, + delete( + params: Params$Resource$Externalvpngateways$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - addAssociation( - params: Params$Resource$Firewallpolicies$Addassociation, + delete( + params: Params$Resource$Externalvpngateways$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - addAssociation( - params: Params$Resource$Firewallpolicies$Addassociation, + delete( + params: Params$Resource$Externalvpngateways$Delete, callback: BodyResponseCallback ): void; - addAssociation(callback: BodyResponseCallback): void; - addAssociation( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Firewallpolicies$Addassociation + | Params$Resource$Externalvpngateways$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -30905,12 +32433,12 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Firewallpolicies$Addassociation; + {}) as Params$Resource$Externalvpngateways$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Firewallpolicies$Addassociation; + params = {} as Params$Resource$Externalvpngateways$Delete; options = {}; } @@ -30925,16 +32453,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/addAssociation' + '/compute/alpha/projects/{project}/global/externalVpnGateways/{externalVpnGateway}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['firewallPolicy'], - pathParams: ['firewallPolicy'], + requiredParams: ['project', 'externalVpnGateway'], + pathParams: ['externalVpnGateway', 'project'], context: this.context, }; if (callback) { @@ -30948,59 +32476,60 @@ export namespace compute_alpha { } /** - * Inserts a packet mirroring rule into a firewall policy. + * Returns the specified externalVpnGateway. Get a list of available externalVpnGateways by making a list() request. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - addPacketMirroringRule( - params: Params$Resource$Firewallpolicies$Addpacketmirroringrule, + get( + params: Params$Resource$Externalvpngateways$Get, options: StreamMethodOptions ): GaxiosPromise; - addPacketMirroringRule( - params?: Params$Resource$Firewallpolicies$Addpacketmirroringrule, + get( + params?: Params$Resource$Externalvpngateways$Get, options?: MethodOptions - ): GaxiosPromise; - addPacketMirroringRule( - params: Params$Resource$Firewallpolicies$Addpacketmirroringrule, + ): GaxiosPromise; + get( + params: Params$Resource$Externalvpngateways$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - addPacketMirroringRule( - params: Params$Resource$Firewallpolicies$Addpacketmirroringrule, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - addPacketMirroringRule( - params: Params$Resource$Firewallpolicies$Addpacketmirroringrule, - callback: BodyResponseCallback + get( + params: Params$Resource$Externalvpngateways$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - addPacketMirroringRule( - callback: BodyResponseCallback + get( + params: Params$Resource$Externalvpngateways$Get, + callback: BodyResponseCallback ): void; - addPacketMirroringRule( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Firewallpolicies$Addpacketmirroringrule - | BodyResponseCallback + | Params$Resource$Externalvpngateways$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Firewallpolicies$Addpacketmirroringrule; + {}) as Params$Resource$Externalvpngateways$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Firewallpolicies$Addpacketmirroringrule; + params = {} as Params$Resource$Externalvpngateways$Get; options = {}; } @@ -31015,62 +32544,62 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/addPacketMirroringRule' + '/compute/alpha/projects/{project}/global/externalVpnGateways/{externalVpnGateway}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['firewallPolicy'], - pathParams: ['firewallPolicy'], + requiredParams: ['project', 'externalVpnGateway'], + pathParams: ['externalVpnGateway', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Inserts a rule into a firewall policy. + * Creates a ExternalVpnGateway in the specified project using the data included in the request. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - addRule( - params: Params$Resource$Firewallpolicies$Addrule, + insert( + params: Params$Resource$Externalvpngateways$Insert, options: StreamMethodOptions ): GaxiosPromise; - addRule( - params?: Params$Resource$Firewallpolicies$Addrule, + insert( + params?: Params$Resource$Externalvpngateways$Insert, options?: MethodOptions ): GaxiosPromise; - addRule( - params: Params$Resource$Firewallpolicies$Addrule, + insert( + params: Params$Resource$Externalvpngateways$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - addRule( - params: Params$Resource$Firewallpolicies$Addrule, + insert( + params: Params$Resource$Externalvpngateways$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - addRule( - params: Params$Resource$Firewallpolicies$Addrule, + insert( + params: Params$Resource$Externalvpngateways$Insert, callback: BodyResponseCallback ): void; - addRule(callback: BodyResponseCallback): void; - addRule( + insert(callback: BodyResponseCallback): void; + insert( paramsOrCallback?: - | Params$Resource$Firewallpolicies$Addrule + | Params$Resource$Externalvpngateways$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -31083,12 +32612,12 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Firewallpolicies$Addrule; + {}) as Params$Resource$Externalvpngateways$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Firewallpolicies$Addrule; + params = {} as Params$Resource$Externalvpngateways$Insert; options = {}; } @@ -31103,7 +32632,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/addRule' + '/compute/alpha/projects/{project}/global/externalVpnGateways' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -31111,8 +32640,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['firewallPolicy'], - pathParams: ['firewallPolicy'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { @@ -31126,57 +32655,62 @@ export namespace compute_alpha { } /** - * Copies rules to the specified firewall policy. + * Retrieves the list of ExternalVpnGateway available to the specified project. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - cloneRules( - params: Params$Resource$Firewallpolicies$Clonerules, + list( + params: Params$Resource$Externalvpngateways$List, options: StreamMethodOptions ): GaxiosPromise; - cloneRules( - params?: Params$Resource$Firewallpolicies$Clonerules, + list( + params?: Params$Resource$Externalvpngateways$List, options?: MethodOptions - ): GaxiosPromise; - cloneRules( - params: Params$Resource$Firewallpolicies$Clonerules, + ): GaxiosPromise; + list( + params: Params$Resource$Externalvpngateways$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - cloneRules( - params: Params$Resource$Firewallpolicies$Clonerules, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Externalvpngateways$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - cloneRules( - params: Params$Resource$Firewallpolicies$Clonerules, - callback: BodyResponseCallback + list( + params: Params$Resource$Externalvpngateways$List, + callback: BodyResponseCallback ): void; - cloneRules(callback: BodyResponseCallback): void; - cloneRules( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Firewallpolicies$Clonerules - | BodyResponseCallback + | Params$Resource$Externalvpngateways$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Firewallpolicies$Clonerules; + {}) as Params$Resource$Externalvpngateways$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Firewallpolicies$Clonerules; + params = {} as Params$Resource$Externalvpngateways$List; options = {}; } @@ -31191,62 +32725,62 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/cloneRules' + '/compute/alpha/projects/{project}/global/externalVpnGateways' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['firewallPolicy'], - pathParams: ['firewallPolicy'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Deletes the specified policy. + * Sets the labels on an ExternalVpnGateway. To learn more about labels, read the Labeling Resources documentation. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Firewallpolicies$Delete, + setLabels( + params: Params$Resource$Externalvpngateways$Setlabels, options: StreamMethodOptions ): GaxiosPromise; - delete( - params?: Params$Resource$Firewallpolicies$Delete, + setLabels( + params?: Params$Resource$Externalvpngateways$Setlabels, options?: MethodOptions ): GaxiosPromise; - delete( - params: Params$Resource$Firewallpolicies$Delete, + setLabels( + params: Params$Resource$Externalvpngateways$Setlabels, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Firewallpolicies$Delete, + setLabels( + params: Params$Resource$Externalvpngateways$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Firewallpolicies$Delete, + setLabels( + params: Params$Resource$Externalvpngateways$Setlabels, callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + setLabels(callback: BodyResponseCallback): void; + setLabels( paramsOrCallback?: - | Params$Resource$Firewallpolicies$Delete + | Params$Resource$Externalvpngateways$Setlabels | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -31259,12 +32793,12 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Firewallpolicies$Delete; + {}) as Params$Resource$Externalvpngateways$Setlabels; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Firewallpolicies$Delete; + params = {} as Params$Resource$Externalvpngateways$Setlabels; options = {}; } @@ -31279,16 +32813,16 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}' + '/compute/alpha/projects/{project}/global/externalVpnGateways/{resource}/setLabels' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['firewallPolicy'], - pathParams: ['firewallPolicy'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { @@ -31302,57 +32836,64 @@ export namespace compute_alpha { } /** - * Returns the specified firewall policy. + * Returns permissions that a caller has on the specified resource. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Firewallpolicies$Get, + testIamPermissions( + params: Params$Resource$Externalvpngateways$Testiampermissions, options: StreamMethodOptions ): GaxiosPromise; - get( - params?: Params$Resource$Firewallpolicies$Get, + testIamPermissions( + params?: Params$Resource$Externalvpngateways$Testiampermissions, options?: MethodOptions - ): GaxiosPromise; - get( - params: Params$Resource$Firewallpolicies$Get, + ): GaxiosPromise; + testIamPermissions( + params: Params$Resource$Externalvpngateways$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Firewallpolicies$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Externalvpngateways$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Firewallpolicies$Get, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Externalvpngateways$Testiampermissions, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( paramsOrCallback?: - | Params$Resource$Firewallpolicies$Get - | BodyResponseCallback + | Params$Resource$Externalvpngateways$Testiampermissions + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Firewallpolicies$Get; + {}) as Params$Resource$Externalvpngateways$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Firewallpolicies$Get; + params = {} as Params$Resource$Externalvpngateways$Testiampermissions; options = {}; } @@ -31367,87 +32908,189 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}' + '/compute/alpha/projects/{project}/global/externalVpnGateways/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['firewallPolicy'], - pathParams: ['firewallPolicy'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Externalvpngateways$Delete + extends StandardParameters { /** - * Gets an association with the specified name. + * Name of the externalVpnGateways to delete. + */ + externalVpnGateway?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Externalvpngateways$Get + extends StandardParameters { + /** + * Name of the externalVpnGateway to return. + */ + externalVpnGateway?: string; + /** + * Project ID for this request. + */ + project?: string; + } + export interface Params$Resource$Externalvpngateways$Insert + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ExternalVpnGateway; + } + export interface Params$Resource$Externalvpngateways$List + extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. + */ + returnPartialSuccess?: boolean; + } + export interface Params$Resource$Externalvpngateways$Setlabels + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GlobalSetLabelsRequest; + } + export interface Params$Resource$Externalvpngateways$Testiampermissions + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + + export class Resource$Firewallpolicies { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Inserts an association for the specified firewall policy. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getAssociation( - params: Params$Resource$Firewallpolicies$Getassociation, + addAssociation( + params: Params$Resource$Firewallpolicies$Addassociation, options: StreamMethodOptions ): GaxiosPromise; - getAssociation( - params?: Params$Resource$Firewallpolicies$Getassociation, + addAssociation( + params?: Params$Resource$Firewallpolicies$Addassociation, options?: MethodOptions - ): GaxiosPromise; - getAssociation( - params: Params$Resource$Firewallpolicies$Getassociation, + ): GaxiosPromise; + addAssociation( + params: Params$Resource$Firewallpolicies$Addassociation, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getAssociation( - params: Params$Resource$Firewallpolicies$Getassociation, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getAssociation( - params: Params$Resource$Firewallpolicies$Getassociation, - callback: BodyResponseCallback + addAssociation( + params: Params$Resource$Firewallpolicies$Addassociation, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getAssociation( - callback: BodyResponseCallback + addAssociation( + params: Params$Resource$Firewallpolicies$Addassociation, + callback: BodyResponseCallback ): void; - getAssociation( + addAssociation(callback: BodyResponseCallback): void; + addAssociation( paramsOrCallback?: - | Params$Resource$Firewallpolicies$Getassociation - | BodyResponseCallback + | Params$Resource$Firewallpolicies$Addassociation + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Firewallpolicies$Getassociation; + {}) as Params$Resource$Firewallpolicies$Addassociation; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Firewallpolicies$Getassociation; + params = {} as Params$Resource$Firewallpolicies$Addassociation; options = {}; } @@ -31462,9 +33105,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/getAssociation' + '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/addAssociation' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -31475,67 +33118,69 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets the access control policy for a resource. May be empty if no such policy or resource exists. + * Inserts a packet mirroring rule into a firewall policy. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getIamPolicy( - params: Params$Resource$Firewallpolicies$Getiampolicy, + addPacketMirroringRule( + params: Params$Resource$Firewallpolicies$Addpacketmirroringrule, options: StreamMethodOptions ): GaxiosPromise; - getIamPolicy( - params?: Params$Resource$Firewallpolicies$Getiampolicy, + addPacketMirroringRule( + params?: Params$Resource$Firewallpolicies$Addpacketmirroringrule, options?: MethodOptions - ): GaxiosPromise; - getIamPolicy( - params: Params$Resource$Firewallpolicies$Getiampolicy, + ): GaxiosPromise; + addPacketMirroringRule( + params: Params$Resource$Firewallpolicies$Addpacketmirroringrule, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Firewallpolicies$Getiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + addPacketMirroringRule( + params: Params$Resource$Firewallpolicies$Addpacketmirroringrule, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Firewallpolicies$Getiampolicy, - callback: BodyResponseCallback + addPacketMirroringRule( + params: Params$Resource$Firewallpolicies$Addpacketmirroringrule, + callback: BodyResponseCallback ): void; - getIamPolicy(callback: BodyResponseCallback): void; - getIamPolicy( + addPacketMirroringRule( + callback: BodyResponseCallback + ): void; + addPacketMirroringRule( paramsOrCallback?: - | Params$Resource$Firewallpolicies$Getiampolicy - | BodyResponseCallback + | Params$Resource$Firewallpolicies$Addpacketmirroringrule + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Firewallpolicies$Getiampolicy; + {}) as Params$Resource$Firewallpolicies$Addpacketmirroringrule; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Firewallpolicies$Getiampolicy; + params = {} as Params$Resource$Firewallpolicies$Addpacketmirroringrule; options = {}; } @@ -31550,85 +33195,80 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/firewallPolicies/{resource}/getIamPolicy' + '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/addPacketMirroringRule' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['firewallPolicy'], + pathParams: ['firewallPolicy'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets a packet mirroring rule of the specified priority. + * Inserts a rule into a firewall policy. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getPacketMirroringRule( - params: Params$Resource$Firewallpolicies$Getpacketmirroringrule, + addRule( + params: Params$Resource$Firewallpolicies$Addrule, options: StreamMethodOptions ): GaxiosPromise; - getPacketMirroringRule( - params?: Params$Resource$Firewallpolicies$Getpacketmirroringrule, + addRule( + params?: Params$Resource$Firewallpolicies$Addrule, options?: MethodOptions - ): GaxiosPromise; - getPacketMirroringRule( - params: Params$Resource$Firewallpolicies$Getpacketmirroringrule, - options: StreamMethodOptions | BodyResponseCallback, + ): GaxiosPromise; + addRule( + params: Params$Resource$Firewallpolicies$Addrule, + options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getPacketMirroringRule( - params: Params$Resource$Firewallpolicies$Getpacketmirroringrule, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getPacketMirroringRule( - params: Params$Resource$Firewallpolicies$Getpacketmirroringrule, - callback: BodyResponseCallback + addRule( + params: Params$Resource$Firewallpolicies$Addrule, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getPacketMirroringRule( - callback: BodyResponseCallback + addRule( + params: Params$Resource$Firewallpolicies$Addrule, + callback: BodyResponseCallback ): void; - getPacketMirroringRule( + addRule(callback: BodyResponseCallback): void; + addRule( paramsOrCallback?: - | Params$Resource$Firewallpolicies$Getpacketmirroringrule - | BodyResponseCallback + | Params$Resource$Firewallpolicies$Addrule + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Firewallpolicies$Getpacketmirroringrule; + {}) as Params$Resource$Firewallpolicies$Addrule; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Firewallpolicies$Getpacketmirroringrule; + params = {} as Params$Resource$Firewallpolicies$Addrule; options = {}; } @@ -31643,9 +33283,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/getPacketMirroringRule' + '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/addRule' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -31656,70 +33296,67 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets a rule of the specified priority. + * Copies rules to the specified firewall policy. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getRule( - params: Params$Resource$Firewallpolicies$Getrule, + cloneRules( + params: Params$Resource$Firewallpolicies$Clonerules, options: StreamMethodOptions ): GaxiosPromise; - getRule( - params?: Params$Resource$Firewallpolicies$Getrule, + cloneRules( + params?: Params$Resource$Firewallpolicies$Clonerules, options?: MethodOptions - ): GaxiosPromise; - getRule( - params: Params$Resource$Firewallpolicies$Getrule, + ): GaxiosPromise; + cloneRules( + params: Params$Resource$Firewallpolicies$Clonerules, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getRule( - params: Params$Resource$Firewallpolicies$Getrule, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + cloneRules( + params: Params$Resource$Firewallpolicies$Clonerules, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getRule( - params: Params$Resource$Firewallpolicies$Getrule, - callback: BodyResponseCallback + cloneRules( + params: Params$Resource$Firewallpolicies$Clonerules, + callback: BodyResponseCallback ): void; - getRule(callback: BodyResponseCallback): void; - getRule( + cloneRules(callback: BodyResponseCallback): void; + cloneRules( paramsOrCallback?: - | Params$Resource$Firewallpolicies$Getrule - | BodyResponseCallback + | Params$Resource$Firewallpolicies$Clonerules + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Firewallpolicies$Getrule; + {}) as Params$Resource$Firewallpolicies$Clonerules; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Firewallpolicies$Getrule; + params = {} as Params$Resource$Firewallpolicies$Clonerules; options = {}; } @@ -31734,9 +33371,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/getRule' + '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/cloneRules' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -31747,49 +33384,49 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Creates a new policy in the specified project using the data included in the request. + * Deletes the specified policy. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - insert( - params: Params$Resource$Firewallpolicies$Insert, + delete( + params: Params$Resource$Firewallpolicies$Delete, options: StreamMethodOptions ): GaxiosPromise; - insert( - params?: Params$Resource$Firewallpolicies$Insert, + delete( + params?: Params$Resource$Firewallpolicies$Delete, options?: MethodOptions ): GaxiosPromise; - insert( - params: Params$Resource$Firewallpolicies$Insert, + delete( + params: Params$Resource$Firewallpolicies$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Firewallpolicies$Insert, + delete( + params: Params$Resource$Firewallpolicies$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - insert( - params: Params$Resource$Firewallpolicies$Insert, + delete( + params: Params$Resource$Firewallpolicies$Delete, callback: BodyResponseCallback ): void; - insert(callback: BodyResponseCallback): void; - insert( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Firewallpolicies$Insert + | Params$Resource$Firewallpolicies$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -31802,12 +33439,12 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Firewallpolicies$Insert; + {}) as Params$Resource$Firewallpolicies$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Firewallpolicies$Insert; + params = {} as Params$Resource$Firewallpolicies$Delete; options = {}; } @@ -31821,16 +33458,17 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + '/compute/alpha/locations/global/firewallPolicies' + rootUrl + + '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: [], - pathParams: [], + requiredParams: ['firewallPolicy'], + pathParams: ['firewallPolicy'], context: this.context, }; if (callback) { @@ -31844,60 +33482,57 @@ export namespace compute_alpha { } /** - * Lists all the policies that have been configured for the specified folder or organization. + * Returns the specified firewall policy. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Firewallpolicies$List, + get( + params: Params$Resource$Firewallpolicies$Get, options: StreamMethodOptions ): GaxiosPromise; - list( - params?: Params$Resource$Firewallpolicies$List, + get( + params?: Params$Resource$Firewallpolicies$Get, options?: MethodOptions - ): GaxiosPromise; - list( - params: Params$Resource$Firewallpolicies$List, + ): GaxiosPromise; + get( + params: Params$Resource$Firewallpolicies$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Firewallpolicies$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Firewallpolicies$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Firewallpolicies$List, - callback: BodyResponseCallback + get( + params: Params$Resource$Firewallpolicies$Get, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Firewallpolicies$List - | BodyResponseCallback + | Params$Resource$Firewallpolicies$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Firewallpolicies$List; + {}) as Params$Resource$Firewallpolicies$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Firewallpolicies$List; + params = {} as Params$Resource$Firewallpolicies$Get; options = {}; } @@ -31911,7 +33546,8 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + '/compute/alpha/locations/global/firewallPolicies' + rootUrl + + '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -31919,79 +33555,79 @@ export namespace compute_alpha { options ), params, - requiredParams: [], - pathParams: [], + requiredParams: ['firewallPolicy'], + pathParams: ['firewallPolicy'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists associations of a specified target, i.e., organization or folder. + * Gets an association with the specified name. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - listAssociations( - params: Params$Resource$Firewallpolicies$Listassociations, + getAssociation( + params: Params$Resource$Firewallpolicies$Getassociation, options: StreamMethodOptions ): GaxiosPromise; - listAssociations( - params?: Params$Resource$Firewallpolicies$Listassociations, + getAssociation( + params?: Params$Resource$Firewallpolicies$Getassociation, options?: MethodOptions - ): GaxiosPromise; - listAssociations( - params: Params$Resource$Firewallpolicies$Listassociations, + ): GaxiosPromise; + getAssociation( + params: Params$Resource$Firewallpolicies$Getassociation, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - listAssociations( - params: Params$Resource$Firewallpolicies$Listassociations, + getAssociation( + params: Params$Resource$Firewallpolicies$Getassociation, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - listAssociations( - params: Params$Resource$Firewallpolicies$Listassociations, - callback: BodyResponseCallback + getAssociation( + params: Params$Resource$Firewallpolicies$Getassociation, + callback: BodyResponseCallback ): void; - listAssociations( - callback: BodyResponseCallback + getAssociation( + callback: BodyResponseCallback ): void; - listAssociations( + getAssociation( paramsOrCallback?: - | Params$Resource$Firewallpolicies$Listassociations - | BodyResponseCallback + | Params$Resource$Firewallpolicies$Getassociation + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Firewallpolicies$Listassociations; + {}) as Params$Resource$Firewallpolicies$Getassociation; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Firewallpolicies$Listassociations; + params = {} as Params$Resource$Firewallpolicies$Getassociation; options = {}; } @@ -32006,7 +33642,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/firewallPolicies/listAssociations' + '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/getAssociation' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -32014,74 +33650,72 @@ export namespace compute_alpha { options ), params, - requiredParams: [], - pathParams: [], + requiredParams: ['firewallPolicy'], + pathParams: ['firewallPolicy'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Moves the specified firewall policy. + * Gets the access control policy for a resource. May be empty if no such policy or resource exists. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - move( - params: Params$Resource$Firewallpolicies$Move, + getIamPolicy( + params: Params$Resource$Firewallpolicies$Getiampolicy, options: StreamMethodOptions ): GaxiosPromise; - move( - params?: Params$Resource$Firewallpolicies$Move, + getIamPolicy( + params?: Params$Resource$Firewallpolicies$Getiampolicy, options?: MethodOptions - ): GaxiosPromise; - move( - params: Params$Resource$Firewallpolicies$Move, + ): GaxiosPromise; + getIamPolicy( + params: Params$Resource$Firewallpolicies$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - move( - params: Params$Resource$Firewallpolicies$Move, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Firewallpolicies$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - move( - params: Params$Resource$Firewallpolicies$Move, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Firewallpolicies$Getiampolicy, + callback: BodyResponseCallback ): void; - move(callback: BodyResponseCallback): void; - move( + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( paramsOrCallback?: - | Params$Resource$Firewallpolicies$Move - | BodyResponseCallback + | Params$Resource$Firewallpolicies$Getiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Firewallpolicies$Move; + {}) as Params$Resource$Firewallpolicies$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Firewallpolicies$Move; + params = {} as Params$Resource$Firewallpolicies$Getiampolicy; options = {}; } @@ -32096,80 +33730,85 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/move' + '/compute/alpha/locations/global/firewallPolicies/{resource}/getIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['firewallPolicy'], - pathParams: ['firewallPolicy'], + requiredParams: ['resource'], + pathParams: ['resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Patches the specified policy with the data included in the request. + * Gets a packet mirroring rule of the specified priority. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Firewallpolicies$Patch, + getPacketMirroringRule( + params: Params$Resource$Firewallpolicies$Getpacketmirroringrule, options: StreamMethodOptions ): GaxiosPromise; - patch( - params?: Params$Resource$Firewallpolicies$Patch, + getPacketMirroringRule( + params?: Params$Resource$Firewallpolicies$Getpacketmirroringrule, options?: MethodOptions - ): GaxiosPromise; - patch( - params: Params$Resource$Firewallpolicies$Patch, + ): GaxiosPromise; + getPacketMirroringRule( + params: Params$Resource$Firewallpolicies$Getpacketmirroringrule, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Firewallpolicies$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getPacketMirroringRule( + params: Params$Resource$Firewallpolicies$Getpacketmirroringrule, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Firewallpolicies$Patch, - callback: BodyResponseCallback + getPacketMirroringRule( + params: Params$Resource$Firewallpolicies$Getpacketmirroringrule, + callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + getPacketMirroringRule( + callback: BodyResponseCallback + ): void; + getPacketMirroringRule( paramsOrCallback?: - | Params$Resource$Firewallpolicies$Patch - | BodyResponseCallback + | Params$Resource$Firewallpolicies$Getpacketmirroringrule + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Firewallpolicies$Patch; + {}) as Params$Resource$Firewallpolicies$Getpacketmirroringrule; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Firewallpolicies$Patch; + params = {} as Params$Resource$Firewallpolicies$Getpacketmirroringrule; options = {}; } @@ -32184,9 +33823,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}' + '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/getPacketMirroringRule' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'GET', apiVersion: '', }, options @@ -32197,70 +33836,70 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Patches a packet mirroring rule of the specified priority. + * Gets a rule of the specified priority. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patchPacketMirroringRule( - params: Params$Resource$Firewallpolicies$Patchpacketmirroringrule, + getRule( + params: Params$Resource$Firewallpolicies$Getrule, options: StreamMethodOptions ): GaxiosPromise; - patchPacketMirroringRule( - params?: Params$Resource$Firewallpolicies$Patchpacketmirroringrule, + getRule( + params?: Params$Resource$Firewallpolicies$Getrule, options?: MethodOptions - ): GaxiosPromise; - patchPacketMirroringRule( - params: Params$Resource$Firewallpolicies$Patchpacketmirroringrule, + ): GaxiosPromise; + getRule( + params: Params$Resource$Firewallpolicies$Getrule, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patchPacketMirroringRule( - params: Params$Resource$Firewallpolicies$Patchpacketmirroringrule, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patchPacketMirroringRule( - params: Params$Resource$Firewallpolicies$Patchpacketmirroringrule, - callback: BodyResponseCallback + getRule( + params: Params$Resource$Firewallpolicies$Getrule, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patchPacketMirroringRule( - callback: BodyResponseCallback + getRule( + params: Params$Resource$Firewallpolicies$Getrule, + callback: BodyResponseCallback ): void; - patchPacketMirroringRule( + getRule(callback: BodyResponseCallback): void; + getRule( paramsOrCallback?: - | Params$Resource$Firewallpolicies$Patchpacketmirroringrule - | BodyResponseCallback + | Params$Resource$Firewallpolicies$Getrule + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Firewallpolicies$Patchpacketmirroringrule; + {}) as Params$Resource$Firewallpolicies$Getrule; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Firewallpolicies$Patchpacketmirroringrule; + params = {} as Params$Resource$Firewallpolicies$Getrule; options = {}; } @@ -32275,9 +33914,9 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/patchPacketMirroringRule' + '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/getRule' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options @@ -32288,49 +33927,49 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Patches a rule of the specified priority. + * Creates a new policy in the specified project using the data included in the request. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patchRule( - params: Params$Resource$Firewallpolicies$Patchrule, + insert( + params: Params$Resource$Firewallpolicies$Insert, options: StreamMethodOptions ): GaxiosPromise; - patchRule( - params?: Params$Resource$Firewallpolicies$Patchrule, + insert( + params?: Params$Resource$Firewallpolicies$Insert, options?: MethodOptions ): GaxiosPromise; - patchRule( - params: Params$Resource$Firewallpolicies$Patchrule, + insert( + params: Params$Resource$Firewallpolicies$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patchRule( - params: Params$Resource$Firewallpolicies$Patchrule, + insert( + params: Params$Resource$Firewallpolicies$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patchRule( - params: Params$Resource$Firewallpolicies$Patchrule, + insert( + params: Params$Resource$Firewallpolicies$Insert, callback: BodyResponseCallback ): void; - patchRule(callback: BodyResponseCallback): void; - patchRule( + insert(callback: BodyResponseCallback): void; + insert( paramsOrCallback?: - | Params$Resource$Firewallpolicies$Patchrule + | Params$Resource$Firewallpolicies$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -32343,12 +33982,12 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Firewallpolicies$Patchrule; + {}) as Params$Resource$Firewallpolicies$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Firewallpolicies$Patchrule; + params = {} as Params$Resource$Firewallpolicies$Insert; options = {}; } @@ -32362,8 +34001,7 @@ export namespace compute_alpha { options: Object.assign( { url: ( - rootUrl + - '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/patchRule' + rootUrl + '/compute/alpha/locations/global/firewallPolicies' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -32371,8 +34009,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['firewallPolicy'], - pathParams: ['firewallPolicy'], + requiredParams: [], + pathParams: [], context: this.context, }; if (callback) { @@ -32386,39 +34024,226 @@ export namespace compute_alpha { } /** - * Removes an association for the specified firewall policy. + * Lists all the policies that have been configured for the specified folder or organization. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - removeAssociation( - params: Params$Resource$Firewallpolicies$Removeassociation, + list( + params: Params$Resource$Firewallpolicies$List, options: StreamMethodOptions ): GaxiosPromise; - removeAssociation( - params?: Params$Resource$Firewallpolicies$Removeassociation, + list( + params?: Params$Resource$Firewallpolicies$List, options?: MethodOptions - ): GaxiosPromise; - removeAssociation( - params: Params$Resource$Firewallpolicies$Removeassociation, + ): GaxiosPromise; + list( + params: Params$Resource$Firewallpolicies$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - removeAssociation( - params: Params$Resource$Firewallpolicies$Removeassociation, + list( + params: Params$Resource$Firewallpolicies$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Firewallpolicies$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Firewallpolicies$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Firewallpolicies$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Firewallpolicies$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/compute/alpha/locations/global/firewallPolicies' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists associations of a specified target, i.e., organization or folder. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + listAssociations( + params: Params$Resource$Firewallpolicies$Listassociations, + options: StreamMethodOptions + ): GaxiosPromise; + listAssociations( + params?: Params$Resource$Firewallpolicies$Listassociations, + options?: MethodOptions + ): GaxiosPromise; + listAssociations( + params: Params$Resource$Firewallpolicies$Listassociations, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listAssociations( + params: Params$Resource$Firewallpolicies$Listassociations, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listAssociations( + params: Params$Resource$Firewallpolicies$Listassociations, + callback: BodyResponseCallback + ): void; + listAssociations( + callback: BodyResponseCallback + ): void; + listAssociations( + paramsOrCallback?: + | Params$Resource$Firewallpolicies$Listassociations + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Firewallpolicies$Listassociations; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Firewallpolicies$Listassociations; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/locations/global/firewallPolicies/listAssociations' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Moves the specified firewall policy. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + move( + params: Params$Resource$Firewallpolicies$Move, + options: StreamMethodOptions + ): GaxiosPromise; + move( + params?: Params$Resource$Firewallpolicies$Move, + options?: MethodOptions + ): GaxiosPromise; + move( + params: Params$Resource$Firewallpolicies$Move, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + move( + params: Params$Resource$Firewallpolicies$Move, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - removeAssociation( - params: Params$Resource$Firewallpolicies$Removeassociation, + move( + params: Params$Resource$Firewallpolicies$Move, callback: BodyResponseCallback ): void; - removeAssociation(callback: BodyResponseCallback): void; - removeAssociation( + move(callback: BodyResponseCallback): void; + move( paramsOrCallback?: - | Params$Resource$Firewallpolicies$Removeassociation + | Params$Resource$Firewallpolicies$Move | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -32431,12 +34256,12 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Firewallpolicies$Removeassociation; + {}) as Params$Resource$Firewallpolicies$Move; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Firewallpolicies$Removeassociation; + params = {} as Params$Resource$Firewallpolicies$Move; options = {}; } @@ -32451,7 +34276,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/removeAssociation' + '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/move' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -32474,41 +34299,129 @@ export namespace compute_alpha { } /** - * Deletes a packet mirroring rule of the specified priority. + * Patches the specified policy with the data included in the request. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - removePacketMirroringRule( - params: Params$Resource$Firewallpolicies$Removepacketmirroringrule, + patch( + params: Params$Resource$Firewallpolicies$Patch, options: StreamMethodOptions ): GaxiosPromise; - removePacketMirroringRule( - params?: Params$Resource$Firewallpolicies$Removepacketmirroringrule, + patch( + params?: Params$Resource$Firewallpolicies$Patch, options?: MethodOptions ): GaxiosPromise; - removePacketMirroringRule( - params: Params$Resource$Firewallpolicies$Removepacketmirroringrule, + patch( + params: Params$Resource$Firewallpolicies$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - removePacketMirroringRule( - params: Params$Resource$Firewallpolicies$Removepacketmirroringrule, + patch( + params: Params$Resource$Firewallpolicies$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - removePacketMirroringRule( - params: Params$Resource$Firewallpolicies$Removepacketmirroringrule, + patch( + params: Params$Resource$Firewallpolicies$Patch, callback: BodyResponseCallback ): void; - removePacketMirroringRule( + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Firewallpolicies$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Firewallpolicies$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Firewallpolicies$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['firewallPolicy'], + pathParams: ['firewallPolicy'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Patches a packet mirroring rule of the specified priority. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patchPacketMirroringRule( + params: Params$Resource$Firewallpolicies$Patchpacketmirroringrule, + options: StreamMethodOptions + ): GaxiosPromise; + patchPacketMirroringRule( + params?: Params$Resource$Firewallpolicies$Patchpacketmirroringrule, + options?: MethodOptions + ): GaxiosPromise; + patchPacketMirroringRule( + params: Params$Resource$Firewallpolicies$Patchpacketmirroringrule, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patchPacketMirroringRule( + params: Params$Resource$Firewallpolicies$Patchpacketmirroringrule, + options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - removePacketMirroringRule( + patchPacketMirroringRule( + params: Params$Resource$Firewallpolicies$Patchpacketmirroringrule, + callback: BodyResponseCallback + ): void; + patchPacketMirroringRule( + callback: BodyResponseCallback + ): void; + patchPacketMirroringRule( paramsOrCallback?: - | Params$Resource$Firewallpolicies$Removepacketmirroringrule + | Params$Resource$Firewallpolicies$Patchpacketmirroringrule | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -32521,13 +34434,13 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Firewallpolicies$Removepacketmirroringrule; + {}) as Params$Resource$Firewallpolicies$Patchpacketmirroringrule; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Firewallpolicies$Removepacketmirroringrule; + {} as Params$Resource$Firewallpolicies$Patchpacketmirroringrule; options = {}; } @@ -32542,7 +34455,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/removePacketMirroringRule' + '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/patchPacketMirroringRule' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -32565,39 +34478,39 @@ export namespace compute_alpha { } /** - * Deletes a rule of the specified priority. + * Patches a rule of the specified priority. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - removeRule( - params: Params$Resource$Firewallpolicies$Removerule, + patchRule( + params: Params$Resource$Firewallpolicies$Patchrule, options: StreamMethodOptions ): GaxiosPromise; - removeRule( - params?: Params$Resource$Firewallpolicies$Removerule, + patchRule( + params?: Params$Resource$Firewallpolicies$Patchrule, options?: MethodOptions ): GaxiosPromise; - removeRule( - params: Params$Resource$Firewallpolicies$Removerule, + patchRule( + params: Params$Resource$Firewallpolicies$Patchrule, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - removeRule( - params: Params$Resource$Firewallpolicies$Removerule, + patchRule( + params: Params$Resource$Firewallpolicies$Patchrule, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - removeRule( - params: Params$Resource$Firewallpolicies$Removerule, + patchRule( + params: Params$Resource$Firewallpolicies$Patchrule, callback: BodyResponseCallback ): void; - removeRule(callback: BodyResponseCallback): void; - removeRule( + patchRule(callback: BodyResponseCallback): void; + patchRule( paramsOrCallback?: - | Params$Resource$Firewallpolicies$Removerule + | Params$Resource$Firewallpolicies$Patchrule | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -32610,12 +34523,12 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Firewallpolicies$Removerule; + {}) as Params$Resource$Firewallpolicies$Patchrule; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Firewallpolicies$Removerule; + params = {} as Params$Resource$Firewallpolicies$Patchrule; options = {}; } @@ -32630,7 +34543,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/removeRule' + '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/patchRule' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -32653,57 +34566,57 @@ export namespace compute_alpha { } /** - * Sets the access control policy on the specified resource. Replaces any existing policy. + * Removes an association for the specified firewall policy. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setIamPolicy( - params: Params$Resource$Firewallpolicies$Setiampolicy, + removeAssociation( + params: Params$Resource$Firewallpolicies$Removeassociation, options: StreamMethodOptions ): GaxiosPromise; - setIamPolicy( - params?: Params$Resource$Firewallpolicies$Setiampolicy, + removeAssociation( + params?: Params$Resource$Firewallpolicies$Removeassociation, options?: MethodOptions - ): GaxiosPromise; - setIamPolicy( - params: Params$Resource$Firewallpolicies$Setiampolicy, + ): GaxiosPromise; + removeAssociation( + params: Params$Resource$Firewallpolicies$Removeassociation, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Firewallpolicies$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + removeAssociation( + params: Params$Resource$Firewallpolicies$Removeassociation, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Firewallpolicies$Setiampolicy, - callback: BodyResponseCallback + removeAssociation( + params: Params$Resource$Firewallpolicies$Removeassociation, + callback: BodyResponseCallback ): void; - setIamPolicy(callback: BodyResponseCallback): void; - setIamPolicy( + removeAssociation(callback: BodyResponseCallback): void; + removeAssociation( paramsOrCallback?: - | Params$Resource$Firewallpolicies$Setiampolicy - | BodyResponseCallback + | Params$Resource$Firewallpolicies$Removeassociation + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Firewallpolicies$Setiampolicy; + {}) as Params$Resource$Firewallpolicies$Removeassociation; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Firewallpolicies$Setiampolicy; + params = {} as Params$Resource$Firewallpolicies$Removeassociation; options = {}; } @@ -32718,7 +34631,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/firewallPolicies/{resource}/setIamPolicy' + '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/removeAssociation' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -32726,79 +34639,75 @@ export namespace compute_alpha { options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['firewallPolicy'], + pathParams: ['firewallPolicy'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Returns permissions that a caller has on the specified resource. + * Deletes a packet mirroring rule of the specified priority. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - testIamPermissions( - params: Params$Resource$Firewallpolicies$Testiampermissions, + removePacketMirroringRule( + params: Params$Resource$Firewallpolicies$Removepacketmirroringrule, options: StreamMethodOptions ): GaxiosPromise; - testIamPermissions( - params?: Params$Resource$Firewallpolicies$Testiampermissions, + removePacketMirroringRule( + params?: Params$Resource$Firewallpolicies$Removepacketmirroringrule, options?: MethodOptions - ): GaxiosPromise; - testIamPermissions( - params: Params$Resource$Firewallpolicies$Testiampermissions, + ): GaxiosPromise; + removePacketMirroringRule( + params: Params$Resource$Firewallpolicies$Removepacketmirroringrule, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Firewallpolicies$Testiampermissions, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + removePacketMirroringRule( + params: Params$Resource$Firewallpolicies$Removepacketmirroringrule, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Firewallpolicies$Testiampermissions, - callback: BodyResponseCallback + removePacketMirroringRule( + params: Params$Resource$Firewallpolicies$Removepacketmirroringrule, + callback: BodyResponseCallback ): void; - testIamPermissions( - callback: BodyResponseCallback + removePacketMirroringRule( + callback: BodyResponseCallback ): void; - testIamPermissions( + removePacketMirroringRule( paramsOrCallback?: - | Params$Resource$Firewallpolicies$Testiampermissions - | BodyResponseCallback + | Params$Resource$Firewallpolicies$Removepacketmirroringrule + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Firewallpolicies$Testiampermissions; + {}) as Params$Resource$Firewallpolicies$Removepacketmirroringrule; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Firewallpolicies$Testiampermissions; + params = + {} as Params$Resource$Firewallpolicies$Removepacketmirroringrule; options = {}; } @@ -32813,7 +34722,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/locations/global/firewallPolicies/{resource}/testIamPermissions' + '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/removePacketMirroringRule' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -32821,42 +34730,313 @@ export namespace compute_alpha { options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['firewallPolicy'], + pathParams: ['firewallPolicy'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Firewallpolicies$Addassociation - extends StandardParameters { - /** - * Name of the firewall policy to update. - */ - firewallPolicy?: string; - /** - * Indicates whether or not to replace it if an association of the attachment already exists. This is false by default, in which case an error will be returned if an association already exists. - */ - replaceExistingAssociation?: boolean; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; /** - * Request body metadata + * Deletes a rule of the specified priority. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - requestBody?: Schema$FirewallPolicyAssociation; - } - export interface Params$Resource$Firewallpolicies$Addpacketmirroringrule + removeRule( + params: Params$Resource$Firewallpolicies$Removerule, + options: StreamMethodOptions + ): GaxiosPromise; + removeRule( + params?: Params$Resource$Firewallpolicies$Removerule, + options?: MethodOptions + ): GaxiosPromise; + removeRule( + params: Params$Resource$Firewallpolicies$Removerule, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + removeRule( + params: Params$Resource$Firewallpolicies$Removerule, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + removeRule( + params: Params$Resource$Firewallpolicies$Removerule, + callback: BodyResponseCallback + ): void; + removeRule(callback: BodyResponseCallback): void; + removeRule( + paramsOrCallback?: + | Params$Resource$Firewallpolicies$Removerule + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Firewallpolicies$Removerule; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Firewallpolicies$Removerule; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/locations/global/firewallPolicies/{firewallPolicy}/removeRule' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['firewallPolicy'], + pathParams: ['firewallPolicy'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Sets the access control policy on the specified resource. Replaces any existing policy. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setIamPolicy( + params: Params$Resource$Firewallpolicies$Setiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + setIamPolicy( + params?: Params$Resource$Firewallpolicies$Setiampolicy, + options?: MethodOptions + ): GaxiosPromise; + setIamPolicy( + params: Params$Resource$Firewallpolicies$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Firewallpolicies$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Firewallpolicies$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Firewallpolicies$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Firewallpolicies$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Firewallpolicies$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/locations/global/firewallPolicies/{resource}/setIamPolicy' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns permissions that a caller has on the specified resource. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + testIamPermissions( + params: Params$Resource$Firewallpolicies$Testiampermissions, + options: StreamMethodOptions + ): GaxiosPromise; + testIamPermissions( + params?: Params$Resource$Firewallpolicies$Testiampermissions, + options?: MethodOptions + ): GaxiosPromise; + testIamPermissions( + params: Params$Resource$Firewallpolicies$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Firewallpolicies$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Firewallpolicies$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Firewallpolicies$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Firewallpolicies$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Firewallpolicies$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/locations/global/firewallPolicies/{resource}/testIamPermissions' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Firewallpolicies$Addassociation + extends StandardParameters { + /** + * Name of the firewall policy to update. + */ + firewallPolicy?: string; + /** + * Indicates whether or not to replace it if an association of the attachment already exists. This is false by default, in which case an error will be returned if an association already exists. + */ + replaceExistingAssociation?: boolean; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$FirewallPolicyAssociation; + } + export interface Params$Resource$Firewallpolicies$Addpacketmirroringrule extends StandardParameters { /** * Name of the firewall policy to update. @@ -48454,7 +50634,7 @@ export namespace compute_alpha { } /** - * Adds a network interface to an instance. + * Adds one dynamic network interface to an active instance. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -49081,7 +51261,7 @@ export namespace compute_alpha { } /** - * Deletes one network interface from an active instance. InstancesDeleteNetworkInterfaceRequest indicates: - instance from which to delete, using project+zone+resource_id fields; - network interface to be deleted, using network_interface_name field; Only VLAN interface deletion is supported for now. + * Deletes one dynamic network interface from an active instance. InstancesDeleteNetworkInterfaceRequest indicates: - instance from which to delete, using project+zone+resource_id fields; - dynamic network interface to be deleted, using network_interface_name field; * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -53530,7 +55710,7 @@ export namespace compute_alpha { */ instance?: string; /** - * If true, skips Graceful Shutdown. + * If set to true, Graceful Shutdown is skipped. */ noGracefulShutdown?: boolean; /** @@ -53580,7 +55760,7 @@ export namespace compute_alpha { */ instance?: string; /** - * The name of the network interface to be deleted from the instance. Only VLAN network interface deletion is supported. + * The name of the dynamic network interface to be deleted from the instance. */ networkInterfaceName?: string; /** @@ -53747,7 +55927,7 @@ export namespace compute_alpha { */ project?: string; /** - * Specifies the starting byte position of the output to return. To start with the first byte of output to the specified port, omit this field or set it to `0`. If the output for that byte position is available, this field matches the `start` parameter sent with the request. If the amount of serial console output exceeds the size of the buffer (1 MB), the oldest output is discarded and is no longer available. If the requested start position refers to discarded output, the start position is adjusted to the oldest output still available, and the adjusted start position is returned as the `start` property value. You can also provide a negative start position, which translates to the most recent number of bytes written to the serial port. For example, -3 is interpreted as the most recent 3 bytes written to the serial console. + * Specifies the starting byte position of the output to return. To start with the first byte of output to the specified port, omit this field or set it to `0`. If the output for that byte position is available, this field matches the `start` parameter sent with the request. If the amount of serial console output exceeds the size of the buffer (1 MB), the oldest output is discarded and is no longer available. If the requested start position refers to discarded output, the start position is adjusted to the oldest output still available, and the adjusted start position is returned as the `start` property value. You can also provide a negative start position, which translates to the most recent number of bytes written to the serial port. For example, -3 is interpreted as the most recent 3 bytes written to the serial console. Note that the negative start is bounded by the retained buffer size, and the returned serial console output will not exceed the max buffer size. */ start?: string; /** @@ -54261,178 +56441,1421 @@ export namespace compute_alpha { */ zone?: string; - /** - * Request body metadata - */ - requestBody?: Schema$Scheduling; - } - export interface Params$Resource$Instances$Setsecuritypolicy - extends StandardParameters { - /** - * Name of the Instance resource to which the security policy should be set. The name should conform to RFC1035. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Name of the zone scoping this request. - */ - zone?: string; + /** + * Request body metadata + */ + requestBody?: Schema$Scheduling; + } + export interface Params$Resource$Instances$Setsecuritypolicy + extends StandardParameters { + /** + * Name of the Instance resource to which the security policy should be set. The name should conform to RFC1035. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the zone scoping this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstancesSetSecurityPolicyRequest; + } + export interface Params$Resource$Instances$Setserviceaccount + extends StandardParameters { + /** + * Name of the instance resource to start. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstancesSetServiceAccountRequest; + } + export interface Params$Resource$Instances$Setshieldedinstanceintegritypolicy + extends StandardParameters { + /** + * Name or id of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ShieldedInstanceIntegrityPolicy; + } + export interface Params$Resource$Instances$Setshieldedvmintegritypolicy + extends StandardParameters { + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ShieldedVmIntegrityPolicy; + } + export interface Params$Resource$Instances$Settags + extends StandardParameters { + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Tags; + } + export interface Params$Resource$Instances$Simulatemaintenanceevent + extends StandardParameters { + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Determines whether the customers receive notifications before migration. Only applicable to SF vms. + */ + withExtendedNotifications?: boolean; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Start extends StandardParameters { + /** + * Name of the instance resource to start. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Startwithencryptionkey + extends StandardParameters { + /** + * Name of the instance resource to start. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstancesStartWithEncryptionKeyRequest; + } + export interface Params$Resource$Instances$Stop extends StandardParameters { + /** + * This property is required if the instance has any attached Local SSD disks. If false, Local SSD data will be preserved when the instance is suspended. If true, the contents of any attached Local SSD disks will be discarded. + */ + discardLocalSsd?: boolean; + /** + * Name of the instance resource to stop. + */ + instance?: string; + /** + * If set to true, Graceful Shutdown is skipped. + */ + noGracefulShutdown?: boolean; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Suspend + extends StandardParameters { + /** + * This property is required if the instance has any attached Local SSD disks. If false, Local SSD data will be preserved when the instance is suspended. If true, the contents of any attached Local SSD disks will be discarded. + */ + discardLocalSsd?: boolean; + /** + * Name of the instance resource to suspend. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instances$Testiampermissions + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + export interface Params$Resource$Instances$Update extends StandardParameters { + /** + * Whether to clear secure tags from the instance. This property if set to true will clear secure tags regardless of the resource.secure_tags. + */ + clearSecureTag?: boolean; + /** + * Name of the instance resource to update. + */ + instance?: string; + /** + * Specifies the action to take when updating an instance even if the updated properties do not require it. If not specified, then Compute Engine acts based on the minimum action that the updated properties require. + */ + minimalAction?: string; + /** + * Specifies the most disruptive action that can be taken on the instance as part of the update. Compute Engine returns an error if the instance properties require a more disruptive action as part of the instance update. Valid options from lowest to highest are NO_EFFECT, REFRESH, and RESTART. + */ + mostDisruptiveAllowedAction?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Instance; + } + export interface Params$Resource$Instances$Updateaccessconfig + extends StandardParameters { + /** + * The instance name for this request. + */ + instance?: string; + /** + * The name of the network interface where the access config is attached. + */ + networkInterface?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$AccessConfig; + } + export interface Params$Resource$Instances$Updatedisplaydevice + extends StandardParameters { + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$DisplayDevice; + } + export interface Params$Resource$Instances$Updatenetworkinterface + extends StandardParameters { + /** + * The instance name for this request. + */ + instance?: string; + /** + * The name of the network interface to update. + */ + networkInterface?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$NetworkInterface; + } + export interface Params$Resource$Instances$Updateshieldedinstanceconfig + extends StandardParameters { + /** + * Name or id of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ShieldedInstanceConfig; + } + export interface Params$Resource$Instances$Updateshieldedvmconfig + extends StandardParameters { + /** + * Name of the instance scoping this request. + */ + instance?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ShieldedVmConfig; + } + + export class Resource$Instancesettings { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Get Instance settings. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Instancesettings$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Instancesettings$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Instancesettings$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Instancesettings$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Instancesettings$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Instancesettings$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancesettings$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancesettings$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceSettings' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Patch Instance settings + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Instancesettings$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Instancesettings$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Instancesettings$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Instancesettings$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Instancesettings$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Instancesettings$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancesettings$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancesettings$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instanceSettings' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Instancesettings$Get + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instancesettings$Patch + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * update_mask indicates fields to be updated as part of this request. + */ + updateMask?: string; + /** + * The zone scoping this request. It should conform to RFC1035. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceSettings; + } + + export class Resource$Instancetemplates { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Retrieves the list of all InstanceTemplates resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + aggregatedList( + params: Params$Resource$Instancetemplates$Aggregatedlist, + options: StreamMethodOptions + ): GaxiosPromise; + aggregatedList( + params?: Params$Resource$Instancetemplates$Aggregatedlist, + options?: MethodOptions + ): GaxiosPromise; + aggregatedList( + params: Params$Resource$Instancetemplates$Aggregatedlist, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + aggregatedList( + params: Params$Resource$Instancetemplates$Aggregatedlist, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + aggregatedList( + params: Params$Resource$Instancetemplates$Aggregatedlist, + callback: BodyResponseCallback + ): void; + aggregatedList( + callback: BodyResponseCallback + ): void; + aggregatedList( + paramsOrCallback?: + | Params$Resource$Instancetemplates$Aggregatedlist + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancetemplates$Aggregatedlist; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancetemplates$Aggregatedlist; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/aggregated/instanceTemplates' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Deletes the specified instance template. Deleting an instance template is permanent and cannot be undone. It is not possible to delete templates that are already in use by a managed instance group. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Instancetemplates$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Instancetemplates$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Instancetemplates$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Instancetemplates$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Instancetemplates$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Instancetemplates$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancetemplates$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancetemplates$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/instanceTemplates/{instanceTemplate}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'instanceTemplate'], + pathParams: ['instanceTemplate', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns the specified instance template. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Instancetemplates$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Instancetemplates$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Instancetemplates$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Instancetemplates$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Instancetemplates$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Instancetemplates$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancetemplates$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancetemplates$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/instanceTemplates/{instanceTemplate}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'instanceTemplate'], + pathParams: ['instanceTemplate', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets the access control policy for a resource. May be empty if no such policy or resource exists. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getIamPolicy( + params: Params$Resource$Instancetemplates$Getiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + getIamPolicy( + params?: Params$Resource$Instancetemplates$Getiampolicy, + options?: MethodOptions + ): GaxiosPromise; + getIamPolicy( + params: Params$Resource$Instancetemplates$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Instancetemplates$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Instancetemplates$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Instancetemplates$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancetemplates$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancetemplates$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/instanceTemplates/{resource}/getIamPolicy' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Creates an instance template in the specified project using the data that is included in the request. If you are creating a new template to update an existing instance group, your new instance template must use the same network or, if applicable, the same subnetwork as the original template. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + insert( + params: Params$Resource$Instancetemplates$Insert, + options: StreamMethodOptions + ): GaxiosPromise; + insert( + params?: Params$Resource$Instancetemplates$Insert, + options?: MethodOptions + ): GaxiosPromise; + insert( + params: Params$Resource$Instancetemplates$Insert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Instancetemplates$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Instancetemplates$Insert, + callback: BodyResponseCallback + ): void; + insert(callback: BodyResponseCallback): void; + insert( + paramsOrCallback?: + | Params$Resource$Instancetemplates$Insert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancetemplates$Insert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancetemplates$Insert; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/instanceTemplates' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieves a list of instance templates that are contained within the specified project. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Instancetemplates$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Instancetemplates$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Instancetemplates$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Instancetemplates$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Instancetemplates$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Instancetemplates$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancetemplates$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancetemplates$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/instanceTemplates' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Sets the access control policy on the specified resource. Replaces any existing policy. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setIamPolicy( + params: Params$Resource$Instancetemplates$Setiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + setIamPolicy( + params?: Params$Resource$Instancetemplates$Setiampolicy, + options?: MethodOptions + ): GaxiosPromise; + setIamPolicy( + params: Params$Resource$Instancetemplates$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Instancetemplates$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Instancetemplates$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Instancetemplates$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancetemplates$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancetemplates$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } - /** - * Request body metadata - */ - requestBody?: Schema$InstancesSetSecurityPolicyRequest; - } - export interface Params$Resource$Instances$Setserviceaccount - extends StandardParameters { - /** - * Name of the instance resource to start. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/instanceTemplates/{resource}/setIamPolicy' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } /** - * Request body metadata - */ - requestBody?: Schema$InstancesSetServiceAccountRequest; - } - export interface Params$Resource$Instances$Setshieldedinstanceintegritypolicy - extends StandardParameters { - /** - * Name or id of the instance scoping this request. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. + * Returns permissions that a caller has on the specified resource. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - zone?: string; + testIamPermissions( + params: Params$Resource$Instancetemplates$Testiampermissions, + options: StreamMethodOptions + ): GaxiosPromise; + testIamPermissions( + params?: Params$Resource$Instancetemplates$Testiampermissions, + options?: MethodOptions + ): GaxiosPromise; + testIamPermissions( + params: Params$Resource$Instancetemplates$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Instancetemplates$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Instancetemplates$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Instancetemplates$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancetemplates$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; - /** - * Request body metadata - */ - requestBody?: Schema$ShieldedInstanceIntegrityPolicy; - } - export interface Params$Resource$Instances$Setshieldedvmintegritypolicy - extends StandardParameters { - /** - * Name of the instance scoping this request. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancetemplates$Testiampermissions; + options = {}; + } - /** - * Request body metadata - */ - requestBody?: Schema$ShieldedVmIntegrityPolicy; - } - export interface Params$Resource$Instances$Settags - extends StandardParameters { - /** - * Name of the instance scoping this request. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } - /** - * Request body metadata - */ - requestBody?: Schema$Tags; + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/instanceTemplates/{resource}/testIamPermissions' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } - export interface Params$Resource$Instances$Simulatemaintenanceevent + + export interface Params$Resource$Instancetemplates$Aggregatedlist extends StandardParameters { /** - * Name of the instance scoping this request. - */ - instance?: string; - /** - * Project ID for this request. + * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. */ - project?: string; + filter?: string; /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. */ - requestId?: string; + includeAllScopes?: boolean; /** - * Determines whether the customers receive notifications before migration. Only applicable to SF vms. + * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) */ - withExtendedNotifications?: boolean; + maxResults?: number; /** - * The name of the zone for this request. + * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. */ - zone?: string; - } - export interface Params$Resource$Instances$Start extends StandardParameters { + orderBy?: string; /** - * Name of the instance resource to start. + * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. */ - instance?: string; + pageToken?: string; /** - * Project ID for this request. + * Name of the project scoping this request. */ project?: string; /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. */ - requestId?: string; + returnPartialSuccess?: boolean; /** - * The name of the zone for this request. + * The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. */ - zone?: string; + serviceProjectNumber?: string; } - export interface Params$Resource$Instances$Startwithencryptionkey + export interface Params$Resource$Instancetemplates$Delete extends StandardParameters { /** - * Name of the instance resource to start. + * The name of the instance template to delete. */ - instance?: string; + instanceTemplate?: string; /** * Project ID for this request. */ @@ -54441,67 +57864,28 @@ export namespace compute_alpha { * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). */ requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$InstancesStartWithEncryptionKeyRequest; } - export interface Params$Resource$Instances$Stop extends StandardParameters { - /** - * This property is required if the instance has any attached Local SSD disks. If false, Local SSD data will be preserved when the instance is suspended. If true, the contents of any attached Local SSD disks will be discarded. - */ - discardLocalSsd?: boolean; - /** - * Name of the instance resource to stop. - */ - instance?: string; + export interface Params$Resource$Instancetemplates$Get + extends StandardParameters { /** - * If true, skips Graceful Shutdown. + * The name of the instance template. */ - noGracefulShutdown?: boolean; + instanceTemplate?: string; /** * Project ID for this request. */ project?: string; /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. + * View of the instance template. */ - zone?: string; + view?: string; } - export interface Params$Resource$Instances$Suspend + export interface Params$Resource$Instancetemplates$Getiampolicy extends StandardParameters { /** - * This property is required if the instance has any attached Local SSD disks. If false, Local SSD data will be preserved when the instance is suspended. If true, the contents of any attached Local SSD disks will be discarded. - */ - discardLocalSsd?: boolean; - /** - * Name of the instance resource to suspend. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. + * Requested IAM Policy version. */ - zone?: string; - } - export interface Params$Resource$Instances$Testiampermissions - extends StandardParameters { + optionsRequestedPolicyVersion?: number; /** * Project ID for this request. */ @@ -54510,33 +57894,9 @@ export namespace compute_alpha { * Name or id of the resource for this request. */ resource?: string; - /** - * The name of the zone for this request. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$TestPermissionsRequest; } - export interface Params$Resource$Instances$Update extends StandardParameters { - /** - * Whether to clear secure tags from the instance. This property if set to true will clear secure tags regardless of the resource.secure_tags. - */ - clearSecureTag?: boolean; - /** - * Name of the instance resource to update. - */ - instance?: string; - /** - * Specifies the action to take when updating an instance even if the updated properties do not require it. If not specified, then Compute Engine acts based on the minimum action that the updated properties require. - */ - minimalAction?: string; - /** - * Specifies the most disruptive action that can be taken on the instance as part of the update. Compute Engine returns an error if the instance properties require a more disruptive action as part of the instance update. Valid options from lowest to highest are NO_EFFECT, REFRESH, and RESTART. - */ - mostDisruptiveAllowedAction?: string; + export interface Params$Resource$Instancetemplates$Insert + extends StandardParameters { /** * Project ID for this request. */ @@ -54545,153 +57905,172 @@ export namespace compute_alpha { * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). */ requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; /** * Request body metadata */ - requestBody?: Schema$Instance; + requestBody?: Schema$InstanceTemplate; } - export interface Params$Resource$Instances$Updateaccessconfig + export interface Params$Resource$Instancetemplates$List extends StandardParameters { /** - * The instance name for this request. - */ - instance?: string; - /** - * The name of the network interface where the access config is attached. - */ - networkInterface?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. */ - requestId?: string; + filter?: string; /** - * The name of the zone for this request. + * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) */ - zone?: string; - + maxResults?: number; /** - * Request body metadata + * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. */ - requestBody?: Schema$AccessConfig; - } - export interface Params$Resource$Instances$Updatedisplaydevice - extends StandardParameters { + orderBy?: string; /** - * Name of the instance scoping this request. + * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. */ - instance?: string; + pageToken?: string; /** * Project ID for this request. */ project?: string; /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. + * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. */ - zone?: string; - + returnPartialSuccess?: boolean; /** - * Request body metadata + * View of the instance template. */ - requestBody?: Schema$DisplayDevice; + view?: string; } - export interface Params$Resource$Instances$Updatenetworkinterface + export interface Params$Resource$Instancetemplates$Setiampolicy extends StandardParameters { - /** - * The instance name for this request. - */ - instance?: string; - /** - * The name of the network interface to update. - */ - networkInterface?: string; /** * Project ID for this request. */ project?: string; /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. + * Name or id of the resource for this request. */ - zone?: string; + resource?: string; /** * Request body metadata */ - requestBody?: Schema$NetworkInterface; + requestBody?: Schema$GlobalSetPolicyRequest; } - export interface Params$Resource$Instances$Updateshieldedinstanceconfig + export interface Params$Resource$Instancetemplates$Testiampermissions extends StandardParameters { - /** - * Name or id of the instance scoping this request. - */ - instance?: string; /** * Project ID for this request. */ project?: string; /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * The name of the zone for this request. + * Name or id of the resource for this request. */ - zone?: string; + resource?: string; /** * Request body metadata */ - requestBody?: Schema$ShieldedInstanceConfig; + requestBody?: Schema$TestPermissionsRequest; } - export interface Params$Resource$Instances$Updateshieldedvmconfig - extends StandardParameters { - /** - * Name of the instance scoping this request. - */ - instance?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; + + export class Resource$Instantsnapshotgroups { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + /** - * The name of the zone for this request. + * deletes a Zonal InstantSnapshotGroup resource + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - zone?: string; + delete( + params: Params$Resource$Instantsnapshotgroups$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Instantsnapshotgroups$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Instantsnapshotgroups$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Instantsnapshotgroups$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Instantsnapshotgroups$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Instantsnapshotgroups$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Instantsnapshotgroups$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; - /** - * Request body metadata - */ - requestBody?: Schema$ShieldedVmConfig; - } + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instantsnapshotgroups$Delete; + options = {}; + } - export class Resource$Instancesettings { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshotGroups/{instantSnapshotGroup}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instantSnapshotGroup'], + pathParams: ['instantSnapshotGroup', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } } /** - * Get Instance settings. + * returns the specified InstantSnapshotGroup resource in the specified zone. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -54699,49 +58078,54 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Instancesettings$Get, + params: Params$Resource$Instantsnapshotgroups$Get, options: StreamMethodOptions ): GaxiosPromise; get( - params?: Params$Resource$Instancesettings$Get, + params?: Params$Resource$Instantsnapshotgroups$Get, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; get( - params: Params$Resource$Instancesettings$Get, + params: Params$Resource$Instantsnapshotgroups$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Instancesettings$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Instantsnapshotgroups$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Instancesettings$Get, - callback: BodyResponseCallback + params: Params$Resource$Instantsnapshotgroups$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Instancesettings$Get - | BodyResponseCallback + | Params$Resource$Instantsnapshotgroups$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instancesettings$Get; + {}) as Params$Resource$Instantsnapshotgroups$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancesettings$Get; + params = {} as Params$Resource$Instantsnapshotgroups$Get; options = {}; } @@ -54756,7 +58140,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceSettings' + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshotGroups/{instantSnapshotGroup}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -54764,54 +58148,142 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project', 'zone', 'instantSnapshotGroup'], + pathParams: ['instantSnapshotGroup', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Patch Instance settings + * Gets the access control policy for a resource. May be empty if no such policy or resource exists. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Instancesettings$Patch, + getIamPolicy( + params: Params$Resource$Instantsnapshotgroups$Getiampolicy, options: StreamMethodOptions ): GaxiosPromise; - patch( - params?: Params$Resource$Instancesettings$Patch, + getIamPolicy( + params?: Params$Resource$Instantsnapshotgroups$Getiampolicy, + options?: MethodOptions + ): GaxiosPromise; + getIamPolicy( + params: Params$Resource$Instantsnapshotgroups$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Instantsnapshotgroups$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Instantsnapshotgroups$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Instantsnapshotgroups$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Instantsnapshotgroups$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instantsnapshotgroups$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshotGroups/{resource}/getIamPolicy' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * inserts a Zonal InstantSnapshotGroup resource + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + insert( + params: Params$Resource$Instantsnapshotgroups$Insert, + options: StreamMethodOptions + ): GaxiosPromise; + insert( + params?: Params$Resource$Instantsnapshotgroups$Insert, options?: MethodOptions ): GaxiosPromise; - patch( - params: Params$Resource$Instancesettings$Patch, + insert( + params: Params$Resource$Instantsnapshotgroups$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Instancesettings$Patch, + insert( + params: Params$Resource$Instantsnapshotgroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Instancesettings$Patch, + insert( + params: Params$Resource$Instantsnapshotgroups$Insert, callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + insert(callback: BodyResponseCallback): void; + insert( paramsOrCallback?: - | Params$Resource$Instancesettings$Patch + | Params$Resource$Instantsnapshotgroups$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -54824,12 +58296,12 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instancesettings$Patch; + {}) as Params$Resource$Instantsnapshotgroups$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancesettings$Patch; + params = {} as Params$Resource$Instantsnapshotgroups$Insert; options = {}; } @@ -54844,9 +58316,104 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instanceSettings' + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshotGroups' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * retrieves the list of InstantSnapshotGroup resources contained within the specified zone. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Instantsnapshotgroups$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Instantsnapshotgroups$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Instantsnapshotgroups$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Instantsnapshotgroups$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Instantsnapshotgroups$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Instantsnapshotgroups$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Instantsnapshotgroups$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instantsnapshotgroups$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshotGroups' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', apiVersion: '', }, options @@ -54857,28 +58424,253 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Sets the access control policy on the specified resource. Replaces any existing policy. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setIamPolicy( + params: Params$Resource$Instantsnapshotgroups$Setiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + setIamPolicy( + params?: Params$Resource$Instantsnapshotgroups$Setiampolicy, + options?: MethodOptions + ): GaxiosPromise; + setIamPolicy( + params: Params$Resource$Instantsnapshotgroups$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Instantsnapshotgroups$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Instantsnapshotgroups$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Instantsnapshotgroups$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Instantsnapshotgroups$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instantsnapshotgroups$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshotGroups/{resource}/setIamPolicy' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns permissions that a caller has on the specified resource. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + testIamPermissions( + params: Params$Resource$Instantsnapshotgroups$Testiampermissions, + options: StreamMethodOptions + ): GaxiosPromise; + testIamPermissions( + params?: Params$Resource$Instantsnapshotgroups$Testiampermissions, + options?: MethodOptions + ): GaxiosPromise; + testIamPermissions( + params: Params$Resource$Instantsnapshotgroups$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Instantsnapshotgroups$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Instantsnapshotgroups$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Instantsnapshotgroups$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Instantsnapshotgroups$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instantsnapshotgroups$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshotGroups/{resource}/testIamPermissions' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } } - export interface Params$Resource$Instancesettings$Get + export interface Params$Resource$Instantsnapshotgroups$Delete extends StandardParameters { + /** + * Name of the InstantSnapshot resource to delete. + */ + instantSnapshotGroup?: string; /** * Project ID for this request. */ project?: string; /** - * Name of the zone for this request. + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone for this request. */ zone?: string; } - export interface Params$Resource$Instancesettings$Patch + export interface Params$Resource$Instantsnapshotgroups$Get + extends StandardParameters { + /** + * Name of the InstantSnapshotGroup resource to return. + */ + instantSnapshotGroup?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instantsnapshotgroups$Getiampolicy + extends StandardParameters { + /** + * Requested IAM Policy version. + */ + optionsRequestedPolicyVersion?: number; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instantsnapshotgroups$Insert extends StandardParameters { /** * Project ID for this request. @@ -54889,28 +58681,99 @@ export namespace compute_alpha { */ requestId?: string; /** - * update_mask indicates fields to be updated as part of this request. + * begin_interface: MixerMutationRequestBuilder */ - updateMask?: string; + sourceConsistencyGroup?: string; /** - * The zone scoping this request. It should conform to RFC1035. + * Name of the zone for this request. */ zone?: string; /** * Request body metadata */ - requestBody?: Schema$InstanceSettings; + requestBody?: Schema$InstantSnapshotGroup; + } + export interface Params$Resource$Instantsnapshotgroups$List + extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The name of the zone for this request. + */ + zone?: string; + } + export interface Params$Resource$Instantsnapshotgroups$Setiampolicy + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ZoneSetPolicyRequest; } + export interface Params$Resource$Instantsnapshotgroups$Testiampermissions + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; - export class Resource$Instancetemplates { + /** + * Request body metadata + */ + requestBody?: Schema$TestPermissionsRequest; + } + + export class Resource$Instantsnapshots { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Retrieves the list of all InstanceTemplates resources, regional and global, available to the specified project. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + * Retrieves an aggregated list of instantSnapshots. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -54918,56 +58781,56 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ aggregatedList( - params: Params$Resource$Instancetemplates$Aggregatedlist, + params: Params$Resource$Instantsnapshots$Aggregatedlist, options: StreamMethodOptions ): GaxiosPromise; aggregatedList( - params?: Params$Resource$Instancetemplates$Aggregatedlist, + params?: Params$Resource$Instantsnapshots$Aggregatedlist, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; aggregatedList( - params: Params$Resource$Instancetemplates$Aggregatedlist, + params: Params$Resource$Instantsnapshots$Aggregatedlist, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; aggregatedList( - params: Params$Resource$Instancetemplates$Aggregatedlist, + params: Params$Resource$Instantsnapshots$Aggregatedlist, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; aggregatedList( - params: Params$Resource$Instancetemplates$Aggregatedlist, - callback: BodyResponseCallback + params: Params$Resource$Instantsnapshots$Aggregatedlist, + callback: BodyResponseCallback ): void; aggregatedList( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; aggregatedList( paramsOrCallback?: - | Params$Resource$Instancetemplates$Aggregatedlist - | BodyResponseCallback + | Params$Resource$Instantsnapshots$Aggregatedlist + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instancetemplates$Aggregatedlist; + {}) as Params$Resource$Instantsnapshots$Aggregatedlist; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancetemplates$Aggregatedlist; + params = {} as Params$Resource$Instantsnapshots$Aggregatedlist; options = {}; } @@ -54982,7 +58845,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/aggregated/instanceTemplates' + '/compute/alpha/projects/{project}/aggregated/instantSnapshots' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -54995,19 +58858,19 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Deletes the specified instance template. Deleting an instance template is permanent and cannot be undone. It is not possible to delete templates that are already in use by a managed instance group. + * Deletes the specified InstantSnapshot resource. Keep in mind that deleting a single instantSnapshot might not necessarily delete all the data on that instantSnapshot. If any data on the instantSnapshot that is marked for deletion is needed for subsequent instantSnapshots, the data will be moved to the next corresponding instantSnapshot. For more information, see Deleting instantSnapshots. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -55015,31 +58878,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Instancetemplates$Delete, + params: Params$Resource$Instantsnapshots$Delete, options: StreamMethodOptions ): GaxiosPromise; delete( - params?: Params$Resource$Instancetemplates$Delete, + params?: Params$Resource$Instantsnapshots$Delete, options?: MethodOptions ): GaxiosPromise; delete( - params: Params$Resource$Instancetemplates$Delete, + params: Params$Resource$Instantsnapshots$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Instancetemplates$Delete, + params: Params$Resource$Instantsnapshots$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Instancetemplates$Delete, + params: Params$Resource$Instantsnapshots$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Instancetemplates$Delete + | Params$Resource$Instantsnapshots$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -55052,12 +58915,12 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instancetemplates$Delete; + {}) as Params$Resource$Instantsnapshots$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancetemplates$Delete; + params = {} as Params$Resource$Instantsnapshots$Delete; options = {}; } @@ -55072,7 +58935,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/instanceTemplates/{instanceTemplate}' + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots/{instantSnapshot}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'DELETE', apiVersion: '', @@ -55080,8 +58943,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'instanceTemplate'], - pathParams: ['instanceTemplate', 'project'], + requiredParams: ['project', 'zone', 'instantSnapshot'], + pathParams: ['instantSnapshot', 'project', 'zone'], context: this.context, }; if (callback) { @@ -55095,7 +58958,7 @@ export namespace compute_alpha { } /** - * Returns the specified instance template. + * Returns the specified InstantSnapshot resource in the specified zone. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -55103,49 +58966,49 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Instancetemplates$Get, + params: Params$Resource$Instantsnapshots$Get, options: StreamMethodOptions ): GaxiosPromise; get( - params?: Params$Resource$Instancetemplates$Get, + params?: Params$Resource$Instantsnapshots$Get, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; get( - params: Params$Resource$Instancetemplates$Get, + params: Params$Resource$Instantsnapshots$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Instancetemplates$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Instantsnapshots$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Instancetemplates$Get, - callback: BodyResponseCallback + params: Params$Resource$Instantsnapshots$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Instancetemplates$Get - | BodyResponseCallback + | Params$Resource$Instantsnapshots$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instancetemplates$Get; + {}) as Params$Resource$Instantsnapshots$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancetemplates$Get; + params = {} as Params$Resource$Instantsnapshots$Get; options = {}; } @@ -55160,7 +59023,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/instanceTemplates/{instanceTemplate}' + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots/{instantSnapshot}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -55168,17 +59031,17 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'instanceTemplate'], - pathParams: ['instanceTemplate', 'project'], + requiredParams: ['project', 'zone', 'instantSnapshot'], + pathParams: ['instantSnapshot', 'project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } @@ -55191,31 +59054,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ getIamPolicy( - params: Params$Resource$Instancetemplates$Getiampolicy, + params: Params$Resource$Instantsnapshots$Getiampolicy, options: StreamMethodOptions ): GaxiosPromise; getIamPolicy( - params?: Params$Resource$Instancetemplates$Getiampolicy, + params?: Params$Resource$Instantsnapshots$Getiampolicy, options?: MethodOptions ): GaxiosPromise; getIamPolicy( - params: Params$Resource$Instancetemplates$Getiampolicy, + params: Params$Resource$Instantsnapshots$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; getIamPolicy( - params: Params$Resource$Instancetemplates$Getiampolicy, + params: Params$Resource$Instantsnapshots$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; getIamPolicy( - params: Params$Resource$Instancetemplates$Getiampolicy, + params: Params$Resource$Instantsnapshots$Getiampolicy, callback: BodyResponseCallback ): void; getIamPolicy(callback: BodyResponseCallback): void; getIamPolicy( paramsOrCallback?: - | Params$Resource$Instancetemplates$Getiampolicy + | Params$Resource$Instantsnapshots$Getiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -55228,12 +59091,12 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instancetemplates$Getiampolicy; + {}) as Params$Resource$Instantsnapshots$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancetemplates$Getiampolicy; + params = {} as Params$Resource$Instantsnapshots$Getiampolicy; options = {}; } @@ -55248,7 +59111,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/instanceTemplates/{resource}/getIamPolicy' + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots/{resource}/getIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -55256,8 +59119,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], context: this.context, }; if (callback) { @@ -55271,7 +59134,7 @@ export namespace compute_alpha { } /** - * Creates an instance template in the specified project using the data that is included in the request. If you are creating a new template to update an existing instance group, your new instance template must use the same network or, if applicable, the same subnetwork as the original template. + * Creates an instant snapshot in the specified zone. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -55279,31 +59142,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ insert( - params: Params$Resource$Instancetemplates$Insert, + params: Params$Resource$Instantsnapshots$Insert, options: StreamMethodOptions ): GaxiosPromise; insert( - params?: Params$Resource$Instancetemplates$Insert, + params?: Params$Resource$Instantsnapshots$Insert, options?: MethodOptions ): GaxiosPromise; insert( - params: Params$Resource$Instancetemplates$Insert, + params: Params$Resource$Instantsnapshots$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Instancetemplates$Insert, + params: Params$Resource$Instantsnapshots$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Instancetemplates$Insert, + params: Params$Resource$Instantsnapshots$Insert, callback: BodyResponseCallback ): void; insert(callback: BodyResponseCallback): void; insert( paramsOrCallback?: - | Params$Resource$Instancetemplates$Insert + | Params$Resource$Instantsnapshots$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -55316,12 +59179,12 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instancetemplates$Insert; + {}) as Params$Resource$Instantsnapshots$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancetemplates$Insert; + params = {} as Params$Resource$Instantsnapshots$Insert; options = {}; } @@ -55336,7 +59199,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/instanceTemplates' + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -55344,8 +59207,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], context: this.context, }; if (callback) { @@ -55359,7 +59222,7 @@ export namespace compute_alpha { } /** - * Retrieves a list of instance templates that are contained within the specified project. + * Retrieves the list of InstantSnapshot resources contained within the specified zone. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -55367,54 +59230,52 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Instancetemplates$List, + params: Params$Resource$Instantsnapshots$List, options: StreamMethodOptions ): GaxiosPromise; list( - params?: Params$Resource$Instancetemplates$List, + params?: Params$Resource$Instantsnapshots$List, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; list( - params: Params$Resource$Instancetemplates$List, + params: Params$Resource$Instantsnapshots$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Instancetemplates$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Instantsnapshots$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Instancetemplates$List, - callback: BodyResponseCallback + params: Params$Resource$Instantsnapshots$List, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Instancetemplates$List - | BodyResponseCallback + | Params$Resource$Instantsnapshots$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instancetemplates$List; + {}) as Params$Resource$Instantsnapshots$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancetemplates$List; + params = {} as Params$Resource$Instantsnapshots$List; options = {}; } @@ -55429,7 +59290,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/instanceTemplates' + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -55437,17 +59298,17 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'zone'], + pathParams: ['project', 'zone'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } @@ -55460,31 +59321,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ setIamPolicy( - params: Params$Resource$Instancetemplates$Setiampolicy, + params: Params$Resource$Instantsnapshots$Setiampolicy, options: StreamMethodOptions ): GaxiosPromise; setIamPolicy( - params?: Params$Resource$Instancetemplates$Setiampolicy, + params?: Params$Resource$Instantsnapshots$Setiampolicy, options?: MethodOptions ): GaxiosPromise; setIamPolicy( - params: Params$Resource$Instancetemplates$Setiampolicy, + params: Params$Resource$Instantsnapshots$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setIamPolicy( - params: Params$Resource$Instancetemplates$Setiampolicy, + params: Params$Resource$Instantsnapshots$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setIamPolicy( - params: Params$Resource$Instancetemplates$Setiampolicy, + params: Params$Resource$Instantsnapshots$Setiampolicy, callback: BodyResponseCallback ): void; setIamPolicy(callback: BodyResponseCallback): void; setIamPolicy( paramsOrCallback?: - | Params$Resource$Instancetemplates$Setiampolicy + | Params$Resource$Instantsnapshots$Setiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -55497,12 +59358,12 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instancetemplates$Setiampolicy; + {}) as Params$Resource$Instantsnapshots$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancetemplates$Setiampolicy; + params = {} as Params$Resource$Instantsnapshots$Setiampolicy; options = {}; } @@ -55517,7 +59378,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/instanceTemplates/{resource}/setIamPolicy' + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots/{resource}/setIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -55525,8 +59386,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], context: this.context, }; if (callback) { @@ -55539,6 +59400,94 @@ export namespace compute_alpha { } } + /** + * Sets the labels on a instantSnapshot in the given zone. To learn more about labels, read the Labeling Resources documentation. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setLabels( + params: Params$Resource$Instantsnapshots$Setlabels, + options: StreamMethodOptions + ): GaxiosPromise; + setLabels( + params?: Params$Resource$Instantsnapshots$Setlabels, + options?: MethodOptions + ): GaxiosPromise; + setLabels( + params: Params$Resource$Instantsnapshots$Setlabels, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setLabels( + params: Params$Resource$Instantsnapshots$Setlabels, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setLabels( + params: Params$Resource$Instantsnapshots$Setlabels, + callback: BodyResponseCallback + ): void; + setLabels(callback: BodyResponseCallback): void; + setLabels( + paramsOrCallback?: + | Params$Resource$Instantsnapshots$Setlabels + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Instantsnapshots$Setlabels; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instantsnapshots$Setlabels; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots/{resource}/setLabels' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Returns permissions that a caller has on the specified resource. * @@ -55548,27 +59497,27 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ testIamPermissions( - params: Params$Resource$Instancetemplates$Testiampermissions, + params: Params$Resource$Instantsnapshots$Testiampermissions, options: StreamMethodOptions ): GaxiosPromise; testIamPermissions( - params?: Params$Resource$Instancetemplates$Testiampermissions, + params?: Params$Resource$Instantsnapshots$Testiampermissions, options?: MethodOptions ): GaxiosPromise; testIamPermissions( - params: Params$Resource$Instancetemplates$Testiampermissions, + params: Params$Resource$Instantsnapshots$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Instancetemplates$Testiampermissions, + params: Params$Resource$Instantsnapshots$Testiampermissions, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Instancetemplates$Testiampermissions, + params: Params$Resource$Instantsnapshots$Testiampermissions, callback: BodyResponseCallback ): void; testIamPermissions( @@ -55576,7 +59525,7 @@ export namespace compute_alpha { ): void; testIamPermissions( paramsOrCallback?: - | Params$Resource$Instancetemplates$Testiampermissions + | Params$Resource$Instantsnapshots$Testiampermissions | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -55592,12 +59541,12 @@ export namespace compute_alpha { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instancetemplates$Testiampermissions; + {}) as Params$Resource$Instantsnapshots$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancetemplates$Testiampermissions; + params = {} as Params$Resource$Instantsnapshots$Testiampermissions; options = {}; } @@ -55612,7 +59561,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/global/instanceTemplates/{resource}/testIamPermissions' + '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -55620,8 +59569,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'resource'], - pathParams: ['project', 'resource'], + requiredParams: ['project', 'zone', 'resource'], + pathParams: ['project', 'resource', 'zone'], context: this.context, }; if (callback) { @@ -55635,7 +59584,7 @@ export namespace compute_alpha { } } - export interface Params$Resource$Instancetemplates$Aggregatedlist + export interface Params$Resource$Instantsnapshots$Aggregatedlist extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. @@ -55658,7 +59607,7 @@ export namespace compute_alpha { */ pageToken?: string; /** - * Name of the project scoping this request. + * Project ID for this request. */ project?: string; /** @@ -55670,12 +59619,12 @@ export namespace compute_alpha { */ serviceProjectNumber?: string; } - export interface Params$Resource$Instancetemplates$Delete + export interface Params$Resource$Instantsnapshots$Delete extends StandardParameters { /** - * The name of the instance template to delete. + * Name of the InstantSnapshot resource to delete. */ - instanceTemplate?: string; + instantSnapshot?: string; /** * Project ID for this request. */ @@ -55684,23 +59633,27 @@ export namespace compute_alpha { * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). */ requestId?: string; + /** + * The name of the zone for this request. + */ + zone?: string; } - export interface Params$Resource$Instancetemplates$Get + export interface Params$Resource$Instantsnapshots$Get extends StandardParameters { /** - * The name of the instance template. + * Name of the InstantSnapshot resource to return. */ - instanceTemplate?: string; + instantSnapshot?: string; /** * Project ID for this request. */ project?: string; /** - * View of the instance template. + * The name of the zone for this request. */ - view?: string; + zone?: string; } - export interface Params$Resource$Instancetemplates$Getiampolicy + export interface Params$Resource$Instantsnapshots$Getiampolicy extends StandardParameters { /** * Requested IAM Policy version. @@ -55714,8 +59667,12 @@ export namespace compute_alpha { * Name or id of the resource for this request. */ resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; } - export interface Params$Resource$Instancetemplates$Insert + export interface Params$Resource$Instantsnapshots$Insert extends StandardParameters { /** * Project ID for this request. @@ -55725,13 +59682,17 @@ export namespace compute_alpha { * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). */ requestId?: string; + /** + * Name of the zone for this request. + */ + zone?: string; /** * Request body metadata */ - requestBody?: Schema$InstanceTemplate; + requestBody?: Schema$InstantSnapshot; } - export interface Params$Resource$Instancetemplates$List + export interface Params$Resource$Instantsnapshots$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. @@ -55758,11 +59719,11 @@ export namespace compute_alpha { */ returnPartialSuccess?: boolean; /** - * View of the instance template. + * The name of the zone for this request. */ - view?: string; + zone?: string; } - export interface Params$Resource$Instancetemplates$Setiampolicy + export interface Params$Resource$Instantsnapshots$Setiampolicy extends StandardParameters { /** * Project ID for this request. @@ -55772,13 +59733,41 @@ export namespace compute_alpha { * Name or id of the resource for this request. */ resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; /** * Request body metadata */ - requestBody?: Schema$GlobalSetPolicyRequest; + requestBody?: Schema$ZoneSetPolicyRequest; } - export interface Params$Resource$Instancetemplates$Testiampermissions + export interface Params$Resource$Instantsnapshots$Setlabels + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ZoneSetLabelsRequest; + } + export interface Params$Resource$Instantsnapshots$Testiampermissions extends StandardParameters { /** * Project ID for this request. @@ -55788,6 +59777,10 @@ export namespace compute_alpha { * Name or id of the resource for this request. */ resource?: string; + /** + * The name of the zone for this request. + */ + zone?: string; /** * Request body metadata @@ -55795,14 +59788,14 @@ export namespace compute_alpha { requestBody?: Schema$TestPermissionsRequest; } - export class Resource$Instantsnapshotgroups { + export class Resource$Interconnectattachmentgroups { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * deletes a Zonal InstantSnapshotGroup resource + * Deletes the specified InterconnectAttachmentGroup in the given scope * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -55810,31 +59803,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Instantsnapshotgroups$Delete, + params: Params$Resource$Interconnectattachmentgroups$Delete, options: StreamMethodOptions ): GaxiosPromise; delete( - params?: Params$Resource$Instantsnapshotgroups$Delete, + params?: Params$Resource$Interconnectattachmentgroups$Delete, options?: MethodOptions ): GaxiosPromise; delete( - params: Params$Resource$Instantsnapshotgroups$Delete, + params: Params$Resource$Interconnectattachmentgroups$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Instantsnapshotgroups$Delete, + params: Params$Resource$Interconnectattachmentgroups$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Instantsnapshotgroups$Delete, + params: Params$Resource$Interconnectattachmentgroups$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Instantsnapshotgroups$Delete + | Params$Resource$Interconnectattachmentgroups$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -55847,12 +59840,12 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshotgroups$Delete; + {}) as Params$Resource$Interconnectattachmentgroups$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshotgroups$Delete; + params = {} as Params$Resource$Interconnectattachmentgroups$Delete; options = {}; } @@ -55867,7 +59860,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshotGroups/{instantSnapshotGroup}' + '/compute/alpha/projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'DELETE', apiVersion: '', @@ -55875,8 +59868,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'instantSnapshotGroup'], - pathParams: ['instantSnapshotGroup', 'project', 'zone'], + requiredParams: ['project', 'interconnectAttachmentGroup'], + pathParams: ['interconnectAttachmentGroup', 'project'], context: this.context, }; if (callback) { @@ -55890,7 +59883,7 @@ export namespace compute_alpha { } /** - * returns the specified InstantSnapshotGroup resource in the specified zone. + * Returns the specified InterconnectAttachmentGroup resource in the given scope. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -55898,54 +59891,56 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Instantsnapshotgroups$Get, + params: Params$Resource$Interconnectattachmentgroups$Get, options: StreamMethodOptions ): GaxiosPromise; get( - params?: Params$Resource$Instantsnapshotgroups$Get, + params?: Params$Resource$Interconnectattachmentgroups$Get, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; get( - params: Params$Resource$Instantsnapshotgroups$Get, + params: Params$Resource$Interconnectattachmentgroups$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Instantsnapshotgroups$Get, + params: Params$Resource$Interconnectattachmentgroups$Get, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Instantsnapshotgroups$Get, - callback: BodyResponseCallback + params: Params$Resource$Interconnectattachmentgroups$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Instantsnapshotgroups$Get - | BodyResponseCallback + | Params$Resource$Interconnectattachmentgroups$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshotgroups$Get; + {}) as Params$Resource$Interconnectattachmentgroups$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshotgroups$Get; + params = {} as Params$Resource$Interconnectattachmentgroups$Get; options = {}; } @@ -55960,7 +59955,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshotGroups/{instantSnapshotGroup}' + '/compute/alpha/projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -55968,17 +59963,17 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'instantSnapshotGroup'], - pathParams: ['instantSnapshotGroup', 'project', 'zone'], + requiredParams: ['project', 'interconnectAttachmentGroup'], + pathParams: ['interconnectAttachmentGroup', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } @@ -55991,31 +59986,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ getIamPolicy( - params: Params$Resource$Instantsnapshotgroups$Getiampolicy, + params: Params$Resource$Interconnectattachmentgroups$Getiampolicy, options: StreamMethodOptions ): GaxiosPromise; getIamPolicy( - params?: Params$Resource$Instantsnapshotgroups$Getiampolicy, + params?: Params$Resource$Interconnectattachmentgroups$Getiampolicy, options?: MethodOptions ): GaxiosPromise; getIamPolicy( - params: Params$Resource$Instantsnapshotgroups$Getiampolicy, + params: Params$Resource$Interconnectattachmentgroups$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; getIamPolicy( - params: Params$Resource$Instantsnapshotgroups$Getiampolicy, + params: Params$Resource$Interconnectattachmentgroups$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; getIamPolicy( - params: Params$Resource$Instantsnapshotgroups$Getiampolicy, + params: Params$Resource$Interconnectattachmentgroups$Getiampolicy, callback: BodyResponseCallback ): void; getIamPolicy(callback: BodyResponseCallback): void; getIamPolicy( paramsOrCallback?: - | Params$Resource$Instantsnapshotgroups$Getiampolicy + | Params$Resource$Interconnectattachmentgroups$Getiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -56028,12 +60023,13 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshotgroups$Getiampolicy; + {}) as Params$Resource$Interconnectattachmentgroups$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshotgroups$Getiampolicy; + params = + {} as Params$Resource$Interconnectattachmentgroups$Getiampolicy; options = {}; } @@ -56048,7 +60044,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshotGroups/{resource}/getIamPolicy' + '/compute/alpha/projects/{project}/global/interconnectAttachmentGroups/{resource}/getIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -56056,8 +60052,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'resource'], - pathParams: ['project', 'resource', 'zone'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { @@ -56071,7 +60067,105 @@ export namespace compute_alpha { } /** - * inserts a Zonal InstantSnapshotGroup resource + * Returns the InterconnectAttachmentStatuses for the specified InterconnectAttachmentGroup resource. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getOperationalStatus( + params: Params$Resource$Interconnectattachmentgroups$Getoperationalstatus, + options: StreamMethodOptions + ): GaxiosPromise; + getOperationalStatus( + params?: Params$Resource$Interconnectattachmentgroups$Getoperationalstatus, + options?: MethodOptions + ): GaxiosPromise; + getOperationalStatus( + params: Params$Resource$Interconnectattachmentgroups$Getoperationalstatus, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getOperationalStatus( + params: Params$Resource$Interconnectattachmentgroups$Getoperationalstatus, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getOperationalStatus( + params: Params$Resource$Interconnectattachmentgroups$Getoperationalstatus, + callback: BodyResponseCallback + ): void; + getOperationalStatus( + callback: BodyResponseCallback + ): void; + getOperationalStatus( + paramsOrCallback?: + | Params$Resource$Interconnectattachmentgroups$Getoperationalstatus + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectattachmentgroups$Getoperationalstatus; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Interconnectattachmentgroups$Getoperationalstatus; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}/getOperationalStatus' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'interconnectAttachmentGroup'], + pathParams: ['interconnectAttachmentGroup', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Creates a InterconnectAttachmentGroup in the specified project in the given scope using the parameters that are included in the request. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -56079,31 +60173,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ insert( - params: Params$Resource$Instantsnapshotgroups$Insert, + params: Params$Resource$Interconnectattachmentgroups$Insert, options: StreamMethodOptions ): GaxiosPromise; insert( - params?: Params$Resource$Instantsnapshotgroups$Insert, + params?: Params$Resource$Interconnectattachmentgroups$Insert, options?: MethodOptions ): GaxiosPromise; insert( - params: Params$Resource$Instantsnapshotgroups$Insert, + params: Params$Resource$Interconnectattachmentgroups$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Instantsnapshotgroups$Insert, + params: Params$Resource$Interconnectattachmentgroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Instantsnapshotgroups$Insert, + params: Params$Resource$Interconnectattachmentgroups$Insert, callback: BodyResponseCallback ): void; insert(callback: BodyResponseCallback): void; insert( paramsOrCallback?: - | Params$Resource$Instantsnapshotgroups$Insert + | Params$Resource$Interconnectattachmentgroups$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -56116,12 +60210,12 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshotgroups$Insert; + {}) as Params$Resource$Interconnectattachmentgroups$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshotgroups$Insert; + params = {} as Params$Resource$Interconnectattachmentgroups$Insert; options = {}; } @@ -56136,7 +60230,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshotGroups' + '/compute/alpha/projects/{project}/global/interconnectAttachmentGroups' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -56144,8 +60238,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { @@ -56159,7 +60253,7 @@ export namespace compute_alpha { } /** - * retrieves the list of InstantSnapshotGroup resources contained within the specified zone. + * Lists the InterconnectAttachmentGroups for a project in the given scope. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -56167,56 +60261,56 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Instantsnapshotgroups$List, + params: Params$Resource$Interconnectattachmentgroups$List, options: StreamMethodOptions ): GaxiosPromise; list( - params?: Params$Resource$Instantsnapshotgroups$List, + params?: Params$Resource$Interconnectattachmentgroups$List, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; list( - params: Params$Resource$Instantsnapshotgroups$List, + params: Params$Resource$Interconnectattachmentgroups$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Instantsnapshotgroups$List, + params: Params$Resource$Interconnectattachmentgroups$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Instantsnapshotgroups$List, - callback: BodyResponseCallback + params: Params$Resource$Interconnectattachmentgroups$List, + callback: BodyResponseCallback ): void; list( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; list( paramsOrCallback?: - | Params$Resource$Instantsnapshotgroups$List - | BodyResponseCallback + | Params$Resource$Interconnectattachmentgroups$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshotgroups$List; + {}) as Params$Resource$Interconnectattachmentgroups$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshotgroups$List; + params = {} as Params$Resource$Interconnectattachmentgroups$List; options = {}; } @@ -56231,7 +60325,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshotGroups' + '/compute/alpha/projects/{project}/global/interconnectAttachmentGroups' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -56239,17 +60333,107 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); + } + } + + /** + * Patches the specified InterconnectAttachmentGroup resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Interconnectattachmentgroups$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Interconnectattachmentgroups$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Interconnectattachmentgroups$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Interconnectattachmentgroups$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Interconnectattachmentgroups$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Interconnectattachmentgroups$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectattachmentgroups$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectattachmentgroups$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/interconnectAttachmentGroups/{interconnectAttachmentGroup}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'interconnectAttachmentGroup'], + pathParams: ['interconnectAttachmentGroup', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); } } @@ -56262,31 +60446,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ setIamPolicy( - params: Params$Resource$Instantsnapshotgroups$Setiampolicy, + params: Params$Resource$Interconnectattachmentgroups$Setiampolicy, options: StreamMethodOptions ): GaxiosPromise; setIamPolicy( - params?: Params$Resource$Instantsnapshotgroups$Setiampolicy, + params?: Params$Resource$Interconnectattachmentgroups$Setiampolicy, options?: MethodOptions ): GaxiosPromise; setIamPolicy( - params: Params$Resource$Instantsnapshotgroups$Setiampolicy, + params: Params$Resource$Interconnectattachmentgroups$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setIamPolicy( - params: Params$Resource$Instantsnapshotgroups$Setiampolicy, + params: Params$Resource$Interconnectattachmentgroups$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setIamPolicy( - params: Params$Resource$Instantsnapshotgroups$Setiampolicy, + params: Params$Resource$Interconnectattachmentgroups$Setiampolicy, callback: BodyResponseCallback ): void; setIamPolicy(callback: BodyResponseCallback): void; setIamPolicy( paramsOrCallback?: - | Params$Resource$Instantsnapshotgroups$Setiampolicy + | Params$Resource$Interconnectattachmentgroups$Setiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -56299,12 +60483,13 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshotgroups$Setiampolicy; + {}) as Params$Resource$Interconnectattachmentgroups$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshotgroups$Setiampolicy; + params = + {} as Params$Resource$Interconnectattachmentgroups$Setiampolicy; options = {}; } @@ -56319,7 +60504,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshotGroups/{resource}/setIamPolicy' + '/compute/alpha/projects/{project}/global/interconnectAttachmentGroups/{resource}/setIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -56327,8 +60512,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'resource'], - pathParams: ['project', 'resource', 'zone'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { @@ -56350,27 +60535,27 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ testIamPermissions( - params: Params$Resource$Instantsnapshotgroups$Testiampermissions, + params: Params$Resource$Interconnectattachmentgroups$Testiampermissions, options: StreamMethodOptions ): GaxiosPromise; testIamPermissions( - params?: Params$Resource$Instantsnapshotgroups$Testiampermissions, + params?: Params$Resource$Interconnectattachmentgroups$Testiampermissions, options?: MethodOptions ): GaxiosPromise; testIamPermissions( - params: Params$Resource$Instantsnapshotgroups$Testiampermissions, + params: Params$Resource$Interconnectattachmentgroups$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Instantsnapshotgroups$Testiampermissions, + params: Params$Resource$Interconnectattachmentgroups$Testiampermissions, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Instantsnapshotgroups$Testiampermissions, + params: Params$Resource$Interconnectattachmentgroups$Testiampermissions, callback: BodyResponseCallback ): void; testIamPermissions( @@ -56378,7 +60563,7 @@ export namespace compute_alpha { ): void; testIamPermissions( paramsOrCallback?: - | Params$Resource$Instantsnapshotgroups$Testiampermissions + | Params$Resource$Interconnectattachmentgroups$Testiampermissions | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -56394,12 +60579,13 @@ export namespace compute_alpha { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshotgroups$Testiampermissions; + {}) as Params$Resource$Interconnectattachmentgroups$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshotgroups$Testiampermissions; + params = + {} as Params$Resource$Interconnectattachmentgroups$Testiampermissions; options = {}; } @@ -56414,7 +60600,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshotGroups/{resource}/testIamPermissions' + '/compute/alpha/projects/{project}/global/interconnectAttachmentGroups/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -56422,8 +60608,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'resource'], - pathParams: ['project', 'resource', 'zone'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { @@ -56437,41 +60623,33 @@ export namespace compute_alpha { } } - export interface Params$Resource$Instantsnapshotgroups$Delete + export interface Params$Resource$Interconnectattachmentgroups$Delete extends StandardParameters { /** - * Name of the InstantSnapshot resource to delete. + * Name of the InterconnectAttachmentGroup resource to delete. */ - instantSnapshotGroup?: string; + interconnectAttachmentGroup?: string; /** * Project ID for this request. */ project?: string; /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder */ requestId?: string; - /** - * The name of the zone for this request. - */ - zone?: string; } - export interface Params$Resource$Instantsnapshotgroups$Get + export interface Params$Resource$Interconnectattachmentgroups$Get extends StandardParameters { /** - * Name of the InstantSnapshotGroup resource to return. + * Name of the InterconnectAttachmentGroup resource to return. */ - instantSnapshotGroup?: string; + interconnectAttachmentGroup?: string; /** * Project ID for this request. */ project?: string; - /** - * The name of the zone for this request. - */ - zone?: string; } - export interface Params$Resource$Instantsnapshotgroups$Getiampolicy + export interface Params$Resource$Interconnectattachmentgroups$Getiampolicy extends StandardParameters { /** * Requested IAM Policy version. @@ -56485,36 +60663,35 @@ export namespace compute_alpha { * Name or id of the resource for this request. */ resource?: string; + } + export interface Params$Resource$Interconnectattachmentgroups$Getoperationalstatus + extends StandardParameters { /** - * The name of the zone for this request. + * Name of the interconnectAttachmentGroup resource to query. */ - zone?: string; + interconnectAttachmentGroup?: string; + /** + * Project ID for this request. + */ + project?: string; } - export interface Params$Resource$Instantsnapshotgroups$Insert + export interface Params$Resource$Interconnectattachmentgroups$Insert extends StandardParameters { /** * Project ID for this request. */ project?: string; /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder */ requestId?: string; - /** - * begin_interface: MixerMutationRequestBuilder - */ - sourceConsistencyGroup?: string; - /** - * Name of the zone for this request. - */ - zone?: string; /** * Request body metadata */ - requestBody?: Schema$InstantSnapshotGroup; + requestBody?: Schema$InterconnectAttachmentGroup; } - export interface Params$Resource$Instantsnapshotgroups$List + export interface Params$Resource$Interconnectattachmentgroups$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. @@ -56540,32 +60717,32 @@ export namespace compute_alpha { * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. */ returnPartialSuccess?: boolean; - /** - * The name of the zone for this request. - */ - zone?: string; } - export interface Params$Resource$Instantsnapshotgroups$Setiampolicy + export interface Params$Resource$Interconnectattachmentgroups$Patch extends StandardParameters { + /** + * Name of the InterconnectAttachmentGroup resource to patch. + */ + interconnectAttachmentGroup?: string; /** * Project ID for this request. */ project?: string; /** - * Name or id of the resource for this request. + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder */ - resource?: string; + requestId?: string; /** - * The name of the zone for this request. + * The list of fields to update. */ - zone?: string; + updateMask?: string; /** * Request body metadata */ - requestBody?: Schema$ZoneSetPolicyRequest; + requestBody?: Schema$InterconnectAttachmentGroup; } - export interface Params$Resource$Instantsnapshotgroups$Testiampermissions + export interface Params$Resource$Interconnectattachmentgroups$Setiampolicy extends StandardParameters { /** * Project ID for this request. @@ -56575,10 +60752,22 @@ export namespace compute_alpha { * Name or id of the resource for this request. */ resource?: string; + /** - * The name of the zone for this request. + * Request body metadata */ - zone?: string; + requestBody?: Schema$GlobalSetPolicyRequest; + } + export interface Params$Resource$Interconnectattachmentgroups$Testiampermissions + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; /** * Request body metadata @@ -56586,14 +60775,14 @@ export namespace compute_alpha { requestBody?: Schema$TestPermissionsRequest; } - export class Resource$Instantsnapshots { + export class Resource$Interconnectattachments { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Retrieves an aggregated list of instantSnapshots. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + * Retrieves an aggregated list of interconnect attachments. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -56601,56 +60790,56 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ aggregatedList( - params: Params$Resource$Instantsnapshots$Aggregatedlist, + params: Params$Resource$Interconnectattachments$Aggregatedlist, options: StreamMethodOptions ): GaxiosPromise; aggregatedList( - params?: Params$Resource$Instantsnapshots$Aggregatedlist, + params?: Params$Resource$Interconnectattachments$Aggregatedlist, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; aggregatedList( - params: Params$Resource$Instantsnapshots$Aggregatedlist, + params: Params$Resource$Interconnectattachments$Aggregatedlist, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; aggregatedList( - params: Params$Resource$Instantsnapshots$Aggregatedlist, + params: Params$Resource$Interconnectattachments$Aggregatedlist, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; aggregatedList( - params: Params$Resource$Instantsnapshots$Aggregatedlist, - callback: BodyResponseCallback + params: Params$Resource$Interconnectattachments$Aggregatedlist, + callback: BodyResponseCallback ): void; aggregatedList( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; aggregatedList( paramsOrCallback?: - | Params$Resource$Instantsnapshots$Aggregatedlist - | BodyResponseCallback + | Params$Resource$Interconnectattachments$Aggregatedlist + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshots$Aggregatedlist; + {}) as Params$Resource$Interconnectattachments$Aggregatedlist; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshots$Aggregatedlist; + params = {} as Params$Resource$Interconnectattachments$Aggregatedlist; options = {}; } @@ -56665,7 +60854,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/aggregated/instantSnapshots' + '/compute/alpha/projects/{project}/aggregated/interconnectAttachments' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -56678,19 +60867,19 @@ export namespace compute_alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Deletes the specified InstantSnapshot resource. Keep in mind that deleting a single instantSnapshot might not necessarily delete all the data on that instantSnapshot. If any data on the instantSnapshot that is marked for deletion is needed for subsequent instantSnapshots, the data will be moved to the next corresponding instantSnapshot. For more information, see Deleting instantSnapshots. + * Deletes the specified interconnect attachment. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -56698,31 +60887,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Instantsnapshots$Delete, + params: Params$Resource$Interconnectattachments$Delete, options: StreamMethodOptions ): GaxiosPromise; delete( - params?: Params$Resource$Instantsnapshots$Delete, + params?: Params$Resource$Interconnectattachments$Delete, options?: MethodOptions ): GaxiosPromise; delete( - params: Params$Resource$Instantsnapshots$Delete, + params: Params$Resource$Interconnectattachments$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Instantsnapshots$Delete, + params: Params$Resource$Interconnectattachments$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Instantsnapshots$Delete, + params: Params$Resource$Interconnectattachments$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Instantsnapshots$Delete + | Params$Resource$Interconnectattachments$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -56735,12 +60924,12 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshots$Delete; + {}) as Params$Resource$Interconnectattachments$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshots$Delete; + params = {} as Params$Resource$Interconnectattachments$Delete; options = {}; } @@ -56755,7 +60944,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots/{instantSnapshot}' + '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'DELETE', apiVersion: '', @@ -56763,8 +60952,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'instantSnapshot'], - pathParams: ['instantSnapshot', 'project', 'zone'], + requiredParams: ['project', 'region', 'interconnectAttachment'], + pathParams: ['interconnectAttachment', 'project', 'region'], context: this.context, }; if (callback) { @@ -56778,7 +60967,7 @@ export namespace compute_alpha { } /** - * Returns the specified InstantSnapshot resource in the specified zone. + * Returns the specified interconnect attachment. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -56786,49 +60975,54 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Instantsnapshots$Get, + params: Params$Resource$Interconnectattachments$Get, options: StreamMethodOptions ): GaxiosPromise; get( - params?: Params$Resource$Instantsnapshots$Get, + params?: Params$Resource$Interconnectattachments$Get, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; get( - params: Params$Resource$Instantsnapshots$Get, + params: Params$Resource$Interconnectattachments$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Instantsnapshots$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Interconnectattachments$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Instantsnapshots$Get, - callback: BodyResponseCallback + params: Params$Resource$Interconnectattachments$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Instantsnapshots$Get - | BodyResponseCallback + | Params$Resource$Interconnectattachments$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshots$Get; + {}) as Params$Resource$Interconnectattachments$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshots$Get; + params = {} as Params$Resource$Interconnectattachments$Get; options = {}; } @@ -56843,7 +61037,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots/{instantSnapshot}' + '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -56851,17 +61045,17 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'instantSnapshot'], - pathParams: ['instantSnapshot', 'project', 'zone'], + requiredParams: ['project', 'region', 'interconnectAttachment'], + pathParams: ['interconnectAttachment', 'project', 'region'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } @@ -56874,31 +61068,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ getIamPolicy( - params: Params$Resource$Instantsnapshots$Getiampolicy, + params: Params$Resource$Interconnectattachments$Getiampolicy, options: StreamMethodOptions ): GaxiosPromise; getIamPolicy( - params?: Params$Resource$Instantsnapshots$Getiampolicy, + params?: Params$Resource$Interconnectattachments$Getiampolicy, options?: MethodOptions ): GaxiosPromise; getIamPolicy( - params: Params$Resource$Instantsnapshots$Getiampolicy, + params: Params$Resource$Interconnectattachments$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; getIamPolicy( - params: Params$Resource$Instantsnapshots$Getiampolicy, + params: Params$Resource$Interconnectattachments$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; getIamPolicy( - params: Params$Resource$Instantsnapshots$Getiampolicy, + params: Params$Resource$Interconnectattachments$Getiampolicy, callback: BodyResponseCallback ): void; getIamPolicy(callback: BodyResponseCallback): void; getIamPolicy( paramsOrCallback?: - | Params$Resource$Instantsnapshots$Getiampolicy + | Params$Resource$Interconnectattachments$Getiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -56911,12 +61105,12 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshots$Getiampolicy; + {}) as Params$Resource$Interconnectattachments$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshots$Getiampolicy; + params = {} as Params$Resource$Interconnectattachments$Getiampolicy; options = {}; } @@ -56931,7 +61125,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots/{resource}/getIamPolicy' + '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{resource}/getIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -56939,8 +61133,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'resource'], - pathParams: ['project', 'resource', 'zone'], + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], context: this.context, }; if (callback) { @@ -56954,7 +61148,7 @@ export namespace compute_alpha { } /** - * Creates an instant snapshot in the specified zone. + * Creates an InterconnectAttachment in the specified project using the data included in the request. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -56962,31 +61156,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ insert( - params: Params$Resource$Instantsnapshots$Insert, + params: Params$Resource$Interconnectattachments$Insert, options: StreamMethodOptions ): GaxiosPromise; insert( - params?: Params$Resource$Instantsnapshots$Insert, + params?: Params$Resource$Interconnectattachments$Insert, options?: MethodOptions ): GaxiosPromise; insert( - params: Params$Resource$Instantsnapshots$Insert, + params: Params$Resource$Interconnectattachments$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Instantsnapshots$Insert, + params: Params$Resource$Interconnectattachments$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Instantsnapshots$Insert, + params: Params$Resource$Interconnectattachments$Insert, callback: BodyResponseCallback ): void; insert(callback: BodyResponseCallback): void; insert( paramsOrCallback?: - | Params$Resource$Instantsnapshots$Insert + | Params$Resource$Interconnectattachments$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -56999,12 +61193,12 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshots$Insert; + {}) as Params$Resource$Interconnectattachments$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshots$Insert; + params = {} as Params$Resource$Interconnectattachments$Insert; options = {}; } @@ -57019,7 +61213,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots' + '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -57027,8 +61221,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], context: this.context, }; if (callback) { @@ -57042,7 +61236,7 @@ export namespace compute_alpha { } /** - * Retrieves the list of InstantSnapshot resources contained within the specified zone. + * Retrieves the list of interconnect attachments contained within the specified region. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -57050,52 +61244,56 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Instantsnapshots$List, + params: Params$Resource$Interconnectattachments$List, options: StreamMethodOptions ): GaxiosPromise; list( - params?: Params$Resource$Instantsnapshots$List, + params?: Params$Resource$Interconnectattachments$List, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; list( - params: Params$Resource$Instantsnapshots$List, + params: Params$Resource$Interconnectattachments$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Instantsnapshots$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Interconnectattachments$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Instantsnapshots$List, - callback: BodyResponseCallback + params: Params$Resource$Interconnectattachments$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Instantsnapshots$List - | BodyResponseCallback + | Params$Resource$Interconnectattachments$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshots$List; + {}) as Params$Resource$Interconnectattachments$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshots$List; + params = {} as Params$Resource$Interconnectattachments$List; options = {}; } @@ -57110,7 +61308,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots' + '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -57118,17 +61316,105 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); + } + } + + /** + * Updates the specified interconnect attachment with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Interconnectattachments$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Interconnectattachments$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Interconnectattachments$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Interconnectattachments$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Interconnectattachments$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Interconnectattachments$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Interconnectattachments$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Interconnectattachments$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region', 'interconnectAttachment'], + pathParams: ['interconnectAttachment', 'project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); } } @@ -57141,31 +61427,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ setIamPolicy( - params: Params$Resource$Instantsnapshots$Setiampolicy, + params: Params$Resource$Interconnectattachments$Setiampolicy, options: StreamMethodOptions ): GaxiosPromise; setIamPolicy( - params?: Params$Resource$Instantsnapshots$Setiampolicy, + params?: Params$Resource$Interconnectattachments$Setiampolicy, options?: MethodOptions ): GaxiosPromise; setIamPolicy( - params: Params$Resource$Instantsnapshots$Setiampolicy, + params: Params$Resource$Interconnectattachments$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setIamPolicy( - params: Params$Resource$Instantsnapshots$Setiampolicy, + params: Params$Resource$Interconnectattachments$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setIamPolicy( - params: Params$Resource$Instantsnapshots$Setiampolicy, + params: Params$Resource$Interconnectattachments$Setiampolicy, callback: BodyResponseCallback ): void; setIamPolicy(callback: BodyResponseCallback): void; setIamPolicy( paramsOrCallback?: - | Params$Resource$Instantsnapshots$Setiampolicy + | Params$Resource$Interconnectattachments$Setiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -57178,12 +61464,12 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshots$Setiampolicy; + {}) as Params$Resource$Interconnectattachments$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshots$Setiampolicy; + params = {} as Params$Resource$Interconnectattachments$Setiampolicy; options = {}; } @@ -57198,7 +61484,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots/{resource}/setIamPolicy' + '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{resource}/setIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -57206,8 +61492,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'resource'], - pathParams: ['project', 'resource', 'zone'], + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], context: this.context, }; if (callback) { @@ -57221,7 +61507,7 @@ export namespace compute_alpha { } /** - * Sets the labels on a instantSnapshot in the given zone. To learn more about labels, read the Labeling Resources documentation. + * Sets the labels on an InterconnectAttachment. To learn more about labels, read the Labeling Resources documentation. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -57229,31 +61515,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ setLabels( - params: Params$Resource$Instantsnapshots$Setlabels, + params: Params$Resource$Interconnectattachments$Setlabels, options: StreamMethodOptions ): GaxiosPromise; setLabels( - params?: Params$Resource$Instantsnapshots$Setlabels, + params?: Params$Resource$Interconnectattachments$Setlabels, options?: MethodOptions ): GaxiosPromise; setLabels( - params: Params$Resource$Instantsnapshots$Setlabels, + params: Params$Resource$Interconnectattachments$Setlabels, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setLabels( - params: Params$Resource$Instantsnapshots$Setlabels, + params: Params$Resource$Interconnectattachments$Setlabels, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setLabels( - params: Params$Resource$Instantsnapshots$Setlabels, + params: Params$Resource$Interconnectattachments$Setlabels, callback: BodyResponseCallback ): void; setLabels(callback: BodyResponseCallback): void; setLabels( paramsOrCallback?: - | Params$Resource$Instantsnapshots$Setlabels + | Params$Resource$Interconnectattachments$Setlabels | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -57266,12 +61552,12 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshots$Setlabels; + {}) as Params$Resource$Interconnectattachments$Setlabels; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshots$Setlabels; + params = {} as Params$Resource$Interconnectattachments$Setlabels; options = {}; } @@ -57286,7 +61572,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots/{resource}/setLabels' + '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{resource}/setLabels' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -57294,8 +61580,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'resource'], - pathParams: ['project', 'resource', 'zone'], + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], context: this.context, }; if (callback) { @@ -57317,27 +61603,27 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ testIamPermissions( - params: Params$Resource$Instantsnapshots$Testiampermissions, + params: Params$Resource$Interconnectattachments$Testiampermissions, options: StreamMethodOptions ): GaxiosPromise; testIamPermissions( - params?: Params$Resource$Instantsnapshots$Testiampermissions, + params?: Params$Resource$Interconnectattachments$Testiampermissions, options?: MethodOptions ): GaxiosPromise; testIamPermissions( - params: Params$Resource$Instantsnapshots$Testiampermissions, + params: Params$Resource$Interconnectattachments$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Instantsnapshots$Testiampermissions, + params: Params$Resource$Interconnectattachments$Testiampermissions, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Instantsnapshots$Testiampermissions, + params: Params$Resource$Interconnectattachments$Testiampermissions, callback: BodyResponseCallback ): void; testIamPermissions( @@ -57345,7 +61631,7 @@ export namespace compute_alpha { ): void; testIamPermissions( paramsOrCallback?: - | Params$Resource$Instantsnapshots$Testiampermissions + | Params$Resource$Interconnectattachments$Testiampermissions | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -57361,12 +61647,13 @@ export namespace compute_alpha { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instantsnapshots$Testiampermissions; + {}) as Params$Resource$Interconnectattachments$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instantsnapshots$Testiampermissions; + params = + {} as Params$Resource$Interconnectattachments$Testiampermissions; options = {}; } @@ -57381,7 +61668,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/zones/{zone}/instantSnapshots/{resource}/testIamPermissions' + '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -57389,8 +61676,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'zone', 'resource'], - pathParams: ['project', 'resource', 'zone'], + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], context: this.context, }; if (callback) { @@ -57404,7 +61691,7 @@ export namespace compute_alpha { } } - export interface Params$Resource$Instantsnapshots$Aggregatedlist + export interface Params$Resource$Interconnectattachments$Aggregatedlist extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. @@ -57439,41 +61726,41 @@ export namespace compute_alpha { */ serviceProjectNumber?: string; } - export interface Params$Resource$Instantsnapshots$Delete + export interface Params$Resource$Interconnectattachments$Delete extends StandardParameters { /** - * Name of the InstantSnapshot resource to delete. + * Name of the interconnect attachment to delete. */ - instantSnapshot?: string; + interconnectAttachment?: string; /** * Project ID for this request. */ project?: string; /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * Name of the region for this request. */ - requestId?: string; + region?: string; /** - * The name of the zone for this request. + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). */ - zone?: string; + requestId?: string; } - export interface Params$Resource$Instantsnapshots$Get + export interface Params$Resource$Interconnectattachments$Get extends StandardParameters { /** - * Name of the InstantSnapshot resource to return. + * Name of the interconnect attachment to return. */ - instantSnapshot?: string; + interconnectAttachment?: string; /** * Project ID for this request. */ project?: string; /** - * The name of the zone for this request. + * Name of the region for this request. */ - zone?: string; + region?: string; } - export interface Params$Resource$Instantsnapshots$Getiampolicy + export interface Params$Resource$Interconnectattachments$Getiampolicy extends StandardParameters { /** * Requested IAM Policy version. @@ -57484,35 +61771,39 @@ export namespace compute_alpha { */ project?: string; /** - * Name or id of the resource for this request. + * The name of the region for this request. */ - resource?: string; + region?: string; /** - * The name of the zone for this request. + * Name or id of the resource for this request. */ - zone?: string; + resource?: string; } - export interface Params$Resource$Instantsnapshots$Insert + export interface Params$Resource$Interconnectattachments$Insert extends StandardParameters { /** * Project ID for this request. */ project?: string; + /** + * Name of the region for this request. + */ + region?: string; /** * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). */ requestId?: string; /** - * Name of the zone for this request. + * If true, the request will not be committed. */ - zone?: string; + validateOnly?: boolean; /** * Request body metadata */ - requestBody?: Schema$InstantSnapshot; + requestBody?: Schema$InterconnectAttachment; } - export interface Params$Resource$Instantsnapshots$List + export interface Params$Resource$Interconnectattachments$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. @@ -57534,41 +61825,69 @@ export namespace compute_alpha { * Project ID for this request. */ project?: string; + /** + * Name of the region for this request. + */ + region?: string; /** * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. */ returnPartialSuccess?: boolean; + } + export interface Params$Resource$Interconnectattachments$Patch + extends StandardParameters { /** - * The name of the zone for this request. + * Name of the interconnect attachment to patch. */ - zone?: string; + interconnectAttachment?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InterconnectAttachment; } - export interface Params$Resource$Instantsnapshots$Setiampolicy + export interface Params$Resource$Interconnectattachments$Setiampolicy extends StandardParameters { /** * Project ID for this request. */ project?: string; /** - * Name or id of the resource for this request. + * The name of the region for this request. */ - resource?: string; + region?: string; /** - * The name of the zone for this request. + * Name or id of the resource for this request. */ - zone?: string; + resource?: string; /** * Request body metadata */ - requestBody?: Schema$ZoneSetPolicyRequest; + requestBody?: Schema$RegionSetPolicyRequest; } - export interface Params$Resource$Instantsnapshots$Setlabels + export interface Params$Resource$Interconnectattachments$Setlabels extends StandardParameters { /** * Project ID for this request. */ project?: string; + /** + * The region for this request. + */ + region?: string; /** * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). */ @@ -57577,30 +61896,26 @@ export namespace compute_alpha { * Name or id of the resource for this request. */ resource?: string; - /** - * The name of the zone for this request. - */ - zone?: string; /** * Request body metadata */ - requestBody?: Schema$ZoneSetLabelsRequest; + requestBody?: Schema$RegionSetLabelsRequest; } - export interface Params$Resource$Instantsnapshots$Testiampermissions + export interface Params$Resource$Interconnectattachments$Testiampermissions extends StandardParameters { /** * Project ID for this request. */ project?: string; /** - * Name or id of the resource for this request. + * The name of the region for this request. */ - resource?: string; + region?: string; /** - * The name of the zone for this request. + * Name or id of the resource for this request. */ - zone?: string; + resource?: string; /** * Request body metadata @@ -57608,71 +61923,64 @@ export namespace compute_alpha { requestBody?: Schema$TestPermissionsRequest; } - export class Resource$Interconnectattachments { + export class Resource$Interconnectgroups { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Retrieves an aggregated list of interconnect attachments. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + * Deletes the specified InterconnectGroup in the given scope * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - aggregatedList( - params: Params$Resource$Interconnectattachments$Aggregatedlist, + delete( + params: Params$Resource$Interconnectgroups$Delete, options: StreamMethodOptions ): GaxiosPromise; - aggregatedList( - params?: Params$Resource$Interconnectattachments$Aggregatedlist, + delete( + params?: Params$Resource$Interconnectgroups$Delete, options?: MethodOptions - ): GaxiosPromise; - aggregatedList( - params: Params$Resource$Interconnectattachments$Aggregatedlist, + ): GaxiosPromise; + delete( + params: Params$Resource$Interconnectgroups$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - aggregatedList( - params: Params$Resource$Interconnectattachments$Aggregatedlist, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - aggregatedList( - params: Params$Resource$Interconnectattachments$Aggregatedlist, - callback: BodyResponseCallback + delete( + params: Params$Resource$Interconnectgroups$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - aggregatedList( - callback: BodyResponseCallback + delete( + params: Params$Resource$Interconnectgroups$Delete, + callback: BodyResponseCallback ): void; - aggregatedList( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Aggregatedlist - | BodyResponseCallback + | Params$Resource$Interconnectgroups$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachments$Aggregatedlist; + {}) as Params$Resource$Interconnectgroups$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$Aggregatedlist; + params = {} as Params$Resource$Interconnectgroups$Delete; options = {}; } @@ -57687,82 +61995,83 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/aggregated/interconnectAttachments' + '/compute/alpha/projects/{project}/global/interconnectGroups/{interconnectGroup}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['project'], - pathParams: ['project'], + requiredParams: ['project', 'interconnectGroup'], + pathParams: ['interconnectGroup', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Deletes the specified interconnect attachment. + * Returns the specified InterconnectGroup resource in the given scope. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Interconnectattachments$Delete, + get( + params: Params$Resource$Interconnectgroups$Get, options: StreamMethodOptions ): GaxiosPromise; - delete( - params?: Params$Resource$Interconnectattachments$Delete, + get( + params?: Params$Resource$Interconnectgroups$Get, options?: MethodOptions - ): GaxiosPromise; - delete( - params: Params$Resource$Interconnectattachments$Delete, + ): GaxiosPromise; + get( + params: Params$Resource$Interconnectgroups$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Interconnectattachments$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Interconnectgroups$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Interconnectattachments$Delete, - callback: BodyResponseCallback + get( + params: Params$Resource$Interconnectgroups$Get, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Delete - | BodyResponseCallback + | Params$Resource$Interconnectgroups$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachments$Delete; + {}) as Params$Resource$Interconnectgroups$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$Delete; + params = {} as Params$Resource$Interconnectgroups$Get; options = {}; } @@ -57777,85 +62086,80 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}' + '/compute/alpha/projects/{project}/global/interconnectGroups/{interconnectGroup}' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'region', 'interconnectAttachment'], - pathParams: ['interconnectAttachment', 'project', 'region'], + requiredParams: ['project', 'interconnectGroup'], + pathParams: ['interconnectGroup', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Returns the specified interconnect attachment. + * Gets the access control policy for a resource. May be empty if no such policy or resource exists. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Interconnectattachments$Get, + getIamPolicy( + params: Params$Resource$Interconnectgroups$Getiampolicy, options: StreamMethodOptions ): GaxiosPromise; - get( - params?: Params$Resource$Interconnectattachments$Get, + getIamPolicy( + params?: Params$Resource$Interconnectgroups$Getiampolicy, options?: MethodOptions - ): GaxiosPromise; - get( - params: Params$Resource$Interconnectattachments$Get, + ): GaxiosPromise; + getIamPolicy( + params: Params$Resource$Interconnectgroups$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Interconnectattachments$Get, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Interconnectgroups$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Interconnectattachments$Get, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Interconnectgroups$Getiampolicy, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Get - | BodyResponseCallback + | Params$Resource$Interconnectgroups$Getiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachments$Get; + {}) as Params$Resource$Interconnectgroups$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$Get; + params = {} as Params$Resource$Interconnectgroups$Getiampolicy; options = {}; } @@ -57870,7 +62174,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}' + '/compute/alpha/projects/{project}/global/interconnectGroups/{resource}/getIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -57878,72 +62182,79 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'region', 'interconnectAttachment'], - pathParams: ['interconnectAttachment', 'project', 'region'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets the access control policy for a resource. May be empty if no such policy or resource exists. + * Returns the interconnectStatuses for the specified InterconnectGroup. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getIamPolicy( - params: Params$Resource$Interconnectattachments$Getiampolicy, + getOperationalStatus( + params: Params$Resource$Interconnectgroups$Getoperationalstatus, options: StreamMethodOptions ): GaxiosPromise; - getIamPolicy( - params?: Params$Resource$Interconnectattachments$Getiampolicy, + getOperationalStatus( + params?: Params$Resource$Interconnectgroups$Getoperationalstatus, options?: MethodOptions - ): GaxiosPromise; - getIamPolicy( - params: Params$Resource$Interconnectattachments$Getiampolicy, + ): GaxiosPromise; + getOperationalStatus( + params: Params$Resource$Interconnectgroups$Getoperationalstatus, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Interconnectattachments$Getiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getOperationalStatus( + params: Params$Resource$Interconnectgroups$Getoperationalstatus, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Interconnectattachments$Getiampolicy, - callback: BodyResponseCallback + getOperationalStatus( + params: Params$Resource$Interconnectgroups$Getoperationalstatus, + callback: BodyResponseCallback ): void; - getIamPolicy(callback: BodyResponseCallback): void; - getIamPolicy( + getOperationalStatus( + callback: BodyResponseCallback + ): void; + getOperationalStatus( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Getiampolicy - | BodyResponseCallback + | Params$Resource$Interconnectgroups$Getoperationalstatus + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachments$Getiampolicy; + {}) as Params$Resource$Interconnectgroups$Getoperationalstatus; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$Getiampolicy; + params = {} as Params$Resource$Interconnectgroups$Getoperationalstatus; options = {}; } @@ -57958,7 +62269,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{resource}/getIamPolicy' + '/compute/alpha/projects/{project}/global/interconnectGroups/{interconnectGroup}/getOperationalStatus' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -57966,22 +62277,24 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'region', 'resource'], - pathParams: ['project', 'region', 'resource'], + requiredParams: ['project', 'interconnectGroup'], + pathParams: ['interconnectGroup', 'project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Creates an InterconnectAttachment in the specified project using the data included in the request. + * Creates a InterconnectGroup in the specified project in the given scope using the parameters that are included in the request. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -57989,31 +62302,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ insert( - params: Params$Resource$Interconnectattachments$Insert, + params: Params$Resource$Interconnectgroups$Insert, options: StreamMethodOptions ): GaxiosPromise; insert( - params?: Params$Resource$Interconnectattachments$Insert, + params?: Params$Resource$Interconnectgroups$Insert, options?: MethodOptions ): GaxiosPromise; insert( - params: Params$Resource$Interconnectattachments$Insert, + params: Params$Resource$Interconnectgroups$Insert, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Interconnectattachments$Insert, + params: Params$Resource$Interconnectgroups$Insert, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; insert( - params: Params$Resource$Interconnectattachments$Insert, + params: Params$Resource$Interconnectgroups$Insert, callback: BodyResponseCallback ): void; insert(callback: BodyResponseCallback): void; insert( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Insert + | Params$Resource$Interconnectgroups$Insert | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -58026,12 +62339,12 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachments$Insert; + {}) as Params$Resource$Interconnectgroups$Insert; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$Insert; + params = {} as Params$Resource$Interconnectgroups$Insert; options = {}; } @@ -58046,7 +62359,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments' + '/compute/alpha/projects/{project}/global/interconnectGroups' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -58054,8 +62367,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'region'], - pathParams: ['project', 'region'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { @@ -58069,7 +62382,7 @@ export namespace compute_alpha { } /** - * Retrieves the list of interconnect attachments contained within the specified region. + * Lists the InterconnectGroups for a project in the given scope. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -58077,56 +62390,56 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Interconnectattachments$List, + params: Params$Resource$Interconnectgroups$List, options: StreamMethodOptions ): GaxiosPromise; list( - params?: Params$Resource$Interconnectattachments$List, + params?: Params$Resource$Interconnectgroups$List, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; list( - params: Params$Resource$Interconnectattachments$List, + params: Params$Resource$Interconnectgroups$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Interconnectattachments$List, + params: Params$Resource$Interconnectgroups$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Interconnectattachments$List, - callback: BodyResponseCallback + params: Params$Resource$Interconnectgroups$List, + callback: BodyResponseCallback ): void; list( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; list( paramsOrCallback?: - | Params$Resource$Interconnectattachments$List - | BodyResponseCallback + | Params$Resource$Interconnectgroups$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachments$List; + {}) as Params$Resource$Interconnectgroups$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$List; + params = {} as Params$Resource$Interconnectgroups$List; options = {}; } @@ -58141,7 +62454,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments' + '/compute/alpha/projects/{project}/global/interconnectGroups' ).replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', @@ -58149,22 +62462,24 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'region'], - pathParams: ['project', 'region'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Updates the specified interconnect attachment with the data included in the request. This method supports PATCH semantics and uses the JSON merge patch format and processing rules. + * Patches the specified InterconnectGroup resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -58172,31 +62487,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ patch( - params: Params$Resource$Interconnectattachments$Patch, + params: Params$Resource$Interconnectgroups$Patch, options: StreamMethodOptions ): GaxiosPromise; patch( - params?: Params$Resource$Interconnectattachments$Patch, + params?: Params$Resource$Interconnectgroups$Patch, options?: MethodOptions ): GaxiosPromise; patch( - params: Params$Resource$Interconnectattachments$Patch, + params: Params$Resource$Interconnectgroups$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Interconnectattachments$Patch, + params: Params$Resource$Interconnectgroups$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Interconnectattachments$Patch, + params: Params$Resource$Interconnectgroups$Patch, callback: BodyResponseCallback ): void; patch(callback: BodyResponseCallback): void; patch( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Patch + | Params$Resource$Interconnectgroups$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -58209,12 +62524,12 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachments$Patch; + {}) as Params$Resource$Interconnectgroups$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$Patch; + params = {} as Params$Resource$Interconnectgroups$Patch; options = {}; } @@ -58229,7 +62544,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{interconnectAttachment}' + '/compute/alpha/projects/{project}/global/interconnectGroups/{interconnectGroup}' ).replace(/([^:]\/)\/+/g, '$1'), method: 'PATCH', apiVersion: '', @@ -58237,8 +62552,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'region', 'interconnectAttachment'], - pathParams: ['interconnectAttachment', 'project', 'region'], + requiredParams: ['project', 'interconnectGroup'], + pathParams: ['interconnectGroup', 'project'], context: this.context, }; if (callback) { @@ -58260,31 +62575,31 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ setIamPolicy( - params: Params$Resource$Interconnectattachments$Setiampolicy, + params: Params$Resource$Interconnectgroups$Setiampolicy, options: StreamMethodOptions ): GaxiosPromise; setIamPolicy( - params?: Params$Resource$Interconnectattachments$Setiampolicy, + params?: Params$Resource$Interconnectgroups$Setiampolicy, options?: MethodOptions ): GaxiosPromise; setIamPolicy( - params: Params$Resource$Interconnectattachments$Setiampolicy, + params: Params$Resource$Interconnectgroups$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setIamPolicy( - params: Params$Resource$Interconnectattachments$Setiampolicy, + params: Params$Resource$Interconnectgroups$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setIamPolicy( - params: Params$Resource$Interconnectattachments$Setiampolicy, + params: Params$Resource$Interconnectgroups$Setiampolicy, callback: BodyResponseCallback ): void; setIamPolicy(callback: BodyResponseCallback): void; setIamPolicy( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Setiampolicy + | Params$Resource$Interconnectgroups$Setiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -58297,12 +62612,12 @@ export namespace compute_alpha { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachments$Setiampolicy; + {}) as Params$Resource$Interconnectgroups$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$Setiampolicy; + params = {} as Params$Resource$Interconnectgroups$Setiampolicy; options = {}; } @@ -58317,7 +62632,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{resource}/setIamPolicy' + '/compute/alpha/projects/{project}/global/interconnectGroups/{resource}/setIamPolicy' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -58325,8 +62640,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'region', 'resource'], - pathParams: ['project', 'region', 'resource'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { @@ -58339,94 +62654,6 @@ export namespace compute_alpha { } } - /** - * Sets the labels on an InterconnectAttachment. To learn more about labels, read the Labeling Resources documentation. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - setLabels( - params: Params$Resource$Interconnectattachments$Setlabels, - options: StreamMethodOptions - ): GaxiosPromise; - setLabels( - params?: Params$Resource$Interconnectattachments$Setlabels, - options?: MethodOptions - ): GaxiosPromise; - setLabels( - params: Params$Resource$Interconnectattachments$Setlabels, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setLabels( - params: Params$Resource$Interconnectattachments$Setlabels, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setLabels( - params: Params$Resource$Interconnectattachments$Setlabels, - callback: BodyResponseCallback - ): void; - setLabels(callback: BodyResponseCallback): void; - setLabels( - paramsOrCallback?: - | Params$Resource$Interconnectattachments$Setlabels - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachments$Setlabels; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Interconnectattachments$Setlabels; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{resource}/setLabels' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'region', 'resource'], - pathParams: ['project', 'region', 'resource'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - /** * Returns permissions that a caller has on the specified resource. * @@ -58436,27 +62663,27 @@ export namespace compute_alpha { * @returns A promise if used with async/await, or void if used with a callback. */ testIamPermissions( - params: Params$Resource$Interconnectattachments$Testiampermissions, + params: Params$Resource$Interconnectgroups$Testiampermissions, options: StreamMethodOptions ): GaxiosPromise; testIamPermissions( - params?: Params$Resource$Interconnectattachments$Testiampermissions, + params?: Params$Resource$Interconnectgroups$Testiampermissions, options?: MethodOptions ): GaxiosPromise; testIamPermissions( - params: Params$Resource$Interconnectattachments$Testiampermissions, + params: Params$Resource$Interconnectgroups$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Interconnectattachments$Testiampermissions, + params: Params$Resource$Interconnectgroups$Testiampermissions, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Interconnectattachments$Testiampermissions, + params: Params$Resource$Interconnectgroups$Testiampermissions, callback: BodyResponseCallback ): void; testIamPermissions( @@ -58464,7 +62691,7 @@ export namespace compute_alpha { ): void; testIamPermissions( paramsOrCallback?: - | Params$Resource$Interconnectattachments$Testiampermissions + | Params$Resource$Interconnectgroups$Testiampermissions | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -58480,13 +62707,12 @@ export namespace compute_alpha { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Interconnectattachments$Testiampermissions; + {}) as Params$Resource$Interconnectgroups$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Interconnectattachments$Testiampermissions; + params = {} as Params$Resource$Interconnectgroups$Testiampermissions; options = {}; } @@ -58501,7 +62727,7 @@ export namespace compute_alpha { { url: ( rootUrl + - '/compute/alpha/projects/{project}/regions/{region}/interconnectAttachments/{resource}/testIamPermissions' + '/compute/alpha/projects/{project}/global/interconnectGroups/{resource}/testIamPermissions' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -58509,8 +62735,8 @@ export namespace compute_alpha { options ), params, - requiredParams: ['project', 'region', 'resource'], - pathParams: ['project', 'region', 'resource'], + requiredParams: ['project', 'resource'], + pathParams: ['project', 'resource'], context: this.context, }; if (callback) { @@ -58524,119 +62750,75 @@ export namespace compute_alpha { } } - export interface Params$Resource$Interconnectattachments$Aggregatedlist + export interface Params$Resource$Interconnectgroups$Delete extends StandardParameters { /** - * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. - */ - filter?: string; - /** - * Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. - */ - includeAllScopes?: boolean; - /** - * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + * Name of the InterconnectGroup resource to delete. */ - pageToken?: string; + interconnectGroup?: string; /** * Project ID for this request. */ project?: string; /** - * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. - */ - returnPartialSuccess?: boolean; - /** - * The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder */ - serviceProjectNumber?: string; + requestId?: string; } - export interface Params$Resource$Interconnectattachments$Delete + export interface Params$Resource$Interconnectgroups$Get extends StandardParameters { /** - * Name of the interconnect attachment to delete. + * Name of the InterconnectGroup resource to return. */ - interconnectAttachment?: string; + interconnectGroup?: string; /** * Project ID for this request. */ project?: string; - /** - * Name of the region for this request. - */ - region?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; } - export interface Params$Resource$Interconnectattachments$Get + export interface Params$Resource$Interconnectgroups$Getiampolicy extends StandardParameters { /** - * Name of the interconnect attachment to return. + * Requested IAM Policy version. */ - interconnectAttachment?: string; + optionsRequestedPolicyVersion?: number; /** * Project ID for this request. */ project?: string; /** - * Name of the region for this request. + * Name or id of the resource for this request. */ - region?: string; + resource?: string; } - export interface Params$Resource$Interconnectattachments$Getiampolicy + export interface Params$Resource$Interconnectgroups$Getoperationalstatus extends StandardParameters { /** - * Requested IAM Policy version. + * Name of the interconnectGroup resource to query. */ - optionsRequestedPolicyVersion?: number; + interconnectGroup?: string; /** * Project ID for this request. */ project?: string; - /** - * The name of the region for this request. - */ - region?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; } - export interface Params$Resource$Interconnectattachments$Insert + export interface Params$Resource$Interconnectgroups$Insert extends StandardParameters { /** * Project ID for this request. */ project?: string; /** - * Name of the region for this request. - */ - region?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder */ requestId?: string; - /** - * If true, the request will not be committed. - */ - validateOnly?: boolean; /** * Request body metadata */ - requestBody?: Schema$InterconnectAttachment; + requestBody?: Schema$InterconnectGroup; } - export interface Params$Resource$Interconnectattachments$List + export interface Params$Resource$Interconnectgroups$List extends StandardParameters { /** * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. @@ -58658,73 +62840,41 @@ export namespace compute_alpha { * Project ID for this request. */ project?: string; - /** - * Name of the region for this request. - */ - region?: string; /** * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. */ returnPartialSuccess?: boolean; } - export interface Params$Resource$Interconnectattachments$Patch + export interface Params$Resource$Interconnectgroups$Patch extends StandardParameters { /** - * Name of the interconnect attachment to patch. + * Name of the InterconnectGroup resource to patch. */ - interconnectAttachment?: string; + interconnectGroup?: string; /** * Project ID for this request. */ project?: string; /** - * Name of the region scoping this request. - */ - region?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder */ requestId?: string; - /** - * Request body metadata + * The list of fields to update. */ - requestBody?: Schema$InterconnectAttachment; - } - export interface Params$Resource$Interconnectattachments$Setiampolicy - extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * The name of the region for this request. - */ - region?: string; - /** - * Name or id of the resource for this request. - */ - resource?: string; + updateMask?: string; /** * Request body metadata */ - requestBody?: Schema$RegionSetPolicyRequest; + requestBody?: Schema$InterconnectGroup; } - export interface Params$Resource$Interconnectattachments$Setlabels + export interface Params$Resource$Interconnectgroups$Setiampolicy extends StandardParameters { /** * Project ID for this request. */ project?: string; - /** - * The region for this request. - */ - region?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; /** * Name or id of the resource for this request. */ @@ -58733,18 +62883,14 @@ export namespace compute_alpha { /** * Request body metadata */ - requestBody?: Schema$RegionSetLabelsRequest; + requestBody?: Schema$GlobalSetPolicyRequest; } - export interface Params$Resource$Interconnectattachments$Testiampermissions + export interface Params$Resource$Interconnectgroups$Testiampermissions extends StandardParameters { /** * Project ID for this request. */ project?: string; - /** - * The name of the region for this request. - */ - region?: string; /** * Name or id of the resource for this request. */ @@ -61672,6 +65818,93 @@ export namespace compute_alpha { return createAPIRequest(parameters); } } + + /** + * Updates a License resource in the specified project. *Caution* This resource is intended for use only by third-party partners who are creating Cloud Marketplace images. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + update( + params: Params$Resource$Licenses$Update, + options: StreamMethodOptions + ): GaxiosPromise; + update( + params?: Params$Resource$Licenses$Update, + options?: MethodOptions + ): GaxiosPromise; + update( + params: Params$Resource$Licenses$Update, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + update( + params: Params$Resource$Licenses$Update, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + update( + params: Params$Resource$Licenses$Update, + callback: BodyResponseCallback + ): void; + update(callback: BodyResponseCallback): void; + update( + paramsOrCallback?: + | Params$Resource$Licenses$Update + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || {}) as Params$Resource$Licenses$Update; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Licenses$Update; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/licenses/{license}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'license'], + pathParams: ['license', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } export interface Params$Resource$Licenses$Delete extends StandardParameters { @@ -61786,6 +66019,29 @@ export namespace compute_alpha { */ requestBody?: Schema$TestPermissionsRequest; } + export interface Params$Resource$Licenses$Update extends StandardParameters { + /** + * The license name for this request. + */ + license?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * update_mask indicates fields to be updated as part of this request. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$License; + } export class Resource$Machineimages { context: APIRequestContext; @@ -65854,6 +70110,103 @@ export namespace compute_alpha { } } + /** + * Retrieves an aggregated list of network firewall policies, listing network firewall policies from all applicable scopes (global and regional) and grouping the results per scope. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + aggregatedList( + params: Params$Resource$Networkfirewallpolicies$Aggregatedlist, + options: StreamMethodOptions + ): GaxiosPromise; + aggregatedList( + params?: Params$Resource$Networkfirewallpolicies$Aggregatedlist, + options?: MethodOptions + ): GaxiosPromise; + aggregatedList( + params: Params$Resource$Networkfirewallpolicies$Aggregatedlist, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + aggregatedList( + params: Params$Resource$Networkfirewallpolicies$Aggregatedlist, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + aggregatedList( + params: Params$Resource$Networkfirewallpolicies$Aggregatedlist, + callback: BodyResponseCallback + ): void; + aggregatedList( + callback: BodyResponseCallback + ): void; + aggregatedList( + paramsOrCallback?: + | Params$Resource$Networkfirewallpolicies$Aggregatedlist + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Networkfirewallpolicies$Aggregatedlist; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Networkfirewallpolicies$Aggregatedlist; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/aggregated/firewallPolicies' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + /** * Copies rules to the specified firewall policy. * @@ -67557,6 +71910,41 @@ export namespace compute_alpha { */ requestBody?: Schema$FirewallPolicyRule; } + export interface Params$Resource$Networkfirewallpolicies$Aggregatedlist + extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. + */ + filter?: string; + /** + * Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. + */ + includeAllScopes?: boolean; + /** + * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. + */ + serviceProjectNumber?: string; + } export interface Params$Resource$Networkfirewallpolicies$Clonerules extends StandardParameters { /** @@ -73557,6 +77945,104 @@ export namespace compute_alpha { } } + /** + * Gets the current list of preconfigured Web Application Firewall (WAF) expressions. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + listPreconfiguredExpressionSets( + params: Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets, + options: StreamMethodOptions + ): GaxiosPromise; + listPreconfiguredExpressionSets( + params?: Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets, + options?: MethodOptions + ): GaxiosPromise; + listPreconfiguredExpressionSets( + params: Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listPreconfiguredExpressionSets( + params: Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listPreconfiguredExpressionSets( + params: Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets, + callback: BodyResponseCallback + ): void; + listPreconfiguredExpressionSets( + callback: BodyResponseCallback + ): void; + listPreconfiguredExpressionSets( + paramsOrCallback?: + | Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/locations/global/securityPolicies/listPreconfiguredExpressionSets' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + /** * Moves the specified security policy. * @@ -74140,6 +78626,33 @@ export namespace compute_alpha { */ targetResource?: string; } + export interface Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets + extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Parent ID for this request. + */ + parentId?: string; + /** + * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. + */ + returnPartialSuccess?: boolean; + } export interface Params$Resource$Organizationsecuritypolicies$Move extends StandardParameters { /** @@ -81995,6 +86508,103 @@ export namespace compute_alpha { } } + /** + * Gets the status of current async replication for a given device. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getAsyncReplicationStatus( + params: Params$Resource$Regiondisks$Getasyncreplicationstatus, + options: StreamMethodOptions + ): GaxiosPromise; + getAsyncReplicationStatus( + params?: Params$Resource$Regiondisks$Getasyncreplicationstatus, + options?: MethodOptions + ): GaxiosPromise; + getAsyncReplicationStatus( + params: Params$Resource$Regiondisks$Getasyncreplicationstatus, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getAsyncReplicationStatus( + params: Params$Resource$Regiondisks$Getasyncreplicationstatus, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getAsyncReplicationStatus( + params: Params$Resource$Regiondisks$Getasyncreplicationstatus, + callback: BodyResponseCallback + ): void; + getAsyncReplicationStatus( + callback: BodyResponseCallback + ): void; + getAsyncReplicationStatus( + paramsOrCallback?: + | Params$Resource$Regiondisks$Getasyncreplicationstatus + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Regiondisks$Getasyncreplicationstatus; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regiondisks$Getasyncreplicationstatus; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/disks/{disk}/getAsyncReplicationStatus' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region', 'disk'], + pathParams: ['disk', 'project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + /** * Gets the access control policy for a resource. May be empty if no such policy or resource exists. * @@ -83064,6 +87674,96 @@ export namespace compute_alpha { return createAPIRequest(parameters); } } + + /** + * Wait for replication to catch up on the secondary disk. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + waitForReplicationCatchUp( + params: Params$Resource$Regiondisks$Waitforreplicationcatchup, + options: StreamMethodOptions + ): GaxiosPromise; + waitForReplicationCatchUp( + params?: Params$Resource$Regiondisks$Waitforreplicationcatchup, + options?: MethodOptions + ): GaxiosPromise; + waitForReplicationCatchUp( + params: Params$Resource$Regiondisks$Waitforreplicationcatchup, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + waitForReplicationCatchUp( + params: Params$Resource$Regiondisks$Waitforreplicationcatchup, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + waitForReplicationCatchUp( + params: Params$Resource$Regiondisks$Waitforreplicationcatchup, + callback: BodyResponseCallback + ): void; + waitForReplicationCatchUp( + callback: BodyResponseCallback + ): void; + waitForReplicationCatchUp( + paramsOrCallback?: + | Params$Resource$Regiondisks$Waitforreplicationcatchup + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Regiondisks$Waitforreplicationcatchup; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regiondisks$Waitforreplicationcatchup; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/disks/{disk}/waitForReplicationCatchUp' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region', 'disk'], + pathParams: ['disk', 'project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } export interface Params$Resource$Regiondisks$Addresourcepolicies @@ -83171,6 +87871,21 @@ export namespace compute_alpha { */ region?: string; } + export interface Params$Resource$Regiondisks$Getasyncreplicationstatus + extends StandardParameters { + /** + * Name of the Disk resource whose Async replication details are requested. Name should conform to RFC1035 or be an unsigned long integer. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the zone for this request. + */ + region?: string; + } export interface Params$Resource$Regiondisks$Getiampolicy extends StandardParameters { /** @@ -83451,6 +88166,30 @@ export namespace compute_alpha { */ requestBody?: Schema$Disk; } + export interface Params$Resource$Regiondisks$Waitforreplicationcatchup + extends StandardParameters { + /** + * The name of the persistent disk. Name should conform to RFC1035 or be an unsigned long integer. + */ + disk?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RegionWaitForReplicationCatchUpRequest; + } export class Resource$Regiondisksettings { context: APIRequestContext; @@ -92100,6 +96839,451 @@ export namespace compute_alpha { requestBody?: Schema$TestPermissionsRequest; } + export class Resource$Regionmultimigs { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Deletes a multi-MIG in the specified project. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Regionmultimigs$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Regionmultimigs$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Regionmultimigs$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Regionmultimigs$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Regionmultimigs$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Regionmultimigs$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Regionmultimigs$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regionmultimigs$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/multiMigs/{multiMig}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region', 'multiMig'], + pathParams: ['multiMig', 'project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns all the details of a specific multi-MIG. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Regionmultimigs$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Regionmultimigs$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Regionmultimigs$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Regionmultimigs$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Regionmultimigs$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Regionmultimigs$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Regionmultimigs$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regionmultimigs$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/multiMigs/{multiMig}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region', 'multiMig'], + pathParams: ['multiMig', 'project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Creates a multi-MIG in the specified project. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + insert( + params: Params$Resource$Regionmultimigs$Insert, + options: StreamMethodOptions + ): GaxiosPromise; + insert( + params?: Params$Resource$Regionmultimigs$Insert, + options?: MethodOptions + ): GaxiosPromise; + insert( + params: Params$Resource$Regionmultimigs$Insert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Regionmultimigs$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Regionmultimigs$Insert, + callback: BodyResponseCallback + ): void; + insert(callback: BodyResponseCallback): void; + insert( + paramsOrCallback?: + | Params$Resource$Regionmultimigs$Insert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Regionmultimigs$Insert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regionmultimigs$Insert; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/multiMigs' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieves a list of multi-MIGs in a project and region. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Regionmultimigs$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Regionmultimigs$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Regionmultimigs$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Regionmultimigs$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Regionmultimigs$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Regionmultimigs$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Regionmultimigs$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regionmultimigs$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/multiMigs' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Regionmultimigs$Delete + extends StandardParameters { + /** + * Name of the multi-MIG to delete. + */ + multiMig?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Regionmultimigs$Get + extends StandardParameters { + /** + * Name of the multi-MIG resource to return. + */ + multiMig?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + export interface Params$Resource$Regionmultimigs$Insert + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents you from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$MultiMig; + } + export interface Params$Resource$Regionmultimigs$List + extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. + */ + returnPartialSuccess?: boolean; + } + export class Resource$Regionnetworkendpointgroups { context: APIRequestContext; constructor(context: APIRequestContext) { @@ -97110,6 +102294,94 @@ export namespace compute_alpha { return createAPIRequest(parameters); } } + + /** + * Sets the labels on a security policy. To learn more about labels, read the Labeling Resources documentation. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setLabels( + params: Params$Resource$Regionsecuritypolicies$Setlabels, + options: StreamMethodOptions + ): GaxiosPromise; + setLabels( + params?: Params$Resource$Regionsecuritypolicies$Setlabels, + options?: MethodOptions + ): GaxiosPromise; + setLabels( + params: Params$Resource$Regionsecuritypolicies$Setlabels, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setLabels( + params: Params$Resource$Regionsecuritypolicies$Setlabels, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setLabels( + params: Params$Resource$Regionsecuritypolicies$Setlabels, + callback: BodyResponseCallback + ): void; + setLabels(callback: BodyResponseCallback): void; + setLabels( + paramsOrCallback?: + | Params$Resource$Regionsecuritypolicies$Setlabels + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Regionsecuritypolicies$Setlabels; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regionsecuritypolicies$Setlabels; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/regions/{region}/securityPolicies/{resource}/setLabels' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } export interface Params$Resource$Regionsecuritypolicies$Addrule @@ -97327,6 +102599,30 @@ export namespace compute_alpha { */ securityPolicy?: string; } + export interface Params$Resource$Regionsecuritypolicies$Setlabels + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * The region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetLabelsRequest; + } export class Resource$Regionsnapshots { context: APIRequestContext; @@ -103275,6 +108571,94 @@ export namespace compute_alpha { ); } } + + /** + * Allows customers to perform maintenance on a reservation block + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + performMaintenance( + params: Params$Resource$Reservationblocks$Performmaintenance, + options: StreamMethodOptions + ): GaxiosPromise; + performMaintenance( + params?: Params$Resource$Reservationblocks$Performmaintenance, + options?: MethodOptions + ): GaxiosPromise; + performMaintenance( + params: Params$Resource$Reservationblocks$Performmaintenance, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + performMaintenance( + params: Params$Resource$Reservationblocks$Performmaintenance, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + performMaintenance( + params: Params$Resource$Reservationblocks$Performmaintenance, + callback: BodyResponseCallback + ): void; + performMaintenance(callback: BodyResponseCallback): void; + performMaintenance( + paramsOrCallback?: + | Params$Resource$Reservationblocks$Performmaintenance + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Reservationblocks$Performmaintenance; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Reservationblocks$Performmaintenance; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}/performMaintenance' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'reservation', 'reservationBlock'], + pathParams: ['project', 'reservation', 'reservationBlock', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } export interface Params$Resource$Reservationblocks$Get @@ -103331,6 +108715,34 @@ export namespace compute_alpha { */ zone?: string; } + export interface Params$Resource$Reservationblocks$Performmaintenance + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the reservation. Name should conform to RFC1035 or be a resource ID. + */ + reservation?: string; + /** + * The name of the reservation block. Name should conform to RFC1035 or be a resource ID. + */ + reservationBlock?: string; + /** + * Name of the zone for this request. Zone name should conform to RFC1035. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ReservationsBlocksPerformMaintenanceRequest; + } export class Resource$Reservations { context: APIRequestContext; @@ -103872,6 +109284,94 @@ export namespace compute_alpha { } } + /** + * Perform maintenance on an extended reservation + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + performMaintenance( + params: Params$Resource$Reservations$Performmaintenance, + options: StreamMethodOptions + ): GaxiosPromise; + performMaintenance( + params?: Params$Resource$Reservations$Performmaintenance, + options?: MethodOptions + ): GaxiosPromise; + performMaintenance( + params: Params$Resource$Reservations$Performmaintenance, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + performMaintenance( + params: Params$Resource$Reservations$Performmaintenance, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + performMaintenance( + params: Params$Resource$Reservations$Performmaintenance, + callback: BodyResponseCallback + ): void; + performMaintenance(callback: BodyResponseCallback): void; + performMaintenance( + paramsOrCallback?: + | Params$Resource$Reservations$Performmaintenance + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Reservations$Performmaintenance; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Reservations$Performmaintenance; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/zones/{zone}/reservations/{reservation}/performMaintenance' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'reservation'], + pathParams: ['project', 'reservation', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Resizes the reservation (applicable to standalone reservations only). For more information, read Modifying reservations. * @@ -104370,6 +109870,30 @@ export namespace compute_alpha { */ zone?: string; } + export interface Params$Resource$Reservations$Performmaintenance + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the reservation. Name should conform to RFC1035 or be a resource ID. + */ + reservation?: string; + /** + * Name of the zone for this request. Zone name should conform to RFC1035. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ReservationsPerformMaintenanceRequest; + } export interface Params$Resource$Reservations$Resize extends StandardParameters { /** @@ -127670,6 +133194,569 @@ export namespace compute_alpha { requestBody?: Schema$TestPermissionsRequest; } + export class Resource$Wiregroups { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Deletes the specified wire group in the given scope. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Wiregroups$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Wiregroups$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Wiregroups$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Wiregroups$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Wiregroups$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Wiregroups$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Wiregroups$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Wiregroups$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups/{wireGroup}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'crossSiteNetwork', 'wireGroup'], + pathParams: ['crossSiteNetwork', 'project', 'wireGroup'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets the specified wire group resource in the given scope. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Wiregroups$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Wiregroups$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Wiregroups$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Wiregroups$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Wiregroups$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Wiregroups$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || {}) as Params$Resource$Wiregroups$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Wiregroups$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups/{wireGroup}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'crossSiteNetwork', 'wireGroup'], + pathParams: ['crossSiteNetwork', 'project', 'wireGroup'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Creates a wire group in the specified project in the given scope using the parameters that are included in the request. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + insert( + params: Params$Resource$Wiregroups$Insert, + options: StreamMethodOptions + ): GaxiosPromise; + insert( + params?: Params$Resource$Wiregroups$Insert, + options?: MethodOptions + ): GaxiosPromise; + insert( + params: Params$Resource$Wiregroups$Insert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Wiregroups$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Wiregroups$Insert, + callback: BodyResponseCallback + ): void; + insert(callback: BodyResponseCallback): void; + insert( + paramsOrCallback?: + | Params$Resource$Wiregroups$Insert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Wiregroups$Insert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Wiregroups$Insert; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'crossSiteNetwork'], + pathParams: ['crossSiteNetwork', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists the wire groups for a project in the given scope. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Wiregroups$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Wiregroups$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Wiregroups$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Wiregroups$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Wiregroups$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Wiregroups$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || {}) as Params$Resource$Wiregroups$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Wiregroups$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'crossSiteNetwork'], + pathParams: ['crossSiteNetwork', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the specified wire group resource with the data included in the request. This method supports PATCH semantics and uses JSON merge patch format and processing rules. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Wiregroups$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Wiregroups$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Wiregroups$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Wiregroups$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Wiregroups$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Wiregroups$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || {}) as Params$Resource$Wiregroups$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Wiregroups$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/alpha/projects/{project}/global/crossSiteNetworks/{crossSiteNetwork}/wireGroups/{wireGroup}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'crossSiteNetwork', 'wireGroup'], + pathParams: ['crossSiteNetwork', 'project', 'wireGroup'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Wiregroups$Delete + extends StandardParameters { + /** + * + */ + crossSiteNetwork?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder + */ + requestId?: string; + /** + * Name of the wire group resource to delete. + */ + wireGroup?: string; + } + export interface Params$Resource$Wiregroups$Get extends StandardParameters { + /** + * + */ + crossSiteNetwork?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the wire group resource to return. + */ + wireGroup?: string; + } + export interface Params$Resource$Wiregroups$Insert + extends StandardParameters { + /** + * + */ + crossSiteNetwork?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder + */ + requestId?: string; + /** + * [Input Only] Validate the new configuration, but don't create it. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$WireGroup; + } + export interface Params$Resource$Wiregroups$List extends StandardParameters { + /** + * + */ + crossSiteNetwork?: string; + /** + * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. + */ + returnPartialSuccess?: boolean; + } + export interface Params$Resource$Wiregroups$Patch extends StandardParameters { + /** + * + */ + crossSiteNetwork?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). end_interface: MixerMutationRequestBuilder + */ + requestId?: string; + /** + * update_mask indicates fields to be updated as part of this request. + */ + updateMask?: string; + /** + * [Input Only] Validate the new configuration, but don't update it. + */ + validateOnly?: boolean; + /** + * Name of the WireGroups resource to patch. + */ + wireGroup?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$WireGroup; + } + export class Resource$Zoneoperations { context: APIRequestContext; constructor(context: APIRequestContext) { diff --git a/src/apis/compute/beta.ts b/src/apis/compute/beta.ts index ca6f9b3b15..e32b5ca0b5 100644 --- a/src/apis/compute/beta.ts +++ b/src/apis/compute/beta.ts @@ -158,6 +158,7 @@ export namespace compute_beta { networkEdgeSecurityServices: Resource$Networkedgesecurityservices; networkEndpointGroups: Resource$Networkendpointgroups; networkFirewallPolicies: Resource$Networkfirewallpolicies; + networkProfiles: Resource$Networkprofiles; networks: Resource$Networks; nodeGroups: Resource$Nodegroups; nodeTemplates: Resource$Nodetemplates; @@ -180,6 +181,7 @@ export namespace compute_beta { regionInstances: Resource$Regioninstances; regionInstanceTemplates: Resource$Regioninstancetemplates; regionInstantSnapshots: Resource$Regioninstantsnapshots; + regionMultiMigs: Resource$Regionmultimigs; regionNetworkEndpointGroups: Resource$Regionnetworkendpointgroups; regionNetworkFirewallPolicies: Resource$Regionnetworkfirewallpolicies; regionNotificationEndpoints: Resource$Regionnotificationendpoints; @@ -193,6 +195,7 @@ export namespace compute_beta { regionTargetTcpProxies: Resource$Regiontargettcpproxies; regionUrlMaps: Resource$Regionurlmaps; regionZones: Resource$Regionzones; + reservationBlocks: Resource$Reservationblocks; reservations: Resource$Reservations; resourcePolicies: Resource$Resourcepolicies; routers: Resource$Routers; @@ -286,6 +289,7 @@ export namespace compute_beta { this.networkFirewallPolicies = new Resource$Networkfirewallpolicies( this.context ); + this.networkProfiles = new Resource$Networkprofiles(this.context); this.networks = new Resource$Networks(this.context); this.nodeGroups = new Resource$Nodegroups(this.context); this.nodeTemplates = new Resource$Nodetemplates(this.context); @@ -325,6 +329,7 @@ export namespace compute_beta { this.regionInstantSnapshots = new Resource$Regioninstantsnapshots( this.context ); + this.regionMultiMigs = new Resource$Regionmultimigs(this.context); this.regionNetworkEndpointGroups = new Resource$Regionnetworkendpointgroups(this.context); this.regionNetworkFirewallPolicies = @@ -351,6 +356,7 @@ export namespace compute_beta { ); this.regionUrlMaps = new Resource$Regionurlmaps(this.context); this.regionZones = new Resource$Regionzones(this.context); + this.reservationBlocks = new Resource$Reservationblocks(this.context); this.reservations = new Resource$Reservations(this.context); this.resourcePolicies = new Resource$Resourcepolicies(this.context); this.routers = new Resource$Routers(this.context); @@ -548,7 +554,7 @@ export namespace compute_beta { */ publicPtrDomainName?: string | null; /** - * [Output Only] The resource URL for the security policy associated with this access config. + * The resource URL for the security policy associated with this access config. */ securityPolicy?: string | null; /** @@ -815,6 +821,14 @@ export namespace compute_beta { * [Output Only] Contains output only fields. */ export interface Schema$AllocationResourceStatus { + /** + * The number of reservation blocks associated with this reservation. + */ + reservationBlockCount?: number | null; + /** + * Maintenance information for this reservation + */ + reservationMaintenance?: Schema$GroupMaintenanceInfo; /** * Allocation Properties of this reservation. */ @@ -1067,7 +1081,7 @@ export namespace compute_beta { */ sourceInstantSnapshot?: string | null; /** - * The source snapshot to create this disk. When creating a new instance boot disk, one of initializeParams.sourceSnapshot or initializeParams.sourceImage or disks.source is required. To create a disk with a snapshot that you created, specify the snapshot name in the following format: global/snapshots/my-backup If the source snapshot is deleted later, this field will not be set. + * The source snapshot to create this disk. When creating a new instance boot disk, one of initializeParams.sourceSnapshot or initializeParams.sourceImage or disks.source is required. To create a disk with a snapshot that you created, specify the snapshot name in the following format: global/snapshots/my-backup If the source snapshot is deleted later, this field will not be set. Note: You cannot create VMs in bulk using a snapshot as the source. Use an image instead when you create VMs using the bulk insert method. */ sourceSnapshot?: string | null; /** @@ -1080,17 +1094,13 @@ export namespace compute_beta { storagePool?: string | null; } /** - * Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] \}, { "log_type": "DATA_WRITE" \}, { "log_type": "ADMIN_READ" \} ] \}, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" \}, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] \} ] \} ] \} For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging. + * Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] \}, { "log_type": "DATA_WRITE" \}, { "log_type": "ADMIN_READ" \} ] \}, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" \}, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] \} ] \} ] \} For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. */ export interface Schema$AuditConfig { /** * The configuration for logging of each type of permission. */ auditLogConfigs?: Schema$AuditLogConfig[]; - /** - * This is deprecated and has no effect. Do not use. - */ - exemptedMembers?: string[] | null; /** * Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. */ @@ -1104,10 +1114,6 @@ export namespace compute_beta { * Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. */ exemptedMembers?: string[] | null; - /** - * This is deprecated and has no effect. Do not use. - */ - ignoreChildExemptions?: boolean | null; /** * The log type that this config enables. */ @@ -1443,6 +1449,10 @@ export namespace compute_beta { * A multiplier applied to the backend's target capacity of its balancing mode. The default value is 1, which means the group serves up to 100% of its configured capacity (depending on balancingMode). A setting of 0 means the group is completely drained, offering 0% of its available capacity. The valid ranges are 0.0 and [0.1,1.0]. You cannot configure a setting larger than 0 and smaller than 0.1. You cannot configure a setting of 0 when there is only one backend attached to the backend service. Not available with backends that don't support using a balancingMode. This includes backends such as global internet NEGs, regional serverless NEGs, and PSC NEGs. */ capacityScaler?: number | null; + /** + * List of custom metrics that are used for CUSTOM_METRICS BalancingMode. + */ + customMetrics?: Schema$BackendCustomMetric[]; /** * An optional description of this resource. Provide this property when you create the resource. */ @@ -1532,6 +1542,10 @@ export namespace compute_beta { * Type of the resource. */ kind?: string | null; + /** + * The value can only be INTERNAL_MANAGED for cross-region internal layer 7 load balancer. If loadBalancingScheme is not specified, the backend bucket can be used by classic global external load balancers, or global application external load balancers, or both. + */ + loadBalancingScheme?: string | null; /** * Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. */ @@ -1558,7 +1572,7 @@ export namespace compute_beta { */ cacheKeyPolicy?: Schema$BackendBucketCdnPolicyCacheKeyPolicy; /** - * Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any "private", "no-store" or "no-cache" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. + * Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any "private", "no-store" or "no-cache" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. If no value is provided for cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC. */ cacheMode?: string | null; /** @@ -1672,6 +1686,23 @@ export namespace compute_beta { */ reference?: string | null; } + /** + * Custom Metrics are used for CUSTOM_METRICS balancing_mode. + */ + export interface Schema$BackendCustomMetric { + /** + * If true, the metric data is collected and reported to Cloud Monitoring, but is not used for load balancing. + */ + dryRun?: boolean | null; + /** + * Optional parameter to define a target utilization for the Custom Metrics balancing mode. The valid range is [0.0, 1.0]. + */ + maxUtilization?: number | null; + /** + * Name of a custom utilization signal. The name must be 1-24 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED. + */ + name?: string | null; + } /** * Represents a Backend Service resource. A backend service defines how Google Cloud load balancers distribute traffic. The backend service configuration contains a set of values, such as the protocol used to connect to backends, various distribution and session settings, health checks, and timeouts. These settings provide fine-grained control over how your load balancer behaves. Most of the settings have default values that allow for easy configuration if you need to get started quickly. Backend services in Google Compute Engine can be either regionally or globally scoped. * [Global](https://cloud.google.com/compute/docs/reference/rest/beta/backendServices) * [Regional](https://cloud.google.com/compute/docs/reference/rest/beta/regionBackendServices) For more information, see Backend Services. */ @@ -1706,6 +1737,10 @@ export namespace compute_beta { * [Output Only] Creation timestamp in RFC3339 text format. */ creationTimestamp?: string | null; + /** + * List of custom metrics that are used for the WEIGHTED_ROUND_ROBIN locality_lb_policy. + */ + customMetrics?: Schema$BackendServiceCustomMetric[]; /** * Headers that the load balancer adds to proxied requests. See [Creating custom headers](https://cloud.google.com/load-balancing/docs/custom-headers). */ @@ -1847,6 +1882,10 @@ export namespace compute_beta { * The backend service timeout has a different meaning depending on the type of load balancer. For more information see, Backend service settings. The default is 30 seconds. The full range of timeout values allowed goes from 1 through 2,147,483,647 seconds. This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration. */ timeoutSec?: number | null; + /** + * Configuration for Backend Authenticated TLS and mTLS. May only be specified when the backend protocol is SSL, HTTPS or HTTP2. + */ + tlsSettings?: Schema$BackendServiceTlsSettings; /** * [Output Only] List of resources referencing given backend service. */ @@ -1902,7 +1941,7 @@ export namespace compute_beta { */ cacheKeyPolicy?: Schema$CacheKeyPolicy; /** - * Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any "private", "no-store" or "no-cache" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. + * Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any "private", "no-store" or "no-cache" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. If no value is provided for cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC. */ cacheMode?: string | null; /** @@ -1985,6 +2024,19 @@ export namespace compute_beta { */ trackingMode?: string | null; } + /** + * Custom Metrics are used for WEIGHTED_ROUND_ROBIN locality_lb_policy. + */ + export interface Schema$BackendServiceCustomMetric { + /** + * If true, the metric data is not used for load balancing. + */ + dryRun?: boolean | null; + /** + * Name of a custom utilization signal. The name must be 1-24 characters long and match the regular expression [a-z]([-_.a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, period, underscore, lowercase letter, or digit, except the last character, which cannot be a dash, period, or underscore. For usage guidelines, see Custom Metrics balancing mode. This field can only be used for a global or regional backend service with the loadBalancingScheme set to EXTERNAL_MANAGED, INTERNAL_MANAGED INTERNAL_SELF_MANAGED. + */ + name?: string | null; + } /** * For load balancers that have configurable failover: [Internal passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/internal/failover-overview) and [external passthrough Network Load Balancers](https://cloud.google.com/load-balancing/docs/network/networklb-failover-overview). On failover or failback, this field indicates whether connection draining will be honored. Google Cloud has a fixed connection draining timeout of 10 minutes. A setting of true terminates existing TCP connections to the active pool during failover and failback, immediately draining traffic. A setting of false allows existing TCP connections to persist, even on VMs no longer in the active pool, for up to the duration of the connection draining timeout (10 minutes). */ @@ -2173,6 +2225,12 @@ export namespace compute_beta { export interface Schema$BackendServiceReference { backendService?: string | null; } + export interface Schema$BackendServicesGetEffectiveSecurityPoliciesResponse { + /** + * Effective security policies for the backend service. + */ + securityPolicies?: Schema$SecurityPolicy[]; + } export interface Schema$BackendServicesScopedList { /** * A list of BackendServices contained in this scope. @@ -2187,6 +2245,33 @@ export namespace compute_beta { message?: string; } | null; } + export interface Schema$BackendServiceTlsSettings { + /** + * Reference to the BackendAuthenticationConfig resource from the networksecurity.googleapis.com namespace. Can be used in authenticating TLS connections to the backend, as specified by the authenticationMode field. Can only be specified if authenticationMode is not NONE. + */ + authenticationConfig?: string | null; + /** + * Server Name Indication - see RFC3546 section 3.1. If set, the load balancer sends this string as the SNI hostname in the TLS connection to the backend, and requires that this string match a Subject Alternative Name (SAN) in the backend's server certificate. With a Regional Internet NEG backend, if the SNI is specified here, the load balancer uses it regardless of whether the Regional Internet NEG is specified with FQDN or IP address and port. When both sni and subjectAltNames[] are specified, the load balancer matches the backend certificate's SAN only to subjectAltNames[]. + */ + sni?: string | null; + /** + * A list of Subject Alternative Names (SANs) that the Load Balancer verifies during a TLS handshake with the backend. When the server presents its X.509 certificate to the Load Balancer, the Load Balancer inspects the certificate's SAN field, and requires that at least one SAN match one of the subjectAltNames in the list. This field is limited to 5 entries. When both sni and subjectAltNames[] are specified, the load balancer matches the backend certificate's SAN only to subjectAltNames[]. + */ + subjectAltNames?: Schema$BackendServiceTlsSettingsSubjectAltName[]; + } + /** + * A Subject Alternative Name that the load balancer matches against the SAN field in the TLS certificate provided by the backend, specified as either a DNS name or a URI, in accordance with RFC 5280 4.2.1.6 + */ + export interface Schema$BackendServiceTlsSettingsSubjectAltName { + /** + * The SAN specified as a DNS Name. + */ + dnsName?: string | null; + /** + * The SAN specified as a URI. + */ + uniformResourceIdentifier?: string | null; + } export interface Schema$BackendServiceUsedBy { /** * [Output Only] Server-defined URL for resources referencing given BackendService like UrlMaps, TargetTcpProxies, TargetSslProxies and ForwardingRule. @@ -2371,10 +2456,6 @@ export namespace compute_beta { * Associates `members`, or principals, with a `role`. */ export interface Schema$Binding { - /** - * This is deprecated and has no effect. Do not use. - */ - bindingId?: string | null; /** * The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). */ @@ -2562,6 +2643,10 @@ export namespace compute_beta { * [Output Only] Creation timestamp in RFC3339 text format. */ creationTimestamp?: string | null; + /** + * [Input Only] Optional, specifies the CUD end time requested by the customer in RFC3339 text format. Needed when the customer wants CUD's end date is later than the start date + term duration. + */ + customEndTimestamp?: string | null; /** * An optional description of this resource. Provide this property when you create the resource. */ @@ -2610,6 +2695,10 @@ export namespace compute_beta { * A list of commitment amounts for particular resources. Note that VCPU and MEMORY resource commitments must occur together. */ resources?: Schema$ResourceCommitment[]; + /** + * [Output Only] Status information for Commitment resource. + */ + resourceStatus?: Schema$CommitmentResourceStatus; /** * [Output Only] Server-defined URL for the resource. */ @@ -2702,6 +2791,15 @@ export namespace compute_beta { message?: string; } | null; } + /** + * [Output Only] Contains output only fields. + */ + export interface Schema$CommitmentResourceStatus { + /** + * [Output Only] Indicates the end time of customer's eligibility to send custom term requests in RFC3339 text format. Term extension requests that (not the end time in the request) after this time will be rejected. + */ + customTermEligibilityEndTimestamp?: string | null; + } export interface Schema$CommitmentsScopedList { /** * [Output Only] A list of commitments contained in this scope. @@ -2716,31 +2814,6 @@ export namespace compute_beta { message?: string; } | null; } - /** - * This is deprecated and has no effect. Do not use. - */ - export interface Schema$Condition { - /** - * This is deprecated and has no effect. Do not use. - */ - iam?: string | null; - /** - * This is deprecated and has no effect. Do not use. - */ - op?: string | null; - /** - * This is deprecated and has no effect. Do not use. - */ - svc?: string | null; - /** - * This is deprecated and has no effect. Do not use. - */ - sys?: string | null; - /** - * This is deprecated and has no effect. Do not use. - */ - values?: string[] | null; - } /** * A set of Confidential Instance options. */ @@ -3520,7 +3593,7 @@ export namespace compute_beta { */ domain?: string | null; /** - * Additional structured details about this error. Keys must match /a-z+/ but should ideally be lowerCamelCase. Also they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than {"instanceLimit": "100/request"\}, should be returned as, {"instanceLimitPerRequest": "100"\}, if the client exceeds the number of instances that can be created in a single (batch) request. + * Additional structured details about this error. Keys must match a regular expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{"instanceLimit": "100/request"\}`, should be returned as, `{"instanceLimitPerRequest": "100"\}`, if the client exceeds the number of instances that can be created in a single (batch) request. */ metadatas?: {[key: string]: string} | null; /** @@ -3848,6 +3921,20 @@ export namespace compute_beta { */ kind?: string | null; } + export interface Schema$FirewallPoliciesScopedList { + /** + * A list of firewall policies contained in this scope. + */ + firewallPolicies?: Schema$FirewallPolicy[]; + /** + * Informational warning which replaces the list of firewall policies when the list is empty. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } /** * Represents a Firewall Policy resource. */ @@ -4400,10 +4487,18 @@ export namespace compute_beta { * Setting for enabling or disabling automatic deletion for auto-created reservation. If set to true, auto-created reservations will be deleted at Future Reservation's end time (default) or at user's defined timestamp if any of the [auto_created_reservations_delete_time, auto_created_reservations_duration] values is specified. For keeping auto-created reservation indefinitely, this value should be set to false. */ autoDeleteAutoCreatedReservations?: boolean | null; + /** + * If not present, then FR will not deliver a new commitment or update an existing commitment. + */ + commitmentInfo?: Schema$FutureReservationCommitmentInfo; /** * [Output Only] The creation timestamp for this future reservation in RFC3339 text format. */ creationTimestamp?: string | null; + /** + * Type of the deployment requested as part of future reservation. + */ + deploymentType?: string | null; /** * An optional description of this resource. Provide this property when you create the future reservation. */ @@ -4428,6 +4523,14 @@ export namespace compute_beta { * Planning state before being submitted for evaluation */ planningStatus?: string | null; + /** + * Name of reservations where the capacity is provisioned at the time of delivery of future reservations. If the reservation with the given name does not exist already, it is created automatically at the time of Approval with INACTIVE state till specified start-time. Either provide the reservation_name or a name_prefix. + */ + reservationName?: string | null; + /** + * Maintenance information for this reservation + */ + schedulingType?: string | null; /** * [Output Only] Server-defined fully-qualified URL for this resource. */ @@ -4440,6 +4543,10 @@ export namespace compute_beta { * List of Projects/Folders to share with. */ shareSettings?: Schema$ShareSettings; + /** + * Indicates whether the auto-created reservation can be consumed by VMs with affinity for "any" reservation. If the field is set, then only VMs that target the reservation by name can consume from the delivered reservation. + */ + specificReservationRequired?: boolean | null; /** * Future Reservation configuration to indicate instance properties and total count. */ @@ -4457,6 +4564,20 @@ export namespace compute_beta { */ zone?: string | null; } + export interface Schema$FutureReservationCommitmentInfo { + /** + * name of the commitment where capacity is being delivered to. + */ + commitmentName?: string | null; + /** + * Indicates if a Commitment needs to be created as part of FR delivery. If this field is not present, then no commitment needs to be created. + */ + commitmentPlan?: string | null; + /** + * Only applicable if FR is delivering to the same reservation. If set, all parent commitments will be extended to match the end date of the plan for this commitment. + */ + previousCommitmentTerms?: string | null; + } /** * Contains a list of future reservations. */ @@ -4725,6 +4846,27 @@ export namespace compute_beta { */ policy?: Schema$Policy; } + /** + * Maintenance Info for ReservationBlocks. + */ + export interface Schema$GroupMaintenanceInfo { + /** + * Progress for ongoing maintenance for this group of VMs/hosts. Describes number of hosts in the block that have ongoing maintenance. + */ + maintenanceOngoingCount?: number | null; + /** + * Progress for ongoing maintenance for this group of VMs/hosts. Describes number of hosts in the block that have pending maintenance. + */ + maintenancePendingCount?: number | null; + /** + * The type of maintenance for the reservation. + */ + schedulingType?: string | null; + /** + * Maintenance information on this group of VMs. + */ + upcomingGroupMaintenance?: Schema$UpcomingMaintenance; + } export interface Schema$GRPCHealthCheck { /** * The gRPC service name for the health check. This field is optional. The value of grpc_service_name has the following meanings by convention: - Empty service_name means the overall status of all services at the backend. - Non-empty service_name means the health of that gRPC service, as defined by the owner of the service. The grpc_service_name can only be ASCII. @@ -5577,15 +5719,15 @@ export namespace compute_beta { */ priority?: number | null; /** - * In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a route rule's routeAction. + * In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a route rule's routeAction. */ routeAction?: Schema$HttpRouteAction; /** - * The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. + * The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. */ service?: string | null; /** - * When this rule is matched, the request is redirected to a URL specified by urlRedirect. If urlRedirect is specified, service or routeAction must not be set. Not supported when the URL map is bound to a target gRPC proxy. + * When this rule is matched, the request is redirected to a URL specified by urlRedirect. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy. */ urlRedirect?: Schema$HttpRedirectAction; } @@ -6423,7 +6565,7 @@ export namespace compute_beta { */ name?: string | null; /** - * Named ports configured for the Instance Groups complementary to this Instance Group Manager. + * [Output Only] Named ports configured on the Instance Groups complementary to this Instance Group Manager. */ namedPorts?: Schema$NamedPort[]; /** @@ -6713,6 +6855,10 @@ export namespace compute_beta { * The name of this resize request. The name must be 1-63 characters long, and comply with RFC1035. */ name?: string | null; + /** + * [Output Only] The URL of a region where the resize request is located. Populated only for regional resize requests. + */ + region?: string | null; /** * Requested run duration for instances that will be created by this request. At the end of the run duration instance will be deleted. */ @@ -7492,7 +7638,7 @@ export namespace compute_beta { } export interface Schema$InstancesGetEffectiveFirewallsResponse { /** - * Effective firewalls from firewall policies. + * [Output Only] Effective firewalls from firewall policies. */ firewallPolicys?: Schema$InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy[]; /** @@ -7513,12 +7659,16 @@ export namespace compute_beta { * [Output Only] The name of the firewall policy. */ name?: string | null; + /** + * [Output Only] The packet mirroring rules that apply to the instance. + */ + packetMirroringRules?: Schema$FirewallPolicyRule[]; /** * [Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY. */ priority?: number | null; /** - * The rules that apply to the network. + * [Output Only] The rules that apply to the instance. Only rules that target the specific VM instance are returned if target service accounts or target secure tags are specified in the rules. */ rules?: Schema$FirewallPolicyRule[]; /** @@ -7958,10 +8108,18 @@ export namespace compute_beta { * Represents an Interconnect resource. An Interconnect resource is a dedicated connection between the Google Cloud network and your on-premises network. For more information, read the Dedicated Interconnect Overview. */ export interface Schema$Interconnect { + /** + * Enable or disable the application awareness feature on this Cloud Interconnect. + */ + aaiEnabled?: boolean | null; /** * Administrative status of the interconnect. When this is set to true, the Interconnect is functional and can carry traffic. When set to false, no packets can be carried over the interconnect and no BGP routes are exchanged over it. By default, the status is set to true. */ adminEnabled?: boolean | null; + /** + * Configuration information for application awareness on this Cloud Interconnect. + */ + applicationAwareInterconnect?: Schema$InterconnectApplicationAwareInterconnect; /** * [Output only] List of features available for this Interconnect connection, which can take one of the following values: - IF_MACSEC If present then the Interconnect connection is provisioned on MACsec capable hardware ports. If not present then the Interconnect connection is provisioned on non-MACsec capable ports and MACsec isn't supported and enabling MACsec fails. */ @@ -8079,6 +8237,44 @@ export namespace compute_beta { */ state?: string | null; } + /** + * Configuration information for application awareness on this Cloud Interconnect. + */ + export interface Schema$InterconnectApplicationAwareInterconnect { + bandwidthPercentagePolicy?: Schema$InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy; + /** + * Description for the application awareness profile on this Cloud Interconnect. + */ + profileDescription?: string | null; + /** + * Optional field to specify a list of shape average percentages to be applied in conjunction with StrictPriorityPolicy or BandwidthPercentagePolicy. + */ + shapeAveragePercentages?: Schema$InterconnectApplicationAwareInterconnectBandwidthPercentage[]; + strictPriorityPolicy?: Schema$InterconnectApplicationAwareInterconnectStrictPriorityPolicy; + } + /** + * Specify bandwidth percentages [1-100] for various traffic classes in BandwidthPercentagePolicy. The sum of all percentages must equal 100. All traffic classes must have a percentage value specified. + */ + export interface Schema$InterconnectApplicationAwareInterconnectBandwidthPercentage { + /** + * Bandwidth percentage for a specific traffic class. + */ + percentage?: number | null; + /** + * TrafficClass whose bandwidth percentage is being specified. + */ + trafficClass?: string | null; + } + export interface Schema$InterconnectApplicationAwareInterconnectBandwidthPercentagePolicy { + /** + * Specify bandwidth percentages for various traffic classes for queuing type Bandwidth Percent. + */ + bandwidthPercentages?: Schema$InterconnectApplicationAwareInterconnectBandwidthPercentage[]; + } + /** + * Specify configuration for StrictPriorityPolicy. + */ + export interface Schema$InterconnectApplicationAwareInterconnectStrictPriorityPolicy {} /** * Represents an Interconnect Attachment (VLAN) resource. You can use Interconnect attachments (VLANS) to connect your Virtual Private Cloud networks to your on-premises networks through an Interconnect. For more information, read Creating VLAN Attachments. */ @@ -8088,7 +8284,7 @@ export namespace compute_beta { */ adminEnabled?: boolean | null; /** - * Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s + * Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s - BPS_100G: 100 Gbit/s */ bandwidth?: string | null; /** @@ -8096,7 +8292,7 @@ export namespace compute_beta { */ candidateIpv6Subnets?: string[] | null; /** - * Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space. + * Input only. Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space. */ candidateSubnets?: string[] | null; /** @@ -8140,7 +8336,7 @@ export namespace compute_beta { */ description?: string | null; /** - * Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY. + * Input only. Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY. */ edgeAvailabilityDomain?: string | null; /** @@ -8232,7 +8428,7 @@ export namespace compute_beta { */ state?: string | null; /** - * Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The default value is 29, except for Cross-Cloud Interconnect connections that use an InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal to 30. For example, connections that use an Azure remote location fall into this category. In these cases, the default value is 30, and requesting 29 returns an error. Where both 29 and 30 are allowed, 29 is preferred, because it gives Google Cloud Support more debugging visibility. + * Input only. Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The default value is 29, except for Cross-Cloud Interconnect connections that use an InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal to 30. For example, connections that use an Azure remote location fall into this category. In these cases, the default value is 30, and requesting 29 returns an error. Where both 29 and 30 are allowed, 29 is preferred, because it gives Google Cloud Support more debugging visibility. */ subnetLength?: number | null; /** @@ -8534,7 +8730,7 @@ export namespace compute_beta { */ availabilityZone?: string | null; /** - * [Output only] List of features available at this InterconnectLocation, which can take one of the following values: - MACSEC + * [Output only] List of features available at this InterconnectLocation, which can take one of the following values: - IF_MACSEC */ availableFeatures?: string[] | null; /** @@ -8931,6 +9127,9 @@ export namespace compute_beta { * Name of the resource. The name must be 1-63 characters long and comply with RFC1035. */ name?: string | null; + /** + * [Input Only] Deprecated. + */ resourceRequirements?: Schema$LicenseResourceRequirements; /** * [Output Only] Server-defined URL for the resource. @@ -9011,11 +9210,11 @@ export namespace compute_beta { } export interface Schema$LicenseResourceRequirements { /** - * Minimum number of guest cpus required to use the Instance. Enforced at Instance creation and Instance start. + * [Input Only] Deprecated. This field no longer reflects the minimum number of guest cpus required to use the Instance. */ minGuestCpuCount?: number | null; /** - * Minimum memory required to use the Instance. Enforced at Instance creation and Instance start. + * [Input Only] Deprecated. This field no longer reflects the minimum memory required to use the Instance. */ minMemoryMb?: number | null; } @@ -9104,71 +9303,6 @@ export namespace compute_beta { */ maxCount?: number | null; } - /** - * This is deprecated and has no effect. Do not use. - */ - export interface Schema$LogConfig { - /** - * This is deprecated and has no effect. Do not use. - */ - cloudAudit?: Schema$LogConfigCloudAuditOptions; - /** - * This is deprecated and has no effect. Do not use. - */ - counter?: Schema$LogConfigCounterOptions; - /** - * This is deprecated and has no effect. Do not use. - */ - dataAccess?: Schema$LogConfigDataAccessOptions; - } - /** - * This is deprecated and has no effect. Do not use. - */ - export interface Schema$LogConfigCloudAuditOptions { - /** - * This is deprecated and has no effect. Do not use. - */ - logName?: string | null; - } - /** - * This is deprecated and has no effect. Do not use. - */ - export interface Schema$LogConfigCounterOptions { - /** - * This is deprecated and has no effect. Do not use. - */ - customFields?: Schema$LogConfigCounterOptionsCustomField[]; - /** - * This is deprecated and has no effect. Do not use. - */ - field?: string | null; - /** - * This is deprecated and has no effect. Do not use. - */ - metric?: string | null; - } - /** - * This is deprecated and has no effect. Do not use. - */ - export interface Schema$LogConfigCounterOptionsCustomField { - /** - * This is deprecated and has no effect. Do not use. - */ - name?: string | null; - /** - * This is deprecated and has no effect. Do not use. - */ - value?: string | null; - } - /** - * This is deprecated and has no effect. Do not use. - */ - export interface Schema$LogConfigDataAccessOptions { - /** - * This is deprecated and has no effect. Do not use. - */ - logMode?: string | null; - } /** * Represents a machine image resource. A machine image is a Compute Engine resource that stores all the configuration, metadata, permissions, and data from one or more disks required to create a Virtual machine (VM) instance. For more information, see Machine images. */ @@ -9586,6 +9720,87 @@ export namespace compute_beta { */ value?: string | null; } + /** + * Multi-MIG represents a group of managed instance groups. + */ + export interface Schema$MultiMig { + /** + * [Output only] The creation timestamp of this multi-MIG in RFC3339 text format. + */ + creationTimestamp?: string | null; + /** + * An optional description of this resource. + */ + description?: string | null; + /** + * [Output only] The unique identifier for this resource type. The server generates this identifier. + */ + id?: string | null; + /** + * [Output only] Type of the resource. Always compute#multiMig for multi-MIGs. + */ + kind?: string | null; + /** + * The name of the multi-MIG. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. + */ + name?: string | null; + /** + * [Output only] The URL of the region where the resource resides. You must specify this field as part of the HTTP request URL. You cannot set the region as a field in the request body. + */ + region?: string | null; + /** + * Resource policies for this multi-MIG. + */ + resourcePolicies?: Schema$MultiMigResourcePolicies; + /** + * [Output only] Server-defined URL for the resource. + */ + selfLink?: string | null; + } + /** + * Resource policies message for a multi-MIG. Specifies the workload policy configuration of the multi-MIG. + */ + export interface Schema$MultiMigResourcePolicies { + /** + * The URL of the workload policy for this multi-MIG. It can be a full or partial URL. For example, the following are all valid URLs to a workload policy: - https://www.googleapis.com/compute/v1/projects/project/regions/region /resourcePolicies/resourcePolicy - projects/project/regions/region/resourcePolicies/resourcePolicy - regions/region/resourcePolicies/resourcePolicy + */ + workloadPolicy?: string | null; + } + export interface Schema$MultiMigsList { + etag?: string | null; + /** + * Unique identifier for the resource; defined by the server. + */ + id?: string | null; + /** + * A list of multi-MIGs in the specified project and region. + */ + items?: Schema$MultiMig[]; + /** + * Type of resource. + */ + kind?: string | null; + /** + * This token allows you to get the next page of results for maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. + */ + nextPageToken?: string | null; + /** + * [Output only] Server-defined URL for this resource. + */ + selfLink?: string | null; + /** + * [Output only] Unreachable resources. + */ + unreachables?: string[] | null; + /** + * Informational warning message. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } /** * The named port. For example: <"http", 80\>. */ @@ -9691,6 +9906,10 @@ export namespace compute_beta { * The network firewall policy enforcement order. Can be either AFTER_CLASSIC_FIREWALL or BEFORE_CLASSIC_FIREWALL. Defaults to AFTER_CLASSIC_FIREWALL if the field is not specified. */ networkFirewallPolicyEnforcementOrder?: string | null; + /** + * A full or partial URL of the network profile to apply to this network. This field can be set only at resource creation time. For example, the following are valid URLs: - https://www.googleapis.com/compute/{api_version\}/projects/{project_id\}/global/networkProfiles/{network_profile_name\} - projects/{project_id\}/global/networkProfiles/{network_profile_name\} + */ + networkProfile?: string | null; /** * [Output Only] A list of network peerings for the resource. */ @@ -10342,6 +10561,40 @@ export namespace compute_beta { */ networkEndpoint?: Schema$NetworkEndpoint; } + export interface Schema$NetworkFirewallPolicyAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string | null; + /** + * A list of FirewallPoliciesScopedList resources. + */ + items?: {[key: string]: Schema$FirewallPoliciesScopedList} | null; + /** + * [Output Only] Type of resource. Always compute#networkFirewallPoliciesAggregatedList for lists of network firewall policies. + */ + kind?: string | null; + /** + * [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. + */ + nextPageToken?: string | null; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string | null; + /** + * [Output Only] Unreachable resources. + */ + unreachables?: string[] | null; + /** + * [Output Only] Informational warning message. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } /** * A network interface resource attached to an instance. */ @@ -10500,6 +10753,183 @@ export namespace compute_beta { export interface Schema$NetworkPerformanceConfig { totalEgressBandwidthTier?: string | null; } + /** + * NetworkProfile represents a Google managed network profile resource. + */ + export interface Schema$NetworkProfile { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string | null; + /** + * [Output Only] An optional description of this resource. + */ + description?: string | null; + /** + * [Output Only] Features supported by the network. + */ + features?: Schema$NetworkProfileNetworkFeatures; + /** + * [Output Only] The unique identifier for the resource. This identifier is defined by the server. + */ + id?: string | null; + /** + * [Output Only] Type of the resource. Always compute#networkProfile for network profiles. + */ + kind?: string | null; + /** + * [Output Only] Location to which the network is restricted. + */ + location?: Schema$NetworkProfileLocation; + /** + * [Output Only] Name of the resource. + */ + name?: string | null; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string | null; + /** + * [Output Only] Server-defined URL for this resource with the resource id. + */ + selfLinkWithId?: string | null; + /** + * [Output Only] Zone to which the network is restricted. + */ + zone?: string | null; + } + export interface Schema$NetworkProfileLocation { + name?: string | null; + scope?: string | null; + } + export interface Schema$NetworkProfileNetworkFeatures { + /** + * Specifies what address purposes are supported. If empty, all address purposes are supported. + */ + addressPurposes?: string[] | null; + /** + * Specifies whether alias IP ranges (and secondary address ranges) are allowed. + */ + allowAliasIpRanges?: string | null; + /** + * Specifies whether auto mode subnet creation is allowed. + */ + allowAutoModeSubnet?: string | null; + /** + * Specifies whether firewalls for Class D address ranges are supported. + */ + allowClassDFirewalls?: string | null; + /** + * Specifies whether cloud NAT creation is allowed. + */ + allowCloudNat?: string | null; + /** + * Specifies whether cloud router creation is allowed. + */ + allowCloudRouter?: string | null; + /** + * Specifies whether VMs are allowed to have external IP access on network interfaces connected to this VPC. + */ + allowExternalIpAccess?: string | null; + /** + * Specifies whether Cloud Interconnect creation is allowed. + */ + allowInterconnect?: string | null; + /** + * Specifies whether cloud load balancing is allowed. + */ + allowLoadBalancing?: string | null; + /** + * Specifies whether multi-nic in the same network is allowed. + */ + allowMultiNicInSameNetwork?: string | null; + /** + * Specifies whether Packet Mirroring 1.0 is supported. + */ + allowPacketMirroring?: string | null; + /** + * Specifies whether private Google access is allowed. + */ + allowPrivateGoogleAccess?: string | null; + /** + * Specifies whether PSC creation is allowed. + */ + allowPsc?: string | null; + /** + * Specifies whether unicast within the same network is allowed. + */ + allowSameNetworkUnicast?: string | null; + /** + * Specifies whether static route creation is allowed. + */ + allowStaticRoutes?: string | null; + /** + * Specifies whether sub interfaces are allowed. + */ + allowSubInterfaces?: string | null; + /** + * Specifies whether VPC peering is allowed. + */ + allowVpcPeering?: string | null; + /** + * Specifies whether VPN creation is allowed. + */ + allowVpn?: string | null; + /** + * If set, limits the interface types that the network supports. If empty, all interface types are supported. + */ + interfaceTypes?: string[] | null; + /** + * Specifies which subnetwork purposes are supported. + */ + subnetPurposes?: string[] | null; + /** + * Specifies which subnetwork stack types are supported. + */ + subnetStackTypes?: string[] | null; + /** + * Specifies which type of unicast is supported. + */ + unicast?: string | null; + } + /** + * Contains a list of network profiles. + */ + export interface Schema$NetworkProfilesListResponse { + etag?: string | null; + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string | null; + /** + * A list of NetworkProfile resources. + */ + items?: Schema$NetworkProfile[]; + /** + * [Output Only] Type of resource. Always compute#networkProfileList for network profiles. + */ + kind?: string | null; + /** + * [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. + */ + nextPageToken?: string | null; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string | null; + /** + * [Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder + */ + unreachables?: string[] | null; + /** + * [Output Only] Informational warning message. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } /** * A routing configuration attached to a network resource. The message includes the list of routers associated with the network, and a flag indicating the type of routing behavior to enforce network-wide. */ @@ -10516,6 +10946,14 @@ export namespace compute_beta { * Allows to define a preferred approach for handling inter-region cost in the selection process when using the STANDARD BGP best path selection algorithm. Can be DEFAULT or ADD_COST_TO_MED. */ bgpInterRegionCost?: string | null; + /** + * [Output Only] Effective value of the bgp_always_compare_med field. + */ + effectiveBgpAlwaysCompareMed?: boolean | null; + /** + * [Output Only] Effective value of the bgp_inter_region_cost field. + */ + effectiveBgpInterRegionCost?: string | null; /** * The network-wide routing mode to use. If set to REGIONAL, this network's Cloud Routers will only advertise routes with subnets of this network in the same region as the router. If set to GLOBAL, this network's Cloud Routers will advertise routes with all subnets of this network, across regions. */ @@ -10541,7 +10979,7 @@ export namespace compute_beta { } export interface Schema$NetworksGetEffectiveFirewallsResponse { /** - * Effective firewalls from firewall policy. + * [Output Only] Effective firewalls from firewall policy. It returns Global Network Firewall Policies and Hierarchical Firewall Policies. Use regionNetworkFirewallPolicies.getEffectiveFirewalls to get Regional Network Firewall Policies as well. */ firewallPolicys?: Schema$NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy[]; /** @@ -10562,12 +11000,16 @@ export namespace compute_beta { * [Output Only] The name of the firewall policy. */ name?: string | null; + /** + * [Output Only] The packet mirroring rules that apply to the network. + */ + packetMirroringRules?: Schema$FirewallPolicyRule[]; /** * [Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY. */ priority?: number | null; /** - * The rules that apply to the network. + * [Output Only] The rules that apply to the network. */ rules?: Schema$FirewallPolicyRule[]; /** @@ -11369,7 +11811,7 @@ export namespace compute_beta { */ targetId?: string | null; /** - * [Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from. + * [Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the disk that the snapshot was created from. */ targetLink?: string | null; /** @@ -11789,15 +12231,15 @@ export namespace compute_beta { */ defaultCustomErrorResponsePolicy?: Schema$CustomErrorResponsePolicy; /** - * defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. If defaultRouteAction is specified, don't set defaultUrlRedirect. If defaultRouteAction.weightedBackendServices is specified, don't set defaultService. URL maps for classic Application Load Balancers only support the urlRewrite action within a path matcher's defaultRouteAction. + * defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path matcher's defaultRouteAction. */ defaultRouteAction?: Schema$HttpRouteAction; /** - * The full or partial URL to the BackendService resource. This URL is used if none of the pathRules or routeRules defined by this PathMatcher are matched. For example, the following are all valid URLs to a BackendService resource: - https://www.googleapis.com/compute/v1/projects/project /global/backendServices/backendService - compute/v1/projects/project/global/backendServices/backendService - global/backendServices/backendService If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if defaultRouteAction specifies any weightedBackendServices, defaultService must not be specified. If defaultService is specified, then set either defaultUrlRedirect or defaultRouteAction.weightedBackendService. Don't set both. Authorization requires one or more of the following Google IAM permissions on the specified resource default_service: - compute.backendBuckets.use - compute.backendServices.use + * The full or partial URL to the BackendService resource. This URL is used if none of the pathRules or routeRules defined by this PathMatcher are matched. For example, the following are all valid URLs to a BackendService resource: - https://www.googleapis.com/compute/v1/projects/project /global/backendServices/backendService - compute/v1/projects/project/global/backendServices/backendService - global/backendServices/backendService If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. Authorization requires one or more of the following Google IAM permissions on the specified resource default_service: - compute.backendBuckets.use - compute.backendServices.use */ defaultService?: string | null; /** - * When none of the specified pathRules or routeRules match, the request is redirected to a URL specified by defaultUrlRedirect. If defaultUrlRedirect is specified, then set either defaultService or defaultRouteAction. Don't set both. Not supported when the URL map is bound to a target gRPC proxy. + * When none of the specified pathRules or routeRules match, the request is redirected to a URL specified by defaultUrlRedirect. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy. */ defaultUrlRedirect?: Schema$HttpRedirectAction; /** @@ -11834,15 +12276,15 @@ export namespace compute_beta { */ paths?: string[] | null; /** - * In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction or urlRedirect must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path rule's routeAction. + * In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path rule's routeAction. */ routeAction?: Schema$HttpRouteAction; /** - * The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. + * The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. */ service?: string | null; /** - * When a path pattern is matched, the request is redirected to a URL specified by urlRedirect. If urlRedirect is specified, service or routeAction must not be set. Not supported when the URL map is bound to a target gRPC proxy. + * When a path pattern is matched, the request is redirected to a URL specified by urlRedirect. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy. */ urlRedirect?: Schema$HttpRedirectAction; } @@ -11852,7 +12294,7 @@ export namespace compute_beta { */ fingerprint?: string | null; /** - * The name of a per-instance configuration and its corresponding instance. Serves as a merge key during UpdatePerInstanceConfigs operations, that is, if a per-instance configuration with the same name exists then it will be updated, otherwise a new one will be created for the VM instance with the same name. An attempt to create a per-instance configconfiguration for a VM instance that either doesn't exist or is not part of the group will result in an error. + * The name of a per-instance configuration and its corresponding instance. Serves as a merge key during UpdatePerInstanceConfigs operations, that is, if a per-instance configuration with the same name exists then it will be updated, otherwise a new one will be created for the VM instance with the same name. An attempt to create a per-instance configuration for a VM instance that either doesn't exist or is not part of the group will result in an error. */ name?: string | null; /** @@ -11880,10 +12322,6 @@ export namespace compute_beta { * `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. */ etag?: string | null; - /** - * This is deprecated and has no effect. Do not use. - */ - rules?: Schema$Rule[]; /** * Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). */ @@ -11983,7 +12421,7 @@ export namespace compute_beta { */ description?: string | null; /** - * Restricted features enabled for use on this project. + * An optional list of restricted features enabled for use on this project. */ enabledFeatures?: string[] | null; /** @@ -12011,7 +12449,7 @@ export namespace compute_beta { */ selfLink?: string | null; /** - * The naming prefix for daily usage reports and the Google Cloud Storage bucket where they are stored. + * An optional naming prefix for daily usage reports and the Google Cloud Storage bucket where they are stored. */ usageExportLocation?: Schema$UsageExportLocation; /** @@ -12984,7 +13422,7 @@ export namespace compute_beta { } export interface Schema$RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse { /** - * Effective firewalls from firewall policy. + * [Output only] Effective firewalls from firewall policy. It applies to Regional Network Firewall Policies in the specified region, Global Network Firewall Policies and Hierachial Firewall Policies which are associated with the network. */ firewallPolicys?: Schema$RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy[]; /** @@ -13001,12 +13439,16 @@ export namespace compute_beta { * [Output Only] The name of the firewall policy. */ name?: string | null; + /** + * [Output only] The packet mirroring rules that apply to the network. + */ + packetMirroringRules?: Schema$FirewallPolicyRule[]; /** * [Output only] Priority of firewall policy association. Not applicable for type=HIERARCHY. */ priority?: number | null; /** - * The rules that apply to the network. + * [Output only] The rules that apply to the network. */ rules?: Schema$FirewallPolicyRule[]; /** @@ -13087,6 +13529,10 @@ export namespace compute_beta { * Absolute time in future when the reservation will be auto-deleted by Compute Engine. Timestamp is represented in RFC3339 text format. */ deleteAtTime?: string | null; + /** + * Specifies the deployment strategy for this reservation. + */ + deploymentType?: string | null; /** * An optional description of this resource. Provide this property when you create the resource. */ @@ -13136,7 +13582,7 @@ export namespace compute_beta { */ specificReservationRequired?: boolean | null; /** - * [Output Only] The status of the reservation. + * [Output Only] The status of the reservation. - CREATING: Reservation resources are being allocated. - READY: Reservation resources have been allocated, and the reservation is ready for use. - DELETING: Reservation deletion is in progress. - UPDATING: Reservation update is in progress. */ status?: string | null; /** @@ -13198,6 +13644,105 @@ export namespace compute_beta { message?: string; } | null; } + /** + * Represents a reservation block resource. + */ + export interface Schema$ReservationBlock { + /** + * [Output Only] The number of resources that are allocated in this reservation block. + */ + count?: number | null; + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string | null; + /** + * [Output Only] The unique identifier for the resource. This identifier is defined by the server. + */ + id?: string | null; + /** + * [Output Only] The number of instances that are currently in use on this reservation block. + */ + inUseCount?: number | null; + /** + * [Output Only] Type of the resource. Always compute#reservationBlock for reservation blocks. + */ + kind?: string | null; + /** + * [Output Only] The name of this reservation block generated by Google Compute Engine. The name must be 1-63 characters long, and comply with RFC1035 @pattern [a-z](?:[-a-z0-9]{0,61\}[a-z0-9])? + */ + name?: string | null; + /** + * [Output Only] The physical topology of the reservation block. + */ + physicalTopology?: Schema$ReservationBlockPhysicalTopology; + /** + * [Output Only] Maintenance information for this reservation block. + */ + reservationMaintenance?: Schema$GroupMaintenanceInfo; + /** + * [Output Only] Server-defined fully-qualified URL for this resource. + */ + selfLink?: string | null; + /** + * [Output Only] Server-defined URL for this resource with the resource id. + */ + selfLinkWithId?: string | null; + /** + * [Output Only] Status of the reservation block. + */ + status?: string | null; + /** + * [Output Only] Zone in which the reservation block resides. + */ + zone?: string | null; + } + export interface Schema$ReservationBlockPhysicalTopology { + /** + * The hash of the capacity block within the cluster. + */ + block?: string | null; + /** + * The cluster name of the reservation block. + */ + cluster?: string | null; + } + export interface Schema$ReservationBlocksGetResponse { + resource?: Schema$ReservationBlock; + } + /** + * A list of reservation blocks under a single reservation. + */ + export interface Schema$ReservationBlocksListResponse { + /** + * Unique identifier for the resource; defined by the server. + */ + id?: string | null; + /** + * A list of reservation block resources. + */ + items?: Schema$ReservationBlock[]; + /** + * Type of the resource. Always compute#reservationBlock for a list of reservation blocks. + */ + kind?: string | null; + /** + * This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. + */ + nextPageToken?: string | null; + /** + * Server-defined URL for this resource. + */ + selfLink?: string | null; + /** + * Informational warning message. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } export interface Schema$ReservationList { /** * [Output Only] The unique identifier for the resource. This identifier is defined by the server. @@ -13619,12 +14164,41 @@ export namespace compute_beta { */ export interface Schema$ResourceStatus { /** - * [Output Only] An opaque ID of the host on which the VM is running. + * [Output Only] The precise location of your instance within the zone's data center, including the block, sub-block, and host. The field is formatted as follows: blockId/subBlockId/hostId. */ physicalHost?: string | null; + /** + * [Output Only] A series of fields containing the global name of the Compute Engine cluster, as well as the ID of the block, sub-block, and host on which the running instance is located. + */ + physicalHostTopology?: Schema$ResourceStatusPhysicalHostTopology; scheduling?: Schema$ResourceStatusScheduling; + /** + * [Output Only] Details about the instance stopping state. + */ + shutdownDetails?: Schema$ResourceStatusShutdownDetails; upcomingMaintenance?: Schema$UpcomingMaintenance; } + /** + * Represents the physical host topology of the host on which the VM is running. + */ + export interface Schema$ResourceStatusPhysicalHostTopology { + /** + * [Output Only] The ID of the block in which the running instance is located. Instances within the same block experience low network latency. + */ + block?: string | null; + /** + * [Output Only] The global name of the Compute Engine cluster where the running instance is located. + */ + cluster?: string | null; + /** + * [Output Only] The ID of the host on which the running instance is located. Instances on the same host experience the lowest possible network latency. + */ + host?: string | null; + /** + * [Output Only] The ID of the sub-block in which the running instance is located. Instances in the same sub-block experience lower network latency than instances in the same block. + */ + subblock?: string | null; + } export interface Schema$ResourceStatusScheduling { /** * Specifies the availability domain to place the instance in. The value must be a number between 1 and the number of availability domains specified in the spread placement policy attached to the instance. @@ -13635,6 +14209,12 @@ export namespace compute_beta { */ terminationTimestamp?: string | null; } + export interface Schema$ResourceStatusShutdownDetails { + maxDuration?: Schema$Duration; + requestTimestamp?: string | null; + stopState?: string | null; + targetState?: string | null; + } /** * A rollout policy configuration. */ @@ -13805,6 +14385,10 @@ export namespace compute_beta { } | null; } export interface Schema$RoutePolicy { + /** + * An optional description of route policy. + */ + description?: string | null; /** * A fingerprint for the Route Policy being applied to this Router, which is essentially a hash of the Route Policy used for optimistic locking. The fingerprint is initially generated by Compute Engine and changes after every request to modify or update Route Policy. You must always provide an up-to-date fingerprint hash in order to update or change labels. To see the latest fingerprint, make a getRoutePolicy() request to retrieve a Route Policy. */ @@ -14214,6 +14798,10 @@ export namespace compute_beta { * Unique name of this Nat service. The name must be 1-63 characters long and comply with RFC1035. */ name?: string | null; + /** + * List of Subnetwork resources whose traffic should be translated by NAT64 Gateway. It is used only when LIST_OF_IPV6_SUBNETWORKS is selected for the SubnetworkIpRangeToNat64Option above. + */ + nat64Subnetworks?: Schema$RouterNatSubnetworkToNat64[]; /** * Specify the NatIpAllocateOption, which can take one of the following values: - MANUAL_ONLY: Uses only Nat IP addresses provided by customers. When there are not enough specified Nat IPs, the Nat service fails for new VMs. - AUTO_ONLY: Nat IPs are allocated by Google Cloud Platform; customers can't specify any Nat IPs. When choosing AUTO_ONLY, then nat_ip should be empty. */ @@ -14230,6 +14818,10 @@ export namespace compute_beta { * Specify the Nat option, which can take one of the following values: - ALL_SUBNETWORKS_ALL_IP_RANGES: All of the IP ranges in every Subnetwork are allowed to Nat. - ALL_SUBNETWORKS_ALL_PRIMARY_IP_RANGES: All of the primary IP ranges in every Subnetwork are allowed to Nat. - LIST_OF_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field subnetwork below) The default is SUBNETWORK_IP_RANGE_TO_NAT_OPTION_UNSPECIFIED. Note that if this field contains ALL_SUBNETWORKS_ALL_IP_RANGES then there should not be any other Router.Nat section in any Router for this network in this region. */ sourceSubnetworkIpRangesToNat?: string | null; + /** + * Specify the Nat option for NAT64, which can take one of the following values: - ALL_IPV6_SUBNETWORKS: All of the IP ranges in every Subnetwork are allowed to Nat. - LIST_OF_IPV6_SUBNETWORKS: A list of Subnetworks are allowed to Nat (specified in the field nat64_subnetwork below) The default is NAT64_OPTION_UNSPECIFIED. Note that if this field contains NAT64_ALL_V6_SUBNETWORKS no other Router.Nat section in this region can also enable NAT64 for any Subnetworks in this network. Other Router.Nat sections can still be present to enable NAT44 only. + */ + sourceSubnetworkIpRangesToNat64?: string | null; /** * A list of Subnetwork resources whose traffic should be translated by NAT Gateway. It is used only when LIST_OF_SUBNETWORKS is selected for the SubnetworkIpRangeToNatOption above. */ @@ -14321,6 +14913,15 @@ export namespace compute_beta { */ sourceIpRangesToNat?: string[] | null; } + /** + * Specifies a subnetwork to enable NAT64. + */ + export interface Schema$RouterNatSubnetworkToNat64 { + /** + * URL for the subnetwork resource that will use NAT64. + */ + name?: string | null; + } export interface Schema$RoutersGetRoutePolicyResponse { resource?: Schema$RoutePolicy; } @@ -14582,39 +15183,6 @@ export namespace compute_beta { kind?: string | null; result?: Schema$RouterStatus; } - /** - * This is deprecated and has no effect. Do not use. - */ - export interface Schema$Rule { - /** - * This is deprecated and has no effect. Do not use. - */ - action?: string | null; - /** - * This is deprecated and has no effect. Do not use. - */ - conditions?: Schema$Condition[]; - /** - * This is deprecated and has no effect. Do not use. - */ - description?: string | null; - /** - * This is deprecated and has no effect. Do not use. - */ - ins?: string[] | null; - /** - * This is deprecated and has no effect. Do not use. - */ - logConfigs?: Schema$LogConfig[]; - /** - * This is deprecated and has no effect. Do not use. - */ - notIns?: string[] | null; - /** - * This is deprecated and has no effect. Do not use. - */ - permissions?: string[] | null; - } /** * DEPRECATED: Please use compute#savedDisk instead. An instance-attached disk resource. */ @@ -14735,6 +15303,7 @@ export namespace compute_beta { * Specifies the availability domain to place the instance in. The value must be a number between 1 and the number of availability domains specified in the spread placement policy attached to the instance. */ availabilityDomain?: number | null; + gracefulShutdown?: Schema$SchedulingGracefulShutdown; /** * Specify the time in seconds for host error detection, the value must be within the range of [90, 330] with the increment of 30, if unset, the default behavior of host error recovery will be used. */ @@ -14789,6 +15358,19 @@ export namespace compute_beta { */ terminationTime?: string | null; } + /** + * The configuration for gracefully shutting down the instance. + */ + export interface Schema$SchedulingGracefulShutdown { + /** + * Opts-in for graceful shutdown. + */ + enabled?: boolean | null; + /** + * The time allotted for the instance to gracefully shut down. If the graceful shutdown isn't complete after this time, then the instance transitions to the STOPPING state. + */ + maxDuration?: Schema$Duration; + } /** * Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled. */ @@ -15045,6 +15627,10 @@ export namespace compute_beta { jsonCustomConfig?: Schema$SecurityPolicyAdvancedOptionsConfigJsonCustomConfig; jsonParsing?: string | null; logLevel?: string | null; + /** + * The maximum request size chosen by the customer with Waf enabled. Currently only "8KB" and "128KB" are supported. Values are case insensitive. + */ + requestBodyInspectionSize?: string | null; /** * An optional list of case-insensitive request header names to use for resolving the callers client IP address. */ @@ -15377,7 +15963,7 @@ export namespace compute_beta { */ conformAction?: string | null; /** - * Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if "enforceOnKey" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP. + * Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if "enforceOnKey" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. */ enforceOnKey?: string | null; /** @@ -15407,7 +15993,7 @@ export namespace compute_beta { */ enforceOnKeyName?: string | null; /** - * Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if "enforceOnKeyConfigs" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP. + * Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if "enforceOnKeyConfigs" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. */ enforceOnKeyType?: string | null; } @@ -17108,6 +17694,10 @@ export namespace compute_beta { * The range of internal addresses that are owned by this subnetwork. Provide this property when you create the subnetwork. For example, 10.0.0.0/8 or 100.64.0.0/10. Ranges must be unique and non-overlapping within a network. Only IPv4 is supported. This field is set at resource creation time. The range can be any range listed in the Valid ranges list. The range can be expanded after creation using expandIpCidrRange. */ ipCidrRange?: string | null; + /** + * Reference to the source of IP, like a PublicDelegatedPrefix (PDP) for BYOIP. The PDP must be a sub-PDP in EXTERNAL_IPV6_SUBNETWORK_CREATION mode. Use one of the following formats to specify a sub-PDP when creating a dual stack subnetwork with external access using BYOIP: - Full resource URL, as in https://www.googleapis.com/compute/v1/projects/projectId/regions/region /publicDelegatedPrefixes/sub-pdp-name - Partial URL, as in - projects/projectId/regions/region/publicDelegatedPrefixes/ sub-pdp-name - regions/region/publicDelegatedPrefixes/sub-pdp-name + */ + ipCollection?: string | null; /** * The access type of IPv6 address this subnet holds. It's immutable and can only be specified during creation or the first time the subnet is updated into IPV4_IPV6 dual stack. */ @@ -17116,6 +17706,10 @@ export namespace compute_beta { * [Output Only] This field is for internal use. */ ipv6CidrRange?: string | null; + /** + * [Output Only] Possible endpoints of this subnetwork. It can be one of the following: - VM_ONLY: The subnetwork can be used for creating instances and IPv6 addresses with VM endpoint type. Such a subnetwork gets external IPv6 ranges from a public delegated prefix and cannot be used to create NetLb. - VM_AND_FR: The subnetwork can be used for creating both VM instances and Forwarding Rules. It can also be used to reserve IPv6 addresses with both VM and FR endpoint types. Such a subnetwork gets its IPv6 range from Google IP Pool directly. + */ + ipv6GceEndpoint?: string | null; /** * [Output Only] Type of the resource. Always compute#subnetwork for Subnetwork resources. */ @@ -17141,7 +17735,7 @@ export namespace compute_beta { */ privateIpv6GoogleAccess?: string | null; /** - * The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. + * The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. */ purpose?: string | null; /** @@ -17574,7 +18168,7 @@ export namespace compute_beta { sslCertificates?: string[] | null; } /** - * Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/beta/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/beta/regionTargetHttpsProxies) A target HTTPS proxy is a component of GCP HTTPS load balancers. * targetHttpProxies are used by global external Application Load Balancers, classic Application Load Balancers, cross-region internal Application Load Balancers, and Traffic Director. * regionTargetHttpProxies are used by regional internal Application Load Balancers and regional external Application Load Balancers. Forwarding rules reference a target HTTPS proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts. + * Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/beta/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/beta/regionTargetHttpsProxies) A target HTTPS proxy is a component of Google Cloud HTTPS load balancers. * targetHttpProxies are used by global external Application Load Balancers, classic Application Load Balancers, cross-region internal Application Load Balancers, and Traffic Director. * regionTargetHttpProxies are used by regional internal Application Load Balancers and regional external Application Load Balancers. Forwarding rules reference a target HTTPS proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts. */ export interface Schema$TargetHttpsProxy { /** @@ -17646,7 +18240,7 @@ export namespace compute_beta { */ serverTlsPolicy?: string | null; /** - * URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API. Certificate Manager Certificates are not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project\}/locations/{ location\}/certificates/{resourceName\}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project \}/locations/{location\}/certificates/{resourceName\}. + * URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API namespace. Using Certificate Manager Certificates in this field is not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates or up to 100 Certificate Manager Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project\}/locations/{ location\}/certificates/{resourceName\}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project \}/locations/{location\}/certificates/{resourceName\}. */ sslCertificates?: string[] | null; /** @@ -18520,7 +19114,7 @@ export namespace compute_beta { windowStartTime?: string | null; } /** - * Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/docs/reference/rest/beta/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by global external Application Load Balancers, classic Application Load Balancers, and cross-region internal Application Load Balancers. * regionUrlMaps are used by internal Application Load Balancers, regional external Application Load Balancers and regional internal Application Load Balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts. + * Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/beta/urlMaps) * [Regional](/compute/docs/reference/rest/beta/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by global external Application Load Balancers, classic Application Load Balancers, and cross-region internal Application Load Balancers. * regionUrlMaps are used by internal Application Load Balancers, regional external Application Load Balancers and regional internal Application Load Balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL, EXTERNAL_MANAGED, or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts. */ export interface Schema$UrlMap { /** @@ -18532,15 +19126,15 @@ export namespace compute_beta { */ defaultCustomErrorResponsePolicy?: Schema$CustomErrorResponsePolicy; /** - * defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. + * defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. */ defaultRouteAction?: Schema$HttpRouteAction; /** - * The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any defaultRouteAction.weightedBackendServices. Conversely, if defaultRouteAction specifies any defaultRouteAction.weightedBackendServices, defaultService must not be specified. If defaultService is specified, then set either defaultUrlRedirect , or defaultRouteAction.weightedBackendService Don't set both. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. + * The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. */ defaultService?: string | null; /** - * When none of the specified hostRules match, the request is redirected to a URL specified by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or defaultRouteAction must not be set. Not supported when the URL map is bound to a target gRPC proxy. + * When none of the specified hostRules match, the request is redirected to a URL specified by defaultUrlRedirect. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy. */ defaultUrlRedirect?: Schema$HttpRedirectAction; /** @@ -18788,7 +19382,7 @@ export namespace compute_beta { */ network?: string | null; /** - * The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. + * The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. */ purpose?: string | null; /** @@ -23479,6 +24073,104 @@ export namespace compute_beta { } } + /** + * Returns effective security policies applied to this backend service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getEffectiveSecurityPolicies( + params: Params$Resource$Backendservices$Geteffectivesecuritypolicies, + options: StreamMethodOptions + ): GaxiosPromise; + getEffectiveSecurityPolicies( + params?: Params$Resource$Backendservices$Geteffectivesecuritypolicies, + options?: MethodOptions + ): GaxiosPromise; + getEffectiveSecurityPolicies( + params: Params$Resource$Backendservices$Geteffectivesecuritypolicies, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getEffectiveSecurityPolicies( + params: Params$Resource$Backendservices$Geteffectivesecuritypolicies, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getEffectiveSecurityPolicies( + params: Params$Resource$Backendservices$Geteffectivesecuritypolicies, + callback: BodyResponseCallback + ): void; + getEffectiveSecurityPolicies( + callback: BodyResponseCallback + ): void; + getEffectiveSecurityPolicies( + paramsOrCallback?: + | Params$Resource$Backendservices$Geteffectivesecuritypolicies + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Backendservices$Geteffectivesecuritypolicies; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Backendservices$Geteffectivesecuritypolicies; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/global/backendServices/{backendService}/getEffectiveSecurityPolicies' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'backendService'], + pathParams: ['backendService', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + /** * Gets the most recent health check results for this BackendService. Example request body: { "group": "/zones/us-east1-b/instanceGroups/lb-backend-example" \} * @@ -24574,6 +25266,17 @@ export namespace compute_beta { */ project?: string; } + export interface Params$Resource$Backendservices$Geteffectivesecuritypolicies + extends StandardParameters { + /** + * Name of the Backend Service for this request. + */ + backendService?: string; + /** + * Project ID for this request. + */ + project?: string; + } export interface Params$Resource$Backendservices$Gethealth extends StandardParameters { /** @@ -50082,6 +50785,10 @@ export namespace compute_beta { * Name of the instance resource to delete. */ instance?: string; + /** + * If set to true, Graceful Shutdown is skipped. + */ + noGracefulShutdown?: boolean; /** * Project ID for this request. */ @@ -50273,7 +50980,7 @@ export namespace compute_beta { */ project?: string; /** - * Specifies the starting byte position of the output to return. To start with the first byte of output to the specified port, omit this field or set it to `0`. If the output for that byte position is available, this field matches the `start` parameter sent with the request. If the amount of serial console output exceeds the size of the buffer (1 MB), the oldest output is discarded and is no longer available. If the requested start position refers to discarded output, the start position is adjusted to the oldest output still available, and the adjusted start position is returned as the `start` property value. You can also provide a negative start position, which translates to the most recent number of bytes written to the serial port. For example, -3 is interpreted as the most recent 3 bytes written to the serial console. + * Specifies the starting byte position of the output to return. To start with the first byte of output to the specified port, omit this field or set it to `0`. If the output for that byte position is available, this field matches the `start` parameter sent with the request. If the amount of serial console output exceeds the size of the buffer (1 MB), the oldest output is discarded and is no longer available. If the requested start position refers to discarded output, the start position is adjusted to the oldest output still available, and the adjusted start position is returned as the `start` property value. You can also provide a negative start position, which translates to the most recent number of bytes written to the serial port. For example, -3 is interpreted as the most recent 3 bytes written to the serial console. Note that the negative start is bounded by the retained buffer size, and the returned serial console output will not exceed the max buffer size. */ start?: string; /** @@ -50962,6 +51669,10 @@ export namespace compute_beta { * Name of the instance resource to stop. */ instance?: string; + /** + * If set to true, Graceful Shutdown is skipped. + */ + noGracefulShutdown?: boolean; /** * Project ID for this request. */ @@ -60705,6 +61416,103 @@ export namespace compute_beta { } } + /** + * Retrieves an aggregated list of network firewall policies, listing network firewall policies from all applicable scopes (global and regional) and grouping the results per scope. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + aggregatedList( + params: Params$Resource$Networkfirewallpolicies$Aggregatedlist, + options: StreamMethodOptions + ): GaxiosPromise; + aggregatedList( + params?: Params$Resource$Networkfirewallpolicies$Aggregatedlist, + options?: MethodOptions + ): GaxiosPromise; + aggregatedList( + params: Params$Resource$Networkfirewallpolicies$Aggregatedlist, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + aggregatedList( + params: Params$Resource$Networkfirewallpolicies$Aggregatedlist, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + aggregatedList( + params: Params$Resource$Networkfirewallpolicies$Aggregatedlist, + callback: BodyResponseCallback + ): void; + aggregatedList( + callback: BodyResponseCallback + ): void; + aggregatedList( + paramsOrCallback?: + | Params$Resource$Networkfirewallpolicies$Aggregatedlist + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Networkfirewallpolicies$Aggregatedlist; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Networkfirewallpolicies$Aggregatedlist; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/aggregated/firewallPolicies' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + /** * Copies rules to the specified firewall policy. * @@ -62316,6 +63124,41 @@ export namespace compute_beta { */ requestBody?: Schema$FirewallPolicyRule; } + export interface Params$Resource$Networkfirewallpolicies$Aggregatedlist + extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. + */ + filter?: string; + /** + * Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. + */ + includeAllScopes?: boolean; + /** + * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. + */ + serviceProjectNumber?: string; + } export interface Params$Resource$Networkfirewallpolicies$Clonerules extends StandardParameters { /** @@ -62622,6 +63465,235 @@ export namespace compute_beta { requestBody?: Schema$TestPermissionsRequest; } + export class Resource$Networkprofiles { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Returns the specified network profile. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Networkprofiles$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Networkprofiles$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Networkprofiles$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Networkprofiles$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Networkprofiles$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Networkprofiles$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Networkprofiles$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Networkprofiles$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/global/networkProfiles/{networkProfile}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'networkProfile'], + pathParams: ['networkProfile', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieves a list of network profiles available to the specified project. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Networkprofiles$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Networkprofiles$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Networkprofiles$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Networkprofiles$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Networkprofiles$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Networkprofiles$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Networkprofiles$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Networkprofiles$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/global/networkProfiles' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Networkprofiles$Get + extends StandardParameters { + /** + * Name of the network profile to return. + */ + networkProfile?: string; + /** + * Project ID for this request. + */ + project?: string; + } + export interface Params$Resource$Networkprofiles$List + extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. + */ + returnPartialSuccess?: boolean; + } + export class Resource$Networks { context: APIRequestContext; constructor(context: APIRequestContext) { @@ -67802,6 +68874,104 @@ export namespace compute_beta { } } + /** + * Gets the current list of preconfigured Web Application Firewall (WAF) expressions. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + listPreconfiguredExpressionSets( + params: Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets, + options: StreamMethodOptions + ): GaxiosPromise; + listPreconfiguredExpressionSets( + params?: Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets, + options?: MethodOptions + ): GaxiosPromise; + listPreconfiguredExpressionSets( + params: Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listPreconfiguredExpressionSets( + params: Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listPreconfiguredExpressionSets( + params: Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets, + callback: BodyResponseCallback + ): void; + listPreconfiguredExpressionSets( + callback: BodyResponseCallback + ): void; + listPreconfiguredExpressionSets( + paramsOrCallback?: + | Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/locations/global/securityPolicies/listPreconfiguredExpressionSets' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: [], + pathParams: [], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + /** * Moves the specified security policy. * @@ -68385,6 +69555,33 @@ export namespace compute_beta { */ targetResource?: string; } + export interface Params$Resource$Organizationsecuritypolicies$Listpreconfiguredexpressionsets + extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Parent ID for this request. + */ + parentId?: string; + /** + * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. + */ + returnPartialSuccess?: boolean; + } export interface Params$Resource$Organizationsecuritypolicies$Move extends StandardParameters { /** @@ -84874,6 +86071,451 @@ export namespace compute_beta { requestBody?: Schema$TestPermissionsRequest; } + export class Resource$Regionmultimigs { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Deletes a multi-MIG in the specified project. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Regionmultimigs$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Regionmultimigs$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Regionmultimigs$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Regionmultimigs$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Regionmultimigs$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Regionmultimigs$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Regionmultimigs$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regionmultimigs$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/regions/{region}/multiMigs/{multiMig}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region', 'multiMig'], + pathParams: ['multiMig', 'project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns all the details of a specific multi-MIG. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Regionmultimigs$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Regionmultimigs$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Regionmultimigs$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Regionmultimigs$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Regionmultimigs$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Regionmultimigs$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Regionmultimigs$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regionmultimigs$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/regions/{region}/multiMigs/{multiMig}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region', 'multiMig'], + pathParams: ['multiMig', 'project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Creates a multi-MIG in the specified project. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + insert( + params: Params$Resource$Regionmultimigs$Insert, + options: StreamMethodOptions + ): GaxiosPromise; + insert( + params?: Params$Resource$Regionmultimigs$Insert, + options?: MethodOptions + ): GaxiosPromise; + insert( + params: Params$Resource$Regionmultimigs$Insert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Regionmultimigs$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Regionmultimigs$Insert, + callback: BodyResponseCallback + ): void; + insert(callback: BodyResponseCallback): void; + insert( + paramsOrCallback?: + | Params$Resource$Regionmultimigs$Insert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Regionmultimigs$Insert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regionmultimigs$Insert; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/regions/{region}/multiMigs' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieves a list of multi-MIGs in a project and region. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Regionmultimigs$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Regionmultimigs$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Regionmultimigs$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Regionmultimigs$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Regionmultimigs$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Regionmultimigs$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Regionmultimigs$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regionmultimigs$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/regions/{region}/multiMigs' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region'], + pathParams: ['project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Regionmultimigs$Delete + extends StandardParameters { + /** + * Name of the multi-MIG to delete. + */ + multiMig?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Regionmultimigs$Get + extends StandardParameters { + /** + * Name of the multi-MIG resource to return. + */ + multiMig?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + } + export interface Params$Resource$Regionmultimigs$Insert + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents you from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$MultiMig; + } + export interface Params$Resource$Regionmultimigs$List + extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. + */ + returnPartialSuccess?: boolean; + } + export class Resource$Regionnetworkendpointgroups { context: APIRequestContext; constructor(context: APIRequestContext) { @@ -89635,6 +91277,94 @@ export namespace compute_beta { return createAPIRequest(parameters); } } + + /** + * Sets the labels on a security policy. To learn more about labels, read the Labeling Resources documentation. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setLabels( + params: Params$Resource$Regionsecuritypolicies$Setlabels, + options: StreamMethodOptions + ): GaxiosPromise; + setLabels( + params?: Params$Resource$Regionsecuritypolicies$Setlabels, + options?: MethodOptions + ): GaxiosPromise; + setLabels( + params: Params$Resource$Regionsecuritypolicies$Setlabels, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setLabels( + params: Params$Resource$Regionsecuritypolicies$Setlabels, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setLabels( + params: Params$Resource$Regionsecuritypolicies$Setlabels, + callback: BodyResponseCallback + ): void; + setLabels(callback: BodyResponseCallback): void; + setLabels( + paramsOrCallback?: + | Params$Resource$Regionsecuritypolicies$Setlabels + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Regionsecuritypolicies$Setlabels; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regionsecuritypolicies$Setlabels; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/regions/{region}/securityPolicies/{resource}/setLabels' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } export interface Params$Resource$Regionsecuritypolicies$Addrule @@ -89848,6 +91578,30 @@ export namespace compute_beta { */ securityPolicy?: string; } + export interface Params$Resource$Regionsecuritypolicies$Setlabels + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * The region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetLabelsRequest; + } export class Resource$Regionsslcertificates { context: APIRequestContext; @@ -94491,6 +96245,262 @@ export namespace compute_beta { returnPartialSuccess?: boolean; } + export class Resource$Reservationblocks { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Retrieves information about the specified reservation block. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Reservationblocks$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Reservationblocks$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Reservationblocks$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Reservationblocks$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Reservationblocks$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Reservationblocks$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Reservationblocks$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Reservationblocks$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks/{reservationBlock}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'reservation', 'reservationBlock'], + pathParams: ['project', 'reservation', 'reservationBlock', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Retrieves a list of reservation blocks under a single reservation. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Reservationblocks$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Reservationblocks$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Reservationblocks$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Reservationblocks$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Reservationblocks$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Reservationblocks$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Reservationblocks$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Reservationblocks$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/zones/{zone}/reservations/{reservation}/reservationBlocks' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'reservation'], + pathParams: ['project', 'reservation', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Reservationblocks$Get + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the reservation. Name should conform to RFC1035 or be a resource ID. + */ + reservation?: string; + /** + * The name of the reservation block. Name should conform to RFC1035 or be a resource ID. + */ + reservationBlock?: string; + /** + * Name of the zone for this request. Zone name should conform to RFC1035. + */ + zone?: string; + } + export interface Params$Resource$Reservationblocks$List + extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * The name of the reservation. Name should conform to RFC1035 or be a resource ID. + */ + reservation?: string; + /** + * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. + */ + returnPartialSuccess?: boolean; + /** + * Name of the zone for this request. Zone name should conform to RFC1035. + */ + zone?: string; + } + export class Resource$Reservations { context: APIRequestContext; constructor(context: APIRequestContext) { @@ -97845,6 +99855,94 @@ export namespace compute_beta { } } + /** + * Patches Route Policy + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patchRoutePolicy( + params: Params$Resource$Routers$Patchroutepolicy, + options: StreamMethodOptions + ): GaxiosPromise; + patchRoutePolicy( + params?: Params$Resource$Routers$Patchroutepolicy, + options?: MethodOptions + ): GaxiosPromise; + patchRoutePolicy( + params: Params$Resource$Routers$Patchroutepolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patchRoutePolicy( + params: Params$Resource$Routers$Patchroutepolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patchRoutePolicy( + params: Params$Resource$Routers$Patchroutepolicy, + callback: BodyResponseCallback + ): void; + patchRoutePolicy(callback: BodyResponseCallback): void; + patchRoutePolicy( + paramsOrCallback?: + | Params$Resource$Routers$Patchroutepolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Routers$Patchroutepolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Routers$Patchroutepolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/beta/projects/{project}/regions/{region}/routers/{router}/patchRoutePolicy' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region', 'router'], + pathParams: ['project', 'region', 'router'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Preview fields auto-generated during router create and update operations. Calling this method does NOT create or update the router. * @@ -98554,6 +100652,30 @@ export namespace compute_beta { */ requestBody?: Schema$Router; } + export interface Params$Resource$Routers$Patchroutepolicy + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name of the Router resource where Route Policy is defined. + */ + router?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RoutePolicy; + } export interface Params$Resource$Routers$Preview extends StandardParameters { /** * Project ID for this request. diff --git a/src/apis/compute/v1.ts b/src/apis/compute/v1.ts index 4e83e54104..95b90d2f6a 100644 --- a/src/apis/compute/v1.ts +++ b/src/apis/compute/v1.ts @@ -127,7 +127,6 @@ export namespace compute_v1 { firewallPolicies: Resource$Firewallpolicies; firewalls: Resource$Firewalls; forwardingRules: Resource$Forwardingrules; - futureReservations: Resource$Futurereservations; globalAddresses: Resource$Globaladdresses; globalForwardingRules: Resource$Globalforwardingrules; globalNetworkEndpointGroups: Resource$Globalnetworkendpointgroups; @@ -158,6 +157,7 @@ export namespace compute_v1 { networkEdgeSecurityServices: Resource$Networkedgesecurityservices; networkEndpointGroups: Resource$Networkendpointgroups; networkFirewallPolicies: Resource$Networkfirewallpolicies; + networkProfiles: Resource$Networkprofiles; networks: Resource$Networks; nodeGroups: Resource$Nodegroups; nodeTemplates: Resource$Nodetemplates; @@ -235,7 +235,6 @@ export namespace compute_v1 { this.firewallPolicies = new Resource$Firewallpolicies(this.context); this.firewalls = new Resource$Firewalls(this.context); this.forwardingRules = new Resource$Forwardingrules(this.context); - this.futureReservations = new Resource$Futurereservations(this.context); this.globalAddresses = new Resource$Globaladdresses(this.context); this.globalForwardingRules = new Resource$Globalforwardingrules( this.context @@ -284,6 +283,7 @@ export namespace compute_v1 { this.networkFirewallPolicies = new Resource$Networkfirewallpolicies( this.context ); + this.networkProfiles = new Resource$Networkprofiles(this.context); this.networks = new Resource$Networks(this.context); this.nodeGroups = new Resource$Nodegroups(this.context); this.nodeTemplates = new Resource$Nodetemplates(this.context); @@ -542,7 +542,7 @@ export namespace compute_v1 { */ publicPtrDomainName?: string | null; /** - * [Output Only] The resource URL for the security policy associated with this access config. + * The resource URL for the security policy associated with this access config. */ securityPolicy?: string | null; /** @@ -1023,7 +1023,7 @@ export namespace compute_v1 { */ sourceImageEncryptionKey?: Schema$CustomerEncryptionKey; /** - * The source snapshot to create this disk. When creating a new instance boot disk, one of initializeParams.sourceSnapshot or initializeParams.sourceImage or disks.source is required. To create a disk with a snapshot that you created, specify the snapshot name in the following format: global/snapshots/my-backup If the source snapshot is deleted later, this field will not be set. + * The source snapshot to create this disk. When creating a new instance boot disk, one of initializeParams.sourceSnapshot or initializeParams.sourceImage or disks.source is required. To create a disk with a snapshot that you created, specify the snapshot name in the following format: global/snapshots/my-backup If the source snapshot is deleted later, this field will not be set. Note: You cannot create VMs in bulk using a snapshot as the source. Use an image instead when you create VMs using the bulk insert method. */ sourceSnapshot?: string | null; /** @@ -1036,17 +1036,13 @@ export namespace compute_v1 { storagePool?: string | null; } /** - * Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] \}, { "log_type": "DATA_WRITE" \}, { "log_type": "ADMIN_READ" \} ] \}, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" \}, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] \} ] \} ] \} For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts jose@example.com from DATA_READ logging, and aliya@example.com from DATA_WRITE logging. + * Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] \}, { "log_type": "DATA_WRITE" \}, { "log_type": "ADMIN_READ" \} ] \}, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" \}, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] \} ] \} ] \} For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. */ export interface Schema$AuditConfig { /** * The configuration for logging of each type of permission. */ auditLogConfigs?: Schema$AuditLogConfig[]; - /** - * This is deprecated and has no effect. Do not use. - */ - exemptedMembers?: string[] | null; /** * Specifies a service that will be enabled for audit logging. For example, `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special value that covers all services. */ @@ -1060,10 +1056,6 @@ export namespace compute_v1 { * Specifies the identities that do not cause logging for this type of permission. Follows the same format of Binding.members. */ exemptedMembers?: string[] | null; - /** - * This is deprecated and has no effect. Do not use. - */ - ignoreChildExemptions?: boolean | null; /** * The log type that this config enables. */ @@ -1500,7 +1492,7 @@ export namespace compute_v1 { */ cacheKeyPolicy?: Schema$BackendBucketCdnPolicyCacheKeyPolicy; /** - * Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any "private", "no-store" or "no-cache" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. + * Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any "private", "no-store" or "no-cache" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. If no value is provided for cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC. */ cacheMode?: string | null; /** @@ -1688,6 +1680,10 @@ export namespace compute_v1 { * [Output Only] The unique identifier for the resource. This identifier is defined by the server. */ id?: string | null; + /** + * Specifies a preference for traffic sent from the proxy to the backend (or from the client to the backend for proxyless gRPC). The possible values are: - IPV4_ONLY: Only send IPv4 traffic to the backends of the backend service (Instance Group, Managed Instance Group, Network Endpoint Group), regardless of traffic from the client to the proxy. Only IPv4 health checks are used to check the health of the backends. This is the default setting. - PREFER_IPV6: Prioritize the connection to the endpoint's IPv6 address over its IPv4 address (provided there is a healthy IPv6 address). - IPV6_ONLY: Only send IPv6 traffic to the backends of the backend service (Instance Group, Managed Instance Group, Network Endpoint Group), regardless of traffic from the client to the proxy. Only IPv6 health checks are used to check the health of the backends. This field is applicable to either: - Advanced global external Application Load Balancer (load balancing scheme EXTERNAL_MANAGED), - Regional external Application Load Balancer, - Internal proxy Network Load Balancer (load balancing scheme INTERNAL_MANAGED), - Regional internal Application Load Balancer (load balancing scheme INTERNAL_MANAGED), - Traffic Director with Envoy proxies and proxyless gRPC (load balancing scheme INTERNAL_SELF_MANAGED). + */ + ipAddressSelectionPolicy?: string | null; /** * [Output Only] Type of resource. Always compute#backendService for backend services. */ @@ -1768,6 +1764,10 @@ export namespace compute_v1 { * Type of session affinity to use. The default is NONE. Only NONE and HEADER_FIELD are supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. For more details, see: [Session Affinity](https://cloud.google.com/load-balancing/docs/backend-service#session_affinity). */ sessionAffinity?: string | null; + /** + * Describes the HTTP cookie used for stateful session affinity. This field is applicable and required if the sessionAffinity is set to STRONG_COOKIE_AFFINITY. + */ + strongSessionAffinityCookie?: Schema$BackendServiceHttpCookie; subsetting?: Schema$Subsetting; /** * The backend service timeout has a different meaning depending on the type of load balancer. For more information see, Backend service settings. The default is 30 seconds. The full range of timeout values allowed goes from 1 through 2,147,483,647 seconds. This value can be overridden in the PathMatcher configuration of the UrlMap that references this backend service. Not supported when the backend service is referenced by a URL map that is bound to target gRPC proxy that has validateForProxyless field set to true. Instead, use maxStreamDuration. @@ -1828,7 +1828,7 @@ export namespace compute_v1 { */ cacheKeyPolicy?: Schema$CacheKeyPolicy; /** - * Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any "private", "no-store" or "no-cache" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. + * Specifies the cache setting for all responses from this backend. The possible values are: USE_ORIGIN_HEADERS Requires the origin to set valid caching headers to cache content. Responses without these headers will not be cached at Google's edge, and will require a full trip to the origin on every request, potentially impacting performance and increasing load on the origin server. FORCE_CACHE_ALL Cache all content, ignoring any "private", "no-store" or "no-cache" directives in Cache-Control response headers. Warning: this may result in Cloud CDN caching private, per-user (user identifiable) content. CACHE_ALL_STATIC Automatically cache static content, including common image formats, media (video and audio), and web assets (JavaScript and CSS). Requests and responses that are marked as uncacheable, as well as dynamic content (including HTML), will not be cached. If no value is provided for cdnPolicy.cacheMode, it defaults to CACHE_ALL_STATIC. */ cacheMode?: string | null; /** @@ -1942,6 +1942,23 @@ export namespace compute_v1 { */ kind?: string | null; } + /** + * The HTTP cookie used for stateful session affinity. + */ + export interface Schema$BackendServiceHttpCookie { + /** + * Name of the cookie. + */ + name?: string | null; + /** + * Path to set for the cookie. + */ + path?: string | null; + /** + * Lifetime of the cookie. + */ + ttl?: Schema$Duration; + } /** * Identity-Aware Proxy */ @@ -2235,10 +2252,6 @@ export namespace compute_v1 { * Associates `members`, or principals, with a `role`. */ export interface Schema$Binding { - /** - * This is deprecated and has no effect. Do not use. - */ - bindingId?: string | null; /** * The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). */ @@ -2412,6 +2425,10 @@ export namespace compute_v1 { * [Output Only] Creation timestamp in RFC3339 text format. */ creationTimestamp?: string | null; + /** + * [Input Only] Optional, specifies the CUD end time requested by the customer in RFC3339 text format. Needed when the customer wants CUD's end date is later than the start date + term duration. + */ + customEndTimestamp?: string | null; /** * An optional description of this resource. Provide this property when you create the resource. */ @@ -2460,6 +2477,10 @@ export namespace compute_v1 { * A list of commitment amounts for particular resources. Note that VCPU and MEMORY resource commitments must occur together. */ resources?: Schema$ResourceCommitment[]; + /** + * [Output Only] Status information for Commitment resource. + */ + resourceStatus?: Schema$CommitmentResourceStatus; /** * [Output Only] Server-defined URL for the resource. */ @@ -2552,6 +2573,15 @@ export namespace compute_v1 { message?: string; } | null; } + /** + * [Output Only] Contains output only fields. + */ + export interface Schema$CommitmentResourceStatus { + /** + * [Output Only] Indicates the end time of customer's eligibility to send custom term requests in RFC3339 text format. Term extension requests that (not the end time in the request) after this time will be rejected. + */ + customTermEligibilityEndTimestamp?: string | null; + } export interface Schema$CommitmentsScopedList { /** * [Output Only] A list of commitments contained in this scope. @@ -2566,31 +2596,6 @@ export namespace compute_v1 { message?: string; } | null; } - /** - * This is deprecated and has no effect. Do not use. - */ - export interface Schema$Condition { - /** - * This is deprecated and has no effect. Do not use. - */ - iam?: string | null; - /** - * This is deprecated and has no effect. Do not use. - */ - op?: string | null; - /** - * This is deprecated and has no effect. Do not use. - */ - svc?: string | null; - /** - * This is deprecated and has no effect. Do not use. - */ - sys?: string | null; - /** - * This is deprecated and has no effect. Do not use. - */ - values?: string[] | null; - } /** * A set of Confidential Instance options. */ @@ -3342,7 +3347,7 @@ export namespace compute_v1 { */ domain?: string | null; /** - * Additional structured details about this error. Keys must match /a-z+/ but should ideally be lowerCamelCase. Also they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than {"instanceLimit": "100/request"\}, should be returned as, {"instanceLimitPerRequest": "100"\}, if the client exceeds the number of instances that can be created in a single (batch) request. + * Additional structured details about this error. Keys must match a regular expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{"instanceLimit": "100/request"\}`, should be returned as, `{"instanceLimitPerRequest": "100"\}`, if the client exceeds the number of instances that can be created in a single (batch) request. */ metadatas?: {[key: string]: string} | null; /** @@ -3666,6 +3671,20 @@ export namespace compute_v1 { */ kind?: string | null; } + export interface Schema$FirewallPoliciesScopedList { + /** + * A list of firewall policies contained in this scope. + */ + firewallPolicies?: Schema$FirewallPolicy[]; + /** + * Informational warning which replaces the list of firewall policies when the list is empty. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } /** * Represents a Firewall Policy resource. */ @@ -4177,284 +4196,6 @@ export namespace compute_v1 { message?: string; } | null; } - export interface Schema$FutureReservation { - /** - * Future timestamp when the FR auto-created reservations will be deleted by Compute Engine. Format of this field must be a valid href="https://www.ietf.org/rfc/rfc3339.txt"\>RFC3339 value. - */ - autoCreatedReservationsDeleteTime?: string | null; - /** - * Specifies the duration of auto-created reservations. It represents relative time to future reservation start_time when auto-created reservations will be automatically deleted by Compute Engine. Duration time unit is represented as a count of seconds and fractions of seconds at nanosecond resolution. - */ - autoCreatedReservationsDuration?: Schema$Duration; - /** - * Setting for enabling or disabling automatic deletion for auto-created reservation. If set to true, auto-created reservations will be deleted at Future Reservation's end time (default) or at user's defined timestamp if any of the [auto_created_reservations_delete_time, auto_created_reservations_duration] values is specified. For keeping auto-created reservation indefinitely, this value should be set to false. - */ - autoDeleteAutoCreatedReservations?: boolean | null; - /** - * [Output Only] The creation timestamp for this future reservation in RFC3339 text format. - */ - creationTimestamp?: string | null; - /** - * An optional description of this resource. Provide this property when you create the future reservation. - */ - description?: string | null; - /** - * [Output Only] A unique identifier for this future reservation. The server defines this identifier. - */ - id?: string | null; - /** - * [Output Only] Type of the resource. Always compute#futureReservation for future reservations. - */ - kind?: string | null; - /** - * The name of the resource, provided by the client when initially creating the resource. The resource name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. - */ - name?: string | null; - /** - * Name prefix for the reservations to be created at the time of delivery. The name prefix must comply with RFC1035. Maximum allowed length for name prefix is 20. Automatically created reservations name format will be -date-####. - */ - namePrefix?: string | null; - /** - * Planning state before being submitted for evaluation - */ - planningStatus?: string | null; - /** - * [Output Only] Server-defined fully-qualified URL for this resource. - */ - selfLink?: string | null; - /** - * [Output Only] Server-defined URL for this resource with the resource id. - */ - selfLinkWithId?: string | null; - /** - * List of Projects/Folders to share with. - */ - shareSettings?: Schema$ShareSettings; - /** - * Future Reservation configuration to indicate instance properties and total count. - */ - specificSkuProperties?: Schema$FutureReservationSpecificSKUProperties; - /** - * [Output only] Status of the Future Reservation - */ - status?: Schema$FutureReservationStatus; - /** - * Time window for this Future Reservation. - */ - timeWindow?: Schema$FutureReservationTimeWindow; - /** - * [Output Only] URL of the Zone where this future reservation resides. - */ - zone?: string | null; - } - /** - * Contains a list of future reservations. - */ - export interface Schema$FutureReservationsAggregatedListResponse { - etag?: string | null; - /** - * [Output Only] Unique identifier for the resource; defined by the server. - */ - id?: string | null; - /** - * A list of Future reservation resources. - */ - items?: {[key: string]: Schema$FutureReservationsScopedList} | null; - /** - * [Output Only] Type of resource. Always compute#futureReservationsAggregatedListResponse for future resevation aggregated list response. - */ - kind?: string | null; - /** - * [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. - */ - nextPageToken?: string | null; - /** - * [Output Only] Server-defined URL for this resource. - */ - selfLink?: string | null; - /** - * [Output Only] Unreachable resources. - */ - unreachables?: string[] | null; - /** - * [Output Only] Informational warning message. - */ - warning?: { - code?: string; - data?: Array<{key?: string; value?: string}>; - message?: string; - } | null; - } - export interface Schema$FutureReservationsListResponse { - etag?: string | null; - /** - * [Output Only] The unique identifier for the resource. This identifier is defined by the server. - */ - id?: string | null; - /** - * [Output Only] A list of future reservation resources. - */ - items?: Schema$FutureReservation[]; - /** - * [Output Only] Type of resource.Always compute#FutureReservationsListResponse for lists of reservations - */ - kind?: string | null; - /** - * [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. - */ - nextPageToken?: string | null; - /** - * [Output Only] Server-defined URL for this resource. - */ - selfLink?: string | null; - /** - * [Output Only] Unreachable resources. - */ - unreachables?: string[] | null; - /** - * [Output Only] Informational warning message. - */ - warning?: { - code?: string; - data?: Array<{key?: string; value?: string}>; - message?: string; - } | null; - } - export interface Schema$FutureReservationSpecificSKUProperties { - /** - * Properties of the SKU instances being reserved. - */ - instanceProperties?: Schema$AllocationSpecificSKUAllocationReservedInstanceProperties; - /** - * The instance template that will be used to populate the ReservedInstanceProperties of the future reservation - */ - sourceInstanceTemplate?: string | null; - /** - * Total number of instances for which capacity assurance is requested at a future time period. - */ - totalCount?: string | null; - } - export interface Schema$FutureReservationsScopedList { - /** - * A list of future reservations contained in this scope. - */ - futureReservations?: Schema$FutureReservation[]; - /** - * Informational warning which replaces the list of future reservations when the list is empty. - */ - warning?: { - code?: string; - data?: Array<{key?: string; value?: string}>; - message?: string; - } | null; - } - /** - * [Output only] Represents status related to the future reservation. - */ - export interface Schema$FutureReservationStatus { - /** - * [Output Only] The current status of the requested amendment. - */ - amendmentStatus?: string | null; - /** - * Fully qualified urls of the automatically created reservations at start_time. - */ - autoCreatedReservations?: string[] | null; - /** - * [Output Only] Represents the existing matching usage for the future reservation. - */ - existingMatchingUsageInfo?: Schema$FutureReservationStatusExistingMatchingUsageInfo; - /** - * This count indicates the fulfilled capacity so far. This is set during "PROVISIONING" state. This count also includes capacity delivered as part of existing matching reservations. - */ - fulfilledCount?: string | null; - /** - * [Output Only] This field represents the future reservation before an amendment was requested. If the amendment is declined, the Future Reservation will be reverted to the last known good state. The last known good state is not set when updating a future reservation whose Procurement Status is DRAFTING. - */ - lastKnownGoodState?: Schema$FutureReservationStatusLastKnownGoodState; - /** - * Time when Future Reservation would become LOCKED, after which no modifications to Future Reservation will be allowed. Applicable only after the Future Reservation is in the APPROVED state. The lock_time is an RFC3339 string. The procurement_status will transition to PROCURING state at this time. - */ - lockTime?: string | null; - /** - * Current state of this Future Reservation - */ - procurementStatus?: string | null; - specificSkuProperties?: Schema$FutureReservationStatusSpecificSKUProperties; - } - /** - * [Output Only] Represents the existing matching usage for the future reservation. - */ - export interface Schema$FutureReservationStatusExistingMatchingUsageInfo { - /** - * Count to represent min(FR total_count, matching_reserved_capacity+matching_unreserved_instances) - */ - count?: string | null; - /** - * Timestamp when the matching usage was calculated - */ - timestamp?: string | null; - } - /** - * The state that the future reservation will be reverted to should the amendment be declined. - */ - export interface Schema$FutureReservationStatusLastKnownGoodState { - /** - * [Output Only] The description of the FutureReservation before an amendment was requested. - */ - description?: string | null; - /** - * [Output Only] Represents the matching usage for the future reservation before an amendment was requested. - */ - existingMatchingUsageInfo?: Schema$FutureReservationStatusExistingMatchingUsageInfo; - futureReservationSpecs?: Schema$FutureReservationStatusLastKnownGoodStateFutureReservationSpecs; - /** - * [Output Only] The lock time of the FutureReservation before an amendment was requested. - */ - lockTime?: string | null; - /** - * [Output Only] The name prefix of the Future Reservation before an amendment was requested. - */ - namePrefix?: string | null; - /** - * [Output Only] The status of the last known good state for the Future Reservation. - */ - procurementStatus?: string | null; - } - /** - * The properties of the last known good state for the Future Reservation. - */ - export interface Schema$FutureReservationStatusLastKnownGoodStateFutureReservationSpecs { - /** - * [Output Only] The previous share settings of the Future Reservation. - */ - shareSettings?: Schema$ShareSettings; - /** - * [Output Only] The previous instance related properties of the Future Reservation. - */ - specificSkuProperties?: Schema$FutureReservationSpecificSKUProperties; - /** - * [Output Only] The previous time window of the Future Reservation. - */ - timeWindow?: Schema$FutureReservationTimeWindow; - } - /** - * Properties to be set for the Future Reservation. - */ - export interface Schema$FutureReservationStatusSpecificSKUProperties { - /** - * ID of the instance template used to populate the Future Reservation properties. - */ - sourceInstanceTemplateId?: string | null; - } - export interface Schema$FutureReservationTimeWindow { - duration?: Schema$Duration; - endTime?: string | null; - /** - * Start time of the Future Reservation. The start_time is an RFC3339 string. - */ - startTime?: string | null; - } export interface Schema$GlobalAddressesMoveRequest { /** * An optional destination address description if intended to be different from the source. @@ -4871,6 +4612,11 @@ export namespace compute_v1 { * For target pool based Network Load Balancing, it indicates the forwarding rule's IP address assigned to this instance. For other types of load balancing, the field indicates VM internal ip. */ ipAddress?: string | null; + ipv6Address?: string | null; + /** + * Health state of the IPv6 address of the instance. + */ + ipv6HealthState?: string | null; /** * The named port of the instance group, not necessarily the port that is health-checked. */ @@ -4899,6 +4645,10 @@ export namespace compute_v1 { * Health state of the network endpoint determined based on the health checks configured. */ healthState?: string | null; + /** + * Health state of the ipv6 network endpoint determined based on the health checks configured. + */ + ipv6HealthState?: string | null; } /** * Provides links to documentation or for performing an out of band action. For example, if a quota check failed with an error indicating the calling project hasn't enabled the accessed service, this can contain a URL pointing directly to the right place in the developer console to flip the bit. @@ -5329,15 +5079,15 @@ export namespace compute_v1 { */ priority?: number | null; /** - * In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a route rule's routeAction. + * In response to a matching matchRule, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a route rule's routeAction. */ routeAction?: Schema$HttpRouteAction; /** - * The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. + * The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. */ service?: string | null; /** - * When this rule is matched, the request is redirected to a URL specified by urlRedirect. If urlRedirect is specified, service or routeAction must not be set. Not supported when the URL map is bound to a target gRPC proxy. + * When this rule is matched, the request is redirected to a URL specified by urlRedirect. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy. */ urlRedirect?: Schema$HttpRedirectAction; } @@ -6106,6 +5856,10 @@ export namespace compute_v1 { * [Output Only] A unique identifier for this resource type. The server generates this identifier. */ id?: string | null; + /** + * Instance flexibility allowing MIG to create VMs from multiple types of machines. Instance flexibility configuration on MIG overrides instance template configuration. + */ + instanceFlexibilityPolicy?: Schema$InstanceGroupManagerInstanceFlexibilityPolicy; /** * [Output Only] The URL of the Instance Group resource. */ @@ -6131,7 +5885,7 @@ export namespace compute_v1 { */ name?: string | null; /** - * Named ports configured for the Instance Groups complementary to this Instance Group Manager. + * [Output Only] Named ports configured on the Instance Groups complementary to this Instance Group Manager. */ namedPorts?: Schema$NamedPort[]; /** @@ -6150,6 +5904,10 @@ export namespace compute_v1 { * [Output Only] The URL for this managed instance group. The server defines this URL. */ selfLink?: string | null; + /** + * Standby policy for stopped and suspended instances. + */ + standbyPolicy?: Schema$InstanceGroupManagerStandbyPolicy; /** * Stateful configuration for this Instanced Group Manager */ @@ -6166,6 +5924,14 @@ export namespace compute_v1 { * The target number of running instances for this managed instance group. You can reduce this number by using the instanceGroupManager deleteInstances or abandonInstances methods. Resizing the group also changes this number. */ targetSize?: number | null; + /** + * The target number of stopped instances for this managed instance group. This number changes when you: - Stop instance using the stopInstances method or start instances using the startInstances method. - Manually change the targetStoppedSize using the update method. + */ + targetStoppedSize?: number | null; + /** + * The target number of suspended instances for this managed instance group. This number changes when you: - Suspend instance using the suspendInstances method or resume instances using the resumeInstances method. - Manually change the targetSuspendedSize using the update method. + */ + targetSuspendedSize?: number | null; /** * The update policy for this managed instance group. */ @@ -6283,6 +6049,26 @@ export namespace compute_v1 { */ initialDelaySec?: number | null; } + export interface Schema$InstanceGroupManagerInstanceFlexibilityPolicy { + /** + * Named instance selections configuring properties that the group will use when creating new VMs. + */ + instanceSelections?: { + [ + key: string + ]: Schema$InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection; + } | null; + } + export interface Schema$InstanceGroupManagerInstanceFlexibilityPolicyInstanceSelection { + /** + * Full machine-type names, e.g. "n1-standard-16". + */ + machineTypes?: string[] | null; + /** + * Preference of this instance selection. Lower number means higher preference. MIG will first try to create a VM based on the machine-type with lowest rank and fallback to next rank based on availability. Machine types and instance selections with the same rank have the same preference. + */ + rank?: number | null; + } export interface Schema$InstanceGroupManagerInstanceLifecyclePolicy { /** * The action that a MIG performs on a failed or an unhealthy VM. A VM is marked as unhealthy when the application running on that VM fails a health check. Valid values are - REPAIR (default): MIG automatically repairs a failed or an unhealthy VM by recreating it. For more information, see About repairing VMs in a MIG. - DO_NOTHING: MIG does not repair a failed or an unhealthy VM. @@ -6560,6 +6346,12 @@ export namespace compute_v1 { */ instances?: string[] | null; } + export interface Schema$InstanceGroupManagersResumeInstancesRequest { + /** + * The URLs of one or more instances to resume. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. + */ + instances?: string[] | null; + } export interface Schema$InstanceGroupManagersScopedList { /** * [Output Only] The list of managed instance groups that are contained in the specified project and zone. @@ -6590,6 +6382,42 @@ export namespace compute_v1 { */ targetPools?: string[] | null; } + export interface Schema$InstanceGroupManagersStartInstancesRequest { + /** + * The URLs of one or more instances to start. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. + */ + instances?: string[] | null; + } + export interface Schema$InstanceGroupManagersStopInstancesRequest { + /** + * If this flag is set to true, the Instance Group Manager will proceed to stop the instances, skipping initialization on them. + */ + forceStop?: boolean | null; + /** + * The URLs of one or more instances to stop. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. + */ + instances?: string[] | null; + } + export interface Schema$InstanceGroupManagersSuspendInstancesRequest { + /** + * If this flag is set to true, the Instance Group Manager will proceed to suspend the instances, skipping initialization on them. + */ + forceSuspend?: boolean | null; + /** + * The URLs of one or more instances to suspend. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. + */ + instances?: string[] | null; + } + export interface Schema$InstanceGroupManagerStandbyPolicy { + /** + * Specifies the number of seconds that the MIG should wait to suspend or stop a VM after that VM was created. The initial delay gives the initialization script the time to prepare your VM for a quick scale out. The value of initial delay must be between 0 and 3600 seconds. The default value is 0. + */ + initialDelaySec?: number | null; + /** + * Defines how a MIG resumes or starts VMs from a standby pool when the group scales out. The default mode is `MANUAL`. + */ + mode?: string | null; + } export interface Schema$InstanceGroupManagerStatus { /** * [Output only] Status of all-instances configuration on the group. @@ -7044,7 +6872,7 @@ export namespace compute_v1 { } export interface Schema$InstancesGetEffectiveFirewallsResponse { /** - * Effective firewalls from firewall policies. + * [Output Only] Effective firewalls from firewall policies. */ firewallPolicys?: Schema$InstancesGetEffectiveFirewallsResponseEffectiveFirewallPolicy[]; /** @@ -7066,7 +6894,7 @@ export namespace compute_v1 { */ priority?: number | null; /** - * The rules that apply to the network. + * [Output Only] The rules that apply to the instance. Only rules that target the specific VM instance are returned if target service accounts or target secure tags are specified in the rules. */ rules?: Schema$FirewallPolicyRule[]; /** @@ -7613,7 +7441,7 @@ export namespace compute_v1 { */ adminEnabled?: boolean | null; /** - * Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s + * Provisioned bandwidth capacity for the interconnect attachment. For attachments of type DEDICATED, the user can set the bandwidth. For attachments of type PARTNER, the Google Partner that is operating the interconnect must set the bandwidth. Output only for PARTNER type, mutable for PARTNER_PROVIDER and DEDICATED, and can take one of the following values: - BPS_50M: 50 Mbit/s - BPS_100M: 100 Mbit/s - BPS_200M: 200 Mbit/s - BPS_300M: 300 Mbit/s - BPS_400M: 400 Mbit/s - BPS_500M: 500 Mbit/s - BPS_1G: 1 Gbit/s - BPS_2G: 2 Gbit/s - BPS_5G: 5 Gbit/s - BPS_10G: 10 Gbit/s - BPS_20G: 20 Gbit/s - BPS_50G: 50 Gbit/s - BPS_100G: 100 Gbit/s */ bandwidth?: string | null; /** @@ -7621,7 +7449,7 @@ export namespace compute_v1 { */ candidateIpv6Subnets?: string[] | null; /** - * Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space. + * Input only. Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress and customerRouterIpAddress for this attachment. All prefixes must be within link-local address space (169.254.0.0/16) and must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 from the supplied candidate prefix(es). The request will fail if all possible /29s are in use on Google's edge. If not supplied, Google will randomly select an unused /29 from all of link-local space. */ candidateSubnets?: string[] | null; /** @@ -7665,7 +7493,7 @@ export namespace compute_v1 { */ description?: string | null; /** - * Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY. + * Input only. Desired availability domain for the attachment. Only available for type PARTNER, at creation time, and can take one of the following values: - AVAILABILITY_DOMAIN_ANY - AVAILABILITY_DOMAIN_1 - AVAILABILITY_DOMAIN_2 For improved reliability, customers should configure a pair of attachments, one per availability domain. The selected availability domain will be provided to the Partner via the pairing key, so that the provisioned circuit will lie in the specified domain. If not specified, the value will default to AVAILABILITY_DOMAIN_ANY. */ edgeAvailabilityDomain?: string | null; /** @@ -7757,7 +7585,7 @@ export namespace compute_v1 { */ state?: string | null; /** - * Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The default value is 29, except for Cross-Cloud Interconnect connections that use an InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal to 30. For example, connections that use an Azure remote location fall into this category. In these cases, the default value is 30, and requesting 29 returns an error. Where both 29 and 30 are allowed, 29 is preferred, because it gives Google Cloud Support more debugging visibility. + * Input only. Length of the IPv4 subnet mask. Allowed values: - 29 (default) - 30 The default value is 29, except for Cross-Cloud Interconnect connections that use an InterconnectRemoteLocation with a constraints.subnetLengthRange.min equal to 30. For example, connections that use an Azure remote location fall into this category. In these cases, the default value is 30, and requesting 29 returns an error. Where both 29 and 30 are allowed, 29 is preferred, because it gives Google Cloud Support more debugging visibility. */ subnetLength?: number | null; /** @@ -8059,7 +7887,7 @@ export namespace compute_v1 { */ availabilityZone?: string | null; /** - * [Output only] List of features available at this InterconnectLocation, which can take one of the following values: - MACSEC + * [Output only] List of features available at this InterconnectLocation, which can take one of the following values: - IF_MACSEC */ availableFeatures?: string[] | null; /** @@ -8456,6 +8284,9 @@ export namespace compute_v1 { * Name of the resource. The name must be 1-63 characters long and comply with RFC1035. */ name?: string | null; + /** + * [Input Only] Deprecated. + */ resourceRequirements?: Schema$LicenseResourceRequirements; /** * [Output Only] Server-defined URL for the resource. @@ -8536,11 +8367,11 @@ export namespace compute_v1 { } export interface Schema$LicenseResourceRequirements { /** - * Minimum number of guest cpus required to use the Instance. Enforced at Instance creation and Instance start. + * [Input Only] Deprecated. This field no longer reflects the minimum number of guest cpus required to use the Instance. */ minGuestCpuCount?: number | null; /** - * Minimum memory required to use the Instance. Enforced at Instance creation and Instance start. + * [Input Only] Deprecated. This field no longer reflects the minimum memory required to use the Instance. */ minMemoryMb?: number | null; } @@ -8629,71 +8460,6 @@ export namespace compute_v1 { */ maxCount?: number | null; } - /** - * This is deprecated and has no effect. Do not use. - */ - export interface Schema$LogConfig { - /** - * This is deprecated and has no effect. Do not use. - */ - cloudAudit?: Schema$LogConfigCloudAuditOptions; - /** - * This is deprecated and has no effect. Do not use. - */ - counter?: Schema$LogConfigCounterOptions; - /** - * This is deprecated and has no effect. Do not use. - */ - dataAccess?: Schema$LogConfigDataAccessOptions; - } - /** - * This is deprecated and has no effect. Do not use. - */ - export interface Schema$LogConfigCloudAuditOptions { - /** - * This is deprecated and has no effect. Do not use. - */ - logName?: string | null; - } - /** - * This is deprecated and has no effect. Do not use. - */ - export interface Schema$LogConfigCounterOptions { - /** - * This is deprecated and has no effect. Do not use. - */ - customFields?: Schema$LogConfigCounterOptionsCustomField[]; - /** - * This is deprecated and has no effect. Do not use. - */ - field?: string | null; - /** - * This is deprecated and has no effect. Do not use. - */ - metric?: string | null; - } - /** - * This is deprecated and has no effect. Do not use. - */ - export interface Schema$LogConfigCounterOptionsCustomField { - /** - * This is deprecated and has no effect. Do not use. - */ - name?: string | null; - /** - * This is deprecated and has no effect. Do not use. - */ - value?: string | null; - } - /** - * This is deprecated and has no effect. Do not use. - */ - export interface Schema$LogConfigDataAccessOptions { - /** - * This is deprecated and has no effect. Do not use. - */ - logMode?: string | null; - } /** * Represents a machine image resource. A machine image is a Compute Engine resource that stores all the configuration, metadata, permissions, and data from one or more disks required to create a Virtual machine (VM) instance. For more information, see Machine images. */ @@ -9001,6 +8767,10 @@ export namespace compute_v1 { * [Output Only] Preserved state generated based on stateful policy for this instance. */ preservedStateFromPolicy?: Schema$PreservedState; + /** + * [Output Only] Instance properties selected for this instance resulting from InstanceFlexibilityPolicy. + */ + propertiesFromFlexibilityPolicy?: Schema$ManagedInstancePropertiesFromFlexibilityPolicy; /** * [Output Only] Intended version of this instance. */ @@ -9034,6 +8804,12 @@ export namespace compute_v1 { }>; } | null; } + export interface Schema$ManagedInstancePropertiesFromFlexibilityPolicy { + /** + * The machine type to be used for this instance. + */ + machineType?: string | null; + } export interface Schema$ManagedInstanceVersion { /** * [Output Only] The intended template of the instance. This field is empty when current_action is one of { DELETING, ABANDONING \}. @@ -9192,6 +8968,10 @@ export namespace compute_v1 { * The network firewall policy enforcement order. Can be either AFTER_CLASSIC_FIREWALL or BEFORE_CLASSIC_FIREWALL. Defaults to AFTER_CLASSIC_FIREWALL if the field is not specified. */ networkFirewallPolicyEnforcementOrder?: string | null; + /** + * A full or partial URL of the network profile to apply to this network. This field can be set only at resource creation time. For example, the following are valid URLs: - https://www.googleapis.com/compute/{api_version\}/projects/{project_id\}/global/networkProfiles/{network_profile_name\} - projects/{project_id\}/global/networkProfiles/{network_profile_name\} + */ + networkProfile?: string | null; /** * [Output Only] A list of network peerings for the resource. */ @@ -9499,6 +9279,10 @@ export namespace compute_v1 { * Optional IPv4 address of network endpoint. The IP address must belong to a VM in Compute Engine (either the primary IP or as part of an aliased IP range). If the IP address is not specified, then the primary IP address for the VM instance in the network that the network endpoint group belongs to will be used. This field is redundant and need not be set for network endpoints of type GCE_VM_IP. If set, it must be set to the primary internal IP address of the attached VM instance that matches the subnetwork of the NEG. The primary internal IP address from any NIC of a multi-NIC VM instance can be added to a NEG as long as it matches the NEG subnetwork. */ ipAddress?: string | null; + /** + * Optional IPv6 address of network endpoint. + */ + ipv6Address?: string | null; /** * Optional port number of network endpoint. If not specified, the defaultPort for the network endpoint group will be used. This field can not be set for network endpoints of type GCE_VM_IP. */ @@ -9782,6 +9566,40 @@ export namespace compute_v1 { */ networkEndpoint?: Schema$NetworkEndpoint; } + export interface Schema$NetworkFirewallPolicyAggregatedList { + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string | null; + /** + * A list of FirewallPoliciesScopedList resources. + */ + items?: {[key: string]: Schema$FirewallPoliciesScopedList} | null; + /** + * [Output Only] Type of resource. Always compute#networkFirewallPoliciesAggregatedList for lists of network firewall policies. + */ + kind?: string | null; + /** + * [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. + */ + nextPageToken?: string | null; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string | null; + /** + * [Output Only] Unreachable resources. + */ + unreachables?: string[] | null; + /** + * [Output Only] Informational warning message. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } /** * A network interface resource attached to an instance. */ @@ -9940,10 +9758,207 @@ export namespace compute_v1 { export interface Schema$NetworkPerformanceConfig { totalEgressBandwidthTier?: string | null; } + /** + * NetworkProfile represents a Google managed network profile resource. + */ + export interface Schema$NetworkProfile { + /** + * [Output Only] Creation timestamp in RFC3339 text format. + */ + creationTimestamp?: string | null; + /** + * [Output Only] An optional description of this resource. + */ + description?: string | null; + /** + * [Output Only] Features supported by the network. + */ + features?: Schema$NetworkProfileNetworkFeatures; + /** + * [Output Only] The unique identifier for the resource. This identifier is defined by the server. + */ + id?: string | null; + /** + * [Output Only] Type of the resource. Always compute#networkProfile for network profiles. + */ + kind?: string | null; + /** + * [Output Only] Location to which the network is restricted. + */ + location?: Schema$NetworkProfileLocation; + /** + * [Output Only] Name of the resource. + */ + name?: string | null; + /** + * [Output Only] Server-defined URL for the resource. + */ + selfLink?: string | null; + /** + * [Output Only] Server-defined URL for this resource with the resource id. + */ + selfLinkWithId?: string | null; + /** + * [Output Only] Zone to which the network is restricted. + */ + zone?: string | null; + } + export interface Schema$NetworkProfileLocation { + name?: string | null; + scope?: string | null; + } + export interface Schema$NetworkProfileNetworkFeatures { + /** + * Specifies what address purposes are supported. If empty, all address purposes are supported. + */ + addressPurposes?: string[] | null; + /** + * Specifies whether alias IP ranges (and secondary address ranges) are allowed. + */ + allowAliasIpRanges?: string | null; + /** + * Specifies whether auto mode subnet creation is allowed. + */ + allowAutoModeSubnet?: string | null; + /** + * Specifies whether firewalls for Class D address ranges are supported. + */ + allowClassDFirewalls?: string | null; + /** + * Specifies whether cloud NAT creation is allowed. + */ + allowCloudNat?: string | null; + /** + * Specifies whether cloud router creation is allowed. + */ + allowCloudRouter?: string | null; + /** + * Specifies whether VMs are allowed to have external IP access on network interfaces connected to this VPC. + */ + allowExternalIpAccess?: string | null; + /** + * Specifies whether Cloud Interconnect creation is allowed. + */ + allowInterconnect?: string | null; + /** + * Specifies whether cloud load balancing is allowed. + */ + allowLoadBalancing?: string | null; + /** + * Specifies whether multi-nic in the same network is allowed. + */ + allowMultiNicInSameNetwork?: string | null; + /** + * Specifies whether Packet Mirroring 1.0 is supported. + */ + allowPacketMirroring?: string | null; + /** + * Specifies whether private Google access is allowed. + */ + allowPrivateGoogleAccess?: string | null; + /** + * Specifies whether PSC creation is allowed. + */ + allowPsc?: string | null; + /** + * Specifies whether unicast within the same network is allowed. + */ + allowSameNetworkUnicast?: string | null; + /** + * Specifies whether static route creation is allowed. + */ + allowStaticRoutes?: string | null; + /** + * Specifies whether sub interfaces are allowed. + */ + allowSubInterfaces?: string | null; + /** + * Specifies whether VPC peering is allowed. + */ + allowVpcPeering?: string | null; + /** + * Specifies whether VPN creation is allowed. + */ + allowVpn?: string | null; + /** + * If set, limits the interface types that the network supports. If empty, all interface types are supported. + */ + interfaceTypes?: string[] | null; + /** + * Specifies which subnetwork purposes are supported. + */ + subnetPurposes?: string[] | null; + /** + * Specifies which subnetwork stack types are supported. + */ + subnetStackTypes?: string[] | null; + /** + * Specifies which type of unicast is supported. + */ + unicast?: string | null; + } + /** + * Contains a list of network profiles. + */ + export interface Schema$NetworkProfilesListResponse { + etag?: string | null; + /** + * [Output Only] Unique identifier for the resource; defined by the server. + */ + id?: string | null; + /** + * A list of NetworkProfile resources. + */ + items?: Schema$NetworkProfile[]; + /** + * [Output Only] Type of resource. Always compute#networkProfileList for network profiles. + */ + kind?: string | null; + /** + * [Output Only] This token allows you to get the next page of results for list requests. If the number of results is larger than maxResults, use the nextPageToken as a value for the query parameter pageToken in the next list request. Subsequent list requests will have their own nextPageToken to continue paging through the results. + */ + nextPageToken?: string | null; + /** + * [Output Only] Server-defined URL for this resource. + */ + selfLink?: string | null; + /** + * [Output Only] Unreachable resources. end_interface: MixerListResponseWithEtagBuilder + */ + unreachables?: string[] | null; + /** + * [Output Only] Informational warning message. + */ + warning?: { + code?: string; + data?: Array<{key?: string; value?: string}>; + message?: string; + } | null; + } /** * A routing configuration attached to a network resource. The message includes the list of routers associated with the network, and a flag indicating the type of routing behavior to enforce network-wide. */ export interface Schema$NetworkRoutingConfig { + /** + * Enable comparison of Multi-Exit Discriminators (MED) across routes with different neighbor ASNs when using the STANDARD BGP best path selection algorithm. + */ + bgpAlwaysCompareMed?: boolean | null; + /** + * The BGP best path selection algorithm to be employed within this network for dynamic routes learned by Cloud Routers. Can be LEGACY (default) or STANDARD. + */ + bgpBestPathSelectionMode?: string | null; + /** + * Allows to define a preferred approach for handling inter-region cost in the selection process when using the STANDARD BGP best path selection algorithm. Can be DEFAULT or ADD_COST_TO_MED. + */ + bgpInterRegionCost?: string | null; + /** + * [Output Only] Effective value of the bgp_always_compare_med field. + */ + effectiveBgpAlwaysCompareMed?: boolean | null; + /** + * [Output Only] Effective value of the bgp_inter_region_cost field. + */ + effectiveBgpInterRegionCost?: string | null; /** * The network-wide routing mode to use. If set to REGIONAL, this network's Cloud Routers will only advertise routes with subnets of this network in the same region as the router. If set to GLOBAL, this network's Cloud Routers will advertise routes with all subnets of this network, across regions. */ @@ -9969,7 +9984,7 @@ export namespace compute_v1 { } export interface Schema$NetworksGetEffectiveFirewallsResponse { /** - * Effective firewalls from firewall policy. + * [Output Only] Effective firewalls from firewall policy. It returns Global Network Firewall Policies and Hierarchical Firewall Policies. Use regionNetworkFirewallPolicies.getEffectiveFirewalls to get Regional Network Firewall Policies as well. */ firewallPolicys?: Schema$NetworksGetEffectiveFirewallsResponseEffectiveFirewallPolicy[]; /** @@ -9991,7 +10006,7 @@ export namespace compute_v1 { */ priority?: number | null; /** - * The rules that apply to the network. + * [Output Only] The rules that apply to the network. */ rules?: Schema$FirewallPolicyRule[]; /** @@ -10780,7 +10795,7 @@ export namespace compute_v1 { */ targetId?: string | null; /** - * [Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from. + * [Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the disk that the snapshot was created from. */ targetLink?: string | null; /** @@ -11177,15 +11192,15 @@ export namespace compute_v1 { */ defaultCustomErrorResponsePolicy?: Schema$CustomErrorResponsePolicy; /** - * defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. If defaultRouteAction is specified, don't set defaultUrlRedirect. If defaultRouteAction.weightedBackendServices is specified, don't set defaultService. URL maps for classic Application Load Balancers only support the urlRewrite action within a path matcher's defaultRouteAction. + * defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path matcher's defaultRouteAction. */ defaultRouteAction?: Schema$HttpRouteAction; /** - * The full or partial URL to the BackendService resource. This URL is used if none of the pathRules or routeRules defined by this PathMatcher are matched. For example, the following are all valid URLs to a BackendService resource: - https://www.googleapis.com/compute/v1/projects/project /global/backendServices/backendService - compute/v1/projects/project/global/backendServices/backendService - global/backendServices/backendService If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any weightedBackendServices. Conversely, if defaultRouteAction specifies any weightedBackendServices, defaultService must not be specified. If defaultService is specified, then set either defaultUrlRedirect or defaultRouteAction.weightedBackendService. Don't set both. Authorization requires one or more of the following Google IAM permissions on the specified resource default_service: - compute.backendBuckets.use - compute.backendServices.use + * The full or partial URL to the BackendService resource. This URL is used if none of the pathRules or routeRules defined by this PathMatcher are matched. For example, the following are all valid URLs to a BackendService resource: - https://www.googleapis.com/compute/v1/projects/project /global/backendServices/backendService - compute/v1/projects/project/global/backendServices/backendService - global/backendServices/backendService If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. Authorization requires one or more of the following Google IAM permissions on the specified resource default_service: - compute.backendBuckets.use - compute.backendServices.use */ defaultService?: string | null; /** - * When none of the specified pathRules or routeRules match, the request is redirected to a URL specified by defaultUrlRedirect. If defaultUrlRedirect is specified, then set either defaultService or defaultRouteAction. Don't set both. Not supported when the URL map is bound to a target gRPC proxy. + * When none of the specified pathRules or routeRules match, the request is redirected to a URL specified by defaultUrlRedirect. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy. */ defaultUrlRedirect?: Schema$HttpRedirectAction; /** @@ -11222,15 +11237,15 @@ export namespace compute_v1 { */ paths?: string[] | null; /** - * In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If routeAction specifies any weightedBackendServices, service must not be set. Conversely if service is set, routeAction cannot contain any weightedBackendServices. Only one of routeAction or urlRedirect must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path rule's routeAction. + * In response to a matching path, the load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within a path rule's routeAction. */ routeAction?: Schema$HttpRouteAction; /** - * The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if service is specified, routeAction cannot contain any weightedBackendServices. Conversely, if routeAction specifies any weightedBackendServices, service must not be specified. Only one of urlRedirect, service or routeAction.weightedBackendService must be set. + * The full or partial URL of the backend service resource to which traffic is directed if this rule is matched. If routeAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. */ service?: string | null; /** - * When a path pattern is matched, the request is redirected to a URL specified by urlRedirect. If urlRedirect is specified, service or routeAction must not be set. Not supported when the URL map is bound to a target gRPC proxy. + * When a path pattern is matched, the request is redirected to a URL specified by urlRedirect. Only one of urlRedirect, service or routeAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy. */ urlRedirect?: Schema$HttpRedirectAction; } @@ -11240,7 +11255,7 @@ export namespace compute_v1 { */ fingerprint?: string | null; /** - * The name of a per-instance configuration and its corresponding instance. Serves as a merge key during UpdatePerInstanceConfigs operations, that is, if a per-instance configuration with the same name exists then it will be updated, otherwise a new one will be created for the VM instance with the same name. An attempt to create a per-instance configconfiguration for a VM instance that either doesn't exist or is not part of the group will result in an error. + * The name of a per-instance configuration and its corresponding instance. Serves as a merge key during UpdatePerInstanceConfigs operations, that is, if a per-instance configuration with the same name exists then it will be updated, otherwise a new one will be created for the VM instance with the same name. An attempt to create a per-instance configuration for a VM instance that either doesn't exist or is not part of the group will result in an error. */ name?: string | null; /** @@ -11268,10 +11283,6 @@ export namespace compute_v1 { * `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. */ etag?: string | null; - /** - * This is deprecated and has no effect. Do not use. - */ - rules?: Schema$Rule[]; /** * Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). */ @@ -11371,7 +11382,7 @@ export namespace compute_v1 { */ description?: string | null; /** - * Restricted features enabled for use on this project. + * An optional list of restricted features enabled for use on this project. */ enabledFeatures?: string[] | null; /** @@ -11395,7 +11406,7 @@ export namespace compute_v1 { */ selfLink?: string | null; /** - * The naming prefix for daily usage reports and the Google Cloud Storage bucket where they are stored. + * An optional naming prefix for daily usage reports and the Google Cloud Storage bucket where they are stored. */ usageExportLocation?: Schema$UsageExportLocation; /** @@ -12154,6 +12165,12 @@ export namespace compute_v1 { */ instances?: string[] | null; } + export interface Schema$RegionInstanceGroupManagersResumeInstancesRequest { + /** + * The URLs of one or more instances to resume. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. + */ + instances?: string[] | null; + } export interface Schema$RegionInstanceGroupManagersSetTargetPoolsRequest { /** * Fingerprint of the target pools information, which is a hash of the contents. This field is used for optimistic locking when you update the target pool entries. This field is optional. @@ -12170,6 +12187,32 @@ export namespace compute_v1 { */ instanceTemplate?: string | null; } + export interface Schema$RegionInstanceGroupManagersStartInstancesRequest { + /** + * The URLs of one or more instances to start. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. + */ + instances?: string[] | null; + } + export interface Schema$RegionInstanceGroupManagersStopInstancesRequest { + /** + * If this flag is set to true, the Instance Group Manager will proceed to stop the instances, skipping initialization on them. + */ + forceStop?: boolean | null; + /** + * The URLs of one or more instances to stop. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. + */ + instances?: string[] | null; + } + export interface Schema$RegionInstanceGroupManagersSuspendInstancesRequest { + /** + * If this flag is set to true, the Instance Group Manager will proceed to suspend the instances, skipping initialization on them. + */ + forceSuspend?: boolean | null; + /** + * The URLs of one or more instances to suspend. This can be a full URL or a partial URL, such as zones/[ZONE]/instances/[INSTANCE_NAME]. + */ + instances?: string[] | null; + } /** * RegionInstanceGroupManagers.updatePerInstanceConfigs */ @@ -12276,7 +12319,7 @@ export namespace compute_v1 { } export interface Schema$RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponse { /** - * Effective firewalls from firewall policy. + * [Output only] Effective firewalls from firewall policy. It applies to Regional Network Firewall Policies in the specified region, Global Network Firewall Policies and Hierachial Firewall Policies which are associated with the network. */ firewallPolicys?: Schema$RegionNetworkFirewallPoliciesGetEffectiveFirewallsResponseEffectiveFirewallPolicy[]; /** @@ -12294,7 +12337,7 @@ export namespace compute_v1 { */ name?: string | null; /** - * The rules that apply to the network. + * [Output only] The rules that apply to the network. */ rules?: Schema$FirewallPolicyRule[]; /** @@ -12408,7 +12451,7 @@ export namespace compute_v1 { */ specificReservationRequired?: boolean | null; /** - * [Output Only] The status of the reservation. + * [Output Only] The status of the reservation. - CREATING: Reservation resources are being allocated. - READY: Reservation resources have been allocated, and the reservation is ready for use. - DELETING: Reservation deletion is in progress. - UPDATING: Reservation update is in progress. */ status?: string | null; /** @@ -12872,7 +12915,7 @@ export namespace compute_v1 { */ export interface Schema$ResourceStatus { /** - * [Output Only] An opaque ID of the host on which the VM is running. + * [Output Only] The precise location of your instance within the zone's data center, including the block, sub-block, and host. The field is formatted as follows: blockId/subBlockId/hostId. */ physicalHost?: string | null; scheduling?: Schema$ResourceStatusScheduling; @@ -12936,14 +12979,26 @@ export namespace compute_v1 { * The URL to an instance that should handle matching packets. You can specify this as a full or partial URL. For example: https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/ */ nextHopInstance?: string | null; + /** + * [Output only] Internal fixed region-to-region cost that Google Cloud calculates based on factors such as network performance, distance, and available bandwidth between regions. + */ + nextHopInterRegionCost?: number | null; /** * The network IP address of an instance that should handle matching packets. Both IPv6 address and IPv4 addresses are supported. Must specify an IPv4 address in dot-decimal notation (e.g. 192.0.2.99) or an IPv6 address in RFC 4291 format (e.g. 2001:db8::2d9:51:0:0 or 2001:db8:0:0:2d9:51:0:0). IPv6 addresses will be displayed using RFC 5952 compressed format (e.g. 2001:db8::2d9:51:0:0). Should never be an IPv4-mapped IPv6 address. */ nextHopIp?: string | null; + /** + * [Output Only] Multi-Exit Discriminator, a BGP route metric that indicates the desirability of a particular route in a network. + */ + nextHopMed?: number | null; /** * The URL of the local network if it should handle matching packets. */ nextHopNetwork?: string | null; + /** + * [Output Only] Indicates the origin of the route. Can be IGP (Interior Gateway Protocol), EGP (Exterior Gateway Protocol), or INCOMPLETE. + */ + nextHopOrigin?: string | null; /** * [Output Only] The network peering name that should handle matching packets, which should conform to RFC1035. */ @@ -13700,39 +13755,6 @@ export namespace compute_v1 { kind?: string | null; result?: Schema$RouterStatus; } - /** - * This is deprecated and has no effect. Do not use. - */ - export interface Schema$Rule { - /** - * This is deprecated and has no effect. Do not use. - */ - action?: string | null; - /** - * This is deprecated and has no effect. Do not use. - */ - conditions?: Schema$Condition[]; - /** - * This is deprecated and has no effect. Do not use. - */ - description?: string | null; - /** - * This is deprecated and has no effect. Do not use. - */ - ins?: string[] | null; - /** - * This is deprecated and has no effect. Do not use. - */ - logConfigs?: Schema$LogConfig[]; - /** - * This is deprecated and has no effect. Do not use. - */ - notIns?: string[] | null; - /** - * This is deprecated and has no effect. Do not use. - */ - permissions?: string[] | null; - } /** * DEPRECATED: Please use compute#savedDisk instead. An instance-attached disk resource. */ @@ -14377,7 +14399,7 @@ export namespace compute_v1 { */ conformAction?: string | null; /** - * Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if "enforceOnKey" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP. + * Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if "enforceOnKey" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. */ enforceOnKey?: string | null; /** @@ -14407,7 +14429,7 @@ export namespace compute_v1 { */ enforceOnKeyName?: string | null; /** - * Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if "enforceOnKeyConfigs" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP. + * Determines the key to enforce the rate_limit_threshold on. Possible values are: - ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if "enforceOnKeyConfigs" is not configured. - IP: The source IP address of the request is the key. Each IP has this limit enforced separately. - HTTP_HEADER: The value of the HTTP header whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL. - XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP. - HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL. - HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes. - SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session. - REGION_CODE: The country/region from which the request originates. - TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. - USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP. - TLS_JA4_FINGERPRINT: JA4 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL. */ enforceOnKeyType?: string | null; } @@ -14571,6 +14593,10 @@ export namespace compute_v1 { * The URL of a forwarding rule with loadBalancingScheme INTERNAL* that is serving the endpoint identified by this service attachment. */ producerForwardingRule?: string | null; + /** + * The number of consumer spokes that connected Private Service Connect endpoints can be propagated to through Network Connectivity Center. This limit lets the service producer limit how many propagated Private Service Connect connections can be established to this service attachment from a single consumer. If the connection preference of the service attachment is ACCEPT_MANUAL, the limit applies to each project or network that is listed in the consumer accept list. If the connection preference of the service attachment is ACCEPT_AUTOMATIC, the limit applies to each project that contains a connected endpoint. If unspecified, the default propagated connection limit is 250. + */ + propagatedConnectionLimit?: number | null; /** * [Output Only] An 128-bit global unique ID of the PSC service attachment. */ @@ -14641,6 +14667,10 @@ export namespace compute_v1 { * The url of a connected endpoint. */ endpoint?: string | null; + /** + * The number of consumer Network Connectivity Center spokes that the connected Private Service Connect endpoint has propagated to. + */ + propagatedConnectionCount?: number | null; /** * The PSC connection id of the connected endpoint. */ @@ -16030,7 +16060,7 @@ export namespace compute_v1 { */ privateIpv6GoogleAccess?: string | null; /** - * The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. + * The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. */ purpose?: string | null; /** @@ -16447,7 +16477,7 @@ export namespace compute_v1 { sslCertificates?: string[] | null; } /** - * Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/v1/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/v1/regionTargetHttpsProxies) A target HTTPS proxy is a component of GCP HTTPS load balancers. * targetHttpProxies are used by global external Application Load Balancers, classic Application Load Balancers, cross-region internal Application Load Balancers, and Traffic Director. * regionTargetHttpProxies are used by regional internal Application Load Balancers and regional external Application Load Balancers. Forwarding rules reference a target HTTPS proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts. + * Represents a Target HTTPS Proxy resource. Google Compute Engine has two Target HTTPS Proxy resources: * [Global](/compute/docs/reference/rest/v1/targetHttpsProxies) * [Regional](/compute/docs/reference/rest/v1/regionTargetHttpsProxies) A target HTTPS proxy is a component of Google Cloud HTTPS load balancers. * targetHttpProxies are used by global external Application Load Balancers, classic Application Load Balancers, cross-region internal Application Load Balancers, and Traffic Director. * regionTargetHttpProxies are used by regional internal Application Load Balancers and regional external Application Load Balancers. Forwarding rules reference a target HTTPS proxy, and the target proxy then references a URL map. For more information, read Using Target Proxies and Forwarding rule concepts. */ export interface Schema$TargetHttpsProxy { /** @@ -16507,7 +16537,7 @@ export namespace compute_v1 { */ serverTlsPolicy?: string | null; /** - * URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API. Certificate Manager Certificates are not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project\}/locations/{ location\}/certificates/{resourceName\}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project \}/locations/{location\}/certificates/{resourceName\}. + * URLs to SslCertificate resources that are used to authenticate connections between users and the load balancer. At least one SSL certificate must be specified. SslCertificates do not apply when the load balancing scheme is set to INTERNAL_SELF_MANAGED. The URLs should refer to a SSL Certificate resource or Certificate Manager Certificate resource. Mixing Classic Certificates and Certificate Manager Certificates is not allowed. Certificate Manager Certificates must include the certificatemanager API namespace. Using Certificate Manager Certificates in this field is not supported by Global external Application Load Balancer or Classic Application Load Balancer, use certificate_map instead. Currently, you may specify up to 15 Classic SSL Certificates or up to 100 Certificate Manager Certificates. Certificate Manager Certificates accepted formats are: - //certificatemanager.googleapis.com/projects/{project\}/locations/{ location\}/certificates/{resourceName\}. - https://certificatemanager.googleapis.com/v1alpha1/projects/{project \}/locations/{location\}/certificates/{resourceName\}. */ sslCertificates?: string[] | null; /** @@ -17381,7 +17411,7 @@ export namespace compute_v1 { windowStartTime?: string | null; } /** - * Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by global external Application Load Balancers, classic Application Load Balancers, and cross-region internal Application Load Balancers. * regionUrlMaps are used by internal Application Load Balancers, regional external Application Load Balancers and regional internal Application Load Balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts. + * Represents a URL Map resource. Compute Engine has two URL Map resources: * [Global](/compute/docs/reference/rest/v1/urlMaps) * [Regional](/compute/docs/reference/rest/v1/regionUrlMaps) A URL map resource is a component of certain types of cloud load balancers and Traffic Director: * urlMaps are used by global external Application Load Balancers, classic Application Load Balancers, and cross-region internal Application Load Balancers. * regionUrlMaps are used by internal Application Load Balancers, regional external Application Load Balancers and regional internal Application Load Balancers. For a list of supported URL map features by the load balancer type, see the Load balancing features: Routing and traffic management table. For a list of supported URL map features for Traffic Director, see the Traffic Director features: Routing and traffic management table. This resource defines mappings from hostnames and URL paths to either a backend service or a backend bucket. To use the global urlMaps resource, the backend service must have a loadBalancingScheme of either EXTERNAL, EXTERNAL_MANAGED, or INTERNAL_SELF_MANAGED. To use the regionUrlMaps resource, the backend service must have a loadBalancingScheme of INTERNAL_MANAGED. For more information, read URL Map Concepts. */ export interface Schema$UrlMap { /** @@ -17393,15 +17423,15 @@ export namespace compute_v1 { */ defaultCustomErrorResponsePolicy?: Schema$CustomErrorResponsePolicy; /** - * defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices. Only one of defaultRouteAction or defaultUrlRedirect must be set. URL maps for classic Application Load Balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. + * defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions, such as URL rewrites and header transformations, before forwarding the request to the selected backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. URL maps for classic Application Load Balancers only support the urlRewrite action within defaultRouteAction. defaultRouteAction has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. */ defaultRouteAction?: Schema$HttpRouteAction; /** - * The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. However, if defaultService is specified, defaultRouteAction cannot contain any defaultRouteAction.weightedBackendServices. Conversely, if defaultRouteAction specifies any defaultRouteAction.weightedBackendServices, defaultService must not be specified. If defaultService is specified, then set either defaultUrlRedirect , or defaultRouteAction.weightedBackendService Don't set both. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. + * The full or partial URL of the defaultService resource to which traffic is directed if none of the hostRules match. If defaultRouteAction is also specified, advanced routing actions, such as URL rewrites, take effect before sending the request to the backend. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. defaultService has no effect when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true. */ defaultService?: string | null; /** - * When none of the specified hostRules match, the request is redirected to a URL specified by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or defaultRouteAction must not be set. Not supported when the URL map is bound to a target gRPC proxy. + * When none of the specified hostRules match, the request is redirected to a URL specified by defaultUrlRedirect. Only one of defaultUrlRedirect, defaultService or defaultRouteAction.weightedBackendService can be set. Not supported when the URL map is bound to a target gRPC proxy. */ defaultUrlRedirect?: Schema$HttpRedirectAction; /** @@ -17649,7 +17679,7 @@ export namespace compute_v1 { */ network?: string | null; /** - * The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PRIVATE_SERVICE_CONNECT, or PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. + * The purpose of the resource. This field can be either PRIVATE, GLOBAL_MANAGED_PROXY, REGIONAL_MANAGED_PROXY, PEER_MIGRATION or PRIVATE_SERVICE_CONNECT. PRIVATE is the default purpose for user-created subnets or subnets that are automatically created in auto mode networks. Subnets with purpose set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY are user-created subnetworks that are reserved for Envoy-based load balancers. A subnet with purpose set to PRIVATE_SERVICE_CONNECT is used to publish services using Private Service Connect. A subnet with purpose set to PEER_MIGRATION is used for subnet migration from one peered VPC to another. If unspecified, the subnet purpose defaults to PRIVATE. The enableFlowLogs field isn't supported if the subnet purpose field is set to GLOBAL_MANAGED_PROXY or REGIONAL_MANAGED_PROXY. */ purpose?: string | null; /** @@ -29860,818 +29890,6 @@ export namespace compute_v1 { requestBody?: Schema$TargetReference; } - export class Resource$Futurereservations { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Retrieves an aggregated list of future reservations. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - aggregatedList( - params: Params$Resource$Futurereservations$Aggregatedlist, - options: StreamMethodOptions - ): GaxiosPromise; - aggregatedList( - params?: Params$Resource$Futurereservations$Aggregatedlist, - options?: MethodOptions - ): GaxiosPromise; - aggregatedList( - params: Params$Resource$Futurereservations$Aggregatedlist, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - aggregatedList( - params: Params$Resource$Futurereservations$Aggregatedlist, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - aggregatedList( - params: Params$Resource$Futurereservations$Aggregatedlist, - callback: BodyResponseCallback - ): void; - aggregatedList( - callback: BodyResponseCallback - ): void; - aggregatedList( - paramsOrCallback?: - | Params$Resource$Futurereservations$Aggregatedlist - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Futurereservations$Aggregatedlist; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Futurereservations$Aggregatedlist; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/v1/projects/{project}/aggregated/futureReservations' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project'], - pathParams: ['project'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Cancel the specified future reservation. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - cancel( - params: Params$Resource$Futurereservations$Cancel, - options: StreamMethodOptions - ): GaxiosPromise; - cancel( - params?: Params$Resource$Futurereservations$Cancel, - options?: MethodOptions - ): GaxiosPromise; - cancel( - params: Params$Resource$Futurereservations$Cancel, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - cancel( - params: Params$Resource$Futurereservations$Cancel, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - cancel( - params: Params$Resource$Futurereservations$Cancel, - callback: BodyResponseCallback - ): void; - cancel(callback: BodyResponseCallback): void; - cancel( - paramsOrCallback?: - | Params$Resource$Futurereservations$Cancel - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Futurereservations$Cancel; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Futurereservations$Cancel; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/v1/projects/{project}/zones/{zone}/futureReservations/{futureReservation}/cancel' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'zone', 'futureReservation'], - pathParams: ['futureReservation', 'project', 'zone'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Deletes the specified future reservation. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - delete( - params: Params$Resource$Futurereservations$Delete, - options: StreamMethodOptions - ): GaxiosPromise; - delete( - params?: Params$Resource$Futurereservations$Delete, - options?: MethodOptions - ): GaxiosPromise; - delete( - params: Params$Resource$Futurereservations$Delete, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Futurereservations$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - delete( - params: Params$Resource$Futurereservations$Delete, - callback: BodyResponseCallback - ): void; - delete(callback: BodyResponseCallback): void; - delete( - paramsOrCallback?: - | Params$Resource$Futurereservations$Delete - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Futurereservations$Delete; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Futurereservations$Delete; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/v1/projects/{project}/zones/{zone}/futureReservations/{futureReservation}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'zone', 'futureReservation'], - pathParams: ['futureReservation', 'project', 'zone'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Retrieves information about the specified future reservation. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Futurereservations$Get, - options: StreamMethodOptions - ): GaxiosPromise; - get( - params?: Params$Resource$Futurereservations$Get, - options?: MethodOptions - ): GaxiosPromise; - get( - params: Params$Resource$Futurereservations$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Futurereservations$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Futurereservations$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Futurereservations$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Futurereservations$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Futurereservations$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/v1/projects/{project}/zones/{zone}/futureReservations/{futureReservation}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'zone', 'futureReservation'], - pathParams: ['futureReservation', 'project', 'zone'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Creates a new Future Reservation. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - insert( - params: Params$Resource$Futurereservations$Insert, - options: StreamMethodOptions - ): GaxiosPromise; - insert( - params?: Params$Resource$Futurereservations$Insert, - options?: MethodOptions - ): GaxiosPromise; - insert( - params: Params$Resource$Futurereservations$Insert, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Futurereservations$Insert, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - insert( - params: Params$Resource$Futurereservations$Insert, - callback: BodyResponseCallback - ): void; - insert(callback: BodyResponseCallback): void; - insert( - paramsOrCallback?: - | Params$Resource$Futurereservations$Insert - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Futurereservations$Insert; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Futurereservations$Insert; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/v1/projects/{project}/zones/{zone}/futureReservations' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * A list of all the future reservations that have been configured for the specified project in specified zone. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Futurereservations$List, - options: StreamMethodOptions - ): GaxiosPromise; - list( - params?: Params$Resource$Futurereservations$List, - options?: MethodOptions - ): GaxiosPromise; - list( - params: Params$Resource$Futurereservations$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Futurereservations$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Futurereservations$List, - callback: BodyResponseCallback - ): void; - list( - callback: BodyResponseCallback - ): void; - list( - paramsOrCallback?: - | Params$Resource$Futurereservations$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Futurereservations$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Futurereservations$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/v1/projects/{project}/zones/{zone}/futureReservations' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'zone'], - pathParams: ['project', 'zone'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - - /** - * Updates the specified future reservation. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - update( - params: Params$Resource$Futurereservations$Update, - options: StreamMethodOptions - ): GaxiosPromise; - update( - params?: Params$Resource$Futurereservations$Update, - options?: MethodOptions - ): GaxiosPromise; - update( - params: Params$Resource$Futurereservations$Update, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Futurereservations$Update, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - update( - params: Params$Resource$Futurereservations$Update, - callback: BodyResponseCallback - ): void; - update(callback: BodyResponseCallback): void; - update( - paramsOrCallback?: - | Params$Resource$Futurereservations$Update - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Futurereservations$Update; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Futurereservations$Update; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/compute/v1/projects/{project}/zones/{zone}/futureReservations/{futureReservation}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['project', 'zone', 'futureReservation'], - pathParams: ['futureReservation', 'project', 'zone'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Futurereservations$Aggregatedlist - extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. - */ - filter?: string; - /** - * Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. - */ - includeAllScopes?: boolean; - /** - * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. - */ - returnPartialSuccess?: boolean; - /** - * The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. - */ - serviceProjectNumber?: string; - } - export interface Params$Resource$Futurereservations$Cancel - extends StandardParameters { - /** - * Name of the future reservation to retrieve. Name should conform to RFC1035. - */ - futureReservation?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Name of the zone for this request. Name should conform to RFC1035. - */ - zone?: string; - } - export interface Params$Resource$Futurereservations$Delete - extends StandardParameters { - /** - * Name of the future reservation to retrieve. Name should conform to RFC1035. - */ - futureReservation?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Name of the zone for this request. Name should conform to RFC1035. - */ - zone?: string; - } - export interface Params$Resource$Futurereservations$Get - extends StandardParameters { - /** - * Name of the future reservation to retrieve. Name should conform to RFC1035. - */ - futureReservation?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Name of the zone for this request. Name should conform to RFC1035. - */ - zone?: string; - } - export interface Params$Resource$Futurereservations$Insert - extends StandardParameters { - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Name of the zone for this request. Name should conform to RFC1035. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$FutureReservation; - } - export interface Params$Resource$Futurereservations$List - extends StandardParameters { - /** - * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. - */ - filter?: string; - /** - * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) - */ - maxResults?: number; - /** - * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. - */ - orderBy?: string; - /** - * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. - */ - pageToken?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. - */ - returnPartialSuccess?: boolean; - /** - * Name of the zone for this request. Name should conform to RFC1035. - */ - zone?: string; - } - export interface Params$Resource$Futurereservations$Update - extends StandardParameters { - /** - * Name of the reservation to update. Name should conform to RFC1035. - */ - futureReservation?: string; - /** - * Project ID for this request. - */ - project?: string; - /** - * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * update_mask indicates fields to be updated as part of this request. - */ - updateMask?: string; - /** - * Name of the zone for this request. Name should conform to RFC1035. - */ - zone?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$FutureReservation; - } - export class Resource$Globaladdresses { context: APIRequestContext; constructor(context: APIRequestContext) { @@ -39598,39 +38816,392 @@ export namespace compute_v1 { } /** - * Flags the specified VM instances in the managed instance group to be immediately recreated. Each instance is recreated using the group's current configuration. This operation is marked as DONE when the flag is set even if the instances have not yet been recreated. You must separately verify the status of each instance by checking its currentAction field; for more information, see Checking the status of managed instances. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request. + * Flags the specified VM instances in the managed instance group to be immediately recreated. Each instance is recreated using the group's current configuration. This operation is marked as DONE when the flag is set even if the instances have not yet been recreated. You must separately verify the status of each instance by checking its currentAction field; for more information, see Checking the status of managed instances. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + recreateInstances( + params: Params$Resource$Instancegroupmanagers$Recreateinstances, + options: StreamMethodOptions + ): GaxiosPromise; + recreateInstances( + params?: Params$Resource$Instancegroupmanagers$Recreateinstances, + options?: MethodOptions + ): GaxiosPromise; + recreateInstances( + params: Params$Resource$Instancegroupmanagers$Recreateinstances, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + recreateInstances( + params: Params$Resource$Instancegroupmanagers$Recreateinstances, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + recreateInstances( + params: Params$Resource$Instancegroupmanagers$Recreateinstances, + callback: BodyResponseCallback + ): void; + recreateInstances(callback: BodyResponseCallback): void; + recreateInstances( + paramsOrCallback?: + | Params$Resource$Instancegroupmanagers$Recreateinstances + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroupmanagers$Recreateinstances; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancegroupmanagers$Recreateinstances; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Resizes the managed instance group. If you increase the size, the group creates new instances using the current instance template. If you decrease the size, the group deletes instances. The resize operation is marked DONE when the resize actions are scheduled even if the group has not yet added or deleted any instances. You must separately verify the status of the creating or deleting actions with the listmanagedinstances method. When resizing down, the instance group arbitrarily chooses the order in which VMs are deleted. The group takes into account some VM attributes when making the selection including: + The status of the VM instance. + The health of the VM instance. + The instance template version the VM is based on. + For regional managed instance groups, the location of the VM instance. This list is subject to change. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + resize( + params: Params$Resource$Instancegroupmanagers$Resize, + options: StreamMethodOptions + ): GaxiosPromise; + resize( + params?: Params$Resource$Instancegroupmanagers$Resize, + options?: MethodOptions + ): GaxiosPromise; + resize( + params: Params$Resource$Instancegroupmanagers$Resize, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + resize( + params: Params$Resource$Instancegroupmanagers$Resize, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + resize( + params: Params$Resource$Instancegroupmanagers$Resize, + callback: BodyResponseCallback + ): void; + resize(callback: BodyResponseCallback): void; + resize( + paramsOrCallback?: + | Params$Resource$Instancegroupmanagers$Resize + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroupmanagers$Resize; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancegroupmanagers$Resize; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager', 'size'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Flags the specified instances in the managed instance group to be resumed. This method increases the targetSize and decreases the targetSuspendedSize of the managed instance group by the number of instances that you resume. The resumeInstances operation is marked DONE if the resumeInstances request is successful. The underlying actions take additional time. You must separately verify the status of the RESUMING action with the listmanagedinstances method. In this request, you can only specify instances that are suspended. For example, if an instance was previously suspended using the suspendInstances method, it can be resumed using the resumeInstances method. If a health check is attached to the managed instance group, the specified instances will be verified as healthy after they are resumed. You can specify a maximum of 1000 instances with this method per request. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + resumeInstances( + params: Params$Resource$Instancegroupmanagers$Resumeinstances, + options: StreamMethodOptions + ): GaxiosPromise; + resumeInstances( + params?: Params$Resource$Instancegroupmanagers$Resumeinstances, + options?: MethodOptions + ): GaxiosPromise; + resumeInstances( + params: Params$Resource$Instancegroupmanagers$Resumeinstances, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + resumeInstances( + params: Params$Resource$Instancegroupmanagers$Resumeinstances, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + resumeInstances( + params: Params$Resource$Instancegroupmanagers$Resumeinstances, + callback: BodyResponseCallback + ): void; + resumeInstances(callback: BodyResponseCallback): void; + resumeInstances( + paramsOrCallback?: + | Params$Resource$Instancegroupmanagers$Resumeinstances + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroupmanagers$Resumeinstances; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Instancegroupmanagers$Resumeinstances; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resumeInstances' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Specifies the instance template to use when creating new instances in this group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setInstanceTemplate( + params: Params$Resource$Instancegroupmanagers$Setinstancetemplate, + options: StreamMethodOptions + ): GaxiosPromise; + setInstanceTemplate( + params?: Params$Resource$Instancegroupmanagers$Setinstancetemplate, + options?: MethodOptions + ): GaxiosPromise; + setInstanceTemplate( + params: Params$Resource$Instancegroupmanagers$Setinstancetemplate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setInstanceTemplate( + params: Params$Resource$Instancegroupmanagers$Setinstancetemplate, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setInstanceTemplate( + params: Params$Resource$Instancegroupmanagers$Setinstancetemplate, + callback: BodyResponseCallback + ): void; + setInstanceTemplate(callback: BodyResponseCallback): void; + setInstanceTemplate( + paramsOrCallback?: + | Params$Resource$Instancegroupmanagers$Setinstancetemplate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Instancegroupmanagers$Setinstancetemplate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Instancegroupmanagers$Setinstancetemplate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'zone', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'zone'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Modifies the target pools to which all instances in this managed instance group are assigned. The target pools automatically apply to all of the instances in the managed instance group. This operation is marked DONE when you make the request even if the instances have not yet been added to their target pools. The change might take some time to apply to all of the instances in the group depending on the size of the group. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - recreateInstances( - params: Params$Resource$Instancegroupmanagers$Recreateinstances, + setTargetPools( + params: Params$Resource$Instancegroupmanagers$Settargetpools, options: StreamMethodOptions ): GaxiosPromise; - recreateInstances( - params?: Params$Resource$Instancegroupmanagers$Recreateinstances, + setTargetPools( + params?: Params$Resource$Instancegroupmanagers$Settargetpools, options?: MethodOptions ): GaxiosPromise; - recreateInstances( - params: Params$Resource$Instancegroupmanagers$Recreateinstances, + setTargetPools( + params: Params$Resource$Instancegroupmanagers$Settargetpools, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - recreateInstances( - params: Params$Resource$Instancegroupmanagers$Recreateinstances, + setTargetPools( + params: Params$Resource$Instancegroupmanagers$Settargetpools, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - recreateInstances( - params: Params$Resource$Instancegroupmanagers$Recreateinstances, + setTargetPools( + params: Params$Resource$Instancegroupmanagers$Settargetpools, callback: BodyResponseCallback ): void; - recreateInstances(callback: BodyResponseCallback): void; - recreateInstances( + setTargetPools(callback: BodyResponseCallback): void; + setTargetPools( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Recreateinstances + | Params$Resource$Instancegroupmanagers$Settargetpools | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -39643,12 +39214,12 @@ export namespace compute_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Recreateinstances; + {}) as Params$Resource$Instancegroupmanagers$Settargetpools; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroupmanagers$Recreateinstances; + params = {} as Params$Resource$Instancegroupmanagers$Settargetpools; options = {}; } @@ -39663,7 +39234,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances' + '/compute/v1/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setTargetPools' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -39686,39 +39257,39 @@ export namespace compute_v1 { } /** - * Resizes the managed instance group. If you increase the size, the group creates new instances using the current instance template. If you decrease the size, the group deletes instances. The resize operation is marked DONE when the resize actions are scheduled even if the group has not yet added or deleted any instances. You must separately verify the status of the creating or deleting actions with the listmanagedinstances method. When resizing down, the instance group arbitrarily chooses the order in which VMs are deleted. The group takes into account some VM attributes when making the selection including: + The status of the VM instance. + The health of the VM instance. + The instance template version the VM is based on. + For regional managed instance groups, the location of the VM instance. This list is subject to change. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. + * Flags the specified instances in the managed instance group to be started. This method increases the targetSize and decreases the targetStoppedSize of the managed instance group by the number of instances that you start. The startInstances operation is marked DONE if the startInstances request is successful. The underlying actions take additional time. You must separately verify the status of the STARTING action with the listmanagedinstances method. In this request, you can only specify instances that are stopped. For example, if an instance was previously stopped using the stopInstances method, it can be started using the startInstances method. If a health check is attached to the managed instance group, the specified instances will be verified as healthy after they are started. You can specify a maximum of 1000 instances with this method per request. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - resize( - params: Params$Resource$Instancegroupmanagers$Resize, + startInstances( + params: Params$Resource$Instancegroupmanagers$Startinstances, options: StreamMethodOptions ): GaxiosPromise; - resize( - params?: Params$Resource$Instancegroupmanagers$Resize, + startInstances( + params?: Params$Resource$Instancegroupmanagers$Startinstances, options?: MethodOptions ): GaxiosPromise; - resize( - params: Params$Resource$Instancegroupmanagers$Resize, + startInstances( + params: Params$Resource$Instancegroupmanagers$Startinstances, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - resize( - params: Params$Resource$Instancegroupmanagers$Resize, + startInstances( + params: Params$Resource$Instancegroupmanagers$Startinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - resize( - params: Params$Resource$Instancegroupmanagers$Resize, + startInstances( + params: Params$Resource$Instancegroupmanagers$Startinstances, callback: BodyResponseCallback ): void; - resize(callback: BodyResponseCallback): void; - resize( + startInstances(callback: BodyResponseCallback): void; + startInstances( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Resize + | Params$Resource$Instancegroupmanagers$Startinstances | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -39731,12 +39302,12 @@ export namespace compute_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Resize; + {}) as Params$Resource$Instancegroupmanagers$Startinstances; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroupmanagers$Resize; + params = {} as Params$Resource$Instancegroupmanagers$Startinstances; options = {}; } @@ -39751,7 +39322,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize' + '/compute/v1/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/startInstances' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -39759,7 +39330,7 @@ export namespace compute_v1 { options ), params, - requiredParams: ['project', 'zone', 'instanceGroupManager', 'size'], + requiredParams: ['project', 'zone', 'instanceGroupManager'], pathParams: ['instanceGroupManager', 'project', 'zone'], context: this.context, }; @@ -39774,39 +39345,39 @@ export namespace compute_v1 { } /** - * Specifies the instance template to use when creating new instances in this group. The templates for existing instances in the group do not change unless you run recreateInstances, run applyUpdatesToInstances, or set the group's updatePolicy.type to PROACTIVE. + * Flags the specified instances in the managed instance group to be immediately stopped. You can only specify instances that are running in this request. This method reduces the targetSize and increases the targetStoppedSize of the managed instance group by the number of instances that you stop. The stopInstances operation is marked DONE if the stopInstances request is successful. The underlying actions take additional time. You must separately verify the status of the STOPPING action with the listmanagedinstances method. If the standbyPolicy.initialDelaySec field is set, the group delays stopping the instances until initialDelaySec have passed from instance.creationTimestamp (that is, when the instance was created). This delay gives your application time to set itself up and initialize on the instance. If more than initialDelaySec seconds have passed since instance.creationTimestamp when this method is called, there will be zero delay. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is stopped. Stopped instances can be started using the startInstances method. You can specify a maximum of 1000 instances with this method per request. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setInstanceTemplate( - params: Params$Resource$Instancegroupmanagers$Setinstancetemplate, + stopInstances( + params: Params$Resource$Instancegroupmanagers$Stopinstances, options: StreamMethodOptions ): GaxiosPromise; - setInstanceTemplate( - params?: Params$Resource$Instancegroupmanagers$Setinstancetemplate, + stopInstances( + params?: Params$Resource$Instancegroupmanagers$Stopinstances, options?: MethodOptions ): GaxiosPromise; - setInstanceTemplate( - params: Params$Resource$Instancegroupmanagers$Setinstancetemplate, + stopInstances( + params: Params$Resource$Instancegroupmanagers$Stopinstances, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setInstanceTemplate( - params: Params$Resource$Instancegroupmanagers$Setinstancetemplate, + stopInstances( + params: Params$Resource$Instancegroupmanagers$Stopinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setInstanceTemplate( - params: Params$Resource$Instancegroupmanagers$Setinstancetemplate, + stopInstances( + params: Params$Resource$Instancegroupmanagers$Stopinstances, callback: BodyResponseCallback ): void; - setInstanceTemplate(callback: BodyResponseCallback): void; - setInstanceTemplate( + stopInstances(callback: BodyResponseCallback): void; + stopInstances( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Setinstancetemplate + | Params$Resource$Instancegroupmanagers$Stopinstances | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -39819,13 +39390,12 @@ export namespace compute_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Setinstancetemplate; + {}) as Params$Resource$Instancegroupmanagers$Stopinstances; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Instancegroupmanagers$Setinstancetemplate; + params = {} as Params$Resource$Instancegroupmanagers$Stopinstances; options = {}; } @@ -39840,7 +39410,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate' + '/compute/v1/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/stopInstances' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -39863,39 +39433,39 @@ export namespace compute_v1 { } /** - * Modifies the target pools to which all instances in this managed instance group are assigned. The target pools automatically apply to all of the instances in the managed instance group. This operation is marked DONE when you make the request even if the instances have not yet been added to their target pools. The change might take some time to apply to all of the instances in the group depending on the size of the group. + * Flags the specified instances in the managed instance group to be immediately suspended. You can only specify instances that are running in this request. This method reduces the targetSize and increases the targetSuspendedSize of the managed instance group by the number of instances that you suspend. The suspendInstances operation is marked DONE if the suspendInstances request is successful. The underlying actions take additional time. You must separately verify the status of the SUSPENDING action with the listmanagedinstances method. If the standbyPolicy.initialDelaySec field is set, the group delays suspension of the instances until initialDelaySec have passed from instance.creationTimestamp (that is, when the instance was created). This delay gives your application time to set itself up and initialize on the instance. If more than initialDelaySec seconds have passed since instance.creationTimestamp when this method is called, there will be zero delay. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is suspended. Suspended instances can be resumed using the resumeInstances method. You can specify a maximum of 1000 instances with this method per request. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setTargetPools( - params: Params$Resource$Instancegroupmanagers$Settargetpools, + suspendInstances( + params: Params$Resource$Instancegroupmanagers$Suspendinstances, options: StreamMethodOptions ): GaxiosPromise; - setTargetPools( - params?: Params$Resource$Instancegroupmanagers$Settargetpools, + suspendInstances( + params?: Params$Resource$Instancegroupmanagers$Suspendinstances, options?: MethodOptions ): GaxiosPromise; - setTargetPools( - params: Params$Resource$Instancegroupmanagers$Settargetpools, + suspendInstances( + params: Params$Resource$Instancegroupmanagers$Suspendinstances, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setTargetPools( - params: Params$Resource$Instancegroupmanagers$Settargetpools, + suspendInstances( + params: Params$Resource$Instancegroupmanagers$Suspendinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setTargetPools( - params: Params$Resource$Instancegroupmanagers$Settargetpools, + suspendInstances( + params: Params$Resource$Instancegroupmanagers$Suspendinstances, callback: BodyResponseCallback ): void; - setTargetPools(callback: BodyResponseCallback): void; - setTargetPools( + suspendInstances(callback: BodyResponseCallback): void; + suspendInstances( paramsOrCallback?: - | Params$Resource$Instancegroupmanagers$Settargetpools + | Params$Resource$Instancegroupmanagers$Suspendinstances | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -39908,12 +39478,12 @@ export namespace compute_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Instancegroupmanagers$Settargetpools; + {}) as Params$Resource$Instancegroupmanagers$Suspendinstances; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Instancegroupmanagers$Settargetpools; + params = {} as Params$Resource$Instancegroupmanagers$Suspendinstances; options = {}; } @@ -39928,7 +39498,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setTargetPools' + '/compute/v1/projects/{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/suspendInstances' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -40474,6 +40044,30 @@ export namespace compute_v1 { */ zone?: string; } + export interface Params$Resource$Instancegroupmanagers$Resumeinstances + extends StandardParameters { + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersResumeInstancesRequest; + } export interface Params$Resource$Instancegroupmanagers$Setinstancetemplate extends StandardParameters { /** @@ -40522,6 +40116,78 @@ export namespace compute_v1 { */ requestBody?: Schema$InstanceGroupManagersSetTargetPoolsRequest; } + export interface Params$Resource$Instancegroupmanagers$Startinstances + extends StandardParameters { + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersStartInstancesRequest; + } + export interface Params$Resource$Instancegroupmanagers$Stopinstances + extends StandardParameters { + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersStopInstancesRequest; + } + export interface Params$Resource$Instancegroupmanagers$Suspendinstances + extends StandardParameters { + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * The name of the zone where the managed instance group is located. + */ + zone?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InstanceGroupManagersSuspendInstancesRequest; + } export interface Params$Resource$Instancegroupmanagers$Updateperinstanceconfigs extends StandardParameters { /** @@ -46189,7 +45855,7 @@ export namespace compute_v1 { */ project?: string; /** - * Specifies the starting byte position of the output to return. To start with the first byte of output to the specified port, omit this field or set it to `0`. If the output for that byte position is available, this field matches the `start` parameter sent with the request. If the amount of serial console output exceeds the size of the buffer (1 MB), the oldest output is discarded and is no longer available. If the requested start position refers to discarded output, the start position is adjusted to the oldest output still available, and the adjusted start position is returned as the `start` property value. You can also provide a negative start position, which translates to the most recent number of bytes written to the serial port. For example, -3 is interpreted as the most recent 3 bytes written to the serial console. + * Specifies the starting byte position of the output to return. To start with the first byte of output to the specified port, omit this field or set it to `0`. If the output for that byte position is available, this field matches the `start` parameter sent with the request. If the amount of serial console output exceeds the size of the buffer (1 MB), the oldest output is discarded and is no longer available. If the requested start position refers to discarded output, the start position is adjusted to the oldest output still available, and the adjusted start position is returned as the `start` property value. You can also provide a negative start position, which translates to the most recent number of bytes written to the serial port. For example, -3 is interpreted as the most recent 3 bytes written to the serial console. Note that the negative start is bounded by the retained buffer size, and the returned serial console output will not exceed the max buffer size. */ start?: string; /** @@ -56111,57 +55777,152 @@ export namespace compute_v1 { } /** - * Inserts a rule into a firewall policy. + * Inserts a rule into a firewall policy. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + addRule( + params: Params$Resource$Networkfirewallpolicies$Addrule, + options: StreamMethodOptions + ): GaxiosPromise; + addRule( + params?: Params$Resource$Networkfirewallpolicies$Addrule, + options?: MethodOptions + ): GaxiosPromise; + addRule( + params: Params$Resource$Networkfirewallpolicies$Addrule, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + addRule( + params: Params$Resource$Networkfirewallpolicies$Addrule, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + addRule( + params: Params$Resource$Networkfirewallpolicies$Addrule, + callback: BodyResponseCallback + ): void; + addRule(callback: BodyResponseCallback): void; + addRule( + paramsOrCallback?: + | Params$Resource$Networkfirewallpolicies$Addrule + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Networkfirewallpolicies$Addrule; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Networkfirewallpolicies$Addrule; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/global/firewallPolicies/{firewallPolicy}/addRule' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'firewallPolicy'], + pathParams: ['firewallPolicy', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieves an aggregated list of network firewall policies, listing network firewall policies from all applicable scopes (global and regional) and grouping the results per scope. To prevent failure, Google recommends that you set the `returnPartialSuccess` parameter to `true`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - addRule( - params: Params$Resource$Networkfirewallpolicies$Addrule, + aggregatedList( + params: Params$Resource$Networkfirewallpolicies$Aggregatedlist, options: StreamMethodOptions ): GaxiosPromise; - addRule( - params?: Params$Resource$Networkfirewallpolicies$Addrule, + aggregatedList( + params?: Params$Resource$Networkfirewallpolicies$Aggregatedlist, options?: MethodOptions - ): GaxiosPromise; - addRule( - params: Params$Resource$Networkfirewallpolicies$Addrule, + ): GaxiosPromise; + aggregatedList( + params: Params$Resource$Networkfirewallpolicies$Aggregatedlist, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - addRule( - params: Params$Resource$Networkfirewallpolicies$Addrule, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + aggregatedList( + params: Params$Resource$Networkfirewallpolicies$Aggregatedlist, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - addRule( - params: Params$Resource$Networkfirewallpolicies$Addrule, - callback: BodyResponseCallback + aggregatedList( + params: Params$Resource$Networkfirewallpolicies$Aggregatedlist, + callback: BodyResponseCallback ): void; - addRule(callback: BodyResponseCallback): void; - addRule( + aggregatedList( + callback: BodyResponseCallback + ): void; + aggregatedList( paramsOrCallback?: - | Params$Resource$Networkfirewallpolicies$Addrule - | BodyResponseCallback + | Params$Resource$Networkfirewallpolicies$Aggregatedlist + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Networkfirewallpolicies$Addrule; + {}) as Params$Resource$Networkfirewallpolicies$Aggregatedlist; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Networkfirewallpolicies$Addrule; + params = {} as Params$Resource$Networkfirewallpolicies$Aggregatedlist; options = {}; } @@ -56176,25 +55937,27 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/global/firewallPolicies/{firewallPolicy}/addRule' + '/compute/v1/projects/{project}/aggregated/firewallPolicies' ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['project', 'firewallPolicy'], - pathParams: ['firewallPolicy', 'project'], + requiredParams: ['project'], + pathParams: ['project'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } @@ -57503,6 +57266,41 @@ export namespace compute_v1 { */ requestBody?: Schema$FirewallPolicyRule; } + export interface Params$Resource$Networkfirewallpolicies$Aggregatedlist + extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. + */ + filter?: string; + /** + * Indicates whether every visible scope for each scope type (zone, region, global) should be included in the response. For new resource types added after this field, the flag has no effect as new resource types will always include every visible scope for each scope type in response. For resource types which predate this field, if this flag is omitted or false, only scopes of the scope types where the resource type is expected to be found will be included. + */ + includeAllScopes?: boolean; + /** + * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. + */ + returnPartialSuccess?: boolean; + /** + * The Shared VPC service project id or service project number for which aggregated list request is invoked for subnetworks list-usable api. + */ + serviceProjectNumber?: string; + } export interface Params$Resource$Networkfirewallpolicies$Clonerules extends StandardParameters { /** @@ -57751,6 +57549,234 @@ export namespace compute_v1 { requestBody?: Schema$TestPermissionsRequest; } + export class Resource$Networkprofiles { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Returns the specified network profile. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Networkprofiles$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Networkprofiles$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Networkprofiles$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Networkprofiles$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Networkprofiles$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Networkprofiles$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Networkprofiles$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Networkprofiles$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/global/networkProfiles/{networkProfile}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'networkProfile'], + pathParams: ['networkProfile', 'project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieves a list of network profiles available to the specified project. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Networkprofiles$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Networkprofiles$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Networkprofiles$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Networkprofiles$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Networkprofiles$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Networkprofiles$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Networkprofiles$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Networkprofiles$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/compute/v1/projects/{project}/global/networkProfiles' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project'], + pathParams: ['project'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Networkprofiles$Get + extends StandardParameters { + /** + * Name of the network profile to return. + */ + networkProfile?: string; + /** + * Project ID for this request. + */ + project?: string; + } + export interface Params$Resource$Networkprofiles$List + extends StandardParameters { + /** + * A filter expression that filters resources listed in the response. Most Compute resources support two types of filter expressions: expressions that support regular expressions and expressions that follow API improvement proposal AIP-160. These two types of filter expressions cannot be mixed in one request. If you want to use AIP-160, your expression must specify the field name, an operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The operator must be either `=`, `!=`, `\>`, `<`, `<=`, `\>=` or `:`. For example, if you are filtering Compute Engine instances, you can exclude instances named `example-instance` by specifying `name != example-instance`. The `:*` comparison can be used to test whether a key has been defined. For example, to find all objects with `owner` label use: ``` labels.owner:* ``` You can also filter nested fields. For example, you could specify `scheduling.automaticRestart = false` to include instances only if they are not scheduled for automatic restarts. You can use filtering on nested fields to filter based on resource labels. To filter on multiple expressions, provide each separate expression within parentheses. For example: ``` (scheduling.automaticRestart = true) (cpuPlatform = "Intel Skylake") ``` By default, each expression is an `AND` expression. However, you can include `AND` and `OR` expressions explicitly. For example: ``` (cpuPlatform = "Intel Skylake") OR (cpuPlatform = "Intel Broadwell") AND (scheduling.automaticRestart = true) ``` If you want to use a regular expression, use the `eq` (equal) or `ne` (not equal) operator against a single un-parenthesized expression with or without quotes or against multiple parenthesized expressions. Examples: `fieldname eq unquoted literal` `fieldname eq 'single quoted literal'` `fieldname eq "double quoted literal"` `(fieldname1 eq literal) (fieldname2 ne "literal")` The literal value is interpreted as a regular expression using Google RE2 library syntax. The literal value must match the entire field. For example, to filter for instances that do not end with name "instance", you would use `name ne .*instance`. You cannot combine constraints on multiple fields using regular expressions. + */ + filter?: string; + /** + * The maximum number of results per page that should be returned. If the number of available results is larger than `maxResults`, Compute Engine returns a `nextPageToken` that can be used to get the next page of results in subsequent list requests. Acceptable values are `0` to `500`, inclusive. (Default: `500`) + */ + maxResults?: number; + /** + * Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name. You can also sort results in descending order based on the creation timestamp using `orderBy="creationTimestamp desc"`. This sorts results based on the `creationTimestamp` field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first. Currently, only sorting by `name` or `creationTimestamp desc` is supported. + */ + orderBy?: string; + /** + * Specifies a page token to use. Set `pageToken` to the `nextPageToken` returned by a previous list request to get the next page of results. + */ + pageToken?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Opt-in for partial success behavior which provides partial results in case of failure. The default value is false. For example, when partial success behavior is enabled, aggregatedList for a single zone scope either returns all resources in the zone or no resources, with an error code. + */ + returnPartialSuccess?: boolean; + } + export class Resource$Networks { context: APIRequestContext; constructor(context: APIRequestContext) { @@ -73121,39 +73147,394 @@ export namespace compute_v1 { } /** - * Flags the specified VM instances in the managed instance group to be immediately recreated. Each instance is recreated using the group's current configuration. This operation is marked as DONE when the flag is set even if the instances have not yet been recreated. You must separately verify the status of each instance by checking its currentAction field; for more information, see Checking the status of managed instances. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request. + * Flags the specified VM instances in the managed instance group to be immediately recreated. Each instance is recreated using the group's current configuration. This operation is marked as DONE when the flag is set even if the instances have not yet been recreated. You must separately verify the status of each instance by checking its currentAction field; for more information, see Checking the status of managed instances. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. You can specify a maximum of 1000 instances with this method per request. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + recreateInstances( + params: Params$Resource$Regioninstancegroupmanagers$Recreateinstances, + options: StreamMethodOptions + ): GaxiosPromise; + recreateInstances( + params?: Params$Resource$Regioninstancegroupmanagers$Recreateinstances, + options?: MethodOptions + ): GaxiosPromise; + recreateInstances( + params: Params$Resource$Regioninstancegroupmanagers$Recreateinstances, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + recreateInstances( + params: Params$Resource$Regioninstancegroupmanagers$Recreateinstances, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + recreateInstances( + params: Params$Resource$Regioninstancegroupmanagers$Recreateinstances, + callback: BodyResponseCallback + ): void; + recreateInstances(callback: BodyResponseCallback): void; + recreateInstances( + paramsOrCallback?: + | Params$Resource$Regioninstancegroupmanagers$Recreateinstances + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Regioninstancegroupmanagers$Recreateinstances; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Regioninstancegroupmanagers$Recreateinstances; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/recreateInstances' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Changes the intended size of the managed instance group. If you increase the size, the group creates new instances using the current instance template. If you decrease the size, the group deletes one or more instances. The resize operation is marked DONE if the resize request is successful. The underlying actions take additional time. You must separately verify the status of the creating or deleting actions with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + resize( + params: Params$Resource$Regioninstancegroupmanagers$Resize, + options: StreamMethodOptions + ): GaxiosPromise; + resize( + params?: Params$Resource$Regioninstancegroupmanagers$Resize, + options?: MethodOptions + ): GaxiosPromise; + resize( + params: Params$Resource$Regioninstancegroupmanagers$Resize, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + resize( + params: Params$Resource$Regioninstancegroupmanagers$Resize, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + resize( + params: Params$Resource$Regioninstancegroupmanagers$Resize, + callback: BodyResponseCallback + ): void; + resize(callback: BodyResponseCallback): void; + resize( + paramsOrCallback?: + | Params$Resource$Regioninstancegroupmanagers$Resize + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Regioninstancegroupmanagers$Resize; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regioninstancegroupmanagers$Resize; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resize' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region', 'instanceGroupManager', 'size'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Flags the specified instances in the managed instance group to be resumed. This method increases the targetSize and decreases the targetSuspendedSize of the managed instance group by the number of instances that you resume. The resumeInstances operation is marked DONE if the resumeInstances request is successful. The underlying actions take additional time. You must separately verify the status of the RESUMING action with the listmanagedinstances method. In this request, you can only specify instances that are suspended. For example, if an instance was previously suspended using the suspendInstances method, it can be resumed using the resumeInstances method. If a health check is attached to the managed instance group, the specified instances will be verified as healthy after they are resumed. You can specify a maximum of 1000 instances with this method per request. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + resumeInstances( + params: Params$Resource$Regioninstancegroupmanagers$Resumeinstances, + options: StreamMethodOptions + ): GaxiosPromise; + resumeInstances( + params?: Params$Resource$Regioninstancegroupmanagers$Resumeinstances, + options?: MethodOptions + ): GaxiosPromise; + resumeInstances( + params: Params$Resource$Regioninstancegroupmanagers$Resumeinstances, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + resumeInstances( + params: Params$Resource$Regioninstancegroupmanagers$Resumeinstances, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + resumeInstances( + params: Params$Resource$Regioninstancegroupmanagers$Resumeinstances, + callback: BodyResponseCallback + ): void; + resumeInstances(callback: BodyResponseCallback): void; + resumeInstances( + paramsOrCallback?: + | Params$Resource$Regioninstancegroupmanagers$Resumeinstances + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Regioninstancegroupmanagers$Resumeinstances; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Regioninstancegroupmanagers$Resumeinstances; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resumeInstances' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Sets the instance template to use when creating new instances or recreating instances in this group. Existing instances are not affected. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setInstanceTemplate( + params: Params$Resource$Regioninstancegroupmanagers$Setinstancetemplate, + options: StreamMethodOptions + ): GaxiosPromise; + setInstanceTemplate( + params?: Params$Resource$Regioninstancegroupmanagers$Setinstancetemplate, + options?: MethodOptions + ): GaxiosPromise; + setInstanceTemplate( + params: Params$Resource$Regioninstancegroupmanagers$Setinstancetemplate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setInstanceTemplate( + params: Params$Resource$Regioninstancegroupmanagers$Setinstancetemplate, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setInstanceTemplate( + params: Params$Resource$Regioninstancegroupmanagers$Setinstancetemplate, + callback: BodyResponseCallback + ): void; + setInstanceTemplate(callback: BodyResponseCallback): void; + setInstanceTemplate( + paramsOrCallback?: + | Params$Resource$Regioninstancegroupmanagers$Setinstancetemplate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Regioninstancegroupmanagers$Setinstancetemplate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Regioninstancegroupmanagers$Setinstancetemplate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region', 'instanceGroupManager'], + pathParams: ['instanceGroupManager', 'project', 'region'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Modifies the target pools to which all new instances in this group are assigned. Existing instances in the group are not affected. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - recreateInstances( - params: Params$Resource$Regioninstancegroupmanagers$Recreateinstances, + setTargetPools( + params: Params$Resource$Regioninstancegroupmanagers$Settargetpools, options: StreamMethodOptions ): GaxiosPromise; - recreateInstances( - params?: Params$Resource$Regioninstancegroupmanagers$Recreateinstances, + setTargetPools( + params?: Params$Resource$Regioninstancegroupmanagers$Settargetpools, options?: MethodOptions ): GaxiosPromise; - recreateInstances( - params: Params$Resource$Regioninstancegroupmanagers$Recreateinstances, + setTargetPools( + params: Params$Resource$Regioninstancegroupmanagers$Settargetpools, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - recreateInstances( - params: Params$Resource$Regioninstancegroupmanagers$Recreateinstances, + setTargetPools( + params: Params$Resource$Regioninstancegroupmanagers$Settargetpools, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - recreateInstances( - params: Params$Resource$Regioninstancegroupmanagers$Recreateinstances, + setTargetPools( + params: Params$Resource$Regioninstancegroupmanagers$Settargetpools, callback: BodyResponseCallback ): void; - recreateInstances(callback: BodyResponseCallback): void; - recreateInstances( + setTargetPools(callback: BodyResponseCallback): void; + setTargetPools( paramsOrCallback?: - | Params$Resource$Regioninstancegroupmanagers$Recreateinstances + | Params$Resource$Regioninstancegroupmanagers$Settargetpools | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -73166,13 +73547,13 @@ export namespace compute_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Regioninstancegroupmanagers$Recreateinstances; + {}) as Params$Resource$Regioninstancegroupmanagers$Settargetpools; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Regioninstancegroupmanagers$Recreateinstances; + {} as Params$Resource$Regioninstancegroupmanagers$Settargetpools; options = {}; } @@ -73187,7 +73568,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/recreateInstances' + '/compute/v1/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setTargetPools' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -73210,39 +73591,39 @@ export namespace compute_v1 { } /** - * Changes the intended size of the managed instance group. If you increase the size, the group creates new instances using the current instance template. If you decrease the size, the group deletes one or more instances. The resize operation is marked DONE if the resize request is successful. The underlying actions take additional time. You must separately verify the status of the creating or deleting actions with the listmanagedinstances method. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is removed or deleted. + * Flags the specified instances in the managed instance group to be started. This method increases the targetSize and decreases the targetStoppedSize of the managed instance group by the number of instances that you start. The startInstances operation is marked DONE if the startInstances request is successful. The underlying actions take additional time. You must separately verify the status of the STARTING action with the listmanagedinstances method. In this request, you can only specify instances that are stopped. For example, if an instance was previously stopped using the stopInstances method, it can be started using the startInstances method. If a health check is attached to the managed instance group, the specified instances will be verified as healthy after they are started. You can specify a maximum of 1000 instances with this method per request. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - resize( - params: Params$Resource$Regioninstancegroupmanagers$Resize, + startInstances( + params: Params$Resource$Regioninstancegroupmanagers$Startinstances, options: StreamMethodOptions ): GaxiosPromise; - resize( - params?: Params$Resource$Regioninstancegroupmanagers$Resize, + startInstances( + params?: Params$Resource$Regioninstancegroupmanagers$Startinstances, options?: MethodOptions ): GaxiosPromise; - resize( - params: Params$Resource$Regioninstancegroupmanagers$Resize, + startInstances( + params: Params$Resource$Regioninstancegroupmanagers$Startinstances, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - resize( - params: Params$Resource$Regioninstancegroupmanagers$Resize, + startInstances( + params: Params$Resource$Regioninstancegroupmanagers$Startinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - resize( - params: Params$Resource$Regioninstancegroupmanagers$Resize, + startInstances( + params: Params$Resource$Regioninstancegroupmanagers$Startinstances, callback: BodyResponseCallback ): void; - resize(callback: BodyResponseCallback): void; - resize( + startInstances(callback: BodyResponseCallback): void; + startInstances( paramsOrCallback?: - | Params$Resource$Regioninstancegroupmanagers$Resize + | Params$Resource$Regioninstancegroupmanagers$Startinstances | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -73255,12 +73636,13 @@ export namespace compute_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Regioninstancegroupmanagers$Resize; + {}) as Params$Resource$Regioninstancegroupmanagers$Startinstances; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Regioninstancegroupmanagers$Resize; + params = + {} as Params$Resource$Regioninstancegroupmanagers$Startinstances; options = {}; } @@ -73275,7 +73657,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/resize' + '/compute/v1/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/startInstances' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -73283,7 +73665,7 @@ export namespace compute_v1 { options ), params, - requiredParams: ['project', 'region', 'instanceGroupManager', 'size'], + requiredParams: ['project', 'region', 'instanceGroupManager'], pathParams: ['instanceGroupManager', 'project', 'region'], context: this.context, }; @@ -73298,39 +73680,39 @@ export namespace compute_v1 { } /** - * Sets the instance template to use when creating new instances or recreating instances in this group. Existing instances are not affected. + * Flags the specified instances in the managed instance group to be immediately stopped. You can only specify instances that are running in this request. This method reduces the targetSize and increases the targetStoppedSize of the managed instance group by the number of instances that you stop. The stopInstances operation is marked DONE if the stopInstances request is successful. The underlying actions take additional time. You must separately verify the status of the STOPPING action with the listmanagedinstances method. If the standbyPolicy.initialDelaySec field is set, the group delays stopping the instances until initialDelaySec have passed from instance.creationTimestamp (that is, when the instance was created). This delay gives your application time to set itself up and initialize on the instance. If more than initialDelaySec seconds have passed since instance.creationTimestamp when this method is called, there will be zero delay. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is stopped. Stopped instances can be started using the startInstances method. You can specify a maximum of 1000 instances with this method per request. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setInstanceTemplate( - params: Params$Resource$Regioninstancegroupmanagers$Setinstancetemplate, + stopInstances( + params: Params$Resource$Regioninstancegroupmanagers$Stopinstances, options: StreamMethodOptions ): GaxiosPromise; - setInstanceTemplate( - params?: Params$Resource$Regioninstancegroupmanagers$Setinstancetemplate, + stopInstances( + params?: Params$Resource$Regioninstancegroupmanagers$Stopinstances, options?: MethodOptions ): GaxiosPromise; - setInstanceTemplate( - params: Params$Resource$Regioninstancegroupmanagers$Setinstancetemplate, + stopInstances( + params: Params$Resource$Regioninstancegroupmanagers$Stopinstances, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setInstanceTemplate( - params: Params$Resource$Regioninstancegroupmanagers$Setinstancetemplate, + stopInstances( + params: Params$Resource$Regioninstancegroupmanagers$Stopinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setInstanceTemplate( - params: Params$Resource$Regioninstancegroupmanagers$Setinstancetemplate, + stopInstances( + params: Params$Resource$Regioninstancegroupmanagers$Stopinstances, callback: BodyResponseCallback ): void; - setInstanceTemplate(callback: BodyResponseCallback): void; - setInstanceTemplate( + stopInstances(callback: BodyResponseCallback): void; + stopInstances( paramsOrCallback?: - | Params$Resource$Regioninstancegroupmanagers$Setinstancetemplate + | Params$Resource$Regioninstancegroupmanagers$Stopinstances | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -73343,13 +73725,13 @@ export namespace compute_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Regioninstancegroupmanagers$Setinstancetemplate; + {}) as Params$Resource$Regioninstancegroupmanagers$Stopinstances; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Regioninstancegroupmanagers$Setinstancetemplate; + {} as Params$Resource$Regioninstancegroupmanagers$Stopinstances; options = {}; } @@ -73364,7 +73746,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setInstanceTemplate' + '/compute/v1/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/stopInstances' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -73387,39 +73769,39 @@ export namespace compute_v1 { } /** - * Modifies the target pools to which all new instances in this group are assigned. Existing instances in the group are not affected. + * Flags the specified instances in the managed instance group to be immediately suspended. You can only specify instances that are running in this request. This method reduces the targetSize and increases the targetSuspendedSize of the managed instance group by the number of instances that you suspend. The suspendInstances operation is marked DONE if the suspendInstances request is successful. The underlying actions take additional time. You must separately verify the status of the SUSPENDING action with the listmanagedinstances method. If the standbyPolicy.initialDelaySec field is set, the group delays suspension of the instances until initialDelaySec have passed from instance.creationTimestamp (that is, when the instance was created). This delay gives your application time to set itself up and initialize on the instance. If more than initialDelaySec seconds have passed since instance.creationTimestamp when this method is called, there will be zero delay. If the group is part of a backend service that has enabled connection draining, it can take up to 60 seconds after the connection draining duration has elapsed before the VM instance is suspended. Suspended instances can be resumed using the resumeInstances method. You can specify a maximum of 1000 instances with this method per request. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setTargetPools( - params: Params$Resource$Regioninstancegroupmanagers$Settargetpools, + suspendInstances( + params: Params$Resource$Regioninstancegroupmanagers$Suspendinstances, options: StreamMethodOptions ): GaxiosPromise; - setTargetPools( - params?: Params$Resource$Regioninstancegroupmanagers$Settargetpools, + suspendInstances( + params?: Params$Resource$Regioninstancegroupmanagers$Suspendinstances, options?: MethodOptions ): GaxiosPromise; - setTargetPools( - params: Params$Resource$Regioninstancegroupmanagers$Settargetpools, + suspendInstances( + params: Params$Resource$Regioninstancegroupmanagers$Suspendinstances, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setTargetPools( - params: Params$Resource$Regioninstancegroupmanagers$Settargetpools, + suspendInstances( + params: Params$Resource$Regioninstancegroupmanagers$Suspendinstances, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setTargetPools( - params: Params$Resource$Regioninstancegroupmanagers$Settargetpools, + suspendInstances( + params: Params$Resource$Regioninstancegroupmanagers$Suspendinstances, callback: BodyResponseCallback ): void; - setTargetPools(callback: BodyResponseCallback): void; - setTargetPools( + suspendInstances(callback: BodyResponseCallback): void; + suspendInstances( paramsOrCallback?: - | Params$Resource$Regioninstancegroupmanagers$Settargetpools + | Params$Resource$Regioninstancegroupmanagers$Suspendinstances | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -73432,13 +73814,13 @@ export namespace compute_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Regioninstancegroupmanagers$Settargetpools; + {}) as Params$Resource$Regioninstancegroupmanagers$Suspendinstances; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Regioninstancegroupmanagers$Settargetpools; + {} as Params$Resource$Regioninstancegroupmanagers$Suspendinstances; options = {}; } @@ -73453,7 +73835,7 @@ export namespace compute_v1 { { url: ( rootUrl + - '/compute/v1/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/setTargetPools' + '/compute/v1/projects/{project}/regions/{region}/instanceGroupManagers/{instanceGroupManager}/suspendInstances' ).replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', @@ -73964,6 +74346,30 @@ export namespace compute_v1 { */ size?: number; } + export interface Params$Resource$Regioninstancegroupmanagers$Resumeinstances + extends StandardParameters { + /** + * Name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupManagersResumeInstancesRequest; + } export interface Params$Resource$Regioninstancegroupmanagers$Setinstancetemplate extends StandardParameters { /** @@ -74012,6 +74418,78 @@ export namespace compute_v1 { */ requestBody?: Schema$RegionInstanceGroupManagersSetTargetPoolsRequest; } + export interface Params$Resource$Regioninstancegroupmanagers$Startinstances + extends StandardParameters { + /** + * Name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupManagersStartInstancesRequest; + } + export interface Params$Resource$Regioninstancegroupmanagers$Stopinstances + extends StandardParameters { + /** + * The name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupManagersStopInstancesRequest; + } + export interface Params$Resource$Regioninstancegroupmanagers$Suspendinstances + extends StandardParameters { + /** + * Name of the managed instance group. + */ + instanceGroupManager?: string; + /** + * Project ID for this request. + */ + project?: string; + /** + * Name of the region scoping this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RegionInstanceGroupManagersSuspendInstancesRequest; + } export interface Params$Resource$Regioninstancegroupmanagers$Updateperinstanceconfigs extends StandardParameters { /** @@ -80623,6 +81101,94 @@ export namespace compute_v1 { return createAPIRequest(parameters); } } + + /** + * Sets the labels on a security policy. To learn more about labels, read the Labeling Resources documentation. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setLabels( + params: Params$Resource$Regionsecuritypolicies$Setlabels, + options: StreamMethodOptions + ): GaxiosPromise; + setLabels( + params?: Params$Resource$Regionsecuritypolicies$Setlabels, + options?: MethodOptions + ): GaxiosPromise; + setLabels( + params: Params$Resource$Regionsecuritypolicies$Setlabels, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setLabels( + params: Params$Resource$Regionsecuritypolicies$Setlabels, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setLabels( + params: Params$Resource$Regionsecuritypolicies$Setlabels, + callback: BodyResponseCallback + ): void; + setLabels(callback: BodyResponseCallback): void; + setLabels( + paramsOrCallback?: + | Params$Resource$Regionsecuritypolicies$Setlabels + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Regionsecuritypolicies$Setlabels; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Regionsecuritypolicies$Setlabels; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://compute.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/compute/v1/projects/{project}/regions/{region}/securityPolicies/{resource}/setLabels' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['project', 'region', 'resource'], + pathParams: ['project', 'region', 'resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } export interface Params$Resource$Regionsecuritypolicies$Addrule @@ -80836,6 +81402,30 @@ export namespace compute_v1 { */ securityPolicy?: string; } + export interface Params$Resource$Regionsecuritypolicies$Setlabels + extends StandardParameters { + /** + * Project ID for this request. + */ + project?: string; + /** + * The region for this request. + */ + region?: string; + /** + * An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported ( 00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Name or id of the resource for this request. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RegionSetLabelsRequest; + } export class Resource$Regionsslcertificates { context: APIRequestContext; diff --git a/src/apis/config/v1.ts b/src/apis/config/v1.ts index 9575d30889..5e7816ba23 100644 --- a/src/apis/config/v1.ts +++ b/src/apis/config/v1.ts @@ -258,7 +258,7 @@ export namespace config_v1 { */ quotaValidation?: string | null; /** - * Optional. User-specified Service Account (SA) credentials to be used when actuating resources. Format: `projects/{projectID\}/serviceAccounts/{serviceAccount\}` + * Required. User-specified Service Account (SA) credentials to be used when actuating resources. Format: `projects/{projectID\}/serviceAccounts/{serviceAccount\}` */ serviceAccount?: string | null; /** @@ -441,7 +441,7 @@ export namespace config_v1 { */ nextPageToken?: string | null; /** - * List of Previewss. + * List of Previews. */ previews?: Schema$Preview[]; /** @@ -458,7 +458,7 @@ export namespace config_v1 { */ nextPageToken?: string | null; /** - * List of Resourcess. + * List of Resources. */ resources?: Schema$Resource[]; /** @@ -608,7 +608,7 @@ export namespace config_v1 { */ previewMetadata?: Schema$PreviewOperationMetadata; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -702,7 +702,7 @@ export namespace config_v1 { */ previewMode?: string | null; /** - * Optional. User-specified Service Account (SA) credentials to be used when previewing resources. Format: `projects/{projectID\}/serviceAccounts/{serviceAccount\}` + * Required. User-specified Service Account (SA) credentials to be used when previewing resources. Format: `projects/{projectID\}/serviceAccounts/{serviceAccount\}` */ serviceAccount?: string | null; /** @@ -965,7 +965,7 @@ export namespace config_v1 { */ gitSource?: Schema$GitSource; /** - * Input variable values for the Terraform blueprint. + * Optional. Input variable values for the Terraform blueprint. */ inputValues?: {[key: string]: Schema$TerraformVariable} | null; } @@ -974,7 +974,7 @@ export namespace config_v1 { */ export interface Schema$TerraformError { /** - * Original error response from underlying Google API, if available. + * Output only. Original error response from underlying Google API, if available. */ error?: Schema$Status; /** @@ -1008,7 +1008,7 @@ export namespace config_v1 { */ export interface Schema$TerraformVariable { /** - * Input variable value. + * Optional. Input variable value. */ inputValue?: any | null; } @@ -3287,7 +3287,7 @@ export namespace config_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/connectors/v1.ts b/src/apis/connectors/v1.ts index 9d3a53001f..fe097a4bfd 100644 --- a/src/apis/connectors/v1.ts +++ b/src/apis/connectors/v1.ts @@ -275,7 +275,7 @@ export namespace connectors_v1 { */ export interface Schema$AuthorizationCodeLink { /** - * The client ID assigned to the Google Cloud Connectors OAuth app for the connector data source. + * Optional. The client ID assigned to the Google Cloud Connectors OAuth app for the connector data source. */ clientId?: string | null; /** @@ -283,7 +283,7 @@ export namespace connectors_v1 { */ clientSecret?: Schema$Secret; /** - * Whether to enable PKCE for the auth code flow. + * Optional. Whether to enable PKCE for the auth code flow. */ enablePkce?: boolean | null; /** @@ -291,11 +291,11 @@ export namespace connectors_v1 { */ omitQueryParams?: boolean | null; /** - * The scopes for which the user will authorize Google Cloud Connectors on the connector data source. + * Optional. The scopes for which the user will authorize Google Cloud Connectors on the connector data source. */ scopes?: string[] | null; /** - * The base URI the user must click to trigger the authorization code login flow. + * Optional. The base URI the user must click to trigger the authorization code login flow. */ uri?: string | null; } @@ -405,19 +405,19 @@ export namespace connectors_v1 { */ export interface Schema$ConfigVariableTemplate { /** - * Authorization code link options. To be populated if `ValueType` is `AUTHORIZATION_CODE` + * Optional. Authorization code link options. To be populated if `ValueType` is `AUTHORIZATION_CODE` */ authorizationCodeLink?: Schema$AuthorizationCodeLink; /** - * Description. + * Optional. Description. */ description?: string | null; /** - * Display name of the parameter. + * Optional. Display name of the parameter. */ displayName?: string | null; /** - * Enum options. To be populated if `ValueType` is `ENUM` + * Optional. Enum options. To be populated if `ValueType` is `ENUM` */ enumOptions?: Schema$EnumOption[]; /** @@ -425,11 +425,11 @@ export namespace connectors_v1 { */ enumSource?: string | null; /** - * Indicates if current template is part of advanced settings + * Optional. Indicates if current template is part of advanced settings */ isAdvanced?: boolean | null; /** - * Key of the config variable. + * Optional. Key of the config variable. */ key?: string | null; /** @@ -441,27 +441,27 @@ export namespace connectors_v1 { */ multipleSelectConfig?: Schema$MultipleSelectConfig; /** - * Flag represents that this `ConfigVariable` must be provided for a connection. + * Optional. Flag represents that this `ConfigVariable` must be provided for a connection. */ required?: boolean | null; /** - * Condition under which a field would be required. The condition can be represented in the form of a logical expression. + * Optional. Condition under which a field would be required. The condition can be represented in the form of a logical expression. */ requiredCondition?: Schema$LogicalExpression; /** - * Role grant configuration for the config variable. + * Optional. Role grant configuration for the config variable. */ roleGrant?: Schema$RoleGrant; /** - * State of the config variable. + * Output only. State of the config variable. */ state?: string | null; /** - * Regular expression in RE2 syntax used for validating the `value` of a `ConfigVariable`. + * Optional. Regular expression in RE2 syntax used for validating the `value` of a `ConfigVariable`. */ validationRegex?: string | null; /** - * Type of the parameter: string, int, bool etc. consider custom type for the benefit for the validation. + * Optional. Type of the parameter: string, int, bool etc. consider custom type for the benefit for the validation. */ valueType?: string | null; } @@ -692,6 +692,10 @@ export namespace connectors_v1 { * Output only. Flag to mark the version indicating the launch stage. */ launchStage?: string | null; + /** + * Output only. Marketplace connector details. Will be null if the connector is not marketplace connector. + */ + marketplaceConnectorDetails?: Schema$MarketplaceConnectorDetails; /** * Output only. Resource name of the Connector. Format: projects/{project\}/locations/{location\}/providers/{provider\}/connectors/{connector\} Only global location is supported for Connector resource. */ @@ -721,6 +725,10 @@ export namespace connectors_v1 { * The window used for ratelimiting runtime requests to connections. */ connectionRatelimitWindowSeconds?: string | null; + /** + * Indicate whether connector versioning is enabled. + */ + connectorVersioningEnabled?: boolean | null; /** * Indicate whether connector is deployed on GKE/CloudRun */ @@ -893,7 +901,7 @@ export namespace connectors_v1 { */ connectionRatelimitWindowSeconds?: string | null; /** - * Optional. Indicates whether connector is deployed on GKE/CloudRun + * Output only. Indicates whether connector is deployed on GKE/CloudRun */ deploymentModel?: string | null; /** @@ -945,6 +953,10 @@ export namespace connectors_v1 { * Output only. All connector versions. */ allConnectorVersions?: string[] | null; + /** + * Output only. All marketplace versions. + */ + allMarketplaceVersions?: string[] | null; /** * Output only. Created time. */ @@ -973,6 +985,10 @@ export namespace connectors_v1 { * Identifier. Resource name of the CustomConnector. Format: projects/{project\}/locations/{location\}/customConnectors/{connector\} */ name?: string | null; + /** + * Output only. Published marketplace versions. + */ + publishedMarketplaceVersions?: string[] | null; /** * Output only. Updated time. */ @@ -1010,6 +1026,14 @@ export namespace connectors_v1 { * Output only. Identifier. Resource name of the Version. Format: projects/{project\}/locations/{location\}/customConnectors/{custom_connector\}/customConnectorVersions/{custom_connector_version\} */ name?: string | null; + /** + * Optional. Partner metadata details. This should be populated only when publishing the custom connector to partner connector. + */ + partnerMetadata?: Schema$PartnerMetadata; + /** + * Output only. Publish status of a custom connector. + */ + publishStatus?: Schema$PublishStatus; /** * Optional. Service account used by runtime plane to access auth config secrets. */ @@ -1269,11 +1293,11 @@ export namespace connectors_v1 { */ export interface Schema$EnumOption { /** - * Display name of the option. + * Optional. Display name of the option. */ displayName?: string | null; /** - * Id of the option. + * Optional. Id of the option. */ id?: string | null; } @@ -1282,11 +1306,11 @@ export namespace connectors_v1 { */ export interface Schema$EventingConfig { /** - * Additional eventing related field values + * Optional. Additional eventing related field values */ additionalVariables?: Schema$ConfigVariable[]; /** - * Auth details for the webhook adapter. + * Optional. Auth details for the webhook adapter. */ authConfig?: Schema$AuthConfig; /** @@ -1294,7 +1318,7 @@ export namespace connectors_v1 { */ deadLetterConfig?: Schema$DeadLetterConfig; /** - * Enrichment Enabled. + * Optional. Enrichment Enabled. */ enrichmentEnabled?: boolean | null; /** @@ -1314,7 +1338,7 @@ export namespace connectors_v1 { */ proxyDestinationConfig?: Schema$DestinationConfig; /** - * Registration endpoint for auto registration. + * Optional. Registration endpoint for auto registration. */ registrationDestinationConfig?: Schema$DestinationConfig; } @@ -1428,6 +1452,10 @@ export namespace connectors_v1 { * Output only. Webhook data. */ webhookData?: Schema$WebhookData; + /** + * Output only. Webhook subscriptions. + */ + webhookSubscriptions?: Schema$WebhookSubscriptions; } /** * EventingStatus indicates the state of eventing. @@ -1660,7 +1688,7 @@ export namespace connectors_v1 { */ boolValue?: boolean | null; /** - * Comparator to use for comparing the field value. + * Optional. Comparator to use for comparing the field value. */ comparator?: string | null; /** @@ -1668,7 +1696,7 @@ export namespace connectors_v1 { */ intValue?: string | null; /** - * Key of the field. + * Optional. Key of the field. */ key?: string | null; /** @@ -2186,15 +2214,15 @@ export namespace connectors_v1 { */ export interface Schema$LogicalExpression { /** - * A list of fields to be compared. + * Optional. A list of fields to be compared. */ fieldComparisons?: Schema$FieldComparison[]; /** - * A list of nested conditions to be compared. + * Optional. A list of nested conditions to be compared. */ logicalExpressions?: Schema$LogicalExpression[]; /** - * The logical operator to use between the fields and conditions. + * Optional. The logical operator to use between the fields and conditions. */ logicalOperator?: string | null; } @@ -2323,6 +2351,27 @@ export namespace connectors_v1 { */ updateTime?: string | null; } + /** + * Marketplace connector details. + */ + export interface Schema$MarketplaceConnectorDetails { + /** + * Marketplace product name. + */ + marketplaceProduct?: string | null; + /** + * Marketplace product ID. + */ + marketplaceProductId?: string | null; + /** + * Marketplace product URL. + */ + marketplaceProductUri?: string | null; + /** + * The name of the partner. + */ + partner?: string | null; + } /** * MultipleSelectConfig represents the multiple options for a config variable. */ @@ -2551,6 +2600,71 @@ export namespace connectors_v1 { */ verb?: string | null; } + /** + * Partner metadata details. This will be populated when publishing the custom connector as a partner connector version. On publishing, parntner connector version will be created using the fields in PartnerMetadata. + */ + export interface Schema$PartnerMetadata { + /** + * Required. Whether the user has accepted the Google Cloud Platform Terms of Service (https://cloud.google.com/terms/) and the Google Cloud Marketplace Terms of Service (https://cloud.google.com/terms/marketplace/launcher?hl=en). + */ + acceptGcpTos?: boolean | null; + /** + * Optional. Additional comments for the submission. + */ + additionalComments?: string | null; + /** + * Required. Confirmation that connector meets all applicable requirements mentioned in the Partner Connector Publishing requirements list and Partner onboardiong requirements list (https://cloud.google.com/marketplace/docs/partners/get-started#requirements). + */ + confirmPartnerRequirements?: boolean | null; + /** + * Required. Public URL for the demo video. + */ + demoUri?: string | null; + /** + * Required. Integration example templates for the custom connector. + */ + integrationTemplates?: string | null; + /** + * Optional. Marketplace product name. + */ + marketplaceProduct?: string | null; + /** + * Required. Marketplace product ID. + */ + marketplaceProductId?: string | null; + /** + * Optional. Marketplace product project ID. + */ + marketplaceProductProjectId?: string | null; + /** + * Optional. Marketplace product URL. + */ + marketplaceProductUri?: string | null; + /** + * Required. Partner name. + */ + partner?: string | null; + /** + * Required. Partner connector display name. + */ + partnerConnectorDisplayName?: string | null; + /** + * Output only. Publish request time. + */ + publishRequestTime?: string | null; + /** + * Required. Target application for which partner connector is built. + */ + targetApplication?: string | null; + /** + * Required. Target customer segment for the partner connector. + */ + targetCustomerSegment?: string | null; + /** + * Required. Details about partner connector use cases. + */ + useCases?: string | null; + } /** * PerSliSloEligibility is a mapping from an SLI name to eligibility. */ @@ -2639,6 +2753,36 @@ export namespace connectors_v1 { */ resourceUrl?: string | null; } + /** + * Request message for ConnectorsService.PublishCustomConnectorVersion + */ + export interface Schema$PublishCustomConnectorVersionRequest { + /** + * Required. Partner metadata details for validating and publishing the custom connector as a partner connector version. + */ + partnerMetadata?: Schema$PartnerMetadata; + } + /** + * Publish status of a custom connector. + */ + export interface Schema$PublishStatus { + /** + * Output only. Partner connector name. Will be set on the custom connector. Format: providers/partner/connectors//versions/ + */ + publishedAs?: string | null; + /** + * Output only. Custom connector name. Will be set on the partner connector. Format: providers/customconnectors/connectors//versions/ + */ + publishedSource?: string | null; + /** + * Output only. Publish state of the custom connector. + */ + publishState?: string | null; + /** + * Output only. Publish time. + */ + publishTime?: string | null; + } /** * Request message for ConnectorsService.RefreshConnectionSchemaMetadata. */ @@ -2673,11 +2817,11 @@ export namespace connectors_v1 { */ export interface Schema$Resource { /** - * Template to uniquely represent a Google Cloud resource in a format IAM expects This is a template that can have references to other values provided in the config variable template. + * Optional. Template to uniquely represent a Google Cloud resource in a format IAM expects This is a template that can have references to other values provided in the config variable template. */ pathTemplate?: string | null; /** - * Different types of resource supported. + * Optional. Different types of resource supported. */ type?: string | null; } @@ -2745,19 +2889,19 @@ export namespace connectors_v1 { */ export interface Schema$RoleGrant { /** - * Template that UI can use to provide helper text to customers. + * Optional. Template that UI can use to provide helper text to customers. */ helperTextTemplate?: string | null; /** - * Prinicipal/Identity for whom the role need to assigned. + * Optional. Prinicipal/Identity for whom the role need to assigned. */ principal?: string | null; /** - * Resource on which the roles needs to be granted for the principal. + * Optional. Resource on which the roles needs to be granted for the principal. */ resource?: Schema$Resource; /** - * List of roles that need to be granted. + * Optional. List of roles that need to be granted. */ roles?: string[] | null; } @@ -2785,6 +2929,10 @@ export namespace connectors_v1 { * Output only. List of input parameter metadata for the action. */ inputParameters?: Schema$InputParameter[]; + /** + * Output only. Input schema as string. + */ + inputSchemaAsString?: string | null; /** * Output only. JsonSchema representation of this action's result metadata */ @@ -2793,6 +2941,10 @@ export namespace connectors_v1 { * Output only. List of result field metadata. */ resultMetadata?: Schema$ResultMetadata[]; + /** + * Output only. Result schema as string. + */ + resultSchemaAsString?: string | null; } /** * RuntimeConfig is the singleton resource of each location. It includes generic resource configs consumed by control plane and runtime plane like: pub/sub topic/subscription resource name, Cloud Storage location storing schema etc. @@ -3036,43 +3188,43 @@ export namespace connectors_v1 { */ export interface Schema$SslConfig { /** - * Additional SSL related field values + * Optional. Additional SSL related field values */ additionalVariables?: Schema$ConfigVariable[]; /** - * Client Certificate + * Optional. Client Certificate */ clientCertificate?: Schema$Secret; /** - * Type of Client Cert (PEM/JKS/.. etc.) + * Optional. Type of Client Cert (PEM/JKS/.. etc.) */ clientCertType?: string | null; /** - * Client Private Key + * Optional. Client Private Key */ clientPrivateKey?: Schema$Secret; /** - * Secret containing the passphrase protecting the Client Private Key + * Optional. Secret containing the passphrase protecting the Client Private Key */ clientPrivateKeyPass?: Schema$Secret; /** - * Private Server Certificate. Needs to be specified if trust model is `PRIVATE`. + * Optional. Private Server Certificate. Needs to be specified if trust model is `PRIVATE`. */ privateServerCertificate?: Schema$Secret; /** - * Type of Server Cert (PEM/JKS/.. etc.) + * Optional. Type of Server Cert (PEM/JKS/.. etc.) */ serverCertType?: string | null; /** - * Trust Model of the SSL connection + * Optional. Trust Model of the SSL connection */ trustModel?: string | null; /** - * Controls the ssl type for the given connector version. + * Optional. Controls the ssl type for the given connector version. */ type?: string | null; /** - * Bool for enabling SSL + * Optional. Bool for enabling SSL */ useSsl?: boolean | null; } @@ -3176,19 +3328,19 @@ export namespace connectors_v1 { */ export interface Schema$TimeOfDay { /** - * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. */ hours?: number | null; /** - * Minutes of hour of day. Must be from 0 to 59. + * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. */ minutes?: number | null; /** - * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. */ nanos?: number | null; /** - * Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. */ seconds?: number | null; } @@ -3277,6 +3429,15 @@ export namespace connectors_v1 { */ updateTime?: string | null; } + /** + * WebhookSubscriptions has details of webhook subscriptions. + */ + export interface Schema$WebhookSubscriptions { + /** + * Output only. Webhook data. + */ + webhookData?: Schema$WebhookData[]; + } /** * Time window specified for weekly operations. */ @@ -3286,6 +3447,10 @@ export namespace connectors_v1 { */ schedule?: Schema$Schedule[]; } + /** + * Request message for ConnectorsService.WithdrawCustomConnectorVersion + */ + export interface Schema$WithdrawCustomConnectorVersionRequest {} export class Resource$Projects { context: APIRequestContext; @@ -6378,6 +6543,10 @@ export namespace connectors_v1 { * Required. Parent resource of RuntimeActionSchema Format: projects/{project\}/locations/{location\}/connections/{connection\} */ parent?: string; + /** + * Optional. Flag to indicate if schema should be returned as string or not + */ + schemaAsString?: boolean; } export class Resource$Projects$Locations$Connections$Runtimeentityschemas { @@ -6808,6 +6977,184 @@ export namespace connectors_v1 { return createAPIRequest(parameters); } } + + /** + * Publish request for the CustomConnectorVersion. Once approved, the CustomConnectorVersion will be published as PartnerConnector. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + publish( + params: Params$Resource$Projects$Locations$Customconnectors$Customconnectorversions$Publish, + options: StreamMethodOptions + ): GaxiosPromise; + publish( + params?: Params$Resource$Projects$Locations$Customconnectors$Customconnectorversions$Publish, + options?: MethodOptions + ): GaxiosPromise; + publish( + params: Params$Resource$Projects$Locations$Customconnectors$Customconnectorversions$Publish, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + publish( + params: Params$Resource$Projects$Locations$Customconnectors$Customconnectorversions$Publish, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + publish( + params: Params$Resource$Projects$Locations$Customconnectors$Customconnectorversions$Publish, + callback: BodyResponseCallback + ): void; + publish(callback: BodyResponseCallback): void; + publish( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Customconnectors$Customconnectorversions$Publish + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Customconnectors$Customconnectorversions$Publish; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Customconnectors$Customconnectorversions$Publish; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://connectors.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:publish').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Withdraw the publish request for the CustomConnectorVersion. This can only be used before the CustomConnectorVersion is published. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + withdraw( + params: Params$Resource$Projects$Locations$Customconnectors$Customconnectorversions$Withdraw, + options: StreamMethodOptions + ): GaxiosPromise; + withdraw( + params?: Params$Resource$Projects$Locations$Customconnectors$Customconnectorversions$Withdraw, + options?: MethodOptions + ): GaxiosPromise; + withdraw( + params: Params$Resource$Projects$Locations$Customconnectors$Customconnectorversions$Withdraw, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + withdraw( + params: Params$Resource$Projects$Locations$Customconnectors$Customconnectorversions$Withdraw, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + withdraw( + params: Params$Resource$Projects$Locations$Customconnectors$Customconnectorversions$Withdraw, + callback: BodyResponseCallback + ): void; + withdraw(callback: BodyResponseCallback): void; + withdraw( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Customconnectors$Customconnectorversions$Withdraw + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Customconnectors$Customconnectorversions$Withdraw; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Customconnectors$Customconnectorversions$Withdraw; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://connectors.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:withdraw').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } export interface Params$Resource$Projects$Locations$Customconnectors$Customconnectorversions$Delete @@ -6829,6 +7176,30 @@ export namespace connectors_v1 { */ requestBody?: Schema$DeprecateCustomConnectorVersionRequest; } + export interface Params$Resource$Projects$Locations$Customconnectors$Customconnectorversions$Publish + extends StandardParameters { + /** + * Required. Resource name of the form: `projects/{project\}/locations/{location\}/customConnectors/{custom_connector\}/customConnectorVersions/{custom_connector_version\}` + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$PublishCustomConnectorVersionRequest; + } + export interface Params$Resource$Projects$Locations$Customconnectors$Customconnectorversions$Withdraw + extends StandardParameters { + /** + * Required. Resource name of the form: `projects/{project\}/locations/{location\}/customConnectors/{custom_connector\}/customConnectorVersions/{custom_connector_version\}` + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$WithdrawCustomConnectorVersionRequest; + } export class Resource$Projects$Locations$Endpointattachments { context: APIRequestContext; @@ -8947,7 +9318,7 @@ export namespace connectors_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/connectors/v2.ts b/src/apis/connectors/v2.ts index 281b6028cf..6f0b8df792 100644 --- a/src/apis/connectors/v2.ts +++ b/src/apis/connectors/v2.ts @@ -854,19 +854,19 @@ export namespace connectors_v2 { */ export interface Schema$TimeOfDay { /** - * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. */ hours?: number | null; /** - * Minutes of hour of day. Must be from 0 to 59. + * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. */ minutes?: number | null; /** - * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. */ nanos?: number | null; /** - * Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. */ seconds?: number | null; } diff --git a/src/apis/contactcenteraiplatform/v1alpha1.ts b/src/apis/contactcenteraiplatform/v1alpha1.ts index eb8281563f..f900125b6d 100644 --- a/src/apis/contactcenteraiplatform/v1alpha1.ts +++ b/src/apis/contactcenteraiplatform/v1alpha1.ts @@ -155,7 +155,7 @@ export namespace contactcenteraiplatform_v1alpha1 { serviceAttachmentNames?: string[] | null; } /** - * Message describing ContactCenter object Next ID: 23 + * Message describing ContactCenter object Next ID: 24 */ export interface Schema$ContactCenter { /** @@ -278,7 +278,7 @@ export namespace contactcenteraiplatform_v1alpha1 { */ apiVersion?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. */ cancelRequested?: boolean | null; /** @@ -543,19 +543,19 @@ export namespace contactcenteraiplatform_v1alpha1 { */ export interface Schema$TimeOfDay { /** - * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. */ hours?: number | null; /** - * Minutes of hour of day. Must be from 0 to 59. + * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. */ minutes?: number | null; /** - * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. */ nanos?: number | null; /** - * Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. */ seconds?: number | null; } @@ -1473,7 +1473,7 @@ export namespace contactcenteraiplatform_v1alpha1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/contactcenterinsights/v1.ts b/src/apis/contactcenterinsights/v1.ts index 57614413ed..b65a71560f 100644 --- a/src/apis/contactcenterinsights/v1.ts +++ b/src/apis/contactcenterinsights/v1.ts @@ -194,6 +194,10 @@ export namespace contactcenterinsights_v1 { key: string ]: Schema$GoogleCloudContactcenterinsightsV1alpha1PhraseMatchData; } | null; + /** + * Results of scoring QaScorecards. + */ + qaScorecardResults?: Schema$GoogleCloudContactcenterinsightsV1alpha1QaScorecardResult[]; /** * Overall conversation-level sentiment for each channel of the call. */ @@ -228,6 +232,10 @@ export namespace contactcenterinsights_v1 { * The list of phrase matchers to run. If not provided, all active phrase matchers will be used. If inactive phrase matchers are provided, they will not be used. Phrase matchers will be run only if run_phrase_matcher_annotator is set to true. Format: projects/{project\}/locations/{location\}/phraseMatchers/{phrase_matcher\} */ phraseMatchers?: string[] | null; + /** + * Configuration for the QA annotator. + */ + qaConfig?: Schema$GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorQaConfig; /** * Whether to run the entity annotator. */ @@ -248,6 +256,10 @@ export namespace contactcenterinsights_v1 { * Whether to run the active phrase matcher annotator(s). */ runPhraseMatcherAnnotator?: boolean | null; + /** + * Whether to run the QA annotator. + */ + runQaAnnotator?: boolean | null; /** * Whether to run the sentiment annotator. */ @@ -265,6 +277,24 @@ export namespace contactcenterinsights_v1 { */ summarizationConfig?: Schema$GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorSummarizationConfig; } + /** + * Configuration for the QA feature. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorQaConfig { + /** + * A manual list of scorecards to score. + */ + scorecardList?: Schema$GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorQaConfigScorecardList; + } + /** + * Container for a list of scorecards. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1AnnotatorSelectorQaConfigScorecardList { + /** + * List of QaScorecardRevisions. + */ + qaScorecardRevisions?: string[] | null; + } /** * Configuration for summarization. */ @@ -523,7 +553,7 @@ export namespace contactcenterinsights_v1 { */ expireTime?: string | null; /** - * A map for the user to specify any custom fields. A maximum of 20 labels per conversation is allowed, with a maximum of 256 characters per entry. + * A map for the user to specify any custom fields. A maximum of 100 labels per conversation is allowed, with a maximum of 256 characters per entry. */ labels?: {[key: string]: string} | null; /** @@ -543,7 +573,7 @@ export namespace contactcenterinsights_v1 { */ medium?: string | null; /** - * Input only. JSON Metadata encoded as a string. This field is primarily used by Insights integrations with various telphony systems and must be in one of Insights' supported formats. + * Input only. JSON metadata encoded as a string. This field is primarily used by Insights integrations with various telphony systems and must be in one of Insight's supported formats. */ metadataJson?: string | null; /** @@ -689,6 +719,10 @@ export namespace contactcenterinsights_v1 { * A user-specified string representing the agent. */ agentId?: string | null; + /** + * The agent type, e.g. HUMAN_AGENT. + */ + agentType?: string | null; /** * The agent's name. */ @@ -698,9 +732,17 @@ export namespace contactcenterinsights_v1 { */ dispositionCode?: string | null; /** - * A user-specified string representing the agent's team. + * The agent's location. + */ + location?: string | null; + /** + * A user-specified string representing the agent's team. Deprecated in favor of the `teams` field. */ team?: string | null; + /** + * User-specified strings representing the agent's teams. + */ + teams?: string[] | null; } /** * Conversation summarization suggestion data. @@ -832,6 +874,23 @@ export namespace contactcenterinsights_v1 { */ endTime?: string | null; } + /** + * Metadata for creating an issue. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1CreateIssueMetadata { + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * The original request for creation. + */ + request?: Schema$GoogleCloudContactcenterinsightsV1alpha1CreateIssueRequest; + } /** * Metadata for creating an issue model. */ @@ -862,6 +921,19 @@ export namespace contactcenterinsights_v1 { */ parent?: string | null; } + /** + * The request to create an issue. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1CreateIssueRequest { + /** + * Required. The values for the new issue. + */ + issue?: Schema$GoogleCloudContactcenterinsightsV1alpha1Issue; + /** + * Required. The parent resource of the issue. + */ + parent?: string | null; + } /** * Metadata for deleting an issue model. */ @@ -954,11 +1026,108 @@ export namespace contactcenterinsights_v1 { dialogflowConversation?: string | null; } /** - * A customer-managed encryption key specification that can be applied to all created resources (e.g. Conversation). + * A dimension determines the grouping key for the query. In SQL terms, these would be part of both the "SELECT" and "GROUP BY" clauses. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1Dimension { + /** + * Output only. Metadata about the agent dimension. + */ + agentDimensionMetadata?: Schema$GoogleCloudContactcenterinsightsV1alpha1DimensionAgentDimensionMetadata; + /** + * The key of the dimension. + */ + dimensionKey?: string | null; + /** + * Output only. Metadata about the issue dimension. + */ + issueDimensionMetadata?: Schema$GoogleCloudContactcenterinsightsV1alpha1DimensionIssueDimensionMetadata; + /** + * Output only. Metadata about the QA question-answer dimension. + */ + qaQuestionAnswerDimensionMetadata?: Schema$GoogleCloudContactcenterinsightsV1alpha1DimensionQaQuestionAnswerDimensionMetadata; + /** + * Output only. Metadata about the QA question dimension. + */ + qaQuestionDimensionMetadata?: Schema$GoogleCloudContactcenterinsightsV1alpha1DimensionQaQuestionDimensionMetadata; + } + /** + * Metadata about the agent dimension. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1DimensionAgentDimensionMetadata { + /** + * Optional. The agent's name + */ + agentDisplayName?: string | null; + /** + * Optional. A user-specified string representing the agent. + */ + agentId?: string | null; + /** + * Optional. A user-specified string representing the agent's team. + */ + agentTeam?: string | null; + } + /** + * Metadata about the issue dimension. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1DimensionIssueDimensionMetadata { + /** + * The issue display name. + */ + issueDisplayName?: string | null; + /** + * The issue ID. + */ + issueId?: string | null; + /** + * The parent issue model ID. + */ + issueModelId?: string | null; + } + /** + * Metadata about the QA question-answer dimension. This is useful for showing the answer distribution for questions for a given scorecard. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1DimensionQaQuestionAnswerDimensionMetadata { + /** + * Optional. The full body of the question. + */ + answerValue?: string | null; + /** + * Optional. The QA question ID. + */ + qaQuestionId?: string | null; + /** + * Optional. The QA scorecard ID. + */ + qaScorecardId?: string | null; + /** + * Optional. The full body of the question. + */ + questionBody?: string | null; + } + /** + * Metadata about the QA question dimension. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1DimensionQaQuestionDimensionMetadata { + /** + * Optional. The QA question ID. + */ + qaQuestionId?: string | null; + /** + * Optional. The QA scorecard ID. + */ + qaScorecardId?: string | null; + /** + * Optional. The full body of the question. + */ + questionBody?: string | null; + } + /** + * A customer-managed encryption key specification that can be applied to all created resources (e.g. `Conversation`). */ export interface Schema$GoogleCloudContactcenterinsightsV1alpha1EncryptionSpec { /** - * Required. The name of customer-managed encryption key that is used to secure a resource and its sub-resources. If empty, the resource is secured by the default Google encryption key. Only the key in the same location as this resource is allowed to be used for encryption. Format: `projects/{project\}/locations/{location\}/keyRings/{keyRing\}/cryptoKeys/{key\}` + * Required. The name of customer-managed encryption key that is used to secure a resource and its sub-resources. If empty, the resource is secured by our default encryption key. Only the key in the same location as this resource is allowed to be used for encryption. Format: `projects/{project\}/locations/{location\}/keyRings/{keyRing\}/cryptoKeys/{key\}` */ kmsKey?: string | null; /** @@ -1147,6 +1316,35 @@ export namespace contactcenterinsights_v1 { */ source?: string | null; } + /** + * Represents a conversation, resource, and label provided by the user. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1FeedbackLabel { + /** + * Output only. Create time of the label. + */ + createTime?: string | null; + /** + * String label. + */ + label?: string | null; + /** + * Resource name of the resource to be labeled. + */ + labeledResource?: string | null; + /** + * Immutable. Resource name of the FeedbackLabel. Format: projects/{project\}/locations/{location\}/conversations/{conversation\}/feedbackLabels/{feedback_label\} + */ + name?: string | null; + /** + * QaAnswer label. + */ + qaAnswerLabel?: Schema$GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerValue; + /** + * Output only. Update time of the label. + */ + updateTime?: string | null; + } /** * A Cloud Storage source of conversation data. */ @@ -1210,7 +1408,12 @@ export namespace contactcenterinsights_v1 { /** * Response from import issue model */ - export interface Schema$GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelResponse {} + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1ImportIssueModelResponse { + /** + * The issue model that was imported. + */ + issueModel?: Schema$GoogleCloudContactcenterinsightsV1alpha1IssueModel; + } /** * The metadata for an IngestConversations operation. */ @@ -1320,7 +1523,7 @@ export namespace contactcenterinsights_v1 { */ bucketUri?: string | null; /** - * Optional. Custom keys to extract as conversation labels from metadata files in `metadata_bucket_uri`. Keys not included in this field will be ignored. Note that there is a limit of 20 labels per conversation. + * Optional. Custom keys to extract as conversation labels from metadata files in `metadata_bucket_uri`. Keys not included in this field will be ignored. Note that there is a limit of 100 labels per conversation. */ customMetadataKeys?: string[] | null; /** @@ -1354,7 +1557,7 @@ export namespace contactcenterinsights_v1 { */ endTime?: string | null; /** - * Partial errors during initialising operation that might cause the operation output to be incomplete. + * Partial errors during initializing operation that might cause the operation output to be incomplete. */ partialErrors?: Schema$GoogleRpcStatus[]; /** @@ -1367,7 +1570,7 @@ export namespace contactcenterinsights_v1 { */ export interface Schema$GoogleCloudContactcenterinsightsV1alpha1InitializeEncryptionSpecRequest { /** - * Required. The encryption spec used for CMEK encryption. It is required that the kms key is in the same region as the endpoint. The same key will be used for all provisioned resources, if encryption is available. If the kms_key_name is left empty, no encryption will be enforced. + * Required. The encryption spec used for CMEK encryption. It is required that the kms key is in the same region as the endpoint. The same key will be used for all provisioned resources, if encryption is available. If the `kms_key_name` field is left empty, no encryption will be enforced. */ encryptionSpec?: Schema$GoogleCloudContactcenterinsightsV1alpha1EncryptionSpec; } @@ -1401,6 +1604,35 @@ export namespace contactcenterinsights_v1 { * The data for an interruption annotation. */ export interface Schema$GoogleCloudContactcenterinsightsV1alpha1InterruptionData {} + /** + * The issue resource. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1Issue { + /** + * Output only. The time at which this issue was created. + */ + createTime?: string | null; + /** + * Representative description of the issue. + */ + displayDescription?: string | null; + /** + * The representative name for the issue. + */ + displayName?: string | null; + /** + * Immutable. The resource name of the issue. Format: projects/{project\}/locations/{location\}/issueModels/{issue_model\}/issues/{issue\} + */ + name?: string | null; + /** + * Output only. Resource names of the sample representative utterances that match to this issue. + */ + sampleUtterances?: string[] | null; + /** + * Output only. The most recent time that this issue was updated. + */ + updateTime?: string | null; + } /** * Information about the issue. */ @@ -1541,159 +1773,481 @@ export namespace contactcenterinsights_v1 { issues?: Schema$GoogleCloudContactcenterinsightsV1alpha1IssueAssignment[]; } /** - * The data for a matched phrase matcher. Represents information identifying a phrase matcher for a given match. + * The response for listing all feedback labels. */ - export interface Schema$GoogleCloudContactcenterinsightsV1alpha1PhraseMatchData { + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1ListAllFeedbackLabelsResponse { /** - * The human-readable name of the phrase matcher. + * The feedback labels that match the request. */ - displayName?: string | null; + feedbackLabels?: Schema$GoogleCloudContactcenterinsightsV1alpha1FeedbackLabel[]; /** - * The unique identifier (the resource name) of the phrase matcher. + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. */ - phraseMatcher?: string | null; + nextPageToken?: string | null; } /** - * DLP resources used for redaction while ingesting conversations. DLP settings are applied to conversations ingested from the `UploadConversation` and `IngestConversations` endpoints, including conversation coming from CCAI Platform. They are not applied to conversations ingested from the `CreateConversation` endpoint or the Dialogflow / Agent Assist runtime integrations. When using Dialogflow / Agent Assist runtime integrations, redaction should be performed in Dialogflow / Agent Assist. + * The response for listing feedback labels. */ - export interface Schema$GoogleCloudContactcenterinsightsV1alpha1RedactionConfig { + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1ListFeedbackLabelsResponse { /** - * The fully-qualified DLP deidentify template resource name. Format: `projects/{project\}/deidentifyTemplates/{template\}` + * The feedback labels that match the request. */ - deidentifyTemplate?: string | null; + feedbackLabels?: Schema$GoogleCloudContactcenterinsightsV1alpha1FeedbackLabel[]; /** - * The fully-qualified DLP inspect template resource name. Format: `projects/{project\}/locations/{location\}/inspectTemplates/{template\}` + * The next page token. */ - inspectTemplate?: string | null; + nextPageToken?: string | null; } /** - * An annotation that was generated during the customer and agent interaction. + * The data for a matched phrase matcher. Represents information identifying a phrase matcher for a given match. */ - export interface Schema$GoogleCloudContactcenterinsightsV1alpha1RuntimeAnnotation { + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1PhraseMatchData { /** - * The unique identifier of the annotation. Format: projects/{project\}/locations/{location\}/conversationDatasets/{dataset\}/conversationDataItems/{data_item\}/conversationAnnotations/{annotation\} + * The human-readable name of the phrase matcher. */ - annotationId?: string | null; + displayName?: string | null; /** - * The feedback that the customer has about the answer in `data`. + * The unique identifier (the resource name) of the phrase matcher. */ - answerFeedback?: Schema$GoogleCloudContactcenterinsightsV1alpha1AnswerFeedback; + phraseMatcher?: string | null; + } + /** + * An answer to a QaQuestion. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1QaAnswer { /** - * Agent Assist Article Suggestion data. + * List of all individual answers given to the question. */ - articleSuggestion?: Schema$GoogleCloudContactcenterinsightsV1alpha1ArticleSuggestionData; + answerSources?: Schema$GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerSource[]; /** - * Conversation summarization suggestion data. + * The main answer value, incorporating any manual edits if they exist. */ - conversationSummarizationSuggestion?: Schema$GoogleCloudContactcenterinsightsV1alpha1ConversationSummarizationSuggestionData; + answerValue?: Schema$GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerValue; /** - * The time at which this annotation was created. + * The conversation the answer applies to. */ - createTime?: string | null; + conversation?: string | null; /** - * Dialogflow interaction data. + * The QaQuestion answered by this answer. */ - dialogflowInteraction?: Schema$GoogleCloudContactcenterinsightsV1alpha1DialogflowInteractionData; + qaQuestion?: string | null; /** - * The boundary in the conversation where the annotation ends, inclusive. + * Question text. E.g., "Did the agent greet the customer?" */ - endBoundary?: Schema$GoogleCloudContactcenterinsightsV1alpha1AnnotationBoundary; + questionBody?: string | null; /** - * Agent Assist FAQ answer data. + * User-defined list of arbitrary tags. Matches the value from QaScorecard.ScorecardQuestion.tags. Used for grouping/organization and for weighting the score of each answer. */ - faqAnswer?: Schema$GoogleCloudContactcenterinsightsV1alpha1FaqAnswerData; + tags?: string[] | null; + } + /** + * A question may have multiple answers from varying sources, one of which becomes the "main" answer above. AnswerSource represents each individual answer. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerSource { /** - * Agent Assist Smart Compose suggestion data. + * The answer value from this source. */ - smartComposeSuggestion?: Schema$GoogleCloudContactcenterinsightsV1alpha1SmartComposeSuggestionData; + answerValue?: Schema$GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerValue; /** - * Agent Assist Smart Reply data. + * What created the answer. */ - smartReply?: Schema$GoogleCloudContactcenterinsightsV1alpha1SmartReplyData; + sourceType?: string | null; + } + /** + * Message for holding the value of a QaAnswer. QaQuestion.AnswerChoice defines the possible answer values for a question. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1QaAnswerAnswerValue { /** - * The boundary in the conversation where the annotation starts, inclusive. + * Boolean value. */ - startBoundary?: Schema$GoogleCloudContactcenterinsightsV1alpha1AnnotationBoundary; + boolValue?: boolean | null; /** - * Explicit input used for generating the answer + * A short string used as an identifier. Matches the value used in QaQuestion.AnswerChoice.key. */ - userInput?: Schema$GoogleCloudContactcenterinsightsV1alpha1RuntimeAnnotationUserInput; - } - /** - * Explicit input used for generating the answer - */ - export interface Schema$GoogleCloudContactcenterinsightsV1alpha1RuntimeAnnotationUserInput { + key?: string | null; /** - * The resource name of associated generator. Format: `projects//locations//generators/` + * A value of "Not Applicable (N/A)". Should only ever be `true`. */ - generatorName?: string | null; + naValue?: boolean | null; /** - * Query text. Article Search uses this to store the input query used to generate the search results. + * Output only. Normalized score of the questions. Calculated as score / potential_score. */ - query?: string | null; + normalizedScore?: number | null; /** - * Query source for the answer. + * Numerical value. */ - querySource?: string | null; - } - /** - * The data for a sentiment annotation. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1alpha1SentimentData { + numValue?: number | null; /** - * A non-negative number from 0 to infinity which represents the abolute magnitude of sentiment regardless of score. + * Output only. The maximum potential score of the question. */ - magnitude?: number | null; + potentialScore?: number | null; /** - * The sentiment score between -1.0 (negative) and 1.0 (positive). + * Output only. Numerical score of the answer. */ score?: number | null; + /** + * String value. + */ + strValue?: string | null; } /** - * The data for a silence annotation. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1alpha1SilenceData {} - /** - * Agent Assist Smart Compose suggestion data. + * The results of scoring a single conversation against a QaScorecard. Contains a collection of QaAnswers and aggregate score. */ - export interface Schema$GoogleCloudContactcenterinsightsV1alpha1SmartComposeSuggestionData { + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1QaScorecardResult { /** - * The system's confidence score that this suggestion is a good match for this conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely certain). + * ID of the agent that handled the conversation. */ - confidenceScore?: number | null; + agentId?: string | null; /** - * Map that contains metadata about the Smart Compose suggestion and the document from which it originates. + * The conversation scored by this result. */ - metadata?: {[key: string]: string} | null; + conversation?: string | null; /** - * The name of the answer record. Format: projects/{project\}/locations/{location\}/answerRecords/{answer_record\} + * Output only. The timestamp that the revision was created. */ - queryRecord?: string | null; + createTime?: string | null; /** - * The content of the suggestion. + * Identifier. The name of the scorecard result. Format: projects/{project\}/locations/{location\}/qaScorecardResults/{qa_scorecard_result\} */ - suggestion?: string | null; - } - /** - * Agent Assist Smart Reply data. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1alpha1SmartReplyData { + name?: string | null; /** - * The system's confidence score that this reply is a good match for this conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely certain). + * The normalized score, which is the score divided by the potential score. Any manual edits are included if they exist. */ - confidenceScore?: number | null; + normalizedScore?: number | null; /** - * Map that contains metadata about the Smart Reply and the document from which it originates. + * The maximum potential overall score of the scorecard. Any questions answered using `na_value` are excluded from this calculation. */ - metadata?: {[key: string]: string} | null; + potentialScore?: number | null; /** - * The name of the answer record. Format: projects/{project\}/locations/{location\}/answerRecords/{answer_record\} + * Set of QaAnswers represented in the result. */ - queryRecord?: string | null; + qaAnswers?: Schema$GoogleCloudContactcenterinsightsV1alpha1QaAnswer[]; /** - * The content of the reply. + * The QaScorecardRevision scored by this result. */ - reply?: string | null; + qaScorecardRevision?: string | null; + /** + * Collection of tags and their scores. + */ + qaTagResults?: Schema$GoogleCloudContactcenterinsightsV1alpha1QaScorecardResultQaTagResult[]; + /** + * The overall numerical score of the result, incorporating any manual edits if they exist. + */ + score?: number | null; + /** + * List of all individual score sets. + */ + scoreSources?: Schema$GoogleCloudContactcenterinsightsV1alpha1QaScorecardResultScoreSource[]; + } + /** + * Tags and their corresponding results. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1QaScorecardResultQaTagResult { + /** + * The normalized score the tag applies to. + */ + normalizedScore?: number | null; + /** + * The potential score the tag applies to. + */ + potentialScore?: number | null; + /** + * The score the tag applies to. + */ + score?: number | null; + /** + * The tag the score applies to. + */ + tag?: string | null; + } + /** + * A scorecard result may have multiple sets of scores from varying sources, one of which becomes the "main" answer above. A ScoreSource represents each individual set of scores. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1QaScorecardResultScoreSource { + /** + * The normalized score, which is the score divided by the potential score. + */ + normalizedScore?: number | null; + /** + * The maximum potential overall score of the scorecard. Any questions answered using `na_value` are excluded from this calculation. + */ + potentialScore?: number | null; + /** + * Collection of tags and their scores. + */ + qaTagResults?: Schema$GoogleCloudContactcenterinsightsV1alpha1QaScorecardResultQaTagResult[]; + /** + * The overall numerical score of the result. + */ + score?: number | null; + /** + * What created the score. + */ + sourceType?: string | null; + } + /** + * The metadata from querying metrics. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1QueryMetricsMetadata {} + /** + * The response for querying metrics. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponse { + /** + * Required. The location of the data. "projects/{project\}/locations/{location\}" + */ + location?: string | null; + /** + * The macro average slice contains aggregated averages across the selected dimension. i.e. if group_by agent is specified this field will contain the average across all agents. This field is only populated if the request specifies a Dimension. + */ + macroAverageSlice?: Schema$GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSlice; + /** + * A slice contains a total and (if the request specified a time granularity) a time series of metric values. Each slice contains a unique combination of the cardinality of dimensions from the request. + */ + slices?: Schema$GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSlice[]; + /** + * The metrics last update time. + */ + updateTime?: string | null; + } + /** + * A slice contains a total and (if the request specified a time granularity) a time series of metric values. Each slice contains a unique combination of the cardinality of dimensions from the request. For example, if the request specifies a single ISSUE dimension and it has a cardinality of 2 (i.e. the data used to compute the metrics has 2 issues in total), the response will have 2 slices: * Slice 1 -\> dimensions=[Issue 1] * Slice 2 -\> dimensions=[Issue 2] + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSlice { + /** + * A unique combination of dimensions that this slice represents. + */ + dimensions?: Schema$GoogleCloudContactcenterinsightsV1alpha1Dimension[]; + /** + * A time series of metric values. This is only populated if the request specifies a time granularity other than NONE. + */ + timeSeries?: Schema$GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceTimeSeries; + /** + * The total metric value. The interval of this data point is [starting create time, ending create time) from the request. + */ + total?: Schema$GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPoint; + } + /** + * A data point contains the metric values mapped to an interval. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPoint { + /** + * The measure related to conversations. + */ + conversationMeasure?: Schema$GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPointConversationMeasure; + /** + * The interval that this data point represents. * If this is the total data point, the interval is [starting create time, ending create time) from the request. * If this a data point from the time series, the interval is [time, time + time granularity from the request). + */ + interval?: Schema$GoogleTypeInterval; + } + /** + * The measure related to conversations. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPointConversationMeasure { + /** + * The average agent's sentiment score. + */ + averageAgentSentimentScore?: number | null; + /** + * The average client's sentiment score. + */ + averageClientSentimentScore?: number | null; + /** + * The average customer satisfaction rating. + */ + averageCustomerSatisfactionRating?: number | null; + /** + * The average duration. + */ + averageDuration?: string | null; + /** + * Average QA normalized score. Will exclude 0's in average calculation. + */ + averageQaNormalizedScore?: number | null; + /** + * Average QA normalized score averaged for questions averaged across all revisions of the parent scorecard. Will be only populated if the request specifies a dimension of QA_QUESTION_ID. + */ + averageQaQuestionNormalizedScore?: number | null; + /** + * The average silence percentage. + */ + averageSilencePercentage?: number | null; + /** + * The average turn count. + */ + averageTurnCount?: number | null; + /** + * The conversation count. + */ + conversationCount?: number | null; + /** + * Average QA normalized score for all the tags. + */ + qaTagScores?: Schema$GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPointConversationMeasureQaTagScore[]; + } + /** + * Average QA normalized score for the tag. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPointConversationMeasureQaTagScore { + /** + * Average tag normalized score per tag. + */ + averageTagNormalizedScore?: number | null; + /** + * Tag name. + */ + tag?: string | null; + } + /** + * A time series of metric values. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceTimeSeries { + /** + * The data points that make up the time series . + */ + dataPoints?: Schema$GoogleCloudContactcenterinsightsV1alpha1QueryMetricsResponseSliceDataPoint[]; + } + /** + * DLP resources used for redaction while ingesting conversations. DLP settings are applied to conversations ingested from the `UploadConversation` and `IngestConversations` endpoints, including conversation coming from CCAI Platform. They are not applied to conversations ingested from the `CreateConversation` endpoint or the Dialogflow / Agent Assist runtime integrations. When using Dialogflow / Agent Assist runtime integrations, redaction should be performed in Dialogflow / Agent Assist. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1RedactionConfig { + /** + * The fully-qualified DLP deidentify template resource name. Format: `projects/{project\}/deidentifyTemplates/{template\}` + */ + deidentifyTemplate?: string | null; + /** + * The fully-qualified DLP inspect template resource name. Format: `projects/{project\}/locations/{location\}/inspectTemplates/{template\}` + */ + inspectTemplate?: string | null; + } + /** + * An annotation that was generated during the customer and agent interaction. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1RuntimeAnnotation { + /** + * The unique identifier of the annotation. Format: projects/{project\}/locations/{location\}/conversationDatasets/{dataset\}/conversationDataItems/{data_item\}/conversationAnnotations/{annotation\} + */ + annotationId?: string | null; + /** + * The feedback that the customer has about the answer in `data`. + */ + answerFeedback?: Schema$GoogleCloudContactcenterinsightsV1alpha1AnswerFeedback; + /** + * Agent Assist Article Suggestion data. + */ + articleSuggestion?: Schema$GoogleCloudContactcenterinsightsV1alpha1ArticleSuggestionData; + /** + * Conversation summarization suggestion data. + */ + conversationSummarizationSuggestion?: Schema$GoogleCloudContactcenterinsightsV1alpha1ConversationSummarizationSuggestionData; + /** + * The time at which this annotation was created. + */ + createTime?: string | null; + /** + * Dialogflow interaction data. + */ + dialogflowInteraction?: Schema$GoogleCloudContactcenterinsightsV1alpha1DialogflowInteractionData; + /** + * The boundary in the conversation where the annotation ends, inclusive. + */ + endBoundary?: Schema$GoogleCloudContactcenterinsightsV1alpha1AnnotationBoundary; + /** + * Agent Assist FAQ answer data. + */ + faqAnswer?: Schema$GoogleCloudContactcenterinsightsV1alpha1FaqAnswerData; + /** + * Agent Assist Smart Compose suggestion data. + */ + smartComposeSuggestion?: Schema$GoogleCloudContactcenterinsightsV1alpha1SmartComposeSuggestionData; + /** + * Agent Assist Smart Reply data. + */ + smartReply?: Schema$GoogleCloudContactcenterinsightsV1alpha1SmartReplyData; + /** + * The boundary in the conversation where the annotation starts, inclusive. + */ + startBoundary?: Schema$GoogleCloudContactcenterinsightsV1alpha1AnnotationBoundary; + /** + * Explicit input used for generating the answer + */ + userInput?: Schema$GoogleCloudContactcenterinsightsV1alpha1RuntimeAnnotationUserInput; + } + /** + * Explicit input used for generating the answer + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1RuntimeAnnotationUserInput { + /** + * The resource name of associated generator. Format: `projects//locations//generators/` + */ + generatorName?: string | null; + /** + * Query text. Article Search uses this to store the input query used to generate the search results. + */ + query?: string | null; + /** + * Query source for the answer. + */ + querySource?: string | null; + } + /** + * The data for a sentiment annotation. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1SentimentData { + /** + * A non-negative number from 0 to infinity which represents the abolute magnitude of sentiment regardless of score. + */ + magnitude?: number | null; + /** + * The sentiment score between -1.0 (negative) and 1.0 (positive). + */ + score?: number | null; + } + /** + * The data for a silence annotation. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1SilenceData {} + /** + * Agent Assist Smart Compose suggestion data. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1SmartComposeSuggestionData { + /** + * The system's confidence score that this suggestion is a good match for this conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely certain). + */ + confidenceScore?: number | null; + /** + * Map that contains metadata about the Smart Compose suggestion and the document from which it originates. + */ + metadata?: {[key: string]: string} | null; + /** + * The name of the answer record. Format: projects/{project\}/locations/{location\}/answerRecords/{answer_record\} + */ + queryRecord?: string | null; + /** + * The content of the suggestion. + */ + suggestion?: string | null; + } + /** + * Agent Assist Smart Reply data. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1alpha1SmartReplyData { + /** + * The system's confidence score that this reply is a good match for this conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely certain). + */ + confidenceScore?: number | null; + /** + * Map that contains metadata about the Smart Reply and the document from which it originates. + */ + metadata?: {[key: string]: string} | null; + /** + * The name of the answer record. Format: projects/{project\}/locations/{location\}/answerRecords/{answer_record\} + */ + queryRecord?: string | null; + /** + * The content of the reply. + */ + reply?: string | null; } /** * Speech-to-Text configuration. Speech-to-Text settings are applied to conversations ingested from the `UploadConversation` and `IngestConversations` endpoints, including conversation coming from CCAI Platform. They are not applied to conversations ingested from the `CreateConversation` endpoint. @@ -1852,6 +2406,10 @@ export namespace contactcenterinsights_v1 { phraseMatchers?: { [key: string]: Schema$GoogleCloudContactcenterinsightsV1PhraseMatchData; } | null; + /** + * Results of scoring QaScorecards. + */ + qaScorecardResults?: Schema$GoogleCloudContactcenterinsightsV1QaScorecardResult[]; /** * Overall conversation-level sentiment for each channel of the call. */ @@ -1862,21 +2420,58 @@ export namespace contactcenterinsights_v1 { silence?: Schema$GoogleCloudContactcenterinsightsV1ConversationLevelSilence; } /** - * A point in a conversation that marks the start or the end of an annotation. + * The CCAI Insights project wide analysis rule. This rule will be applied to all conversations that match the filter defined in the rule. For a conversation matches the filter, the annotators specified in the rule will be run. If a conversation matches multiple rules, a union of all the annotators will be run. One project can have multiple analysis rules. */ - export interface Schema$GoogleCloudContactcenterinsightsV1AnnotationBoundary { + export interface Schema$GoogleCloudContactcenterinsightsV1AnalysisRule { /** - * The index in the sequence of transcribed pieces of the conversation where the boundary is located. This index starts at zero. + * If true, apply this rule to conversations. Otherwise, this rule is inactive and saved as a draft. */ - transcriptIndex?: number | null; + active?: boolean | null; /** - * The word index of this boundary with respect to the first word in the transcript piece. This index starts at zero. + * Percentage of conversations that we should apply this analysis setting automatically, between [0, 1]. For example, 0.1 means 10%. Conversations are sampled in a determenestic way. The original runtime_percentage & upload percentage will be replaced by defining filters on the conversation. */ - wordIndex?: number | null; - } - /** - * Selector of all available annotators and phrase matchers to run. - */ + analysisPercentage?: number | null; + /** + * Selector of annotators to run and the phrase matchers to use for conversations that matches the conversation_filter. If not specified, NO annotators will be run. + */ + annotatorSelector?: Schema$GoogleCloudContactcenterinsightsV1AnnotatorSelector; + /** + * Filter for the conversations that should apply this analysis rule. An empty filter means this analysis rule applies to all conversations. + */ + conversationFilter?: string | null; + /** + * Output only. The time at which this analysis rule was created. + */ + createTime?: string | null; + /** + * Display Name of the analysis rule. + */ + displayName?: string | null; + /** + * Identifier. The resource name of the analysis rule. Format: projects/{project\}/locations/{location\}/analysisRules/{analysis_rule\} + */ + name?: string | null; + /** + * Output only. The most recent time at which this analysis rule was updated. + */ + updateTime?: string | null; + } + /** + * A point in a conversation that marks the start or the end of an annotation. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1AnnotationBoundary { + /** + * The index in the sequence of transcribed pieces of the conversation where the boundary is located. This index starts at zero. + */ + transcriptIndex?: number | null; + /** + * The word index of this boundary with respect to the first word in the transcript piece. This index starts at zero. + */ + wordIndex?: number | null; + } + /** + * Selector of all available annotators and phrase matchers to run. + */ export interface Schema$GoogleCloudContactcenterinsightsV1AnnotatorSelector { /** * The issue model to run. If not provided, the most recently deployed topic model will be used. The provided issue model will only be used for inference if the issue model is deployed and if run_issue_model_annotator is set to true. If more than one issue model is provided, only the first provided issue model will be used for inference. @@ -1886,6 +2481,10 @@ export namespace contactcenterinsights_v1 { * The list of phrase matchers to run. If not provided, all active phrase matchers will be used. If inactive phrase matchers are provided, they will not be used. Phrase matchers will be run only if run_phrase_matcher_annotator is set to true. Format: projects/{project\}/locations/{location\}/phraseMatchers/{phrase_matcher\} */ phraseMatchers?: string[] | null; + /** + * Configuration for the QA annotator. + */ + qaConfig?: Schema$GoogleCloudContactcenterinsightsV1AnnotatorSelectorQaConfig; /** * Whether to run the entity annotator. */ @@ -1906,6 +2505,10 @@ export namespace contactcenterinsights_v1 { * Whether to run the active phrase matcher annotator(s). */ runPhraseMatcherAnnotator?: boolean | null; + /** + * Whether to run the QA annotator. + */ + runQaAnnotator?: boolean | null; /** * Whether to run the sentiment annotator. */ @@ -1923,6 +2526,24 @@ export namespace contactcenterinsights_v1 { */ summarizationConfig?: Schema$GoogleCloudContactcenterinsightsV1AnnotatorSelectorSummarizationConfig; } + /** + * Configuration for the QA feature. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1AnnotatorSelectorQaConfig { + /** + * A manual list of scorecards to score. + */ + scorecardList?: Schema$GoogleCloudContactcenterinsightsV1AnnotatorSelectorQaConfigScorecardList; + } + /** + * Container for a list of scorecards. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1AnnotatorSelectorQaConfigScorecardList { + /** + * List of QaScorecardRevisions. + */ + qaScorecardRevisions?: string[] | null; + } /** * Configuration for summarization. */ @@ -2095,6 +2716,140 @@ export namespace contactcenterinsights_v1 { * The response for a bulk delete conversations operation. */ export interface Schema$GoogleCloudContactcenterinsightsV1BulkDeleteConversationsResponse {} + /** + * Metadata for the BulkDownloadFeedbackLabel endpoint. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsMetadata { + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. Statistics for BulkDownloadFeedbackLabels operation. + */ + downloadStats?: Schema$GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsMetadataDownloadStats; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Partial errors during ingest operation that might cause the operation output to be incomplete. + */ + partialErrors?: Schema$GoogleRpcStatus[]; + /** + * Output only. The original request for download. + */ + request?: Schema$GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsRequest; + } + /** + * Statistics for BulkDownloadFeedbackLabels operation. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsMetadataDownloadStats { + /** + * Output only. Full name of the files written to Cloud storage. + */ + fileNames?: string[] | null; + /** + * The number of objects processed during the download operation. + */ + processedObjectCount?: number | null; + /** + * The number of new feedback labels downloaded during this operation. Different from "processed" because some labels might not be downloaded because an error. + */ + successfulDownloadCount?: number | null; + /** + * Total number of files written to the provided Cloud Storage bucket. + */ + totalFilesWritten?: number | null; + } + /** + * Request for the BulkDownloadFeedbackLabel endpoint. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsRequest { + /** + * Optional. Filter parent conversations to download feedback labels for. When specified, the feedback labels will be downloaded for the conversations that match the filter. If `template_qa_scorecard_id` is set, all the conversations that match the filter will be paired with the questions under the scorecard for labeling. + */ + conversationFilter?: string | null; + /** + * Optional. The type of feedback labels that will be downloaded. + */ + feedbackLabelType?: string | null; + /** + * Optional. A filter to reduce results to a specific subset. Supports disjunctions (OR) and conjunctions (AND). Supported fields: * `issue_model_id` * `qa_question_id` * `qa_scorecard_id` * `min_create_time` * `max_create_time` * `min_update_time` * `max_update_time` * `feedback_label_type`: QUALITY_AI, TOPIC_MODELING + */ + filter?: string | null; + /** + * A cloud storage bucket destination. + */ + gcsDestination?: Schema$GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsRequestGcsDestination; + /** + * Optional. Limits the maximum number of feedback labels that will be downloaded. The first `N` feedback labels will be downloaded. + */ + maxDownloadCount?: number | null; + /** + * Required. The parent resource for new feedback labels. + */ + parent?: string | null; + /** + * Optional. If set, a template for labeling conversations and scorecard questions will be created from the conversation_filter and the questions under the scorecard(s). The feedback label `filter` will be ignored. + */ + templateQaScorecardId?: string[] | null; + } + /** + * Google Cloud Storage Object details to write the feedback labels to. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsRequestGcsDestination { + /** + * Optional. Add whitespace to the JSON file. Makes easier to read, but increases file size. Only applicable for JSON format. + */ + addWhitespace?: boolean | null; + /** + * Optional. Always print fields with no presence. This is useful for printing fields that are not set, like implicit 0 value or empty lists/maps. Only applicable for JSON format. + */ + alwaysPrintEmptyFields?: boolean | null; + /** + * Required. File format in which the labels will be exported. + */ + format?: string | null; + /** + * Required. The Google Cloud Storage URI to write the feedback labels to. The file name will be used as a prefix for the files written to the bucket if the output needs to be split across multiple files, otherwise it will be used as is. The file extension will be appended to the file name based on the format selected. E.g. `gs://bucket_name/object_uri_prefix` + */ + objectUri?: string | null; + /** + * Optional. The number of records per file. Applicable for either format. + */ + recordsPerFileCount?: string | null; + } + /** + * Response for the BulkDownloadFeedbackLabel endpoint. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsResponse {} + /** + * The request for bulk uploading feedback labels. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1BulkUploadFeedbackLabelsRequest { + /** + * A cloud storage bucket source. + */ + gcsSource?: Schema$GoogleCloudContactcenterinsightsV1BulkUploadFeedbackLabelsRequestGcsSource; + /** + * Optional. If set, upload will not happen and the labels will be validated. If not set, then default behavior will be to upload the labels after validation is complete. + */ + validateOnly?: boolean | null; + } + /** + * Google Cloud Storage Object details to get the feedback label file from. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1BulkUploadFeedbackLabelsRequestGcsSource { + /** + * Required. File format which will be ingested. + */ + format?: string | null; + /** + * Required. The Google Cloud Storage URI of the file to import. Format: `gs://bucket_name/object_name` + */ + objectUri?: string | null; + } /** * Response of querying an issue model's statistics. */ @@ -2255,7 +3010,7 @@ export namespace contactcenterinsights_v1 { */ expireTime?: string | null; /** - * A map for the user to specify any custom fields. A maximum of 20 labels per conversation is allowed, with a maximum of 256 characters per entry. + * A map for the user to specify any custom fields. A maximum of 100 labels per conversation is allowed, with a maximum of 256 characters per entry. */ labels?: {[key: string]: string} | null; /** @@ -2275,7 +3030,7 @@ export namespace contactcenterinsights_v1 { */ medium?: string | null; /** - * Input only. JSON Metadata encoded as a string. This field is primarily used by Insights integrations with various telphony systems and must be in one of Insights' supported formats. + * Input only. JSON metadata encoded as a string. This field is primarily used by Insights integrations with various telphony systems and must be in one of Insight's supported formats. */ metadataJson?: string | null; /** @@ -2421,6 +3176,10 @@ export namespace contactcenterinsights_v1 { * A user-specified string representing the agent. */ agentId?: string | null; + /** + * The agent type, e.g. HUMAN_AGENT. + */ + agentType?: string | null; /** * The agent's name. */ @@ -2430,9 +3189,17 @@ export namespace contactcenterinsights_v1 { */ dispositionCode?: string | null; /** - * A user-specified string representing the agent's team. + * The agent's location. + */ + location?: string | null; + /** + * A user-specified string representing the agent's team. Deprecated in favor of the `teams` field. */ team?: string | null; + /** + * User-specified strings representing the agent's teams. + */ + teams?: string[] | null; } /** * Conversation summarization suggestion data. @@ -2564,6 +3331,23 @@ export namespace contactcenterinsights_v1 { */ endTime?: string | null; } + /** + * Metadata for creating an issue. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1CreateIssueMetadata { + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * The original request for creation. + */ + request?: Schema$GoogleCloudContactcenterinsightsV1CreateIssueRequest; + } /** * Metadata for creating an issue model. */ @@ -2594,6 +3378,19 @@ export namespace contactcenterinsights_v1 { */ parent?: string | null; } + /** + * The request to create an issue. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1CreateIssueRequest { + /** + * Required. The values for the new issue. + */ + issue?: Schema$GoogleCloudContactcenterinsightsV1Issue; + /** + * Required. The parent resource of the issue. + */ + parent?: string | null; + } /** * Metadata for deleting an issue model. */ @@ -2650,6 +3447,10 @@ export namespace contactcenterinsights_v1 { * The response to deploy an issue model. */ export interface Schema$GoogleCloudContactcenterinsightsV1DeployIssueModelResponse {} + /** + * The request to deploy a QaScorecardRevision + */ + export interface Schema$GoogleCloudContactcenterinsightsV1DeployQaScorecardRevisionRequest {} /** * The data for a Dialogflow intent. Represents a detected intent in the conversation, e.g. MAKES_PROMISE. */ @@ -2686,11 +3487,108 @@ export namespace contactcenterinsights_v1 { dialogflowConversation?: string | null; } /** - * A customer-managed encryption key specification that can be applied to all created resources (e.g. Conversation). + * A dimension determines the grouping key for the query. In SQL terms, these would be part of both the "SELECT" and "GROUP BY" clauses. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1Dimension { + /** + * Output only. Metadata about the agent dimension. + */ + agentDimensionMetadata?: Schema$GoogleCloudContactcenterinsightsV1DimensionAgentDimensionMetadata; + /** + * The key of the dimension. + */ + dimensionKey?: string | null; + /** + * Output only. Metadata about the issue dimension. + */ + issueDimensionMetadata?: Schema$GoogleCloudContactcenterinsightsV1DimensionIssueDimensionMetadata; + /** + * Output only. Metadata about the QA question-answer dimension. + */ + qaQuestionAnswerDimensionMetadata?: Schema$GoogleCloudContactcenterinsightsV1DimensionQaQuestionAnswerDimensionMetadata; + /** + * Output only. Metadata about the QA question dimension. + */ + qaQuestionDimensionMetadata?: Schema$GoogleCloudContactcenterinsightsV1DimensionQaQuestionDimensionMetadata; + } + /** + * Metadata about the agent dimension. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1DimensionAgentDimensionMetadata { + /** + * Optional. The agent's name + */ + agentDisplayName?: string | null; + /** + * Optional. A user-specified string representing the agent. + */ + agentId?: string | null; + /** + * Optional. A user-specified string representing the agent's team. + */ + agentTeam?: string | null; + } + /** + * Metadata about the issue dimension. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1DimensionIssueDimensionMetadata { + /** + * The issue display name. + */ + issueDisplayName?: string | null; + /** + * The issue ID. + */ + issueId?: string | null; + /** + * The parent issue model ID. + */ + issueModelId?: string | null; + } + /** + * Metadata about the QA question-answer dimension. This is useful for showing the answer distribution for questions for a given scorecard. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1DimensionQaQuestionAnswerDimensionMetadata { + /** + * Optional. The full body of the question. + */ + answerValue?: string | null; + /** + * Optional. The QA question ID. + */ + qaQuestionId?: string | null; + /** + * Optional. The QA scorecard ID. + */ + qaScorecardId?: string | null; + /** + * Optional. The full body of the question. + */ + questionBody?: string | null; + } + /** + * Metadata about the QA question dimension. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1DimensionQaQuestionDimensionMetadata { + /** + * Optional. The QA question ID. + */ + qaQuestionId?: string | null; + /** + * Optional. The QA scorecard ID. + */ + qaScorecardId?: string | null; + /** + * Optional. The full body of the question. + */ + questionBody?: string | null; + } + /** + * A customer-managed encryption key specification that can be applied to all created resources (e.g. `Conversation`). */ export interface Schema$GoogleCloudContactcenterinsightsV1EncryptionSpec { /** - * Required. The name of customer-managed encryption key that is used to secure a resource and its sub-resources. If empty, the resource is secured by the default Google encryption key. Only the key in the same location as this resource is allowed to be used for encryption. Format: `projects/{project\}/locations/{location\}/keyRings/{keyRing\}/cryptoKeys/{key\}` + * Required. The name of customer-managed encryption key that is used to secure a resource and its sub-resources. If empty, the resource is secured by our default encryption key. Only the key in the same location as this resource is allowed to be used for encryption. Format: `projects/{project\}/locations/{location\}/keyRings/{keyRing\}/cryptoKeys/{key\}` */ kmsKey?: string | null; /** @@ -2888,6 +3786,35 @@ export namespace contactcenterinsights_v1 { */ source?: string | null; } + /** + * Represents a conversation, resource, and label provided by the user. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1FeedbackLabel { + /** + * Output only. Create time of the label. + */ + createTime?: string | null; + /** + * String label. + */ + label?: string | null; + /** + * Resource name of the resource to be labeled. + */ + labeledResource?: string | null; + /** + * Immutable. Resource name of the FeedbackLabel. Format: projects/{project\}/locations/{location\}/conversations/{conversation\}/feedbackLabels/{feedback_label\} + */ + name?: string | null; + /** + * QaAnswer label. + */ + qaAnswerLabel?: Schema$GoogleCloudContactcenterinsightsV1QaAnswerAnswerValue; + /** + * Output only. Update time of the label. + */ + updateTime?: string | null; + } /** * A Cloud Storage source of conversation data. */ @@ -2951,7 +3878,12 @@ export namespace contactcenterinsights_v1 { /** * Response from import issue model */ - export interface Schema$GoogleCloudContactcenterinsightsV1ImportIssueModelResponse {} + export interface Schema$GoogleCloudContactcenterinsightsV1ImportIssueModelResponse { + /** + * The issue model that was imported. + */ + issueModel?: Schema$GoogleCloudContactcenterinsightsV1IssueModel; + } /** * The metadata for an IngestConversations operation. */ @@ -3061,7 +3993,7 @@ export namespace contactcenterinsights_v1 { */ bucketUri?: string | null; /** - * Optional. Custom keys to extract as conversation labels from metadata files in `metadata_bucket_uri`. Keys not included in this field will be ignored. Note that there is a limit of 20 labels per conversation. + * Optional. Custom keys to extract as conversation labels from metadata files in `metadata_bucket_uri`. Keys not included in this field will be ignored. Note that there is a limit of 100 labels per conversation. */ customMetadataKeys?: string[] | null; /** @@ -3095,7 +4027,7 @@ export namespace contactcenterinsights_v1 { */ endTime?: string | null; /** - * Partial errors during initialising operation that might cause the operation output to be incomplete. + * Partial errors during initializing operation that might cause the operation output to be incomplete. */ partialErrors?: Schema$GoogleRpcStatus[]; /** @@ -3108,7 +4040,7 @@ export namespace contactcenterinsights_v1 { */ export interface Schema$GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecRequest { /** - * Required. The encryption spec used for CMEK encryption. It is required that the kms key is in the same region as the endpoint. The same key will be used for all provisioned resources, if encryption is available. If the kms_key_name is left empty, no encryption will be enforced. + * Required. The encryption spec used for CMEK encryption. It is required that the kms key is in the same region as the endpoint. The same key will be used for all provisioned resources, if encryption is available. If the `kms_key_name` field is left empty, no encryption will be enforced. */ encryptionSpec?: Schema$GoogleCloudContactcenterinsightsV1EncryptionSpec; } @@ -3310,6 +4242,19 @@ export namespace contactcenterinsights_v1 { */ issues?: Schema$GoogleCloudContactcenterinsightsV1IssueAssignment[]; } + /** + * The response for listing all feedback labels. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1ListAllFeedbackLabelsResponse { + /** + * The feedback labels that match the request. + */ + feedbackLabels?: Schema$GoogleCloudContactcenterinsightsV1FeedbackLabel[]; + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + } /** * The response to list analyses. */ @@ -3323,6 +4268,19 @@ export namespace contactcenterinsights_v1 { */ nextPageToken?: string | null; } + /** + * The response of listing views. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1ListAnalysisRulesResponse { + /** + * The analysis_rule that match the request. + */ + analysisRules?: Schema$GoogleCloudContactcenterinsightsV1AnalysisRule[]; + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + } /** * The response of listing conversations. */ @@ -3337,11 +4295,24 @@ export namespace contactcenterinsights_v1 { nextPageToken?: string | null; } /** - * The response of listing issue models. + * The response for listing feedback labels. */ - export interface Schema$GoogleCloudContactcenterinsightsV1ListIssueModelsResponse { + export interface Schema$GoogleCloudContactcenterinsightsV1ListFeedbackLabelsResponse { /** - * The issue models that match the request. + * The feedback labels that match the request. + */ + feedbackLabels?: Schema$GoogleCloudContactcenterinsightsV1FeedbackLabel[]; + /** + * The next page token. + */ + nextPageToken?: string | null; + } + /** + * The response of listing issue models. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1ListIssueModelsResponse { + /** + * The issue models that match the request. */ issueModels?: Schema$GoogleCloudContactcenterinsightsV1IssueModel[]; } @@ -3367,6 +4338,45 @@ export namespace contactcenterinsights_v1 { */ phraseMatchers?: Schema$GoogleCloudContactcenterinsightsV1PhraseMatcher[]; } + /** + * The response from a ListQaQuestions request. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1ListQaQuestionsResponse { + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The QaQuestions under the parent. + */ + qaQuestions?: Schema$GoogleCloudContactcenterinsightsV1QaQuestion[]; + } + /** + * The response from a ListQaScorecardRevisions request. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1ListQaScorecardRevisionsResponse { + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The QaScorecards under the parent. + */ + qaScorecardRevisions?: Schema$GoogleCloudContactcenterinsightsV1QaScorecardRevision[]; + } + /** + * The response from a ListQaScorecards request. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1ListQaScorecardsResponse { + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The QaScorecards under the parent. + */ + qaScorecards?: Schema$GoogleCloudContactcenterinsightsV1QaScorecard[]; + } /** * The response of listing views. */ @@ -3482,479 +4492,4484 @@ export namespace contactcenterinsights_v1 { type?: string | null; } /** - * DLP resources used for redaction while ingesting conversations. DLP settings are applied to conversations ingested from the `UploadConversation` and `IngestConversations` endpoints, including conversation coming from CCAI Platform. They are not applied to conversations ingested from the `CreateConversation` endpoint or the Dialogflow / Agent Assist runtime integrations. When using Dialogflow / Agent Assist runtime integrations, redaction should be performed in Dialogflow / Agent Assist. + * An answer to a QaQuestion. */ - export interface Schema$GoogleCloudContactcenterinsightsV1RedactionConfig { + export interface Schema$GoogleCloudContactcenterinsightsV1QaAnswer { /** - * The fully-qualified DLP deidentify template resource name. Format: `projects/{project\}/deidentifyTemplates/{template\}` - */ - deidentifyTemplate?: string | null; - /** - * The fully-qualified DLP inspect template resource name. Format: `projects/{project\}/locations/{location\}/inspectTemplates/{template\}` + * List of all individual answers given to the question. */ - inspectTemplate?: string | null; - } - /** - * An annotation that was generated during the customer and agent interaction. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1RuntimeAnnotation { + answerSources?: Schema$GoogleCloudContactcenterinsightsV1QaAnswerAnswerSource[]; /** - * The unique identifier of the annotation. Format: projects/{project\}/locations/{location\}/conversationDatasets/{dataset\}/conversationDataItems/{data_item\}/conversationAnnotations/{annotation\} + * The main answer value, incorporating any manual edits if they exist. */ - annotationId?: string | null; + answerValue?: Schema$GoogleCloudContactcenterinsightsV1QaAnswerAnswerValue; /** - * The feedback that the customer has about the answer in `data`. + * The conversation the answer applies to. */ - answerFeedback?: Schema$GoogleCloudContactcenterinsightsV1AnswerFeedback; + conversation?: string | null; /** - * Agent Assist Article Suggestion data. + * The QaQuestion answered by this answer. */ - articleSuggestion?: Schema$GoogleCloudContactcenterinsightsV1ArticleSuggestionData; + qaQuestion?: string | null; /** - * Conversation summarization suggestion data. + * Question text. E.g., "Did the agent greet the customer?" */ - conversationSummarizationSuggestion?: Schema$GoogleCloudContactcenterinsightsV1ConversationSummarizationSuggestionData; + questionBody?: string | null; /** - * The time at which this annotation was created. + * User-defined list of arbitrary tags. Matches the value from QaScorecard.ScorecardQuestion.tags. Used for grouping/organization and for weighting the score of each answer. */ - createTime?: string | null; + tags?: string[] | null; + } + /** + * A question may have multiple answers from varying sources, one of which becomes the "main" answer above. AnswerSource represents each individual answer. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1QaAnswerAnswerSource { /** - * Dialogflow interaction data. + * The answer value from this source. */ - dialogflowInteraction?: Schema$GoogleCloudContactcenterinsightsV1DialogflowInteractionData; + answerValue?: Schema$GoogleCloudContactcenterinsightsV1QaAnswerAnswerValue; /** - * The boundary in the conversation where the annotation ends, inclusive. + * What created the answer. */ - endBoundary?: Schema$GoogleCloudContactcenterinsightsV1AnnotationBoundary; + sourceType?: string | null; + } + /** + * Message for holding the value of a QaAnswer. QaQuestion.AnswerChoice defines the possible answer values for a question. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1QaAnswerAnswerValue { /** - * Agent Assist FAQ answer data. + * Boolean value. */ - faqAnswer?: Schema$GoogleCloudContactcenterinsightsV1FaqAnswerData; + boolValue?: boolean | null; /** - * Agent Assist Smart Compose suggestion data. + * A short string used as an identifier. Matches the value used in QaQuestion.AnswerChoice.key. */ - smartComposeSuggestion?: Schema$GoogleCloudContactcenterinsightsV1SmartComposeSuggestionData; + key?: string | null; /** - * Agent Assist Smart Reply data. + * A value of "Not Applicable (N/A)". Should only ever be `true`. */ - smartReply?: Schema$GoogleCloudContactcenterinsightsV1SmartReplyData; + naValue?: boolean | null; /** - * The boundary in the conversation where the annotation starts, inclusive. + * Output only. Normalized score of the questions. Calculated as score / potential_score. */ - startBoundary?: Schema$GoogleCloudContactcenterinsightsV1AnnotationBoundary; + normalizedScore?: number | null; /** - * Explicit input used for generating the answer + * Numerical value. */ - userInput?: Schema$GoogleCloudContactcenterinsightsV1RuntimeAnnotationUserInput; - } - /** - * Explicit input used for generating the answer - */ - export interface Schema$GoogleCloudContactcenterinsightsV1RuntimeAnnotationUserInput { + numValue?: number | null; /** - * The resource name of associated generator. Format: `projects//locations//generators/` + * Output only. The maximum potential score of the question. */ - generatorName?: string | null; + potentialScore?: number | null; /** - * Query text. Article Search uses this to store the input query used to generate the search results. + * Output only. Numerical score of the answer. */ - query?: string | null; + score?: number | null; /** - * Query source for the answer. + * String value. */ - querySource?: string | null; + strValue?: string | null; } /** - * The data for a sentiment annotation. + * A single question to be scored by the Insights QA feature. */ - export interface Schema$GoogleCloudContactcenterinsightsV1SentimentData { + export interface Schema$GoogleCloudContactcenterinsightsV1QaQuestion { /** - * A non-negative number from 0 to infinity which represents the abolute magnitude of sentiment regardless of score. - */ - magnitude?: number | null; - /** - * The sentiment score between -1.0 (negative) and 1.0 (positive). + * Short, descriptive string, used in the UI where it's not practical to display the full question body. E.g., "Greeting". */ - score?: number | null; - } - /** - * The CCAI Insights project wide settings. Use these settings to configure the behavior of Insights. View these settings with [`getsettings`](https://cloud.google.com/contact-center/insights/docs/reference/rest/v1/projects.locations/getSettings) and change the settings with [`updateSettings`](https://cloud.google.com/contact-center/insights/docs/reference/rest/v1/projects.locations/updateSettings). - */ - export interface Schema$GoogleCloudContactcenterinsightsV1Settings { + abbreviation?: string | null; /** - * Default analysis settings. + * A list of valid answers to the question, which the LLM must choose from. */ - analysisConfig?: Schema$GoogleCloudContactcenterinsightsV1SettingsAnalysisConfig; + answerChoices?: Schema$GoogleCloudContactcenterinsightsV1QaQuestionAnswerChoice[]; /** - * The default TTL for newly-created conversations. If a conversation has a specified expiration, that value will be used instead. Changing this value will not change the expiration of existing conversations. Conversations with no expire time persist until they are deleted. + * Instructions describing how to determine the answer. */ - conversationTtl?: string | null; + answerInstructions?: string | null; /** - * Output only. The time at which the settings was created. + * Output only. The time at which this question was created. */ createTime?: string | null; /** - * A language code to be applied to each transcript segment unless the segment already specifies a language code. Language code defaults to "en-US" if it is neither specified on the segment nor here. + * Metrics of the underlying tuned LLM over a holdout/test set while fine tuning the underlying LLM for the given question. This field will only be populated if and only if the question is part of a scorecard revision that has been tuned. */ - languageCode?: string | null; + metrics?: Schema$GoogleCloudContactcenterinsightsV1QaQuestionMetrics; /** - * Immutable. The resource name of the settings resource. Format: projects/{project\}/locations/{location\}/settings + * Identifier. The resource name of the question. Format: projects/{project\}/locations/{location\}/qaScorecards/{qa_scorecard\}/revisions/{revision\}/qaQuestions/{qa_question\} */ name?: string | null; /** - * A map that maps a notification trigger to a Pub/Sub topic. Each time a specified trigger occurs, Insights will notify the corresponding Pub/Sub topic. Keys are notification triggers. Supported keys are: * "all-triggers": Notify each time any of the supported triggers occurs. * "create-analysis": Notify each time an analysis is created. * "create-conversation": Notify each time a conversation is created. * "export-insights-data": Notify each time an export is complete. * "ingest-conversations": Notify each time an IngestConversations LRO is complete. * "update-conversation": Notify each time a conversation is updated via UpdateConversation. * "upload-conversation": Notify when an UploadConversation LRO is complete. Values are Pub/Sub topics. The format of each Pub/Sub topic is: projects/{project\}/topics/{topic\} + * Defines the order of the question within its parent scorecard revision. */ - pubsubNotificationSettings?: {[key: string]: string} | null; + order?: number | null; /** - * Default DLP redaction resources to be applied while ingesting conversations. This applies to conversations ingested from the `UploadConversation` and `IngestConversations` endpoints, including conversations coming from CCAI Platform. + * Question text. E.g., "Did the agent greet the customer?" */ - redactionConfig?: Schema$GoogleCloudContactcenterinsightsV1RedactionConfig; + questionBody?: string | null; /** - * Optional. Default Speech-to-Text resources to use while ingesting audio files. Optional, CCAI Insights will create a default if not provided. This applies to conversations ingested from the `UploadConversation` and `IngestConversations` endpoints, including conversations coming from CCAI Platform. + * User-defined list of arbitrary tags for the question. Used for grouping/organization and for weighting the score of each question. */ - speechConfig?: Schema$GoogleCloudContactcenterinsightsV1SpeechConfig; + tags?: string[] | null; /** - * Output only. The time at which the settings were last updated. + * Metadata about the tuning operation for the question.This field will only be populated if and only if the question is part of a scorecard revision that has been tuned. + */ + tuningMetadata?: Schema$GoogleCloudContactcenterinsightsV1QaQuestionTuningMetadata; + /** + * Output only. The most recent time at which the question was updated. */ updateTime?: string | null; } /** - * Default configuration when creating Analyses in Insights. + * Message representing a possible answer to the question. */ - export interface Schema$GoogleCloudContactcenterinsightsV1SettingsAnalysisConfig { + export interface Schema$GoogleCloudContactcenterinsightsV1QaQuestionAnswerChoice { /** - * To select the annotators to run and the phrase matchers to use (if any). If not specified, all annotators will be run. + * Boolean value. */ - annotatorSelector?: Schema$GoogleCloudContactcenterinsightsV1AnnotatorSelector; + boolValue?: boolean | null; /** - * Percentage of conversations created using Dialogflow runtime integration to analyze automatically, between [0, 100]. + * A short string used as an identifier. */ - runtimeIntegrationAnalysisPercentage?: number | null; + key?: string | null; /** - * Percentage of conversations created using the UploadConversation endpoint to analyze automatically, between [0, 100]. + * A value of "Not Applicable (N/A)". If provided, this field may only be set to `true`. If a question receives this answer, it will be excluded from any score calculations. */ - uploadConversationAnalysisPercentage?: number | null; + naValue?: boolean | null; + /** + * Numerical value. + */ + numValue?: number | null; + /** + * Numerical score of the answer, used for generating the overall score of a QaScorecardResult. If the answer uses na_value, this field is unused. + */ + score?: number | null; + /** + * String value. + */ + strValue?: string | null; } /** - * The data for a silence annotation. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1SilenceData {} - /** - * Agent Assist Smart Compose suggestion data. + * A wrapper representing metrics calculated against a test-set on a LLM that was fine tuned for this question. */ - export interface Schema$GoogleCloudContactcenterinsightsV1SmartComposeSuggestionData { + export interface Schema$GoogleCloudContactcenterinsightsV1QaQuestionMetrics { /** - * The system's confidence score that this suggestion is a good match for this conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely certain). + * Output only. Accuracy of the model. Measures the percentage of correct answers the model gave on the test set. */ - confidenceScore?: number | null; + accuracy?: number | null; + } + /** + * Metadata about the tuning operation for the question. Will only be set if a scorecard containing this question has been tuned. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1QaQuestionTuningMetadata { /** - * Map that contains metadata about the Smart Compose suggestion and the document from which it originates. + * A list of any applicable data validation warnings about the question's feedback labels. */ - metadata?: {[key: string]: string} | null; + datasetValidationWarnings?: string[] | null; /** - * The name of the answer record. Format: projects/{project\}/locations/{location\}/answerRecords/{answer_record\} + * Total number of valid labels provided for the question at the time of tuining. */ - queryRecord?: string | null; + totalValidLabelCount?: string | null; /** - * The content of the suggestion. + * Error status of the tuning operation for the question. Will only be set if the tuning operation failed. */ - suggestion?: string | null; + tuningError?: string | null; } /** - * Agent Assist Smart Reply data. + * A QaScorecard represents a collection of questions to be scored during analysis. */ - export interface Schema$GoogleCloudContactcenterinsightsV1SmartReplyData { + export interface Schema$GoogleCloudContactcenterinsightsV1QaScorecard { /** - * The system's confidence score that this reply is a good match for this conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely certain). + * Output only. The time at which this scorecard was created. */ - confidenceScore?: number | null; + createTime?: string | null; /** - * Map that contains metadata about the Smart Reply and the document from which it originates. + * A text description explaining the intent of the scorecard. */ - metadata?: {[key: string]: string} | null; + description?: string | null; /** - * The name of the answer record. Format: projects/{project\}/locations/{location\}/answerRecords/{answer_record\} + * The user-specified display name of the scorecard. */ - queryRecord?: string | null; + displayName?: string | null; /** - * The content of the reply. + * Identifier. The scorecard name. Format: projects/{project\}/locations/{location\}/qaScorecards/{qa_scorecard\} */ - reply?: string | null; - } - /** - * Speech-to-Text configuration. Speech-to-Text settings are applied to conversations ingested from the `UploadConversation` and `IngestConversations` endpoints, including conversation coming from CCAI Platform. They are not applied to conversations ingested from the `CreateConversation` endpoint. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1SpeechConfig { + name?: string | null; /** - * The fully-qualified Speech Recognizer resource name. Format: `projects/{project_id\}/locations/{location\}/recognizer/{recognizer\}` + * Output only. The most recent time at which the scorecard was updated. */ - speechRecognizer?: string | null; + updateTime?: string | null; } /** - * Metadata for undeploying an issue model. + * The results of scoring a single conversation against a QaScorecard. Contains a collection of QaAnswers and aggregate score. */ - export interface Schema$GoogleCloudContactcenterinsightsV1UndeployIssueModelMetadata { + export interface Schema$GoogleCloudContactcenterinsightsV1QaScorecardResult { /** - * Output only. The time the operation was created. + * ID of the agent that handled the conversation. */ - createTime?: string | null; + agentId?: string | null; /** - * Output only. The time the operation finished running. + * The conversation scored by this result. */ - endTime?: string | null; + conversation?: string | null; /** - * The original request for undeployment. + * Output only. The timestamp that the revision was created. */ - request?: Schema$GoogleCloudContactcenterinsightsV1UndeployIssueModelRequest; - } - /** - * The request to undeploy an issue model. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1UndeployIssueModelRequest { + createTime?: string | null; /** - * Required. The issue model to undeploy. + * Identifier. The name of the scorecard result. Format: projects/{project\}/locations/{location\}/qaScorecardResults/{qa_scorecard_result\} */ name?: string | null; - } - /** - * The response to undeploy an issue model. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1UndeployIssueModelResponse {} - /** - * The metadata for an `UploadConversation` operation. - */ - export interface Schema$GoogleCloudContactcenterinsightsV1UploadConversationMetadata { /** - * Output only. The operation name for a successfully created analysis operation, if any. + * The normalized score, which is the score divided by the potential score. Any manual edits are included if they exist. */ - analysisOperation?: string | null; + normalizedScore?: number | null; /** - * Output only. The redaction config applied to the uploaded conversation. + * The maximum potential overall score of the scorecard. Any questions answered using `na_value` are excluded from this calculation. */ - appliedRedactionConfig?: Schema$GoogleCloudContactcenterinsightsV1RedactionConfig; + potentialScore?: number | null; /** - * Output only. The time the operation was created. + * Set of QaAnswers represented in the result. */ - createTime?: string | null; + qaAnswers?: Schema$GoogleCloudContactcenterinsightsV1QaAnswer[]; /** - * Output only. The time the operation finished running. + * The QaScorecardRevision scored by this result. */ - endTime?: string | null; + qaScorecardRevision?: string | null; /** - * Output only. The original request. + * Collection of tags and their scores. */ - request?: Schema$GoogleCloudContactcenterinsightsV1UploadConversationRequest; + qaTagResults?: Schema$GoogleCloudContactcenterinsightsV1QaScorecardResultQaTagResult[]; + /** + * The overall numerical score of the result, incorporating any manual edits if they exist. + */ + score?: number | null; + /** + * List of all individual score sets. + */ + scoreSources?: Schema$GoogleCloudContactcenterinsightsV1QaScorecardResultScoreSource[]; } /** - * Request to upload a conversation. + * Tags and their corresponding results. */ - export interface Schema$GoogleCloudContactcenterinsightsV1UploadConversationRequest { - /** - * Required. The conversation resource to create. - */ - conversation?: Schema$GoogleCloudContactcenterinsightsV1Conversation; + export interface Schema$GoogleCloudContactcenterinsightsV1QaScorecardResultQaTagResult { /** - * Optional. A unique ID for the new conversation. This ID will become the final component of the conversation's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z0-9-]{4,64\}$`. Valid characters are `a-z-` + * The normalized score the tag applies to. */ - conversationId?: string | null; + normalizedScore?: number | null; /** - * Required. The parent resource of the conversation. + * The potential score the tag applies to. */ - parent?: string | null; + potentialScore?: number | null; /** - * Optional. DLP settings for transcript redaction. Will default to the config specified in Settings. + * The score the tag applies to. */ - redactionConfig?: Schema$GoogleCloudContactcenterinsightsV1RedactionConfig; + score?: number | null; /** - * Optional. Speech-to-Text configuration. Will default to the config specified in Settings. + * The tag the score applies to. */ - speechConfig?: Schema$GoogleCloudContactcenterinsightsV1SpeechConfig; + tag?: string | null; } /** - * The View resource. + * A scorecard result may have multiple sets of scores from varying sources, one of which becomes the "main" answer above. A ScoreSource represents each individual set of scores. */ - export interface Schema$GoogleCloudContactcenterinsightsV1View { + export interface Schema$GoogleCloudContactcenterinsightsV1QaScorecardResultScoreSource { /** - * Output only. The time at which this view was created. + * The normalized score, which is the score divided by the potential score. */ - createTime?: string | null; + normalizedScore?: number | null; /** - * The human-readable display name of the view. + * The maximum potential overall score of the scorecard. Any questions answered using `na_value` are excluded from this calculation. */ - displayName?: string | null; + potentialScore?: number | null; /** - * Immutable. The resource name of the view. Format: projects/{project\}/locations/{location\}/views/{view\} + * Collection of tags and their scores. */ - name?: string | null; + qaTagResults?: Schema$GoogleCloudContactcenterinsightsV1QaScorecardResultQaTagResult[]; /** - * Output only. The most recent time at which the view was updated. + * The overall numerical score of the result. */ - updateTime?: string | null; + score?: number | null; /** - * String with specific view properties, must be non-empty. + * What created the score. */ - value?: string | null; + sourceType?: string | null; } /** - * The response message for Operations.ListOperations. + * A revision of a QaScorecard. Modifying published scorecard fields would invalidate existing scorecard results — the questions may have changed, or the score weighting will make existing scores impossible to understand. So changes must create a new revision, rather than modifying the existing resource. */ - export interface Schema$GoogleLongrunningListOperationsResponse { + export interface Schema$GoogleCloudContactcenterinsightsV1QaScorecardRevision { /** - * The standard List next-page token. + * Output only. Alternative IDs for this revision of the scorecard, e.g., `latest`. */ - nextPageToken?: string | null; + alternateIds?: string[] | null; /** - * A list of operations that matches the specified filter in the request. + * Output only. The timestamp that the revision was created. */ - operations?: Schema$GoogleLongrunningOperation[]; - } - /** - * This resource represents a long-running operation that is the result of a network API call. - */ - export interface Schema$GoogleLongrunningOperation { + createTime?: string | null; /** - * If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. + * Identifier. The name of the scorecard revision. Format: projects/{project\}/locations/{location\}/qaScorecards/{qa_scorecard\}/revisions/{revision\} */ - done?: boolean | null; + name?: string | null; /** - * The error result of the operation in case of failure or cancellation. + * The snapshot of the scorecard at the time of this revision's creation. */ - error?: Schema$GoogleRpcStatus; + snapshot?: Schema$GoogleCloudContactcenterinsightsV1QaScorecard; /** - * Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. + * Output only. State of the scorecard revision, indicating whether it's ready to be used in analysis. */ - metadata?: {[key: string]: any} | null; + state?: string | null; + } + /** + * The metadata from querying metrics. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1QueryMetricsMetadata {} + /** + * The request for querying metrics. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1QueryMetricsRequest { /** - * The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id\}`. + * The dimensions that determine the grouping key for the query. Defaults to no dimension if this field is unspecified. If a dimension is specified, its key must also be specified. Each dimension's key must be unique. If a time granularity is also specified, metric values in the dimension will be bucketed by this granularity. Up to one dimension is supported for now. + */ + dimensions?: Schema$GoogleCloudContactcenterinsightsV1Dimension[]; + /** + * Required. Filter to select a subset of conversations to compute the metrics. Must specify a window of the conversation create time to compute the metrics. The returned metrics will be from the range [DATE(starting create time), DATE(ending create time)). + */ + filter?: string | null; + /** + * Measures to return. Defaults to all measures if this field is unspecified. A valid mask should traverse from the `measure` field from the response. For example, a path from a measure mask to get the conversation count is "conversation_measure.count". + */ + measureMask?: string | null; + /** + * The time granularity of each data point in the time series. Defaults to NONE if this field is unspecified. + */ + timeGranularity?: string | null; + } + /** + * The response for querying metrics. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1QueryMetricsResponse { + /** + * Required. The location of the data. "projects/{project\}/locations/{location\}" + */ + location?: string | null; + /** + * The macro average slice contains aggregated averages across the selected dimension. i.e. if group_by agent is specified this field will contain the average across all agents. This field is only populated if the request specifies a Dimension. + */ + macroAverageSlice?: Schema$GoogleCloudContactcenterinsightsV1QueryMetricsResponseSlice; + /** + * A slice contains a total and (if the request specified a time granularity) a time series of metric values. Each slice contains a unique combination of the cardinality of dimensions from the request. + */ + slices?: Schema$GoogleCloudContactcenterinsightsV1QueryMetricsResponseSlice[]; + /** + * The metrics last update time. + */ + updateTime?: string | null; + } + /** + * A slice contains a total and (if the request specified a time granularity) a time series of metric values. Each slice contains a unique combination of the cardinality of dimensions from the request. For example, if the request specifies a single ISSUE dimension and it has a cardinality of 2 (i.e. the data used to compute the metrics has 2 issues in total), the response will have 2 slices: * Slice 1 -\> dimensions=[Issue 1] * Slice 2 -\> dimensions=[Issue 2] + */ + export interface Schema$GoogleCloudContactcenterinsightsV1QueryMetricsResponseSlice { + /** + * A unique combination of dimensions that this slice represents. + */ + dimensions?: Schema$GoogleCloudContactcenterinsightsV1Dimension[]; + /** + * A time series of metric values. This is only populated if the request specifies a time granularity other than NONE. + */ + timeSeries?: Schema$GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceTimeSeries; + /** + * The total metric value. The interval of this data point is [starting create time, ending create time) from the request. + */ + total?: Schema$GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPoint; + } + /** + * A data point contains the metric values mapped to an interval. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPoint { + /** + * The measure related to conversations. + */ + conversationMeasure?: Schema$GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPointConversationMeasure; + /** + * The interval that this data point represents. * If this is the total data point, the interval is [starting create time, ending create time) from the request. * If this a data point from the time series, the interval is [time, time + time granularity from the request). + */ + interval?: Schema$GoogleTypeInterval; + } + /** + * The measure related to conversations. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPointConversationMeasure { + /** + * The average agent's sentiment score. + */ + averageAgentSentimentScore?: number | null; + /** + * The average client's sentiment score. + */ + averageClientSentimentScore?: number | null; + /** + * The average customer satisfaction rating. + */ + averageCustomerSatisfactionRating?: number | null; + /** + * The average duration. + */ + averageDuration?: string | null; + /** + * Average QA normalized score. Will exclude 0's in average calculation. + */ + averageQaNormalizedScore?: number | null; + /** + * Average QA normalized score averaged for questions averaged across all revisions of the parent scorecard. Will be only populated if the request specifies a dimension of QA_QUESTION_ID. + */ + averageQaQuestionNormalizedScore?: number | null; + /** + * The average silence percentage. + */ + averageSilencePercentage?: number | null; + /** + * The average turn count. + */ + averageTurnCount?: number | null; + /** + * The conversation count. + */ + conversationCount?: number | null; + /** + * Average QA normalized score for all the tags. + */ + qaTagScores?: Schema$GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPointConversationMeasureQaTagScore[]; + } + /** + * Average QA normalized score for the tag. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPointConversationMeasureQaTagScore { + /** + * Average tag normalized score per tag. + */ + averageTagNormalizedScore?: number | null; + /** + * Tag name. + */ + tag?: string | null; + } + /** + * A time series of metric values. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceTimeSeries { + /** + * The data points that make up the time series . + */ + dataPoints?: Schema$GoogleCloudContactcenterinsightsV1QueryMetricsResponseSliceDataPoint[]; + } + /** + * DLP resources used for redaction while ingesting conversations. DLP settings are applied to conversations ingested from the `UploadConversation` and `IngestConversations` endpoints, including conversation coming from CCAI Platform. They are not applied to conversations ingested from the `CreateConversation` endpoint or the Dialogflow / Agent Assist runtime integrations. When using Dialogflow / Agent Assist runtime integrations, redaction should be performed in Dialogflow / Agent Assist. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1RedactionConfig { + /** + * The fully-qualified DLP deidentify template resource name. Format: `projects/{project\}/deidentifyTemplates/{template\}` + */ + deidentifyTemplate?: string | null; + /** + * The fully-qualified DLP inspect template resource name. Format: `projects/{project\}/locations/{location\}/inspectTemplates/{template\}` + */ + inspectTemplate?: string | null; + } + /** + * An annotation that was generated during the customer and agent interaction. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1RuntimeAnnotation { + /** + * The unique identifier of the annotation. Format: projects/{project\}/locations/{location\}/conversationDatasets/{dataset\}/conversationDataItems/{data_item\}/conversationAnnotations/{annotation\} + */ + annotationId?: string | null; + /** + * The feedback that the customer has about the answer in `data`. + */ + answerFeedback?: Schema$GoogleCloudContactcenterinsightsV1AnswerFeedback; + /** + * Agent Assist Article Suggestion data. + */ + articleSuggestion?: Schema$GoogleCloudContactcenterinsightsV1ArticleSuggestionData; + /** + * Conversation summarization suggestion data. + */ + conversationSummarizationSuggestion?: Schema$GoogleCloudContactcenterinsightsV1ConversationSummarizationSuggestionData; + /** + * The time at which this annotation was created. + */ + createTime?: string | null; + /** + * Dialogflow interaction data. + */ + dialogflowInteraction?: Schema$GoogleCloudContactcenterinsightsV1DialogflowInteractionData; + /** + * The boundary in the conversation where the annotation ends, inclusive. + */ + endBoundary?: Schema$GoogleCloudContactcenterinsightsV1AnnotationBoundary; + /** + * Agent Assist FAQ answer data. + */ + faqAnswer?: Schema$GoogleCloudContactcenterinsightsV1FaqAnswerData; + /** + * Agent Assist Smart Compose suggestion data. + */ + smartComposeSuggestion?: Schema$GoogleCloudContactcenterinsightsV1SmartComposeSuggestionData; + /** + * Agent Assist Smart Reply data. + */ + smartReply?: Schema$GoogleCloudContactcenterinsightsV1SmartReplyData; + /** + * The boundary in the conversation where the annotation starts, inclusive. + */ + startBoundary?: Schema$GoogleCloudContactcenterinsightsV1AnnotationBoundary; + /** + * Explicit input used for generating the answer + */ + userInput?: Schema$GoogleCloudContactcenterinsightsV1RuntimeAnnotationUserInput; + } + /** + * Explicit input used for generating the answer + */ + export interface Schema$GoogleCloudContactcenterinsightsV1RuntimeAnnotationUserInput { + /** + * The resource name of associated generator. Format: `projects//locations//generators/` + */ + generatorName?: string | null; + /** + * Query text. Article Search uses this to store the input query used to generate the search results. + */ + query?: string | null; + /** + * Query source for the answer. + */ + querySource?: string | null; + } + /** + * The data for a sentiment annotation. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1SentimentData { + /** + * A non-negative number from 0 to infinity which represents the abolute magnitude of sentiment regardless of score. + */ + magnitude?: number | null; + /** + * The sentiment score between -1.0 (negative) and 1.0 (positive). + */ + score?: number | null; + } + /** + * The CCAI Insights project wide settings. Use these settings to configure the behavior of Insights. View these settings with [`getsettings`](https://cloud.google.com/contact-center/insights/docs/reference/rest/v1/projects.locations/getSettings) and change the settings with [`updateSettings`](https://cloud.google.com/contact-center/insights/docs/reference/rest/v1/projects.locations/updateSettings). + */ + export interface Schema$GoogleCloudContactcenterinsightsV1Settings { + /** + * Default analysis settings. + */ + analysisConfig?: Schema$GoogleCloudContactcenterinsightsV1SettingsAnalysisConfig; + /** + * The default TTL for newly-created conversations. If a conversation has a specified expiration, that value will be used instead. Changing this value will not change the expiration of existing conversations. Conversations with no expire time persist until they are deleted. + */ + conversationTtl?: string | null; + /** + * Output only. The time at which the settings was created. + */ + createTime?: string | null; + /** + * A language code to be applied to each transcript segment unless the segment already specifies a language code. Language code defaults to "en-US" if it is neither specified on the segment nor here. + */ + languageCode?: string | null; + /** + * Immutable. The resource name of the settings resource. Format: projects/{project\}/locations/{location\}/settings */ name?: string | null; /** - * The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + * A map that maps a notification trigger to a Pub/Sub topic. Each time a specified trigger occurs, Insights will notify the corresponding Pub/Sub topic. Keys are notification triggers. Supported keys are: * "all-triggers": Notify each time any of the supported triggers occurs. * "create-analysis": Notify each time an analysis is created. * "create-conversation": Notify each time a conversation is created. * "export-insights-data": Notify each time an export is complete. * "ingest-conversations": Notify each time an IngestConversations LRO is complete. * "update-conversation": Notify each time a conversation is updated via UpdateConversation. * "upload-conversation": Notify when an UploadConversation LRO is complete. Values are Pub/Sub topics. The format of each Pub/Sub topic is: projects/{project\}/topics/{topic\} */ - response?: {[key: string]: any} | null; + pubsubNotificationSettings?: {[key: string]: string} | null; + /** + * Default DLP redaction resources to be applied while ingesting conversations. This applies to conversations ingested from the `UploadConversation` and `IngestConversations` endpoints, including conversations coming from CCAI Platform. + */ + redactionConfig?: Schema$GoogleCloudContactcenterinsightsV1RedactionConfig; + /** + * Optional. Default Speech-to-Text resources to use while ingesting audio files. Optional, CCAI Insights will create a default if not provided. This applies to conversations ingested from the `UploadConversation` and `IngestConversations` endpoints, including conversations coming from CCAI Platform. + */ + speechConfig?: Schema$GoogleCloudContactcenterinsightsV1SpeechConfig; + /** + * Output only. The time at which the settings were last updated. + */ + updateTime?: string | null; } /** - * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} + * Default configuration when creating Analyses in Insights. */ - export interface Schema$GoogleProtobufEmpty {} + export interface Schema$GoogleCloudContactcenterinsightsV1SettingsAnalysisConfig { + /** + * To select the annotators to run and the phrase matchers to use (if any). If not specified, all annotators will be run. + */ + annotatorSelector?: Schema$GoogleCloudContactcenterinsightsV1AnnotatorSelector; + /** + * Percentage of conversations created using Dialogflow runtime integration to analyze automatically, between [0, 100]. + */ + runtimeIntegrationAnalysisPercentage?: number | null; + /** + * Percentage of conversations created using the UploadConversation endpoint to analyze automatically, between [0, 100]. + */ + uploadConversationAnalysisPercentage?: number | null; + } /** - * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + * The data for a silence annotation. */ - export interface Schema$GoogleRpcStatus { + export interface Schema$GoogleCloudContactcenterinsightsV1SilenceData {} + /** + * Agent Assist Smart Compose suggestion data. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1SmartComposeSuggestionData { /** - * The status code, which should be an enum value of google.rpc.Code. + * The system's confidence score that this suggestion is a good match for this conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely certain). */ - code?: number | null; + confidenceScore?: number | null; + /** + * Map that contains metadata about the Smart Compose suggestion and the document from which it originates. + */ + metadata?: {[key: string]: string} | null; + /** + * The name of the answer record. Format: projects/{project\}/locations/{location\}/answerRecords/{answer_record\} + */ + queryRecord?: string | null; + /** + * The content of the suggestion. + */ + suggestion?: string | null; + } + /** + * Agent Assist Smart Reply data. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1SmartReplyData { + /** + * The system's confidence score that this reply is a good match for this conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely certain). + */ + confidenceScore?: number | null; + /** + * Map that contains metadata about the Smart Reply and the document from which it originates. + */ + metadata?: {[key: string]: string} | null; + /** + * The name of the answer record. Format: projects/{project\}/locations/{location\}/answerRecords/{answer_record\} + */ + queryRecord?: string | null; + /** + * The content of the reply. + */ + reply?: string | null; + } + /** + * Speech-to-Text configuration. Speech-to-Text settings are applied to conversations ingested from the `UploadConversation` and `IngestConversations` endpoints, including conversation coming from CCAI Platform. They are not applied to conversations ingested from the `CreateConversation` endpoint. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1SpeechConfig { + /** + * The fully-qualified Speech Recognizer resource name. Format: `projects/{project_id\}/locations/{location\}/recognizer/{recognizer\}` + */ + speechRecognizer?: string | null; + } + /** + * Request for TuneQaScorecardRevision endpoint. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1TuneQaScorecardRevisionRequest { + /** + * Required. Filter for selecting the feedback labels that needs to be used for training. This filter can be used to limit the feedback labels used for tuning to a feedback labels created or updated for a specific time-window etc. + */ + filter?: string | null; + /** + * Optional. Run in validate only mode, no fine tuning will actually run. Data quality validations like training data distributions will run. Even when set to false, the data quality validations will still run but once the validations complete we will proceed with the fine tune, if applicable. + */ + validateOnly?: boolean | null; + } + /** + * Metadata for undeploying an issue model. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1UndeployIssueModelMetadata { + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * The original request for undeployment. + */ + request?: Schema$GoogleCloudContactcenterinsightsV1UndeployIssueModelRequest; + } + /** + * The request to undeploy an issue model. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1UndeployIssueModelRequest { + /** + * Required. The issue model to undeploy. + */ + name?: string | null; + } + /** + * The response to undeploy an issue model. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1UndeployIssueModelResponse {} + /** + * The request to undeploy a QaScorecardRevision + */ + export interface Schema$GoogleCloudContactcenterinsightsV1UndeployQaScorecardRevisionRequest {} + /** + * The metadata for an `UploadConversation` operation. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1UploadConversationMetadata { + /** + * Output only. The operation name for a successfully created analysis operation, if any. + */ + analysisOperation?: string | null; + /** + * Output only. The redaction config applied to the uploaded conversation. + */ + appliedRedactionConfig?: Schema$GoogleCloudContactcenterinsightsV1RedactionConfig; + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. The original request. + */ + request?: Schema$GoogleCloudContactcenterinsightsV1UploadConversationRequest; + } + /** + * Request to upload a conversation. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1UploadConversationRequest { + /** + * Required. The conversation resource to create. + */ + conversation?: Schema$GoogleCloudContactcenterinsightsV1Conversation; + /** + * Optional. A unique ID for the new conversation. This ID will become the final component of the conversation's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z0-9-]{4,64\}$`. Valid characters are `a-z-` + */ + conversationId?: string | null; + /** + * Required. The parent resource of the conversation. + */ + parent?: string | null; + /** + * Optional. DLP settings for transcript redaction. Will default to the config specified in Settings. + */ + redactionConfig?: Schema$GoogleCloudContactcenterinsightsV1RedactionConfig; + /** + * Optional. Speech-to-Text configuration. Will default to the config specified in Settings. + */ + speechConfig?: Schema$GoogleCloudContactcenterinsightsV1SpeechConfig; + } + /** + * The View resource. + */ + export interface Schema$GoogleCloudContactcenterinsightsV1View { + /** + * Output only. The time at which this view was created. + */ + createTime?: string | null; + /** + * The human-readable display name of the view. + */ + displayName?: string | null; + /** + * Immutable. The resource name of the view. Format: projects/{project\}/locations/{location\}/views/{view\} + */ + name?: string | null; + /** + * Output only. The most recent time at which the view was updated. + */ + updateTime?: string | null; + /** + * String with specific view properties, must be non-empty. + */ + value?: string | null; + } + /** + * The response message for Operations.ListOperations. + */ + export interface Schema$GoogleLongrunningListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string | null; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$GoogleLongrunningOperation[]; + } + /** + * This resource represents a long-running operation that is the result of a network API call. + */ + export interface Schema$GoogleLongrunningOperation { + /** + * If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. + */ + done?: boolean | null; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$GoogleRpcStatus; + /** + * Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. + */ + metadata?: {[key: string]: any} | null; + /** + * The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id\}`. + */ + name?: string | null; + /** + * The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: {[key: string]: any} | null; + } + /** + * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} + */ + export interface Schema$GoogleProtobufEmpty {} + /** + * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + */ + export interface Schema$GoogleRpcStatus { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number | null; + /** + * A list of messages that carry the error details. There is a common set of message types for APIs to use. + */ + details?: Array<{[key: string]: any}> | null; + /** + * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + */ + message?: string | null; + } + /** + * Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time. + */ + export interface Schema$GoogleTypeInterval { + /** + * Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end. + */ + endTime?: string | null; + /** + * Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start. + */ + startTime?: string | null; + } + + export class Resource$Projects { + context: APIRequestContext; + locations: Resource$Projects$Locations; + constructor(context: APIRequestContext) { + this.context = context; + this.locations = new Resource$Projects$Locations(this.context); + } + } + + export class Resource$Projects$Locations { + context: APIRequestContext; + analysisRules: Resource$Projects$Locations$Analysisrules; + authorizedViewSets: Resource$Projects$Locations$Authorizedviewsets; + conversations: Resource$Projects$Locations$Conversations; + encryptionSpec: Resource$Projects$Locations$Encryptionspec; + insightsdata: Resource$Projects$Locations$Insightsdata; + issueModels: Resource$Projects$Locations$Issuemodels; + operations: Resource$Projects$Locations$Operations; + phraseMatchers: Resource$Projects$Locations$Phrasematchers; + qaScorecards: Resource$Projects$Locations$Qascorecards; + views: Resource$Projects$Locations$Views; + constructor(context: APIRequestContext) { + this.context = context; + this.analysisRules = new Resource$Projects$Locations$Analysisrules( + this.context + ); + this.authorizedViewSets = + new Resource$Projects$Locations$Authorizedviewsets(this.context); + this.conversations = new Resource$Projects$Locations$Conversations( + this.context + ); + this.encryptionSpec = new Resource$Projects$Locations$Encryptionspec( + this.context + ); + this.insightsdata = new Resource$Projects$Locations$Insightsdata( + this.context + ); + this.issueModels = new Resource$Projects$Locations$Issuemodels( + this.context + ); + this.operations = new Resource$Projects$Locations$Operations( + this.context + ); + this.phraseMatchers = new Resource$Projects$Locations$Phrasematchers( + this.context + ); + this.qaScorecards = new Resource$Projects$Locations$Qascorecards( + this.context + ); + this.views = new Resource$Projects$Locations$Views(this.context); + } + + /** + * Download feedback labels in bulk. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + bulkDownloadFeedbackLabels( + params: Params$Resource$Projects$Locations$Bulkdownloadfeedbacklabels, + options: StreamMethodOptions + ): GaxiosPromise; + bulkDownloadFeedbackLabels( + params?: Params$Resource$Projects$Locations$Bulkdownloadfeedbacklabels, + options?: MethodOptions + ): GaxiosPromise; + bulkDownloadFeedbackLabels( + params: Params$Resource$Projects$Locations$Bulkdownloadfeedbacklabels, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + bulkDownloadFeedbackLabels( + params: Params$Resource$Projects$Locations$Bulkdownloadfeedbacklabels, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + bulkDownloadFeedbackLabels( + params: Params$Resource$Projects$Locations$Bulkdownloadfeedbacklabels, + callback: BodyResponseCallback + ): void; + bulkDownloadFeedbackLabels( + callback: BodyResponseCallback + ): void; + bulkDownloadFeedbackLabels( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Bulkdownloadfeedbacklabels + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Bulkdownloadfeedbacklabels; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Bulkdownloadfeedbacklabels; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}:bulkDownloadFeedbackLabels').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Upload feedback labels in bulk. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + bulkUploadFeedbackLabels( + params: Params$Resource$Projects$Locations$Bulkuploadfeedbacklabels, + options: StreamMethodOptions + ): GaxiosPromise; + bulkUploadFeedbackLabels( + params?: Params$Resource$Projects$Locations$Bulkuploadfeedbacklabels, + options?: MethodOptions + ): GaxiosPromise; + bulkUploadFeedbackLabels( + params: Params$Resource$Projects$Locations$Bulkuploadfeedbacklabels, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + bulkUploadFeedbackLabels( + params: Params$Resource$Projects$Locations$Bulkuploadfeedbacklabels, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + bulkUploadFeedbackLabels( + params: Params$Resource$Projects$Locations$Bulkuploadfeedbacklabels, + callback: BodyResponseCallback + ): void; + bulkUploadFeedbackLabels( + callback: BodyResponseCallback + ): void; + bulkUploadFeedbackLabels( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Bulkuploadfeedbacklabels + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Bulkuploadfeedbacklabels; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Bulkuploadfeedbacklabels; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}:bulkUploadFeedbackLabels').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets location-level encryption key specification. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getEncryptionSpec( + params: Params$Resource$Projects$Locations$Getencryptionspec, + options: StreamMethodOptions + ): GaxiosPromise; + getEncryptionSpec( + params?: Params$Resource$Projects$Locations$Getencryptionspec, + options?: MethodOptions + ): GaxiosPromise; + getEncryptionSpec( + params: Params$Resource$Projects$Locations$Getencryptionspec, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getEncryptionSpec( + params: Params$Resource$Projects$Locations$Getencryptionspec, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getEncryptionSpec( + params: Params$Resource$Projects$Locations$Getencryptionspec, + callback: BodyResponseCallback + ): void; + getEncryptionSpec( + callback: BodyResponseCallback + ): void; + getEncryptionSpec( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Getencryptionspec + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Getencryptionspec; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Getencryptionspec; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Gets project-level settings. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getSettings( + params: Params$Resource$Projects$Locations$Getsettings, + options: StreamMethodOptions + ): GaxiosPromise; + getSettings( + params?: Params$Resource$Projects$Locations$Getsettings, + options?: MethodOptions + ): GaxiosPromise; + getSettings( + params: Params$Resource$Projects$Locations$Getsettings, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getSettings( + params: Params$Resource$Projects$Locations$Getsettings, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getSettings( + params: Params$Resource$Projects$Locations$Getsettings, + callback: BodyResponseCallback + ): void; + getSettings( + callback: BodyResponseCallback + ): void; + getSettings( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Getsettings + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Getsettings; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Getsettings; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * List all feedback labels by project number. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + listAllFeedbackLabels( + params: Params$Resource$Projects$Locations$Listallfeedbacklabels, + options: StreamMethodOptions + ): GaxiosPromise; + listAllFeedbackLabels( + params?: Params$Resource$Projects$Locations$Listallfeedbacklabels, + options?: MethodOptions + ): GaxiosPromise; + listAllFeedbackLabels( + params: Params$Resource$Projects$Locations$Listallfeedbacklabels, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listAllFeedbackLabels( + params: Params$Resource$Projects$Locations$Listallfeedbacklabels, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listAllFeedbackLabels( + params: Params$Resource$Projects$Locations$Listallfeedbacklabels, + callback: BodyResponseCallback + ): void; + listAllFeedbackLabels( + callback: BodyResponseCallback + ): void; + listAllFeedbackLabels( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Listallfeedbacklabels + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Listallfeedbacklabels; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Listallfeedbacklabels; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}:listAllFeedbackLabels').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Query metrics. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + queryMetrics( + params: Params$Resource$Projects$Locations$Querymetrics, + options: StreamMethodOptions + ): GaxiosPromise; + queryMetrics( + params?: Params$Resource$Projects$Locations$Querymetrics, + options?: MethodOptions + ): GaxiosPromise; + queryMetrics( + params: Params$Resource$Projects$Locations$Querymetrics, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + queryMetrics( + params: Params$Resource$Projects$Locations$Querymetrics, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + queryMetrics( + params: Params$Resource$Projects$Locations$Querymetrics, + callback: BodyResponseCallback + ): void; + queryMetrics( + callback: BodyResponseCallback + ): void; + queryMetrics( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Querymetrics + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Querymetrics; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Querymetrics; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+location}:queryMetrics').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['location'], + pathParams: ['location'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates project-level settings. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + updateSettings( + params: Params$Resource$Projects$Locations$Updatesettings, + options: StreamMethodOptions + ): GaxiosPromise; + updateSettings( + params?: Params$Resource$Projects$Locations$Updatesettings, + options?: MethodOptions + ): GaxiosPromise; + updateSettings( + params: Params$Resource$Projects$Locations$Updatesettings, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateSettings( + params: Params$Resource$Projects$Locations$Updatesettings, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateSettings( + params: Params$Resource$Projects$Locations$Updatesettings, + callback: BodyResponseCallback + ): void; + updateSettings( + callback: BodyResponseCallback + ): void; + updateSettings( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Updatesettings + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Updatesettings; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Updatesettings; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Bulkdownloadfeedbacklabels + extends StandardParameters { + /** + * Required. The parent resource for new feedback labels. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudContactcenterinsightsV1BulkDownloadFeedbackLabelsRequest; + } + export interface Params$Resource$Projects$Locations$Bulkuploadfeedbacklabels + extends StandardParameters { + /** + * Required. The parent resource for new feedback labels. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudContactcenterinsightsV1BulkUploadFeedbackLabelsRequest; + } + export interface Params$Resource$Projects$Locations$Getencryptionspec + extends StandardParameters { + /** + * Required. The name of the encryption spec resource to get. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Getsettings + extends StandardParameters { + /** + * Required. The name of the settings resource to get. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Listallfeedbacklabels + extends StandardParameters { + /** + * Optional. A filter to reduce results to a specific subset in the entire project. Supports disjunctions (OR) and conjunctions (AND). Supported fields: * `issue_model_id` * `qa_question_id` * `min_create_time` * `max_create_time` * `min_update_time` * `max_update_time` * `feedback_label_type`: QUALITY_AI, TOPIC_MODELING + */ + filter?: string; + /** + * Optional. The maximum number of feedback labels to return in the response. A valid page size ranges from 0 to 100,000 inclusive. If the page size is zero or unspecified, a default page size of 100 will be chosen. Note that a call might return fewer results than the requested page size. + */ + pageSize?: number; + /** + * Optional. The value returned by the last `ListAllFeedbackLabelsResponse`. This value indicates that this is a continuation of a prior `ListAllFeedbackLabels` call and that the system should return the next page of data. + */ + pageToken?: string; + /** + * Required. The parent resource of all feedback labels per project. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Querymetrics + extends StandardParameters { + /** + * Required. The location of the data. "projects/{project\}/locations/{location\}" + */ + location?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudContactcenterinsightsV1QueryMetricsRequest; + } + export interface Params$Resource$Projects$Locations$Updatesettings + extends StandardParameters { + /** + * Immutable. The resource name of the settings resource. Format: projects/{project\}/locations/{location\}/settings + */ + name?: string; + /** + * Required. The list of fields to be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudContactcenterinsightsV1Settings; + } + + export class Resource$Projects$Locations$Analysisrules { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a analysis rule. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Analysisrules$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Analysisrules$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Analysisrules$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Analysisrules$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Analysisrules$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Analysisrules$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Analysisrules$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Analysisrules$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/analysisRules').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Deletes a analysis rule. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Analysisrules$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Analysisrules$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Analysisrules$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Analysisrules$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Analysisrules$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Analysisrules$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Analysisrules$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Analysisrules$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Get a analysis rule. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Analysisrules$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Analysisrules$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Analysisrules$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Analysisrules$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Analysisrules$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Analysisrules$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Analysisrules$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Analysisrules$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Lists analysis rules. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Analysisrules$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Analysisrules$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Analysisrules$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Analysisrules$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Analysisrules$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Analysisrules$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Analysisrules$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Analysisrules$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/analysisRules').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates a analysis rule. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Analysisrules$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Analysisrules$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Analysisrules$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Analysisrules$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Analysisrules$Patch, + callback: BodyResponseCallback + ): void; + patch( + callback: BodyResponseCallback + ): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Analysisrules$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Analysisrules$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Analysisrules$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Analysisrules$Create + extends StandardParameters { + /** + * Required. The parent resource of the analysis rule. Required. The location to create a analysis rule for. Format: `projects//locations/` or `projects//locations/` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudContactcenterinsightsV1AnalysisRule; + } + export interface Params$Resource$Projects$Locations$Analysisrules$Delete + extends StandardParameters { + /** + * Required. The name of the analysis rule to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Analysisrules$Get + extends StandardParameters { + /** + * Required. The name of the AnalysisRule to get. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Analysisrules$List + extends StandardParameters { + /** + * Optional. The maximum number of analysis rule to return in the response. If this value is zero, the service will select a default size. A call may return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available. + */ + pageSize?: number; + /** + * Optional. The value returned by the last `ListAnalysisRulesResponse`; indicates that this is a continuation of a prior `ListAnalysisRules` call and the system should return the next page of data. + */ + pageToken?: string; + /** + * Required. The parent resource of the analysis rules. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Analysisrules$Patch + extends StandardParameters { + /** + * Identifier. The resource name of the analysis rule. Format: projects/{project\}/locations/{location\}/analysisRules/{analysis_rule\} + */ + name?: string; + /** + * Optional. The list of fields to be updated. If the update_mask is not provided, the update will be applied to all fields. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudContactcenterinsightsV1AnalysisRule; + } + + export class Resource$Projects$Locations$Authorizedviewsets { + context: APIRequestContext; + authorizedViews: Resource$Projects$Locations$Authorizedviewsets$Authorizedviews; + constructor(context: APIRequestContext) { + this.context = context; + this.authorizedViews = + new Resource$Projects$Locations$Authorizedviewsets$Authorizedviews( + this.context + ); + } + } + + export class Resource$Projects$Locations$Authorizedviewsets$Authorizedviews { + context: APIRequestContext; + conversations: Resource$Projects$Locations$Authorizedviewsets$Authorizedviews$Conversations; + constructor(context: APIRequestContext) { + this.context = context; + this.conversations = + new Resource$Projects$Locations$Authorizedviewsets$Authorizedviews$Conversations( + this.context + ); + } + + /** + * Query metrics. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + queryMetrics( + params: Params$Resource$Projects$Locations$Authorizedviewsets$Authorizedviews$Querymetrics, + options: StreamMethodOptions + ): GaxiosPromise; + queryMetrics( + params?: Params$Resource$Projects$Locations$Authorizedviewsets$Authorizedviews$Querymetrics, + options?: MethodOptions + ): GaxiosPromise; + queryMetrics( + params: Params$Resource$Projects$Locations$Authorizedviewsets$Authorizedviews$Querymetrics, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + queryMetrics( + params: Params$Resource$Projects$Locations$Authorizedviewsets$Authorizedviews$Querymetrics, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + queryMetrics( + params: Params$Resource$Projects$Locations$Authorizedviewsets$Authorizedviews$Querymetrics, + callback: BodyResponseCallback + ): void; + queryMetrics( + callback: BodyResponseCallback + ): void; + queryMetrics( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Authorizedviewsets$Authorizedviews$Querymetrics + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Authorizedviewsets$Authorizedviews$Querymetrics; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Authorizedviewsets$Authorizedviews$Querymetrics; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+location}:queryMetrics').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['location'], + pathParams: ['location'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Authorizedviewsets$Authorizedviews$Querymetrics + extends StandardParameters { + /** + * Required. The location of the data. "projects/{project\}/locations/{location\}" + */ + location?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudContactcenterinsightsV1QueryMetricsRequest; + } + + export class Resource$Projects$Locations$Authorizedviewsets$Authorizedviews$Conversations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets conversation statistics. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + calculateStats( + params: Params$Resource$Projects$Locations$Authorizedviewsets$Authorizedviews$Conversations$Calculatestats, + options: StreamMethodOptions + ): GaxiosPromise; + calculateStats( + params?: Params$Resource$Projects$Locations$Authorizedviewsets$Authorizedviews$Conversations$Calculatestats, + options?: MethodOptions + ): GaxiosPromise; + calculateStats( + params: Params$Resource$Projects$Locations$Authorizedviewsets$Authorizedviews$Conversations$Calculatestats, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + calculateStats( + params: Params$Resource$Projects$Locations$Authorizedviewsets$Authorizedviews$Conversations$Calculatestats, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + calculateStats( + params: Params$Resource$Projects$Locations$Authorizedviewsets$Authorizedviews$Conversations$Calculatestats, + callback: BodyResponseCallback + ): void; + calculateStats( + callback: BodyResponseCallback + ): void; + calculateStats( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Authorizedviewsets$Authorizedviews$Conversations$Calculatestats + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Authorizedviewsets$Authorizedviews$Conversations$Calculatestats; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Authorizedviewsets$Authorizedviews$Conversations$Calculatestats; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1/{+location}/conversations:calculateStats' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['location'], + pathParams: ['location'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Authorizedviewsets$Authorizedviews$Conversations$Calculatestats + extends StandardParameters { + /** + * A filter to reduce results to a specific subset. This field is useful for getting statistics about conversations with specific properties. + */ + filter?: string; + /** + * Required. The location of the conversations. + */ + location?: string; + } + + export class Resource$Projects$Locations$Conversations { + context: APIRequestContext; + analyses: Resource$Projects$Locations$Conversations$Analyses; + feedbackLabels: Resource$Projects$Locations$Conversations$Feedbacklabels; + constructor(context: APIRequestContext) { + this.context = context; + this.analyses = new Resource$Projects$Locations$Conversations$Analyses( + this.context + ); + this.feedbackLabels = + new Resource$Projects$Locations$Conversations$Feedbacklabels( + this.context + ); + } + + /** + * Analyzes multiple conversations in a single request. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + bulkAnalyze( + params: Params$Resource$Projects$Locations$Conversations$Bulkanalyze, + options: StreamMethodOptions + ): GaxiosPromise; + bulkAnalyze( + params?: Params$Resource$Projects$Locations$Conversations$Bulkanalyze, + options?: MethodOptions + ): GaxiosPromise; + bulkAnalyze( + params: Params$Resource$Projects$Locations$Conversations$Bulkanalyze, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + bulkAnalyze( + params: Params$Resource$Projects$Locations$Conversations$Bulkanalyze, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + bulkAnalyze( + params: Params$Resource$Projects$Locations$Conversations$Bulkanalyze, + callback: BodyResponseCallback + ): void; + bulkAnalyze( + callback: BodyResponseCallback + ): void; + bulkAnalyze( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Conversations$Bulkanalyze + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Conversations$Bulkanalyze; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Conversations$Bulkanalyze; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/conversations:bulkAnalyze').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes multiple conversations in a single request. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + bulkDelete( + params: Params$Resource$Projects$Locations$Conversations$Bulkdelete, + options: StreamMethodOptions + ): GaxiosPromise; + bulkDelete( + params?: Params$Resource$Projects$Locations$Conversations$Bulkdelete, + options?: MethodOptions + ): GaxiosPromise; + bulkDelete( + params: Params$Resource$Projects$Locations$Conversations$Bulkdelete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + bulkDelete( + params: Params$Resource$Projects$Locations$Conversations$Bulkdelete, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + bulkDelete( + params: Params$Resource$Projects$Locations$Conversations$Bulkdelete, + callback: BodyResponseCallback + ): void; + bulkDelete( + callback: BodyResponseCallback + ): void; + bulkDelete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Conversations$Bulkdelete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Conversations$Bulkdelete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Conversations$Bulkdelete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/conversations:bulkDelete').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets conversation statistics. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + calculateStats( + params: Params$Resource$Projects$Locations$Conversations$Calculatestats, + options: StreamMethodOptions + ): GaxiosPromise; + calculateStats( + params?: Params$Resource$Projects$Locations$Conversations$Calculatestats, + options?: MethodOptions + ): GaxiosPromise; + calculateStats( + params: Params$Resource$Projects$Locations$Conversations$Calculatestats, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + calculateStats( + params: Params$Resource$Projects$Locations$Conversations$Calculatestats, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + calculateStats( + params: Params$Resource$Projects$Locations$Conversations$Calculatestats, + callback: BodyResponseCallback + ): void; + calculateStats( + callback: BodyResponseCallback + ): void; + calculateStats( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Conversations$Calculatestats + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Conversations$Calculatestats; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Conversations$Calculatestats; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1/{+location}/conversations:calculateStats' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['location'], + pathParams: ['location'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Creates a conversation. Note that this method does not support audio transcription or redaction. Use `conversations.upload` instead. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Conversations$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Conversations$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Conversations$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Conversations$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Conversations$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Conversations$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Conversations$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Conversations$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/conversations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Deletes a conversation. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Conversations$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Conversations$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Conversations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Conversations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Conversations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Conversations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Conversations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Conversations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets a conversation. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Conversations$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Conversations$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Conversations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Conversations$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Conversations$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Conversations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Conversations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Conversations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Imports conversations and processes them according to the user's configuration. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + ingest( + params: Params$Resource$Projects$Locations$Conversations$Ingest, + options: StreamMethodOptions + ): GaxiosPromise; + ingest( + params?: Params$Resource$Projects$Locations$Conversations$Ingest, + options?: MethodOptions + ): GaxiosPromise; + ingest( + params: Params$Resource$Projects$Locations$Conversations$Ingest, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + ingest( + params: Params$Resource$Projects$Locations$Conversations$Ingest, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + ingest( + params: Params$Resource$Projects$Locations$Conversations$Ingest, + callback: BodyResponseCallback + ): void; + ingest( + callback: BodyResponseCallback + ): void; + ingest( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Conversations$Ingest + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Conversations$Ingest; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Conversations$Ingest; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/conversations:ingest').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists conversations. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Conversations$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Conversations$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Conversations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Conversations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Conversations$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Conversations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Conversations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Conversations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/conversations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates a conversation. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Conversations$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Conversations$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Conversations$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Conversations$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Conversations$Patch, + callback: BodyResponseCallback + ): void; + patch( + callback: BodyResponseCallback + ): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Conversations$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Conversations$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Conversations$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Create a long-running conversation upload operation. This method differs from `CreateConversation` by allowing audio transcription and optional DLP redaction. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + upload( + params: Params$Resource$Projects$Locations$Conversations$Upload, + options: StreamMethodOptions + ): GaxiosPromise; + upload( + params?: Params$Resource$Projects$Locations$Conversations$Upload, + options?: MethodOptions + ): GaxiosPromise; + upload( + params: Params$Resource$Projects$Locations$Conversations$Upload, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + upload( + params: Params$Resource$Projects$Locations$Conversations$Upload, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + upload( + params: Params$Resource$Projects$Locations$Conversations$Upload, + callback: BodyResponseCallback + ): void; + upload( + callback: BodyResponseCallback + ): void; + upload( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Conversations$Upload + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Conversations$Upload; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Conversations$Upload; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/conversations:upload').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Conversations$Bulkanalyze + extends StandardParameters { + /** + * Required. The parent resource to create analyses in. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsRequest; + } + export interface Params$Resource$Projects$Locations$Conversations$Bulkdelete + extends StandardParameters { + /** + * Required. The parent resource to delete conversations from. Format: projects/{project\}/locations/{location\} + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudContactcenterinsightsV1BulkDeleteConversationsRequest; + } + export interface Params$Resource$Projects$Locations$Conversations$Calculatestats + extends StandardParameters { + /** + * A filter to reduce results to a specific subset. This field is useful for getting statistics about conversations with specific properties. + */ + filter?: string; + /** + * Required. The location of the conversations. + */ + location?: string; + } + export interface Params$Resource$Projects$Locations$Conversations$Create + extends StandardParameters { + /** + * A unique ID for the new conversation. This ID will become the final component of the conversation's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z0-9-]{4,64\}$`. Valid characters are `a-z-` + */ + conversationId?: string; + /** + * Required. The parent resource of the conversation. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudContactcenterinsightsV1Conversation; + } + export interface Params$Resource$Projects$Locations$Conversations$Delete + extends StandardParameters { + /** + * If set to true, all of this conversation's analyses will also be deleted. Otherwise, the request will only succeed if the conversation has no analyses. + */ + force?: boolean; + /** + * Required. The name of the conversation to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Conversations$Get + extends StandardParameters { + /** + * Required. The name of the conversation to get. + */ + name?: string; + /** + * The level of details of the conversation. Default is `FULL`. + */ + view?: string; + } + export interface Params$Resource$Projects$Locations$Conversations$Ingest + extends StandardParameters { + /** + * Required. The parent resource for new conversations. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudContactcenterinsightsV1IngestConversationsRequest; + } + export interface Params$Resource$Projects$Locations$Conversations$List + extends StandardParameters { + /** + * A filter to reduce results to a specific subset. Useful for querying conversations with specific properties. + */ + filter?: string; + /** + * Optional. The attribute by which to order conversations in the response. If empty, conversations will be ordered by descending creation time. Supported values are one of the following: * create_time * customer_satisfaction_rating * duration * latest_analysis * start_time * turn_count The default sort order is ascending. To specify order, append `asc` or `desc` (`create_time desc`). For more details, see [Google AIPs Ordering](https://google.aip.dev/132#ordering). + */ + orderBy?: string; + /** + * The maximum number of conversations to return in the response. A valid page size ranges from 0 to 100,000 inclusive. If the page size is zero or unspecified, a default page size of 100 will be chosen. Note that a call might return fewer results than the requested page size. + */ + pageSize?: number; + /** + * The value returned by the last `ListConversationsResponse`. This value indicates that this is a continuation of a prior `ListConversations` call and that the system should return the next page of data. + */ + pageToken?: string; + /** + * Required. The parent resource of the conversation. + */ + parent?: string; + /** + * The level of details of the conversation. Default is `BASIC`. + */ + view?: string; + } + export interface Params$Resource$Projects$Locations$Conversations$Patch + extends StandardParameters { + /** + * Immutable. The resource name of the conversation. Format: projects/{project\}/locations/{location\}/conversations/{conversation\} + */ + name?: string; + /** + * The list of fields to be updated. All possible fields can be updated by passing `*`, or a subset of the following updateable fields can be provided: * `agent_id` * `language_code` * `labels` * `metadata` * `quality_metadata` * `call_metadata` * `start_time` * `expire_time` or `ttl` * `data_source.gcs_source.audio_uri` or `data_source.dialogflow_source.audio_uri` + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudContactcenterinsightsV1Conversation; + } + export interface Params$Resource$Projects$Locations$Conversations$Upload + extends StandardParameters { + /** + * Required. The parent resource of the conversation. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudContactcenterinsightsV1UploadConversationRequest; + } + + export class Resource$Projects$Locations$Conversations$Analyses { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates an analysis. The long running operation is done when the analysis has completed. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Conversations$Analyses$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Conversations$Analyses$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Conversations$Analyses$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Conversations$Analyses$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Conversations$Analyses$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Conversations$Analyses$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Conversations$Analyses$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Conversations$Analyses$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/analyses').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes an analysis. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Conversations$Analyses$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Conversations$Analyses$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Conversations$Analyses$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Conversations$Analyses$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Conversations$Analyses$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Conversations$Analyses$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Conversations$Analyses$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Conversations$Analyses$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets an analysis. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Conversations$Analyses$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Conversations$Analyses$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Conversations$Analyses$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Conversations$Analyses$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Conversations$Analyses$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Conversations$Analyses$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Conversations$Analyses$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Conversations$Analyses$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Lists analyses. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Conversations$Analyses$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Conversations$Analyses$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Conversations$Analyses$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Conversations$Analyses$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Conversations$Analyses$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Conversations$Analyses$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Conversations$Analyses$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Conversations$Analyses$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/analyses').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Conversations$Analyses$Create + extends StandardParameters { + /** + * Required. The parent resource of the analysis. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudContactcenterinsightsV1Analysis; + } + export interface Params$Resource$Projects$Locations$Conversations$Analyses$Delete + extends StandardParameters { + /** + * Required. The name of the analysis to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Conversations$Analyses$Get + extends StandardParameters { + /** + * Required. The name of the analysis to get. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Conversations$Analyses$List + extends StandardParameters { + /** + * A filter to reduce results to a specific subset. Useful for querying conversations with specific properties. + */ + filter?: string; + /** + * The maximum number of analyses to return in the response. If this value is zero, the service will select a default size. A call might return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available. + */ + pageSize?: number; + /** + * The value returned by the last `ListAnalysesResponse`; indicates that this is a continuation of a prior `ListAnalyses` call and the system should return the next page of data. + */ + pageToken?: string; + /** + * Required. The parent resource of the analyses. + */ + parent?: string; + } + + export class Resource$Projects$Locations$Conversations$Feedbacklabels { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Create feedback label. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/feedbackLabels').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Delete feedback label. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** - * A list of messages that carry the error details. There is a common set of message types for APIs to use. + * Get feedback label. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - details?: Array<{[key: string]: any}> | null; + get( + params: Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + /** - * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + * List feedback labels. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - message?: string | null; - } + list( + params: Params$Resource$Projects$Locations$Conversations$Feedbacklabels$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Conversations$Feedbacklabels$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Conversations$Feedbacklabels$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Conversations$Feedbacklabels$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Conversations$Feedbacklabels$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Conversations$Feedbacklabels$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Conversations$Feedbacklabels$List; + let options = (optionsOrCallback || {}) as MethodOptions; - export class Resource$Projects { - context: APIRequestContext; - locations: Resource$Projects$Locations; - constructor(context: APIRequestContext) { - this.context = context; - this.locations = new Resource$Projects$Locations(this.context); - } - } + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Conversations$Feedbacklabels$List; + options = {}; + } - export class Resource$Projects$Locations { - context: APIRequestContext; - conversations: Resource$Projects$Locations$Conversations; - encryptionSpec: Resource$Projects$Locations$Encryptionspec; - insightsdata: Resource$Projects$Locations$Insightsdata; - issueModels: Resource$Projects$Locations$Issuemodels; - operations: Resource$Projects$Locations$Operations; - phraseMatchers: Resource$Projects$Locations$Phrasematchers; - views: Resource$Projects$Locations$Views; - constructor(context: APIRequestContext) { - this.context = context; - this.conversations = new Resource$Projects$Locations$Conversations( - this.context - ); - this.encryptionSpec = new Resource$Projects$Locations$Encryptionspec( - this.context - ); - this.insightsdata = new Resource$Projects$Locations$Insightsdata( - this.context - ); - this.issueModels = new Resource$Projects$Locations$Issuemodels( - this.context - ); - this.operations = new Resource$Projects$Locations$Operations( - this.context - ); - this.phraseMatchers = new Resource$Projects$Locations$Phrasematchers( - this.context - ); - this.views = new Resource$Projects$Locations$Views(this.context); + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/feedbackLabels').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } } /** - * Gets location-level encryption key specification. + * Update feedback label. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getEncryptionSpec( - params: Params$Resource$Projects$Locations$Getencryptionspec, + patch( + params: Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Patch, options: StreamMethodOptions ): GaxiosPromise; - getEncryptionSpec( - params?: Params$Resource$Projects$Locations$Getencryptionspec, + patch( + params?: Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Patch, options?: MethodOptions - ): GaxiosPromise; - getEncryptionSpec( - params: Params$Resource$Projects$Locations$Getencryptionspec, + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getEncryptionSpec( - params: Params$Resource$Projects$Locations$Getencryptionspec, + patch( + params: Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Patch, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getEncryptionSpec( - params: Params$Resource$Projects$Locations$Getencryptionspec, - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Patch, + callback: BodyResponseCallback ): void; - getEncryptionSpec( - callback: BodyResponseCallback + patch( + callback: BodyResponseCallback ): void; - getEncryptionSpec( + patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Getencryptionspec - | BodyResponseCallback + | Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Patch + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Getencryptionspec; + {}) as Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Getencryptionspec; + params = + {} as Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Patch; options = {}; } @@ -3969,7 +8984,7 @@ export namespace contactcenterinsights_v1 { options: Object.assign( { url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'PATCH', apiVersion: '', }, options @@ -3980,76 +8995,150 @@ export namespace contactcenterinsights_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } + } + export interface Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Create + extends StandardParameters { /** - * Gets project-level settings. + * Optional. The ID of the feedback label to create. If one is not specified it will be generated by the server. + */ + feedbackLabelId?: string; + /** + * Required. The parent resource of the feedback label. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudContactcenterinsightsV1FeedbackLabel; + } + export interface Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Delete + extends StandardParameters { + /** + * Required. The name of the feedback label to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Get + extends StandardParameters { + /** + * Required. The name of the feedback label to get. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Conversations$Feedbacklabels$List + extends StandardParameters { + /** + * Optional. A filter to reduce results to a specific subset. Supports disjunctions (OR) and conjunctions (AND). Automatically sorts by conversation ID. To sort by all feedback labels in a project see ListAllFeedbackLabels. Supported fields: * `issue_model_id` * `qa_question_id` * `qa_scorecard_id` * `min_create_time` * `max_create_time` * `min_update_time` * `max_update_time` * `feedback_label_type`: QUALITY_AI, TOPIC_MODELING + */ + filter?: string; + /** + * Optional. The maximum number of feedback labels to return in the response. A valid page size ranges from 0 to 100,000 inclusive. If the page size is zero or unspecified, a default page size of 100 will be chosen. Note that a call might return fewer results than the requested page size. + */ + pageSize?: number; + /** + * Optional. The value returned by the last `ListFeedbackLabelsResponse`. This value indicates that this is a continuation of a prior `ListFeedbackLabels` call and that the system should return the next page of data. + */ + pageToken?: string; + /** + * Required. The parent resource of the feedback labels. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Conversations$Feedbacklabels$Patch + extends StandardParameters { + /** + * Immutable. Resource name of the FeedbackLabel. Format: projects/{project\}/locations/{location\}/conversations/{conversation\}/feedbackLabels/{feedback_label\} + */ + name?: string; + /** + * Required. The list of fields to be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudContactcenterinsightsV1FeedbackLabel; + } + + export class Resource$Projects$Locations$Encryptionspec { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Initializes a location-level encryption key specification. An error will result if the location has resources already created before the initialization. After the encryption specification is initialized at a location, it is immutable and all newly created resources under the location will be encrypted with the existing specification. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getSettings( - params: Params$Resource$Projects$Locations$Getsettings, + initialize( + params: Params$Resource$Projects$Locations$Encryptionspec$Initialize, options: StreamMethodOptions ): GaxiosPromise; - getSettings( - params?: Params$Resource$Projects$Locations$Getsettings, + initialize( + params?: Params$Resource$Projects$Locations$Encryptionspec$Initialize, options?: MethodOptions - ): GaxiosPromise; - getSettings( - params: Params$Resource$Projects$Locations$Getsettings, + ): GaxiosPromise; + initialize( + params: Params$Resource$Projects$Locations$Encryptionspec$Initialize, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getSettings( - params: Params$Resource$Projects$Locations$Getsettings, + initialize( + params: Params$Resource$Projects$Locations$Encryptionspec$Initialize, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getSettings( - params: Params$Resource$Projects$Locations$Getsettings, - callback: BodyResponseCallback + initialize( + params: Params$Resource$Projects$Locations$Encryptionspec$Initialize, + callback: BodyResponseCallback ): void; - getSettings( - callback: BodyResponseCallback + initialize( + callback: BodyResponseCallback ): void; - getSettings( + initialize( paramsOrCallback?: - | Params$Resource$Projects$Locations$Getsettings - | BodyResponseCallback + | Params$Resource$Projects$Locations$Encryptionspec$Initialize + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Getsettings; + {}) as Params$Resource$Projects$Locations$Encryptionspec$Initialize; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Getsettings; + params = + {} as Params$Resource$Projects$Locations$Encryptionspec$Initialize; options = {}; } @@ -4063,8 +9152,11 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + url: (rootUrl + '/v1/{+name}:initialize').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', apiVersion: '', }, options @@ -4075,76 +9167,94 @@ export namespace contactcenterinsights_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Projects$Locations$Encryptionspec$Initialize + extends StandardParameters { /** - * Updates project-level settings. + * Immutable. The resource name of the encryption key specification resource. Format: projects/{project\}/locations/{location\}/encryptionSpec + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecRequest; + } + + export class Resource$Projects$Locations$Insightsdata { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Export insights data to a destination defined in the request body. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - updateSettings( - params: Params$Resource$Projects$Locations$Updatesettings, + export( + params: Params$Resource$Projects$Locations$Insightsdata$Export, options: StreamMethodOptions ): GaxiosPromise; - updateSettings( - params?: Params$Resource$Projects$Locations$Updatesettings, + export( + params?: Params$Resource$Projects$Locations$Insightsdata$Export, options?: MethodOptions - ): GaxiosPromise; - updateSettings( - params: Params$Resource$Projects$Locations$Updatesettings, + ): GaxiosPromise; + export( + params: Params$Resource$Projects$Locations$Insightsdata$Export, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - updateSettings( - params: Params$Resource$Projects$Locations$Updatesettings, + export( + params: Params$Resource$Projects$Locations$Insightsdata$Export, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - updateSettings( - params: Params$Resource$Projects$Locations$Updatesettings, - callback: BodyResponseCallback + export( + params: Params$Resource$Projects$Locations$Insightsdata$Export, + callback: BodyResponseCallback ): void; - updateSettings( - callback: BodyResponseCallback + export( + callback: BodyResponseCallback ): void; - updateSettings( + export( paramsOrCallback?: - | Params$Resource$Projects$Locations$Updatesettings - | BodyResponseCallback + | Params$Resource$Projects$Locations$Insightsdata$Export + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Updatesettings; + {}) as Params$Resource$Projects$Locations$Insightsdata$Export; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Updatesettings; + params = {} as Params$Resource$Projects$Locations$Insightsdata$Export; options = {}; } @@ -4158,131 +9268,114 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + url: (rootUrl + '/v1/{+parent}/insightsdata:export').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } } - export interface Params$Resource$Projects$Locations$Getencryptionspec - extends StandardParameters { - /** - * Required. The name of the encryption spec resource to get. - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Getsettings - extends StandardParameters { - /** - * Required. The name of the settings resource to get. - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Updatesettings + export interface Params$Resource$Projects$Locations$Insightsdata$Export extends StandardParameters { /** - * Immutable. The resource name of the settings resource. Format: projects/{project\}/locations/{location\}/settings - */ - name?: string; - /** - * Required. The list of fields to be updated. + * Required. The parent resource to export data from. */ - updateMask?: string; + parent?: string; /** * Request body metadata */ - requestBody?: Schema$GoogleCloudContactcenterinsightsV1Settings; + requestBody?: Schema$GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest; } - export class Resource$Projects$Locations$Conversations { + export class Resource$Projects$Locations$Issuemodels { context: APIRequestContext; - analyses: Resource$Projects$Locations$Conversations$Analyses; + issues: Resource$Projects$Locations$Issuemodels$Issues; constructor(context: APIRequestContext) { this.context = context; - this.analyses = new Resource$Projects$Locations$Conversations$Analyses( + this.issues = new Resource$Projects$Locations$Issuemodels$Issues( this.context ); } /** - * Analyzes multiple conversations in a single request. + * Gets an issue model's statistics. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - bulkAnalyze( - params: Params$Resource$Projects$Locations$Conversations$Bulkanalyze, + calculateIssueModelStats( + params: Params$Resource$Projects$Locations$Issuemodels$Calculateissuemodelstats, options: StreamMethodOptions ): GaxiosPromise; - bulkAnalyze( - params?: Params$Resource$Projects$Locations$Conversations$Bulkanalyze, + calculateIssueModelStats( + params?: Params$Resource$Projects$Locations$Issuemodels$Calculateissuemodelstats, options?: MethodOptions - ): GaxiosPromise; - bulkAnalyze( - params: Params$Resource$Projects$Locations$Conversations$Bulkanalyze, + ): GaxiosPromise; + calculateIssueModelStats( + params: Params$Resource$Projects$Locations$Issuemodels$Calculateissuemodelstats, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - bulkAnalyze( - params: Params$Resource$Projects$Locations$Conversations$Bulkanalyze, + calculateIssueModelStats( + params: Params$Resource$Projects$Locations$Issuemodels$Calculateissuemodelstats, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - bulkAnalyze( - params: Params$Resource$Projects$Locations$Conversations$Bulkanalyze, - callback: BodyResponseCallback + calculateIssueModelStats( + params: Params$Resource$Projects$Locations$Issuemodels$Calculateissuemodelstats, + callback: BodyResponseCallback ): void; - bulkAnalyze( - callback: BodyResponseCallback + calculateIssueModelStats( + callback: BodyResponseCallback ): void; - bulkAnalyze( + calculateIssueModelStats( paramsOrCallback?: - | Params$Resource$Projects$Locations$Conversations$Bulkanalyze - | BodyResponseCallback + | Params$Resource$Projects$Locations$Issuemodels$Calculateissuemodelstats + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Conversations$Bulkanalyze; + {}) as Params$Resource$Projects$Locations$Issuemodels$Calculateissuemodelstats; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Conversations$Bulkanalyze; + {} as Params$Resource$Projects$Locations$Issuemodels$Calculateissuemodelstats; options = {}; } @@ -4296,68 +9389,69 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/conversations:bulkAnalyze').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: ( + rootUrl + '/v1/{+issueModel}:calculateIssueModelStats' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['issueModel'], + pathParams: ['issueModel'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Deletes multiple conversations in a single request. + * Creates an issue model. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - bulkDelete( - params: Params$Resource$Projects$Locations$Conversations$Bulkdelete, + create( + params: Params$Resource$Projects$Locations$Issuemodels$Create, options: StreamMethodOptions ): GaxiosPromise; - bulkDelete( - params?: Params$Resource$Projects$Locations$Conversations$Bulkdelete, + create( + params?: Params$Resource$Projects$Locations$Issuemodels$Create, options?: MethodOptions ): GaxiosPromise; - bulkDelete( - params: Params$Resource$Projects$Locations$Conversations$Bulkdelete, + create( + params: Params$Resource$Projects$Locations$Issuemodels$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - bulkDelete( - params: Params$Resource$Projects$Locations$Conversations$Bulkdelete, + create( + params: Params$Resource$Projects$Locations$Issuemodels$Create, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - bulkDelete( - params: Params$Resource$Projects$Locations$Conversations$Bulkdelete, + create( + params: Params$Resource$Projects$Locations$Issuemodels$Create, callback: BodyResponseCallback ): void; - bulkDelete( + create( callback: BodyResponseCallback ): void; - bulkDelete( + create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Conversations$Bulkdelete + | Params$Resource$Projects$Locations$Issuemodels$Create | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -4373,13 +9467,12 @@ export namespace contactcenterinsights_v1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Conversations$Bulkdelete; + {}) as Params$Resource$Projects$Locations$Issuemodels$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Conversations$Bulkdelete; + params = {} as Params$Resource$Projects$Locations$Issuemodels$Create; options = {}; } @@ -4393,7 +9486,7 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/conversations:bulkDelete').replace( + url: (rootUrl + '/v1/{+parent}/issueModels').replace( /([^:]\/)\/+/g, '$1' ), @@ -4418,65 +9511,64 @@ export namespace contactcenterinsights_v1 { } /** - * Gets conversation statistics. + * Deletes an issue model. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - calculateStats( - params: Params$Resource$Projects$Locations$Conversations$Calculatestats, + delete( + params: Params$Resource$Projects$Locations$Issuemodels$Delete, options: StreamMethodOptions ): GaxiosPromise; - calculateStats( - params?: Params$Resource$Projects$Locations$Conversations$Calculatestats, + delete( + params?: Params$Resource$Projects$Locations$Issuemodels$Delete, options?: MethodOptions - ): GaxiosPromise; - calculateStats( - params: Params$Resource$Projects$Locations$Conversations$Calculatestats, + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Issuemodels$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - calculateStats( - params: Params$Resource$Projects$Locations$Conversations$Calculatestats, + delete( + params: Params$Resource$Projects$Locations$Issuemodels$Delete, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - calculateStats( - params: Params$Resource$Projects$Locations$Conversations$Calculatestats, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Issuemodels$Delete, + callback: BodyResponseCallback ): void; - calculateStats( - callback: BodyResponseCallback + delete( + callback: BodyResponseCallback ): void; - calculateStats( + delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Conversations$Calculatestats - | BodyResponseCallback + | Params$Resource$Projects$Locations$Issuemodels$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Conversations$Calculatestats; + {}) as Params$Resource$Projects$Locations$Issuemodels$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Conversations$Calculatestats; + params = {} as Params$Resource$Projects$Locations$Issuemodels$Delete; options = {}; } @@ -4490,90 +9582,86 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: ( - rootUrl + '/v1/{+location}/conversations:calculateStats' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['location'], - pathParams: ['location'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Creates a conversation. Note that this method does not support audio transcription or redaction. Use `conversations.upload` instead. + * Deploys an issue model. Returns an error if a model is already deployed. An issue model can only be used in analysis after it has been deployed. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - create( - params: Params$Resource$Projects$Locations$Conversations$Create, + deploy( + params: Params$Resource$Projects$Locations$Issuemodels$Deploy, options: StreamMethodOptions ): GaxiosPromise; - create( - params?: Params$Resource$Projects$Locations$Conversations$Create, + deploy( + params?: Params$Resource$Projects$Locations$Issuemodels$Deploy, options?: MethodOptions - ): GaxiosPromise; - create( - params: Params$Resource$Projects$Locations$Conversations$Create, + ): GaxiosPromise; + deploy( + params: Params$Resource$Projects$Locations$Issuemodels$Deploy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Conversations$Create, + deploy( + params: Params$Resource$Projects$Locations$Issuemodels$Deploy, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Conversations$Create, - callback: BodyResponseCallback + deploy( + params: Params$Resource$Projects$Locations$Issuemodels$Deploy, + callback: BodyResponseCallback ): void; - create( - callback: BodyResponseCallback + deploy( + callback: BodyResponseCallback ): void; - create( + deploy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Conversations$Create - | BodyResponseCallback + | Params$Resource$Projects$Locations$Issuemodels$Deploy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Conversations$Create; + {}) as Params$Resource$Projects$Locations$Issuemodels$Deploy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Conversations$Create; + params = {} as Params$Resource$Projects$Locations$Issuemodels$Deploy; options = {}; } @@ -4587,87 +9675,86 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/conversations').replace( - /([^:]\/)\/+/g, - '$1' - ), + url: (rootUrl + '/v1/{+name}:deploy').replace(/([^:]\/)\/+/g, '$1'), method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Deletes a conversation. + * Exports an issue model to the provided destination. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Projects$Locations$Conversations$Delete, + export( + params: Params$Resource$Projects$Locations$Issuemodels$Export, options: StreamMethodOptions ): GaxiosPromise; - delete( - params?: Params$Resource$Projects$Locations$Conversations$Delete, + export( + params?: Params$Resource$Projects$Locations$Issuemodels$Export, options?: MethodOptions - ): GaxiosPromise; - delete( - params: Params$Resource$Projects$Locations$Conversations$Delete, + ): GaxiosPromise; + export( + params: Params$Resource$Projects$Locations$Issuemodels$Export, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Conversations$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + export( + params: Params$Resource$Projects$Locations$Issuemodels$Export, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Conversations$Delete, - callback: BodyResponseCallback + export( + params: Params$Resource$Projects$Locations$Issuemodels$Export, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + export( + callback: BodyResponseCallback + ): void; + export( paramsOrCallback?: - | Params$Resource$Projects$Locations$Conversations$Delete - | BodyResponseCallback + | Params$Resource$Projects$Locations$Issuemodels$Export + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Conversations$Delete; + {}) as Params$Resource$Projects$Locations$Issuemodels$Export; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Conversations$Delete; + params = {} as Params$Resource$Projects$Locations$Issuemodels$Export; options = {}; } @@ -4681,8 +9768,8 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + url: (rootUrl + '/v1/{+name}:export').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', apiVersion: '', }, options @@ -4693,17 +9780,17 @@ export namespace contactcenterinsights_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets a conversation. + * Gets an issue model. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -4711,56 +9798,56 @@ export namespace contactcenterinsights_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Projects$Locations$Conversations$Get, + params: Params$Resource$Projects$Locations$Issuemodels$Get, options: StreamMethodOptions ): GaxiosPromise; get( - params?: Params$Resource$Projects$Locations$Conversations$Get, + params?: Params$Resource$Projects$Locations$Issuemodels$Get, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; get( - params: Params$Resource$Projects$Locations$Conversations$Get, + params: Params$Resource$Projects$Locations$Issuemodels$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Conversations$Get, + params: Params$Resource$Projects$Locations$Issuemodels$Get, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Conversations$Get, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Issuemodels$Get, + callback: BodyResponseCallback ): void; get( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Conversations$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Issuemodels$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Conversations$Get; + {}) as Params$Resource$Projects$Locations$Issuemodels$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Conversations$Get; + params = {} as Params$Resource$Projects$Locations$Issuemodels$Get; options = {}; } @@ -4786,55 +9873,55 @@ export namespace contactcenterinsights_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Imports conversations and processes them according to the user's configuration. + * Imports an issue model from a Cloud Storage bucket. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - ingest( - params: Params$Resource$Projects$Locations$Conversations$Ingest, + import( + params: Params$Resource$Projects$Locations$Issuemodels$Import, options: StreamMethodOptions ): GaxiosPromise; - ingest( - params?: Params$Resource$Projects$Locations$Conversations$Ingest, + import( + params?: Params$Resource$Projects$Locations$Issuemodels$Import, options?: MethodOptions ): GaxiosPromise; - ingest( - params: Params$Resource$Projects$Locations$Conversations$Ingest, + import( + params: Params$Resource$Projects$Locations$Issuemodels$Import, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - ingest( - params: Params$Resource$Projects$Locations$Conversations$Ingest, + import( + params: Params$Resource$Projects$Locations$Issuemodels$Import, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - ingest( - params: Params$Resource$Projects$Locations$Conversations$Ingest, + import( + params: Params$Resource$Projects$Locations$Issuemodels$Import, callback: BodyResponseCallback ): void; - ingest( + import( callback: BodyResponseCallback ): void; - ingest( + import( paramsOrCallback?: - | Params$Resource$Projects$Locations$Conversations$Ingest + | Params$Resource$Projects$Locations$Issuemodels$Import | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -4850,12 +9937,12 @@ export namespace contactcenterinsights_v1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Conversations$Ingest; + {}) as Params$Resource$Projects$Locations$Issuemodels$Import; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Conversations$Ingest; + params = {} as Params$Resource$Projects$Locations$Issuemodels$Import; options = {}; } @@ -4869,7 +9956,7 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/conversations:ingest').replace( + url: (rootUrl + '/v1/{+parent}/issueModels:import').replace( /([^:]\/)\/+/g, '$1' ), @@ -4894,7 +9981,7 @@ export namespace contactcenterinsights_v1 { } /** - * Lists conversations. + * Lists issue models. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -4902,56 +9989,56 @@ export namespace contactcenterinsights_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Projects$Locations$Conversations$List, + params: Params$Resource$Projects$Locations$Issuemodels$List, options: StreamMethodOptions ): GaxiosPromise; list( - params?: Params$Resource$Projects$Locations$Conversations$List, + params?: Params$Resource$Projects$Locations$Issuemodels$List, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; list( - params: Params$Resource$Projects$Locations$Conversations$List, + params: Params$Resource$Projects$Locations$Issuemodels$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Conversations$List, + params: Params$Resource$Projects$Locations$Issuemodels$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Conversations$List, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Issuemodels$List, + callback: BodyResponseCallback ): void; list( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Conversations$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Issuemodels$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Conversations$List; + {}) as Params$Resource$Projects$Locations$Issuemodels$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Conversations$List; + params = {} as Params$Resource$Projects$Locations$Issuemodels$List; options = {}; } @@ -4965,7 +10052,7 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/conversations').replace( + url: (rootUrl + '/v1/{+parent}/issueModels').replace( /([^:]\/)\/+/g, '$1' ), @@ -4980,19 +10067,19 @@ export namespace contactcenterinsights_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Updates a conversation. + * Updates an issue model. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -5000,56 +10087,56 @@ export namespace contactcenterinsights_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ patch( - params: Params$Resource$Projects$Locations$Conversations$Patch, + params: Params$Resource$Projects$Locations$Issuemodels$Patch, options: StreamMethodOptions ): GaxiosPromise; patch( - params?: Params$Resource$Projects$Locations$Conversations$Patch, + params?: Params$Resource$Projects$Locations$Issuemodels$Patch, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; patch( - params: Params$Resource$Projects$Locations$Conversations$Patch, + params: Params$Resource$Projects$Locations$Issuemodels$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Projects$Locations$Conversations$Patch, + params: Params$Resource$Projects$Locations$Issuemodels$Patch, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Projects$Locations$Conversations$Patch, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Issuemodels$Patch, + callback: BodyResponseCallback ): void; patch( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Conversations$Patch - | BodyResponseCallback + | Params$Resource$Projects$Locations$Issuemodels$Patch + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Conversations$Patch; + {}) as Params$Resource$Projects$Locations$Issuemodels$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Conversations$Patch; + params = {} as Params$Resource$Projects$Locations$Issuemodels$Patch; options = {}; } @@ -5075,55 +10162,55 @@ export namespace contactcenterinsights_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Create a long-running conversation upload operation. This method differs from `CreateConversation` by allowing audio transcription and optional DLP redaction. + * Undeploys an issue model. An issue model can not be used in analysis after it has been undeployed. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - upload( - params: Params$Resource$Projects$Locations$Conversations$Upload, + undeploy( + params: Params$Resource$Projects$Locations$Issuemodels$Undeploy, options: StreamMethodOptions ): GaxiosPromise; - upload( - params?: Params$Resource$Projects$Locations$Conversations$Upload, + undeploy( + params?: Params$Resource$Projects$Locations$Issuemodels$Undeploy, options?: MethodOptions ): GaxiosPromise; - upload( - params: Params$Resource$Projects$Locations$Conversations$Upload, + undeploy( + params: Params$Resource$Projects$Locations$Issuemodels$Undeploy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - upload( - params: Params$Resource$Projects$Locations$Conversations$Upload, + undeploy( + params: Params$Resource$Projects$Locations$Issuemodels$Undeploy, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - upload( - params: Params$Resource$Projects$Locations$Conversations$Upload, + undeploy( + params: Params$Resource$Projects$Locations$Issuemodels$Undeploy, callback: BodyResponseCallback ): void; - upload( + undeploy( callback: BodyResponseCallback ): void; - upload( + undeploy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Conversations$Upload + | Params$Resource$Projects$Locations$Issuemodels$Undeploy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -5139,12 +10226,12 @@ export namespace contactcenterinsights_v1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Conversations$Upload; + {}) as Params$Resource$Projects$Locations$Issuemodels$Undeploy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Conversations$Upload; + params = {} as Params$Resource$Projects$Locations$Issuemodels$Undeploy; options = {}; } @@ -5158,7 +10245,7 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/conversations:upload').replace( + url: (rootUrl + '/v1/{+name}:undeploy').replace( /([^:]\/)\/+/g, '$1' ), @@ -5168,8 +10255,8 @@ export namespace contactcenterinsights_v1 { options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { @@ -5183,155 +10270,119 @@ export namespace contactcenterinsights_v1 { } } - export interface Params$Resource$Projects$Locations$Conversations$Bulkanalyze - extends StandardParameters { - /** - * Required. The parent resource to create analyses in. - */ - parent?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GoogleCloudContactcenterinsightsV1BulkAnalyzeConversationsRequest; - } - export interface Params$Resource$Projects$Locations$Conversations$Bulkdelete - extends StandardParameters { - /** - * Required. The parent resource to delete conversations from. Format: projects/{project\}/locations/{location\} - */ - parent?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GoogleCloudContactcenterinsightsV1BulkDeleteConversationsRequest; - } - export interface Params$Resource$Projects$Locations$Conversations$Calculatestats + export interface Params$Resource$Projects$Locations$Issuemodels$Calculateissuemodelstats extends StandardParameters { /** - * A filter to reduce results to a specific subset. This field is useful for getting statistics about conversations with specific properties. - */ - filter?: string; - /** - * Required. The location of the conversations. + * Required. The resource name of the issue model to query against. */ - location?: string; + issueModel?: string; } - export interface Params$Resource$Projects$Locations$Conversations$Create + export interface Params$Resource$Projects$Locations$Issuemodels$Create extends StandardParameters { /** - * A unique ID for the new conversation. This ID will become the final component of the conversation's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z0-9-]{4,64\}$`. Valid characters are `a-z-` - */ - conversationId?: string; - /** - * Required. The parent resource of the conversation. + * Required. The parent resource of the issue model. */ parent?: string; /** * Request body metadata */ - requestBody?: Schema$GoogleCloudContactcenterinsightsV1Conversation; + requestBody?: Schema$GoogleCloudContactcenterinsightsV1IssueModel; } - export interface Params$Resource$Projects$Locations$Conversations$Delete + export interface Params$Resource$Projects$Locations$Issuemodels$Delete extends StandardParameters { /** - * If set to true, all of this conversation's analyses will also be deleted. Otherwise, the request will only succeed if the conversation has no analyses. - */ - force?: boolean; - /** - * Required. The name of the conversation to delete. + * Required. The name of the issue model to delete. */ name?: string; } - export interface Params$Resource$Projects$Locations$Conversations$Get + export interface Params$Resource$Projects$Locations$Issuemodels$Deploy extends StandardParameters { /** - * Required. The name of the conversation to get. + * Required. The issue model to deploy. */ name?: string; + /** - * The level of details of the conversation. Default is `FULL`. + * Request body metadata */ - view?: string; + requestBody?: Schema$GoogleCloudContactcenterinsightsV1DeployIssueModelRequest; } - export interface Params$Resource$Projects$Locations$Conversations$Ingest + export interface Params$Resource$Projects$Locations$Issuemodels$Export extends StandardParameters { /** - * Required. The parent resource for new conversations. + * Required. The issue model to export. */ - parent?: string; + name?: string; /** * Request body metadata */ - requestBody?: Schema$GoogleCloudContactcenterinsightsV1IngestConversationsRequest; + requestBody?: Schema$GoogleCloudContactcenterinsightsV1ExportIssueModelRequest; } - export interface Params$Resource$Projects$Locations$Conversations$List + export interface Params$Resource$Projects$Locations$Issuemodels$Get extends StandardParameters { /** - * A filter to reduce results to a specific subset. Useful for querying conversations with specific properties. - */ - filter?: string; - /** - * Optional. The attribute by which to order conversations in the response. If empty, conversations will be ordered by descending creation time. Supported values are one of the following: * create_time * customer_satisfaction_rating * duration * latest_analysis * start_time * turn_count The default sort order is ascending. To specify order, append `asc` or `desc` (`create_time desc`). For more details, see [Google AIPs Ordering](https://google.aip.dev/132#ordering). + * Required. The name of the issue model to get. */ - orderBy?: string; + name?: string; + } + export interface Params$Resource$Projects$Locations$Issuemodels$Import + extends StandardParameters { /** - * The maximum number of conversations to return in the response. A valid page size ranges from 0 to 100,000 inclusive. If the page size is zero or unspecified, a default page size of 100 will be chosen. Note that a call might return fewer results than the requested page size. + * Required. The parent resource of the issue model. */ - pageSize?: number; + parent?: string; + /** - * The value returned by the last `ListConversationsResponse`. This value indicates that this is a continuation of a prior `ListConversations` call and that the system should return the next page of data. + * Request body metadata */ - pageToken?: string; + requestBody?: Schema$GoogleCloudContactcenterinsightsV1ImportIssueModelRequest; + } + export interface Params$Resource$Projects$Locations$Issuemodels$List + extends StandardParameters { /** - * Required. The parent resource of the conversation. + * Required. The parent resource of the issue model. */ parent?: string; - /** - * The level of details of the conversation. Default is `BASIC`. - */ - view?: string; } - export interface Params$Resource$Projects$Locations$Conversations$Patch + export interface Params$Resource$Projects$Locations$Issuemodels$Patch extends StandardParameters { /** - * Immutable. The resource name of the conversation. Format: projects/{project\}/locations/{location\}/conversations/{conversation\} + * Immutable. The resource name of the issue model. Format: projects/{project\}/locations/{location\}/issueModels/{issue_model\} */ name?: string; /** - * The list of fields to be updated. All possible fields can be updated by passing `*`, or a subset of the following updateable fields can be provided: * `agent_id` * `language_code` * `labels` * `metadata` * `quality_metadata` * `call_metadata` * `start_time` * `expire_time` or `ttl` * `data_source.gcs_source.audio_uri` or `data_source.dialogflow_source.audio_uri` + * The list of fields to be updated. */ updateMask?: string; /** * Request body metadata */ - requestBody?: Schema$GoogleCloudContactcenterinsightsV1Conversation; + requestBody?: Schema$GoogleCloudContactcenterinsightsV1IssueModel; } - export interface Params$Resource$Projects$Locations$Conversations$Upload + export interface Params$Resource$Projects$Locations$Issuemodels$Undeploy extends StandardParameters { /** - * Required. The parent resource of the conversation. + * Required. The issue model to undeploy. */ - parent?: string; + name?: string; /** * Request body metadata */ - requestBody?: Schema$GoogleCloudContactcenterinsightsV1UploadConversationRequest; + requestBody?: Schema$GoogleCloudContactcenterinsightsV1UndeployIssueModelRequest; } - export class Resource$Projects$Locations$Conversations$Analyses { + export class Resource$Projects$Locations$Issuemodels$Issues { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Creates an analysis. The long running operation is done when the analysis has completed. + * Creates an issue. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -5339,27 +10390,27 @@ export namespace contactcenterinsights_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ create( - params: Params$Resource$Projects$Locations$Conversations$Analyses$Create, + params: Params$Resource$Projects$Locations$Issuemodels$Issues$Create, options: StreamMethodOptions ): GaxiosPromise; create( - params?: Params$Resource$Projects$Locations$Conversations$Analyses$Create, + params?: Params$Resource$Projects$Locations$Issuemodels$Issues$Create, options?: MethodOptions ): GaxiosPromise; create( - params: Params$Resource$Projects$Locations$Conversations$Analyses$Create, + params: Params$Resource$Projects$Locations$Issuemodels$Issues$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Conversations$Analyses$Create, + params: Params$Resource$Projects$Locations$Issuemodels$Issues$Create, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Conversations$Analyses$Create, + params: Params$Resource$Projects$Locations$Issuemodels$Issues$Create, callback: BodyResponseCallback ): void; create( @@ -5367,7 +10418,7 @@ export namespace contactcenterinsights_v1 { ): void; create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Conversations$Analyses$Create + | Params$Resource$Projects$Locations$Issuemodels$Issues$Create | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -5383,13 +10434,13 @@ export namespace contactcenterinsights_v1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Conversations$Analyses$Create; + {}) as Params$Resource$Projects$Locations$Issuemodels$Issues$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Conversations$Analyses$Create; + {} as Params$Resource$Projects$Locations$Issuemodels$Issues$Create; options = {}; } @@ -5403,7 +10454,7 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/analyses').replace( + url: (rootUrl + '/v1/{+parent}/issues').replace( /([^:]\/)\/+/g, '$1' ), @@ -5428,7 +10479,7 @@ export namespace contactcenterinsights_v1 { } /** - * Deletes an analysis. + * Deletes an issue. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -5436,31 +10487,31 @@ export namespace contactcenterinsights_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Projects$Locations$Conversations$Analyses$Delete, + params: Params$Resource$Projects$Locations$Issuemodels$Issues$Delete, options: StreamMethodOptions ): GaxiosPromise; delete( - params?: Params$Resource$Projects$Locations$Conversations$Analyses$Delete, + params?: Params$Resource$Projects$Locations$Issuemodels$Issues$Delete, options?: MethodOptions ): GaxiosPromise; delete( - params: Params$Resource$Projects$Locations$Conversations$Analyses$Delete, + params: Params$Resource$Projects$Locations$Issuemodels$Issues$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Conversations$Analyses$Delete, + params: Params$Resource$Projects$Locations$Issuemodels$Issues$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Conversations$Analyses$Delete, + params: Params$Resource$Projects$Locations$Issuemodels$Issues$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Conversations$Analyses$Delete + | Params$Resource$Projects$Locations$Issuemodels$Issues$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -5476,13 +10527,13 @@ export namespace contactcenterinsights_v1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Conversations$Analyses$Delete; + {}) as Params$Resource$Projects$Locations$Issuemodels$Issues$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Conversations$Analyses$Delete; + {} as Params$Resource$Projects$Locations$Issuemodels$Issues$Delete; options = {}; } @@ -5518,7 +10569,7 @@ export namespace contactcenterinsights_v1 { } /** - * Gets an analysis. + * Gets an issue. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -5526,57 +10577,57 @@ export namespace contactcenterinsights_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Projects$Locations$Conversations$Analyses$Get, + params: Params$Resource$Projects$Locations$Issuemodels$Issues$Get, options: StreamMethodOptions ): GaxiosPromise; get( - params?: Params$Resource$Projects$Locations$Conversations$Analyses$Get, + params?: Params$Resource$Projects$Locations$Issuemodels$Issues$Get, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; get( - params: Params$Resource$Projects$Locations$Conversations$Analyses$Get, + params: Params$Resource$Projects$Locations$Issuemodels$Issues$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Conversations$Analyses$Get, + params: Params$Resource$Projects$Locations$Issuemodels$Issues$Get, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Conversations$Analyses$Get, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Issuemodels$Issues$Get, + callback: BodyResponseCallback ): void; get( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Conversations$Analyses$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Issuemodels$Issues$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Conversations$Analyses$Get; + {}) as Params$Resource$Projects$Locations$Issuemodels$Issues$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Conversations$Analyses$Get; + {} as Params$Resource$Projects$Locations$Issuemodels$Issues$Get; options = {}; } @@ -5602,19 +10653,19 @@ export namespace contactcenterinsights_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Lists analyses. + * Lists issues. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -5622,57 +10673,156 @@ export namespace contactcenterinsights_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Projects$Locations$Conversations$Analyses$List, + params: Params$Resource$Projects$Locations$Issuemodels$Issues$List, options: StreamMethodOptions ): GaxiosPromise; list( - params?: Params$Resource$Projects$Locations$Conversations$Analyses$List, + params?: Params$Resource$Projects$Locations$Issuemodels$Issues$List, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; list( - params: Params$Resource$Projects$Locations$Conversations$Analyses$List, + params: Params$Resource$Projects$Locations$Issuemodels$Issues$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Issuemodels$Issues$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Issuemodels$Issues$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Issuemodels$Issues$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Issuemodels$Issues$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Issuemodels$Issues$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/issues').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates an issue. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Issuemodels$Issues$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Issuemodels$Issues$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Issuemodels$Issues$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Conversations$Analyses$List, + patch( + params: Params$Resource$Projects$Locations$Issuemodels$Issues$Patch, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Conversations$Analyses$List, - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Issuemodels$Issues$Patch, + callback: BodyResponseCallback ): void; - list( - callback: BodyResponseCallback + patch( + callback: BodyResponseCallback ): void; - list( + patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Conversations$Analyses$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Issuemodels$Issues$Patch + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Conversations$Analyses$List; + {}) as Params$Resource$Projects$Locations$Issuemodels$Issues$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Conversations$Analyses$List; + {} as Params$Resource$Projects$Locations$Issuemodels$Issues$Patch; options = {}; } @@ -5686,123 +10836,213 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/analyses').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } } - export interface Params$Resource$Projects$Locations$Conversations$Analyses$Create + export interface Params$Resource$Projects$Locations$Issuemodels$Issues$Create extends StandardParameters { /** - * Required. The parent resource of the analysis. + * Required. The parent resource of the issue. */ parent?: string; /** * Request body metadata */ - requestBody?: Schema$GoogleCloudContactcenterinsightsV1Analysis; + requestBody?: Schema$GoogleCloudContactcenterinsightsV1Issue; } - export interface Params$Resource$Projects$Locations$Conversations$Analyses$Delete + export interface Params$Resource$Projects$Locations$Issuemodels$Issues$Delete extends StandardParameters { /** - * Required. The name of the analysis to delete. + * Required. The name of the issue to delete. */ name?: string; } - export interface Params$Resource$Projects$Locations$Conversations$Analyses$Get + export interface Params$Resource$Projects$Locations$Issuemodels$Issues$Get extends StandardParameters { /** - * Required. The name of the analysis to get. + * Required. The name of the issue to get. */ name?: string; } - export interface Params$Resource$Projects$Locations$Conversations$Analyses$List + export interface Params$Resource$Projects$Locations$Issuemodels$Issues$List extends StandardParameters { /** - * A filter to reduce results to a specific subset. Useful for querying conversations with specific properties. + * Required. The parent resource of the issue. */ - filter?: string; + parent?: string; + } + export interface Params$Resource$Projects$Locations$Issuemodels$Issues$Patch + extends StandardParameters { /** - * The maximum number of analyses to return in the response. If this value is zero, the service will select a default size. A call might return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available. + * Immutable. The resource name of the issue. Format: projects/{project\}/locations/{location\}/issueModels/{issue_model\}/issues/{issue\} */ - pageSize?: number; + name?: string; /** - * The value returned by the last `ListAnalysesResponse`; indicates that this is a continuation of a prior `ListAnalyses` call and the system should return the next page of data. + * The list of fields to be updated. */ - pageToken?: string; + updateMask?: string; + /** - * Required. The parent resource of the analyses. + * Request body metadata */ - parent?: string; + requestBody?: Schema$GoogleCloudContactcenterinsightsV1Issue; } - export class Resource$Projects$Locations$Encryptionspec { + export class Resource$Projects$Locations$Operations { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Initializes a location-level encryption key specification. An error will be thrown if the location has resources already created before the initialization. Once the encryption specification is initialized at a location, it is immutable and all newly created resources under the location will be encrypted with the existing specification. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - initialize( - params: Params$Resource$Projects$Locations$Encryptionspec$Initialize, + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, options: StreamMethodOptions ): GaxiosPromise; - initialize( - params?: Params$Resource$Projects$Locations$Encryptionspec$Initialize, + cancel( + params?: Params$Resource$Projects$Locations$Operations$Cancel, + options?: MethodOptions + ): GaxiosPromise; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + callback: BodyResponseCallback + ): void; + cancel(callback: BodyResponseCallback): void; + cancel( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Cancel + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Cancel; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Cancel; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://contactcenterinsights.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:cancel').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Operations$Get, options?: MethodOptions ): GaxiosPromise; - initialize( - params: Params$Resource$Projects$Locations$Encryptionspec$Initialize, + get( + params: Params$Resource$Projects$Locations$Operations$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - initialize( - params: Params$Resource$Projects$Locations$Encryptionspec$Initialize, + get( + params: Params$Resource$Projects$Locations$Operations$Get, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - initialize( - params: Params$Resource$Projects$Locations$Encryptionspec$Initialize, + get( + params: Params$Resource$Projects$Locations$Operations$Get, callback: BodyResponseCallback ): void; - initialize( + get( callback: BodyResponseCallback ): void; - initialize( + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Encryptionspec$Initialize + | Params$Resource$Projects$Locations$Operations$Get | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -5818,13 +11058,12 @@ export namespace contactcenterinsights_v1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Encryptionspec$Initialize; + {}) as Params$Resource$Projects$Locations$Operations$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Encryptionspec$Initialize; + params = {} as Params$Resource$Projects$Locations$Operations$Get; options = {}; } @@ -5838,11 +11077,8 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}:initialize').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', apiVersion: '', }, options @@ -5861,86 +11097,66 @@ export namespace contactcenterinsights_v1 { return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Projects$Locations$Encryptionspec$Initialize - extends StandardParameters { - /** - * Immutable. The resource name of the encryption key specification resource. Format: projects/{project\}/locations/{location\}/encryptionSpec - */ - name?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GoogleCloudContactcenterinsightsV1InitializeEncryptionSpecRequest; - } - - export class Resource$Projects$Locations$Insightsdata { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Export insights data to a destination defined in the request body. + * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - export( - params: Params$Resource$Projects$Locations$Insightsdata$Export, + list( + params: Params$Resource$Projects$Locations$Operations$List, options: StreamMethodOptions ): GaxiosPromise; - export( - params?: Params$Resource$Projects$Locations$Insightsdata$Export, + list( + params?: Params$Resource$Projects$Locations$Operations$List, options?: MethodOptions - ): GaxiosPromise; - export( - params: Params$Resource$Projects$Locations$Insightsdata$Export, + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Operations$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - export( - params: Params$Resource$Projects$Locations$Insightsdata$Export, + list( + params: Params$Resource$Projects$Locations$Operations$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - export( - params: Params$Resource$Projects$Locations$Insightsdata$Export, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Operations$List, + callback: BodyResponseCallback ): void; - export( - callback: BodyResponseCallback + list( + callback: BodyResponseCallback ): void; - export( + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Insightsdata$Export - | BodyResponseCallback + | Params$Resource$Projects$Locations$Operations$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Insightsdata$Export; + {}) as Params$Resource$Projects$Locations$Operations$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Insightsdata$Export; + params = {} as Params$Resource$Projects$Locations$Operations$List; options = {}; } @@ -5954,114 +11170,132 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/insightsdata:export').replace( + url: (rootUrl + '/v1/{+name}/operations').replace( /([^:]\/)\/+/g, '$1' ), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } } - export interface Params$Resource$Projects$Locations$Insightsdata$Export + export interface Params$Resource$Projects$Locations$Operations$Cancel extends StandardParameters { /** - * Required. The parent resource to export data from. + * The name of the operation resource to be cancelled. */ - parent?: string; - + name?: string; + } + export interface Params$Resource$Projects$Locations$Operations$Get + extends StandardParameters { /** - * Request body metadata + * The name of the operation resource. */ - requestBody?: Schema$GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest; + name?: string; + } + export interface Params$Resource$Projects$Locations$Operations$List + extends StandardParameters { + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; } - export class Resource$Projects$Locations$Issuemodels { + export class Resource$Projects$Locations$Phrasematchers { context: APIRequestContext; - issues: Resource$Projects$Locations$Issuemodels$Issues; constructor(context: APIRequestContext) { this.context = context; - this.issues = new Resource$Projects$Locations$Issuemodels$Issues( - this.context - ); } /** - * Gets an issue model's statistics. + * Creates a phrase matcher. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - calculateIssueModelStats( - params: Params$Resource$Projects$Locations$Issuemodels$Calculateissuemodelstats, + create( + params: Params$Resource$Projects$Locations$Phrasematchers$Create, options: StreamMethodOptions ): GaxiosPromise; - calculateIssueModelStats( - params?: Params$Resource$Projects$Locations$Issuemodels$Calculateissuemodelstats, + create( + params?: Params$Resource$Projects$Locations$Phrasematchers$Create, options?: MethodOptions - ): GaxiosPromise; - calculateIssueModelStats( - params: Params$Resource$Projects$Locations$Issuemodels$Calculateissuemodelstats, + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Phrasematchers$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - calculateIssueModelStats( - params: Params$Resource$Projects$Locations$Issuemodels$Calculateissuemodelstats, + create( + params: Params$Resource$Projects$Locations$Phrasematchers$Create, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - calculateIssueModelStats( - params: Params$Resource$Projects$Locations$Issuemodels$Calculateissuemodelstats, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Phrasematchers$Create, + callback: BodyResponseCallback ): void; - calculateIssueModelStats( - callback: BodyResponseCallback + create( + callback: BodyResponseCallback ): void; - calculateIssueModelStats( + create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Issuemodels$Calculateissuemodelstats - | BodyResponseCallback + | Params$Resource$Projects$Locations$Phrasematchers$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Issuemodels$Calculateissuemodelstats; + {}) as Params$Resource$Projects$Locations$Phrasematchers$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Issuemodels$Calculateissuemodelstats; + params = {} as Params$Resource$Projects$Locations$Phrasematchers$Create; options = {}; } @@ -6075,90 +11309,87 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: ( - rootUrl + '/v1/{+issueModel}:calculateIssueModelStats' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + url: (rootUrl + '/v1/{+parent}/phraseMatchers').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['issueModel'], - pathParams: ['issueModel'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Creates an issue model. + * Deletes a phrase matcher. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - create( - params: Params$Resource$Projects$Locations$Issuemodels$Create, + delete( + params: Params$Resource$Projects$Locations$Phrasematchers$Delete, options: StreamMethodOptions ): GaxiosPromise; - create( - params?: Params$Resource$Projects$Locations$Issuemodels$Create, + delete( + params?: Params$Resource$Projects$Locations$Phrasematchers$Delete, options?: MethodOptions - ): GaxiosPromise; - create( - params: Params$Resource$Projects$Locations$Issuemodels$Create, + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Phrasematchers$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Issuemodels$Create, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - create( - params: Params$Resource$Projects$Locations$Issuemodels$Create, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Phrasematchers$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Phrasematchers$Delete, + callback: BodyResponseCallback ): void; - create( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Issuemodels$Create - | BodyResponseCallback + | Params$Resource$Projects$Locations$Phrasematchers$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Issuemodels$Create; + {}) as Params$Resource$Projects$Locations$Phrasematchers$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Issuemodels$Create; + params = {} as Params$Resource$Projects$Locations$Phrasematchers$Delete; options = {}; } @@ -6172,89 +11403,86 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/issueModels').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Deletes an issue model. + * Gets a phrase matcher. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Projects$Locations$Issuemodels$Delete, + get( + params: Params$Resource$Projects$Locations$Phrasematchers$Get, options: StreamMethodOptions ): GaxiosPromise; - delete( - params?: Params$Resource$Projects$Locations$Issuemodels$Delete, + get( + params?: Params$Resource$Projects$Locations$Phrasematchers$Get, options?: MethodOptions - ): GaxiosPromise; - delete( - params: Params$Resource$Projects$Locations$Issuemodels$Delete, + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Phrasematchers$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Issuemodels$Delete, + get( + params: Params$Resource$Projects$Locations$Phrasematchers$Get, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Issuemodels$Delete, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Phrasematchers$Get, + callback: BodyResponseCallback ): void; - delete( - callback: BodyResponseCallback + get( + callback: BodyResponseCallback ): void; - delete( + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Issuemodels$Delete - | BodyResponseCallback + | Params$Resource$Projects$Locations$Phrasematchers$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Issuemodels$Delete; + {}) as Params$Resource$Projects$Locations$Phrasematchers$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Issuemodels$Delete; + params = {} as Params$Resource$Projects$Locations$Phrasematchers$Get; options = {}; } @@ -6269,7 +11497,7 @@ export namespace contactcenterinsights_v1 { options: Object.assign( { url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'GET', apiVersion: '', }, options @@ -6280,74 +11508,76 @@ export namespace contactcenterinsights_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Deploys an issue model. Returns an error if a model is already deployed. An issue model can only be used in analysis after it has been deployed. + * Lists phrase matchers. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - deploy( - params: Params$Resource$Projects$Locations$Issuemodels$Deploy, + list( + params: Params$Resource$Projects$Locations$Phrasematchers$List, options: StreamMethodOptions ): GaxiosPromise; - deploy( - params?: Params$Resource$Projects$Locations$Issuemodels$Deploy, + list( + params?: Params$Resource$Projects$Locations$Phrasematchers$List, options?: MethodOptions - ): GaxiosPromise; - deploy( - params: Params$Resource$Projects$Locations$Issuemodels$Deploy, + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Phrasematchers$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - deploy( - params: Params$Resource$Projects$Locations$Issuemodels$Deploy, + list( + params: Params$Resource$Projects$Locations$Phrasematchers$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - deploy( - params: Params$Resource$Projects$Locations$Issuemodels$Deploy, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Phrasematchers$List, + callback: BodyResponseCallback ): void; - deploy( - callback: BodyResponseCallback + list( + callback: BodyResponseCallback ): void; - deploy( + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Issuemodels$Deploy - | BodyResponseCallback + | Params$Resource$Projects$Locations$Phrasematchers$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Issuemodels$Deploy; + {}) as Params$Resource$Projects$Locations$Phrasematchers$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Issuemodels$Deploy; + params = {} as Params$Resource$Projects$Locations$Phrasematchers$List; options = {}; } @@ -6361,86 +11591,91 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}:deploy').replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + url: (rootUrl + '/v1/{+parent}/phraseMatchers').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Exports an issue model to the provided destination. + * Updates a phrase matcher. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - export( - params: Params$Resource$Projects$Locations$Issuemodels$Export, + patch( + params: Params$Resource$Projects$Locations$Phrasematchers$Patch, options: StreamMethodOptions ): GaxiosPromise; - export( - params?: Params$Resource$Projects$Locations$Issuemodels$Export, + patch( + params?: Params$Resource$Projects$Locations$Phrasematchers$Patch, options?: MethodOptions - ): GaxiosPromise; - export( - params: Params$Resource$Projects$Locations$Issuemodels$Export, + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Phrasematchers$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - export( - params: Params$Resource$Projects$Locations$Issuemodels$Export, + patch( + params: Params$Resource$Projects$Locations$Phrasematchers$Patch, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - export( - params: Params$Resource$Projects$Locations$Issuemodels$Export, - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Phrasematchers$Patch, + callback: BodyResponseCallback ): void; - export( - callback: BodyResponseCallback + patch( + callback: BodyResponseCallback ): void; - export( + patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Issuemodels$Export - | BodyResponseCallback + | Params$Resource$Projects$Locations$Phrasematchers$Patch + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Issuemodels$Export; + {}) as Params$Resource$Projects$Locations$Phrasematchers$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Issuemodels$Export; + params = {} as Params$Resource$Projects$Locations$Phrasematchers$Patch; options = {}; } @@ -6454,8 +11689,8 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}:export').replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', apiVersion: '', }, options @@ -6466,74 +11701,149 @@ export namespace contactcenterinsights_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } + } + export interface Params$Resource$Projects$Locations$Phrasematchers$Create + extends StandardParameters { /** - * Gets an issue model. + * Required. The parent resource of the phrase matcher. Required. The location to create a phrase matcher for. Format: `projects//locations/` or `projects//locations/` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudContactcenterinsightsV1PhraseMatcher; + } + export interface Params$Resource$Projects$Locations$Phrasematchers$Delete + extends StandardParameters { + /** + * Required. The name of the phrase matcher to delete. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Phrasematchers$Get + extends StandardParameters { + /** + * Required. The name of the phrase matcher to get. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Phrasematchers$List + extends StandardParameters { + /** + * A filter to reduce results to a specific subset. Useful for querying phrase matchers with specific properties. + */ + filter?: string; + /** + * The maximum number of phrase matchers to return in the response. If this value is zero, the service will select a default size. A call might return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available. + */ + pageSize?: number; + /** + * The value returned by the last `ListPhraseMatchersResponse`. This value indicates that this is a continuation of a prior `ListPhraseMatchers` call and that the system should return the next page of data. + */ + pageToken?: string; + /** + * Required. The parent resource of the phrase matcher. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Phrasematchers$Patch + extends StandardParameters { + /** + * The resource name of the phrase matcher. Format: projects/{project\}/locations/{location\}/phraseMatchers/{phrase_matcher\} + */ + name?: string; + /** + * The list of fields to be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudContactcenterinsightsV1PhraseMatcher; + } + + export class Resource$Projects$Locations$Qascorecards { + context: APIRequestContext; + revisions: Resource$Projects$Locations$Qascorecards$Revisions; + constructor(context: APIRequestContext) { + this.context = context; + this.revisions = new Resource$Projects$Locations$Qascorecards$Revisions( + this.context + ); + } + + /** + * Create a QaScorecard. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Projects$Locations$Issuemodels$Get, + create( + params: Params$Resource$Projects$Locations$Qascorecards$Create, options: StreamMethodOptions ): GaxiosPromise; - get( - params?: Params$Resource$Projects$Locations$Issuemodels$Get, + create( + params?: Params$Resource$Projects$Locations$Qascorecards$Create, options?: MethodOptions - ): GaxiosPromise; - get( - params: Params$Resource$Projects$Locations$Issuemodels$Get, + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Qascorecards$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Issuemodels$Get, + create( + params: Params$Resource$Projects$Locations$Qascorecards$Create, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Issuemodels$Get, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Qascorecards$Create, + callback: BodyResponseCallback ): void; - get( - callback: BodyResponseCallback + create( + callback: BodyResponseCallback ): void; - get( + create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Issuemodels$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Qascorecards$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Issuemodels$Get; + {}) as Params$Resource$Projects$Locations$Qascorecards$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Issuemodels$Get; + params = {} as Params$Resource$Projects$Locations$Qascorecards$Create; options = {}; } @@ -6547,88 +11857,87 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + url: (rootUrl + '/v1/{+parent}/qaScorecards').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Imports an issue model from a Cloud Storage bucket. + * Deletes a QaScorecard. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - import( - params: Params$Resource$Projects$Locations$Issuemodels$Import, + delete( + params: Params$Resource$Projects$Locations$Qascorecards$Delete, options: StreamMethodOptions ): GaxiosPromise; - import( - params?: Params$Resource$Projects$Locations$Issuemodels$Import, + delete( + params?: Params$Resource$Projects$Locations$Qascorecards$Delete, options?: MethodOptions - ): GaxiosPromise; - import( - params: Params$Resource$Projects$Locations$Issuemodels$Import, + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Qascorecards$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - import( - params: Params$Resource$Projects$Locations$Issuemodels$Import, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - import( - params: Params$Resource$Projects$Locations$Issuemodels$Import, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Qascorecards$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - import( - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Qascorecards$Delete, + callback: BodyResponseCallback ): void; - import( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Issuemodels$Import - | BodyResponseCallback + | Params$Resource$Projects$Locations$Qascorecards$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Issuemodels$Import; + {}) as Params$Resource$Projects$Locations$Qascorecards$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Issuemodels$Import; + params = {} as Params$Resource$Projects$Locations$Qascorecards$Delete; options = {}; } @@ -6642,89 +11951,86 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/issueModels:import').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists issue models. + * Gets a QaScorecard. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Projects$Locations$Issuemodels$List, + get( + params: Params$Resource$Projects$Locations$Qascorecards$Get, options: StreamMethodOptions ): GaxiosPromise; - list( - params?: Params$Resource$Projects$Locations$Issuemodels$List, + get( + params?: Params$Resource$Projects$Locations$Qascorecards$Get, options?: MethodOptions - ): GaxiosPromise; - list( - params: Params$Resource$Projects$Locations$Issuemodels$List, + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Qascorecards$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Issuemodels$List, + get( + params: Params$Resource$Projects$Locations$Qascorecards$Get, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Issuemodels$List, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Qascorecards$Get, + callback: BodyResponseCallback ): void; - list( - callback: BodyResponseCallback + get( + callback: BodyResponseCallback ): void; - list( + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Issuemodels$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Qascorecards$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Issuemodels$List; + {}) as Params$Resource$Projects$Locations$Qascorecards$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Issuemodels$List; + params = {} as Params$Resource$Projects$Locations$Qascorecards$Get; options = {}; } @@ -6738,91 +12044,88 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/issueModels').replace( - /([^:]\/)\/+/g, - '$1' - ), + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Updates an issue model. + * Lists QaScorecards. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Projects$Locations$Issuemodels$Patch, + list( + params: Params$Resource$Projects$Locations$Qascorecards$List, options: StreamMethodOptions ): GaxiosPromise; - patch( - params?: Params$Resource$Projects$Locations$Issuemodels$Patch, + list( + params?: Params$Resource$Projects$Locations$Qascorecards$List, options?: MethodOptions - ): GaxiosPromise; - patch( - params: Params$Resource$Projects$Locations$Issuemodels$Patch, + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Qascorecards$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Issuemodels$Patch, + list( + params: Params$Resource$Projects$Locations$Qascorecards$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Issuemodels$Patch, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Qascorecards$List, + callback: BodyResponseCallback ): void; - patch( - callback: BodyResponseCallback + list( + callback: BodyResponseCallback ): void; - patch( + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Issuemodels$Patch - | BodyResponseCallback + | Params$Resource$Projects$Locations$Qascorecards$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Issuemodels$Patch; + {}) as Params$Resource$Projects$Locations$Qascorecards$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Issuemodels$Patch; + params = {} as Params$Resource$Projects$Locations$Qascorecards$List; options = {}; } @@ -6836,88 +12139,91 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + url: (rootUrl + '/v1/{+parent}/qaScorecards').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Undeploys an issue model. An issue model can not be used in analysis after it has been undeployed. + * Updates a QaScorecard. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - undeploy( - params: Params$Resource$Projects$Locations$Issuemodels$Undeploy, + patch( + params: Params$Resource$Projects$Locations$Qascorecards$Patch, options: StreamMethodOptions ): GaxiosPromise; - undeploy( - params?: Params$Resource$Projects$Locations$Issuemodels$Undeploy, + patch( + params?: Params$Resource$Projects$Locations$Qascorecards$Patch, options?: MethodOptions - ): GaxiosPromise; - undeploy( - params: Params$Resource$Projects$Locations$Issuemodels$Undeploy, + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Qascorecards$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - undeploy( - params: Params$Resource$Projects$Locations$Issuemodels$Undeploy, + patch( + params: Params$Resource$Projects$Locations$Qascorecards$Patch, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - undeploy( - params: Params$Resource$Projects$Locations$Issuemodels$Undeploy, - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Qascorecards$Patch, + callback: BodyResponseCallback ): void; - undeploy( - callback: BodyResponseCallback + patch( + callback: BodyResponseCallback ): void; - undeploy( + patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Issuemodels$Undeploy - | BodyResponseCallback + | Params$Resource$Projects$Locations$Qascorecards$Patch + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Issuemodels$Undeploy; + {}) as Params$Resource$Projects$Locations$Qascorecards$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Issuemodels$Undeploy; + params = {} as Params$Resource$Projects$Locations$Qascorecards$Patch; options = {}; } @@ -6931,11 +12237,8 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}:undeploy').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', apiVersion: '', }, options @@ -6946,183 +12249,155 @@ export namespace contactcenterinsights_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } } - export interface Params$Resource$Projects$Locations$Issuemodels$Calculateissuemodelstats - extends StandardParameters { - /** - * Required. The resource name of the issue model to query against. - */ - issueModel?: string; - } - export interface Params$Resource$Projects$Locations$Issuemodels$Create + export interface Params$Resource$Projects$Locations$Qascorecards$Create extends StandardParameters { /** - * Required. The parent resource of the issue model. + * Required. The parent resource of the QaScorecard. */ parent?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GoogleCloudContactcenterinsightsV1IssueModel; - } - export interface Params$Resource$Projects$Locations$Issuemodels$Delete - extends StandardParameters { - /** - * Required. The name of the issue model to delete. - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Issuemodels$Deploy - extends StandardParameters { /** - * Required. The issue model to deploy. + * Optional. A unique ID for the new QaScorecard. This ID will become the final component of the QaScorecard's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z0-9-]{4,64\}$`. Valid characters are `a-z-`. */ - name?: string; + qaScorecardId?: string; /** * Request body metadata */ - requestBody?: Schema$GoogleCloudContactcenterinsightsV1DeployIssueModelRequest; + requestBody?: Schema$GoogleCloudContactcenterinsightsV1QaScorecard; } - export interface Params$Resource$Projects$Locations$Issuemodels$Export + export interface Params$Resource$Projects$Locations$Qascorecards$Delete extends StandardParameters { /** - * Required. The issue model to export. + * Optional. If set to true, all of this QaScorecard's child resources will also be deleted. Otherwise, the request will only succeed if it has none. */ - name?: string; - + force?: boolean; /** - * Request body metadata + * Required. The name of the QaScorecard to delete. */ - requestBody?: Schema$GoogleCloudContactcenterinsightsV1ExportIssueModelRequest; + name?: string; } - export interface Params$Resource$Projects$Locations$Issuemodels$Get + export interface Params$Resource$Projects$Locations$Qascorecards$Get extends StandardParameters { /** - * Required. The name of the issue model to get. + * Required. The name of the QaScorecard to get. */ name?: string; } - export interface Params$Resource$Projects$Locations$Issuemodels$Import + export interface Params$Resource$Projects$Locations$Qascorecards$List extends StandardParameters { /** - * Required. The parent resource of the issue model. + * Optional. The maximum number of scorecards to return in the response. If the value is zero, the service will select a default size. A call might return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available. */ - parent?: string; - + pageSize?: number; /** - * Request body metadata + * Optional. The value returned by the last `ListQaScorecardsResponse`. This value indicates that this is a continuation of a prior `ListQaScorecards` call and that the system should return the next page of data. */ - requestBody?: Schema$GoogleCloudContactcenterinsightsV1ImportIssueModelRequest; - } - export interface Params$Resource$Projects$Locations$Issuemodels$List - extends StandardParameters { + pageToken?: string; /** - * Required. The parent resource of the issue model. + * Required. The parent resource of the scorecards. */ parent?: string; } - export interface Params$Resource$Projects$Locations$Issuemodels$Patch + export interface Params$Resource$Projects$Locations$Qascorecards$Patch extends StandardParameters { /** - * Immutable. The resource name of the issue model. Format: projects/{project\}/locations/{location\}/issueModels/{issue_model\} + * Identifier. The scorecard name. Format: projects/{project\}/locations/{location\}/qaScorecards/{qa_scorecard\} */ name?: string; /** - * The list of fields to be updated. + * Required. The list of fields to be updated. All possible fields can be updated by passing `*`, or a subset of the following updateable fields can be provided: * `description` * `display_name` */ updateMask?: string; /** * Request body metadata */ - requestBody?: Schema$GoogleCloudContactcenterinsightsV1IssueModel; - } - export interface Params$Resource$Projects$Locations$Issuemodels$Undeploy - extends StandardParameters { - /** - * Required. The issue model to undeploy. - */ - name?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GoogleCloudContactcenterinsightsV1UndeployIssueModelRequest; + requestBody?: Schema$GoogleCloudContactcenterinsightsV1QaScorecard; } - export class Resource$Projects$Locations$Issuemodels$Issues { + export class Resource$Projects$Locations$Qascorecards$Revisions { context: APIRequestContext; + qaQuestions: Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions; constructor(context: APIRequestContext) { this.context = context; + this.qaQuestions = + new Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions( + this.context + ); } /** - * Deletes an issue. + * Creates a QaScorecardRevision. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Projects$Locations$Issuemodels$Issues$Delete, + create( + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Create, options: StreamMethodOptions ): GaxiosPromise; - delete( - params?: Params$Resource$Projects$Locations$Issuemodels$Issues$Delete, + create( + params?: Params$Resource$Projects$Locations$Qascorecards$Revisions$Create, options?: MethodOptions - ): GaxiosPromise; - delete( - params: Params$Resource$Projects$Locations$Issuemodels$Issues$Delete, + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Issuemodels$Issues$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Issuemodels$Issues$Delete, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Create, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + create( + callback: BodyResponseCallback + ): void; + create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Issuemodels$Issues$Delete - | BodyResponseCallback + | Params$Resource$Projects$Locations$Qascorecards$Revisions$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Issuemodels$Issues$Delete; + {}) as Params$Resource$Projects$Locations$Qascorecards$Revisions$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Issuemodels$Issues$Delete; + {} as Params$Resource$Projects$Locations$Qascorecards$Revisions$Create; options = {}; } @@ -7136,87 +12411,88 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + url: (rootUrl + '/v1/{+parent}/revisions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Gets an issue. + * Deletes a QaScorecardRevision. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Projects$Locations$Issuemodels$Issues$Get, + delete( + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Delete, options: StreamMethodOptions ): GaxiosPromise; - get( - params?: Params$Resource$Projects$Locations$Issuemodels$Issues$Get, + delete( + params?: Params$Resource$Projects$Locations$Qascorecards$Revisions$Delete, options?: MethodOptions - ): GaxiosPromise; - get( - params: Params$Resource$Projects$Locations$Issuemodels$Issues$Get, + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Issuemodels$Issues$Get, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Projects$Locations$Issuemodels$Issues$Get, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Delete, + callback: BodyResponseCallback ): void; - get( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Issuemodels$Issues$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Qascorecards$Revisions$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Issuemodels$Issues$Get; + {}) as Params$Resource$Projects$Locations$Qascorecards$Revisions$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Issuemodels$Issues$Get; + {} as Params$Resource$Projects$Locations$Qascorecards$Revisions$Delete; options = {}; } @@ -7231,7 +12507,7 @@ export namespace contactcenterinsights_v1 { options: Object.assign( { url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'DELETE', apiVersion: '', }, options @@ -7242,77 +12518,75 @@ export namespace contactcenterinsights_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Lists issues. + * Deploy a QaScorecardRevision. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Projects$Locations$Issuemodels$Issues$List, + deploy( + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Deploy, options: StreamMethodOptions ): GaxiosPromise; - list( - params?: Params$Resource$Projects$Locations$Issuemodels$Issues$List, + deploy( + params?: Params$Resource$Projects$Locations$Qascorecards$Revisions$Deploy, options?: MethodOptions - ): GaxiosPromise; - list( - params: Params$Resource$Projects$Locations$Issuemodels$Issues$List, + ): GaxiosPromise; + deploy( + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Deploy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Issuemodels$Issues$List, + deploy( + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Deploy, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Issuemodels$Issues$List, - callback: BodyResponseCallback + deploy( + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Deploy, + callback: BodyResponseCallback ): void; - list( - callback: BodyResponseCallback + deploy( + callback: BodyResponseCallback ): void; - list( + deploy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Issuemodels$Issues$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Qascorecards$Revisions$Deploy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Issuemodels$Issues$List; + {}) as Params$Resource$Projects$Locations$Qascorecards$Revisions$Deploy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Issuemodels$Issues$List; + {} as Params$Resource$Projects$Locations$Qascorecards$Revisions$Deploy; options = {}; } @@ -7326,92 +12600,89 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/issues').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', + url: (rootUrl + '/v1/{+name}:deploy').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Updates an issue. + * Gets a QaScorecardRevision. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Projects$Locations$Issuemodels$Issues$Patch, + get( + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Get, options: StreamMethodOptions ): GaxiosPromise; - patch( - params?: Params$Resource$Projects$Locations$Issuemodels$Issues$Patch, + get( + params?: Params$Resource$Projects$Locations$Qascorecards$Revisions$Get, options?: MethodOptions - ): GaxiosPromise; - patch( - params: Params$Resource$Projects$Locations$Issuemodels$Issues$Patch, + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Issuemodels$Issues$Patch, + get( + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Get, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Issuemodels$Issues$Patch, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Get, + callback: BodyResponseCallback ): void; - patch( - callback: BodyResponseCallback + get( + callback: BodyResponseCallback ): void; - patch( + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Issuemodels$Issues$Patch - | BodyResponseCallback + | Params$Resource$Projects$Locations$Qascorecards$Revisions$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Issuemodels$Issues$Patch; + {}) as Params$Resource$Projects$Locations$Qascorecards$Revisions$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Issuemodels$Issues$Patch; + {} as Params$Resource$Projects$Locations$Qascorecards$Revisions$Get; options = {}; } @@ -7426,7 +12697,7 @@ export namespace contactcenterinsights_v1 { options: Object.assign( { url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'GET', apiVersion: '', }, options @@ -7437,117 +12708,77 @@ export namespace contactcenterinsights_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } - } - - export interface Params$Resource$Projects$Locations$Issuemodels$Issues$Delete - extends StandardParameters { - /** - * Required. The name of the issue to delete. - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Issuemodels$Issues$Get - extends StandardParameters { - /** - * Required. The name of the issue to get. - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Issuemodels$Issues$List - extends StandardParameters { - /** - * Required. The parent resource of the issue. - */ - parent?: string; - } - export interface Params$Resource$Projects$Locations$Issuemodels$Issues$Patch - extends StandardParameters { - /** - * Immutable. The resource name of the issue. Format: projects/{project\}/locations/{location\}/issueModels/{issue_model\}/issues/{issue\} - */ - name?: string; - /** - * The list of fields to be updated. - */ - updateMask?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GoogleCloudContactcenterinsightsV1Issue; - } - - export class Resource$Projects$Locations$Operations { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * 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`. + * Lists all revisions under the parent QaScorecard. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - cancel( - params: Params$Resource$Projects$Locations$Operations$Cancel, + list( + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$List, options: StreamMethodOptions ): GaxiosPromise; - cancel( - params?: Params$Resource$Projects$Locations$Operations$Cancel, + list( + params?: Params$Resource$Projects$Locations$Qascorecards$Revisions$List, options?: MethodOptions - ): GaxiosPromise; - cancel( - params: Params$Resource$Projects$Locations$Operations$Cancel, + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - cancel( - params: Params$Resource$Projects$Locations$Operations$Cancel, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - cancel( - params: Params$Resource$Projects$Locations$Operations$Cancel, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$List, + callback: BodyResponseCallback ): void; - cancel(callback: BodyResponseCallback): void; - cancel( + list( + callback: BodyResponseCallback + ): void; + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Operations$Cancel - | BodyResponseCallback + | Params$Resource$Projects$Locations$Qascorecards$Revisions$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Operations$Cancel; + {}) as Params$Resource$Projects$Locations$Qascorecards$Revisions$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Operations$Cancel; + params = + {} as Params$Resource$Projects$Locations$Qascorecards$Revisions$List; options = {}; } @@ -7561,65 +12792,70 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}:cancel').replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', + url: (rootUrl + '/v1/{+parent}/revisions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * 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. + * Fine tune one or more QaModels. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Projects$Locations$Operations$Get, + tuneQaScorecardRevision( + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Tuneqascorecardrevision, options: StreamMethodOptions ): GaxiosPromise; - get( - params?: Params$Resource$Projects$Locations$Operations$Get, + tuneQaScorecardRevision( + params?: Params$Resource$Projects$Locations$Qascorecards$Revisions$Tuneqascorecardrevision, options?: MethodOptions ): GaxiosPromise; - get( - params: Params$Resource$Projects$Locations$Operations$Get, + tuneQaScorecardRevision( + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Tuneqascorecardrevision, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Operations$Get, + tuneQaScorecardRevision( + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Tuneqascorecardrevision, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Operations$Get, + tuneQaScorecardRevision( + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Tuneqascorecardrevision, callback: BodyResponseCallback ): void; - get( + tuneQaScorecardRevision( callback: BodyResponseCallback ): void; - get( + tuneQaScorecardRevision( paramsOrCallback?: - | Params$Resource$Projects$Locations$Operations$Get + | Params$Resource$Projects$Locations$Qascorecards$Revisions$Tuneqascorecardrevision | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -7635,12 +12871,13 @@ export namespace contactcenterinsights_v1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Operations$Get; + {}) as Params$Resource$Projects$Locations$Qascorecards$Revisions$Tuneqascorecardrevision; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Operations$Get; + params = + {} as Params$Resource$Projects$Locations$Qascorecards$Revisions$Tuneqascorecardrevision; options = {}; } @@ -7654,15 +12891,18 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + url: (rootUrl + '/v1/{+parent}:tuneQaScorecardRevision').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { @@ -7676,64 +12916,65 @@ export namespace contactcenterinsights_v1 { } /** - * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + * Undeploy a QaScorecardRevision. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Projects$Locations$Operations$List, + undeploy( + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Undeploy, options: StreamMethodOptions ): GaxiosPromise; - list( - params?: Params$Resource$Projects$Locations$Operations$List, + undeploy( + params?: Params$Resource$Projects$Locations$Qascorecards$Revisions$Undeploy, options?: MethodOptions - ): GaxiosPromise; - list( - params: Params$Resource$Projects$Locations$Operations$List, + ): GaxiosPromise; + undeploy( + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Undeploy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Operations$List, + undeploy( + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Undeploy, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Operations$List, - callback: BodyResponseCallback + undeploy( + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Undeploy, + callback: BodyResponseCallback ): void; - list( - callback: BodyResponseCallback + undeploy( + callback: BodyResponseCallback ): void; - list( + undeploy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Operations$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Qascorecards$Revisions$Undeploy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Operations$List; + {}) as Params$Resource$Projects$Locations$Qascorecards$Revisions$Undeploy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Operations$List; + params = + {} as Params$Resource$Projects$Locations$Qascorecards$Revisions$Undeploy; options = {}; } @@ -7747,11 +12988,11 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}/operations').replace( + url: (rootUrl + '/v1/{+name}:undeploy').replace( /([^:]\/)\/+/g, '$1' ), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -7762,60 +13003,116 @@ export namespace contactcenterinsights_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } } - export interface Params$Resource$Projects$Locations$Operations$Cancel + export interface Params$Resource$Projects$Locations$Qascorecards$Revisions$Create extends StandardParameters { /** - * The name of the operation resource to be cancelled. + * Required. The parent resource of the QaScorecardRevision. */ - name?: string; + parent?: string; + /** + * Optional. A unique ID for the new QaScorecardRevision. This ID will become the final component of the QaScorecardRevision's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z0-9-]{4,64\}$`. Valid characters are `a-z-`. + */ + qaScorecardRevisionId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudContactcenterinsightsV1QaScorecardRevision; } - export interface Params$Resource$Projects$Locations$Operations$Get + export interface Params$Resource$Projects$Locations$Qascorecards$Revisions$Delete extends StandardParameters { /** - * The name of the operation resource. + * Optional. If set to true, all of this QaScorecardRevision's child resources will also be deleted. Otherwise, the request will only succeed if it has none. + */ + force?: boolean; + /** + * Required. The name of the QaScorecardRevision to delete. */ name?: string; } - export interface Params$Resource$Projects$Locations$Operations$List + export interface Params$Resource$Projects$Locations$Qascorecards$Revisions$Deploy extends StandardParameters { /** - * The standard list filter. + * Required. The name of the QaScorecardRevision to deploy. */ - filter?: string; + name?: string; + /** - * The name of the operation's parent resource. + * Request body metadata + */ + requestBody?: Schema$GoogleCloudContactcenterinsightsV1DeployQaScorecardRevisionRequest; + } + export interface Params$Resource$Projects$Locations$Qascorecards$Revisions$Get + extends StandardParameters { + /** + * Required. The name of the QaScorecardRevision to get. */ name?: string; + } + export interface Params$Resource$Projects$Locations$Qascorecards$Revisions$List + extends StandardParameters { /** - * The standard list page size. + * Optional. A filter to reduce results to a specific subset. Useful for querying scorecard revisions with specific properties. + */ + filter?: string; + /** + * Optional. The maximum number of scorecard revisions to return in the response. If the value is zero, the service will select a default size. A call might return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available. */ pageSize?: number; /** - * The standard list page token. + * Optional. The value returned by the last `ListQaScorecardRevisionsResponse`. This value indicates that this is a continuation of a prior `ListQaScorecardRevisions` call and that the system should return the next page of data. */ pageToken?: string; + /** + * Required. The parent resource of the scorecard revisions. To list all revisions of all scorecards, substitute the QaScorecard ID with a '-' character. + */ + parent?: string; } + export interface Params$Resource$Projects$Locations$Qascorecards$Revisions$Tuneqascorecardrevision + extends StandardParameters { + /** + * Required. The parent resource for new fine tuning job instance. + */ + parent?: string; - export class Resource$Projects$Locations$Phrasematchers { + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudContactcenterinsightsV1TuneQaScorecardRevisionRequest; + } + export interface Params$Resource$Projects$Locations$Qascorecards$Revisions$Undeploy + extends StandardParameters { + /** + * Required. The name of the QaScorecardRevision to undeploy. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudContactcenterinsightsV1UndeployQaScorecardRevisionRequest; + } + + export class Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Creates a phrase matcher. + * Create a QaQuestion. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -7823,56 +13120,57 @@ export namespace contactcenterinsights_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ create( - params: Params$Resource$Projects$Locations$Phrasematchers$Create, + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Create, options: StreamMethodOptions ): GaxiosPromise; create( - params?: Params$Resource$Projects$Locations$Phrasematchers$Create, + params?: Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Create, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; create( - params: Params$Resource$Projects$Locations$Phrasematchers$Create, + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Phrasematchers$Create, + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Create, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Phrasematchers$Create, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Create, + callback: BodyResponseCallback ): void; create( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Phrasematchers$Create - | BodyResponseCallback + | Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Phrasematchers$Create; + {}) as Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Phrasematchers$Create; + params = + {} as Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Create; options = {}; } @@ -7886,7 +13184,7 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/phraseMatchers').replace( + url: (rootUrl + '/v1/{+parent}/qaQuestions').replace( /([^:]\/)\/+/g, '$1' ), @@ -7901,19 +13199,19 @@ export namespace contactcenterinsights_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Deletes a phrase matcher. + * Deletes a QaQuestion. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -7921,31 +13219,31 @@ export namespace contactcenterinsights_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Projects$Locations$Phrasematchers$Delete, + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Delete, options: StreamMethodOptions ): GaxiosPromise; delete( - params?: Params$Resource$Projects$Locations$Phrasematchers$Delete, + params?: Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Delete, options?: MethodOptions ): GaxiosPromise; delete( - params: Params$Resource$Projects$Locations$Phrasematchers$Delete, + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Phrasematchers$Delete, + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Phrasematchers$Delete, + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Phrasematchers$Delete + | Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -7961,12 +13259,13 @@ export namespace contactcenterinsights_v1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Phrasematchers$Delete; + {}) as Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Phrasematchers$Delete; + params = + {} as Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Delete; options = {}; } @@ -8002,7 +13301,7 @@ export namespace contactcenterinsights_v1 { } /** - * Gets a phrase matcher. + * Gets a QaQuestion. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -8010,56 +13309,57 @@ export namespace contactcenterinsights_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Projects$Locations$Phrasematchers$Get, + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Get, options: StreamMethodOptions ): GaxiosPromise; get( - params?: Params$Resource$Projects$Locations$Phrasematchers$Get, + params?: Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Get, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; get( - params: Params$Resource$Projects$Locations$Phrasematchers$Get, + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Phrasematchers$Get, + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Get, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Phrasematchers$Get, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Get, + callback: BodyResponseCallback ): void; get( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Phrasematchers$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Phrasematchers$Get; + {}) as Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Phrasematchers$Get; + params = + {} as Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Get; options = {}; } @@ -8085,19 +13385,19 @@ export namespace contactcenterinsights_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Lists phrase matchers. + * Lists QaQuestions. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -8105,56 +13405,57 @@ export namespace contactcenterinsights_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Projects$Locations$Phrasematchers$List, + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$List, options: StreamMethodOptions ): GaxiosPromise; list( - params?: Params$Resource$Projects$Locations$Phrasematchers$List, + params?: Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$List, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; list( - params: Params$Resource$Projects$Locations$Phrasematchers$List, + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Phrasematchers$List, + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Phrasematchers$List, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$List, + callback: BodyResponseCallback ): void; list( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Phrasematchers$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Phrasematchers$List; + {}) as Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Phrasematchers$List; + params = + {} as Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$List; options = {}; } @@ -8168,7 +13469,7 @@ export namespace contactcenterinsights_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/phraseMatchers').replace( + url: (rootUrl + '/v1/{+parent}/qaQuestions').replace( /([^:]\/)\/+/g, '$1' ), @@ -8183,19 +13484,19 @@ export namespace contactcenterinsights_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Updates a phrase matcher. + * Updates a QaQuestion. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -8203,56 +13504,57 @@ export namespace contactcenterinsights_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ patch( - params: Params$Resource$Projects$Locations$Phrasematchers$Patch, + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Patch, options: StreamMethodOptions ): GaxiosPromise; patch( - params?: Params$Resource$Projects$Locations$Phrasematchers$Patch, + params?: Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Patch, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; patch( - params: Params$Resource$Projects$Locations$Phrasematchers$Patch, + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Projects$Locations$Phrasematchers$Patch, + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Patch, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Projects$Locations$Phrasematchers$Patch, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Patch, + callback: BodyResponseCallback ): void; patch( - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Phrasematchers$Patch - | BodyResponseCallback + | Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Patch + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Phrasematchers$Patch; + {}) as Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Phrasematchers$Patch; + params = + {} as Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Patch; options = {}; } @@ -8278,78 +13580,78 @@ export namespace contactcenterinsights_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } } - export interface Params$Resource$Projects$Locations$Phrasematchers$Create + export interface Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Create extends StandardParameters { /** - * Required. The parent resource of the phrase matcher. Required. The location to create a phrase matcher for. Format: `projects//locations/` or `projects//locations/` + * Required. The parent resource of the QaQuestion. */ parent?: string; + /** + * Optional. A unique ID for the new question. This ID will become the final component of the question's resource name. If no ID is specified, a server-generated ID will be used. This value should be 4-64 characters and must match the regular expression `^[a-z0-9-]{4,64\}$`. Valid characters are `a-z-`. + */ + qaQuestionId?: string; /** * Request body metadata */ - requestBody?: Schema$GoogleCloudContactcenterinsightsV1PhraseMatcher; + requestBody?: Schema$GoogleCloudContactcenterinsightsV1QaQuestion; } - export interface Params$Resource$Projects$Locations$Phrasematchers$Delete + export interface Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Delete extends StandardParameters { /** - * Required. The name of the phrase matcher to delete. + * Required. The name of the QaQuestion to delete. */ name?: string; } - export interface Params$Resource$Projects$Locations$Phrasematchers$Get + export interface Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Get extends StandardParameters { /** - * Required. The name of the phrase matcher to get. + * Required. The name of the QaQuestion to get. */ name?: string; } - export interface Params$Resource$Projects$Locations$Phrasematchers$List + export interface Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$List extends StandardParameters { /** - * A filter to reduce results to a specific subset. Useful for querying phrase matchers with specific properties. - */ - filter?: string; - /** - * The maximum number of phrase matchers to return in the response. If this value is zero, the service will select a default size. A call might return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available. + * Optional. The maximum number of questions to return in the response. If the value is zero, the service will select a default size. A call might return fewer objects than requested. A non-empty `next_page_token` in the response indicates that more data is available. */ pageSize?: number; /** - * The value returned by the last `ListPhraseMatchersResponse`. This value indicates that this is a continuation of a prior `ListPhraseMatchers` call and that the system should return the next page of data. + * Optional. The value returned by the last `ListQaQuestionsResponse`. This value indicates that this is a continuation of a prior `ListQaQuestions` call and that the system should return the next page of data. */ pageToken?: string; /** - * Required. The parent resource of the phrase matcher. + * Required. The parent resource of the questions. */ parent?: string; } - export interface Params$Resource$Projects$Locations$Phrasematchers$Patch + export interface Params$Resource$Projects$Locations$Qascorecards$Revisions$Qaquestions$Patch extends StandardParameters { /** - * The resource name of the phrase matcher. Format: projects/{project\}/locations/{location\}/phraseMatchers/{phrase_matcher\} + * Identifier. The resource name of the question. Format: projects/{project\}/locations/{location\}/qaScorecards/{qa_scorecard\}/revisions/{revision\}/qaQuestions/{qa_question\} */ name?: string; /** - * The list of fields to be updated. + * Required. The list of fields to be updated. All possible fields can be updated by passing `*`, or a subset of the following updateable fields can be provided: * `abbreviation` * `answer_choices` * `answer_instructions` * `order` * `question_body` * `tags` */ updateMask?: string; /** * Request body metadata */ - requestBody?: Schema$GoogleCloudContactcenterinsightsV1PhraseMatcher; + requestBody?: Schema$GoogleCloudContactcenterinsightsV1QaQuestion; } export class Resource$Projects$Locations$Views { diff --git a/src/apis/container/v1.ts b/src/apis/container/v1.ts index 5536d27c2a..73a7e4b3a6 100644 --- a/src/apis/container/v1.ts +++ b/src/apis/container/v1.ts @@ -244,6 +244,10 @@ export namespace container_v1 { * Configuration for NetworkPolicy. This only tracks whether the addon is enabled or not on the Master, it does not track whether network policy is enabled for the nodes. */ networkPolicyConfig?: Schema$NetworkPolicyConfig; + /** + * Configuration for the Cloud Storage Parallelstore CSI driver. + */ + parallelstoreCsiDriverConfig?: Schema$ParallelstoreCsiDriverConfig; /** * Optional. Configuration for Ray Operator addon. */ @@ -305,7 +309,7 @@ export namespace container_v1 { */ enabled?: boolean | null; /** - * Workload policy configuration for Autopilot. + * WorkloadPolicyConfig is the configuration related to GCW workload policy */ workloadPolicyConfig?: Schema$WorkloadPolicyConfig; } @@ -595,6 +599,10 @@ export namespace container_v1 { * Configuration of Confidential Nodes. All the nodes in the cluster will be Confidential VM once enabled. */ confidentialNodes?: Schema$ConfidentialNodes; + /** + * Configuration for all cluster's control plane endpoints. + */ + controlPlaneEndpointsConfig?: Schema$ControlPlaneEndpointsConfig; /** * Configuration for the fine-grained cost management feature. */ @@ -716,7 +724,7 @@ export namespace container_v1 { */ masterAuth?: Schema$MasterAuth; /** - * The configuration options for master authorized networks feature. + * The configuration options for master authorized networks feature. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.authorized_networks_config instead. */ masterAuthorizedNetworksConfig?: Schema$MasterAuthorizedNetworksConfig; /** @@ -907,7 +915,7 @@ export namespace container_v1 { */ desiredAuthenticatorGroupsConfig?: Schema$AuthenticatorGroupsConfig; /** - * The desired workload policy configuration for the autopilot cluster. + * WorkloadPolicyConfig is the configuration related to GCW workload policy */ desiredAutopilotWorkloadPolicyConfig?: Schema$WorkloadPolicyConfig; /** @@ -926,6 +934,10 @@ export namespace container_v1 { * The desired containerd config for the cluster. */ desiredContainerdConfig?: Schema$ContainerdConfig; + /** + * Control plane endpoints configuration. + */ + desiredControlPlaneEndpointsConfig?: Schema$ControlPlaneEndpointsConfig; /** * The desired configuration for the fine-grained cost management feature. */ @@ -938,6 +950,10 @@ export namespace container_v1 { * The desired datapath provider for the cluster. */ desiredDatapathProvider?: string | null; + /** + * Override the default setting of whether future created nodes have private IP addresses only, namely NetworkConfig.default_enable_private_nodes + */ + desiredDefaultEnablePrivateNodes?: boolean | null; /** * The desired status of whether to disable default sNAT for this cluster. */ @@ -959,9 +975,13 @@ export namespace container_v1 { */ desiredEnableMultiNetworking?: boolean | null; /** - * Enable/Disable private endpoint for the cluster's master. + * Enable/Disable private endpoint for the cluster's master. Deprecated: Use desired_control_plane_endpoints_config.ip_endpoints_config.enable_public_endpoint instead. Note that the value of enable_public_endpoint is reversed: if enable_private_endpoint is false, then enable_public_endpoint will be true. */ desiredEnablePrivateEndpoint?: boolean | null; + /** + * The desired enterprise configuration for the cluster. + */ + desiredEnterpriseConfig?: Schema$DesiredEnterpriseConfig; /** * The desired fleet configuration for the cluster. */ @@ -1011,7 +1031,7 @@ export namespace container_v1 { */ desiredLoggingService?: string | null; /** - * The desired configuration options for master authorized networks feature. + * The desired configuration options for master authorized networks feature. Deprecated: Use desired_control_plane_endpoints_config.ip_endpoints_config.authorized_networks_config instead. */ desiredMasterAuthorizedNetworksConfig?: Schema$MasterAuthorizedNetworksConfig; /** @@ -1042,6 +1062,10 @@ export namespace container_v1 { * The desired node kubelet config for all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. */ desiredNodePoolAutoConfigKubeletConfig?: Schema$NodeKubeletConfig; + /** + * The desired Linux node config for all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. Currently only `cgroup_mode` can be set here. + */ + desiredNodePoolAutoConfigLinuxNodeConfig?: Schema$LinuxNodeConfig; /** * The desired network tags that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. */ @@ -1075,7 +1099,7 @@ export namespace container_v1 { */ desiredParentProductConfig?: Schema$ParentProductConfig; /** - * The desired private cluster configuration. master_global_access_config is the only field that can be changed via this field. See also ClusterUpdate.desired_enable_private_endpoint for modifying other fields within PrivateClusterConfig. + * The desired private cluster configuration. master_global_access_config is the only field that can be changed via this field. See also ClusterUpdate.desired_enable_private_endpoint for modifying other fields within PrivateClusterConfig. Deprecated: Use desired_control_plane_endpoints_config.ip_endpoints_config.global_access instead. */ desiredPrivateClusterConfig?: Schema$PrivateClusterConfig; /** @@ -1222,6 +1246,19 @@ export namespace container_v1 { */ privateRegistryAccessConfig?: Schema$PrivateRegistryAccessConfig; } + /** + * Configuration for all of the cluster's control plane endpoints. + */ + export interface Schema$ControlPlaneEndpointsConfig { + /** + * DNS endpoint configuration. + */ + dnsEndpointConfig?: Schema$DNSEndpointConfig; + /** + * IP endpoints configuration. + */ + ipEndpointsConfig?: Schema$IPEndpointsConfig; + } /** * Configuration for fine-grained cost management feature. */ @@ -1324,6 +1361,15 @@ export namespace container_v1 { */ disabled?: boolean | null; } + /** + * DesiredEnterpriseConfig is a wrapper used for updating enterprise_config. + */ + export interface Schema$DesiredEnterpriseConfig { + /** + * desired_tier specifies the desired tier of the cluster. + */ + desiredTier?: string | null; + } /** * Configuration for NodeLocal DNSCache */ @@ -1354,6 +1400,19 @@ export namespace container_v1 { */ clusterDnsScope?: string | null; } + /** + * Describes the configuration of a DNS endpoint. + */ + export interface Schema$DNSEndpointConfig { + /** + * Controls whether user traffic is allowed over this endpoint. Note that GCP-managed services may still use the endpoint even if this is false. + */ + allowExternalTraffic?: boolean | null; + /** + * Output only. The cluster's DNS endpoint configuration. A DNS format address. This is accessible from the public internet. Ex: uid.us-central1.gke.goog. Always present, but the behavior may change according to the value of DNSEndpointConfig.allow_external_traffic. + */ + endpoint?: string | null; + } /** * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} */ @@ -1366,6 +1425,10 @@ export namespace container_v1 { * Output only. cluster_tier indicates the effective tier of the cluster. */ clusterTier?: string | null; + /** + * desired_tier specifies the desired tier of the cluster. + */ + desiredTier?: string | null; } /** * EphemeralStorageLocalSsdConfig contains configuration for the node ephemeral storage using Local SSDs. @@ -1706,6 +1769,39 @@ export namespace container_v1 { */ useRoutes?: boolean | null; } + /** + * IP endpoints configuration. + */ + export interface Schema$IPEndpointsConfig { + /** + * Configuration of authorized networks. If enabled, restricts access to the control plane based on source IP. It is invalid to specify both Cluster.masterAuthorizedNetworksConfig and this field at the same time. + */ + authorizedNetworksConfig?: Schema$MasterAuthorizedNetworksConfig; + /** + * Controls whether to allow direct IP access. + */ + enabled?: boolean | null; + /** + * Controls whether the control plane allows access through a public IP. It is invalid to specify both PrivateClusterConfig.enablePrivateEndpoint and this field at the same time. + */ + enablePublicEndpoint?: boolean | null; + /** + * Controls whether the control plane's private endpoint is accessible from sources in other regions. It is invalid to specify both PrivateClusterMasterGlobalAccessConfig.enabled and this field at the same time. + */ + globalAccess?: boolean | null; + /** + * Output only. The internal IP address of this cluster's control plane. Only populated if enabled. + */ + privateEndpoint?: string | null; + /** + * Subnet to provision the master's private endpoint during cluster creation. Specified in projects/x/regions/x/subnetworks/x format. It is invalid to specify both PrivateClusterConfig.privateEndpointSubnetwork and this field at the same time. + */ + privateEndpointSubnetwork?: string | null; + /** + * Output only. The external IP address of this cluster's control plane. Only populated if enabled. + */ + publicEndpoint?: string | null; + } /** * Jwk is a JSON Web Key as specified in RFC 7517 */ @@ -1787,7 +1883,7 @@ export namespace container_v1 { */ hugepages?: Schema$HugepagesConfig; /** - * The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse + * The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse kernel.shmmni kernel.shmmax kernel.shmall */ sysctls?: {[key: string]: string} | null; } @@ -1968,6 +2064,10 @@ export namespace container_v1 { * Whether master is accessbile via Google Compute Engine Public IP addresses. */ gcpPublicCidrsAccessEnabled?: boolean | null; + /** + * Whether master authorized networks is enforced on private endpoint or not. + */ + privateEndpointEnforcementEnabled?: boolean | null; } /** * Constraints applied to pods. @@ -2042,6 +2142,10 @@ export namespace container_v1 { * The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation. */ datapathProvider?: string | null; + /** + * Controls whether by default nodes have private IP addresses only. It is invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field at the same time. To update the default setting, use ClusterUpdate.desired_default_enable_private_nodes + */ + defaultEnablePrivateNodes?: boolean | null; /** * Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic. */ @@ -2236,6 +2340,10 @@ export namespace container_v1 { * The number of local SSD disks to be attached to the node. The limit for this value is dependent upon the maximum number of disks available on a machine per zone. See: https://cloud.google.com/compute/docs/disks/local-ssd for more information. */ localSsdCount?: number | null; + /** + * Specifies which method should be used for encrypting the Local SSDs attahced to the node. + */ + localSsdEncryptionMode?: string | null; /** * Logging configuration. */ @@ -2244,6 +2352,10 @@ export namespace container_v1 { * The name of a Google Compute Engine [machine type](https://cloud.google.com/compute/docs/machine-types) If unspecified, the default machine type is `e2-medium`. */ machineType?: string | null; + /** + * The maximum duration for the nodes to exist. If unspecified, the nodes can exist indefinitely. + */ + maxRunDuration?: string | null; /** * The metadata key/value pairs assigned to instances in the cluster. Keys must conform to the regexp `[a-zA-Z0-9-_]+` and be less than 128 bytes in length. These are reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project or be one of the reserved keys: - "cluster-location" - "cluster-name" - "cluster-uid" - "configure-sh" - "containerd-configure-sh" - "enable-os-login" - "gci-ensure-gke-docker" - "gci-metrics-enabled" - "gci-update-strategy" - "instance-template" - "kube-env" - "startup-script" - "user-data" - "disable-address-manager" - "windows-startup-script-ps1" - "common-psm1" - "k8s-node-setup-psm1" - "install-ssh-psm1" - "user-profile-psm1" Values are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on them is that each value's size must be less than or equal to 32 KB. The total size of all keys and values must be less than 512 KB. */ @@ -2414,7 +2526,7 @@ export namespace container_v1 { */ createPodRange?: boolean | null; /** - * Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from cluster.privateClusterConfig.enablePrivateNodes + * Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes */ enablePrivateNodes?: boolean | null; /** @@ -2531,6 +2643,10 @@ export namespace container_v1 { * Node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. */ export interface Schema$NodePoolAutoConfig { + /** + * Output only. Configuration options for Linux nodes. + */ + linuxNodeConfig?: Schema$LinuxNodeConfig; /** * The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during cluster creation. Each tag within the list must comply with RFC1035. */ @@ -2561,19 +2677,19 @@ export namespace container_v1 { */ locationPolicy?: string | null; /** - * Maximum number of nodes for one location in the NodePool. Must be \>= min_node_count. There has to be enough quota to scale up the cluster. + * Maximum number of nodes for one location in the node pool. Must be \>= min_node_count. There has to be enough quota to scale up the cluster. */ maxNodeCount?: number | null; /** - * Minimum number of nodes for one location in the NodePool. Must be \>= 1 and <= max_node_count. + * Minimum number of nodes for one location in the node pool. Must be greater than or equal to 0 and less than or equal to max_node_count. */ minNodeCount?: number | null; /** - * Maximum number of nodes in the node pool. Must be greater than total_min_node_count. There has to be enough quota to scale up the cluster. The total_*_node_count fields are mutually exclusive with the *_node_count fields. + * Maximum number of nodes in the node pool. Must be greater than or equal to total_min_node_count. There has to be enough quota to scale up the cluster. The total_*_node_count fields are mutually exclusive with the *_node_count fields. */ totalMaxNodeCount?: number | null; /** - * Minimum number of nodes in the node pool. Must be greater than 1 less than total_max_node_count. The total_*_node_count fields are mutually exclusive with the *_node_count fields. + * Minimum number of nodes in the node pool. Must be greater than or equal to 0 and less than or equal to total_max_node_count. The total_*_node_count fields are mutually exclusive with the *_node_count fields. */ totalMinNodeCount?: number | null; } @@ -2733,6 +2849,15 @@ export namespace container_v1 { */ status?: string | null; } + /** + * Configuration for the Cloud Storage Parallelstore CSI driver. + */ + export interface Schema$ParallelstoreCsiDriverConfig { + /** + * Whether the Cloud Storage Parallelstore CSI driver is enabled for this cluster. + */ + enabled?: boolean | null; + } /** * ParentProductConfig is the configuration of the parent product of the cluster. This field is used by Google internal products that are built on top of a GKE cluster and take the ownership of the cluster. */ @@ -2777,15 +2902,15 @@ export namespace container_v1 { */ export interface Schema$PrivateClusterConfig { /** - * Whether the master's internal IP address is used as the cluster endpoint. + * Whether the master's internal IP address is used as the cluster endpoint. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.enable_public_endpoint instead. Note that the value of enable_public_endpoint is reversed: if enable_private_endpoint is false, then enable_public_endpoint will be true. */ enablePrivateEndpoint?: boolean | null; /** - * Whether nodes have internal IP addresses only. If enabled, all nodes are given only RFC 1918 private addresses and communicate with the master via private networking. + * Whether nodes have internal IP addresses only. If enabled, all nodes are given only RFC 1918 private addresses and communicate with the master via private networking. Deprecated: Use NetworkConfig.default_enable_private_nodes instead. */ enablePrivateNodes?: boolean | null; /** - * Controls master global access settings. + * Controls master global access settings. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.enable_global_access instead. */ masterGlobalAccessConfig?: Schema$PrivateClusterMasterGlobalAccessConfig; /** @@ -2797,15 +2922,15 @@ export namespace container_v1 { */ peeringName?: string | null; /** - * Output only. The internal IP address of this cluster's master endpoint. + * Output only. The internal IP address of this cluster's master endpoint. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint instead. */ privateEndpoint?: string | null; /** - * Subnet to provision the master's private endpoint during cluster creation. Specified in projects/x/regions/x/subnetworks/x format. + * Subnet to provision the master's private endpoint during cluster creation. Specified in projects/x/regions/x/subnetworks/x format. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint_subnetwork instead. */ privateEndpointSubnetwork?: string | null; /** - * Output only. The external IP address of this cluster's master endpoint. + * Output only. The external IP address of this cluster's master endpoint. Deprecated:Use ControlPlaneEndpointsConfig.IPEndpointsConfig.public_endpoint instead. */ publicEndpoint?: string | null; } @@ -2952,6 +3077,10 @@ export namespace container_v1 { * The default version for newly created clusters on the channel. */ defaultVersion?: string | null; + /** + * The auto upgrade target version for clusters on the channel. + */ + upgradeTargetVersion?: string | null; /** * List of valid versions for the channel. */ @@ -3770,6 +3899,10 @@ export namespace container_v1 { * Optional. The desired [Google Compute Engine machine type](https://cloud.google.com/compute/docs/machine-types) for nodes in the node pool. Initiates an upgrade operation that migrates the nodes in the node pool to the specified machine type. */ machineType?: string | null; + /** + * The maximum duration for the nodes to exist. If unspecified, the nodes can exist indefinitely. + */ + maxRunDuration?: string | null; /** * The name (project, location, cluster, node pool) of the node pool to update. Specified in the format `projects/x/locations/x/clusters/x/nodePools/x`. */ @@ -3881,6 +4014,47 @@ export namespace container_v1 { */ targetVersion?: string | null; } + /** + * UpgradeInfoEvent is a notification sent to customers about the upgrade information of a resource. + */ + export interface Schema$UpgradeInfoEvent { + /** + * The current version before the upgrade. + */ + currentVersion?: string | null; + /** + * A brief description of the event. + */ + description?: string | null; + /** + * The time when the operation ended. + */ + endTime?: string | null; + /** + * The operation associated with this upgrade. + */ + operation?: string | null; + /** + * Optional relative path to the resource. For example in node pool upgrades, the relative path of the node pool. + */ + resource?: string | null; + /** + * The resource type associated with the upgrade. + */ + resourceType?: string | null; + /** + * The time when the operation was started. + */ + startTime?: string | null; + /** + * Output only. The state of the upgrade. + */ + state?: string | null; + /** + * The target version for the upgrade. + */ + targetVersion?: string | null; + } /** * These upgrade settings control the level of parallelism and the level of disruption caused by an upgrade. maxUnavailable controls the number of nodes that can be simultaneously unavailable. maxSurge controls the number of additional nodes that can be added to the node pool temporarily for the time of the upgrade to increase the number of available nodes. (maxUnavailable + maxSurge) determines the level of parallelism (how many nodes are being upgraded at the same time). Note: upgrades inevitably introduce some disruption since workloads need to be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0, this holds true. (Disruption stays within the limits of PodDisruptionBudget, if it is configured.) Consider a hypothetical node pool with 5 nodes having maxSurge=2, maxUnavailable=1. This means the upgrade process upgrades 3 nodes simultaneously. It creates 2 additional (upgraded) nodes, then it brings down 3 old (not yet upgraded) nodes at the same time. This ensures that there are always at least 4 nodes available. These upgrade settings configure the upgrade strategy for the node pool. Use strategy to switch between the strategies applied to the node pool. If the strategy is ROLLING, use max_surge and max_unavailable to control the level of parallelism and the level of disruption caused by upgrade. 1. maxSurge controls the number of additional nodes that can be added to the node pool temporarily for the time of the upgrade to increase the number of available nodes. 2. maxUnavailable controls the number of nodes that can be simultaneously unavailable. 3. (maxUnavailable + maxSurge) determines the level of parallelism (how many nodes are being upgraded at the same time). If the strategy is BLUE_GREEN, use blue_green_settings to configure the blue-green upgrade related settings. 1. standard_rollout_policy is the default policy. The policy is used to control the way blue pool gets drained. The draining is executed in the batch mode. The batch size could be specified as either percentage of the node pool size or the number of nodes. batch_soak_duration is the soak time after each batch gets drained. 2. node_pool_soak_duration is the soak time after all blue nodes are drained. After this period, the blue pool nodes will be deleted. */ @@ -4027,7 +4201,7 @@ export namespace container_v1 { mode?: string | null; } /** - * WorkloadPolicyConfig is the configuration of workload policy for autopilot clusters. + * WorkloadPolicyConfig is the configuration related to GCW workload policy */ export interface Schema$WorkloadPolicyConfig { /** diff --git a/src/apis/container/v1beta1.ts b/src/apis/container/v1beta1.ts index 923ed6a11b..da46a51730 100644 --- a/src/apis/container/v1beta1.ts +++ b/src/apis/container/v1beta1.ts @@ -256,6 +256,10 @@ export namespace container_v1beta1 { * Configuration for NetworkPolicy. This only tracks whether the addon is enabled or not on the Master, it does not track whether network policy is enabled for the nodes. */ networkPolicyConfig?: Schema$NetworkPolicyConfig; + /** + * Configuration for the Cloud Storage Parallelstore CSI driver. + */ + parallelstoreCsiDriverConfig?: Schema$ParallelstoreCsiDriverConfig; /** * Optional. Configuration for Ray Operator addon. */ @@ -308,6 +312,15 @@ export namespace container_v1beta1 { */ securityGroup?: string | null; } + /** + * AutoMonitoringConfig defines the configuration for GKE Workload Auto-Monitoring. + */ + export interface Schema$AutoMonitoringConfig { + /** + * Scope for GKE Workload Auto-Monitoring. + */ + scope?: string | null; + } /** * Autopilot is the configuration for Autopilot settings on the cluster. */ @@ -321,7 +334,7 @@ export namespace container_v1beta1 { */ enabled?: boolean | null; /** - * Workload policy configuration for Autopilot. + * WorkloadPolicyConfig is the configuration related to GCW workload policy */ workloadPolicyConfig?: Schema$WorkloadPolicyConfig; } @@ -649,6 +662,10 @@ export namespace container_v1beta1 { * Configuration of Confidential Nodes. All the nodes in the cluster will be Confidential VM once enabled. */ confidentialNodes?: Schema$ConfidentialNodes; + /** + * Configuration for all cluster's control plane endpoints. + */ + controlPlaneEndpointsConfig?: Schema$ControlPlaneEndpointsConfig; /** * Configuration for the fine-grained cost management feature. */ @@ -774,7 +791,7 @@ export namespace container_v1beta1 { */ masterAuth?: Schema$MasterAuth; /** - * The configuration options for master authorized networks feature. + * The configuration options for master authorized networks feature. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.authorized_networks_config instead. */ masterAuthorizedNetworksConfig?: Schema$MasterAuthorizedNetworksConfig; /** @@ -837,6 +854,10 @@ export namespace container_v1beta1 { * The configuration of the parent product of the cluster. This field is used by Google internal products that are built on top of the GKE cluster and take the ownership of the cluster. */ parentProductConfig?: Schema$ParentProductConfig; + /** + * The config for pod autoscaling. + */ + podAutoscaling?: Schema$PodAutoscaling; /** * Configuration for the PodSecurityPolicy feature. */ @@ -1002,7 +1023,7 @@ export namespace container_v1beta1 { */ desiredAuthenticatorGroupsConfig?: Schema$AuthenticatorGroupsConfig; /** - * The desired workload policy configuration for the autopilot cluster. + * WorkloadPolicyConfig is the configuration related to GCW workload policy */ desiredAutopilotWorkloadPolicyConfig?: Schema$WorkloadPolicyConfig; /** @@ -1025,6 +1046,10 @@ export namespace container_v1beta1 { * The desired containerd config for the cluster. */ desiredContainerdConfig?: Schema$ContainerdConfig; + /** + * Control plane endpoints configuration. + */ + desiredControlPlaneEndpointsConfig?: Schema$ControlPlaneEndpointsConfig; /** * The desired configuration for the fine-grained cost management feature. */ @@ -1037,6 +1062,10 @@ export namespace container_v1beta1 { * The desired datapath provider for the cluster. */ desiredDatapathProvider?: string | null; + /** + * Override the default setting of whether future created nodes have private IP addresses only, namely NetworkConfig.default_enable_private_nodes + */ + desiredDefaultEnablePrivateNodes?: boolean | null; /** * The desired status of whether to disable default sNAT for this cluster. */ @@ -1058,9 +1087,13 @@ export namespace container_v1beta1 { */ desiredEnableMultiNetworking?: boolean | null; /** - * Enable/Disable private endpoint for the cluster's master. + * Enable/Disable private endpoint for the cluster's master. Deprecated: Use desired_control_plane_endpoints_config.ip_endpoints_config.enable_public_endpoint instead. Note that the value of enable_public_endpoint is reversed: if enable_private_endpoint is false, then enable_public_endpoint will be true. */ desiredEnablePrivateEndpoint?: boolean | null; + /** + * The desired enterprise configuration for the cluster. + */ + desiredEnterpriseConfig?: Schema$DesiredEnterpriseConfig; /** * The desired fleet configuration for the cluster. */ @@ -1118,7 +1151,7 @@ export namespace container_v1beta1 { */ desiredMaster?: Schema$Master; /** - * The desired configuration options for master authorized networks feature. + * The desired configuration options for master authorized networks feature. Deprecated: Use desired_control_plane_endpoints_config.ip_endpoints_config.authorized_networks_config instead. */ desiredMasterAuthorizedNetworksConfig?: Schema$MasterAuthorizedNetworksConfig; /** @@ -1149,6 +1182,10 @@ export namespace container_v1beta1 { * The desired node kubelet config for all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. */ desiredNodePoolAutoConfigKubeletConfig?: Schema$NodeKubeletConfig; + /** + * The desired Linux node config for all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. Currently only `cgroup_mode` can be set here. + */ + desiredNodePoolAutoConfigLinuxNodeConfig?: Schema$LinuxNodeConfig; /** * The desired network tags that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters. */ @@ -1181,12 +1218,16 @@ export namespace container_v1beta1 { * The desired parent product config for the cluster. */ desiredParentProductConfig?: Schema$ParentProductConfig; + /** + * The desired config for pod autoscaling. + */ + desiredPodAutoscaling?: Schema$PodAutoscaling; /** * The desired configuration options for the PodSecurityPolicy feature. */ desiredPodSecurityPolicyConfig?: Schema$PodSecurityPolicyConfig; /** - * The desired private cluster configuration. master_global_access_config is the only field that can be changed via this field. See also ClusterUpdate.desired_enable_private_endpoint for modifying other fields within PrivateClusterConfig. + * The desired private cluster configuration. master_global_access_config is the only field that can be changed via this field. See also ClusterUpdate.desired_enable_private_endpoint for modifying other fields within PrivateClusterConfig. Deprecated: Use desired_control_plane_endpoints_config.ip_endpoints_config.global_access instead. */ desiredPrivateClusterConfig?: Schema$PrivateClusterConfig; /** @@ -1270,6 +1311,39 @@ export namespace container_v1beta1 { */ userManagedKeysConfig?: Schema$UserManagedKeysConfig; } + /** + * ClusterUpgradeInfo contains the upgrade information of a cluster. + */ + export interface Schema$ClusterUpgradeInfo { + /** + * The auto upgrade status. + */ + autoUpgradeStatus?: string[] | null; + /** + * The cluster's current minor version's end of extended support timestamp. + */ + endOfExtendedSupportTimestamp?: string | null; + /** + * The cluster's current minor version's end of standard support timestamp. + */ + endOfStandardSupportTimestamp?: string | null; + /** + * minor_target_version indicates the target version for minor upgrade. + */ + minorTargetVersion?: string | null; + /** + * patch_target_version indicates the target version for patch upgrade. + */ + patchTargetVersion?: string | null; + /** + * The auto upgrade paused reason. + */ + pausedReason?: string[] | null; + /** + * The list of past auto upgrades. + */ + upgradeDetails?: Schema$UpgradeDetails[]; + } /** * CompleteIPRotationRequest moves the cluster master back into single-IP mode. */ @@ -1353,6 +1427,19 @@ export namespace container_v1beta1 { */ privateRegistryAccessConfig?: Schema$PrivateRegistryAccessConfig; } + /** + * Configuration for all of the cluster's control plane endpoints. + */ + export interface Schema$ControlPlaneEndpointsConfig { + /** + * DNS endpoint configuration. + */ + dnsEndpointConfig?: Schema$DNSEndpointConfig; + /** + * IP endpoints configuration. + */ + ipEndpointsConfig?: Schema$IPEndpointsConfig; + } /** * Configuration for fine-grained cost management feature. */ @@ -1472,6 +1559,15 @@ export namespace container_v1beta1 { */ disabled?: boolean | null; } + /** + * DesiredEnterpriseConfig is a wrapper used for updating enterprise_config. + */ + export interface Schema$DesiredEnterpriseConfig { + /** + * desired_tier specifies the desired tier of the cluster. + */ + desiredTier?: string | null; + } /** * Configuration for NodeLocal DNSCache */ @@ -1502,6 +1598,19 @@ export namespace container_v1beta1 { */ clusterDnsScope?: string | null; } + /** + * Describes the configuration of a DNS endpoint. + */ + export interface Schema$DNSEndpointConfig { + /** + * Controls whether user traffic is allowed over this endpoint. Note that GCP-managed services may still use the endpoint even if this is false. + */ + allowExternalTraffic?: boolean | null; + /** + * Output only. The cluster's DNS endpoint configuration. A DNS format address. This is accessible from the public internet. Ex: uid.us-central1.gke.goog. Always present, but the behavior may change according to the value of DNSEndpointConfig.allow_external_traffic. + */ + endpoint?: string | null; + } /** * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} */ @@ -1514,6 +1623,10 @@ export namespace container_v1beta1 { * Output only. cluster_tier indicates the effective tier of the cluster. */ clusterTier?: string | null; + /** + * desired_tier specifies the desired tier of the cluster. + */ + desiredTier?: string | null; } /** * EphemeralStorageConfig contains configuration for the ephemeral storage filesystem. @@ -1880,6 +1993,39 @@ export namespace container_v1beta1 { */ useRoutes?: boolean | null; } + /** + * IP endpoints configuration. + */ + export interface Schema$IPEndpointsConfig { + /** + * Configuration of authorized networks. If enabled, restricts access to the control plane based on source IP. It is invalid to specify both Cluster.masterAuthorizedNetworksConfig and this field at the same time. + */ + authorizedNetworksConfig?: Schema$MasterAuthorizedNetworksConfig; + /** + * Controls whether to allow direct IP access. + */ + enabled?: boolean | null; + /** + * Controls whether the control plane allows access through a public IP. It is invalid to specify both PrivateClusterConfig.enablePrivateEndpoint and this field at the same time. + */ + enablePublicEndpoint?: boolean | null; + /** + * Controls whether the control plane's private endpoint is accessible from sources in other regions. It is invalid to specify both PrivateClusterMasterGlobalAccessConfig.enabled and this field at the same time. + */ + globalAccess?: boolean | null; + /** + * Output only. The internal IP address of this cluster's control plane. Only populated if enabled. + */ + privateEndpoint?: string | null; + /** + * Subnet to provision the master's private endpoint during cluster creation. Specified in projects/x/regions/x/subnetworks/x format. It is invalid to specify both PrivateClusterConfig.privateEndpointSubnetwork and this field at the same time. + */ + privateEndpointSubnetwork?: string | null; + /** + * Output only. The external IP address of this cluster's control plane. Only populated if enabled. + */ + publicEndpoint?: string | null; + } /** * Configuration options for Istio addon. */ @@ -1983,7 +2129,7 @@ export namespace container_v1beta1 { */ hugepages?: Schema$HugepagesConfig; /** - * The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse + * The Linux kernel parameters to be applied to the nodes and all pods running on the nodes. The following parameters are supported. net.core.busy_poll net.core.busy_read net.core.netdev_max_backlog net.core.rmem_max net.core.wmem_default net.core.wmem_max net.core.optmem_max net.core.somaxconn net.ipv4.tcp_rmem net.ipv4.tcp_wmem net.ipv4.tcp_tw_reuse kernel.shmmni kernel.shmmax kernel.shmall */ sysctls?: {[key: string]: string} | null; } @@ -2144,6 +2290,10 @@ export namespace container_v1beta1 { * ManagedPrometheusConfig defines the configuration for Google Cloud Managed Service for Prometheus. */ export interface Schema$ManagedPrometheusConfig { + /** + * GKE Workload Auto-Monitoring Configuration. + */ + autoMonitoringConfig?: Schema$AutoMonitoringConfig; /** * Enable Managed Collection. */ @@ -2198,6 +2348,10 @@ export namespace container_v1beta1 { * Whether master is accessbile via Google Compute Engine Public IP addresses. */ gcpPublicCidrsAccessEnabled?: boolean | null; + /** + * Whether master authorized networks is enforced on private endpoint or not. + */ + privateEndpointEnforcementEnabled?: boolean | null; } /** * Constraints applied to pods. @@ -2272,6 +2426,10 @@ export namespace container_v1beta1 { * The desired datapath provider for this cluster. By default, uses the IPTables-based kube-proxy implementation. */ datapathProvider?: string | null; + /** + * Controls whether by default nodes have private IP addresses only. It is invalid to specify both PrivateClusterConfig.enablePrivateNodes and this field at the same time. To update the default setting, use ClusterUpdate.desired_default_enable_private_nodes + */ + defaultEnablePrivateNodes?: boolean | null; /** * Whether the cluster disables default in-node sNAT rules. In-node sNAT rules will be disabled when default_snat_status is disabled. When disabled is set to false, default IP masquerade rules will be applied to the nodes to prevent sNAT on cluster internal traffic. */ @@ -2478,6 +2636,10 @@ export namespace container_v1beta1 { * The number of local SSD disks to be attached to the node. The limit for this value is dependent upon the maximum number of disks available on a machine per zone. See: https://cloud.google.com/compute/docs/disks/local-ssd for more information. */ localSsdCount?: number | null; + /** + * Specifies which method should be used for encrypting the Local SSDs attahced to the node. + */ + localSsdEncryptionMode?: string | null; /** * Logging configuration. */ @@ -2486,6 +2648,10 @@ export namespace container_v1beta1 { * The name of a Google Compute Engine [machine type](https://cloud.google.com/compute/docs/machine-types). If unspecified, the default machine type is `e2-medium`. */ machineType?: string | null; + /** + * The maximum duration for the nodes to exist. If unspecified, the nodes can exist indefinitely. + */ + maxRunDuration?: string | null; /** * The metadata key/value pairs assigned to instances in the cluster. Keys must conform to the regexp `[a-zA-Z0-9-_]+` and be less than 128 bytes in length. These are reflected as part of a URL in the metadata server. Additionally, to avoid ambiguity, keys must not conflict with any other metadata keys for the project or be one of the reserved keys: - "cluster-location" - "cluster-name" - "cluster-uid" - "configure-sh" - "containerd-configure-sh" - "enable-oslogin" - "gci-ensure-gke-docker" - "gci-metrics-enabled" - "gci-update-strategy" - "instance-template" - "kube-env" - "startup-script" - "user-data" - "disable-address-manager" - "windows-startup-script-ps1" - "common-psm1" - "k8s-node-setup-psm1" - "install-ssh-psm1" - "user-profile-psm1" Values are free-form strings, and only have meaning as interpreted by the image running in the instance. The only restriction placed on them is that each value's size must be less than or equal to 32 KB. The total size of all keys and values must be less than 512 KB. */ @@ -2660,7 +2826,7 @@ export namespace container_v1beta1 { */ createPodRange?: boolean | null; /** - * Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from cluster.privateClusterConfig.enablePrivateNodes + * Whether nodes have internal IP addresses only. If enable_private_nodes is not specified, then the value is derived from Cluster.NetworkConfig.default_enable_private_nodes */ enablePrivateNodes?: boolean | null; /** @@ -2777,6 +2943,10 @@ export namespace container_v1beta1 { * node pool configs that apply to all auto-provisioned node pools in autopilot clusters and node auto-provisioning enabled clusters */ export interface Schema$NodePoolAutoConfig { + /** + * Output only. Configuration options for Linux nodes. + */ + linuxNodeConfig?: Schema$LinuxNodeConfig; /** * The list of instance tags applied to all nodes. Tags are used to identify valid sources or targets for network firewalls and are specified by the client during cluster creation. Each tag within the list must comply with RFC1035. */ @@ -2807,19 +2977,19 @@ export namespace container_v1beta1 { */ locationPolicy?: string | null; /** - * Maximum number of nodes for one location in the NodePool. Must be \>= min_node_count. There has to be enough quota to scale up the cluster. + * Maximum number of nodes for one location in the node pool. Must be \>= min_node_count. There has to be enough quota to scale up the cluster. */ maxNodeCount?: number | null; /** - * Minimum number of nodes for one location in the NodePool. Must be \>= 1 and <= max_node_count. + * Minimum number of nodes for one location in the node pool. Must be greater than or equal to 0 and less than or equal to max_node_count. */ minNodeCount?: number | null; /** - * Maximum number of nodes in the node pool. Must be greater than total_min_node_count. There has to be enough quota to scale up the cluster. The total_*_node_count fields are mutually exclusive with the *_node_count fields. + * Maximum number of nodes in the node pool. Must be greater than or equal to total_min_node_count. There has to be enough quota to scale up the cluster. The total_*_node_count fields are mutually exclusive with the *_node_count fields. */ totalMaxNodeCount?: number | null; /** - * Minimum number of nodes in the node pool. Must be greater than 1 less than total_max_node_count. The total_*_node_count fields are mutually exclusive with the *_node_count fields. + * Minimum number of nodes in the node pool. Must be greater than or equal to 0 and less than or equal to total_max_node_count. The total_*_node_count fields are mutually exclusive with the *_node_count fields. */ totalMinNodeCount?: number | null; } @@ -2841,6 +3011,39 @@ export namespace container_v1beta1 { */ variantConfig?: Schema$LoggingVariantConfig; } + /** + * NodePoolUpgradeInfo contains the upgrade information of a nodepool. + */ + export interface Schema$NodePoolUpgradeInfo { + /** + * The auto upgrade status. + */ + autoUpgradeStatus?: string[] | null; + /** + * The nodepool's current minor version's end of extended support timestamp. + */ + endOfExtendedSupportTimestamp?: string | null; + /** + * The nodepool's current minor version's end of standard support timestamp. + */ + endOfStandardSupportTimestamp?: string | null; + /** + * minor_target_version indicates the target version for minor upgrade. + */ + minorTargetVersion?: string | null; + /** + * patch_target_version indicates the target version for patch upgrade. + */ + patchTargetVersion?: string | null; + /** + * The auto upgrade paused reason. + */ + pausedReason?: string[] | null; + /** + * The list of past auto upgrades. + */ + upgradeDetails?: Schema$UpgradeDetails[]; + } /** * Kubernetes taint is composed of three fields: key, value, and effect. Effect can only be one of three types: NoSchedule, PreferNoSchedule or NoExecute. See [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration) for more information, including usage and the valid values. */ @@ -2996,6 +3199,15 @@ export namespace container_v1beta1 { */ nodeIdleTimeWindow?: string | null; } + /** + * Configuration for the Cloud Storage Parallelstore CSI driver. + */ + export interface Schema$ParallelstoreCsiDriverConfig { + /** + * Whether the Cloud Storage Parallelstore CSI driver is enabled for this cluster. + */ + enabled?: boolean | null; + } /** * ParentProductConfig is the configuration of the parent product of the cluster. This field is used by Google internal products that are built on top of a GKE cluster and take the ownership of the cluster. */ @@ -3026,6 +3238,15 @@ export namespace container_v1beta1 { */ type?: string | null; } + /** + * PodAutoscaling is used for configuration of parameters for workload autoscaling. + */ + export interface Schema$PodAutoscaling { + /** + * Selected Horizontal Pod Autoscaling profile. + */ + hpaProfile?: string | null; + } /** * [PRIVATE FIELD] Config for pod CIDR size overprovisioning. */ @@ -3058,15 +3279,15 @@ export namespace container_v1beta1 { */ export interface Schema$PrivateClusterConfig { /** - * Whether the master's internal IP address is used as the cluster endpoint. + * Whether the master's internal IP address is used as the cluster endpoint. Use ControlPlaneEndpointsConfig.IPEndpointsConfig.enable_public_endpoint instead. Note that the value of enable_public_endpoint is reversed: if enable_private_endpoint is false, then enable_public_endpoint will be true. */ enablePrivateEndpoint?: boolean | null; /** - * Whether nodes have internal IP addresses only. If enabled, all nodes are given only RFC 1918 private addresses and communicate with the master via private networking. + * Whether nodes have internal IP addresses only. If enabled, all nodes are given only RFC 1918 private addresses and communicate with the master via private networking. Deprecated: Use NetworkConfig.default_enable_private_nodes instead. */ enablePrivateNodes?: boolean | null; /** - * Controls master global access settings. + * Controls master global access settings. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.enable_global_access instead. */ masterGlobalAccessConfig?: Schema$PrivateClusterMasterGlobalAccessConfig; /** @@ -3078,15 +3299,15 @@ export namespace container_v1beta1 { */ peeringName?: string | null; /** - * Output only. The internal IP address of this cluster's master endpoint. + * Output only. The internal IP address of this cluster's master endpoint. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint instead. */ privateEndpoint?: string | null; /** - * Subnet to provision the master's private endpoint during cluster creation. Specified in projects/x/regions/x/subnetworks/x format. + * Subnet to provision the master's private endpoint during cluster creation. Specified in projects/x/regions/x/subnetworks/x format. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.private_endpoint_subnetwork instead. */ privateEndpointSubnetwork?: string | null; /** - * Output only. The external IP address of this cluster's master endpoint. + * Output only. The external IP address of this cluster's master endpoint. Deprecated: Use ControlPlaneEndpointsConfig.IPEndpointsConfig.public_endpoint instead. */ publicEndpoint?: string | null; } @@ -3250,6 +3471,10 @@ export namespace container_v1beta1 { * The default version for newly created clusters on the channel. */ defaultVersion?: string | null; + /** + * The auto upgrade target version for clusters on the channel. + */ + upgradeTargetVersion?: string | null; /** * List of valid versions for the channel. */ @@ -4093,6 +4318,10 @@ export namespace container_v1beta1 { * Optional. The desired machine type for nodes in the node pool. Initiates an upgrade operation that migrates the nodes in the node pool to the specified machine type. */ machineType?: string | null; + /** + * The maximum duration for the nodes to exist. If unspecified, the nodes can exist indefinitely. + */ + maxRunDuration?: string | null; /** * The name (project, location, cluster, node pool) of the node pool to update. Specified in the format `projects/x/locations/x/clusters/x/nodePools/x`. */ @@ -4179,6 +4408,31 @@ export namespace container_v1beta1 { */ windowsVersions?: Schema$WindowsVersions; } + /** + * UpgradeDetails contains detailed information of each individual upgrade operation. + */ + export interface Schema$UpgradeDetails { + /** + * The end timestamp of the upgrade. + */ + endTime?: string | null; + /** + * The version before the upgrade. + */ + initialVersion?: string | null; + /** + * The start timestamp of the upgrade. + */ + startTime?: string | null; + /** + * Output only. The state of the upgrade. + */ + state?: string | null; + /** + * The version after the upgrade. + */ + targetVersion?: string | null; + } /** * UpgradeEvent is a notification sent to customers by the cluster server when a resource is upgrading. */ @@ -4208,6 +4462,47 @@ export namespace container_v1beta1 { */ targetVersion?: string | null; } + /** + * UpgradeInfoEvent is a notification sent to customers about the upgrade information of a resource. + */ + export interface Schema$UpgradeInfoEvent { + /** + * The current version before the upgrade. + */ + currentVersion?: string | null; + /** + * A brief description of the event. + */ + description?: string | null; + /** + * The time when the operation ended. + */ + endTime?: string | null; + /** + * The operation associated with this upgrade. + */ + operation?: string | null; + /** + * Optional relative path to the resource. For example in node pool upgrades, the relative path of the node pool. + */ + resource?: string | null; + /** + * The resource type associated with the upgrade. + */ + resourceType?: string | null; + /** + * The time when the operation was started. + */ + startTime?: string | null; + /** + * Output only. The state of the upgrade. + */ + state?: string | null; + /** + * The target version for the upgrade. + */ + targetVersion?: string | null; + } /** * These upgrade settings control the level of parallelism and the level of disruption caused by an upgrade. maxUnavailable controls the number of nodes that can be simultaneously unavailable. maxSurge controls the number of additional nodes that can be added to the node pool temporarily for the time of the upgrade to increase the number of available nodes. (maxUnavailable + maxSurge) determines the level of parallelism (how many nodes are being upgraded at the same time). Note: upgrades inevitably introduce some disruption since workloads need to be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0, this holds true. (Disruption stays within the limits of PodDisruptionBudget, if it is configured.) Consider a hypothetical node pool with 5 nodes having maxSurge=2, maxUnavailable=1. This means the upgrade process upgrades 3 nodes simultaneously. It creates 2 additional (upgraded) nodes, then it brings down 3 old (not yet upgraded) nodes at the same time. This ensures that there are always at least 4 nodes available. These upgrade settings configure the upgrade strategy for the node pool. Use strategy to switch between the strategies applied to the node pool. If the strategy is SURGE, use max_surge and max_unavailable to control the level of parallelism and the level of disruption caused by upgrade. 1. maxSurge controls the number of additional nodes that can be added to the node pool temporarily for the time of the upgrade to increase the number of available nodes. 2. maxUnavailable controls the number of nodes that can be simultaneously unavailable. 3. (maxUnavailable + maxSurge) determines the level of parallelism (how many nodes are being upgraded at the same time). If the strategy is BLUE_GREEN, use blue_green_settings to configure the blue-green upgrade related settings. 1. standard_rollout_policy is the default policy. The policy is used to control the way blue pool gets drained. The draining is executed in the batch mode. The batch size could be specified as either percentage of the node pool size or the number of nodes. batch_soak_duration is the soak time after each batch gets drained. 2. node_pool_soak_duration is the soak time after all blue nodes are drained. After this period, the blue pool nodes will be deleted. */ @@ -4419,7 +4714,7 @@ export namespace container_v1beta1 { nodeMetadata?: string | null; } /** - * WorkloadPolicyConfig is the configuration of workload policy for autopilot clusters. + * WorkloadPolicyConfig is the configuration related to GCW workload policy */ export interface Schema$WorkloadPolicyConfig { /** @@ -5165,6 +5460,100 @@ export namespace container_v1beta1 { } } + /** + * Fetch upgrade information of a specific cluster. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + fetchClusterUpgradeInfo( + params: Params$Resource$Projects$Locations$Clusters$Fetchclusterupgradeinfo, + options: StreamMethodOptions + ): GaxiosPromise; + fetchClusterUpgradeInfo( + params?: Params$Resource$Projects$Locations$Clusters$Fetchclusterupgradeinfo, + options?: MethodOptions + ): GaxiosPromise; + fetchClusterUpgradeInfo( + params: Params$Resource$Projects$Locations$Clusters$Fetchclusterupgradeinfo, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchClusterUpgradeInfo( + params: Params$Resource$Projects$Locations$Clusters$Fetchclusterupgradeinfo, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchClusterUpgradeInfo( + params: Params$Resource$Projects$Locations$Clusters$Fetchclusterupgradeinfo, + callback: BodyResponseCallback + ): void; + fetchClusterUpgradeInfo( + callback: BodyResponseCallback + ): void; + fetchClusterUpgradeInfo( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Clusters$Fetchclusterupgradeinfo + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Clusters$Fetchclusterupgradeinfo; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Clusters$Fetchclusterupgradeinfo; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}:fetchClusterUpgradeInfo').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Gets the details for a specific cluster. * @@ -6551,6 +6940,17 @@ export namespace container_v1beta1 { */ zone?: string; } + export interface Params$Resource$Projects$Locations$Clusters$Fetchclusterupgradeinfo + extends StandardParameters { + /** + * Required. The name (project, location, cluster) of the cluster to get. Specified in the format `projects/x/locations/x/clusters/x` or `projects/x/zones/x/clusters/x`. + */ + name?: string; + /** + * API request version that initiates this operation. + */ + version?: string; + } export interface Params$Resource$Projects$Locations$Clusters$Get extends StandardParameters { /** @@ -7007,6 +7407,99 @@ export namespace container_v1beta1 { } } + /** + * Fetch upgrade information of a specific nodepool. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + fetchNodePoolUpgradeInfo( + params: Params$Resource$Projects$Locations$Clusters$Nodepools$Fetchnodepoolupgradeinfo, + options: StreamMethodOptions + ): GaxiosPromise; + fetchNodePoolUpgradeInfo( + params?: Params$Resource$Projects$Locations$Clusters$Nodepools$Fetchnodepoolupgradeinfo, + options?: MethodOptions + ): GaxiosPromise; + fetchNodePoolUpgradeInfo( + params: Params$Resource$Projects$Locations$Clusters$Nodepools$Fetchnodepoolupgradeinfo, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchNodePoolUpgradeInfo( + params: Params$Resource$Projects$Locations$Clusters$Nodepools$Fetchnodepoolupgradeinfo, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchNodePoolUpgradeInfo( + params: Params$Resource$Projects$Locations$Clusters$Nodepools$Fetchnodepoolupgradeinfo, + callback: BodyResponseCallback + ): void; + fetchNodePoolUpgradeInfo( + callback: BodyResponseCallback + ): void; + fetchNodePoolUpgradeInfo( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Clusters$Nodepools$Fetchnodepoolupgradeinfo + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Clusters$Nodepools$Fetchnodepoolupgradeinfo; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Clusters$Nodepools$Fetchnodepoolupgradeinfo; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta1/{+name}:fetchNodePoolUpgradeInfo' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Retrieves the requested node pool. * @@ -7677,6 +8170,17 @@ export namespace container_v1beta1 { */ zone?: string; } + export interface Params$Resource$Projects$Locations$Clusters$Nodepools$Fetchnodepoolupgradeinfo + extends StandardParameters { + /** + * Required. The name (project, location, cluster, nodepool) of the nodepool to get. Specified in the format `projects/x/locations/x/clusters/x/nodePools/x` or `projects/x/zones/x/clusters/x/nodePools/x`. + */ + name?: string; + /** + * API request version that initiates this operation. + */ + version?: string; + } export interface Params$Resource$Projects$Locations$Clusters$Nodepools$Get extends StandardParameters { /** @@ -8687,6 +9191,100 @@ export namespace container_v1beta1 { } } + /** + * Fetch upgrade information of a specific cluster. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + fetchClusterUpgradeInfo( + params: Params$Resource$Projects$Zones$Clusters$Fetchclusterupgradeinfo, + options: StreamMethodOptions + ): GaxiosPromise; + fetchClusterUpgradeInfo( + params?: Params$Resource$Projects$Zones$Clusters$Fetchclusterupgradeinfo, + options?: MethodOptions + ): GaxiosPromise; + fetchClusterUpgradeInfo( + params: Params$Resource$Projects$Zones$Clusters$Fetchclusterupgradeinfo, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchClusterUpgradeInfo( + params: Params$Resource$Projects$Zones$Clusters$Fetchclusterupgradeinfo, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchClusterUpgradeInfo( + params: Params$Resource$Projects$Zones$Clusters$Fetchclusterupgradeinfo, + callback: BodyResponseCallback + ): void; + fetchClusterUpgradeInfo( + callback: BodyResponseCallback + ): void; + fetchClusterUpgradeInfo( + paramsOrCallback?: + | Params$Resource$Projects$Zones$Clusters$Fetchclusterupgradeinfo + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Zones$Clusters$Fetchclusterupgradeinfo; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Zones$Clusters$Fetchclusterupgradeinfo; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}:fetchClusterUpgradeInfo').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Gets the details for a specific cluster. * @@ -9914,6 +10512,17 @@ export namespace container_v1beta1 { */ zone?: string; } + export interface Params$Resource$Projects$Zones$Clusters$Fetchclusterupgradeinfo + extends StandardParameters { + /** + * Required. The name (project, location, cluster) of the cluster to get. Specified in the format `projects/x/locations/x/clusters/x` or `projects/x/zones/x/clusters/x`. + */ + name?: string; + /** + * API request version that initiates this operation. + */ + version?: string; + } export interface Params$Resource$Projects$Zones$Clusters$Get extends StandardParameters { /** @@ -10440,6 +11049,99 @@ export namespace container_v1beta1 { } } + /** + * Fetch upgrade information of a specific nodepool. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + fetchNodePoolUpgradeInfo( + params: Params$Resource$Projects$Zones$Clusters$Nodepools$Fetchnodepoolupgradeinfo, + options: StreamMethodOptions + ): GaxiosPromise; + fetchNodePoolUpgradeInfo( + params?: Params$Resource$Projects$Zones$Clusters$Nodepools$Fetchnodepoolupgradeinfo, + options?: MethodOptions + ): GaxiosPromise; + fetchNodePoolUpgradeInfo( + params: Params$Resource$Projects$Zones$Clusters$Nodepools$Fetchnodepoolupgradeinfo, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchNodePoolUpgradeInfo( + params: Params$Resource$Projects$Zones$Clusters$Nodepools$Fetchnodepoolupgradeinfo, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchNodePoolUpgradeInfo( + params: Params$Resource$Projects$Zones$Clusters$Nodepools$Fetchnodepoolupgradeinfo, + callback: BodyResponseCallback + ): void; + fetchNodePoolUpgradeInfo( + callback: BodyResponseCallback + ): void; + fetchNodePoolUpgradeInfo( + paramsOrCallback?: + | Params$Resource$Projects$Zones$Clusters$Nodepools$Fetchnodepoolupgradeinfo + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Zones$Clusters$Nodepools$Fetchnodepoolupgradeinfo; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Zones$Clusters$Nodepools$Fetchnodepoolupgradeinfo; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://container.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta1/{+name}:fetchNodePoolUpgradeInfo' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Retrieves the requested node pool. * @@ -11044,6 +11746,17 @@ export namespace container_v1beta1 { */ zone?: string; } + export interface Params$Resource$Projects$Zones$Clusters$Nodepools$Fetchnodepoolupgradeinfo + extends StandardParameters { + /** + * Required. The name (project, location, cluster, nodepool) of the nodepool to get. Specified in the format `projects/x/locations/x/clusters/x/nodePools/x` or `projects/x/zones/x/clusters/x/nodePools/x`. + */ + name?: string; + /** + * API request version that initiates this operation. + */ + version?: string; + } export interface Params$Resource$Projects$Zones$Clusters$Nodepools$Get extends StandardParameters { /** diff --git a/src/apis/content/v2.1.ts b/src/apis/content/v2.1.ts index 66db182856..71c2417afc 100644 --- a/src/apis/content/v2.1.ts +++ b/src/apis/content/v2.1.ts @@ -140,8 +140,6 @@ export namespace content_v2_1 { returnaddress: Resource$Returnaddress; returnpolicy: Resource$Returnpolicy; returnpolicyonline: Resource$Returnpolicyonline; - settlementreports: Resource$Settlementreports; - settlementtransactions: Resource$Settlementtransactions; shippingsettings: Resource$Shippingsettings; shoppingadsprogram: Resource$Shoppingadsprogram; @@ -183,10 +181,6 @@ export namespace content_v2_1 { this.returnaddress = new Resource$Returnaddress(this.context); this.returnpolicy = new Resource$Returnpolicy(this.context); this.returnpolicyonline = new Resource$Returnpolicyonline(this.context); - this.settlementreports = new Resource$Settlementreports(this.context); - this.settlementtransactions = new Resource$Settlementtransactions( - this.context - ); this.shippingsettings = new Resource$Shippingsettings(this.context); this.shoppingadsprogram = new Resource$Shoppingadsprogram(this.context); } @@ -3341,6 +3335,10 @@ export namespace content_v2_1 { * Required. The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a merchant entity and a loyalty program entity. It must be provided so that system can associate the assets below (for example, price and points) with a merchant. The corresponding program must be linked to the merchant account. */ programLabel?: string | null; + /** + * Optional. The shipping label for the loyalty program. You can use this label to indicate whether this offer has the loyalty shipping benefit. If not specified, the item is not eligible for loyalty shipping for the given loyalty tier. + */ + shippingLabel?: string | null; /** * Required. The label of the tier within the loyalty program. Must match one of the labels within the program. */ @@ -4593,6 +4591,10 @@ export namespace content_v2_1 { * Number of periods (months or years) and amount of payment per period for an item with an associated subscription contract. */ subscriptionCost?: Schema$ProductSubscriptionCost; + /** + * Optional. The list of sustainability incentive programs. + */ + sustainabilityIncentives?: Schema$ProductSustainabilityIncentive[]; /** * Required. The CLDR territory code for the item's country of sale. */ @@ -5175,6 +5177,23 @@ export namespace content_v2_1 { */ periodLength?: string | null; } + /** + * Information regarding sustainability related incentive programs such as rebates or tax relief. + */ + export interface Schema$ProductSustainabilityIncentive { + /** + * Optional. The fixed amount of the incentive. + */ + amount?: Schema$Price; + /** + * Optional. The percentage of the sale price that the incentive is applied to. + */ + percentage?: number | null; + /** + * Required. Sustainability incentive program. + */ + type?: string | null; + } export interface Schema$ProductTax { /** * The country within which the item is taxed, specified as a CLDR territory code. @@ -6685,147 +6704,6 @@ export namespace content_v2_1 { */ minute?: string | null; } - /** - * Settlement reports detail order-level and item-level credits and debits between you and Google. - */ - export interface Schema$SettlementReport { - /** - * The end date on which all transactions are included in the report, in ISO 8601 format. - */ - endDate?: string | null; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#settlementReport`" - */ - kind?: string | null; - /** - * The residual amount from the previous invoice. This is set only if the previous invoices are not paid because of negative balance. - */ - previousBalance?: Schema$Price; - /** - * The ID of the settlement report. - */ - settlementId?: string | null; - /** - * The start date on which all transactions are included in the report, in ISO 8601 format. - */ - startDate?: string | null; - /** - * The money due to the merchant. - */ - transferAmount?: Schema$Price; - /** - * Date on which transfer for this payment was initiated by Google, in ISO 8601 format. - */ - transferDate?: string | null; - /** - * The list of bank identifiers used for the transfer. For example, Trace ID for Federal Automated Clearing House (ACH). This may also be known as the Wire ID. - */ - transferIds?: string[] | null; - } - export interface Schema$SettlementreportsListResponse { - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#settlementreportsListResponse`". - */ - kind?: string | null; - /** - * The token for the retrieval of the next page of returns. - */ - nextPageToken?: string | null; - resources?: Schema$SettlementReport[]; - } - /** - * Settlement transactions give a detailed breakdown of the settlement report. - */ - export interface Schema$SettlementTransaction { - /** - * The amount for the transaction. - */ - amount?: Schema$SettlementTransactionAmount; - /** - * Identifiers of the transaction. - */ - identifiers?: Schema$SettlementTransactionIdentifiers; - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#settlementTransaction`" - */ - kind?: string | null; - /** - * Details of the transaction. - */ - transaction?: Schema$SettlementTransactionTransaction; - } - export interface Schema$SettlementTransactionAmount { - commission?: Schema$SettlementTransactionAmountCommission; - /** - * The description of the event. Acceptable values are: - "`taxWithhold`" - "`principal`" - "`principalAdjustment`" - "`shippingFee`" - "`merchantRemittedSalesTax`" - "`googleRemittedSalesTax`" - "`merchantCoupon`" - "`merchantCouponTax`" - "`merchantRemittedDisposalTax`" - "`googleRemittedDisposalTax`" - "`merchantRemittedRedemptionFee`" - "`googleRemittedRedemptionFee`" - "`eeeEcoFee`" - "`furnitureEcoFee`" - "`copyPrivateFee`" - "`eeeEcoFeeCommission`" - "`furnitureEcoFeeCommission`" - "`copyPrivateFeeCommission`" - "`principalRefund`" - "`principalRefundTax`" - "`itemCommission`" - "`adjustmentCommission`" - "`shippingFeeCommission`" - "`commissionRefund`" - "`damaged`" - "`damagedOrDefectiveItem`" - "`expiredItem`" - "`faultyItem`" - "`incorrectItemReceived`" - "`itemMissing`" - "`qualityNotExpected`" - "`receivedTooLate`" - "`storePackageMissing`" - "`transitPackageMissing`" - "`unsuccessfulDeliveryUndeliverable`" - "`wrongChargeInStore`" - "`wrongItem`" - "`returns`" - "`undeliverable`" - "`issueRelatedRefundAndReplacementAmountDescription`" - "`refundFromMerchant`" - "`returnLabelShippingFee`" - "`lumpSumCorrection`" - "`pspFee`" - "`principalRefundDoesNotFit`" - "`principalRefundOrderedWrongItem`" - "`principalRefundQualityNotExpected`" - "`principalRefundBetterPriceFound`" - "`principalRefundNoLongerNeeded`" - "`principalRefundChangedMind`" - "`principalRefundReceivedTooLate`" - "`principalRefundIncorrectItemReceived`" - "`principalRefundDamagedOrDefectiveItem`" - "`principalRefundDidNotMatchDescription`" - "`principalRefundExpiredItem`" - */ - description?: string | null; - /** - * The amount that contributes to the line item price. - */ - transactionAmount?: Schema$Price; - /** - * The type of the amount. Acceptable values are: - "`itemPrice`" - "`orderPrice`" - "`refund`" - "`earlyRefund`" - "`courtesyRefund`" - "`returnRefund`" - "`returnLabelShippingFeeAmount`" - "`lumpSumCorrectionAmount`" - */ - type?: string | null; - } - export interface Schema$SettlementTransactionAmountCommission { - /** - * The category of the commission. Acceptable values are: - "`animalsAndPetSupplies`" - "`dogCatFoodAndCatLitter`" - "`apparelAndAccessories`" - "`shoesHandbagsAndSunglasses`" - "`costumesAndAccessories`" - "`jewelry`" - "`watches`" - "`hobbiesArtsAndCrafts`" - "`homeAndGarden`" - "`entertainmentCollectibles`" - "`collectibleCoins`" - "`sportsCollectibles`" - "`sportingGoods`" - "`toysAndGames`" - "`musicalInstruments`" - "`giftCards`" - "`babyAndToddler`" - "`babyFoodWipesAndDiapers`" - "`businessAndIndustrial`" - "`camerasOpticsAndPhotography`" - "`consumerElectronics`" - "`electronicsAccessories`" - "`personalComputers`" - "`videoGameConsoles`" - "`foodAndGrocery`" - "`beverages`" - "`tobaccoProducts`" - "`furniture`" - "`hardware`" - "`buildingMaterials`" - "`tools`" - "`healthAndPersonalCare`" - "`beauty`" - "`householdSupplies`" - "`kitchenAndDining`" - "`majorAppliances`" - "`luggageAndBags`" - "`media`" - "`officeSupplies`" - "`softwareAndVideoGames`" - "`vehiclePartsAndAccessories`" - "`vehicleTiresAndWheels`" - "`vehicles`" - "`everythingElse`" - */ - category?: string | null; - /** - * Rate of the commission in percentage. - */ - rate?: string | null; - } - export interface Schema$SettlementTransactionIdentifiers { - /** - * The identifier of the adjustments, if it's available. - */ - adjustmentId?: string | null; - /** - * The merchant provided order ID. - */ - merchantOrderId?: string | null; - /** - * The identifier of the item. - */ - orderItemId?: string | null; - /** - * The unique ID of the settlement transaction entry. - */ - settlementEntryId?: string | null; - /** - * The shipment ids for the item. - */ - shipmentIds?: string[] | null; - /** - * The Google transaction ID. - */ - transactionId?: string | null; - } - export interface Schema$SettlementtransactionsListResponse { - /** - * Identifies what kind of resource this is. Value: the fixed string "`content#settlementtransactionsListResponse`". - */ - kind?: string | null; - /** - * The token for the retrieval of the next page of returns. - */ - nextPageToken?: string | null; - resources?: Schema$SettlementTransaction[]; - } - export interface Schema$SettlementTransactionTransaction { - /** - * The time on which the event occurred in ISO 8601 format. - */ - postDate?: string | null; - /** - * The type of the transaction that occurred. Acceptable values are: - "`order`" - "`reversal`" - "`orderRefund`" - "`reversalRefund`" - "`issueRelatedRefundAndReplacement`" - "`returnLabelShippingFeeTransaction`" - "`reversalIssueRelatedRefundAndReplacement`" - "`reversalReturnLabelShippingFeeTransaction`" - "`lumpSumCorrectionTransaction`" - */ - type?: string | null; - } /** * The merchant account's shipping settings. All methods except getsupportedcarriers and getsupportedholidays require the admin role. */ @@ -7066,11 +6944,11 @@ export namespace content_v2_1 { */ export interface Schema$TimeZone { /** - * IANA Time Zone Database time zone, e.g. "America/New_York". + * IANA Time Zone Database time zone. For example "America/New_York". */ id?: string | null; /** - * Optional. IANA Time Zone Database version number, e.g. "2019a". + * Optional. IANA Time Zone Database version number. For example "2019a". */ version?: string | null; } @@ -11667,7 +11545,7 @@ export namespace content_v2_1 { */ merchantId?: string; /** - * Required. List of fields being updated. + * Optional. List of fields being updated. */ updateMask?: string; @@ -20754,363 +20632,6 @@ export namespace content_v2_1 { requestBody?: Schema$ReturnPolicyOnline; } - export class Resource$Settlementreports { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Retrieves a settlement report from your Merchant Center account. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - get( - params: Params$Resource$Settlementreports$Get, - options: StreamMethodOptions - ): GaxiosPromise; - get( - params?: Params$Resource$Settlementreports$Get, - options?: MethodOptions - ): GaxiosPromise; - get( - params: Params$Resource$Settlementreports$Get, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Settlementreports$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - get( - params: Params$Resource$Settlementreports$Get, - callback: BodyResponseCallback - ): void; - get(callback: BodyResponseCallback): void; - get( - paramsOrCallback?: - | Params$Resource$Settlementreports$Get - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Settlementreports$Get; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Settlementreports$Get; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/settlementreports/{settlementId}' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'settlementId'], - pathParams: ['merchantId', 'settlementId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Retrieves a list of settlement reports from your Merchant Center account. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Settlementreports$List, - options: StreamMethodOptions - ): GaxiosPromise; - list( - params?: Params$Resource$Settlementreports$List, - options?: MethodOptions - ): GaxiosPromise; - list( - params: Params$Resource$Settlementreports$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Settlementreports$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Settlementreports$List, - callback: BodyResponseCallback - ): void; - list( - callback: BodyResponseCallback - ): void; - list( - paramsOrCallback?: - | Params$Resource$Settlementreports$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Settlementreports$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Settlementreports$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/content/v2.1/{merchantId}/settlementreports' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId'], - pathParams: ['merchantId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - } - - export interface Params$Resource$Settlementreports$Get - extends StandardParameters { - /** - * The Merchant Center account of the settlement report. - */ - merchantId?: string; - /** - * The Google-provided ID of the settlement. - */ - settlementId?: string; - } - export interface Params$Resource$Settlementreports$List - extends StandardParameters { - /** - * The maximum number of settlements to return in the response, used for paging. The default value is 200 returns per page, and the maximum allowed value is 5000 returns per page. - */ - maxResults?: number; - /** - * The Merchant Center account to list settlements for. - */ - merchantId?: string; - /** - * The token returned by the previous request. - */ - pageToken?: string; - /** - * Obtains settlements which have transactions before this date (inclusively), in ISO 8601 format. - */ - transferEndDate?: string; - /** - * Obtains settlements which have transactions after this date (inclusively), in ISO 8601 format. - */ - transferStartDate?: string; - } - - export class Resource$Settlementtransactions { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Retrieves a list of transactions for the settlement. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - list( - params: Params$Resource$Settlementtransactions$List, - options: StreamMethodOptions - ): GaxiosPromise; - list( - params?: Params$Resource$Settlementtransactions$List, - options?: MethodOptions - ): GaxiosPromise; - list( - params: Params$Resource$Settlementtransactions$List, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Settlementtransactions$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Settlementtransactions$List, - callback: BodyResponseCallback - ): void; - list( - callback: BodyResponseCallback - ): void; - list( - paramsOrCallback?: - | Params$Resource$Settlementtransactions$List - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Settlementtransactions$List; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Settlementtransactions$List; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://shoppingcontent.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + - '/content/v2.1/{merchantId}/settlementreports/{settlementId}/transactions' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['merchantId', 'settlementId'], - pathParams: ['merchantId', 'settlementId'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - } - - export interface Params$Resource$Settlementtransactions$List - extends StandardParameters { - /** - * The maximum number of transactions to return in the response, used for paging. The default value is 200 transactions per page, and the maximum allowed value is 5000 transactions per page. - */ - maxResults?: number; - /** - * The Merchant Center account to list transactions for. - */ - merchantId?: string; - /** - * The token returned by the previous request. - */ - pageToken?: string; - /** - * The Google-provided ID of the settlement. - */ - settlementId?: string; - /** - * The list of transactions to return. If not set, all transactions will be returned. - */ - transactionIds?: string[]; - } - export class Resource$Shippingsettings { context: APIRequestContext; constructor(context: APIRequestContext) { diff --git a/src/apis/contentwarehouse/v1.ts b/src/apis/contentwarehouse/v1.ts index 917ebee321..9beafcd56f 100644 --- a/src/apis/contentwarehouse/v1.ts +++ b/src/apis/contentwarehouse/v1.ts @@ -3491,15 +3491,15 @@ export namespace contentwarehouse_v1 { units?: string | null; } /** - * Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478 + * Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478 */ export interface Schema$GoogleTypePostalAddress { /** - * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). + * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). */ addressLines?: string[] | null; /** - * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated. + * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated. */ administrativeArea?: string | null; /** @@ -3515,7 +3515,7 @@ export namespace contentwarehouse_v1 { */ organization?: string | null; /** - * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.). + * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.). */ postalCode?: string | null; /** @@ -3531,7 +3531,7 @@ export namespace contentwarehouse_v1 { */ revision?: number | null; /** - * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (e.g. Côte d'Ivoire). + * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (For example "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (For example Côte d'Ivoire). */ sortingCode?: string | null; /** @@ -3544,11 +3544,11 @@ export namespace contentwarehouse_v1 { */ export interface Schema$GoogleTypeTimeZone { /** - * IANA Time Zone Database time zone, e.g. "America/New_York". + * IANA Time Zone Database time zone. For example "America/New_York". */ id?: string | null; /** - * Optional. IANA Time Zone Database version number, e.g. "2019a". + * Optional. IANA Time Zone Database version number. For example "2019a". */ version?: string | null; } diff --git a/src/apis/css/v1.ts b/src/apis/css/v1.ts index 8877da5de6..ac9545778d 100644 --- a/src/apis/css/v1.ts +++ b/src/apis/css/v1.ts @@ -291,11 +291,11 @@ export namespace css_v1 { */ headlineOfferMobileLink?: string | null; /** - * Headline Price of the aggregate offer. + * Headline Price of the CSS Product. */ headlineOfferPrice?: Schema$Price; /** - * Headline Price of the aggregate offer. + * Headline Price of the CSS Product. */ headlineOfferShippingPrice?: Schema$Price; /** @@ -303,7 +303,7 @@ export namespace css_v1 { */ headlineOfferSubscriptionCost?: Schema$HeadlineOfferSubscriptionCost; /** - * High Price of the aggregate offer. + * High Price of the CSS Product. */ highPrice?: Schema$Price; /** @@ -323,7 +323,7 @@ export namespace css_v1 { */ itemGroupId?: string | null; /** - * Low Price of the aggregate offer. + * Low Price of the CSS Product. */ lowPrice?: Schema$Price; /** @@ -339,7 +339,7 @@ export namespace css_v1 { */ multipack?: string | null; /** - * The number of aggregate offers. + * The number of CSS Products. */ numberOfOffers?: string | null; /** @@ -413,7 +413,7 @@ export namespace css_v1 { name?: string | null; } /** - * The processed CSS Product(a.k.a Aggregate Offer internally). + * The processed CSS Product. */ export interface Schema$CssProduct { /** @@ -470,7 +470,7 @@ export namespace css_v1 { */ finalName?: string | null; /** - * Represents the existing version (freshness) of the CSS Product, which can be used to preserve the right order when multiple updates are done at the same time. This field must not be set to the future time. If set, the update is prevented if a newer version of the item already exists in our system (that is the last update time of the existing CSS products is later than the freshness time set in the update). If the update happens, the last update time is then set to this freshness time. If not set, the update will not be prevented and the last update time will default to when this request was received by the CSS API. If the operation is prevented, the aborted exception will be thrown. + * DEPRECATED. Use expiration_date instead. Represents the existing version (freshness) of the CSS Product, which can be used to preserve the right order when multiple updates are done at the same time. This field must not be set to the future time. If set, the update is prevented if a newer version of the item already exists in our system (that is the last update time of the existing CSS products is later than the freshness time set in the update). If the update happens, the last update time is then set to this freshness time. If not set, the update will not be prevented and the last update time will default to when this request was received by the CSS API. If the operation is prevented, the aborted exception will be thrown. */ freshnessTime?: string | null; /** @@ -529,7 +529,7 @@ export namespace css_v1 { */ export interface Schema$DestinationStatus { /** - * List of country codes (ISO 3166-1 alpha-2) where the aggregate offer is approved. + * List of country codes (ISO 3166-1 alpha-2) where the CSS Product is approved. */ approvedCountries?: string[] | null; /** @@ -537,11 +537,11 @@ export namespace css_v1 { */ destination?: string | null; /** - * List of country codes (ISO 3166-1 alpha-2) where the aggregate offer is disapproved. + * List of country codes (ISO 3166-1 alpha-2) where the CSS Product is disapproved. */ disapprovedCountries?: string[] | null; /** - * List of country codes (ISO 3166-1 alpha-2) where the aggregate offer is pending approval. + * List of country codes (ISO 3166-1 alpha-2) where the CSS Product is pending approval. */ pendingCountries?: string[] | null; } @@ -588,7 +588,7 @@ export namespace css_v1 { */ export interface Schema$ItemLevelIssue { /** - * List of country codes (ISO 3166-1 alpha-2) where issue applies to the aggregate offer. + * List of country codes (ISO 3166-1 alpha-2) where issue applies to the CSS Product. */ applicableCountries?: string[] | null; /** @@ -620,7 +620,7 @@ export namespace css_v1 { */ resolution?: string | null; /** - * How this issue affects serving of the aggregate offer. + * How this issue affects serving of the CSS Product. */ servability?: string | null; } @@ -1036,7 +1036,7 @@ export namespace css_v1 { */ labelId?: string; /** - * Optional. The maximum number of accounts to return. The service may return fewer than this value. If unspecified, at most 50 accounts will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + * Optional. The maximum number of accounts to return. The service may return fewer than this value. If unspecified, at most 50 accounts will be returned. The maximum value is 100; values above 100 will be coerced to 100. */ pageSize?: number; /** @@ -1239,6 +1239,91 @@ export namespace css_v1 { return createAPIRequest(parameters); } } + + /** + * Updates the existing Css Product input in your CSS Center account. After inserting, updating, or deleting a CSS Product input, it may take several minutes before the processed Css Product can be retrieved. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Accounts$Cssproductinputs$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Accounts$Cssproductinputs$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Accounts$Cssproductinputs$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Accounts$Cssproductinputs$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Accounts$Cssproductinputs$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Accounts$Cssproductinputs$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Cssproductinputs$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Cssproductinputs$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://css.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } export interface Params$Resource$Accounts$Cssproductinputs$Delete @@ -1255,7 +1340,7 @@ export namespace css_v1 { export interface Params$Resource$Accounts$Cssproductinputs$Insert extends StandardParameters { /** - * Required. The primary or supplemental feed id. If CSS Product already exists and feed id provided is different, then the CSS Product will be moved to a new feed. Note: For now, CSSs do not need to provide feed ids as we create feeds on the fly. We do not have supplemental feed support for CSS Products yet. + * Optional. DEPRECATED. Feed id is not required for CSS Products. The primary or supplemental feed id. If CSS Product already exists and feed id provided is different, then the CSS Product will be moved to a new feed. Note: For now, CSSs do not need to provide feed ids as we create feeds on the fly. We do not have supplemental feed support for CSS Products yet. */ feedId?: string; /** @@ -1268,6 +1353,22 @@ export namespace css_v1 { */ requestBody?: Schema$CssProductInput; } + export interface Params$Resource$Accounts$Cssproductinputs$Patch + extends StandardParameters { + /** + * The name of the CSS Product input. Format: `accounts/{account\}/cssProductInputs/{css_product_input\}` + */ + name?: string; + /** + * The list of CSS product attributes to be updated. If the update mask is omitted, then it is treated as implied field mask equivalent to all fields that are populated (have a non-empty value). Attributes specified in the update mask without a value specified in the body will be deleted from the CSS product. Update mask can only be specified for top level fields in attributes and custom attributes. To specify the update mask for custom attributes you need to add the `custom_attribute.` prefix. Providing special "*" value for full CSS product replacement is not supported. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CssProductInput; + } export class Resource$Accounts$Cssproducts { context: APIRequestContext; @@ -1657,7 +1758,7 @@ export namespace css_v1 { } /** - * Lists the labels assigned to an account. + * Lists the labels owned by an account. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/datacatalog/v1.ts b/src/apis/datacatalog/v1.ts index 6215d5e32e..6bf3a26093 100644 --- a/src/apis/datacatalog/v1.ts +++ b/src/apis/datacatalog/v1.ts @@ -114,6 +114,7 @@ export namespace datacatalog_v1 { context: APIRequestContext; catalog: Resource$Catalog; entries: Resource$Entries; + organizations: Resource$Organizations; projects: Resource$Projects; constructor(options: GlobalOptions, google?: GoogleConfigurable) { @@ -124,6 +125,7 @@ export namespace datacatalog_v1 { this.catalog = new Resource$Catalog(this.context); this.entries = new Resource$Entries(this.context); + this.organizations = new Resource$Organizations(this.context); this.projects = new Resource$Projects(this.context); } } @@ -723,6 +725,10 @@ export namespace datacatalog_v1 { * Identifier. The resource name of the entry group in URL format. Note: The entry group itself and its child resources might not be stored in the location specified in its name. */ name?: string | null; + /** + * Optional. When set to [true], it means DataCatalog EntryGroup was transferred to Dataplex Catalog Service. It makes EntryGroup and its Entries to be read-only in DataCatalog. However, new Tags on EntryGroup and its Entries can be created. After setting the flag to [true] it cannot be unset. + */ + transferredToDataplex?: boolean | null; } /** * Entry overview fields for rich text descriptions of entries. @@ -976,6 +982,19 @@ export namespace datacatalog_v1 { */ parentViewId?: string | null; } + /** + * The configuration related to the migration to Dataplex applied to an organization or project. It is the response message for SetConfig and RetrieveEffectiveConfig. + */ + export interface Schema$GoogleCloudDatacatalogV1MigrationConfig { + /** + * Opt-in status for the UI switch to Dataplex. + */ + catalogUiExperience?: string | null; + /** + * Opt-in status for the migration of Tag Templates to Dataplex. + */ + tagTemplateMigration?: string | null; + } /** * Specification that applies to a model. Valid only for entries with the `MODEL` type. */ @@ -1003,6 +1022,17 @@ export namespace datacatalog_v1 { */ entryOverview?: Schema$GoogleCloudDatacatalogV1EntryOverview; } + /** + * The configuration related to the migration from Data Catalog to Dataplex that has been applied to an organization and any projects under it. It is the response message for RetrieveConfig. + */ + export interface Schema$GoogleCloudDatacatalogV1OrganizationConfig { + /** + * Map of organizations and project resource names and their configuration. The format for the map keys is `organizations/{organizationId\}` or `projects/{projectId\}`. + */ + config?: { + [key: string]: Schema$GoogleCloudDatacatalogV1MigrationConfig; + } | null; + } /** * Entry metadata relevant only to the user and private to them. */ @@ -1413,6 +1443,19 @@ export namespace datacatalog_v1 { */ cloudBigtableInstanceSpec?: Schema$GoogleCloudDatacatalogV1CloudBigtableInstanceSpec; } + /** + * Request message for SetConfig. + */ + export interface Schema$GoogleCloudDatacatalogV1SetConfigRequest { + /** + * Opt-in status for the UI switch to Dataplex. + */ + catalogUiExperience?: string | null; + /** + * Opt-in status for the migration of Tag Templates to Dataplex. + */ + tagTemplateMigration?: string | null; + } /** * Specification that applies to entries that are part `SQL_DATABASE` system (user_specified_type) */ @@ -1485,6 +1528,10 @@ export namespace datacatalog_v1 { * Resources like entry can have schemas associated with them. This scope allows you to attach tags to an individual column based on that schema. To attach a tag to a nested column, separate column names with a dot (`.`). Example: `column.nested_column`. */ column?: string | null; + /** + * Output only. Denotes the transfer status of the Tag Template. + */ + dataplexTransferStatus?: string | null; /** * Required. Maps the ID of a tag field to its value and additional information about that field. Tag template defines valid field IDs. A tag must have at least 1 field and at most 500 fields. */ @@ -2111,6 +2158,341 @@ export namespace datacatalog_v1 { sqlResource?: string; } + export class Resource$Organizations { + context: APIRequestContext; + locations: Resource$Organizations$Locations; + constructor(context: APIRequestContext) { + this.context = context; + this.locations = new Resource$Organizations$Locations(this.context); + } + } + + export class Resource$Organizations$Locations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Retrieves the configuration related to the migration from Data Catalog to Dataplex for a specific organization, including all the projects under it which have a separate configuration set. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + retrieveConfig( + params: Params$Resource$Organizations$Locations$Retrieveconfig, + options: StreamMethodOptions + ): GaxiosPromise; + retrieveConfig( + params?: Params$Resource$Organizations$Locations$Retrieveconfig, + options?: MethodOptions + ): GaxiosPromise; + retrieveConfig( + params: Params$Resource$Organizations$Locations$Retrieveconfig, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieveConfig( + params: Params$Resource$Organizations$Locations$Retrieveconfig, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieveConfig( + params: Params$Resource$Organizations$Locations$Retrieveconfig, + callback: BodyResponseCallback + ): void; + retrieveConfig( + callback: BodyResponseCallback + ): void; + retrieveConfig( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Retrieveconfig + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Retrieveconfig; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizations$Locations$Retrieveconfig; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://datacatalog.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:retrieveConfig').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Retrieves the effective configuration related to the migration from Data Catalog to Dataplex for a specific organization or project. If there is no specific configuration set for the resource, the setting is checked hierarchicahlly through the ancestors of the resource, starting from the resource itself. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + retrieveEffectiveConfig( + params: Params$Resource$Organizations$Locations$Retrieveeffectiveconfig, + options: StreamMethodOptions + ): GaxiosPromise; + retrieveEffectiveConfig( + params?: Params$Resource$Organizations$Locations$Retrieveeffectiveconfig, + options?: MethodOptions + ): GaxiosPromise; + retrieveEffectiveConfig( + params: Params$Resource$Organizations$Locations$Retrieveeffectiveconfig, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieveEffectiveConfig( + params: Params$Resource$Organizations$Locations$Retrieveeffectiveconfig, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieveEffectiveConfig( + params: Params$Resource$Organizations$Locations$Retrieveeffectiveconfig, + callback: BodyResponseCallback + ): void; + retrieveEffectiveConfig( + callback: BodyResponseCallback + ): void; + retrieveEffectiveConfig( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Retrieveeffectiveconfig + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Retrieveeffectiveconfig; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizations$Locations$Retrieveeffectiveconfig; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://datacatalog.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:retrieveEffectiveConfig').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Sets the configuration related to the migration to Dataplex for an organization or project. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setConfig( + params: Params$Resource$Organizations$Locations$Setconfig, + options: StreamMethodOptions + ): GaxiosPromise; + setConfig( + params?: Params$Resource$Organizations$Locations$Setconfig, + options?: MethodOptions + ): GaxiosPromise; + setConfig( + params: Params$Resource$Organizations$Locations$Setconfig, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setConfig( + params: Params$Resource$Organizations$Locations$Setconfig, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setConfig( + params: Params$Resource$Organizations$Locations$Setconfig, + callback: BodyResponseCallback + ): void; + setConfig( + callback: BodyResponseCallback + ): void; + setConfig( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Setconfig + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Setconfig; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizations$Locations$Setconfig; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://datacatalog.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:setConfig').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Organizations$Locations$Retrieveconfig + extends StandardParameters { + /** + * Required. The organization whose config is being retrieved. + */ + name?: string; + } + export interface Params$Resource$Organizations$Locations$Retrieveeffectiveconfig + extends StandardParameters { + /** + * Required. The resource whose effective config is being retrieved. + */ + name?: string; + } + export interface Params$Resource$Organizations$Locations$Setconfig + extends StandardParameters { + /** + * Required. The organization or project whose config is being specified. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDatacatalogV1SetConfigRequest; + } + export class Resource$Projects { context: APIRequestContext; locations: Resource$Projects$Locations; @@ -2141,6 +2523,221 @@ export namespace datacatalog_v1 { this.context ); } + + /** + * Retrieves the effective configuration related to the migration from Data Catalog to Dataplex for a specific organization or project. If there is no specific configuration set for the resource, the setting is checked hierarchicahlly through the ancestors of the resource, starting from the resource itself. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + retrieveEffectiveConfig( + params: Params$Resource$Projects$Locations$Retrieveeffectiveconfig, + options: StreamMethodOptions + ): GaxiosPromise; + retrieveEffectiveConfig( + params?: Params$Resource$Projects$Locations$Retrieveeffectiveconfig, + options?: MethodOptions + ): GaxiosPromise; + retrieveEffectiveConfig( + params: Params$Resource$Projects$Locations$Retrieveeffectiveconfig, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieveEffectiveConfig( + params: Params$Resource$Projects$Locations$Retrieveeffectiveconfig, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + retrieveEffectiveConfig( + params: Params$Resource$Projects$Locations$Retrieveeffectiveconfig, + callback: BodyResponseCallback + ): void; + retrieveEffectiveConfig( + callback: BodyResponseCallback + ): void; + retrieveEffectiveConfig( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Retrieveeffectiveconfig + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Retrieveeffectiveconfig; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Retrieveeffectiveconfig; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://datacatalog.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:retrieveEffectiveConfig').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Sets the configuration related to the migration to Dataplex for an organization or project. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setConfig( + params: Params$Resource$Projects$Locations$Setconfig, + options: StreamMethodOptions + ): GaxiosPromise; + setConfig( + params?: Params$Resource$Projects$Locations$Setconfig, + options?: MethodOptions + ): GaxiosPromise; + setConfig( + params: Params$Resource$Projects$Locations$Setconfig, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setConfig( + params: Params$Resource$Projects$Locations$Setconfig, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setConfig( + params: Params$Resource$Projects$Locations$Setconfig, + callback: BodyResponseCallback + ): void; + setConfig( + callback: BodyResponseCallback + ): void; + setConfig( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Setconfig + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Setconfig; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Setconfig; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://datacatalog.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:setConfig').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Retrieveeffectiveconfig + extends StandardParameters { + /** + * Required. The resource whose effective config is being retrieved. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Setconfig + extends StandardParameters { + /** + * Required. The organization or project whose config is being specified. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDatacatalogV1SetConfigRequest; } export class Resource$Projects$Locations$Entrygroups { @@ -5255,7 +5852,7 @@ export namespace datacatalog_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/datacatalog/v1beta1.ts b/src/apis/datacatalog/v1beta1.ts index 7433e6d2bc..25a813551e 100644 --- a/src/apis/datacatalog/v1beta1.ts +++ b/src/apis/datacatalog/v1beta1.ts @@ -1769,6 +1769,10 @@ export namespace datacatalog_v1beta1 { * Resources like entry can have schemas associated with them. This scope allows you to attach tags to an individual column based on that schema. To attach a tag to a nested column, separate column names with a dot (`.`). Example: `column.nested_column`. */ column?: string | null; + /** + * Output only. Denotes the transfer status of the Tag Template. + */ + dataplexTransferStatus?: string | null; /** * Required. Maps the ID of a tag field to its value and additional information about that field. Tag template defines valid field IDs. A tag must have at least 1 field and at most 500 fields. */ diff --git a/src/apis/dataflow/v1b3.ts b/src/apis/dataflow/v1b3.ts index 82fcc6d3d9..45c13b5d37 100644 --- a/src/apis/dataflow/v1b3.ts +++ b/src/apis/dataflow/v1b3.ts @@ -602,6 +602,19 @@ export namespace dataflow_v1b3 { */ vmInstance?: string | null; } + /** + * The gauge value of a metric. + */ + export interface Schema$DataflowGaugeValue { + /** + * The timestamp when the gauge was recorded. + */ + measuredTime?: string | null; + /** + * The value of the gauge. + */ + value?: string | null; + } /** * Summary statistics for a population of values. HistogramValue contains a sequence of buckets and gives a count of values that fall into each bucket. Bucket boundares are defined by a formula and bucket widths are either fixed or exponentially increasing. */ @@ -983,7 +996,7 @@ export namespace dataflow_v1b3 { inputs?: Schema$InstructionInput[]; } /** - * The environment values to be set at runtime for flex template. LINT.IfChange + * The environment values to be set at runtime for flex template. */ export interface Schema$FlexTemplateRuntimeEnvironment { /** @@ -1156,6 +1169,28 @@ export namespace dataflow_v1b3 { */ templateType?: string | null; } + /** + * Information about the GPU usage on the worker. + */ + export interface Schema$GPUUsage { + /** + * Required. Timestamp of the measurement. + */ + timestamp?: string | null; + /** + * Required. Utilization info about the GPU. + */ + utilization?: Schema$GPUUtilization; + } + /** + * Utilization details about the GPU. + */ + export interface Schema$GPUUtilization { + /** + * Required. GPU utilization rate of any kernel over the last sample period in the range of [0, 1]. + */ + rate?: number | null; + } /** * Histogram of value counts for a distribution. Buckets have an inclusive lower bound and exclusive upper bound and use "1,2,5 bucketing": The first bucket range is from [0,1) and all subsequent bucket boundaries are powers of ten multiplied by 1, 2, or 5. Thus, bucket boundaries are 0, 1, 2, 5, 10, 20, 50, 100, 200, 500, 1000, ... Negative values are not supported. */ @@ -1890,6 +1925,10 @@ export namespace dataflow_v1b3 { * Optional. Set of metric labels for this metric. */ metricLabels?: {[key: string]: string} | null; + /** + * Non-cumulative int64 value of this metric. + */ + valueGauge64?: Schema$DataflowGaugeValue; /** * Histogram value of this metric. */ @@ -2391,6 +2430,10 @@ export namespace dataflow_v1b3 { * CPU utilization samples. */ cpuTime?: Schema$CPUTime[]; + /** + * Optional. GPU usage samples. + */ + gpuUsage?: Schema$GPUUsage[]; /** * Memory utilization samples. */ @@ -2401,7 +2444,7 @@ export namespace dataflow_v1b3 { */ export interface Schema$ResourceUtilizationReportResponse {} /** - * The environment values to set at runtime. LINT.IfChange + * The environment values to set at runtime. */ export interface Schema$RuntimeEnvironment { /** diff --git a/src/apis/dataform/v1beta1.ts b/src/apis/dataform/v1beta1.ts index 74e7b1f1bc..17e0d6e7ca 100644 --- a/src/apis/dataform/v1beta1.ts +++ b/src/apis/dataform/v1beta1.ts @@ -410,10 +410,6 @@ export namespace dataform_v1beta1 { * The action's identifier if the project had been compiled without any overrides configured. Unique within the compilation result. */ canonicalTarget?: Schema$Target; - /** - * The data preparation executed by this action. - */ - dataPreparation?: Schema$DataPreparation; /** * The declaration declared by this action. */ @@ -470,27 +466,6 @@ export namespace dataform_v1beta1 { */ kmsKeyVersionName?: string | null; } - /** - * Defines a compiled Data Preparation entity - */ - export interface Schema$DataPreparation { - /** - * The data preparation definition, stored as a binary encoded proto. - */ - contents?: string | null; - /** - * A list of actions that this action depends on. - */ - dependencyTargets?: Schema$Target[]; - /** - * Whether this action is disabled (i.e. should not be run). - */ - disabled?: boolean | null; - /** - * Arbitrary, user-defined tags on this action. - */ - tags?: string[] | null; - } /** * Represents a relation which is not managed by Dataform but which may be referenced by Dataform actions. */ @@ -963,7 +938,7 @@ export namespace dataform_v1beta1 { */ apiVersion?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. */ cancelRequested?: boolean | null; /** @@ -1228,7 +1203,7 @@ export namespace dataform_v1beta1 { */ name?: string | null; /** - * Output only. Records of the 10 most recent scheduled release attempts, ordered in in descending order of `release_time`. Updated whenever automatic creation of a compilation result is triggered by cron_schedule. + * Output only. Records of the 10 most recent scheduled release attempts, ordered in descending order of `release_time`. Updated whenever automatic creation of a compilation result is triggered by cron_schedule. */ recentScheduledReleaseRecords?: Schema$ScheduledReleaseRecord[]; /** @@ -1279,7 +1254,7 @@ export namespace dataform_v1beta1 { */ gitRemoteSettings?: Schema$GitRemoteSettings; /** - * Optional. The reference to a KMS encryption key. If provided, it will be used to encrypt user data in the repository and all child resources. It is not possible to add or update the encryption key after the repository is created. Example: `projects/[kms_project_id]/locations/[region]/keyRings/[key_region]/cryptoKeys/[key]` + * Optional. The reference to a KMS encryption key. If provided, it will be used to encrypt user data in the repository and all child resources. It is not possible to add or update the encryption key after the repository is created. Example: `projects/{kms_project\}/locations/{location\}/keyRings/{key_location\}/cryptoKeys/{key\}` */ kmsKeyName?: string | null; /** @@ -1488,7 +1463,7 @@ export namespace dataform_v1beta1 { */ name?: string | null; /** - * Output only. Records of the 10 most recent scheduled execution attempts, ordered in in descending order of `execution_time`. Updated whenever automatic creation of a workflow invocation is triggered by cron_schedule. + * Output only. Records of the 10 most recent scheduled execution attempts, ordered in descending order of `execution_time`. Updated whenever automatic creation of a workflow invocation is triggered by cron_schedule. */ recentScheduledExecutionRecords?: Schema$ScheduledExecutionRecord[]; /** @@ -1578,6 +1553,10 @@ export namespace dataform_v1beta1 { * Represents a Dataform Git workspace. */ export interface Schema$Workspace { + /** + * Output only. The timestamp of when the workspace was created. + */ + createTime?: string | null; /** * Output only. A data encryption state of a Git repository if this Workspace is protected by a KMS key. */ @@ -1642,13 +1621,9 @@ export namespace dataform_v1beta1 { export class Resource$Projects$Locations { context: APIRequestContext; - collections: Resource$Projects$Locations$Collections; repositories: Resource$Projects$Locations$Repositories; constructor(context: APIRequestContext) { this.context = context; - this.collections = new Resource$Projects$Locations$Collections( - this.context - ); this.repositories = new Resource$Projects$Locations$Repositories( this.context ); @@ -1918,7 +1893,7 @@ export namespace dataform_v1beta1 { } /** - * Update default config for a given project and location. + * Update default config for a given project and location. *Note:* This method does not fully implement AIP/134. In particular: 1. The wildcard entry (***) is treated as a bad request 2. When the *field_mask* is omitted, instead of only updating the set fields, the request is treated as a full update on all modifiable fields * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -2053,65 +2028,95 @@ export namespace dataform_v1beta1 { requestBody?: Schema$Config; } - export class Resource$Projects$Locations$Collections { + export class Resource$Projects$Locations$Repositories { context: APIRequestContext; + compilationResults: Resource$Projects$Locations$Repositories$Compilationresults; + releaseConfigs: Resource$Projects$Locations$Repositories$Releaseconfigs; + workflowConfigs: Resource$Projects$Locations$Repositories$Workflowconfigs; + workflowInvocations: Resource$Projects$Locations$Repositories$Workflowinvocations; + workspaces: Resource$Projects$Locations$Repositories$Workspaces; constructor(context: APIRequestContext) { this.context = context; + this.compilationResults = + new Resource$Projects$Locations$Repositories$Compilationresults( + this.context + ); + this.releaseConfigs = + new Resource$Projects$Locations$Repositories$Releaseconfigs( + this.context + ); + this.workflowConfigs = + new Resource$Projects$Locations$Repositories$Workflowconfigs( + this.context + ); + this.workflowInvocations = + new Resource$Projects$Locations$Repositories$Workflowinvocations( + this.context + ); + this.workspaces = new Resource$Projects$Locations$Repositories$Workspaces( + this.context + ); } /** - * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + * Applies a Git commit to a Repository. The Repository must not have a value for `git_remote_settings.url`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getIamPolicy( - params: Params$Resource$Projects$Locations$Collections$Getiampolicy, + commit( + params: Params$Resource$Projects$Locations$Repositories$Commit, options: StreamMethodOptions ): GaxiosPromise; - getIamPolicy( - params?: Params$Resource$Projects$Locations$Collections$Getiampolicy, + commit( + params?: Params$Resource$Projects$Locations$Repositories$Commit, options?: MethodOptions - ): GaxiosPromise; - getIamPolicy( - params: Params$Resource$Projects$Locations$Collections$Getiampolicy, + ): GaxiosPromise; + commit( + params: Params$Resource$Projects$Locations$Repositories$Commit, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Collections$Getiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + commit( + params: Params$Resource$Projects$Locations$Repositories$Commit, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Collections$Getiampolicy, - callback: BodyResponseCallback + commit( + params: Params$Resource$Projects$Locations$Repositories$Commit, + callback: BodyResponseCallback ): void; - getIamPolicy(callback: BodyResponseCallback): void; - getIamPolicy( + commit( + callback: BodyResponseCallback + ): void; + commit( paramsOrCallback?: - | Params$Resource$Projects$Locations$Collections$Getiampolicy - | BodyResponseCallback + | Params$Resource$Projects$Locations$Repositories$Commit + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Collections$Getiampolicy; + {}) as Params$Resource$Projects$Locations$Repositories$Commit; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Collections$Getiampolicy; + params = {} as Params$Resource$Projects$Locations$Repositories$Commit; options = {}; } @@ -2124,83 +2129,92 @@ export namespace dataform_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+resource}:getIamPolicy').replace( + url: (rootUrl + '/v1beta1/{+name}:commit').replace( /([^:]\/)\/+/g, '$1' ), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + * Computes a Repository's Git access token status. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setIamPolicy( - params: Params$Resource$Projects$Locations$Collections$Setiampolicy, + computeAccessTokenStatus( + params: Params$Resource$Projects$Locations$Repositories$Computeaccesstokenstatus, options: StreamMethodOptions ): GaxiosPromise; - setIamPolicy( - params?: Params$Resource$Projects$Locations$Collections$Setiampolicy, + computeAccessTokenStatus( + params?: Params$Resource$Projects$Locations$Repositories$Computeaccesstokenstatus, options?: MethodOptions - ): GaxiosPromise; - setIamPolicy( - params: Params$Resource$Projects$Locations$Collections$Setiampolicy, + ): GaxiosPromise; + computeAccessTokenStatus( + params: Params$Resource$Projects$Locations$Repositories$Computeaccesstokenstatus, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Collections$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + computeAccessTokenStatus( + params: Params$Resource$Projects$Locations$Repositories$Computeaccesstokenstatus, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Collections$Setiampolicy, - callback: BodyResponseCallback + computeAccessTokenStatus( + params: Params$Resource$Projects$Locations$Repositories$Computeaccesstokenstatus, + callback: BodyResponseCallback ): void; - setIamPolicy(callback: BodyResponseCallback): void; - setIamPolicy( + computeAccessTokenStatus( + callback: BodyResponseCallback + ): void; + computeAccessTokenStatus( paramsOrCallback?: - | Params$Resource$Projects$Locations$Collections$Setiampolicy - | BodyResponseCallback + | Params$Resource$Projects$Locations$Repositories$Computeaccesstokenstatus + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Collections$Setiampolicy; + {}) as Params$Resource$Projects$Locations$Repositories$Computeaccesstokenstatus; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Collections$Setiampolicy; + {} as Params$Resource$Projects$Locations$Repositories$Computeaccesstokenstatus; options = {}; } @@ -2213,90 +2227,83 @@ export namespace dataform_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+resource}:setIamPolicy').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: ( + rootUrl + '/v1beta1/{+name}:computeAccessTokenStatus' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. + * Creates a new Repository in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - testIamPermissions( - params: Params$Resource$Projects$Locations$Collections$Testiampermissions, + create( + params: Params$Resource$Projects$Locations$Repositories$Create, options: StreamMethodOptions ): GaxiosPromise; - testIamPermissions( - params?: Params$Resource$Projects$Locations$Collections$Testiampermissions, + create( + params?: Params$Resource$Projects$Locations$Repositories$Create, options?: MethodOptions - ): GaxiosPromise; - testIamPermissions( - params: Params$Resource$Projects$Locations$Collections$Testiampermissions, + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Repositories$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Projects$Locations$Collections$Testiampermissions, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - testIamPermissions( - params: Params$Resource$Projects$Locations$Collections$Testiampermissions, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Repositories$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Repositories$Create, + callback: BodyResponseCallback ): void; - testIamPermissions( + create(callback: BodyResponseCallback): void; + create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Collections$Testiampermissions - | BodyResponseCallback + | Params$Resource$Projects$Locations$Repositories$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Collections$Testiampermissions; + {}) as Params$Resource$Projects$Locations$Repositories$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Collections$Testiampermissions; + params = {} as Params$Resource$Projects$Locations$Repositories$Create; options = {}; } @@ -2309,7 +2316,7 @@ export namespace dataform_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+resource}:testIamPermissions').replace( + url: (rootUrl + '/v1beta1/{+parent}/repositories').replace( /([^:]\/)\/+/g, '$1' ), @@ -2319,151 +2326,72 @@ export namespace dataform_v1beta1 { options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } - } - export interface Params$Resource$Projects$Locations$Collections$Getiampolicy - extends StandardParameters { - /** - * Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - */ - 'options.requestedPolicyVersion'?: number; - /** - * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. - */ - resource?: string; - } - export interface Params$Resource$Projects$Locations$Collections$Setiampolicy - extends StandardParameters { /** - * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * Deletes a single Repository. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$SetIamPolicyRequest; - } - export interface Params$Resource$Projects$Locations$Collections$Testiampermissions - extends StandardParameters { - /** - * REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$TestIamPermissionsRequest; - } - - export class Resource$Projects$Locations$Repositories { - context: APIRequestContext; - commentThreads: Resource$Projects$Locations$Repositories$Commentthreads; - compilationResults: Resource$Projects$Locations$Repositories$Compilationresults; - releaseConfigs: Resource$Projects$Locations$Repositories$Releaseconfigs; - workflowConfigs: Resource$Projects$Locations$Repositories$Workflowconfigs; - workflowInvocations: Resource$Projects$Locations$Repositories$Workflowinvocations; - workspaces: Resource$Projects$Locations$Repositories$Workspaces; - constructor(context: APIRequestContext) { - this.context = context; - this.commentThreads = - new Resource$Projects$Locations$Repositories$Commentthreads( - this.context - ); - this.compilationResults = - new Resource$Projects$Locations$Repositories$Compilationresults( - this.context - ); - this.releaseConfigs = - new Resource$Projects$Locations$Repositories$Releaseconfigs( - this.context - ); - this.workflowConfigs = - new Resource$Projects$Locations$Repositories$Workflowconfigs( - this.context - ); - this.workflowInvocations = - new Resource$Projects$Locations$Repositories$Workflowinvocations( - this.context - ); - this.workspaces = new Resource$Projects$Locations$Repositories$Workspaces( - this.context - ); - } - - /** - * Applies a Git commit to a Repository. The Repository must not have a value for `git_remote_settings.url`. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - commit( - params: Params$Resource$Projects$Locations$Repositories$Commit, + delete( + params: Params$Resource$Projects$Locations$Repositories$Delete, options: StreamMethodOptions ): GaxiosPromise; - commit( - params?: Params$Resource$Projects$Locations$Repositories$Commit, + delete( + params?: Params$Resource$Projects$Locations$Repositories$Delete, options?: MethodOptions - ): GaxiosPromise; - commit( - params: Params$Resource$Projects$Locations$Repositories$Commit, + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Repositories$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - commit( - params: Params$Resource$Projects$Locations$Repositories$Commit, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - commit( - params: Params$Resource$Projects$Locations$Repositories$Commit, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Repositories$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - commit( - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Repositories$Delete, + callback: BodyResponseCallback ): void; - commit( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Repositories$Commit - | BodyResponseCallback + | Params$Resource$Projects$Locations$Repositories$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Repositories$Commit; + {}) as Params$Resource$Projects$Locations$Repositories$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Repositories$Commit; + params = {} as Params$Resource$Projects$Locations$Repositories$Delete; options = {}; } @@ -2476,11 +2404,8 @@ export namespace dataform_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+name}:commit').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', apiVersion: '', }, options @@ -2491,77 +2416,75 @@ export namespace dataform_v1beta1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Computes a Repository's Git access token status. + * Fetches a Repository's history of commits. The Repository must not have a value for `git_remote_settings.url`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - computeAccessTokenStatus( - params: Params$Resource$Projects$Locations$Repositories$Computeaccesstokenstatus, + fetchHistory( + params: Params$Resource$Projects$Locations$Repositories$Fetchhistory, options: StreamMethodOptions ): GaxiosPromise; - computeAccessTokenStatus( - params?: Params$Resource$Projects$Locations$Repositories$Computeaccesstokenstatus, + fetchHistory( + params?: Params$Resource$Projects$Locations$Repositories$Fetchhistory, options?: MethodOptions - ): GaxiosPromise; - computeAccessTokenStatus( - params: Params$Resource$Projects$Locations$Repositories$Computeaccesstokenstatus, + ): GaxiosPromise; + fetchHistory( + params: Params$Resource$Projects$Locations$Repositories$Fetchhistory, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - computeAccessTokenStatus( - params: Params$Resource$Projects$Locations$Repositories$Computeaccesstokenstatus, + fetchHistory( + params: Params$Resource$Projects$Locations$Repositories$Fetchhistory, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - computeAccessTokenStatus( - params: Params$Resource$Projects$Locations$Repositories$Computeaccesstokenstatus, - callback: BodyResponseCallback + fetchHistory( + params: Params$Resource$Projects$Locations$Repositories$Fetchhistory, + callback: BodyResponseCallback ): void; - computeAccessTokenStatus( - callback: BodyResponseCallback + fetchHistory( + callback: BodyResponseCallback ): void; - computeAccessTokenStatus( + fetchHistory( paramsOrCallback?: - | Params$Resource$Projects$Locations$Repositories$Computeaccesstokenstatus - | BodyResponseCallback + | Params$Resource$Projects$Locations$Repositories$Fetchhistory + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Repositories$Computeaccesstokenstatus; + {}) as Params$Resource$Projects$Locations$Repositories$Fetchhistory; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Repositories$Computeaccesstokenstatus; + {} as Params$Resource$Projects$Locations$Repositories$Fetchhistory; options = {}; } @@ -2574,9 +2497,10 @@ export namespace dataform_v1beta1 { const parameters = { options: Object.assign( { - url: ( - rootUrl + '/v1beta1/{+name}:computeAccessTokenStatus' - ).replace(/([^:]\/)\/+/g, '$1'), + url: (rootUrl + '/v1beta1/{+name}:fetchHistory').replace( + /([^:]\/)\/+/g, + '$1' + ), method: 'GET', apiVersion: '', }, @@ -2588,69 +2512,77 @@ export namespace dataform_v1beta1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Creates a new Repository in a given project and location. + * Fetches a Repository's remote branches. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - create( - params: Params$Resource$Projects$Locations$Repositories$Create, + fetchRemoteBranches( + params: Params$Resource$Projects$Locations$Repositories$Fetchremotebranches, options: StreamMethodOptions ): GaxiosPromise; - create( - params?: Params$Resource$Projects$Locations$Repositories$Create, + fetchRemoteBranches( + params?: Params$Resource$Projects$Locations$Repositories$Fetchremotebranches, options?: MethodOptions - ): GaxiosPromise; - create( - params: Params$Resource$Projects$Locations$Repositories$Create, + ): GaxiosPromise; + fetchRemoteBranches( + params: Params$Resource$Projects$Locations$Repositories$Fetchremotebranches, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Repositories$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + fetchRemoteBranches( + params: Params$Resource$Projects$Locations$Repositories$Fetchremotebranches, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Repositories$Create, - callback: BodyResponseCallback + fetchRemoteBranches( + params: Params$Resource$Projects$Locations$Repositories$Fetchremotebranches, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + fetchRemoteBranches( + callback: BodyResponseCallback + ): void; + fetchRemoteBranches( paramsOrCallback?: - | Params$Resource$Projects$Locations$Repositories$Create - | BodyResponseCallback + | Params$Resource$Projects$Locations$Repositories$Fetchremotebranches + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Repositories$Create; + {}) as Params$Resource$Projects$Locations$Repositories$Fetchremotebranches; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Repositories$Create; + params = + {} as Params$Resource$Projects$Locations$Repositories$Fetchremotebranches; options = {}; } @@ -2663,82 +2595,82 @@ export namespace dataform_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+parent}/repositories').replace( + url: (rootUrl + '/v1beta1/{+name}:fetchRemoteBranches').replace( /([^:]\/)\/+/g, '$1' ), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Deletes a single Repository. + * Fetches a single Repository. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Projects$Locations$Repositories$Delete, + get( + params: Params$Resource$Projects$Locations$Repositories$Get, options: StreamMethodOptions ): GaxiosPromise; - delete( - params?: Params$Resource$Projects$Locations$Repositories$Delete, + get( + params?: Params$Resource$Projects$Locations$Repositories$Get, options?: MethodOptions - ): GaxiosPromise; - delete( - params: Params$Resource$Projects$Locations$Repositories$Delete, + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Repositories$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Repositories$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Repositories$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Repositories$Delete, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Repositories$Get, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Repositories$Delete - | BodyResponseCallback + | Params$Resource$Projects$Locations$Repositories$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Repositories$Delete; + {}) as Params$Resource$Projects$Locations$Repositories$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Repositories$Delete; + params = {} as Params$Resource$Projects$Locations$Repositories$Get; options = {}; } @@ -2752,7 +2684,7 @@ export namespace dataform_v1beta1 { options: Object.assign( { url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + method: 'GET', apiVersion: '', }, options @@ -2763,75 +2695,68 @@ export namespace dataform_v1beta1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Fetches a Repository's history of commits. The Repository must not have a value for `git_remote_settings.url`. + * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - fetchHistory( - params: Params$Resource$Projects$Locations$Repositories$Fetchhistory, + getIamPolicy( + params: Params$Resource$Projects$Locations$Repositories$Getiampolicy, options: StreamMethodOptions ): GaxiosPromise; - fetchHistory( - params?: Params$Resource$Projects$Locations$Repositories$Fetchhistory, + getIamPolicy( + params?: Params$Resource$Projects$Locations$Repositories$Getiampolicy, options?: MethodOptions - ): GaxiosPromise; - fetchHistory( - params: Params$Resource$Projects$Locations$Repositories$Fetchhistory, + ): GaxiosPromise; + getIamPolicy( + params: Params$Resource$Projects$Locations$Repositories$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - fetchHistory( - params: Params$Resource$Projects$Locations$Repositories$Fetchhistory, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - fetchHistory( - params: Params$Resource$Projects$Locations$Repositories$Fetchhistory, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Projects$Locations$Repositories$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - fetchHistory( - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Projects$Locations$Repositories$Getiampolicy, + callback: BodyResponseCallback ): void; - fetchHistory( + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Repositories$Fetchhistory - | BodyResponseCallback + | Params$Resource$Projects$Locations$Repositories$Getiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Repositories$Fetchhistory; + {}) as Params$Resource$Projects$Locations$Repositories$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Repositories$Fetchhistory; + {} as Params$Resource$Projects$Locations$Repositories$Getiampolicy; options = {}; } @@ -2844,7 +2769,7 @@ export namespace dataform_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+name}:fetchHistory').replace( + url: (rootUrl + '/v1beta1/{+resource}:getIamPolicy').replace( /([^:]\/)\/+/g, '$1' ), @@ -2854,82 +2779,77 @@ export namespace dataform_v1beta1 { options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['resource'], + pathParams: ['resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Fetches a Repository's remote branches. + * Lists Repositories in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - fetchRemoteBranches( - params: Params$Resource$Projects$Locations$Repositories$Fetchremotebranches, + list( + params: Params$Resource$Projects$Locations$Repositories$List, options: StreamMethodOptions ): GaxiosPromise; - fetchRemoteBranches( - params?: Params$Resource$Projects$Locations$Repositories$Fetchremotebranches, + list( + params?: Params$Resource$Projects$Locations$Repositories$List, options?: MethodOptions - ): GaxiosPromise; - fetchRemoteBranches( - params: Params$Resource$Projects$Locations$Repositories$Fetchremotebranches, + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Repositories$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - fetchRemoteBranches( - params: Params$Resource$Projects$Locations$Repositories$Fetchremotebranches, + list( + params: Params$Resource$Projects$Locations$Repositories$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - fetchRemoteBranches( - params: Params$Resource$Projects$Locations$Repositories$Fetchremotebranches, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - fetchRemoteBranches( - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Repositories$List, + callback: BodyResponseCallback ): void; - fetchRemoteBranches( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Repositories$Fetchremotebranches - | BodyResponseCallback + | Params$Resource$Projects$Locations$Repositories$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Repositories$Fetchremotebranches; + {}) as Params$Resource$Projects$Locations$Repositories$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Repositories$Fetchremotebranches; + params = {} as Params$Resource$Projects$Locations$Repositories$List; options = {}; } @@ -2942,7 +2862,7 @@ export namespace dataform_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+name}:fetchRemoteBranches').replace( + url: (rootUrl + '/v1beta1/{+parent}/repositories').replace( /([^:]\/)\/+/g, '$1' ), @@ -2952,54 +2872,54 @@ export namespace dataform_v1beta1 { options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Fetches a single Repository. + * Updates a single Repository. *Note:* This method does not fully implement AIP/134. In particular: 1. The wildcard entry (***) is treated as a bad request 2. When the *field_mask* is omitted, instead of only updating the set fields, the request is treated as a full update on all modifiable fields * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Projects$Locations$Repositories$Get, + patch( + params: Params$Resource$Projects$Locations$Repositories$Patch, options: StreamMethodOptions ): GaxiosPromise; - get( - params?: Params$Resource$Projects$Locations$Repositories$Get, + patch( + params?: Params$Resource$Projects$Locations$Repositories$Patch, options?: MethodOptions ): GaxiosPromise; - get( - params: Params$Resource$Projects$Locations$Repositories$Get, + patch( + params: Params$Resource$Projects$Locations$Repositories$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Repositories$Get, + patch( + params: Params$Resource$Projects$Locations$Repositories$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Repositories$Get, + patch( + params: Params$Resource$Projects$Locations$Repositories$Patch, callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Repositories$Get + | Params$Resource$Projects$Locations$Repositories$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -3012,12 +2932,12 @@ export namespace dataform_v1beta1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Repositories$Get; + {}) as Params$Resource$Projects$Locations$Repositories$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Repositories$Get; + params = {} as Params$Resource$Projects$Locations$Repositories$Patch; options = {}; } @@ -3031,7 +2951,7 @@ export namespace dataform_v1beta1 { options: Object.assign( { url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'PATCH', apiVersion: '', }, options @@ -3052,58 +2972,65 @@ export namespace dataform_v1beta1 { } /** - * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + * Returns the contents of a given Repository directory. The Repository must not have a value for `git_remote_settings.url`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getIamPolicy( - params: Params$Resource$Projects$Locations$Repositories$Getiampolicy, + queryDirectoryContents( + params: Params$Resource$Projects$Locations$Repositories$Querydirectorycontents, options: StreamMethodOptions ): GaxiosPromise; - getIamPolicy( - params?: Params$Resource$Projects$Locations$Repositories$Getiampolicy, + queryDirectoryContents( + params?: Params$Resource$Projects$Locations$Repositories$Querydirectorycontents, options?: MethodOptions - ): GaxiosPromise; - getIamPolicy( - params: Params$Resource$Projects$Locations$Repositories$Getiampolicy, + ): GaxiosPromise; + queryDirectoryContents( + params: Params$Resource$Projects$Locations$Repositories$Querydirectorycontents, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Repositories$Getiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + queryDirectoryContents( + params: Params$Resource$Projects$Locations$Repositories$Querydirectorycontents, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Repositories$Getiampolicy, - callback: BodyResponseCallback + queryDirectoryContents( + params: Params$Resource$Projects$Locations$Repositories$Querydirectorycontents, + callback: BodyResponseCallback ): void; - getIamPolicy(callback: BodyResponseCallback): void; - getIamPolicy( + queryDirectoryContents( + callback: BodyResponseCallback + ): void; + queryDirectoryContents( paramsOrCallback?: - | Params$Resource$Projects$Locations$Repositories$Getiampolicy - | BodyResponseCallback + | Params$Resource$Projects$Locations$Repositories$Querydirectorycontents + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Repositories$Getiampolicy; + {}) as Params$Resource$Projects$Locations$Repositories$Querydirectorycontents; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Repositories$Getiampolicy; + {} as Params$Resource$Projects$Locations$Repositories$Querydirectorycontents; options = {}; } @@ -3116,7 +3043,7 @@ export namespace dataform_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+resource}:getIamPolicy').replace( + url: (rootUrl + '/v1beta1/{+name}:queryDirectoryContents').replace( /([^:]\/)\/+/g, '$1' ), @@ -3126,77 +3053,81 @@ export namespace dataform_v1beta1 { options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Lists Repositories in a given project and location. + * Returns the contents of a file (inside a Repository). The Repository must not have a value for `git_remote_settings.url`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Projects$Locations$Repositories$List, + readFile( + params: Params$Resource$Projects$Locations$Repositories$Readfile, options: StreamMethodOptions ): GaxiosPromise; - list( - params?: Params$Resource$Projects$Locations$Repositories$List, + readFile( + params?: Params$Resource$Projects$Locations$Repositories$Readfile, options?: MethodOptions - ): GaxiosPromise; - list( - params: Params$Resource$Projects$Locations$Repositories$List, + ): GaxiosPromise; + readFile( + params: Params$Resource$Projects$Locations$Repositories$Readfile, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Repositories$List, + readFile( + params: Params$Resource$Projects$Locations$Repositories$Readfile, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Repositories$List, - callback: BodyResponseCallback + readFile( + params: Params$Resource$Projects$Locations$Repositories$Readfile, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; - list( + readFile( + callback: BodyResponseCallback + ): void; + readFile( paramsOrCallback?: - | Params$Resource$Projects$Locations$Repositories$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Repositories$Readfile + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Repositories$List; + {}) as Params$Resource$Projects$Locations$Repositories$Readfile; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Repositories$List; + params = {} as Params$Resource$Projects$Locations$Repositories$Readfile; options = {}; } @@ -3209,7 +3140,7 @@ export namespace dataform_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+parent}/repositories').replace( + url: (rootUrl + '/v1beta1/{+name}:readFile').replace( /([^:]\/)\/+/g, '$1' ), @@ -3219,72 +3150,73 @@ export namespace dataform_v1beta1 { options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates a single Repository. + * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Projects$Locations$Repositories$Patch, + setIamPolicy( + params: Params$Resource$Projects$Locations$Repositories$Setiampolicy, options: StreamMethodOptions ): GaxiosPromise; - patch( - params?: Params$Resource$Projects$Locations$Repositories$Patch, + setIamPolicy( + params?: Params$Resource$Projects$Locations$Repositories$Setiampolicy, options?: MethodOptions - ): GaxiosPromise; - patch( - params: Params$Resource$Projects$Locations$Repositories$Patch, + ): GaxiosPromise; + setIamPolicy( + params: Params$Resource$Projects$Locations$Repositories$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Repositories$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Projects$Locations$Repositories$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Repositories$Patch, - callback: BodyResponseCallback + setIamPolicy( + params: Params$Resource$Projects$Locations$Repositories$Setiampolicy, + callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Repositories$Patch - | BodyResponseCallback + | Params$Resource$Projects$Locations$Repositories$Setiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Repositories$Patch; + {}) as Params$Resource$Projects$Locations$Repositories$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Repositories$Patch; + params = + {} as Params$Resource$Projects$Locations$Repositories$Setiampolicy; options = {}; } @@ -3297,87 +3229,90 @@ export namespace dataform_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + url: (rootUrl + '/v1beta1/{+resource}:setIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['resource'], + pathParams: ['resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Returns the contents of a given Repository directory. The Repository must not have a value for `git_remote_settings.url`. + * Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - queryDirectoryContents( - params: Params$Resource$Projects$Locations$Repositories$Querydirectorycontents, + testIamPermissions( + params: Params$Resource$Projects$Locations$Repositories$Testiampermissions, options: StreamMethodOptions ): GaxiosPromise; - queryDirectoryContents( - params?: Params$Resource$Projects$Locations$Repositories$Querydirectorycontents, + testIamPermissions( + params?: Params$Resource$Projects$Locations$Repositories$Testiampermissions, options?: MethodOptions - ): GaxiosPromise; - queryDirectoryContents( - params: Params$Resource$Projects$Locations$Repositories$Querydirectorycontents, + ): GaxiosPromise; + testIamPermissions( + params: Params$Resource$Projects$Locations$Repositories$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - queryDirectoryContents( - params: Params$Resource$Projects$Locations$Repositories$Querydirectorycontents, + testIamPermissions( + params: Params$Resource$Projects$Locations$Repositories$Testiampermissions, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - queryDirectoryContents( - params: Params$Resource$Projects$Locations$Repositories$Querydirectorycontents, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Projects$Locations$Repositories$Testiampermissions, + callback: BodyResponseCallback ): void; - queryDirectoryContents( - callback: BodyResponseCallback + testIamPermissions( + callback: BodyResponseCallback ): void; - queryDirectoryContents( + testIamPermissions( paramsOrCallback?: - | Params$Resource$Projects$Locations$Repositories$Querydirectorycontents - | BodyResponseCallback + | Params$Resource$Projects$Locations$Repositories$Testiampermissions + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Repositories$Querydirectorycontents; + {}) as Params$Resource$Projects$Locations$Repositories$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Repositories$Querydirectorycontents; + {} as Params$Resource$Projects$Locations$Repositories$Testiampermissions; options = {}; } @@ -3390,317 +3325,35 @@ export namespace dataform_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+name}:queryDirectoryContents').replace( + url: (rootUrl + '/v1beta1/{+resource}:testIamPermissions').replace( /([^:]\/)\/+/g, '$1' ), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['resource'], + pathParams: ['resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Projects$Locations$Repositories$Commit + extends StandardParameters { /** - * Returns the contents of a file (inside a Repository). The Repository must not have a value for `git_remote_settings.url`. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - readFile( - params: Params$Resource$Projects$Locations$Repositories$Readfile, - options: StreamMethodOptions - ): GaxiosPromise; - readFile( - params?: Params$Resource$Projects$Locations$Repositories$Readfile, - options?: MethodOptions - ): GaxiosPromise; - readFile( - params: Params$Resource$Projects$Locations$Repositories$Readfile, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - readFile( - params: Params$Resource$Projects$Locations$Repositories$Readfile, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - readFile( - params: Params$Resource$Projects$Locations$Repositories$Readfile, - callback: BodyResponseCallback - ): void; - readFile( - callback: BodyResponseCallback - ): void; - readFile( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Repositories$Readfile - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Repositories$Readfile; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Repositories$Readfile; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://dataform.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1beta1/{+name}:readFile').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['name'], - pathParams: ['name'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - setIamPolicy( - params: Params$Resource$Projects$Locations$Repositories$Setiampolicy, - options: StreamMethodOptions - ): GaxiosPromise; - setIamPolicy( - params?: Params$Resource$Projects$Locations$Repositories$Setiampolicy, - options?: MethodOptions - ): GaxiosPromise; - setIamPolicy( - params: Params$Resource$Projects$Locations$Repositories$Setiampolicy, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Repositories$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Repositories$Setiampolicy, - callback: BodyResponseCallback - ): void; - setIamPolicy(callback: BodyResponseCallback): void; - setIamPolicy( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Repositories$Setiampolicy - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Repositories$Setiampolicy; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Repositories$Setiampolicy; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://dataform.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1beta1/{+resource}:setIamPolicy').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['resource'], - pathParams: ['resource'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - testIamPermissions( - params: Params$Resource$Projects$Locations$Repositories$Testiampermissions, - options: StreamMethodOptions - ): GaxiosPromise; - testIamPermissions( - params?: Params$Resource$Projects$Locations$Repositories$Testiampermissions, - options?: MethodOptions - ): GaxiosPromise; - testIamPermissions( - params: Params$Resource$Projects$Locations$Repositories$Testiampermissions, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - testIamPermissions( - params: Params$Resource$Projects$Locations$Repositories$Testiampermissions, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - testIamPermissions( - params: Params$Resource$Projects$Locations$Repositories$Testiampermissions, - callback: BodyResponseCallback - ): void; - testIamPermissions( - callback: BodyResponseCallback - ): void; - testIamPermissions( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Repositories$Testiampermissions - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Repositories$Testiampermissions; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Repositories$Testiampermissions; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://dataform.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1beta1/{+resource}:testIamPermissions').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['resource'], - pathParams: ['resource'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Projects$Locations$Repositories$Commit - extends StandardParameters { - /** - * Required. The repository's name. + * Required. The repository's name. */ name?: string; @@ -3754,7 +3407,7 @@ export namespace dataform_v1beta1 { */ pageSize?: number; /** - * Optional. Page token received from a previous `FetchRepositoryHistory` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `FetchRepositoryHistory` must match the call that provided the page token. + * Optional. Page token received from a previous `FetchRepositoryHistory` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `FetchRepositoryHistory`, with the exception of `page_size`, must match the call that provided the page token. */ pageToken?: string; } @@ -3798,7 +3451,7 @@ export namespace dataform_v1beta1 { */ pageSize?: number; /** - * Optional. Page token received from a previous `ListRepositories` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListRepositories` must match the call that provided the page token. + * Optional. Page token received from a previous `ListRepositories` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListRepositories`, with the exception of `page_size`, must match the call that provided the page token. */ pageToken?: string; /** @@ -3837,7 +3490,7 @@ export namespace dataform_v1beta1 { */ pageSize?: number; /** - * Optional. Page token received from a previous `QueryRepositoryDirectoryContents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `QueryRepositoryDirectoryContents` must match the call that provided the page token. + * Optional. Page token received from a previous `QueryRepositoryDirectoryContents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `QueryRepositoryDirectoryContents`, with the exception of `page_size`, must match the call that provided the page token. */ pageToken?: string; /** @@ -3885,429 +3538,6 @@ export namespace dataform_v1beta1 { requestBody?: Schema$TestIamPermissionsRequest; } - export class Resource$Projects$Locations$Repositories$Commentthreads { - context: APIRequestContext; - comments: Resource$Projects$Locations$Repositories$Commentthreads$Comments; - constructor(context: APIRequestContext) { - this.context = context; - this.comments = - new Resource$Projects$Locations$Repositories$Commentthreads$Comments( - this.context - ); - } - - /** - * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - getIamPolicy( - params: Params$Resource$Projects$Locations$Repositories$Commentthreads$Getiampolicy, - options: StreamMethodOptions - ): GaxiosPromise; - getIamPolicy( - params?: Params$Resource$Projects$Locations$Repositories$Commentthreads$Getiampolicy, - options?: MethodOptions - ): GaxiosPromise; - getIamPolicy( - params: Params$Resource$Projects$Locations$Repositories$Commentthreads$Getiampolicy, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Repositories$Commentthreads$Getiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Repositories$Commentthreads$Getiampolicy, - callback: BodyResponseCallback - ): void; - getIamPolicy(callback: BodyResponseCallback): void; - getIamPolicy( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Repositories$Commentthreads$Getiampolicy - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Repositories$Commentthreads$Getiampolicy; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Repositories$Commentthreads$Getiampolicy; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://dataform.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1beta1/{+resource}:getIamPolicy').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['resource'], - pathParams: ['resource'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - setIamPolicy( - params: Params$Resource$Projects$Locations$Repositories$Commentthreads$Setiampolicy, - options: StreamMethodOptions - ): GaxiosPromise; - setIamPolicy( - params?: Params$Resource$Projects$Locations$Repositories$Commentthreads$Setiampolicy, - options?: MethodOptions - ): GaxiosPromise; - setIamPolicy( - params: Params$Resource$Projects$Locations$Repositories$Commentthreads$Setiampolicy, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Repositories$Commentthreads$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Repositories$Commentthreads$Setiampolicy, - callback: BodyResponseCallback - ): void; - setIamPolicy(callback: BodyResponseCallback): void; - setIamPolicy( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Repositories$Commentthreads$Setiampolicy - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Repositories$Commentthreads$Setiampolicy; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Repositories$Commentthreads$Setiampolicy; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://dataform.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1beta1/{+resource}:setIamPolicy').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['resource'], - pathParams: ['resource'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Projects$Locations$Repositories$Commentthreads$Getiampolicy - extends StandardParameters { - /** - * Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - */ - 'options.requestedPolicyVersion'?: number; - /** - * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. - */ - resource?: string; - } - export interface Params$Resource$Projects$Locations$Repositories$Commentthreads$Setiampolicy - extends StandardParameters { - /** - * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$SetIamPolicyRequest; - } - - export class Resource$Projects$Locations$Repositories$Commentthreads$Comments { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } - - /** - * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - getIamPolicy( - params: Params$Resource$Projects$Locations$Repositories$Commentthreads$Comments$Getiampolicy, - options: StreamMethodOptions - ): GaxiosPromise; - getIamPolicy( - params?: Params$Resource$Projects$Locations$Repositories$Commentthreads$Comments$Getiampolicy, - options?: MethodOptions - ): GaxiosPromise; - getIamPolicy( - params: Params$Resource$Projects$Locations$Repositories$Commentthreads$Comments$Getiampolicy, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Repositories$Commentthreads$Comments$Getiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Repositories$Commentthreads$Comments$Getiampolicy, - callback: BodyResponseCallback - ): void; - getIamPolicy(callback: BodyResponseCallback): void; - getIamPolicy( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Repositories$Commentthreads$Comments$Getiampolicy - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Repositories$Commentthreads$Comments$Getiampolicy; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Repositories$Commentthreads$Comments$Getiampolicy; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://dataform.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1beta1/{+resource}:getIamPolicy').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['resource'], - pathParams: ['resource'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - setIamPolicy( - params: Params$Resource$Projects$Locations$Repositories$Commentthreads$Comments$Setiampolicy, - options: StreamMethodOptions - ): GaxiosPromise; - setIamPolicy( - params?: Params$Resource$Projects$Locations$Repositories$Commentthreads$Comments$Setiampolicy, - options?: MethodOptions - ): GaxiosPromise; - setIamPolicy( - params: Params$Resource$Projects$Locations$Repositories$Commentthreads$Comments$Setiampolicy, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Repositories$Commentthreads$Comments$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Repositories$Commentthreads$Comments$Setiampolicy, - callback: BodyResponseCallback - ): void; - setIamPolicy(callback: BodyResponseCallback): void; - setIamPolicy( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Repositories$Commentthreads$Comments$Setiampolicy - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Repositories$Commentthreads$Comments$Setiampolicy; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Repositories$Commentthreads$Comments$Setiampolicy; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://dataform.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1beta1/{+resource}:setIamPolicy').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['resource'], - pathParams: ['resource'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - } - - export interface Params$Resource$Projects$Locations$Repositories$Commentthreads$Comments$Getiampolicy - extends StandardParameters { - /** - * Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - */ - 'options.requestedPolicyVersion'?: number; - /** - * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. - */ - resource?: string; - } - export interface Params$Resource$Projects$Locations$Repositories$Commentthreads$Comments$Setiampolicy - extends StandardParameters { - /** - * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$SetIamPolicyRequest; - } - export class Resource$Projects$Locations$Repositories$Compilationresults { context: APIRequestContext; constructor(context: APIRequestContext) { @@ -4726,7 +3956,7 @@ export namespace dataform_v1beta1 { */ pageSize?: number; /** - * Optional. Page token received from a previous `ListCompilationResults` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCompilationResults` must match the call that provided the page token. + * Optional. Page token received from a previous `ListCompilationResults` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCompilationResults`, with the exception of `page_size`, must match the call that provided the page token. */ pageToken?: string; /** @@ -4749,7 +3979,7 @@ export namespace dataform_v1beta1 { */ pageSize?: number; /** - * Optional. Page token received from a previous `QueryCompilationResultActions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `QueryCompilationResultActions` must match the call that provided the page token. + * Optional. Page token received from a previous `QueryCompilationResultActions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `QueryCompilationResultActions`, with the exception of `page_size`, must match the call that provided the page token. */ pageToken?: string; } @@ -5118,7 +4348,7 @@ export namespace dataform_v1beta1 { } /** - * Updates a single ReleaseConfig. + * Updates a single ReleaseConfig. *Note:* This method does not fully implement AIP/134. In particular: 1. The wildcard entry (***) is treated as a bad request 2. When the *field_mask* is omitted, instead of only updating the set fields, the request is treated as a full update on all modifiable fields * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -5241,7 +4471,7 @@ export namespace dataform_v1beta1 { */ pageSize?: number; /** - * Optional. Page token received from a previous `ListReleaseConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReleaseConfigs` must match the call that provided the page token. + * Optional. Page token received from a previous `ListReleaseConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReleaseConfigs`, with the exception of `page_size`, must match the call that provided the page token. */ pageToken?: string; /** @@ -5630,7 +4860,7 @@ export namespace dataform_v1beta1 { } /** - * Updates a single WorkflowConfig. + * Updates a single WorkflowConfig. *Note:* This method does not fully implement AIP/134. In particular: 1. The wildcard entry (***) is treated as a bad request 2. When the *field_mask* is omitted, instead of only updating the set fields, the request is treated as a full update on all modifiable fields * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -5753,7 +4983,7 @@ export namespace dataform_v1beta1 { */ pageSize?: number; /** - * Optional. Page token received from a previous `ListWorkflowConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListWorkflowConfigs` must match the call that provided the page token. + * Optional. Page token received from a previous `ListWorkflowConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListWorkflowConfigs`, with the exception of `page_size`, must match the call that provided the page token. */ pageToken?: string; /** @@ -6390,7 +5620,7 @@ export namespace dataform_v1beta1 { */ pageSize?: number; /** - * Optional. Page token received from a previous `ListWorkflowInvocations` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListWorkflowInvocations` must match the call that provided the page token. + * Optional. Page token received from a previous `ListWorkflowInvocations` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListWorkflowInvocations`, with the exception of `page_size`, must match the call that provided the page token. */ pageToken?: string; /** @@ -6409,7 +5639,7 @@ export namespace dataform_v1beta1 { */ pageSize?: number; /** - * Optional. Page token received from a previous `QueryWorkflowInvocationActions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `QueryWorkflowInvocationActions` must match the call that provided the page token. + * Optional. Page token received from a previous `QueryWorkflowInvocationActions` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `QueryWorkflowInvocationActions`, with the exception of `page_size`, must match the call that provided the page token. */ pageToken?: string; } @@ -8732,7 +7962,7 @@ export namespace dataform_v1beta1 { */ pageSize?: number; /** - * Optional. Page token received from a previous `ListWorkspaces` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListWorkspaces` must match the call that provided the page token. + * Optional. Page token received from a previous `ListWorkspaces` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListWorkspaces`, with the exception of `page_size`, must match the call that provided the page token. */ pageToken?: string; /** @@ -8807,7 +8037,7 @@ export namespace dataform_v1beta1 { */ pageSize?: number; /** - * Optional. Page token received from a previous `QueryDirectoryContents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `QueryDirectoryContents` must match the call that provided the page token. + * Optional. Page token received from a previous `QueryDirectoryContents` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `QueryDirectoryContents`, with the exception of `page_size`, must match the call that provided the page token. */ pageToken?: string; /** @@ -8881,7 +8111,7 @@ export namespace dataform_v1beta1 { */ pageSize?: number; /** - * Optional. Page token received from a previous `SearchFilesRequest` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `SearchFilesRequest` must match the call that provided the page token. + * Optional. Page token received from a previous `SearchFilesRequest` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `SearchFilesRequest`, with the exception of `page_size`, must match the call that provided the page token. */ pageToken?: string; /** diff --git a/src/apis/datafusion/v1.ts b/src/apis/datafusion/v1.ts index de8f95523d..a2e0b63bea 100644 --- a/src/apis/datafusion/v1.ts +++ b/src/apis/datafusion/v1.ts @@ -137,27 +137,6 @@ export namespace datafusion_v1 { */ state?: string | null; } - /** - * Provides the mapping of a cloud asset to a direct physical location or to a proxy that defines the location on its behalf. - */ - export interface Schema$AssetLocation { - /** - * Defines the customer expectation around ZI/ZS for this asset and ZI/ZS state of the region at the time of asset creation. - */ - expected?: Schema$IsolationExpectations; - /** - * Defines extra parameters required for specific asset types. - */ - extraParameters?: Schema$ExtraParameter[]; - /** - * Contains all kinds of physical location definitions for this asset. - */ - locationData?: Schema$LocationData[]; - /** - * Defines parents assets if any in order to allow later generation of child_asset_location data via child assets. - */ - parentAsset?: Schema$CloudAsset[]; - } /** * Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] \}, { "log_type": "DATA_WRITE" \}, { "log_type": "ADMIN_READ" \} ] \}, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" \}, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] \} ] \} ] \} For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. */ @@ -201,35 +180,19 @@ export namespace datafusion_v1 { */ role?: string | null; } - /** - * Policy ID that identified data placement in Blobstore as per go/blobstore-user-guide#data-metadata-placement-and-failure-domains - */ - export interface Schema$BlobstoreLocation { - policyId?: string[] | null; - } /** * The request message for Operations.CancelOperation. */ export interface Schema$CancelOperationRequest {} - export interface Schema$CloudAsset { - assetName?: string | null; - assetType?: string | null; - } - export interface Schema$CloudAssetComposition { - childAsset?: Schema$CloudAsset[]; - } /** * The crypto key configuration. This field is used by the Customer-managed encryption keys (CMEK) feature. */ export interface Schema$CryptoKeyConfig { /** - * The name of the key which is used to encrypt/decrypt customer data. For key in Cloud KMS, the key should be in the format of `projects/x/locations/x/keyRings/x/cryptoKeys/x`. + * Optional. The name of the key which is used to encrypt/decrypt customer data. For key in Cloud KMS, the key should be in the format of `projects/x/locations/x/keyRings/x/cryptoKeys/x`. */ keyReference?: string | null; } - export interface Schema$DirectLocationAssignment { - location?: Schema$LocationAssignment[]; - } /** * DNS peering configuration. These configurations are used to create DNS peering with the customer Cloud DNS. */ @@ -243,7 +206,7 @@ export namespace datafusion_v1 { */ domain?: string | null; /** - * Required. The resource name of the dns peering zone. Format: projects/{project\}/locations/{location\}/instances/{instance\}/dnsPeerings/{dns_peering\} + * Identifier. The resource name of the dns peering zone. Format: projects/{project\}/locations/{location\}/instances/{instance\}/dnsPeerings/{dns_peering\} */ name?: string | null; /** @@ -293,15 +256,6 @@ export namespace datafusion_v1 { */ title?: string | null; } - /** - * Defines parameters that should only be used for specific asset types. - */ - export interface Schema$ExtraParameter { - /** - * Details about zones used by regional compute.googleapis.com/InstanceGroupManager to create instances. - */ - regionalMigDistributionPolicy?: Schema$RegionalMigDistributionPolicy; - } /** * Represents a Data Fusion instance. */ @@ -323,7 +277,7 @@ export namespace datafusion_v1 { */ createTime?: string | null; /** - * The crypto key configuration. This field is used by the Customer-Managed Encryption Keys (CMEK) feature. + * Optional. The crypto key configuration. This field is used by the Customer-Managed Encryption Keys (CMEK) feature. */ cryptoKeyConfig?: Schema$CryptoKeyConfig; /** @@ -331,11 +285,11 @@ export namespace datafusion_v1 { */ dataplexDataLineageIntegrationEnabled?: boolean | null; /** - * User-managed service account to set on Dataproc when Cloud Data Fusion creates Dataproc to run data processing pipelines. This allows users to have fine-grained access control on Dataproc's accesses to cloud resources. + * Optional. User-managed service account to set on Dataproc when Cloud Data Fusion creates Dataproc to run data processing pipelines. This allows users to have fine-grained access control on Dataproc's accesses to cloud resources. */ dataprocServiceAccount?: string | null; /** - * A description of this instance. + * Optional. A description of this instance. */ description?: string | null; /** @@ -343,27 +297,27 @@ export namespace datafusion_v1 { */ disabledReason?: string[] | null; /** - * Display name for an instance. + * Optional. Display name for an instance. */ displayName?: string | null; /** - * Option to enable granular role-based access control. + * Optional. Option to enable granular role-based access control. */ enableRbac?: boolean | null; /** - * Option to enable Stackdriver Logging. + * Optional. Option to enable Stackdriver Logging. */ enableStackdriverLogging?: boolean | null; /** - * Option to enable Stackdriver Monitoring. + * Optional. Option to enable Stackdriver Monitoring. */ enableStackdriverMonitoring?: boolean | null; /** - * Option to enable granular zone separation. + * Output only. Option to enable granular zone separation. */ enableZoneSeparation?: boolean | null; /** - * Option to enable and pass metadata for event publishing. + * Optional. Option to enable and pass metadata for event publishing. */ eventPublishConfig?: Schema$EventPublishConfig; /** @@ -383,7 +337,7 @@ export namespace datafusion_v1 { */ name?: string | null; /** - * Network configuration options. These are required when a private Data Fusion instance is to be created. + * Optional. Network configuration options. These are required when a private Data Fusion instance is to be created. */ networkConfig?: Schema$NetworkConfig; /** @@ -399,7 +353,7 @@ export namespace datafusion_v1 { */ patchRevision?: string | null; /** - * Specifies whether the Data Fusion instance should be private. If set to true, all Data Fusion nodes will have private IP addresses and will not be able to access the public internet. + * Optional. Specifies whether the Data Fusion instance should be private. If set to true, all Data Fusion nodes will have private IP addresses and will not be able to access the public internet. */ privateInstance?: boolean | null; /** @@ -435,7 +389,7 @@ export namespace datafusion_v1 { */ updateTime?: string | null; /** - * Current version of the Data Fusion. Only specifiable in Update. + * Optional. Current version of the Data Fusion. Only specifiable in Update. */ version?: string | null; /** @@ -443,37 +397,26 @@ export namespace datafusion_v1 { */ workforceIdentityServiceEndpoint?: string | null; /** - * Name of the zone in which the Data Fusion instance will be created. Only DEVELOPER instances use this field. + * Optional. Name of the zone in which the Data Fusion instance will be created. Only DEVELOPER instances use this field. */ zone?: string | null; } - export interface Schema$IsolationExpectations { - ziOrgPolicy?: string | null; - ziRegionPolicy?: string | null; - ziRegionState?: string | null; - /** - * Deprecated: use zi_org_policy, zi_region_policy and zi_region_state instead for setting ZI expectations as per go/zicy-publish-physical-location. - */ - zoneIsolation?: string | null; - /** - * Deprecated: use zs_org_policy, and zs_region_stateinstead for setting Zs expectations as per go/zicy-publish-physical-location. - */ - zoneSeparation?: string | null; - zsOrgPolicy?: string | null; - zsRegionState?: string | null; - } /** * Response message for the list available versions request. */ export interface Schema$ListAvailableVersionsResponse { /** - * Represents a list of versions that are supported. + * Represents a list of versions that are supported. Deprecated: Use versions field instead. */ availableVersions?: Schema$Version[]; /** * Token to retrieve the next page of results or empty if there are no more results in the list. */ nextPageToken?: string | null; + /** + * Represents a list of all versions. + */ + versions?: Schema$Version[]; } /** * Response message for list DNS peerings. @@ -556,18 +499,6 @@ export namespace datafusion_v1 { */ name?: string | null; } - export interface Schema$LocationAssignment { - location?: string | null; - locationType?: string | null; - } - export interface Schema$LocationData { - blobstoreLocation?: Schema$BlobstoreLocation; - childAssetLocation?: Schema$CloudAssetComposition; - directLocation?: Schema$DirectLocationAssignment; - gcpProjectProxy?: Schema$TenantProjectProxy; - placerLocation?: Schema$PlacerLocation; - spannerLocation?: Schema$SpannerLocation; - } /** * Maintenance policy of the instance. */ @@ -673,15 +604,6 @@ export namespace datafusion_v1 { */ verb?: string | null; } - /** - * Message describing that the location of the customer resource is tied to placer allocations - */ - export interface Schema$PlacerLocation { - /** - * Directory with a config related to it in placer (e.g. "/placer/prod/home/my-root/my-dir") - */ - placerConfig?: string | null; - } /** * An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] \}, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", \} \} ], "etag": "BwWWja0YfJA=", "version": 3 \} ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). */ @@ -733,19 +655,6 @@ export namespace datafusion_v1 { */ window?: Schema$TimeWindow; } - /** - * To be used for specifying the intended distribution of regional compute.googleapis.com/InstanceGroupManager instances - */ - export interface Schema$RegionalMigDistributionPolicy { - /** - * The shape in which the group converges around distribution of resources. Instance of proto2 enum - */ - targetShape?: number | null; - /** - * Cloud zones used by regional MIG to create instances. - */ - zones?: Schema$ZoneConfiguration[]; - } /** * Request message for restarting a Data Fusion instance. */ @@ -763,16 +672,6 @@ export namespace datafusion_v1 { */ updateMask?: string | null; } - export interface Schema$SpannerLocation { - /** - * Set of backups used by the resource with name in the same format as what is available at http://table/spanner_automon.backup_metadata - */ - backupName?: string[] | null; - /** - * Set of databases used by the resource in format /span// - */ - dbName?: string[] | null; - } /** * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). */ @@ -790,9 +689,6 @@ export namespace datafusion_v1 { */ message?: string | null; } - export interface Schema$TenantProjectProxy { - projectNumbers?: string[] | null; - } /** * Request message for `TestIamPermissions` method. */ @@ -845,9 +741,6 @@ export namespace datafusion_v1 { */ versionNumber?: string | null; } - export interface Schema$ZoneConfiguration { - zone?: string | null; - } export class Resource$Projects { context: APIRequestContext; @@ -2326,7 +2219,7 @@ export namespace datafusion_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/datafusion/v1beta1.ts b/src/apis/datafusion/v1beta1.ts index 68c644122e..f72e5d2cab 100644 --- a/src/apis/datafusion/v1beta1.ts +++ b/src/apis/datafusion/v1beta1.ts @@ -137,27 +137,6 @@ export namespace datafusion_v1beta1 { */ state?: string | null; } - /** - * Provides the mapping of a cloud asset to a direct physical location or to a proxy that defines the location on its behalf. - */ - export interface Schema$AssetLocation { - /** - * Defines the customer expectation around ZI/ZS for this asset and ZI/ZS state of the region at the time of asset creation. - */ - expected?: Schema$IsolationExpectations; - /** - * Defines extra parameters required for specific asset types. - */ - extraParameters?: Schema$ExtraParameter[]; - /** - * Contains all kinds of physical location definitions for this asset. - */ - locationData?: Schema$LocationData[]; - /** - * Defines parents assets if any in order to allow later generation of child_asset_location data via child assets. - */ - parentAsset?: Schema$CloudAsset[]; - } /** * Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { "audit_configs": [ { "service": "allServices", "audit_log_configs": [ { "log_type": "DATA_READ", "exempted_members": [ "user:jose@example.com" ] \}, { "log_type": "DATA_WRITE" \}, { "log_type": "ADMIN_READ" \} ] \}, { "service": "sampleservice.googleapis.com", "audit_log_configs": [ { "log_type": "DATA_READ" \}, { "log_type": "DATA_WRITE", "exempted_members": [ "user:aliya@example.com" ] \} ] \} ] \} For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging. */ @@ -201,23 +180,10 @@ export namespace datafusion_v1beta1 { */ role?: string | null; } - /** - * Policy ID that identified data placement in Blobstore as per go/blobstore-user-guide#data-metadata-placement-and-failure-domains - */ - export interface Schema$BlobstoreLocation { - policyId?: string[] | null; - } /** * The request message for Operations.CancelOperation. */ export interface Schema$CancelOperationRequest {} - export interface Schema$CloudAsset { - assetName?: string | null; - assetType?: string | null; - } - export interface Schema$CloudAssetComposition { - childAsset?: Schema$CloudAsset[]; - } /** * The crypto key configuration. This field is used by the Customer-managed encryption keys (CMEK) feature. */ @@ -227,9 +193,6 @@ export namespace datafusion_v1beta1 { */ keyReference?: string | null; } - export interface Schema$DirectLocationAssignment { - location?: Schema$LocationAssignment[]; - } /** * DNS peering configuration. These configurations are used to create DNS peering with the customer Cloud DNS. */ @@ -293,15 +256,6 @@ export namespace datafusion_v1beta1 { */ title?: string | null; } - /** - * Defines parameters that should only be used for specific asset types. - */ - export interface Schema$ExtraParameter { - /** - * Details about zones used by regional compute.googleapis.com/InstanceGroupManager to create instances. - */ - regionalMigDistributionPolicy?: Schema$RegionalMigDistributionPolicy; - } /** * IAMPolicy encapsulates the IAM policy name, definition and status of policy fetching. */ @@ -460,33 +414,22 @@ export namespace datafusion_v1beta1 { */ zone?: string | null; } - export interface Schema$IsolationExpectations { - ziOrgPolicy?: string | null; - ziRegionPolicy?: string | null; - ziRegionState?: string | null; - /** - * Deprecated: use zi_org_policy, zi_region_policy and zi_region_state instead for setting ZI expectations as per go/zicy-publish-physical-location. - */ - zoneIsolation?: string | null; - /** - * Deprecated: use zs_org_policy, and zs_region_stateinstead for setting Zs expectations as per go/zicy-publish-physical-location. - */ - zoneSeparation?: string | null; - zsOrgPolicy?: string | null; - zsRegionState?: string | null; - } /** * Response message for the list available versions request. */ export interface Schema$ListAvailableVersionsResponse { /** - * Represents a list of versions that are supported. + * Represents a list of versions that are supported. Deprecated: Use versions field instead. */ availableVersions?: Schema$Version[]; /** * Token to retrieve the next page of results or empty if there are no more results in the list. */ nextPageToken?: string | null; + /** + * Represents a list of all versions. + */ + versions?: Schema$Version[]; } /** * Response message for list DNS peerings. @@ -582,18 +525,6 @@ export namespace datafusion_v1beta1 { */ name?: string | null; } - export interface Schema$LocationAssignment { - location?: string | null; - locationType?: string | null; - } - export interface Schema$LocationData { - blobstoreLocation?: Schema$BlobstoreLocation; - childAssetLocation?: Schema$CloudAssetComposition; - directLocation?: Schema$DirectLocationAssignment; - gcpProjectProxy?: Schema$TenantProjectProxy; - placerLocation?: Schema$PlacerLocation; - spannerLocation?: Schema$SpannerLocation; - } /** * Maintenance policy of the instance. */ @@ -712,15 +643,6 @@ export namespace datafusion_v1beta1 { */ verb?: string | null; } - /** - * Message describing that the location of the customer resource is tied to placer allocations - */ - export interface Schema$PlacerLocation { - /** - * Directory with a config related to it in placer (e.g. "/placer/prod/home/my-root/my-dir") - */ - placerConfig?: string | null; - } /** * An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] \}, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", \} \} ], "etag": "BwWWja0YfJA=", "version": 3 \} ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). */ @@ -772,19 +694,6 @@ export namespace datafusion_v1beta1 { */ window?: Schema$TimeWindow; } - /** - * To be used for specifying the intended distribution of regional compute.googleapis.com/InstanceGroupManager instances - */ - export interface Schema$RegionalMigDistributionPolicy { - /** - * The shape in which the group converges around distribution of resources. Instance of proto2 enum - */ - targetShape?: number | null; - /** - * Cloud zones used by regional MIG to create instances. - */ - zones?: Schema$ZoneConfiguration[]; - } /** * Request message for RemoveIamPolicy method. */ @@ -810,16 +719,6 @@ export namespace datafusion_v1beta1 { */ updateMask?: string | null; } - export interface Schema$SpannerLocation { - /** - * Set of backups used by the resource with name in the same format as what is available at http://table/spanner_automon.backup_metadata - */ - backupName?: string[] | null; - /** - * Set of databases used by the resource in format /span// - */ - dbName?: string[] | null; - } /** * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). */ @@ -837,9 +736,6 @@ export namespace datafusion_v1beta1 { */ message?: string | null; } - export interface Schema$TenantProjectProxy { - projectNumbers?: string[] | null; - } /** * Request message for `TestIamPermissions` method. */ @@ -896,9 +792,6 @@ export namespace datafusion_v1beta1 { */ versionNumber?: string | null; } - export interface Schema$ZoneConfiguration { - zone?: string | null; - } export class Resource$Projects { context: APIRequestContext; @@ -3018,7 +2911,7 @@ export namespace datafusion_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/datalabeling/v1beta1.ts b/src/apis/datalabeling/v1beta1.ts index 99dce3e2cf..eca74e3861 100644 --- a/src/apis/datalabeling/v1beta1.ts +++ b/src/apis/datalabeling/v1beta1.ts @@ -7979,7 +7979,7 @@ export namespace datalabeling_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/datamigration/v1.ts b/src/apis/datamigration/v1.ts index 4318d4fbfc..d4cdab68bd 100644 --- a/src/apis/datamigration/v1.ts +++ b/src/apis/datamigration/v1.ts @@ -602,6 +602,18 @@ export namespace datamigration_v1 { * The database provider. */ provider?: string | null; + /** + * Optional. The connection profile role. + */ + role?: string | null; + /** + * Output only. Zone Isolation compliance state of the resource. + */ + satisfiesPzi?: boolean | null; + /** + * Output only. Zone Separation compliance state of the resource. + */ + satisfiesPzs?: boolean | null; /** * Connection profile for a SQL Server data source. */ @@ -1193,7 +1205,7 @@ export namespace datamigration_v1 { */ endTime?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -1358,6 +1370,19 @@ export namespace datamigration_v1 { */ nextPageToken?: string | null; } + /** + * Response containing the objects for a migration job. + */ + export interface Schema$ListMigrationJobObjectsResponse { + /** + * List of migration job objects. + */ + migrationJobObjects?: Schema$MigrationJobObject[]; + /** + * A token, which can be sent as `page_token` to retrieve the next page. + */ + nextPageToken?: string | null; + } /** * Response message for 'ListMigrationJobs' request. */ @@ -1447,6 +1472,15 @@ export namespace datamigration_v1 { * Configuration to use LogMiner CDC method. */ export interface Schema$LogMiner {} + /** + * Request for looking up a specific migration job object by its source object identifier. + */ + export interface Schema$LookupMigrationJobObjectRequest { + /** + * Required. The source object identifier which maps to the migration job object. + */ + sourceObjectIdentifier?: Schema$SourceObjectIdentifier; + } /** * MachineConfig describes the configuration of a machine. */ @@ -1570,6 +1604,10 @@ export namespace datamigration_v1 { * Custom engine specific features. */ customFeatures?: {[key: string]: any} | null; + /** + * View indices. + */ + indices?: Schema$IndexEntity[]; /** * The SQL code which creates the view. */ @@ -1639,6 +1677,10 @@ export namespace datamigration_v1 { * The name (URI) of this migration job resource, in the form of: projects/{project\}/locations/{location\}/migrationJobs/{migrationJob\}. */ name?: string | null; + /** + * Optional. The objects that need to be migrated. + */ + objectsConfig?: Schema$MigrationJobObjectsConfig; /** * Configuration for heterogeneous **Oracle to Cloud SQL for PostgreSQL** and **Oracle to AlloyDB for PostgreSQL** migrations. */ @@ -1655,6 +1697,14 @@ export namespace datamigration_v1 { * The details needed to communicate to the source over Reverse SSH tunnel connectivity. */ reverseSshConnectivity?: Schema$ReverseSshConnectivity; + /** + * Output only. Zone Isolation compliance state of the resource. + */ + satisfiesPzi?: boolean | null; + /** + * Output only. Zone Separation compliance state of the resource. + */ + satisfiesPzs?: boolean | null; /** * Required. The resource name (URI) of the source connection profile. */ @@ -1688,6 +1738,48 @@ export namespace datamigration_v1 { */ vpcPeeringConnectivity?: Schema$VpcPeeringConnectivity; } + /** + * A specific Migration Job Object (e.g. a specifc DB Table) + */ + export interface Schema$MigrationJobObject { + /** + * Output only. The creation time of the migration job object. + */ + createTime?: string | null; + /** + * Output only. The error details in case of failure. + */ + error?: Schema$Status; + /** + * The object's name. + */ + name?: string | null; + /** + * Output only. The phase of the migration job object. + */ + phase?: string | null; + /** + * The object identifier in the data source. + */ + sourceObject?: Schema$SourceObjectIdentifier; + /** + * The state of the migration job object. + */ + state?: string | null; + /** + * Output only. The last update time of the migration job object. + */ + updateTime?: string | null; + } + /** + * Configuration for the objects to be migrated. + */ + export interface Schema$MigrationJobObjectsConfig { + /** + * The list of the migration job objects. + */ + sourceObjectsConfig?: Schema$SourceObjectsConfig; + } /** * Error message of a verification Migration job. */ @@ -2038,6 +2130,10 @@ export namespace datamigration_v1 { * If the source is a Cloud SQL database, use this field to provide the Cloud SQL instance ID of the source. */ cloudSqlId?: string | null; + /** + * Optional. The name of the specific database within the host. + */ + database?: string | null; /** * Required. The IP or hostname of the source PostgreSQL database. */ @@ -2132,6 +2228,14 @@ export namespace datamigration_v1 { * The name of the resource. */ name?: string | null; + /** + * Output only. Zone Isolation compliance state of the resource. + */ + satisfiesPzi?: boolean | null; + /** + * Output only. Zone Separation compliance state of the resource. + */ + satisfiesPzs?: boolean | null; /** * Output only. The state of the private connection. */ @@ -2166,11 +2270,24 @@ export namespace datamigration_v1 { /** * Request message for 'PromoteMigrationJob' request. */ - export interface Schema$PromoteMigrationJobRequest {} + export interface Schema$PromoteMigrationJobRequest { + /** + * Optional. The object filter to apply to the migration job. + */ + objectsFilter?: Schema$MigrationJobObjectsConfig; + } /** * Request message for 'RestartMigrationJob' request. */ export interface Schema$RestartMigrationJobRequest { + /** + * Optional. The object filter to apply to the migration job. + */ + objectsFilter?: Schema$MigrationJobObjectsConfig; + /** + * Optional. If true, only failed objects will be restarted. + */ + restartFailedObjects?: boolean | null; /** * Optional. Restart the migration job without running prior configuration verification. Defaults to `false`. */ @@ -2447,6 +2564,41 @@ export namespace datamigration_v1 { */ sourceMinScaleFilter?: number | null; } + /** + * Config for a single migration job object. + */ + export interface Schema$SourceObjectConfig { + /** + * Optional. The object identifier. + */ + objectIdentifier?: Schema$SourceObjectIdentifier; + } + /** + * An identifier for the Migration Job Object. + */ + export interface Schema$SourceObjectIdentifier { + /** + * Optional. The database name. This will be required only if the object uses a database name as part of its unique identifier. + */ + database?: string | null; + /** + * Required. The type of the migration job object. + */ + type?: string | null; + } + /** + * List of configurations for the source objects to be migrated. + */ + export interface Schema$SourceObjectsConfig { + /** + * Optional. The list of the objects to be migrated. + */ + objectConfigs?: Schema$SourceObjectConfig[]; + /** + * Optional. The objects selection type of the migration job. + */ + objectsSelectionType?: string | null; + } /** * Options to configure rule type SourceSqlChange. The rule is used to alter the sql code for database entities. The rule filter field can refer to one entity. The rule scope can be: StoredProcedure, Function, Trigger, View */ @@ -2599,15 +2751,15 @@ export namespace datamigration_v1 { */ export interface Schema$SqlServerEncryptionOptions { /** - * Required. Path to certificate. + * Required. Path to the Certificate (.cer) in Cloud Storage, in the form `gs://bucketName/fileName`. The instance must have write permissions to the bucket and read access to the file. */ certPath?: string | null; /** - * Required. Input only. Private key password. + * Required. Input only. Password that encrypts the private key. */ pvkPassword?: string | null; /** - * Required. Path to certificate private key. + * Required. Path to the Certificate Private Key (.pvk) in Cloud Storage, in the form `gs://bucketName/fileName`. The instance must have write permissions to the bucket and read access to the file. */ pvkPath?: string | null; } @@ -2658,7 +2810,7 @@ export namespace datamigration_v1 { */ clientKey?: string | null; /** - * Output only. The ssl config type according to 'client_key', 'client_certificate' and 'ca_certificate'. + * Optional. The ssl config type according to 'client_key', 'client_certificate' and 'ca_certificate'. */ type?: string | null; } @@ -6728,6 +6880,96 @@ export namespace datamigration_v1 { } } + /** + * Retrieves objects from the source database that can be selected for data migration. This is applicable for the following migrations: 1. PostgreSQL to Cloud SQL for PostgreSQL 2. PostgreSQL to AlloyDB for PostgreSQL. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + fetchSourceObjects( + params: Params$Resource$Projects$Locations$Migrationjobs$Fetchsourceobjects, + options: StreamMethodOptions + ): GaxiosPromise; + fetchSourceObjects( + params?: Params$Resource$Projects$Locations$Migrationjobs$Fetchsourceobjects, + options?: MethodOptions + ): GaxiosPromise; + fetchSourceObjects( + params: Params$Resource$Projects$Locations$Migrationjobs$Fetchsourceobjects, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchSourceObjects( + params: Params$Resource$Projects$Locations$Migrationjobs$Fetchsourceobjects, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetchSourceObjects( + params: Params$Resource$Projects$Locations$Migrationjobs$Fetchsourceobjects, + callback: BodyResponseCallback + ): void; + fetchSourceObjects(callback: BodyResponseCallback): void; + fetchSourceObjects( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Migrationjobs$Fetchsourceobjects + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Migrationjobs$Fetchsourceobjects; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Migrationjobs$Fetchsourceobjects; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://datamigration.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:fetchSourceObjects').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Generate a SSH configuration script to configure the reverse SSH connectivity. * @@ -8024,6 +8266,13 @@ export namespace datamigration_v1 { */ requestBody?: Schema$DemoteDestinationRequest; } + export interface Params$Resource$Projects$Locations$Migrationjobs$Fetchsourceobjects + extends StandardParameters { + /** + * Required. The resource name for the migration job for which source objects should be returned. + */ + name?: string; + } export interface Params$Resource$Projects$Locations$Migrationjobs$Generatesshscript extends StandardParameters { /** @@ -8212,6 +8461,96 @@ export namespace datamigration_v1 { this.context = context; } + /** + * Use this method to get details about a migration job object. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Migrationjobs$Objects$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Migrationjobs$Objects$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Migrationjobs$Objects$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Migrationjobs$Objects$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Migrationjobs$Objects$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Migrationjobs$Objects$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Migrationjobs$Objects$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Migrationjobs$Objects$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://datamigration.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. * @@ -8302,6 +8641,198 @@ export namespace datamigration_v1 { } } + /** + * Use this method to list the objects of a specific migration job. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Migrationjobs$Objects$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Migrationjobs$Objects$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Migrationjobs$Objects$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Migrationjobs$Objects$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Migrationjobs$Objects$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Migrationjobs$Objects$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Migrationjobs$Objects$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Migrationjobs$Objects$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://datamigration.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/objects').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Use this method to look up a migration job object by its source object identifier. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + lookup( + params: Params$Resource$Projects$Locations$Migrationjobs$Objects$Lookup, + options: StreamMethodOptions + ): GaxiosPromise; + lookup( + params?: Params$Resource$Projects$Locations$Migrationjobs$Objects$Lookup, + options?: MethodOptions + ): GaxiosPromise; + lookup( + params: Params$Resource$Projects$Locations$Migrationjobs$Objects$Lookup, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + lookup( + params: Params$Resource$Projects$Locations$Migrationjobs$Objects$Lookup, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + lookup( + params: Params$Resource$Projects$Locations$Migrationjobs$Objects$Lookup, + callback: BodyResponseCallback + ): void; + lookup(callback: BodyResponseCallback): void; + lookup( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Migrationjobs$Objects$Lookup + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Migrationjobs$Objects$Lookup; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Migrationjobs$Objects$Lookup; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://datamigration.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/objects:lookup').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. * @@ -8490,6 +9021,13 @@ export namespace datamigration_v1 { } } + export interface Params$Resource$Projects$Locations$Migrationjobs$Objects$Get + extends StandardParameters { + /** + * Required. The name of the migration job object resource to get. + */ + name?: string; + } export interface Params$Resource$Projects$Locations$Migrationjobs$Objects$Getiampolicy extends StandardParameters { /** @@ -8501,6 +9039,33 @@ export namespace datamigration_v1 { */ resource?: string; } + export interface Params$Resource$Projects$Locations$Migrationjobs$Objects$List + extends StandardParameters { + /** + * Maximum number of objects to return. Default is 50. The maximum value is 1000; values above 1000 will be coerced to 1000. + */ + pageSize?: number; + /** + * Page token received from a previous `ListMigrationJObObjectsRequest` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMigrationJobObjectsRequest` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent migration job that owns the collection of objects. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Migrationjobs$Objects$Lookup + extends StandardParameters { + /** + * Required. The parent migration job that owns the collection of objects. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$LookupMigrationJobObjectRequest; + } export interface Params$Resource$Projects$Locations$Migrationjobs$Objects$Setiampolicy extends StandardParameters { /** @@ -8533,7 +9098,7 @@ export namespace datamigration_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/datamigration/v1beta1.ts b/src/apis/datamigration/v1beta1.ts index bba05577a3..408326653f 100644 --- a/src/apis/datamigration/v1beta1.ts +++ b/src/apis/datamigration/v1beta1.ts @@ -3511,7 +3511,7 @@ export namespace datamigration_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/dataplex/v1.ts b/src/apis/dataplex/v1.ts index cbeea6514c..28e707589a 100644 --- a/src/apis/dataplex/v1.ts +++ b/src/apis/dataplex/v1.ts @@ -312,6 +312,10 @@ export namespace dataplex_v1 { * The time the aspect was created in the source system. */ createTime?: string | null; + /** + * The version of the data format used to produce this data. This field is used to indicated when the underlying data format changes (e.g., schema modifications, changes to the source URL format definition, etc). + */ + dataVersion?: string | null; /** * The time the aspect was last updated in the source system. */ @@ -916,6 +920,109 @@ export namespace dataplex_v1 { */ name?: string | null; } + /** + * The output of a data discovery scan. + */ + export interface Schema$GoogleCloudDataplexV1DataDiscoveryResult { + /** + * Output only. Configuration for metadata publishing. + */ + bigqueryPublishing?: Schema$GoogleCloudDataplexV1DataDiscoveryResultBigQueryPublishing; + } + /** + * Describes BigQuery publishing configurations. + */ + export interface Schema$GoogleCloudDataplexV1DataDiscoveryResultBigQueryPublishing { + /** + * Output only. The BigQuery dataset to publish to. It takes the form projects/{project_id\}/datasets/{dataset_id\}. If not set, the service creates a default publishing dataset. + */ + dataset?: string | null; + } + /** + * Spec for a data discovery scan. + */ + export interface Schema$GoogleCloudDataplexV1DataDiscoverySpec { + /** + * Optional. Configuration for metadata publishing. + */ + bigqueryPublishingConfig?: Schema$GoogleCloudDataplexV1DataDiscoverySpecBigQueryPublishingConfig; + /** + * Cloud Storage related configurations. + */ + storageConfig?: Schema$GoogleCloudDataplexV1DataDiscoverySpecStorageConfig; + } + /** + * Describes BigQuery publishing configurations. + */ + export interface Schema$GoogleCloudDataplexV1DataDiscoverySpecBigQueryPublishingConfig { + /** + * Optional. The BigQuery connection used to create BigLake tables. Must be in the form projects/{project_id\}/locations/{location_id\}/connections/{connection_id\} + */ + connection?: string | null; + /** + * Optional. Determines whether to publish discovered tables as BigLake external tables or non-BigLake external tables. + */ + tableType?: string | null; + } + /** + * Configurations related to Cloud Storage as the data source. + */ + export interface Schema$GoogleCloudDataplexV1DataDiscoverySpecStorageConfig { + /** + * Optional. Configuration for CSV data. + */ + csvOptions?: Schema$GoogleCloudDataplexV1DataDiscoverySpecStorageConfigCsvOptions; + /** + * Optional. Defines the data to exclude during discovery. Provide a list of patterns that identify the data to exclude. For Cloud Storage bucket assets, these patterns are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these patterns are interpreted as patterns to match table names. + */ + excludePatterns?: string[] | null; + /** + * Optional. Defines the data to include during discovery when only a subset of the data should be considered. Provide a list of patterns that identify the data to include. For Cloud Storage bucket assets, these patterns are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these patterns are interpreted as patterns to match table names. + */ + includePatterns?: string[] | null; + /** + * Optional. Configuration for JSON data. + */ + jsonOptions?: Schema$GoogleCloudDataplexV1DataDiscoverySpecStorageConfigJsonOptions; + } + /** + * Describes CSV and similar semi-structured data formats. + */ + export interface Schema$GoogleCloudDataplexV1DataDiscoverySpecStorageConfigCsvOptions { + /** + * Optional. The delimiter that is used to separate values. The default is , (comma). + */ + delimiter?: string | null; + /** + * Optional. The character encoding of the data. The default is UTF-8. + */ + encoding?: string | null; + /** + * Optional. The number of rows to interpret as header rows that should be skipped when reading data rows. + */ + headerRows?: number | null; + /** + * Optional. The character used to quote column values. Accepts " (double quotation mark) or ' (single quotation mark). If unspecified, defaults to " (double quotation mark). + */ + quote?: string | null; + /** + * Optional. Whether to disable the inference of data types for CSV data. If true, all columns are registered as strings. + */ + typeInferenceDisabled?: boolean | null; + } + /** + * Describes JSON data format. + */ + export interface Schema$GoogleCloudDataplexV1DataDiscoverySpecStorageConfigJsonOptions { + /** + * Optional. The character encoding of the data. The default is UTF-8. + */ + encoding?: string | null; + /** + * Optional. Whether to disable the inference of data types for JSON data. If true, all columns are registered as their primitive types (strings, number, or boolean). + */ + typeInferenceDisabled?: boolean | null; + } /** * DataProfileResult defines the output of DataProfileScan. Each field of the table will have field type specific profile result. */ @@ -1172,7 +1279,7 @@ export namespace dataplex_v1 { */ export interface Schema$GoogleCloudDataplexV1DataQualityDimension { /** - * The dimension name a rule belongs to. Supported dimensions are "COMPLETENESS", "ACCURACY", "CONSISTENCY", "VALIDITY", "UNIQUENESS", "INTEGRITY" + * The dimension name a rule belongs to. Supported dimensions are "COMPLETENESS", "ACCURACY", "CONSISTENCY", "VALIDITY", "UNIQUENESS", "FRESHNESS", "VOLUME" */ name?: string | null; } @@ -1265,7 +1372,7 @@ export namespace dataplex_v1 { */ description?: string | null; /** - * Required. The dimension a rule belongs to. Results are also aggregated at the dimension level. Supported dimensions are "COMPLETENESS", "ACCURACY", "CONSISTENCY", "VALIDITY", "UNIQUENESS", "INTEGRITY" + * Required. The dimension a rule belongs to. Results are also aggregated at the dimension level. Supported dimensions are "COMPLETENESS", "ACCURACY", "CONSISTENCY", "VALIDITY", "UNIQUENESS", "FRESHNESS", "VOLUME" */ dimension?: string | null; /** @@ -1617,19 +1724,27 @@ export namespace dataplex_v1 { */ data?: Schema$GoogleCloudDataplexV1DataSource; /** - * Output only. The result of the data profile scan. + * Output only. The result of a data discovery scan. + */ + dataDiscoveryResult?: Schema$GoogleCloudDataplexV1DataDiscoveryResult; + /** + * Settings for a data discovery scan. + */ + dataDiscoverySpec?: Schema$GoogleCloudDataplexV1DataDiscoverySpec; + /** + * Output only. The result of a data profile scan. */ dataProfileResult?: Schema$GoogleCloudDataplexV1DataProfileResult; /** - * DataProfileScan related setting. + * Settings for a data profile scan. */ dataProfileSpec?: Schema$GoogleCloudDataplexV1DataProfileSpec; /** - * Output only. The result of the data quality scan. + * Output only. The result of a data quality scan. */ dataQualityResult?: Schema$GoogleCloudDataplexV1DataQualityResult; /** - * DataQualityScan related setting. + * Settings for a data quality scan. */ dataQualitySpec?: Schema$GoogleCloudDataplexV1DataQualitySpec; /** @@ -1653,7 +1768,7 @@ export namespace dataplex_v1 { */ labels?: {[key: string]: string} | null; /** - * Output only. The relative resource name of the scan, of the form: projects/{project\}/locations/{location_id\}/dataScans/{datascan_id\}, where project refers to a project_id or project_number and location_id refers to a GCP region. + * Output only. Identifier. The relative resource name of the scan, of the form: projects/{project\}/locations/{location_id\}/dataScans/{datascan_id\}, where project refers to a project_id or project_number and location_id refers to a GCP region. */ name?: string | null; /** @@ -1674,7 +1789,7 @@ export namespace dataplex_v1 { updateTime?: string | null; } /** - * These messages contain information about the execution of a datascan. The monitored resource is 'DataScan' Next ID: 13 + * These messages contain information about the execution of a datascan. The monitored resource is 'DataScan' */ export interface Schema$GoogleCloudDataplexV1DataScanEvent { /** @@ -1854,11 +1969,11 @@ export namespace dataplex_v1 { */ latestJobCreateTime?: string | null; /** - * The time when the latest DataScanJob ended. + * Optional. The time when the latest DataScanJob ended. */ latestJobEndTime?: string | null; /** - * The time when the latest DataScanJob started. + * Optional. The time when the latest DataScanJob started. */ latestJobStartTime?: string | null; } @@ -1871,19 +1986,27 @@ export namespace dataplex_v1 { */ createTime?: string | null; /** - * Output only. The result of the data profile scan. + * Output only. The result of a data discovery scan. + */ + dataDiscoveryResult?: Schema$GoogleCloudDataplexV1DataDiscoveryResult; + /** + * Output only. Settings for a data discovery scan. + */ + dataDiscoverySpec?: Schema$GoogleCloudDataplexV1DataDiscoverySpec; + /** + * Output only. The result of a data profile scan. */ dataProfileResult?: Schema$GoogleCloudDataplexV1DataProfileResult; /** - * Output only. DataProfileScan related setting. + * Output only. Settings for a data profile scan. */ dataProfileSpec?: Schema$GoogleCloudDataplexV1DataProfileSpec; /** - * Output only. The result of the data quality scan. + * Output only. The result of a data quality scan. */ dataQualityResult?: Schema$GoogleCloudDataplexV1DataQualityResult; /** - * Output only. DataQualityScan related setting. + * Output only. Settings for a data quality scan. */ dataQualitySpec?: Schema$GoogleCloudDataplexV1DataQualitySpec; /** @@ -1895,7 +2018,7 @@ export namespace dataplex_v1 { */ message?: string | null; /** - * Output only. The relative resource name of the DataScanJob, of the form: projects/{project\}/locations/{location_id\}/dataScans/{datascan_id\}/jobs/{job_id\}, where project refers to a project_id or project_number and location_id refers to a GCP region. + * Output only. Identifier. The relative resource name of the DataScanJob, of the form: projects/{project\}/locations/{location_id\}/dataScans/{datascan_id\}/jobs/{job_id\}, where project refers to a project_id or project_number and location_id refers to a GCP region. */ name?: string | null; /** @@ -2030,6 +2153,10 @@ export namespace dataplex_v1 { * Details about the action. */ export interface Schema$GoogleCloudDataplexV1DiscoveryEventActionDetails { + /** + * The human readable issue associated with the action. + */ + issue?: string | null; /** * The type of action. Eg. IncompatibleDataSchema, InvalidDataFormat */ @@ -2589,7 +2716,7 @@ export namespace dataplex_v1 { */ export interface Schema$GoogleCloudDataplexV1ImportItem { /** - * The aspects to modify. Supports the following syntaxes: {aspect_type_reference\}: matches aspects that belong to the specified aspect type and are attached directly to the entry. {aspect_type_reference\}@{path\}: matches aspects that belong to the specified aspect type and path. {aspect_type_reference\}@*: matches aspects that belong to the specified aspect type for all paths.Replace {aspect_type_reference\} with a reference to the aspect type, in the format {project_id_or_number\}.{location_id\}.{aspect_type_id\}.If you leave this field empty, it is treated as specifying exactly those aspects that are present within the specified entry.In FULL entry sync mode, Dataplex implicitly adds the keys for all of the required aspects of an entry. + * The aspects to modify. Supports the following syntaxes: {aspect_type_reference\}: matches aspects that belong to the specified aspect type and are attached directly to the entry. {aspect_type_reference\}@{path\}: matches aspects that belong to the specified aspect type and path. @* : matches aspects of the given type for all paths. *@path : matches aspects of all types on the given path. Replace {aspect_type_reference\} with a reference to the aspect type, in the format {project_id_or_number\}.{location_id\}.{aspect_type_id\}.If you leave this field empty, it is treated as specifying exactly those aspects that are present within the specified entry.In FULL entry sync mode, Dataplex implicitly adds the keys for all of the required aspects of an entry. */ aspectKeys?: string[] | null; /** @@ -5493,7 +5620,7 @@ export namespace dataplex_v1 { */ name?: string; /** - * Optional. Specifies the ordering of results. + * Optional. Specifies the ordering of results. Supported values are: * relevance (default) * last_modified_timestamp * last_modified_timestamp asc */ orderBy?: string; /** @@ -5505,7 +5632,7 @@ export namespace dataplex_v1 { */ pageToken?: string; /** - * Required. The query against which entries in scope should be matched. + * Required. The query against which entries in scope should be matched. The query syntax is defined in Search syntax for Dataplex Catalog (https://cloud.google.com/dataplex/docs/search-syntax). */ query?: string; /** @@ -8258,6 +8385,10 @@ export namespace dataplex_v1 { } export interface Params$Resource$Projects$Locations$Datascans$Delete extends StandardParameters { + /** + * Optional. If set to true, any child resources of this data scan will also be deleted. (Otherwise, the request will only work if the data scan has no child resources.) + */ + force?: boolean; /** * Required. The resource name of the dataScan: projects/{project\}/locations/{location_id\}/dataScans/{data_scan_id\} where project refers to a project_id or project_number and location_id refers to a GCP region. */ @@ -8323,11 +8454,11 @@ export namespace dataplex_v1 { export interface Params$Resource$Projects$Locations$Datascans$Patch extends StandardParameters { /** - * Output only. The relative resource name of the scan, of the form: projects/{project\}/locations/{location_id\}/dataScans/{datascan_id\}, where project refers to a project_id or project_number and location_id refers to a GCP region. + * Output only. Identifier. The relative resource name of the scan, of the form: projects/{project\}/locations/{location_id\}/dataScans/{datascan_id\}, where project refers to a project_id or project_number and location_id refers to a GCP region. */ name?: string; /** - * Required. Mask of fields to update. + * Optional. Mask of fields to update. */ updateMask?: string; /** @@ -11913,7 +12044,7 @@ export namespace dataplex_v1 { */ allowMissing?: boolean; /** - * Optional. The map keys of the Aspects which the service should modify. It supports the following syntaxes: - matches an aspect of the given type and empty path. @path - matches an aspect of the given type and specified path. For example, to attach an aspect to a field that is specified by the schema aspect, the path should have the format Schema.. * - matches aspects of the given type for all paths. *@path - matches aspects of all types on the given path.The service will not remove existing aspects matching the syntax unless delete_missing_aspects is set to true.If this field is left empty, the service treats it as specifying exactly those Aspects present in the request. + * Optional. The map keys of the Aspects which the service should modify. It supports the following syntaxes: - matches an aspect of the given type and empty path. @path - matches an aspect of the given type and specified path. For example, to attach an aspect to a field that is specified by the schema aspect, the path should have the format Schema.. @* - matches aspects of the given type for all paths. *@path - matches aspects of all types on the given path.The service will not remove existing aspects matching the syntax unless delete_missing_aspects is set to true.If this field is left empty, the service treats it as specifying exactly those Aspects present in the request. */ aspectKeys?: string[]; /** @@ -22929,6 +23060,10 @@ export namespace dataplex_v1 { * Required. The resource name of the parent location, in the format projects/{project_id_or_number\}/locations/{location_id\} */ parent?: string; + /** + * Optional. The service validates the request without performing any mutations. The default is false. + */ + validateOnly?: boolean; /** * Request body metadata diff --git a/src/apis/dataproc/v1.ts b/src/apis/dataproc/v1.ts index d4c5b07eac..5e59ae4145 100644 --- a/src/apis/dataproc/v1.ts +++ b/src/apis/dataproc/v1.ts @@ -2606,7 +2606,7 @@ export namespace dataproc_v1 { pythonFileUris?: string[] | null; } /** - * A Dataproc job for running Apache PySpark (https://spark.apache.org/docs/0.9.0/python-programming-guide.html) applications on YARN. + * A Dataproc job for running Apache PySpark (https://spark.apache.org/docs/latest/api/python/index.html#pyspark-overview) applications on YARN. */ export interface Schema$PySparkJob { /** diff --git a/src/apis/datastore/v1.ts b/src/apis/datastore/v1.ts index 97d26c7093..e0cdbab8c2 100644 --- a/src/apis/datastore/v1.ts +++ b/src/apis/datastore/v1.ts @@ -408,6 +408,35 @@ export namespace datastore_v1 { */ propertyFilter?: Schema$PropertyFilter; } + /** + * Nearest Neighbors search config. The ordering provided by FindNearest supersedes the order_by stage. If multiple documents have the same vector distance, the returned document order is not guaranteed to be stable between queries. + */ + export interface Schema$FindNearest { + /** + * Required. The Distance Measure to use, required. + */ + distanceMeasure?: string | null; + /** + * Optional. Optional name of the field to output the result of the vector distance calculation. Must conform to entity property limitations. + */ + distanceResultProperty?: string | null; + /** + * Optional. Option to specify a threshold for which no less similar documents will be returned. The behavior of the specified `distance_measure` will affect the meaning of the distance threshold. Since DOT_PRODUCT distances increase when the vectors are more similar, the comparison is inverted. * For EUCLIDEAN, COSINE: WHERE distance <= distance_threshold * For DOT_PRODUCT: WHERE distance \>= distance_threshold + */ + distanceThreshold?: number | null; + /** + * Required. The number of nearest neighbors to return. Must be a positive integer of no more than 100. + */ + limit?: number | null; + /** + * Required. The query vector that we are searching on. Must be a vector of no more than 2048 dimensions. + */ + queryVector?: Schema$Value; + /** + * Required. An indexed vector property to search upon. Only documents which contain vectors whose dimensionality match the query_vector can be returned. + */ + vectorProperty?: Schema$PropertyReference; + } /** * Metadata common to all Datastore Admin operations. */ @@ -952,6 +981,10 @@ export namespace datastore_v1 { * The version of the entity that this mutation is being applied to. If this does not match the current version on the server, the mutation conflicts. */ baseVersion?: string | null; + /** + * The strategy to use when a conflict is detected. Defaults to `SERVER_VALUE`. If this is set, then `conflict_detection_strategy` must also be set. + */ + conflictResolutionStrategy?: string | null; /** * The key of the entity to delete. The entity may or may not already exist. Must have a complete key path and must not be reserved/read-only. */ @@ -964,6 +997,10 @@ export namespace datastore_v1 { * The properties to write in this mutation. None of the properties in the mask may have a reserved name, except for `__key__`. This field is ignored for `delete`. If the entity already exists, only properties referenced in the mask are updated, others are left untouched. Properties referenced in the mask but not in the entity are deleted. */ propertyMask?: Schema$PropertyMask; + /** + * Optional. The transforms to perform on the entity. This field can be set only when the operation is `insert`, `update`, or `upsert`. If present, the transforms are be applied to the entity regardless of the property mask, in order, after the operation. + */ + propertyTransforms?: Schema$PropertyTransform[]; /** * The entity to update. The entity must already exist. Must have a complete key path. */ @@ -993,6 +1030,10 @@ export namespace datastore_v1 { * The automatically allocated key. Set only when the mutation allocated a key. */ key?: Schema$Key; + /** + * The results of applying each PropertyTransform, in the same order of the request. + */ + transformResults?: Schema$Value[]; /** * The update time of the entity on the server after processing the mutation. If the mutation doesn't change anything on the server, then the timestamp will be the update timestamp of the current entity. This field will not be set after a 'delete'. */ @@ -1103,7 +1144,40 @@ export namespace datastore_v1 { name?: string | null; } /** - * A query for entities. + * A transformation of an entity property. + */ + export interface Schema$PropertyTransform { + /** + * Appends the given elements in order if they are not already present in the current property value. If the property is not an array, or if the property does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and the null value is equal to the null value. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform result will be the null value. + */ + appendMissingElements?: Schema$ArrayValue; + /** + * Adds the given value to the property's current value. This must be an integer or a double value. If the property is not an integer or double, or if the property does not yet exist, the transformation will set the property to the given value. If either of the given value or the current property value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follows IEEE 754 semantics. If there is positive/negative integer overflow, the property is resolved to the largest magnitude positive/negative integer. + */ + increment?: Schema$Value; + /** + * Sets the property to the maximum of its current value and the given value. This must be an integer or a double value. If the property is not an integer or double, or if the property does not yet exist, the transformation will set the property to the given value. If a maximum operation is applied where the property and the input value are of mixed types (that is - one is an integer and one is a double) the property takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the property does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN. + */ + maximum?: Schema$Value; + /** + * Sets the property to the minimum of its current value and the given value. This must be an integer or a double value. If the property is not an integer or double, or if the property does not yet exist, the transformation will set the property to the input value. If a minimum operation is applied where the property and the input value are of mixed types (that is - one is an integer and one is a double) the property takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the property does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN. + */ + minimum?: Schema$Value; + /** + * Optional. The name of the property. Property paths (a list of property names separated by dots (`.`)) may be used to refer to properties inside entity values. For example `foo.bar` means the property `bar` inside the entity property `foo`. If a property name contains a dot `.` or a backlslash `\`, then that name must be escaped. + */ + property?: string | null; + /** + * Removes all of the given elements from the array in the property. If the property is not an array, or if the property does not yet exist, it is set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and the null value is equal to the null value. This will remove all equivalent values if there are duplicates. The corresponding transform result will be the null value. + */ + removeAllFromArray?: Schema$ArrayValue; + /** + * Sets the property to the given server value. + */ + setToServerValue?: string | null; + } + /** + * A query for entities. The query stages are executed in the following order: 1. kind 2. filter 3. projection 4. order + start_cursor + end_cursor 5. offset 6. limit 7. find_nearest */ export interface Schema$Query { /** @@ -1118,6 +1192,10 @@ export namespace datastore_v1 { * The filter to apply. */ filter?: Schema$Filter; + /** + * Optional. A potential Nearest Neighbors Search. Applies after all other filters and ordering. Finds the closest vector embeddings to the given query vector. + */ + findNearest?: Schema$FindNearest; /** * The kinds to query (if empty, returns entities of all kinds). Currently at most 1 kind may be specified. */ @@ -2940,7 +3018,7 @@ export namespace datastore_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/datastore/v1beta3.ts b/src/apis/datastore/v1beta3.ts index d95fc7f2fb..cdce1f0217 100644 --- a/src/apis/datastore/v1beta3.ts +++ b/src/apis/datastore/v1beta3.ts @@ -388,6 +388,35 @@ export namespace datastore_v1beta3 { */ propertyFilter?: Schema$PropertyFilter; } + /** + * Nearest Neighbors search config. The ordering provided by FindNearest supersedes the order_by stage. If multiple documents have the same vector distance, the returned document order is not guaranteed to be stable between queries. + */ + export interface Schema$FindNearest { + /** + * Required. The Distance Measure to use, required. + */ + distanceMeasure?: string | null; + /** + * Optional. Optional name of the field to output the result of the vector distance calculation. Must conform to entity property limitations. + */ + distanceResultProperty?: string | null; + /** + * Optional. Option to specify a threshold for which no less similar documents will be returned. The behavior of the specified `distance_measure` will affect the meaning of the distance threshold. Since DOT_PRODUCT distances increase when the vectors are more similar, the comparison is inverted. * For EUCLIDEAN, COSINE: WHERE distance <= distance_threshold * For DOT_PRODUCT: WHERE distance \>= distance_threshold + */ + distanceThreshold?: number | null; + /** + * Required. The number of nearest neighbors to return. Must be a positive integer of no more than 100. + */ + limit?: number | null; + /** + * Required. The query vector that we are searching on. Must be a vector of no more than 2048 dimensions. + */ + queryVector?: Schema$Value; + /** + * Required. An indexed vector property to search upon. Only documents which contain vectors whose dimensionality match the query_vector can be returned. + */ + vectorProperty?: Schema$PropertyReference; + } /** * Metadata common to all Datastore Admin operations. */ @@ -797,6 +826,10 @@ export namespace datastore_v1beta3 { * The version of the entity that this mutation is being applied to. If this does not match the current version on the server, the mutation conflicts. */ baseVersion?: string | null; + /** + * The strategy to use when a conflict is detected. Defaults to `SERVER_VALUE`. If this is set, then `conflict_detection_strategy` must also be set. + */ + conflictResolutionStrategy?: string | null; /** * The key of the entity to delete. The entity may or may not already exist. Must have a complete key path and must not be reserved/read-only. */ @@ -809,6 +842,10 @@ export namespace datastore_v1beta3 { * The properties to write in this mutation. None of the properties in the mask may have a reserved name, except for `__key__`. This field is ignored for `delete`. If the entity already exists, only properties referenced in the mask are updated, others are left untouched. Properties referenced in the mask but not in the entity are deleted. */ propertyMask?: Schema$PropertyMask; + /** + * Optional. The transforms to perform on the entity. This field can be set only when the operation is `insert`, `update`, or `upsert`. If present, the transforms are be applied to the entity regardless of the property mask, in order, after the operation. + */ + propertyTransforms?: Schema$PropertyTransform[]; /** * The entity to update. The entity must already exist. Must have a complete key path. */ @@ -838,6 +875,10 @@ export namespace datastore_v1beta3 { * The automatically allocated key. Set only when the mutation allocated a key. */ key?: Schema$Key; + /** + * The results of applying each PropertyTransform, in the same order of the request. + */ + transformResults?: Schema$Value[]; /** * The update time of the entity on the server after processing the mutation. If the mutation doesn't change anything on the server, then the timestamp will be the update timestamp of the current entity. This field will not be set after a 'delete'. */ @@ -944,7 +985,40 @@ export namespace datastore_v1beta3 { name?: string | null; } /** - * A query for entities. + * A transformation of an entity property. + */ + export interface Schema$PropertyTransform { + /** + * Appends the given elements in order if they are not already present in the current property value. If the property is not an array, or if the property does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and the null value is equal to the null value. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform result will be the null value. + */ + appendMissingElements?: Schema$ArrayValue; + /** + * Adds the given value to the property's current value. This must be an integer or a double value. If the property is not an integer or double, or if the property does not yet exist, the transformation will set the property to the given value. If either of the given value or the current property value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follows IEEE 754 semantics. If there is positive/negative integer overflow, the property is resolved to the largest magnitude positive/negative integer. + */ + increment?: Schema$Value; + /** + * Sets the property to the maximum of its current value and the given value. This must be an integer or a double value. If the property is not an integer or double, or if the property does not yet exist, the transformation will set the property to the given value. If a maximum operation is applied where the property and the input value are of mixed types (that is - one is an integer and one is a double) the property takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the property does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN. + */ + maximum?: Schema$Value; + /** + * Sets the property to the minimum of its current value and the given value. This must be an integer or a double value. If the property is not an integer or double, or if the property does not yet exist, the transformation will set the property to the input value. If a minimum operation is applied where the property and the input value are of mixed types (that is - one is an integer and one is a double) the property takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the property does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN. + */ + minimum?: Schema$Value; + /** + * Optional. The name of the property. Property paths (a list of property names separated by dots (`.`)) may be used to refer to properties inside entity values. For example `foo.bar` means the property `bar` inside the entity property `foo`. If a property name contains a dot `.` or a backlslash `\`, then that name must be escaped. + */ + property?: string | null; + /** + * Removes all of the given elements from the array in the property. If the property is not an array, or if the property does not yet exist, it is set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and the null value is equal to the null value. This will remove all equivalent values if there are duplicates. The corresponding transform result will be the null value. + */ + removeAllFromArray?: Schema$ArrayValue; + /** + * Sets the property to the given server value. + */ + setToServerValue?: string | null; + } + /** + * A query for entities. The query stages are executed in the following order: 1. kind 2. filter 3. projection 4. order + start_cursor + end_cursor 5. offset 6. limit 7. find_nearest */ export interface Schema$Query { /** @@ -959,6 +1033,10 @@ export namespace datastore_v1beta3 { * The filter to apply. */ filter?: Schema$Filter; + /** + * Optional. A potential Nearest Neighbors Search. Applies after all other filters and ordering. Finds the closest vector embeddings to the given query vector. + */ + findNearest?: Schema$FindNearest; /** * The kinds to query (if empty, returns entities of all kinds). Currently at most 1 kind may be specified. */ diff --git a/src/apis/datastream/v1.ts b/src/apis/datastream/v1.ts index 65b411b8a0..9bbd6aa3ac 100644 --- a/src/apis/datastream/v1.ts +++ b/src/apis/datastream/v1.ts @@ -211,6 +211,23 @@ export namespace datastream_v1 { * BigQuery warehouse profile. */ export interface Schema$BigQueryProfile {} + /** + * Configuration to use Binary Log Parser CDC technique. + */ + export interface Schema$BinaryLogParser { + /** + * Use Oracle directories. + */ + logFileDirectories?: Schema$LogFileDirectories; + /** + * Use Oracle ASM. + */ + oracleAsmLogFileAccess?: Schema$OracleAsmLogFileAccess; + } + /** + * Use Binary log position based replication. + */ + export interface Schema$BinaryLogPosition {} /** * The request message for Operations.CancelOperation. */ @@ -265,7 +282,7 @@ export namespace datastream_v1 { */ mysqlProfile?: Schema$MysqlProfile; /** - * Output only. The resource's name. + * Output only. Identifier. The resource's name. */ name?: string | null; /** @@ -494,6 +511,10 @@ export namespace datastream_v1 { */ rootPath?: string | null; } + /** + * Use GTID based replication. + */ + export interface Schema$Gtid {} /** * JSON file format configuration. */ @@ -639,6 +660,23 @@ export namespace datastream_v1 { */ name?: string | null; } + /** + * Configuration to specify the Oracle directories to access the log files. + */ + export interface Schema$LogFileDirectories { + /** + * Required. Oracle directory for archived logs. + */ + archivedLogDirectory?: string | null; + /** + * Required. Oracle directory for online logs. + */ + onlineLogDirectory?: string | null; + } + /** + * Configuration to use LogMiner CDC method. + */ + export interface Schema$LogMiner {} /** * Request for looking up a specific stream object by its source object identifier. */ @@ -737,7 +775,7 @@ export namespace datastream_v1 { table?: string | null; } /** - * MySQL database profile. + * MySQL database profile. Next ID: 7. */ export interface Schema$MysqlProfile { /** @@ -745,7 +783,7 @@ export namespace datastream_v1 { */ hostname?: string | null; /** - * Required. Input only. Password for the MySQL connection. + * Optional. Input only. Password for the MySQL connection. Mutually exclusive with the `secret_manager_stored_password` field. */ password?: string | null; /** @@ -774,10 +812,18 @@ export namespace datastream_v1 { * MySQL source configuration */ export interface Schema$MysqlSourceConfig { + /** + * Use Binary log position based replication. + */ + binaryLogPosition?: Schema$BinaryLogPosition; /** * MySQL objects to exclude from the stream. */ excludeObjects?: Schema$MysqlRdbms; + /** + * Use GTID based replication. + */ + gtid?: Schema$Gtid; /** * MySQL objects to retrieve from the source. */ @@ -879,7 +925,7 @@ export namespace datastream_v1 { */ endTime?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -899,6 +945,43 @@ export namespace datastream_v1 { */ verb?: string | null; } + /** + * Configuration for Oracle Automatic Storage Management (ASM) connection. . + */ + export interface Schema$OracleAsmConfig { + /** + * Required. ASM service name for the Oracle ASM connection. + */ + asmService?: string | null; + /** + * Optional. Connection string attributes + */ + connectionAttributes?: {[key: string]: string} | null; + /** + * Required. Hostname for the Oracle ASM connection. + */ + hostname?: string | null; + /** + * Optional. SSL configuration for the Oracle connection. + */ + oracleSslConfig?: Schema$OracleSslConfig; + /** + * Optional. Password for the Oracle ASM connection. + */ + password?: string | null; + /** + * Required. Port for the Oracle ASM connection. + */ + port?: number | null; + /** + * Required. Username for the Oracle ASM connection. + */ + username?: string | null; + } + /** + * Configuration to use Oracle ASM to access the log files. + */ + export interface Schema$OracleAsmLogFileAccess {} /** * Oracle Column. */ @@ -954,7 +1037,7 @@ export namespace datastream_v1 { table?: string | null; } /** - * Oracle database profile. + * Oracle database profile. Next ID: 10. */ export interface Schema$OracleProfile { /** @@ -969,18 +1052,26 @@ export namespace datastream_v1 { * Required. Hostname for the Oracle connection. */ hostname?: string | null; + /** + * Optional. Configuration for Oracle ASM connection. + */ + oracleAsmConfig?: Schema$OracleAsmConfig; /** * Optional. SSL configuration for the Oracle connection. */ oracleSslConfig?: Schema$OracleSslConfig; /** - * Required. Password for the Oracle connection. + * Optional. Password for the Oracle connection. Mutually exclusive with the `secret_manager_stored_password` field. */ password?: string | null; /** * Port for the Oracle connection, default value is 1521. */ port?: number | null; + /** + * Optional. A reference to a Secret Manager resource name storing the Oracle connection password. Mutually exclusive with the `password` field. + */ + secretManagerStoredPassword?: string | null; /** * Required. Username for the Oracle connection. */ @@ -1021,6 +1112,10 @@ export namespace datastream_v1 { * Oracle data source configuration */ export interface Schema$OracleSourceConfig { + /** + * Use Binary Log Parser. + */ + binaryLogParser?: Schema$BinaryLogParser; /** * Drop large object values. */ @@ -1033,6 +1128,10 @@ export namespace datastream_v1 { * Oracle objects to include in the stream. */ includeObjects?: Schema$OracleRdbms; + /** + * Use LogMiner. + */ + logMiner?: Schema$LogMiner; /** * Maximum number of concurrent backfill tasks. The number should be non-negative. If not set (or set to 0), the system's default value is used. */ @@ -1135,7 +1234,7 @@ export namespace datastream_v1 { */ hostname?: string | null; /** - * Required. Password for the PostgreSQL connection. + * Optional. Password for the PostgreSQL connection. Mutually exclusive with the `secret_manager_stored_password` field. */ password?: string | null; /** @@ -1228,7 +1327,7 @@ export namespace datastream_v1 { */ labels?: {[key: string]: string} | null; /** - * Output only. The resource's name. + * Output only. Identifier. The resource's name. */ name?: string | null; /** @@ -1278,7 +1377,7 @@ export namespace datastream_v1 { */ labels?: {[key: string]: string} | null; /** - * Output only. The resource's name. + * Output only. Identifier. The resource's name. */ name?: string | null; /** @@ -1375,6 +1474,10 @@ export namespace datastream_v1 { * Oracle SCN to start replicating from. */ oracleScnPosition?: Schema$OracleScnPosition; + /** + * SqlServer LSN to start replicating from. + */ + sqlServerLsnPosition?: Schema$SqlServerLsnPosition; } /** * Configuration to use Change Tables CDC read method. @@ -1417,6 +1520,15 @@ export namespace datastream_v1 { */ scale?: number | null; } + /** + * SQL Server LSN position + */ + export interface Schema$SqlServerLsnPosition { + /** + * Required. Log sequence number (LSN) from where Logs will be read + */ + lsn?: string | null; + } /** * SQLServer data source object identifier. */ @@ -1431,7 +1543,7 @@ export namespace datastream_v1 { table?: string | null; } /** - * SQLServer database profile + * SQLServer database profile. Next ID: 8. */ export interface Schema$SqlServerProfile { /** @@ -1443,7 +1555,7 @@ export namespace datastream_v1 { */ hostname?: string | null; /** - * Required. Password for the SQLServer connection. + * Optional. Password for the SQLServer connection. Mutually exclusive with the `secret_manager_stored_password` field. */ password?: string | null; /** @@ -1611,7 +1723,7 @@ export namespace datastream_v1 { */ lastRecoveryTime?: string | null; /** - * Output only. The stream's name. + * Output only. Identifier. The stream's name. */ name?: string | null; /** @@ -1652,7 +1764,7 @@ export namespace datastream_v1 { */ errors?: Schema$Error[]; /** - * Output only. The object resource's name. + * Output only. Identifier. The object resource's name. */ name?: string | null; /** @@ -2712,7 +2824,7 @@ export namespace datastream_v1 { */ force?: boolean; /** - * Output only. The resource's name. + * Output only. Identifier. The resource's name. */ name?: string; /** @@ -2741,7 +2853,7 @@ export namespace datastream_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -4606,7 +4718,7 @@ export namespace datastream_v1 { */ force?: boolean; /** - * Output only. The stream's name. + * Output only. Identifier. The stream's name. */ name?: string; /** diff --git a/src/apis/datastream/v1alpha1.ts b/src/apis/datastream/v1alpha1.ts index c892bdf72c..ba803649b7 100644 --- a/src/apis/datastream/v1alpha1.ts +++ b/src/apis/datastream/v1alpha1.ts @@ -732,7 +732,7 @@ export namespace datastream_v1alpha1 { */ endTime?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -2177,7 +2177,7 @@ export namespace datastream_v1alpha1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/deploymentmanager/alpha.ts b/src/apis/deploymentmanager/alpha.ts index 5180daf38d..2447504fa1 100644 --- a/src/apis/deploymentmanager/alpha.ts +++ b/src/apis/deploymentmanager/alpha.ts @@ -343,6 +343,19 @@ export namespace deploymentmanager_alpha { */ useProjectDefault?: boolean | null; } + /** + * Describes additional debugging info. + */ + export interface Schema$DebugInfo { + /** + * Additional debugging information provided by the server. + */ + detail?: string | null; + /** + * The stack trace entries indicating where the error occurred. + */ + stackEntries?: string[] | null; + } export interface Schema$Deployment { /** * User provided default credential for the deployment. @@ -490,6 +503,23 @@ export namespace deploymentmanager_alpha { */ level?: string | null; } + /** + * Describes the cause of the error with structured details. Example of an error when contacting the "pubsub.googleapis.com" API when it is not enabled: { "reason": "API_DISABLED" "domain": "googleapis.com" "metadata": { "resource": "projects/123", "service": "pubsub.googleapis.com" \} \} This response indicates that the pubsub.googleapis.com API is not enabled. Example of an error that is returned when attempting to create a Spanner instance in a region that is out of stock: { "reason": "STOCKOUT" "domain": "spanner.googleapis.com", "metadata": { "availableRegions": "us-central1,us-east2" \} \} + */ + export interface Schema$ErrorInfo { + /** + * The logical grouping to which the "reason" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: "pubsub.googleapis.com". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is "googleapis.com". + */ + domain?: string | null; + /** + * Additional structured details about this error. Keys must match a regular expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{"instanceLimit": "100/request"\}`, should be returned as, `{"instanceLimitPerRequest": "100"\}`, if the client exceeds the number of instances that can be created in a single (batch) request. + */ + metadatas?: {[key: string]: string} | null; + /** + * The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE. + */ + reason?: string | null; + } /** * Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. */ @@ -524,6 +554,29 @@ export namespace deploymentmanager_alpha { * REQUIRED: The complete policy to be applied to the 'resource'. The size of the policy is limited to a few 10s of KB. An empty policy is in general a valid policy but certain services (like Projects) might reject them. */ policy?: Schema$Policy; + updateMask?: string | null; + } + /** + * Provides links to documentation or for performing an out of band action. For example, if a quota check failed with an error indicating the calling project hasn't enabled the accessed service, this can contain a URL pointing directly to the right place in the developer console to flip the bit. + */ + export interface Schema$Help { + /** + * URL(s) pointing to additional information on handling the current error. + */ + links?: Schema$HelpLink[]; + } + /** + * Describes a URL link. + */ + export interface Schema$HelpLink { + /** + * Describes what the link offers. + */ + description?: string | null; + /** + * The URL of the link. + */ + url?: string | null; } export interface Schema$ImportFile { /** @@ -564,6 +617,19 @@ export namespace deploymentmanager_alpha { [key: string]: Schema$BulkInsertOperationStatus; } | null; } + /** + * Provides a localized error message that is safe to return to the user which can be attached to an RPC error. + */ + export interface Schema$LocalizedMessage { + /** + * The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX" + */ + locale?: string | null; + /** + * The localized error message in the above locale. + */ + message?: string | null; + } export interface Schema$Manifest { /** * Output only. The YAML configuration for this manifest. @@ -665,7 +731,19 @@ export namespace deploymentmanager_alpha { * [Output Only] If errors are generated during processing of the operation, this field will be populated. */ error?: { - errors?: Array<{code?: string; location?: string; message?: string}>; + errors?: Array<{ + arguments?: string[]; + code?: string; + debugInfo?: Schema$DebugInfo; + errorDetails?: Array<{ + errorInfo?: Schema$ErrorInfo; + help?: Schema$Help; + localizedMessage?: Schema$LocalizedMessage; + quotaInfo?: Schema$QuotaExceededInfo; + }>; + location?: string; + message?: string; + }>; } | null; /** * [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as `NOT FOUND`. @@ -712,6 +790,10 @@ export namespace deploymentmanager_alpha { * [Output Only] Server-defined URL for the resource. */ selfLink?: string | null; + /** + * [Output Only] Server-defined URL for this resource with the resource id. + */ + selfLinkWithId?: string | null; /** * [Output Only] If the operation is for projects.setCommonInstanceMetadata, this field will contain information on all underlying zonal actions and their state. */ @@ -733,7 +815,7 @@ export namespace deploymentmanager_alpha { */ targetId?: string | null; /** - * [Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from. + * [Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the disk that the snapshot was created from. */ targetLink?: string | null; /** @@ -830,6 +912,35 @@ export namespace deploymentmanager_alpha { */ targetLink?: string | null; } + /** + * Additional details for quota exceeded error for resource quota. + */ + export interface Schema$QuotaExceededInfo { + /** + * The map holding related quota dimensions. + */ + dimensions?: {[key: string]: string} | null; + /** + * Future quota limit being rolled out. The limit's unit depends on the quota type or metric. + */ + futureLimit?: number | null; + /** + * Current effective quota limit. The limit's unit depends on the quota type or metric. + */ + limit?: number | null; + /** + * The name of the quota limit. + */ + limitName?: string | null; + /** + * The Compute Engine quota metric name. + */ + metricName?: string | null; + /** + * Rollout status of the future quota limit. + */ + rolloutStatus?: string | null; + } export interface Schema$Resource { /** * The Access Control Policy set on this resource. @@ -924,7 +1035,19 @@ export namespace deploymentmanager_alpha { * Output only. If errors are generated during update of the resource, this field will be populated. */ error?: { - errors?: Array<{code?: string; location?: string; message?: string}>; + errors?: Array<{ + arguments?: string[]; + code?: string; + debugInfo?: Schema$DebugInfo; + errorDetails?: Array<{ + errorInfo?: Schema$ErrorInfo; + help?: Schema$Help; + localizedMessage?: Schema$LocalizedMessage; + quotaInfo?: Schema$QuotaExceededInfo; + }>; + location?: string; + message?: string; + }>; } | null; /** * Output only. The expanded properties of the resource with reference values expanded. Returned as serialized YAML. @@ -1816,6 +1939,10 @@ export namespace deploymentmanager_alpha { * The name of the type for this request. */ compositeType?: string; + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ @@ -1827,6 +1954,10 @@ export namespace deploymentmanager_alpha { * The name of the composite type for this request. */ compositeType?: string; + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ @@ -1834,6 +1965,10 @@ export namespace deploymentmanager_alpha { } export interface Params$Resource$Compositetypes$Insert extends StandardParameters { + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ @@ -1873,6 +2008,10 @@ export namespace deploymentmanager_alpha { * The name of the composite type for this request. */ compositeType?: string; + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ @@ -1889,6 +2028,10 @@ export namespace deploymentmanager_alpha { * The name of the composite type for this request. */ compositeType?: string; + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ @@ -2921,6 +3064,10 @@ export namespace deploymentmanager_alpha { * The name of the deployment for this request. */ deployment?: string; + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ @@ -2931,6 +3078,10 @@ export namespace deploymentmanager_alpha { * The name of the deployment for this request. */ deployment?: string; + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ @@ -2938,6 +3089,10 @@ export namespace deploymentmanager_alpha { } export interface Params$Resource$Deployments$Getiampolicy extends StandardParameters { + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * Requested IAM Policy version. */ @@ -2957,6 +3112,10 @@ export namespace deploymentmanager_alpha { * Sets the policy to use for creating new resources. */ createPolicy?: string; + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * If set to true, creates a deployment and creates "shell" resources but does not actually instantiate these resources. This allows you to preview what your deployment looks like. After previewing a deployment, you can deploy your resources by making a request with the `update()` method or you can use the `cancelPreview()` method to cancel the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it. */ @@ -3007,6 +3166,10 @@ export namespace deploymentmanager_alpha { * The name of the deployment for this request. */ deployment?: string; + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * If set to true, updates the deployment and creates and updates the "shell" resources but does not actually alter or instantiate these resources. This allows you to preview what your deployment will look like. You can use this intent to preview how an update would affect your deployment. You must provide a `target.config` with a configuration if this is set to true. After previewing a deployment, you can deploy your resources by making a request with the `update()` or you can `cancelPreview()` to remove the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it. */ @@ -3054,6 +3217,10 @@ export namespace deploymentmanager_alpha { } export interface Params$Resource$Deployments$Testiampermissions extends StandardParameters { + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * Project ID for this request. */ @@ -3082,6 +3249,10 @@ export namespace deploymentmanager_alpha { * The name of the deployment for this request. */ deployment?: string; + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * If set to true, updates the deployment and creates and updates the "shell" resources but does not actually alter or instantiate these resources. This allows you to preview what your deployment will look like. You can use this intent to preview how an update would affect your deployment. You must provide a `target.config` with a configuration if this is set to true. After previewing a deployment, you can deploy your resources by making a request with the `update()` or you can `cancelPreview()` to remove the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it. */ @@ -3290,6 +3461,10 @@ export namespace deploymentmanager_alpha { * The name of the deployment for this request. */ deployment?: string; + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The name of the manifest for this request. */ @@ -3515,6 +3690,10 @@ export namespace deploymentmanager_alpha { } export interface Params$Resource$Operations$Get extends StandardParameters { + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The name of the operation for this request. */ @@ -3740,6 +3919,10 @@ export namespace deploymentmanager_alpha { * The name of the deployment for this request. */ deployment?: string; + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ @@ -4513,6 +4696,10 @@ export namespace deploymentmanager_alpha { export interface Params$Resource$Typeproviders$Delete extends StandardParameters { + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ @@ -4524,6 +4711,10 @@ export namespace deploymentmanager_alpha { } export interface Params$Resource$Typeproviders$Get extends StandardParameters { + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ @@ -4535,6 +4726,10 @@ export namespace deploymentmanager_alpha { } export interface Params$Resource$Typeproviders$Gettype extends StandardParameters { + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ @@ -4550,6 +4745,10 @@ export namespace deploymentmanager_alpha { } export interface Params$Resource$Typeproviders$Insert extends StandardParameters { + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ @@ -4612,6 +4811,10 @@ export namespace deploymentmanager_alpha { } export interface Params$Resource$Typeproviders$Patch extends StandardParameters { + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ @@ -4628,6 +4831,10 @@ export namespace deploymentmanager_alpha { } export interface Params$Resource$Typeproviders$Update extends StandardParameters { + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ @@ -4830,6 +5037,10 @@ export namespace deploymentmanager_alpha { } export interface Params$Resource$Types$Get extends StandardParameters { + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ diff --git a/src/apis/deploymentmanager/v2.ts b/src/apis/deploymentmanager/v2.ts index 3167ebe6b7..aecf4b84b1 100644 --- a/src/apis/deploymentmanager/v2.ts +++ b/src/apis/deploymentmanager/v2.ts @@ -203,6 +203,19 @@ export namespace deploymentmanager_v2 { */ content?: string | null; } + /** + * Describes additional debugging info. + */ + export interface Schema$DebugInfo { + /** + * Additional debugging information provided by the server. + */ + detail?: string | null; + /** + * The stack trace entries indicating where the error occurred. + */ + stackEntries?: string[] | null; + } export interface Schema$Deployment { /** * An optional user-provided description of the deployment. @@ -315,6 +328,23 @@ export namespace deploymentmanager_v2 { */ value?: string | null; } + /** + * Describes the cause of the error with structured details. Example of an error when contacting the "pubsub.googleapis.com" API when it is not enabled: { "reason": "API_DISABLED" "domain": "googleapis.com" "metadata": { "resource": "projects/123", "service": "pubsub.googleapis.com" \} \} This response indicates that the pubsub.googleapis.com API is not enabled. Example of an error that is returned when attempting to create a Spanner instance in a region that is out of stock: { "reason": "STOCKOUT" "domain": "spanner.googleapis.com", "metadata": { "availableRegions": "us-central1,us-east2" \} \} + */ + export interface Schema$ErrorInfo { + /** + * The logical grouping to which the "reason" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: "pubsub.googleapis.com". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is "googleapis.com". + */ + domain?: string | null; + /** + * Additional structured details about this error. Keys must match a regular expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{"instanceLimit": "100/request"\}`, should be returned as, `{"instanceLimitPerRequest": "100"\}`, if the client exceeds the number of instances that can be created in a single (batch) request. + */ + metadatas?: {[key: string]: string} | null; + /** + * The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE. + */ + reason?: string | null; + } /** * Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. */ @@ -349,6 +379,29 @@ export namespace deploymentmanager_v2 { * REQUIRED: The complete policy to be applied to the 'resource'. The size of the policy is limited to a few 10s of KB. An empty policy is in general a valid policy but certain services (like Projects) might reject them. */ policy?: Schema$Policy; + updateMask?: string | null; + } + /** + * Provides links to documentation or for performing an out of band action. For example, if a quota check failed with an error indicating the calling project hasn't enabled the accessed service, this can contain a URL pointing directly to the right place in the developer console to flip the bit. + */ + export interface Schema$Help { + /** + * URL(s) pointing to additional information on handling the current error. + */ + links?: Schema$HelpLink[]; + } + /** + * Describes a URL link. + */ + export interface Schema$HelpLink { + /** + * Describes what the link offers. + */ + description?: string | null; + /** + * The URL of the link. + */ + url?: string | null; } export interface Schema$ImportFile { /** @@ -368,6 +421,19 @@ export namespace deploymentmanager_v2 { [key: string]: Schema$BulkInsertOperationStatus; } | null; } + /** + * Provides a localized error message that is safe to return to the user which can be attached to an RPC error. + */ + export interface Schema$LocalizedMessage { + /** + * The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX" + */ + locale?: string | null; + /** + * The localized error message in the above locale. + */ + message?: string | null; + } export interface Schema$Manifest { /** * Output only. The YAML configuration for this manifest. @@ -444,7 +510,19 @@ export namespace deploymentmanager_v2 { * [Output Only] If errors are generated during processing of the operation, this field will be populated. */ error?: { - errors?: Array<{code?: string; location?: string; message?: string}>; + errors?: Array<{ + arguments?: string[]; + code?: string; + debugInfo?: Schema$DebugInfo; + errorDetails?: Array<{ + errorInfo?: Schema$ErrorInfo; + help?: Schema$Help; + localizedMessage?: Schema$LocalizedMessage; + quotaInfo?: Schema$QuotaExceededInfo; + }>; + location?: string; + message?: string; + }>; } | null; /** * [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as `NOT FOUND`. @@ -491,6 +569,10 @@ export namespace deploymentmanager_v2 { * [Output Only] Server-defined URL for the resource. */ selfLink?: string | null; + /** + * [Output Only] Server-defined URL for this resource with the resource id. + */ + selfLinkWithId?: string | null; /** * [Output Only] If the operation is for projects.setCommonInstanceMetadata, this field will contain information on all underlying zonal actions and their state. */ @@ -512,7 +594,7 @@ export namespace deploymentmanager_v2 { */ targetId?: string | null; /** - * [Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from. + * [Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the disk that the snapshot was created from. */ targetLink?: string | null; /** @@ -566,6 +648,35 @@ export namespace deploymentmanager_v2 { */ version?: number | null; } + /** + * Additional details for quota exceeded error for resource quota. + */ + export interface Schema$QuotaExceededInfo { + /** + * The map holding related quota dimensions. + */ + dimensions?: {[key: string]: string} | null; + /** + * Future quota limit being rolled out. The limit's unit depends on the quota type or metric. + */ + futureLimit?: number | null; + /** + * Current effective quota limit. The limit's unit depends on the quota type or metric. + */ + limit?: number | null; + /** + * The name of the quota limit. + */ + limitName?: string | null; + /** + * The Compute Engine quota metric name. + */ + metricName?: string | null; + /** + * Rollout status of the future quota limit. + */ + rolloutStatus?: string | null; + } export interface Schema$Resource { /** * The Access Control Policy set on this resource. @@ -648,7 +759,19 @@ export namespace deploymentmanager_v2 { * Output only. If errors are generated during update of the resource, this field will be populated. */ error?: { - errors?: Array<{code?: string; location?: string; message?: string}>; + errors?: Array<{ + arguments?: string[]; + code?: string; + debugInfo?: Schema$DebugInfo; + errorDetails?: Array<{ + errorInfo?: Schema$ErrorInfo; + help?: Schema$Help; + localizedMessage?: Schema$LocalizedMessage; + quotaInfo?: Schema$QuotaExceededInfo; + }>; + location?: string; + message?: string; + }>; } | null; /** * Output only. The expanded properties of the resource with reference values expanded. Returned as serialized YAML. @@ -1799,6 +1922,10 @@ export namespace deploymentmanager_v2 { * The name of the deployment for this request. */ deployment?: string; + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ @@ -1809,6 +1936,10 @@ export namespace deploymentmanager_v2 { * The name of the deployment for this request. */ deployment?: string; + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ @@ -1816,6 +1947,10 @@ export namespace deploymentmanager_v2 { } export interface Params$Resource$Deployments$Getiampolicy extends StandardParameters { + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * Requested IAM Policy version. */ @@ -1835,6 +1970,10 @@ export namespace deploymentmanager_v2 { * Sets the policy to use for creating new resources. */ createPolicy?: string; + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * If set to true, creates a deployment and creates "shell" resources but does not actually instantiate these resources. This allows you to preview what your deployment looks like. After previewing a deployment, you can deploy your resources by making a request with the `update()` method or you can use the `cancelPreview()` method to cancel the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it. */ @@ -1885,6 +2024,10 @@ export namespace deploymentmanager_v2 { * The name of the deployment for this request. */ deployment?: string; + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * If set to true, updates the deployment and creates and updates the "shell" resources but does not actually alter or instantiate these resources. This allows you to preview what your deployment will look like. You can use this intent to preview how an update would affect your deployment. You must provide a `target.config` with a configuration if this is set to true. After previewing a deployment, you can deploy your resources by making a request with the `update()` or you can `cancelPreview()` to remove the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it. */ @@ -1932,6 +2075,10 @@ export namespace deploymentmanager_v2 { } export interface Params$Resource$Deployments$Testiampermissions extends StandardParameters { + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * Project ID for this request. */ @@ -1960,6 +2107,10 @@ export namespace deploymentmanager_v2 { * The name of the deployment for this request. */ deployment?: string; + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * If set to true, updates the deployment and creates and updates the "shell" resources but does not actually alter or instantiate these resources. This allows you to preview what your deployment will look like. You can use this intent to preview how an update would affect your deployment. You must provide a `target.config` with a configuration if this is set to true. After previewing a deployment, you can deploy your resources by making a request with the `update()` or you can `cancelPreview()` to remove the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it. */ @@ -2168,6 +2319,10 @@ export namespace deploymentmanager_v2 { * The name of the deployment for this request. */ deployment?: string; + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The name of the manifest for this request. */ @@ -2393,6 +2548,10 @@ export namespace deploymentmanager_v2 { } export interface Params$Resource$Operations$Get extends StandardParameters { + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The name of the operation for this request. */ @@ -2618,6 +2777,10 @@ export namespace deploymentmanager_v2 { * The name of the deployment for this request. */ deployment?: string; + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ diff --git a/src/apis/deploymentmanager/v2beta.ts b/src/apis/deploymentmanager/v2beta.ts index 617d35d506..81762597fa 100644 --- a/src/apis/deploymentmanager/v2beta.ts +++ b/src/apis/deploymentmanager/v2beta.ts @@ -339,6 +339,19 @@ export namespace deploymentmanager_v2beta { */ useProjectDefault?: boolean | null; } + /** + * Describes additional debugging info. + */ + export interface Schema$DebugInfo { + /** + * Additional debugging information provided by the server. + */ + detail?: string | null; + /** + * The stack trace entries indicating where the error occurred. + */ + stackEntries?: string[] | null; + } export interface Schema$Deployment { /** * An optional user-provided description of the deployment. @@ -461,6 +474,23 @@ export namespace deploymentmanager_v2beta { */ level?: string | null; } + /** + * Describes the cause of the error with structured details. Example of an error when contacting the "pubsub.googleapis.com" API when it is not enabled: { "reason": "API_DISABLED" "domain": "googleapis.com" "metadata": { "resource": "projects/123", "service": "pubsub.googleapis.com" \} \} This response indicates that the pubsub.googleapis.com API is not enabled. Example of an error that is returned when attempting to create a Spanner instance in a region that is out of stock: { "reason": "STOCKOUT" "domain": "spanner.googleapis.com", "metadata": { "availableRegions": "us-central1,us-east2" \} \} + */ + export interface Schema$ErrorInfo { + /** + * The logical grouping to which the "reason" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: "pubsub.googleapis.com". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is "googleapis.com". + */ + domain?: string | null; + /** + * Additional structured details about this error. Keys must match a regular expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{"instanceLimit": "100/request"\}`, should be returned as, `{"instanceLimitPerRequest": "100"\}`, if the client exceeds the number of instances that can be created in a single (batch) request. + */ + metadatas?: {[key: string]: string} | null; + /** + * The reason of the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE. + */ + reason?: string | null; + } /** * Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. */ @@ -495,6 +525,29 @@ export namespace deploymentmanager_v2beta { * REQUIRED: The complete policy to be applied to the 'resource'. The size of the policy is limited to a few 10s of KB. An empty policy is in general a valid policy but certain services (like Projects) might reject them. */ policy?: Schema$Policy; + updateMask?: string | null; + } + /** + * Provides links to documentation or for performing an out of band action. For example, if a quota check failed with an error indicating the calling project hasn't enabled the accessed service, this can contain a URL pointing directly to the right place in the developer console to flip the bit. + */ + export interface Schema$Help { + /** + * URL(s) pointing to additional information on handling the current error. + */ + links?: Schema$HelpLink[]; + } + /** + * Describes a URL link. + */ + export interface Schema$HelpLink { + /** + * Describes what the link offers. + */ + description?: string | null; + /** + * The URL of the link. + */ + url?: string | null; } export interface Schema$ImportFile { /** @@ -535,6 +588,19 @@ export namespace deploymentmanager_v2beta { [key: string]: Schema$BulkInsertOperationStatus; } | null; } + /** + * Provides a localized error message that is safe to return to the user which can be attached to an RPC error. + */ + export interface Schema$LocalizedMessage { + /** + * The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX" + */ + locale?: string | null; + /** + * The localized error message in the above locale. + */ + message?: string | null; + } export interface Schema$Manifest { /** * Output only. The YAML configuration for this manifest. @@ -611,7 +677,19 @@ export namespace deploymentmanager_v2beta { * [Output Only] If errors are generated during processing of the operation, this field will be populated. */ error?: { - errors?: Array<{code?: string; location?: string; message?: string}>; + errors?: Array<{ + arguments?: string[]; + code?: string; + debugInfo?: Schema$DebugInfo; + errorDetails?: Array<{ + errorInfo?: Schema$ErrorInfo; + help?: Schema$Help; + localizedMessage?: Schema$LocalizedMessage; + quotaInfo?: Schema$QuotaExceededInfo; + }>; + location?: string; + message?: string; + }>; } | null; /** * [Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as `NOT FOUND`. @@ -658,6 +736,10 @@ export namespace deploymentmanager_v2beta { * [Output Only] Server-defined URL for the resource. */ selfLink?: string | null; + /** + * [Output Only] Server-defined URL for this resource with the resource id. + */ + selfLinkWithId?: string | null; /** * [Output Only] If the operation is for projects.setCommonInstanceMetadata, this field will contain information on all underlying zonal actions and their state. */ @@ -679,7 +761,7 @@ export namespace deploymentmanager_v2beta { */ targetId?: string | null; /** - * [Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the persistent disk that the snapshot was created from. + * [Output Only] The URL of the resource that the operation modifies. For operations related to creating a snapshot, this points to the disk that the snapshot was created from. */ targetLink?: string | null; /** @@ -776,6 +858,35 @@ export namespace deploymentmanager_v2beta { */ targetLink?: string | null; } + /** + * Additional details for quota exceeded error for resource quota. + */ + export interface Schema$QuotaExceededInfo { + /** + * The map holding related quota dimensions. + */ + dimensions?: {[key: string]: string} | null; + /** + * Future quota limit being rolled out. The limit's unit depends on the quota type or metric. + */ + futureLimit?: number | null; + /** + * Current effective quota limit. The limit's unit depends on the quota type or metric. + */ + limit?: number | null; + /** + * The name of the quota limit. + */ + limitName?: string | null; + /** + * The Compute Engine quota metric name. + */ + metricName?: string | null; + /** + * Rollout status of the future quota limit. + */ + rolloutStatus?: string | null; + } export interface Schema$Resource { /** * The Access Control Policy set on this resource. @@ -858,7 +969,19 @@ export namespace deploymentmanager_v2beta { * Output only. If errors are generated during update of the resource, this field will be populated. */ error?: { - errors?: Array<{code?: string; location?: string; message?: string}>; + errors?: Array<{ + arguments?: string[]; + code?: string; + debugInfo?: Schema$DebugInfo; + errorDetails?: Array<{ + errorInfo?: Schema$ErrorInfo; + help?: Schema$Help; + localizedMessage?: Schema$LocalizedMessage; + quotaInfo?: Schema$QuotaExceededInfo; + }>; + location?: string; + message?: string; + }>; } | null; /** * Output only. The expanded properties of the resource with reference values expanded. Returned as serialized YAML. @@ -1746,6 +1869,10 @@ export namespace deploymentmanager_v2beta { * The name of the type for this request. */ compositeType?: string; + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ @@ -1757,6 +1884,10 @@ export namespace deploymentmanager_v2beta { * The name of the composite type for this request. */ compositeType?: string; + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ @@ -1764,6 +1895,10 @@ export namespace deploymentmanager_v2beta { } export interface Params$Resource$Compositetypes$Insert extends StandardParameters { + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ @@ -1803,6 +1938,10 @@ export namespace deploymentmanager_v2beta { * The name of the composite type for this request. */ compositeType?: string; + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ @@ -1819,6 +1958,10 @@ export namespace deploymentmanager_v2beta { * The name of the composite type for this request. */ compositeType?: string; + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ @@ -2851,6 +2994,10 @@ export namespace deploymentmanager_v2beta { * The name of the deployment for this request. */ deployment?: string; + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ @@ -2861,6 +3008,10 @@ export namespace deploymentmanager_v2beta { * The name of the deployment for this request. */ deployment?: string; + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ @@ -2868,6 +3019,10 @@ export namespace deploymentmanager_v2beta { } export interface Params$Resource$Deployments$Getiampolicy extends StandardParameters { + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * Requested IAM Policy version. */ @@ -2887,6 +3042,10 @@ export namespace deploymentmanager_v2beta { * Sets the policy to use for creating new resources. */ createPolicy?: string; + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * If set to true, creates a deployment and creates "shell" resources but does not actually instantiate these resources. This allows you to preview what your deployment looks like. After previewing a deployment, you can deploy your resources by making a request with the `update()` method or you can use the `cancelPreview()` method to cancel the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it. */ @@ -2937,6 +3096,10 @@ export namespace deploymentmanager_v2beta { * The name of the deployment for this request. */ deployment?: string; + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * If set to true, updates the deployment and creates and updates the "shell" resources but does not actually alter or instantiate these resources. This allows you to preview what your deployment will look like. You can use this intent to preview how an update would affect your deployment. You must provide a `target.config` with a configuration if this is set to true. After previewing a deployment, you can deploy your resources by making a request with the `update()` or you can `cancelPreview()` to remove the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it. */ @@ -2984,6 +3147,10 @@ export namespace deploymentmanager_v2beta { } export interface Params$Resource$Deployments$Testiampermissions extends StandardParameters { + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * Project ID for this request. */ @@ -3012,6 +3179,10 @@ export namespace deploymentmanager_v2beta { * The name of the deployment for this request. */ deployment?: string; + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * If set to true, updates the deployment and creates and updates the "shell" resources but does not actually alter or instantiate these resources. This allows you to preview what your deployment will look like. You can use this intent to preview how an update would affect your deployment. You must provide a `target.config` with a configuration if this is set to true. After previewing a deployment, you can deploy your resources by making a request with the `update()` or you can `cancelPreview()` to remove the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it. */ @@ -3220,6 +3391,10 @@ export namespace deploymentmanager_v2beta { * The name of the deployment for this request. */ deployment?: string; + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The name of the manifest for this request. */ @@ -3445,6 +3620,10 @@ export namespace deploymentmanager_v2beta { } export interface Params$Resource$Operations$Get extends StandardParameters { + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The name of the operation for this request. */ @@ -3670,6 +3849,10 @@ export namespace deploymentmanager_v2beta { * The name of the deployment for this request. */ deployment?: string; + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ @@ -4443,6 +4626,10 @@ export namespace deploymentmanager_v2beta { export interface Params$Resource$Typeproviders$Delete extends StandardParameters { + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ @@ -4454,6 +4641,10 @@ export namespace deploymentmanager_v2beta { } export interface Params$Resource$Typeproviders$Get extends StandardParameters { + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ @@ -4465,6 +4656,10 @@ export namespace deploymentmanager_v2beta { } export interface Params$Resource$Typeproviders$Gettype extends StandardParameters { + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ @@ -4480,6 +4675,10 @@ export namespace deploymentmanager_v2beta { } export interface Params$Resource$Typeproviders$Insert extends StandardParameters { + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ @@ -4542,6 +4741,10 @@ export namespace deploymentmanager_v2beta { } export interface Params$Resource$Typeproviders$Patch extends StandardParameters { + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ @@ -4558,6 +4761,10 @@ export namespace deploymentmanager_v2beta { } export interface Params$Resource$Typeproviders$Update extends StandardParameters { + /** + * + */ + 'header.bypassBillingFilter'?: boolean; /** * The project ID for this request. */ diff --git a/src/apis/developerconnect/v1.ts b/src/apis/developerconnect/v1.ts index 04ac87eac6..224b44f7b0 100644 --- a/src/apis/developerconnect/v1.ts +++ b/src/apis/developerconnect/v1.ts @@ -189,7 +189,7 @@ export namespace developerconnect_v1 { */ reconciling?: boolean | null; /** - * Output only. A system-assigned unique identifier for a the GitRepositoryLink. + * Output only. A system-assigned unique identifier for the Connection. */ uid?: string | null; /** @@ -440,7 +440,7 @@ export namespace developerconnect_v1 { */ reconciling?: boolean | null; /** - * Output only. A system-assigned unique identifier for a the GitRepositoryLink. + * Output only. A system-assigned unique identifier for the GitRepositoryLink. */ uid?: string | null; /** @@ -452,6 +452,23 @@ export namespace developerconnect_v1 { */ webhookId?: string | null; } + /** + * Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; \} service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); \} Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); \} Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged. + */ + export interface Schema$HttpBody { + /** + * The HTTP Content-Type header value specifying the content type of the body. + */ + contentType?: string | null; + /** + * The HTTP request/response body as raw binary. + */ + data?: string | null; + /** + * Application specific response metadata. Must be set in the first response for streaming APIs. + */ + extensions?: Array<{[key: string]: any}> | null; + } /** * Represents an installation of the GitHub App. */ @@ -635,7 +652,7 @@ export namespace developerconnect_v1 { */ endTime?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -651,6 +668,33 @@ export namespace developerconnect_v1 { */ verb?: string | null; } + /** + * RPC request object accepted by the ProcessGitHubEnterpriseWebhook RPC method. + */ + export interface Schema$ProcessGitHubEnterpriseWebhookRequest { + /** + * Required. HTTP request body. + */ + body?: Schema$HttpBody; + } + /** + * RPC request object accepted by the ProcessGitLabEnterpriseWebhook RPC method. + */ + export interface Schema$ProcessGitLabEnterpriseWebhookRequest { + /** + * Required. HTTP request body. + */ + body?: Schema$HttpBody; + } + /** + * RPC request object accepted by the ProcessGitLabWebhook RPC method. + */ + export interface Schema$ProcessGitLabWebhookRequest { + /** + * Required. HTTP request body. + */ + body?: Schema$HttpBody; + } /** * ServiceDirectoryConfig represents Service Directory configuration for a connection. */ @@ -1569,6 +1613,98 @@ export namespace developerconnect_v1 { return createAPIRequest(parameters); } } + + /** + * ProcessGitHubEnterpriseWebhook is called by the external GitHub Enterprise instances for notifying events. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + processGitHubEnterpriseWebhook( + params: Params$Resource$Projects$Locations$Connections$Processgithubenterprisewebhook, + options: StreamMethodOptions + ): GaxiosPromise; + processGitHubEnterpriseWebhook( + params?: Params$Resource$Projects$Locations$Connections$Processgithubenterprisewebhook, + options?: MethodOptions + ): GaxiosPromise; + processGitHubEnterpriseWebhook( + params: Params$Resource$Projects$Locations$Connections$Processgithubenterprisewebhook, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + processGitHubEnterpriseWebhook( + params: Params$Resource$Projects$Locations$Connections$Processgithubenterprisewebhook, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + processGitHubEnterpriseWebhook( + params: Params$Resource$Projects$Locations$Connections$Processgithubenterprisewebhook, + callback: BodyResponseCallback + ): void; + processGitHubEnterpriseWebhook( + callback: BodyResponseCallback + ): void; + processGitHubEnterpriseWebhook( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Connections$Processgithubenterprisewebhook + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Connections$Processgithubenterprisewebhook; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Connections$Processgithubenterprisewebhook; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://developerconnect.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/v1/{+parent}/connections:processGitHubEnterpriseWebhook' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } export interface Params$Resource$Projects$Locations$Connections$Create @@ -1681,7 +1817,7 @@ export namespace developerconnect_v1 { */ requestId?: string; /** - * Optional. Required. Field mask is used to specify the fields to be overwritten in the Connection resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + * Required. Field mask is used to specify the fields to be overwritten in the Connection resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. */ updateMask?: string; /** @@ -1694,6 +1830,18 @@ export namespace developerconnect_v1 { */ requestBody?: Schema$Connection; } + export interface Params$Resource$Projects$Locations$Connections$Processgithubenterprisewebhook + extends StandardParameters { + /** + * Required. Project and location where the webhook will be received. Format: `projects/x/locations/x`. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ProcessGitHubEnterpriseWebhookRequest; + } export class Resource$Projects$Locations$Connections$Gitrepositorylinks { context: APIRequestContext; @@ -2356,6 +2504,187 @@ export namespace developerconnect_v1 { ); } } + + /** + * ProcessGitLabEnterpriseWebhook is called by the external GitLab Enterprise instances for notifying events. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + processGitLabEnterpriseWebhook( + params: Params$Resource$Projects$Locations$Connections$Gitrepositorylinks$Processgitlabenterprisewebhook, + options: StreamMethodOptions + ): GaxiosPromise; + processGitLabEnterpriseWebhook( + params?: Params$Resource$Projects$Locations$Connections$Gitrepositorylinks$Processgitlabenterprisewebhook, + options?: MethodOptions + ): GaxiosPromise; + processGitLabEnterpriseWebhook( + params: Params$Resource$Projects$Locations$Connections$Gitrepositorylinks$Processgitlabenterprisewebhook, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + processGitLabEnterpriseWebhook( + params: Params$Resource$Projects$Locations$Connections$Gitrepositorylinks$Processgitlabenterprisewebhook, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + processGitLabEnterpriseWebhook( + params: Params$Resource$Projects$Locations$Connections$Gitrepositorylinks$Processgitlabenterprisewebhook, + callback: BodyResponseCallback + ): void; + processGitLabEnterpriseWebhook( + callback: BodyResponseCallback + ): void; + processGitLabEnterpriseWebhook( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Connections$Gitrepositorylinks$Processgitlabenterprisewebhook + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Connections$Gitrepositorylinks$Processgitlabenterprisewebhook; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Connections$Gitrepositorylinks$Processgitlabenterprisewebhook; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://developerconnect.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1/{+name}:processGitLabEnterpriseWebhook' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * ProcessGitLabWebhook is called by the GitLab.com for notifying events. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + processGitLabWebhook( + params: Params$Resource$Projects$Locations$Connections$Gitrepositorylinks$Processgitlabwebhook, + options: StreamMethodOptions + ): GaxiosPromise; + processGitLabWebhook( + params?: Params$Resource$Projects$Locations$Connections$Gitrepositorylinks$Processgitlabwebhook, + options?: MethodOptions + ): GaxiosPromise; + processGitLabWebhook( + params: Params$Resource$Projects$Locations$Connections$Gitrepositorylinks$Processgitlabwebhook, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + processGitLabWebhook( + params: Params$Resource$Projects$Locations$Connections$Gitrepositorylinks$Processgitlabwebhook, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + processGitLabWebhook( + params: Params$Resource$Projects$Locations$Connections$Gitrepositorylinks$Processgitlabwebhook, + callback: BodyResponseCallback + ): void; + processGitLabWebhook(callback: BodyResponseCallback): void; + processGitLabWebhook( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Connections$Gitrepositorylinks$Processgitlabwebhook + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Connections$Gitrepositorylinks$Processgitlabwebhook; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Connections$Gitrepositorylinks$Processgitlabwebhook; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://developerconnect.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:processGitLabWebhook').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } } export interface Params$Resource$Projects$Locations$Connections$Gitrepositorylinks$Create @@ -2474,6 +2803,30 @@ export namespace developerconnect_v1 { */ parent?: string; } + export interface Params$Resource$Projects$Locations$Connections$Gitrepositorylinks$Processgitlabenterprisewebhook + extends StandardParameters { + /** + * Required. The GitRepositoryLink resource where the webhook will be received. Format: `projects/x/locations/x/connections/x/gitRepositoryLinks/x`. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ProcessGitLabEnterpriseWebhookRequest; + } + export interface Params$Resource$Projects$Locations$Connections$Gitrepositorylinks$Processgitlabwebhook + extends StandardParameters { + /** + * Required. The GitRepositoryLink resource where the webhook will be received. Format: `projects/x/locations/x/connections/x/gitRepositoryLinks/x`. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ProcessGitLabWebhookRequest; + } export class Resource$Projects$Locations$Operations { context: APIRequestContext; @@ -2482,7 +2835,7 @@ export namespace developerconnect_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/dialogflow/v2.ts b/src/apis/dialogflow/v2.ts index 03f5f1d73c..a6eb932efb 100644 --- a/src/apis/dialogflow/v2.ts +++ b/src/apis/dialogflow/v2.ts @@ -222,7 +222,7 @@ export namespace dialogflow_v2 { config?: Schema$GoogleCloudDialogflowCxV3InputAudioConfig; } /** - * Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up. + * Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up. */ export interface Schema$GoogleCloudDialogflowCxV3BargeInConfig { /** @@ -350,7 +350,7 @@ export namespace dialogflow_v2 { config?: Schema$GoogleCloudDialogflowCxV3beta1InputAudioConfig; } /** - * Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up. + * Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up. */ export interface Schema$GoogleCloudDialogflowCxV3beta1BargeInConfig { /** @@ -3787,7 +3787,7 @@ export namespace dialogflow_v2 { */ export interface Schema$GoogleCloudDialogflowV2AnalyzeContentResponse { /** - * Only set if a Dialogflow automated agent has responded. Note that: AutomatedAgentReply.detect_intent_response.output_audio and AutomatedAgentReply.detect_intent_response.output_audio_config are always empty, use reply_audio instead. + * Only set if a Dialogflow automated agent has responded. Note that in AutomatedAgentReply.DetectIntentResponse, Sessions.DetectIntentResponse.output_audio and Sessions.DetectIntentResponse.output_audio_config are always empty, use reply_audio instead. */ automatedAgentReply?: Schema$GoogleCloudDialogflowV2AutomatedAgentReply; /** @@ -3862,7 +3862,7 @@ export namespace dialogflow_v2 { displayTime?: string | null; } /** - * Answer records are records to manage answer history and feedbacks for Dialogflow. Currently, answer record includes: - human agent assistant article suggestion - human agent assistant faq article It doesn't include: - `DetectIntent` intent matching - `DetectIntent` knowledge Answer records are not related to the conversation history in the Dialogflow Console. A Record is generated even when the end-user disables conversation history in the console. Records are created when there's a human agent assistant suggestion generated. A typical workflow for customers provide feedback to an answer is: 1. For human agent assistant, customers get suggestion via ListSuggestions API. Together with the answers, AnswerRecord.name are returned to the customers. 2. The customer uses the AnswerRecord.name to call the UpdateAnswerRecord method to send feedback about a specific answer that they believe is wrong. + * Answer records are records to manage answer history and feedbacks for Dialogflow. Currently, answer record includes: - human agent assistant article suggestion - human agent assistant faq article It doesn't include: - `DetectIntent` intent matching - `DetectIntent` knowledge Answer records are not related to the conversation history in the Dialogflow Console. A Record is generated even when the end-user disables conversation history in the console. Records are created when there's a human agent assistant suggestion generated. A typical workflow for customers provide feedback to an answer is: 1. For human agent assistant, customers get suggestion via ListSuggestions API. Together with the answers, AnswerRecord.name are returned to the customers. 2. The customer uses the AnswerRecord.name to call the AnswerRecords.UpdateAnswerRecord method to send feedback about a specific answer that they believe is wrong. */ export interface Schema$GoogleCloudDialogflowV2AnswerRecord { /** @@ -4195,6 +4195,10 @@ export namespace dialogflow_v2 { * Payload of NEW_MESSAGE event. */ newMessagePayload?: Schema$GoogleCloudDialogflowV2beta1Message; + /** + * Payload of NEW_RECOGNITION_RESULT event. + */ + newRecognitionResultPayload?: Schema$GoogleCloudDialogflowV2beta1StreamingRecognitionResult; /** * Required. The type of the event that this notification refers to. */ @@ -5362,6 +5366,10 @@ export namespace dialogflow_v2 { * Snippet Source for a Generative Prediction. */ export interface Schema$GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet { + /** + * Metadata of the document. + */ + metadata?: {[key: string]: any} | null; /** * Text taken from that URI. */ @@ -5716,6 +5724,68 @@ export namespace dialogflow_v2 { */ reply?: string | null; } + /** + * Information for a word recognized by the speech recognizer. + */ + export interface Schema$GoogleCloudDialogflowV2beta1SpeechWordInfo { + /** + * The Speech confidence between 0.0 and 1.0 for this word. A higher number indicates an estimated greater likelihood that the recognized word is correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is not guaranteed to be fully stable over time for the same audio input. Users should also not rely on it to always be provided. + */ + confidence?: number | null; + /** + * Time offset relative to the beginning of the audio that corresponds to the end of the spoken word. This is an experimental feature and the accuracy of the time offset can vary. + */ + endOffset?: string | null; + /** + * Time offset relative to the beginning of the audio that corresponds to the start of the spoken word. This is an experimental feature and the accuracy of the time offset can vary. + */ + startOffset?: string | null; + /** + * The word this info is for. + */ + word?: string | null; + } + /** + * Contains a speech recognition result corresponding to a portion of the audio that is currently being processed or an indication that this is the end of the single requested utterance. While end-user audio is being processed, Dialogflow sends a series of results. Each result may contain a `transcript` value. A transcript represents a portion of the utterance. While the recognizer is processing audio, transcript values may be interim values or finalized values. Once a transcript is finalized, the `is_final` value is set to true and processing continues for the next transcript. If `StreamingDetectIntentRequest.query_input.audio_config.single_utterance` was true, and the recognizer has completed processing audio, the `message_type` value is set to `END_OF_SINGLE_UTTERANCE and the following (last) result contains the last finalized transcript. The complete end-user utterance is determined by concatenating the finalized transcript values received for the series of results. In the following example, single utterance is enabled. In the case where single utterance is not enabled, result 7 would not occur. ``` Num | transcript | message_type | is_final --- | ----------------------- | ----------------------- | -------- 1 | "tube" | TRANSCRIPT | false 2 | "to be a" | TRANSCRIPT | false 3 | "to be" | TRANSCRIPT | false 4 | "to be or not to be" | TRANSCRIPT | true 5 | "that's" | TRANSCRIPT | false 6 | "that is | TRANSCRIPT | false 7 | unset | END_OF_SINGLE_UTTERANCE | unset 8 | " that is the question" | TRANSCRIPT | true ``` Concatenating the finalized transcripts with `is_final` set to true, the complete utterance becomes "to be or not to be that is the question". + */ + export interface Schema$GoogleCloudDialogflowV2beta1StreamingRecognitionResult { + /** + * The Speech confidence between 0.0 and 1.0 for the current portion of audio. A higher number indicates an estimated greater likelihood that the recognized words are correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is typically only provided if `is_final` is true and you should not rely on it being accurate or even set. + */ + confidence?: number | null; + /** + * DTMF digits. Populated if and only if `message_type` = `DTMF_DIGITS`. + */ + dtmfDigits?: Schema$GoogleCloudDialogflowV2beta1TelephonyDtmfEvents; + /** + * If `false`, the `StreamingRecognitionResult` represents an interim result that may change. If `true`, the recognizer will not return any further hypotheses about this piece of the audio. May only be populated for `message_type` = `TRANSCRIPT`. + */ + isFinal?: boolean | null; + /** + * Detected language code for the transcript. + */ + languageCode?: string | null; + /** + * Type of the result message. + */ + messageType?: string | null; + /** + * Time offset of the end of this Speech recognition result relative to the beginning of the audio. Only populated for `message_type` = `TRANSCRIPT`. + */ + speechEndOffset?: string | null; + /** + * Word-specific information for the words recognized by Speech in transcript. Populated if and only if `message_type` = `TRANSCRIPT` and [InputAudioConfig.enable_word_info] is set. + */ + speechWordInfo?: Schema$GoogleCloudDialogflowV2beta1SpeechWordInfo[]; + /** + * An estimate of the likelihood that the speech recognizer will not change its guess about this interim recognition result: * If the value is unspecified or 0.0, Dialogflow didn't compute the stability. In particular, Dialogflow will only provide stability for `TRANSCRIPT` results with `is_final = false`. * Otherwise, the value is in (0.0, 1.0] where 0.0 means completely unstable and 1.0 means completely stable. + */ + stability?: number | null; + /** + * Transcript text representing the words that the user spoke. Populated if and only if `message_type` = `TRANSCRIPT`. + */ + transcript?: string | null; + } /** * The response message for Participants.SuggestArticles. */ @@ -5834,6 +5904,15 @@ export namespace dialogflow_v2 { */ smartReplyAnswers?: Schema$GoogleCloudDialogflowV2beta1SmartReplyAnswer[]; } + /** + * A wrapper of repeated TelephonyDtmf digits. + */ + export interface Schema$GoogleCloudDialogflowV2beta1TelephonyDtmfEvents { + /** + * A sequence of TelephonyDtmf digits. + */ + dtmfEvents?: string[] | null; + } /** * The request message for a webhook call. */ @@ -5901,7 +5980,7 @@ export namespace dialogflow_v2 { source?: string | null; } /** - * Metadata for a ConversationProfile.ClearSuggestionFeatureConfig operation. + * Metadata for a ConversationProfiles.ClearSuggestionFeatureConfig operation. */ export interface Schema$GoogleCloudDialogflowV2ClearSuggestionFeatureConfigOperationMetadata { /** @@ -5922,7 +6001,7 @@ export namespace dialogflow_v2 { suggestionFeatureType?: string | null; } /** - * The request message for ConversationProfiles.ClearFeature. + * The request message for ConversationProfiles.ClearSuggestionFeatureConfig. */ export interface Schema$GoogleCloudDialogflowV2ClearSuggestionFeatureConfigRequest { /** @@ -6054,6 +6133,10 @@ export namespace dialogflow_v2 { * Payload of NEW_MESSAGE event. */ newMessagePayload?: Schema$GoogleCloudDialogflowV2Message; + /** + * Payload of NEW_RECOGNITION_RESULT event. + */ + newRecognitionResultPayload?: Schema$GoogleCloudDialogflowV2StreamingRecognitionResult; /** * The type of the event that this notification refers to. */ @@ -6191,6 +6274,10 @@ export namespace dialogflow_v2 { * Configuration for publishing new message events. Event will be sent in format of ConversationEvent */ newMessageEventNotificationConfig?: Schema$GoogleCloudDialogflowV2NotificationConfig; + /** + * Optional. Configuration for publishing transcription intermediate results. Event will be sent in format of ConversationEvent. If configured, the following information will be populated as ConversationEvent Pub/Sub message attributes: - "participant_id" - "participant_role" - "message_id" + */ + newRecognitionResultNotificationConfig?: Schema$GoogleCloudDialogflowV2NotificationConfig; /** * Configuration for publishing conversation lifecycle events. */ @@ -6217,7 +6304,7 @@ export namespace dialogflow_v2 { updateTime?: string | null; } /** - * Metadata for ConversationDatasets. + * Metadata for CreateConversationDataset. */ export interface Schema$GoogleCloudDialogflowV2CreateConversationDatasetOperationMetadata { /** @@ -6273,7 +6360,7 @@ export namespace dialogflow_v2 { state?: string | null; } /** - * Metadata for ConversationDatasets. + * Metadata for DeleteConversationDataset. */ export interface Schema$GoogleCloudDialogflowV2DeleteConversationDatasetOperationMetadata {} /** @@ -6709,7 +6796,7 @@ export namespace dialogflow_v2 { source?: string | null; } /** - * Providing examples in the generator (i.e. building a few-shot generator) helps convey the desired format of the LLM response. NEXT_ID: 10 + * Providing examples in the generator (i.e. building a few-shot generator) helps convey the desired format of the LLM response. */ export interface Schema$GoogleCloudDialogflowV2FewShotExample { /** @@ -6871,7 +6958,7 @@ export namespace dialogflow_v2 { */ export interface Schema$GoogleCloudDialogflowV2GenerateStatelessSummaryResponse { /** - * Number of messages prior to and including last_conversation_message used to compile the suggestion. It may be smaller than the GenerateStatelessSummaryRequest.context_size field in the request if there weren't that many messages in the conversation. + * Number of messages prior to and including latest_message used to compile the suggestion. It may be smaller than the GenerateStatelessSummaryRequest.max_context_size field in the request if there weren't that many messages in the conversation. */ contextSize?: number | null; /** @@ -7076,6 +7163,10 @@ export namespace dialogflow_v2 { * Determines how recent conversation context is filtered when generating suggestions. If unspecified, no messages will be dropped. */ contextFilterSettings?: Schema$GoogleCloudDialogflowV2HumanAgentAssistantConfigSuggestionQueryConfigContextFilterSettings; + /** + * Optional. The number of recent messages to include in the context. Supported features: KNOWLEDGE_ASSIST. + */ + contextSize?: number | null; /** * Query from Dialogflow agent. It is used by DIALOGFLOW_ASSIST. */ @@ -7410,6 +7501,10 @@ export namespace dialogflow_v2 { * A list of strings containing words and phrases that the speech recognizer should recognize with higher likelihood. See [the Cloud Speech documentation](https://cloud.google.com/speech-to-text/docs/basics#phrase-hints) for more details. This field is deprecated. Please use [`speech_contexts`]() instead. If you specify both [`phrase_hints`]() and [`speech_contexts`](), Dialogflow will treat the [`phrase_hints`]() as a single additional [`SpeechContext`](). */ phraseHints?: string[] | null; + /** + * A collection of phrase set resources to use for speech adaptation. + */ + phraseSets?: string[] | null; /** * Required. Sample rate (in Hertz) of the audio content sent in the query. Refer to [Cloud Speech API documentation](https://cloud.google.com/speech-to-text/docs/basics) for more details. */ @@ -8172,6 +8267,10 @@ export namespace dialogflow_v2 { * Snippet Source for a Generative Prediction. */ export interface Schema$GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet { + /** + * Metadata of the document. + */ + metadata?: {[key: string]: any} | null; /** * Text taken from that URI. */ @@ -8813,6 +8912,10 @@ export namespace dialogflow_v2 { * The sources of the answers. */ export interface Schema$GoogleCloudDialogflowV2SearchKnowledgeAnswerAnswerSource { + /** + * Metadata associated with the article. + */ + metadata?: {[key: string]: any} | null; /** * The relevant snippet of the article. */ @@ -8838,6 +8941,14 @@ export namespace dialogflow_v2 { * Required. The conversation profile used to configure the search. Format: `projects//locations//conversationProfiles/`. */ conversationProfile?: string | null; + /** + * Optional. Information about the end-user to improve the relevance and accuracy of generative answers. This will be interpreted and used by a language model, so, for good results, the data should be self-descriptive, and in a simple structure. Example: ```json { "subscription plan": "Business Premium Plus", "devices owned": [ {"model": "Google Pixel 7"\}, {"model": "Google Pixel Tablet"\} ] \} ``` + */ + endUserMetadata?: {[key: string]: any} | null; + /** + * Optional. Whether to search the query exactly without query rewrite. + */ + exactSearch?: boolean | null; /** * Optional. The name of the latest conversation message when the request is triggered. Format: `projects//locations//conversations//messages/`. */ @@ -8850,11 +8961,118 @@ export namespace dialogflow_v2 { * Required. The natural language text query for knowledge search. */ query?: Schema$GoogleCloudDialogflowV2TextInput; + /** + * Optional. The source of the query in the request. + */ + querySource?: string | null; + /** + * Optional. Configuration specific to search queries with data stores. + */ + searchConfig?: Schema$GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfig; /** * Required. The ID of the search session. The session_id can be combined with Dialogflow V3 Agent ID retrieved from conversation profile or on its own to identify a search session. The search history of the same session will impact the search result. It's up to the API caller to choose an appropriate `Session ID`. It can be a random number or some type of session identifiers (preferably hashed). The length must not exceed 36 characters. */ sessionId?: string | null; } + /** + * Configuration specific to search queries with data stores. + */ + export interface Schema$GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfig { + /** + * Optional. Boost specifications for data stores. + */ + boostSpecs?: Schema$GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecs[]; + /** + * Optional. Filter specification for data store queries. + */ + filterSpecs?: Schema$GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigFilterSpecs[]; + } + /** + * Boost specifications for data stores. + */ + export interface Schema$GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecs { + /** + * Optional. Data Stores where the boosting configuration is applied. The full names of the referenced data stores. Formats: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}` `projects/{project\}/locations/{location\}/dataStores/{data_store\}` + */ + dataStores?: string[] | null; + /** + * Optional. A list of boosting specifications. + */ + spec?: Schema$GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec[]; + } + /** + * Boost specification to boost certain documents. A copy of google.cloud.discoveryengine.v1main.BoostSpec, field documentation is available at https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1alpha/BoostSpec + */ + export interface Schema$GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec { + /** + * Optional. Condition boost specifications. If a document matches multiple conditions in the specifictions, boost scores from these specifications are all applied and combined in a non-linear way. Maximum number of specifications is 20. + */ + conditionBoostSpecs?: Schema$GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpec[]; + } + /** + * Boost applies to documents which match a condition. + */ + export interface Schema$GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpec { + /** + * Optional. Strength of the condition boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0. Setting to 1.0 gives the document a big promotion. However, it does not necessarily mean that the boosted document will be the top result at all times, nor that other documents will be excluded. Results could still be shown even when none of them matches the condition. And results that are significantly more relevant to the search query can still trump your heavily favored but irrelevant documents. Setting to -1.0 gives the document a big demotion. However, results that are deeply relevant might still be shown. The document will have an upstream battle to get a fairly high ranking, but it is not blocked out completely. Setting to 0.0 means no boost applied. The boosting condition is ignored. + */ + boost?: number | null; + /** + * Optional. Complex specification for custom ranking based on customer defined attribute value. + */ + boostControlSpec?: Schema$GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpec; + /** + * Optional. An expression which specifies a boost condition. The syntax and supported fields are the same as a filter expression. Examples: * To boost documents with document ID "doc_1" or "doc_2", and color "Red" or "Blue": * (id: ANY("doc_1", "doc_2")) AND (color: ANY("Red","Blue")) + */ + condition?: string | null; + } + /** + * Specification for custom ranking based on customer specified attribute value. It provides more controls for customized ranking than the simple (condition, boost) combination above. + */ + export interface Schema$GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpec { + /** + * Optional. The attribute type to be used to determine the boost amount. The attribute value can be derived from the field value of the specified field_name. In the case of numerical it is straightforward i.e. attribute_value = numerical_field_value. In the case of freshness however, attribute_value = (time.now() - datetime_field_value). + */ + attributeType?: string | null; + /** + * Optional. The control points used to define the curve. The monotonic function (defined through the interpolation_type above) passes through the control points listed here. + */ + controlPoints?: Schema$GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpecControlPoint[]; + /** + * Optional. The name of the field whose value will be used to determine the boost amount. + */ + fieldName?: string | null; + /** + * Optional. The interpolation type to be applied to connect the control points listed below. + */ + interpolationType?: string | null; + } + /** + * The control points used to define the curve. The curve defined through these control points can only be monotonically increasing or decreasing(constant values are acceptable). + */ + export interface Schema$GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpecControlPoint { + /** + * Optional. Can be one of: 1. The numerical field value. 2. The duration spec for freshness: The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`. + */ + attributeValue?: string | null; + /** + * Optional. The value between -1 to 1 by which to boost the score if the attribute_value evaluates to the value specified above. + */ + boostAmount?: number | null; + } + /** + * Filter specification for data store queries. + */ + export interface Schema$GoogleCloudDialogflowV2SearchKnowledgeRequestSearchConfigFilterSpecs { + /** + * Optional. The data store where the filter configuration is applied. Full resource name of data store, such as projects/{project\}/locations/{location\}/collections/{collectionId\}/ dataStores/{dataStoreId\}. + */ + dataStores?: string[] | null; + /** + * Optional. The filter expression to be applied. Expression syntax is documented at https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata#filter-expression-syntax + */ + filter?: string | null; + } /** * The response message for Conversations.SearchKnowledge. */ @@ -8891,7 +9109,7 @@ export namespace dialogflow_v2 { analyzeQueryTextSentiment?: boolean | null; } /** - * The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral. For Participants.DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For Participants.StreamingDetectIntent, it needs to be configured in StreamingDetectIntentRequest.query_params. And for Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it needs to be configured in ConversationProfile.human_agent_assistant_config + * The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral. For DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For StreamingDetectIntent, it needs to be configured in StreamingDetectIntentRequest.query_params. And for Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it needs to be configured in ConversationProfile.human_agent_assistant_config */ export interface Schema$GoogleCloudDialogflowV2SentimentAnalysisResult { /** @@ -8917,7 +9135,7 @@ export namespace dialogflow_v2 { name?: string | null; } /** - * Metadata for a ConversationProfile.SetSuggestionFeatureConfig operation. + * Metadata for a ConversationProfiles.SetSuggestionFeatureConfig operation. */ export interface Schema$GoogleCloudDialogflowV2SetSuggestionFeatureConfigOperationMetadata { /** @@ -8938,7 +9156,7 @@ export namespace dialogflow_v2 { suggestionFeatureType?: string | null; } /** - * The request message for ConversationProfiles.SetSuggestionFeature. + * The request message for ConversationProfiles.SetSuggestionFeatureConfig. */ export interface Schema$GoogleCloudDialogflowV2SetSuggestionFeatureConfigRequest { /** @@ -9039,6 +9257,10 @@ export namespace dialogflow_v2 { * Which Speech model to select. Select the model best suited to your domain to get best results. If a model is not explicitly specified, then Dialogflow auto-selects a model based on other parameters in the SpeechToTextConfig and Agent settings. If enhanced speech model is enabled for the agent and an enhanced version of the specified model for the language does not exist, then the speech is recognized using the standard version of the specified model. Refer to [Cloud Speech API documentation](https://cloud.google.com/speech-to-text/docs/basics#select-model) for more details. If you specify a model, the following models typically have the best performance: - phone_call (best for Agent Assist and telephony) - latest_short (best for Dialogflow non-telephony) - command_and_search Leave this field unspecified to use [Agent Speech settings](https://cloud.google.com/dialogflow/cx/docs/concept/agent#settings-speech) for model selection. */ model?: string | null; + /** + * List of names of Cloud Speech phrase sets that are used for transcription. + */ + phraseSets?: string[] | null; /** * Sample rate (in Hertz) of the audio content sent in the query. Refer to [Cloud Speech API documentation](https://cloud.google.com/speech-to-text/docs/basics) for more details. */ @@ -9052,6 +9274,60 @@ export namespace dialogflow_v2 { */ useTimeoutBasedEndpointing?: boolean | null; } + /** + * Information for a word recognized by the speech recognizer. + */ + export interface Schema$GoogleCloudDialogflowV2SpeechWordInfo { + /** + * The Speech confidence between 0.0 and 1.0 for this word. A higher number indicates an estimated greater likelihood that the recognized word is correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is not guaranteed to be fully stable over time for the same audio input. Users should also not rely on it to always be provided. + */ + confidence?: number | null; + /** + * Time offset relative to the beginning of the audio that corresponds to the end of the spoken word. This is an experimental feature and the accuracy of the time offset can vary. + */ + endOffset?: string | null; + /** + * Time offset relative to the beginning of the audio that corresponds to the start of the spoken word. This is an experimental feature and the accuracy of the time offset can vary. + */ + startOffset?: string | null; + /** + * The word this info is for. + */ + word?: string | null; + } + /** + * Contains a speech recognition result corresponding to a portion of the audio that is currently being processed or an indication that this is the end of the single requested utterance. While end-user audio is being processed, Dialogflow sends a series of results. Each result may contain a `transcript` value. A transcript represents a portion of the utterance. While the recognizer is processing audio, transcript values may be interim values or finalized values. Once a transcript is finalized, the `is_final` value is set to true and processing continues for the next transcript. If `StreamingDetectIntentRequest.query_input.audio_config.single_utterance` was true, and the recognizer has completed processing audio, the `message_type` value is set to `END_OF_SINGLE_UTTERANCE and the following (last) result contains the last finalized transcript. The complete end-user utterance is determined by concatenating the finalized transcript values received for the series of results. In the following example, single utterance is enabled. In the case where single utterance is not enabled, result 7 would not occur. ``` Num | transcript | message_type | is_final --- | ----------------------- | ----------------------- | -------- 1 | "tube" | TRANSCRIPT | false 2 | "to be a" | TRANSCRIPT | false 3 | "to be" | TRANSCRIPT | false 4 | "to be or not to be" | TRANSCRIPT | true 5 | "that's" | TRANSCRIPT | false 6 | "that is | TRANSCRIPT | false 7 | unset | END_OF_SINGLE_UTTERANCE | unset 8 | " that is the question" | TRANSCRIPT | true ``` Concatenating the finalized transcripts with `is_final` set to true, the complete utterance becomes "to be or not to be that is the question". + */ + export interface Schema$GoogleCloudDialogflowV2StreamingRecognitionResult { + /** + * The Speech confidence between 0.0 and 1.0 for the current portion of audio. A higher number indicates an estimated greater likelihood that the recognized words are correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is typically only provided if `is_final` is true and you should not rely on it being accurate or even set. + */ + confidence?: number | null; + /** + * If `false`, the `StreamingRecognitionResult` represents an interim result that may change. If `true`, the recognizer will not return any further hypotheses about this piece of the audio. May only be populated for `message_type` = `TRANSCRIPT`. + */ + isFinal?: boolean | null; + /** + * Detected language code for the transcript. + */ + languageCode?: string | null; + /** + * Type of the result message. + */ + messageType?: string | null; + /** + * Time offset of the end of this Speech recognition result relative to the beginning of the audio. Only populated for `message_type` = `TRANSCRIPT`. + */ + speechEndOffset?: string | null; + /** + * Word-specific information for the words recognized by Speech in transcript. Populated if and only if `message_type` = `TRANSCRIPT` and [InputAudioConfig.enable_word_info] is set. + */ + speechWordInfo?: Schema$GoogleCloudDialogflowV2SpeechWordInfo[]; + /** + * Transcript text representing the words that the user spoke. Populated if and only if `message_type` = `TRANSCRIPT`. + */ + transcript?: string | null; + } /** * The request message for Participants.SuggestArticles. */ @@ -9108,7 +9384,7 @@ export namespace dialogflow_v2 { */ export interface Schema$GoogleCloudDialogflowV2SuggestConversationSummaryResponse { /** - * Number of messages prior to and including last_conversation_message used to compile the suggestion. It may be smaller than the SuggestSummaryRequest.context_size field in the request if there weren't that many messages in the conversation. + * Number of messages prior to and including latest_message used to compile the suggestion. It may be smaller than the SuggestConversationSummaryRequest.context_size field in the request if there weren't that many messages in the conversation. */ contextSize?: number | null; /** @@ -19511,7 +19787,7 @@ export namespace dialogflow_v2 { } /** - * Creates a conversation profile in the specified project. ConversationProfile.CreateTime and ConversationProfile.UpdateTime aren't populated in the response. You can retrieve them via GetConversationProfile API. + * Creates a conversation profile in the specified project. ConversationProfile.create_time and ConversationProfile.update_time aren't populated in the response. You can retrieve them via GetConversationProfile API. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -19887,7 +20163,7 @@ export namespace dialogflow_v2 { } /** - * Updates the specified conversation profile. ConversationProfile.CreateTime and ConversationProfile.UpdateTime aren't populated in the response. You can retrieve them via GetConversationProfile API. + * Updates the specified conversation profile. ConversationProfile.create_time and ConversationProfile.update_time aren't populated in the response. You can retrieve them via GetConversationProfile API. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -20577,7 +20853,7 @@ export namespace dialogflow_v2 { export interface Params$Resource$Projects$Conversations$Create extends StandardParameters { /** - * Optional. Identifier of the conversation. Generally it's auto generated by Google. Only set it if you cannot wait for the response to return a auto-generated one to you. The conversation ID must be compliant with the regression fomula `a-zA-Z*` with the characters length in range of [3,64]. If the field is provided, the caller is resposible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness. + * Optional. Identifier of the conversation. Generally it's auto generated by Google. Only set it if you cannot wait for the response to return a auto-generated one to you. The conversation ID must be compliant with the regression formula `a-zA-Z*` with the characters length in range of [3,64]. If the field is provided, the caller is responsible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness. */ conversationId?: string; /** @@ -22173,7 +22449,7 @@ export namespace dialogflow_v2 { export interface Params$Resource$Projects$Generators$Create extends StandardParameters { /** - * Optional. The ID to use for the generator, which will become the final component of the generator's resource name. The generator ID must be compliant with the regression fomula `a-zA-Z*` with the characters length in range of [3,64]. If the field is not provided, an Id will be auto-generated. If the field is provided, the caller is resposible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness. + * Optional. The ID to use for the generator, which will become the final component of the generator's resource name. The generator ID must be compliant with the regression formula `a-zA-Z*` with the characters length in range of [3,64]. If the field is not provided, an Id will be auto-generated. If the field is provided, the caller is responsible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness. */ generatorId?: string; /** @@ -32884,7 +33160,7 @@ export namespace dialogflow_v2 { } /** - * Creates a conversation profile in the specified project. ConversationProfile.CreateTime and ConversationProfile.UpdateTime aren't populated in the response. You can retrieve them via GetConversationProfile API. + * Creates a conversation profile in the specified project. ConversationProfile.create_time and ConversationProfile.update_time aren't populated in the response. You can retrieve them via GetConversationProfile API. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -33264,7 +33540,7 @@ export namespace dialogflow_v2 { } /** - * Updates the specified conversation profile. ConversationProfile.CreateTime and ConversationProfile.UpdateTime aren't populated in the response. You can retrieve them via GetConversationProfile API. + * Updates the specified conversation profile. ConversationProfile.create_time and ConversationProfile.update_time aren't populated in the response. You can retrieve them via GetConversationProfile API. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -33956,7 +34232,7 @@ export namespace dialogflow_v2 { export interface Params$Resource$Projects$Locations$Conversations$Create extends StandardParameters { /** - * Optional. Identifier of the conversation. Generally it's auto generated by Google. Only set it if you cannot wait for the response to return a auto-generated one to you. The conversation ID must be compliant with the regression fomula `a-zA-Z*` with the characters length in range of [3,64]. If the field is provided, the caller is resposible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness. + * Optional. Identifier of the conversation. Generally it's auto generated by Google. Only set it if you cannot wait for the response to return a auto-generated one to you. The conversation ID must be compliant with the regression formula `a-zA-Z*` with the characters length in range of [3,64]. If the field is provided, the caller is responsible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness. */ conversationId?: string; /** @@ -35947,7 +36223,7 @@ export namespace dialogflow_v2 { export interface Params$Resource$Projects$Locations$Generators$Create extends StandardParameters { /** - * Optional. The ID to use for the generator, which will become the final component of the generator's resource name. The generator ID must be compliant with the regression fomula `a-zA-Z*` with the characters length in range of [3,64]. If the field is not provided, an Id will be auto-generated. If the field is provided, the caller is resposible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness. + * Optional. The ID to use for the generator, which will become the final component of the generator's resource name. The generator ID must be compliant with the regression formula `a-zA-Z*` with the characters length in range of [3,64]. If the field is not provided, an Id will be auto-generated. If the field is provided, the caller is responsible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness. */ generatorId?: string; /** @@ -35970,7 +36246,7 @@ export namespace dialogflow_v2 { export interface Params$Resource$Projects$Locations$Generators$Get extends StandardParameters { /** - * Required. The generator resource name to retrieve. Format: `projects//locations/`/generators/` + * Required. The generator resource name to retrieve. Format: `projects//locations//generators/` */ name?: string; } @@ -37422,7 +37698,7 @@ export namespace dialogflow_v2 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -38083,7 +38359,7 @@ export namespace dialogflow_v2 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/dialogflow/v2beta1.ts b/src/apis/dialogflow/v2beta1.ts index 5e2f2b9953..b43cc89144 100644 --- a/src/apis/dialogflow/v2beta1.ts +++ b/src/apis/dialogflow/v2beta1.ts @@ -222,7 +222,7 @@ export namespace dialogflow_v2beta1 { config?: Schema$GoogleCloudDialogflowCxV3InputAudioConfig; } /** - * Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up. + * Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up. */ export interface Schema$GoogleCloudDialogflowCxV3BargeInConfig { /** @@ -350,7 +350,7 @@ export namespace dialogflow_v2beta1 { config?: Schema$GoogleCloudDialogflowCxV3beta1InputAudioConfig; } /** - * Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up. + * Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up. */ export interface Schema$GoogleCloudDialogflowCxV3beta1BargeInConfig { /** @@ -3847,7 +3847,7 @@ export namespace dialogflow_v2beta1 { */ intentInput?: Schema$GoogleCloudDialogflowV2beta1IntentInput; /** - * Optional. The send time of the message from end user or human agent's perspective. It is used for identifying the same message under one participant. Given two messages under the same participant: * If send time are different regardless of whether the content of the messages are exactly the same, the conversation will regard them as two distinct messages sent by the participant. * If send time is the same regardless of whether the content of the messages are exactly the same, the conversation will regard them as same message, and ignore the message received later. If the value is not provided, a new request will always be regarded as a new message without any de-duplication. + * Optional. The send time of the message from end user or human agent's perspective. It is used for identifying the same message under one participant. For BatchCreateMessages API only: Given two messages under the same participant: * If send time are different regardless of whether the content of the messages are exactly the same, the conversation will regard them as two distinct messages sent by the participant. * If send time is the same regardless of whether the content of the messages are exactly the same, the conversation will regard them as same message, and ignore the message received later. If the value is not provided, a new request will always be regarded as a new message without any de-duplication. */ messageSendTime?: string | null; /** @@ -4300,6 +4300,40 @@ export namespace dialogflow_v2beta1 { * The request message for Conversations.CompleteConversation. */ export interface Schema$GoogleCloudDialogflowV2beta1CompleteConversationRequest {} + /** + * Represents a connection for SIP Trunk. + */ + export interface Schema$GoogleCloudDialogflowV2beta1Connection { + /** + * Output only. The unique identifier of the SIP Trunk connection. + */ + connectionId?: string | null; + /** + * Output only. The error details for the connection. Only populated when authentication errors occur. + */ + errorDetails?: Schema$GoogleCloudDialogflowV2beta1ConnectionErrorDetails; + /** + * Output only. State of the connection. + */ + state?: string | null; + /** + * Output only. When the connection status changed. + */ + updateTime?: string | null; + } + /** + * The error details of Sip Trunk connection authentication. + */ + export interface Schema$GoogleCloudDialogflowV2beta1ConnectionErrorDetails { + /** + * Output only. The status of the certificate authentication. + */ + certificateState?: string | null; + /** + * The error message provided from SIP trunking auth service + */ + errorMessage?: string | null; + } /** * Dialogflow contexts are similar to natural language context. If a person says to you "they are orange", you need context in order to understand what "they" is referring to. Similarly, for Dialogflow to handle an end-user expression like that, it needs to be provided with context in order to correctly match an intent. Using contexts, you can control the flow of a conversation. You can configure contexts for an intent by setting input and output contexts, which are identified by string names. When an intent is matched, any configured output contexts for that intent become active. While any contexts are active, Dialogflow is more likely to match intents that are configured with input contexts that correspond to the currently active contexts. For more information about context, see the [Contexts guide](https://cloud.google.com/dialogflow/docs/contexts-overview). */ @@ -4375,6 +4409,10 @@ export namespace dialogflow_v2beta1 { * Payload of NEW_MESSAGE event. */ newMessagePayload?: Schema$GoogleCloudDialogflowV2beta1Message; + /** + * Payload of NEW_RECOGNITION_RESULT event. + */ + newRecognitionResultPayload?: Schema$GoogleCloudDialogflowV2beta1StreamingRecognitionResult; /** * Required. The type of the event that this notification refers to. */ @@ -4429,6 +4467,10 @@ export namespace dialogflow_v2beta1 { * Configuration for publishing new message events. Event will be sent in format of ConversationEvent */ newMessageEventNotificationConfig?: Schema$GoogleCloudDialogflowV2beta1NotificationConfig; + /** + * Optional. Configuration for publishing transcription intermediate results. Event will be sent in format of ConversationEvent. If configured, the following information will be populated as ConversationEvent Pub/Sub message attributes: - "participant_id" - "participant_role" - "message_id" + */ + newRecognitionResultNotificationConfig?: Schema$GoogleCloudDialogflowV2beta1NotificationConfig; /** * Configuration for publishing conversation lifecycle events. */ @@ -4818,7 +4860,7 @@ export namespace dialogflow_v2beta1 { source?: string | null; } /** - * Providing examples in the generator (i.e. building a few-shot generator) helps convey the desired format of the LLM response. NEXT_ID: 10 + * Providing examples in the generator (i.e. building a few-shot generator) helps convey the desired format of the LLM response. */ export interface Schema$GoogleCloudDialogflowV2beta1FewShotExample { /** @@ -5039,7 +5081,7 @@ export namespace dialogflow_v2beta1 { */ name?: string | null; /** - * Input of prebuilt Summarization feature. + * Input of Summarization feature. */ summarizationContext?: Schema$GoogleCloudDialogflowV2beta1SummarizationContext; /** @@ -5194,6 +5236,10 @@ export namespace dialogflow_v2beta1 { * Determines how recent conversation context is filtered when generating suggestions. If unspecified, no messages will be dropped. */ contextFilterSettings?: Schema$GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigSuggestionQueryConfigContextFilterSettings; + /** + * Optional. The number of recent messages to include in the context. Supported features: KNOWLEDGE_ASSIST. + */ + contextSize?: number | null; /** * Query from Dialogflow agent. It is used by DIALOGFLOW_ASSIST, ENTITY_EXTRACTION. */ @@ -5497,6 +5543,10 @@ export namespace dialogflow_v2beta1 { * A list of strings containing words and phrases that the speech recognizer should recognize with higher likelihood. See [the Cloud Speech documentation](https://cloud.google.com/speech-to-text/docs/basics#phrase-hints) for more details. This field is deprecated. Please use [`speech_contexts`]() instead. If you specify both [`phrase_hints`]() and [`speech_contexts`](), Dialogflow will treat the [`phrase_hints`]() as a single additional [`SpeechContext`](). */ phraseHints?: string[] | null; + /** + * A collection of phrase set resources to use for speech adaptation. + */ + phraseSets?: string[] | null; /** * Required. Sample rate (in Hertz) of the audio content sent in the query. Refer to [Cloud Speech API documentation](https://cloud.google.com/speech-to-text/docs/basics) for more details. */ @@ -6501,6 +6551,10 @@ export namespace dialogflow_v2beta1 { * Snippet Source for a Generative Prediction. */ export interface Schema$GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet { + /** + * Metadata of the document. + */ + metadata?: {[key: string]: any} | null; /** * Text taken from that URI. */ @@ -6726,6 +6780,19 @@ export namespace dialogflow_v2beta1 { */ sessionEntityTypes?: Schema$GoogleCloudDialogflowV2beta1SessionEntityType[]; } + /** + * The response message for SipTrunks.ListSipTrunks. + */ + export interface Schema$GoogleCloudDialogflowV2beta1ListSipTrunksResponse { + /** + * Token to retrieve the next page of results, or empty if there are no more results in the list. + */ + nextPageToken?: string | null; + /** + * The list of SIP trunks. + */ + sipTrunks?: Schema$GoogleCloudDialogflowV2beta1SipTrunk[]; + } /** * The response message for Participants.ListSuggestions. */ @@ -7218,6 +7285,10 @@ export namespace dialogflow_v2beta1 { * The sources of the answers. */ export interface Schema$GoogleCloudDialogflowV2beta1SearchKnowledgeAnswerAnswerSource { + /** + * Metadata associated with the article. + */ + metadata?: {[key: string]: any} | null; /** * The relevant snippet of the article. */ @@ -7243,6 +7314,14 @@ export namespace dialogflow_v2beta1 { * Required. The conversation profile used to configure the search. Format: `projects//locations//conversationProfiles/`. */ conversationProfile?: string | null; + /** + * Optional. Information about the end-user to improve the relevance and accuracy of generative answers. This will be interpreted and used by a language model, so, for good results, the data should be self-descriptive, and in a simple structure. Example: ```json { "subscription plan": "Business Premium Plus", "devices owned": [ {"model": "Google Pixel 7"\}, {"model": "Google Pixel Tablet"\} ] \} ``` + */ + endUserMetadata?: {[key: string]: any} | null; + /** + * Optional. Whether to search the query exactly without query rewrite. + */ + exactSearch?: boolean | null; /** * Optional. The name of the latest conversation message when the request is triggered. Format: `projects//locations//conversations//messages/`. */ @@ -7255,11 +7334,118 @@ export namespace dialogflow_v2beta1 { * Required. The natural language text query for knowledge search. */ query?: Schema$GoogleCloudDialogflowV2beta1TextInput; + /** + * Optional. The source of the query in the request. + */ + querySource?: string | null; + /** + * Optional. Configuration specific to search queries with data stores. + */ + searchConfig?: Schema$GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfig; /** * Required. The ID of the search session. The session_id can be combined with Dialogflow V3 Agent ID retrieved from conversation profile or on its own to identify a search session. The search history of the same session will impact the search result. It's up to the API caller to choose an appropriate `Session ID`. It can be a random number or some type of session identifiers (preferably hashed). The length must not exceed 36 characters. */ sessionId?: string | null; } + /** + * Configuration specific to search queries with data stores. + */ + export interface Schema$GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfig { + /** + * Optional. Boost specifications for data stores. + */ + boostSpecs?: Schema$GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecs[]; + /** + * Optional. Filter specification for data store queries. + */ + filterSpecs?: Schema$GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigFilterSpecs[]; + } + /** + * Boost specifications for data stores. + */ + export interface Schema$GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecs { + /** + * Optional. Data Stores where the boosting configuration is applied. The full names of the referenced data stores. Formats: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}` `projects/{project\}/locations/{location\}/dataStores/{data_store\}` + */ + dataStores?: string[] | null; + /** + * Optional. A list of boosting specifications. + */ + spec?: Schema$GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec[]; + } + /** + * Boost specification to boost certain documents. A copy of google.cloud.discoveryengine.v1main.BoostSpec, field documentation is available at https://cloud.google.com/generative-ai-app-builder/docs/reference/rest/v1alpha/BoostSpec + */ + export interface Schema$GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpec { + /** + * Optional. Condition boost specifications. If a document matches multiple conditions in the specifictions, boost scores from these specifications are all applied and combined in a non-linear way. Maximum number of specifications is 20. + */ + conditionBoostSpecs?: Schema$GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpec[]; + } + /** + * Boost applies to documents which match a condition. + */ + export interface Schema$GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpec { + /** + * Optional. Strength of the condition boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0. Setting to 1.0 gives the document a big promotion. However, it does not necessarily mean that the boosted document will be the top result at all times, nor that other documents will be excluded. Results could still be shown even when none of them matches the condition. And results that are significantly more relevant to the search query can still trump your heavily favored but irrelevant documents. Setting to -1.0 gives the document a big demotion. However, results that are deeply relevant might still be shown. The document will have an upstream battle to get a fairly high ranking, but it is not blocked out completely. Setting to 0.0 means no boost applied. The boosting condition is ignored. + */ + boost?: number | null; + /** + * Optional. Complex specification for custom ranking based on customer defined attribute value. + */ + boostControlSpec?: Schema$GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpec; + /** + * Optional. An expression which specifies a boost condition. The syntax and supported fields are the same as a filter expression. Examples: * To boost documents with document ID "doc_1" or "doc_2", and color "Red" or "Blue": * (id: ANY("doc_1", "doc_2")) AND (color: ANY("Red","Blue")) + */ + condition?: string | null; + } + /** + * Specification for custom ranking based on customer specified attribute value. It provides more controls for customized ranking than the simple (condition, boost) combination above. + */ + export interface Schema$GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpec { + /** + * Optional. The attribute type to be used to determine the boost amount. The attribute value can be derived from the field value of the specified field_name. In the case of numerical it is straightforward i.e. attribute_value = numerical_field_value. In the case of freshness however, attribute_value = (time.now() - datetime_field_value). + */ + attributeType?: string | null; + /** + * Optional. The control points used to define the curve. The monotonic function (defined through the interpolation_type above) passes through the control points listed here. + */ + controlPoints?: Schema$GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpecControlPoint[]; + /** + * Optional. The name of the field whose value will be used to determine the boost amount. + */ + fieldName?: string | null; + /** + * Optional. The interpolation type to be applied to connect the control points listed below. + */ + interpolationType?: string | null; + } + /** + * The control points used to define the curve. The curve defined through these control points can only be monotonically increasing or decreasing(constant values are acceptable). + */ + export interface Schema$GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigBoostSpecsBoostSpecConditionBoostSpecBoostControlSpecControlPoint { + /** + * Optional. Can be one of: 1. The numerical field value. 2. The duration spec for freshness: The value must be formatted as an XSD `dayTimeDuration` value (a restricted subset of an ISO 8601 duration value). The pattern for this is: `nDnM]`. + */ + attributeValue?: string | null; + /** + * Optional. The value between -1 to 1 by which to boost the score if the attribute_value evaluates to the value specified above. + */ + boostAmount?: number | null; + } + /** + * Filter specification for data store queries. + */ + export interface Schema$GoogleCloudDialogflowV2beta1SearchKnowledgeRequestSearchConfigFilterSpecs { + /** + * Optional. The data store where the filter configuration is applied. Full resource name of data store, such as projects/{project\}/locations/{location\}/collections/{collectionId\}/ dataStores/{dataStoreId\}. + */ + dataStores?: string[] | null; + /** + * Optional. The filter expression to be applied. Expression syntax is documented at https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata#filter-expression-syntax + */ + filter?: string | null; + } /** * The response message for Conversations.SearchKnowledge. */ @@ -7355,6 +7541,27 @@ export namespace dialogflow_v2beta1 { */ suggestionFeatureConfig?: Schema$GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigSuggestionFeatureConfig; } + /** + * SipTrunk is the resource that represents a SIP trunk to connect to Google Telephony platform SIP trunking service. + */ + export interface Schema$GoogleCloudDialogflowV2beta1SipTrunk { + /** + * Output only. Connections of the SIP trunk. + */ + connections?: Schema$GoogleCloudDialogflowV2beta1Connection[]; + /** + * Optional. Human readable alias for this trunk. + */ + displayName?: string | null; + /** + * Required. The expected hostnames in the peer certificate from partner that is used for TLS authentication. + */ + expectedHostname?: string[] | null; + /** + * Identifier. The unique identifier of the SIP trunk. Format: `projects//locations//sipTrunks/`. + */ + name?: string | null; + } /** * Represents a smart reply answer. */ @@ -7405,6 +7612,10 @@ export namespace dialogflow_v2beta1 { * Which Speech model to select. Select the model best suited to your domain to get best results. If a model is not explicitly specified, then Dialogflow auto-selects a model based on other parameters in the SpeechToTextConfig and Agent settings. If enhanced speech model is enabled for the agent and an enhanced version of the specified model for the language does not exist, then the speech is recognized using the standard version of the specified model. Refer to [Cloud Speech API documentation](https://cloud.google.com/speech-to-text/docs/basics#select-model) for more details. If you specify a model, the following models typically have the best performance: - phone_call (best for Agent Assist and telephony) - latest_short (best for Dialogflow non-telephony) - command_and_search Leave this field unspecified to use [Agent Speech settings](https://cloud.google.com/dialogflow/cx/docs/concept/agent#settings-speech) for model selection. */ model?: string | null; + /** + * List of names of Cloud Speech phrase sets that are used for transcription. + */ + phraseSets?: string[] | null; /** * Sample rate (in Hertz) of the audio content sent in the query. Refer to [Cloud Speech API documentation](https://cloud.google.com/speech-to-text/docs/basics) for more details. */ @@ -7418,6 +7629,68 @@ export namespace dialogflow_v2beta1 { */ useTimeoutBasedEndpointing?: boolean | null; } + /** + * Information for a word recognized by the speech recognizer. + */ + export interface Schema$GoogleCloudDialogflowV2beta1SpeechWordInfo { + /** + * The Speech confidence between 0.0 and 1.0 for this word. A higher number indicates an estimated greater likelihood that the recognized word is correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is not guaranteed to be fully stable over time for the same audio input. Users should also not rely on it to always be provided. + */ + confidence?: number | null; + /** + * Time offset relative to the beginning of the audio that corresponds to the end of the spoken word. This is an experimental feature and the accuracy of the time offset can vary. + */ + endOffset?: string | null; + /** + * Time offset relative to the beginning of the audio that corresponds to the start of the spoken word. This is an experimental feature and the accuracy of the time offset can vary. + */ + startOffset?: string | null; + /** + * The word this info is for. + */ + word?: string | null; + } + /** + * Contains a speech recognition result corresponding to a portion of the audio that is currently being processed or an indication that this is the end of the single requested utterance. While end-user audio is being processed, Dialogflow sends a series of results. Each result may contain a `transcript` value. A transcript represents a portion of the utterance. While the recognizer is processing audio, transcript values may be interim values or finalized values. Once a transcript is finalized, the `is_final` value is set to true and processing continues for the next transcript. If `StreamingDetectIntentRequest.query_input.audio_config.single_utterance` was true, and the recognizer has completed processing audio, the `message_type` value is set to `END_OF_SINGLE_UTTERANCE and the following (last) result contains the last finalized transcript. The complete end-user utterance is determined by concatenating the finalized transcript values received for the series of results. In the following example, single utterance is enabled. In the case where single utterance is not enabled, result 7 would not occur. ``` Num | transcript | message_type | is_final --- | ----------------------- | ----------------------- | -------- 1 | "tube" | TRANSCRIPT | false 2 | "to be a" | TRANSCRIPT | false 3 | "to be" | TRANSCRIPT | false 4 | "to be or not to be" | TRANSCRIPT | true 5 | "that's" | TRANSCRIPT | false 6 | "that is | TRANSCRIPT | false 7 | unset | END_OF_SINGLE_UTTERANCE | unset 8 | " that is the question" | TRANSCRIPT | true ``` Concatenating the finalized transcripts with `is_final` set to true, the complete utterance becomes "to be or not to be that is the question". + */ + export interface Schema$GoogleCloudDialogflowV2beta1StreamingRecognitionResult { + /** + * The Speech confidence between 0.0 and 1.0 for the current portion of audio. A higher number indicates an estimated greater likelihood that the recognized words are correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is typically only provided if `is_final` is true and you should not rely on it being accurate or even set. + */ + confidence?: number | null; + /** + * DTMF digits. Populated if and only if `message_type` = `DTMF_DIGITS`. + */ + dtmfDigits?: Schema$GoogleCloudDialogflowV2beta1TelephonyDtmfEvents; + /** + * If `false`, the `StreamingRecognitionResult` represents an interim result that may change. If `true`, the recognizer will not return any further hypotheses about this piece of the audio. May only be populated for `message_type` = `TRANSCRIPT`. + */ + isFinal?: boolean | null; + /** + * Detected language code for the transcript. + */ + languageCode?: string | null; + /** + * Type of the result message. + */ + messageType?: string | null; + /** + * Time offset of the end of this Speech recognition result relative to the beginning of the audio. Only populated for `message_type` = `TRANSCRIPT`. + */ + speechEndOffset?: string | null; + /** + * Word-specific information for the words recognized by Speech in transcript. Populated if and only if `message_type` = `TRANSCRIPT` and [InputAudioConfig.enable_word_info] is set. + */ + speechWordInfo?: Schema$GoogleCloudDialogflowV2beta1SpeechWordInfo[]; + /** + * An estimate of the likelihood that the speech recognizer will not change its guess about this interim recognition result: * If the value is unspecified or 0.0, Dialogflow didn't compute the stability. In particular, Dialogflow will only provide stability for `TRANSCRIPT` results with `is_final = false`. * Otherwise, the value is in (0.0, 1.0] where 0.0 means completely unstable and 1.0 means completely stable. + */ + stability?: number | null; + /** + * Transcript text representing the words that the user spoke. Populated if and only if `message_type` = `TRANSCRIPT`. + */ + transcript?: string | null; + } /** * Contains basic configuration for a sub-agent. */ @@ -8055,7 +8328,7 @@ export namespace dialogflow_v2beta1 { source?: string | null; } /** - * Metadata for a ConversationProfile.ClearSuggestionFeatureConfig operation. + * Metadata for a ConversationProfiles.ClearSuggestionFeatureConfig operation. */ export interface Schema$GoogleCloudDialogflowV2ClearSuggestionFeatureConfigOperationMetadata { /** @@ -8108,6 +8381,10 @@ export namespace dialogflow_v2beta1 { * Payload of NEW_MESSAGE event. */ newMessagePayload?: Schema$GoogleCloudDialogflowV2Message; + /** + * Payload of NEW_RECOGNITION_RESULT event. + */ + newRecognitionResultPayload?: Schema$GoogleCloudDialogflowV2StreamingRecognitionResult; /** * The type of the event that this notification refers to. */ @@ -8159,7 +8436,7 @@ export namespace dialogflow_v2beta1 { state?: string | null; } /** - * Metadata for ConversationDatasets. + * Metadata for CreateConversationDataset. */ export interface Schema$GoogleCloudDialogflowV2CreateConversationDatasetOperationMetadata { /** @@ -8206,7 +8483,7 @@ export namespace dialogflow_v2beta1 { state?: string | null; } /** - * Metadata for ConversationDatasets. + * Metadata for DeleteConversationDataset. */ export interface Schema$GoogleCloudDialogflowV2DeleteConversationDatasetOperationMetadata {} /** @@ -9155,6 +9432,10 @@ export namespace dialogflow_v2beta1 { * Snippet Source for a Generative Prediction. */ export interface Schema$GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet { + /** + * Metadata of the document. + */ + metadata?: {[key: string]: any} | null; /** * Text taken from that URI. */ @@ -9348,7 +9629,7 @@ export namespace dialogflow_v2beta1 { score?: number | null; } /** - * The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral. For Participants.DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For Participants.StreamingDetectIntent, it needs to be configured in StreamingDetectIntentRequest.query_params. And for Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it needs to be configured in ConversationProfile.human_agent_assistant_config + * The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral. For DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For StreamingDetectIntent, it needs to be configured in StreamingDetectIntentRequest.query_params. And for Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it needs to be configured in ConversationProfile.human_agent_assistant_config */ export interface Schema$GoogleCloudDialogflowV2SentimentAnalysisResult { /** @@ -9374,7 +9655,7 @@ export namespace dialogflow_v2beta1 { name?: string | null; } /** - * Metadata for a ConversationProfile.SetSuggestionFeatureConfig operation. + * Metadata for a ConversationProfiles.SetSuggestionFeatureConfig operation. */ export interface Schema$GoogleCloudDialogflowV2SetSuggestionFeatureConfigOperationMetadata { /** @@ -9420,6 +9701,60 @@ export namespace dialogflow_v2beta1 { */ trainingModelType?: string | null; } + /** + * Information for a word recognized by the speech recognizer. + */ + export interface Schema$GoogleCloudDialogflowV2SpeechWordInfo { + /** + * The Speech confidence between 0.0 and 1.0 for this word. A higher number indicates an estimated greater likelihood that the recognized word is correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is not guaranteed to be fully stable over time for the same audio input. Users should also not rely on it to always be provided. + */ + confidence?: number | null; + /** + * Time offset relative to the beginning of the audio that corresponds to the end of the spoken word. This is an experimental feature and the accuracy of the time offset can vary. + */ + endOffset?: string | null; + /** + * Time offset relative to the beginning of the audio that corresponds to the start of the spoken word. This is an experimental feature and the accuracy of the time offset can vary. + */ + startOffset?: string | null; + /** + * The word this info is for. + */ + word?: string | null; + } + /** + * Contains a speech recognition result corresponding to a portion of the audio that is currently being processed or an indication that this is the end of the single requested utterance. While end-user audio is being processed, Dialogflow sends a series of results. Each result may contain a `transcript` value. A transcript represents a portion of the utterance. While the recognizer is processing audio, transcript values may be interim values or finalized values. Once a transcript is finalized, the `is_final` value is set to true and processing continues for the next transcript. If `StreamingDetectIntentRequest.query_input.audio_config.single_utterance` was true, and the recognizer has completed processing audio, the `message_type` value is set to `END_OF_SINGLE_UTTERANCE and the following (last) result contains the last finalized transcript. The complete end-user utterance is determined by concatenating the finalized transcript values received for the series of results. In the following example, single utterance is enabled. In the case where single utterance is not enabled, result 7 would not occur. ``` Num | transcript | message_type | is_final --- | ----------------------- | ----------------------- | -------- 1 | "tube" | TRANSCRIPT | false 2 | "to be a" | TRANSCRIPT | false 3 | "to be" | TRANSCRIPT | false 4 | "to be or not to be" | TRANSCRIPT | true 5 | "that's" | TRANSCRIPT | false 6 | "that is | TRANSCRIPT | false 7 | unset | END_OF_SINGLE_UTTERANCE | unset 8 | " that is the question" | TRANSCRIPT | true ``` Concatenating the finalized transcripts with `is_final` set to true, the complete utterance becomes "to be or not to be that is the question". + */ + export interface Schema$GoogleCloudDialogflowV2StreamingRecognitionResult { + /** + * The Speech confidence between 0.0 and 1.0 for the current portion of audio. A higher number indicates an estimated greater likelihood that the recognized words are correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is typically only provided if `is_final` is true and you should not rely on it being accurate or even set. + */ + confidence?: number | null; + /** + * If `false`, the `StreamingRecognitionResult` represents an interim result that may change. If `true`, the recognizer will not return any further hypotheses about this piece of the audio. May only be populated for `message_type` = `TRANSCRIPT`. + */ + isFinal?: boolean | null; + /** + * Detected language code for the transcript. + */ + languageCode?: string | null; + /** + * Type of the result message. + */ + messageType?: string | null; + /** + * Time offset of the end of this Speech recognition result relative to the beginning of the audio. Only populated for `message_type` = `TRANSCRIPT`. + */ + speechEndOffset?: string | null; + /** + * Word-specific information for the words recognized by Speech in transcript. Populated if and only if `message_type` = `TRANSCRIPT` and [InputAudioConfig.enable_word_info] is set. + */ + speechWordInfo?: Schema$GoogleCloudDialogflowV2SpeechWordInfo[]; + /** + * Transcript text representing the words that the user spoke. Populated if and only if `message_type` = `TRANSCRIPT`. + */ + transcript?: string | null; + } /** * The response message for Participants.SuggestArticles. */ @@ -19506,7 +19841,7 @@ export namespace dialogflow_v2beta1 { export interface Params$Resource$Projects$Conversations$Create extends StandardParameters { /** - * Optional. Identifier of the conversation. Generally it's auto generated by Google. Only set it if you cannot wait for the response to return a auto-generated one to you. The conversation ID must be compliant with the regression fomula `a-zA-Z*` with the characters length in range of [3,64]. If the field is provided, the caller is resposible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness. + * Optional. Identifier of the conversation. Generally it's auto generated by Google. Only set it if you cannot wait for the response to return a auto-generated one to you. The conversation ID must be compliant with the regression formula `a-zA-Z*` with the characters length in range of [3,64]. If the field is provided, the caller is responsible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness. */ conversationId?: string; /** @@ -21439,7 +21774,7 @@ export namespace dialogflow_v2beta1 { export interface Params$Resource$Projects$Generators$Create extends StandardParameters { /** - * Optional. The ID to use for the generator, which will become the final component of the generator's resource name. The generator ID must be compliant with the regression fomula `a-zA-Z*` with the characters length in range of [3,64]. If the field is not provided, an Id will be auto-generated. If the field is provided, the caller is resposible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness. + * Optional. The ID to use for the generator, which will become the final component of the generator's resource name. The generator ID must be compliant with the regression formula `a-zA-Z*` with the characters length in range of [3,64]. If the field is not provided, an Id will be auto-generated. If the field is provided, the caller is responsible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness. */ generatorId?: string; /** @@ -22782,6 +23117,7 @@ export namespace dialogflow_v2beta1 { generators: Resource$Projects$Locations$Generators; knowledgeBases: Resource$Projects$Locations$Knowledgebases; operations: Resource$Projects$Locations$Operations; + sipTrunks: Resource$Projects$Locations$Siptrunks; statelessSuggestion: Resource$Projects$Locations$Statelesssuggestion; suggestions: Resource$Projects$Locations$Suggestions; constructor(context: APIRequestContext) { @@ -22807,6 +23143,7 @@ export namespace dialogflow_v2beta1 { this.operations = new Resource$Projects$Locations$Operations( this.context ); + this.sipTrunks = new Resource$Projects$Locations$Siptrunks(this.context); this.statelessSuggestion = new Resource$Projects$Locations$Statelesssuggestion(this.context); this.suggestions = new Resource$Projects$Locations$Suggestions( @@ -31699,7 +32036,7 @@ export namespace dialogflow_v2beta1 { export interface Params$Resource$Projects$Locations$Conversations$Create extends StandardParameters { /** - * Optional. Identifier of the conversation. Generally it's auto generated by Google. Only set it if you cannot wait for the response to return a auto-generated one to you. The conversation ID must be compliant with the regression fomula `a-zA-Z*` with the characters length in range of [3,64]. If the field is provided, the caller is resposible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness. + * Optional. Identifier of the conversation. Generally it's auto generated by Google. Only set it if you cannot wait for the response to return a auto-generated one to you. The conversation ID must be compliant with the regression formula `a-zA-Z*` with the characters length in range of [3,64]. If the field is provided, the caller is responsible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness. */ conversationId?: string; /** @@ -33800,7 +34137,7 @@ export namespace dialogflow_v2beta1 { export interface Params$Resource$Projects$Locations$Generators$Create extends StandardParameters { /** - * Optional. The ID to use for the generator, which will become the final component of the generator's resource name. The generator ID must be compliant with the regression fomula `a-zA-Z*` with the characters length in range of [3,64]. If the field is not provided, an Id will be auto-generated. If the field is provided, the caller is resposible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness. + * Optional. The ID to use for the generator, which will become the final component of the generator's resource name. The generator ID must be compliant with the regression formula `a-zA-Z*` with the characters length in range of [3,64]. If the field is not provided, an Id will be auto-generated. If the field is provided, the caller is responsible for 1. the uniqueness of the ID, otherwise the request will be rejected. 2. the consistency for whether to use custom ID or not under a project to better ensure uniqueness. */ generatorId?: string; /** @@ -35177,7 +35514,7 @@ export namespace dialogflow_v2beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -35491,6 +35828,541 @@ export namespace dialogflow_v2beta1 { pageToken?: string; } + export class Resource$Projects$Locations$Siptrunks { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a SipTrunk for a specified location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Siptrunks$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Siptrunks$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Siptrunks$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Siptrunks$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Siptrunks$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Siptrunks$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Siptrunks$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Siptrunks$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta1/{+parent}/sipTrunks').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Deletes a specified SipTrunk. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Siptrunks$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Siptrunks$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Siptrunks$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Siptrunks$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Siptrunks$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Siptrunks$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Siptrunks$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Siptrunks$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieves the specified SipTrunk. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Siptrunks$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Siptrunks$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Siptrunks$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Siptrunks$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Siptrunks$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Siptrunks$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Siptrunks$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Siptrunks$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Returns a list of SipTrunks in the specified location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Siptrunks$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Siptrunks$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Siptrunks$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Siptrunks$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Siptrunks$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Siptrunks$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Siptrunks$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Siptrunks$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta1/{+parent}/sipTrunks').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates the specified SipTrunk. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Siptrunks$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Siptrunks$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Siptrunks$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Siptrunks$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Siptrunks$Patch, + callback: BodyResponseCallback + ): void; + patch( + callback: BodyResponseCallback + ): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Siptrunks$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Siptrunks$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Siptrunks$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Siptrunks$Create + extends StandardParameters { + /** + * Required. The location to create a SIP trunk for. Format: `projects//locations/`. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1SipTrunk; + } + export interface Params$Resource$Projects$Locations$Siptrunks$Delete + extends StandardParameters { + /** + * Required. The name of the SIP trunk to delete. Format: `projects//locations//sipTrunks/`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Siptrunks$Get + extends StandardParameters { + /** + * Required. The name of the SIP trunk to delete. Format: `projects//locations//sipTrunks/`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Siptrunks$List + extends StandardParameters { + /** + * Optional. The maximum number of items to return in a single page. By default 100 and at most 1000. + */ + pageSize?: number; + /** + * Optional. The next_page_token value returned from a previous list request. + */ + pageToken?: string; + /** + * Required. The location to list SIP trunks from. Format: `projects//locations/`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Siptrunks$Patch + extends StandardParameters { + /** + * Identifier. The unique identifier of the SIP trunk. Format: `projects//locations//sipTrunks/`. + */ + name?: string; + /** + * Optional. The mask to control which fields get updated. If the mask is not present, all fields will be updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowV2beta1SipTrunk; + } + export class Resource$Projects$Locations$Statelesssuggestion { context: APIRequestContext; constructor(context: APIRequestContext) { @@ -35842,7 +36714,7 @@ export namespace dialogflow_v2beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/dialogflow/v3.ts b/src/apis/dialogflow/v3.ts index d7e7537b6b..1cb135f103 100644 --- a/src/apis/dialogflow/v3.ts +++ b/src/apis/dialogflow/v3.ts @@ -432,7 +432,7 @@ export namespace dialogflow_v3 { config?: Schema$GoogleCloudDialogflowCxV3InputAudioConfig; } /** - * Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up. + * Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up. */ export interface Schema$GoogleCloudDialogflowCxV3BargeInConfig { /** @@ -582,7 +582,7 @@ export namespace dialogflow_v3 { config?: Schema$GoogleCloudDialogflowCxV3beta1InputAudioConfig; } /** - * Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up. + * Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up. */ export interface Schema$GoogleCloudDialogflowCxV3beta1BargeInConfig { /** @@ -3705,6 +3705,10 @@ export namespace dialogflow_v3 { * Required. The human-readable name of the generator, unique within the agent. The prompt contains pre-defined parameters such as $conversation, $last-user-utterance, etc. populated by Dialogflow. It can also contain custom placeholders which will be resolved during fulfillment. */ displayName?: string | null; + /** + * Parameters passed to the LLM to configure its behavior. + */ + modelParameter?: Schema$GoogleCloudDialogflowCxV3GeneratorModelParameter; /** * The unique identifier of the generator. Must be set for the Generators.UpdateGenerator method. Generators.CreateGenerate populates the name automatically. Format: `projects//locations//agents//generators/`. */ @@ -3718,6 +3722,27 @@ export namespace dialogflow_v3 { */ promptText?: Schema$GoogleCloudDialogflowCxV3Phrase; } + /** + * Parameters to be passed to the LLM. If not set, default values will be used. + */ + export interface Schema$GoogleCloudDialogflowCxV3GeneratorModelParameter { + /** + * The maximum number of tokens to generate. + */ + maxDecodeSteps?: number | null; + /** + * The temperature used for sampling. Temperature sampling occurs after both topP and topK have been applied. Valid range: [0.0, 1.0] Low temperature = less random. High temperature = more random. + */ + temperature?: number | null; + /** + * If set, the sampling process in each step is limited to the top_k tokens with highest probabilities. Valid range: [1, 40] or 1000+. Small topK = less random. Large topK = more random. + */ + topK?: number | null; + /** + * If set, only the tokens comprising the top top_p probability mass are considered. If both top_p and top_k are set, top_p will be used for further refining candidates selected with top_k. Valid range: (0.0, 1.0]. Small topP = less random. Large topP = more random. + */ + topP?: number | null; + } /** * Represents a custom placeholder in the prompt text. */ @@ -6203,6 +6228,10 @@ export namespace dialogflow_v3 { * Payload of NEW_MESSAGE event. */ newMessagePayload?: Schema$GoogleCloudDialogflowV2beta1Message; + /** + * Payload of NEW_RECOGNITION_RESULT event. + */ + newRecognitionResultPayload?: Schema$GoogleCloudDialogflowV2beta1StreamingRecognitionResult; /** * Required. The type of the event that this notification refers to. */ @@ -7370,6 +7399,10 @@ export namespace dialogflow_v3 { * Snippet Source for a Generative Prediction. */ export interface Schema$GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet { + /** + * Metadata of the document. + */ + metadata?: {[key: string]: any} | null; /** * Text taken from that URI. */ @@ -7724,6 +7757,68 @@ export namespace dialogflow_v3 { */ reply?: string | null; } + /** + * Information for a word recognized by the speech recognizer. + */ + export interface Schema$GoogleCloudDialogflowV2beta1SpeechWordInfo { + /** + * The Speech confidence between 0.0 and 1.0 for this word. A higher number indicates an estimated greater likelihood that the recognized word is correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is not guaranteed to be fully stable over time for the same audio input. Users should also not rely on it to always be provided. + */ + confidence?: number | null; + /** + * Time offset relative to the beginning of the audio that corresponds to the end of the spoken word. This is an experimental feature and the accuracy of the time offset can vary. + */ + endOffset?: string | null; + /** + * Time offset relative to the beginning of the audio that corresponds to the start of the spoken word. This is an experimental feature and the accuracy of the time offset can vary. + */ + startOffset?: string | null; + /** + * The word this info is for. + */ + word?: string | null; + } + /** + * Contains a speech recognition result corresponding to a portion of the audio that is currently being processed or an indication that this is the end of the single requested utterance. While end-user audio is being processed, Dialogflow sends a series of results. Each result may contain a `transcript` value. A transcript represents a portion of the utterance. While the recognizer is processing audio, transcript values may be interim values or finalized values. Once a transcript is finalized, the `is_final` value is set to true and processing continues for the next transcript. If `StreamingDetectIntentRequest.query_input.audio_config.single_utterance` was true, and the recognizer has completed processing audio, the `message_type` value is set to `END_OF_SINGLE_UTTERANCE and the following (last) result contains the last finalized transcript. The complete end-user utterance is determined by concatenating the finalized transcript values received for the series of results. In the following example, single utterance is enabled. In the case where single utterance is not enabled, result 7 would not occur. ``` Num | transcript | message_type | is_final --- | ----------------------- | ----------------------- | -------- 1 | "tube" | TRANSCRIPT | false 2 | "to be a" | TRANSCRIPT | false 3 | "to be" | TRANSCRIPT | false 4 | "to be or not to be" | TRANSCRIPT | true 5 | "that's" | TRANSCRIPT | false 6 | "that is | TRANSCRIPT | false 7 | unset | END_OF_SINGLE_UTTERANCE | unset 8 | " that is the question" | TRANSCRIPT | true ``` Concatenating the finalized transcripts with `is_final` set to true, the complete utterance becomes "to be or not to be that is the question". + */ + export interface Schema$GoogleCloudDialogflowV2beta1StreamingRecognitionResult { + /** + * The Speech confidence between 0.0 and 1.0 for the current portion of audio. A higher number indicates an estimated greater likelihood that the recognized words are correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is typically only provided if `is_final` is true and you should not rely on it being accurate or even set. + */ + confidence?: number | null; + /** + * DTMF digits. Populated if and only if `message_type` = `DTMF_DIGITS`. + */ + dtmfDigits?: Schema$GoogleCloudDialogflowV2beta1TelephonyDtmfEvents; + /** + * If `false`, the `StreamingRecognitionResult` represents an interim result that may change. If `true`, the recognizer will not return any further hypotheses about this piece of the audio. May only be populated for `message_type` = `TRANSCRIPT`. + */ + isFinal?: boolean | null; + /** + * Detected language code for the transcript. + */ + languageCode?: string | null; + /** + * Type of the result message. + */ + messageType?: string | null; + /** + * Time offset of the end of this Speech recognition result relative to the beginning of the audio. Only populated for `message_type` = `TRANSCRIPT`. + */ + speechEndOffset?: string | null; + /** + * Word-specific information for the words recognized by Speech in transcript. Populated if and only if `message_type` = `TRANSCRIPT` and [InputAudioConfig.enable_word_info] is set. + */ + speechWordInfo?: Schema$GoogleCloudDialogflowV2beta1SpeechWordInfo[]; + /** + * An estimate of the likelihood that the speech recognizer will not change its guess about this interim recognition result: * If the value is unspecified or 0.0, Dialogflow didn't compute the stability. In particular, Dialogflow will only provide stability for `TRANSCRIPT` results with `is_final = false`. * Otherwise, the value is in (0.0, 1.0] where 0.0 means completely unstable and 1.0 means completely stable. + */ + stability?: number | null; + /** + * Transcript text representing the words that the user spoke. Populated if and only if `message_type` = `TRANSCRIPT`. + */ + transcript?: string | null; + } /** * The response message for Participants.SuggestArticles. */ @@ -7842,6 +7937,15 @@ export namespace dialogflow_v3 { */ smartReplyAnswers?: Schema$GoogleCloudDialogflowV2beta1SmartReplyAnswer[]; } + /** + * A wrapper of repeated TelephonyDtmf digits. + */ + export interface Schema$GoogleCloudDialogflowV2beta1TelephonyDtmfEvents { + /** + * A sequence of TelephonyDtmf digits. + */ + dtmfEvents?: string[] | null; + } /** * The request message for a webhook call. */ @@ -7909,7 +8013,7 @@ export namespace dialogflow_v3 { source?: string | null; } /** - * Metadata for a ConversationProfile.ClearSuggestionFeatureConfig operation. + * Metadata for a ConversationProfiles.ClearSuggestionFeatureConfig operation. */ export interface Schema$GoogleCloudDialogflowV2ClearSuggestionFeatureConfigOperationMetadata { /** @@ -7962,6 +8066,10 @@ export namespace dialogflow_v3 { * Payload of NEW_MESSAGE event. */ newMessagePayload?: Schema$GoogleCloudDialogflowV2Message; + /** + * Payload of NEW_RECOGNITION_RESULT event. + */ + newRecognitionResultPayload?: Schema$GoogleCloudDialogflowV2StreamingRecognitionResult; /** * The type of the event that this notification refers to. */ @@ -8013,7 +8121,7 @@ export namespace dialogflow_v3 { state?: string | null; } /** - * Metadata for ConversationDatasets. + * Metadata for CreateConversationDataset. */ export interface Schema$GoogleCloudDialogflowV2CreateConversationDatasetOperationMetadata { /** @@ -8060,7 +8168,7 @@ export namespace dialogflow_v3 { state?: string | null; } /** - * Metadata for ConversationDatasets. + * Metadata for DeleteConversationDataset. */ export interface Schema$GoogleCloudDialogflowV2DeleteConversationDatasetOperationMetadata {} /** @@ -9009,6 +9117,10 @@ export namespace dialogflow_v3 { * Snippet Source for a Generative Prediction. */ export interface Schema$GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet { + /** + * Metadata of the document. + */ + metadata?: {[key: string]: any} | null; /** * Text taken from that URI. */ @@ -9202,7 +9314,7 @@ export namespace dialogflow_v3 { score?: number | null; } /** - * The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral. For Participants.DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For Participants.StreamingDetectIntent, it needs to be configured in StreamingDetectIntentRequest.query_params. And for Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it needs to be configured in ConversationProfile.human_agent_assistant_config + * The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral. For DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For StreamingDetectIntent, it needs to be configured in StreamingDetectIntentRequest.query_params. And for Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it needs to be configured in ConversationProfile.human_agent_assistant_config */ export interface Schema$GoogleCloudDialogflowV2SentimentAnalysisResult { /** @@ -9228,7 +9340,7 @@ export namespace dialogflow_v3 { name?: string | null; } /** - * Metadata for a ConversationProfile.SetSuggestionFeatureConfig operation. + * Metadata for a ConversationProfiles.SetSuggestionFeatureConfig operation. */ export interface Schema$GoogleCloudDialogflowV2SetSuggestionFeatureConfigOperationMetadata { /** @@ -9274,6 +9386,60 @@ export namespace dialogflow_v3 { */ trainingModelType?: string | null; } + /** + * Information for a word recognized by the speech recognizer. + */ + export interface Schema$GoogleCloudDialogflowV2SpeechWordInfo { + /** + * The Speech confidence between 0.0 and 1.0 for this word. A higher number indicates an estimated greater likelihood that the recognized word is correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is not guaranteed to be fully stable over time for the same audio input. Users should also not rely on it to always be provided. + */ + confidence?: number | null; + /** + * Time offset relative to the beginning of the audio that corresponds to the end of the spoken word. This is an experimental feature and the accuracy of the time offset can vary. + */ + endOffset?: string | null; + /** + * Time offset relative to the beginning of the audio that corresponds to the start of the spoken word. This is an experimental feature and the accuracy of the time offset can vary. + */ + startOffset?: string | null; + /** + * The word this info is for. + */ + word?: string | null; + } + /** + * Contains a speech recognition result corresponding to a portion of the audio that is currently being processed or an indication that this is the end of the single requested utterance. While end-user audio is being processed, Dialogflow sends a series of results. Each result may contain a `transcript` value. A transcript represents a portion of the utterance. While the recognizer is processing audio, transcript values may be interim values or finalized values. Once a transcript is finalized, the `is_final` value is set to true and processing continues for the next transcript. If `StreamingDetectIntentRequest.query_input.audio_config.single_utterance` was true, and the recognizer has completed processing audio, the `message_type` value is set to `END_OF_SINGLE_UTTERANCE and the following (last) result contains the last finalized transcript. The complete end-user utterance is determined by concatenating the finalized transcript values received for the series of results. In the following example, single utterance is enabled. In the case where single utterance is not enabled, result 7 would not occur. ``` Num | transcript | message_type | is_final --- | ----------------------- | ----------------------- | -------- 1 | "tube" | TRANSCRIPT | false 2 | "to be a" | TRANSCRIPT | false 3 | "to be" | TRANSCRIPT | false 4 | "to be or not to be" | TRANSCRIPT | true 5 | "that's" | TRANSCRIPT | false 6 | "that is | TRANSCRIPT | false 7 | unset | END_OF_SINGLE_UTTERANCE | unset 8 | " that is the question" | TRANSCRIPT | true ``` Concatenating the finalized transcripts with `is_final` set to true, the complete utterance becomes "to be or not to be that is the question". + */ + export interface Schema$GoogleCloudDialogflowV2StreamingRecognitionResult { + /** + * The Speech confidence between 0.0 and 1.0 for the current portion of audio. A higher number indicates an estimated greater likelihood that the recognized words are correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is typically only provided if `is_final` is true and you should not rely on it being accurate or even set. + */ + confidence?: number | null; + /** + * If `false`, the `StreamingRecognitionResult` represents an interim result that may change. If `true`, the recognizer will not return any further hypotheses about this piece of the audio. May only be populated for `message_type` = `TRANSCRIPT`. + */ + isFinal?: boolean | null; + /** + * Detected language code for the transcript. + */ + languageCode?: string | null; + /** + * Type of the result message. + */ + messageType?: string | null; + /** + * Time offset of the end of this Speech recognition result relative to the beginning of the audio. Only populated for `message_type` = `TRANSCRIPT`. + */ + speechEndOffset?: string | null; + /** + * Word-specific information for the words recognized by Speech in transcript. Populated if and only if `message_type` = `TRANSCRIPT` and [InputAudioConfig.enable_word_info] is set. + */ + speechWordInfo?: Schema$GoogleCloudDialogflowV2SpeechWordInfo[]; + /** + * Transcript text representing the words that the user spoke. Populated if and only if `message_type` = `TRANSCRIPT`. + */ + transcript?: string | null; + } /** * The response message for Participants.SuggestArticles. */ @@ -22870,7 +23036,7 @@ export namespace dialogflow_v3 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -23726,7 +23892,7 @@ export namespace dialogflow_v3 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/dialogflow/v3beta1.ts b/src/apis/dialogflow/v3beta1.ts index 5320b269e4..6ee754c2fb 100644 --- a/src/apis/dialogflow/v3beta1.ts +++ b/src/apis/dialogflow/v3beta1.ts @@ -222,7 +222,7 @@ export namespace dialogflow_v3beta1 { config?: Schema$GoogleCloudDialogflowCxV3InputAudioConfig; } /** - * Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up. + * Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up. */ export interface Schema$GoogleCloudDialogflowCxV3BargeInConfig { /** @@ -602,7 +602,7 @@ export namespace dialogflow_v3beta1 { config?: Schema$GoogleCloudDialogflowCxV3beta1InputAudioConfig; } /** - * Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up. + * Configuration of the barge-in behavior. Barge-in instructs the API to return a detected utterance at a proper time while the client is playing back the response audio from a previous request. When the client sees the utterance, it should stop the playback and immediately get ready for receiving the responses for the current request. The barge-in handling requires the client to start streaming audio input as soon as it starts playing back the audio from the previous response. The playback is modeled into two phases: * No barge-in phase: which goes first and during which speech detection should not be carried out. * Barge-in phase: which follows the no barge-in phase and during which the API starts speech detection and may inform the client that an utterance has been detected. Note that no-speech event is not expected in this phase. The client provides this configuration in terms of the durations of those two phases. The durations are measured in terms of the audio length from the start of the input audio. No-speech event is a response with END_OF_UTTERANCE without any transcript following up. */ export interface Schema$GoogleCloudDialogflowCxV3beta1BargeInConfig { /** @@ -906,6 +906,10 @@ export namespace dialogflow_v3beta1 { * Represents an interaction between an end user and a Dialogflow CX agent using V3 (Streaming)DetectIntent API, or an interaction between an end user and a Dialogflow CX agent using V2 (Streaming)AnalyzeContent API. */ export interface Schema$GoogleCloudDialogflowCxV3beta1ConversationInteraction { + /** + * Answer feedback for the final response. + */ + answerFeedback?: Schema$GoogleCloudDialogflowCxV3beta1AnswerFeedback; /** * The time that the interaction was created. */ @@ -934,6 +938,10 @@ export namespace dialogflow_v3beta1 { * The output text or the transcript of the output audio in the responses. If multiple output messages are returned, they will be concatenated into one. */ responseUtterances?: string | null; + /** + * Metrics associated with different processing steps. Names and number of steps depend on the request and can change without a notice. + */ + stepMetrics?: Schema$GoogleCloudDialogflowCxV3beta1ConversationInteractionStepMetrics[]; } /** * Information collected for DF CX agents in case NLU predicted an intent that was filtered out as being inactive which may indicate a missing transition and/or absent functionality. @@ -948,6 +956,19 @@ export namespace dialogflow_v3beta1 { */ score?: number | null; } + /** + * Metrics of each processing step. + */ + export interface Schema$GoogleCloudDialogflowCxV3beta1ConversationInteractionStepMetrics { + /** + * Processing latency of the step. + */ + latency?: string | null; + /** + * Name of the request processing step. + */ + name?: string | null; + } /** * Represents metrics for the conversation. */ @@ -1958,6 +1979,19 @@ export namespace dialogflow_v3beta1 { */ intentsUri?: string | null; } + /** + * The request message for Playbooks.ExportPlaybook. + */ + export interface Schema$GoogleCloudDialogflowCxV3beta1ExportPlaybookRequest { + /** + * Optional. The data format of the exported agent. If not specified, `BLOB` is assumed. + */ + dataFormat?: string | null; + /** + * Optional. The [Google Cloud Storage](https://cloud.google.com/storage/docs/) URI to export the playbook to. The format of this URI must be `gs:///`. If left unspecified, the serialized playbook is returned inline. Dialogflow performs a write operation for the Cloud Storage object on the caller's behalf, so your request authentication must have write permissions for the object. For more information, see [Dialogflow access control](https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage). + */ + playbookUri?: string | null; + } /** * Metadata returned for the TestCases.ExportTestCases long running operation. This message currently has no fields. */ @@ -2085,9 +2119,13 @@ export namespace dialogflow_v3beta1 { globalImportStrategy?: string | null; } /** - * Stores metadata of the invocation of a CX flow. Next Id: 7 + * Stores metadata of the invocation of a CX flow. */ export interface Schema$GoogleCloudDialogflowCxV3beta1FlowInvocation { + /** + * Output only. The display name of the flow. + */ + displayName?: string | null; /** * Required. The unique identifier of the flow. Format: `projects//locations//agents//flows/`. */ @@ -2439,6 +2477,10 @@ export namespace dialogflow_v3beta1 { * The LLM model settings. */ llmModelSettings?: Schema$GoogleCloudDialogflowCxV3beta1LlmModelSettings; + /** + * Parameters passed to the LLM to configure its behavior. + */ + modelParameter?: Schema$GoogleCloudDialogflowCxV3beta1GeneratorModelParameter; /** * The unique identifier of the generator. Must be set for the Generators.UpdateGenerator method. Generators.CreateGenerate populates the name automatically. Format: `projects//locations//agents//generators/`. */ @@ -2452,6 +2494,27 @@ export namespace dialogflow_v3beta1 { */ promptText?: Schema$GoogleCloudDialogflowCxV3beta1Phrase; } + /** + * Parameters to be passed to the LLM. If not set, default values will be used. + */ + export interface Schema$GoogleCloudDialogflowCxV3beta1GeneratorModelParameter { + /** + * The maximum number of tokens to generate. + */ + maxDecodeSteps?: number | null; + /** + * The temperature used for sampling. Temperature sampling occurs after both topP and topK have been applied. Valid range: [0.0, 1.0] Low temperature = less random. High temperature = more random. + */ + temperature?: number | null; + /** + * If set, the sampling process in each step is limited to the top_k tokens with highest probabilities. Valid range: [1, 40] or 1000+. Small topK = less random. Large topK = more random. + */ + topK?: number | null; + /** + * If set, only the tokens comprising the top top_p probability mass are considered. If both top_p and top_k are set, top_p will be used for further refining candidates selected with top_k. Valid range: (0.0, 1.0]. Small topP = less random. Large topP = more random. + */ + topP?: number | null; + } /** * Represents a custom placeholder in the prompt text. */ @@ -2593,6 +2656,23 @@ export namespace dialogflow_v3beta1 { */ intentDisplayNames?: string[] | null; } + /** + * The request message for Playbooks.ImportPlaybook. + */ + export interface Schema$GoogleCloudDialogflowCxV3beta1ImportPlaybookRequest { + /** + * Optional. Specifies the import strategy used when resolving resource conflicts. + */ + importStrategy?: Schema$GoogleCloudDialogflowCxV3beta1PlaybookImportStrategy; + /** + * Uncompressed raw byte content for playbook. + */ + playbookContent?: string | null; + /** + * [Dialogflow access control] (https://cloud.google.com/dialogflow/cx/docs/concept/access-control#storage). + */ + playbookUri?: string | null; + } /** * Metadata returned for the TestCases.ImportTestCases long running operation. */ @@ -3487,6 +3567,23 @@ export namespace dialogflow_v3beta1 { */ updateTime?: string | null; } + /** + * The playbook import strategy used for resource conflict resolution associated with an ImportPlaybookRequest. + */ + export interface Schema$GoogleCloudDialogflowCxV3beta1PlaybookImportStrategy { + /** + * Optional. Specifies the import strategy used when resolving conflicts with the main playbook. If not specified, 'CREATE_NEW' is assumed. + */ + mainPlaybookImportStrategy?: string | null; + /** + * Optional. Specifies the import strategy used when resolving referenced playbook/flow conflicts. If not specified, 'CREATE_NEW' is assumed. + */ + nestedResourceImportStrategy?: string | null; + /** + * Optional. Specifies the import strategy used when resolving tool conflicts. If not specified, 'CREATE_NEW' is assumed. This will be applied after the main playbook and nested resource import strategies, meaning if the playbook that references the tool is skipped, the tool will also be skipped. + */ + toolImportStrategy?: string | null; + } /** * Input of the playbook. */ @@ -3510,9 +3607,13 @@ export namespace dialogflow_v3beta1 { steps?: Schema$GoogleCloudDialogflowCxV3beta1PlaybookStep[]; } /** - * Stores metadata of the invocation of a child playbook. Next Id: 5 + * Stores metadata of the invocation of a child playbook. */ export interface Schema$GoogleCloudDialogflowCxV3beta1PlaybookInvocation { + /** + * Output only. The display name of the playbook. + */ + displayName?: string | null; /** * Required. The unique identifier of the playbook. Format: `projects//locations//agents//playbooks/`. */ @@ -3631,7 +3732,7 @@ export namespace dialogflow_v3beta1 { */ currentPage?: string | null; /** - * Optional. Start the session with the specified playbook. You can only specify the playbook at the beginning of the session. Otherwise, an error will be thrown. Format: `projects//locations//agents//playbooks/`. + * Optional. The unique identifier of the playbook to start or continue the session with. If `current_playbook` is specified, the previous state of the session will be ignored by Dialogflow. Format: `projects//locations//agents//playbooks/`. */ currentPlaybook?: string | null; /** @@ -3992,6 +4093,19 @@ export namespace dialogflow_v3beta1 { */ trackingBranch?: string | null; } + /** + * The request message for Playbooks.RestorePlaybookVersion. + */ + export interface Schema$GoogleCloudDialogflowCxV3beta1RestorePlaybookVersionRequest {} + /** + * The response message for Playbooks.RestorePlaybookVersion. + */ + export interface Schema$GoogleCloudDialogflowCxV3beta1RestorePlaybookVersionResponse { + /** + * The updated playbook. + */ + playbook?: Schema$GoogleCloudDialogflowCxV3beta1Playbook; + } /** * The configuration for auto rollout. */ @@ -4719,6 +4833,10 @@ export namespace dialogflow_v3beta1 { * Optional. Name of the action to be called during the tool use. */ action?: string | null; + /** + * Output only. The display name of the tool. + */ + displayName?: string | null; /** * Optional. A list of input parameters for the action. */ @@ -7138,6 +7256,10 @@ export namespace dialogflow_v3beta1 { * Payload of NEW_MESSAGE event. */ newMessagePayload?: Schema$GoogleCloudDialogflowV2beta1Message; + /** + * Payload of NEW_RECOGNITION_RESULT event. + */ + newRecognitionResultPayload?: Schema$GoogleCloudDialogflowV2beta1StreamingRecognitionResult; /** * Required. The type of the event that this notification refers to. */ @@ -8305,6 +8427,10 @@ export namespace dialogflow_v3beta1 { * Snippet Source for a Generative Prediction. */ export interface Schema$GoogleCloudDialogflowV2beta1KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet { + /** + * Metadata of the document. + */ + metadata?: {[key: string]: any} | null; /** * Text taken from that URI. */ @@ -8659,6 +8785,68 @@ export namespace dialogflow_v3beta1 { */ reply?: string | null; } + /** + * Information for a word recognized by the speech recognizer. + */ + export interface Schema$GoogleCloudDialogflowV2beta1SpeechWordInfo { + /** + * The Speech confidence between 0.0 and 1.0 for this word. A higher number indicates an estimated greater likelihood that the recognized word is correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is not guaranteed to be fully stable over time for the same audio input. Users should also not rely on it to always be provided. + */ + confidence?: number | null; + /** + * Time offset relative to the beginning of the audio that corresponds to the end of the spoken word. This is an experimental feature and the accuracy of the time offset can vary. + */ + endOffset?: string | null; + /** + * Time offset relative to the beginning of the audio that corresponds to the start of the spoken word. This is an experimental feature and the accuracy of the time offset can vary. + */ + startOffset?: string | null; + /** + * The word this info is for. + */ + word?: string | null; + } + /** + * Contains a speech recognition result corresponding to a portion of the audio that is currently being processed or an indication that this is the end of the single requested utterance. While end-user audio is being processed, Dialogflow sends a series of results. Each result may contain a `transcript` value. A transcript represents a portion of the utterance. While the recognizer is processing audio, transcript values may be interim values or finalized values. Once a transcript is finalized, the `is_final` value is set to true and processing continues for the next transcript. If `StreamingDetectIntentRequest.query_input.audio_config.single_utterance` was true, and the recognizer has completed processing audio, the `message_type` value is set to `END_OF_SINGLE_UTTERANCE and the following (last) result contains the last finalized transcript. The complete end-user utterance is determined by concatenating the finalized transcript values received for the series of results. In the following example, single utterance is enabled. In the case where single utterance is not enabled, result 7 would not occur. ``` Num | transcript | message_type | is_final --- | ----------------------- | ----------------------- | -------- 1 | "tube" | TRANSCRIPT | false 2 | "to be a" | TRANSCRIPT | false 3 | "to be" | TRANSCRIPT | false 4 | "to be or not to be" | TRANSCRIPT | true 5 | "that's" | TRANSCRIPT | false 6 | "that is | TRANSCRIPT | false 7 | unset | END_OF_SINGLE_UTTERANCE | unset 8 | " that is the question" | TRANSCRIPT | true ``` Concatenating the finalized transcripts with `is_final` set to true, the complete utterance becomes "to be or not to be that is the question". + */ + export interface Schema$GoogleCloudDialogflowV2beta1StreamingRecognitionResult { + /** + * The Speech confidence between 0.0 and 1.0 for the current portion of audio. A higher number indicates an estimated greater likelihood that the recognized words are correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is typically only provided if `is_final` is true and you should not rely on it being accurate or even set. + */ + confidence?: number | null; + /** + * DTMF digits. Populated if and only if `message_type` = `DTMF_DIGITS`. + */ + dtmfDigits?: Schema$GoogleCloudDialogflowV2beta1TelephonyDtmfEvents; + /** + * If `false`, the `StreamingRecognitionResult` represents an interim result that may change. If `true`, the recognizer will not return any further hypotheses about this piece of the audio. May only be populated for `message_type` = `TRANSCRIPT`. + */ + isFinal?: boolean | null; + /** + * Detected language code for the transcript. + */ + languageCode?: string | null; + /** + * Type of the result message. + */ + messageType?: string | null; + /** + * Time offset of the end of this Speech recognition result relative to the beginning of the audio. Only populated for `message_type` = `TRANSCRIPT`. + */ + speechEndOffset?: string | null; + /** + * Word-specific information for the words recognized by Speech in transcript. Populated if and only if `message_type` = `TRANSCRIPT` and [InputAudioConfig.enable_word_info] is set. + */ + speechWordInfo?: Schema$GoogleCloudDialogflowV2beta1SpeechWordInfo[]; + /** + * An estimate of the likelihood that the speech recognizer will not change its guess about this interim recognition result: * If the value is unspecified or 0.0, Dialogflow didn't compute the stability. In particular, Dialogflow will only provide stability for `TRANSCRIPT` results with `is_final = false`. * Otherwise, the value is in (0.0, 1.0] where 0.0 means completely unstable and 1.0 means completely stable. + */ + stability?: number | null; + /** + * Transcript text representing the words that the user spoke. Populated if and only if `message_type` = `TRANSCRIPT`. + */ + transcript?: string | null; + } /** * The response message for Participants.SuggestArticles. */ @@ -8777,6 +8965,15 @@ export namespace dialogflow_v3beta1 { */ smartReplyAnswers?: Schema$GoogleCloudDialogflowV2beta1SmartReplyAnswer[]; } + /** + * A wrapper of repeated TelephonyDtmf digits. + */ + export interface Schema$GoogleCloudDialogflowV2beta1TelephonyDtmfEvents { + /** + * A sequence of TelephonyDtmf digits. + */ + dtmfEvents?: string[] | null; + } /** * The request message for a webhook call. */ @@ -8844,7 +9041,7 @@ export namespace dialogflow_v3beta1 { source?: string | null; } /** - * Metadata for a ConversationProfile.ClearSuggestionFeatureConfig operation. + * Metadata for a ConversationProfiles.ClearSuggestionFeatureConfig operation. */ export interface Schema$GoogleCloudDialogflowV2ClearSuggestionFeatureConfigOperationMetadata { /** @@ -8897,6 +9094,10 @@ export namespace dialogflow_v3beta1 { * Payload of NEW_MESSAGE event. */ newMessagePayload?: Schema$GoogleCloudDialogflowV2Message; + /** + * Payload of NEW_RECOGNITION_RESULT event. + */ + newRecognitionResultPayload?: Schema$GoogleCloudDialogflowV2StreamingRecognitionResult; /** * The type of the event that this notification refers to. */ @@ -8948,7 +9149,7 @@ export namespace dialogflow_v3beta1 { state?: string | null; } /** - * Metadata for ConversationDatasets. + * Metadata for CreateConversationDataset. */ export interface Schema$GoogleCloudDialogflowV2CreateConversationDatasetOperationMetadata { /** @@ -8995,7 +9196,7 @@ export namespace dialogflow_v3beta1 { state?: string | null; } /** - * Metadata for ConversationDatasets. + * Metadata for DeleteConversationDataset. */ export interface Schema$GoogleCloudDialogflowV2DeleteConversationDatasetOperationMetadata {} /** @@ -9944,6 +10145,10 @@ export namespace dialogflow_v3beta1 { * Snippet Source for a Generative Prediction. */ export interface Schema$GoogleCloudDialogflowV2KnowledgeAssistAnswerKnowledgeAnswerGenerativeSourceSnippet { + /** + * Metadata of the document. + */ + metadata?: {[key: string]: any} | null; /** * Text taken from that URI. */ @@ -10137,7 +10342,7 @@ export namespace dialogflow_v3beta1 { score?: number | null; } /** - * The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral. For Participants.DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For Participants.StreamingDetectIntent, it needs to be configured in StreamingDetectIntentRequest.query_params. And for Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it needs to be configured in ConversationProfile.human_agent_assistant_config + * The result of sentiment analysis. Sentiment analysis inspects user input and identifies the prevailing subjective opinion, especially to determine a user's attitude as positive, negative, or neutral. For DetectIntent, it needs to be configured in DetectIntentRequest.query_params. For StreamingDetectIntent, it needs to be configured in StreamingDetectIntentRequest.query_params. And for Participants.AnalyzeContent and Participants.StreamingAnalyzeContent, it needs to be configured in ConversationProfile.human_agent_assistant_config */ export interface Schema$GoogleCloudDialogflowV2SentimentAnalysisResult { /** @@ -10163,7 +10368,7 @@ export namespace dialogflow_v3beta1 { name?: string | null; } /** - * Metadata for a ConversationProfile.SetSuggestionFeatureConfig operation. + * Metadata for a ConversationProfiles.SetSuggestionFeatureConfig operation. */ export interface Schema$GoogleCloudDialogflowV2SetSuggestionFeatureConfigOperationMetadata { /** @@ -10209,6 +10414,60 @@ export namespace dialogflow_v3beta1 { */ trainingModelType?: string | null; } + /** + * Information for a word recognized by the speech recognizer. + */ + export interface Schema$GoogleCloudDialogflowV2SpeechWordInfo { + /** + * The Speech confidence between 0.0 and 1.0 for this word. A higher number indicates an estimated greater likelihood that the recognized word is correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is not guaranteed to be fully stable over time for the same audio input. Users should also not rely on it to always be provided. + */ + confidence?: number | null; + /** + * Time offset relative to the beginning of the audio that corresponds to the end of the spoken word. This is an experimental feature and the accuracy of the time offset can vary. + */ + endOffset?: string | null; + /** + * Time offset relative to the beginning of the audio that corresponds to the start of the spoken word. This is an experimental feature and the accuracy of the time offset can vary. + */ + startOffset?: string | null; + /** + * The word this info is for. + */ + word?: string | null; + } + /** + * Contains a speech recognition result corresponding to a portion of the audio that is currently being processed or an indication that this is the end of the single requested utterance. While end-user audio is being processed, Dialogflow sends a series of results. Each result may contain a `transcript` value. A transcript represents a portion of the utterance. While the recognizer is processing audio, transcript values may be interim values or finalized values. Once a transcript is finalized, the `is_final` value is set to true and processing continues for the next transcript. If `StreamingDetectIntentRequest.query_input.audio_config.single_utterance` was true, and the recognizer has completed processing audio, the `message_type` value is set to `END_OF_SINGLE_UTTERANCE and the following (last) result contains the last finalized transcript. The complete end-user utterance is determined by concatenating the finalized transcript values received for the series of results. In the following example, single utterance is enabled. In the case where single utterance is not enabled, result 7 would not occur. ``` Num | transcript | message_type | is_final --- | ----------------------- | ----------------------- | -------- 1 | "tube" | TRANSCRIPT | false 2 | "to be a" | TRANSCRIPT | false 3 | "to be" | TRANSCRIPT | false 4 | "to be or not to be" | TRANSCRIPT | true 5 | "that's" | TRANSCRIPT | false 6 | "that is | TRANSCRIPT | false 7 | unset | END_OF_SINGLE_UTTERANCE | unset 8 | " that is the question" | TRANSCRIPT | true ``` Concatenating the finalized transcripts with `is_final` set to true, the complete utterance becomes "to be or not to be that is the question". + */ + export interface Schema$GoogleCloudDialogflowV2StreamingRecognitionResult { + /** + * The Speech confidence between 0.0 and 1.0 for the current portion of audio. A higher number indicates an estimated greater likelihood that the recognized words are correct. The default of 0.0 is a sentinel value indicating that confidence was not set. This field is typically only provided if `is_final` is true and you should not rely on it being accurate or even set. + */ + confidence?: number | null; + /** + * If `false`, the `StreamingRecognitionResult` represents an interim result that may change. If `true`, the recognizer will not return any further hypotheses about this piece of the audio. May only be populated for `message_type` = `TRANSCRIPT`. + */ + isFinal?: boolean | null; + /** + * Detected language code for the transcript. + */ + languageCode?: string | null; + /** + * Type of the result message. + */ + messageType?: string | null; + /** + * Time offset of the end of this Speech recognition result relative to the beginning of the audio. Only populated for `message_type` = `TRANSCRIPT`. + */ + speechEndOffset?: string | null; + /** + * Word-specific information for the words recognized by Speech in transcript. Populated if and only if `message_type` = `TRANSCRIPT` and [InputAudioConfig.enable_word_info] is set. + */ + speechWordInfo?: Schema$GoogleCloudDialogflowV2SpeechWordInfo[]; + /** + * Transcript text representing the words that the user spoke. Populated if and only if `message_type` = `TRANSCRIPT`. + */ + transcript?: string | null; + } /** * The response message for Participants.SuggestArticles. */ @@ -20825,6 +21084,102 @@ export namespace dialogflow_v3beta1 { } } + /** + * Exports the specified playbook to a binary file. Note that resources (e.g. examples, tools) that the playbook references will also be exported. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + export( + params: Params$Resource$Projects$Locations$Agents$Playbooks$Export, + options: StreamMethodOptions + ): GaxiosPromise; + export( + params?: Params$Resource$Projects$Locations$Agents$Playbooks$Export, + options?: MethodOptions + ): GaxiosPromise; + export( + params: Params$Resource$Projects$Locations$Agents$Playbooks$Export, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + export( + params: Params$Resource$Projects$Locations$Agents$Playbooks$Export, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + export( + params: Params$Resource$Projects$Locations$Agents$Playbooks$Export, + callback: BodyResponseCallback + ): void; + export( + callback: BodyResponseCallback + ): void; + export( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Agents$Playbooks$Export + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Agents$Playbooks$Export; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Agents$Playbooks$Export; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v3beta1/{+name}:export').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Retrieves the specified Playbook. * @@ -20919,6 +21274,102 @@ export namespace dialogflow_v3beta1 { } } + /** + * Imports the specified playbook to the specified agent from a binary file. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + import( + params: Params$Resource$Projects$Locations$Agents$Playbooks$Import, + options: StreamMethodOptions + ): GaxiosPromise; + import( + params?: Params$Resource$Projects$Locations$Agents$Playbooks$Import, + options?: MethodOptions + ): GaxiosPromise; + import( + params: Params$Resource$Projects$Locations$Agents$Playbooks$Import, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + import( + params: Params$Resource$Projects$Locations$Agents$Playbooks$Import, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + import( + params: Params$Resource$Projects$Locations$Agents$Playbooks$Import, + callback: BodyResponseCallback + ): void; + import( + callback: BodyResponseCallback + ): void; + import( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Agents$Playbooks$Import + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Agents$Playbooks$Import; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Agents$Playbooks$Import; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v3beta1/{+parent}/playbooks:import').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Returns a list of playbooks in the specified agent. * @@ -21131,6 +21582,18 @@ export namespace dialogflow_v3beta1 { */ name?: string; } + export interface Params$Resource$Projects$Locations$Agents$Playbooks$Export + extends StandardParameters { + /** + * Required. The name of the playbook to export. Format: `projects//locations//agents//playbooks/`. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowCxV3beta1ExportPlaybookRequest; + } export interface Params$Resource$Projects$Locations$Agents$Playbooks$Get extends StandardParameters { /** @@ -21138,6 +21601,18 @@ export namespace dialogflow_v3beta1 { */ name?: string; } + export interface Params$Resource$Projects$Locations$Agents$Playbooks$Import + extends StandardParameters { + /** + * Required. The agent to import the playbook into. Format: `projects//locations//agents/`. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowCxV3beta1ImportPlaybookRequest; + } export interface Params$Resource$Projects$Locations$Agents$Playbooks$List extends StandardParameters { /** @@ -22099,6 +22574,104 @@ export namespace dialogflow_v3beta1 { ); } } + + /** + * Retrieves the specified version of the Playbook and stores it as the current playbook draft, returning the playbook with resources updated. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + restore( + params: Params$Resource$Projects$Locations$Agents$Playbooks$Versions$Restore, + options: StreamMethodOptions + ): GaxiosPromise; + restore( + params?: Params$Resource$Projects$Locations$Agents$Playbooks$Versions$Restore, + options?: MethodOptions + ): GaxiosPromise; + restore( + params: Params$Resource$Projects$Locations$Agents$Playbooks$Versions$Restore, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + restore( + params: Params$Resource$Projects$Locations$Agents$Playbooks$Versions$Restore, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + restore( + params: Params$Resource$Projects$Locations$Agents$Playbooks$Versions$Restore, + callback: BodyResponseCallback + ): void; + restore( + callback: BodyResponseCallback + ): void; + restore( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Agents$Playbooks$Versions$Restore + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Agents$Playbooks$Versions$Restore; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Agents$Playbooks$Versions$Restore; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://dialogflow.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v3beta1/{+name}:restore').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } } export interface Params$Resource$Projects$Locations$Agents$Playbooks$Versions$Create @@ -22142,6 +22715,18 @@ export namespace dialogflow_v3beta1 { */ parent?: string; } + export interface Params$Resource$Projects$Locations$Agents$Playbooks$Versions$Restore + extends StandardParameters { + /** + * Required. The name of the playbook version. Format: `projects//locations//agents//playbooks//versions/`. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDialogflowCxV3beta1RestorePlaybookVersionRequest; + } export class Resource$Projects$Locations$Agents$Sessions { context: APIRequestContext; @@ -26321,7 +26906,7 @@ export namespace dialogflow_v3beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -27180,7 +27765,7 @@ export namespace dialogflow_v3beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/digitalassetlinks/v1.ts b/src/apis/digitalassetlinks/v1.ts index a2443866e4..59e298ed0c 100644 --- a/src/apis/digitalassetlinks/v1.ts +++ b/src/apis/digitalassetlinks/v1.ts @@ -152,48 +152,6 @@ export namespace digitalassetlinks_v1 { */ web?: Schema$WebAsset; } - /** - * Message used to check for the existence of multiple digital asset links within a single RPC. - */ - export interface Schema$BulkCheckRequest { - /** - * Same configuration as in Check request, all statements checks will use same configurations. - */ - allowGoogleInternalDataSources?: boolean | null; - /** - * If specified, will be used in any given template statement that doesn’t specify a relation. - */ - defaultRelation?: string | null; - /** - * If specified, will be used in any given template statement that doesn’t specify a source. - */ - defaultSource?: Schema$Asset; - /** - * If specified, will be used in any given template statement that doesn’t specify a target. - */ - defaultTarget?: Schema$Asset; - /** - * Same configuration as in Check request, all statements checks will use same configurations. - */ - skipCacheLookup?: boolean | null; - /** - * List of statements to check. For each statement, you can omit a field if the corresponding default_* field below was supplied. Minimum 1 statement; maximum 1,000 statements. Any additional statements will be ignored. - */ - statements?: Schema$StatementTemplate[]; - } - /** - * Response for BulkCheck call. Results are sent in a list in the same order in which they were sent. Individual check errors are described in the appropriate check_results entry. If the entire call fails, the response will include a bulk_error_code field describing the error. - */ - export interface Schema$BulkCheckResponse { - /** - * Error code for the entire request. Present only if the entire request failed. Individual check errors will not trigger the presence of this field. - */ - bulkErrorCode?: string | null; - /** - * List of results for each check request. Results are returned in the same order in which they were sent in the request. - */ - checkResults?: Schema$CheckResponse[]; - } /** * Describes an X509 certificate. */ @@ -262,23 +220,6 @@ export namespace digitalassetlinks_v1 { */ target?: Schema$Asset; } - /** - * A single statement to check in a bulk call using BulkCheck. See CheckRequest for details about each field. - */ - export interface Schema$StatementTemplate { - /** - * The relationship being asserted between the source and target. If omitted, you must specify a BulkCheckRequest.default_relation value to use here. - */ - relation?: string | null; - /** - * The source asset that is asserting the statement. If omitted, you must specify a BulkCheckRequest.default_source value to use here. - */ - source?: Schema$Asset; - /** - * The target that the source is declaring the relationship with. If omitted, you must specify a BulkCheckRequest.default_target to use here. - */ - target?: Schema$Asset; - } /** * Describes a web asset. */ @@ -295,98 +236,6 @@ export namespace digitalassetlinks_v1 { this.context = context; } - /** - * Send a bundle of statement checks in a single RPC to minimize latency and service load. Statements need not be all for the same source and/or target. We recommend using this method when you need to check more than one statement in a short period of time. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - bulkCheck( - params: Params$Resource$Assetlinks$Bulkcheck, - options: StreamMethodOptions - ): GaxiosPromise; - bulkCheck( - params?: Params$Resource$Assetlinks$Bulkcheck, - options?: MethodOptions - ): GaxiosPromise; - bulkCheck( - params: Params$Resource$Assetlinks$Bulkcheck, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - bulkCheck( - params: Params$Resource$Assetlinks$Bulkcheck, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - bulkCheck( - params: Params$Resource$Assetlinks$Bulkcheck, - callback: BodyResponseCallback - ): void; - bulkCheck(callback: BodyResponseCallback): void; - bulkCheck( - paramsOrCallback?: - | Params$Resource$Assetlinks$Bulkcheck - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Assetlinks$Bulkcheck; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Assetlinks$Bulkcheck; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://digitalassetlinks.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1/assetlinks:bulkCheck').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: [], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - /** * Determines whether the specified (directional) relationship exists between the specified source and target assets. The relation describes the intent of the link between the two assets as claimed by the source asset. An example for such relationships is the delegation of privileges or permissions. This command is most often used by infrastructure systems to check preconditions for an action. For example, a client may want to know if it is OK to send a web URL to a particular mobile app instead. The client can check for the relevant asset link from the website to the mobile app to decide if the operation should be allowed. A note about security: if you specify a secure asset as the source, such as an HTTPS website or an Android app, the API will ensure that any statements used to generate the response have been made in a secure way by the owner of that asset. Conversely, if the source asset is an insecure HTTP website (that is, the URL starts with `http://` instead of `https://`), the API cannot verify its statements securely, and it is not possible to ensure that the website's statements have not been altered by a third party. For more information, see the [Digital Asset Links technical design specification](https://github.com/google/digitalassetlinks/blob/master/well-known/details.md). * @@ -476,13 +325,6 @@ export namespace digitalassetlinks_v1 { } } - export interface Params$Resource$Assetlinks$Bulkcheck - extends StandardParameters { - /** - * Request body metadata - */ - requestBody?: Schema$BulkCheckRequest; - } export interface Params$Resource$Assetlinks$Check extends StandardParameters { /** * Query string for the relation. We identify relations with strings of the format `/`, where `` must be one of a set of pre-defined purpose categories, and `` is a free-form lowercase alphanumeric string that describes the specific use case of the statement. Refer to [our API documentation](/digital-asset-links/v1/relation-strings) for the current list of supported relations. For a query to match an asset link, both the query's and the asset link's relation strings must match exactly. Example: A query with relation `delegate_permission/common.handle_all_urls` matches an asset link with relation `delegate_permission/common.handle_all_urls`. diff --git a/src/apis/discoveryengine/v1.ts b/src/apis/discoveryengine/v1.ts index f19aeafae8..f231a21ef4 100644 --- a/src/apis/discoveryengine/v1.ts +++ b/src/apis/discoveryengine/v1.ts @@ -124,6 +124,129 @@ export namespace discoveryengine_v1 { } } + /** + * `Distribution` contains summary statistics for a population of values. It optionally contains a histogram representing the distribution of those values across a set of buckets. The summary statistics are the count, mean, sum of the squared deviation from the mean, the minimum, and the maximum of the set of population of values. The histogram is based on a sequence of buckets and gives a count of values that fall into each bucket. The boundaries of the buckets are given either explicitly or by formulas for buckets of fixed or exponentially increasing widths. Although it is not forbidden, it is generally a bad idea to include non-finite values (infinities or NaNs) in the population of values, as this will render the `mean` and `sum_of_squared_deviation` fields meaningless. + */ + export interface Schema$GoogleApiDistribution { + /** + * The number of values in each bucket of the histogram, as described in `bucket_options`. If the distribution does not have a histogram, then omit this field. If there is a histogram, then the sum of the values in `bucket_counts` must equal the value in the `count` field of the distribution. If present, `bucket_counts` should contain N values, where N is the number of buckets specified in `bucket_options`. If you supply fewer than N values, the remaining values are assumed to be 0. The order of the values in `bucket_counts` follows the bucket numbering schemes described for the three bucket types. The first value must be the count for the underflow bucket (number 0). The next N-2 values are the counts for the finite buckets (number 1 through N-2). The N'th value in `bucket_counts` is the count for the overflow bucket (number N-1). + */ + bucketCounts?: string[] | null; + /** + * Defines the histogram bucket boundaries. If the distribution does not contain a histogram, then omit this field. + */ + bucketOptions?: Schema$GoogleApiDistributionBucketOptions; + /** + * The number of values in the population. Must be non-negative. This value must equal the sum of the values in `bucket_counts` if a histogram is provided. + */ + count?: string | null; + /** + * Must be in increasing order of `value` field. + */ + exemplars?: Schema$GoogleApiDistributionExemplar[]; + /** + * The arithmetic mean of the values in the population. If `count` is zero then this field must be zero. + */ + mean?: number | null; + /** + * If specified, contains the range of the population values. The field must not be present if the `count` is zero. + */ + range?: Schema$GoogleApiDistributionRange; + /** + * The sum of squared deviations from the mean of the values in the population. For values x_i this is: Sum[i=1..n]((x_i - mean)^2) Knuth, "The Art of Computer Programming", Vol. 2, page 232, 3rd edition describes Welford's method for accumulating this sum in one pass. If `count` is zero then this field must be zero. + */ + sumOfSquaredDeviation?: number | null; + } + /** + * `BucketOptions` describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. `BucketOptions` does not include the number of values in each bucket. A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i \> 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite. + */ + export interface Schema$GoogleApiDistributionBucketOptions { + /** + * The explicit buckets. + */ + explicitBuckets?: Schema$GoogleApiDistributionBucketOptionsExplicit; + /** + * The exponential buckets. + */ + exponentialBuckets?: Schema$GoogleApiDistributionBucketOptionsExponential; + /** + * The linear bucket. + */ + linearBuckets?: Schema$GoogleApiDistributionBucketOptionsLinear; + } + /** + * Specifies a set of buckets with arbitrary widths. There are `size(bounds) + 1` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 <= i < N-1): bounds[i] Lower bound (1 <= i < N); bounds[i - 1] The `bounds` field must contain at least one element. If `bounds` has only one element, then there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets. + */ + export interface Schema$GoogleApiDistributionBucketOptionsExplicit { + /** + * The values must be monotonically increasing. + */ + bounds?: number[] | null; + } + /** + * Specifies an exponential sequence of buckets that have a width that is proportional to the value of the lower bound. Each bucket represents a constant relative uncertainty on a specific value in the bucket. There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 <= i < N-1): scale * (growth_factor ^ i). Lower bound (1 <= i < N): scale * (growth_factor ^ (i - 1)). + */ + export interface Schema$GoogleApiDistributionBucketOptionsExponential { + /** + * Must be greater than 1. + */ + growthFactor?: number | null; + /** + * Must be greater than 0. + */ + numFiniteBuckets?: number | null; + /** + * Must be greater than 0. + */ + scale?: number | null; + } + /** + * Specifies a linear sequence of buckets that all have the same width (except overflow and underflow). Each bucket represents a constant absolute uncertainty on the specific value in the bucket. There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 <= i < N-1): offset + (width * i). Lower bound (1 <= i < N): offset + (width * (i - 1)). + */ + export interface Schema$GoogleApiDistributionBucketOptionsLinear { + /** + * Must be greater than 0. + */ + numFiniteBuckets?: number | null; + /** + * Lower bound of the first bucket. + */ + offset?: number | null; + /** + * Must be greater than 0. + */ + width?: number | null; + } + /** + * Exemplars are example points that may be used to annotate aggregated distribution values. They are metadata that gives information about a particular value added to a Distribution bucket, such as a trace ID that was active when a value was added. They may contain further information, such as a example values and timestamps, origin, etc. + */ + export interface Schema$GoogleApiDistributionExemplar { + /** + * Contextual information about the example value. Examples are: Trace: type.googleapis.com/google.monitoring.v3.SpanContext Literal string: type.googleapis.com/google.protobuf.StringValue Labels dropped during aggregation: type.googleapis.com/google.monitoring.v3.DroppedLabels There may be only a single attachment of any given message type in a single exemplar, and this is enforced by the system. + */ + attachments?: Array<{[key: string]: any}> | null; + /** + * The observation (sampling) time of the above value. + */ + timestamp?: string | null; + /** + * Value of the exemplar point. This value determines to which bucket the exemplar belongs. + */ + value?: number | null; + } + /** + * The range of the population values. + */ + export interface Schema$GoogleApiDistributionRange { + /** + * The maximum of the population values. + */ + max?: number | null; + /** + * The minimum of the population values. + */ + min?: number | null; + } /** * Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; \} service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); \} Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); \} Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged. */ @@ -141,6 +264,45 @@ export namespace discoveryengine_v1 { */ extensions?: Array<{[key: string]: any}> | null; } + /** + * A specific metric, identified by specifying values for all of the labels of a `MetricDescriptor`. + */ + export interface Schema$GoogleApiMetric { + /** + * The set of label values that uniquely identify this metric. All labels listed in the `MetricDescriptor` must be assigned values. + */ + labels?: {[key: string]: string} | null; + /** + * An existing metric type, see google.api.MetricDescriptor. For example, `custom.googleapis.com/invoice/paid/amount`. + */ + type?: string | null; + } + /** + * An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The `type` field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the `labels` field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for `"gce_instance"` has labels `"project_id"`, `"instance_id"` and `"zone"`: { "type": "gce_instance", "labels": { "project_id": "my-project", "instance_id": "12345678901234", "zone": "us-central1-a" \}\} + */ + export interface Schema$GoogleApiMonitoredResource { + /** + * Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels `"project_id"`, `"instance_id"`, and `"zone"`. + */ + labels?: {[key: string]: string} | null; + /** + * Required. The monitored resource type. This field must match the `type` field of a MonitoredResourceDescriptor object. For example, the type of a Compute Engine VM instance is `gce_instance`. Some descriptors include the service name in the type; for example, the type of a Datastream stream is `datastream.googleapis.com/Stream`. + */ + type?: string | null; + } + /** + * Auxiliary metadata for a MonitoredResource object. MonitoredResource objects contain the minimum set of information to uniquely identify a monitored resource instance. There is some other useful auxiliary metadata. Monitoring and Logging use an ingestion pipeline to extract metadata for cloud resources of all types, and store the metadata in this message. + */ + export interface Schema$GoogleApiMonitoredResourceMetadata { + /** + * Output only. Values for predefined system metadata labels. System labels are a kind of metadata extracted by Google, including "machine_image", "vpc", "subnet_id", "security_group", "name", etc. System label values can be only strings, Boolean values, or a list of strings. For example: { "name": "my-test-instance", "security_group": ["a", "b", "c"], "spot_instance": false \} + */ + systemLabels?: {[key: string]: any} | null; + /** + * Output only. A map of user-defined metadata labels. + */ + userLabels?: {[key: string]: string} | null; + } /** * A description of the context in which an error occurred. */ @@ -239,6 +401,19 @@ export namespace discoveryengine_v1 { */ functionName?: string | null; } + /** + * Configuration data for advance site search. + */ + export interface Schema$GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig { + /** + * If set true, automatic refresh is disabled for the DataStore. + */ + disableAutomaticRefresh?: boolean | null; + /** + * If set true, initial indexing is disabled for the DataStore. + */ + disableInitialIndex?: boolean | null; + } /** * AlloyDB source import data from. */ @@ -281,6 +456,32 @@ export namespace discoveryengine_v1 { */ name?: string | null; } + /** + * Informations to support actions on the connector. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaActionConfig { + /** + * Required. Params needed to support actions in the format of (Key, Value) pairs. Required parameters for sources that support OAUTH, i.e. `gmail`, `google_calendar`, `jira`, `workday`, `salesforce`, `confluence`: * Key: `client_id` * Value: type STRING. The client id for the service provider to identify your application. * Key: `client_secret` * Value:type STRING. The client secret generated by the application's authorization server. + */ + actionParams?: {[key: string]: any} | null; + /** + * Output only. The connector contains the necessary parameters and is configured to support actions. + */ + isActionConfigured?: boolean | null; + } + /** + * Configuration data for advance site search. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaAdvancedSiteSearchConfig { + /** + * If set true, automatic refresh is disabled for the DataStore. + */ + disableAutomaticRefresh?: boolean | null; + /** + * If set true, initial indexing is disabled for the DataStore. + */ + disableInitialIndex?: boolean | null; + } /** * Defines an answer. */ @@ -305,6 +506,14 @@ export namespace discoveryengine_v1 { * Output only. Answer creation timestamp. */ createTime?: string | null; + /** + * A score in the range of [0, 1] describing how grounded the answer is by the reference chunks. + */ + groundingScore?: number | null; + /** + * Optional. Grounding supports. + */ + groundingSupports?: Schema$GoogleCloudDiscoveryengineV1alphaAnswerGroundingSupport[]; /** * Immutable. Fully qualified name `projects/{project\}/locations/global/collections/{collection\}/engines/{engine\}/sessions/x/answers/x` */ @@ -321,6 +530,10 @@ export namespace discoveryengine_v1 { * Suggested related questions. */ relatedQuestions?: string[] | null; + /** + * Optional. Safety ratings. + */ + safetyRatings?: Schema$GoogleCloudDiscoveryengineV1alphaSafetyRating[]; /** * The state of the answer generation. */ @@ -356,6 +569,31 @@ export namespace discoveryengine_v1 { */ referenceId?: string | null; } + /** + * Grounding support for a claim in `answer_text`. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaAnswerGroundingSupport { + /** + * Required. End of the claim, exclusive. + */ + endIndex?: string | null; + /** + * Indicates that this claim required grounding check. When the system decided this claim didn't require attribution/grounding check, this field is set to false. In that case, no grounding check was done for the claim and therefore `grounding_score`, `sources` is not returned. + */ + groundingCheckRequired?: boolean | null; + /** + * A score in the range of [0, 1] describing how grounded is a specific claim by the references. Higher value means that the claim is better supported by the reference chunks. + */ + groundingScore?: number | null; + /** + * Optional. Citation sources for the claim. + */ + sources?: Schema$GoogleCloudDiscoveryengineV1alphaAnswerCitationSource[]; + /** + * Required. Index indicates the start of the claim, measured in bytes (UTF-8 unicode). + */ + startIndex?: string | null; + } /** * Query understanding information. */ @@ -553,7 +791,7 @@ export namespace discoveryengine_v1 { */ snippetInfo?: Schema$GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultSnippetInfo[]; /** - * Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result. . + * Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result. */ structData?: {[key: string]: any} | null; /** @@ -626,6 +864,60 @@ export namespace discoveryengine_v1 { */ targetSites?: Schema$GoogleCloudDiscoveryengineV1alphaTargetSite[]; } + /** + * Configurations used to enable CMEK data encryption with Cloud KMS keys. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaCmekConfig { + /** + * Output only. The default CmekConfig for the Customer. + */ + isDefault?: boolean | null; + /** + * Kms key resource name which will be used to encrypt resources `projects/{project\}/locations/{location\}/keyRings/{keyRing\}/cryptoKeys/{keyId\}`. + */ + kmsKey?: string | null; + /** + * Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion\}`. + */ + kmsKeyVersion?: string | null; + /** + * Output only. The timestamp of the last key rotation. + */ + lastRotationTimestampMicros?: string | null; + /** + * Required. Name of the CmekConfig, of the form `projects/{project\}/locations/{location\}/cmekConfig` or `projects/{project\}/locations/{location\}/cmekConfigs/{cmekConfig\}`. + */ + name?: string | null; + /** + * Optional. Single-regional CMEKs that are required for some VAIS features. + */ + singleRegionKeys?: Schema$GoogleCloudDiscoveryengineV1alphaSingleRegionKey[]; + /** + * Output only. State of the CmekConfig. + */ + state?: string | null; + } + /** + * Collection is a container for configuring resources and access to a set of DataStores. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaCollection { + /** + * Output only. Timestamp the Collection was created at. + */ + createTime?: string | null; + /** + * Output only. The data connector, if present, manages the connection for data stores in the Collection. To set up the connector, use DataConnectorService.SetUpDataConnector method, which creates a new Collection while setting up the DataConnector singleton resource. Setting up connector on an existing Collection is not supported. This output only field contains a subset of the DataConnector fields, including `name`, `data_source`, `entities.entity_name` and `entities.data_store`. To get more details about a data connector, use the DataConnectorService.GetDataConnector method. + */ + dataConnector?: Schema$GoogleCloudDiscoveryengineV1alphaDataConnector; + /** + * Required. The Collection display name. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. + */ + displayName?: string | null; + /** + * Immutable. The full resource name of the Collection. Format: `projects/{project\}/locations/{location\}/collections/{collection_id\}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. + */ + name?: string | null; + } /** * Defines circumstances to be checked before allowing a behavior */ @@ -635,7 +927,11 @@ export namespace discoveryengine_v1 { */ activeTimeRange?: Schema$GoogleCloudDiscoveryengineV1alphaConditionTimeRange[]; /** - * Search only A list of terms to match the query on. Maximum of 10 query terms. + * Optional. Query regex to match the whole search query. Cannot be set when Condition.query_terms is set. This is currently supporting promotion use case. + */ + queryRegex?: string | null; + /** + * Search only A list of terms to match the query on. Cannot be set when Condition.query_regex is set. Maximum of 10 query terms. */ queryTerms?: Schema$GoogleCloudDiscoveryengineV1alphaConditionQueryTerm[]; } @@ -665,6 +961,92 @@ export namespace discoveryengine_v1 { */ startTime?: string | null; } + /** + * A data sync run of DataConnector. After DataConnector is successfully initialized, data syncs are scheduled at DataConnector.refresh_interval. A ConnectorRun represents a data sync either in the past or onging that the moment. // + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaConnectorRun { + /** + * Output only. The time when the connector run ended. + */ + endTime?: string | null; + /** + * Output only. The details of the entities synced at the ConnectorRun. Each ConnectorRun consists of syncing one or more entities. + */ + entityRuns?: Schema$GoogleCloudDiscoveryengineV1alphaConnectorRunEntityRun[]; + /** + * Contains info about errors incurred during the sync. Only exist if running into an error state. Contains error code and error message. Use with the `state` field. + */ + errors?: Schema$GoogleRpcStatus[]; + /** + * Output only. The time when the connector run was most recently paused. + */ + latestPauseTime?: string | null; + /** + * Output only. The full resource name of the Connector Run. Format: `projects/x/locations/x/collections/x/dataConnector/connectorRuns/x`. The `connector_run_id` is system-generated. + */ + name?: string | null; + /** + * Output only. The time when the connector run started. + */ + startTime?: string | null; + /** + * Output only. The state of the sync run. + */ + state?: string | null; + /** + * Timestamp at which the connector run sync state was last updated. + */ + stateUpdateTime?: string | null; + /** + * Output only. The trigger for this ConnectorRun. + */ + trigger?: string | null; + } + /** + * Represents an entity that was synced in this ConnectorRun. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaConnectorRunEntityRun { + /** + * The name of the source entity. + */ + entityName?: string | null; + /** + * The total number of documents failed at sync at any stage (extraction, indexing, etc). + */ + errorRecordCount?: string | null; + /** + * The errors from the entity's sync run. Only exist if running into an error state. Contains error code and error message. + */ + errors?: Schema$GoogleRpcStatus[]; + /** + * The number of documents extracted from connector source, ready to be ingested to UCS. + */ + extractedRecordCount?: string | null; + /** + * The number of documents indexed. + */ + indexedRecordCount?: string | null; + /** + * The number of requests sent to 3p API. + */ + sourceApiRequestCount?: string | null; + /** + * The state of the entity's sync run. + */ + state?: string | null; + /** + * Timestamp at which the entity sync state was last updated. + */ + stateUpdateTime?: string | null; + /** + * The timestamp for either extracted_documents_count, indexed_documents_count and error_documents_count was last updated. + */ + statsUpdateTime?: string | null; + /** + * Sync type of this run. + */ + syncType?: string | null; + } /** * Defines a conditioned behavior to employ during serving. Must be attached to a ServingConfig to be considered at serving time. Permitted actions dependent on `SolutionType`. */ @@ -693,6 +1075,10 @@ export namespace discoveryengine_v1 { * Immutable. Fully qualified name `projects/x/locations/global/dataStore/x/controls/x` */ name?: string | null; + /** + * Promote certain links based on predefined trigger queries. This now only supports basic site search. + */ + promoteAction?: Schema$GoogleCloudDiscoveryengineV1alphaControlPromoteAction; /** * Defines a redirect-type control. */ @@ -715,7 +1101,7 @@ export namespace discoveryengine_v1 { */ export interface Schema$GoogleCloudDiscoveryengineV1alphaControlBoostAction { /** - * Required. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op). + * Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op). */ boost?: number | null; /** @@ -726,6 +1112,10 @@ export namespace discoveryengine_v1 { * Required. Specifies which products to apply the boost to. If no filter is provided all products will be boosted (No-op). Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown. */ filter?: string | null; + /** + * Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op). + */ + fixedBoost?: number | null; } /** * Specified which products may be included in results. Uses same filter as boost. @@ -740,6 +1130,19 @@ export namespace discoveryengine_v1 { */ filter?: string | null; } + /** + * Promote certain links based on some trigger queries. Example: Promote shoe store link when searching for `shoe` keyword. The link can be outside of associated data store. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaControlPromoteAction { + /** + * Required. Data store with which this promotion is attached to. + */ + dataStore?: string | null; + /** + * Required. Promotion attached to this action. + */ + searchLinkPromotion?: Schema$GoogleCloudDiscoveryengineV1alphaSearchLinkPromotion; + } /** * Redirects a shopper to the provided URI. */ @@ -758,6 +1161,15 @@ export namespace discoveryengine_v1 { */ synonyms?: string[] | null; } + /** + * The historical crawl rate timeseries data, used for monitoring. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries { + /** + * The QPS of the crawl rate. + */ + qpsTimeSeries?: Schema$GoogleMonitoringV3TimeSeries; + } /** * Metadata related to the progress of the DataStoreService.CreateDataStore operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -801,6 +1213,19 @@ export namespace discoveryengine_v1 { */ updateTime?: string | null; } + /** + * Metadata related to the progress of the SiteSearchEngineService.CreateSitemap operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaCreateSitemapMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } /** * Metadata related to the progress of the SiteSearchEngineService.CreateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -824,41 +1249,122 @@ export namespace discoveryengine_v1 { enableSearchAdaptor?: boolean | null; } /** - * Metadata that describes a custom tuned model. + * Manages the connection to external data sources for all data stores grouped under a Collection. It's a singleton resource of Collection. The initialization is only supported through DataConnectorService.SetUpDataConnector method, which will create a new Collection and initialize its DataConnector. */ - export interface Schema$GoogleCloudDiscoveryengineV1alphaCustomTuningModel { + export interface Schema$GoogleCloudDiscoveryengineV1alphaDataConnector { /** - * Timestamp the Model was created at. + * Optional. Action configurations to make the connector support actions. */ - createTime?: string | null; + actionConfig?: Schema$GoogleCloudDiscoveryengineV1alphaActionConfig; /** - * The display name of the model. + * Indicates whether the connector is disabled for auto run. It can be used to pause periodical and real time sync. */ - displayName?: string | null; + autoRunDisabled?: boolean | null; /** - * Currently this is only populated if the model state is `INPUT_VALIDATION_FAILED`. + * Output only. User actions that must be completed before the connector can start syncing data. */ - errorMessage?: string | null; + blockingReasons?: string[] | null; /** - * The metrics of the trained model. + * Output only. Timestamp the DataConnector was created at. */ - metrics?: {[key: string]: number} | null; + createTime?: string | null; /** - * The state that the model is in (e.g.`TRAINING` or `TRAINING_FAILED`). + * Required. The name of the data source. Supported values: `salesforce`, `jira`, `confluence`, `bigquery`. */ - modelState?: string | null; + dataSource?: string | null; /** - * The version of the model. + * Optional. Any target destinations used to connect to third-party services. */ - modelVersion?: string | null; + destinationConfigs?: Schema$GoogleCloudDiscoveryengineV1alphaDestinationConfig[]; /** - * Required. The fully qualified resource name of the model. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}/customTuningModels/{custom_tuning_model\}`. Model must be an alpha-numerical string with limit of 40 characters. + * List of entities from the connected data source to ingest. + */ + entities?: Schema$GoogleCloudDiscoveryengineV1alphaDataConnectorSourceEntity[]; + /** + * Output only. The errors from initialization or from the latest connector run. + */ + errors?: Schema$GoogleRpcStatus[]; + /** + * The refresh interval to sync the Access Control List information for the documents ingested by this connector. If not set, the access control list will be refreshed at the default interval of 30 minutes. The identity refresh interval can be at least 30 minutes and at most 7 days. + */ + identityRefreshInterval?: string | null; + /** + * The configuration for the identity data synchronization runs. This contains the refresh interval to sync the Access Control List information for the documents ingested by this connector. + */ + identityScheduleConfig?: Schema$GoogleCloudDiscoveryengineV1alphaIdentityScheduleConfig; + /** + * Input only. The KMS key to be used to protect the DataStores managed by this connector. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStores created by this connector will be protected by the KMS key. + */ + kmsKeyName?: string | null; + /** + * Output only. For periodic connectors only, the last time a data sync was completed. + */ + lastSyncTime?: string | null; + /** + * Output only. The most recent timestamp when this DataConnector was paused, affecting all functionalities such as data synchronization. Pausing a connector has the following effects: - All functionalities, including data synchronization, are halted. - Any ongoing data synchronization job will be canceled. - No future data synchronization runs will be scheduled nor can be triggered. + */ + latestPauseTime?: string | null; + /** + * Output only. The full resource name of the Data Connector. Format: `projects/x/locations/x/collections/x/dataConnector`. */ name?: string | null; /** - * Timestamp the model training was initiated. + * The UTC time when the next data sync is expected to start for the Data Connector. Customers are only able to specify the hour and minute to schedule the data sync. This is utilized when the data connector has a refresh interval greater than 1 day. */ - trainingStartTime?: string | null; + nextSyncTime?: Schema$GoogleTypeDateTime; + /** + * Required. Params needed to access the source in the format of (Key, Value) pairs. Required parameters for all data sources: * Key: `instance_uri` * Value: type STRING. The uri to access the data source. Required parameters for sources that support OAUTH, i.e. `salesforce`: * Key: `client_id` * Value: type STRING. The client id for the third party service provider to identify your application. * Key: `client_secret` * Value:type STRING. The client secret generated by the third party authorization server. * Key: `access_token` * Value: type STRING. OAuth token for UCS to access to the protected resource. * Key: `refresh_token` * Value: type STRING. OAuth refresh token for UCS to obtain a new access token without user interaction. Required parameters for sources that support basic API token auth, i.e. `jira`, `confluence`: * Key: `user_account` * Value: type STRING. The username or email with the source. * Key: `api_token` * Value: type STRING. The API token generated for the source account, that is used for authenticating anywhere where you would have used a password. Example: ```json { "instance_uri": "https://xxx.atlassian.net", "user_account": "xxxx.xxx@xxx.com", "api_token": "test-token" \} ``` Optional parameter to specify the authorization type to use for multiple authorization types support: * Key: `auth_type` * Value: type STRING. The authorization type for the data source. Supported values: `BASIC_AUTH`, `OAUTH`, `OAUTH_ACCESS_TOKEN`, `OAUTH_TWO_LEGGED`, `OAUTH_JWT_BEARER`, `OAUTH_PASSWORD_GRANT`, `JWT`, `API_TOKEN`, `FEDERATED_CREDENTIAL`. + */ + params?: {[key: string]: any} | null; + /** + * Output only. The tenant project ID associated with private connectivity connectors. This project must be allowlisted by in order for the connector to function. + */ + privateConnectivityProjectId?: string | null; + /** + * Required. The refresh interval for data sync. If duration is set to 0, the data will be synced in real time. The streaming feature is not supported yet. The minimum is 30 minutes and maximum is 7 days. + */ + refreshInterval?: string | null; + /** + * Output only. State of the connector. + */ + state?: string | null; + /** + * Output only. The static IP addresses used by this connector. + */ + staticIpAddresses?: string[] | null; + /** + * Optional. Whether customer has enabled static IP addresses for this connector. + */ + staticIpEnabled?: boolean | null; + /** + * The data synchronization mode supported by the data connector. + */ + syncMode?: string | null; + /** + * Output only. Timestamp the DataConnector was last updated. + */ + updateTime?: string | null; + } + /** + * Represents an entity in the data source. For example, the `Account` object in Salesforce. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDataConnectorSourceEntity { + /** + * Output only. The full resource name of the associated data store for the source entity. Format: `projects/x/locations/x/collections/x/dataStores/x`. When the connector is initialized by the DataConnectorService.SetUpDataConnector method, a DataStore is automatically created for each source entity. + */ + dataStore?: string | null; + /** + * The name of the entity. Supported values by data source: * Salesforce: `Lead`, `Opportunity`, `Contact`, `Account`, `Case`, `Contract`, `Campaign` * Jira: `Issue` * Confluence: `Content`, `Space` + */ + entityName?: string | null; + /** + * Attributes for indexing. Key: Field name. Value: The key property to map a field to, such as `title`, and `description`. Supported key properties: * `title`: The title for data record. This would be displayed on search results. * `description`: The description for data record. This would be displayed on search results. + */ + keyPropertyMappings?: {[key: string]: string} | null; + /** + * The parameters for the entity to facilitate data ingestion. E.g. for BQ connectors: * Key: `document_id_column` * Value: type STRING. The value of the column id. + */ + params?: {[key: string]: any} | null; } /** * DataStore captures global settings and configs at the DataStore level. @@ -868,10 +1374,18 @@ export namespace discoveryengine_v1 { * Immutable. Whether data in the DataStore has ACL information. If set to `true`, the source data must have ACL. ACL will be ingested when data is ingested by DocumentService.ImportDocuments methods. When ACL is enabled for the DataStore, Document can't be accessed by calling DocumentService.GetDocument or DocumentService.ListDocuments. Currently ACL is only supported in `GENERIC` industry vertical with non-`PUBLIC_WEBSITE` content config. */ aclEnabled?: boolean | null; + /** + * Optional. Configuration for advanced site search. + */ + advancedSiteSearchConfig?: Schema$GoogleCloudDiscoveryengineV1alphaAdvancedSiteSearchConfig; /** * Output only. Data size estimation for billing. */ billingEstimation?: Schema$GoogleCloudDiscoveryengineV1alphaDataStoreBillingEstimation; + /** + * Output only. CMEK-related information for the DataStore. + */ + cmekConfig?: Schema$GoogleCloudDiscoveryengineV1alphaCmekConfig; /** * Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT. */ @@ -900,6 +1414,14 @@ export namespace discoveryengine_v1 { * Immutable. The industry vertical that the data store registers. */ industryVertical?: string | null; + /** + * Optional. If set, this DataStore is an Infobot FAQ DataStore. + */ + isInfobotFaqDataStore?: boolean | null; + /** + * Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field. + */ + kmsKeyName?: string | null; /** * Language info for DataStore. */ @@ -915,7 +1437,7 @@ export namespace discoveryengine_v1 { /** * Optional. Stores serving config at DataStore level. */ - servingConfigDataStore?: Schema$GoogleCloudDiscoveryengineV1alphaServingConfigDataStore; + servingConfigDataStore?: Schema$GoogleCloudDiscoveryengineV1alphaDataStoreServingConfigDataStore; /** * The solutions that the data store enrolls. Available solutions for each industry_vertical: * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`. * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other solutions cannot be enrolled. */ @@ -958,6 +1480,41 @@ export namespace discoveryengine_v1 { */ websiteDataUpdateTime?: string | null; } + /** + * Stores information regarding the serving configurations at DataStore level. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDataStoreServingConfigDataStore { + /** + * If set true, the DataStore will not be available for serving search requests. + */ + disabledForServing?: boolean | null; + } + /** + * The historical dedicated crawl rate timeseries data, used for monitoring. Dedicated crawl is used by Vertex AI to crawl the user's website when dedicate crawl is set. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDedicatedCrawlRateTimeSeries { + /** + * Vertex AI's dedicated crawl rate time series of auto-refresh, which is the crawl rate of Google-CloudVertexBot when dedicate crawl is set, and the crawl rate is for best effort use cases like refreshing urls periodically. + */ + autoRefreshCrawlRate?: Schema$GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries; + /** + * Vertex AI's dedicated crawl rate time series of user triggered crawl, which is the crawl rate of Google-CloudVertexBot when dedicate crawl is set, and user triggered crawl rate is for deterministic use cases like crawling urls or sitemaps specified by users. + */ + userTriggeredCrawlRate?: Schema$GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries; + } + /** + * Metadata related to the progress of the CollectionService.UpdateCollection operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDeleteCollectionMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } /** * Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -984,6 +1541,19 @@ export namespace discoveryengine_v1 { */ updateTime?: string | null; } + /** + * Metadata related to the progress of the IdentityMappingStoreService.DeleteIdentityMappingStore operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDeleteIdentityMappingStoreMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } /** * Metadata for DeleteSchema LRO. */ @@ -997,6 +1567,28 @@ export namespace discoveryengine_v1 { */ updateTime?: string | null; } + /** + * Request for DeleteSession method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDeleteSessionRequest { + /** + * Required. The resource name of the Session to delete. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store_id\}/sessions/{session_id\}` + */ + name?: string | null; + } + /** + * Metadata related to the progress of the SiteSearchEngineService.DeleteSitemap operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDeleteSitemapMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } /** * Metadata related to the progress of the SiteSearchEngineService.DeleteTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -1010,6 +1602,36 @@ export namespace discoveryengine_v1 { */ updateTime?: string | null; } + /** + * Defines target endpoints used to connect to third-party sources. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDestinationConfig { + /** + * Optional. The destinations for the corresponding key. + */ + destinations?: Schema$GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination[]; + /** + * Optional. Unique destination identifier that is supported by the connector. + */ + key?: string | null; + /** + * Optional. Additional parameters for this destination config. + */ + params?: {[key: string]: any} | null; + } + /** + * Defines a target endpoint + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination { + /** + * Publicly routable host. + */ + host?: string | null; + /** + * Optional. Target port number accepted by the destination. + */ + port?: number | null; + } /** * Metadata related to the progress of the SiteSearchEngineService.DisableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -1028,7 +1650,7 @@ export namespace discoveryengine_v1 { */ export interface Schema$GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchResponse {} /** - * A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config. + * A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig { /** @@ -1162,7 +1784,7 @@ export namespace discoveryengine_v1 { */ displayName?: string | null; /** - * The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to `GENERIC`. Vertical on Engine has to match vertical of the DataStore linked to the engine. + * The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine. */ industryVertical?: string | null; /** @@ -1399,6 +2021,24 @@ export namespace discoveryengine_v1 { */ sampleQuerySet?: string | null; } + /** + * Response message for SiteSearchEngineService.FetchSitemaps method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponse { + /** + * List of Sitemaps fetched. + */ + sitemapsMetadata?: Schema$GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponseSitemapMetadata[]; + } + /** + * Contains a Sitemap and its metadata. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponseSitemapMetadata { + /** + * The Sitemap. + */ + sitemap?: Schema$GoogleCloudDiscoveryengineV1alphaSitemap; + } /** * Configurations for fields of a schema. For example, configuring a field is indexable, or searchable. */ @@ -1452,6 +2092,19 @@ export namespace discoveryengine_v1 { */ searchableOption?: string | null; } + /** + * Request for GetSession method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaGetSessionRequest { + /** + * Optional. If set to true, the full session including all answer details will be returned. + */ + includeAnswerDetails?: boolean | null; + /** + * Required. The resource name of the Session to get. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store_id\}/sessions/{session_id\}` + */ + name?: string | null; + } /** * Response message for SiteSearchEngineService.GetUriPatternDocumentData method. */ @@ -1461,6 +2114,19 @@ export namespace discoveryengine_v1 { */ documentDataMap?: {[key: string]: {[key: string]: any}} | null; } + /** + * The configuration for the identity data synchronization runs. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaIdentityScheduleConfig { + /** + * Optional. The UTC time when the next data sync is expected to start for the Data Connector. Customers are only able to specify the hour and minute to schedule the data sync. This is utilized when the data connector has a refresh interval greater than 1 day. + */ + nextSyncTime?: Schema$GoogleTypeDateTime; + /** + * Optional. The refresh interval to sync the Access Control List information for the documents ingested by this connector. If not set, the access control list will be refreshed at the default interval of 30 minutes. The identity refresh interval can be at least 30 minutes and at most 7 days. + */ + refreshInterval?: string | null; + } /** * Identity Provider Config. */ @@ -1717,13 +2383,42 @@ export namespace discoveryengine_v1 { region?: string | null; } /** - * Response message for SearchTuningService.ListCustomModels method. + * Request for ListSessions method. */ - export interface Schema$GoogleCloudDiscoveryengineV1alphaListCustomModelsResponse { + export interface Schema$GoogleCloudDiscoveryengineV1alphaListSessionsRequest { /** - * List of custom tuning models. + * A filter to apply on the list results. The supported features are: user_pseudo_id, state. Example: "user_pseudo_id = some_id" + */ + filter?: string | null; + /** + * A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * "update_time desc" * "create_time" * "is_pinned desc,update_time desc": list sessions by is_pinned first, then by update_time. + */ + orderBy?: string | null; + /** + * Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000. + */ + pageSize?: number | null; + /** + * A page token, received from a previous `ListSessions` call. Provide this to retrieve the subsequent page. + */ + pageToken?: string | null; + /** + * Required. The data store resource name. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store_id\}` + */ + parent?: string | null; + } + /** + * Response for ListSessions method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaListSessionsResponse { + /** + * Pagination token, if not returned indicates the last page. + */ + nextPageToken?: string | null; + /** + * All the Sessions for a given data store. */ - models?: Schema$GoogleCloudDiscoveryengineV1alphaCustomTuningModel[]; + sessions?: Schema$GoogleCloudDiscoveryengineV1alphaSession[]; } /** * Configuration for Natural Language Query Understanding. @@ -1734,6 +2429,40 @@ export namespace discoveryengine_v1 { */ mode?: string | null; } + /** + * Response message for CrawlRateManagementService.ObtainCrawlRate method. The response contains organcic or dedicated crawl rate time series data for monitoring, depending on whether dedicated crawl rate is set. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaObtainCrawlRateResponse { + /** + * The historical dedicated crawl rate timeseries data, used for monitoring. + */ + dedicatedCrawlRateTimeSeries?: Schema$GoogleCloudDiscoveryengineV1alphaDedicatedCrawlRateTimeSeries; + /** + * Errors from service when handling the request. + */ + error?: Schema$GoogleRpcStatus; + /** + * The historical organic crawl rate timeseries data, used for monitoring. + */ + organicCrawlRateTimeSeries?: Schema$GoogleCloudDiscoveryengineV1alphaOrganicCrawlRateTimeSeries; + /** + * Output only. The state of the response. + */ + state?: string | null; + } + /** + * The historical organic crawl rate timeseries data, used for monitoring. Organic crawl is auto-determined by Google to crawl the user's website when dedicate crawl is not set. Crawl rate is the QPS of crawl request Google sends to the user's website. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaOrganicCrawlRateTimeSeries { + /** + * Google's organic crawl rate time series, which is the sum of all googlebots' crawl rate. Please refer to https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers for more details about googlebots. + */ + googleOrganicCrawlRate?: Schema$GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries; + /** + * Vertex AI's organic crawl rate time series, which is the crawl rate of Google-CloudVertexBot when dedicate crawl is not set. Please refer to https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers#google-cloudvertexbot for more details about Google-CloudVertexBot. + */ + vertexAiOrganicCrawlRate?: Schema$GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries; + } /** * Metadata and configurations for a Google Cloud project in the service. */ @@ -1976,9 +2705,13 @@ export namespace discoveryengine_v1 { */ createTime?: string | null; /** - * Unique URIs in the request that don't match any TargetSite in the DataStore, only match TargetSites that haven't been fully indexed, or match a TargetSite with type EXCLUDE. + * Unique URIs in the request that have invalid format. Sample limited to 1000. */ invalidUris?: string[] | null; + /** + * Total number of unique URIs in the request that have invalid format. + */ + invalidUrisCount?: number | null; /** * Total number of URIs that have yet to be crawled. */ @@ -1995,6 +2728,14 @@ export namespace discoveryengine_v1 { * Operation last update time. If the operation is done, this is also the finish time. */ updateTime?: string | null; + /** + * Unique URIs in the request that don't match any TargetSite in the DataStore, only match TargetSites that haven't been fully indexed, or match a TargetSite with type EXCLUDE. Sample limited to 1000. + */ + urisNotMatchingTargetSites?: string[] | null; + /** + * Total number of URIs that don't match any TargetSites. + */ + urisNotMatchingTargetSitesCount?: number | null; /** * Total number of unique URIs in the request that are not in invalid_uris. */ @@ -2040,56 +2781,136 @@ export namespace discoveryengine_v1 { errorMessage?: string | null; } /** - * Defines the structure and layout of a type of document data. + * Metadata related to the progress of the CrawlRateManagementService.RemoveDedicatedCrawlRate operation. This will be returned by the google.longrunning.Operation.metadata field. */ - export interface Schema$GoogleCloudDiscoveryengineV1alphaSchema { + export interface Schema$GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateMetadata { /** - * Output only. Configurations for fields of the schema. + * Operation create time. */ - fieldConfigs?: Schema$GoogleCloudDiscoveryengineV1alphaFieldConfig[]; + createTime?: string | null; /** - * The JSON representation of the schema. + * Operation last update time. If the operation is done, this is also the finish time. */ - jsonSchema?: string | null; + updateTime?: string | null; + } + /** + * Response message for CrawlRateManagementService.RemoveDedicatedCrawlRate method. It simply returns the state of the response, and an error message if the state is FAILED. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateResponse { /** - * Immutable. The full resource name of the schema, in the format of `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}/schemas/{schema\}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. + * Errors from service when handling the request. */ - name?: string | null; + error?: Schema$GoogleRpcStatus; /** - * The structured representation of the schema. + * Output only. The state of the response. */ - structSchema?: {[key: string]: any} | null; + state?: string | null; } /** - * Request message for SearchService.Search method. + * Safety rating corresponding to the generated content. */ - export interface Schema$GoogleCloudDiscoveryengineV1alphaSearchRequest { + export interface Schema$GoogleCloudDiscoveryengineV1alphaSafetyRating { /** - * Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results) + * Output only. Indicates whether the content was filtered out because of this rating. */ - boostSpec?: Schema$GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec; + blocked?: boolean | null; /** - * The branch resource name, such as `projects/x/locations/global/collections/default_collection/dataStores/default_data_store/branches/0`. Use `default_branch` as the branch ID or leave this field empty, to search documents under the default branch. + * Output only. Harm category. */ - branch?: string | null; + category?: string | null; /** - * The default filter that is applied when a user performs a search without checking any filters on the search page. The filter applied to every search request when quality improvement such as query expansion is needed. In the case a query does not have a sufficient amount of results this filter will be used to determine whether or not to enable the query expansion flow. The original filter will still be used for the query expanded search. This field is strongly recommended to achieve high search quality. For more information about filter syntax, see SearchRequest.filter. + * Output only. Harm probability levels in the content. */ - canonicalFilter?: string | null; + probability?: string | null; /** - * A specification for configuring the behavior of content search. + * Output only. Harm probability score. */ - contentSearchSpec?: Schema$GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpec; + probabilityScore?: number | null; /** - * Custom fine tuning configs. If set, it has higher priority than the configs set in ServingConfig.custom_fine_tuning_spec. + * Output only. Harm severity levels in the content. */ - customFineTuningSpec?: Schema$GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec; + severity?: string | null; /** - * Specs defining dataStores to filter on in a search call and configurations for those dataStores. This is only considered for engines with multiple dataStores use case. For single dataStore within an engine, they should use the specs at the top level. + * Output only. Harm severity score. */ - dataStoreSpecs?: Schema$GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec[]; + severityScore?: number | null; + } + /** + * Defines the structure and layout of a type of document data. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSchema { /** - * Uses the provided embedding to do additional semantic document retrieval. The retrieval is based on the dot product of SearchRequest.EmbeddingSpec.EmbeddingVector.vector and the document embedding that is provided in SearchRequest.EmbeddingSpec.EmbeddingVector.field_path. If SearchRequest.EmbeddingSpec.EmbeddingVector.field_path is not provided, it will use ServingConfig.EmbeddingConfig.field_path. + * Output only. Configurations for fields of the schema. + */ + fieldConfigs?: Schema$GoogleCloudDiscoveryengineV1alphaFieldConfig[]; + /** + * The JSON representation of the schema. + */ + jsonSchema?: string | null; + /** + * Immutable. The full resource name of the schema, in the format of `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}/schemas/{schema\}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. + */ + name?: string | null; + /** + * The structured representation of the schema. + */ + structSchema?: {[key: string]: any} | null; + } + /** + * Promotion proto includes uri and other helping information to display the promotion. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSearchLinkPromotion { + /** + * Optional. The Promotion description. Maximum length: 200 characters. + */ + description?: string | null; + /** + * Optional. The enabled promotion will be returned for any serving configs associated with the parent of the control this promotion is attached to. This flag is used for basic site search only. + */ + enabled?: boolean | null; + /** + * Optional. The promotion thumbnail image url. + */ + imageUri?: string | null; + /** + * Required. The title of the promotion. Maximum length: 160 characters. + */ + title?: string | null; + /** + * Required. The URL for the page the user wants to promote. + */ + uri?: string | null; + } + /** + * Request message for SearchService.Search method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSearchRequest { + /** + * Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results) + */ + boostSpec?: Schema$GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec; + /** + * The branch resource name, such as `projects/x/locations/global/collections/default_collection/dataStores/default_data_store/branches/0`. Use `default_branch` as the branch ID or leave this field empty, to search documents under the default branch. + */ + branch?: string | null; + /** + * The default filter that is applied when a user performs a search without checking any filters on the search page. The filter applied to every search request when quality improvement such as query expansion is needed. In the case a query does not have a sufficient amount of results this filter will be used to determine whether or not to enable the query expansion flow. The original filter will still be used for the query expanded search. This field is strongly recommended to achieve high search quality. For more information about filter syntax, see SearchRequest.filter. + */ + canonicalFilter?: string | null; + /** + * A specification for configuring the behavior of content search. + */ + contentSearchSpec?: Schema$GoogleCloudDiscoveryengineV1alphaSearchRequestContentSearchSpec; + /** + * Custom fine tuning configs. If set, it has higher priority than the configs set in ServingConfig.custom_fine_tuning_spec. + */ + customFineTuningSpec?: Schema$GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec; + /** + * Specs defining DataStores to filter on in a search call and configurations for those data stores. This is only considered for Engines with multiple data stores. For engines with a single data store, the specs directly under SearchRequest should be used. + */ + dataStoreSpecs?: Schema$GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec[]; + /** + * Uses the provided embedding to do additional semantic document retrieval. The retrieval is based on the dot product of SearchRequest.EmbeddingSpec.EmbeddingVector.vector and the document embedding that is provided in SearchRequest.EmbeddingSpec.EmbeddingVector.field_path. If SearchRequest.EmbeddingSpec.EmbeddingVector.field_path is not provided, it will use ServingConfig.EmbeddingConfig.field_path. */ embeddingSpec?: Schema$GoogleCloudDiscoveryengineV1alphaSearchRequestEmbeddingSpec; /** @@ -2116,6 +2937,10 @@ export namespace discoveryengine_v1 { * A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned. */ offset?: number | null; + /** + * The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default number is 10. + */ + oneBoxPageSize?: number | null; /** * The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering the website search results, see [Order web search results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results). For more information on ordering the healthcare search results, see [Order healthcare search results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results). If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. */ @@ -2400,6 +3225,10 @@ export namespace discoveryengine_v1 { * A struct to define data stores to filter on in a search call and configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error is returned. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec { + /** + * Optional. Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results) + */ + boostSpec?: Schema$GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec; /** * Required. Full resource name of DataStore, such as `projects/{project\}/locations/{location\}/collections/{collection_id\}/dataStores/{data_store_id\}`. */ @@ -2499,7 +3328,7 @@ export namespace discoveryengine_v1 { */ export interface Schema$GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec { /** - * The condition under which filter extraction should occur. Default to Condition.DISABLED. + * The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`. */ filterExtractionCondition?: string | null; /** @@ -2560,23 +3389,22 @@ export namespace discoveryengine_v1 { */ mode?: string | null; } - /** - * Stores information regarding the serving configurations at DataStore level. - */ - export interface Schema$GoogleCloudDiscoveryengineV1alphaServingConfigDataStore { - /** - * If set true, the DataStore will not be available for serving search requests. - */ - disabledForServing?: boolean | null; - } /** * External session proto definition. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaSession { + /** + * Optional. The display name of the session. This field is used to identify the session in the UI. By default, the display name is the first turn query text in the session. + */ + displayName?: string | null; /** * Output only. The time the session finished. */ endTime?: string | null; + /** + * Optional. Whether the session is pinned, pinned session will be displayed on the top of the session list. + */ + isPinned?: boolean | null; /** * Immutable. Fully qualified name `projects/{project\}/locations/global/collections/{collection\}/engines/{engine\}/sessions/x` */ @@ -2606,11 +3434,45 @@ export namespace discoveryengine_v1 { * The resource name of the answer to the user query. Only set if the answer generation (/answer API call) happened in this turn. */ answer?: string | null; + /** + * Output only. In ConversationalSearchService.GetSession API, if GetSessionRequest.include_answer_details is set to true, this field will be populated when getting answer query session. + */ + detailedAnswer?: Schema$GoogleCloudDiscoveryengineV1alphaAnswer; /** * The user query. */ query?: Schema$GoogleCloudDiscoveryengineV1alphaQuery; } + /** + * Metadata related to the progress of the CrawlRateManagementService.SetDedicatedCrawlRate operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } + /** + * Response message for CrawlRateManagementService.SetDedicatedCrawlRate method. It simply returns the state of the response, and an error message if the state is FAILED. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateResponse { + /** + * Errors from service when handling the request. + */ + error?: Schema$GoogleRpcStatus; + /** + * Output only. The state of the response. + */ + state?: string | null; + } + /** + * Metadata for DataConnectorService.SetUpDataConnector method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSetUpDataConnectorMetadata {} /** * Metadata related to the progress of the SiteSearchEngineService.SetUriPatternDocumentData operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -2628,6 +3490,32 @@ export namespace discoveryengine_v1 { * Response message for SiteSearchEngineService.SetUriPatternDocumentData method. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaSetUriPatternDocumentDataResponse {} + /** + * Metadata for single-regional CMEKs. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSingleRegionKey { + /** + * Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project\}/locations/{location\}/keyRings/{keyRing\}/cryptoKeys/{keyId\}`. + */ + kmsKey?: string | null; + } + /** + * A sitemap for the SiteSearchEngine. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSitemap { + /** + * Output only. The sitemap's creation time. + */ + createTime?: string | null; + /** + * Output only. The fully qualified resource name of the sitemap. `projects/x/locations/x/collections/x/dataStores/x/siteSearchEngine/sitemaps/x` The `sitemap_id` suffix is system-generated. + */ + name?: string | null; + /** + * Public URI for the sitemap, e.g. `www.example.com/sitemap.xml`. + */ + uri?: string | null; + } /** * Verification information for target sites in advanced site search. */ @@ -2646,7 +3534,7 @@ export namespace discoveryengine_v1 { */ export interface Schema$GoogleCloudDiscoveryengineV1alphaTargetSite { /** - * Input only. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine. + * Immutable. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine. */ exactMatch?: boolean | null; /** @@ -2755,6 +3643,32 @@ export namespace discoveryengine_v1 { * Response associated with a tune operation. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaTuneEngineResponse {} + /** + * Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaUpdateCmekConfigMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } + /** + * Metadata related to the progress of the CollectionService.UpdateCollection operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaUpdateCollectionMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } /** * Metadata for UpdateSchema LRO. */ @@ -2768,6 +3682,19 @@ export namespace discoveryengine_v1 { */ updateTime?: string | null; } + /** + * Request for UpdateSession method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaUpdateSessionRequest { + /** + * Required. The Session to update. + */ + session?: Schema$GoogleCloudDiscoveryengineV1alphaSession; + /** + * Indicates which fields in the provided Session to update. The following are NOT supported: * Session.name If not set or empty, all supported fields are updated. + */ + updateMask?: string | null; + } /** * Metadata related to the progress of the SiteSearchEngineService.UpdateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -2839,6 +3766,14 @@ export namespace discoveryengine_v1 { * Output only. Answer creation timestamp. */ createTime?: string | null; + /** + * A score in the range of [0, 1] describing how grounded the answer is by the reference chunks. + */ + groundingScore?: number | null; + /** + * Optional. Grounding supports. + */ + groundingSupports?: Schema$GoogleCloudDiscoveryengineV1AnswerGroundingSupport[]; /** * Immutable. Fully qualified name `projects/{project\}/locations/global/collections/{collection\}/engines/{engine\}/sessions/x/answers/x` */ @@ -2855,6 +3790,10 @@ export namespace discoveryengine_v1 { * Suggested related questions. */ relatedQuestions?: string[] | null; + /** + * Optional. Safety ratings. + */ + safetyRatings?: Schema$GoogleCloudDiscoveryengineV1SafetyRating[]; /** * The state of the answer generation. */ @@ -2890,6 +3829,31 @@ export namespace discoveryengine_v1 { */ referenceId?: string | null; } + /** + * Grounding support for a claim in `answer_text`. + */ + export interface Schema$GoogleCloudDiscoveryengineV1AnswerGroundingSupport { + /** + * Required. End of the claim, exclusive. + */ + endIndex?: string | null; + /** + * Indicates that this claim required grounding check. When the system decided this claim didn't require attribution/grounding check, this field is set to false. In that case, no grounding check was done for the claim and therefore `grounding_score`, `sources` is not returned. + */ + groundingCheckRequired?: boolean | null; + /** + * A score in the range of [0, 1] describing how grounded is a specific claim by the references. Higher value means that the claim is better supported by the reference chunks. + */ + groundingScore?: number | null; + /** + * Optional. Citation sources for the claim. + */ + sources?: Schema$GoogleCloudDiscoveryengineV1AnswerCitationSource[]; + /** + * Required. Index indicates the start of the claim, measured in bytes (UTF-8 unicode). + */ + startIndex?: string | null; + } /** * Request message for ConversationalSearchService.AnswerQuery method. */ @@ -2902,6 +3866,10 @@ export namespace discoveryengine_v1 { * Deprecated: This field is deprecated. Streaming Answer API will be supported. Asynchronous mode control. If enabled, the response will be returned with answer/session resource name without final answer. The API users need to do the polling to get the latest status of answer/session by calling ConversationalSearchService.GetAnswer or ConversationalSearchService.GetSession method. */ asynchronousMode?: boolean | null; + /** + * Optional. Grounding specification. + */ + groundingSpec?: Schema$GoogleCloudDiscoveryengineV1AnswerQueryRequestGroundingSpec; /** * Required. Current user query. */ @@ -2990,6 +3958,19 @@ export namespace discoveryengine_v1 { */ preamble?: string | null; } + /** + * Grounding specification. + */ + export interface Schema$GoogleCloudDiscoveryengineV1AnswerQueryRequestGroundingSpec { + /** + * Optional. Specifies whether to enable the filtering based on grounding score and at what level. + */ + filteringLevel?: string | null; + /** + * Optional. Specifies whether to include grounding_supports in the answer. The default value is `false`. When this field is set to `true`, returned answer will have `grounding_score` and will contain GroundingSupports for each claim. + */ + includeGroundingSupports?: boolean | null; + } /** * Query understanding specification. */ @@ -3024,6 +4005,19 @@ export namespace discoveryengine_v1 { * Max rephrase steps. The max number is 5 steps. If not set or set to < 1, it will be set to 1 by default. */ maxRephraseSteps?: number | null; + /** + * Optional. Query Rephraser Model specification. + */ + modelSpec?: Schema$GoogleCloudDiscoveryengineV1AnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpecModelSpec; + } + /** + * Query Rephraser Model specification. + */ + export interface Schema$GoogleCloudDiscoveryengineV1AnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpecModelSpec { + /** + * Optional. Enabled query rephraser model type. If not set, it will use LARGE by default. + */ + modelType?: string | null; } /** * Related questions specification. @@ -3035,13 +4029,30 @@ export namespace discoveryengine_v1 { enable?: boolean | null; } /** - * Safety specification. + * Safety specification. There are two use cases: 1. when only safety_spec.enable is set, the BLOCK_LOW_AND_ABOVE threshold will be applied for all categories. 2. when safety_spec.enable is set and some safety_settings are set, only specified safety_settings are applied. */ export interface Schema$GoogleCloudDiscoveryengineV1AnswerQueryRequestSafetySpec { /** * Enable the safety filtering on the answer response. It is false by default. */ enable?: boolean | null; + /** + * Optional. Safety settings. This settings are effective only when the safety_spec.enable is true. + */ + safetySettings?: Schema$GoogleCloudDiscoveryengineV1AnswerQueryRequestSafetySpecSafetySetting[]; + } + /** + * Safety settings. + */ + export interface Schema$GoogleCloudDiscoveryengineV1AnswerQueryRequestSafetySpecSafetySetting { + /** + * Required. Harm category. + */ + category?: string | null; + /** + * Required. The harm block threshold. + */ + threshold?: string | null; } /** * Search specification. @@ -3419,7 +4430,7 @@ export namespace discoveryengine_v1 { */ snippetInfo?: Schema$GoogleCloudDiscoveryengineV1AnswerStepActionObservationSearchResultSnippetInfo[]; /** - * Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result. . + * Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result. */ structData?: {[key: string]: any} | null; /** @@ -3536,7 +4547,7 @@ export namespace discoveryengine_v1 { */ export interface Schema$GoogleCloudDiscoveryengineV1BatchGetDocumentsMetadataResponseDocumentMetadataMatcherValue { /** - * Required. Format: projects/{project\}/locations/{location\}/datasets/{dataset\}/fhirStores/{fhir_store\}/fhir/{resource_type\}/{fhir_resource_id\} + * Format: projects/{project\}/locations/{location\}/datasets/{dataset\}/fhirStores/{fhir_store\}/fhir/{resource_type\}/{fhir_resource_id\} */ fhirResource?: string | null; /** @@ -3548,6 +4559,19 @@ export namespace discoveryengine_v1 { * Request message for SiteSearchEngineService.BatchVerifyTargetSites method. */ export interface Schema$GoogleCloudDiscoveryengineV1BatchVerifyTargetSitesRequest {} + /** + * Configuration data for advance site search. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaAdvancedSiteSearchConfig { + /** + * If set true, automatic refresh is disabled for the DataStore. + */ + disableAutomaticRefresh?: boolean | null; + /** + * If set true, initial indexing is disabled for the DataStore. + */ + disableInitialIndex?: boolean | null; + } /** * Metadata related to the progress of the SiteSearchEngineService.BatchCreateTargetSites operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -3570,6 +4594,39 @@ export namespace discoveryengine_v1 { */ targetSites?: Schema$GoogleCloudDiscoveryengineV1betaTargetSite[]; } + /** + * Configurations used to enable CMEK data encryption with Cloud KMS keys. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaCmekConfig { + /** + * Output only. The default CmekConfig for the Customer. + */ + isDefault?: boolean | null; + /** + * Kms key resource name which will be used to encrypt resources `projects/{project\}/locations/{location\}/keyRings/{keyRing\}/cryptoKeys/{keyId\}`. + */ + kmsKey?: string | null; + /** + * Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion\}`. + */ + kmsKeyVersion?: string | null; + /** + * Output only. The timestamp of the last key rotation. + */ + lastRotationTimestampMicros?: string | null; + /** + * Required. Name of the CmekConfig, of the form `projects/{project\}/locations/{location\}/cmekConfig` or `projects/{project\}/locations/{location\}/cmekConfigs/{cmekConfig\}`. + */ + name?: string | null; + /** + * Optional. Single-regional CMEKs that are required for some VAIS features. + */ + singleRegionKeys?: Schema$GoogleCloudDiscoveryengineV1betaSingleRegionKey[]; + /** + * Output only. State of the CmekConfig. + */ + state?: string | null; + } /** * Defines circumstances to be checked before allowing a behavior */ @@ -3579,7 +4636,11 @@ export namespace discoveryengine_v1 { */ activeTimeRange?: Schema$GoogleCloudDiscoveryengineV1betaConditionTimeRange[]; /** - * Search only A list of terms to match the query on. Maximum of 10 query terms. + * Optional. Query regex to match the whole search query. Cannot be set when Condition.query_terms is set. This is currently supporting promotion use case. + */ + queryRegex?: string | null; + /** + * Search only A list of terms to match the query on. Cannot be set when Condition.query_regex is set. Maximum of 10 query terms. */ queryTerms?: Schema$GoogleCloudDiscoveryengineV1betaConditionQueryTerm[]; } @@ -3637,6 +4698,10 @@ export namespace discoveryengine_v1 { * Immutable. Fully qualified name `projects/x/locations/global/dataStore/x/controls/x` */ name?: string | null; + /** + * Promote certain links based on predefined trigger queries. This now only supports basic site search. + */ + promoteAction?: Schema$GoogleCloudDiscoveryengineV1betaControlPromoteAction; /** * Defines a redirect-type control. */ @@ -3659,7 +4724,7 @@ export namespace discoveryengine_v1 { */ export interface Schema$GoogleCloudDiscoveryengineV1betaControlBoostAction { /** - * Required. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op). + * Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op). */ boost?: number | null; /** @@ -3670,6 +4735,10 @@ export namespace discoveryengine_v1 { * Required. Specifies which products to apply the boost to. If no filter is provided all products will be boosted (No-op). Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown. */ filter?: string | null; + /** + * Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op). + */ + fixedBoost?: number | null; } /** * Specified which products may be included in results. Uses same filter as boost. @@ -3684,6 +4753,19 @@ export namespace discoveryengine_v1 { */ filter?: string | null; } + /** + * Promote certain links based on some trigger queries. Example: Promote shoe store link when searching for `shoe` keyword. The link can be outside of associated data store. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaControlPromoteAction { + /** + * Required. Data store with which this promotion is attached to. + */ + dataStore?: string | null; + /** + * Required. Promotion attached to this action. + */ + searchLinkPromotion?: Schema$GoogleCloudDiscoveryengineV1betaSearchLinkPromotion; + } /** * Redirects a shopper to the provided URI. */ @@ -3746,9 +4828,9 @@ export namespace discoveryengine_v1 { updateTime?: string | null; } /** - * Metadata related to the progress of the SiteSearchEngineService.CreateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field. + * Metadata related to the progress of the SiteSearchEngineService.CreateSitemap operation. This will be returned by the google.longrunning.Operation.metadata field. */ - export interface Schema$GoogleCloudDiscoveryengineV1betaCreateTargetSiteMetadata { + export interface Schema$GoogleCloudDiscoveryengineV1betaCreateSitemapMetadata { /** * Operation create time. */ @@ -3759,50 +4841,34 @@ export namespace discoveryengine_v1 { updateTime?: string | null; } /** - * Metadata that describes a custom tuned model. + * Metadata related to the progress of the SiteSearchEngineService.CreateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field. */ - export interface Schema$GoogleCloudDiscoveryengineV1betaCustomTuningModel { + export interface Schema$GoogleCloudDiscoveryengineV1betaCreateTargetSiteMetadata { /** - * Timestamp the Model was created at. + * Operation create time. */ createTime?: string | null; /** - * The display name of the model. + * Operation last update time. If the operation is done, this is also the finish time. */ - displayName?: string | null; + updateTime?: string | null; + } + /** + * DataStore captures global settings and configs at the DataStore level. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaDataStore { /** - * Currently this is only populated if the model state is `INPUT_VALIDATION_FAILED`. + * Optional. Configuration for advanced site search. */ - errorMessage?: string | null; - /** - * The metrics of the trained model. - */ - metrics?: {[key: string]: number} | null; - /** - * The state that the model is in (e.g.`TRAINING` or `TRAINING_FAILED`). - */ - modelState?: string | null; - /** - * The version of the model. - */ - modelVersion?: string | null; - /** - * Required. The fully qualified resource name of the model. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}/customTuningModels/{custom_tuning_model\}`. Model must be an alpha-numerical string with limit of 40 characters. - */ - name?: string | null; - /** - * Timestamp the model training was initiated. - */ - trainingStartTime?: string | null; - } - /** - * DataStore captures global settings and configs at the DataStore level. - */ - export interface Schema$GoogleCloudDiscoveryengineV1betaDataStore { + advancedSiteSearchConfig?: Schema$GoogleCloudDiscoveryengineV1betaAdvancedSiteSearchConfig; /** * Output only. Data size estimation for billing. */ billingEstimation?: Schema$GoogleCloudDiscoveryengineV1betaDataStoreBillingEstimation; + /** + * Output only. CMEK-related information for the DataStore. + */ + cmekConfig?: Schema$GoogleCloudDiscoveryengineV1betaCmekConfig; /** * Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT. */ @@ -3827,6 +4893,14 @@ export namespace discoveryengine_v1 { * Immutable. The industry vertical that the data store registers. */ industryVertical?: string | null; + /** + * Optional. If set, this DataStore is an Infobot FAQ DataStore. + */ + isInfobotFaqDataStore?: boolean | null; + /** + * Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field. + */ + kmsKeyName?: string | null; /** * Language info for DataStore. */ @@ -3842,7 +4916,7 @@ export namespace discoveryengine_v1 { /** * Optional. Stores serving config at DataStore level. */ - servingConfigDataStore?: Schema$GoogleCloudDiscoveryengineV1betaServingConfigDataStore; + servingConfigDataStore?: Schema$GoogleCloudDiscoveryengineV1betaDataStoreServingConfigDataStore; /** * The solutions that the data store enrolls. Available solutions for each industry_vertical: * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`. * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other solutions cannot be enrolled. */ @@ -3885,6 +4959,15 @@ export namespace discoveryengine_v1 { */ websiteDataUpdateTime?: string | null; } + /** + * Stores information regarding the serving configurations at DataStore level. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaDataStoreServingConfigDataStore { + /** + * If set true, the DataStore will not be available for serving search requests. + */ + disabledForServing?: boolean | null; + } /** * Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -3911,6 +4994,19 @@ export namespace discoveryengine_v1 { */ updateTime?: string | null; } + /** + * Metadata related to the progress of the IdentityMappingStoreService.DeleteIdentityMappingStore operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaDeleteIdentityMappingStoreMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } /** * Metadata for DeleteSchema LRO. */ @@ -3924,6 +5020,19 @@ export namespace discoveryengine_v1 { */ updateTime?: string | null; } + /** + * Metadata related to the progress of the SiteSearchEngineService.DeleteSitemap operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaDeleteSitemapMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } /** * Metadata related to the progress of the SiteSearchEngineService.DeleteTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -3955,7 +5064,7 @@ export namespace discoveryengine_v1 { */ export interface Schema$GoogleCloudDiscoveryengineV1betaDisableAdvancedSiteSearchResponse {} /** - * A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config. + * A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser. */ export interface Schema$GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig { /** @@ -4089,7 +5198,7 @@ export namespace discoveryengine_v1 { */ displayName?: string | null; /** - * The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to `GENERIC`. Vertical on Engine has to match vertical of the DataStore linked to the engine. + * The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine. */ industryVertical?: string | null; /** @@ -4233,6 +5342,24 @@ export namespace discoveryengine_v1 { */ sampleQuerySet?: string | null; } + /** + * Response message for SiteSearchEngineService.FetchSitemaps method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaFetchSitemapsResponse { + /** + * List of Sitemaps fetched. + */ + sitemapsMetadata?: Schema$GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata[]; + } + /** + * Contains a Sitemap and its metadata. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata { + /** + * The Sitemap. + */ + sitemap?: Schema$GoogleCloudDiscoveryengineV1betaSitemap; + } /** * Metadata related to the progress of the ImportCompletionSuggestions operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -4466,15 +5593,6 @@ export namespace discoveryengine_v1 { */ region?: string | null; } - /** - * Response message for SearchTuningService.ListCustomModels method. - */ - export interface Schema$GoogleCloudDiscoveryengineV1betaListCustomModelsResponse { - /** - * List of custom tuning models. - */ - models?: Schema$GoogleCloudDiscoveryengineV1betaCustomTuningModel[]; - } /** * Configuration for Natural Language Query Understanding. */ @@ -4663,6 +5781,31 @@ export namespace discoveryengine_v1 { */ structSchema?: {[key: string]: any} | null; } + /** + * Promotion proto includes uri and other helping information to display the promotion. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaSearchLinkPromotion { + /** + * Optional. The Promotion description. Maximum length: 200 characters. + */ + description?: string | null; + /** + * Optional. The enabled promotion will be returned for any serving configs associated with the parent of the control this promotion is attached to. This flag is used for basic site search only. + */ + enabled?: boolean | null; + /** + * Optional. The promotion thumbnail image url. + */ + imageUri?: string | null; + /** + * Required. The title of the promotion. Maximum length: 160 characters. + */ + title?: string | null; + /** + * Required. The URL for the page the user wants to promote. + */ + uri?: string | null; + } /** * Request message for SearchService.Search method. */ @@ -4684,7 +5827,7 @@ export namespace discoveryengine_v1 { */ contentSearchSpec?: Schema$GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpec; /** - * Specs defining dataStores to filter on in a search call and configurations for those dataStores. This is only considered for engines with multiple dataStores use case. For single dataStore within an engine, they should use the specs at the top level. + * Specs defining DataStores to filter on in a search call and configurations for those data stores. This is only considered for Engines with multiple data stores. For engines with a single data store, the specs directly under SearchRequest should be used. */ dataStoreSpecs?: Schema$GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec[]; /** @@ -4715,6 +5858,10 @@ export namespace discoveryengine_v1 { * A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned. */ offset?: number | null; + /** + * The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default number is 10. + */ + oneBoxPageSize?: number | null; /** * The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering the website search results, see [Order web search results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results). For more information on ordering the healthcare search results, see [Order healthcare search results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results). If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. */ @@ -4999,6 +6146,10 @@ export namespace discoveryengine_v1 { * A struct to define data stores to filter on in a search call and configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error is returned. */ export interface Schema$GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec { + /** + * Optional. Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results) + */ + boostSpec?: Schema$GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec; /** * Required. Full resource name of DataStore, such as `projects/{project\}/locations/{location\}/collections/{collection_id\}/dataStores/{data_store_id\}`. */ @@ -5098,7 +6249,7 @@ export namespace discoveryengine_v1 { */ export interface Schema$GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec { /** - * The condition under which filter extraction should occur. Default to Condition.DISABLED. + * The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`. */ filterExtractionCondition?: string | null; /** @@ -5160,13 +6311,30 @@ export namespace discoveryengine_v1 { mode?: string | null; } /** - * Stores information regarding the serving configurations at DataStore level. + * Metadata for single-regional CMEKs. */ - export interface Schema$GoogleCloudDiscoveryengineV1betaServingConfigDataStore { + export interface Schema$GoogleCloudDiscoveryengineV1betaSingleRegionKey { /** - * If set true, the DataStore will not be available for serving search requests. + * Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project\}/locations/{location\}/keyRings/{keyRing\}/cryptoKeys/{keyId\}`. */ - disabledForServing?: boolean | null; + kmsKey?: string | null; + } + /** + * A sitemap for the SiteSearchEngine. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaSitemap { + /** + * Output only. The sitemap's creation time. + */ + createTime?: string | null; + /** + * Output only. The fully qualified resource name of the sitemap. `projects/x/locations/x/collections/x/dataStores/x/siteSearchEngine/sitemaps/x` The `sitemap_id` suffix is system-generated. + */ + name?: string | null; + /** + * Public URI for the sitemap, e.g. `www.example.com/sitemap.xml`. + */ + uri?: string | null; } /** * Verification information for target sites in advanced site search. @@ -5186,7 +6354,7 @@ export namespace discoveryengine_v1 { */ export interface Schema$GoogleCloudDiscoveryengineV1betaTargetSite { /** - * Input only. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine. + * Immutable. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine. */ exactMatch?: boolean | null; /** @@ -5469,7 +6637,7 @@ export namespace discoveryengine_v1 { */ export interface Schema$GoogleCloudDiscoveryengineV1CheckGroundingRequest { /** - * Answer candidate to check. Can have a maximum length of 1024 characters. + * Answer candidate to check. It can have a maximum length of 4096 tokens. */ answerCandidate?: string | null; /** @@ -5493,6 +6661,10 @@ export namespace discoveryengine_v1 { * List of facts cited across all claims in the answer candidate. These are derived from the facts supplied in the request. */ citedChunks?: Schema$GoogleCloudDiscoveryengineV1FactChunk[]; + /** + * List of facts cited across all claims in the answer candidate. These are derived from the facts supplied in the request. + */ + citedFacts?: Schema$GoogleCloudDiscoveryengineV1CheckGroundingResponseCheckGroundingFactChunk[]; /** * Claim texts and citation info across all claims in the answer candidate. */ @@ -5502,6 +6674,15 @@ export namespace discoveryengine_v1 { */ supportScore?: number | null; } + /** + * Fact chunk for grounding check. + */ + export interface Schema$GoogleCloudDiscoveryengineV1CheckGroundingResponseCheckGroundingFactChunk { + /** + * Text content of the fact chunk. Can be at most 10K characters long. + */ + chunkText?: string | null; + } /** * Text and citation info for a claim in the answer candidate. */ @@ -5519,7 +6700,7 @@ export namespace discoveryengine_v1 { */ endPos?: number | null; /** - * Indicates that this claim required grounding check. When the system decided this claim doesn't require attribution/grounding check, this field will be set to false. In that case, no grounding check was done for the claim and therefore citation_indices, anti_citation_indices, and score should not be returned. + * Indicates that this claim required grounding check. When the system decided this claim doesn't require attribution/grounding check, this field will be set to false. In that case, no grounding check was done for the claim and therefore citation_indices should not be returned. */ groundingCheckRequired?: boolean | null; /** @@ -5569,7 +6750,7 @@ export namespace discoveryengine_v1 { */ pageSpan?: Schema$GoogleCloudDiscoveryengineV1ChunkPageSpan; /** - * Output only. Represents the relevance score based on similarity. Higher score indicates higher chunk relevance. The score is in range [-1.0, 1.0]. Only populated on SearchService.SearchResponse. + * Output only. Represents the relevance score based on similarity. Higher score indicates higher chunk relevance. The score is in range [-1.0, 1.0]. Only populated on SearchResponse. */ relevanceScore?: number | null; } @@ -5645,6 +6826,39 @@ export namespace discoveryengine_v1 { */ tableId?: string | null; } + /** + * Configurations used to enable CMEK data encryption with Cloud KMS keys. + */ + export interface Schema$GoogleCloudDiscoveryengineV1CmekConfig { + /** + * Output only. The default CmekConfig for the Customer. + */ + isDefault?: boolean | null; + /** + * Kms key resource name which will be used to encrypt resources `projects/{project\}/locations/{location\}/keyRings/{keyRing\}/cryptoKeys/{keyId\}`. + */ + kmsKey?: string | null; + /** + * Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion\}`. + */ + kmsKeyVersion?: string | null; + /** + * Output only. The timestamp of the last key rotation. + */ + lastRotationTimestampMicros?: string | null; + /** + * Required. Name of the CmekConfig, of the form `projects/{project\}/locations/{location\}/cmekConfig` or `projects/{project\}/locations/{location\}/cmekConfigs/{cmekConfig\}`. + */ + name?: string | null; + /** + * Optional. Single-regional CMEKs that are required for some VAIS features. + */ + singleRegionKeys?: Schema$GoogleCloudDiscoveryengineV1SingleRegionKey[]; + /** + * Output only. State of the CmekConfig. + */ + state?: string | null; + } /** * Response message for CompletionService.CompleteQuery method. */ @@ -5726,7 +6940,11 @@ export namespace discoveryengine_v1 { */ activeTimeRange?: Schema$GoogleCloudDiscoveryengineV1ConditionTimeRange[]; /** - * Search only A list of terms to match the query on. Maximum of 10 query terms. + * Optional. Query regex to match the whole search query. Cannot be set when Condition.query_terms is set. This is currently supporting promotion use case. + */ + queryRegex?: string | null; + /** + * Search only A list of terms to match the query on. Cannot be set when Condition.query_regex is set. Maximum of 10 query terms. */ queryTerms?: Schema$GoogleCloudDiscoveryengineV1ConditionQueryTerm[]; } @@ -5784,6 +7002,10 @@ export namespace discoveryengine_v1 { * Immutable. Fully qualified name `projects/x/locations/global/dataStore/x/controls/x` */ name?: string | null; + /** + * Promote certain links based on predefined trigger queries. This now only supports basic site search. + */ + promoteAction?: Schema$GoogleCloudDiscoveryengineV1ControlPromoteAction; /** * Defines a redirect-type control. */ @@ -5806,7 +7028,7 @@ export namespace discoveryengine_v1 { */ export interface Schema$GoogleCloudDiscoveryengineV1ControlBoostAction { /** - * Required. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op). + * Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op). */ boost?: number | null; /** @@ -5817,6 +7039,10 @@ export namespace discoveryengine_v1 { * Required. Specifies which products to apply the boost to. If no filter is provided all products will be boosted (No-op). Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown. */ filter?: string | null; + /** + * Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op). + */ + fixedBoost?: number | null; } /** * Specified which products may be included in results. Uses same filter as boost. @@ -5831,6 +7057,19 @@ export namespace discoveryengine_v1 { */ filter?: string | null; } + /** + * Promote certain links based on some trigger queries. Example: Promote shoe store link when searching for `shoe` keyword. The link can be outside of associated data store. + */ + export interface Schema$GoogleCloudDiscoveryengineV1ControlPromoteAction { + /** + * Required. Data store with which this promotion is attached to. + */ + dataStore?: string | null; + /** + * Required. Promotion attached to this action. + */ + searchLinkPromotion?: Schema$GoogleCloudDiscoveryengineV1SearchLinkPromotion; + } /** * Redirects a shopper to the provided URI. */ @@ -6045,7 +7284,7 @@ export namespace discoveryengine_v1 { */ export interface Schema$GoogleCloudDiscoveryengineV1CustomTuningModel { /** - * Timestamp the Model was created at. + * Deprecated: Timestamp the Model was created at. */ createTime?: string | null; /** @@ -6081,10 +7320,18 @@ export namespace discoveryengine_v1 { * DataStore captures global settings and configs at the DataStore level. */ export interface Schema$GoogleCloudDiscoveryengineV1DataStore { + /** + * Optional. Configuration for advanced site search. + */ + advancedSiteSearchConfig?: Schema$GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig; /** * Output only. Data size estimation for billing. */ billingEstimation?: Schema$GoogleCloudDiscoveryengineV1DataStoreBillingEstimation; + /** + * Output only. CMEK-related information for the DataStore. + */ + cmekConfig?: Schema$GoogleCloudDiscoveryengineV1CmekConfig; /** * Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT. */ @@ -6109,6 +7356,14 @@ export namespace discoveryengine_v1 { * Immutable. The industry vertical that the data store registers. */ industryVertical?: string | null; + /** + * Optional. If set, this DataStore is an Infobot FAQ DataStore. + */ + isInfobotFaqDataStore?: boolean | null; + /** + * Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field. + */ + kmsKeyName?: string | null; /** * Immutable. The full resource name of the data store. Format: `projects/{project\}/locations/{location\}/collections/{collection_id\}/dataStores/{data_store_id\}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. */ @@ -6116,7 +7371,7 @@ export namespace discoveryengine_v1 { /** * Optional. Stores serving config at DataStore level. */ - servingConfigDataStore?: Schema$GoogleCloudDiscoveryengineV1ServingConfigDataStore; + servingConfigDataStore?: Schema$GoogleCloudDiscoveryengineV1DataStoreServingConfigDataStore; /** * The solutions that the data store enrolls. Available solutions for each industry_vertical: * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`. * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other solutions cannot be enrolled. */ @@ -6159,6 +7414,15 @@ export namespace discoveryengine_v1 { */ websiteDataUpdateTime?: string | null; } + /** + * Stores information regarding the serving configurations at DataStore level. + */ + export interface Schema$GoogleCloudDiscoveryengineV1DataStoreServingConfigDataStore { + /** + * If set true, the DataStore will not be available for serving search requests. + */ + disabledForServing?: boolean | null; + } /** * Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -6185,6 +7449,19 @@ export namespace discoveryengine_v1 { */ updateTime?: string | null; } + /** + * Metadata related to the progress of the IdentityMappingStoreService.DeleteIdentityMappingStore operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1DeleteIdentityMappingStoreMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } /** * Metadata for DeleteSchema LRO. */ @@ -6245,11 +7522,11 @@ export namespace discoveryengine_v1 { */ derivedStructData?: {[key: string]: any} | null; /** - * Immutable. The identifier of the document. Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. + * Immutable. The identifier of the document. Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 128 characters. */ id?: string | null; /** - * Output only. The index status of the document. * If document is indexed successfully, the index_time field is populated. * Otherwise, if document is not indexed due to errors, the error_samples field is populated. * Otherwise, index_status is unset. + * Output only. The index status of the document. * If document is indexed successfully, the index_time field is populated. * Otherwise, if document is not indexed due to errors, the error_samples field is populated. * Otherwise, if document's index is in progress, the pending_message field is populated. */ indexStatus?: Schema$GoogleCloudDiscoveryengineV1DocumentIndexStatus; /** @@ -6306,11 +7583,19 @@ export namespace discoveryengine_v1 { * The time when the document was indexed. If this field is populated, it means the document has been indexed. */ indexTime?: string | null; + /** + * Immutable. The message indicates the document index is in progress. If this field is populated, the document index is pending. + */ + pendingMessage?: string | null; } /** * Detailed document information associated with a user event. */ export interface Schema$GoogleCloudDiscoveryengineV1DocumentInfo { + /** + * Optional. The conversion value associated with this Document. Must be set if UserEvent.event_type is "conversion". For example, a value of 1000 signifies that 1000 seconds were spent viewing a Document for the `watch` conversion type. + */ + conversionValue?: number | null; /** * The Document resource ID. */ @@ -6337,7 +7622,7 @@ export namespace discoveryengine_v1 { uri?: string | null; } /** - * A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config. + * A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser. */ export interface Schema$GoogleCloudDiscoveryengineV1DocumentProcessingConfig { /** @@ -6475,7 +7760,7 @@ export namespace discoveryengine_v1 { */ displayName?: string | null; /** - * The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to `GENERIC`. Vertical on Engine has to match vertical of the DataStore linked to the engine. + * The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine. */ industryVertical?: string | null; /** @@ -6614,6 +7899,10 @@ export namespace discoveryengine_v1 { * The FHIR resource types to import. The resource types should be a subset of all [supported FHIR resource types](https://cloud.google.com/generative-ai-app-builder/docs/fhir-schema-reference#resource-level-specification). Default to all supported FHIR resource types if empty. */ resourceTypes?: string[] | null; + /** + * Optional. Whether to update the DataStore schema to the latest predefined schema. If true, the DataStore schema will be updated to include any FHIR fields or resource types that have been added since the last import and corresponding FHIR resources will be imported from the FHIR store. Note this field cannot be used in conjunction with `resource_types`. It should be used after initial import. + */ + updateFromLatestPredefinedSchema?: boolean | null; } /** * Firestore source import data from. @@ -6650,96 +7939,395 @@ export namespace discoveryengine_v1 { inputUris?: string[] | null; } /** - * Grounding Fact. + * Top-level message sent by the client for the `GenerateGroundedContent` method. */ - export interface Schema$GoogleCloudDiscoveryengineV1GroundingFact { - /** - * Attributes associated with the fact. Common attributes include `source` (indicating where the fact was sourced from), `author` (indicating the author of the fact), and so on. - */ - attributes?: {[key: string]: string} | null; + export interface Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentRequest { /** - * Text content of the fact. Can be at most 10K characters long. + * Content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history + latest request. */ - factText?: string | null; - } - /** - * Metadata related to the progress of the ImportCompletionSuggestions operation. This will be returned by the google.longrunning.Operation.metadata field. - */ - export interface Schema$GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsMetadata { + contents?: Schema$GoogleCloudDiscoveryengineV1GroundedGenerationContent[]; /** - * Operation create time. + * Content generation specification. */ - createTime?: string | null; + generationSpec?: Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGenerationSpec; /** - * Count of CompletionSuggestions that failed to be imported. + * Grounding specification. */ - failureCount?: string | null; + groundingSpec?: Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSpec; /** - * Count of CompletionSuggestions successfully imported. + * Content of the system instruction for the current API. These instructions will take priority over any other prompt instructions if the selected model is supporting them. */ - successCount?: string | null; + systemInstruction?: Schema$GoogleCloudDiscoveryengineV1GroundedGenerationContent; /** - * Operation last update time. If the operation is done, this is also the finish time. + * The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details. */ - updateTime?: string | null; + userLabels?: {[key: string]: string} | null; } /** - * Request message for CompletionService.ImportCompletionSuggestions method. + * Describes the options to customize dynamic retrieval. */ - export interface Schema$GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsRequest { - /** - * BigQuery input source. - */ - bigquerySource?: Schema$GoogleCloudDiscoveryengineV1BigQuerySource; + export interface Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestDynamicRetrievalConfiguration { /** - * The desired location of errors incurred during the Import. + * Specification for the predictor for dynamic retrieval. */ - errorConfig?: Schema$GoogleCloudDiscoveryengineV1ImportErrorConfig; + predictor?: Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestDynamicRetrievalConfigurationDynamicRetrievalPredictor; + } + /** + * Describes the predictor settings for dynamic retrieval. + */ + export interface Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestDynamicRetrievalConfigurationDynamicRetrievalPredictor { /** - * Cloud Storage location for the input content. + * The value of the threshold. If the predictor will predict a value smaller than this, it would suppress grounding in the source. */ - gcsSource?: Schema$GoogleCloudDiscoveryengineV1GcsSource; + threshold?: number | null; /** - * The Inline source for suggestion entries. + * The version of the predictor to be used in dynamic retrieval. */ - inlineSource?: Schema$GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsRequestInlineSource; + version?: string | null; } /** - * The inline source for CompletionSuggestions. + * Content generation specification. */ - export interface Schema$GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsRequestInlineSource { + export interface Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGenerationSpec { /** - * Required. A list of all denylist entries to import. Max of 1000 items. + * If specified, custom value for frequency penalty will be used. */ - suggestions?: Schema$GoogleCloudDiscoveryengineV1CompletionSuggestion[]; - } - /** - * Response of the CompletionService.ImportCompletionSuggestions method. If the long running operation is done, this message is returned by the google.longrunning.Operations.response field if the operation is successful. - */ - export interface Schema$GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsResponse { + frequencyPenalty?: number | null; /** - * The desired location of errors incurred during the Import. + * Language code for content. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). */ - errorConfig?: Schema$GoogleCloudDiscoveryengineV1ImportErrorConfig; + languageCode?: string | null; /** - * A sample of errors encountered while processing the request. + * If specified, custom value for max output tokens will be used. */ - errorSamples?: Schema$GoogleRpcStatus[]; - } - /** - * Metadata related to the progress of the ImportDocuments operation. This is returned by the google.longrunning.Operation.metadata field. - */ - export interface Schema$GoogleCloudDiscoveryengineV1ImportDocumentsMetadata { + maxOutputTokens?: number | null; /** - * Operation create time. + * Specifies which Vertex model id to use for generation. */ - createTime?: string | null; + modelId?: string | null; /** - * Count of entries that encountered errors while processing. + * If specified, custom value for presence penalty will be used. */ - failureCount?: string | null; + presencePenalty?: number | null; /** - * Count of entries that were processed successfully. + * If specified, custom value for the seed will be used. + */ + seed?: number | null; + /** + * If specified, custom value for the temperature will be used. + */ + temperature?: number | null; + /** + * If specified, custom value for top-k sampling will be used. + */ + topK?: number | null; + /** + * If specified, custom value for nucleus sampling will be used. + */ + topP?: number | null; + } + /** + * Grounding source. + */ + export interface Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSource { + /** + * If set, grounding is performed with Google Search. + */ + googleSearchSource?: Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSourceGoogleSearchSource; + /** + * If set, grounding is performed with inline content. + */ + inlineSource?: Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSourceInlineSource; + /** + * If set, grounding is performed with Vertex AI Search. + */ + searchSource?: Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSourceSearchSource; + } + /** + * Google Search config parameters. + */ + export interface Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSourceGoogleSearchSource { + /** + * Optional. Specifies the dynamic retrieval configuration for the given source. + */ + dynamicRetrievalConfig?: Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestDynamicRetrievalConfiguration; + } + /** + * Message to be used for grounding based on inline content. + */ + export interface Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSourceInlineSource { + /** + * Attributes associated with the content. Common attributes include `source` (indicating where the content was sourced from) and `author` (indicating the author of the content). + */ + attributes?: {[key: string]: string} | null; + /** + * List of facts to be used for grounding. + */ + groundingFacts?: Schema$GoogleCloudDiscoveryengineV1GroundingFact[]; + } + /** + * Message to be used for grounding with Vertex AI Search. + */ + export interface Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSourceSearchSource { + /** + * Filter expression to be applied to the search. The syntax is the same as SearchRequest.filter. + */ + filter?: string | null; + /** + * Number of search results to return. The default value is 10. The maximumm allowed value is 10. + */ + maxResultCount?: number | null; + /** + * If set, safe search is enabled in Vertex AI Search requests. + */ + safeSearch?: boolean | null; + /** + * The resource name of the Engine to use. Format: `projects/{project\}/locations/{location\}/collections/{collection_id\}/engines/{engine_id\}/servingConfigs/{serving_config_id\}` + */ + servingConfig?: string | null; + } + /** + * Grounding specification. + */ + export interface Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSpec { + /** + * Grounding sources. + */ + groundingSources?: Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentRequestGroundingSource[]; + } + /** + * Response for the `GenerateGroundedContent` method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentResponse { + /** + * Generated candidates. + */ + candidates?: Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidate[]; + } + /** + * A response candidate generated from the model. + */ + export interface Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidate { + /** + * Content of the candidate. + */ + content?: Schema$GoogleCloudDiscoveryengineV1GroundedGenerationContent; + /** + * Grounding metadata for the generated content. + */ + groundingMetadata?: Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadata; + /** + * The overall grounding score for the candidate, in the range of [0, 1]. + */ + groundingScore?: number | null; + /** + * Index of the candidate. + */ + index?: number | null; + } + /** + * Citation for the generated content. + */ + export interface Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadata { + /** + * GroundingSupport across all claims in the answer candidate. An support to a fact indicates that the claim is supported by the fact. + */ + groundingSupport?: Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataGroundingSupport[]; + /** + * Retrieval metadata to provide an understanding in the retrieval steps performed by the model. There can be multiple such messages which can correspond to different parts of the retrieval. This is a mechanism used to ensure transparency to our users. + */ + retrievalMetadata?: Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataRetrievalMetadata[]; + /** + * Google search entry for the following-up web searches. + */ + searchEntryPoint?: Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataSearchEntryPoint; + /** + * List of chunks to be attributed across all claims in the candidate. These are derived from the grounding sources supplied in the request. + */ + supportChunks?: Schema$GoogleCloudDiscoveryengineV1FactChunk[]; + /** + * Web search queries for the following-up web search. + */ + webSearchQueries?: string[] | null; + } + /** + * Describes the metadata about dynamic retrieval. + */ + export interface Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalMetadata { + /** + * Metadata for the dynamic retrieval predictor. + */ + predictorMetadata?: Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalPredictorMetadata; + } + /** + * Describes the metadata about the dynamic retrieval predictor. + */ + export interface Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalPredictorMetadata { + /** + * The value of the predictor. This should be between [0, 1] where a value of 0 means that the query would not benefit from grounding, while a value of 1.0 means that the query would benefit the most. In between values allow to differentiate between different usefulness scores for grounding. + */ + prediction?: number | null; + /** + * The version of the predictor which was used in dynamic retrieval. + */ + version?: string | null; + } + /** + * Grounding info for a claim in the candidate and its support. + */ + export interface Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataGroundingSupport { + /** + * Text for the claim in the candidate. Always provided when a support is found. + */ + claimText?: string | null; + /** + * A list of indices (into 'support_chunks') specifying the citations associated with the claim. For instance [1,3,4] means that support_chunks[1], support_chunks[3], support_chunks[4] are the chunks attributed to the claim. + */ + supportChunkIndices?: number[] | null; + /** + * A score in the range of [0, 1] describing how grounded is a specific claim in the support chunks indicated. Higher value means that the claim is better supported by the chunks. + */ + supportScore?: number | null; + } + /** + * Describes the metadata associated with a retrieval step. + */ + export interface Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataRetrievalMetadata { + /** + * Metadata for dynamic retrieval. + */ + dynamicRetrievalMetadata?: Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalMetadata; + /** + * Describes the source to which the metadata is referring to. + */ + source?: string | null; + } + /** + * Google search entry point. + */ + export interface Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentResponseCandidateGroundingMetadataSearchEntryPoint { + /** + * Web content snippet that can be embedded in a web page or an app webview. + */ + renderedContent?: string | null; + /** + * Base64 encoded JSON representing array of tuple. + */ + sdkBlob?: string | null; + } + /** + * Base structured datatype containing multi-part content of a message. + */ + export interface Schema$GoogleCloudDiscoveryengineV1GroundedGenerationContent { + /** + * Ordered `Parts` that constitute a single message. + */ + parts?: Schema$GoogleCloudDiscoveryengineV1GroundedGenerationContentPart[]; + /** + * Producer of the content. Must be either `user` or `model`. Intended to be used for multi-turn conversations. Otherwise, it can be left unset. + */ + role?: string | null; + } + /** + * Single part of content. + */ + export interface Schema$GoogleCloudDiscoveryengineV1GroundedGenerationContentPart { + /** + * Inline text. + */ + text?: string | null; + } + /** + * Grounding Fact. + */ + export interface Schema$GoogleCloudDiscoveryengineV1GroundingFact { + /** + * Attributes associated with the fact. Common attributes include `source` (indicating where the fact was sourced from), `author` (indicating the author of the fact), and so on. + */ + attributes?: {[key: string]: string} | null; + /** + * Text content of the fact. Can be at most 10K characters long. + */ + factText?: string | null; + } + /** + * Metadata related to the progress of the ImportCompletionSuggestions operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Count of CompletionSuggestions that failed to be imported. + */ + failureCount?: string | null; + /** + * Count of CompletionSuggestions successfully imported. + */ + successCount?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } + /** + * Request message for CompletionService.ImportCompletionSuggestions method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsRequest { + /** + * BigQuery input source. + */ + bigquerySource?: Schema$GoogleCloudDiscoveryengineV1BigQuerySource; + /** + * The desired location of errors incurred during the Import. + */ + errorConfig?: Schema$GoogleCloudDiscoveryengineV1ImportErrorConfig; + /** + * Cloud Storage location for the input content. + */ + gcsSource?: Schema$GoogleCloudDiscoveryengineV1GcsSource; + /** + * The Inline source for suggestion entries. + */ + inlineSource?: Schema$GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsRequestInlineSource; + } + /** + * The inline source for CompletionSuggestions. + */ + export interface Schema$GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsRequestInlineSource { + /** + * Required. A list of all denylist entries to import. Max of 1000 items. + */ + suggestions?: Schema$GoogleCloudDiscoveryengineV1CompletionSuggestion[]; + } + /** + * Response of the CompletionService.ImportCompletionSuggestions method. If the long running operation is done, this message is returned by the google.longrunning.Operations.response field if the operation is successful. + */ + export interface Schema$GoogleCloudDiscoveryengineV1ImportCompletionSuggestionsResponse { + /** + * The desired location of errors incurred during the Import. + */ + errorConfig?: Schema$GoogleCloudDiscoveryengineV1ImportErrorConfig; + /** + * A sample of errors encountered while processing the request. + */ + errorSamples?: Schema$GoogleRpcStatus[]; + } + /** + * Metadata related to the progress of the ImportDocuments operation. This is returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1ImportDocumentsMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Count of entries that encountered errors while processing. + */ + failureCount?: string | null; + /** + * Count of entries that were processed successfully. */ successCount?: string | null; /** @@ -7147,6 +8735,10 @@ export namespace discoveryengine_v1 { * The display name of the panel. */ displayName?: string | null; + /** + * Optional. The document IDs associated with this panel. + */ + documents?: Schema$GoogleCloudDiscoveryengineV1DocumentInfo[]; /** * Required. The panel ID. */ @@ -7371,7 +8963,7 @@ export namespace discoveryengine_v1 { */ export interface Schema$GoogleCloudDiscoveryengineV1PurgeUserEventsRequest { /** - * Required. The filter string to specify the events to be deleted with a length limit of 5,000 characters. The eligible fields for filtering are: * `eventType`: Double quoted UserEvent.event_type string. * `eventTime`: in ISO 8601 "zulu" format. * `userPseudoId`: Double quoted string. Specifying this will delete all events associated with a visitor. * `userId`: Double quoted string. Specifying this will delete all events associated with a user. Examples: * Deleting all events in a time range: `eventTime \> "2012-04-23T18:25:43.511Z" eventTime < "2012-04-23T18:30:43.511Z"` * Deleting specific eventType: `eventType = "search"` * Deleting all events for a specific visitor: `userPseudoId = "visitor1024"` * Deleting all events inside a DataStore: `*` The filtering fields are assumed to have an implicit AND. + * Required. The filter string to specify the events to be deleted with a length limit of 5,000 characters. The eligible fields for filtering are: * `eventType`: Double quoted UserEvent.event_type string. * `eventTime`: in ISO 8601 "zulu" format. * `userPseudoId`: Double quoted string. Specifying this will delete all events associated with a visitor. * `userId`: Double quoted string. Specifying this will delete all events associated with a user. Note: This API only supports purging a max range of 30 days. Examples: * Deleting all events in a time range: `eventTime \> "2012-04-23T18:25:43.511Z" eventTime < "2012-04-23T18:30:43.511Z"` * Deleting specific eventType in a time range: `eventTime \> "2012-04-23T18:25:43.511Z" eventTime < "2012-04-23T18:30:43.511Z" eventType = "search"` * Deleting all events for a specific visitor in a time range: `eventTime \> "2012-04-23T18:25:43.511Z" eventTime < "2012-04-23T18:30:43.511Z" userPseudoId = "visitor1024"` * Deleting the past 30 days of events inside a DataStore: `*` The filtering fields are assumed to have an implicit AND. */ filter?: string | null; /** @@ -7405,7 +8997,7 @@ export namespace discoveryengine_v1 { */ id?: string | null; /** - * The score of this record based on the given query and selected model. + * The score of this record based on the given query and selected model. The score will be rounded to 2 decimal places. If the score is close to 0, it will be rounded to 0.0001 to avoid returning unset. */ score?: number | null; /** @@ -7456,7 +9048,7 @@ export namespace discoveryengine_v1 { */ export interface Schema$GoogleCloudDiscoveryengineV1RecommendRequest { /** - * Filter for restricting recommendation results with a length limit of 5,000 characters. Currently, only filter expressions on the `filter_tags` attribute is supported. Examples: * `(filter_tags: ANY("Red", "Blue") OR filter_tags: ANY("Hot", "Cold"))` * `(filter_tags: ANY("Red", "Blue")) AND NOT (filter_tags: ANY("Green"))` If `attributeFilteringSyntax` is set to true under the `params` field, then attribute-based expressions are expected instead of the above described tag-based syntax. Examples: * (launguage: ANY("en", "es")) AND NOT (categories: ANY("Movie")) * (available: true) AND (launguage: ANY("en", "es")) OR (categories: ANY("Movie")) If your filter blocks all results, the API returns generic (unfiltered) popular Documents. If you only want results strictly matching the filters, set `strictFiltering` to `true` in RecommendRequest.params to receive empty results instead. Note that the API never returns Documents with `storageStatus` as `EXPIRED` or `DELETED` regardless of filter choices. + * Filter for restricting recommendation results with a length limit of 5,000 characters. Currently, only filter expressions on the `filter_tags` attribute is supported. Examples: * `(filter_tags: ANY("Red", "Blue") OR filter_tags: ANY("Hot", "Cold"))` * `(filter_tags: ANY("Red", "Blue")) AND NOT (filter_tags: ANY("Green"))` If `attributeFilteringSyntax` is set to true under the `params` field, then attribute-based expressions are expected instead of the above described tag-based syntax. Examples: * (language: ANY("en", "es")) AND NOT (categories: ANY("Movie")) * (available: true) AND (language: ANY("en", "es")) OR (categories: ANY("Movie")) If your filter blocks all results, the API returns generic (unfiltered) popular Documents. If you only want results strictly matching the filters, set `strictFiltering` to `true` in RecommendRequest.params to receive empty results instead. Note that the API never returns Documents with `storageStatus` as `EXPIRED` or `DELETED` regardless of filter choices. */ filter?: string | null; /** @@ -7523,7 +9115,7 @@ export namespace discoveryengine_v1 { */ export interface Schema$GoogleCloudDiscoveryengineV1RecrawlUrisRequest { /** - * Optional. Full resource name of the SiteCredential, such as `projects/x/locations/x/collections/x/dataStores/x/siteSearchEngine/siteCredentials/x`. Only set to crawl private URIs. + * Optional. Full resource name of the `SiteCredential`, such as `projects/x/locations/x/collections/x/dataStores/x/siteSearchEngine/siteCredentials/x`. Only set to crawl private URIs. */ siteCredential?: string | null; /** @@ -7540,6 +9132,35 @@ export namespace discoveryengine_v1 { */ summary?: Schema$GoogleCloudDiscoveryengineV1SearchResponseSummary; } + /** + * Safety rating corresponding to the generated content. + */ + export interface Schema$GoogleCloudDiscoveryengineV1SafetyRating { + /** + * Output only. Indicates whether the content was filtered out because of this rating. + */ + blocked?: boolean | null; + /** + * Output only. Harm category. + */ + category?: string | null; + /** + * Output only. Harm probability levels in the content. + */ + probability?: string | null; + /** + * Output only. Harm probability score. + */ + probabilityScore?: number | null; + /** + * Output only. Harm severity levels in the content. + */ + severity?: string | null; + /** + * Output only. Harm severity score. + */ + severityScore?: number | null; + } /** * Defines the structure and layout of a type of document data. */ @@ -7574,6 +9195,31 @@ export namespace discoveryengine_v1 { */ searchQuery?: string | null; } + /** + * Promotion proto includes uri and other helping information to display the promotion. + */ + export interface Schema$GoogleCloudDiscoveryengineV1SearchLinkPromotion { + /** + * Optional. The Promotion description. Maximum length: 200 characters. + */ + description?: string | null; + /** + * Optional. The enabled promotion will be returned for any serving configs associated with the parent of the control this promotion is attached to. This flag is used for basic site search only. + */ + enabled?: boolean | null; + /** + * Optional. The promotion thumbnail image url. + */ + imageUri?: string | null; + /** + * Required. The title of the promotion. Maximum length: 160 characters. + */ + title?: string | null; + /** + * Required. The URL for the page the user wants to promote. + */ + uri?: string | null; + } /** * Request message for SearchService.Search method. */ @@ -7595,7 +9241,7 @@ export namespace discoveryengine_v1 { */ contentSearchSpec?: Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec; /** - * Specs defining dataStores to filter on in a search call and configurations for those dataStores. This is only considered for engines with multiple dataStores use case. For single dataStore within an engine, they should use the specs at the top level. + * Specs defining DataStores to filter on in a search call and configurations for those data stores. This is only considered for Engines with multiple data stores. For engines with a single data store, the specs directly under SearchRequest should be used. */ dataStoreSpecs?: Schema$GoogleCloudDiscoveryengineV1SearchRequestDataStoreSpec[]; /** @@ -7618,6 +9264,10 @@ export namespace discoveryengine_v1 { * A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned. */ offset?: number | null; + /** + * The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default number is 10. + */ + oneBoxPageSize?: number | null; /** * The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering the website search results, see [Order web search results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results). For more information on ordering the healthcare search results, see [Order healthcare search results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results). If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. */ @@ -7882,6 +9532,10 @@ export namespace discoveryengine_v1 { * A struct to define data stores to filter on in a search call and configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error is returned. */ export interface Schema$GoogleCloudDiscoveryengineV1SearchRequestDataStoreSpec { + /** + * Optional. Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results) + */ + boostSpec?: Schema$GoogleCloudDiscoveryengineV1SearchRequestBoostSpec; /** * Required. Full resource name of DataStore, such as `projects/{project\}/locations/{location\}/collections/{collection_id\}/dataStores/{data_store_id\}`. */ @@ -8030,6 +9684,10 @@ export namespace discoveryengine_v1 { * A list of matched documents. The order represents the ranking. */ results?: Schema$GoogleCloudDiscoveryengineV1SearchResponseSearchResult[]; + /** + * Promotions for site search. + */ + searchLinkPromotions?: Schema$GoogleCloudDiscoveryengineV1SearchLinkPromotion[]; /** * Session information. Only set if SearchRequest.session is provided. See its description for more details. */ @@ -8241,22 +9899,136 @@ export namespace discoveryengine_v1 { summary?: string | null; } /** - * Stores information regarding the serving configurations at DataStore level. + * Configures metadata that is used to generate serving time results (e.g. search results or recommendation predictions). The ServingConfig is passed in the search and predict request and generates results. */ - export interface Schema$GoogleCloudDiscoveryengineV1ServingConfigDataStore { + export interface Schema$GoogleCloudDiscoveryengineV1ServingConfig { /** - * If set true, the DataStore will not be available for serving search requests. + * Boost controls to use in serving path. All triggered boost controls will be applied. Boost controls must be in the same data store as the serving config. Maximum of 20 boost controls. */ - disabledForServing?: boolean | null; + boostControlIds?: string[] | null; + /** + * Output only. ServingConfig created timestamp. + */ + createTime?: string | null; + /** + * Required. The human readable serving config display name. Used in Discovery UI. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. + */ + displayName?: string | null; + /** + * Condition do not associate specifications. If multiple do not associate conditions match, all matching do not associate controls in the list will execute. Order does not matter. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH. + */ + dissociateControlIds?: string[] | null; + /** + * How much diversity to use in recommendation model results e.g. `medium-diversity` or `high-diversity`. Currently supported values: * `no-diversity` * `low-diversity` * `medium-diversity` * `high-diversity` * `auto-diversity` If not specified, we choose default based on recommendation model type. Default value: `no-diversity`. Can only be set if SolutionType is SOLUTION_TYPE_RECOMMENDATION. + */ + diversityLevel?: string | null; + /** + * Filter controls to use in serving path. All triggered filter controls will be applied. Filter controls must be in the same data store as the serving config. Maximum of 20 filter controls. + */ + filterControlIds?: string[] | null; + /** + * The GenericConfig of the serving configuration. + */ + genericConfig?: Schema$GoogleCloudDiscoveryengineV1ServingConfigGenericConfig; + /** + * Condition ignore specifications. If multiple ignore conditions match, all matching ignore controls in the list will execute. Order does not matter. Maximum number of specifications is 100. + */ + ignoreControlIds?: string[] | null; + /** + * The MediaConfig of the serving configuration. + */ + mediaConfig?: Schema$GoogleCloudDiscoveryengineV1ServingConfigMediaConfig; + /** + * The id of the model to use at serving time. Currently only RecommendationModels are supported. Can be changed but only to a compatible model (e.g. others-you-may-like CTR to others-you-may-like CVR). Required when SolutionType is SOLUTION_TYPE_RECOMMENDATION. + */ + modelId?: string | null; + /** + * Immutable. Fully qualified name `projects/{project\}/locations/{location\}/collections/{collection_id\}/engines/{engine_id\}/servingConfigs/{serving_config_id\}` + */ + name?: string | null; + /** + * Condition oneway synonyms specifications. If multiple oneway synonyms conditions match, all matching oneway synonyms controls in the list will execute. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH. + */ + onewaySynonymsControlIds?: string[] | null; + /** + * Condition promote specifications. Maximum number of specifications is 100. + */ + promoteControlIds?: string[] | null; + /** + * The ranking expression controls the customized ranking on retrieval documents. To leverage this, document embedding is required. The ranking expression setting in ServingConfig applies to all search requests served by the serving config. However, if `SearchRequest.ranking_expression` is specified, it overrides the ServingConfig ranking expression. The ranking expression is a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function \}; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between embedding_field_path and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. + */ + rankingExpression?: string | null; + /** + * IDs of the redirect controls. Only the first triggered redirect action is applied, even if multiple apply. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH. + */ + redirectControlIds?: string[] | null; + /** + * Condition replacement specifications. Applied according to the order in the list. A previously replaced term can not be re-replaced. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH. + */ + replacementControlIds?: string[] | null; + /** + * Required. Immutable. Specifies the solution type that a serving config can be associated with. + */ + solutionType?: string | null; + /** + * Condition synonyms specifications. If multiple synonyms conditions match, all matching synonyms controls in the list will execute. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH. + */ + synonymsControlIds?: string[] | null; + /** + * Output only. ServingConfig updated timestamp. + */ + updateTime?: string | null; + } + /** + * Specifies the configurations needed for Generic Discovery.Currently we support: * `content_search_spec`: configuration for generic content search. + */ + export interface Schema$GoogleCloudDiscoveryengineV1ServingConfigGenericConfig { + /** + * Specifies the expected behavior of content search. Only valid for content-search enabled data store. + */ + contentSearchSpec?: Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec; + } + /** + * Specifies the configurations needed for Media Discovery. Currently we support: * `demote_content_watched`: Threshold for watched content demotion. Customers can specify if using watched content demotion or use viewed detail page. Using the content watched demotion, customers need to specify the watched minutes or percentage exceeds the threshold, the content will be demoted in the recommendation result. * `promote_fresh_content`: cutoff days for fresh content promotion. Customers can specify if using content freshness promotion. If the content was published within the cutoff days, the content will be promoted in the recommendation result. Can only be set if SolutionType is SOLUTION_TYPE_RECOMMENDATION. + */ + export interface Schema$GoogleCloudDiscoveryengineV1ServingConfigMediaConfig { + /** + * Specifies the content freshness used for recommendation result. Contents will be demoted if contents were published for more than content freshness cutoff days. + */ + contentFreshnessCutoffDays?: number | null; + /** + * Specifies the content watched percentage threshold for demotion. Threshold value must be between [0, 1.0] inclusive. + */ + contentWatchedPercentageThreshold?: number | null; + /** + * Specifies the content watched minutes threshold for demotion. + */ + contentWatchedSecondsThreshold?: number | null; + /** + * Optional. Specifies the number of days to look back for demoting watched content. If set to zero or unset, defaults to the maximum of 365 days. + */ + demoteContentWatchedPastDays?: number | null; + /** + * Specifies the event type used for demoting recommendation result. Currently supported values: * `view-item`: Item viewed. * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. If unset, watch history demotion will not be applied. Content freshness demotion will still be applied. + */ + demotionEventType?: string | null; } /** * External session proto definition. */ export interface Schema$GoogleCloudDiscoveryengineV1Session { + /** + * Optional. The display name of the session. This field is used to identify the session in the UI. By default, the display name is the first turn query text in the session. + */ + displayName?: string | null; /** * Output only. The time the session finished. */ endTime?: string | null; + /** + * Optional. Whether the session is pinned, pinned session will be displayed on the top of the session list. + */ + isPinned?: boolean | null; /** * Immutable. Fully qualified name `projects/{project\}/locations/global/collections/{collection\}/engines/{engine\}/sessions/x` */ @@ -8286,11 +10058,24 @@ export namespace discoveryengine_v1 { * The resource name of the answer to the user query. Only set if the answer generation (/answer API call) happened in this turn. */ answer?: string | null; + /** + * Output only. In ConversationalSearchService.GetSession API, if GetSessionRequest.include_answer_details is set to true, this field will be populated when getting answer query session. + */ + detailedAnswer?: Schema$GoogleCloudDiscoveryengineV1Answer; /** * The user query. */ query?: Schema$GoogleCloudDiscoveryengineV1Query; } + /** + * Metadata for single-regional CMEKs. + */ + export interface Schema$GoogleCloudDiscoveryengineV1SingleRegionKey { + /** + * Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project\}/locations/{location\}/keyRings/{keyRing\}/cryptoKeys/{keyId\}`. + */ + kmsKey?: string | null; + } /** * SiteSearchEngine captures DataStore level site search persisting configurations. It is a singleton value per data store. */ @@ -8356,7 +10141,7 @@ export namespace discoveryengine_v1 { */ export interface Schema$GoogleCloudDiscoveryengineV1TargetSite { /** - * Input only. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine. + * Immutable. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine. */ exactMatch?: boolean | null; /** @@ -8536,6 +10321,19 @@ export namespace discoveryengine_v1 { */ value?: number | null; } + /** + * Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1UpdateCmekConfigMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } /** * Metadata for UpdateSchema LRO. */ @@ -8580,6 +10378,10 @@ export namespace discoveryengine_v1 { * CompletionService.CompleteQuery details related to the event. This field should be set for `search` event when autocomplete function is enabled and the user clicks a suggestion for search. */ completionInfo?: Schema$GoogleCloudDiscoveryengineV1CompletionInfo; + /** + * Optional. Conversion type. Required if UserEvent.event_type is `conversion`. This is a customer-defined conversion name in lowercase letters or numbers separated by "-", such as "watch", "good-visit" etc. Do not set the field if UserEvent.event_type is not `conversion`. This mixes the custom conversion event with predefined events like `search`, `view-item` etc. + */ + conversionType?: string | null; /** * The DataStore resource full name, of the form `projects/{project\}/locations/{location\}/collections/{collection_id\}/dataStores/{data_store_id\}`. Optional. Only required for user events whose data store can't by determined by UserEvent.engine or UserEvent.documents. If data store is set in the parent of write/import/collect user event requests, this field can be omitted. */ @@ -8601,7 +10403,7 @@ export namespace discoveryengine_v1 { */ eventTime?: string | null; /** - * Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home \> Men \> Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. + * Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home \> Men \> Jeans * `add-feedback`: Add a user feedback. Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. */ eventType?: string | null; /** @@ -8620,6 +10422,10 @@ export namespace discoveryengine_v1 { * Panel metadata associated with this user event. */ panel?: Schema$GoogleCloudDiscoveryengineV1PanelInfo; + /** + * Optional. List of panels associated with this event. Used for page-level impression data. + */ + panels?: Schema$GoogleCloudDiscoveryengineV1PanelInfo[]; /** * The promotion IDs if this is an event associated with promotions. Currently, this field is restricted to at most one ID. */ @@ -8725,6 +10531,94 @@ export namespace discoveryengine_v1 { */ response?: {[key: string]: any} | null; } + /** + * A single data point in a time series. + */ + export interface Schema$GoogleMonitoringV3Point { + /** + * The time interval to which the data point applies. For `GAUGE` metrics, the start time is optional, but if it is supplied, it must equal the end time. For `DELTA` metrics, the start and end time should specify a non-zero interval, with subsequent points specifying contiguous and non-overlapping intervals. For `CUMULATIVE` metrics, the start and end time should specify a non-zero interval, with subsequent points specifying the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points. + */ + interval?: Schema$GoogleMonitoringV3TimeInterval; + /** + * The value of the data point. + */ + value?: Schema$GoogleMonitoringV3TypedValue; + } + /** + * A time interval extending just after a start time through an end time. If the start time is the same as the end time, then the interval represents a single point in time. + */ + export interface Schema$GoogleMonitoringV3TimeInterval { + /** + * Required. The end of the time interval. + */ + endTime?: string | null; + /** + * Optional. The beginning of the time interval. The default value for the start time is the end time. The start time must not be later than the end time. + */ + startTime?: string | null; + } + /** + * A collection of data points that describes the time-varying values of a metric. A time series is identified by a combination of a fully-specified monitored resource and a fully-specified metric. This type is used for both listing and creating time series. + */ + export interface Schema$GoogleMonitoringV3TimeSeries { + /** + * Input only. A detailed description of the time series that will be associated with the google.api.MetricDescriptor for the metric. Once set, this field cannot be changed through CreateTimeSeries. + */ + description?: string | null; + /** + * Output only. The associated monitored resource metadata. When reading a time series, this field will include metadata labels that are explicitly named in the reduction. When creating a time series, this field is ignored. + */ + metadata?: Schema$GoogleApiMonitoredResourceMetadata; + /** + * The associated metric. A fully-specified metric used to identify the time series. + */ + metric?: Schema$GoogleApiMetric; + /** + * The metric kind of the time series. When listing time series, this metric kind might be different from the metric kind of the associated metric if this time series is an alignment or reduction of other time series. When creating a time series, this field is optional. If present, it must be the same as the metric kind of the associated metric. If the associated metric's descriptor must be auto-created, then this field specifies the metric kind of the new descriptor and must be either `GAUGE` (the default) or `CUMULATIVE`. + */ + metricKind?: string | null; + /** + * The data points of this time series. When listing time series, points are returned in reverse time order. When creating a time series, this field must contain exactly one point and the point's type must be the same as the value type of the associated metric. If the associated metric's descriptor must be auto-created, then the value type of the descriptor is determined by the point's type, which must be `BOOL`, `INT64`, `DOUBLE`, or `DISTRIBUTION`. + */ + points?: Schema$GoogleMonitoringV3Point[]; + /** + * The associated monitored resource. Custom metrics can use only certain monitored resource types in their time series data. For more information, see [Monitored resources for custom metrics](https://cloud.google.com/monitoring/custom-metrics/creating-metrics#custom-metric-resources). + */ + resource?: Schema$GoogleApiMonitoredResource; + /** + * The units in which the metric value is reported. It is only applicable if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit` defines the representation of the stored metric values. This field can only be changed through CreateTimeSeries when it is empty. + */ + unit?: string | null; + /** + * The value type of the time series. When listing time series, this value type might be different from the value type of the associated metric if this time series is an alignment or reduction of other time series. When creating a time series, this field is optional. If present, it must be the same as the type of the data in the `points` field. + */ + valueType?: string | null; + } + /** + * A single strongly-typed value. + */ + export interface Schema$GoogleMonitoringV3TypedValue { + /** + * A Boolean value: `true` or `false`. + */ + boolValue?: boolean | null; + /** + * A distribution value. + */ + distributionValue?: Schema$GoogleApiDistribution; + /** + * A 64-bit double-precision floating-point number. Its magnitude is approximately ±10±300 and it has 16 significant digits of precision. + */ + doubleValue?: number | null; + /** + * A 64-bit integer. Its range is approximately ±9.2x1018. + */ + int64Value?: string | null; + /** + * A variable-length string value. + */ + stringValue?: string | null; + } /** * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} */ @@ -8763,6 +10657,60 @@ export namespace discoveryengine_v1 { */ year?: number | null; } + /** + * Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. + */ + export interface Schema$GoogleTypeDateTime { + /** + * Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day. + */ + day?: number | null; + /** + * Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value "24:00:00" for scenarios like business closing time. + */ + hours?: number | null; + /** + * Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0. + */ + minutes?: number | null; + /** + * Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month. + */ + month?: number | null; + /** + * Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0. + */ + nanos?: number | null; + /** + * Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds. + */ + seconds?: number | null; + /** + * Time zone. + */ + timeZone?: Schema$GoogleTypeTimeZone; + /** + * UTC offset. Must be whole seconds, between -18 hours and +18 hours. For example, a UTC offset of -4:00 would be represented as { seconds: -14400 \}. + */ + utcOffset?: string | null; + /** + * Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year. + */ + year?: number | null; + } + /** + * Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). + */ + export interface Schema$GoogleTypeTimeZone { + /** + * IANA Time Zone Database time zone. For example "America/New_York". + */ + id?: string | null; + /** + * Optional. IANA Time Zone Database version number. For example "2019a". + */ + version?: string | null; + } export class Resource$Projects { context: APIRequestContext; @@ -8916,108 +10864,67 @@ export namespace discoveryengine_v1 { this.context ); } - } - - export class Resource$Projects$Locations$Collections { - context: APIRequestContext; - dataConnector: Resource$Projects$Locations$Collections$Dataconnector; - dataStores: Resource$Projects$Locations$Collections$Datastores; - engines: Resource$Projects$Locations$Collections$Engines; - operations: Resource$Projects$Locations$Collections$Operations; - constructor(context: APIRequestContext) { - this.context = context; - this.dataConnector = - new Resource$Projects$Locations$Collections$Dataconnector(this.context); - this.dataStores = new Resource$Projects$Locations$Collections$Datastores( - this.context - ); - this.engines = new Resource$Projects$Locations$Collections$Engines( - this.context - ); - this.operations = new Resource$Projects$Locations$Collections$Operations( - this.context - ); - } - } - - export class Resource$Projects$Locations$Collections$Dataconnector { - context: APIRequestContext; - operations: Resource$Projects$Locations$Collections$Dataconnector$Operations; - constructor(context: APIRequestContext) { - this.context = context; - this.operations = - new Resource$Projects$Locations$Collections$Dataconnector$Operations( - this.context - ); - } - } - - export class Resource$Projects$Locations$Collections$Dataconnector$Operations { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * 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. + * Generates grounded content. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Projects$Locations$Collections$Dataconnector$Operations$Get, + generateGroundedContent( + params: Params$Resource$Projects$Locations$Generategroundedcontent, options: StreamMethodOptions ): GaxiosPromise; - get( - params?: Params$Resource$Projects$Locations$Collections$Dataconnector$Operations$Get, + generateGroundedContent( + params?: Params$Resource$Projects$Locations$Generategroundedcontent, options?: MethodOptions - ): GaxiosPromise; - get( - params: Params$Resource$Projects$Locations$Collections$Dataconnector$Operations$Get, + ): GaxiosPromise; + generateGroundedContent( + params: Params$Resource$Projects$Locations$Generategroundedcontent, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Collections$Dataconnector$Operations$Get, + generateGroundedContent( + params: Params$Resource$Projects$Locations$Generategroundedcontent, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Collections$Dataconnector$Operations$Get, - callback: BodyResponseCallback + generateGroundedContent( + params: Params$Resource$Projects$Locations$Generategroundedcontent, + callback: BodyResponseCallback ): void; - get( - callback: BodyResponseCallback + generateGroundedContent( + callback: BodyResponseCallback ): void; - get( + generateGroundedContent( paramsOrCallback?: - | Params$Resource$Projects$Locations$Collections$Dataconnector$Operations$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Generategroundedcontent + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Collections$Dataconnector$Operations$Get; + {}) as Params$Resource$Projects$Locations$Generategroundedcontent; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Collections$Dataconnector$Operations$Get; + {} as Params$Resource$Projects$Locations$Generategroundedcontent; options = {}; } @@ -9031,15 +10938,168 @@ export namespace discoveryengine_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + url: (rootUrl + '/v1/{+location}:generateGroundedContent').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['location'], + pathParams: ['location'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Generategroundedcontent + extends StandardParameters { + /** + * Required. Location resource. Format: `projects/{project\}/locations/{location\}`. + */ + location?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1GenerateGroundedContentRequest; + } + + export class Resource$Projects$Locations$Collections { + context: APIRequestContext; + dataConnector: Resource$Projects$Locations$Collections$Dataconnector; + dataStores: Resource$Projects$Locations$Collections$Datastores; + engines: Resource$Projects$Locations$Collections$Engines; + operations: Resource$Projects$Locations$Collections$Operations; + constructor(context: APIRequestContext) { + this.context = context; + this.dataConnector = + new Resource$Projects$Locations$Collections$Dataconnector(this.context); + this.dataStores = new Resource$Projects$Locations$Collections$Datastores( + this.context + ); + this.engines = new Resource$Projects$Locations$Collections$Engines( + this.context + ); + this.operations = new Resource$Projects$Locations$Collections$Operations( + this.context + ); + } + } + + export class Resource$Projects$Locations$Collections$Dataconnector { + context: APIRequestContext; + operations: Resource$Projects$Locations$Collections$Dataconnector$Operations; + constructor(context: APIRequestContext) { + this.context = context; + this.operations = + new Resource$Projects$Locations$Collections$Dataconnector$Operations( + this.context + ); + } + } + + export class Resource$Projects$Locations$Collections$Dataconnector$Operations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Collections$Dataconnector$Operations$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Collections$Dataconnector$Operations$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Collections$Dataconnector$Operations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Collections$Dataconnector$Operations$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Collections$Dataconnector$Operations$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Dataconnector$Operations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Dataconnector$Operations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Dataconnector$Operations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { @@ -10050,6 +12110,10 @@ export namespace discoveryengine_v1 { } export interface Params$Resource$Projects$Locations$Collections$Datastores$Create extends StandardParameters { + /** + * Resource name of the CmekConfig to use for protecting this DataStore. + */ + cmekConfigName?: string; /** * A boolean flag indicating whether user want to directly create an advanced data store for site search. If the data store is not configured as site search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will be ignored. */ @@ -10058,6 +12122,10 @@ export namespace discoveryengine_v1 { * Required. The ID to use for the DataStore, which will become the final component of the DataStore's resource name. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an INVALID_ARGUMENT error is returned. */ dataStoreId?: string; + /** + * DataStore without CMEK protections. If a default CmekConfig is set for the project, setting this field will override the default CmekConfig as well. + */ + disableCmek?: boolean; /** * Required. The parent resource name, such as `projects/{project\}/locations/{location\}/collections/{collection\}`. */ @@ -10957,7 +13025,7 @@ export namespace discoveryengine_v1 { export interface Params$Resource$Projects$Locations$Collections$Datastores$Branches$Documents$Create extends StandardParameters { /** - * Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. + * Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. */ documentId?: string; /** @@ -11051,7 +13119,7 @@ export namespace discoveryengine_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -14280,6 +16348,102 @@ export namespace discoveryengine_v1 { } } + /** + * Updates a ServingConfig. Returns a NOT_FOUND error if the ServingConfig does not exist. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Patch, + callback: BodyResponseCallback + ): void; + patch( + callback: BodyResponseCallback + ): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + /** * Makes a recommendation, which requires a contextual user event. * @@ -14477,36 +16641,262 @@ export namespace discoveryengine_v1 { ); } } - } - - export interface Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Answer - extends StandardParameters { - /** - * Required. The resource name of the Search serving config, such as `projects/x/locations/global/collections/default_collection/engines/x/servingConfigs/default_serving_config`, or `projects/x/locations/global/collections/default_collection/dataStores/x/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search. - */ - servingConfig?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GoogleCloudDiscoveryengineV1AnswerQueryRequest; - } - export interface Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Recommend - extends StandardParameters { - /** - * Required. Full resource name of a ServingConfig: `projects/x/locations/global/collections/x/engines/x/servingConfigs/x`, or `projects/x/locations/global/collections/x/dataStores/x/servingConfigs/x` One default serving config is created along with your recommendation engine creation. The engine ID is used as the ID of the default serving config. For example, for Engine `projects/x/locations/global/collections/x/engines/my-engine`, you can use `projects/x/locations/global/collections/x/engines/my-engine/servingConfigs/my-engine` for your RecommendationService.Recommend requests. - */ - servingConfig?: string; /** - * Request body metadata + * Performs a search. Similar to the SearchService.Search method, but a lite version that allows API key for authentication, where OAuth and IAM checks are not required. Only public website search is supported by this method. If data stores and engines not associated with public website search are specified, a `FAILED_PRECONDITION` error is returned. This method can be used for easy onboarding without having to implement an authentication backend. However, it is strongly recommended to use SearchService.Search instead with required OAuth and IAM checks to provide better data security. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - requestBody?: Schema$GoogleCloudDiscoveryengineV1RecommendRequest; - } - export interface Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Search - extends StandardParameters { - /** - * Required. The resource name of the Search serving config, such as `projects/x/locations/global/collections/default_collection/engines/x/servingConfigs/default_serving_config`, or `projects/x/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search. + searchLite( + params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Searchlite, + options: StreamMethodOptions + ): GaxiosPromise; + searchLite( + params?: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Searchlite, + options?: MethodOptions + ): GaxiosPromise; + searchLite( + params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Searchlite, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + searchLite( + params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Searchlite, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + searchLite( + params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Searchlite, + callback: BodyResponseCallback + ): void; + searchLite( + callback: BodyResponseCallback + ): void; + searchLite( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Searchlite + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Searchlite; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Searchlite; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+servingConfig}:searchLite').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['servingConfig'], + pathParams: ['servingConfig'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Answer query method (streaming). It takes one AnswerQueryRequest and returns multiple AnswerQueryResponse messages in a stream. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + streamAnswer( + params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer, + options: StreamMethodOptions + ): GaxiosPromise; + streamAnswer( + params?: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer, + options?: MethodOptions + ): GaxiosPromise; + streamAnswer( + params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + streamAnswer( + params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + streamAnswer( + params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer, + callback: BodyResponseCallback + ): void; + streamAnswer( + callback: BodyResponseCallback + ): void; + streamAnswer( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+servingConfig}:streamAnswer').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['servingConfig'], + pathParams: ['servingConfig'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Answer + extends StandardParameters { + /** + * Required. The resource name of the Search serving config, such as `projects/x/locations/global/collections/default_collection/engines/x/servingConfigs/default_serving_config`, or `projects/x/locations/global/collections/default_collection/dataStores/x/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search. + */ + servingConfig?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1AnswerQueryRequest; + } + export interface Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Patch + extends StandardParameters { + /** + * Immutable. Fully qualified name `projects/{project\}/locations/{location\}/collections/{collection_id\}/engines/{engine_id\}/servingConfigs/{serving_config_id\}` + */ + name?: string; + /** + * Indicates which fields in the provided ServingConfig to update. The following are NOT supported: * ServingConfig.name If not set, all supported fields are updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1ServingConfig; + } + export interface Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Recommend + extends StandardParameters { + /** + * Required. Full resource name of a ServingConfig: `projects/x/locations/global/collections/x/engines/x/servingConfigs/x`, or `projects/x/locations/global/collections/x/dataStores/x/servingConfigs/x` One default serving config is created along with your recommendation engine creation. The engine ID is used as the ID of the default serving config. For example, for Engine `projects/x/locations/global/collections/x/engines/my-engine`, you can use `projects/x/locations/global/collections/x/engines/my-engine/servingConfigs/my-engine` for your RecommendationService.Recommend requests. + */ + servingConfig?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1RecommendRequest; + } + export interface Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Search + extends StandardParameters { + /** + * Required. The resource name of the Search serving config, such as `projects/x/locations/global/collections/default_collection/engines/x/servingConfigs/default_serving_config`, or `projects/x/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search. + */ + servingConfig?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1SearchRequest; + } + export interface Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Searchlite + extends StandardParameters { + /** + * Required. The resource name of the Search serving config, such as `projects/x/locations/global/collections/default_collection/engines/x/servingConfigs/default_serving_config`, or `projects/x/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search. */ servingConfig?: string; @@ -14515,6 +16905,18 @@ export namespace discoveryengine_v1 { */ requestBody?: Schema$GoogleCloudDiscoveryengineV1SearchRequest; } + export interface Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer + extends StandardParameters { + /** + * Required. The resource name of the Search serving config, such as `projects/x/locations/global/collections/default_collection/engines/x/servingConfigs/default_serving_config`, or `projects/x/locations/global/collections/default_collection/dataStores/x/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search. + */ + servingConfig?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1AnswerQueryRequest; + } export class Resource$Projects$Locations$Collections$Datastores$Sessions { context: APIRequestContext; @@ -15029,6 +17431,10 @@ export namespace discoveryengine_v1 { } export interface Params$Resource$Projects$Locations$Collections$Datastores$Sessions$Get extends StandardParameters { + /** + * Optional. If set to true, the full session including all answer details will be returned. + */ + includeAnswerDetails?: boolean; /** * Required. The resource name of the Session to get. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store_id\}/sessions/{session_id\}` */ @@ -15041,7 +17447,7 @@ export namespace discoveryengine_v1 { */ filter?: string; /** - * A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` Example: "update_time desc" "create_time" + * A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * "update_time desc" * "create_time" * "is_pinned desc,update_time desc": list sessions by is_pinned first, then by update_time. */ orderBy?: string; /** @@ -17483,7 +19889,7 @@ export namespace discoveryengine_v1 { */ ets?: string; /** - * Required. The parent DataStore resource name, such as `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}`. + * Required. The parent resource name. If the collect user event action is applied in DataStore level, the format is: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}`. If the collect user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project\}/locations/{location\}`. */ parent?: string; /** @@ -19666,65 +22072,65 @@ export namespace discoveryengine_v1 { } /** - * Makes a recommendation, which requires a contextual user event. + * Updates a ServingConfig. Returns a NOT_FOUND error if the ServingConfig does not exist. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - recommend( - params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Recommend, + patch( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Patch, options: StreamMethodOptions ): GaxiosPromise; - recommend( - params?: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Recommend, + patch( + params?: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Patch, options?: MethodOptions - ): GaxiosPromise; - recommend( - params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Recommend, + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - recommend( - params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Recommend, + patch( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Patch, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - recommend( - params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Recommend, - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Patch, + callback: BodyResponseCallback ): void; - recommend( - callback: BodyResponseCallback + patch( + callback: BodyResponseCallback ): void; - recommend( + patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Recommend - | BodyResponseCallback + | Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Patch + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Recommend; + {}) as Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Recommend; + {} as Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Patch; options = {}; } @@ -19738,8 +22144,104 @@ export namespace discoveryengine_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+servingConfig}:recommend').replace( - /([^:]\/)\/+/g, + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Makes a recommendation, which requires a contextual user event. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + recommend( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Recommend, + options: StreamMethodOptions + ): GaxiosPromise; + recommend( + params?: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Recommend, + options?: MethodOptions + ): GaxiosPromise; + recommend( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Recommend, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + recommend( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Recommend, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + recommend( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Recommend, + callback: BodyResponseCallback + ): void; + recommend( + callback: BodyResponseCallback + ): void; + recommend( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Recommend + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Recommend; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Recommend; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+servingConfig}:recommend').replace( + /([^:]\/)\/+/g, '$1' ), method: 'POST', @@ -19862,116 +22364,67 @@ export namespace discoveryengine_v1 { ); } } - } - - export interface Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Answer - extends StandardParameters { - /** - * Required. The resource name of the Search serving config, such as `projects/x/locations/global/collections/default_collection/engines/x/servingConfigs/default_serving_config`, or `projects/x/locations/global/collections/default_collection/dataStores/x/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search. - */ - servingConfig?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GoogleCloudDiscoveryengineV1AnswerQueryRequest; - } - export interface Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Recommend - extends StandardParameters { - /** - * Required. Full resource name of a ServingConfig: `projects/x/locations/global/collections/x/engines/x/servingConfigs/x`, or `projects/x/locations/global/collections/x/dataStores/x/servingConfigs/x` One default serving config is created along with your recommendation engine creation. The engine ID is used as the ID of the default serving config. For example, for Engine `projects/x/locations/global/collections/x/engines/my-engine`, you can use `projects/x/locations/global/collections/x/engines/my-engine/servingConfigs/my-engine` for your RecommendationService.Recommend requests. - */ - servingConfig?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GoogleCloudDiscoveryengineV1RecommendRequest; - } - export interface Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Search - extends StandardParameters { - /** - * Required. The resource name of the Search serving config, such as `projects/x/locations/global/collections/default_collection/engines/x/servingConfigs/default_serving_config`, or `projects/x/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search. - */ - servingConfig?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GoogleCloudDiscoveryengineV1SearchRequest; - } - - export class Resource$Projects$Locations$Collections$Engines$Sessions { - context: APIRequestContext; - answers: Resource$Projects$Locations$Collections$Engines$Sessions$Answers; - constructor(context: APIRequestContext) { - this.context = context; - this.answers = - new Resource$Projects$Locations$Collections$Engines$Sessions$Answers( - this.context - ); - } /** - * Creates a Session. If the Session to create already exists, an ALREADY_EXISTS error is returned. + * Performs a search. Similar to the SearchService.Search method, but a lite version that allows API key for authentication, where OAuth and IAM checks are not required. Only public website search is supported by this method. If data stores and engines not associated with public website search are specified, a `FAILED_PRECONDITION` error is returned. This method can be used for easy onboarding without having to implement an authentication backend. However, it is strongly recommended to use SearchService.Search instead with required OAuth and IAM checks to provide better data security. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - create( - params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Create, + searchLite( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Searchlite, options: StreamMethodOptions ): GaxiosPromise; - create( - params?: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Create, + searchLite( + params?: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Searchlite, options?: MethodOptions - ): GaxiosPromise; - create( - params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Create, + ): GaxiosPromise; + searchLite( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Searchlite, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Create, + searchLite( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Searchlite, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Create, - callback: BodyResponseCallback + searchLite( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Searchlite, + callback: BodyResponseCallback ): void; - create( - callback: BodyResponseCallback + searchLite( + callback: BodyResponseCallback ): void; - create( + searchLite( paramsOrCallback?: - | Params$Resource$Projects$Locations$Collections$Engines$Sessions$Create - | BodyResponseCallback + | Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Searchlite + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Collections$Engines$Sessions$Create; + {}) as Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Searchlite; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Collections$Engines$Sessions$Create; + {} as Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Searchlite; options = {}; } @@ -19985,7 +22438,7 @@ export namespace discoveryengine_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/sessions').replace( + url: (rootUrl + '/v1/{+servingConfig}:searchLite').replace( /([^:]\/)\/+/g, '$1' ), @@ -19995,78 +22448,82 @@ export namespace discoveryengine_v1 { options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['servingConfig'], + pathParams: ['servingConfig'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Deletes a Session. If the Session to delete does not exist, a NOT_FOUND error is returned. + * Answer query method (streaming). It takes one AnswerQueryRequest and returns multiple AnswerQueryResponse messages in a stream. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Delete, + streamAnswer( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer, options: StreamMethodOptions ): GaxiosPromise; - delete( - params?: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Delete, + streamAnswer( + params?: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer, options?: MethodOptions - ): GaxiosPromise; - delete( - params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Delete, + ): GaxiosPromise; + streamAnswer( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + streamAnswer( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Delete, - callback: BodyResponseCallback + streamAnswer( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + streamAnswer( + callback: BodyResponseCallback + ): void; + streamAnswer( paramsOrCallback?: - | Params$Resource$Projects$Locations$Collections$Engines$Sessions$Delete - | BodyResponseCallback + | Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Collections$Engines$Sessions$Delete; + {}) as Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Collections$Engines$Sessions$Delete; + {} as Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer; options = {}; } @@ -20080,65 +22537,159 @@ export namespace discoveryengine_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + url: (rootUrl + '/v1/{+servingConfig}:streamAnswer').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['servingConfig'], + pathParams: ['servingConfig'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } + } + export interface Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Answer + extends StandardParameters { /** - * Gets a Session. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * Required. The resource name of the Search serving config, such as `projects/x/locations/global/collections/default_collection/engines/x/servingConfigs/default_serving_config`, or `projects/x/locations/global/collections/default_collection/dataStores/x/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search. */ - get( - params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Get, - options: StreamMethodOptions - ): GaxiosPromise; - get( - params?: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Get, + servingConfig?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1AnswerQueryRequest; + } + export interface Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Patch + extends StandardParameters { + /** + * Immutable. Fully qualified name `projects/{project\}/locations/{location\}/collections/{collection_id\}/engines/{engine_id\}/servingConfigs/{serving_config_id\}` + */ + name?: string; + /** + * Indicates which fields in the provided ServingConfig to update. The following are NOT supported: * ServingConfig.name If not set, all supported fields are updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1ServingConfig; + } + export interface Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Recommend + extends StandardParameters { + /** + * Required. Full resource name of a ServingConfig: `projects/x/locations/global/collections/x/engines/x/servingConfigs/x`, or `projects/x/locations/global/collections/x/dataStores/x/servingConfigs/x` One default serving config is created along with your recommendation engine creation. The engine ID is used as the ID of the default serving config. For example, for Engine `projects/x/locations/global/collections/x/engines/my-engine`, you can use `projects/x/locations/global/collections/x/engines/my-engine/servingConfigs/my-engine` for your RecommendationService.Recommend requests. + */ + servingConfig?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1RecommendRequest; + } + export interface Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Search + extends StandardParameters { + /** + * Required. The resource name of the Search serving config, such as `projects/x/locations/global/collections/default_collection/engines/x/servingConfigs/default_serving_config`, or `projects/x/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search. + */ + servingConfig?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1SearchRequest; + } + export interface Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Searchlite + extends StandardParameters { + /** + * Required. The resource name of the Search serving config, such as `projects/x/locations/global/collections/default_collection/engines/x/servingConfigs/default_serving_config`, or `projects/x/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search. + */ + servingConfig?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1SearchRequest; + } + export interface Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer + extends StandardParameters { + /** + * Required. The resource name of the Search serving config, such as `projects/x/locations/global/collections/default_collection/engines/x/servingConfigs/default_serving_config`, or `projects/x/locations/global/collections/default_collection/dataStores/x/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search. + */ + servingConfig?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1AnswerQueryRequest; + } + + export class Resource$Projects$Locations$Collections$Engines$Sessions { + context: APIRequestContext; + answers: Resource$Projects$Locations$Collections$Engines$Sessions$Answers; + constructor(context: APIRequestContext) { + this.context = context; + this.answers = + new Resource$Projects$Locations$Collections$Engines$Sessions$Answers( + this.context + ); + } + + /** + * Creates a Session. If the Session to create already exists, an ALREADY_EXISTS error is returned. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Create, options?: MethodOptions ): GaxiosPromise; - get( - params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Get, + create( + params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Get, + create( + params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Create, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Get, + create( + params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Create, callback: BodyResponseCallback ): void; - get( + create( callback: BodyResponseCallback ): void; - get( + create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Collections$Engines$Sessions$Get + | Params$Resource$Projects$Locations$Collections$Engines$Sessions$Create | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -20154,13 +22705,13 @@ export namespace discoveryengine_v1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Collections$Engines$Sessions$Get; + {}) as Params$Resource$Projects$Locations$Collections$Engines$Sessions$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Collections$Engines$Sessions$Get; + {} as Params$Resource$Projects$Locations$Collections$Engines$Sessions$Create; options = {}; } @@ -20174,15 +22725,18 @@ export namespace discoveryengine_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + url: (rootUrl + '/v1/{+parent}/sessions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { @@ -20198,65 +22752,61 @@ export namespace discoveryengine_v1 { } /** - * Lists all Sessions by their parent DataStore. + * Deletes a Session. If the Session to delete does not exist, a NOT_FOUND error is returned. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$List, + delete( + params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Delete, options: StreamMethodOptions ): GaxiosPromise; - list( - params?: Params$Resource$Projects$Locations$Collections$Engines$Sessions$List, + delete( + params?: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Delete, options?: MethodOptions - ): GaxiosPromise; - list( - params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$List, + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$List, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Delete, + callback: BodyResponseCallback ): void; - list( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Collections$Engines$Sessions$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Collections$Engines$Sessions$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Collections$Engines$Sessions$List; + {}) as Params$Resource$Projects$Locations$Collections$Engines$Sessions$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Collections$Engines$Sessions$List; + {} as Params$Resource$Projects$Locations$Collections$Engines$Sessions$Delete; options = {}; } @@ -20270,70 +22820,65 @@ export namespace discoveryengine_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/sessions').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Updates a Session. Session action type cannot be changed. If the Session to update does not exist, a NOT_FOUND error is returned. + * Gets a Session. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Patch, + get( + params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Get, options: StreamMethodOptions ): GaxiosPromise; - patch( - params?: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Patch, + get( + params?: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Get, options?: MethodOptions ): GaxiosPromise; - patch( - params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Patch, + get( + params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Patch, + get( + params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Get, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Patch, + get( + params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Get, callback: BodyResponseCallback ): void; - patch( + get( callback: BodyResponseCallback ): void; - patch( + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Collections$Engines$Sessions$Patch + | Params$Resource$Projects$Locations$Collections$Engines$Sessions$Get | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -20349,13 +22894,13 @@ export namespace discoveryengine_v1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Collections$Engines$Sessions$Patch; + {}) as Params$Resource$Projects$Locations$Collections$Engines$Sessions$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Collections$Engines$Sessions$Patch; + {} as Params$Resource$Projects$Locations$Collections$Engines$Sessions$Get; options = {}; } @@ -20370,7 +22915,7 @@ export namespace discoveryengine_v1 { options: Object.assign( { url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'GET', apiVersion: '', }, options @@ -20391,31 +22936,230 @@ export namespace discoveryengine_v1 { ); } } - } - - export interface Params$Resource$Projects$Locations$Collections$Engines$Sessions$Create - extends StandardParameters { - /** - * Required. Full resource name of parent data store. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store_id\}` - */ - parent?: string; /** - * Request body metadata - */ - requestBody?: Schema$GoogleCloudDiscoveryengineV1Session; - } - export interface Params$Resource$Projects$Locations$Collections$Engines$Sessions$Delete - extends StandardParameters { - /** - * Required. The resource name of the Session to delete. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store_id\}/sessions/{session_id\}` - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Collections$Engines$Sessions$Get - extends StandardParameters { - /** - * Required. The resource name of the Session to get. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store_id\}/sessions/{session_id\}` + * Lists all Sessions by their parent DataStore. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Collections$Engines$Sessions$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Engines$Sessions$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Engines$Sessions$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Engines$Sessions$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/sessions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates a Session. Session action type cannot be changed. If the Session to update does not exist, a NOT_FOUND error is returned. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Collections$Engines$Sessions$Patch, + callback: BodyResponseCallback + ): void; + patch( + callback: BodyResponseCallback + ): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Engines$Sessions$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Engines$Sessions$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Engines$Sessions$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Collections$Engines$Sessions$Create + extends StandardParameters { + /** + * Required. Full resource name of parent data store. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store_id\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1Session; + } + export interface Params$Resource$Projects$Locations$Collections$Engines$Sessions$Delete + extends StandardParameters { + /** + * Required. The resource name of the Session to delete. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store_id\}/sessions/{session_id\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Collections$Engines$Sessions$Get + extends StandardParameters { + /** + * Optional. If set to true, the full session including all answer details will be returned. + */ + includeAnswerDetails?: boolean; + /** + * Required. The resource name of the Session to get. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store_id\}/sessions/{session_id\}` */ name?: string; } @@ -20426,7 +23170,7 @@ export namespace discoveryengine_v1 { */ filter?: string; /** - * A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` Example: "update_time desc" "create_time" + * A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * "update_time desc" * "create_time" * "is_pinned desc,update_time desc": list sessions by is_pinned first, then by update_time. */ orderBy?: string; /** @@ -21550,6 +24294,10 @@ export namespace discoveryengine_v1 { } export interface Params$Resource$Projects$Locations$Datastores$Create extends StandardParameters { + /** + * Resource name of the CmekConfig to use for protecting this DataStore. + */ + cmekConfigName?: string; /** * A boolean flag indicating whether user want to directly create an advanced data store for site search. If the data store is not configured as site search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will be ignored. */ @@ -21558,6 +24306,10 @@ export namespace discoveryengine_v1 { * Required. The ID to use for the DataStore, which will become the final component of the DataStore's resource name. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an INVALID_ARGUMENT error is returned. */ dataStoreId?: string; + /** + * DataStore without CMEK protections. If a default CmekConfig is set for the project, setting this field will override the default CmekConfig as well. + */ + disableCmek?: boolean; /** * Required. The parent resource name, such as `projects/{project\}/locations/{location\}/collections/{collection\}`. */ @@ -22445,7 +25197,7 @@ export namespace discoveryengine_v1 { export interface Params$Resource$Projects$Locations$Datastores$Branches$Documents$Create extends StandardParameters { /** - * Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. + * Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. */ documentId?: string; /** @@ -22539,7 +25291,7 @@ export namespace discoveryengine_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -25344,45 +28096,339 @@ export namespace discoveryengine_v1 { options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - answer( - params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Answer, + answer( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Answer, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + answer( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Answer, + callback: BodyResponseCallback + ): void; + answer( + callback: BodyResponseCallback + ): void; + answer( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datastores$Servingconfigs$Answer + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datastores$Servingconfigs$Answer; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Datastores$Servingconfigs$Answer; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+servingConfig}:answer').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['servingConfig'], + pathParams: ['servingConfig'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates a ServingConfig. Returns a NOT_FOUND error if the ServingConfig does not exist. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Patch, + callback: BodyResponseCallback + ): void; + patch( + callback: BodyResponseCallback + ): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datastores$Servingconfigs$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datastores$Servingconfigs$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Datastores$Servingconfigs$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Makes a recommendation, which requires a contextual user event. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + recommend( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Recommend, + options: StreamMethodOptions + ): GaxiosPromise; + recommend( + params?: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Recommend, + options?: MethodOptions + ): GaxiosPromise; + recommend( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Recommend, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + recommend( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Recommend, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + recommend( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Recommend, + callback: BodyResponseCallback + ): void; + recommend( + callback: BodyResponseCallback + ): void; + recommend( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datastores$Servingconfigs$Recommend + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datastores$Servingconfigs$Recommend; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Datastores$Servingconfigs$Recommend; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+servingConfig}:recommend').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['servingConfig'], + pathParams: ['servingConfig'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Performs a search. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + search( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Search, + options: StreamMethodOptions + ): GaxiosPromise; + search( + params?: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Search, + options?: MethodOptions + ): GaxiosPromise; + search( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Search, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + search( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Search, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - answer( - params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Answer, - callback: BodyResponseCallback + search( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Search, + callback: BodyResponseCallback ): void; - answer( - callback: BodyResponseCallback + search( + callback: BodyResponseCallback ): void; - answer( + search( paramsOrCallback?: - | Params$Resource$Projects$Locations$Datastores$Servingconfigs$Answer - | BodyResponseCallback + | Params$Resource$Projects$Locations$Datastores$Servingconfigs$Search + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Datastores$Servingconfigs$Answer; + {}) as Params$Resource$Projects$Locations$Datastores$Servingconfigs$Search; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Datastores$Servingconfigs$Answer; + {} as Params$Resource$Projects$Locations$Datastores$Servingconfigs$Search; options = {}; } @@ -25396,7 +28442,7 @@ export namespace discoveryengine_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+servingConfig}:answer').replace( + url: (rootUrl + '/v1/{+servingConfig}:search').replace( /([^:]\/)\/+/g, '$1' ), @@ -25411,77 +28457,77 @@ export namespace discoveryengine_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Makes a recommendation, which requires a contextual user event. + * Performs a search. Similar to the SearchService.Search method, but a lite version that allows API key for authentication, where OAuth and IAM checks are not required. Only public website search is supported by this method. If data stores and engines not associated with public website search are specified, a `FAILED_PRECONDITION` error is returned. This method can be used for easy onboarding without having to implement an authentication backend. However, it is strongly recommended to use SearchService.Search instead with required OAuth and IAM checks to provide better data security. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - recommend( - params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Recommend, + searchLite( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Searchlite, options: StreamMethodOptions ): GaxiosPromise; - recommend( - params?: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Recommend, + searchLite( + params?: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Searchlite, options?: MethodOptions - ): GaxiosPromise; - recommend( - params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Recommend, + ): GaxiosPromise; + searchLite( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Searchlite, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - recommend( - params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Recommend, + searchLite( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Searchlite, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - recommend( - params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Recommend, - callback: BodyResponseCallback + searchLite( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Searchlite, + callback: BodyResponseCallback ): void; - recommend( - callback: BodyResponseCallback + searchLite( + callback: BodyResponseCallback ): void; - recommend( + searchLite( paramsOrCallback?: - | Params$Resource$Projects$Locations$Datastores$Servingconfigs$Recommend - | BodyResponseCallback + | Params$Resource$Projects$Locations$Datastores$Servingconfigs$Searchlite + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Datastores$Servingconfigs$Recommend; + {}) as Params$Resource$Projects$Locations$Datastores$Servingconfigs$Searchlite; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Datastores$Servingconfigs$Recommend; + {} as Params$Resource$Projects$Locations$Datastores$Servingconfigs$Searchlite; options = {}; } @@ -25495,7 +28541,7 @@ export namespace discoveryengine_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+servingConfig}:recommend').replace( + url: (rootUrl + '/v1/{+servingConfig}:searchLite').replace( /([^:]\/)\/+/g, '$1' ), @@ -25510,77 +28556,77 @@ export namespace discoveryengine_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } /** - * Performs a search. + * Answer query method (streaming). It takes one AnswerQueryRequest and returns multiple AnswerQueryResponse messages in a stream. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - search( - params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Search, + streamAnswer( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer, options: StreamMethodOptions ): GaxiosPromise; - search( - params?: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Search, + streamAnswer( + params?: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer, options?: MethodOptions - ): GaxiosPromise; - search( - params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Search, + ): GaxiosPromise; + streamAnswer( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - search( - params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Search, + streamAnswer( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - search( - params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Search, - callback: BodyResponseCallback + streamAnswer( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer, + callback: BodyResponseCallback ): void; - search( - callback: BodyResponseCallback + streamAnswer( + callback: BodyResponseCallback ): void; - search( + streamAnswer( paramsOrCallback?: - | Params$Resource$Projects$Locations$Datastores$Servingconfigs$Search - | BodyResponseCallback + | Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Datastores$Servingconfigs$Search; + {}) as Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Datastores$Servingconfigs$Search; + {} as Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer; options = {}; } @@ -25594,7 +28640,7 @@ export namespace discoveryengine_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+servingConfig}:search').replace( + url: (rootUrl + '/v1/{+servingConfig}:streamAnswer').replace( /([^:]\/)\/+/g, '$1' ), @@ -25609,12 +28655,12 @@ export namespace discoveryengine_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } @@ -25633,6 +28679,22 @@ export namespace discoveryengine_v1 { */ requestBody?: Schema$GoogleCloudDiscoveryengineV1AnswerQueryRequest; } + export interface Params$Resource$Projects$Locations$Datastores$Servingconfigs$Patch + extends StandardParameters { + /** + * Immutable. Fully qualified name `projects/{project\}/locations/{location\}/collections/{collection_id\}/engines/{engine_id\}/servingConfigs/{serving_config_id\}` + */ + name?: string; + /** + * Indicates which fields in the provided ServingConfig to update. The following are NOT supported: * ServingConfig.name If not set, all supported fields are updated. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1ServingConfig; + } export interface Params$Resource$Projects$Locations$Datastores$Servingconfigs$Recommend extends StandardParameters { /** @@ -25657,6 +28719,30 @@ export namespace discoveryengine_v1 { */ requestBody?: Schema$GoogleCloudDiscoveryengineV1SearchRequest; } + export interface Params$Resource$Projects$Locations$Datastores$Servingconfigs$Searchlite + extends StandardParameters { + /** + * Required. The resource name of the Search serving config, such as `projects/x/locations/global/collections/default_collection/engines/x/servingConfigs/default_serving_config`, or `projects/x/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search. + */ + servingConfig?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1SearchRequest; + } + export interface Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer + extends StandardParameters { + /** + * Required. The resource name of the Search serving config, such as `projects/x/locations/global/collections/default_collection/engines/x/servingConfigs/default_serving_config`, or `projects/x/locations/global/collections/default_collection/dataStores/x/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search. + */ + servingConfig?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1AnswerQueryRequest; + } export class Resource$Projects$Locations$Datastores$Sessions { context: APIRequestContext; @@ -26171,6 +29257,10 @@ export namespace discoveryengine_v1 { } export interface Params$Resource$Projects$Locations$Datastores$Sessions$Get extends StandardParameters { + /** + * Optional. If set to true, the full session including all answer details will be returned. + */ + includeAnswerDetails?: boolean; /** * Required. The resource name of the Session to get. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store_id\}/sessions/{session_id\}` */ @@ -26183,7 +29273,7 @@ export namespace discoveryengine_v1 { */ filter?: string; /** - * A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` Example: "update_time desc" "create_time" + * A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * "update_time desc" * "create_time" * "is_pinned desc,update_time desc": list sessions by is_pinned first, then by update_time. */ orderBy?: string; /** @@ -27939,7 +31029,7 @@ export namespace discoveryengine_v1 { */ ets?: string; /** - * Required. The parent DataStore resource name, such as `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}`. + * Required. The parent resource name. If the collect user event action is applied in DataStore level, the format is: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}`. If the collect user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project\}/locations/{location\}`. */ parent?: string; /** @@ -28791,6 +31881,102 @@ export namespace discoveryengine_v1 { } } + /** + * Bulk import of user events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata is of type ImportMetadata. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + import( + params: Params$Resource$Projects$Locations$Userevents$Import, + options: StreamMethodOptions + ): GaxiosPromise; + import( + params?: Params$Resource$Projects$Locations$Userevents$Import, + options?: MethodOptions + ): GaxiosPromise; + import( + params: Params$Resource$Projects$Locations$Userevents$Import, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + import( + params: Params$Resource$Projects$Locations$Userevents$Import, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + import( + params: Params$Resource$Projects$Locations$Userevents$Import, + callback: BodyResponseCallback + ): void; + import( + callback: BodyResponseCallback + ): void; + import( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Userevents$Import + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Userevents$Import; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Userevents$Import; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/userEvents:import').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Writes a single user event. * @@ -28897,7 +32083,7 @@ export namespace discoveryengine_v1 { */ ets?: string; /** - * Required. The parent DataStore resource name, such as `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}`. + * Required. The parent resource name. If the collect user event action is applied in DataStore level, the format is: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}`. If the collect user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project\}/locations/{location\}`. */ parent?: string; /** @@ -28909,6 +32095,18 @@ export namespace discoveryengine_v1 { */ userEvent?: string; } + export interface Params$Resource$Projects$Locations$Userevents$Import + extends StandardParameters { + /** + * Required. Parent DataStore resource name, of the form `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1ImportUserEventsRequest; + } export interface Params$Resource$Projects$Locations$Userevents$Write extends StandardParameters { /** @@ -28933,7 +32131,7 @@ export namespace discoveryengine_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/discoveryengine/v1alpha.ts b/src/apis/discoveryengine/v1alpha.ts index 533915a080..4ec5817e25 100644 --- a/src/apis/discoveryengine/v1alpha.ts +++ b/src/apis/discoveryengine/v1alpha.ts @@ -264,6 +264,19 @@ export namespace discoveryengine_v1alpha { */ extensions?: Array<{[key: string]: any}> | null; } + /** + * A specific metric, identified by specifying values for all of the labels of a `MetricDescriptor`. + */ + export interface Schema$GoogleApiMetric { + /** + * The set of label values that uniquely identify this metric. All labels listed in the `MetricDescriptor` must be assigned values. + */ + labels?: {[key: string]: string} | null; + /** + * An existing metric type, see google.api.MetricDescriptor. For example, `custom.googleapis.com/invoice/paid/amount`. + */ + type?: string | null; + } /** * An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The `type` field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the `labels` field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for `"gce_instance"` has labels `"project_id"`, `"instance_id"` and `"zone"`: { "type": "gce_instance", "labels": { "project_id": "my-project", "instance_id": "12345678901234", "zone": "us-central1-a" \}\} */ @@ -277,6 +290,19 @@ export namespace discoveryengine_v1alpha { */ type?: string | null; } + /** + * Auxiliary metadata for a MonitoredResource object. MonitoredResource objects contain the minimum set of information to uniquely identify a monitored resource instance. There is some other useful auxiliary metadata. Monitoring and Logging use an ingestion pipeline to extract metadata for cloud resources of all types, and store the metadata in this message. + */ + export interface Schema$GoogleApiMonitoredResourceMetadata { + /** + * Output only. Values for predefined system metadata labels. System labels are a kind of metadata extracted by Google, including "machine_image", "vpc", "subnet_id", "security_group", "name", etc. System label values can be only strings, Boolean values, or a list of strings. For example: { "name": "my-test-instance", "security_group": ["a", "b", "c"], "spot_instance": false \} + */ + systemLabels?: {[key: string]: any} | null; + /** + * Output only. A map of user-defined metadata labels. + */ + userLabels?: {[key: string]: string} | null; + } /** * A description of the context in which an error occurred. */ @@ -375,6 +401,19 @@ export namespace discoveryengine_v1alpha { */ functionName?: string | null; } + /** + * Configuration data for advance site search. + */ + export interface Schema$GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig { + /** + * If set true, automatic refresh is disabled for the DataStore. + */ + disableAutomaticRefresh?: boolean | null; + /** + * If set true, initial indexing is disabled for the DataStore. + */ + disableInitialIndex?: boolean | null; + } /** * Access Control Configuration. */ @@ -388,6 +427,184 @@ export namespace discoveryengine_v1alpha { */ name?: string | null; } + /** + * Informations to support actions on the connector. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaActionConfig { + /** + * Required. Params needed to support actions in the format of (Key, Value) pairs. Required parameters for sources that support OAUTH, i.e. `gmail`, `google_calendar`, `jira`, `workday`, `salesforce`, `confluence`: * Key: `client_id` * Value: type STRING. The client id for the service provider to identify your application. * Key: `client_secret` * Value:type STRING. The client secret generated by the application's authorization server. + */ + actionParams?: {[key: string]: any} | null; + /** + * Output only. The connector contains the necessary parameters and is configured to support actions. + */ + isActionConfigured?: boolean | null; + } + /** + * Request message for CompletionService.AdvancedCompleteQuery method. . + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequest { + /** + * Optional. Specification to boost suggestions matching the condition. + */ + boostSpec?: Schema$GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequestBoostSpec; + /** + * Indicates if tail suggestions should be returned if there are no suggestions that match the full query. Even if set to true, if there are suggestions that match the full query, those are returned and no tail suggestions are returned. + */ + includeTailSuggestions?: boolean | null; + /** + * Required. The typeahead input used to fetch suggestions. Maximum length is 128 characters. The query can not be empty for most of the suggestion types. If it is empty, an `INVALID_ARGUMENT` error is returned. The exception is when the suggestion_types contains only the type `RECENT_SEARCH`, the query can be an empty string. The is called "zero prefix" feature, which returns user's recently searched queries given the empty query. + */ + query?: string | null; + /** + * Specifies the autocomplete data model. This overrides any model specified in the Configuration \> Autocomplete section of the Cloud console. Currently supported values: * `document` - Using suggestions generated from user-imported documents. * `search-history` - Using suggestions generated from the past history of SearchService.Search API calls. Do not use it when there is no traffic for Search API. * `user-event` - Using suggestions generated from user-imported search events. * `document-completable` - Using suggestions taken directly from user-imported document fields marked as completable. Default values: * `document` is the default model for regular dataStores. * `search-history` is the default model for site search dataStores. + */ + queryModel?: string | null; + /** + * Optional. Suggestion types to return. If empty or unspecified, query suggestions are returned. Only one suggestion type is supported at the moment. + */ + suggestionTypes?: string[] | null; + /** + * Optional. Information about the end user. This should be the same identifier information as UserEvent.user_info and SearchRequest.user_info. + */ + userInfo?: Schema$GoogleCloudDiscoveryengineV1alphaUserInfo; + /** + * A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This field should NOT have a fixed value such as `unknown_visitor`. This should be the same identifier as UserEvent.user_pseudo_id and SearchRequest.user_pseudo_id. The field must be a UTF-8 encoded string with a length limit of 128 + */ + userPseudoId?: string | null; + } + /** + * Specification to boost suggestions based on the condtion of the suggestion. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequestBoostSpec { + /** + * Condition boost specifications. If a suggestion matches multiple conditions in the specifictions, boost values from these specifications are all applied and combined in a non-linear way. Maximum number of specifications is 20. Note: Currently only support language condition boost. + */ + conditionBoostSpecs?: Schema$GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequestBoostSpecConditionBoostSpec[]; + } + /** + * Boost applies to suggestions which match a condition. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequestBoostSpecConditionBoostSpec { + /** + * Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0. Setting to 1.0 gives the suggestions a big promotion. However, it does not necessarily mean that the top result will be a boosted suggestion. Setting to -1.0 gives the suggestions a big demotion. However, other suggestions that are relevant might still be shown. Setting to 0.0 means no boost applied. The boosting condition is ignored. + */ + boost?: number | null; + /** + * An expression which specifies a boost condition. The syntax is the same as [filter expression syntax](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata#filter-expression-syntax). Currently, the only supported condition is a list of BCP-47 lang codes. Example: * To boost suggestions in languages `en` or `fr`: `(lang_code: ANY("en", "fr"))` + */ + condition?: string | null; + } + /** + * Response message for CompletionService.AdvancedCompleteQuery method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponse { + /** + * Results of the matched content suggestions. The result list is ordered and the first result is the top suggestion. + */ + contentSuggestions?: Schema$GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponseContentSuggestion[]; + /** + * Results of the matched people suggestions. The result list is ordered and the first result is the top suggestion. + */ + peopleSuggestions?: Schema$GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponsePersonSuggestion[]; + /** + * Results of the matched query suggestions. The result list is ordered and the first result is a top suggestion. + */ + querySuggestions?: Schema$GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponseQuerySuggestion[]; + /** + * Results of the matched "recent search" suggestions. The result list is ordered and the first result is the top suggestion. + */ + recentSearchSuggestions?: Schema$GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponseRecentSearchSuggestion[]; + /** + * True if the returned suggestions are all tail suggestions. For tail matching to be triggered, include_tail_suggestions in the request must be true and there must be no suggestions that match the full query. + */ + tailMatchTriggered?: boolean | null; + } + /** + * Suggestions as content. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponseContentSuggestion { + /** + * The type of the content suggestion. + */ + contentType?: string | null; + /** + * The name of the dataStore that this suggestion belongs to. + */ + dataStore?: string | null; + /** + * The document data snippet in the suggestion. Only a subset of fields will be populated. + */ + document?: Schema$GoogleCloudDiscoveryengineV1alphaDocument; + /** + * The suggestion for the query. + */ + suggestion?: string | null; + } + /** + * Suggestions as people. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponsePersonSuggestion { + /** + * The name of the dataStore that this suggestion belongs to. + */ + dataStore?: string | null; + /** + * The document data snippet in the suggestion. Only a subset of fields is populated. + */ + document?: Schema$GoogleCloudDiscoveryengineV1alphaDocument; + /** + * The type of the person. + */ + personType?: string | null; + /** + * The suggestion for the query. + */ + suggestion?: string | null; + } + /** + * Suggestions as search queries. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponseQuerySuggestion { + /** + * The unique document field paths that serve as the source of this suggestion if it was generated from completable fields. This field is only populated for the document-completable model. + */ + completableFieldPaths?: string[] | null; + /** + * The name of the dataStore that this suggestion belongs to. + */ + dataStore?: string[] | null; + /** + * The suggestion for the query. + */ + suggestion?: string | null; + } + /** + * Suggestions from recent search history. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryResponseRecentSearchSuggestion { + /** + * The time when this recent rearch happened. + */ + recentSearchTime?: string | null; + /** + * The suggestion for the query. + */ + suggestion?: string | null; + } + /** + * Configuration data for advance site search. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaAdvancedSiteSearchConfig { + /** + * If set true, automatic refresh is disabled for the DataStore. + */ + disableAutomaticRefresh?: boolean | null; + /** + * If set true, initial indexing is disabled for the DataStore. + */ + disableInitialIndex?: boolean | null; + } /** * AlloyDB source import data from. */ @@ -441,6 +658,14 @@ export namespace discoveryengine_v1alpha { * Output only. Answer creation timestamp. */ createTime?: string | null; + /** + * A score in the range of [0, 1] describing how grounded the answer is by the reference chunks. + */ + groundingScore?: number | null; + /** + * Optional. Grounding supports. + */ + groundingSupports?: Schema$GoogleCloudDiscoveryengineV1alphaAnswerGroundingSupport[]; /** * Immutable. Fully qualified name `projects/{project\}/locations/global/collections/{collection\}/engines/{engine\}/sessions/x/answers/x` */ @@ -457,6 +682,10 @@ export namespace discoveryengine_v1alpha { * Suggested related questions. */ relatedQuestions?: string[] | null; + /** + * Optional. Safety ratings. + */ + safetyRatings?: Schema$GoogleCloudDiscoveryengineV1alphaSafetyRating[]; /** * The state of the answer generation. */ @@ -492,6 +721,31 @@ export namespace discoveryengine_v1alpha { */ referenceId?: string | null; } + /** + * Grounding support for a claim in `answer_text`. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaAnswerGroundingSupport { + /** + * Required. End of the claim, exclusive. + */ + endIndex?: string | null; + /** + * Indicates that this claim required grounding check. When the system decided this claim didn't require attribution/grounding check, this field is set to false. In that case, no grounding check was done for the claim and therefore `grounding_score`, `sources` is not returned. + */ + groundingCheckRequired?: boolean | null; + /** + * A score in the range of [0, 1] describing how grounded is a specific claim by the references. Higher value means that the claim is better supported by the reference chunks. + */ + groundingScore?: number | null; + /** + * Optional. Citation sources for the claim. + */ + sources?: Schema$GoogleCloudDiscoveryengineV1alphaAnswerCitationSource[]; + /** + * Required. Index indicates the start of the claim, measured in bytes (UTF-8 unicode). + */ + startIndex?: string | null; + } /** * Request message for ConversationalSearchService.AnswerQuery method. */ @@ -504,6 +758,10 @@ export namespace discoveryengine_v1alpha { * Deprecated: This field is deprecated. Streaming Answer API will be supported. Asynchronous mode control. If enabled, the response will be returned with answer/session resource name without final answer. The API users need to do the polling to get the latest status of answer/session by calling ConversationalSearchService.GetAnswer or ConversationalSearchService.GetSession method. */ asynchronousMode?: boolean | null; + /** + * Optional. Grounding specification. + */ + groundingSpec?: Schema$GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestGroundingSpec; /** * Required. Current user query. */ @@ -592,6 +850,19 @@ export namespace discoveryengine_v1alpha { */ preamble?: string | null; } + /** + * Grounding specification. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestGroundingSpec { + /** + * Optional. Specifies whether to enable the filtering based on grounding score and at what level. + */ + filteringLevel?: string | null; + /** + * Optional. Specifies whether to include grounding_supports in the answer. The default value is `false`. When this field is set to `true`, returned answer will have `grounding_score` and will contain GroundingSupports for each claim. + */ + includeGroundingSupports?: boolean | null; + } /** * Query understanding specification. */ @@ -626,6 +897,19 @@ export namespace discoveryengine_v1alpha { * Max rephrase steps. The max number is 5 steps. If not set or set to < 1, it will be set to 1 by default. */ maxRephraseSteps?: number | null; + /** + * Optional. Query Rephraser Model specification. + */ + modelSpec?: Schema$GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpecModelSpec; + } + /** + * Query Rephraser Model specification. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpecModelSpec { + /** + * Optional. Enabled query rephraser model type. If not set, it will use LARGE by default. + */ + modelType?: string | null; } /** * Related questions specification. @@ -637,13 +921,30 @@ export namespace discoveryengine_v1alpha { enable?: boolean | null; } /** - * Safety specification. + * Safety specification. There are two use cases: 1. when only safety_spec.enable is set, the BLOCK_LOW_AND_ABOVE threshold will be applied for all categories. 2. when safety_spec.enable is set and some safety_settings are set, only specified safety_settings are applied. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSafetySpec { /** * Enable the safety filtering on the answer response. It is false by default. */ enable?: boolean | null; + /** + * Optional. Safety settings. This settings are effective only when the safety_spec.enable is true. + */ + safetySettings?: Schema$GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSafetySpecSafetySetting[]; + } + /** + * Safety settings. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaAnswerQueryRequestSafetySpecSafetySetting { + /** + * Required. Harm category. + */ + category?: string | null; + /** + * Required. The harm block threshold. + */ + threshold?: string | null; } /** * Search specification. @@ -1029,7 +1330,7 @@ export namespace discoveryengine_v1alpha { */ snippetInfo?: Schema$GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultSnippetInfo[]; /** - * Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result. . + * Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result. */ structData?: {[key: string]: any} | null; /** @@ -1146,7 +1447,7 @@ export namespace discoveryengine_v1alpha { */ export interface Schema$GoogleCloudDiscoveryengineV1alphaBatchGetDocumentsMetadataResponseDocumentMetadataMatcherValue { /** - * Required. Format: projects/{project\}/locations/{location\}/datasets/{dataset\}/fhirStores/{fhir_store\}/fhir/{resource_type\}/{fhir_resource_id\} + * Format: projects/{project\}/locations/{location\}/datasets/{dataset\}/fhirStores/{fhir_store\}/fhir/{resource_type\}/{fhir_resource_id\} */ fhirResource?: string | null; /** @@ -1272,7 +1573,7 @@ export namespace discoveryengine_v1alpha { */ export interface Schema$GoogleCloudDiscoveryengineV1alphaCheckGroundingRequest { /** - * Answer candidate to check. Can have a maximum length of 1024 characters. + * Answer candidate to check. It can have a maximum length of 4096 tokens. */ answerCandidate?: string | null; /** @@ -1296,6 +1597,10 @@ export namespace discoveryengine_v1alpha { * List of facts cited across all claims in the answer candidate. These are derived from the facts supplied in the request. */ citedChunks?: Schema$GoogleCloudDiscoveryengineV1alphaFactChunk[]; + /** + * List of facts cited across all claims in the answer candidate. These are derived from the facts supplied in the request. + */ + citedFacts?: Schema$GoogleCloudDiscoveryengineV1alphaCheckGroundingResponseCheckGroundingFactChunk[]; /** * Claim texts and citation info across all claims in the answer candidate. */ @@ -1305,6 +1610,15 @@ export namespace discoveryengine_v1alpha { */ supportScore?: number | null; } + /** + * Fact chunk for grounding check. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaCheckGroundingResponseCheckGroundingFactChunk { + /** + * Text content of the fact chunk. Can be at most 10K characters long. + */ + chunkText?: string | null; + } /** * Text and citation info for a claim in the answer candidate. */ @@ -1322,7 +1636,7 @@ export namespace discoveryengine_v1alpha { */ endPos?: number | null; /** - * Indicates that this claim required grounding check. When the system decided this claim doesn't require attribution/grounding check, this field will be set to false. In that case, no grounding check was done for the claim and therefore citation_indices, anti_citation_indices, and score should not be returned. + * Indicates that this claim required grounding check. When the system decided this claim doesn't require attribution/grounding check, this field will be set to false. In that case, no grounding check was done for the claim and therefore citation_indices should not be returned. */ groundingCheckRequired?: boolean | null; /** @@ -1348,7 +1662,7 @@ export namespace discoveryengine_v1alpha { */ requirementType?: string | null; /** - * The type needed for the monitored resources: * `discoveryengine.googleapis.com/Branch`. * The labels needed for this resource: * `project`_`number` * `location`_`id` * `collection`_`id` * `datastore`_`id` * `branch`_`id` * `discoveryengine.googleapis.com/DataStore` * The labels needed for this resource: * `project`_`number` * `location`_`id` * `collection`_`id` * `datastore`_`id` + * The resources to be checked for this requirement. The type needed for the monitored resources: * `discoveryengine.googleapis.com/Branch`. * The labels needed for this resource: * `project_number` * `location_id` * `collection_id` * `datastore_id` * `branch_id` * `discoveryengine.googleapis.com/DataStore` * The labels needed for this resource: * `project_number` * `location_id` * `collection_id` * `datastore_id` */ resources?: Schema$GoogleApiMonitoredResource[]; } @@ -1361,7 +1675,7 @@ export namespace discoveryengine_v1alpha { */ metricResults?: Schema$GoogleCloudDiscoveryengineV1alphaCheckRequirementResponseMetricQueryResult[]; /** - * Timestamp of the oldest calculated metric (i.e. the most stale metric). Indicates that the `requirement_result` may not accurately reflect any Event and Product Catalog updates performed after this time. + * Timestamp of the oldest calculated metric (i.e. the most stale metric). Indicates that the `result` may not accurately reflect any Event and Product Catalog updates performed after this time. */ oldestMetricTimestamp?: string | null; /** @@ -1373,9 +1687,9 @@ export namespace discoveryengine_v1alpha { */ requirementCondition?: Schema$GoogleTypeExpr; /** - * Requirement result, e.g. pass or fail. + * The result of the requirement. It should be one of the `severity` fields in the requirement definition. If any error happens during the evaluation, it will be `UNKNOWN`. */ - requirementResult?: string | null; + result?: string | null; } /** * Metric result. The metric are in the requirement_condition. @@ -1435,7 +1749,7 @@ export namespace discoveryengine_v1alpha { */ pageSpan?: Schema$GoogleCloudDiscoveryengineV1alphaChunkPageSpan; /** - * Output only. Represents the relevance score based on similarity. Higher score indicates higher chunk relevance. The score is in range [-1.0, 1.0]. Only populated on SearchService.SearchResponse. + * Output only. Represents the relevance score based on similarity. Higher score indicates higher chunk relevance. The score is in range [-1.0, 1.0]. Only populated on SearchResponse. */ relevanceScore?: number | null; } @@ -1511,6 +1825,60 @@ export namespace discoveryengine_v1alpha { */ tableId?: string | null; } + /** + * Configurations used to enable CMEK data encryption with Cloud KMS keys. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaCmekConfig { + /** + * Output only. The default CmekConfig for the Customer. + */ + isDefault?: boolean | null; + /** + * Kms key resource name which will be used to encrypt resources `projects/{project\}/locations/{location\}/keyRings/{keyRing\}/cryptoKeys/{keyId\}`. + */ + kmsKey?: string | null; + /** + * Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion\}`. + */ + kmsKeyVersion?: string | null; + /** + * Output only. The timestamp of the last key rotation. + */ + lastRotationTimestampMicros?: string | null; + /** + * Required. Name of the CmekConfig, of the form `projects/{project\}/locations/{location\}/cmekConfig` or `projects/{project\}/locations/{location\}/cmekConfigs/{cmekConfig\}`. + */ + name?: string | null; + /** + * Optional. Single-regional CMEKs that are required for some VAIS features. + */ + singleRegionKeys?: Schema$GoogleCloudDiscoveryengineV1alphaSingleRegionKey[]; + /** + * Output only. State of the CmekConfig. + */ + state?: string | null; + } + /** + * Collection is a container for configuring resources and access to a set of DataStores. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaCollection { + /** + * Output only. Timestamp the Collection was created at. + */ + createTime?: string | null; + /** + * Output only. The data connector, if present, manages the connection for data stores in the Collection. To set up the connector, use DataConnectorService.SetUpDataConnector method, which creates a new Collection while setting up the DataConnector singleton resource. Setting up connector on an existing Collection is not supported. This output only field contains a subset of the DataConnector fields, including `name`, `data_source`, `entities.entity_name` and `entities.data_store`. To get more details about a data connector, use the DataConnectorService.GetDataConnector method. + */ + dataConnector?: Schema$GoogleCloudDiscoveryengineV1alphaDataConnector; + /** + * Required. The Collection display name. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. + */ + displayName?: string | null; + /** + * Immutable. The full resource name of the Collection. Format: `projects/{project\}/locations/{location\}/collections/{collection_id\}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. + */ + name?: string | null; + } /** * Response message for CompletionService.CompleteQuery method. */ @@ -1592,7 +1960,11 @@ export namespace discoveryengine_v1alpha { */ activeTimeRange?: Schema$GoogleCloudDiscoveryengineV1alphaConditionTimeRange[]; /** - * Search only A list of terms to match the query on. Maximum of 10 query terms. + * Optional. Query regex to match the whole search query. Cannot be set when Condition.query_terms is set. This is currently supporting promotion use case. + */ + queryRegex?: string | null; + /** + * Search only A list of terms to match the query on. Cannot be set when Condition.query_regex is set. Maximum of 10 query terms. */ queryTerms?: Schema$GoogleCloudDiscoveryengineV1alphaConditionQueryTerm[]; } @@ -1622,6 +1994,92 @@ export namespace discoveryengine_v1alpha { */ startTime?: string | null; } + /** + * A data sync run of DataConnector. After DataConnector is successfully initialized, data syncs are scheduled at DataConnector.refresh_interval. A ConnectorRun represents a data sync either in the past or onging that the moment. // + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaConnectorRun { + /** + * Output only. The time when the connector run ended. + */ + endTime?: string | null; + /** + * Output only. The details of the entities synced at the ConnectorRun. Each ConnectorRun consists of syncing one or more entities. + */ + entityRuns?: Schema$GoogleCloudDiscoveryengineV1alphaConnectorRunEntityRun[]; + /** + * Contains info about errors incurred during the sync. Only exist if running into an error state. Contains error code and error message. Use with the `state` field. + */ + errors?: Schema$GoogleRpcStatus[]; + /** + * Output only. The time when the connector run was most recently paused. + */ + latestPauseTime?: string | null; + /** + * Output only. The full resource name of the Connector Run. Format: `projects/x/locations/x/collections/x/dataConnector/connectorRuns/x`. The `connector_run_id` is system-generated. + */ + name?: string | null; + /** + * Output only. The time when the connector run started. + */ + startTime?: string | null; + /** + * Output only. The state of the sync run. + */ + state?: string | null; + /** + * Timestamp at which the connector run sync state was last updated. + */ + stateUpdateTime?: string | null; + /** + * Output only. The trigger for this ConnectorRun. + */ + trigger?: string | null; + } + /** + * Represents an entity that was synced in this ConnectorRun. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaConnectorRunEntityRun { + /** + * The name of the source entity. + */ + entityName?: string | null; + /** + * The total number of documents failed at sync at any stage (extraction, indexing, etc). + */ + errorRecordCount?: string | null; + /** + * The errors from the entity's sync run. Only exist if running into an error state. Contains error code and error message. + */ + errors?: Schema$GoogleRpcStatus[]; + /** + * The number of documents extracted from connector source, ready to be ingested to UCS. + */ + extractedRecordCount?: string | null; + /** + * The number of documents indexed. + */ + indexedRecordCount?: string | null; + /** + * The number of requests sent to 3p API. + */ + sourceApiRequestCount?: string | null; + /** + * The state of the entity's sync run. + */ + state?: string | null; + /** + * Timestamp at which the entity sync state was last updated. + */ + stateUpdateTime?: string | null; + /** + * The timestamp for either extracted_documents_count, indexed_documents_count and error_documents_count was last updated. + */ + statsUpdateTime?: string | null; + /** + * Sync type of this run. + */ + syncType?: string | null; + } /** * Defines a conditioned behavior to employ during serving. Must be attached to a ServingConfig to be considered at serving time. Permitted actions dependent on `SolutionType`. */ @@ -1650,6 +2108,10 @@ export namespace discoveryengine_v1alpha { * Immutable. Fully qualified name `projects/x/locations/global/dataStore/x/controls/x` */ name?: string | null; + /** + * Promote certain links based on predefined trigger queries. This now only supports basic site search. + */ + promoteAction?: Schema$GoogleCloudDiscoveryengineV1alphaControlPromoteAction; /** * Defines a redirect-type control. */ @@ -1672,7 +2134,7 @@ export namespace discoveryengine_v1alpha { */ export interface Schema$GoogleCloudDiscoveryengineV1alphaControlBoostAction { /** - * Required. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op). + * Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op). */ boost?: number | null; /** @@ -1683,6 +2145,10 @@ export namespace discoveryengine_v1alpha { * Required. Specifies which products to apply the boost to. If no filter is provided all products will be boosted (No-op). Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown. */ filter?: string | null; + /** + * Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op). + */ + fixedBoost?: number | null; } /** * Specified which products may be included in results. Uses same filter as boost. @@ -1697,6 +2163,19 @@ export namespace discoveryengine_v1alpha { */ filter?: string | null; } + /** + * Promote certain links based on some trigger queries. Example: Promote shoe store link when searching for `shoe` keyword. The link can be outside of associated data store. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaControlPromoteAction { + /** + * Required. Data store with which this promotion is attached to. + */ + dataStore?: string | null; + /** + * Required. Promotion attached to this action. + */ + searchLinkPromotion?: Schema$GoogleCloudDiscoveryengineV1alphaSearchLinkPromotion; + } /** * Redirects a shopper to the provided URI. */ @@ -1832,6 +2311,15 @@ export namespace discoveryengine_v1alpha { */ searchResults?: Schema$GoogleCloudDiscoveryengineV1alphaSearchResponseSearchResult[]; } + /** + * The historical crawl rate timeseries data, used for monitoring. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries { + /** + * The QPS of the crawl rate. + */ + qpsTimeSeries?: Schema$GoogleMonitoringV3TimeSeries; + } /** * Metadata related to the progress of the DataStoreService.CreateDataStore operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -1875,6 +2363,19 @@ export namespace discoveryengine_v1alpha { */ updateTime?: string | null; } + /** + * Metadata related to the progress of the SiteSearchEngineService.CreateSitemap operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaCreateSitemapMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } /** * Metadata related to the progress of the SiteSearchEngineService.CreateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -1928,7 +2429,7 @@ export namespace discoveryengine_v1alpha { */ export interface Schema$GoogleCloudDiscoveryengineV1alphaCustomTuningModel { /** - * Timestamp the Model was created at. + * Deprecated: Timestamp the Model was created at. */ createTime?: string | null; /** @@ -1960,6 +2461,124 @@ export namespace discoveryengine_v1alpha { */ trainingStartTime?: string | null; } + /** + * Manages the connection to external data sources for all data stores grouped under a Collection. It's a singleton resource of Collection. The initialization is only supported through DataConnectorService.SetUpDataConnector method, which will create a new Collection and initialize its DataConnector. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDataConnector { + /** + * Optional. Action configurations to make the connector support actions. + */ + actionConfig?: Schema$GoogleCloudDiscoveryengineV1alphaActionConfig; + /** + * Indicates whether the connector is disabled for auto run. It can be used to pause periodical and real time sync. + */ + autoRunDisabled?: boolean | null; + /** + * Output only. User actions that must be completed before the connector can start syncing data. + */ + blockingReasons?: string[] | null; + /** + * Output only. Timestamp the DataConnector was created at. + */ + createTime?: string | null; + /** + * Required. The name of the data source. Supported values: `salesforce`, `jira`, `confluence`, `bigquery`. + */ + dataSource?: string | null; + /** + * Optional. Any target destinations used to connect to third-party services. + */ + destinationConfigs?: Schema$GoogleCloudDiscoveryengineV1alphaDestinationConfig[]; + /** + * List of entities from the connected data source to ingest. + */ + entities?: Schema$GoogleCloudDiscoveryengineV1alphaDataConnectorSourceEntity[]; + /** + * Output only. The errors from initialization or from the latest connector run. + */ + errors?: Schema$GoogleRpcStatus[]; + /** + * The refresh interval to sync the Access Control List information for the documents ingested by this connector. If not set, the access control list will be refreshed at the default interval of 30 minutes. The identity refresh interval can be at least 30 minutes and at most 7 days. + */ + identityRefreshInterval?: string | null; + /** + * The configuration for the identity data synchronization runs. This contains the refresh interval to sync the Access Control List information for the documents ingested by this connector. + */ + identityScheduleConfig?: Schema$GoogleCloudDiscoveryengineV1alphaIdentityScheduleConfig; + /** + * Input only. The KMS key to be used to protect the DataStores managed by this connector. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStores created by this connector will be protected by the KMS key. + */ + kmsKeyName?: string | null; + /** + * Output only. For periodic connectors only, the last time a data sync was completed. + */ + lastSyncTime?: string | null; + /** + * Output only. The most recent timestamp when this DataConnector was paused, affecting all functionalities such as data synchronization. Pausing a connector has the following effects: - All functionalities, including data synchronization, are halted. - Any ongoing data synchronization job will be canceled. - No future data synchronization runs will be scheduled nor can be triggered. + */ + latestPauseTime?: string | null; + /** + * Output only. The full resource name of the Data Connector. Format: `projects/x/locations/x/collections/x/dataConnector`. + */ + name?: string | null; + /** + * The UTC time when the next data sync is expected to start for the Data Connector. Customers are only able to specify the hour and minute to schedule the data sync. This is utilized when the data connector has a refresh interval greater than 1 day. + */ + nextSyncTime?: Schema$GoogleTypeDateTime; + /** + * Required. Params needed to access the source in the format of (Key, Value) pairs. Required parameters for all data sources: * Key: `instance_uri` * Value: type STRING. The uri to access the data source. Required parameters for sources that support OAUTH, i.e. `salesforce`: * Key: `client_id` * Value: type STRING. The client id for the third party service provider to identify your application. * Key: `client_secret` * Value:type STRING. The client secret generated by the third party authorization server. * Key: `access_token` * Value: type STRING. OAuth token for UCS to access to the protected resource. * Key: `refresh_token` * Value: type STRING. OAuth refresh token for UCS to obtain a new access token without user interaction. Required parameters for sources that support basic API token auth, i.e. `jira`, `confluence`: * Key: `user_account` * Value: type STRING. The username or email with the source. * Key: `api_token` * Value: type STRING. The API token generated for the source account, that is used for authenticating anywhere where you would have used a password. Example: ```json { "instance_uri": "https://xxx.atlassian.net", "user_account": "xxxx.xxx@xxx.com", "api_token": "test-token" \} ``` Optional parameter to specify the authorization type to use for multiple authorization types support: * Key: `auth_type` * Value: type STRING. The authorization type for the data source. Supported values: `BASIC_AUTH`, `OAUTH`, `OAUTH_ACCESS_TOKEN`, `OAUTH_TWO_LEGGED`, `OAUTH_JWT_BEARER`, `OAUTH_PASSWORD_GRANT`, `JWT`, `API_TOKEN`, `FEDERATED_CREDENTIAL`. + */ + params?: {[key: string]: any} | null; + /** + * Output only. The tenant project ID associated with private connectivity connectors. This project must be allowlisted by in order for the connector to function. + */ + privateConnectivityProjectId?: string | null; + /** + * Required. The refresh interval for data sync. If duration is set to 0, the data will be synced in real time. The streaming feature is not supported yet. The minimum is 30 minutes and maximum is 7 days. + */ + refreshInterval?: string | null; + /** + * Output only. State of the connector. + */ + state?: string | null; + /** + * Output only. The static IP addresses used by this connector. + */ + staticIpAddresses?: string[] | null; + /** + * Optional. Whether customer has enabled static IP addresses for this connector. + */ + staticIpEnabled?: boolean | null; + /** + * The data synchronization mode supported by the data connector. + */ + syncMode?: string | null; + /** + * Output only. Timestamp the DataConnector was last updated. + */ + updateTime?: string | null; + } + /** + * Represents an entity in the data source. For example, the `Account` object in Salesforce. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDataConnectorSourceEntity { + /** + * Output only. The full resource name of the associated data store for the source entity. Format: `projects/x/locations/x/collections/x/dataStores/x`. When the connector is initialized by the DataConnectorService.SetUpDataConnector method, a DataStore is automatically created for each source entity. + */ + dataStore?: string | null; + /** + * The name of the entity. Supported values by data source: * Salesforce: `Lead`, `Opportunity`, `Contact`, `Account`, `Case`, `Contract`, `Campaign` * Jira: `Issue` * Confluence: `Content`, `Space` + */ + entityName?: string | null; + /** + * Attributes for indexing. Key: Field name. Value: The key property to map a field to, such as `title`, and `description`. Supported key properties: * `title`: The title for data record. This would be displayed on search results. * `description`: The description for data record. This would be displayed on search results. + */ + keyPropertyMappings?: {[key: string]: string} | null; + /** + * The parameters for the entity to facilitate data ingestion. E.g. for BQ connectors: * Key: `document_id_column` * Value: type STRING. The value of the column id. + */ + params?: {[key: string]: any} | null; + } /** * DataStore captures global settings and configs at the DataStore level. */ @@ -1968,10 +2587,18 @@ export namespace discoveryengine_v1alpha { * Immutable. Whether data in the DataStore has ACL information. If set to `true`, the source data must have ACL. ACL will be ingested when data is ingested by DocumentService.ImportDocuments methods. When ACL is enabled for the DataStore, Document can't be accessed by calling DocumentService.GetDocument or DocumentService.ListDocuments. Currently ACL is only supported in `GENERIC` industry vertical with non-`PUBLIC_WEBSITE` content config. */ aclEnabled?: boolean | null; + /** + * Optional. Configuration for advanced site search. + */ + advancedSiteSearchConfig?: Schema$GoogleCloudDiscoveryengineV1alphaAdvancedSiteSearchConfig; /** * Output only. Data size estimation for billing. */ billingEstimation?: Schema$GoogleCloudDiscoveryengineV1alphaDataStoreBillingEstimation; + /** + * Output only. CMEK-related information for the DataStore. + */ + cmekConfig?: Schema$GoogleCloudDiscoveryengineV1alphaCmekConfig; /** * Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT. */ @@ -2000,6 +2627,14 @@ export namespace discoveryengine_v1alpha { * Immutable. The industry vertical that the data store registers. */ industryVertical?: string | null; + /** + * Optional. If set, this DataStore is an Infobot FAQ DataStore. + */ + isInfobotFaqDataStore?: boolean | null; + /** + * Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field. + */ + kmsKeyName?: string | null; /** * Language info for DataStore. */ @@ -2015,7 +2650,7 @@ export namespace discoveryengine_v1alpha { /** * Optional. Stores serving config at DataStore level. */ - servingConfigDataStore?: Schema$GoogleCloudDiscoveryengineV1alphaServingConfigDataStore; + servingConfigDataStore?: Schema$GoogleCloudDiscoveryengineV1alphaDataStoreServingConfigDataStore; /** * The solutions that the data store enrolls. Available solutions for each industry_vertical: * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`. * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other solutions cannot be enrolled. */ @@ -2058,6 +2693,41 @@ export namespace discoveryengine_v1alpha { */ websiteDataUpdateTime?: string | null; } + /** + * Stores information regarding the serving configurations at DataStore level. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDataStoreServingConfigDataStore { + /** + * If set true, the DataStore will not be available for serving search requests. + */ + disabledForServing?: boolean | null; + } + /** + * The historical dedicated crawl rate timeseries data, used for monitoring. Dedicated crawl is used by Vertex AI to crawl the user's website when dedicate crawl is set. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDedicatedCrawlRateTimeSeries { + /** + * Vertex AI's dedicated crawl rate time series of auto-refresh, which is the crawl rate of Google-CloudVertexBot when dedicate crawl is set, and the crawl rate is for best effort use cases like refreshing urls periodically. + */ + autoRefreshCrawlRate?: Schema$GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries; + /** + * Vertex AI's dedicated crawl rate time series of user triggered crawl, which is the crawl rate of Google-CloudVertexBot when dedicate crawl is set, and user triggered crawl rate is for deterministic use cases like crawling urls or sitemaps specified by users. + */ + userTriggeredCrawlRate?: Schema$GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries; + } + /** + * Metadata related to the progress of the CollectionService.UpdateCollection operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDeleteCollectionMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } /** * Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -2084,6 +2754,19 @@ export namespace discoveryengine_v1alpha { */ updateTime?: string | null; } + /** + * Metadata related to the progress of the IdentityMappingStoreService.DeleteIdentityMappingStore operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDeleteIdentityMappingStoreMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } /** * Metadata for DeleteSchema LRO. */ @@ -2097,6 +2780,28 @@ export namespace discoveryengine_v1alpha { */ updateTime?: string | null; } + /** + * Request for DeleteSession method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDeleteSessionRequest { + /** + * Required. The resource name of the Session to delete. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store_id\}/sessions/{session_id\}` + */ + name?: string | null; + } + /** + * Metadata related to the progress of the SiteSearchEngineService.DeleteSitemap operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDeleteSitemapMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } /** * Metadata related to the progress of the SiteSearchEngineService.DeleteTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -2110,6 +2815,36 @@ export namespace discoveryengine_v1alpha { */ updateTime?: string | null; } + /** + * Defines target endpoints used to connect to third-party sources. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDestinationConfig { + /** + * Optional. The destinations for the corresponding key. + */ + destinations?: Schema$GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination[]; + /** + * Optional. Unique destination identifier that is supported by the connector. + */ + key?: string | null; + /** + * Optional. Additional parameters for this destination config. + */ + params?: {[key: string]: any} | null; + } + /** + * Defines a target endpoint + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination { + /** + * Publicly routable host. + */ + host?: string | null; + /** + * Optional. Target port number accepted by the destination. + */ + port?: number | null; + } /** * Metadata related to the progress of the SiteSearchEngineService.DisableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -2148,11 +2883,11 @@ export namespace discoveryengine_v1alpha { */ derivedStructData?: {[key: string]: any} | null; /** - * Immutable. The identifier of the document. Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. + * Immutable. The identifier of the document. Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 128 characters. */ id?: string | null; /** - * Output only. The index status of the document. * If document is indexed successfully, the index_time field is populated. * Otherwise, if document is not indexed due to errors, the error_samples field is populated. * Otherwise, index_status is unset. + * Output only. The index status of the document. * If document is indexed successfully, the index_time field is populated. * Otherwise, if document is not indexed due to errors, the error_samples field is populated. * Otherwise, if document's index is in progress, the pending_message field is populated. */ indexStatus?: Schema$GoogleCloudDiscoveryengineV1alphaDocumentIndexStatus; /** @@ -2231,11 +2966,19 @@ export namespace discoveryengine_v1alpha { * The time when the document was indexed. If this field is populated, it means the document has been indexed. */ indexTime?: string | null; + /** + * Immutable. The message indicates the document index is in progress. If this field is populated, the document index is pending. + */ + pendingMessage?: string | null; } /** * Detailed document information associated with a user event. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaDocumentInfo { + /** + * Optional. The conversion value associated with this Document. Must be set if UserEvent.event_type is "conversion". For example, a value of 1000 signifies that 1000 seconds were spent viewing a Document for the `watch` conversion type. + */ + conversionValue?: number | null; /** * The Document resource ID. */ @@ -2262,7 +3005,7 @@ export namespace discoveryengine_v1alpha { uri?: string | null; } /** - * A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config. + * A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig { /** @@ -2418,7 +3161,7 @@ export namespace discoveryengine_v1alpha { */ displayName?: string | null; /** - * The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to `GENERIC`. Vertical on Engine has to match vertical of the DataStore linked to the engine. + * The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine. */ industryVertical?: string | null; /** @@ -2745,6 +3488,24 @@ export namespace discoveryengine_v1alpha { */ totalSize?: number | null; } + /** + * Response message for SiteSearchEngineService.FetchSitemaps method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponse { + /** + * List of Sitemaps fetched. + */ + sitemapsMetadata?: Schema$GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponseSitemapMetadata[]; + } + /** + * Contains a Sitemap and its metadata. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponseSitemapMetadata { + /** + * The Sitemap. + */ + sitemap?: Schema$GoogleCloudDiscoveryengineV1alphaSitemap; + } /** * Cloud FhirStore source import data from. */ @@ -2761,6 +3522,10 @@ export namespace discoveryengine_v1alpha { * The FHIR resource types to import. The resource types should be a subset of all [supported FHIR resource types](https://cloud.google.com/generative-ai-app-builder/docs/fhir-schema-reference#resource-level-specification). Default to all supported FHIR resource types if empty. */ resourceTypes?: string[] | null; + /** + * Optional. Whether to update the DataStore schema to the latest predefined schema. If true, the DataStore schema will be updated to include any FHIR fields or resource types that have been added since the last import and corresponding FHIR resources will be imported from the FHIR store. Note this field cannot be used in conjunction with `resource_types`. It should be used after initial import. + */ + updateFromLatestPredefinedSchema?: boolean | null; } /** * Configurations for fields of a schema. For example, configuring a field is indexable, or searchable. @@ -2849,6 +3614,296 @@ export namespace discoveryengine_v1alpha { */ inputUris?: string[] | null; } + /** + * Top-level message sent by the client for the `GenerateGroundedContent` method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequest { + /** + * Content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history + latest request. + */ + contents?: Schema$GoogleCloudDiscoveryengineV1alphaGroundedGenerationContent[]; + /** + * Content generation specification. + */ + generationSpec?: Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGenerationSpec; + /** + * Grounding specification. + */ + groundingSpec?: Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSpec; + /** + * Content of the system instruction for the current API. These instructions will take priority over any other prompt instructions if the selected model is supporting them. + */ + systemInstruction?: Schema$GoogleCloudDiscoveryengineV1alphaGroundedGenerationContent; + /** + * The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details. + */ + userLabels?: {[key: string]: string} | null; + } + /** + * Describes the options to customize dynamic retrieval. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestDynamicRetrievalConfiguration { + /** + * Specification for the predictor for dynamic retrieval. + */ + predictor?: Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestDynamicRetrievalConfigurationDynamicRetrievalPredictor; + } + /** + * Describes the predictor settings for dynamic retrieval. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestDynamicRetrievalConfigurationDynamicRetrievalPredictor { + /** + * The value of the threshold. If the predictor will predict a value smaller than this, it would suppress grounding in the source. + */ + threshold?: number | null; + /** + * The version of the predictor to be used in dynamic retrieval. + */ + version?: string | null; + } + /** + * Content generation specification. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGenerationSpec { + /** + * If specified, custom value for frequency penalty will be used. + */ + frequencyPenalty?: number | null; + /** + * Language code for content. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). + */ + languageCode?: string | null; + /** + * If specified, custom value for max output tokens will be used. + */ + maxOutputTokens?: number | null; + /** + * Specifies which Vertex model id to use for generation. + */ + modelId?: string | null; + /** + * If specified, custom value for presence penalty will be used. + */ + presencePenalty?: number | null; + /** + * If specified, custom value for the seed will be used. + */ + seed?: number | null; + /** + * If specified, custom value for the temperature will be used. + */ + temperature?: number | null; + /** + * If specified, custom value for top-k sampling will be used. + */ + topK?: number | null; + /** + * If specified, custom value for nucleus sampling will be used. + */ + topP?: number | null; + } + /** + * Grounding source. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSource { + /** + * If set, grounding is performed with Google Search. + */ + googleSearchSource?: Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSourceGoogleSearchSource; + /** + * If set, grounding is performed with inline content. + */ + inlineSource?: Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSourceInlineSource; + /** + * If set, grounding is performed with Vertex AI Search. + */ + searchSource?: Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSourceSearchSource; + } + /** + * Google Search config parameters. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSourceGoogleSearchSource { + /** + * Optional. Specifies the dynamic retrieval configuration for the given source. + */ + dynamicRetrievalConfig?: Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestDynamicRetrievalConfiguration; + } + /** + * Message to be used for grounding based on inline content. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSourceInlineSource { + /** + * Attributes associated with the content. Common attributes include `source` (indicating where the content was sourced from) and `author` (indicating the author of the content). + */ + attributes?: {[key: string]: string} | null; + /** + * List of facts to be used for grounding. + */ + groundingFacts?: Schema$GoogleCloudDiscoveryengineV1alphaGroundingFact[]; + } + /** + * Message to be used for grounding with Vertex AI Search. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSourceSearchSource { + /** + * Filter expression to be applied to the search. The syntax is the same as SearchRequest.filter. + */ + filter?: string | null; + /** + * Number of search results to return. The default value is 10. The maximumm allowed value is 10. + */ + maxResultCount?: number | null; + /** + * If set, safe search is enabled in Vertex AI Search requests. + */ + safeSearch?: boolean | null; + /** + * The resource name of the Engine to use. Format: `projects/{project\}/locations/{location\}/collections/{collection_id\}/engines/{engine_id\}/servingConfigs/{serving_config_id\}` + */ + servingConfig?: string | null; + } + /** + * Grounding specification. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSpec { + /** + * Grounding sources. + */ + groundingSources?: Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequestGroundingSource[]; + } + /** + * Response for the `GenerateGroundedContent` method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponse { + /** + * Generated candidates. + */ + candidates?: Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidate[]; + } + /** + * A response candidate generated from the model. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidate { + /** + * Content of the candidate. + */ + content?: Schema$GoogleCloudDiscoveryengineV1alphaGroundedGenerationContent; + /** + * Grounding metadata for the generated content. + */ + groundingMetadata?: Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadata; + /** + * The overall grounding score for the candidate, in the range of [0, 1]. + */ + groundingScore?: number | null; + /** + * Index of the candidate. + */ + index?: number | null; + } + /** + * Citation for the generated content. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadata { + /** + * GroundingSupport across all claims in the answer candidate. An support to a fact indicates that the claim is supported by the fact. + */ + groundingSupport?: Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataGroundingSupport[]; + /** + * Retrieval metadata to provide an understanding in the retrieval steps performed by the model. There can be multiple such messages which can correspond to different parts of the retrieval. This is a mechanism used to ensure transparency to our users. + */ + retrievalMetadata?: Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataRetrievalMetadata[]; + /** + * Google search entry for the following-up web searches. + */ + searchEntryPoint?: Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataSearchEntryPoint; + /** + * List of chunks to be attributed across all claims in the candidate. These are derived from the grounding sources supplied in the request. + */ + supportChunks?: Schema$GoogleCloudDiscoveryengineV1alphaFactChunk[]; + /** + * Web search queries for the following-up web search. + */ + webSearchQueries?: string[] | null; + } + /** + * Describes the metadata about dynamic retrieval. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalMetadata { + /** + * Metadata for the dynamic retrieval predictor. + */ + predictorMetadata?: Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalPredictorMetadata; + } + /** + * Describes the metadata about the dynamic retrieval predictor. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalPredictorMetadata { + /** + * The value of the predictor. This should be between [0, 1] where a value of 0 means that the query would not benefit from grounding, while a value of 1.0 means that the query would benefit the most. In between values allow to differentiate between different usefulness scores for grounding. + */ + prediction?: number | null; + /** + * The version of the predictor which was used in dynamic retrieval. + */ + version?: string | null; + } + /** + * Grounding info for a claim in the candidate and its support. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataGroundingSupport { + /** + * Text for the claim in the candidate. Always provided when a support is found. + */ + claimText?: string | null; + /** + * A list of indices (into 'support_chunks') specifying the citations associated with the claim. For instance [1,3,4] means that support_chunks[1], support_chunks[3], support_chunks[4] are the chunks attributed to the claim. + */ + supportChunkIndices?: number[] | null; + /** + * A score in the range of [0, 1] describing how grounded is a specific claim in the support chunks indicated. Higher value means that the claim is better supported by the chunks. + */ + supportScore?: number | null; + } + /** + * Describes the metadata associated with a retrieval step. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataRetrievalMetadata { + /** + * Metadata for dynamic retrieval. + */ + dynamicRetrievalMetadata?: Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalMetadata; + /** + * Describes the source to which the metadata is referring to. + */ + source?: string | null; + } + /** + * Google search entry point. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentResponseCandidateGroundingMetadataSearchEntryPoint { + /** + * Web content snippet that can be embedded in a web page or an app webview. + */ + renderedContent?: string | null; + /** + * Base64 encoded JSON representing array of tuple. + */ + sdkBlob?: string | null; + } + /** + * Request for GetSession method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaGetSessionRequest { + /** + * Optional. If set to true, the full session including all answer details will be returned. + */ + includeAnswerDetails?: boolean | null; + /** + * Required. The resource name of the Session to get. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store_id\}/sessions/{session_id\}` + */ + name?: string | null; + } /** * Response message for SiteSearchEngineService.GetUriPatternDocumentData method. */ @@ -2858,6 +3913,28 @@ export namespace discoveryengine_v1alpha { */ documentDataMap?: {[key: string]: {[key: string]: any}} | null; } + /** + * Base structured datatype containing multi-part content of a message. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaGroundedGenerationContent { + /** + * Ordered `Parts` that constitute a single message. + */ + parts?: Schema$GoogleCloudDiscoveryengineV1alphaGroundedGenerationContentPart[]; + /** + * Producer of the content. Must be either `user` or `model`. Intended to be used for multi-turn conversations. Otherwise, it can be left unset. + */ + role?: string | null; + } + /** + * Single part of content. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaGroundedGenerationContentPart { + /** + * Inline text. + */ + text?: string | null; + } /** * Grounding Fact. */ @@ -2888,6 +3965,19 @@ export namespace discoveryengine_v1alpha { */ maxRelatedQuestions?: number | null; } + /** + * The configuration for the identity data synchronization runs. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaIdentityScheduleConfig { + /** + * Optional. The UTC time when the next data sync is expected to start for the Data Connector. Customers are only able to specify the hour and minute to schedule the data sync. This is utilized when the data connector has a refresh interval greater than 1 day. + */ + nextSyncTime?: Schema$GoogleTypeDateTime; + /** + * Optional. The refresh interval to sync the Access Control List information for the documents ingested by this connector. If not set, the access control list will be refreshed at the default interval of 30 minutes. The identity refresh interval can be at least 30 minutes and at most 7 days. + */ + refreshInterval?: string | null; + } /** * Identity Provider Config. */ @@ -3338,6 +4428,41 @@ export namespace discoveryengine_v1alpha { */ nextPageToken?: string | null; } + /** + * Response message for CmekConfigService.ListCmekConfigs method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaListCmekConfigsResponse { + /** + * All the customer's CmekConfigs. + */ + cmekConfigs?: Schema$GoogleCloudDiscoveryengineV1alphaCmekConfig[]; + } + /** + * Response message for CollectionService.ListCollections method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaListCollectionsResponse { + /** + * The Collections. + */ + collections?: Schema$GoogleCloudDiscoveryengineV1alphaCollection[]; + /** + * A token that can be sent as ListCollectionsRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + } + /** + * Response for DataConnectorService.ListConnectorRuns method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaListConnectorRunsResponse { + /** + * List of ConnectorRuns. + */ + connectorRuns?: Schema$GoogleCloudDiscoveryengineV1alphaConnectorRun[]; + /** + * A token that can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + } /** * Response for ListControls method. */ @@ -3417,7 +4542,7 @@ export namespace discoveryengine_v1alpha { */ export interface Schema$GoogleCloudDiscoveryengineV1alphaListEvaluationResultsResponse { /** - * The EvaluationResults. + * The evaluation results for the SampleQuerys. */ evaluationResults?: Schema$GoogleCloudDiscoveryengineV1alphaListEvaluationResultsResponseEvaluationResult[]; /** @@ -3503,6 +4628,31 @@ export namespace discoveryengine_v1alpha { */ servingConfigs?: Schema$GoogleCloudDiscoveryengineV1alphaServingConfig[]; } + /** + * Request for ListSessions method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaListSessionsRequest { + /** + * A filter to apply on the list results. The supported features are: user_pseudo_id, state. Example: "user_pseudo_id = some_id" + */ + filter?: string | null; + /** + * A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * "update_time desc" * "create_time" * "is_pinned desc,update_time desc": list sessions by is_pinned first, then by update_time. + */ + orderBy?: string | null; + /** + * Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000. + */ + pageSize?: number | null; + /** + * A page token, received from a previous `ListSessions` call. Provide this to retrieve the subsequent page. + */ + pageToken?: string | null; + /** + * Required. The data store resource name. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store_id\}` + */ + parent?: string | null; + } /** * Response for ListSessions method. */ @@ -3555,6 +4705,49 @@ export namespace discoveryengine_v1alpha { */ mode?: string | null; } + /** + * Request message for CrawlRateManagementService.ObtainCrawlRate method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaObtainCrawlRateRequest { + /** + * Required. The scope of the crawl rate that the user wants to monitor. Currently, only domain and host name are supported. A domain name example: `abc.com`. A host name example: `www.abc.com`. Please do not include `/` in the domain or host name. + */ + crawlRateScope?: string | null; + } + /** + * Response message for CrawlRateManagementService.ObtainCrawlRate method. The response contains organcic or dedicated crawl rate time series data for monitoring, depending on whether dedicated crawl rate is set. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaObtainCrawlRateResponse { + /** + * The historical dedicated crawl rate timeseries data, used for monitoring. + */ + dedicatedCrawlRateTimeSeries?: Schema$GoogleCloudDiscoveryengineV1alphaDedicatedCrawlRateTimeSeries; + /** + * Errors from service when handling the request. + */ + error?: Schema$GoogleRpcStatus; + /** + * The historical organic crawl rate timeseries data, used for monitoring. + */ + organicCrawlRateTimeSeries?: Schema$GoogleCloudDiscoveryengineV1alphaOrganicCrawlRateTimeSeries; + /** + * Output only. The state of the response. + */ + state?: string | null; + } + /** + * The historical organic crawl rate timeseries data, used for monitoring. Organic crawl is auto-determined by Google to crawl the user's website when dedicate crawl is not set. Crawl rate is the QPS of crawl request Google sends to the user's website. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaOrganicCrawlRateTimeSeries { + /** + * Google's organic crawl rate time series, which is the sum of all googlebots' crawl rate. Please refer to https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers for more details about googlebots. + */ + googleOrganicCrawlRate?: Schema$GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries; + /** + * Vertex AI's organic crawl rate time series, which is the crawl rate of Google-CloudVertexBot when dedicate crawl is not set. Please refer to https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers#google-cloudvertexbot for more details about Google-CloudVertexBot. + */ + vertexAiOrganicCrawlRate?: Schema$GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries; + } /** * Detailed page information. */ @@ -3584,6 +4777,10 @@ export namespace discoveryengine_v1alpha { * The display name of the panel. */ displayName?: string | null; + /** + * Optional. The document IDs associated with this panel. + */ + documents?: Schema$GoogleCloudDiscoveryengineV1alphaDocumentInfo[]; /** * Required. The panel ID. */ @@ -3861,7 +5058,7 @@ export namespace discoveryengine_v1alpha { */ export interface Schema$GoogleCloudDiscoveryengineV1alphaPurgeUserEventsRequest { /** - * Required. The filter string to specify the events to be deleted with a length limit of 5,000 characters. The eligible fields for filtering are: * `eventType`: Double quoted UserEvent.event_type string. * `eventTime`: in ISO 8601 "zulu" format. * `userPseudoId`: Double quoted string. Specifying this will delete all events associated with a visitor. * `userId`: Double quoted string. Specifying this will delete all events associated with a user. Examples: * Deleting all events in a time range: `eventTime \> "2012-04-23T18:25:43.511Z" eventTime < "2012-04-23T18:30:43.511Z"` * Deleting specific eventType: `eventType = "search"` * Deleting all events for a specific visitor: `userPseudoId = "visitor1024"` * Deleting all events inside a DataStore: `*` The filtering fields are assumed to have an implicit AND. + * Required. The filter string to specify the events to be deleted with a length limit of 5,000 characters. The eligible fields for filtering are: * `eventType`: Double quoted UserEvent.event_type string. * `eventTime`: in ISO 8601 "zulu" format. * `userPseudoId`: Double quoted string. Specifying this will delete all events associated with a visitor. * `userId`: Double quoted string. Specifying this will delete all events associated with a user. Note: This API only supports purging a max range of 30 days. Examples: * Deleting all events in a time range: `eventTime \> "2012-04-23T18:25:43.511Z" eventTime < "2012-04-23T18:30:43.511Z"` * Deleting specific eventType in a time range: `eventTime \> "2012-04-23T18:25:43.511Z" eventTime < "2012-04-23T18:30:43.511Z" eventType = "search"` * Deleting all events for a specific visitor in a time range: `eventTime \> "2012-04-23T18:25:43.511Z" eventTime < "2012-04-23T18:30:43.511Z" userPseudoId = "visitor1024"` * Deleting the past 30 days of events inside a DataStore: `*` The filtering fields are assumed to have an implicit AND. */ filter?: string | null; /** @@ -3950,7 +5147,7 @@ export namespace discoveryengine_v1alpha { */ id?: string | null; /** - * The score of this record based on the given query and selected model. + * The score of this record based on the given query and selected model. The score will be rounded to 2 decimal places. If the score is close to 0, it will be rounded to 0.0001 to avoid returning unset. */ score?: number | null; /** @@ -4001,7 +5198,7 @@ export namespace discoveryengine_v1alpha { */ export interface Schema$GoogleCloudDiscoveryengineV1alphaRecommendRequest { /** - * Filter for restricting recommendation results with a length limit of 5,000 characters. Currently, only filter expressions on the `filter_tags` attribute is supported. Examples: * `(filter_tags: ANY("Red", "Blue") OR filter_tags: ANY("Hot", "Cold"))` * `(filter_tags: ANY("Red", "Blue")) AND NOT (filter_tags: ANY("Green"))` If `attributeFilteringSyntax` is set to true under the `params` field, then attribute-based expressions are expected instead of the above described tag-based syntax. Examples: * (launguage: ANY("en", "es")) AND NOT (categories: ANY("Movie")) * (available: true) AND (launguage: ANY("en", "es")) OR (categories: ANY("Movie")) If your filter blocks all results, the API returns generic (unfiltered) popular Documents. If you only want results strictly matching the filters, set `strictFiltering` to `true` in RecommendRequest.params to receive empty results instead. Note that the API never returns Documents with `storageStatus` as `EXPIRED` or `DELETED` regardless of filter choices. + * Filter for restricting recommendation results with a length limit of 5,000 characters. Currently, only filter expressions on the `filter_tags` attribute is supported. Examples: * `(filter_tags: ANY("Red", "Blue") OR filter_tags: ANY("Hot", "Cold"))` * `(filter_tags: ANY("Red", "Blue")) AND NOT (filter_tags: ANY("Green"))` If `attributeFilteringSyntax` is set to true under the `params` field, then attribute-based expressions are expected instead of the above described tag-based syntax. Examples: * (language: ANY("en", "es")) AND NOT (categories: ANY("Movie")) * (available: true) AND (language: ANY("en", "es")) OR (categories: ANY("Movie")) If your filter blocks all results, the API returns generic (unfiltered) popular Documents. If you only want results strictly matching the filters, set `strictFiltering` to `true` in RecommendRequest.params to receive empty results instead. Note that the API never returns Documents with `storageStatus` as `EXPIRED` or `DELETED` regardless of filter choices. */ filter?: string | null; /** @@ -4072,9 +5269,13 @@ export namespace discoveryengine_v1alpha { */ createTime?: string | null; /** - * Unique URIs in the request that don't match any TargetSite in the DataStore, only match TargetSites that haven't been fully indexed, or match a TargetSite with type EXCLUDE. + * Unique URIs in the request that have invalid format. Sample limited to 1000. */ invalidUris?: string[] | null; + /** + * Total number of unique URIs in the request that have invalid format. + */ + invalidUrisCount?: number | null; /** * Total number of URIs that have yet to be crawled. */ @@ -4091,6 +5292,14 @@ export namespace discoveryengine_v1alpha { * Operation last update time. If the operation is done, this is also the finish time. */ updateTime?: string | null; + /** + * Unique URIs in the request that don't match any TargetSite in the DataStore, only match TargetSites that haven't been fully indexed, or match a TargetSite with type EXCLUDE. Sample limited to 1000. + */ + urisNotMatchingTargetSites?: string[] | null; + /** + * Total number of URIs that don't match any TargetSites. + */ + urisNotMatchingTargetSitesCount?: number | null; /** * Total number of unique URIs in the request that are not in invalid_uris. */ @@ -4101,7 +5310,7 @@ export namespace discoveryengine_v1alpha { */ export interface Schema$GoogleCloudDiscoveryengineV1alphaRecrawlUrisRequest { /** - * Optional. Full resource name of the SiteCredential, such as `projects/x/locations/x/collections/x/dataStores/x/siteSearchEngine/siteCredentials/x`. Only set to crawl private URIs. + * Optional. Full resource name of the `SiteCredential`, such as `projects/x/locations/x/collections/x/dataStores/x/siteSearchEngine/siteCredentials/x`. Only set to crawl private URIs. */ siteCredential?: string | null; /** @@ -4148,6 +5357,41 @@ export namespace discoveryengine_v1alpha { */ errorMessage?: string | null; } + /** + * Metadata related to the progress of the CrawlRateManagementService.RemoveDedicatedCrawlRate operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } + /** + * Request message for CrawlRateManagementService.RemoveDedicatedCrawlRate method. The user can remove the dedicated crawl rate for a crawl_rate_scope they own, and Google will fall back to organic crawl, and the crawl rate will be determined by Google. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateRequest { + /** + * Required. The scope of the crawl rate change. Currently, only domain and host name are supported. A domain name example: `abc.com`. A host name example: `www.abc.com`. Please do not include `/` in the domain or host name. + */ + crawlRateScope?: string | null; + } + /** + * Response message for CrawlRateManagementService.RemoveDedicatedCrawlRate method. It simply returns the state of the response, and an error message if the state is FAILED. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateResponse { + /** + * Errors from service when handling the request. + */ + error?: Schema$GoogleRpcStatus; + /** + * Output only. The state of the response. + */ + state?: string | null; + } /** * Defines a reply message to user. */ @@ -4223,6 +5467,10 @@ export namespace discoveryengine_v1alpha { * A list of the metric bindings to be used in `condition`. */ metricBindings?: Schema$GoogleCloudDiscoveryengineV1alphaRequirementMetricBinding[]; + /** + * The severity of errors if the requirement is not met. It must be ordered from the most strict to the least strict. Examples: * `BLOCKING` * `CRITICAL` * `WARNING` All thresholds in the requirement must have all the severity here. + */ + severity?: string[] | null; /** * A list of threshold bindings to be used in `condition`. */ @@ -4265,22 +5513,31 @@ export namespace discoveryengine_v1alpha { * Specifies a multi-level threshold to apply to apply to a `metric_bindings` in the `condition` CEL expression. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaRequirementThresholdBinding { - /** - * Threshold to trigger a blocking failure. If not met, the requirement will evaluate as a `FAILURE`. - */ - blockingThreshold?: number | null; /** * Human readable description of the corresponding threshold and sub-requirement. */ description?: string | null; + /** + * The values of the threshold. The values should be ordered from the most strict to the least strict. + */ + thresholdValues?: Schema$GoogleCloudDiscoveryengineV1alphaRequirementThresholdBindingThresholdValue[]; /** * The variable id to be referenced in `condition`. Must be unique across all `metric_bindings` and `threshold_bindings`. */ variableId?: string | null; + } + /** + * Specifies a threshold value for a given severity. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaRequirementThresholdBindingThresholdValue { /** - * Threshold to trigger a warning. If not met, the requirement will evaluate as a `WARNING`. + * The severity of errors if the threshold is not met. It should be one of the `severity` fields in the requirement. */ - warningThreshold?: number | null; + severity?: string | null; + /** + * The value of the threshold. + */ + value?: number | null; } /** * Specifies a samples query and bind its result to a variable which will be used in the `condition`. @@ -4303,6 +5560,35 @@ export namespace discoveryengine_v1alpha { * Request for resuming training of an engine. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaResumeEngineRequest {} + /** + * Safety rating corresponding to the generated content. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSafetyRating { + /** + * Output only. Indicates whether the content was filtered out because of this rating. + */ + blocked?: boolean | null; + /** + * Output only. Harm category. + */ + category?: string | null; + /** + * Output only. Harm probability levels in the content. + */ + probability?: string | null; + /** + * Output only. Harm probability score. + */ + probabilityScore?: number | null; + /** + * Output only. Harm severity levels in the content. + */ + severity?: string | null; + /** + * Output only. Harm severity score. + */ + severityScore?: number | null; + } /** * Sample Query captures metadata to be used for evaluation. */ @@ -4409,6 +5695,31 @@ export namespace discoveryengine_v1alpha { */ searchQuery?: string | null; } + /** + * Promotion proto includes uri and other helping information to display the promotion. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSearchLinkPromotion { + /** + * Optional. The Promotion description. Maximum length: 200 characters. + */ + description?: string | null; + /** + * Optional. The enabled promotion will be returned for any serving configs associated with the parent of the control this promotion is attached to. This flag is used for basic site search only. + */ + enabled?: boolean | null; + /** + * Optional. The promotion thumbnail image url. + */ + imageUri?: string | null; + /** + * Required. The title of the promotion. Maximum length: 160 characters. + */ + title?: string | null; + /** + * Required. The URL for the page the user wants to promote. + */ + uri?: string | null; + } /** * Request message for SearchService.Search method. */ @@ -4434,7 +5745,7 @@ export namespace discoveryengine_v1alpha { */ customFineTuningSpec?: Schema$GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec; /** - * Specs defining dataStores to filter on in a search call and configurations for those dataStores. This is only considered for engines with multiple dataStores use case. For single dataStore within an engine, they should use the specs at the top level. + * Specs defining DataStores to filter on in a search call and configurations for those data stores. This is only considered for Engines with multiple data stores. For engines with a single data store, the specs directly under SearchRequest should be used. */ dataStoreSpecs?: Schema$GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec[]; /** @@ -4465,6 +5776,10 @@ export namespace discoveryengine_v1alpha { * A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned. */ offset?: number | null; + /** + * The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default number is 10. + */ + oneBoxPageSize?: number | null; /** * The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering the website search results, see [Order web search results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results). For more information on ordering the healthcare search results, see [Order healthcare search results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results). If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. */ @@ -4749,6 +6064,10 @@ export namespace discoveryengine_v1alpha { * A struct to define data stores to filter on in a search call and configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error is returned. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec { + /** + * Optional. Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results) + */ + boostSpec?: Schema$GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec; /** * Required. Full resource name of DataStore, such as `projects/{project\}/locations/{location\}/collections/{collection_id\}/dataStores/{data_store_id\}`. */ @@ -4848,7 +6167,7 @@ export namespace discoveryengine_v1alpha { */ export interface Schema$GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec { /** - * The condition under which filter extraction should occur. Default to Condition.DISABLED. + * The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`. */ filterExtractionCondition?: string | null; /** @@ -4958,6 +6277,10 @@ export namespace discoveryengine_v1alpha { * A list of matched documents. The order represents the ranking. */ results?: Schema$GoogleCloudDiscoveryengineV1alphaSearchResponseSearchResult[]; + /** + * Promotions for site search. + */ + searchLinkPromotions?: Schema$GoogleCloudDiscoveryengineV1alphaSearchLinkPromotion[]; /** * Session information. Only set if SearchRequest.session is provided. See its description for more details. */ @@ -5427,7 +6750,11 @@ export namespace discoveryengine_v1alpha { */ personalizationSpec?: Schema$GoogleCloudDiscoveryengineV1alphaSearchRequestPersonalizationSpec; /** - * The ranking expression controls the customized ranking on retrieval documents. To leverage this, document embedding is required. The ranking expression setting in ServingConfig applies to all search requests served by the serving config. However, if SearchRequest.ranking_expression is specified, it overrides the ServingConfig ranking expression. The ranking expression is a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function \}; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between embedding_field_path and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. + * Condition promote specifications. Maximum number of specifications is 100. + */ + promoteControlIds?: string[] | null; + /** + * The ranking expression controls the customized ranking on retrieval documents. To leverage this, document embedding is required. The ranking expression setting in ServingConfig applies to all search requests served by the serving config. However, if `SearchRequest.ranking_expression` is specified, it overrides the ServingConfig ranking expression. The ranking expression is a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function \}; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between embedding_field_path and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. */ rankingExpression?: string | null; /** @@ -5451,15 +6778,6 @@ export namespace discoveryengine_v1alpha { */ updateTime?: string | null; } - /** - * Stores information regarding the serving configurations at DataStore level. - */ - export interface Schema$GoogleCloudDiscoveryengineV1alphaServingConfigDataStore { - /** - * If set true, the DataStore will not be available for serving search requests. - */ - disabledForServing?: boolean | null; - } /** * Specifies the configurations needed for Generic Discovery.Currently we support: * `content_search_spec`: configuration for generic content search. */ @@ -5485,6 +6803,10 @@ export namespace discoveryengine_v1alpha { * Specifies the content watched minutes threshold for demotion. */ contentWatchedSecondsThreshold?: number | null; + /** + * Optional. Specifies the number of days to look back for demoting watched content. If set to zero or unset, defaults to the maximum of 365 days. + */ + demoteContentWatchedPastDays?: number | null; /** * Specifies the event type used for demoting recommendation result. Currently supported values: * `view-item`: Item viewed. * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. If unset, watch history demotion will not be applied. Content freshness demotion will still be applied. */ @@ -5494,10 +6816,18 @@ export namespace discoveryengine_v1alpha { * External session proto definition. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaSession { + /** + * Optional. The display name of the session. This field is used to identify the session in the UI. By default, the display name is the first turn query text in the session. + */ + displayName?: string | null; /** * Output only. The time the session finished. */ endTime?: string | null; + /** + * Optional. Whether the session is pinned, pinned session will be displayed on the top of the session list. + */ + isPinned?: boolean | null; /** * Immutable. Fully qualified name `projects/{project\}/locations/global/collections/{collection\}/engines/{engine\}/sessions/x` */ @@ -5527,11 +6857,83 @@ export namespace discoveryengine_v1alpha { * The resource name of the answer to the user query. Only set if the answer generation (/answer API call) happened in this turn. */ answer?: string | null; + /** + * Output only. In ConversationalSearchService.GetSession API, if GetSessionRequest.include_answer_details is set to true, this field will be populated when getting answer query session. + */ + detailedAnswer?: Schema$GoogleCloudDiscoveryengineV1alphaAnswer; /** * The user query. */ query?: Schema$GoogleCloudDiscoveryengineV1alphaQuery; } + /** + * Metadata related to the progress of the CrawlRateManagementService.SetDedicatedCrawlRate operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } + /** + * Request message for CrawlRateManagementService.SetDedicatedCrawlRate method. The user can set the crawl rate for a crawl_rate_scope they own. They can set up an overall crawl rate, or set up a user-triggered crawl rate and a auto-refresh crawl rate separately. If an overall crawl rate is set, Vertex AI will automatically splits crawl_rate into user-triggered and auto-refresh. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateRequest { + /** + * Optional. The crawl QPS set by the user. It is not guaranteed that Vertex crawl bot will crawl at this QPS. If the crawl rate is too high, the real QPS may be lower than the value set by the user to avoid overloading the user's website. + */ + crawlRate?: number | null; + /** + * Required. The scope of the crawl rate that the user wants to config. Currently, only domain and host name are supported. A domain name example: `abc.com`. A host name example: `www.abc.com`. Please do not include `/` in the domain or host name. + */ + crawlRateScope?: string | null; + /** + * Optional. Whether it’s the crawl rate of user-triggered or auto-refresh. + */ + crawlType?: string | null; + /** + * Optional. Whether the rate is explicitly set by users, or set by vertex AI. + */ + mode?: string | null; + } + /** + * Response message for CrawlRateManagementService.SetDedicatedCrawlRate method. It simply returns the state of the response, and an error message if the state is FAILED. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateResponse { + /** + * Errors from service when handling the request. + */ + error?: Schema$GoogleRpcStatus; + /** + * Output only. The state of the response. + */ + state?: string | null; + } + /** + * Metadata for DataConnectorService.SetUpDataConnector method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSetUpDataConnectorMetadata {} + /** + * Request for DataConnectorService.SetUpDataConnector method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSetUpDataConnectorRequest { + /** + * Required. The display name of the Collection. Should be human readable, used to display collections in the Console Dashboard. UTF-8 encoded string with limit of 1024 characters. + */ + collectionDisplayName?: string | null; + /** + * Required. The ID to use for the Collection, which will become the final component of the Collection's resource name. A new Collection is created as part of the DataConnector setup. DataConnector is a singleton resource under Collection, managing all DataStores of the Collection. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an INVALID_ARGUMENT error is returned. + */ + collectionId?: string | null; + /** + * Required. The DataConnector to initialize in the newly created Collection. + */ + dataConnector?: Schema$GoogleCloudDiscoveryengineV1alphaDataConnector; + } /** * Metadata related to the progress of the SiteSearchEngineService.SetUriPatternDocumentData operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -5566,6 +6968,32 @@ export namespace discoveryengine_v1alpha { * Response message for SiteSearchEngineService.SetUriPatternDocumentData method. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaSetUriPatternDocumentDataResponse {} + /** + * Metadata for single-regional CMEKs. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSingleRegionKey { + /** + * Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project\}/locations/{location\}/keyRings/{keyRing\}/cryptoKeys/{keyId\}`. + */ + kmsKey?: string | null; + } + /** + * A sitemap for the SiteSearchEngine. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSitemap { + /** + * Output only. The sitemap's creation time. + */ + createTime?: string | null; + /** + * Output only. The fully qualified resource name of the sitemap. `projects/x/locations/x/collections/x/dataStores/x/siteSearchEngine/sitemaps/x` The `sitemap_id` suffix is system-generated. + */ + name?: string | null; + /** + * Public URI for the sitemap, e.g. `www.example.com/sitemap.xml`. + */ + uri?: string | null; + } /** * SiteSearchEngine captures DataStore level site search persisting configurations. It is a singleton value per data store. */ @@ -5613,6 +7041,27 @@ export namespace discoveryengine_v1alpha { */ tableId?: string | null; } + /** + * Request message for DataConnectorService.StartConnectorRun method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaStartConnectorRunRequest { + /** + * Specifies which Third Party Connector entities should be synced. If not specified, all entities will be synced. + */ + entities?: string[] | null; + /** + * The FHIR resource types to import. The resource types should be a subset of all [supported FHIR resource types](https://cloud.google.com/generative-ai-app-builder/docs/fhir-schema-reference#resource-level-specification). Default to all supported FHIR resource types if empty. + */ + healthcareFhirResourceTypes?: string[] | null; + /** + * If true, trigger Identity sync. + */ + syncIdentity?: boolean | null; + /** + * Timestamp to indicate the point in time from which data should be synced for Streaming/Batch Data Connectors. This field is only utilized for Healthcare Connectors. + */ + syncSinceTimestamp?: string | null; + } /** * Suggestion deny list entry identifying the phrase to block from suggestions and the applied operation for the phrase. */ @@ -5631,7 +7080,7 @@ export namespace discoveryengine_v1alpha { */ export interface Schema$GoogleCloudDiscoveryengineV1alphaTargetSite { /** - * Input only. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine. + * Immutable. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine. */ exactMatch?: boolean | null; /** @@ -5828,6 +7277,32 @@ export namespace discoveryengine_v1alpha { * Response associated with a tune operation. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaTuneEngineResponse {} + /** + * Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaUpdateCmekConfigMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } + /** + * Metadata related to the progress of the CollectionService.UpdateCollection operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaUpdateCollectionMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } /** * Metadata for UpdateSchema LRO. */ @@ -5841,6 +7316,19 @@ export namespace discoveryengine_v1alpha { */ updateTime?: string | null; } + /** + * Request for UpdateSession method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaUpdateSessionRequest { + /** + * Required. The Session to update. + */ + session?: Schema$GoogleCloudDiscoveryengineV1alphaSession; + /** + * Indicates which fields in the provided Session to update. The following are NOT supported: * Session.name If not set or empty, all supported fields are updated. + */ + updateMask?: string | null; + } /** * Metadata related to the progress of the SiteSearchEngineService.UpdateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -5872,6 +7360,10 @@ export namespace discoveryengine_v1alpha { * CompletionService.CompleteQuery details related to the event. This field should be set for `search` event when autocomplete function is enabled and the user clicks a suggestion for search. */ completionInfo?: Schema$GoogleCloudDiscoveryengineV1alphaCompletionInfo; + /** + * Optional. Conversion type. Required if UserEvent.event_type is `conversion`. This is a customer-defined conversion name in lowercase letters or numbers separated by "-", such as "watch", "good-visit" etc. Do not set the field if UserEvent.event_type is not `conversion`. This mixes the custom conversion event with predefined events like `search`, `view-item` etc. + */ + conversionType?: string | null; /** * The DataStore resource full name, of the form `projects/{project\}/locations/{location\}/collections/{collection_id\}/dataStores/{data_store_id\}`. Optional. Only required for user events whose data store can't by determined by UserEvent.engine or UserEvent.documents. If data store is set in the parent of write/import/collect user event requests, this field can be omitted. */ @@ -5893,7 +7385,7 @@ export namespace discoveryengine_v1alpha { */ eventTime?: string | null; /** - * Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home \> Men \> Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. + * Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home \> Men \> Jeans * `add-feedback`: Add a user feedback. Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. */ eventType?: string | null; /** @@ -5912,6 +7404,10 @@ export namespace discoveryengine_v1alpha { * Panel metadata associated with this user event. */ panel?: Schema$GoogleCloudDiscoveryengineV1alphaPanelInfo; + /** + * Optional. List of panels associated with this event. Used for page-level impression data. + */ + panels?: Schema$GoogleCloudDiscoveryengineV1alphaPanelInfo[]; /** * The promotion IDs if this is an event associated with promotions. Currently, this field is restricted to at most one ID. */ @@ -5997,6 +7493,19 @@ export namespace discoveryengine_v1alpha { */ targetSites?: Schema$GoogleCloudDiscoveryengineV1TargetSite[]; } + /** + * Configuration data for advance site search. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaAdvancedSiteSearchConfig { + /** + * If set true, automatic refresh is disabled for the DataStore. + */ + disableAutomaticRefresh?: boolean | null; + /** + * If set true, initial indexing is disabled for the DataStore. + */ + disableInitialIndex?: boolean | null; + } /** * Metadata related to the progress of the SiteSearchEngineService.BatchCreateTargetSites operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -6019,6 +7528,39 @@ export namespace discoveryengine_v1alpha { */ targetSites?: Schema$GoogleCloudDiscoveryengineV1betaTargetSite[]; } + /** + * Configurations used to enable CMEK data encryption with Cloud KMS keys. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaCmekConfig { + /** + * Output only. The default CmekConfig for the Customer. + */ + isDefault?: boolean | null; + /** + * Kms key resource name which will be used to encrypt resources `projects/{project\}/locations/{location\}/keyRings/{keyRing\}/cryptoKeys/{keyId\}`. + */ + kmsKey?: string | null; + /** + * Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion\}`. + */ + kmsKeyVersion?: string | null; + /** + * Output only. The timestamp of the last key rotation. + */ + lastRotationTimestampMicros?: string | null; + /** + * Required. Name of the CmekConfig, of the form `projects/{project\}/locations/{location\}/cmekConfig` or `projects/{project\}/locations/{location\}/cmekConfigs/{cmekConfig\}`. + */ + name?: string | null; + /** + * Optional. Single-regional CMEKs that are required for some VAIS features. + */ + singleRegionKeys?: Schema$GoogleCloudDiscoveryengineV1betaSingleRegionKey[]; + /** + * Output only. State of the CmekConfig. + */ + state?: string | null; + } /** * Defines circumstances to be checked before allowing a behavior */ @@ -6028,7 +7570,11 @@ export namespace discoveryengine_v1alpha { */ activeTimeRange?: Schema$GoogleCloudDiscoveryengineV1betaConditionTimeRange[]; /** - * Search only A list of terms to match the query on. Maximum of 10 query terms. + * Optional. Query regex to match the whole search query. Cannot be set when Condition.query_terms is set. This is currently supporting promotion use case. + */ + queryRegex?: string | null; + /** + * Search only A list of terms to match the query on. Cannot be set when Condition.query_regex is set. Maximum of 10 query terms. */ queryTerms?: Schema$GoogleCloudDiscoveryengineV1betaConditionQueryTerm[]; } @@ -6086,6 +7632,10 @@ export namespace discoveryengine_v1alpha { * Immutable. Fully qualified name `projects/x/locations/global/dataStore/x/controls/x` */ name?: string | null; + /** + * Promote certain links based on predefined trigger queries. This now only supports basic site search. + */ + promoteAction?: Schema$GoogleCloudDiscoveryengineV1betaControlPromoteAction; /** * Defines a redirect-type control. */ @@ -6108,7 +7658,7 @@ export namespace discoveryengine_v1alpha { */ export interface Schema$GoogleCloudDiscoveryengineV1betaControlBoostAction { /** - * Required. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op). + * Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op). */ boost?: number | null; /** @@ -6119,6 +7669,10 @@ export namespace discoveryengine_v1alpha { * Required. Specifies which products to apply the boost to. If no filter is provided all products will be boosted (No-op). Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown. */ filter?: string | null; + /** + * Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op). + */ + fixedBoost?: number | null; } /** * Specified which products may be included in results. Uses same filter as boost. @@ -6133,6 +7687,19 @@ export namespace discoveryengine_v1alpha { */ filter?: string | null; } + /** + * Promote certain links based on some trigger queries. Example: Promote shoe store link when searching for `shoe` keyword. The link can be outside of associated data store. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaControlPromoteAction { + /** + * Required. Data store with which this promotion is attached to. + */ + dataStore?: string | null; + /** + * Required. Promotion attached to this action. + */ + searchLinkPromotion?: Schema$GoogleCloudDiscoveryengineV1betaSearchLinkPromotion; + } /** * Redirects a shopper to the provided URI. */ @@ -6195,9 +7762,9 @@ export namespace discoveryengine_v1alpha { updateTime?: string | null; } /** - * Metadata related to the progress of the SiteSearchEngineService.CreateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field. + * Metadata related to the progress of the SiteSearchEngineService.CreateSitemap operation. This will be returned by the google.longrunning.Operation.metadata field. */ - export interface Schema$GoogleCloudDiscoveryengineV1betaCreateTargetSiteMetadata { + export interface Schema$GoogleCloudDiscoveryengineV1betaCreateSitemapMetadata { /** * Operation create time. */ @@ -6208,50 +7775,34 @@ export namespace discoveryengine_v1alpha { updateTime?: string | null; } /** - * Metadata that describes a custom tuned model. + * Metadata related to the progress of the SiteSearchEngineService.CreateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field. */ - export interface Schema$GoogleCloudDiscoveryengineV1betaCustomTuningModel { + export interface Schema$GoogleCloudDiscoveryengineV1betaCreateTargetSiteMetadata { /** - * Timestamp the Model was created at. + * Operation create time. */ createTime?: string | null; /** - * The display name of the model. - */ - displayName?: string | null; - /** - * Currently this is only populated if the model state is `INPUT_VALIDATION_FAILED`. - */ - errorMessage?: string | null; - /** - * The metrics of the trained model. - */ - metrics?: {[key: string]: number} | null; - /** - * The state that the model is in (e.g.`TRAINING` or `TRAINING_FAILED`). - */ - modelState?: string | null; - /** - * The version of the model. - */ - modelVersion?: string | null; - /** - * Required. The fully qualified resource name of the model. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}/customTuningModels/{custom_tuning_model\}`. Model must be an alpha-numerical string with limit of 40 characters. - */ - name?: string | null; - /** - * Timestamp the model training was initiated. + * Operation last update time. If the operation is done, this is also the finish time. */ - trainingStartTime?: string | null; + updateTime?: string | null; } /** * DataStore captures global settings and configs at the DataStore level. */ export interface Schema$GoogleCloudDiscoveryengineV1betaDataStore { + /** + * Optional. Configuration for advanced site search. + */ + advancedSiteSearchConfig?: Schema$GoogleCloudDiscoveryengineV1betaAdvancedSiteSearchConfig; /** * Output only. Data size estimation for billing. */ billingEstimation?: Schema$GoogleCloudDiscoveryengineV1betaDataStoreBillingEstimation; + /** + * Output only. CMEK-related information for the DataStore. + */ + cmekConfig?: Schema$GoogleCloudDiscoveryengineV1betaCmekConfig; /** * Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT. */ @@ -6276,6 +7827,14 @@ export namespace discoveryengine_v1alpha { * Immutable. The industry vertical that the data store registers. */ industryVertical?: string | null; + /** + * Optional. If set, this DataStore is an Infobot FAQ DataStore. + */ + isInfobotFaqDataStore?: boolean | null; + /** + * Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field. + */ + kmsKeyName?: string | null; /** * Language info for DataStore. */ @@ -6291,7 +7850,7 @@ export namespace discoveryengine_v1alpha { /** * Optional. Stores serving config at DataStore level. */ - servingConfigDataStore?: Schema$GoogleCloudDiscoveryengineV1betaServingConfigDataStore; + servingConfigDataStore?: Schema$GoogleCloudDiscoveryengineV1betaDataStoreServingConfigDataStore; /** * The solutions that the data store enrolls. Available solutions for each industry_vertical: * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`. * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other solutions cannot be enrolled. */ @@ -6334,6 +7893,15 @@ export namespace discoveryengine_v1alpha { */ websiteDataUpdateTime?: string | null; } + /** + * Stores information regarding the serving configurations at DataStore level. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaDataStoreServingConfigDataStore { + /** + * If set true, the DataStore will not be available for serving search requests. + */ + disabledForServing?: boolean | null; + } /** * Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -6360,6 +7928,19 @@ export namespace discoveryengine_v1alpha { */ updateTime?: string | null; } + /** + * Metadata related to the progress of the IdentityMappingStoreService.DeleteIdentityMappingStore operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaDeleteIdentityMappingStoreMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } /** * Metadata for DeleteSchema LRO. */ @@ -6373,6 +7954,19 @@ export namespace discoveryengine_v1alpha { */ updateTime?: string | null; } + /** + * Metadata related to the progress of the SiteSearchEngineService.DeleteSitemap operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaDeleteSitemapMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } /** * Metadata related to the progress of the SiteSearchEngineService.DeleteTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -6404,7 +7998,7 @@ export namespace discoveryengine_v1alpha { */ export interface Schema$GoogleCloudDiscoveryengineV1betaDisableAdvancedSiteSearchResponse {} /** - * A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config. + * A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser. */ export interface Schema$GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig { /** @@ -6538,7 +8132,7 @@ export namespace discoveryengine_v1alpha { */ displayName?: string | null; /** - * The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to `GENERIC`. Vertical on Engine has to match vertical of the DataStore linked to the engine. + * The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine. */ industryVertical?: string | null; /** @@ -6682,6 +8276,24 @@ export namespace discoveryengine_v1alpha { */ sampleQuerySet?: string | null; } + /** + * Response message for SiteSearchEngineService.FetchSitemaps method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaFetchSitemapsResponse { + /** + * List of Sitemaps fetched. + */ + sitemapsMetadata?: Schema$GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata[]; + } + /** + * Contains a Sitemap and its metadata. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata { + /** + * The Sitemap. + */ + sitemap?: Schema$GoogleCloudDiscoveryengineV1betaSitemap; + } /** * Metadata related to the progress of the ImportCompletionSuggestions operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -6915,15 +8527,6 @@ export namespace discoveryengine_v1alpha { */ region?: string | null; } - /** - * Response message for SearchTuningService.ListCustomModels method. - */ - export interface Schema$GoogleCloudDiscoveryengineV1betaListCustomModelsResponse { - /** - * List of custom tuning models. - */ - models?: Schema$GoogleCloudDiscoveryengineV1betaCustomTuningModel[]; - } /** * Configuration for Natural Language Query Understanding. */ @@ -7112,6 +8715,31 @@ export namespace discoveryengine_v1alpha { */ structSchema?: {[key: string]: any} | null; } + /** + * Promotion proto includes uri and other helping information to display the promotion. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaSearchLinkPromotion { + /** + * Optional. The Promotion description. Maximum length: 200 characters. + */ + description?: string | null; + /** + * Optional. The enabled promotion will be returned for any serving configs associated with the parent of the control this promotion is attached to. This flag is used for basic site search only. + */ + enabled?: boolean | null; + /** + * Optional. The promotion thumbnail image url. + */ + imageUri?: string | null; + /** + * Required. The title of the promotion. Maximum length: 160 characters. + */ + title?: string | null; + /** + * Required. The URL for the page the user wants to promote. + */ + uri?: string | null; + } /** * Request message for SearchService.Search method. */ @@ -7133,7 +8761,7 @@ export namespace discoveryengine_v1alpha { */ contentSearchSpec?: Schema$GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpec; /** - * Specs defining dataStores to filter on in a search call and configurations for those dataStores. This is only considered for engines with multiple dataStores use case. For single dataStore within an engine, they should use the specs at the top level. + * Specs defining DataStores to filter on in a search call and configurations for those data stores. This is only considered for Engines with multiple data stores. For engines with a single data store, the specs directly under SearchRequest should be used. */ dataStoreSpecs?: Schema$GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec[]; /** @@ -7164,6 +8792,10 @@ export namespace discoveryengine_v1alpha { * A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned. */ offset?: number | null; + /** + * The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default number is 10. + */ + oneBoxPageSize?: number | null; /** * The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering the website search results, see [Order web search results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results). For more information on ordering the healthcare search results, see [Order healthcare search results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results). If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. */ @@ -7448,6 +9080,10 @@ export namespace discoveryengine_v1alpha { * A struct to define data stores to filter on in a search call and configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error is returned. */ export interface Schema$GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec { + /** + * Optional. Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results) + */ + boostSpec?: Schema$GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec; /** * Required. Full resource name of DataStore, such as `projects/{project\}/locations/{location\}/collections/{collection_id\}/dataStores/{data_store_id\}`. */ @@ -7547,7 +9183,7 @@ export namespace discoveryengine_v1alpha { */ export interface Schema$GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec { /** - * The condition under which filter extraction should occur. Default to Condition.DISABLED. + * The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`. */ filterExtractionCondition?: string | null; /** @@ -7609,13 +9245,30 @@ export namespace discoveryengine_v1alpha { mode?: string | null; } /** - * Stores information regarding the serving configurations at DataStore level. + * Metadata for single-regional CMEKs. */ - export interface Schema$GoogleCloudDiscoveryengineV1betaServingConfigDataStore { + export interface Schema$GoogleCloudDiscoveryengineV1betaSingleRegionKey { /** - * If set true, the DataStore will not be available for serving search requests. + * Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project\}/locations/{location\}/keyRings/{keyRing\}/cryptoKeys/{keyId\}`. */ - disabledForServing?: boolean | null; + kmsKey?: string | null; + } + /** + * A sitemap for the SiteSearchEngine. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaSitemap { + /** + * Output only. The sitemap's creation time. + */ + createTime?: string | null; + /** + * Output only. The fully qualified resource name of the sitemap. `projects/x/locations/x/collections/x/dataStores/x/siteSearchEngine/sitemaps/x` The `sitemap_id` suffix is system-generated. + */ + name?: string | null; + /** + * Public URI for the sitemap, e.g. `www.example.com/sitemap.xml`. + */ + uri?: string | null; } /** * Verification information for target sites in advanced site search. @@ -7635,7 +9288,7 @@ export namespace discoveryengine_v1alpha { */ export interface Schema$GoogleCloudDiscoveryengineV1betaTargetSite { /** - * Input only. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine. + * Immutable. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine. */ exactMatch?: boolean | null; /** @@ -7804,6 +9457,39 @@ export namespace discoveryengine_v1alpha { */ type?: string | null; } + /** + * Configurations used to enable CMEK data encryption with Cloud KMS keys. + */ + export interface Schema$GoogleCloudDiscoveryengineV1CmekConfig { + /** + * Output only. The default CmekConfig for the Customer. + */ + isDefault?: boolean | null; + /** + * Kms key resource name which will be used to encrypt resources `projects/{project\}/locations/{location\}/keyRings/{keyRing\}/cryptoKeys/{keyId\}`. + */ + kmsKey?: string | null; + /** + * Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion\}`. + */ + kmsKeyVersion?: string | null; + /** + * Output only. The timestamp of the last key rotation. + */ + lastRotationTimestampMicros?: string | null; + /** + * Required. Name of the CmekConfig, of the form `projects/{project\}/locations/{location\}/cmekConfig` or `projects/{project\}/locations/{location\}/cmekConfigs/{cmekConfig\}`. + */ + name?: string | null; + /** + * Optional. Single-regional CMEKs that are required for some VAIS features. + */ + singleRegionKeys?: Schema$GoogleCloudDiscoveryengineV1SingleRegionKey[]; + /** + * Output only. State of the CmekConfig. + */ + state?: string | null; + } /** * Defines circumstances to be checked before allowing a behavior */ @@ -7813,7 +9499,11 @@ export namespace discoveryengine_v1alpha { */ activeTimeRange?: Schema$GoogleCloudDiscoveryengineV1ConditionTimeRange[]; /** - * Search only A list of terms to match the query on. Maximum of 10 query terms. + * Optional. Query regex to match the whole search query. Cannot be set when Condition.query_terms is set. This is currently supporting promotion use case. + */ + queryRegex?: string | null; + /** + * Search only A list of terms to match the query on. Cannot be set when Condition.query_regex is set. Maximum of 10 query terms. */ queryTerms?: Schema$GoogleCloudDiscoveryengineV1ConditionQueryTerm[]; } @@ -7871,6 +9561,10 @@ export namespace discoveryengine_v1alpha { * Immutable. Fully qualified name `projects/x/locations/global/dataStore/x/controls/x` */ name?: string | null; + /** + * Promote certain links based on predefined trigger queries. This now only supports basic site search. + */ + promoteAction?: Schema$GoogleCloudDiscoveryengineV1ControlPromoteAction; /** * Defines a redirect-type control. */ @@ -7893,7 +9587,7 @@ export namespace discoveryengine_v1alpha { */ export interface Schema$GoogleCloudDiscoveryengineV1ControlBoostAction { /** - * Required. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op). + * Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op). */ boost?: number | null; /** @@ -7904,6 +9598,10 @@ export namespace discoveryengine_v1alpha { * Required. Specifies which products to apply the boost to. If no filter is provided all products will be boosted (No-op). Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown. */ filter?: string | null; + /** + * Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op). + */ + fixedBoost?: number | null; } /** * Specified which products may be included in results. Uses same filter as boost. @@ -7918,6 +9616,19 @@ export namespace discoveryengine_v1alpha { */ filter?: string | null; } + /** + * Promote certain links based on some trigger queries. Example: Promote shoe store link when searching for `shoe` keyword. The link can be outside of associated data store. + */ + export interface Schema$GoogleCloudDiscoveryengineV1ControlPromoteAction { + /** + * Required. Data store with which this promotion is attached to. + */ + dataStore?: string | null; + /** + * Required. Promotion attached to this action. + */ + searchLinkPromotion?: Schema$GoogleCloudDiscoveryengineV1SearchLinkPromotion; + } /** * Redirects a shopper to the provided URI. */ @@ -7992,10 +9703,18 @@ export namespace discoveryengine_v1alpha { * DataStore captures global settings and configs at the DataStore level. */ export interface Schema$GoogleCloudDiscoveryengineV1DataStore { + /** + * Optional. Configuration for advanced site search. + */ + advancedSiteSearchConfig?: Schema$GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig; /** * Output only. Data size estimation for billing. */ billingEstimation?: Schema$GoogleCloudDiscoveryengineV1DataStoreBillingEstimation; + /** + * Output only. CMEK-related information for the DataStore. + */ + cmekConfig?: Schema$GoogleCloudDiscoveryengineV1CmekConfig; /** * Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT. */ @@ -8020,6 +9739,14 @@ export namespace discoveryengine_v1alpha { * Immutable. The industry vertical that the data store registers. */ industryVertical?: string | null; + /** + * Optional. If set, this DataStore is an Infobot FAQ DataStore. + */ + isInfobotFaqDataStore?: boolean | null; + /** + * Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field. + */ + kmsKeyName?: string | null; /** * Immutable. The full resource name of the data store. Format: `projects/{project\}/locations/{location\}/collections/{collection_id\}/dataStores/{data_store_id\}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. */ @@ -8027,7 +9754,7 @@ export namespace discoveryengine_v1alpha { /** * Optional. Stores serving config at DataStore level. */ - servingConfigDataStore?: Schema$GoogleCloudDiscoveryengineV1ServingConfigDataStore; + servingConfigDataStore?: Schema$GoogleCloudDiscoveryengineV1DataStoreServingConfigDataStore; /** * The solutions that the data store enrolls. Available solutions for each industry_vertical: * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`. * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other solutions cannot be enrolled. */ @@ -8070,6 +9797,15 @@ export namespace discoveryengine_v1alpha { */ websiteDataUpdateTime?: string | null; } + /** + * Stores information regarding the serving configurations at DataStore level. + */ + export interface Schema$GoogleCloudDiscoveryengineV1DataStoreServingConfigDataStore { + /** + * If set true, the DataStore will not be available for serving search requests. + */ + disabledForServing?: boolean | null; + } /** * Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -8096,6 +9832,19 @@ export namespace discoveryengine_v1alpha { */ updateTime?: string | null; } + /** + * Metadata related to the progress of the IdentityMappingStoreService.DeleteIdentityMappingStore operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1DeleteIdentityMappingStoreMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } /** * Metadata for DeleteSchema LRO. */ @@ -8140,7 +9889,7 @@ export namespace discoveryengine_v1alpha { */ export interface Schema$GoogleCloudDiscoveryengineV1DisableAdvancedSiteSearchResponse {} /** - * A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config. + * A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser. */ export interface Schema$GoogleCloudDiscoveryengineV1DocumentProcessingConfig { /** @@ -8274,7 +10023,7 @@ export namespace discoveryengine_v1alpha { */ displayName?: string | null; /** - * The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to `GENERIC`. Vertical on Engine has to match vertical of the DataStore linked to the engine. + * The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine. */ industryVertical?: string | null; /** @@ -8672,13 +10421,296 @@ export namespace discoveryengine_v1alpha { structSchema?: {[key: string]: any} | null; } /** - * Stores information regarding the serving configurations at DataStore level. + * Promotion proto includes uri and other helping information to display the promotion. */ - export interface Schema$GoogleCloudDiscoveryengineV1ServingConfigDataStore { + export interface Schema$GoogleCloudDiscoveryengineV1SearchLinkPromotion { /** - * If set true, the DataStore will not be available for serving search requests. + * Optional. The Promotion description. Maximum length: 200 characters. */ - disabledForServing?: boolean | null; + description?: string | null; + /** + * Optional. The enabled promotion will be returned for any serving configs associated with the parent of the control this promotion is attached to. This flag is used for basic site search only. + */ + enabled?: boolean | null; + /** + * Optional. The promotion thumbnail image url. + */ + imageUri?: string | null; + /** + * Required. The title of the promotion. Maximum length: 160 characters. + */ + title?: string | null; + /** + * Required. The URL for the page the user wants to promote. + */ + uri?: string | null; + } + /** + * A specification for configuring the behavior of content search. + */ + export interface Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec { + /** + * Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS + */ + chunkSpec?: Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecChunkSpec; + /** + * If there is no extractive_content_spec provided, there will be no extractive answer in the search response. + */ + extractiveContentSpec?: Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecExtractiveContentSpec; + /** + * Specifies the search result mode. If unspecified, the search result mode defaults to `DOCUMENTS`. + */ + searchResultMode?: string | null; + /** + * If `snippetSpec` is not specified, snippets are not included in the search response. + */ + snippetSpec?: Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSnippetSpec; + /** + * If `summarySpec` is not specified, summaries are not included in the search response. + */ + summarySpec?: Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpec; + } + /** + * Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS + */ + export interface Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecChunkSpec { + /** + * The number of next chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no next chunks will be returned. + */ + numNextChunks?: number | null; + /** + * The number of previous chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no previous chunks will be returned. + */ + numPreviousChunks?: number | null; + } + /** + * A specification for configuring the extractive content in a search response. + */ + export interface Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecExtractiveContentSpec { + /** + * The maximum number of extractive answers returned in each search result. An extractive answer is a verbatim answer extracted from the original document, which provides a precise and contextually relevant answer to the search query. If the number of matching answers is less than the `max_extractive_answer_count`, return all of the answers. Otherwise, return the `max_extractive_answer_count`. At most five answers are returned for each SearchResult. + */ + maxExtractiveAnswerCount?: number | null; + /** + * The max number of extractive segments returned in each search result. Only applied if the DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED or DataStore.solution_types is SOLUTION_TYPE_CHAT. An extractive segment is a text segment extracted from the original document that is relevant to the search query, and, in general, more verbose than an extractive answer. The segment could then be used as input for LLMs to generate summaries and answers. If the number of matching segments is less than `max_extractive_segment_count`, return all of the segments. Otherwise, return the `max_extractive_segment_count`. + */ + maxExtractiveSegmentCount?: number | null; + /** + * Return at most `num_next_segments` segments after each selected segments. + */ + numNextSegments?: number | null; + /** + * Specifies whether to also include the adjacent from each selected segments. Return at most `num_previous_segments` segments before each selected segments. + */ + numPreviousSegments?: number | null; + /** + * Specifies whether to return the confidence score from the extractive segments in each search result. This feature is available only for new or allowlisted data stores. To allowlist your data store, contact your Customer Engineer. The default value is `false`. + */ + returnExtractiveSegmentScore?: boolean | null; + } + /** + * A specification for configuring snippets in a search response. + */ + export interface Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSnippetSpec { + /** + * [DEPRECATED] This field is deprecated. To control snippet return, use `return_snippet` field. For backwards compatibility, we will return snippet if max_snippet_count \> 0. + */ + maxSnippetCount?: number | null; + /** + * [DEPRECATED] This field is deprecated and will have no affect on the snippet. + */ + referenceOnly?: boolean | null; + /** + * If `true`, then return snippet. If no snippet can be generated, we return "No snippet is available for this page." A `snippet_status` with `SUCCESS` or `NO_SNIPPET_AVAILABLE` will also be returned. + */ + returnSnippet?: boolean | null; + } + /** + * A specification for configuring a summary returned in a search response. + */ + export interface Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpec { + /** + * Specifies whether to filter out adversarial queries. The default value is `false`. Google employs search-query classification to detect adversarial queries. No summary is returned if the search query is classified as an adversarial query. For example, a user might ask a question regarding negative comments about the company or submit a query designed to generate unsafe, policy-violating output. If this field is set to `true`, we skip generating summaries for adversarial queries and return fallback messages instead. + */ + ignoreAdversarialQuery?: boolean | null; + /** + * Optional. Specifies whether to filter out jail-breaking queries. The default value is `false`. Google employs search-query classification to detect jail-breaking queries. No summary is returned if the search query is classified as a jail-breaking query. A user might add instructions to the query to change the tone, style, language, content of the answer, or ask the model to act as a different entity, e.g. "Reply in the tone of a competing company's CEO". If this field is set to `true`, we skip generating summaries for jail-breaking queries and return fallback messages instead. + */ + ignoreJailBreakingQuery?: boolean | null; + /** + * Specifies whether to filter out queries that have low relevance. The default value is `false`. If this field is set to `false`, all search results are used regardless of relevance to generate answers. If set to `true`, only queries with high relevance search results will generate answers. + */ + ignoreLowRelevantContent?: boolean | null; + /** + * Specifies whether to filter out queries that are not summary-seeking. The default value is `false`. Google employs search-query classification to detect summary-seeking queries. No summary is returned if the search query is classified as a non-summary seeking query. For example, `why is the sky blue` and `Who is the best soccer player in the world?` are summary-seeking queries, but `SFO airport` and `world cup 2026` are not. They are most likely navigational queries. If this field is set to `true`, we skip generating summaries for non-summary seeking queries and return fallback messages instead. + */ + ignoreNonSummarySeekingQuery?: boolean | null; + /** + * Specifies whether to include citations in the summary. The default value is `false`. When this field is set to `true`, summaries include in-line citation numbers. Example summary including citations: BigQuery is Google Cloud's fully managed and completely serverless enterprise data warehouse [1]. BigQuery supports all data types, works across clouds, and has built-in machine learning and business intelligence, all within a unified platform [2, 3]. The citation numbers refer to the returned search results and are 1-indexed. For example, [1] means that the sentence is attributed to the first search result. [2, 3] means that the sentence is attributed to both the second and third search results. + */ + includeCitations?: boolean | null; + /** + * Language code for Summary. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Note: This is an experimental feature. + */ + languageCode?: string | null; + /** + * If specified, the spec will be used to modify the prompt provided to the LLM. + */ + modelPromptSpec?: Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelPromptSpec; + /** + * If specified, the spec will be used to modify the model specification provided to the LLM. + */ + modelSpec?: Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelSpec; + /** + * The number of top results to generate the summary from. If the number of results returned is less than `summaryResultCount`, the summary is generated from all of the results. At most 10 results for documents mode, or 50 for chunks mode, can be used to generate a summary. The chunks mode is used when SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS. + */ + summaryResultCount?: number | null; + /** + * If true, answer will be generated from most relevant chunks from top search results. This feature will improve summary quality. Note that with this feature enabled, not all top search results will be referenced and included in the reference list, so the citation source index only points to the search results listed in the reference list. + */ + useSemanticChunks?: boolean | null; + } + /** + * Specification of the prompt to use with the model. + */ + export interface Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelPromptSpec { + /** + * Text at the beginning of the prompt that instructs the assistant. Examples are available in the user guide. + */ + preamble?: string | null; + } + /** + * Specification of the model. + */ + export interface Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelSpec { + /** + * The model version used to generate the summary. Supported values are: * `stable`: string. Default value when no value is specified. Uses a generally available, fine-tuned model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models). * `preview`: string. (Public preview) Uses a preview model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models). + */ + version?: string | null; + } + /** + * Configures metadata that is used to generate serving time results (e.g. search results or recommendation predictions). The ServingConfig is passed in the search and predict request and generates results. + */ + export interface Schema$GoogleCloudDiscoveryengineV1ServingConfig { + /** + * Boost controls to use in serving path. All triggered boost controls will be applied. Boost controls must be in the same data store as the serving config. Maximum of 20 boost controls. + */ + boostControlIds?: string[] | null; + /** + * Output only. ServingConfig created timestamp. + */ + createTime?: string | null; + /** + * Required. The human readable serving config display name. Used in Discovery UI. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. + */ + displayName?: string | null; + /** + * Condition do not associate specifications. If multiple do not associate conditions match, all matching do not associate controls in the list will execute. Order does not matter. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH. + */ + dissociateControlIds?: string[] | null; + /** + * How much diversity to use in recommendation model results e.g. `medium-diversity` or `high-diversity`. Currently supported values: * `no-diversity` * `low-diversity` * `medium-diversity` * `high-diversity` * `auto-diversity` If not specified, we choose default based on recommendation model type. Default value: `no-diversity`. Can only be set if SolutionType is SOLUTION_TYPE_RECOMMENDATION. + */ + diversityLevel?: string | null; + /** + * Filter controls to use in serving path. All triggered filter controls will be applied. Filter controls must be in the same data store as the serving config. Maximum of 20 filter controls. + */ + filterControlIds?: string[] | null; + /** + * The GenericConfig of the serving configuration. + */ + genericConfig?: Schema$GoogleCloudDiscoveryengineV1ServingConfigGenericConfig; + /** + * Condition ignore specifications. If multiple ignore conditions match, all matching ignore controls in the list will execute. Order does not matter. Maximum number of specifications is 100. + */ + ignoreControlIds?: string[] | null; + /** + * The MediaConfig of the serving configuration. + */ + mediaConfig?: Schema$GoogleCloudDiscoveryengineV1ServingConfigMediaConfig; + /** + * The id of the model to use at serving time. Currently only RecommendationModels are supported. Can be changed but only to a compatible model (e.g. others-you-may-like CTR to others-you-may-like CVR). Required when SolutionType is SOLUTION_TYPE_RECOMMENDATION. + */ + modelId?: string | null; + /** + * Immutable. Fully qualified name `projects/{project\}/locations/{location\}/collections/{collection_id\}/engines/{engine_id\}/servingConfigs/{serving_config_id\}` + */ + name?: string | null; + /** + * Condition oneway synonyms specifications. If multiple oneway synonyms conditions match, all matching oneway synonyms controls in the list will execute. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH. + */ + onewaySynonymsControlIds?: string[] | null; + /** + * Condition promote specifications. Maximum number of specifications is 100. + */ + promoteControlIds?: string[] | null; + /** + * The ranking expression controls the customized ranking on retrieval documents. To leverage this, document embedding is required. The ranking expression setting in ServingConfig applies to all search requests served by the serving config. However, if `SearchRequest.ranking_expression` is specified, it overrides the ServingConfig ranking expression. The ranking expression is a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function \}; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between embedding_field_path and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. + */ + rankingExpression?: string | null; + /** + * IDs of the redirect controls. Only the first triggered redirect action is applied, even if multiple apply. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH. + */ + redirectControlIds?: string[] | null; + /** + * Condition replacement specifications. Applied according to the order in the list. A previously replaced term can not be re-replaced. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH. + */ + replacementControlIds?: string[] | null; + /** + * Required. Immutable. Specifies the solution type that a serving config can be associated with. + */ + solutionType?: string | null; + /** + * Condition synonyms specifications. If multiple synonyms conditions match, all matching synonyms controls in the list will execute. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH. + */ + synonymsControlIds?: string[] | null; + /** + * Output only. ServingConfig updated timestamp. + */ + updateTime?: string | null; + } + /** + * Specifies the configurations needed for Generic Discovery.Currently we support: * `content_search_spec`: configuration for generic content search. + */ + export interface Schema$GoogleCloudDiscoveryengineV1ServingConfigGenericConfig { + /** + * Specifies the expected behavior of content search. Only valid for content-search enabled data store. + */ + contentSearchSpec?: Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec; + } + /** + * Specifies the configurations needed for Media Discovery. Currently we support: * `demote_content_watched`: Threshold for watched content demotion. Customers can specify if using watched content demotion or use viewed detail page. Using the content watched demotion, customers need to specify the watched minutes or percentage exceeds the threshold, the content will be demoted in the recommendation result. * `promote_fresh_content`: cutoff days for fresh content promotion. Customers can specify if using content freshness promotion. If the content was published within the cutoff days, the content will be promoted in the recommendation result. Can only be set if SolutionType is SOLUTION_TYPE_RECOMMENDATION. + */ + export interface Schema$GoogleCloudDiscoveryengineV1ServingConfigMediaConfig { + /** + * Specifies the content freshness used for recommendation result. Contents will be demoted if contents were published for more than content freshness cutoff days. + */ + contentFreshnessCutoffDays?: number | null; + /** + * Specifies the content watched percentage threshold for demotion. Threshold value must be between [0, 1.0] inclusive. + */ + contentWatchedPercentageThreshold?: number | null; + /** + * Specifies the content watched minutes threshold for demotion. + */ + contentWatchedSecondsThreshold?: number | null; + /** + * Optional. Specifies the number of days to look back for demoting watched content. If set to zero or unset, defaults to the maximum of 365 days. + */ + demoteContentWatchedPastDays?: number | null; + /** + * Specifies the event type used for demoting recommendation result. Currently supported values: * `view-item`: Item viewed. * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. If unset, watch history demotion will not be applied. Content freshness demotion will still be applied. + */ + demotionEventType?: string | null; + } + /** + * Metadata for single-regional CMEKs. + */ + export interface Schema$GoogleCloudDiscoveryengineV1SingleRegionKey { + /** + * Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project\}/locations/{location\}/keyRings/{keyRing\}/cryptoKeys/{keyId\}`. + */ + kmsKey?: string | null; } /** * Verification information for target sites in advanced site search. @@ -8698,7 +10730,7 @@ export namespace discoveryengine_v1alpha { */ export interface Schema$GoogleCloudDiscoveryengineV1TargetSite { /** - * Input only. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine. + * Immutable. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine. */ exactMatch?: boolean | null; /** @@ -8794,6 +10826,19 @@ export namespace discoveryengine_v1alpha { */ modelStatus?: string | null; } + /** + * Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1UpdateCmekConfigMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } /** * Metadata for UpdateSchema LRO. */ @@ -8883,6 +10928,69 @@ export namespace discoveryengine_v1alpha { */ response?: {[key: string]: any} | null; } + /** + * A single data point in a time series. + */ + export interface Schema$GoogleMonitoringV3Point { + /** + * The time interval to which the data point applies. For `GAUGE` metrics, the start time is optional, but if it is supplied, it must equal the end time. For `DELTA` metrics, the start and end time should specify a non-zero interval, with subsequent points specifying contiguous and non-overlapping intervals. For `CUMULATIVE` metrics, the start and end time should specify a non-zero interval, with subsequent points specifying the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points. + */ + interval?: Schema$GoogleMonitoringV3TimeInterval; + /** + * The value of the data point. + */ + value?: Schema$GoogleMonitoringV3TypedValue; + } + /** + * A time interval extending just after a start time through an end time. If the start time is the same as the end time, then the interval represents a single point in time. + */ + export interface Schema$GoogleMonitoringV3TimeInterval { + /** + * Required. The end of the time interval. + */ + endTime?: string | null; + /** + * Optional. The beginning of the time interval. The default value for the start time is the end time. The start time must not be later than the end time. + */ + startTime?: string | null; + } + /** + * A collection of data points that describes the time-varying values of a metric. A time series is identified by a combination of a fully-specified monitored resource and a fully-specified metric. This type is used for both listing and creating time series. + */ + export interface Schema$GoogleMonitoringV3TimeSeries { + /** + * Input only. A detailed description of the time series that will be associated with the google.api.MetricDescriptor for the metric. Once set, this field cannot be changed through CreateTimeSeries. + */ + description?: string | null; + /** + * Output only. The associated monitored resource metadata. When reading a time series, this field will include metadata labels that are explicitly named in the reduction. When creating a time series, this field is ignored. + */ + metadata?: Schema$GoogleApiMonitoredResourceMetadata; + /** + * The associated metric. A fully-specified metric used to identify the time series. + */ + metric?: Schema$GoogleApiMetric; + /** + * The metric kind of the time series. When listing time series, this metric kind might be different from the metric kind of the associated metric if this time series is an alignment or reduction of other time series. When creating a time series, this field is optional. If present, it must be the same as the metric kind of the associated metric. If the associated metric's descriptor must be auto-created, then this field specifies the metric kind of the new descriptor and must be either `GAUGE` (the default) or `CUMULATIVE`. + */ + metricKind?: string | null; + /** + * The data points of this time series. When listing time series, points are returned in reverse time order. When creating a time series, this field must contain exactly one point and the point's type must be the same as the value type of the associated metric. If the associated metric's descriptor must be auto-created, then the value type of the descriptor is determined by the point's type, which must be `BOOL`, `INT64`, `DOUBLE`, or `DISTRIBUTION`. + */ + points?: Schema$GoogleMonitoringV3Point[]; + /** + * The associated monitored resource. Custom metrics can use only certain monitored resource types in their time series data. For more information, see [Monitored resources for custom metrics](https://cloud.google.com/monitoring/custom-metrics/creating-metrics#custom-metric-resources). + */ + resource?: Schema$GoogleApiMonitoredResource; + /** + * The units in which the metric value is reported. It is only applicable if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit` defines the representation of the stored metric values. This field can only be changed through CreateTimeSeries when it is empty. + */ + unit?: string | null; + /** + * The value type of the time series. When listing time series, this value type might be different from the value type of the associated metric if this time series is an alignment or reduction of other time series. When creating a time series, this field is optional. If present, it must be the same as the type of the data in the `points` field. + */ + valueType?: string | null; + } /** * A single strongly-typed value. */ @@ -8946,6 +11054,47 @@ export namespace discoveryengine_v1alpha { */ year?: number | null; } + /** + * Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. + */ + export interface Schema$GoogleTypeDateTime { + /** + * Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day. + */ + day?: number | null; + /** + * Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value "24:00:00" for scenarios like business closing time. + */ + hours?: number | null; + /** + * Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0. + */ + minutes?: number | null; + /** + * Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month. + */ + month?: number | null; + /** + * Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0. + */ + nanos?: number | null; + /** + * Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds. + */ + seconds?: number | null; + /** + * Time zone. + */ + timeZone?: Schema$GoogleTypeTimeZone; + /** + * UTC offset. Must be whole seconds, between -18 hours and +18 hours. For example, a UTC offset of -4:00 would be represented as { seconds: -14400 \}. + */ + utcOffset?: string | null; + /** + * Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year. + */ + year?: number | null; + } /** * Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. */ @@ -8967,6 +11116,19 @@ export namespace discoveryengine_v1alpha { */ title?: string | null; } + /** + * Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). + */ + export interface Schema$GoogleTypeTimeZone { + /** + * IANA Time Zone Database time zone. For example "America/New_York". + */ + id?: string | null; + /** + * Optional. IANA Time Zone Database version number. For example "2019a". + */ + version?: string | null; + } export class Resource$Projects { context: APIRequestContext; @@ -9300,6 +11462,7 @@ export namespace discoveryengine_v1alpha { export class Resource$Projects$Locations { context: APIRequestContext; + cmekConfigs: Resource$Projects$Locations$Cmekconfigs; collections: Resource$Projects$Locations$Collections; dataStores: Resource$Projects$Locations$Datastores; evaluations: Resource$Projects$Locations$Evaluations; @@ -9313,6 +11476,9 @@ export namespace discoveryengine_v1alpha { userStores: Resource$Projects$Locations$Userstores; constructor(context: APIRequestContext) { this.context = context; + this.cmekConfigs = new Resource$Projects$Locations$Cmekconfigs( + this.context + ); this.collections = new Resource$Projects$Locations$Collections( this.context ); @@ -9443,6 +11609,104 @@ export namespace discoveryengine_v1alpha { } } + /** + * Generates grounded content. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generateGroundedContent( + params: Params$Resource$Projects$Locations$Generategroundedcontent, + options: StreamMethodOptions + ): GaxiosPromise; + generateGroundedContent( + params?: Params$Resource$Projects$Locations$Generategroundedcontent, + options?: MethodOptions + ): GaxiosPromise; + generateGroundedContent( + params: Params$Resource$Projects$Locations$Generategroundedcontent, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateGroundedContent( + params: Params$Resource$Projects$Locations$Generategroundedcontent, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateGroundedContent( + params: Params$Resource$Projects$Locations$Generategroundedcontent, + callback: BodyResponseCallback + ): void; + generateGroundedContent( + callback: BodyResponseCallback + ): void; + generateGroundedContent( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Generategroundedcontent + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Generategroundedcontent; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Generategroundedcontent; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1alpha/{+location}:generateGroundedContent' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['location'], + pathParams: ['location'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + /** * Gets the AclConfig. * @@ -9539,64 +11803,1669 @@ export namespace discoveryengine_v1alpha { } /** - * Default ACL configuration for use in a location of a customer's project. Updates will only reflect to new data stores. Existing data stores will still use the old value. + * Gets the CmekConfig. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - updateAclConfig( - params: Params$Resource$Projects$Locations$Updateaclconfig, + getCmekConfig( + params: Params$Resource$Projects$Locations$Getcmekconfig, options: StreamMethodOptions ): GaxiosPromise; - updateAclConfig( - params?: Params$Resource$Projects$Locations$Updateaclconfig, + getCmekConfig( + params?: Params$Resource$Projects$Locations$Getcmekconfig, options?: MethodOptions - ): GaxiosPromise; - updateAclConfig( - params: Params$Resource$Projects$Locations$Updateaclconfig, + ): GaxiosPromise; + getCmekConfig( + params: Params$Resource$Projects$Locations$Getcmekconfig, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - updateAclConfig( - params: Params$Resource$Projects$Locations$Updateaclconfig, + getCmekConfig( + params: Params$Resource$Projects$Locations$Getcmekconfig, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - updateAclConfig( - params: Params$Resource$Projects$Locations$Updateaclconfig, - callback: BodyResponseCallback + getCmekConfig( + params: Params$Resource$Projects$Locations$Getcmekconfig, + callback: BodyResponseCallback ): void; - updateAclConfig( - callback: BodyResponseCallback + getCmekConfig( + callback: BodyResponseCallback ): void; - updateAclConfig( + getCmekConfig( paramsOrCallback?: - | Params$Resource$Projects$Locations$Updateaclconfig - | BodyResponseCallback + | Params$Resource$Projects$Locations$Getcmekconfig + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Updateaclconfig; + {}) as Params$Resource$Projects$Locations$Getcmekconfig; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Updateaclconfig; + params = {} as Params$Resource$Projects$Locations$Getcmekconfig; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Obtains the time series data of organic or dedicated crawl rate for monitoring. When dedicated crawl rate is not set, it will return vertex AI's organic crawl rate time series. Organic crawl means Google automatically crawl the internet at its own convenience. When dedicated crawl rate is set, it will return vertex AI's dedicated crawl rate time series. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + obtainCrawlRate( + params: Params$Resource$Projects$Locations$Obtaincrawlrate, + options: StreamMethodOptions + ): GaxiosPromise; + obtainCrawlRate( + params?: Params$Resource$Projects$Locations$Obtaincrawlrate, + options?: MethodOptions + ): GaxiosPromise; + obtainCrawlRate( + params: Params$Resource$Projects$Locations$Obtaincrawlrate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + obtainCrawlRate( + params: Params$Resource$Projects$Locations$Obtaincrawlrate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + obtainCrawlRate( + params: Params$Resource$Projects$Locations$Obtaincrawlrate, + callback: BodyResponseCallback + ): void; + obtainCrawlRate( + callback: BodyResponseCallback + ): void; + obtainCrawlRate( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Obtaincrawlrate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Obtaincrawlrate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Obtaincrawlrate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+location}:obtainCrawlRate').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['location'], + pathParams: ['location'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Removes the dedicated crawl rate for a craw_rate_scope. If the dedicated crawl rate was set, this will disable vertex AI's crawl bot from using the dedicated crawl rate for crawling. If the dedicated crawl rate was not set, this is a no-op. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + removeDedicatedCrawlRate( + params: Params$Resource$Projects$Locations$Removededicatedcrawlrate, + options: StreamMethodOptions + ): GaxiosPromise; + removeDedicatedCrawlRate( + params?: Params$Resource$Projects$Locations$Removededicatedcrawlrate, + options?: MethodOptions + ): GaxiosPromise; + removeDedicatedCrawlRate( + params: Params$Resource$Projects$Locations$Removededicatedcrawlrate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + removeDedicatedCrawlRate( + params: Params$Resource$Projects$Locations$Removededicatedcrawlrate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + removeDedicatedCrawlRate( + params: Params$Resource$Projects$Locations$Removededicatedcrawlrate, + callback: BodyResponseCallback + ): void; + removeDedicatedCrawlRate( + callback: BodyResponseCallback + ): void; + removeDedicatedCrawlRate( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Removededicatedcrawlrate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Removededicatedcrawlrate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Removededicatedcrawlrate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1alpha/{+location}:removeDedicatedCrawlRate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['location'], + pathParams: ['location'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Sets the dedicated crawl rate for a crawl_rate_scope. If the dedicated crawl rate was not set, this will enable vertex AI's crawl bot to use the new dedicated crawl rate for crawling. If the dedicated crawl rate was set, vertex AI's crawl bot will try to update the rate to the new value. If the new value is too high, the crawl bot may crawl at a lower rate to avoid overloading the user's website. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setDedicatedCrawlRate( + params: Params$Resource$Projects$Locations$Setdedicatedcrawlrate, + options: StreamMethodOptions + ): GaxiosPromise; + setDedicatedCrawlRate( + params?: Params$Resource$Projects$Locations$Setdedicatedcrawlrate, + options?: MethodOptions + ): GaxiosPromise; + setDedicatedCrawlRate( + params: Params$Resource$Projects$Locations$Setdedicatedcrawlrate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setDedicatedCrawlRate( + params: Params$Resource$Projects$Locations$Setdedicatedcrawlrate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setDedicatedCrawlRate( + params: Params$Resource$Projects$Locations$Setdedicatedcrawlrate, + callback: BodyResponseCallback + ): void; + setDedicatedCrawlRate( + callback: BodyResponseCallback + ): void; + setDedicatedCrawlRate( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Setdedicatedcrawlrate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Setdedicatedcrawlrate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Setdedicatedcrawlrate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1alpha/{+location}:setDedicatedCrawlRate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['location'], + pathParams: ['location'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Creates a Collection and sets up the DataConnector for it. To stop a DataConnector after setup, use the CollectionService.DeleteCollection method. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setUpDataConnector( + params: Params$Resource$Projects$Locations$Setupdataconnector, + options: StreamMethodOptions + ): GaxiosPromise; + setUpDataConnector( + params?: Params$Resource$Projects$Locations$Setupdataconnector, + options?: MethodOptions + ): GaxiosPromise; + setUpDataConnector( + params: Params$Resource$Projects$Locations$Setupdataconnector, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setUpDataConnector( + params: Params$Resource$Projects$Locations$Setupdataconnector, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setUpDataConnector( + params: Params$Resource$Projects$Locations$Setupdataconnector, + callback: BodyResponseCallback + ): void; + setUpDataConnector( + callback: BodyResponseCallback + ): void; + setUpDataConnector( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Setupdataconnector + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Setupdataconnector; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Setupdataconnector; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+parent}:setUpDataConnector').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Default ACL configuration for use in a location of a customer's project. Updates will only reflect to new data stores. Existing data stores will still use the old value. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + updateAclConfig( + params: Params$Resource$Projects$Locations$Updateaclconfig, + options: StreamMethodOptions + ): GaxiosPromise; + updateAclConfig( + params?: Params$Resource$Projects$Locations$Updateaclconfig, + options?: MethodOptions + ): GaxiosPromise; + updateAclConfig( + params: Params$Resource$Projects$Locations$Updateaclconfig, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateAclConfig( + params: Params$Resource$Projects$Locations$Updateaclconfig, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateAclConfig( + params: Params$Resource$Projects$Locations$Updateaclconfig, + callback: BodyResponseCallback + ): void; + updateAclConfig( + callback: BodyResponseCallback + ): void; + updateAclConfig( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Updateaclconfig + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Updateaclconfig; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Updateaclconfig; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Provisions a CMEK key for use in a location of a customer's project. This method will also conduct location validation on the provided cmekConfig to make sure the key is valid and can be used in the selected location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + updateCmekConfig( + params: Params$Resource$Projects$Locations$Updatecmekconfig, + options: StreamMethodOptions + ): GaxiosPromise; + updateCmekConfig( + params?: Params$Resource$Projects$Locations$Updatecmekconfig, + options?: MethodOptions + ): GaxiosPromise; + updateCmekConfig( + params: Params$Resource$Projects$Locations$Updatecmekconfig, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateCmekConfig( + params: Params$Resource$Projects$Locations$Updatecmekconfig, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateCmekConfig( + params: Params$Resource$Projects$Locations$Updatecmekconfig, + callback: BodyResponseCallback + ): void; + updateCmekConfig( + callback: BodyResponseCallback + ): void; + updateCmekConfig( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Updatecmekconfig + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Updatecmekconfig; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Updatecmekconfig; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Estimatedatasize + extends StandardParameters { + /** + * Required. Full resource name of the location, such as `projects/{project\}/locations/{location\}`. + */ + location?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequest; + } + export interface Params$Resource$Projects$Locations$Generategroundedcontent + extends StandardParameters { + /** + * Required. Location resource. Format: `projects/{project\}/locations/{location\}`. + */ + location?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaGenerateGroundedContentRequest; + } + export interface Params$Resource$Projects$Locations$Getaclconfig + extends StandardParameters { + /** + * Required. Resource name of AclConfig, such as `projects/x/locations/x/aclConfig`. If the caller does not have permission to access the AclConfig, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Getcmekconfig + extends StandardParameters { + /** + * Required. Resource name of CmekConfig, such as `projects/x/locations/x/cmekConfig` or `projects/x/locations/x/cmekConfigs/x`. If the caller does not have permission to access the CmekConfig, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Obtaincrawlrate + extends StandardParameters { + /** + * Required. The location resource where crawl rate management will be performed. Format: `projects/{project\}/locations/{location\}` + */ + location?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaObtainCrawlRateRequest; + } + export interface Params$Resource$Projects$Locations$Removededicatedcrawlrate + extends StandardParameters { + /** + * Required. The location resource where crawl rate management will be performed. Format: `projects/{project\}/locations/{location\}` + */ + location?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateRequest; + } + export interface Params$Resource$Projects$Locations$Setdedicatedcrawlrate + extends StandardParameters { + /** + * Required. The location resource where crawl rate management will be performed. Format: `projects/{project\}/locations/{location\}` + */ + location?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateRequest; + } + export interface Params$Resource$Projects$Locations$Setupdataconnector + extends StandardParameters { + /** + * Required. The parent of Collection, in the format of `projects/{project\}/locations/{location\}`. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaSetUpDataConnectorRequest; + } + export interface Params$Resource$Projects$Locations$Updateaclconfig + extends StandardParameters { + /** + * Immutable. The full resource name of the acl configuration. Format: `projects/{project\}/locations/{location\}/aclConfig`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaAclConfig; + } + export interface Params$Resource$Projects$Locations$Updatecmekconfig + extends StandardParameters { + /** + * Required. Name of the CmekConfig, of the form `projects/{project\}/locations/{location\}/cmekConfig` or `projects/{project\}/locations/{location\}/cmekConfigs/{cmekConfig\}`. + */ + name?: string; + /** + * Set the following CmekConfig as the default to be used for child resources if one is not specified. + */ + setDefault?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaCmekConfig; + } + + export class Resource$Projects$Locations$Cmekconfigs { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets the CmekConfig. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Cmekconfigs$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Cmekconfigs$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Cmekconfigs$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Cmekconfigs$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Cmekconfigs$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Cmekconfigs$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Cmekconfigs$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Cmekconfigs$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Lists all the CmekConfigs with the project. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Cmekconfigs$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Cmekconfigs$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Cmekconfigs$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Cmekconfigs$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Cmekconfigs$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Cmekconfigs$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Cmekconfigs$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Cmekconfigs$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+parent}/cmekConfigs').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Provisions a CMEK key for use in a location of a customer's project. This method will also conduct location validation on the provided cmekConfig to make sure the key is valid and can be used in the selected location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Cmekconfigs$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Cmekconfigs$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Cmekconfigs$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Cmekconfigs$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Cmekconfigs$Patch, + callback: BodyResponseCallback + ): void; + patch( + callback: BodyResponseCallback + ): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Cmekconfigs$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Cmekconfigs$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Cmekconfigs$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Cmekconfigs$Get + extends StandardParameters { + /** + * Required. Resource name of CmekConfig, such as `projects/x/locations/x/cmekConfig` or `projects/x/locations/x/cmekConfigs/x`. If the caller does not have permission to access the CmekConfig, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Cmekconfigs$List + extends StandardParameters { + /** + * Required. The parent location resource name, such as `projects/{project\}/locations/{location\}`. If the caller does not have permission to list CmekConfigs under this location, regardless of whether or not a CmekConfig exists, a PERMISSION_DENIED error is returned. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Cmekconfigs$Patch + extends StandardParameters { + /** + * Required. Name of the CmekConfig, of the form `projects/{project\}/locations/{location\}/cmekConfig` or `projects/{project\}/locations/{location\}/cmekConfigs/{cmekConfig\}`. + */ + name?: string; + /** + * Set the following CmekConfig as the default to be used for child resources if one is not specified. + */ + setDefault?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaCmekConfig; + } + + export class Resource$Projects$Locations$Collections { + context: APIRequestContext; + dataConnector: Resource$Projects$Locations$Collections$Dataconnector; + dataStores: Resource$Projects$Locations$Collections$Datastores; + engines: Resource$Projects$Locations$Collections$Engines; + operations: Resource$Projects$Locations$Collections$Operations; + constructor(context: APIRequestContext) { + this.context = context; + this.dataConnector = + new Resource$Projects$Locations$Collections$Dataconnector(this.context); + this.dataStores = new Resource$Projects$Locations$Collections$Datastores( + this.context + ); + this.engines = new Resource$Projects$Locations$Collections$Engines( + this.context + ); + this.operations = new Resource$Projects$Locations$Collections$Operations( + this.context + ); + } + + /** + * Deletes a Collection. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Collections$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Collections$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Collections$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Collections$Delete, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Collections$Delete, + callback: BodyResponseCallback + ): void; + delete( + callback: BodyResponseCallback + ): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Collections$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets a Collection. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Collections$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Collections$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Collections$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Collections$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Collections$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Collections$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Gets the DataConnector. DataConnector is a singleton resource for each Collection. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getDataConnector( + params: Params$Resource$Projects$Locations$Collections$Getdataconnector, + options: StreamMethodOptions + ): GaxiosPromise; + getDataConnector( + params?: Params$Resource$Projects$Locations$Collections$Getdataconnector, + options?: MethodOptions + ): GaxiosPromise; + getDataConnector( + params: Params$Resource$Projects$Locations$Collections$Getdataconnector, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getDataConnector( + params: Params$Resource$Projects$Locations$Collections$Getdataconnector, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getDataConnector( + params: Params$Resource$Projects$Locations$Collections$Getdataconnector, + callback: BodyResponseCallback + ): void; + getDataConnector( + callback: BodyResponseCallback + ): void; + getDataConnector( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Getdataconnector + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Getdataconnector; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Getdataconnector; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Gets a list of Collections. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Collections$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Collections$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Collections$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Collections$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Collections$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Collections$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+parent}/collections').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates a Collection. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Collections$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Collections$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Collections$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Collections$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Collections$Patch, + callback: BodyResponseCallback + ): void; + patch( + callback: BodyResponseCallback + ): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Collections$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates a DataConnector. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + updateDataConnector( + params: Params$Resource$Projects$Locations$Collections$Updatedataconnector, + options: StreamMethodOptions + ): GaxiosPromise; + updateDataConnector( + params?: Params$Resource$Projects$Locations$Collections$Updatedataconnector, + options?: MethodOptions + ): GaxiosPromise; + updateDataConnector( + params: Params$Resource$Projects$Locations$Collections$Updatedataconnector, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateDataConnector( + params: Params$Resource$Projects$Locations$Collections$Updatedataconnector, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + updateDataConnector( + params: Params$Resource$Projects$Locations$Collections$Updatedataconnector, + callback: BodyResponseCallback + ): void; + updateDataConnector( + callback: BodyResponseCallback + ): void; + updateDataConnector( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Updatedataconnector + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Updatedataconnector; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Updatedataconnector; options = {}; } @@ -9622,82 +13491,340 @@ export namespace discoveryengine_v1alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( + return createAPIRequest( parameters ); } } } - export interface Params$Resource$Projects$Locations$Estimatedatasize + export interface Params$Resource$Projects$Locations$Collections$Delete extends StandardParameters { /** - * Required. Full resource name of the location, such as `projects/{project\}/locations/{location\}`. + * Required. The full resource name of the Collection, in the format of `projects/{project\}/locations/{location\}/collections/{collection\}`. */ - location?: string; - + name?: string; + } + export interface Params$Resource$Projects$Locations$Collections$Get + extends StandardParameters { /** - * Request body metadata + * Required. The full resource name, in the format of `projects/{project\}/locations/{location\}/collections/{collection\}`. */ - requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaEstimateDataSizeRequest; + name?: string; } - export interface Params$Resource$Projects$Locations$Getaclconfig + export interface Params$Resource$Projects$Locations$Collections$Getdataconnector extends StandardParameters { /** - * Required. Resource name of AclConfig, such as `projects/x/locations/x/aclConfig`. If the caller does not have permission to access the AclConfig, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. + * Required. Full resource name of DataConnector, such as `projects/{project\}/locations/{location\}/collections/{collection_id\}/dataConnector`. If the caller does not have permission to access the DataConnector, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested DataConnector does not exist, a NOT_FOUND error is returned. */ name?: string; } - export interface Params$Resource$Projects$Locations$Updateaclconfig + export interface Params$Resource$Projects$Locations$Collections$List extends StandardParameters { /** - * Immutable. The full resource name of the acl configuration. Format: `projects/{project\}/locations/{location\}/aclConfig`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. + * Filter returned collections by associated data connector data sources. For example: `filter = 'data_source:jira confluence'`. If the filter is empty, we return all collections under a project and location. + */ + filter?: string; + /** + * The maximum number of Collections to return. The service may return fewer than this value. If unspecified, at most 100 Collections will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + */ + pageSize?: number; + /** + * A page token, received from a previous CollectionService.ListCollections call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to CollectionService.ListCollections must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent data store resource name, in the format of `projects/{project\}/locations/{location\}`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Collections$Patch + extends StandardParameters { + /** + * Immutable. The full resource name of the Collection. Format: `projects/{project\}/locations/{location\}/collections/{collection_id\}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. */ name?: string; + /** + * Optional. The list of fields to be updated. + */ + updateMask?: string; /** * Request body metadata */ - requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaAclConfig; + requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaCollection; } + export interface Params$Resource$Projects$Locations$Collections$Updatedataconnector + extends StandardParameters { + /** + * Output only. The full resource name of the Data Connector. Format: `projects/x/locations/x/collections/x/dataConnector`. + */ + name?: string; + /** + * Indicates which fields in the provided DataConnector to update. Supported field paths include: - refresh_interval - params - auto_run_disabled - action_config - destination_configs - blocking_reasons Note: Support for these fields may vary depending on the connector type. For example, not all connectors support `destination_configs`. If an unsupported or unknown field path is provided, the request will return an INVALID_ARGUMENT error. + */ + updateMask?: string; - export class Resource$Projects$Locations$Collections { - context: APIRequestContext; - dataConnector: Resource$Projects$Locations$Collections$Dataconnector; - dataStores: Resource$Projects$Locations$Collections$Datastores; - engines: Resource$Projects$Locations$Collections$Engines; - operations: Resource$Projects$Locations$Collections$Operations; - constructor(context: APIRequestContext) { - this.context = context; - this.dataConnector = - new Resource$Projects$Locations$Collections$Dataconnector(this.context); - this.dataStores = new Resource$Projects$Locations$Collections$Datastores( - this.context - ); - this.engines = new Resource$Projects$Locations$Collections$Engines( - this.context - ); - this.operations = new Resource$Projects$Locations$Collections$Operations( - this.context - ); - } + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaDataConnector; } export class Resource$Projects$Locations$Collections$Dataconnector { context: APIRequestContext; + connectorRuns: Resource$Projects$Locations$Collections$Dataconnector$Connectorruns; operations: Resource$Projects$Locations$Collections$Dataconnector$Operations; constructor(context: APIRequestContext) { this.context = context; + this.connectorRuns = + new Resource$Projects$Locations$Collections$Dataconnector$Connectorruns( + this.context + ); this.operations = new Resource$Projects$Locations$Collections$Dataconnector$Operations( this.context ); } + + /** + * Starts an immediate synchronization process for a DataConnector. Third Party Connector Users must specify which entities should be synced. FHIR Connectors must provide a timestamp to indicate the point in time from which data should be synced. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + startConnectorRun( + params: Params$Resource$Projects$Locations$Collections$Dataconnector$Startconnectorrun, + options: StreamMethodOptions + ): GaxiosPromise; + startConnectorRun( + params?: Params$Resource$Projects$Locations$Collections$Dataconnector$Startconnectorrun, + options?: MethodOptions + ): GaxiosPromise; + startConnectorRun( + params: Params$Resource$Projects$Locations$Collections$Dataconnector$Startconnectorrun, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + startConnectorRun( + params: Params$Resource$Projects$Locations$Collections$Dataconnector$Startconnectorrun, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + startConnectorRun( + params: Params$Resource$Projects$Locations$Collections$Dataconnector$Startconnectorrun, + callback: BodyResponseCallback + ): void; + startConnectorRun( + callback: BodyResponseCallback + ): void; + startConnectorRun( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Dataconnector$Startconnectorrun + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Dataconnector$Startconnectorrun; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Dataconnector$Startconnectorrun; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+parent}:startConnectorRun').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Collections$Dataconnector$Startconnectorrun + extends StandardParameters { + /** + * Required. Connector name of the form projects/{project\}/locations/{location\}/collections/ {collection_id\}/dataConnector + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaStartConnectorRunRequest; + } + + export class Resource$Projects$Locations$Collections$Dataconnector$Connectorruns { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Lists the ConnectorRuns of a DataConnector. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Collections$Dataconnector$Connectorruns$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Collections$Dataconnector$Connectorruns$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Collections$Dataconnector$Connectorruns$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Collections$Dataconnector$Connectorruns$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Collections$Dataconnector$Connectorruns$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Dataconnector$Connectorruns$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Dataconnector$Connectorruns$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Dataconnector$Connectorruns$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+parent}/connectorRuns').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Collections$Dataconnector$Connectorruns$List + extends StandardParameters { + /** + * Requested page size. Server may return fewer items than requested. If unspecified, defaults to 10. The maximum value is 50; values above 50 will be coerced to 50. If this field is negative, an INVALID_ARGUMENT error is returned. + */ + pageSize?: number; + /** + * A page token, received from a previous `ListConnectorRuns` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListConnectorRuns` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent DataConnector resource name, such as `projects/{project\}/locations/{location\}/collections/{collection_id\}/dataConnector`. If the caller does not have permission to list ConnectorRuns under this DataConnector, regardless of whether or not this DataConnector exists, a PERMISSION_DENIED error is returned. + */ + parent?: string; } export class Resource$Projects$Locations$Collections$Dataconnector$Operations { @@ -9930,6 +14057,7 @@ export namespace discoveryengine_v1alpha { export class Resource$Projects$Locations$Collections$Datastores { context: APIRequestContext; branches: Resource$Projects$Locations$Collections$Datastores$Branches; + completionConfig: Resource$Projects$Locations$Collections$Datastores$Completionconfig; completionSuggestions: Resource$Projects$Locations$Collections$Datastores$Completionsuggestions; controls: Resource$Projects$Locations$Collections$Datastores$Controls; conversations: Resource$Projects$Locations$Collections$Datastores$Conversations; @@ -9948,6 +14076,10 @@ export namespace discoveryengine_v1alpha { new Resource$Projects$Locations$Collections$Datastores$Branches( this.context ); + this.completionConfig = + new Resource$Projects$Locations$Collections$Datastores$Completionconfig( + this.context + ); this.completionSuggestions = new Resource$Projects$Locations$Collections$Datastores$Completionsuggestions( this.context @@ -10990,6 +15122,10 @@ export namespace discoveryengine_v1alpha { } export interface Params$Resource$Projects$Locations$Collections$Datastores$Create extends StandardParameters { + /** + * Resource name of the CmekConfig to use for protecting this DataStore. + */ + cmekConfigName?: string; /** * A boolean flag indicating whether user want to directly create an advanced data store for site search. If the data store is not configured as site search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will be ignored. */ @@ -10998,6 +15134,10 @@ export namespace discoveryengine_v1alpha { * Required. The ID to use for the DataStore, which will become the final component of the DataStore's resource name. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an INVALID_ARGUMENT error is returned. */ dataStoreId?: string; + /** + * DataStore without CMEK protections. If a default CmekConfig is set for the project, setting this field will override the default CmekConfig as well. + */ + disableCmek?: boolean; /** * Required. The parent resource name, such as `projects/{project\}/locations/{location\}/collections/{collection\}`. */ @@ -12023,7 +16163,7 @@ export namespace discoveryengine_v1alpha { export interface Params$Resource$Projects$Locations$Collections$Datastores$Branches$Documents$Create extends StandardParameters { /** - * Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. + * Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. */ documentId?: string; /** @@ -12357,7 +16497,7 @@ export namespace discoveryengine_v1alpha { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -12682,6 +16822,124 @@ export namespace discoveryengine_v1alpha { pageToken?: string; } + export class Resource$Projects$Locations$Collections$Datastores$Completionconfig { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Completes the user input with advanced keyword suggestions. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + completeQuery( + params: Params$Resource$Projects$Locations$Collections$Datastores$Completionconfig$Completequery, + options: StreamMethodOptions + ): GaxiosPromise; + completeQuery( + params?: Params$Resource$Projects$Locations$Collections$Datastores$Completionconfig$Completequery, + options?: MethodOptions + ): GaxiosPromise; + completeQuery( + params: Params$Resource$Projects$Locations$Collections$Datastores$Completionconfig$Completequery, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + completeQuery( + params: Params$Resource$Projects$Locations$Collections$Datastores$Completionconfig$Completequery, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + completeQuery( + params: Params$Resource$Projects$Locations$Collections$Datastores$Completionconfig$Completequery, + callback: BodyResponseCallback + ): void; + completeQuery( + callback: BodyResponseCallback + ): void; + completeQuery( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Datastores$Completionconfig$Completequery + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Datastores$Completionconfig$Completequery; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Datastores$Completionconfig$Completequery; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1alpha/{+completionConfig}:completeQuery' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['completionConfig'], + pathParams: ['completionConfig'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Collections$Datastores$Completionconfig$Completequery + extends StandardParameters { + /** + * Required. The completion_config of the parent dataStore or engine resource name for which the completion is performed, such as `projects/x/locations/global/collections/default_collection/dataStores/x/completionConfig` `projects/x/locations/global/collections/default_collection/engines/x/completionConfig`. + */ + completionConfig?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequest; + } + export class Resource$Projects$Locations$Collections$Datastores$Completionsuggestions { context: APIRequestContext; constructor(context: APIRequestContext) { @@ -16077,6 +20335,204 @@ export namespace discoveryengine_v1alpha { ); } } + + /** + * Performs a search. Similar to the SearchService.Search method, but a lite version that allows API key for authentication, where OAuth and IAM checks are not required. Only public website search is supported by this method. If data stores and engines not associated with public website search are specified, a `FAILED_PRECONDITION` error is returned. This method can be used for easy onboarding without having to implement an authentication backend. However, it is strongly recommended to use SearchService.Search instead with required OAuth and IAM checks to provide better data security. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + searchLite( + params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Searchlite, + options: StreamMethodOptions + ): GaxiosPromise; + searchLite( + params?: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Searchlite, + options?: MethodOptions + ): GaxiosPromise; + searchLite( + params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Searchlite, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + searchLite( + params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Searchlite, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + searchLite( + params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Searchlite, + callback: BodyResponseCallback + ): void; + searchLite( + callback: BodyResponseCallback + ): void; + searchLite( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Searchlite + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Searchlite; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Searchlite; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+servingConfig}:searchLite').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['servingConfig'], + pathParams: ['servingConfig'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Answer query method (streaming). It takes one AnswerQueryRequest and returns multiple AnswerQueryResponse messages in a stream. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + streamAnswer( + params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer, + options: StreamMethodOptions + ): GaxiosPromise; + streamAnswer( + params?: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer, + options?: MethodOptions + ): GaxiosPromise; + streamAnswer( + params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + streamAnswer( + params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + streamAnswer( + params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer, + callback: BodyResponseCallback + ): void; + streamAnswer( + callback: BodyResponseCallback + ): void; + streamAnswer( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+servingConfig}:streamAnswer').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['servingConfig'], + pathParams: ['servingConfig'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } } export interface Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Answer @@ -16153,6 +20609,30 @@ export namespace discoveryengine_v1alpha { */ requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaSearchRequest; } + export interface Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Searchlite + extends StandardParameters { + /** + * Required. The resource name of the Search serving config, such as `projects/x/locations/global/collections/default_collection/engines/x/servingConfigs/default_serving_config`, or `projects/x/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search. + */ + servingConfig?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaSearchRequest; + } + export interface Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer + extends StandardParameters { + /** + * Required. The resource name of the Search serving config, such as `projects/x/locations/global/collections/default_collection/engines/x/servingConfigs/default_serving_config`, or `projects/x/locations/global/collections/default_collection/dataStores/x/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search. + */ + servingConfig?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaAnswerQueryRequest; + } export class Resource$Projects$Locations$Collections$Datastores$Sessions { context: APIRequestContext; @@ -16667,6 +21147,10 @@ export namespace discoveryengine_v1alpha { } export interface Params$Resource$Projects$Locations$Collections$Datastores$Sessions$Get extends StandardParameters { + /** + * Optional. If set to true, the full session including all answer details will be returned. + */ + includeAnswerDetails?: boolean; /** * Required. The resource name of the Session to get. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store_id\}/sessions/{session_id\}` */ @@ -16679,7 +21163,7 @@ export namespace discoveryengine_v1alpha { */ filter?: string; /** - * A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` Example: "update_time desc" "create_time" + * A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * "update_time desc" * "create_time" * "is_pinned desc,update_time desc": list sessions by is_pinned first, then by update_time. */ orderBy?: string; /** @@ -16826,6 +21310,7 @@ export namespace discoveryengine_v1alpha { export class Resource$Projects$Locations$Collections$Datastores$Sitesearchengine { context: APIRequestContext; operations: Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Operations; + sitemaps: Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps; targetSites: Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites; constructor(context: APIRequestContext) { this.context = context; @@ -16833,6 +21318,10 @@ export namespace discoveryengine_v1alpha { new Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Operations( this.context ); + this.sitemaps = + new Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps( + this.context + ); this.targetSites = new Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites( this.context @@ -17828,6 +22317,224 @@ export namespace discoveryengine_v1alpha { pageToken?: string; } + export class Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a Sitemap. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+parent}/sitemaps').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a Sitemap. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Delete, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Delete, + callback: BodyResponseCallback + ): void; + delete( + callback: BodyResponseCallback + ): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Create + extends StandardParameters { + /** + * Required. Parent resource name of the SiteSearchEngine, such as `projects/x/locations/x/collections/x/dataStores/x/siteSearchEngine`. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaSitemap; + } + export interface Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Delete + extends StandardParameters { + /** + * Required. Full resource name of Sitemap, such as `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}/siteSearchEngine/sitemaps/{sitemap\}`. If the caller does not have permission to access the Sitemap, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested Sitemap does not exist, a NOT_FOUND error is returned. + */ + name?: string; + } + export class Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites { context: APIRequestContext; operations: Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Operations; @@ -19333,7 +24040,7 @@ export namespace discoveryengine_v1alpha { */ ets?: string; /** - * Required. The parent DataStore resource name, such as `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}`. + * Required. The parent resource name. If the collect user event action is applied in DataStore level, the format is: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}`. If the collect user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project\}/locations/{location\}`. */ parent?: string; /** @@ -19388,6 +24095,7 @@ export namespace discoveryengine_v1alpha { export class Resource$Projects$Locations$Collections$Engines { context: APIRequestContext; + completionConfig: Resource$Projects$Locations$Collections$Engines$Completionconfig; controls: Resource$Projects$Locations$Collections$Engines$Controls; conversations: Resource$Projects$Locations$Collections$Engines$Conversations; operations: Resource$Projects$Locations$Collections$Engines$Operations; @@ -19395,6 +24103,10 @@ export namespace discoveryengine_v1alpha { sessions: Resource$Projects$Locations$Collections$Engines$Sessions; constructor(context: APIRequestContext) { this.context = context; + this.completionConfig = + new Resource$Projects$Locations$Collections$Engines$Completionconfig( + this.context + ); this.controls = new Resource$Projects$Locations$Collections$Engines$Controls( this.context @@ -20297,6 +25009,124 @@ export namespace discoveryengine_v1alpha { requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaTuneEngineRequest; } + export class Resource$Projects$Locations$Collections$Engines$Completionconfig { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Completes the user input with advanced keyword suggestions. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + completeQuery( + params: Params$Resource$Projects$Locations$Collections$Engines$Completionconfig$Completequery, + options: StreamMethodOptions + ): GaxiosPromise; + completeQuery( + params?: Params$Resource$Projects$Locations$Collections$Engines$Completionconfig$Completequery, + options?: MethodOptions + ): GaxiosPromise; + completeQuery( + params: Params$Resource$Projects$Locations$Collections$Engines$Completionconfig$Completequery, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + completeQuery( + params: Params$Resource$Projects$Locations$Collections$Engines$Completionconfig$Completequery, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + completeQuery( + params: Params$Resource$Projects$Locations$Collections$Engines$Completionconfig$Completequery, + callback: BodyResponseCallback + ): void; + completeQuery( + callback: BodyResponseCallback + ): void; + completeQuery( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Engines$Completionconfig$Completequery + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Engines$Completionconfig$Completequery; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Engines$Completionconfig$Completequery; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1alpha/{+completionConfig}:completeQuery' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['completionConfig'], + pathParams: ['completionConfig'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Collections$Engines$Completionconfig$Completequery + extends StandardParameters { + /** + * Required. The completion_config of the parent dataStore or engine resource name for which the completion is performed, such as `projects/x/locations/global/collections/default_collection/dataStores/x/completionConfig` `projects/x/locations/global/collections/default_collection/engines/x/completionConfig`. + */ + completionConfig?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequest; + } + export class Resource$Projects$Locations$Collections$Engines$Controls { context: APIRequestContext; constructor(context: APIRequestContext) { @@ -22334,6 +27164,204 @@ export namespace discoveryengine_v1alpha { ); } } + + /** + * Performs a search. Similar to the SearchService.Search method, but a lite version that allows API key for authentication, where OAuth and IAM checks are not required. Only public website search is supported by this method. If data stores and engines not associated with public website search are specified, a `FAILED_PRECONDITION` error is returned. This method can be used for easy onboarding without having to implement an authentication backend. However, it is strongly recommended to use SearchService.Search instead with required OAuth and IAM checks to provide better data security. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + searchLite( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Searchlite, + options: StreamMethodOptions + ): GaxiosPromise; + searchLite( + params?: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Searchlite, + options?: MethodOptions + ): GaxiosPromise; + searchLite( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Searchlite, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + searchLite( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Searchlite, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + searchLite( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Searchlite, + callback: BodyResponseCallback + ): void; + searchLite( + callback: BodyResponseCallback + ): void; + searchLite( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Searchlite + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Searchlite; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Searchlite; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+servingConfig}:searchLite').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['servingConfig'], + pathParams: ['servingConfig'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Answer query method (streaming). It takes one AnswerQueryRequest and returns multiple AnswerQueryResponse messages in a stream. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + streamAnswer( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer, + options: StreamMethodOptions + ): GaxiosPromise; + streamAnswer( + params?: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer, + options?: MethodOptions + ): GaxiosPromise; + streamAnswer( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + streamAnswer( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + streamAnswer( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer, + callback: BodyResponseCallback + ): void; + streamAnswer( + callback: BodyResponseCallback + ): void; + streamAnswer( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+servingConfig}:streamAnswer').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['servingConfig'], + pathParams: ['servingConfig'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } } export interface Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Answer @@ -22410,6 +27438,30 @@ export namespace discoveryengine_v1alpha { */ requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaSearchRequest; } + export interface Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Searchlite + extends StandardParameters { + /** + * Required. The resource name of the Search serving config, such as `projects/x/locations/global/collections/default_collection/engines/x/servingConfigs/default_serving_config`, or `projects/x/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search. + */ + servingConfig?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaSearchRequest; + } + export interface Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer + extends StandardParameters { + /** + * Required. The resource name of the Search serving config, such as `projects/x/locations/global/collections/default_collection/engines/x/servingConfigs/default_serving_config`, or `projects/x/locations/global/collections/default_collection/dataStores/x/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search. + */ + servingConfig?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaAnswerQueryRequest; + } export class Resource$Projects$Locations$Collections$Engines$Sessions { context: APIRequestContext; @@ -22924,6 +27976,10 @@ export namespace discoveryengine_v1alpha { } export interface Params$Resource$Projects$Locations$Collections$Engines$Sessions$Get extends StandardParameters { + /** + * Optional. If set to true, the full session including all answer details will be returned. + */ + includeAnswerDetails?: boolean; /** * Required. The resource name of the Session to get. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store_id\}/sessions/{session_id\}` */ @@ -22936,7 +27992,7 @@ export namespace discoveryengine_v1alpha { */ filter?: string; /** - * A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` Example: "update_time desc" "create_time" + * A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * "update_time desc" * "create_time" * "is_pinned desc,update_time desc": list sessions by is_pinned first, then by update_time. */ orderBy?: string; /** @@ -23310,6 +28366,7 @@ export namespace discoveryengine_v1alpha { export class Resource$Projects$Locations$Datastores { context: APIRequestContext; branches: Resource$Projects$Locations$Datastores$Branches; + completionConfig: Resource$Projects$Locations$Datastores$Completionconfig; completionSuggestions: Resource$Projects$Locations$Datastores$Completionsuggestions; controls: Resource$Projects$Locations$Datastores$Controls; conversations: Resource$Projects$Locations$Datastores$Conversations; @@ -23326,6 +28383,10 @@ export namespace discoveryengine_v1alpha { this.branches = new Resource$Projects$Locations$Datastores$Branches( this.context ); + this.completionConfig = + new Resource$Projects$Locations$Datastores$Completionconfig( + this.context + ); this.completionSuggestions = new Resource$Projects$Locations$Datastores$Completionsuggestions( this.context @@ -24252,6 +29313,10 @@ export namespace discoveryengine_v1alpha { } export interface Params$Resource$Projects$Locations$Datastores$Create extends StandardParameters { + /** + * Resource name of the CmekConfig to use for protecting this DataStore. + */ + cmekConfigName?: string; /** * A boolean flag indicating whether user want to directly create an advanced data store for site search. If the data store is not configured as site search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will be ignored. */ @@ -24260,6 +29325,10 @@ export namespace discoveryengine_v1alpha { * Required. The ID to use for the DataStore, which will become the final component of the DataStore's resource name. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an INVALID_ARGUMENT error is returned. */ dataStoreId?: string; + /** + * DataStore without CMEK protections. If a default CmekConfig is set for the project, setting this field will override the default CmekConfig as well. + */ + disableCmek?: boolean; /** * Required. The parent resource name, such as `projects/{project\}/locations/{location\}/collections/{collection\}`. */ @@ -25273,7 +30342,7 @@ export namespace discoveryengine_v1alpha { export interface Params$Resource$Projects$Locations$Datastores$Branches$Documents$Create extends StandardParameters { /** - * Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. + * Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. */ documentId?: string; /** @@ -25607,7 +30676,7 @@ export namespace discoveryengine_v1alpha { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -25932,6 +31001,124 @@ export namespace discoveryengine_v1alpha { pageToken?: string; } + export class Resource$Projects$Locations$Datastores$Completionconfig { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Completes the user input with advanced keyword suggestions. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + completeQuery( + params: Params$Resource$Projects$Locations$Datastores$Completionconfig$Completequery, + options: StreamMethodOptions + ): GaxiosPromise; + completeQuery( + params?: Params$Resource$Projects$Locations$Datastores$Completionconfig$Completequery, + options?: MethodOptions + ): GaxiosPromise; + completeQuery( + params: Params$Resource$Projects$Locations$Datastores$Completionconfig$Completequery, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + completeQuery( + params: Params$Resource$Projects$Locations$Datastores$Completionconfig$Completequery, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + completeQuery( + params: Params$Resource$Projects$Locations$Datastores$Completionconfig$Completequery, + callback: BodyResponseCallback + ): void; + completeQuery( + callback: BodyResponseCallback + ): void; + completeQuery( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datastores$Completionconfig$Completequery + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datastores$Completionconfig$Completequery; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Datastores$Completionconfig$Completequery; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1alpha/{+completionConfig}:completeQuery' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['completionConfig'], + pathParams: ['completionConfig'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Datastores$Completionconfig$Completequery + extends StandardParameters { + /** + * Required. The completion_config of the parent dataStore or engine resource name for which the completion is performed, such as `projects/x/locations/global/collections/default_collection/dataStores/x/completionConfig` `projects/x/locations/global/collections/default_collection/engines/x/completionConfig`. + */ + completionConfig?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaAdvancedCompleteQueryRequest; + } + export class Resource$Projects$Locations$Datastores$Completionsuggestions { context: APIRequestContext; constructor(context: APIRequestContext) { @@ -28981,6 +34168,204 @@ export namespace discoveryengine_v1alpha { ); } } + + /** + * Performs a search. Similar to the SearchService.Search method, but a lite version that allows API key for authentication, where OAuth and IAM checks are not required. Only public website search is supported by this method. If data stores and engines not associated with public website search are specified, a `FAILED_PRECONDITION` error is returned. This method can be used for easy onboarding without having to implement an authentication backend. However, it is strongly recommended to use SearchService.Search instead with required OAuth and IAM checks to provide better data security. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + searchLite( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Searchlite, + options: StreamMethodOptions + ): GaxiosPromise; + searchLite( + params?: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Searchlite, + options?: MethodOptions + ): GaxiosPromise; + searchLite( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Searchlite, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + searchLite( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Searchlite, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + searchLite( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Searchlite, + callback: BodyResponseCallback + ): void; + searchLite( + callback: BodyResponseCallback + ): void; + searchLite( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datastores$Servingconfigs$Searchlite + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datastores$Servingconfigs$Searchlite; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Datastores$Servingconfigs$Searchlite; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+servingConfig}:searchLite').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['servingConfig'], + pathParams: ['servingConfig'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Answer query method (streaming). It takes one AnswerQueryRequest and returns multiple AnswerQueryResponse messages in a stream. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + streamAnswer( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer, + options: StreamMethodOptions + ): GaxiosPromise; + streamAnswer( + params?: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer, + options?: MethodOptions + ): GaxiosPromise; + streamAnswer( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + streamAnswer( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + streamAnswer( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer, + callback: BodyResponseCallback + ): void; + streamAnswer( + callback: BodyResponseCallback + ): void; + streamAnswer( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+servingConfig}:streamAnswer').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['servingConfig'], + pathParams: ['servingConfig'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } } export interface Params$Resource$Projects$Locations$Datastores$Servingconfigs$Answer @@ -29057,6 +34442,30 @@ export namespace discoveryengine_v1alpha { */ requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaSearchRequest; } + export interface Params$Resource$Projects$Locations$Datastores$Servingconfigs$Searchlite + extends StandardParameters { + /** + * Required. The resource name of the Search serving config, such as `projects/x/locations/global/collections/default_collection/engines/x/servingConfigs/default_serving_config`, or `projects/x/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search. + */ + servingConfig?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaSearchRequest; + } + export interface Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer + extends StandardParameters { + /** + * Required. The resource name of the Search serving config, such as `projects/x/locations/global/collections/default_collection/engines/x/servingConfigs/default_serving_config`, or `projects/x/locations/global/collections/default_collection/dataStores/x/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search. + */ + servingConfig?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaAnswerQueryRequest; + } export class Resource$Projects$Locations$Datastores$Sessions { context: APIRequestContext; @@ -29571,6 +34980,10 @@ export namespace discoveryengine_v1alpha { } export interface Params$Resource$Projects$Locations$Datastores$Sessions$Get extends StandardParameters { + /** + * Optional. If set to true, the full session including all answer details will be returned. + */ + includeAnswerDetails?: boolean; /** * Required. The resource name of the Session to get. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store_id\}/sessions/{session_id\}` */ @@ -29583,7 +34996,7 @@ export namespace discoveryengine_v1alpha { */ filter?: string; /** - * A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` Example: "update_time desc" "create_time" + * A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * "update_time desc" * "create_time" * "is_pinned desc,update_time desc": list sessions by is_pinned first, then by update_time. */ orderBy?: string; /** @@ -29729,9 +35142,14 @@ export namespace discoveryengine_v1alpha { export class Resource$Projects$Locations$Datastores$Sitesearchengine { context: APIRequestContext; + sitemaps: Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps; targetSites: Resource$Projects$Locations$Datastores$Sitesearchengine$Targetsites; constructor(context: APIRequestContext) { this.context = context; + this.sitemaps = + new Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps( + this.context + ); this.targetSites = new Resource$Projects$Locations$Datastores$Sitesearchengine$Targetsites( this.context @@ -30065,6 +35483,334 @@ export namespace discoveryengine_v1alpha { requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaRecrawlUrisRequest; } + export class Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a Sitemap. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+parent}/sitemaps').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a Sitemap. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Delete, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Delete, + callback: BodyResponseCallback + ): void; + delete( + callback: BodyResponseCallback + ): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Fetch Sitemaps in a DataStore. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + fetch( + params: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Fetch, + options: StreamMethodOptions + ): GaxiosPromise; + fetch( + params?: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Fetch, + options?: MethodOptions + ): GaxiosPromise; + fetch( + params: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Fetch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetch( + params: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Fetch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetch( + params: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Fetch, + callback: BodyResponseCallback + ): void; + fetch( + callback: BodyResponseCallback + ): void; + fetch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Fetch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Fetch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Fetch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+parent}/sitemaps:fetch').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Create + extends StandardParameters { + /** + * Required. Parent resource name of the SiteSearchEngine, such as `projects/x/locations/x/collections/x/dataStores/x/siteSearchEngine`. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaSitemap; + } + export interface Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Delete + extends StandardParameters { + /** + * Required. Full resource name of Sitemap, such as `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}/siteSearchEngine/sitemaps/{sitemap\}`. If the caller does not have permission to access the Sitemap, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested Sitemap does not exist, a NOT_FOUND error is returned. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Fetch + extends StandardParameters { + /** + * The Sitemap uris. + */ + 'matcher.urisMatcher.uris'?: string[]; + /** + * Required. Parent resource name of the SiteSearchEngine, such as `projects/x/locations/x/collections/x/dataStores/x/siteSearchEngine`. + */ + parent?: string; + } + export class Resource$Projects$Locations$Datastores$Sitesearchengine$Targetsites { context: APIRequestContext; constructor(context: APIRequestContext) { @@ -31338,7 +37084,7 @@ export namespace discoveryengine_v1alpha { */ ets?: string; /** - * Required. The parent DataStore resource name, such as `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}`. + * Required. The parent resource name. If the collect user event action is applied in DataStore level, the format is: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}`. If the collect user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project\}/locations/{location\}`. */ parent?: string; /** @@ -31827,11 +37573,11 @@ export namespace discoveryengine_v1alpha { export interface Params$Resource$Projects$Locations$Evaluations$Listresults extends StandardParameters { /** - * Required. The evaluation resource name, such as `projects/{project\}/locations/{location\}/evaluations/{evaluation\}`. If the caller does not have permission to list EvaluationResult under this evaluation, regardless of whether or not this evaluation set exists, a `PERMISSION_DENIED` error is returned. + * Required. The evaluation resource name, such as `projects/{project\}/locations/{location\}/evaluations/{evaluation\}`. If the caller does not have permission to list ListEvaluationResultsResponse.EvaluationResult under this evaluation, regardless of whether or not this evaluation set exists, a `PERMISSION_DENIED` error is returned. */ evaluation?: string; /** - * Maximum number of EvaluationResult to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned. + * Maximum number of ListEvaluationResultsResponse.EvaluationResult to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned. */ pageSize?: number; /** @@ -34189,6 +39935,102 @@ export namespace discoveryengine_v1alpha { } } + /** + * Bulk import of user events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata is of type ImportMetadata. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + import( + params: Params$Resource$Projects$Locations$Userevents$Import, + options: StreamMethodOptions + ): GaxiosPromise; + import( + params?: Params$Resource$Projects$Locations$Userevents$Import, + options?: MethodOptions + ): GaxiosPromise; + import( + params: Params$Resource$Projects$Locations$Userevents$Import, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + import( + params: Params$Resource$Projects$Locations$Userevents$Import, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + import( + params: Params$Resource$Projects$Locations$Userevents$Import, + callback: BodyResponseCallback + ): void; + import( + callback: BodyResponseCallback + ): void; + import( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Userevents$Import + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Userevents$Import; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Userevents$Import; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+parent}/userEvents:import').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Writes a single user event. * @@ -34295,7 +40137,7 @@ export namespace discoveryengine_v1alpha { */ ets?: string; /** - * Required. The parent DataStore resource name, such as `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}`. + * Required. The parent resource name. If the collect user event action is applied in DataStore level, the format is: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}`. If the collect user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project\}/locations/{location\}`. */ parent?: string; /** @@ -34307,6 +40149,18 @@ export namespace discoveryengine_v1alpha { */ userEvent?: string; } + export interface Params$Resource$Projects$Locations$Userevents$Import + extends StandardParameters { + /** + * Required. Parent DataStore resource name, of the form `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1alphaImportUserEventsRequest; + } export interface Params$Resource$Projects$Locations$Userevents$Write extends StandardParameters { /** diff --git a/src/apis/discoveryengine/v1beta.ts b/src/apis/discoveryengine/v1beta.ts index 3c06b423f4..bb718adaae 100644 --- a/src/apis/discoveryengine/v1beta.ts +++ b/src/apis/discoveryengine/v1beta.ts @@ -124,6 +124,129 @@ export namespace discoveryengine_v1beta { } } + /** + * `Distribution` contains summary statistics for a population of values. It optionally contains a histogram representing the distribution of those values across a set of buckets. The summary statistics are the count, mean, sum of the squared deviation from the mean, the minimum, and the maximum of the set of population of values. The histogram is based on a sequence of buckets and gives a count of values that fall into each bucket. The boundaries of the buckets are given either explicitly or by formulas for buckets of fixed or exponentially increasing widths. Although it is not forbidden, it is generally a bad idea to include non-finite values (infinities or NaNs) in the population of values, as this will render the `mean` and `sum_of_squared_deviation` fields meaningless. + */ + export interface Schema$GoogleApiDistribution { + /** + * The number of values in each bucket of the histogram, as described in `bucket_options`. If the distribution does not have a histogram, then omit this field. If there is a histogram, then the sum of the values in `bucket_counts` must equal the value in the `count` field of the distribution. If present, `bucket_counts` should contain N values, where N is the number of buckets specified in `bucket_options`. If you supply fewer than N values, the remaining values are assumed to be 0. The order of the values in `bucket_counts` follows the bucket numbering schemes described for the three bucket types. The first value must be the count for the underflow bucket (number 0). The next N-2 values are the counts for the finite buckets (number 1 through N-2). The N'th value in `bucket_counts` is the count for the overflow bucket (number N-1). + */ + bucketCounts?: string[] | null; + /** + * Defines the histogram bucket boundaries. If the distribution does not contain a histogram, then omit this field. + */ + bucketOptions?: Schema$GoogleApiDistributionBucketOptions; + /** + * The number of values in the population. Must be non-negative. This value must equal the sum of the values in `bucket_counts` if a histogram is provided. + */ + count?: string | null; + /** + * Must be in increasing order of `value` field. + */ + exemplars?: Schema$GoogleApiDistributionExemplar[]; + /** + * The arithmetic mean of the values in the population. If `count` is zero then this field must be zero. + */ + mean?: number | null; + /** + * If specified, contains the range of the population values. The field must not be present if the `count` is zero. + */ + range?: Schema$GoogleApiDistributionRange; + /** + * The sum of squared deviations from the mean of the values in the population. For values x_i this is: Sum[i=1..n]((x_i - mean)^2) Knuth, "The Art of Computer Programming", Vol. 2, page 232, 3rd edition describes Welford's method for accumulating this sum in one pass. If `count` is zero then this field must be zero. + */ + sumOfSquaredDeviation?: number | null; + } + /** + * `BucketOptions` describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. `BucketOptions` does not include the number of values in each bucket. A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i \> 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite. + */ + export interface Schema$GoogleApiDistributionBucketOptions { + /** + * The explicit buckets. + */ + explicitBuckets?: Schema$GoogleApiDistributionBucketOptionsExplicit; + /** + * The exponential buckets. + */ + exponentialBuckets?: Schema$GoogleApiDistributionBucketOptionsExponential; + /** + * The linear bucket. + */ + linearBuckets?: Schema$GoogleApiDistributionBucketOptionsLinear; + } + /** + * Specifies a set of buckets with arbitrary widths. There are `size(bounds) + 1` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 <= i < N-1): bounds[i] Lower bound (1 <= i < N); bounds[i - 1] The `bounds` field must contain at least one element. If `bounds` has only one element, then there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets. + */ + export interface Schema$GoogleApiDistributionBucketOptionsExplicit { + /** + * The values must be monotonically increasing. + */ + bounds?: number[] | null; + } + /** + * Specifies an exponential sequence of buckets that have a width that is proportional to the value of the lower bound. Each bucket represents a constant relative uncertainty on a specific value in the bucket. There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 <= i < N-1): scale * (growth_factor ^ i). Lower bound (1 <= i < N): scale * (growth_factor ^ (i - 1)). + */ + export interface Schema$GoogleApiDistributionBucketOptionsExponential { + /** + * Must be greater than 1. + */ + growthFactor?: number | null; + /** + * Must be greater than 0. + */ + numFiniteBuckets?: number | null; + /** + * Must be greater than 0. + */ + scale?: number | null; + } + /** + * Specifies a linear sequence of buckets that all have the same width (except overflow and underflow). Each bucket represents a constant absolute uncertainty on the specific value in the bucket. There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 <= i < N-1): offset + (width * i). Lower bound (1 <= i < N): offset + (width * (i - 1)). + */ + export interface Schema$GoogleApiDistributionBucketOptionsLinear { + /** + * Must be greater than 0. + */ + numFiniteBuckets?: number | null; + /** + * Lower bound of the first bucket. + */ + offset?: number | null; + /** + * Must be greater than 0. + */ + width?: number | null; + } + /** + * Exemplars are example points that may be used to annotate aggregated distribution values. They are metadata that gives information about a particular value added to a Distribution bucket, such as a trace ID that was active when a value was added. They may contain further information, such as a example values and timestamps, origin, etc. + */ + export interface Schema$GoogleApiDistributionExemplar { + /** + * Contextual information about the example value. Examples are: Trace: type.googleapis.com/google.monitoring.v3.SpanContext Literal string: type.googleapis.com/google.protobuf.StringValue Labels dropped during aggregation: type.googleapis.com/google.monitoring.v3.DroppedLabels There may be only a single attachment of any given message type in a single exemplar, and this is enforced by the system. + */ + attachments?: Array<{[key: string]: any}> | null; + /** + * The observation (sampling) time of the above value. + */ + timestamp?: string | null; + /** + * Value of the exemplar point. This value determines to which bucket the exemplar belongs. + */ + value?: number | null; + } + /** + * The range of the population values. + */ + export interface Schema$GoogleApiDistributionRange { + /** + * The maximum of the population values. + */ + max?: number | null; + /** + * The minimum of the population values. + */ + min?: number | null; + } /** * Message that represents an arbitrary HTTP body. It should only be used for payload formats that can't be represented as JSON, such as raw binary or an HTML page. This message can be used both in streaming and non-streaming API methods in the request as well as the response. It can be used as a top-level request field, which is convenient if one wants to extract parameters from either the URL or HTTP template into the request fields and also want access to the raw HTTP body. Example: message GetResourceRequest { // A unique request id. string request_id = 1; // The raw HTTP body is bound to this field. google.api.HttpBody http_body = 2; \} service ResourceService { rpc GetResource(GetResourceRequest) returns (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) returns (google.protobuf.Empty); \} Example with streaming methods: service CaldavService { rpc GetCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); rpc UpdateCalendar(stream google.api.HttpBody) returns (stream google.api.HttpBody); \} Use of this type only changes how the request and response bodies are handled, all other features will continue to work unchanged. */ @@ -141,6 +264,45 @@ export namespace discoveryengine_v1beta { */ extensions?: Array<{[key: string]: any}> | null; } + /** + * A specific metric, identified by specifying values for all of the labels of a `MetricDescriptor`. + */ + export interface Schema$GoogleApiMetric { + /** + * The set of label values that uniquely identify this metric. All labels listed in the `MetricDescriptor` must be assigned values. + */ + labels?: {[key: string]: string} | null; + /** + * An existing metric type, see google.api.MetricDescriptor. For example, `custom.googleapis.com/invoice/paid/amount`. + */ + type?: string | null; + } + /** + * An object representing a resource that can be used for monitoring, logging, billing, or other purposes. Examples include virtual machine instances, databases, and storage devices such as disks. The `type` field identifies a MonitoredResourceDescriptor object that describes the resource's schema. Information in the `labels` field identifies the actual resource and its attributes according to the schema. For example, a particular Compute Engine VM instance could be represented by the following object, because the MonitoredResourceDescriptor for `"gce_instance"` has labels `"project_id"`, `"instance_id"` and `"zone"`: { "type": "gce_instance", "labels": { "project_id": "my-project", "instance_id": "12345678901234", "zone": "us-central1-a" \}\} + */ + export interface Schema$GoogleApiMonitoredResource { + /** + * Required. Values for all of the labels listed in the associated monitored resource descriptor. For example, Compute Engine VM instances use the labels `"project_id"`, `"instance_id"`, and `"zone"`. + */ + labels?: {[key: string]: string} | null; + /** + * Required. The monitored resource type. This field must match the `type` field of a MonitoredResourceDescriptor object. For example, the type of a Compute Engine VM instance is `gce_instance`. Some descriptors include the service name in the type; for example, the type of a Datastream stream is `datastream.googleapis.com/Stream`. + */ + type?: string | null; + } + /** + * Auxiliary metadata for a MonitoredResource object. MonitoredResource objects contain the minimum set of information to uniquely identify a monitored resource instance. There is some other useful auxiliary metadata. Monitoring and Logging use an ingestion pipeline to extract metadata for cloud resources of all types, and store the metadata in this message. + */ + export interface Schema$GoogleApiMonitoredResourceMetadata { + /** + * Output only. Values for predefined system metadata labels. System labels are a kind of metadata extracted by Google, including "machine_image", "vpc", "subnet_id", "security_group", "name", etc. System label values can be only strings, Boolean values, or a list of strings. For example: { "name": "my-test-instance", "security_group": ["a", "b", "c"], "spot_instance": false \} + */ + systemLabels?: {[key: string]: any} | null; + /** + * Output only. A map of user-defined metadata labels. + */ + userLabels?: {[key: string]: string} | null; + } /** * A description of the context in which an error occurred. */ @@ -239,6 +401,19 @@ export namespace discoveryengine_v1beta { */ functionName?: string | null; } + /** + * Configuration data for advance site search. + */ + export interface Schema$GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig { + /** + * If set true, automatic refresh is disabled for the DataStore. + */ + disableAutomaticRefresh?: boolean | null; + /** + * If set true, initial indexing is disabled for the DataStore. + */ + disableInitialIndex?: boolean | null; + } /** * Access Control Configuration. */ @@ -252,6 +427,32 @@ export namespace discoveryengine_v1beta { */ name?: string | null; } + /** + * Informations to support actions on the connector. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaActionConfig { + /** + * Required. Params needed to support actions in the format of (Key, Value) pairs. Required parameters for sources that support OAUTH, i.e. `gmail`, `google_calendar`, `jira`, `workday`, `salesforce`, `confluence`: * Key: `client_id` * Value: type STRING. The client id for the service provider to identify your application. * Key: `client_secret` * Value:type STRING. The client secret generated by the application's authorization server. + */ + actionParams?: {[key: string]: any} | null; + /** + * Output only. The connector contains the necessary parameters and is configured to support actions. + */ + isActionConfigured?: boolean | null; + } + /** + * Configuration data for advance site search. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaAdvancedSiteSearchConfig { + /** + * If set true, automatic refresh is disabled for the DataStore. + */ + disableAutomaticRefresh?: boolean | null; + /** + * If set true, initial indexing is disabled for the DataStore. + */ + disableInitialIndex?: boolean | null; + } /** * Defines an answer. */ @@ -276,6 +477,14 @@ export namespace discoveryengine_v1beta { * Output only. Answer creation timestamp. */ createTime?: string | null; + /** + * A score in the range of [0, 1] describing how grounded the answer is by the reference chunks. + */ + groundingScore?: number | null; + /** + * Optional. Grounding supports. + */ + groundingSupports?: Schema$GoogleCloudDiscoveryengineV1alphaAnswerGroundingSupport[]; /** * Immutable. Fully qualified name `projects/{project\}/locations/global/collections/{collection\}/engines/{engine\}/sessions/x/answers/x` */ @@ -292,6 +501,10 @@ export namespace discoveryengine_v1beta { * Suggested related questions. */ relatedQuestions?: string[] | null; + /** + * Optional. Safety ratings. + */ + safetyRatings?: Schema$GoogleCloudDiscoveryengineV1alphaSafetyRating[]; /** * The state of the answer generation. */ @@ -327,6 +540,31 @@ export namespace discoveryengine_v1beta { */ referenceId?: string | null; } + /** + * Grounding support for a claim in `answer_text`. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaAnswerGroundingSupport { + /** + * Required. End of the claim, exclusive. + */ + endIndex?: string | null; + /** + * Indicates that this claim required grounding check. When the system decided this claim didn't require attribution/grounding check, this field is set to false. In that case, no grounding check was done for the claim and therefore `grounding_score`, `sources` is not returned. + */ + groundingCheckRequired?: boolean | null; + /** + * A score in the range of [0, 1] describing how grounded is a specific claim by the references. Higher value means that the claim is better supported by the reference chunks. + */ + groundingScore?: number | null; + /** + * Optional. Citation sources for the claim. + */ + sources?: Schema$GoogleCloudDiscoveryengineV1alphaAnswerCitationSource[]; + /** + * Required. Index indicates the start of the claim, measured in bytes (UTF-8 unicode). + */ + startIndex?: string | null; + } /** * Query understanding information. */ @@ -524,7 +762,7 @@ export namespace discoveryengine_v1beta { */ snippetInfo?: Schema$GoogleCloudDiscoveryengineV1alphaAnswerStepActionObservationSearchResultSnippetInfo[]; /** - * Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result. . + * Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result. */ structData?: {[key: string]: any} | null; /** @@ -597,6 +835,60 @@ export namespace discoveryengine_v1beta { */ targetSites?: Schema$GoogleCloudDiscoveryengineV1alphaTargetSite[]; } + /** + * Configurations used to enable CMEK data encryption with Cloud KMS keys. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaCmekConfig { + /** + * Output only. The default CmekConfig for the Customer. + */ + isDefault?: boolean | null; + /** + * Kms key resource name which will be used to encrypt resources `projects/{project\}/locations/{location\}/keyRings/{keyRing\}/cryptoKeys/{keyId\}`. + */ + kmsKey?: string | null; + /** + * Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion\}`. + */ + kmsKeyVersion?: string | null; + /** + * Output only. The timestamp of the last key rotation. + */ + lastRotationTimestampMicros?: string | null; + /** + * Required. Name of the CmekConfig, of the form `projects/{project\}/locations/{location\}/cmekConfig` or `projects/{project\}/locations/{location\}/cmekConfigs/{cmekConfig\}`. + */ + name?: string | null; + /** + * Optional. Single-regional CMEKs that are required for some VAIS features. + */ + singleRegionKeys?: Schema$GoogleCloudDiscoveryengineV1alphaSingleRegionKey[]; + /** + * Output only. State of the CmekConfig. + */ + state?: string | null; + } + /** + * Collection is a container for configuring resources and access to a set of DataStores. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaCollection { + /** + * Output only. Timestamp the Collection was created at. + */ + createTime?: string | null; + /** + * Output only. The data connector, if present, manages the connection for data stores in the Collection. To set up the connector, use DataConnectorService.SetUpDataConnector method, which creates a new Collection while setting up the DataConnector singleton resource. Setting up connector on an existing Collection is not supported. This output only field contains a subset of the DataConnector fields, including `name`, `data_source`, `entities.entity_name` and `entities.data_store`. To get more details about a data connector, use the DataConnectorService.GetDataConnector method. + */ + dataConnector?: Schema$GoogleCloudDiscoveryengineV1alphaDataConnector; + /** + * Required. The Collection display name. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. + */ + displayName?: string | null; + /** + * Immutable. The full resource name of the Collection. Format: `projects/{project\}/locations/{location\}/collections/{collection_id\}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. + */ + name?: string | null; + } /** * Defines circumstances to be checked before allowing a behavior */ @@ -606,7 +898,11 @@ export namespace discoveryengine_v1beta { */ activeTimeRange?: Schema$GoogleCloudDiscoveryengineV1alphaConditionTimeRange[]; /** - * Search only A list of terms to match the query on. Maximum of 10 query terms. + * Optional. Query regex to match the whole search query. Cannot be set when Condition.query_terms is set. This is currently supporting promotion use case. + */ + queryRegex?: string | null; + /** + * Search only A list of terms to match the query on. Cannot be set when Condition.query_regex is set. Maximum of 10 query terms. */ queryTerms?: Schema$GoogleCloudDiscoveryengineV1alphaConditionQueryTerm[]; } @@ -636,6 +932,92 @@ export namespace discoveryengine_v1beta { */ startTime?: string | null; } + /** + * A data sync run of DataConnector. After DataConnector is successfully initialized, data syncs are scheduled at DataConnector.refresh_interval. A ConnectorRun represents a data sync either in the past or onging that the moment. // + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaConnectorRun { + /** + * Output only. The time when the connector run ended. + */ + endTime?: string | null; + /** + * Output only. The details of the entities synced at the ConnectorRun. Each ConnectorRun consists of syncing one or more entities. + */ + entityRuns?: Schema$GoogleCloudDiscoveryengineV1alphaConnectorRunEntityRun[]; + /** + * Contains info about errors incurred during the sync. Only exist if running into an error state. Contains error code and error message. Use with the `state` field. + */ + errors?: Schema$GoogleRpcStatus[]; + /** + * Output only. The time when the connector run was most recently paused. + */ + latestPauseTime?: string | null; + /** + * Output only. The full resource name of the Connector Run. Format: `projects/x/locations/x/collections/x/dataConnector/connectorRuns/x`. The `connector_run_id` is system-generated. + */ + name?: string | null; + /** + * Output only. The time when the connector run started. + */ + startTime?: string | null; + /** + * Output only. The state of the sync run. + */ + state?: string | null; + /** + * Timestamp at which the connector run sync state was last updated. + */ + stateUpdateTime?: string | null; + /** + * Output only. The trigger for this ConnectorRun. + */ + trigger?: string | null; + } + /** + * Represents an entity that was synced in this ConnectorRun. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaConnectorRunEntityRun { + /** + * The name of the source entity. + */ + entityName?: string | null; + /** + * The total number of documents failed at sync at any stage (extraction, indexing, etc). + */ + errorRecordCount?: string | null; + /** + * The errors from the entity's sync run. Only exist if running into an error state. Contains error code and error message. + */ + errors?: Schema$GoogleRpcStatus[]; + /** + * The number of documents extracted from connector source, ready to be ingested to UCS. + */ + extractedRecordCount?: string | null; + /** + * The number of documents indexed. + */ + indexedRecordCount?: string | null; + /** + * The number of requests sent to 3p API. + */ + sourceApiRequestCount?: string | null; + /** + * The state of the entity's sync run. + */ + state?: string | null; + /** + * Timestamp at which the entity sync state was last updated. + */ + stateUpdateTime?: string | null; + /** + * The timestamp for either extracted_documents_count, indexed_documents_count and error_documents_count was last updated. + */ + statsUpdateTime?: string | null; + /** + * Sync type of this run. + */ + syncType?: string | null; + } /** * Defines a conditioned behavior to employ during serving. Must be attached to a ServingConfig to be considered at serving time. Permitted actions dependent on `SolutionType`. */ @@ -664,6 +1046,10 @@ export namespace discoveryengine_v1beta { * Immutable. Fully qualified name `projects/x/locations/global/dataStore/x/controls/x` */ name?: string | null; + /** + * Promote certain links based on predefined trigger queries. This now only supports basic site search. + */ + promoteAction?: Schema$GoogleCloudDiscoveryengineV1alphaControlPromoteAction; /** * Defines a redirect-type control. */ @@ -686,7 +1072,7 @@ export namespace discoveryengine_v1beta { */ export interface Schema$GoogleCloudDiscoveryengineV1alphaControlBoostAction { /** - * Required. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op). + * Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op). */ boost?: number | null; /** @@ -697,6 +1083,10 @@ export namespace discoveryengine_v1beta { * Required. Specifies which products to apply the boost to. If no filter is provided all products will be boosted (No-op). Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown. */ filter?: string | null; + /** + * Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op). + */ + fixedBoost?: number | null; } /** * Specified which products may be included in results. Uses same filter as boost. @@ -711,6 +1101,19 @@ export namespace discoveryengine_v1beta { */ filter?: string | null; } + /** + * Promote certain links based on some trigger queries. Example: Promote shoe store link when searching for `shoe` keyword. The link can be outside of associated data store. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaControlPromoteAction { + /** + * Required. Data store with which this promotion is attached to. + */ + dataStore?: string | null; + /** + * Required. Promotion attached to this action. + */ + searchLinkPromotion?: Schema$GoogleCloudDiscoveryengineV1alphaSearchLinkPromotion; + } /** * Redirects a shopper to the provided URI. */ @@ -729,6 +1132,15 @@ export namespace discoveryengine_v1beta { */ synonyms?: string[] | null; } + /** + * The historical crawl rate timeseries data, used for monitoring. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries { + /** + * The QPS of the crawl rate. + */ + qpsTimeSeries?: Schema$GoogleMonitoringV3TimeSeries; + } /** * Metadata related to the progress of the DataStoreService.CreateDataStore operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -772,6 +1184,19 @@ export namespace discoveryengine_v1beta { */ updateTime?: string | null; } + /** + * Metadata related to the progress of the SiteSearchEngineService.CreateSitemap operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaCreateSitemapMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } /** * Metadata related to the progress of the SiteSearchEngineService.CreateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -795,41 +1220,122 @@ export namespace discoveryengine_v1beta { enableSearchAdaptor?: boolean | null; } /** - * Metadata that describes a custom tuned model. + * Manages the connection to external data sources for all data stores grouped under a Collection. It's a singleton resource of Collection. The initialization is only supported through DataConnectorService.SetUpDataConnector method, which will create a new Collection and initialize its DataConnector. */ - export interface Schema$GoogleCloudDiscoveryengineV1alphaCustomTuningModel { + export interface Schema$GoogleCloudDiscoveryengineV1alphaDataConnector { /** - * Timestamp the Model was created at. + * Optional. Action configurations to make the connector support actions. + */ + actionConfig?: Schema$GoogleCloudDiscoveryengineV1alphaActionConfig; + /** + * Indicates whether the connector is disabled for auto run. It can be used to pause periodical and real time sync. + */ + autoRunDisabled?: boolean | null; + /** + * Output only. User actions that must be completed before the connector can start syncing data. + */ + blockingReasons?: string[] | null; + /** + * Output only. Timestamp the DataConnector was created at. */ createTime?: string | null; /** - * The display name of the model. + * Required. The name of the data source. Supported values: `salesforce`, `jira`, `confluence`, `bigquery`. */ - displayName?: string | null; + dataSource?: string | null; /** - * Currently this is only populated if the model state is `INPUT_VALIDATION_FAILED`. + * Optional. Any target destinations used to connect to third-party services. */ - errorMessage?: string | null; + destinationConfigs?: Schema$GoogleCloudDiscoveryengineV1alphaDestinationConfig[]; /** - * The metrics of the trained model. + * List of entities from the connected data source to ingest. */ - metrics?: {[key: string]: number} | null; + entities?: Schema$GoogleCloudDiscoveryengineV1alphaDataConnectorSourceEntity[]; /** - * The state that the model is in (e.g.`TRAINING` or `TRAINING_FAILED`). + * Output only. The errors from initialization or from the latest connector run. */ - modelState?: string | null; + errors?: Schema$GoogleRpcStatus[]; /** - * The version of the model. + * The refresh interval to sync the Access Control List information for the documents ingested by this connector. If not set, the access control list will be refreshed at the default interval of 30 minutes. The identity refresh interval can be at least 30 minutes and at most 7 days. */ - modelVersion?: string | null; + identityRefreshInterval?: string | null; /** - * Required. The fully qualified resource name of the model. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}/customTuningModels/{custom_tuning_model\}`. Model must be an alpha-numerical string with limit of 40 characters. + * The configuration for the identity data synchronization runs. This contains the refresh interval to sync the Access Control List information for the documents ingested by this connector. + */ + identityScheduleConfig?: Schema$GoogleCloudDiscoveryengineV1alphaIdentityScheduleConfig; + /** + * Input only. The KMS key to be used to protect the DataStores managed by this connector. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStores created by this connector will be protected by the KMS key. + */ + kmsKeyName?: string | null; + /** + * Output only. For periodic connectors only, the last time a data sync was completed. + */ + lastSyncTime?: string | null; + /** + * Output only. The most recent timestamp when this DataConnector was paused, affecting all functionalities such as data synchronization. Pausing a connector has the following effects: - All functionalities, including data synchronization, are halted. - Any ongoing data synchronization job will be canceled. - No future data synchronization runs will be scheduled nor can be triggered. + */ + latestPauseTime?: string | null; + /** + * Output only. The full resource name of the Data Connector. Format: `projects/x/locations/x/collections/x/dataConnector`. */ name?: string | null; /** - * Timestamp the model training was initiated. + * The UTC time when the next data sync is expected to start for the Data Connector. Customers are only able to specify the hour and minute to schedule the data sync. This is utilized when the data connector has a refresh interval greater than 1 day. */ - trainingStartTime?: string | null; + nextSyncTime?: Schema$GoogleTypeDateTime; + /** + * Required. Params needed to access the source in the format of (Key, Value) pairs. Required parameters for all data sources: * Key: `instance_uri` * Value: type STRING. The uri to access the data source. Required parameters for sources that support OAUTH, i.e. `salesforce`: * Key: `client_id` * Value: type STRING. The client id for the third party service provider to identify your application. * Key: `client_secret` * Value:type STRING. The client secret generated by the third party authorization server. * Key: `access_token` * Value: type STRING. OAuth token for UCS to access to the protected resource. * Key: `refresh_token` * Value: type STRING. OAuth refresh token for UCS to obtain a new access token without user interaction. Required parameters for sources that support basic API token auth, i.e. `jira`, `confluence`: * Key: `user_account` * Value: type STRING. The username or email with the source. * Key: `api_token` * Value: type STRING. The API token generated for the source account, that is used for authenticating anywhere where you would have used a password. Example: ```json { "instance_uri": "https://xxx.atlassian.net", "user_account": "xxxx.xxx@xxx.com", "api_token": "test-token" \} ``` Optional parameter to specify the authorization type to use for multiple authorization types support: * Key: `auth_type` * Value: type STRING. The authorization type for the data source. Supported values: `BASIC_AUTH`, `OAUTH`, `OAUTH_ACCESS_TOKEN`, `OAUTH_TWO_LEGGED`, `OAUTH_JWT_BEARER`, `OAUTH_PASSWORD_GRANT`, `JWT`, `API_TOKEN`, `FEDERATED_CREDENTIAL`. + */ + params?: {[key: string]: any} | null; + /** + * Output only. The tenant project ID associated with private connectivity connectors. This project must be allowlisted by in order for the connector to function. + */ + privateConnectivityProjectId?: string | null; + /** + * Required. The refresh interval for data sync. If duration is set to 0, the data will be synced in real time. The streaming feature is not supported yet. The minimum is 30 minutes and maximum is 7 days. + */ + refreshInterval?: string | null; + /** + * Output only. State of the connector. + */ + state?: string | null; + /** + * Output only. The static IP addresses used by this connector. + */ + staticIpAddresses?: string[] | null; + /** + * Optional. Whether customer has enabled static IP addresses for this connector. + */ + staticIpEnabled?: boolean | null; + /** + * The data synchronization mode supported by the data connector. + */ + syncMode?: string | null; + /** + * Output only. Timestamp the DataConnector was last updated. + */ + updateTime?: string | null; + } + /** + * Represents an entity in the data source. For example, the `Account` object in Salesforce. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDataConnectorSourceEntity { + /** + * Output only. The full resource name of the associated data store for the source entity. Format: `projects/x/locations/x/collections/x/dataStores/x`. When the connector is initialized by the DataConnectorService.SetUpDataConnector method, a DataStore is automatically created for each source entity. + */ + dataStore?: string | null; + /** + * The name of the entity. Supported values by data source: * Salesforce: `Lead`, `Opportunity`, `Contact`, `Account`, `Case`, `Contract`, `Campaign` * Jira: `Issue` * Confluence: `Content`, `Space` + */ + entityName?: string | null; + /** + * Attributes for indexing. Key: Field name. Value: The key property to map a field to, such as `title`, and `description`. Supported key properties: * `title`: The title for data record. This would be displayed on search results. * `description`: The description for data record. This would be displayed on search results. + */ + keyPropertyMappings?: {[key: string]: string} | null; + /** + * The parameters for the entity to facilitate data ingestion. E.g. for BQ connectors: * Key: `document_id_column` * Value: type STRING. The value of the column id. + */ + params?: {[key: string]: any} | null; } /** * DataStore captures global settings and configs at the DataStore level. @@ -839,10 +1345,18 @@ export namespace discoveryengine_v1beta { * Immutable. Whether data in the DataStore has ACL information. If set to `true`, the source data must have ACL. ACL will be ingested when data is ingested by DocumentService.ImportDocuments methods. When ACL is enabled for the DataStore, Document can't be accessed by calling DocumentService.GetDocument or DocumentService.ListDocuments. Currently ACL is only supported in `GENERIC` industry vertical with non-`PUBLIC_WEBSITE` content config. */ aclEnabled?: boolean | null; + /** + * Optional. Configuration for advanced site search. + */ + advancedSiteSearchConfig?: Schema$GoogleCloudDiscoveryengineV1alphaAdvancedSiteSearchConfig; /** * Output only. Data size estimation for billing. */ billingEstimation?: Schema$GoogleCloudDiscoveryengineV1alphaDataStoreBillingEstimation; + /** + * Output only. CMEK-related information for the DataStore. + */ + cmekConfig?: Schema$GoogleCloudDiscoveryengineV1alphaCmekConfig; /** * Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT. */ @@ -871,6 +1385,14 @@ export namespace discoveryengine_v1beta { * Immutable. The industry vertical that the data store registers. */ industryVertical?: string | null; + /** + * Optional. If set, this DataStore is an Infobot FAQ DataStore. + */ + isInfobotFaqDataStore?: boolean | null; + /** + * Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field. + */ + kmsKeyName?: string | null; /** * Language info for DataStore. */ @@ -886,7 +1408,7 @@ export namespace discoveryengine_v1beta { /** * Optional. Stores serving config at DataStore level. */ - servingConfigDataStore?: Schema$GoogleCloudDiscoveryengineV1alphaServingConfigDataStore; + servingConfigDataStore?: Schema$GoogleCloudDiscoveryengineV1alphaDataStoreServingConfigDataStore; /** * The solutions that the data store enrolls. Available solutions for each industry_vertical: * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`. * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other solutions cannot be enrolled. */ @@ -929,6 +1451,41 @@ export namespace discoveryengine_v1beta { */ websiteDataUpdateTime?: string | null; } + /** + * Stores information regarding the serving configurations at DataStore level. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDataStoreServingConfigDataStore { + /** + * If set true, the DataStore will not be available for serving search requests. + */ + disabledForServing?: boolean | null; + } + /** + * The historical dedicated crawl rate timeseries data, used for monitoring. Dedicated crawl is used by Vertex AI to crawl the user's website when dedicate crawl is set. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDedicatedCrawlRateTimeSeries { + /** + * Vertex AI's dedicated crawl rate time series of auto-refresh, which is the crawl rate of Google-CloudVertexBot when dedicate crawl is set, and the crawl rate is for best effort use cases like refreshing urls periodically. + */ + autoRefreshCrawlRate?: Schema$GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries; + /** + * Vertex AI's dedicated crawl rate time series of user triggered crawl, which is the crawl rate of Google-CloudVertexBot when dedicate crawl is set, and user triggered crawl rate is for deterministic use cases like crawling urls or sitemaps specified by users. + */ + userTriggeredCrawlRate?: Schema$GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries; + } + /** + * Metadata related to the progress of the CollectionService.UpdateCollection operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDeleteCollectionMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } /** * Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -955,6 +1512,19 @@ export namespace discoveryengine_v1beta { */ updateTime?: string | null; } + /** + * Metadata related to the progress of the IdentityMappingStoreService.DeleteIdentityMappingStore operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDeleteIdentityMappingStoreMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } /** * Metadata for DeleteSchema LRO. */ @@ -968,6 +1538,28 @@ export namespace discoveryengine_v1beta { */ updateTime?: string | null; } + /** + * Request for DeleteSession method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDeleteSessionRequest { + /** + * Required. The resource name of the Session to delete. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store_id\}/sessions/{session_id\}` + */ + name?: string | null; + } + /** + * Metadata related to the progress of the SiteSearchEngineService.DeleteSitemap operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDeleteSitemapMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } /** * Metadata related to the progress of the SiteSearchEngineService.DeleteTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -981,6 +1573,36 @@ export namespace discoveryengine_v1beta { */ updateTime?: string | null; } + /** + * Defines target endpoints used to connect to third-party sources. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDestinationConfig { + /** + * Optional. The destinations for the corresponding key. + */ + destinations?: Schema$GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination[]; + /** + * Optional. Unique destination identifier that is supported by the connector. + */ + key?: string | null; + /** + * Optional. Additional parameters for this destination config. + */ + params?: {[key: string]: any} | null; + } + /** + * Defines a target endpoint + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaDestinationConfigDestination { + /** + * Publicly routable host. + */ + host?: string | null; + /** + * Optional. Target port number accepted by the destination. + */ + port?: number | null; + } /** * Metadata related to the progress of the SiteSearchEngineService.DisableAdvancedSiteSearch operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -999,7 +1621,7 @@ export namespace discoveryengine_v1beta { */ export interface Schema$GoogleCloudDiscoveryengineV1alphaDisableAdvancedSiteSearchResponse {} /** - * A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config. + * A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaDocumentProcessingConfig { /** @@ -1133,7 +1755,7 @@ export namespace discoveryengine_v1beta { */ displayName?: string | null; /** - * The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to `GENERIC`. Vertical on Engine has to match vertical of the DataStore linked to the engine. + * The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine. */ industryVertical?: string | null; /** @@ -1370,6 +1992,24 @@ export namespace discoveryengine_v1beta { */ sampleQuerySet?: string | null; } + /** + * Response message for SiteSearchEngineService.FetchSitemaps method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponse { + /** + * List of Sitemaps fetched. + */ + sitemapsMetadata?: Schema$GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponseSitemapMetadata[]; + } + /** + * Contains a Sitemap and its metadata. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaFetchSitemapsResponseSitemapMetadata { + /** + * The Sitemap. + */ + sitemap?: Schema$GoogleCloudDiscoveryengineV1alphaSitemap; + } /** * Configurations for fields of a schema. For example, configuring a field is indexable, or searchable. */ @@ -1423,6 +2063,19 @@ export namespace discoveryengine_v1beta { */ searchableOption?: string | null; } + /** + * Request for GetSession method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaGetSessionRequest { + /** + * Optional. If set to true, the full session including all answer details will be returned. + */ + includeAnswerDetails?: boolean | null; + /** + * Required. The resource name of the Session to get. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store_id\}/sessions/{session_id\}` + */ + name?: string | null; + } /** * Response message for SiteSearchEngineService.GetUriPatternDocumentData method. */ @@ -1432,6 +2085,19 @@ export namespace discoveryengine_v1beta { */ documentDataMap?: {[key: string]: {[key: string]: any}} | null; } + /** + * The configuration for the identity data synchronization runs. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaIdentityScheduleConfig { + /** + * Optional. The UTC time when the next data sync is expected to start for the Data Connector. Customers are only able to specify the hour and minute to schedule the data sync. This is utilized when the data connector has a refresh interval greater than 1 day. + */ + nextSyncTime?: Schema$GoogleTypeDateTime; + /** + * Optional. The refresh interval to sync the Access Control List information for the documents ingested by this connector. If not set, the access control list will be refreshed at the default interval of 30 minutes. The identity refresh interval can be at least 30 minutes and at most 7 days. + */ + refreshInterval?: string | null; + } /** * Identity Provider Config. */ @@ -1688,13 +2354,42 @@ export namespace discoveryengine_v1beta { region?: string | null; } /** - * Response message for SearchTuningService.ListCustomModels method. + * Request for ListSessions method. */ - export interface Schema$GoogleCloudDiscoveryengineV1alphaListCustomModelsResponse { + export interface Schema$GoogleCloudDiscoveryengineV1alphaListSessionsRequest { /** - * List of custom tuning models. + * A filter to apply on the list results. The supported features are: user_pseudo_id, state. Example: "user_pseudo_id = some_id" */ - models?: Schema$GoogleCloudDiscoveryengineV1alphaCustomTuningModel[]; + filter?: string | null; + /** + * A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * "update_time desc" * "create_time" * "is_pinned desc,update_time desc": list sessions by is_pinned first, then by update_time. + */ + orderBy?: string | null; + /** + * Maximum number of results to return. If unspecified, defaults to 50. Max allowed value is 1000. + */ + pageSize?: number | null; + /** + * A page token, received from a previous `ListSessions` call. Provide this to retrieve the subsequent page. + */ + pageToken?: string | null; + /** + * Required. The data store resource name. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store_id\}` + */ + parent?: string | null; + } + /** + * Response for ListSessions method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaListSessionsResponse { + /** + * Pagination token, if not returned indicates the last page. + */ + nextPageToken?: string | null; + /** + * All the Sessions for a given data store. + */ + sessions?: Schema$GoogleCloudDiscoveryengineV1alphaSession[]; } /** * Configuration for Natural Language Query Understanding. @@ -1705,6 +2400,40 @@ export namespace discoveryengine_v1beta { */ mode?: string | null; } + /** + * Response message for CrawlRateManagementService.ObtainCrawlRate method. The response contains organcic or dedicated crawl rate time series data for monitoring, depending on whether dedicated crawl rate is set. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaObtainCrawlRateResponse { + /** + * The historical dedicated crawl rate timeseries data, used for monitoring. + */ + dedicatedCrawlRateTimeSeries?: Schema$GoogleCloudDiscoveryengineV1alphaDedicatedCrawlRateTimeSeries; + /** + * Errors from service when handling the request. + */ + error?: Schema$GoogleRpcStatus; + /** + * The historical organic crawl rate timeseries data, used for monitoring. + */ + organicCrawlRateTimeSeries?: Schema$GoogleCloudDiscoveryengineV1alphaOrganicCrawlRateTimeSeries; + /** + * Output only. The state of the response. + */ + state?: string | null; + } + /** + * The historical organic crawl rate timeseries data, used for monitoring. Organic crawl is auto-determined by Google to crawl the user's website when dedicate crawl is not set. Crawl rate is the QPS of crawl request Google sends to the user's website. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaOrganicCrawlRateTimeSeries { + /** + * Google's organic crawl rate time series, which is the sum of all googlebots' crawl rate. Please refer to https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers for more details about googlebots. + */ + googleOrganicCrawlRate?: Schema$GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries; + /** + * Vertex AI's organic crawl rate time series, which is the crawl rate of Google-CloudVertexBot when dedicate crawl is not set. Please refer to https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers#google-cloudvertexbot for more details about Google-CloudVertexBot. + */ + vertexAiOrganicCrawlRate?: Schema$GoogleCloudDiscoveryengineV1alphaCrawlRateTimeSeries; + } /** * Metadata and configurations for a Google Cloud project in the service. */ @@ -1947,9 +2676,13 @@ export namespace discoveryengine_v1beta { */ createTime?: string | null; /** - * Unique URIs in the request that don't match any TargetSite in the DataStore, only match TargetSites that haven't been fully indexed, or match a TargetSite with type EXCLUDE. + * Unique URIs in the request that have invalid format. Sample limited to 1000. */ invalidUris?: string[] | null; + /** + * Total number of unique URIs in the request that have invalid format. + */ + invalidUrisCount?: number | null; /** * Total number of URIs that have yet to be crawled. */ @@ -1966,6 +2699,14 @@ export namespace discoveryengine_v1beta { * Operation last update time. If the operation is done, this is also the finish time. */ updateTime?: string | null; + /** + * Unique URIs in the request that don't match any TargetSite in the DataStore, only match TargetSites that haven't been fully indexed, or match a TargetSite with type EXCLUDE. Sample limited to 1000. + */ + urisNotMatchingTargetSites?: string[] | null; + /** + * Total number of URIs that don't match any TargetSites. + */ + urisNotMatchingTargetSitesCount?: number | null; /** * Total number of unique URIs in the request that are not in invalid_uris. */ @@ -2010,6 +2751,61 @@ export namespace discoveryengine_v1beta { */ errorMessage?: string | null; } + /** + * Metadata related to the progress of the CrawlRateManagementService.RemoveDedicatedCrawlRate operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } + /** + * Response message for CrawlRateManagementService.RemoveDedicatedCrawlRate method. It simply returns the state of the response, and an error message if the state is FAILED. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaRemoveDedicatedCrawlRateResponse { + /** + * Errors from service when handling the request. + */ + error?: Schema$GoogleRpcStatus; + /** + * Output only. The state of the response. + */ + state?: string | null; + } + /** + * Safety rating corresponding to the generated content. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSafetyRating { + /** + * Output only. Indicates whether the content was filtered out because of this rating. + */ + blocked?: boolean | null; + /** + * Output only. Harm category. + */ + category?: string | null; + /** + * Output only. Harm probability levels in the content. + */ + probability?: string | null; + /** + * Output only. Harm probability score. + */ + probabilityScore?: number | null; + /** + * Output only. Harm severity levels in the content. + */ + severity?: string | null; + /** + * Output only. Harm severity score. + */ + severityScore?: number | null; + } /** * Defines the structure and layout of a type of document data. */ @@ -2031,6 +2827,31 @@ export namespace discoveryengine_v1beta { */ structSchema?: {[key: string]: any} | null; } + /** + * Promotion proto includes uri and other helping information to display the promotion. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSearchLinkPromotion { + /** + * Optional. The Promotion description. Maximum length: 200 characters. + */ + description?: string | null; + /** + * Optional. The enabled promotion will be returned for any serving configs associated with the parent of the control this promotion is attached to. This flag is used for basic site search only. + */ + enabled?: boolean | null; + /** + * Optional. The promotion thumbnail image url. + */ + imageUri?: string | null; + /** + * Required. The title of the promotion. Maximum length: 160 characters. + */ + title?: string | null; + /** + * Required. The URL for the page the user wants to promote. + */ + uri?: string | null; + } /** * Request message for SearchService.Search method. */ @@ -2056,7 +2877,7 @@ export namespace discoveryengine_v1beta { */ customFineTuningSpec?: Schema$GoogleCloudDiscoveryengineV1alphaCustomFineTuningSpec; /** - * Specs defining dataStores to filter on in a search call and configurations for those dataStores. This is only considered for engines with multiple dataStores use case. For single dataStore within an engine, they should use the specs at the top level. + * Specs defining DataStores to filter on in a search call and configurations for those data stores. This is only considered for Engines with multiple data stores. For engines with a single data store, the specs directly under SearchRequest should be used. */ dataStoreSpecs?: Schema$GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec[]; /** @@ -2087,6 +2908,10 @@ export namespace discoveryengine_v1beta { * A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned. */ offset?: number | null; + /** + * The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default number is 10. + */ + oneBoxPageSize?: number | null; /** * The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering the website search results, see [Order web search results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results). For more information on ordering the healthcare search results, see [Order healthcare search results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results). If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. */ @@ -2371,6 +3196,10 @@ export namespace discoveryengine_v1beta { * A struct to define data stores to filter on in a search call and configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error is returned. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaSearchRequestDataStoreSpec { + /** + * Optional. Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results) + */ + boostSpec?: Schema$GoogleCloudDiscoveryengineV1alphaSearchRequestBoostSpec; /** * Required. Full resource name of DataStore, such as `projects/{project\}/locations/{location\}/collections/{collection_id\}/dataStores/{data_store_id\}`. */ @@ -2470,7 +3299,7 @@ export namespace discoveryengine_v1beta { */ export interface Schema$GoogleCloudDiscoveryengineV1alphaSearchRequestNaturalLanguageQueryUnderstandingSpec { /** - * The condition under which filter extraction should occur. Default to Condition.DISABLED. + * The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`. */ filterExtractionCondition?: string | null; /** @@ -2531,23 +3360,22 @@ export namespace discoveryengine_v1beta { */ mode?: string | null; } - /** - * Stores information regarding the serving configurations at DataStore level. - */ - export interface Schema$GoogleCloudDiscoveryengineV1alphaServingConfigDataStore { - /** - * If set true, the DataStore will not be available for serving search requests. - */ - disabledForServing?: boolean | null; - } /** * External session proto definition. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaSession { + /** + * Optional. The display name of the session. This field is used to identify the session in the UI. By default, the display name is the first turn query text in the session. + */ + displayName?: string | null; /** * Output only. The time the session finished. */ endTime?: string | null; + /** + * Optional. Whether the session is pinned, pinned session will be displayed on the top of the session list. + */ + isPinned?: boolean | null; /** * Immutable. Fully qualified name `projects/{project\}/locations/global/collections/{collection\}/engines/{engine\}/sessions/x` */ @@ -2577,11 +3405,45 @@ export namespace discoveryengine_v1beta { * The resource name of the answer to the user query. Only set if the answer generation (/answer API call) happened in this turn. */ answer?: string | null; + /** + * Output only. In ConversationalSearchService.GetSession API, if GetSessionRequest.include_answer_details is set to true, this field will be populated when getting answer query session. + */ + detailedAnswer?: Schema$GoogleCloudDiscoveryengineV1alphaAnswer; /** * The user query. */ query?: Schema$GoogleCloudDiscoveryengineV1alphaQuery; } + /** + * Metadata related to the progress of the CrawlRateManagementService.SetDedicatedCrawlRate operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } + /** + * Response message for CrawlRateManagementService.SetDedicatedCrawlRate method. It simply returns the state of the response, and an error message if the state is FAILED. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSetDedicatedCrawlRateResponse { + /** + * Errors from service when handling the request. + */ + error?: Schema$GoogleRpcStatus; + /** + * Output only. The state of the response. + */ + state?: string | null; + } + /** + * Metadata for DataConnectorService.SetUpDataConnector method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSetUpDataConnectorMetadata {} /** * Metadata related to the progress of the SiteSearchEngineService.SetUriPatternDocumentData operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -2599,6 +3461,32 @@ export namespace discoveryengine_v1beta { * Response message for SiteSearchEngineService.SetUriPatternDocumentData method. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaSetUriPatternDocumentDataResponse {} + /** + * Metadata for single-regional CMEKs. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSingleRegionKey { + /** + * Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project\}/locations/{location\}/keyRings/{keyRing\}/cryptoKeys/{keyId\}`. + */ + kmsKey?: string | null; + } + /** + * A sitemap for the SiteSearchEngine. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaSitemap { + /** + * Output only. The sitemap's creation time. + */ + createTime?: string | null; + /** + * Output only. The fully qualified resource name of the sitemap. `projects/x/locations/x/collections/x/dataStores/x/siteSearchEngine/sitemaps/x` The `sitemap_id` suffix is system-generated. + */ + name?: string | null; + /** + * Public URI for the sitemap, e.g. `www.example.com/sitemap.xml`. + */ + uri?: string | null; + } /** * Verification information for target sites in advanced site search. */ @@ -2617,7 +3505,7 @@ export namespace discoveryengine_v1beta { */ export interface Schema$GoogleCloudDiscoveryengineV1alphaTargetSite { /** - * Input only. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine. + * Immutable. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine. */ exactMatch?: boolean | null; /** @@ -2726,6 +3614,32 @@ export namespace discoveryengine_v1beta { * Response associated with a tune operation. */ export interface Schema$GoogleCloudDiscoveryengineV1alphaTuneEngineResponse {} + /** + * Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaUpdateCmekConfigMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } + /** + * Metadata related to the progress of the CollectionService.UpdateCollection operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaUpdateCollectionMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } /** * Metadata for UpdateSchema LRO. */ @@ -2739,6 +3653,19 @@ export namespace discoveryengine_v1beta { */ updateTime?: string | null; } + /** + * Request for UpdateSession method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1alphaUpdateSessionRequest { + /** + * Required. The Session to update. + */ + session?: Schema$GoogleCloudDiscoveryengineV1alphaSession; + /** + * Indicates which fields in the provided Session to update. The following are NOT supported: * Session.name If not set or empty, all supported fields are updated. + */ + updateMask?: string | null; + } /** * Metadata related to the progress of the SiteSearchEngineService.UpdateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -2808,6 +3735,171 @@ export namespace discoveryengine_v1beta { */ targetSites?: Schema$GoogleCloudDiscoveryengineV1TargetSite[]; } + /** + * Request message for CompletionService.AdvancedCompleteQuery method. . + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequest { + /** + * Optional. Specification to boost suggestions matching the condition. + */ + boostSpec?: Schema$GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequestBoostSpec; + /** + * Indicates if tail suggestions should be returned if there are no suggestions that match the full query. Even if set to true, if there are suggestions that match the full query, those are returned and no tail suggestions are returned. + */ + includeTailSuggestions?: boolean | null; + /** + * Required. The typeahead input used to fetch suggestions. Maximum length is 128 characters. The query can not be empty for most of the suggestion types. If it is empty, an `INVALID_ARGUMENT` error is returned. The exception is when the suggestion_types contains only the type `RECENT_SEARCH`, the query can be an empty string. The is called "zero prefix" feature, which returns user's recently searched queries given the empty query. + */ + query?: string | null; + /** + * Specifies the autocomplete data model. This overrides any model specified in the Configuration \> Autocomplete section of the Cloud console. Currently supported values: * `document` - Using suggestions generated from user-imported documents. * `search-history` - Using suggestions generated from the past history of SearchService.Search API calls. Do not use it when there is no traffic for Search API. * `user-event` - Using suggestions generated from user-imported search events. * `document-completable` - Using suggestions taken directly from user-imported document fields marked as completable. Default values: * `document` is the default model for regular dataStores. * `search-history` is the default model for site search dataStores. + */ + queryModel?: string | null; + /** + * Optional. Suggestion types to return. If empty or unspecified, query suggestions are returned. Only one suggestion type is supported at the moment. + */ + suggestionTypes?: string[] | null; + /** + * Optional. Information about the end user. This should be the same identifier information as UserEvent.user_info and SearchRequest.user_info. + */ + userInfo?: Schema$GoogleCloudDiscoveryengineV1betaUserInfo; + /** + * A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor logs in or out of the website. This field should NOT have a fixed value such as `unknown_visitor`. This should be the same identifier as UserEvent.user_pseudo_id and SearchRequest.user_pseudo_id. The field must be a UTF-8 encoded string with a length limit of 128 + */ + userPseudoId?: string | null; + } + /** + * Specification to boost suggestions based on the condtion of the suggestion. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequestBoostSpec { + /** + * Condition boost specifications. If a suggestion matches multiple conditions in the specifictions, boost values from these specifications are all applied and combined in a non-linear way. Maximum number of specifications is 20. Note: Currently only support language condition boost. + */ + conditionBoostSpecs?: Schema$GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequestBoostSpecConditionBoostSpec[]; + } + /** + * Boost applies to suggestions which match a condition. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequestBoostSpecConditionBoostSpec { + /** + * Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0. Setting to 1.0 gives the suggestions a big promotion. However, it does not necessarily mean that the top result will be a boosted suggestion. Setting to -1.0 gives the suggestions a big demotion. However, other suggestions that are relevant might still be shown. Setting to 0.0 means no boost applied. The boosting condition is ignored. + */ + boost?: number | null; + /** + * An expression which specifies a boost condition. The syntax is the same as [filter expression syntax](https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata#filter-expression-syntax). Currently, the only supported condition is a list of BCP-47 lang codes. Example: * To boost suggestions in languages `en` or `fr`: `(lang_code: ANY("en", "fr"))` + */ + condition?: string | null; + } + /** + * Response message for CompletionService.AdvancedCompleteQuery method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponse { + /** + * Results of the matched content suggestions. The result list is ordered and the first result is the top suggestion. + */ + contentSuggestions?: Schema$GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponseContentSuggestion[]; + /** + * Results of the matched people suggestions. The result list is ordered and the first result is the top suggestion. + */ + peopleSuggestions?: Schema$GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponsePersonSuggestion[]; + /** + * Results of the matched query suggestions. The result list is ordered and the first result is a top suggestion. + */ + querySuggestions?: Schema$GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponseQuerySuggestion[]; + /** + * Results of the matched "recent search" suggestions. The result list is ordered and the first result is the top suggestion. + */ + recentSearchSuggestions?: Schema$GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponseRecentSearchSuggestion[]; + /** + * True if the returned suggestions are all tail suggestions. For tail matching to be triggered, include_tail_suggestions in the request must be true and there must be no suggestions that match the full query. + */ + tailMatchTriggered?: boolean | null; + } + /** + * Suggestions as content. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponseContentSuggestion { + /** + * The type of the content suggestion. + */ + contentType?: string | null; + /** + * The name of the dataStore that this suggestion belongs to. + */ + dataStore?: string | null; + /** + * The document data snippet in the suggestion. Only a subset of fields will be populated. + */ + document?: Schema$GoogleCloudDiscoveryengineV1betaDocument; + /** + * The suggestion for the query. + */ + suggestion?: string | null; + } + /** + * Suggestions as people. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponsePersonSuggestion { + /** + * The name of the dataStore that this suggestion belongs to. + */ + dataStore?: string | null; + /** + * The document data snippet in the suggestion. Only a subset of fields is populated. + */ + document?: Schema$GoogleCloudDiscoveryengineV1betaDocument; + /** + * The type of the person. + */ + personType?: string | null; + /** + * The suggestion for the query. + */ + suggestion?: string | null; + } + /** + * Suggestions as search queries. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponseQuerySuggestion { + /** + * The unique document field paths that serve as the source of this suggestion if it was generated from completable fields. This field is only populated for the document-completable model. + */ + completableFieldPaths?: string[] | null; + /** + * The name of the dataStore that this suggestion belongs to. + */ + dataStore?: string[] | null; + /** + * The suggestion for the query. + */ + suggestion?: string | null; + } + /** + * Suggestions from recent search history. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryResponseRecentSearchSuggestion { + /** + * The time when this recent rearch happened. + */ + recentSearchTime?: string | null; + /** + * The suggestion for the query. + */ + suggestion?: string | null; + } + /** + * Configuration data for advance site search. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaAdvancedSiteSearchConfig { + /** + * If set true, automatic refresh is disabled for the DataStore. + */ + disableAutomaticRefresh?: boolean | null; + /** + * If set true, initial indexing is disabled for the DataStore. + */ + disableInitialIndex?: boolean | null; + } /** * AlloyDB source import data from. */ @@ -2861,6 +3953,14 @@ export namespace discoveryengine_v1beta { * Output only. Answer creation timestamp. */ createTime?: string | null; + /** + * A score in the range of [0, 1] describing how grounded the answer is by the reference chunks. + */ + groundingScore?: number | null; + /** + * Optional. Grounding supports. + */ + groundingSupports?: Schema$GoogleCloudDiscoveryengineV1betaAnswerGroundingSupport[]; /** * Immutable. Fully qualified name `projects/{project\}/locations/global/collections/{collection\}/engines/{engine\}/sessions/x/answers/x` */ @@ -2877,6 +3977,10 @@ export namespace discoveryengine_v1beta { * Suggested related questions. */ relatedQuestions?: string[] | null; + /** + * Optional. Safety ratings. + */ + safetyRatings?: Schema$GoogleCloudDiscoveryengineV1betaSafetyRating[]; /** * The state of the answer generation. */ @@ -2912,6 +4016,31 @@ export namespace discoveryengine_v1beta { */ referenceId?: string | null; } + /** + * Grounding support for a claim in `answer_text`. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaAnswerGroundingSupport { + /** + * Required. End of the claim, exclusive. + */ + endIndex?: string | null; + /** + * Indicates that this claim required grounding check. When the system decided this claim didn't require attribution/grounding check, this field is set to false. In that case, no grounding check was done for the claim and therefore `grounding_score`, `sources` is not returned. + */ + groundingCheckRequired?: boolean | null; + /** + * A score in the range of [0, 1] describing how grounded is a specific claim by the references. Higher value means that the claim is better supported by the reference chunks. + */ + groundingScore?: number | null; + /** + * Optional. Citation sources for the claim. + */ + sources?: Schema$GoogleCloudDiscoveryengineV1betaAnswerCitationSource[]; + /** + * Required. Index indicates the start of the claim, measured in bytes (UTF-8 unicode). + */ + startIndex?: string | null; + } /** * Request message for ConversationalSearchService.AnswerQuery method. */ @@ -2924,6 +4053,10 @@ export namespace discoveryengine_v1beta { * Deprecated: This field is deprecated. Streaming Answer API will be supported. Asynchronous mode control. If enabled, the response will be returned with answer/session resource name without final answer. The API users need to do the polling to get the latest status of answer/session by calling ConversationalSearchService.GetAnswer or ConversationalSearchService.GetSession method. */ asynchronousMode?: boolean | null; + /** + * Optional. Grounding specification. + */ + groundingSpec?: Schema$GoogleCloudDiscoveryengineV1betaAnswerQueryRequestGroundingSpec; /** * Required. Current user query. */ @@ -3012,6 +4145,19 @@ export namespace discoveryengine_v1beta { */ preamble?: string | null; } + /** + * Grounding specification. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaAnswerQueryRequestGroundingSpec { + /** + * Optional. Specifies whether to enable the filtering based on grounding score and at what level. + */ + filteringLevel?: string | null; + /** + * Optional. Specifies whether to include grounding_supports in the answer. The default value is `false`. When this field is set to `true`, returned answer will have `grounding_score` and will contain GroundingSupports for each claim. + */ + includeGroundingSupports?: boolean | null; + } /** * Query understanding specification. */ @@ -3046,6 +4192,19 @@ export namespace discoveryengine_v1beta { * Max rephrase steps. The max number is 5 steps. If not set or set to < 1, it will be set to 1 by default. */ maxRephraseSteps?: number | null; + /** + * Optional. Query Rephraser Model specification. + */ + modelSpec?: Schema$GoogleCloudDiscoveryengineV1betaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpecModelSpec; + } + /** + * Query Rephraser Model specification. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaAnswerQueryRequestQueryUnderstandingSpecQueryRephraserSpecModelSpec { + /** + * Optional. Enabled query rephraser model type. If not set, it will use LARGE by default. + */ + modelType?: string | null; } /** * Related questions specification. @@ -3057,13 +4216,30 @@ export namespace discoveryengine_v1beta { enable?: boolean | null; } /** - * Safety specification. + * Safety specification. There are two use cases: 1. when only safety_spec.enable is set, the BLOCK_LOW_AND_ABOVE threshold will be applied for all categories. 2. when safety_spec.enable is set and some safety_settings are set, only specified safety_settings are applied. */ export interface Schema$GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSafetySpec { /** * Enable the safety filtering on the answer response. It is false by default. */ enable?: boolean | null; + /** + * Optional. Safety settings. This settings are effective only when the safety_spec.enable is true. + */ + safetySettings?: Schema$GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSafetySpecSafetySetting[]; + } + /** + * Safety settings. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaAnswerQueryRequestSafetySpecSafetySetting { + /** + * Required. Harm category. + */ + category?: string | null; + /** + * Required. The harm block threshold. + */ + threshold?: string | null; } /** * Search specification. @@ -3445,7 +4621,7 @@ export namespace discoveryengine_v1beta { */ snippetInfo?: Schema$GoogleCloudDiscoveryengineV1betaAnswerStepActionObservationSearchResultSnippetInfo[]; /** - * Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result. . + * Data representation. The structured JSON data for the document. It's populated from the struct data from the Document, or the Chunk in search result. */ structData?: {[key: string]: any} | null; /** @@ -3562,7 +4738,7 @@ export namespace discoveryengine_v1beta { */ export interface Schema$GoogleCloudDiscoveryengineV1betaBatchGetDocumentsMetadataResponseDocumentMetadataMatcherValue { /** - * Required. Format: projects/{project\}/locations/{location\}/datasets/{dataset\}/fhirStores/{fhir_store\}/fhir/{resource_type\}/{fhir_resource_id\} + * Format: projects/{project\}/locations/{location\}/datasets/{dataset\}/fhirStores/{fhir_store\}/fhir/{resource_type\}/{fhir_resource_id\} */ fhirResource?: string | null; /** @@ -3688,7 +4864,7 @@ export namespace discoveryengine_v1beta { */ export interface Schema$GoogleCloudDiscoveryengineV1betaCheckGroundingRequest { /** - * Answer candidate to check. Can have a maximum length of 1024 characters. + * Answer candidate to check. It can have a maximum length of 4096 tokens. */ answerCandidate?: string | null; /** @@ -3712,6 +4888,10 @@ export namespace discoveryengine_v1beta { * List of facts cited across all claims in the answer candidate. These are derived from the facts supplied in the request. */ citedChunks?: Schema$GoogleCloudDiscoveryengineV1betaFactChunk[]; + /** + * List of facts cited across all claims in the answer candidate. These are derived from the facts supplied in the request. + */ + citedFacts?: Schema$GoogleCloudDiscoveryengineV1betaCheckGroundingResponseCheckGroundingFactChunk[]; /** * Claim texts and citation info across all claims in the answer candidate. */ @@ -3721,6 +4901,15 @@ export namespace discoveryengine_v1beta { */ supportScore?: number | null; } + /** + * Fact chunk for grounding check. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaCheckGroundingResponseCheckGroundingFactChunk { + /** + * Text content of the fact chunk. Can be at most 10K characters long. + */ + chunkText?: string | null; + } /** * Text and citation info for a claim in the answer candidate. */ @@ -3738,7 +4927,7 @@ export namespace discoveryengine_v1beta { */ endPos?: number | null; /** - * Indicates that this claim required grounding check. When the system decided this claim doesn't require attribution/grounding check, this field will be set to false. In that case, no grounding check was done for the claim and therefore citation_indices, anti_citation_indices, and score should not be returned. + * Indicates that this claim required grounding check. When the system decided this claim doesn't require attribution/grounding check, this field will be set to false. In that case, no grounding check was done for the claim and therefore citation_indices should not be returned. */ groundingCheckRequired?: boolean | null; /** @@ -3788,7 +4977,7 @@ export namespace discoveryengine_v1beta { */ pageSpan?: Schema$GoogleCloudDiscoveryengineV1betaChunkPageSpan; /** - * Output only. Represents the relevance score based on similarity. Higher score indicates higher chunk relevance. The score is in range [-1.0, 1.0]. Only populated on SearchService.SearchResponse. + * Output only. Represents the relevance score based on similarity. Higher score indicates higher chunk relevance. The score is in range [-1.0, 1.0]. Only populated on SearchResponse. */ relevanceScore?: number | null; } @@ -3864,6 +5053,39 @@ export namespace discoveryengine_v1beta { */ tableId?: string | null; } + /** + * Configurations used to enable CMEK data encryption with Cloud KMS keys. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaCmekConfig { + /** + * Output only. The default CmekConfig for the Customer. + */ + isDefault?: boolean | null; + /** + * Kms key resource name which will be used to encrypt resources `projects/{project\}/locations/{location\}/keyRings/{keyRing\}/cryptoKeys/{keyId\}`. + */ + kmsKey?: string | null; + /** + * Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion\}`. + */ + kmsKeyVersion?: string | null; + /** + * Output only. The timestamp of the last key rotation. + */ + lastRotationTimestampMicros?: string | null; + /** + * Required. Name of the CmekConfig, of the form `projects/{project\}/locations/{location\}/cmekConfig` or `projects/{project\}/locations/{location\}/cmekConfigs/{cmekConfig\}`. + */ + name?: string | null; + /** + * Optional. Single-regional CMEKs that are required for some VAIS features. + */ + singleRegionKeys?: Schema$GoogleCloudDiscoveryengineV1betaSingleRegionKey[]; + /** + * Output only. State of the CmekConfig. + */ + state?: string | null; + } /** * Response message for CompletionService.CompleteQuery method. */ @@ -3945,7 +5167,11 @@ export namespace discoveryengine_v1beta { */ activeTimeRange?: Schema$GoogleCloudDiscoveryengineV1betaConditionTimeRange[]; /** - * Search only A list of terms to match the query on. Maximum of 10 query terms. + * Optional. Query regex to match the whole search query. Cannot be set when Condition.query_terms is set. This is currently supporting promotion use case. + */ + queryRegex?: string | null; + /** + * Search only A list of terms to match the query on. Cannot be set when Condition.query_regex is set. Maximum of 10 query terms. */ queryTerms?: Schema$GoogleCloudDiscoveryengineV1betaConditionQueryTerm[]; } @@ -4003,6 +5229,10 @@ export namespace discoveryengine_v1beta { * Immutable. Fully qualified name `projects/x/locations/global/dataStore/x/controls/x` */ name?: string | null; + /** + * Promote certain links based on predefined trigger queries. This now only supports basic site search. + */ + promoteAction?: Schema$GoogleCloudDiscoveryengineV1betaControlPromoteAction; /** * Defines a redirect-type control. */ @@ -4025,7 +5255,7 @@ export namespace discoveryengine_v1beta { */ export interface Schema$GoogleCloudDiscoveryengineV1betaControlBoostAction { /** - * Required. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op). + * Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op). */ boost?: number | null; /** @@ -4036,6 +5266,10 @@ export namespace discoveryengine_v1beta { * Required. Specifies which products to apply the boost to. If no filter is provided all products will be boosted (No-op). Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown. */ filter?: string | null; + /** + * Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op). + */ + fixedBoost?: number | null; } /** * Specified which products may be included in results. Uses same filter as boost. @@ -4050,6 +5284,19 @@ export namespace discoveryengine_v1beta { */ filter?: string | null; } + /** + * Promote certain links based on some trigger queries. Example: Promote shoe store link when searching for `shoe` keyword. The link can be outside of associated data store. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaControlPromoteAction { + /** + * Required. Data store with which this promotion is attached to. + */ + dataStore?: string | null; + /** + * Required. Promotion attached to this action. + */ + searchLinkPromotion?: Schema$GoogleCloudDiscoveryengineV1betaSearchLinkPromotion; + } /** * Redirects a shopper to the provided URI. */ @@ -4228,6 +5475,19 @@ export namespace discoveryengine_v1beta { */ updateTime?: string | null; } + /** + * Metadata related to the progress of the SiteSearchEngineService.CreateSitemap operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaCreateSitemapMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } /** * Metadata related to the progress of the SiteSearchEngineService.CreateTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -4272,7 +5532,7 @@ export namespace discoveryengine_v1beta { */ export interface Schema$GoogleCloudDiscoveryengineV1betaCustomTuningModel { /** - * Timestamp the Model was created at. + * Deprecated: Timestamp the Model was created at. */ createTime?: string | null; /** @@ -4308,10 +5568,18 @@ export namespace discoveryengine_v1beta { * DataStore captures global settings and configs at the DataStore level. */ export interface Schema$GoogleCloudDiscoveryengineV1betaDataStore { + /** + * Optional. Configuration for advanced site search. + */ + advancedSiteSearchConfig?: Schema$GoogleCloudDiscoveryengineV1betaAdvancedSiteSearchConfig; /** * Output only. Data size estimation for billing. */ billingEstimation?: Schema$GoogleCloudDiscoveryengineV1betaDataStoreBillingEstimation; + /** + * Output only. CMEK-related information for the DataStore. + */ + cmekConfig?: Schema$GoogleCloudDiscoveryengineV1betaCmekConfig; /** * Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT. */ @@ -4336,6 +5604,14 @@ export namespace discoveryengine_v1beta { * Immutable. The industry vertical that the data store registers. */ industryVertical?: string | null; + /** + * Optional. If set, this DataStore is an Infobot FAQ DataStore. + */ + isInfobotFaqDataStore?: boolean | null; + /** + * Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field. + */ + kmsKeyName?: string | null; /** * Language info for DataStore. */ @@ -4351,7 +5627,7 @@ export namespace discoveryengine_v1beta { /** * Optional. Stores serving config at DataStore level. */ - servingConfigDataStore?: Schema$GoogleCloudDiscoveryengineV1betaServingConfigDataStore; + servingConfigDataStore?: Schema$GoogleCloudDiscoveryengineV1betaDataStoreServingConfigDataStore; /** * The solutions that the data store enrolls. Available solutions for each industry_vertical: * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`. * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other solutions cannot be enrolled. */ @@ -4394,6 +5670,15 @@ export namespace discoveryengine_v1beta { */ websiteDataUpdateTime?: string | null; } + /** + * Stores information regarding the serving configurations at DataStore level. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaDataStoreServingConfigDataStore { + /** + * If set true, the DataStore will not be available for serving search requests. + */ + disabledForServing?: boolean | null; + } /** * Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -4420,6 +5705,19 @@ export namespace discoveryengine_v1beta { */ updateTime?: string | null; } + /** + * Metadata related to the progress of the IdentityMappingStoreService.DeleteIdentityMappingStore operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaDeleteIdentityMappingStoreMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } /** * Metadata for DeleteSchema LRO. */ @@ -4433,6 +5731,19 @@ export namespace discoveryengine_v1beta { */ updateTime?: string | null; } + /** + * Metadata related to the progress of the SiteSearchEngineService.DeleteSitemap operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaDeleteSitemapMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } /** * Metadata related to the progress of the SiteSearchEngineService.DeleteTargetSite operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -4480,11 +5791,11 @@ export namespace discoveryengine_v1beta { */ derivedStructData?: {[key: string]: any} | null; /** - * Immutable. The identifier of the document. Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. + * Immutable. The identifier of the document. Id should conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 128 characters. */ id?: string | null; /** - * Output only. The index status of the document. * If document is indexed successfully, the index_time field is populated. * Otherwise, if document is not indexed due to errors, the error_samples field is populated. * Otherwise, index_status is unset. + * Output only. The index status of the document. * If document is indexed successfully, the index_time field is populated. * Otherwise, if document is not indexed due to errors, the error_samples field is populated. * Otherwise, if document's index is in progress, the pending_message field is populated. */ indexStatus?: Schema$GoogleCloudDiscoveryengineV1betaDocumentIndexStatus; /** @@ -4541,11 +5852,19 @@ export namespace discoveryengine_v1beta { * The time when the document was indexed. If this field is populated, it means the document has been indexed. */ indexTime?: string | null; + /** + * Immutable. The message indicates the document index is in progress. If this field is populated, the document index is pending. + */ + pendingMessage?: string | null; } /** * Detailed document information associated with a user event. */ export interface Schema$GoogleCloudDiscoveryengineV1betaDocumentInfo { + /** + * Optional. The conversion value associated with this Document. Must be set if UserEvent.event_type is "conversion". For example, a value of 1000 signifies that 1000 seconds were spent viewing a Document for the `watch` conversion type. + */ + conversionValue?: number | null; /** * The Document resource ID. */ @@ -4572,7 +5891,7 @@ export namespace discoveryengine_v1beta { uri?: string | null; } /** - * A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config. + * A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser. */ export interface Schema$GoogleCloudDiscoveryengineV1betaDocumentProcessingConfig { /** @@ -4728,7 +6047,7 @@ export namespace discoveryengine_v1beta { */ displayName?: string | null; /** - * The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to `GENERIC`. Vertical on Engine has to match vertical of the DataStore linked to the engine. + * The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine. */ industryVertical?: string | null; /** @@ -4910,6 +6229,24 @@ export namespace discoveryengine_v1beta { */ totalSize?: number | null; } + /** + * Response message for SiteSearchEngineService.FetchSitemaps method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaFetchSitemapsResponse { + /** + * List of Sitemaps fetched. + */ + sitemapsMetadata?: Schema$GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata[]; + } + /** + * Contains a Sitemap and its metadata. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaFetchSitemapsResponseSitemapMetadata { + /** + * The Sitemap. + */ + sitemap?: Schema$GoogleCloudDiscoveryengineV1betaSitemap; + } /** * Cloud FhirStore source import data from. */ @@ -4926,6 +6263,10 @@ export namespace discoveryengine_v1beta { * The FHIR resource types to import. The resource types should be a subset of all [supported FHIR resource types](https://cloud.google.com/generative-ai-app-builder/docs/fhir-schema-reference#resource-level-specification). Default to all supported FHIR resource types if empty. */ resourceTypes?: string[] | null; + /** + * Optional. Whether to update the DataStore schema to the latest predefined schema. If true, the DataStore schema will be updated to include any FHIR fields or resource types that have been added since the last import and corresponding FHIR resources will be imported from the FHIR store. Note this field cannot be used in conjunction with `resource_types`. It should be used after initial import. + */ + updateFromLatestPredefinedSchema?: boolean | null; } /** * Firestore source import data from. @@ -4961,6 +6302,305 @@ export namespace discoveryengine_v1beta { */ inputUris?: string[] | null; } + /** + * Top-level message sent by the client for the `GenerateGroundedContent` method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequest { + /** + * Content of the current conversation with the model. For single-turn queries, this is a single instance. For multi-turn queries, this is a repeated field that contains conversation history + latest request. + */ + contents?: Schema$GoogleCloudDiscoveryengineV1betaGroundedGenerationContent[]; + /** + * Content generation specification. + */ + generationSpec?: Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGenerationSpec; + /** + * Grounding specification. + */ + groundingSpec?: Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSpec; + /** + * Content of the system instruction for the current API. These instructions will take priority over any other prompt instructions if the selected model is supporting them. + */ + systemInstruction?: Schema$GoogleCloudDiscoveryengineV1betaGroundedGenerationContent; + /** + * The user labels applied to a resource must meet the following requirements: * Each resource can have multiple labels, up to a maximum of 64. * Each label must be a key-value pair. * Keys have a minimum length of 1 character and a maximum length of 63 characters and cannot be empty. Values can be empty and have a maximum length of 63 characters. * Keys and values can contain only lowercase letters, numeric characters, underscores, and dashes. All characters must use UTF-8 encoding, and international characters are allowed. * The key portion of a label must be unique. However, you can use the same key with multiple resources. * Keys must start with a lowercase letter or international character. See [Google Cloud Document](https://cloud.google.com/resource-manager/docs/creating-managing-labels#requirements) for more details. + */ + userLabels?: {[key: string]: string} | null; + } + /** + * Describes the options to customize dynamic retrieval. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestDynamicRetrievalConfiguration { + /** + * Specification for the predictor for dynamic retrieval. + */ + predictor?: Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestDynamicRetrievalConfigurationDynamicRetrievalPredictor; + } + /** + * Describes the predictor settings for dynamic retrieval. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestDynamicRetrievalConfigurationDynamicRetrievalPredictor { + /** + * The value of the threshold. If the predictor will predict a value smaller than this, it would suppress grounding in the source. + */ + threshold?: number | null; + /** + * The version of the predictor to be used in dynamic retrieval. + */ + version?: string | null; + } + /** + * Content generation specification. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGenerationSpec { + /** + * If specified, custom value for frequency penalty will be used. + */ + frequencyPenalty?: number | null; + /** + * Language code for content. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). + */ + languageCode?: string | null; + /** + * If specified, custom value for max output tokens will be used. + */ + maxOutputTokens?: number | null; + /** + * Specifies which Vertex model id to use for generation. + */ + modelId?: string | null; + /** + * If specified, custom value for presence penalty will be used. + */ + presencePenalty?: number | null; + /** + * If specified, custom value for the seed will be used. + */ + seed?: number | null; + /** + * If specified, custom value for the temperature will be used. + */ + temperature?: number | null; + /** + * If specified, custom value for top-k sampling will be used. + */ + topK?: number | null; + /** + * If specified, custom value for nucleus sampling will be used. + */ + topP?: number | null; + } + /** + * Grounding source. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSource { + /** + * If set, grounding is performed with Google Search. + */ + googleSearchSource?: Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceGoogleSearchSource; + /** + * If set, grounding is performed with inline content. + */ + inlineSource?: Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceInlineSource; + /** + * If set, grounding is performed with Vertex AI Search. + */ + searchSource?: Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceSearchSource; + } + /** + * Google Search config parameters. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceGoogleSearchSource { + /** + * Optional. Specifies the dynamic retrieval configuration for the given source. + */ + dynamicRetrievalConfig?: Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestDynamicRetrievalConfiguration; + } + /** + * Message to be used for grounding based on inline content. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceInlineSource { + /** + * Attributes associated with the content. Common attributes include `source` (indicating where the content was sourced from) and `author` (indicating the author of the content). + */ + attributes?: {[key: string]: string} | null; + /** + * List of facts to be used for grounding. + */ + groundingFacts?: Schema$GoogleCloudDiscoveryengineV1betaGroundingFact[]; + } + /** + * Message to be used for grounding with Vertex AI Search. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSourceSearchSource { + /** + * Filter expression to be applied to the search. The syntax is the same as SearchRequest.filter. + */ + filter?: string | null; + /** + * Number of search results to return. The default value is 10. The maximumm allowed value is 10. + */ + maxResultCount?: number | null; + /** + * If set, safe search is enabled in Vertex AI Search requests. + */ + safeSearch?: boolean | null; + /** + * The resource name of the Engine to use. Format: `projects/{project\}/locations/{location\}/collections/{collection_id\}/engines/{engine_id\}/servingConfigs/{serving_config_id\}` + */ + servingConfig?: string | null; + } + /** + * Grounding specification. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSpec { + /** + * Grounding sources. + */ + groundingSources?: Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequestGroundingSource[]; + } + /** + * Response for the `GenerateGroundedContent` method. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponse { + /** + * Generated candidates. + */ + candidates?: Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidate[]; + } + /** + * A response candidate generated from the model. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidate { + /** + * Content of the candidate. + */ + content?: Schema$GoogleCloudDiscoveryengineV1betaGroundedGenerationContent; + /** + * Grounding metadata for the generated content. + */ + groundingMetadata?: Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadata; + /** + * The overall grounding score for the candidate, in the range of [0, 1]. + */ + groundingScore?: number | null; + /** + * Index of the candidate. + */ + index?: number | null; + } + /** + * Citation for the generated content. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadata { + /** + * GroundingSupport across all claims in the answer candidate. An support to a fact indicates that the claim is supported by the fact. + */ + groundingSupport?: Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataGroundingSupport[]; + /** + * Retrieval metadata to provide an understanding in the retrieval steps performed by the model. There can be multiple such messages which can correspond to different parts of the retrieval. This is a mechanism used to ensure transparency to our users. + */ + retrievalMetadata?: Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataRetrievalMetadata[]; + /** + * Google search entry for the following-up web searches. + */ + searchEntryPoint?: Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataSearchEntryPoint; + /** + * List of chunks to be attributed across all claims in the candidate. These are derived from the grounding sources supplied in the request. + */ + supportChunks?: Schema$GoogleCloudDiscoveryengineV1betaFactChunk[]; + /** + * Web search queries for the following-up web search. + */ + webSearchQueries?: string[] | null; + } + /** + * Describes the metadata about dynamic retrieval. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalMetadata { + /** + * Metadata for the dynamic retrieval predictor. + */ + predictorMetadata?: Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalPredictorMetadata; + } + /** + * Describes the metadata about the dynamic retrieval predictor. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalPredictorMetadata { + /** + * The value of the predictor. This should be between [0, 1] where a value of 0 means that the query would not benefit from grounding, while a value of 1.0 means that the query would benefit the most. In between values allow to differentiate between different usefulness scores for grounding. + */ + prediction?: number | null; + /** + * The version of the predictor which was used in dynamic retrieval. + */ + version?: string | null; + } + /** + * Grounding info for a claim in the candidate and its support. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataGroundingSupport { + /** + * Text for the claim in the candidate. Always provided when a support is found. + */ + claimText?: string | null; + /** + * A list of indices (into 'support_chunks') specifying the citations associated with the claim. For instance [1,3,4] means that support_chunks[1], support_chunks[3], support_chunks[4] are the chunks attributed to the claim. + */ + supportChunkIndices?: number[] | null; + /** + * A score in the range of [0, 1] describing how grounded is a specific claim in the support chunks indicated. Higher value means that the claim is better supported by the chunks. + */ + supportScore?: number | null; + } + /** + * Describes the metadata associated with a retrieval step. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataRetrievalMetadata { + /** + * Metadata for dynamic retrieval. + */ + dynamicRetrievalMetadata?: Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataDynamicRetrievalMetadata; + /** + * Describes the source to which the metadata is referring to. + */ + source?: string | null; + } + /** + * Google search entry point. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentResponseCandidateGroundingMetadataSearchEntryPoint { + /** + * Web content snippet that can be embedded in a web page or an app webview. + */ + renderedContent?: string | null; + /** + * Base64 encoded JSON representing array of tuple. + */ + sdkBlob?: string | null; + } + /** + * Base structured datatype containing multi-part content of a message. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaGroundedGenerationContent { + /** + * Ordered `Parts` that constitute a single message. + */ + parts?: Schema$GoogleCloudDiscoveryengineV1betaGroundedGenerationContentPart[]; + /** + * Producer of the content. Must be either `user` or `model`. Intended to be used for multi-turn conversations. Otherwise, it can be left unset. + */ + role?: string | null; + } + /** + * Single part of content. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaGroundedGenerationContentPart { + /** + * Inline text. + */ + text?: string | null; + } /** * Grounding Fact. */ @@ -5468,7 +7108,7 @@ export namespace discoveryengine_v1beta { */ export interface Schema$GoogleCloudDiscoveryengineV1betaListEvaluationResultsResponse { /** - * The EvaluationResults. + * The evaluation results for the SampleQuerys. */ evaluationResults?: Schema$GoogleCloudDiscoveryengineV1betaListEvaluationResultsResponseEvaluationResult[]; /** @@ -5635,6 +7275,10 @@ export namespace discoveryengine_v1beta { * The display name of the panel. */ displayName?: string | null; + /** + * Optional. The document IDs associated with this panel. + */ + documents?: Schema$GoogleCloudDiscoveryengineV1betaDocumentInfo[]; /** * Required. The panel ID. */ @@ -5837,7 +7481,7 @@ export namespace discoveryengine_v1beta { */ export interface Schema$GoogleCloudDiscoveryengineV1betaPurgeUserEventsRequest { /** - * Required. The filter string to specify the events to be deleted with a length limit of 5,000 characters. The eligible fields for filtering are: * `eventType`: Double quoted UserEvent.event_type string. * `eventTime`: in ISO 8601 "zulu" format. * `userPseudoId`: Double quoted string. Specifying this will delete all events associated with a visitor. * `userId`: Double quoted string. Specifying this will delete all events associated with a user. Examples: * Deleting all events in a time range: `eventTime \> "2012-04-23T18:25:43.511Z" eventTime < "2012-04-23T18:30:43.511Z"` * Deleting specific eventType: `eventType = "search"` * Deleting all events for a specific visitor: `userPseudoId = "visitor1024"` * Deleting all events inside a DataStore: `*` The filtering fields are assumed to have an implicit AND. + * Required. The filter string to specify the events to be deleted with a length limit of 5,000 characters. The eligible fields for filtering are: * `eventType`: Double quoted UserEvent.event_type string. * `eventTime`: in ISO 8601 "zulu" format. * `userPseudoId`: Double quoted string. Specifying this will delete all events associated with a visitor. * `userId`: Double quoted string. Specifying this will delete all events associated with a user. Note: This API only supports purging a max range of 30 days. Examples: * Deleting all events in a time range: `eventTime \> "2012-04-23T18:25:43.511Z" eventTime < "2012-04-23T18:30:43.511Z"` * Deleting specific eventType in a time range: `eventTime \> "2012-04-23T18:25:43.511Z" eventTime < "2012-04-23T18:30:43.511Z" eventType = "search"` * Deleting all events for a specific visitor in a time range: `eventTime \> "2012-04-23T18:25:43.511Z" eventTime < "2012-04-23T18:30:43.511Z" userPseudoId = "visitor1024"` * Deleting the past 30 days of events inside a DataStore: `*` The filtering fields are assumed to have an implicit AND. */ filter?: string | null; /** @@ -5917,7 +7561,7 @@ export namespace discoveryengine_v1beta { */ id?: string | null; /** - * The score of this record based on the given query and selected model. + * The score of this record based on the given query and selected model. The score will be rounded to 2 decimal places. If the score is close to 0, it will be rounded to 0.0001 to avoid returning unset. */ score?: number | null; /** @@ -5968,7 +7612,7 @@ export namespace discoveryengine_v1beta { */ export interface Schema$GoogleCloudDiscoveryengineV1betaRecommendRequest { /** - * Filter for restricting recommendation results with a length limit of 5,000 characters. Currently, only filter expressions on the `filter_tags` attribute is supported. Examples: * `(filter_tags: ANY("Red", "Blue") OR filter_tags: ANY("Hot", "Cold"))` * `(filter_tags: ANY("Red", "Blue")) AND NOT (filter_tags: ANY("Green"))` If `attributeFilteringSyntax` is set to true under the `params` field, then attribute-based expressions are expected instead of the above described tag-based syntax. Examples: * (launguage: ANY("en", "es")) AND NOT (categories: ANY("Movie")) * (available: true) AND (launguage: ANY("en", "es")) OR (categories: ANY("Movie")) If your filter blocks all results, the API returns generic (unfiltered) popular Documents. If you only want results strictly matching the filters, set `strictFiltering` to `true` in RecommendRequest.params to receive empty results instead. Note that the API never returns Documents with `storageStatus` as `EXPIRED` or `DELETED` regardless of filter choices. + * Filter for restricting recommendation results with a length limit of 5,000 characters. Currently, only filter expressions on the `filter_tags` attribute is supported. Examples: * `(filter_tags: ANY("Red", "Blue") OR filter_tags: ANY("Hot", "Cold"))` * `(filter_tags: ANY("Red", "Blue")) AND NOT (filter_tags: ANY("Green"))` If `attributeFilteringSyntax` is set to true under the `params` field, then attribute-based expressions are expected instead of the above described tag-based syntax. Examples: * (language: ANY("en", "es")) AND NOT (categories: ANY("Movie")) * (available: true) AND (language: ANY("en", "es")) OR (categories: ANY("Movie")) If your filter blocks all results, the API returns generic (unfiltered) popular Documents. If you only want results strictly matching the filters, set `strictFiltering` to `true` in RecommendRequest.params to receive empty results instead. Note that the API never returns Documents with `storageStatus` as `EXPIRED` or `DELETED` regardless of filter choices. */ filter?: string | null; /** @@ -6035,7 +7679,7 @@ export namespace discoveryengine_v1beta { */ export interface Schema$GoogleCloudDiscoveryengineV1betaRecrawlUrisRequest { /** - * Optional. Full resource name of the SiteCredential, such as `projects/x/locations/x/collections/x/dataStores/x/siteSearchEngine/siteCredentials/x`. Only set to crawl private URIs. + * Optional. Full resource name of the `SiteCredential`, such as `projects/x/locations/x/collections/x/dataStores/x/siteSearchEngine/siteCredentials/x`. Only set to crawl private URIs. */ siteCredential?: string | null; /** @@ -6085,6 +7729,35 @@ export namespace discoveryengine_v1beta { * Request for resuming training of an engine. */ export interface Schema$GoogleCloudDiscoveryengineV1betaResumeEngineRequest {} + /** + * Safety rating corresponding to the generated content. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaSafetyRating { + /** + * Output only. Indicates whether the content was filtered out because of this rating. + */ + blocked?: boolean | null; + /** + * Output only. Harm category. + */ + category?: string | null; + /** + * Output only. Harm probability levels in the content. + */ + probability?: string | null; + /** + * Output only. Harm probability score. + */ + probabilityScore?: number | null; + /** + * Output only. Harm severity levels in the content. + */ + severity?: string | null; + /** + * Output only. Harm severity score. + */ + severityScore?: number | null; + } /** * Sample Query captures metadata to be used for evaluation. */ @@ -6187,6 +7860,31 @@ export namespace discoveryengine_v1beta { */ searchQuery?: string | null; } + /** + * Promotion proto includes uri and other helping information to display the promotion. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaSearchLinkPromotion { + /** + * Optional. The Promotion description. Maximum length: 200 characters. + */ + description?: string | null; + /** + * Optional. The enabled promotion will be returned for any serving configs associated with the parent of the control this promotion is attached to. This flag is used for basic site search only. + */ + enabled?: boolean | null; + /** + * Optional. The promotion thumbnail image url. + */ + imageUri?: string | null; + /** + * Required. The title of the promotion. Maximum length: 160 characters. + */ + title?: string | null; + /** + * Required. The URL for the page the user wants to promote. + */ + uri?: string | null; + } /** * Request message for SearchService.Search method. */ @@ -6208,7 +7906,7 @@ export namespace discoveryengine_v1beta { */ contentSearchSpec?: Schema$GoogleCloudDiscoveryengineV1betaSearchRequestContentSearchSpec; /** - * Specs defining dataStores to filter on in a search call and configurations for those dataStores. This is only considered for engines with multiple dataStores use case. For single dataStore within an engine, they should use the specs at the top level. + * Specs defining DataStores to filter on in a search call and configurations for those data stores. This is only considered for Engines with multiple data stores. For engines with a single data store, the specs directly under SearchRequest should be used. */ dataStoreSpecs?: Schema$GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec[]; /** @@ -6239,6 +7937,10 @@ export namespace discoveryengine_v1beta { * A 0-indexed integer that specifies the current offset (that is, starting result location, amongst the Documents deemed by the API as relevant) in search results. This field is only considered if page_token is unset. If this field is negative, an `INVALID_ARGUMENT` is returned. */ offset?: number | null; + /** + * The maximum number of results to return for OneBox. This applies to each OneBox type individually. Default number is 10. + */ + oneBoxPageSize?: number | null; /** * The order in which documents are returned. Documents can be ordered by a field in an Document object. Leave it unset if ordered by relevance. `order_by` expression is case-sensitive. For more information on ordering the website search results, see [Order web search results](https://cloud.google.com/generative-ai-app-builder/docs/order-web-search-results). For more information on ordering the healthcare search results, see [Order healthcare search results](https://cloud.google.com/generative-ai-app-builder/docs/order-hc-results). If this field is unrecognizable, an `INVALID_ARGUMENT` is returned. */ @@ -6523,6 +8225,10 @@ export namespace discoveryengine_v1beta { * A struct to define data stores to filter on in a search call and configurations for those data stores. Otherwise, an `INVALID_ARGUMENT` error is returned. */ export interface Schema$GoogleCloudDiscoveryengineV1betaSearchRequestDataStoreSpec { + /** + * Optional. Boost specification to boost certain documents. For more information on boosting, see [Boosting](https://cloud.google.com/generative-ai-app-builder/docs/boost-search-results) + */ + boostSpec?: Schema$GoogleCloudDiscoveryengineV1betaSearchRequestBoostSpec; /** * Required. Full resource name of DataStore, such as `projects/{project\}/locations/{location\}/collections/{collection_id\}/dataStores/{data_store_id\}`. */ @@ -6622,7 +8328,7 @@ export namespace discoveryengine_v1beta { */ export interface Schema$GoogleCloudDiscoveryengineV1betaSearchRequestNaturalLanguageQueryUnderstandingSpec { /** - * The condition under which filter extraction should occur. Default to Condition.DISABLED. + * The condition under which filter extraction should occur. Server behavior defaults to `DISABLED`. */ filterExtractionCondition?: string | null; /** @@ -6732,6 +8438,10 @@ export namespace discoveryengine_v1beta { * A list of matched documents. The order represents the ranking. */ results?: Schema$GoogleCloudDiscoveryengineV1betaSearchResponseSearchResult[]; + /** + * Promotions for site search. + */ + searchLinkPromotions?: Schema$GoogleCloudDiscoveryengineV1betaSearchLinkPromotion[]; /** * Session information. Only set if SearchRequest.session is provided. See its description for more details. */ @@ -7193,7 +8903,11 @@ export namespace discoveryengine_v1beta { */ personalizationSpec?: Schema$GoogleCloudDiscoveryengineV1betaSearchRequestPersonalizationSpec; /** - * The ranking expression controls the customized ranking on retrieval documents. To leverage this, document embedding is required. The ranking expression setting in ServingConfig applies to all search requests served by the serving config. However, if SearchRequest.ranking_expression is specified, it overrides the ServingConfig ranking expression. The ranking expression is a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function \}; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between embedding_field_path and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. + * Condition promote specifications. Maximum number of specifications is 100. + */ + promoteControlIds?: string[] | null; + /** + * The ranking expression controls the customized ranking on retrieval documents. To leverage this, document embedding is required. The ranking expression setting in ServingConfig applies to all search requests served by the serving config. However, if `SearchRequest.ranking_expression` is specified, it overrides the ServingConfig ranking expression. The ranking expression is a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function \}; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between embedding_field_path and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. */ rankingExpression?: string | null; /** @@ -7217,15 +8931,6 @@ export namespace discoveryengine_v1beta { */ updateTime?: string | null; } - /** - * Stores information regarding the serving configurations at DataStore level. - */ - export interface Schema$GoogleCloudDiscoveryengineV1betaServingConfigDataStore { - /** - * If set true, the DataStore will not be available for serving search requests. - */ - disabledForServing?: boolean | null; - } /** * Specifies the configurations needed for Generic Discovery.Currently we support: * `content_search_spec`: configuration for generic content search. */ @@ -7251,6 +8956,10 @@ export namespace discoveryengine_v1beta { * Specifies the content watched minutes threshold for demotion. */ contentWatchedSecondsThreshold?: number | null; + /** + * Optional. Specifies the number of days to look back for demoting watched content. If set to zero or unset, defaults to the maximum of 365 days. + */ + demoteContentWatchedPastDays?: number | null; /** * Specifies the event type used for demoting recommendation result. Currently supported values: * `view-item`: Item viewed. * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. If unset, watch history demotion will not be applied. Content freshness demotion will still be applied. */ @@ -7260,10 +8969,18 @@ export namespace discoveryengine_v1beta { * External session proto definition. */ export interface Schema$GoogleCloudDiscoveryengineV1betaSession { + /** + * Optional. The display name of the session. This field is used to identify the session in the UI. By default, the display name is the first turn query text in the session. + */ + displayName?: string | null; /** * Output only. The time the session finished. */ endTime?: string | null; + /** + * Optional. Whether the session is pinned, pinned session will be displayed on the top of the session list. + */ + isPinned?: boolean | null; /** * Immutable. Fully qualified name `projects/{project\}/locations/global/collections/{collection\}/engines/{engine\}/sessions/x` */ @@ -7293,11 +9010,41 @@ export namespace discoveryengine_v1beta { * The resource name of the answer to the user query. Only set if the answer generation (/answer API call) happened in this turn. */ answer?: string | null; + /** + * Output only. In ConversationalSearchService.GetSession API, if GetSessionRequest.include_answer_details is set to true, this field will be populated when getting answer query session. + */ + detailedAnswer?: Schema$GoogleCloudDiscoveryengineV1betaAnswer; /** * The user query. */ query?: Schema$GoogleCloudDiscoveryengineV1betaQuery; } + /** + * Metadata for single-regional CMEKs. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaSingleRegionKey { + /** + * Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project\}/locations/{location\}/keyRings/{keyRing\}/cryptoKeys/{keyId\}`. + */ + kmsKey?: string | null; + } + /** + * A sitemap for the SiteSearchEngine. + */ + export interface Schema$GoogleCloudDiscoveryengineV1betaSitemap { + /** + * Output only. The sitemap's creation time. + */ + createTime?: string | null; + /** + * Output only. The fully qualified resource name of the sitemap. `projects/x/locations/x/collections/x/dataStores/x/siteSearchEngine/sitemaps/x` The `sitemap_id` suffix is system-generated. + */ + name?: string | null; + /** + * Public URI for the sitemap, e.g. `www.example.com/sitemap.xml`. + */ + uri?: string | null; + } /** * SiteSearchEngine captures DataStore level site search persisting configurations. It is a singleton value per data store. */ @@ -7363,7 +9110,7 @@ export namespace discoveryengine_v1beta { */ export interface Schema$GoogleCloudDiscoveryengineV1betaTargetSite { /** - * Input only. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine. + * Immutable. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine. */ exactMatch?: boolean | null; /** @@ -7604,6 +9351,10 @@ export namespace discoveryengine_v1beta { * CompletionService.CompleteQuery details related to the event. This field should be set for `search` event when autocomplete function is enabled and the user clicks a suggestion for search. */ completionInfo?: Schema$GoogleCloudDiscoveryengineV1betaCompletionInfo; + /** + * Optional. Conversion type. Required if UserEvent.event_type is `conversion`. This is a customer-defined conversion name in lowercase letters or numbers separated by "-", such as "watch", "good-visit" etc. Do not set the field if UserEvent.event_type is not `conversion`. This mixes the custom conversion event with predefined events like `search`, `view-item` etc. + */ + conversionType?: string | null; /** * The DataStore resource full name, of the form `projects/{project\}/locations/{location\}/collections/{collection_id\}/dataStores/{data_store_id\}`. Optional. Only required for user events whose data store can't by determined by UserEvent.engine or UserEvent.documents. If data store is set in the parent of write/import/collect user event requests, this field can be omitted. */ @@ -7625,7 +9376,7 @@ export namespace discoveryengine_v1beta { */ eventTime?: string | null; /** - * Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home \> Men \> Jeans Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. + * Required. User event type. Allowed values are: Generic values: * `search`: Search for Documents. * `view-item`: Detailed page view of a Document. * `view-item-list`: View of a panel or ordered list of Documents. * `view-home-page`: View of the home page. * `view-category-page`: View of a category page, e.g. Home \> Men \> Jeans * `add-feedback`: Add a user feedback. Retail-related values: * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping * `purchase`: Purchase an item(s) Media-related values: * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. Custom conversion value: * `conversion`: Customer defined conversion event. */ eventType?: string | null; /** @@ -7644,6 +9395,10 @@ export namespace discoveryengine_v1beta { * Panel metadata associated with this user event. */ panel?: Schema$GoogleCloudDiscoveryengineV1betaPanelInfo; + /** + * Optional. List of panels associated with this event. Used for page-level impression data. + */ + panels?: Schema$GoogleCloudDiscoveryengineV1betaPanelInfo[]; /** * The promotion IDs if this is an event associated with promotions. Currently, this field is restricted to at most one ID. */ @@ -7707,6 +9462,39 @@ export namespace discoveryengine_v1beta { */ type?: string | null; } + /** + * Configurations used to enable CMEK data encryption with Cloud KMS keys. + */ + export interface Schema$GoogleCloudDiscoveryengineV1CmekConfig { + /** + * Output only. The default CmekConfig for the Customer. + */ + isDefault?: boolean | null; + /** + * Kms key resource name which will be used to encrypt resources `projects/{project\}/locations/{location\}/keyRings/{keyRing\}/cryptoKeys/{keyId\}`. + */ + kmsKey?: string | null; + /** + * Kms key version resource name which will be used to encrypt resources `/cryptoKeyVersions/{keyVersion\}`. + */ + kmsKeyVersion?: string | null; + /** + * Output only. The timestamp of the last key rotation. + */ + lastRotationTimestampMicros?: string | null; + /** + * Required. Name of the CmekConfig, of the form `projects/{project\}/locations/{location\}/cmekConfig` or `projects/{project\}/locations/{location\}/cmekConfigs/{cmekConfig\}`. + */ + name?: string | null; + /** + * Optional. Single-regional CMEKs that are required for some VAIS features. + */ + singleRegionKeys?: Schema$GoogleCloudDiscoveryengineV1SingleRegionKey[]; + /** + * Output only. State of the CmekConfig. + */ + state?: string | null; + } /** * Defines circumstances to be checked before allowing a behavior */ @@ -7716,7 +9504,11 @@ export namespace discoveryengine_v1beta { */ activeTimeRange?: Schema$GoogleCloudDiscoveryengineV1ConditionTimeRange[]; /** - * Search only A list of terms to match the query on. Maximum of 10 query terms. + * Optional. Query regex to match the whole search query. Cannot be set when Condition.query_terms is set. This is currently supporting promotion use case. + */ + queryRegex?: string | null; + /** + * Search only A list of terms to match the query on. Cannot be set when Condition.query_regex is set. Maximum of 10 query terms. */ queryTerms?: Schema$GoogleCloudDiscoveryengineV1ConditionQueryTerm[]; } @@ -7774,6 +9566,10 @@ export namespace discoveryengine_v1beta { * Immutable. Fully qualified name `projects/x/locations/global/dataStore/x/controls/x` */ name?: string | null; + /** + * Promote certain links based on predefined trigger queries. This now only supports basic site search. + */ + promoteAction?: Schema$GoogleCloudDiscoveryengineV1ControlPromoteAction; /** * Defines a redirect-type control. */ @@ -7796,7 +9592,7 @@ export namespace discoveryengine_v1beta { */ export interface Schema$GoogleCloudDiscoveryengineV1ControlBoostAction { /** - * Required. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op). + * Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op). */ boost?: number | null; /** @@ -7807,6 +9603,10 @@ export namespace discoveryengine_v1beta { * Required. Specifies which products to apply the boost to. If no filter is provided all products will be boosted (No-op). Syntax documentation: https://cloud.google.com/retail/docs/filter-and-order Maximum length is 5000 characters. Otherwise an INVALID ARGUMENT error is thrown. */ filter?: string | null; + /** + * Optional. Strength of the boost, which should be in [-1, 1]. Negative boost means demotion. Default is 0.0 (No-op). + */ + fixedBoost?: number | null; } /** * Specified which products may be included in results. Uses same filter as boost. @@ -7821,6 +9621,19 @@ export namespace discoveryengine_v1beta { */ filter?: string | null; } + /** + * Promote certain links based on some trigger queries. Example: Promote shoe store link when searching for `shoe` keyword. The link can be outside of associated data store. + */ + export interface Schema$GoogleCloudDiscoveryengineV1ControlPromoteAction { + /** + * Required. Data store with which this promotion is attached to. + */ + dataStore?: string | null; + /** + * Required. Promotion attached to this action. + */ + searchLinkPromotion?: Schema$GoogleCloudDiscoveryengineV1SearchLinkPromotion; + } /** * Redirects a shopper to the provided URI. */ @@ -7895,10 +9708,18 @@ export namespace discoveryengine_v1beta { * DataStore captures global settings and configs at the DataStore level. */ export interface Schema$GoogleCloudDiscoveryengineV1DataStore { + /** + * Optional. Configuration for advanced site search. + */ + advancedSiteSearchConfig?: Schema$GoogleCloudDiscoveryengineV1AdvancedSiteSearchConfig; /** * Output only. Data size estimation for billing. */ billingEstimation?: Schema$GoogleCloudDiscoveryengineV1DataStoreBillingEstimation; + /** + * Output only. CMEK-related information for the DataStore. + */ + cmekConfig?: Schema$GoogleCloudDiscoveryengineV1CmekConfig; /** * Immutable. The content config of the data store. If this field is unset, the server behavior defaults to ContentConfig.NO_CONTENT. */ @@ -7923,6 +9744,14 @@ export namespace discoveryengine_v1beta { * Immutable. The industry vertical that the data store registers. */ industryVertical?: string | null; + /** + * Optional. If set, this DataStore is an Infobot FAQ DataStore. + */ + isInfobotFaqDataStore?: boolean | null; + /** + * Input only. The KMS key to be used to protect this DataStore at creation time. Must be set for requests that need to comply with CMEK Org Policy protections. If this field is set and processed successfully, the DataStore will be protected by the KMS key, as indicated in the cmek_config field. + */ + kmsKeyName?: string | null; /** * Immutable. The full resource name of the data store. Format: `projects/{project\}/locations/{location\}/collections/{collection_id\}/dataStores/{data_store_id\}`. This field must be a UTF-8 encoded string with a length limit of 1024 characters. */ @@ -7930,7 +9759,7 @@ export namespace discoveryengine_v1beta { /** * Optional. Stores serving config at DataStore level. */ - servingConfigDataStore?: Schema$GoogleCloudDiscoveryengineV1ServingConfigDataStore; + servingConfigDataStore?: Schema$GoogleCloudDiscoveryengineV1DataStoreServingConfigDataStore; /** * The solutions that the data store enrolls. Available solutions for each industry_vertical: * `MEDIA`: `SOLUTION_TYPE_RECOMMENDATION` and `SOLUTION_TYPE_SEARCH`. * `SITE_SEARCH`: `SOLUTION_TYPE_SEARCH` is automatically enrolled. Other solutions cannot be enrolled. */ @@ -7973,6 +9802,15 @@ export namespace discoveryengine_v1beta { */ websiteDataUpdateTime?: string | null; } + /** + * Stores information regarding the serving configurations at DataStore level. + */ + export interface Schema$GoogleCloudDiscoveryengineV1DataStoreServingConfigDataStore { + /** + * If set true, the DataStore will not be available for serving search requests. + */ + disabledForServing?: boolean | null; + } /** * Metadata related to the progress of the DataStoreService.DeleteDataStore operation. This will be returned by the google.longrunning.Operation.metadata field. */ @@ -7999,6 +9837,19 @@ export namespace discoveryengine_v1beta { */ updateTime?: string | null; } + /** + * Metadata related to the progress of the IdentityMappingStoreService.DeleteIdentityMappingStore operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1DeleteIdentityMappingStoreMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } /** * Metadata for DeleteSchema LRO. */ @@ -8043,7 +9894,7 @@ export namespace discoveryengine_v1beta { */ export interface Schema$GoogleCloudDiscoveryengineV1DisableAdvancedSiteSearchResponse {} /** - * A singleton resource of DataStore. It's empty when DataStore is created, which defaults to digital parser. The first call to DataStoreService.UpdateDocumentProcessingConfig method will initialize the config. + * A singleton resource of DataStore. If it's empty when DataStore is created and DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED, the default parser will default to digital parser. */ export interface Schema$GoogleCloudDiscoveryengineV1DocumentProcessingConfig { /** @@ -8177,7 +10028,7 @@ export namespace discoveryengine_v1beta { */ displayName?: string | null; /** - * The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: If unspecified, default to `GENERIC`. Vertical on Engine has to match vertical of the DataStore linked to the engine. + * The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine. */ industryVertical?: string | null; /** @@ -8575,13 +10426,296 @@ export namespace discoveryengine_v1beta { structSchema?: {[key: string]: any} | null; } /** - * Stores information regarding the serving configurations at DataStore level. + * Promotion proto includes uri and other helping information to display the promotion. */ - export interface Schema$GoogleCloudDiscoveryengineV1ServingConfigDataStore { + export interface Schema$GoogleCloudDiscoveryengineV1SearchLinkPromotion { /** - * If set true, the DataStore will not be available for serving search requests. + * Optional. The Promotion description. Maximum length: 200 characters. */ - disabledForServing?: boolean | null; + description?: string | null; + /** + * Optional. The enabled promotion will be returned for any serving configs associated with the parent of the control this promotion is attached to. This flag is used for basic site search only. + */ + enabled?: boolean | null; + /** + * Optional. The promotion thumbnail image url. + */ + imageUri?: string | null; + /** + * Required. The title of the promotion. Maximum length: 160 characters. + */ + title?: string | null; + /** + * Required. The URL for the page the user wants to promote. + */ + uri?: string | null; + } + /** + * A specification for configuring the behavior of content search. + */ + export interface Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec { + /** + * Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS + */ + chunkSpec?: Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecChunkSpec; + /** + * If there is no extractive_content_spec provided, there will be no extractive answer in the search response. + */ + extractiveContentSpec?: Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecExtractiveContentSpec; + /** + * Specifies the search result mode. If unspecified, the search result mode defaults to `DOCUMENTS`. + */ + searchResultMode?: string | null; + /** + * If `snippetSpec` is not specified, snippets are not included in the search response. + */ + snippetSpec?: Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSnippetSpec; + /** + * If `summarySpec` is not specified, summaries are not included in the search response. + */ + summarySpec?: Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpec; + } + /** + * Specifies the chunk spec to be returned from the search response. Only available if the SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS + */ + export interface Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecChunkSpec { + /** + * The number of next chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no next chunks will be returned. + */ + numNextChunks?: number | null; + /** + * The number of previous chunks to be returned of the current chunk. The maximum allowed value is 3. If not specified, no previous chunks will be returned. + */ + numPreviousChunks?: number | null; + } + /** + * A specification for configuring the extractive content in a search response. + */ + export interface Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecExtractiveContentSpec { + /** + * The maximum number of extractive answers returned in each search result. An extractive answer is a verbatim answer extracted from the original document, which provides a precise and contextually relevant answer to the search query. If the number of matching answers is less than the `max_extractive_answer_count`, return all of the answers. Otherwise, return the `max_extractive_answer_count`. At most five answers are returned for each SearchResult. + */ + maxExtractiveAnswerCount?: number | null; + /** + * The max number of extractive segments returned in each search result. Only applied if the DataStore is set to DataStore.ContentConfig.CONTENT_REQUIRED or DataStore.solution_types is SOLUTION_TYPE_CHAT. An extractive segment is a text segment extracted from the original document that is relevant to the search query, and, in general, more verbose than an extractive answer. The segment could then be used as input for LLMs to generate summaries and answers. If the number of matching segments is less than `max_extractive_segment_count`, return all of the segments. Otherwise, return the `max_extractive_segment_count`. + */ + maxExtractiveSegmentCount?: number | null; + /** + * Return at most `num_next_segments` segments after each selected segments. + */ + numNextSegments?: number | null; + /** + * Specifies whether to also include the adjacent from each selected segments. Return at most `num_previous_segments` segments before each selected segments. + */ + numPreviousSegments?: number | null; + /** + * Specifies whether to return the confidence score from the extractive segments in each search result. This feature is available only for new or allowlisted data stores. To allowlist your data store, contact your Customer Engineer. The default value is `false`. + */ + returnExtractiveSegmentScore?: boolean | null; + } + /** + * A specification for configuring snippets in a search response. + */ + export interface Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSnippetSpec { + /** + * [DEPRECATED] This field is deprecated. To control snippet return, use `return_snippet` field. For backwards compatibility, we will return snippet if max_snippet_count \> 0. + */ + maxSnippetCount?: number | null; + /** + * [DEPRECATED] This field is deprecated and will have no affect on the snippet. + */ + referenceOnly?: boolean | null; + /** + * If `true`, then return snippet. If no snippet can be generated, we return "No snippet is available for this page." A `snippet_status` with `SUCCESS` or `NO_SNIPPET_AVAILABLE` will also be returned. + */ + returnSnippet?: boolean | null; + } + /** + * A specification for configuring a summary returned in a search response. + */ + export interface Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpec { + /** + * Specifies whether to filter out adversarial queries. The default value is `false`. Google employs search-query classification to detect adversarial queries. No summary is returned if the search query is classified as an adversarial query. For example, a user might ask a question regarding negative comments about the company or submit a query designed to generate unsafe, policy-violating output. If this field is set to `true`, we skip generating summaries for adversarial queries and return fallback messages instead. + */ + ignoreAdversarialQuery?: boolean | null; + /** + * Optional. Specifies whether to filter out jail-breaking queries. The default value is `false`. Google employs search-query classification to detect jail-breaking queries. No summary is returned if the search query is classified as a jail-breaking query. A user might add instructions to the query to change the tone, style, language, content of the answer, or ask the model to act as a different entity, e.g. "Reply in the tone of a competing company's CEO". If this field is set to `true`, we skip generating summaries for jail-breaking queries and return fallback messages instead. + */ + ignoreJailBreakingQuery?: boolean | null; + /** + * Specifies whether to filter out queries that have low relevance. The default value is `false`. If this field is set to `false`, all search results are used regardless of relevance to generate answers. If set to `true`, only queries with high relevance search results will generate answers. + */ + ignoreLowRelevantContent?: boolean | null; + /** + * Specifies whether to filter out queries that are not summary-seeking. The default value is `false`. Google employs search-query classification to detect summary-seeking queries. No summary is returned if the search query is classified as a non-summary seeking query. For example, `why is the sky blue` and `Who is the best soccer player in the world?` are summary-seeking queries, but `SFO airport` and `world cup 2026` are not. They are most likely navigational queries. If this field is set to `true`, we skip generating summaries for non-summary seeking queries and return fallback messages instead. + */ + ignoreNonSummarySeekingQuery?: boolean | null; + /** + * Specifies whether to include citations in the summary. The default value is `false`. When this field is set to `true`, summaries include in-line citation numbers. Example summary including citations: BigQuery is Google Cloud's fully managed and completely serverless enterprise data warehouse [1]. BigQuery supports all data types, works across clouds, and has built-in machine learning and business intelligence, all within a unified platform [2, 3]. The citation numbers refer to the returned search results and are 1-indexed. For example, [1] means that the sentence is attributed to the first search result. [2, 3] means that the sentence is attributed to both the second and third search results. + */ + includeCitations?: boolean | null; + /** + * Language code for Summary. Use language tags defined by [BCP47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). Note: This is an experimental feature. + */ + languageCode?: string | null; + /** + * If specified, the spec will be used to modify the prompt provided to the LLM. + */ + modelPromptSpec?: Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelPromptSpec; + /** + * If specified, the spec will be used to modify the model specification provided to the LLM. + */ + modelSpec?: Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelSpec; + /** + * The number of top results to generate the summary from. If the number of results returned is less than `summaryResultCount`, the summary is generated from all of the results. At most 10 results for documents mode, or 50 for chunks mode, can be used to generate a summary. The chunks mode is used when SearchRequest.ContentSearchSpec.search_result_mode is set to CHUNKS. + */ + summaryResultCount?: number | null; + /** + * If true, answer will be generated from most relevant chunks from top search results. This feature will improve summary quality. Note that with this feature enabled, not all top search results will be referenced and included in the reference list, so the citation source index only points to the search results listed in the reference list. + */ + useSemanticChunks?: boolean | null; + } + /** + * Specification of the prompt to use with the model. + */ + export interface Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelPromptSpec { + /** + * Text at the beginning of the prompt that instructs the assistant. Examples are available in the user guide. + */ + preamble?: string | null; + } + /** + * Specification of the model. + */ + export interface Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpecSummarySpecModelSpec { + /** + * The model version used to generate the summary. Supported values are: * `stable`: string. Default value when no value is specified. Uses a generally available, fine-tuned model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models). * `preview`: string. (Public preview) Uses a preview model. For more information, see [Answer generation model versions and lifecycle](https://cloud.google.com/generative-ai-app-builder/docs/answer-generation-models). + */ + version?: string | null; + } + /** + * Configures metadata that is used to generate serving time results (e.g. search results or recommendation predictions). The ServingConfig is passed in the search and predict request and generates results. + */ + export interface Schema$GoogleCloudDiscoveryengineV1ServingConfig { + /** + * Boost controls to use in serving path. All triggered boost controls will be applied. Boost controls must be in the same data store as the serving config. Maximum of 20 boost controls. + */ + boostControlIds?: string[] | null; + /** + * Output only. ServingConfig created timestamp. + */ + createTime?: string | null; + /** + * Required. The human readable serving config display name. Used in Discovery UI. This field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. + */ + displayName?: string | null; + /** + * Condition do not associate specifications. If multiple do not associate conditions match, all matching do not associate controls in the list will execute. Order does not matter. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH. + */ + dissociateControlIds?: string[] | null; + /** + * How much diversity to use in recommendation model results e.g. `medium-diversity` or `high-diversity`. Currently supported values: * `no-diversity` * `low-diversity` * `medium-diversity` * `high-diversity` * `auto-diversity` If not specified, we choose default based on recommendation model type. Default value: `no-diversity`. Can only be set if SolutionType is SOLUTION_TYPE_RECOMMENDATION. + */ + diversityLevel?: string | null; + /** + * Filter controls to use in serving path. All triggered filter controls will be applied. Filter controls must be in the same data store as the serving config. Maximum of 20 filter controls. + */ + filterControlIds?: string[] | null; + /** + * The GenericConfig of the serving configuration. + */ + genericConfig?: Schema$GoogleCloudDiscoveryengineV1ServingConfigGenericConfig; + /** + * Condition ignore specifications. If multiple ignore conditions match, all matching ignore controls in the list will execute. Order does not matter. Maximum number of specifications is 100. + */ + ignoreControlIds?: string[] | null; + /** + * The MediaConfig of the serving configuration. + */ + mediaConfig?: Schema$GoogleCloudDiscoveryengineV1ServingConfigMediaConfig; + /** + * The id of the model to use at serving time. Currently only RecommendationModels are supported. Can be changed but only to a compatible model (e.g. others-you-may-like CTR to others-you-may-like CVR). Required when SolutionType is SOLUTION_TYPE_RECOMMENDATION. + */ + modelId?: string | null; + /** + * Immutable. Fully qualified name `projects/{project\}/locations/{location\}/collections/{collection_id\}/engines/{engine_id\}/servingConfigs/{serving_config_id\}` + */ + name?: string | null; + /** + * Condition oneway synonyms specifications. If multiple oneway synonyms conditions match, all matching oneway synonyms controls in the list will execute. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH. + */ + onewaySynonymsControlIds?: string[] | null; + /** + * Condition promote specifications. Maximum number of specifications is 100. + */ + promoteControlIds?: string[] | null; + /** + * The ranking expression controls the customized ranking on retrieval documents. To leverage this, document embedding is required. The ranking expression setting in ServingConfig applies to all search requests served by the serving config. However, if `SearchRequest.ranking_expression` is specified, it overrides the ServingConfig ranking expression. The ranking expression is a single function or multiple functions that are joined by "+". * ranking_expression = function, { " + ", function \}; Supported functions: * double * relevance_score * double * dotProduct(embedding_field_path) Function variables: * `relevance_score`: pre-defined keywords, used for measure relevance between query and document. * `embedding_field_path`: the document embedding field used with query embedding vector. * `dotProduct`: embedding function between embedding_field_path and query embedding vector. Example ranking expression: If document has an embedding field doc_embedding, the ranking expression could be `0.5 * relevance_score + 0.3 * dotProduct(doc_embedding)`. + */ + rankingExpression?: string | null; + /** + * IDs of the redirect controls. Only the first triggered redirect action is applied, even if multiple apply. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH. + */ + redirectControlIds?: string[] | null; + /** + * Condition replacement specifications. Applied according to the order in the list. A previously replaced term can not be re-replaced. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH. + */ + replacementControlIds?: string[] | null; + /** + * Required. Immutable. Specifies the solution type that a serving config can be associated with. + */ + solutionType?: string | null; + /** + * Condition synonyms specifications. If multiple synonyms conditions match, all matching synonyms controls in the list will execute. Maximum number of specifications is 100. Can only be set if SolutionType is SOLUTION_TYPE_SEARCH. + */ + synonymsControlIds?: string[] | null; + /** + * Output only. ServingConfig updated timestamp. + */ + updateTime?: string | null; + } + /** + * Specifies the configurations needed for Generic Discovery.Currently we support: * `content_search_spec`: configuration for generic content search. + */ + export interface Schema$GoogleCloudDiscoveryengineV1ServingConfigGenericConfig { + /** + * Specifies the expected behavior of content search. Only valid for content-search enabled data store. + */ + contentSearchSpec?: Schema$GoogleCloudDiscoveryengineV1SearchRequestContentSearchSpec; + } + /** + * Specifies the configurations needed for Media Discovery. Currently we support: * `demote_content_watched`: Threshold for watched content demotion. Customers can specify if using watched content demotion or use viewed detail page. Using the content watched demotion, customers need to specify the watched minutes or percentage exceeds the threshold, the content will be demoted in the recommendation result. * `promote_fresh_content`: cutoff days for fresh content promotion. Customers can specify if using content freshness promotion. If the content was published within the cutoff days, the content will be promoted in the recommendation result. Can only be set if SolutionType is SOLUTION_TYPE_RECOMMENDATION. + */ + export interface Schema$GoogleCloudDiscoveryengineV1ServingConfigMediaConfig { + /** + * Specifies the content freshness used for recommendation result. Contents will be demoted if contents were published for more than content freshness cutoff days. + */ + contentFreshnessCutoffDays?: number | null; + /** + * Specifies the content watched percentage threshold for demotion. Threshold value must be between [0, 1.0] inclusive. + */ + contentWatchedPercentageThreshold?: number | null; + /** + * Specifies the content watched minutes threshold for demotion. + */ + contentWatchedSecondsThreshold?: number | null; + /** + * Optional. Specifies the number of days to look back for demoting watched content. If set to zero or unset, defaults to the maximum of 365 days. + */ + demoteContentWatchedPastDays?: number | null; + /** + * Specifies the event type used for demoting recommendation result. Currently supported values: * `view-item`: Item viewed. * `media-play`: Start/resume watching a video, playing a song, etc. * `media-complete`: Finished or stopped midway through a video, song, etc. If unset, watch history demotion will not be applied. Content freshness demotion will still be applied. + */ + demotionEventType?: string | null; + } + /** + * Metadata for single-regional CMEKs. + */ + export interface Schema$GoogleCloudDiscoveryengineV1SingleRegionKey { + /** + * Required. Single-regional kms key resource name which will be used to encrypt resources `projects/{project\}/locations/{location\}/keyRings/{keyRing\}/cryptoKeys/{keyId\}`. + */ + kmsKey?: string | null; } /** * Verification information for target sites in advanced site search. @@ -8601,7 +10735,7 @@ export namespace discoveryengine_v1beta { */ export interface Schema$GoogleCloudDiscoveryengineV1TargetSite { /** - * Input only. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine. + * Immutable. If set to false, a uri_pattern is generated to include all pages whose address contains the provided_uri_pattern. If set to true, an uri_pattern is generated to try to be an exact match of the provided_uri_pattern or just the specific page if the provided_uri_pattern is a specific one. provided_uri_pattern is always normalized to generate the URI pattern to be used by the search engine. */ exactMatch?: boolean | null; /** @@ -8697,6 +10831,19 @@ export namespace discoveryengine_v1beta { */ modelStatus?: string | null; } + /** + * Metadata related to the progress of the CmekConfigService.UpdateCmekConfig operation. This will be returned by the google.longrunning.Operation.metadata field. + */ + export interface Schema$GoogleCloudDiscoveryengineV1UpdateCmekConfigMetadata { + /** + * Operation create time. + */ + createTime?: string | null; + /** + * Operation last update time. If the operation is done, this is also the finish time. + */ + updateTime?: string | null; + } /** * Metadata for UpdateSchema LRO. */ @@ -8786,6 +10933,94 @@ export namespace discoveryengine_v1beta { */ response?: {[key: string]: any} | null; } + /** + * A single data point in a time series. + */ + export interface Schema$GoogleMonitoringV3Point { + /** + * The time interval to which the data point applies. For `GAUGE` metrics, the start time is optional, but if it is supplied, it must equal the end time. For `DELTA` metrics, the start and end time should specify a non-zero interval, with subsequent points specifying contiguous and non-overlapping intervals. For `CUMULATIVE` metrics, the start and end time should specify a non-zero interval, with subsequent points specifying the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points. + */ + interval?: Schema$GoogleMonitoringV3TimeInterval; + /** + * The value of the data point. + */ + value?: Schema$GoogleMonitoringV3TypedValue; + } + /** + * A time interval extending just after a start time through an end time. If the start time is the same as the end time, then the interval represents a single point in time. + */ + export interface Schema$GoogleMonitoringV3TimeInterval { + /** + * Required. The end of the time interval. + */ + endTime?: string | null; + /** + * Optional. The beginning of the time interval. The default value for the start time is the end time. The start time must not be later than the end time. + */ + startTime?: string | null; + } + /** + * A collection of data points that describes the time-varying values of a metric. A time series is identified by a combination of a fully-specified monitored resource and a fully-specified metric. This type is used for both listing and creating time series. + */ + export interface Schema$GoogleMonitoringV3TimeSeries { + /** + * Input only. A detailed description of the time series that will be associated with the google.api.MetricDescriptor for the metric. Once set, this field cannot be changed through CreateTimeSeries. + */ + description?: string | null; + /** + * Output only. The associated monitored resource metadata. When reading a time series, this field will include metadata labels that are explicitly named in the reduction. When creating a time series, this field is ignored. + */ + metadata?: Schema$GoogleApiMonitoredResourceMetadata; + /** + * The associated metric. A fully-specified metric used to identify the time series. + */ + metric?: Schema$GoogleApiMetric; + /** + * The metric kind of the time series. When listing time series, this metric kind might be different from the metric kind of the associated metric if this time series is an alignment or reduction of other time series. When creating a time series, this field is optional. If present, it must be the same as the metric kind of the associated metric. If the associated metric's descriptor must be auto-created, then this field specifies the metric kind of the new descriptor and must be either `GAUGE` (the default) or `CUMULATIVE`. + */ + metricKind?: string | null; + /** + * The data points of this time series. When listing time series, points are returned in reverse time order. When creating a time series, this field must contain exactly one point and the point's type must be the same as the value type of the associated metric. If the associated metric's descriptor must be auto-created, then the value type of the descriptor is determined by the point's type, which must be `BOOL`, `INT64`, `DOUBLE`, or `DISTRIBUTION`. + */ + points?: Schema$GoogleMonitoringV3Point[]; + /** + * The associated monitored resource. Custom metrics can use only certain monitored resource types in their time series data. For more information, see [Monitored resources for custom metrics](https://cloud.google.com/monitoring/custom-metrics/creating-metrics#custom-metric-resources). + */ + resource?: Schema$GoogleApiMonitoredResource; + /** + * The units in which the metric value is reported. It is only applicable if the `value_type` is `INT64`, `DOUBLE`, or `DISTRIBUTION`. The `unit` defines the representation of the stored metric values. This field can only be changed through CreateTimeSeries when it is empty. + */ + unit?: string | null; + /** + * The value type of the time series. When listing time series, this value type might be different from the value type of the associated metric if this time series is an alignment or reduction of other time series. When creating a time series, this field is optional. If present, it must be the same as the type of the data in the `points` field. + */ + valueType?: string | null; + } + /** + * A single strongly-typed value. + */ + export interface Schema$GoogleMonitoringV3TypedValue { + /** + * A Boolean value: `true` or `false`. + */ + boolValue?: boolean | null; + /** + * A distribution value. + */ + distributionValue?: Schema$GoogleApiDistribution; + /** + * A 64-bit double-precision floating-point number. Its magnitude is approximately ±10±300 and it has 16 significant digits of precision. + */ + doubleValue?: number | null; + /** + * A 64-bit integer. Its range is approximately ±9.2x1018. + */ + int64Value?: string | null; + /** + * A variable-length string value. + */ + stringValue?: string | null; + } /** * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} */ @@ -8824,6 +11059,60 @@ export namespace discoveryengine_v1beta { */ year?: number | null; } + /** + * Represents civil time (or occasionally physical time). This type can represent a civil time in one of a few possible ways: * When utc_offset is set and time_zone is unset: a civil time on a calendar day with a particular offset from UTC. * When time_zone is set and utc_offset is unset: a civil time on a calendar day in a particular time zone. * When neither time_zone nor utc_offset is set: a civil time on a calendar day in local time. The date is relative to the Proleptic Gregorian Calendar. If year, month, or day are 0, the DateTime is considered not to have a specific year, month, or day respectively. This type may also be used to represent a physical time if all the date and time fields are set and either case of the `time_offset` oneof is set. Consider using `Timestamp` message for physical time instead. If your use case also would like to store the user's timezone, that can be done in another field. This type is more flexible than some applications may want. Make sure to document and validate your application's limitations. + */ + export interface Schema$GoogleTypeDateTime { + /** + * Optional. Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a datetime without a day. + */ + day?: number | null; + /** + * Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to 0 (midnight). An API may choose to allow the value "24:00:00" for scenarios like business closing time. + */ + hours?: number | null; + /** + * Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0. + */ + minutes?: number | null; + /** + * Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime without a month. + */ + month?: number | null; + /** + * Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999, defaults to 0. + */ + nanos?: number | null; + /** + * Optional. Seconds of minutes of the time. Must normally be from 0 to 59, defaults to 0. An API may allow the value 60 if it allows leap-seconds. + */ + seconds?: number | null; + /** + * Time zone. + */ + timeZone?: Schema$GoogleTypeTimeZone; + /** + * UTC offset. Must be whole seconds, between -18 hours and +18 hours. For example, a UTC offset of -4:00 would be represented as { seconds: -14400 \}. + */ + utcOffset?: string | null; + /** + * Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime without a year. + */ + year?: number | null; + } + /** + * Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/time-zones). + */ + export interface Schema$GoogleTypeTimeZone { + /** + * IANA Time Zone Database time zone. For example "America/New_York". + */ + id?: string | null; + /** + * Optional. IANA Time Zone Database version number. For example "2019a". + */ + version?: string | null; + } export class Resource$Projects { context: APIRequestContext; @@ -8985,6 +11274,117 @@ export namespace discoveryengine_v1beta { this.context ); } + + /** + * Generates grounded content. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generateGroundedContent( + params: Params$Resource$Projects$Locations$Generategroundedcontent, + options: StreamMethodOptions + ): GaxiosPromise; + generateGroundedContent( + params?: Params$Resource$Projects$Locations$Generategroundedcontent, + options?: MethodOptions + ): GaxiosPromise; + generateGroundedContent( + params: Params$Resource$Projects$Locations$Generategroundedcontent, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateGroundedContent( + params: Params$Resource$Projects$Locations$Generategroundedcontent, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generateGroundedContent( + params: Params$Resource$Projects$Locations$Generategroundedcontent, + callback: BodyResponseCallback + ): void; + generateGroundedContent( + callback: BodyResponseCallback + ): void; + generateGroundedContent( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Generategroundedcontent + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Generategroundedcontent; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Generategroundedcontent; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta/{+location}:generateGroundedContent' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['location'], + pathParams: ['location'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Generategroundedcontent + extends StandardParameters { + /** + * Required. Location resource. Format: `projects/{project\}/locations/{location\}`. + */ + location?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1betaGenerateGroundedContentRequest; } export class Resource$Projects$Locations$Collections { @@ -9251,6 +11651,7 @@ export namespace discoveryengine_v1beta { export class Resource$Projects$Locations$Collections$Datastores { context: APIRequestContext; branches: Resource$Projects$Locations$Collections$Datastores$Branches; + completionConfig: Resource$Projects$Locations$Collections$Datastores$Completionconfig; completionSuggestions: Resource$Projects$Locations$Collections$Datastores$Completionsuggestions; controls: Resource$Projects$Locations$Collections$Datastores$Controls; conversations: Resource$Projects$Locations$Collections$Datastores$Conversations; @@ -9269,6 +11670,10 @@ export namespace discoveryengine_v1beta { new Resource$Projects$Locations$Collections$Datastores$Branches( this.context ); + this.completionConfig = + new Resource$Projects$Locations$Collections$Datastores$Completionconfig( + this.context + ); this.completionSuggestions = new Resource$Projects$Locations$Collections$Datastores$Completionsuggestions( this.context @@ -10119,6 +12524,10 @@ export namespace discoveryengine_v1beta { } export interface Params$Resource$Projects$Locations$Collections$Datastores$Create extends StandardParameters { + /** + * Resource name of the CmekConfig to use for protecting this DataStore. + */ + cmekConfigName?: string; /** * A boolean flag indicating whether user want to directly create an advanced data store for site search. If the data store is not configured as site search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will be ignored. */ @@ -10127,6 +12536,10 @@ export namespace discoveryengine_v1beta { * Required. The ID to use for the DataStore, which will become the final component of the DataStore's resource name. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an INVALID_ARGUMENT error is returned. */ dataStoreId?: string; + /** + * DataStore without CMEK protections. If a default CmekConfig is set for the project, setting this field will override the default CmekConfig as well. + */ + disableCmek?: boolean; /** * Required. The parent resource name, such as `projects/{project\}/locations/{location\}/collections/{collection\}`. */ @@ -11025,7 +13438,7 @@ export namespace discoveryengine_v1beta { export interface Params$Resource$Projects$Locations$Collections$Datastores$Branches$Documents$Create extends StandardParameters { /** - * Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. + * Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. */ documentId?: string; /** @@ -11119,7 +13532,7 @@ export namespace discoveryengine_v1beta { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -11444,6 +13857,124 @@ export namespace discoveryengine_v1beta { pageToken?: string; } + export class Resource$Projects$Locations$Collections$Datastores$Completionconfig { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Completes the user input with advanced keyword suggestions. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + completeQuery( + params: Params$Resource$Projects$Locations$Collections$Datastores$Completionconfig$Completequery, + options: StreamMethodOptions + ): GaxiosPromise; + completeQuery( + params?: Params$Resource$Projects$Locations$Collections$Datastores$Completionconfig$Completequery, + options?: MethodOptions + ): GaxiosPromise; + completeQuery( + params: Params$Resource$Projects$Locations$Collections$Datastores$Completionconfig$Completequery, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + completeQuery( + params: Params$Resource$Projects$Locations$Collections$Datastores$Completionconfig$Completequery, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + completeQuery( + params: Params$Resource$Projects$Locations$Collections$Datastores$Completionconfig$Completequery, + callback: BodyResponseCallback + ): void; + completeQuery( + callback: BodyResponseCallback + ): void; + completeQuery( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Datastores$Completionconfig$Completequery + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Datastores$Completionconfig$Completequery; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Datastores$Completionconfig$Completequery; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta/{+completionConfig}:completeQuery' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['completionConfig'], + pathParams: ['completionConfig'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Collections$Datastores$Completionconfig$Completequery + extends StandardParameters { + /** + * Required. The completion_config of the parent dataStore or engine resource name for which the completion is performed, such as `projects/x/locations/global/collections/default_collection/dataStores/x/completionConfig` `projects/x/locations/global/collections/default_collection/engines/x/completionConfig`. + */ + completionConfig?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequest; + } + export class Resource$Projects$Locations$Collections$Datastores$Completionsuggestions { context: APIRequestContext; constructor(context: APIRequestContext) { @@ -14839,6 +17370,204 @@ export namespace discoveryengine_v1beta { ); } } + + /** + * Performs a search. Similar to the SearchService.Search method, but a lite version that allows API key for authentication, where OAuth and IAM checks are not required. Only public website search is supported by this method. If data stores and engines not associated with public website search are specified, a `FAILED_PRECONDITION` error is returned. This method can be used for easy onboarding without having to implement an authentication backend. However, it is strongly recommended to use SearchService.Search instead with required OAuth and IAM checks to provide better data security. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + searchLite( + params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Searchlite, + options: StreamMethodOptions + ): GaxiosPromise; + searchLite( + params?: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Searchlite, + options?: MethodOptions + ): GaxiosPromise; + searchLite( + params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Searchlite, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + searchLite( + params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Searchlite, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + searchLite( + params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Searchlite, + callback: BodyResponseCallback + ): void; + searchLite( + callback: BodyResponseCallback + ): void; + searchLite( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Searchlite + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Searchlite; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Searchlite; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+servingConfig}:searchLite').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['servingConfig'], + pathParams: ['servingConfig'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Answer query method (streaming). It takes one AnswerQueryRequest and returns multiple AnswerQueryResponse messages in a stream. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + streamAnswer( + params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer, + options: StreamMethodOptions + ): GaxiosPromise; + streamAnswer( + params?: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer, + options?: MethodOptions + ): GaxiosPromise; + streamAnswer( + params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + streamAnswer( + params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + streamAnswer( + params: Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer, + callback: BodyResponseCallback + ): void; + streamAnswer( + callback: BodyResponseCallback + ): void; + streamAnswer( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+servingConfig}:streamAnswer').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['servingConfig'], + pathParams: ['servingConfig'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } } export interface Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Answer @@ -14915,6 +17644,30 @@ export namespace discoveryengine_v1beta { */ requestBody?: Schema$GoogleCloudDiscoveryengineV1betaSearchRequest; } + export interface Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Searchlite + extends StandardParameters { + /** + * Required. The resource name of the Search serving config, such as `projects/x/locations/global/collections/default_collection/engines/x/servingConfigs/default_serving_config`, or `projects/x/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search. + */ + servingConfig?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1betaSearchRequest; + } + export interface Params$Resource$Projects$Locations$Collections$Datastores$Servingconfigs$Streamanswer + extends StandardParameters { + /** + * Required. The resource name of the Search serving config, such as `projects/x/locations/global/collections/default_collection/engines/x/servingConfigs/default_serving_config`, or `projects/x/locations/global/collections/default_collection/dataStores/x/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search. + */ + servingConfig?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1betaAnswerQueryRequest; + } export class Resource$Projects$Locations$Collections$Datastores$Sessions { context: APIRequestContext; @@ -15429,6 +18182,10 @@ export namespace discoveryengine_v1beta { } export interface Params$Resource$Projects$Locations$Collections$Datastores$Sessions$Get extends StandardParameters { + /** + * Optional. If set to true, the full session including all answer details will be returned. + */ + includeAnswerDetails?: boolean; /** * Required. The resource name of the Session to get. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store_id\}/sessions/{session_id\}` */ @@ -15441,7 +18198,7 @@ export namespace discoveryengine_v1beta { */ filter?: string; /** - * A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` Example: "update_time desc" "create_time" + * A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * "update_time desc" * "create_time" * "is_pinned desc,update_time desc": list sessions by is_pinned first, then by update_time. */ orderBy?: string; /** @@ -15588,6 +18345,7 @@ export namespace discoveryengine_v1beta { export class Resource$Projects$Locations$Collections$Datastores$Sitesearchengine { context: APIRequestContext; operations: Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Operations; + sitemaps: Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps; targetSites: Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites; constructor(context: APIRequestContext) { this.context = context; @@ -15595,6 +18353,10 @@ export namespace discoveryengine_v1beta { new Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Operations( this.context ); + this.sitemaps = + new Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps( + this.context + ); this.targetSites = new Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites( this.context @@ -16378,115 +19140,14 @@ export namespace discoveryengine_v1beta { pageToken?: string; } - export class Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites { + export class Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps { context: APIRequestContext; - operations: Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Operations; constructor(context: APIRequestContext) { this.context = context; - this.operations = - new Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Operations( - this.context - ); } /** - * Creates TargetSite in a batch. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - batchCreate( - params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Batchcreate, - options: StreamMethodOptions - ): GaxiosPromise; - batchCreate( - params?: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Batchcreate, - options?: MethodOptions - ): GaxiosPromise; - batchCreate( - params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Batchcreate, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - batchCreate( - params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Batchcreate, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - batchCreate( - params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Batchcreate, - callback: BodyResponseCallback - ): void; - batchCreate( - callback: BodyResponseCallback - ): void; - batchCreate( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Batchcreate - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Batchcreate; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Batchcreate; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://discoveryengine.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: ( - rootUrl + '/v1beta/{+parent}/targetSites:batchCreate' - ).replace(/([^:]\/)\/+/g, '$1'), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['parent'], - pathParams: ['parent'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Creates a TargetSite. + * Creates a Sitemap. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -16494,27 +19155,27 @@ export namespace discoveryengine_v1beta { * @returns A promise if used with async/await, or void if used with a callback. */ create( - params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Create, + params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Create, options: StreamMethodOptions ): GaxiosPromise; create( - params?: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Create, + params?: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Create, options?: MethodOptions ): GaxiosPromise; create( - params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Create, + params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Create, + params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Create, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Create, + params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Create, callback: BodyResponseCallback ): void; create( @@ -16522,7 +19183,7 @@ export namespace discoveryengine_v1beta { ): void; create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Create + | Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Create | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -16538,13 +19199,13 @@ export namespace discoveryengine_v1beta { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Create; + {}) as Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Create; + {} as Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Create; options = {}; } @@ -16558,7 +19219,326 @@ export namespace discoveryengine_v1beta { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta/{+parent}/targetSites').replace( + url: (rootUrl + '/v1beta/{+parent}/sitemaps').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a Sitemap. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Delete, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Delete, + callback: BodyResponseCallback + ): void; + delete( + callback: BodyResponseCallback + ): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Create + extends StandardParameters { + /** + * Required. Parent resource name of the SiteSearchEngine, such as `projects/x/locations/x/collections/x/dataStores/x/siteSearchEngine`. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1betaSitemap; + } + export interface Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Sitemaps$Delete + extends StandardParameters { + /** + * Required. Full resource name of Sitemap, such as `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}/siteSearchEngine/sitemaps/{sitemap\}`. If the caller does not have permission to access the Sitemap, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested Sitemap does not exist, a NOT_FOUND error is returned. + */ + name?: string; + } + + export class Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites { + context: APIRequestContext; + operations: Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Operations; + constructor(context: APIRequestContext) { + this.context = context; + this.operations = + new Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Operations( + this.context + ); + } + + /** + * Creates TargetSite in a batch. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + batchCreate( + params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Batchcreate, + options: StreamMethodOptions + ): GaxiosPromise; + batchCreate( + params?: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Batchcreate, + options?: MethodOptions + ): GaxiosPromise; + batchCreate( + params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Batchcreate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + batchCreate( + params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Batchcreate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + batchCreate( + params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Batchcreate, + callback: BodyResponseCallback + ): void; + batchCreate( + callback: BodyResponseCallback + ): void; + batchCreate( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Batchcreate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Batchcreate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Batchcreate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta/{+parent}/targetSites:batchCreate' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Creates a TargetSite. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Datastores$Sitesearchengine$Targetsites$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/targetSites').replace( /([^:]\/)\/+/g, '$1' ), @@ -17883,7 +20863,7 @@ export namespace discoveryengine_v1beta { */ ets?: string; /** - * Required. The parent DataStore resource name, such as `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}`. + * Required. The parent resource name. If the collect user event action is applied in DataStore level, the format is: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}`. If the collect user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project\}/locations/{location\}`. */ parent?: string; /** @@ -17938,6 +20918,7 @@ export namespace discoveryengine_v1beta { export class Resource$Projects$Locations$Collections$Engines { context: APIRequestContext; + completionConfig: Resource$Projects$Locations$Collections$Engines$Completionconfig; controls: Resource$Projects$Locations$Collections$Engines$Controls; conversations: Resource$Projects$Locations$Collections$Engines$Conversations; operations: Resource$Projects$Locations$Collections$Engines$Operations; @@ -17945,6 +20926,10 @@ export namespace discoveryengine_v1beta { sessions: Resource$Projects$Locations$Collections$Engines$Sessions; constructor(context: APIRequestContext) { this.context = context; + this.completionConfig = + new Resource$Projects$Locations$Collections$Engines$Completionconfig( + this.context + ); this.controls = new Resource$Projects$Locations$Collections$Engines$Controls( this.context @@ -18847,6 +21832,124 @@ export namespace discoveryengine_v1beta { requestBody?: Schema$GoogleCloudDiscoveryengineV1betaTuneEngineRequest; } + export class Resource$Projects$Locations$Collections$Engines$Completionconfig { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Completes the user input with advanced keyword suggestions. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + completeQuery( + params: Params$Resource$Projects$Locations$Collections$Engines$Completionconfig$Completequery, + options: StreamMethodOptions + ): GaxiosPromise; + completeQuery( + params?: Params$Resource$Projects$Locations$Collections$Engines$Completionconfig$Completequery, + options?: MethodOptions + ): GaxiosPromise; + completeQuery( + params: Params$Resource$Projects$Locations$Collections$Engines$Completionconfig$Completequery, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + completeQuery( + params: Params$Resource$Projects$Locations$Collections$Engines$Completionconfig$Completequery, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + completeQuery( + params: Params$Resource$Projects$Locations$Collections$Engines$Completionconfig$Completequery, + callback: BodyResponseCallback + ): void; + completeQuery( + callback: BodyResponseCallback + ): void; + completeQuery( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Engines$Completionconfig$Completequery + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Engines$Completionconfig$Completequery; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Engines$Completionconfig$Completequery; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta/{+completionConfig}:completeQuery' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['completionConfig'], + pathParams: ['completionConfig'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Collections$Engines$Completionconfig$Completequery + extends StandardParameters { + /** + * Required. The completion_config of the parent dataStore or engine resource name for which the completion is performed, such as `projects/x/locations/global/collections/default_collection/dataStores/x/completionConfig` `projects/x/locations/global/collections/default_collection/engines/x/completionConfig`. + */ + completionConfig?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequest; + } + export class Resource$Projects$Locations$Collections$Engines$Controls { context: APIRequestContext; constructor(context: APIRequestContext) { @@ -20884,6 +23987,204 @@ export namespace discoveryengine_v1beta { ); } } + + /** + * Performs a search. Similar to the SearchService.Search method, but a lite version that allows API key for authentication, where OAuth and IAM checks are not required. Only public website search is supported by this method. If data stores and engines not associated with public website search are specified, a `FAILED_PRECONDITION` error is returned. This method can be used for easy onboarding without having to implement an authentication backend. However, it is strongly recommended to use SearchService.Search instead with required OAuth and IAM checks to provide better data security. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + searchLite( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Searchlite, + options: StreamMethodOptions + ): GaxiosPromise; + searchLite( + params?: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Searchlite, + options?: MethodOptions + ): GaxiosPromise; + searchLite( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Searchlite, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + searchLite( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Searchlite, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + searchLite( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Searchlite, + callback: BodyResponseCallback + ): void; + searchLite( + callback: BodyResponseCallback + ): void; + searchLite( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Searchlite + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Searchlite; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Searchlite; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+servingConfig}:searchLite').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['servingConfig'], + pathParams: ['servingConfig'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Answer query method (streaming). It takes one AnswerQueryRequest and returns multiple AnswerQueryResponse messages in a stream. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + streamAnswer( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer, + options: StreamMethodOptions + ): GaxiosPromise; + streamAnswer( + params?: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer, + options?: MethodOptions + ): GaxiosPromise; + streamAnswer( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + streamAnswer( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + streamAnswer( + params: Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer, + callback: BodyResponseCallback + ): void; + streamAnswer( + callback: BodyResponseCallback + ): void; + streamAnswer( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+servingConfig}:streamAnswer').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['servingConfig'], + pathParams: ['servingConfig'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } } export interface Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Answer @@ -20960,6 +24261,30 @@ export namespace discoveryengine_v1beta { */ requestBody?: Schema$GoogleCloudDiscoveryengineV1betaSearchRequest; } + export interface Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Searchlite + extends StandardParameters { + /** + * Required. The resource name of the Search serving config, such as `projects/x/locations/global/collections/default_collection/engines/x/servingConfigs/default_serving_config`, or `projects/x/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search. + */ + servingConfig?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1betaSearchRequest; + } + export interface Params$Resource$Projects$Locations$Collections$Engines$Servingconfigs$Streamanswer + extends StandardParameters { + /** + * Required. The resource name of the Search serving config, such as `projects/x/locations/global/collections/default_collection/engines/x/servingConfigs/default_serving_config`, or `projects/x/locations/global/collections/default_collection/dataStores/x/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search. + */ + servingConfig?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1betaAnswerQueryRequest; + } export class Resource$Projects$Locations$Collections$Engines$Sessions { context: APIRequestContext; @@ -21474,6 +24799,10 @@ export namespace discoveryengine_v1beta { } export interface Params$Resource$Projects$Locations$Collections$Engines$Sessions$Get extends StandardParameters { + /** + * Optional. If set to true, the full session including all answer details will be returned. + */ + includeAnswerDetails?: boolean; /** * Required. The resource name of the Session to get. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store_id\}/sessions/{session_id\}` */ @@ -21486,7 +24815,7 @@ export namespace discoveryengine_v1beta { */ filter?: string; /** - * A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` Example: "update_time desc" "create_time" + * A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * "update_time desc" * "create_time" * "is_pinned desc,update_time desc": list sessions by is_pinned first, then by update_time. */ orderBy?: string; /** @@ -21860,6 +25189,7 @@ export namespace discoveryengine_v1beta { export class Resource$Projects$Locations$Datastores { context: APIRequestContext; branches: Resource$Projects$Locations$Datastores$Branches; + completionConfig: Resource$Projects$Locations$Datastores$Completionconfig; completionSuggestions: Resource$Projects$Locations$Datastores$Completionsuggestions; controls: Resource$Projects$Locations$Datastores$Controls; conversations: Resource$Projects$Locations$Datastores$Conversations; @@ -21876,6 +25206,10 @@ export namespace discoveryengine_v1beta { this.branches = new Resource$Projects$Locations$Datastores$Branches( this.context ); + this.completionConfig = + new Resource$Projects$Locations$Datastores$Completionconfig( + this.context + ); this.completionSuggestions = new Resource$Projects$Locations$Datastores$Completionsuggestions( this.context @@ -22610,6 +25944,10 @@ export namespace discoveryengine_v1beta { } export interface Params$Resource$Projects$Locations$Datastores$Create extends StandardParameters { + /** + * Resource name of the CmekConfig to use for protecting this DataStore. + */ + cmekConfigName?: string; /** * A boolean flag indicating whether user want to directly create an advanced data store for site search. If the data store is not configured as site search (GENERIC vertical and PUBLIC_WEBSITE content_config), this flag will be ignored. */ @@ -22618,6 +25956,10 @@ export namespace discoveryengine_v1beta { * Required. The ID to use for the DataStore, which will become the final component of the DataStore's resource name. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an INVALID_ARGUMENT error is returned. */ dataStoreId?: string; + /** + * DataStore without CMEK protections. If a default CmekConfig is set for the project, setting this field will override the default CmekConfig as well. + */ + disableCmek?: boolean; /** * Required. The parent resource name, such as `projects/{project\}/locations/{location\}/collections/{collection\}`. */ @@ -23504,7 +26846,7 @@ export namespace discoveryengine_v1beta { export interface Params$Resource$Projects$Locations$Datastores$Branches$Documents$Create extends StandardParameters { /** - * Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 63 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. + * Required. The ID to use for the Document, which becomes the final component of the Document.name. If the caller does not have permission to create the Document, regardless of whether or not it exists, a `PERMISSION_DENIED` error is returned. This field must be unique among all Documents with the same parent. Otherwise, an `ALREADY_EXISTS` error is returned. This field must conform to [RFC-1034](https://tools.ietf.org/html/rfc1034) standard with a length limit of 128 characters. Otherwise, an `INVALID_ARGUMENT` error is returned. */ documentId?: string; /** @@ -23598,7 +26940,7 @@ export namespace discoveryengine_v1beta { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -23923,6 +27265,124 @@ export namespace discoveryengine_v1beta { pageToken?: string; } + export class Resource$Projects$Locations$Datastores$Completionconfig { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Completes the user input with advanced keyword suggestions. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + completeQuery( + params: Params$Resource$Projects$Locations$Datastores$Completionconfig$Completequery, + options: StreamMethodOptions + ): GaxiosPromise; + completeQuery( + params?: Params$Resource$Projects$Locations$Datastores$Completionconfig$Completequery, + options?: MethodOptions + ): GaxiosPromise; + completeQuery( + params: Params$Resource$Projects$Locations$Datastores$Completionconfig$Completequery, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + completeQuery( + params: Params$Resource$Projects$Locations$Datastores$Completionconfig$Completequery, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + completeQuery( + params: Params$Resource$Projects$Locations$Datastores$Completionconfig$Completequery, + callback: BodyResponseCallback + ): void; + completeQuery( + callback: BodyResponseCallback + ): void; + completeQuery( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datastores$Completionconfig$Completequery + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datastores$Completionconfig$Completequery; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Datastores$Completionconfig$Completequery; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta/{+completionConfig}:completeQuery' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['completionConfig'], + pathParams: ['completionConfig'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Datastores$Completionconfig$Completequery + extends StandardParameters { + /** + * Required. The completion_config of the parent dataStore or engine resource name for which the completion is performed, such as `projects/x/locations/global/collections/default_collection/dataStores/x/completionConfig` `projects/x/locations/global/collections/default_collection/engines/x/completionConfig`. + */ + completionConfig?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1betaAdvancedCompleteQueryRequest; + } + export class Resource$Projects$Locations$Datastores$Completionsuggestions { context: APIRequestContext; constructor(context: APIRequestContext) { @@ -26972,6 +30432,204 @@ export namespace discoveryengine_v1beta { ); } } + + /** + * Performs a search. Similar to the SearchService.Search method, but a lite version that allows API key for authentication, where OAuth and IAM checks are not required. Only public website search is supported by this method. If data stores and engines not associated with public website search are specified, a `FAILED_PRECONDITION` error is returned. This method can be used for easy onboarding without having to implement an authentication backend. However, it is strongly recommended to use SearchService.Search instead with required OAuth and IAM checks to provide better data security. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + searchLite( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Searchlite, + options: StreamMethodOptions + ): GaxiosPromise; + searchLite( + params?: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Searchlite, + options?: MethodOptions + ): GaxiosPromise; + searchLite( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Searchlite, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + searchLite( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Searchlite, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + searchLite( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Searchlite, + callback: BodyResponseCallback + ): void; + searchLite( + callback: BodyResponseCallback + ): void; + searchLite( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datastores$Servingconfigs$Searchlite + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datastores$Servingconfigs$Searchlite; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Datastores$Servingconfigs$Searchlite; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+servingConfig}:searchLite').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['servingConfig'], + pathParams: ['servingConfig'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Answer query method (streaming). It takes one AnswerQueryRequest and returns multiple AnswerQueryResponse messages in a stream. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + streamAnswer( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer, + options: StreamMethodOptions + ): GaxiosPromise; + streamAnswer( + params?: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer, + options?: MethodOptions + ): GaxiosPromise; + streamAnswer( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + streamAnswer( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + streamAnswer( + params: Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer, + callback: BodyResponseCallback + ): void; + streamAnswer( + callback: BodyResponseCallback + ): void; + streamAnswer( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+servingConfig}:streamAnswer').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['servingConfig'], + pathParams: ['servingConfig'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } } export interface Params$Resource$Projects$Locations$Datastores$Servingconfigs$Answer @@ -27048,6 +30706,30 @@ export namespace discoveryengine_v1beta { */ requestBody?: Schema$GoogleCloudDiscoveryengineV1betaSearchRequest; } + export interface Params$Resource$Projects$Locations$Datastores$Servingconfigs$Searchlite + extends StandardParameters { + /** + * Required. The resource name of the Search serving config, such as `projects/x/locations/global/collections/default_collection/engines/x/servingConfigs/default_serving_config`, or `projects/x/locations/global/collections/default_collection/dataStores/default_data_store/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search. + */ + servingConfig?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1betaSearchRequest; + } + export interface Params$Resource$Projects$Locations$Datastores$Servingconfigs$Streamanswer + extends StandardParameters { + /** + * Required. The resource name of the Search serving config, such as `projects/x/locations/global/collections/default_collection/engines/x/servingConfigs/default_serving_config`, or `projects/x/locations/global/collections/default_collection/dataStores/x/servingConfigs/default_serving_config`. This field is used to identify the serving configuration name, set of models used to make the search. + */ + servingConfig?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1betaAnswerQueryRequest; + } export class Resource$Projects$Locations$Datastores$Sessions { context: APIRequestContext; @@ -27562,6 +31244,10 @@ export namespace discoveryengine_v1beta { } export interface Params$Resource$Projects$Locations$Datastores$Sessions$Get extends StandardParameters { + /** + * Optional. If set to true, the full session including all answer details will be returned. + */ + includeAnswerDetails?: boolean; /** * Required. The resource name of the Session to get. Format: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store_id\}/sessions/{session_id\}` */ @@ -27574,7 +31260,7 @@ export namespace discoveryengine_v1beta { */ filter?: string; /** - * A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` Example: "update_time desc" "create_time" + * A comma-separated list of fields to order by, sorted in ascending order. Use "desc" after a field name for descending. Supported fields: * `update_time` * `create_time` * `session_name` * `is_pinned` Example: * "update_time desc" * "create_time" * "is_pinned desc,update_time desc": list sessions by is_pinned first, then by update_time. */ orderBy?: string; /** @@ -27720,9 +31406,14 @@ export namespace discoveryengine_v1beta { export class Resource$Projects$Locations$Datastores$Sitesearchengine { context: APIRequestContext; + sitemaps: Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps; targetSites: Resource$Projects$Locations$Datastores$Sitesearchengine$Targetsites; constructor(context: APIRequestContext) { this.context = context; + this.sitemaps = + new Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps( + this.context + ); this.targetSites = new Resource$Projects$Locations$Datastores$Sitesearchengine$Targetsites( this.context @@ -28056,6 +31747,334 @@ export namespace discoveryengine_v1beta { requestBody?: Schema$GoogleCloudDiscoveryengineV1betaRecrawlUrisRequest; } + export class Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a Sitemap. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/sitemaps').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a Sitemap. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Delete, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Delete, + callback: BodyResponseCallback + ): void; + delete( + callback: BodyResponseCallback + ): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Fetch Sitemaps in a DataStore. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + fetch( + params: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Fetch, + options: StreamMethodOptions + ): GaxiosPromise; + fetch( + params?: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Fetch, + options?: MethodOptions + ): GaxiosPromise; + fetch( + params: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Fetch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetch( + params: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Fetch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + fetch( + params: Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Fetch, + callback: BodyResponseCallback + ): void; + fetch( + callback: BodyResponseCallback + ): void; + fetch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Fetch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Fetch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Fetch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/sitemaps:fetch').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Create + extends StandardParameters { + /** + * Required. Parent resource name of the SiteSearchEngine, such as `projects/x/locations/x/collections/x/dataStores/x/siteSearchEngine`. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1betaSitemap; + } + export interface Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Delete + extends StandardParameters { + /** + * Required. Full resource name of Sitemap, such as `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}/siteSearchEngine/sitemaps/{sitemap\}`. If the caller does not have permission to access the Sitemap, regardless of whether or not it exists, a PERMISSION_DENIED error is returned. If the requested Sitemap does not exist, a NOT_FOUND error is returned. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Datastores$Sitesearchengine$Sitemaps$Fetch + extends StandardParameters { + /** + * The Sitemap uris. + */ + 'matcher.urisMatcher.uris'?: string[]; + /** + * Required. Parent resource name of the SiteSearchEngine, such as `projects/x/locations/x/collections/x/dataStores/x/siteSearchEngine`. + */ + parent?: string; + } + export class Resource$Projects$Locations$Datastores$Sitesearchengine$Targetsites { context: APIRequestContext; constructor(context: APIRequestContext) { @@ -29329,7 +33348,7 @@ export namespace discoveryengine_v1beta { */ ets?: string; /** - * Required. The parent DataStore resource name, such as `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}`. + * Required. The parent resource name. If the collect user event action is applied in DataStore level, the format is: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}`. If the collect user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project\}/locations/{location\}`. */ parent?: string; /** @@ -29818,11 +33837,11 @@ export namespace discoveryengine_v1beta { export interface Params$Resource$Projects$Locations$Evaluations$Listresults extends StandardParameters { /** - * Required. The evaluation resource name, such as `projects/{project\}/locations/{location\}/evaluations/{evaluation\}`. If the caller does not have permission to list EvaluationResult under this evaluation, regardless of whether or not this evaluation set exists, a `PERMISSION_DENIED` error is returned. + * Required. The evaluation resource name, such as `projects/{project\}/locations/{location\}/evaluations/{evaluation\}`. If the caller does not have permission to list ListEvaluationResultsResponse.EvaluationResult under this evaluation, regardless of whether or not this evaluation set exists, a `PERMISSION_DENIED` error is returned. */ evaluation?: string; /** - * Maximum number of EvaluationResult to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned. + * Maximum number of ListEvaluationResultsResponse.EvaluationResult to return. If unspecified, defaults to 100. The maximum allowed value is 1000. Values above 1000 will be coerced to 1000. If this field is negative, an `INVALID_ARGUMENT` error is returned. */ pageSize?: number; /** @@ -32062,6 +36081,102 @@ export namespace discoveryengine_v1beta { } } + /** + * Bulk import of user events. Request processing might be synchronous. Events that already exist are skipped. Use this method for backfilling historical user events. Operation.response is of type ImportResponse. Note that it is possible for a subset of the items to be successfully inserted. Operation.metadata is of type ImportMetadata. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + import( + params: Params$Resource$Projects$Locations$Userevents$Import, + options: StreamMethodOptions + ): GaxiosPromise; + import( + params?: Params$Resource$Projects$Locations$Userevents$Import, + options?: MethodOptions + ): GaxiosPromise; + import( + params: Params$Resource$Projects$Locations$Userevents$Import, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + import( + params: Params$Resource$Projects$Locations$Userevents$Import, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + import( + params: Params$Resource$Projects$Locations$Userevents$Import, + callback: BodyResponseCallback + ): void; + import( + callback: BodyResponseCallback + ): void; + import( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Userevents$Import + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Userevents$Import; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Userevents$Import; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://discoveryengine.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/userEvents:import').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Writes a single user event. * @@ -32168,7 +36283,7 @@ export namespace discoveryengine_v1beta { */ ets?: string; /** - * Required. The parent DataStore resource name, such as `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}`. + * Required. The parent resource name. If the collect user event action is applied in DataStore level, the format is: `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}`. If the collect user event action is applied in Location level, for example, the event with Document across multiple DataStore, the format is: `projects/{project\}/locations/{location\}`. */ parent?: string; /** @@ -32180,6 +36295,18 @@ export namespace discoveryengine_v1beta { */ userEvent?: string; } + export interface Params$Resource$Projects$Locations$Userevents$Import + extends StandardParameters { + /** + * Required. Parent DataStore resource name, of the form `projects/{project\}/locations/{location\}/collections/{collection\}/dataStores/{data_store\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudDiscoveryengineV1betaImportUserEventsRequest; + } export interface Params$Resource$Projects$Locations$Userevents$Write extends StandardParameters { /** diff --git a/src/apis/displayvideo/v2.ts b/src/apis/displayvideo/v2.ts index 9fca68b0f6..12db94b29c 100644 --- a/src/apis/displayvideo/v2.ts +++ b/src/apis/displayvideo/v2.ts @@ -187,11 +187,11 @@ export namespace displayvideo_v2 { minimumVolume?: string | null; } /** - * Details of Adloox settings. + * Details of Adloox brand safety settings. */ export interface Schema$Adloox { /** - * Adloox's brand safety settings. + * Adloox categories to exclude. */ excludedAdlooxCategories?: string[] | null; } @@ -221,7 +221,7 @@ export namespace displayvideo_v2 { */ advertiserId?: string | null; /** - * Optional. Required. Billing related settings of the advertiser. + * Required. Billing related settings of the advertiser. */ billingConfig?: Schema$AdvertiserBillingConfig; /** @@ -287,7 +287,7 @@ export namespace displayvideo_v2 { */ export interface Schema$AdvertiserBillingConfig { /** - * Optional. The ID of a billing profile assigned to the advertiser. + * Required. The ID of a billing profile assigned to the advertiser. */ billingProfileId?: string | null; } @@ -3221,7 +3221,7 @@ export namespace displayvideo_v2 { */ name?: string | null; /** - * Required. The budget spending speed setting of the insertion order. *Warning*: Starting on **November 5, 2024**, pacing_type `PACING_TYPE_ASAP` will no longer be compatible with pacing_period `PACING_PERIOD_FLIGHT`. [Read more about this announced change](/display-video/api/deprecations#features.io_asap). + * Required. The budget spending speed setting of the insertion order. pacing_type `PACING_TYPE_ASAP` is not compatible with pacing_period `PACING_PERIOD_FLIGHT`. */ pacing?: Schema$Pacing; /** @@ -4658,7 +4658,7 @@ export namespace displayvideo_v2 { */ pacingPeriod?: string | null; /** - * Required. The type of pacing that defines how the budget amount will be spent across the pacing_period. *Warning*: Starting on **November 5, 2024**, `PACING_TYPE_ASAP` will no longer be compatible with pacing_period `PACING_PERIOD_FLIGHT` for insertion orders. [Read more about this announced change](/display-video/api/deprecations#features.io_asap). + * Required. The type of pacing that defines how the budget amount will be spent across the pacing_period. `PACING_TYPE_ASAP` is not compatible with pacing_period `PACING_PERIOD_FLIGHT` for insertion orders. */ pacingType?: string | null; } @@ -18455,7 +18455,7 @@ export namespace displayvideo_v2 { */ orderBy?: string; /** - * Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + * Requested page size. Must be between `1` and `5000`. If unspecified, this value defaults to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. */ pageSize?: number; /** diff --git a/src/apis/displayvideo/v3.ts b/src/apis/displayvideo/v3.ts index 34492e8846..c009d3402a 100644 --- a/src/apis/displayvideo/v3.ts +++ b/src/apis/displayvideo/v3.ts @@ -306,13 +306,75 @@ export namespace displayvideo_v3 { assignedTargetingOption?: Schema$AssignedTargetingOption; } /** - * Details of Adloox settings. + * Details of Adloox brand safety settings. */ export interface Schema$Adloox { /** - * Adloox's brand safety settings. + * Optional. Adult and Explicit Sexual Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude. + */ + adultExplicitSexualContent?: string | null; + /** + * Optional. Arms and Ammunition Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude. + */ + armsAmmunitionContent?: string | null; + /** + * Optional. Crime and Harmful Acts Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude. + */ + crimeHarmfulActsIndividualsSocietyHumanRightsViolationsContent?: + | string + | null; + /** + * Optional. Death, Injury, or Military Conflict Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude. + */ + deathInjuryMilitaryConflictContent?: string | null; + /** + * Optional. Debated Sensitive Social Issue Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude. + */ + debatedSensitiveSocialIssueContent?: string | null; + /** + * Optional. IAB viewability threshold for display ads. + */ + displayIabViewability?: string | null; + /** + * Adloox categories to exclude. */ excludedAdlooxCategories?: string[] | null; + /** + * Optional. Adloox's fraud IVT MFA categories to exclude. + */ + excludedFraudIvtMfaCategories?: string[] | null; + /** + * Optional. Hate Speech and Acts of Aggression Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude. + */ + hateSpeechActsAggressionContent?: string | null; + /** + * Optional. Illegal Drugs/Alcohol Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude. + */ + illegalDrugsTobaccoEcigarettesVapingAlcoholContent?: string | null; + /** + * Optional. Misinformation Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude. + */ + misinformationContent?: string | null; + /** + * Optional. Obscenity and Profanity Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude. + */ + obscenityProfanityContent?: string | null; + /** + * Optional. Online Piracy Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude. + */ + onlinePiracyContent?: string | null; + /** + * Optional. Spam or Harmful Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude. + */ + spamHarmfulContent?: string | null; + /** + * Optional. Terrorism Content [GARM](https://wfanet.org/leadership/garm/about-garm) risk ranges to exclude. + */ + terrorismContent?: string | null; + /** + * Optional. IAB viewability threshold for video ads. + */ + videoIabViewability?: string | null; } /** * Additional URLs related to the ad, including beacons. @@ -340,7 +402,7 @@ export namespace displayvideo_v3 { */ advertiserId?: string | null; /** - * Optional. Required. Billing related settings of the advertiser. + * Required. Billing related settings of the advertiser. */ billingConfig?: Schema$AdvertiserBillingConfig; /** @@ -406,7 +468,7 @@ export namespace displayvideo_v3 { */ export interface Schema$AdvertiserBillingConfig { /** - * Optional. The ID of a billing profile assigned to the advertiser. + * Required. The ID of a billing profile assigned to the advertiser. */ billingProfileId?: string | null; } @@ -3556,7 +3618,7 @@ export namespace displayvideo_v3 { */ optimizationObjective?: string | null; /** - * Required. The budget spending speed setting of the insertion order. *Warning*: Starting on **November 5, 2024**, pacing_type `PACING_TYPE_ASAP` will no longer be compatible with pacing_period `PACING_PERIOD_FLIGHT`. [Read more about this announced change](/display-video/api/deprecations#features.io_asap). + * Required. The budget spending speed setting of the insertion order. pacing_type `PACING_TYPE_ASAP` is not compatible with pacing_period `PACING_PERIOD_FLIGHT`. */ pacing?: Schema$Pacing; /** @@ -4981,7 +5043,7 @@ export namespace displayvideo_v3 { */ pacingPeriod?: string | null; /** - * Required. The type of pacing that defines how the budget amount will be spent across the pacing_period. *Warning*: Starting on **November 5, 2024**, `PACING_TYPE_ASAP` will no longer be compatible with pacing_period `PACING_PERIOD_FLIGHT` for insertion orders. [Read more about this announced change](/display-video/api/deprecations#features.io_asap). + * Required. The type of pacing that defines how the budget amount will be spent across the pacing_period. `PACING_TYPE_ASAP` is not compatible with pacing_period `PACING_PERIOD_FLIGHT` for insertion orders. */ pacingType?: string | null; } @@ -18489,7 +18551,7 @@ export namespace displayvideo_v3 { */ orderBy?: string; /** - * Requested page size. Must be between `1` and `200`. If unspecified will default to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. + * Requested page size. Must be between `1` and `5000`. If unspecified, this value defaults to `100`. Returns error code `INVALID_ARGUMENT` if an invalid value is specified. */ pageSize?: number; /** diff --git a/src/apis/dlp/v2.ts b/src/apis/dlp/v2.ts index acf642e079..d60183e504 100644 --- a/src/apis/dlp/v2.ts +++ b/src/apis/dlp/v2.ts @@ -439,7 +439,7 @@ export namespace dlp_v2 { */ datasetId?: string | null; /** - * The Google Cloud Platform project ID of the project containing the table. If omitted, project ID is inferred from the API call. + * The Google Cloud project ID of the project containing the table. If omitted, project ID is inferred from the API call. */ projectId?: string | null; /** @@ -648,7 +648,7 @@ export namespace dlp_v2 { */ databaseEngine?: string | null; /** - * Required. DLP will limit its connections to max_connections. Must be 2 or greater. + * Required. The DLP API will limit its connections to max_connections. Must be 2 or greater. */ maxConnections?: number | null; /** @@ -805,11 +805,11 @@ export namespace dlp_v2 { */ dataRiskLevel?: Schema$GooglePrivacyDlpV2DataRiskLevel; /** - * The BigQuery dataset ID. + * The BigQuery dataset ID, if the resource profiled is a BigQuery table. */ datasetId?: string | null; /** - * The BigQuery location where the dataset's data is stored. See https://cloud.google.com/bigquery/docs/locations for supported locations. + * If supported, the location where the dataset's data is stored. See https://cloud.google.com/bigquery/docs/locations for supported BigQuery locations. */ datasetLocation?: string | null; /** @@ -865,7 +865,7 @@ export namespace dlp_v2 { */ tableFullResource?: string | null; /** - * The BigQuery table ID. + * The table ID. */ tableId?: string | null; } @@ -896,7 +896,7 @@ export namespace dlp_v2 { conditions?: Schema$GooglePrivacyDlpV2Condition[]; } /** - * A data connection to allow DLP to profile data in locations that require additional configuration. + * A data connection to allow the DLP API to profile data in locations that require additional configuration. */ export interface Schema$GooglePrivacyDlpV2Connection { /** @@ -1296,7 +1296,7 @@ export namespace dlp_v2 { */ publishToChronicle?: Schema$GooglePrivacyDlpV2PublishToChronicle; /** - * Publishes findings to SCC for each data profile. + * Publishes findings to Security Command Center for each data profile. */ publishToScc?: Schema$GooglePrivacyDlpV2PublishToSecurityCommandCenter; /** @@ -1371,7 +1371,7 @@ export namespace dlp_v2 { */ otherCloudStartingLocation?: Schema$GooglePrivacyDlpV2OtherCloudDiscoveryStartingLocation; /** - * The project that will run the scan. The DLP service account that exists within this project must have access to all resources that are profiled, and the Cloud DLP API must be enabled. + * The project that will run the scan. The DLP service account that exists within this project must have access to all resources that are profiled, and the DLP API must be enabled. */ projectId?: string | null; } @@ -2280,7 +2280,7 @@ export namespace dlp_v2 { */ fileStoreInfoTypeSummaries?: Schema$GooglePrivacyDlpV2FileStoreInfoTypeSummary[]; /** - * True if no files exist in this cluster. If the bucket had more files than could be listed, this will be false even if no files for this cluster were seen and file_extensions_seen is empty. + * True if no files exist in this cluster. If the file store had more files than could be listed, this will be false even if no files for this cluster were seen and file_extensions_seen is empty. */ noFilesExist?: boolean | null; /** @@ -2381,7 +2381,7 @@ export namespace dlp_v2 { */ lastModifiedTime?: string | null; /** - * The location type of the bucket (region, dual-region, multi-region, etc). If dual-region, expect data_storage_locations to be populated. + * The location type of the file store (region, dual-region, multi-region, etc). If dual-region, expect data_storage_locations to be populated. */ locationType?: string | null; /** @@ -2768,6 +2768,10 @@ export namespace dlp_v2 { * Human readable form of the infoType name. */ displayName?: string | null; + /** + * A sample true positive for this infoType. + */ + example?: string | null; /** * Internal name of the infoType. */ @@ -3589,7 +3593,7 @@ export namespace dlp_v2 { */ location?: Schema$GooglePrivacyDlpV2DiscoveryStartingLocation; /** - * The project that will run the scan. The DLP service account that exists within this project must have access to all resources that are profiled, and the Cloud DLP API must be enabled. + * The project that will run the scan. The DLP service account that exists within this project must have access to all resources that are profiled, and the DLP API must be enabled. */ projectId?: string | null; } @@ -3890,7 +3894,7 @@ export namespace dlp_v2 { topic?: string | null; } /** - * If set, a summary finding will be created/updated in SCC for each profile. + * If set, a summary finding will be created or updated in Security Command Center for each profile. */ export interface Schema$GooglePrivacyDlpV2PublishToSecurityCommandCenter {} /** @@ -4606,7 +4610,7 @@ export namespace dlp_v2 { */ failedColumnCount?: string | null; /** - * The resource name of the resource profiled. https://cloud.google.com/apis/design/resource_names#full_resource_name + * The Cloud Asset Inventory resource that was profiled in order to generate this TableDataProfile. https://cloud.google.com/apis/design/resource_names#full_resource_name */ fullResource?: string | null; /** @@ -4662,7 +4666,7 @@ export namespace dlp_v2 { */ state?: string | null; /** - * If the resource is BigQuery, the BigQuery table ID. + * The table ID. */ tableId?: string | null; /** @@ -5193,19 +5197,19 @@ export namespace dlp_v2 { */ export interface Schema$GoogleTypeTimeOfDay { /** - * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. */ hours?: number | null; /** - * Minutes of hour of day. Must be from 0 to 59. + * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. */ minutes?: number | null; /** - * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. */ nanos?: number | null; /** - * Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. */ seconds?: number | null; } @@ -5217,7 +5221,7 @@ export namespace dlp_v2 { } /** - * Returns a list of the sensitive information types that DLP API supports. See https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference to learn more. + * Returns a list of the sensitive information types that the DLP API supports. See https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference to learn more. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -5345,7 +5349,7 @@ export namespace dlp_v2 { } /** - * Returns a list of the sensitive information types that DLP API supports. See https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference to learn more. + * Returns a list of the sensitive information types that the DLP API supports. See https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference to learn more. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/dns/v1.ts b/src/apis/dns/v1.ts index ee42bd340b..d7c5a25b3b 100644 --- a/src/apis/dns/v1.ts +++ b/src/apis/dns/v1.ts @@ -709,6 +709,10 @@ export namespace dns_v1 { * A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the policy's function. */ description?: string | null; + /** + * Configurations related to DNS64 for this Policy. + */ + dns64Config?: Schema$PolicyDns64Config; /** * Allows networks bound to this policy to receive DNS queries sent by VMs or applications over VPN connections. When enabled, a virtual IP address is allocated from each of the subnetworks that are bound to this policy. */ @@ -753,6 +757,23 @@ export namespace dns_v1 { ipv6Address?: string | null; kind?: string | null; } + /** + * DNS64 policies + */ + export interface Schema$PolicyDns64Config { + kind?: string | null; + /** + * The scope to which DNS64 config will be applied to. + */ + scope?: Schema$PolicyDns64ConfigScope; + } + export interface Schema$PolicyDns64ConfigScope { + /** + * Controls whether DNS64 is enabled globally at the network level. + */ + allQueries?: boolean | null; + kind?: string | null; + } export interface Schema$PolicyNetwork { kind?: string | null; /** diff --git a/src/apis/dns/v1beta2.ts b/src/apis/dns/v1beta2.ts index ff355f407b..f19c1b9ed6 100644 --- a/src/apis/dns/v1beta2.ts +++ b/src/apis/dns/v1beta2.ts @@ -709,6 +709,10 @@ export namespace dns_v1beta2 { * A mutable string of at most 1024 characters associated with this resource for the user's convenience. Has no effect on the policy's function. */ description?: string | null; + /** + * Configurations related to DNS64 for this Policy. + */ + dns64Config?: Schema$PolicyDns64Config; /** * Allows networks bound to this policy to receive DNS queries sent by VMs or applications over VPN connections. When enabled, a virtual IP address is allocated from each of the subnetworks that are bound to this policy. */ @@ -753,6 +757,23 @@ export namespace dns_v1beta2 { ipv6Address?: string | null; kind?: string | null; } + /** + * DNS64 policies + */ + export interface Schema$PolicyDns64Config { + kind?: string | null; + /** + * The scope to which DNS64 config will be applied to. + */ + scope?: Schema$PolicyDns64ConfigScope; + } + export interface Schema$PolicyDns64ConfigScope { + /** + * Controls whether DNS64 is enabled globally at the network level. + */ + allQueries?: boolean | null; + kind?: string | null; + } export interface Schema$PolicyNetwork { kind?: string | null; /** diff --git a/src/apis/documentai/v1.ts b/src/apis/documentai/v1.ts index ba60b04459..4d35eb571e 100644 --- a/src/apis/documentai/v1.ts +++ b/src/apis/documentai/v1.ts @@ -3854,15 +3854,15 @@ export namespace documentai_v1 { units?: string | null; } /** - * Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478 + * Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478 */ export interface Schema$GoogleTypePostalAddress { /** - * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). + * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). */ addressLines?: string[] | null; /** - * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated. + * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated. */ administrativeArea?: string | null; /** @@ -3878,7 +3878,7 @@ export namespace documentai_v1 { */ organization?: string | null; /** - * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.). + * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.). */ postalCode?: string | null; /** @@ -3894,7 +3894,7 @@ export namespace documentai_v1 { */ revision?: number | null; /** - * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (e.g. Côte d'Ivoire). + * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (For example "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (For example Côte d'Ivoire). */ sortingCode?: string | null; /** @@ -3907,11 +3907,11 @@ export namespace documentai_v1 { */ export interface Schema$GoogleTypeTimeZone { /** - * IANA Time Zone Database time zone, e.g. "America/New_York". + * IANA Time Zone Database time zone. For example "America/New_York". */ id?: string | null; /** - * Optional. IANA Time Zone Database version number, e.g. "2019a". + * Optional. IANA Time Zone Database version number. For example "2019a". */ version?: string | null; } @@ -4376,7 +4376,7 @@ export namespace documentai_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/documentai/v1beta3.ts b/src/apis/documentai/v1beta3.ts index 5fb90ff134..69d936ec91 100644 --- a/src/apis/documentai/v1beta3.ts +++ b/src/apis/documentai/v1beta3.ts @@ -1116,6 +1116,14 @@ export namespace documentai_v1beta3 { * Dataset schema resource name. Format: `projects/{project\}/locations/{location\}/processors/{processor\}/dataset/datasetSchema` */ name?: string | null; + /** + * Output only. Reserved for future use. + */ + satisfiesPzi?: boolean | null; + /** + * Output only. Reserved for future use. + */ + satisfiesPzs?: boolean | null; } /** * Configuration specific to spanner-based indexing. @@ -4116,15 +4124,15 @@ export namespace documentai_v1beta3 { units?: string | null; } /** - * Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478 + * Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478 */ export interface Schema$GoogleTypePostalAddress { /** - * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). + * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). */ addressLines?: string[] | null; /** - * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated. + * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated. */ administrativeArea?: string | null; /** @@ -4140,7 +4148,7 @@ export namespace documentai_v1beta3 { */ organization?: string | null; /** - * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.). + * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.). */ postalCode?: string | null; /** @@ -4156,7 +4164,7 @@ export namespace documentai_v1beta3 { */ revision?: number | null; /** - * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (e.g. Côte d'Ivoire). + * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (For example "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (For example Côte d'Ivoire). */ sortingCode?: string | null; /** @@ -4169,11 +4177,11 @@ export namespace documentai_v1beta3 { */ export interface Schema$GoogleTypeTimeZone { /** - * IANA Time Zone Database time zone, e.g. "America/New_York". + * IANA Time Zone Database time zone. For example "America/New_York". */ id?: string | null; /** - * Optional. IANA Time Zone Database version number, e.g. "2019a". + * Optional. IANA Time Zone Database version number. For example "2019a". */ version?: string | null; } @@ -4533,7 +4541,7 @@ export namespace documentai_v1beta3 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/domains/v1.ts b/src/apis/domains/v1.ts index f1565290a0..eb9855220f 100644 --- a/src/apis/domains/v1.ts +++ b/src/apis/domains/v1.ts @@ -719,15 +719,15 @@ export namespace domains_v1 { version?: number | null; } /** - * Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478 + * Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478 */ export interface Schema$PostalAddress { /** - * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). + * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). */ addressLines?: string[] | null; /** - * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated. + * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated. */ administrativeArea?: string | null; /** @@ -743,7 +743,7 @@ export namespace domains_v1 { */ organization?: string | null; /** - * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.). + * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.). */ postalCode?: string | null; /** @@ -759,7 +759,7 @@ export namespace domains_v1 { */ revision?: number | null; /** - * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (e.g. Côte d'Ivoire). + * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (For example "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (For example Côte d'Ivoire). */ sortingCode?: string | null; /** diff --git a/src/apis/domains/v1alpha2.ts b/src/apis/domains/v1alpha2.ts index 01707e701c..bd953baffd 100644 --- a/src/apis/domains/v1alpha2.ts +++ b/src/apis/domains/v1alpha2.ts @@ -719,15 +719,15 @@ export namespace domains_v1alpha2 { version?: number | null; } /** - * Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478 + * Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478 */ export interface Schema$PostalAddress { /** - * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). + * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). */ addressLines?: string[] | null; /** - * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated. + * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated. */ administrativeArea?: string | null; /** @@ -743,7 +743,7 @@ export namespace domains_v1alpha2 { */ organization?: string | null; /** - * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.). + * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.). */ postalCode?: string | null; /** @@ -759,7 +759,7 @@ export namespace domains_v1alpha2 { */ revision?: number | null; /** - * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (e.g. Côte d'Ivoire). + * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (For example "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (For example Côte d'Ivoire). */ sortingCode?: string | null; /** diff --git a/src/apis/domains/v1beta1.ts b/src/apis/domains/v1beta1.ts index a5931d289c..950ce80141 100644 --- a/src/apis/domains/v1beta1.ts +++ b/src/apis/domains/v1beta1.ts @@ -719,15 +719,15 @@ export namespace domains_v1beta1 { version?: number | null; } /** - * Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478 + * Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478 */ export interface Schema$PostalAddress { /** - * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). + * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). */ addressLines?: string[] | null; /** - * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated. + * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated. */ administrativeArea?: string | null; /** @@ -743,7 +743,7 @@ export namespace domains_v1beta1 { */ organization?: string | null; /** - * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.). + * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.). */ postalCode?: string | null; /** @@ -759,7 +759,7 @@ export namespace domains_v1beta1 { */ revision?: number | null; /** - * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (e.g. Côte d'Ivoire). + * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (For example "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (For example Côte d'Ivoire). */ sortingCode?: string | null; /** diff --git a/src/apis/drive/v3.ts b/src/apis/drive/v3.ts index 8bc33c10af..fe22269f06 100644 --- a/src/apis/drive/v3.ts +++ b/src/apis/drive/v3.ts @@ -113,6 +113,7 @@ export namespace drive_v3 { export class Drive { context: APIRequestContext; about: Resource$About; + accessproposals: Resource$Accessproposals; apps: Resource$Apps; changes: Resource$Changes; channels: Resource$Channels; @@ -133,6 +134,7 @@ export namespace drive_v3 { }; this.about = new Resource$About(this.context); + this.accessproposals = new Resource$Accessproposals(this.context); this.apps = new Resource$Apps(this.context); this.changes = new Resource$Changes(this.context); this.channels = new Resource$Channels(this.context); @@ -218,6 +220,52 @@ export namespace drive_v3 { */ user?: Schema$User; } + /** + * The Access Proposal resource for outstanding access proposals on a file + */ + export interface Schema$AccessProposal { + /** + * The creation time + */ + createTime?: string | null; + /** + * The file id that the proposal for access is on + */ + fileId?: string | null; + /** + * The id of the access proposal + */ + proposalId?: string | null; + /** + * The email address of the user that will receive permissions if accepted + */ + recipientEmailAddress?: string | null; + /** + * The email address of the requesting user + */ + requesterEmailAddress?: string | null; + /** + * The message that the requester added to the proposal + */ + requestMessage?: string | null; + /** + * A wrapper for the role and view of an access proposal. + */ + rolesAndViews?: Schema$AccessProposalRoleAndView[]; + } + /** + * A wrapper for the role and view of an access proposal. + */ + export interface Schema$AccessProposalRoleAndView { + /** + * The role that was proposed by the requester New values may be added in the future, but the following are currently possible: * `writer` * `commenter` * `reader` + */ + role?: string | null; + /** + * Indicates the view for this access proposal. Only populated for proposals that belong to a view. `published` is the only supported value. + */ + view?: string | null; + } /** * The `apps` resource provides a list of apps that a user has installed, with information about each app's supported MIME types, file extensions, and other details. Some resource methods (such as `apps.get`) require an `appId`. Use the `apps.list` method to retrieve the ID for an installed application. */ @@ -1178,6 +1226,19 @@ export namespace drive_v3 { */ removeLabel?: boolean | null; } + /** + * The response to an Access Proposal list request. + */ + export interface Schema$ListAccessProposalsResponse { + /** + * The list of Access Proposals. This field is only populated in v3 and v3beta. + */ + accessProposals?: Schema$AccessProposal[]; + /** + * The continuation token for the next page of results. This will be absent if the end of the results list has been reached. If the token is rejected for any reason, it should be discarded, and pagination should be restarted from the first page of results. + */ + nextPageToken?: string | null; + } /** * The response message for Operations.ListOperations. */ @@ -1243,7 +1304,7 @@ export namespace drive_v3 { response?: {[key: string]: any} | null; } /** - * A permission for a file. A permission grants a user, group, domain, or the world access to a file or a folder hierarchy. Some resource methods (such as `permissions.update`) require a `permissionId`. Use the `permissions.list` method to retrieve the ID for a file, folder, or shared drive. + * A permission for a file. A permission grants a user, group, domain, or the world access to a file or a folder hierarchy. By default, permissions requests only return a subset of fields. Permission kind, ID, type, and role are always returned. To retrieve specific fields, see https://developers.google.com/drive/api/guides/fields-parameter. Some resource methods (such as `permissions.update`) require a `permissionId`. Use the `permissions.list` method to retrieve the ID for a file, folder, or shared drive. */ export interface Schema$Permission { /** @@ -1392,6 +1453,27 @@ export namespace drive_v3 { */ replies?: Schema$Reply[]; } + /** + * Request message for resolving an AccessProposal on a file. + */ + export interface Schema$ResolveAccessProposalRequest { + /** + * Required. The action to take on the AccessProposal. + */ + action?: string | null; + /** + * Optional. The roles the approver has allowed, if any. Note: This field is required for the `ACCEPT` action. + */ + role?: string[] | null; + /** + * Optional. Whether to send an email to the requester when the AccessProposal is denied or accepted. + */ + sendNotification?: boolean | null; + /** + * Optional. Indicates the view for this access proposal. This should only be set when the proposal belongs to a view. `published` is the only supported value. + */ + view?: string | null; + } /** * The metadata for a revision to a file. Some resource methods (such as `revisions.update`) require a `revisionId`. Use the `revisions.list` method to retrieve the ID for a revision. */ @@ -1633,7 +1715,7 @@ export namespace drive_v3 { } /** - * Gets information about the user, the user's Drive, and system capabilities. + * Gets information about the user, the user's Drive, and system capabilities. For more information, see [Return user info](https://developers.google.com/drive/api/guides/user-info). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/drive/api/guides/fields-parameter). * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -1719,6 +1801,324 @@ export namespace drive_v3 { export interface Params$Resource$About$Get extends StandardParameters {} + export class Resource$Accessproposals { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Retrieves an AccessProposal by ID. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Accessproposals$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Accessproposals$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Accessproposals$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accessproposals$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accessproposals$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Accessproposals$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Accessproposals$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accessproposals$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/drive/v3/files/{fileId}/accessproposals/{proposalId}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['fileId', 'proposalId'], + pathParams: ['fileId', 'proposalId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * List the AccessProposals on a file. Note: Only approvers are able to list AccessProposals on a file. If the user is not an approver, returns a 403. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Accessproposals$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Accessproposals$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Accessproposals$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accessproposals$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accessproposals$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Accessproposals$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Accessproposals$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accessproposals$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/drive/v3/files/{fileId}/accessproposals').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['fileId'], + pathParams: ['fileId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Used to approve or deny an Access Proposal. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + resolve( + params: Params$Resource$Accessproposals$Resolve, + options: StreamMethodOptions + ): GaxiosPromise; + resolve( + params?: Params$Resource$Accessproposals$Resolve, + options?: MethodOptions + ): GaxiosPromise; + resolve( + params: Params$Resource$Accessproposals$Resolve, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + resolve( + params: Params$Resource$Accessproposals$Resolve, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + resolve( + params: Params$Resource$Accessproposals$Resolve, + callback: BodyResponseCallback + ): void; + resolve(callback: BodyResponseCallback): void; + resolve( + paramsOrCallback?: + | Params$Resource$Accessproposals$Resolve + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: BodyResponseCallback | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Accessproposals$Resolve; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accessproposals$Resolve; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://www.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/drive/v3/files/{fileId}/accessproposals/{proposalId}:resolve' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['fileId', 'proposalId'], + pathParams: ['fileId', 'proposalId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Accessproposals$Get + extends StandardParameters { + /** + * Required. The id of the item the request is on. + */ + fileId?: string; + /** + * Required. The id of the access proposal to resolve. + */ + proposalId?: string; + } + export interface Params$Resource$Accessproposals$List + extends StandardParameters { + /** + * Required. The id of the item the request is on. + */ + fileId?: string; + /** + * Optional. The number of results per page + */ + pageSize?: number; + /** + * Optional. The continuation token on the list of access requests. + */ + pageToken?: string; + } + export interface Params$Resource$Accessproposals$Resolve + extends StandardParameters { + /** + * Required. The id of the item the request is on. + */ + fileId?: string; + /** + * Required. The id of the access proposal to resolve. + */ + proposalId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ResolveAccessProposalRequest; + } + export class Resource$Apps { context: APIRequestContext; constructor(context: APIRequestContext) { @@ -1726,7 +2126,7 @@ export namespace drive_v3 { } /** - * Gets a specific app. + * Gets a specific app. For more information, see [Return user info](https://developers.google.com/drive/api/guides/user-info). * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -1813,7 +2213,7 @@ export namespace drive_v3 { } /** - * Lists a user's installed apps. + * Lists a user's installed apps. For more information, see [Return user info](https://developers.google.com/drive/api/guides/user-info). * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -1925,7 +2325,7 @@ export namespace drive_v3 { } /** - * Gets the starting pageToken for listing future changes. + * Gets the starting pageToken for listing future changes. For more information, see [Retrieve changes](https://developers.google.com/drive/api/guides/manage-changes). * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -2015,7 +2415,7 @@ export namespace drive_v3 { } /** - * Lists the changes for a user or shared drive. + * Lists the changes for a user or shared drive. For more information, see [Retrieve changes](https://developers.google.com/drive/api/guides/manage-changes). * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -2099,7 +2499,7 @@ export namespace drive_v3 { } /** - * Subscribes to changes for a user. + * Subscribes to changes for a user. For more information, see [Notifications for resource changes](https://developers.google.com/drive/api/guides/push). * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -2334,7 +2734,7 @@ export namespace drive_v3 { } /** - * Stops watching resources through this channel. + * Stops watching resources through this channel. For more information, see [Notifications for resource changes](https://developers.google.com/drive/api/guides/push). * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -2433,7 +2833,7 @@ export namespace drive_v3 { } /** - * Creates a comment on a file. + * Creates a comment on a file. For more information, see [Manage comments and replies](https://developers.google.com/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/drive/api/guides/fields-parameter). * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -2520,7 +2920,7 @@ export namespace drive_v3 { } /** - * Deletes a comment. + * Deletes a comment. For more information, see [Manage comments and replies](https://developers.google.com/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/drive/api/guides/fields-parameter). * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -2604,7 +3004,7 @@ export namespace drive_v3 { } /** - * Gets a comment by ID. + * Gets a comment by ID. For more information, see [Manage comments and replies](https://developers.google.com/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/drive/api/guides/fields-parameter). * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -2690,7 +3090,7 @@ export namespace drive_v3 { } /** - * Lists a file's comments. + * Lists a file's comments. For more information, see [Manage comments and replies](https://developers.google.com/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/drive/api/guides/fields-parameter). * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -2777,7 +3177,7 @@ export namespace drive_v3 { } /** - * Updates a comment with patch semantics. + * Updates a comment with patch semantics. For more information, see [Manage comments and replies](https://developers.google.com/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/drive/api/guides/fields-parameter). * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -5155,7 +5555,7 @@ export namespace drive_v3 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/eventarc/v1.ts b/src/apis/eventarc/v1.ts index 3595e7ac97..a6174410d0 100644 --- a/src/apis/eventarc/v1.ts +++ b/src/apis/eventarc/v1.ts @@ -183,6 +183,10 @@ export namespace eventarc_v1 { * Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt their event data. It must match the pattern `projects/x/locations/x/keyRings/x/cryptoKeys/x`. */ cryptoKeyName?: string | null; + /** + * Optional. Resource labels. + */ + labels?: {[key: string]: string} | null; /** * Required. The resource name of the channel. Must be unique within the location on the project and must be in `projects/{project\}/locations/{location\}/channels/{channel_id\}` format. */ @@ -228,6 +232,10 @@ export namespace eventarc_v1 { * Output only. The creation time. */ createTime?: string | null; + /** + * Optional. Resource labels. + */ + labels?: {[key: string]: string} | null; /** * Required. The name of the connection. */ @@ -291,6 +299,55 @@ export namespace eventarc_v1 { * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} */ export interface Schema$Empty {} + /** + * An enrollment represents a subscription for messages on a particular message bus. It defines a matching criteria for messages on the bus and the subscriber endpoint where matched messages should be delivered. + */ + export interface Schema$Enrollment { + /** + * Optional. Resource annotations. + */ + annotations?: {[key: string]: string} | null; + /** + * Required. A CEL expression identifying which messages this enrollment applies to. + */ + celMatch?: string | null; + /** + * Output only. The creation time. + */ + createTime?: string | null; + /** + * Required. Destination is the Pipeline that the Enrollment is delivering to. It must point to the full resource name of a Pipeline. Format: "projects/{PROJECT_ID\}/locations/{region\}/pipelines/{PIPELINE_ID)" + */ + destination?: string | null; + /** + * Optional. Resource display name. + */ + displayName?: string | null; + /** + * Output only. This checksum is computed by the server based on the value of other fields, and might be sent only on update and delete requests to ensure that the client has an up-to-date value before proceeding. + */ + etag?: string | null; + /** + * Optional. Resource labels. + */ + labels?: {[key: string]: string} | null; + /** + * Required. Resource name of the message bus identifying the source of the messages. It matches the form projects/{project\}/locations/{location\}/messageBuses/{messageBus\}. + */ + messageBus?: string | null; + /** + * Identifier. Resource name of the form projects/{project\}/locations/{location\}/enrollments/{enrollment\} + */ + name?: string | null; + /** + * Output only. Server assigned unique identifier for the channel. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted. + */ + uid?: string | null; + /** + * Output only. The last-modified time. + */ + updateTime?: string | null; + } /** * Filters events based on exact matches on the CloudEvents attributes. */ @@ -396,6 +453,55 @@ export namespace eventarc_v1 { */ service?: string | null; } + /** + * A GoogleApiSource represents a subscription of 1P events from a MessageBus. + */ + export interface Schema$GoogleApiSource { + /** + * Optional. Resource annotations. + */ + annotations?: {[key: string]: string} | null; + /** + * Output only. The creation time. + */ + createTime?: string | null; + /** + * Optional. Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt their event data. It must match the pattern `projects/x/locations/x/keyRings/x/cryptoKeys/x`. + */ + cryptoKeyName?: string | null; + /** + * Required. Destination is the message bus that the GoogleApiSource is delivering to. It must be point to the full resource name of a MessageBus. Format: "projects/{PROJECT_ID\}/locations/{region\}/messagesBuses/{MESSAGE_BUS_ID) + */ + destination?: string | null; + /** + * Optional. Resource display name. + */ + displayName?: string | null; + /** + * Output only. This checksum is computed by the server based on the value of other fields, and might be sent only on update and delete requests to ensure that the client has an up-to-date value before proceeding. + */ + etag?: string | null; + /** + * Optional. Resource labels. + */ + labels?: {[key: string]: string} | null; + /** + * Optional. Config to control Platform logging for the GoogleApiSource. + */ + loggingConfig?: Schema$LoggingConfig; + /** + * Identifier. Resource name of the form projects/{project\}/locations/{location\}/googleApiSources/{google_api_source\} + */ + name?: string | null; + /** + * Output only. Server assigned unique identifier for the channel. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted. + */ + uid?: string | null; + /** + * Output only. The last-modified time. + */ + updateTime?: string | null; + } /** * A GoogleChannelConfig is a resource that stores the custom settings respected by Eventarc first-party triggers in the matching region. Once configured, first-party event data will be protected using the specified custom managed encryption key instead of Google-managed encryption keys. */ @@ -413,6 +519,174 @@ export namespace eventarc_v1 { */ updateTime?: string | null; } + /** + * Represents a target of an invocation over HTTP. + */ + export interface Schema$GoogleCloudEventarcV1PipelineDestination { + /** + * Optional. An authentication config used to authenticate message requests, such that destinations can verify the source. For example, this can be used with private GCP destinations that require GCP credentials to access like Cloud Run. This field is optional and should be set only by users interested in authenticated push + */ + authenticationConfig?: Schema$GoogleCloudEventarcV1PipelineDestinationAuthenticationConfig; + /** + * Optional. An HTTP endpoint destination described by an URI. If a DNS FQDN is provided as the endpoint, Pipeline will create a peering zone to the consumer VPC and forward DNS requests to the VPC specified by network config to resolve the service endpoint. See: https://cloud.google.com/dns/docs/zones/zones-overview#peering_zones + */ + httpEndpoint?: Schema$GoogleCloudEventarcV1PipelineDestinationHttpEndpoint; + /** + * Optional. The resource name of the Message Bus to which events should be published. The Message Bus resource should exist in the same project as the Pipeline. Format: `projects/{project\}/locations/{location\}/messageBuses/{message_bus\}` + */ + messageBus?: string | null; + /** + * Optional. Network config is used to configure how Pipeline resolves and connects to a destination. + */ + networkConfig?: Schema$GoogleCloudEventarcV1PipelineDestinationNetworkConfig; + /** + * Optional. The message format before it is delivered to the destination. If not set, the message will be delivered in the format it was originally delivered to the Pipeline. This field can only be set if Pipeline.input_payload_format is also set. + */ + outputPayloadFormat?: Schema$GoogleCloudEventarcV1PipelineMessagePayloadFormat; + /** + * Optional. The resource name of the Pub/Sub topic to which events should be published. Format: `projects/{project\}/locations/{location\}/topics/{topic\}` + */ + topic?: string | null; + /** + * Optional. The resource name of the Workflow whose Executions are triggered by the events. The Workflow resource should be deployed in the same project as the Pipeline. Format: `projects/{project\}/locations/{location\}/workflows/{workflow\}` + */ + workflow?: string | null; + } + /** + * Represents a config used to authenticate message requests. + */ + export interface Schema$GoogleCloudEventarcV1PipelineDestinationAuthenticationConfig { + /** + * Optional. This authenticate method will apply Google OIDC tokens signed by a GCP service account to the requests. + */ + googleOidc?: Schema$GoogleCloudEventarcV1PipelineDestinationAuthenticationConfigOidcToken; + /** + * Optional. If specified, an [OAuth token](https://developers.google.com/identity/protocols/OAuth2) will be generated and attached as an `Authorization` header in the HTTP request. This type of authorization should generally only be used when calling Google APIs hosted on *.googleapis.com. + */ + oauthToken?: Schema$GoogleCloudEventarcV1PipelineDestinationAuthenticationConfigOAuthToken; + } + /** + * Contains information needed for generating an [OAuth token](https://developers.google.com/identity/protocols/OAuth2). This type of authorization should generally only be used when calling Google APIs hosted on *.googleapis.com. + */ + export interface Schema$GoogleCloudEventarcV1PipelineDestinationAuthenticationConfigOAuthToken { + /** + * Optional. OAuth scope to be used for generating OAuth access token. If not specified, "https://www.googleapis.com/auth/cloud-platform" will be used. + */ + scope?: string | null; + /** + * Required. Service account email used to generate the [OAuth token](https://developers.google.com/identity/protocols/OAuth2). The principal who calls this API must have iam.serviceAccounts.actAs permission in the service account. See https://cloud.google.com/iam/docs/understanding-service-accounts for more information. Eventarc service agents must have roles/roles/iam.serviceAccountTokenCreator role to allow Pipeline to create OAuth2 tokens for authenticated requests. + */ + serviceAccount?: string | null; + } + /** + * Represents a config used to authenticate with a Google OIDC token using a GCP service account. Use this authentication method to invoke your Cloud Run and Cloud Functions destinations or HTTP endpoints that support Google OIDC. + */ + export interface Schema$GoogleCloudEventarcV1PipelineDestinationAuthenticationConfigOidcToken { + /** + * Optional. Audience to be used to generate the OIDC Token. The audience claim identifies the recipient that the JWT is intended for. If unspecified, the destination URI will be used. + */ + audience?: string | null; + /** + * Required. Service account email used to generate the OIDC Token. The principal who calls this API must have iam.serviceAccounts.actAs permission in the service account. See https://cloud.google.com/iam/docs/understanding-service-accounts for more information. Eventarc service agents must have roles/roles/iam.serviceAccountTokenCreator role to allow the Pipeline to create OpenID tokens for authenticated requests. + */ + serviceAccount?: string | null; + } + /** + * Represents a HTTP endpoint destination. + */ + export interface Schema$GoogleCloudEventarcV1PipelineDestinationHttpEndpoint { + /** + * Optional. The CEL expression used to modify how the destination-bound HTTP request is constructed. If a binding expression is not specified here, the message is treated as a CloudEvent and is mapped to the HTTP request according to the CloudEvent HTTP Protocol Binding Binary Content Mode (https://github.com/cloudevents/spec/blob/main/cloudevents/bindings/http-protocol-binding.md#31-binary-content-mode). In this representation, all fields except the `data` and `datacontenttype` field on the message are mapped to HTTP request headers with a prefix of `ce-`. To construct the HTTP request payload and the value of the content-type HTTP header, the payload format is defined as follows: 1) Use the output_payload_format_type on the Pipeline.Destination if it is set, else: 2) Use the input_payload_format_type on the Pipeline if it is set, else: 3) Treat the payload as opaque binary data. The `data` field of the message is converted to the payload format or left as-is for case 3) and then attached as the payload of the HTTP request. The `content-type` header on the HTTP request is set to the payload format type or left empty for case 3). However, if a mediation has updated the `datacontenttype` field on the message so that it is not the same as the payload format type but it is still a prefix of the payload format type, then the `content-type` header on the HTTP request is set to this `datacontenttype` value. For example, if the `datacontenttype` is "application/json" and the payload format type is "application/json; charset=utf-8", then the `content-type` header on the HTTP request is set to "application/json; charset=utf-8". If a non-empty binding expression is specified then this expression is used to modify the default CloudEvent HTTP Protocol Binding Binary Content representation. The result of the CEL expression must be a map of key/value pairs which is used as follows: - If a map named `headers` exists on the result of the expression, then its key/value pairs are directly mapped to the HTTP request headers. The headers values are constructed from the corresponding value type's canonical representation. If the `headers` field doesn't exist then the resulting HTTP request will be the headers of the CloudEvent HTTP Binding Binary Content Mode representation of the final message. Note: If the specified binding expression, has updated the `datacontenttype` field on the message so that it is not the same as the payload format type but it is still a prefix of the payload format type, then the `content-type` header in the `headers` map is set to this `datacontenttype` value. - If a field named `body` exists on the result of the expression then its value is directly mapped to the body of the request. If the value of the `body` field is of type bytes or string then it is used for the HTTP request body as-is, with no conversion. If the body field is of any other type then it is converted to a JSON string. If the body field does not exist then the resulting payload of the HTTP request will be data value of the CloudEvent HTTP Binding Binary Content Mode representation of the final message as described earlier. - Any other fields in the resulting expression will be ignored. The CEL expression may access the incoming CloudEvent message in its definition, as follows: - The `data` field of the incoming CloudEvent message can be accessed using the `message.data` value. Subfields of `message.data` may also be accessed if an input_payload_format has been specified on the Pipeline. - Each attribute of the incoming CloudEvent message can be accessed using the `message.` value, where is replaced with the name of the attribute. - Existing headers can be accessed in the CEL expression using the `headers` variable. The `headers` variable defines a map of key/value pairs corresponding to the HTTP headers of the CloudEvent HTTP Binding Binary Content Mode representation of the final message as described earlier. For example, the following CEL expression can be used to construct an HTTP request by adding an additional header to the HTTP headers of the CloudEvent HTTP Binding Binary Content Mode representation of the final message and by overwriting the body of the request: ``` { "headers": headers.merge({"new-header-key": "new-header-value"\}), "body": "new-body" \} ``` - The default binding for the message payload can be accessed using the `body` variable. It conatins a string representation of the message payload in the format specified by the `output_payload_format` field. If the `input_payload_format` field is not set, the `body` variable contains the same message payload bytes that were published. Additionally, the following CEL extension functions are provided for use in this CEL expression: - toBase64Url: map.toBase64Url() -\> string - Converts a CelValue to a base64url encoded string - toJsonString: map.toJsonString() -\> string - Converts a CelValue to a JSON string - merge: map1.merge(map2) -\> map3 - Merges the passed CEL map with the existing CEL map the function is applied to. - If the same key exists in both maps, if the key's value is type map both maps are merged else the value from the passed map is used. - denormalize: map.denormalize() -\> map - Denormalizes a CEL map such that every value of type map or key in the map is expanded to return a single level map. - The resulting keys are "." separated indices of the map keys. - For example: { "a": 1, "b": { "c": 2, "d": 3 \} "e": [4, 5] \} .denormalize() -\> { "a": 1, "b.c": 2, "b.d": 3, "e.0": 4, "e.1": 5 \} - setField: map.setField(key, value) -\> message - Sets the field of the message with the given key to the given value. - If the field is not present it will be added. - If the field is present it will be overwritten. - The key can be a dot separated path to set a field in a nested message. - Key must be of type string. - Value may be any valid type. - removeFields: map.removeFields([key1, key2, ...]) -\> message - Removes the fields of the map with the given keys. - The keys can be a dot separated path to remove a field in a nested message. - If a key is not found it will be ignored. - Keys must be of type string. - toMap: [map1, map2, ...].toMap() -\> map - Converts a CEL list of CEL maps to a single CEL map - toCloudEventJsonWithPayloadFormat: message.toCloudEventJsonWithPayloadFormat() -\> map - Converts a message to the corresponding structure of JSON format for CloudEvents. - It converts `data` to destination payload format specified in `output_payload_format`. If `output_payload_format` is not set, the data will remain unchanged. - It also sets the corresponding datacontenttype of the CloudEvent, as indicated by `output_payload_format`. If no `output_payload_format` is set it will use the value of the "datacontenttype" attribute on the CloudEvent if present, else remove "datacontenttype" attribute. - This function expects that the content of the message will adhere to the standard CloudEvent format. If it doesn't then this function will fail. - The result is a CEL map that corresponds to the JSON representation of the CloudEvent. To convert that data to a JSON string it can be chained with the toJsonString function. The Pipeline expects that the message it receives adheres to the standard CloudEvent format. If it doesn't then the outgoing message request may fail with a persistent error. + */ + messageBindingTemplate?: string | null; + /** + * Required. The URI of the HTTP enpdoint. The value must be a RFC2396 URI string. Examples: `https://svc.us-central1.p.local:8080/route`. Only the HTTPS protocol is supported. + */ + uri?: string | null; + } + /** + * Represents a network config to be used for destination resolution and connectivity. + */ + export interface Schema$GoogleCloudEventarcV1PipelineDestinationNetworkConfig { + /** + * Required. Name of the NetworkAttachment that allows access to the consumer VPC. Format: `projects/{PROJECT_ID\}/regions/{REGION\}/networkAttachments/{NETWORK_ATTACHMENT_NAME\}` + */ + networkAttachment?: string | null; + } + /** + * Mediation defines different ways to modify the Pipeline. + */ + export interface Schema$GoogleCloudEventarcV1PipelineMediation { + /** + * Optional. How the Pipeline is to transform messages + */ + transformation?: Schema$GoogleCloudEventarcV1PipelineMediationTransformation; + } + /** + * Transformation defines the way to transform an incoming message. + */ + export interface Schema$GoogleCloudEventarcV1PipelineMediationTransformation { + /** + * Optional. The CEL expression template to apply to transform messages. The following CEL extension functions are provided for use in this CEL expression: - merge: map1.merge(map2) -\> map3 - Merges the passed CEL map with the existing CEL map the function is applied to. - If the same key exists in both maps, if the key's value is type map both maps are merged else the value from the passed map is used. - denormalize: map.denormalize() -\> map - Denormalizes a CEL map such that every value of type map or key in the map is expanded to return a single level map. - The resulting keys are "." separated indices of the map keys. - For example: { "a": 1, "b": { "c": 2, "d": 3 \} "e": [4, 5] \} .denormalize() -\> { "a": 1, "b.c": 2, "b.d": 3, "e.0": 4, "e.1": 5 \} - setField: map.setField(key, value) -\> message - Sets the field of the message with the given key to the given value. - If the field is not present it will be added. - If the field is present it will be overwritten. - The key can be a dot separated path to set a field in a nested message. - Key must be of type string. - Value may be any valid type. - removeFields: map.removeFields([key1, key2, ...]) -\> message - Removes the fields of the map with the given keys. - The keys can be a dot separated path to remove a field in a nested message. - If a key is not found it will be ignored. - Keys must be of type string. - toMap: [map1, map2, ...].toMap() -\> map - Converts a CEL list of CEL maps to a single CEL map - toDestinationPayloadFormat(): message.data.toDestinationPayloadFormat() -\> string or bytes - Converts the message data to the destination payload format specified in Pipeline.Destination.output_payload_format - This function is meant to be applied to the message.data field. - If the destination payload format is not set, the function will return the message data unchanged. - toCloudEventJsonWithPayloadFormat: message.toCloudEventJsonWithPayloadFormat() -\> map - Converts a message to the corresponding structure of JSON format for CloudEvents - This function applies toDestinationPayloadFormat() to the message data. It also sets the corresponding datacontenttype of the CloudEvent, as indicated by Pipeline.Destination.output_payload_format. If no output_payload_format is set it will use the existing datacontenttype on the CloudEvent if present, else leave datacontenttype absent. - This function expects that the content of the message will adhere to the standard CloudEvent format. If it doesn't then this function will fail. - The result is a CEL map that corresponds to the JSON representation of the CloudEvent. To convert that data to a JSON string it can be chained with the toJsonString function. + */ + transformationTemplate?: string | null; + } + /** + * Represents the format of message data. + */ + export interface Schema$GoogleCloudEventarcV1PipelineMessagePayloadFormat { + /** + * Optional. Avro format. + */ + avro?: Schema$GoogleCloudEventarcV1PipelineMessagePayloadFormatAvroFormat; + /** + * Optional. JSON format. + */ + json?: Schema$GoogleCloudEventarcV1PipelineMessagePayloadFormatJsonFormat; + /** + * Optional. Protobuf format. + */ + protobuf?: Schema$GoogleCloudEventarcV1PipelineMessagePayloadFormatProtobufFormat; + } + /** + * The format of an AVRO message payload. + */ + export interface Schema$GoogleCloudEventarcV1PipelineMessagePayloadFormatAvroFormat { + /** + * Optional. The entire schema definition is stored in this field. + */ + schemaDefinition?: string | null; + } + /** + * The format of a JSON message payload. + */ + export interface Schema$GoogleCloudEventarcV1PipelineMessagePayloadFormatJsonFormat {} + /** + * The format of a Protobuf message payload. + */ + export interface Schema$GoogleCloudEventarcV1PipelineMessagePayloadFormatProtobufFormat { + /** + * Optional. The entire schema definition is stored in this field. + */ + schemaDefinition?: string | null; + } + /** + * The retry policy configuration for the Pipeline. The pipeline exponentially backs off in case the destination is non responsive or returns a retryable error code. The default semantics are as follows: The backoff starts with a 5 second delay and doubles the delay after each failed attempt (10 seconds, 20 seconds, 40 seconds, etc.). The delay is capped at 60 seconds by default. Please note that if you set the min_retry_delay and max_retry_delay fields to the same value this will make the duration between retries constant. + */ + export interface Schema$GoogleCloudEventarcV1PipelineRetryPolicy { + /** + * Optional. The maximum number of delivery attempts for any message. The value must be between 1 and 100. The default value for this field is 5. + */ + maxAttempts?: number | null; + /** + * Optional. The maximum amount of seconds to wait between retry attempts. The value must be between 1 and 600. The default value for this field is 60. + */ + maxRetryDelay?: string | null; + /** + * Optional. The minimum amount of seconds to wait between retry attempts. The value must be between 1 and 600. The default value for this field is 5. + */ + minRetryDelay?: string | null; + } /** * The request message for Operations.CancelOperation. */ @@ -515,6 +789,40 @@ export namespace eventarc_v1 { */ unreachable?: string[] | null; } + /** + * The response message for the `ListEnrollments` method. + */ + export interface Schema$ListEnrollmentsResponse { + /** + * The requested Enrollments, up to the number specified in `page_size`. + */ + enrollments?: Schema$Enrollment[]; + /** + * A page token that can be sent to `ListEnrollments` to request the next page. If this is empty, then there are no more pages. + */ + nextPageToken?: string | null; + /** + * Unreachable resources, if any. + */ + unreachable?: string[] | null; + } + /** + * The response message for the `ListGoogleApiSources` method. + */ + export interface Schema$ListGoogleApiSourcesResponse { + /** + * The requested GoogleApiSources, up to the number specified in `page_size`. + */ + googleApiSources?: Schema$GoogleApiSource[]; + /** + * A page token that can be sent to `ListMessageBusEnrollments` to request the next page. If this is empty, then there are no more pages. + */ + nextPageToken?: string | null; + /** + * Unreachable resources, if any. + */ + unreachable?: string[] | null; + } /** * The response message for Locations.ListLocations. */ @@ -528,6 +836,57 @@ export namespace eventarc_v1 { */ nextPageToken?: string | null; } + /** + * The response message for the `ListMessageBusEnrollments` method.` + */ + export interface Schema$ListMessageBusEnrollmentsResponse { + /** + * The requested enrollments, up to the number specified in `page_size`. + */ + enrollments?: string[] | null; + /** + * A page token that can be sent to `ListMessageBusEnrollments` to request the next page. If this is empty, then there are no more pages. + */ + nextPageToken?: string | null; + /** + * Unreachable resources, if any. + */ + unreachable?: string[] | null; + } + /** + * The response message for the `ListMessageBuses` method. + */ + export interface Schema$ListMessageBusesResponse { + /** + * The requested message buses, up to the number specified in `page_size`. + */ + messageBuses?: Schema$MessageBus[]; + /** + * A page token that can be sent to `ListMessageBuses` to request the next page. If this is empty, then there are no more pages. + */ + nextPageToken?: string | null; + /** + * Unreachable resources, if any. + */ + unreachable?: string[] | null; + } + /** + * The response message for the ListPipelines method. + */ + export interface Schema$ListPipelinesResponse { + /** + * A page token that can be sent to `ListPipelines` to request the next page. If this is empty, then there are no more pages. + */ + nextPageToken?: string | null; + /** + * The requested pipelines, up to the number specified in `page_size`. + */ + pipelines?: Schema$Pipeline[]; + /** + * Unreachable resources, if any. + */ + unreachable?: string[] | null; + } /** * The response message for the `ListProviders` method. */ @@ -588,38 +947,92 @@ export namespace eventarc_v1 { name?: string | null; } /** - * Network Configuration that can be inherited by other protos. + * The configuration for Platform Telemetry logging for Eventarc Advanced resources. */ - export interface Schema$NetworkConfig { + export interface Schema$LoggingConfig { /** - * Required. Name of the NetworkAttachment that allows access to the customer's VPC. Format: `projects/{PROJECT_ID\}/regions/{REGION\}/networkAttachments/{NETWORK_ATTACHMENT_NAME\}` + * Optional. The minimum severity of logs that will be sent to Stackdriver/Platform Telemetry. Logs at severitiy ≥ this value will be sent, unless it is NONE. */ - networkAttachment?: string | null; + logSeverity?: string | null; } /** - * Represents the metadata of the long-running operation. + * MessageBus for the messages flowing through the system. The admin has visibility and control over the messages being published and consumed and can restrict publishers and subscribers to only a subset of data available in the system by defining authorization policies. */ - export interface Schema$OperationMetadata { + export interface Schema$MessageBus { /** - * Output only. API version used to start the operation. + * Optional. Resource annotations. */ - apiVersion?: string | null; + annotations?: {[key: string]: string} | null; /** - * Output only. The time the operation was created. + * Output only. The creation time. */ createTime?: string | null; /** - * Output only. The time the operation finished running. + * Optional. Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt their event data. It must match the pattern `projects/x/locations/x/keyRings/x/cryptoKeys/x`. */ - endTime?: string | null; + cryptoKeyName?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Optional. Resource display name. */ - requestedCancellation?: boolean | null; + displayName?: string | null; /** - * Output only. Human-readable status of the operation, if any. + * Output only. This checksum is computed by the server based on the value of other fields, and might be sent only on update and delete requests to ensure that the client has an up-to-date value before proceeding. */ - statusMessage?: string | null; + etag?: string | null; + /** + * Optional. Resource labels. + */ + labels?: {[key: string]: string} | null; + /** + * Optional. Config to control Platform logging for the Message Bus. This log configuration is applied to the Message Bus itself, and all the Enrollments attached to it. + */ + loggingConfig?: Schema$LoggingConfig; + /** + * Identifier. Resource name of the form projects/{project\}/locations/{location\}/messageBuses/{message_bus\} + */ + name?: string | null; + /** + * Output only. Server assigned unique identifier for the channel. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted. + */ + uid?: string | null; + /** + * Output only. The last-modified time. + */ + updateTime?: string | null; + } + /** + * Network Configuration that can be inherited by other protos. + */ + export interface Schema$NetworkConfig { + /** + * Required. Name of the NetworkAttachment that allows access to the customer's VPC. Format: `projects/{PROJECT_ID\}/regions/{REGION\}/networkAttachments/{NETWORK_ATTACHMENT_NAME\}` + */ + networkAttachment?: string | null; + } + /** + * Represents the metadata of the long-running operation. + */ + export interface Schema$OperationMetadata { + /** + * Output only. API version used to start the operation. + */ + apiVersion?: string | null; + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + */ + requestedCancellation?: boolean | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; /** * Output only. Server-defined resource path for the target of the operation. */ @@ -629,6 +1042,67 @@ export namespace eventarc_v1 { */ verb?: string | null; } + /** + * A representation of the Pipeline resource. + */ + export interface Schema$Pipeline { + /** + * Optional. User-defined annotations. See https://google.aip.dev/128#annotations. + */ + annotations?: {[key: string]: string} | null; + /** + * Output only. The creation time. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z". + */ + createTime?: string | null; + /** + * Optional. Resource name of a KMS crypto key (managed by the user) used to encrypt/decrypt the event data. If not set, an internal Google-owned key will be used to encrypt messages. It must match the pattern "projects/{project\}/locations/{location\}/keyRings/{keyring\}/cryptoKeys/{key\}". + */ + cryptoKeyName?: string | null; + /** + * Required. List of destinations to which messages will be forwarded. Currently, exactly one destination is supported per Pipeline. + */ + destinations?: Schema$GoogleCloudEventarcV1PipelineDestination[]; + /** + * Optional. Display name of resource. + */ + displayName?: string | null; + /** + * Output only. This checksum is computed by the server based on the value of other fields, and might be sent only on create requests to ensure that the client has an up-to-date value before proceeding. + */ + etag?: string | null; + /** + * Optional. The payload format expected for the messages received by the Pipeline. If input_payload_format is set then any messages not matching this format will be treated as persistent errors. If input_payload_format is not set, then the message data will be treated as an opaque binary and no output format can be set on the Pipeline through the Pipeline.Destination.output_payload_format field. Any Mediations on the Pipeline that involve access to the data field will fail as persistent errors. + */ + inputPayloadFormat?: Schema$GoogleCloudEventarcV1PipelineMessagePayloadFormat; + /** + * Optional. User labels attached to the Pipeline that can be used to group resources. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" \}. + */ + labels?: {[key: string]: string} | null; + /** + * Optional. Config to control Platform Logging for Pipelines. + */ + loggingConfig?: Schema$LoggingConfig; + /** + * Optional. List of mediation operations to be performed on the message. Currently, only one Transformation operation is allowed in each Pipeline. + */ + mediations?: Schema$GoogleCloudEventarcV1PipelineMediation[]; + /** + * Identifier. The resource name of the Pipeline. Must be unique within the location of the project and must be in `projects/{project\}/locations/{location\}/pipelines/{pipeline\}` format. + */ + name?: string | null; + /** + * Optional. The retry policy to use in the pipeline. + */ + retryPolicy?: Schema$GoogleCloudEventarcV1PipelineRetryPolicy; + /** + * Output only. Server-assigned unique identifier for the Pipeline. The value is a UUID4 string and guaranteed to remain unchanged until the resource is deleted. + */ + uid?: string | null; + /** + * Output only. The last-modified time. A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z". + */ + updateTime?: string | null; + } /** * An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] \}, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", \} \} ], "etag": "BwWWja0YfJA=", "version": 3 \} ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). */ @@ -810,6 +1284,7 @@ export namespace eventarc_v1 { channels: Resource$Projects$Locations$Channels; enrollments: Resource$Projects$Locations$Enrollments; googleApiSources: Resource$Projects$Locations$Googleapisources; + kafkaSources: Resource$Projects$Locations$Kafkasources; messageBuses: Resource$Projects$Locations$Messagebuses; operations: Resource$Projects$Locations$Operations; pipelines: Resource$Projects$Locations$Pipelines; @@ -826,6 +1301,9 @@ export namespace eventarc_v1 { this.googleApiSources = new Resource$Projects$Locations$Googleapisources( this.context ); + this.kafkaSources = new Resource$Projects$Locations$Kafkasources( + this.context + ); this.messageBuses = new Resource$Projects$Locations$Messagebuses( this.context ); @@ -2842,58 +3320,64 @@ export namespace eventarc_v1 { } /** - * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + * Create a new Enrollment in a particular project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getIamPolicy( - params: Params$Resource$Projects$Locations$Enrollments$Getiampolicy, + create( + params: Params$Resource$Projects$Locations$Enrollments$Create, options: StreamMethodOptions ): GaxiosPromise; - getIamPolicy( - params?: Params$Resource$Projects$Locations$Enrollments$Getiampolicy, + create( + params?: Params$Resource$Projects$Locations$Enrollments$Create, options?: MethodOptions - ): GaxiosPromise; - getIamPolicy( - params: Params$Resource$Projects$Locations$Enrollments$Getiampolicy, + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Enrollments$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Enrollments$Getiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Enrollments$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Enrollments$Getiampolicy, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Enrollments$Create, + callback: BodyResponseCallback ): void; - getIamPolicy(callback: BodyResponseCallback): void; - getIamPolicy( + create( + callback: BodyResponseCallback + ): void; + create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Enrollments$Getiampolicy - | BodyResponseCallback + | Params$Resource$Projects$Locations$Enrollments$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Enrollments$Getiampolicy; + {}) as Params$Resource$Projects$Locations$Enrollments$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Enrollments$Getiampolicy; + params = {} as Params$Resource$Projects$Locations$Enrollments$Create; options = {}; } @@ -2906,83 +3390,89 @@ export namespace eventarc_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace( + url: (rootUrl + '/v1/{+parent}/enrollments').replace( /([^:]\/)\/+/g, '$1' ), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + * Delete a single Enrollment. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setIamPolicy( - params: Params$Resource$Projects$Locations$Enrollments$Setiampolicy, + delete( + params: Params$Resource$Projects$Locations$Enrollments$Delete, options: StreamMethodOptions ): GaxiosPromise; - setIamPolicy( - params?: Params$Resource$Projects$Locations$Enrollments$Setiampolicy, + delete( + params?: Params$Resource$Projects$Locations$Enrollments$Delete, options?: MethodOptions - ): GaxiosPromise; - setIamPolicy( - params: Params$Resource$Projects$Locations$Enrollments$Setiampolicy, + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Enrollments$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Enrollments$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Enrollments$Delete, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Enrollments$Setiampolicy, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Enrollments$Delete, + callback: BodyResponseCallback ): void; - setIamPolicy(callback: BodyResponseCallback): void; - setIamPolicy( + delete( + callback: BodyResponseCallback + ): void; + delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Enrollments$Setiampolicy - | BodyResponseCallback + | Params$Resource$Projects$Locations$Enrollments$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Enrollments$Setiampolicy; + {}) as Params$Resource$Projects$Locations$Enrollments$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Enrollments$Setiampolicy; + params = {} as Params$Resource$Projects$Locations$Enrollments$Delete; options = {}; } @@ -2995,90 +3485,79 @@ export namespace eventarc_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+resource}:setIamPolicy').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. + * Get a single Enrollment. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - testIamPermissions( - params: Params$Resource$Projects$Locations$Enrollments$Testiampermissions, + get( + params: Params$Resource$Projects$Locations$Enrollments$Get, options: StreamMethodOptions ): GaxiosPromise; - testIamPermissions( - params?: Params$Resource$Projects$Locations$Enrollments$Testiampermissions, + get( + params?: Params$Resource$Projects$Locations$Enrollments$Get, options?: MethodOptions - ): GaxiosPromise; - testIamPermissions( - params: Params$Resource$Projects$Locations$Enrollments$Testiampermissions, + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Enrollments$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Projects$Locations$Enrollments$Testiampermissions, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - testIamPermissions( - params: Params$Resource$Projects$Locations$Enrollments$Testiampermissions, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Enrollments$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Enrollments$Get, + callback: BodyResponseCallback ): void; - testIamPermissions( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Enrollments$Testiampermissions - | BodyResponseCallback + | Params$Resource$Projects$Locations$Enrollments$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Enrollments$Testiampermissions; + {}) as Params$Resource$Projects$Locations$Enrollments$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Enrollments$Testiampermissions; + params = {} as Params$Resource$Projects$Locations$Enrollments$Get; options = {}; } @@ -3091,72 +3570,26 @@ export namespace eventarc_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+resource}:testIamPermissions').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', }, options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Projects$Locations$Enrollments$Getiampolicy - extends StandardParameters { - /** - * Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - */ - 'options.requestedPolicyVersion'?: number; - /** - * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. - */ - resource?: string; - } - export interface Params$Resource$Projects$Locations$Enrollments$Setiampolicy - extends StandardParameters { - /** - * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$SetIamPolicyRequest; - } - export interface Params$Resource$Projects$Locations$Enrollments$Testiampermissions - extends StandardParameters { - /** - * REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$TestIamPermissionsRequest; - } - - export class Resource$Projects$Locations$Googleapisources { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. @@ -3167,31 +3600,31 @@ export namespace eventarc_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ getIamPolicy( - params: Params$Resource$Projects$Locations$Googleapisources$Getiampolicy, + params: Params$Resource$Projects$Locations$Enrollments$Getiampolicy, options: StreamMethodOptions ): GaxiosPromise; getIamPolicy( - params?: Params$Resource$Projects$Locations$Googleapisources$Getiampolicy, + params?: Params$Resource$Projects$Locations$Enrollments$Getiampolicy, options?: MethodOptions ): GaxiosPromise; getIamPolicy( - params: Params$Resource$Projects$Locations$Googleapisources$Getiampolicy, + params: Params$Resource$Projects$Locations$Enrollments$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; getIamPolicy( - params: Params$Resource$Projects$Locations$Googleapisources$Getiampolicy, + params: Params$Resource$Projects$Locations$Enrollments$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; getIamPolicy( - params: Params$Resource$Projects$Locations$Googleapisources$Getiampolicy, + params: Params$Resource$Projects$Locations$Enrollments$Getiampolicy, callback: BodyResponseCallback ): void; getIamPolicy(callback: BodyResponseCallback): void; getIamPolicy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Googleapisources$Getiampolicy + | Params$Resource$Projects$Locations$Enrollments$Getiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -3204,13 +3637,13 @@ export namespace eventarc_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Googleapisources$Getiampolicy; + {}) as Params$Resource$Projects$Locations$Enrollments$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Googleapisources$Getiampolicy; + {} as Params$Resource$Projects$Locations$Enrollments$Getiampolicy; options = {}; } @@ -3248,58 +3681,62 @@ export namespace eventarc_v1 { } /** - * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + * List Enrollments. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setIamPolicy( - params: Params$Resource$Projects$Locations$Googleapisources$Setiampolicy, + list( + params: Params$Resource$Projects$Locations$Enrollments$List, options: StreamMethodOptions ): GaxiosPromise; - setIamPolicy( - params?: Params$Resource$Projects$Locations$Googleapisources$Setiampolicy, + list( + params?: Params$Resource$Projects$Locations$Enrollments$List, options?: MethodOptions - ): GaxiosPromise; - setIamPolicy( - params: Params$Resource$Projects$Locations$Googleapisources$Setiampolicy, + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Enrollments$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Googleapisources$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Enrollments$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Googleapisources$Setiampolicy, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Enrollments$List, + callback: BodyResponseCallback ): void; - setIamPolicy(callback: BodyResponseCallback): void; - setIamPolicy( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Googleapisources$Setiampolicy - | BodyResponseCallback + | Params$Resource$Projects$Locations$Enrollments$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Googleapisources$Setiampolicy; + {}) as Params$Resource$Projects$Locations$Enrollments$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Googleapisources$Setiampolicy; + params = {} as Params$Resource$Projects$Locations$Enrollments$List; options = {}; } @@ -3312,90 +3749,89 @@ export namespace eventarc_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+resource}:setIamPolicy').replace( + url: (rootUrl + '/v1/{+parent}/enrollments').replace( /([^:]\/)\/+/g, '$1' ), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. + * Update a single Enrollment. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - testIamPermissions( - params: Params$Resource$Projects$Locations$Googleapisources$Testiampermissions, + patch( + params: Params$Resource$Projects$Locations$Enrollments$Patch, options: StreamMethodOptions ): GaxiosPromise; - testIamPermissions( - params?: Params$Resource$Projects$Locations$Googleapisources$Testiampermissions, + patch( + params?: Params$Resource$Projects$Locations$Enrollments$Patch, options?: MethodOptions - ): GaxiosPromise; - testIamPermissions( - params: Params$Resource$Projects$Locations$Googleapisources$Testiampermissions, + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Enrollments$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Projects$Locations$Googleapisources$Testiampermissions, + patch( + params: Params$Resource$Projects$Locations$Enrollments$Patch, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Projects$Locations$Googleapisources$Testiampermissions, - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Enrollments$Patch, + callback: BodyResponseCallback ): void; - testIamPermissions( - callback: BodyResponseCallback + patch( + callback: BodyResponseCallback ): void; - testIamPermissions( + patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Googleapisources$Testiampermissions - | BodyResponseCallback + | Params$Resource$Projects$Locations$Enrollments$Patch + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Googleapisources$Testiampermissions; + {}) as Params$Resource$Projects$Locations$Enrollments$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Googleapisources$Testiampermissions; + params = {} as Params$Resource$Projects$Locations$Enrollments$Patch; options = {}; } @@ -3408,107 +3844,61 @@ export namespace eventarc_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+resource}:testIamPermissions').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Projects$Locations$Googleapisources$Getiampolicy - extends StandardParameters { - /** - * Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - */ - 'options.requestedPolicyVersion'?: number; - /** - * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. - */ - resource?: string; - } - export interface Params$Resource$Projects$Locations$Googleapisources$Setiampolicy - extends StandardParameters { - /** - * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$SetIamPolicyRequest; - } - export interface Params$Resource$Projects$Locations$Googleapisources$Testiampermissions - extends StandardParameters { - /** - * REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$TestIamPermissionsRequest; - } - - export class Resource$Projects$Locations$Messagebuses { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getIamPolicy( - params: Params$Resource$Projects$Locations$Messagebuses$Getiampolicy, + setIamPolicy( + params: Params$Resource$Projects$Locations$Enrollments$Setiampolicy, options: StreamMethodOptions ): GaxiosPromise; - getIamPolicy( - params?: Params$Resource$Projects$Locations$Messagebuses$Getiampolicy, + setIamPolicy( + params?: Params$Resource$Projects$Locations$Enrollments$Setiampolicy, options?: MethodOptions ): GaxiosPromise; - getIamPolicy( - params: Params$Resource$Projects$Locations$Messagebuses$Getiampolicy, + setIamPolicy( + params: Params$Resource$Projects$Locations$Enrollments$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Messagebuses$Getiampolicy, + setIamPolicy( + params: Params$Resource$Projects$Locations$Enrollments$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Messagebuses$Getiampolicy, + setIamPolicy( + params: Params$Resource$Projects$Locations$Enrollments$Setiampolicy, callback: BodyResponseCallback ): void; - getIamPolicy(callback: BodyResponseCallback): void; - getIamPolicy( + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Messagebuses$Getiampolicy + | Params$Resource$Projects$Locations$Enrollments$Setiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -3521,13 +3911,13 @@ export namespace eventarc_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Messagebuses$Getiampolicy; + {}) as Params$Resource$Projects$Locations$Enrollments$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Messagebuses$Getiampolicy; + {} as Params$Resource$Projects$Locations$Enrollments$Setiampolicy; options = {}; } @@ -3540,11 +3930,11 @@ export namespace eventarc_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace( + url: (rootUrl + '/v1/{+resource}:setIamPolicy').replace( /([^:]\/)\/+/g, '$1' ), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -3565,58 +3955,65 @@ export namespace eventarc_v1 { } /** - * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + * Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setIamPolicy( - params: Params$Resource$Projects$Locations$Messagebuses$Setiampolicy, + testIamPermissions( + params: Params$Resource$Projects$Locations$Enrollments$Testiampermissions, options: StreamMethodOptions ): GaxiosPromise; - setIamPolicy( - params?: Params$Resource$Projects$Locations$Messagebuses$Setiampolicy, + testIamPermissions( + params?: Params$Resource$Projects$Locations$Enrollments$Testiampermissions, options?: MethodOptions - ): GaxiosPromise; - setIamPolicy( - params: Params$Resource$Projects$Locations$Messagebuses$Setiampolicy, + ): GaxiosPromise; + testIamPermissions( + params: Params$Resource$Projects$Locations$Enrollments$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Messagebuses$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Projects$Locations$Enrollments$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Messagebuses$Setiampolicy, - callback: BodyResponseCallback + testIamPermissions( + params: Params$Resource$Projects$Locations$Enrollments$Testiampermissions, + callback: BodyResponseCallback ): void; - setIamPolicy(callback: BodyResponseCallback): void; - setIamPolicy( + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( paramsOrCallback?: - | Params$Resource$Projects$Locations$Messagebuses$Setiampolicy - | BodyResponseCallback + | Params$Resource$Projects$Locations$Enrollments$Testiampermissions + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Messagebuses$Setiampolicy; + {}) as Params$Resource$Projects$Locations$Enrollments$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Messagebuses$Setiampolicy; + {} as Params$Resource$Projects$Locations$Enrollments$Testiampermissions; options = {}; } @@ -3629,7 +4026,7 @@ export namespace eventarc_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+resource}:setIamPolicy').replace( + url: (rootUrl + '/v1/{+resource}:testIamPermissions').replace( /([^:]\/)\/+/g, '$1' ), @@ -3644,75 +4041,2643 @@ export namespace eventarc_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Projects$Locations$Enrollments$Create + extends StandardParameters { /** - * Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. + * Required. The user-provided ID to be assigned to the Enrollment. It should match the format `^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$`. + */ + enrollmentId?: string; + /** + * Required. The parent collection in which to add this enrollment. + */ + parent?: string; + /** + * Optional. If set, validate the request and preview the review, but do not post it. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$Enrollment; + } + export interface Params$Resource$Projects$Locations$Enrollments$Delete + extends StandardParameters { + /** + * Optional. If set to true, and the Enrollment is not found, the request will succeed but no action will be taken on the server. + */ + allowMissing?: boolean; + /** + * Optional. If provided, the Enrollment will only be deleted if the etag matches the current etag on the resource. + */ + etag?: string; + /** + * Required. The name of the Enrollment to be deleted. + */ + name?: string; + /** + * Optional. If set, validate the request and preview the review, but do not post it. + */ + validateOnly?: boolean; + } + export interface Params$Resource$Projects$Locations$Enrollments$Get + extends StandardParameters { + /** + * Required. The name of the Enrollment to get. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Enrollments$Getiampolicy + extends StandardParameters { + /** + * Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + */ + 'options.requestedPolicyVersion'?: number; + /** + * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + } + export interface Params$Resource$Projects$Locations$Enrollments$List + extends StandardParameters { + /** + * Optional. The filter field that the list request will filter on. Possible filtersare described in https://google.aip.dev/160. + */ + filter?: string; + /** + * Optional. The sorting order of the resources returned. Value should be a comma-separated list of fields. The default sorting order is ascending. To specify descending order for a field, append a `desc` suffix; for example: `name desc, update_time`. + */ + orderBy?: string; + /** + * Optional. The maximum number of results to return on each page. Note: The service may send fewer. + */ + pageSize?: number; + /** + * Optional. The page token; provide the value from the `next_page_token` field in a previous call to retrieve the subsequent page. When paginating, all other parameters provided must match the previous call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent collection to list triggers on. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Enrollments$Patch + extends StandardParameters { + /** + * Optional. If set to true, and the Enrollment is not found, a new Enrollment will be created. In this situation, `update_mask` is ignored. + */ + allowMissing?: boolean; + /** + * Identifier. Resource name of the form projects/{project\}/locations/{location\}/enrollments/{enrollment\} + */ + name?: string; + /** + * Optional. The fields to be updated; only fields explicitly provided are updated. If no field mask is provided, all provided fields in the request are updated. To update all fields, provide a field mask of "*". + */ + updateMask?: string; + /** + * Optional. If set, validate the request and preview the review, but do not post it. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$Enrollment; + } + export interface Params$Resource$Projects$Locations$Enrollments$Setiampolicy + extends StandardParameters { + /** + * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + export interface Params$Resource$Projects$Locations$Enrollments$Testiampermissions + extends StandardParameters { + /** + * REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + + export class Resource$Projects$Locations$Googleapisources { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Create a new GoogleApiSource in a particular project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - testIamPermissions( - params: Params$Resource$Projects$Locations$Messagebuses$Testiampermissions, + create( + params: Params$Resource$Projects$Locations$Googleapisources$Create, options: StreamMethodOptions ): GaxiosPromise; - testIamPermissions( - params?: Params$Resource$Projects$Locations$Messagebuses$Testiampermissions, + create( + params?: Params$Resource$Projects$Locations$Googleapisources$Create, options?: MethodOptions - ): GaxiosPromise; - testIamPermissions( - params: Params$Resource$Projects$Locations$Messagebuses$Testiampermissions, + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Googleapisources$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Projects$Locations$Messagebuses$Testiampermissions, + create( + params: Params$Resource$Projects$Locations$Googleapisources$Create, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Projects$Locations$Messagebuses$Testiampermissions, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Googleapisources$Create, + callback: BodyResponseCallback ): void; - testIamPermissions( - callback: BodyResponseCallback + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Googleapisources$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Googleapisources$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Googleapisources$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://eventarc.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/googleApiSources').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Delete a single GoogleApiSource. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Googleapisources$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Googleapisources$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Googleapisources$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Googleapisources$Delete, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Googleapisources$Delete, + callback: BodyResponseCallback + ): void; + delete( + callback: BodyResponseCallback + ): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Googleapisources$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Googleapisources$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Googleapisources$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://eventarc.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Get a single GoogleApiSource. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Googleapisources$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Googleapisources$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Googleapisources$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Googleapisources$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Googleapisources$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Googleapisources$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Googleapisources$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Googleapisources$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://eventarc.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getIamPolicy( + params: Params$Resource$Projects$Locations$Googleapisources$Getiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + getIamPolicy( + params?: Params$Resource$Projects$Locations$Googleapisources$Getiampolicy, + options?: MethodOptions + ): GaxiosPromise; + getIamPolicy( + params: Params$Resource$Projects$Locations$Googleapisources$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Googleapisources$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Googleapisources$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Googleapisources$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Googleapisources$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Googleapisources$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://eventarc.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * List GoogleApiSources. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Googleapisources$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Googleapisources$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Googleapisources$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Googleapisources$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Googleapisources$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Googleapisources$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Googleapisources$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Googleapisources$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://eventarc.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/googleApiSources').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Update a single GoogleApiSource. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Googleapisources$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Googleapisources$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Googleapisources$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Googleapisources$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Googleapisources$Patch, + callback: BodyResponseCallback + ): void; + patch( + callback: BodyResponseCallback + ): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Googleapisources$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Googleapisources$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Googleapisources$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://eventarc.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setIamPolicy( + params: Params$Resource$Projects$Locations$Googleapisources$Setiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + setIamPolicy( + params?: Params$Resource$Projects$Locations$Googleapisources$Setiampolicy, + options?: MethodOptions + ): GaxiosPromise; + setIamPolicy( + params: Params$Resource$Projects$Locations$Googleapisources$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Googleapisources$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Googleapisources$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Googleapisources$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Googleapisources$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Googleapisources$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://eventarc.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:setIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + testIamPermissions( + params: Params$Resource$Projects$Locations$Googleapisources$Testiampermissions, + options: StreamMethodOptions + ): GaxiosPromise; + testIamPermissions( + params?: Params$Resource$Projects$Locations$Googleapisources$Testiampermissions, + options?: MethodOptions + ): GaxiosPromise; + testIamPermissions( + params: Params$Resource$Projects$Locations$Googleapisources$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Googleapisources$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Googleapisources$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Googleapisources$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Googleapisources$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Googleapisources$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://eventarc.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:testIamPermissions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Googleapisources$Create + extends StandardParameters { + /** + * Required. The user-provided ID to be assigned to the GoogleApiSource. It should match the format `^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$`. + */ + googleApiSourceId?: string; + /** + * Required. The parent collection in which to add this google api source. + */ + parent?: string; + /** + * Optional. If set, validate the request and preview the review, but do not post it. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleApiSource; + } + export interface Params$Resource$Projects$Locations$Googleapisources$Delete + extends StandardParameters { + /** + * Optional. If set to true, and the MessageBus is not found, the request will succeed but no action will be taken on the server. + */ + allowMissing?: boolean; + /** + * Optional. If provided, the MessageBus will only be deleted if the etag matches the current etag on the resource. + */ + etag?: string; + /** + * Required. The name of the GoogleApiSource to be deleted. + */ + name?: string; + /** + * Optional. If set, validate the request and preview the review, but do not post it. + */ + validateOnly?: boolean; + } + export interface Params$Resource$Projects$Locations$Googleapisources$Get + extends StandardParameters { + /** + * Required. The name of the google api source to get. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Googleapisources$Getiampolicy + extends StandardParameters { + /** + * Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + */ + 'options.requestedPolicyVersion'?: number; + /** + * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + } + export interface Params$Resource$Projects$Locations$Googleapisources$List + extends StandardParameters { + /** + * Optional. The filter field that the list request will filter on. Possible filtersare described in https://google.aip.dev/160. + */ + filter?: string; + /** + * Optional. The sorting order of the resources returned. Value should be a comma-separated list of fields. The default sorting order is ascending. To specify descending order for a field, append a `desc` suffix; for example: `name desc, update_time`. + */ + orderBy?: string; + /** + * Optional. The maximum number of results to return on each page. Note: The service may send fewer. + */ + pageSize?: number; + /** + * Optional. The page token; provide the value from the `next_page_token` field in a previous call to retrieve the subsequent page. When paginating, all other parameters provided must match the previous call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent collection to list GoogleApiSources on. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Googleapisources$Patch + extends StandardParameters { + /** + * Optional. If set to true, and the GoogleApiSource is not found, a new GoogleApiSource will be created. In this situation, `update_mask` is ignored. + */ + allowMissing?: boolean; + /** + * Identifier. Resource name of the form projects/{project\}/locations/{location\}/googleApiSources/{google_api_source\} + */ + name?: string; + /** + * Optional. The fields to be updated; only fields explicitly provided are updated. If no field mask is provided, all provided fields in the request are updated. To update all fields, provide a field mask of "*". + */ + updateMask?: string; + /** + * Optional. If set, validate the request and preview the review, but do not post it. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleApiSource; + } + export interface Params$Resource$Projects$Locations$Googleapisources$Setiampolicy + extends StandardParameters { + /** + * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + export interface Params$Resource$Projects$Locations$Googleapisources$Testiampermissions + extends StandardParameters { + /** + * REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + + export class Resource$Projects$Locations$Kafkasources { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getIamPolicy( + params: Params$Resource$Projects$Locations$Kafkasources$Getiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + getIamPolicy( + params?: Params$Resource$Projects$Locations$Kafkasources$Getiampolicy, + options?: MethodOptions + ): GaxiosPromise; + getIamPolicy( + params: Params$Resource$Projects$Locations$Kafkasources$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Kafkasources$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Kafkasources$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Kafkasources$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Kafkasources$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Kafkasources$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://eventarc.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setIamPolicy( + params: Params$Resource$Projects$Locations$Kafkasources$Setiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + setIamPolicy( + params?: Params$Resource$Projects$Locations$Kafkasources$Setiampolicy, + options?: MethodOptions + ): GaxiosPromise; + setIamPolicy( + params: Params$Resource$Projects$Locations$Kafkasources$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Kafkasources$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Kafkasources$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Kafkasources$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Kafkasources$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Kafkasources$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://eventarc.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:setIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + testIamPermissions( + params: Params$Resource$Projects$Locations$Kafkasources$Testiampermissions, + options: StreamMethodOptions + ): GaxiosPromise; + testIamPermissions( + params?: Params$Resource$Projects$Locations$Kafkasources$Testiampermissions, + options?: MethodOptions + ): GaxiosPromise; + testIamPermissions( + params: Params$Resource$Projects$Locations$Kafkasources$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Kafkasources$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Kafkasources$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Kafkasources$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Kafkasources$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Kafkasources$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://eventarc.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:testIamPermissions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Kafkasources$Getiampolicy + extends StandardParameters { + /** + * Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + */ + 'options.requestedPolicyVersion'?: number; + /** + * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + } + export interface Params$Resource$Projects$Locations$Kafkasources$Setiampolicy + extends StandardParameters { + /** + * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + export interface Params$Resource$Projects$Locations$Kafkasources$Testiampermissions + extends StandardParameters { + /** + * REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + + export class Resource$Projects$Locations$Messagebuses { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Create a new MessageBus in a particular project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Messagebuses$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Messagebuses$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Messagebuses$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Messagebuses$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Messagebuses$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Messagebuses$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Messagebuses$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Messagebuses$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://eventarc.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/messageBuses').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Delete a single message bus. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Messagebuses$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Messagebuses$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Messagebuses$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Messagebuses$Delete, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Messagebuses$Delete, + callback: BodyResponseCallback + ): void; + delete( + callback: BodyResponseCallback + ): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Messagebuses$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Messagebuses$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Messagebuses$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://eventarc.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Get a single MessageBus. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Messagebuses$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Messagebuses$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Messagebuses$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Messagebuses$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Messagebuses$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Messagebuses$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Messagebuses$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Messagebuses$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://eventarc.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getIamPolicy( + params: Params$Resource$Projects$Locations$Messagebuses$Getiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + getIamPolicy( + params?: Params$Resource$Projects$Locations$Messagebuses$Getiampolicy, + options?: MethodOptions + ): GaxiosPromise; + getIamPolicy( + params: Params$Resource$Projects$Locations$Messagebuses$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Messagebuses$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Messagebuses$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Messagebuses$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Messagebuses$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Messagebuses$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://eventarc.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * List message buses. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Messagebuses$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Messagebuses$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Messagebuses$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Messagebuses$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Messagebuses$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Messagebuses$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Messagebuses$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Messagebuses$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://eventarc.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/messageBuses').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * List message bus enrollments. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + listEnrollments( + params: Params$Resource$Projects$Locations$Messagebuses$Listenrollments, + options: StreamMethodOptions + ): GaxiosPromise; + listEnrollments( + params?: Params$Resource$Projects$Locations$Messagebuses$Listenrollments, + options?: MethodOptions + ): GaxiosPromise; + listEnrollments( + params: Params$Resource$Projects$Locations$Messagebuses$Listenrollments, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listEnrollments( + params: Params$Resource$Projects$Locations$Messagebuses$Listenrollments, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listEnrollments( + params: Params$Resource$Projects$Locations$Messagebuses$Listenrollments, + callback: BodyResponseCallback + ): void; + listEnrollments( + callback: BodyResponseCallback + ): void; + listEnrollments( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Messagebuses$Listenrollments + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Messagebuses$Listenrollments; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Messagebuses$Listenrollments; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://eventarc.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}:listEnrollments').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Update a single message bus. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Messagebuses$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Messagebuses$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Messagebuses$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Messagebuses$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Messagebuses$Patch, + callback: BodyResponseCallback + ): void; + patch( + callback: BodyResponseCallback + ): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Messagebuses$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Messagebuses$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Messagebuses$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://eventarc.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setIamPolicy( + params: Params$Resource$Projects$Locations$Messagebuses$Setiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + setIamPolicy( + params?: Params$Resource$Projects$Locations$Messagebuses$Setiampolicy, + options?: MethodOptions + ): GaxiosPromise; + setIamPolicy( + params: Params$Resource$Projects$Locations$Messagebuses$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Messagebuses$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Messagebuses$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Messagebuses$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Messagebuses$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Messagebuses$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://eventarc.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:setIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + testIamPermissions( + params: Params$Resource$Projects$Locations$Messagebuses$Testiampermissions, + options: StreamMethodOptions + ): GaxiosPromise; + testIamPermissions( + params?: Params$Resource$Projects$Locations$Messagebuses$Testiampermissions, + options?: MethodOptions + ): GaxiosPromise; + testIamPermissions( + params: Params$Resource$Projects$Locations$Messagebuses$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Messagebuses$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Messagebuses$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Messagebuses$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Messagebuses$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Messagebuses$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://eventarc.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:testIamPermissions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Messagebuses$Create + extends StandardParameters { + /** + * Required. The user-provided ID to be assigned to the MessageBus. It should match the format `^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$`. + */ + messageBusId?: string; + /** + * Required. The parent collection in which to add this message bus. + */ + parent?: string; + /** + * Optional. If set, validate the request and preview the review, but do not post it. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$MessageBus; + } + export interface Params$Resource$Projects$Locations$Messagebuses$Delete + extends StandardParameters { + /** + * Optional. If set to true, and the MessageBus is not found, the request will succeed but no action will be taken on the server. + */ + allowMissing?: boolean; + /** + * Optional. If provided, the MessageBus will only be deleted if the etag matches the current etag on the resource. + */ + etag?: string; + /** + * Required. The name of the MessageBus to be deleted. + */ + name?: string; + /** + * Optional. If set, validate the request and preview the review, but do not post it. + */ + validateOnly?: boolean; + } + export interface Params$Resource$Projects$Locations$Messagebuses$Get + extends StandardParameters { + /** + * Required. The name of the message bus to get. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Messagebuses$Getiampolicy + extends StandardParameters { + /** + * Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + */ + 'options.requestedPolicyVersion'?: number; + /** + * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + } + export interface Params$Resource$Projects$Locations$Messagebuses$List + extends StandardParameters { + /** + * Optional. The filter field that the list request will filter on. Possible filtersare described in https://google.aip.dev/160. + */ + filter?: string; + /** + * Optional. The sorting order of the resources returned. Value should be a comma-separated list of fields. The default sorting order is ascending. To specify descending order for a field, append a `desc` suffix; for example: `name desc, update_time`. + */ + orderBy?: string; + /** + * Optional. The maximum number of results to return on each page. Note: The service may send fewer. + */ + pageSize?: number; + /** + * Optional. The page token; provide the value from the `next_page_token` field in a previous call to retrieve the subsequent page. When paginating, all other parameters provided must match the previous call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent collection to list message buses on. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Messagebuses$Listenrollments + extends StandardParameters { + /** + * Optional. The maximum number of results to return on each page. Note: The service may send fewer. + */ + pageSize?: number; + /** + * Optional. The page token; provide the value from the `next_page_token` field in a previous call to retrieve the subsequent page. When paginating, all other parameters provided must match the previous call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent message bus to list enrollments on. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Messagebuses$Patch + extends StandardParameters { + /** + * Optional. If set to true, and the MessageBus is not found, a new MessageBus will be created. In this situation, `update_mask` is ignored. + */ + allowMissing?: boolean; + /** + * Identifier. Resource name of the form projects/{project\}/locations/{location\}/messageBuses/{message_bus\} + */ + name?: string; + /** + * Optional. The fields to be updated; only fields explicitly provided are updated. If no field mask is provided, all provided fields in the request are updated. To update all fields, provide a field mask of "*". + */ + updateMask?: string; + /** + * Optional. If set, validate the request and preview the review, but do not post it. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$MessageBus; + } + export interface Params$Resource$Projects$Locations$Messagebuses$Setiampolicy + extends StandardParameters { + /** + * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + export interface Params$Resource$Projects$Locations$Messagebuses$Testiampermissions + extends StandardParameters { + /** + * REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + + export class Resource$Projects$Locations$Operations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: StreamMethodOptions + ): GaxiosPromise; + cancel( + params?: Params$Resource$Projects$Locations$Operations$Cancel, + options?: MethodOptions + ): GaxiosPromise; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + callback: BodyResponseCallback + ): void; + cancel(callback: BodyResponseCallback): void; + cancel( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Cancel + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Cancel; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Cancel; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://eventarc.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:cancel').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Operations$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://eventarc.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Operations$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://eventarc.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Operations$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Operations$List, + callback: BodyResponseCallback ): void; - testIamPermissions( + list( + callback: BodyResponseCallback + ): void; + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Messagebuses$Testiampermissions - | BodyResponseCallback + | Params$Resource$Projects$Locations$Operations$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Messagebuses$Testiampermissions; + {}) as Params$Resource$Projects$Locations$Operations$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Messagebuses$Testiampermissions; + params = {} as Params$Resource$Projects$Locations$Operations$List; options = {}; } @@ -3725,125 +6690,144 @@ export namespace eventarc_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+resource}:testIamPermissions').replace( + url: (rootUrl + '/v1/{+name}/operations').replace( /([^:]\/)\/+/g, '$1' ), - method: 'POST', + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } } - export interface Params$Resource$Projects$Locations$Messagebuses$Getiampolicy + export interface Params$Resource$Projects$Locations$Operations$Cancel extends StandardParameters { /** - * Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + * The name of the operation resource to be cancelled. */ - 'options.requestedPolicyVersion'?: number; + name?: string; + /** - * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * Request body metadata */ - resource?: string; + requestBody?: Schema$GoogleLongrunningCancelOperationRequest; } - export interface Params$Resource$Projects$Locations$Messagebuses$Setiampolicy + export interface Params$Resource$Projects$Locations$Operations$Delete extends StandardParameters { /** - * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * The name of the operation resource to be deleted. */ - resource?: string; - + name?: string; + } + export interface Params$Resource$Projects$Locations$Operations$Get + extends StandardParameters { /** - * Request body metadata + * The name of the operation resource. */ - requestBody?: Schema$SetIamPolicyRequest; + name?: string; } - export interface Params$Resource$Projects$Locations$Messagebuses$Testiampermissions + export interface Params$Resource$Projects$Locations$Operations$List extends StandardParameters { /** - * REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * The standard list filter. */ - resource?: string; - + filter?: string; /** - * Request body metadata + * The name of the operation's parent resource. */ - requestBody?: Schema$TestIamPermissionsRequest; + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; } - export class Resource$Projects$Locations$Operations { + export class Resource$Projects$Locations$Pipelines { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * 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`. + * Create a new Pipeline in a particular project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - cancel( - params: Params$Resource$Projects$Locations$Operations$Cancel, + create( + params: Params$Resource$Projects$Locations$Pipelines$Create, options: StreamMethodOptions ): GaxiosPromise; - cancel( - params?: Params$Resource$Projects$Locations$Operations$Cancel, + create( + params?: Params$Resource$Projects$Locations$Pipelines$Create, options?: MethodOptions - ): GaxiosPromise; - cancel( - params: Params$Resource$Projects$Locations$Operations$Cancel, + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Pipelines$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - cancel( - params: Params$Resource$Projects$Locations$Operations$Cancel, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Pipelines$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - cancel( - params: Params$Resource$Projects$Locations$Operations$Cancel, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Pipelines$Create, + callback: BodyResponseCallback ): void; - cancel(callback: BodyResponseCallback): void; - cancel( + create( + callback: BodyResponseCallback + ): void; + create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Operations$Cancel - | BodyResponseCallback + | Params$Resource$Projects$Locations$Pipelines$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Operations$Cancel; + {}) as Params$Resource$Projects$Locations$Pipelines$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Operations$Cancel; + params = {} as Params$Resource$Projects$Locations$Pipelines$Create; options = {}; } @@ -3856,29 +6840,32 @@ export namespace eventarc_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}:cancel').replace(/([^:]\/)\/+/g, '$1'), + url: (rootUrl + '/v1/{+parent}/pipelines').replace( + /([^:]\/)\/+/g, + '$1' + ), method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * 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`. + * Delete a single pipeline. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3886,49 +6873,56 @@ export namespace eventarc_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Projects$Locations$Operations$Delete, + params: Params$Resource$Projects$Locations$Pipelines$Delete, options: StreamMethodOptions ): GaxiosPromise; delete( - params?: Params$Resource$Projects$Locations$Operations$Delete, + params?: Params$Resource$Projects$Locations$Pipelines$Delete, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; delete( - params: Params$Resource$Projects$Locations$Operations$Delete, + params: Params$Resource$Projects$Locations$Pipelines$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Operations$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Pipelines$Delete, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Operations$Delete, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Pipelines$Delete, + callback: BodyResponseCallback + ): void; + delete( + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Operations$Delete - | BodyResponseCallback + | Params$Resource$Projects$Locations$Pipelines$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Operations$Delete; + {}) as Params$Resource$Projects$Locations$Pipelines$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Operations$Delete; + params = {} as Params$Resource$Projects$Locations$Pipelines$Delete; options = {}; } @@ -3953,17 +6947,17 @@ export namespace eventarc_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. + * Get a single Pipeline. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3971,56 +6965,135 @@ export namespace eventarc_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Projects$Locations$Operations$Get, + params: Params$Resource$Projects$Locations$Pipelines$Get, options: StreamMethodOptions ): GaxiosPromise; get( - params?: Params$Resource$Projects$Locations$Operations$Get, + params?: Params$Resource$Projects$Locations$Pipelines$Get, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; get( - params: Params$Resource$Projects$Locations$Operations$Get, + params: Params$Resource$Projects$Locations$Pipelines$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Operations$Get, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Pipelines$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Operations$Get, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Pipelines$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Pipelines$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Pipelines$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Pipelines$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://eventarc.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getIamPolicy( + params: Params$Resource$Projects$Locations$Pipelines$Getiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + getIamPolicy( + params?: Params$Resource$Projects$Locations$Pipelines$Getiampolicy, + options?: MethodOptions + ): GaxiosPromise; + getIamPolicy( + params: Params$Resource$Projects$Locations$Pipelines$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Pipelines$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Projects$Locations$Pipelines$Getiampolicy, + callback: BodyResponseCallback ): void; - get( + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Operations$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Pipelines$Getiampolicy + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Operations$Get; + {}) as Params$Resource$Projects$Locations$Pipelines$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Operations$Get; + params = + {} as Params$Resource$Projects$Locations$Pipelines$Getiampolicy; options = {}; } @@ -4033,29 +7106,32 @@ export namespace eventarc_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['resource'], + pathParams: ['resource'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + * List pipelines. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -4063,56 +7139,54 @@ export namespace eventarc_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Projects$Locations$Operations$List, + params: Params$Resource$Projects$Locations$Pipelines$List, options: StreamMethodOptions ): GaxiosPromise; list( - params?: Params$Resource$Projects$Locations$Operations$List, + params?: Params$Resource$Projects$Locations$Pipelines$List, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; list( - params: Params$Resource$Projects$Locations$Operations$List, + params: Params$Resource$Projects$Locations$Pipelines$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Operations$List, + params: Params$Resource$Projects$Locations$Pipelines$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Projects$Locations$Operations$List, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Pipelines$List, + callback: BodyResponseCallback ): void; + list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Operations$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Pipelines$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Operations$List; + {}) as Params$Resource$Projects$Locations$Pipelines$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Operations$List; + params = {} as Params$Resource$Projects$Locations$Pipelines$List; options = {}; } @@ -4125,7 +7199,7 @@ export namespace eventarc_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}/operations').replace( + url: (rootUrl + '/v1/{+parent}/pipelines').replace( /([^:]\/)\/+/g, '$1' ), @@ -4135,128 +7209,79 @@ export namespace eventarc_v1 { options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Projects$Locations$Operations$Cancel - extends StandardParameters { - /** - * The name of the operation resource to be cancelled. - */ - name?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$GoogleLongrunningCancelOperationRequest; - } - export interface Params$Resource$Projects$Locations$Operations$Delete - extends StandardParameters { - /** - * The name of the operation resource to be deleted. - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Operations$Get - extends StandardParameters { - /** - * The name of the operation resource. - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Operations$List - extends StandardParameters { - /** - * The standard list filter. - */ - filter?: string; - /** - * The name of the operation's parent resource. - */ - name?: string; - /** - * The standard list page size. - */ - pageSize?: number; - /** - * The standard list page token. - */ - pageToken?: string; - } - - export class Resource$Projects$Locations$Pipelines { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + * Update a single pipeline. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getIamPolicy( - params: Params$Resource$Projects$Locations$Pipelines$Getiampolicy, + patch( + params: Params$Resource$Projects$Locations$Pipelines$Patch, options: StreamMethodOptions ): GaxiosPromise; - getIamPolicy( - params?: Params$Resource$Projects$Locations$Pipelines$Getiampolicy, + patch( + params?: Params$Resource$Projects$Locations$Pipelines$Patch, options?: MethodOptions - ): GaxiosPromise; - getIamPolicy( - params: Params$Resource$Projects$Locations$Pipelines$Getiampolicy, + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Pipelines$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Pipelines$Getiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Pipelines$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Pipelines$Getiampolicy, - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Pipelines$Patch, + callback: BodyResponseCallback ): void; - getIamPolicy(callback: BodyResponseCallback): void; - getIamPolicy( + patch( + callback: BodyResponseCallback + ): void; + patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Pipelines$Getiampolicy - | BodyResponseCallback + | Params$Resource$Projects$Locations$Pipelines$Patch + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Pipelines$Getiampolicy; + {}) as Params$Resource$Projects$Locations$Pipelines$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Pipelines$Getiampolicy; + params = {} as Params$Resource$Projects$Locations$Pipelines$Patch; options = {}; } @@ -4269,27 +7294,24 @@ export namespace eventarc_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'GET', + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } @@ -4479,6 +7501,52 @@ export namespace eventarc_v1 { } } + export interface Params$Resource$Projects$Locations$Pipelines$Create + extends StandardParameters { + /** + * Required. The parent collection in which to add this pipeline. + */ + parent?: string; + /** + * Required. The user-provided ID to be assigned to the Pipeline. It should match the format `^[a-z]([a-z0-9-]{0,61\}[a-z0-9])?$`. + */ + pipelineId?: string; + /** + * Optional. If set, validate the request and preview the review, but do not post it. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$Pipeline; + } + export interface Params$Resource$Projects$Locations$Pipelines$Delete + extends StandardParameters { + /** + * Optional. If set to true, and the Pipeline is not found, the request will succeed but no action will be taken on the server. + */ + allowMissing?: boolean; + /** + * Optional. If provided, the Pipeline will only be deleted if the etag matches the current etag on the resource. + */ + etag?: string; + /** + * Required. The name of the Pipeline to be deleted. + */ + name?: string; + /** + * Optional. If set, validate the request and preview the review, but do not post it. + */ + validateOnly?: boolean; + } + export interface Params$Resource$Projects$Locations$Pipelines$Get + extends StandardParameters { + /** + * Required. The name of the pipeline to get. + */ + name?: string; + } export interface Params$Resource$Projects$Locations$Pipelines$Getiampolicy extends StandardParameters { /** @@ -4490,6 +7558,53 @@ export namespace eventarc_v1 { */ resource?: string; } + export interface Params$Resource$Projects$Locations$Pipelines$List + extends StandardParameters { + /** + * Optional. The filter field that the list request will filter on. Possible filters are described in https://google.aip.dev/160. + */ + filter?: string; + /** + * Optional. The sorting order of the resources returned. Value should be a comma-separated list of fields. The default sorting order is ascending. To specify descending order for a field, append a `desc` suffix; for example: `name desc, update_time`. + */ + orderBy?: string; + /** + * Optional. The maximum number of results to return on each page. Note: The service may send fewer. + */ + pageSize?: number; + /** + * Optional. The page token; provide the value from the `next_page_token` field in a previous call to retrieve the subsequent page. When paginating, all other parameters provided must match the previous call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent collection to list pipelines on. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Pipelines$Patch + extends StandardParameters { + /** + * Optional. If set to true, and the Pipeline is not found, a new Pipeline will be created. In this situation, `update_mask` is ignored. + */ + allowMissing?: boolean; + /** + * Identifier. The resource name of the Pipeline. Must be unique within the location of the project and must be in `projects/{project\}/locations/{location\}/pipelines/{pipeline\}` format. + */ + name?: string; + /** + * Optional. The fields to be updated; only fields explicitly provided are updated. If no field mask is provided, all provided fields in the request are updated. To update all fields, provide a field mask of "*". + */ + updateMask?: string; + /** + * Optional. If set, validate the request and preview the review, but do not post it. + */ + validateOnly?: boolean; + + /** + * Request body metadata + */ + requestBody?: Schema$Pipeline; + } export interface Params$Resource$Projects$Locations$Pipelines$Setiampolicy extends StandardParameters { /** diff --git a/src/apis/fcm/v1.ts b/src/apis/fcm/v1.ts index e43adfd727..71efa5a281 100644 --- a/src/apis/fcm/v1.ts +++ b/src/apis/fcm/v1.ts @@ -295,6 +295,10 @@ export namespace fcm_v1 { * HTTP request headers defined in Apple Push Notification Service. Refer to [APNs request headers](https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns) for supported headers such as `apns-expiration` and `apns-priority`. The backend sets a default value for `apns-expiration` of 30 days and a default value for `apns-priority` of 10 if not explicitly set. */ headers?: {[key: string]: string} | null; + /** + * Optional. [Apple Live Activity](https://developer.apple.com/design/human-interface-guidelines/live-activities) token to send updates to. This token can either be a push token or [push-to-start](https://developer.apple.com/documentation/activitykit/activity/pushtostarttoken) token from Apple. To start, update, or end a live activity remotely using FCM, construct an [`aps payload`](https://developer.apple.com/documentation/activitykit/starting-and-updating-live-activities-with-activitykit-push-notifications#Construct-the-payload-that-starts-a-Live-Activity) and put it in the [`apns.payload`](https://firebase.google.com/docs/reference/fcm/rest/v1/projects.messages#ApnsConfig) field. + */ + liveActivityToken?: string | null; /** * APNs payload as a JSON object, including both `aps` dictionary and custom payload. See [Payload Key Reference](https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/generating_a_remote_notification). If present, it overrides google.firebase.fcm.v1.Notification.title and google.firebase.fcm.v1.Notification.body. */ diff --git a/src/apis/file/v1.ts b/src/apis/file/v1.ts index 03889cea3c..7c387c3344 100644 --- a/src/apis/file/v1.ts +++ b/src/apis/file/v1.ts @@ -189,7 +189,7 @@ export namespace file_v1 { */ storageBytes?: string | null; /** - * Optional. Input only. Immutable. Tag key-value pairs are bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing" + * Optional. Input only. Immutable. Tag key-value pairs bound to this resource. Each key must be a namespaced name and each value a short name. Example: "123456789012/environment" : "production", "123456789013/costCenter" : "marketing" See the documentation for more information: - Namespaced name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_key - Short name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_value */ tags?: {[key: string]: string} | null; } @@ -274,9 +274,9 @@ export namespace file_v1 { */ export interface Schema$FixedIOPS { /** - * Required. Maximum raw read IOPS. + * Required. Maximum IOPS. */ - maxReadIops?: string | null; + maxIops?: string | null; } /** * Instance represents the interface for SLM services to actuate the state of control plane resources. Example Instance in JSON, where consumer-project-number=123456, producer-project-id=cloud-sql: ```json Instance: { "name": "projects/123456/locations/us-east1/instances/prod-instance", "create_time": { "seconds": 1526406431, \}, "labels": { "env": "prod", "foo": "bar" \}, "state": READY, "software_versions": { "software_update": "cloud-sql-09-28-2018", \}, "maintenance_policy_names": { "UpdatePolicy": "projects/123456/locations/us-east1/maintenancePolicies/prod-update-policy", \} "tenant_project_id": "cloud-sql-test-tenant", "producer_metadata": { "cloud-sql-tier": "basic", "cloud-sql-instance-size": "1G", \}, "provisioned_resources": [ { "resource-type": "compute-instance", "resource-url": "https://www.googleapis.com/compute/v1/projects/cloud-sql/zones/us-east1-b/instances/vm-1", \} ], "maintenance_schedules": { "csa_rollout": { "start_time": { "seconds": 1526406431, \}, "end_time": { "seconds": 1535406431, \}, \}, "ncsa_rollout": { "start_time": { "seconds": 1526406431, \}, "end_time": { "seconds": 1535406431, \}, \} \}, "consumer_defined_name": "my-sql-instance1", \} ``` LINT.IfChange @@ -568,7 +568,7 @@ export namespace file_v1 { */ suspensionReasons?: string[] | null; /** - * Optional. Input only. Immutable. Tag key-value pairs are bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing" + * Optional. Input only. Immutable. Tag key-value pairs bound to this resource. Each key must be a namespaced name and each value a short name. Example: "123456789012/environment" : "production", "123456789013/costCenter" : "marketing" See the documentation for more information: - Namespaced name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_key - Short name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_value */ tags?: {[key: string]: string} | null; /** @@ -581,9 +581,9 @@ export namespace file_v1 { */ export interface Schema$IOPSPerTB { /** - * Required. Maximum read IOPS per TiB. + * Required. Maximum IOPS per TiB. */ - maxReadIopsPerTb?: string | null; + maxIopsPerTb?: string | null; } /** * ListBackupsResponse is the result of ListBackupsRequest. @@ -598,7 +598,7 @@ export namespace file_v1 { */ nextPageToken?: string | null; /** - * Locations that could not be reached. + * Unordered list. Locations that could not be reached. */ unreachable?: string[] | null; } @@ -615,7 +615,7 @@ export namespace file_v1 { */ nextPageToken?: string | null; /** - * Locations that could not be reached. + * Unordered list. Locations that could not be reached. */ unreachable?: string[] | null; } @@ -657,6 +657,10 @@ export namespace file_v1 { * A list of snapshots in the project for the specified instance. */ snapshots?: Schema$Snapshot[]; + /** + * Unordered list. Locations that could not be reached. + */ + unreachable?: string[] | null; } /** * A resource that represents a Google Cloud location. @@ -813,7 +817,7 @@ export namespace file_v1 { */ apiVersion?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. */ cancelRequested?: boolean | null; /** @@ -977,7 +981,7 @@ export namespace file_v1 { */ state?: string | null; /** - * Optional. Input only. Immutable. Tag key-value pairs are bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing" + * Optional. Input only. Immutable. Tag key-value pairs bound to this resource. Each key must be a namespaced name and each value a short name. Example: "123456789012/environment" : "production", "123456789013/costCenter" : "marketing" See the documentation for more information: - Namespaced name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_key - Short name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_value */ tags?: {[key: string]: string} | null; } @@ -1003,19 +1007,19 @@ export namespace file_v1 { */ export interface Schema$TimeOfDay { /** - * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. */ hours?: number | null; /** - * Minutes of hour of day. Must be from 0 to 59. + * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. */ minutes?: number | null; /** - * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. */ nanos?: number | null; /** - * Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. */ seconds?: number | null; } @@ -3109,6 +3113,10 @@ export namespace file_v1 { * Required. The instance for which to retrieve snapshot information, in the format `projects/{project_id\}/locations/{location\}/instances/{instance_id\}`. */ parent?: string; + /** + * Optional. If true, allow partial responses for multi-regional Aggregated List requests. + */ + returnPartialSuccess?: boolean; } export interface Params$Resource$Projects$Locations$Instances$Snapshots$Patch extends StandardParameters { @@ -3134,7 +3142,7 @@ export namespace file_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/file/v1beta1.ts b/src/apis/file/v1beta1.ts index 368ecc20d7..92b1b17c17 100644 --- a/src/apis/file/v1beta1.ts +++ b/src/apis/file/v1beta1.ts @@ -189,7 +189,7 @@ export namespace file_v1beta1 { */ storageBytes?: string | null; /** - * Optional. Input only. Immutable. Tag key-value pairs are bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing" + * Optional. Input only. Immutable. Tag key-value pairs bound to this resource. Each key must be a namespaced name and each value a short name. Example: "123456789012/environment" : "production", "123456789013/costCenter" : "marketing" See the documentation for more information: - Namespaced name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_key - Short name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_value */ tags?: {[key: string]: string} | null; } @@ -283,9 +283,9 @@ export namespace file_v1beta1 { */ export interface Schema$FixedIOPS { /** - * Required. Maximum raw read IOPS. + * Required. Maximum IOPS. */ - maxReadIops?: string | null; + maxIops?: string | null; } /** * Instance represents the interface for SLM services to actuate the state of control plane resources. Example Instance in JSON, where consumer-project-number=123456, producer-project-id=cloud-sql: ```json Instance: { "name": "projects/123456/locations/us-east1/instances/prod-instance", "create_time": { "seconds": 1526406431, \}, "labels": { "env": "prod", "foo": "bar" \}, "state": READY, "software_versions": { "software_update": "cloud-sql-09-28-2018", \}, "maintenance_policy_names": { "UpdatePolicy": "projects/123456/locations/us-east1/maintenancePolicies/prod-update-policy", \} "tenant_project_id": "cloud-sql-test-tenant", "producer_metadata": { "cloud-sql-tier": "basic", "cloud-sql-instance-size": "1G", \}, "provisioned_resources": [ { "resource-type": "compute-instance", "resource-url": "https://www.googleapis.com/compute/v1/projects/cloud-sql/zones/us-east1-b/instances/vm-1", \} ], "maintenance_schedules": { "csa_rollout": { "start_time": { "seconds": 1526406431, \}, "end_time": { "seconds": 1535406431, \}, \}, "ncsa_rollout": { "start_time": { "seconds": 1526406431, \}, "end_time": { "seconds": 1535406431, \}, \} \}, "consumer_defined_name": "my-sql-instance1", \} ``` LINT.IfChange @@ -601,7 +601,7 @@ export namespace file_v1beta1 { */ suspensionReasons?: string[] | null; /** - * Optional. Input only. Immutable. Tag key-value pairs are bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing" + * Optional. Input only. Immutable. Tag key-value pairs bound to this resource. Each key must be a namespaced name and each value a short name. Example: "123456789012/environment" : "production", "123456789013/costCenter" : "marketing" See the documentation for more information: - Namespaced name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_key - Short name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_value */ tags?: {[key: string]: string} | null; /** @@ -614,9 +614,9 @@ export namespace file_v1beta1 { */ export interface Schema$IOPSPerTB { /** - * Required. Maximum read IOPS per TiB. + * Required. Maximum IOPS per TiB. */ - maxReadIopsPerTb?: string | null; + maxIopsPerTb?: string | null; } /** * ListBackupsResponse is the result of ListBackupsRequest. @@ -631,7 +631,7 @@ export namespace file_v1beta1 { */ nextPageToken?: string | null; /** - * Locations that could not be reached. + * Unordered list. Locations that could not be reached. */ unreachable?: string[] | null; } @@ -648,7 +648,7 @@ export namespace file_v1beta1 { */ nextPageToken?: string | null; /** - * Locations that could not be reached. + * Unordered list. Locations that could not be reached. */ unreachable?: string[] | null; } @@ -691,7 +691,7 @@ export namespace file_v1beta1 { */ shares?: Schema$Share[]; /** - * Locations that could not be reached. + * Unordered list. Locations that could not be reached. */ unreachable?: string[] | null; } @@ -707,6 +707,10 @@ export namespace file_v1beta1 { * A list of snapshots in the project for the specified instance. */ snapshots?: Schema$Snapshot[]; + /** + * Unordered list. Locations that could not be reached. + */ + unreachable?: string[] | null; } /** * A resource that represents a Google Cloud location. @@ -880,7 +884,7 @@ export namespace file_v1beta1 { */ apiVersion?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. */ cancelRequested?: boolean | null; /** @@ -1089,7 +1093,7 @@ export namespace file_v1beta1 { */ state?: string | null; /** - * Optional. Input only. Immutable. Tag key-value pairs are bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing" + * Optional. Input only. Immutable. Tag key-value pairs bound to this resource. Each key must be a namespaced name and each value a short name. Example: "123456789012/environment" : "production", "123456789013/costCenter" : "marketing" See the documentation for more information: - Namespaced name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_key - Short name: https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing#retrieving_tag_value */ tags?: {[key: string]: string} | null; } @@ -1115,19 +1119,19 @@ export namespace file_v1beta1 { */ export interface Schema$TimeOfDay { /** - * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. */ hours?: number | null; /** - * Minutes of hour of day. Must be from 0 to 59. + * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. */ minutes?: number | null; /** - * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. */ nanos?: number | null; /** - * Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. */ seconds?: number | null; } @@ -3742,6 +3746,10 @@ export namespace file_v1beta1 { * Required. The instance for which to retrieve snapshot information, in the format `projects/{project_id\}/locations/{location\}/instances/{instance_id\}`. */ parent?: string; + /** + * Optional. If true, allow partial responses for multi-regional Aggregated List requests. + */ + returnPartialSuccess?: boolean; } export interface Params$Resource$Projects$Locations$Instances$Snapshots$Patch extends StandardParameters { @@ -3767,7 +3775,7 @@ export namespace file_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/firebase/v1beta1.ts b/src/apis/firebase/v1beta1.ts index efaf9c3a50..043f12b4e9 100644 --- a/src/apis/firebase/v1beta1.ts +++ b/src/apis/firebase/v1beta1.ts @@ -133,7 +133,7 @@ export namespace firebase_v1beta1 { */ export interface Schema$AddFirebaseRequest { /** - * Deprecated. Instead, to set a Project's default GCP resource location, call [`FinalizeDefaultLocation`](../projects.defaultLocation/finalize) after you add Firebase resources to the GCP `Project`. The ID of the Project's default GCP resource location. The location must be one of the available [GCP resource locations](https://firebase.google.com/docs/projects/locations). + * **DEPRECATED.** _Instead, use product-specific REST APIs to work with the location of each resource in a Project. This field may be ignored, especially for newly provisioned projects after October 30, 2024._ The ID of the Project's ["location for default Google Cloud resources"](https://firebase.google.com/docs/projects/locations#default-cloud-location), which are resources associated with Google App Engine. The location must be one of the available [Google App Engine locations](https://cloud.google.com/about/locations#region). */ locationId?: string | null; } @@ -149,11 +149,11 @@ export namespace firebase_v1beta1 { } export interface Schema$AdminSdkConfig { /** - * **DEPRECATED.** _Instead, find the default Firebase Realtime Database instance name using the [list endpoint](https://firebase.google.com/docs/reference/rest/database/database-management/rest/v1beta/projects.locations.instances/list) within the Firebase Realtime Database REST API. Note that the default instance for the Project might not yet be provisioned, so the return might not contain a default instance._ The default Firebase Realtime Database URL. + * **DEPRECATED.** _Instead, find the URL of the default Realtime Database instance using the [list endpoint](https://firebase.google.com/docs/reference/rest/database/database-management/rest/v1beta/projects.locations.instances/list) within the Firebase Realtime Database REST API. If the default instance for the Project has not yet been provisioned, the return might not contain a default instance. Note that the config that's generated for the Firebase console or the Firebase CLI uses the Realtime Database endpoint to populate this value for that config._ The URL of the default Firebase Realtime Database instance. */ databaseURL?: string | null; /** - * **DEPRECATED.** _Instead, use product-specific REST APIs to find the location of resources._ The ID of the Project's default GCP resource location. The location is one of the available [GCP resource locations](https://firebase.google.com/docs/projects/locations). This field is omitted if the default GCP resource location has not been finalized yet. To set a Project's default GCP resource location, call [`FinalizeDefaultLocation`](../projects.defaultLocation/finalize) after you add Firebase resources to the Project. + * **DEPRECATED.** _Instead, use product-specific REST APIs to find the location of each resource in a Project. This field may not be populated, especially for newly provisioned projects after October 30, 2024._ The ID of the Project's ["location for default Google Cloud resources"](https://firebase.google.com/docs/projects/locations#default-cloud-location), which are resources associated with Google App Engine. The location is one of the available [App Engine locations](https://cloud.google.com/about/locations#region). This field is omitted if the location for default Google Cloud resources has not been set. */ locationId?: string | null; /** @@ -161,7 +161,7 @@ export namespace firebase_v1beta1 { */ projectId?: string | null; /** - * **DEPRECATED.** _Instead, find the default Cloud Storage for Firebase bucket using the [list endpoint](https://firebase.google.com/docs/reference/rest/storage/rest/v1beta/projects.buckets/list) within the Cloud Storage for Firebase REST API. Note that the default bucket for the Project might not yet be provisioned, so the return might not contain a default bucket._ The default Cloud Storage for Firebase storage bucket name. + * **DEPRECATED.** _Instead, find the name of the default Cloud Storage for Firebase bucket using the [list endpoint](https://firebase.google.com/docs/reference/rest/storage/rest/v1beta/projects.buckets/list) within the Cloud Storage for Firebase REST API. If the default bucket for the Project has not yet been provisioned, the return might not contain a default bucket. Note that the config that's generated for the Firebase console or the Firebase CLI uses the Cloud Storage for Firebase endpoint to populate this value for that config._ The name of the default Cloud Storage for Firebase bucket. */ storageBucket?: string | null; } @@ -213,7 +213,7 @@ export namespace firebase_v1beta1 { */ etag?: string | null; /** - * Output only. Timestamp of when the App will be considered expired and cannot be undeleted. This value is only provided if the App is in the `DELETED` state. + * Output only. If the App has been removed from the Project, this is the timestamp of when the App is considered expired and will be permanently deleted. After this time, the App cannot be undeleted (that is, restored to the Project). This value is only provided if the App is in the `DELETED` state. */ expireTime?: string | null; /** @@ -259,19 +259,19 @@ export namespace firebase_v1beta1 { */ export interface Schema$DefaultResources { /** - * Output only. **DEPRECATED.** _Instead, find the default Firebase Hosting site name using the [ListSites](https://firebase.google.com/docs/reference/hosting/rest/v1beta1/projects.sites/list) within the Firebase Hosting REST API. Note that the default site for the Project might not yet be provisioned, so the return might not contain a default site._ The default Firebase Hosting site name, in the format: PROJECT_ID Though rare, your `projectId` might already be used as the name for an existing Hosting site in another project (learn more about creating non-default, [additional sites](https://firebase.google.com/docs/hosting/multisites)). In these cases, your `projectId` is appended with a hyphen then five alphanumeric characters to create your default Hosting site name. For example, if your `projectId` is `myproject123`, your default Hosting site name might be: `myproject123-a5c16` + * Output only. **DEPRECATED.** _Instead, find the name of the default Firebase Hosting site using [ListSites](https://firebase.google.com/docs/reference/hosting/rest/v1beta1/projects.sites/list) within the Firebase Hosting REST API. If the default Hosting site for the Project has not yet been provisioned, the return might not contain a default site._ The name of the default Firebase Hosting site, in the format: PROJECT_ID Though rare, your `projectId` might already be used as the name for an existing Hosting site in another project (learn more about creating non-default, [additional sites](https://firebase.google.com/docs/hosting/multisites)). In these cases, your `projectId` is appended with a hyphen then five alphanumeric characters to create your default Hosting site name. For example, if your `projectId` is `myproject123`, your default Hosting site name might be: `myproject123-a5c16` */ hostingSite?: string | null; /** - * Output only. **DEPRECATED.** _Instead, use product-specific REST APIs to find the location of resources._ The ID of the Project's default GCP resource location. The location is one of the available [GCP resource locations](https://firebase.google.com/docs/projects/locations). This field is omitted if the default GCP resource location has not been finalized yet. To set a Project's default GCP resource location, call [`FinalizeDefaultLocation`](../projects.defaultLocation/finalize) after you add Firebase resources to the Project. + * Output only. **DEPRECATED.** _Instead, use product-specific REST APIs to find the location of each resource in a Project. This field may not be populated, especially for newly provisioned projects after October 30, 2024._ The ID of the Project's ["location for default Google Cloud resources"](https://firebase.google.com/docs/projects/locations#default-cloud-location), which are resources associated with Google App Engine. The location is one of the available [Google App Engine locations](https://cloud.google.com/about/locations#region). This field is omitted if the location for default Google Cloud resources has not been set. */ locationId?: string | null; /** - * Output only. **DEPRECATED.** _Instead, find the default Firebase Realtime Database instance name using the [list endpoint](https://firebase.google.com/docs/reference/rest/database/database-management/rest/v1beta/projects.locations.instances/list) within the Firebase Realtime Database REST API. Note that the default instance for the Project might not yet be provisioned, so the return might not contain a default instance._ The default Firebase Realtime Database instance name, in the format: PROJECT_ID Though rare, your `projectId` might already be used as the name for an existing Realtime Database instance in another project (learn more about [database sharding](https://firebase.google.com/docs/database/usage/sharding)). In these cases, your `projectId` is appended with a hyphen then five alphanumeric characters to create your default Realtime Database instance name. For example, if your `projectId` is `myproject123`, your default database instance name might be: `myproject123-a5c16` + * Output only. **DEPRECATED.** _Instead, find the name of the default Realtime Database instance using the [list endpoint](https://firebase.google.com/docs/reference/rest/database/database-management/rest/v1beta/projects.locations.instances/list) within the Firebase Realtime Database REST API. If the default Realtime Database instance for a Project has not yet been provisioned, the return might not contain a default instance._ The default Firebase Realtime Database instance name, in the format: PROJECT_ID Though rare, your `projectId` might already be used as the name for an existing Realtime Database instance in another project (learn more about [database sharding](https://firebase.google.com/docs/database/usage/sharding)). In these cases, your `projectId` is appended with a hyphen then five alphanumeric characters to create your default Realtime Database instance name. For example, if your `projectId` is `myproject123`, your default database instance name might be: `myproject123-a5c16` */ realtimeDatabaseInstance?: string | null; /** - * Output only. **DEPRECATED.** _Instead, find the default Cloud Storage for Firebase bucket using the [list endpoint](https://firebase.google.com/docs/reference/rest/storage/rest/v1beta/projects.buckets/list) within the Cloud Storage for Firebase REST API. Note that the default bucket for the Project might not yet be provisioned, so the return might not contain a default bucket._ The default Cloud Storage for Firebase storage bucket, in the format: PROJECT_ID.appspot.com + * Output only. **DEPRECATED.** _Instead, find the name of the default Cloud Storage for Firebase bucket using the [list endpoint](https://firebase.google.com/docs/reference/rest/storage/rest/v1beta/projects.buckets/list) within the Cloud Storage for Firebase REST API. If the default bucket for the Project has not yet been provisioned, the return might not contain a default bucket._ The name of the default Cloud Storage for Firebase bucket, in one of the following formats: * If provisioned _before_ October 30, 2024: PROJECT_ID.firebasestorage.app * If provisioned _on or after_ October 30, 2024: PROJECT_ID.firebasestorage.app */ storageBucket?: string | null; } @@ -281,7 +281,7 @@ export namespace firebase_v1beta1 { export interface Schema$Empty {} export interface Schema$FinalizeDefaultLocationRequest { /** - * The ID of the Project's default GCP resource location. The location must be one of the available [GCP resource locations](https://firebase.google.com/docs/projects/locations). + * **DEPRECATED** The ID of the Project's ["location for default Google Cloud resources"](https://firebase.google.com/docs/projects/locations#default-cloud-location), which are resources associated with Google App Engine. The location must be one of the available [Google App Engine locations](https://cloud.google.com/about/locations#region). */ locationId?: string | null; } @@ -302,7 +302,7 @@ export namespace firebase_v1beta1 { */ displayName?: string | null; /** - * Output only. Timestamp of when the App will be considered expired and cannot be undeleted. This value is only provided if the App is in the `DELETED` state. + * Output only. If the App has been removed from the Project, this is the timestamp of when the App is considered expired and will be permanently deleted. After this time, the App cannot be undeleted (that is, restored to the Project). This value is only provided if the App is in the `DELETED` state. */ expireTime?: string | null; /** @@ -323,7 +323,7 @@ export namespace firebase_v1beta1 { state?: string | null; } /** - * A `FirebaseProject` is the top-level Firebase entity. It is the container for Firebase Apps, Firebase Hosting sites, storage systems (Firebase Realtime Database, Cloud Firestore, Cloud Storage buckets), and other Firebase and Google Cloud Platform (GCP) resources. You create a `FirebaseProject` by calling AddFirebase and specifying an *existing* [GCP `Project`](https://cloud.google.com/resource-manager/reference/rest/v1/projects). This adds Firebase resources to the existing GCP `Project`. Since a FirebaseProject is actually also a GCP `Project`, a `FirebaseProject` has the same underlying GCP identifiers (`projectNumber` and `projectId`). This allows for easy interop with Google APIs. + * A `FirebaseProject` is the top-level Firebase entity. It is the container for Firebase Apps, Firebase Hosting sites, storage systems (Firebase Realtime Database, Cloud Firestore, Cloud Storage buckets), and other Firebase and Google Cloud resources. You create a `FirebaseProject` by calling AddFirebase and specifying an *existing* [Google Cloud `Project`](https://cloud.google.com/resource-manager/reference/rest/v1/projects). This adds Firebase resources to the existing Google Cloud `Project`. Since a FirebaseProject is actually also a Google Cloud `Project`, a `FirebaseProject` has the same underlying Google Cloud identifiers (`projectNumber` and `projectId`). This allows for easy interop with Google APIs. */ export interface Schema$FirebaseProject { /** @@ -388,7 +388,7 @@ export namespace firebase_v1beta1 { */ etag?: string | null; /** - * Output only. Timestamp of when the App will be considered expired and cannot be undeleted. This value is only provided if the App is in the `DELETED` state. + * Output only. If the App has been removed from the Project, this is the timestamp of when the App is considered expired and will be permanently deleted. After this time, the App cannot be undeleted (that is, restored to the Project). This value is only provided if the App is in the `DELETED` state. */ expireTime?: string | null; /** @@ -447,7 +447,7 @@ export namespace firebase_v1beta1 { */ nextPageToken?: string | null; /** - * The list of GCP `Projects` which can have Firebase resources added to them. + * The list of Google Cloud `Projects` which can have Firebase resources added to them. */ projectInfo?: Schema$ProjectInfo[]; } @@ -488,19 +488,19 @@ export namespace firebase_v1beta1 { nextPageToken?: string | null; } /** - * **DEPRECATED.** _This Location is no longer used to determine Firebase resource locations. Instead, consult product documentation to determine valid locations for each resource used in your Project._ A GCP resource location that can be selected for a FirebaseProject. + * **DEPRECATED.** _This Location is no longer used to determine Firebase resource locations. Instead, consult product documentation to determine valid locations for each resource used in your Project._ A ["location for default Google Cloud resources"](https://firebase.google.com/docs/projects/locations#default-cloud-location) that can be selected for a FirebaseProject. These are resources associated with Google App Engine. */ export interface Schema$Location { /** - * Products and services that are available in the GCP resource location. + * Products and services that are available in the location for default Google Cloud resources. */ features?: string[] | null; /** - * The ID of the GCP resource location. It will be one of the available [GCP resource locations](https://firebase.google.com/docs/projects/locations#types). + * The ID of the Project's location for default Google Cloud resources. It will be one of the available [Google App Engine locations](https://cloud.google.com/about/locations#region). */ locationId?: string | null; /** - * Indicates whether the GCP resource location is a [regional or multi-regional location](https://firebase.google.com/docs/projects/locations#types) for data replication. + * Indicates whether the location for default Google Cloud resources is a [regional or multi-regional location](https://firebase.google.com/docs/projects/locations#types) for data replication. */ type?: string | null; } @@ -547,19 +547,19 @@ export namespace firebase_v1beta1 { warningMessages?: string[] | null; } /** - * A reference to a Google Cloud Platform (GCP) `Project`. + * A reference to a Google Cloud `Project`. */ export interface Schema$ProjectInfo { /** - * The user-assigned display name of the GCP `Project`, for example: `My App` + * The user-assigned display name of the Google Cloud `Project`, for example: `My App`. */ displayName?: string | null; /** - * The ID of the Project's default GCP resource location. The location is one of the available [GCP resource locations](https://firebase.google.com/docs/projects/locations). Not all Projects will have this field populated. If it is not populated, it means that the Project does not yet have a default GCP resource location. To set a Project's default GCP resource location, call [`FinalizeDefaultLocation`](../projects.defaultLocation/finalize) after you add Firebase resources to the Project. + * **DEPRECATED** _Instead, use product-specific REST APIs to work with the location of each resource in a Project. This field may not be populated, especially for newly provisioned projects after October 30, 2024._ The ID of the Project's ["location for default Google Cloud resources"](https://firebase.google.com/docs/projects/locations#default-cloud-location). The location is one of the available [Google App Engine locations](https://cloud.google.com/about/locations#region). Not all Projects will have this field populated. If it is not populated, it means that the Project does not yet have a location for default Google Cloud resources. */ locationId?: string | null; /** - * The resource name of the GCP `Project` to which Firebase resources can be added, in the format: projects/PROJECT_IDENTIFIER Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values. + * The resource name of the Google Cloud `Project` to which Firebase resources can be added, in the format: projects/PROJECT_IDENTIFIER Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values. */ project?: string | null; } @@ -579,7 +579,7 @@ export namespace firebase_v1beta1 { */ etag?: string | null; /** - * Determines whether to _immediately_ delete the AndroidApp. If set to true, the App is immediately deleted from the Project and cannot be restored to the Project. If not set, defaults to false, which means the App will be set to expire in 30 days. Within the 30 days, the App may be restored to the Project using UndeleteAndroidApp. + * Determines whether to _immediately_ delete the AndroidApp. If set to true, the App is immediately deleted from the Project and cannot be undeleted (that is, restored to the Project). If not set, defaults to false, which means the App will be set to expire in 30 days. Within the 30 days, the App may be restored to the Project using UndeleteAndroidApp. */ immediate?: boolean | null; /** @@ -597,7 +597,7 @@ export namespace firebase_v1beta1 { */ etag?: string | null; /** - * Determines whether to _immediately_ delete the IosApp. If set to true, the App is immediately deleted from the Project and cannot be restored to the Project. If not set, defaults to false, which means the App will be set to expire in 30 days. Within the 30 days, the App may be restored to the Project using UndeleteIosApp + * Determines whether to _immediately_ delete the IosApp. If set to true, the App is immediately deleted from the Project and cannot be undeleted (that is, restored to the Project). If not set, defaults to false, which means the App will be set to expire in 30 days. Within the 30 days, the App may be restored to the Project using UndeleteIosApp */ immediate?: boolean | null; /** @@ -615,7 +615,7 @@ export namespace firebase_v1beta1 { */ etag?: string | null; /** - * Determines whether to _immediately_ delete the WebApp. If set to true, the App is immediately deleted from the Project and cannot be restored to the Project. If not set, defaults to false, which means the App will be set to expire in 30 days. Within the 30 days, the App may be restored to the Project using UndeleteWebApp + * Determines whether to _immediately_ delete the WebApp. If set to true, the App is immediately deleted from the Project and cannot be undeleted (that is, restored to the Project). If not set, defaults to false, which means the App will be set to expire in 30 days. Within the 30 days, the App may be restored to the Project using UndeleteWebApp */ immediate?: boolean | null; /** @@ -672,19 +672,19 @@ export namespace firebase_v1beta1 { */ export interface Schema$StatusProto { /** - * The canonical error code (see codes.proto) that most closely corresponds to this status. This may be missing, and in the common case of the generic space, it definitely will be. + * The canonical error code (see codes.proto) that most closely corresponds to this status. This may be missing, and in the common case of the generic space, it definitely will be. copybara:strip_begin(b/383363683) copybara:strip_end_and_replace optional int32 canonical_code = 6; */ canonicalCode?: number | null; /** - * Numeric code drawn from the space specified below. Often, this is the canonical error space, and code is drawn from google3/util/task/codes.proto + * Numeric code drawn from the space specified below. Often, this is the canonical error space, and code is drawn from google3/util/task/codes.proto copybara:strip_begin(b/383363683) copybara:strip_end_and_replace optional int32 code = 1; */ code?: number | null; /** - * Detail message + * Detail message copybara:strip_begin(b/383363683) copybara:strip_end_and_replace optional string message = 3; */ message?: string | null; /** - * message_set associates an arbitrary proto message with the status. + * message_set associates an arbitrary proto message with the status. copybara:strip_begin(b/383363683) copybara:strip_end_and_replace optional proto2.bridge.MessageSet message_set = 5; */ messageSet?: Schema$MessageSet; /** @@ -764,7 +764,7 @@ export namespace firebase_v1beta1 { */ etag?: string | null; /** - * Output only. Timestamp of when the App will be considered expired and cannot be undeleted. This value is only provided if the App is in the `DELETED` state. + * Output only. If the App has been removed from the Project, this is the timestamp of when the App is considered expired and will be permanently deleted. After this time, the App cannot be undeleted (that is, restored to the Project). This value is only provided if the App is in the `DELETED` state. */ expireTime?: string | null; /** @@ -801,11 +801,11 @@ export namespace firebase_v1beta1 { */ authDomain?: string | null; /** - * **DEPRECATED.** _Instead, find the default Firebase Realtime Database instance name using the [list endpoint](https://firebase.google.com/docs/reference/rest/database/database-management/rest/v1beta/projects.locations.instances/list) within the Firebase Realtime Database REST API. Note that the default instance for the Project might not yet be provisioned, so the return might not contain a default instance._ The default Firebase Realtime Database URL. + * **DEPRECATED.** _Instead, find the URL of the default Realtime Database instance using the [list endpoint](https://firebase.google.com/docs/reference/rest/database/database-management/rest/v1beta/projects.locations.instances/list) within the Firebase Realtime Database REST API. If the default instance for the Project has not yet been provisioned, the return might not contain a default instance. Note that the config that's generated for the Firebase console or the Firebase CLI uses the Realtime Database endpoint to populate this value for that config._ The URL of the default Firebase Realtime Database instance. */ databaseURL?: string | null; /** - * **DEPRECATED.** _Instead, use product-specific REST APIs to find the location of resources._ The ID of the Project's default GCP resource location. The location is one of the available [GCP resource locations](https://firebase.google.com/docs/projects/locations). This field is omitted if the default GCP resource location has not been finalized yet. To set a Project's default GCP resource location, call [`FinalizeDefaultLocation`](../projects.defaultLocation/finalize) after you add Firebase resources to the Project. + * **DEPRECATED.** _Instead, use product-specific REST APIs to find the location of each resource in a Project. This field may not be populated, especially for newly provisioned projects after October 30, 2024._ The ID of the Project's ["location for default Google Cloud resources"](https://firebase.google.com/docs/projects/locations#default-cloud-location), which are resources associated with Google App Engine. The location is one of the available [App Engine locations](https://cloud.google.com/about/locations#region). This field is omitted if the location for default Google Cloud resources has not been set. */ locationId?: string | null; /** @@ -825,11 +825,11 @@ export namespace firebase_v1beta1 { */ projectNumber?: string | null; /** - * Optional. Duplicate field for the URL of the default RTDB instances (if there is one) that uses the same field name as the unified V2 config file format. We wanted to make a single config file format for all the app platforms (Android, iOS and web) and we had to pick consistent names for all the fields since there was some varience between the platforms. If the request asks for the V2 format we will populate this field instead of realtime_database_instance_uri. + * Optional. Duplicate field for the URL of the default Realtime Database instances (if the default instance has been provisioned). If the request asks for the V2 config format, this field will be populated instead of `realtime_database_instance_uri`. */ realtimeDatabaseUrl?: string | null; /** - * **DEPRECATED.** _Instead, find the default Cloud Storage for Firebase bucket using the [list endpoint](https://firebase.google.com/docs/reference/rest/storage/rest/v1beta/projects.buckets/list) within the Cloud Storage for Firebase REST API. Note that the default bucket for the Project might not yet be provisioned, so the return might not contain a default bucket._ The default Cloud Storage for Firebase storage bucket name. + * **DEPRECATED.** _Instead, find the name of the default Cloud Storage for Firebase bucket using the [list endpoint](https://firebase.google.com/docs/reference/rest/storage/rest/v1beta/projects.buckets/list) within the Cloud Storage for Firebase REST API. If the default bucket for the Project has not yet been provisioned, the return might not contain a default bucket. Note that the config that's generated for the Firebase console or the Firebase CLI uses the Cloud Storage for Firebase endpoint to populate this value for that config._ The name of the default Cloud Storage for Firebase bucket. */ storageBucket?: string | null; /** @@ -845,7 +845,7 @@ export namespace firebase_v1beta1 { } /** - * Lists each [Google Cloud Platform (GCP) `Project`] (https://cloud.google.com/resource-manager/reference/rest/v1/projects) that can have Firebase resources added to it. A Project will only be listed if: - The caller has sufficient [Google IAM](https://cloud.google.com/iam) permissions to call AddFirebase. - The Project is not already a FirebaseProject. - The Project is not in an Organization which has policies that prevent Firebase resources from being added. + * Lists each [Google Cloud `Project`](https://cloud.google.com/resource-manager/reference/rest/v1/projects) that can have Firebase resources added and Firebase services enabled. A Project will only be listed if: - The caller has sufficient [Google IAM](https://cloud.google.com/iam) permissions to call AddFirebase. - The Project is not already a FirebaseProject. - The Project is not in an Organization which has policies that prevent Firebase resources from being added. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -1073,7 +1073,7 @@ export namespace firebase_v1beta1 { } /** - * Adds Firebase resources to the specified existing [Google Cloud Platform (GCP) `Project`] (https://cloud.google.com/resource-manager/reference/rest/v1/projects). Since a FirebaseProject is actually also a GCP `Project`, a `FirebaseProject` has the same underlying GCP identifiers (`projectNumber` and `projectId`). This allows for easy interop with Google APIs. The result of this call is an [`Operation`](../../v1beta1/operations). Poll the `Operation` to track the provisioning process by calling GetOperation until [`done`](../../v1beta1/operations#Operation.FIELDS.done) is `true`. When `done` is `true`, the `Operation` has either succeeded or failed. If the `Operation` succeeded, its [`response`](../../v1beta1/operations#Operation.FIELDS.response) is set to a FirebaseProject; if the `Operation` failed, its [`error`](../../v1beta1/operations#Operation.FIELDS.error) is set to a google.rpc.Status. The `Operation` is automatically deleted after completion, so there is no need to call DeleteOperation. This method does not modify any billing account information on the underlying GCP `Project`. To call `AddFirebase`, a project member or service account must have the following permissions (the IAM roles of Editor and Owner contain these permissions): `firebase.projects.update`, `resourcemanager.projects.get`, `serviceusage.services.enable`, and `serviceusage.services.get`. + * Adds Firebase resources and enables Firebase services in the specified existing [Google Cloud `Project`](https://cloud.google.com/resource-manager/reference/rest/v1/projects). Since a FirebaseProject is actually also a Google Cloud `Project`, a `FirebaseProject` has the same underlying Google Cloud identifiers (`projectNumber` and `projectId`). This allows for easy interop with Google APIs. The result of this call is an [`Operation`](../../v1beta1/operations). Poll the `Operation` to track the provisioning process by calling GetOperation until [`done`](../../v1beta1/operations#Operation.FIELDS.done) is `true`. When `done` is `true`, the `Operation` has either succeeded or failed. If the `Operation` succeeded, its [`response`](../../v1beta1/operations#Operation.FIELDS.response) is set to a FirebaseProject; if the `Operation` failed, its [`error`](../../v1beta1/operations#Operation.FIELDS.error) is set to a google.rpc.Status. The `Operation` is automatically deleted after completion, so there is no need to call DeleteOperation. This method does not modify any billing account information on the underlying Google Cloud `Project`. To call `AddFirebase`, a project member or service account must have the following permissions (the IAM roles of Editor and Owner contain these permissions): `firebase.projects.update`, `resourcemanager.projects.get`, `serviceusage.services.enable`, and `serviceusage.services.get`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -1870,7 +1870,7 @@ export namespace firebase_v1beta1 { export interface Params$Resource$Projects$Addfirebase extends StandardParameters { /** - * The resource name of the GCP `Project` to which Firebase resources will be added, in the format: projects/PROJECT_IDENTIFIER Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values. After calling `AddFirebase`, the unique Project identifiers ( [`projectNumber`](https://cloud.google.com/resource-manager/reference/rest/v1/projects#Project.FIELDS.project_number) and [`projectId`](https://cloud.google.com/resource-manager/reference/rest/v1/projects#Project.FIELDS.project_id)) of the underlying GCP `Project` are also the identifiers of the FirebaseProject. + * The resource name of the Google Cloud `Project` in which Firebase resources will be added and Firebase services enabled, in the format: projects/ PROJECT_IDENTIFIER Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values. After calling `AddFirebase`, the unique Project identifiers ( [`projectNumber`](https://cloud.google.com/resource-manager/reference/rest/v1/projects#Project.FIELDS.project_number) and [`projectId`](https://cloud.google.com/resource-manager/reference/rest/v1/projects#Project.FIELDS.project_id)) of the underlying Google Cloud `Project` are also the identifiers of the FirebaseProject. */ project?: string; @@ -2992,7 +2992,7 @@ export namespace firebase_v1beta1 { } /** - * **DEPRECATED.** _Instead, use the applicable resource-specific REST API (or associated documentation, as needed) to determine valid locations for each resource used in your Project._ Lists the valid Google Cloud Platform (GCP) resource locations for the specified Project (including a FirebaseProject). One of these locations can be selected as the Project's [_default_ GCP resource location](https://firebase.google.com/docs/projects/locations), which is the geographical location where the Project's resources, such as Cloud Firestore, will be provisioned by default. However, if the default GCP resource location has already been set for the Project, then this setting cannot be changed. This call checks for any possible [location restrictions](https://cloud.google.com/resource-manager/docs/organization-policy/defining-locations) for the specified Project and, thus, might return a subset of all possible GCP resource locations. To list all GCP resource locations (regardless of any restrictions), call the endpoint without specifying a unique project identifier (that is, `/v1beta1/{parent=projects/-\}/listAvailableLocations`). To call `ListAvailableLocations` with a specified project, a member must be at minimum a Viewer of the Project. Calls without a specified project do not require any specific project permissions. + * **DECOMMISSIONED.** **If called, this endpoint will return a 404 error.** _Instead, use the applicable resource-specific REST API (or associated documentation, as needed) to determine valid locations for each resource used in your Project._ Lists the valid ["locations for default Google Cloud resources"](https://firebase.google.com/docs/projects/locations#default-cloud-location) for the specified Project (including a FirebaseProject). One of these locations can be selected as the Project's location for default Google Cloud resources, which is the geographical location where the Project's resources associated with Google App Engine (such as the default Cloud Firestore instance) will be provisioned by default. However, if the location for default Google Cloud resources has already been set for the Project, then this setting cannot be changed. This call checks for any possible [location restrictions](https://cloud.google.com/resource-manager/docs/organization-policy/defining-locations) for the specified Project and, thus, might return a subset of all possible locations. To list all locations (regardless of any restrictions), call the endpoint without specifying a unique project identifier (that is, `/v1beta1/{parent=projects/-\}/listAvailableLocations`). To call `ListAvailableLocations` with a specified project, a member must be at minimum a Viewer of the Project. Calls without a specified project do not require any specific project permissions. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3100,7 +3100,7 @@ export namespace firebase_v1beta1 { */ pageToken?: string; /** - * The FirebaseProject for which to list GCP resource locations, in the format: projects/PROJECT_IDENTIFIER Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values. If no unique project identifier is specified (that is, `projects/-`), the returned list does not take into account org-specific or project-specific location restrictions. + * The FirebaseProject for which to list [locations for default Google Cloud resources](https://firebase.google.com/docs/projects/locations#default-cloud-location), in the format: projects/PROJECT_IDENTIFIER Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values. If no unique project identifier is specified (that is, `projects/-`), the returned list does not take into account org-specific or project-specific location restrictions. */ parent?: string; } @@ -3112,7 +3112,7 @@ export namespace firebase_v1beta1 { } /** - * **DEPRECATED.** _Instead, use the applicable resource-specific REST API to set the location for each resource used in your Project._ Sets the default Google Cloud Platform (GCP) resource location for the specified FirebaseProject. This method creates an App Engine application with a [default Cloud Storage bucket](https://cloud.google.com/appengine/docs/standard/python/googlecloudstorageclient/setting-up-cloud-storage#activating_a_cloud_storage_bucket), located in the specified [`locationId`](#body.request_body.FIELDS.location_id). This location must be one of the available [GCP resource locations](https://firebase.google.com/docs/projects/locations). After the default GCP resource location is finalized, or if it was already set, it cannot be changed. The default GCP resource location for the specified `FirebaseProject` might already be set because either the underlying GCP `Project` already has an App Engine application or `FinalizeDefaultLocation` was previously called with a specified `locationId`. Any new calls to `FinalizeDefaultLocation` with a *different* specified `locationId` will return a 409 error. The result of this call is an [`Operation`](../../v1beta1/operations), which can be used to track the provisioning process. The [`response`](../../v1beta1/operations#Operation.FIELDS.response) type of the `Operation` is google.protobuf.Empty. The `Operation` can be polled by its `name` using GetOperation until `done` is true. When `done` is true, the `Operation` has either succeeded or failed. If the `Operation` has succeeded, its [`response`](../../v1beta1/operations#Operation.FIELDS.response) will be set to a google.protobuf.Empty; if the `Operation` has failed, its `error` will be set to a google.rpc.Status. The `Operation` is automatically deleted after completion, so there is no need to call DeleteOperation. All fields listed in the [request body](#request-body) are required. To call `FinalizeDefaultLocation`, a member must be an Owner of the Project. + * **DECOMMISSIONED.** **If called, this endpoint will return a 404 error.** _Instead, use the applicable resource-specific REST API to set the location for each resource used in your Project._ Sets the ["location for default Google Cloud resources"](https://firebase.google.com/docs/projects/locations#default-cloud-location) for the specified FirebaseProject. This method creates a Google App Engine application with a [default Cloud Storage bucket](https://cloud.google.com/appengine/docs/standard/python/googlecloudstorageclient/setting-up-cloud-storage#activating_a_cloud_storage_bucket), located in the specified [`locationId`](#body.request_body.FIELDS.location_id). This location must be one of the available [App Engine locations](https://cloud.google.com/about/locations#region). After the location for default Google Cloud resources is finalized, or if it was already set, it cannot be changed. The location for default Google Cloud resources for the specified `FirebaseProject` might already be set because either the underlying Google Cloud `Project` already has an App Engine application or `FinalizeDefaultLocation` was previously called with a specified `locationId`. The result of this call is an [`Operation`](../../v1beta1/operations), which can be used to track the provisioning process. The [`response`](../../v1beta1/operations#Operation.FIELDS.response) type of the `Operation` is google.protobuf.Empty. The `Operation` can be polled by its `name` using GetOperation until `done` is true. When `done` is true, the `Operation` has either succeeded or failed. If the `Operation` has succeeded, its [`response`](../../v1beta1/operations#Operation.FIELDS.response) will be set to a google.protobuf.Empty; if the `Operation` has failed, its `error` will be set to a google.rpc.Status. The `Operation` is automatically deleted after completion, so there is no need to call DeleteOperation. All fields listed in the [request body](#request-body) are required. To call `FinalizeDefaultLocation`, a member must be an Owner of the Project. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3202,7 +3202,7 @@ export namespace firebase_v1beta1 { export interface Params$Resource$Projects$Defaultlocation$Finalize extends StandardParameters { /** - * The resource name of the FirebaseProject for which the default GCP resource location will be set, in the format: projects/PROJECT_IDENTIFIER Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values. + * The resource name of the FirebaseProject for which the ["location for default Google Cloud resources"](https://firebase.google.com/docs/projects/locations#default-cloud-location) will be set, in the format: projects/PROJECT_IDENTIFIER Refer to the `FirebaseProject` [`name`](../projects#FirebaseProject.FIELDS.name) field for details about PROJECT_IDENTIFIER values. */ parent?: string; diff --git a/src/apis/firebaseappdistribution/v1.ts b/src/apis/firebaseappdistribution/v1.ts index 4ce57d138a..aea3c90a35 100644 --- a/src/apis/firebaseappdistribution/v1.ts +++ b/src/apis/firebaseappdistribution/v1.ts @@ -1999,7 +1999,7 @@ export namespace firebaseappdistribution_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/firebaseappdistribution/v1alpha.ts b/src/apis/firebaseappdistribution/v1alpha.ts index fb0c304da1..8753364c66 100644 --- a/src/apis/firebaseappdistribution/v1alpha.ts +++ b/src/apis/firebaseappdistribution/v1alpha.ts @@ -175,6 +175,14 @@ export namespace firebaseappdistribution_v1alpha { * A goal to be accomplished by the AI */ goal?: string | null; + /** + * Optional. Hint text containing suggestions to help the agent accomplish the goal + */ + hint?: string | null; + /** + * Optional. A description of criteria the agent should use to determine if the goal has been successfully completed + */ + successCriteria?: string | null; } /** * Captures the results of an AiStep @@ -197,6 +205,9 @@ export namespace firebaseappdistribution_v1alpha { */ step?: Schema$GoogleFirebaseAppdistroV1alphaAiStep; } + /** + * An app. + */ export interface Schema$GoogleFirebaseAppdistroV1alphaApp { /** * App bundle test certificate generated for the app. @@ -261,12 +272,18 @@ export namespace firebaseappdistribution_v1alpha { * The (empty) response message for `CancelReleaseTest`. */ export interface Schema$GoogleFirebaseAppdistroV1alphaCancelReleaseTestResponse {} + /** + * The request message for `CreateReleaseNotes`. + */ export interface Schema$GoogleFirebaseAppdistroV1alphaCreateReleaseNotesRequest { /** * The actual release notes body from the user */ releaseNotes?: Schema$GoogleFirebaseAppdistroV1alphaReleaseNotes; } + /** + * The response message for `CreateReleaseNotes`. + */ export interface Schema$GoogleFirebaseAppdistroV1alphaCreateReleaseNotesResponse {} /** * A high level action taken by the AI on the device, potentially involving multiple taps, text entries, waits, etc. @@ -334,6 +351,10 @@ export namespace firebaseappdistribution_v1alpha { * An interaction with the device, such as a tap, text entry, wait, etc. */ export interface Schema$GoogleFirebaseAppdistroV1alphaDeviceInteraction { + /** + * Output only. Key code for a key event action. + */ + keyCode?: string | null; /** * Output only. The screenshot used in the context of this action. The screen may have changed before the action was actually taken. */ @@ -377,6 +398,9 @@ export namespace firebaseappdistribution_v1alpha { */ duration?: string | null; } + /** + * The request message for `EnableAccessOnRelease`. + */ export interface Schema$GoogleFirebaseAppdistroV1alphaEnableAccessOnReleaseRequest { /** * Optional. Ignored. Used to be build version of the app release if an instance identifier was provided for the release_id. @@ -395,6 +419,9 @@ export namespace firebaseappdistribution_v1alpha { */ groupIds?: string[] | null; } + /** + * The response message for `EnableAccessOnRelease`. + */ export interface Schema$GoogleFirebaseAppdistroV1alphaEnableAccessOnReleaseResponse {} /** * Response object to get the release given a upload hash @@ -414,6 +441,9 @@ export namespace firebaseappdistribution_v1alpha { */ testerUdids?: Schema$GoogleFirebaseAppdistroV1alphaTesterUdid[]; } + /** + * The response message for `GetUploadStatus`. + */ export interface Schema$GoogleFirebaseAppdistroV1alphaGetUploadStatusResponse { /** * The error code associated with (only set on "FAILURE") @@ -458,7 +488,13 @@ export namespace firebaseappdistribution_v1alpha { */ goalActions?: Schema$GoogleFirebaseAppdistroV1alphaGoalAction[]; } + /** + * A JWT token. + */ export interface Schema$GoogleFirebaseAppdistroV1alphaJwt { + /** + * The JWT token (three Base64URL-encoded strings joined by dots). + */ token?: string | null; } /** @@ -474,6 +510,19 @@ export namespace firebaseappdistribution_v1alpha { */ releaseTests?: Schema$GoogleFirebaseAppdistroV1alphaReleaseTest[]; } + /** + * The response message for `ListTestCases`. + */ + export interface Schema$GoogleFirebaseAppdistroV1alphaListTestCasesResponse { + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The test cases from the specified app. + */ + testCases?: Schema$GoogleFirebaseAppdistroV1alphaTestCase[]; + } /** * Login credential for automated tests */ @@ -508,6 +557,9 @@ export namespace firebaseappdistribution_v1alpha { */ usernameResourceName?: string | null; } + /** + * The response message for `ProvisionApp`. + */ export interface Schema$GoogleFirebaseAppdistroV1alphaProvisionAppResponse {} /** * Proto defining a release object @@ -558,7 +610,13 @@ export namespace firebaseappdistribution_v1alpha { */ testerWithInstallCount?: number | null; } + /** + * Release notes for a release. + */ export interface Schema$GoogleFirebaseAppdistroV1alphaReleaseNotes { + /** + * The actual release notes text from the user. + */ releaseNotes?: string | null; } /** @@ -577,6 +635,10 @@ export namespace firebaseappdistribution_v1alpha { * Required. The results of the test on each device. */ deviceExecutions?: Schema$GoogleFirebaseAppdistroV1alphaDeviceExecution[]; + /** + * Optional. Display name of the release test. Required if the release test is created with multiple goals. + */ + displayName?: string | null; /** * Optional. Input only. Login credentials for the test. Input only. */ @@ -585,6 +647,10 @@ export namespace firebaseappdistribution_v1alpha { * The name of the release test resource. Format: `projects/{project_number\}/apps/{app_id\}/releases/{release_id\}/tests/{test_id\}` */ name?: string | null; + /** + * Optional. The test case that was used to generate this release test. Note: The test case may have changed or been deleted since the release test was created. Format: `projects/{project_number\}/apps/{app\}/testCases/{test_case\}` + */ + testCase?: string | null; /** * Output only. The state of the release test. */ @@ -654,10 +720,31 @@ export namespace firebaseappdistribution_v1alpha { */ screenshot?: Schema$GoogleFirebaseAppdistroV1alphaScreenshot; } + /** + * AI test cases + */ + export interface Schema$GoogleFirebaseAppdistroV1alphaTestCase { + /** + * Optional. Instructions for AI driven test. + */ + aiInstructions?: Schema$GoogleFirebaseAppdistroV1alphaAiInstructions; + /** + * Required. Display name of the test case. + */ + displayName?: string | null; + /** + * Identifier. The name of the test case resource. Format: `projects/{project_number\}/apps/{app_id\}/testCases/{test_case_id\}` + */ + name?: string | null; + } /** * Configuration for automated tests */ export interface Schema$GoogleFirebaseAppdistroV1alphaTestConfig { + /** + * Optional. Display name of the AI driven test. Required if the release test is created with multiple goals. + */ + displayName?: string | null; /** * Identifier. The name of the test configuration resource. Format: `projects/{project_number\}/apps/{app_id\}/testConfig` */ @@ -772,6 +859,10 @@ export namespace firebaseappdistribution_v1alpha { */ result?: string | null; } + /** + * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} + */ + export interface Schema$GoogleProtobufEmpty {} export class Resource$Apps { context: APIRequestContext; @@ -1714,9 +1805,11 @@ export namespace firebaseappdistribution_v1alpha { export class Resource$Projects$Apps { context: APIRequestContext; releases: Resource$Projects$Apps$Releases; + testCases: Resource$Projects$Apps$Testcases; constructor(context: APIRequestContext) { this.context = context; this.releases = new Resource$Projects$Apps$Releases(this.context); + this.testCases = new Resource$Projects$Apps$Testcases(this.context); } /** @@ -2383,6 +2476,550 @@ export namespace firebaseappdistribution_v1alpha { * Required. The name of the release resource, which is the parent of the tests Format: `projects/{project_number\}/apps/{app_id\}/releases/{release_id\}` */ parent?: string; + /** + * Optional. The requested view on the returned ReleaseTests. Defaults to the basic view. + */ + view?: string; + } + + export class Resource$Projects$Apps$Testcases { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Create a new test case. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Apps$Testcases$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Apps$Testcases$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Apps$Testcases$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Apps$Testcases$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Apps$Testcases$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Apps$Testcases$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Apps$Testcases$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Apps$Testcases$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://firebaseappdistribution.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+parent}/testCases').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Delete a test case. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Apps$Testcases$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Apps$Testcases$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Apps$Testcases$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Apps$Testcases$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Apps$Testcases$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Apps$Testcases$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Apps$Testcases$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Apps$Testcases$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://firebaseappdistribution.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Get a test case. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Apps$Testcases$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Apps$Testcases$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Apps$Testcases$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Apps$Testcases$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Apps$Testcases$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Apps$Testcases$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Apps$Testcases$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Apps$Testcases$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://firebaseappdistribution.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * List test cases. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Apps$Testcases$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Apps$Testcases$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Apps$Testcases$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Apps$Testcases$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Apps$Testcases$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Apps$Testcases$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Apps$Testcases$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Apps$Testcases$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://firebaseappdistribution.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+parent}/testCases').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Update a test case. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Apps$Testcases$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Apps$Testcases$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Apps$Testcases$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Apps$Testcases$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Apps$Testcases$Patch, + callback: BodyResponseCallback + ): void; + patch( + callback: BodyResponseCallback + ): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Apps$Testcases$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Apps$Testcases$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Apps$Testcases$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://firebaseappdistribution.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Apps$Testcases$Create + extends StandardParameters { + /** + * Required. The parent resource where this test case will be created. Format: `projects/{project_number\}/apps/{app_id\}` + */ + parent?: string; + /** + * Optional. The ID to use for the test case, which will become the final component of the test case's resource name. This value should be 4-63 characters, and valid characters are /a-z-/. + */ + testCaseId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleFirebaseAppdistroV1alphaTestCase; + } + export interface Params$Resource$Projects$Apps$Testcases$Delete + extends StandardParameters { + /** + * Required. The name of the test case resource to delete. Format: `projects/{project_number\}/apps/{app_id\}/testCases/{test_case_id\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Apps$Testcases$Get + extends StandardParameters { + /** + * Required. The name of the test case resource to retrieve. Format: `projects/{project_number\}/apps/{app_id\}/testCases/{test_case_id\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Apps$Testcases$List + extends StandardParameters { + /** + * Optional. The maximum number of test cases to return. The service may return fewer than this value. If unspecified, at most 50 test cases will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `ListTestCases` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListTestCases` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The parent resource from which to list test cases. Format: `projects/{project_number\}/apps/{app_id\}` + */ + parent?: string; + } + export interface Params$Resource$Projects$Apps$Testcases$Patch + extends StandardParameters { + /** + * Identifier. The name of the test case resource. Format: `projects/{project_number\}/apps/{app_id\}/testCases/{test_case_id\}` + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleFirebaseAppdistroV1alphaTestCase; } export class Resource$Projects$Testers { diff --git a/src/apis/firebasedatabase/v1beta.ts b/src/apis/firebasedatabase/v1beta.ts index 6f4849c535..437f042fe2 100644 --- a/src/apis/firebasedatabase/v1beta.ts +++ b/src/apis/firebasedatabase/v1beta.ts @@ -100,7 +100,7 @@ export namespace firebasedatabase_v1beta { } /** - * Firebase Realtime Database API + * Firebase Realtime Database Management API * * The Firebase Realtime Database API enables programmatic provisioning and management of Realtime Database instances. * diff --git a/src/apis/firebasedataconnect/v1beta.ts b/src/apis/firebasedataconnect/v1beta.ts index a5c9fb3402..d674467edc 100644 --- a/src/apis/firebasedataconnect/v1beta.ts +++ b/src/apis/firebasedataconnect/v1beta.ts @@ -102,7 +102,7 @@ export namespace firebasedataconnect_v1beta { /** * Firebase Data Connect API * - * + * Firebase Data Connect is a relational database service for mobile and web apps that lets you build and scale using a fully-managed PostgreSQL database powered by Cloud SQL. The REST API lets developers manage the connections to their database, change the schema of their database, and query the database. * * @example * ```js @@ -347,7 +347,7 @@ export namespace firebasedataconnect_v1beta { unauthenticated?: boolean | null; } /** - * Message for response to listing Connectors. + * Message for response to listing Connectors. By default, `connectors.source` will not be included in the response. To specify the fields included in the response, the response field mask can be provided by using the query parameter `$fields` or the header `X-Goog-FieldMask`. */ export interface Schema$ListConnectorsResponse { /** @@ -390,7 +390,7 @@ export namespace firebasedataconnect_v1beta { operations?: Schema$Operation[]; } /** - * Message for response to listing Schemas. + * Message for response to listing Schemas. By default, `schemas.source` will not be included in the response. To specify the fields included in the response, the response field mask can be provided by using the query parameter `$fields` or the header `X-Goog-FieldMask`. */ export interface Schema$ListSchemasResponse { /** @@ -893,7 +893,7 @@ export namespace firebasedataconnect_v1beta { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/firebasehosting/v1.ts b/src/apis/firebasehosting/v1.ts index dd87f6408d..2ace50b64c 100644 --- a/src/apis/firebasehosting/v1.ts +++ b/src/apis/firebasehosting/v1.ts @@ -340,7 +340,7 @@ export namespace firebasehosting_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/firebaseml/v1.ts b/src/apis/firebaseml/v1.ts index 4f08bd3d42..a35836e8c6 100644 --- a/src/apis/firebaseml/v1.ts +++ b/src/apis/firebaseml/v1.ts @@ -205,7 +205,7 @@ export namespace firebaseml_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/firebaseml/v2beta.ts b/src/apis/firebaseml/v2beta.ts index 9db743e5d9..d841034e0a 100644 --- a/src/apis/firebaseml/v2beta.ts +++ b/src/apis/firebaseml/v2beta.ts @@ -142,7 +142,7 @@ export namespace firebaseml_v2beta { year?: number | null; } /** - * Content blob. It's preferred to send as text directly rather than raw bytes. + * Content blob. */ export interface Schema$GoogleCloudAiplatformV1beta1Blob { /** @@ -233,6 +233,19 @@ export namespace firebaseml_v2beta { */ citations?: Schema$GoogleCloudAiplatformV1beta1Citation[]; } + /** + * Result of executing the [ExecutableCode]. Always follows a `part` containing the [ExecutableCode]. + */ + export interface Schema$GoogleCloudAiplatformV1beta1CodeExecutionResult { + /** + * Required. Outcome of the code execution. + */ + outcome?: string | null; + /** + * Optional. Contains stdout when code execution is successful, stderr or other description otherwise. + */ + output?: string | null; + } /** * The base structured datatype containing multi-part content of a message. A `Content` includes a `role` field designating the producer of the `Content` and a `parts` field containing multi-part data that contains the content of the message turn. */ @@ -301,6 +314,19 @@ export namespace firebaseml_v2beta { */ mode?: string | null; } + /** + * Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the [FunctionDeclaration] tool and [FunctionCallingConfig] mode is set to [Mode.CODE]. + */ + export interface Schema$GoogleCloudAiplatformV1beta1ExecutableCode { + /** + * Required. The code to be executed. + */ + code?: string | null; + /** + * Required. Programming language of the `code`. + */ + language?: string | null; + } /** * URI based data. */ @@ -341,7 +367,7 @@ export namespace firebaseml_v2beta { mode?: string | null; } /** - * Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name and parameters. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. + * Structured representation of a function declaration as defined by the [OpenAPI 3.0 specification](https://spec.openapis.org/oas/v3.0.3). Included in this declaration are the function name, description, parameters and response type. This FunctionDeclaration is a representation of a block of code that can be used as a `Tool` by the model and executed by the client. */ export interface Schema$GoogleCloudAiplatformV1beta1FunctionDeclaration { /** @@ -494,6 +520,10 @@ export namespace firebaseml_v2beta { * Optional. The maximum number of output tokens to generate per message. */ maxOutputTokens?: number | null; + /** + * Optional. If specified, the media resolution specified will be used. + */ + mediaResolution?: string | null; /** * Optional. Positive penalties. */ @@ -506,6 +536,10 @@ export namespace firebaseml_v2beta { * Optional. Output response mimetype of the generated candidate text. Supported mimetype: - `text/plain`: (default) Text output. - `application/json`: JSON response in the candidates. The model needs to be prompted to output the appropriate response type, otherwise the behavior is undefined. This is a preview feature. */ responseMimeType?: string | null; + /** + * Optional. The modalities of the response. + */ + responseModalities?: string[] | null; /** * Optional. The `Schema` object allows the definition of input and output data types. These types can be objects, but also primitives and arrays. Represents a select subset of an [OpenAPI 3.0 schema object](https://spec.openapis.org/oas/v3.0.3#schema). If set, a compatible response_mime_type must also be set. Compatible mimetypes: `application/json`: Schema for JSON response. */ @@ -518,6 +552,10 @@ export namespace firebaseml_v2beta { * Optional. Seed. */ seed?: number | null; + /** + * Optional. The speech generation config. + */ + speechConfig?: Schema$GoogleCloudAiplatformV1beta1SpeechConfig; /** * Optional. Stop sequences. */ @@ -592,6 +630,10 @@ export namespace firebaseml_v2beta { * Chunk from context retrieved by the retrieval tools. */ export interface Schema$GoogleCloudAiplatformV1beta1GroundingChunkRetrievedContext { + /** + * Text of the attribution. + */ + text?: string | null; /** * Title of the attribution. */ @@ -703,6 +745,14 @@ export namespace firebaseml_v2beta { * A datatype containing media that is part of a multi-part `Content` message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. A `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes. */ export interface Schema$GoogleCloudAiplatformV1beta1Part { + /** + * Optional. Result of executing the [ExecutableCode]. + */ + codeExecutionResult?: Schema$GoogleCloudAiplatformV1beta1CodeExecutionResult; + /** + * Optional. Code generated by the model that is meant to be executed. + */ + executableCode?: Schema$GoogleCloudAiplatformV1beta1ExecutableCode; /** * Optional. URI based data. */ @@ -723,11 +773,102 @@ export namespace firebaseml_v2beta { * Optional. Text part (can be code). */ text?: string | null; + /** + * Output only. Indicates if the part is thought from the model. + */ + thought?: boolean | null; /** * Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data. */ videoMetadata?: Schema$GoogleCloudAiplatformV1beta1VideoMetadata; } + /** + * The configuration for the prebuilt speaker to use. + */ + export interface Schema$GoogleCloudAiplatformV1beta1PrebuiltVoiceConfig { + /** + * The name of the preset voice to use. + */ + voiceName?: string | null; + } + /** + * Specifies the context retrieval config. + */ + export interface Schema$GoogleCloudAiplatformV1beta1RagRetrievalConfig { + /** + * Optional. Config for filters. + */ + filter?: Schema$GoogleCloudAiplatformV1beta1RagRetrievalConfigFilter; + /** + * Optional. Config for Hybrid Search. + */ + hybridSearch?: Schema$GoogleCloudAiplatformV1beta1RagRetrievalConfigHybridSearch; + /** + * Optional. Config for ranking and reranking. + */ + ranking?: Schema$GoogleCloudAiplatformV1beta1RagRetrievalConfigRanking; + /** + * Optional. The number of contexts to retrieve. + */ + topK?: number | null; + } + /** + * Config for filters. + */ + export interface Schema$GoogleCloudAiplatformV1beta1RagRetrievalConfigFilter { + /** + * Optional. String for metadata filtering. + */ + metadataFilter?: string | null; + /** + * Optional. Only returns contexts with vector distance smaller than the threshold. + */ + vectorDistanceThreshold?: number | null; + /** + * Optional. Only returns contexts with vector similarity larger than the threshold. + */ + vectorSimilarityThreshold?: number | null; + } + /** + * Config for Hybrid Search. + */ + export interface Schema$GoogleCloudAiplatformV1beta1RagRetrievalConfigHybridSearch { + /** + * Optional. Alpha value controls the weight between dense and sparse vector search results. The range is [0, 1], while 0 means sparse vector search only and 1 means dense vector search only. The default value is 0.5 which balances sparse and dense vector search equally. + */ + alpha?: number | null; + } + /** + * Config for ranking and reranking. + */ + export interface Schema$GoogleCloudAiplatformV1beta1RagRetrievalConfigRanking { + /** + * Optional. Config for LlmRanker. + */ + llmRanker?: Schema$GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingLlmRanker; + /** + * Optional. Config for Rank Service. + */ + rankService?: Schema$GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingRankService; + } + /** + * Config for LlmRanker. + */ + export interface Schema$GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingLlmRanker { + /** + * Optional. The model name used for ranking. Format: `gemini-1.5-pro` + */ + modelName?: string | null; + } + /** + * Config for Rank Service. + */ + export interface Schema$GoogleCloudAiplatformV1beta1RagRetrievalConfigRankingRankService { + /** + * Optional. The model name of the rank service. Format: `semantic-ranker-512@latest` + */ + modelName?: string | null; + } /** * Defines a retrieval tool that model can call to access external knowledge. */ @@ -745,6 +886,19 @@ export namespace firebaseml_v2beta { */ vertexRagStore?: Schema$GoogleCloudAiplatformV1beta1VertexRagStore; } + /** + * Retrieval config. + */ + export interface Schema$GoogleCloudAiplatformV1beta1RetrievalConfig { + /** + * The language code of the user. + */ + languageCode?: string | null; + /** + * The location of the user. + */ + latLng?: Schema$LatLng; + } /** * Metadata related to retrieval in the grounding flow. */ @@ -929,14 +1083,31 @@ export namespace firebaseml_v2beta { */ text?: string | null; } + /** + * The speech generation config. + */ + export interface Schema$GoogleCloudAiplatformV1beta1SpeechConfig { + /** + * The configuration for the speaker to use. + */ + voiceConfig?: Schema$GoogleCloudAiplatformV1beta1VoiceConfig; + } /** * Tool details that the model may use to generate response. A `Tool` is a piece of code that enables the system to interact with external systems to perform an action, or set of actions, outside of knowledge and scope of the model. A Tool object should contain exactly one type of Tool (e.g FunctionDeclaration, Retrieval or GoogleSearchRetrieval). */ export interface Schema$GoogleCloudAiplatformV1beta1Tool { + /** + * Optional. CodeExecution tool type. Enables the model to execute code as part of generation. This field is only used by the Gemini Developer API services. + */ + codeExecution?: Schema$GoogleCloudAiplatformV1beta1ToolCodeExecution; /** * Optional. Function tool type. One or more function declarations to be passed to the model along with the current user query. Model may decide to call a subset of these functions by populating FunctionCall in the response. User should provide a FunctionResponse for each function call in the next turn. Based on the function responses, Model will generate the final response back to the user. Maximum 128 function declarations can be provided. */ functionDeclarations?: Schema$GoogleCloudAiplatformV1beta1FunctionDeclaration[]; + /** + * Optional. GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google. + */ + googleSearch?: Schema$GoogleCloudAiplatformV1beta1ToolGoogleSearch; /** * Optional. GoogleSearchRetrieval tool type. Specialized retrieval tool that is powered by Google search. */ @@ -946,6 +1117,10 @@ export namespace firebaseml_v2beta { */ retrieval?: Schema$GoogleCloudAiplatformV1beta1Retrieval; } + /** + * Tool that executes code generated by the model, and automatically returns the result to the model. See also [ExecutableCode]and [CodeExecutionResult] which are input and output to this tool. + */ + export interface Schema$GoogleCloudAiplatformV1beta1ToolCodeExecution {} /** * Tool config. This config is shared for all tools provided in the request. */ @@ -954,7 +1129,15 @@ export namespace firebaseml_v2beta { * Optional. Function calling config. */ functionCallingConfig?: Schema$GoogleCloudAiplatformV1beta1FunctionCallingConfig; + /** + * Optional. Retrieval config. + */ + retrievalConfig?: Schema$GoogleCloudAiplatformV1beta1RetrievalConfig; } + /** + * GoogleSearch tool type. Tool to support Google Search in Model. Powered by Google. + */ + export interface Schema$GoogleCloudAiplatformV1beta1ToolGoogleSearch {} /** * Retrieve from Vertex AI Search datastore for grounding. See https://cloud.google.com/products/agent-builder */ @@ -976,6 +1159,10 @@ export namespace firebaseml_v2beta { * Optional. The representation of the rag source. It can be used to specify corpus only or ragfiles. Currently only support one corpus or multiple files from one corpus. In the future we may open up multiple corpora support. */ ragResources?: Schema$GoogleCloudAiplatformV1beta1VertexRagStoreRagResource[]; + /** + * Optional. The retrieval config for the Rag query. + */ + ragRetrievalConfig?: Schema$GoogleCloudAiplatformV1beta1RagRetrievalConfig; /** * Optional. Number of top k results to return from the selected corpora. */ @@ -1011,6 +1198,28 @@ export namespace firebaseml_v2beta { */ startOffset?: string | null; } + /** + * The configuration for the voice to use. + */ + export interface Schema$GoogleCloudAiplatformV1beta1VoiceConfig { + /** + * The configuration for the prebuilt voice to use. + */ + prebuiltVoiceConfig?: Schema$GoogleCloudAiplatformV1beta1PrebuiltVoiceConfig; + } + /** + * An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. + */ + export interface Schema$LatLng { + /** + * The latitude in degrees. It must be in the range [-90.0, +90.0]. + */ + latitude?: number | null; + /** + * The longitude in degrees. It must be in the range [-180.0, +180.0]. + */ + longitude?: number | null; + } /** * This is returned in the longrunning operations for create/update. */ diff --git a/src/apis/firebaserules/v1.ts b/src/apis/firebaserules/v1.ts index 583cfc8600..aa6555c803 100644 --- a/src/apis/firebaserules/v1.ts +++ b/src/apis/firebaserules/v1.ts @@ -442,11 +442,11 @@ export namespace firebaserules_v1 { */ export interface Schema$TestRulesetRequest { /** - * Optional `Source` to be checked for correctness. This field must not be set when the resource name refers to a `Ruleset`. + * Optional. Optional `Source` to be checked for correctness. This field must not be set when the resource name refers to a `Ruleset`. */ source?: Schema$Source; /** - * The tests to execute against the `Source`. When `Source` is provided inline, the test cases will only be run if the `Source` is syntactically and semantically valid. Inline `TestSuite` to run. + * Required. The tests to execute against the `Source`. When `Source` is provided inline, the test cases will only be run if the `Source` is syntactically and semantically valid. Inline `TestSuite` to run. */ testSuite?: Schema$TestSuite; } @@ -481,7 +481,7 @@ export namespace firebaserules_v1 { */ release?: Schema$Release; /** - * Specifies which fields to update. + * Optional. Specifies which fields to update. */ updateMask?: string | null; } @@ -1198,7 +1198,7 @@ export namespace firebaserules_v1 { export interface Params$Resource$Projects$Releases$Getexecutable extends StandardParameters { /** - * The requested runtime executable version. Defaults to FIREBASE_RULES_EXECUTABLE_V1. + * Optional. The requested runtime executable version. Defaults to FIREBASE_RULES_EXECUTABLE_V1. */ executableVersion?: string; /** @@ -1209,7 +1209,7 @@ export namespace firebaserules_v1 { export interface Params$Resource$Projects$Releases$List extends StandardParameters { /** - * `Release` filter. The list method supports filters with restrictions on the `Release.name`, and `Release.ruleset_name`. Example 1: A filter of 'name=prod*' might return `Release`s with names within 'projects/foo' prefixed with 'prod': Name -\> Ruleset Name: * projects/foo/releases/prod -\> projects/foo/rulesets/uuid1234 * projects/foo/releases/prod/v1 -\> projects/foo/rulesets/uuid1234 * projects/foo/releases/prod/v2 -\> projects/foo/rulesets/uuid8888 Example 2: A filter of `name=prod* ruleset_name=uuid1234` would return only `Release` instances for 'projects/foo' with names prefixed with 'prod' referring to the same `Ruleset` name of 'uuid1234': Name -\> Ruleset Name: * projects/foo/releases/prod -\> projects/foo/rulesets/1234 * projects/foo/releases/prod/v1 -\> projects/foo/rulesets/1234 In the examples, the filter parameters refer to the search filters are relative to the project. Fully qualified prefixed may also be used. + * Optional. `Release` filter. The list method supports filters with restrictions on the `Release.name`, and `Release.ruleset_name`. Example 1: A filter of 'name=prod*' might return `Release`s with names within 'projects/foo' prefixed with 'prod': Name -\> Ruleset Name: * projects/foo/releases/prod -\> projects/foo/rulesets/uuid1234 * projects/foo/releases/prod/v1 -\> projects/foo/rulesets/uuid1234 * projects/foo/releases/prod/v2 -\> projects/foo/rulesets/uuid8888 Example 2: A filter of `name=prod* ruleset_name=uuid1234` would return only `Release` instances for 'projects/foo' with names prefixed with 'prod' referring to the same `Ruleset` name of 'uuid1234': Name -\> Ruleset Name: * projects/foo/releases/prod -\> projects/foo/rulesets/1234 * projects/foo/releases/prod/v1 -\> projects/foo/rulesets/1234 In the examples, the filter parameters refer to the search filters are relative to the project. Fully qualified prefixed may also be used. */ filter?: string; /** @@ -1217,11 +1217,11 @@ export namespace firebaserules_v1 { */ name?: string; /** - * Page size to load. Maximum of 100. Defaults to 10. Note: `page_size` is just a hint and the service may choose to load fewer than `page_size` results due to the size of the output. To traverse all of the releases, the caller should iterate until the `page_token` on the response is empty. + * Optional. Page size to load. Maximum of 100. Defaults to 10. Note: `page_size` is just a hint and the service may choose to load fewer than `page_size` results due to the size of the output. To traverse all of the releases, the caller should iterate until the `page_token` on the response is empty. */ pageSize?: number; /** - * Next page token for the next batch of `Release` instances. + * Optional. Next page token for the next batch of `Release` instances. */ pageToken?: string; } @@ -1629,7 +1629,7 @@ export namespace firebaserules_v1 { export interface Params$Resource$Projects$Rulesets$List extends StandardParameters { /** - * `Ruleset` filter. The list method supports filters with restrictions on `Ruleset.name`. Filters on `Ruleset.create_time` should use the `date` function which parses strings that conform to the RFC 3339 date/time specifications. Example: `create_time \> date("2017-01-01T00:00:00Z") AND name=UUID-*` + * Optional. `Ruleset` filter. The list method supports filters with restrictions on `Ruleset.name`. Filters on `Ruleset.create_time` should use the `date` function which parses strings that conform to the RFC 3339 date/time specifications. Example: `create_time \> date("2017-01-01T00:00:00Z") AND name=UUID-*` */ filter?: string; /** @@ -1637,11 +1637,11 @@ export namespace firebaserules_v1 { */ name?: string; /** - * Page size to load. Maximum of 100. Defaults to 10. Note: `page_size` is just a hint and the service may choose to load less than `page_size` due to the size of the output. To traverse all of the releases, caller should iterate until the `page_token` is empty. + * Optional. Page size to load. Maximum of 100. Defaults to 10. Note: `page_size` is just a hint and the service may choose to load less than `page_size` due to the size of the output. To traverse all of the releases, caller should iterate until the `page_token` is empty. */ pageSize?: number; /** - * Next page token for loading the next batch of `Ruleset` instances. + * Optional. Next page token for loading the next batch of `Ruleset` instances. */ pageToken?: string; } diff --git a/src/apis/firebasestorage/v1beta.ts b/src/apis/firebasestorage/v1beta.ts index db2b69191d..06c742af06 100644 --- a/src/apis/firebasestorage/v1beta.ts +++ b/src/apis/firebasestorage/v1beta.ts @@ -138,43 +138,30 @@ export namespace firebasestorage_v1beta { name?: string | null; } /** - * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} - */ - export interface Schema$Empty {} - /** - * Metadata for MigrateLocationDestructively LRO. + * Spark tier-eligible Cloud Storage bucket. One per project. This resource exists if the underlying Cloud Storage bucket exists and it is linked to your Firebase project. See https://firebase.google.com/pricing for pricing details. */ - export interface Schema$GoogleFirebaseStorageControlplaneV1alphaMigrateLocationDestructivelyMetadata { + export interface Schema$DefaultBucket { /** - * The time the LRO was created. + * Output only. Underlying bucket resource. */ - createTime?: string | null; + bucket?: Schema$Bucket; /** - * The time the LRO was last updated. + * Immutable. Location of the default bucket. */ - lastUpdateTime?: string | null; + location?: string | null; /** - * The current state of the migration. + * Resource name of the default bucket. */ - state?: string | null; - } - /** - * Metadata for MigrateLocationDestructively LRO. - */ - export interface Schema$GoogleFirebaseStorageControlplaneV1betaMigrateLocationDestructivelyMetadata { - /** - * The time the LRO was created. - */ - createTime?: string | null; - /** - * The time the LRO was last updated. - */ - lastUpdateTime?: string | null; + name?: string | null; /** - * The current state of the migration. + * Immutable. Storage class of the default bucket. Supported values are available at https://cloud.google.com/storage/docs/storage-classes#classes. */ - state?: string | null; + storageClass?: string | null; } + /** + * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} + */ + export interface Schema$Empty {} /** * The response returned by `ListBuckets`. */ @@ -196,12 +183,203 @@ export namespace firebasestorage_v1beta { export class Resource$Projects { context: APIRequestContext; buckets: Resource$Projects$Buckets; + defaultBucket: Resource$Projects$Defaultbucket; constructor(context: APIRequestContext) { this.context = context; this.buckets = new Resource$Projects$Buckets(this.context); + this.defaultBucket = new Resource$Projects$Defaultbucket(this.context); + } + + /** + * Unlinks and deletes the default bucket. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + deleteDefaultBucket( + params: Params$Resource$Projects$Deletedefaultbucket, + options: StreamMethodOptions + ): GaxiosPromise; + deleteDefaultBucket( + params?: Params$Resource$Projects$Deletedefaultbucket, + options?: MethodOptions + ): GaxiosPromise; + deleteDefaultBucket( + params: Params$Resource$Projects$Deletedefaultbucket, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + deleteDefaultBucket( + params: Params$Resource$Projects$Deletedefaultbucket, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + deleteDefaultBucket( + params: Params$Resource$Projects$Deletedefaultbucket, + callback: BodyResponseCallback + ): void; + deleteDefaultBucket(callback: BodyResponseCallback): void; + deleteDefaultBucket( + paramsOrCallback?: + | Params$Resource$Projects$Deletedefaultbucket + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Deletedefaultbucket; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Deletedefaultbucket; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://firebasestorage.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets the default bucket. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getDefaultBucket( + params: Params$Resource$Projects$Getdefaultbucket, + options: StreamMethodOptions + ): GaxiosPromise; + getDefaultBucket( + params?: Params$Resource$Projects$Getdefaultbucket, + options?: MethodOptions + ): GaxiosPromise; + getDefaultBucket( + params: Params$Resource$Projects$Getdefaultbucket, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getDefaultBucket( + params: Params$Resource$Projects$Getdefaultbucket, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getDefaultBucket( + params: Params$Resource$Projects$Getdefaultbucket, + callback: BodyResponseCallback + ): void; + getDefaultBucket( + callback: BodyResponseCallback + ): void; + getDefaultBucket( + paramsOrCallback?: + | Params$Resource$Projects$Getdefaultbucket + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Getdefaultbucket; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Getdefaultbucket; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://firebasestorage.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } } } + export interface Params$Resource$Projects$Deletedefaultbucket + extends StandardParameters { + /** + * Required. The name of the default bucket to delete, `projects/{project_id_or_number\}/defaultBucket`. + */ + name?: string; + } + export interface Params$Resource$Projects$Getdefaultbucket + extends StandardParameters { + /** + * Required. The name of the default bucket to retrieve, `projects/{project_id_or_number\}/defaultBucket`. + */ + name?: string; + } + export class Resource$Projects$Buckets { context: APIRequestContext; constructor(context: APIRequestContext) { @@ -611,4 +789,113 @@ export namespace firebasestorage_v1beta { */ requestBody?: Schema$RemoveFirebaseRequest; } + + export class Resource$Projects$Defaultbucket { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a Spark tier-eligible Cloud Storage bucket and links it to your Firebase project. If the default bucket already exists, this method will re-link it to your Firebase project. See https://firebase.google.com/pricing for pricing details. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Defaultbucket$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Defaultbucket$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Defaultbucket$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Defaultbucket$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Defaultbucket$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Defaultbucket$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Defaultbucket$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Defaultbucket$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://firebasestorage.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/defaultBucket').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Defaultbucket$Create + extends StandardParameters { + /** + * Required. The parent resource where the default bucket will be created, `projects/{project_id_or_number\}`. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$DefaultBucket; + } } diff --git a/src/apis/firestore/v1.ts b/src/apis/firestore/v1.ts index bfe93f0900..e0855d8326 100644 --- a/src/apis/firestore/v1.ts +++ b/src/apis/firestore/v1.ts @@ -618,7 +618,7 @@ export namespace firestore_v1 { */ distanceResultField?: string | null; /** - * Optional. Option to specify a threshold for which no less similar documents will be returned. The behavior of the specified `distance_measure` will affect the meaning of the distance threshold. Since DOT_PRODUCT distances increase when the vectors are more similar, the comparison is inverted. For EUCLIDEAN, COSINE: WHERE distance <= distance_threshold For DOT_PRODUCT: WHERE distance \>= distance_threshold + * Optional. Option to specify a threshold for which no less similar documents will be returned. The behavior of the specified `distance_measure` will affect the meaning of the distance threshold. Since DOT_PRODUCT distances increase when the vectors are more similar, the comparison is inverted. * For EUCLIDEAN, COSINE: WHERE distance <= distance_threshold * For DOT_PRODUCT: WHERE distance \>= distance_threshold */ distanceThreshold?: number | null; /** @@ -1821,7 +1821,7 @@ export namespace firestore_v1 { structuredQuery?: Schema$StructuredQuery; } /** - * A Firestore query. The query stages are executed in the following order: 1. from 2. where 3. select 4. order_by + start_at + end_at 5. offset 6. limit + * A Firestore query. The query stages are executed in the following order: 1. from 2. where 3. select 4. order_by + start_at + end_at 5. offset 6. limit 7. find_nearest */ export interface Schema$StructuredQuery { /** @@ -6234,7 +6234,7 @@ export namespace firestore_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/firestore/v1beta1.ts b/src/apis/firestore/v1beta1.ts index bd885cbbf5..baa074c79e 100644 --- a/src/apis/firestore/v1beta1.ts +++ b/src/apis/firestore/v1beta1.ts @@ -618,7 +618,7 @@ export namespace firestore_v1beta1 { */ distanceResultField?: string | null; /** - * Optional. Option to specify a threshold for which no less similar documents will be returned. The behavior of the specified `distance_measure` will affect the meaning of the distance threshold. Since DOT_PRODUCT distances increase when the vectors are more similar, the comparison is inverted. For EUCLIDEAN, COSINE: WHERE distance <= distance_threshold For DOT_PRODUCT: WHERE distance \>= distance_threshold + * Optional. Option to specify a threshold for which no less similar documents will be returned. The behavior of the specified `distance_measure` will affect the meaning of the distance threshold. Since DOT_PRODUCT distances increase when the vectors are more similar, the comparison is inverted. * For EUCLIDEAN, COSINE: WHERE distance <= distance_threshold * For DOT_PRODUCT: WHERE distance \>= distance_threshold */ distanceThreshold?: number | null; /** @@ -1304,7 +1304,7 @@ export namespace firestore_v1beta1 { structuredQuery?: Schema$StructuredQuery; } /** - * A Firestore query. The query stages are executed in the following order: 1. from 2. where 3. select 4. order_by + start_at + end_at 5. offset 6. limit + * A Firestore query. The query stages are executed in the following order: 1. from 2. where 3. select 4. order_by + start_at + end_at 5. offset 6. limit 7. find_nearest */ export interface Schema$StructuredQuery { /** diff --git a/src/apis/forms/v1.ts b/src/apis/forms/v1.ts index b633762143..bb96594a8c 100644 --- a/src/apis/forms/v1.ts +++ b/src/apis/forms/v1.ts @@ -689,6 +689,10 @@ export namespace forms_v1 { * Read only. The question ID. On creation, it can be provided but the ID must not be already used in the form. If not provided, a new ID is assigned. */ questionId?: string | null; + /** + * A respondent can choose a rating from a pre-defined set of icons. + */ + ratingQuestion?: Schema$RatingQuestion; /** * Whether the question must be answered in order for a respondent to submit their response. */ @@ -749,6 +753,19 @@ export namespace forms_v1 { */ isQuiz?: boolean | null; } + /** + * A rating question. The user has a range of icons to choose from. + */ + export interface Schema$RatingQuestion { + /** + * Required. The icon type to use for the rating. + */ + iconType?: string | null; + /** + * Required. The rating scale level of the rating question. + */ + ratingScaleLevel?: number | null; + } /** * Renew an existing Watch for seven days. */ diff --git a/src/apis/games/README.md b/src/apis/games/README.md index e92de4aa1d..4d78a5e8a4 100644 --- a/src/apis/games/README.md +++ b/src/apis/games/README.md @@ -2,7 +2,7 @@ # games -> The Google Play games service allows developers to enhance games with social leaderboards, achievements, game state, sign-in with Google, and more. +> The Google Play Games Service allows developers to enhance games with social leaderboards, achievements, game state, sign-in with Google, and more. ## Installation diff --git a/src/apis/games/v1.ts b/src/apis/games/v1.ts index bdacf9392d..a2d9c8443a 100644 --- a/src/apis/games/v1.ts +++ b/src/apis/games/v1.ts @@ -102,7 +102,7 @@ export namespace games_v1 { /** * Google Play Game Services * - * The Google Play games service allows developers to enhance games with social leaderboards, achievements, game state, sign-in with Google, and more. + * The Google Play Games Service allows developers to enhance games with social leaderboards, achievements, game state, sign-in with Google, and more. * * @example * ```js diff --git a/src/apis/gamesManagement/README.md b/src/apis/gamesManagement/README.md index 35b7be0822..203fb4ba33 100644 --- a/src/apis/gamesManagement/README.md +++ b/src/apis/gamesManagement/README.md @@ -2,7 +2,7 @@ # gamesManagement -> The Google Play Game Management API allows developers to manage resources from the Google Play Game service. +> The Google Play Games Management API allows developers to manage resources from the Google Play Game service. ## Installation diff --git a/src/apis/gamesManagement/v1management.ts b/src/apis/gamesManagement/v1management.ts index 8585c211ab..4cd0d2c172 100644 --- a/src/apis/gamesManagement/v1management.ts +++ b/src/apis/gamesManagement/v1management.ts @@ -102,7 +102,7 @@ export namespace gamesManagement_v1management { /** * Google Play Game Management * - * The Google Play Game Management API allows developers to manage resources from the Google Play Game service. + * The Google Play Games Management API allows developers to manage resources from the Google Play Game service. * * @example * ```js diff --git a/src/apis/gkebackup/v1.ts b/src/apis/gkebackup/v1.ts index e98cc7c033..37d98efb05 100644 --- a/src/apis/gkebackup/v1.ts +++ b/src/apis/gkebackup/v1.ts @@ -251,7 +251,7 @@ export namespace gkebackup_v1 { */ state?: string | null; /** - * Output only. Human-readable description of why the backup is in the current `state`. + * Output only. Human-readable description of why the backup is in the current `state`. This field is only meant for human readability and should not be used programmatically as this field is not guaranteed to be consistent. */ stateReason?: string | null; /** @@ -361,7 +361,7 @@ export namespace gkebackup_v1 { */ state?: string | null; /** - * Output only. Human-readable description of why BackupPlan is in the current `state` + * Output only. Human-readable description of why BackupPlan is in the current `state`. This field is only meant for human readability and should not be used programmatically as this field is not guaranteed to be consistent. */ stateReason?: string | null; /** @@ -416,7 +416,7 @@ export namespace gkebackup_v1 { k8sVersion?: string | null; } /** - * Defines the scope of cluster-scoped resources to restore. Some group kinds are not reasonable choices for a restore, and will cause an error if selected here. Any scope selection that would restore "all valid" resources automatically excludes these group kinds. - gkebackup.gke.io/BackupJob - gkebackup.gke.io/RestoreJob - metrics.k8s.io/NodeMetrics - migration.k8s.io/StorageState - migration.k8s.io/StorageVersionMigration - Node - snapshot.storage.k8s.io/VolumeSnapshotContent - storage.k8s.io/CSINode Some group kinds are driven by restore configuration elsewhere, and will cause an error if selected here. - Namespace - PersistentVolume + * Defines the scope of cluster-scoped resources to restore. Some group kinds are not reasonable choices for a restore, and will cause an error if selected here. Any scope selection that would restore "all valid" resources automatically excludes these group kinds. - Node - ComponentStatus - gkebackup.gke.io/BackupJob - gkebackup.gke.io/RestoreJob - metrics.k8s.io/NodeMetrics - migration.k8s.io/StorageState - migration.k8s.io/StorageVersionMigration - snapshot.storage.k8s.io/VolumeSnapshotContent - storage.k8s.io/CSINode - storage.k8s.io/VolumeAttachment Some group kinds are driven by restore configuration elsewhere, and will cause an error if selected here. - Namespace - PersistentVolume */ export interface Schema$ClusterResourceRestoreScope { /** @@ -801,7 +801,7 @@ export namespace gkebackup_v1 { */ endTime?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -937,7 +937,7 @@ export namespace gkebackup_v1 { */ state?: string | null; /** - * Output only. Human-readable description of why the Restore is in its current state. + * Output only. Human-readable description of why the Restore is in its current state. This field is only meant for human readability and should not be used programmatically as this field is not guaranteed to be consistent. */ stateReason?: string | null; /** @@ -1064,7 +1064,7 @@ export namespace gkebackup_v1 { */ state?: string | null; /** - * Output only. Human-readable description of why RestorePlan is in the current `state` + * Output only. Human-readable description of why RestorePlan is in the current `state`. This field is only meant for human readability and should not be used programmatically as this field is not guaranteed to be consistent. */ stateReason?: string | null; /** @@ -1188,19 +1188,19 @@ export namespace gkebackup_v1 { */ export interface Schema$TimeOfDay { /** - * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. */ hours?: number | null; /** - * Minutes of hour of day. Must be from 0 to 59. + * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. */ minutes?: number | null; /** - * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. */ nanos?: number | null; /** - * Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. */ seconds?: number | null; } @@ -1279,7 +1279,7 @@ export namespace gkebackup_v1 { */ state?: string | null; /** - * Output only. A human readable message explaining why the VolumeBackup is in its current state. + * Output only. A human readable message explaining why the VolumeBackup is in its current state. This field is only meant for human consumption and should not be used programmatically as this field is not guaranteed to be consistent. */ stateMessage?: string | null; /** @@ -3963,7 +3963,7 @@ export namespace gkebackup_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/gkehub/v1.ts b/src/apis/gkehub/v1.ts index 18827b68c1..fb70710e32 100644 --- a/src/apis/gkehub/v1.ts +++ b/src/apis/gkehub/v1.ts @@ -190,6 +190,14 @@ export namespace gkehub_v1 { * Optional. OIDC verification keys for this Membership in JWKS format (RFC 7517). When this field is set, OIDC discovery will NOT be performed on `issuer`, and instead OIDC tokens will be validated using this field. */ oidcJwks?: string | null; + /** + * Optional. Output only. The identity provider for the scope-tenancy workload identity pool. + */ + scopeTenancyIdentityProvider?: string | null; + /** + * Optional. Output only. The name of the scope-tenancy workload identity pool. This pool is set in the fleet-level feature. + */ + scopeTenancyWorkloadIdentityPool?: string | null; /** * Output only. The name of the workload identity pool in which `issuer` will be recognized. There is a single Workload Identity Pool per Hub that is shared between all Memberships that belong to that Hub. For a Hub hosted in {PROJECT_ID\}, the workload pool format is `{PROJECT_ID\}.hub.id.goog`, although this is subject to change in newer versions of this API. */ @@ -508,7 +516,7 @@ export namespace gkehub_v1 { */ git?: Schema$ConfigManagementGitConfig; /** - * The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA. + * The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA. Deprecated: If Workload Identity Federation for GKE is enabled, Google Cloud Service Account is no longer needed for exporting Config Sync metrics: https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/monitor-config-sync-cloud-monitoring#custom-monitoring. */ metricsGcpServiceAccountEmail?: string | null; /** @@ -523,6 +531,10 @@ export namespace gkehub_v1 { * Specifies whether the Config Sync Repo is in "hierarchical" or "unstructured" mode. */ sourceFormat?: string | null; + /** + * Set to true to stop syncing configs for a single cluster. Default to false. + */ + stopSyncing?: boolean | null; } /** * The state of ConfigSync's deployment on a cluster @@ -578,6 +590,14 @@ export namespace gkehub_v1 { * State information for ConfigSync */ export interface Schema$ConfigManagementConfigSyncState { + /** + * Whether syncing resources to the cluster is stopped at the cluster level. + */ + clusterLevelStopSyncingState?: string | null; + /** + * Output only. The number of RootSync and RepoSync CRs in the cluster. + */ + crCount?: number | null; /** * Information about the deployment of ConfigSync, including the version of the various Pods deployed */ @@ -1992,6 +2012,10 @@ export namespace gkehub_v1 { * Optional. How to identify workloads from this Membership. See the documentation on Workload Identity for more details: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity */ authority?: Schema$Authority; + /** + * Output only. The tier of the cluster. + */ + clusterTier?: string | null; /** * Output only. When the Membership was created. */ @@ -2351,7 +2375,7 @@ export namespace gkehub_v1 { */ apiVersion?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. */ cancelRequested?: boolean | null; /** @@ -2857,6 +2881,10 @@ export namespace gkehub_v1 { * **Service Mesh**: Spec for a single Membership for the servicemesh feature */ export interface Schema$ServiceMeshMembershipSpec { + /** + * Optional. Specifies the API that will be used for configuring the mesh workloads. + */ + configApi?: string | null; /** * Deprecated: use `management` instead Enables automatic control plane management. */ @@ -6796,7 +6824,7 @@ export namespace gkehub_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/gkehub/v1alpha.ts b/src/apis/gkehub/v1alpha.ts index fb1925e390..e9f6481576 100644 --- a/src/apis/gkehub/v1alpha.ts +++ b/src/apis/gkehub/v1alpha.ts @@ -216,6 +216,14 @@ export namespace gkehub_v1alpha { * Optional. OIDC verification keys for this Membership in JWKS format (RFC 7517). When this field is set, OIDC discovery will NOT be performed on `issuer`, and instead OIDC tokens will be validated using this field. */ oidcJwks?: string | null; + /** + * Optional. Output only. The identity provider for the scope-tenancy workload identity pool. + */ + scopeTenancyIdentityProvider?: string | null; + /** + * Optional. Output only. The name of the scope-tenancy workload identity pool. This pool is set in the fleet-level feature. + */ + scopeTenancyWorkloadIdentityPool?: string | null; /** * Output only. The name of the workload identity pool in which `issuer` will be recognized. There is a single Workload Identity Pool per Hub that is shared between all Memberships that belong to that Hub. For a Hub hosted in {PROJECT_ID\}, the workload pool format is `{PROJECT_ID\}.hub.id.goog`, although this is subject to change in newer versions of this API. */ @@ -637,33 +645,37 @@ export namespace gkehub_v1alpha { */ export interface Schema$ConfigManagementConfigSync { /** - * Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated. + * Optional. Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated. */ allowVerticalScale?: boolean | null; /** - * Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field. + * Optional. Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field. */ enabled?: boolean | null; /** - * Git repo configuration for the cluster. + * Optional. Git repo configuration for the cluster. */ git?: Schema$ConfigManagementGitConfig; /** - * The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA. + * Optional. The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA. Deprecated: If Workload Identity Federation for GKE is enabled, Google Cloud Service Account is no longer needed for exporting Config Sync metrics: https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/monitor-config-sync-cloud-monitoring#custom-monitoring. */ metricsGcpServiceAccountEmail?: string | null; /** - * OCI repo configuration for the cluster + * Optional. OCI repo configuration for the cluster */ oci?: Schema$ConfigManagementOciConfig; /** - * Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts. + * Optional. Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts. */ preventDrift?: boolean | null; /** - * Specifies whether the Config Sync Repo is in "hierarchical" or "unstructured" mode. + * Optional. Specifies whether the Config Sync Repo is in "hierarchical" or "unstructured" mode. */ sourceFormat?: string | null; + /** + * Optional. Set to true to stop syncing configs for a single cluster. Default to false. + */ + stopSyncing?: boolean | null; } /** * The state of ConfigSync's deployment on a cluster @@ -720,31 +732,39 @@ export namespace gkehub_v1alpha { */ export interface Schema$ConfigManagementConfigSyncState { /** - * Information about the deployment of ConfigSync, including the version of the various Pods deployed + * Output only. Whether syncing resources to the cluster is stopped at the cluster level. + */ + clusterLevelStopSyncingState?: string | null; + /** + * Output only. The number of RootSync and RepoSync CRs in the cluster. + */ + crCount?: number | null; + /** + * Output only. Information about the deployment of ConfigSync, including the version of the various Pods deployed */ deploymentState?: Schema$ConfigManagementConfigSyncDeploymentState; /** - * Errors pertaining to the installation of Config Sync. + * Output only. Errors pertaining to the installation of Config Sync. */ errors?: Schema$ConfigManagementConfigSyncError[]; /** - * The state of the Reposync CRD + * Output only. The state of the Reposync CRD */ reposyncCrd?: string | null; /** - * The state of the RootSync CRD + * Output only. The state of the RootSync CRD */ rootsyncCrd?: string | null; /** - * The state of CS This field summarizes the other fields in this message. + * Output only. The state of CS This field summarizes the other fields in this message. */ state?: string | null; /** - * The state of ConfigSync's process to sync configs to a cluster + * Output only. The state of ConfigSync's process to sync configs to a cluster */ syncState?: Schema$ConfigManagementSyncState; /** - * The version of ConfigSync deployed + * Output only. The version of ConfigSync deployed */ version?: Schema$ConfigManagementConfigSyncVersion; } @@ -832,35 +852,35 @@ export namespace gkehub_v1alpha { */ export interface Schema$ConfigManagementGitConfig { /** - * The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. + * Optional. The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. */ gcpServiceAccountEmail?: string | null; /** - * URL for the HTTPS proxy to be used when communicating with the Git repo. + * Optional. URL for the HTTPS proxy to be used when communicating with the Git repo. */ httpsProxy?: string | null; /** - * The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository. + * Optional. The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository. */ policyDir?: string | null; /** - * Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required. + * Required. Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required. */ secretType?: string | null; /** - * The branch of the repository to sync from. Default: master. + * Optional. The branch of the repository to sync from. Default: master. */ syncBranch?: string | null; /** - * The URL of the Git repository to use as the source of truth. + * Optional. The URL of the Git repository to use as the source of truth. */ syncRepo?: string | null; /** - * Git revision (tag or hash) to check out. Default HEAD. + * Optional. Git revision (tag or hash) to check out. Default HEAD. */ syncRev?: string | null; /** - * Period in seconds between consecutive syncs. Default: 15. + * Optional. Period in seconds between consecutive syncs. Default: 15. */ syncWaitSecs?: string | null; } @@ -951,31 +971,31 @@ export namespace gkehub_v1alpha { */ export interface Schema$ConfigManagementMembershipSpec { /** - * Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set. + * Optional. Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set. */ binauthz?: Schema$ConfigManagementBinauthzConfig; /** - * The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. + * Optional. The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. */ cluster?: string | null; /** - * Config Sync configuration for the cluster. + * Optional. Config Sync configuration for the cluster. */ configSync?: Schema$ConfigManagementConfigSync; /** - * 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. + * Optional. 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?: Schema$ConfigManagementHierarchyControllerConfig; /** - * Enables automatic Feature management. + * Optional. Enables automatic Feature management. */ management?: string | null; /** - * Policy Controller configuration for the cluster. Deprecated: Configuring Policy Controller through the configmanagement feature is no longer recommended. Use the policycontroller feature instead. + * Optional. Policy Controller configuration for the cluster. Deprecated: Configuring Policy Controller through the configmanagement feature is no longer recommended. Use the policycontroller feature instead. */ policyController?: Schema$ConfigManagementPolicyController; /** - * Version of ACM installed. + * Optional. Version of ACM installed. */ version?: string | null; } @@ -984,31 +1004,31 @@ export namespace gkehub_v1alpha { */ export interface Schema$ConfigManagementMembershipState { /** - * Binauthz status + * Output only. Binauthz status */ binauthzState?: Schema$ConfigManagementBinauthzState; /** - * This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name. + * Output only. This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name. */ clusterName?: string | null; /** - * Current sync status + * Output only. Current sync status */ configSyncState?: Schema$ConfigManagementConfigSyncState; /** - * Hierarchy Controller status + * Output only. Hierarchy Controller status */ hierarchyControllerState?: Schema$ConfigManagementHierarchyControllerState; /** - * Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state + * Output only. Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state */ membershipSpec?: Schema$ConfigManagementMembershipSpec; /** - * Current install status of ACM's Operator + * Output only. Current install status of ACM's Operator */ operatorState?: Schema$ConfigManagementOperatorState; /** - * PolicyController status + * Output only. PolicyController status */ policyControllerState?: Schema$ConfigManagementPolicyControllerState; } @@ -1017,23 +1037,23 @@ export namespace gkehub_v1alpha { */ export interface Schema$ConfigManagementOciConfig { /** - * The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. + * Optional. The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. */ gcpServiceAccountEmail?: string | null; /** - * The absolute path of the directory that contains the local resources. Default: the root directory of the image. + * Optional. The absolute path of the directory that contains the local resources. Default: the root directory of the image. */ policyDir?: string | null; /** - * Type of secret configured for access to the Git repo. + * Optional. Type of secret configured for access to the Git repo. */ secretType?: string | null; /** - * The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`. + * Optional. The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`. */ syncRepo?: string | null; /** - * Period in seconds between consecutive syncs. Default: 15. + * Optional. Period in seconds between consecutive syncs. Default: 15. */ syncWaitSecs?: string | null; } @@ -2184,6 +2204,10 @@ export namespace gkehub_v1alpha { * Optional. How to identify workloads from this Membership. See the documentation on Workload Identity for more details: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity */ authority?: Schema$Authority; + /** + * Output only. The tier of the cluster. + */ + clusterTier?: string | null; /** * Output only. When the Membership was created. */ @@ -2614,7 +2638,7 @@ export namespace gkehub_v1alpha { */ apiVersion?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. */ cancelRequested?: boolean | null; /** @@ -7643,7 +7667,7 @@ export namespace gkehub_v1alpha { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/gkehub/v1beta.ts b/src/apis/gkehub/v1beta.ts index 022bd4a059..6e42ee8840 100644 --- a/src/apis/gkehub/v1beta.ts +++ b/src/apis/gkehub/v1beta.ts @@ -216,6 +216,14 @@ export namespace gkehub_v1beta { * Optional. OIDC verification keys for this Membership in JWKS format (RFC 7517). When this field is set, OIDC discovery will NOT be performed on `issuer`, and instead OIDC tokens will be validated using this field. */ oidcJwks?: string | null; + /** + * Optional. Output only. The identity provider for the scope-tenancy workload identity pool. + */ + scopeTenancyIdentityProvider?: string | null; + /** + * Optional. Output only. The name of the scope-tenancy workload identity pool. This pool is set in the fleet-level feature. + */ + scopeTenancyWorkloadIdentityPool?: string | null; /** * Output only. The name of the workload identity pool in which `issuer` will be recognized. There is a single Workload Identity Pool per Hub that is shared between all Memberships that belong to that Hub. For a Hub hosted in {PROJECT_ID\}, the workload pool format is `{PROJECT_ID\}.hub.id.goog`, although this is subject to change in newer versions of this API. */ @@ -557,33 +565,37 @@ export namespace gkehub_v1beta { */ export interface Schema$ConfigManagementConfigSync { /** - * Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated. + * Optional. Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated. */ allowVerticalScale?: boolean | null; /** - * Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field. + * Optional. Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field. */ enabled?: boolean | null; /** - * Git repo configuration for the cluster. + * Optional. Git repo configuration for the cluster. */ git?: Schema$ConfigManagementGitConfig; /** - * The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA. + * Optional. The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA. Deprecated: If Workload Identity Federation for GKE is enabled, Google Cloud Service Account is no longer needed for exporting Config Sync metrics: https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/monitor-config-sync-cloud-monitoring#custom-monitoring. */ metricsGcpServiceAccountEmail?: string | null; /** - * OCI repo configuration for the cluster + * Optional. OCI repo configuration for the cluster */ oci?: Schema$ConfigManagementOciConfig; /** - * Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts. + * Optional. Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts. */ preventDrift?: boolean | null; /** - * Specifies whether the Config Sync Repo is in "hierarchical" or "unstructured" mode. + * Optional. Specifies whether the Config Sync Repo is in "hierarchical" or "unstructured" mode. */ sourceFormat?: string | null; + /** + * Optional. Set to true to stop syncing configs for a single cluster. Default to false. + */ + stopSyncing?: boolean | null; } /** * The state of ConfigSync's deployment on a cluster @@ -640,31 +652,39 @@ export namespace gkehub_v1beta { */ export interface Schema$ConfigManagementConfigSyncState { /** - * Information about the deployment of ConfigSync, including the version of the various Pods deployed + * Output only. Whether syncing resources to the cluster is stopped at the cluster level. + */ + clusterLevelStopSyncingState?: string | null; + /** + * Output only. The number of RootSync and RepoSync CRs in the cluster. + */ + crCount?: number | null; + /** + * Output only. Information about the deployment of ConfigSync, including the version of the various Pods deployed */ deploymentState?: Schema$ConfigManagementConfigSyncDeploymentState; /** - * Errors pertaining to the installation of Config Sync. + * Output only. Errors pertaining to the installation of Config Sync. */ errors?: Schema$ConfigManagementConfigSyncError[]; /** - * The state of the Reposync CRD + * Output only. The state of the Reposync CRD */ reposyncCrd?: string | null; /** - * The state of the RootSync CRD + * Output only. The state of the RootSync CRD */ rootsyncCrd?: string | null; /** - * The state of CS This field summarizes the other fields in this message. + * Output only. The state of CS This field summarizes the other fields in this message. */ state?: string | null; /** - * The state of ConfigSync's process to sync configs to a cluster + * Output only. The state of ConfigSync's process to sync configs to a cluster */ syncState?: Schema$ConfigManagementSyncState; /** - * The version of ConfigSync deployed + * Output only. The version of ConfigSync deployed */ version?: Schema$ConfigManagementConfigSyncVersion; } @@ -752,35 +772,35 @@ export namespace gkehub_v1beta { */ export interface Schema$ConfigManagementGitConfig { /** - * The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. + * Optional. The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. */ gcpServiceAccountEmail?: string | null; /** - * URL for the HTTPS proxy to be used when communicating with the Git repo. + * Optional. URL for the HTTPS proxy to be used when communicating with the Git repo. */ httpsProxy?: string | null; /** - * The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository. + * Optional. The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository. */ policyDir?: string | null; /** - * Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required. + * Required. Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required. */ secretType?: string | null; /** - * The branch of the repository to sync from. Default: master. + * Optional. The branch of the repository to sync from. Default: master. */ syncBranch?: string | null; /** - * The URL of the Git repository to use as the source of truth. + * Optional. The URL of the Git repository to use as the source of truth. */ syncRepo?: string | null; /** - * Git revision (tag or hash) to check out. Default HEAD. + * Optional. Git revision (tag or hash) to check out. Default HEAD. */ syncRev?: string | null; /** - * Period in seconds between consecutive syncs. Default: 15. + * Optional. Period in seconds between consecutive syncs. Default: 15. */ syncWaitSecs?: string | null; } @@ -871,31 +891,31 @@ export namespace gkehub_v1beta { */ export interface Schema$ConfigManagementMembershipSpec { /** - * Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set. + * Optional. Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set. */ binauthz?: Schema$ConfigManagementBinauthzConfig; /** - * The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. + * Optional. The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. */ cluster?: string | null; /** - * Config Sync configuration for the cluster. + * Optional. Config Sync configuration for the cluster. */ configSync?: Schema$ConfigManagementConfigSync; /** - * 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. + * Optional. 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?: Schema$ConfigManagementHierarchyControllerConfig; /** - * Enables automatic Feature management. + * Optional. Enables automatic Feature management. */ management?: string | null; /** - * Policy Controller configuration for the cluster. Deprecated: Configuring Policy Controller through the configmanagement feature is no longer recommended. Use the policycontroller feature instead. + * Optional. Policy Controller configuration for the cluster. Deprecated: Configuring Policy Controller through the configmanagement feature is no longer recommended. Use the policycontroller feature instead. */ policyController?: Schema$ConfigManagementPolicyController; /** - * Version of ACM installed. + * Optional. Version of ACM installed. */ version?: string | null; } @@ -904,31 +924,31 @@ export namespace gkehub_v1beta { */ export interface Schema$ConfigManagementMembershipState { /** - * Binauthz status + * Output only. Binauthz status */ binauthzState?: Schema$ConfigManagementBinauthzState; /** - * This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name. + * Output only. This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name. */ clusterName?: string | null; /** - * Current sync status + * Output only. Current sync status */ configSyncState?: Schema$ConfigManagementConfigSyncState; /** - * Hierarchy Controller status + * Output only. Hierarchy Controller status */ hierarchyControllerState?: Schema$ConfigManagementHierarchyControllerState; /** - * Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state + * Output only. Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state */ membershipSpec?: Schema$ConfigManagementMembershipSpec; /** - * Current install status of ACM's Operator + * Output only. Current install status of ACM's Operator */ operatorState?: Schema$ConfigManagementOperatorState; /** - * PolicyController status + * Output only. PolicyController status */ policyControllerState?: Schema$ConfigManagementPolicyControllerState; } @@ -937,23 +957,23 @@ export namespace gkehub_v1beta { */ export interface Schema$ConfigManagementOciConfig { /** - * The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. + * Optional. The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. */ gcpServiceAccountEmail?: string | null; /** - * The absolute path of the directory that contains the local resources. Default: the root directory of the image. + * Optional. The absolute path of the directory that contains the local resources. Default: the root directory of the image. */ policyDir?: string | null; /** - * Type of secret configured for access to the Git repo. + * Optional. Type of secret configured for access to the Git repo. */ secretType?: string | null; /** - * The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`. + * Optional. The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`. */ syncRepo?: string | null; /** - * Period in seconds between consecutive syncs. Default: 15. + * Optional. Period in seconds between consecutive syncs. Default: 15. */ syncWaitSecs?: string | null; } @@ -2061,6 +2081,10 @@ export namespace gkehub_v1beta { * Optional. How to identify workloads from this Membership. See the documentation on Workload Identity for more details: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity */ authority?: Schema$Authority; + /** + * Output only. The tier of the cluster. + */ + clusterTier?: string | null; /** * Output only. When the Membership was created. */ @@ -2462,7 +2486,7 @@ export namespace gkehub_v1beta { */ apiVersion?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. */ cancelRequested?: boolean | null; /** @@ -2968,6 +2992,10 @@ export namespace gkehub_v1beta { * **Service Mesh**: Spec for a single Membership for the servicemesh feature */ export interface Schema$ServiceMeshMembershipSpec { + /** + * Optional. Specifies the API that will be used for configuring the mesh workloads. + */ + configApi?: string | null; /** * Deprecated: use `management` instead Enables automatic control plane management. */ @@ -6907,7 +6935,7 @@ export namespace gkehub_v1beta { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/gkehub/v1beta1.ts b/src/apis/gkehub/v1beta1.ts index ef40ef89e3..ecd51a8089 100644 --- a/src/apis/gkehub/v1beta1.ts +++ b/src/apis/gkehub/v1beta1.ts @@ -175,6 +175,14 @@ export namespace gkehub_v1beta1 { * Optional. OIDC verification keys for this Membership in JWKS format (RFC 7517). When this field is set, OIDC discovery will NOT be performed on `issuer`, and instead OIDC tokens will be validated using this field. */ oidcJwks?: string | null; + /** + * Optional. Output only. The identity provider for the scope-tenancy workload identity pool. + */ + scopeTenancyIdentityProvider?: string | null; + /** + * Optional. Output only. The name of the scope-tenancy workload identity pool. This pool is set in the fleet-level feature. + */ + scopeTenancyWorkloadIdentityPool?: string | null; /** * Output only. The name of the workload identity pool in which `issuer` will be recognized. There is a single Workload Identity Pool per Hub that is shared between all Memberships that belong to that Hub. For a Hub hosted in {PROJECT_ID\}, the workload pool format is `{PROJECT_ID\}.hub.id.goog`, although this is subject to change in newer versions of this API. */ @@ -2180,7 +2188,7 @@ export namespace gkehub_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/gkehub/v2.ts b/src/apis/gkehub/v2.ts index 1fe16bca02..0973fce9aa 100644 --- a/src/apis/gkehub/v2.ts +++ b/src/apis/gkehub/v2.ts @@ -124,129 +124,2172 @@ export namespace gkehub_v2 { } } + /** + * State for App Dev Exp Feature. + */ + export interface Schema$AppDevExperienceState { + /** + * Status of subcomponent that detects configured Service Mesh resources. + */ + networkingInstallSucceeded?: Schema$AppDevExperienceStatus; + } + /** + * Status specifies state for the subcomponent. + */ + export interface Schema$AppDevExperienceStatus { + /** + * Code specifies AppDevExperienceFeature's subcomponent ready state. + */ + code?: string | null; + /** + * Description is populated if Code is Failed, explaining why it has failed. + */ + description?: string | null; + } /** * The request message for Operations.CancelOperation. */ export interface Schema$CancelOperationRequest {} /** - * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} + * **Cloud Build**: Configurations for each Cloud Build enabled cluster. */ - export interface Schema$Empty {} + export interface Schema$CloudBuildSpec { + /** + * Whether it is allowed to run the privileged builds on the cluster or not. + */ + securityPolicy?: string | null; + /** + * Version of the cloud build software on the cluster. + */ + version?: string | null; + } /** - * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + * GKEUpgrade represents a GKE provided upgrade, e.g., control plane upgrade. */ - export interface Schema$GoogleRpcStatus { + export interface Schema$ClusterUpgradeGKEUpgrade { /** - * The status code, which should be an enum value of google.rpc.Code. + * Name of the upgrade, e.g., "k8s_control_plane". */ - code?: number | null; + name?: string | null; /** - * A list of messages that carry the error details. There is a common set of message types for APIs to use. + * Version of the upgrade, e.g., "1.22.1-gke.100". */ - details?: Array<{[key: string]: any}> | null; + version?: string | null; + } + /** + * IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default. + */ + export interface Schema$ClusterUpgradeIgnoredMembership { /** - * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + * Time when the membership was first set to ignored. */ - message?: string | null; + ignoredTime?: string | null; + /** + * Reason why the membership is ignored. + */ + reason?: string | null; } /** - * The response message for Locations.ListLocations. + * MembershipGKEUpgradeState is a GKEUpgrade and its state per-membership. */ - export interface Schema$ListLocationsResponse { + export interface Schema$ClusterUpgradeMembershipGKEUpgradeState { /** - * A list of locations that matches the specified filter in the request. + * Status of the upgrade. */ - locations?: Schema$Location[]; + status?: Schema$ClusterUpgradeUpgradeStatus; /** - * The standard List next-page token. + * Which upgrade to track the state. */ - nextPageToken?: string | null; + upgrade?: Schema$ClusterUpgradeGKEUpgrade; } /** - * The response message for Operations.ListOperations. + * Per-membership state for this feature. */ - export interface Schema$ListOperationsResponse { + export interface Schema$ClusterUpgradeState { /** - * The standard List next-page token. + * Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. */ - nextPageToken?: string | null; + ignored?: Schema$ClusterUpgradeIgnoredMembership; /** - * A list of operations that matches the specified filter in the request. + * Actual upgrade state against desired. */ - operations?: Schema$Operation[]; + upgrades?: Schema$ClusterUpgradeMembershipGKEUpgradeState[]; } /** - * A resource that represents a Google Cloud location. + * UpgradeStatus provides status information for each upgrade. */ - export interface Schema$Location { + export interface Schema$ClusterUpgradeUpgradeStatus { /** - * The friendly name for this location, typically a nearby city name. For example, "Tokyo". + * Status code of the upgrade. */ - displayName?: string | null; + code?: string | null; /** - * Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"\} + * Reason for this status. */ - labels?: {[key: string]: string} | null; + reason?: string | null; /** - * The canonical id for this location. For example: `"us-east1"`. + * Last timestamp the status was updated. */ - locationId?: string | null; + updateTime?: string | null; + } + /** + * Configuration for Binauthz. + */ + export interface Schema$ConfigManagementBinauthzConfig { /** - * Service-specific metadata. For example the available capacity at the given location. + * Whether binauthz is enabled in this cluster. */ - metadata?: {[key: string]: any} | null; + enabled?: boolean | null; + } + /** + * State for Binauthz. + */ + export interface Schema$ConfigManagementBinauthzState { /** - * Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` + * The version of binauthz that is installed. */ - name?: string | null; + version?: Schema$ConfigManagementBinauthzVersion; + /** + * The state of the binauthz webhook. + */ + webhook?: string | null; } /** - * This resource represents a long-running operation that is the result of a network API call. + * The version of binauthz. */ - export interface Schema$Operation { + export interface Schema$ConfigManagementBinauthzVersion { /** - * If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. + * The version of the binauthz webhook. */ - done?: boolean | null; + webhookVersion?: string | null; + } + /** + * Configuration for Config Sync + */ + export interface Schema$ConfigManagementConfigSync { /** - * The error result of the operation in case of failure or cancellation. + * Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated. */ - error?: Schema$GoogleRpcStatus; + allowVerticalScale?: boolean | null; /** - * Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. + * Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field. */ - metadata?: {[key: string]: any} | null; + enabled?: boolean | null; /** - * The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id\}`. + * Git repo configuration for the cluster. */ - name?: string | null; + git?: Schema$ConfigManagementGitConfig; + /** + * The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA. Deprecated: If Workload Identity Federation for GKE is enabled, Google Cloud Service Account is no longer needed for exporting Config Sync metrics: https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/monitor-config-sync-cloud-monitoring#custom-monitoring. + */ + metricsGcpServiceAccountEmail?: string | null; + /** + * OCI repo configuration for the cluster. + */ + oci?: Schema$ConfigManagementOciConfig; + /** + * Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts. + */ + preventDrift?: boolean | null; + /** + * Specifies whether the Config Sync Repo is in "hierarchical" or "unstructured" mode. + */ + sourceFormat?: string | null; + /** + * Set to true to stop syncing configs for a single cluster. Default to false. + */ + stopSyncing?: boolean | null; + } + /** + * The state of ConfigSync's deployment on a cluster. + */ + export interface Schema$ConfigManagementConfigSyncDeploymentState { + /** + * Deployment state of admission-webhook. + */ + admissionWebhook?: string | null; + /** + * Deployment state of the git-sync pod. + */ + gitSync?: string | null; + /** + * Deployment state of the importer pod. + */ + importer?: string | null; + /** + * Deployment state of the monitor pod. + */ + monitor?: string | null; + /** + * Deployment state of otel-collector + */ + otelCollector?: string | null; + /** + * Deployment state of reconciler-manager pod. + */ + reconcilerManager?: string | null; + /** + * Deployment state of resource-group-controller-manager + */ + resourceGroupControllerManager?: string | null; + /** + * Deployment state of root-reconciler. + */ + rootReconciler?: string | null; + /** + * Deployment state of the syncer pod. + */ + syncer?: string | null; + } + /** + * Errors pertaining to the installation of Config Sync + */ + export interface Schema$ConfigManagementConfigSyncError { + /** + * A string representing the user facing error message + */ + errorMessage?: string | null; + } + /** + * State information for ConfigSync. + */ + export interface Schema$ConfigManagementConfigSyncState { + /** + * Whether syncing resources to the cluster is stopped at the cluster level. + */ + clusterLevelStopSyncingState?: string | null; + /** + * Output only. The number of RootSync and RepoSync CRs in the cluster. + */ + crCount?: number | null; + /** + * Information about the deployment of ConfigSync, including the version. of the various Pods deployed + */ + deploymentState?: Schema$ConfigManagementConfigSyncDeploymentState; + /** + * Errors pertaining to the installation of Config Sync. + */ + errors?: Schema$ConfigManagementConfigSyncError[]; + /** + * The state of the Reposync CRD + */ + reposyncCrd?: string | null; + /** + * The state of the RootSync CRD + */ + rootsyncCrd?: string | null; + /** + * The state of CS This field summarizes the other fields in this message. + */ + state?: string | null; + /** + * The state of ConfigSync's process to sync configs to a cluster. + */ + syncState?: Schema$ConfigManagementSyncState; + /** + * The version of ConfigSync deployed. + */ + version?: Schema$ConfigManagementConfigSyncVersion; + } + /** + * Specific versioning information pertaining to ConfigSync's Pods. + */ + export interface Schema$ConfigManagementConfigSyncVersion { + /** + * Version of the deployed admission-webhook pod. + */ + admissionWebhook?: string | null; + /** + * Version of the deployed git-sync pod. + */ + gitSync?: string | null; + /** + * Version of the deployed importer pod. + */ + importer?: string | null; + /** + * Version of the deployed monitor pod. + */ + monitor?: string | null; + /** + * Version of the deployed otel-collector pod + */ + otelCollector?: string | null; + /** + * Version of the deployed reconciler-manager pod. + */ + reconcilerManager?: string | null; + /** + * Version of the deployed resource-group-controller-manager pod + */ + resourceGroupControllerManager?: string | null; + /** + * Version of the deployed reconciler container in root-reconciler pod. + */ + rootReconciler?: string | null; + /** + * Version of the deployed syncer pod. + */ + syncer?: string | null; + } + /** + * Model for a config file in the git repo with an associated Sync error. + */ + export interface Schema$ConfigManagementErrorResource { + /** + * Group/version/kind of the resource that is causing an error + */ + resourceGvk?: Schema$ConfigManagementGroupVersionKind; + /** + * Metadata name of the resource that is causing an error + */ + resourceName?: string | null; + /** + * Namespace of the resource that is causing an error + */ + resourceNamespace?: string | null; + /** + * Path in the git repo of the erroneous config + */ + sourcePath?: string | null; + } + /** + * State of Policy Controller installation. + */ + export interface Schema$ConfigManagementGatekeeperDeploymentState { + /** + * Status of gatekeeper-audit deployment. + */ + gatekeeperAudit?: string | null; + /** + * Status of gatekeeper-controller-manager pod. + */ + gatekeeperControllerManagerState?: string | null; + /** + * Status of the pod serving the mutation webhook. + */ + gatekeeperMutation?: string | null; + } + /** + * Git repo configuration for a single cluster. + */ + export interface Schema$ConfigManagementGitConfig { + /** + * The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. + */ + gcpServiceAccountEmail?: string | null; + /** + * URL for the HTTPS proxy to be used when communicating with the Git repo. + */ + httpsProxy?: string | null; + /** + * The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository. + */ + policyDir?: string | null; + /** + * Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required. + */ + secretType?: string | null; + /** + * The branch of the repository to sync from. Default: master. + */ + syncBranch?: string | null; + /** + * The URL of the Git repository to use as the source of truth. + */ + syncRepo?: string | null; + /** + * Git revision (tag or hash) to check out. Default HEAD. + */ + syncRev?: string | null; + /** + * Period in seconds between consecutive syncs. Default: 15. + */ + syncWaitSecs?: string | null; + } + /** + * A Kubernetes object's GVK. + */ + export interface Schema$ConfigManagementGroupVersionKind { + /** + * Kubernetes Group + */ + group?: string | null; + /** + * Kubernetes Kind + */ + kind?: string | null; + /** + * Kubernetes Version + */ + version?: string | null; + } + /** + * Configuration for Hierarchy Controller. + */ + export interface Schema$ConfigManagementHierarchyControllerConfig { + /** + * Whether Hierarchy Controller is enabled in this cluster. + */ + enabled?: boolean | null; + /** + * Whether hierarchical resource quota is enabled in this cluster. + */ + enableHierarchicalResourceQuota?: boolean | null; + /** + * Whether pod tree labels are enabled in this cluster. + */ + enablePodTreeLabels?: boolean | null; + } + /** + * Deployment state for Hierarchy Controller + */ + export interface Schema$ConfigManagementHierarchyControllerDeploymentState { + /** + * The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1). + */ + extension?: string | null; + /** + * The deployment state for open source HNC (e.g. v0.7.0-hc.0). + */ + hnc?: string | null; + } + /** + * State for Hierarchy Controller. + */ + export interface Schema$ConfigManagementHierarchyControllerState { + /** + * The deployment state for Hierarchy Controller. + */ + state?: Schema$ConfigManagementHierarchyControllerDeploymentState; + /** + * The version for Hierarchy Controller. + */ + version?: Schema$ConfigManagementHierarchyControllerVersion; + } + /** + * Version for Hierarchy Controller. + */ + export interface Schema$ConfigManagementHierarchyControllerVersion { + /** + * Version for Hierarchy Controller extension. + */ + extension?: string | null; + /** + * Version for open source HNC. + */ + hnc?: string | null; + } + /** + * Errors pertaining to the installation of ACM. + */ + export interface Schema$ConfigManagementInstallError { + /** + * A string representing the user facing error message. + */ + errorMessage?: string | null; + } + /** + * OCI repo configuration for a single cluster. + */ + export interface Schema$ConfigManagementOciConfig { + /** + * The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. + */ + gcpServiceAccountEmail?: string | null; + /** + * The absolute path of the directory that contains the local resources. Default: the root directory of the image. + */ + policyDir?: string | null; + /** + * Type of secret configured for access to the Git repo. + */ + secretType?: string | null; + /** + * The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`. + */ + syncRepo?: string | null; + /** + * Period in seconds between consecutive syncs. Default: 15. + */ + syncWaitSecs?: string | null; + } + /** + * State information for an ACM's Operator. + */ + export interface Schema$ConfigManagementOperatorState { + /** + * The state of the Operator's deployment. + */ + deploymentState?: string | null; + /** + * Install errors. + */ + errors?: Schema$ConfigManagementInstallError[]; + /** + * The semenatic version number of the operator. + */ + version?: string | null; + } + /** + * Configuration for Policy Controller + */ + export interface Schema$ConfigManagementPolicyController { + /** + * Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. + */ + auditIntervalSeconds?: string | null; + /** + * Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect. + */ + enabled?: boolean | null; + /** + * The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. + */ + exemptableNamespaces?: string[] | null; + /** + * Logs all denies and dry run failures. + */ + logDeniesEnabled?: boolean | null; + /** + * Monitoring specifies the configuration of monitoring. + */ + monitoring?: Schema$ConfigManagementPolicyControllerMonitoring; + /** + * Enable or disable mutation in policy controller. If true, mutation CRDs, webhook and controller deployment will be deployed to the cluster. + */ + mutationEnabled?: boolean | null; + /** + * Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. + */ + referentialRulesEnabled?: boolean | null; + /** + * Installs the default template library along with Policy Controller. + */ + templateLibraryInstalled?: boolean | null; + /** + * Output only. Last time this membership spec was updated. + */ + updateTime?: string | null; + } + /** + * State for the migration of PolicyController from ACM -\> PoCo Hub. + */ + export interface Schema$ConfigManagementPolicyControllerMigration { + /** + * Last time this membership spec was copied to PoCo feature. + */ + copyTime?: string | null; + /** + * Stage of the migration. + */ + stage?: string | null; + } + /** + * PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] + */ + export interface Schema$ConfigManagementPolicyControllerMonitoring { + /** + * Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. + */ + backends?: string[] | null; + } + /** + * State for PolicyControllerState. + */ + export interface Schema$ConfigManagementPolicyControllerState { + /** + * The state about the policy controller installation. + */ + deploymentState?: Schema$ConfigManagementGatekeeperDeploymentState; + /** + * Record state of ACM -\> PoCo Hub migration for this feature. + */ + migration?: Schema$ConfigManagementPolicyControllerMigration; + /** + * The version of Gatekeeper Policy Controller deployed. + */ + version?: Schema$ConfigManagementPolicyControllerVersion; + } + /** + * The build version of Gatekeeper Policy Controller is using. + */ + export interface Schema$ConfigManagementPolicyControllerVersion { + /** + * The gatekeeper image tag that is composed of ACM version, git tag, build number. + */ + version?: string | null; + } + /** + * **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. + */ + export interface Schema$ConfigManagementSpec { + /** + * Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set. + */ + binauthz?: Schema$ConfigManagementBinauthzConfig; + /** + * The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. + */ + cluster?: string | null; + /** + * Config Sync configuration for the cluster. + */ + configSync?: Schema$ConfigManagementConfigSync; + /** + * 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?: Schema$ConfigManagementHierarchyControllerConfig; + /** + * Enables automatic Feature management. + */ + management?: string | null; + /** + * Policy Controller configuration for the cluster. Deprecated: Configuring Policy Controller through the configmanagement feature is no longer recommended. Use the policycontroller feature instead. + */ + policyController?: Schema$ConfigManagementPolicyController; + /** + * Version of ACM installed. + */ + version?: string | null; + } + /** + * **Anthos Config Management**: State for a single cluster. + */ + export interface Schema$ConfigManagementState { + /** + * Binauthz status. + */ + binauthzState?: Schema$ConfigManagementBinauthzState; + /** + * This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name. + */ + clusterName?: string | null; + /** + * Current sync status. + */ + configSyncState?: Schema$ConfigManagementConfigSyncState; + /** + * Hierarchy Controller status. + */ + hierarchyControllerState?: Schema$ConfigManagementHierarchyControllerState; + /** + * Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state. + */ + membershipSpec?: Schema$ConfigManagementSpec; + /** + * Current install status of ACM's Operator. + */ + operatorState?: Schema$ConfigManagementOperatorState; + /** + * PolicyController status. + */ + policyControllerState?: Schema$ConfigManagementPolicyControllerState; + } + /** + * An ACM created error representing a problem syncing configurations. + */ + export interface Schema$ConfigManagementSyncError { + /** + * An ACM defined error code + */ + code?: string | null; + /** + * A description of the error + */ + errorMessage?: string | null; + /** + * A list of config(s) associated with the error, if any + */ + errorResources?: Schema$ConfigManagementErrorResource[]; + } + /** + * State indicating an ACM's progress syncing configurations to a cluster. + */ + export interface Schema$ConfigManagementSyncState { + /** + * Sync status code. + */ + code?: string | null; + /** + * A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist. + */ + errors?: Schema$ConfigManagementSyncError[]; + /** + * Token indicating the state of the importer. + */ + importToken?: string | null; + /** + * Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo. The time format is specified in https://golang.org/pkg/time/#Time.String + */ + lastSync?: string | null; + /** + * Timestamp type of when ACM last successfully synced the repo. + */ + lastSyncTime?: string | null; + /** + * Token indicating the state of the repo. + */ + sourceToken?: string | null; + /** + * Token indicating the state of the syncer. + */ + syncToken?: string | null; + } + /** + * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} + */ + export interface Schema$Empty {} + /** + * FeatureSpec contains user input per-feature spec information. + */ + export interface Schema$FeatureSpec { + /** + * Cloudbuild-specific FeatureSpec. + */ + cloudbuild?: Schema$CloudBuildSpec; + /** + * Config Management FeatureSpec. + */ + configmanagement?: Schema$ConfigManagementSpec; + /** + * IdentityService FeatureSpec. + */ + identityservice?: Schema$IdentityServiceSpec; + /** + * Whether this per-Feature spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Feature config (updated to USER implicitly) or setting to FLEET explicitly. + */ + origin?: Schema$Origin; + /** + * Policycontroller-specific FeatureSpec. + */ + policycontroller?: Schema$PolicyControllerSpec; + /** + * ServiceMesh Feature Spec. + */ + servicemesh?: Schema$ServiceMeshSpec; + /** + * Workloadcertificate-specific FeatureSpec. + */ + workloadcertificate?: Schema$WorkloadCertificateSpec; + } + /** + * FeatureState contains high-level state information and per-feature state information for this MembershipFeature. + */ + export interface Schema$FeatureState { + /** + * Appdevexperience specific state. + */ + appdevexperience?: Schema$AppDevExperienceState; + /** + * Cluster upgrade state. + */ + clusterupgrade?: Schema$ClusterUpgradeState; + /** + * Config Management state + */ + configmanagement?: Schema$ConfigManagementState; + /** + * Identity service state + */ + identityservice?: Schema$IdentityServiceState; + /** + * Metering state + */ + metering?: Schema$MeteringState; + /** + * Policy Controller state + */ + policycontroller?: Schema$PolicyControllerState; + /** + * Service mesh state + */ + servicemesh?: Schema$ServiceMeshState; + /** + * The high-level state of this MembershipFeature. + */ + state?: Schema$State; + } + /** + * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + */ + export interface Schema$GoogleRpcStatus { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number | null; + /** + * A list of messages that carry the error details. There is a common set of message types for APIs to use. + */ + details?: Array<{[key: string]: any}> | null; + /** + * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + */ + message?: string | null; + } + /** + * Configuration of an auth method for a member/cluster. Only one authentication method (e.g., OIDC and LDAP) can be set per AuthMethod. + */ + export interface Schema$IdentityServiceAuthMethod { + /** + * AzureAD specific Configuration. + */ + azureadConfig?: Schema$IdentityServiceAzureADConfig; + /** + * GoogleConfig specific configuration + */ + googleConfig?: Schema$IdentityServiceGoogleConfig; + /** + * LDAP specific configuration. + */ + ldapConfig?: Schema$IdentityServiceLdapConfig; + /** + * Identifier for auth config. + */ + name?: string | null; + /** + * OIDC specific configuration. + */ + oidcConfig?: Schema$IdentityServiceOidcConfig; + /** + * Proxy server address to use for auth method. + */ + proxy?: string | null; + /** + * SAML specific configuration. + */ + samlConfig?: Schema$IdentityServiceSamlConfig; + } + /** + * Configuration for the AzureAD Auth flow. + */ + export interface Schema$IdentityServiceAzureADConfig { + /** + * ID for the registered client application that makes authentication requests to the Azure AD identity provider. + */ + clientId?: string | null; + /** + * Input only. Unencrypted AzureAD client secret will be passed to the GKE Hub CLH. + */ + clientSecret?: string | null; + /** + * Output only. Encrypted AzureAD client secret. + */ + encryptedClientSecret?: string | null; + /** + * Optional. Format of the AzureAD groups that the client wants for auth. + */ + groupFormat?: string | null; + /** + * The redirect URL that kubectl uses for authorization. + */ + kubectlRedirectUri?: string | null; + /** + * Kind of Azure AD account to be authenticated. Supported values are or for accounts belonging to a specific tenant. + */ + tenant?: string | null; + /** + * Optional. Claim in the AzureAD ID Token that holds the user details. + */ + userClaim?: string | null; + } + /** + * Configuration options for the AIS diagnostic interface. + */ + export interface Schema$IdentityServiceDiagnosticInterface { + /** + * Determines whether to enable the diagnostic interface. + */ + enabled?: boolean | null; + /** + * Determines the expiration time of the diagnostic interface enablement. When reached, requests to the interface would be automatically rejected. + */ + expirationTime?: string | null; + } + /** + * Configuration for the Google Plugin Auth flow. + */ + export interface Schema$IdentityServiceGoogleConfig { + /** + * Disable automatic configuration of Google Plugin on supported platforms. + */ + disable?: boolean | null; + } + /** + * Contains the properties for locating and authenticating groups in the directory. + */ + export interface Schema$IdentityServiceGroupConfig { + /** + * Required. The location of the subtree in the LDAP directory to search for group entries. + */ + baseDn?: string | null; + /** + * Optional. Optional filter to be used when searching for groups a user belongs to. This can be used to explicitly match only certain groups in order to reduce the amount of groups returned for each user. This defaults to "(objectClass=Group)". + */ + filter?: string | null; + /** + * Optional. The identifying name of each group a user belongs to. For example, if this is set to "distinguishedName" then RBACs and other group expectations should be written as full DNs. This defaults to "distinguishedName". + */ + idAttribute?: string | null; + } + /** + * Holds non-protocol-related configuration options. + */ + export interface Schema$IdentityServiceIdentityServiceOptions { + /** + * Configuration options for the AIS diagnostic interface. + */ + diagnosticInterface?: Schema$IdentityServiceDiagnosticInterface; + /** + * Determines the lifespan of STS tokens issued by Anthos Identity Service. + */ + sessionDuration?: string | null; + } + /** + * Configuration for the LDAP Auth flow. + */ + export interface Schema$IdentityServiceLdapConfig { + /** + * Optional. Contains the properties for locating and authenticating groups in the directory. + */ + group?: Schema$IdentityServiceGroupConfig; + /** + * Required. Server settings for the external LDAP server. + */ + server?: Schema$IdentityServiceServerConfig; + /** + * Required. Contains the credentials of the service account which is authorized to perform the LDAP search in the directory. The credentials can be supplied by the combination of the DN and password or the client certificate. + */ + serviceAccount?: Schema$IdentityServiceServiceAccountConfig; + /** + * Required. Defines where users exist in the LDAP directory. + */ + user?: Schema$IdentityServiceUserConfig; + } + /** + * Configuration for OIDC Auth flow. + */ + export interface Schema$IdentityServiceOidcConfig { + /** + * PEM-encoded CA for OIDC provider. + */ + certificateAuthorityData?: string | null; + /** + * ID for OIDC client application. + */ + clientId?: string | null; + /** + * Input only. Unencrypted OIDC client secret will be passed to the GKE Hub CLH. + */ + clientSecret?: string | null; + /** + * Flag to denote if reverse proxy is used to connect to auth provider. This flag should be set to true when provider is not reachable by Google Cloud Console. + */ + deployCloudConsoleProxy?: boolean | null; + /** + * Enable access token. + */ + enableAccessToken?: boolean | null; + /** + * Output only. Encrypted OIDC Client secret + */ + encryptedClientSecret?: string | null; + /** + * Comma-separated list of key-value pairs. + */ + extraParams?: string | null; + /** + * Prefix to prepend to group name. + */ + groupPrefix?: string | null; + /** + * Claim in OIDC ID token that holds group information. + */ + groupsClaim?: string | null; + /** + * URI for the OIDC provider. This should point to the level below .well-known/openid-configuration. + */ + issuerUri?: string | null; + /** + * Registered redirect uri to redirect users going through OAuth flow using kubectl plugin. + */ + kubectlRedirectUri?: string | null; + /** + * Comma-separated list of identifiers. + */ + scopes?: string | null; + /** + * Claim in OIDC ID token that holds username. + */ + userClaim?: string | null; + /** + * Prefix to prepend to user name. + */ + userPrefix?: string | null; + } + /** + * Configuration for the SAML Auth flow. + */ + export interface Schema$IdentityServiceSamlConfig { + /** + * Optional. The mapping of additional user attributes like nickname, birthday and address etc.. `key` is the name of this additional attribute. `value` is a string presenting as CEL(common expression language, go/cel) used for getting the value from the resources. Take nickname as an example, in this case, `key` is "attribute.nickname" and `value` is "assertion.nickname". + */ + attributeMapping?: {[key: string]: string} | null; + /** + * Optional. Prefix to prepend to group name. + */ + groupPrefix?: string | null; + /** + * Optional. The SAML attribute to read groups from. This value is expected to be a string and will be passed along as-is (with the option of being prefixed by the `group_prefix`). + */ + groupsAttribute?: string | null; + /** + * Required. The list of IdP certificates to validate the SAML response against. + */ + identityProviderCertificates?: string[] | null; + /** + * Required. The entity ID of the SAML IdP. + */ + identityProviderId?: string | null; + /** + * Required. The URI where the SAML IdP exposes the SSO service. + */ + identityProviderSsoUri?: string | null; + /** + * Optional. The SAML attribute to read username from. If unspecified, the username will be read from the NameID element of the assertion in SAML response. This value is expected to be a string and will be passed along as-is (with the option of being prefixed by the `user_prefix`). + */ + userAttribute?: string | null; + /** + * Optional. Prefix to prepend to user name. + */ + userPrefix?: string | null; + } + /** + * Server settings for the external LDAP server. + */ + export interface Schema$IdentityServiceServerConfig { + /** + * Optional. Contains a Base64 encoded, PEM formatted certificate authority certificate for the LDAP server. This must be provided for the "ldaps" and "startTLS" connections. + */ + certificateAuthorityData?: string | null; + /** + * Optional. Defines the connection type to communicate with the LDAP server. If `starttls` or `ldaps` is specified, the certificate_authority_data should not be empty. + */ + connectionType?: string | null; + /** + * Required. Defines the hostname or IP of the LDAP server. Port is optional and will default to 389, if unspecified. For example, "ldap.server.example" or "10.10.10.10:389". + */ + host?: string | null; + } + /** + * Contains the credentials of the service account which is authorized to perform the LDAP search in the directory. The credentials can be supplied by the combination of the DN and password or the client certificate. + */ + export interface Schema$IdentityServiceServiceAccountConfig { + /** + * Credentials for basic auth. + */ + simpleBindCredentials?: Schema$IdentityServiceSimpleBindCredentials; + } + /** + * The structure holds the LDAP simple binding credential. + */ + export interface Schema$IdentityServiceSimpleBindCredentials { + /** + * Required. The distinguished name(DN) of the service account object/user. + */ + dn?: string | null; + /** + * Output only. The encrypted password of the service account object/user. + */ + encryptedPassword?: string | null; + /** + * Required. Input only. The password of the service account object/user. + */ + password?: string | null; + } + /** + * **IdentityService**: Configuration for a single membership. + */ + export interface Schema$IdentityServiceSpec { + /** + * A member may support multiple auth methods. + */ + authMethods?: Schema$IdentityServiceAuthMethod[]; + /** + * Optional. non-protocol-related configuration options. + */ + identityServiceOptions?: Schema$IdentityServiceIdentityServiceOptions; + } + /** + * **IdentityService**: State for a single membership, analyzed and reported by feature controller. + */ + export interface Schema$IdentityServiceState { + /** + * The reason of the failure. + */ + failureReason?: string | null; + /** + * Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK. + */ + installedVersion?: string | null; + /** + * Last reconciled membership configuration + */ + memberConfig?: Schema$IdentityServiceSpec; + /** + * Deployment state on this member + */ + state?: string | null; + } + /** + * Defines where users exist in the LDAP directory. + */ + export interface Schema$IdentityServiceUserConfig { + /** + * Required. The location of the subtree in the LDAP directory to search for user entries. + */ + baseDn?: string | null; + /** + * Optional. Filter to apply when searching for the user. This can be used to further restrict the user accounts which are allowed to login. This defaults to "(objectClass=User)". + */ + filter?: string | null; + /** + * Optional. Determines which attribute to use as the user's identity after they are authenticated. This is distinct from the loginAttribute field to allow users to login with a username, but then have their actual identifier be an email address or full Distinguished Name (DN). For example, setting loginAttribute to "sAMAccountName" and identifierAttribute to "userPrincipalName" would allow a user to login as "bsmith", but actual RBAC policies for the user would be written as "bsmith@example.com". Using "userPrincipalName" is recommended since this will be unique for each user. This defaults to "userPrincipalName". + */ + idAttribute?: string | null; + /** + * Optional. The name of the attribute which matches against the input username. This is used to find the user in the LDAP database e.g. "(=)" and is combined with the optional filter field. This defaults to "userPrincipalName". + */ + loginAttribute?: string | null; + } + /** + * LifecycleState describes the state of a MembershipFeature *resource* in the GkeHub API. See `FeatureState` for the "running state" of the MembershipFeature. + */ + export interface Schema$LifecycleState { + /** + * Output only. The current state of the Feature resource in the Hub API. + */ + state?: string | null; + } + /** + * The response message for Locations.ListLocations. + */ + export interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string | null; + } + /** + * Response message for the `GkeHubFeature.ListMembershipFeatures` method. + */ + export interface Schema$ListMembershipFeaturesResponse { + /** + * The list of matching MembershipFeatures. + */ + membershipFeatures?: Schema$MembershipFeature[]; + /** + * A token to request the next page of resources from the `ListMembershipFeatures` method. The value of an empty string means that there are no more resources to return. + */ + nextPageToken?: string | null; + /** + * List of locations that could not be reached while fetching this list. + */ + unreachable?: string[] | null; + } + /** + * The response message for Operations.ListOperations. + */ + export interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string | null; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * A resource that represents a Google Cloud location. + */ + export interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For example, "Tokyo". + */ + displayName?: string | null; + /** + * Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"\} + */ + labels?: {[key: string]: string} | null; + /** + * The canonical id for this location. For example: `"us-east1"`. + */ + locationId?: string | null; + /** + * Service-specific metadata. For example the available capacity at the given location. + */ + metadata?: {[key: string]: any} | null; + /** + * Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` + */ + name?: string | null; + } + /** + * MembershipFeature represents the settings and status of a Fleet Feature enabled on a single Fleet Membership. + */ + export interface Schema$MembershipFeature { + /** + * Output only. When the MembershipFeature resource was created. + */ + createTime?: string | null; + /** + * Output only. When the MembershipFeature resource was deleted. + */ + deleteTime?: string | null; + /** + * GCP labels for this MembershipFeature. + */ + labels?: {[key: string]: string} | null; + /** + * Output only. Lifecycle information of the resource itself. + */ + lifecycleState?: Schema$LifecycleState; + /** + * Output only. The resource name of the membershipFeature, in the format: `projects/{project\}/locations/{location\}/memberships/{membership\}/features/{feature\}`. Note that `membershipFeatures` is shortened to `features` in the resource name. (see http://go/aip/122#collection-identifiers) + */ + name?: string | null; + /** + * Optional. Spec of this membershipFeature. + */ + spec?: Schema$FeatureSpec; + /** + * Output only. State of the this membershipFeature. + */ + state?: Schema$FeatureState; + /** + * Output only. When the MembershipFeature resource was last updated. + */ + updateTime?: string | null; + } + /** + * **Metering**: State for a single membership, analyzed and reported by feature controller. + */ + export interface Schema$MeteringState { + /** + * The time stamp of the most recent measurement of the number of vCPUs in the cluster. + */ + lastMeasurementTime?: string | null; + /** + * The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision). + */ + preciseLastMeasuredClusterVcpuCapacity?: number | null; + } + /** + * This resource represents a long-running operation that is the result of a network API call. + */ + export interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. + */ + done?: boolean | null; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$GoogleRpcStatus; + /** + * Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. + */ + metadata?: {[key: string]: any} | null; + /** + * The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id\}`. + */ + name?: string | null; + /** + * The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: {[key: string]: any} | null; + } + /** + * Metadata of the long-running operation. + */ + export interface Schema$OperationMetadata { + /** + * Output only. API version used to start the operation. + */ + apiVersion?: string | null; + /** + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + */ + cancelRequested?: boolean | null; + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusDetail?: string | null; + /** + * Output only. Server-defined resource path for the target of the operation. + */ + target?: string | null; + /** + * Output only. Name of the verb executed by the operation. + */ + verb?: string | null; + } + /** + * Origin defines where this FeatureSpec originated from. + */ + export interface Schema$Origin { + /** + * Type specifies which type of origin is set. + */ + type?: string | null; + } + /** + * BundleInstallSpec is the specification configuration for a single managed bundle. + */ + export interface Schema$PolicyControllerBundleInstallSpec { + /** + * the set of namespaces to be exempted from the bundle + */ + exemptedNamespaces?: string[] | null; + } + /** + * Configuration for Policy Controller + */ + export interface Schema$PolicyControllerHubConfig { + /** + * Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. + */ + auditIntervalSeconds?: string | null; + /** + * The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used. + */ + constraintViolationLimit?: string | null; + /** + * Map of deployment configs to deployments (“admission”, “audit”, “mutation”). + */ + deploymentConfigs?: { + [key: string]: Schema$PolicyControllerPolicyControllerDeploymentConfig; + } | null; + /** + * The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. + */ + exemptableNamespaces?: string[] | null; + /** + * The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. + */ + installSpec?: string | null; + /** + * Logs all denies and dry run failures. + */ + logDeniesEnabled?: boolean | null; + /** + * Monitoring specifies the configuration of monitoring. + */ + monitoring?: Schema$PolicyControllerMonitoringConfig; + /** + * Enables the ability to mutate resources using Policy Controller. + */ + mutationEnabled?: boolean | null; + /** + * Specifies the desired policy content on the cluster + */ + policyContent?: Schema$PolicyControllerPolicyContentSpec; + /** + * Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. + */ + referentialRulesEnabled?: boolean | null; + } + /** + * MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] + */ + export interface Schema$PolicyControllerMonitoringConfig { + /** + * Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. + */ + backends?: string[] | null; + } + /** + * OnClusterState represents the state of a sub-component of Policy Controller. + */ + export interface Schema$PolicyControllerOnClusterState { + /** + * Surface potential errors or information logs. + */ + details?: string | null; + /** + * The lifecycle state of this component. + */ + state?: string | null; + } + /** + * PolicyContentSpec defines the user's desired content configuration on the cluster. + */ + export interface Schema$PolicyControllerPolicyContentSpec { + /** + * map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. + */ + bundles?: {[key: string]: Schema$PolicyControllerBundleInstallSpec} | null; + /** + * Configures the installation of the Template Library. + */ + templateLibrary?: Schema$PolicyControllerTemplateLibraryConfig; + } + /** + * The state of the policy controller policy content + */ + export interface Schema$PolicyControllerPolicyContentState { + /** + * The state of the any bundles included in the chosen version of the manifest + */ + bundleStates?: { + [key: string]: Schema$PolicyControllerOnClusterState; + } | null; + /** + * The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user. + */ + referentialSyncConfigState?: Schema$PolicyControllerOnClusterState; + /** + * The state of the template library + */ + templateLibraryState?: Schema$PolicyControllerOnClusterState; + } + /** + * Deployment-specific configuration. + */ + export interface Schema$PolicyControllerPolicyControllerDeploymentConfig { + /** + * Container resource requirements. + */ + containerResources?: Schema$PolicyControllerResourceRequirements; + /** + * Pod affinity configuration. + */ + podAffinity?: string | null; + /** + * Pod anti-affinity enablement. Deprecated: use `pod_affinity` instead. + */ + podAntiAffinity?: boolean | null; + /** + * Pod tolerations of node taints. + */ + podTolerations?: Schema$PolicyControllerToleration[]; + /** + * Pod replica count. + */ + replicaCount?: string | null; + } + /** + * ResourceList contains container resource requirements. + */ + export interface Schema$PolicyControllerResourceList { + /** + * CPU requirement expressed in Kubernetes resource units. + */ + cpu?: string | null; + /** + * Memory requirement expressed in Kubernetes resource units. + */ + memory?: string | null; + } + /** + * ResourceRequirements describes the compute resource requirements. + */ + export interface Schema$PolicyControllerResourceRequirements { + /** + * Limits describes the maximum amount of compute resources allowed for use by the running container. + */ + limits?: Schema$PolicyControllerResourceList; + /** + * Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + */ + requests?: Schema$PolicyControllerResourceList; + } + /** + * **Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR. + */ + export interface Schema$PolicyControllerSpec { + /** + * Policy Controller configuration for the cluster. + */ + policyControllerHubConfig?: Schema$PolicyControllerHubConfig; + /** + * Version of Policy Controller installed. + */ + version?: string | null; + } + /** + * **Policy Controller**: State for a single cluster. + */ + export interface Schema$PolicyControllerState { + /** + * Currently these include (also serving as map keys): 1. "admission" 2. "audit" 3. "mutation" + */ + componentStates?: { + [key: string]: Schema$PolicyControllerOnClusterState; + } | null; + /** + * The overall content state observed by the Hub Feature controller. + */ + policyContentState?: Schema$PolicyControllerPolicyContentState; + /** + * The overall Policy Controller lifecycle state observed by the Hub Feature controller. + */ + state?: string | null; + } + /** + * The config specifying which default library templates to install. + */ + export interface Schema$PolicyControllerTemplateLibraryConfig { + /** + * Configures the manner in which the template library is installed on the cluster. + */ + installation?: string | null; + } + /** + * Toleration of a node taint. + */ + export interface Schema$PolicyControllerToleration { + /** + * Matches a taint effect. + */ + effect?: string | null; + /** + * Matches a taint key (not necessarily unique). + */ + key?: string | null; + /** + * Matches a taint operator. + */ + operator?: string | null; + /** + * Matches a taint value. + */ + value?: string | null; + } + /** + * AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about the state of their Service Mesh configuration. + */ + export interface Schema$ServiceMeshAnalysisMessage { + /** + * A UI can combine these args with a template (based on message_base.type) to produce an internationalized message. + */ + args?: {[key: string]: any} | null; + /** + * A human readable description of what the error means. It is suitable for non-internationalize display purposes. + */ + description?: string | null; + /** + * Details common to all types of Istio and ServiceMesh analysis messages. + */ + messageBase?: Schema$ServiceMeshAnalysisMessageBase; + /** + * A list of strings specifying the resource identifiers that were the cause of message generation. A "path" here may be: * MEMBERSHIP_ID if the cause is a specific member cluster * MEMBERSHIP_ID/(NAMESPACE\/)?RESOURCETYPE/NAME if the cause is a resource in a cluster + */ + resourcePaths?: string[] | null; + } + /** + * AnalysisMessageBase describes some common information that is needed for all messages. + */ + export interface Schema$ServiceMeshAnalysisMessageBase { + /** + * A url pointing to the Service Mesh or Istio documentation for this specific error type. + */ + documentationUrl?: string | null; + /** + * Represents how severe a message is. + */ + level?: string | null; + /** + * Represents the specific type of a message. + */ + type?: Schema$ServiceMeshType; + } + /** + * Condition being reported. + */ + export interface Schema$ServiceMeshCondition { + /** + * Unique identifier of the condition which describes the condition recognizable to the user. + */ + code?: string | null; + /** + * A short summary about the issue. + */ + details?: string | null; + /** + * Links contains actionable information. + */ + documentationLink?: string | null; + /** + * Severity level of the condition. + */ + severity?: string | null; + } + /** + * Status of control plane management. + */ + export interface Schema$ServiceMeshControlPlaneManagement { + /** + * Explanation of state. + */ + details?: Schema$ServiceMeshStatusDetails[]; + /** + * Output only. Implementation of managed control plane. + */ + implementation?: string | null; + /** + * LifecycleState of control plane management. + */ + state?: string | null; + } + /** + * Status of data plane management. Only reported per-member. + */ + export interface Schema$ServiceMeshDataPlaneManagement { + /** + * Explanation of the status. + */ + details?: Schema$ServiceMeshStatusDetails[]; + /** + * Lifecycle status of data plane management. + */ + state?: string | null; + } + /** + * **Service Mesh**: Spec for a single Membership for the servicemesh feature + */ + export interface Schema$ServiceMeshSpec { + /** + * Optional. Specifies the API that will be used for configuring the mesh workloads. + */ + configApi?: string | null; + /** + * Deprecated: use `management` instead Enables automatic control plane management. + */ + controlPlane?: string | null; + /** + * Determines which release channel to use for default injection and service mesh APIs. + */ + defaultChannel?: string | null; + /** + * Optional. Enables automatic Service Mesh management. + */ + management?: string | null; + } + /** + * **Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller. + */ + export interface Schema$ServiceMeshState { + /** + * Output only. Results of running Service Mesh analyzers. + */ + analysisMessages?: Schema$ServiceMeshAnalysisMessage[]; + /** + * Output only. List of conditions reported for this membership. + */ + conditions?: Schema$ServiceMeshCondition[]; + /** + * The API version (i.e. Istio CRD version) for configuring service mesh in this cluster. This version is influenced by the `default_channel` field. + */ + configApiVersion?: string | null; + /** + * Output only. Status of control plane management + */ + controlPlaneManagement?: Schema$ServiceMeshControlPlaneManagement; + /** + * Output only. Status of data plane management. + */ + dataPlaneManagement?: Schema$ServiceMeshDataPlaneManagement; + } + /** + * Structured and human-readable details for a status. + */ + export interface Schema$ServiceMeshStatusDetails { + /** + * A machine-readable code that further describes a broad status. + */ + code?: string | null; + /** + * Human-readable explanation of code. + */ + details?: string | null; + } + /** + * A unique identifier for the type of message. Display_name is intended to be human-readable, code is intended to be machine readable. There should be a one-to-one mapping between display_name and code. (i.e. do not re-use display_names or codes between message types.) See istio.analysis.v1alpha1.AnalysisMessageBase.Type + */ + export interface Schema$ServiceMeshType { + /** + * A 7 character code matching `^IST[0-9]{4\}$` or `^ASM[0-9]{4\}$`, intended to uniquely identify the message type. (e.g. "IST0001" is mapped to the "InternalError" message type.) + */ + code?: string | null; + /** + * A human-readable name for the message type. e.g. "InternalError", "PodMissingProxy". This should be the same for all messages of the same type. (This corresponds to the `name` field in open-source Istio.) + */ + displayName?: string | null; + } + /** + * High-level state of a MembershipFeature. + */ + export interface Schema$State { + /** + * The high-level, machine-readable status of this MembershipFeature. + */ + code?: string | null; + /** + * A human-readable description of the current status. + */ + description?: string | null; + /** + * The time this status and any related Feature-specific details were updated. + */ + updateTime?: string | null; + } + /** + * **WorkloadCertificate**: The membership-specific input for WorkloadCertificate feature. + */ + export interface Schema$WorkloadCertificateSpec { + /** + * CertificateManagement specifies workload certificate management. + */ + certificateManagement?: string | null; + } + + export class Resource$Projects { + context: APIRequestContext; + locations: Resource$Projects$Locations; + constructor(context: APIRequestContext) { + this.context = context; + this.locations = new Resource$Projects$Locations(this.context); + } + } + + export class Resource$Projects$Locations { + context: APIRequestContext; + memberships: Resource$Projects$Locations$Memberships; + operations: Resource$Projects$Locations$Operations; + constructor(context: APIRequestContext) { + this.context = context; + this.memberships = new Resource$Projects$Locations$Memberships( + this.context + ); + this.operations = new Resource$Projects$Locations$Operations( + this.context + ); + } + + /** + * Gets information about a location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://gkehub.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists information about the supported locations for this service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://gkehub.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2/{+name}/locations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Get + extends StandardParameters { + /** + * Resource name for the location. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$List + extends StandardParameters { + /** + * A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160). + */ + filter?: string; + /** + * The resource that owns the locations collection, if applicable. + */ + name?: string; + /** + * The maximum number of results to return. If not set, the service selects a default. + */ + pageSize?: number; + /** + * A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page. + */ + pageToken?: string; + } + + export class Resource$Projects$Locations$Memberships { + context: APIRequestContext; + features: Resource$Projects$Locations$Memberships$Features; + constructor(context: APIRequestContext) { + this.context = context; + this.features = new Resource$Projects$Locations$Memberships$Features( + this.context + ); + } + } + + export class Resource$Projects$Locations$Memberships$Features { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates membershipFeature under a given parent. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Memberships$Features$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Memberships$Features$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Memberships$Features$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Memberships$Features$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Memberships$Features$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Memberships$Features$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Memberships$Features$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Memberships$Features$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://gkehub.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2/{+parent}/features').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** - * The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + * Removes a membershipFeature. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - response?: {[key: string]: any} | null; - } + delete( + params: Params$Resource$Projects$Locations$Memberships$Features$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Memberships$Features$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Memberships$Features$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Memberships$Features$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Memberships$Features$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Memberships$Features$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Memberships$Features$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; - export class Resource$Projects { - context: APIRequestContext; - locations: Resource$Projects$Locations; - constructor(context: APIRequestContext) { - this.context = context; - this.locations = new Resource$Projects$Locations(this.context); - } - } + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Memberships$Features$Delete; + options = {}; + } - export class Resource$Projects$Locations { - context: APIRequestContext; - operations: Resource$Projects$Locations$Operations; - constructor(context: APIRequestContext) { - this.context = context; - this.operations = new Resource$Projects$Locations$Operations( - this.context - ); + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://gkehub.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } } /** - * Gets information about a location. + * ========= MembershipFeature Services ========= Gets details of a membershipFeature. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -254,49 +2297,53 @@ export namespace gkehub_v2 { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Projects$Locations$Get, + params: Params$Resource$Projects$Locations$Memberships$Features$Get, options: StreamMethodOptions ): GaxiosPromise; get( - params?: Params$Resource$Projects$Locations$Get, + params?: Params$Resource$Projects$Locations$Memberships$Features$Get, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; get( - params: Params$Resource$Projects$Locations$Get, + params: Params$Resource$Projects$Locations$Memberships$Features$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Memberships$Features$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Get, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Memberships$Features$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Memberships$Features$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Get; + {}) as Params$Resource$Projects$Locations$Memberships$Features$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Get; + params = + {} as Params$Resource$Projects$Locations$Memberships$Features$Get; options = {}; } @@ -321,17 +2368,17 @@ export namespace gkehub_v2 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists information about the supported locations for this service. + * Lists MembershipFeatures in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -339,54 +2386,57 @@ export namespace gkehub_v2 { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Projects$Locations$List, + params: Params$Resource$Projects$Locations$Memberships$Features$List, options: StreamMethodOptions ): GaxiosPromise; list( - params?: Params$Resource$Projects$Locations$List, + params?: Params$Resource$Projects$Locations$Memberships$Features$List, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; list( - params: Params$Resource$Projects$Locations$List, + params: Params$Resource$Projects$Locations$Memberships$Features$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$List, + params: Params$Resource$Projects$Locations$Memberships$Features$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$List, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Memberships$Features$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Projects$Locations$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Memberships$Features$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$List; + {}) as Params$Resource$Projects$Locations$Memberships$Features$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$List; + params = + {} as Params$Resource$Projects$Locations$Memberships$Features$List; options = {}; } @@ -399,7 +2449,7 @@ export namespace gkehub_v2 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v2/{+name}/locations').replace( + url: (rootUrl + '/v2/{+parent}/features').replace( /([^:]\/)\/+/g, '$1' ), @@ -409,46 +2459,193 @@ export namespace gkehub_v2 { options ), params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates an existing MembershipFeature. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Memberships$Features$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Memberships$Features$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Memberships$Features$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Memberships$Features$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Memberships$Features$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Memberships$Features$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Memberships$Features$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Memberships$Features$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://gkehub.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, requiredParams: ['name'], pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } } - export interface Params$Resource$Projects$Locations$Get + export interface Params$Resource$Projects$Locations$Memberships$Features$Create extends StandardParameters { /** - * Resource name for the location. + * Required. The ID of the membership_feature to create. + */ + featureId?: string; + /** + * Required. The name of parent where the MembershipFeature will be created. Specified in the format `projects/x/locations/x/memberships/x`. + */ + parent?: string; + /** + * Idempotent request UUID. + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$MembershipFeature; + } + export interface Params$Resource$Projects$Locations$Memberships$Features$Delete + extends StandardParameters { + /** + * Required. The name of the membershipFeature to be deleted. Specified in the format `projects/x/locations/x/memberships/x/features/x`. */ name?: string; + /** + * Idempotent request UUID. + */ + requestId?: string; } - export interface Params$Resource$Projects$Locations$List + export interface Params$Resource$Projects$Locations$Memberships$Features$Get extends StandardParameters { /** - * A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160). + * Required. The MembershipFeature resource name in the format `projects/x/locations/x/memberships/x/features/x`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Memberships$Features$List + extends StandardParameters { + /** + * Lists MembershipFeatures that match the filter expression, following the syntax outlined in https://google.aip.dev/160. Examples: - Feature with the name "helloworld" in project "foo-proj" and membership "member-bar": name = "projects/foo-proj/locations/global/memberships/member-bar/features/helloworld" - Features that have a label called `foo`: labels.foo:* - Features that have a label called `foo` whose value is `bar`: labels.foo = bar */ filter?: string; /** - * The resource that owns the locations collection, if applicable. + * One or more fields to compare and use to sort the output. See https://google.aip.dev/132#ordering. */ - name?: string; + orderBy?: string; /** - * The maximum number of results to return. If not set, the service selects a default. + * When requesting a 'page' of resources, `page_size` specifies number of resources to return. If unspecified or set to 0, all resources will be returned. */ pageSize?: number; /** - * A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page. + * Token returned by previous call to `ListFeatures` which specifies the position in the list from where to continue listing the resources. */ pageToken?: string; + /** + * Required. The parent where the MembershipFeature will be listed. In the format: `projects/x/locations/x/memberships/x`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Memberships$Features$Patch + extends StandardParameters { + /** + * Optional. If set to true, and the MembershipFeature is not found, a new MembershipFeature will be created. In this situation, `update_mask` is ignored. + */ + allowMissing?: boolean; + /** + * Output only. The resource name of the membershipFeature, in the format: `projects/{project\}/locations/{location\}/memberships/{membership\}/features/{feature\}`. Note that `membershipFeatures` is shortened to `features` in the resource name. (see http://go/aip/122#collection-identifiers) + */ + name?: string; + /** + * Idempotent request UUID. + */ + requestId?: string; + /** + * Required. Mask of fields to update. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$MembershipFeature; } export class Resource$Projects$Locations$Operations { @@ -458,7 +2655,7 @@ export namespace gkehub_v2 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/gkehub/v2alpha.ts b/src/apis/gkehub/v2alpha.ts index 09bb8808a8..a8aad31783 100644 --- a/src/apis/gkehub/v2alpha.ts +++ b/src/apis/gkehub/v2alpha.ts @@ -124,129 +124,2172 @@ export namespace gkehub_v2alpha { } } + /** + * State for App Dev Exp Feature. + */ + export interface Schema$AppDevExperienceState { + /** + * Status of subcomponent that detects configured Service Mesh resources. + */ + networkingInstallSucceeded?: Schema$AppDevExperienceStatus; + } + /** + * Status specifies state for the subcomponent. + */ + export interface Schema$AppDevExperienceStatus { + /** + * Code specifies AppDevExperienceFeature's subcomponent ready state. + */ + code?: string | null; + /** + * Description is populated if Code is Failed, explaining why it has failed. + */ + description?: string | null; + } /** * The request message for Operations.CancelOperation. */ export interface Schema$CancelOperationRequest {} /** - * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} + * **Cloud Build**: Configurations for each Cloud Build enabled cluster. */ - export interface Schema$Empty {} + export interface Schema$CloudBuildSpec { + /** + * Whether it is allowed to run the privileged builds on the cluster or not. + */ + securityPolicy?: string | null; + /** + * Version of the cloud build software on the cluster. + */ + version?: string | null; + } /** - * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + * GKEUpgrade represents a GKE provided upgrade, e.g., control plane upgrade. */ - export interface Schema$GoogleRpcStatus { + export interface Schema$ClusterUpgradeGKEUpgrade { /** - * The status code, which should be an enum value of google.rpc.Code. + * Name of the upgrade, e.g., "k8s_control_plane". */ - code?: number | null; + name?: string | null; /** - * A list of messages that carry the error details. There is a common set of message types for APIs to use. + * Version of the upgrade, e.g., "1.22.1-gke.100". */ - details?: Array<{[key: string]: any}> | null; + version?: string | null; + } + /** + * IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default. + */ + export interface Schema$ClusterUpgradeIgnoredMembership { /** - * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + * Time when the membership was first set to ignored. */ - message?: string | null; + ignoredTime?: string | null; + /** + * Reason why the membership is ignored. + */ + reason?: string | null; } /** - * The response message for Locations.ListLocations. + * MembershipGKEUpgradeState is a GKEUpgrade and its state per-membership. */ - export interface Schema$ListLocationsResponse { + export interface Schema$ClusterUpgradeMembershipGKEUpgradeState { /** - * A list of locations that matches the specified filter in the request. + * Status of the upgrade. */ - locations?: Schema$Location[]; + status?: Schema$ClusterUpgradeUpgradeStatus; /** - * The standard List next-page token. + * Which upgrade to track the state. */ - nextPageToken?: string | null; + upgrade?: Schema$ClusterUpgradeGKEUpgrade; } /** - * The response message for Operations.ListOperations. + * Per-membership state for this feature. */ - export interface Schema$ListOperationsResponse { + export interface Schema$ClusterUpgradeState { /** - * The standard List next-page token. + * Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. */ - nextPageToken?: string | null; + ignored?: Schema$ClusterUpgradeIgnoredMembership; /** - * A list of operations that matches the specified filter in the request. + * Actual upgrade state against desired. */ - operations?: Schema$Operation[]; + upgrades?: Schema$ClusterUpgradeMembershipGKEUpgradeState[]; } /** - * A resource that represents a Google Cloud location. + * UpgradeStatus provides status information for each upgrade. */ - export interface Schema$Location { + export interface Schema$ClusterUpgradeUpgradeStatus { /** - * The friendly name for this location, typically a nearby city name. For example, "Tokyo". + * Status code of the upgrade. */ - displayName?: string | null; + code?: string | null; /** - * Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"\} + * Reason for this status. */ - labels?: {[key: string]: string} | null; + reason?: string | null; /** - * The canonical id for this location. For example: `"us-east1"`. + * Last timestamp the status was updated. */ - locationId?: string | null; + updateTime?: string | null; + } + /** + * Configuration for Binauthz. + */ + export interface Schema$ConfigManagementBinauthzConfig { /** - * Service-specific metadata. For example the available capacity at the given location. + * Whether binauthz is enabled in this cluster. */ - metadata?: {[key: string]: any} | null; + enabled?: boolean | null; + } + /** + * State for Binauthz. + */ + export interface Schema$ConfigManagementBinauthzState { /** - * Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` + * The version of binauthz that is installed. */ - name?: string | null; + version?: Schema$ConfigManagementBinauthzVersion; + /** + * The state of the binauthz webhook. + */ + webhook?: string | null; } /** - * This resource represents a long-running operation that is the result of a network API call. + * The version of binauthz. */ - export interface Schema$Operation { + export interface Schema$ConfigManagementBinauthzVersion { /** - * If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. + * The version of the binauthz webhook. */ - done?: boolean | null; + webhookVersion?: string | null; + } + /** + * Configuration for Config Sync + */ + export interface Schema$ConfigManagementConfigSync { /** - * The error result of the operation in case of failure or cancellation. + * Optional. Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated. */ - error?: Schema$GoogleRpcStatus; + allowVerticalScale?: boolean | null; /** - * Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. + * Optional. Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field. */ - metadata?: {[key: string]: any} | null; + enabled?: boolean | null; /** - * The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id\}`. + * Optional. Git repo configuration for the cluster. */ - name?: string | null; + git?: Schema$ConfigManagementGitConfig; + /** + * Optional. The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA. Deprecated: If Workload Identity Federation for GKE is enabled, Google Cloud Service Account is no longer needed for exporting Config Sync metrics: https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/monitor-config-sync-cloud-monitoring#custom-monitoring. + */ + metricsGcpServiceAccountEmail?: string | null; + /** + * Optional. OCI repo configuration for the cluster. + */ + oci?: Schema$ConfigManagementOciConfig; + /** + * Optional. Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts. + */ + preventDrift?: boolean | null; + /** + * Optional. Specifies whether the Config Sync Repo is in "hierarchical" or "unstructured" mode. + */ + sourceFormat?: string | null; + /** + * Optional. Set to true to stop syncing configs for a single cluster. Default to false. + */ + stopSyncing?: boolean | null; + } + /** + * The state of ConfigSync's deployment on a cluster. + */ + export interface Schema$ConfigManagementConfigSyncDeploymentState { + /** + * Deployment state of admission-webhook. + */ + admissionWebhook?: string | null; + /** + * Deployment state of the git-sync pod. + */ + gitSync?: string | null; + /** + * Deployment state of the importer pod. + */ + importer?: string | null; + /** + * Deployment state of the monitor pod. + */ + monitor?: string | null; + /** + * Deployment state of otel-collector + */ + otelCollector?: string | null; + /** + * Deployment state of reconciler-manager pod. + */ + reconcilerManager?: string | null; + /** + * Deployment state of resource-group-controller-manager + */ + resourceGroupControllerManager?: string | null; + /** + * Deployment state of root-reconciler. + */ + rootReconciler?: string | null; + /** + * Deployment state of the syncer pod. + */ + syncer?: string | null; + } + /** + * Errors pertaining to the installation of Config Sync + */ + export interface Schema$ConfigManagementConfigSyncError { + /** + * A string representing the user facing error message + */ + errorMessage?: string | null; + } + /** + * State information for ConfigSync. + */ + export interface Schema$ConfigManagementConfigSyncState { + /** + * Output only. Whether syncing resources to the cluster is stopped at the cluster level. + */ + clusterLevelStopSyncingState?: string | null; + /** + * Output only. The number of RootSync and RepoSync CRs in the cluster. + */ + crCount?: number | null; + /** + * Output only. Information about the deployment of ConfigSync, including the version. of the various Pods deployed + */ + deploymentState?: Schema$ConfigManagementConfigSyncDeploymentState; + /** + * Output only. Errors pertaining to the installation of Config Sync. + */ + errors?: Schema$ConfigManagementConfigSyncError[]; + /** + * Output only. The state of the Reposync CRD + */ + reposyncCrd?: string | null; + /** + * Output only. The state of the RootSync CRD + */ + rootsyncCrd?: string | null; + /** + * Output only. The state of CS This field summarizes the other fields in this message. + */ + state?: string | null; + /** + * Output only. The state of ConfigSync's process to sync configs to a cluster. + */ + syncState?: Schema$ConfigManagementSyncState; + /** + * Output only. The version of ConfigSync deployed. + */ + version?: Schema$ConfigManagementConfigSyncVersion; + } + /** + * Specific versioning information pertaining to ConfigSync's Pods. + */ + export interface Schema$ConfigManagementConfigSyncVersion { + /** + * Version of the deployed admission-webhook pod. + */ + admissionWebhook?: string | null; + /** + * Version of the deployed git-sync pod. + */ + gitSync?: string | null; + /** + * Version of the deployed importer pod. + */ + importer?: string | null; + /** + * Version of the deployed monitor pod. + */ + monitor?: string | null; + /** + * Version of the deployed otel-collector pod + */ + otelCollector?: string | null; + /** + * Version of the deployed reconciler-manager pod. + */ + reconcilerManager?: string | null; + /** + * Version of the deployed resource-group-controller-manager pod + */ + resourceGroupControllerManager?: string | null; + /** + * Version of the deployed reconciler container in root-reconciler pod. + */ + rootReconciler?: string | null; + /** + * Version of the deployed syncer pod. + */ + syncer?: string | null; + } + /** + * Model for a config file in the git repo with an associated Sync error. + */ + export interface Schema$ConfigManagementErrorResource { + /** + * Group/version/kind of the resource that is causing an error + */ + resourceGvk?: Schema$ConfigManagementGroupVersionKind; + /** + * Metadata name of the resource that is causing an error + */ + resourceName?: string | null; + /** + * Namespace of the resource that is causing an error + */ + resourceNamespace?: string | null; + /** + * Path in the git repo of the erroneous config + */ + sourcePath?: string | null; + } + /** + * State of Policy Controller installation. + */ + export interface Schema$ConfigManagementGatekeeperDeploymentState { + /** + * Status of gatekeeper-audit deployment. + */ + gatekeeperAudit?: string | null; + /** + * Status of gatekeeper-controller-manager pod. + */ + gatekeeperControllerManagerState?: string | null; + /** + * Status of the pod serving the mutation webhook. + */ + gatekeeperMutation?: string | null; + } + /** + * Git repo configuration for a single cluster. + */ + export interface Schema$ConfigManagementGitConfig { + /** + * Optional. The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. + */ + gcpServiceAccountEmail?: string | null; + /** + * Optional. URL for the HTTPS proxy to be used when communicating with the Git repo. + */ + httpsProxy?: string | null; + /** + * Optional. The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository. + */ + policyDir?: string | null; + /** + * Required. Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required. + */ + secretType?: string | null; + /** + * Optional. The branch of the repository to sync from. Default: master. + */ + syncBranch?: string | null; + /** + * Optional. The URL of the Git repository to use as the source of truth. + */ + syncRepo?: string | null; + /** + * Optional. Git revision (tag or hash) to check out. Default HEAD. + */ + syncRev?: string | null; + /** + * Optional. Period in seconds between consecutive syncs. Default: 15. + */ + syncWaitSecs?: string | null; + } + /** + * A Kubernetes object's GVK. + */ + export interface Schema$ConfigManagementGroupVersionKind { + /** + * Kubernetes Group + */ + group?: string | null; + /** + * Kubernetes Kind + */ + kind?: string | null; + /** + * Kubernetes Version + */ + version?: string | null; + } + /** + * Configuration for Hierarchy Controller. + */ + export interface Schema$ConfigManagementHierarchyControllerConfig { + /** + * Whether Hierarchy Controller is enabled in this cluster. + */ + enabled?: boolean | null; + /** + * Whether hierarchical resource quota is enabled in this cluster. + */ + enableHierarchicalResourceQuota?: boolean | null; + /** + * Whether pod tree labels are enabled in this cluster. + */ + enablePodTreeLabels?: boolean | null; + } + /** + * Deployment state for Hierarchy Controller + */ + export interface Schema$ConfigManagementHierarchyControllerDeploymentState { + /** + * The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1). + */ + extension?: string | null; + /** + * The deployment state for open source HNC (e.g. v0.7.0-hc.0). + */ + hnc?: string | null; + } + /** + * State for Hierarchy Controller. + */ + export interface Schema$ConfigManagementHierarchyControllerState { + /** + * The deployment state for Hierarchy Controller. + */ + state?: Schema$ConfigManagementHierarchyControllerDeploymentState; + /** + * The version for Hierarchy Controller. + */ + version?: Schema$ConfigManagementHierarchyControllerVersion; + } + /** + * Version for Hierarchy Controller. + */ + export interface Schema$ConfigManagementHierarchyControllerVersion { + /** + * Version for Hierarchy Controller extension. + */ + extension?: string | null; + /** + * Version for open source HNC. + */ + hnc?: string | null; + } + /** + * Errors pertaining to the installation of ACM. + */ + export interface Schema$ConfigManagementInstallError { + /** + * A string representing the user facing error message. + */ + errorMessage?: string | null; + } + /** + * OCI repo configuration for a single cluster. + */ + export interface Schema$ConfigManagementOciConfig { + /** + * Optional. The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. + */ + gcpServiceAccountEmail?: string | null; + /** + * Optional. The absolute path of the directory that contains the local resources. Default: the root directory of the image. + */ + policyDir?: string | null; + /** + * Optional. Type of secret configured for access to the Git repo. + */ + secretType?: string | null; + /** + * Optional. The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`. + */ + syncRepo?: string | null; + /** + * Optional. Period in seconds between consecutive syncs. Default: 15. + */ + syncWaitSecs?: string | null; + } + /** + * State information for an ACM's Operator. + */ + export interface Schema$ConfigManagementOperatorState { + /** + * The state of the Operator's deployment. + */ + deploymentState?: string | null; + /** + * Install errors. + */ + errors?: Schema$ConfigManagementInstallError[]; + /** + * The semenatic version number of the operator. + */ + version?: string | null; + } + /** + * Configuration for Policy Controller + */ + export interface Schema$ConfigManagementPolicyController { + /** + * Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. + */ + auditIntervalSeconds?: string | null; + /** + * Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect. + */ + enabled?: boolean | null; + /** + * The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. + */ + exemptableNamespaces?: string[] | null; + /** + * Logs all denies and dry run failures. + */ + logDeniesEnabled?: boolean | null; + /** + * Monitoring specifies the configuration of monitoring. + */ + monitoring?: Schema$ConfigManagementPolicyControllerMonitoring; + /** + * Enable or disable mutation in policy controller. If true, mutation CRDs, webhook and controller deployment will be deployed to the cluster. + */ + mutationEnabled?: boolean | null; + /** + * Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. + */ + referentialRulesEnabled?: boolean | null; + /** + * Installs the default template library along with Policy Controller. + */ + templateLibraryInstalled?: boolean | null; + /** + * Output only. Last time this membership spec was updated. + */ + updateTime?: string | null; + } + /** + * State for the migration of PolicyController from ACM -\> PoCo Hub. + */ + export interface Schema$ConfigManagementPolicyControllerMigration { + /** + * Last time this membership spec was copied to PoCo feature. + */ + copyTime?: string | null; + /** + * Stage of the migration. + */ + stage?: string | null; + } + /** + * PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] + */ + export interface Schema$ConfigManagementPolicyControllerMonitoring { + /** + * Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. + */ + backends?: string[] | null; + } + /** + * State for PolicyControllerState. + */ + export interface Schema$ConfigManagementPolicyControllerState { + /** + * The state about the policy controller installation. + */ + deploymentState?: Schema$ConfigManagementGatekeeperDeploymentState; + /** + * Record state of ACM -\> PoCo Hub migration for this feature. + */ + migration?: Schema$ConfigManagementPolicyControllerMigration; + /** + * The version of Gatekeeper Policy Controller deployed. + */ + version?: Schema$ConfigManagementPolicyControllerVersion; + } + /** + * The build version of Gatekeeper Policy Controller is using. + */ + export interface Schema$ConfigManagementPolicyControllerVersion { + /** + * The gatekeeper image tag that is composed of ACM version, git tag, build number. + */ + version?: string | null; + } + /** + * **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. + */ + export interface Schema$ConfigManagementSpec { + /** + * Optional. Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set. + */ + binauthz?: Schema$ConfigManagementBinauthzConfig; + /** + * Optional. The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. + */ + cluster?: string | null; + /** + * Optional. Config Sync configuration for the cluster. + */ + configSync?: Schema$ConfigManagementConfigSync; + /** + * Optional. 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?: Schema$ConfigManagementHierarchyControllerConfig; + /** + * Optional. Enables automatic Feature management. + */ + management?: string | null; + /** + * Optional. Policy Controller configuration for the cluster. Deprecated: Configuring Policy Controller through the configmanagement feature is no longer recommended. Use the policycontroller feature instead. + */ + policyController?: Schema$ConfigManagementPolicyController; + /** + * Optional. Version of ACM installed. + */ + version?: string | null; + } + /** + * **Anthos Config Management**: State for a single cluster. + */ + export interface Schema$ConfigManagementState { + /** + * Output only. Binauthz status. + */ + binauthzState?: Schema$ConfigManagementBinauthzState; + /** + * Output only. This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name. + */ + clusterName?: string | null; + /** + * Output only. Current sync status. + */ + configSyncState?: Schema$ConfigManagementConfigSyncState; + /** + * Output only. Hierarchy Controller status. + */ + hierarchyControllerState?: Schema$ConfigManagementHierarchyControllerState; + /** + * Output only. Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state. + */ + membershipSpec?: Schema$ConfigManagementSpec; + /** + * Output only. Current install status of ACM's Operator. + */ + operatorState?: Schema$ConfigManagementOperatorState; + /** + * Output only. PolicyController status. + */ + policyControllerState?: Schema$ConfigManagementPolicyControllerState; + } + /** + * An ACM created error representing a problem syncing configurations. + */ + export interface Schema$ConfigManagementSyncError { + /** + * An ACM defined error code + */ + code?: string | null; + /** + * A description of the error + */ + errorMessage?: string | null; + /** + * A list of config(s) associated with the error, if any + */ + errorResources?: Schema$ConfigManagementErrorResource[]; + } + /** + * State indicating an ACM's progress syncing configurations to a cluster. + */ + export interface Schema$ConfigManagementSyncState { + /** + * Sync status code. + */ + code?: string | null; + /** + * A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist. + */ + errors?: Schema$ConfigManagementSyncError[]; + /** + * Token indicating the state of the importer. + */ + importToken?: string | null; + /** + * Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo. The time format is specified in https://golang.org/pkg/time/#Time.String + */ + lastSync?: string | null; + /** + * Timestamp type of when ACM last successfully synced the repo. + */ + lastSyncTime?: string | null; + /** + * Token indicating the state of the repo. + */ + sourceToken?: string | null; + /** + * Token indicating the state of the syncer. + */ + syncToken?: string | null; + } + /** + * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} + */ + export interface Schema$Empty {} + /** + * FeatureSpec contains user input per-feature spec information. + */ + export interface Schema$FeatureSpec { + /** + * Cloudbuild-specific FeatureSpec. + */ + cloudbuild?: Schema$CloudBuildSpec; + /** + * Config Management FeatureSpec. + */ + configmanagement?: Schema$ConfigManagementSpec; + /** + * IdentityService FeatureSpec. + */ + identityservice?: Schema$IdentityServiceSpec; + /** + * Whether this per-Feature spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Feature config (updated to USER implicitly) or setting to FLEET explicitly. + */ + origin?: Schema$Origin; + /** + * Policycontroller-specific FeatureSpec. + */ + policycontroller?: Schema$PolicyControllerSpec; + /** + * ServiceMesh Feature Spec. + */ + servicemesh?: Schema$ServiceMeshSpec; + /** + * Workloadcertificate-specific FeatureSpec. + */ + workloadcertificate?: Schema$WorkloadCertificateSpec; + } + /** + * FeatureState contains high-level state information and per-feature state information for this MembershipFeature. + */ + export interface Schema$FeatureState { + /** + * Appdevexperience specific state. + */ + appdevexperience?: Schema$AppDevExperienceState; + /** + * Cluster upgrade state. + */ + clusterupgrade?: Schema$ClusterUpgradeState; + /** + * Config Management state + */ + configmanagement?: Schema$ConfigManagementState; + /** + * Identity service state + */ + identityservice?: Schema$IdentityServiceState; + /** + * Metering state + */ + metering?: Schema$MeteringState; + /** + * Policy Controller state + */ + policycontroller?: Schema$PolicyControllerState; + /** + * Service mesh state + */ + servicemesh?: Schema$ServiceMeshState; + /** + * The high-level state of this MembershipFeature. + */ + state?: Schema$State; + } + /** + * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + */ + export interface Schema$GoogleRpcStatus { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number | null; + /** + * A list of messages that carry the error details. There is a common set of message types for APIs to use. + */ + details?: Array<{[key: string]: any}> | null; + /** + * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + */ + message?: string | null; + } + /** + * Configuration of an auth method for a member/cluster. Only one authentication method (e.g., OIDC and LDAP) can be set per AuthMethod. + */ + export interface Schema$IdentityServiceAuthMethod { + /** + * AzureAD specific Configuration. + */ + azureadConfig?: Schema$IdentityServiceAzureADConfig; + /** + * GoogleConfig specific configuration + */ + googleConfig?: Schema$IdentityServiceGoogleConfig; + /** + * LDAP specific configuration. + */ + ldapConfig?: Schema$IdentityServiceLdapConfig; + /** + * Identifier for auth config. + */ + name?: string | null; + /** + * OIDC specific configuration. + */ + oidcConfig?: Schema$IdentityServiceOidcConfig; + /** + * Proxy server address to use for auth method. + */ + proxy?: string | null; + /** + * SAML specific configuration. + */ + samlConfig?: Schema$IdentityServiceSamlConfig; + } + /** + * Configuration for the AzureAD Auth flow. + */ + export interface Schema$IdentityServiceAzureADConfig { + /** + * ID for the registered client application that makes authentication requests to the Azure AD identity provider. + */ + clientId?: string | null; + /** + * Input only. Unencrypted AzureAD client secret will be passed to the GKE Hub CLH. + */ + clientSecret?: string | null; + /** + * Output only. Encrypted AzureAD client secret. + */ + encryptedClientSecret?: string | null; + /** + * Optional. Format of the AzureAD groups that the client wants for auth. + */ + groupFormat?: string | null; + /** + * The redirect URL that kubectl uses for authorization. + */ + kubectlRedirectUri?: string | null; + /** + * Kind of Azure AD account to be authenticated. Supported values are or for accounts belonging to a specific tenant. + */ + tenant?: string | null; + /** + * Optional. Claim in the AzureAD ID Token that holds the user details. + */ + userClaim?: string | null; + } + /** + * Configuration options for the AIS diagnostic interface. + */ + export interface Schema$IdentityServiceDiagnosticInterface { + /** + * Determines whether to enable the diagnostic interface. + */ + enabled?: boolean | null; + /** + * Determines the expiration time of the diagnostic interface enablement. When reached, requests to the interface would be automatically rejected. + */ + expirationTime?: string | null; + } + /** + * Configuration for the Google Plugin Auth flow. + */ + export interface Schema$IdentityServiceGoogleConfig { + /** + * Disable automatic configuration of Google Plugin on supported platforms. + */ + disable?: boolean | null; + } + /** + * Contains the properties for locating and authenticating groups in the directory. + */ + export interface Schema$IdentityServiceGroupConfig { + /** + * Required. The location of the subtree in the LDAP directory to search for group entries. + */ + baseDn?: string | null; + /** + * Optional. Optional filter to be used when searching for groups a user belongs to. This can be used to explicitly match only certain groups in order to reduce the amount of groups returned for each user. This defaults to "(objectClass=Group)". + */ + filter?: string | null; + /** + * Optional. The identifying name of each group a user belongs to. For example, if this is set to "distinguishedName" then RBACs and other group expectations should be written as full DNs. This defaults to "distinguishedName". + */ + idAttribute?: string | null; + } + /** + * Holds non-protocol-related configuration options. + */ + export interface Schema$IdentityServiceIdentityServiceOptions { + /** + * Configuration options for the AIS diagnostic interface. + */ + diagnosticInterface?: Schema$IdentityServiceDiagnosticInterface; + /** + * Determines the lifespan of STS tokens issued by Anthos Identity Service. + */ + sessionDuration?: string | null; + } + /** + * Configuration for the LDAP Auth flow. + */ + export interface Schema$IdentityServiceLdapConfig { + /** + * Optional. Contains the properties for locating and authenticating groups in the directory. + */ + group?: Schema$IdentityServiceGroupConfig; + /** + * Required. Server settings for the external LDAP server. + */ + server?: Schema$IdentityServiceServerConfig; + /** + * Required. Contains the credentials of the service account which is authorized to perform the LDAP search in the directory. The credentials can be supplied by the combination of the DN and password or the client certificate. + */ + serviceAccount?: Schema$IdentityServiceServiceAccountConfig; + /** + * Required. Defines where users exist in the LDAP directory. + */ + user?: Schema$IdentityServiceUserConfig; + } + /** + * Configuration for OIDC Auth flow. + */ + export interface Schema$IdentityServiceOidcConfig { + /** + * PEM-encoded CA for OIDC provider. + */ + certificateAuthorityData?: string | null; + /** + * ID for OIDC client application. + */ + clientId?: string | null; + /** + * Input only. Unencrypted OIDC client secret will be passed to the GKE Hub CLH. + */ + clientSecret?: string | null; + /** + * Flag to denote if reverse proxy is used to connect to auth provider. This flag should be set to true when provider is not reachable by Google Cloud Console. + */ + deployCloudConsoleProxy?: boolean | null; + /** + * Enable access token. + */ + enableAccessToken?: boolean | null; + /** + * Output only. Encrypted OIDC Client secret + */ + encryptedClientSecret?: string | null; + /** + * Comma-separated list of key-value pairs. + */ + extraParams?: string | null; + /** + * Prefix to prepend to group name. + */ + groupPrefix?: string | null; + /** + * Claim in OIDC ID token that holds group information. + */ + groupsClaim?: string | null; + /** + * URI for the OIDC provider. This should point to the level below .well-known/openid-configuration. + */ + issuerUri?: string | null; + /** + * Registered redirect uri to redirect users going through OAuth flow using kubectl plugin. + */ + kubectlRedirectUri?: string | null; + /** + * Comma-separated list of identifiers. + */ + scopes?: string | null; + /** + * Claim in OIDC ID token that holds username. + */ + userClaim?: string | null; + /** + * Prefix to prepend to user name. + */ + userPrefix?: string | null; + } + /** + * Configuration for the SAML Auth flow. + */ + export interface Schema$IdentityServiceSamlConfig { + /** + * Optional. The mapping of additional user attributes like nickname, birthday and address etc.. `key` is the name of this additional attribute. `value` is a string presenting as CEL(common expression language, go/cel) used for getting the value from the resources. Take nickname as an example, in this case, `key` is "attribute.nickname" and `value` is "assertion.nickname". + */ + attributeMapping?: {[key: string]: string} | null; + /** + * Optional. Prefix to prepend to group name. + */ + groupPrefix?: string | null; + /** + * Optional. The SAML attribute to read groups from. This value is expected to be a string and will be passed along as-is (with the option of being prefixed by the `group_prefix`). + */ + groupsAttribute?: string | null; + /** + * Required. The list of IdP certificates to validate the SAML response against. + */ + identityProviderCertificates?: string[] | null; + /** + * Required. The entity ID of the SAML IdP. + */ + identityProviderId?: string | null; + /** + * Required. The URI where the SAML IdP exposes the SSO service. + */ + identityProviderSsoUri?: string | null; + /** + * Optional. The SAML attribute to read username from. If unspecified, the username will be read from the NameID element of the assertion in SAML response. This value is expected to be a string and will be passed along as-is (with the option of being prefixed by the `user_prefix`). + */ + userAttribute?: string | null; + /** + * Optional. Prefix to prepend to user name. + */ + userPrefix?: string | null; + } + /** + * Server settings for the external LDAP server. + */ + export interface Schema$IdentityServiceServerConfig { + /** + * Optional. Contains a Base64 encoded, PEM formatted certificate authority certificate for the LDAP server. This must be provided for the "ldaps" and "startTLS" connections. + */ + certificateAuthorityData?: string | null; + /** + * Optional. Defines the connection type to communicate with the LDAP server. If `starttls` or `ldaps` is specified, the certificate_authority_data should not be empty. + */ + connectionType?: string | null; + /** + * Required. Defines the hostname or IP of the LDAP server. Port is optional and will default to 389, if unspecified. For example, "ldap.server.example" or "10.10.10.10:389". + */ + host?: string | null; + } + /** + * Contains the credentials of the service account which is authorized to perform the LDAP search in the directory. The credentials can be supplied by the combination of the DN and password or the client certificate. + */ + export interface Schema$IdentityServiceServiceAccountConfig { + /** + * Credentials for basic auth. + */ + simpleBindCredentials?: Schema$IdentityServiceSimpleBindCredentials; + } + /** + * The structure holds the LDAP simple binding credential. + */ + export interface Schema$IdentityServiceSimpleBindCredentials { + /** + * Required. The distinguished name(DN) of the service account object/user. + */ + dn?: string | null; + /** + * Output only. The encrypted password of the service account object/user. + */ + encryptedPassword?: string | null; + /** + * Required. Input only. The password of the service account object/user. + */ + password?: string | null; + } + /** + * **IdentityService**: Configuration for a single membership. + */ + export interface Schema$IdentityServiceSpec { + /** + * A member may support multiple auth methods. + */ + authMethods?: Schema$IdentityServiceAuthMethod[]; + /** + * Optional. non-protocol-related configuration options. + */ + identityServiceOptions?: Schema$IdentityServiceIdentityServiceOptions; + } + /** + * **IdentityService**: State for a single membership, analyzed and reported by feature controller. + */ + export interface Schema$IdentityServiceState { + /** + * The reason of the failure. + */ + failureReason?: string | null; + /** + * Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK. + */ + installedVersion?: string | null; + /** + * Last reconciled membership configuration + */ + memberConfig?: Schema$IdentityServiceSpec; + /** + * Deployment state on this member + */ + state?: string | null; + } + /** + * Defines where users exist in the LDAP directory. + */ + export interface Schema$IdentityServiceUserConfig { + /** + * Required. The location of the subtree in the LDAP directory to search for user entries. + */ + baseDn?: string | null; + /** + * Optional. Filter to apply when searching for the user. This can be used to further restrict the user accounts which are allowed to login. This defaults to "(objectClass=User)". + */ + filter?: string | null; + /** + * Optional. Determines which attribute to use as the user's identity after they are authenticated. This is distinct from the loginAttribute field to allow users to login with a username, but then have their actual identifier be an email address or full Distinguished Name (DN). For example, setting loginAttribute to "sAMAccountName" and identifierAttribute to "userPrincipalName" would allow a user to login as "bsmith", but actual RBAC policies for the user would be written as "bsmith@example.com". Using "userPrincipalName" is recommended since this will be unique for each user. This defaults to "userPrincipalName". + */ + idAttribute?: string | null; + /** + * Optional. The name of the attribute which matches against the input username. This is used to find the user in the LDAP database e.g. "(=)" and is combined with the optional filter field. This defaults to "userPrincipalName". + */ + loginAttribute?: string | null; + } + /** + * LifecycleState describes the state of a MembershipFeature *resource* in the GkeHub API. See `FeatureState` for the "running state" of the MembershipFeature. + */ + export interface Schema$LifecycleState { + /** + * Output only. The current state of the Feature resource in the Hub API. + */ + state?: string | null; + } + /** + * The response message for Locations.ListLocations. + */ + export interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string | null; + } + /** + * Response message for the `GkeHubFeature.ListMembershipFeatures` method. + */ + export interface Schema$ListMembershipFeaturesResponse { + /** + * The list of matching MembershipFeatures. + */ + membershipFeatures?: Schema$MembershipFeature[]; + /** + * A token to request the next page of resources from the `ListMembershipFeatures` method. The value of an empty string means that there are no more resources to return. + */ + nextPageToken?: string | null; + /** + * List of locations that could not be reached while fetching this list. + */ + unreachable?: string[] | null; + } + /** + * The response message for Operations.ListOperations. + */ + export interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string | null; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * A resource that represents a Google Cloud location. + */ + export interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For example, "Tokyo". + */ + displayName?: string | null; + /** + * Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"\} + */ + labels?: {[key: string]: string} | null; + /** + * The canonical id for this location. For example: `"us-east1"`. + */ + locationId?: string | null; + /** + * Service-specific metadata. For example the available capacity at the given location. + */ + metadata?: {[key: string]: any} | null; + /** + * Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` + */ + name?: string | null; + } + /** + * MembershipFeature represents the settings and status of a Fleet Feature enabled on a single Fleet Membership. + */ + export interface Schema$MembershipFeature { + /** + * Output only. When the MembershipFeature resource was created. + */ + createTime?: string | null; + /** + * Output only. When the MembershipFeature resource was deleted. + */ + deleteTime?: string | null; + /** + * GCP labels for this MembershipFeature. + */ + labels?: {[key: string]: string} | null; + /** + * Output only. Lifecycle information of the resource itself. + */ + lifecycleState?: Schema$LifecycleState; + /** + * Output only. The resource name of the membershipFeature, in the format: `projects/{project\}/locations/{location\}/memberships/{membership\}/features/{feature\}`. Note that `membershipFeatures` is shortened to `features` in the resource name. (see http://go/aip/122#collection-identifiers) + */ + name?: string | null; + /** + * Optional. Spec of this membershipFeature. + */ + spec?: Schema$FeatureSpec; + /** + * Output only. State of the this membershipFeature. + */ + state?: Schema$FeatureState; + /** + * Output only. When the MembershipFeature resource was last updated. + */ + updateTime?: string | null; + } + /** + * **Metering**: State for a single membership, analyzed and reported by feature controller. + */ + export interface Schema$MeteringState { + /** + * The time stamp of the most recent measurement of the number of vCPUs in the cluster. + */ + lastMeasurementTime?: string | null; + /** + * The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision). + */ + preciseLastMeasuredClusterVcpuCapacity?: number | null; + } + /** + * This resource represents a long-running operation that is the result of a network API call. + */ + export interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. + */ + done?: boolean | null; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$GoogleRpcStatus; + /** + * Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. + */ + metadata?: {[key: string]: any} | null; + /** + * The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id\}`. + */ + name?: string | null; + /** + * The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: {[key: string]: any} | null; + } + /** + * Metadata of the long-running operation. + */ + export interface Schema$OperationMetadata { + /** + * Output only. API version used to start the operation. + */ + apiVersion?: string | null; + /** + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + */ + cancelRequested?: boolean | null; + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusDetail?: string | null; + /** + * Output only. Server-defined resource path for the target of the operation. + */ + target?: string | null; + /** + * Output only. Name of the verb executed by the operation. + */ + verb?: string | null; + } + /** + * Origin defines where this FeatureSpec originated from. + */ + export interface Schema$Origin { + /** + * Type specifies which type of origin is set. + */ + type?: string | null; + } + /** + * BundleInstallSpec is the specification configuration for a single managed bundle. + */ + export interface Schema$PolicyControllerBundleInstallSpec { + /** + * the set of namespaces to be exempted from the bundle + */ + exemptedNamespaces?: string[] | null; + } + /** + * Configuration for Policy Controller + */ + export interface Schema$PolicyControllerHubConfig { + /** + * Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. + */ + auditIntervalSeconds?: string | null; + /** + * The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used. + */ + constraintViolationLimit?: string | null; + /** + * Map of deployment configs to deployments (“admission”, “audit”, “mutation”). + */ + deploymentConfigs?: { + [key: string]: Schema$PolicyControllerPolicyControllerDeploymentConfig; + } | null; + /** + * The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. + */ + exemptableNamespaces?: string[] | null; + /** + * The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. + */ + installSpec?: string | null; + /** + * Logs all denies and dry run failures. + */ + logDeniesEnabled?: boolean | null; + /** + * Monitoring specifies the configuration of monitoring. + */ + monitoring?: Schema$PolicyControllerMonitoringConfig; + /** + * Enables the ability to mutate resources using Policy Controller. + */ + mutationEnabled?: boolean | null; + /** + * Specifies the desired policy content on the cluster + */ + policyContent?: Schema$PolicyControllerPolicyContentSpec; + /** + * Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. + */ + referentialRulesEnabled?: boolean | null; + } + /** + * MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] + */ + export interface Schema$PolicyControllerMonitoringConfig { + /** + * Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. + */ + backends?: string[] | null; + } + /** + * OnClusterState represents the state of a sub-component of Policy Controller. + */ + export interface Schema$PolicyControllerOnClusterState { + /** + * Surface potential errors or information logs. + */ + details?: string | null; + /** + * The lifecycle state of this component. + */ + state?: string | null; + } + /** + * PolicyContentSpec defines the user's desired content configuration on the cluster. + */ + export interface Schema$PolicyControllerPolicyContentSpec { + /** + * map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. + */ + bundles?: {[key: string]: Schema$PolicyControllerBundleInstallSpec} | null; + /** + * Configures the installation of the Template Library. + */ + templateLibrary?: Schema$PolicyControllerTemplateLibraryConfig; + } + /** + * The state of the policy controller policy content + */ + export interface Schema$PolicyControllerPolicyContentState { + /** + * The state of the any bundles included in the chosen version of the manifest + */ + bundleStates?: { + [key: string]: Schema$PolicyControllerOnClusterState; + } | null; + /** + * The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user. + */ + referentialSyncConfigState?: Schema$PolicyControllerOnClusterState; + /** + * The state of the template library + */ + templateLibraryState?: Schema$PolicyControllerOnClusterState; + } + /** + * Deployment-specific configuration. + */ + export interface Schema$PolicyControllerPolicyControllerDeploymentConfig { + /** + * Container resource requirements. + */ + containerResources?: Schema$PolicyControllerResourceRequirements; + /** + * Pod affinity configuration. + */ + podAffinity?: string | null; + /** + * Pod anti-affinity enablement. Deprecated: use `pod_affinity` instead. + */ + podAntiAffinity?: boolean | null; + /** + * Pod tolerations of node taints. + */ + podTolerations?: Schema$PolicyControllerToleration[]; + /** + * Pod replica count. + */ + replicaCount?: string | null; + } + /** + * ResourceList contains container resource requirements. + */ + export interface Schema$PolicyControllerResourceList { + /** + * CPU requirement expressed in Kubernetes resource units. + */ + cpu?: string | null; + /** + * Memory requirement expressed in Kubernetes resource units. + */ + memory?: string | null; + } + /** + * ResourceRequirements describes the compute resource requirements. + */ + export interface Schema$PolicyControllerResourceRequirements { + /** + * Limits describes the maximum amount of compute resources allowed for use by the running container. + */ + limits?: Schema$PolicyControllerResourceList; + /** + * Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + */ + requests?: Schema$PolicyControllerResourceList; + } + /** + * **Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR. + */ + export interface Schema$PolicyControllerSpec { + /** + * Policy Controller configuration for the cluster. + */ + policyControllerHubConfig?: Schema$PolicyControllerHubConfig; + /** + * Version of Policy Controller installed. + */ + version?: string | null; + } + /** + * **Policy Controller**: State for a single cluster. + */ + export interface Schema$PolicyControllerState { + /** + * Currently these include (also serving as map keys): 1. "admission" 2. "audit" 3. "mutation" + */ + componentStates?: { + [key: string]: Schema$PolicyControllerOnClusterState; + } | null; + /** + * The overall content state observed by the Hub Feature controller. + */ + policyContentState?: Schema$PolicyControllerPolicyContentState; + /** + * The overall Policy Controller lifecycle state observed by the Hub Feature controller. + */ + state?: string | null; + } + /** + * The config specifying which default library templates to install. + */ + export interface Schema$PolicyControllerTemplateLibraryConfig { + /** + * Configures the manner in which the template library is installed on the cluster. + */ + installation?: string | null; + } + /** + * Toleration of a node taint. + */ + export interface Schema$PolicyControllerToleration { + /** + * Matches a taint effect. + */ + effect?: string | null; + /** + * Matches a taint key (not necessarily unique). + */ + key?: string | null; + /** + * Matches a taint operator. + */ + operator?: string | null; + /** + * Matches a taint value. + */ + value?: string | null; + } + /** + * AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about the state of their Service Mesh configuration. + */ + export interface Schema$ServiceMeshAnalysisMessage { + /** + * A UI can combine these args with a template (based on message_base.type) to produce an internationalized message. + */ + args?: {[key: string]: any} | null; + /** + * A human readable description of what the error means. It is suitable for non-internationalize display purposes. + */ + description?: string | null; + /** + * Details common to all types of Istio and ServiceMesh analysis messages. + */ + messageBase?: Schema$ServiceMeshAnalysisMessageBase; + /** + * A list of strings specifying the resource identifiers that were the cause of message generation. A "path" here may be: * MEMBERSHIP_ID if the cause is a specific member cluster * MEMBERSHIP_ID/(NAMESPACE\/)?RESOURCETYPE/NAME if the cause is a resource in a cluster + */ + resourcePaths?: string[] | null; + } + /** + * AnalysisMessageBase describes some common information that is needed for all messages. + */ + export interface Schema$ServiceMeshAnalysisMessageBase { + /** + * A url pointing to the Service Mesh or Istio documentation for this specific error type. + */ + documentationUrl?: string | null; + /** + * Represents how severe a message is. + */ + level?: string | null; + /** + * Represents the specific type of a message. + */ + type?: Schema$ServiceMeshType; + } + /** + * Condition being reported. + */ + export interface Schema$ServiceMeshCondition { + /** + * Unique identifier of the condition which describes the condition recognizable to the user. + */ + code?: string | null; + /** + * A short summary about the issue. + */ + details?: string | null; + /** + * Links contains actionable information. + */ + documentationLink?: string | null; + /** + * Severity level of the condition. + */ + severity?: string | null; + } + /** + * Status of control plane management. + */ + export interface Schema$ServiceMeshControlPlaneManagement { + /** + * Explanation of state. + */ + details?: Schema$ServiceMeshStatusDetails[]; + /** + * Output only. Implementation of managed control plane. + */ + implementation?: string | null; + /** + * LifecycleState of control plane management. + */ + state?: string | null; + } + /** + * Status of data plane management. Only reported per-member. + */ + export interface Schema$ServiceMeshDataPlaneManagement { + /** + * Explanation of the status. + */ + details?: Schema$ServiceMeshStatusDetails[]; + /** + * Lifecycle status of data plane management. + */ + state?: string | null; + } + /** + * **Service Mesh**: Spec for a single Membership for the servicemesh feature + */ + export interface Schema$ServiceMeshSpec { + /** + * Optional. Specifies the API that will be used for configuring the mesh workloads. + */ + configApi?: string | null; + /** + * Deprecated: use `management` instead Enables automatic control plane management. + */ + controlPlane?: string | null; + /** + * Determines which release channel to use for default injection and service mesh APIs. + */ + defaultChannel?: string | null; + /** + * Optional. Enables automatic Service Mesh management. + */ + management?: string | null; + } + /** + * **Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller. + */ + export interface Schema$ServiceMeshState { + /** + * Output only. Results of running Service Mesh analyzers. + */ + analysisMessages?: Schema$ServiceMeshAnalysisMessage[]; + /** + * Output only. List of conditions reported for this membership. + */ + conditions?: Schema$ServiceMeshCondition[]; + /** + * The API version (i.e. Istio CRD version) for configuring service mesh in this cluster. This version is influenced by the `default_channel` field. + */ + configApiVersion?: string | null; + /** + * Output only. Status of control plane management + */ + controlPlaneManagement?: Schema$ServiceMeshControlPlaneManagement; + /** + * Output only. Status of data plane management. + */ + dataPlaneManagement?: Schema$ServiceMeshDataPlaneManagement; + } + /** + * Structured and human-readable details for a status. + */ + export interface Schema$ServiceMeshStatusDetails { + /** + * A machine-readable code that further describes a broad status. + */ + code?: string | null; + /** + * Human-readable explanation of code. + */ + details?: string | null; + } + /** + * A unique identifier for the type of message. Display_name is intended to be human-readable, code is intended to be machine readable. There should be a one-to-one mapping between display_name and code. (i.e. do not re-use display_names or codes between message types.) See istio.analysis.v1alpha1.AnalysisMessageBase.Type + */ + export interface Schema$ServiceMeshType { + /** + * A 7 character code matching `^IST[0-9]{4\}$` or `^ASM[0-9]{4\}$`, intended to uniquely identify the message type. (e.g. "IST0001" is mapped to the "InternalError" message type.) + */ + code?: string | null; + /** + * A human-readable name for the message type. e.g. "InternalError", "PodMissingProxy". This should be the same for all messages of the same type. (This corresponds to the `name` field in open-source Istio.) + */ + displayName?: string | null; + } + /** + * High-level state of a MembershipFeature. + */ + export interface Schema$State { + /** + * The high-level, machine-readable status of this MembershipFeature. + */ + code?: string | null; + /** + * A human-readable description of the current status. + */ + description?: string | null; + /** + * The time this status and any related Feature-specific details were updated. + */ + updateTime?: string | null; + } + /** + * **WorkloadCertificate**: The membership-specific input for WorkloadCertificate feature. + */ + export interface Schema$WorkloadCertificateSpec { + /** + * CertificateManagement specifies workload certificate management. + */ + certificateManagement?: string | null; + } + + export class Resource$Projects { + context: APIRequestContext; + locations: Resource$Projects$Locations; + constructor(context: APIRequestContext) { + this.context = context; + this.locations = new Resource$Projects$Locations(this.context); + } + } + + export class Resource$Projects$Locations { + context: APIRequestContext; + memberships: Resource$Projects$Locations$Memberships; + operations: Resource$Projects$Locations$Operations; + constructor(context: APIRequestContext) { + this.context = context; + this.memberships = new Resource$Projects$Locations$Memberships( + this.context + ); + this.operations = new Resource$Projects$Locations$Operations( + this.context + ); + } + + /** + * Gets information about a location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://gkehub.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists information about the supported locations for this service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://gkehub.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2alpha/{+name}/locations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Get + extends StandardParameters { + /** + * Resource name for the location. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$List + extends StandardParameters { + /** + * A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160). + */ + filter?: string; + /** + * The resource that owns the locations collection, if applicable. + */ + name?: string; + /** + * The maximum number of results to return. If not set, the service selects a default. + */ + pageSize?: number; + /** + * A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page. + */ + pageToken?: string; + } + + export class Resource$Projects$Locations$Memberships { + context: APIRequestContext; + features: Resource$Projects$Locations$Memberships$Features; + constructor(context: APIRequestContext) { + this.context = context; + this.features = new Resource$Projects$Locations$Memberships$Features( + this.context + ); + } + } + + export class Resource$Projects$Locations$Memberships$Features { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates membershipFeature under a given parent. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Memberships$Features$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Memberships$Features$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Memberships$Features$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Memberships$Features$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Memberships$Features$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Memberships$Features$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Memberships$Features$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Memberships$Features$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://gkehub.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2alpha/{+parent}/features').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** - * The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + * Removes a membershipFeature. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - response?: {[key: string]: any} | null; - } + delete( + params: Params$Resource$Projects$Locations$Memberships$Features$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Memberships$Features$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Memberships$Features$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Memberships$Features$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Memberships$Features$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Memberships$Features$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Memberships$Features$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; - export class Resource$Projects { - context: APIRequestContext; - locations: Resource$Projects$Locations; - constructor(context: APIRequestContext) { - this.context = context; - this.locations = new Resource$Projects$Locations(this.context); - } - } + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Memberships$Features$Delete; + options = {}; + } - export class Resource$Projects$Locations { - context: APIRequestContext; - operations: Resource$Projects$Locations$Operations; - constructor(context: APIRequestContext) { - this.context = context; - this.operations = new Resource$Projects$Locations$Operations( - this.context - ); + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://gkehub.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } } /** - * Gets information about a location. + * ========= MembershipFeature Services ========= Gets details of a membershipFeature. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -254,49 +2297,53 @@ export namespace gkehub_v2alpha { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Projects$Locations$Get, + params: Params$Resource$Projects$Locations$Memberships$Features$Get, options: StreamMethodOptions ): GaxiosPromise; get( - params?: Params$Resource$Projects$Locations$Get, + params?: Params$Resource$Projects$Locations$Memberships$Features$Get, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; get( - params: Params$Resource$Projects$Locations$Get, + params: Params$Resource$Projects$Locations$Memberships$Features$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Memberships$Features$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Get, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Memberships$Features$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Memberships$Features$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Get; + {}) as Params$Resource$Projects$Locations$Memberships$Features$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Get; + params = + {} as Params$Resource$Projects$Locations$Memberships$Features$Get; options = {}; } @@ -321,17 +2368,17 @@ export namespace gkehub_v2alpha { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists information about the supported locations for this service. + * Lists MembershipFeatures in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -339,54 +2386,57 @@ export namespace gkehub_v2alpha { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Projects$Locations$List, + params: Params$Resource$Projects$Locations$Memberships$Features$List, options: StreamMethodOptions ): GaxiosPromise; list( - params?: Params$Resource$Projects$Locations$List, + params?: Params$Resource$Projects$Locations$Memberships$Features$List, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; list( - params: Params$Resource$Projects$Locations$List, + params: Params$Resource$Projects$Locations$Memberships$Features$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$List, + params: Params$Resource$Projects$Locations$Memberships$Features$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$List, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Memberships$Features$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Projects$Locations$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Memberships$Features$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$List; + {}) as Params$Resource$Projects$Locations$Memberships$Features$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$List; + params = + {} as Params$Resource$Projects$Locations$Memberships$Features$List; options = {}; } @@ -399,7 +2449,7 @@ export namespace gkehub_v2alpha { const parameters = { options: Object.assign( { - url: (rootUrl + '/v2alpha/{+name}/locations').replace( + url: (rootUrl + '/v2alpha/{+parent}/features').replace( /([^:]\/)\/+/g, '$1' ), @@ -409,46 +2459,193 @@ export namespace gkehub_v2alpha { options ), params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates an existing MembershipFeature. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Memberships$Features$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Memberships$Features$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Memberships$Features$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Memberships$Features$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Memberships$Features$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Memberships$Features$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Memberships$Features$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Memberships$Features$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://gkehub.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, requiredParams: ['name'], pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } } - export interface Params$Resource$Projects$Locations$Get + export interface Params$Resource$Projects$Locations$Memberships$Features$Create extends StandardParameters { /** - * Resource name for the location. + * Required. The ID of the membership_feature to create. + */ + featureId?: string; + /** + * Required. The name of parent where the MembershipFeature will be created. Specified in the format `projects/x/locations/x/memberships/x`. + */ + parent?: string; + /** + * Idempotent request UUID. + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$MembershipFeature; + } + export interface Params$Resource$Projects$Locations$Memberships$Features$Delete + extends StandardParameters { + /** + * Required. The name of the membershipFeature to be deleted. Specified in the format `projects/x/locations/x/memberships/x/features/x`. */ name?: string; + /** + * Idempotent request UUID. + */ + requestId?: string; } - export interface Params$Resource$Projects$Locations$List + export interface Params$Resource$Projects$Locations$Memberships$Features$Get extends StandardParameters { /** - * A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160). + * Required. The MembershipFeature resource name in the format `projects/x/locations/x/memberships/x/features/x`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Memberships$Features$List + extends StandardParameters { + /** + * Lists MembershipFeatures that match the filter expression, following the syntax outlined in https://google.aip.dev/160. Examples: - Feature with the name "helloworld" in project "foo-proj" and membership "member-bar": name = "projects/foo-proj/locations/global/memberships/member-bar/features/helloworld" - Features that have a label called `foo`: labels.foo:* - Features that have a label called `foo` whose value is `bar`: labels.foo = bar */ filter?: string; /** - * The resource that owns the locations collection, if applicable. + * One or more fields to compare and use to sort the output. See https://google.aip.dev/132#ordering. */ - name?: string; + orderBy?: string; /** - * The maximum number of results to return. If not set, the service selects a default. + * When requesting a 'page' of resources, `page_size` specifies number of resources to return. If unspecified or set to 0, all resources will be returned. */ pageSize?: number; /** - * A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page. + * Token returned by previous call to `ListFeatures` which specifies the position in the list from where to continue listing the resources. */ pageToken?: string; + /** + * Required. The parent where the MembershipFeature will be listed. In the format: `projects/x/locations/x/memberships/x`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Memberships$Features$Patch + extends StandardParameters { + /** + * Optional. If set to true, and the MembershipFeature is not found, a new MembershipFeature will be created. In this situation, `update_mask` is ignored. + */ + allowMissing?: boolean; + /** + * Output only. The resource name of the membershipFeature, in the format: `projects/{project\}/locations/{location\}/memberships/{membership\}/features/{feature\}`. Note that `membershipFeatures` is shortened to `features` in the resource name. (see http://go/aip/122#collection-identifiers) + */ + name?: string; + /** + * Idempotent request UUID. + */ + requestId?: string; + /** + * Required. Mask of fields to update. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$MembershipFeature; } export class Resource$Projects$Locations$Operations { @@ -458,7 +2655,7 @@ export namespace gkehub_v2alpha { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/gkehub/v2beta.ts b/src/apis/gkehub/v2beta.ts index 885996a0f3..5df0131464 100644 --- a/src/apis/gkehub/v2beta.ts +++ b/src/apis/gkehub/v2beta.ts @@ -124,129 +124,2172 @@ export namespace gkehub_v2beta { } } + /** + * State for App Dev Exp Feature. + */ + export interface Schema$AppDevExperienceState { + /** + * Status of subcomponent that detects configured Service Mesh resources. + */ + networkingInstallSucceeded?: Schema$AppDevExperienceStatus; + } + /** + * Status specifies state for the subcomponent. + */ + export interface Schema$AppDevExperienceStatus { + /** + * Code specifies AppDevExperienceFeature's subcomponent ready state. + */ + code?: string | null; + /** + * Description is populated if Code is Failed, explaining why it has failed. + */ + description?: string | null; + } /** * The request message for Operations.CancelOperation. */ export interface Schema$CancelOperationRequest {} /** - * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} + * **Cloud Build**: Configurations for each Cloud Build enabled cluster. */ - export interface Schema$Empty {} + export interface Schema$CloudBuildSpec { + /** + * Whether it is allowed to run the privileged builds on the cluster or not. + */ + securityPolicy?: string | null; + /** + * Version of the cloud build software on the cluster. + */ + version?: string | null; + } /** - * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + * GKEUpgrade represents a GKE provided upgrade, e.g., control plane upgrade. */ - export interface Schema$GoogleRpcStatus { + export interface Schema$ClusterUpgradeGKEUpgrade { /** - * The status code, which should be an enum value of google.rpc.Code. + * Name of the upgrade, e.g., "k8s_control_plane". */ - code?: number | null; + name?: string | null; /** - * A list of messages that carry the error details. There is a common set of message types for APIs to use. + * Version of the upgrade, e.g., "1.22.1-gke.100". */ - details?: Array<{[key: string]: any}> | null; + version?: string | null; + } + /** + * IgnoredMembership represents a membership ignored by the feature. A membership can be ignored because it was manually upgraded to a newer version than RC default. + */ + export interface Schema$ClusterUpgradeIgnoredMembership { /** - * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + * Time when the membership was first set to ignored. */ - message?: string | null; + ignoredTime?: string | null; + /** + * Reason why the membership is ignored. + */ + reason?: string | null; } /** - * The response message for Locations.ListLocations. + * MembershipGKEUpgradeState is a GKEUpgrade and its state per-membership. */ - export interface Schema$ListLocationsResponse { + export interface Schema$ClusterUpgradeMembershipGKEUpgradeState { /** - * A list of locations that matches the specified filter in the request. + * Status of the upgrade. */ - locations?: Schema$Location[]; + status?: Schema$ClusterUpgradeUpgradeStatus; /** - * The standard List next-page token. + * Which upgrade to track the state. */ - nextPageToken?: string | null; + upgrade?: Schema$ClusterUpgradeGKEUpgrade; } /** - * The response message for Operations.ListOperations. + * Per-membership state for this feature. */ - export interface Schema$ListOperationsResponse { + export interface Schema$ClusterUpgradeState { /** - * The standard List next-page token. + * Whether this membership is ignored by the feature. For example, manually upgraded clusters can be ignored if they are newer than the default versions of its release channel. */ - nextPageToken?: string | null; + ignored?: Schema$ClusterUpgradeIgnoredMembership; /** - * A list of operations that matches the specified filter in the request. + * Actual upgrade state against desired. */ - operations?: Schema$Operation[]; + upgrades?: Schema$ClusterUpgradeMembershipGKEUpgradeState[]; } /** - * A resource that represents a Google Cloud location. + * UpgradeStatus provides status information for each upgrade. */ - export interface Schema$Location { + export interface Schema$ClusterUpgradeUpgradeStatus { /** - * The friendly name for this location, typically a nearby city name. For example, "Tokyo". + * Status code of the upgrade. */ - displayName?: string | null; + code?: string | null; /** - * Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"\} + * Reason for this status. */ - labels?: {[key: string]: string} | null; + reason?: string | null; /** - * The canonical id for this location. For example: `"us-east1"`. + * Last timestamp the status was updated. */ - locationId?: string | null; + updateTime?: string | null; + } + /** + * Configuration for Binauthz. + */ + export interface Schema$ConfigManagementBinauthzConfig { /** - * Service-specific metadata. For example the available capacity at the given location. + * Whether binauthz is enabled in this cluster. */ - metadata?: {[key: string]: any} | null; + enabled?: boolean | null; + } + /** + * State for Binauthz. + */ + export interface Schema$ConfigManagementBinauthzState { /** - * Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` + * The version of binauthz that is installed. */ - name?: string | null; + version?: Schema$ConfigManagementBinauthzVersion; + /** + * The state of the binauthz webhook. + */ + webhook?: string | null; } /** - * This resource represents a long-running operation that is the result of a network API call. + * The version of binauthz. */ - export interface Schema$Operation { + export interface Schema$ConfigManagementBinauthzVersion { /** - * If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. + * The version of the binauthz webhook. */ - done?: boolean | null; + webhookVersion?: string | null; + } + /** + * Configuration for Config Sync + */ + export interface Schema$ConfigManagementConfigSync { /** - * The error result of the operation in case of failure or cancellation. + * Set to true to allow the vertical scaling. Defaults to false which disallows vertical scaling. This field is deprecated. */ - error?: Schema$GoogleRpcStatus; + allowVerticalScale?: boolean | null; /** - * Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. + * Enables the installation of ConfigSync. If set to true, ConfigSync resources will be created and the other ConfigSync fields will be applied if exist. If set to false, all other ConfigSync fields will be ignored, ConfigSync resources will be deleted. If omitted, ConfigSync resources will be managed depends on the presence of the git or oci field. */ - metadata?: {[key: string]: any} | null; + enabled?: boolean | null; /** - * The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id\}`. + * Git repo configuration for the cluster. */ - name?: string | null; + git?: Schema$ConfigManagementGitConfig; + /** + * The Email of the Google Cloud Service Account (GSA) used for exporting Config Sync metrics to Cloud Monitoring and Cloud Monarch when Workload Identity is enabled. The GSA should have the Monitoring Metric Writer (roles/monitoring.metricWriter) IAM role. The Kubernetes ServiceAccount `default` in the namespace `config-management-monitoring` should be bound to the GSA. Deprecated: If Workload Identity Federation for GKE is enabled, Google Cloud Service Account is no longer needed for exporting Config Sync metrics: https://cloud.google.com/kubernetes-engine/enterprise/config-sync/docs/how-to/monitor-config-sync-cloud-monitoring#custom-monitoring. + */ + metricsGcpServiceAccountEmail?: string | null; + /** + * OCI repo configuration for the cluster. + */ + oci?: Schema$ConfigManagementOciConfig; + /** + * Set to true to enable the Config Sync admission webhook to prevent drifts. If set to `false`, disables the Config Sync admission webhook and does not prevent drifts. + */ + preventDrift?: boolean | null; + /** + * Specifies whether the Config Sync Repo is in "hierarchical" or "unstructured" mode. + */ + sourceFormat?: string | null; + /** + * Set to true to stop syncing configs for a single cluster. Default to false. + */ + stopSyncing?: boolean | null; + } + /** + * The state of ConfigSync's deployment on a cluster. + */ + export interface Schema$ConfigManagementConfigSyncDeploymentState { + /** + * Deployment state of admission-webhook. + */ + admissionWebhook?: string | null; + /** + * Deployment state of the git-sync pod. + */ + gitSync?: string | null; + /** + * Deployment state of the importer pod. + */ + importer?: string | null; + /** + * Deployment state of the monitor pod. + */ + monitor?: string | null; + /** + * Deployment state of otel-collector + */ + otelCollector?: string | null; + /** + * Deployment state of reconciler-manager pod. + */ + reconcilerManager?: string | null; + /** + * Deployment state of resource-group-controller-manager + */ + resourceGroupControllerManager?: string | null; + /** + * Deployment state of root-reconciler. + */ + rootReconciler?: string | null; + /** + * Deployment state of the syncer pod. + */ + syncer?: string | null; + } + /** + * Errors pertaining to the installation of Config Sync + */ + export interface Schema$ConfigManagementConfigSyncError { + /** + * A string representing the user facing error message + */ + errorMessage?: string | null; + } + /** + * State information for ConfigSync. + */ + export interface Schema$ConfigManagementConfigSyncState { + /** + * Whether syncing resources to the cluster is stopped at the cluster level. + */ + clusterLevelStopSyncingState?: string | null; + /** + * Output only. The number of RootSync and RepoSync CRs in the cluster. + */ + crCount?: number | null; + /** + * Information about the deployment of ConfigSync, including the version. of the various Pods deployed + */ + deploymentState?: Schema$ConfigManagementConfigSyncDeploymentState; + /** + * Errors pertaining to the installation of Config Sync. + */ + errors?: Schema$ConfigManagementConfigSyncError[]; + /** + * The state of the Reposync CRD + */ + reposyncCrd?: string | null; + /** + * The state of the RootSync CRD + */ + rootsyncCrd?: string | null; + /** + * The state of CS This field summarizes the other fields in this message. + */ + state?: string | null; + /** + * The state of ConfigSync's process to sync configs to a cluster. + */ + syncState?: Schema$ConfigManagementSyncState; + /** + * The version of ConfigSync deployed. + */ + version?: Schema$ConfigManagementConfigSyncVersion; + } + /** + * Specific versioning information pertaining to ConfigSync's Pods. + */ + export interface Schema$ConfigManagementConfigSyncVersion { + /** + * Version of the deployed admission-webhook pod. + */ + admissionWebhook?: string | null; + /** + * Version of the deployed git-sync pod. + */ + gitSync?: string | null; + /** + * Version of the deployed importer pod. + */ + importer?: string | null; + /** + * Version of the deployed monitor pod. + */ + monitor?: string | null; + /** + * Version of the deployed otel-collector pod + */ + otelCollector?: string | null; + /** + * Version of the deployed reconciler-manager pod. + */ + reconcilerManager?: string | null; + /** + * Version of the deployed resource-group-controller-manager pod + */ + resourceGroupControllerManager?: string | null; + /** + * Version of the deployed reconciler container in root-reconciler pod. + */ + rootReconciler?: string | null; + /** + * Version of the deployed syncer pod. + */ + syncer?: string | null; + } + /** + * Model for a config file in the git repo with an associated Sync error. + */ + export interface Schema$ConfigManagementErrorResource { + /** + * Group/version/kind of the resource that is causing an error + */ + resourceGvk?: Schema$ConfigManagementGroupVersionKind; + /** + * Metadata name of the resource that is causing an error + */ + resourceName?: string | null; + /** + * Namespace of the resource that is causing an error + */ + resourceNamespace?: string | null; + /** + * Path in the git repo of the erroneous config + */ + sourcePath?: string | null; + } + /** + * State of Policy Controller installation. + */ + export interface Schema$ConfigManagementGatekeeperDeploymentState { + /** + * Status of gatekeeper-audit deployment. + */ + gatekeeperAudit?: string | null; + /** + * Status of gatekeeper-controller-manager pod. + */ + gatekeeperControllerManagerState?: string | null; + /** + * Status of the pod serving the mutation webhook. + */ + gatekeeperMutation?: string | null; + } + /** + * Git repo configuration for a single cluster. + */ + export interface Schema$ConfigManagementGitConfig { + /** + * The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. + */ + gcpServiceAccountEmail?: string | null; + /** + * URL for the HTTPS proxy to be used when communicating with the Git repo. + */ + httpsProxy?: string | null; + /** + * The path within the Git repository that represents the top level of the repo to sync. Default: the root directory of the repository. + */ + policyDir?: string | null; + /** + * Type of secret configured for access to the Git repo. Must be one of ssh, cookiefile, gcenode, token, gcpserviceaccount or none. The validation of this is case-sensitive. Required. + */ + secretType?: string | null; + /** + * The branch of the repository to sync from. Default: master. + */ + syncBranch?: string | null; + /** + * The URL of the Git repository to use as the source of truth. + */ + syncRepo?: string | null; + /** + * Git revision (tag or hash) to check out. Default HEAD. + */ + syncRev?: string | null; + /** + * Period in seconds between consecutive syncs. Default: 15. + */ + syncWaitSecs?: string | null; + } + /** + * A Kubernetes object's GVK. + */ + export interface Schema$ConfigManagementGroupVersionKind { + /** + * Kubernetes Group + */ + group?: string | null; + /** + * Kubernetes Kind + */ + kind?: string | null; + /** + * Kubernetes Version + */ + version?: string | null; + } + /** + * Configuration for Hierarchy Controller. + */ + export interface Schema$ConfigManagementHierarchyControllerConfig { + /** + * Whether Hierarchy Controller is enabled in this cluster. + */ + enabled?: boolean | null; + /** + * Whether hierarchical resource quota is enabled in this cluster. + */ + enableHierarchicalResourceQuota?: boolean | null; + /** + * Whether pod tree labels are enabled in this cluster. + */ + enablePodTreeLabels?: boolean | null; + } + /** + * Deployment state for Hierarchy Controller + */ + export interface Schema$ConfigManagementHierarchyControllerDeploymentState { + /** + * The deployment state for Hierarchy Controller extension (e.g. v0.7.0-hc.1). + */ + extension?: string | null; + /** + * The deployment state for open source HNC (e.g. v0.7.0-hc.0). + */ + hnc?: string | null; + } + /** + * State for Hierarchy Controller. + */ + export interface Schema$ConfigManagementHierarchyControllerState { + /** + * The deployment state for Hierarchy Controller. + */ + state?: Schema$ConfigManagementHierarchyControllerDeploymentState; + /** + * The version for Hierarchy Controller. + */ + version?: Schema$ConfigManagementHierarchyControllerVersion; + } + /** + * Version for Hierarchy Controller. + */ + export interface Schema$ConfigManagementHierarchyControllerVersion { + /** + * Version for Hierarchy Controller extension. + */ + extension?: string | null; + /** + * Version for open source HNC. + */ + hnc?: string | null; + } + /** + * Errors pertaining to the installation of ACM. + */ + export interface Schema$ConfigManagementInstallError { + /** + * A string representing the user facing error message. + */ + errorMessage?: string | null; + } + /** + * OCI repo configuration for a single cluster. + */ + export interface Schema$ConfigManagementOciConfig { + /** + * The Google Cloud Service Account Email used for auth when secret_type is gcpServiceAccount. + */ + gcpServiceAccountEmail?: string | null; + /** + * The absolute path of the directory that contains the local resources. Default: the root directory of the image. + */ + policyDir?: string | null; + /** + * Type of secret configured for access to the Git repo. + */ + secretType?: string | null; + /** + * The OCI image repository URL for the package to sync from. e.g. `LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME`. + */ + syncRepo?: string | null; + /** + * Period in seconds between consecutive syncs. Default: 15. + */ + syncWaitSecs?: string | null; + } + /** + * State information for an ACM's Operator. + */ + export interface Schema$ConfigManagementOperatorState { + /** + * The state of the Operator's deployment. + */ + deploymentState?: string | null; + /** + * Install errors. + */ + errors?: Schema$ConfigManagementInstallError[]; + /** + * The semenatic version number of the operator. + */ + version?: string | null; + } + /** + * Configuration for Policy Controller + */ + export interface Schema$ConfigManagementPolicyController { + /** + * Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. + */ + auditIntervalSeconds?: string | null; + /** + * Enables the installation of Policy Controller. If false, the rest of PolicyController fields take no effect. + */ + enabled?: boolean | null; + /** + * The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. + */ + exemptableNamespaces?: string[] | null; + /** + * Logs all denies and dry run failures. + */ + logDeniesEnabled?: boolean | null; + /** + * Monitoring specifies the configuration of monitoring. + */ + monitoring?: Schema$ConfigManagementPolicyControllerMonitoring; + /** + * Enable or disable mutation in policy controller. If true, mutation CRDs, webhook and controller deployment will be deployed to the cluster. + */ + mutationEnabled?: boolean | null; + /** + * Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. + */ + referentialRulesEnabled?: boolean | null; + /** + * Installs the default template library along with Policy Controller. + */ + templateLibraryInstalled?: boolean | null; + /** + * Output only. Last time this membership spec was updated. + */ + updateTime?: string | null; + } + /** + * State for the migration of PolicyController from ACM -\> PoCo Hub. + */ + export interface Schema$ConfigManagementPolicyControllerMigration { + /** + * Last time this membership spec was copied to PoCo feature. + */ + copyTime?: string | null; + /** + * Stage of the migration. + */ + stage?: string | null; + } + /** + * PolicyControllerMonitoring specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] + */ + export interface Schema$ConfigManagementPolicyControllerMonitoring { + /** + * Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. + */ + backends?: string[] | null; + } + /** + * State for PolicyControllerState. + */ + export interface Schema$ConfigManagementPolicyControllerState { + /** + * The state about the policy controller installation. + */ + deploymentState?: Schema$ConfigManagementGatekeeperDeploymentState; + /** + * Record state of ACM -\> PoCo Hub migration for this feature. + */ + migration?: Schema$ConfigManagementPolicyControllerMigration; + /** + * The version of Gatekeeper Policy Controller deployed. + */ + version?: Schema$ConfigManagementPolicyControllerVersion; + } + /** + * The build version of Gatekeeper Policy Controller is using. + */ + export interface Schema$ConfigManagementPolicyControllerVersion { + /** + * The gatekeeper image tag that is composed of ACM version, git tag, build number. + */ + version?: string | null; + } + /** + * **Anthos Config Management**: Configuration for a single cluster. Intended to parallel the ConfigManagement CR. + */ + export interface Schema$ConfigManagementSpec { + /** + * Binauthz conifguration for the cluster. Deprecated: This field will be ignored and should not be set. + */ + binauthz?: Schema$ConfigManagementBinauthzConfig; + /** + * The user-specified cluster name used by Config Sync cluster-name-selector annotation or ClusterSelector, for applying configs to only a subset of clusters. Omit this field if the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. Set this field if a name different from the cluster's fleet membership name is used by Config Sync cluster-name-selector annotation or ClusterSelector. + */ + cluster?: string | null; + /** + * Config Sync configuration for the cluster. + */ + configSync?: Schema$ConfigManagementConfigSync; + /** + * 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?: Schema$ConfigManagementHierarchyControllerConfig; + /** + * Enables automatic Feature management. + */ + management?: string | null; + /** + * Policy Controller configuration for the cluster. Deprecated: Configuring Policy Controller through the configmanagement feature is no longer recommended. Use the policycontroller feature instead. + */ + policyController?: Schema$ConfigManagementPolicyController; + /** + * Version of ACM installed. + */ + version?: string | null; + } + /** + * **Anthos Config Management**: State for a single cluster. + */ + export interface Schema$ConfigManagementState { + /** + * Binauthz status. + */ + binauthzState?: Schema$ConfigManagementBinauthzState; + /** + * This field is set to the `cluster_name` field of the Membership Spec if it is not empty. Otherwise, it is set to the cluster's fleet membership name. + */ + clusterName?: string | null; + /** + * Current sync status. + */ + configSyncState?: Schema$ConfigManagementConfigSyncState; + /** + * Hierarchy Controller status. + */ + hierarchyControllerState?: Schema$ConfigManagementHierarchyControllerState; + /** + * Membership configuration in the cluster. This represents the actual state in the cluster, while the MembershipSpec in the FeatureSpec represents the intended state. + */ + membershipSpec?: Schema$ConfigManagementSpec; + /** + * Current install status of ACM's Operator. + */ + operatorState?: Schema$ConfigManagementOperatorState; + /** + * PolicyController status. + */ + policyControllerState?: Schema$ConfigManagementPolicyControllerState; + } + /** + * An ACM created error representing a problem syncing configurations. + */ + export interface Schema$ConfigManagementSyncError { + /** + * An ACM defined error code + */ + code?: string | null; + /** + * A description of the error + */ + errorMessage?: string | null; + /** + * A list of config(s) associated with the error, if any + */ + errorResources?: Schema$ConfigManagementErrorResource[]; + } + /** + * State indicating an ACM's progress syncing configurations to a cluster. + */ + export interface Schema$ConfigManagementSyncState { + /** + * Sync status code. + */ + code?: string | null; + /** + * A list of errors resulting from problematic configs. This list will be truncated after 100 errors, although it is unlikely for that many errors to simultaneously exist. + */ + errors?: Schema$ConfigManagementSyncError[]; + /** + * Token indicating the state of the importer. + */ + importToken?: string | null; + /** + * Deprecated: use last_sync_time instead. Timestamp of when ACM last successfully synced the repo. The time format is specified in https://golang.org/pkg/time/#Time.String + */ + lastSync?: string | null; + /** + * Timestamp type of when ACM last successfully synced the repo. + */ + lastSyncTime?: string | null; + /** + * Token indicating the state of the repo. + */ + sourceToken?: string | null; + /** + * Token indicating the state of the syncer. + */ + syncToken?: string | null; + } + /** + * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} + */ + export interface Schema$Empty {} + /** + * FeatureSpec contains user input per-feature spec information. + */ + export interface Schema$FeatureSpec { + /** + * Cloudbuild-specific FeatureSpec. + */ + cloudbuild?: Schema$CloudBuildSpec; + /** + * Config Management FeatureSpec. + */ + configmanagement?: Schema$ConfigManagementSpec; + /** + * IdentityService FeatureSpec. + */ + identityservice?: Schema$IdentityServiceSpec; + /** + * Whether this per-Feature spec was inherited from a fleet-level default. This field can be updated by users by either overriding a Feature config (updated to USER implicitly) or setting to FLEET explicitly. + */ + origin?: Schema$Origin; + /** + * Policycontroller-specific FeatureSpec. + */ + policycontroller?: Schema$PolicyControllerSpec; + /** + * ServiceMesh Feature Spec. + */ + servicemesh?: Schema$ServiceMeshSpec; + /** + * Workloadcertificate-specific FeatureSpec. + */ + workloadcertificate?: Schema$WorkloadCertificateSpec; + } + /** + * FeatureState contains high-level state information and per-feature state information for this MembershipFeature. + */ + export interface Schema$FeatureState { + /** + * Appdevexperience specific state. + */ + appdevexperience?: Schema$AppDevExperienceState; + /** + * Cluster upgrade state. + */ + clusterupgrade?: Schema$ClusterUpgradeState; + /** + * Config Management state + */ + configmanagement?: Schema$ConfigManagementState; + /** + * Identity service state + */ + identityservice?: Schema$IdentityServiceState; + /** + * Metering state + */ + metering?: Schema$MeteringState; + /** + * Policy Controller state + */ + policycontroller?: Schema$PolicyControllerState; + /** + * Service mesh state + */ + servicemesh?: Schema$ServiceMeshState; + /** + * The high-level state of this MembershipFeature. + */ + state?: Schema$State; + } + /** + * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + */ + export interface Schema$GoogleRpcStatus { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number | null; + /** + * A list of messages that carry the error details. There is a common set of message types for APIs to use. + */ + details?: Array<{[key: string]: any}> | null; + /** + * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + */ + message?: string | null; + } + /** + * Configuration of an auth method for a member/cluster. Only one authentication method (e.g., OIDC and LDAP) can be set per AuthMethod. + */ + export interface Schema$IdentityServiceAuthMethod { + /** + * AzureAD specific Configuration. + */ + azureadConfig?: Schema$IdentityServiceAzureADConfig; + /** + * GoogleConfig specific configuration + */ + googleConfig?: Schema$IdentityServiceGoogleConfig; + /** + * LDAP specific configuration. + */ + ldapConfig?: Schema$IdentityServiceLdapConfig; + /** + * Identifier for auth config. + */ + name?: string | null; + /** + * OIDC specific configuration. + */ + oidcConfig?: Schema$IdentityServiceOidcConfig; + /** + * Proxy server address to use for auth method. + */ + proxy?: string | null; + /** + * SAML specific configuration. + */ + samlConfig?: Schema$IdentityServiceSamlConfig; + } + /** + * Configuration for the AzureAD Auth flow. + */ + export interface Schema$IdentityServiceAzureADConfig { + /** + * ID for the registered client application that makes authentication requests to the Azure AD identity provider. + */ + clientId?: string | null; + /** + * Input only. Unencrypted AzureAD client secret will be passed to the GKE Hub CLH. + */ + clientSecret?: string | null; + /** + * Output only. Encrypted AzureAD client secret. + */ + encryptedClientSecret?: string | null; + /** + * Optional. Format of the AzureAD groups that the client wants for auth. + */ + groupFormat?: string | null; + /** + * The redirect URL that kubectl uses for authorization. + */ + kubectlRedirectUri?: string | null; + /** + * Kind of Azure AD account to be authenticated. Supported values are or for accounts belonging to a specific tenant. + */ + tenant?: string | null; + /** + * Optional. Claim in the AzureAD ID Token that holds the user details. + */ + userClaim?: string | null; + } + /** + * Configuration options for the AIS diagnostic interface. + */ + export interface Schema$IdentityServiceDiagnosticInterface { + /** + * Determines whether to enable the diagnostic interface. + */ + enabled?: boolean | null; + /** + * Determines the expiration time of the diagnostic interface enablement. When reached, requests to the interface would be automatically rejected. + */ + expirationTime?: string | null; + } + /** + * Configuration for the Google Plugin Auth flow. + */ + export interface Schema$IdentityServiceGoogleConfig { + /** + * Disable automatic configuration of Google Plugin on supported platforms. + */ + disable?: boolean | null; + } + /** + * Contains the properties for locating and authenticating groups in the directory. + */ + export interface Schema$IdentityServiceGroupConfig { + /** + * Required. The location of the subtree in the LDAP directory to search for group entries. + */ + baseDn?: string | null; + /** + * Optional. Optional filter to be used when searching for groups a user belongs to. This can be used to explicitly match only certain groups in order to reduce the amount of groups returned for each user. This defaults to "(objectClass=Group)". + */ + filter?: string | null; + /** + * Optional. The identifying name of each group a user belongs to. For example, if this is set to "distinguishedName" then RBACs and other group expectations should be written as full DNs. This defaults to "distinguishedName". + */ + idAttribute?: string | null; + } + /** + * Holds non-protocol-related configuration options. + */ + export interface Schema$IdentityServiceIdentityServiceOptions { + /** + * Configuration options for the AIS diagnostic interface. + */ + diagnosticInterface?: Schema$IdentityServiceDiagnosticInterface; + /** + * Determines the lifespan of STS tokens issued by Anthos Identity Service. + */ + sessionDuration?: string | null; + } + /** + * Configuration for the LDAP Auth flow. + */ + export interface Schema$IdentityServiceLdapConfig { + /** + * Optional. Contains the properties for locating and authenticating groups in the directory. + */ + group?: Schema$IdentityServiceGroupConfig; + /** + * Required. Server settings for the external LDAP server. + */ + server?: Schema$IdentityServiceServerConfig; + /** + * Required. Contains the credentials of the service account which is authorized to perform the LDAP search in the directory. The credentials can be supplied by the combination of the DN and password or the client certificate. + */ + serviceAccount?: Schema$IdentityServiceServiceAccountConfig; + /** + * Required. Defines where users exist in the LDAP directory. + */ + user?: Schema$IdentityServiceUserConfig; + } + /** + * Configuration for OIDC Auth flow. + */ + export interface Schema$IdentityServiceOidcConfig { + /** + * PEM-encoded CA for OIDC provider. + */ + certificateAuthorityData?: string | null; + /** + * ID for OIDC client application. + */ + clientId?: string | null; + /** + * Input only. Unencrypted OIDC client secret will be passed to the GKE Hub CLH. + */ + clientSecret?: string | null; + /** + * Flag to denote if reverse proxy is used to connect to auth provider. This flag should be set to true when provider is not reachable by Google Cloud Console. + */ + deployCloudConsoleProxy?: boolean | null; + /** + * Enable access token. + */ + enableAccessToken?: boolean | null; + /** + * Output only. Encrypted OIDC Client secret + */ + encryptedClientSecret?: string | null; + /** + * Comma-separated list of key-value pairs. + */ + extraParams?: string | null; + /** + * Prefix to prepend to group name. + */ + groupPrefix?: string | null; + /** + * Claim in OIDC ID token that holds group information. + */ + groupsClaim?: string | null; + /** + * URI for the OIDC provider. This should point to the level below .well-known/openid-configuration. + */ + issuerUri?: string | null; + /** + * Registered redirect uri to redirect users going through OAuth flow using kubectl plugin. + */ + kubectlRedirectUri?: string | null; + /** + * Comma-separated list of identifiers. + */ + scopes?: string | null; + /** + * Claim in OIDC ID token that holds username. + */ + userClaim?: string | null; + /** + * Prefix to prepend to user name. + */ + userPrefix?: string | null; + } + /** + * Configuration for the SAML Auth flow. + */ + export interface Schema$IdentityServiceSamlConfig { + /** + * Optional. The mapping of additional user attributes like nickname, birthday and address etc.. `key` is the name of this additional attribute. `value` is a string presenting as CEL(common expression language, go/cel) used for getting the value from the resources. Take nickname as an example, in this case, `key` is "attribute.nickname" and `value` is "assertion.nickname". + */ + attributeMapping?: {[key: string]: string} | null; + /** + * Optional. Prefix to prepend to group name. + */ + groupPrefix?: string | null; + /** + * Optional. The SAML attribute to read groups from. This value is expected to be a string and will be passed along as-is (with the option of being prefixed by the `group_prefix`). + */ + groupsAttribute?: string | null; + /** + * Required. The list of IdP certificates to validate the SAML response against. + */ + identityProviderCertificates?: string[] | null; + /** + * Required. The entity ID of the SAML IdP. + */ + identityProviderId?: string | null; + /** + * Required. The URI where the SAML IdP exposes the SSO service. + */ + identityProviderSsoUri?: string | null; + /** + * Optional. The SAML attribute to read username from. If unspecified, the username will be read from the NameID element of the assertion in SAML response. This value is expected to be a string and will be passed along as-is (with the option of being prefixed by the `user_prefix`). + */ + userAttribute?: string | null; + /** + * Optional. Prefix to prepend to user name. + */ + userPrefix?: string | null; + } + /** + * Server settings for the external LDAP server. + */ + export interface Schema$IdentityServiceServerConfig { + /** + * Optional. Contains a Base64 encoded, PEM formatted certificate authority certificate for the LDAP server. This must be provided for the "ldaps" and "startTLS" connections. + */ + certificateAuthorityData?: string | null; + /** + * Optional. Defines the connection type to communicate with the LDAP server. If `starttls` or `ldaps` is specified, the certificate_authority_data should not be empty. + */ + connectionType?: string | null; + /** + * Required. Defines the hostname or IP of the LDAP server. Port is optional and will default to 389, if unspecified. For example, "ldap.server.example" or "10.10.10.10:389". + */ + host?: string | null; + } + /** + * Contains the credentials of the service account which is authorized to perform the LDAP search in the directory. The credentials can be supplied by the combination of the DN and password or the client certificate. + */ + export interface Schema$IdentityServiceServiceAccountConfig { + /** + * Credentials for basic auth. + */ + simpleBindCredentials?: Schema$IdentityServiceSimpleBindCredentials; + } + /** + * The structure holds the LDAP simple binding credential. + */ + export interface Schema$IdentityServiceSimpleBindCredentials { + /** + * Required. The distinguished name(DN) of the service account object/user. + */ + dn?: string | null; + /** + * Output only. The encrypted password of the service account object/user. + */ + encryptedPassword?: string | null; + /** + * Required. Input only. The password of the service account object/user. + */ + password?: string | null; + } + /** + * **IdentityService**: Configuration for a single membership. + */ + export interface Schema$IdentityServiceSpec { + /** + * A member may support multiple auth methods. + */ + authMethods?: Schema$IdentityServiceAuthMethod[]; + /** + * Optional. non-protocol-related configuration options. + */ + identityServiceOptions?: Schema$IdentityServiceIdentityServiceOptions; + } + /** + * **IdentityService**: State for a single membership, analyzed and reported by feature controller. + */ + export interface Schema$IdentityServiceState { + /** + * The reason of the failure. + */ + failureReason?: string | null; + /** + * Installed AIS version. This is the AIS version installed on this member. The values makes sense iff state is OK. + */ + installedVersion?: string | null; + /** + * Last reconciled membership configuration + */ + memberConfig?: Schema$IdentityServiceSpec; + /** + * Deployment state on this member + */ + state?: string | null; + } + /** + * Defines where users exist in the LDAP directory. + */ + export interface Schema$IdentityServiceUserConfig { + /** + * Required. The location of the subtree in the LDAP directory to search for user entries. + */ + baseDn?: string | null; + /** + * Optional. Filter to apply when searching for the user. This can be used to further restrict the user accounts which are allowed to login. This defaults to "(objectClass=User)". + */ + filter?: string | null; + /** + * Optional. Determines which attribute to use as the user's identity after they are authenticated. This is distinct from the loginAttribute field to allow users to login with a username, but then have their actual identifier be an email address or full Distinguished Name (DN). For example, setting loginAttribute to "sAMAccountName" and identifierAttribute to "userPrincipalName" would allow a user to login as "bsmith", but actual RBAC policies for the user would be written as "bsmith@example.com". Using "userPrincipalName" is recommended since this will be unique for each user. This defaults to "userPrincipalName". + */ + idAttribute?: string | null; + /** + * Optional. The name of the attribute which matches against the input username. This is used to find the user in the LDAP database e.g. "(=)" and is combined with the optional filter field. This defaults to "userPrincipalName". + */ + loginAttribute?: string | null; + } + /** + * LifecycleState describes the state of a MembershipFeature *resource* in the GkeHub API. See `FeatureState` for the "running state" of the MembershipFeature. + */ + export interface Schema$LifecycleState { + /** + * Output only. The current state of the Feature resource in the Hub API. + */ + state?: string | null; + } + /** + * The response message for Locations.ListLocations. + */ + export interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string | null; + } + /** + * Response message for the `GkeHubFeature.ListMembershipFeatures` method. + */ + export interface Schema$ListMembershipFeaturesResponse { + /** + * The list of matching MembershipFeatures. + */ + membershipFeatures?: Schema$MembershipFeature[]; + /** + * A token to request the next page of resources from the `ListMembershipFeatures` method. The value of an empty string means that there are no more resources to return. + */ + nextPageToken?: string | null; + /** + * List of locations that could not be reached while fetching this list. + */ + unreachable?: string[] | null; + } + /** + * The response message for Operations.ListOperations. + */ + export interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string | null; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * A resource that represents a Google Cloud location. + */ + export interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For example, "Tokyo". + */ + displayName?: string | null; + /** + * Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"\} + */ + labels?: {[key: string]: string} | null; + /** + * The canonical id for this location. For example: `"us-east1"`. + */ + locationId?: string | null; + /** + * Service-specific metadata. For example the available capacity at the given location. + */ + metadata?: {[key: string]: any} | null; + /** + * Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` + */ + name?: string | null; + } + /** + * MembershipFeature represents the settings and status of a Fleet Feature enabled on a single Fleet Membership. + */ + export interface Schema$MembershipFeature { + /** + * Output only. When the MembershipFeature resource was created. + */ + createTime?: string | null; + /** + * Output only. When the MembershipFeature resource was deleted. + */ + deleteTime?: string | null; + /** + * GCP labels for this MembershipFeature. + */ + labels?: {[key: string]: string} | null; + /** + * Output only. Lifecycle information of the resource itself. + */ + lifecycleState?: Schema$LifecycleState; + /** + * Output only. The resource name of the membershipFeature, in the format: `projects/{project\}/locations/{location\}/memberships/{membership\}/features/{feature\}`. Note that `membershipFeatures` is shortened to `features` in the resource name. (see http://go/aip/122#collection-identifiers) + */ + name?: string | null; + /** + * Optional. Spec of this membershipFeature. + */ + spec?: Schema$FeatureSpec; + /** + * Output only. State of the this membershipFeature. + */ + state?: Schema$FeatureState; + /** + * Output only. When the MembershipFeature resource was last updated. + */ + updateTime?: string | null; + } + /** + * **Metering**: State for a single membership, analyzed and reported by feature controller. + */ + export interface Schema$MeteringState { + /** + * The time stamp of the most recent measurement of the number of vCPUs in the cluster. + */ + lastMeasurementTime?: string | null; + /** + * The vCPUs capacity in the cluster according to the most recent measurement (1/1000 precision). + */ + preciseLastMeasuredClusterVcpuCapacity?: number | null; + } + /** + * This resource represents a long-running operation that is the result of a network API call. + */ + export interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. + */ + done?: boolean | null; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$GoogleRpcStatus; + /** + * Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. + */ + metadata?: {[key: string]: any} | null; + /** + * The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id\}`. + */ + name?: string | null; + /** + * The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: {[key: string]: any} | null; + } + /** + * Metadata of the long-running operation. + */ + export interface Schema$OperationMetadata { + /** + * Output only. API version used to start the operation. + */ + apiVersion?: string | null; + /** + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + */ + cancelRequested?: boolean | null; + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusDetail?: string | null; + /** + * Output only. Server-defined resource path for the target of the operation. + */ + target?: string | null; + /** + * Output only. Name of the verb executed by the operation. + */ + verb?: string | null; + } + /** + * Origin defines where this FeatureSpec originated from. + */ + export interface Schema$Origin { + /** + * Type specifies which type of origin is set. + */ + type?: string | null; + } + /** + * BundleInstallSpec is the specification configuration for a single managed bundle. + */ + export interface Schema$PolicyControllerBundleInstallSpec { + /** + * the set of namespaces to be exempted from the bundle + */ + exemptedNamespaces?: string[] | null; + } + /** + * Configuration for Policy Controller + */ + export interface Schema$PolicyControllerHubConfig { + /** + * Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether. + */ + auditIntervalSeconds?: string | null; + /** + * The maximum number of audit violations to be stored in a constraint. If not set, the internal default (currently 20) will be used. + */ + constraintViolationLimit?: string | null; + /** + * Map of deployment configs to deployments (“admission”, “audit”, “mutation”). + */ + deploymentConfigs?: { + [key: string]: Schema$PolicyControllerPolicyControllerDeploymentConfig; + } | null; + /** + * The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster. + */ + exemptableNamespaces?: string[] | null; + /** + * The install_spec represents the intended state specified by the latest request that mutated install_spec in the feature spec, not the lifecycle state of the feature observed by the Hub feature controller that is reported in the feature state. + */ + installSpec?: string | null; + /** + * Logs all denies and dry run failures. + */ + logDeniesEnabled?: boolean | null; + /** + * Monitoring specifies the configuration of monitoring. + */ + monitoring?: Schema$PolicyControllerMonitoringConfig; + /** + * Enables the ability to mutate resources using Policy Controller. + */ + mutationEnabled?: boolean | null; + /** + * Specifies the desired policy content on the cluster + */ + policyContent?: Schema$PolicyControllerPolicyContentSpec; + /** + * Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated. + */ + referentialRulesEnabled?: boolean | null; + } + /** + * MonitoringConfig specifies the backends Policy Controller should export metrics to. For example, to specify metrics should be exported to Cloud Monitoring and Prometheus, specify backends: ["cloudmonitoring", "prometheus"] + */ + export interface Schema$PolicyControllerMonitoringConfig { + /** + * Specifies the list of backends Policy Controller will export to. An empty list would effectively disable metrics export. + */ + backends?: string[] | null; + } + /** + * OnClusterState represents the state of a sub-component of Policy Controller. + */ + export interface Schema$PolicyControllerOnClusterState { + /** + * Surface potential errors or information logs. + */ + details?: string | null; + /** + * The lifecycle state of this component. + */ + state?: string | null; + } + /** + * PolicyContentSpec defines the user's desired content configuration on the cluster. + */ + export interface Schema$PolicyControllerPolicyContentSpec { + /** + * map of bundle name to BundleInstallSpec. The bundle name maps to the `bundleName` key in the `policycontroller.gke.io/constraintData` annotation on a constraint. + */ + bundles?: {[key: string]: Schema$PolicyControllerBundleInstallSpec} | null; + /** + * Configures the installation of the Template Library. + */ + templateLibrary?: Schema$PolicyControllerTemplateLibraryConfig; + } + /** + * The state of the policy controller policy content + */ + export interface Schema$PolicyControllerPolicyContentState { + /** + * The state of the any bundles included in the chosen version of the manifest + */ + bundleStates?: { + [key: string]: Schema$PolicyControllerOnClusterState; + } | null; + /** + * The state of the referential data sync configuration. This could represent the state of either the syncSet object(s) or the config object, depending on the version of PoCo configured by the user. + */ + referentialSyncConfigState?: Schema$PolicyControllerOnClusterState; + /** + * The state of the template library + */ + templateLibraryState?: Schema$PolicyControllerOnClusterState; + } + /** + * Deployment-specific configuration. + */ + export interface Schema$PolicyControllerPolicyControllerDeploymentConfig { + /** + * Container resource requirements. + */ + containerResources?: Schema$PolicyControllerResourceRequirements; + /** + * Pod affinity configuration. + */ + podAffinity?: string | null; + /** + * Pod anti-affinity enablement. Deprecated: use `pod_affinity` instead. + */ + podAntiAffinity?: boolean | null; + /** + * Pod tolerations of node taints. + */ + podTolerations?: Schema$PolicyControllerToleration[]; + /** + * Pod replica count. + */ + replicaCount?: string | null; + } + /** + * ResourceList contains container resource requirements. + */ + export interface Schema$PolicyControllerResourceList { + /** + * CPU requirement expressed in Kubernetes resource units. + */ + cpu?: string | null; + /** + * Memory requirement expressed in Kubernetes resource units. + */ + memory?: string | null; + } + /** + * ResourceRequirements describes the compute resource requirements. + */ + export interface Schema$PolicyControllerResourceRequirements { + /** + * Limits describes the maximum amount of compute resources allowed for use by the running container. + */ + limits?: Schema$PolicyControllerResourceList; + /** + * Requests describes the amount of compute resources reserved for the container by the kube-scheduler. + */ + requests?: Schema$PolicyControllerResourceList; + } + /** + * **Policy Controller**: Configuration for a single cluster. Intended to parallel the PolicyController CR. + */ + export interface Schema$PolicyControllerSpec { + /** + * Policy Controller configuration for the cluster. + */ + policyControllerHubConfig?: Schema$PolicyControllerHubConfig; + /** + * Version of Policy Controller installed. + */ + version?: string | null; + } + /** + * **Policy Controller**: State for a single cluster. + */ + export interface Schema$PolicyControllerState { + /** + * Currently these include (also serving as map keys): 1. "admission" 2. "audit" 3. "mutation" + */ + componentStates?: { + [key: string]: Schema$PolicyControllerOnClusterState; + } | null; + /** + * The overall content state observed by the Hub Feature controller. + */ + policyContentState?: Schema$PolicyControllerPolicyContentState; + /** + * The overall Policy Controller lifecycle state observed by the Hub Feature controller. + */ + state?: string | null; + } + /** + * The config specifying which default library templates to install. + */ + export interface Schema$PolicyControllerTemplateLibraryConfig { + /** + * Configures the manner in which the template library is installed on the cluster. + */ + installation?: string | null; + } + /** + * Toleration of a node taint. + */ + export interface Schema$PolicyControllerToleration { + /** + * Matches a taint effect. + */ + effect?: string | null; + /** + * Matches a taint key (not necessarily unique). + */ + key?: string | null; + /** + * Matches a taint operator. + */ + operator?: string | null; + /** + * Matches a taint value. + */ + value?: string | null; + } + /** + * AnalysisMessage is a single message produced by an analyzer, and it used to communicate to the end user about the state of their Service Mesh configuration. + */ + export interface Schema$ServiceMeshAnalysisMessage { + /** + * A UI can combine these args with a template (based on message_base.type) to produce an internationalized message. + */ + args?: {[key: string]: any} | null; + /** + * A human readable description of what the error means. It is suitable for non-internationalize display purposes. + */ + description?: string | null; + /** + * Details common to all types of Istio and ServiceMesh analysis messages. + */ + messageBase?: Schema$ServiceMeshAnalysisMessageBase; + /** + * A list of strings specifying the resource identifiers that were the cause of message generation. A "path" here may be: * MEMBERSHIP_ID if the cause is a specific member cluster * MEMBERSHIP_ID/(NAMESPACE\/)?RESOURCETYPE/NAME if the cause is a resource in a cluster + */ + resourcePaths?: string[] | null; + } + /** + * AnalysisMessageBase describes some common information that is needed for all messages. + */ + export interface Schema$ServiceMeshAnalysisMessageBase { + /** + * A url pointing to the Service Mesh or Istio documentation for this specific error type. + */ + documentationUrl?: string | null; + /** + * Represents how severe a message is. + */ + level?: string | null; + /** + * Represents the specific type of a message. + */ + type?: Schema$ServiceMeshType; + } + /** + * Condition being reported. + */ + export interface Schema$ServiceMeshCondition { + /** + * Unique identifier of the condition which describes the condition recognizable to the user. + */ + code?: string | null; + /** + * A short summary about the issue. + */ + details?: string | null; + /** + * Links contains actionable information. + */ + documentationLink?: string | null; + /** + * Severity level of the condition. + */ + severity?: string | null; + } + /** + * Status of control plane management. + */ + export interface Schema$ServiceMeshControlPlaneManagement { + /** + * Explanation of state. + */ + details?: Schema$ServiceMeshStatusDetails[]; + /** + * Output only. Implementation of managed control plane. + */ + implementation?: string | null; + /** + * LifecycleState of control plane management. + */ + state?: string | null; + } + /** + * Status of data plane management. Only reported per-member. + */ + export interface Schema$ServiceMeshDataPlaneManagement { + /** + * Explanation of the status. + */ + details?: Schema$ServiceMeshStatusDetails[]; + /** + * Lifecycle status of data plane management. + */ + state?: string | null; + } + /** + * **Service Mesh**: Spec for a single Membership for the servicemesh feature + */ + export interface Schema$ServiceMeshSpec { + /** + * Optional. Specifies the API that will be used for configuring the mesh workloads. + */ + configApi?: string | null; + /** + * Deprecated: use `management` instead Enables automatic control plane management. + */ + controlPlane?: string | null; + /** + * Determines which release channel to use for default injection and service mesh APIs. + */ + defaultChannel?: string | null; + /** + * Optional. Enables automatic Service Mesh management. + */ + management?: string | null; + } + /** + * **Service Mesh**: State for a single Membership, as analyzed by the Service Mesh Hub Controller. + */ + export interface Schema$ServiceMeshState { + /** + * Output only. Results of running Service Mesh analyzers. + */ + analysisMessages?: Schema$ServiceMeshAnalysisMessage[]; + /** + * Output only. List of conditions reported for this membership. + */ + conditions?: Schema$ServiceMeshCondition[]; + /** + * The API version (i.e. Istio CRD version) for configuring service mesh in this cluster. This version is influenced by the `default_channel` field. + */ + configApiVersion?: string | null; + /** + * Output only. Status of control plane management + */ + controlPlaneManagement?: Schema$ServiceMeshControlPlaneManagement; + /** + * Output only. Status of data plane management. + */ + dataPlaneManagement?: Schema$ServiceMeshDataPlaneManagement; + } + /** + * Structured and human-readable details for a status. + */ + export interface Schema$ServiceMeshStatusDetails { + /** + * A machine-readable code that further describes a broad status. + */ + code?: string | null; + /** + * Human-readable explanation of code. + */ + details?: string | null; + } + /** + * A unique identifier for the type of message. Display_name is intended to be human-readable, code is intended to be machine readable. There should be a one-to-one mapping between display_name and code. (i.e. do not re-use display_names or codes between message types.) See istio.analysis.v1alpha1.AnalysisMessageBase.Type + */ + export interface Schema$ServiceMeshType { + /** + * A 7 character code matching `^IST[0-9]{4\}$` or `^ASM[0-9]{4\}$`, intended to uniquely identify the message type. (e.g. "IST0001" is mapped to the "InternalError" message type.) + */ + code?: string | null; + /** + * A human-readable name for the message type. e.g. "InternalError", "PodMissingProxy". This should be the same for all messages of the same type. (This corresponds to the `name` field in open-source Istio.) + */ + displayName?: string | null; + } + /** + * High-level state of a MembershipFeature. + */ + export interface Schema$State { + /** + * The high-level, machine-readable status of this MembershipFeature. + */ + code?: string | null; + /** + * A human-readable description of the current status. + */ + description?: string | null; + /** + * The time this status and any related Feature-specific details were updated. + */ + updateTime?: string | null; + } + /** + * **WorkloadCertificate**: The membership-specific input for WorkloadCertificate feature. + */ + export interface Schema$WorkloadCertificateSpec { + /** + * CertificateManagement specifies workload certificate management. + */ + certificateManagement?: string | null; + } + + export class Resource$Projects { + context: APIRequestContext; + locations: Resource$Projects$Locations; + constructor(context: APIRequestContext) { + this.context = context; + this.locations = new Resource$Projects$Locations(this.context); + } + } + + export class Resource$Projects$Locations { + context: APIRequestContext; + memberships: Resource$Projects$Locations$Memberships; + operations: Resource$Projects$Locations$Operations; + constructor(context: APIRequestContext) { + this.context = context; + this.memberships = new Resource$Projects$Locations$Memberships( + this.context + ); + this.operations = new Resource$Projects$Locations$Operations( + this.context + ); + } + + /** + * Gets information about a location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://gkehub.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists information about the supported locations for this service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://gkehub.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}/locations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Get + extends StandardParameters { + /** + * Resource name for the location. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$List + extends StandardParameters { + /** + * A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160). + */ + filter?: string; + /** + * The resource that owns the locations collection, if applicable. + */ + name?: string; + /** + * The maximum number of results to return. If not set, the service selects a default. + */ + pageSize?: number; + /** + * A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page. + */ + pageToken?: string; + } + + export class Resource$Projects$Locations$Memberships { + context: APIRequestContext; + features: Resource$Projects$Locations$Memberships$Features; + constructor(context: APIRequestContext) { + this.context = context; + this.features = new Resource$Projects$Locations$Memberships$Features( + this.context + ); + } + } + + export class Resource$Projects$Locations$Memberships$Features { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates membershipFeature under a given parent. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Memberships$Features$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Memberships$Features$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Memberships$Features$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Memberships$Features$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Memberships$Features$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Memberships$Features$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Memberships$Features$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Memberships$Features$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://gkehub.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+parent}/features').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** - * The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + * Removes a membershipFeature. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. */ - response?: {[key: string]: any} | null; - } + delete( + params: Params$Resource$Projects$Locations$Memberships$Features$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Memberships$Features$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Memberships$Features$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Memberships$Features$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Memberships$Features$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Memberships$Features$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Memberships$Features$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; - export class Resource$Projects { - context: APIRequestContext; - locations: Resource$Projects$Locations; - constructor(context: APIRequestContext) { - this.context = context; - this.locations = new Resource$Projects$Locations(this.context); - } - } + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Memberships$Features$Delete; + options = {}; + } - export class Resource$Projects$Locations { - context: APIRequestContext; - operations: Resource$Projects$Locations$Operations; - constructor(context: APIRequestContext) { - this.context = context; - this.operations = new Resource$Projects$Locations$Operations( - this.context - ); + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://gkehub.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } } /** - * Gets information about a location. + * ========= MembershipFeature Services ========= Gets details of a membershipFeature. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -254,49 +2297,53 @@ export namespace gkehub_v2beta { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Projects$Locations$Get, + params: Params$Resource$Projects$Locations$Memberships$Features$Get, options: StreamMethodOptions ): GaxiosPromise; get( - params?: Params$Resource$Projects$Locations$Get, + params?: Params$Resource$Projects$Locations$Memberships$Features$Get, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; get( - params: Params$Resource$Projects$Locations$Get, + params: Params$Resource$Projects$Locations$Memberships$Features$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Memberships$Features$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Get, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Memberships$Features$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Memberships$Features$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Get; + {}) as Params$Resource$Projects$Locations$Memberships$Features$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Get; + params = + {} as Params$Resource$Projects$Locations$Memberships$Features$Get; options = {}; } @@ -321,17 +2368,17 @@ export namespace gkehub_v2beta { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists information about the supported locations for this service. + * Lists MembershipFeatures in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -339,54 +2386,57 @@ export namespace gkehub_v2beta { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Projects$Locations$List, + params: Params$Resource$Projects$Locations$Memberships$Features$List, options: StreamMethodOptions ): GaxiosPromise; list( - params?: Params$Resource$Projects$Locations$List, + params?: Params$Resource$Projects$Locations$Memberships$Features$List, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; list( - params: Params$Resource$Projects$Locations$List, + params: Params$Resource$Projects$Locations$Memberships$Features$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$List, + params: Params$Resource$Projects$Locations$Memberships$Features$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$List, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Memberships$Features$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Projects$Locations$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Memberships$Features$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$List; + {}) as Params$Resource$Projects$Locations$Memberships$Features$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$List; + params = + {} as Params$Resource$Projects$Locations$Memberships$Features$List; options = {}; } @@ -399,7 +2449,7 @@ export namespace gkehub_v2beta { const parameters = { options: Object.assign( { - url: (rootUrl + '/v2beta/{+name}/locations').replace( + url: (rootUrl + '/v2beta/{+parent}/features').replace( /([^:]\/)\/+/g, '$1' ), @@ -409,46 +2459,193 @@ export namespace gkehub_v2beta { options ), params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates an existing MembershipFeature. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Memberships$Features$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Memberships$Features$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Memberships$Features$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Memberships$Features$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Memberships$Features$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Memberships$Features$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Memberships$Features$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Memberships$Features$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://gkehub.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, requiredParams: ['name'], pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } } - export interface Params$Resource$Projects$Locations$Get + export interface Params$Resource$Projects$Locations$Memberships$Features$Create extends StandardParameters { /** - * Resource name for the location. + * Required. The ID of the membership_feature to create. + */ + featureId?: string; + /** + * Required. The name of parent where the MembershipFeature will be created. Specified in the format `projects/x/locations/x/memberships/x`. + */ + parent?: string; + /** + * Idempotent request UUID. + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$MembershipFeature; + } + export interface Params$Resource$Projects$Locations$Memberships$Features$Delete + extends StandardParameters { + /** + * Required. The name of the membershipFeature to be deleted. Specified in the format `projects/x/locations/x/memberships/x/features/x`. */ name?: string; + /** + * Idempotent request UUID. + */ + requestId?: string; } - export interface Params$Resource$Projects$Locations$List + export interface Params$Resource$Projects$Locations$Memberships$Features$Get extends StandardParameters { /** - * A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160). + * Required. The MembershipFeature resource name in the format `projects/x/locations/x/memberships/x/features/x`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Memberships$Features$List + extends StandardParameters { + /** + * Lists MembershipFeatures that match the filter expression, following the syntax outlined in https://google.aip.dev/160. Examples: - Feature with the name "helloworld" in project "foo-proj" and membership "member-bar": name = "projects/foo-proj/locations/global/memberships/member-bar/features/helloworld" - Features that have a label called `foo`: labels.foo:* - Features that have a label called `foo` whose value is `bar`: labels.foo = bar */ filter?: string; /** - * The resource that owns the locations collection, if applicable. + * One or more fields to compare and use to sort the output. See https://google.aip.dev/132#ordering. */ - name?: string; + orderBy?: string; /** - * The maximum number of results to return. If not set, the service selects a default. + * When requesting a 'page' of resources, `page_size` specifies number of resources to return. If unspecified or set to 0, all resources will be returned. */ pageSize?: number; /** - * A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page. + * Token returned by previous call to `ListFeatures` which specifies the position in the list from where to continue listing the resources. */ pageToken?: string; + /** + * Required. The parent where the MembershipFeature will be listed. In the format: `projects/x/locations/x/memberships/x`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Memberships$Features$Patch + extends StandardParameters { + /** + * Optional. If set to true, and the MembershipFeature is not found, a new MembershipFeature will be created. In this situation, `update_mask` is ignored. + */ + allowMissing?: boolean; + /** + * Output only. The resource name of the membershipFeature, in the format: `projects/{project\}/locations/{location\}/memberships/{membership\}/features/{feature\}`. Note that `membershipFeatures` is shortened to `features` in the resource name. (see http://go/aip/122#collection-identifiers) + */ + name?: string; + /** + * Idempotent request UUID. + */ + requestId?: string; + /** + * Required. Mask of fields to update. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$MembershipFeature; } export class Resource$Projects$Locations$Operations { @@ -458,7 +2655,7 @@ export namespace gkehub_v2beta { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/gkeonprem/v1.ts b/src/apis/gkeonprem/v1.ts index c0bb8b0cc1..19b4f69954 100644 --- a/src/apis/gkeonprem/v1.ts +++ b/src/apis/gkeonprem/v1.ts @@ -2090,7 +2090,12 @@ export namespace gkeonprem_v1 { /** * VmwareAdminMetalLbConfig represents configuration parameters for a MetalLB load balancer. For admin clusters, currently no configurations is needed. */ - export interface Schema$VmwareAdminMetalLbConfig {} + export interface Schema$VmwareAdminMetalLbConfig { + /** + * Whether MetalLB is enabled. + */ + enabled?: boolean | null; + } /** * VmwareAdminNetworkConfig contains network configuration for VMware admin cluster. */ @@ -7176,7 +7181,7 @@ export namespace gkeonprem_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -7581,6 +7586,95 @@ export namespace gkeonprem_v1 { ); } + /** + * Creates a new VMware admin cluster in a given project and location. The API needs to be combined with creating a bootstrap cluster to work. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Vmwareadminclusters$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Vmwareadminclusters$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Vmwareadminclusters$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Vmwareadminclusters$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Vmwareadminclusters$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Vmwareadminclusters$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Vmwareadminclusters$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Vmwareadminclusters$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://gkeonprem.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/vmwareAdminClusters').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Enrolls an existing VMware admin cluster to the Anthos On-Prem API within a given project and location. Through enrollment, an existing admin cluster will become Anthos On-Prem API managed. The corresponding GCP resources will be created and all future modifications to the cluster will be expected to be performed through the API. * @@ -8307,6 +8401,30 @@ export namespace gkeonprem_v1 { } } + export interface Params$Resource$Projects$Locations$Vmwareadminclusters$Create + extends StandardParameters { + /** + * Optional. If set to true, CLM will force CCFE to persist the cluster resource in RMS when the creation fails during standalone preflight checks. In that case the subsequent create call will fail with "cluster already exists" error and hence a update cluster is required to fix the cluster. + */ + allowPreflightFailure?: boolean; + /** + * Required. The parent of the project and location where the cluster is created in. Format: "projects/{project\}/locations/{location\}" + */ + parent?: string; + /** + * Validate the request without actually doing any updates. + */ + validateOnly?: boolean; + /** + * Required. User provided identifier that is used as part of the resource name; must conform to RFC-1034 and additionally restrict to lower-cased letters. This comes out roughly to: /^a-z+[a-z0-9]$/ + */ + vmwareAdminClusterId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$VmwareAdminCluster; + } export interface Params$Resource$Projects$Locations$Vmwareadminclusters$Enroll extends StandardParameters { /** diff --git a/src/apis/healthcare/v1.ts b/src/apis/healthcare/v1.ts index f5aec45653..4f24f98586 100644 --- a/src/apis/healthcare/v1.ts +++ b/src/apis/healthcare/v1.ts @@ -124,6 +124,15 @@ export namespace healthcare_v1 { } } + /** + * Configures consent audit log config for FHIR create, read, update, and delete (CRUD) operations. Cloud audit log for healthcare API must be [enabled](https://cloud.google.com/logging/docs/audit/configure-data-access#config-console-enable). The consent-related logs are included as part of `protoPayload.metadata`. + */ + export interface Schema$AccessDeterminationLogConfig { + /** + * Optional. Controls the amount of detail to include as part of the audit logs. + */ + logLevel?: string | null; + } /** * Activates the latest revision of the specified Consent by committing a new revision with `state` updated to `ACTIVE`. If the latest revision of the given Consent is in the `ACTIVE` state, no new revision is committed. A FAILED_PRECONDITION error occurs if the latest revision of the given consent is in the `REJECTED` or `REVOKED` state. */ @@ -141,6 +150,15 @@ export namespace healthcare_v1 { */ ttl?: string | null; } + /** + * List of admin Consent resources to be applied. + */ + export interface Schema$AdminConsents { + /** + * Optional. The versioned names of the admin Consent resource(s), in the format `projects/{project_id\}/locations/{location\}/datasets/{dataset_id\}/fhirStores/{fhir_store_id\}/fhir/Consent/{resource_id\}/_history/{version_id\}`. For FHIR stores with `disable_resource_versioning=true`, the format is `projects/{project_id\}/locations/{location\}/datasets/{dataset_id\}/fhirStores/{fhir_store_id\}/fhir/Consent/{resource_id\}`. + */ + names?: string[] | null; + } /** * The request to analyze healthcare entities in a document. */ @@ -179,6 +197,87 @@ export namespace healthcare_v1 { */ relationships?: Schema$EntityMentionRelationship[]; } + /** + * Contains the error details of the unsupported admin Consent resources for when the ApplyAdminConsents method fails to apply one or more Consent resources. + */ + export interface Schema$ApplyAdminConsentsErrorDetail { + /** + * The list of Consent resources that are unsupported or cannot be applied and the error associated with each of them. + */ + consentErrors?: Schema$ConsentErrors[]; + /** + * The currently in progress non-validate-only ApplyAdminConsents operation ID if exist. + */ + existingOperationId?: string | null; + } + /** + * Request to apply the admin Consent resources for the specified FHIR store. + */ + export interface Schema$ApplyAdminConsentsRequest { + /** + * A new list of admin Consent resources to be applied. Any existing enforced Consents, which are specified in `consent_config.enforced_admin_consents` of the FhirStore, that are not part of this list will be disabled. An empty list is equivalent to clearing or disabling all Consents enforced on the FHIR store. When a FHIR store has `disable_resource_versioning=true` and this list contains a Consent resource that exists in `consent_config.enforced_admin_consents`, the method enforces any updates to the existing resource since the last enforcement. If the existing resource hasn't been updated since the last enforcement, the resource is unaffected. After the method finishes, the resulting consent enforcement model is determined by the contents of the Consent resource(s) when the method was called: * When `disable_resource_versioning=true`, the result is identical to the current resource(s) in the FHIR store. * When `disable_resource_versioning=false`, the result is based on the historical version(s) of the Consent resource(s) at the point in time when the method was called. At most 200 Consents can be specified. + */ + newConsentsList?: Schema$AdminConsents; + /** + * Optional. If true, the method only validates Consent resources to make sure they are supported. Otherwise, the method applies the aggregate consent information to update the enforcement model and reindex the FHIR resources. If all Consent resources can be applied successfully, the ApplyAdminConsentsResponse is returned containing the following fields: * `consent_apply_success` to indicate the number of Consent resources applied. * `affected_resources` to indicate the number of resources that might have had their consent access changed. If, however, one or more Consent resources are unsupported or cannot be applied, the method fails and ApplyAdminConsentsErrorDetail is is returned with details about the unsupported Consent resources. + */ + validateOnly?: boolean | null; + } + /** + * Response when all admin Consent resources in scope were processed and all affected resources were reindexed successfully. This structure will be included in the response when the operation finishes successfully. + */ + export interface Schema$ApplyAdminConsentsResponse { + /** + * The number of resources (including the Consent resources) that may have consent access change. + */ + affectedResources?: string | null; + /** + * If `validate_only=false` in ApplyAdminConsentsRequest, this counter contains the number of Consent resources that were successfully applied. Otherwise, it is the number of Consent resources that are supported. + */ + consentApplySuccess?: string | null; + /** + * The number of resources (including the Consent resources) that ApplyAdminConsents failed to re-index. + */ + failedResources?: string | null; + } + /** + * Request to apply the Consent resources for the specified FHIR store. + */ + export interface Schema$ApplyConsentsRequest { + /** + * Optional. Scope down to a list of patients. + */ + patientScope?: Schema$PatientScope; + /** + * Optional. Scope down to patients whose most recent consent changes are in the time range. Can only be used with a versioning store (i.e. when disable_resource_versioning is set to false). + */ + timeRange?: Schema$TimeRange; + /** + * Optional. If true, the method only validates Consent resources to make sure they are supported. When the operation completes, ApplyConsentsResponse is returned where `consent_apply_success` and `consent_apply_failure` indicate supported and unsupported (or invalid) Consent resources, respectively. Otherwise, the method propagates the aggregate consensual information to the patient's resources. Upon success, `affected_resources` in the ApplyConsentsResponse indicates the number of resources that may have consensual access changed. + */ + validateOnly?: boolean | null; + } + /** + * Response when all Consent resources in scope were processed and all affected resources were reindexed successfully. This structure is included in the response when the operation finishes successfully. + */ + export interface Schema$ApplyConsentsResponse { + /** + * The number of resources (including the Consent resources) that may have consensual access change. + */ + affectedResources?: string | null; + /** + * If `validate_only = false` in ApplyConsentsRequest, this counter is the number of Consent resources that were failed to apply. Otherwise, it is the number of Consent resources that are not supported or invalid. + */ + consentApplyFailure?: string | null; + /** + * If `validate_only = false` in ApplyConsentsRequest, this counter is the number of Consent resources that were successfully applied. Otherwise, it is the number of Consent resources that are supported. + */ + consentApplySuccess?: string | null; + /** + * The number of resources (including the Consent resources) that ApplyConsents failed to re-index. + */ + failedResources?: string | null; + } /** * Archives the specified User data mapping. */ @@ -307,7 +406,7 @@ export namespace healthcare_v1 { */ export interface Schema$CharacterMaskConfig { /** - * Character to mask the sensitive values. If not supplied, defaults to "*". + * Optional. Character to mask the sensitive values. If not supplied, defaults to "*". */ maskingCharacter?: string | null; } @@ -390,6 +489,23 @@ export namespace healthcare_v1 { */ userId?: string | null; } + /** + * The accessor scope that describes who can access, for what purpose, in which environment. + */ + export interface Schema$ConsentAccessorScope { + /** + * An individual, group, or access role that identifies the accessor or a characteristic of the accessor. This can be a resource ID (such as `{resourceType\}/{id\}`) or an external URI. This value must be present. + */ + actor?: string | null; + /** + * An abstract identifier that describes the environment or conditions under which the accessor is acting. Can be "*" if it applies to all environments. + */ + environment?: string | null; + /** + * The intent of data use. Can be "*" if it applies to all purposes. + */ + purpose?: string | null; + } /** * Documentation of a user's consent. */ @@ -427,6 +543,44 @@ export namespace healthcare_v1 { */ witnessSignature?: Schema$Signature; } + /** + * Configures whether to enforce consent for the FHIR store and which consent enforcement version is being used. + */ + export interface Schema$ConsentConfig { + /** + * Optional. Specifies how the server logs the consent-aware requests. If not specified, the `AccessDeterminationLogConfig.LogLevel.MINIMUM` option is used. + */ + accessDeterminationLogConfig?: Schema$AccessDeterminationLogConfig; + /** + * Optional. The default value is false. If set to true, when accessing FHIR resources, the consent headers will be verified against consents given by patients. See the ConsentEnforcementVersion for the supported consent headers. + */ + accessEnforced?: boolean | null; + /** + * Optional. Different options to configure the behaviour of the server when handling the `X-Consent-Scope` header. + */ + consentHeaderHandling?: Schema$ConsentHeaderHandling; + /** + * Output only. The versioned names of the enforced admin Consent resource(s), in the format `projects/{project_id\}/locations/{location\}/datasets/{dataset_id\}/fhirStores/{fhir_store_id\}/fhir/Consent/{resource_id\}/_history/{version_id\}`. For FHIR stores with `disable_resource_versioning=true`, the format is `projects/{project_id\}/locations/{location\}/datasets/{dataset_id\}/fhirStores/{fhir_store_id\}/fhir/Consent/{resource_id\}`. This field can only be updated using ApplyAdminConsents. + */ + enforcedAdminConsents?: string[] | null; + /** + * Required. Specifies which consent enforcement version is being used for this FHIR store. This field can only be set once by either CreateFhirStore or UpdateFhirStore. After that, you must call ApplyConsents to change the version. + */ + version?: string | null; + } + /** + * The Consent resource name and error. + */ + export interface Schema$ConsentErrors { + /** + * The error code and message. + */ + error?: Schema$Status; + /** + * The versioned name of the admin Consent resource, in the format `projects/{project_id\}/locations/{location\}/datasets/{dataset_id\}/fhirStores/{fhir_store_id\}/fhir/Consent/{resource_id\}/_history/{version_id\}`. For FHIR stores with `disable_resource_versioning=true`, the format is `projects/{project_id\}/locations/{location\}/datasets/{dataset_id\}/fhirStores/{fhir_store_id\}/fhir/Consent/{resource_id\}`. + */ + name?: string | null; + } /** * The detailed evaluation of a particular Consent. */ @@ -436,6 +590,15 @@ export namespace healthcare_v1 { */ evaluationResult?: string | null; } + /** + * How the server handles the consent header. + */ + export interface Schema$ConsentHeaderHandling { + /** + * Optional. Specifies the default server behavior when the header is empty. If not specified, the `ScopeProfile.PERMIT_EMPTY_SCOPE` option is used. + */ + profile?: string | null; + } /** * List of resource names of Consent resources. */ @@ -523,11 +686,11 @@ export namespace healthcare_v1 { */ export interface Schema$DeidentifiedStoreDestination { /** - * The configuration to use when de-identifying resources that are added to this store. + * Optional. The configuration to use when de-identifying resources that are added to this store. */ config?: Schema$DeidentifyConfig; /** - * The full resource name of a Cloud Healthcare FHIR store, for example, `projects/{project_id\}/locations/{location_id\}/datasets/{dataset_id\}/fhirStores/{fhir_store_id\}`. + * Optional. The full resource name of a Cloud Healthcare FHIR store, for example, `projects/{project_id\}/locations/{location_id\}/datasets/{dataset_id\}/fhirStores/{fhir_store_id\}`. */ store?: string | null; } @@ -536,23 +699,23 @@ export namespace healthcare_v1 { */ export interface Schema$DeidentifyConfig { /** - * Configures de-id of application/DICOM content. + * Optional. Configures de-id of application/DICOM content. */ dicom?: Schema$DicomConfig; /** - * Configures de-id of application/FHIR content. + * Optional. Configures de-id of application/FHIR content. */ fhir?: Schema$FhirConfig; /** - * Configures de-identification of image pixels wherever they are found in the source_dataset. + * Optional. Configures de-identification of image pixels wherever they are found in the source_dataset. */ image?: Schema$ImageConfig; /** - * Configures de-identification of text wherever it is found in the source_dataset. + * Optional. Configures de-identification of text wherever it is found in the source_dataset. */ text?: Schema$TextConfig; /** - * Ensures in-flight data remains in the region of origin during de-identification. The default value is false. Using this option results in a significant reduction of throughput, and is not compatible with `LOCATION` or `ORGANIZATION_NAME` infoTypes. `LOCATION` must be excluded within TextConfig, and must also be excluded within ImageConfig if image redaction is required. + * Optional. Ensures in-flight data remains in the region of origin during de-identification. The default value is false. Using this option results in a significant reduction of throughput, and is not compatible with `LOCATION` or `ORGANIZATION_NAME` infoTypes. `LOCATION` must be excluded within TextConfig, and must also be excluded within ImageConfig if image redaction is required. */ useRegionalDataProcessing?: boolean | null; } @@ -640,7 +803,7 @@ export namespace healthcare_v1 { */ removeList?: Schema$TagFilterList; /** - * If true, skip replacing StudyInstanceUID, SeriesInstanceUID, SOPInstanceUID, and MediaStorageSOPInstanceUID and leave them untouched. The Cloud Healthcare API regenerates these UIDs by default based on the DICOM Standard's reasoning: "Whilst these UIDs cannot be mapped directly to an individual out of context, given access to the original images, or to a database of the original images containing the UIDs, it would be possible to recover the individual's identity." http://dicom.nema.org/medical/dicom/current/output/chtml/part15/sect_E.3.9.html + * Optional. If true, skip replacing StudyInstanceUID, SeriesInstanceUID, SOPInstanceUID, and MediaStorageSOPInstanceUID and leave them untouched. The Cloud Healthcare API regenerates these UIDs by default based on the DICOM Standard's reasoning: "Whilst these UIDs cannot be mapped directly to an individual out of context, given access to the original images, or to a database of the original images containing the UIDs, it would be possible to recover the individual's identity." http://dicom.nema.org/medical/dicom/current/output/chtml/part15/sect_E.3.9.html */ skipIdRedaction?: boolean | null; } @@ -830,6 +993,73 @@ export namespace healthcare_v1 { */ results?: Schema$Result[]; } + /** + * The enforcing consent's metadata. + */ + export interface Schema$ExplainDataAccessConsentInfo { + /** + * The compartment base resources that matched a cascading policy. Each resource has the following format: `projects/{project_id\}/locations/{location_id\}/datasets/{dataset_id\}/fhirStores/{fhir_store_id\}/fhir/{resource_type\}/{resource_id\}` + */ + cascadeOrigins?: string[] | null; + /** + * The resource name of this consent resource, in the format: `projects/{project_id\}/locations/{location\}/datasets/{dataset_id\}/fhirStores/{fhir_store_id\}/fhir/Consent/{resource_id\}`. + */ + consentResource?: string | null; + /** + * Last enforcement timestamp of this consent resource. + */ + enforcementTime?: string | null; + /** + * A list of all the matching accessor scopes of this consent policy that enforced ExplainDataAccessConsentScope.accessor_scope. + */ + matchingAccessorScopes?: Schema$ConsentAccessorScope[]; + /** + * The patient owning the consent (only applicable for patient consents), in the format: `projects/{project_id\}/locations/{location_id\}/datasets/{dataset_id\}/fhirStores/{fhir_store_id\}/fhir/Patient/{patient_id\}` + */ + patientConsentOwner?: string | null; + /** + * The policy type of consent resource (e.g. PATIENT, ADMIN). + */ + type?: string | null; + /** + * The consent's variant combinations. A single consent may have multiple variants. + */ + variants?: string[] | null; + } + /** + * A single consent scope that provides info on who has access to the requested resource scope for a particular purpose and environment, enforced by which consent. + */ + export interface Schema$ExplainDataAccessConsentScope { + /** + * The accessor scope that describes who can access, for what purpose, and in which environment. + */ + accessorScope?: Schema$ConsentAccessorScope; + /** + * Whether the current consent scope is permitted or denied access on the requested resource. + */ + decision?: string | null; + /** + * Metadata of the consent resources that enforce the consent scope's access. + */ + enforcingConsents?: Schema$ExplainDataAccessConsentInfo[]; + /** + * Other consent scopes that created exceptions within this scope. + */ + exceptions?: Schema$ExplainDataAccessConsentScope[]; + } + /** + * List of consent scopes that are applicable to the explained access on a given resource. + */ + export interface Schema$ExplainDataAccessResponse { + /** + * List of applicable consent scopes. Sorted in order of actor such that scopes belonging to the same actor will be adjacent to each other in the list. + */ + consentScopes?: Schema$ExplainDataAccessConsentScope[]; + /** + * Warnings associated with this response. It inform user with exceeded scope limit errors. + */ + warning?: string | null; + } /** * Exports data from the specified DICOM store. If a given resource, such as a DICOM object with the same SOPInstance UID, already exists in the output, it is overwritten with the version in the source dataset. Exported DICOM data persists when the DICOM store from which it was exported is deleted. */ @@ -940,11 +1170,11 @@ export namespace healthcare_v1 { */ export interface Schema$FhirConfig { /** - * The behaviour for handling FHIR extensions that aren't otherwise specified for de-identification. If true, all extensions are preserved during de-identification by default. If false or unspecified, all extensions are removed during de-identification by default. + * Optional. The behaviour for handling FHIR extensions that aren't otherwise specified for de-identification. If true, all extensions are preserved during de-identification by default. If false or unspecified, all extensions are removed during de-identification by default. */ defaultKeepExtensions?: boolean | null; /** - * Specifies FHIR paths to match and how to transform them. Any field that is not matched by a FieldMetadata is passed through to the output dataset unmodified. All extensions will be processed according to `default_keep_extensions`. + * Optional. Specifies FHIR paths to match and how to transform them. Any field that is not matched by a FieldMetadata is passed through to the output dataset unmodified. All extensions will be processed according to `default_keep_extensions`. */ fieldMetadataList?: Schema$FieldMetadata[]; } @@ -979,9 +1209,13 @@ export namespace healthcare_v1 { */ export interface Schema$FhirStore { /** - * Enable parsing of references within complex FHIR data types such as Extensions. If this value is set to ENABLED, then features like referential integrity and Bundle reference rewriting apply to all references. If this flag has not been specified the behavior of the FHIR store will not change, references in complex data types will not be parsed. New stores will have this value set to ENABLED after a notification period. Warning: turning on this flag causes processing existing resources to fail if they contain references to non-existent resources. + * Optional. Enable parsing of references within complex FHIR data types such as Extensions. If this value is set to ENABLED, then features like referential integrity and Bundle reference rewriting apply to all references. If this flag has not been specified the behavior of the FHIR store will not change, references in complex data types will not be parsed. New stores will have this value set to ENABLED after a notification period. Warning: turning on this flag causes processing existing resources to fail if they contain references to non-existent resources. */ complexDataTypeReferenceParsing?: string | null; + /** + * Optional. Specifies whether this store has consent enforcement. Not available for DSTU2 FHIR version due to absence of Consent resources. + */ + consentConfig?: Schema$ConsentConfig; /** * Optional. If true, overrides the default search behavior for this FHIR store to `handling=strict` which returns an error for unrecognized search parameters. If false, uses the FHIR specification default `handling=lenient` which ignores unrecognized search parameters. The handling can always be changed from the default on an individual API call by setting the HTTP header `Prefer: handling=strict` or `Prefer: handling=lenient`. Defaults to false. */ @@ -1019,7 +1253,7 @@ export namespace healthcare_v1 { */ streamConfigs?: Schema$StreamConfig[]; /** - * Configuration for how to validate incoming FHIR resources against configured profiles. + * Optional. Configuration for how to validate incoming FHIR resources against configured profiles. */ validationConfig?: Schema$ValidationConfig; /** @@ -1087,11 +1321,11 @@ export namespace healthcare_v1 { */ export interface Schema$FieldMetadata { /** - * Deidentify action for one field. + * Optional. Deidentify action for one field. */ action?: string | null; /** - * List of paths to FHIR fields to be redacted. Each path is a period-separated list where each component is either a field name or FHIR type name, for example: Patient, HumanName. For "choice" types (those defined in the FHIR spec with the form: field[x]) we use two separate components. For example, "deceasedAge.unit" is matched by "Deceased.Age.unit". Supported types are: AdministrativeGenderCode, Base64Binary, Boolean, Code, Date, DateTime, Decimal, HumanName, Id, Instant, Integer, LanguageCode, Markdown, Oid, PositiveInt, String, UnsignedInt, Uri, Uuid, Xhtml. + * Optional. List of paths to FHIR fields to be redacted. Each path is a period-separated list where each component is either a field name or FHIR type name, for example: Patient, HumanName. For "choice" types (those defined in the FHIR spec with the form: field[x]) we use two separate components. For example, "deceasedAge.unit" is matched by "Deceased.Age.unit". Supported types are: AdministrativeGenderCode, Base64Binary, Boolean, Code, Date, DateTime, Decimal, HumanName, Id, Instant, Integer, LanguageCode, Markdown, Oid, PositiveInt, String, UnsignedInt, Uri, Uuid, Xhtml. */ paths?: string[] | null; } @@ -1156,15 +1390,15 @@ export namespace healthcare_v1 { */ export interface Schema$GoogleCloudHealthcareV1DicomBigQueryDestination { /** - * Use `write_disposition` instead. If `write_disposition` is specified, this parameter is ignored. force=false is equivalent to write_disposition=WRITE_EMPTY and force=true is equivalent to write_disposition=WRITE_TRUNCATE. + * Optional. Use `write_disposition` instead. If `write_disposition` is specified, this parameter is ignored. force=false is equivalent to write_disposition=WRITE_EMPTY and force=true is equivalent to write_disposition=WRITE_TRUNCATE. */ force?: boolean | null; /** - * BigQuery URI to a table, up to 2000 characters long, in the format `bq://projectId.bqDatasetId.tableId` + * Optional. BigQuery URI to a table, up to 2000 characters long, in the format `bq://projectId.bqDatasetId.tableId` */ tableUri?: string | null; /** - * Determines whether the existing table in the destination is to be overwritten or appended to. If a write_disposition is specified, the `force` parameter is ignored. + * Optional. Determines whether the existing table in the destination is to be overwritten or appended to. If a write_disposition is specified, the `force` parameter is ignored. */ writeDisposition?: string | null; } @@ -1374,7 +1608,7 @@ export namespace healthcare_v1 { */ export interface Schema$ImageConfig { /** - * Determines how to redact text from image. + * Optional. Determines how to redact text from image. */ textRedactionMode?: string | null; } @@ -1442,7 +1676,7 @@ export namespace healthcare_v1 { */ dateShiftConfig?: Schema$DateShiftConfig; /** - * InfoTypes to apply this transformation to. If this is not specified, the transformation applies to any info_type. + * Optional. InfoTypes to apply this transformation to. If this is not specified, the transformation applies to any info_type. */ infoTypes?: string[] | null; /** @@ -1802,7 +2036,7 @@ export namespace healthcare_v1 { */ schema?: Schema$SchemaPackage; /** - * Byte(s) to use as the segment terminator. If this is unset, '\r' is used as segment terminator, matching the HL7 version 2 specification. + * Optional. Byte(s) to use as the segment terminator. If this is unset, '\r' is used as segment terminator, matching the HL7 version 2 specification. */ segmentTerminator?: string | null; /** @@ -1823,6 +2057,15 @@ export namespace healthcare_v1 { */ value?: string | null; } + /** + * Apply consents given by a list of patients. + */ + export interface Schema$PatientScope { + /** + * Optional. The list of patient IDs whose Consent resources will be enforced. At most 10,000 patients can be specified. An empty list is equivalent to all patients (meaning the entire FHIR store). + */ + patientIds?: string[] | null; + } /** * An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { "bindings": [ { "role": "roles/resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@appspot.gserviceaccount.com" ] \}, { "role": "roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com" ], "condition": { "title": "expirable access", "description": "Does not grant access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", \} \} ], "etag": "BwWWja0YfJA=", "version": 3 \} ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). */ @@ -2290,7 +2533,7 @@ export namespace healthcare_v1 { */ bigqueryDestination?: Schema$GoogleCloudHealthcareV1FhirBigQueryDestination; /** - * The destination FHIR store for de-identified resources. After this field is added, all subsequent creates/updates/patches to the source store will be de-identified using the provided configuration and applied to the destination store. Importing resources to the source store will not trigger the streaming. If the source store already contains resources when this option is enabled, those resources will not be copied to the destination store unless they are subsequently updated. This may result in invalid references in the destination store. Before adding this config, you must grant the healthcare.fhirResources.update permission on the destination store to your project's **Cloud Healthcare Service Agent** [service account](https://cloud.google.com/healthcare/docs/how-tos/permissions-healthcare-api-gcp-products#the_cloud_healthcare_service_agent). The destination store must set enable_update_create to true. The destination store must have disable_referential_integrity set to true. If a resource cannot be de-identified, errors will be logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). + * The destination FHIR store for de-identified resources. After this field is added, all subsequent creates/updates/patches to the source store will be de-identified using the provided configuration and applied to the destination store. Resources deleted from the source store will be deleted from the destination store. Importing resources to the source store will not trigger the streaming. If the source store already contains resources when this option is enabled, those resources will not be copied to the destination store unless they are subsequently updated. This may result in invalid references in the destination store. Before adding this config, you must grant the healthcare.fhirResources.update permission on the destination store to your project's **Cloud Healthcare Service Agent** [service account](https://cloud.google.com/healthcare/docs/how-tos/permissions-healthcare-api-gcp-products#the_cloud_healthcare_service_agent). The destination store must set enable_update_create to true. The destination store must have disable_referential_integrity set to true. If a resource cannot be de-identified, errors will be logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). */ deidentifiedStoreDestination?: Schema$DeidentifiedStoreDestination; /** @@ -2337,7 +2580,7 @@ export namespace healthcare_v1 { */ export interface Schema$TagFilterList { /** - * Tags to be filtered. Tags must be DICOM Data Elements, File Meta Elements, or Directory Structuring Elements, as defined at: http://dicom.nema.org/medical/dicom/current/output/html/part06.html#table_6-1,. They may be provided by "Keyword" or "Tag". For example "PatientID", "00100010". + * Optional. Tags to be filtered. Tags must be DICOM Data Elements, File Meta Elements, or Directory Structuring Elements, as defined at: http://dicom.nema.org/medical/dicom/current/output/html/part06.html#table_6-1,. They may be provided by "Keyword" or "Tag". For example "PatientID", "00100010". */ tags?: string[] | null; } @@ -2361,15 +2604,15 @@ export namespace healthcare_v1 { } export interface Schema$TextConfig { /** - * Transformations to apply to the detected data, overridden by `exclude_info_types`. + * Optional. Transformations to apply to the detected data, overridden by `exclude_info_types`. */ additionalTransformations?: Schema$InfoTypeTransformation[]; /** - * InfoTypes to skip transforming, overriding `additional_transformations`. + * Optional. InfoTypes to skip transforming, overriding `additional_transformations`. */ excludeInfoTypes?: string[] | null; /** - * The transformations to apply to the detected data. Deprecated. Use `additional_transformations` instead. + * Optional. The transformations to apply to the detected data. Deprecated. Use `additional_transformations` instead. */ transformations?: Schema$InfoTypeTransformation[]; } @@ -2399,6 +2642,19 @@ export namespace healthcare_v1 { */ type?: string | null; } + /** + * Apply consents given by patients whose most recent consent changes are in the time range. Note that after identifying these patients, the server applies all Consent resources given by those patients, not just the Consent resources within the timestamp in the range. + */ + export interface Schema$TimeRange { + /** + * Optional. The latest consent change time, in format YYYY-MM-DDThh:mm:ss.sss+zz:zz If not specified, the system uses the time when ApplyConsents was called. + */ + end?: string | null; + /** + * Optional. The earliest consent change time, in format YYYY-MM-DDThh:mm:ss.sss+zz:zz If not specified, the system uses the FHIR store creation time. + */ + start?: string | null; + } /** * A type definition for some HL7v2 type (incl. Segments and Datatypes). */ @@ -2450,23 +2706,23 @@ export namespace healthcare_v1 { */ export interface Schema$ValidationConfig { /** - * Whether to disable FHIRPath validation for incoming resources. The default value is false. Set this to true to disable checking incoming resources for conformance against FHIRPath requirement defined in the FHIR specification. This property only affects resource types that do not have profiles configured for them, any rules in enabled implementation guides will still be enforced. + * Optional. Whether to disable FHIRPath validation for incoming resources. The default value is false. Set this to true to disable checking incoming resources for conformance against FHIRPath requirement defined in the FHIR specification. This property only affects resource types that do not have profiles configured for them, any rules in enabled implementation guides will still be enforced. */ disableFhirpathValidation?: boolean | null; /** - * Whether to disable profile validation for this FHIR store. The default value is false. Set this to true to disable checking incoming resources for conformance against structure definitions in this FHIR store. + * Optional. Whether to disable profile validation for this FHIR store. The default value is false. Set this to true to disable checking incoming resources for conformance against structure definitions in this FHIR store. */ disableProfileValidation?: boolean | null; /** - * Whether to disable reference type validation for incoming resources. The default value is false. Set this to true to disable checking incoming resources for conformance against reference type requirement defined in the FHIR specification. This property only affects resource types that do not have profiles configured for them, any rules in enabled implementation guides will still be enforced. + * Optional. Whether to disable reference type validation for incoming resources. The default value is false. Set this to true to disable checking incoming resources for conformance against reference type requirement defined in the FHIR specification. This property only affects resource types that do not have profiles configured for them, any rules in enabled implementation guides will still be enforced. */ disableReferenceTypeValidation?: boolean | null; /** - * Whether to disable required fields validation for incoming resources. The default value is false. Set this to true to disable checking incoming resources for conformance against required fields requirement defined in the FHIR specification. This property only affects resource types that do not have profiles configured for them, any rules in enabled implementation guides will still be enforced. + * Optional. Whether to disable required fields validation for incoming resources. The default value is false. Set this to true to disable checking incoming resources for conformance against required fields requirement defined in the FHIR specification. This property only affects resource types that do not have profiles configured for them, any rules in enabled implementation guides will still be enforced. */ disableRequiredFieldValidation?: boolean | null; /** - * A list of implementation guide URLs in this FHIR store that are used to configure the profiles to use for validation. For example, to use the US Core profiles for validation, set `enabled_implementation_guides` to `["http://hl7.org/fhir/us/core/ImplementationGuide/ig"]`. If `enabled_implementation_guides` is empty or omitted, then incoming resources are only required to conform to the base FHIR profiles. Otherwise, a resource must conform to at least one profile listed in the `global` property of one of the enabled ImplementationGuides. The Cloud Healthcare API does not currently enforce all of the rules in a StructureDefinition. The following rules are supported: - min/max - minValue/maxValue - maxLength - type - fixed[x] - pattern[x] on simple types - slicing, when using "value" as the discriminator type When a URL cannot be resolved (for example, in a type assertion), the server does not return an error. + * Optional. A list of implementation guide URLs in this FHIR store that are used to configure the profiles to use for validation. For example, to use the US Core profiles for validation, set `enabled_implementation_guides` to `["http://hl7.org/fhir/us/core/ImplementationGuide/ig"]`. If `enabled_implementation_guides` is empty or omitted, then incoming resources are only required to conform to the base FHIR profiles. Otherwise, a resource must conform to at least one profile listed in the `global` property of one of the enabled ImplementationGuides. The Cloud Healthcare API does not currently enforce all of the rules in a StructureDefinition. The following rules are supported: - min/max - minValue/maxValue - maxLength - type - fixed[x] - pattern[x] on simple types - slicing, when using "value" as the discriminator type When a URL cannot be resolved (for example, in a type assertion), the server does not return an error. */ enabledImplementationGuides?: string[] | null; } @@ -11550,58 +11806,58 @@ export namespace healthcare_v1 { } /** - * Creates a new FHIR store within the parent dataset. + * Applies the admin Consent resources for the FHIR store and reindexes the underlying resources in the FHIR store according to the aggregate consents. This method also updates the `consent_config.enforced_admin_consents` field of the FhirStore unless `validate_only=true` in ApplyAdminConsentsRequest. Any admin Consent resource change after this operation execution (including deletion) requires you to call ApplyAdminConsents again for the change to take effect. This method returns an Operation that can be used to track the progress of the resources that were reindexed, by calling GetOperation. Upon completion, the ApplyAdminConsentsResponse additionally contains the number of resources that were reindexed. If at least one Consent resource contains an error or fails be be enforced for any reason, the method returns an error instead of an Operation. No resources will be reindexed and the `consent_config.enforced_admin_consents` field will be unchanged. To enforce a consent check for data access, `consent_config.access_enforced` must be set to true for the FhirStore. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - create( - params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Create, + applyAdminConsents( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Applyadminconsents, options: StreamMethodOptions ): GaxiosPromise; - create( - params?: Params$Resource$Projects$Locations$Datasets$Fhirstores$Create, + applyAdminConsents( + params?: Params$Resource$Projects$Locations$Datasets$Fhirstores$Applyadminconsents, options?: MethodOptions - ): GaxiosPromise; - create( - params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Create, + ): GaxiosPromise; + applyAdminConsents( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Applyadminconsents, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + applyAdminConsents( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Applyadminconsents, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Create, - callback: BodyResponseCallback + applyAdminConsents( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Applyadminconsents, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + applyAdminConsents(callback: BodyResponseCallback): void; + applyAdminConsents( paramsOrCallback?: - | Params$Resource$Projects$Locations$Datasets$Fhirstores$Create - | BodyResponseCallback + | Params$Resource$Projects$Locations$Datasets$Fhirstores$Applyadminconsents + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Datasets$Fhirstores$Create; + {}) as Params$Resource$Projects$Locations$Datasets$Fhirstores$Applyadminconsents; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Datasets$Fhirstores$Create; + {} as Params$Resource$Projects$Locations$Datasets$Fhirstores$Applyadminconsents; options = {}; } @@ -11614,7 +11870,7 @@ export namespace healthcare_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/fhirStores').replace( + url: (rootUrl + '/v1/{+name}:applyAdminConsents').replace( /([^:]\/)\/+/g, '$1' ), @@ -11624,54 +11880,54 @@ export namespace healthcare_v1 { options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * De-identifies data from the source store and writes it to the destination store. The metadata field type is OperationMetadata. If the request is successful, the response field type is DeidentifyFhirStoreSummary. If errors occur, error is set. Error details are also logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). + * Apply the Consent resources for the FHIR store and reindex the underlying resources in the FHIR store according to the aggregate consent. The aggregate consent of the patient in scope in this request replaces any previous call of this method. Any Consent resource change after this operation execution (including deletion) requires you to call ApplyConsents again to have effect. This method returns an Operation that can be used to track the progress of the consent resources that were processed by calling GetOperation. Upon completion, the ApplyConsentsResponse additionally contains the number of resources that was reindexed. Errors are logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). To enforce consent check for data access, `consent_config.access_enforced` must be set to true for the FhirStore. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - deidentify( - params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Deidentify, + applyConsents( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Applyconsents, options: StreamMethodOptions ): GaxiosPromise; - deidentify( - params?: Params$Resource$Projects$Locations$Datasets$Fhirstores$Deidentify, + applyConsents( + params?: Params$Resource$Projects$Locations$Datasets$Fhirstores$Applyconsents, options?: MethodOptions ): GaxiosPromise; - deidentify( - params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Deidentify, + applyConsents( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Applyconsents, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - deidentify( - params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Deidentify, + applyConsents( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Applyconsents, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - deidentify( - params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Deidentify, + applyConsents( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Applyconsents, callback: BodyResponseCallback ): void; - deidentify(callback: BodyResponseCallback): void; - deidentify( + applyConsents(callback: BodyResponseCallback): void; + applyConsents( paramsOrCallback?: - | Params$Resource$Projects$Locations$Datasets$Fhirstores$Deidentify + | Params$Resource$Projects$Locations$Datasets$Fhirstores$Applyconsents | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -11684,13 +11940,13 @@ export namespace healthcare_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Datasets$Fhirstores$Deidentify; + {}) as Params$Resource$Projects$Locations$Datasets$Fhirstores$Applyconsents; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Datasets$Fhirstores$Deidentify; + {} as Params$Resource$Projects$Locations$Datasets$Fhirstores$Applyconsents; options = {}; } @@ -11703,7 +11959,7 @@ export namespace healthcare_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+sourceStore}:deidentify').replace( + url: (rootUrl + '/v1/{+name}:applyConsents').replace( /([^:]\/)\/+/g, '$1' ), @@ -11713,8 +11969,8 @@ export namespace healthcare_v1 { options ), params, - requiredParams: ['sourceStore'], - pathParams: ['sourceStore'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { @@ -11728,58 +11984,58 @@ export namespace healthcare_v1 { } /** - * Deletes the specified FHIR store and removes all resources within it. + * Creates a new FHIR store within the parent dataset. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Delete, + create( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Create, options: StreamMethodOptions ): GaxiosPromise; - delete( - params?: Params$Resource$Projects$Locations$Datasets$Fhirstores$Delete, + create( + params?: Params$Resource$Projects$Locations$Datasets$Fhirstores$Create, options?: MethodOptions - ): GaxiosPromise; - delete( - params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Delete, + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Delete, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Create, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + create(callback: BodyResponseCallback): void; + create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Datasets$Fhirstores$Delete - | BodyResponseCallback + | Params$Resource$Projects$Locations$Datasets$Fhirstores$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Datasets$Fhirstores$Delete; + {}) as Params$Resource$Projects$Locations$Datasets$Fhirstores$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Datasets$Fhirstores$Delete; + {} as Params$Resource$Projects$Locations$Datasets$Fhirstores$Create; options = {}; } @@ -11792,12 +12048,190 @@ export namespace healthcare_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', - apiVersion: '', - }, - options - ), + url: (rootUrl + '/v1/{+parent}/fhirStores').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * De-identifies data from the source store and writes it to the destination store. The metadata field type is OperationMetadata. If the request is successful, the response field type is DeidentifyFhirStoreSummary. If errors occur, error is set. Error details are also logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + deidentify( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Deidentify, + options: StreamMethodOptions + ): GaxiosPromise; + deidentify( + params?: Params$Resource$Projects$Locations$Datasets$Fhirstores$Deidentify, + options?: MethodOptions + ): GaxiosPromise; + deidentify( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Deidentify, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + deidentify( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Deidentify, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + deidentify( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Deidentify, + callback: BodyResponseCallback + ): void; + deidentify(callback: BodyResponseCallback): void; + deidentify( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datasets$Fhirstores$Deidentify + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datasets$Fhirstores$Deidentify; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Datasets$Fhirstores$Deidentify; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://healthcare.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+sourceStore}:deidentify').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['sourceStore'], + pathParams: ['sourceStore'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes the specified FHIR store and removes all resources within it. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Datasets$Fhirstores$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datasets$Fhirstores$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datasets$Fhirstores$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Datasets$Fhirstores$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://healthcare.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), params, requiredParams: ['name'], pathParams: ['name'], @@ -11813,6 +12247,102 @@ export namespace healthcare_v1 { } } + /** + * Explains all the permitted/denied actor, purpose and environment for a given resource. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + explainDataAccess( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Explaindataaccess, + options: StreamMethodOptions + ): GaxiosPromise; + explainDataAccess( + params?: Params$Resource$Projects$Locations$Datasets$Fhirstores$Explaindataaccess, + options?: MethodOptions + ): GaxiosPromise; + explainDataAccess( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Explaindataaccess, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + explainDataAccess( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Explaindataaccess, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + explainDataAccess( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Explaindataaccess, + callback: BodyResponseCallback + ): void; + explainDataAccess( + callback: BodyResponseCallback + ): void; + explainDataAccess( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datasets$Fhirstores$Explaindataaccess + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datasets$Fhirstores$Explaindataaccess; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Datasets$Fhirstores$Explaindataaccess; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://healthcare.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:explainDataAccess').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Export resources from the FHIR store to the specified destination. This method returns an Operation that can be used to track the status of the export by calling GetOperation. Immediate fatal errors appear in the error field, errors are also logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). Otherwise, when the operation finishes, a detailed response of type ExportResourcesResponse is returned in the response field. The metadata field type for this operation is OperationMetadata. * @@ -12706,6 +13236,30 @@ export namespace healthcare_v1 { } } + export interface Params$Resource$Projects$Locations$Datasets$Fhirstores$Applyadminconsents + extends StandardParameters { + /** + * Required. The name of the FHIR store to enforce, in the format `projects/{project_id\}/locations/{location_id\}/datasets/{dataset_id\}/fhirStores/{fhir_store_id\}`. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ApplyAdminConsentsRequest; + } + export interface Params$Resource$Projects$Locations$Datasets$Fhirstores$Applyconsents + extends StandardParameters { + /** + * Required. The name of the FHIR store to enforce, in the format `projects/{project_id\}/locations/{location_id\}/datasets/{dataset_id\}/fhirStores/{fhir_store_id\}`. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ApplyConsentsRequest; + } export interface Params$Resource$Projects$Locations$Datasets$Fhirstores$Create extends StandardParameters { /** @@ -12741,6 +13295,17 @@ export namespace healthcare_v1 { */ name?: string; } + export interface Params$Resource$Projects$Locations$Datasets$Fhirstores$Explaindataaccess + extends StandardParameters { + /** + * Required. The name of the FHIR store to enforce, in the format `projects/{project_id\}/locations/{location_id\}/datasets/{dataset_id\}/fhirStores/{fhir_store_id\}`. + */ + name?: string; + /** + * Required. The ID (`{resourceType\}/{id\}`) of the resource to explain data access on. + */ + resourceId?: string; + } export interface Params$Resource$Projects$Locations$Datasets$Fhirstores$Export extends StandardParameters { /** @@ -12869,7 +13434,7 @@ export namespace healthcare_v1 { } /** - * Creates a FHIR Binary resource. This method can be used to create a Binary resource either by using one of the accepted FHIR JSON content types, or as a raw data stream. If a resource is created with this method using the FHIR content type this method's behavior is the same as [`fhir.create`](https://cloud.google.com/healthcare-api/docs/reference/rest/v1/projects.locations.datasets.fhirStores.fhir/create). If a resource type other than Binary is used in the request it's treated in the same way as non-FHIR data (e.g., images, zip archives, pdf files, documents). When a non-FHIR content type is used in the request, a Binary resource will be generated, and the uploaded data will be stored in the `content` field (`DSTU2` and `STU3`), or the `data` field (`R4`). The Binary resource's `contentType` will be filled in using the value of the `Content-Type` header, and the `securityContext` field (not present in `DSTU2`) will be populated from the `X-Security-Context` header if it exists. At this time `securityContext` has no special behavior in the Cloud Healthcare API. Note: the limit on data ingested through this method is 2 GB. For best performance, use a non-FHIR data type instead of wrapping the data in a Binary resource. Some of the Healthcare API features, such as [exporting to BigQuery](https://cloud.google.com/healthcare-api/docs/how-tos/fhir-export-bigquery) or [Pub/Sub notifications](https://cloud.google.com/healthcare-api/docs/fhir-pubsub#behavior_when_a_fhir_resource_is_too_large_or_traffic_is_high) with full resource content, do not support Binary resources that are larger than 10 MB. In these cases the resource's `data` field will be omitted. Instead, the "http://hl7.org/fhir/StructureDefinition/data-absent-reason" extension will be present to indicate that including the data is `unsupported`. On success, an empty `201 Created` response is returned. The newly created resource's ID and version are returned in the Location header. Using `Prefer: representation=resource` is not allowed for this method. The definition of the Binary REST API can be found at https://hl7.org/fhir/binary.html#rest. + * Creates a FHIR Binary resource. This method can be used to create a Binary resource either by using one of the accepted FHIR JSON content types, or as a raw data stream. If a resource is created with this method using the FHIR content type this method's behavior is the same as [`fhir.create`](https://cloud.google.com/healthcare-api/docs/reference/rest/v1/projects.locations.datasets.fhirStores.fhir/create). If a resource type other than Binary is used in the request it's treated in the same way as non-FHIR data (e.g., images, zip archives, pdf files, documents). When a non-FHIR content type is used in the request, a Binary resource will be generated, and the uploaded data will be stored in the `content` field (`DSTU2` and `STU3`), or the `data` field (`R4`). The Binary resource's `contentType` will be filled in using the value of the `Content-Type` header, and the `securityContext` field (not present in `DSTU2`) will be populated from the `X-Security-Context` header if it exists. At this time `securityContext` has no special behavior in the Cloud Healthcare API. Note: the limit on data ingested through this method is 1 GB. For best performance, use a non-FHIR data type instead of wrapping the data in a Binary resource. Some of the Healthcare API features, such as [exporting to BigQuery](https://cloud.google.com/healthcare-api/docs/how-tos/fhir-export-bigquery) or [Pub/Sub notifications](https://cloud.google.com/healthcare-api/docs/fhir-pubsub#behavior_when_a_fhir_resource_is_too_large_or_traffic_is_high) with full resource content, do not support Binary resources that are larger than 10 MB. In these cases the resource's `data` field will be omitted. Instead, the "http://hl7.org/fhir/StructureDefinition/data-absent-reason" extension will be present to indicate that including the data is `unsupported`. On success, an empty `201 Created` response is returned. The newly created resource's ID and version are returned in the Location header. Using `Prefer: representation=resource` is not allowed for this method. The definition of the Binary REST API can be found at https://hl7.org/fhir/binary.html#rest. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -13571,6 +14136,97 @@ export namespace healthcare_v1 { } } + /** + * Returns the consent enforcement status of a single consent resource. On success, the response body contains a JSON-encoded representation of a `Parameters` (http://hl7.org/fhir/parameters.html) FHIR resource, containing the current enforcement status. Does not support DSTU2. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + ConsentEnforcementStatus( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Fhir$Consentenforcementstatus, + options: StreamMethodOptions + ): GaxiosPromise; + ConsentEnforcementStatus( + params?: Params$Resource$Projects$Locations$Datasets$Fhirstores$Fhir$Consentenforcementstatus, + options?: MethodOptions + ): GaxiosPromise; + ConsentEnforcementStatus( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Fhir$Consentenforcementstatus, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + ConsentEnforcementStatus( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Fhir$Consentenforcementstatus, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + ConsentEnforcementStatus( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Fhir$Consentenforcementstatus, + callback: BodyResponseCallback + ): void; + ConsentEnforcementStatus( + callback: BodyResponseCallback + ): void; + ConsentEnforcementStatus( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datasets$Fhirstores$Fhir$Consentenforcementstatus + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datasets$Fhirstores$Fhir$Consentenforcementstatus; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Datasets$Fhirstores$Fhir$Consentenforcementstatus; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://healthcare.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}/$consent-enforcement-status').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Creates a FHIR resource. Implements the FHIR standard create interaction ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/http.html#create), [STU3](http://hl7.org/implement/standards/fhir/STU3/http.html#create), [R4](http://hl7.org/implement/standards/fhir/R4/http.html#create)), which creates a new resource with a server-assigned resource ID. Also supports the FHIR standard conditional create interaction ([DSTU2](https://hl7.org/implement/standards/fhir/DSTU2/http.html#ccreate), [STU3](https://hl7.org/implement/standards/fhir/STU3/http.html#ccreate), [R4](https://hl7.org/implement/standards/fhir/R4/http.html#ccreate)), specified by supplying an `If-None-Exist` header containing a FHIR search query, limited to searching by resource identifier. If no resources match this search query, the server processes the create operation as normal. When using conditional create, the search term for identifier should be in the pattern `identifier=system|value` or `identifier=value` - similar to the `search` method on resources with a specific identifier. The request body must contain a JSON-encoded FHIR resource, and the request headers must contain `Content-Type: application/fhir+json`. On success, the response body contains a JSON-encoded representation of the resource as it was created on the server, including the server-assigned resource ID and version ID. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. For samples that show how to call `create`, see [Creating a FHIR resource](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#creating_a_fhir_resource). * @@ -14007,6 +14663,97 @@ export namespace healthcare_v1 { } } + /** + * Returns the consent enforcement status of all consent resources for a patient. On success, the response body contains a JSON-encoded representation of a bundle of `Parameters` (http://hl7.org/fhir/parameters.html) FHIR resources, containing the current enforcement status for each consent resource of the patient. Does not support DSTU2. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + PatientConsentEnforcementStatus( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Fhir$Patientconsentenforcementstatus, + options: StreamMethodOptions + ): GaxiosPromise; + PatientConsentEnforcementStatus( + params?: Params$Resource$Projects$Locations$Datasets$Fhirstores$Fhir$Patientconsentenforcementstatus, + options?: MethodOptions + ): GaxiosPromise; + PatientConsentEnforcementStatus( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Fhir$Patientconsentenforcementstatus, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + PatientConsentEnforcementStatus( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Fhir$Patientconsentenforcementstatus, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + PatientConsentEnforcementStatus( + params: Params$Resource$Projects$Locations$Datasets$Fhirstores$Fhir$Patientconsentenforcementstatus, + callback: BodyResponseCallback + ): void; + PatientConsentEnforcementStatus( + callback: BodyResponseCallback + ): void; + PatientConsentEnforcementStatus( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Datasets$Fhirstores$Fhir$Patientconsentenforcementstatus + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Datasets$Fhirstores$Fhir$Patientconsentenforcementstatus; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Datasets$Fhirstores$Fhir$Patientconsentenforcementstatus; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://healthcare.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}/$consent-enforcement-status').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Retrieves a Patient resource and resources related to that patient. Implements the FHIR extended operation Patient-everything ([DSTU2](http://hl7.org/implement/standards/fhir/DSTU2/patient-operations.html#everything), [STU3](http://hl7.org/implement/standards/fhir/STU3/patient-operations.html#everything), [R4](http://hl7.org/implement/standards/fhir/R4/patient-operations.html#everything)). On success, the response body contains a JSON-encoded representation of a `Bundle` resource of type `searchset`, containing the results of the operation. Errors generated by the FHIR store contain a JSON-encoded `OperationOutcome` resource describing the reason for the error. If the request cannot be mapped to a valid API method on a FHIR store, a generic GCP error might be returned instead. The resources in scope for the response are: * The patient resource itself. * All the resources directly referenced by the patient resource. * Resources directly referencing the patient resource that meet the inclusion criteria. The inclusion criteria are based on the membership rules in the patient compartment definition ([DSTU2](http://hl7.org/fhir/DSTU2/compartment-patient.html), [STU3](http://www.hl7.org/fhir/stu3/compartmentdefinition-patient.html), [R4](http://hl7.org/fhir/R4/compartmentdefinition-patient.html)), which details the eligible resource types and referencing search parameters. For samples that show how to call `Patient-everything`, see [Getting all patient compartment resources](https://cloud.google.com/healthcare/docs/how-tos/fhir-resources#getting_all_patient_compartment_resources). * @@ -14795,6 +15542,13 @@ export namespace healthcare_v1 { */ requestBody?: Schema$HttpBody; } + export interface Params$Resource$Projects$Locations$Datasets$Fhirstores$Fhir$Consentenforcementstatus + extends StandardParameters { + /** + * Required. The name of the consent resource to find enforcement status, in the format `projects/{project_id\}/locations/{location_id\}/datasets/{dataset_id\}/fhirStores/{fhir_store_id\}/fhir/Consent/{consent_id\}` + */ + name?: string; + } export interface Params$Resource$Projects$Locations$Datasets$Fhirstores$Fhir$Create extends StandardParameters { /** @@ -14865,6 +15619,21 @@ export namespace healthcare_v1 { */ requestBody?: Schema$HttpBody; } + export interface Params$Resource$Projects$Locations$Datasets$Fhirstores$Fhir$Patientconsentenforcementstatus + extends StandardParameters { + /** + * Required. The name of the patient to find enforcement statuses, in the format `projects/{project_id\}/locations/{location_id\}/datasets/{dataset_id\}/fhirStores/{fhir_store_id\}/fhir/Patient/{patient_id\}` + */ + name?: string; + /** + * Optional. The maximum number of results on a page. If not specified, 100 is used. May not be larger than 1000. + */ + _count?: number; + /** + * Optional. Used to retrieve the first, previous, next, or last page of consent enforcement statuses when using pagination. Value should be set to the value of `_page_token` set in next or previous page links' URLs. Next and previous page are returned in the response bundle's links field, where `link.relation` is "previous" or "next". Omit `_page_token` if no previous request has been made. + */ + _page_token?: string; + } export interface Params$Resource$Projects$Locations$Datasets$Fhirstores$Fhir$Patienteverything extends StandardParameters { /** @@ -16839,7 +17608,7 @@ export namespace healthcare_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/healthcare/v1beta1.ts b/src/apis/healthcare/v1beta1.ts index 5a98e0ccb1..ddfac9f086 100644 --- a/src/apis/healthcare/v1beta1.ts +++ b/src/apis/healthcare/v1beta1.ts @@ -1892,6 +1892,10 @@ export namespace healthcare_v1beta1 { * The configuration for exporting to BigQuery. */ export interface Schema$GoogleCloudHealthcareV1beta1FhirBigQueryDestination { + /** + * Optional. Setting this field will enable BigQuery's Change Data Capture (CDC) on the destination tables. Use this field if you: - Want to only keep the latest version of each resource. Updates and deletes to an existing resource will overwrite the corresponding row. - Have a store with enabled history modifications and want to keep the entire history of resource versions but want the history to be mutable. Updates and deletes to a specific resource version will overwrite the corresponding row. See https://cloud.google.com/bigquery/docs/change-data-capture for details. + */ + changeDataCaptureConfig?: Schema$GoogleCloudHealthcareV1beta1FhirChangeDataCaptureConfig; /** * BigQuery URI to an existing dataset, up to 2000 characters long, in the format `bq://projectId.bqDatasetId`. */ @@ -1909,6 +1913,15 @@ export namespace healthcare_v1beta1 { */ writeDisposition?: string | null; } + /** + * BigQuery Change Data Capture configuration. + */ + export interface Schema$GoogleCloudHealthcareV1beta1FhirChangeDataCaptureConfig { + /** + * Optional. Configures how historical versions of FHIR resources will be reflected in the destination table through updates and deletes. Defaults to `HistoryMode.KEEP_LATEST_VERSION` if unspecified. + */ + historyMode?: string | null; + } /** * Response when all resources export successfully. This structure is included in the response to describe the detailed outcome after the operation finishes successfully. */ @@ -3184,7 +3197,7 @@ export namespace healthcare_v1beta1 { */ bigqueryDestination?: Schema$GoogleCloudHealthcareV1beta1FhirBigQueryDestination; /** - * The destination FHIR store for de-identified resources. After this field is added, all subsequent creates/updates/patches to the source store will be de-identified using the provided configuration and applied to the destination store. Importing resources to the source store will not trigger the streaming. If the source store already contains resources when this option is enabled, those resources will not be copied to the destination store unless they are subsequently updated. This may result in invalid references in the destination store. Before adding this config, you must grant the healthcare.fhirResources.update permission on the destination store to your project's **Cloud Healthcare Service Agent** [service account](https://cloud.google.com/healthcare/docs/how-tos/permissions-healthcare-api-gcp-products#the_cloud_healthcare_service_agent). The destination store must set enable_update_create to true. The destination store must have disable_referential_integrity set to true. If a resource cannot be de-identified, errors will be logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). + * The destination FHIR store for de-identified resources. After this field is added, all subsequent creates/updates/patches to the source store will be de-identified using the provided configuration and applied to the destination store. Resources deleted from the source store will be deleted from the destination store. Importing resources to the source store will not trigger the streaming. If the source store already contains resources when this option is enabled, those resources will not be copied to the destination store unless they are subsequently updated. This may result in invalid references in the destination store. Before adding this config, you must grant the healthcare.fhirResources.update permission on the destination store to your project's **Cloud Healthcare Service Agent** [service account](https://cloud.google.com/healthcare/docs/how-tos/permissions-healthcare-api-gcp-products#the_cloud_healthcare_service_agent). The destination store must set enable_update_create to true. The destination store must have disable_referential_integrity set to true. If a resource cannot be de-identified, errors will be logged to Cloud Logging (see [Viewing error logs in Cloud Logging](https://cloud.google.com/healthcare/docs/how-tos/logging)). */ deidentifiedStoreDestination?: Schema$DeidentifiedStoreDestination; /** @@ -16166,7 +16179,7 @@ export namespace healthcare_v1beta1 { } /** - * Creates a FHIR Binary resource. This method can be used to create a Binary resource either by using one of the accepted FHIR JSON content types, or as a raw data stream. If a resource is created with this method using the FHIR content type this method's behavior is the same as [`fhir.create`](https://cloud.google.com/healthcare-api/docs/reference/rest/v1/projects.locations.datasets.fhirStores.fhir/create). If a resource type other than Binary is used in the request it's treated in the same way as non-FHIR data (e.g., images, zip archives, pdf files, documents). When a non-FHIR content type is used in the request, a Binary resource will be generated, and the uploaded data will be stored in the `content` field (`DSTU2` and `STU3`), or the `data` field (`R4`). The Binary resource's `contentType` will be filled in using the value of the `Content-Type` header, and the `securityContext` field (not present in `DSTU2`) will be populated from the `X-Security-Context` header if it exists. At this time `securityContext` has no special behavior in the Cloud Healthcare API. Note: the limit on data ingested through this method is 2 GB. For best performance, use a non-FHIR data type instead of wrapping the data in a Binary resource. Some of the Healthcare API features, such as [exporting to BigQuery](https://cloud.google.com/healthcare-api/docs/how-tos/fhir-export-bigquery) or [Pub/Sub notifications](https://cloud.google.com/healthcare-api/docs/fhir-pubsub#behavior_when_a_fhir_resource_is_too_large_or_traffic_is_high) with full resource content, do not support Binary resources that are larger than 10 MB. In these cases the resource's `data` field will be omitted. Instead, the "http://hl7.org/fhir/StructureDefinition/data-absent-reason" extension will be present to indicate that including the data is `unsupported`. On success, an empty `201 Created` response is returned. The newly created resource's ID and version are returned in the Location header. Using `Prefer: representation=resource` is not allowed for this method. The definition of the Binary REST API can be found at https://hl7.org/fhir/binary.html#rest. + * Creates a FHIR Binary resource. This method can be used to create a Binary resource either by using one of the accepted FHIR JSON content types, or as a raw data stream. If a resource is created with this method using the FHIR content type this method's behavior is the same as [`fhir.create`](https://cloud.google.com/healthcare-api/docs/reference/rest/v1/projects.locations.datasets.fhirStores.fhir/create). If a resource type other than Binary is used in the request it's treated in the same way as non-FHIR data (e.g., images, zip archives, pdf files, documents). When a non-FHIR content type is used in the request, a Binary resource will be generated, and the uploaded data will be stored in the `content` field (`DSTU2` and `STU3`), or the `data` field (`R4`). The Binary resource's `contentType` will be filled in using the value of the `Content-Type` header, and the `securityContext` field (not present in `DSTU2`) will be populated from the `X-Security-Context` header if it exists. At this time `securityContext` has no special behavior in the Cloud Healthcare API. Note: the limit on data ingested through this method is 1 GB. For best performance, use a non-FHIR data type instead of wrapping the data in a Binary resource. Some of the Healthcare API features, such as [exporting to BigQuery](https://cloud.google.com/healthcare-api/docs/how-tos/fhir-export-bigquery) or [Pub/Sub notifications](https://cloud.google.com/healthcare-api/docs/fhir-pubsub#behavior_when_a_fhir_resource_is_too_large_or_traffic_is_high) with full resource content, do not support Binary resources that are larger than 10 MB. In these cases the resource's `data` field will be omitted. Instead, the "http://hl7.org/fhir/StructureDefinition/data-absent-reason" extension will be present to indicate that including the data is `unsupported`. On success, an empty `201 Created` response is returned. The newly created resource's ID and version are returned in the Location header. Using `Prefer: representation=resource` is not allowed for this method. The definition of the Binary REST API can be found at https://hl7.org/fhir/binary.html#rest. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -21014,7 +21027,7 @@ export namespace healthcare_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/iam/v1.ts b/src/apis/iam/v1.ts index 9695f49d97..7673b8f8ba 100644 --- a/src/apis/iam/v1.ts +++ b/src/apis/iam/v1.ts @@ -410,7 +410,7 @@ export namespace iam_v1 { */ clientId?: string | null; /** - * The optional client secret. Required to enable Authorization Code flow for web sign-in. + * Optional. The optional client secret. Required to enable Authorization Code flow for web sign-in. */ clientSecret?: Schema$GoogleIamAdminV1WorkforcePoolProviderOidcClientSecret; /** @@ -418,7 +418,7 @@ export namespace iam_v1 { */ issuerUri?: string | null; /** - * OIDC JWKs in JSON String format. For details on the definition of a JWK, see https://tools.ietf.org/html/rfc7517. If not set, the `jwks_uri` from the discovery document(fetched from the .well-known path of the `issuer_uri`) will be used. Currently, RSA and EC asymmetric keys are supported. The JWK must use following format and include only the following fields: { "keys": [ { "kty": "RSA/EC", "alg": "", "use": "sig", "kid": "", "n": "", "e": "", "x": "", "y": "", "crv": "" \} ] \} + * Optional. OIDC JWKs in JSON String format. For details on the definition of a JWK, see https://tools.ietf.org/html/rfc7517. If not set, the `jwks_uri` from the discovery document(fetched from the .well-known path of the `issuer_uri`) will be used. Currently, RSA and EC asymmetric keys are supported. The JWK must use following format and include only the following fields: { "keys": [ { "kty": "RSA/EC", "alg": "", "use": "sig", "kid": "", "n": "", "e": "", "x": "", "y": "", "crv": "" \} ] \} */ jwksJson?: string | null; /** @@ -440,7 +440,7 @@ export namespace iam_v1 { */ export interface Schema$GoogleIamAdminV1WorkforcePoolProviderOidcClientSecretValue { /** - * Input only. The plain text of the client secret value. For security reasons, this field is only used for input and will never be populated in any response. + * Optional. Input only. The plain text of the client secret value. For security reasons, this field is only used for input and will never be populated in any response. */ plainText?: string | null; /** @@ -453,7 +453,7 @@ export namespace iam_v1 { */ export interface Schema$GoogleIamAdminV1WorkforcePoolProviderOidcWebSsoConfig { /** - * Additional scopes to request for in the OIDC authentication request on top of scopes requested by default. By default, the `openid`, `profile` and `email` scopes that are supported by the identity provider are requested. Each additional scope may be at most 256 characters. A maximum of 10 additional scopes may be configured. + * Optional. Additional scopes to request for in the OIDC authentication request on top of scopes requested by default. By default, the `openid`, `profile` and `email` scopes that are supported by the identity provider are requested. Each additional scope may be at most 256 characters. A maximum of 10 additional scopes may be configured. */ additionalScopes?: string[] | null; /** @@ -726,7 +726,7 @@ export namespace iam_v1 { */ expireTime?: string | null; /** - * Immutable. The resource name of the OauthClient. Format:`projects/{project\}/locations/{location\}/oauthClients/{oauth_client\}`. + * Immutable. Identifier. The resource name of the OauthClient. Format:`projects/{project\}/locations/{location\}/oauthClients/{oauth_client\}`. */ name?: string | null; /** @@ -751,7 +751,7 @@ export namespace iam_v1 { */ displayName?: string | null; /** - * Immutable. The resource name of the OauthClientCredential. Format: `projects/{project\}/locations/{location\}/oauthClients/{oauth_client\}/credentials/{credential\}` + * Immutable. Identifier. The resource name of the OauthClientCredential. Format: `projects/{project\}/locations/{location\}/oauthClients/{oauth_client\}/credentials/{credential\}` */ name?: string | null; } @@ -760,7 +760,7 @@ export namespace iam_v1 { */ export interface Schema$Oidc { /** - * Acceptable values for the `aud` field (audience) in the OIDC token. Token exchange requests are rejected if the token audience does not match one of the configured values. Each audience may be at most 256 characters. A maximum of 10 audiences may be configured. If this list is empty, the OIDC token audience must be equal to the full canonical resource name of the WorkloadIdentityPoolProvider, with or without the HTTPS prefix. For example: ``` //iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ https://iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ ``` + * Optional. Acceptable values for the `aud` field (audience) in the OIDC token. Token exchange requests are rejected if the token audience does not match one of the configured values. Each audience may be at most 256 characters. A maximum of 10 audiences may be configured. If this list is empty, the OIDC token audience must be equal to the full canonical resource name of the WorkloadIdentityPoolProvider, with or without the HTTPS prefix. For example: ``` //iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ https://iam.googleapis.com/projects//locations//workloadIdentityPools//providers/ ``` */ allowedAudiences?: string[] | null; /** @@ -806,7 +806,7 @@ export namespace iam_v1 { */ apiVersion?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. */ cancelRequested?: boolean | null; /** @@ -850,7 +850,7 @@ export namespace iam_v1 { */ customRolesSupportLevel?: string | null; /** - * A brief description of what this Permission is used for. This permission can ONLY be used in predefined roles. + * A brief description of what this Permission is used for. */ description?: string | null; /** @@ -1312,15 +1312,15 @@ export namespace iam_v1 { */ accessRestrictions?: Schema$AccessRestrictions; /** - * A user-specified description of the pool. Cannot exceed 256 characters. + * Optional. A user-specified description of the pool. Cannot exceed 256 characters. */ description?: string | null; /** - * Disables the workforce pool. You cannot use a disabled pool to exchange tokens, or use existing tokens to access resources. If the pool is re-enabled, existing tokens grant access again. + * Optional. Disables the workforce pool. You cannot use a disabled pool to exchange tokens, or use existing tokens to access resources. If the pool is re-enabled, existing tokens grant access again. */ disabled?: boolean | null; /** - * A user-specified display name of the pool in Google Cloud Console. Cannot exceed 32 characters. + * Optional. A user-specified display name of the pool in Google Cloud Console. Cannot exceed 32 characters. */ displayName?: string | null; /** @@ -1328,7 +1328,7 @@ export namespace iam_v1 { */ expireTime?: string | null; /** - * Output only. The resource name of the pool. Format: `locations/{location\}/workforcePools/{workforce_pool_id\}` + * Identifier. The resource name of the pool. Format: `locations/{location\}/workforcePools/{workforce_pool_id\}` */ name?: string | null; /** @@ -1336,7 +1336,7 @@ export namespace iam_v1 { */ parent?: string | null; /** - * Duration that the Google Cloud access tokens, console sign-in sessions, and `gcloud` sign-in sessions from this pool are valid. Must be greater than 15 minutes (900s) and less than 12 hours (43200s). If `session_duration` is not configured, minted credentials have a default duration of one hour (3600s). For SAML providers, the lifetime of the token is the minimum of the `session_duration` and the `SessionNotOnOrAfter` claim in the SAML assertion. + * Optional. Duration that the Google Cloud access tokens, console sign-in sessions, and `gcloud` sign-in sessions from this pool are valid. Must be greater than 15 minutes (900s) and less than 12 hours (43200s). If `session_duration` is not configured, minted credentials have a default duration of one hour (3600s). For SAML providers, the lifetime of the token is the minimum of the `session_duration` and the `SessionNotOnOrAfter` claim in the SAML assertion. */ sessionDuration?: string | null; /** @@ -1349,7 +1349,7 @@ export namespace iam_v1 { */ export interface Schema$WorkforcePoolProvider { /** - * A [Common Expression Language](https://opensource.google/projects/cel) expression, in plain text, to restrict what otherwise valid authentication credentials issued by the provider should not be accepted. The expression must output a boolean representing whether to allow the federation. The following keywords may be referenced in the expressions: * `assertion`: JSON representing the authentication credential issued by the provider. * `google`: The Google attributes mapped from the assertion in the `attribute_mappings`. `google.profile_photo`, `google.display_name` and `google.posix_username` are not supported. * `attribute`: The custom attributes mapped from the assertion in the `attribute_mappings`. The maximum length of the attribute condition expression is 4096 characters. If unspecified, all valid authentication credentials will be accepted. The following example shows how to only allow credentials with a mapped `google.groups` value of `admins`: ``` "'admins' in google.groups" ``` + * Optional. A [Common Expression Language](https://opensource.google/projects/cel) expression, in plain text, to restrict what otherwise valid authentication credentials issued by the provider should not be accepted. The expression must output a boolean representing whether to allow the federation. The following keywords may be referenced in the expressions: * `assertion`: JSON representing the authentication credential issued by the provider. * `google`: The Google attributes mapped from the assertion in the `attribute_mappings`. `google.profile_photo`, `google.display_name` and `google.posix_username` are not supported. * `attribute`: The custom attributes mapped from the assertion in the `attribute_mappings`. The maximum length of the attribute condition expression is 4096 characters. If unspecified, all valid authentication credentials will be accepted. The following example shows how to only allow credentials with a mapped `google.groups` value of `admins`: ``` "'admins' in google.groups" ``` */ attributeCondition?: string | null; /** @@ -1357,15 +1357,15 @@ export namespace iam_v1 { */ attributeMapping?: {[key: string]: string} | null; /** - * A user-specified description of the provider. Cannot exceed 256 characters. + * Optional. A user-specified description of the provider. Cannot exceed 256 characters. */ description?: string | null; /** - * Disables the workforce pool provider. You cannot use a disabled provider to exchange tokens. However, existing tokens still grant access. + * Optional. Disables the workforce pool provider. You cannot use a disabled provider to exchange tokens. However, existing tokens still grant access. */ disabled?: boolean | null; /** - * A user-specified display name for the provider. Cannot exceed 32 characters. + * Optional. A user-specified display name for the provider. Cannot exceed 32 characters. */ displayName?: string | null; /** @@ -1377,7 +1377,7 @@ export namespace iam_v1 { */ extraAttributesOauth2Client?: Schema$GoogleIamAdminV1WorkforcePoolProviderExtraAttributesOAuth2Client; /** - * Output only. The resource name of the provider. Format: `locations/{location\}/workforcePools/{workforce_pool_id\}/providers/{provider_id\}` + * Identifier. The resource name of the provider. Format: `locations/{location\}/workforcePools/{workforce_pool_id\}/providers/{provider_id\}` */ name?: string | null; /** @@ -1406,7 +1406,7 @@ export namespace iam_v1 { */ keyData?: Schema$KeyData; /** - * Output only. The resource name of the key. + * Identifier. The resource name of the key. Format: `locations/{location\}/workforcePools/{workforce_pool_id\}/providers/{provider_id\}/keys/{key_id\}` */ name?: string | null; /** @@ -1423,15 +1423,15 @@ export namespace iam_v1 { */ export interface Schema$WorkloadIdentityPool { /** - * A description of the pool. Cannot exceed 256 characters. + * Optional. A description of the pool. Cannot exceed 256 characters. */ description?: string | null; /** - * Whether the pool is disabled. You cannot use a disabled pool to exchange tokens, or use existing tokens to access resources. If the pool is re-enabled, existing tokens grant access again. + * Optional. Whether the pool is disabled. You cannot use a disabled pool to exchange tokens, or use existing tokens to access resources. If the pool is re-enabled, existing tokens grant access again. */ disabled?: boolean | null; /** - * A display name for the pool. Cannot exceed 32 characters. + * Optional. A display name for the pool. Cannot exceed 32 characters. */ displayName?: string | null; /** @@ -1456,11 +1456,11 @@ export namespace iam_v1 { */ export interface Schema$WorkloadIdentityPoolProvider { /** - * [A Common Expression Language](https://opensource.google/projects/cel) expression, in plain text, to restrict what otherwise valid authentication credentials issued by the provider should not be accepted. The expression must output a boolean representing whether to allow the federation. The following keywords may be referenced in the expressions: * `assertion`: JSON representing the authentication credential issued by the provider. * `google`: The Google attributes mapped from the assertion in the `attribute_mappings`. * `attribute`: The custom attributes mapped from the assertion in the `attribute_mappings`. The maximum length of the attribute condition expression is 4096 characters. If unspecified, all valid authentication credential are accepted. The following example shows how to only allow credentials with a mapped `google.groups` value of `admins`: ``` "'admins' in google.groups" ``` + * Optional. [A Common Expression Language](https://opensource.google/projects/cel) expression, in plain text, to restrict what otherwise valid authentication credentials issued by the provider should not be accepted. The expression must output a boolean representing whether to allow the federation. The following keywords may be referenced in the expressions: * `assertion`: JSON representing the authentication credential issued by the provider. * `google`: The Google attributes mapped from the assertion in the `attribute_mappings`. * `attribute`: The custom attributes mapped from the assertion in the `attribute_mappings`. The maximum length of the attribute condition expression is 4096 characters. If unspecified, all valid authentication credential are accepted. The following example shows how to only allow credentials with a mapped `google.groups` value of `admins`: ``` "'admins' in google.groups" ``` */ attributeCondition?: string | null; /** - * Maps attributes from authentication credentials issued by an external identity provider to Google Cloud attributes, such as `subject` and `segment`. Each key must be a string specifying the Google Cloud IAM attribute to map to. The following keys are supported: * `google.subject`: The principal IAM is authenticating. You can reference this value in IAM bindings. This is also the subject that appears in Cloud Logging logs. Cannot exceed 127 bytes. * `google.groups`: Groups the external identity belongs to. You can grant groups access to resources using an IAM `principalSet` binding; access applies to all members of the group. You can also provide custom attributes by specifying `attribute.{custom_attribute\}`, where `{custom_attribute\}` is the name of the custom attribute to be mapped. You can define a maximum of 50 custom attributes. The maximum length of a mapped attribute key is 100 characters, and the key may only contain the characters [a-z0-9_]. You can reference these attributes in IAM policies to define fine-grained access for a workload to Google Cloud resources. For example: * `google.subject`: `principal://iam.googleapis.com/projects/{project\}/locations/{location\}/workloadIdentityPools/{pool\}/subject/{value\}` * `google.groups`: `principalSet://iam.googleapis.com/projects/{project\}/locations/{location\}/workloadIdentityPools/{pool\}/group/{value\}` * `attribute.{custom_attribute\}`: `principalSet://iam.googleapis.com/projects/{project\}/locations/{location\}/workloadIdentityPools/{pool\}/attribute.{custom_attribute\}/{value\}` Each value must be a [Common Expression Language] (https://opensource.google/projects/cel) function that maps an identity provider credential to the normalized attribute specified by the corresponding map key. You can use the `assertion` keyword in the expression to access a JSON representation of the authentication credential issued by the provider. The maximum length of an attribute mapping expression is 2048 characters. When evaluated, the total size of all mapped attributes must not exceed 8KB. For AWS providers, if no attribute mapping is defined, the following default mapping applies: ``` { "google.subject":"assertion.arn", "attribute.aws_role": "assertion.arn.contains('assumed-role')" " ? assertion.arn.extract('{account_arn\}assumed-role/')" " + 'assumed-role/'" " + assertion.arn.extract('assumed-role/{role_name\}/')" " : assertion.arn", \} ``` If any custom attribute mappings are defined, they must include a mapping to the `google.subject` attribute. For OIDC providers, you must supply a custom mapping, which must include the `google.subject` attribute. For example, the following maps the `sub` claim of the incoming credential to the `subject` attribute on a Google token: ``` {"google.subject": "assertion.sub"\} ``` + * Optional. Maps attributes from authentication credentials issued by an external identity provider to Google Cloud attributes, such as `subject` and `segment`. Each key must be a string specifying the Google Cloud IAM attribute to map to. The following keys are supported: * `google.subject`: The principal IAM is authenticating. You can reference this value in IAM bindings. This is also the subject that appears in Cloud Logging logs. Cannot exceed 127 bytes. * `google.groups`: Groups the external identity belongs to. You can grant groups access to resources using an IAM `principalSet` binding; access applies to all members of the group. You can also provide custom attributes by specifying `attribute.{custom_attribute\}`, where `{custom_attribute\}` is the name of the custom attribute to be mapped. You can define a maximum of 50 custom attributes. The maximum length of a mapped attribute key is 100 characters, and the key may only contain the characters [a-z0-9_]. You can reference these attributes in IAM policies to define fine-grained access for a workload to Google Cloud resources. For example: * `google.subject`: `principal://iam.googleapis.com/projects/{project\}/locations/{location\}/workloadIdentityPools/{pool\}/subject/{value\}` * `google.groups`: `principalSet://iam.googleapis.com/projects/{project\}/locations/{location\}/workloadIdentityPools/{pool\}/group/{value\}` * `attribute.{custom_attribute\}`: `principalSet://iam.googleapis.com/projects/{project\}/locations/{location\}/workloadIdentityPools/{pool\}/attribute.{custom_attribute\}/{value\}` Each value must be a [Common Expression Language] (https://opensource.google/projects/cel) function that maps an identity provider credential to the normalized attribute specified by the corresponding map key. You can use the `assertion` keyword in the expression to access a JSON representation of the authentication credential issued by the provider. The maximum length of an attribute mapping expression is 2048 characters. When evaluated, the total size of all mapped attributes must not exceed 8KB. For AWS providers, if no attribute mapping is defined, the following default mapping applies: ``` { "google.subject":"assertion.arn", "attribute.aws_role": "assertion.arn.contains('assumed-role')" " ? assertion.arn.extract('{account_arn\}assumed-role/')" " + 'assumed-role/'" " + assertion.arn.extract('assumed-role/{role_name\}/')" " : assertion.arn", \} ``` If any custom attribute mappings are defined, they must include a mapping to the `google.subject` attribute. For OIDC providers, you must supply a custom mapping, which must include the `google.subject` attribute. For example, the following maps the `sub` claim of the incoming credential to the `subject` attribute on a Google token: ``` {"google.subject": "assertion.sub"\} ``` */ attributeMapping?: {[key: string]: string} | null; /** @@ -1468,15 +1468,15 @@ export namespace iam_v1 { */ aws?: Schema$Aws; /** - * A description for the provider. Cannot exceed 256 characters. + * Optional. A description for the provider. Cannot exceed 256 characters. */ description?: string | null; /** - * Whether the provider is disabled. You cannot use a disabled provider to exchange tokens. However, existing tokens still grant access. + * Optional. Whether the provider is disabled. You cannot use a disabled provider to exchange tokens. However, existing tokens still grant access. */ disabled?: boolean | null; /** - * A display name for the provider. Cannot exceed 32 characters. + * Optional. A display name for the provider. Cannot exceed 32 characters. */ displayName?: string | null; /** @@ -2565,11 +2565,11 @@ export namespace iam_v1 { export interface Params$Resource$Locations$Workforcepools$Create extends StandardParameters { /** - * The location of the pool to create. Format: `locations/{location\}`. + * Optional. The location of the pool to create. Format: `locations/{location\}`. */ location?: string; /** - * The ID to use for the pool, which becomes the final component of the resource name. The IDs must be a globally unique string of 6 to 63 lowercase letters, digits, or hyphens. It must start with a letter, and cannot have a trailing hyphen. The prefix `gcp-` is reserved for use by Google, and may not be specified. + * Optional. The ID to use for the pool, which becomes the final component of the resource name. The IDs must be a globally unique string of 6 to 63 lowercase letters, digits, or hyphens. It must start with a letter, and cannot have a trailing hyphen. The prefix `gcp-` is reserved for use by Google, and may not be specified. */ workforcePoolId?: string; @@ -2630,7 +2630,7 @@ export namespace iam_v1 { export interface Params$Resource$Locations$Workforcepools$Patch extends StandardParameters { /** - * Output only. The resource name of the pool. Format: `locations/{location\}/workforcePools/{workforce_pool_id\}` + * Identifier. The resource name of the pool. Format: `locations/{location\}/workforcePools/{workforce_pool_id\}` */ name?: string; /** @@ -3384,7 +3384,7 @@ export namespace iam_v1 { export interface Params$Resource$Locations$Workforcepools$Providers$Patch extends StandardParameters { /** - * Output only. The resource name of the provider. Format: `locations/{location\}/workforcePools/{workforce_pool_id\}/providers/{provider_id\}` + * Identifier. The resource name of the provider. Format: `locations/{location\}/workforcePools/{workforce_pool_id\}/providers/{provider_id\}` */ name?: string; /** @@ -5785,7 +5785,7 @@ export namespace iam_v1 { export interface Params$Resource$Projects$Locations$Oauthclients$Patch extends StandardParameters { /** - * Immutable. The resource name of the OauthClient. Format:`projects/{project\}/locations/{location\}/oauthClients/{oauth_client\}`. + * Immutable. Identifier. The resource name of the OauthClient. Format:`projects/{project\}/locations/{location\}/oauthClients/{oauth_client\}`. */ name?: string; /** @@ -6318,7 +6318,7 @@ export namespace iam_v1 { export interface Params$Resource$Projects$Locations$Oauthclients$Credentials$Patch extends StandardParameters { /** - * Immutable. The resource name of the OauthClientCredential. Format: `projects/{project\}/locations/{location\}/oauthClients/{oauth_client\}/credentials/{credential\}` + * Immutable. Identifier. The resource name of the OauthClientCredential. Format: `projects/{project\}/locations/{location\}/oauthClients/{oauth_client\}/credentials/{credential\}` */ name?: string; /** diff --git a/src/apis/iam/v2.ts b/src/apis/iam/v2.ts index ad19e89ffe..bf8e670935 100644 --- a/src/apis/iam/v2.ts +++ b/src/apis/iam/v2.ts @@ -146,7 +146,7 @@ export namespace iam_v2 { */ apiVersion?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. */ cancelRequested?: boolean | null; /** diff --git a/src/apis/iam/v2beta.ts b/src/apis/iam/v2beta.ts index d528471ec7..4406b672b0 100644 --- a/src/apis/iam/v2beta.ts +++ b/src/apis/iam/v2beta.ts @@ -146,7 +146,7 @@ export namespace iam_v2beta { */ apiVersion?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. */ cancelRequested?: boolean | null; /** diff --git a/src/apis/iamcredentials/v1.ts b/src/apis/iamcredentials/v1.ts index 9f4ceb7247..f6af98e8d9 100644 --- a/src/apis/iamcredentials/v1.ts +++ b/src/apis/iamcredentials/v1.ts @@ -168,6 +168,19 @@ export namespace iamcredentials_v1 { */ token?: string | null; } + /** + * Represents a list of allowed locations for given service account. + */ + export interface Schema$ServiceAccountAllowedLocations { + /** + * Output only. The hex encoded bitmap of the trust boundary locations + */ + encodedLocations?: string | null; + /** + * Output only. The human readable trust boundary locations. For example, ["us-central1", "europe-west1"] + */ + locations?: string[] | null; + } export interface Schema$SignBlobRequest { /** * The sequence of service accounts in a delegation chain. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID\}`. The `-` wildcard character is required; replacing it with a project ID is invalid. @@ -419,6 +432,105 @@ export namespace iamcredentials_v1 { } } + /** + * Returns the trust boundary info for a given service account. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getAllowedLocations( + params: Params$Resource$Projects$Serviceaccounts$Getallowedlocations, + options: StreamMethodOptions + ): GaxiosPromise; + getAllowedLocations( + params?: Params$Resource$Projects$Serviceaccounts$Getallowedlocations, + options?: MethodOptions + ): GaxiosPromise; + getAllowedLocations( + params: Params$Resource$Projects$Serviceaccounts$Getallowedlocations, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getAllowedLocations( + params: Params$Resource$Projects$Serviceaccounts$Getallowedlocations, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getAllowedLocations( + params: Params$Resource$Projects$Serviceaccounts$Getallowedlocations, + callback: BodyResponseCallback + ): void; + getAllowedLocations( + callback: BodyResponseCallback + ): void; + getAllowedLocations( + paramsOrCallback?: + | Params$Resource$Projects$Serviceaccounts$Getallowedlocations + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Serviceaccounts$Getallowedlocations; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Serviceaccounts$Getallowedlocations; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://iamcredentials.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}/allowedLocations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + /** * Signs a blob using a service account's system-managed private key. * @@ -622,6 +734,13 @@ export namespace iamcredentials_v1 { */ requestBody?: Schema$GenerateIdTokenRequest; } + export interface Params$Resource$Projects$Serviceaccounts$Getallowedlocations + extends StandardParameters { + /** + * Required. Resource name of service account. + */ + name?: string; + } export interface Params$Resource$Projects$Serviceaccounts$Signblob extends StandardParameters { /** diff --git a/src/apis/iap/v1.ts b/src/apis/iap/v1.ts index a8bad88b36..ae8fd3c77c 100644 --- a/src/apis/iap/v1.ts +++ b/src/apis/iap/v1.ts @@ -528,7 +528,7 @@ export namespace iap_v1 { export interface Schema$ResetIdentityAwareProxyClientSecretRequest {} export interface Schema$Resource { /** - * The proto or JSON formatted expected next state of the resource, wrapped in a google.protobuf.Any proto, against which the policy rules are evaluated. Services not integrated with custom org policy can omit this field. Services integrated with custom org policy must populate this field for all requests where the API call changes the state of the resource. Custom org policy backend uses these attributes to enforce custom org policies. When a proto is wrapped, it is generally the One Platform API proto. When a JSON string is wrapped, use `google.protobuf.StringValue` for the inner value. For create operations, GCP service is expected to pass resource from customer request as is. For update/patch operations, GCP service is expected to compute the next state with the patch provided by the user. See go/custom-constraints-org-policy-integration-guide for additional details. + * The proto or JSON formatted expected next state of the resource, wrapped in a google.protobuf.Any proto, against which the policy rules are evaluated. Services not integrated with custom org policy can omit this field. Services integrated with custom org policy must populate this field for all requests where the API call changes the state of the resource. Custom org policy backend uses these attributes to enforce custom org policies. For create operations, GCP service is expected to pass resource from customer request as is. For update/patch operations, GCP service is expected to compute the next state with the patch provided by the user. See go/custom-constraints-org-policy-integration-guide for additional details. */ expectedNextState?: {[key: string]: any} | null; /** diff --git a/src/apis/identitytoolkit/v2.ts b/src/apis/identitytoolkit/v2.ts index 33a0d5c4d3..250b1b210b 100644 --- a/src/apis/identitytoolkit/v2.ts +++ b/src/apis/identitytoolkit/v2.ts @@ -831,21 +831,37 @@ export namespace identitytoolkit_v2 { */ export interface Schema$GoogleCloudIdentitytoolkitAdminV2RecaptchaConfig { /** - * The reCAPTCHA config for email/password provider, containing the enforcement status. The email/password provider contains all related user flows protected by reCAPTCHA. + * The reCAPTCHA config for email/password provider, containing the enforcement status. The email/password provider contains all email related user flows protected by reCAPTCHA. */ emailPasswordEnforcementState?: string | null; /** * The managed rules for authentication action based on reCAPTCHA scores. The rules are shared across providers for a given tenant project. */ managedRules?: Schema$GoogleCloudIdentitytoolkitAdminV2RecaptchaManagedRule[]; + /** + * The reCAPTCHA config for phone provider, containing the enforcement status. The phone provider contains all SMS related user flows protected by reCAPTCHA. + */ + phoneEnforcementState?: string | null; /** * The reCAPTCHA keys. */ recaptchaKeys?: Schema$GoogleCloudIdentitytoolkitAdminV2RecaptchaKey[]; + /** + * The managed rules for the authentication action based on reCAPTCHA toll fraud risk scores. Toll fraud managed rules will only take effect when the phone_enforcement_state is AUDIT or ENFORCE and use_sms_toll_fraud_protection is true. + */ + tollFraudManagedRules?: Schema$GoogleCloudIdentitytoolkitAdminV2RecaptchaTollFraudManagedRule[]; /** * Whether to use the account defender for reCAPTCHA assessment. Defaults to `false`. */ useAccountDefender?: boolean | null; + /** + * Whether to use the rCE bot score for reCAPTCHA phone provider. Can only be true when the phone_enforcement_state is AUDIT or ENFORCE. + */ + useSmsBotScore?: boolean | null; + /** + * Whether to use the rCE sms toll fraud protection risk score for reCAPTCHA phone provider. Can only be true when the phone_enforcement_state is AUDIT or ENFORCE. + */ + useSmsTollFraudProtection?: boolean | null; } /** * The reCAPTCHA key config. reCAPTCHA Enterprise offers different keys for different client platforms. @@ -873,6 +889,19 @@ export namespace identitytoolkit_v2 { */ endScore?: number | null; } + /** + * The config for a reCAPTCHA toll fraud assessment managed rule. Models a single interval [start_score, end_score]. The end_score is implicit. It is either the closest smaller end_score (if one is available) or 0. Intervals in aggregate span [0, 1] without overlapping. + */ + export interface Schema$GoogleCloudIdentitytoolkitAdminV2RecaptchaTollFraudManagedRule { + /** + * The action taken if the reCAPTCHA score of a request is within the interval [start_score, end_score]. + */ + action?: string | null; + /** + * The start score (inclusive) for an action. Must be a value between 0.0 and 1.0, at 11 discrete values; e.g. 0, 0.1, 0.2, 0.3, ... 0.9, 1.0. A score of 0.0 indicates the safest request (likely legitimate), whereas 1.0 indicates the riskiest request (likely toll fraud). See https://cloud.google.com/recaptcha-enterprise/docs/sms-fraud-detection#create-assessment-sms. + */ + startScore?: number | null; + } /** * Configuration for logging requests made to this project to Stackdriver Logging */ @@ -1381,6 +1410,14 @@ export namespace identitytoolkit_v2 { * The reCAPTCHA Enterprise key resource name, e.g. "projects/{project\}/keys/{key\}". This will only be returned when the reCAPTCHA enforcement state is AUDIT or ENFORCE on at least one of the reCAPTCHA providers. */ recaptchaKey?: string | null; + /** + * Whether to use the rCE bot score for reCAPTCHA phone provider. + */ + useSmsBotScore?: boolean | null; + /** + * Whether to use the rCE sms toll fraud protection risk score for reCAPTCHA phone provider. + */ + useSmsTollFraudProtection?: boolean | null; } /** * Enforcement states for reCAPTCHA protection. @@ -1470,6 +1507,14 @@ export namespace identitytoolkit_v2 { * Android only. Used by Google Play Services to identify the app for auto-retrieval. */ autoRetrievalInfo?: Schema$GoogleCloudIdentitytoolkitV2AutoRetrievalInfo; + /** + * The reCAPTCHA Enterprise token provided by the reCAPTCHA client-side integration. Required when reCAPTCHA enterprise is enabled. + */ + captchaResponse?: string | null; + /** + * The client type, web, android or ios. Required when reCAPTCHA Enterprise is enabled. + */ + clientType?: string | null; /** * iOS only. Receipt of successful app token validation with APNS. */ @@ -1490,6 +1535,10 @@ export namespace identitytoolkit_v2 { * Web only. Recaptcha solution. */ recaptchaToken?: string | null; + /** + * The reCAPTCHA version of the reCAPTCHA token in the captcha_response. Required when reCAPTCHA Enterprise is enabled. + */ + recaptchaVersion?: string | null; /** * Android only. Used to assert application identity in place of a recaptcha token. A SafetyNet Token can be generated via the [SafetyNet Android Attestation API](https://developer.android.com/training/safetynet/attestation.html), with the Base64 encoding of the `phone_number` field as the nonce. */ diff --git a/src/apis/index.ts b/src/apis/index.ts index 51f79af652..df3c3f7f99 100644 --- a/src/apis/index.ts +++ b/src/apis/index.ts @@ -105,6 +105,7 @@ import { VERSIONS as area120tablesVersions, area120tables, } from './area120tables'; +import {VERSIONS as areainsightsVersions, areainsights} from './areainsights'; import { VERSIONS as artifactregistryVersions, artifactregistry, @@ -472,6 +473,7 @@ import { VERSIONS as mybusinessverificationsVersions, mybusinessverifications, } from './mybusinessverifications'; +import {VERSIONS as netappVersions, netapp} from './netapp'; import { VERSIONS as networkconnectivityVersions, networkconnectivity, @@ -505,6 +507,10 @@ import { VERSIONS as pagespeedonlineVersions, pagespeedonline, } from './pagespeedonline'; +import { + VERSIONS as parallelstoreVersions, + parallelstore, +} from './parallelstore'; import { VERSIONS as paymentsresellersubscriptionVersions, paymentsresellersubscription, @@ -604,6 +610,10 @@ import { VERSIONS as securitycenterVersions, securitycenter, } from './securitycenter'; +import { + VERSIONS as securitypostureVersions, + securityposture, +} from './securityposture'; import { VERSIONS as serviceconsumermanagementVersions, serviceconsumermanagement, @@ -762,6 +772,7 @@ export const APIS: APIList = { apphub: apphubVersions, appsactivity: appsactivityVersions, area120tables: area120tablesVersions, + areainsights: areainsightsVersions, artifactregistry: artifactregistryVersions, assuredworkloads: assuredworkloadsVersions, authorizedbuyersmarketplace: authorizedbuyersmarketplaceVersions, @@ -925,6 +936,7 @@ export const APIS: APIList = { mybusinessplaceactions: mybusinessplaceactionsVersions, mybusinessqanda: mybusinessqandaVersions, mybusinessverifications: mybusinessverificationsVersions, + netapp: netappVersions, networkconnectivity: networkconnectivityVersions, networkmanagement: networkmanagementVersions, networksecurity: networksecurityVersions, @@ -937,6 +949,7 @@ export const APIS: APIList = { osconfig: osconfigVersions, oslogin: osloginVersions, pagespeedonline: pagespeedonlineVersions, + parallelstore: parallelstoreVersions, paymentsresellersubscription: paymentsresellersubscriptionVersions, people: peopleVersions, places: placesVersions, @@ -976,6 +989,7 @@ export const APIS: APIList = { searchconsole: searchconsoleVersions, secretmanager: secretmanagerVersions, securitycenter: securitycenterVersions, + securityposture: securitypostureVersions, serviceconsumermanagement: serviceconsumermanagementVersions, servicecontrol: servicecontrolVersions, servicedirectory: servicedirectoryVersions, @@ -1067,6 +1081,7 @@ export class GeneratedAPIs { apphub = apphub; appsactivity = appsactivity; area120tables = area120tables; + areainsights = areainsights; artifactregistry = artifactregistry; assuredworkloads = assuredworkloads; authorizedbuyersmarketplace = authorizedbuyersmarketplace; @@ -1230,6 +1245,7 @@ export class GeneratedAPIs { mybusinessplaceactions = mybusinessplaceactions; mybusinessqanda = mybusinessqanda; mybusinessverifications = mybusinessverifications; + netapp = netapp; networkconnectivity = networkconnectivity; networkmanagement = networkmanagement; networksecurity = networksecurity; @@ -1242,6 +1258,7 @@ export class GeneratedAPIs { osconfig = osconfig; oslogin = oslogin; pagespeedonline = pagespeedonline; + parallelstore = parallelstore; paymentsresellersubscription = paymentsresellersubscription; people = people; places = places; @@ -1281,6 +1298,7 @@ export class GeneratedAPIs { searchconsole = searchconsole; secretmanager = secretmanager; securitycenter = securitycenter; + securityposture = securityposture; serviceconsumermanagement = serviceconsumermanagement; servicecontrol = servicecontrol; servicedirectory = servicedirectory; diff --git a/src/apis/jobs/v3.ts b/src/apis/jobs/v3.ts index bb9f0b9c02..883dc8e8b9 100644 --- a/src/apis/jobs/v3.ts +++ b/src/apis/jobs/v3.ts @@ -965,15 +965,15 @@ export namespace jobs_v3 { minValue?: number | null; } /** - * Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478 + * Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478 */ export interface Schema$PostalAddress { /** - * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). + * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). */ addressLines?: string[] | null; /** - * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated. + * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated. */ administrativeArea?: string | null; /** @@ -989,7 +989,7 @@ export namespace jobs_v3 { */ organization?: string | null; /** - * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.). + * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.). */ postalCode?: string | null; /** @@ -1005,7 +1005,7 @@ export namespace jobs_v3 { */ revision?: number | null; /** - * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (e.g. Côte d'Ivoire). + * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (For example "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (For example Côte d'Ivoire). */ sortingCode?: string | null; /** @@ -1172,19 +1172,19 @@ export namespace jobs_v3 { */ export interface Schema$TimeOfDay { /** - * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. */ hours?: number | null; /** - * Minutes of hour of day. Must be from 0 to 59. + * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. */ minutes?: number | null; /** - * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. */ nanos?: number | null; /** - * Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. */ seconds?: number | null; } diff --git a/src/apis/jobs/v3p1beta1.ts b/src/apis/jobs/v3p1beta1.ts index 187af267cd..e31be85ca5 100644 --- a/src/apis/jobs/v3p1beta1.ts +++ b/src/apis/jobs/v3p1beta1.ts @@ -1029,15 +1029,15 @@ export namespace jobs_v3p1beta1 { response?: {[key: string]: any} | null; } /** - * Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478 + * Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478 */ export interface Schema$PostalAddress { /** - * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). + * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). */ addressLines?: string[] | null; /** - * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated. + * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated. */ administrativeArea?: string | null; /** @@ -1053,7 +1053,7 @@ export namespace jobs_v3p1beta1 { */ organization?: string | null; /** - * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.). + * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.). */ postalCode?: string | null; /** @@ -1069,7 +1069,7 @@ export namespace jobs_v3p1beta1 { */ revision?: number | null; /** - * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (e.g. Côte d'Ivoire). + * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (For example "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (For example Côte d'Ivoire). */ sortingCode?: string | null; /** @@ -1265,19 +1265,19 @@ export namespace jobs_v3p1beta1 { */ export interface Schema$TimeOfDay { /** - * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. */ hours?: number | null; /** - * Minutes of hour of day. Must be from 0 to 59. + * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. */ minutes?: number | null; /** - * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. */ nanos?: number | null; /** - * Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. */ seconds?: number | null; } diff --git a/src/apis/jobs/v4.ts b/src/apis/jobs/v4.ts index e7bdceed55..529dbca230 100644 --- a/src/apis/jobs/v4.ts +++ b/src/apis/jobs/v4.ts @@ -633,7 +633,7 @@ export namespace jobs_v4 { */ postingCreateTime?: string | null; /** - * Strongly recommended for the best service experience. The expiration timestamp of the job. After this timestamp, the job is marked as expired, and it no longer appears in search results. The expired job can't be listed by the ListJobs API, but it can be retrieved with the GetJob API or updated with the UpdateJob API or deleted with the DeleteJob API. An expired job can be updated and opened again by using a future expiration timestamp. Updating an expired job fails if there is another existing open job with same company, language_code and requisition_id. The expired jobs are retained in our system for 90 days. However, the overall expired job count cannot exceed 3 times the maximum number of open jobs over previous 7 days. If this threshold is exceeded, expired jobs are cleaned out in order of earliest expire time. Expired jobs are no longer accessible after they are cleaned out. Invalid timestamps are ignored, and treated as expire time not provided. If the timestamp is before the instant request is made, the job is treated as expired immediately on creation. This kind of job can not be updated. And when creating a job with past timestamp, the posting_publish_time must be set before posting_expire_time. The purpose of this feature is to allow other objects, such as Application, to refer a job that didn't exist in the system prior to becoming expired. If you want to modify a job that was expired on creation, delete it and create a new one. If this value isn't provided at the time of job creation or is invalid, the job posting expires after 30 days from the job's creation time. For example, if the job was created on 2017/01/01 13:00AM UTC with an unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC. If this value isn't provided on job update, it depends on the field masks set by UpdateJobRequest.update_mask. If the field masks include job_end_time, or the masks are empty meaning that every field is updated, the job posting expires after 30 days from the job's last update time. Otherwise the expiration date isn't updated. + * Strongly recommended for the best service experience. The expiration timestamp of the job. After this timestamp, the job is marked as expired, and it no longer appears in search results. The expired job can't be listed by the ListJobs API, but it can be retrieved with the GetJob API or updated with the UpdateJob API or deleted with the DeleteJob API. An expired job can be updated and opened again by using a future expiration timestamp. Updating an expired job fails if there is another existing open job with same company, language_code and requisition_id. The expired jobs are retained in our system for 90 days. However, the overall expired job count cannot exceed 3 times the maximum number of open jobs over previous 7 days. If this threshold is exceeded, expired jobs are cleaned out in order of earliest expire time. Expired jobs are no longer accessible after they are cleaned out. Invalid timestamps are ignored, and treated as expire time not provided. If the timestamp is before the instant request is made, the job is treated as expired immediately on creation. This kind of job can not be updated. And when creating a job with past timestamp, the posting_publish_time must be set before posting_expire_time. The purpose of this feature is to allow other objects, such as ApplicationInfo, to refer a job that didn't exist in the system prior to becoming expired. If you want to modify a job that was expired on creation, delete it and create a new one. If this value isn't provided at the time of job creation or is invalid, the job posting expires after 30 days from the job's creation time. For example, if the job was created on 2017/01/01 13:00AM UTC with an unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC. If this value isn't provided on job update, it depends on the field masks set by UpdateJobRequest.update_mask. If the field masks include job_end_time, or the masks are empty meaning that every field is updated, the job posting expires after 30 days from the job's last update time. Otherwise the expiration date isn't updated. */ postingExpireTime?: string | null; /** @@ -883,7 +883,7 @@ export namespace jobs_v4 { */ regionCode?: string | null; /** - * Allows the client to return jobs without a set location, specifically, telecommuting jobs (telecommuting is considered by the service as a special location). Job.posting_region indicates if a job permits telecommuting. If this field is set to TelecommutePreference.TELECOMMUTE_ALLOWED, telecommuting jobs are searched, and address and lat_lng are ignored. If not set or set to TelecommutePreference.TELECOMMUTE_EXCLUDED, the telecommute status of the jobs is ignored. Jobs that have PostingRegion.TELECOMMUTE and have additional Job.addresses may still be matched based on other location filters using address or latlng. This filter can be used by itself to search exclusively for telecommuting jobs, or it can be combined with another location filter to search for a combination of job locations, such as "Mountain View" or "telecommuting" jobs. However, when used in combination with other location filters, telecommuting jobs can be treated as less relevant than other jobs in the search response. This field is only used for job search requests. + * Allows the client to return jobs without a set location, specifically, telecommuting jobs (telecommuting is considered by the service as a special location). Job.posting_region indicates if a job permits telecommuting. If this field is set to TelecommutePreference.TELECOMMUTE_ALLOWED, telecommuting jobs are searched, and address and lat_lng are ignored. If not set or set to TelecommutePreference.TELECOMMUTE_EXCLUDED, the telecommute status of the jobs is ignored. Jobs that have PostingRegion.TELECOMMUTE and have additional Job.addresses may still be matched based on other location filters using address or lat_lng. This filter can be used by itself to search exclusively for telecommuting jobs, or it can be combined with another location filter to search for a combination of job locations, such as "Mountain View" or "telecommuting" jobs. However, when used in combination with other location filters, telecommuting jobs can be treated as less relevant than other jobs in the search response. This field is only used for job search requests. */ telecommutePreference?: string | null; } @@ -955,15 +955,15 @@ export namespace jobs_v4 { response?: {[key: string]: any} | null; } /** - * Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478 + * Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478 */ export interface Schema$PostalAddress { /** - * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). + * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). */ addressLines?: string[] | null; /** - * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated. + * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated. */ administrativeArea?: string | null; /** @@ -979,7 +979,7 @@ export namespace jobs_v4 { */ organization?: string | null; /** - * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.). + * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.). */ postalCode?: string | null; /** @@ -995,7 +995,7 @@ export namespace jobs_v4 { */ revision?: number | null; /** - * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (e.g. Côte d'Ivoire). + * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (For example "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (For example Côte d'Ivoire). */ sortingCode?: string | null; /** @@ -1102,6 +1102,10 @@ export namespace jobs_v4 { * The token specifying the current offset within search results. See SearchJobsResponse.next_page_token for an explanation of how to obtain the next set of query results. */ pageToken?: string | null; + /** + * Optional. The relevance threshold of the search results. Default to Google defined threshold, leveraging a balance of precision and recall to deliver both highly accurate results and comprehensive coverage of relevant information. + */ + relevanceThreshold?: string | null; /** * Required. The meta information collected about the job searcher, used to improve the search quality of the service. The identifiers (such as `user_id`) are provided by users, and must be unique and consistent. */ @@ -1200,19 +1204,19 @@ export namespace jobs_v4 { */ export interface Schema$TimeOfDay { /** - * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. */ hours?: number | null; /** - * Minutes of hour of day. Must be from 0 to 59. + * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. */ minutes?: number | null; /** - * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. */ nanos?: number | null; /** - * Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. */ seconds?: number | null; } diff --git a/src/apis/language/v1.ts b/src/apis/language/v1.ts index a901e59d94..631e353045 100644 --- a/src/apis/language/v1.ts +++ b/src/apis/language/v1.ts @@ -535,7 +535,7 @@ export namespace language_v1 { trackingLabels?: {[key: string]: string} | null; } /** - * Infra Usage of billing metrics. Next ID: 6 + * Infra Usage of billing metrics. */ export interface Schema$InfraUsage { /** @@ -914,9 +914,6 @@ export namespace language_v1 { columnId?: number | null; correlationStats?: Schema$XPSCorrelationStats; } - /** - * =========================================================================== # The fields below are used exclusively for Forecasting. - */ export interface Schema$XPSColumnSpecForecastingMetadata { /** * The type of the column for FORECASTING model training purposes. @@ -1220,11 +1217,11 @@ export namespace language_v1 { */ exportFirebaseAuxiliaryInfo?: boolean | null; /** - * The Google Contained Registry (GCR) path the exported files to be pushed to. This location is set if the exported format is DOCKDER. + * The Google Contained Registry path the exported files to be pushed to. This location is set if the exported format is DOCKDER. */ outputGcrUri?: string | null; /** - * The Google Cloud Storage (GCS) directory where XPS will output the exported models and related files. Format: gs://bucket/directory + * The Google Cloud Storage directory where XPS will output the exported models and related files. Format: gs://bucket/directory */ outputGcsUri?: string | null; tfJsFormat?: Schema$XPSTfJsFormat; @@ -1232,7 +1229,7 @@ export namespace language_v1 { tfSavedModelFormat?: Schema$XPSTfSavedModelFormat; } /** - * Spec of input and output files, on external file systems (CNS, GCS, etc). + * Spec of input and output files, on external file systems (for example, Colossus Namespace System or Google Cloud Storage). */ export interface Schema$XPSFileSpec { /** @@ -1320,7 +1317,7 @@ export namespace language_v1 { */ export interface Schema$XPSImageExportModelSpec { /** - * Contains the model format and internal location of the model files to be exported/downloaded. Use the GCS bucket name which is provided via TrainRequest.gcs_bucket_name to store the model files. + * Contains the model format and internal location of the model files to be exported/downloaded. Use the Google Cloud Storage bucket name which is provided via TrainRequest.gcs_bucket_name to store the model files. */ exportModelOutputConfig?: Schema$XPSExportModelOutputConfig[]; } @@ -1337,7 +1334,7 @@ export namespace language_v1 { */ exportArtifact?: Schema$XPSModelArtifactItem[]; /** - * GCS uri of decoded labels file for model export 'dict.txt'. + * Google Cloud Storage URI of decoded labels file for model export 'dict.txt'. */ labelGcsUri?: string | null; /** @@ -1345,11 +1342,11 @@ export namespace language_v1 { */ servingArtifact?: Schema$XPSModelArtifactItem; /** - * GCS uri prefix of Tensorflow JavaScript binary files 'groupX-shardXofX.bin' Deprecated. + * Google Cloud Storage URI prefix of Tensorflow JavaScript binary files 'groupX-shardXofX.bin'. Deprecated. */ tfJsBinaryGcsPrefix?: string | null; /** - * GCS uri of Tensorflow Lite metadata 'tflite_metadata.json'. + * Google Cloud Storage URI of Tensorflow Lite metadata 'tflite_metadata.json'. */ tfLiteMetadataGcsUri?: string | null; } @@ -1534,13 +1531,10 @@ export namespace language_v1 { */ artifactFormat?: string | null; /** - * The Google Cloud Storage (GCS) uri that stores the model binary files. + * The Google Cloud Storage URI that stores the model binary files. */ gcsUri?: string | null; } - /** - * Next ID: 8 - */ export interface Schema$XPSPreprocessResponse { /** * Preprocessed examples, that are to be imported into AutoML storage. This should point to RecordIO file(s) of PreprocessedExample messages. The PreprocessedExample.mvp_training_data-s returned here are later verbatim passed to Train() call in TrainExample.mvp_training_data. @@ -1653,7 +1647,7 @@ export namespace language_v1 { xraiAttribution?: Schema$XPSXraiAttribution; } /** - * Specification of Model explanation. Feature-based XAI in AutoML Vision ICN is deprecated, see b/288407203 for context. + * Specification of Model explanation. Feature-based XAI in AutoML Vision ICN is deprecated. */ export interface Schema$XPSResponseExplanationSpec { /** @@ -1929,7 +1923,7 @@ export namespace language_v1 { truePositiveRate?: number | null; } /** - * Metadata for a dataset used for AutoML Tables. Next ID: 6 + * Metadata for a dataset used for AutoML Tables. */ export interface Schema$XPSTablesDatasetMetadata { /** @@ -2110,7 +2104,7 @@ export namespace language_v1 { trainCostMilliNodeHours?: string | null; } /** - * Component model. Next ID: 10 + * Component model. */ export interface Schema$XPSTextComponentModel { /** @@ -2311,9 +2305,6 @@ export namespace language_v1 { */ value?: number | null; } - /** - * Next ID: 18 - */ export interface Schema$XPSTrainResponse { /** * Estimated model size in bytes once deployed. @@ -2484,7 +2475,7 @@ export namespace language_v1 { */ export interface Schema$XPSVideoExportModelSpec { /** - * Contains the model format and internal location of the model files to be exported/downloaded. Use the GCS bucket name which is provided via TrainRequest.gcs_bucket_name to store the model files. + * Contains the model format and internal location of the model files to be exported/downloaded. Use the Google Cloud Storage bucket name which is provided via TrainRequest.gcs_bucket_name to store the model files. */ exportModelOutputConfig?: Schema$XPSExportModelOutputConfig[]; } diff --git a/src/apis/language/v1beta2.ts b/src/apis/language/v1beta2.ts index d55d765105..f233ef4712 100644 --- a/src/apis/language/v1beta2.ts +++ b/src/apis/language/v1beta2.ts @@ -254,7 +254,7 @@ export namespace language_v1beta2 { features?: Schema$AnnotateTextRequestFeatures; } /** - * All available features for sentiment, syntax, and semantic analysis. Setting each one to true will enable that specific analysis for the input. Next ID: 12 + * All available features for sentiment, syntax, and semantic analysis. Setting each one to true will enable that specific analysis for the input. */ export interface Schema$AnnotateTextRequestFeatures { /** @@ -543,7 +543,7 @@ export namespace language_v1beta2 { trackingLabels?: {[key: string]: string} | null; } /** - * Infra Usage of billing metrics. Next ID: 6 + * Infra Usage of billing metrics. */ export interface Schema$InfraUsage { /** @@ -674,11 +674,11 @@ export namespace language_v1beta2 { text?: Schema$TextSpan; } /** - * Represents the feeling associated with the entire text or entities in the text. Next ID: 6 + * Represents the feeling associated with the entire text or entities in the text. */ export interface Schema$Sentiment { /** - * A non-negative number in the [0, +inf) range, which represents the absolute magnitude of sentiment regardless of score (positive or negative). + * A non-negative number in the [0, +inf] range, which represents the absolute magnitude of sentiment regardless of score (positive or negative). */ magnitude?: number | null; /** @@ -922,9 +922,6 @@ export namespace language_v1beta2 { columnId?: number | null; correlationStats?: Schema$XPSCorrelationStats; } - /** - * =========================================================================== # The fields below are used exclusively for Forecasting. - */ export interface Schema$XPSColumnSpecForecastingMetadata { /** * The type of the column for FORECASTING model training purposes. @@ -1228,11 +1225,11 @@ export namespace language_v1beta2 { */ exportFirebaseAuxiliaryInfo?: boolean | null; /** - * The Google Contained Registry (GCR) path the exported files to be pushed to. This location is set if the exported format is DOCKDER. + * The Google Contained Registry path the exported files to be pushed to. This location is set if the exported format is DOCKDER. */ outputGcrUri?: string | null; /** - * The Google Cloud Storage (GCS) directory where XPS will output the exported models and related files. Format: gs://bucket/directory + * The Google Cloud Storage directory where XPS will output the exported models and related files. Format: gs://bucket/directory */ outputGcsUri?: string | null; tfJsFormat?: Schema$XPSTfJsFormat; @@ -1240,7 +1237,7 @@ export namespace language_v1beta2 { tfSavedModelFormat?: Schema$XPSTfSavedModelFormat; } /** - * Spec of input and output files, on external file systems (CNS, GCS, etc). + * Spec of input and output files, on external file systems (for example, Colossus Namespace System or Google Cloud Storage). */ export interface Schema$XPSFileSpec { /** @@ -1328,7 +1325,7 @@ export namespace language_v1beta2 { */ export interface Schema$XPSImageExportModelSpec { /** - * Contains the model format and internal location of the model files to be exported/downloaded. Use the GCS bucket name which is provided via TrainRequest.gcs_bucket_name to store the model files. + * Contains the model format and internal location of the model files to be exported/downloaded. Use the Google Cloud Storage bucket name which is provided via TrainRequest.gcs_bucket_name to store the model files. */ exportModelOutputConfig?: Schema$XPSExportModelOutputConfig[]; } @@ -1345,7 +1342,7 @@ export namespace language_v1beta2 { */ exportArtifact?: Schema$XPSModelArtifactItem[]; /** - * GCS uri of decoded labels file for model export 'dict.txt'. + * Google Cloud Storage URI of decoded labels file for model export 'dict.txt'. */ labelGcsUri?: string | null; /** @@ -1353,11 +1350,11 @@ export namespace language_v1beta2 { */ servingArtifact?: Schema$XPSModelArtifactItem; /** - * GCS uri prefix of Tensorflow JavaScript binary files 'groupX-shardXofX.bin' Deprecated. + * Google Cloud Storage URI prefix of Tensorflow JavaScript binary files 'groupX-shardXofX.bin'. Deprecated. */ tfJsBinaryGcsPrefix?: string | null; /** - * GCS uri of Tensorflow Lite metadata 'tflite_metadata.json'. + * Google Cloud Storage URI of Tensorflow Lite metadata 'tflite_metadata.json'. */ tfLiteMetadataGcsUri?: string | null; } @@ -1542,13 +1539,10 @@ export namespace language_v1beta2 { */ artifactFormat?: string | null; /** - * The Google Cloud Storage (GCS) uri that stores the model binary files. + * The Google Cloud Storage URI that stores the model binary files. */ gcsUri?: string | null; } - /** - * Next ID: 8 - */ export interface Schema$XPSPreprocessResponse { /** * Preprocessed examples, that are to be imported into AutoML storage. This should point to RecordIO file(s) of PreprocessedExample messages. The PreprocessedExample.mvp_training_data-s returned here are later verbatim passed to Train() call in TrainExample.mvp_training_data. @@ -1661,7 +1655,7 @@ export namespace language_v1beta2 { xraiAttribution?: Schema$XPSXraiAttribution; } /** - * Specification of Model explanation. Feature-based XAI in AutoML Vision ICN is deprecated, see b/288407203 for context. + * Specification of Model explanation. Feature-based XAI in AutoML Vision ICN is deprecated. */ export interface Schema$XPSResponseExplanationSpec { /** @@ -1937,7 +1931,7 @@ export namespace language_v1beta2 { truePositiveRate?: number | null; } /** - * Metadata for a dataset used for AutoML Tables. Next ID: 6 + * Metadata for a dataset used for AutoML Tables. */ export interface Schema$XPSTablesDatasetMetadata { /** @@ -2118,7 +2112,7 @@ export namespace language_v1beta2 { trainCostMilliNodeHours?: string | null; } /** - * Component model. Next ID: 10 + * Component model. */ export interface Schema$XPSTextComponentModel { /** @@ -2319,9 +2313,6 @@ export namespace language_v1beta2 { */ value?: number | null; } - /** - * Next ID: 18 - */ export interface Schema$XPSTrainResponse { /** * Estimated model size in bytes once deployed. @@ -2492,7 +2483,7 @@ export namespace language_v1beta2 { */ export interface Schema$XPSVideoExportModelSpec { /** - * Contains the model format and internal location of the model files to be exported/downloaded. Use the GCS bucket name which is provided via TrainRequest.gcs_bucket_name to store the model files. + * Contains the model format and internal location of the model files to be exported/downloaded. Use the Google Cloud Storage bucket name which is provided via TrainRequest.gcs_bucket_name to store the model files. */ exportModelOutputConfig?: Schema$XPSExportModelOutputConfig[]; } diff --git a/src/apis/language/v2.ts b/src/apis/language/v2.ts index 1f198d75c9..4d83fb1ec9 100644 --- a/src/apis/language/v2.ts +++ b/src/apis/language/v2.ts @@ -146,7 +146,7 @@ export namespace language_v2 { */ entities?: Schema$Entity[]; /** - * The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language field for more details. + * The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language_code field for more details. */ languageCode?: string | null; /** @@ -176,7 +176,7 @@ export namespace language_v2 { */ documentSentiment?: Schema$Sentiment; /** - * The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language field for more details. + * The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language_code field for more details. */ languageCode?: string | null; /** @@ -239,11 +239,11 @@ export namespace language_v2 { */ documentSentiment?: Schema$Sentiment; /** - * Entities, along with their semantic information, in the input document. Populated if the user enables AnnotateTextRequest.Features.extract_entities or AnnotateTextRequest.Features.extract_entity_sentiment. + * Entities, along with their semantic information, in the input document. Populated if the user enables AnnotateTextRequest.Features.extract_entities . */ entities?: Schema$Entity[]; /** - * The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language field for more details. + * The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language_code field for more details. */ languageCode?: string | null; /** @@ -294,7 +294,7 @@ export namespace language_v2 { */ categories?: Schema$ClassificationCategory[]; /** - * The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language field for more details. + * The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language_code field for more details. */ languageCode?: string | null; /** @@ -396,7 +396,7 @@ export namespace language_v2 { */ name?: string | null; /** - * For calls to AnalyzeEntitySentiment or if AnnotateTextRequest.Features.extract_entity_sentiment is set to true, this field will contain the aggregate sentiment expressed for this entity in the provided document. + * For calls to AnalyzeEntitySentiment this field will contain the aggregate sentiment expressed for this entity in the provided document. */ sentiment?: Schema$Sentiment; /** @@ -413,7 +413,7 @@ export namespace language_v2 { */ probability?: number | null; /** - * For calls to AnalyzeEntitySentiment or if AnnotateTextRequest.Features.extract_entity_sentiment is set to true, this field will contain the sentiment expressed for this mention of the entity in the provided document. + * For calls to AnalyzeEntitySentiment this field will contain the sentiment expressed for this mention of the entity in the provided document. */ sentiment?: Schema$Sentiment; /** @@ -444,7 +444,7 @@ export namespace language_v2 { trackingLabels?: {[key: string]: string} | null; } /** - * Infra Usage of billing metrics. Next ID: 6 + * Infra Usage of billing metrics. */ export interface Schema$InfraUsage { /** @@ -486,7 +486,7 @@ export namespace language_v2 { */ export interface Schema$ModerateTextResponse { /** - * The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language field for more details. + * The language of the text, which will be the same as the language specified in the request or, if not specified, the automatically-detected language. See Document.language_code field for more details. */ languageCode?: string | null; /** @@ -538,7 +538,7 @@ export namespace language_v2 { */ export interface Schema$Sentiment { /** - * A non-negative number in the [0, +inf) range, which represents the absolute magnitude of sentiment regardless of score (positive or negative). + * A non-negative number in the [0, +inf] range, which represents the absolute magnitude of sentiment regardless of score (positive or negative). */ magnitude?: number | null; /** @@ -761,9 +761,6 @@ export namespace language_v2 { columnId?: number | null; correlationStats?: Schema$XPSCorrelationStats; } - /** - * =========================================================================== # The fields below are used exclusively for Forecasting. - */ export interface Schema$XPSColumnSpecForecastingMetadata { /** * The type of the column for FORECASTING model training purposes. @@ -1067,11 +1064,11 @@ export namespace language_v2 { */ exportFirebaseAuxiliaryInfo?: boolean | null; /** - * The Google Contained Registry (GCR) path the exported files to be pushed to. This location is set if the exported format is DOCKDER. + * The Google Contained Registry path the exported files to be pushed to. This location is set if the exported format is DOCKDER. */ outputGcrUri?: string | null; /** - * The Google Cloud Storage (GCS) directory where XPS will output the exported models and related files. Format: gs://bucket/directory + * The Google Cloud Storage directory where XPS will output the exported models and related files. Format: gs://bucket/directory */ outputGcsUri?: string | null; tfJsFormat?: Schema$XPSTfJsFormat; @@ -1079,7 +1076,7 @@ export namespace language_v2 { tfSavedModelFormat?: Schema$XPSTfSavedModelFormat; } /** - * Spec of input and output files, on external file systems (CNS, GCS, etc). + * Spec of input and output files, on external file systems (for example, Colossus Namespace System or Google Cloud Storage). */ export interface Schema$XPSFileSpec { /** @@ -1167,7 +1164,7 @@ export namespace language_v2 { */ export interface Schema$XPSImageExportModelSpec { /** - * Contains the model format and internal location of the model files to be exported/downloaded. Use the GCS bucket name which is provided via TrainRequest.gcs_bucket_name to store the model files. + * Contains the model format and internal location of the model files to be exported/downloaded. Use the Google Cloud Storage bucket name which is provided via TrainRequest.gcs_bucket_name to store the model files. */ exportModelOutputConfig?: Schema$XPSExportModelOutputConfig[]; } @@ -1184,7 +1181,7 @@ export namespace language_v2 { */ exportArtifact?: Schema$XPSModelArtifactItem[]; /** - * GCS uri of decoded labels file for model export 'dict.txt'. + * Google Cloud Storage URI of decoded labels file for model export 'dict.txt'. */ labelGcsUri?: string | null; /** @@ -1192,11 +1189,11 @@ export namespace language_v2 { */ servingArtifact?: Schema$XPSModelArtifactItem; /** - * GCS uri prefix of Tensorflow JavaScript binary files 'groupX-shardXofX.bin' Deprecated. + * Google Cloud Storage URI prefix of Tensorflow JavaScript binary files 'groupX-shardXofX.bin'. Deprecated. */ tfJsBinaryGcsPrefix?: string | null; /** - * GCS uri of Tensorflow Lite metadata 'tflite_metadata.json'. + * Google Cloud Storage URI of Tensorflow Lite metadata 'tflite_metadata.json'. */ tfLiteMetadataGcsUri?: string | null; } @@ -1381,13 +1378,10 @@ export namespace language_v2 { */ artifactFormat?: string | null; /** - * The Google Cloud Storage (GCS) uri that stores the model binary files. + * The Google Cloud Storage URI that stores the model binary files. */ gcsUri?: string | null; } - /** - * Next ID: 8 - */ export interface Schema$XPSPreprocessResponse { /** * Preprocessed examples, that are to be imported into AutoML storage. This should point to RecordIO file(s) of PreprocessedExample messages. The PreprocessedExample.mvp_training_data-s returned here are later verbatim passed to Train() call in TrainExample.mvp_training_data. @@ -1500,7 +1494,7 @@ export namespace language_v2 { xraiAttribution?: Schema$XPSXraiAttribution; } /** - * Specification of Model explanation. Feature-based XAI in AutoML Vision ICN is deprecated, see b/288407203 for context. + * Specification of Model explanation. Feature-based XAI in AutoML Vision ICN is deprecated. */ export interface Schema$XPSResponseExplanationSpec { /** @@ -1776,7 +1770,7 @@ export namespace language_v2 { truePositiveRate?: number | null; } /** - * Metadata for a dataset used for AutoML Tables. Next ID: 6 + * Metadata for a dataset used for AutoML Tables. */ export interface Schema$XPSTablesDatasetMetadata { /** @@ -1957,7 +1951,7 @@ export namespace language_v2 { trainCostMilliNodeHours?: string | null; } /** - * Component model. Next ID: 10 + * Component model. */ export interface Schema$XPSTextComponentModel { /** @@ -2158,9 +2152,6 @@ export namespace language_v2 { */ value?: number | null; } - /** - * Next ID: 18 - */ export interface Schema$XPSTrainResponse { /** * Estimated model size in bytes once deployed. @@ -2331,7 +2322,7 @@ export namespace language_v2 { */ export interface Schema$XPSVideoExportModelSpec { /** - * Contains the model format and internal location of the model files to be exported/downloaded. Use the GCS bucket name which is provided via TrainRequest.gcs_bucket_name to store the model files. + * Contains the model format and internal location of the model files to be exported/downloaded. Use the Google Cloud Storage bucket name which is provided via TrainRequest.gcs_bucket_name to store the model files. */ exportModelOutputConfig?: Schema$XPSExportModelOutputConfig[]; } diff --git a/src/apis/localservices/v1.ts b/src/apis/localservices/v1.ts index 57432e2125..6521703db9 100644 --- a/src/apis/localservices/v1.ts +++ b/src/apis/localservices/v1.ts @@ -375,11 +375,11 @@ export namespace localservices_v1 { */ export interface Schema$GoogleTypeTimeZone { /** - * IANA Time Zone Database time zone, e.g. "America/New_York". + * IANA Time Zone Database time zone. For example "America/New_York". */ id?: string | null; /** - * Optional. IANA Time Zone Database version number, e.g. "2019a". + * Optional. IANA Time Zone Database version number. For example "2019a". */ version?: string | null; } diff --git a/src/apis/logging/v2.ts b/src/apis/logging/v2.ts index 6b197fac0e..d6b730d50d 100644 --- a/src/apis/logging/v2.ts +++ b/src/apis/logging/v2.ts @@ -1214,11 +1214,11 @@ export namespace logging_v2 { */ description?: string | null; /** - * Output only. The resource name of the log scope.For example:projects/my-project/locations/global/logScopes/my-log-scope + * Output only. The resource name of the log scope.Log scopes are only available in the global location. For example:projects/my-project/locations/global/logScopes/my-log-scope */ name?: string | null; /** - * Required. Names of one or more parent resources: projects/[PROJECT_ID]May alternatively be one or more views: projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]A log scope can include a maximum of 50 projects and a maximum of 100 resources in total. + * Required. Names of one or more parent resources: projects/[PROJECT_ID]May alternatively be one or more views: projects/[PROJECT_ID]/locations/[LOCATION_ID]/buckets/[BUCKET_ID]/views/[VIEW_ID]A log scope can include a maximum of 5 projects and a maximum of 100 resources in total. */ resourceNames?: string[] | null; /** @@ -11047,7 +11047,7 @@ export namespace logging_v2 { export interface Params$Resource$Folders$Locations$Logscopes$Patch extends StandardParameters { /** - * Output only. The resource name of the log scope.For example:projects/my-project/locations/global/logScopes/my-log-scope + * Output only. The resource name of the log scope.Log scopes are only available in the global location. For example:projects/my-project/locations/global/logScopes/my-log-scope */ name?: string; /** @@ -19498,7 +19498,7 @@ export namespace logging_v2 { export interface Params$Resource$Organizations$Locations$Logscopes$Patch extends StandardParameters { /** - * Output only. The resource name of the log scope.For example:projects/my-project/locations/global/logScopes/my-log-scope + * Output only. The resource name of the log scope.Log scopes are only available in the global location. For example:projects/my-project/locations/global/logScopes/my-log-scope */ name?: string; /** @@ -24865,7 +24865,7 @@ export namespace logging_v2 { export interface Params$Resource$Projects$Locations$Logscopes$Patch extends StandardParameters { /** - * Output only. The resource name of the log scope.For example:projects/my-project/locations/global/logScopes/my-log-scope + * Output only. The resource name of the log scope.Log scopes are only available in the global location. For example:projects/my-project/locations/global/logScopes/my-log-scope */ name?: string; /** diff --git a/src/apis/looker/v1.ts b/src/apis/looker/v1.ts index 10fdb46d61..5d54eceeeb 100644 --- a/src/apis/looker/v1.ts +++ b/src/apis/looker/v1.ts @@ -456,7 +456,7 @@ export namespace looker_v1 { */ updateTime?: string | null; /** - * User metadata. + * Optional. User metadata. */ userMetadata?: Schema$UserMetadata; } @@ -737,19 +737,19 @@ export namespace looker_v1 { */ export interface Schema$TimeOfDay { /** - * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. */ hours?: number | null; /** - * Minutes of hour of day. Must be from 0 to 59. + * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. */ minutes?: number | null; /** - * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. */ nanos?: number | null; /** - * Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. */ seconds?: number | null; } @@ -2438,7 +2438,7 @@ export namespace looker_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/memcache/v1.ts b/src/apis/memcache/v1.ts index fa92be2faf..c5d6077849 100644 --- a/src/apis/memcache/v1.ts +++ b/src/apis/memcache/v1.ts @@ -998,19 +998,19 @@ export namespace memcache_v1 { */ export interface Schema$TimeOfDay { /** - * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. */ hours?: number | null; /** - * Minutes of hour of day. Must be from 0 to 59. + * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. */ minutes?: number | null; /** - * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. */ nanos?: number | null; /** - * Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. */ seconds?: number | null; } diff --git a/src/apis/memcache/v1beta2.ts b/src/apis/memcache/v1beta2.ts index 6830cf57e9..18b1428fd1 100644 --- a/src/apis/memcache/v1beta2.ts +++ b/src/apis/memcache/v1beta2.ts @@ -1019,19 +1019,19 @@ export namespace memcache_v1beta2 { */ export interface Schema$TimeOfDay { /** - * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. */ hours?: number | null; /** - * Minutes of hour of day. Must be from 0 to 59. + * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. */ minutes?: number | null; /** - * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. */ nanos?: number | null; /** - * Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. */ seconds?: number | null; } diff --git a/src/apis/merchantapi/accounts_v1beta.ts b/src/apis/merchantapi/accounts_v1beta.ts index 539096a458..eba156f8f2 100644 --- a/src/apis/merchantapi/accounts_v1beta.ts +++ b/src/apis/merchantapi/accounts_v1beta.ts @@ -144,7 +144,7 @@ export namespace merchantapi_accounts_v1beta { validUntil?: Schema$Date; } /** - * An account. + * The `Account` message represents a merchant's account within Shopping Ads. It's the primary entity for managing product data, settings, and interactions with Google's services and external providers. Accounts can operate as standalone entities or be part of a multi-client account (MCA) structure. In an MCA setup the parent account manages multiple sub-accounts. Establishing an account involves configuring attributes like the account name, time zone, and language preferences. The `Account` message is the parent entity for many other resources, for example, `AccountRelationship`, `Homepage`, `BusinessInfo` and so on. */ export interface Schema$Account { /** @@ -218,7 +218,7 @@ export namespace merchantapi_accounts_v1beta { */ accountAggregation?: Schema$AccountAggregation; /** - * Optional. The provider of the service. Format: `accounts/{account\}` + * Required. The provider of the service. Either the reference to an account such as `providers/123` or a well-known service provider (one of `providers/GOOGLE_ADS` or `providers/GOOGLE_BUSINESS_PROFILE`). */ provider?: string | null; } @@ -290,7 +290,7 @@ export namespace merchantapi_accounts_v1beta { */ name?: string | null; /** - * Optional. Whether the identity attributes may be used for promotions. + * Required. Whether the identity attributes may be used for promotions. */ promotionsConsent?: string | null; /** @@ -307,11 +307,11 @@ export namespace merchantapi_accounts_v1beta { womenOwned?: Schema$IdentityAttribute; } /** - * Collection of information related to a business. + * The `BusinessInfo` message contains essential information about a merchant's business. This message captures key business details such as physical address, customer service contacts, and region-specific identifiers. */ export interface Schema$BusinessInfo { /** - * Optional. The address of the business. + * Optional. The address of the business. Only `region_code`, `address_lines`, `postal_code`, `administrative_area` and `locality` fields are supported. All other fields are ignored. */ address?: Schema$PostalAddress; /** @@ -336,7 +336,7 @@ export namespace merchantapi_accounts_v1beta { phoneVerificationState?: string | null; } /** - * A list of carrier rates that can be referred to by `main_table` or `single_value`. + * A list of carrier rates that can be referred to by `main_table` or `single_value`. Supported carrier services are defined in https://support.google.com/merchants/answer/12577710?ref_topic=12570808&sjid=10662598224319463032-NC#zippy=%2Cdelivery-cost-rate-type%2Ccarrier-rate-au-de-uk-and-us-only. */ export interface Schema$CarrierRate { /** @@ -367,7 +367,12 @@ export namespace merchantapi_accounts_v1beta { /** * Request message for the `ClaimHomepage` method. */ - export interface Schema$ClaimHomepageRequest {} + export interface Schema$ClaimHomepageRequest { + /** + * Optional. When set to `true`, this option removes any existing claim on the requested website and replaces it with a claim from the account that makes the request. + */ + overwrite?: boolean | null; + } /** * Request message for the `CreateAndConfigureAccount` method. */ @@ -584,7 +589,7 @@ export namespace merchantapi_accounts_v1beta { weights?: Schema$Weight[]; } /** - * A store's homepage. + * The `Homepage` message represents a merchant's store homepage within the system. A merchant's homepage is the primary domain where customers interact with their store. The homepage can be claimed and verified as a proof of ownership and allows the merchant to unlock features that require a verified website. For more information, see [Understanding online store URL verification](//support.google.com/merchants/answer/176793). */ export interface Schema$Homepage { /** @@ -792,7 +797,7 @@ export namespace merchantapi_accounts_v1beta { */ acceptExchange?: boolean | null; /** - * The countries of sale where the return policy applies. The values must be a valid 2 letter ISO 3166 code. + * Required. Immutable. The countries of sale where the return policy applies. The values must be a valid 2 letter ISO 3166 code. */ countries?: string[] | null; /** @@ -800,7 +805,7 @@ export namespace merchantapi_accounts_v1beta { */ itemConditions?: string[] | null; /** - * This field represents the unique user-defined label of the return policy. It is important to note that the same label cannot be used in different return policies for the same country. Unless a product specifies a specific label attribute, policies will be automatically labeled as 'default'. To assign a custom return policy to certain product groups, follow the instructions provided in the [Return policy label] (https://support.google.com/merchants/answer/9445425). The label can contain up to 50 characters. + * Required. Immutable. This field represents the unique user-defined label of the return policy. It is important to note that the same label cannot be used in different return policies for the same country. Unless a product specifies a specific label attribute, policies will be automatically labeled as 'default'. To assign a custom return policy to certain product groups, follow the instructions provided in the [Return policy label] (https://support.google.com/merchants/answer/9445425). The label can contain up to 50 characters. */ label?: string | null; /** @@ -828,7 +833,7 @@ export namespace merchantapi_accounts_v1beta { */ returnPolicyId?: string | null; /** - * The return policy uri. This can used by Google to do a sanity check for the policy. It must be a valid URL. + * Required. The return policy uri. This can used by Google to do a sanity check for the policy. It must be a valid URL. */ returnPolicyUri?: string | null; /** @@ -841,7 +846,7 @@ export namespace merchantapi_accounts_v1beta { */ export interface Schema$PhoneNumber { /** - * The phone number, represented as a leading plus sign ('+'), followed by a phone number that uses a relaxed ITU E.164 format consisting of the country calling code (1 to 3 digits) and the subscriber number, with no additional spaces or formatting, e.g.: - correct: "+15552220123" - incorrect: "+1 (555) 222-01234 x123". The ITU E.164 format limits the latter to 12 digits, but in practice not all countries respect that, so we relax that restriction here. National-only numbers are not allowed. References: - https://www.itu.int/rec/T-REC-E.164-201011-I - https://en.wikipedia.org/wiki/E.164. - https://en.wikipedia.org/wiki/List_of_country_calling_codes + * The phone number, represented as a leading plus sign ('+'), followed by a phone number that uses a relaxed ITU E.164 format consisting of the country calling code (1 to 3 digits) and the subscriber number, with no additional spaces or formatting. For example: - correct: "+15552220123" - incorrect: "+1 (555) 222-01234 x123". The ITU E.164 format limits the latter to 12 digits, but in practice not all countries respect that, so we relax that restriction here. National-only numbers are not allowed. References: - https://www.itu.int/rec/T-REC-E.164-201011-I - https://en.wikipedia.org/wiki/E.164. - https://en.wikipedia.org/wiki/List_of_country_calling_codes */ e164Number?: string | null; /** @@ -867,15 +872,15 @@ export namespace merchantapi_accounts_v1beta { type?: string | null; } /** - * Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478 + * Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478 */ export interface Schema$PostalAddress { /** - * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). + * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). */ addressLines?: string[] | null; /** - * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated. + * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated. */ administrativeArea?: string | null; /** @@ -891,7 +896,7 @@ export namespace merchantapi_accounts_v1beta { */ organization?: string | null; /** - * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.). + * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.). */ postalCode?: string | null; /** @@ -907,7 +912,7 @@ export namespace merchantapi_accounts_v1beta { */ revision?: number | null; /** - * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (e.g. Côte d'Ivoire). + * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (For example "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (For example Côte d'Ivoire). */ sortingCode?: string | null; /** @@ -991,6 +996,10 @@ export namespace merchantapi_accounts_v1beta { * A message to describe the change that happened to the product */ changes?: Schema$ProductChange[]; + /** + * The product expiration time. This field will not bet set if the notification is sent for a product deletion event. + */ + expirationTime?: string | null; /** * The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id\}` */ @@ -1143,7 +1152,7 @@ export namespace merchantapi_accounts_v1beta { */ fixedFee?: Schema$Price; /** - * Type of return shipping fee. + * Required. Type of return shipping fee. */ type?: string | null; } @@ -1227,11 +1236,11 @@ export namespace merchantapi_accounts_v1beta { warehouses?: Schema$Warehouse[]; } /** - * An object representing a short code, which is a phone number that is typically much shorter than regular phone numbers and can be used to address messages in MMS and SMS systems, as well as for abbreviated dialing (e.g. "Text 611 to see how many minutes you have remaining on your plan."). Short codes are restricted to a region and are not internationally dialable, which means the same short code can exist in different regions, with different usage and pricing, even if those regions share the same country calling code (e.g. US and CA). + * An object representing a short code, which is a phone number that is typically much shorter than regular phone numbers and can be used to address messages in MMS and SMS systems, as well as for abbreviated dialing (For example "Text 611 to see how many minutes you have remaining on your plan."). Short codes are restricted to a region and are not internationally dialable, which means the same short code can exist in different regions, with different usage and pricing, even if those regions share the same country calling code (For example: US and CA). */ export interface Schema$ShortCode { /** - * Required. The short code digits, without a leading plus ('+') or country calling code, e.g. "611". + * Required. The short code digits, without a leading plus ('+') or country calling code. For example "611". */ number?: string | null; /** @@ -1295,7 +1304,7 @@ export namespace merchantapi_accounts_v1beta { rows?: Schema$Row[]; } /** - * A `TermsOfService`. + * The `TermsOfService` message represents a specific version of the terms of service that merchants must accept to access certain features or services (see https://support.google.com/merchants/answer/160173). This message is important for the onboarding process, ensuring that merchants agree to the necessary legal agreements for using the service. Merchants can retrieve the latest terms of service for a given `kind` and `region` through `RetrieveLatestTermsOfService`, and accept them as required through `AcceptTermsOfService`. */ export interface Schema$TermsOfService { /** @@ -1349,11 +1358,11 @@ export namespace merchantapi_accounts_v1beta { */ export interface Schema$TimeZone { /** - * IANA Time Zone Database time zone, e.g. "America/New_York". + * IANA Time Zone Database time zone. For example "America/New_York". */ id?: string | null; /** - * Optional. IANA Time Zone Database version number, e.g. "2019a". + * Optional. IANA Time Zone Database version number. For example "2019a". */ version?: string | null; } @@ -1401,7 +1410,7 @@ export namespace merchantapi_accounts_v1beta { */ export interface Schema$UnclaimHomepageRequest {} /** - * A [user](https://support.google.com/merchants/answer/12160472). + * The `User` message represents a user associated with a Merchant Center account. It is used to manage user permissions and access rights within the account. For more information, see [Frequently asked questions about people and access levels](//support.google.com/merchants/answer/12160472). */ export interface Schema$User { /** @@ -1443,7 +1452,7 @@ export namespace merchantapi_accounts_v1beta { subtable?: string | null; } /** - * A fulfillment warehouse, which stores and handles inventory. Next tag: 7 + * A fulfillment warehouse, which stores and handles inventory. */ export interface Schema$Warehouse { /** @@ -1472,7 +1481,7 @@ export namespace merchantapi_accounts_v1beta { */ export interface Schema$WarehouseBasedDeliveryTime { /** - * Required. Carrier, such as `"UPS"` or `"Fedex"`. + * Required. Carrier, such as `"UPS"` or `"Fedex"`. [supported carriers](https://support.google.com/merchants/answer/7050921#zippy=%2Ccarrier-rates-au-de-uk-and-us-only) */ carrier?: string | null; /** @@ -2135,7 +2144,7 @@ export namespace merchantapi_accounts_v1beta { */ pageToken?: string; /** - * Required. The parent account. Format: `accounts/{account\}` + * Required. The aggregation service provider. Format: `providers/{providerId\}` */ provider?: string; } @@ -2145,7 +2154,7 @@ export namespace merchantapi_accounts_v1beta { */ name?: string; /** - * Required. List of fields being updated. + * Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `account_name` - `adult_content` - `language_code` - `time_zone` */ updateMask?: string; @@ -2571,7 +2580,7 @@ export namespace merchantapi_accounts_v1beta { */ name?: string; /** - * Required. List of fields being updated. + * Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `black_owned` - `latino_owned` - `promotions_consent` - `small_business` - `veteran_owned` - `women_owned` */ updateMask?: string; @@ -2780,7 +2789,7 @@ export namespace merchantapi_accounts_v1beta { */ name?: string; /** - * Required. List of fields being updated. + * Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `address` - `customer_service` - `korean_business_registration_number` */ updateMask?: string; @@ -2797,7 +2806,7 @@ export namespace merchantapi_accounts_v1beta { } /** - * Returns the email preferences for a Merchant Center account user. Use the name=accounts/x/users/me/emailPreferences alias to get preferences for the authenticated user. + * Returns the email preferences for a Merchant Center account user. This service only permits retrieving and updating email preferences for the authenticated user. Use the name=accounts/x/users/me/emailPreferences alias to get preferences for the authenticated user. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -2993,7 +3002,7 @@ export namespace merchantapi_accounts_v1beta { */ name?: string; /** - * Required. List of fields being updated. + * Required. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `news_and_tips` */ updateMask?: string; @@ -3400,7 +3409,7 @@ export namespace merchantapi_accounts_v1beta { */ name?: string; /** - * Required. List of fields being updated. + * Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `uri` */ updateMask?: string; @@ -3543,7 +3552,7 @@ export namespace merchantapi_accounts_v1beta { } /** - * Gets an existing return policy. + * Gets an existing return policy for a given merchant. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3634,7 +3643,7 @@ export namespace merchantapi_accounts_v1beta { } /** - * Lists all existing return policies. + * Lists all existing return policies for a given merchant. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -5194,7 +5203,7 @@ export namespace merchantapi_accounts_v1beta { } /** - * Deletes a Merchant Center account user. Executing this method requires admin access. + * Deletes a Merchant Center account user. Executing this method requires admin access. The user to be deleted can't be the last admin user of that account. Also a user is protected from deletion if it is managed by Business Manager" * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -5601,7 +5610,7 @@ export namespace merchantapi_accounts_v1beta { */ name?: string; /** - * Required. List of fields being updated. + * Optional. List of fields being updated. The following fields are supported (in both `snake_case` and `lowerCamelCase`): - `access_rights` */ updateMask?: string; diff --git a/src/apis/merchantapi/conversions_v1beta.ts b/src/apis/merchantapi/conversions_v1beta.ts index 7807c84e87..01637cc294 100644 --- a/src/apis/merchantapi/conversions_v1beta.ts +++ b/src/apis/merchantapi/conversions_v1beta.ts @@ -275,6 +275,10 @@ export namespace merchantapi_conversions_v1beta { * A message to describe the change that happened to the product */ changes?: Schema$ProductChange[]; + /** + * The product expiration time. This field will not bet set if the notification is sent for a product deletion event. + */ + expirationTime?: string | null; /** * The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id\}` */ @@ -902,7 +906,7 @@ export namespace merchantapi_conversions_v1beta { */ name?: string; /** - * Required. List of fields being updated. + * Optional. List of fields being updated. */ updateMask?: string; diff --git a/src/apis/merchantapi/datasources_v1beta.ts b/src/apis/merchantapi/datasources_v1beta.ts index b39c3a94b3..ef3ad74377 100644 --- a/src/apis/merchantapi/datasources_v1beta.ts +++ b/src/apis/merchantapi/datasources_v1beta.ts @@ -145,27 +145,35 @@ export namespace merchantapi_datasources_v1beta { */ input?: string | null; /** - * Required. The [local inventory](https://support.google.com/merchants/answer/7023001) data source. + * The [local inventory](https://support.google.com/merchants/answer/7023001) data source. */ localInventoryDataSource?: Schema$LocalInventoryDataSource; + /** + * The [merchant review](https://support.google.com/merchants/answer/7045996) data source. + */ + merchantReviewDataSource?: Schema$MerchantReviewDataSource; /** * Identifier. The name of the data source. Format: `{datasource.name=accounts/{account\}/dataSources/{datasource\}\}` */ name?: string | null; /** - * Required. The [primary data source](https://support.google.com/merchants/answer/7439058) for local and online products. + * The [primary data source](https://support.google.com/merchants/answer/7439058) for local and online products. */ primaryProductDataSource?: Schema$PrimaryProductDataSource; /** - * Required. The [promotion](https://support.google.com/merchants/answer/2906014) data source. + * The [product review](https://support.google.com/merchants/answer/7045996) data source. + */ + productReviewDataSource?: Schema$ProductReviewDataSource; + /** + * The [promotion](https://support.google.com/merchants/answer/2906014) data source. */ promotionDataSource?: Schema$PromotionDataSource; /** - * Required. The [regional inventory](https://support.google.com/merchants/answer/7439058) data source. + * The [regional inventory](https://support.google.com/merchants/answer/7439058) data source. */ regionalInventoryDataSource?: Schema$RegionalInventoryDataSource; /** - * Required. The [supplemental data source](https://support.google.com/merchants/answer/7439058) for local and online products. + * The [supplemental data source](https://support.google.com/merchants/answer/7439058) for local and online products. */ supplementalProductDataSource?: Schema$SupplementalProductDataSource; } @@ -228,7 +236,7 @@ export namespace merchantapi_datasources_v1beta { */ frequency?: string | null; /** - * Optional. An optional password for fetch url. Used for [submitting data sources through SFTP](https://support.google.com/merchants/answer/13813117). + * Optional. An optional password for fetch_uri. Used for [submitting data sources through SFTP](https://support.google.com/merchants/answer/13813117). */ password?: string | null; /** @@ -240,7 +248,7 @@ export namespace merchantapi_datasources_v1beta { */ timeZone?: string | null; /** - * Optional. An optional user name for fetch url. Used for [submitting data sources through SFTP](https://support.google.com/merchants/answer/13813117). + * Optional. An optional user name for fetch_uri. Used for [submitting data sources through SFTP](https://support.google.com/merchants/answer/13813117). */ username?: string | null; } @@ -353,6 +361,10 @@ export namespace merchantapi_datasources_v1beta { */ feedLabel?: string | null; } + /** + * The merchant review data source. + */ + export interface Schema$MerchantReviewDataSource {} /** * The primary data source for local and online products. */ @@ -399,6 +411,10 @@ export namespace merchantapi_datasources_v1beta { */ reportingContext?: string | null; } + /** + * The product review data source. + */ + export interface Schema$ProductReviewDataSource {} /** * The message that the merchant will receive to notify about product status change event */ @@ -415,6 +431,10 @@ export namespace merchantapi_datasources_v1beta { * A message to describe the change that happened to the product */ changes?: Schema$ProductChange[]; + /** + * The product expiration time. This field will not bet set if the notification is sent for a product deletion event. + */ + expirationTime?: string | null; /** * The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id\}` */ @@ -459,7 +479,7 @@ export namespace merchantapi_datasources_v1beta { feedLabel?: string | null; } /** - * The supplemental data source for local and online products. + * The supplemental data source for local and online products. After creation, you should make sure to link the supplemental product data source into one or more primary product data sources. */ export interface Schema$SupplementalProductDataSource { /** @@ -467,7 +487,7 @@ export namespace merchantapi_datasources_v1beta { */ contentLanguage?: string | null; /** - * Optional. Immutable. The feed label that is specified on the data source level. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels). `feedLabel` and `contentLanguage` must be either both set or unset for data sources with product content type. They must be set for data sources with a file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept produts without that restriction. + * Optional. Immutable. The feed label that is specified on the data source level. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels). `feedLabel` and `contentLanguage` must be either both set or unset for data sources with product content type. They must be set for data sources with a file input. The fields must be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept produts without that restriction. */ feedLabel?: string | null; /** @@ -480,19 +500,19 @@ export namespace merchantapi_datasources_v1beta { */ export interface Schema$TimeOfDay { /** - * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. */ hours?: number | null; /** - * Minutes of hour of day. Must be from 0 to 59. + * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. */ minutes?: number | null; /** - * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. */ nanos?: number | null; /** - * Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. */ seconds?: number | null; } diff --git a/src/apis/merchantapi/index.ts b/src/apis/merchantapi/index.ts index d22681615c..7502aa941a 100644 --- a/src/apis/merchantapi/index.ts +++ b/src/apis/merchantapi/index.ts @@ -24,6 +24,7 @@ import {merchantapi_products_v1beta} from './products_v1beta'; import {merchantapi_promotions_v1beta} from './promotions_v1beta'; import {merchantapi_quota_v1beta} from './quota_v1beta'; import {merchantapi_reports_v1beta} from './reports_v1beta'; +import {merchantapi_reviews_v1beta} from './reviews_v1beta'; export const VERSIONS = { accounts_v1beta: merchantapi_accounts_v1beta.Merchantapi, @@ -36,6 +37,7 @@ export const VERSIONS = { promotions_v1beta: merchantapi_promotions_v1beta.Merchantapi, quota_v1beta: merchantapi_quota_v1beta.Merchantapi, reports_v1beta: merchantapi_reports_v1beta.Merchantapi, + reviews_v1beta: merchantapi_reviews_v1beta.Merchantapi, }; export function merchantapi( @@ -98,6 +100,12 @@ export function merchantapi( export function merchantapi( options: merchantapi_reports_v1beta.Options ): merchantapi_reports_v1beta.Merchantapi; +export function merchantapi( + version: 'reviews_v1beta' +): merchantapi_reviews_v1beta.Merchantapi; +export function merchantapi( + options: merchantapi_reviews_v1beta.Options +): merchantapi_reviews_v1beta.Merchantapi; export function merchantapi< T = | merchantapi_accounts_v1beta.Merchantapi @@ -109,7 +117,8 @@ export function merchantapi< | merchantapi_products_v1beta.Merchantapi | merchantapi_promotions_v1beta.Merchantapi | merchantapi_quota_v1beta.Merchantapi - | merchantapi_reports_v1beta.Merchantapi, + | merchantapi_reports_v1beta.Merchantapi + | merchantapi_reviews_v1beta.Merchantapi, >( this: GoogleConfigurable, versionOrOptions: @@ -133,6 +142,8 @@ export function merchantapi< | merchantapi_quota_v1beta.Options | 'reports_v1beta' | merchantapi_reports_v1beta.Options + | 'reviews_v1beta' + | merchantapi_reviews_v1beta.Options ) { return getAPI('merchantapi', versionOrOptions, VERSIONS, this); } @@ -149,6 +160,7 @@ export {merchantapi_products_v1beta}; export {merchantapi_promotions_v1beta}; export {merchantapi_quota_v1beta}; export {merchantapi_reports_v1beta}; +export {merchantapi_reviews_v1beta}; export { AuthPlus, GlobalOptions, diff --git a/src/apis/merchantapi/inventories_v1beta.ts b/src/apis/merchantapi/inventories_v1beta.ts index 928487be43..78a4c247b9 100644 --- a/src/apis/merchantapi/inventories_v1beta.ts +++ b/src/apis/merchantapi/inventories_v1beta.ts @@ -287,6 +287,10 @@ export namespace merchantapi_inventories_v1beta { * A message to describe the change that happened to the product */ changes?: Schema$ProductChange[]; + /** + * The product expiration time. This field will not bet set if the notification is sent for a product deletion event. + */ + expirationTime?: string | null; /** * The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id\}` */ diff --git a/src/apis/merchantapi/lfp_v1beta.ts b/src/apis/merchantapi/lfp_v1beta.ts index 5c5ccf94cf..f7a5be9aba 100644 --- a/src/apis/merchantapi/lfp_v1beta.ts +++ b/src/apis/merchantapi/lfp_v1beta.ts @@ -354,6 +354,10 @@ export namespace merchantapi_lfp_v1beta { * A message to describe the change that happened to the product */ changes?: Schema$ProductChange[]; + /** + * The product expiration time. This field will not bet set if the notification is sent for a product deletion event. + */ + expirationTime?: string | null; /** * The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id\}` */ diff --git a/src/apis/merchantapi/notifications_v1beta.ts b/src/apis/merchantapi/notifications_v1beta.ts index 39d36d9ad7..2c7bc0c6f7 100644 --- a/src/apis/merchantapi/notifications_v1beta.ts +++ b/src/apis/merchantapi/notifications_v1beta.ts @@ -203,6 +203,10 @@ export namespace merchantapi_notifications_v1beta { * A message to describe the change that happened to the product */ changes?: Schema$ProductChange[]; + /** + * The product expiration time. This field will not bet set if the notification is sent for a product deletion event. + */ + expirationTime?: string | null; /** * The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id\}` */ diff --git a/src/apis/merchantapi/products_v1beta.ts b/src/apis/merchantapi/products_v1beta.ts index 54b6aa11fc..6dc7f14c24 100644 --- a/src/apis/merchantapi/products_v1beta.ts +++ b/src/apis/merchantapi/products_v1beta.ts @@ -469,7 +469,11 @@ export namespace merchantapi_products_v1beta { */ subscriptionCost?: Schema$SubscriptionCost; /** - * The tax category of the product, used to configure detailed tax nexus in account-level tax settings. + * The list of sustainability incentive programs. + */ + sustainabilityIncentives?: Schema$ProductSustainabilityIncentive[]; + /** + * The tax category of the product. */ taxCategory?: string | null; /** @@ -739,6 +743,10 @@ export namespace merchantapi_products_v1beta { * The label of the loyalty program. This is an internal label that uniquely identifies the relationship between a merchant entity and a loyalty program entity. The label must be provided so that the system can associate the assets below (for example, price and points) with a merchant. The corresponding program must be linked to the merchant account. */ programLabel?: string | null; + /** + * The label of the shipping benefit. If the field has value, this offer has loyalty shipping benefit. If the field value isn't provided, the item is not eligible for loyalty shipping for the given loyalty tier. + */ + shippingLabel?: string | null; /** * The label of the tier within the loyalty program. Must match one of the labels within the program. */ @@ -854,7 +862,7 @@ export namespace merchantapi_products_v1beta { value?: number | null; } /** - * This resource represents input data you submit for a product, not the processed product that you see in Merchant Center, in Shopping ads, or across Google surfaces. Product inputs, rules and supplemental data source data are combined to create the processed product. Required product input attributes to pass data validation checks are primarily defined in the [Products Data Specification](https://support.google.com/merchants/answer/188494). The following attributes are required: feedLabel, contentLanguage and offerId. After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved. All fields in the product input and its sub-messages match the English name of their corresponding attribute in the vertical spec with [some exceptions](https://support.google.com/merchants/answer/7052112). + * This resource represents input data you submit for a product, not the processed product that you see in Merchant Center, in Shopping ads, or across Google surfaces. Product inputs, rules and supplemental data source data are combined to create the processed Product. Required product input attributes to pass data validation checks are primarily defined in the [Products Data Specification](https://support.google.com/merchants/answer/188494). The following attributes are required: feedLabel, contentLanguage and offerId. After inserting, updating, or deleting a product input, it may take several minutes before the processed product can be retrieved. All fields in the product input and its sub-messages match the English name of their corresponding attribute in the vertical spec with [some exceptions](https://support.google.com/merchants/answer/7052112). */ export interface Schema$ProductInput { /** @@ -862,7 +870,7 @@ export namespace merchantapi_products_v1beta { */ attributes?: Schema$Attributes; /** - * Required. Immutable. The [channel](https://support.google.com/merchants/answer/7361332) of the product. + * Immutable. The [channel](https://support.google.com/merchants/answer/7361332) of the product. */ channel?: string | null; /** @@ -935,6 +943,10 @@ export namespace merchantapi_products_v1beta { * A message to describe the change that happened to the product */ changes?: Schema$ProductChange[]; + /** + * The product expiration time. This field will not bet set if the notification is sent for a product deletion event. + */ + expirationTime?: string | null; /** * The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id\}` */ @@ -978,6 +990,23 @@ export namespace merchantapi_products_v1beta { */ digitalSourceType?: string | null; } + /** + * Information regarding sustainability-related incentive programs such as rebates or tax relief. + */ + export interface Schema$ProductSustainabilityIncentive { + /** + * The fixed amount of the incentive. + */ + amount?: Schema$Price; + /** + * The percentage of the sale price that the incentive is applied to. + */ + percentage?: number | null; + /** + * Sustainability incentive program. + */ + type?: string | null; + } /** * The weight of the product. */ @@ -1339,7 +1368,7 @@ export namespace merchantapi_products_v1beta { */ dataSource?: string; /** - * Required. The name of the product input resource to delete. Format: accounts/{account\}/productInputs/{product\} + * Required. The name of the product input resource to delete. Format: accounts/{account\}/productInputs/{product\} where the last section `product` consists of 4 parts: channel~content_language~feed_label~offer_id example for product name is "accounts/123/productInputs/online~en~US~sku123" */ name?: string; } @@ -1551,7 +1580,7 @@ export namespace merchantapi_products_v1beta { export interface Params$Resource$Accounts$Products$Get extends StandardParameters { /** - * Required. The name of the product to retrieve. Format: `accounts/{account\}/products/{product\}` + * Required. The name of the product to retrieve. Format: `accounts/{account\}/products/{product\}` where the last section `product` consists of 4 parts: channel~content_language~feed_label~offer_id example for product name is "accounts/123/products/online~en~US~sku123" */ name?: string; } diff --git a/src/apis/merchantapi/promotions_v1beta.ts b/src/apis/merchantapi/promotions_v1beta.ts index af094397af..6c75f56386 100644 --- a/src/apis/merchantapi/promotions_v1beta.ts +++ b/src/apis/merchantapi/promotions_v1beta.ts @@ -409,6 +409,10 @@ export namespace merchantapi_promotions_v1beta { * A message to describe the change that happened to the product */ changes?: Schema$ProductChange[]; + /** + * The product expiration time. This field will not bet set if the notification is sent for a product deletion event. + */ + expirationTime?: string | null; /** * The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id\}` */ @@ -799,7 +803,7 @@ export namespace merchantapi_promotions_v1beta { export interface Params$Resource$Accounts$Promotions$List extends StandardParameters { /** - * Output only. The maximum number of promotions to return. The service may return fewer than this value. The maximum value is 1000; values above 1000 will be coerced to 1000. If unspecified, the maximum number of promotions will be returned. + * Output only. The maximum number of promotions to return. The service may return fewer than this value. The maximum value is 250; values above 250 will be coerced to 250. If unspecified, the maximum number of promotions will be returned. */ pageSize?: number; /** diff --git a/src/apis/merchantapi/quota_v1beta.ts b/src/apis/merchantapi/quota_v1beta.ts index f3162f5c70..38403a7cef 100644 --- a/src/apis/merchantapi/quota_v1beta.ts +++ b/src/apis/merchantapi/quota_v1beta.ts @@ -133,7 +133,7 @@ export namespace merchantapi_quota_v1beta { */ nextPageToken?: string | null; /** - * The methods, current quota usage and limits per each group. The quota is shared between all methods in the group. The groups are sorted in descending order based on quotaUsage. + * The methods, current quota usage and limits per each group. The quota is shared between all methods in the group. The groups are sorted in descending order based on quota_usage. */ quotaGroups?: Schema$QuotaGroup[]; } @@ -195,6 +195,10 @@ export namespace merchantapi_quota_v1beta { * A message to describe the change that happened to the product */ changes?: Schema$ProductChange[]; + /** + * The product expiration time. This field will not bet set if the notification is sent for a product deletion event. + */ + expirationTime?: string | null; /** * The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id\}` */ diff --git a/src/apis/merchantapi/reports_v1beta.ts b/src/apis/merchantapi/reports_v1beta.ts index 8e7335c41d..bd76daefd0 100644 --- a/src/apis/merchantapi/reports_v1beta.ts +++ b/src/apis/merchantapi/reports_v1beta.ts @@ -800,6 +800,10 @@ export namespace merchantapi_reports_v1beta { * A message to describe the change that happened to the product */ changes?: Schema$ProductChange[]; + /** + * The product expiration time. This field will not bet set if the notification is sent for a product deletion event. + */ + expirationTime?: string | null; /** * The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id\}` */ diff --git a/src/apis/merchantapi/reviews_v1beta.ts b/src/apis/merchantapi/reviews_v1beta.ts new file mode 100644 index 0000000000..40ff363682 --- /dev/null +++ b/src/apis/merchantapi/reviews_v1beta.ts @@ -0,0 +1,1461 @@ +// Copyright 2020 Google LLC +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/no-empty-interface */ +/* eslint-disable @typescript-eslint/no-namespace */ +/* eslint-disable no-irregular-whitespace */ + +import { + OAuth2Client, + JWT, + Compute, + UserRefreshClient, + BaseExternalAccountClient, + GaxiosPromise, + GoogleConfigurable, + createAPIRequest, + MethodOptions, + StreamMethodOptions, + GlobalOptions, + GoogleAuth, + BodyResponseCallback, + APIRequestContext, +} from 'googleapis-common'; +import {Readable} from 'stream'; + +export namespace merchantapi_reviews_v1beta { + export interface Options extends GlobalOptions { + version: 'reviews_v1beta'; + } + + interface StandardParameters { + /** + * Auth client or API Key for the request + */ + auth?: + | string + | OAuth2Client + | JWT + | Compute + | UserRefreshClient + | BaseExternalAccountClient + | GoogleAuth; + + /** + * V1 error format. + */ + '$.xgafv'?: string; + /** + * OAuth access token. + */ + access_token?: string; + /** + * Data format for response. + */ + alt?: string; + /** + * JSONP + */ + callback?: string; + /** + * Selector specifying which fields to include in a partial response. + */ + fields?: string; + /** + * API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + */ + key?: string; + /** + * OAuth 2.0 token for the current user. + */ + oauth_token?: string; + /** + * Returns response with indentations and line breaks. + */ + prettyPrint?: boolean; + /** + * Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + */ + quotaUser?: string; + /** + * Legacy upload protocol for media (e.g. "media", "multipart"). + */ + uploadType?: string; + /** + * Upload protocol for media (e.g. "raw", "multipart"). + */ + upload_protocol?: string; + } + + /** + * Merchant API + * + * Programmatically manage your Merchant Center Accounts. + * + * @example + * ```js + * const {google} = require('googleapis'); + * const merchantapi = google.merchantapi('reviews_v1beta'); + * ``` + */ + export class Merchantapi { + context: APIRequestContext; + accounts: Resource$Accounts; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.accounts = new Resource$Accounts(this.context); + } + } + + /** + * A message that represents custom attributes. Exactly one of `value` or `group_values` must not be empty. + */ + export interface Schema$CustomAttribute { + /** + * Subattributes within this attribute group. If `group_values` is not empty, `value` must be empty. + */ + groupValues?: Schema$CustomAttribute[]; + /** + * The name of the attribute. + */ + name?: string | null; + /** + * The value of the attribute. If `value` is not empty, `group_values` must be empty. + */ + value?: string | null; + } + /** + * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} + */ + export interface Schema$Empty {} + /** + * Response message for the `ListMerchantsReview` method. + */ + export interface Schema$ListMerchantReviewsResponse { + /** + * The merchant review. + */ + merchantReviews?: Schema$MerchantReview[]; + /** + * The token to retrieve the next page of results. + */ + nextPageToken?: string | null; + } + /** + * response message for the ListProductReviews method. + */ + export interface Schema$ListProductReviewsResponse { + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The product review. + */ + productReviews?: Schema$ProductReview[]; + } + /** + * A review for a merchant. For more information, see [Introduction to Merchant Review Feeds](https://developers.google.com/merchant-review-feeds) + */ + export interface Schema$MerchantReview { + /** + * Optional. A list of merchant review attributes. + */ + attributes?: Schema$MerchantReviewAttributes; + /** + * Required. A list of custom (merchant-provided) attributes. It can also be used for submitting any attribute of the data specification in its generic form (for example, `{ "name": "size type", "value": "regular" \}`). This is useful for submitting attributes not explicitly exposed by the API, such as experimental attributes. Maximum allowed number of characters for each custom attribute is 10240 (represents sum of characters for name and value). Maximum 2500 custom attributes can be set per product, with total size of 102.4kB. Underscores in custom attribute names are replaced by spaces upon insertion. + */ + customAttributes?: Schema$CustomAttribute[]; + /** + * Output only. The primary data source of the merchant review. + */ + dataSource?: string | null; + /** + * Required. The user provided merchant review ID to uniquely identify the merchant review. + */ + merchantReviewId?: string | null; + /** + * Output only. The status of a merchant review, data validation issues, that is, information about a merchant review computed asynchronously. + */ + merchantReviewStatus?: Schema$MerchantReviewStatus; + /** + * Identifier. The name of the merchant review. Format: `"{merchantreview.name=accounts/{account\}/merchantReviews/{merchantReview\}\}"` + */ + name?: string | null; + } + /** + * Attributes. + */ + export interface Schema$MerchantReviewAttributes { + /** + * Optional. The method used to collect the review. + */ + collectionMethod?: string | null; + /** + * Required. This should be any freeform text provided by the user and should not be truncated. If multiple responses to different questions are provided, all responses should be included, with the minimal context for the responses to make sense. Context should not be provided if questions were left unanswered. + */ + content?: string | null; + /** + * Optional. Set to true if the reviewer should remain anonymous. + */ + isAnonymous?: boolean | null; + /** + * Optional. The maximum possible number for the rating. The value of the max rating must be greater than the value of the min rating. + */ + maxRating?: string | null; + /** + * Optional. Human-readable display name for the merchant. + */ + merchantDisplayName?: string | null; + /** + * Required. Must be unique and stable across all requests. In other words, if a request today and another 90 days ago refer to the same merchant, they must have the same id. + */ + merchantId?: string | null; + /** + * Optional. URL to the merchant's main website. Do not use a redirect URL for this value. In other words, the value should point directly to the merchant's site. + */ + merchantLink?: string | null; + /** + * Optional. URL to the landing page that hosts the reviews for this merchant. Do not use a redirect URL. + */ + merchantRatingLink?: string | null; + /** + * Optional. The minimum possible number for the rating. This should be the worst possible rating and should not be a value for no rating. + */ + minRating?: string | null; + /** + * Optional. The reviewer's overall rating of the merchant. + */ + rating?: number | null; + /** + * Optional. The country where the reviewer made the order defined by ISO 3166-1 Alpha-2 Country Code. + */ + reviewCountry?: string | null; + /** + * Optional. A permanent, unique identifier for the author of the review in the publisher's system. + */ + reviewerId?: string | null; + /** + * Optional. Display name of the review author. + */ + reviewerUsername?: string | null; + /** + * Required. The language of the review defined by BCP-47 language code. + */ + reviewLanguage?: string | null; + /** + * Required. The timestamp indicating when the review was written. + */ + reviewTime?: string | null; + /** + * Optional. The title of the review. + */ + title?: string | null; + } + /** + * The destination status of the merchant review status. + */ + export interface Schema$MerchantReviewDestinationStatus { + /** + * Output only. The name of the reporting context. + */ + reportingContext?: string | null; + } + /** + * The ItemLevelIssue of the merchant review status. + */ + export interface Schema$MerchantReviewItemLevelIssue { + /** + * Output only. The attribute's name, if the issue is caused by a single attribute. + */ + attribute?: string | null; + /** + * Output only. The error code of the issue. + */ + code?: string | null; + /** + * Output only. A short issue description in English. + */ + description?: string | null; + /** + * Output only. A detailed issue description in English. + */ + detail?: string | null; + /** + * Output only. The URL of a web page to help with resolving this issue. + */ + documentation?: string | null; + /** + * Output only. The reporting context the issue applies to. + */ + reportingContext?: string | null; + /** + * Output only. Whether the issue can be resolved by the merchant. + */ + resolution?: string | null; + /** + * Output only. How this issue affects serving of the merchant review. + */ + severity?: string | null; + } + /** + * The status of a merchant review, data validation issues, that is, information about a merchant review computed asynchronously. + */ + export interface Schema$MerchantReviewStatus { + /** + * Output only. Date on which the item has been created, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format. + */ + createTime?: string | null; + /** + * Output only. The intended destinations for the merchant review. + */ + destinationStatuses?: Schema$MerchantReviewDestinationStatus[]; + /** + * Output only. A list of all issues associated with the merchant review. + */ + itemLevelIssues?: Schema$MerchantReviewItemLevelIssue[]; + /** + * Output only. Date on which the item has been last updated, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format. + */ + lastUpdateTime?: string | null; + } + /** + * The change that happened to the product including old value, new value, country code as the region code and reporting context. + */ + export interface Schema$ProductChange { + /** + * The new value of the changed resource or attribute. + */ + newValue?: string | null; + /** + * The old value of the changed resource or attribute. + */ + oldValue?: string | null; + /** + * Countries that have the change (if applicable) + */ + regionCode?: string | null; + /** + * Reporting contexts that have the change (if applicable) + */ + reportingContext?: string | null; + } + /** + * A review for a product. For more information, see [Introduction to Product Review Feeds](https://developers.google.com/product-review-feeds) + */ + export interface Schema$ProductReview { + /** + * Optional. A list of product review attributes. + */ + attributes?: Schema$ProductReviewAttributes; + /** + * Optional. A list of custom (merchant-provided) attributes. + */ + customAttributes?: Schema$CustomAttribute[]; + /** + * Output only. The primary data source of the product review. + */ + dataSource?: string | null; + /** + * Identifier. The name of the product review. Format: `"{productreview.name=accounts/{account\}/productReviews/{productReview\}\}"` + */ + name?: string | null; + /** + * Required. The permanent, unique identifier for the product review in the publisher’s system. + */ + productReviewId?: string | null; + /** + * Output only. The status of a product review, data validation issues, that is, information about a product review computed asynchronously. + */ + productReviewStatus?: Schema$ProductReviewStatus; + } + /** + * Attributes. + */ + export interface Schema$ProductReviewAttributes { + /** + * Optional. The name of the aggregator of the product reviews. A publisher may use a reviews aggregator to manage reviews and provide the feeds. This element indicates the use of an aggregator and contains information about the aggregator. + */ + aggregatorName?: string | null; + /** + * Optional. Contains ASINs (Amazon Standard Identification Numbers) associated with a product. + */ + asins?: string[] | null; + /** + * Optional. Contains brand names associated with a product. + */ + brands?: string[] | null; + /** + * Optional. The method used to collect the review. + */ + collectionMethod?: string | null; + /** + * Optional. Contains the disadvantages based on the opinion of the reviewer. Omit boilerplate text like "con:" unless it was written by the reviewer. + */ + cons?: string[] | null; + /** + * Required. The content of the review. + */ + content?: string | null; + /** + * Optional. Contains GTINs (global trade item numbers) associated with a product. Sub-types of GTINs (e.g. UPC, EAN, ISBN, JAN) are supported. + */ + gtins?: string[] | null; + /** + * Optional. Indicates whether the review is marked as spam in the publisher's system. + */ + isSpam?: boolean | null; + /** + * Optional. The maximum possible number for the rating. The value of the max rating must be greater than the value of the min attribute. + */ + maxRating?: string | null; + /** + * Optional. Contains the ratings associated with the review. The minimum possible number for the rating. This should be the worst possible rating and should not be a value for no rating. + */ + minRating?: string | null; + /** + * Optional. Contains MPNs (manufacturer part numbers) associated with a product. + */ + mpns?: string[] | null; + /** + * Optional. The URI of the product. This URI can have the same value as the `review_link` element, if the review URI and the product URI are the same. + */ + productLinks?: string[] | null; + /** + * Optional. Descriptive name of a product. + */ + productNames?: string[] | null; + /** + * Optional. Contains the advantages based on the opinion of the reviewer. Omit boilerplate text like "pro:" unless it was written by the reviewer. + */ + pros?: string[] | null; + /** + * Optional. A link to the company favicon of the publisher. The image dimensions should be favicon size: 16x16 pixels. The image format should be GIF, JPG or PNG. + */ + publisherFavicon?: string | null; + /** + * Optional. The name of the publisher of the product reviews. The information about the publisher, which may be a retailer, manufacturer, reviews service company, or any entity that publishes product reviews. + */ + publisherName?: string | null; + /** + * Optional. The reviewer's overall rating of the product. + */ + rating?: number | null; + /** + * Optional. The country of the review defined by ISO 3166-1 Alpha-2 Country Code. + */ + reviewCountry?: string | null; + /** + * Optional. The author of the product review. A permanent, unique identifier for the author of the review in the publisher's system. + */ + reviewerId?: string | null; + /** + * Optional. A URI to an image of the reviewed product created by the review author. The URI does not have to end with an image file extension. + */ + reviewerImageLinks?: string[] | null; + /** + * Optional. Set to true if the reviewer should remain anonymous. + */ + reviewerIsAnonymous?: boolean | null; + /** + * Optional. The name of the reviewer of the product review. + */ + reviewerUsername?: string | null; + /** + * Optional. The language of the review defined by BCP-47 language code. + */ + reviewLanguage?: string | null; + /** + * Optional. The URI of the review landing page. + */ + reviewLink?: Schema$ReviewLink; + /** + * Required. The timestamp indicating when the review was written. + */ + reviewTime?: string | null; + /** + * Optional. Contains SKUs (stock keeping units) associated with a product. Often this matches the product Offer Id in the product feed. + */ + skus?: string[] | null; + /** + * Optional. The name of the subclient of the product reviews. The subclient is an identifier of the product review source. It should be equivalent to the directory provided in the file data source path. + */ + subclientName?: string | null; + /** + * Optional. The title of the review. + */ + title?: string | null; + /** + * Optional. A permanent, unique identifier for the transaction associated with the review in the publisher's system. This ID can be used to indicate that multiple reviews are associated with the same transaction. + */ + transactionId?: string | null; + } + /** + * The destination status of the product review status. + */ + export interface Schema$ProductReviewDestinationStatus { + /** + * Output only. The name of the reporting context. + */ + reportingContext?: string | null; + } + /** + * The ItemLevelIssue of the product review status. + */ + export interface Schema$ProductReviewItemLevelIssue { + /** + * Output only. The attribute's name, if the issue is caused by a single attribute. + */ + attribute?: string | null; + /** + * Output only. The error code of the issue. + */ + code?: string | null; + /** + * Output only. A short issue description in English. + */ + description?: string | null; + /** + * Output only. A detailed issue description in English. + */ + detail?: string | null; + /** + * Output only. The URL of a web page to help with resolving this issue. + */ + documentation?: string | null; + /** + * Output only. The reporting context the issue applies to. + */ + reportingContext?: string | null; + /** + * Output only. Whether the issue can be resolved by the merchant. + */ + resolution?: string | null; + /** + * Output only. How this issue affects serving of the product review. + */ + severity?: string | null; + } + /** + * Product review status. + */ + export interface Schema$ProductReviewStatus { + /** + * Output only. Date on which the item has been created, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format. + */ + createTime?: string | null; + /** + * Output only. The intended destinations for the product review. + */ + destinationStatuses?: Schema$ProductReviewDestinationStatus[]; + /** + * Output only. A list of all issues associated with the product review. + */ + itemLevelIssues?: Schema$ProductReviewItemLevelIssue[]; + /** + * Output only. Date on which the item has been last updated, in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format. + */ + lastUpdateTime?: string | null; + } + /** + * The message that the merchant will receive to notify about product status change event + */ + export interface Schema$ProductStatusChangeMessage { + /** + * The target account that owns the entity that changed. Format : `accounts/{merchant_id\}` + */ + account?: string | null; + /** + * The attribute in the resource that changed, in this case it will be always `Status`. + */ + attribute?: string | null; + /** + * A message to describe the change that happened to the product + */ + changes?: Schema$ProductChange[]; + /** + * The product expiration time. This field will not bet set if the notification is sent for a product deletion event. + */ + expirationTime?: string | null; + /** + * The account that manages the merchant's account. can be the same as merchant id if it is standalone account. Format : `accounts/{service_provider_id\}` + */ + managingAccount?: string | null; + /** + * The product name. Format: `{product.name=accounts/{account\}/products/{product\}\}` + */ + resource?: string | null; + /** + * The product id. + */ + resourceId?: string | null; + /** + * The resource that changed, in this case it will always be `Product`. + */ + resourceType?: string | null; + } + /** + * The URI of the review landing page. + */ + export interface Schema$ReviewLink { + /** + * Optional. The URI of the review landing page. For example: `http://www.example.com/review_5.html`. + */ + link?: string | null; + /** + * Optional. Type of the review URI. + */ + type?: string | null; + } + + export class Resource$Accounts { + context: APIRequestContext; + merchantReviews: Resource$Accounts$Merchantreviews; + productReviews: Resource$Accounts$Productreviews; + constructor(context: APIRequestContext) { + this.context = context; + this.merchantReviews = new Resource$Accounts$Merchantreviews( + this.context + ); + this.productReviews = new Resource$Accounts$Productreviews(this.context); + } + } + + export class Resource$Accounts$Merchantreviews { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Deletes merchant review. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Accounts$Merchantreviews$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Accounts$Merchantreviews$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Accounts$Merchantreviews$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Accounts$Merchantreviews$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Accounts$Merchantreviews$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Accounts$Merchantreviews$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Merchantreviews$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Merchantreviews$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/reviews/v1beta/{+name}').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets a merchant review. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Accounts$Merchantreviews$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Accounts$Merchantreviews$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Accounts$Merchantreviews$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Merchantreviews$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Merchantreviews$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Accounts$Merchantreviews$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Merchantreviews$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Merchantreviews$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/reviews/v1beta/{+name}').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Inserts a review for your Merchant Center account. If the review already exists, then the review is replaced with the new instance. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + insert( + params: Params$Resource$Accounts$Merchantreviews$Insert, + options: StreamMethodOptions + ): GaxiosPromise; + insert( + params?: Params$Resource$Accounts$Merchantreviews$Insert, + options?: MethodOptions + ): GaxiosPromise; + insert( + params: Params$Resource$Accounts$Merchantreviews$Insert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Accounts$Merchantreviews$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Accounts$Merchantreviews$Insert, + callback: BodyResponseCallback + ): void; + insert(callback: BodyResponseCallback): void; + insert( + paramsOrCallback?: + | Params$Resource$Accounts$Merchantreviews$Insert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Merchantreviews$Insert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Merchantreviews$Insert; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/reviews/v1beta/{+parent}/merchantReviews:insert' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists merchant reviews. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Accounts$Merchantreviews$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Accounts$Merchantreviews$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Accounts$Merchantreviews$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Merchantreviews$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Merchantreviews$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Accounts$Merchantreviews$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Merchantreviews$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Merchantreviews$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/reviews/v1beta/{+parent}/merchantReviews' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Accounts$Merchantreviews$Delete + extends StandardParameters { + /** + * Required. The ID of the merchant review. Format: accounts/{account\}/merchantReviews/{merchantReview\} + */ + name?: string; + } + export interface Params$Resource$Accounts$Merchantreviews$Get + extends StandardParameters { + /** + * Required. The ID of the merchant review. Format: accounts/{account\}/merchantReviews/{merchantReview\} + */ + name?: string; + } + export interface Params$Resource$Accounts$Merchantreviews$Insert + extends StandardParameters { + /** + * Required. The data source of the [merchantreview](https://support.google.com/merchants/answer/7045996?sjid=5253581244217581976-EU) Format: `accounts/{account\}/dataSources/{datasource\}`. + */ + dataSource?: string; + /** + * Required. The account where the merchant review will be inserted. Format: accounts/{account\} + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$MerchantReview; + } + export interface Params$Resource$Accounts$Merchantreviews$List + extends StandardParameters { + /** + * Optional. The maximum number of merchant reviews to return. The service can return fewer than this value. The maximum value is 1000; values above 1000 are coerced to 1000. If unspecified, the maximum number of reviews is returned. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `ListMerchantReviews` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMerchantReviews` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The account to list merchant reviews for. Format: accounts/{account\} + */ + parent?: string; + } + + export class Resource$Accounts$Productreviews { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Deletes a product review. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Accounts$Productreviews$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Accounts$Productreviews$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Accounts$Productreviews$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Accounts$Productreviews$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Accounts$Productreviews$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Accounts$Productreviews$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Productreviews$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Productreviews$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/reviews/v1beta/{+name}').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets a product review. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Accounts$Productreviews$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Accounts$Productreviews$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Accounts$Productreviews$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Productreviews$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Accounts$Productreviews$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Accounts$Productreviews$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Productreviews$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Productreviews$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/reviews/v1beta/{+name}').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Inserts a product review. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + insert( + params: Params$Resource$Accounts$Productreviews$Insert, + options: StreamMethodOptions + ): GaxiosPromise; + insert( + params?: Params$Resource$Accounts$Productreviews$Insert, + options?: MethodOptions + ): GaxiosPromise; + insert( + params: Params$Resource$Accounts$Productreviews$Insert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Accounts$Productreviews$Insert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + insert( + params: Params$Resource$Accounts$Productreviews$Insert, + callback: BodyResponseCallback + ): void; + insert(callback: BodyResponseCallback): void; + insert( + paramsOrCallback?: + | Params$Resource$Accounts$Productreviews$Insert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Productreviews$Insert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Productreviews$Insert; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/reviews/v1beta/{+parent}/productReviews:insert' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists product reviews. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Accounts$Productreviews$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Accounts$Productreviews$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Accounts$Productreviews$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Productreviews$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Accounts$Productreviews$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Accounts$Productreviews$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Accounts$Productreviews$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Accounts$Productreviews$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://merchantapi.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/reviews/v1beta/{+parent}/productReviews').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Accounts$Productreviews$Delete + extends StandardParameters { + /** + * Required. The ID of the Product review. Format: accounts/{account\}/productReviews/{productReview\} + */ + name?: string; + } + export interface Params$Resource$Accounts$Productreviews$Get + extends StandardParameters { + /** + * Required. The ID of the merchant review. Format: accounts/{account\}/productReviews/{productReview\} + */ + name?: string; + } + export interface Params$Resource$Accounts$Productreviews$Insert + extends StandardParameters { + /** + * Required. Format: `accounts/{account\}/dataSources/{datasource\}`. + */ + dataSource?: string; + /** + * Required. The account where the product review will be inserted. Format: accounts/{account\} + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ProductReview; + } + export interface Params$Resource$Accounts$Productreviews$List + extends StandardParameters { + /** + * Optional. The maximum number of products to return. The service may return fewer than this value. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous `ListProductReviews` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListProductReviews` must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The account to list product reviews for. Format: accounts/{account\} + */ + parent?: string; + } +} diff --git a/src/apis/metastore/index.ts b/src/apis/metastore/index.ts index a5b83191ec..eb0deebeaf 100644 --- a/src/apis/metastore/index.ts +++ b/src/apis/metastore/index.ts @@ -17,11 +17,17 @@ import {AuthPlus, getAPI, GoogleConfigurable} from 'googleapis-common'; import {metastore_v1} from './v1'; import {metastore_v1alpha} from './v1alpha'; import {metastore_v1beta} from './v1beta'; +import {metastore_v2} from './v2'; +import {metastore_v2alpha} from './v2alpha'; +import {metastore_v2beta} from './v2beta'; export const VERSIONS = { v1: metastore_v1.Metastore, v1alpha: metastore_v1alpha.Metastore, v1beta: metastore_v1beta.Metastore, + v2: metastore_v2.Metastore, + v2alpha: metastore_v2alpha.Metastore, + v2beta: metastore_v2beta.Metastore, }; export function metastore(version: 'v1'): metastore_v1.Metastore; @@ -36,11 +42,26 @@ export function metastore(version: 'v1beta'): metastore_v1beta.Metastore; export function metastore( options: metastore_v1beta.Options ): metastore_v1beta.Metastore; +export function metastore(version: 'v2'): metastore_v2.Metastore; +export function metastore( + options: metastore_v2.Options +): metastore_v2.Metastore; +export function metastore(version: 'v2alpha'): metastore_v2alpha.Metastore; +export function metastore( + options: metastore_v2alpha.Options +): metastore_v2alpha.Metastore; +export function metastore(version: 'v2beta'): metastore_v2beta.Metastore; +export function metastore( + options: metastore_v2beta.Options +): metastore_v2beta.Metastore; export function metastore< T = | metastore_v1.Metastore | metastore_v1alpha.Metastore - | metastore_v1beta.Metastore, + | metastore_v1beta.Metastore + | metastore_v2.Metastore + | metastore_v2alpha.Metastore + | metastore_v2beta.Metastore, >( this: GoogleConfigurable, versionOrOptions: @@ -50,6 +71,12 @@ export function metastore< | metastore_v1alpha.Options | 'v1beta' | metastore_v1beta.Options + | 'v2' + | metastore_v2.Options + | 'v2alpha' + | metastore_v2alpha.Options + | 'v2beta' + | metastore_v2beta.Options ) { return getAPI('metastore', versionOrOptions, VERSIONS, this); } @@ -59,6 +86,9 @@ export {auth}; export {metastore_v1}; export {metastore_v1alpha}; export {metastore_v1beta}; +export {metastore_v2}; +export {metastore_v2alpha}; +export {metastore_v2beta}; export { AuthPlus, GlobalOptions, diff --git a/src/apis/metastore/v1.ts b/src/apis/metastore/v1.ts index 56ed90edda..8238c5683c 100644 --- a/src/apis/metastore/v1.ts +++ b/src/apis/metastore/v1.ts @@ -994,7 +994,7 @@ export namespace metastore_v1 { */ endTime?: string | null; /** - * Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED. + * Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED. */ requestedCancellation?: boolean | null; /** @@ -1083,7 +1083,7 @@ export namespace metastore_v1 { type?: string | null; } /** - * Request message for DataprocMetastore.Restore. + * Request message for DataprocMetastore.RestoreService. */ export interface Schema$RestoreServiceRequest { /** diff --git a/src/apis/metastore/v1alpha.ts b/src/apis/metastore/v1alpha.ts index 4a7d0b6bf2..e8ca6d04c4 100644 --- a/src/apis/metastore/v1alpha.ts +++ b/src/apis/metastore/v1alpha.ts @@ -1061,7 +1061,7 @@ export namespace metastore_v1alpha { */ endTime?: string | null; /** - * Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED. + * Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED. */ requestedCancellation?: boolean | null; /** @@ -1168,7 +1168,7 @@ export namespace metastore_v1alpha { type?: string | null; } /** - * Request message for DataprocMetastore.Restore. + * Request message for DataprocMetastore.RestoreService. */ export interface Schema$RestoreServiceRequest { /** diff --git a/src/apis/metastore/v1beta.ts b/src/apis/metastore/v1beta.ts index f52d41dce6..1ab7ae6697 100644 --- a/src/apis/metastore/v1beta.ts +++ b/src/apis/metastore/v1beta.ts @@ -1061,7 +1061,7 @@ export namespace metastore_v1beta { */ endTime?: string | null; /** - * Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED. + * Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED. */ requestedCancellation?: boolean | null; /** @@ -1168,7 +1168,7 @@ export namespace metastore_v1beta { type?: string | null; } /** - * Request message for DataprocMetastore.Restore. + * Request message for DataprocMetastore.RestoreService. */ export interface Schema$RestoreServiceRequest { /** diff --git a/src/apis/metastore/v2.ts b/src/apis/metastore/v2.ts new file mode 100644 index 0000000000..86585bf1de --- /dev/null +++ b/src/apis/metastore/v2.ts @@ -0,0 +1,2721 @@ +// Copyright 2020 Google LLC +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/no-empty-interface */ +/* eslint-disable @typescript-eslint/no-namespace */ +/* eslint-disable no-irregular-whitespace */ + +import { + OAuth2Client, + JWT, + Compute, + UserRefreshClient, + BaseExternalAccountClient, + GaxiosPromise, + GoogleConfigurable, + createAPIRequest, + MethodOptions, + StreamMethodOptions, + GlobalOptions, + GoogleAuth, + BodyResponseCallback, + APIRequestContext, +} from 'googleapis-common'; +import {Readable} from 'stream'; + +export namespace metastore_v2 { + export interface Options extends GlobalOptions { + version: 'v2'; + } + + interface StandardParameters { + /** + * Auth client or API Key for the request + */ + auth?: + | string + | OAuth2Client + | JWT + | Compute + | UserRefreshClient + | BaseExternalAccountClient + | GoogleAuth; + + /** + * V1 error format. + */ + '$.xgafv'?: string; + /** + * OAuth access token. + */ + access_token?: string; + /** + * Data format for response. + */ + alt?: string; + /** + * JSONP + */ + callback?: string; + /** + * Selector specifying which fields to include in a partial response. + */ + fields?: string; + /** + * API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + */ + key?: string; + /** + * OAuth 2.0 token for the current user. + */ + oauth_token?: string; + /** + * Returns response with indentations and line breaks. + */ + prettyPrint?: boolean; + /** + * Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + */ + quotaUser?: string; + /** + * Legacy upload protocol for media (e.g. "media", "multipart"). + */ + uploadType?: string; + /** + * Upload protocol for media (e.g. "raw", "multipart"). + */ + upload_protocol?: string; + } + + /** + * Dataproc Metastore API + * + * The Dataproc Metastore API is used to manage the lifecycle and configuration of metastore services. + * + * @example + * ```js + * const {google} = require('googleapis'); + * const metastore = google.metastore('v2'); + * ``` + */ + export class Metastore { + context: APIRequestContext; + projects: Resource$Projects; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.projects = new Resource$Projects(this.context); + } + } + + /** + * Response message for DataprocMetastore.AlterMetadataResourceLocation. + */ + export interface Schema$GoogleCloudMetastoreV1alphaAlterMetadataResourceLocationResponse {} + /** + * Response message for DataprocMetastore.CancelMigration. + */ + export interface Schema$GoogleCloudMetastoreV1alphaCancelMigrationResponse { + /** + * The relative resource name of the migration execution, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/migrationExecutions/{migration_execution_id\}. + */ + migrationExecution?: string | null; + } + /** + * Response message for DataprocMetastore.CompleteMigration. + */ + export interface Schema$GoogleCloudMetastoreV1alphaCompleteMigrationResponse { + /** + * The relative resource name of the migration execution, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/migrationExecutions/{migration_execution_id\}. + */ + migrationExecution?: string | null; + } + /** + * Metadata about a custom region. This is only populated if the region is a custom region. For single/multi regions, it will be empty. + */ + export interface Schema$GoogleCloudMetastoreV1alphaCustomRegionMetadata { + /** + * The read-only regions for this custom region. + */ + optionalReadOnlyRegions?: string[] | null; + /** + * The read-write regions for this custom region. + */ + requiredReadWriteRegions?: string[] | null; + /** + * The Spanner witness region for this custom region. + */ + witnessRegion?: string | null; + } + /** + * Error details in public error message for DataprocMetastore.QueryMetadata. + */ + export interface Schema$GoogleCloudMetastoreV1alphaErrorDetails { + /** + * Additional structured details about this error.Keys define the failure items. Value describes the exception or details of the item. + */ + details?: {[key: string]: string} | null; + } + /** + * A specification of a supported version of the Hive Metastore software. + */ + export interface Schema$GoogleCloudMetastoreV1alphaHiveMetastoreVersion { + /** + * Whether version will be chosen by the server if a metastore service is created with a HiveMetastoreConfig that omits the version. + */ + isDefault?: boolean | null; + /** + * The semantic version of the Hive Metastore software. + */ + version?: string | null; + } + /** + * Metadata about the service in a location. + */ + export interface Schema$GoogleCloudMetastoreV1alphaLocationMetadata { + /** + * Possible configurations supported if the current region is a custom region. + */ + customRegionMetadata?: Schema$GoogleCloudMetastoreV1alphaCustomRegionMetadata[]; + /** + * The multi-region metadata if the current region is a multi-region. + */ + multiRegionMetadata?: Schema$GoogleCloudMetastoreV1alphaMultiRegionMetadata; + /** + * The versions of Hive Metastore that can be used when creating a new metastore service in this location. The server guarantees that exactly one HiveMetastoreVersion in the list will set is_default. + */ + supportedHiveMetastoreVersions?: Schema$GoogleCloudMetastoreV1alphaHiveMetastoreVersion[]; + } + /** + * Response message for DataprocMetastore.MoveTableToDatabase. + */ + export interface Schema$GoogleCloudMetastoreV1alphaMoveTableToDatabaseResponse {} + /** + * The metadata for the multi-region that includes the constituent regions. The metadata is only populated if the region is multi-region. For single region or custom dual region, it will be empty. + */ + export interface Schema$GoogleCloudMetastoreV1alphaMultiRegionMetadata { + /** + * The regions constituting the multi-region. + */ + constituentRegions?: string[] | null; + } + /** + * Represents the metadata of a long-running operation. + */ + export interface Schema$GoogleCloudMetastoreV1alphaOperationMetadata { + /** + * Output only. API version used to start the operation. + */ + apiVersion?: string | null; + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED. + */ + requestedCancellation?: boolean | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; + /** + * Output only. Server-defined resource path for the target of the operation. + */ + target?: string | null; + /** + * Output only. Name of the verb executed by the operation. + */ + verb?: string | null; + } + /** + * Response message for DataprocMetastore.QueryMetadata. + */ + export interface Schema$GoogleCloudMetastoreV1alphaQueryMetadataResponse { + /** + * The manifest URI is link to a JSON instance in Cloud Storage. This instance manifests immediately along with QueryMetadataResponse. The content of the URI is not retriable until the long-running operation query against the metadata finishes. + */ + resultManifestUri?: string | null; + } + /** + * Response message for DataprocMetastore.AlterMetadataResourceLocation. + */ + export interface Schema$GoogleCloudMetastoreV1AlterMetadataResourceLocationResponse {} + /** + * Response message for DataprocMetastore.AlterMetadataResourceLocation. + */ + export interface Schema$GoogleCloudMetastoreV1betaAlterMetadataResourceLocationResponse {} + /** + * Response message for DataprocMetastore.CancelMigration. + */ + export interface Schema$GoogleCloudMetastoreV1betaCancelMigrationResponse { + /** + * The relative resource name of the migration execution, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/migrationExecutions/{migration_execution_id\}. + */ + migrationExecution?: string | null; + } + /** + * Response message for DataprocMetastore.CompleteMigration. + */ + export interface Schema$GoogleCloudMetastoreV1betaCompleteMigrationResponse { + /** + * The relative resource name of the migration execution, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/migrationExecutions/{migration_execution_id\}. + */ + migrationExecution?: string | null; + } + /** + * Metadata about a custom region. This is only populated if the region is a custom region. For single/multi regions, it will be empty. + */ + export interface Schema$GoogleCloudMetastoreV1betaCustomRegionMetadata { + /** + * The read-only regions for this custom region. + */ + optionalReadOnlyRegions?: string[] | null; + /** + * The read-write regions for this custom region. + */ + requiredReadWriteRegions?: string[] | null; + /** + * The Spanner witness region for this custom region. + */ + witnessRegion?: string | null; + } + /** + * Error details in public error message for DataprocMetastore.QueryMetadata. + */ + export interface Schema$GoogleCloudMetastoreV1betaErrorDetails { + /** + * Additional structured details about this error.Keys define the failure items. Value describes the exception or details of the item. + */ + details?: {[key: string]: string} | null; + } + /** + * A specification of a supported version of the Hive Metastore software. + */ + export interface Schema$GoogleCloudMetastoreV1betaHiveMetastoreVersion { + /** + * Whether version will be chosen by the server if a metastore service is created with a HiveMetastoreConfig that omits the version. + */ + isDefault?: boolean | null; + /** + * The semantic version of the Hive Metastore software. + */ + version?: string | null; + } + /** + * Metadata about the service in a location. + */ + export interface Schema$GoogleCloudMetastoreV1betaLocationMetadata { + /** + * Possible configurations supported if the current region is a custom region. + */ + customRegionMetadata?: Schema$GoogleCloudMetastoreV1betaCustomRegionMetadata[]; + /** + * The multi-region metadata if the current region is a multi-region. + */ + multiRegionMetadata?: Schema$GoogleCloudMetastoreV1betaMultiRegionMetadata; + /** + * The versions of Hive Metastore that can be used when creating a new metastore service in this location. The server guarantees that exactly one HiveMetastoreVersion in the list will set is_default. + */ + supportedHiveMetastoreVersions?: Schema$GoogleCloudMetastoreV1betaHiveMetastoreVersion[]; + } + /** + * Response message for DataprocMetastore.MoveTableToDatabase. + */ + export interface Schema$GoogleCloudMetastoreV1betaMoveTableToDatabaseResponse {} + /** + * The metadata for the multi-region that includes the constituent regions. The metadata is only populated if the region is multi-region. For single region or custom dual region, it will be empty. + */ + export interface Schema$GoogleCloudMetastoreV1betaMultiRegionMetadata { + /** + * The regions constituting the multi-region. + */ + constituentRegions?: string[] | null; + } + /** + * Represents the metadata of a long-running operation. + */ + export interface Schema$GoogleCloudMetastoreV1betaOperationMetadata { + /** + * Output only. API version used to start the operation. + */ + apiVersion?: string | null; + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED. + */ + requestedCancellation?: boolean | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; + /** + * Output only. Server-defined resource path for the target of the operation. + */ + target?: string | null; + /** + * Output only. Name of the verb executed by the operation. + */ + verb?: string | null; + } + /** + * Response message for DataprocMetastore.QueryMetadata. + */ + export interface Schema$GoogleCloudMetastoreV1betaQueryMetadataResponse { + /** + * The manifest URI is link to a JSON instance in Cloud Storage. This instance manifests immediately along with QueryMetadataResponse. The content of the URI is not retriable until the long-running operation query against the metadata finishes. + */ + resultManifestUri?: string | null; + } + /** + * Metadata about a custom region. This is only populated if the region is a custom region. For single/multi regions, it will be empty. + */ + export interface Schema$GoogleCloudMetastoreV1CustomRegionMetadata { + /** + * The read-only regions for this custom region. + */ + optionalReadOnlyRegions?: string[] | null; + /** + * The read-write regions for this custom region. + */ + requiredReadWriteRegions?: string[] | null; + /** + * The Spanner witness region for this custom region. + */ + witnessRegion?: string | null; + } + /** + * Error details in public error message for DataprocMetastore.QueryMetadata. + */ + export interface Schema$GoogleCloudMetastoreV1ErrorDetails { + /** + * Additional structured details about this error.Keys define the failure items. Value describes the exception or details of the item. + */ + details?: {[key: string]: string} | null; + } + /** + * A specification of a supported version of the Hive Metastore software. + */ + export interface Schema$GoogleCloudMetastoreV1HiveMetastoreVersion { + /** + * Whether version will be chosen by the server if a metastore service is created with a HiveMetastoreConfig that omits the version. + */ + isDefault?: boolean | null; + /** + * The semantic version of the Hive Metastore software. + */ + version?: string | null; + } + /** + * Metadata about the service in a location. + */ + export interface Schema$GoogleCloudMetastoreV1LocationMetadata { + /** + * Possible configurations supported if the current region is a custom region. + */ + customRegionMetadata?: Schema$GoogleCloudMetastoreV1CustomRegionMetadata[]; + /** + * The multi-region metadata if the current region is a multi-region. + */ + multiRegionMetadata?: Schema$GoogleCloudMetastoreV1MultiRegionMetadata; + /** + * The versions of Hive Metastore that can be used when creating a new metastore service in this location. The server guarantees that exactly one HiveMetastoreVersion in the list will set is_default. + */ + supportedHiveMetastoreVersions?: Schema$GoogleCloudMetastoreV1HiveMetastoreVersion[]; + } + /** + * Response message for DataprocMetastore.MoveTableToDatabase. + */ + export interface Schema$GoogleCloudMetastoreV1MoveTableToDatabaseResponse {} + /** + * The metadata for the multi-region that includes the constituent regions. The metadata is only populated if the region is multi-region. For single region or custom dual region, it will be empty. + */ + export interface Schema$GoogleCloudMetastoreV1MultiRegionMetadata { + /** + * The regions constituting the multi-region. + */ + constituentRegions?: string[] | null; + } + /** + * Represents the metadata of a long-running operation. + */ + export interface Schema$GoogleCloudMetastoreV1OperationMetadata { + /** + * Output only. API version used to start the operation. + */ + apiVersion?: string | null; + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED. + */ + requestedCancellation?: boolean | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; + /** + * Output only. Server-defined resource path for the target of the operation. + */ + target?: string | null; + /** + * Output only. Name of the verb executed by the operation. + */ + verb?: string | null; + } + /** + * Response message for DataprocMetastore.QueryMetadata. + */ + export interface Schema$GoogleCloudMetastoreV1QueryMetadataResponse { + /** + * The manifest URI is link to a JSON instance in Cloud Storage. This instance manifests immediately along with QueryMetadataResponse. The content of the URI is not retriable until the long-running operation query against the metadata finishes. + */ + resultManifestUri?: string | null; + } + /** + * Request message for DataprocMetastore.AlterMetadataResourceLocation. + */ + export interface Schema$GoogleCloudMetastoreV2AlterMetadataResourceLocationRequest { + /** + * Required. The new location URI for the metadata resource. + */ + locationUri?: string | null; + /** + * Required. The relative metadata resource name in the following format.databases/{database_id\} or databases/{database_id\}/tables/{table_id\} or databases/{database_id\}/tables/{table_id\}/partitions/{partition_id\} + */ + resourceName?: string | null; + } + /** + * Request message for DataprocMetastore.AlterTableProperties. + */ + export interface Schema$GoogleCloudMetastoreV2AlterTablePropertiesRequest { + /** + * A map that describes the desired values to mutate. If update_mask is empty, the properties will not update. Otherwise, the properties only alters the value whose associated paths exist in the update mask + */ + properties?: {[key: string]: string} | null; + /** + * Required. The name of the table containing the properties you're altering in the following format.databases/{database_id\}/tables/{table_id\} + */ + tableName?: string | null; + /** + * A field mask that specifies the metadata table properties that are overwritten by the update. Fields specified in the update_mask are relative to the resource (not to the full request). A field is overwritten if it is in the mask.For example, given the target properties: properties { a: 1 b: 2 \} And an update properties: properties { a: 2 b: 3 c: 4 \} then if the field mask is:paths: "properties.b", "properties.c"then the result will be: properties { a: 1 b: 3 c: 4 \} + */ + updateMask?: string | null; + } + /** + * Configuration information for the auxiliary service versions. + */ + export interface Schema$GoogleCloudMetastoreV2AuxiliaryVersionConfig { + /** + * A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + */ + configOverrides?: {[key: string]: string} | null; + /** + * Output only. The list of endpoints used to access the auxiliary metastore service, includes version and region data. + */ + endpoints?: Schema$GoogleCloudMetastoreV2Endpoint[]; + /** + * The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + */ + version?: string | null; + } + /** + * The details of a backup resource. + */ + export interface Schema$GoogleCloudMetastoreV2Backup { + /** + * Output only. The time when the backup was started. + */ + createTime?: string | null; + /** + * The description of the backup. + */ + description?: string | null; + /** + * Output only. The time when the backup finished creating. + */ + endTime?: string | null; + /** + * Immutable. The relative resource name of the backup, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/backups/{backup_id\} + */ + name?: string | null; + /** + * Output only. Services that are restoring from the backup. + */ + restoringServices?: string[] | null; + /** + * Output only. The revision of the service at the time of backup. + */ + serviceRevision?: Schema$GoogleCloudMetastoreV2Service; + /** + * Output only. The current state of the backup. + */ + state?: string | null; + } + /** + * A specification of the location of and metadata about a database dump from a relational database management system. + */ + export interface Schema$GoogleCloudMetastoreV2DatabaseDump { + /** + * Required. A Cloud Storage object or folder URI that specifies the source from which to import metadata. It must begin with gs://. + */ + gcsUri?: string | null; + /** + * Optional. The type of the database dump. If unspecified, defaults to MYSQL. + */ + type?: string | null; + } + /** + * Specifies how metastore metadata should be integrated with the Data Catalog service. + */ + export interface Schema$GoogleCloudMetastoreV2DataCatalogConfig { + /** + * Optional. Defines whether the metastore metadata should be synced to Data Catalog. The default value is to disable syncing metastore metadata to Data Catalog. + */ + enabled?: boolean | null; + } + /** + * Encryption settings for the service. + */ + export interface Schema$GoogleCloudMetastoreV2EncryptionConfig {} + /** + * An endpoint used to access the metastore service. + */ + export interface Schema$GoogleCloudMetastoreV2Endpoint { + /** + * Output only. The URI of the endpoint used to access the metastore service. + */ + endpointUri?: string | null; + /** + * Output only. The region where the endpoint is located. + */ + region?: string | null; + } + /** + * Request message for DataprocMetastore.ExportMetadata. + */ + export interface Schema$GoogleCloudMetastoreV2ExportMetadataRequest { + /** + * Optional. The type of the database dump. If unspecified, defaults to MYSQL. + */ + databaseDumpType?: string | null; + /** + * A Cloud Storage URI of a folder, in the format gs:///. A sub-folder containing exported files will be created below it. + */ + destinationGcsFolder?: string | null; + /** + * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format). A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. + */ + requestId?: string | null; + } + /** + * Specifies configuration information specific to running Hive metastore software as the metastore service. + */ + export interface Schema$GoogleCloudMetastoreV2HiveMetastoreConfig { + /** + * Optional. A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. + */ + auxiliaryVersions?: { + [key: string]: Schema$GoogleCloudMetastoreV2AuxiliaryVersionConfig; + } | null; + /** + * Optional. A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. + */ + configOverrides?: {[key: string]: string} | null; + /** + * Optional. The protocol to use for the metastore service endpoint. If unspecified, defaults to GRPC. + */ + endpointProtocol?: string | null; + /** + * Immutable. The Hive metastore schema version. + */ + version?: string | null; + } + /** + * Request message for DataprocMetastore.CreateMetadataImport. + */ + export interface Schema$GoogleCloudMetastoreV2ImportMetadataRequest { + /** + * Immutable. A database dump from a pre-existing metastore's database. + */ + databaseDump?: Schema$GoogleCloudMetastoreV2DatabaseDump; + /** + * Optional. The description of the metadata import. + */ + description?: string | null; + /** + * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format). A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. + */ + requestId?: string | null; + } + /** + * The details of the latest scheduled backup. + */ + export interface Schema$GoogleCloudMetastoreV2LatestBackup { + /** + * Output only. The ID of an in-progress scheduled backup. Empty if no backup is in progress. + */ + backupId?: string | null; + /** + * Output only. The duration of the backup completion. + */ + duration?: string | null; + /** + * Output only. The time when the backup was started. + */ + startTime?: string | null; + /** + * Output only. The current state of the backup. + */ + state?: string | null; + } + /** + * Response message for DataprocMetastore.ListBackups. + */ + export interface Schema$GoogleCloudMetastoreV2ListBackupsResponse { + /** + * The backups of the specified service. + */ + backups?: Schema$GoogleCloudMetastoreV2Backup[]; + /** + * A token that can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * Response message for DataprocMetastore.ListServices. + */ + export interface Schema$GoogleCloudMetastoreV2ListServicesResponse { + /** + * A token that can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The services in the specified location. + */ + services?: Schema$GoogleCloudMetastoreV2Service[]; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * Specifies how metastore metadata should be integrated with external services. + */ + export interface Schema$GoogleCloudMetastoreV2MetadataIntegration { + /** + * Optional. The integration config for the Data Catalog service. + */ + dataCatalogConfig?: Schema$GoogleCloudMetastoreV2DataCatalogConfig; + } + /** + * Request message for DataprocMetastore.MoveTableToDatabase. + */ + export interface Schema$GoogleCloudMetastoreV2MoveTableToDatabaseRequest { + /** + * Required. The name of the database where the table resides. + */ + dbName?: string | null; + /** + * Required. The name of the database where the table should be moved. + */ + destinationDbName?: string | null; + /** + * Required. The name of the table to be moved. + */ + tableName?: string | null; + } + /** + * Request message for DataprocMetastore.QueryMetadata. + */ + export interface Schema$GoogleCloudMetastoreV2QueryMetadataRequest { + /** + * Required. A read-only SQL query to execute against the metadata database. The query cannot change or mutate the data. + */ + query?: string | null; + } + /** + * Request message for DataprocMetastore.Restore. + */ + export interface Schema$GoogleCloudMetastoreV2RestoreServiceRequest { + /** + * Optional. The relative resource name of the metastore service backup to restore from, in the following form:projects/{project_id\}/locations/{location_id\}/services/{service_id\}/backups/{backup_id\}. Mutually exclusive with backup_location, and exactly one of the two must be set. + */ + backup?: string | null; + /** + * Optional. A Cloud Storage URI specifying the location of the backup artifacts, namely - backup avro files under "avro/", backup_metastore.json and service.json, in the following form:gs://. Mutually exclusive with backup, and exactly one of the two must be set. + */ + backupLocation?: string | null; + /** + * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format). A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. + */ + requestId?: string | null; + /** + * Optional. The type of restore. If unspecified, defaults to METADATA_ONLY. + */ + restoreType?: string | null; + } + /** + * Represents the scaling configuration of a metastore service. + */ + export interface Schema$GoogleCloudMetastoreV2ScalingConfig { + /** + * Optional. Scaling factor from 1 to 5, increments of 1. + */ + scalingFactor?: number | null; + } + /** + * This specifies the configuration of scheduled backup. + */ + export interface Schema$GoogleCloudMetastoreV2ScheduledBackup { + /** + * Optional. A Cloud Storage URI of a folder, in the format gs:///. A sub-folder containing backup files will be stored below it. + */ + backupLocation?: string | null; + /** + * Optional. The scheduled interval in Cron format, see https://en.wikipedia.org/wiki/Cron The default is empty: scheduled backup is not enabled. Must be specified to enable scheduled backups. + */ + cronSchedule?: string | null; + /** + * Optional. Defines whether the scheduled backup is enabled. The default value is false. + */ + enabled?: boolean | null; + /** + * Output only. The details of the latest scheduled backup. + */ + latestBackup?: Schema$GoogleCloudMetastoreV2LatestBackup; + /** + * Output only. The time when the next backups execution is scheduled to start. + */ + nextScheduledTime?: string | null; + /** + * Optional. Specifies the time zone to be used when interpreting cron_schedule. Must be a time zone name from the time zone database (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones), e.g. America/Los_Angeles or Africa/Abidjan. If left unspecified, the default is UTC. + */ + timeZone?: string | null; + } + /** + * A managed metastore service that serves metadata queries. + */ + export interface Schema$GoogleCloudMetastoreV2Service { + /** + * Output only. The time when the metastore service was created. + */ + createTime?: string | null; + /** + * Immutable. Information used to configure the Dataproc Metastore service to encrypt customer data at rest. Cannot be updated. + */ + encryptionConfig?: Schema$GoogleCloudMetastoreV2EncryptionConfig; + /** + * Output only. The list of endpoints used to access the metastore service. + */ + endpoints?: Schema$GoogleCloudMetastoreV2Endpoint[]; + /** + * Configuration information specific to running Hive metastore software as the metastore service. + */ + hiveMetastoreConfig?: Schema$GoogleCloudMetastoreV2HiveMetastoreConfig; + /** + * User-defined labels for the metastore service. + */ + labels?: {[key: string]: string} | null; + /** + * Optional. The setting that defines how metastore metadata should be integrated with external services and systems. + */ + metadataIntegration?: Schema$GoogleCloudMetastoreV2MetadataIntegration; + /** + * Immutable. The relative resource name of the metastore service, in the following format:projects/{project_number\}/locations/{location_id\}/services/{service_id\}. + */ + name?: string | null; + /** + * Optional. Scaling configuration of the metastore service. + */ + scalingConfig?: Schema$GoogleCloudMetastoreV2ScalingConfig; + /** + * Optional. The configuration of scheduled backup for the metastore service. + */ + scheduledBackup?: Schema$GoogleCloudMetastoreV2ScheduledBackup; + /** + * Output only. The current state of the metastore service. + */ + state?: string | null; + /** + * Output only. Additional information about the current state of the metastore service, if available. + */ + stateMessage?: string | null; + /** + * Output only. The globally unique resource identifier of the metastore service. + */ + uid?: string | null; + /** + * Output only. The time when the metastore service was last updated. + */ + updateTime?: string | null; + /** + * Required. A Cloud Storage URI (starting with gs://) that specifies the default warehouse directory of the Hive Metastore. + */ + warehouseGcsUri?: string | null; + } + /** + * This resource represents a long-running operation that is the result of a network API call. + */ + export interface Schema$GoogleLongrunningOperation { + /** + * If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available. + */ + done?: boolean | null; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$GoogleRpcStatus; + /** + * Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. + */ + metadata?: {[key: string]: any} | null; + /** + * The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id\}. + */ + name?: string | null; + /** + * The normal, successful response of the operation. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse. + */ + response?: {[key: string]: any} | null; + } + /** + * The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors). + */ + export interface Schema$GoogleRpcStatus { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number | null; + /** + * A list of messages that carry the error details. There is a common set of message types for APIs to use. + */ + details?: Array<{[key: string]: any}> | null; + /** + * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + */ + message?: string | null; + } + + export class Resource$Projects { + context: APIRequestContext; + locations: Resource$Projects$Locations; + constructor(context: APIRequestContext) { + this.context = context; + this.locations = new Resource$Projects$Locations(this.context); + } + } + + export class Resource$Projects$Locations { + context: APIRequestContext; + services: Resource$Projects$Locations$Services; + constructor(context: APIRequestContext) { + this.context = context; + this.services = new Resource$Projects$Locations$Services(this.context); + } + } + + export class Resource$Projects$Locations$Services { + context: APIRequestContext; + backups: Resource$Projects$Locations$Services$Backups; + constructor(context: APIRequestContext) { + this.context = context; + this.backups = new Resource$Projects$Locations$Services$Backups( + this.context + ); + } + + /** + * Alter metadata resource location. The metadata resource can be a database, table, or partition. This functionality only updates the parent directory for the respective metadata resource and does not transfer any existing data to the new location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + alterLocation( + params: Params$Resource$Projects$Locations$Services$Alterlocation, + options: StreamMethodOptions + ): GaxiosPromise; + alterLocation( + params?: Params$Resource$Projects$Locations$Services$Alterlocation, + options?: MethodOptions + ): GaxiosPromise; + alterLocation( + params: Params$Resource$Projects$Locations$Services$Alterlocation, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + alterLocation( + params: Params$Resource$Projects$Locations$Services$Alterlocation, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + alterLocation( + params: Params$Resource$Projects$Locations$Services$Alterlocation, + callback: BodyResponseCallback + ): void; + alterLocation( + callback: BodyResponseCallback + ): void; + alterLocation( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Alterlocation + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Alterlocation; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Alterlocation; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2/{+service}:alterLocation').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['service'], + pathParams: ['service'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Alter metadata table properties. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + alterTableProperties( + params: Params$Resource$Projects$Locations$Services$Altertableproperties, + options: StreamMethodOptions + ): GaxiosPromise; + alterTableProperties( + params?: Params$Resource$Projects$Locations$Services$Altertableproperties, + options?: MethodOptions + ): GaxiosPromise; + alterTableProperties( + params: Params$Resource$Projects$Locations$Services$Altertableproperties, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + alterTableProperties( + params: Params$Resource$Projects$Locations$Services$Altertableproperties, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + alterTableProperties( + params: Params$Resource$Projects$Locations$Services$Altertableproperties, + callback: BodyResponseCallback + ): void; + alterTableProperties( + callback: BodyResponseCallback + ): void; + alterTableProperties( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Altertableproperties + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Altertableproperties; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Altertableproperties; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2/{+service}:alterTableProperties').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['service'], + pathParams: ['service'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Creates a metastore service in a project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Services$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Services$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Services$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Services$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Services$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Services$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2/{+parent}/services').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a single service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Services$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Services$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Services$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Services$Delete, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Services$Delete, + callback: BodyResponseCallback + ): void; + delete( + callback: BodyResponseCallback + ): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Services$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Exports metadata from a service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + exportMetadata( + params: Params$Resource$Projects$Locations$Services$Exportmetadata, + options: StreamMethodOptions + ): GaxiosPromise; + exportMetadata( + params?: Params$Resource$Projects$Locations$Services$Exportmetadata, + options?: MethodOptions + ): GaxiosPromise; + exportMetadata( + params: Params$Resource$Projects$Locations$Services$Exportmetadata, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + exportMetadata( + params: Params$Resource$Projects$Locations$Services$Exportmetadata, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + exportMetadata( + params: Params$Resource$Projects$Locations$Services$Exportmetadata, + callback: BodyResponseCallback + ): void; + exportMetadata( + callback: BodyResponseCallback + ): void; + exportMetadata( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Exportmetadata + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Exportmetadata; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Exportmetadata; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2/{+service}:exportMetadata').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['service'], + pathParams: ['service'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets the details of a single service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Services$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Services$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Services$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Services$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Services$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Services$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Imports Metadata into a Dataproc Metastore service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + importMetadata( + params: Params$Resource$Projects$Locations$Services$Importmetadata, + options: StreamMethodOptions + ): GaxiosPromise; + importMetadata( + params?: Params$Resource$Projects$Locations$Services$Importmetadata, + options?: MethodOptions + ): GaxiosPromise; + importMetadata( + params: Params$Resource$Projects$Locations$Services$Importmetadata, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + importMetadata( + params: Params$Resource$Projects$Locations$Services$Importmetadata, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + importMetadata( + params: Params$Resource$Projects$Locations$Services$Importmetadata, + callback: BodyResponseCallback + ): void; + importMetadata( + callback: BodyResponseCallback + ): void; + importMetadata( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Importmetadata + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Importmetadata; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Importmetadata; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2/{+name}:importMetadata').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists services in a project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Services$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Services$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Services$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Services$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Services$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Services$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2/{+parent}/services').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Move a table to another database. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + moveTableToDatabase( + params: Params$Resource$Projects$Locations$Services$Movetabletodatabase, + options: StreamMethodOptions + ): GaxiosPromise; + moveTableToDatabase( + params?: Params$Resource$Projects$Locations$Services$Movetabletodatabase, + options?: MethodOptions + ): GaxiosPromise; + moveTableToDatabase( + params: Params$Resource$Projects$Locations$Services$Movetabletodatabase, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + moveTableToDatabase( + params: Params$Resource$Projects$Locations$Services$Movetabletodatabase, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + moveTableToDatabase( + params: Params$Resource$Projects$Locations$Services$Movetabletodatabase, + callback: BodyResponseCallback + ): void; + moveTableToDatabase( + callback: BodyResponseCallback + ): void; + moveTableToDatabase( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Movetabletodatabase + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Movetabletodatabase; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Movetabletodatabase; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2/{+service}:moveTableToDatabase').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['service'], + pathParams: ['service'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the parameters of a single service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Services$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Services$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Services$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Services$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Services$Patch, + callback: BodyResponseCallback + ): void; + patch( + callback: BodyResponseCallback + ): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Services$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Query Dataproc Metastore metadata. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + queryMetadata( + params: Params$Resource$Projects$Locations$Services$Querymetadata, + options: StreamMethodOptions + ): GaxiosPromise; + queryMetadata( + params?: Params$Resource$Projects$Locations$Services$Querymetadata, + options?: MethodOptions + ): GaxiosPromise; + queryMetadata( + params: Params$Resource$Projects$Locations$Services$Querymetadata, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + queryMetadata( + params: Params$Resource$Projects$Locations$Services$Querymetadata, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + queryMetadata( + params: Params$Resource$Projects$Locations$Services$Querymetadata, + callback: BodyResponseCallback + ): void; + queryMetadata( + callback: BodyResponseCallback + ): void; + queryMetadata( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Querymetadata + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Querymetadata; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Querymetadata; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2/{+service}:queryMetadata').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['service'], + pathParams: ['service'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Restores a service from a backup. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + restore( + params: Params$Resource$Projects$Locations$Services$Restore, + options: StreamMethodOptions + ): GaxiosPromise; + restore( + params?: Params$Resource$Projects$Locations$Services$Restore, + options?: MethodOptions + ): GaxiosPromise; + restore( + params: Params$Resource$Projects$Locations$Services$Restore, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + restore( + params: Params$Resource$Projects$Locations$Services$Restore, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + restore( + params: Params$Resource$Projects$Locations$Services$Restore, + callback: BodyResponseCallback + ): void; + restore( + callback: BodyResponseCallback + ): void; + restore( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Restore + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Restore; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Services$Restore; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2/{+service}:restore').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['service'], + pathParams: ['service'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Services$Alterlocation + extends StandardParameters { + /** + * Required. The relative resource name of the metastore service to mutate metadata, in the following format:projects/{project_id\}/locations/{location_id\}/services/{service_id\}. + */ + service?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2AlterMetadataResourceLocationRequest; + } + export interface Params$Resource$Projects$Locations$Services$Altertableproperties + extends StandardParameters { + /** + * Required. The relative resource name of the Dataproc Metastore service that's being used to mutate metadata table properties, in the following format:projects/{project_id\}/locations/{location_id\}/services/{service_id\}. + */ + service?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2AlterTablePropertiesRequest; + } + export interface Params$Resource$Projects$Locations$Services$Create + extends StandardParameters { + /** + * Required. The relative resource name of the location in which to create a metastore service, in the following form:projects/{project_number\}/locations/{location_id\}. + */ + parent?: string; + /** + * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. + */ + requestId?: string; + /** + * Required. The ID of the metastore service, which is used as the final component of the metastore service's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens. + */ + serviceId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2Service; + } + export interface Params$Resource$Projects$Locations$Services$Delete + extends StandardParameters { + /** + * Required. The relative resource name of the metastore service to delete, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}. + */ + name?: string; + /** + * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. + */ + requestId?: string; + } + export interface Params$Resource$Projects$Locations$Services$Exportmetadata + extends StandardParameters { + /** + * Required. The relative resource name of the metastore service to run export, in the following form:projects/{project_id\}/locations/{location_id\}/services/{service_id\}. + */ + service?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2ExportMetadataRequest; + } + export interface Params$Resource$Projects$Locations$Services$Get + extends StandardParameters { + /** + * Required. The relative resource name of the metastore service to retrieve, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Services$Importmetadata + extends StandardParameters { + /** + * Immutable. The relative resource name of the metastore service to run import, in the following form:projects/{project_id\}/locations/{location_id\}/services/{service_id\}. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2ImportMetadataRequest; + } + export interface Params$Resource$Projects$Locations$Services$List + extends StandardParameters { + /** + * Optional. The filter to apply to list results. + */ + filter?: string; + /** + * Optional. Specify the ordering of results as described in Sorting Order (https://cloud.google.com/apis/design/design_patterns#sorting_order). If not specified, the results will be sorted in the default order. + */ + orderBy?: string; + /** + * Optional. The maximum number of services to return. The response may contain less than the maximum number. If unspecified, no more than 500 services are returned. The maximum value is 1000; values above 1000 are changed to 1000. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous DataprocMetastore.ListServices call. Provide this token to retrieve the subsequent page.To retrieve the first page, supply an empty page token.When paginating, other parameters provided to DataprocMetastore.ListServices must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The relative resource name of the location of metastore services to list, in the following form:projects/{project_number\}/locations/{location_id\}. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Services$Movetabletodatabase + extends StandardParameters { + /** + * Required. The relative resource name of the metastore service to mutate metadata, in the following format:projects/{project_id\}/locations/{location_id\}/services/{service_id\}. + */ + service?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2MoveTableToDatabaseRequest; + } + export interface Params$Resource$Projects$Locations$Services$Patch + extends StandardParameters { + /** + * Immutable. The relative resource name of the metastore service, in the following format:projects/{project_number\}/locations/{location_id\}/services/{service_id\}. + */ + name?: string; + /** + * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. + */ + requestId?: string; + /** + * Required. A field mask used to specify the fields to be overwritten in the metastore service resource by the update. Fields specified in the update_mask are relative to the resource (not to the full request). A field is overwritten if it is in the mask. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2Service; + } + export interface Params$Resource$Projects$Locations$Services$Querymetadata + extends StandardParameters { + /** + * Required. The relative resource name of the metastore service to query metadata, in the following format:projects/{project_id\}/locations/{location_id\}/services/{service_id\}. + */ + service?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2QueryMetadataRequest; + } + export interface Params$Resource$Projects$Locations$Services$Restore + extends StandardParameters { + /** + * Required. The relative resource name of the metastore service to run restore, in the following form:projects/{project_id\}/locations/{location_id\}/services/{service_id\}. + */ + service?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2RestoreServiceRequest; + } + + export class Resource$Projects$Locations$Services$Backups { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new backup in a given project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Services$Backups$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Services$Backups$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Services$Backups$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Services$Backups$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Services$Backups$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Backups$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Backups$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Backups$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2/{+parent}/backups').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a single backup. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Services$Backups$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Services$Backups$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Services$Backups$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Services$Backups$Delete, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Services$Backups$Delete, + callback: BodyResponseCallback + ): void; + delete( + callback: BodyResponseCallback + ): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Backups$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Backups$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Backups$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of a single backup. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Services$Backups$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Services$Backups$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Services$Backups$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Services$Backups$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Services$Backups$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Backups$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Backups$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Services$Backups$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Lists backups in a service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Services$Backups$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Services$Backups$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Services$Backups$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Services$Backups$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Services$Backups$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Backups$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Backups$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Services$Backups$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2/{+parent}/backups').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Services$Backups$Create + extends StandardParameters { + /** + * Required. The ID of the backup, which is used as the final component of the backup's name.This value must be between 1 and 64 characters long, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens. + */ + backupId?: string; + /** + * Required. The relative resource name of the service in which to create a backup of the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}. + */ + parent?: string; + /** + * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2Backup; + } + export interface Params$Resource$Projects$Locations$Services$Backups$Delete + extends StandardParameters { + /** + * Required. The relative resource name of the backup to delete, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/backups/{backup_id\}. + */ + name?: string; + /** + * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. + */ + requestId?: string; + } + export interface Params$Resource$Projects$Locations$Services$Backups$Get + extends StandardParameters { + /** + * Required. The relative resource name of the backup to retrieve, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/backups/{backup_id\}. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Services$Backups$List + extends StandardParameters { + /** + * Optional. The filter to apply to list results. + */ + filter?: string; + /** + * Optional. Specify the ordering of results as described in Sorting Order (https://cloud.google.com/apis/design/design_patterns#sorting_order). If not specified, the results will be sorted in the default order. + */ + orderBy?: string; + /** + * Optional. The maximum number of backups to return. The response may contain less than the maximum number. If unspecified, no more than 500 backups are returned. The maximum value is 1000; values above 1000 are changed to 1000. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous DataprocMetastore.ListBackups call. Provide this token to retrieve the subsequent page.To retrieve the first page, supply an empty page token.When paginating, other parameters provided to DataprocMetastore.ListBackups must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The relative resource name of the service whose backups to list, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/backups. + */ + parent?: string; + } +} diff --git a/src/apis/metastore/v2alpha.ts b/src/apis/metastore/v2alpha.ts new file mode 100644 index 0000000000..4051da2615 --- /dev/null +++ b/src/apis/metastore/v2alpha.ts @@ -0,0 +1,3701 @@ +// Copyright 2020 Google LLC +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/no-empty-interface */ +/* eslint-disable @typescript-eslint/no-namespace */ +/* eslint-disable no-irregular-whitespace */ + +import { + OAuth2Client, + JWT, + Compute, + UserRefreshClient, + BaseExternalAccountClient, + GaxiosPromise, + GoogleConfigurable, + createAPIRequest, + MethodOptions, + StreamMethodOptions, + GlobalOptions, + GoogleAuth, + BodyResponseCallback, + APIRequestContext, +} from 'googleapis-common'; +import {Readable} from 'stream'; + +export namespace metastore_v2alpha { + export interface Options extends GlobalOptions { + version: 'v2alpha'; + } + + interface StandardParameters { + /** + * Auth client or API Key for the request + */ + auth?: + | string + | OAuth2Client + | JWT + | Compute + | UserRefreshClient + | BaseExternalAccountClient + | GoogleAuth; + + /** + * V1 error format. + */ + '$.xgafv'?: string; + /** + * OAuth access token. + */ + access_token?: string; + /** + * Data format for response. + */ + alt?: string; + /** + * JSONP + */ + callback?: string; + /** + * Selector specifying which fields to include in a partial response. + */ + fields?: string; + /** + * API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + */ + key?: string; + /** + * OAuth 2.0 token for the current user. + */ + oauth_token?: string; + /** + * Returns response with indentations and line breaks. + */ + prettyPrint?: boolean; + /** + * Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + */ + quotaUser?: string; + /** + * Legacy upload protocol for media (e.g. "media", "multipart"). + */ + uploadType?: string; + /** + * Upload protocol for media (e.g. "raw", "multipart"). + */ + upload_protocol?: string; + } + + /** + * Dataproc Metastore API + * + * The Dataproc Metastore API is used to manage the lifecycle and configuration of metastore services. + * + * @example + * ```js + * const {google} = require('googleapis'); + * const metastore = google.metastore('v2alpha'); + * ``` + */ + export class Metastore { + context: APIRequestContext; + projects: Resource$Projects; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.projects = new Resource$Projects(this.context); + } + } + + /** + * Response message for DataprocMetastore.AlterMetadataResourceLocation. + */ + export interface Schema$GoogleCloudMetastoreV1alphaAlterMetadataResourceLocationResponse {} + /** + * Response message for DataprocMetastore.CancelMigration. + */ + export interface Schema$GoogleCloudMetastoreV1alphaCancelMigrationResponse { + /** + * The relative resource name of the migration execution, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/migrationExecutions/{migration_execution_id\}. + */ + migrationExecution?: string | null; + } + /** + * Response message for DataprocMetastore.CompleteMigration. + */ + export interface Schema$GoogleCloudMetastoreV1alphaCompleteMigrationResponse { + /** + * The relative resource name of the migration execution, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/migrationExecutions/{migration_execution_id\}. + */ + migrationExecution?: string | null; + } + /** + * Metadata about a custom region. This is only populated if the region is a custom region. For single/multi regions, it will be empty. + */ + export interface Schema$GoogleCloudMetastoreV1alphaCustomRegionMetadata { + /** + * The read-only regions for this custom region. + */ + optionalReadOnlyRegions?: string[] | null; + /** + * The read-write regions for this custom region. + */ + requiredReadWriteRegions?: string[] | null; + /** + * The Spanner witness region for this custom region. + */ + witnessRegion?: string | null; + } + /** + * Error details in public error message for DataprocMetastore.QueryMetadata. + */ + export interface Schema$GoogleCloudMetastoreV1alphaErrorDetails { + /** + * Additional structured details about this error.Keys define the failure items. Value describes the exception or details of the item. + */ + details?: {[key: string]: string} | null; + } + /** + * A specification of a supported version of the Hive Metastore software. + */ + export interface Schema$GoogleCloudMetastoreV1alphaHiveMetastoreVersion { + /** + * Whether version will be chosen by the server if a metastore service is created with a HiveMetastoreConfig that omits the version. + */ + isDefault?: boolean | null; + /** + * The semantic version of the Hive Metastore software. + */ + version?: string | null; + } + /** + * Metadata about the service in a location. + */ + export interface Schema$GoogleCloudMetastoreV1alphaLocationMetadata { + /** + * Possible configurations supported if the current region is a custom region. + */ + customRegionMetadata?: Schema$GoogleCloudMetastoreV1alphaCustomRegionMetadata[]; + /** + * The multi-region metadata if the current region is a multi-region. + */ + multiRegionMetadata?: Schema$GoogleCloudMetastoreV1alphaMultiRegionMetadata; + /** + * The versions of Hive Metastore that can be used when creating a new metastore service in this location. The server guarantees that exactly one HiveMetastoreVersion in the list will set is_default. + */ + supportedHiveMetastoreVersions?: Schema$GoogleCloudMetastoreV1alphaHiveMetastoreVersion[]; + } + /** + * Response message for DataprocMetastore.MoveTableToDatabase. + */ + export interface Schema$GoogleCloudMetastoreV1alphaMoveTableToDatabaseResponse {} + /** + * The metadata for the multi-region that includes the constituent regions. The metadata is only populated if the region is multi-region. For single region or custom dual region, it will be empty. + */ + export interface Schema$GoogleCloudMetastoreV1alphaMultiRegionMetadata { + /** + * The regions constituting the multi-region. + */ + constituentRegions?: string[] | null; + } + /** + * Represents the metadata of a long-running operation. + */ + export interface Schema$GoogleCloudMetastoreV1alphaOperationMetadata { + /** + * Output only. API version used to start the operation. + */ + apiVersion?: string | null; + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED. + */ + requestedCancellation?: boolean | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; + /** + * Output only. Server-defined resource path for the target of the operation. + */ + target?: string | null; + /** + * Output only. Name of the verb executed by the operation. + */ + verb?: string | null; + } + /** + * Response message for DataprocMetastore.QueryMetadata. + */ + export interface Schema$GoogleCloudMetastoreV1alphaQueryMetadataResponse { + /** + * The manifest URI is link to a JSON instance in Cloud Storage. This instance manifests immediately along with QueryMetadataResponse. The content of the URI is not retriable until the long-running operation query against the metadata finishes. + */ + resultManifestUri?: string | null; + } + /** + * Response message for DataprocMetastore.AlterMetadataResourceLocation. + */ + export interface Schema$GoogleCloudMetastoreV1AlterMetadataResourceLocationResponse {} + /** + * Response message for DataprocMetastore.AlterMetadataResourceLocation. + */ + export interface Schema$GoogleCloudMetastoreV1betaAlterMetadataResourceLocationResponse {} + /** + * Response message for DataprocMetastore.CancelMigration. + */ + export interface Schema$GoogleCloudMetastoreV1betaCancelMigrationResponse { + /** + * The relative resource name of the migration execution, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/migrationExecutions/{migration_execution_id\}. + */ + migrationExecution?: string | null; + } + /** + * Response message for DataprocMetastore.CompleteMigration. + */ + export interface Schema$GoogleCloudMetastoreV1betaCompleteMigrationResponse { + /** + * The relative resource name of the migration execution, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/migrationExecutions/{migration_execution_id\}. + */ + migrationExecution?: string | null; + } + /** + * Metadata about a custom region. This is only populated if the region is a custom region. For single/multi regions, it will be empty. + */ + export interface Schema$GoogleCloudMetastoreV1betaCustomRegionMetadata { + /** + * The read-only regions for this custom region. + */ + optionalReadOnlyRegions?: string[] | null; + /** + * The read-write regions for this custom region. + */ + requiredReadWriteRegions?: string[] | null; + /** + * The Spanner witness region for this custom region. + */ + witnessRegion?: string | null; + } + /** + * Error details in public error message for DataprocMetastore.QueryMetadata. + */ + export interface Schema$GoogleCloudMetastoreV1betaErrorDetails { + /** + * Additional structured details about this error.Keys define the failure items. Value describes the exception or details of the item. + */ + details?: {[key: string]: string} | null; + } + /** + * A specification of a supported version of the Hive Metastore software. + */ + export interface Schema$GoogleCloudMetastoreV1betaHiveMetastoreVersion { + /** + * Whether version will be chosen by the server if a metastore service is created with a HiveMetastoreConfig that omits the version. + */ + isDefault?: boolean | null; + /** + * The semantic version of the Hive Metastore software. + */ + version?: string | null; + } + /** + * Metadata about the service in a location. + */ + export interface Schema$GoogleCloudMetastoreV1betaLocationMetadata { + /** + * Possible configurations supported if the current region is a custom region. + */ + customRegionMetadata?: Schema$GoogleCloudMetastoreV1betaCustomRegionMetadata[]; + /** + * The multi-region metadata if the current region is a multi-region. + */ + multiRegionMetadata?: Schema$GoogleCloudMetastoreV1betaMultiRegionMetadata; + /** + * The versions of Hive Metastore that can be used when creating a new metastore service in this location. The server guarantees that exactly one HiveMetastoreVersion in the list will set is_default. + */ + supportedHiveMetastoreVersions?: Schema$GoogleCloudMetastoreV1betaHiveMetastoreVersion[]; + } + /** + * Response message for DataprocMetastore.MoveTableToDatabase. + */ + export interface Schema$GoogleCloudMetastoreV1betaMoveTableToDatabaseResponse {} + /** + * The metadata for the multi-region that includes the constituent regions. The metadata is only populated if the region is multi-region. For single region or custom dual region, it will be empty. + */ + export interface Schema$GoogleCloudMetastoreV1betaMultiRegionMetadata { + /** + * The regions constituting the multi-region. + */ + constituentRegions?: string[] | null; + } + /** + * Represents the metadata of a long-running operation. + */ + export interface Schema$GoogleCloudMetastoreV1betaOperationMetadata { + /** + * Output only. API version used to start the operation. + */ + apiVersion?: string | null; + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED. + */ + requestedCancellation?: boolean | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; + /** + * Output only. Server-defined resource path for the target of the operation. + */ + target?: string | null; + /** + * Output only. Name of the verb executed by the operation. + */ + verb?: string | null; + } + /** + * Response message for DataprocMetastore.QueryMetadata. + */ + export interface Schema$GoogleCloudMetastoreV1betaQueryMetadataResponse { + /** + * The manifest URI is link to a JSON instance in Cloud Storage. This instance manifests immediately along with QueryMetadataResponse. The content of the URI is not retriable until the long-running operation query against the metadata finishes. + */ + resultManifestUri?: string | null; + } + /** + * Metadata about a custom region. This is only populated if the region is a custom region. For single/multi regions, it will be empty. + */ + export interface Schema$GoogleCloudMetastoreV1CustomRegionMetadata { + /** + * The read-only regions for this custom region. + */ + optionalReadOnlyRegions?: string[] | null; + /** + * The read-write regions for this custom region. + */ + requiredReadWriteRegions?: string[] | null; + /** + * The Spanner witness region for this custom region. + */ + witnessRegion?: string | null; + } + /** + * Error details in public error message for DataprocMetastore.QueryMetadata. + */ + export interface Schema$GoogleCloudMetastoreV1ErrorDetails { + /** + * Additional structured details about this error.Keys define the failure items. Value describes the exception or details of the item. + */ + details?: {[key: string]: string} | null; + } + /** + * A specification of a supported version of the Hive Metastore software. + */ + export interface Schema$GoogleCloudMetastoreV1HiveMetastoreVersion { + /** + * Whether version will be chosen by the server if a metastore service is created with a HiveMetastoreConfig that omits the version. + */ + isDefault?: boolean | null; + /** + * The semantic version of the Hive Metastore software. + */ + version?: string | null; + } + /** + * Metadata about the service in a location. + */ + export interface Schema$GoogleCloudMetastoreV1LocationMetadata { + /** + * Possible configurations supported if the current region is a custom region. + */ + customRegionMetadata?: Schema$GoogleCloudMetastoreV1CustomRegionMetadata[]; + /** + * The multi-region metadata if the current region is a multi-region. + */ + multiRegionMetadata?: Schema$GoogleCloudMetastoreV1MultiRegionMetadata; + /** + * The versions of Hive Metastore that can be used when creating a new metastore service in this location. The server guarantees that exactly one HiveMetastoreVersion in the list will set is_default. + */ + supportedHiveMetastoreVersions?: Schema$GoogleCloudMetastoreV1HiveMetastoreVersion[]; + } + /** + * Response message for DataprocMetastore.MoveTableToDatabase. + */ + export interface Schema$GoogleCloudMetastoreV1MoveTableToDatabaseResponse {} + /** + * The metadata for the multi-region that includes the constituent regions. The metadata is only populated if the region is multi-region. For single region or custom dual region, it will be empty. + */ + export interface Schema$GoogleCloudMetastoreV1MultiRegionMetadata { + /** + * The regions constituting the multi-region. + */ + constituentRegions?: string[] | null; + } + /** + * Represents the metadata of a long-running operation. + */ + export interface Schema$GoogleCloudMetastoreV1OperationMetadata { + /** + * Output only. API version used to start the operation. + */ + apiVersion?: string | null; + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED. + */ + requestedCancellation?: boolean | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; + /** + * Output only. Server-defined resource path for the target of the operation. + */ + target?: string | null; + /** + * Output only. Name of the verb executed by the operation. + */ + verb?: string | null; + } + /** + * Response message for DataprocMetastore.QueryMetadata. + */ + export interface Schema$GoogleCloudMetastoreV1QueryMetadataResponse { + /** + * The manifest URI is link to a JSON instance in Cloud Storage. This instance manifests immediately along with QueryMetadataResponse. The content of the URI is not retriable until the long-running operation query against the metadata finishes. + */ + resultManifestUri?: string | null; + } + /** + * Request message for DataprocMetastore.AlterMetadataResourceLocation. + */ + export interface Schema$GoogleCloudMetastoreV2alphaAlterMetadataResourceLocationRequest { + /** + * Required. The new location URI for the metadata resource. + */ + locationUri?: string | null; + /** + * Required. The relative metadata resource name in the following format.databases/{database_id\} or databases/{database_id\}/tables/{table_id\} or databases/{database_id\}/tables/{table_id\}/partitions/{partition_id\} + */ + resourceName?: string | null; + } + /** + * Request message for DataprocMetastore.AlterTableProperties. + */ + export interface Schema$GoogleCloudMetastoreV2alphaAlterTablePropertiesRequest { + /** + * A map that describes the desired values to mutate. If update_mask is empty, the properties will not update. Otherwise, the properties only alters the value whose associated paths exist in the update mask + */ + properties?: {[key: string]: string} | null; + /** + * Required. The name of the table containing the properties you're altering in the following format.databases/{database_id\}/tables/{table_id\} + */ + tableName?: string | null; + /** + * A field mask that specifies the metadata table properties that are overwritten by the update. Fields specified in the update_mask are relative to the resource (not to the full request). A field is overwritten if it is in the mask.For example, given the target properties: properties { a: 1 b: 2 \} And an update properties: properties { a: 2 b: 3 c: 4 \} then if the field mask is:paths: "properties.b", "properties.c"then the result will be: properties { a: 1 b: 3 c: 4 \} + */ + updateMask?: string | null; + } + /** + * Represents the autoscaling configuration of a metastore service. + */ + export interface Schema$GoogleCloudMetastoreV2alphaAutoscalingConfig { + /** + * Optional. Whether or not autoscaling is enabled for this service. + */ + autoscalingEnabled?: boolean | null; + /** + * Output only. The scaling factor of a service with autoscaling enabled. + */ + autoscalingFactor?: number | null; + /** + * Optional. The LimitConfig of the service. + */ + limitConfig?: Schema$GoogleCloudMetastoreV2alphaLimitConfig; + } + /** + * Configuration information for the auxiliary service versions. + */ + export interface Schema$GoogleCloudMetastoreV2alphaAuxiliaryVersionConfig { + /** + * A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + */ + configOverrides?: {[key: string]: string} | null; + /** + * Output only. The list of endpoints used to access the auxiliary metastore service, includes version and region data. + */ + endpoints?: Schema$GoogleCloudMetastoreV2alphaEndpoint[]; + /** + * The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + */ + version?: string | null; + } + /** + * The details of a backup resource. + */ + export interface Schema$GoogleCloudMetastoreV2alphaBackup { + /** + * Output only. The time when the backup was started. + */ + createTime?: string | null; + /** + * The description of the backup. + */ + description?: string | null; + /** + * Output only. The time when the backup finished creating. + */ + endTime?: string | null; + /** + * Immutable. The relative resource name of the backup, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/backups/{backup_id\} + */ + name?: string | null; + /** + * Output only. Services that are restoring from the backup. + */ + restoringServices?: string[] | null; + /** + * Output only. The revision of the service at the time of backup. + */ + serviceRevision?: Schema$GoogleCloudMetastoreV2alphaService; + /** + * Output only. The current state of the backup. + */ + state?: string | null; + } + /** + * Request message for DataprocMetastore.CancelMigration. + */ + export interface Schema$GoogleCloudMetastoreV2alphaCancelMigrationRequest {} + /** + * Configuration information to start the Change Data Capture (CDC) streams from customer database to backend database of Dataproc Metastore. + */ + export interface Schema$GoogleCloudMetastoreV2alphaCdcConfig { + /** + * Optional. The bucket to write the intermediate stream event data in. The bucket name must be without any prefix like "gs://". See the bucket naming requirements (https://cloud.google.com/storage/docs/buckets#naming). This field is optional. If not set, the Artifacts Cloud Storage bucket will be used. + */ + bucket?: string | null; + /** + * Required. Input only. The password for the user that Datastream service should use for the MySQL connection. This field is not returned on request. + */ + password?: string | null; + /** + * Required. The URL of the subnetwork resource to create the VM instance hosting the reverse proxy in. More context in https://cloud.google.com/datastream/docs/private-connectivity#reverse-csql-proxy The subnetwork should reside in the network provided in the request that Datastream will peer to and should be in the same region as Datastream, in the following format. projects/{project_id\}/regions/{region_id\}/subnetworks/{subnetwork_id\} + */ + reverseProxySubnet?: string | null; + /** + * Optional. The root path inside the Cloud Storage bucket. The stream event data will be written to this path. The default value is /migration. + */ + rootPath?: string | null; + /** + * Required. A /29 CIDR IP range for peering with datastream. + */ + subnetIpRange?: string | null; + /** + * Required. The username that the Datastream service should use for the MySQL connection. + */ + username?: string | null; + /** + * Required. Fully qualified name of the Cloud SQL instance's VPC network or the shared VPC network that Datastream will peer to, in the following format: projects/{project_id\}/locations/global/networks/{network_id\}. More context in https://cloud.google.com/datastream/docs/network-connectivity-options#privateconnectivity + */ + vpcNetwork?: string | null; + } + /** + * Configuration information to establish customer database connection before the cutover phase of migration + */ + export interface Schema$GoogleCloudMetastoreV2alphaCloudSQLConnectionConfig { + /** + * Required. The hive database name. + */ + hiveDatabaseName?: string | null; + /** + * Required. Cloud SQL database connection name (project_id:region:instance_name) + */ + instanceConnectionName?: string | null; + /** + * Required. The private IP address of the Cloud SQL instance. + */ + ipAddress?: string | null; + /** + * Required. The relative resource name of the subnetwork to be used for Private Service Connect. Note that this cannot be a regular subnet and is used only for NAT. (https://cloud.google.com/vpc/docs/about-vpc-hosted-services#psc-subnets) This subnet is used to publish the SOCKS5 proxy service. The subnet size must be at least /29 and it should reside in a network through which the Cloud SQL instance is accessible. The resource name should be in the format, projects/{project_id\}/regions/{region_id\}/subnetworks/{subnetwork_id\} + */ + natSubnet?: string | null; + /** + * Required. Input only. The password for the user that Dataproc Metastore service will be using to connect to the database. This field is not returned on request. + */ + password?: string | null; + /** + * Required. The network port of the database. + */ + port?: number | null; + /** + * Required. The relative resource name of the subnetwork to deploy the SOCKS5 proxy service in. The subnetwork should reside in a network through which the Cloud SQL instance is accessible. The resource name should be in the format, projects/{project_id\}/regions/{region_id\}/subnetworks/{subnetwork_id\} + */ + proxySubnet?: string | null; + /** + * Required. The username that Dataproc Metastore service will use to connect to the database. + */ + username?: string | null; + } + /** + * Configuration information for migrating from self-managed hive metastore on Google Cloud using Cloud SQL as the backend database to Dataproc Metastore. + */ + export interface Schema$GoogleCloudMetastoreV2alphaCloudSQLMigrationConfig { + /** + * Required. Configuration information to start the Change Data Capture (CDC) streams from customer database to backend database of Dataproc Metastore. Dataproc Metastore switches to using its backend database after the cutover phase of migration. + */ + cdcConfig?: Schema$GoogleCloudMetastoreV2alphaCdcConfig; + /** + * Required. Configuration information to establish customer database connection before the cutover phase of migration + */ + cloudSqlConnectionConfig?: Schema$GoogleCloudMetastoreV2alphaCloudSQLConnectionConfig; + } + /** + * Request message for DataprocMetastore.CompleteMigration. + */ + export interface Schema$GoogleCloudMetastoreV2alphaCompleteMigrationRequest {} + /** + * A specification of the location of and metadata about a database dump from a relational database management system. + */ + export interface Schema$GoogleCloudMetastoreV2alphaDatabaseDump { + /** + * Required. A Cloud Storage object or folder URI that specifies the source from which to import metadata. It must begin with gs://. + */ + gcsUri?: string | null; + /** + * Optional. The type of the database dump. If unspecified, defaults to MYSQL. + */ + type?: string | null; + } + /** + * Specifies how metastore metadata should be integrated with the Data Catalog service. + */ + export interface Schema$GoogleCloudMetastoreV2alphaDataCatalogConfig { + /** + * Optional. Defines whether the metastore metadata should be synced to Data Catalog. The default value is to disable syncing metastore metadata to Data Catalog. + */ + enabled?: boolean | null; + } + /** + * Encryption settings for the service. + */ + export interface Schema$GoogleCloudMetastoreV2alphaEncryptionConfig {} + /** + * An endpoint used to access the metastore service. + */ + export interface Schema$GoogleCloudMetastoreV2alphaEndpoint { + /** + * Output only. The URI of the endpoint used to access the metastore service. + */ + endpointUri?: string | null; + /** + * Output only. The region where the endpoint is located. + */ + region?: string | null; + } + /** + * Request message for DataprocMetastore.ExportMetadata. + */ + export interface Schema$GoogleCloudMetastoreV2alphaExportMetadataRequest { + /** + * Optional. The type of the database dump. If unspecified, defaults to MYSQL. + */ + databaseDumpType?: string | null; + /** + * A Cloud Storage URI of a folder, in the format gs:///. A sub-folder containing exported files will be created below it. + */ + destinationGcsFolder?: string | null; + /** + * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format). A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. + */ + requestId?: string | null; + } + /** + * Specifies configuration information specific to running Hive metastore software as the metastore service. + */ + export interface Schema$GoogleCloudMetastoreV2alphaHiveMetastoreConfig { + /** + * Optional. A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. + */ + auxiliaryVersions?: { + [key: string]: Schema$GoogleCloudMetastoreV2alphaAuxiliaryVersionConfig; + } | null; + /** + * Optional. A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. + */ + configOverrides?: {[key: string]: string} | null; + /** + * Optional. The protocol to use for the metastore service endpoint. If unspecified, defaults to GRPC. + */ + endpointProtocol?: string | null; + /** + * Immutable. The Hive metastore schema version. + */ + version?: string | null; + } + /** + * Request message for DataprocMetastore.CreateMetadataImport. + */ + export interface Schema$GoogleCloudMetastoreV2alphaImportMetadataRequest { + /** + * Immutable. A database dump from a pre-existing metastore's database. + */ + databaseDump?: Schema$GoogleCloudMetastoreV2alphaDatabaseDump; + /** + * Optional. The description of the metadata import. + */ + description?: string | null; + /** + * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format). A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. + */ + requestId?: string | null; + } + /** + * The details of the latest scheduled backup. + */ + export interface Schema$GoogleCloudMetastoreV2alphaLatestBackup { + /** + * Output only. The ID of an in-progress scheduled backup. Empty if no backup is in progress. + */ + backupId?: string | null; + /** + * Output only. The duration of the backup completion. + */ + duration?: string | null; + /** + * Output only. The time when the backup was started. + */ + startTime?: string | null; + /** + * Output only. The current state of the backup. + */ + state?: string | null; + } + /** + * Represents the autoscaling limit configuration of a metastore service. + */ + export interface Schema$GoogleCloudMetastoreV2alphaLimitConfig { + /** + * Optional. The highest scaling factor that the service should be autoscaled to. + */ + maxScalingFactor?: number | null; + /** + * Optional. The lowest scaling factor that the service should be autoscaled to. + */ + minScalingFactor?: number | null; + } + /** + * Response message for DataprocMetastore.ListBackups. + */ + export interface Schema$GoogleCloudMetastoreV2alphaListBackupsResponse { + /** + * The backups of the specified service. + */ + backups?: Schema$GoogleCloudMetastoreV2alphaBackup[]; + /** + * A token that can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * Response message for DataprocMetastore.ListMigrationExecutions. + */ + export interface Schema$GoogleCloudMetastoreV2alphaListMigrationExecutionsResponse { + /** + * The migration executions on the specified service. + */ + migrationExecutions?: Schema$GoogleCloudMetastoreV2alphaMigrationExecution[]; + /** + * A token that can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * Response message for DataprocMetastore.ListServices. + */ + export interface Schema$GoogleCloudMetastoreV2alphaListServicesResponse { + /** + * A token that can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The services in the specified location. + */ + services?: Schema$GoogleCloudMetastoreV2alphaService[]; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * Specifies how metastore metadata should be integrated with external services. + */ + export interface Schema$GoogleCloudMetastoreV2alphaMetadataIntegration { + /** + * Optional. The integration config for the Data Catalog service. + */ + dataCatalogConfig?: Schema$GoogleCloudMetastoreV2alphaDataCatalogConfig; + } + /** + * The details of a migration execution resource. + */ + export interface Schema$GoogleCloudMetastoreV2alphaMigrationExecution { + /** + * Configuration information specific to migrating from self-managed hive metastore on Google Cloud using Cloud SQL as the backend database to Dataproc Metastore. + */ + cloudSqlMigrationConfig?: Schema$GoogleCloudMetastoreV2alphaCloudSQLMigrationConfig; + /** + * Output only. The time when the migration execution was started. + */ + createTime?: string | null; + /** + * Output only. The time when the migration execution finished. + */ + endTime?: string | null; + /** + * Output only. The relative resource name of the migration execution, in the following form: projects/{project_number\}/locations/{location_id\}/services/{service_id\}/migrationExecutions/{migration_execution_id\} + */ + name?: string | null; + /** + * Output only. The current phase of the migration execution. + */ + phase?: string | null; + /** + * Output only. The current state of the migration execution. + */ + state?: string | null; + /** + * Output only. Additional information about the current state of the migration execution. + */ + stateMessage?: string | null; + } + /** + * Request message for DataprocMetastore.MoveTableToDatabase. + */ + export interface Schema$GoogleCloudMetastoreV2alphaMoveTableToDatabaseRequest { + /** + * Required. The name of the database where the table resides. + */ + dbName?: string | null; + /** + * Required. The name of the database where the table should be moved. + */ + destinationDbName?: string | null; + /** + * Required. The name of the table to be moved. + */ + tableName?: string | null; + } + /** + * Request message for DataprocMetastore.QueryMetadata. + */ + export interface Schema$GoogleCloudMetastoreV2alphaQueryMetadataRequest { + /** + * Required. A read-only SQL query to execute against the metadata database. The query cannot change or mutate the data. + */ + query?: string | null; + } + /** + * Request message for DataprocMetastore.RemoveIamPolicy. + */ + export interface Schema$GoogleCloudMetastoreV2alphaRemoveIamPolicyRequest { + /** + * Optional. Removes IAM policy attached to database or table asynchronously when it is set. The default is false. + */ + asynchronous?: boolean | null; + } + /** + * Response message for DataprocMetastore.RemoveIamPolicy. + */ + export interface Schema$GoogleCloudMetastoreV2alphaRemoveIamPolicyResponse { + /** + * True if the policy is successfully removed. + */ + success?: boolean | null; + } + /** + * Request message for DataprocMetastore.Restore. + */ + export interface Schema$GoogleCloudMetastoreV2alphaRestoreServiceRequest { + /** + * Optional. The relative resource name of the metastore service backup to restore from, in the following form:projects/{project_id\}/locations/{location_id\}/services/{service_id\}/backups/{backup_id\}. Mutually exclusive with backup_location, and exactly one of the two must be set. + */ + backup?: string | null; + /** + * Optional. A Cloud Storage URI specifying the location of the backup artifacts, namely - backup avro files under "avro/", backup_metastore.json and service.json, in the following form:gs://. Mutually exclusive with backup, and exactly one of the two must be set. + */ + backupLocation?: string | null; + /** + * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format). A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. + */ + requestId?: string | null; + /** + * Optional. The type of restore. If unspecified, defaults to METADATA_ONLY. + */ + restoreType?: string | null; + } + /** + * Represents the scaling configuration of a metastore service. + */ + export interface Schema$GoogleCloudMetastoreV2alphaScalingConfig { + /** + * Optional. The autoscaling configuration. + */ + autoscalingConfig?: Schema$GoogleCloudMetastoreV2alphaAutoscalingConfig; + /** + * Optional. Scaling factor from 1 to 5, increments of 1. + */ + scalingFactor?: number | null; + } + /** + * This specifies the configuration of scheduled backup. + */ + export interface Schema$GoogleCloudMetastoreV2alphaScheduledBackup { + /** + * Optional. A Cloud Storage URI of a folder, in the format gs:///. A sub-folder containing backup files will be stored below it. + */ + backupLocation?: string | null; + /** + * Optional. The scheduled interval in Cron format, see https://en.wikipedia.org/wiki/Cron The default is empty: scheduled backup is not enabled. Must be specified to enable scheduled backups. + */ + cronSchedule?: string | null; + /** + * Optional. Defines whether the scheduled backup is enabled. The default value is false. + */ + enabled?: boolean | null; + /** + * Output only. The details of the latest scheduled backup. + */ + latestBackup?: Schema$GoogleCloudMetastoreV2alphaLatestBackup; + /** + * Output only. The time when the next backups execution is scheduled to start. + */ + nextScheduledTime?: string | null; + /** + * Optional. Specifies the time zone to be used when interpreting cron_schedule. Must be a time zone name from the time zone database (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones), e.g. America/Los_Angeles or Africa/Abidjan. If left unspecified, the default is UTC. + */ + timeZone?: string | null; + } + /** + * A managed metastore service that serves metadata queries. + */ + export interface Schema$GoogleCloudMetastoreV2alphaService { + /** + * Output only. The time when the metastore service was created. + */ + createTime?: string | null; + /** + * Immutable. Information used to configure the Dataproc Metastore service to encrypt customer data at rest. Cannot be updated. + */ + encryptionConfig?: Schema$GoogleCloudMetastoreV2alphaEncryptionConfig; + /** + * Output only. The list of endpoints used to access the metastore service. + */ + endpoints?: Schema$GoogleCloudMetastoreV2alphaEndpoint[]; + /** + * Configuration information specific to running Hive metastore software as the metastore service. + */ + hiveMetastoreConfig?: Schema$GoogleCloudMetastoreV2alphaHiveMetastoreConfig; + /** + * User-defined labels for the metastore service. + */ + labels?: {[key: string]: string} | null; + /** + * Optional. The setting that defines how metastore metadata should be integrated with external services and systems. + */ + metadataIntegration?: Schema$GoogleCloudMetastoreV2alphaMetadataIntegration; + /** + * Immutable. The relative resource name of the metastore service, in the following format:projects/{project_number\}/locations/{location_id\}/services/{service_id\}. + */ + name?: string | null; + /** + * Optional. Scaling configuration of the metastore service. + */ + scalingConfig?: Schema$GoogleCloudMetastoreV2alphaScalingConfig; + /** + * Optional. The configuration of scheduled backup for the metastore service. + */ + scheduledBackup?: Schema$GoogleCloudMetastoreV2alphaScheduledBackup; + /** + * Output only. The current state of the metastore service. + */ + state?: string | null; + /** + * Output only. Additional information about the current state of the metastore service, if available. + */ + stateMessage?: string | null; + /** + * Output only. The globally unique resource identifier of the metastore service. + */ + uid?: string | null; + /** + * Output only. The time when the metastore service was last updated. + */ + updateTime?: string | null; + /** + * Required. A Cloud Storage URI (starting with gs://) that specifies the default warehouse directory of the Hive Metastore. + */ + warehouseGcsUri?: string | null; + } + /** + * Request message for DataprocMetastore.StartMigration. + */ + export interface Schema$GoogleCloudMetastoreV2alphaStartMigrationRequest { + /** + * Required. The configuration details for the migration. + */ + migrationExecution?: Schema$GoogleCloudMetastoreV2alphaMigrationExecution; + /** + * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. + */ + requestId?: string | null; + } + /** + * This resource represents a long-running operation that is the result of a network API call. + */ + export interface Schema$GoogleLongrunningOperation { + /** + * If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available. + */ + done?: boolean | null; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$GoogleRpcStatus; + /** + * Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. + */ + metadata?: {[key: string]: any} | null; + /** + * The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id\}. + */ + name?: string | null; + /** + * The normal, successful response of the operation. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse. + */ + response?: {[key: string]: any} | null; + } + /** + * The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors). + */ + export interface Schema$GoogleRpcStatus { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number | null; + /** + * A list of messages that carry the error details. There is a common set of message types for APIs to use. + */ + details?: Array<{[key: string]: any}> | null; + /** + * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + */ + message?: string | null; + } + + export class Resource$Projects { + context: APIRequestContext; + locations: Resource$Projects$Locations; + constructor(context: APIRequestContext) { + this.context = context; + this.locations = new Resource$Projects$Locations(this.context); + } + } + + export class Resource$Projects$Locations { + context: APIRequestContext; + services: Resource$Projects$Locations$Services; + constructor(context: APIRequestContext) { + this.context = context; + this.services = new Resource$Projects$Locations$Services(this.context); + } + } + + export class Resource$Projects$Locations$Services { + context: APIRequestContext; + backups: Resource$Projects$Locations$Services$Backups; + migrationExecutions: Resource$Projects$Locations$Services$Migrationexecutions; + constructor(context: APIRequestContext) { + this.context = context; + this.backups = new Resource$Projects$Locations$Services$Backups( + this.context + ); + this.migrationExecutions = + new Resource$Projects$Locations$Services$Migrationexecutions( + this.context + ); + } + + /** + * Alter metadata resource location. The metadata resource can be a database, table, or partition. This functionality only updates the parent directory for the respective metadata resource and does not transfer any existing data to the new location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + alterLocation( + params: Params$Resource$Projects$Locations$Services$Alterlocation, + options: StreamMethodOptions + ): GaxiosPromise; + alterLocation( + params?: Params$Resource$Projects$Locations$Services$Alterlocation, + options?: MethodOptions + ): GaxiosPromise; + alterLocation( + params: Params$Resource$Projects$Locations$Services$Alterlocation, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + alterLocation( + params: Params$Resource$Projects$Locations$Services$Alterlocation, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + alterLocation( + params: Params$Resource$Projects$Locations$Services$Alterlocation, + callback: BodyResponseCallback + ): void; + alterLocation( + callback: BodyResponseCallback + ): void; + alterLocation( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Alterlocation + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Alterlocation; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Alterlocation; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2alpha/{+service}:alterLocation').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['service'], + pathParams: ['service'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Alter metadata table properties. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + alterTableProperties( + params: Params$Resource$Projects$Locations$Services$Altertableproperties, + options: StreamMethodOptions + ): GaxiosPromise; + alterTableProperties( + params?: Params$Resource$Projects$Locations$Services$Altertableproperties, + options?: MethodOptions + ): GaxiosPromise; + alterTableProperties( + params: Params$Resource$Projects$Locations$Services$Altertableproperties, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + alterTableProperties( + params: Params$Resource$Projects$Locations$Services$Altertableproperties, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + alterTableProperties( + params: Params$Resource$Projects$Locations$Services$Altertableproperties, + callback: BodyResponseCallback + ): void; + alterTableProperties( + callback: BodyResponseCallback + ): void; + alterTableProperties( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Altertableproperties + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Altertableproperties; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Altertableproperties; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2alpha/{+service}:alterTableProperties').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['service'], + pathParams: ['service'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Cancels the ongoing Managed Migration process. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + cancelMigration( + params: Params$Resource$Projects$Locations$Services$Cancelmigration, + options: StreamMethodOptions + ): GaxiosPromise; + cancelMigration( + params?: Params$Resource$Projects$Locations$Services$Cancelmigration, + options?: MethodOptions + ): GaxiosPromise; + cancelMigration( + params: Params$Resource$Projects$Locations$Services$Cancelmigration, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancelMigration( + params: Params$Resource$Projects$Locations$Services$Cancelmigration, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancelMigration( + params: Params$Resource$Projects$Locations$Services$Cancelmigration, + callback: BodyResponseCallback + ): void; + cancelMigration( + callback: BodyResponseCallback + ): void; + cancelMigration( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Cancelmigration + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Cancelmigration; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Cancelmigration; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2alpha/{+service}:cancelMigration').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['service'], + pathParams: ['service'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Completes the managed migration process. The Dataproc Metastore service will switch to using its own backend database after successful migration. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + completeMigration( + params: Params$Resource$Projects$Locations$Services$Completemigration, + options: StreamMethodOptions + ): GaxiosPromise; + completeMigration( + params?: Params$Resource$Projects$Locations$Services$Completemigration, + options?: MethodOptions + ): GaxiosPromise; + completeMigration( + params: Params$Resource$Projects$Locations$Services$Completemigration, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + completeMigration( + params: Params$Resource$Projects$Locations$Services$Completemigration, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + completeMigration( + params: Params$Resource$Projects$Locations$Services$Completemigration, + callback: BodyResponseCallback + ): void; + completeMigration( + callback: BodyResponseCallback + ): void; + completeMigration( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Completemigration + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Completemigration; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Completemigration; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2alpha/{+service}:completeMigration').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['service'], + pathParams: ['service'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Creates a metastore service in a project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Services$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Services$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Services$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Services$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Services$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Services$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2alpha/{+parent}/services').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a single service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Services$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Services$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Services$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Services$Delete, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Services$Delete, + callback: BodyResponseCallback + ): void; + delete( + callback: BodyResponseCallback + ): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Services$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Exports metadata from a service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + exportMetadata( + params: Params$Resource$Projects$Locations$Services$Exportmetadata, + options: StreamMethodOptions + ): GaxiosPromise; + exportMetadata( + params?: Params$Resource$Projects$Locations$Services$Exportmetadata, + options?: MethodOptions + ): GaxiosPromise; + exportMetadata( + params: Params$Resource$Projects$Locations$Services$Exportmetadata, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + exportMetadata( + params: Params$Resource$Projects$Locations$Services$Exportmetadata, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + exportMetadata( + params: Params$Resource$Projects$Locations$Services$Exportmetadata, + callback: BodyResponseCallback + ): void; + exportMetadata( + callback: BodyResponseCallback + ): void; + exportMetadata( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Exportmetadata + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Exportmetadata; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Exportmetadata; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2alpha/{+service}:exportMetadata').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['service'], + pathParams: ['service'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets the details of a single service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Services$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Services$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Services$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Services$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Services$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Services$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Imports Metadata into a Dataproc Metastore service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + importMetadata( + params: Params$Resource$Projects$Locations$Services$Importmetadata, + options: StreamMethodOptions + ): GaxiosPromise; + importMetadata( + params?: Params$Resource$Projects$Locations$Services$Importmetadata, + options?: MethodOptions + ): GaxiosPromise; + importMetadata( + params: Params$Resource$Projects$Locations$Services$Importmetadata, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + importMetadata( + params: Params$Resource$Projects$Locations$Services$Importmetadata, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + importMetadata( + params: Params$Resource$Projects$Locations$Services$Importmetadata, + callback: BodyResponseCallback + ): void; + importMetadata( + callback: BodyResponseCallback + ): void; + importMetadata( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Importmetadata + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Importmetadata; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Importmetadata; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2alpha/{+name}:importMetadata').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists services in a project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Services$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Services$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Services$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Services$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Services$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Services$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2alpha/{+parent}/services').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Move a table to another database. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + moveTableToDatabase( + params: Params$Resource$Projects$Locations$Services$Movetabletodatabase, + options: StreamMethodOptions + ): GaxiosPromise; + moveTableToDatabase( + params?: Params$Resource$Projects$Locations$Services$Movetabletodatabase, + options?: MethodOptions + ): GaxiosPromise; + moveTableToDatabase( + params: Params$Resource$Projects$Locations$Services$Movetabletodatabase, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + moveTableToDatabase( + params: Params$Resource$Projects$Locations$Services$Movetabletodatabase, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + moveTableToDatabase( + params: Params$Resource$Projects$Locations$Services$Movetabletodatabase, + callback: BodyResponseCallback + ): void; + moveTableToDatabase( + callback: BodyResponseCallback + ): void; + moveTableToDatabase( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Movetabletodatabase + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Movetabletodatabase; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Movetabletodatabase; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2alpha/{+service}:moveTableToDatabase').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['service'], + pathParams: ['service'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the parameters of a single service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Services$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Services$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Services$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Services$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Services$Patch, + callback: BodyResponseCallback + ): void; + patch( + callback: BodyResponseCallback + ): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Services$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Query Dataproc Metastore metadata. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + queryMetadata( + params: Params$Resource$Projects$Locations$Services$Querymetadata, + options: StreamMethodOptions + ): GaxiosPromise; + queryMetadata( + params?: Params$Resource$Projects$Locations$Services$Querymetadata, + options?: MethodOptions + ): GaxiosPromise; + queryMetadata( + params: Params$Resource$Projects$Locations$Services$Querymetadata, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + queryMetadata( + params: Params$Resource$Projects$Locations$Services$Querymetadata, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + queryMetadata( + params: Params$Resource$Projects$Locations$Services$Querymetadata, + callback: BodyResponseCallback + ): void; + queryMetadata( + callback: BodyResponseCallback + ): void; + queryMetadata( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Querymetadata + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Querymetadata; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Querymetadata; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2alpha/{+service}:queryMetadata').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['service'], + pathParams: ['service'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Removes the attached IAM policies for a resource + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + removeIamPolicy( + params: Params$Resource$Projects$Locations$Services$Removeiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + removeIamPolicy( + params?: Params$Resource$Projects$Locations$Services$Removeiampolicy, + options?: MethodOptions + ): GaxiosPromise; + removeIamPolicy( + params: Params$Resource$Projects$Locations$Services$Removeiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + removeIamPolicy( + params: Params$Resource$Projects$Locations$Services$Removeiampolicy, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + removeIamPolicy( + params: Params$Resource$Projects$Locations$Services$Removeiampolicy, + callback: BodyResponseCallback + ): void; + removeIamPolicy( + callback: BodyResponseCallback + ): void; + removeIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Removeiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Removeiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Removeiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2alpha/{+resource}:removeIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Restores a service from a backup. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + restore( + params: Params$Resource$Projects$Locations$Services$Restore, + options: StreamMethodOptions + ): GaxiosPromise; + restore( + params?: Params$Resource$Projects$Locations$Services$Restore, + options?: MethodOptions + ): GaxiosPromise; + restore( + params: Params$Resource$Projects$Locations$Services$Restore, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + restore( + params: Params$Resource$Projects$Locations$Services$Restore, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + restore( + params: Params$Resource$Projects$Locations$Services$Restore, + callback: BodyResponseCallback + ): void; + restore( + callback: BodyResponseCallback + ): void; + restore( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Restore + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Restore; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Services$Restore; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2alpha/{+service}:restore').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['service'], + pathParams: ['service'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Starts the Managed Migration process. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + startMigration( + params: Params$Resource$Projects$Locations$Services$Startmigration, + options: StreamMethodOptions + ): GaxiosPromise; + startMigration( + params?: Params$Resource$Projects$Locations$Services$Startmigration, + options?: MethodOptions + ): GaxiosPromise; + startMigration( + params: Params$Resource$Projects$Locations$Services$Startmigration, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + startMigration( + params: Params$Resource$Projects$Locations$Services$Startmigration, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + startMigration( + params: Params$Resource$Projects$Locations$Services$Startmigration, + callback: BodyResponseCallback + ): void; + startMigration( + callback: BodyResponseCallback + ): void; + startMigration( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Startmigration + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Startmigration; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Startmigration; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2alpha/{+service}:startMigration').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['service'], + pathParams: ['service'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Services$Alterlocation + extends StandardParameters { + /** + * Required. The relative resource name of the metastore service to mutate metadata, in the following format:projects/{project_id\}/locations/{location_id\}/services/{service_id\}. + */ + service?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2alphaAlterMetadataResourceLocationRequest; + } + export interface Params$Resource$Projects$Locations$Services$Altertableproperties + extends StandardParameters { + /** + * Required. The relative resource name of the Dataproc Metastore service that's being used to mutate metadata table properties, in the following format:projects/{project_id\}/locations/{location_id\}/services/{service_id\}. + */ + service?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2alphaAlterTablePropertiesRequest; + } + export interface Params$Resource$Projects$Locations$Services$Cancelmigration + extends StandardParameters { + /** + * Required. The relative resource name of the metastore service to cancel the ongoing migration to, in the following format:projects/{project_id\}/locations/{location_id\}/services/{service_id\}. + */ + service?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2alphaCancelMigrationRequest; + } + export interface Params$Resource$Projects$Locations$Services$Completemigration + extends StandardParameters { + /** + * Required. The relative resource name of the metastore service to complete the migration to, in the following format:projects/{project_id\}/locations/{location_id\}/services/{service_id\}. + */ + service?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2alphaCompleteMigrationRequest; + } + export interface Params$Resource$Projects$Locations$Services$Create + extends StandardParameters { + /** + * Required. The relative resource name of the location in which to create a metastore service, in the following form:projects/{project_number\}/locations/{location_id\}. + */ + parent?: string; + /** + * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. + */ + requestId?: string; + /** + * Required. The ID of the metastore service, which is used as the final component of the metastore service's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens. + */ + serviceId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2alphaService; + } + export interface Params$Resource$Projects$Locations$Services$Delete + extends StandardParameters { + /** + * Required. The relative resource name of the metastore service to delete, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}. + */ + name?: string; + /** + * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. + */ + requestId?: string; + } + export interface Params$Resource$Projects$Locations$Services$Exportmetadata + extends StandardParameters { + /** + * Required. The relative resource name of the metastore service to run export, in the following form:projects/{project_id\}/locations/{location_id\}/services/{service_id\}. + */ + service?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2alphaExportMetadataRequest; + } + export interface Params$Resource$Projects$Locations$Services$Get + extends StandardParameters { + /** + * Required. The relative resource name of the metastore service to retrieve, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Services$Importmetadata + extends StandardParameters { + /** + * Immutable. The relative resource name of the metastore service to run import, in the following form:projects/{project_id\}/locations/{location_id\}/services/{service_id\}. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2alphaImportMetadataRequest; + } + export interface Params$Resource$Projects$Locations$Services$List + extends StandardParameters { + /** + * Optional. The filter to apply to list results. + */ + filter?: string; + /** + * Optional. Specify the ordering of results as described in Sorting Order (https://cloud.google.com/apis/design/design_patterns#sorting_order). If not specified, the results will be sorted in the default order. + */ + orderBy?: string; + /** + * Optional. The maximum number of services to return. The response may contain less than the maximum number. If unspecified, no more than 500 services are returned. The maximum value is 1000; values above 1000 are changed to 1000. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous DataprocMetastore.ListServices call. Provide this token to retrieve the subsequent page.To retrieve the first page, supply an empty page token.When paginating, other parameters provided to DataprocMetastore.ListServices must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The relative resource name of the location of metastore services to list, in the following form:projects/{project_number\}/locations/{location_id\}. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Services$Movetabletodatabase + extends StandardParameters { + /** + * Required. The relative resource name of the metastore service to mutate metadata, in the following format:projects/{project_id\}/locations/{location_id\}/services/{service_id\}. + */ + service?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2alphaMoveTableToDatabaseRequest; + } + export interface Params$Resource$Projects$Locations$Services$Patch + extends StandardParameters { + /** + * Immutable. The relative resource name of the metastore service, in the following format:projects/{project_number\}/locations/{location_id\}/services/{service_id\}. + */ + name?: string; + /** + * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. + */ + requestId?: string; + /** + * Required. A field mask used to specify the fields to be overwritten in the metastore service resource by the update. Fields specified in the update_mask are relative to the resource (not to the full request). A field is overwritten if it is in the mask. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2alphaService; + } + export interface Params$Resource$Projects$Locations$Services$Querymetadata + extends StandardParameters { + /** + * Required. The relative resource name of the metastore service to query metadata, in the following format:projects/{project_id\}/locations/{location_id\}/services/{service_id\}. + */ + service?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2alphaQueryMetadataRequest; + } + export interface Params$Resource$Projects$Locations$Services$Removeiampolicy + extends StandardParameters { + /** + * Required. The relative resource name of the dataplane resource to remove IAM policy, in the following form:projects/{project_id\}/locations/{location_id\}/services/{service_id\}/databases/{database_id\} or projects/{project_id\}/locations/{location_id\}/services/{service_id\}/databases/{database_id\}/tables/{table_id\}. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2alphaRemoveIamPolicyRequest; + } + export interface Params$Resource$Projects$Locations$Services$Restore + extends StandardParameters { + /** + * Required. The relative resource name of the metastore service to run restore, in the following form:projects/{project_id\}/locations/{location_id\}/services/{service_id\}. + */ + service?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2alphaRestoreServiceRequest; + } + export interface Params$Resource$Projects$Locations$Services$Startmigration + extends StandardParameters { + /** + * Required. The relative resource name of the metastore service to start migrating to, in the following format:projects/{project_id\}/locations/{location_id\}/services/{service_id\}. + */ + service?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2alphaStartMigrationRequest; + } + + export class Resource$Projects$Locations$Services$Backups { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new backup in a given project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Services$Backups$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Services$Backups$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Services$Backups$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Services$Backups$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Services$Backups$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Backups$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Backups$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Backups$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2alpha/{+parent}/backups').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a single backup. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Services$Backups$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Services$Backups$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Services$Backups$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Services$Backups$Delete, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Services$Backups$Delete, + callback: BodyResponseCallback + ): void; + delete( + callback: BodyResponseCallback + ): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Backups$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Backups$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Backups$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of a single backup. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Services$Backups$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Services$Backups$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Services$Backups$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Services$Backups$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Services$Backups$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Backups$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Backups$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Services$Backups$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Lists backups in a service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Services$Backups$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Services$Backups$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Services$Backups$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Services$Backups$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Services$Backups$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Backups$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Backups$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Services$Backups$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2alpha/{+parent}/backups').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Services$Backups$Create + extends StandardParameters { + /** + * Required. The ID of the backup, which is used as the final component of the backup's name.This value must be between 1 and 64 characters long, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens. + */ + backupId?: string; + /** + * Required. The relative resource name of the service in which to create a backup of the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}. + */ + parent?: string; + /** + * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2alphaBackup; + } + export interface Params$Resource$Projects$Locations$Services$Backups$Delete + extends StandardParameters { + /** + * Required. The relative resource name of the backup to delete, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/backups/{backup_id\}. + */ + name?: string; + /** + * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. + */ + requestId?: string; + } + export interface Params$Resource$Projects$Locations$Services$Backups$Get + extends StandardParameters { + /** + * Required. The relative resource name of the backup to retrieve, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/backups/{backup_id\}. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Services$Backups$List + extends StandardParameters { + /** + * Optional. The filter to apply to list results. + */ + filter?: string; + /** + * Optional. Specify the ordering of results as described in Sorting Order (https://cloud.google.com/apis/design/design_patterns#sorting_order). If not specified, the results will be sorted in the default order. + */ + orderBy?: string; + /** + * Optional. The maximum number of backups to return. The response may contain less than the maximum number. If unspecified, no more than 500 backups are returned. The maximum value is 1000; values above 1000 are changed to 1000. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous DataprocMetastore.ListBackups call. Provide this token to retrieve the subsequent page.To retrieve the first page, supply an empty page token.When paginating, other parameters provided to DataprocMetastore.ListBackups must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The relative resource name of the service whose backups to list, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/backups. + */ + parent?: string; + } + + export class Resource$Projects$Locations$Services$Migrationexecutions { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Deletes a single migration execution. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Services$Migrationexecutions$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Services$Migrationexecutions$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Services$Migrationexecutions$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Services$Migrationexecutions$Delete, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Services$Migrationexecutions$Delete, + callback: BodyResponseCallback + ): void; + delete( + callback: BodyResponseCallback + ): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Migrationexecutions$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Migrationexecutions$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Migrationexecutions$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of a single migration execution. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Services$Migrationexecutions$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Services$Migrationexecutions$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Services$Migrationexecutions$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Services$Migrationexecutions$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Services$Migrationexecutions$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Migrationexecutions$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Migrationexecutions$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Migrationexecutions$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2alpha/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Lists migration executions on a service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Services$Migrationexecutions$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Services$Migrationexecutions$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Services$Migrationexecutions$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Services$Migrationexecutions$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Services$Migrationexecutions$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Migrationexecutions$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Migrationexecutions$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Migrationexecutions$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2alpha/{+parent}/migrationExecutions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Services$Migrationexecutions$Delete + extends StandardParameters { + /** + * Required. The relative resource name of the migrationExecution to delete, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/migrationExecutions/{migration_execution_id\}. + */ + name?: string; + /** + * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. + */ + requestId?: string; + } + export interface Params$Resource$Projects$Locations$Services$Migrationexecutions$Get + extends StandardParameters { + /** + * Required. The relative resource name of the migration execution to retrieve, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/migrationExecutions/{migration_execution_id\}. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Services$Migrationexecutions$List + extends StandardParameters { + /** + * Optional. The filter to apply to list results. + */ + filter?: string; + /** + * Optional. Specify the ordering of results as described in Sorting Order (https://cloud.google.com/apis/design/design_patterns#sorting_order). If not specified, the results will be sorted in the default order. + */ + orderBy?: string; + /** + * Optional. The maximum number of migration executions to return. The response may contain less than the maximum number. If unspecified, no more than 500 migration executions are returned. The maximum value is 1000; values above 1000 are changed to 1000. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous DataprocMetastore.ListMigrationExecutions call. Provide this token to retrieve the subsequent page.To retrieve the first page, supply an empty page token.When paginating, other parameters provided to DataprocMetastore.ListMigrationExecutions must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The relative resource name of the service whose migration executions to list, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/migrationExecutions. + */ + parent?: string; + } +} diff --git a/src/apis/metastore/v2beta.ts b/src/apis/metastore/v2beta.ts new file mode 100644 index 0000000000..cd9e5cb6dd --- /dev/null +++ b/src/apis/metastore/v2beta.ts @@ -0,0 +1,3701 @@ +// Copyright 2020 Google LLC +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/no-empty-interface */ +/* eslint-disable @typescript-eslint/no-namespace */ +/* eslint-disable no-irregular-whitespace */ + +import { + OAuth2Client, + JWT, + Compute, + UserRefreshClient, + BaseExternalAccountClient, + GaxiosPromise, + GoogleConfigurable, + createAPIRequest, + MethodOptions, + StreamMethodOptions, + GlobalOptions, + GoogleAuth, + BodyResponseCallback, + APIRequestContext, +} from 'googleapis-common'; +import {Readable} from 'stream'; + +export namespace metastore_v2beta { + export interface Options extends GlobalOptions { + version: 'v2beta'; + } + + interface StandardParameters { + /** + * Auth client or API Key for the request + */ + auth?: + | string + | OAuth2Client + | JWT + | Compute + | UserRefreshClient + | BaseExternalAccountClient + | GoogleAuth; + + /** + * V1 error format. + */ + '$.xgafv'?: string; + /** + * OAuth access token. + */ + access_token?: string; + /** + * Data format for response. + */ + alt?: string; + /** + * JSONP + */ + callback?: string; + /** + * Selector specifying which fields to include in a partial response. + */ + fields?: string; + /** + * API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + */ + key?: string; + /** + * OAuth 2.0 token for the current user. + */ + oauth_token?: string; + /** + * Returns response with indentations and line breaks. + */ + prettyPrint?: boolean; + /** + * Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + */ + quotaUser?: string; + /** + * Legacy upload protocol for media (e.g. "media", "multipart"). + */ + uploadType?: string; + /** + * Upload protocol for media (e.g. "raw", "multipart"). + */ + upload_protocol?: string; + } + + /** + * Dataproc Metastore API + * + * The Dataproc Metastore API is used to manage the lifecycle and configuration of metastore services. + * + * @example + * ```js + * const {google} = require('googleapis'); + * const metastore = google.metastore('v2beta'); + * ``` + */ + export class Metastore { + context: APIRequestContext; + projects: Resource$Projects; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.projects = new Resource$Projects(this.context); + } + } + + /** + * Response message for DataprocMetastore.AlterMetadataResourceLocation. + */ + export interface Schema$GoogleCloudMetastoreV1alphaAlterMetadataResourceLocationResponse {} + /** + * Response message for DataprocMetastore.CancelMigration. + */ + export interface Schema$GoogleCloudMetastoreV1alphaCancelMigrationResponse { + /** + * The relative resource name of the migration execution, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/migrationExecutions/{migration_execution_id\}. + */ + migrationExecution?: string | null; + } + /** + * Response message for DataprocMetastore.CompleteMigration. + */ + export interface Schema$GoogleCloudMetastoreV1alphaCompleteMigrationResponse { + /** + * The relative resource name of the migration execution, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/migrationExecutions/{migration_execution_id\}. + */ + migrationExecution?: string | null; + } + /** + * Metadata about a custom region. This is only populated if the region is a custom region. For single/multi regions, it will be empty. + */ + export interface Schema$GoogleCloudMetastoreV1alphaCustomRegionMetadata { + /** + * The read-only regions for this custom region. + */ + optionalReadOnlyRegions?: string[] | null; + /** + * The read-write regions for this custom region. + */ + requiredReadWriteRegions?: string[] | null; + /** + * The Spanner witness region for this custom region. + */ + witnessRegion?: string | null; + } + /** + * Error details in public error message for DataprocMetastore.QueryMetadata. + */ + export interface Schema$GoogleCloudMetastoreV1alphaErrorDetails { + /** + * Additional structured details about this error.Keys define the failure items. Value describes the exception or details of the item. + */ + details?: {[key: string]: string} | null; + } + /** + * A specification of a supported version of the Hive Metastore software. + */ + export interface Schema$GoogleCloudMetastoreV1alphaHiveMetastoreVersion { + /** + * Whether version will be chosen by the server if a metastore service is created with a HiveMetastoreConfig that omits the version. + */ + isDefault?: boolean | null; + /** + * The semantic version of the Hive Metastore software. + */ + version?: string | null; + } + /** + * Metadata about the service in a location. + */ + export interface Schema$GoogleCloudMetastoreV1alphaLocationMetadata { + /** + * Possible configurations supported if the current region is a custom region. + */ + customRegionMetadata?: Schema$GoogleCloudMetastoreV1alphaCustomRegionMetadata[]; + /** + * The multi-region metadata if the current region is a multi-region. + */ + multiRegionMetadata?: Schema$GoogleCloudMetastoreV1alphaMultiRegionMetadata; + /** + * The versions of Hive Metastore that can be used when creating a new metastore service in this location. The server guarantees that exactly one HiveMetastoreVersion in the list will set is_default. + */ + supportedHiveMetastoreVersions?: Schema$GoogleCloudMetastoreV1alphaHiveMetastoreVersion[]; + } + /** + * Response message for DataprocMetastore.MoveTableToDatabase. + */ + export interface Schema$GoogleCloudMetastoreV1alphaMoveTableToDatabaseResponse {} + /** + * The metadata for the multi-region that includes the constituent regions. The metadata is only populated if the region is multi-region. For single region or custom dual region, it will be empty. + */ + export interface Schema$GoogleCloudMetastoreV1alphaMultiRegionMetadata { + /** + * The regions constituting the multi-region. + */ + constituentRegions?: string[] | null; + } + /** + * Represents the metadata of a long-running operation. + */ + export interface Schema$GoogleCloudMetastoreV1alphaOperationMetadata { + /** + * Output only. API version used to start the operation. + */ + apiVersion?: string | null; + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED. + */ + requestedCancellation?: boolean | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; + /** + * Output only. Server-defined resource path for the target of the operation. + */ + target?: string | null; + /** + * Output only. Name of the verb executed by the operation. + */ + verb?: string | null; + } + /** + * Response message for DataprocMetastore.QueryMetadata. + */ + export interface Schema$GoogleCloudMetastoreV1alphaQueryMetadataResponse { + /** + * The manifest URI is link to a JSON instance in Cloud Storage. This instance manifests immediately along with QueryMetadataResponse. The content of the URI is not retriable until the long-running operation query against the metadata finishes. + */ + resultManifestUri?: string | null; + } + /** + * Response message for DataprocMetastore.AlterMetadataResourceLocation. + */ + export interface Schema$GoogleCloudMetastoreV1AlterMetadataResourceLocationResponse {} + /** + * Response message for DataprocMetastore.AlterMetadataResourceLocation. + */ + export interface Schema$GoogleCloudMetastoreV1betaAlterMetadataResourceLocationResponse {} + /** + * Response message for DataprocMetastore.CancelMigration. + */ + export interface Schema$GoogleCloudMetastoreV1betaCancelMigrationResponse { + /** + * The relative resource name of the migration execution, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/migrationExecutions/{migration_execution_id\}. + */ + migrationExecution?: string | null; + } + /** + * Response message for DataprocMetastore.CompleteMigration. + */ + export interface Schema$GoogleCloudMetastoreV1betaCompleteMigrationResponse { + /** + * The relative resource name of the migration execution, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/migrationExecutions/{migration_execution_id\}. + */ + migrationExecution?: string | null; + } + /** + * Metadata about a custom region. This is only populated if the region is a custom region. For single/multi regions, it will be empty. + */ + export interface Schema$GoogleCloudMetastoreV1betaCustomRegionMetadata { + /** + * The read-only regions for this custom region. + */ + optionalReadOnlyRegions?: string[] | null; + /** + * The read-write regions for this custom region. + */ + requiredReadWriteRegions?: string[] | null; + /** + * The Spanner witness region for this custom region. + */ + witnessRegion?: string | null; + } + /** + * Error details in public error message for DataprocMetastore.QueryMetadata. + */ + export interface Schema$GoogleCloudMetastoreV1betaErrorDetails { + /** + * Additional structured details about this error.Keys define the failure items. Value describes the exception or details of the item. + */ + details?: {[key: string]: string} | null; + } + /** + * A specification of a supported version of the Hive Metastore software. + */ + export interface Schema$GoogleCloudMetastoreV1betaHiveMetastoreVersion { + /** + * Whether version will be chosen by the server if a metastore service is created with a HiveMetastoreConfig that omits the version. + */ + isDefault?: boolean | null; + /** + * The semantic version of the Hive Metastore software. + */ + version?: string | null; + } + /** + * Metadata about the service in a location. + */ + export interface Schema$GoogleCloudMetastoreV1betaLocationMetadata { + /** + * Possible configurations supported if the current region is a custom region. + */ + customRegionMetadata?: Schema$GoogleCloudMetastoreV1betaCustomRegionMetadata[]; + /** + * The multi-region metadata if the current region is a multi-region. + */ + multiRegionMetadata?: Schema$GoogleCloudMetastoreV1betaMultiRegionMetadata; + /** + * The versions of Hive Metastore that can be used when creating a new metastore service in this location. The server guarantees that exactly one HiveMetastoreVersion in the list will set is_default. + */ + supportedHiveMetastoreVersions?: Schema$GoogleCloudMetastoreV1betaHiveMetastoreVersion[]; + } + /** + * Response message for DataprocMetastore.MoveTableToDatabase. + */ + export interface Schema$GoogleCloudMetastoreV1betaMoveTableToDatabaseResponse {} + /** + * The metadata for the multi-region that includes the constituent regions. The metadata is only populated if the region is multi-region. For single region or custom dual region, it will be empty. + */ + export interface Schema$GoogleCloudMetastoreV1betaMultiRegionMetadata { + /** + * The regions constituting the multi-region. + */ + constituentRegions?: string[] | null; + } + /** + * Represents the metadata of a long-running operation. + */ + export interface Schema$GoogleCloudMetastoreV1betaOperationMetadata { + /** + * Output only. API version used to start the operation. + */ + apiVersion?: string | null; + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED. + */ + requestedCancellation?: boolean | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; + /** + * Output only. Server-defined resource path for the target of the operation. + */ + target?: string | null; + /** + * Output only. Name of the verb executed by the operation. + */ + verb?: string | null; + } + /** + * Response message for DataprocMetastore.QueryMetadata. + */ + export interface Schema$GoogleCloudMetastoreV1betaQueryMetadataResponse { + /** + * The manifest URI is link to a JSON instance in Cloud Storage. This instance manifests immediately along with QueryMetadataResponse. The content of the URI is not retriable until the long-running operation query against the metadata finishes. + */ + resultManifestUri?: string | null; + } + /** + * Metadata about a custom region. This is only populated if the region is a custom region. For single/multi regions, it will be empty. + */ + export interface Schema$GoogleCloudMetastoreV1CustomRegionMetadata { + /** + * The read-only regions for this custom region. + */ + optionalReadOnlyRegions?: string[] | null; + /** + * The read-write regions for this custom region. + */ + requiredReadWriteRegions?: string[] | null; + /** + * The Spanner witness region for this custom region. + */ + witnessRegion?: string | null; + } + /** + * Error details in public error message for DataprocMetastore.QueryMetadata. + */ + export interface Schema$GoogleCloudMetastoreV1ErrorDetails { + /** + * Additional structured details about this error.Keys define the failure items. Value describes the exception or details of the item. + */ + details?: {[key: string]: string} | null; + } + /** + * A specification of a supported version of the Hive Metastore software. + */ + export interface Schema$GoogleCloudMetastoreV1HiveMetastoreVersion { + /** + * Whether version will be chosen by the server if a metastore service is created with a HiveMetastoreConfig that omits the version. + */ + isDefault?: boolean | null; + /** + * The semantic version of the Hive Metastore software. + */ + version?: string | null; + } + /** + * Metadata about the service in a location. + */ + export interface Schema$GoogleCloudMetastoreV1LocationMetadata { + /** + * Possible configurations supported if the current region is a custom region. + */ + customRegionMetadata?: Schema$GoogleCloudMetastoreV1CustomRegionMetadata[]; + /** + * The multi-region metadata if the current region is a multi-region. + */ + multiRegionMetadata?: Schema$GoogleCloudMetastoreV1MultiRegionMetadata; + /** + * The versions of Hive Metastore that can be used when creating a new metastore service in this location. The server guarantees that exactly one HiveMetastoreVersion in the list will set is_default. + */ + supportedHiveMetastoreVersions?: Schema$GoogleCloudMetastoreV1HiveMetastoreVersion[]; + } + /** + * Response message for DataprocMetastore.MoveTableToDatabase. + */ + export interface Schema$GoogleCloudMetastoreV1MoveTableToDatabaseResponse {} + /** + * The metadata for the multi-region that includes the constituent regions. The metadata is only populated if the region is multi-region. For single region or custom dual region, it will be empty. + */ + export interface Schema$GoogleCloudMetastoreV1MultiRegionMetadata { + /** + * The regions constituting the multi-region. + */ + constituentRegions?: string[] | null; + } + /** + * Represents the metadata of a long-running operation. + */ + export interface Schema$GoogleCloudMetastoreV1OperationMetadata { + /** + * Output only. API version used to start the operation. + */ + apiVersion?: string | null; + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Identifies whether the caller has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to Code.CANCELLED. + */ + requestedCancellation?: boolean | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; + /** + * Output only. Server-defined resource path for the target of the operation. + */ + target?: string | null; + /** + * Output only. Name of the verb executed by the operation. + */ + verb?: string | null; + } + /** + * Response message for DataprocMetastore.QueryMetadata. + */ + export interface Schema$GoogleCloudMetastoreV1QueryMetadataResponse { + /** + * The manifest URI is link to a JSON instance in Cloud Storage. This instance manifests immediately along with QueryMetadataResponse. The content of the URI is not retriable until the long-running operation query against the metadata finishes. + */ + resultManifestUri?: string | null; + } + /** + * Request message for DataprocMetastore.AlterMetadataResourceLocation. + */ + export interface Schema$GoogleCloudMetastoreV2betaAlterMetadataResourceLocationRequest { + /** + * Required. The new location URI for the metadata resource. + */ + locationUri?: string | null; + /** + * Required. The relative metadata resource name in the following format.databases/{database_id\} or databases/{database_id\}/tables/{table_id\} or databases/{database_id\}/tables/{table_id\}/partitions/{partition_id\} + */ + resourceName?: string | null; + } + /** + * Request message for DataprocMetastore.AlterTableProperties. + */ + export interface Schema$GoogleCloudMetastoreV2betaAlterTablePropertiesRequest { + /** + * A map that describes the desired values to mutate. If update_mask is empty, the properties will not update. Otherwise, the properties only alters the value whose associated paths exist in the update mask + */ + properties?: {[key: string]: string} | null; + /** + * Required. The name of the table containing the properties you're altering in the following format.databases/{database_id\}/tables/{table_id\} + */ + tableName?: string | null; + /** + * A field mask that specifies the metadata table properties that are overwritten by the update. Fields specified in the update_mask are relative to the resource (not to the full request). A field is overwritten if it is in the mask.For example, given the target properties: properties { a: 1 b: 2 \} And an update properties: properties { a: 2 b: 3 c: 4 \} then if the field mask is:paths: "properties.b", "properties.c"then the result will be: properties { a: 1 b: 3 c: 4 \} + */ + updateMask?: string | null; + } + /** + * Represents the autoscaling configuration of a metastore service. + */ + export interface Schema$GoogleCloudMetastoreV2betaAutoscalingConfig { + /** + * Optional. Whether or not autoscaling is enabled for this service. + */ + autoscalingEnabled?: boolean | null; + /** + * Output only. The scaling factor of a service with autoscaling enabled. + */ + autoscalingFactor?: number | null; + /** + * Optional. The LimitConfig of the service. + */ + limitConfig?: Schema$GoogleCloudMetastoreV2betaLimitConfig; + } + /** + * Configuration information for the auxiliary service versions. + */ + export interface Schema$GoogleCloudMetastoreV2betaAuxiliaryVersionConfig { + /** + * A mapping of Hive metastore configuration key-value pairs to apply to the auxiliary Hive metastore (configured in hive-site.xml) in addition to the primary version's overrides. If keys are present in both the auxiliary version's overrides and the primary version's overrides, the value from the auxiliary version's overrides takes precedence. + */ + configOverrides?: {[key: string]: string} | null; + /** + * Output only. The list of endpoints used to access the auxiliary metastore service, includes version and region data. + */ + endpoints?: Schema$GoogleCloudMetastoreV2betaEndpoint[]; + /** + * The Hive metastore version of the auxiliary service. It must be less than the primary Hive metastore service's version. + */ + version?: string | null; + } + /** + * The details of a backup resource. + */ + export interface Schema$GoogleCloudMetastoreV2betaBackup { + /** + * Output only. The time when the backup was started. + */ + createTime?: string | null; + /** + * The description of the backup. + */ + description?: string | null; + /** + * Output only. The time when the backup finished creating. + */ + endTime?: string | null; + /** + * Immutable. The relative resource name of the backup, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/backups/{backup_id\} + */ + name?: string | null; + /** + * Output only. Services that are restoring from the backup. + */ + restoringServices?: string[] | null; + /** + * Output only. The revision of the service at the time of backup. + */ + serviceRevision?: Schema$GoogleCloudMetastoreV2betaService; + /** + * Output only. The current state of the backup. + */ + state?: string | null; + } + /** + * Request message for DataprocMetastore.CancelMigration. + */ + export interface Schema$GoogleCloudMetastoreV2betaCancelMigrationRequest {} + /** + * Configuration information to start the Change Data Capture (CDC) streams from customer database to backend database of Dataproc Metastore. + */ + export interface Schema$GoogleCloudMetastoreV2betaCdcConfig { + /** + * Optional. The bucket to write the intermediate stream event data in. The bucket name must be without any prefix like "gs://". See the bucket naming requirements (https://cloud.google.com/storage/docs/buckets#naming). This field is optional. If not set, the Artifacts Cloud Storage bucket will be used. + */ + bucket?: string | null; + /** + * Required. Input only. The password for the user that Datastream service should use for the MySQL connection. This field is not returned on request. + */ + password?: string | null; + /** + * Required. The URL of the subnetwork resource to create the VM instance hosting the reverse proxy in. More context in https://cloud.google.com/datastream/docs/private-connectivity#reverse-csql-proxy The subnetwork should reside in the network provided in the request that Datastream will peer to and should be in the same region as Datastream, in the following format. projects/{project_id\}/regions/{region_id\}/subnetworks/{subnetwork_id\} + */ + reverseProxySubnet?: string | null; + /** + * Optional. The root path inside the Cloud Storage bucket. The stream event data will be written to this path. The default value is /migration. + */ + rootPath?: string | null; + /** + * Required. A /29 CIDR IP range for peering with datastream. + */ + subnetIpRange?: string | null; + /** + * Required. The username that the Datastream service should use for the MySQL connection. + */ + username?: string | null; + /** + * Required. Fully qualified name of the Cloud SQL instance's VPC network or the shared VPC network that Datastream will peer to, in the following format: projects/{project_id\}/locations/global/networks/{network_id\}. More context in https://cloud.google.com/datastream/docs/network-connectivity-options#privateconnectivity + */ + vpcNetwork?: string | null; + } + /** + * Configuration information to establish customer database connection before the cutover phase of migration + */ + export interface Schema$GoogleCloudMetastoreV2betaCloudSQLConnectionConfig { + /** + * Required. The hive database name. + */ + hiveDatabaseName?: string | null; + /** + * Required. Cloud SQL database connection name (project_id:region:instance_name) + */ + instanceConnectionName?: string | null; + /** + * Required. The private IP address of the Cloud SQL instance. + */ + ipAddress?: string | null; + /** + * Required. The relative resource name of the subnetwork to be used for Private Service Connect. Note that this cannot be a regular subnet and is used only for NAT. (https://cloud.google.com/vpc/docs/about-vpc-hosted-services#psc-subnets) This subnet is used to publish the SOCKS5 proxy service. The subnet size must be at least /29 and it should reside in a network through which the Cloud SQL instance is accessible. The resource name should be in the format, projects/{project_id\}/regions/{region_id\}/subnetworks/{subnetwork_id\} + */ + natSubnet?: string | null; + /** + * Required. Input only. The password for the user that Dataproc Metastore service will be using to connect to the database. This field is not returned on request. + */ + password?: string | null; + /** + * Required. The network port of the database. + */ + port?: number | null; + /** + * Required. The relative resource name of the subnetwork to deploy the SOCKS5 proxy service in. The subnetwork should reside in a network through which the Cloud SQL instance is accessible. The resource name should be in the format, projects/{project_id\}/regions/{region_id\}/subnetworks/{subnetwork_id\} + */ + proxySubnet?: string | null; + /** + * Required. The username that Dataproc Metastore service will use to connect to the database. + */ + username?: string | null; + } + /** + * Configuration information for migrating from self-managed hive metastore on Google Cloud using Cloud SQL as the backend database to Dataproc Metastore. + */ + export interface Schema$GoogleCloudMetastoreV2betaCloudSQLMigrationConfig { + /** + * Required. Configuration information to start the Change Data Capture (CDC) streams from customer database to backend database of Dataproc Metastore. Dataproc Metastore switches to using its backend database after the cutover phase of migration. + */ + cdcConfig?: Schema$GoogleCloudMetastoreV2betaCdcConfig; + /** + * Required. Configuration information to establish customer database connection before the cutover phase of migration + */ + cloudSqlConnectionConfig?: Schema$GoogleCloudMetastoreV2betaCloudSQLConnectionConfig; + } + /** + * Request message for DataprocMetastore.CompleteMigration. + */ + export interface Schema$GoogleCloudMetastoreV2betaCompleteMigrationRequest {} + /** + * A specification of the location of and metadata about a database dump from a relational database management system. + */ + export interface Schema$GoogleCloudMetastoreV2betaDatabaseDump { + /** + * Required. A Cloud Storage object or folder URI that specifies the source from which to import metadata. It must begin with gs://. + */ + gcsUri?: string | null; + /** + * Optional. The type of the database dump. If unspecified, defaults to MYSQL. + */ + type?: string | null; + } + /** + * Specifies how metastore metadata should be integrated with the Data Catalog service. + */ + export interface Schema$GoogleCloudMetastoreV2betaDataCatalogConfig { + /** + * Optional. Defines whether the metastore metadata should be synced to Data Catalog. The default value is to disable syncing metastore metadata to Data Catalog. + */ + enabled?: boolean | null; + } + /** + * Encryption settings for the service. + */ + export interface Schema$GoogleCloudMetastoreV2betaEncryptionConfig {} + /** + * An endpoint used to access the metastore service. + */ + export interface Schema$GoogleCloudMetastoreV2betaEndpoint { + /** + * Output only. The URI of the endpoint used to access the metastore service. + */ + endpointUri?: string | null; + /** + * Output only. The region where the endpoint is located. + */ + region?: string | null; + } + /** + * Request message for DataprocMetastore.ExportMetadata. + */ + export interface Schema$GoogleCloudMetastoreV2betaExportMetadataRequest { + /** + * Optional. The type of the database dump. If unspecified, defaults to MYSQL. + */ + databaseDumpType?: string | null; + /** + * A Cloud Storage URI of a folder, in the format gs:///. A sub-folder containing exported files will be created below it. + */ + destinationGcsFolder?: string | null; + /** + * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format). A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. + */ + requestId?: string | null; + } + /** + * Specifies configuration information specific to running Hive metastore software as the metastore service. + */ + export interface Schema$GoogleCloudMetastoreV2betaHiveMetastoreConfig { + /** + * Optional. A mapping of Hive metastore version to the auxiliary version configuration. When specified, a secondary Hive metastore service is created along with the primary service. All auxiliary versions must be less than the service's primary version. The key is the auxiliary service name and it must match the regular expression a-z?. This means that the first character must be a lowercase letter, and all the following characters must be hyphens, lowercase letters, or digits, except the last character, which cannot be a hyphen. + */ + auxiliaryVersions?: { + [key: string]: Schema$GoogleCloudMetastoreV2betaAuxiliaryVersionConfig; + } | null; + /** + * Optional. A mapping of Hive metastore configuration key-value pairs to apply to the Hive metastore (configured in hive-site.xml). The mappings override system defaults (some keys cannot be overridden). These overrides are also applied to auxiliary versions and can be further customized in the auxiliary version's AuxiliaryVersionConfig. + */ + configOverrides?: {[key: string]: string} | null; + /** + * Optional. The protocol to use for the metastore service endpoint. If unspecified, defaults to GRPC. + */ + endpointProtocol?: string | null; + /** + * Immutable. The Hive metastore schema version. + */ + version?: string | null; + } + /** + * Request message for DataprocMetastore.CreateMetadataImport. + */ + export interface Schema$GoogleCloudMetastoreV2betaImportMetadataRequest { + /** + * Immutable. A database dump from a pre-existing metastore's database. + */ + databaseDump?: Schema$GoogleCloudMetastoreV2betaDatabaseDump; + /** + * Optional. The description of the metadata import. + */ + description?: string | null; + /** + * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format). A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. + */ + requestId?: string | null; + } + /** + * The details of the latest scheduled backup. + */ + export interface Schema$GoogleCloudMetastoreV2betaLatestBackup { + /** + * Output only. The ID of an in-progress scheduled backup. Empty if no backup is in progress. + */ + backupId?: string | null; + /** + * Output only. The duration of the backup completion. + */ + duration?: string | null; + /** + * Output only. The time when the backup was started. + */ + startTime?: string | null; + /** + * Output only. The current state of the backup. + */ + state?: string | null; + } + /** + * Represents the autoscaling limit configuration of a metastore service. + */ + export interface Schema$GoogleCloudMetastoreV2betaLimitConfig { + /** + * Optional. The highest scaling factor that the service should be autoscaled to. + */ + maxScalingFactor?: number | null; + /** + * Optional. The lowest scaling factor that the service should be autoscaled to. + */ + minScalingFactor?: number | null; + } + /** + * Response message for DataprocMetastore.ListBackups. + */ + export interface Schema$GoogleCloudMetastoreV2betaListBackupsResponse { + /** + * The backups of the specified service. + */ + backups?: Schema$GoogleCloudMetastoreV2betaBackup[]; + /** + * A token that can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * Response message for DataprocMetastore.ListMigrationExecutions. + */ + export interface Schema$GoogleCloudMetastoreV2betaListMigrationExecutionsResponse { + /** + * The migration executions on the specified service. + */ + migrationExecutions?: Schema$GoogleCloudMetastoreV2betaMigrationExecution[]; + /** + * A token that can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * Response message for DataprocMetastore.ListServices. + */ + export interface Schema$GoogleCloudMetastoreV2betaListServicesResponse { + /** + * A token that can be sent as page_token to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The services in the specified location. + */ + services?: Schema$GoogleCloudMetastoreV2betaService[]; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * Specifies how metastore metadata should be integrated with external services. + */ + export interface Schema$GoogleCloudMetastoreV2betaMetadataIntegration { + /** + * Optional. The integration config for the Data Catalog service. + */ + dataCatalogConfig?: Schema$GoogleCloudMetastoreV2betaDataCatalogConfig; + } + /** + * The details of a migration execution resource. + */ + export interface Schema$GoogleCloudMetastoreV2betaMigrationExecution { + /** + * Configuration information specific to migrating from self-managed hive metastore on Google Cloud using Cloud SQL as the backend database to Dataproc Metastore. + */ + cloudSqlMigrationConfig?: Schema$GoogleCloudMetastoreV2betaCloudSQLMigrationConfig; + /** + * Output only. The time when the migration execution was started. + */ + createTime?: string | null; + /** + * Output only. The time when the migration execution finished. + */ + endTime?: string | null; + /** + * Output only. The relative resource name of the migration execution, in the following form: projects/{project_number\}/locations/{location_id\}/services/{service_id\}/migrationExecutions/{migration_execution_id\} + */ + name?: string | null; + /** + * Output only. The current phase of the migration execution. + */ + phase?: string | null; + /** + * Output only. The current state of the migration execution. + */ + state?: string | null; + /** + * Output only. Additional information about the current state of the migration execution. + */ + stateMessage?: string | null; + } + /** + * Request message for DataprocMetastore.MoveTableToDatabase. + */ + export interface Schema$GoogleCloudMetastoreV2betaMoveTableToDatabaseRequest { + /** + * Required. The name of the database where the table resides. + */ + dbName?: string | null; + /** + * Required. The name of the database where the table should be moved. + */ + destinationDbName?: string | null; + /** + * Required. The name of the table to be moved. + */ + tableName?: string | null; + } + /** + * Request message for DataprocMetastore.QueryMetadata. + */ + export interface Schema$GoogleCloudMetastoreV2betaQueryMetadataRequest { + /** + * Required. A read-only SQL query to execute against the metadata database. The query cannot change or mutate the data. + */ + query?: string | null; + } + /** + * Request message for DataprocMetastore.RemoveIamPolicy. + */ + export interface Schema$GoogleCloudMetastoreV2betaRemoveIamPolicyRequest { + /** + * Optional. Removes IAM policy attached to database or table asynchronously when it is set. The default is false. + */ + asynchronous?: boolean | null; + } + /** + * Response message for DataprocMetastore.RemoveIamPolicy. + */ + export interface Schema$GoogleCloudMetastoreV2betaRemoveIamPolicyResponse { + /** + * True if the policy is successfully removed. + */ + success?: boolean | null; + } + /** + * Request message for DataprocMetastore.Restore. + */ + export interface Schema$GoogleCloudMetastoreV2betaRestoreServiceRequest { + /** + * Optional. The relative resource name of the metastore service backup to restore from, in the following form:projects/{project_id\}/locations/{location_id\}/services/{service_id\}/backups/{backup_id\}. Mutually exclusive with backup_location, and exactly one of the two must be set. + */ + backup?: string | null; + /** + * Optional. A Cloud Storage URI specifying the location of the backup artifacts, namely - backup avro files under "avro/", backup_metastore.json and service.json, in the following form:gs://. Mutually exclusive with backup, and exactly one of the two must be set. + */ + backupLocation?: string | null; + /** + * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format). A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. + */ + requestId?: string | null; + /** + * Optional. The type of restore. If unspecified, defaults to METADATA_ONLY. + */ + restoreType?: string | null; + } + /** + * Represents the scaling configuration of a metastore service. + */ + export interface Schema$GoogleCloudMetastoreV2betaScalingConfig { + /** + * Optional. The autoscaling configuration. + */ + autoscalingConfig?: Schema$GoogleCloudMetastoreV2betaAutoscalingConfig; + /** + * Optional. Scaling factor from 1 to 5, increments of 1. + */ + scalingFactor?: number | null; + } + /** + * This specifies the configuration of scheduled backup. + */ + export interface Schema$GoogleCloudMetastoreV2betaScheduledBackup { + /** + * Optional. A Cloud Storage URI of a folder, in the format gs:///. A sub-folder containing backup files will be stored below it. + */ + backupLocation?: string | null; + /** + * Optional. The scheduled interval in Cron format, see https://en.wikipedia.org/wiki/Cron The default is empty: scheduled backup is not enabled. Must be specified to enable scheduled backups. + */ + cronSchedule?: string | null; + /** + * Optional. Defines whether the scheduled backup is enabled. The default value is false. + */ + enabled?: boolean | null; + /** + * Output only. The details of the latest scheduled backup. + */ + latestBackup?: Schema$GoogleCloudMetastoreV2betaLatestBackup; + /** + * Output only. The time when the next backups execution is scheduled to start. + */ + nextScheduledTime?: string | null; + /** + * Optional. Specifies the time zone to be used when interpreting cron_schedule. Must be a time zone name from the time zone database (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones), e.g. America/Los_Angeles or Africa/Abidjan. If left unspecified, the default is UTC. + */ + timeZone?: string | null; + } + /** + * A managed metastore service that serves metadata queries. + */ + export interface Schema$GoogleCloudMetastoreV2betaService { + /** + * Output only. The time when the metastore service was created. + */ + createTime?: string | null; + /** + * Immutable. Information used to configure the Dataproc Metastore service to encrypt customer data at rest. Cannot be updated. + */ + encryptionConfig?: Schema$GoogleCloudMetastoreV2betaEncryptionConfig; + /** + * Output only. The list of endpoints used to access the metastore service. + */ + endpoints?: Schema$GoogleCloudMetastoreV2betaEndpoint[]; + /** + * Configuration information specific to running Hive metastore software as the metastore service. + */ + hiveMetastoreConfig?: Schema$GoogleCloudMetastoreV2betaHiveMetastoreConfig; + /** + * User-defined labels for the metastore service. + */ + labels?: {[key: string]: string} | null; + /** + * Optional. The setting that defines how metastore metadata should be integrated with external services and systems. + */ + metadataIntegration?: Schema$GoogleCloudMetastoreV2betaMetadataIntegration; + /** + * Immutable. The relative resource name of the metastore service, in the following format:projects/{project_number\}/locations/{location_id\}/services/{service_id\}. + */ + name?: string | null; + /** + * Optional. Scaling configuration of the metastore service. + */ + scalingConfig?: Schema$GoogleCloudMetastoreV2betaScalingConfig; + /** + * Optional. The configuration of scheduled backup for the metastore service. + */ + scheduledBackup?: Schema$GoogleCloudMetastoreV2betaScheduledBackup; + /** + * Output only. The current state of the metastore service. + */ + state?: string | null; + /** + * Output only. Additional information about the current state of the metastore service, if available. + */ + stateMessage?: string | null; + /** + * Output only. The globally unique resource identifier of the metastore service. + */ + uid?: string | null; + /** + * Output only. The time when the metastore service was last updated. + */ + updateTime?: string | null; + /** + * Required. A Cloud Storage URI (starting with gs://) that specifies the default warehouse directory of the Hive Metastore. + */ + warehouseGcsUri?: string | null; + } + /** + * Request message for DataprocMetastore.StartMigration. + */ + export interface Schema$GoogleCloudMetastoreV2betaStartMigrationRequest { + /** + * Required. The configuration details for the migration. + */ + migrationExecution?: Schema$GoogleCloudMetastoreV2betaMigrationExecution; + /** + * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. + */ + requestId?: string | null; + } + /** + * This resource represents a long-running operation that is the result of a network API call. + */ + export interface Schema$GoogleLongrunningOperation { + /** + * If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available. + */ + done?: boolean | null; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$GoogleRpcStatus; + /** + * Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. + */ + metadata?: {[key: string]: any} | null; + /** + * The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id\}. + */ + name?: string | null; + /** + * The normal, successful response of the operation. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse. + */ + response?: {[key: string]: any} | null; + } + /** + * The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors). + */ + export interface Schema$GoogleRpcStatus { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number | null; + /** + * A list of messages that carry the error details. There is a common set of message types for APIs to use. + */ + details?: Array<{[key: string]: any}> | null; + /** + * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + */ + message?: string | null; + } + + export class Resource$Projects { + context: APIRequestContext; + locations: Resource$Projects$Locations; + constructor(context: APIRequestContext) { + this.context = context; + this.locations = new Resource$Projects$Locations(this.context); + } + } + + export class Resource$Projects$Locations { + context: APIRequestContext; + services: Resource$Projects$Locations$Services; + constructor(context: APIRequestContext) { + this.context = context; + this.services = new Resource$Projects$Locations$Services(this.context); + } + } + + export class Resource$Projects$Locations$Services { + context: APIRequestContext; + backups: Resource$Projects$Locations$Services$Backups; + migrationExecutions: Resource$Projects$Locations$Services$Migrationexecutions; + constructor(context: APIRequestContext) { + this.context = context; + this.backups = new Resource$Projects$Locations$Services$Backups( + this.context + ); + this.migrationExecutions = + new Resource$Projects$Locations$Services$Migrationexecutions( + this.context + ); + } + + /** + * Alter metadata resource location. The metadata resource can be a database, table, or partition. This functionality only updates the parent directory for the respective metadata resource and does not transfer any existing data to the new location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + alterLocation( + params: Params$Resource$Projects$Locations$Services$Alterlocation, + options: StreamMethodOptions + ): GaxiosPromise; + alterLocation( + params?: Params$Resource$Projects$Locations$Services$Alterlocation, + options?: MethodOptions + ): GaxiosPromise; + alterLocation( + params: Params$Resource$Projects$Locations$Services$Alterlocation, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + alterLocation( + params: Params$Resource$Projects$Locations$Services$Alterlocation, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + alterLocation( + params: Params$Resource$Projects$Locations$Services$Alterlocation, + callback: BodyResponseCallback + ): void; + alterLocation( + callback: BodyResponseCallback + ): void; + alterLocation( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Alterlocation + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Alterlocation; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Alterlocation; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+service}:alterLocation').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['service'], + pathParams: ['service'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Alter metadata table properties. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + alterTableProperties( + params: Params$Resource$Projects$Locations$Services$Altertableproperties, + options: StreamMethodOptions + ): GaxiosPromise; + alterTableProperties( + params?: Params$Resource$Projects$Locations$Services$Altertableproperties, + options?: MethodOptions + ): GaxiosPromise; + alterTableProperties( + params: Params$Resource$Projects$Locations$Services$Altertableproperties, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + alterTableProperties( + params: Params$Resource$Projects$Locations$Services$Altertableproperties, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + alterTableProperties( + params: Params$Resource$Projects$Locations$Services$Altertableproperties, + callback: BodyResponseCallback + ): void; + alterTableProperties( + callback: BodyResponseCallback + ): void; + alterTableProperties( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Altertableproperties + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Altertableproperties; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Altertableproperties; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+service}:alterTableProperties').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['service'], + pathParams: ['service'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Cancels the ongoing Managed Migration process. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + cancelMigration( + params: Params$Resource$Projects$Locations$Services$Cancelmigration, + options: StreamMethodOptions + ): GaxiosPromise; + cancelMigration( + params?: Params$Resource$Projects$Locations$Services$Cancelmigration, + options?: MethodOptions + ): GaxiosPromise; + cancelMigration( + params: Params$Resource$Projects$Locations$Services$Cancelmigration, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancelMigration( + params: Params$Resource$Projects$Locations$Services$Cancelmigration, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancelMigration( + params: Params$Resource$Projects$Locations$Services$Cancelmigration, + callback: BodyResponseCallback + ): void; + cancelMigration( + callback: BodyResponseCallback + ): void; + cancelMigration( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Cancelmigration + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Cancelmigration; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Cancelmigration; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+service}:cancelMigration').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['service'], + pathParams: ['service'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Completes the managed migration process. The Dataproc Metastore service will switch to using its own backend database after successful migration. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + completeMigration( + params: Params$Resource$Projects$Locations$Services$Completemigration, + options: StreamMethodOptions + ): GaxiosPromise; + completeMigration( + params?: Params$Resource$Projects$Locations$Services$Completemigration, + options?: MethodOptions + ): GaxiosPromise; + completeMigration( + params: Params$Resource$Projects$Locations$Services$Completemigration, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + completeMigration( + params: Params$Resource$Projects$Locations$Services$Completemigration, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + completeMigration( + params: Params$Resource$Projects$Locations$Services$Completemigration, + callback: BodyResponseCallback + ): void; + completeMigration( + callback: BodyResponseCallback + ): void; + completeMigration( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Completemigration + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Completemigration; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Completemigration; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+service}:completeMigration').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['service'], + pathParams: ['service'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Creates a metastore service in a project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Services$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Services$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Services$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Services$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Services$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Services$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+parent}/services').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a single service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Services$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Services$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Services$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Services$Delete, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Services$Delete, + callback: BodyResponseCallback + ): void; + delete( + callback: BodyResponseCallback + ): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Services$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Exports metadata from a service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + exportMetadata( + params: Params$Resource$Projects$Locations$Services$Exportmetadata, + options: StreamMethodOptions + ): GaxiosPromise; + exportMetadata( + params?: Params$Resource$Projects$Locations$Services$Exportmetadata, + options?: MethodOptions + ): GaxiosPromise; + exportMetadata( + params: Params$Resource$Projects$Locations$Services$Exportmetadata, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + exportMetadata( + params: Params$Resource$Projects$Locations$Services$Exportmetadata, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + exportMetadata( + params: Params$Resource$Projects$Locations$Services$Exportmetadata, + callback: BodyResponseCallback + ): void; + exportMetadata( + callback: BodyResponseCallback + ): void; + exportMetadata( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Exportmetadata + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Exportmetadata; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Exportmetadata; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+service}:exportMetadata').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['service'], + pathParams: ['service'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets the details of a single service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Services$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Services$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Services$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Services$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Services$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Services$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Imports Metadata into a Dataproc Metastore service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + importMetadata( + params: Params$Resource$Projects$Locations$Services$Importmetadata, + options: StreamMethodOptions + ): GaxiosPromise; + importMetadata( + params?: Params$Resource$Projects$Locations$Services$Importmetadata, + options?: MethodOptions + ): GaxiosPromise; + importMetadata( + params: Params$Resource$Projects$Locations$Services$Importmetadata, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + importMetadata( + params: Params$Resource$Projects$Locations$Services$Importmetadata, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + importMetadata( + params: Params$Resource$Projects$Locations$Services$Importmetadata, + callback: BodyResponseCallback + ): void; + importMetadata( + callback: BodyResponseCallback + ): void; + importMetadata( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Importmetadata + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Importmetadata; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Importmetadata; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}:importMetadata').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists services in a project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Services$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Services$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Services$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Services$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Services$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Services$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+parent}/services').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Move a table to another database. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + moveTableToDatabase( + params: Params$Resource$Projects$Locations$Services$Movetabletodatabase, + options: StreamMethodOptions + ): GaxiosPromise; + moveTableToDatabase( + params?: Params$Resource$Projects$Locations$Services$Movetabletodatabase, + options?: MethodOptions + ): GaxiosPromise; + moveTableToDatabase( + params: Params$Resource$Projects$Locations$Services$Movetabletodatabase, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + moveTableToDatabase( + params: Params$Resource$Projects$Locations$Services$Movetabletodatabase, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + moveTableToDatabase( + params: Params$Resource$Projects$Locations$Services$Movetabletodatabase, + callback: BodyResponseCallback + ): void; + moveTableToDatabase( + callback: BodyResponseCallback + ): void; + moveTableToDatabase( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Movetabletodatabase + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Movetabletodatabase; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Movetabletodatabase; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+service}:moveTableToDatabase').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['service'], + pathParams: ['service'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the parameters of a single service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Services$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Services$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Services$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Services$Patch, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Services$Patch, + callback: BodyResponseCallback + ): void; + patch( + callback: BodyResponseCallback + ): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Services$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Query Dataproc Metastore metadata. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + queryMetadata( + params: Params$Resource$Projects$Locations$Services$Querymetadata, + options: StreamMethodOptions + ): GaxiosPromise; + queryMetadata( + params?: Params$Resource$Projects$Locations$Services$Querymetadata, + options?: MethodOptions + ): GaxiosPromise; + queryMetadata( + params: Params$Resource$Projects$Locations$Services$Querymetadata, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + queryMetadata( + params: Params$Resource$Projects$Locations$Services$Querymetadata, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + queryMetadata( + params: Params$Resource$Projects$Locations$Services$Querymetadata, + callback: BodyResponseCallback + ): void; + queryMetadata( + callback: BodyResponseCallback + ): void; + queryMetadata( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Querymetadata + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Querymetadata; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Querymetadata; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+service}:queryMetadata').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['service'], + pathParams: ['service'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Removes the attached IAM policies for a resource + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + removeIamPolicy( + params: Params$Resource$Projects$Locations$Services$Removeiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + removeIamPolicy( + params?: Params$Resource$Projects$Locations$Services$Removeiampolicy, + options?: MethodOptions + ): GaxiosPromise; + removeIamPolicy( + params: Params$Resource$Projects$Locations$Services$Removeiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + removeIamPolicy( + params: Params$Resource$Projects$Locations$Services$Removeiampolicy, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + removeIamPolicy( + params: Params$Resource$Projects$Locations$Services$Removeiampolicy, + callback: BodyResponseCallback + ): void; + removeIamPolicy( + callback: BodyResponseCallback + ): void; + removeIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Removeiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Removeiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Removeiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+resource}:removeIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Restores a service from a backup. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + restore( + params: Params$Resource$Projects$Locations$Services$Restore, + options: StreamMethodOptions + ): GaxiosPromise; + restore( + params?: Params$Resource$Projects$Locations$Services$Restore, + options?: MethodOptions + ): GaxiosPromise; + restore( + params: Params$Resource$Projects$Locations$Services$Restore, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + restore( + params: Params$Resource$Projects$Locations$Services$Restore, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + restore( + params: Params$Resource$Projects$Locations$Services$Restore, + callback: BodyResponseCallback + ): void; + restore( + callback: BodyResponseCallback + ): void; + restore( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Restore + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Restore; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Services$Restore; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+service}:restore').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['service'], + pathParams: ['service'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Starts the Managed Migration process. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + startMigration( + params: Params$Resource$Projects$Locations$Services$Startmigration, + options: StreamMethodOptions + ): GaxiosPromise; + startMigration( + params?: Params$Resource$Projects$Locations$Services$Startmigration, + options?: MethodOptions + ): GaxiosPromise; + startMigration( + params: Params$Resource$Projects$Locations$Services$Startmigration, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + startMigration( + params: Params$Resource$Projects$Locations$Services$Startmigration, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + startMigration( + params: Params$Resource$Projects$Locations$Services$Startmigration, + callback: BodyResponseCallback + ): void; + startMigration( + callback: BodyResponseCallback + ): void; + startMigration( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Startmigration + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Startmigration; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Startmigration; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+service}:startMigration').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['service'], + pathParams: ['service'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Services$Alterlocation + extends StandardParameters { + /** + * Required. The relative resource name of the metastore service to mutate metadata, in the following format:projects/{project_id\}/locations/{location_id\}/services/{service_id\}. + */ + service?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2betaAlterMetadataResourceLocationRequest; + } + export interface Params$Resource$Projects$Locations$Services$Altertableproperties + extends StandardParameters { + /** + * Required. The relative resource name of the Dataproc Metastore service that's being used to mutate metadata table properties, in the following format:projects/{project_id\}/locations/{location_id\}/services/{service_id\}. + */ + service?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2betaAlterTablePropertiesRequest; + } + export interface Params$Resource$Projects$Locations$Services$Cancelmigration + extends StandardParameters { + /** + * Required. The relative resource name of the metastore service to cancel the ongoing migration to, in the following format:projects/{project_id\}/locations/{location_id\}/services/{service_id\}. + */ + service?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2betaCancelMigrationRequest; + } + export interface Params$Resource$Projects$Locations$Services$Completemigration + extends StandardParameters { + /** + * Required. The relative resource name of the metastore service to complete the migration to, in the following format:projects/{project_id\}/locations/{location_id\}/services/{service_id\}. + */ + service?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2betaCompleteMigrationRequest; + } + export interface Params$Resource$Projects$Locations$Services$Create + extends StandardParameters { + /** + * Required. The relative resource name of the location in which to create a metastore service, in the following form:projects/{project_number\}/locations/{location_id\}. + */ + parent?: string; + /** + * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. + */ + requestId?: string; + /** + * Required. The ID of the metastore service, which is used as the final component of the metastore service's name.This value must be between 2 and 63 characters long inclusive, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens. + */ + serviceId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2betaService; + } + export interface Params$Resource$Projects$Locations$Services$Delete + extends StandardParameters { + /** + * Required. The relative resource name of the metastore service to delete, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}. + */ + name?: string; + /** + * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. + */ + requestId?: string; + } + export interface Params$Resource$Projects$Locations$Services$Exportmetadata + extends StandardParameters { + /** + * Required. The relative resource name of the metastore service to run export, in the following form:projects/{project_id\}/locations/{location_id\}/services/{service_id\}. + */ + service?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2betaExportMetadataRequest; + } + export interface Params$Resource$Projects$Locations$Services$Get + extends StandardParameters { + /** + * Required. The relative resource name of the metastore service to retrieve, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Services$Importmetadata + extends StandardParameters { + /** + * Immutable. The relative resource name of the metastore service to run import, in the following form:projects/{project_id\}/locations/{location_id\}/services/{service_id\}. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2betaImportMetadataRequest; + } + export interface Params$Resource$Projects$Locations$Services$List + extends StandardParameters { + /** + * Optional. The filter to apply to list results. + */ + filter?: string; + /** + * Optional. Specify the ordering of results as described in Sorting Order (https://cloud.google.com/apis/design/design_patterns#sorting_order). If not specified, the results will be sorted in the default order. + */ + orderBy?: string; + /** + * Optional. The maximum number of services to return. The response may contain less than the maximum number. If unspecified, no more than 500 services are returned. The maximum value is 1000; values above 1000 are changed to 1000. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous DataprocMetastore.ListServices call. Provide this token to retrieve the subsequent page.To retrieve the first page, supply an empty page token.When paginating, other parameters provided to DataprocMetastore.ListServices must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The relative resource name of the location of metastore services to list, in the following form:projects/{project_number\}/locations/{location_id\}. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Services$Movetabletodatabase + extends StandardParameters { + /** + * Required. The relative resource name of the metastore service to mutate metadata, in the following format:projects/{project_id\}/locations/{location_id\}/services/{service_id\}. + */ + service?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2betaMoveTableToDatabaseRequest; + } + export interface Params$Resource$Projects$Locations$Services$Patch + extends StandardParameters { + /** + * Immutable. The relative resource name of the metastore service, in the following format:projects/{project_number\}/locations/{location_id\}/services/{service_id\}. + */ + name?: string; + /** + * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. + */ + requestId?: string; + /** + * Required. A field mask used to specify the fields to be overwritten in the metastore service resource by the update. Fields specified in the update_mask are relative to the resource (not to the full request). A field is overwritten if it is in the mask. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2betaService; + } + export interface Params$Resource$Projects$Locations$Services$Querymetadata + extends StandardParameters { + /** + * Required. The relative resource name of the metastore service to query metadata, in the following format:projects/{project_id\}/locations/{location_id\}/services/{service_id\}. + */ + service?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2betaQueryMetadataRequest; + } + export interface Params$Resource$Projects$Locations$Services$Removeiampolicy + extends StandardParameters { + /** + * Required. The relative resource name of the dataplane resource to remove IAM policy, in the following form:projects/{project_id\}/locations/{location_id\}/services/{service_id\}/databases/{database_id\} or projects/{project_id\}/locations/{location_id\}/services/{service_id\}/databases/{database_id\}/tables/{table_id\}. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2betaRemoveIamPolicyRequest; + } + export interface Params$Resource$Projects$Locations$Services$Restore + extends StandardParameters { + /** + * Required. The relative resource name of the metastore service to run restore, in the following form:projects/{project_id\}/locations/{location_id\}/services/{service_id\}. + */ + service?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2betaRestoreServiceRequest; + } + export interface Params$Resource$Projects$Locations$Services$Startmigration + extends StandardParameters { + /** + * Required. The relative resource name of the metastore service to start migrating to, in the following format:projects/{project_id\}/locations/{location_id\}/services/{service_id\}. + */ + service?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2betaStartMigrationRequest; + } + + export class Resource$Projects$Locations$Services$Backups { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new backup in a given project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Services$Backups$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Services$Backups$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Services$Backups$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Services$Backups$Create, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Services$Backups$Create, + callback: BodyResponseCallback + ): void; + create( + callback: BodyResponseCallback + ): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Backups$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Backups$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Backups$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+parent}/backups').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a single backup. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Services$Backups$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Services$Backups$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Services$Backups$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Services$Backups$Delete, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Services$Backups$Delete, + callback: BodyResponseCallback + ): void; + delete( + callback: BodyResponseCallback + ): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Backups$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Backups$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Backups$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of a single backup. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Services$Backups$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Services$Backups$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Services$Backups$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Services$Backups$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Services$Backups$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Backups$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Backups$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Services$Backups$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Lists backups in a service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Services$Backups$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Services$Backups$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Services$Backups$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Services$Backups$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Services$Backups$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Backups$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Backups$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Services$Backups$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+parent}/backups').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Services$Backups$Create + extends StandardParameters { + /** + * Required. The ID of the backup, which is used as the final component of the backup's name.This value must be between 1 and 64 characters long, begin with a letter, end with a letter or number, and consist of alpha-numeric ASCII characters or hyphens. + */ + backupId?: string; + /** + * Required. The relative resource name of the service in which to create a backup of the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}. + */ + parent?: string; + /** + * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudMetastoreV2betaBackup; + } + export interface Params$Resource$Projects$Locations$Services$Backups$Delete + extends StandardParameters { + /** + * Required. The relative resource name of the backup to delete, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/backups/{backup_id\}. + */ + name?: string; + /** + * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. + */ + requestId?: string; + } + export interface Params$Resource$Projects$Locations$Services$Backups$Get + extends StandardParameters { + /** + * Required. The relative resource name of the backup to retrieve, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/backups/{backup_id\}. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Services$Backups$List + extends StandardParameters { + /** + * Optional. The filter to apply to list results. + */ + filter?: string; + /** + * Optional. Specify the ordering of results as described in Sorting Order (https://cloud.google.com/apis/design/design_patterns#sorting_order). If not specified, the results will be sorted in the default order. + */ + orderBy?: string; + /** + * Optional. The maximum number of backups to return. The response may contain less than the maximum number. If unspecified, no more than 500 backups are returned. The maximum value is 1000; values above 1000 are changed to 1000. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous DataprocMetastore.ListBackups call. Provide this token to retrieve the subsequent page.To retrieve the first page, supply an empty page token.When paginating, other parameters provided to DataprocMetastore.ListBackups must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The relative resource name of the service whose backups to list, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/backups. + */ + parent?: string; + } + + export class Resource$Projects$Locations$Services$Migrationexecutions { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Deletes a single migration execution. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Services$Migrationexecutions$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Services$Migrationexecutions$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Services$Migrationexecutions$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Services$Migrationexecutions$Delete, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Services$Migrationexecutions$Delete, + callback: BodyResponseCallback + ): void; + delete( + callback: BodyResponseCallback + ): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Migrationexecutions$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Migrationexecutions$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Migrationexecutions$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of a single migration execution. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Services$Migrationexecutions$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Services$Migrationexecutions$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Services$Migrationexecutions$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Services$Migrationexecutions$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Services$Migrationexecutions$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Migrationexecutions$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Migrationexecutions$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Migrationexecutions$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Lists migration executions on a service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Services$Migrationexecutions$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Services$Migrationexecutions$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Services$Migrationexecutions$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Services$Migrationexecutions$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Services$Migrationexecutions$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Services$Migrationexecutions$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Services$Migrationexecutions$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Services$Migrationexecutions$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://metastore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+parent}/migrationExecutions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Services$Migrationexecutions$Delete + extends StandardParameters { + /** + * Required. The relative resource name of the migrationExecution to delete, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/migrationExecutions/{migration_execution_id\}. + */ + name?: string; + /** + * Optional. A request ID. Specify a unique request ID to allow the server to ignore the request if it has completed. The server will ignore subsequent requests that provide a duplicate request ID for at least 60 minutes after the first request.For example, if an initial request times out, followed by another request with the same request ID, the server ignores the second request to prevent the creation of duplicate commitments.The request ID must be a valid UUID (https://en.wikipedia.org/wiki/Universally_unique_identifier#Format) A zero UUID (00000000-0000-0000-0000-000000000000) is not supported. + */ + requestId?: string; + } + export interface Params$Resource$Projects$Locations$Services$Migrationexecutions$Get + extends StandardParameters { + /** + * Required. The relative resource name of the migration execution to retrieve, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/migrationExecutions/{migration_execution_id\}. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Services$Migrationexecutions$List + extends StandardParameters { + /** + * Optional. The filter to apply to list results. + */ + filter?: string; + /** + * Optional. Specify the ordering of results as described in Sorting Order (https://cloud.google.com/apis/design/design_patterns#sorting_order). If not specified, the results will be sorted in the default order. + */ + orderBy?: string; + /** + * Optional. The maximum number of migration executions to return. The response may contain less than the maximum number. If unspecified, no more than 500 migration executions are returned. The maximum value is 1000; values above 1000 are changed to 1000. + */ + pageSize?: number; + /** + * Optional. A page token, received from a previous DataprocMetastore.ListMigrationExecutions call. Provide this token to retrieve the subsequent page.To retrieve the first page, supply an empty page token.When paginating, other parameters provided to DataprocMetastore.ListMigrationExecutions must match the call that provided the page token. + */ + pageToken?: string; + /** + * Required. The relative resource name of the service whose migration executions to list, in the following form:projects/{project_number\}/locations/{location_id\}/services/{service_id\}/migrationExecutions. + */ + parent?: string; + } +} diff --git a/src/apis/migrationcenter/v1.ts b/src/apis/migrationcenter/v1.ts index efa82e6ff9..905ae76432 100644 --- a/src/apis/migrationcenter/v1.ts +++ b/src/apis/migrationcenter/v1.ts @@ -279,6 +279,14 @@ export namespace migrationcenter_v1 { * Output only. The timestamp when the asset was created. */ createTime?: string | null; + /** + * Output only. Asset information specific for database deployments. + */ + databaseDeploymentDetails?: Schema$DatabaseDeploymentDetails; + /** + * Output only. Asset information specific for logical databases. + */ + databaseDetails?: Schema$DatabaseDetails; /** * Output only. The list of insights associated with the asset. */ @@ -303,6 +311,10 @@ export namespace migrationcenter_v1 { * Output only. The list of sources contributing to the asset. */ sources?: string[] | null; + /** + * Output only. Server generated human readable name of the asset. + */ + title?: string | null; /** * Output only. The timestamp when the asset was last updated. */ @@ -320,6 +332,14 @@ export namespace migrationcenter_v1 { * Optional. Frame collection type, if not specified the collection type will be based on the source type of the source the frame was reported on. */ collectionType?: string | null; + /** + * Asset information specific for database deployments. + */ + databaseDeploymentDetails?: Schema$DatabaseDeploymentDetails; + /** + * Asset information specific for logical databases. + */ + databaseDetails?: Schema$DatabaseDetails; /** * Labels as key value pairs. */ @@ -363,6 +383,10 @@ export namespace migrationcenter_v1 { * AWS EC2 specific details. */ export interface Schema$AwsEc2PlatformDetails { + /** + * Optional. Whether the machine is hyperthreaded. + */ + hyperthreading?: string | null; /** * The location of the machine in the AWS format. */ @@ -376,6 +400,10 @@ export namespace migrationcenter_v1 { * Azure VM specific details. */ export interface Schema$AzureVmPlatformDetails { + /** + * Whether the machine is hyperthreaded. + */ + hyperthreading?: string | null; /** * The location of the machine in the Azure format. */ @@ -569,9 +597,17 @@ export namespace migrationcenter_v1 { */ export interface Schema$DailyResourceUsageAggregationDisk { /** - * Disk I/O operations per second. + * Optional. Disk I/O operations per second. */ iops?: Schema$DailyResourceUsageAggregationStats; + /** + * Optional. Disk read I/O operations per second. + */ + readIops?: Schema$DailyResourceUsageAggregationStats; + /** + * Optional. Disk write I/O operations per second. + */ + writeIops?: Schema$DailyResourceUsageAggregationStats; } /** * Statistical aggregation of memory usage. @@ -616,6 +652,207 @@ export namespace migrationcenter_v1 { */ peak?: number | null; } + /** + * The details of a database deployment asset. + */ + export interface Schema$DatabaseDeploymentDetails { + /** + * Output only. Aggregated stats for the database deployment. + */ + aggregatedStats?: Schema$DatabaseDeploymentDetailsAggregatedStats; + /** + * Optional. The database deployment edition. + */ + edition?: string | null; + /** + * Optional. The database deployment generated ID. + */ + generatedId?: string | null; + /** + * Optional. A manual unique ID set by the user. + */ + manualUniqueId?: string | null; + /** + * Optional. Details of a MYSQL database deployment. + */ + mysql?: Schema$MysqlDatabaseDeployment; + /** + * Optional. Details of a PostgreSQL database deployment. + */ + postgresql?: Schema$PostgreSqlDatabaseDeployment; + /** + * Optional. Details of a Microsoft SQL Server database deployment. + */ + sqlServer?: Schema$SqlServerDatabaseDeployment; + /** + * Optional. Details of the database deployment topology. + */ + topology?: Schema$DatabaseDeploymentTopology; + /** + * Optional. The database deployment version. + */ + version?: string | null; + } + /** + * Aggregated stats for the database deployment. + */ + export interface Schema$DatabaseDeploymentDetailsAggregatedStats { + /** + * Output only. The number of databases in the deployment. + */ + databaseCount?: number | null; + } + /** + * Details of database deployment's topology. + */ + export interface Schema$DatabaseDeploymentTopology { + /** + * Optional. Number of total logical cores. + */ + coreCount?: number | null; + /** + * Optional. Number of total logical cores limited by db deployment. + */ + coreLimit?: number | null; + /** + * Optional. Disk allocated in bytes. + */ + diskAllocatedBytes?: string | null; + /** + * Optional. Disk used in bytes. + */ + diskUsedBytes?: string | null; + /** + * Optional. List of database instances. + */ + instances?: Schema$DatabaseInstance[]; + /** + * Optional. Total memory in bytes. + */ + memoryBytes?: string | null; + /** + * Optional. Total memory in bytes limited by db deployment. + */ + memoryLimitBytes?: string | null; + /** + * Optional. Number of total physical cores. + */ + physicalCoreCount?: number | null; + /** + * Optional. Number of total physical cores limited by db deployment. + */ + physicalCoreLimit?: number | null; + } + /** + * Details of a logical database. + */ + export interface Schema$DatabaseDetails { + /** + * Optional. The allocated storage for the database in bytes. + */ + allocatedStorageBytes?: string | null; + /** + * Required. The name of the database. + */ + databaseName?: string | null; + /** + * Required. The parent database deployment that contains the logical database. + */ + parentDatabaseDeployment?: Schema$DatabaseDetailsParentDatabaseDeployment; + /** + * Optional. The database schemas. + */ + schemas?: Schema$DatabaseSchema[]; + } + /** + * The identifiers of the parent database deployment. + */ + export interface Schema$DatabaseDetailsParentDatabaseDeployment { + /** + * Optional. The parent database deployment generated ID. + */ + generatedId?: string | null; + /** + * Optional. The parent database deployment optional manual unique ID set by the user. + */ + manualUniqueId?: string | null; + } + /** + * Details of a database instance. + */ + export interface Schema$DatabaseInstance { + /** + * Optional. The instance's name. + */ + instanceName?: string | null; + /** + * Optional. Networking details. + */ + network?: Schema$DatabaseInstanceNetwork; + /** + * Optional. The instance role in the database engine. + */ + role?: string | null; + } + /** + * Network details of a database instance. + */ + export interface Schema$DatabaseInstanceNetwork { + /** + * Optional. The instance's host names. + */ + hostNames?: string[] | null; + /** + * Optional. The instance's IP addresses. + */ + ipAddresses?: string[] | null; + /** + * Optional. The instance's primary MAC address. + */ + primaryMacAddress?: string | null; + } + /** + * Details of a group of database objects. + */ + export interface Schema$DatabaseObjects { + /** + * Optional. The category of the objects. + */ + category?: string | null; + /** + * Optional. The number of objects. + */ + count?: string | null; + } + /** + * Details of a database schema. + */ + export interface Schema$DatabaseSchema { + /** + * Optional. Details of a Mysql schema. + */ + mysql?: Schema$MySqlSchemaDetails; + /** + * Optional. List of details of objects by category. + */ + objects?: Schema$DatabaseObjects[]; + /** + * Optional. Details of a PostgreSql schema. + */ + postgresql?: Schema$PostgreSqlSchemaDetails; + /** + * Required. The name of the schema. + */ + schemaName?: string | null; + /** + * Optional. Details of a SqlServer schema. + */ + sqlServer?: Schema$SqlServerSchemaDetails; + /** + * Optional. The total size of tables in bytes. + */ + tablesSizeBytes?: string | null; + } /** * Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp */ @@ -791,9 +1028,17 @@ export namespace migrationcenter_v1 { */ export interface Schema$DiskUsageSample { /** - * Average IOPS sampled over a short window. Must be non-negative. + * Optional. Average IOPS sampled over a short window. Must be non-negative. Must be equal to the sum of read and write if one of them is positive. if both read and write are zero they are ignored. */ averageIops?: number | null; + /** + * Optional. Average read IOPS sampled over a short window. Must be non-negative. + */ + averageReadIops?: number | null; + /** + * Optional. Average write IOPS sampled over a short window. Must be non-negative. + */ + averageWriteIops?: number | null; } /** * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} @@ -948,6 +1193,10 @@ export namespace migrationcenter_v1 { * Generic platform details. */ export interface Schema$GenericPlatformDetails { + /** + * Whether the machine is hyperthreaded. + */ + hyperthreading?: string | null; /** * Free text representation of the machine location. The format of this field should not be relied on. Different VMs in the same location may have different string values for this field. */ @@ -1220,6 +1469,14 @@ export namespace migrationcenter_v1 { * A resource that reports the import job errors at row level. */ export interface Schema$ImportRowError { + /** + * Error details for an archive file. + */ + archiveError?: Schema$ImportRowErrorArchiveErrorDetails; + /** + * Output only. The asset title. + */ + assetTitle?: string | null; /** * Error details for a CSV file. */ @@ -1245,6 +1502,19 @@ export namespace migrationcenter_v1 { */ xlsxError?: Schema$ImportRowErrorXlsxErrorDetails; } + /** + * Error details for an archive file. + */ + export interface Schema$ImportRowErrorArchiveErrorDetails { + /** + * Error details for a CSV file. + */ + csvError?: Schema$ImportRowErrorCsvErrorDetails; + /** + * Output only. The file path inside the archive where the error was detected. + */ + filePath?: string | null; + } /** * Error details for a CSV file. */ @@ -1272,7 +1542,7 @@ export namespace migrationcenter_v1 { */ export interface Schema$Insight { /** - * Output only. A generic insight about an asset + * Output only. A generic insight about an asset. */ genericInsight?: Schema$GenericInsight; /** @@ -1526,6 +1796,10 @@ export namespace migrationcenter_v1 { * CPU architecture, e.g., "x64-based PC", "x86_64", "i686" etc. */ cpuArchitecture?: string | null; + /** + * Optional. CPU manufacturer, e.g., "Intel", "AMD". + */ + cpuManufacturer?: string | null; /** * CPU name, e.g., "Intel Xeon E5-2690", "AMD EPYC 7571" etc. */ @@ -1695,6 +1969,104 @@ export namespace migrationcenter_v1 { */ units?: string | null; } + /** + * Specific details for a Mysql database deployment. + */ + export interface Schema$MysqlDatabaseDeployment { + /** + * Optional. List of MySql plugins. + */ + plugins?: Schema$MySqlPlugin[]; + /** + * Optional. List of MySql properties. + */ + properties?: Schema$MySqlProperty[]; + /** + * Optional. Number of resource groups. + */ + resourceGroupsCount?: number | null; + /** + * Optional. List of MySql variables. + */ + variables?: Schema$MySqlVariable[]; + } + /** + * MySql plugin. + */ + export interface Schema$MySqlPlugin { + /** + * Required. The plugin is active. + */ + enabled?: boolean | null; + /** + * Required. The plugin name. + */ + plugin?: string | null; + /** + * Required. The plugin version. + */ + version?: string | null; + } + /** + * MySql property. + */ + export interface Schema$MySqlProperty { + /** + * Required. The property is enabled. + */ + enabled?: boolean | null; + /** + * Required. The property numeric value. + */ + numericValue?: string | null; + /** + * Required. The property name. + */ + property?: string | null; + } + /** + * Specific details for a Mysql database. + */ + export interface Schema$MySqlSchemaDetails { + /** + * Optional. Mysql storage engine tables. + */ + storageEngines?: Schema$MySqlStorageEngineDetails[]; + } + /** + * Mysql storage engine tables. + */ + export interface Schema$MySqlStorageEngineDetails { + /** + * Optional. The number of encrypted tables. + */ + encryptedTableCount?: number | null; + /** + * Required. The storage engine. + */ + engine?: string | null; + /** + * Optional. The number of tables. + */ + tableCount?: number | null; + } + /** + * MySql variable. + */ + export interface Schema$MySqlVariable { + /** + * Required. The variable category. + */ + category?: string | null; + /** + * Required. The variable value. + */ + value?: string | null; + /** + * Required. The variable name. + */ + variable?: string | null; + } /** * Details of network adapter. */ @@ -1950,6 +2322,10 @@ export namespace migrationcenter_v1 { * Platform specific details for Physical Machines. */ export interface Schema$PhysicalPlatformDetails { + /** + * Whether the machine is hyperthreaded. + */ + hyperthreading?: string | null; /** * Free text representation of the machine location. The format of this field should not be relied on. Different machines in the same location may have different string values for this field. */ @@ -1980,6 +2356,95 @@ export namespace migrationcenter_v1 { */ vmwareDetails?: Schema$VmwarePlatformDetails; } + /** + * Specific details for a PostgreSQL database deployment. + */ + export interface Schema$PostgreSqlDatabaseDeployment { + /** + * Optional. List of PostgreSql properties. + */ + properties?: Schema$PostgreSqlProperty[]; + /** + * Optional. List of PostgreSql settings. + */ + settings?: Schema$PostgreSqlSetting[]; + } + /** + * PostgreSql extension. + */ + export interface Schema$PostgreSqlExtension { + /** + * Required. The extension name. + */ + extension?: string | null; + /** + * Required. The extension version. + */ + version?: string | null; + } + /** + * PostgreSql property. + */ + export interface Schema$PostgreSqlProperty { + /** + * Required. The property is enabled. + */ + enabled?: boolean | null; + /** + * Required. The property numeric value. + */ + numericValue?: string | null; + /** + * Required. The property name. + */ + property?: string | null; + } + /** + * Specific details for a PostgreSql schema. + */ + export interface Schema$PostgreSqlSchemaDetails { + /** + * Optional. PostgreSql foreign tables. + */ + foreignTablesCount?: number | null; + /** + * Optional. PostgreSql extensions. + */ + postgresqlExtensions?: Schema$PostgreSqlExtension[]; + } + /** + * PostgreSql setting. + */ + export interface Schema$PostgreSqlSetting { + /** + * Required. The setting boolean value. + */ + boolValue?: boolean | null; + /** + * Required. The setting int value. + */ + intValue?: string | null; + /** + * Required. The setting real value. + */ + realValue?: number | null; + /** + * Required. The setting name. + */ + setting?: string | null; + /** + * Required. The setting source. + */ + source?: string | null; + /** + * Required. The setting string value. Notice that enum values are stored as strings. + */ + stringValue?: string | null; + /** + * Optional. The setting unit. + */ + unit?: string | null; + } /** * The preferences that apply to all assets in a given context. */ @@ -2629,6 +3094,75 @@ export namespace migrationcenter_v1 { */ updateTime?: string | null; } + /** + * Specific details for a Microsoft SQL Server database deployment. + */ + export interface Schema$SqlServerDatabaseDeployment { + /** + * Optional. List of SQL Server features. + */ + features?: Schema$SqlServerFeature[]; + /** + * Optional. List of SQL Server server flags. + */ + serverFlags?: Schema$SqlServerServerFlag[]; + /** + * Optional. List of SQL Server trace flags. + */ + traceFlags?: Schema$SqlServerTraceFlag[]; + } + /** + * SQL Server feature details. + */ + export interface Schema$SqlServerFeature { + /** + * Required. Field enabled is set when a feature is used on the source deployment. + */ + enabled?: boolean | null; + /** + * Required. The feature name. + */ + featureName?: string | null; + } + /** + * Specific details for a SqlServer database. + */ + export interface Schema$SqlServerSchemaDetails { + /** + * Optional. SqlServer number of CLR objects. + */ + clrObjectCount?: number | null; + } + /** + * SQL Server server flag details. + */ + export interface Schema$SqlServerServerFlag { + /** + * Required. The server flag name. + */ + serverFlagName?: string | null; + /** + * Required. The server flag value set by the user. + */ + value?: string | null; + /** + * Required. The server flag actual value. If `value_in_use` is different from `value` it means that either the configuration change was not applied or it is an expected behavior. See SQL Server documentation for more details. + */ + valueInUse?: string | null; + } + /** + * SQL Server trace flag details. + */ + export interface Schema$SqlServerTraceFlag { + /** + * Required. The trace flag scope. + */ + scope?: string | null; + /** + * Required. The trace flag name. + */ + traceFlagName?: string | null; + } /** * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). */ @@ -2781,6 +3315,10 @@ export namespace migrationcenter_v1 { * VMware specific details. */ export interface Schema$VmwarePlatformDetails { + /** + * Whether the ESX is hyperthreaded. + */ + esxHyperthreading?: string | null; /** * ESX version. */ @@ -6667,7 +7205,7 @@ export namespace migrationcenter_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/migrationcenter/v1alpha1.ts b/src/apis/migrationcenter/v1alpha1.ts index 696bc5195f..880688728e 100644 --- a/src/apis/migrationcenter/v1alpha1.ts +++ b/src/apis/migrationcenter/v1alpha1.ts @@ -525,6 +525,10 @@ export namespace migrationcenter_v1alpha1 { * AWS EC2 specific details. */ export interface Schema$AwsEc2PlatformDetails { + /** + * Optional. Whether the machine is hyperthreaded. + */ + hyperthreading?: string | null; /** * The location of the machine in the AWS format. */ @@ -538,6 +542,10 @@ export namespace migrationcenter_v1alpha1 { * Azure VM specific details. */ export interface Schema$AzureVmPlatformDetails { + /** + * Whether the machine is hyperthreaded. + */ + hyperthreading?: string | null; /** * The location of the machine in the Azure format. */ @@ -1670,6 +1678,10 @@ export namespace migrationcenter_v1alpha1 { * Generic platform details. */ export interface Schema$GenericPlatformDetails { + /** + * Whether the machine is hyperthreaded. + */ + hyperthreading?: string | null; /** * Free text representation of the machine location. The format of this field should not be relied on. Different VMs in the same location may have different string values for this field. */ @@ -2785,6 +2797,10 @@ export namespace migrationcenter_v1alpha1 { * Output only. File size in bytes. */ fileSizeBytes?: number | null; + /** + * Output only. XLSX output file. + */ + xlsxOutputFile?: Schema$XlsxOutputFile; } /** * Contains a list of output files. @@ -2837,6 +2853,10 @@ export namespace migrationcenter_v1alpha1 { * Platform specific details for Physical Machines. */ export interface Schema$PhysicalPlatformDetails { + /** + * Whether the machine is hyperthreaded. + */ + hyperthreading?: string | null; /** * Free text representation of the machine location. The format of this field should not be relied on. Different machines in the same location may have different string values for this field. */ @@ -3670,6 +3690,10 @@ export namespace migrationcenter_v1alpha1 { * Describes the Migration Center settings related to the project. */ export interface Schema$Settings { + /** + * Customer consent for Google sales to access their Cloud Migration Center project. + */ + customerConsentForGoogleSalesToAccessMigrationCenter?: boolean | null; /** * Disable Cloud Logging for the Migration Center API. Users are billed for the logs. */ @@ -3699,7 +3723,12 @@ export namespace migrationcenter_v1alpha1 { /** * Signed URI destination configuration. */ - export interface Schema$SignedUriDestination {} + export interface Schema$SignedUriDestination { + /** + * Required. The file format to export. + */ + fileFormat?: string | null; + } /** * Contains a list of Signed URIs. */ @@ -3892,11 +3921,11 @@ export namespace migrationcenter_v1alpha1 { */ export interface Schema$TimeZone { /** - * IANA Time Zone Database time zone, e.g. "America/New_York". + * IANA Time Zone Database time zone. For example "America/New_York". */ id?: string | null; /** - * Optional. IANA Time Zone Database version number, e.g. "2019a". + * Optional. IANA Time Zone Database version number. For example "2019a". */ version?: string | null; } @@ -4266,6 +4295,10 @@ export namespace migrationcenter_v1alpha1 { * VMware specific details. */ export interface Schema$VmwarePlatformDetails { + /** + * Whether the ESX is hyperthreaded. + */ + esxHyperthreading?: string | null; /** * ESX version. */ @@ -4279,6 +4312,15 @@ export namespace migrationcenter_v1alpha1 { */ vcenterVersion?: string | null; } + /** + * Contains a single output file of type XLSX. + */ + export interface Schema$XlsxOutputFile { + /** + * Output only. Signed URI destination. + */ + signedUri?: Schema$SignedUri; + } export class Resource$Projects { context: APIRequestContext; @@ -8670,7 +8712,7 @@ export namespace migrationcenter_v1alpha1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/ml/v1.ts b/src/apis/ml/v1.ts index 92e04f79df..387296eca7 100644 --- a/src/apis/ml/v1.ts +++ b/src/apis/ml/v1.ts @@ -3102,7 +3102,7 @@ export namespace ml_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -6291,7 +6291,7 @@ export namespace ml_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/monitoring/v3.ts b/src/apis/monitoring/v3.ts index 3d4c4df4e6..97603e5de6 100644 --- a/src/apis/monitoring/v3.ts +++ b/src/apis/monitoring/v3.ts @@ -154,11 +154,11 @@ export namespace monitoring_v3 { perSeriesAligner?: string | null; } /** - * A description of the conditions under which some aspect of your system is considered to be "unhealthy" and the ways to notify people or services about this state. For an overview of alert policies, see Introduction to Alerting (https://cloud.google.com/monitoring/alerts/). + * A description of the conditions under which some aspect of your system is considered to be "unhealthy" and the ways to notify people or services about this state. For an overview of alerting policies, see Introduction to Alerting (https://cloud.google.com/monitoring/alerts/). */ export interface Schema$AlertPolicy { /** - * Control over how this alert policy's notification channels are notified. + * Control over how this alerting policy's notification channels are notified. */ alertStrategy?: Schema$AlertStrategy; /** @@ -198,7 +198,7 @@ export namespace monitoring_v3 { */ notificationChannels?: string[] | null; /** - * Optional. The severity of an alert policy indicates how important incidents generated by that policy are. The severity level will be displayed on the Incident detail page and in notifications. + * Optional. The severity of an alerting policy indicates how important incidents generated by that policy are. The severity level will be displayed on the Incident detail page and in notifications. */ severity?: string | null; /** @@ -206,7 +206,7 @@ export namespace monitoring_v3 { */ userLabels?: {[key: string]: string} | null; /** - * Read-only description of how the alert policy is invalid. This field is only set when the alert policy is invalid. An invalid alert policy will not generate incidents. + * Read-only description of how the alerting policy is invalid. This field is only set when the alerting policy is invalid. An invalid alerting policy will not generate incidents. */ validity?: Schema$Status; } @@ -215,7 +215,7 @@ export namespace monitoring_v3 { */ export interface Schema$AlertStrategy { /** - * If an alert policy that was active has no data for this long, any open incidents will close + * If an alerting policy that was active has no data for this long, any open incidents will close */ autoClose?: string | null; /** @@ -223,7 +223,11 @@ export namespace monitoring_v3 { */ notificationChannelStrategy?: Schema$NotificationChannelStrategy[]; /** - * Required for log-based alert policies, i.e. policies with a LogMatch condition.This limit is not implemented for alert policies that do not have a LogMatch condition. + * For log-based alert policies, the notification prompts is always OPENED. For non log-based alert policies, the notification prompts can be OPENED or OPENED, CLOSED. + */ + notificationPrompts?: string[] | null; + /** + * Required for log-based alerting policies, i.e. policies with a LogMatch condition.This limit is not implemented for alerting policies that do not have a LogMatch condition. */ notificationRateLimit?: Schema$NotificationRateLimit; } @@ -478,7 +482,7 @@ export namespace monitoring_v3 { */ conditionPrometheusQueryLanguage?: Schema$PrometheusQueryLanguageCondition; /** - * A condition that uses SQL to define alerts in Logs Analytics. + * A condition that periodically evaluates a SQL query result. */ conditionSql?: Schema$SqlCondition; /** @@ -589,7 +593,7 @@ export namespace monitoring_v3 { */ executionTime?: Schema$TimeOfDay; /** - * Required. LINT.IfChange The number of days between runs. Must be greater than or equal to 1 day and less than or equal to 31 days. LINT.ThenChange(//depot/google3/cloud/monitoring/api/alerts/policy_validation.cc) + * Required. The number of days between runs. Must be greater than or equal to 1 day and less than or equal to 31 days. */ periodicity?: number | null; } @@ -923,11 +927,11 @@ export namespace monitoring_v3 { */ export interface Schema$Hourly { /** - * Optional. LINT.IfChange The number of minutes after the hour (in UTC) to run the query. Must be between 0 and 59 inclusive. If left unspecified, then an arbitrary offset is used. LINT.ThenChange(//depot/google3/cloud/monitoring/api/alerts/policy_validation.cc) + * Optional. The number of minutes after the hour (in UTC) to run the query. Must be greater than or equal to 0 minutes and less than or equal to 59 minutes. If left unspecified, then an arbitrary offset is used. */ minuteOffset?: number | null; /** - * Required. LINT.IfChange The number of hours between runs. Must be greater than or equal to 1 hour and less than or equal to 48 hours. LINT.ThenChange(//depot/google3/cloud/monitoring/api/alerts/policy_validation.cc) + * Required. The number of hours between runs. Must be greater than or equal to 1 hour and less than or equal to 48 hours. */ periodicity?: number | null; } @@ -1514,7 +1518,7 @@ export namespace monitoring_v3 { */ export interface Schema$Minutes { /** - * Required. LINT.IfChange Number of minutes between runs. The interval must be between 5 minutes and 1440 minutes. LINT.ThenChange(//depot/google3/cloud/monitoring/api/alerts/policy_validation.cc) + * Required. Number of minutes between runs. The interval must be greater than or equal to 5 minutes and less than or equal to 1440 minutes. */ periodicity?: number | null; } @@ -1574,7 +1578,7 @@ export namespace monitoring_v3 { userLabels?: {[key: string]: string} | null; } /** - * A condition type that allows alert policies to be defined using Monitoring Query Language (https://cloud.google.com/monitoring/mql). + * A condition type that allows alerting policies to be defined using Monitoring Query Language (https://cloud.google.com/monitoring/mql). */ export interface Schema$MonitoringQueryLanguageCondition { /** @@ -1699,7 +1703,7 @@ export namespace monitoring_v3 { renotifyInterval?: string | null; } /** - * Control over the rate of notifications sent to this alert policy's notification channels. + * Control over the rate of notifications sent to this alerting policy's notification channels. */ export interface Schema$NotificationRateLimit { /** @@ -1790,13 +1794,17 @@ export namespace monitoring_v3 { values?: Schema$TypedValue[]; } /** - * A condition type that allows alert policies to be defined using Prometheus Query Language (PromQL) (https://prometheus.io/docs/prometheus/latest/querying/basics/).The PrometheusQueryLanguageCondition message contains information from a Prometheus alerting rule and its associated rule group.A Prometheus alerting rule is described here (https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/). The semantics of a Prometheus alerting rule is described here (https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/#rule).A Prometheus rule group is described here (https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/). The semantics of a Prometheus rule group is described here (https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/#rule_group).Because Cloud Alerting has no representation of a Prometheus rule group resource, we must embed the information of the parent rule group inside each of the conditions that refer to it. We must also update the contents of all Prometheus alerts in case the information of their rule group changes.The PrometheusQueryLanguageCondition protocol buffer combines the information of the corresponding rule group and alerting rule. The structure of the PrometheusQueryLanguageCondition protocol buffer does NOT mimic the structure of the Prometheus rule group and alerting rule YAML declarations. The PrometheusQueryLanguageCondition protocol buffer may change in the future to support future rule group and/or alerting rule features. There are no new such features at the present time (2023-06-26). + * A condition type that allows alerting policies to be defined using Prometheus Query Language (PromQL) (https://prometheus.io/docs/prometheus/latest/querying/basics/).The PrometheusQueryLanguageCondition message contains information from a Prometheus alerting rule and its associated rule group.A Prometheus alerting rule is described here (https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/). The semantics of a Prometheus alerting rule is described here (https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/#rule).A Prometheus rule group is described here (https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/). The semantics of a Prometheus rule group is described here (https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/#rule_group).Because Cloud Alerting has no representation of a Prometheus rule group resource, we must embed the information of the parent rule group inside each of the conditions that refer to it. We must also update the contents of all Prometheus alerts in case the information of their rule group changes.The PrometheusQueryLanguageCondition protocol buffer combines the information of the corresponding rule group and alerting rule. The structure of the PrometheusQueryLanguageCondition protocol buffer does NOT mimic the structure of the Prometheus rule group and alerting rule YAML declarations. The PrometheusQueryLanguageCondition protocol buffer may change in the future to support future rule group and/or alerting rule features. There are no new such features at the present time (2023-06-26). */ export interface Schema$PrometheusQueryLanguageCondition { /** * Optional. The alerting rule name of this alert in the corresponding Prometheus configuration file.Some external tools may require this field to be populated correctly in order to refer to the original Prometheus configuration file. The rule group name and the alert name are necessary to update the relevant AlertPolicies in case the definition of the rule group changes in the future.This field is optional. If this field is not empty, then it must be a valid Prometheus label name (https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels). This field may not exceed 2048 Unicode characters in length. */ alertRule?: string | null; + /** + * Optional. Whether to disable metric existence validation for this condition.This allows alerting policies to be defined on metrics that do not yet exist, improving advanced customer workflows such as configuring alerting policies using Terraform.Users with the monitoring.alertPolicyViewer role are able to see the name of the non-existent metric in the alerting policy condition. + */ + disableMetricValidation?: boolean | null; /** * Optional. Alerts are considered firing once their PromQL expression was evaluated to be "true" for this long. Alerts whose PromQL expression was not evaluated to be "true" for long enough are considered pending. Must be a non-negative duration or missing. This field is optional. Its default value is zero. */ @@ -2089,7 +2097,7 @@ export namespace monitoring_v3 { spanName?: string | null; } /** - * A condition that allows alert policies to be defined using GoogleSQL. SQL conditions examine a sliding window of logs using GoogleSQL. Alert policies with SQL conditions may incur additional billing. + * A condition that allows alerting policies to be defined using GoogleSQL. SQL conditions examine a sliding window of logs using GoogleSQL. Alert policies with SQL conditions may incur additional billing. */ export interface Schema$SqlCondition { /** @@ -2109,7 +2117,7 @@ export namespace monitoring_v3 { */ minutes?: Schema$Minutes; /** - * Required. The Log Analytics SQL query to run, as a string. The query must conform to the required shape. Specifically, the query must not try to filter the input by time. A filter will automatically be applied to filter the input so that the query receives all rows received since the last time the query was run.E.g. Extract all log entries containing an HTTP request:SELECT timestamp, log_name, severity, http_request, resource, labels FROM my-project.global._Default._AllLogs WHERE http_request IS NOT NULL + * Required. The Log Analytics SQL query to run, as a string. The query must conform to the required shape. Specifically, the query must not try to filter the input by time. A filter will automatically be applied to filter the input so that the query receives all rows received since the last time the query was run.For example, the following query extracts all log entries containing an HTTP request:SELECT timestamp, log_name, severity, http_request, resource, labels FROM my-project.global._Default._AllLogs WHERE http_request IS NOT NULL */ query?: string | null; /** @@ -2183,19 +2191,19 @@ export namespace monitoring_v3 { */ export interface Schema$TimeOfDay { /** - * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. */ hours?: number | null; /** - * Minutes of hour of day. Must be from 0 to 59. + * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. */ minutes?: number | null; /** - * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. */ nanos?: number | null; /** - * Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. */ seconds?: number | null; } @@ -4541,7 +4549,7 @@ export namespace monitoring_v3 { export interface Params$Resource$Projects$Metricdescriptors$List extends StandardParameters { /** - * If this field is empty, all custom and system-defined metric descriptors are returned. Otherwise, the filter (https://cloud.google.com/monitoring/api/v3/filters) specifies which metric descriptors are to be returned. For example, the following filter matches all custom metrics (https://cloud.google.com/monitoring/custom-metrics): metric.type = starts_with("custom.googleapis.com/") + * Optional. If this field is empty, all custom and system-defined metric descriptors are returned. Otherwise, the filter (https://cloud.google.com/monitoring/api/v3/filters) specifies which metric descriptors are to be returned. For example, the following filter matches all custom metrics (https://cloud.google.com/monitoring/custom-metrics): metric.type = starts_with("custom.googleapis.com/") */ filter?: string; /** @@ -4549,11 +4557,11 @@ export namespace monitoring_v3 { */ name?: string; /** - * A positive number that is the maximum number of results to return. The default and maximum value is 10,000. If a page_size <= 0 or \> 10,000 is submitted, will instead return a maximum of 10,000 results. + * Optional. A positive number that is the maximum number of results to return. The default and maximum value is 10,000. If a page_size <= 0 or \> 10,000 is submitted, will instead return a maximum of 10,000 results. */ pageSize?: number; /** - * If this field is not empty then it must contain the nextPageToken value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call. + * Optional. If this field is not empty then it must contain the nextPageToken value returned by a previous call to this method. Using this field causes the method to return additional results from the previous method call. */ pageToken?: string; } @@ -5751,7 +5759,7 @@ export namespace monitoring_v3 { export interface Params$Resource$Projects$Notificationchannels$Delete extends StandardParameters { /** - * If true, the notification channel will be deleted regardless of its use in alert policies (the policies will be updated to remove the channel). If false, channels that are still referenced by an existing alerting policy will fail to be deleted in a delete operation. + * If true, the notification channel will be deleted regardless of its use in alert policies (the policies will be updated to remove the channel). If false, this operation will fail if the notification channel is referenced by existing alerting policies. */ force?: boolean; /** diff --git a/src/apis/mybusinessaccountmanagement/v1.ts b/src/apis/mybusinessaccountmanagement/v1.ts index 106173c546..87c88d5406 100644 --- a/src/apis/mybusinessaccountmanagement/v1.ts +++ b/src/apis/mybusinessaccountmanagement/v1.ts @@ -291,15 +291,15 @@ export namespace mybusinessaccountmanagement_v1 { registeredDomain?: string | null; } /** - * Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478 + * Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478 */ export interface Schema$PostalAddress { /** - * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). + * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). */ addressLines?: string[] | null; /** - * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated. + * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated. */ administrativeArea?: string | null; /** @@ -315,7 +315,7 @@ export namespace mybusinessaccountmanagement_v1 { */ organization?: string | null; /** - * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.). + * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.). */ postalCode?: string | null; /** @@ -331,7 +331,7 @@ export namespace mybusinessaccountmanagement_v1 { */ revision?: number | null; /** - * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (e.g. Côte d'Ivoire). + * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (For example "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (For example Côte d'Ivoire). */ sortingCode?: string | null; /** diff --git a/src/apis/mybusinessbusinessinformation/v1.ts b/src/apis/mybusinessbusinessinformation/v1.ts index c1366e8a71..2fe6b0b0a9 100644 --- a/src/apis/mybusinessbusinessinformation/v1.ts +++ b/src/apis/mybusinessbusinessinformation/v1.ts @@ -709,15 +709,15 @@ export namespace mybusinessbusinessinformation_v1 { placeInfos?: Schema$PlaceInfo[]; } /** - * Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478 + * Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478 */ export interface Schema$PostalAddress { /** - * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). + * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). */ addressLines?: string[] | null; /** - * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated. + * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated. */ administrativeArea?: string | null; /** @@ -733,7 +733,7 @@ export namespace mybusinessbusinessinformation_v1 { */ organization?: string | null; /** - * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.). + * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.). */ postalCode?: string | null; /** @@ -749,7 +749,7 @@ export namespace mybusinessbusinessinformation_v1 { */ revision?: number | null; /** - * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (e.g. Côte d'Ivoire). + * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (For example "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (For example Côte d'Ivoire). */ sortingCode?: string | null; /** diff --git a/src/apis/mybusinessverifications/v1.ts b/src/apis/mybusinessverifications/v1.ts index 75169f9f7d..f6d9b532e7 100644 --- a/src/apis/mybusinessverifications/v1.ts +++ b/src/apis/mybusinessverifications/v1.ts @@ -221,15 +221,15 @@ export namespace mybusinessverifications_v1 { verifications?: Schema$Verification[]; } /** - * Represents a postal address, e.g. for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created via user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, please see: https://support.google.com/business/answer/6397478 + * Represents a postal address. For example for postal delivery or payments addresses. Given a postal address, a postal service can deliver items to a premise, P.O. Box or similar. It is not intended to model geographical locations (roads, towns, mountains). In typical usage an address would be created by user input or from importing existing data, depending on the type of process. Advice on address input / editing: - Use an internationalization-ready address widget such as https://github.com/google/libaddressinput) - Users should not be presented with UI elements for input or editing of fields outside countries where that field is used. For more guidance on how to use this schema, see: https://support.google.com/business/answer/6397478 */ export interface Schema$PostalAddress { /** - * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (e.g. "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (e.g. Japan), address_language is used to make it explicit (e.g. "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). + * Unstructured address lines describing the lower levels of an address. Because values in address_lines do not have type information and may sometimes contain multiple values in a single field (For example "Austin, TX"), it is important that the line order is clear. The order of address lines should be "envelope order" for the country/region of the address. In places where this can vary (For example Japan), address_language is used to make it explicit (For example "ja" for large-to-small ordering and "ja-Latn" or "en" for small-to-large). This way, the most specific line of an address can be selected based on the language. The minimum permitted structural representation of an address consists of a region_code with all remaining information placed in the address_lines. It would be possible to format such an address very approximately without geocoding, but no semantic reasoning could be made about any of the address components until it was at least partially resolved. Creating an address only containing a region_code and address_lines, and then geocoding is the recommended way to handle completely unstructured addresses (as opposed to guessing which parts of the address should be localities or administrative areas). */ addressLines?: string[] | null; /** - * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (e.g. "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. E.g. in Switzerland this should be left unpopulated. + * Optional. Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, an oblast, or a prefecture. Specifically, for Spain this is the province and not the autonomous community (For example "Barcelona" and not "Catalonia"). Many countries don't use an administrative area in postal addresses. For example in Switzerland this should be left unpopulated. */ administrativeArea?: string | null; /** @@ -245,7 +245,7 @@ export namespace mybusinessverifications_v1 { */ organization?: string | null; /** - * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (e.g. state/zip validation in the U.S.A.). + * Optional. Postal code of the address. Not all countries use or require postal codes to be present, but where they are used, they may trigger additional validation with other parts of the address (For example state/zip validation in the U.S.A.). */ postalCode?: string | null; /** @@ -261,7 +261,7 @@ export namespace mybusinessverifications_v1 { */ revision?: number | null; /** - * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (e.g. "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (e.g. Côte d'Ivoire). + * Optional. Additional, country-specific, sorting code. This is not used in most regions. Where it is used, the value is either a string like "CEDEX", optionally followed by a number (For example "CEDEX 7"), or just a number alone, representing the "sector code" (Jamaica), "delivery area indicator" (Malawi) or "post office indicator" (For example Côte d'Ivoire). */ sortingCode?: string | null; /** diff --git a/src/apis/netapp/README.md b/src/apis/netapp/README.md new file mode 100644 index 0000000000..d92e28d765 --- /dev/null +++ b/src/apis/netapp/README.md @@ -0,0 +1,28 @@ +Google Inc. logo + +# netapp + +> Google Cloud NetApp Volumes is a fully-managed, cloud-based data storage service that provides advanced data management capabilities and highly scalable performance with global availability. + +## Installation + +```sh +$ npm install @googleapis/netapp +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/googleapis/google-api-nodejs-client). +Information on classes can be found in [Googleapis Documentation](https://googleapis.dev/nodejs/googleapis/latest/netapp/classes/Netapp.html). + +## License +This library is licensed under Apache 2.0. Full license text is available in [LICENSE](https://github.com/googleapis/google-api-nodejs-client/blob/main/LICENSE). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/main/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/googleapis/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/src/apis/netapp/index.ts b/src/apis/netapp/index.ts new file mode 100644 index 0000000000..bb0926dea0 --- /dev/null +++ b/src/apis/netapp/index.ts @@ -0,0 +1,53 @@ +// Copyright 2020 Google LLC +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/*! THIS FILE IS AUTO-GENERATED */ + +import {AuthPlus, getAPI, GoogleConfigurable} from 'googleapis-common'; +import {netapp_v1} from './v1'; +import {netapp_v1beta1} from './v1beta1'; + +export const VERSIONS = { + v1: netapp_v1.Netapp, + v1beta1: netapp_v1beta1.Netapp, +}; + +export function netapp(version: 'v1'): netapp_v1.Netapp; +export function netapp(options: netapp_v1.Options): netapp_v1.Netapp; +export function netapp(version: 'v1beta1'): netapp_v1beta1.Netapp; +export function netapp(options: netapp_v1beta1.Options): netapp_v1beta1.Netapp; +export function netapp( + this: GoogleConfigurable, + versionOrOptions: + | 'v1' + | netapp_v1.Options + | 'v1beta1' + | netapp_v1beta1.Options +) { + return getAPI('netapp', versionOrOptions, VERSIONS, this); +} + +const auth = new AuthPlus(); +export {auth}; +export {netapp_v1}; +export {netapp_v1beta1}; +export { + AuthPlus, + GlobalOptions, + APIRequestContext, + GoogleConfigurable, + StreamMethodOptions, + GaxiosPromise, + MethodOptions, + BodyResponseCallback, +} from 'googleapis-common'; diff --git a/src/apis/netapp/package.json b/src/apis/netapp/package.json new file mode 100644 index 0000000000..c1e5795c3e --- /dev/null +++ b/src/apis/netapp/package.json @@ -0,0 +1,43 @@ +{ + "name": "@googleapis/netapp", + "version": "0.1.0", + "description": "netapp", + "main": "build/index.js", + "types": "build/index.d.ts", + "keywords": [ + "google" + ], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/googleapis/google-api-nodejs-client", + "bugs": { + "url": "https://github.com/googleapis/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/googleapis/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=12.0.0" + }, + "scripts": { + "fix": "gts fix", + "lint": "gts check", + "compile": "tsc -p .", + "prepare": "npm run compile", + "webpack": "webpack" + }, + "dependencies": { + "googleapis-common": "^7.0.0" + }, + "devDependencies": { + "@microsoft/api-documenter": "^7.8.10", + "@microsoft/api-extractor": "^7.8.10", + "gts": "^5.0.0", + "null-loader": "^4.0.0", + "ts-loader": "^9.0.0", + "typescript": "~4.8.4", + "webpack": "^5.0.0", + "webpack-cli": "^5.0.0" + } +} diff --git a/src/apis/netapp/tsconfig.json b/src/apis/netapp/tsconfig.json new file mode 100644 index 0000000000..e081090496 --- /dev/null +++ b/src/apis/netapp/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "./node_modules/gts/tsconfig-google.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "build" + }, + "include": [ + "*.ts", + ] +} diff --git a/src/apis/netapp/v1.ts b/src/apis/netapp/v1.ts new file mode 100644 index 0000000000..3ae67824f7 --- /dev/null +++ b/src/apis/netapp/v1.ts @@ -0,0 +1,7771 @@ +// Copyright 2020 Google LLC +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/no-empty-interface */ +/* eslint-disable @typescript-eslint/no-namespace */ +/* eslint-disable no-irregular-whitespace */ + +import { + OAuth2Client, + JWT, + Compute, + UserRefreshClient, + BaseExternalAccountClient, + GaxiosPromise, + GoogleConfigurable, + createAPIRequest, + MethodOptions, + StreamMethodOptions, + GlobalOptions, + GoogleAuth, + BodyResponseCallback, + APIRequestContext, +} from 'googleapis-common'; +import {Readable} from 'stream'; + +export namespace netapp_v1 { + export interface Options extends GlobalOptions { + version: 'v1'; + } + + interface StandardParameters { + /** + * Auth client or API Key for the request + */ + auth?: + | string + | OAuth2Client + | JWT + | Compute + | UserRefreshClient + | BaseExternalAccountClient + | GoogleAuth; + + /** + * V1 error format. + */ + '$.xgafv'?: string; + /** + * OAuth access token. + */ + access_token?: string; + /** + * Data format for response. + */ + alt?: string; + /** + * JSONP + */ + callback?: string; + /** + * Selector specifying which fields to include in a partial response. + */ + fields?: string; + /** + * API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + */ + key?: string; + /** + * OAuth 2.0 token for the current user. + */ + oauth_token?: string; + /** + * Returns response with indentations and line breaks. + */ + prettyPrint?: boolean; + /** + * Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + */ + quotaUser?: string; + /** + * Legacy upload protocol for media (e.g. "media", "multipart"). + */ + uploadType?: string; + /** + * Upload protocol for media (e.g. "raw", "multipart"). + */ + upload_protocol?: string; + } + + /** + * NetApp API + * + * Google Cloud NetApp Volumes is a fully-managed, cloud-based data storage service that provides advanced data management capabilities and highly scalable performance with global availability. + * + * @example + * ```js + * const {google} = require('googleapis'); + * const netapp = google.netapp('v1'); + * ``` + */ + export class Netapp { + context: APIRequestContext; + projects: Resource$Projects; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.projects = new Resource$Projects(this.context); + } + } + + /** + * ActiveDirectory is the public representation of the active directory config. + */ + export interface Schema$ActiveDirectory { + /** + * Optional. Users to be added to the Built-in Admininstrators group. + */ + administrators?: string[] | null; + /** + * If enabled, AES encryption will be enabled for SMB communication. + */ + aesEncryption?: boolean | null; + /** + * Optional. Users to be added to the Built-in Backup Operator active directory group. + */ + backupOperators?: string[] | null; + /** + * Output only. Create time of the active directory. + */ + createTime?: string | null; + /** + * Description of the active directory. + */ + description?: string | null; + /** + * Required. Comma separated list of DNS server IP addresses for the Active Directory domain. + */ + dns?: string | null; + /** + * Required. Name of the Active Directory domain + */ + domain?: string | null; + /** + * If enabled, traffic between the SMB server to Domain Controller (DC) will be encrypted. + */ + encryptDcConnections?: boolean | null; + /** + * Name of the active directory machine. This optional parameter is used only while creating kerberos volume + */ + kdcHostname?: string | null; + /** + * KDC server IP address for the active directory machine. + */ + kdcIp?: string | null; + /** + * Labels for the active directory. + */ + labels?: {[key: string]: string} | null; + /** + * Specifies whether or not the LDAP traffic needs to be signed. + */ + ldapSigning?: boolean | null; + /** + * Identifier. The resource name of the active directory. Format: `projects/{project_number\}/locations/{location_id\}/activeDirectories/{active_directory_id\}`. + */ + name?: string | null; + /** + * Required. NetBIOSPrefix is used as a prefix for SMB server name. + */ + netBiosPrefix?: string | null; + /** + * If enabled, will allow access to local users and LDAP users. If access is needed for only LDAP users, it has to be disabled. + */ + nfsUsersWithLdap?: boolean | null; + /** + * The Organizational Unit (OU) within the Windows Active Directory the user belongs to. + */ + organizationalUnit?: string | null; + /** + * Required. Password of the Active Directory domain administrator. + */ + password?: string | null; + /** + * Optional. Domain users to be given the SeSecurityPrivilege. + */ + securityOperators?: string[] | null; + /** + * The Active Directory site the service will limit Domain Controller discovery too. + */ + site?: string | null; + /** + * Output only. The state of the AD. + */ + state?: string | null; + /** + * Output only. The state details of the Active Directory. + */ + stateDetails?: string | null; + /** + * Required. Username of the Active Directory domain administrator. + */ + username?: string | null; + } + /** + * A NetApp Backup. + */ + export interface Schema$Backup { + /** + * Output only. Type of backup, manually created or created by a backup policy. + */ + backupType?: string | null; + /** + * Output only. Total size of all backups in a chain in bytes = baseline backup size + sum(incremental backup size) + */ + chainStorageBytes?: string | null; + /** + * Output only. The time when the backup was created. + */ + createTime?: string | null; + /** + * A description of the backup with 2048 characters or less. Requests with longer descriptions will be rejected. + */ + description?: string | null; + /** + * Resource labels to represent user provided metadata. + */ + labels?: {[key: string]: string} | null; + /** + * Identifier. The resource name of the backup. Format: `projects/{project_id\}/locations/{location\}/backupVaults/{backup_vault_id\}/backups/{backup_id\}`. + */ + name?: string | null; + /** + * Output only. Reserved for future use + */ + satisfiesPzi?: boolean | null; + /** + * Output only. Reserved for future use + */ + satisfiesPzs?: boolean | null; + /** + * If specified, backup will be created from the given snapshot. If not specified, there will be a new snapshot taken to initiate the backup creation. Format: `projects/{project_id\}/locations/{location\}/volumes/{volume_id\}/snapshots/{snapshot_id\}` + */ + sourceSnapshot?: string | null; + /** + * Volume full name of this backup belongs to. Format: `projects/{projects_id\}/locations/{location\}/volumes/{volume_id\}` + */ + sourceVolume?: string | null; + /** + * Output only. The backup state. + */ + state?: string | null; + /** + * Output only. Size of the file system when the backup was created. When creating a new volume from the backup, the volume capacity will have to be at least as big. + */ + volumeUsageBytes?: string | null; + } + /** + * BackupConfig contains backup related config on a volume. + */ + export interface Schema$BackupConfig { + /** + * Output only. Total size of all backups in a chain in bytes = baseline backup size + sum(incremental backup size). + */ + backupChainBytes?: string | null; + /** + * Optional. When specified, schedule backups will be created based on the policy configuration. + */ + backupPolicies?: string[] | null; + /** + * Optional. Name of backup vault. Format: projects/{project_id\}/locations/{location\}/backupVaults/{backup_vault_id\} + */ + backupVault?: string | null; + /** + * Optional. When set to true, scheduled backup is enabled on the volume. This field should be nil when there's no backup policy attached. + */ + scheduledBackupEnabled?: boolean | null; + } + /** + * Backup Policy. + */ + export interface Schema$BackupPolicy { + /** + * Output only. The total number of volumes assigned by this backup policy. + */ + assignedVolumeCount?: number | null; + /** + * Output only. The time when the backup policy was created. + */ + createTime?: string | null; + /** + * Number of daily backups to keep. Note that the minimum daily backup limit is 2. + */ + dailyBackupLimit?: number | null; + /** + * Description of the backup policy. + */ + description?: string | null; + /** + * If enabled, make backups automatically according to the schedules. This will be applied to all volumes that have this policy attached and enforced on volume level. If not specified, default is true. + */ + enabled?: boolean | null; + /** + * Resource labels to represent user provided metadata. + */ + labels?: {[key: string]: string} | null; + /** + * Number of monthly backups to keep. Note that the sum of daily, weekly and monthly backups should be greater than 1. + */ + monthlyBackupLimit?: number | null; + /** + * Identifier. The resource name of the backup policy. Format: `projects/{project_id\}/locations/{location\}/backupPolicies/{backup_policy_id\}`. + */ + name?: string | null; + /** + * Output only. The backup policy state. + */ + state?: string | null; + /** + * Number of weekly backups to keep. Note that the sum of daily, weekly and monthly backups should be greater than 1. + */ + weeklyBackupLimit?: number | null; + } + /** + * A NetApp BackupVault. + */ + export interface Schema$BackupVault { + /** + * Output only. Create time of the backup vault. + */ + createTime?: string | null; + /** + * Description of the backup vault. + */ + description?: string | null; + /** + * Resource labels to represent user provided metadata. + */ + labels?: {[key: string]: string} | null; + /** + * Identifier. The resource name of the backup vault. Format: `projects/{project_id\}/locations/{location\}/backupVaults/{backup_vault_id\}`. + */ + name?: string | null; + /** + * Output only. The backup vault state. + */ + state?: string | null; + } + /** + * The request message for Operations.CancelOperation. + */ + export interface Schema$CancelOperationRequest {} + /** + * Make a snapshot every day e.g. at 04:00, 05:20, 23:50 + */ + export interface Schema$DailySchedule { + /** + * Set the hour to start the snapshot (0-23), defaults to midnight (0). + */ + hour?: number | null; + /** + * Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0). + */ + minute?: number | null; + /** + * The maximum number of Snapshots to keep for the hourly schedule + */ + snapshotsToKeep?: number | null; + } + /** + * DestinationVolumeParameters specify input parameters used for creating destination volume. + */ + export interface Schema$DestinationVolumeParameters { + /** + * Description for the destination volume. + */ + description?: string | null; + /** + * Destination volume's share name. If not specified, source volume's share name will be used. + */ + shareName?: string | null; + /** + * Required. Existing destination StoragePool name. + */ + storagePool?: string | null; + /** + * Optional. Tiering policy for the volume. + */ + tieringPolicy?: Schema$TieringPolicy; + /** + * Desired destination volume resource id. If not specified, source volume's resource id will be used. This value must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens, and cannot end with a hyphen. + */ + volumeId?: string | null; + } + /** + * EncryptVolumesRequest specifies the KMS config to encrypt existing volumes. + */ + export interface Schema$EncryptVolumesRequest {} + /** + * EstablishPeeringRequest establishes cluster and svm peerings between the source and the destination replications. + */ + export interface Schema$EstablishPeeringRequest { + /** + * Required. Name of the user's local source cluster to be peered with the destination cluster. + */ + peerClusterName?: string | null; + /** + * Optional. List of IPv4 ip addresses to be used for peering. + */ + peerIpAddresses?: string[] | null; + /** + * Required. Name of the user's local source vserver svm to be peered with the destination vserver svm. + */ + peerSvmName?: string | null; + /** + * Required. Name of the user's local source volume to be peered with the destination volume. + */ + peerVolumeName?: string | null; + } + /** + * Defines the export policy for the volume. + */ + export interface Schema$ExportPolicy { + /** + * Required. List of export policy rules + */ + rules?: Schema$SimpleExportPolicyRule[]; + } + /** + * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} + */ + export interface Schema$GoogleProtobufEmpty {} + /** + * Make a snapshot every hour e.g. at 04:00, 05:00, 06:00. + */ + export interface Schema$HourlySchedule { + /** + * Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0). + */ + minute?: number | null; + /** + * The maximum number of Snapshots to keep for the hourly schedule + */ + snapshotsToKeep?: number | null; + } + /** + * HybridPeeringDetails contains details about the hybrid peering. + */ + export interface Schema$HybridPeeringDetails { + /** + * Optional. Copy-paste-able commands to be used on user's ONTAP to accept peering requests. + */ + command?: string | null; + /** + * Optional. Expiration time for the peering command to be executed on user's ONTAP. + */ + commandExpiryTime?: string | null; + /** + * Optional. Temporary passphrase generated to accept cluster peering command. + */ + passphrase?: string | null; + /** + * Optional. IP address of the subnet. + */ + subnetIp?: string | null; + } + /** + * The Hybrid Replication parameters for the volume. + */ + export interface Schema$HybridReplicationParameters { + /** + * Optional. Name of source cluster location associated with the Hybrid replication. This is a free-form field for the display purpose only. + */ + clusterLocation?: string | null; + /** + * Optional. Description of the replication. + */ + description?: string | null; + /** + * Optional. Labels to be added to the replication as the key value pairs. + */ + labels?: {[key: string]: string} | null; + /** + * Required. Name of the user's local source cluster to be peered with the destination cluster. + */ + peerClusterName?: string | null; + /** + * Required. List of node ip addresses to be peered with. + */ + peerIpAddresses?: string[] | null; + /** + * Required. Name of the user's local source vserver svm to be peered with the destination vserver svm. + */ + peerSvmName?: string | null; + /** + * Required. Name of the user's local source volume to be peered with the destination volume. + */ + peerVolumeName?: string | null; + /** + * Required. Desired name for the replication of this volume. + */ + replication?: string | null; + } + /** + * KmsConfig is the customer managed encryption key(CMEK) configuration. + */ + export interface Schema$KmsConfig { + /** + * Output only. Create time of the KmsConfig. + */ + createTime?: string | null; + /** + * Required. Customer managed crypto key resource full name. Format: projects/{project\}/locations/{location\}/keyRings/{key_ring\}/cryptoKeys/{key\}. + */ + cryptoKeyName?: string | null; + /** + * Description of the KmsConfig. + */ + description?: string | null; + /** + * Output only. Instructions to provide the access to the customer provided encryption key. + */ + instructions?: string | null; + /** + * Labels as key value pairs + */ + labels?: {[key: string]: string} | null; + /** + * Identifier. Name of the KmsConfig. + */ + name?: string | null; + /** + * Output only. The Service account which will have access to the customer provided encryption key. + */ + serviceAccount?: string | null; + /** + * Output only. State of the KmsConfig. + */ + state?: string | null; + /** + * Output only. State details of the KmsConfig. + */ + stateDetails?: string | null; + } + /** + * ListActiveDirectoriesResponse contains all the active directories requested. + */ + export interface Schema$ListActiveDirectoriesResponse { + /** + * The list of active directories. + */ + activeDirectories?: Schema$ActiveDirectory[]; + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * ListBackupPoliciesResponse contains all the backup policies requested. + */ + export interface Schema$ListBackupPoliciesResponse { + /** + * The list of backup policies. + */ + backupPolicies?: Schema$BackupPolicy[]; + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * ListBackupsResponse is the result of ListBackupsRequest. + */ + export interface Schema$ListBackupsResponse { + /** + * A list of backups in the project. + */ + backups?: Schema$Backup[]; + /** + * The token you can use to retrieve the next page of results. Not returned if there are no more results in the list. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * ListBackupVaultsResponse is the result of ListBackupVaultsRequest. + */ + export interface Schema$ListBackupVaultsResponse { + /** + * A list of backupVaults in the project for the specified location. + */ + backupVaults?: Schema$BackupVault[]; + /** + * The token you can use to retrieve the next page of results. Not returned if there are no more results in the list. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * ListKmsConfigsResponse is the response to a ListKmsConfigsRequest. + */ + export interface Schema$ListKmsConfigsResponse { + /** + * The list of KmsConfigs + */ + kmsConfigs?: Schema$KmsConfig[]; + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * The response message for Locations.ListLocations. + */ + export interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string | null; + } + /** + * The response message for Operations.ListOperations. + */ + export interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string | null; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * ListReplicationsResponse is the result of ListReplicationsRequest. + */ + export interface Schema$ListReplicationsResponse { + /** + * The token you can use to retrieve the next page of results. Not returned if there are no more results in the list. + */ + nextPageToken?: string | null; + /** + * A list of replications in the project for the specified volume. + */ + replications?: Schema$Replication[]; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * ListSnapshotsResponse is the result of ListSnapshotsRequest. + */ + export interface Schema$ListSnapshotsResponse { + /** + * The token you can use to retrieve the next page of results. Not returned if there are no more results in the list. + */ + nextPageToken?: string | null; + /** + * A list of snapshots in the project for the specified volume. + */ + snapshots?: Schema$Snapshot[]; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * ListStoragePoolsResponse is the response to a ListStoragePoolsRequest. + */ + export interface Schema$ListStoragePoolsResponse { + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + /** + * The list of StoragePools + */ + storagePools?: Schema$StoragePool[]; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * Message for response to listing Volumes + */ + export interface Schema$ListVolumesResponse { + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + /** + * The list of Volume + */ + volumes?: Schema$Volume[]; + } + /** + * A resource that represents a Google Cloud location. + */ + export interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For example, "Tokyo". + */ + displayName?: string | null; + /** + * Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"\} + */ + labels?: {[key: string]: string} | null; + /** + * The canonical id for this location. For example: `"us-east1"`. + */ + locationId?: string | null; + /** + * Service-specific metadata. For example the available capacity at the given location. + */ + metadata?: {[key: string]: any} | null; + /** + * Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` + */ + name?: string | null; + } + /** + * Metadata for a given google.cloud.location.Location. + */ + export interface Schema$LocationMetadata { + /** + * Output only. Supported service levels in a location. + */ + supportedServiceLevels?: string[] | null; + } + /** + * Make a snapshot once a month e.g. at 2nd 04:00, 7th 05:20, 24th 23:50 + */ + export interface Schema$MonthlySchedule { + /** + * Set the day or days of the month to make a snapshot (1-31). Accepts a comma separated number of days. Defaults to '1'. + */ + daysOfMonth?: string | null; + /** + * Set the hour to start the snapshot (0-23), defaults to midnight (0). + */ + hour?: number | null; + /** + * Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0). + */ + minute?: number | null; + /** + * The maximum number of Snapshots to keep for the hourly schedule + */ + snapshotsToKeep?: number | null; + } + /** + * View only mount options for a volume. + */ + export interface Schema$MountOption { + /** + * Export string + */ + export?: string | null; + /** + * Full export string + */ + exportFull?: string | null; + /** + * Instructions for mounting + */ + instructions?: string | null; + /** + * Protocol to mount with. + */ + protocol?: string | null; + } + /** + * This resource represents a long-running operation that is the result of a network API call. + */ + export interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. + */ + done?: boolean | null; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. + */ + metadata?: {[key: string]: any} | null; + /** + * The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id\}`. + */ + name?: string | null; + /** + * The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: {[key: string]: any} | null; + } + /** + * Represents the metadata of the long-running operation. + */ + export interface Schema$OperationMetadata { + /** + * Output only. API version used to start the operation. + */ + apiVersion?: string | null; + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been canceled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + */ + requestedCancellation?: boolean | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; + /** + * Output only. Server-defined resource path for the target of the operation. + */ + target?: string | null; + /** + * Output only. Name of the verb executed by the operation. + */ + verb?: string | null; + } + /** + * Replication is a nested resource under Volume, that describes a cross-region replication relationship between 2 volumes in different regions. + */ + export interface Schema$Replication { + /** + * Optional. Location of the user cluster. + */ + clusterLocation?: string | null; + /** + * Output only. Replication create time. + */ + createTime?: string | null; + /** + * A description about this replication relationship. + */ + description?: string | null; + /** + * Output only. Full name of destination volume resource. Example : "projects/{project\}/locations/{location\}/volumes/{volume_id\}" + */ + destinationVolume?: string | null; + /** + * Required. Input only. Destination volume parameters + */ + destinationVolumeParameters?: Schema$DestinationVolumeParameters; + /** + * Output only. Condition of the relationship. Can be one of the following: - true: The replication relationship is healthy. It has not missed the most recent scheduled transfer. - false: The replication relationship is not healthy. It has missed the most recent scheduled transfer. + */ + healthy?: boolean | null; + /** + * Output only. Hybrid peering details. + */ + hybridPeeringDetails?: Schema$HybridPeeringDetails; + /** + * Output only. Type of the hybrid replication. + */ + hybridReplicationType?: string | null; + /** + * Resource labels to represent user provided metadata. + */ + labels?: {[key: string]: string} | null; + /** + * Output only. Indicates the state of mirroring. + */ + mirrorState?: string | null; + /** + * Identifier. The resource name of the Replication. Format: `projects/{project_id\}/locations/{location\}/volumes/{volume_id\}/replications/{replication_id\}`. + */ + name?: string | null; + /** + * Required. Indicates the schedule for replication. + */ + replicationSchedule?: string | null; + /** + * Output only. Indicates whether this points to source or destination. + */ + role?: string | null; + /** + * Output only. Full name of source volume resource. Example : "projects/{project\}/locations/{location\}/volumes/{volume_id\}" + */ + sourceVolume?: string | null; + /** + * Output only. State of the replication. + */ + state?: string | null; + /** + * Output only. State details of the replication. + */ + stateDetails?: string | null; + /** + * Output only. Replication transfer statistics. + */ + transferStats?: Schema$TransferStats; + } + /** + * The RestoreParameters if volume is created from a snapshot or backup. + */ + export interface Schema$RestoreParameters { + /** + * Full name of the backup resource. Format: projects/{project\}/locations/{location\}/backupVaults/{backup_vault_id\}/backups/{backup_id\} + */ + sourceBackup?: string | null; + /** + * Full name of the snapshot resource. Format: projects/{project\}/locations/{location\}/volumes/{volume\}/snapshots/{snapshot\} + */ + sourceSnapshot?: string | null; + } + /** + * ResumeReplicationRequest resumes a stopped replication. + */ + export interface Schema$ResumeReplicationRequest {} + /** + * ReverseReplicationDirectionRequest reverses direction of replication. Source becomes destination and destination becomes source. + */ + export interface Schema$ReverseReplicationDirectionRequest {} + /** + * RevertVolumeRequest reverts the given volume to the specified snapshot. + */ + export interface Schema$RevertVolumeRequest { + /** + * Required. The snapshot resource ID, in the format 'my-snapshot', where the specified ID is the {snapshot_id\} of the fully qualified name like projects/{project_id\}/locations/{location_id\}/volumes/{volume_id\}/snapshots/{snapshot_id\} + */ + snapshotId?: string | null; + } + /** + * An export policy rule describing various export options. + */ + export interface Schema$SimpleExportPolicyRule { + /** + * Access type (ReadWrite, ReadOnly, None) + */ + accessType?: string | null; + /** + * Comma separated list of allowed clients IP addresses + */ + allowedClients?: string | null; + /** + * Whether Unix root access will be granted. + */ + hasRootAccess?: string | null; + /** + * If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'integrity' kerberos security mode. + */ + kerberos5iReadOnly?: boolean | null; + /** + * If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'integrity' kerberos security mode. The 'kerberos5iReadOnly' value be ignored if this is enabled. + */ + kerberos5iReadWrite?: boolean | null; + /** + * If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'privacy' kerberos security mode. + */ + kerberos5pReadOnly?: boolean | null; + /** + * If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'privacy' kerberos security mode. The 'kerberos5pReadOnly' value be ignored if this is enabled. + */ + kerberos5pReadWrite?: boolean | null; + /** + * If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'authentication' kerberos security mode. + */ + kerberos5ReadOnly?: boolean | null; + /** + * If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'authentication' kerberos security mode. The 'kerberos5ReadOnly' value be ignored if this is enabled. + */ + kerberos5ReadWrite?: boolean | null; + /** + * NFS V3 protocol. + */ + nfsv3?: boolean | null; + /** + * NFS V4 protocol. + */ + nfsv4?: boolean | null; + } + /** + * Snapshot is a point-in-time version of a Volume's content. + */ + export interface Schema$Snapshot { + /** + * Output only. The time when the snapshot was created. + */ + createTime?: string | null; + /** + * A description of the snapshot with 2048 characters or less. Requests with longer descriptions will be rejected. + */ + description?: string | null; + /** + * Resource labels to represent user provided metadata. + */ + labels?: {[key: string]: string} | null; + /** + * Identifier. The resource name of the snapshot. Format: `projects/{project_id\}/locations/{location\}/volumes/{volume_id\}/snapshots/{snapshot_id\}`. + */ + name?: string | null; + /** + * Output only. The snapshot state. + */ + state?: string | null; + /** + * Output only. State details of the storage pool + */ + stateDetails?: string | null; + /** + * Output only. Current storage usage for the snapshot in bytes. + */ + usedBytes?: number | null; + } + /** + * Snapshot Policy for a volume. + */ + export interface Schema$SnapshotPolicy { + /** + * Daily schedule policy. + */ + dailySchedule?: Schema$DailySchedule; + /** + * If enabled, make snapshots automatically according to the schedules. Default is false. + */ + enabled?: boolean | null; + /** + * Hourly schedule policy. + */ + hourlySchedule?: Schema$HourlySchedule; + /** + * Monthly schedule policy. + */ + monthlySchedule?: Schema$MonthlySchedule; + /** + * Weekly schedule policy. + */ + weeklySchedule?: Schema$WeeklySchedule; + } + /** + * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + */ + export interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number | null; + /** + * A list of messages that carry the error details. There is a common set of message types for APIs to use. + */ + details?: Array<{[key: string]: any}> | null; + /** + * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + */ + message?: string | null; + } + /** + * StopReplicationRequest stops a replication until resumed. + */ + export interface Schema$StopReplicationRequest { + /** + * Indicates whether to stop replication forcefully while data transfer is in progress. Warning! if force is true, this will abort any current transfers and can lead to data loss due to partial transfer. If force is false, stop replication will fail while data transfer is in progress and you will need to retry later. + */ + force?: boolean | null; + } + /** + * StoragePool is a container for volumes with a service level and capacity. Volumes can be created in a pool of sufficient available capacity. StoragePool capacity is what you are billed for. + */ + export interface Schema$StoragePool { + /** + * Optional. Specifies the Active Directory to be used for creating a SMB volume. + */ + activeDirectory?: string | null; + /** + * Optional. True if the storage pool supports Auto Tiering enabled volumes. Default is false. Auto-tiering can be enabled after storage pool creation but it can't be disabled once enabled. + */ + allowAutoTiering?: boolean | null; + /** + * Required. Capacity in GIB of the pool + */ + capacityGib?: string | null; + /** + * Output only. Create time of the storage pool + */ + createTime?: string | null; + /** + * Optional. Description of the storage pool + */ + description?: string | null; + /** + * Output only. Specifies the current pool encryption key source. + */ + encryptionType?: string | null; + /** + * Deprecated. Used to allow SO pool to access AD or DNS server from other regions. + */ + globalAccessAllowed?: boolean | null; + /** + * Optional. Specifies the KMS config to be used for volume encryption. + */ + kmsConfig?: string | null; + /** + * Optional. Labels as key value pairs + */ + labels?: {[key: string]: string} | null; + /** + * Optional. Flag indicating if the pool is NFS LDAP enabled or not. + */ + ldapEnabled?: boolean | null; + /** + * Identifier. Name of the storage pool + */ + name?: string | null; + /** + * Required. VPC Network name. Format: projects/{project\}/global/networks/{network\} + */ + network?: string | null; + /** + * Optional. This field is not implemented. The values provided in this field are ignored. + */ + psaRange?: string | null; + /** + * Optional. Specifies the replica zone for regional storagePool. + */ + replicaZone?: string | null; + /** + * Output only. Reserved for future use + */ + satisfiesPzi?: boolean | null; + /** + * Output only. Reserved for future use + */ + satisfiesPzs?: boolean | null; + /** + * Required. Service level of the storage pool + */ + serviceLevel?: string | null; + /** + * Output only. State of the storage pool + */ + state?: string | null; + /** + * Output only. State details of the storage pool + */ + stateDetails?: string | null; + /** + * Output only. Allocated size of all volumes in GIB in the storage pool + */ + volumeCapacityGib?: string | null; + /** + * Output only. Volume count of the storage pool + */ + volumeCount?: number | null; + /** + * Optional. Specifies the active zone for regional storagePool. + */ + zone?: string | null; + } + /** + * SwitchActiveReplicaZoneRequest switch the active/replica zone for a regional storagePool. + */ + export interface Schema$SwitchActiveReplicaZoneRequest {} + /** + * SyncReplicationRequest syncs the replication from source to destination. + */ + export interface Schema$SyncReplicationRequest {} + /** + * Defines tiering policy for the volume. + */ + export interface Schema$TieringPolicy { + /** + * Optional. Time in days to mark the volume's data block as cold and make it eligible for tiering, can be range from 7-183. Default is 31. + */ + coolingThresholdDays?: number | null; + /** + * Optional. Flag indicating if the volume has tiering policy enable/pause. Default is PAUSED. + */ + tierAction?: string | null; + } + /** + * TransferStats reports all statistics related to replication transfer. + */ + export interface Schema$TransferStats { + /** + * Lag duration indicates the duration by which Destination region volume content lags behind the primary region volume content. + */ + lagDuration?: string | null; + /** + * Last transfer size in bytes. + */ + lastTransferBytes?: string | null; + /** + * Time taken during last transfer. + */ + lastTransferDuration?: string | null; + /** + * Time when last transfer completed. + */ + lastTransferEndTime?: string | null; + /** + * A message describing the cause of the last transfer failure. + */ + lastTransferError?: string | null; + /** + * Cumulative time taken across all transfers for the replication relationship. + */ + totalTransferDuration?: string | null; + /** + * Cumulative bytes trasferred so far for the replication relatinonship. + */ + transferBytes?: string | null; + /** + * Time when progress was updated last. + */ + updateTime?: string | null; + } + /** + * ValidateDirectoryServiceRequest validates the directory service policy attached to the storage pool. + */ + export interface Schema$ValidateDirectoryServiceRequest { + /** + * Type of directory service policy attached to the storage pool. + */ + directoryServiceType?: string | null; + } + /** + * VerifyKmsConfigRequest specifies the KMS config to be validated. + */ + export interface Schema$VerifyKmsConfigRequest {} + /** + * VerifyKmsConfigResponse contains the information if the config is correctly and error message. + */ + export interface Schema$VerifyKmsConfigResponse { + /** + * Output only. Error message if config is not healthy. + */ + healthError?: string | null; + /** + * Output only. If the customer key configured correctly to the encrypt volume. + */ + healthy?: boolean | null; + /** + * Output only. Instructions for the customers to provide the access to the encryption key. + */ + instructions?: string | null; + } + /** + * Volume provides a filesystem that you can mount. + */ + export interface Schema$Volume { + /** + * Output only. Specifies the ActiveDirectory name of a SMB volume. + */ + activeDirectory?: string | null; + /** + * BackupConfig of the volume. + */ + backupConfig?: Schema$BackupConfig; + /** + * Required. Capacity in GIB of the volume + */ + capacityGib?: string | null; + /** + * Output only. Size of the volume cold tier data in GiB. + */ + coldTierSizeGib?: string | null; + /** + * Output only. Create time of the volume + */ + createTime?: string | null; + /** + * Optional. Description of the volume + */ + description?: string | null; + /** + * Output only. Specified the current volume encryption key source. + */ + encryptionType?: string | null; + /** + * Optional. Export policy of the volume + */ + exportPolicy?: Schema$ExportPolicy; + /** + * Output only. Indicates whether the volume is part of a replication relationship. + */ + hasReplication?: boolean | null; + /** + * Optional. The Hybrid Replication parameters for the volume. + */ + hybridReplicationParameters?: Schema$HybridReplicationParameters; + /** + * Optional. Flag indicating if the volume is a kerberos volume or not, export policy rules control kerberos security modes (krb5, krb5i, krb5p). + */ + kerberosEnabled?: boolean | null; + /** + * Output only. Specifies the KMS config to be used for volume encryption. + */ + kmsConfig?: string | null; + /** + * Optional. Labels as key value pairs + */ + labels?: {[key: string]: string} | null; + /** + * Optional. Flag indicating if the volume will be a large capacity volume or a regular volume. + */ + largeCapacity?: boolean | null; + /** + * Output only. Flag indicating if the volume is NFS LDAP enabled or not. + */ + ldapEnabled?: boolean | null; + /** + * Output only. Mount options of this volume + */ + mountOptions?: Schema$MountOption[]; + /** + * Optional. Flag indicating if the volume will have an IP address per node for volumes supporting multiple IP endpoints. Only the volume with large_capacity will be allowed to have multiple endpoints. + */ + multipleEndpoints?: boolean | null; + /** + * Identifier. Name of the volume + */ + name?: string | null; + /** + * Output only. VPC Network name. Format: projects/{project\}/global/networks/{network\} + */ + network?: string | null; + /** + * Required. Protocols required for the volume + */ + protocols?: string[] | null; + /** + * Output only. This field is not implemented. The values provided in this field are ignored. + */ + psaRange?: string | null; + /** + * Output only. Specifies the replica zone for regional volume. + */ + replicaZone?: string | null; + /** + * Optional. Specifies the source of the volume to be created from. + */ + restoreParameters?: Schema$RestoreParameters; + /** + * Optional. List of actions that are restricted on this volume. + */ + restrictedActions?: string[] | null; + /** + * Optional. Security Style of the Volume + */ + securityStyle?: string | null; + /** + * Output only. Service level of the volume + */ + serviceLevel?: string | null; + /** + * Required. Share name of the volume + */ + shareName?: string | null; + /** + * Optional. SMB share settings for the volume. + */ + smbSettings?: string[] | null; + /** + * Optional. Snap_reserve specifies percentage of volume storage reserved for snapshot storage. Default is 0 percent. + */ + snapReserve?: number | null; + /** + * Optional. Snapshot_directory if enabled (true) the volume will contain a read-only .snapshot directory which provides access to each of the volume's snapshots. + */ + snapshotDirectory?: boolean | null; + /** + * Optional. SnapshotPolicy for a volume. + */ + snapshotPolicy?: Schema$SnapshotPolicy; + /** + * Output only. State of the volume + */ + state?: string | null; + /** + * Output only. State details of the volume + */ + stateDetails?: string | null; + /** + * Required. StoragePool name of the volume + */ + storagePool?: string | null; + /** + * Tiering policy for the volume. + */ + tieringPolicy?: Schema$TieringPolicy; + /** + * Optional. Default unix style permission (e.g. 777) the mount point will be created with. Applicable for NFS protocol types only. + */ + unixPermissions?: string | null; + /** + * Output only. Used capacity in GIB of the volume. This is computed periodically and it does not represent the realtime usage. + */ + usedGib?: string | null; + /** + * Output only. Specifies the active zone for regional volume. + */ + zone?: string | null; + } + /** + * Make a snapshot every week e.g. at Monday 04:00, Wednesday 05:20, Sunday 23:50 + */ + export interface Schema$WeeklySchedule { + /** + * Set the day or days of the week to make a snapshot. Accepts a comma separated days of the week. Defaults to 'Sunday'. + */ + day?: string | null; + /** + * Set the hour to start the snapshot (0-23), defaults to midnight (0). + */ + hour?: number | null; + /** + * Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0). + */ + minute?: number | null; + /** + * The maximum number of Snapshots to keep for the hourly schedule + */ + snapshotsToKeep?: number | null; + } + + export class Resource$Projects { + context: APIRequestContext; + locations: Resource$Projects$Locations; + constructor(context: APIRequestContext) { + this.context = context; + this.locations = new Resource$Projects$Locations(this.context); + } + } + + export class Resource$Projects$Locations { + context: APIRequestContext; + activeDirectories: Resource$Projects$Locations$Activedirectories; + backupPolicies: Resource$Projects$Locations$Backuppolicies; + backupVaults: Resource$Projects$Locations$Backupvaults; + kmsConfigs: Resource$Projects$Locations$Kmsconfigs; + operations: Resource$Projects$Locations$Operations; + storagePools: Resource$Projects$Locations$Storagepools; + volumes: Resource$Projects$Locations$Volumes; + constructor(context: APIRequestContext) { + this.context = context; + this.activeDirectories = + new Resource$Projects$Locations$Activedirectories(this.context); + this.backupPolicies = new Resource$Projects$Locations$Backuppolicies( + this.context + ); + this.backupVaults = new Resource$Projects$Locations$Backupvaults( + this.context + ); + this.kmsConfigs = new Resource$Projects$Locations$Kmsconfigs( + this.context + ); + this.operations = new Resource$Projects$Locations$Operations( + this.context + ); + this.storagePools = new Resource$Projects$Locations$Storagepools( + this.context + ); + this.volumes = new Resource$Projects$Locations$Volumes(this.context); + } + + /** + * Gets information about a location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists information about the supported locations for this service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}/locations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Get + extends StandardParameters { + /** + * Resource name for the location. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$List + extends StandardParameters { + /** + * A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160). + */ + filter?: string; + /** + * The resource that owns the locations collection, if applicable. + */ + name?: string; + /** + * The maximum number of results to return. If not set, the service selects a default. + */ + pageSize?: number; + /** + * A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page. + */ + pageToken?: string; + } + + export class Resource$Projects$Locations$Activedirectories { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * CreateActiveDirectory Creates the active directory specified in the request. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Activedirectories$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Activedirectories$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Activedirectories$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Activedirectories$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Activedirectories$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Activedirectories$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Activedirectories$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Activedirectories$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/activeDirectories').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Delete the active directory specified in the request. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Activedirectories$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Activedirectories$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Activedirectories$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Activedirectories$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Activedirectories$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Activedirectories$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Activedirectories$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Activedirectories$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Describes a specified active directory. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Activedirectories$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Activedirectories$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Activedirectories$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Activedirectories$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Activedirectories$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Activedirectories$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Activedirectories$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Activedirectories$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists active directories. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Activedirectories$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Activedirectories$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Activedirectories$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Activedirectories$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Activedirectories$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Activedirectories$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Activedirectories$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Activedirectories$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/activeDirectories').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Update the parameters of an active directories. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Activedirectories$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Activedirectories$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Activedirectories$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Activedirectories$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Activedirectories$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Activedirectories$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Activedirectories$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Activedirectories$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Activedirectories$Create + extends StandardParameters { + /** + * Required. ID of the active directory to create. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter , the last a letter or a number, and a 63 character maximum. + */ + activeDirectoryId?: string; + /** + * Required. Value for parent. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ActiveDirectory; + } + export interface Params$Resource$Projects$Locations$Activedirectories$Delete + extends StandardParameters { + /** + * Required. Name of the active directory. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Activedirectories$Get + extends StandardParameters { + /** + * Required. Name of the active directory. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Activedirectories$List + extends StandardParameters { + /** + * Filtering results + */ + filter?: string; + /** + * Hint for how to order the results + */ + orderBy?: string; + /** + * Requested page size. Server may return fewer items than requested. If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. Parent value for ListActiveDirectoriesRequest + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Activedirectories$Patch + extends StandardParameters { + /** + * Identifier. The resource name of the active directory. Format: `projects/{project_number\}/locations/{location_id\}/activeDirectories/{active_directory_id\}`. + */ + name?: string; + /** + * Required. Field mask is used to specify the fields to be overwritten in the Active Directory resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ActiveDirectory; + } + + export class Resource$Projects$Locations$Backuppolicies { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates new backup policy + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Backuppolicies$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Backuppolicies$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Backuppolicies$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Backuppolicies$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Backuppolicies$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backuppolicies$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backuppolicies$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backuppolicies$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/backupPolicies').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Warning! This operation will permanently delete the backup policy. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Backuppolicies$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Backuppolicies$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Backuppolicies$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Backuppolicies$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Backuppolicies$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backuppolicies$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backuppolicies$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backuppolicies$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns the description of the specified backup policy by backup_policy_id. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Backuppolicies$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Backuppolicies$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Backuppolicies$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Backuppolicies$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Backuppolicies$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backuppolicies$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backuppolicies$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backuppolicies$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns list of all available backup policies. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Backuppolicies$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Backuppolicies$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Backuppolicies$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backuppolicies$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backuppolicies$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backuppolicies$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backuppolicies$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backuppolicies$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/backupPolicies').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates settings of a specific backup policy. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Backuppolicies$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Backuppolicies$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Backuppolicies$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Backuppolicies$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Backuppolicies$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backuppolicies$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backuppolicies$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backuppolicies$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Backuppolicies$Create + extends StandardParameters { + /** + * Required. The ID to use for the backup policy. The ID must be unique within the specified location. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum. + */ + backupPolicyId?: string; + /** + * Required. The location to create the backup policies of, in the format `projects/{project_id\}/locations/{location\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BackupPolicy; + } + export interface Params$Resource$Projects$Locations$Backuppolicies$Delete + extends StandardParameters { + /** + * Required. The backup policy resource name, in the format `projects/{project_id\}/locations/{location\}/backupPolicies/{backup_policy_id\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Backuppolicies$Get + extends StandardParameters { + /** + * Required. The backupPolicy resource name, in the format `projects/{project_id\}/locations/{location\}/backupPolicies/{backup_policy_id\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Backuppolicies$List + extends StandardParameters { + /** + * Filtering results + */ + filter?: string; + /** + * Hint for how to order the results + */ + orderBy?: string; + /** + * Requested page size. Server may return fewer items than requested. If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. Parent value for ListBackupPoliciesRequest + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Backuppolicies$Patch + extends StandardParameters { + /** + * Identifier. The resource name of the backup policy. Format: `projects/{project_id\}/locations/{location\}/backupPolicies/{backup_policy_id\}`. + */ + name?: string; + /** + * Required. Field mask is used to specify the fields to be overwritten in the Backup Policy resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BackupPolicy; + } + + export class Resource$Projects$Locations$Backupvaults { + context: APIRequestContext; + backups: Resource$Projects$Locations$Backupvaults$Backups; + constructor(context: APIRequestContext) { + this.context = context; + this.backups = new Resource$Projects$Locations$Backupvaults$Backups( + this.context + ); + } + + /** + * Creates new backup vault + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Backupvaults$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Backupvaults$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Backupvaults$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Backupvaults$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Backupvaults$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backupvaults$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/backupVaults').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Warning! This operation will permanently delete the backup vault. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Backupvaults$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Backupvaults$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Backupvaults$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Backupvaults$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Backupvaults$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backupvaults$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns the description of the specified backup vault + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Backupvaults$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Backupvaults$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Backupvaults$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Backupvaults$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Backupvaults$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backupvaults$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns list of all available backup vaults. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Backupvaults$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Backupvaults$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Backupvaults$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backupvaults$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backupvaults$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backupvaults$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/backupVaults').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the settings of a specific backup vault. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Backupvaults$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Backupvaults$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Backupvaults$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Backupvaults$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Backupvaults$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backupvaults$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Backupvaults$Create + extends StandardParameters { + /** + * Required. The ID to use for the backupVault. The ID must be unique within the specified location. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum. + */ + backupVaultId?: string; + /** + * Required. The location to create the backup vaults, in the format `projects/{project_id\}/locations/{location\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BackupVault; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Delete + extends StandardParameters { + /** + * Required. The backupVault resource name, in the format `projects/{project_id\}/locations/{location\}/backupVaults/{backup_vault_id\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Get + extends StandardParameters { + /** + * Required. The backupVault resource name, in the format `projects/{project_id\}/locations/{location\}/backupVaults/{backup_vault_id\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Backupvaults$List + extends StandardParameters { + /** + * List filter. + */ + filter?: string; + /** + * Sort results. Supported values are "name", "name desc" or "" (unsorted). + */ + orderBy?: string; + /** + * The maximum number of items to return. + */ + pageSize?: number; + /** + * The next_page_token value to use if there are additional results to retrieve for this list request. + */ + pageToken?: string; + /** + * Required. The location for which to retrieve backupVault information, in the format `projects/{project_id\}/locations/{location\}`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Patch + extends StandardParameters { + /** + * Identifier. The resource name of the backup vault. Format: `projects/{project_id\}/locations/{location\}/backupVaults/{backup_vault_id\}`. + */ + name?: string; + /** + * Required. Field mask is used to specify the fields to be overwritten in the Backup resource to be updated. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BackupVault; + } + + export class Resource$Projects$Locations$Backupvaults$Backups { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a backup from the volume specified in the request The backup can be created from the given snapshot if specified in the request. If no snapshot specified, there'll be a new snapshot taken to initiate the backup creation. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Backupvaults$Backups$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Backups$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Backups$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupvaults$Backups$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/backups').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Warning! This operation will permanently delete the backup. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Backupvaults$Backups$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Backups$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Backups$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupvaults$Backups$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns the description of the specified backup + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Backupvaults$Backups$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Backups$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Backups$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupvaults$Backups$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns descriptions of all backups for a backupVault. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Backupvaults$Backups$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Backups$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Backups$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupvaults$Backups$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/backups').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Update backup with full spec. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Backupvaults$Backups$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Backups$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Backups$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupvaults$Backups$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Backupvaults$Backups$Create + extends StandardParameters { + /** + * Required. The ID to use for the backup. The ID must be unique within the specified backupVault. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum. + */ + backupId?: string; + /** + * Required. The NetApp backupVault to create the backups of, in the format `projects/x/locations/x/backupVaults/{backup_vault_id\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Backup; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Backups$Delete + extends StandardParameters { + /** + * Required. The backup resource name, in the format `projects/{project_id\}/locations/{location\}/backupVaults/{backup_vault_id\}/backups/{backup_id\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Backups$Get + extends StandardParameters { + /** + * Required. The backup resource name, in the format `projects/{project_id\}/locations/{location\}/backupVaults/{backup_vault_id\}/backups/{backup_id\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Backups$List + extends StandardParameters { + /** + * The standard list filter. If specified, backups will be returned based on the attribute name that matches the filter expression. If empty, then no backups are filtered out. See https://google.aip.dev/160 + */ + filter?: string; + /** + * Sort results. Supported values are "name", "name desc" or "" (unsorted). + */ + orderBy?: string; + /** + * The maximum number of items to return. The service may return fewer than this value. The maximum value is 1000; values above 1000 will be coerced to 1000. + */ + pageSize?: number; + /** + * The next_page_token value to use if there are additional results to retrieve for this list request. + */ + pageToken?: string; + /** + * Required. The backupVault for which to retrieve backup information, in the format `projects/{project_id\}/locations/{location\}/backupVaults/{backup_vault_id\}`. To retrieve backup information for all locations, use "-" for the `{location\}` value. To retrieve backup information for all backupVaults, use "-" for the `{backup_vault_id\}` value. To retrieve backup information for a volume, use "-" for the `{backup_vault_id\}` value and specify volume full name with the filter. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Backups$Patch + extends StandardParameters { + /** + * Identifier. The resource name of the backup. Format: `projects/{project_id\}/locations/{location\}/backupVaults/{backup_vault_id\}/backups/{backup_id\}`. + */ + name?: string; + /** + * Required. Field mask is used to specify the fields to be overwritten in the Backup resource to be updated. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Backup; + } + + export class Resource$Projects$Locations$Kmsconfigs { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new KMS config. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Kmsconfigs$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Kmsconfigs$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Kmsconfigs$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Kmsconfigs$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Kmsconfigs$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Kmsconfigs$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Kmsconfigs$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Kmsconfigs$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/kmsConfigs').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Warning! This operation will permanently delete the Kms config. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Kmsconfigs$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Kmsconfigs$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Kmsconfigs$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Kmsconfigs$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Kmsconfigs$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Kmsconfigs$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Kmsconfigs$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Kmsconfigs$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Encrypt the existing volumes without CMEK encryption with the desired the KMS config for the whole region. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + encrypt( + params: Params$Resource$Projects$Locations$Kmsconfigs$Encrypt, + options: StreamMethodOptions + ): GaxiosPromise; + encrypt( + params?: Params$Resource$Projects$Locations$Kmsconfigs$Encrypt, + options?: MethodOptions + ): GaxiosPromise; + encrypt( + params: Params$Resource$Projects$Locations$Kmsconfigs$Encrypt, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + encrypt( + params: Params$Resource$Projects$Locations$Kmsconfigs$Encrypt, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + encrypt( + params: Params$Resource$Projects$Locations$Kmsconfigs$Encrypt, + callback: BodyResponseCallback + ): void; + encrypt(callback: BodyResponseCallback): void; + encrypt( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Kmsconfigs$Encrypt + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Kmsconfigs$Encrypt; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Kmsconfigs$Encrypt; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:encrypt').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns the description of the specified KMS config by kms_config_id. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Kmsconfigs$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Kmsconfigs$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Kmsconfigs$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Kmsconfigs$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Kmsconfigs$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Kmsconfigs$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Kmsconfigs$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Kmsconfigs$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns descriptions of all KMS configs owned by the caller. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Kmsconfigs$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Kmsconfigs$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Kmsconfigs$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Kmsconfigs$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Kmsconfigs$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Kmsconfigs$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Kmsconfigs$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Kmsconfigs$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/kmsConfigs').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the Kms config properties with the full spec + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Kmsconfigs$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Kmsconfigs$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Kmsconfigs$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Kmsconfigs$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Kmsconfigs$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Kmsconfigs$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Kmsconfigs$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Kmsconfigs$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Verifies KMS config reachability. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + verify( + params: Params$Resource$Projects$Locations$Kmsconfigs$Verify, + options: StreamMethodOptions + ): GaxiosPromise; + verify( + params?: Params$Resource$Projects$Locations$Kmsconfigs$Verify, + options?: MethodOptions + ): GaxiosPromise; + verify( + params: Params$Resource$Projects$Locations$Kmsconfigs$Verify, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + verify( + params: Params$Resource$Projects$Locations$Kmsconfigs$Verify, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + verify( + params: Params$Resource$Projects$Locations$Kmsconfigs$Verify, + callback: BodyResponseCallback + ): void; + verify( + callback: BodyResponseCallback + ): void; + verify( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Kmsconfigs$Verify + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Kmsconfigs$Verify; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Kmsconfigs$Verify; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:verify').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Kmsconfigs$Create + extends StandardParameters { + /** + * Required. Id of the requesting KmsConfig. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum. + */ + kmsConfigId?: string; + /** + * Required. Value for parent. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$KmsConfig; + } + export interface Params$Resource$Projects$Locations$Kmsconfigs$Delete + extends StandardParameters { + /** + * Required. Name of the KmsConfig. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Kmsconfigs$Encrypt + extends StandardParameters { + /** + * Required. Name of the KmsConfig. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$EncryptVolumesRequest; + } + export interface Params$Resource$Projects$Locations$Kmsconfigs$Get + extends StandardParameters { + /** + * Required. Name of the KmsConfig + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Kmsconfigs$List + extends StandardParameters { + /** + * List filter. + */ + filter?: string; + /** + * Sort results. Supported values are "name", "name desc" or "" (unsorted). + */ + orderBy?: string; + /** + * The maximum number of items to return. + */ + pageSize?: number; + /** + * The next_page_token value to use if there are additional results to retrieve for this list request. + */ + pageToken?: string; + /** + * Required. Parent value + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Kmsconfigs$Patch + extends StandardParameters { + /** + * Identifier. Name of the KmsConfig. + */ + name?: string; + /** + * Required. Field mask is used to specify the fields to be overwritten in the KmsConfig resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$KmsConfig; + } + export interface Params$Resource$Projects$Locations$Kmsconfigs$Verify + extends StandardParameters { + /** + * Required. Name of the KMS Config to be verified. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$VerifyKmsConfigRequest; + } + + export class Resource$Projects$Locations$Operations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: StreamMethodOptions + ): GaxiosPromise; + cancel( + params?: Params$Resource$Projects$Locations$Operations$Cancel, + options?: MethodOptions + ): GaxiosPromise; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + callback: BodyResponseCallback + ): void; + cancel(callback: BodyResponseCallback): void; + cancel( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Cancel + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Cancel; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Cancel; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:cancel').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Operations$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Operations$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Operations$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Operations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}/operations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Operations$Cancel + extends StandardParameters { + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CancelOperationRequest; + } + export interface Params$Resource$Projects$Locations$Operations$Delete + extends StandardParameters { + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Operations$Get + extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Operations$List + extends StandardParameters { + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + + export class Resource$Projects$Locations$Storagepools { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new storage pool. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Storagepools$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Storagepools$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Storagepools$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Storagepools$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Storagepools$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Storagepools$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Storagepools$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Storagepools$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/storagePools').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Warning! This operation will permanently delete the storage pool. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Storagepools$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Storagepools$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Storagepools$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Storagepools$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Storagepools$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Storagepools$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Storagepools$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Storagepools$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns the description of the specified storage pool by poolId. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Storagepools$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Storagepools$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Storagepools$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Storagepools$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Storagepools$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Storagepools$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Storagepools$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Storagepools$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns descriptions of all storage pools owned by the caller. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Storagepools$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Storagepools$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Storagepools$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Storagepools$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Storagepools$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Storagepools$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Storagepools$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Storagepools$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/storagePools').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the storage pool properties with the full spec + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Storagepools$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Storagepools$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Storagepools$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Storagepools$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Storagepools$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Storagepools$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Storagepools$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Storagepools$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * This operation will switch the active/replica zone for a regional storagePool. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + switch( + params: Params$Resource$Projects$Locations$Storagepools$Switch, + options: StreamMethodOptions + ): GaxiosPromise; + switch( + params?: Params$Resource$Projects$Locations$Storagepools$Switch, + options?: MethodOptions + ): GaxiosPromise; + switch( + params: Params$Resource$Projects$Locations$Storagepools$Switch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + switch( + params: Params$Resource$Projects$Locations$Storagepools$Switch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + switch( + params: Params$Resource$Projects$Locations$Storagepools$Switch, + callback: BodyResponseCallback + ): void; + switch(callback: BodyResponseCallback): void; + switch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Storagepools$Switch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Storagepools$Switch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Storagepools$Switch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:switch').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * ValidateDirectoryService does a connectivity check for a directory service policy attached to the storage pool. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + validateDirectoryService( + params: Params$Resource$Projects$Locations$Storagepools$Validatedirectoryservice, + options: StreamMethodOptions + ): GaxiosPromise; + validateDirectoryService( + params?: Params$Resource$Projects$Locations$Storagepools$Validatedirectoryservice, + options?: MethodOptions + ): GaxiosPromise; + validateDirectoryService( + params: Params$Resource$Projects$Locations$Storagepools$Validatedirectoryservice, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + validateDirectoryService( + params: Params$Resource$Projects$Locations$Storagepools$Validatedirectoryservice, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + validateDirectoryService( + params: Params$Resource$Projects$Locations$Storagepools$Validatedirectoryservice, + callback: BodyResponseCallback + ): void; + validateDirectoryService( + callback: BodyResponseCallback + ): void; + validateDirectoryService( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Storagepools$Validatedirectoryservice + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Storagepools$Validatedirectoryservice; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Storagepools$Validatedirectoryservice; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:validateDirectoryService').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Storagepools$Create + extends StandardParameters { + /** + * Required. Value for parent. + */ + parent?: string; + /** + * Required. Id of the requesting storage pool. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum. + */ + storagePoolId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$StoragePool; + } + export interface Params$Resource$Projects$Locations$Storagepools$Delete + extends StandardParameters { + /** + * Required. Name of the storage pool + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Storagepools$Get + extends StandardParameters { + /** + * Required. Name of the storage pool + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Storagepools$List + extends StandardParameters { + /** + * Optional. List filter. + */ + filter?: string; + /** + * Optional. Sort results. Supported values are "name", "name desc" or "" (unsorted). + */ + orderBy?: string; + /** + * Optional. The maximum number of items to return. + */ + pageSize?: number; + /** + * Optional. The next_page_token value to use if there are additional results to retrieve for this list request. + */ + pageToken?: string; + /** + * Required. Parent value + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Storagepools$Patch + extends StandardParameters { + /** + * Identifier. Name of the storage pool + */ + name?: string; + /** + * Required. Field mask is used to specify the fields to be overwritten in the StoragePool resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$StoragePool; + } + export interface Params$Resource$Projects$Locations$Storagepools$Switch + extends StandardParameters { + /** + * Required. Name of the storage pool + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SwitchActiveReplicaZoneRequest; + } + export interface Params$Resource$Projects$Locations$Storagepools$Validatedirectoryservice + extends StandardParameters { + /** + * Required. Name of the storage pool + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ValidateDirectoryServiceRequest; + } + + export class Resource$Projects$Locations$Volumes { + context: APIRequestContext; + replications: Resource$Projects$Locations$Volumes$Replications; + snapshots: Resource$Projects$Locations$Volumes$Snapshots; + constructor(context: APIRequestContext) { + this.context = context; + this.replications = new Resource$Projects$Locations$Volumes$Replications( + this.context + ); + this.snapshots = new Resource$Projects$Locations$Volumes$Snapshots( + this.context + ); + } + + /** + * Creates a new Volume in a given project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Volumes$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Volumes$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Volumes$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Volumes$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Volumes$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Volumes$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/volumes').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a single Volume. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Volumes$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Volumes$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Volumes$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Volumes$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Volumes$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Volumes$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of a single Volume. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Volumes$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Volumes$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Volumes$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Volumes$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Volumes$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Volumes$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists Volumes in a given project. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Volumes$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Volumes$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Volumes$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Volumes$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Volumes$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Volumes$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/volumes').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the parameters of a single Volume. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Volumes$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Volumes$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Volumes$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Volumes$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Volumes$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Volumes$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Revert an existing volume to a specified snapshot. Warning! This operation will permanently revert all changes made after the snapshot was created. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + revert( + params: Params$Resource$Projects$Locations$Volumes$Revert, + options: StreamMethodOptions + ): GaxiosPromise; + revert( + params?: Params$Resource$Projects$Locations$Volumes$Revert, + options?: MethodOptions + ): GaxiosPromise; + revert( + params: Params$Resource$Projects$Locations$Volumes$Revert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + revert( + params: Params$Resource$Projects$Locations$Volumes$Revert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + revert( + params: Params$Resource$Projects$Locations$Volumes$Revert, + callback: BodyResponseCallback + ): void; + revert(callback: BodyResponseCallback): void; + revert( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Revert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Revert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Volumes$Revert; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:revert').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Volumes$Create + extends StandardParameters { + /** + * Required. Value for parent. + */ + parent?: string; + /** + * Required. Id of the requesting volume. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum. + */ + volumeId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Volume; + } + export interface Params$Resource$Projects$Locations$Volumes$Delete + extends StandardParameters { + /** + * If this field is set as true, CCFE will not block the volume resource deletion even if it has any snapshots resource. (Otherwise, the request will only work if the volume has no snapshots.) + */ + force?: boolean; + /** + * Required. Name of the volume + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Volumes$Get + extends StandardParameters { + /** + * Required. Name of the volume + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Volumes$List + extends StandardParameters { + /** + * Filtering results + */ + filter?: string; + /** + * Hint for how to order the results + */ + orderBy?: string; + /** + * Requested page size. Server may return fewer items than requested. If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. Parent value for ListVolumesRequest + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Volumes$Patch + extends StandardParameters { + /** + * Identifier. Name of the volume + */ + name?: string; + /** + * Required. Field mask is used to specify the fields to be overwritten in the Volume resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Volume; + } + export interface Params$Resource$Projects$Locations$Volumes$Revert + extends StandardParameters { + /** + * Required. The resource name of the volume, in the format of projects/{project_id\}/locations/{location\}/volumes/{volume_id\}. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RevertVolumeRequest; + } + + export class Resource$Projects$Locations$Volumes$Replications { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Create a new replication for a volume. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Volumes$Replications$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Volumes$Replications$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Volumes$Replications$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Volumes$Replications$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Volumes$Replications$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Replications$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Replications$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Volumes$Replications$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/replications').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a replication. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Volumes$Replications$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Volumes$Replications$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Volumes$Replications$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Volumes$Replications$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Volumes$Replications$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Replications$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Replications$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Volumes$Replications$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Establish replication peering. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + establishPeering( + params: Params$Resource$Projects$Locations$Volumes$Replications$Establishpeering, + options: StreamMethodOptions + ): GaxiosPromise; + establishPeering( + params?: Params$Resource$Projects$Locations$Volumes$Replications$Establishpeering, + options?: MethodOptions + ): GaxiosPromise; + establishPeering( + params: Params$Resource$Projects$Locations$Volumes$Replications$Establishpeering, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + establishPeering( + params: Params$Resource$Projects$Locations$Volumes$Replications$Establishpeering, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + establishPeering( + params: Params$Resource$Projects$Locations$Volumes$Replications$Establishpeering, + callback: BodyResponseCallback + ): void; + establishPeering(callback: BodyResponseCallback): void; + establishPeering( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Replications$Establishpeering + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Replications$Establishpeering; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Volumes$Replications$Establishpeering; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:establishPeering').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Describe a replication for a volume. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Volumes$Replications$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Volumes$Replications$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Volumes$Replications$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Volumes$Replications$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Volumes$Replications$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Replications$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Replications$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Volumes$Replications$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns descriptions of all replications for a volume. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Volumes$Replications$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Volumes$Replications$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Volumes$Replications$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Volumes$Replications$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Volumes$Replications$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Replications$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Replications$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Volumes$Replications$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/replications').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the settings of a specific replication. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Volumes$Replications$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Volumes$Replications$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Volumes$Replications$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Volumes$Replications$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Volumes$Replications$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Replications$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Replications$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Volumes$Replications$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Resume Cross Region Replication. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + resume( + params: Params$Resource$Projects$Locations$Volumes$Replications$Resume, + options: StreamMethodOptions + ): GaxiosPromise; + resume( + params?: Params$Resource$Projects$Locations$Volumes$Replications$Resume, + options?: MethodOptions + ): GaxiosPromise; + resume( + params: Params$Resource$Projects$Locations$Volumes$Replications$Resume, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + resume( + params: Params$Resource$Projects$Locations$Volumes$Replications$Resume, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + resume( + params: Params$Resource$Projects$Locations$Volumes$Replications$Resume, + callback: BodyResponseCallback + ): void; + resume(callback: BodyResponseCallback): void; + resume( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Replications$Resume + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Replications$Resume; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Volumes$Replications$Resume; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:resume').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Reverses direction of replication. Source becomes destination and destination becomes source. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + reverseDirection( + params: Params$Resource$Projects$Locations$Volumes$Replications$Reversedirection, + options: StreamMethodOptions + ): GaxiosPromise; + reverseDirection( + params?: Params$Resource$Projects$Locations$Volumes$Replications$Reversedirection, + options?: MethodOptions + ): GaxiosPromise; + reverseDirection( + params: Params$Resource$Projects$Locations$Volumes$Replications$Reversedirection, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + reverseDirection( + params: Params$Resource$Projects$Locations$Volumes$Replications$Reversedirection, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + reverseDirection( + params: Params$Resource$Projects$Locations$Volumes$Replications$Reversedirection, + callback: BodyResponseCallback + ): void; + reverseDirection(callback: BodyResponseCallback): void; + reverseDirection( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Replications$Reversedirection + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Replications$Reversedirection; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Volumes$Replications$Reversedirection; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:reverseDirection').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Stop Cross Region Replication. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + stop( + params: Params$Resource$Projects$Locations$Volumes$Replications$Stop, + options: StreamMethodOptions + ): GaxiosPromise; + stop( + params?: Params$Resource$Projects$Locations$Volumes$Replications$Stop, + options?: MethodOptions + ): GaxiosPromise; + stop( + params: Params$Resource$Projects$Locations$Volumes$Replications$Stop, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + stop( + params: Params$Resource$Projects$Locations$Volumes$Replications$Stop, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + stop( + params: Params$Resource$Projects$Locations$Volumes$Replications$Stop, + callback: BodyResponseCallback + ): void; + stop(callback: BodyResponseCallback): void; + stop( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Replications$Stop + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Replications$Stop; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Volumes$Replications$Stop; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:stop').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Syncs the replication. This will invoke one time volume data transfer from source to destination. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + sync( + params: Params$Resource$Projects$Locations$Volumes$Replications$Sync, + options: StreamMethodOptions + ): GaxiosPromise; + sync( + params?: Params$Resource$Projects$Locations$Volumes$Replications$Sync, + options?: MethodOptions + ): GaxiosPromise; + sync( + params: Params$Resource$Projects$Locations$Volumes$Replications$Sync, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + sync( + params: Params$Resource$Projects$Locations$Volumes$Replications$Sync, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + sync( + params: Params$Resource$Projects$Locations$Volumes$Replications$Sync, + callback: BodyResponseCallback + ): void; + sync(callback: BodyResponseCallback): void; + sync( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Replications$Sync + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Replications$Sync; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Volumes$Replications$Sync; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:sync').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Volumes$Replications$Create + extends StandardParameters { + /** + * Required. The NetApp volume to create the replications of, in the format `projects/{project_id\}/locations/{location\}/volumes/{volume_id\}` + */ + parent?: string; + /** + * Required. ID of the replication to create. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum. + */ + replicationId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Replication; + } + export interface Params$Resource$Projects$Locations$Volumes$Replications$Delete + extends StandardParameters { + /** + * Required. The replication resource name, in the format `projects/x/locations/x/volumes/x/replications/{replication_id\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Volumes$Replications$Establishpeering + extends StandardParameters { + /** + * Required. The resource name of the replication, in the format of projects/{project_id\}/locations/{location\}/volumes/{volume_id\}/replications/{replication_id\}. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$EstablishPeeringRequest; + } + export interface Params$Resource$Projects$Locations$Volumes$Replications$Get + extends StandardParameters { + /** + * Required. The replication resource name, in the format `projects/{project_id\}/locations/{location\}/volumes/{volume_id\}/replications/{replication_id\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Volumes$Replications$List + extends StandardParameters { + /** + * List filter. + */ + filter?: string; + /** + * Sort results. Supported values are "name", "name desc" or "" (unsorted). + */ + orderBy?: string; + /** + * The maximum number of items to return. + */ + pageSize?: number; + /** + * The next_page_token value to use if there are additional results to retrieve for this list request. + */ + pageToken?: string; + /** + * Required. The volume for which to retrieve replication information, in the format `projects/{project_id\}/locations/{location\}/volumes/{volume_id\}`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Volumes$Replications$Patch + extends StandardParameters { + /** + * Identifier. The resource name of the Replication. Format: `projects/{project_id\}/locations/{location\}/volumes/{volume_id\}/replications/{replication_id\}`. + */ + name?: string; + /** + * Required. Mask of fields to update. At least one path must be supplied in this field. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Replication; + } + export interface Params$Resource$Projects$Locations$Volumes$Replications$Resume + extends StandardParameters { + /** + * Required. The resource name of the replication, in the format of projects/{project_id\}/locations/{location\}/volumes/{volume_id\}/replications/{replication_id\}. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ResumeReplicationRequest; + } + export interface Params$Resource$Projects$Locations$Volumes$Replications$Reversedirection + extends StandardParameters { + /** + * Required. The resource name of the replication, in the format of projects/{project_id\}/locations/{location\}/volumes/{volume_id\}/replications/{replication_id\}. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ReverseReplicationDirectionRequest; + } + export interface Params$Resource$Projects$Locations$Volumes$Replications$Stop + extends StandardParameters { + /** + * Required. The resource name of the replication, in the format of projects/{project_id\}/locations/{location\}/volumes/{volume_id\}/replications/{replication_id\}. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$StopReplicationRequest; + } + export interface Params$Resource$Projects$Locations$Volumes$Replications$Sync + extends StandardParameters { + /** + * Required. The resource name of the replication, in the format of projects/{project_id\}/locations/{location\}/volumes/{volume_id\}/replications/{replication_id\}. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SyncReplicationRequest; + } + + export class Resource$Projects$Locations$Volumes$Snapshots { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Create a new snapshot for a volume. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Volumes$Snapshots$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Snapshots$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Snapshots$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Volumes$Snapshots$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/snapshots').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a snapshot. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Volumes$Snapshots$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Snapshots$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Snapshots$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Volumes$Snapshots$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Describe a snapshot for a volume. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Volumes$Snapshots$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Snapshots$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Snapshots$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Volumes$Snapshots$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns descriptions of all snapshots for a volume. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Volumes$Snapshots$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Snapshots$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Snapshots$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Volumes$Snapshots$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/snapshots').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the settings of a specific snapshot. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Volumes$Snapshots$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Snapshots$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Snapshots$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Volumes$Snapshots$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Volumes$Snapshots$Create + extends StandardParameters { + /** + * Required. The NetApp volume to create the snapshots of, in the format `projects/{project_id\}/locations/{location\}/volumes/{volume_id\}` + */ + parent?: string; + /** + * Required. ID of the snapshot to create. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum. + */ + snapshotId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Snapshot; + } + export interface Params$Resource$Projects$Locations$Volumes$Snapshots$Delete + extends StandardParameters { + /** + * Required. The snapshot resource name, in the format `projects/x/locations/x/volumes/x/snapshots/{snapshot_id\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Volumes$Snapshots$Get + extends StandardParameters { + /** + * Required. The snapshot resource name, in the format `projects/{project_id\}/locations/{location\}/volumes/{volume_id\}/snapshots/{snapshot_id\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Volumes$Snapshots$List + extends StandardParameters { + /** + * List filter. + */ + filter?: string; + /** + * Sort results. Supported values are "name", "name desc" or "" (unsorted). + */ + orderBy?: string; + /** + * The maximum number of items to return. + */ + pageSize?: number; + /** + * The next_page_token value to use if there are additional results to retrieve for this list request. + */ + pageToken?: string; + /** + * Required. The volume for which to retrieve snapshot information, in the format `projects/{project_id\}/locations/{location\}/volumes/{volume_id\}`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Volumes$Snapshots$Patch + extends StandardParameters { + /** + * Identifier. The resource name of the snapshot. Format: `projects/{project_id\}/locations/{location\}/volumes/{volume_id\}/snapshots/{snapshot_id\}`. + */ + name?: string; + /** + * Required. Mask of fields to update. At least one path must be supplied in this field. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Snapshot; + } +} diff --git a/src/apis/netapp/v1beta1.ts b/src/apis/netapp/v1beta1.ts new file mode 100644 index 0000000000..fc608c39c8 --- /dev/null +++ b/src/apis/netapp/v1beta1.ts @@ -0,0 +1,7791 @@ +// Copyright 2020 Google LLC +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/no-empty-interface */ +/* eslint-disable @typescript-eslint/no-namespace */ +/* eslint-disable no-irregular-whitespace */ + +import { + OAuth2Client, + JWT, + Compute, + UserRefreshClient, + BaseExternalAccountClient, + GaxiosPromise, + GoogleConfigurable, + createAPIRequest, + MethodOptions, + StreamMethodOptions, + GlobalOptions, + GoogleAuth, + BodyResponseCallback, + APIRequestContext, +} from 'googleapis-common'; +import {Readable} from 'stream'; + +export namespace netapp_v1beta1 { + export interface Options extends GlobalOptions { + version: 'v1beta1'; + } + + interface StandardParameters { + /** + * Auth client or API Key for the request + */ + auth?: + | string + | OAuth2Client + | JWT + | Compute + | UserRefreshClient + | BaseExternalAccountClient + | GoogleAuth; + + /** + * V1 error format. + */ + '$.xgafv'?: string; + /** + * OAuth access token. + */ + access_token?: string; + /** + * Data format for response. + */ + alt?: string; + /** + * JSONP + */ + callback?: string; + /** + * Selector specifying which fields to include in a partial response. + */ + fields?: string; + /** + * API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + */ + key?: string; + /** + * OAuth 2.0 token for the current user. + */ + oauth_token?: string; + /** + * Returns response with indentations and line breaks. + */ + prettyPrint?: boolean; + /** + * Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + */ + quotaUser?: string; + /** + * Legacy upload protocol for media (e.g. "media", "multipart"). + */ + uploadType?: string; + /** + * Upload protocol for media (e.g. "raw", "multipart"). + */ + upload_protocol?: string; + } + + /** + * NetApp API + * + * Google Cloud NetApp Volumes is a fully-managed, cloud-based data storage service that provides advanced data management capabilities and highly scalable performance with global availability. + * + * @example + * ```js + * const {google} = require('googleapis'); + * const netapp = google.netapp('v1beta1'); + * ``` + */ + export class Netapp { + context: APIRequestContext; + projects: Resource$Projects; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.projects = new Resource$Projects(this.context); + } + } + + /** + * ActiveDirectory is the public representation of the active directory config. + */ + export interface Schema$ActiveDirectory { + /** + * Optional. Users to be added to the Built-in Admininstrators group. + */ + administrators?: string[] | null; + /** + * If enabled, AES encryption will be enabled for SMB communication. + */ + aesEncryption?: boolean | null; + /** + * Optional. Users to be added to the Built-in Backup Operator active directory group. + */ + backupOperators?: string[] | null; + /** + * Output only. Create time of the active directory. + */ + createTime?: string | null; + /** + * Description of the active directory. + */ + description?: string | null; + /** + * Required. Comma separated list of DNS server IP addresses for the Active Directory domain. + */ + dns?: string | null; + /** + * Required. Name of the Active Directory domain + */ + domain?: string | null; + /** + * If enabled, traffic between the SMB server to Domain Controller (DC) will be encrypted. + */ + encryptDcConnections?: boolean | null; + /** + * Name of the active directory machine. This optional parameter is used only while creating kerberos volume + */ + kdcHostname?: string | null; + /** + * KDC server IP address for the active directory machine. + */ + kdcIp?: string | null; + /** + * Labels for the active directory. + */ + labels?: {[key: string]: string} | null; + /** + * Specifies whether or not the LDAP traffic needs to be signed. + */ + ldapSigning?: boolean | null; + /** + * Identifier. The resource name of the active directory. Format: `projects/{project_number\}/locations/{location_id\}/activeDirectories/{active_directory_id\}`. + */ + name?: string | null; + /** + * Required. NetBIOSPrefix is used as a prefix for SMB server name. + */ + netBiosPrefix?: string | null; + /** + * If enabled, will allow access to local users and LDAP users. If access is needed for only LDAP users, it has to be disabled. + */ + nfsUsersWithLdap?: boolean | null; + /** + * The Organizational Unit (OU) within the Windows Active Directory the user belongs to. + */ + organizationalUnit?: string | null; + /** + * Required. Password of the Active Directory domain administrator. + */ + password?: string | null; + /** + * Optional. Domain users to be given the SeSecurityPrivilege. + */ + securityOperators?: string[] | null; + /** + * The Active Directory site the service will limit Domain Controller discovery too. + */ + site?: string | null; + /** + * Output only. The state of the AD. + */ + state?: string | null; + /** + * Output only. The state details of the Active Directory. + */ + stateDetails?: string | null; + /** + * Required. Username of the Active Directory domain administrator. + */ + username?: string | null; + } + /** + * A NetApp Backup. + */ + export interface Schema$Backup { + /** + * Output only. Type of backup, manually created or created by a backup policy. + */ + backupType?: string | null; + /** + * Output only. Total size of all backups in a chain in bytes = baseline backup size + sum(incremental backup size) + */ + chainStorageBytes?: string | null; + /** + * Output only. The time when the backup was created. + */ + createTime?: string | null; + /** + * A description of the backup with 2048 characters or less. Requests with longer descriptions will be rejected. + */ + description?: string | null; + /** + * Resource labels to represent user provided metadata. + */ + labels?: {[key: string]: string} | null; + /** + * Identifier. The resource name of the backup. Format: `projects/{project_id\}/locations/{location\}/backupVaults/{backup_vault_id\}/backups/{backup_id\}`. + */ + name?: string | null; + /** + * Output only. Reserved for future use + */ + satisfiesPzi?: boolean | null; + /** + * Output only. Reserved for future use + */ + satisfiesPzs?: boolean | null; + /** + * If specified, backup will be created from the given snapshot. If not specified, there will be a new snapshot taken to initiate the backup creation. Format: `projects/{project_id\}/locations/{location\}/volumes/{volume_id\}/snapshots/{snapshot_id\}` + */ + sourceSnapshot?: string | null; + /** + * Volume full name of this backup belongs to. Format: `projects/{projects_id\}/locations/{location\}/volumes/{volume_id\}` + */ + sourceVolume?: string | null; + /** + * Output only. The backup state. + */ + state?: string | null; + /** + * Output only. Size of the file system when the backup was created. When creating a new volume from the backup, the volume capacity will have to be at least as big. + */ + volumeUsageBytes?: string | null; + } + /** + * BackupConfig contains backup related config on a volume. + */ + export interface Schema$BackupConfig { + /** + * Output only. Total size of all backups in a chain in bytes = baseline backup size + sum(incremental backup size). + */ + backupChainBytes?: string | null; + /** + * Optional. When specified, schedule backups will be created based on the policy configuration. + */ + backupPolicies?: string[] | null; + /** + * Optional. Name of backup vault. Format: projects/{project_id\}/locations/{location\}/backupVaults/{backup_vault_id\} + */ + backupVault?: string | null; + /** + * Optional. When set to true, scheduled backup is enabled on the volume. This field should be nil when there's no backup policy attached. + */ + scheduledBackupEnabled?: boolean | null; + } + /** + * Backup Policy. + */ + export interface Schema$BackupPolicy { + /** + * Output only. The total number of volumes assigned by this backup policy. + */ + assignedVolumeCount?: number | null; + /** + * Output only. The time when the backup policy was created. + */ + createTime?: string | null; + /** + * Number of daily backups to keep. Note that the minimum daily backup limit is 2. + */ + dailyBackupLimit?: number | null; + /** + * Description of the backup policy. + */ + description?: string | null; + /** + * If enabled, make backups automatically according to the schedules. This will be applied to all volumes that have this policy attached and enforced on volume level. If not specified, default is true. + */ + enabled?: boolean | null; + /** + * Resource labels to represent user provided metadata. + */ + labels?: {[key: string]: string} | null; + /** + * Number of monthly backups to keep. Note that the sum of daily, weekly and monthly backups should be greater than 1. + */ + monthlyBackupLimit?: number | null; + /** + * Identifier. The resource name of the backup policy. Format: `projects/{project_id\}/locations/{location\}/backupPolicies/{backup_policy_id\}`. + */ + name?: string | null; + /** + * Output only. The backup policy state. + */ + state?: string | null; + /** + * Number of weekly backups to keep. Note that the sum of daily, weekly and monthly backups should be greater than 1. + */ + weeklyBackupLimit?: number | null; + } + /** + * A NetApp BackupVault. + */ + export interface Schema$BackupVault { + /** + * Output only. Create time of the backup vault. + */ + createTime?: string | null; + /** + * Description of the backup vault. + */ + description?: string | null; + /** + * Resource labels to represent user provided metadata. + */ + labels?: {[key: string]: string} | null; + /** + * Identifier. The resource name of the backup vault. Format: `projects/{project_id\}/locations/{location\}/backupVaults/{backup_vault_id\}`. + */ + name?: string | null; + /** + * Output only. The backup vault state. + */ + state?: string | null; + } + /** + * The request message for Operations.CancelOperation. + */ + export interface Schema$CancelOperationRequest {} + /** + * Make a snapshot every day e.g. at 04:00, 05:20, 23:50 + */ + export interface Schema$DailySchedule { + /** + * Set the hour to start the snapshot (0-23), defaults to midnight (0). + */ + hour?: number | null; + /** + * Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0). + */ + minute?: number | null; + /** + * The maximum number of Snapshots to keep for the hourly schedule + */ + snapshotsToKeep?: number | null; + } + /** + * DestinationVolumeParameters specify input parameters used for creating destination volume. + */ + export interface Schema$DestinationVolumeParameters { + /** + * Description for the destination volume. + */ + description?: string | null; + /** + * Destination volume's share name. If not specified, source volume's share name will be used. + */ + shareName?: string | null; + /** + * Required. Existing destination StoragePool name. + */ + storagePool?: string | null; + /** + * Optional. Tiering policy for the volume. + */ + tieringPolicy?: Schema$TieringPolicy; + /** + * Desired destination volume resource id. If not specified, source volume's resource id will be used. This value must start with a lowercase letter followed by up to 62 lowercase letters, numbers, or hyphens, and cannot end with a hyphen. + */ + volumeId?: string | null; + } + /** + * EncryptVolumesRequest specifies the KMS config to encrypt existing volumes. + */ + export interface Schema$EncryptVolumesRequest {} + /** + * EstablishPeeringRequest establishes cluster and svm peerings between the source and the destination replications. + */ + export interface Schema$EstablishPeeringRequest { + /** + * Required. Name of the user's local source cluster to be peered with the destination cluster. + */ + peerClusterName?: string | null; + /** + * Optional. List of IPv4 ip addresses to be used for peering. + */ + peerIpAddresses?: string[] | null; + /** + * Required. Name of the user's local source vserver svm to be peered with the destination vserver svm. + */ + peerSvmName?: string | null; + /** + * Required. Name of the user's local source volume to be peered with the destination volume. + */ + peerVolumeName?: string | null; + } + /** + * Defines the export policy for the volume. + */ + export interface Schema$ExportPolicy { + /** + * Required. List of export policy rules + */ + rules?: Schema$SimpleExportPolicyRule[]; + } + /** + * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} + */ + export interface Schema$GoogleProtobufEmpty {} + /** + * Make a snapshot every hour e.g. at 04:00, 05:00, 06:00. + */ + export interface Schema$HourlySchedule { + /** + * Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0). + */ + minute?: number | null; + /** + * The maximum number of Snapshots to keep for the hourly schedule + */ + snapshotsToKeep?: number | null; + } + /** + * HybridPeeringDetails contains details about the hybrid peering. + */ + export interface Schema$HybridPeeringDetails { + /** + * Optional. Copy-paste-able commands to be used on user's ONTAP to accept peering requests. + */ + command?: string | null; + /** + * Optional. Expiration time for the peering command to be executed on user's ONTAP. + */ + commandExpiryTime?: string | null; + /** + * Optional. Temporary passphrase generated to accept cluster peering command. + */ + passphrase?: string | null; + /** + * Optional. IP address of the subnet. + */ + subnetIp?: string | null; + } + /** + * The Hybrid Replication parameters for the volume. + */ + export interface Schema$HybridReplicationParameters { + /** + * Optional. Name of source cluster location associated with the Hybrid replication. This is a free-form field for the display purpose only. + */ + clusterLocation?: string | null; + /** + * Optional. Description of the replication. + */ + description?: string | null; + /** + * Optional. Labels to be added to the replication as the key value pairs. + */ + labels?: {[key: string]: string} | null; + /** + * Required. Name of the user's local source cluster to be peered with the destination cluster. + */ + peerClusterName?: string | null; + /** + * Required. List of node ip addresses to be peered with. + */ + peerIpAddresses?: string[] | null; + /** + * Required. Name of the user's local source vserver svm to be peered with the destination vserver svm. + */ + peerSvmName?: string | null; + /** + * Required. Name of the user's local source volume to be peered with the destination volume. + */ + peerVolumeName?: string | null; + /** + * Required. Desired name for the replication of this volume. + */ + replication?: string | null; + } + /** + * KmsConfig is the customer managed encryption key(CMEK) configuration. + */ + export interface Schema$KmsConfig { + /** + * Output only. Create time of the KmsConfig. + */ + createTime?: string | null; + /** + * Required. Customer managed crypto key resource full name. Format: projects/{project\}/locations/{location\}/keyRings/{key_ring\}/cryptoKeys/{key\}. + */ + cryptoKeyName?: string | null; + /** + * Description of the KmsConfig. + */ + description?: string | null; + /** + * Output only. Instructions to provide the access to the customer provided encryption key. + */ + instructions?: string | null; + /** + * Labels as key value pairs + */ + labels?: {[key: string]: string} | null; + /** + * Identifier. Name of the KmsConfig. + */ + name?: string | null; + /** + * Output only. The Service account which will have access to the customer provided encryption key. + */ + serviceAccount?: string | null; + /** + * Output only. State of the KmsConfig. + */ + state?: string | null; + /** + * Output only. State details of the KmsConfig. + */ + stateDetails?: string | null; + } + /** + * ListActiveDirectoriesResponse contains all the active directories requested. + */ + export interface Schema$ListActiveDirectoriesResponse { + /** + * The list of active directories. + */ + activeDirectories?: Schema$ActiveDirectory[]; + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * ListBackupPoliciesResponse contains all the backup policies requested. + */ + export interface Schema$ListBackupPoliciesResponse { + /** + * The list of backup policies. + */ + backupPolicies?: Schema$BackupPolicy[]; + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * ListBackupsResponse is the result of ListBackupsRequest. + */ + export interface Schema$ListBackupsResponse { + /** + * A list of backups in the project. + */ + backups?: Schema$Backup[]; + /** + * The token you can use to retrieve the next page of results. Not returned if there are no more results in the list. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * ListBackupVaultsResponse is the result of ListBackupVaultsRequest. + */ + export interface Schema$ListBackupVaultsResponse { + /** + * A list of backupVaults in the project for the specified location. + */ + backupVaults?: Schema$BackupVault[]; + /** + * The token you can use to retrieve the next page of results. Not returned if there are no more results in the list. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * ListKmsConfigsResponse is the response to a ListKmsConfigsRequest. + */ + export interface Schema$ListKmsConfigsResponse { + /** + * The list of KmsConfigs + */ + kmsConfigs?: Schema$KmsConfig[]; + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * The response message for Locations.ListLocations. + */ + export interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string | null; + } + /** + * The response message for Operations.ListOperations. + */ + export interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string | null; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * ListReplicationsResponse is the result of ListReplicationsRequest. + */ + export interface Schema$ListReplicationsResponse { + /** + * The token you can use to retrieve the next page of results. Not returned if there are no more results in the list. + */ + nextPageToken?: string | null; + /** + * A list of replications in the project for the specified volume. + */ + replications?: Schema$Replication[]; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * ListSnapshotsResponse is the result of ListSnapshotsRequest. + */ + export interface Schema$ListSnapshotsResponse { + /** + * The token you can use to retrieve the next page of results. Not returned if there are no more results in the list. + */ + nextPageToken?: string | null; + /** + * A list of snapshots in the project for the specified volume. + */ + snapshots?: Schema$Snapshot[]; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * ListStoragePoolsResponse is the response to a ListStoragePoolsRequest. + */ + export interface Schema$ListStoragePoolsResponse { + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + /** + * The list of StoragePools + */ + storagePools?: Schema$StoragePool[]; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * Message for response to listing Volumes + */ + export interface Schema$ListVolumesResponse { + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + /** + * The list of Volume + */ + volumes?: Schema$Volume[]; + } + /** + * A resource that represents a Google Cloud location. + */ + export interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For example, "Tokyo". + */ + displayName?: string | null; + /** + * Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"\} + */ + labels?: {[key: string]: string} | null; + /** + * The canonical id for this location. For example: `"us-east1"`. + */ + locationId?: string | null; + /** + * Service-specific metadata. For example the available capacity at the given location. + */ + metadata?: {[key: string]: any} | null; + /** + * Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` + */ + name?: string | null; + } + /** + * Metadata for a given google.cloud.location.Location. + */ + export interface Schema$LocationMetadata { + /** + * Output only. Supported service levels in a location. + */ + supportedServiceLevels?: string[] | null; + } + /** + * Make a snapshot once a month e.g. at 2nd 04:00, 7th 05:20, 24th 23:50 + */ + export interface Schema$MonthlySchedule { + /** + * Set the day or days of the month to make a snapshot (1-31). Accepts a comma separated number of days. Defaults to '1'. + */ + daysOfMonth?: string | null; + /** + * Set the hour to start the snapshot (0-23), defaults to midnight (0). + */ + hour?: number | null; + /** + * Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0). + */ + minute?: number | null; + /** + * The maximum number of Snapshots to keep for the hourly schedule + */ + snapshotsToKeep?: number | null; + } + /** + * View only mount options for a volume. + */ + export interface Schema$MountOption { + /** + * Export string + */ + export?: string | null; + /** + * Full export string + */ + exportFull?: string | null; + /** + * Instructions for mounting + */ + instructions?: string | null; + /** + * Protocol to mount with. + */ + protocol?: string | null; + } + /** + * This resource represents a long-running operation that is the result of a network API call. + */ + export interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. + */ + done?: boolean | null; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. + */ + metadata?: {[key: string]: any} | null; + /** + * The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id\}`. + */ + name?: string | null; + /** + * The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: {[key: string]: any} | null; + } + /** + * Represents the metadata of the long-running operation. + */ + export interface Schema$OperationMetadata { + /** + * Output only. API version used to start the operation. + */ + apiVersion?: string | null; + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been canceled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + */ + requestedCancellation?: boolean | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; + /** + * Output only. Server-defined resource path for the target of the operation. + */ + target?: string | null; + /** + * Output only. Name of the verb executed by the operation. + */ + verb?: string | null; + } + /** + * Replication is a nested resource under Volume, that describes a cross-region replication relationship between 2 volumes in different regions. + */ + export interface Schema$Replication { + /** + * Optional. Location of the user cluster. + */ + clusterLocation?: string | null; + /** + * Output only. Replication create time. + */ + createTime?: string | null; + /** + * A description about this replication relationship. + */ + description?: string | null; + /** + * Output only. Full name of destination volume resource. Example : "projects/{project\}/locations/{location\}/volumes/{volume_id\}" + */ + destinationVolume?: string | null; + /** + * Required. Input only. Destination volume parameters + */ + destinationVolumeParameters?: Schema$DestinationVolumeParameters; + /** + * Output only. Condition of the relationship. Can be one of the following: - true: The replication relationship is healthy. It has not missed the most recent scheduled transfer. - false: The replication relationship is not healthy. It has missed the most recent scheduled transfer. + */ + healthy?: boolean | null; + /** + * Output only. Hybrid peering details. + */ + hybridPeeringDetails?: Schema$HybridPeeringDetails; + /** + * Output only. Type of the hybrid replication. + */ + hybridReplicationType?: string | null; + /** + * Resource labels to represent user provided metadata. + */ + labels?: {[key: string]: string} | null; + /** + * Output only. Indicates the state of mirroring. + */ + mirrorState?: string | null; + /** + * Identifier. The resource name of the Replication. Format: `projects/{project_id\}/locations/{location\}/volumes/{volume_id\}/replications/{replication_id\}`. + */ + name?: string | null; + /** + * Required. Indicates the schedule for replication. + */ + replicationSchedule?: string | null; + /** + * Output only. Indicates whether this points to source or destination. + */ + role?: string | null; + /** + * Output only. Full name of source volume resource. Example : "projects/{project\}/locations/{location\}/volumes/{volume_id\}" + */ + sourceVolume?: string | null; + /** + * Output only. State of the replication. + */ + state?: string | null; + /** + * Output only. State details of the replication. + */ + stateDetails?: string | null; + /** + * Output only. Replication transfer statistics. + */ + transferStats?: Schema$TransferStats; + } + /** + * The RestoreParameters if volume is created from a snapshot or backup. + */ + export interface Schema$RestoreParameters { + /** + * Full name of the backup resource. Format: projects/{project\}/locations/{location\}/backupVaults/{backup_vault_id\}/backups/{backup_id\} + */ + sourceBackup?: string | null; + /** + * Full name of the snapshot resource. Format: projects/{project\}/locations/{location\}/volumes/{volume\}/snapshots/{snapshot\} + */ + sourceSnapshot?: string | null; + } + /** + * ResumeReplicationRequest resumes a stopped replication. + */ + export interface Schema$ResumeReplicationRequest {} + /** + * ReverseReplicationDirectionRequest reverses direction of replication. Source becomes destination and destination becomes source. + */ + export interface Schema$ReverseReplicationDirectionRequest {} + /** + * RevertVolumeRequest reverts the given volume to the specified snapshot. + */ + export interface Schema$RevertVolumeRequest { + /** + * Required. The snapshot resource ID, in the format 'my-snapshot', where the specified ID is the {snapshot_id\} of the fully qualified name like projects/{project_id\}/locations/{location_id\}/volumes/{volume_id\}/snapshots/{snapshot_id\} + */ + snapshotId?: string | null; + } + /** + * An export policy rule describing various export options. + */ + export interface Schema$SimpleExportPolicyRule { + /** + * Access type (ReadWrite, ReadOnly, None) + */ + accessType?: string | null; + /** + * Comma separated list of allowed clients IP addresses + */ + allowedClients?: string | null; + /** + * Whether Unix root access will be granted. + */ + hasRootAccess?: string | null; + /** + * If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'integrity' kerberos security mode. + */ + kerberos5iReadOnly?: boolean | null; + /** + * If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'integrity' kerberos security mode. The 'kerberos5iReadOnly' value be ignored if this is enabled. + */ + kerberos5iReadWrite?: boolean | null; + /** + * If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'privacy' kerberos security mode. + */ + kerberos5pReadOnly?: boolean | null; + /** + * If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'privacy' kerberos security mode. The 'kerberos5pReadOnly' value be ignored if this is enabled. + */ + kerberos5pReadWrite?: boolean | null; + /** + * If enabled (true) the rule defines a read only access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'authentication' kerberos security mode. + */ + kerberos5ReadOnly?: boolean | null; + /** + * If enabled (true) the rule defines read and write access for clients matching the 'allowedClients' specification. It enables nfs clients to mount using 'authentication' kerberos security mode. The 'kerberos5ReadOnly' value be ignored if this is enabled. + */ + kerberos5ReadWrite?: boolean | null; + /** + * NFS V3 protocol. + */ + nfsv3?: boolean | null; + /** + * NFS V4 protocol. + */ + nfsv4?: boolean | null; + } + /** + * Snapshot is a point-in-time version of a Volume's content. + */ + export interface Schema$Snapshot { + /** + * Output only. The time when the snapshot was created. + */ + createTime?: string | null; + /** + * A description of the snapshot with 2048 characters or less. Requests with longer descriptions will be rejected. + */ + description?: string | null; + /** + * Resource labels to represent user provided metadata. + */ + labels?: {[key: string]: string} | null; + /** + * Identifier. The resource name of the snapshot. Format: `projects/{project_id\}/locations/{location\}/volumes/{volume_id\}/snapshots/{snapshot_id\}`. + */ + name?: string | null; + /** + * Output only. The snapshot state. + */ + state?: string | null; + /** + * Output only. State details of the storage pool + */ + stateDetails?: string | null; + /** + * Output only. Current storage usage for the snapshot in bytes. + */ + usedBytes?: number | null; + } + /** + * Snapshot Policy for a volume. + */ + export interface Schema$SnapshotPolicy { + /** + * Daily schedule policy. + */ + dailySchedule?: Schema$DailySchedule; + /** + * If enabled, make snapshots automatically according to the schedules. Default is false. + */ + enabled?: boolean | null; + /** + * Hourly schedule policy. + */ + hourlySchedule?: Schema$HourlySchedule; + /** + * Monthly schedule policy. + */ + monthlySchedule?: Schema$MonthlySchedule; + /** + * Weekly schedule policy. + */ + weeklySchedule?: Schema$WeeklySchedule; + } + /** + * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + */ + export interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number | null; + /** + * A list of messages that carry the error details. There is a common set of message types for APIs to use. + */ + details?: Array<{[key: string]: any}> | null; + /** + * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + */ + message?: string | null; + } + /** + * StopReplicationRequest stops a replication until resumed. + */ + export interface Schema$StopReplicationRequest { + /** + * Indicates whether to stop replication forcefully while data transfer is in progress. Warning! if force is true, this will abort any current transfers and can lead to data loss due to partial transfer. If force is false, stop replication will fail while data transfer is in progress and you will need to retry later. + */ + force?: boolean | null; + } + /** + * StoragePool is a container for volumes with a service level and capacity. Volumes can be created in a pool of sufficient available capacity. StoragePool capacity is what you are billed for. + */ + export interface Schema$StoragePool { + /** + * Optional. Specifies the Active Directory to be used for creating a SMB volume. + */ + activeDirectory?: string | null; + /** + * Optional. True if the storage pool supports Auto Tiering enabled volumes. Default is false. Auto-tiering can be enabled after storage pool creation but it can't be disabled once enabled. + */ + allowAutoTiering?: boolean | null; + /** + * Required. Capacity in GIB of the pool + */ + capacityGib?: string | null; + /** + * Output only. Create time of the storage pool + */ + createTime?: string | null; + /** + * Optional. Description of the storage pool + */ + description?: string | null; + /** + * Output only. Specifies the current pool encryption key source. + */ + encryptionType?: string | null; + /** + * Deprecated. Used to allow SO pool to access AD or DNS server from other regions. + */ + globalAccessAllowed?: boolean | null; + /** + * Optional. Specifies the KMS config to be used for volume encryption. + */ + kmsConfig?: string | null; + /** + * Optional. Labels as key value pairs + */ + labels?: {[key: string]: string} | null; + /** + * Optional. Flag indicating if the pool is NFS LDAP enabled or not. + */ + ldapEnabled?: boolean | null; + /** + * Identifier. Name of the storage pool + */ + name?: string | null; + /** + * Required. VPC Network name. Format: projects/{project\}/global/networks/{network\} + */ + network?: string | null; + /** + * Optional. This field is not implemented. The values provided in this field are ignored. + */ + psaRange?: string | null; + /** + * Optional. Specifies the replica zone for regional storagePool. + */ + replicaZone?: string | null; + /** + * Output only. Reserved for future use + */ + satisfiesPzi?: boolean | null; + /** + * Output only. Reserved for future use + */ + satisfiesPzs?: boolean | null; + /** + * Required. Service level of the storage pool + */ + serviceLevel?: string | null; + /** + * Output only. State of the storage pool + */ + state?: string | null; + /** + * Output only. State details of the storage pool + */ + stateDetails?: string | null; + /** + * Output only. Allocated size of all volumes in GIB in the storage pool + */ + volumeCapacityGib?: string | null; + /** + * Output only. Volume count of the storage pool + */ + volumeCount?: number | null; + /** + * Optional. Specifies the active zone for regional storagePool. + */ + zone?: string | null; + } + /** + * SwitchActiveReplicaZoneRequest switch the active/replica zone for a regional storagePool. + */ + export interface Schema$SwitchActiveReplicaZoneRequest {} + /** + * SyncReplicationRequest syncs the replication from source to destination. + */ + export interface Schema$SyncReplicationRequest {} + /** + * Defines tiering policy for the volume. + */ + export interface Schema$TieringPolicy { + /** + * Optional. Time in days to mark the volume's data block as cold and make it eligible for tiering, can be range from 7-183. Default is 31. + */ + coolingThresholdDays?: number | null; + /** + * Optional. Flag indicating if the volume has tiering policy enable/pause. Default is PAUSED. + */ + tierAction?: string | null; + } + /** + * TransferStats reports all statistics related to replication transfer. + */ + export interface Schema$TransferStats { + /** + * Lag duration indicates the duration by which Destination region volume content lags behind the primary region volume content. + */ + lagDuration?: string | null; + /** + * Last transfer size in bytes. + */ + lastTransferBytes?: string | null; + /** + * Time taken during last transfer. + */ + lastTransferDuration?: string | null; + /** + * Time when last transfer completed. + */ + lastTransferEndTime?: string | null; + /** + * A message describing the cause of the last transfer failure. + */ + lastTransferError?: string | null; + /** + * Cumulative time taken across all transfers for the replication relationship. + */ + totalTransferDuration?: string | null; + /** + * Cumulative bytes trasferred so far for the replication relatinonship. + */ + transferBytes?: string | null; + /** + * Time when progress was updated last. + */ + updateTime?: string | null; + } + /** + * ValidateDirectoryServiceRequest validates the directory service policy attached to the storage pool. + */ + export interface Schema$ValidateDirectoryServiceRequest { + /** + * Type of directory service policy attached to the storage pool. + */ + directoryServiceType?: string | null; + } + /** + * VerifyKmsConfigRequest specifies the KMS config to be validated. + */ + export interface Schema$VerifyKmsConfigRequest {} + /** + * VerifyKmsConfigResponse contains the information if the config is correctly and error message. + */ + export interface Schema$VerifyKmsConfigResponse { + /** + * Output only. Error message if config is not healthy. + */ + healthError?: string | null; + /** + * Output only. If the customer key configured correctly to the encrypt volume. + */ + healthy?: boolean | null; + /** + * Output only. Instructions for the customers to provide the access to the encryption key. + */ + instructions?: string | null; + } + /** + * Volume provides a filesystem that you can mount. + */ + export interface Schema$Volume { + /** + * Output only. Specifies the ActiveDirectory name of a SMB volume. + */ + activeDirectory?: string | null; + /** + * BackupConfig of the volume. + */ + backupConfig?: Schema$BackupConfig; + /** + * Required. Capacity in GIB of the volume + */ + capacityGib?: string | null; + /** + * Output only. Size of the volume cold tier data in GiB. + */ + coldTierSizeGib?: string | null; + /** + * Output only. Create time of the volume + */ + createTime?: string | null; + /** + * Optional. Description of the volume + */ + description?: string | null; + /** + * Output only. Specified the current volume encryption key source. + */ + encryptionType?: string | null; + /** + * Optional. Export policy of the volume + */ + exportPolicy?: Schema$ExportPolicy; + /** + * Output only. Indicates whether the volume is part of a replication relationship. + */ + hasReplication?: boolean | null; + /** + * Optional. The Hybrid Replication parameters for the volume. + */ + hybridReplicationParameters?: Schema$HybridReplicationParameters; + /** + * Optional. Flag indicating if the volume is a kerberos volume or not, export policy rules control kerberos security modes (krb5, krb5i, krb5p). + */ + kerberosEnabled?: boolean | null; + /** + * Output only. Specifies the KMS config to be used for volume encryption. + */ + kmsConfig?: string | null; + /** + * Optional. Labels as key value pairs + */ + labels?: {[key: string]: string} | null; + /** + * Optional. Flag indicating if the volume will be a large capacity volume or a regular volume. + */ + largeCapacity?: boolean | null; + /** + * Output only. Flag indicating if the volume is NFS LDAP enabled or not. + */ + ldapEnabled?: boolean | null; + /** + * Output only. Mount options of this volume + */ + mountOptions?: Schema$MountOption[]; + /** + * Optional. Flag indicating if the volume will have an IP address per node for volumes supporting multiple IP endpoints. Only the volume with large_capacity will be allowed to have multiple endpoints. + */ + multipleEndpoints?: boolean | null; + /** + * Identifier. Name of the volume + */ + name?: string | null; + /** + * Output only. VPC Network name. Format: projects/{project\}/global/networks/{network\} + */ + network?: string | null; + /** + * Required. Protocols required for the volume + */ + protocols?: string[] | null; + /** + * Output only. This field is not implemented. The values provided in this field are ignored. + */ + psaRange?: string | null; + /** + * Output only. Specifies the replica zone for regional volume. + */ + replicaZone?: string | null; + /** + * Optional. Specifies the source of the volume to be created from. + */ + restoreParameters?: Schema$RestoreParameters; + /** + * Optional. List of actions that are restricted on this volume. + */ + restrictedActions?: string[] | null; + /** + * Optional. Security Style of the Volume + */ + securityStyle?: string | null; + /** + * Output only. Service level of the volume + */ + serviceLevel?: string | null; + /** + * Required. Share name of the volume + */ + shareName?: string | null; + /** + * Optional. SMB share settings for the volume. + */ + smbSettings?: string[] | null; + /** + * Optional. Snap_reserve specifies percentage of volume storage reserved for snapshot storage. Default is 0 percent. + */ + snapReserve?: number | null; + /** + * Optional. Snapshot_directory if enabled (true) the volume will contain a read-only .snapshot directory which provides access to each of the volume's snapshots. + */ + snapshotDirectory?: boolean | null; + /** + * Optional. SnapshotPolicy for a volume. + */ + snapshotPolicy?: Schema$SnapshotPolicy; + /** + * Output only. State of the volume + */ + state?: string | null; + /** + * Output only. State details of the volume + */ + stateDetails?: string | null; + /** + * Required. StoragePool name of the volume + */ + storagePool?: string | null; + /** + * Tiering policy for the volume. + */ + tieringPolicy?: Schema$TieringPolicy; + /** + * Optional. Default unix style permission (e.g. 777) the mount point will be created with. Applicable for NFS protocol types only. + */ + unixPermissions?: string | null; + /** + * Output only. Used capacity in GIB of the volume. This is computed periodically and it does not represent the realtime usage. + */ + usedGib?: string | null; + /** + * Output only. Specifies the active zone for regional volume. + */ + zone?: string | null; + } + /** + * Make a snapshot every week e.g. at Monday 04:00, Wednesday 05:20, Sunday 23:50 + */ + export interface Schema$WeeklySchedule { + /** + * Set the day or days of the week to make a snapshot. Accepts a comma separated days of the week. Defaults to 'Sunday'. + */ + day?: string | null; + /** + * Set the hour to start the snapshot (0-23), defaults to midnight (0). + */ + hour?: number | null; + /** + * Set the minute of the hour to start the snapshot (0-59), defaults to the top of the hour (0). + */ + minute?: number | null; + /** + * The maximum number of Snapshots to keep for the hourly schedule + */ + snapshotsToKeep?: number | null; + } + + export class Resource$Projects { + context: APIRequestContext; + locations: Resource$Projects$Locations; + constructor(context: APIRequestContext) { + this.context = context; + this.locations = new Resource$Projects$Locations(this.context); + } + } + + export class Resource$Projects$Locations { + context: APIRequestContext; + activeDirectories: Resource$Projects$Locations$Activedirectories; + backupPolicies: Resource$Projects$Locations$Backuppolicies; + backupVaults: Resource$Projects$Locations$Backupvaults; + kmsConfigs: Resource$Projects$Locations$Kmsconfigs; + operations: Resource$Projects$Locations$Operations; + storagePools: Resource$Projects$Locations$Storagepools; + volumes: Resource$Projects$Locations$Volumes; + constructor(context: APIRequestContext) { + this.context = context; + this.activeDirectories = + new Resource$Projects$Locations$Activedirectories(this.context); + this.backupPolicies = new Resource$Projects$Locations$Backuppolicies( + this.context + ); + this.backupVaults = new Resource$Projects$Locations$Backupvaults( + this.context + ); + this.kmsConfigs = new Resource$Projects$Locations$Kmsconfigs( + this.context + ); + this.operations = new Resource$Projects$Locations$Operations( + this.context + ); + this.storagePools = new Resource$Projects$Locations$Storagepools( + this.context + ); + this.volumes = new Resource$Projects$Locations$Volumes(this.context); + } + + /** + * Gets information about a location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists information about the supported locations for this service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}/locations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Get + extends StandardParameters { + /** + * Resource name for the location. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$List + extends StandardParameters { + /** + * A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160). + */ + filter?: string; + /** + * The resource that owns the locations collection, if applicable. + */ + name?: string; + /** + * The maximum number of results to return. If not set, the service selects a default. + */ + pageSize?: number; + /** + * A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page. + */ + pageToken?: string; + } + + export class Resource$Projects$Locations$Activedirectories { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * CreateActiveDirectory Creates the active directory specified in the request. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Activedirectories$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Activedirectories$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Activedirectories$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Activedirectories$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Activedirectories$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Activedirectories$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Activedirectories$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Activedirectories$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/activeDirectories').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Delete the active directory specified in the request. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Activedirectories$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Activedirectories$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Activedirectories$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Activedirectories$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Activedirectories$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Activedirectories$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Activedirectories$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Activedirectories$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Describes a specified active directory. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Activedirectories$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Activedirectories$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Activedirectories$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Activedirectories$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Activedirectories$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Activedirectories$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Activedirectories$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Activedirectories$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists active directories. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Activedirectories$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Activedirectories$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Activedirectories$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Activedirectories$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Activedirectories$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Activedirectories$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Activedirectories$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Activedirectories$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/activeDirectories').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Update the parameters of an active directories. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Activedirectories$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Activedirectories$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Activedirectories$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Activedirectories$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Activedirectories$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Activedirectories$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Activedirectories$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Activedirectories$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Activedirectories$Create + extends StandardParameters { + /** + * Required. ID of the active directory to create. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter , the last a letter or a number, and a 63 character maximum. + */ + activeDirectoryId?: string; + /** + * Required. Value for parent. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ActiveDirectory; + } + export interface Params$Resource$Projects$Locations$Activedirectories$Delete + extends StandardParameters { + /** + * Required. Name of the active directory. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Activedirectories$Get + extends StandardParameters { + /** + * Required. Name of the active directory. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Activedirectories$List + extends StandardParameters { + /** + * Filtering results + */ + filter?: string; + /** + * Hint for how to order the results + */ + orderBy?: string; + /** + * Requested page size. Server may return fewer items than requested. If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. Parent value for ListActiveDirectoriesRequest + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Activedirectories$Patch + extends StandardParameters { + /** + * Identifier. The resource name of the active directory. Format: `projects/{project_number\}/locations/{location_id\}/activeDirectories/{active_directory_id\}`. + */ + name?: string; + /** + * Required. Field mask is used to specify the fields to be overwritten in the Active Directory resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ActiveDirectory; + } + + export class Resource$Projects$Locations$Backuppolicies { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates new backup policy + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Backuppolicies$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Backuppolicies$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Backuppolicies$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Backuppolicies$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Backuppolicies$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backuppolicies$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backuppolicies$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backuppolicies$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/backupPolicies').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Warning! This operation will permanently delete the backup policy. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Backuppolicies$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Backuppolicies$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Backuppolicies$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Backuppolicies$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Backuppolicies$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backuppolicies$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backuppolicies$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backuppolicies$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns the description of the specified backup policy by backup_policy_id. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Backuppolicies$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Backuppolicies$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Backuppolicies$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Backuppolicies$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Backuppolicies$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backuppolicies$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backuppolicies$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backuppolicies$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns list of all available backup policies. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Backuppolicies$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Backuppolicies$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Backuppolicies$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backuppolicies$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backuppolicies$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backuppolicies$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backuppolicies$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backuppolicies$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/backupPolicies').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates settings of a specific backup policy. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Backuppolicies$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Backuppolicies$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Backuppolicies$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Backuppolicies$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Backuppolicies$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backuppolicies$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backuppolicies$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backuppolicies$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Backuppolicies$Create + extends StandardParameters { + /** + * Required. The ID to use for the backup policy. The ID must be unique within the specified location. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum. + */ + backupPolicyId?: string; + /** + * Required. The location to create the backup policies of, in the format `projects/{project_id\}/locations/{location\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BackupPolicy; + } + export interface Params$Resource$Projects$Locations$Backuppolicies$Delete + extends StandardParameters { + /** + * Required. The backup policy resource name, in the format `projects/{project_id\}/locations/{location\}/backupPolicies/{backup_policy_id\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Backuppolicies$Get + extends StandardParameters { + /** + * Required. The backupPolicy resource name, in the format `projects/{project_id\}/locations/{location\}/backupPolicies/{backup_policy_id\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Backuppolicies$List + extends StandardParameters { + /** + * Filtering results + */ + filter?: string; + /** + * Hint for how to order the results + */ + orderBy?: string; + /** + * Requested page size. Server may return fewer items than requested. If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. Parent value for ListBackupPoliciesRequest + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Backuppolicies$Patch + extends StandardParameters { + /** + * Identifier. The resource name of the backup policy. Format: `projects/{project_id\}/locations/{location\}/backupPolicies/{backup_policy_id\}`. + */ + name?: string; + /** + * Required. Field mask is used to specify the fields to be overwritten in the Backup Policy resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BackupPolicy; + } + + export class Resource$Projects$Locations$Backupvaults { + context: APIRequestContext; + backups: Resource$Projects$Locations$Backupvaults$Backups; + constructor(context: APIRequestContext) { + this.context = context; + this.backups = new Resource$Projects$Locations$Backupvaults$Backups( + this.context + ); + } + + /** + * Creates new backup vault + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Backupvaults$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Backupvaults$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Backupvaults$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Backupvaults$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Backupvaults$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backupvaults$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/backupVaults').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Warning! This operation will permanently delete the backup vault. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Backupvaults$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Backupvaults$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Backupvaults$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Backupvaults$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Backupvaults$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backupvaults$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns the description of the specified backup vault + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Backupvaults$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Backupvaults$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Backupvaults$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Backupvaults$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Backupvaults$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backupvaults$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns list of all available backup vaults. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Backupvaults$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Backupvaults$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Backupvaults$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backupvaults$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backupvaults$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backupvaults$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/backupVaults').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the settings of a specific backup vault. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Backupvaults$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Backupvaults$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Backupvaults$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Backupvaults$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Backupvaults$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Backupvaults$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Backupvaults$Create + extends StandardParameters { + /** + * Required. The ID to use for the backupVault. The ID must be unique within the specified location. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum. + */ + backupVaultId?: string; + /** + * Required. The location to create the backup vaults, in the format `projects/{project_id\}/locations/{location\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BackupVault; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Delete + extends StandardParameters { + /** + * Required. The backupVault resource name, in the format `projects/{project_id\}/locations/{location\}/backupVaults/{backup_vault_id\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Get + extends StandardParameters { + /** + * Required. The backupVault resource name, in the format `projects/{project_id\}/locations/{location\}/backupVaults/{backup_vault_id\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Backupvaults$List + extends StandardParameters { + /** + * List filter. + */ + filter?: string; + /** + * Sort results. Supported values are "name", "name desc" or "" (unsorted). + */ + orderBy?: string; + /** + * The maximum number of items to return. + */ + pageSize?: number; + /** + * The next_page_token value to use if there are additional results to retrieve for this list request. + */ + pageToken?: string; + /** + * Required. The location for which to retrieve backupVault information, in the format `projects/{project_id\}/locations/{location\}`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Patch + extends StandardParameters { + /** + * Identifier. The resource name of the backup vault. Format: `projects/{project_id\}/locations/{location\}/backupVaults/{backup_vault_id\}`. + */ + name?: string; + /** + * Required. Field mask is used to specify the fields to be overwritten in the Backup resource to be updated. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BackupVault; + } + + export class Resource$Projects$Locations$Backupvaults$Backups { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a backup from the volume specified in the request The backup can be created from the given snapshot if specified in the request. If no snapshot specified, there'll be a new snapshot taken to initiate the backup creation. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Backupvaults$Backups$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Backups$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Backups$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupvaults$Backups$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/backups').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Warning! This operation will permanently delete the backup. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Backupvaults$Backups$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Backups$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Backups$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupvaults$Backups$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns the description of the specified backup + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Backupvaults$Backups$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Backups$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Backups$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupvaults$Backups$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns descriptions of all backups for a backupVault. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Backupvaults$Backups$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Backups$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Backups$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupvaults$Backups$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/backups').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Update backup with full spec. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Backupvaults$Backups$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Backupvaults$Backups$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupvaults$Backups$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupvaults$Backups$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupvaults$Backups$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Backupvaults$Backups$Create + extends StandardParameters { + /** + * Required. The ID to use for the backup. The ID must be unique within the specified backupVault. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum. + */ + backupId?: string; + /** + * Required. The NetApp backupVault to create the backups of, in the format `projects/x/locations/x/backupVaults/{backup_vault_id\}` + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Backup; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Backups$Delete + extends StandardParameters { + /** + * Required. The backup resource name, in the format `projects/{project_id\}/locations/{location\}/backupVaults/{backup_vault_id\}/backups/{backup_id\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Backups$Get + extends StandardParameters { + /** + * Required. The backup resource name, in the format `projects/{project_id\}/locations/{location\}/backupVaults/{backup_vault_id\}/backups/{backup_id\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Backups$List + extends StandardParameters { + /** + * The standard list filter. If specified, backups will be returned based on the attribute name that matches the filter expression. If empty, then no backups are filtered out. See https://google.aip.dev/160 + */ + filter?: string; + /** + * Sort results. Supported values are "name", "name desc" or "" (unsorted). + */ + orderBy?: string; + /** + * The maximum number of items to return. The service may return fewer than this value. The maximum value is 1000; values above 1000 will be coerced to 1000. + */ + pageSize?: number; + /** + * The next_page_token value to use if there are additional results to retrieve for this list request. + */ + pageToken?: string; + /** + * Required. The backupVault for which to retrieve backup information, in the format `projects/{project_id\}/locations/{location\}/backupVaults/{backup_vault_id\}`. To retrieve backup information for all locations, use "-" for the `{location\}` value. To retrieve backup information for all backupVaults, use "-" for the `{backup_vault_id\}` value. To retrieve backup information for a volume, use "-" for the `{backup_vault_id\}` value and specify volume full name with the filter. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Backupvaults$Backups$Patch + extends StandardParameters { + /** + * Identifier. The resource name of the backup. Format: `projects/{project_id\}/locations/{location\}/backupVaults/{backup_vault_id\}/backups/{backup_id\}`. + */ + name?: string; + /** + * Required. Field mask is used to specify the fields to be overwritten in the Backup resource to be updated. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Backup; + } + + export class Resource$Projects$Locations$Kmsconfigs { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new KMS config. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Kmsconfigs$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Kmsconfigs$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Kmsconfigs$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Kmsconfigs$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Kmsconfigs$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Kmsconfigs$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Kmsconfigs$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Kmsconfigs$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/kmsConfigs').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Warning! This operation will permanently delete the Kms config. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Kmsconfigs$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Kmsconfigs$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Kmsconfigs$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Kmsconfigs$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Kmsconfigs$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Kmsconfigs$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Kmsconfigs$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Kmsconfigs$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Encrypt the existing volumes without CMEK encryption with the desired the KMS config for the whole region. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + encrypt( + params: Params$Resource$Projects$Locations$Kmsconfigs$Encrypt, + options: StreamMethodOptions + ): GaxiosPromise; + encrypt( + params?: Params$Resource$Projects$Locations$Kmsconfigs$Encrypt, + options?: MethodOptions + ): GaxiosPromise; + encrypt( + params: Params$Resource$Projects$Locations$Kmsconfigs$Encrypt, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + encrypt( + params: Params$Resource$Projects$Locations$Kmsconfigs$Encrypt, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + encrypt( + params: Params$Resource$Projects$Locations$Kmsconfigs$Encrypt, + callback: BodyResponseCallback + ): void; + encrypt(callback: BodyResponseCallback): void; + encrypt( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Kmsconfigs$Encrypt + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Kmsconfigs$Encrypt; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Kmsconfigs$Encrypt; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}:encrypt').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns the description of the specified KMS config by kms_config_id. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Kmsconfigs$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Kmsconfigs$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Kmsconfigs$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Kmsconfigs$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Kmsconfigs$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Kmsconfigs$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Kmsconfigs$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Kmsconfigs$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns descriptions of all KMS configs owned by the caller. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Kmsconfigs$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Kmsconfigs$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Kmsconfigs$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Kmsconfigs$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Kmsconfigs$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Kmsconfigs$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Kmsconfigs$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Kmsconfigs$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/kmsConfigs').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the Kms config properties with the full spec + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Kmsconfigs$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Kmsconfigs$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Kmsconfigs$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Kmsconfigs$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Kmsconfigs$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Kmsconfigs$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Kmsconfigs$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Kmsconfigs$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Verifies KMS config reachability. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + verify( + params: Params$Resource$Projects$Locations$Kmsconfigs$Verify, + options: StreamMethodOptions + ): GaxiosPromise; + verify( + params?: Params$Resource$Projects$Locations$Kmsconfigs$Verify, + options?: MethodOptions + ): GaxiosPromise; + verify( + params: Params$Resource$Projects$Locations$Kmsconfigs$Verify, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + verify( + params: Params$Resource$Projects$Locations$Kmsconfigs$Verify, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + verify( + params: Params$Resource$Projects$Locations$Kmsconfigs$Verify, + callback: BodyResponseCallback + ): void; + verify( + callback: BodyResponseCallback + ): void; + verify( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Kmsconfigs$Verify + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Kmsconfigs$Verify; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Kmsconfigs$Verify; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}:verify').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Kmsconfigs$Create + extends StandardParameters { + /** + * Required. Id of the requesting KmsConfig. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum. + */ + kmsConfigId?: string; + /** + * Required. Value for parent. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$KmsConfig; + } + export interface Params$Resource$Projects$Locations$Kmsconfigs$Delete + extends StandardParameters { + /** + * Required. Name of the KmsConfig. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Kmsconfigs$Encrypt + extends StandardParameters { + /** + * Required. Name of the KmsConfig. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$EncryptVolumesRequest; + } + export interface Params$Resource$Projects$Locations$Kmsconfigs$Get + extends StandardParameters { + /** + * Required. Name of the KmsConfig + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Kmsconfigs$List + extends StandardParameters { + /** + * List filter. + */ + filter?: string; + /** + * Sort results. Supported values are "name", "name desc" or "" (unsorted). + */ + orderBy?: string; + /** + * The maximum number of items to return. + */ + pageSize?: number; + /** + * The next_page_token value to use if there are additional results to retrieve for this list request. + */ + pageToken?: string; + /** + * Required. Parent value + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Kmsconfigs$Patch + extends StandardParameters { + /** + * Identifier. Name of the KmsConfig. + */ + name?: string; + /** + * Required. Field mask is used to specify the fields to be overwritten in the KmsConfig resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$KmsConfig; + } + export interface Params$Resource$Projects$Locations$Kmsconfigs$Verify + extends StandardParameters { + /** + * Required. Name of the KMS Config to be verified. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$VerifyKmsConfigRequest; + } + + export class Resource$Projects$Locations$Operations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: StreamMethodOptions + ): GaxiosPromise; + cancel( + params?: Params$Resource$Projects$Locations$Operations$Cancel, + options?: MethodOptions + ): GaxiosPromise; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + callback: BodyResponseCallback + ): void; + cancel(callback: BodyResponseCallback): void; + cancel( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Cancel + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Cancel; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Cancel; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}:cancel').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Operations$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Operations$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Operations$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Operations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}/operations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Operations$Cancel + extends StandardParameters { + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CancelOperationRequest; + } + export interface Params$Resource$Projects$Locations$Operations$Delete + extends StandardParameters { + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Operations$Get + extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Operations$List + extends StandardParameters { + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + + export class Resource$Projects$Locations$Storagepools { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new storage pool. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Storagepools$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Storagepools$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Storagepools$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Storagepools$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Storagepools$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Storagepools$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Storagepools$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Storagepools$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/storagePools').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Warning! This operation will permanently delete the storage pool. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Storagepools$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Storagepools$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Storagepools$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Storagepools$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Storagepools$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Storagepools$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Storagepools$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Storagepools$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns the description of the specified storage pool by poolId. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Storagepools$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Storagepools$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Storagepools$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Storagepools$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Storagepools$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Storagepools$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Storagepools$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Storagepools$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns descriptions of all storage pools owned by the caller. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Storagepools$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Storagepools$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Storagepools$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Storagepools$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Storagepools$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Storagepools$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Storagepools$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Storagepools$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/storagePools').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the storage pool properties with the full spec + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Storagepools$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Storagepools$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Storagepools$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Storagepools$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Storagepools$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Storagepools$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Storagepools$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Storagepools$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * This operation will switch the active/replica zone for a regional storagePool. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + switch( + params: Params$Resource$Projects$Locations$Storagepools$Switch, + options: StreamMethodOptions + ): GaxiosPromise; + switch( + params?: Params$Resource$Projects$Locations$Storagepools$Switch, + options?: MethodOptions + ): GaxiosPromise; + switch( + params: Params$Resource$Projects$Locations$Storagepools$Switch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + switch( + params: Params$Resource$Projects$Locations$Storagepools$Switch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + switch( + params: Params$Resource$Projects$Locations$Storagepools$Switch, + callback: BodyResponseCallback + ): void; + switch(callback: BodyResponseCallback): void; + switch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Storagepools$Switch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Storagepools$Switch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Storagepools$Switch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}:switch').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * ValidateDirectoryService does a connectivity check for a directory service policy attached to the storage pool. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + validateDirectoryService( + params: Params$Resource$Projects$Locations$Storagepools$Validatedirectoryservice, + options: StreamMethodOptions + ): GaxiosPromise; + validateDirectoryService( + params?: Params$Resource$Projects$Locations$Storagepools$Validatedirectoryservice, + options?: MethodOptions + ): GaxiosPromise; + validateDirectoryService( + params: Params$Resource$Projects$Locations$Storagepools$Validatedirectoryservice, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + validateDirectoryService( + params: Params$Resource$Projects$Locations$Storagepools$Validatedirectoryservice, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + validateDirectoryService( + params: Params$Resource$Projects$Locations$Storagepools$Validatedirectoryservice, + callback: BodyResponseCallback + ): void; + validateDirectoryService( + callback: BodyResponseCallback + ): void; + validateDirectoryService( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Storagepools$Validatedirectoryservice + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Storagepools$Validatedirectoryservice; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Storagepools$Validatedirectoryservice; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta1/{+name}:validateDirectoryService' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Storagepools$Create + extends StandardParameters { + /** + * Required. Value for parent. + */ + parent?: string; + /** + * Required. Id of the requesting storage pool. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum. + */ + storagePoolId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$StoragePool; + } + export interface Params$Resource$Projects$Locations$Storagepools$Delete + extends StandardParameters { + /** + * Required. Name of the storage pool + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Storagepools$Get + extends StandardParameters { + /** + * Required. Name of the storage pool + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Storagepools$List + extends StandardParameters { + /** + * Optional. List filter. + */ + filter?: string; + /** + * Optional. Sort results. Supported values are "name", "name desc" or "" (unsorted). + */ + orderBy?: string; + /** + * Optional. The maximum number of items to return. + */ + pageSize?: number; + /** + * Optional. The next_page_token value to use if there are additional results to retrieve for this list request. + */ + pageToken?: string; + /** + * Required. Parent value + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Storagepools$Patch + extends StandardParameters { + /** + * Identifier. Name of the storage pool + */ + name?: string; + /** + * Required. Field mask is used to specify the fields to be overwritten in the StoragePool resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$StoragePool; + } + export interface Params$Resource$Projects$Locations$Storagepools$Switch + extends StandardParameters { + /** + * Required. Name of the storage pool + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SwitchActiveReplicaZoneRequest; + } + export interface Params$Resource$Projects$Locations$Storagepools$Validatedirectoryservice + extends StandardParameters { + /** + * Required. Name of the storage pool + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ValidateDirectoryServiceRequest; + } + + export class Resource$Projects$Locations$Volumes { + context: APIRequestContext; + replications: Resource$Projects$Locations$Volumes$Replications; + snapshots: Resource$Projects$Locations$Volumes$Snapshots; + constructor(context: APIRequestContext) { + this.context = context; + this.replications = new Resource$Projects$Locations$Volumes$Replications( + this.context + ); + this.snapshots = new Resource$Projects$Locations$Volumes$Snapshots( + this.context + ); + } + + /** + * Creates a new Volume in a given project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Volumes$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Volumes$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Volumes$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Volumes$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Volumes$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Volumes$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/volumes').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a single Volume. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Volumes$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Volumes$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Volumes$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Volumes$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Volumes$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Volumes$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of a single Volume. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Volumes$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Volumes$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Volumes$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Volumes$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Volumes$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Volumes$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists Volumes in a given project. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Volumes$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Volumes$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Volumes$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Volumes$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Volumes$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Volumes$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/volumes').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the parameters of a single Volume. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Volumes$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Volumes$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Volumes$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Volumes$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Volumes$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Volumes$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Revert an existing volume to a specified snapshot. Warning! This operation will permanently revert all changes made after the snapshot was created. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + revert( + params: Params$Resource$Projects$Locations$Volumes$Revert, + options: StreamMethodOptions + ): GaxiosPromise; + revert( + params?: Params$Resource$Projects$Locations$Volumes$Revert, + options?: MethodOptions + ): GaxiosPromise; + revert( + params: Params$Resource$Projects$Locations$Volumes$Revert, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + revert( + params: Params$Resource$Projects$Locations$Volumes$Revert, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + revert( + params: Params$Resource$Projects$Locations$Volumes$Revert, + callback: BodyResponseCallback + ): void; + revert(callback: BodyResponseCallback): void; + revert( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Revert + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Revert; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Volumes$Revert; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}:revert').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Volumes$Create + extends StandardParameters { + /** + * Required. Value for parent. + */ + parent?: string; + /** + * Required. Id of the requesting volume. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum. + */ + volumeId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Volume; + } + export interface Params$Resource$Projects$Locations$Volumes$Delete + extends StandardParameters { + /** + * If this field is set as true, CCFE will not block the volume resource deletion even if it has any snapshots resource. (Otherwise, the request will only work if the volume has no snapshots.) + */ + force?: boolean; + /** + * Required. Name of the volume + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Volumes$Get + extends StandardParameters { + /** + * Required. Name of the volume + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Volumes$List + extends StandardParameters { + /** + * Filtering results + */ + filter?: string; + /** + * Hint for how to order the results + */ + orderBy?: string; + /** + * Requested page size. Server may return fewer items than requested. If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. Parent value for ListVolumesRequest + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Volumes$Patch + extends StandardParameters { + /** + * Identifier. Name of the volume + */ + name?: string; + /** + * Required. Field mask is used to specify the fields to be overwritten in the Volume resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Volume; + } + export interface Params$Resource$Projects$Locations$Volumes$Revert + extends StandardParameters { + /** + * Required. The resource name of the volume, in the format of projects/{project_id\}/locations/{location\}/volumes/{volume_id\}. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$RevertVolumeRequest; + } + + export class Resource$Projects$Locations$Volumes$Replications { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Create a new replication for a volume. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Volumes$Replications$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Volumes$Replications$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Volumes$Replications$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Volumes$Replications$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Volumes$Replications$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Replications$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Replications$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Volumes$Replications$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/replications').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a replication. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Volumes$Replications$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Volumes$Replications$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Volumes$Replications$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Volumes$Replications$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Volumes$Replications$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Replications$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Replications$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Volumes$Replications$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Establish replication peering. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + establishPeering( + params: Params$Resource$Projects$Locations$Volumes$Replications$Establishpeering, + options: StreamMethodOptions + ): GaxiosPromise; + establishPeering( + params?: Params$Resource$Projects$Locations$Volumes$Replications$Establishpeering, + options?: MethodOptions + ): GaxiosPromise; + establishPeering( + params: Params$Resource$Projects$Locations$Volumes$Replications$Establishpeering, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + establishPeering( + params: Params$Resource$Projects$Locations$Volumes$Replications$Establishpeering, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + establishPeering( + params: Params$Resource$Projects$Locations$Volumes$Replications$Establishpeering, + callback: BodyResponseCallback + ): void; + establishPeering(callback: BodyResponseCallback): void; + establishPeering( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Replications$Establishpeering + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Replications$Establishpeering; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Volumes$Replications$Establishpeering; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}:establishPeering').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Describe a replication for a volume. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Volumes$Replications$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Volumes$Replications$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Volumes$Replications$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Volumes$Replications$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Volumes$Replications$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Replications$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Replications$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Volumes$Replications$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns descriptions of all replications for a volume. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Volumes$Replications$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Volumes$Replications$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Volumes$Replications$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Volumes$Replications$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Volumes$Replications$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Replications$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Replications$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Volumes$Replications$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/replications').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the settings of a specific replication. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Volumes$Replications$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Volumes$Replications$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Volumes$Replications$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Volumes$Replications$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Volumes$Replications$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Replications$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Replications$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Volumes$Replications$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Resume Cross Region Replication. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + resume( + params: Params$Resource$Projects$Locations$Volumes$Replications$Resume, + options: StreamMethodOptions + ): GaxiosPromise; + resume( + params?: Params$Resource$Projects$Locations$Volumes$Replications$Resume, + options?: MethodOptions + ): GaxiosPromise; + resume( + params: Params$Resource$Projects$Locations$Volumes$Replications$Resume, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + resume( + params: Params$Resource$Projects$Locations$Volumes$Replications$Resume, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + resume( + params: Params$Resource$Projects$Locations$Volumes$Replications$Resume, + callback: BodyResponseCallback + ): void; + resume(callback: BodyResponseCallback): void; + resume( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Replications$Resume + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Replications$Resume; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Volumes$Replications$Resume; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}:resume').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Reverses direction of replication. Source becomes destination and destination becomes source. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + reverseDirection( + params: Params$Resource$Projects$Locations$Volumes$Replications$Reversedirection, + options: StreamMethodOptions + ): GaxiosPromise; + reverseDirection( + params?: Params$Resource$Projects$Locations$Volumes$Replications$Reversedirection, + options?: MethodOptions + ): GaxiosPromise; + reverseDirection( + params: Params$Resource$Projects$Locations$Volumes$Replications$Reversedirection, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + reverseDirection( + params: Params$Resource$Projects$Locations$Volumes$Replications$Reversedirection, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + reverseDirection( + params: Params$Resource$Projects$Locations$Volumes$Replications$Reversedirection, + callback: BodyResponseCallback + ): void; + reverseDirection(callback: BodyResponseCallback): void; + reverseDirection( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Replications$Reversedirection + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Replications$Reversedirection; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Volumes$Replications$Reversedirection; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}:reverseDirection').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Stop Cross Region Replication. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + stop( + params: Params$Resource$Projects$Locations$Volumes$Replications$Stop, + options: StreamMethodOptions + ): GaxiosPromise; + stop( + params?: Params$Resource$Projects$Locations$Volumes$Replications$Stop, + options?: MethodOptions + ): GaxiosPromise; + stop( + params: Params$Resource$Projects$Locations$Volumes$Replications$Stop, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + stop( + params: Params$Resource$Projects$Locations$Volumes$Replications$Stop, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + stop( + params: Params$Resource$Projects$Locations$Volumes$Replications$Stop, + callback: BodyResponseCallback + ): void; + stop(callback: BodyResponseCallback): void; + stop( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Replications$Stop + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Replications$Stop; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Volumes$Replications$Stop; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}:stop').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Syncs the replication. This will invoke one time volume data transfer from source to destination. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + sync( + params: Params$Resource$Projects$Locations$Volumes$Replications$Sync, + options: StreamMethodOptions + ): GaxiosPromise; + sync( + params?: Params$Resource$Projects$Locations$Volumes$Replications$Sync, + options?: MethodOptions + ): GaxiosPromise; + sync( + params: Params$Resource$Projects$Locations$Volumes$Replications$Sync, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + sync( + params: Params$Resource$Projects$Locations$Volumes$Replications$Sync, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + sync( + params: Params$Resource$Projects$Locations$Volumes$Replications$Sync, + callback: BodyResponseCallback + ): void; + sync(callback: BodyResponseCallback): void; + sync( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Replications$Sync + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Replications$Sync; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Volumes$Replications$Sync; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}:sync').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Volumes$Replications$Create + extends StandardParameters { + /** + * Required. The NetApp volume to create the replications of, in the format `projects/{project_id\}/locations/{location\}/volumes/{volume_id\}` + */ + parent?: string; + /** + * Required. ID of the replication to create. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum. + */ + replicationId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Replication; + } + export interface Params$Resource$Projects$Locations$Volumes$Replications$Delete + extends StandardParameters { + /** + * Required. The replication resource name, in the format `projects/x/locations/x/volumes/x/replications/{replication_id\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Volumes$Replications$Establishpeering + extends StandardParameters { + /** + * Required. The resource name of the replication, in the format of projects/{project_id\}/locations/{location\}/volumes/{volume_id\}/replications/{replication_id\}. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$EstablishPeeringRequest; + } + export interface Params$Resource$Projects$Locations$Volumes$Replications$Get + extends StandardParameters { + /** + * Required. The replication resource name, in the format `projects/{project_id\}/locations/{location\}/volumes/{volume_id\}/replications/{replication_id\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Volumes$Replications$List + extends StandardParameters { + /** + * List filter. + */ + filter?: string; + /** + * Sort results. Supported values are "name", "name desc" or "" (unsorted). + */ + orderBy?: string; + /** + * The maximum number of items to return. + */ + pageSize?: number; + /** + * The next_page_token value to use if there are additional results to retrieve for this list request. + */ + pageToken?: string; + /** + * Required. The volume for which to retrieve replication information, in the format `projects/{project_id\}/locations/{location\}/volumes/{volume_id\}`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Volumes$Replications$Patch + extends StandardParameters { + /** + * Identifier. The resource name of the Replication. Format: `projects/{project_id\}/locations/{location\}/volumes/{volume_id\}/replications/{replication_id\}`. + */ + name?: string; + /** + * Required. Mask of fields to update. At least one path must be supplied in this field. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Replication; + } + export interface Params$Resource$Projects$Locations$Volumes$Replications$Resume + extends StandardParameters { + /** + * Required. The resource name of the replication, in the format of projects/{project_id\}/locations/{location\}/volumes/{volume_id\}/replications/{replication_id\}. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ResumeReplicationRequest; + } + export interface Params$Resource$Projects$Locations$Volumes$Replications$Reversedirection + extends StandardParameters { + /** + * Required. The resource name of the replication, in the format of projects/{project_id\}/locations/{location\}/volumes/{volume_id\}/replications/{replication_id\}. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ReverseReplicationDirectionRequest; + } + export interface Params$Resource$Projects$Locations$Volumes$Replications$Stop + extends StandardParameters { + /** + * Required. The resource name of the replication, in the format of projects/{project_id\}/locations/{location\}/volumes/{volume_id\}/replications/{replication_id\}. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$StopReplicationRequest; + } + export interface Params$Resource$Projects$Locations$Volumes$Replications$Sync + extends StandardParameters { + /** + * Required. The resource name of the replication, in the format of projects/{project_id\}/locations/{location\}/volumes/{volume_id\}/replications/{replication_id\}. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SyncReplicationRequest; + } + + export class Resource$Projects$Locations$Volumes$Snapshots { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Create a new snapshot for a volume. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Volumes$Snapshots$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Snapshots$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Snapshots$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Volumes$Snapshots$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/snapshots').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a snapshot. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Volumes$Snapshots$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Snapshots$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Snapshots$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Volumes$Snapshots$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Describe a snapshot for a volume. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Volumes$Snapshots$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Snapshots$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Snapshots$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Volumes$Snapshots$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns descriptions of all snapshots for a volume. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Volumes$Snapshots$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Snapshots$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Snapshots$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Volumes$Snapshots$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/snapshots').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the settings of a specific snapshot. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Volumes$Snapshots$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Volumes$Snapshots$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Volumes$Snapshots$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Volumes$Snapshots$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Volumes$Snapshots$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://netapp.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Volumes$Snapshots$Create + extends StandardParameters { + /** + * Required. The NetApp volume to create the snapshots of, in the format `projects/{project_id\}/locations/{location\}/volumes/{volume_id\}` + */ + parent?: string; + /** + * Required. ID of the snapshot to create. Must be unique within the parent resource. Must contain only letters, numbers and hyphen, with the first character a letter, the last a letter or a number, and a 63 character maximum. + */ + snapshotId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Snapshot; + } + export interface Params$Resource$Projects$Locations$Volumes$Snapshots$Delete + extends StandardParameters { + /** + * Required. The snapshot resource name, in the format `projects/x/locations/x/volumes/x/snapshots/{snapshot_id\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Volumes$Snapshots$Get + extends StandardParameters { + /** + * Required. The snapshot resource name, in the format `projects/{project_id\}/locations/{location\}/volumes/{volume_id\}/snapshots/{snapshot_id\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Volumes$Snapshots$List + extends StandardParameters { + /** + * List filter. + */ + filter?: string; + /** + * Sort results. Supported values are "name", "name desc" or "" (unsorted). + */ + orderBy?: string; + /** + * The maximum number of items to return. + */ + pageSize?: number; + /** + * The next_page_token value to use if there are additional results to retrieve for this list request. + */ + pageToken?: string; + /** + * Required. The volume for which to retrieve snapshot information, in the format `projects/{project_id\}/locations/{location\}/volumes/{volume_id\}`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Volumes$Snapshots$Patch + extends StandardParameters { + /** + * Identifier. The resource name of the snapshot. Format: `projects/{project_id\}/locations/{location\}/volumes/{volume_id\}/snapshots/{snapshot_id\}`. + */ + name?: string; + /** + * Required. Mask of fields to update. At least one path must be supplied in this field. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Snapshot; + } +} diff --git a/src/apis/netapp/webpack.config.js b/src/apis/netapp/webpack.config.js new file mode 100644 index 0000000000..366f38e74f --- /dev/null +++ b/src/apis/netapp/webpack.config.js @@ -0,0 +1,79 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Use `npm run webpack` to produce Webpack bundle for this library. + +const path = require('path'); + +module.exports = { + entry: './index.ts', + resolve: { + extensions: ['.ts', '.js', '.json'], + fallback: { + crypto: false, + child_process: false, + fs: false, + http2: false, + buffer: 'browserify', + process: false, + os: false, + querystring: false, + path: false, + stream: 'stream-browserify', + url: false, + util: false, + zlib: false, + }, + }, + output: { + library: 'Netapp', + filename: 'netapp.min.js', + path: path.resolve(__dirname, 'dist'), + }, + module: { + rules: [ + { + test: /node_modules[\\/]google-auth-library[\\/]src[\\/]crypto[\\/]node[\\/]crypto/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]https-proxy-agent[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]gcp-metadata[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]gtoken[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]pkginfo[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]semver[\\/]/, + use: 'null-loader', + }, + { + test: /\.ts$/, + use: 'ts-loader', + exclude: /node_modules/, + }, + ], + }, + mode: 'production', + plugins: [], +}; diff --git a/src/apis/networkconnectivity/v1.ts b/src/apis/networkconnectivity/v1.ts index 6effb64d19..c71ad6fbcb 100644 --- a/src/apis/networkconnectivity/v1.ts +++ b/src/apis/networkconnectivity/v1.ts @@ -177,7 +177,7 @@ export namespace networkconnectivity_v1 { */ export interface Schema$AutoAccept { /** - * A list of project ids or project numbers for which you want to enable auto-accept. The auto-accept setting is applied to spokes being created or updated in these projects. + * Optional. A list of project ids or project numbers for which you want to enable auto-accept. The auto-accept setting is applied to spokes being created or updated in these projects. */ autoAcceptProjects?: string[] | null; } @@ -210,6 +210,10 @@ export namespace networkconnectivity_v1 { * This is used in PSC consumer ForwardingRule to control whether the PSC endpoint can be accessed from another region. */ disableGlobalAccess?: boolean | null; + /** + * The requested IP version for the PSC connection. + */ + ipVersion?: string | null; /** * The resource path of the consumer network where PSC connections are allowed to be created in. Note, this network does not need be in the ConsumerPscConfig.project in the case of SharedVPC. Example: projects/{projectNumOrId\}/global/networks/{networkId\}. */ @@ -263,6 +267,10 @@ export namespace networkconnectivity_v1 { * The IP literal allocated on the consumer network for the PSC forwarding rule that is created to connect to the producer service attachment in this service connection map. */ ip?: string | null; + /** + * The requested IP version for the PSC connection. + */ + ipVersion?: string | null; /** * The consumer network whose PSC forwarding rule is connected to the service attachments in this service connection map. Note that the network could be on a different project (shared VPC). */ @@ -393,7 +401,7 @@ export namespace networkconnectivity_v1 { */ domain?: string | null; /** - * Additional structured details about this error. Keys must match /a-z+/ but should ideally be lowerCamelCase. Also they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than {"instanceLimit": "100/request"\}, should be returned as, {"instanceLimitPerRequest": "100"\}, if the client exceeds the number of instances that can be created in a single (batch) request. + * Additional structured details about this error. Keys must match a regular expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{"instanceLimit": "100/request"\}`, should be returned as, `{"instanceLimitPerRequest": "100"\}`, if the client exceeds the number of instances that can be created in a single (batch) request. */ metadata?: {[key: string]: string} | null; /** @@ -468,7 +476,7 @@ export namespace networkconnectivity_v1 { */ createTime?: string | null; /** - * An optional description of the hub. + * Optional. An optional description of the hub. */ description?: string | null; /** @@ -516,6 +524,23 @@ export namespace networkconnectivity_v1 { */ updateTime?: string | null; } + /** + * A hub status entry represents the status of a set of propagated Private Service Connect connections grouped by certain fields. + */ + export interface Schema$HubStatusEntry { + /** + * The number of propagated Private Service Connect connections with this status. If the `group_by` field was not set in the request message, the value of this field is 1. + */ + count?: number | null; + /** + * The fields that this entry is grouped by. This has the same value as the `group_by` field in the request message. + */ + groupBy?: string | null; + /** + * The Private Service Connect propagation status. + */ + pscPropagationStatus?: Schema$PscPropagationStatus; + } /** * InterconnectAttachment that this route applies to. */ @@ -526,7 +551,7 @@ export namespace networkconnectivity_v1 { region?: string | null; } /** - * The internal range resource for IPAM operations within a VPC network. Used to represent a private address range along with behavioral characterstics of that range (its usage and peering behavior). Networking resources can link to this range if they are created as belonging to it. + * The internal range resource for IPAM operations within a VPC network. Used to represent a private address range along with behavioral characteristics of that range (its usage and peering behavior). Networking resources can link to this range if they are created as belonging to it. */ export interface Schema$InternalRange { /** @@ -546,7 +571,7 @@ export namespace networkconnectivity_v1 { */ labels?: {[key: string]: string} | null; /** - * Optional. Should be present if usage is set to FOR_MIGRATION. + * Optional. Must be present if usage is set to FOR_MIGRATION. This field is for internal use. */ migration?: Schema$Migration; /** @@ -607,14 +632,15 @@ export namespace networkconnectivity_v1 { */ vpcNetwork?: string | null; } - /** - * Next ID: 7 - */ export interface Schema$LinkedProducerVpcNetwork { /** * Optional. IP ranges encompassing the subnets to be excluded from peering. */ excludeExportRanges?: string[] | null; + /** + * Optional. IP ranges allowed to be included from peering. + */ + includeExportRanges?: string[] | null; /** * Immutable. The URI of the Service Consumer VPC that the Producer VPC is peered with. */ @@ -777,7 +803,7 @@ export namespace networkconnectivity_v1 { nextPageToken?: string | null; } /** - * Response for PolicyBasedRouting.ListPolicyBasedRoutes method. + * Response for PolicyBasedRoutingService.ListPolicyBasedRoutes method. */ export interface Schema$ListPolicyBasedRoutesResponse { /** @@ -1050,7 +1076,7 @@ export namespace networkconnectivity_v1 { */ endTime?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -1214,6 +1240,10 @@ export namespace networkconnectivity_v1 { * The last Compute Engine operation to setup PSC connection. */ gceOperation?: string | null; + /** + * The requested IP version for the PSC connection. + */ + ipVersion?: string | null; /** * Immutable. Deprecated. Use producer_instance_metadata instead. An immutable identifier for the producer instance. */ @@ -1239,6 +1269,52 @@ export namespace networkconnectivity_v1 { */ state?: string | null; } + /** + * The status of one or more propagated Private Service Connect connections in a hub. + */ + export interface Schema$PscPropagationStatus { + /** + * The propagation status. + */ + code?: string | null; + /** + * The human-readable summary of the Private Service Connect connection propagation status. + */ + message?: string | null; + /** + * The name of the forwarding rule exported to the hub. + */ + sourceForwardingRule?: string | null; + /** + * The name of the group that the source spoke belongs to. + */ + sourceGroup?: string | null; + /** + * The name of the spoke that the source forwarding rule belongs to. + */ + sourceSpoke?: string | null; + /** + * The name of the group that the target spoke belongs to. + */ + targetGroup?: string | null; + /** + * The name of the spoke that the source forwarding rule propagates to. + */ + targetSpoke?: string | null; + } + /** + * The response for HubService.QueryHubStatus. + */ + export interface Schema$QueryHubStatusResponse { + /** + * The list of hub status. + */ + hubStatusEntries?: Schema$HubStatusEntry[]; + /** + * The token for the next page of the response. To see more results, use this value as the page_token for your next request. If this value is empty, there are no more results. + */ + nextPageToken?: string | null; + } /** * The RegionalEndpoint resource. */ @@ -1248,7 +1324,7 @@ export namespace networkconnectivity_v1 { */ accessType?: string | null; /** - * Optional. The IP Address of the Regional Endpoint. When no address is provided, an IP from the subnetwork is allocated. Use one of the following formats: * IPv4 address as in `10.0.0.1` * Address resource URI as in `projects/{project\}/regions/{region\}/addresses/{address_name\}` + * Optional. The IP Address of the Regional Endpoint. When no address is provided, an IP from the subnetwork is allocated. Use one of the following formats: * IPv4 address as in `10.0.0.1` * Address resource URI as in `projects/{project\}/regions/{region\}/addresses/{address_name\}` for an IPv4 or IPv6 address. */ address?: string | null; /** @@ -1444,7 +1520,7 @@ export namespace networkconnectivity_v1 { uri?: string | null; } /** - * The ServiceClass resource. Next id: 9 + * The ServiceClass resource. */ export interface Schema$ServiceClass { /** @@ -1477,7 +1553,7 @@ export namespace networkconnectivity_v1 { updateTime?: string | null; } /** - * The ServiceConnectionMap resource. Next id: 15 + * The ServiceConnectionMap resource. */ export interface Schema$ServiceConnectionMap { /** @@ -1525,7 +1601,7 @@ export namespace networkconnectivity_v1 { */ serviceClassUri?: string | null; /** - * The token provided by the consumer. This token authenticates that the consumer can create a connecton within the specified project and network. + * The token provided by the consumer. This token authenticates that the consumer can create a connection within the specified project and network. */ token?: string | null; /** @@ -1534,7 +1610,7 @@ export namespace networkconnectivity_v1 { updateTime?: string | null; } /** - * The ServiceConnectionPolicy resource. Next id: 12 + * The ServiceConnectionPolicy resource. */ export interface Schema$ServiceConnectionPolicy { /** @@ -1583,7 +1659,7 @@ export namespace networkconnectivity_v1 { updateTime?: string | null; } /** - * The ServiceConnectionToken resource. Next id: 10 + * The ServiceConnectionToken resource. */ export interface Schema$ServiceConnectionToken { /** @@ -1645,7 +1721,7 @@ export namespace networkconnectivity_v1 { */ createTime?: string | null; /** - * An optional description of the spoke. + * Optional. An optional description of the spoke. */ description?: string | null; /** @@ -1661,7 +1737,7 @@ export namespace networkconnectivity_v1 { */ labels?: {[key: string]: string} | null; /** - * VLAN attachments that are associated with the spoke. + * Optional. VLAN attachments that are associated with the spoke. */ linkedInterconnectAttachments?: Schema$LinkedInterconnectAttachments; /** @@ -1669,7 +1745,7 @@ export namespace networkconnectivity_v1 { */ linkedProducerVpcNetwork?: Schema$LinkedProducerVpcNetwork; /** - * Router appliance instances that are associated with the spoke. + * Optional. Router appliance instances that are associated with the spoke. */ linkedRouterApplianceInstances?: Schema$LinkedRouterApplianceInstances; /** @@ -1677,7 +1753,7 @@ export namespace networkconnectivity_v1 { */ linkedVpcNetwork?: Schema$LinkedVpcNetwork; /** - * VPN tunnels that are associated with the spoke. + * Optional. VPN tunnels that are associated with the spoke. */ linkedVpnTunnels?: Schema$LinkedVpnTunnels; /** @@ -1685,7 +1761,7 @@ export namespace networkconnectivity_v1 { */ name?: string | null; /** - * Output only. The reasons for current state of the spoke. Only present when the spoke is in the `INACTIVE` state. + * Output only. The reasons for current state of the spoke. */ reasons?: Schema$StateReason[]; /** @@ -2834,6 +2910,103 @@ export namespace networkconnectivity_v1 { } } + /** + * Query the Private Service Connect propagation status of a Network Connectivity Center hub. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + queryStatus( + params: Params$Resource$Projects$Locations$Global$Hubs$Querystatus, + options: StreamMethodOptions + ): GaxiosPromise; + queryStatus( + params?: Params$Resource$Projects$Locations$Global$Hubs$Querystatus, + options?: MethodOptions + ): GaxiosPromise; + queryStatus( + params: Params$Resource$Projects$Locations$Global$Hubs$Querystatus, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + queryStatus( + params: Params$Resource$Projects$Locations$Global$Hubs$Querystatus, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + queryStatus( + params: Params$Resource$Projects$Locations$Global$Hubs$Querystatus, + callback: BodyResponseCallback + ): void; + queryStatus( + callback: BodyResponseCallback + ): void; + queryStatus( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Global$Hubs$Querystatus + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Global$Hubs$Querystatus; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Global$Hubs$Querystatus; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkconnectivity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:queryStatus').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Rejects a Network Connectivity Center spoke from being attached to a hub. If the spoke was previously in the `ACTIVE` state, it transitions to the `INACTIVE` state and is no longer able to connect to other spokes that are attached to the hub. * @@ -3254,6 +3427,33 @@ export namespace networkconnectivity_v1 { */ requestBody?: Schema$Hub; } + export interface Params$Resource$Projects$Locations$Global$Hubs$Querystatus + extends StandardParameters { + /** + * Optional. An expression that filters the list of results. The filter can be used to filter the results by the following fields: * `psc_propagation_status.source_spoke` * `psc_propagation_status.source_group` * `psc_propagation_status.source_forwarding_rule` * `psc_propagation_status.target_spoke` * `psc_propagation_status.target_group` * `psc_propagation_status.code` * `psc_propagation_status.message` + */ + filter?: string; + /** + * Optional. Aggregate the results by the specified fields. A comma-separated list of any of these fields: * `psc_propagation_status.source_spoke` * `psc_propagation_status.source_group` * `psc_propagation_status.source_forwarding_rule` * `psc_propagation_status.target_spoke` * `psc_propagation_status.target_group` * `psc_propagation_status.code` + */ + groupBy?: string; + /** + * Required. The name of the hub. + */ + name?: string; + /** + * Optional. Sort the results in ascending order by the specified fields. A comma-separated list of any of these fields: * `psc_propagation_status.source_spoke` * `psc_propagation_status.source_group` * `psc_propagation_status.source_forwarding_rule` * `psc_propagation_status.target_spoke` * `psc_propagation_status.target_group` * `psc_propagation_status.code` If `group_by` is set, the value of the `order_by` field must be the same as or a subset of the `group_by` field. + */ + orderBy?: string; + /** + * Optional. The maximum number of results to return per page. + */ + pageSize?: number; + /** + * Optional. The page token. + */ + pageToken?: string; + } export interface Params$Resource$Projects$Locations$Global$Hubs$Rejectspoke extends StandardParameters { /** @@ -5696,7 +5896,7 @@ export namespace networkconnectivity_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/networkconnectivity/v1alpha1.ts b/src/apis/networkconnectivity/v1alpha1.ts index b6d1ad5462..2f4cdea944 100644 --- a/src/apis/networkconnectivity/v1alpha1.ts +++ b/src/apis/networkconnectivity/v1alpha1.ts @@ -300,6 +300,10 @@ export namespace networkconnectivity_v1alpha1 { * A description of this resource. */ description?: string | null; + /** + * Optional. Immutable ranges cannot have their fields modified, except for labels and description. + */ + immutable?: boolean | null; /** * IP range that this internal range defines. NOTE: IPv6 ranges are limited to usage=EXTERNAL_TO_VPC and peering=FOR_SELF. NOTE: For IPv6 Ranges this field is compulsory, i.e. the address range must be specified explicitly. */ @@ -309,7 +313,7 @@ export namespace networkconnectivity_v1alpha1 { */ labels?: {[key: string]: string} | null; /** - * Optional. Should be present if usage is set to FOR_MIGRATION. + * Optional. Must be present if usage is set to FOR_MIGRATION. This field is for internal use. */ migration?: Schema$Migration; /** diff --git a/src/apis/networkmanagement/v1.ts b/src/apis/networkmanagement/v1.ts index eede780e84..1bc14fe5d9 100644 --- a/src/apis/networkmanagement/v1.ts +++ b/src/apis/networkmanagement/v1.ts @@ -359,6 +359,14 @@ export namespace networkmanagement_v1 { * Other projects that may be relevant for reachability analysis. This is applicable to scenarios where a test can cross project boundaries. */ relatedProjects?: string[] | null; + /** + * Output only. The reachability details of this test from the latest run for the return path. The details are updated when creating a new test, updating an existing test, or triggering a one-time rerun of an existing test. + */ + returnReachabilityDetails?: Schema$ReachabilityDetails; + /** + * Whether run analysis for the return path from destination to source. Default value is false. + */ + roundTrip?: boolean | null; /** * Required. Source specification of the Connectivity Test. You can use a combination of source IP address, virtual machine (VM) instance, or Compute Engine network to uniquely identify the source location. Examples: If the source IP address is an internal IP address within a Google Cloud Virtual Private Cloud (VPC) network, then you must also specify the VPC network. Otherwise, specify the VM instance, which already contains its internal IP address and VPC network information. If the source of the test is within an on-premises network, then you must provide the destination VPC network. If the source endpoint is a Compute Engine VM instance with multiple network interfaces, the instance itself is not sufficient to identify the endpoint. So, you must also specify the source IP address or VPC network. A reachability analysis proceeds even if the source location is ambiguous. However, the test result may include endpoints that you don't intend to test. */ @@ -460,7 +468,11 @@ export namespace networkmanagement_v1 { */ forwardingRuleTarget?: string | null; /** - * A cluster URI for [Google Kubernetes Engine master](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture). + * DNS endpoint of [Google Kubernetes Engine cluster control plane](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture). Requires gke_master_cluster to be set, can't be used simultaneoulsly with ip_address or network. Applicable only to destination endpoint. + */ + fqdn?: string | null; + /** + * A cluster URI for [Google Kubernetes Engine cluster control plane](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture). */ gkeMasterCluster?: string | null; /** @@ -690,11 +702,15 @@ export namespace networkmanagement_v1 { */ clusterUri?: string | null; /** - * External IP address of a GKE cluster master. + * DNS endpoint of a GKE cluster control plane. + */ + dnsEndpoint?: string | null; + /** + * External IP address of a GKE cluster control plane. */ externalIp?: string | null; /** - * Internal IP address of a GKE cluster master. + * Internal IP address of a GKE cluster control plane. */ internalIp?: string | null; } @@ -817,6 +833,23 @@ export namespace networkmanagement_v1 { */ operations?: Schema$Operation[]; } + /** + * Response for the `ListVpcFlowLogsConfigs` method. + */ + export interface Schema$ListVpcFlowLogsConfigsResponse { + /** + * Page token to fetch the next set of configurations. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached (when querying all locations with `-`). + */ + unreachable?: string[] | null; + /** + * List of VPC Flow Log configurations. + */ + vpcFlowLogsConfigs?: Schema$VpcFlowLogsConfig[]; + } /** * For display only. Metadata associated with a specific load balancer backend. */ @@ -1276,11 +1309,11 @@ export namespace networkmanagement_v1 { */ export interface Schema$RouteInfo { /** - * For advertised routes, the URI of their next hop, i.e. the URI of the hybrid endpoint (VPN tunnel, Interconnect attachment, NCC router appliance) the advertised prefix is advertised through, or URI of the source peered network. + * For ADVERTISED routes, the URI of their next hop, i.e. the URI of the hybrid endpoint (VPN tunnel, Interconnect attachment, NCC router appliance) the advertised prefix is advertised through, or URI of the source peered network. Deprecated in favor of the next_hop_uri field, not used in new tests. */ advertisedRouteNextHopUri?: string | null; /** - * For advertised dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix. + * For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix. */ advertisedRouteSourceRouterUri?: string | null; /** @@ -1288,7 +1321,7 @@ export namespace networkmanagement_v1 { */ destIpRange?: string | null; /** - * Destination port ranges of the route. Policy based routes only. + * Destination port ranges of the route. POLICY_BASED routes only. */ destPortRanges?: string[] | null; /** @@ -1300,39 +1333,59 @@ export namespace networkmanagement_v1 { */ instanceTags?: string[] | null; /** - * URI of a NCC Hub. NCC_HUB routes only. + * For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub's routing table. + */ + nccHubRouteUri?: string | null; + /** + * URI of the NCC Hub the route is advertised by. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only. */ nccHubUri?: string | null; /** - * URI of a NCC Spoke. NCC_HUB routes only. + * URI of the destination NCC Spoke. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only. */ nccSpokeUri?: string | null; /** - * URI of a Compute Engine network. NETWORK routes only. + * URI of a VPC network where route is located. */ networkUri?: string | null; /** - * Next hop of the route. + * String type of the next hop of the route (for example, "VPN tunnel"). Deprecated in favor of the next_hop_type and next_hop_uri fields, not used in new tests. */ nextHop?: string | null; + /** + * URI of a VPC network where the next hop resource is located. + */ + nextHopNetworkUri?: string | null; /** * Type of next hop. */ nextHopType?: string | null; + /** + * URI of the next hop resource. + */ + nextHopUri?: string | null; + /** + * For PEERING_SUBNET, PEERING_STATIC and PEERING_DYNAMIC routes, the name of the originating SUBNET/STATIC/DYNAMIC route. + */ + originatingRouteDisplayName?: string | null; + /** + * For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route. + */ + originatingRouteUri?: string | null; /** * Priority of the route. */ priority?: number | null; /** - * Protocols of the route. Policy based routes only. + * Protocols of the route. POLICY_BASED routes only. */ protocols?: string[] | null; /** - * Region of the route (if applicable). + * Region of the route. DYNAMIC, PEERING_DYNAMIC, POLICY_BASED and ADVERTISED routes only. If set for POLICY_BASED route, this is a region of VLAN attachments for Cloud Interconnect the route applies to. */ region?: string | null; /** - * Indicates where route is applicable. + * Indicates where route is applicable. Deprecated, routes with NCC_HUB scope are not included in the trace in new tests. */ routeScope?: string | null; /** @@ -1340,15 +1393,15 @@ export namespace networkmanagement_v1 { */ routeType?: string | null; /** - * Source IP address range of the route. Policy based routes only. + * Source IP address range of the route. POLICY_BASED routes only. */ srcIpRange?: string | null; /** - * Source port ranges of the route. Policy based routes only. + * Source port ranges of the route. POLICY_BASED routes only. */ srcPortRanges?: string[] | null; /** - * URI of a route (if applicable). + * URI of a route. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only. */ uri?: string | null; } @@ -1581,6 +1634,67 @@ export namespace networkmanagement_v1 { */ uri?: string | null; } + /** + * A configuration to generate VPC Flow Logs. + */ + export interface Schema$VpcFlowLogsConfig { + /** + * Optional. The aggregation interval for the logs. Default value is INTERVAL_5_SEC. + */ + aggregationInterval?: string | null; + /** + * Output only. The time the config was created. + */ + createTime?: string | null; + /** + * Optional. The user-supplied description of the VPC Flow Logs configuration. Maximum of 512 characters. + */ + description?: string | null; + /** + * Optional. Export filter used to define which VPC Flow Logs should be logged. + */ + filterExpr?: string | null; + /** + * Optional. The value of the field must be in (0, 1]. The sampling rate of VPC Flow Logs where 1.0 means all collected logs are reported. Setting the sampling rate to 0.0 is not allowed. If you want to disable VPC Flow Logs, use the state field instead. Default value is 1.0. + */ + flowSampling?: number | null; + /** + * Traffic will be logged from the Interconnect Attachment. Format: projects/{project_id\}/regions/{region\}/interconnectAttachments/{name\} + */ + interconnectAttachment?: string | null; + /** + * Optional. Resource labels to represent user-provided metadata. + */ + labels?: {[key: string]: string} | null; + /** + * Optional. Configures whether all, none or a subset of metadata fields should be added to the reported VPC flow logs. Default value is INCLUDE_ALL_METADATA. + */ + metadata?: string | null; + /** + * Optional. Custom metadata fields to include in the reported VPC flow logs. Can only be specified if "metadata" was set to CUSTOM_METADATA. + */ + metadataFields?: string[] | null; + /** + * Identifier. Unique name of the configuration using the form: `projects/{project_id\}/locations/global/vpcFlowLogsConfigs/{vpc_flow_logs_config_id\}` + */ + name?: string | null; + /** + * Optional. The state of the VPC Flow Log configuration. Default value is ENABLED. When creating a new configuration, it must be enabled. + */ + state?: string | null; + /** + * Output only. A diagnostic bit - describes the state of the configured target resource for diagnostic purposes. + */ + targetResourceState?: string | null; + /** + * Output only. The time the config was updated. + */ + updateTime?: string | null; + /** + * Traffic will be logged from the VPN Tunnel. Format: projects/{project_id\}/regions/{region\}/vpnTunnels/{name\} + */ + vpnTunnel?: string | null; + } /** * For display only. Metadata associated with a Compute Engine VPN gateway. */ @@ -1664,9 +1778,12 @@ export namespace networkmanagement_v1 { export class Resource$Projects$Locations { context: APIRequestContext; global: Resource$Projects$Locations$Global; + vpcFlowLogsConfigs: Resource$Projects$Locations$Vpcflowlogsconfigs; constructor(context: APIRequestContext) { this.context = context; this.global = new Resource$Projects$Locations$Global(this.context); + this.vpcFlowLogsConfigs = + new Resource$Projects$Locations$Vpcflowlogsconfigs(this.context); } /** @@ -2836,7 +2953,7 @@ export namespace networkmanagement_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3236,4 +3353,534 @@ export namespace networkmanagement_v1 { */ pageToken?: string; } + + export class Resource$Projects$Locations$Vpcflowlogsconfigs { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new `VpcFlowLogsConfig`. If a configuration with the exact same settings already exists (even if the ID is different), the creation fails. Notes: 1. Creating a configuration with state=DISABLED will fail 2. The following fields are not considered as `settings` for the purpose of the check mentioned above, therefore - creating another configuration with the same fields but different values for the following fields will fail as well: * name * create_time * update_time * labels * description + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkmanagement.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/vpcFlowLogsConfigs').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a specific `VpcFlowLogsConfig`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkmanagement.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets the details of a specific `VpcFlowLogsConfig`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkmanagement.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists all `VpcFlowLogsConfigs` in a given project. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Vpcflowlogsconfigs$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Vpcflowlogsconfigs$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Vpcflowlogsconfigs$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Vpcflowlogsconfigs$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Vpcflowlogsconfigs$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Vpcflowlogsconfigs$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Vpcflowlogsconfigs$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Vpcflowlogsconfigs$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkmanagement.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/vpcFlowLogsConfigs').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates an existing `VpcFlowLogsConfig`. If a configuration with the exact same settings already exists (even if the ID is different), the creation fails. Notes: 1. Updating a configuration with state=DISABLED will fail. 2. The following fields are not considered as `settings` for the purpose of the check mentioned above, therefore - updating another configuration with the same fields but different values for the following fields will fail as well: * name * create_time * update_time * labels * description + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkmanagement.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Create + extends StandardParameters { + /** + * Required. The parent resource of the VPC Flow Logs configuration to create: `projects/{project_id\}/locations/global` + */ + parent?: string; + /** + * Required. ID of the `VpcFlowLogsConfig`. + */ + vpcFlowLogsConfigId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$VpcFlowLogsConfig; + } + export interface Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Delete + extends StandardParameters { + /** + * Required. `VpcFlowLogsConfig` resource name using the form: `projects/{project_id\}/locations/global/vpcFlowLogsConfigs/{vpc_flow_logs_config\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Get + extends StandardParameters { + /** + * Required. `VpcFlowLogsConfig` resource name using the form: `projects/{project_id\}/locations/global/vpcFlowLogsConfigs/{vpc_flow_logs_config\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Vpcflowlogsconfigs$List + extends StandardParameters { + /** + * Optional. Lists the `VpcFlowLogsConfigs` that match the filter expression. A filter expression must use the supported [CEL logic operators] (https://cloud.google.com/vpc/docs/about-flow-logs-records#supported_cel_logic_operators). + */ + filter?: string; + /** + * Optional. Field to use to sort the list. + */ + orderBy?: string; + /** + * Optional. Number of `VpcFlowLogsConfigs` to return. + */ + pageSize?: number; + /** + * Optional. Page token from an earlier query, as returned in `next_page_token`. + */ + pageToken?: string; + /** + * Required. The parent resource of the VpcFlowLogsConfig: `projects/{project_id\}/locations/global` + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Vpcflowlogsconfigs$Patch + extends StandardParameters { + /** + * Identifier. Unique name of the configuration using the form: `projects/{project_id\}/locations/global/vpcFlowLogsConfigs/{vpc_flow_logs_config_id\}` + */ + name?: string; + /** + * Required. Mask of fields to update. At least one path must be supplied in this field. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$VpcFlowLogsConfig; + } } diff --git a/src/apis/networkmanagement/v1beta1.ts b/src/apis/networkmanagement/v1beta1.ts index 0e5b39c197..a0056c2b38 100644 --- a/src/apis/networkmanagement/v1beta1.ts +++ b/src/apis/networkmanagement/v1beta1.ts @@ -273,10 +273,6 @@ export namespace networkmanagement_v1beta1 { * Location in which this revision is deployed. */ location?: string | null; - /** - * ID of Cloud Run Service this revision belongs to. Was never set, is not exported to v1 proto and public protos. Do not export to v1beta1 public proto. - */ - serviceName?: string | null; /** * URI of Cloud Run service this revision belongs to. */ @@ -363,6 +359,14 @@ export namespace networkmanagement_v1beta1 { * Other projects that may be relevant for reachability analysis. This is applicable to scenarios where a test can cross project boundaries. */ relatedProjects?: string[] | null; + /** + * Output only. The reachability details of this test from the latest run for the return path. The details are updated when creating a new test, updating an existing test, or triggering a one-time rerun of an existing test. + */ + returnReachabilityDetails?: Schema$ReachabilityDetails; + /** + * Whether run analysis for the return path from destination to source. Default value is false. + */ + roundTrip?: boolean | null; /** * Required. Source specification of the Connectivity Test. You can use a combination of source IP address, virtual machine (VM) instance, or Compute Engine network to uniquely identify the source location. Examples: If the source IP address is an internal IP address within a Google Cloud Virtual Private Cloud (VPC) network, then you must also specify the VPC network. Otherwise, specify the VM instance, which already contains its internal IP address and VPC network information. If the source of the test is within an on-premises network, then you must provide the destination VPC network. If the source endpoint is a Compute Engine VM instance with multiple network interfaces, the instance itself is not sufficient to identify the endpoint. So, you must also specify the source IP address or VPC network. A reachability analysis proceeds even if the source location is ambiguous. However, the test result may include endpoints that you don't intend to test. */ @@ -464,7 +468,11 @@ export namespace networkmanagement_v1beta1 { */ forwardingRuleTarget?: string | null; /** - * A cluster URI for [Google Kubernetes Engine master](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture). + * DNS endpoint of [Google Kubernetes Engine cluster control plane](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture). Requires gke_master_cluster to be set, can't be used simultaneoulsly with ip_address or network. Applicable only to destination endpoint. + */ + fqdn?: string | null; + /** + * A cluster URI for [Google Kubernetes Engine cluster control plane](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture). */ gkeMasterCluster?: string | null; /** @@ -694,11 +702,15 @@ export namespace networkmanagement_v1beta1 { */ clusterUri?: string | null; /** - * External IP address of a GKE cluster master. + * DNS endpoint of a GKE cluster control plane. + */ + dnsEndpoint?: string | null; + /** + * External IP address of a GKE cluster control plane. */ externalIp?: string | null; /** - * Internal IP address of a GKE cluster master. + * Internal IP address of a GKE cluster control plane. */ internalIp?: string | null; } @@ -1297,11 +1309,11 @@ export namespace networkmanagement_v1beta1 { */ export interface Schema$RouteInfo { /** - * For advertised routes, the URI of their next hop, i.e. the URI of the hybrid endpoint (VPN tunnel, Interconnect attachment, NCC router appliance) the advertised prefix is advertised through, or URI of the source peered network. + * For ADVERTISED routes, the URI of their next hop, i.e. the URI of the hybrid endpoint (VPN tunnel, Interconnect attachment, NCC router appliance) the advertised prefix is advertised through, or URI of the source peered network. Deprecated in favor of the next_hop_uri field, not used in new tests. */ advertisedRouteNextHopUri?: string | null; /** - * For advertised dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix. + * For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix. */ advertisedRouteSourceRouterUri?: string | null; /** @@ -1309,7 +1321,7 @@ export namespace networkmanagement_v1beta1 { */ destIpRange?: string | null; /** - * Destination port ranges of the route. Policy based routes only. + * Destination port ranges of the route. POLICY_BASED routes only. */ destPortRanges?: string[] | null; /** @@ -1321,39 +1333,59 @@ export namespace networkmanagement_v1beta1 { */ instanceTags?: string[] | null; /** - * URI of a NCC Hub. NCC_HUB routes only. + * For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub's routing table. + */ + nccHubRouteUri?: string | null; + /** + * URI of the NCC Hub the route is advertised by. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only. */ nccHubUri?: string | null; /** - * URI of a NCC Spoke. NCC_HUB routes only. + * URI of the destination NCC Spoke. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only. */ nccSpokeUri?: string | null; /** - * URI of a Compute Engine network. NETWORK routes only. + * URI of a VPC network where route is located. */ networkUri?: string | null; /** - * Next hop of the route. + * String type of the next hop of the route (for example, "VPN tunnel"). Deprecated in favor of the next_hop_type and next_hop_uri fields, not used in new tests. */ nextHop?: string | null; + /** + * URI of a VPC network where the next hop resource is located. + */ + nextHopNetworkUri?: string | null; /** * Type of next hop. */ nextHopType?: string | null; + /** + * URI of the next hop resource. + */ + nextHopUri?: string | null; + /** + * For PEERING_SUBNET, PEERING_STATIC and PEERING_DYNAMIC routes, the name of the originating SUBNET/STATIC/DYNAMIC route. + */ + originatingRouteDisplayName?: string | null; + /** + * For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route. + */ + originatingRouteUri?: string | null; /** * Priority of the route. */ priority?: number | null; /** - * Protocols of the route. Policy based routes only. + * Protocols of the route. POLICY_BASED routes only. */ protocols?: string[] | null; /** - * Region of the route (if applicable). + * Region of the route. DYNAMIC, PEERING_DYNAMIC, POLICY_BASED and ADVERTISED routes only. If set for POLICY_BASED route, this is a region of VLAN attachments for Cloud Interconnect the route applies to. */ region?: string | null; /** - * Indicates where route is applicable. + * Indicates where route is applicable. Deprecated, routes with NCC_HUB scope are not included in the trace in new tests. */ routeScope?: string | null; /** @@ -1361,15 +1393,15 @@ export namespace networkmanagement_v1beta1 { */ routeType?: string | null; /** - * Source IP address range of the route. Policy based routes only. + * Source IP address range of the route. POLICY_BASED routes only. */ srcIpRange?: string | null; /** - * Source port ranges of the route. Policy based routes only. + * Source port ranges of the route. POLICY_BASED routes only. */ srcPortRanges?: string[] | null; /** - * URI of a route (if applicable). + * URI of a route. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only. */ uri?: string | null; } @@ -1650,6 +1682,10 @@ export namespace networkmanagement_v1beta1 { * Optional. The state of the VPC Flow Log configuration. Default value is ENABLED. When creating a new configuration, it must be enabled. */ state?: string | null; + /** + * Output only. A diagnostic bit - describes the state of the configured target resource for diagnostic purposes. + */ + targetResourceState?: string | null; /** * Output only. The time the config was updated. */ @@ -2920,7 +2956,7 @@ export namespace networkmanagement_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/networksecurity/v1.ts b/src/apis/networksecurity/v1.ts index 0faf4cdb63..e0e51c08b0 100644 --- a/src/apis/networksecurity/v1.ts +++ b/src/apis/networksecurity/v1.ts @@ -217,6 +217,232 @@ export namespace networksecurity_v1 { */ updateTime?: string | null; } + /** + * `AuthzPolicy` is a resource that allows to forward traffic to a callout backend designed to scan the traffic for security purposes. + */ + export interface Schema$AuthzPolicy { + /** + * Required. Can be one of `ALLOW`, `DENY`, `CUSTOM`. When the action is `CUSTOM`, `customProvider` must be specified. When the action is `ALLOW`, only requests matching the policy will be allowed. When the action is `DENY`, only requests matching the policy will be denied. When a request arrives, the policies are evaluated in the following order: 1. If there is a `CUSTOM` policy that matches the request, the `CUSTOM` policy is evaluated using the custom authorization providers and the request is denied if the provider rejects the request. 2. If there are any `DENY` policies that match the request, the request is denied. 3. If there are no `ALLOW` policies for the resource or if any of the `ALLOW` policies match the request, the request is allowed. 4. Else the request is denied by default if none of the configured AuthzPolicies with `ALLOW` action match the request. + */ + action?: string | null; + /** + * Output only. The timestamp when the resource was created. + */ + createTime?: string | null; + /** + * Optional. Required if the action is `CUSTOM`. Allows delegating authorization decisions to Cloud IAP or to Service Extensions. One of `cloudIap` or `authzExtension` must be specified. + */ + customProvider?: Schema$AuthzPolicyCustomProvider; + /** + * Optional. A human-readable description of the resource. + */ + description?: string | null; + /** + * Optional. A list of authorization HTTP rules to match against the incoming request. A policy match occurs when at least one HTTP rule matches the request or when no HTTP rules are specified in the policy. At least one HTTP Rule is required for Allow or Deny Action. Limited to 5 rules. + */ + httpRules?: Schema$AuthzPolicyAuthzRule[]; + /** + * Optional. Set of labels associated with the `AuthzPolicy` resource. The format must comply with [the following requirements](/compute/docs/labeling-resources#requirements). + */ + labels?: {[key: string]: string} | null; + /** + * Required. Identifier. Name of the `AuthzPolicy` resource in the following format: `projects/{project\}/locations/{location\}/authzPolicies/{authz_policy\}`. + */ + name?: string | null; + /** + * Required. Specifies the set of resources to which this policy should be applied to. + */ + target?: Schema$AuthzPolicyTarget; + /** + * Output only. The timestamp when the resource was updated. + */ + updateTime?: string | null; + } + /** + * Conditions to match against the incoming request. + */ + export interface Schema$AuthzPolicyAuthzRule { + /** + * Optional. Describes properties of a source of a request. + */ + from?: Schema$AuthzPolicyAuthzRuleFrom; + /** + * Optional. Describes properties of a target of a request. + */ + to?: Schema$AuthzPolicyAuthzRuleTo; + /** + * Optional. CEL expression that describes the conditions to be satisfied for the action. The result of the CEL expression is ANDed with the from and to. Refer to the CEL language reference for a list of available attributes. + */ + when?: string | null; + } + /** + * Describes properties of one or more sources of a request. + */ + export interface Schema$AuthzPolicyAuthzRuleFrom { + /** + * Optional. Describes the negated properties of request sources. Matches requests from sources that do not match the criteria specified in this field. At least one of sources or notSources must be specified. + */ + notSources?: Schema$AuthzPolicyAuthzRuleFromRequestSource[]; + /** + * Optional. Describes the properties of a request's sources. At least one of sources or notSources must be specified. Limited to 1 source. A match occurs when ANY source (in sources or notSources) matches the request. Within a single source, the match follows AND semantics across fields and OR semantics within a single field, i.e. a match occurs when ANY principal matches AND ANY ipBlocks match. + */ + sources?: Schema$AuthzPolicyAuthzRuleFromRequestSource[]; + } + /** + * Describes the properties of a single source. + */ + export interface Schema$AuthzPolicyAuthzRuleFromRequestSource { + /** + * Optional. A list of identities derived from the client's certificate. This field will not match on a request unless mutual TLS is enabled for the Forwarding rule or Gateway. Each identity is a string whose value is matched against the URI SAN, or DNS SAN or the subject field in the client's certificate. The match can be exact, prefix, suffix or a substring match. One of exact, prefix, suffix or contains must be specified. Limited to 5 principals. + */ + principals?: Schema$AuthzPolicyAuthzRuleStringMatch[]; + /** + * Optional. A list of resources to match against the resource of the source VM of a request. Limited to 5 resources. + */ + resources?: Schema$AuthzPolicyAuthzRuleRequestResource[]; + } + /** + * Determines how a HTTP header should be matched. + */ + export interface Schema$AuthzPolicyAuthzRuleHeaderMatch { + /** + * Optional. Specifies the name of the header in the request. + */ + name?: string | null; + /** + * Optional. Specifies how the header match will be performed. + */ + value?: Schema$AuthzPolicyAuthzRuleStringMatch; + } + /** + * Describes the properties of a client VM resource accessing the internal application load balancers. + */ + export interface Schema$AuthzPolicyAuthzRuleRequestResource { + /** + * Optional. An IAM service account to match against the source service account of the VM sending the request. + */ + iamServiceAccount?: Schema$AuthzPolicyAuthzRuleStringMatch; + /** + * Optional. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. + */ + tagValueIdSet?: Schema$AuthzPolicyAuthzRuleRequestResourceTagValueIdSet; + } + /** + * Describes a set of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. + */ + export interface Schema$AuthzPolicyAuthzRuleRequestResourceTagValueIdSet { + /** + * Required. A list of resource tag value permanent IDs to match against the resource manager tags value associated with the source VM of a request. The match follows AND semantics which means all the ids must match. Limited to 5 matches. + */ + ids?: string[] | null; + } + /** + * Determines how a string value should be matched. + */ + export interface Schema$AuthzPolicyAuthzRuleStringMatch { + /** + * The input string must have the substring specified here. Note: empty contains match is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc.def`` + */ + contains?: string | null; + /** + * The input string must match exactly the string specified here. Examples: * ``abc`` only matches the value ``abc``. + */ + exact?: string | null; + /** + * If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. For example, the matcher ``data`` will match both input string ``Data`` and ``data`` if set to true. + */ + ignoreCase?: boolean | null; + /** + * The input string must have the prefix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``abc.xyz`` + */ + prefix?: string | null; + /** + * The input string must have the suffix specified here. Note: empty prefix is not allowed, please use regex instead. Examples: * ``abc`` matches the value ``xyz.abc`` + */ + suffix?: string | null; + } + /** + * Describes properties of one or more targets of a request. + */ + export interface Schema$AuthzPolicyAuthzRuleTo { + /** + * Optional. Describes the negated properties of the targets of a request. Matches requests for operations that do not match the criteria specified in this field. At least one of operations or notOperations must be specified. + */ + notOperations?: Schema$AuthzPolicyAuthzRuleToRequestOperation[]; + /** + * Optional. Describes properties of one or more targets of a request. At least one of operations or notOperations must be specified. Limited to 1 operation. A match occurs when ANY operation (in operations or notOperations) matches. Within an operation, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches. + */ + operations?: Schema$AuthzPolicyAuthzRuleToRequestOperation[]; + } + /** + * Describes properties of one or more targets of a request. + */ + export interface Schema$AuthzPolicyAuthzRuleToRequestOperation { + /** + * Optional. A list of headers to match against in http header. + */ + headerSet?: Schema$AuthzPolicyAuthzRuleToRequestOperationHeaderSet; + /** + * Optional. A list of HTTP Hosts to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches. + */ + hosts?: Schema$AuthzPolicyAuthzRuleStringMatch[]; + /** + * Optional. A list of HTTP methods to match against. Each entry must be a valid HTTP method name (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). It only allows exact match and is always case sensitive. + */ + methods?: string[] | null; + /** + * Optional. A list of paths to match against. The match can be one of exact, prefix, suffix, or contains (substring match). Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches. Note that this path match includes the query parameters. For gRPC services, this should be a fully-qualified name of the form /package.service/method. + */ + paths?: Schema$AuthzPolicyAuthzRuleStringMatch[]; + } + /** + * Describes a set of HTTP headers to match against. + */ + export interface Schema$AuthzPolicyAuthzRuleToRequestOperationHeaderSet { + /** + * Required. A list of headers to match against in http header. The match can be one of exact, prefix, suffix, or contains (substring match). The match follows AND semantics which means all the headers must match. Matches are always case sensitive unless the ignoreCase is set. Limited to 5 matches. + */ + headers?: Schema$AuthzPolicyAuthzRuleHeaderMatch[]; + } + /** + * Allows delegating authorization decisions to Cloud IAP or to Service Extensions. + */ + export interface Schema$AuthzPolicyCustomProvider { + /** + * Optional. Delegate authorization decision to user authored Service Extension. Only one of cloudIap or authzExtension can be specified. + */ + authzExtension?: Schema$AuthzPolicyCustomProviderAuthzExtension; + /** + * Optional. Delegates authorization decisions to Cloud IAP. Applicable only for managed load balancers. Enabling Cloud IAP at the AuthzPolicy level is not compatible with Cloud IAP settings in the BackendService. Enabling IAP in both places will result in request failure. Ensure that IAP is enabled in either the AuthzPolicy or the BackendService but not in both places. + */ + cloudIap?: Schema$AuthzPolicyCustomProviderCloudIap; + } + /** + * Optional. Delegate authorization decision to user authored extension. Only one of cloudIap or authzExtension can be specified. + */ + export interface Schema$AuthzPolicyCustomProviderAuthzExtension { + /** + * Required. A list of references to authorization extensions that will be invoked for requests matching this policy. Limited to 1 custom provider. + */ + resources?: string[] | null; + } + /** + * Optional. Delegates authorization decisions to Cloud IAP. Applicable only for managed load balancers. Enabling Cloud IAP at the AuthzPolicy level is not compatible with Cloud IAP settings in the BackendService. Enabling IAP in both places will result in request failure. Ensure that IAP is enabled in either the AuthzPolicy or the BackendService but not in both places. + */ + export interface Schema$AuthzPolicyCustomProviderCloudIap {} + /** + * Specifies the set of targets to which this policy should be applied to. + */ + export interface Schema$AuthzPolicyTarget { + /** + * Required. All gateways and forwarding rules referenced by this policy and extensions must share the same load balancing scheme. Supported values: `INTERNAL_MANAGED` and `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service). + */ + loadBalancingScheme?: string | null; + /** + * Required. A list of references to the Forwarding Rules on which this policy will be applied. + */ + resources?: string[] | null; + } /** * The request message for Operations.CancelOperation. */ @@ -280,6 +506,15 @@ export namespace networksecurity_v1 { */ sourceAddressGroup?: string | null; } + /** + * CustomInterceptProfile defines the Packet Intercept Endpoint Group used to intercept traffic to a third-party firewall in a Firewall rule. + */ + export interface Schema$CustomInterceptProfile { + /** + * Required. The InterceptEndpointGroup to which traffic associated with the SP should be mirrored. + */ + interceptEndpointGroup?: string | null; + } /** * CustomMirroringProfile defines an action for mirroring traffic to a collector's EndpointGroup */ @@ -694,6 +929,23 @@ export namespace networksecurity_v1 { */ nextPageToken?: string | null; } + /** + * Message for response to listing `AuthzPolicy` resources. + */ + export interface Schema$ListAuthzPoliciesResponse { + /** + * The list of `AuthzPolicy` resources. + */ + authzPolicies?: Schema$AuthzPolicy[]; + /** + * A token identifying a page of results that the server returns. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } /** * Response returned by the ListClientTlsPolicies method. */ @@ -1001,13 +1253,17 @@ export namespace networksecurity_v1 { sources?: Schema$Source[]; } /** - * SecurityProfile is a resource that defines the behavior for one of many ProfileTypes. Next ID: 12 + * SecurityProfile is a resource that defines the behavior for one of many ProfileTypes. */ export interface Schema$SecurityProfile { /** * Output only. Resource creation timestamp. */ createTime?: string | null; + /** + * The custom TPPI configuration for the SecurityProfile. + */ + customInterceptProfile?: Schema$CustomInterceptProfile; /** * The custom Packet Mirroring v2 configuration for the SecurityProfile. */ @@ -1042,13 +1298,17 @@ export namespace networksecurity_v1 { updateTime?: string | null; } /** - * SecurityProfileGroup is a resource that defines the behavior for various ProfileTypes. Next ID: 11 + * SecurityProfileGroup is a resource that defines the behavior for various ProfileTypes. */ export interface Schema$SecurityProfileGroup { /** * Output only. Resource creation timestamp. */ createTime?: string | null; + /** + * Optional. Reference to a SecurityProfile with the CustomIntercept configuration. + */ + customInterceptProfile?: string | null; /** * Optional. Reference to a SecurityProfile with the CustomMirroring configuration. */ @@ -2802,7 +3062,7 @@ export namespace networksecurity_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -6631,63 +6891,57 @@ export namespace networksecurity_v1 { } /** - * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + * Creates a new AuthzPolicy in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getIamPolicy( - params: Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy, + create( + params: Params$Resource$Projects$Locations$Authzpolicies$Create, options: StreamMethodOptions ): GaxiosPromise; - getIamPolicy( - params?: Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy, + create( + params?: Params$Resource$Projects$Locations$Authzpolicies$Create, options?: MethodOptions - ): GaxiosPromise; - getIamPolicy( - params: Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy, + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Authzpolicies$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Authzpolicies$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getIamPolicy( - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Authzpolicies$Create, + callback: BodyResponseCallback ): void; - getIamPolicy( + create(callback: BodyResponseCallback): void; + create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy - | BodyResponseCallback + | Params$Resource$Projects$Locations$Authzpolicies$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy; + {}) as Params$Resource$Projects$Locations$Authzpolicies$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy; + params = {} as Params$Resource$Projects$Locations$Authzpolicies$Create; options = {}; } @@ -6701,88 +6955,82 @@ export namespace networksecurity_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace( + url: (rootUrl + '/v1/{+parent}/authzPolicies').replace( /([^:]\/)\/+/g, '$1' ), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + * Deletes a single AuthzPolicy. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setIamPolicy( - params: Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy, + delete( + params: Params$Resource$Projects$Locations$Authzpolicies$Delete, options: StreamMethodOptions ): GaxiosPromise; - setIamPolicy( - params?: Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy, + delete( + params?: Params$Resource$Projects$Locations$Authzpolicies$Delete, options?: MethodOptions - ): GaxiosPromise; - setIamPolicy( - params: Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy, + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Authzpolicies$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Authzpolicies$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setIamPolicy( - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Authzpolicies$Delete, + callback: BodyResponseCallback ): void; - setIamPolicy( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy - | BodyResponseCallback + | Params$Resource$Projects$Locations$Authzpolicies$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy; + {}) as Params$Resource$Projects$Locations$Authzpolicies$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy; + params = {} as Params$Resource$Projects$Locations$Authzpolicies$Delete; options = {}; } @@ -6796,10 +7044,465 @@ export namespace networksecurity_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+resource}:setIamPolicy').replace( - /([^:]\/)\/+/g, - '$1' - ), + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of a single AuthzPolicy. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Authzpolicies$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Authzpolicies$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Authzpolicies$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Authzpolicies$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Authzpolicies$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Authzpolicies$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Authzpolicies$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Authzpolicies$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getIamPolicy( + params: Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + getIamPolicy( + params?: Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy, + options?: MethodOptions + ): GaxiosPromise; + getIamPolicy( + params: Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy( + callback: BodyResponseCallback + ): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists AuthzPolicies in a given project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Authzpolicies$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Authzpolicies$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Authzpolicies$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Authzpolicies$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Authzpolicies$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Authzpolicies$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Authzpolicies$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Authzpolicies$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/authzPolicies').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the parameters of a single AuthzPolicy. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Authzpolicies$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Authzpolicies$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Authzpolicies$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Authzpolicies$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Authzpolicies$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Authzpolicies$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Authzpolicies$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Authzpolicies$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setIamPolicy( + params: Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + setIamPolicy( + params?: Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy, + options?: MethodOptions + ): GaxiosPromise; + setIamPolicy( + params: Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy( + callback: BodyResponseCallback + ): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:setIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), method: 'POST', apiVersion: '', }, @@ -6920,6 +7623,44 @@ export namespace networksecurity_v1 { } } + export interface Params$Resource$Projects$Locations$Authzpolicies$Create + extends StandardParameters { + /** + * Required. User-provided ID of the `AuthzPolicy` resource to be created. + */ + authzPolicyId?: string; + /** + * Required. The parent resource of the `AuthzPolicy` resource. Must be in the format `projects/{project\}/locations/{location\}`. + */ + parent?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$AuthzPolicy; + } + export interface Params$Resource$Projects$Locations$Authzpolicies$Delete + extends StandardParameters { + /** + * Required. The name of the `AuthzPolicy` resource to delete. Must be in the format `projects/{project\}/locations/{location\}/authzPolicies/{authz_policy\}`. + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Projects$Locations$Authzpolicies$Get + extends StandardParameters { + /** + * Required. A name of the `AuthzPolicy` resource to get. Must be in the format `projects/{project\}/locations/{location\}/authzPolicies/{authz_policy\}`. + */ + name?: string; + } export interface Params$Resource$Projects$Locations$Authzpolicies$Getiampolicy extends StandardParameters { /** @@ -6931,6 +7672,49 @@ export namespace networksecurity_v1 { */ resource?: string; } + export interface Params$Resource$Projects$Locations$Authzpolicies$List + extends StandardParameters { + /** + * Optional. Filtering results. + */ + filter?: string; + /** + * Optional. Hint for how to order the results. + */ + orderBy?: string; + /** + * Optional. Requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results that the server returns. + */ + pageToken?: string; + /** + * Required. The project and location from which the `AuthzPolicy` resources are listed, specified in the following format: `projects/{project\}/locations/{location\}`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Authzpolicies$Patch + extends StandardParameters { + /** + * Required. Identifier. Name of the `AuthzPolicy` resource in the following format: `projects/{project\}/locations/{location\}/authzPolicies/{authz_policy\}`. + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Required. Used to specify the fields to be overwritten in the `AuthzPolicy` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not specify a mask, then all fields are overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$AuthzPolicy; + } export interface Params$Resource$Projects$Locations$Authzpolicies$Setiampolicy extends StandardParameters { /** @@ -9402,7 +10186,7 @@ export namespace networksecurity_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/networksecurity/v1beta1.ts b/src/apis/networksecurity/v1beta1.ts index ebbf8d43ee..cda476e22e 100644 --- a/src/apis/networksecurity/v1beta1.ts +++ b/src/apis/networksecurity/v1beta1.ts @@ -263,11 +263,11 @@ export namespace networksecurity_v1beta1 { */ export interface Schema$AuthzPolicyAuthzRule { /** - * Optional. Describes properties of one or more sources of a request. + * Optional. Describes properties of a source of a request. */ from?: Schema$AuthzPolicyAuthzRuleFrom; /** - * Optional. Describes properties of one or more targets of a request. + * Optional. Describes properties of a target of a request. */ to?: Schema$AuthzPolicyAuthzRuleTo; /** @@ -284,7 +284,7 @@ export namespace networksecurity_v1beta1 { */ notSources?: Schema$AuthzPolicyAuthzRuleFromRequestSource[]; /** - * Optional. Describes the properties of a request's sources. At least one of sources or notSources must be specified. Limited to 5 sources. A match occurs when ANY source (in sources or notSources) matches the request. Within a single source, the match follows AND semantics across fields and OR semantics within a single field, i.e. a match occurs when ANY principal matches AND ANY ipBlocks match. + * Optional. Describes the properties of a request's sources. At least one of sources or notSources must be specified. Limited to 1 source. A match occurs when ANY source (in sources or notSources) matches the request. Within a single source, the match follows AND semantics across fields and OR semantics within a single field, i.e. a match occurs when ANY principal matches AND ANY ipBlocks match. */ sources?: Schema$AuthzPolicyAuthzRuleFromRequestSource[]; } @@ -370,7 +370,7 @@ export namespace networksecurity_v1beta1 { */ notOperations?: Schema$AuthzPolicyAuthzRuleToRequestOperation[]; /** - * Optional. Describes properties of one or more targets of a request. At least one of operations or notOperations must be specified. Limited to 5 operations. A match occurs when ANY operation (in operations or notOperations) matches. Within an operation, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches. + * Optional. Describes properties of one or more targets of a request. At least one of operations or notOperations must be specified. Limited to 1 operation. A match occurs when ANY operation (in operations or notOperations) matches. Within an operation, the match follows AND semantics across fields and OR semantics within a field, i.e. a match occurs when ANY path matches AND ANY header matches and ANY method matches. */ operations?: Schema$AuthzPolicyAuthzRuleToRequestOperation[]; } @@ -506,6 +506,15 @@ export namespace networksecurity_v1beta1 { */ sourceAddressGroup?: string | null; } + /** + * CustomInterceptProfile defines the Packet Intercept Endpoint Group used to intercept traffic to a third-party firewall in a Firewall rule. + */ + export interface Schema$CustomInterceptProfile { + /** + * Required. The InterceptEndpointGroup to which traffic associated with the SP should be mirrored. + */ + interceptEndpointGroup?: string | null; + } /** * CustomMirroringProfile defines an action for mirroring traffic to a collector's EndpointGroup */ @@ -864,6 +873,201 @@ export namespace networksecurity_v1beta1 { */ regexMatch?: string | null; } + /** + * Message describing InterceptDeployment object + */ + export interface Schema$InterceptDeployment { + /** + * Output only. [Output only] Create time stamp + */ + createTime?: string | null; + /** + * Required. Immutable. The regional load balancer which the intercepted traffic should be forwarded to. Format is: projects/{project\}/regions/{region\}/forwardingRules/{forwardingRule\} + */ + forwardingRule?: string | null; + /** + * Required. Immutable. The Intercept Deployment Group that this resource is part of. Format is: `projects/{project\}/locations/global/interceptDeploymentGroups/{interceptDeploymentGroup\}` + */ + interceptDeploymentGroup?: string | null; + /** + * Optional. Labels as key value pairs + */ + labels?: {[key: string]: string} | null; + /** + * Immutable. Identifier. The name of the InterceptDeployment. + */ + name?: string | null; + /** + * Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128. + */ + reconciling?: boolean | null; + /** + * Output only. Current state of the deployment. + */ + state?: string | null; + /** + * Output only. [Output only] Update time stamp + */ + updateTime?: string | null; + } + /** + * Message describing InterceptDeploymentGroup object + */ + export interface Schema$InterceptDeploymentGroup { + /** + * Output only. The list of Intercept Endpoint Groups that are connected to this resource. + */ + connectedEndpointGroups?: Schema$InterceptDeploymentGroupConnectedEndpointGroup[]; + /** + * Output only. [Output only] Create time stamp + */ + createTime?: string | null; + /** + * Optional. Labels as key value pairs + */ + labels?: {[key: string]: string} | null; + /** + * Immutable. Identifier. Then name of the InterceptDeploymentGroup. + */ + name?: string | null; + /** + * Required. Immutable. The network that is being used for the deployment. Format is: projects/{project\}/global/networks/{network\}. + */ + network?: string | null; + /** + * Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128. + */ + reconciling?: boolean | null; + /** + * Output only. Current state of the deployment group. + */ + state?: string | null; + /** + * Output only. [Output only] Update time stamp + */ + updateTime?: string | null; + } + /** + * An endpoint group connected to this deployment group. + */ + export interface Schema$InterceptDeploymentGroupConnectedEndpointGroup { + /** + * Output only. A connected intercept endpoint group. + */ + name?: string | null; + } + /** + * Message describing InterceptEndpointGroup object. + */ + export interface Schema$InterceptEndpointGroup { + /** + * Output only. List of Intercept Endpoint Group Associations that are associated to this endpoint group. + */ + associations?: Schema$InterceptEndpointGroupAssociationDetails[]; + /** + * Output only. [Output only] Create time stamp + */ + createTime?: string | null; + /** + * Optional. User-provided description of the endpoint group. Used as additional context for the endpoint group. + */ + description?: string | null; + /** + * Required. Immutable. The Intercept Deployment Group that this resource is connected to. Format is: `projects/{project\}/locations/global/interceptDeploymentGroups/{interceptDeploymentGroup\}` + */ + interceptDeploymentGroup?: string | null; + /** + * Optional. Labels as key value pairs + */ + labels?: {[key: string]: string} | null; + /** + * Immutable. Identifier. The name of the InterceptEndpointGroup. + */ + name?: string | null; + /** + * Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128. + */ + reconciling?: boolean | null; + /** + * Output only. Current state of the endpoint group. + */ + state?: string | null; + /** + * Output only. [Output only] Update time stamp + */ + updateTime?: string | null; + } + /** + * Message describing InterceptEndpointGroupAssociation object + */ + export interface Schema$InterceptEndpointGroupAssociation { + /** + * Output only. [Output only] Create time stamp + */ + createTime?: string | null; + /** + * Required. Immutable. The Intercept Endpoint Group that this resource is connected to. Format is: `projects/{project\}/locations/global/interceptEndpointGroups/{interceptEndpointGroup\}` + */ + interceptEndpointGroup?: string | null; + /** + * Optional. Labels as key value pairs + */ + labels?: {[key: string]: string} | null; + /** + * Output only. The list of locations that this association is in and its details. + */ + locationsDetails?: Schema$InterceptEndpointGroupAssociationLocationDetails[]; + /** + * Immutable. Identifier. The name of the InterceptEndpointGroupAssociation. + */ + name?: string | null; + /** + * Required. Immutable. The VPC network associated. Format: projects/{project\}/global/networks/{network\}. + */ + network?: string | null; + /** + * Output only. Whether reconciling is in progress, recommended per https://google.aip.dev/128. + */ + reconciling?: boolean | null; + /** + * Output only. Current state of the endpoint group association. + */ + state?: string | null; + /** + * Output only. [Output only] Update time stamp + */ + updateTime?: string | null; + } + /** + * This is a subset of the InterceptEndpointGroupAssociation message, containing fields to be used by the consumer. + */ + export interface Schema$InterceptEndpointGroupAssociationDetails { + /** + * Output only. The resource name of the InterceptEndpointGroupAssociation. Format: projects/{project\}/locations/{location\}/interceptEndpointGroupAssociations/{interceptEndpointGroupAssociation\} + */ + name?: string | null; + /** + * Output only. The VPC network associated. Format: projects/{project\}/global/networks/{name\}. + */ + network?: string | null; + /** + * Output only. Current state of the association. + */ + state?: string | null; + } + /** + * Details about the association status in a specific cloud location. + */ + export interface Schema$InterceptEndpointGroupAssociationLocationDetails { + /** + * Output only. The cloud location. + */ + location?: string | null; + /** + * Output only. The association state in this location. + */ + state?: string | null; + } /** * Response of the ListAddressGroupReferences method. */ @@ -1018,6 +1222,62 @@ export namespace networksecurity_v1beta1 { */ unreachable?: string[] | null; } + /** + * Message for response to listing InterceptDeploymentGroups + */ + export interface Schema$ListInterceptDeploymentGroupsResponse { + /** + * The list of InterceptDeploymentGroup + */ + interceptDeploymentGroups?: Schema$InterceptDeploymentGroup[]; + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + } + /** + * Message for response to listing InterceptDeployments + */ + export interface Schema$ListInterceptDeploymentsResponse { + /** + * The list of InterceptDeployment + */ + interceptDeployments?: Schema$InterceptDeployment[]; + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * Message for response to listing InterceptEndpointGroupAssociations + */ + export interface Schema$ListInterceptEndpointGroupAssociationsResponse { + /** + * The list of InterceptEndpointGroupAssociation + */ + interceptEndpointGroupAssociations?: Schema$InterceptEndpointGroupAssociation[]; + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + } + /** + * Message for response to listing InterceptEndpointGroups + */ + export interface Schema$ListInterceptEndpointGroupsResponse { + /** + * The list of InterceptEndpointGroup + */ + interceptEndpointGroups?: Schema$InterceptEndpointGroup[]; + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + } /** * The response message for Locations.ListLocations. */ @@ -1199,7 +1459,7 @@ export namespace networksecurity_v1beta1 { name?: string | null; } /** - * Message describing MirroringDeployment object + * Message describing MirroringDeployment object NEXT ID: 10 */ export interface Schema$MirroringDeployment { /** @@ -1236,7 +1496,7 @@ export namespace networksecurity_v1beta1 { updateTime?: string | null; } /** - * Message describing MirroringDeploymentGroup object + * Message describing MirroringDeploymentGroup object NEXT ID: 10 */ export interface Schema$MirroringDeploymentGroup { /** @@ -1282,7 +1542,7 @@ export namespace networksecurity_v1beta1 { name?: string | null; } /** - * Message describing MirroringEndpointGroup object. Next ID: 10 + * Message describing MirroringEndpointGroup object. */ export interface Schema$MirroringEndpointGroup { /** @@ -1298,7 +1558,7 @@ export namespace networksecurity_v1beta1 { */ mirroringDeploymentGroup?: string | null; /** - * Immutable. Identifier. The name of the MirroringEndpointGroup. + * Immutable. Identifier. Next ID: 11 The name of the MirroringEndpointGroup. */ name?: string | null; /** @@ -1470,13 +1730,17 @@ export namespace networksecurity_v1beta1 { sources?: Schema$Source[]; } /** - * SecurityProfile is a resource that defines the behavior for one of many ProfileTypes. Next ID: 12 + * SecurityProfile is a resource that defines the behavior for one of many ProfileTypes. */ export interface Schema$SecurityProfile { /** * Output only. Resource creation timestamp. */ createTime?: string | null; + /** + * The custom TPPI configuration for the SecurityProfile. + */ + customInterceptProfile?: Schema$CustomInterceptProfile; /** * The custom Packet Mirroring v2 configuration for the SecurityProfile. */ @@ -1511,13 +1775,17 @@ export namespace networksecurity_v1beta1 { updateTime?: string | null; } /** - * SecurityProfileGroup is a resource that defines the behavior for various ProfileTypes. Next ID: 11 + * SecurityProfileGroup is a resource that defines the behavior for various ProfileTypes. */ export interface Schema$SecurityProfileGroup { /** * Output only. Resource creation timestamp. */ createTime?: string | null; + /** + * Optional. Reference to a SecurityProfile with the CustomIntercept configuration. + */ + customInterceptProfile?: string | null; /** * Optional. Reference to a SecurityProfile with the CustomMirroring configuration. */ @@ -3271,7 +3539,7 @@ export namespace networksecurity_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -4742,6 +5010,10 @@ export namespace networksecurity_v1beta1 { clientTlsPolicies: Resource$Projects$Locations$Clienttlspolicies; firewallEndpointAssociations: Resource$Projects$Locations$Firewallendpointassociations; gatewaySecurityPolicies: Resource$Projects$Locations$Gatewaysecuritypolicies; + interceptDeploymentGroups: Resource$Projects$Locations$Interceptdeploymentgroups; + interceptDeployments: Resource$Projects$Locations$Interceptdeployments; + interceptEndpointGroupAssociations: Resource$Projects$Locations$Interceptendpointgroupassociations; + interceptEndpointGroups: Resource$Projects$Locations$Interceptendpointgroups; mirroringDeploymentGroups: Resource$Projects$Locations$Mirroringdeploymentgroups; mirroringDeployments: Resource$Projects$Locations$Mirroringdeployments; mirroringEndpointGroupAssociations: Resource$Projects$Locations$Mirroringendpointgroupassociations; @@ -4768,6 +5040,16 @@ export namespace networksecurity_v1beta1 { ); this.gatewaySecurityPolicies = new Resource$Projects$Locations$Gatewaysecuritypolicies(this.context); + this.interceptDeploymentGroups = + new Resource$Projects$Locations$Interceptdeploymentgroups(this.context); + this.interceptDeployments = + new Resource$Projects$Locations$Interceptdeployments(this.context); + this.interceptEndpointGroupAssociations = + new Resource$Projects$Locations$Interceptendpointgroupassociations( + this.context + ); + this.interceptEndpointGroups = + new Resource$Projects$Locations$Interceptendpointgroups(this.context); this.mirroringDeploymentGroups = new Resource$Projects$Locations$Mirroringdeploymentgroups(this.context); this.mirroringDeployments = @@ -10403,6 +10685,2178 @@ export namespace networksecurity_v1beta1 { requestBody?: Schema$GatewaySecurityPolicyRule; } + export class Resource$Projects$Locations$Interceptdeploymentgroups { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new InterceptDeploymentGroup in a given project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Interceptdeploymentgroups$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Interceptdeploymentgroups$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Interceptdeploymentgroups$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Interceptdeploymentgroups$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Interceptdeploymentgroups$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Interceptdeploymentgroups$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Interceptdeploymentgroups$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Interceptdeploymentgroups$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta1/{+parent}/interceptDeploymentGroups' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a single InterceptDeploymentGroup. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Interceptdeploymentgroups$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Interceptdeploymentgroups$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Interceptdeploymentgroups$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Interceptdeploymentgroups$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Interceptdeploymentgroups$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Interceptdeploymentgroups$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Interceptdeploymentgroups$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Interceptdeploymentgroups$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of a single InterceptDeploymentGroup. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Interceptdeploymentgroups$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Interceptdeploymentgroups$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Interceptdeploymentgroups$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Interceptdeploymentgroups$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Interceptdeploymentgroups$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Interceptdeploymentgroups$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Interceptdeploymentgroups$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Interceptdeploymentgroups$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists InterceptDeploymentGroups in a given project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Interceptdeploymentgroups$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Interceptdeploymentgroups$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Interceptdeploymentgroups$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Interceptdeploymentgroups$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Interceptdeploymentgroups$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Interceptdeploymentgroups$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Interceptdeploymentgroups$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Interceptdeploymentgroups$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta1/{+parent}/interceptDeploymentGroups' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates a single InterceptDeploymentGroup. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Interceptdeploymentgroups$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Interceptdeploymentgroups$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Interceptdeploymentgroups$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Interceptdeploymentgroups$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Interceptdeploymentgroups$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Interceptdeploymentgroups$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Interceptdeploymentgroups$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Interceptdeploymentgroups$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Interceptdeploymentgroups$Create + extends StandardParameters { + /** + * Required. Id of the requesting object If auto-generating Id server-side, remove this field and intercept_deployment_group_id from the method_signature of Create RPC + */ + interceptDeploymentGroupId?: string; + /** + * Required. Value for parent. + */ + parent?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InterceptDeploymentGroup; + } + export interface Params$Resource$Projects$Locations$Interceptdeploymentgroups$Delete + extends StandardParameters { + /** + * Required. Name of the resource + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Projects$Locations$Interceptdeploymentgroups$Get + extends StandardParameters { + /** + * Required. Name of the resource + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Interceptdeploymentgroups$List + extends StandardParameters { + /** + * Optional. Filtering results + */ + filter?: string; + /** + * Optional. Hint for how to order the results + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. Parent value for ListInterceptDeploymentGroupsRequest + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Interceptdeploymentgroups$Patch + extends StandardParameters { + /** + * Immutable. Identifier. Then name of the InterceptDeploymentGroup. + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Required. Field mask is used to specify the fields to be overwritten in the InterceptDeploymentGroup resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InterceptDeploymentGroup; + } + + export class Resource$Projects$Locations$Interceptdeployments { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new InterceptDeployment in a given project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Interceptdeployments$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Interceptdeployments$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Interceptdeployments$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Interceptdeployments$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Interceptdeployments$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Interceptdeployments$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Interceptdeployments$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Interceptdeployments$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/interceptDeployments').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a single InterceptDeployment. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Interceptdeployments$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Interceptdeployments$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Interceptdeployments$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Interceptdeployments$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Interceptdeployments$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Interceptdeployments$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Interceptdeployments$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Interceptdeployments$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of a single InterceptDeployment. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Interceptdeployments$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Interceptdeployments$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Interceptdeployments$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Interceptdeployments$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Interceptdeployments$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Interceptdeployments$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Interceptdeployments$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Interceptdeployments$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists InterceptDeployments in a given project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Interceptdeployments$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Interceptdeployments$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Interceptdeployments$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Interceptdeployments$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Interceptdeployments$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Interceptdeployments$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Interceptdeployments$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Interceptdeployments$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/interceptDeployments').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates a single InterceptDeployment. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Interceptdeployments$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Interceptdeployments$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Interceptdeployments$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Interceptdeployments$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Interceptdeployments$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Interceptdeployments$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Interceptdeployments$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Interceptdeployments$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Interceptdeployments$Create + extends StandardParameters { + /** + * Required. Id of the requesting object If auto-generating Id server-side, remove this field and intercept_deployment_id from the method_signature of Create RPC + */ + interceptDeploymentId?: string; + /** + * Required. Value for parent. + */ + parent?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InterceptDeployment; + } + export interface Params$Resource$Projects$Locations$Interceptdeployments$Delete + extends StandardParameters { + /** + * Required. Name of the resource + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Projects$Locations$Interceptdeployments$Get + extends StandardParameters { + /** + * Required. Name of the resource + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Interceptdeployments$List + extends StandardParameters { + /** + * Optional. Filtering results + */ + filter?: string; + /** + * Optional. Hint for how to order the results + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. Parent value for ListInterceptDeploymentsRequest + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Interceptdeployments$Patch + extends StandardParameters { + /** + * Immutable. Identifier. The name of the InterceptDeployment. + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Required. Field mask is used to specify the fields to be overwritten in the InterceptDeployment resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InterceptDeployment; + } + + export class Resource$Projects$Locations$Interceptendpointgroupassociations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new InterceptEndpointGroupAssociation in a given project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta1/{+parent}/interceptEndpointGroupAssociations' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a single InterceptEndpointGroupAssociation. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of a single InterceptEndpointGroupAssociation. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Lists InterceptEndpointGroupAssociations in a given project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Interceptendpointgroupassociations$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Interceptendpointgroupassociations$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Interceptendpointgroupassociations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Interceptendpointgroupassociations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Interceptendpointgroupassociations$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Interceptendpointgroupassociations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Interceptendpointgroupassociations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Interceptendpointgroupassociations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta1/{+parent}/interceptEndpointGroupAssociations' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates a single InterceptEndpointGroupAssociation. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Create + extends StandardParameters { + /** + * Optional. Id of the requesting object If auto-generating Id server-side, remove this field and intercept_endpoint_group_association_id from the method_signature of Create RPC + */ + interceptEndpointGroupAssociationId?: string; + /** + * Required. Value for parent. + */ + parent?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InterceptEndpointGroupAssociation; + } + export interface Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Delete + extends StandardParameters { + /** + * Required. Name of the resource + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Get + extends StandardParameters { + /** + * Required. Name of the resource + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Interceptendpointgroupassociations$List + extends StandardParameters { + /** + * Optional. Filtering results + */ + filter?: string; + /** + * Optional. Hint for how to order the results + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. Parent value for ListInterceptEndpointGroupAssociationsRequest + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Interceptendpointgroupassociations$Patch + extends StandardParameters { + /** + * Immutable. Identifier. The name of the InterceptEndpointGroupAssociation. + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Required. Field mask is used to specify the fields to be overwritten in the InterceptEndpointGroupAssociation resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InterceptEndpointGroupAssociation; + } + + export class Resource$Projects$Locations$Interceptendpointgroups { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new InterceptEndpointGroup in a given project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Interceptendpointgroups$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Interceptendpointgroups$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Interceptendpointgroups$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Interceptendpointgroups$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Interceptendpointgroups$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Interceptendpointgroups$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Interceptendpointgroups$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Interceptendpointgroups$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta1/{+parent}/interceptEndpointGroups' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a single InterceptEndpointGroup. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Interceptendpointgroups$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Interceptendpointgroups$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Interceptendpointgroups$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Interceptendpointgroups$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Interceptendpointgroups$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Interceptendpointgroups$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Interceptendpointgroups$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Interceptendpointgroups$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of a single InterceptEndpointGroup. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Interceptendpointgroups$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Interceptendpointgroups$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Interceptendpointgroups$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Interceptendpointgroups$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Interceptendpointgroups$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Interceptendpointgroups$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Interceptendpointgroups$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Interceptendpointgroups$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists InterceptEndpointGroups in a given project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Interceptendpointgroups$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Interceptendpointgroups$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Interceptendpointgroups$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Interceptendpointgroups$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Interceptendpointgroups$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Interceptendpointgroups$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Interceptendpointgroups$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Interceptendpointgroups$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1beta1/{+parent}/interceptEndpointGroups' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates a single InterceptEndpointGroup. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Interceptendpointgroups$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Interceptendpointgroups$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Interceptendpointgroups$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Interceptendpointgroups$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Interceptendpointgroups$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Interceptendpointgroups$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Interceptendpointgroups$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Interceptendpointgroups$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networksecurity.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Interceptendpointgroups$Create + extends StandardParameters { + /** + * Required. Id of the requesting object If auto-generating Id server-side, remove this field and intercept_endpoint_group_id from the method_signature of Create RPC + */ + interceptEndpointGroupId?: string; + /** + * Required. Value for parent. + */ + parent?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InterceptEndpointGroup; + } + export interface Params$Resource$Projects$Locations$Interceptendpointgroups$Delete + extends StandardParameters { + /** + * Required. Name of the resource + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Projects$Locations$Interceptendpointgroups$Get + extends StandardParameters { + /** + * Required. Name of the resource + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Interceptendpointgroups$List + extends StandardParameters { + /** + * Optional. Filtering results + */ + filter?: string; + /** + * Optional. Hint for how to order the results + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. Parent value for ListInterceptEndpointGroupsRequest + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Interceptendpointgroups$Patch + extends StandardParameters { + /** + * Immutable. Identifier. The name of the InterceptEndpointGroup. + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Required. Field mask is used to specify the fields to be overwritten in the InterceptEndpointGroup resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$InterceptEndpointGroup; + } + export class Resource$Projects$Locations$Mirroringdeploymentgroups { context: APIRequestContext; constructor(context: APIRequestContext) { @@ -12557,7 +15011,7 @@ export namespace networksecurity_v1beta1 { export interface Params$Resource$Projects$Locations$Mirroringendpointgroups$Patch extends StandardParameters { /** - * Immutable. Identifier. The name of the MirroringEndpointGroup. + * Immutable. Identifier. Next ID: 11 The name of the MirroringEndpointGroup. */ name?: string; /** @@ -12582,7 +15036,7 @@ export namespace networksecurity_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/networkservices/v1.ts b/src/apis/networkservices/v1.ts index 627888d545..926d7edd90 100644 --- a/src/apis/networkservices/v1.ts +++ b/src/apis/networkservices/v1.ts @@ -150,6 +150,63 @@ export namespace networkservices_v1 { */ logType?: string | null; } + /** + * `AuthzExtension` is a resource that allows traffic forwarding to a callout backend service to make an authorization decision. + */ + export interface Schema$AuthzExtension { + /** + * Required. The `:authority` header in the gRPC request sent from Envoy to the extension service. + */ + authority?: string | null; + /** + * Output only. The timestamp when the resource was created. + */ + createTime?: string | null; + /** + * Optional. A human-readable description of the resource. + */ + description?: string | null; + /** + * Optional. Determines how the proxy behaves if the call to the extension fails or times out. When set to `TRUE`, request or response processing continues without error. Any subsequent extensions in the extension chain are also executed. When set to `FALSE` or the default setting of `FALSE` is used, one of the following happens: * If response headers have not been delivered to the downstream client, a generic 500 error is returned to the client. The error response can be tailored by configuring a custom error response in the load balancer. * If response headers have been delivered, then the HTTP stream to the downstream client is reset. + */ + failOpen?: boolean | null; + /** + * Optional. List of the HTTP headers to forward to the extension (from the client). If omitted, all headers are sent. Each element is a string indicating the header name. + */ + forwardHeaders?: string[] | null; + /** + * Optional. Set of labels associated with the `AuthzExtension` resource. The format must comply with [the requirements for labels](/compute/docs/labeling-resources#requirements) for Google Cloud resources. + */ + labels?: {[key: string]: string} | null; + /** + * Required. All backend services and forwarding rules referenced by this extension must share the same load balancing scheme. Supported values: `INTERNAL_MANAGED`, `EXTERNAL_MANAGED`. For more information, refer to [Backend services overview](https://cloud.google.com/load-balancing/docs/backend-service). + */ + loadBalancingScheme?: string | null; + /** + * Optional. The metadata provided here is included as part of the `metadata_context` (of type `google.protobuf.Struct`) in the `ProcessingRequest` message sent to the extension server. The metadata is available under the namespace `com.google.authz_extension.`. The following variables are supported in the metadata Struct: `{forwarding_rule_id\}` - substituted with the forwarding rule's fully qualified resource name. + */ + metadata?: {[key: string]: any} | null; + /** + * Required. Identifier. Name of the `AuthzExtension` resource in the following format: `projects/{project\}/locations/{location\}/authzExtensions/{authz_extension\}`. + */ + name?: string | null; + /** + * Required. The reference to the service that runs the extension. To configure a callout extension, `service` must be a fully-qualified reference to a [backend service](https://cloud.google.com/compute/docs/reference/rest/v1/backendServices) in the format: `https://www.googleapis.com/compute/v1/projects/{project\}/regions/{region\}/backendServices/{backendService\}` or `https://www.googleapis.com/compute/v1/projects/{project\}/global/backendServices/{backendService\}`. + */ + service?: string | null; + /** + * Required. Specifies the timeout for each individual message on the stream. The timeout must be between 10-10000 milliseconds. + */ + timeout?: string | null; + /** + * Output only. The timestamp when the resource was updated. + */ + updateTime?: string | null; + /** + * Optional. The format of communication supported by the callout extension. If not specified, the default is `EXT_PROC_GRPC`. + */ + wireFormat?: string | null; + } /** * Associates `members`, or principals, with a `role`. */ @@ -302,7 +359,7 @@ export namespace networkservices_v1 { */ export interface Schema$ExtensionChainExtension { /** - * Optional. The `:authority` header in the gRPC request sent from Envoy to the extension service. Required for Callout extensions. + * Optional. The `:authority` header in the gRPC request sent from Envoy to the extension service. Required for Callout extensions. This field is not supported for plugin extensions. Setting it results in a validation error. */ authority?: string | null; /** @@ -313,20 +370,24 @@ export namespace networkservices_v1 { * Optional. List of the HTTP headers to forward to the extension (from the client or backend). If omitted, all headers are sent. Each element is a string indicating the header name. */ forwardHeaders?: string[] | null; + /** + * Optional. The metadata provided here is included as part of the `metadata_context` (of type `google.protobuf.Struct`) in the `ProcessingRequest` message sent to the extension server. The metadata is available under the namespace `com.google....`. For example: `com.google.lb_traffic_extension.lbtrafficextension1.chain1.ext1`. The following variables are supported in the metadata: `{forwarding_rule_id\}` - substituted with the forwarding rule's fully qualified resource name. This field is not supported for plugin extensions. Setting it results in a validation error. + */ + metadata?: {[key: string]: any} | null; /** * Required. The name for this extension. The name is logged as part of the HTTP request logs. The name must conform with RFC-1034, is restricted to lower-cased letters, numbers and hyphens, and can have a maximum length of 63 characters. Additionally, the first character must be a letter and the last a letter or a number. */ name?: string | null; /** - * Required. The reference to the service that runs the extension. Currently only callout extensions are supported here. To configure a callout extension, `service` must be a fully-qualified reference to a [backend service](https://cloud.google.com/compute/docs/reference/rest/v1/backendServices) in the format: `https://www.googleapis.com/compute/v1/projects/{project\}/regions/{region\}/backendServices/{backendService\}` or `https://www.googleapis.com/compute/v1/projects/{project\}/global/backendServices/{backendService\}`. + * Required. The reference to the service that runs the extension. To configure a callout extension, `service` must be a fully-qualified reference to a [backend service](https://cloud.google.com/compute/docs/reference/rest/v1/backendServices) in the format: `https://www.googleapis.com/compute/v1/projects/{project\}/regions/{region\}/backendServices/{backendService\}` or `https://www.googleapis.com/compute/v1/projects/{project\}/global/backendServices/{backendService\}`. To configure a plugin extension, `service` must be a reference to a [`WasmPlugin` resource](https://cloud.google.com/service-extensions/docs/reference/rest/v1beta1/projects.locations.wasmPlugins) in the format: `projects/{project\}/locations/{location\}/wasmPlugins/{plugin\}` or `//networkservices.googleapis.com/projects/{project\}/locations/{location\}/wasmPlugins/{wasmPlugin\}`. Plugin extensions are currently supported for the `LbTrafficExtension` and the `LbRouteExtension` resources. */ service?: string | null; /** - * Optional. A set of events during request or response processing for which this extension is called. This field is required for the `LbTrafficExtension` resource. It must not be set for the `LbRouteExtension` resource. + * Optional. A set of events during request or response processing for which this extension is called. This field is required for the `LbTrafficExtension` resource. It must not be set for the `LbRouteExtension` resource, otherwise a validation error is returned. */ supportedEvents?: string[] | null; /** - * Optional. Specifies the timeout for each individual message on the stream. The timeout must be between 10-1000 milliseconds. Required for Callout extensions. + * Optional. Specifies the timeout for each individual message on the stream. The timeout must be between `10`-`1000` milliseconds. Required for callout extensions. This field is not supported for plugin extensions. Setting it results in a validation error. */ timeout?: string | null; } @@ -416,6 +477,31 @@ export namespace networkservices_v1 { */ updateTime?: string | null; } + /** + * GatewayRouteView defines view-only resource for Routes to a Gateway + */ + export interface Schema$GatewayRouteView { + /** + * Output only. Identifier. Full path name of the GatewayRouteView resource. Format: projects/{project_number\}/locations/{location\}/gateways/{gateway_name\}/routeViews/{route_view_name\} + */ + name?: string | null; + /** + * Output only. The resource id for the route. + */ + routeId?: string | null; + /** + * Output only. Location where the route exists. + */ + routeLocation?: string | null; + /** + * Output only. Project number where the route exists. + */ + routeProjectNumber?: string | null; + /** + * Output only. Type of the route: HttpRoute,GrpcRoute,TcpRoute, or TlsRoute + */ + routeType?: string | null; + } /** * GrpcRoute is the resource defining how gRPC traffic routed by a Mesh or Gateway resource is routed. */ @@ -1076,7 +1162,7 @@ export namespace networkservices_v1 { */ extensionChains?: Schema$ExtensionChain[]; /** - * Required. A list of references to the forwarding rules to which this service extension is attached to. At least one forwarding rule is required. There can be only one `LbRouteExtension` resource per forwarding rule. + * Required. A list of references to the forwarding rules to which this service extension is attached. At least one forwarding rule is required. There can be only one `LbRouteExtension` resource per forwarding rule. */ forwardingRules?: string[] | null; /** @@ -1088,7 +1174,7 @@ export namespace networkservices_v1 { */ loadBalancingScheme?: string | null; /** - * Optional. The metadata provided here is included as part of the `metadata_context` (of type `google.protobuf.Struct`) in the `ProcessingRequest` message sent to the extension server. The metadata is available under the namespace `com.google.lb_route_extension.`. The following variables are supported in the metadata Struct: `{forwarding_rule_id\}` - substituted with the forwarding rule's fully qualified resource name. + * Optional. The metadata provided here is included as part of the `metadata_context` (of type `google.protobuf.Struct`) in the `ProcessingRequest` message sent to the extension server. The metadata is available under the namespace `com.google.lb_route_extension.`. The following variables are supported in the metadata Struct: `{forwarding_rule_id\}` - substituted with the forwarding rule's fully qualified resource name. This field is not supported for plugin extensions. Setting it results in a validation error. */ metadata?: {[key: string]: any} | null; /** @@ -1117,7 +1203,7 @@ export namespace networkservices_v1 { */ extensionChains?: Schema$ExtensionChain[]; /** - * Required. A list of references to the forwarding rules to which this service extension is attached to. At least one forwarding rule is required. There can be only one `LBTrafficExtension` resource per forwarding rule. + * Optional. A list of references to the forwarding rules to which this service extension is attached. At least one forwarding rule is required. There can be only one `LBTrafficExtension` resource per forwarding rule. */ forwardingRules?: string[] | null; /** @@ -1129,7 +1215,7 @@ export namespace networkservices_v1 { */ loadBalancingScheme?: string | null; /** - * Optional. The metadata provided here is included in the `ProcessingRequest.metadata_context.filter_metadata` map field. The metadata is available under the key `com.google.lb_traffic_extension.`. The following variables are supported in the metadata: `{forwarding_rule_id\}` - substituted with the forwarding rule's fully qualified resource name. + * Optional. The metadata provided here is included in the `ProcessingRequest.metadata_context.filter_metadata` map field. The metadata is available under the key `com.google.lb_traffic_extension.`. The following variables are supported in the metadata: `{forwarding_rule_id\}` - substituted with the forwarding rule's fully qualified resource name. This field is not supported for plugin extensions. Setting it results in a validation error. */ metadata?: {[key: string]: any} | null; /** @@ -1141,6 +1227,23 @@ export namespace networkservices_v1 { */ updateTime?: string | null; } + /** + * Message for response to listing `AuthzExtension` resources. + */ + export interface Schema$ListAuthzExtensionsResponse { + /** + * The list of `AuthzExtension` resources. + */ + authzExtensions?: Schema$AuthzExtension[]; + /** + * A token identifying a page of results that the server returns. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } /** * Response returned by the ListEndpointPolicies method. */ @@ -1154,6 +1257,19 @@ export namespace networkservices_v1 { */ nextPageToken?: string | null; } + /** + * Response returned by the ListGatewayRouteViews method. + */ + export interface Schema$ListGatewayRouteViewsResponse { + /** + * List of GatewayRouteView resources. + */ + gatewayRouteViews?: Schema$GatewayRouteView[]; + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + } /** * Response returned by the ListGateways method. */ @@ -1257,6 +1373,19 @@ export namespace networkservices_v1 { */ nextPageToken?: string | null; } + /** + * Response returned by the ListMeshRouteViews method. + */ + export interface Schema$ListMeshRouteViewsResponse { + /** + * List of MeshRouteView resources. + */ + meshRouteViews?: Schema$MeshRouteView[]; + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + } /** * The response message for Operations.ListOperations. */ @@ -1322,6 +1451,32 @@ export namespace networkservices_v1 { */ tlsRoutes?: Schema$TlsRoute[]; } + /** + * Response returned by the `ListWasmPlugins` method. + */ + export interface Schema$ListWasmPluginsResponse { + /** + * If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`. + */ + nextPageToken?: string | null; + /** + * List of `WasmPlugin` resources. + */ + wasmPlugins?: Schema$WasmPlugin[]; + } + /** + * Response returned by the `ListWasmPluginVersions` method. + */ + export interface Schema$ListWasmPluginVersionsResponse { + /** + * If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`. + */ + nextPageToken?: string | null; + /** + * List of `WasmPluginVersion` resources. + */ + wasmPluginVersions?: Schema$WasmPluginVersion[]; + } /** * A resource that represents a Google Cloud location. */ @@ -1348,7 +1503,7 @@ export namespace networkservices_v1 { name?: string | null; } /** - * The configuration for Platform Telemetry logging for Eventarc Avdvanced resources. + * The configuration for Platform Telemetry logging for Eventarc Advanced resources. */ export interface Schema$LoggingConfig { /** @@ -1393,6 +1548,31 @@ export namespace networkservices_v1 { */ updateTime?: string | null; } + /** + * MeshRouteView defines view-only resource for Routes to a Mesh + */ + export interface Schema$MeshRouteView { + /** + * Output only. Identifier. Full path name of the MeshRouteView resource. Format: projects/{project_number\}/locations/{location\}/meshes/{mesh_name\}/routeViews/{route_view_name\} + */ + name?: string | null; + /** + * Output only. The resource id for the route. + */ + routeId?: string | null; + /** + * Output only. Location where the route exists. + */ + routeLocation?: string | null; + /** + * Output only. Project number where the route exists. + */ + routeProjectNumber?: string | null; + /** + * Output only. Type of the route: HttpRoute,GrpcRoute,TcpRoute, or TlsRoute + */ + routeType?: string | null; + } /** * This resource represents a long-running operation that is the result of a network API call. */ @@ -1540,7 +1720,7 @@ export namespace networkservices_v1 { */ loadBalancingAlgorithm?: string | null; /** - * Required. Name of the ServiceLbPolicy resource. It matches pattern `projects/{project\}/locations/{location\}/serviceLbPolicies/{service_lb_policy_name\}`. + * Identifier. Name of the ServiceLbPolicy resource. It matches pattern `projects/{project\}/locations/{location\}/serviceLbPolicies/{service_lb_policy_name\}`. */ name?: string | null; /** @@ -1813,6 +1993,159 @@ export namespace networkservices_v1 { */ ports?: string[] | null; } + /** + * `WasmPlugin` is a resource representing a service executing a customer-provided Wasm module. + */ + export interface Schema$WasmPlugin { + /** + * Output only. The timestamp when the resource was created. + */ + createTime?: string | null; + /** + * Optional. A human-readable description of the resource. + */ + description?: string | null; + /** + * Optional. Set of labels associated with the `WasmPlugin` resource. The format must comply with [the following requirements](/compute/docs/labeling-resources#requirements). + */ + labels?: {[key: string]: string} | null; + /** + * Optional. Specifies the logging options for the activity performed by this plugin. If logging is enabled, plugin logs are exported to Cloud Logging. Note that the settings relate to the logs generated by using logging statements in your Wasm code. + */ + logConfig?: Schema$WasmPluginLogConfig; + /** + * Optional. The ID of the `WasmPluginVersion` resource that is the currently serving one. The version referred to must be a child of this `WasmPlugin` resource. + */ + mainVersionId?: string | null; + /** + * Identifier. Name of the `WasmPlugin` resource in the following format: `projects/{project\}/locations/{location\}/wasmPlugins/{wasm_plugin\}`. + */ + name?: string | null; + /** + * Output only. The timestamp when the resource was updated. + */ + updateTime?: string | null; + /** + * Output only. List of all [extensions](https://cloud.google.com/service-extensions/docs/overview) that use this `WasmPlugin` resource. + */ + usedBy?: Schema$WasmPluginUsedBy[]; + /** + * Optional. All versions of this `WasmPlugin` resource in the key-value format. The key is the resource ID, and the value is the `VersionDetails` object. Lets you create or update a `WasmPlugin` resource and its versions in a single request. When the `main_version_id` field is not empty, it must point to one of the `VersionDetails` objects in the map. If provided in a `PATCH` request, the new versions replace the previous set. Any version omitted from the `versions` field is removed. Because the `WasmPluginVersion` resource is immutable, if a `WasmPluginVersion` resource with the same name already exists and differs, the request fails. Note: In a `GET` request, this field is populated only if the field `GetWasmPluginRequest.view` is set to `WASM_PLUGIN_VIEW_FULL`. + */ + versions?: {[key: string]: Schema$WasmPluginVersionDetails} | null; + } + /** + * Specifies the logging options for the activity performed by this plugin. If logging is enabled, plugin logs are exported to Cloud Logging. + */ + export interface Schema$WasmPluginLogConfig { + /** + * Optional. Specifies whether to enable logging for activity by this plugin. Defaults to `false`. + */ + enable?: boolean | null; + /** + * Non-empty default. Specificies the lowest level of the plugin logs that are exported to Cloud Logging. This setting relates to the logs generated by using logging statements in your Wasm code. This field is can be set only if logging is enabled for the plugin. If the field is not provided when logging is enabled, it is set to `INFO` by default. + */ + minLogLevel?: string | null; + /** + * Non-empty default. Configures the sampling rate of activity logs, where `1.0` means all logged activity is reported and `0.0` means no activity is reported. A floating point value between `0.0` and `1.0` indicates that a percentage of log messages is stored. The default value when logging is enabled is `1.0`. The value of the field must be between `0` and `1` (inclusive). This field can be specified only if logging is enabled for this plugin. + */ + sampleRate?: number | null; + } + /** + * Defines a resource that uses the `WasmPlugin` resource. + */ + export interface Schema$WasmPluginUsedBy { + /** + * Output only. Full name of the resource https://google.aip.dev/122#full-resource-names, for example `//networkservices.googleapis.com/projects/{project\}/locations/{location\}/lbRouteExtensions/{extension\}` + */ + name?: string | null; + } + /** + * A single immutable version of a `WasmPlugin` resource. Defines the Wasm module used and optionally its runtime config. + */ + export interface Schema$WasmPluginVersion { + /** + * Output only. The timestamp when the resource was created. + */ + createTime?: string | null; + /** + * Optional. A human-readable description of the resource. + */ + description?: string | null; + /** + * Output only. The resolved digest for the image specified in the `image` field. The digest is resolved during the creation of `WasmPluginVersion` resource. This field holds the digest value, regardless of whether a tag or digest was originally specified in the `image` field. + */ + imageDigest?: string | null; + /** + * Optional. URI of the container image containing the plugin, stored in the Artifact Registry. When a new `WasmPluginVersion` resource is created, the digest of the container image is saved in the `image_digest` field. When downloading an image, the digest value is used instead of an image tag. + */ + imageUri?: string | null; + /** + * Optional. Set of labels associated with the `WasmPluginVersion` resource. + */ + labels?: {[key: string]: string} | null; + /** + * Identifier. Name of the `WasmPluginVersion` resource in the following format: `projects/{project\}/locations/{location\}/wasmPlugins/{wasm_plugin\}/ versions/{wasm_plugin_version\}`. + */ + name?: string | null; + /** + * Configuration for the plugin. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. When a new `WasmPluginVersion` resource is created, the digest of the contents is saved in the `plugin_config_digest` field. + */ + pluginConfigData?: string | null; + /** + * Output only. This field holds the digest (usually checksum) value for the plugin configuration. The value is calculated based on the contents of `plugin_config_data` or the container image defined by the `plugin_config_uri` field. + */ + pluginConfigDigest?: string | null; + /** + * URI of the plugin configuration stored in the Artifact Registry. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. The container image must contain only a single file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the digest of the container image is saved in the `plugin_config_digest` field. + */ + pluginConfigUri?: string | null; + /** + * Output only. The timestamp when the resource was updated. + */ + updateTime?: string | null; + } + /** + * Details of a `WasmPluginVersion` resource to be inlined in the `WasmPlugin` resource. + */ + export interface Schema$WasmPluginVersionDetails { + /** + * Output only. The timestamp when the resource was created. + */ + createTime?: string | null; + /** + * Optional. A human-readable description of the resource. + */ + description?: string | null; + /** + * Output only. The resolved digest for the image specified in `image`. The digest is resolved during the creation of a `WasmPluginVersion` resource. This field holds the digest value regardless of whether a tag or digest was originally specified in the `image` field. + */ + imageDigest?: string | null; + /** + * Optional. URI of the container image containing the Wasm module, stored in the Artifact Registry. The container image must contain only a single file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource is created, the URI gets resolved to an image digest and saved in the `image_digest` field. + */ + imageUri?: string | null; + /** + * Optional. Set of labels associated with the `WasmPluginVersion` resource. + */ + labels?: {[key: string]: string} | null; + /** + * Configuration for the plugin. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. When a new `WasmPluginVersion` version is created, the digest of the contents is saved in the `plugin_config_digest` field. + */ + pluginConfigData?: string | null; + /** + * Output only. This field holds the digest (usually checksum) value for the plugin configuration. The value is calculated based on the contents of the `plugin_config_data` field or the container image defined by the `plugin_config_uri` field. + */ + pluginConfigDigest?: string | null; + /** + * URI of the plugin configuration stored in the Artifact Registry. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. The container image must contain only a single file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the digest of the container image is saved in the `plugin_config_digest` field. + */ + pluginConfigUri?: string | null; + /** + * Output only. The timestamp when the resource was updated. + */ + updateTime?: string | null; + } export class Resource$Projects { context: APIRequestContext; @@ -1825,6 +2158,7 @@ export namespace networkservices_v1 { export class Resource$Projects$Locations { context: APIRequestContext; + authzExtensions: Resource$Projects$Locations$Authzextensions; edgeCacheKeysets: Resource$Projects$Locations$Edgecachekeysets; edgeCacheOrigins: Resource$Projects$Locations$Edgecacheorigins; edgeCacheServices: Resource$Projects$Locations$Edgecacheservices; @@ -1840,8 +2174,12 @@ export namespace networkservices_v1 { serviceLbPolicies: Resource$Projects$Locations$Servicelbpolicies; tcpRoutes: Resource$Projects$Locations$Tcproutes; tlsRoutes: Resource$Projects$Locations$Tlsroutes; + wasmPlugins: Resource$Projects$Locations$Wasmplugins; constructor(context: APIRequestContext) { this.context = context; + this.authzExtensions = new Resource$Projects$Locations$Authzextensions( + this.context + ); this.edgeCacheKeysets = new Resource$Projects$Locations$Edgecachekeysets( this.context ); @@ -1875,6 +2213,9 @@ export namespace networkservices_v1 { new Resource$Projects$Locations$Servicelbpolicies(this.context); this.tcpRoutes = new Resource$Projects$Locations$Tcproutes(this.context); this.tlsRoutes = new Resource$Projects$Locations$Tlsroutes(this.context); + this.wasmPlugins = new Resource$Projects$Locations$Wasmplugins( + this.context + ); } /** @@ -2085,65 +2426,65 @@ export namespace networkservices_v1 { pageToken?: string; } - export class Resource$Projects$Locations$Edgecachekeysets { + export class Resource$Projects$Locations$Authzextensions { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + * Creates a new `AuthzExtension` resource in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getIamPolicy( - params: Params$Resource$Projects$Locations$Edgecachekeysets$Getiampolicy, + create( + params: Params$Resource$Projects$Locations$Authzextensions$Create, options: StreamMethodOptions ): GaxiosPromise; - getIamPolicy( - params?: Params$Resource$Projects$Locations$Edgecachekeysets$Getiampolicy, + create( + params?: Params$Resource$Projects$Locations$Authzextensions$Create, options?: MethodOptions - ): GaxiosPromise; - getIamPolicy( - params: Params$Resource$Projects$Locations$Edgecachekeysets$Getiampolicy, + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Authzextensions$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Edgecachekeysets$Getiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Edgecachekeysets$Getiampolicy, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Authzextensions$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getIamPolicy(callback: BodyResponseCallback): void; - getIamPolicy( + create( + params: Params$Resource$Projects$Locations$Authzextensions$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Edgecachekeysets$Getiampolicy - | BodyResponseCallback + | Params$Resource$Projects$Locations$Authzextensions$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Edgecachekeysets$Getiampolicy; + {}) as Params$Resource$Projects$Locations$Authzextensions$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Edgecachekeysets$Getiampolicy; + {} as Params$Resource$Projects$Locations$Authzextensions$Create; options = {}; } @@ -2157,83 +2498,83 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace( + url: (rootUrl + '/v1/{+parent}/authzExtensions').replace( /([^:]\/)\/+/g, '$1' ), - method: 'GET', + method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + * Deletes the specified `AuthzExtension` resource. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setIamPolicy( - params: Params$Resource$Projects$Locations$Edgecachekeysets$Setiampolicy, + delete( + params: Params$Resource$Projects$Locations$Authzextensions$Delete, options: StreamMethodOptions ): GaxiosPromise; - setIamPolicy( - params?: Params$Resource$Projects$Locations$Edgecachekeysets$Setiampolicy, + delete( + params?: Params$Resource$Projects$Locations$Authzextensions$Delete, options?: MethodOptions - ): GaxiosPromise; - setIamPolicy( - params: Params$Resource$Projects$Locations$Edgecachekeysets$Setiampolicy, + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Authzextensions$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Edgecachekeysets$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Authzextensions$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Edgecachekeysets$Setiampolicy, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Authzextensions$Delete, + callback: BodyResponseCallback ): void; - setIamPolicy(callback: BodyResponseCallback): void; - setIamPolicy( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Edgecachekeysets$Setiampolicy - | BodyResponseCallback + | Params$Resource$Projects$Locations$Authzextensions$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Edgecachekeysets$Setiampolicy; + {}) as Params$Resource$Projects$Locations$Authzextensions$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Edgecachekeysets$Setiampolicy; + {} as Params$Resource$Projects$Locations$Authzextensions$Delete; options = {}; } @@ -2247,90 +2588,79 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+resource}:setIamPolicy').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', apiVersion: '', }, options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. + * Gets details of the specified `AuthzExtension` resource. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - testIamPermissions( - params: Params$Resource$Projects$Locations$Edgecachekeysets$Testiampermissions, + get( + params: Params$Resource$Projects$Locations$Authzextensions$Get, options: StreamMethodOptions ): GaxiosPromise; - testIamPermissions( - params?: Params$Resource$Projects$Locations$Edgecachekeysets$Testiampermissions, + get( + params?: Params$Resource$Projects$Locations$Authzextensions$Get, options?: MethodOptions - ): GaxiosPromise; - testIamPermissions( - params: Params$Resource$Projects$Locations$Edgecachekeysets$Testiampermissions, + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Authzextensions$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - testIamPermissions( - params: Params$Resource$Projects$Locations$Edgecachekeysets$Testiampermissions, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - testIamPermissions( - params: Params$Resource$Projects$Locations$Edgecachekeysets$Testiampermissions, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Authzextensions$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - testIamPermissions( - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Authzextensions$Get, + callback: BodyResponseCallback ): void; - testIamPermissions( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Edgecachekeysets$Testiampermissions - | BodyResponseCallback + | Params$Resource$Projects$Locations$Authzextensions$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Edgecachekeysets$Testiampermissions; + {}) as Params$Resource$Projects$Locations$Authzextensions$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Edgecachekeysets$Testiampermissions; + params = {} as Params$Resource$Projects$Locations$Authzextensions$Get; options = {}; } @@ -2344,126 +2674,86 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+resource}:testIamPermissions').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Projects$Locations$Edgecachekeysets$Getiampolicy - extends StandardParameters { - /** - * Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). - */ - 'options.requestedPolicyVersion'?: number; - /** - * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. - */ - resource?: string; - } - export interface Params$Resource$Projects$Locations$Edgecachekeysets$Setiampolicy - extends StandardParameters { - /** - * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$SetIamPolicyRequest; - } - export interface Params$Resource$Projects$Locations$Edgecachekeysets$Testiampermissions - extends StandardParameters { - /** - * REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. - */ - resource?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$TestIamPermissionsRequest; - } - - export class Resource$Projects$Locations$Edgecacheorigins { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + * Lists `AuthzExtension` resources in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - getIamPolicy( - params: Params$Resource$Projects$Locations$Edgecacheorigins$Getiampolicy, + list( + params: Params$Resource$Projects$Locations$Authzextensions$List, options: StreamMethodOptions ): GaxiosPromise; - getIamPolicy( - params?: Params$Resource$Projects$Locations$Edgecacheorigins$Getiampolicy, + list( + params?: Params$Resource$Projects$Locations$Authzextensions$List, options?: MethodOptions - ): GaxiosPromise; - getIamPolicy( - params: Params$Resource$Projects$Locations$Edgecacheorigins$Getiampolicy, + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Authzextensions$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Edgecacheorigins$Getiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Authzextensions$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - getIamPolicy( - params: Params$Resource$Projects$Locations$Edgecacheorigins$Getiampolicy, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Authzextensions$List, + callback: BodyResponseCallback ): void; - getIamPolicy(callback: BodyResponseCallback): void; - getIamPolicy( + list( + callback: BodyResponseCallback + ): void; + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Edgecacheorigins$Getiampolicy - | BodyResponseCallback + | Params$Resource$Projects$Locations$Authzextensions$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Edgecacheorigins$Getiampolicy; + {}) as Params$Resource$Projects$Locations$Authzextensions$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Edgecacheorigins$Getiampolicy; + params = {} as Params$Resource$Projects$Locations$Authzextensions$List; options = {}; } @@ -2477,7 +2767,7 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace( + url: (rootUrl + '/v1/{+parent}/authzExtensions').replace( /([^:]\/)\/+/g, '$1' ), @@ -2487,73 +2777,72 @@ export namespace networkservices_v1 { options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + * Updates the parameters of the specified `AuthzExtension` resource. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - setIamPolicy( - params: Params$Resource$Projects$Locations$Edgecacheorigins$Setiampolicy, + patch( + params: Params$Resource$Projects$Locations$Authzextensions$Patch, options: StreamMethodOptions ): GaxiosPromise; - setIamPolicy( - params?: Params$Resource$Projects$Locations$Edgecacheorigins$Setiampolicy, + patch( + params?: Params$Resource$Projects$Locations$Authzextensions$Patch, options?: MethodOptions - ): GaxiosPromise; - setIamPolicy( - params: Params$Resource$Projects$Locations$Edgecacheorigins$Setiampolicy, + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Authzextensions$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Edgecacheorigins$Setiampolicy, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Authzextensions$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - setIamPolicy( - params: Params$Resource$Projects$Locations$Edgecacheorigins$Setiampolicy, - callback: BodyResponseCallback + patch( + params: Params$Resource$Projects$Locations$Authzextensions$Patch, + callback: BodyResponseCallback ): void; - setIamPolicy(callback: BodyResponseCallback): void; - setIamPolicy( + patch(callback: BodyResponseCallback): void; + patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Edgecacheorigins$Setiampolicy - | BodyResponseCallback + | Params$Resource$Projects$Locations$Authzextensions$Patch + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Edgecacheorigins$Setiampolicy; + {}) as Params$Resource$Projects$Locations$Authzextensions$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Edgecacheorigins$Setiampolicy; + params = {} as Params$Resource$Projects$Locations$Authzextensions$Patch; options = {}; } @@ -2567,165 +2856,111 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+resource}:setIamPolicy').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', apiVersion: '', }, options ), params, - requiredParams: ['resource'], - pathParams: ['resource'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Projects$Locations$Authzextensions$Create + extends StandardParameters { /** - * Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. + * Required. User-provided ID of the `AuthzExtension` resource to be created. */ - testIamPermissions( - params: Params$Resource$Projects$Locations$Edgecacheorigins$Testiampermissions, - options: StreamMethodOptions - ): GaxiosPromise; - testIamPermissions( - params?: Params$Resource$Projects$Locations$Edgecacheorigins$Testiampermissions, - options?: MethodOptions - ): GaxiosPromise; - testIamPermissions( - params: Params$Resource$Projects$Locations$Edgecacheorigins$Testiampermissions, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - testIamPermissions( - params: Params$Resource$Projects$Locations$Edgecacheorigins$Testiampermissions, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - testIamPermissions( - params: Params$Resource$Projects$Locations$Edgecacheorigins$Testiampermissions, - callback: BodyResponseCallback - ): void; - testIamPermissions( - callback: BodyResponseCallback - ): void; - testIamPermissions( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Edgecacheorigins$Testiampermissions - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Edgecacheorigins$Testiampermissions; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Edgecacheorigins$Testiampermissions; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } + authzExtensionId?: string; + /** + * Required. The parent resource of the `AuthzExtension` resource. Must be in the format `projects/{project\}/locations/{location\}`. + */ + parent?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; - const rootUrl = - options.rootUrl || 'https://networkservices.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1/{+resource}:testIamPermissions').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['resource'], - pathParams: ['resource'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } + /** + * Request body metadata + */ + requestBody?: Schema$AuthzExtension; } - - export interface Params$Resource$Projects$Locations$Edgecacheorigins$Getiampolicy + export interface Params$Resource$Projects$Locations$Authzextensions$Delete extends StandardParameters { /** - * Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + * Required. The name of the `AuthzExtension` resource to delete. Must be in the format `projects/{project\}/locations/{location\}/authzExtensions/{authz_extension\}`. */ - 'options.requestedPolicyVersion'?: number; + name?: string; /** - * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). */ - resource?: string; + requestId?: string; } - export interface Params$Resource$Projects$Locations$Edgecacheorigins$Setiampolicy + export interface Params$Resource$Projects$Locations$Authzextensions$Get extends StandardParameters { /** - * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * Required. A name of the `AuthzExtension` resource to get. Must be in the format `projects/{project\}/locations/{location\}/authzExtensions/{authz_extension\}`. */ - resource?: string; - + name?: string; + } + export interface Params$Resource$Projects$Locations$Authzextensions$List + extends StandardParameters { /** - * Request body metadata + * Optional. Filtering results. */ - requestBody?: Schema$SetIamPolicyRequest; + filter?: string; + /** + * Optional. Hint for how to order the results. + */ + orderBy?: string; + /** + * Optional. Requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results that the server returns. + */ + pageToken?: string; + /** + * Required. The project and location from which the `AuthzExtension` resources are listed, specified in the following format: `projects/{project\}/locations/{location\}`. + */ + parent?: string; } - export interface Params$Resource$Projects$Locations$Edgecacheorigins$Testiampermissions + export interface Params$Resource$Projects$Locations$Authzextensions$Patch extends StandardParameters { /** - * REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + * Required. Identifier. Name of the `AuthzExtension` resource in the following format: `projects/{project\}/locations/{location\}/authzExtensions/{authz_extension\}`. */ - resource?: string; + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Required. Used to specify the fields to be overwritten in the `AuthzExtension` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not specify a mask, then all fields are overwritten. + */ + updateMask?: string; /** * Request body metadata */ - requestBody?: Schema$TestIamPermissionsRequest; + requestBody?: Schema$AuthzExtension; } - export class Resource$Projects$Locations$Edgecacheservices { + export class Resource$Projects$Locations$Edgecachekeysets { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; @@ -2740,31 +2975,31 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ getIamPolicy( - params: Params$Resource$Projects$Locations$Edgecacheservices$Getiampolicy, + params: Params$Resource$Projects$Locations$Edgecachekeysets$Getiampolicy, options: StreamMethodOptions ): GaxiosPromise; getIamPolicy( - params?: Params$Resource$Projects$Locations$Edgecacheservices$Getiampolicy, + params?: Params$Resource$Projects$Locations$Edgecachekeysets$Getiampolicy, options?: MethodOptions ): GaxiosPromise; getIamPolicy( - params: Params$Resource$Projects$Locations$Edgecacheservices$Getiampolicy, + params: Params$Resource$Projects$Locations$Edgecachekeysets$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; getIamPolicy( - params: Params$Resource$Projects$Locations$Edgecacheservices$Getiampolicy, + params: Params$Resource$Projects$Locations$Edgecachekeysets$Getiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; getIamPolicy( - params: Params$Resource$Projects$Locations$Edgecacheservices$Getiampolicy, + params: Params$Resource$Projects$Locations$Edgecachekeysets$Getiampolicy, callback: BodyResponseCallback ): void; getIamPolicy(callback: BodyResponseCallback): void; getIamPolicy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Edgecacheservices$Getiampolicy + | Params$Resource$Projects$Locations$Edgecachekeysets$Getiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -2777,13 +3012,13 @@ export namespace networkservices_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Edgecacheservices$Getiampolicy; + {}) as Params$Resource$Projects$Locations$Edgecachekeysets$Getiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Edgecacheservices$Getiampolicy; + {} as Params$Resource$Projects$Locations$Edgecachekeysets$Getiampolicy; options = {}; } @@ -2830,31 +3065,31 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ setIamPolicy( - params: Params$Resource$Projects$Locations$Edgecacheservices$Setiampolicy, + params: Params$Resource$Projects$Locations$Edgecachekeysets$Setiampolicy, options: StreamMethodOptions ): GaxiosPromise; setIamPolicy( - params?: Params$Resource$Projects$Locations$Edgecacheservices$Setiampolicy, + params?: Params$Resource$Projects$Locations$Edgecachekeysets$Setiampolicy, options?: MethodOptions ): GaxiosPromise; setIamPolicy( - params: Params$Resource$Projects$Locations$Edgecacheservices$Setiampolicy, + params: Params$Resource$Projects$Locations$Edgecachekeysets$Setiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setIamPolicy( - params: Params$Resource$Projects$Locations$Edgecacheservices$Setiampolicy, + params: Params$Resource$Projects$Locations$Edgecachekeysets$Setiampolicy, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; setIamPolicy( - params: Params$Resource$Projects$Locations$Edgecacheservices$Setiampolicy, + params: Params$Resource$Projects$Locations$Edgecachekeysets$Setiampolicy, callback: BodyResponseCallback ): void; setIamPolicy(callback: BodyResponseCallback): void; setIamPolicy( paramsOrCallback?: - | Params$Resource$Projects$Locations$Edgecacheservices$Setiampolicy + | Params$Resource$Projects$Locations$Edgecachekeysets$Setiampolicy | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -2867,13 +3102,13 @@ export namespace networkservices_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Edgecacheservices$Setiampolicy; + {}) as Params$Resource$Projects$Locations$Edgecachekeysets$Setiampolicy; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Edgecacheservices$Setiampolicy; + {} as Params$Resource$Projects$Locations$Edgecachekeysets$Setiampolicy; options = {}; } @@ -2920,27 +3155,27 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ testIamPermissions( - params: Params$Resource$Projects$Locations$Edgecacheservices$Testiampermissions, + params: Params$Resource$Projects$Locations$Edgecachekeysets$Testiampermissions, options: StreamMethodOptions ): GaxiosPromise; testIamPermissions( - params?: Params$Resource$Projects$Locations$Edgecacheservices$Testiampermissions, + params?: Params$Resource$Projects$Locations$Edgecachekeysets$Testiampermissions, options?: MethodOptions ): GaxiosPromise; testIamPermissions( - params: Params$Resource$Projects$Locations$Edgecacheservices$Testiampermissions, + params: Params$Resource$Projects$Locations$Edgecachekeysets$Testiampermissions, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Projects$Locations$Edgecacheservices$Testiampermissions, + params: Params$Resource$Projects$Locations$Edgecachekeysets$Testiampermissions, options: | MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; testIamPermissions( - params: Params$Resource$Projects$Locations$Edgecacheservices$Testiampermissions, + params: Params$Resource$Projects$Locations$Edgecachekeysets$Testiampermissions, callback: BodyResponseCallback ): void; testIamPermissions( @@ -2948,7 +3183,7 @@ export namespace networkservices_v1 { ): void; testIamPermissions( paramsOrCallback?: - | Params$Resource$Projects$Locations$Edgecacheservices$Testiampermissions + | Params$Resource$Projects$Locations$Edgecachekeysets$Testiampermissions | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -2964,13 +3199,13 @@ export namespace networkservices_v1 { | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Edgecacheservices$Testiampermissions; + {}) as Params$Resource$Projects$Locations$Edgecachekeysets$Testiampermissions; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Edgecacheservices$Testiampermissions; + {} as Params$Resource$Projects$Locations$Edgecachekeysets$Testiampermissions; options = {}; } @@ -3009,7 +3244,7 @@ export namespace networkservices_v1 { } } - export interface Params$Resource$Projects$Locations$Edgecacheservices$Getiampolicy + export interface Params$Resource$Projects$Locations$Edgecachekeysets$Getiampolicy extends StandardParameters { /** * Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). @@ -3020,7 +3255,7 @@ export namespace networkservices_v1 { */ resource?: string; } - export interface Params$Resource$Projects$Locations$Edgecacheservices$Setiampolicy + export interface Params$Resource$Projects$Locations$Edgecachekeysets$Setiampolicy extends StandardParameters { /** * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. @@ -3032,7 +3267,7 @@ export namespace networkservices_v1 { */ requestBody?: Schema$SetIamPolicyRequest; } - export interface Params$Resource$Projects$Locations$Edgecacheservices$Testiampermissions + export interface Params$Resource$Projects$Locations$Edgecachekeysets$Testiampermissions extends StandardParameters { /** * REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. @@ -3045,46 +3280,1933 @@ export namespace networkservices_v1 { requestBody?: Schema$TestIamPermissionsRequest; } - export class Resource$Projects$Locations$Endpointpolicies { + export class Resource$Projects$Locations$Edgecacheorigins { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Creates a new EndpointPolicy in a given project and location. + * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - create( - params: Params$Resource$Projects$Locations$Endpointpolicies$Create, + getIamPolicy( + params: Params$Resource$Projects$Locations$Edgecacheorigins$Getiampolicy, options: StreamMethodOptions ): GaxiosPromise; - create( - params?: Params$Resource$Projects$Locations$Endpointpolicies$Create, + getIamPolicy( + params?: Params$Resource$Projects$Locations$Edgecacheorigins$Getiampolicy, options?: MethodOptions - ): GaxiosPromise; - create( - params: Params$Resource$Projects$Locations$Endpointpolicies$Create, + ): GaxiosPromise; + getIamPolicy( + params: Params$Resource$Projects$Locations$Edgecacheorigins$Getiampolicy, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Endpointpolicies$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + getIamPolicy( + params: Params$Resource$Projects$Locations$Edgecacheorigins$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( + getIamPolicy( + params: Params$Resource$Projects$Locations$Edgecacheorigins$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Edgecacheorigins$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Edgecacheorigins$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Edgecacheorigins$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setIamPolicy( + params: Params$Resource$Projects$Locations$Edgecacheorigins$Setiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + setIamPolicy( + params?: Params$Resource$Projects$Locations$Edgecacheorigins$Setiampolicy, + options?: MethodOptions + ): GaxiosPromise; + setIamPolicy( + params: Params$Resource$Projects$Locations$Edgecacheorigins$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Edgecacheorigins$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Edgecacheorigins$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Edgecacheorigins$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Edgecacheorigins$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Edgecacheorigins$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:setIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + testIamPermissions( + params: Params$Resource$Projects$Locations$Edgecacheorigins$Testiampermissions, + options: StreamMethodOptions + ): GaxiosPromise; + testIamPermissions( + params?: Params$Resource$Projects$Locations$Edgecacheorigins$Testiampermissions, + options?: MethodOptions + ): GaxiosPromise; + testIamPermissions( + params: Params$Resource$Projects$Locations$Edgecacheorigins$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Edgecacheorigins$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Edgecacheorigins$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Edgecacheorigins$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Edgecacheorigins$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Edgecacheorigins$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:testIamPermissions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Edgecacheorigins$Getiampolicy + extends StandardParameters { + /** + * Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + */ + 'options.requestedPolicyVersion'?: number; + /** + * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + } + export interface Params$Resource$Projects$Locations$Edgecacheorigins$Setiampolicy + extends StandardParameters { + /** + * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + export interface Params$Resource$Projects$Locations$Edgecacheorigins$Testiampermissions + extends StandardParameters { + /** + * REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + + export class Resource$Projects$Locations$Edgecacheservices { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + getIamPolicy( + params: Params$Resource$Projects$Locations$Edgecacheservices$Getiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + getIamPolicy( + params?: Params$Resource$Projects$Locations$Edgecacheservices$Getiampolicy, + options?: MethodOptions + ): GaxiosPromise; + getIamPolicy( + params: Params$Resource$Projects$Locations$Edgecacheservices$Getiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Edgecacheservices$Getiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + getIamPolicy( + params: Params$Resource$Projects$Locations$Edgecacheservices$Getiampolicy, + callback: BodyResponseCallback + ): void; + getIamPolicy(callback: BodyResponseCallback): void; + getIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Edgecacheservices$Getiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Edgecacheservices$Getiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Edgecacheservices$Getiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:getIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + setIamPolicy( + params: Params$Resource$Projects$Locations$Edgecacheservices$Setiampolicy, + options: StreamMethodOptions + ): GaxiosPromise; + setIamPolicy( + params?: Params$Resource$Projects$Locations$Edgecacheservices$Setiampolicy, + options?: MethodOptions + ): GaxiosPromise; + setIamPolicy( + params: Params$Resource$Projects$Locations$Edgecacheservices$Setiampolicy, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Edgecacheservices$Setiampolicy, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + setIamPolicy( + params: Params$Resource$Projects$Locations$Edgecacheservices$Setiampolicy, + callback: BodyResponseCallback + ): void; + setIamPolicy(callback: BodyResponseCallback): void; + setIamPolicy( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Edgecacheservices$Setiampolicy + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Edgecacheservices$Setiampolicy; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Edgecacheservices$Setiampolicy; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:setIamPolicy').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + testIamPermissions( + params: Params$Resource$Projects$Locations$Edgecacheservices$Testiampermissions, + options: StreamMethodOptions + ): GaxiosPromise; + testIamPermissions( + params?: Params$Resource$Projects$Locations$Edgecacheservices$Testiampermissions, + options?: MethodOptions + ): GaxiosPromise; + testIamPermissions( + params: Params$Resource$Projects$Locations$Edgecacheservices$Testiampermissions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Edgecacheservices$Testiampermissions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + testIamPermissions( + params: Params$Resource$Projects$Locations$Edgecacheservices$Testiampermissions, + callback: BodyResponseCallback + ): void; + testIamPermissions( + callback: BodyResponseCallback + ): void; + testIamPermissions( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Edgecacheservices$Testiampermissions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Edgecacheservices$Testiampermissions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Edgecacheservices$Testiampermissions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+resource}:testIamPermissions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['resource'], + pathParams: ['resource'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Edgecacheservices$Getiampolicy + extends StandardParameters { + /** + * Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid value will be rejected. Requests for policies with any conditional role bindings must specify version 3. Policies with no conditional role bindings may specify any valid value or leave the field unset. The policy in the response might use the policy version that you specified, or it might use a lower policy version. For example, if you specify version 3, but the policy has no conditional role bindings, the response uses version 1. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). + */ + 'options.requestedPolicyVersion'?: number; + /** + * REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + } + export interface Params$Resource$Projects$Locations$Edgecacheservices$Setiampolicy + extends StandardParameters { + /** + * REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$SetIamPolicyRequest; + } + export interface Params$Resource$Projects$Locations$Edgecacheservices$Testiampermissions + extends StandardParameters { + /** + * REQUIRED: The resource for which the policy detail is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. + */ + resource?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TestIamPermissionsRequest; + } + + export class Resource$Projects$Locations$Endpointpolicies { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new EndpointPolicy in a given project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Endpointpolicies$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Endpointpolicies$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Endpointpolicies$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Endpointpolicies$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( params: Params$Resource$Projects$Locations$Endpointpolicies$Create, callback: BodyResponseCallback ): void; create(callback: BodyResponseCallback): void; create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Endpointpolicies$Create + | Params$Resource$Projects$Locations$Endpointpolicies$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Endpointpolicies$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Endpointpolicies$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/endpointPolicies').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a single EndpointPolicy. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Endpointpolicies$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Endpointpolicies$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Endpointpolicies$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Endpointpolicies$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Endpointpolicies$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Endpointpolicies$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Endpointpolicies$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Endpointpolicies$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of a single EndpointPolicy. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Endpointpolicies$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Endpointpolicies$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Endpointpolicies$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Endpointpolicies$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Endpointpolicies$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Endpointpolicies$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Endpointpolicies$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Endpointpolicies$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists EndpointPolicies in a given project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Endpointpolicies$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Endpointpolicies$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Endpointpolicies$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Endpointpolicies$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Endpointpolicies$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Endpointpolicies$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Endpointpolicies$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Endpointpolicies$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/endpointPolicies').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates the parameters of a single EndpointPolicy. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Endpointpolicies$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Endpointpolicies$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Endpointpolicies$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Endpointpolicies$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Endpointpolicies$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Endpointpolicies$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Endpointpolicies$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Endpointpolicies$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Endpointpolicies$Create + extends StandardParameters { + /** + * Required. Short name of the EndpointPolicy resource to be created. E.g. "CustomECS". + */ + endpointPolicyId?: string; + /** + * Required. The parent resource of the EndpointPolicy. Must be in the format `projects/x/locations/global`. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$EndpointPolicy; + } + export interface Params$Resource$Projects$Locations$Endpointpolicies$Delete + extends StandardParameters { + /** + * Required. A name of the EndpointPolicy to delete. Must be in the format `projects/x/locations/global/endpointPolicies/x`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Endpointpolicies$Get + extends StandardParameters { + /** + * Required. A name of the EndpointPolicy to get. Must be in the format `projects/x/locations/global/endpointPolicies/x`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Endpointpolicies$List + extends StandardParameters { + /** + * Maximum number of EndpointPolicies to return per call. + */ + pageSize?: number; + /** + * The value returned by the last `ListEndpointPoliciesResponse` Indicates that this is a continuation of a prior `ListEndpointPolicies` call, and that the system should return the next page of data. + */ + pageToken?: string; + /** + * Required. The project and location from which the EndpointPolicies should be listed, specified in the format `projects/x/locations/global`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Endpointpolicies$Patch + extends StandardParameters { + /** + * Identifier. Name of the EndpointPolicy resource. It matches pattern `projects/{project\}/locations/global/endpointPolicies/{endpoint_policy\}`. + */ + name?: string; + /** + * Optional. Field mask is used to specify the fields to be overwritten in the EndpointPolicy resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$EndpointPolicy; + } + + export class Resource$Projects$Locations$Gateways { + context: APIRequestContext; + routeViews: Resource$Projects$Locations$Gateways$Routeviews; + constructor(context: APIRequestContext) { + this.context = context; + this.routeViews = new Resource$Projects$Locations$Gateways$Routeviews( + this.context + ); + } + + /** + * Creates a new Gateway in a given project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Gateways$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Gateways$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Gateways$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Gateways$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Gateways$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Gateways$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Gateways$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Gateways$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/gateways').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a single Gateway. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Gateways$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Gateways$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Gateways$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Gateways$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Gateways$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Gateways$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Gateways$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Gateways$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of a single Gateway. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Gateways$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Gateways$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Gateways$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Gateways$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Gateways$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Gateways$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Gateways$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Gateways$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists Gateways in a given project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Gateways$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Gateways$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Gateways$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Gateways$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Gateways$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Gateways$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Gateways$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Gateways$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/gateways').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the parameters of a single Gateway. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Gateways$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Gateways$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Gateways$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Gateways$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Gateways$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Gateways$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Gateways$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Gateways$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Gateways$Create + extends StandardParameters { + /** + * Required. Short name of the Gateway resource to be created. + */ + gatewayId?: string; + /** + * Required. The parent resource of the Gateway. Must be in the format `projects/x/locations/x`. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Gateway; + } + export interface Params$Resource$Projects$Locations$Gateways$Delete + extends StandardParameters { + /** + * Required. A name of the Gateway to delete. Must be in the format `projects/x/locations/x/gateways/x`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Gateways$Get + extends StandardParameters { + /** + * Required. A name of the Gateway to get. Must be in the format `projects/x/locations/x/gateways/x`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Gateways$List + extends StandardParameters { + /** + * Maximum number of Gateways to return per call. + */ + pageSize?: number; + /** + * The value returned by the last `ListGatewaysResponse` Indicates that this is a continuation of a prior `ListGateways` call, and that the system should return the next page of data. + */ + pageToken?: string; + /** + * Required. The project and location from which the Gateways should be listed, specified in the format `projects/x/locations/x`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Gateways$Patch + extends StandardParameters { + /** + * Identifier. Name of the Gateway resource. It matches pattern `projects/x/locations/x/gateways/`. + */ + name?: string; + /** + * Optional. Field mask is used to specify the fields to be overwritten in the Gateway resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Gateway; + } + + export class Resource$Projects$Locations$Gateways$Routeviews { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Get a single RouteView of a Gateway. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Gateways$Routeviews$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Gateways$Routeviews$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Gateways$Routeviews$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Gateways$Routeviews$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Gateways$Routeviews$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Gateways$Routeviews$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Gateways$Routeviews$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Gateways$Routeviews$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists RouteViews + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Gateways$Routeviews$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Gateways$Routeviews$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Gateways$Routeviews$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Gateways$Routeviews$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Gateways$Routeviews$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Gateways$Routeviews$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Gateways$Routeviews$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Gateways$Routeviews$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/routeViews').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Gateways$Routeviews$Get + extends StandardParameters { + /** + * Required. Name of the GatewayRouteView resource. Formats: projects/{project_number\}/locations/{location\}/gateways/{gateway_name\}/routeViews/{route_view_name\} + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Gateways$Routeviews$List + extends StandardParameters { + /** + * Maximum number of GatewayRouteViews to return per call. + */ + pageSize?: number; + /** + * The value returned by the last `ListGatewayRouteViewsResponse` Indicates that this is a continuation of a prior `ListGatewayRouteViews` call, and that the system should return the next page of data. + */ + pageToken?: string; + /** + * Required. The Gateway to which a Route is associated. Formats: projects/{project_number\}/locations/{location\}/gateways/{gateway_name\} + */ + parent?: string; + } + + export class Resource$Projects$Locations$Grpcroutes { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new GrpcRoute in a given project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Grpcroutes$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Grpcroutes$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Grpcroutes$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Grpcroutes$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Grpcroutes$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Grpcroutes$Create | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -3097,13 +5219,12 @@ export namespace networkservices_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Endpointpolicies$Create; + {}) as Params$Resource$Projects$Locations$Grpcroutes$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Endpointpolicies$Create; + params = {} as Params$Resource$Projects$Locations$Grpcroutes$Create; options = {}; } @@ -3117,7 +5238,7 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/endpointPolicies').replace( + url: (rootUrl + '/v1/{+parent}/grpcRoutes').replace( /([^:]\/)\/+/g, '$1' ), @@ -3142,7 +5263,7 @@ export namespace networkservices_v1 { } /** - * Deletes a single EndpointPolicy. + * Deletes a single GrpcRoute. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3150,31 +5271,31 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Projects$Locations$Endpointpolicies$Delete, + params: Params$Resource$Projects$Locations$Grpcroutes$Delete, options: StreamMethodOptions ): GaxiosPromise; delete( - params?: Params$Resource$Projects$Locations$Endpointpolicies$Delete, + params?: Params$Resource$Projects$Locations$Grpcroutes$Delete, options?: MethodOptions ): GaxiosPromise; delete( - params: Params$Resource$Projects$Locations$Endpointpolicies$Delete, + params: Params$Resource$Projects$Locations$Grpcroutes$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Endpointpolicies$Delete, + params: Params$Resource$Projects$Locations$Grpcroutes$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Endpointpolicies$Delete, + params: Params$Resource$Projects$Locations$Grpcroutes$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Endpointpolicies$Delete + | Params$Resource$Projects$Locations$Grpcroutes$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -3187,13 +5308,12 @@ export namespace networkservices_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Endpointpolicies$Delete; + {}) as Params$Resource$Projects$Locations$Grpcroutes$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Endpointpolicies$Delete; + params = {} as Params$Resource$Projects$Locations$Grpcroutes$Delete; options = {}; } @@ -3229,7 +5349,7 @@ export namespace networkservices_v1 { } /** - * Gets details of a single EndpointPolicy. + * Gets details of a single GrpcRoute. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3237,49 +5357,49 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Projects$Locations$Endpointpolicies$Get, + params: Params$Resource$Projects$Locations$Grpcroutes$Get, options: StreamMethodOptions ): GaxiosPromise; get( - params?: Params$Resource$Projects$Locations$Endpointpolicies$Get, + params?: Params$Resource$Projects$Locations$Grpcroutes$Get, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; get( - params: Params$Resource$Projects$Locations$Endpointpolicies$Get, + params: Params$Resource$Projects$Locations$Grpcroutes$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Endpointpolicies$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Grpcroutes$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Endpointpolicies$Get, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Grpcroutes$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Endpointpolicies$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Grpcroutes$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Endpointpolicies$Get; + {}) as Params$Resource$Projects$Locations$Grpcroutes$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Endpointpolicies$Get; + params = {} as Params$Resource$Projects$Locations$Grpcroutes$Get; options = {}; } @@ -3305,17 +5425,17 @@ export namespace networkservices_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists EndpointPolicies in a given project and location. + * Lists GrpcRoutes in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3323,56 +5443,54 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Projects$Locations$Endpointpolicies$List, + params: Params$Resource$Projects$Locations$Grpcroutes$List, options: StreamMethodOptions ): GaxiosPromise; list( - params?: Params$Resource$Projects$Locations$Endpointpolicies$List, + params?: Params$Resource$Projects$Locations$Grpcroutes$List, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; list( - params: Params$Resource$Projects$Locations$Endpointpolicies$List, + params: Params$Resource$Projects$Locations$Grpcroutes$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Endpointpolicies$List, + params: Params$Resource$Projects$Locations$Grpcroutes$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Projects$Locations$Endpointpolicies$List, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Grpcroutes$List, + callback: BodyResponseCallback ): void; + list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Endpointpolicies$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Grpcroutes$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Endpointpolicies$List; + {}) as Params$Resource$Projects$Locations$Grpcroutes$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Endpointpolicies$List; + params = {} as Params$Resource$Projects$Locations$Grpcroutes$List; options = {}; } @@ -3386,7 +5504,7 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/endpointPolicies').replace( + url: (rootUrl + '/v1/{+parent}/grpcRoutes').replace( /([^:]\/)\/+/g, '$1' ), @@ -3401,19 +5519,17 @@ export namespace networkservices_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Updates the parameters of a single EndpointPolicy. + * Updates the parameters of a single GrpcRoute. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3421,31 +5537,31 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ patch( - params: Params$Resource$Projects$Locations$Endpointpolicies$Patch, + params: Params$Resource$Projects$Locations$Grpcroutes$Patch, options: StreamMethodOptions ): GaxiosPromise; patch( - params?: Params$Resource$Projects$Locations$Endpointpolicies$Patch, + params?: Params$Resource$Projects$Locations$Grpcroutes$Patch, options?: MethodOptions ): GaxiosPromise; patch( - params: Params$Resource$Projects$Locations$Endpointpolicies$Patch, + params: Params$Resource$Projects$Locations$Grpcroutes$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Projects$Locations$Endpointpolicies$Patch, + params: Params$Resource$Projects$Locations$Grpcroutes$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Projects$Locations$Endpointpolicies$Patch, + params: Params$Resource$Projects$Locations$Grpcroutes$Patch, callback: BodyResponseCallback ): void; patch(callback: BodyResponseCallback): void; patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Endpointpolicies$Patch + | Params$Resource$Projects$Locations$Grpcroutes$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -3458,13 +5574,12 @@ export namespace networkservices_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Endpointpolicies$Patch; + {}) as Params$Resource$Projects$Locations$Grpcroutes$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Endpointpolicies$Patch; + params = {} as Params$Resource$Projects$Locations$Grpcroutes$Patch; options = {}; } @@ -3500,76 +5615,76 @@ export namespace networkservices_v1 { } } - export interface Params$Resource$Projects$Locations$Endpointpolicies$Create + export interface Params$Resource$Projects$Locations$Grpcroutes$Create extends StandardParameters { /** - * Required. Short name of the EndpointPolicy resource to be created. E.g. "CustomECS". + * Required. Short name of the GrpcRoute resource to be created. */ - endpointPolicyId?: string; + grpcRouteId?: string; /** - * Required. The parent resource of the EndpointPolicy. Must be in the format `projects/x/locations/global`. + * Required. The parent resource of the GrpcRoute. Must be in the format `projects/x/locations/global`. */ parent?: string; /** * Request body metadata */ - requestBody?: Schema$EndpointPolicy; + requestBody?: Schema$GrpcRoute; } - export interface Params$Resource$Projects$Locations$Endpointpolicies$Delete + export interface Params$Resource$Projects$Locations$Grpcroutes$Delete extends StandardParameters { /** - * Required. A name of the EndpointPolicy to delete. Must be in the format `projects/x/locations/global/endpointPolicies/x`. + * Required. A name of the GrpcRoute to delete. Must be in the format `projects/x/locations/global/grpcRoutes/x`. */ name?: string; } - export interface Params$Resource$Projects$Locations$Endpointpolicies$Get + export interface Params$Resource$Projects$Locations$Grpcroutes$Get extends StandardParameters { /** - * Required. A name of the EndpointPolicy to get. Must be in the format `projects/x/locations/global/endpointPolicies/x`. + * Required. A name of the GrpcRoute to get. Must be in the format `projects/x/locations/global/grpcRoutes/x`. */ name?: string; } - export interface Params$Resource$Projects$Locations$Endpointpolicies$List + export interface Params$Resource$Projects$Locations$Grpcroutes$List extends StandardParameters { /** - * Maximum number of EndpointPolicies to return per call. + * Maximum number of GrpcRoutes to return per call. */ pageSize?: number; /** - * The value returned by the last `ListEndpointPoliciesResponse` Indicates that this is a continuation of a prior `ListEndpointPolicies` call, and that the system should return the next page of data. + * The value returned by the last `ListGrpcRoutesResponse` Indicates that this is a continuation of a prior `ListGrpcRoutes` call, and that the system should return the next page of data. */ pageToken?: string; /** - * Required. The project and location from which the EndpointPolicies should be listed, specified in the format `projects/x/locations/global`. + * Required. The project and location from which the GrpcRoutes should be listed, specified in the format `projects/x/locations/global`. */ parent?: string; } - export interface Params$Resource$Projects$Locations$Endpointpolicies$Patch + export interface Params$Resource$Projects$Locations$Grpcroutes$Patch extends StandardParameters { /** - * Identifier. Name of the EndpointPolicy resource. It matches pattern `projects/{project\}/locations/global/endpointPolicies/{endpoint_policy\}`. + * Identifier. Name of the GrpcRoute resource. It matches pattern `projects/x/locations/global/grpcRoutes/` */ name?: string; /** - * Optional. Field mask is used to specify the fields to be overwritten in the EndpointPolicy resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + * Optional. Field mask is used to specify the fields to be overwritten in the GrpcRoute resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. */ updateMask?: string; /** * Request body metadata */ - requestBody?: Schema$EndpointPolicy; + requestBody?: Schema$GrpcRoute; } - export class Resource$Projects$Locations$Gateways { + export class Resource$Projects$Locations$Httproutes { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Creates a new Gateway in a given project and location. + * Creates a new HttpRoute in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3577,31 +5692,31 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ create( - params: Params$Resource$Projects$Locations$Gateways$Create, + params: Params$Resource$Projects$Locations$Httproutes$Create, options: StreamMethodOptions ): GaxiosPromise; create( - params?: Params$Resource$Projects$Locations$Gateways$Create, + params?: Params$Resource$Projects$Locations$Httproutes$Create, options?: MethodOptions ): GaxiosPromise; create( - params: Params$Resource$Projects$Locations$Gateways$Create, + params: Params$Resource$Projects$Locations$Httproutes$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Gateways$Create, + params: Params$Resource$Projects$Locations$Httproutes$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Gateways$Create, + params: Params$Resource$Projects$Locations$Httproutes$Create, callback: BodyResponseCallback ): void; create(callback: BodyResponseCallback): void; create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Gateways$Create + | Params$Resource$Projects$Locations$Httproutes$Create | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -3614,12 +5729,12 @@ export namespace networkservices_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Gateways$Create; + {}) as Params$Resource$Projects$Locations$Httproutes$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Gateways$Create; + params = {} as Params$Resource$Projects$Locations$Httproutes$Create; options = {}; } @@ -3633,7 +5748,7 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/gateways').replace( + url: (rootUrl + '/v1/{+parent}/httpRoutes').replace( /([^:]\/)\/+/g, '$1' ), @@ -3658,7 +5773,7 @@ export namespace networkservices_v1 { } /** - * Deletes a single Gateway. + * Deletes a single HttpRoute. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3666,31 +5781,31 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Projects$Locations$Gateways$Delete, + params: Params$Resource$Projects$Locations$Httproutes$Delete, options: StreamMethodOptions ): GaxiosPromise; delete( - params?: Params$Resource$Projects$Locations$Gateways$Delete, + params?: Params$Resource$Projects$Locations$Httproutes$Delete, options?: MethodOptions ): GaxiosPromise; delete( - params: Params$Resource$Projects$Locations$Gateways$Delete, + params: Params$Resource$Projects$Locations$Httproutes$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Gateways$Delete, + params: Params$Resource$Projects$Locations$Httproutes$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Gateways$Delete, + params: Params$Resource$Projects$Locations$Httproutes$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Gateways$Delete + | Params$Resource$Projects$Locations$Httproutes$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -3703,12 +5818,12 @@ export namespace networkservices_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Gateways$Delete; + {}) as Params$Resource$Projects$Locations$Httproutes$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Gateways$Delete; + params = {} as Params$Resource$Projects$Locations$Httproutes$Delete; options = {}; } @@ -3744,7 +5859,7 @@ export namespace networkservices_v1 { } /** - * Gets details of a single Gateway. + * Gets details of a single HttpRoute. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3752,49 +5867,49 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Projects$Locations$Gateways$Get, + params: Params$Resource$Projects$Locations$Httproutes$Get, options: StreamMethodOptions ): GaxiosPromise; get( - params?: Params$Resource$Projects$Locations$Gateways$Get, + params?: Params$Resource$Projects$Locations$Httproutes$Get, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; get( - params: Params$Resource$Projects$Locations$Gateways$Get, + params: Params$Resource$Projects$Locations$Httproutes$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Gateways$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Httproutes$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Gateways$Get, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Httproutes$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Gateways$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Httproutes$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Gateways$Get; + {}) as Params$Resource$Projects$Locations$Httproutes$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Gateways$Get; + params = {} as Params$Resource$Projects$Locations$Httproutes$Get; options = {}; } @@ -3820,17 +5935,17 @@ export namespace networkservices_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists Gateways in a given project and location. + * Lists HttpRoute in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3838,54 +5953,54 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Projects$Locations$Gateways$List, + params: Params$Resource$Projects$Locations$Httproutes$List, options: StreamMethodOptions ): GaxiosPromise; list( - params?: Params$Resource$Projects$Locations$Gateways$List, + params?: Params$Resource$Projects$Locations$Httproutes$List, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; list( - params: Params$Resource$Projects$Locations$Gateways$List, + params: Params$Resource$Projects$Locations$Httproutes$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Gateways$List, + params: Params$Resource$Projects$Locations$Httproutes$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Gateways$List, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Httproutes$List, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; list( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Gateways$List - | BodyResponseCallback + paramsOrCallback?: + | Params$Resource$Projects$Locations$Httproutes$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Gateways$List; + {}) as Params$Resource$Projects$Locations$Httproutes$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Gateways$List; + params = {} as Params$Resource$Projects$Locations$Httproutes$List; options = {}; } @@ -3899,7 +6014,7 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/gateways').replace( + url: (rootUrl + '/v1/{+parent}/httpRoutes').replace( /([^:]\/)\/+/g, '$1' ), @@ -3914,17 +6029,17 @@ export namespace networkservices_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates the parameters of a single Gateway. + * Updates the parameters of a single HttpRoute. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3932,31 +6047,31 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ patch( - params: Params$Resource$Projects$Locations$Gateways$Patch, + params: Params$Resource$Projects$Locations$Httproutes$Patch, options: StreamMethodOptions ): GaxiosPromise; patch( - params?: Params$Resource$Projects$Locations$Gateways$Patch, + params?: Params$Resource$Projects$Locations$Httproutes$Patch, options?: MethodOptions ): GaxiosPromise; patch( - params: Params$Resource$Projects$Locations$Gateways$Patch, + params: Params$Resource$Projects$Locations$Httproutes$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Projects$Locations$Gateways$Patch, + params: Params$Resource$Projects$Locations$Httproutes$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Projects$Locations$Gateways$Patch, + params: Params$Resource$Projects$Locations$Httproutes$Patch, callback: BodyResponseCallback ): void; patch(callback: BodyResponseCallback): void; patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Gateways$Patch + | Params$Resource$Projects$Locations$Httproutes$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -3969,12 +6084,12 @@ export namespace networkservices_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Gateways$Patch; + {}) as Params$Resource$Projects$Locations$Httproutes$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Gateways$Patch; + params = {} as Params$Resource$Projects$Locations$Httproutes$Patch; options = {}; } @@ -4010,76 +6125,76 @@ export namespace networkservices_v1 { } } - export interface Params$Resource$Projects$Locations$Gateways$Create + export interface Params$Resource$Projects$Locations$Httproutes$Create extends StandardParameters { /** - * Required. Short name of the Gateway resource to be created. + * Required. Short name of the HttpRoute resource to be created. */ - gatewayId?: string; + httpRouteId?: string; /** - * Required. The parent resource of the Gateway. Must be in the format `projects/x/locations/x`. + * Required. The parent resource of the HttpRoute. Must be in the format `projects/x/locations/global`. */ parent?: string; /** * Request body metadata */ - requestBody?: Schema$Gateway; + requestBody?: Schema$HttpRoute; } - export interface Params$Resource$Projects$Locations$Gateways$Delete + export interface Params$Resource$Projects$Locations$Httproutes$Delete extends StandardParameters { /** - * Required. A name of the Gateway to delete. Must be in the format `projects/x/locations/x/gateways/x`. + * Required. A name of the HttpRoute to delete. Must be in the format `projects/x/locations/global/httpRoutes/x`. */ name?: string; } - export interface Params$Resource$Projects$Locations$Gateways$Get + export interface Params$Resource$Projects$Locations$Httproutes$Get extends StandardParameters { /** - * Required. A name of the Gateway to get. Must be in the format `projects/x/locations/x/gateways/x`. + * Required. A name of the HttpRoute to get. Must be in the format `projects/x/locations/global/httpRoutes/x`. */ name?: string; } - export interface Params$Resource$Projects$Locations$Gateways$List + export interface Params$Resource$Projects$Locations$Httproutes$List extends StandardParameters { /** - * Maximum number of Gateways to return per call. + * Maximum number of HttpRoutes to return per call. */ pageSize?: number; /** - * The value returned by the last `ListGatewaysResponse` Indicates that this is a continuation of a prior `ListGateways` call, and that the system should return the next page of data. + * The value returned by the last `ListHttpRoutesResponse` Indicates that this is a continuation of a prior `ListHttpRoutes` call, and that the system should return the next page of data. */ pageToken?: string; /** - * Required. The project and location from which the Gateways should be listed, specified in the format `projects/x/locations/x`. + * Required. The project and location from which the HttpRoutes should be listed, specified in the format `projects/x/locations/global`. */ parent?: string; } - export interface Params$Resource$Projects$Locations$Gateways$Patch + export interface Params$Resource$Projects$Locations$Httproutes$Patch extends StandardParameters { /** - * Identifier. Name of the Gateway resource. It matches pattern `projects/x/locations/x/gateways/`. + * Identifier. Name of the HttpRoute resource. It matches pattern `projects/x/locations/global/httpRoutes/http_route_name\>`. */ name?: string; /** - * Optional. Field mask is used to specify the fields to be overwritten in the Gateway resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + * Optional. Field mask is used to specify the fields to be overwritten in the HttpRoute resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. */ updateMask?: string; /** * Request body metadata */ - requestBody?: Schema$Gateway; + requestBody?: Schema$HttpRoute; } - export class Resource$Projects$Locations$Grpcroutes { + export class Resource$Projects$Locations$Lbrouteextensions { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Creates a new GrpcRoute in a given project and location. + * Creates a new `LbRouteExtension` resource in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -4087,31 +6202,31 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ create( - params: Params$Resource$Projects$Locations$Grpcroutes$Create, + params: Params$Resource$Projects$Locations$Lbrouteextensions$Create, options: StreamMethodOptions ): GaxiosPromise; create( - params?: Params$Resource$Projects$Locations$Grpcroutes$Create, + params?: Params$Resource$Projects$Locations$Lbrouteextensions$Create, options?: MethodOptions ): GaxiosPromise; create( - params: Params$Resource$Projects$Locations$Grpcroutes$Create, + params: Params$Resource$Projects$Locations$Lbrouteextensions$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Grpcroutes$Create, + params: Params$Resource$Projects$Locations$Lbrouteextensions$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Grpcroutes$Create, + params: Params$Resource$Projects$Locations$Lbrouteextensions$Create, callback: BodyResponseCallback ): void; create(callback: BodyResponseCallback): void; create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Grpcroutes$Create + | Params$Resource$Projects$Locations$Lbrouteextensions$Create | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -4124,12 +6239,13 @@ export namespace networkservices_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Grpcroutes$Create; + {}) as Params$Resource$Projects$Locations$Lbrouteextensions$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Grpcroutes$Create; + params = + {} as Params$Resource$Projects$Locations$Lbrouteextensions$Create; options = {}; } @@ -4143,7 +6259,7 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/grpcRoutes').replace( + url: (rootUrl + '/v1/{+parent}/lbRouteExtensions').replace( /([^:]\/)\/+/g, '$1' ), @@ -4168,7 +6284,7 @@ export namespace networkservices_v1 { } /** - * Deletes a single GrpcRoute. + * Deletes the specified `LbRouteExtension` resource. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -4176,31 +6292,31 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Projects$Locations$Grpcroutes$Delete, + params: Params$Resource$Projects$Locations$Lbrouteextensions$Delete, options: StreamMethodOptions ): GaxiosPromise; delete( - params?: Params$Resource$Projects$Locations$Grpcroutes$Delete, + params?: Params$Resource$Projects$Locations$Lbrouteextensions$Delete, options?: MethodOptions ): GaxiosPromise; delete( - params: Params$Resource$Projects$Locations$Grpcroutes$Delete, + params: Params$Resource$Projects$Locations$Lbrouteextensions$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Grpcroutes$Delete, + params: Params$Resource$Projects$Locations$Lbrouteextensions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Grpcroutes$Delete, + params: Params$Resource$Projects$Locations$Lbrouteextensions$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Grpcroutes$Delete + | Params$Resource$Projects$Locations$Lbrouteextensions$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -4213,12 +6329,13 @@ export namespace networkservices_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Grpcroutes$Delete; + {}) as Params$Resource$Projects$Locations$Lbrouteextensions$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Grpcroutes$Delete; + params = + {} as Params$Resource$Projects$Locations$Lbrouteextensions$Delete; options = {}; } @@ -4254,7 +6371,7 @@ export namespace networkservices_v1 { } /** - * Gets details of a single GrpcRoute. + * Gets details of the specified `LbRouteExtension` resource. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -4262,49 +6379,49 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Projects$Locations$Grpcroutes$Get, + params: Params$Resource$Projects$Locations$Lbrouteextensions$Get, options: StreamMethodOptions ): GaxiosPromise; get( - params?: Params$Resource$Projects$Locations$Grpcroutes$Get, + params?: Params$Resource$Projects$Locations$Lbrouteextensions$Get, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; get( - params: Params$Resource$Projects$Locations$Grpcroutes$Get, + params: Params$Resource$Projects$Locations$Lbrouteextensions$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Grpcroutes$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Lbrouteextensions$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Grpcroutes$Get, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Lbrouteextensions$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Grpcroutes$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Lbrouteextensions$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Grpcroutes$Get; + {}) as Params$Resource$Projects$Locations$Lbrouteextensions$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Grpcroutes$Get; + params = {} as Params$Resource$Projects$Locations$Lbrouteextensions$Get; options = {}; } @@ -4330,17 +6447,17 @@ export namespace networkservices_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists GrpcRoutes in a given project and location. + * Lists `LbRouteExtension` resources in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -4348,54 +6465,57 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Projects$Locations$Grpcroutes$List, + params: Params$Resource$Projects$Locations$Lbrouteextensions$List, options: StreamMethodOptions ): GaxiosPromise; list( - params?: Params$Resource$Projects$Locations$Grpcroutes$List, + params?: Params$Resource$Projects$Locations$Lbrouteextensions$List, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; list( - params: Params$Resource$Projects$Locations$Grpcroutes$List, + params: Params$Resource$Projects$Locations$Lbrouteextensions$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Grpcroutes$List, + params: Params$Resource$Projects$Locations$Lbrouteextensions$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Grpcroutes$List, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Lbrouteextensions$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Grpcroutes$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Lbrouteextensions$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Grpcroutes$List; + {}) as Params$Resource$Projects$Locations$Lbrouteextensions$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Grpcroutes$List; + params = + {} as Params$Resource$Projects$Locations$Lbrouteextensions$List; options = {}; } @@ -4409,7 +6529,7 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/grpcRoutes').replace( + url: (rootUrl + '/v1/{+parent}/lbRouteExtensions').replace( /([^:]\/)\/+/g, '$1' ), @@ -4424,17 +6544,19 @@ export namespace networkservices_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Updates the parameters of a single GrpcRoute. + * Updates the parameters of the specified `LbRouteExtension` resource. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -4442,31 +6564,31 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ patch( - params: Params$Resource$Projects$Locations$Grpcroutes$Patch, + params: Params$Resource$Projects$Locations$Lbrouteextensions$Patch, options: StreamMethodOptions ): GaxiosPromise; patch( - params?: Params$Resource$Projects$Locations$Grpcroutes$Patch, + params?: Params$Resource$Projects$Locations$Lbrouteextensions$Patch, options?: MethodOptions ): GaxiosPromise; patch( - params: Params$Resource$Projects$Locations$Grpcroutes$Patch, + params: Params$Resource$Projects$Locations$Lbrouteextensions$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Projects$Locations$Grpcroutes$Patch, + params: Params$Resource$Projects$Locations$Lbrouteextensions$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Projects$Locations$Grpcroutes$Patch, + params: Params$Resource$Projects$Locations$Lbrouteextensions$Patch, callback: BodyResponseCallback ): void; patch(callback: BodyResponseCallback): void; patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Grpcroutes$Patch + | Params$Resource$Projects$Locations$Lbrouteextensions$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -4479,12 +6601,13 @@ export namespace networkservices_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Grpcroutes$Patch; + {}) as Params$Resource$Projects$Locations$Lbrouteextensions$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Grpcroutes$Patch; + params = + {} as Params$Resource$Projects$Locations$Lbrouteextensions$Patch; options = {}; } @@ -4520,76 +6643,96 @@ export namespace networkservices_v1 { } } - export interface Params$Resource$Projects$Locations$Grpcroutes$Create + export interface Params$Resource$Projects$Locations$Lbrouteextensions$Create extends StandardParameters { /** - * Required. Short name of the GrpcRoute resource to be created. + * Required. User-provided ID of the `LbRouteExtension` resource to be created. */ - grpcRouteId?: string; + lbRouteExtensionId?: string; /** - * Required. The parent resource of the GrpcRoute. Must be in the format `projects/x/locations/global`. + * Required. The parent resource of the `LbRouteExtension` resource. Must be in the format `projects/{project\}/locations/{location\}`. */ parent?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; /** * Request body metadata */ - requestBody?: Schema$GrpcRoute; + requestBody?: Schema$LbRouteExtension; } - export interface Params$Resource$Projects$Locations$Grpcroutes$Delete + export interface Params$Resource$Projects$Locations$Lbrouteextensions$Delete extends StandardParameters { /** - * Required. A name of the GrpcRoute to delete. Must be in the format `projects/x/locations/global/grpcRoutes/x`. + * Required. The name of the `LbRouteExtension` resource to delete. Must be in the format `projects/{project\}/locations/{location\}/lbRouteExtensions/{lb_route_extension\}`. */ name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; } - export interface Params$Resource$Projects$Locations$Grpcroutes$Get + export interface Params$Resource$Projects$Locations$Lbrouteextensions$Get extends StandardParameters { /** - * Required. A name of the GrpcRoute to get. Must be in the format `projects/x/locations/global/grpcRoutes/x`. + * Required. A name of the `LbRouteExtension` resource to get. Must be in the format `projects/{project\}/locations/{location\}/lbRouteExtensions/{lb_route_extension\}`. */ name?: string; } - export interface Params$Resource$Projects$Locations$Grpcroutes$List + export interface Params$Resource$Projects$Locations$Lbrouteextensions$List extends StandardParameters { /** - * Maximum number of GrpcRoutes to return per call. + * Optional. Filtering results. + */ + filter?: string; + /** + * Optional. Hint for how to order the results. + */ + orderBy?: string; + /** + * Optional. Requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default. */ pageSize?: number; /** - * The value returned by the last `ListGrpcRoutesResponse` Indicates that this is a continuation of a prior `ListGrpcRoutes` call, and that the system should return the next page of data. + * Optional. A token identifying a page of results that the server returns. */ pageToken?: string; /** - * Required. The project and location from which the GrpcRoutes should be listed, specified in the format `projects/x/locations/global`. + * Required. The project and location from which the `LbRouteExtension` resources are listed, specified in the following format: `projects/{project\}/locations/{location\}`. */ parent?: string; } - export interface Params$Resource$Projects$Locations$Grpcroutes$Patch + export interface Params$Resource$Projects$Locations$Lbrouteextensions$Patch extends StandardParameters { /** - * Identifier. Name of the GrpcRoute resource. It matches pattern `projects/x/locations/global/grpcRoutes/` + * Required. Identifier. Name of the `LbRouteExtension` resource in the following format: `projects/{project\}/locations/{location\}/lbRouteExtensions/{lb_route_extension\}`. */ name?: string; /** - * Optional. Field mask is used to specify the fields to be overwritten in the GrpcRoute resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Optional. Used to specify the fields to be overwritten in the `LbRouteExtension` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not specify a mask, then all fields are overwritten. */ updateMask?: string; /** * Request body metadata */ - requestBody?: Schema$GrpcRoute; + requestBody?: Schema$LbRouteExtension; } - export class Resource$Projects$Locations$Httproutes { + export class Resource$Projects$Locations$Lbtrafficextensions { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Creates a new HttpRoute in a given project and location. + * Creates a new `LbTrafficExtension` resource in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -4597,31 +6740,31 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ create( - params: Params$Resource$Projects$Locations$Httproutes$Create, + params: Params$Resource$Projects$Locations$Lbtrafficextensions$Create, options: StreamMethodOptions ): GaxiosPromise; create( - params?: Params$Resource$Projects$Locations$Httproutes$Create, + params?: Params$Resource$Projects$Locations$Lbtrafficextensions$Create, options?: MethodOptions ): GaxiosPromise; create( - params: Params$Resource$Projects$Locations$Httproutes$Create, + params: Params$Resource$Projects$Locations$Lbtrafficextensions$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Httproutes$Create, + params: Params$Resource$Projects$Locations$Lbtrafficextensions$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Httproutes$Create, + params: Params$Resource$Projects$Locations$Lbtrafficextensions$Create, callback: BodyResponseCallback ): void; create(callback: BodyResponseCallback): void; create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Httproutes$Create + | Params$Resource$Projects$Locations$Lbtrafficextensions$Create | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -4634,12 +6777,13 @@ export namespace networkservices_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Httproutes$Create; + {}) as Params$Resource$Projects$Locations$Lbtrafficextensions$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Httproutes$Create; + params = + {} as Params$Resource$Projects$Locations$Lbtrafficextensions$Create; options = {}; } @@ -4653,7 +6797,7 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/httpRoutes').replace( + url: (rootUrl + '/v1/{+parent}/lbTrafficExtensions').replace( /([^:]\/)\/+/g, '$1' ), @@ -4678,7 +6822,7 @@ export namespace networkservices_v1 { } /** - * Deletes a single HttpRoute. + * Deletes the specified `LbTrafficExtension` resource. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -4686,31 +6830,31 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Projects$Locations$Httproutes$Delete, + params: Params$Resource$Projects$Locations$Lbtrafficextensions$Delete, options: StreamMethodOptions ): GaxiosPromise; delete( - params?: Params$Resource$Projects$Locations$Httproutes$Delete, + params?: Params$Resource$Projects$Locations$Lbtrafficextensions$Delete, options?: MethodOptions ): GaxiosPromise; delete( - params: Params$Resource$Projects$Locations$Httproutes$Delete, + params: Params$Resource$Projects$Locations$Lbtrafficextensions$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Httproutes$Delete, + params: Params$Resource$Projects$Locations$Lbtrafficextensions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Httproutes$Delete, + params: Params$Resource$Projects$Locations$Lbtrafficextensions$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Httproutes$Delete + | Params$Resource$Projects$Locations$Lbtrafficextensions$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -4723,12 +6867,13 @@ export namespace networkservices_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Httproutes$Delete; + {}) as Params$Resource$Projects$Locations$Lbtrafficextensions$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Httproutes$Delete; + params = + {} as Params$Resource$Projects$Locations$Lbtrafficextensions$Delete; options = {}; } @@ -4764,7 +6909,7 @@ export namespace networkservices_v1 { } /** - * Gets details of a single HttpRoute. + * Gets details of the specified `LbTrafficExtension` resource. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -4772,49 +6917,53 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Projects$Locations$Httproutes$Get, + params: Params$Resource$Projects$Locations$Lbtrafficextensions$Get, options: StreamMethodOptions ): GaxiosPromise; get( - params?: Params$Resource$Projects$Locations$Httproutes$Get, + params?: Params$Resource$Projects$Locations$Lbtrafficextensions$Get, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; get( - params: Params$Resource$Projects$Locations$Httproutes$Get, + params: Params$Resource$Projects$Locations$Lbtrafficextensions$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Httproutes$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Lbtrafficextensions$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Httproutes$Get, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Lbtrafficextensions$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Httproutes$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Lbtrafficextensions$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Httproutes$Get; + {}) as Params$Resource$Projects$Locations$Lbtrafficextensions$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Httproutes$Get; + params = + {} as Params$Resource$Projects$Locations$Lbtrafficextensions$Get; options = {}; } @@ -4840,17 +6989,17 @@ export namespace networkservices_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists HttpRoute in a given project and location. + * Lists `LbTrafficExtension` resources in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -4858,54 +7007,57 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Projects$Locations$Httproutes$List, + params: Params$Resource$Projects$Locations$Lbtrafficextensions$List, options: StreamMethodOptions ): GaxiosPromise; list( - params?: Params$Resource$Projects$Locations$Httproutes$List, + params?: Params$Resource$Projects$Locations$Lbtrafficextensions$List, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; list( - params: Params$Resource$Projects$Locations$Httproutes$List, + params: Params$Resource$Projects$Locations$Lbtrafficextensions$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Httproutes$List, + params: Params$Resource$Projects$Locations$Lbtrafficextensions$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Httproutes$List, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Lbtrafficextensions$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Httproutes$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Lbtrafficextensions$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Httproutes$List; + {}) as Params$Resource$Projects$Locations$Lbtrafficextensions$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Httproutes$List; + params = + {} as Params$Resource$Projects$Locations$Lbtrafficextensions$List; options = {}; } @@ -4919,7 +7071,7 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/httpRoutes').replace( + url: (rootUrl + '/v1/{+parent}/lbTrafficExtensions').replace( /([^:]\/)\/+/g, '$1' ), @@ -4934,17 +7086,19 @@ export namespace networkservices_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest( + parameters + ); } } /** - * Updates the parameters of a single HttpRoute. + * Updates the parameters of the specified `LbTrafficExtension` resource. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -4952,31 +7106,31 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ patch( - params: Params$Resource$Projects$Locations$Httproutes$Patch, + params: Params$Resource$Projects$Locations$Lbtrafficextensions$Patch, options: StreamMethodOptions ): GaxiosPromise; patch( - params?: Params$Resource$Projects$Locations$Httproutes$Patch, + params?: Params$Resource$Projects$Locations$Lbtrafficextensions$Patch, options?: MethodOptions ): GaxiosPromise; patch( - params: Params$Resource$Projects$Locations$Httproutes$Patch, + params: Params$Resource$Projects$Locations$Lbtrafficextensions$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Projects$Locations$Httproutes$Patch, + params: Params$Resource$Projects$Locations$Lbtrafficextensions$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Projects$Locations$Httproutes$Patch, + params: Params$Resource$Projects$Locations$Lbtrafficextensions$Patch, callback: BodyResponseCallback ): void; patch(callback: BodyResponseCallback): void; patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Httproutes$Patch + | Params$Resource$Projects$Locations$Lbtrafficextensions$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -4989,12 +7143,13 @@ export namespace networkservices_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Httproutes$Patch; + {}) as Params$Resource$Projects$Locations$Lbtrafficextensions$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Httproutes$Patch; + params = + {} as Params$Resource$Projects$Locations$Lbtrafficextensions$Patch; options = {}; } @@ -5030,76 +7185,100 @@ export namespace networkservices_v1 { } } - export interface Params$Resource$Projects$Locations$Httproutes$Create + export interface Params$Resource$Projects$Locations$Lbtrafficextensions$Create extends StandardParameters { /** - * Required. Short name of the HttpRoute resource to be created. + * Required. User-provided ID of the `LbTrafficExtension` resource to be created. */ - httpRouteId?: string; + lbTrafficExtensionId?: string; /** - * Required. The parent resource of the HttpRoute. Must be in the format `projects/x/locations/global`. + * Required. The parent resource of the `LbTrafficExtension` resource. Must be in the format `projects/{project\}/locations/{location\}`. */ parent?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; /** * Request body metadata */ - requestBody?: Schema$HttpRoute; + requestBody?: Schema$LbTrafficExtension; } - export interface Params$Resource$Projects$Locations$Httproutes$Delete + export interface Params$Resource$Projects$Locations$Lbtrafficextensions$Delete extends StandardParameters { /** - * Required. A name of the HttpRoute to delete. Must be in the format `projects/x/locations/global/httpRoutes/x`. + * Required. The name of the `LbTrafficExtension` resource to delete. Must be in the format `projects/{project\}/locations/{location\}/lbTrafficExtensions/{lb_traffic_extension\}`. */ name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; } - export interface Params$Resource$Projects$Locations$Httproutes$Get + export interface Params$Resource$Projects$Locations$Lbtrafficextensions$Get extends StandardParameters { /** - * Required. A name of the HttpRoute to get. Must be in the format `projects/x/locations/global/httpRoutes/x`. + * Required. A name of the `LbTrafficExtension` resource to get. Must be in the format `projects/{project\}/locations/{location\}/lbTrafficExtensions/{lb_traffic_extension\}`. */ name?: string; } - export interface Params$Resource$Projects$Locations$Httproutes$List + export interface Params$Resource$Projects$Locations$Lbtrafficextensions$List extends StandardParameters { /** - * Maximum number of HttpRoutes to return per call. + * Optional. Filtering results. + */ + filter?: string; + /** + * Optional. Hint for how to order the results. + */ + orderBy?: string; + /** + * Optional. Requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default. */ pageSize?: number; /** - * The value returned by the last `ListHttpRoutesResponse` Indicates that this is a continuation of a prior `ListHttpRoutes` call, and that the system should return the next page of data. + * Optional. A token identifying a page of results that the server returns. */ pageToken?: string; /** - * Required. The project and location from which the HttpRoutes should be listed, specified in the format `projects/x/locations/global`. + * Required. The project and location from which the `LbTrafficExtension` resources are listed, specified in the following format: `projects/{project\}/locations/{location\}`. */ parent?: string; } - export interface Params$Resource$Projects$Locations$Httproutes$Patch + export interface Params$Resource$Projects$Locations$Lbtrafficextensions$Patch extends StandardParameters { /** - * Identifier. Name of the HttpRoute resource. It matches pattern `projects/x/locations/global/httpRoutes/http_route_name\>`. + * Required. Identifier. Name of the `LbTrafficExtension` resource in the following format: `projects/{project\}/locations/{location\}/lbTrafficExtensions/{lb_traffic_extension\}`. */ name?: string; /** - * Optional. Field mask is used to specify the fields to be overwritten in the HttpRoute resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Optional. Used to specify the fields to be overwritten in the `LbTrafficExtension` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not specify a mask, then all fields are overwritten. */ updateMask?: string; /** * Request body metadata */ - requestBody?: Schema$HttpRoute; + requestBody?: Schema$LbTrafficExtension; } - export class Resource$Projects$Locations$Lbrouteextensions { + export class Resource$Projects$Locations$Meshes { context: APIRequestContext; + routeViews: Resource$Projects$Locations$Meshes$Routeviews; constructor(context: APIRequestContext) { this.context = context; + this.routeViews = new Resource$Projects$Locations$Meshes$Routeviews( + this.context + ); } /** - * Creates a new `LbRouteExtension` resource in a given project and location. + * Creates a new Mesh in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -5107,31 +7286,31 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ create( - params: Params$Resource$Projects$Locations$Lbrouteextensions$Create, + params: Params$Resource$Projects$Locations$Meshes$Create, options: StreamMethodOptions ): GaxiosPromise; create( - params?: Params$Resource$Projects$Locations$Lbrouteextensions$Create, + params?: Params$Resource$Projects$Locations$Meshes$Create, options?: MethodOptions ): GaxiosPromise; create( - params: Params$Resource$Projects$Locations$Lbrouteextensions$Create, + params: Params$Resource$Projects$Locations$Meshes$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Lbrouteextensions$Create, + params: Params$Resource$Projects$Locations$Meshes$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Lbrouteextensions$Create, + params: Params$Resource$Projects$Locations$Meshes$Create, callback: BodyResponseCallback ): void; create(callback: BodyResponseCallback): void; create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Lbrouteextensions$Create + | Params$Resource$Projects$Locations$Meshes$Create | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -5144,13 +7323,12 @@ export namespace networkservices_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Lbrouteextensions$Create; + {}) as Params$Resource$Projects$Locations$Meshes$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Lbrouteextensions$Create; + params = {} as Params$Resource$Projects$Locations$Meshes$Create; options = {}; } @@ -5164,7 +7342,7 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/lbRouteExtensions').replace( + url: (rootUrl + '/v1/{+parent}/meshes').replace( /([^:]\/)\/+/g, '$1' ), @@ -5189,7 +7367,7 @@ export namespace networkservices_v1 { } /** - * Deletes the specified `LbRouteExtension` resource. + * Deletes a single Mesh. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -5197,31 +7375,31 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Projects$Locations$Lbrouteextensions$Delete, + params: Params$Resource$Projects$Locations$Meshes$Delete, options: StreamMethodOptions ): GaxiosPromise; delete( - params?: Params$Resource$Projects$Locations$Lbrouteextensions$Delete, + params?: Params$Resource$Projects$Locations$Meshes$Delete, options?: MethodOptions ): GaxiosPromise; delete( - params: Params$Resource$Projects$Locations$Lbrouteextensions$Delete, + params: Params$Resource$Projects$Locations$Meshes$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Lbrouteextensions$Delete, + params: Params$Resource$Projects$Locations$Meshes$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Lbrouteextensions$Delete, + params: Params$Resource$Projects$Locations$Meshes$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Lbrouteextensions$Delete + | Params$Resource$Projects$Locations$Meshes$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -5234,13 +7412,12 @@ export namespace networkservices_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Lbrouteextensions$Delete; + {}) as Params$Resource$Projects$Locations$Meshes$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Lbrouteextensions$Delete; + params = {} as Params$Resource$Projects$Locations$Meshes$Delete; options = {}; } @@ -5276,7 +7453,7 @@ export namespace networkservices_v1 { } /** - * Gets details of the specified `LbRouteExtension` resource. + * Gets details of a single Mesh. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -5284,49 +7461,49 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Projects$Locations$Lbrouteextensions$Get, + params: Params$Resource$Projects$Locations$Meshes$Get, options: StreamMethodOptions ): GaxiosPromise; get( - params?: Params$Resource$Projects$Locations$Lbrouteextensions$Get, + params?: Params$Resource$Projects$Locations$Meshes$Get, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; get( - params: Params$Resource$Projects$Locations$Lbrouteextensions$Get, + params: Params$Resource$Projects$Locations$Meshes$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Lbrouteextensions$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Meshes$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Lbrouteextensions$Get, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Meshes$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Lbrouteextensions$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Meshes$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Lbrouteextensions$Get; + {}) as Params$Resource$Projects$Locations$Meshes$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Lbrouteextensions$Get; + params = {} as Params$Resource$Projects$Locations$Meshes$Get; options = {}; } @@ -5352,17 +7529,17 @@ export namespace networkservices_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists `LbRouteExtension` resources in a given project and location. + * Lists Meshes in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -5370,57 +7547,52 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Projects$Locations$Lbrouteextensions$List, + params: Params$Resource$Projects$Locations$Meshes$List, options: StreamMethodOptions ): GaxiosPromise; list( - params?: Params$Resource$Projects$Locations$Lbrouteextensions$List, + params?: Params$Resource$Projects$Locations$Meshes$List, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; list( - params: Params$Resource$Projects$Locations$Lbrouteextensions$List, + params: Params$Resource$Projects$Locations$Meshes$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Lbrouteextensions$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Projects$Locations$Lbrouteextensions$List, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Meshes$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Meshes$List, + callback: BodyResponseCallback ): void; + list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Lbrouteextensions$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Meshes$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Lbrouteextensions$List; + {}) as Params$Resource$Projects$Locations$Meshes$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Lbrouteextensions$List; + params = {} as Params$Resource$Projects$Locations$Meshes$List; options = {}; } @@ -5434,7 +7606,7 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/lbRouteExtensions').replace( + url: (rootUrl + '/v1/{+parent}/meshes').replace( /([^:]\/)\/+/g, '$1' ), @@ -5449,19 +7621,17 @@ export namespace networkservices_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Updates the parameters of the specified `LbRouteExtension` resource. + * Updates the parameters of a single Mesh. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -5469,50 +7639,204 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ patch( - params: Params$Resource$Projects$Locations$Lbrouteextensions$Patch, + params: Params$Resource$Projects$Locations$Meshes$Patch, options: StreamMethodOptions ): GaxiosPromise; patch( - params?: Params$Resource$Projects$Locations$Lbrouteextensions$Patch, + params?: Params$Resource$Projects$Locations$Meshes$Patch, options?: MethodOptions ): GaxiosPromise; patch( - params: Params$Resource$Projects$Locations$Lbrouteextensions$Patch, + params: Params$Resource$Projects$Locations$Meshes$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Meshes$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Meshes$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Meshes$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Meshes$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Meshes$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Meshes$Create + extends StandardParameters { + /** + * Required. Short name of the Mesh resource to be created. + */ + meshId?: string; + /** + * Required. The parent resource of the Mesh. Must be in the format `projects/x/locations/global`. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Mesh; + } + export interface Params$Resource$Projects$Locations$Meshes$Delete + extends StandardParameters { + /** + * Required. A name of the Mesh to delete. Must be in the format `projects/x/locations/global/meshes/x`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Meshes$Get + extends StandardParameters { + /** + * Required. A name of the Mesh to get. Must be in the format `projects/x/locations/global/meshes/x`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Meshes$List + extends StandardParameters { + /** + * Maximum number of Meshes to return per call. + */ + pageSize?: number; + /** + * The value returned by the last `ListMeshesResponse` Indicates that this is a continuation of a prior `ListMeshes` call, and that the system should return the next page of data. + */ + pageToken?: string; + /** + * Required. The project and location from which the Meshes should be listed, specified in the format `projects/x/locations/global`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Meshes$Patch + extends StandardParameters { + /** + * Identifier. Name of the Mesh resource. It matches pattern `projects/x/locations/global/meshes/`. + */ + name?: string; + /** + * Optional. Field mask is used to specify the fields to be overwritten in the Mesh resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Mesh; + } + + export class Resource$Projects$Locations$Meshes$Routeviews { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Get a single RouteView of a Mesh. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Meshes$Routeviews$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Meshes$Routeviews$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Meshes$Routeviews$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Lbrouteextensions$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Meshes$Routeviews$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Lbrouteextensions$Patch, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Meshes$Routeviews$Get, + callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Lbrouteextensions$Patch - | BodyResponseCallback + | Params$Resource$Projects$Locations$Meshes$Routeviews$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Lbrouteextensions$Patch; + {}) as Params$Resource$Projects$Locations$Meshes$Routeviews$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Lbrouteextensions$Patch; + params = {} as Params$Resource$Projects$Locations$Meshes$Routeviews$Get; options = {}; } @@ -5527,7 +7851,7 @@ export namespace networkservices_v1 { options: Object.assign( { url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + method: 'GET', apiVersion: '', }, options @@ -5538,157 +7862,75 @@ export namespace networkservices_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } - } - - export interface Params$Resource$Projects$Locations$Lbrouteextensions$Create - extends StandardParameters { - /** - * Required. User-provided ID of the `LbRouteExtension` resource to be created. - */ - lbRouteExtensionId?: string; - /** - * Required. The parent resource of the `LbRouteExtension` resource. Must be in the format `projects/{project\}/locations/{location\}`. - */ - parent?: string; - /** - * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$LbRouteExtension; - } - export interface Params$Resource$Projects$Locations$Lbrouteextensions$Delete - extends StandardParameters { - /** - * Required. The name of the `LbRouteExtension` resource to delete. Must be in the format `projects/{project\}/locations/{location\}/lbRouteExtensions/{lb_route_extension\}`. - */ - name?: string; - /** - * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - } - export interface Params$Resource$Projects$Locations$Lbrouteextensions$Get - extends StandardParameters { - /** - * Required. A name of the `LbRouteExtension` resource to get. Must be in the format `projects/{project\}/locations/{location\}/lbRouteExtensions/{lb_route_extension\}`. - */ - name?: string; - } - export interface Params$Resource$Projects$Locations$Lbrouteextensions$List - extends StandardParameters { - /** - * Optional. Filtering results. - */ - filter?: string; - /** - * Optional. Hint for how to order the results. - */ - orderBy?: string; - /** - * Optional. Requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default. - */ - pageSize?: number; - /** - * Optional. A token identifying a page of results that the server returns. - */ - pageToken?: string; - /** - * Required. The project and location from which the `LbRouteExtension` resources are listed, specified in the following format: `projects/{project\}/locations/{location\}`. - */ - parent?: string; - } - export interface Params$Resource$Projects$Locations$Lbrouteextensions$Patch - extends StandardParameters { - /** - * Required. Identifier. Name of the `LbRouteExtension` resource in the following format: `projects/{project\}/locations/{location\}/lbRouteExtensions/{lb_route_extension\}`. - */ - name?: string; - /** - * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Optional. Used to specify the fields to be overwritten in the `LbRouteExtension` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not specify a mask, then all fields are overwritten. - */ - updateMask?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$LbRouteExtension; - } - - export class Resource$Projects$Locations$Lbtrafficextensions { - context: APIRequestContext; - constructor(context: APIRequestContext) { - this.context = context; - } /** - * Creates a new `LbTrafficExtension` resource in a given project and location. + * Lists RouteViews * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - create( - params: Params$Resource$Projects$Locations$Lbtrafficextensions$Create, + list( + params: Params$Resource$Projects$Locations$Meshes$Routeviews$List, options: StreamMethodOptions ): GaxiosPromise; - create( - params?: Params$Resource$Projects$Locations$Lbtrafficextensions$Create, + list( + params?: Params$Resource$Projects$Locations$Meshes$Routeviews$List, options?: MethodOptions - ): GaxiosPromise; - create( - params: Params$Resource$Projects$Locations$Lbtrafficextensions$Create, + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Meshes$Routeviews$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Lbtrafficextensions$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Meshes$Routeviews$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Lbtrafficextensions$Create, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Meshes$Routeviews$List, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + list( + callback: BodyResponseCallback + ): void; + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Lbtrafficextensions$Create - | BodyResponseCallback + | Params$Resource$Projects$Locations$Meshes$Routeviews$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Lbtrafficextensions$Create; + {}) as Params$Resource$Projects$Locations$Meshes$Routeviews$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; params = - {} as Params$Resource$Projects$Locations$Lbtrafficextensions$Create; + {} as Params$Resource$Projects$Locations$Meshes$Routeviews$List; options = {}; } @@ -5702,11 +7944,11 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/lbTrafficExtensions').replace( + url: (rootUrl + '/v1/{+parent}/routeViews').replace( /([^:]\/)\/+/g, '$1' ), - method: 'POST', + method: 'GET', apiVersion: '', }, options @@ -5717,68 +7959,97 @@ export namespace networkservices_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } + } + export interface Params$Resource$Projects$Locations$Meshes$Routeviews$Get + extends StandardParameters { /** - * Deletes the specified `LbTrafficExtension` resource. + * Required. Name of the MeshRouteView resource. Format: projects/{project_number\}/locations/{location\}/meshes/{mesh_name\}/routeViews/{route_view_name\} + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Meshes$Routeviews$List + extends StandardParameters { + /** + * Maximum number of MeshRouteViews to return per call. + */ + pageSize?: number; + /** + * The value returned by the last `ListMeshRouteViewsResponse` Indicates that this is a continuation of a prior `ListMeshRouteViews` call, and that the system should return the next page of data. + */ + pageToken?: string; + /** + * Required. The Mesh to which a Route is associated. Format: projects/{project_number\}/locations/{location\}/meshes/{mesh_name\} + */ + parent?: string; + } + + export class Resource$Projects$Locations$Operations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Projects$Locations$Lbtrafficextensions$Delete, + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, options: StreamMethodOptions ): GaxiosPromise; - delete( - params?: Params$Resource$Projects$Locations$Lbtrafficextensions$Delete, + cancel( + params?: Params$Resource$Projects$Locations$Operations$Cancel, options?: MethodOptions - ): GaxiosPromise; - delete( - params: Params$Resource$Projects$Locations$Lbtrafficextensions$Delete, + ): GaxiosPromise; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Lbtrafficextensions$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Lbtrafficextensions$Delete, - callback: BodyResponseCallback + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + cancel(callback: BodyResponseCallback): void; + cancel( paramsOrCallback?: - | Params$Resource$Projects$Locations$Lbtrafficextensions$Delete - | BodyResponseCallback + | Params$Resource$Projects$Locations$Operations$Cancel + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Lbtrafficextensions$Delete; + {}) as Params$Resource$Projects$Locations$Operations$Cancel; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Lbtrafficextensions$Delete; + params = {} as Params$Resource$Projects$Locations$Operations$Cancel; options = {}; } @@ -5792,8 +8063,8 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'DELETE', + url: (rootUrl + '/v1/{+name}:cancel').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', apiVersion: '', }, options @@ -5804,71 +8075,67 @@ export namespace networkservices_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Gets details of the specified `LbTrafficExtension` resource. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - get( - params: Params$Resource$Projects$Locations$Lbtrafficextensions$Get, + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, options: StreamMethodOptions ): GaxiosPromise; - get( - params?: Params$Resource$Projects$Locations$Lbtrafficextensions$Get, + delete( + params?: Params$Resource$Projects$Locations$Operations$Delete, options?: MethodOptions - ): GaxiosPromise; - get( - params: Params$Resource$Projects$Locations$Lbtrafficextensions$Get, + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Lbtrafficextensions$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - get( - params: Params$Resource$Projects$Locations$Lbtrafficextensions$Get, - callback: BodyResponseCallback + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; - get( + delete(callback: BodyResponseCallback): void; + delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Lbtrafficextensions$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Operations$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Lbtrafficextensions$Get; + {}) as Params$Resource$Projects$Locations$Operations$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Lbtrafficextensions$Get; + params = {} as Params$Resource$Projects$Locations$Operations$Delete; options = {}; } @@ -5883,7 +8150,7 @@ export namespace networkservices_v1 { options: Object.assign( { url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'GET', + method: 'DELETE', apiVersion: '', }, options @@ -5894,75 +8161,67 @@ export namespace networkservices_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists `LbTrafficExtension` resources in a given project and location. + * 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. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - list( - params: Params$Resource$Projects$Locations$Lbtrafficextensions$List, + get( + params: Params$Resource$Projects$Locations$Operations$Get, options: StreamMethodOptions ): GaxiosPromise; - list( - params?: Params$Resource$Projects$Locations$Lbtrafficextensions$List, + get( + params?: Params$Resource$Projects$Locations$Operations$Get, options?: MethodOptions - ): GaxiosPromise; - list( - params: Params$Resource$Projects$Locations$Lbtrafficextensions$List, + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Operations$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - list( - params: Params$Resource$Projects$Locations$Lbtrafficextensions$List, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Projects$Locations$Lbtrafficextensions$List, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - list( - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Operations$Get, + callback: BodyResponseCallback ): void; - list( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Lbtrafficextensions$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Operations$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Lbtrafficextensions$List; + {}) as Params$Resource$Projects$Locations$Operations$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Lbtrafficextensions$List; + params = {} as Params$Resource$Projects$Locations$Operations$Get; options = {}; } @@ -5976,85 +8235,84 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/lbTrafficExtensions').replace( - /([^:]\/)\/+/g, - '$1' - ), + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Updates the parameters of the specified `LbTrafficExtension` resource. + * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - patch( - params: Params$Resource$Projects$Locations$Lbtrafficextensions$Patch, + list( + params: Params$Resource$Projects$Locations$Operations$List, options: StreamMethodOptions ): GaxiosPromise; - patch( - params?: Params$Resource$Projects$Locations$Lbtrafficextensions$Patch, + list( + params?: Params$Resource$Projects$Locations$Operations$List, options?: MethodOptions - ): GaxiosPromise; - patch( - params: Params$Resource$Projects$Locations$Lbtrafficextensions$Patch, + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Operations$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Lbtrafficextensions$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - patch( - params: Params$Resource$Projects$Locations$Lbtrafficextensions$Patch, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Operations$List, + callback: BodyResponseCallback ): void; - patch(callback: BodyResponseCallback): void; - patch( + list(callback: BodyResponseCallback): void; + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Lbtrafficextensions$Patch - | BodyResponseCallback + | Params$Resource$Projects$Locations$Operations$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Lbtrafficextensions$Patch; + {}) as Params$Resource$Projects$Locations$Operations$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Lbtrafficextensions$Patch; + params = {} as Params$Resource$Projects$Locations$Operations$List; options = {}; } @@ -6068,8 +8326,11 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', + url: (rootUrl + '/v1/{+name}/operations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', apiVersion: '', }, options @@ -6080,106 +8341,70 @@ export namespace networkservices_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } } - export interface Params$Resource$Projects$Locations$Lbtrafficextensions$Create + export interface Params$Resource$Projects$Locations$Operations$Cancel extends StandardParameters { /** - * Required. User-provided ID of the `LbTrafficExtension` resource to be created. - */ - lbTrafficExtensionId?: string; - /** - * Required. The parent resource of the `LbTrafficExtension` resource. Must be in the format `projects/{project\}/locations/{location\}`. - */ - parent?: string; - /** - * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + * The name of the operation resource to be cancelled. */ - requestId?: string; + name?: string; /** * Request body metadata */ - requestBody?: Schema$LbTrafficExtension; + requestBody?: Schema$CancelOperationRequest; } - export interface Params$Resource$Projects$Locations$Lbtrafficextensions$Delete + export interface Params$Resource$Projects$Locations$Operations$Delete extends StandardParameters { /** - * Required. The name of the `LbTrafficExtension` resource to delete. Must be in the format `projects/{project\}/locations/{location\}/lbTrafficExtensions/{lb_traffic_extension\}`. + * The name of the operation resource to be deleted. */ name?: string; - /** - * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; } - export interface Params$Resource$Projects$Locations$Lbtrafficextensions$Get + export interface Params$Resource$Projects$Locations$Operations$Get extends StandardParameters { /** - * Required. A name of the `LbTrafficExtension` resource to get. Must be in the format `projects/{project\}/locations/{location\}/lbTrafficExtensions/{lb_traffic_extension\}`. + * The name of the operation resource. */ name?: string; } - export interface Params$Resource$Projects$Locations$Lbtrafficextensions$List + export interface Params$Resource$Projects$Locations$Operations$List extends StandardParameters { /** - * Optional. Filtering results. + * The standard list filter. */ filter?: string; /** - * Optional. Hint for how to order the results. + * The name of the operation's parent resource. */ - orderBy?: string; + name?: string; /** - * Optional. Requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default. + * The standard list page size. */ pageSize?: number; /** - * Optional. A token identifying a page of results that the server returns. + * The standard list page token. */ pageToken?: string; - /** - * Required. The project and location from which the `LbTrafficExtension` resources are listed, specified in the following format: `projects/{project\}/locations/{location\}`. - */ - parent?: string; - } - export interface Params$Resource$Projects$Locations$Lbtrafficextensions$Patch - extends StandardParameters { - /** - * Required. Identifier. Name of the `LbTrafficExtension` resource in the following format: `projects/{project\}/locations/{location\}/lbTrafficExtensions/{lb_traffic_extension\}`. - */ - name?: string; - /** - * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server can ignore the request if it has already been completed. The server guarantees that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, ignores the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). - */ - requestId?: string; - /** - * Optional. Used to specify the fields to be overwritten in the `LbTrafficExtension` resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field is overwritten if it is in the mask. If the user does not specify a mask, then all fields are overwritten. - */ - updateMask?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$LbTrafficExtension; } - export class Resource$Projects$Locations$Meshes { + export class Resource$Projects$Locations$Servicebindings { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Creates a new Mesh in a given project and location. + * Creates a new ServiceBinding in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -6187,31 +8412,31 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ create( - params: Params$Resource$Projects$Locations$Meshes$Create, + params: Params$Resource$Projects$Locations$Servicebindings$Create, options: StreamMethodOptions ): GaxiosPromise; create( - params?: Params$Resource$Projects$Locations$Meshes$Create, + params?: Params$Resource$Projects$Locations$Servicebindings$Create, options?: MethodOptions ): GaxiosPromise; create( - params: Params$Resource$Projects$Locations$Meshes$Create, + params: Params$Resource$Projects$Locations$Servicebindings$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Meshes$Create, + params: Params$Resource$Projects$Locations$Servicebindings$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Meshes$Create, + params: Params$Resource$Projects$Locations$Servicebindings$Create, callback: BodyResponseCallback ): void; create(callback: BodyResponseCallback): void; create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Meshes$Create + | Params$Resource$Projects$Locations$Servicebindings$Create | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -6224,12 +8449,13 @@ export namespace networkservices_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Meshes$Create; + {}) as Params$Resource$Projects$Locations$Servicebindings$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Meshes$Create; + params = + {} as Params$Resource$Projects$Locations$Servicebindings$Create; options = {}; } @@ -6243,7 +8469,7 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/meshes').replace( + url: (rootUrl + '/v1/{+parent}/serviceBindings').replace( /([^:]\/)\/+/g, '$1' ), @@ -6268,7 +8494,7 @@ export namespace networkservices_v1 { } /** - * Deletes a single Mesh. + * Deletes a single ServiceBinding. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -6276,31 +8502,31 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Projects$Locations$Meshes$Delete, + params: Params$Resource$Projects$Locations$Servicebindings$Delete, options: StreamMethodOptions ): GaxiosPromise; delete( - params?: Params$Resource$Projects$Locations$Meshes$Delete, + params?: Params$Resource$Projects$Locations$Servicebindings$Delete, options?: MethodOptions ): GaxiosPromise; delete( - params: Params$Resource$Projects$Locations$Meshes$Delete, + params: Params$Resource$Projects$Locations$Servicebindings$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Meshes$Delete, + params: Params$Resource$Projects$Locations$Servicebindings$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Meshes$Delete, + params: Params$Resource$Projects$Locations$Servicebindings$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Meshes$Delete + | Params$Resource$Projects$Locations$Servicebindings$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -6313,12 +8539,13 @@ export namespace networkservices_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Meshes$Delete; + {}) as Params$Resource$Projects$Locations$Servicebindings$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Meshes$Delete; + params = + {} as Params$Resource$Projects$Locations$Servicebindings$Delete; options = {}; } @@ -6354,7 +8581,7 @@ export namespace networkservices_v1 { } /** - * Gets details of a single Mesh. + * Gets details of a single ServiceBinding. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -6362,49 +8589,49 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Projects$Locations$Meshes$Get, + params: Params$Resource$Projects$Locations$Servicebindings$Get, options: StreamMethodOptions ): GaxiosPromise; get( - params?: Params$Resource$Projects$Locations$Meshes$Get, + params?: Params$Resource$Projects$Locations$Servicebindings$Get, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; get( - params: Params$Resource$Projects$Locations$Meshes$Get, + params: Params$Resource$Projects$Locations$Servicebindings$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Meshes$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Servicebindings$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Meshes$Get, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Servicebindings$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Meshes$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Servicebindings$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Meshes$Get; + {}) as Params$Resource$Projects$Locations$Servicebindings$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Meshes$Get; + params = {} as Params$Resource$Projects$Locations$Servicebindings$Get; options = {}; } @@ -6430,17 +8657,17 @@ export namespace networkservices_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists Meshes in a given project and location. + * Lists ServiceBinding in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -6448,52 +8675,56 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Projects$Locations$Meshes$List, + params: Params$Resource$Projects$Locations$Servicebindings$List, options: StreamMethodOptions ): GaxiosPromise; list( - params?: Params$Resource$Projects$Locations$Meshes$List, + params?: Params$Resource$Projects$Locations$Servicebindings$List, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; list( - params: Params$Resource$Projects$Locations$Meshes$List, + params: Params$Resource$Projects$Locations$Servicebindings$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Meshes$List, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Servicebindings$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Meshes$List, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Servicebindings$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Meshes$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Servicebindings$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Meshes$List; + {}) as Params$Resource$Projects$Locations$Servicebindings$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Meshes$List; + params = {} as Params$Resource$Projects$Locations$Servicebindings$List; options = {}; } @@ -6507,7 +8738,7 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/meshes').replace( + url: (rootUrl + '/v1/{+parent}/serviceBindings').replace( /([^:]\/)\/+/g, '$1' ), @@ -6522,222 +8753,121 @@ export namespace networkservices_v1 { context: this.context, }; if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates the parameters of a single Mesh. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - patch( - params: Params$Resource$Projects$Locations$Meshes$Patch, - options: StreamMethodOptions - ): GaxiosPromise; - patch( - params?: Params$Resource$Projects$Locations$Meshes$Patch, - options?: MethodOptions - ): GaxiosPromise; - patch( - params: Params$Resource$Projects$Locations$Meshes$Patch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Projects$Locations$Meshes$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Projects$Locations$Meshes$Patch, - callback: BodyResponseCallback - ): void; - patch(callback: BodyResponseCallback): void; - patch( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Meshes$Patch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Meshes$Patch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Meshes$Patch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://networkservices.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['name'], - pathParams: ['name'], - context: this.context, - }; - if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } } - export interface Params$Resource$Projects$Locations$Meshes$Create + export interface Params$Resource$Projects$Locations$Servicebindings$Create extends StandardParameters { /** - * Required. Short name of the Mesh resource to be created. + * Required. The parent resource of the ServiceBinding. Must be in the format `projects/x/locations/global`. */ - meshId?: string; + parent?: string; /** - * Required. The parent resource of the Mesh. Must be in the format `projects/x/locations/global`. + * Required. Short name of the ServiceBinding resource to be created. */ - parent?: string; + serviceBindingId?: string; /** * Request body metadata */ - requestBody?: Schema$Mesh; + requestBody?: Schema$ServiceBinding; } - export interface Params$Resource$Projects$Locations$Meshes$Delete + export interface Params$Resource$Projects$Locations$Servicebindings$Delete extends StandardParameters { /** - * Required. A name of the Mesh to delete. Must be in the format `projects/x/locations/global/meshes/x`. + * Required. A name of the ServiceBinding to delete. Must be in the format `projects/x/locations/global/serviceBindings/x`. */ name?: string; } - export interface Params$Resource$Projects$Locations$Meshes$Get + export interface Params$Resource$Projects$Locations$Servicebindings$Get extends StandardParameters { /** - * Required. A name of the Mesh to get. Must be in the format `projects/x/locations/global/meshes/x`. + * Required. A name of the ServiceBinding to get. Must be in the format `projects/x/locations/global/serviceBindings/x`. */ name?: string; } - export interface Params$Resource$Projects$Locations$Meshes$List + export interface Params$Resource$Projects$Locations$Servicebindings$List extends StandardParameters { /** - * Maximum number of Meshes to return per call. + * Maximum number of ServiceBindings to return per call. */ pageSize?: number; /** - * The value returned by the last `ListMeshesResponse` Indicates that this is a continuation of a prior `ListMeshes` call, and that the system should return the next page of data. + * The value returned by the last `ListServiceBindingsResponse` Indicates that this is a continuation of a prior `ListRouters` call, and that the system should return the next page of data. */ pageToken?: string; /** - * Required. The project and location from which the Meshes should be listed, specified in the format `projects/x/locations/global`. + * Required. The project and location from which the ServiceBindings should be listed, specified in the format `projects/x/locations/global`. */ parent?: string; } - export interface Params$Resource$Projects$Locations$Meshes$Patch - extends StandardParameters { - /** - * Identifier. Name of the Mesh resource. It matches pattern `projects/x/locations/global/meshes/`. - */ - name?: string; - /** - * Optional. Field mask is used to specify the fields to be overwritten in the Mesh resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. - */ - updateMask?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$Mesh; - } - export class Resource$Projects$Locations$Operations { + export class Resource$Projects$Locations$Servicelbpolicies { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * 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`. + * Creates a new ServiceLbPolicy in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - cancel( - params: Params$Resource$Projects$Locations$Operations$Cancel, + create( + params: Params$Resource$Projects$Locations$Servicelbpolicies$Create, options: StreamMethodOptions ): GaxiosPromise; - cancel( - params?: Params$Resource$Projects$Locations$Operations$Cancel, + create( + params?: Params$Resource$Projects$Locations$Servicelbpolicies$Create, options?: MethodOptions - ): GaxiosPromise; - cancel( - params: Params$Resource$Projects$Locations$Operations$Cancel, + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Servicelbpolicies$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - cancel( - params: Params$Resource$Projects$Locations$Operations$Cancel, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Servicelbpolicies$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - cancel( - params: Params$Resource$Projects$Locations$Operations$Cancel, - callback: BodyResponseCallback + create( + params: Params$Resource$Projects$Locations$Servicelbpolicies$Create, + callback: BodyResponseCallback ): void; - cancel(callback: BodyResponseCallback): void; - cancel( + create(callback: BodyResponseCallback): void; + create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Operations$Cancel - | BodyResponseCallback + | Params$Resource$Projects$Locations$Servicelbpolicies$Create + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Operations$Cancel; + {}) as Params$Resource$Projects$Locations$Servicelbpolicies$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Operations$Cancel; + params = + {} as Params$Resource$Projects$Locations$Servicelbpolicies$Create; options = {}; } @@ -6751,29 +8881,32 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}:cancel').replace(/([^:]\/)\/+/g, '$1'), + url: (rootUrl + '/v1/{+parent}/serviceLbPolicies').replace( + /([^:]\/)\/+/g, + '$1' + ), method: 'POST', apiVersion: '', }, options ), params, - requiredParams: ['name'], - pathParams: ['name'], + requiredParams: ['parent'], + pathParams: ['parent'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * 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`. + * Deletes a single ServiceLbPolicy. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -6781,49 +8914,50 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Projects$Locations$Operations$Delete, + params: Params$Resource$Projects$Locations$Servicelbpolicies$Delete, options: StreamMethodOptions ): GaxiosPromise; delete( - params?: Params$Resource$Projects$Locations$Operations$Delete, + params?: Params$Resource$Projects$Locations$Servicelbpolicies$Delete, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; delete( - params: Params$Resource$Projects$Locations$Operations$Delete, + params: Params$Resource$Projects$Locations$Servicelbpolicies$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Operations$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Servicelbpolicies$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Operations$Delete, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Servicelbpolicies$Delete, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; + delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Operations$Delete - | BodyResponseCallback + | Params$Resource$Projects$Locations$Servicelbpolicies$Delete + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Operations$Delete; + {}) as Params$Resource$Projects$Locations$Servicelbpolicies$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Operations$Delete; + params = + {} as Params$Resource$Projects$Locations$Servicelbpolicies$Delete; options = {}; } @@ -6849,17 +8983,17 @@ export namespace networkservices_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * 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. + * Gets details of a single ServiceLbPolicy. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -6867,49 +9001,49 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Projects$Locations$Operations$Get, + params: Params$Resource$Projects$Locations$Servicelbpolicies$Get, options: StreamMethodOptions ): GaxiosPromise; get( - params?: Params$Resource$Projects$Locations$Operations$Get, + params?: Params$Resource$Projects$Locations$Servicelbpolicies$Get, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; get( - params: Params$Resource$Projects$Locations$Operations$Get, + params: Params$Resource$Projects$Locations$Servicelbpolicies$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Operations$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Servicelbpolicies$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Operations$Get, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Servicelbpolicies$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Operations$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Servicelbpolicies$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Operations$Get; + {}) as Params$Resource$Projects$Locations$Servicelbpolicies$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Operations$Get; + params = {} as Params$Resource$Projects$Locations$Servicelbpolicies$Get; options = {}; } @@ -6935,17 +9069,17 @@ export namespace networkservices_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + * Lists ServiceLbPolicies in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -6953,54 +9087,57 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Projects$Locations$Operations$List, + params: Params$Resource$Projects$Locations$Servicelbpolicies$List, options: StreamMethodOptions ): GaxiosPromise; list( - params?: Params$Resource$Projects$Locations$Operations$List, + params?: Params$Resource$Projects$Locations$Servicelbpolicies$List, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; list( - params: Params$Resource$Projects$Locations$Operations$List, + params: Params$Resource$Projects$Locations$Servicelbpolicies$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Operations$List, + params: Params$Resource$Projects$Locations$Servicelbpolicies$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Operations$List, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Servicelbpolicies$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Operations$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Servicelbpolicies$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Operations$List; + {}) as Params$Resource$Projects$Locations$Servicelbpolicies$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Operations$List; + params = + {} as Params$Resource$Projects$Locations$Servicelbpolicies$List; options = {}; } @@ -7014,7 +9151,7 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+name}/operations').replace( + url: (rootUrl + '/v1/{+parent}/serviceLbPolicies').replace( /([^:]\/)\/+/g, '$1' ), @@ -7024,75 +9161,180 @@ export namespace networkservices_v1 { options ), params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates the parameters of a single ServiceLbPolicy. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Servicelbpolicies$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Servicelbpolicies$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Servicelbpolicies$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Servicelbpolicies$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Servicelbpolicies$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Servicelbpolicies$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Servicelbpolicies$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Servicelbpolicies$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, requiredParams: ['name'], pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } } - export interface Params$Resource$Projects$Locations$Operations$Cancel + export interface Params$Resource$Projects$Locations$Servicelbpolicies$Create extends StandardParameters { /** - * The name of the operation resource to be cancelled. + * Required. The parent resource of the ServiceLbPolicy. Must be in the format `projects/{project\}/locations/{location\}`. */ - name?: string; + parent?: string; + /** + * Required. Short name of the ServiceLbPolicy resource to be created. E.g. for resource name `projects/{project\}/locations/{location\}/serviceLbPolicies/{service_lb_policy_name\}`. the id is value of {service_lb_policy_name\} + */ + serviceLbPolicyId?: string; /** * Request body metadata */ - requestBody?: Schema$CancelOperationRequest; + requestBody?: Schema$ServiceLbPolicy; } - export interface Params$Resource$Projects$Locations$Operations$Delete + export interface Params$Resource$Projects$Locations$Servicelbpolicies$Delete extends StandardParameters { /** - * The name of the operation resource to be deleted. + * Required. A name of the ServiceLbPolicy to delete. Must be in the format `projects/{project\}/locations/{location\}/serviceLbPolicies/x`. */ name?: string; } - export interface Params$Resource$Projects$Locations$Operations$Get + export interface Params$Resource$Projects$Locations$Servicelbpolicies$Get extends StandardParameters { /** - * The name of the operation resource. + * Required. A name of the ServiceLbPolicy to get. Must be in the format `projects/{project\}/locations/{location\}/serviceLbPolicies/x`. */ name?: string; } - export interface Params$Resource$Projects$Locations$Operations$List + export interface Params$Resource$Projects$Locations$Servicelbpolicies$List extends StandardParameters { /** - * The standard list filter. + * Maximum number of ServiceLbPolicies to return per call. */ - filter?: string; + pageSize?: number; /** - * The name of the operation's parent resource. + * The value returned by the last `ListServiceLbPoliciesResponse` Indicates that this is a continuation of a prior `ListRouters` call, and that the system should return the next page of data. + */ + pageToken?: string; + /** + * Required. The project and location from which the ServiceLbPolicies should be listed, specified in the format `projects/{project\}/locations/{location\}`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Servicelbpolicies$Patch + extends StandardParameters { + /** + * Identifier. Name of the ServiceLbPolicy resource. It matches pattern `projects/{project\}/locations/{location\}/serviceLbPolicies/{service_lb_policy_name\}`. */ name?: string; /** - * The standard list page size. + * Optional. Field mask is used to specify the fields to be overwritten in the ServiceLbPolicy resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. */ - pageSize?: number; + updateMask?: string; + /** - * The standard list page token. + * Request body metadata */ - pageToken?: string; + requestBody?: Schema$ServiceLbPolicy; } - export class Resource$Projects$Locations$Servicebindings { + export class Resource$Projects$Locations$Tcproutes { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Creates a new ServiceBinding in a given project and location. + * Creates a new TcpRoute in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -7100,31 +9342,31 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ create( - params: Params$Resource$Projects$Locations$Servicebindings$Create, + params: Params$Resource$Projects$Locations$Tcproutes$Create, options: StreamMethodOptions ): GaxiosPromise; create( - params?: Params$Resource$Projects$Locations$Servicebindings$Create, + params?: Params$Resource$Projects$Locations$Tcproutes$Create, options?: MethodOptions ): GaxiosPromise; create( - params: Params$Resource$Projects$Locations$Servicebindings$Create, + params: Params$Resource$Projects$Locations$Tcproutes$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Servicebindings$Create, + params: Params$Resource$Projects$Locations$Tcproutes$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Servicebindings$Create, + params: Params$Resource$Projects$Locations$Tcproutes$Create, callback: BodyResponseCallback ): void; create(callback: BodyResponseCallback): void; create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Servicebindings$Create + | Params$Resource$Projects$Locations$Tcproutes$Create | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -7137,13 +9379,12 @@ export namespace networkservices_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Servicebindings$Create; + {}) as Params$Resource$Projects$Locations$Tcproutes$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Servicebindings$Create; + params = {} as Params$Resource$Projects$Locations$Tcproutes$Create; options = {}; } @@ -7157,7 +9398,7 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/serviceBindings').replace( + url: (rootUrl + '/v1/{+parent}/tcpRoutes').replace( /([^:]\/)\/+/g, '$1' ), @@ -7182,7 +9423,7 @@ export namespace networkservices_v1 { } /** - * Deletes a single ServiceBinding. + * Deletes a single TcpRoute. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -7190,31 +9431,31 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Projects$Locations$Servicebindings$Delete, + params: Params$Resource$Projects$Locations$Tcproutes$Delete, options: StreamMethodOptions ): GaxiosPromise; delete( - params?: Params$Resource$Projects$Locations$Servicebindings$Delete, + params?: Params$Resource$Projects$Locations$Tcproutes$Delete, options?: MethodOptions ): GaxiosPromise; delete( - params: Params$Resource$Projects$Locations$Servicebindings$Delete, + params: Params$Resource$Projects$Locations$Tcproutes$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Servicebindings$Delete, + params: Params$Resource$Projects$Locations$Tcproutes$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Servicebindings$Delete, + params: Params$Resource$Projects$Locations$Tcproutes$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Servicebindings$Delete + | Params$Resource$Projects$Locations$Tcproutes$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -7227,13 +9468,12 @@ export namespace networkservices_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Servicebindings$Delete; + {}) as Params$Resource$Projects$Locations$Tcproutes$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Servicebindings$Delete; + params = {} as Params$Resource$Projects$Locations$Tcproutes$Delete; options = {}; } @@ -7269,7 +9509,7 @@ export namespace networkservices_v1 { } /** - * Gets details of a single ServiceBinding. + * Gets details of a single TcpRoute. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -7277,49 +9517,49 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Projects$Locations$Servicebindings$Get, + params: Params$Resource$Projects$Locations$Tcproutes$Get, options: StreamMethodOptions ): GaxiosPromise; get( - params?: Params$Resource$Projects$Locations$Servicebindings$Get, + params?: Params$Resource$Projects$Locations$Tcproutes$Get, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; get( - params: Params$Resource$Projects$Locations$Servicebindings$Get, + params: Params$Resource$Projects$Locations$Tcproutes$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Servicebindings$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Tcproutes$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Servicebindings$Get, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Tcproutes$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Servicebindings$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Tcproutes$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Servicebindings$Get; + {}) as Params$Resource$Projects$Locations$Tcproutes$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Servicebindings$Get; + params = {} as Params$Resource$Projects$Locations$Tcproutes$Get; options = {}; } @@ -7345,17 +9585,17 @@ export namespace networkservices_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists ServiceBinding in a given project and location. + * Lists TcpRoute in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -7363,56 +9603,54 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Projects$Locations$Servicebindings$List, + params: Params$Resource$Projects$Locations$Tcproutes$List, options: StreamMethodOptions ): GaxiosPromise; list( - params?: Params$Resource$Projects$Locations$Servicebindings$List, + params?: Params$Resource$Projects$Locations$Tcproutes$List, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; list( - params: Params$Resource$Projects$Locations$Servicebindings$List, + params: Params$Resource$Projects$Locations$Tcproutes$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Servicebindings$List, + params: Params$Resource$Projects$Locations$Tcproutes$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Projects$Locations$Servicebindings$List, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Tcproutes$List, + callback: BodyResponseCallback ): void; + list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Servicebindings$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Tcproutes$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Servicebindings$List; + {}) as Params$Resource$Projects$Locations$Tcproutes$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Servicebindings$List; + params = {} as Params$Resource$Projects$Locations$Tcproutes$List; options = {}; } @@ -7426,7 +9664,7 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/serviceBindings').replace( + url: (rootUrl + '/v1/{+parent}/tcpRoutes').replace( /([^:]\/)\/+/g, '$1' ), @@ -7436,75 +9674,177 @@ export namespace networkservices_v1 { options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the parameters of a single TcpRoute. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Tcproutes$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Tcproutes$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Tcproutes$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Tcproutes$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Tcproutes$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Tcproutes$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Tcproutes$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Tcproutes$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } } - export interface Params$Resource$Projects$Locations$Servicebindings$Create + export interface Params$Resource$Projects$Locations$Tcproutes$Create extends StandardParameters { /** - * Required. The parent resource of the ServiceBinding. Must be in the format `projects/x/locations/global`. + * Required. The parent resource of the TcpRoute. Must be in the format `projects/x/locations/global`. */ parent?: string; /** - * Required. Short name of the ServiceBinding resource to be created. + * Required. Short name of the TcpRoute resource to be created. */ - serviceBindingId?: string; + tcpRouteId?: string; /** * Request body metadata */ - requestBody?: Schema$ServiceBinding; + requestBody?: Schema$TcpRoute; } - export interface Params$Resource$Projects$Locations$Servicebindings$Delete + export interface Params$Resource$Projects$Locations$Tcproutes$Delete extends StandardParameters { /** - * Required. A name of the ServiceBinding to delete. Must be in the format `projects/x/locations/global/serviceBindings/x`. + * Required. A name of the TcpRoute to delete. Must be in the format `projects/x/locations/global/tcpRoutes/x`. */ name?: string; } - export interface Params$Resource$Projects$Locations$Servicebindings$Get + export interface Params$Resource$Projects$Locations$Tcproutes$Get extends StandardParameters { /** - * Required. A name of the ServiceBinding to get. Must be in the format `projects/x/locations/global/serviceBindings/x`. + * Required. A name of the TcpRoute to get. Must be in the format `projects/x/locations/global/tcpRoutes/x`. */ name?: string; } - export interface Params$Resource$Projects$Locations$Servicebindings$List + export interface Params$Resource$Projects$Locations$Tcproutes$List extends StandardParameters { /** - * Maximum number of ServiceBindings to return per call. + * Maximum number of TcpRoutes to return per call. */ pageSize?: number; /** - * The value returned by the last `ListServiceBindingsResponse` Indicates that this is a continuation of a prior `ListRouters` call, and that the system should return the next page of data. + * The value returned by the last `ListTcpRoutesResponse` Indicates that this is a continuation of a prior `ListTcpRoutes` call, and that the system should return the next page of data. */ pageToken?: string; /** - * Required. The project and location from which the ServiceBindings should be listed, specified in the format `projects/x/locations/global`. + * Required. The project and location from which the TcpRoutes should be listed, specified in the format `projects/x/locations/global`. */ parent?: string; } + export interface Params$Resource$Projects$Locations$Tcproutes$Patch + extends StandardParameters { + /** + * Identifier. Name of the TcpRoute resource. It matches pattern `projects/x/locations/global/tcpRoutes/tcp_route_name\>`. + */ + name?: string; + /** + * Optional. Field mask is used to specify the fields to be overwritten in the TcpRoute resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$TcpRoute; + } - export class Resource$Projects$Locations$Servicelbpolicies { + export class Resource$Projects$Locations$Tlsroutes { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Creates a new ServiceLbPolicy in a given project and location. + * Creates a new TlsRoute in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -7512,31 +9852,31 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ create( - params: Params$Resource$Projects$Locations$Servicelbpolicies$Create, + params: Params$Resource$Projects$Locations$Tlsroutes$Create, options: StreamMethodOptions ): GaxiosPromise; create( - params?: Params$Resource$Projects$Locations$Servicelbpolicies$Create, + params?: Params$Resource$Projects$Locations$Tlsroutes$Create, options?: MethodOptions ): GaxiosPromise; create( - params: Params$Resource$Projects$Locations$Servicelbpolicies$Create, + params: Params$Resource$Projects$Locations$Tlsroutes$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Servicelbpolicies$Create, + params: Params$Resource$Projects$Locations$Tlsroutes$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Servicelbpolicies$Create, + params: Params$Resource$Projects$Locations$Tlsroutes$Create, callback: BodyResponseCallback ): void; create(callback: BodyResponseCallback): void; create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Servicelbpolicies$Create + | Params$Resource$Projects$Locations$Tlsroutes$Create | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -7549,13 +9889,12 @@ export namespace networkservices_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Servicelbpolicies$Create; + {}) as Params$Resource$Projects$Locations$Tlsroutes$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Servicelbpolicies$Create; + params = {} as Params$Resource$Projects$Locations$Tlsroutes$Create; options = {}; } @@ -7569,7 +9908,7 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/serviceLbPolicies').replace( + url: (rootUrl + '/v1/{+parent}/tlsRoutes').replace( /([^:]\/)\/+/g, '$1' ), @@ -7594,7 +9933,7 @@ export namespace networkservices_v1 { } /** - * Deletes a single ServiceLbPolicy. + * Deletes a single TlsRoute. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -7602,31 +9941,31 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Projects$Locations$Servicelbpolicies$Delete, + params: Params$Resource$Projects$Locations$Tlsroutes$Delete, options: StreamMethodOptions ): GaxiosPromise; delete( - params?: Params$Resource$Projects$Locations$Servicelbpolicies$Delete, + params?: Params$Resource$Projects$Locations$Tlsroutes$Delete, options?: MethodOptions ): GaxiosPromise; delete( - params: Params$Resource$Projects$Locations$Servicelbpolicies$Delete, + params: Params$Resource$Projects$Locations$Tlsroutes$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Servicelbpolicies$Delete, + params: Params$Resource$Projects$Locations$Tlsroutes$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Servicelbpolicies$Delete, + params: Params$Resource$Projects$Locations$Tlsroutes$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Servicelbpolicies$Delete + | Params$Resource$Projects$Locations$Tlsroutes$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -7639,13 +9978,12 @@ export namespace networkservices_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Servicelbpolicies$Delete; + {}) as Params$Resource$Projects$Locations$Tlsroutes$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Servicelbpolicies$Delete; + params = {} as Params$Resource$Projects$Locations$Tlsroutes$Delete; options = {}; } @@ -7681,7 +10019,7 @@ export namespace networkservices_v1 { } /** - * Gets details of a single ServiceLbPolicy. + * Gets details of a single TlsRoute. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -7689,49 +10027,49 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Projects$Locations$Servicelbpolicies$Get, + params: Params$Resource$Projects$Locations$Tlsroutes$Get, options: StreamMethodOptions ): GaxiosPromise; get( - params?: Params$Resource$Projects$Locations$Servicelbpolicies$Get, + params?: Params$Resource$Projects$Locations$Tlsroutes$Get, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; get( - params: Params$Resource$Projects$Locations$Servicelbpolicies$Get, + params: Params$Resource$Projects$Locations$Tlsroutes$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Servicelbpolicies$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Tlsroutes$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Servicelbpolicies$Get, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Tlsroutes$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Servicelbpolicies$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Tlsroutes$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Servicelbpolicies$Get; + {}) as Params$Resource$Projects$Locations$Tlsroutes$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Servicelbpolicies$Get; + params = {} as Params$Resource$Projects$Locations$Tlsroutes$Get; options = {}; } @@ -7757,17 +10095,17 @@ export namespace networkservices_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists ServiceLbPolicies in a given project and location. + * Lists TlsRoute in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -7775,57 +10113,54 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Projects$Locations$Servicelbpolicies$List, + params: Params$Resource$Projects$Locations$Tlsroutes$List, options: StreamMethodOptions ): GaxiosPromise; list( - params?: Params$Resource$Projects$Locations$Servicelbpolicies$List, + params?: Params$Resource$Projects$Locations$Tlsroutes$List, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; list( - params: Params$Resource$Projects$Locations$Servicelbpolicies$List, + params: Params$Resource$Projects$Locations$Tlsroutes$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Servicelbpolicies$List, + params: Params$Resource$Projects$Locations$Tlsroutes$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - list( - params: Params$Resource$Projects$Locations$Servicelbpolicies$List, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Tlsroutes$List, + callback: BodyResponseCallback ): void; + list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Servicelbpolicies$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Tlsroutes$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Servicelbpolicies$List; + {}) as Params$Resource$Projects$Locations$Tlsroutes$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Servicelbpolicies$List; + params = {} as Params$Resource$Projects$Locations$Tlsroutes$List; options = {}; } @@ -7839,7 +10174,7 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/serviceLbPolicies').replace( + url: (rootUrl + '/v1/{+parent}/tlsRoutes').replace( /([^:]\/)\/+/g, '$1' ), @@ -7854,19 +10189,17 @@ export namespace networkservices_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest( - parameters - ); + return createAPIRequest(parameters); } } /** - * Updates the parameters of a single ServiceLbPolicy. + * Updates the parameters of a single TlsRoute. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -7874,31 +10207,31 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ patch( - params: Params$Resource$Projects$Locations$Servicelbpolicies$Patch, + params: Params$Resource$Projects$Locations$Tlsroutes$Patch, options: StreamMethodOptions ): GaxiosPromise; patch( - params?: Params$Resource$Projects$Locations$Servicelbpolicies$Patch, + params?: Params$Resource$Projects$Locations$Tlsroutes$Patch, options?: MethodOptions ): GaxiosPromise; patch( - params: Params$Resource$Projects$Locations$Servicelbpolicies$Patch, + params: Params$Resource$Projects$Locations$Tlsroutes$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Projects$Locations$Servicelbpolicies$Patch, + params: Params$Resource$Projects$Locations$Tlsroutes$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Projects$Locations$Servicelbpolicies$Patch, + params: Params$Resource$Projects$Locations$Tlsroutes$Patch, callback: BodyResponseCallback ): void; patch(callback: BodyResponseCallback): void; patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Servicelbpolicies$Patch + | Params$Resource$Projects$Locations$Tlsroutes$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -7911,13 +10244,12 @@ export namespace networkservices_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Servicelbpolicies$Patch; + {}) as Params$Resource$Projects$Locations$Tlsroutes$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = - {} as Params$Resource$Projects$Locations$Servicelbpolicies$Patch; + params = {} as Params$Resource$Projects$Locations$Tlsroutes$Patch; options = {}; } @@ -7953,76 +10285,80 @@ export namespace networkservices_v1 { } } - export interface Params$Resource$Projects$Locations$Servicelbpolicies$Create + export interface Params$Resource$Projects$Locations$Tlsroutes$Create extends StandardParameters { /** - * Required. The parent resource of the ServiceLbPolicy. Must be in the format `projects/{project\}/locations/{location\}`. + * Required. The parent resource of the TlsRoute. Must be in the format `projects/x/locations/global`. */ parent?: string; /** - * Required. Short name of the ServiceLbPolicy resource to be created. E.g. for resource name `projects/{project\}/locations/{location\}/serviceLbPolicies/{service_lb_policy_name\}`. the id is value of {service_lb_policy_name\} + * Required. Short name of the TlsRoute resource to be created. */ - serviceLbPolicyId?: string; + tlsRouteId?: string; /** * Request body metadata */ - requestBody?: Schema$ServiceLbPolicy; + requestBody?: Schema$TlsRoute; } - export interface Params$Resource$Projects$Locations$Servicelbpolicies$Delete + export interface Params$Resource$Projects$Locations$Tlsroutes$Delete extends StandardParameters { /** - * Required. A name of the ServiceLbPolicy to delete. Must be in the format `projects/{project\}/locations/{location\}/serviceLbPolicies/x`. + * Required. A name of the TlsRoute to delete. Must be in the format `projects/x/locations/global/tlsRoutes/x`. */ name?: string; } - export interface Params$Resource$Projects$Locations$Servicelbpolicies$Get + export interface Params$Resource$Projects$Locations$Tlsroutes$Get extends StandardParameters { /** - * Required. A name of the ServiceLbPolicy to get. Must be in the format `projects/{project\}/locations/{location\}/serviceLbPolicies/x`. + * Required. A name of the TlsRoute to get. Must be in the format `projects/x/locations/global/tlsRoutes/x`. */ name?: string; } - export interface Params$Resource$Projects$Locations$Servicelbpolicies$List + export interface Params$Resource$Projects$Locations$Tlsroutes$List extends StandardParameters { /** - * Maximum number of ServiceLbPolicies to return per call. + * Maximum number of TlsRoutes to return per call. */ pageSize?: number; /** - * The value returned by the last `ListServiceLbPoliciesResponse` Indicates that this is a continuation of a prior `ListRouters` call, and that the system should return the next page of data. + * The value returned by the last `ListTlsRoutesResponse` Indicates that this is a continuation of a prior `ListTlsRoutes` call, and that the system should return the next page of data. */ pageToken?: string; /** - * Required. The project and location from which the ServiceLbPolicies should be listed, specified in the format `projects/{project\}/locations/{location\}`. + * Required. The project and location from which the TlsRoutes should be listed, specified in the format `projects/x/locations/global`. */ parent?: string; } - export interface Params$Resource$Projects$Locations$Servicelbpolicies$Patch + export interface Params$Resource$Projects$Locations$Tlsroutes$Patch extends StandardParameters { /** - * Required. Name of the ServiceLbPolicy resource. It matches pattern `projects/{project\}/locations/{location\}/serviceLbPolicies/{service_lb_policy_name\}`. + * Identifier. Name of the TlsRoute resource. It matches pattern `projects/x/locations/global/tlsRoutes/tls_route_name\>`. */ name?: string; /** - * Optional. Field mask is used to specify the fields to be overwritten in the ServiceLbPolicy resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + * Optional. Field mask is used to specify the fields to be overwritten in the TlsRoute resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. */ updateMask?: string; /** * Request body metadata */ - requestBody?: Schema$ServiceLbPolicy; + requestBody?: Schema$TlsRoute; } - export class Resource$Projects$Locations$Tcproutes { + export class Resource$Projects$Locations$Wasmplugins { context: APIRequestContext; + versions: Resource$Projects$Locations$Wasmplugins$Versions; constructor(context: APIRequestContext) { this.context = context; + this.versions = new Resource$Projects$Locations$Wasmplugins$Versions( + this.context + ); } /** - * Creates a new TcpRoute in a given project and location. + * Creates a new `WasmPlugin` resource in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -8030,31 +10366,31 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ create( - params: Params$Resource$Projects$Locations$Tcproutes$Create, + params: Params$Resource$Projects$Locations$Wasmplugins$Create, options: StreamMethodOptions ): GaxiosPromise; create( - params?: Params$Resource$Projects$Locations$Tcproutes$Create, + params?: Params$Resource$Projects$Locations$Wasmplugins$Create, options?: MethodOptions ): GaxiosPromise; create( - params: Params$Resource$Projects$Locations$Tcproutes$Create, + params: Params$Resource$Projects$Locations$Wasmplugins$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Tcproutes$Create, + params: Params$Resource$Projects$Locations$Wasmplugins$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Tcproutes$Create, + params: Params$Resource$Projects$Locations$Wasmplugins$Create, callback: BodyResponseCallback ): void; create(callback: BodyResponseCallback): void; create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Tcproutes$Create + | Params$Resource$Projects$Locations$Wasmplugins$Create | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -8067,12 +10403,12 @@ export namespace networkservices_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Tcproutes$Create; + {}) as Params$Resource$Projects$Locations$Wasmplugins$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Tcproutes$Create; + params = {} as Params$Resource$Projects$Locations$Wasmplugins$Create; options = {}; } @@ -8086,7 +10422,7 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/tcpRoutes').replace( + url: (rootUrl + '/v1/{+parent}/wasmPlugins').replace( /([^:]\/)\/+/g, '$1' ), @@ -8111,7 +10447,7 @@ export namespace networkservices_v1 { } /** - * Deletes a single TcpRoute. + * Deletes the specified `WasmPlugin` resource. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -8119,31 +10455,31 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Projects$Locations$Tcproutes$Delete, + params: Params$Resource$Projects$Locations$Wasmplugins$Delete, options: StreamMethodOptions ): GaxiosPromise; delete( - params?: Params$Resource$Projects$Locations$Tcproutes$Delete, + params?: Params$Resource$Projects$Locations$Wasmplugins$Delete, options?: MethodOptions ): GaxiosPromise; delete( - params: Params$Resource$Projects$Locations$Tcproutes$Delete, + params: Params$Resource$Projects$Locations$Wasmplugins$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Tcproutes$Delete, + params: Params$Resource$Projects$Locations$Wasmplugins$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Tcproutes$Delete, + params: Params$Resource$Projects$Locations$Wasmplugins$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Tcproutes$Delete + | Params$Resource$Projects$Locations$Wasmplugins$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -8156,12 +10492,12 @@ export namespace networkservices_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Tcproutes$Delete; + {}) as Params$Resource$Projects$Locations$Wasmplugins$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Tcproutes$Delete; + params = {} as Params$Resource$Projects$Locations$Wasmplugins$Delete; options = {}; } @@ -8197,7 +10533,7 @@ export namespace networkservices_v1 { } /** - * Gets details of a single TcpRoute. + * Gets details of the specified `WasmPlugin` resource. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -8205,49 +10541,49 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Projects$Locations$Tcproutes$Get, + params: Params$Resource$Projects$Locations$Wasmplugins$Get, options: StreamMethodOptions ): GaxiosPromise; get( - params?: Params$Resource$Projects$Locations$Tcproutes$Get, + params?: Params$Resource$Projects$Locations$Wasmplugins$Get, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; get( - params: Params$Resource$Projects$Locations$Tcproutes$Get, + params: Params$Resource$Projects$Locations$Wasmplugins$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Tcproutes$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Wasmplugins$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Tcproutes$Get, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Wasmplugins$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Tcproutes$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Wasmplugins$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Tcproutes$Get; + {}) as Params$Resource$Projects$Locations$Wasmplugins$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Tcproutes$Get; + params = {} as Params$Resource$Projects$Locations$Wasmplugins$Get; options = {}; } @@ -8273,17 +10609,17 @@ export namespace networkservices_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists TcpRoute in a given project and location. + * Lists `WasmPlugin` resources in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -8291,54 +10627,54 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Projects$Locations$Tcproutes$List, + params: Params$Resource$Projects$Locations$Wasmplugins$List, options: StreamMethodOptions ): GaxiosPromise; list( - params?: Params$Resource$Projects$Locations$Tcproutes$List, + params?: Params$Resource$Projects$Locations$Wasmplugins$List, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; list( - params: Params$Resource$Projects$Locations$Tcproutes$List, + params: Params$Resource$Projects$Locations$Wasmplugins$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Tcproutes$List, + params: Params$Resource$Projects$Locations$Wasmplugins$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Tcproutes$List, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Wasmplugins$List, + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; + list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Tcproutes$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Wasmplugins$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Tcproutes$List; + {}) as Params$Resource$Projects$Locations$Wasmplugins$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Tcproutes$List; + params = {} as Params$Resource$Projects$Locations$Wasmplugins$List; options = {}; } @@ -8352,7 +10688,7 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/tcpRoutes').replace( + url: (rootUrl + '/v1/{+parent}/wasmPlugins').replace( /([^:]\/)\/+/g, '$1' ), @@ -8367,17 +10703,17 @@ export namespace networkservices_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Updates the parameters of a single TcpRoute. + * Updates the parameters of the specified `WasmPlugin` resource. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -8385,31 +10721,31 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ patch( - params: Params$Resource$Projects$Locations$Tcproutes$Patch, + params: Params$Resource$Projects$Locations$Wasmplugins$Patch, options: StreamMethodOptions ): GaxiosPromise; patch( - params?: Params$Resource$Projects$Locations$Tcproutes$Patch, + params?: Params$Resource$Projects$Locations$Wasmplugins$Patch, options?: MethodOptions ): GaxiosPromise; patch( - params: Params$Resource$Projects$Locations$Tcproutes$Patch, + params: Params$Resource$Projects$Locations$Wasmplugins$Patch, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Projects$Locations$Tcproutes$Patch, + params: Params$Resource$Projects$Locations$Wasmplugins$Patch, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; patch( - params: Params$Resource$Projects$Locations$Tcproutes$Patch, + params: Params$Resource$Projects$Locations$Wasmplugins$Patch, callback: BodyResponseCallback ): void; patch(callback: BodyResponseCallback): void; patch( paramsOrCallback?: - | Params$Resource$Projects$Locations$Tcproutes$Patch + | Params$Resource$Projects$Locations$Wasmplugins$Patch | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -8422,12 +10758,12 @@ export namespace networkservices_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Tcproutes$Patch; + {}) as Params$Resource$Projects$Locations$Wasmplugins$Patch; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Tcproutes$Patch; + params = {} as Params$Resource$Projects$Locations$Wasmplugins$Patch; options = {}; } @@ -8463,76 +10799,80 @@ export namespace networkservices_v1 { } } - export interface Params$Resource$Projects$Locations$Tcproutes$Create + export interface Params$Resource$Projects$Locations$Wasmplugins$Create extends StandardParameters { /** - * Required. The parent resource of the TcpRoute. Must be in the format `projects/x/locations/global`. + * Required. The parent resource of the `WasmPlugin` resource. Must be in the format `projects/{project\}/locations/global`. */ parent?: string; /** - * Required. Short name of the TcpRoute resource to be created. + * Required. User-provided ID of the `WasmPlugin` resource to be created. */ - tcpRouteId?: string; + wasmPluginId?: string; /** * Request body metadata */ - requestBody?: Schema$TcpRoute; + requestBody?: Schema$WasmPlugin; } - export interface Params$Resource$Projects$Locations$Tcproutes$Delete + export interface Params$Resource$Projects$Locations$Wasmplugins$Delete extends StandardParameters { /** - * Required. A name of the TcpRoute to delete. Must be in the format `projects/x/locations/global/tcpRoutes/x`. + * Required. A name of the `WasmPlugin` resource to delete. Must be in the format `projects/{project\}/locations/global/wasmPlugins/{wasm_plugin\}`. */ name?: string; } - export interface Params$Resource$Projects$Locations$Tcproutes$Get + export interface Params$Resource$Projects$Locations$Wasmplugins$Get extends StandardParameters { /** - * Required. A name of the TcpRoute to get. Must be in the format `projects/x/locations/global/tcpRoutes/x`. + * Required. A name of the `WasmPlugin` resource to get. Must be in the format `projects/{project\}/locations/global/wasmPlugins/{wasm_plugin\}`. */ name?: string; + /** + * Determines how much data must be returned in the response. See [AIP-157](https://google.aip.dev/157). + */ + view?: string; } - export interface Params$Resource$Projects$Locations$Tcproutes$List + export interface Params$Resource$Projects$Locations$Wasmplugins$List extends StandardParameters { /** - * Maximum number of TcpRoutes to return per call. + * Maximum number of `WasmPlugin` resources to return per call. If not specified, at most 50 `WasmPlugin` resources are returned. The maximum value is 1000; values above 1000 are coerced to 1000. */ pageSize?: number; /** - * The value returned by the last `ListTcpRoutesResponse` Indicates that this is a continuation of a prior `ListTcpRoutes` call, and that the system should return the next page of data. + * The value returned by the last `ListWasmPluginsResponse` call. Indicates that this is a continuation of a prior `ListWasmPlugins` call, and that the next page of data is to be returned. */ pageToken?: string; /** - * Required. The project and location from which the TcpRoutes should be listed, specified in the format `projects/x/locations/global`. + * Required. The project and location from which the `WasmPlugin` resources are listed, specified in the following format: `projects/{project\}/locations/global`. */ parent?: string; } - export interface Params$Resource$Projects$Locations$Tcproutes$Patch + export interface Params$Resource$Projects$Locations$Wasmplugins$Patch extends StandardParameters { /** - * Identifier. Name of the TcpRoute resource. It matches pattern `projects/x/locations/global/tcpRoutes/tcp_route_name\>`. + * Identifier. Name of the `WasmPlugin` resource in the following format: `projects/{project\}/locations/{location\}/wasmPlugins/{wasm_plugin\}`. */ name?: string; /** - * Optional. Field mask is used to specify the fields to be overwritten in the TcpRoute resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. + * Optional. Used to specify the fields to be overwritten in the `WasmPlugin` resource by the update. The fields specified in the `update_mask` field are relative to the resource, not the full request. An omitted `update_mask` field is treated as an implied `update_mask` field equivalent to all fields that are populated (that have a non-empty value). The `update_mask` field supports a special value `*`, which means that each field in the given `WasmPlugin` resource (including the empty ones) replaces the current value. */ updateMask?: string; /** * Request body metadata */ - requestBody?: Schema$TcpRoute; + requestBody?: Schema$WasmPlugin; } - export class Resource$Projects$Locations$Tlsroutes { + export class Resource$Projects$Locations$Wasmplugins$Versions { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Creates a new TlsRoute in a given project and location. + * Creates a new `WasmPluginVersion` resource in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -8540,31 +10880,31 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ create( - params: Params$Resource$Projects$Locations$Tlsroutes$Create, + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$Create, options: StreamMethodOptions ): GaxiosPromise; create( - params?: Params$Resource$Projects$Locations$Tlsroutes$Create, + params?: Params$Resource$Projects$Locations$Wasmplugins$Versions$Create, options?: MethodOptions ): GaxiosPromise; create( - params: Params$Resource$Projects$Locations$Tlsroutes$Create, + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$Create, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Tlsroutes$Create, + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$Create, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; create( - params: Params$Resource$Projects$Locations$Tlsroutes$Create, + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$Create, callback: BodyResponseCallback ): void; create(callback: BodyResponseCallback): void; create( paramsOrCallback?: - | Params$Resource$Projects$Locations$Tlsroutes$Create + | Params$Resource$Projects$Locations$Wasmplugins$Versions$Create | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -8577,12 +10917,13 @@ export namespace networkservices_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Tlsroutes$Create; + {}) as Params$Resource$Projects$Locations$Wasmplugins$Versions$Create; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Tlsroutes$Create; + params = + {} as Params$Resource$Projects$Locations$Wasmplugins$Versions$Create; options = {}; } @@ -8596,7 +10937,7 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/tlsRoutes').replace( + url: (rootUrl + '/v1/{+parent}/versions').replace( /([^:]\/)\/+/g, '$1' ), @@ -8621,7 +10962,7 @@ export namespace networkservices_v1 { } /** - * Deletes a single TlsRoute. + * Deletes the specified `WasmPluginVersion` resource. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -8629,31 +10970,31 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ delete( - params: Params$Resource$Projects$Locations$Tlsroutes$Delete, + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$Delete, options: StreamMethodOptions ): GaxiosPromise; delete( - params?: Params$Resource$Projects$Locations$Tlsroutes$Delete, + params?: Params$Resource$Projects$Locations$Wasmplugins$Versions$Delete, options?: MethodOptions ): GaxiosPromise; delete( - params: Params$Resource$Projects$Locations$Tlsroutes$Delete, + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$Delete, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Tlsroutes$Delete, + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$Delete, options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( - params: Params$Resource$Projects$Locations$Tlsroutes$Delete, + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$Delete, callback: BodyResponseCallback ): void; delete(callback: BodyResponseCallback): void; delete( paramsOrCallback?: - | Params$Resource$Projects$Locations$Tlsroutes$Delete + | Params$Resource$Projects$Locations$Wasmplugins$Versions$Delete | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: @@ -8666,12 +11007,13 @@ export namespace networkservices_v1 { | BodyResponseCallback ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Tlsroutes$Delete; + {}) as Params$Resource$Projects$Locations$Wasmplugins$Versions$Delete; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Tlsroutes$Delete; + params = + {} as Params$Resource$Projects$Locations$Wasmplugins$Versions$Delete; options = {}; } @@ -8707,7 +11049,7 @@ export namespace networkservices_v1 { } /** - * Gets details of a single TlsRoute. + * Gets details of the specified `WasmPluginVersion` resource. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -8715,49 +11057,53 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ get( - params: Params$Resource$Projects$Locations$Tlsroutes$Get, + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$Get, options: StreamMethodOptions ): GaxiosPromise; get( - params?: Params$Resource$Projects$Locations$Tlsroutes$Get, + params?: Params$Resource$Projects$Locations$Wasmplugins$Versions$Get, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; get( - params: Params$Resource$Projects$Locations$Tlsroutes$Get, + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Tlsroutes$Get, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; get( - params: Params$Resource$Projects$Locations$Tlsroutes$Get, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$Get, + callback: BodyResponseCallback ): void; - get(callback: BodyResponseCallback): void; + get(callback: BodyResponseCallback): void; get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Tlsroutes$Get - | BodyResponseCallback + | Params$Resource$Projects$Locations$Wasmplugins$Versions$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Tlsroutes$Get; + {}) as Params$Resource$Projects$Locations$Wasmplugins$Versions$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Tlsroutes$Get; + params = + {} as Params$Resource$Projects$Locations$Wasmplugins$Versions$Get; options = {}; } @@ -8783,17 +11129,17 @@ export namespace networkservices_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Lists TlsRoute in a given project and location. + * Lists `WasmPluginVersion` resources in a given project and location. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -8801,54 +11147,57 @@ export namespace networkservices_v1 { * @returns A promise if used with async/await, or void if used with a callback. */ list( - params: Params$Resource$Projects$Locations$Tlsroutes$List, + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$List, options: StreamMethodOptions ): GaxiosPromise; list( - params?: Params$Resource$Projects$Locations$Tlsroutes$List, + params?: Params$Resource$Projects$Locations$Wasmplugins$Versions$List, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; list( - params: Params$Resource$Projects$Locations$Tlsroutes$List, + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Tlsroutes$List, + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$List, options: | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback + | BodyResponseCallback, + callback: BodyResponseCallback ): void; list( - params: Params$Resource$Projects$Locations$Tlsroutes$List, - callback: BodyResponseCallback + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback ): void; - list(callback: BodyResponseCallback): void; list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Tlsroutes$List - | BodyResponseCallback + | Params$Resource$Projects$Locations$Wasmplugins$Versions$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback ): | void - | GaxiosPromise + | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Tlsroutes$List; + {}) as Params$Resource$Projects$Locations$Wasmplugins$Versions$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Tlsroutes$List; + params = + {} as Params$Resource$Projects$Locations$Wasmplugins$Versions$List; options = {}; } @@ -8862,7 +11211,7 @@ export namespace networkservices_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/tlsRoutes').replace( + url: (rootUrl + '/v1/{+parent}/versions').replace( /([^:]\/)\/+/g, '$1' ), @@ -8877,161 +11226,61 @@ export namespace networkservices_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); - } - } - - /** - * Updates the parameters of a single TlsRoute. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - patch( - params: Params$Resource$Projects$Locations$Tlsroutes$Patch, - options: StreamMethodOptions - ): GaxiosPromise; - patch( - params?: Params$Resource$Projects$Locations$Tlsroutes$Patch, - options?: MethodOptions - ): GaxiosPromise; - patch( - params: Params$Resource$Projects$Locations$Tlsroutes$Patch, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Projects$Locations$Tlsroutes$Patch, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - patch( - params: Params$Resource$Projects$Locations$Tlsroutes$Patch, - callback: BodyResponseCallback - ): void; - patch(callback: BodyResponseCallback): void; - patch( - paramsOrCallback?: - | Params$Resource$Projects$Locations$Tlsroutes$Patch - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Tlsroutes$Patch; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Tlsroutes$Patch; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = - options.rootUrl || 'https://networkservices.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), - method: 'PATCH', - apiVersion: '', - }, - options - ), - params, - requiredParams: ['name'], - pathParams: ['name'], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback + return createAPIRequest( + parameters ); - } else { - return createAPIRequest(parameters); } } } - export interface Params$Resource$Projects$Locations$Tlsroutes$Create + export interface Params$Resource$Projects$Locations$Wasmplugins$Versions$Create extends StandardParameters { /** - * Required. The parent resource of the TlsRoute. Must be in the format `projects/x/locations/global`. + * Required. The parent resource of the `WasmPluginVersion` resource. Must be in the format `projects/{project\}/locations/global/wasmPlugins/{wasm_plugin\}`. */ parent?: string; /** - * Required. Short name of the TlsRoute resource to be created. + * Required. User-provided ID of the `WasmPluginVersion` resource to be created. */ - tlsRouteId?: string; + wasmPluginVersionId?: string; /** * Request body metadata */ - requestBody?: Schema$TlsRoute; + requestBody?: Schema$WasmPluginVersion; } - export interface Params$Resource$Projects$Locations$Tlsroutes$Delete + export interface Params$Resource$Projects$Locations$Wasmplugins$Versions$Delete extends StandardParameters { /** - * Required. A name of the TlsRoute to delete. Must be in the format `projects/x/locations/global/tlsRoutes/x`. + * Required. A name of the `WasmPluginVersion` resource to delete. Must be in the format `projects/{project\}/locations/global/wasmPlugins/{wasm_plugin\}/versions/{wasm_plugin_version\}`. */ name?: string; } - export interface Params$Resource$Projects$Locations$Tlsroutes$Get + export interface Params$Resource$Projects$Locations$Wasmplugins$Versions$Get extends StandardParameters { /** - * Required. A name of the TlsRoute to get. Must be in the format `projects/x/locations/global/tlsRoutes/x`. + * Required. A name of the `WasmPluginVersion` resource to get. Must be in the format `projects/{project\}/locations/global/wasmPlugins/{wasm_plugin\}/versions/{wasm_plugin_version\}`. */ name?: string; } - export interface Params$Resource$Projects$Locations$Tlsroutes$List + export interface Params$Resource$Projects$Locations$Wasmplugins$Versions$List extends StandardParameters { /** - * Maximum number of TlsRoutes to return per call. + * Maximum number of `WasmPluginVersion` resources to return per call. If not specified, at most 50 `WasmPluginVersion` resources are returned. The maximum value is 1000; values above 1000 are coerced to 1000. */ pageSize?: number; /** - * The value returned by the last `ListTlsRoutesResponse` Indicates that this is a continuation of a prior `ListTlsRoutes` call, and that the system should return the next page of data. + * The value returned by the last `ListWasmPluginVersionsResponse` call. Indicates that this is a continuation of a prior `ListWasmPluginVersions` call, and that the next page of data is to be returned. */ pageToken?: string; /** - * Required. The project and location from which the TlsRoutes should be listed, specified in the format `projects/x/locations/global`. + * Required. The `WasmPlugin` resource whose `WasmPluginVersion`s are listed, specified in the following format: `projects/{project\}/locations/global/wasmPlugins/{wasm_plugin\}`. */ parent?: string; } - export interface Params$Resource$Projects$Locations$Tlsroutes$Patch - extends StandardParameters { - /** - * Identifier. Name of the TlsRoute resource. It matches pattern `projects/x/locations/global/tlsRoutes/tls_route_name\>`. - */ - name?: string; - /** - * Optional. Field mask is used to specify the fields to be overwritten in the TlsRoute resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten. - */ - updateMask?: string; - - /** - * Request body metadata - */ - requestBody?: Schema$TlsRoute; - } } diff --git a/src/apis/networkservices/v1beta1.ts b/src/apis/networkservices/v1beta1.ts index 9b16e028ef..eceb905a32 100644 --- a/src/apis/networkservices/v1beta1.ts +++ b/src/apis/networkservices/v1beta1.ts @@ -269,7 +269,7 @@ export namespace networkservices_v1beta1 { */ export interface Schema$ExtensionChainExtension { /** - * Optional. The `:authority` header in the gRPC request sent from Envoy to the extension service. Required for Callout extensions. + * Optional. The `:authority` header in the gRPC request sent from Envoy to the extension service. Required for Callout extensions. This field is not supported for plugin extensions. Setting it results in a validation error. */ authority?: string | null; /** @@ -280,20 +280,24 @@ export namespace networkservices_v1beta1 { * Optional. List of the HTTP headers to forward to the extension (from the client or backend). If omitted, all headers are sent. Each element is a string indicating the header name. */ forwardHeaders?: string[] | null; + /** + * Optional. The metadata provided here is included as part of the `metadata_context` (of type `google.protobuf.Struct`) in the `ProcessingRequest` message sent to the extension server. The metadata is available under the namespace `com.google....`. For example: `com.google.lb_traffic_extension.lbtrafficextension1.chain1.ext1`. The following variables are supported in the metadata: `{forwarding_rule_id\}` - substituted with the forwarding rule's fully qualified resource name. This field is not supported for plugin extensions. Setting it results in a validation error. + */ + metadata?: {[key: string]: any} | null; /** * Required. The name for this extension. The name is logged as part of the HTTP request logs. The name must conform with RFC-1034, is restricted to lower-cased letters, numbers and hyphens, and can have a maximum length of 63 characters. Additionally, the first character must be a letter and the last a letter or a number. */ name?: string | null; /** - * Required. The reference to the service that runs the extension. Currently only callout extensions are supported here. To configure a callout extension, `service` must be a fully-qualified reference to a [backend service](https://cloud.google.com/compute/docs/reference/rest/v1/backendServices) in the format: `https://www.googleapis.com/compute/v1/projects/{project\}/regions/{region\}/backendServices/{backendService\}` or `https://www.googleapis.com/compute/v1/projects/{project\}/global/backendServices/{backendService\}`. + * Required. The reference to the service that runs the extension. To configure a callout extension, `service` must be a fully-qualified reference to a [backend service](https://cloud.google.com/compute/docs/reference/rest/v1/backendServices) in the format: `https://www.googleapis.com/compute/v1/projects/{project\}/regions/{region\}/backendServices/{backendService\}` or `https://www.googleapis.com/compute/v1/projects/{project\}/global/backendServices/{backendService\}`. To configure a plugin extension, `service` must be a reference to a [`WasmPlugin` resource](https://cloud.google.com/service-extensions/docs/reference/rest/v1beta1/projects.locations.wasmPlugins) in the format: `projects/{project\}/locations/{location\}/wasmPlugins/{plugin\}` or `//networkservices.googleapis.com/projects/{project\}/locations/{location\}/wasmPlugins/{wasmPlugin\}`. Plugin extensions are currently supported for the `LbTrafficExtension` and the `LbRouteExtension` resources. */ service?: string | null; /** - * Optional. A set of events during request or response processing for which this extension is called. This field is required for the `LbTrafficExtension` resource. It must not be set for the `LbRouteExtension` resource. + * Optional. A set of events during request or response processing for which this extension is called. This field is required for the `LbTrafficExtension` resource. It must not be set for the `LbRouteExtension` resource, otherwise a validation error is returned. */ supportedEvents?: string[] | null; /** - * Optional. Specifies the timeout for each individual message on the stream. The timeout must be between 10-1000 milliseconds. Required for Callout extensions. + * Optional. Specifies the timeout for each individual message on the stream. The timeout must be between `10`-`1000` milliseconds. Required for callout extensions. This field is not supported for plugin extensions. Setting it results in a validation error. */ timeout?: string | null; } @@ -383,6 +387,31 @@ export namespace networkservices_v1beta1 { */ updateTime?: string | null; } + /** + * GatewayRouteView defines view-only resource for Routes to a Gateway + */ + export interface Schema$GatewayRouteView { + /** + * Output only. Identifier. Full path name of the GatewayRouteView resource. Format: projects/{project_number\}/locations/{location\}/gateways/{gateway_name\}/routeViews/{route_view_name\} + */ + name?: string | null; + /** + * Output only. The resource id for the route. + */ + routeId?: string | null; + /** + * Output only. Location where the route exists. + */ + routeLocation?: string | null; + /** + * Output only. Project number where the route exists. + */ + routeProjectNumber?: string | null; + /** + * Output only. Type of the route: HttpRoute,GrpcRoute,TcpRoute, or TlsRoute + */ + routeType?: string | null; + } /** * GrpcRoute is the resource defining how gRPC traffic routed by a Mesh or Gateway resource is routed. */ @@ -1043,7 +1072,7 @@ export namespace networkservices_v1beta1 { */ extensionChains?: Schema$ExtensionChain[]; /** - * Required. A list of references to the forwarding rules to which this service extension is attached to. At least one forwarding rule is required. There can be only one `LbRouteExtension` resource per forwarding rule. + * Required. A list of references to the forwarding rules to which this service extension is attached. At least one forwarding rule is required. There can be only one `LbRouteExtension` resource per forwarding rule. */ forwardingRules?: string[] | null; /** @@ -1055,7 +1084,7 @@ export namespace networkservices_v1beta1 { */ loadBalancingScheme?: string | null; /** - * Optional. The metadata provided here is included as part of the `metadata_context` (of type `google.protobuf.Struct`) in the `ProcessingRequest` message sent to the extension server. The metadata is available under the namespace `com.google.lb_route_extension.`. The following variables are supported in the metadata Struct: `{forwarding_rule_id\}` - substituted with the forwarding rule's fully qualified resource name. + * Optional. The metadata provided here is included as part of the `metadata_context` (of type `google.protobuf.Struct`) in the `ProcessingRequest` message sent to the extension server. The metadata is available under the namespace `com.google.lb_route_extension.`. The following variables are supported in the metadata Struct: `{forwarding_rule_id\}` - substituted with the forwarding rule's fully qualified resource name. This field is not supported for plugin extensions. Setting it results in a validation error. */ metadata?: {[key: string]: any} | null; /** @@ -1084,7 +1113,7 @@ export namespace networkservices_v1beta1 { */ extensionChains?: Schema$ExtensionChain[]; /** - * Required. A list of references to the forwarding rules to which this service extension is attached to. At least one forwarding rule is required. There can be only one `LBTrafficExtension` resource per forwarding rule. + * Optional. A list of references to the forwarding rules to which this service extension is attached. At least one forwarding rule is required. There can be only one `LBTrafficExtension` resource per forwarding rule. */ forwardingRules?: string[] | null; /** @@ -1096,7 +1125,7 @@ export namespace networkservices_v1beta1 { */ loadBalancingScheme?: string | null; /** - * Optional. The metadata provided here is included in the `ProcessingRequest.metadata_context.filter_metadata` map field. The metadata is available under the key `com.google.lb_traffic_extension.`. The following variables are supported in the metadata: `{forwarding_rule_id\}` - substituted with the forwarding rule's fully qualified resource name. + * Optional. The metadata provided here is included in the `ProcessingRequest.metadata_context.filter_metadata` map field. The metadata is available under the key `com.google.lb_traffic_extension.`. The following variables are supported in the metadata: `{forwarding_rule_id\}` - substituted with the forwarding rule's fully qualified resource name. This field is not supported for plugin extensions. Setting it results in a validation error. */ metadata?: {[key: string]: any} | null; /** @@ -1138,6 +1167,19 @@ export namespace networkservices_v1beta1 { */ nextPageToken?: string | null; } + /** + * Response returned by the ListGatewayRouteViews method. + */ + export interface Schema$ListGatewayRouteViewsResponse { + /** + * List of GatewayRouteView resources. + */ + gatewayRouteViews?: Schema$GatewayRouteView[]; + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + } /** * Response returned by the ListGateways method. */ @@ -1241,6 +1283,19 @@ export namespace networkservices_v1beta1 { */ nextPageToken?: string | null; } + /** + * Response returned by the ListMeshRouteViews method. + */ + export interface Schema$ListMeshRouteViewsResponse { + /** + * List of MeshRouteView resources. + */ + meshRouteViews?: Schema$MeshRouteView[]; + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + } /** * The response message for Operations.ListOperations. */ @@ -1306,6 +1361,32 @@ export namespace networkservices_v1beta1 { */ tlsRoutes?: Schema$TlsRoute[]; } + /** + * Response returned by the `ListWasmPlugins` method. + */ + export interface Schema$ListWasmPluginsResponse { + /** + * If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`. + */ + nextPageToken?: string | null; + /** + * List of `WasmPlugin` resources. + */ + wasmPlugins?: Schema$WasmPlugin[]; + } + /** + * Response returned by the `ListWasmPluginVersions` method. + */ + export interface Schema$ListWasmPluginVersionsResponse { + /** + * If there might be more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`. + */ + nextPageToken?: string | null; + /** + * List of `WasmPluginVersion` resources. + */ + wasmPluginVersions?: Schema$WasmPluginVersion[]; + } /** * A resource that represents a Google Cloud location. */ @@ -1332,7 +1413,7 @@ export namespace networkservices_v1beta1 { name?: string | null; } /** - * The configuration for Platform Telemetry logging for Eventarc Avdvanced resources. + * The configuration for Platform Telemetry logging for Eventarc Advanced resources. */ export interface Schema$LoggingConfig { /** @@ -1377,6 +1458,31 @@ export namespace networkservices_v1beta1 { */ updateTime?: string | null; } + /** + * MeshRouteView defines view-only resource for Routes to a Mesh + */ + export interface Schema$MeshRouteView { + /** + * Output only. Identifier. Full path name of the MeshRouteView resource. Format: projects/{project_number\}/locations/{location\}/meshes/{mesh_name\}/routeViews/{route_view_name\} + */ + name?: string | null; + /** + * Output only. The resource id for the route. + */ + routeId?: string | null; + /** + * Output only. Location where the route exists. + */ + routeLocation?: string | null; + /** + * Output only. Project number where the route exists. + */ + routeProjectNumber?: string | null; + /** + * Output only. Type of the route: HttpRoute,GrpcRoute,TcpRoute, or TlsRoute + */ + routeType?: string | null; + } /** * The matcher that is based on node metadata presented by xDS clients. */ @@ -1529,7 +1635,7 @@ export namespace networkservices_v1beta1 { */ loadBalancingAlgorithm?: string | null; /** - * Required. Name of the ServiceLbPolicy resource. It matches pattern `projects/{project\}/locations/{location\}/serviceLbPolicies/{service_lb_policy_name\}`. + * Identifier. Name of the ServiceLbPolicy resource. It matches pattern `projects/{project\}/locations/{location\}/serviceLbPolicies/{service_lb_policy_name\}`. */ name?: string | null; /** @@ -1771,6 +1877,159 @@ export namespace networkservices_v1beta1 { */ ports?: string[] | null; } + /** + * `WasmPlugin` is a resource representing a service executing a customer-provided Wasm module. + */ + export interface Schema$WasmPlugin { + /** + * Output only. The timestamp when the resource was created. + */ + createTime?: string | null; + /** + * Optional. A human-readable description of the resource. + */ + description?: string | null; + /** + * Optional. Set of labels associated with the `WasmPlugin` resource. The format must comply with [the following requirements](/compute/docs/labeling-resources#requirements). + */ + labels?: {[key: string]: string} | null; + /** + * Optional. Specifies the logging options for the activity performed by this plugin. If logging is enabled, plugin logs are exported to Cloud Logging. Note that the settings relate to the logs generated by using logging statements in your Wasm code. + */ + logConfig?: Schema$WasmPluginLogConfig; + /** + * Optional. The ID of the `WasmPluginVersion` resource that is the currently serving one. The version referred to must be a child of this `WasmPlugin` resource. + */ + mainVersionId?: string | null; + /** + * Identifier. Name of the `WasmPlugin` resource in the following format: `projects/{project\}/locations/{location\}/wasmPlugins/{wasm_plugin\}`. + */ + name?: string | null; + /** + * Output only. The timestamp when the resource was updated. + */ + updateTime?: string | null; + /** + * Output only. List of all [extensions](https://cloud.google.com/service-extensions/docs/overview) that use this `WasmPlugin` resource. + */ + usedBy?: Schema$WasmPluginUsedBy[]; + /** + * Optional. All versions of this `WasmPlugin` resource in the key-value format. The key is the resource ID, and the value is the `VersionDetails` object. Lets you create or update a `WasmPlugin` resource and its versions in a single request. When the `main_version_id` field is not empty, it must point to one of the `VersionDetails` objects in the map. If provided in a `PATCH` request, the new versions replace the previous set. Any version omitted from the `versions` field is removed. Because the `WasmPluginVersion` resource is immutable, if a `WasmPluginVersion` resource with the same name already exists and differs, the request fails. Note: In a `GET` request, this field is populated only if the field `GetWasmPluginRequest.view` is set to `WASM_PLUGIN_VIEW_FULL`. + */ + versions?: {[key: string]: Schema$WasmPluginVersionDetails} | null; + } + /** + * Specifies the logging options for the activity performed by this plugin. If logging is enabled, plugin logs are exported to Cloud Logging. + */ + export interface Schema$WasmPluginLogConfig { + /** + * Optional. Specifies whether to enable logging for activity by this plugin. Defaults to `false`. + */ + enable?: boolean | null; + /** + * Non-empty default. Specificies the lowest level of the plugin logs that are exported to Cloud Logging. This setting relates to the logs generated by using logging statements in your Wasm code. This field is can be set only if logging is enabled for the plugin. If the field is not provided when logging is enabled, it is set to `INFO` by default. + */ + minLogLevel?: string | null; + /** + * Non-empty default. Configures the sampling rate of activity logs, where `1.0` means all logged activity is reported and `0.0` means no activity is reported. A floating point value between `0.0` and `1.0` indicates that a percentage of log messages is stored. The default value when logging is enabled is `1.0`. The value of the field must be between `0` and `1` (inclusive). This field can be specified only if logging is enabled for this plugin. + */ + sampleRate?: number | null; + } + /** + * Defines a resource that uses the `WasmPlugin` resource. + */ + export interface Schema$WasmPluginUsedBy { + /** + * Output only. Full name of the resource https://google.aip.dev/122#full-resource-names, for example `//networkservices.googleapis.com/projects/{project\}/locations/{location\}/lbRouteExtensions/{extension\}` + */ + name?: string | null; + } + /** + * A single immutable version of a `WasmPlugin` resource. Defines the Wasm module used and optionally its runtime config. + */ + export interface Schema$WasmPluginVersion { + /** + * Output only. The timestamp when the resource was created. + */ + createTime?: string | null; + /** + * Optional. A human-readable description of the resource. + */ + description?: string | null; + /** + * Output only. The resolved digest for the image specified in the `image` field. The digest is resolved during the creation of `WasmPluginVersion` resource. This field holds the digest value, regardless of whether a tag or digest was originally specified in the `image` field. + */ + imageDigest?: string | null; + /** + * Optional. URI of the container image containing the plugin, stored in the Artifact Registry. When a new `WasmPluginVersion` resource is created, the digest of the container image is saved in the `image_digest` field. When downloading an image, the digest value is used instead of an image tag. + */ + imageUri?: string | null; + /** + * Optional. Set of labels associated with the `WasmPluginVersion` resource. + */ + labels?: {[key: string]: string} | null; + /** + * Identifier. Name of the `WasmPluginVersion` resource in the following format: `projects/{project\}/locations/{location\}/wasmPlugins/{wasm_plugin\}/ versions/{wasm_plugin_version\}`. + */ + name?: string | null; + /** + * Configuration for the plugin. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. When a new `WasmPluginVersion` resource is created, the digest of the contents is saved in the `plugin_config_digest` field. + */ + pluginConfigData?: string | null; + /** + * Output only. This field holds the digest (usually checksum) value for the plugin configuration. The value is calculated based on the contents of `plugin_config_data` or the container image defined by the `plugin_config_uri` field. + */ + pluginConfigDigest?: string | null; + /** + * URI of the plugin configuration stored in the Artifact Registry. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. The container image must contain only a single file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the digest of the container image is saved in the `plugin_config_digest` field. + */ + pluginConfigUri?: string | null; + /** + * Output only. The timestamp when the resource was updated. + */ + updateTime?: string | null; + } + /** + * Details of a `WasmPluginVersion` resource to be inlined in the `WasmPlugin` resource. + */ + export interface Schema$WasmPluginVersionDetails { + /** + * Output only. The timestamp when the resource was created. + */ + createTime?: string | null; + /** + * Optional. A human-readable description of the resource. + */ + description?: string | null; + /** + * Output only. The resolved digest for the image specified in `image`. The digest is resolved during the creation of a `WasmPluginVersion` resource. This field holds the digest value regardless of whether a tag or digest was originally specified in the `image` field. + */ + imageDigest?: string | null; + /** + * Optional. URI of the container image containing the Wasm module, stored in the Artifact Registry. The container image must contain only a single file with the name `plugin.wasm`. When a new `WasmPluginVersion` resource is created, the URI gets resolved to an image digest and saved in the `image_digest` field. + */ + imageUri?: string | null; + /** + * Optional. Set of labels associated with the `WasmPluginVersion` resource. + */ + labels?: {[key: string]: string} | null; + /** + * Configuration for the plugin. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. When a new `WasmPluginVersion` version is created, the digest of the contents is saved in the `plugin_config_digest` field. + */ + pluginConfigData?: string | null; + /** + * Output only. This field holds the digest (usually checksum) value for the plugin configuration. The value is calculated based on the contents of the `plugin_config_data` field or the container image defined by the `plugin_config_uri` field. + */ + pluginConfigDigest?: string | null; + /** + * URI of the plugin configuration stored in the Artifact Registry. The configuration is provided to the plugin at runtime through the `ON_CONFIGURE` callback. The container image must contain only a single file with the name `plugin.config`. When a new `WasmPluginVersion` resource is created, the digest of the container image is saved in the `plugin_config_digest` field. + */ + pluginConfigUri?: string | null; + /** + * Output only. The timestamp when the resource was updated. + */ + updateTime?: string | null; + } export class Resource$Projects { context: APIRequestContext; @@ -1796,6 +2055,7 @@ export namespace networkservices_v1beta1 { serviceLbPolicies: Resource$Projects$Locations$Servicelbpolicies; tcpRoutes: Resource$Projects$Locations$Tcproutes; tlsRoutes: Resource$Projects$Locations$Tlsroutes; + wasmPlugins: Resource$Projects$Locations$Wasmplugins; constructor(context: APIRequestContext) { this.context = context; this.authzExtensions = new Resource$Projects$Locations$Authzextensions( @@ -1826,6 +2086,9 @@ export namespace networkservices_v1beta1 { new Resource$Projects$Locations$Servicelbpolicies(this.context); this.tcpRoutes = new Resource$Projects$Locations$Tcproutes(this.context); this.tlsRoutes = new Resource$Projects$Locations$Tlsroutes(this.context); + this.wasmPlugins = new Resource$Projects$Locations$Wasmplugins( + this.context + ); } /** @@ -3089,8 +3352,12 @@ export namespace networkservices_v1beta1 { export class Resource$Projects$Locations$Gateways { context: APIRequestContext; + routeViews: Resource$Projects$Locations$Gateways$Routeviews; constructor(context: APIRequestContext) { this.context = context; + this.routeViews = new Resource$Projects$Locations$Gateways$Routeviews( + this.context + ); } /** @@ -3597,64 +3864,65 @@ export namespace networkservices_v1beta1 { requestBody?: Schema$Gateway; } - export class Resource$Projects$Locations$Grpcroutes { + export class Resource$Projects$Locations$Gateways$Routeviews { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * Creates a new GrpcRoute in a given project and location. + * Get a single RouteView of a Gateway. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - create( - params: Params$Resource$Projects$Locations$Grpcroutes$Create, + get( + params: Params$Resource$Projects$Locations$Gateways$Routeviews$Get, options: StreamMethodOptions ): GaxiosPromise; - create( - params?: Params$Resource$Projects$Locations$Grpcroutes$Create, + get( + params?: Params$Resource$Projects$Locations$Gateways$Routeviews$Get, options?: MethodOptions - ): GaxiosPromise; - create( - params: Params$Resource$Projects$Locations$Grpcroutes$Create, + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Gateways$Routeviews$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Grpcroutes$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Gateways$Routeviews$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Grpcroutes$Create, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Gateways$Routeviews$Get, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Grpcroutes$Create - | BodyResponseCallback + | Params$Resource$Projects$Locations$Gateways$Routeviews$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Grpcroutes$Create; + {}) as Params$Resource$Projects$Locations$Gateways$Routeviews$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Grpcroutes$Create; + params = + {} as Params$Resource$Projects$Locations$Gateways$Routeviews$Get; options = {}; } @@ -3668,82 +3936,297 @@ export namespace networkservices_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+parent}/grpcRoutes').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Deletes a single GrpcRoute. + * Lists RouteViews * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Projects$Locations$Grpcroutes$Delete, + list( + params: Params$Resource$Projects$Locations$Gateways$Routeviews$List, options: StreamMethodOptions ): GaxiosPromise; - delete( - params?: Params$Resource$Projects$Locations$Grpcroutes$Delete, + list( + params?: Params$Resource$Projects$Locations$Gateways$Routeviews$List, options?: MethodOptions - ): GaxiosPromise; - delete( - params: Params$Resource$Projects$Locations$Grpcroutes$Delete, + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Gateways$Routeviews$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Grpcroutes$Delete, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Gateways$Routeviews$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Grpcroutes$Delete, - callback: BodyResponseCallback + list( + params: Params$Resource$Projects$Locations$Gateways$Routeviews$List, + callback: BodyResponseCallback ): void; - delete(callback: BodyResponseCallback): void; - delete( + list( + callback: BodyResponseCallback + ): void; + list( paramsOrCallback?: - | Params$Resource$Projects$Locations$Grpcroutes$Delete - | BodyResponseCallback + | Params$Resource$Projects$Locations$Gateways$Routeviews$List + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): + | void + | GaxiosPromise + | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Grpcroutes$Delete; + {}) as Params$Resource$Projects$Locations$Gateways$Routeviews$List; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Grpcroutes$Delete; + params = + {} as Params$Resource$Projects$Locations$Gateways$Routeviews$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/routeViews').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Gateways$Routeviews$Get + extends StandardParameters { + /** + * Required. Name of the GatewayRouteView resource. Formats: projects/{project_number\}/locations/{location\}/gateways/{gateway_name\}/routeViews/{route_view_name\} + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Gateways$Routeviews$List + extends StandardParameters { + /** + * Maximum number of GatewayRouteViews to return per call. + */ + pageSize?: number; + /** + * The value returned by the last `ListGatewayRouteViewsResponse` Indicates that this is a continuation of a prior `ListGatewayRouteViews` call, and that the system should return the next page of data. + */ + pageToken?: string; + /** + * Required. The Gateway to which a Route is associated. Formats: projects/{project_number\}/locations/{location\}/gateways/{gateway_name\} + */ + parent?: string; + } + + export class Resource$Projects$Locations$Grpcroutes { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new GrpcRoute in a given project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Grpcroutes$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Grpcroutes$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Grpcroutes$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Grpcroutes$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Grpcroutes$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Grpcroutes$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Grpcroutes$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Grpcroutes$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/grpcRoutes').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a single GrpcRoute. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Grpcroutes$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Grpcroutes$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Grpcroutes$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Grpcroutes$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Grpcroutes$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Grpcroutes$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Grpcroutes$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Grpcroutes$Delete; options = {}; } @@ -5699,8 +6182,12 @@ export namespace networkservices_v1beta1 { export class Resource$Projects$Locations$Meshes { context: APIRequestContext; + routeViews: Resource$Projects$Locations$Meshes$Routeviews; constructor(context: APIRequestContext) { this.context = context; + this.routeViews = new Resource$Projects$Locations$Meshes$Routeviews( + this.context + ); } /** @@ -6205,64 +6692,64 @@ export namespace networkservices_v1beta1 { requestBody?: Schema$Mesh; } - export class Resource$Projects$Locations$Operations { + export class Resource$Projects$Locations$Meshes$Routeviews { context: APIRequestContext; constructor(context: APIRequestContext) { this.context = context; } /** - * 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`. + * Get a single RouteView of a Mesh. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - cancel( - params: Params$Resource$Projects$Locations$Operations$Cancel, + get( + params: Params$Resource$Projects$Locations$Meshes$Routeviews$Get, options: StreamMethodOptions ): GaxiosPromise; - cancel( - params?: Params$Resource$Projects$Locations$Operations$Cancel, + get( + params?: Params$Resource$Projects$Locations$Meshes$Routeviews$Get, options?: MethodOptions - ): GaxiosPromise; - cancel( - params: Params$Resource$Projects$Locations$Operations$Cancel, + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Meshes$Routeviews$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - cancel( - params: Params$Resource$Projects$Locations$Operations$Cancel, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Meshes$Routeviews$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - cancel( - params: Params$Resource$Projects$Locations$Operations$Cancel, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Meshes$Routeviews$Get, + callback: BodyResponseCallback ): void; - cancel(callback: BodyResponseCallback): void; - cancel( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Operations$Cancel - | BodyResponseCallback + | Params$Resource$Projects$Locations$Meshes$Routeviews$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Operations$Cancel; + {}) as Params$Resource$Projects$Locations$Meshes$Routeviews$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Operations$Cancel; + params = {} as Params$Resource$Projects$Locations$Meshes$Routeviews$Get; options = {}; } @@ -6276,11 +6763,8 @@ export namespace networkservices_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+name}:cancel').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', apiVersion: '', }, options @@ -6291,39 +6775,255 @@ export namespace networkservices_v1beta1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * 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`. + * Lists RouteViews * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - delete( - params: Params$Resource$Projects$Locations$Operations$Delete, + list( + params: Params$Resource$Projects$Locations$Meshes$Routeviews$List, options: StreamMethodOptions ): GaxiosPromise; - delete( - params?: Params$Resource$Projects$Locations$Operations$Delete, + list( + params?: Params$Resource$Projects$Locations$Meshes$Routeviews$List, options?: MethodOptions - ): GaxiosPromise; - delete( - params: Params$Resource$Projects$Locations$Operations$Delete, + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Meshes$Routeviews$List, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - delete( - params: Params$Resource$Projects$Locations$Operations$Delete, - options: MethodOptions | BodyResponseCallback, + list( + params: Params$Resource$Projects$Locations$Meshes$Routeviews$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Meshes$Routeviews$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Meshes$Routeviews$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Meshes$Routeviews$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Meshes$Routeviews$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/routeViews').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Meshes$Routeviews$Get + extends StandardParameters { + /** + * Required. Name of the MeshRouteView resource. Format: projects/{project_number\}/locations/{location\}/meshes/{mesh_name\}/routeViews/{route_view_name\} + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Meshes$Routeviews$List + extends StandardParameters { + /** + * Maximum number of MeshRouteViews to return per call. + */ + pageSize?: number; + /** + * The value returned by the last `ListMeshRouteViewsResponse` Indicates that this is a continuation of a prior `ListMeshRouteViews` call, and that the system should return the next page of data. + */ + pageToken?: string; + /** + * Required. The Mesh to which a Route is associated. Format: projects/{project_number\}/locations/{location\}/meshes/{mesh_name\} + */ + parent?: string; + } + + export class Resource$Projects$Locations$Operations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: StreamMethodOptions + ): GaxiosPromise; + cancel( + params?: Params$Resource$Projects$Locations$Operations$Cancel, + options?: MethodOptions + ): GaxiosPromise; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + callback: BodyResponseCallback + ): void; + cancel(callback: BodyResponseCallback): void; + cancel( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Cancel + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Cancel; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Cancel; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}:cancel').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Operations$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: MethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; delete( @@ -7529,7 +8229,7 @@ export namespace networkservices_v1beta1 { export interface Params$Resource$Projects$Locations$Servicelbpolicies$Patch extends StandardParameters { /** - * Required. Name of the ServiceLbPolicy resource. It matches pattern `projects/{project\}/locations/{location\}/serviceLbPolicies/{service_lb_policy_name\}`. + * Identifier. Name of the ServiceLbPolicy resource. It matches pattern `projects/{project\}/locations/{location\}/serviceLbPolicies/{service_lb_policy_name\}`. */ name?: string; /** @@ -8562,4 +9262,941 @@ export namespace networkservices_v1beta1 { */ requestBody?: Schema$TlsRoute; } + + export class Resource$Projects$Locations$Wasmplugins { + context: APIRequestContext; + versions: Resource$Projects$Locations$Wasmplugins$Versions; + constructor(context: APIRequestContext) { + this.context = context; + this.versions = new Resource$Projects$Locations$Wasmplugins$Versions( + this.context + ); + } + + /** + * Creates a new `WasmPlugin` resource in a given project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Wasmplugins$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Wasmplugins$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Wasmplugins$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Wasmplugins$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Wasmplugins$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Wasmplugins$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Wasmplugins$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Wasmplugins$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/wasmPlugins').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes the specified `WasmPlugin` resource. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Wasmplugins$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Wasmplugins$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Wasmplugins$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Wasmplugins$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Wasmplugins$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Wasmplugins$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Wasmplugins$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Wasmplugins$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified `WasmPlugin` resource. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Wasmplugins$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Wasmplugins$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Wasmplugins$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Wasmplugins$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Wasmplugins$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Wasmplugins$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Wasmplugins$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Wasmplugins$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists `WasmPlugin` resources in a given project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Wasmplugins$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Wasmplugins$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Wasmplugins$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Wasmplugins$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Wasmplugins$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Wasmplugins$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Wasmplugins$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Wasmplugins$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/wasmPlugins').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the parameters of the specified `WasmPlugin` resource. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Wasmplugins$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Wasmplugins$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Wasmplugins$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Wasmplugins$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Wasmplugins$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Wasmplugins$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Wasmplugins$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Wasmplugins$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Wasmplugins$Create + extends StandardParameters { + /** + * Required. The parent resource of the `WasmPlugin` resource. Must be in the format `projects/{project\}/locations/global`. + */ + parent?: string; + /** + * Required. User-provided ID of the `WasmPlugin` resource to be created. + */ + wasmPluginId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$WasmPlugin; + } + export interface Params$Resource$Projects$Locations$Wasmplugins$Delete + extends StandardParameters { + /** + * Required. A name of the `WasmPlugin` resource to delete. Must be in the format `projects/{project\}/locations/global/wasmPlugins/{wasm_plugin\}`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Wasmplugins$Get + extends StandardParameters { + /** + * Required. A name of the `WasmPlugin` resource to get. Must be in the format `projects/{project\}/locations/global/wasmPlugins/{wasm_plugin\}`. + */ + name?: string; + /** + * Determines how much data must be returned in the response. See [AIP-157](https://google.aip.dev/157). + */ + view?: string; + } + export interface Params$Resource$Projects$Locations$Wasmplugins$List + extends StandardParameters { + /** + * Maximum number of `WasmPlugin` resources to return per call. If not specified, at most 50 `WasmPlugin` resources are returned. The maximum value is 1000; values above 1000 are coerced to 1000. + */ + pageSize?: number; + /** + * The value returned by the last `ListWasmPluginsResponse` call. Indicates that this is a continuation of a prior `ListWasmPlugins` call, and that the next page of data is to be returned. + */ + pageToken?: string; + /** + * Required. The project and location from which the `WasmPlugin` resources are listed, specified in the following format: `projects/{project\}/locations/global`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Wasmplugins$Patch + extends StandardParameters { + /** + * Identifier. Name of the `WasmPlugin` resource in the following format: `projects/{project\}/locations/{location\}/wasmPlugins/{wasm_plugin\}`. + */ + name?: string; + /** + * Optional. Used to specify the fields to be overwritten in the `WasmPlugin` resource by the update. The fields specified in the `update_mask` field are relative to the resource, not the full request. An omitted `update_mask` field is treated as an implied `update_mask` field equivalent to all fields that are populated (that have a non-empty value). The `update_mask` field supports a special value `*`, which means that each field in the given `WasmPlugin` resource (including the empty ones) replaces the current value. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$WasmPlugin; + } + + export class Resource$Projects$Locations$Wasmplugins$Versions { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new `WasmPluginVersion` resource in a given project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Wasmplugins$Versions$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Wasmplugins$Versions$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Wasmplugins$Versions$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Wasmplugins$Versions$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/versions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes the specified `WasmPluginVersion` resource. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Wasmplugins$Versions$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Wasmplugins$Versions$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Wasmplugins$Versions$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Wasmplugins$Versions$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of the specified `WasmPluginVersion` resource. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Wasmplugins$Versions$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Wasmplugins$Versions$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Wasmplugins$Versions$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Wasmplugins$Versions$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists `WasmPluginVersion` resources in a given project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Wasmplugins$Versions$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Wasmplugins$Versions$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Wasmplugins$Versions$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Wasmplugins$Versions$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Wasmplugins$Versions$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://networkservices.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/versions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Wasmplugins$Versions$Create + extends StandardParameters { + /** + * Required. The parent resource of the `WasmPluginVersion` resource. Must be in the format `projects/{project\}/locations/global/wasmPlugins/{wasm_plugin\}`. + */ + parent?: string; + /** + * Required. User-provided ID of the `WasmPluginVersion` resource to be created. + */ + wasmPluginVersionId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$WasmPluginVersion; + } + export interface Params$Resource$Projects$Locations$Wasmplugins$Versions$Delete + extends StandardParameters { + /** + * Required. A name of the `WasmPluginVersion` resource to delete. Must be in the format `projects/{project\}/locations/global/wasmPlugins/{wasm_plugin\}/versions/{wasm_plugin_version\}`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Wasmplugins$Versions$Get + extends StandardParameters { + /** + * Required. A name of the `WasmPluginVersion` resource to get. Must be in the format `projects/{project\}/locations/global/wasmPlugins/{wasm_plugin\}/versions/{wasm_plugin_version\}`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Wasmplugins$Versions$List + extends StandardParameters { + /** + * Maximum number of `WasmPluginVersion` resources to return per call. If not specified, at most 50 `WasmPluginVersion` resources are returned. The maximum value is 1000; values above 1000 are coerced to 1000. + */ + pageSize?: number; + /** + * The value returned by the last `ListWasmPluginVersionsResponse` call. Indicates that this is a continuation of a prior `ListWasmPluginVersions` call, and that the next page of data is to be returned. + */ + pageToken?: string; + /** + * Required. The `WasmPlugin` resource whose `WasmPluginVersion`s are listed, specified in the following format: `projects/{project\}/locations/global/wasmPlugins/{wasm_plugin\}`. + */ + parent?: string; + } } diff --git a/src/apis/notebooks/v1.ts b/src/apis/notebooks/v1.ts index 6ce617cdfe..63988b6c57 100644 --- a/src/apis/notebooks/v1.ts +++ b/src/apis/notebooks/v1.ts @@ -193,7 +193,7 @@ export namespace notebooks_v1 { */ diagnosticConfig?: Schema$DiagnosticConfig; /** - * Optional. Maxmium amount of time in minutes before the operation times out. + * Optional. Maximum amount of time in minutes before the operation times out. */ timeoutMinutes?: number | null; } @@ -206,7 +206,7 @@ export namespace notebooks_v1 { */ diagnosticConfig?: Schema$DiagnosticConfig; /** - * Optional. Maxmium amount of time in minutes before the operation times out. + * Optional. Maximum amount of time in minutes before the operation times out. */ timeoutMinutes?: number | null; } @@ -573,7 +573,7 @@ export namespace notebooks_v1 { */ labels?: {[key: string]: string} | null; /** - * Required. The [Compute Engine machine type](https://cloud.google.com/compute/docs/machine-types) of this instance. + * Required. The [Compute Engine machine type](https://cloud.google.com/compute/docs/machine-resource) of this instance. */ machineType?: string | null; /** @@ -998,7 +998,7 @@ export namespace notebooks_v1 { */ endTime?: string | null; /** - * Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -1419,7 +1419,7 @@ export namespace notebooks_v1 { */ export interface Schema$SetInstanceMachineTypeRequest { /** - * Required. The [Compute Engine machine type](https://cloud.google.com/compute/docs/machine-types). + * Required. The [Compute Engine machine type](https://cloud.google.com/compute/docs/machine-resource). */ machineType?: string | null; } @@ -5455,7 +5455,7 @@ export namespace notebooks_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/notebooks/v2.ts b/src/apis/notebooks/v2.ts index b74180cebf..eb4f59010e 100644 --- a/src/apis/notebooks/v2.ts +++ b/src/apis/notebooks/v2.ts @@ -278,7 +278,7 @@ export namespace notebooks_v2 { */ diagnosticConfig?: Schema$DiagnosticConfig; /** - * Optional. Maxmium amount of time in minutes before the operation times out. + * Optional. Maximum amount of time in minutes before the operation times out. */ timeoutMinutes?: number | null; } @@ -456,6 +456,10 @@ export namespace notebooks_v2 { * Optional. If true, the notebook instance will not register with the proxy. */ disableProxyAccess?: boolean | null; + /** + * Optional. Flag that specifies that a notebook can be accessed with third party identity provider. + */ + enableThirdPartyIdentity?: boolean | null; /** * Optional. Compute Engine setup for the notebook. Uses notebook-defined fields. */ @@ -648,7 +652,7 @@ export namespace notebooks_v2 { */ endTime?: string | null; /** - * Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -3173,7 +3177,7 @@ export namespace notebooks_v2 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/ondemandscanning/v1.ts b/src/apis/ondemandscanning/v1.ts index 7fc3a2dfe8..260077cd65 100644 --- a/src/apis/ondemandscanning/v1.ts +++ b/src/apis/ondemandscanning/v1.ts @@ -1770,7 +1770,7 @@ export namespace ondemandscanning_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/ondemandscanning/v1beta1.ts b/src/apis/ondemandscanning/v1beta1.ts index 5c7bd6fc2f..7826ac2d3f 100644 --- a/src/apis/ondemandscanning/v1beta1.ts +++ b/src/apis/ondemandscanning/v1beta1.ts @@ -1766,7 +1766,7 @@ export namespace ondemandscanning_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/oracledatabase/v1.ts b/src/apis/oracledatabase/v1.ts index d542d7b974..17dfea1076 100644 --- a/src/apis/oracledatabase/v1.ts +++ b/src/apis/oracledatabase/v1.ts @@ -750,7 +750,7 @@ export namespace oracledatabase_v1 { */ computeCount?: number | null; /** - * Optional. The number of enabled CPU cores. + * Output only. The number of enabled CPU cores. */ cpuCount?: number | null; /** @@ -762,7 +762,7 @@ export namespace oracledatabase_v1 { */ dataStorageSizeTb?: number | null; /** - * Optional. The local node storage allocated in GBs. + * Output only. The local node storage allocated in GBs. */ dbNodeStorageSizeGb?: number | null; /** @@ -790,7 +790,7 @@ export namespace oracledatabase_v1 { */ maxMemoryGb?: number | null; /** - * Optional. The memory allocated in GBs. + * Output only. The memory allocated in GBs. */ memorySizeGb?: number | null; /** @@ -1012,7 +1012,7 @@ export namespace oracledatabase_v1 { */ storageSizeGb?: number | null; /** - * Output only. Operating system version of the image. + * Optional. Operating system version of the image. */ systemVersion?: string | null; /** @@ -1670,19 +1670,19 @@ export namespace oracledatabase_v1 { */ export interface Schema$TimeOfDay { /** - * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. */ hours?: number | null; /** - * Minutes of hour of day. Must be from 0 to 59. + * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. */ minutes?: number | null; /** - * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. */ nanos?: number | null; /** - * Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. */ seconds?: number | null; } @@ -1691,11 +1691,11 @@ export namespace oracledatabase_v1 { */ export interface Schema$TimeZone { /** - * IANA Time Zone Database time zone, e.g. "America/New_York". + * IANA Time Zone Database time zone. For example "America/New_York". */ id?: string | null; /** - * Optional. IANA Time Zone Database version number, e.g. "2019a". + * Optional. IANA Time Zone Database version number. For example "2019a". */ version?: string | null; } @@ -4447,7 +4447,7 @@ export namespace oracledatabase_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/orgpolicy/v2.ts b/src/apis/orgpolicy/v2.ts index 400a13c8c3..c7a715e82c 100644 --- a/src/apis/orgpolicy/v2.ts +++ b/src/apis/orgpolicy/v2.ts @@ -173,11 +173,83 @@ export namespace orgpolicy_v2 { * Shows if dry run is supported for this constraint or not. */ supportsDryRun?: boolean | null; + /** + * Shows if simulation is supported for this constraint or not. + */ + supportsSimulation?: boolean | null; } /** * A constraint that is either enforced or not. For example, a constraint `constraints/compute.disableSerialPortAccess`. If it is enforced on a VM instance, serial port connections will not be opened to that instance. */ - export interface Schema$GoogleCloudOrgpolicyV2ConstraintBooleanConstraint {} + export interface Schema$GoogleCloudOrgpolicyV2ConstraintBooleanConstraint { + /** + * Custom constraint definition. This is set only for Managed Constraints + */ + customConstraintDefinition?: Schema$GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinition; + } + /** + * Currently used for Managed Constraints. This represents a subset of fields missing from Constraint proto that are required to describe CustomConstraint + */ + export interface Schema$GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinition { + /** + * Allow or deny type. + */ + actionType?: string | null; + /** + * Org policy condition/expression. For example: `resource.instanceName.matches("[production|test]_.*_(\d)+")` or, `resource.management.auto_upgrade == true` The max length of the condition is 1000 characters. + */ + condition?: string | null; + /** + * All the operations being applied for this constraint. + */ + methodTypes?: string[] | null; + /** + * Stores Structure of parameters used by Constraint condition. Key of map represents name of the parameter. + */ + parameters?: { + [ + key: string + ]: Schema$GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameter; + } | null; + /** + * The resource instance type on which this policy applies. Format will be of the form : `/` Example: * `compute.googleapis.com/Instance`. + */ + resourceTypes?: string[] | null; + } + /** + * Defines a parameter structure. + */ + export interface Schema$GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameter { + /** + * Sets the value of the parameter in an assignment if no value is given. + */ + defaultValue?: any | null; + /** + * Determines the parameter’s value structure. For example, LIST can be specified by defining type : LIST, and item type as : STRING. + */ + item?: string | null; + /** + * Defines subproperties primarily used by the UI to display user-friendly information. + */ + metadata?: Schema$GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameterMetadata; + /** + * Type of the parameter. + */ + type?: string | null; + /** + * Provides a CEL expression to specify the acceptable parameter values during assignment. For example, parameterName in ("parameterValue1", "parameterValue2") + */ + validValuesExpr?: string | null; + } + /** + * Defines Medata structure. + */ + export interface Schema$GoogleCloudOrgpolicyV2ConstraintCustomConstraintDefinitionParameterMetadata { + /** + * Detailed description of what this `parameter` is and use of it. Mutable. + */ + description?: string | null; + } /** * A constraint that allows or disallows a list of string values, which are configured by an Organization Policy administrator with a policy. */ @@ -337,6 +409,10 @@ export namespace orgpolicy_v2 { * If `true`, then the policy is enforced. If `false`, then any configuration is acceptable. This field can be set only in policies for boolean constraints. */ enforce?: boolean | null; + /** + * Optional. Required for GMCs if parameters defined in constraints. Pass parameter values when policy enforcement is enabled. Ensure that parameter value types match those defined in the constraint definition. For example: { "allowedLocations" : ["us-east1", "us-west1"], "allowAll" : true \} + */ + parameters?: {[key: string]: any} | null; /** * List of values to be used for this policy rule. This field can be set only in policies for list constraints. */ diff --git a/src/apis/osconfig/index.ts b/src/apis/osconfig/index.ts index 8803fd31e1..938361f844 100644 --- a/src/apis/osconfig/index.ts +++ b/src/apis/osconfig/index.ts @@ -17,11 +17,13 @@ import {AuthPlus, getAPI, GoogleConfigurable} from 'googleapis-common'; import {osconfig_v1} from './v1'; import {osconfig_v1alpha} from './v1alpha'; import {osconfig_v1beta} from './v1beta'; +import {osconfig_v2beta} from './v2beta'; export const VERSIONS = { v1: osconfig_v1.Osconfig, v1alpha: osconfig_v1alpha.Osconfig, v1beta: osconfig_v1beta.Osconfig, + v2beta: osconfig_v2beta.Osconfig, }; export function osconfig(version: 'v1'): osconfig_v1.Osconfig; @@ -34,11 +36,16 @@ export function osconfig(version: 'v1beta'): osconfig_v1beta.Osconfig; export function osconfig( options: osconfig_v1beta.Options ): osconfig_v1beta.Osconfig; +export function osconfig(version: 'v2beta'): osconfig_v2beta.Osconfig; +export function osconfig( + options: osconfig_v2beta.Options +): osconfig_v2beta.Osconfig; export function osconfig< T = | osconfig_v1.Osconfig | osconfig_v1alpha.Osconfig - | osconfig_v1beta.Osconfig, + | osconfig_v1beta.Osconfig + | osconfig_v2beta.Osconfig, >( this: GoogleConfigurable, versionOrOptions: @@ -48,6 +55,8 @@ export function osconfig< | osconfig_v1alpha.Options | 'v1beta' | osconfig_v1beta.Options + | 'v2beta' + | osconfig_v2beta.Options ) { return getAPI('osconfig', versionOrOptions, VERSIONS, this); } @@ -57,6 +66,7 @@ export {auth}; export {osconfig_v1}; export {osconfig_v1alpha}; export {osconfig_v1beta}; +export {osconfig_v2beta}; export { AuthPlus, GlobalOptions, diff --git a/src/apis/osconfig/v1.ts b/src/apis/osconfig/v1.ts index 262ce9fa30..baaf280a7f 100644 --- a/src/apis/osconfig/v1.ts +++ b/src/apis/osconfig/v1.ts @@ -341,6 +341,39 @@ export namespace osconfig_v1 { */ rolloutUpdateTime?: string | null; } + /** + * Represents the metadata of the long-running operation. + */ + export interface Schema$GoogleCloudOsconfigV2beta__OperationMetadata { + /** + * Output only. API version used to start the operation. + */ + apiVersion?: string | null; + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + */ + requestedCancellation?: boolean | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; + /** + * Output only. Server-defined resource path for the target of the operation. + */ + target?: string | null; + /** + * Output only. Name of the verb executed by the operation. + */ + verb?: string | null; + } /** * Googet patching is performed by running `googet update`. */ @@ -1805,11 +1838,11 @@ export namespace osconfig_v1 { */ export interface Schema$TimeZone { /** - * IANA Time Zone Database time zone, e.g. "America/New_York". + * IANA Time Zone Database time zone. For example "America/New_York". */ id?: string | null; /** - * Optional. IANA Time Zone Database version number, e.g. "2019a". + * Optional. IANA Time Zone Database version number. For example "2019a". */ version?: string | null; } @@ -3619,7 +3652,7 @@ export namespace osconfig_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/osconfig/v1alpha.ts b/src/apis/osconfig/v1alpha.ts index a584dfd56e..e3dd07a1a8 100644 --- a/src/apis/osconfig/v1alpha.ts +++ b/src/apis/osconfig/v1alpha.ts @@ -236,6 +236,39 @@ export namespace osconfig_v1alpha { */ rolloutUpdateTime?: string | null; } + /** + * Represents the metadata of the long-running operation. + */ + export interface Schema$GoogleCloudOsconfigV2beta__OperationMetadata { + /** + * Output only. API version used to start the operation. + */ + apiVersion?: string | null; + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + */ + requestedCancellation?: boolean | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; + /** + * Output only. Server-defined resource path for the target of the operation. + */ + target?: string | null; + /** + * Output only. Name of the verb executed by the operation. + */ + verb?: string | null; + } /** * This API resource represents the OS policies compliance data for a Compute Engine virtual machine (VM) instance at a given point in time. A Compute Engine VM can have multiple OS policy assignments, and each assignment can have multiple OS policies. As a result, multiple OS policies could be applied to a single VM. You can use this API resource to determine both the compliance state of your VM as well as the compliance state of an individual OS policy. For more information, see [View compliance](https://cloud.google.com/compute/docs/os-configuration-management/view-compliance). */ @@ -3109,7 +3142,7 @@ export namespace osconfig_v1alpha { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/osconfig/v1beta.ts b/src/apis/osconfig/v1beta.ts index 539a386625..5024e635f3 100644 --- a/src/apis/osconfig/v1beta.ts +++ b/src/apis/osconfig/v1beta.ts @@ -403,6 +403,39 @@ export namespace osconfig_v1beta { */ rolloutUpdateTime?: string | null; } + /** + * Represents the metadata of the long-running operation. + */ + export interface Schema$GoogleCloudOsconfigV2beta__OperationMetadata { + /** + * Output only. API version used to start the operation. + */ + apiVersion?: string | null; + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + */ + requestedCancellation?: boolean | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; + /** + * Output only. Server-defined resource path for the target of the operation. + */ + target?: string | null; + /** + * Output only. Name of the verb executed by the operation. + */ + verb?: string | null; + } /** * Represents a Goo package repository. These is added to a repo file that is stored at C:/ProgramData/GooGet/repos/google_osconfig.repo. */ @@ -1210,11 +1243,11 @@ export namespace osconfig_v1beta { */ export interface Schema$TimeZone { /** - * IANA Time Zone Database time zone, e.g. "America/New_York". + * IANA Time Zone Database time zone. For example "America/New_York". */ id?: string | null; /** - * Optional. IANA Time Zone Database version number, e.g. "2019a". + * Optional. IANA Time Zone Database version number. For example "2019a". */ version?: string | null; } diff --git a/src/apis/osconfig/v2beta.ts b/src/apis/osconfig/v2beta.ts new file mode 100644 index 0000000000..8b11a92fe9 --- /dev/null +++ b/src/apis/osconfig/v2beta.ts @@ -0,0 +1,3924 @@ +// Copyright 2020 Google LLC +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/no-empty-interface */ +/* eslint-disable @typescript-eslint/no-namespace */ +/* eslint-disable no-irregular-whitespace */ + +import { + OAuth2Client, + JWT, + Compute, + UserRefreshClient, + BaseExternalAccountClient, + GaxiosPromise, + GoogleConfigurable, + createAPIRequest, + MethodOptions, + StreamMethodOptions, + GlobalOptions, + GoogleAuth, + BodyResponseCallback, + APIRequestContext, +} from 'googleapis-common'; +import {Readable} from 'stream'; + +export namespace osconfig_v2beta { + export interface Options extends GlobalOptions { + version: 'v2beta'; + } + + interface StandardParameters { + /** + * Auth client or API Key for the request + */ + auth?: + | string + | OAuth2Client + | JWT + | Compute + | UserRefreshClient + | BaseExternalAccountClient + | GoogleAuth; + + /** + * V1 error format. + */ + '$.xgafv'?: string; + /** + * OAuth access token. + */ + access_token?: string; + /** + * Data format for response. + */ + alt?: string; + /** + * JSONP + */ + callback?: string; + /** + * Selector specifying which fields to include in a partial response. + */ + fields?: string; + /** + * API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + */ + key?: string; + /** + * OAuth 2.0 token for the current user. + */ + oauth_token?: string; + /** + * Returns response with indentations and line breaks. + */ + prettyPrint?: boolean; + /** + * Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + */ + quotaUser?: string; + /** + * Legacy upload protocol for media (e.g. "media", "multipart"). + */ + uploadType?: string; + /** + * Upload protocol for media (e.g. "raw", "multipart"). + */ + upload_protocol?: string; + } + + /** + * OS Config API + * + * OS management tools that can be used for patch management, patch compliance, and configuration management on VM instances. + * + * @example + * ```js + * const {google} = require('googleapis'); + * const osconfig = google.osconfig('v2beta'); + * ``` + */ + export class Osconfig { + context: APIRequestContext; + folders: Resource$Folders; + organizations: Resource$Organizations; + projects: Resource$Projects; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.folders = new Resource$Folders(this.context); + this.organizations = new Resource$Organizations(this.context); + this.projects = new Resource$Projects(this.context); + } + } + + /** + * The request message for Operations.CancelOperation. + */ + export interface Schema$CancelOperationRequest {} + /** + * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} + */ + export interface Schema$Empty {} + /** + * Message encapsulating a value that can be either absolute ("fixed") or relative ("percent") to a value. + */ + export interface Schema$FixedOrPercent { + /** + * Specifies a fixed value. + */ + fixed?: number | null; + /** + * Specifies the relative value defined as a percentage, which will be multiplied by a reference value. + */ + percent?: number | null; + } + /** + * OS policy assignment operation metadata provided by OS policy assignment API methods that return long running operations. + */ + export interface Schema$GoogleCloudOsconfigV1__OSPolicyAssignmentOperationMetadata { + /** + * The OS policy assignment API method. + */ + apiMethod?: string | null; + /** + * Reference to the `OSPolicyAssignment` API resource. Format: `projects/{project_number\}/locations/{location\}/osPolicyAssignments/{os_policy_assignment_id@revision_id\}` + */ + osPolicyAssignment?: string | null; + /** + * Rollout start time + */ + rolloutStartTime?: string | null; + /** + * State of the rollout + */ + rolloutState?: string | null; + /** + * Rollout update time + */ + rolloutUpdateTime?: string | null; + } + /** + * Selector containing locations in scope. + */ + export interface Schema$GoogleCloudOsconfigV2beta_OrchestrationScope_LocationSelector { + /** + * Optional. Names of the locations in scope. Format: `us-central1-a` + */ + includedLocations?: string[] | null; + } + /** + * Selector containing Cloud Resource Manager resource hierarchy nodes. + */ + export interface Schema$GoogleCloudOsconfigV2beta_OrchestrationScope_ResourceHierarchySelector { + /** + * Optional. Names of the folders in scope. Format: `folders/{folder_id\}` + */ + includedFolders?: string[] | null; + /** + * Optional. Names of the projects in scope. Format: `projects/{project_number\}` + */ + includedProjects?: string[] | null; + } + /** + * Selector for the resources in scope of orchestration. + */ + export interface Schema$GoogleCloudOsconfigV2beta_OrchestrationScope_Selector { + /** + * Selector for selecting locations. + */ + locationSelector?: Schema$GoogleCloudOsconfigV2beta_OrchestrationScope_LocationSelector; + /** + * Selector for selecting resource hierarchy. + */ + resourceHierarchySelector?: Schema$GoogleCloudOsconfigV2beta_OrchestrationScope_ResourceHierarchySelector; + } + /** + * Describes the state of a single iteration of the orchestrator. + */ + export interface Schema$GoogleCloudOsconfigV2beta_PolicyOrchestrator_IterationState { + /** + * Output only. Error thrown in the wave iteration. + */ + error?: Schema$Status; + /** + * Output only. Number of orchestration actions which failed so far. For more details, query the Cloud Logs. + */ + failedActions?: string | null; + /** + * Output only. Finish time of the wave iteration. + */ + finishTime?: string | null; + /** + * Output only. Overall number of actions done by the orchestrator so far. + */ + performedActions?: string | null; + /** + * Output only. An estimated percentage of the progress. Number between 0 and 100. + */ + progress?: number | null; + /** + * Output only. Handle to the Progressive Rollouts API rollout resource, which contains detailed information about a particular orchestration iteration. + */ + rolloutResource?: string | null; + /** + * Output only. Start time of the wave iteration. + */ + startTime?: string | null; + /** + * Output only. State of the iteration. + */ + state?: string | null; + } + /** + * Describes the state of the orchestration process. + */ + export interface Schema$GoogleCloudOsconfigV2beta_PolicyOrchestrator_OrchestrationState { + /** + * Output only. Current Wave iteration state. + */ + currentIterationState?: Schema$GoogleCloudOsconfigV2beta_PolicyOrchestrator_IterationState; + /** + * Output only. Previous Wave iteration state. + */ + previousIterationState?: Schema$GoogleCloudOsconfigV2beta_PolicyOrchestrator_IterationState; + } + /** + * Response for the list policy orchestrator resources. + */ + export interface Schema$GoogleCloudOsconfigV2beta__ListPolicyOrchestratorsResponse { + /** + * A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. + */ + nextPageToken?: string | null; + /** + * The policy orchestrators for the specified parent resource. + */ + policyOrchestrators?: Schema$GoogleCloudOsconfigV2beta__PolicyOrchestrator[]; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * Represents the metadata of the long-running operation. + */ + export interface Schema$GoogleCloudOsconfigV2beta__OperationMetadata { + /** + * Output only. API version used to start the operation. + */ + apiVersion?: string | null; + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + */ + requestedCancellation?: boolean | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; + /** + * Output only. Server-defined resource path for the target of the operation. + */ + target?: string | null; + /** + * Output only. Name of the verb executed by the operation. + */ + verb?: string | null; + } + /** + * Represents a resource that is being orchestrated by the policy orchestrator. + */ + export interface Schema$GoogleCloudOsconfigV2beta__OrchestratedResource { + /** + * Optional. ID of the resource to be used while generating set of affected resources. For UPSERT action the value is auto-generated during PolicyOrchestrator creation when not set. When the value is set it should following next restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the project. For DELETE action, ID must be specified explicitly during PolicyOrchestrator creation. + */ + id?: string | null; + /** + * Optional. OSPolicyAssignment resource to be created, updated or deleted. Name field is ignored and replace with a generated value. With this field set, orchestrator will perform actions on `project/{project\}/locations/{zone\}/osPolicyAssignments/{resource_id\}` resources, where `project` and `zone` pairs come from the expanded scope, and `resource_id` comes from the `resource_id` field of orchestrator resource. + */ + osPolicyAssignmentV1Payload?: Schema$OSPolicyAssignment; + } + /** + * Defines a set of selectors which drive which resources are in scope of policy orchestration. + */ + export interface Schema$GoogleCloudOsconfigV2beta__OrchestrationScope { + /** + * Optional. Selectors of the orchestration scope. There is a logical AND between each selector defined. When there is no explicit `ResourceHierarchySelector` selector specified, the scope is by default bounded to the parent of the policy orchestrator resource. + */ + selectors?: Schema$GoogleCloudOsconfigV2beta_OrchestrationScope_Selector[]; + } + /** + * PolicyOrchestrator helps managing project+zone level policy resources (e.g. OS Policy Assignments), by providing tools to create, update and delete them across projects and locations, at scale. Policy orchestrator functions as an endless loop. Each iteration orchestrator computes a set of resources that should be affected, then progressively applies changes to them. If for some reason this set of resources changes over time (e.g. new projects are added), the future loop iterations will address that. Orchestrator can either upsert or delete policy resources. For more details, see the description of the `action`, and `orchestrated_resource` fields. Note that policy orchestrator do not "manage" the resources it creates. Every iteration is independent and only minimal history of past actions is retained (apart from Cloud Logging). If orchestrator gets deleted, it does not affect the resources it created in the past. Those will remain where they were. Same applies if projects are removed from the orchestrator's scope. + */ + export interface Schema$GoogleCloudOsconfigV2beta__PolicyOrchestrator { + /** + * Required. Action to be done by the orchestrator in `projects/{project_id\}/zones/{zone_id\}` locations defined by the `orchestration_scope`. Allowed values: - `UPSERT` - Orchestrator will create or update target resources. - `DELETE` - Orchestrator will delete target resources, if they exist + */ + action?: string | null; + /** + * Output only. Timestamp when the policy orchestrator resource was created. + */ + createTime?: string | null; + /** + * Optional. Freeform text describing the purpose of the resource. + */ + description?: string | null; + /** + * Output only. This checksum is computed by the server based on the value of other fields, and may be sent on update and delete requests to ensure the client has an up-to-date value before proceeding. + */ + etag?: string | null; + /** + * Optional. Labels as key value pairs + */ + labels?: {[key: string]: string} | null; + /** + * Immutable. Identifier. In form of * `organizations/{organization_id\}/locations/global/policyOrchestrators/{orchestrator_id\}` * `folders/{folder_id\}/locations/global/policyOrchestrators/{orchestrator_id\}` * `projects/{project_id_or_number\}/locations/global/policyOrchestrators/{orchestrator_id\}` + */ + name?: string | null; + /** + * Required. Resource to be orchestrated by the policy orchestrator. + */ + orchestratedResource?: Schema$GoogleCloudOsconfigV2beta__OrchestratedResource; + /** + * Optional. Defines scope for the orchestration, in context of the enclosing PolicyOrchestrator resource. Scope is expanded into a list of pairs, in which the rollout action will take place. Expansion starts with a Folder resource parenting the PolicyOrchestrator resource: - All the descendant projects are listed. - List of project is cross joined with a list of all available zones. - Resulting list of pairs is filtered according to the selectors. + */ + orchestrationScope?: Schema$GoogleCloudOsconfigV2beta__OrchestrationScope; + /** + * Output only. State of the orchestration. + */ + orchestrationState?: Schema$GoogleCloudOsconfigV2beta_PolicyOrchestrator_OrchestrationState; + /** + * Output only. Set to true, if the there are ongoing changes being applied by the orchestrator. + */ + reconciling?: boolean | null; + /** + * Optional. State of the orchestrator. Can be updated to change orchestrator behaviour. Allowed values: - `ACTIVE` - orchestrator is actively looking for actions to be taken. - `STOPPED` - orchestrator won't make any changes. Note: There might be more states added in the future. We use string here instead of an enum, to avoid the need of propagating new states to all the client code. + */ + state?: string | null; + /** + * Output only. Timestamp when the policy orchestrator resource was last modified. + */ + updateTime?: string | null; + } + /** + * The response message for Operations.ListOperations. + */ + export interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string | null; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * This resource represents a long-running operation that is the result of a network API call. + */ + export interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. + */ + done?: boolean | null; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. + */ + metadata?: {[key: string]: any} | null; + /** + * The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id\}`. + */ + name?: string | null; + /** + * The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: {[key: string]: any} | null; + } + /** + * An OS policy defines the desired state configuration for a VM. + */ + export interface Schema$OSPolicy { + /** + * This flag determines the OS policy compliance status when none of the resource groups within the policy are applicable for a VM. Set this value to `true` if the policy needs to be reported as compliant even if the policy has nothing to validate or enforce. + */ + allowNoResourceGroupMatch?: boolean | null; + /** + * Policy description. Length of the description is limited to 1024 characters. + */ + description?: string | null; + /** + * Required. The id of the OS policy with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the assignment. + */ + id?: string | null; + /** + * Required. Policy mode + */ + mode?: string | null; + /** + * Required. List of resource groups for the policy. For a particular VM, resource groups are evaluated in the order specified and the first resource group that is applicable is selected and the rest are ignored. If none of the resource groups are applicable for a VM, the VM is considered to be non-compliant w.r.t this policy. This behavior can be toggled by the flag `allow_no_resource_group_match` + */ + resourceGroups?: Schema$OSPolicyResourceGroup[]; + } + /** + * OS policy assignment is an API resource that is used to apply a set of OS policies to a dynamically targeted group of Compute Engine VM instances. An OS policy is used to define the desired state configuration for a Compute Engine VM instance through a set of configuration resources that provide capabilities such as installing or removing software packages, or executing a script. For more information about the OS policy resource definitions and examples, see [OS policy and OS policy assignment](https://cloud.google.com/compute/docs/os-configuration-management/working-with-os-policies). + */ + export interface Schema$OSPolicyAssignment { + /** + * Output only. Indicates that this revision has been successfully rolled out in this zone and new VMs will be assigned OS policies from this revision. For a given OS policy assignment, there is only one revision with a value of `true` for this field. + */ + baseline?: boolean | null; + /** + * Output only. Indicates that this revision deletes the OS policy assignment. + */ + deleted?: boolean | null; + /** + * OS policy assignment description. Length of the description is limited to 1024 characters. + */ + description?: string | null; + /** + * The etag for this OS policy assignment. If this is provided on update, it must match the server's etag. + */ + etag?: string | null; + /** + * Required. Filter to select VMs. + */ + instanceFilter?: Schema$OSPolicyAssignmentInstanceFilter; + /** + * Resource name. Format: `projects/{project_number\}/locations/{location\}/osPolicyAssignments/{os_policy_assignment_id\}` This field is ignored when you create an OS policy assignment. + */ + name?: string | null; + /** + * Required. List of OS policies to be applied to the VMs. + */ + osPolicies?: Schema$OSPolicy[]; + /** + * Output only. Indicates that reconciliation is in progress for the revision. This value is `true` when the `rollout_state` is one of: * IN_PROGRESS * CANCELLING + */ + reconciling?: boolean | null; + /** + * Output only. The timestamp that the revision was created. + */ + revisionCreateTime?: string | null; + /** + * Output only. The assignment revision ID A new revision is committed whenever a rollout is triggered for a OS policy assignment + */ + revisionId?: string | null; + /** + * Required. Rollout to deploy the OS policy assignment. A rollout is triggered in the following situations: 1) OSPolicyAssignment is created. 2) OSPolicyAssignment is updated and the update contains changes to one of the following fields: - instance_filter - os_policies 3) OSPolicyAssignment is deleted. + */ + rollout?: Schema$OSPolicyAssignmentRollout; + /** + * Output only. OS policy assignment rollout state + */ + rolloutState?: string | null; + /** + * Output only. Server generated unique id for the OS policy assignment resource. + */ + uid?: string | null; + } + /** + * Filters to select target VMs for an assignment. If more than one filter criteria is specified below, a VM will be selected if and only if it satisfies all of them. + */ + export interface Schema$OSPolicyAssignmentInstanceFilter { + /** + * Target all VMs in the project. If true, no other criteria is permitted. + */ + all?: boolean | null; + /** + * List of label sets used for VM exclusion. If the list has more than one label set, the VM is excluded if any of the label sets are applicable for the VM. + */ + exclusionLabels?: Schema$OSPolicyAssignmentLabelSet[]; + /** + * List of label sets used for VM inclusion. If the list has more than one `LabelSet`, the VM is included if any of the label sets are applicable for the VM. + */ + inclusionLabels?: Schema$OSPolicyAssignmentLabelSet[]; + /** + * List of inventories to select VMs. A VM is selected if its inventory data matches at least one of the following inventories. + */ + inventories?: Schema$OSPolicyAssignmentInstanceFilterInventory[]; + } + /** + * VM inventory details. + */ + export interface Schema$OSPolicyAssignmentInstanceFilterInventory { + /** + * Required. The OS short name + */ + osShortName?: string | null; + /** + * The OS version Prefix matches are supported if asterisk(*) is provided as the last character. For example, to match all versions with a major version of `7`, specify the following value for this field `7.*` An empty string matches all OS versions. + */ + osVersion?: string | null; + } + /** + * Message representing label set. * A label is a key value pair set for a VM. * A LabelSet is a set of labels. * Labels within a LabelSet are ANDed. In other words, a LabelSet is applicable for a VM only if it matches all the labels in the LabelSet. * Example: A LabelSet with 2 labels: `env=prod` and `type=webserver` will only be applicable for those VMs with both labels present. + */ + export interface Schema$OSPolicyAssignmentLabelSet { + /** + * Labels are identified by key/value pairs in this map. A VM should contain all the key/value pairs specified in this map to be selected. + */ + labels?: {[key: string]: string} | null; + } + /** + * OS policy assignment operation metadata provided by OS policy assignment API methods that return long running operations. + */ + export interface Schema$OSPolicyAssignmentOperationMetadata { + /** + * The OS policy assignment API method. + */ + apiMethod?: string | null; + /** + * Reference to the `OSPolicyAssignment` API resource. Format: `projects/{project_number\}/locations/{location\}/osPolicyAssignments/{os_policy_assignment_id@revision_id\}` + */ + osPolicyAssignment?: string | null; + /** + * Rollout start time + */ + rolloutStartTime?: string | null; + /** + * State of the rollout + */ + rolloutState?: string | null; + /** + * Rollout update time + */ + rolloutUpdateTime?: string | null; + } + /** + * Message to configure the rollout at the zonal level for the OS policy assignment. + */ + export interface Schema$OSPolicyAssignmentRollout { + /** + * Required. The maximum number (or percentage) of VMs per zone to disrupt at any given moment. + */ + disruptionBudget?: Schema$FixedOrPercent; + /** + * Required. This determines the minimum duration of time to wait after the configuration changes are applied through the current rollout. A VM continues to count towards the `disruption_budget` at least until this duration of time has passed after configuration changes are applied. + */ + minWaitDuration?: string | null; + } + /** + * Filtering criteria to select VMs based on inventory details. + */ + export interface Schema$OSPolicyInventoryFilter { + /** + * Required. The OS short name + */ + osShortName?: string | null; + /** + * The OS version Prefix matches are supported if asterisk(*) is provided as the last character. For example, to match all versions with a major version of `7`, specify the following value for this field `7.*` An empty string matches all OS versions. + */ + osVersion?: string | null; + } + /** + * An OS policy resource is used to define the desired state configuration and provides a specific functionality like installing/removing packages, executing a script etc. The system ensures that resources are always in their desired state by taking necessary actions if they have drifted from their desired state. + */ + export interface Schema$OSPolicyResource { + /** + * Exec resource + */ + exec?: Schema$OSPolicyResourceExecResource; + /** + * File resource + */ + file?: Schema$OSPolicyResourceFileResource; + /** + * Required. The id of the resource with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the OS policy. + */ + id?: string | null; + /** + * Package resource + */ + pkg?: Schema$OSPolicyResourcePackageResource; + /** + * Package repository resource + */ + repository?: Schema$OSPolicyResourceRepositoryResource; + } + /** + * A resource that allows executing scripts on the VM. The `ExecResource` has 2 stages: `validate` and `enforce` and both stages accept a script as an argument to execute. When the `ExecResource` is applied by the agent, it first executes the script in the `validate` stage. The `validate` stage can signal that the `ExecResource` is already in the desired state by returning an exit code of `100`. If the `ExecResource` is not in the desired state, it should return an exit code of `101`. Any other exit code returned by this stage is considered an error. If the `ExecResource` is not in the desired state based on the exit code from the `validate` stage, the agent proceeds to execute the script from the `enforce` stage. If the `ExecResource` is already in the desired state, the `enforce` stage will not be run. Similar to `validate` stage, the `enforce` stage should return an exit code of `100` to indicate that the resource in now in its desired state. Any other exit code is considered an error. NOTE: An exit code of `100` was chosen over `0` (and `101` vs `1`) to have an explicit indicator of `in desired state`, `not in desired state` and errors. Because, for example, Powershell will always return an exit code of `0` unless an `exit` statement is provided in the script. So, for reasons of consistency and being explicit, exit codes `100` and `101` were chosen. + */ + export interface Schema$OSPolicyResourceExecResource { + /** + * What to run to bring this resource into the desired state. An exit code of 100 indicates "success", any other exit code indicates a failure running enforce. + */ + enforce?: Schema$OSPolicyResourceExecResourceExec; + /** + * Required. What to run to validate this resource is in the desired state. An exit code of 100 indicates "in desired state", and exit code of 101 indicates "not in desired state". Any other exit code indicates a failure running validate. + */ + validate?: Schema$OSPolicyResourceExecResourceExec; + } + /** + * A file or script to execute. + */ + export interface Schema$OSPolicyResourceExecResourceExec { + /** + * Optional arguments to pass to the source during execution. + */ + args?: string[] | null; + /** + * A remote or local file. + */ + file?: Schema$OSPolicyResourceFile; + /** + * Required. The script interpreter to use. + */ + interpreter?: string | null; + /** + * Only recorded for enforce Exec. Path to an output file (that is created by this Exec) whose content will be recorded in OSPolicyResourceCompliance after a successful run. Absence or failure to read this file will result in this ExecResource being non-compliant. Output file size is limited to 500K bytes. + */ + outputFilePath?: string | null; + /** + * An inline script. The size of the script is limited to 32KiB. + */ + script?: string | null; + } + /** + * A remote or local file. + */ + export interface Schema$OSPolicyResourceFile { + /** + * Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified. + */ + allowInsecure?: boolean | null; + /** + * A Cloud Storage object. + */ + gcs?: Schema$OSPolicyResourceFileGcs; + /** + * A local path within the VM to use. + */ + localPath?: string | null; + /** + * A generic remote file. + */ + remote?: Schema$OSPolicyResourceFileRemote; + } + /** + * Specifies a file available as a Cloud Storage Object. + */ + export interface Schema$OSPolicyResourceFileGcs { + /** + * Required. Bucket of the Cloud Storage object. + */ + bucket?: string | null; + /** + * Generation number of the Cloud Storage object. + */ + generation?: string | null; + /** + * Required. Name of the Cloud Storage object. + */ + object?: string | null; + } + /** + * Specifies a file available via some URI. + */ + export interface Schema$OSPolicyResourceFileRemote { + /** + * SHA256 checksum of the remote file. + */ + sha256Checksum?: string | null; + /** + * Required. URI from which to fetch the object. It should contain both the protocol and path following the format `{protocol\}://{location\}`. + */ + uri?: string | null; + } + /** + * A resource that manages the state of a file. + */ + export interface Schema$OSPolicyResourceFileResource { + /** + * A a file with this content. The size of the content is limited to 32KiB. + */ + content?: string | null; + /** + * A remote or local source. + */ + file?: Schema$OSPolicyResourceFile; + /** + * Required. The absolute path of the file within the VM. + */ + path?: string | null; + /** + * Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users for the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit number with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one bit corresponds to the execute permission. Default behavior is 755. Below are some examples of permissions and their associated values: read, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4 + */ + permissions?: string | null; + /** + * Required. Desired state of the file. + */ + state?: string | null; + } + /** + * Resource groups provide a mechanism to group OS policy resources. Resource groups enable OS policy authors to create a single OS policy to be applied to VMs running different operating Systems. When the OS policy is applied to a target VM, the appropriate resource group within the OS policy is selected based on the `OSFilter` specified within the resource group. + */ + export interface Schema$OSPolicyResourceGroup { + /** + * List of inventory filters for the resource group. The resources in this resource group are applied to the target VM if it satisfies at least one of the following inventory filters. For example, to apply this resource group to VMs running either `RHEL` or `CentOS` operating systems, specify 2 items for the list with following values: inventory_filters[0].os_short_name='rhel' and inventory_filters[1].os_short_name='centos' If the list is empty, this resource group will be applied to the target VM unconditionally. + */ + inventoryFilters?: Schema$OSPolicyInventoryFilter[]; + /** + * Required. List of resources configured for this resource group. The resources are executed in the exact order specified here. + */ + resources?: Schema$OSPolicyResource[]; + } + /** + * A resource that manages a system package. + */ + export interface Schema$OSPolicyResourcePackageResource { + /** + * A package managed by Apt. + */ + apt?: Schema$OSPolicyResourcePackageResourceAPT; + /** + * A deb package file. + */ + deb?: Schema$OSPolicyResourcePackageResourceDeb; + /** + * Required. The desired state the agent should maintain for this package. + */ + desiredState?: string | null; + /** + * A package managed by GooGet. + */ + googet?: Schema$OSPolicyResourcePackageResourceGooGet; + /** + * An MSI package. + */ + msi?: Schema$OSPolicyResourcePackageResourceMSI; + /** + * An rpm package file. + */ + rpm?: Schema$OSPolicyResourcePackageResourceRPM; + /** + * A package managed by YUM. + */ + yum?: Schema$OSPolicyResourcePackageResourceYUM; + /** + * A package managed by Zypper. + */ + zypper?: Schema$OSPolicyResourcePackageResourceZypper; + } + /** + * A package managed by APT. - install: `apt-get update && apt-get -y install [name]` - remove: `apt-get -y remove [name]` + */ + export interface Schema$OSPolicyResourcePackageResourceAPT { + /** + * Required. Package name. + */ + name?: string | null; + } + /** + * A deb package file. dpkg packages only support INSTALLED state. + */ + export interface Schema$OSPolicyResourcePackageResourceDeb { + /** + * Whether dependencies should also be installed. - install when false: `dpkg -i package` - install when true: `apt-get update && apt-get -y install package.deb` + */ + pullDeps?: boolean | null; + /** + * Required. A deb package. + */ + source?: Schema$OSPolicyResourceFile; + } + /** + * A package managed by GooGet. - install: `googet -noconfirm install package` - remove: `googet -noconfirm remove package` + */ + export interface Schema$OSPolicyResourcePackageResourceGooGet { + /** + * Required. Package name. + */ + name?: string | null; + } + /** + * An MSI package. MSI packages only support INSTALLED state. + */ + export interface Schema$OSPolicyResourcePackageResourceMSI { + /** + * Additional properties to use during installation. This should be in the format of Property=Setting. Appended to the defaults of `ACTION=INSTALL REBOOT=ReallySuppress`. + */ + properties?: string[] | null; + /** + * Required. The MSI package. + */ + source?: Schema$OSPolicyResourceFile; + } + /** + * An RPM package file. RPM packages only support INSTALLED state. + */ + export interface Schema$OSPolicyResourcePackageResourceRPM { + /** + * Whether dependencies should also be installed. - install when false: `rpm --upgrade --replacepkgs package.rpm` - install when true: `yum -y install package.rpm` or `zypper -y install package.rpm` + */ + pullDeps?: boolean | null; + /** + * Required. An rpm package. + */ + source?: Schema$OSPolicyResourceFile; + } + /** + * A package managed by YUM. - install: `yum -y install package` - remove: `yum -y remove package` + */ + export interface Schema$OSPolicyResourcePackageResourceYUM { + /** + * Required. Package name. + */ + name?: string | null; + } + /** + * A package managed by Zypper. - install: `zypper -y install package` - remove: `zypper -y rm package` + */ + export interface Schema$OSPolicyResourcePackageResourceZypper { + /** + * Required. Package name. + */ + name?: string | null; + } + /** + * A resource that manages a package repository. + */ + export interface Schema$OSPolicyResourceRepositoryResource { + /** + * An Apt Repository. + */ + apt?: Schema$OSPolicyResourceRepositoryResourceAptRepository; + /** + * A Goo Repository. + */ + goo?: Schema$OSPolicyResourceRepositoryResourceGooRepository; + /** + * A Yum Repository. + */ + yum?: Schema$OSPolicyResourceRepositoryResourceYumRepository; + /** + * A Zypper Repository. + */ + zypper?: Schema$OSPolicyResourceRepositoryResourceZypperRepository; + } + /** + * Represents a single apt package repository. These will be added to a repo file that will be managed at `/etc/apt/sources.list.d/google_osconfig.list`. + */ + export interface Schema$OSPolicyResourceRepositoryResourceAptRepository { + /** + * Required. Type of archive files in this repository. + */ + archiveType?: string | null; + /** + * Required. List of components for this repository. Must contain at least one item. + */ + components?: string[] | null; + /** + * Required. Distribution of this repository. + */ + distribution?: string | null; + /** + * URI of the key file for this repository. The agent maintains a keyring at `/etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg`. + */ + gpgKey?: string | null; + /** + * Required. URI for this repository. + */ + uri?: string | null; + } + /** + * Represents a Goo package repository. These are added to a repo file that is managed at `C:/ProgramData/GooGet/repos/google_osconfig.repo`. + */ + export interface Schema$OSPolicyResourceRepositoryResourceGooRepository { + /** + * Required. The name of the repository. + */ + name?: string | null; + /** + * Required. The url of the repository. + */ + url?: string | null; + } + /** + * Represents a single yum package repository. These are added to a repo file that is managed at `/etc/yum.repos.d/google_osconfig.repo`. + */ + export interface Schema$OSPolicyResourceRepositoryResourceYumRepository { + /** + * Required. The location of the repository directory. + */ + baseUrl?: string | null; + /** + * The display name of the repository. + */ + displayName?: string | null; + /** + * URIs of GPG keys. + */ + gpgKeys?: string[] | null; + /** + * Required. A one word, unique name for this repository. This is the `repo id` in the yum config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for resource conflicts. + */ + id?: string | null; + } + /** + * Represents a single zypper package repository. These are added to a repo file that is managed at `/etc/zypp/repos.d/google_osconfig.repo`. + */ + export interface Schema$OSPolicyResourceRepositoryResourceZypperRepository { + /** + * Required. The location of the repository directory. + */ + baseUrl?: string | null; + /** + * The display name of the repository. + */ + displayName?: string | null; + /** + * URIs of GPG keys. + */ + gpgKeys?: string[] | null; + /** + * Required. A one word, unique name for this repository. This is the `repo id` in the zypper config file and also the `display_name` if `display_name` is omitted. This id is also used as the unique identifier when checking for GuestPolicy conflicts. + */ + id?: string | null; + } + /** + * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + */ + export interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number | null; + /** + * A list of messages that carry the error details. There is a common set of message types for APIs to use. + */ + details?: Array<{[key: string]: any}> | null; + /** + * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + */ + message?: string | null; + } + + export class Resource$Folders { + context: APIRequestContext; + locations: Resource$Folders$Locations; + constructor(context: APIRequestContext) { + this.context = context; + this.locations = new Resource$Folders$Locations(this.context); + } + } + + export class Resource$Folders$Locations { + context: APIRequestContext; + global: Resource$Folders$Locations$Global; + operations: Resource$Folders$Locations$Operations; + constructor(context: APIRequestContext) { + this.context = context; + this.global = new Resource$Folders$Locations$Global(this.context); + this.operations = new Resource$Folders$Locations$Operations(this.context); + } + } + + export class Resource$Folders$Locations$Global { + context: APIRequestContext; + policyOrchestrators: Resource$Folders$Locations$Global$Policyorchestrators; + constructor(context: APIRequestContext) { + this.context = context; + this.policyOrchestrators = + new Resource$Folders$Locations$Global$Policyorchestrators(this.context); + } + } + + export class Resource$Folders$Locations$Global$Policyorchestrators { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new policy orchestrator under the given folder resource. `name` field of the given orchestrator are ignored and instead replaced by a product of `parent` and `policy_orchestrator_id`. Orchestrator state field might be only set to `ACTIVE`, `STOPPED` or omitted (in which case, the created resource will be in `ACTIVE` state anyway). + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Folders$Locations$Global$Policyorchestrators$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Folders$Locations$Global$Policyorchestrators$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Folders$Locations$Global$Policyorchestrators$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Folders$Locations$Global$Policyorchestrators$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Folders$Locations$Global$Policyorchestrators$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Folders$Locations$Global$Policyorchestrators$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Folders$Locations$Global$Policyorchestrators$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Folders$Locations$Global$Policyorchestrators$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://osconfig.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+parent}/policyOrchestrators').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes an existing policy orchestrator resource, parented by a folder. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Folders$Locations$Global$Policyorchestrators$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Folders$Locations$Global$Policyorchestrators$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Folders$Locations$Global$Policyorchestrators$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Folders$Locations$Global$Policyorchestrators$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Folders$Locations$Global$Policyorchestrators$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Folders$Locations$Global$Policyorchestrators$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Folders$Locations$Global$Policyorchestrators$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Folders$Locations$Global$Policyorchestrators$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://osconfig.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieves an existing policy orchestrator, parented by a folder. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Folders$Locations$Global$Policyorchestrators$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Folders$Locations$Global$Policyorchestrators$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Folders$Locations$Global$Policyorchestrators$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Folders$Locations$Global$Policyorchestrators$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Folders$Locations$Global$Policyorchestrators$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Folders$Locations$Global$Policyorchestrators$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Folders$Locations$Global$Policyorchestrators$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Folders$Locations$Global$Policyorchestrators$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://osconfig.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Lists the policy orchestrators under the given parent folder resource. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Folders$Locations$Global$Policyorchestrators$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Folders$Locations$Global$Policyorchestrators$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Folders$Locations$Global$Policyorchestrators$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Folders$Locations$Global$Policyorchestrators$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Folders$Locations$Global$Policyorchestrators$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Folders$Locations$Global$Policyorchestrators$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Folders$Locations$Global$Policyorchestrators$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Folders$Locations$Global$Policyorchestrators$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://osconfig.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+parent}/policyOrchestrators').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates an existing policy orchestrator, parented by a folder. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Folders$Locations$Global$Policyorchestrators$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Folders$Locations$Global$Policyorchestrators$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Folders$Locations$Global$Policyorchestrators$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Folders$Locations$Global$Policyorchestrators$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Folders$Locations$Global$Policyorchestrators$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Folders$Locations$Global$Policyorchestrators$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Folders$Locations$Global$Policyorchestrators$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Folders$Locations$Global$Policyorchestrators$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://osconfig.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Folders$Locations$Global$Policyorchestrators$Create + extends StandardParameters { + /** + * Required. The parent resource name in the form of: * `organizations/{organization_id\}/locations/global` * `folders/{folder_id\}/locations/global` * `projects/{project_id_or_number\}/locations/global` + */ + parent?: string; + /** + * Required. The logical identifier of the policy orchestrator, with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the parent. + */ + policyOrchestratorId?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudOsconfigV2beta__PolicyOrchestrator; + } + export interface Params$Resource$Folders$Locations$Global$Policyorchestrators$Delete + extends StandardParameters { + /** + * Optional. The current etag of the policy orchestrator. If an etag is provided and does not match the current etag of the policy orchestrator, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Required. Name of the resource to be deleted. + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Folders$Locations$Global$Policyorchestrators$Get + extends StandardParameters { + /** + * Required. The resource name. + */ + name?: string; + } + export interface Params$Resource$Folders$Locations$Global$Policyorchestrators$List + extends StandardParameters { + /** + * Optional. Filtering results + */ + filter?: string; + /** + * Optional. Hint for how to order the results + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. The parent resource name. + */ + parent?: string; + } + export interface Params$Resource$Folders$Locations$Global$Policyorchestrators$Patch + extends StandardParameters { + /** + * Immutable. Identifier. In form of * `organizations/{organization_id\}/locations/global/policyOrchestrators/{orchestrator_id\}` * `folders/{folder_id\}/locations/global/policyOrchestrators/{orchestrator_id\}` * `projects/{project_id_or_number\}/locations/global/policyOrchestrators/{orchestrator_id\}` + */ + name?: string; + /** + * Optional. The list of fields to update. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudOsconfigV2beta__PolicyOrchestrator; + } + + export class Resource$Folders$Locations$Operations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + cancel( + params: Params$Resource$Folders$Locations$Operations$Cancel, + options: StreamMethodOptions + ): GaxiosPromise; + cancel( + params?: Params$Resource$Folders$Locations$Operations$Cancel, + options?: MethodOptions + ): GaxiosPromise; + cancel( + params: Params$Resource$Folders$Locations$Operations$Cancel, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Folders$Locations$Operations$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Folders$Locations$Operations$Cancel, + callback: BodyResponseCallback + ): void; + cancel(callback: BodyResponseCallback): void; + cancel( + paramsOrCallback?: + | Params$Resource$Folders$Locations$Operations$Cancel + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Folders$Locations$Operations$Cancel; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Folders$Locations$Operations$Cancel; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://osconfig.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}:cancel').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Folders$Locations$Operations$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Folders$Locations$Operations$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Folders$Locations$Operations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Folders$Locations$Operations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Folders$Locations$Operations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Folders$Locations$Operations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Folders$Locations$Operations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Folders$Locations$Operations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://osconfig.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Folders$Locations$Operations$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Folders$Locations$Operations$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Folders$Locations$Operations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Folders$Locations$Operations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Folders$Locations$Operations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Folders$Locations$Operations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Folders$Locations$Operations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Folders$Locations$Operations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://osconfig.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Folders$Locations$Operations$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Folders$Locations$Operations$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Folders$Locations$Operations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Folders$Locations$Operations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Folders$Locations$Operations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Folders$Locations$Operations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Folders$Locations$Operations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Folders$Locations$Operations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://osconfig.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}/operations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Folders$Locations$Operations$Cancel + extends StandardParameters { + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CancelOperationRequest; + } + export interface Params$Resource$Folders$Locations$Operations$Delete + extends StandardParameters { + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + export interface Params$Resource$Folders$Locations$Operations$Get + extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + export interface Params$Resource$Folders$Locations$Operations$List + extends StandardParameters { + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + + export class Resource$Organizations { + context: APIRequestContext; + locations: Resource$Organizations$Locations; + constructor(context: APIRequestContext) { + this.context = context; + this.locations = new Resource$Organizations$Locations(this.context); + } + } + + export class Resource$Organizations$Locations { + context: APIRequestContext; + global: Resource$Organizations$Locations$Global; + operations: Resource$Organizations$Locations$Operations; + constructor(context: APIRequestContext) { + this.context = context; + this.global = new Resource$Organizations$Locations$Global(this.context); + this.operations = new Resource$Organizations$Locations$Operations( + this.context + ); + } + } + + export class Resource$Organizations$Locations$Global { + context: APIRequestContext; + policyOrchestrators: Resource$Organizations$Locations$Global$Policyorchestrators; + constructor(context: APIRequestContext) { + this.context = context; + this.policyOrchestrators = + new Resource$Organizations$Locations$Global$Policyorchestrators( + this.context + ); + } + } + + export class Resource$Organizations$Locations$Global$Policyorchestrators { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new policy orchestrator under the given organizations resource. `name` field of the given orchestrator are ignored and instead replaced by a product of `parent` and `policy_orchestrator_id`. Orchestrator state field might be only set to `ACTIVE`, `STOPPED` or omitted (in which case, the created resource will be in `ACTIVE` state anyway). + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Organizations$Locations$Global$Policyorchestrators$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Organizations$Locations$Global$Policyorchestrators$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Organizations$Locations$Global$Policyorchestrators$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Organizations$Locations$Global$Policyorchestrators$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Organizations$Locations$Global$Policyorchestrators$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Global$Policyorchestrators$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Global$Policyorchestrators$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizations$Locations$Global$Policyorchestrators$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://osconfig.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+parent}/policyOrchestrators').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes an existing policy orchestrator resource, parented by an organization. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Organizations$Locations$Global$Policyorchestrators$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Organizations$Locations$Global$Policyorchestrators$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Organizations$Locations$Global$Policyorchestrators$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Organizations$Locations$Global$Policyorchestrators$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Organizations$Locations$Global$Policyorchestrators$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Global$Policyorchestrators$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Global$Policyorchestrators$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizations$Locations$Global$Policyorchestrators$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://osconfig.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieves an existing policy orchestrator, parented by an organization. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Organizations$Locations$Global$Policyorchestrators$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Organizations$Locations$Global$Policyorchestrators$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Organizations$Locations$Global$Policyorchestrators$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizations$Locations$Global$Policyorchestrators$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizations$Locations$Global$Policyorchestrators$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Global$Policyorchestrators$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Global$Policyorchestrators$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizations$Locations$Global$Policyorchestrators$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://osconfig.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Lists the policy orchestrators under the given parent organization resource. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Organizations$Locations$Global$Policyorchestrators$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Organizations$Locations$Global$Policyorchestrators$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Organizations$Locations$Global$Policyorchestrators$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizations$Locations$Global$Policyorchestrators$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizations$Locations$Global$Policyorchestrators$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Global$Policyorchestrators$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Global$Policyorchestrators$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizations$Locations$Global$Policyorchestrators$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://osconfig.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+parent}/policyOrchestrators').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates an existing policy orchestrator, parented by an organization. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Organizations$Locations$Global$Policyorchestrators$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Organizations$Locations$Global$Policyorchestrators$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Organizations$Locations$Global$Policyorchestrators$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Organizations$Locations$Global$Policyorchestrators$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Organizations$Locations$Global$Policyorchestrators$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Global$Policyorchestrators$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Global$Policyorchestrators$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizations$Locations$Global$Policyorchestrators$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://osconfig.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Organizations$Locations$Global$Policyorchestrators$Create + extends StandardParameters { + /** + * Required. The parent resource name in the form of: * `organizations/{organization_id\}/locations/global` * `folders/{folder_id\}/locations/global` * `projects/{project_id_or_number\}/locations/global` + */ + parent?: string; + /** + * Required. The logical identifier of the policy orchestrator, with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the parent. + */ + policyOrchestratorId?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudOsconfigV2beta__PolicyOrchestrator; + } + export interface Params$Resource$Organizations$Locations$Global$Policyorchestrators$Delete + extends StandardParameters { + /** + * Optional. The current etag of the policy orchestrator. If an etag is provided and does not match the current etag of the policy orchestrator, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Required. Name of the resource to be deleted. + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Organizations$Locations$Global$Policyorchestrators$Get + extends StandardParameters { + /** + * Required. The resource name. + */ + name?: string; + } + export interface Params$Resource$Organizations$Locations$Global$Policyorchestrators$List + extends StandardParameters { + /** + * Optional. Filtering results + */ + filter?: string; + /** + * Optional. Hint for how to order the results + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. The parent resource name. + */ + parent?: string; + } + export interface Params$Resource$Organizations$Locations$Global$Policyorchestrators$Patch + extends StandardParameters { + /** + * Immutable. Identifier. In form of * `organizations/{organization_id\}/locations/global/policyOrchestrators/{orchestrator_id\}` * `folders/{folder_id\}/locations/global/policyOrchestrators/{orchestrator_id\}` * `projects/{project_id_or_number\}/locations/global/policyOrchestrators/{orchestrator_id\}` + */ + name?: string; + /** + * Optional. The list of fields to update. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudOsconfigV2beta__PolicyOrchestrator; + } + + export class Resource$Organizations$Locations$Operations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + cancel( + params: Params$Resource$Organizations$Locations$Operations$Cancel, + options: StreamMethodOptions + ): GaxiosPromise; + cancel( + params?: Params$Resource$Organizations$Locations$Operations$Cancel, + options?: MethodOptions + ): GaxiosPromise; + cancel( + params: Params$Resource$Organizations$Locations$Operations$Cancel, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Organizations$Locations$Operations$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Organizations$Locations$Operations$Cancel, + callback: BodyResponseCallback + ): void; + cancel(callback: BodyResponseCallback): void; + cancel( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Operations$Cancel + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Operations$Cancel; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizations$Locations$Operations$Cancel; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://osconfig.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}:cancel').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Organizations$Locations$Operations$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Organizations$Locations$Operations$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Organizations$Locations$Operations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Organizations$Locations$Operations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Organizations$Locations$Operations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Operations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Operations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizations$Locations$Operations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://osconfig.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Organizations$Locations$Operations$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Organizations$Locations$Operations$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Organizations$Locations$Operations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizations$Locations$Operations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizations$Locations$Operations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Operations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Operations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizations$Locations$Operations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://osconfig.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Organizations$Locations$Operations$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Organizations$Locations$Operations$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Organizations$Locations$Operations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizations$Locations$Operations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizations$Locations$Operations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Operations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Operations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizations$Locations$Operations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://osconfig.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}/operations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Organizations$Locations$Operations$Cancel + extends StandardParameters { + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CancelOperationRequest; + } + export interface Params$Resource$Organizations$Locations$Operations$Delete + extends StandardParameters { + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + export interface Params$Resource$Organizations$Locations$Operations$Get + extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + export interface Params$Resource$Organizations$Locations$Operations$List + extends StandardParameters { + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + + export class Resource$Projects { + context: APIRequestContext; + locations: Resource$Projects$Locations; + constructor(context: APIRequestContext) { + this.context = context; + this.locations = new Resource$Projects$Locations(this.context); + } + } + + export class Resource$Projects$Locations { + context: APIRequestContext; + global: Resource$Projects$Locations$Global; + operations: Resource$Projects$Locations$Operations; + constructor(context: APIRequestContext) { + this.context = context; + this.global = new Resource$Projects$Locations$Global(this.context); + this.operations = new Resource$Projects$Locations$Operations( + this.context + ); + } + } + + export class Resource$Projects$Locations$Global { + context: APIRequestContext; + policyOrchestrators: Resource$Projects$Locations$Global$Policyorchestrators; + constructor(context: APIRequestContext) { + this.context = context; + this.policyOrchestrators = + new Resource$Projects$Locations$Global$Policyorchestrators( + this.context + ); + } + } + + export class Resource$Projects$Locations$Global$Policyorchestrators { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new policy orchestrator under the given project resource. `name` field of the given orchestrator are ignored and instead replaced by a product of `parent` and `policy_orchestrator_id`. Orchestrator state field might be only set to `ACTIVE`, `STOPPED` or omitted (in which case, the created resource will be in `ACTIVE` state anyway). + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Global$Policyorchestrators$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Global$Policyorchestrators$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Global$Policyorchestrators$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Global$Policyorchestrators$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Global$Policyorchestrators$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Global$Policyorchestrators$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Global$Policyorchestrators$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Global$Policyorchestrators$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://osconfig.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+parent}/policyOrchestrators').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes an existing policy orchestrator resource, parented by a project. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Global$Policyorchestrators$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Global$Policyorchestrators$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Global$Policyorchestrators$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Global$Policyorchestrators$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Global$Policyorchestrators$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Global$Policyorchestrators$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Global$Policyorchestrators$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Global$Policyorchestrators$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://osconfig.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Retrieves an existing policy orchestrator, parented by a project. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Global$Policyorchestrators$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Global$Policyorchestrators$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Global$Policyorchestrators$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Global$Policyorchestrators$Get, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Global$Policyorchestrators$Get, + callback: BodyResponseCallback + ): void; + get( + callback: BodyResponseCallback + ): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Global$Policyorchestrators$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Global$Policyorchestrators$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Global$Policyorchestrators$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://osconfig.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Lists the policy orchestrators under the given parent project resource. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Global$Policyorchestrators$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Global$Policyorchestrators$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Global$Policyorchestrators$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Global$Policyorchestrators$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Global$Policyorchestrators$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Global$Policyorchestrators$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Global$Policyorchestrators$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Global$Policyorchestrators$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://osconfig.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+parent}/policyOrchestrators').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates an existing policy orchestrator, parented by a project. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Global$Policyorchestrators$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Global$Policyorchestrators$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Global$Policyorchestrators$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Global$Policyorchestrators$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Global$Policyorchestrators$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Global$Policyorchestrators$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Global$Policyorchestrators$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Global$Policyorchestrators$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://osconfig.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Global$Policyorchestrators$Create + extends StandardParameters { + /** + * Required. The parent resource name in the form of: * `organizations/{organization_id\}/locations/global` * `folders/{folder_id\}/locations/global` * `projects/{project_id_or_number\}/locations/global` + */ + parent?: string; + /** + * Required. The logical identifier of the policy orchestrator, with the following restrictions: * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the parent. + */ + policyOrchestratorId?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudOsconfigV2beta__PolicyOrchestrator; + } + export interface Params$Resource$Projects$Locations$Global$Policyorchestrators$Delete + extends StandardParameters { + /** + * Optional. The current etag of the policy orchestrator. If an etag is provided and does not match the current etag of the policy orchestrator, deletion will be blocked and an ABORTED error will be returned. + */ + etag?: string; + /** + * Required. Name of the resource to be deleted. + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Projects$Locations$Global$Policyorchestrators$Get + extends StandardParameters { + /** + * Required. The resource name. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Global$Policyorchestrators$List + extends StandardParameters { + /** + * Optional. Filtering results + */ + filter?: string; + /** + * Optional. Hint for how to order the results + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. The parent resource name. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Global$Policyorchestrators$Patch + extends StandardParameters { + /** + * Immutable. Identifier. In form of * `organizations/{organization_id\}/locations/global/policyOrchestrators/{orchestrator_id\}` * `folders/{folder_id\}/locations/global/policyOrchestrators/{orchestrator_id\}` * `projects/{project_id_or_number\}/locations/global/policyOrchestrators/{orchestrator_id\}` + */ + name?: string; + /** + * Optional. The list of fields to update. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudOsconfigV2beta__PolicyOrchestrator; + } + + export class Resource$Projects$Locations$Operations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: StreamMethodOptions + ): GaxiosPromise; + cancel( + params?: Params$Resource$Projects$Locations$Operations$Cancel, + options?: MethodOptions + ): GaxiosPromise; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + callback: BodyResponseCallback + ): void; + cancel(callback: BodyResponseCallback): void; + cancel( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Cancel + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Cancel; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Cancel; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://osconfig.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}:cancel').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Operations$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://osconfig.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Operations$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://osconfig.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Operations$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Operations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://osconfig.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2beta/{+name}/operations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Operations$Cancel + extends StandardParameters { + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CancelOperationRequest; + } + export interface Params$Resource$Projects$Locations$Operations$Delete + extends StandardParameters { + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Operations$Get + extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Operations$List + extends StandardParameters { + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } +} diff --git a/src/apis/oslogin/v1alpha.ts b/src/apis/oslogin/v1alpha.ts index 85631a6580..9f0bf8b87d 100644 --- a/src/apis/oslogin/v1alpha.ts +++ b/src/apis/oslogin/v1alpha.ts @@ -516,7 +516,7 @@ export namespace oslogin_v1alpha { */ projectId?: string; /** - * Optional. The regions to which to assert that the key was written. If unspecified, defaults to all regions. Regions are listed at https://cloud.google.com/about/locations#region. + * Optional. The regions to wait for a POSIX account to be written to before returning a response. If unspecified, defaults to all regions. Regions are listed at https://cloud.google.com/about/locations#region. */ regions?: string[]; /** diff --git a/src/apis/parallelstore/README.md b/src/apis/parallelstore/README.md new file mode 100644 index 0000000000..724dfc2fd7 --- /dev/null +++ b/src/apis/parallelstore/README.md @@ -0,0 +1,28 @@ +Google Inc. logo + +# parallelstore + +> + +## Installation + +```sh +$ npm install @googleapis/parallelstore +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/googleapis/google-api-nodejs-client). +Information on classes can be found in [Googleapis Documentation](https://googleapis.dev/nodejs/googleapis/latest/parallelstore/classes/Parallelstore.html). + +## License +This library is licensed under Apache 2.0. Full license text is available in [LICENSE](https://github.com/googleapis/google-api-nodejs-client/blob/main/LICENSE). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/main/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/googleapis/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/src/apis/parallelstore/index.ts b/src/apis/parallelstore/index.ts new file mode 100644 index 0000000000..cbd0521590 --- /dev/null +++ b/src/apis/parallelstore/index.ts @@ -0,0 +1,61 @@ +// Copyright 2020 Google LLC +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/*! THIS FILE IS AUTO-GENERATED */ + +import {AuthPlus, getAPI, GoogleConfigurable} from 'googleapis-common'; +import {parallelstore_v1} from './v1'; +import {parallelstore_v1beta} from './v1beta'; + +export const VERSIONS = { + v1: parallelstore_v1.Parallelstore, + v1beta: parallelstore_v1beta.Parallelstore, +}; + +export function parallelstore(version: 'v1'): parallelstore_v1.Parallelstore; +export function parallelstore( + options: parallelstore_v1.Options +): parallelstore_v1.Parallelstore; +export function parallelstore( + version: 'v1beta' +): parallelstore_v1beta.Parallelstore; +export function parallelstore( + options: parallelstore_v1beta.Options +): parallelstore_v1beta.Parallelstore; +export function parallelstore< + T = parallelstore_v1.Parallelstore | parallelstore_v1beta.Parallelstore, +>( + this: GoogleConfigurable, + versionOrOptions: + | 'v1' + | parallelstore_v1.Options + | 'v1beta' + | parallelstore_v1beta.Options +) { + return getAPI('parallelstore', versionOrOptions, VERSIONS, this); +} + +const auth = new AuthPlus(); +export {auth}; +export {parallelstore_v1}; +export {parallelstore_v1beta}; +export { + AuthPlus, + GlobalOptions, + APIRequestContext, + GoogleConfigurable, + StreamMethodOptions, + GaxiosPromise, + MethodOptions, + BodyResponseCallback, +} from 'googleapis-common'; diff --git a/src/apis/parallelstore/package.json b/src/apis/parallelstore/package.json new file mode 100644 index 0000000000..9ad6495c19 --- /dev/null +++ b/src/apis/parallelstore/package.json @@ -0,0 +1,43 @@ +{ + "name": "@googleapis/parallelstore", + "version": "0.1.0", + "description": "parallelstore", + "main": "build/index.js", + "types": "build/index.d.ts", + "keywords": [ + "google" + ], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/googleapis/google-api-nodejs-client", + "bugs": { + "url": "https://github.com/googleapis/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/googleapis/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=12.0.0" + }, + "scripts": { + "fix": "gts fix", + "lint": "gts check", + "compile": "tsc -p .", + "prepare": "npm run compile", + "webpack": "webpack" + }, + "dependencies": { + "googleapis-common": "^7.0.0" + }, + "devDependencies": { + "@microsoft/api-documenter": "^7.8.10", + "@microsoft/api-extractor": "^7.8.10", + "gts": "^5.0.0", + "null-loader": "^4.0.0", + "ts-loader": "^9.0.0", + "typescript": "~4.8.4", + "webpack": "^5.0.0", + "webpack-cli": "^5.0.0" + } +} diff --git a/src/apis/parallelstore/tsconfig.json b/src/apis/parallelstore/tsconfig.json new file mode 100644 index 0000000000..e081090496 --- /dev/null +++ b/src/apis/parallelstore/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "./node_modules/gts/tsconfig-google.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "build" + }, + "include": [ + "*.ts", + ] +} diff --git a/src/apis/parallelstore/v1.ts b/src/apis/parallelstore/v1.ts new file mode 100644 index 0000000000..ffae59a674 --- /dev/null +++ b/src/apis/parallelstore/v1.ts @@ -0,0 +1,1789 @@ +// Copyright 2020 Google LLC +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/no-empty-interface */ +/* eslint-disable @typescript-eslint/no-namespace */ +/* eslint-disable no-irregular-whitespace */ + +import { + OAuth2Client, + JWT, + Compute, + UserRefreshClient, + BaseExternalAccountClient, + GaxiosPromise, + GoogleConfigurable, + createAPIRequest, + MethodOptions, + StreamMethodOptions, + GlobalOptions, + GoogleAuth, + BodyResponseCallback, + APIRequestContext, +} from 'googleapis-common'; +import {Readable} from 'stream'; + +export namespace parallelstore_v1 { + export interface Options extends GlobalOptions { + version: 'v1'; + } + + interface StandardParameters { + /** + * Auth client or API Key for the request + */ + auth?: + | string + | OAuth2Client + | JWT + | Compute + | UserRefreshClient + | BaseExternalAccountClient + | GoogleAuth; + + /** + * V1 error format. + */ + '$.xgafv'?: string; + /** + * OAuth access token. + */ + access_token?: string; + /** + * Data format for response. + */ + alt?: string; + /** + * JSONP + */ + callback?: string; + /** + * Selector specifying which fields to include in a partial response. + */ + fields?: string; + /** + * API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + */ + key?: string; + /** + * OAuth 2.0 token for the current user. + */ + oauth_token?: string; + /** + * Returns response with indentations and line breaks. + */ + prettyPrint?: boolean; + /** + * Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + */ + quotaUser?: string; + /** + * Legacy upload protocol for media (e.g. "media", "multipart"). + */ + uploadType?: string; + /** + * Upload protocol for media (e.g. "raw", "multipart"). + */ + upload_protocol?: string; + } + + /** + * Parallelstore API + * + * + * + * @example + * ```js + * const {google} = require('googleapis'); + * const parallelstore = google.parallelstore('v1'); + * ``` + */ + export class Parallelstore { + context: APIRequestContext; + projects: Resource$Projects; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.projects = new Resource$Projects(this.context); + } + } + + /** + * The request message for Operations.CancelOperation. + */ + export interface Schema$CancelOperationRequest {} + /** + * Cloud Storage as the destination of a data transfer. + */ + export interface Schema$DestinationGcsBucket { + /** + * Required. URI to a Cloud Storage bucket in the format: `gs:///`. The path inside the bucket is optional. + */ + uri?: string | null; + } + /** + * Parallelstore as the destination of a data transfer. + */ + export interface Schema$DestinationParallelstore { + /** + * Optional. Root directory path to the Paralellstore filesystem, starting with `/`. Defaults to `/` if unset. + */ + path?: string | null; + } + /** + * Export data from Parallelstore to Cloud Storage. + */ + export interface Schema$ExportDataRequest { + /** + * Cloud Storage destination. + */ + destinationGcsBucket?: Schema$DestinationGcsBucket; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string | null; + /** + * Optional. User-specified Service Account (SA) credentials to be used when performing the transfer. Use one of the following formats: * `{EMAIL_ADDRESS_OR_UNIQUE_ID\}` * `projects/{PROJECT_ID_OR_NUMBER\}/serviceAccounts/{EMAIL_ADDRESS_OR_UNIQUE_ID\}` * `projects/-/serviceAccounts/{EMAIL_ADDRESS_OR_UNIQUE_ID\}` If unspecified, the Parallelstore service agent is used: `service-@gcp-sa-parallelstore.iam.gserviceaccount.com` + */ + serviceAccount?: string | null; + /** + * Parallelstore source. + */ + sourceParallelstore?: Schema$SourceParallelstore; + } + /** + * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} + */ + export interface Schema$GoogleProtobufEmpty {} + /** + * Import data from Cloud Storage into a Parallelstore instance. + */ + export interface Schema$ImportDataRequest { + /** + * Parallelstore destination. + */ + destinationParallelstore?: Schema$DestinationParallelstore; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string | null; + /** + * Optional. User-specified service account credentials to be used when performing the transfer. Use one of the following formats: * `{EMAIL_ADDRESS_OR_UNIQUE_ID\}` * `projects/{PROJECT_ID_OR_NUMBER\}/serviceAccounts/{EMAIL_ADDRESS_OR_UNIQUE_ID\}` * `projects/-/serviceAccounts/{EMAIL_ADDRESS_OR_UNIQUE_ID\}` If unspecified, the Parallelstore service agent is used: `service-@gcp-sa-parallelstore.iam.gserviceaccount.com` + */ + serviceAccount?: string | null; + /** + * The Cloud Storage source bucket and, optionally, path inside the bucket. + */ + sourceGcsBucket?: Schema$SourceGcsBucket; + } + /** + * A Parallelstore instance. + */ + export interface Schema$Instance { + /** + * Output only. A list of IPv4 addresses used for client side configuration. + */ + accessPoints?: string[] | null; + /** + * Required. Immutable. The instance's storage capacity in Gibibytes (GiB). Allowed values are between 12000 and 100000, in multiples of 4000; e.g., 12000, 16000, 20000, ... + */ + capacityGib?: string | null; + /** + * Output only. The time when the instance was created. + */ + createTime?: string | null; + /** + * Optional. The deployment type of the instance. Allowed values are: * `SCRATCH`: the instance is a scratch instance. * `PERSISTENT`: the instance is a persistent instance. + */ + deploymentType?: string | null; + /** + * Optional. The description of the instance. 2048 characters or less. + */ + description?: string | null; + /** + * Optional. Stripe level for directories. Allowed values are: * `DIRECTORY_STRIPE_LEVEL_MIN`: recommended when directories contain a small number of files. * `DIRECTORY_STRIPE_LEVEL_BALANCED`: balances performance for workloads involving a mix of small and large directories. * `DIRECTORY_STRIPE_LEVEL_MAX`: recommended for directories with a large number of files. + */ + directoryStripeLevel?: string | null; + /** + * Output only. Immutable. The ID of the IP address range being used by the instance's VPC network. This field is populated by the service and contains the value currently used by the service. + */ + effectiveReservedIpRange?: string | null; + /** + * Optional. Stripe level for files. Allowed values are: * `FILE_STRIPE_LEVEL_MIN`: offers the best performance for small size files. * `FILE_STRIPE_LEVEL_BALANCED`: balances performance for workloads involving a mix of small and large files. * `FILE_STRIPE_LEVEL_MAX`: higher throughput performance for larger files. + */ + fileStripeLevel?: string | null; + /** + * Optional. Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. See https://cloud.google.com/resource-manager/docs/labels-overview for details. + */ + labels?: {[key: string]: string} | null; + /** + * Identifier. The resource name of the instance, in the format `projects/{project\}/locations/{location\}/instances/{instance_id\}`. + */ + name?: string | null; + /** + * Optional. Immutable. The name of the Compute Engine [VPC network](https://cloud.google.com/vpc/docs/vpc) to which the instance is connected. + */ + network?: string | null; + /** + * Optional. Immutable. The ID of the IP address range being used by the instance's VPC network. See [Configure a VPC network](https://cloud.google.com/parallelstore/docs/vpc#create_and_configure_the_vpc). If no ID is provided, all ranges are considered. + */ + reservedIpRange?: string | null; + /** + * Output only. The instance state. + */ + state?: string | null; + /** + * Output only. The time when the instance was updated. + */ + updateTime?: string | null; + } + /** + * Response from ListInstances. + */ + export interface Schema$ListInstancesResponse { + /** + * The list of Parallelstore instances. + */ + instances?: Schema$Instance[]; + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * The response message for Locations.ListLocations. + */ + export interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string | null; + } + /** + * The response message for Operations.ListOperations. + */ + export interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string | null; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * A resource that represents a Google Cloud location. + */ + export interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For example, "Tokyo". + */ + displayName?: string | null; + /** + * Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"\} + */ + labels?: {[key: string]: string} | null; + /** + * The canonical id for this location. For example: `"us-east1"`. + */ + locationId?: string | null; + /** + * Service-specific metadata. For example the available capacity at the given location. + */ + metadata?: {[key: string]: any} | null; + /** + * Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` + */ + name?: string | null; + } + /** + * This resource represents a long-running operation that is the result of a network API call. + */ + export interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. + */ + done?: boolean | null; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. + */ + metadata?: {[key: string]: any} | null; + /** + * The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id\}`. + */ + name?: string | null; + /** + * The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: {[key: string]: any} | null; + } + /** + * Long-running operation metadata. + */ + export interface Schema$OperationMetadata { + /** + * Output only. API version used to start the operation. + */ + apiVersion?: string | null; + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + */ + requestedCancellation?: boolean | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; + /** + * Output only. Server-defined resource path for the target of the operation. + */ + target?: string | null; + /** + * Output only. Name of the verb executed by the operation. + */ + verb?: string | null; + } + /** + * Cloud Storage as the source of a data transfer. + */ + export interface Schema$SourceGcsBucket { + /** + * Required. URI to a Cloud Storage bucket in the format: `gs:///`. The path inside the bucket is optional. + */ + uri?: string | null; + } + /** + * Parallelstore as the source of a data transfer. + */ + export interface Schema$SourceParallelstore { + /** + * Optional. Root directory path to the Paralellstore filesystem, starting with `/`. Defaults to `/` if unset. + */ + path?: string | null; + } + /** + * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + */ + export interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number | null; + /** + * A list of messages that carry the error details. There is a common set of message types for APIs to use. + */ + details?: Array<{[key: string]: any}> | null; + /** + * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + */ + message?: string | null; + } + + export class Resource$Projects { + context: APIRequestContext; + locations: Resource$Projects$Locations; + constructor(context: APIRequestContext) { + this.context = context; + this.locations = new Resource$Projects$Locations(this.context); + } + } + + export class Resource$Projects$Locations { + context: APIRequestContext; + instances: Resource$Projects$Locations$Instances; + operations: Resource$Projects$Locations$Operations; + constructor(context: APIRequestContext) { + this.context = context; + this.instances = new Resource$Projects$Locations$Instances(this.context); + this.operations = new Resource$Projects$Locations$Operations( + this.context + ); + } + + /** + * Gets information about a location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://parallelstore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists information about the supported locations for this service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://parallelstore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}/locations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Get + extends StandardParameters { + /** + * Resource name for the location. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$List + extends StandardParameters { + /** + * A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160). + */ + filter?: string; + /** + * The resource that owns the locations collection, if applicable. + */ + name?: string; + /** + * The maximum number of results to return. If not set, the service selects a default. + */ + pageSize?: number; + /** + * A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page. + */ + pageToken?: string; + } + + export class Resource$Projects$Locations$Instances { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a Parallelstore instance in a given project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Instances$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Instances$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Instances$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Instances$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Instances$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Instances$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Instances$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Instances$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://parallelstore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/instances').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a single instance. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Instances$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Instances$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Instances$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Instances$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Instances$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Instances$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Instances$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Instances$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://parallelstore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Copies data from Parallelstore to Cloud Storage. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + exportData( + params: Params$Resource$Projects$Locations$Instances$Exportdata, + options: StreamMethodOptions + ): GaxiosPromise; + exportData( + params?: Params$Resource$Projects$Locations$Instances$Exportdata, + options?: MethodOptions + ): GaxiosPromise; + exportData( + params: Params$Resource$Projects$Locations$Instances$Exportdata, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + exportData( + params: Params$Resource$Projects$Locations$Instances$Exportdata, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + exportData( + params: Params$Resource$Projects$Locations$Instances$Exportdata, + callback: BodyResponseCallback + ): void; + exportData(callback: BodyResponseCallback): void; + exportData( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Instances$Exportdata + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Instances$Exportdata; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Instances$Exportdata; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://parallelstore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:exportData').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of a single instance. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Instances$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Instances$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Instances$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Instances$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Instances$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Instances$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Instances$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Instances$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://parallelstore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Copies data from Cloud Storage to Parallelstore. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + importData( + params: Params$Resource$Projects$Locations$Instances$Importdata, + options: StreamMethodOptions + ): GaxiosPromise; + importData( + params?: Params$Resource$Projects$Locations$Instances$Importdata, + options?: MethodOptions + ): GaxiosPromise; + importData( + params: Params$Resource$Projects$Locations$Instances$Importdata, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + importData( + params: Params$Resource$Projects$Locations$Instances$Importdata, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + importData( + params: Params$Resource$Projects$Locations$Instances$Importdata, + callback: BodyResponseCallback + ): void; + importData(callback: BodyResponseCallback): void; + importData( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Instances$Importdata + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Instances$Importdata; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Instances$Importdata; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://parallelstore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:importData').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists all instances in a given project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Instances$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Instances$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Instances$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Instances$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Instances$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Instances$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Instances$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Instances$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://parallelstore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/instances').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the parameters of a single instance. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Instances$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Instances$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Instances$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Instances$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Instances$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Instances$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Instances$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Instances$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://parallelstore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Instances$Create + extends StandardParameters { + /** + * Required. The name of the Parallelstore instance. * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the customer project / location + */ + instanceId?: string; + /** + * Required. The instance's project and location, in the format `projects/{project\}/locations/{location\}`. Locations map to Google Cloud zones; for example, `us-west1-b`. + */ + parent?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Instance; + } + export interface Params$Resource$Projects$Locations$Instances$Delete + extends StandardParameters { + /** + * Required. Name of the resource + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Projects$Locations$Instances$Exportdata + extends StandardParameters { + /** + * Required. Name of the resource. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ExportDataRequest; + } + export interface Params$Resource$Projects$Locations$Instances$Get + extends StandardParameters { + /** + * Required. The instance resource name, in the format `projects/{project_id\}/locations/{location\}/instances/{instance_id\}`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Instances$Importdata + extends StandardParameters { + /** + * Required. Name of the resource. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ImportDataRequest; + } + export interface Params$Resource$Projects$Locations$Instances$List + extends StandardParameters { + /** + * Optional. Filtering results. + */ + filter?: string; + /** + * Optional. Hint for how to order the results. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. The project and location for which to retrieve instance information, in the format `projects/{project_id\}/locations/{location\}`. To retrieve instance information for all locations, use "-" as the value of `{location\}`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Instances$Patch + extends StandardParameters { + /** + * Identifier. The resource name of the instance, in the format `projects/{project\}/locations/{location\}/instances/{instance_id\}`. + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Required. Mask of fields to update. Field mask is used to specify the fields to be overwritten in the Instance resource by the update. At least one path must be supplied in this field. The fields specified in the update_mask are relative to the resource, not the full request. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Instance; + } + + export class Resource$Projects$Locations$Operations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: StreamMethodOptions + ): GaxiosPromise; + cancel( + params?: Params$Resource$Projects$Locations$Operations$Cancel, + options?: MethodOptions + ): GaxiosPromise; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + callback: BodyResponseCallback + ): void; + cancel(callback: BodyResponseCallback): void; + cancel( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Cancel + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Cancel; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Cancel; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://parallelstore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:cancel').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Operations$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://parallelstore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Operations$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://parallelstore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Operations$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Operations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://parallelstore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}/operations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Operations$Cancel + extends StandardParameters { + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CancelOperationRequest; + } + export interface Params$Resource$Projects$Locations$Operations$Delete + extends StandardParameters { + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Operations$Get + extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Operations$List + extends StandardParameters { + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } +} diff --git a/src/apis/parallelstore/v1beta.ts b/src/apis/parallelstore/v1beta.ts new file mode 100644 index 0000000000..709c60c534 --- /dev/null +++ b/src/apis/parallelstore/v1beta.ts @@ -0,0 +1,1783 @@ +// Copyright 2020 Google LLC +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/no-empty-interface */ +/* eslint-disable @typescript-eslint/no-namespace */ +/* eslint-disable no-irregular-whitespace */ + +import { + OAuth2Client, + JWT, + Compute, + UserRefreshClient, + BaseExternalAccountClient, + GaxiosPromise, + GoogleConfigurable, + createAPIRequest, + MethodOptions, + StreamMethodOptions, + GlobalOptions, + GoogleAuth, + BodyResponseCallback, + APIRequestContext, +} from 'googleapis-common'; +import {Readable} from 'stream'; + +export namespace parallelstore_v1beta { + export interface Options extends GlobalOptions { + version: 'v1beta'; + } + + interface StandardParameters { + /** + * Auth client or API Key for the request + */ + auth?: + | string + | OAuth2Client + | JWT + | Compute + | UserRefreshClient + | BaseExternalAccountClient + | GoogleAuth; + + /** + * V1 error format. + */ + '$.xgafv'?: string; + /** + * OAuth access token. + */ + access_token?: string; + /** + * Data format for response. + */ + alt?: string; + /** + * JSONP + */ + callback?: string; + /** + * Selector specifying which fields to include in a partial response. + */ + fields?: string; + /** + * API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + */ + key?: string; + /** + * OAuth 2.0 token for the current user. + */ + oauth_token?: string; + /** + * Returns response with indentations and line breaks. + */ + prettyPrint?: boolean; + /** + * Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + */ + quotaUser?: string; + /** + * Legacy upload protocol for media (e.g. "media", "multipart"). + */ + uploadType?: string; + /** + * Upload protocol for media (e.g. "raw", "multipart"). + */ + upload_protocol?: string; + } + + /** + * Parallelstore API + * + * + * + * @example + * ```js + * const {google} = require('googleapis'); + * const parallelstore = google.parallelstore('v1beta'); + * ``` + */ + export class Parallelstore { + context: APIRequestContext; + projects: Resource$Projects; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.projects = new Resource$Projects(this.context); + } + } + + /** + * Cloud Storage as the destination of a data transfer. + */ + export interface Schema$DestinationGcsBucket { + /** + * Required. URI to a Cloud Storage bucket in the format: `gs:///`. The path inside the bucket is optional. + */ + uri?: string | null; + } + /** + * Parallelstore as the destination of a data transfer. + */ + export interface Schema$DestinationParallelstore { + /** + * Optional. Root directory path to the Paralellstore filesystem, starting with `/`. Defaults to `/` if unset. + */ + path?: string | null; + } + /** + * Export data from Parallelstore to Cloud Storage. + */ + export interface Schema$ExportDataRequest { + /** + * Cloud Storage destination. + */ + destinationGcsBucket?: Schema$DestinationGcsBucket; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string | null; + /** + * Optional. User-specified Service Account (SA) credentials to be used when performing the transfer. Use one of the following formats: * `{EMAIL_ADDRESS_OR_UNIQUE_ID\}` * `projects/{PROJECT_ID_OR_NUMBER\}/serviceAccounts/{EMAIL_ADDRESS_OR_UNIQUE_ID\}` * `projects/-/serviceAccounts/{EMAIL_ADDRESS_OR_UNIQUE_ID\}` If unspecified, the Parallelstore service agent is used: `service-@gcp-sa-parallelstore.iam.gserviceaccount.com` + */ + serviceAccount?: string | null; + /** + * Parallelstore source. + */ + sourceParallelstore?: Schema$SourceParallelstore; + } + /** + * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} + */ + export interface Schema$GoogleProtobufEmpty {} + /** + * Import data from Cloud Storage into a Parallelstore instance. + */ + export interface Schema$ImportDataRequest { + /** + * Parallelstore destination. + */ + destinationParallelstore?: Schema$DestinationParallelstore; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string | null; + /** + * Optional. User-specified service account credentials to be used when performing the transfer. Use one of the following formats: * `{EMAIL_ADDRESS_OR_UNIQUE_ID\}` * `projects/{PROJECT_ID_OR_NUMBER\}/serviceAccounts/{EMAIL_ADDRESS_OR_UNIQUE_ID\}` * `projects/-/serviceAccounts/{EMAIL_ADDRESS_OR_UNIQUE_ID\}` If unspecified, the Parallelstore service agent is used: `service-@gcp-sa-parallelstore.iam.gserviceaccount.com` + */ + serviceAccount?: string | null; + /** + * The Cloud Storage source bucket and, optionally, path inside the bucket. + */ + sourceGcsBucket?: Schema$SourceGcsBucket; + } + /** + * A Parallelstore instance. + */ + export interface Schema$Instance { + /** + * Output only. A list of IPv4 addresses used for client side configuration. + */ + accessPoints?: string[] | null; + /** + * Required. Immutable. The instance's storage capacity in Gibibytes (GiB). Allowed values are between 12000 and 100000, in multiples of 4000; e.g., 12000, 16000, 20000, ... + */ + capacityGib?: string | null; + /** + * Output only. The time when the instance was created. + */ + createTime?: string | null; + /** + * Optional. The deployment type of the instance. Allowed values are: * `SCRATCH`: the instance is a scratch instance. * `PERSISTENT`: the instance is a persistent instance. + */ + deploymentType?: string | null; + /** + * Optional. The description of the instance. 2048 characters or less. + */ + description?: string | null; + /** + * Optional. Stripe level for directories. Allowed values are: * `DIRECTORY_STRIPE_LEVEL_MIN`: recommended when directories contain a small number of files. * `DIRECTORY_STRIPE_LEVEL_BALANCED`: balances performance for workloads involving a mix of small and large directories. * `DIRECTORY_STRIPE_LEVEL_MAX`: recommended for directories with a large number of files. + */ + directoryStripeLevel?: string | null; + /** + * Output only. Immutable. The ID of the IP address range being used by the instance's VPC network. This field is populated by the service and contains the value currently used by the service. + */ + effectiveReservedIpRange?: string | null; + /** + * Optional. Stripe level for files. Allowed values are: * `FILE_STRIPE_LEVEL_MIN`: offers the best performance for small size files. * `FILE_STRIPE_LEVEL_BALANCED`: balances performance for workloads involving a mix of small and large files. * `FILE_STRIPE_LEVEL_MAX`: higher throughput performance for larger files. + */ + fileStripeLevel?: string | null; + /** + * Optional. Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. See https://cloud.google.com/resource-manager/docs/labels-overview for details. + */ + labels?: {[key: string]: string} | null; + /** + * Identifier. The resource name of the instance, in the format `projects/{project\}/locations/{location\}/instances/{instance_id\}`. + */ + name?: string | null; + /** + * Optional. Immutable. The name of the Compute Engine [VPC network](https://cloud.google.com/vpc/docs/vpc) to which the instance is connected. + */ + network?: string | null; + /** + * Optional. Immutable. The ID of the IP address range being used by the instance's VPC network. See [Configure a VPC network](https://cloud.google.com/parallelstore/docs/vpc#create_and_configure_the_vpc). If no ID is provided, all ranges are considered. + */ + reservedIpRange?: string | null; + /** + * Output only. The instance state. + */ + state?: string | null; + /** + * Output only. The time when the instance was updated. + */ + updateTime?: string | null; + } + /** + * Response from ListInstances. + */ + export interface Schema$ListInstancesResponse { + /** + * The list of Parallelstore instances. + */ + instances?: Schema$Instance[]; + /** + * A token identifying a page of results the server should return. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * The response message for Locations.ListLocations. + */ + export interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string | null; + } + /** + * The response message for Operations.ListOperations. + */ + export interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string | null; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * A resource that represents a Google Cloud location. + */ + export interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For example, "Tokyo". + */ + displayName?: string | null; + /** + * Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"\} + */ + labels?: {[key: string]: string} | null; + /** + * The canonical id for this location. For example: `"us-east1"`. + */ + locationId?: string | null; + /** + * Service-specific metadata. For example the available capacity at the given location. + */ + metadata?: {[key: string]: any} | null; + /** + * Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` + */ + name?: string | null; + } + /** + * This resource represents a long-running operation that is the result of a network API call. + */ + export interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. + */ + done?: boolean | null; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. + */ + metadata?: {[key: string]: any} | null; + /** + * The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id\}`. + */ + name?: string | null; + /** + * The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: {[key: string]: any} | null; + } + /** + * Long-running operation metadata. + */ + export interface Schema$OperationMetadata { + /** + * Output only. API version used to start the operation. + */ + apiVersion?: string | null; + /** + * Output only. The time the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time the operation finished running. + */ + endTime?: string | null; + /** + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + */ + requestedCancellation?: boolean | null; + /** + * Output only. Human-readable status of the operation, if any. + */ + statusMessage?: string | null; + /** + * Output only. Server-defined resource path for the target of the operation. + */ + target?: string | null; + /** + * Output only. Name of the verb executed by the operation. + */ + verb?: string | null; + } + /** + * Cloud Storage as the source of a data transfer. + */ + export interface Schema$SourceGcsBucket { + /** + * Required. URI to a Cloud Storage bucket in the format: `gs:///`. The path inside the bucket is optional. + */ + uri?: string | null; + } + /** + * Parallelstore as the source of a data transfer. + */ + export interface Schema$SourceParallelstore { + /** + * Optional. Root directory path to the Paralellstore filesystem, starting with `/`. Defaults to `/` if unset. + */ + path?: string | null; + } + /** + * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + */ + export interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number | null; + /** + * A list of messages that carry the error details. There is a common set of message types for APIs to use. + */ + details?: Array<{[key: string]: any}> | null; + /** + * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + */ + message?: string | null; + } + + export class Resource$Projects { + context: APIRequestContext; + locations: Resource$Projects$Locations; + constructor(context: APIRequestContext) { + this.context = context; + this.locations = new Resource$Projects$Locations(this.context); + } + } + + export class Resource$Projects$Locations { + context: APIRequestContext; + instances: Resource$Projects$Locations$Instances; + operations: Resource$Projects$Locations$Operations; + constructor(context: APIRequestContext) { + this.context = context; + this.instances = new Resource$Projects$Locations$Instances(this.context); + this.operations = new Resource$Projects$Locations$Operations( + this.context + ); + } + + /** + * Gets information about a location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://parallelstore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists information about the supported locations for this service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://parallelstore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}/locations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Get + extends StandardParameters { + /** + * Resource name for the location. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$List + extends StandardParameters { + /** + * A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160). + */ + filter?: string; + /** + * The resource that owns the locations collection, if applicable. + */ + name?: string; + /** + * The maximum number of results to return. If not set, the service selects a default. + */ + pageSize?: number; + /** + * A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page. + */ + pageToken?: string; + } + + export class Resource$Projects$Locations$Instances { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a Parallelstore instance in a given project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Instances$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Instances$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Instances$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Instances$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Instances$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Instances$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Instances$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Instances$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://parallelstore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/instances').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a single instance. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Instances$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Instances$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Instances$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Instances$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Instances$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Instances$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Instances$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Instances$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://parallelstore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Copies data from Parallelstore to Cloud Storage. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + exportData( + params: Params$Resource$Projects$Locations$Instances$Exportdata, + options: StreamMethodOptions + ): GaxiosPromise; + exportData( + params?: Params$Resource$Projects$Locations$Instances$Exportdata, + options?: MethodOptions + ): GaxiosPromise; + exportData( + params: Params$Resource$Projects$Locations$Instances$Exportdata, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + exportData( + params: Params$Resource$Projects$Locations$Instances$Exportdata, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + exportData( + params: Params$Resource$Projects$Locations$Instances$Exportdata, + callback: BodyResponseCallback + ): void; + exportData(callback: BodyResponseCallback): void; + exportData( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Instances$Exportdata + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Instances$Exportdata; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Instances$Exportdata; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://parallelstore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}:exportData').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details of a single instance. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Instances$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Instances$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Instances$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Instances$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Instances$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Instances$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Instances$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Instances$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://parallelstore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Copies data from Cloud Storage to Parallelstore. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + importData( + params: Params$Resource$Projects$Locations$Instances$Importdata, + options: StreamMethodOptions + ): GaxiosPromise; + importData( + params?: Params$Resource$Projects$Locations$Instances$Importdata, + options?: MethodOptions + ): GaxiosPromise; + importData( + params: Params$Resource$Projects$Locations$Instances$Importdata, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + importData( + params: Params$Resource$Projects$Locations$Instances$Importdata, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + importData( + params: Params$Resource$Projects$Locations$Instances$Importdata, + callback: BodyResponseCallback + ): void; + importData(callback: BodyResponseCallback): void; + importData( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Instances$Importdata + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Instances$Importdata; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Instances$Importdata; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://parallelstore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}:importData').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists all instances in a given project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Instances$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Instances$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Instances$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Instances$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Instances$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Instances$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Instances$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Instances$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://parallelstore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+parent}/instances').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Updates the parameters of a single instance. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Projects$Locations$Instances$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Projects$Locations$Instances$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Projects$Locations$Instances$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Instances$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Projects$Locations$Instances$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Instances$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Instances$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Instances$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://parallelstore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Instances$Create + extends StandardParameters { + /** + * Required. The name of the Parallelstore instance. * Must contain only lowercase letters, numbers, and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the customer project / location + */ + instanceId?: string; + /** + * Required. The instance's project and location, in the format `projects/{project\}/locations/{location\}`. Locations map to Google Cloud zones; for example, `us-west1-b`. + */ + parent?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Instance; + } + export interface Params$Resource$Projects$Locations$Instances$Delete + extends StandardParameters { + /** + * Required. Name of the resource + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + } + export interface Params$Resource$Projects$Locations$Instances$Exportdata + extends StandardParameters { + /** + * Required. Name of the resource. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ExportDataRequest; + } + export interface Params$Resource$Projects$Locations$Instances$Get + extends StandardParameters { + /** + * Required. The instance resource name, in the format `projects/{project_id\}/locations/{location\}/instances/{instance_id\}`. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Instances$Importdata + extends StandardParameters { + /** + * Required. Name of the resource. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ImportDataRequest; + } + export interface Params$Resource$Projects$Locations$Instances$List + extends StandardParameters { + /** + * Optional. Filtering results. + */ + filter?: string; + /** + * Optional. Hint for how to order the results. + */ + orderBy?: string; + /** + * Optional. Requested page size. Server may return fewer items than requested. If unspecified, the server will pick an appropriate default. + */ + pageSize?: number; + /** + * Optional. A token identifying a page of results the server should return. + */ + pageToken?: string; + /** + * Required. The project and location for which to retrieve instance information, in the format `projects/{project_id\}/locations/{location\}`. To retrieve instance information for all locations, use "-" as the value of `{location\}`. + */ + parent?: string; + } + export interface Params$Resource$Projects$Locations$Instances$Patch + extends StandardParameters { + /** + * Identifier. The resource name of the instance, in the format `projects/{project\}/locations/{location\}/instances/{instance_id\}`. + */ + name?: string; + /** + * Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and t he request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000). + */ + requestId?: string; + /** + * Required. Mask of fields to update. Field mask is used to specify the fields to be overwritten in the Instance resource by the update. At least one path must be supplied in this field. The fields specified in the update_mask are relative to the resource, not the full request. + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Instance; + } + + export class Resource$Projects$Locations$Operations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: StreamMethodOptions + ): GaxiosPromise; + cancel( + params?: Params$Resource$Projects$Locations$Operations$Cancel, + options?: MethodOptions + ): GaxiosPromise; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Projects$Locations$Operations$Cancel, + callback: BodyResponseCallback + ): void; + cancel(callback: BodyResponseCallback): void; + cancel( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Cancel + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Cancel; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Cancel; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://parallelstore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}:cancel').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Operations$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Operations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://parallelstore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Operations$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Operations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://parallelstore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Operations$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Operations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Operations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Operations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Operations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Operations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://parallelstore.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta/{+name}/operations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Operations$Cancel + extends StandardParameters { + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Operations$Delete + extends StandardParameters { + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Operations$Get + extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Operations$List + extends StandardParameters { + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } +} diff --git a/src/apis/parallelstore/webpack.config.js b/src/apis/parallelstore/webpack.config.js new file mode 100644 index 0000000000..5991006902 --- /dev/null +++ b/src/apis/parallelstore/webpack.config.js @@ -0,0 +1,79 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Use `npm run webpack` to produce Webpack bundle for this library. + +const path = require('path'); + +module.exports = { + entry: './index.ts', + resolve: { + extensions: ['.ts', '.js', '.json'], + fallback: { + crypto: false, + child_process: false, + fs: false, + http2: false, + buffer: 'browserify', + process: false, + os: false, + querystring: false, + path: false, + stream: 'stream-browserify', + url: false, + util: false, + zlib: false, + }, + }, + output: { + library: 'Parallelstore', + filename: 'parallelstore.min.js', + path: path.resolve(__dirname, 'dist'), + }, + module: { + rules: [ + { + test: /node_modules[\\/]google-auth-library[\\/]src[\\/]crypto[\\/]node[\\/]crypto/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]https-proxy-agent[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]gcp-metadata[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]gtoken[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]pkginfo[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]semver[\\/]/, + use: 'null-loader', + }, + { + test: /\.ts$/, + use: 'ts-loader', + exclude: /node_modules/, + }, + ], + }, + mode: 'production', + plugins: [], +}; diff --git a/src/apis/paymentsresellersubscription/v1.ts b/src/apis/paymentsresellersubscription/v1.ts index 345f11997e..a504355a6d 100644 --- a/src/apis/paymentsresellersubscription/v1.ts +++ b/src/apis/paymentsresellersubscription/v1.ts @@ -159,6 +159,23 @@ export namespace paymentsresellersubscription_v1 { */ subscription?: Schema$GoogleCloudPaymentsResellerSubscriptionV1Subscription; } + /** + * Intent message for creating a Subscription resource. + */ + export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1CreateSubscriptionIntent { + /** + * Required. The parent resource name, which is the identifier of the partner. + */ + parent?: string | null; + /** + * Required. The Subscription to be created. + */ + subscription?: Schema$GoogleCloudPaymentsResellerSubscriptionV1Subscription; + /** + * Required. Identifies the subscription resource on the Partner side. The value is restricted to 63 ASCII characters at the maximum. If a subscription was previously created with the same subscription_id, we will directly return that one. + */ + subscriptionId?: string | null; + } /** * Describes the length of a period of a time. */ @@ -173,7 +190,16 @@ export namespace paymentsresellersubscription_v1 { unit?: string | null; } /** - * LINT.IfChange Partner request for entitling the previously provisioned subscription to an end user. The end user identity is inferred from the request OAuth context. + * Intent for entitling the previously provisioned subscription to an end user. + */ + export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionIntent { + /** + * Required. The name of the subscription resource that is entitled to the current end user. + */ + name?: string | null; + } + /** + * Partner request for entitling the previously provisioned subscription to an end user. The end user identity is inferred from the request OAuth context. */ export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionRequest { /** @@ -285,6 +311,24 @@ export namespace paymentsresellersubscription_v1 { */ billingCycleCountLimit?: string | null; } + /** + * [Preview only] Request to generate a user session. + */ + export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionRequest { + /** + * The user intent to generate the user session. + */ + intentPayload?: Schema$GoogleCloudPaymentsResellerSubscriptionV1IntentPayload; + } + /** + * [Preview only] Response that contains the details for generated user session. + */ + export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionResponse { + /** + * The generated user session. The token size is proportional to the size of the intent payload. + */ + userSession?: Schema$GoogleCloudPaymentsResellerSubscriptionV1UserSession; + } /** * Payload specific to Google One products. */ @@ -306,6 +350,19 @@ export namespace paymentsresellersubscription_v1 { */ storeId?: string | null; } + /** + * The payload that describes the user intent. + */ + export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1IntentPayload { + /** + * The request to create a subscription. + */ + createIntent?: Schema$GoogleCloudPaymentsResellerSubscriptionV1CreateSubscriptionIntent; + /** + * The request to entitle a subscription. + */ + entitleIntent?: Schema$GoogleCloudPaymentsResellerSubscriptionV1EntitleSubscriptionIntent; + } /** * Response that contains the products. */ @@ -529,6 +586,10 @@ export namespace paymentsresellersubscription_v1 { * Required. The line items of the subscription. */ lineItems?: Schema$GoogleCloudPaymentsResellerSubscriptionV1SubscriptionLineItem[]; + /** + * Output only. Describes the details of the migrated subscription. Only populated if this subscription is migrated from another system. + */ + migrationDetails?: Schema$GoogleCloudPaymentsResellerSubscriptionV1SubscriptionMigrationDetails; /** * Identifier. Resource name of the subscription. It will have the format of "partners/{partner_id\}/subscriptions/{subscription_id\}". This is available for authorizeAddon, but otherwise is response only. */ @@ -666,6 +727,15 @@ export namespace paymentsresellersubscription_v1 { */ servicePeriod?: Schema$GoogleCloudPaymentsResellerSubscriptionV1ServicePeriod; } + /** + * Describes the details of the migrated subscription. + */ + export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1SubscriptionMigrationDetails { + /** + * Output only. The migrated subscription id in the legacy system. + */ + migratedSubscriptionId?: string | null; + } /** * Describes the spec for one promotion. */ @@ -713,6 +783,19 @@ export namespace paymentsresellersubscription_v1 { */ subscription?: Schema$GoogleCloudPaymentsResellerSubscriptionV1Subscription; } + /** + * A user session contains a short-lived token that includes information required to interact with Google Payments Reseller Platform using the following web endpoints. - A user session token should be generated dynamically for an authenticated user. You should refrain from sharing a token directly with a user in an unauthenticated context, such as SMS, or email. - You can re-generate new session tokens repeatedly for same `generate` request if necessary, regardless of the previous tokens being expired or not. You don't need to worry about multiple sessions resulting in duplicate fulfillments as guaranteed by the same subscription id. Please refer to the [Google Managed Signup](/payments/reseller/subscription/reference/index/User.Signup.Integration/Google.Managed.Signup.\(In.Preview\)) documentation for additional integration details. + */ + export interface Schema$GoogleCloudPaymentsResellerSubscriptionV1UserSession { + /** + * Output only. The time at which the user session expires. + */ + expireTime?: string | null; + /** + * Output only. The encrypted token of the user session, including the information of the user's intent and request. This token should be provided when redirecting the user to Google. + */ + token?: string | null; + } /** * Payload specific to Youtube products. */ @@ -771,11 +854,13 @@ export namespace paymentsresellersubscription_v1 { products: Resource$Partners$Products; promotions: Resource$Partners$Promotions; subscriptions: Resource$Partners$Subscriptions; + userSessions: Resource$Partners$Usersessions; constructor(context: APIRequestContext) { this.context = context; this.products = new Resource$Partners$Products(this.context); this.promotions = new Resource$Partners$Promotions(this.context); this.subscriptions = new Resource$Partners$Subscriptions(this.context); + this.userSessions = new Resource$Partners$Usersessions(this.context); } } @@ -1920,4 +2005,123 @@ export namespace paymentsresellersubscription_v1 { */ requestBody?: Schema$GoogleCloudPaymentsResellerSubscriptionV1UndoCancelSubscriptionRequest; } + + export class Resource$Partners$Usersessions { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * This API replaces user authorized OAuth consent based APIs (Create, Entitle). Generates a short-lived token for a user session based on the user intent. You can use the session token to redirect the user to Google to finish the signup flow. You can re-generate new session token repeatedly for the same request if necessary, regardless of the previous tokens being expired or not. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + generate( + params: Params$Resource$Partners$Usersessions$Generate, + options: StreamMethodOptions + ): GaxiosPromise; + generate( + params?: Params$Resource$Partners$Usersessions$Generate, + options?: MethodOptions + ): GaxiosPromise; + generate( + params: Params$Resource$Partners$Usersessions$Generate, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generate( + params: Params$Resource$Partners$Usersessions$Generate, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + generate( + params: Params$Resource$Partners$Usersessions$Generate, + callback: BodyResponseCallback + ): void; + generate( + callback: BodyResponseCallback + ): void; + generate( + paramsOrCallback?: + | Params$Resource$Partners$Usersessions$Generate + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Partners$Usersessions$Generate; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Partners$Usersessions$Generate; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || + 'https://paymentsresellersubscription.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/userSessions:generate').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Partners$Usersessions$Generate + extends StandardParameters { + /** + * Required. The parent, the partner that can resell. Format: partners/{partner\} + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$GoogleCloudPaymentsResellerSubscriptionV1GenerateUserSessionRequest; + } } diff --git a/src/apis/places/v1.ts b/src/apis/places/v1.ts index 5e6de88ce9..bff65de89c 100644 --- a/src/apis/places/v1.ts +++ b/src/apis/places/v1.ts @@ -137,6 +137,73 @@ export namespace places_v1 { */ low?: Schema$GoogleTypeLatLng; } + /** + * A relational description of a location. Includes a ranked set of nearby landmarks and precise containing areas and their relationship to the target location. + */ + export interface Schema$GoogleMapsPlacesV1AddressDescriptor { + /** + * A ranked list of containing or adjacent areas. The most recognizable and precise areas are ranked first. + */ + areas?: Schema$GoogleMapsPlacesV1AddressDescriptorArea[]; + /** + * A ranked list of nearby landmarks. The most recognizable and nearby landmarks are ranked first. + */ + landmarks?: Schema$GoogleMapsPlacesV1AddressDescriptorLandmark[]; + } + /** + * Area information and the area's relationship with the target location. Areas includes precise sublocality, neighborhoods, and large compounds that are useful for describing a location. + */ + export interface Schema$GoogleMapsPlacesV1AddressDescriptorArea { + /** + * Defines the spatial relationship between the target location and the area. + */ + containment?: string | null; + /** + * The area's display name. + */ + displayName?: Schema$GoogleTypeLocalizedText; + /** + * The area's resource name. + */ + name?: string | null; + /** + * The area's place id. + */ + placeId?: string | null; + } + /** + * Basic landmark information and the landmark's relationship with the target location. Landmarks are prominent places that can be used to describe a location. + */ + export interface Schema$GoogleMapsPlacesV1AddressDescriptorLandmark { + /** + * The landmark's display name. + */ + displayName?: Schema$GoogleTypeLocalizedText; + /** + * The landmark's resource name. + */ + name?: string | null; + /** + * The landmark's place id. + */ + placeId?: string | null; + /** + * Defines the spatial relationship between the target location and the landmark. + */ + spatialRelationship?: string | null; + /** + * The straight line distance, in meters, between the center point of the target and the center point of the landmark. In some situations, this value can be longer than `travel_distance_meters`. + */ + straightLineDistanceMeters?: number | null; + /** + * The travel distance, in meters, along the road network from the target to the landmark, if known. This value does not take into account the mode of transportation, such as walking, driving, or biking. + */ + travelDistanceMeters?: number | null; + /** + * A set of type tags for this landmark. For a complete list of possible values, see https://developers.google.com/maps/documentation/places/web-service/place-types. + */ + types?: string[] | null; + } /** * Information about the author of the UGC data. Used in Photo, and Review. */ @@ -166,6 +233,10 @@ export namespace places_v1 { * Optional. Only include results in the specified regions, specified as up to 15 CLDR two-character region codes. An empty set will not restrict the results. If both `location_restriction` and `included_region_codes` are set, the results will be located in the area of intersection. */ includedRegionCodes?: string[] | null; + /** + * Optional. Include pure service area businesses if the field is set to true. Pure service area business is a business that visits or delivers to customers directly but does not serve customers at their business address. For example, businesses like cleaning services or plumbers. Those businesses do not have a physical address or location on Google Maps. Places will not return fields including `location`, `plus_code`, and other location related fields for these businesses. + */ + includePureServiceAreaBusinesses?: boolean | null; /** * Optional. If true, the response will include both Place and query predictions. Otherwise the response will only return Place predictions. */ @@ -512,6 +583,14 @@ export namespace places_v1 { * This photo's authors. */ authorAttributions?: Schema$GoogleMapsPlacesV1AuthorAttribution[]; + /** + * A link where users can flag a problem with the photo. + */ + flagContentUri?: string | null; + /** + * A link to show the photo on Google Maps. + */ + googleMapsUri?: string | null; /** * The maximum available height, in pixels. */ @@ -550,6 +629,10 @@ export namespace places_v1 { * Repeated components for each locality level. Note the following facts about the address_components[] array: - The array of address components may contain more components than the formatted_address. - The array does not necessarily include all the political entities that contain an address, apart from those included in the formatted_address. To retrieve all the political entities that contain a specific address, you should use reverse geocoding, passing the latitude/longitude of the address as a parameter to the request. - The format of the response is not guaranteed to remain the same between requests. In particular, the number of address_components varies based on the address requested and can change over time for the same address. A component can change position in the array. The type of the component can change. A particular component may be missing in a later response. */ addressComponents?: Schema$GoogleMapsPlacesV1PlaceAddressComponent[]; + /** + * The address descriptor of the place. Address descriptors include additional information that help describe a location using landmarks and areas. See address descriptor regional coverage in https://developers.google.com/maps/documentation/geocoding/address-descriptors/coverage. + */ + addressDescriptor?: Schema$GoogleMapsPlacesV1AddressDescriptor; /** * The place's address in adr microformat: http://microformats.org/wiki/adr. */ @@ -570,6 +653,10 @@ export namespace places_v1 { * The business status for the place. */ businessStatus?: string | null; + /** + * List of places in which the current place is located. + */ + containingPlaces?: Schema$GoogleMapsPlacesV1PlaceContainingPlace[]; /** * Specifies if the business supports curbside pickup. */ @@ -626,6 +713,10 @@ export namespace places_v1 { * Place is suitable for watching sports. */ goodForWatchingSports?: boolean | null; + /** + * Links to trigger different Google Maps actions. + */ + googleMapsLinks?: Schema$GoogleMapsPlacesV1PlaceGoogleMapsLinks; /** * A URL providing more information about this place. */ @@ -690,6 +781,10 @@ export namespace places_v1 { * Price level of the place. */ priceLevel?: string | null; + /** + * The price range associated with a Place. + */ + priceRange?: Schema$GoogleMapsPlacesV1PriceRange; /** * The primary type of the given result. This type must one of the Places API supported types. For example, "restaurant", "cafe", "airport", etc. A place can only have a single primary type. For the complete list of possible values, see Table A and Table B at https://developers.google.com/maps/documentation/places/web-service/place-types */ @@ -698,12 +793,16 @@ export namespace places_v1 { * The display name of the primary type, localized to the request language if applicable. For the complete list of possible values, see Table A and Table B at https://developers.google.com/maps/documentation/places/web-service/place-types */ primaryTypeDisplayName?: Schema$GoogleTypeLocalizedText; + /** + * Indicates whether the place is a pure service area business. Pure service area business is a business that visits or delivers to customers directly but does not serve customers at their business address. For example, businesses like cleaning services or plumbers. Those businesses may not have a physical address or location on Google Maps. + */ + pureServiceAreaBusiness?: boolean | null; /** * A rating between 1.0 and 5.0, based on user reviews of this place. */ rating?: number | null; /** - * The regular hours of operation. + * The regular hours of operation. Note that if a place is always open (24 hours), the `close` field will not be set. Clients can rely on always open (24 hours) being represented as an `open` period containing `day` with value `0`, `hour` with value `0`, and `minute` with value `0`. */ regularOpeningHours?: Schema$GoogleMapsPlacesV1PlaceOpeningHours; /** @@ -787,7 +886,7 @@ export namespace places_v1 { */ utcOffsetMinutes?: number | null; /** - * A viewport suitable for displaying the place on an average-sized map. + * A viewport suitable for displaying the place on an average-sized map. This viewport should not be used as the physical boundary or the service area of the business. */ viewport?: Schema$GoogleGeoTypeViewport; /** @@ -845,6 +944,10 @@ export namespace places_v1 { * Content blocks that compose the area summary. Each block has a separate topic about the area. */ contentBlocks?: Schema$GoogleMapsPlacesV1ContentBlock[]; + /** + * A link where users can flag a problem with the summary. + */ + flagContentUri?: string | null; } /** * Information about data providers of this place. @@ -859,6 +962,19 @@ export namespace places_v1 { */ providerUri?: string | null; } + /** + * Info about the place in which this place is located. + */ + export interface Schema$GoogleMapsPlacesV1PlaceContainingPlace { + /** + * The place id of the place in which this place is located. + */ + id?: string | null; + /** + * The resource name of the place in which this place is located. + */ + name?: string | null; + } /** * Experimental: See https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative for more details. AI-generated summary of the place. */ @@ -867,19 +983,60 @@ export namespace places_v1 { * The detailed description of the place. */ description?: Schema$GoogleTypeLocalizedText; + /** + * A link where users can flag a problem with the description summary. + */ + descriptionFlagContentUri?: string | null; /** * The overview of the place. */ overview?: Schema$GoogleTypeLocalizedText; + /** + * A link where users can flag a problem with the overview summary. + */ + overviewFlagContentUri?: string | null; /** * References that are used to generate the summary description. */ references?: Schema$GoogleMapsPlacesV1References; } + /** + * Links to trigger different Google Maps actions. + */ + export interface Schema$GoogleMapsPlacesV1PlaceGoogleMapsLinks { + /** + * A link to show the directions to the place. The link only populates the destination location and uses the default travel mode `DRIVE`. + */ + directionsUri?: string | null; + /** + * A link to show photos of this place. This link is currently not supported on Google Maps Mobile and only works on the web version of Google Maps. + */ + photosUri?: string | null; + /** + * A link to show this place. + */ + placeUri?: string | null; + /** + * A link to show reviews of this place. This link is currently not supported on Google Maps Mobile and only works on the web version of Google Maps. + */ + reviewsUri?: string | null; + /** + * A link to write a review for this place. This link is currently not supported on Google Maps Mobile and only works on the web version of Google Maps. + */ + writeAReviewUri?: string | null; + } /** * Information about business hour of the place. */ export interface Schema$GoogleMapsPlacesV1PlaceOpeningHours { + /** + * The next time the current opening hours period ends up to 7 days in the future. This field is only populated if the opening hours period is active at the time of serving the request. + */ + nextCloseTime?: string | null; + /** + * The next time the current opening hours period starts up to 7 days in the future. This field is only populated if the opening hours period is not active at the time of serving the request. + */ + nextOpenTime?: string | null; /** * Whether the opening hours period is currently active. For regular opening hours and current opening hours, this field means whether the place is open. For secondary opening hours and current secondary opening hours, this field means whether the secondary hours of this place is active. */ @@ -927,11 +1084,11 @@ export namespace places_v1 { */ day?: number | null; /** - * The hour in 2 digits. Ranges from 00 to 23. + * The hour in 24 hour format. Ranges from 0 to 23. */ hour?: number | null; /** - * The minute in 2 digits. Ranges from 00 to 59. + * The minute. Ranges from 0 to 59. */ minute?: number | null; /** @@ -1037,6 +1194,19 @@ export namespace places_v1 { */ encodedPolyline?: string | null; } + /** + * The price range associated with a Place. `end_price` could be unset, which indicates a range without upper bound (e.g. "More than $100"). + */ + export interface Schema$GoogleMapsPlacesV1PriceRange { + /** + * The high end of the price range (exclusive). Price should be lower than this amount. + */ + endPrice?: Schema$GoogleTypeMoney; + /** + * The low end of the price range (inclusive). Price should be at or above this amount. + */ + startPrice?: Schema$GoogleTypeMoney; + } /** * Experimental: See https://developers.google.com/maps/documentation/places/web-service/experimental/places-generative for more details. Reference that the generative content is related to. */ @@ -1058,6 +1228,14 @@ export namespace places_v1 { * This review's author. */ authorAttribution?: Schema$GoogleMapsPlacesV1AuthorAttribution; + /** + * A link where users can flag a problem with the review. + */ + flagContentUri?: string | null; + /** + * A link to show the review on Google Maps. + */ + googleMapsUri?: string | null; /** * A reference representing this place review which may be used to look up this place review again (also called the API "resource" name: `places/{place_id\}/reviews/{review\}`). */ @@ -1129,6 +1307,10 @@ export namespace places_v1 { * The duration and distance from the routing origin to a place in the response, and a second leg from that place to the destination, if requested. **Note:** Adding `routingSummaries` in the field mask without also including either the `routingParameters.origin` parameter or the `searchAlongRouteParameters.polyline.encodedPolyline` parameter in the request causes an error. */ export interface Schema$GoogleMapsPlacesV1RoutingSummary { + /** + * A link to show directions on Google Maps using the waypoints from the given routing summary. The route generated by this link is not guaranteed to be the same as the route used to generate the routing summary. The link uses information provided in the request, from fields including `routingParameters` and `searchAlongRouteParameters` when applicable, to generate the directions link. + */ + directionsUri?: string | null; /** * The legs of the trip. When you calculate travel duration and distance from a set origin, `legs` contains a single leg containing the duration and distance from the origin to the destination. When you do a search along route, `legs` contains two legs: one from the origin to place, and one from the place to the destination. */ @@ -1226,6 +1408,10 @@ export namespace places_v1 { * The requested place type. Full list of types supported: https://developers.google.com/maps/documentation/places/web-service/place-types. Only support one included type. */ includedType?: string | null; + /** + * Optional. Include pure service area businesses if the field is set to true. Pure service area business is a business that visits or delivers to customers directly but does not serve customers at their business address. For example, businesses like cleaning services or plumbers. Those businesses do not have a physical address or location on Google Maps. Places will not return fields including `location`, `plus_code`, and other location related fields for these businesses. + */ + includePureServiceAreaBusinesses?: boolean | null; /** * Place details will be displayed with the preferred language if available. If the language code is unspecified or unrecognized, place details of any language may be returned, with a preference for English if such details exist. Current list of supported languages: https://developers.google.com/maps/faq#languagesupport. */ @@ -1351,6 +1537,10 @@ export namespace places_v1 { * A list of routing summaries where each entry associates to the corresponding place in the same index in the `places` field. If the routing summary is not available for one of the places, it will contain an empty entry. This list will have as many entries as the list of places if requested. */ routingSummaries?: Schema$GoogleMapsPlacesV1RoutingSummary[]; + /** + * A link allows the user to search with the same text query as specified in the request on Google Maps. + */ + searchUri?: string | null; } /** * Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp diff --git a/src/apis/playdeveloperreporting/v1alpha1.ts b/src/apis/playdeveloperreporting/v1alpha1.ts index 7bb6790bdf..2971c7a4dc 100644 --- a/src/apis/playdeveloperreporting/v1alpha1.ts +++ b/src/apis/playdeveloperreporting/v1alpha1.ts @@ -286,6 +286,10 @@ export namespace playdeveloperreporting_v1alpha1 { * A group of related ErrorReports received for an app. Similar error reports are grouped together into issues with a likely identical root cause. **Please note:** this resource is currently in Alpha. There could be changes to the issue grouping that would result in similar but more recent error reports being assigned to different issues. This could also cause some issues disappearing entirely and being replaced by new ones. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. */ export interface Schema$GooglePlayDeveloperReportingV1alpha1ErrorIssue { + /** + * List of annotations for an issue. Annotations provide additional information that may help in diagnosing and fixing the issue. + */ + annotations?: Schema$GooglePlayDeveloperReportingV1alpha1IssueAnnotation[]; /** * Cause of the issue. Depending on the type this can be either: * APPLICATION_NOT_RESPONDING: the type of ANR that occurred, e.g., 'Input dispatching timed out'. * CRASH: for Java unhandled exception errors, the type of the innermost exception that was thrown, e.g., IllegalArgumentException. For signals in native code, the signal that was raised, e.g. SIGSEGV. */ @@ -419,6 +423,23 @@ export namespace playdeveloperreporting_v1alpha1 { */ latestEndTime?: Schema$GoogleTypeDateTime; } + /** + * Representation of an annotation message for an issue. + */ + export interface Schema$GooglePlayDeveloperReportingV1alpha1IssueAnnotation { + /** + * Contains the contents of the annotation message. + */ + body?: string | null; + /** + * Category that the annotation belongs to. An annotation will belong to a single category. Example categories: "Potential fix", "Insight". + */ + category?: string | null; + /** + * Title for the annotation. + */ + title?: string | null; + } /** * Response with a list of anomalies in datasets. */ @@ -973,7 +994,7 @@ export namespace playdeveloperreporting_v1alpha1 { year?: number | null; } /** - * A representation of a decimal value, such as 2.5. Clients may convert values into language-native decimal formats, such as Java's BigDecimal or Python's decimal.Decimal. [BigDecimal]: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html [decimal.Decimal]: https://docs.python.org/3/library/decimal.html + * A representation of a decimal value, such as 2.5. Clients may convert values into language-native decimal formats, such as Java's [BigDecimal](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html) or Python's [decimal.Decimal](https://docs.python.org/3/library/decimal.html). */ export interface Schema$GoogleTypeDecimal { /** @@ -986,11 +1007,11 @@ export namespace playdeveloperreporting_v1alpha1 { */ export interface Schema$GoogleTypeTimeZone { /** - * IANA Time Zone Database time zone, e.g. "America/New_York". + * IANA Time Zone Database time zone. For example "America/New_York". */ id?: string | null; /** - * Optional. IANA Time Zone Database version number, e.g. "2019a". + * Optional. IANA Time Zone Database version number. For example "2019a". */ version?: string | null; } @@ -2144,7 +2165,7 @@ export namespace playdeveloperreporting_v1alpha1 { export interface Params$Resource$Vitals$Errors$Issues$Search extends StandardParameters { /** - * A selection predicate to retrieve only a subset of the issues. Counts in the returned error issues will only reflect occurrences that matched the filter. For filtering basics, please check [AIP-160](https://google.aip.dev/160). ** Supported field names:** * `apiLevel`: Matches error issues that occurred in the requested Android versions (specified as the numeric API level) only. Example: `apiLevel = 28 OR apiLevel = 29`. * `versionCode`: Matches error issues that occurred in the requested app version codes only. Example: `versionCode = 123 OR versionCode = 456`. * `deviceModel`: Matches error issues that occurred in the requested devices. Example: `deviceModel = "google/walleye" OR deviceModel = "google/marlin"`. * `deviceBrand`: Matches error issues that occurred in the requested device brands. Example: `deviceBrand = "Google". * `deviceType`: Matches error issues that occurred in the requested device types. Example: `deviceType = "PHONE"`. * `errorIssueType`: Matches error issues of the requested types only. Valid candidates: `CRASH`, `ANR`. Example: `errorIssueType = CRASH OR errorIssueType = ANR`. * `appProcessState`: Matches error issues on the process state of an app, indicating whether an app runs in the foreground (user-visible) or background. Valid candidates: `FOREGROUND`, `BACKGROUND`. Example: `appProcessState = FOREGROUND`. * `isUserPerceived`: Matches error issues that are user-perceived. It is not accompanied by any operators. Example: `isUserPerceived`. ** Supported operators:** * Comparison operators: The only supported comparison operator is equality. The filtered field must appear on the left hand side of the comparison. * Logical Operators: Logical operators `AND` and `OR` can be used to build complex filters following a conjunctive normal form (CNF), i.e., conjunctions of disjunctions. The `OR` operator takes precedence over `AND` so the use of parenthesis is not necessary when building CNF. The `OR` operator is only supported to build disjunctions that apply to the same field, e.g., `versionCode = 123 OR errorIssueType = ANR` is not a valid filter. ** Examples ** Some valid filtering expressions: * `versionCode = 123 AND errorIssueType = ANR` * `versionCode = 123 AND errorIssueType = OR errorIssueType = CRASH` * `versionCode = 123 AND (errorIssueType = OR errorIssueType = CRASH)` + * A selection predicate to retrieve only a subset of the issues. Counts in the returned error issues will only reflect occurrences that matched the filter. For filtering basics, please check [AIP-160](https://google.aip.dev/160). ** Supported field names:** * `apiLevel`: Matches error issues that occurred in the requested Android versions (specified as the numeric API level) only. Example: `apiLevel = 28 OR apiLevel = 29`. * `versionCode`: Matches error issues that occurred in the requested app version codes only. Example: `versionCode = 123 OR versionCode = 456`. * `deviceModel`: Matches error issues that occurred in the requested devices. Example: `deviceModel = "google/walleye" OR deviceModel = "google/marlin"`. * `deviceBrand`: Matches error issues that occurred in the requested device brands. Example: `deviceBrand = "Google". * `deviceType`: Matches error issues that occurred in the requested device types. Example: `deviceType = "PHONE"`. * `errorIssueType`: Matches error issues of the requested types only. Valid candidates: `CRASH`, `ANR`, `NON_FATAL`. Example: `errorIssueType = CRASH OR errorIssueType = ANR`. * `appProcessState`: Matches error issues on the process state of an app, indicating whether an app runs in the foreground (user-visible) or background. Valid candidates: `FOREGROUND`, `BACKGROUND`. Example: `appProcessState = FOREGROUND`. * `isUserPerceived`: Matches error issues that are user-perceived. It is not accompanied by any operators. Example: `isUserPerceived`. ** Supported operators:** * Comparison operators: The only supported comparison operator is equality. The filtered field must appear on the left hand side of the comparison. * Logical Operators: Logical operators `AND` and `OR` can be used to build complex filters following a conjunctive normal form (CNF), i.e., conjunctions of disjunctions. The `OR` operator takes precedence over `AND` so the use of parenthesis is not necessary when building CNF. The `OR` operator is only supported to build disjunctions that apply to the same field, e.g., `versionCode = 123 OR errorIssueType = ANR` is not a valid filter. ** Examples ** Some valid filtering expressions: * `versionCode = 123 AND errorIssueType = ANR` * `versionCode = 123 AND errorIssueType = OR errorIssueType = CRASH` * `versionCode = 123 AND (errorIssueType = OR errorIssueType = CRASH)` */ filter?: string; /** @@ -2172,11 +2193,11 @@ export namespace playdeveloperreporting_v1alpha1 { */ 'interval.endTime.seconds'?: number; /** - * IANA Time Zone Database time zone, e.g. "America/New_York". + * IANA Time Zone Database time zone. For example "America/New_York". */ 'interval.endTime.timeZone.id'?: string; /** - * Optional. IANA Time Zone Database version number, e.g. "2019a". + * Optional. IANA Time Zone Database version number. For example "2019a". */ 'interval.endTime.timeZone.version'?: string; /** @@ -2212,11 +2233,11 @@ export namespace playdeveloperreporting_v1alpha1 { */ 'interval.startTime.seconds'?: number; /** - * IANA Time Zone Database time zone, e.g. "America/New_York". + * IANA Time Zone Database time zone. For example "America/New_York". */ 'interval.startTime.timeZone.id'?: string; /** - * Optional. IANA Time Zone Database version number, e.g. "2019a". + * Optional. IANA Time Zone Database version number. For example "2019a". */ 'interval.startTime.timeZone.version'?: string; /** @@ -2357,7 +2378,7 @@ export namespace playdeveloperreporting_v1alpha1 { export interface Params$Resource$Vitals$Errors$Reports$Search extends StandardParameters { /** - * A selection predicate to retrieve only a subset of the reports. For filtering basics, please check [AIP-160](https://google.aip.dev/160). ** Supported field names:** * `apiLevel`: Matches error reports that occurred in the requested Android versions (specified as the numeric API level) only. Example: `apiLevel = 28 OR apiLevel = 29`. * `versionCode`: Matches error reports that occurred in the requested app version codes only. Example: `versionCode = 123 OR versionCode = 456`. * `deviceModel`: Matches error issues that occurred in the requested devices. Example: `deviceModel = "google/walleye" OR deviceModel = "google/marlin"`. * `deviceBrand`: Matches error issues that occurred in the requested device brands. Example: `deviceBrand = "Google". * `deviceType`: Matches error reports that occurred in the requested device types. Example: `deviceType = "PHONE"`. * `errorIssueType`: Matches error reports of the requested types only. Valid candidates: `CRASH`, `ANR`. Example: `errorIssueType = CRASH OR errorIssueType = ANR`. * `errorIssueId`: Matches error reports belonging to the requested error issue ids only. Example: `errorIssueId = 1234 OR errorIssueId = 4567`. * `errorReportId`: Matches error reports with the requested error report id. Example: `errorReportId = 1234 OR errorReportId = 4567`. * `appProcessState`: Matches error reports on the process state of an app, indicating whether an app runs in the foreground (user-visible) or background. Valid candidates: `FOREGROUND`, `BACKGROUND`. Example: `appProcessState = FOREGROUND`. * `isUserPerceived`: Matches error reports that are user-perceived. It is not accompanied by any operators. Example: `isUserPerceived`. ** Supported operators:** * Comparison operators: The only supported comparison operator is equality. The filtered field must appear on the left hand side of the comparison. * Logical Operators: Logical operators `AND` and `OR` can be used to build complex filters following a conjunctive normal form (CNF), i.e., conjunctions of disjunctions. The `OR` operator takes precedence over `AND` so the use of parenthesis is not necessary when building CNF. The `OR` operator is only supported to build disjunctions that apply to the same field, e.g., `versionCode = 123 OR versionCode = ANR`. The filter expression `versionCode = 123 OR errorIssueType = ANR` is not valid. ** Examples ** Some valid filtering expressions: * `versionCode = 123 AND errorIssueType = ANR` * `versionCode = 123 AND errorIssueType = OR errorIssueType = CRASH` * `versionCode = 123 AND (errorIssueType = OR errorIssueType = CRASH)` + * A selection predicate to retrieve only a subset of the reports. For filtering basics, please check [AIP-160](https://google.aip.dev/160). ** Supported field names:** * `apiLevel`: Matches error reports that occurred in the requested Android versions (specified as the numeric API level) only. Example: `apiLevel = 28 OR apiLevel = 29`. * `versionCode`: Matches error reports that occurred in the requested app version codes only. Example: `versionCode = 123 OR versionCode = 456`. * `deviceModel`: Matches error issues that occurred in the requested devices. Example: `deviceModel = "google/walleye" OR deviceModel = "google/marlin"`. * `deviceBrand`: Matches error issues that occurred in the requested device brands. Example: `deviceBrand = "Google". * `deviceType`: Matches error reports that occurred in the requested device types. Example: `deviceType = "PHONE"`. * `errorIssueType`: Matches error reports of the requested types only. Valid candidates: `CRASH`, `ANR`, `NON_FATAL`. Example: `errorIssueType = CRASH OR errorIssueType = ANR`. * `errorIssueId`: Matches error reports belonging to the requested error issue ids only. Example: `errorIssueId = 1234 OR errorIssueId = 4567`. * `errorReportId`: Matches error reports with the requested error report id. Example: `errorReportId = 1234 OR errorReportId = 4567`. * `appProcessState`: Matches error reports on the process state of an app, indicating whether an app runs in the foreground (user-visible) or background. Valid candidates: `FOREGROUND`, `BACKGROUND`. Example: `appProcessState = FOREGROUND`. * `isUserPerceived`: Matches error reports that are user-perceived. It is not accompanied by any operators. Example: `isUserPerceived`. ** Supported operators:** * Comparison operators: The only supported comparison operator is equality. The filtered field must appear on the left hand side of the comparison. * Logical Operators: Logical operators `AND` and `OR` can be used to build complex filters following a conjunctive normal form (CNF), i.e., conjunctions of disjunctions. The `OR` operator takes precedence over `AND` so the use of parenthesis is not necessary when building CNF. The `OR` operator is only supported to build disjunctions that apply to the same field, e.g., `versionCode = 123 OR versionCode = ANR`. The filter expression `versionCode = 123 OR errorIssueType = ANR` is not valid. ** Examples ** Some valid filtering expressions: * `versionCode = 123 AND errorIssueType = ANR` * `versionCode = 123 AND errorIssueType = OR errorIssueType = CRASH` * `versionCode = 123 AND (errorIssueType = OR errorIssueType = CRASH)` */ filter?: string; /** @@ -2385,11 +2406,11 @@ export namespace playdeveloperreporting_v1alpha1 { */ 'interval.endTime.seconds'?: number; /** - * IANA Time Zone Database time zone, e.g. "America/New_York". + * IANA Time Zone Database time zone. For example "America/New_York". */ 'interval.endTime.timeZone.id'?: string; /** - * Optional. IANA Time Zone Database version number, e.g. "2019a". + * Optional. IANA Time Zone Database version number. For example "2019a". */ 'interval.endTime.timeZone.version'?: string; /** @@ -2425,11 +2446,11 @@ export namespace playdeveloperreporting_v1alpha1 { */ 'interval.startTime.seconds'?: number; /** - * IANA Time Zone Database time zone, e.g. "America/New_York". + * IANA Time Zone Database time zone. For example "America/New_York". */ 'interval.startTime.timeZone.id'?: string; /** - * Optional. IANA Time Zone Database version number, e.g. "2019a". + * Optional. IANA Time Zone Database version number. For example "2019a". */ 'interval.startTime.timeZone.version'?: string; /** diff --git a/src/apis/playdeveloperreporting/v1beta1.ts b/src/apis/playdeveloperreporting/v1beta1.ts index e3c66fa9f3..efff273514 100644 --- a/src/apis/playdeveloperreporting/v1beta1.ts +++ b/src/apis/playdeveloperreporting/v1beta1.ts @@ -286,6 +286,10 @@ export namespace playdeveloperreporting_v1beta1 { * A group of related ErrorReports received for an app. Similar error reports are grouped together into issues with a likely identical root cause. **Please note:** this resource is currently in Alpha. There could be changes to the issue grouping that would result in similar but more recent error reports being assigned to different issues. This could also cause some issues disappearing entirely and being replaced by new ones. **Required permissions**: to access this resource, the calling user needs the _View app information (read-only)_ permission for the app. */ export interface Schema$GooglePlayDeveloperReportingV1beta1ErrorIssue { + /** + * List of annotations for an issue. Annotations provide additional information that may help in diagnosing and fixing the issue. + */ + annotations?: Schema$GooglePlayDeveloperReportingV1beta1IssueAnnotation[]; /** * Cause of the issue. Depending on the type this can be either: * APPLICATION_NOT_RESPONDING: the type of ANR that occurred, e.g., 'Input dispatching timed out'. * CRASH: for Java unhandled exception errors, the type of the innermost exception that was thrown, e.g., IllegalArgumentException. For signals in native code, the signal that was raised, e.g. SIGSEGV. */ @@ -419,6 +423,23 @@ export namespace playdeveloperreporting_v1beta1 { */ latestEndTime?: Schema$GoogleTypeDateTime; } + /** + * Representation of an annotation message for an issue. + */ + export interface Schema$GooglePlayDeveloperReportingV1beta1IssueAnnotation { + /** + * Contains the contents of the annotation message. + */ + body?: string | null; + /** + * Category that the annotation belongs to. An annotation will belong to a single category. Example categories: "Potential fix", "Insight". + */ + category?: string | null; + /** + * Title for the annotation. + */ + title?: string | null; + } /** * Response with a list of anomalies in datasets. */ @@ -973,7 +994,7 @@ export namespace playdeveloperreporting_v1beta1 { year?: number | null; } /** - * A representation of a decimal value, such as 2.5. Clients may convert values into language-native decimal formats, such as Java's BigDecimal or Python's decimal.Decimal. [BigDecimal]: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html [decimal.Decimal]: https://docs.python.org/3/library/decimal.html + * A representation of a decimal value, such as 2.5. Clients may convert values into language-native decimal formats, such as Java's [BigDecimal](https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html) or Python's [decimal.Decimal](https://docs.python.org/3/library/decimal.html). */ export interface Schema$GoogleTypeDecimal { /** @@ -986,11 +1007,11 @@ export namespace playdeveloperreporting_v1beta1 { */ export interface Schema$GoogleTypeTimeZone { /** - * IANA Time Zone Database time zone, e.g. "America/New_York". + * IANA Time Zone Database time zone. For example "America/New_York". */ id?: string | null; /** - * Optional. IANA Time Zone Database version number, e.g. "2019a". + * Optional. IANA Time Zone Database version number. For example "2019a". */ version?: string | null; } @@ -2144,7 +2165,7 @@ export namespace playdeveloperreporting_v1beta1 { export interface Params$Resource$Vitals$Errors$Issues$Search extends StandardParameters { /** - * A selection predicate to retrieve only a subset of the issues. Counts in the returned error issues will only reflect occurrences that matched the filter. For filtering basics, please check [AIP-160](https://google.aip.dev/160). ** Supported field names:** * `apiLevel`: Matches error issues that occurred in the requested Android versions (specified as the numeric API level) only. Example: `apiLevel = 28 OR apiLevel = 29`. * `versionCode`: Matches error issues that occurred in the requested app version codes only. Example: `versionCode = 123 OR versionCode = 456`. * `deviceModel`: Matches error issues that occurred in the requested devices. Example: `deviceModel = "google/walleye" OR deviceModel = "google/marlin"`. * `deviceBrand`: Matches error issues that occurred in the requested device brands. Example: `deviceBrand = "Google". * `deviceType`: Matches error issues that occurred in the requested device types. Example: `deviceType = "PHONE"`. * `errorIssueType`: Matches error issues of the requested types only. Valid candidates: `CRASH`, `ANR`. Example: `errorIssueType = CRASH OR errorIssueType = ANR`. * `appProcessState`: Matches error issues on the process state of an app, indicating whether an app runs in the foreground (user-visible) or background. Valid candidates: `FOREGROUND`, `BACKGROUND`. Example: `appProcessState = FOREGROUND`. * `isUserPerceived`: Matches error issues that are user-perceived. It is not accompanied by any operators. Example: `isUserPerceived`. ** Supported operators:** * Comparison operators: The only supported comparison operator is equality. The filtered field must appear on the left hand side of the comparison. * Logical Operators: Logical operators `AND` and `OR` can be used to build complex filters following a conjunctive normal form (CNF), i.e., conjunctions of disjunctions. The `OR` operator takes precedence over `AND` so the use of parenthesis is not necessary when building CNF. The `OR` operator is only supported to build disjunctions that apply to the same field, e.g., `versionCode = 123 OR errorIssueType = ANR` is not a valid filter. ** Examples ** Some valid filtering expressions: * `versionCode = 123 AND errorIssueType = ANR` * `versionCode = 123 AND errorIssueType = OR errorIssueType = CRASH` * `versionCode = 123 AND (errorIssueType = OR errorIssueType = CRASH)` + * A selection predicate to retrieve only a subset of the issues. Counts in the returned error issues will only reflect occurrences that matched the filter. For filtering basics, please check [AIP-160](https://google.aip.dev/160). ** Supported field names:** * `apiLevel`: Matches error issues that occurred in the requested Android versions (specified as the numeric API level) only. Example: `apiLevel = 28 OR apiLevel = 29`. * `versionCode`: Matches error issues that occurred in the requested app version codes only. Example: `versionCode = 123 OR versionCode = 456`. * `deviceModel`: Matches error issues that occurred in the requested devices. Example: `deviceModel = "google/walleye" OR deviceModel = "google/marlin"`. * `deviceBrand`: Matches error issues that occurred in the requested device brands. Example: `deviceBrand = "Google". * `deviceType`: Matches error issues that occurred in the requested device types. Example: `deviceType = "PHONE"`. * `errorIssueType`: Matches error issues of the requested types only. Valid candidates: `CRASH`, `ANR`, `NON_FATAL`. Example: `errorIssueType = CRASH OR errorIssueType = ANR`. * `appProcessState`: Matches error issues on the process state of an app, indicating whether an app runs in the foreground (user-visible) or background. Valid candidates: `FOREGROUND`, `BACKGROUND`. Example: `appProcessState = FOREGROUND`. * `isUserPerceived`: Matches error issues that are user-perceived. It is not accompanied by any operators. Example: `isUserPerceived`. ** Supported operators:** * Comparison operators: The only supported comparison operator is equality. The filtered field must appear on the left hand side of the comparison. * Logical Operators: Logical operators `AND` and `OR` can be used to build complex filters following a conjunctive normal form (CNF), i.e., conjunctions of disjunctions. The `OR` operator takes precedence over `AND` so the use of parenthesis is not necessary when building CNF. The `OR` operator is only supported to build disjunctions that apply to the same field, e.g., `versionCode = 123 OR errorIssueType = ANR` is not a valid filter. ** Examples ** Some valid filtering expressions: * `versionCode = 123 AND errorIssueType = ANR` * `versionCode = 123 AND errorIssueType = OR errorIssueType = CRASH` * `versionCode = 123 AND (errorIssueType = OR errorIssueType = CRASH)` */ filter?: string; /** @@ -2172,11 +2193,11 @@ export namespace playdeveloperreporting_v1beta1 { */ 'interval.endTime.seconds'?: number; /** - * IANA Time Zone Database time zone, e.g. "America/New_York". + * IANA Time Zone Database time zone. For example "America/New_York". */ 'interval.endTime.timeZone.id'?: string; /** - * Optional. IANA Time Zone Database version number, e.g. "2019a". + * Optional. IANA Time Zone Database version number. For example "2019a". */ 'interval.endTime.timeZone.version'?: string; /** @@ -2212,11 +2233,11 @@ export namespace playdeveloperreporting_v1beta1 { */ 'interval.startTime.seconds'?: number; /** - * IANA Time Zone Database time zone, e.g. "America/New_York". + * IANA Time Zone Database time zone. For example "America/New_York". */ 'interval.startTime.timeZone.id'?: string; /** - * Optional. IANA Time Zone Database version number, e.g. "2019a". + * Optional. IANA Time Zone Database version number. For example "2019a". */ 'interval.startTime.timeZone.version'?: string; /** @@ -2357,7 +2378,7 @@ export namespace playdeveloperreporting_v1beta1 { export interface Params$Resource$Vitals$Errors$Reports$Search extends StandardParameters { /** - * A selection predicate to retrieve only a subset of the reports. For filtering basics, please check [AIP-160](https://google.aip.dev/160). ** Supported field names:** * `apiLevel`: Matches error reports that occurred in the requested Android versions (specified as the numeric API level) only. Example: `apiLevel = 28 OR apiLevel = 29`. * `versionCode`: Matches error reports that occurred in the requested app version codes only. Example: `versionCode = 123 OR versionCode = 456`. * `deviceModel`: Matches error issues that occurred in the requested devices. Example: `deviceModel = "google/walleye" OR deviceModel = "google/marlin"`. * `deviceBrand`: Matches error issues that occurred in the requested device brands. Example: `deviceBrand = "Google". * `deviceType`: Matches error reports that occurred in the requested device types. Example: `deviceType = "PHONE"`. * `errorIssueType`: Matches error reports of the requested types only. Valid candidates: `CRASH`, `ANR`. Example: `errorIssueType = CRASH OR errorIssueType = ANR`. * `errorIssueId`: Matches error reports belonging to the requested error issue ids only. Example: `errorIssueId = 1234 OR errorIssueId = 4567`. * `errorReportId`: Matches error reports with the requested error report id. Example: `errorReportId = 1234 OR errorReportId = 4567`. * `appProcessState`: Matches error reports on the process state of an app, indicating whether an app runs in the foreground (user-visible) or background. Valid candidates: `FOREGROUND`, `BACKGROUND`. Example: `appProcessState = FOREGROUND`. * `isUserPerceived`: Matches error reports that are user-perceived. It is not accompanied by any operators. Example: `isUserPerceived`. ** Supported operators:** * Comparison operators: The only supported comparison operator is equality. The filtered field must appear on the left hand side of the comparison. * Logical Operators: Logical operators `AND` and `OR` can be used to build complex filters following a conjunctive normal form (CNF), i.e., conjunctions of disjunctions. The `OR` operator takes precedence over `AND` so the use of parenthesis is not necessary when building CNF. The `OR` operator is only supported to build disjunctions that apply to the same field, e.g., `versionCode = 123 OR versionCode = ANR`. The filter expression `versionCode = 123 OR errorIssueType = ANR` is not valid. ** Examples ** Some valid filtering expressions: * `versionCode = 123 AND errorIssueType = ANR` * `versionCode = 123 AND errorIssueType = OR errorIssueType = CRASH` * `versionCode = 123 AND (errorIssueType = OR errorIssueType = CRASH)` + * A selection predicate to retrieve only a subset of the reports. For filtering basics, please check [AIP-160](https://google.aip.dev/160). ** Supported field names:** * `apiLevel`: Matches error reports that occurred in the requested Android versions (specified as the numeric API level) only. Example: `apiLevel = 28 OR apiLevel = 29`. * `versionCode`: Matches error reports that occurred in the requested app version codes only. Example: `versionCode = 123 OR versionCode = 456`. * `deviceModel`: Matches error issues that occurred in the requested devices. Example: `deviceModel = "google/walleye" OR deviceModel = "google/marlin"`. * `deviceBrand`: Matches error issues that occurred in the requested device brands. Example: `deviceBrand = "Google". * `deviceType`: Matches error reports that occurred in the requested device types. Example: `deviceType = "PHONE"`. * `errorIssueType`: Matches error reports of the requested types only. Valid candidates: `CRASH`, `ANR`, `NON_FATAL`. Example: `errorIssueType = CRASH OR errorIssueType = ANR`. * `errorIssueId`: Matches error reports belonging to the requested error issue ids only. Example: `errorIssueId = 1234 OR errorIssueId = 4567`. * `errorReportId`: Matches error reports with the requested error report id. Example: `errorReportId = 1234 OR errorReportId = 4567`. * `appProcessState`: Matches error reports on the process state of an app, indicating whether an app runs in the foreground (user-visible) or background. Valid candidates: `FOREGROUND`, `BACKGROUND`. Example: `appProcessState = FOREGROUND`. * `isUserPerceived`: Matches error reports that are user-perceived. It is not accompanied by any operators. Example: `isUserPerceived`. ** Supported operators:** * Comparison operators: The only supported comparison operator is equality. The filtered field must appear on the left hand side of the comparison. * Logical Operators: Logical operators `AND` and `OR` can be used to build complex filters following a conjunctive normal form (CNF), i.e., conjunctions of disjunctions. The `OR` operator takes precedence over `AND` so the use of parenthesis is not necessary when building CNF. The `OR` operator is only supported to build disjunctions that apply to the same field, e.g., `versionCode = 123 OR versionCode = ANR`. The filter expression `versionCode = 123 OR errorIssueType = ANR` is not valid. ** Examples ** Some valid filtering expressions: * `versionCode = 123 AND errorIssueType = ANR` * `versionCode = 123 AND errorIssueType = OR errorIssueType = CRASH` * `versionCode = 123 AND (errorIssueType = OR errorIssueType = CRASH)` */ filter?: string; /** @@ -2385,11 +2406,11 @@ export namespace playdeveloperreporting_v1beta1 { */ 'interval.endTime.seconds'?: number; /** - * IANA Time Zone Database time zone, e.g. "America/New_York". + * IANA Time Zone Database time zone. For example "America/New_York". */ 'interval.endTime.timeZone.id'?: string; /** - * Optional. IANA Time Zone Database version number, e.g. "2019a". + * Optional. IANA Time Zone Database version number. For example "2019a". */ 'interval.endTime.timeZone.version'?: string; /** @@ -2425,11 +2446,11 @@ export namespace playdeveloperreporting_v1beta1 { */ 'interval.startTime.seconds'?: number; /** - * IANA Time Zone Database time zone, e.g. "America/New_York". + * IANA Time Zone Database time zone. For example "America/New_York". */ 'interval.startTime.timeZone.id'?: string; /** - * Optional. IANA Time Zone Database version number, e.g. "2019a". + * Optional. IANA Time Zone Database version number. For example "2019a". */ 'interval.startTime.timeZone.version'?: string; /** diff --git a/src/apis/playintegrity/v1.ts b/src/apis/playintegrity/v1.ts index dbf5cec16a..79b24e1e5c 100644 --- a/src/apis/playintegrity/v1.ts +++ b/src/apis/playintegrity/v1.ts @@ -204,10 +204,23 @@ export namespace playintegrity_v1 { */ tokenPayloadExternal?: Schema$TokenPayloadExternal; } + /** + * Contains information about the device for which the integrity token was generated, e.g. Android SDK version. + */ + export interface Schema$DeviceAttributes { + /** + * Android SDK version of the device, as defined in the public Android documentation: https://developer.android.com/reference/android/os/Build.VERSION_CODES. It won't be set if a necessary requirement was missed. For example DeviceIntegrity did not meet the minimum bar. + */ + sdkVersion?: number | null; + } /** * Contains the device attestation information. */ export interface Schema$DeviceIntegrity { + /** + * Attributes of the device where the integrity token was generated. + */ + deviceAttributes?: Schema$DeviceAttributes; /** * Details about the device recall bits set by the developer. */ @@ -216,6 +229,10 @@ export namespace playintegrity_v1 { * Details about the integrity of the device the app is running on. */ deviceRecognitionVerdict?: string[] | null; + /** + * Contains legacy details about the integrity of the device the app is running on. Only for devices with Android version T or higher and only for apps opted in to the new verdicts. Only available during the transition period to the new verdicts system and will be removed afterwards. + */ + legacyDeviceRecognitionVerdict?: string[] | null; /** * Details about the device activity of the device the app is running on. */ diff --git a/src/apis/policysimulator/v1.ts b/src/apis/policysimulator/v1.ts index 1399a07b00..43e51d7ecc 100644 --- a/src/apis/policysimulator/v1.ts +++ b/src/apis/policysimulator/v1.ts @@ -250,6 +250,10 @@ export namespace policysimulator_v1 { * If `true`, then the policy is enforced. If `false`, then any configuration is acceptable. This field can be set only in policies for boolean constraints. */ enforce?: boolean | null; + /** + * Optional. Required for GMCs if parameters defined in constraints. Pass parameter values when policy enforcement is enabled. Ensure that parameter value types match those defined in the constraint definition. For example: { "allowedLocations" : ["us-east1", "us-west1"], "allowAll" : true \} + */ + parameters?: {[key: string]: any} | null; /** * List of values to be used for this policy rule. This field can be set only in policies for list constraints. */ diff --git a/src/apis/privateca/v1.ts b/src/apis/privateca/v1.ts index 0dc0046041..3cd7d10d6e 100644 --- a/src/apis/privateca/v1.ts +++ b/src/apis/privateca/v1.ts @@ -240,7 +240,7 @@ export namespace privateca_v1 { */ labels?: {[key: string]: string} | null; /** - * Output only. Identifier. The resource name for this CaPool in the format `projects/x/locations/x/caPools/x`. + * Identifier. The resource name for this CaPool in the format `projects/x/locations/x/caPools/x`. */ name?: string | null; /** @@ -291,7 +291,7 @@ export namespace privateca_v1 { */ lifetime?: string | null; /** - * Output only. The resource name for this Certificate in the format `projects/x/locations/x/caPools/x/certificates/x`. + * Identifier. The resource name for this Certificate in the format `projects/x/locations/x/caPools/x/certificates/x`. */ name?: string | null; /** @@ -364,7 +364,7 @@ export namespace privateca_v1 { */ lifetime?: string | null; /** - * Output only. The resource name for this CertificateAuthority in the format `projects/x/locations/x/caPools/x/certificateAuthorities/x`. + * Identifier. The resource name for this CertificateAuthority in the format `projects/x/locations/x/caPools/x/certificateAuthorities/x`. */ name?: string | null; /** @@ -527,7 +527,7 @@ export namespace privateca_v1 { */ labels?: {[key: string]: string} | null; /** - * Output only. The resource name for this CertificateRevocationList in the format `projects/x/locations/x/caPools/xcertificateAuthorities/x/ certificateRevocationLists/x`. + * Identifier. The resource name for this CertificateRevocationList in the format `projects/x/locations/x/caPools/xcertificateAuthorities/x/ certificateRevocationLists/x`. */ name?: string | null; /** @@ -580,7 +580,7 @@ export namespace privateca_v1 { */ maximumLifetime?: string | null; /** - * Output only. The resource name for this CertificateTemplate in the format `projects/x/locations/x/certificateTemplates/x`. + * Identifier. The resource name for this CertificateTemplate in the format `projects/x/locations/x/certificateTemplates/x`. */ name?: string | null; /** @@ -839,7 +839,7 @@ export namespace privateca_v1 { */ caPools?: Schema$CaPool[]; /** - * A token to retrieve next page of results. Pass this value in ListCertificateAuthoritiesRequest.next_page_token to retrieve the next page of results. + * A token to retrieve next page of results. Pass this value in ListCertificateAuthoritiesRequest.page_token to retrieve the next page of results. */ nextPageToken?: string | null; /** @@ -856,7 +856,7 @@ export namespace privateca_v1 { */ certificateAuthorities?: Schema$CertificateAuthority[]; /** - * A token to retrieve next page of results. Pass this value in ListCertificateAuthoritiesRequest.next_page_token to retrieve the next page of results. + * A token to retrieve next page of results. Pass this value in ListCertificateAuthoritiesRequest.page_token to retrieve the next page of results. */ nextPageToken?: string | null; /** @@ -873,7 +873,7 @@ export namespace privateca_v1 { */ certificateRevocationLists?: Schema$CertificateRevocationList[]; /** - * A token to retrieve next page of results. Pass this value in ListCertificateRevocationListsRequest.next_page_token to retrieve the next page of results. + * A token to retrieve next page of results. Pass this value in ListCertificateRevocationListsRequest.page_token to retrieve the next page of results. */ nextPageToken?: string | null; /** @@ -890,7 +890,7 @@ export namespace privateca_v1 { */ certificates?: Schema$Certificate[]; /** - * A token to retrieve next page of results. Pass this value in ListCertificatesRequest.next_page_token to retrieve the next page of results. + * A token to retrieve next page of results. Pass this value in ListCertificatesRequest.page_token to retrieve the next page of results. */ nextPageToken?: string | null; /** @@ -907,7 +907,7 @@ export namespace privateca_v1 { */ certificateTemplates?: Schema$CertificateTemplate[]; /** - * A token to retrieve next page of results. Pass this value in ListCertificateTemplatesRequest.next_page_token to retrieve the next page of results. + * A token to retrieve next page of results. Pass this value in ListCertificateTemplatesRequest.page_token to retrieve the next page of results. */ nextPageToken?: string | null; /** @@ -1058,7 +1058,7 @@ export namespace privateca_v1 { */ endTime?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have successfully been cancelled have google.longrunning.Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. */ requestedCancellation?: boolean | null; /** @@ -2562,7 +2562,7 @@ export namespace privateca_v1 { export interface Params$Resource$Projects$Locations$Capools$Patch extends StandardParameters { /** - * Output only. Identifier. The resource name for this CaPool in the format `projects/x/locations/x/caPools/x`. + * Identifier. The resource name for this CaPool in the format `projects/x/locations/x/caPools/x`. */ name?: string; /** @@ -3633,7 +3633,7 @@ export namespace privateca_v1 { export interface Params$Resource$Projects$Locations$Capools$Certificateauthorities$Patch extends StandardParameters { /** - * Output only. The resource name for this CertificateAuthority in the format `projects/x/locations/x/caPools/x/certificateAuthorities/x`. + * Identifier. The resource name for this CertificateAuthority in the format `projects/x/locations/x/caPools/x/certificateAuthorities/x`. */ name?: string; /** @@ -4263,7 +4263,7 @@ export namespace privateca_v1 { export interface Params$Resource$Projects$Locations$Capools$Certificateauthorities$Certificaterevocationlists$Patch extends StandardParameters { /** - * Output only. The resource name for this CertificateRevocationList in the format `projects/x/locations/x/caPools/xcertificateAuthorities/x/ certificateRevocationLists/x`. + * Identifier. The resource name for this CertificateRevocationList in the format `projects/x/locations/x/caPools/xcertificateAuthorities/x/ certificateRevocationLists/x`. */ name?: string; /** @@ -4756,7 +4756,7 @@ export namespace privateca_v1 { export interface Params$Resource$Projects$Locations$Capools$Certificates$Create extends StandardParameters { /** - * Optional. It must be unique within a location and match the regular expression `[a-zA-Z0-9_-]{1,63\}`. This field is required when using a CertificateAuthority in the Enterprise CertificateAuthority.Tier, but is optional and its value is ignored otherwise. + * Optional. It must be unique within a location and match the regular expression `[a-zA-Z0-9_-]{1,63\}`. This field is required when using a CertificateAuthority in the Enterprise CertificateAuthority.tier, but is optional and its value is ignored otherwise. */ certificateId?: string; /** @@ -4814,7 +4814,7 @@ export namespace privateca_v1 { export interface Params$Resource$Projects$Locations$Capools$Certificates$Patch extends StandardParameters { /** - * Output only. The resource name for this Certificate in the format `projects/x/locations/x/caPools/x/certificates/x`. + * Identifier. The resource name for this Certificate in the format `projects/x/locations/x/caPools/x/certificates/x`. */ name?: string; /** @@ -5648,7 +5648,7 @@ export namespace privateca_v1 { export interface Params$Resource$Projects$Locations$Certificatetemplates$Patch extends StandardParameters { /** - * Output only. The resource name for this CertificateTemplate in the format `projects/x/locations/x/certificateTemplates/x`. + * Identifier. The resource name for this CertificateTemplate in the format `projects/x/locations/x/certificateTemplates/x`. */ name?: string; /** @@ -5697,7 +5697,7 @@ export namespace privateca_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/privateca/v1beta1.ts b/src/apis/privateca/v1beta1.ts index e6eca4da23..2e32b9c73c 100644 --- a/src/apis/privateca/v1beta1.ts +++ b/src/apis/privateca/v1beta1.ts @@ -1233,7 +1233,7 @@ export namespace privateca_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/pubsub/v1.ts b/src/apis/pubsub/v1.ts index dd5527e15f..c658d51c41 100644 --- a/src/apis/pubsub/v1.ts +++ b/src/apis/pubsub/v1.ts @@ -134,7 +134,7 @@ export namespace pubsub_v1 { ackIds?: string[] | null; } /** - * Information about an associated Analytics Hub subscription (https://cloud.google.com/bigquery/docs/analytics-hub-manage-subscriptions). + * Information about an associated [Analytics Hub subscription](https://cloud.google.com/bigquery/docs/analytics-hub-manage-subscriptions). */ export interface Schema$AnalyticsHubSubscriptionInfo { /** @@ -188,6 +188,68 @@ export namespace pubsub_v1 { */ streamArn?: string | null; } + /** + * Ingestion settings for Amazon MSK. + */ + export interface Schema$AwsMsk { + /** + * Required. AWS role ARN to be used for Federated Identity authentication with Amazon MSK. Check the Pub/Sub docs for how to set up this role and the required permissions that need to be attached to it. + */ + awsRoleArn?: string | null; + /** + * Required. The Amazon Resource Name (ARN) that uniquely identifies the cluster. + */ + clusterArn?: string | null; + /** + * Required. The GCP service account to be used for Federated Identity authentication with Amazon MSK (via a `AssumeRoleWithWebIdentity` call for the provided role). The `aws_role_arn` must be set up with `accounts.google.com:sub` equals to this service account number. + */ + gcpServiceAccount?: string | null; + /** + * Output only. An output-only field that indicates the state of the Amazon MSK ingestion source. + */ + state?: string | null; + /** + * Required. The name of the topic in the Amazon MSK cluster that Pub/Sub will import from. + */ + topic?: string | null; + } + /** + * Ingestion settings for Azure Event Hubs. + */ + export interface Schema$AzureEventHubs { + /** + * Optional. The client id of the Azure application that is being used to authenticate Pub/Sub. + */ + clientId?: string | null; + /** + * Optional. The name of the Event Hub. + */ + eventHub?: string | null; + /** + * Optional. The GCP service account to be used for Federated Identity authentication. + */ + gcpServiceAccount?: string | null; + /** + * Optional. The name of the Event Hubs namespace. + */ + namespace?: string | null; + /** + * Optional. Name of the resource group within the azure subscription. + */ + resourceGroup?: string | null; + /** + * Output only. An output-only field that indicates the state of the Event Hubs ingestion source. + */ + state?: string | null; + /** + * Optional. The Azure subscription id. + */ + subscriptionId?: string | null; + /** + * Optional. The tenant id of the Azure application that is being used to authenticate Pub/Sub. + */ + tenantId?: string | null; + } /** * Configuration for a BigQuery subscription. */ @@ -329,6 +391,35 @@ export namespace pubsub_v1 { */ schema?: Schema$Schema; } + /** + * Ingestion settings for Confluent Cloud. + */ + export interface Schema$ConfluentCloud { + /** + * Required. The address of the bootstrap server. The format is url:port. + */ + bootstrapServer?: string | null; + /** + * Required. The id of the cluster. + */ + clusterId?: string | null; + /** + * Required. The GCP service account to be used for Federated Identity authentication with `identity_pool_id`. + */ + gcpServiceAccount?: string | null; + /** + * Required. The id of the identity pool to be used for Federated Identity authentication with Confluent Cloud. See https://docs.confluent.io/cloud/current/security/authenticate/workload-identities/identity-providers/oauth/identity-pools.html#add-oauth-identity-pools. + */ + identityPoolId?: string | null; + /** + * Output only. An output-only field that indicates the state of the Confluent Cloud ingestion source. + */ + state?: string | null; + /** + * Required. The name of the topic in the Confluent Cloud cluster that Pub/Sub will import from. + */ + topic?: string | null; + } /** * Request for the `CreateSnapshot` method. */ @@ -401,10 +492,22 @@ export namespace pubsub_v1 { * Optional. Amazon Kinesis Data Streams. */ awsKinesis?: Schema$AwsKinesis; + /** + * Optional. Amazon MSK. + */ + awsMsk?: Schema$AwsMsk; + /** + * Optional. Azure Event Hubs. + */ + azureEventHubs?: Schema$AzureEventHubs; /** * Optional. Cloud Storage. */ cloudStorage?: Schema$CloudStorage; + /** + * Optional. Confluent Cloud. + */ + confluentCloud?: Schema$ConfluentCloud; /** * Optional. Platform Logs settings. If unset, no Platform Logs will be generated. */ diff --git a/src/apis/pubsublite/v1.ts b/src/apis/pubsublite/v1.ts index 6480dc19c0..f14ef16497 100644 --- a/src/apis/pubsublite/v1.ts +++ b/src/apis/pubsublite/v1.ts @@ -639,7 +639,7 @@ export namespace pubsublite_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/rapidmigrationassessment/v1.ts b/src/apis/rapidmigrationassessment/v1.ts index f552c15ff1..4fa95e9b91 100644 --- a/src/apis/rapidmigrationassessment/v1.ts +++ b/src/apis/rapidmigrationassessment/v1.ts @@ -1686,7 +1686,7 @@ export namespace rapidmigrationassessment_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/readerrevenuesubscriptionlinking/v1.ts b/src/apis/readerrevenuesubscriptionlinking/v1.ts index fd45388fc3..1f04224f22 100644 --- a/src/apis/readerrevenuesubscriptionlinking/v1.ts +++ b/src/apis/readerrevenuesubscriptionlinking/v1.ts @@ -137,7 +137,7 @@ export namespace readerrevenuesubscriptionlinking_v1 { */ detail?: string | null; /** - * Required. Expiration time of the entitlement. Entitlements that have expired over 30 days will be purged. Required. LINT.IfChange(expire_time) The max expire_time is 398 days from now(). LINT.ThenChange(//depot/google3/java/com/google/subscribewithgoogle/accountlinking/subscriptionlink/service/config/protoconf.pi:max_expiry_age) + * Required. Expiration time of the entitlement. Entitlements that have expired over 30 days will be purged. The max expire_time is 398 days from now(). */ expireTime?: string | null; /** diff --git a/src/apis/recaptchaenterprise/v1.ts b/src/apis/recaptchaenterprise/v1.ts index 9a98f40fd7..301f3c2a0b 100644 --- a/src/apis/recaptchaenterprise/v1.ts +++ b/src/apis/recaptchaenterprise/v1.ts @@ -822,7 +822,7 @@ export namespace recaptchaenterprise_v1 { name?: string | null; } /** - * The removeIpOverride request message. + * The RemoveIpOverride request message. */ export interface Schema$GoogleCloudRecaptchaenterpriseV1RemoveIpOverrideRequest { /** @@ -860,6 +860,10 @@ export namespace recaptchaenterprise_v1 { * Risk analysis result for an event. */ export interface Schema$GoogleCloudRecaptchaenterpriseV1RiskAnalysis { + /** + * Output only. Challenge information for SCORE_AND_CHALLENGE and INVISIBLE keys + */ + challenge?: string | null; /** * Output only. Extended verdict reasons to be used for experimentation only. The set of possible reasons is subject to change. */ diff --git a/src/apis/recommender/v1.ts b/src/apis/recommender/v1.ts index fef5413297..1c2c1c8340 100644 --- a/src/apis/recommender/v1.ts +++ b/src/apis/recommender/v1.ts @@ -159,6 +159,10 @@ export namespace recommender_v1 { * Use with CategoryType.COST */ costProjection?: Schema$GoogleCloudRecommenderV1CostProjection; + /** + * If populated, the impact contains multiple components. In this case, the top-level impact contains aggregated values and each component contains per-service details. + */ + impactComponents?: Schema$GoogleCloudRecommenderV1Impact[]; /** * Use with CategoryType.RELIABILITY */ @@ -167,6 +171,10 @@ export namespace recommender_v1 { * Use with CategoryType.SECURITY */ securityProjection?: Schema$GoogleCloudRecommenderV1SecurityProjection; + /** + * The service that this impact is associated with. + */ + service?: string | null; /** * Use with CategoryType.SUSTAINABILITY */ diff --git a/src/apis/recommender/v1beta1.ts b/src/apis/recommender/v1beta1.ts index ffe0806567..525a035c4e 100644 --- a/src/apis/recommender/v1beta1.ts +++ b/src/apis/recommender/v1beta1.ts @@ -205,6 +205,10 @@ export namespace recommender_v1beta1 { * Use with CategoryType.COST */ costProjection?: Schema$GoogleCloudRecommenderV1beta1CostProjection; + /** + * If populated, the impact contains multiple components. In this case, the top-level impact contains aggregated values and each component contains per-service details. + */ + impactComponents?: Schema$GoogleCloudRecommenderV1beta1Impact[]; /** * Use with CategoryType.RELIABILITY */ @@ -213,6 +217,10 @@ export namespace recommender_v1beta1 { * Use with CategoryType.SECURITY */ securityProjection?: Schema$GoogleCloudRecommenderV1beta1SecurityProjection; + /** + * The service that this impact is associated with. + */ + service?: string | null; /** * Use with CategoryType.SUSTAINABILITY */ diff --git a/src/apis/redis/v1.ts b/src/apis/redis/v1.ts index 81d04b4c56..d922bd972a 100644 --- a/src/apis/redis/v1.ts +++ b/src/apis/redis/v1.ts @@ -134,29 +134,21 @@ export namespace redis_v1 { appendFsync?: string | null; } /** - * Provides the mapping of a cloud asset to a direct physical location or to a proxy that defines the location on its behalf. + * The automated backup config for a cluster. */ - export interface Schema$AssetLocation { + export interface Schema$AutomatedBackupConfig { /** - * Spanner path of the CCFE RMS database. It is only applicable for CCFE tenants that use CCFE RMS for storing resource metadata. + * Optional. The automated backup mode. If the mode is disabled, the other fields will be ignored. */ - ccfeRmsPath?: string | null; + automatedBackupMode?: string | null; /** - * Defines the customer expectation around ZI/ZS for this asset and ZI/ZS state of the region at the time of asset creation. + * Optional. Trigger automated backups at a fixed frequency. */ - expected?: Schema$IsolationExpectations; + fixedFrequencySchedule?: Schema$FixedFrequencySchedule; /** - * Defines extra parameters required for specific asset types. + * Optional. How long to keep automated backups before the backups are deleted. The value should be between 1 day and 365 days. If not specified, the default value is 35 days. */ - extraParameters?: Schema$ExtraParameter[]; - /** - * Contains all kinds of physical location definitions for this asset. - */ - locationData?: Schema$LocationData[]; - /** - * Defines parents assets if any in order to allow later generation of child_asset_location data via child assets. - */ - parentAsset?: Schema$CloudAsset[]; + retention?: string | null; } /** * Configuration for availability of database instance @@ -177,6 +169,101 @@ export namespace redis_v1 { externalReplicaConfigured?: boolean | null; promotableReplicaConfigured?: boolean | null; } + /** + * Backup of a cluster. + */ + export interface Schema$Backup { + /** + * Output only. List of backup files of the backup. + */ + backupFiles?: Schema$BackupFile[]; + /** + * Output only. Type of the backup. + */ + backupType?: string | null; + /** + * Output only. Cluster resource path of this backup. + */ + cluster?: string | null; + /** + * Output only. Cluster uid of this backup. + */ + clusterUid?: string | null; + /** + * Output only. The time when the backup was created. + */ + createTime?: string | null; + /** + * Output only. redis-7.2, valkey-7.5 + */ + engineVersion?: string | null; + /** + * Output only. The time when the backup will expire. + */ + expireTime?: string | null; + /** + * Identifier. Full resource path of the backup. the last part of the name is the backup id with the following format: [YYYYMMDDHHMMSS]_[Shorted Cluster UID] OR customer specified while backup cluster. Example: 20240515123000_1234 + */ + name?: string | null; + /** + * Output only. Node type of the cluster. + */ + nodeType?: string | null; + /** + * Output only. Number of replicas for the cluster. + */ + replicaCount?: number | null; + /** + * Output only. Number of shards for the cluster. + */ + shardCount?: number | null; + /** + * Output only. State of the backup. + */ + state?: string | null; + /** + * Output only. Total size of the backup in bytes. + */ + totalSizeBytes?: string | null; + /** + * Output only. System assigned unique identifier of the backup. + */ + uid?: string | null; + } + /** + * Request for [BackupCluster]. + */ + export interface Schema$BackupClusterRequest { + /** + * Optional. The id of the backup to be created. If not specified, the default value ([YYYYMMDDHHMMSS]_[Shortened Cluster UID] is used. + */ + backupId?: string | null; + /** + * Optional. TTL for the backup to expire. Value range is 1 day to 100 years. If not specified, the default value is 100 years. + */ + ttl?: string | null; + } + /** + * BackupCollection of a cluster. + */ + export interface Schema$BackupCollection { + /** + * Output only. The full resource path of the cluster the backup collection belongs to. Example: projects/{project\}/locations/{location\}/clusters/{cluster\} + */ + cluster?: string | null; + /** + * Output only. The cluster uid of the backup collection. + */ + clusterUid?: string | null; + /** + * Identifier. Full resource path of the backup collection. + */ + name?: string | null; + /** + * Output only. System assigned unique identifier of the backup collection. + */ + uid?: string | null; + } /** * Configuration for automatic backups */ @@ -194,6 +281,23 @@ export namespace redis_v1 { */ pointInTimeRecoveryEnabled?: boolean | null; } + /** + * Backup is consisted of multiple backup files. + */ + export interface Schema$BackupFile { + /** + * Output only. The time when the backup file was created. + */ + createTime?: string | null; + /** + * Output only. e.g: .rdb + */ + fileName?: string | null; + /** + * Output only. Size of the backup file in bytes. + */ + sizeBytes?: string | null; + } /** * A backup run. */ @@ -215,12 +319,6 @@ export namespace redis_v1 { */ status?: string | null; } - /** - * Policy ID that identified data placement in Blobstore as per go/blobstore-user-guide#data-metadata-placement-and-failure-domains - */ - export interface Schema$BlobstoreLocation { - policyId?: string[] | null; - } export interface Schema$CertChain { /** * The certificates that form the CA chain, from leaf to root order. @@ -237,13 +335,6 @@ export namespace redis_v1 { */ name?: string | null; } - export interface Schema$CloudAsset { - assetName?: string | null; - assetType?: string | null; - } - export interface Schema$CloudAssetComposition { - childAsset?: Schema$CloudAsset[]; - } /** * A cluster instance. */ @@ -252,6 +343,18 @@ export namespace redis_v1 { * Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster. */ authorizationMode?: string | null; + /** + * Optional. The automated backup config for the cluster. + */ + automatedBackupConfig?: Schema$AutomatedBackupConfig; + /** + * Optional. Output only. The backup collection full resource name. Example: projects/{project\}/locations/{location\}/backupCollections/{collection\} + */ + backupCollection?: string | null; + /** + * Optional. A list of cluster enpoints. + */ + clusterEndpoints?: Schema$ClusterEndpoint[]; /** * Output only. The timestamp associated with the cluster creation request. */ @@ -268,6 +371,10 @@ export namespace redis_v1 { * Output only. Endpoints created on each given network, for Redis clients to connect to the cluster. Currently only one discovery endpoint is supported. */ discoveryEndpoints?: Schema$DiscoveryEndpoint[]; + /** + * Optional. Backups stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the clusters. Read permission is required to import from the provided Cloud Storage objects. + */ + gcsSource?: Schema$GcsBackupSource; /** * Optional. ClusterMaintenancePolicy determines when to allow or deny updates. */ @@ -276,6 +383,10 @@ export namespace redis_v1 { * Output only. ClusterMaintenanceSchedule Output only Published maintenance schedule. */ maintenanceSchedule?: Schema$ClusterMaintenanceSchedule; + /** + * Optional. Backups generated and managed by memorystore service. + */ + managedBackupSource?: Schema$ManagedBackupSource; /** * Required. Identifier. Unique name of the resource in this scope including project and location using the form: `projects/{project_id\}/locations/{location_id\}/clusters/{cluster_id\}` */ @@ -293,13 +404,17 @@ export namespace redis_v1 { */ preciseSizeGb?: number | null; /** - * Required. Each PscConfig configures the consumer network where IPs will be designated to the cluster for client access through Private Service Connect Automation. Currently, only one PscConfig is supported. + * Optional. Each PscConfig configures the consumer network where IPs will be designated to the cluster for client access through Private Service Connect Automation. Currently, only one PscConfig is supported. */ pscConfigs?: Schema$PscConfig[]; /** * Output only. The list of PSC connections that are auto-created through service connectivity automation. */ pscConnections?: Schema$PscConnection[]; + /** + * Output only. Service attachment details to configure Psc connections + */ + pscServiceAttachments?: Schema$PscServiceAttachment[]; /** * Optional. Key/Value pairs of customer overrides for mutable Redis Configs */ @@ -337,6 +452,15 @@ export namespace redis_v1 { */ zoneDistributionConfig?: Schema$ZoneDistributionConfig; } + /** + * ClusterEndpoint consists of PSC connections that are created as a group in each VPC network for accessing the cluster. In each group, there shall be one connection for each service attachment in the cluster. + */ + export interface Schema$ClusterEndpoint { + /** + * A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster. + */ + connections?: Schema$ConnectionDetail[]; + } /** * Maintenance policy per cluster. */ @@ -410,6 +534,19 @@ export namespace redis_v1 { */ version?: string | null; } + /** + * Detailed information of each PSC connection. + */ + export interface Schema$ConnectionDetail { + /** + * Detailed information of a PSC connection that is created through service connectivity automation. + */ + pscAutoConnection?: Schema$PscAutoConnection; + /** + * Detailed information of a PSC connection that is created by the customer who owns the cluster. + */ + pscConnection?: Schema$PscConnection; + } /** * Cross cluster replication config. */ @@ -670,9 +807,6 @@ export namespace redis_v1 { */ signalType?: string | null; } - export interface Schema$DirectLocationAssignment { - location?: Schema$LocationAssignment[]; - } /** * Endpoints on each network, for Redis clients to connect to the cluster. */ @@ -708,22 +842,22 @@ export namespace redis_v1 { type?: string | null; } /** - * Request for Export. + * Request for [ExportBackup]. */ - export interface Schema$ExportInstanceRequest { + export interface Schema$ExportBackupRequest { /** - * Required. Specify data to be exported. + * Google Cloud Storage bucket, like "my-bucket". */ - outputConfig?: Schema$OutputConfig; + gcsBucket?: string | null; } /** - * Defines parameters that should only be used for specific asset types. + * Request for Export. */ - export interface Schema$ExtraParameter { + export interface Schema$ExportInstanceRequest { /** - * Details about zones used by regional compute.googleapis.com/InstanceGroupManager to create instances. + * Required. Specify data to be exported. */ - regionalMigDistributionPolicy?: Schema$RegionalMigDistributionPolicy; + outputConfig?: Schema$OutputConfig; } /** * Request for Failover. @@ -734,6 +868,24 @@ export namespace redis_v1 { */ dataProtectionMode?: string | null; } + /** + * This schedule allows the backup to be triggered at a fixed frequency (currently only daily is supported). + */ + export interface Schema$FixedFrequencySchedule { + /** + * Required. The start time of every automated backup in UTC. It must be set to the start of an hour. This field is required. + */ + startTime?: Schema$TimeOfDay; + } + /** + * Backups stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the clusters. + */ + export interface Schema$GcsBackupSource { + /** + * Optional. URIs of the GCS objects to import. Example: gs://bucket1/object1, gs://bucket2/folder2/object2 + */ + uris?: string[] | null; + } /** * The Cloud Storage location for the output content */ @@ -999,24 +1151,39 @@ export namespace redis_v1 { */ resourceName?: string | null; } - export interface Schema$IsolationExpectations { + /** + * Response for [ListBackupCollections]. + */ + export interface Schema$ListBackupCollectionsResponse { + /** + * A list of backupCollections in the project. If the `location_id` in the parent field of the request is "-", all regions available to the project are queried, and the results aggregated. If in such an aggregated query a location is unavailable, a placeholder backupCollection entry is included in the response with the `name` field set to a value of the form `projects/{project_id\}/locations/{location_id\}/backupCollections/`- and the `status` field set to ERROR and `status_message` field set to "location not available for ListBackupCollections". + */ + backupCollections?: Schema$BackupCollection[]; + /** + * Token to retrieve the next page of results, or empty if there are no more results in the list. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * Response for [ListBackups]. + */ + export interface Schema$ListBackupsResponse { /** - * Explicit overrides for ZI and ZS requirements to be used for resources that should be excluded from ZI/ZS verification logic. + * A list of backups in the project. */ - requirementOverride?: Schema$RequirementOverride; - ziOrgPolicy?: string | null; - ziRegionPolicy?: string | null; - ziRegionState?: string | null; + backups?: Schema$Backup[]; /** - * Deprecated: use zi_org_policy, zi_region_policy and zi_region_state instead for setting ZI expectations as per go/zicy-publish-physical-location. + * Token to retrieve the next page of results, or empty if there are no more results in the list. */ - zoneIsolation?: string | null; + nextPageToken?: string | null; /** - * Deprecated: use zs_org_policy, and zs_region_stateinstead for setting Zs expectations as per go/zicy-publish-physical-location. + * Backups that could not be reached. */ - zoneSeparation?: string | null; - zsOrgPolicy?: string | null; - zsRegionState?: string | null; + unreachable?: string[] | null; } /** * Response for ListClusters. @@ -1103,18 +1270,6 @@ export namespace redis_v1 { */ name?: string | null; } - export interface Schema$LocationAssignment { - location?: string | null; - locationType?: string | null; - } - export interface Schema$LocationData { - blobstoreLocation?: Schema$BlobstoreLocation; - childAssetLocation?: Schema$CloudAssetComposition; - directLocation?: Schema$DirectLocationAssignment; - gcpProjectProxy?: Schema$TenantProjectProxy; - placerLocation?: Schema$PlacerLocation; - spannerLocation?: Schema$SpannerLocation; - } /** * MachineConfiguration describes the configuration of a machine specific to Database Resource. */ @@ -1131,6 +1286,10 @@ export namespace redis_v1 { * Optional. Number of shards (if applicable). */ shardCount?: number | null; + /** + * Optional. The number of vCPUs. TODO(b/342344482, b/342346271) add proto validations again after bug fix. + */ + vcpuCount?: number | null; } /** * Maintenance policy for an instance. @@ -1174,6 +1333,15 @@ export namespace redis_v1 { */ startTime?: string | null; } + /** + * Backups that generated and managed by memorystore. + */ + export interface Schema$ManagedBackupSource { + /** + * Optional. Example: //redis.googleapis.com/projects/{project\}/locations/{location\}/backupCollections/{collection\}/backups/{backup\} A shorter version (without the prefix) of the backup name is also supported, like projects/{project\}/locations/{location\}/backupCollections/{collection\}/backups/{backup_id\} In this case, it assumes the backup is under redis.googleapis.com. + */ + backup?: string | null; + } export interface Schema$ManagedCertificateAuthority { /** * The PEM encoded CA certificate chains for redis managed server authentication @@ -1330,15 +1498,6 @@ export namespace redis_v1 { */ rdbSnapshotStartTime?: string | null; } - /** - * Message describing that the location of the customer resource is tied to placer allocations - */ - export interface Schema$PlacerLocation { - /** - * Directory with a config related to it in placer (e.g. "/placer/prod/home/my-root/my-dir") - */ - placerConfig?: string | null; - } /** * Product specification for Condor resources. */ @@ -1356,6 +1515,43 @@ export namespace redis_v1 { */ version?: string | null; } + /** + * Details of consumer resources in a PSC connection that is created through Service Connectivity Automation. + */ + export interface Schema$PscAutoConnection { + /** + * Output only. The IP allocated on the consumer network for the PSC forwarding rule. + */ + address?: string | null; + /** + * Output only. Type of the PSC connection. + */ + connectionType?: string | null; + /** + * Output only. The URI of the consumer side forwarding rule. Example: projects/{projectNumOrId\}/regions/us-east1/forwardingRules/{resourceId\}. + */ + forwardingRule?: string | null; + /** + * Required. The consumer network where the IP address resides, in the form of projects/{project_id\}/global/networks/{network_id\}. + */ + network?: string | null; + /** + * Required. The consumer project_id where the forwarding rule is created from. + */ + projectId?: string | null; + /** + * Output only. The PSC connection id of the forwarding rule connected to the service attachment. + */ + pscConnectionId?: string | null; + /** + * Output only. The status of the PSC connection. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status. + */ + pscConnectionStatus?: string | null; + /** + * Output only. The service attachment which is the target of the PSC connection, in the form of projects/{project-id\}/regions/{region\}/serviceAttachments/{service-attachment-id\}. + */ + serviceAttachment?: string | null; + } export interface Schema$PscConfig { /** * Required. The network where the IP address of the discovery endpoint will be reserved, in the form of projects/{network_project\}/global/networks/{network_id\}. @@ -1370,6 +1566,10 @@ export namespace redis_v1 { * Required. The IP allocated on the consumer network for the PSC forwarding rule. */ address?: string | null; + /** + * Output only. Type of the PSC connection. + */ + connectionType?: string | null; /** * Required. The URI of the consumer side forwarding rule. Example: projects/{projectNumOrId\}/regions/us-east1/forwardingRules/{resourceId\}. */ @@ -1386,11 +1586,28 @@ export namespace redis_v1 { * Required. The PSC connection id of the forwarding rule connected to the service attachment. */ pscConnectionId?: string | null; + /** + * Output only. The status of the PSC connection. Please note that this value is updated periodically. To get the latest status of a PSC connection, follow https://cloud.google.com/vpc/docs/configure-private-service-connect-services#endpoint-details. + */ + pscConnectionStatus?: string | null; /** * Required. The service attachment which is the target of the PSC connection, in the form of projects/{project-id\}/regions/{region\}/serviceAttachments/{service-attachment-id\}. */ serviceAttachment?: string | null; } + /** + * Configuration of a service attachment of the cluster, for creating PSC connections. + */ + export interface Schema$PscServiceAttachment { + /** + * Output only. Type of a PSC connection targeting this service attachment. + */ + connectionType?: string | null; + /** + * Output only. Service attachment URI which your self-created PscConnection should use as target + */ + serviceAttachment?: string | null; + } /** * Configuration of the RDB based persistence. */ @@ -1417,19 +1634,6 @@ export namespace redis_v1 { */ exclusiveAction?: string | null; } - /** - * To be used for specifying the intended distribution of regional compute.googleapis.com/InstanceGroupManager instances - */ - export interface Schema$RegionalMigDistributionPolicy { - /** - * The shape in which the group converges around distribution of resources. Instance of proto2 enum - */ - targetShape?: number | null; - /** - * Cloud zones used by regional MIG to create instances. - */ - zones?: Schema$ZoneConfiguration[]; - } /** * Details of the remote cluster associated with this cluster in a cross cluster replication setup. */ @@ -1443,10 +1647,6 @@ export namespace redis_v1 { */ uid?: string | null; } - export interface Schema$RequirementOverride { - ziOverride?: string | null; - zsOverride?: string | null; - } /** * Request for rescheduling a cluster maintenance. */ @@ -1484,16 +1684,10 @@ export namespace redis_v1 { */ retentionUnit?: string | null; timeBasedRetention?: string | null; - } - export interface Schema$SpannerLocation { /** - * Set of backups used by the resource with name in the same format as what is available at http://table/spanner_automon.backup_metadata + * Timestamp based retention period i.e. 2024-05-01T00:00:00Z */ - backupName?: string[] | null; - /** - * Set of databases used by the resource in format /span// - */ - dbName?: string[] | null; + timestampBasedRetentionTime?: string | null; } /** * Represents additional information about the state of the cluster. @@ -1530,27 +1724,24 @@ export namespace redis_v1 { */ tags?: {[key: string]: string} | null; } - export interface Schema$TenantProjectProxy { - projectNumbers?: string[] | null; - } /** * Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. */ export interface Schema$TimeOfDay { /** - * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. */ hours?: number | null; /** - * Minutes of hour of day. Must be from 0 to 59. + * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. */ minutes?: number | null; /** - * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. */ nanos?: number | null; /** - * Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. */ seconds?: number | null; } @@ -1645,9 +1836,6 @@ export namespace redis_v1 { */ startTime?: Schema$TimeOfDay; } - export interface Schema$ZoneConfiguration { - zone?: string | null; - } /** * Zone distribution config for allocation of cluster resources. */ @@ -1673,11 +1861,14 @@ export namespace redis_v1 { export class Resource$Projects$Locations { context: APIRequestContext; + backupCollections: Resource$Projects$Locations$Backupcollections; clusters: Resource$Projects$Locations$Clusters; instances: Resource$Projects$Locations$Instances; operations: Resource$Projects$Locations$Operations; constructor(context: APIRequestContext) { this.context = context; + this.backupCollections = + new Resource$Projects$Locations$Backupcollections(this.context); this.clusters = new Resource$Projects$Locations$Clusters(this.context); this.instances = new Resource$Projects$Locations$Instances(this.context); this.operations = new Resource$Projects$Locations$Operations( @@ -1891,64 +2082,68 @@ export namespace redis_v1 { pageToken?: string; } - export class Resource$Projects$Locations$Clusters { + export class Resource$Projects$Locations$Backupcollections { context: APIRequestContext; + backups: Resource$Projects$Locations$Backupcollections$Backups; constructor(context: APIRequestContext) { this.context = context; + this.backups = new Resource$Projects$Locations$Backupcollections$Backups( + this.context + ); } /** - * Creates a Redis cluster based on the specified properties. The creation is executed asynchronously and callers may check the returned operation to track its progress. Once the operation is completed the Redis cluster will be fully functional. The completed longrunning.Operation will contain the new cluster object in the response field. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation. + * Get a backup collection. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - create( - params: Params$Resource$Projects$Locations$Clusters$Create, + get( + params: Params$Resource$Projects$Locations$Backupcollections$Get, options: StreamMethodOptions ): GaxiosPromise; - create( - params?: Params$Resource$Projects$Locations$Clusters$Create, + get( + params?: Params$Resource$Projects$Locations$Backupcollections$Get, options?: MethodOptions - ): GaxiosPromise; - create( - params: Params$Resource$Projects$Locations$Clusters$Create, + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Backupcollections$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Clusters$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Backupcollections$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Clusters$Create, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Backupcollections$Get, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Clusters$Create - | BodyResponseCallback + | Params$Resource$Projects$Locations$Backupcollections$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Clusters$Create; + {}) as Params$Resource$Projects$Locations$Backupcollections$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Clusters$Create; + params = {} as Params$Resource$Projects$Locations$Backupcollections$Get; options = {}; } @@ -1961,32 +2156,733 @@ export namespace redis_v1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1/{+parent}/clusters').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Deletes a specific Redis cluster. Cluster stops serving and data is deleted. + * Lists all backup collections owned by a consumer project in either the specified location (region) or all locations. If `location_id` is specified as `-` (wildcard), then all regions available to the project are queried, and the results are aggregated. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Backupcollections$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Backupcollections$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Backupcollections$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backupcollections$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backupcollections$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupcollections$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupcollections$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupcollections$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/backupCollections').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Backupcollections$Get + extends StandardParameters { + /** + * Required. Redis backupCollection resource name using the form: `projects/{project_id\}/locations/{location_id\}/backupCollections/{backup_collection_id\}` where `location_id` refers to a GCP region. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Backupcollections$List + extends StandardParameters { + /** + * Optional. The maximum number of items to return. If not specified, a default value of 1000 will be used by the service. Regardless of the page_size value, the response may include a partial list and a caller should only rely on response's `next_page_token` to determine if there are more clusters left to be queried. + */ + pageSize?: number; + /** + * Optional. The `next_page_token` value returned from a previous [ListBackupCollections] request, if any. + */ + pageToken?: string; + /** + * Required. The resource name of the backupCollection location using the form: `projects/{project_id\}/locations/{location_id\}` where `location_id` refers to a GCP region. + */ + parent?: string; + } + + export class Resource$Projects$Locations$Backupcollections$Backups { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Deletes a specific backup. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Backupcollections$Backups$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupcollections$Backups$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupcollections$Backups$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupcollections$Backups$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Exports a specific backup to a customer target Cloud Storage URI. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + export( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$Export, + options: StreamMethodOptions + ): GaxiosPromise; + export( + params?: Params$Resource$Projects$Locations$Backupcollections$Backups$Export, + options?: MethodOptions + ): GaxiosPromise; + export( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$Export, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + export( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$Export, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + export( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$Export, + callback: BodyResponseCallback + ): void; + export(callback: BodyResponseCallback): void; + export( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupcollections$Backups$Export + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupcollections$Backups$Export; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupcollections$Backups$Export; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:export').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets the details of a specific backup. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Backupcollections$Backups$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupcollections$Backups$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupcollections$Backups$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupcollections$Backups$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists all backups owned by a backup collection. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Backupcollections$Backups$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupcollections$Backups$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupcollections$Backups$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupcollections$Backups$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/backups').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Backupcollections$Backups$Delete + extends StandardParameters { + /** + * Required. Redis backup resource name using the form: `projects/{project_id\}/locations/{location_id\}/backupCollections/{backup_collection_id\}/backups/{backup_id\}` + */ + name?: string; + /** + * Optional. Idempotent request UUID. + */ + requestId?: string; + } + export interface Params$Resource$Projects$Locations$Backupcollections$Backups$Export + extends StandardParameters { + /** + * Required. Redis backup resource name using the form: `projects/{project_id\}/locations/{location_id\}/backupCollections/{backup_collection_id\}/backups/{backup_id\}` + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ExportBackupRequest; + } + export interface Params$Resource$Projects$Locations$Backupcollections$Backups$Get + extends StandardParameters { + /** + * Required. Redis backup resource name using the form: `projects/{project_id\}/locations/{location_id\}/backupCollections/{backup_collection_id\}/backups/{backup_id\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Backupcollections$Backups$List + extends StandardParameters { + /** + * Optional. The maximum number of items to return. If not specified, a default value of 1000 will be used by the service. Regardless of the page_size value, the response may include a partial list and a caller should only rely on response's `next_page_token` to determine if there are more clusters left to be queried. + */ + pageSize?: number; + /** + * Optional. The `next_page_token` value returned from a previous [ListBackupCollections] request, if any. + */ + pageToken?: string; + /** + * Required. The resource name of the backupCollection using the form: `projects/{project_id\}/locations/{location_id\}/backupCollections/{backup_collection_id\}` + */ + parent?: string; + } + + export class Resource$Projects$Locations$Clusters { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Backup Redis Cluster. If this is the first time a backup is being created, a backup collection will be created at the backend, and this backup belongs to this collection. Both collection and backup will have a resource name. Backup will be executed for each shard. A replica (primary if nonHA) will be selected to perform the execution. Backup call will be rejected if there is an ongoing backup or update operation. Be aware that during preview, if the cluster's internal software version is too old, critical update will be performed before actual backup. Once the internal software version is updated to the minimum version required by the backup feature, subsequent backups will not require critical update. After preview, there will be no critical update needed for backup. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + backup( + params: Params$Resource$Projects$Locations$Clusters$Backup, + options: StreamMethodOptions + ): GaxiosPromise; + backup( + params?: Params$Resource$Projects$Locations$Clusters$Backup, + options?: MethodOptions + ): GaxiosPromise; + backup( + params: Params$Resource$Projects$Locations$Clusters$Backup, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + backup( + params: Params$Resource$Projects$Locations$Clusters$Backup, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + backup( + params: Params$Resource$Projects$Locations$Clusters$Backup, + callback: BodyResponseCallback + ): void; + backup(callback: BodyResponseCallback): void; + backup( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Clusters$Backup + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Clusters$Backup; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Clusters$Backup; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:backup').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Creates a Redis cluster based on the specified properties. The creation is executed asynchronously and callers may check the returned operation to track its progress. Once the operation is completed the Redis cluster will be fully functional. The completed longrunning.Operation will contain the new cluster object in the response field. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Clusters$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Clusters$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Clusters$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Clusters$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Clusters$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Clusters$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Clusters$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Clusters$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/clusters').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a specific Redis cluster. Cluster stops serving and data is deleted. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -2518,6 +3414,18 @@ export namespace redis_v1 { } } + export interface Params$Resource$Projects$Locations$Clusters$Backup + extends StandardParameters { + /** + * Required. Redis cluster resource name using the form: `projects/{project_id\}/locations/{location_id\}/clusters/{cluster_id\}` where `location_id` refers to a GCP region. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BackupClusterRequest; + } export interface Params$Resource$Projects$Locations$Clusters$Create extends StandardParameters { /** @@ -3721,7 +4629,7 @@ export namespace redis_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/redis/v1beta1.ts b/src/apis/redis/v1beta1.ts index caf9728c54..7b8c91d4ac 100644 --- a/src/apis/redis/v1beta1.ts +++ b/src/apis/redis/v1beta1.ts @@ -134,29 +134,21 @@ export namespace redis_v1beta1 { appendFsync?: string | null; } /** - * Provides the mapping of a cloud asset to a direct physical location or to a proxy that defines the location on its behalf. + * The automated backup config for a cluster. */ - export interface Schema$AssetLocation { + export interface Schema$AutomatedBackupConfig { /** - * Spanner path of the CCFE RMS database. It is only applicable for CCFE tenants that use CCFE RMS for storing resource metadata. + * Optional. The automated backup mode. If the mode is disabled, the other fields will be ignored. */ - ccfeRmsPath?: string | null; + automatedBackupMode?: string | null; /** - * Defines the customer expectation around ZI/ZS for this asset and ZI/ZS state of the region at the time of asset creation. + * Optional. Trigger automated backups at a fixed frequency. */ - expected?: Schema$IsolationExpectations; + fixedFrequencySchedule?: Schema$FixedFrequencySchedule; /** - * Defines extra parameters required for specific asset types. + * Optional. How long to keep automated backups before the backups are deleted. The value should be between 1 day and 365 days. If not specified, the default value is 35 days. */ - extraParameters?: Schema$ExtraParameter[]; - /** - * Contains all kinds of physical location definitions for this asset. - */ - locationData?: Schema$LocationData[]; - /** - * Defines parents assets if any in order to allow later generation of child_asset_location data via child assets. - */ - parentAsset?: Schema$CloudAsset[]; + retention?: string | null; } /** * Configuration for availability of database instance @@ -177,6 +169,101 @@ export namespace redis_v1beta1 { externalReplicaConfigured?: boolean | null; promotableReplicaConfigured?: boolean | null; } + /** + * Backup of a cluster. + */ + export interface Schema$Backup { + /** + * Output only. List of backup files of the backup. + */ + backupFiles?: Schema$BackupFile[]; + /** + * Output only. Type of the backup. + */ + backupType?: string | null; + /** + * Output only. Cluster resource path of this backup. + */ + cluster?: string | null; + /** + * Output only. Cluster uid of this backup. + */ + clusterUid?: string | null; + /** + * Output only. The time when the backup was created. + */ + createTime?: string | null; + /** + * Output only. redis-7.2, valkey-7.5 + */ + engineVersion?: string | null; + /** + * Output only. The time when the backup will expire. + */ + expireTime?: string | null; + /** + * Identifier. Full resource path of the backup. the last part of the name is the backup id with the following format: [YYYYMMDDHHMMSS]_[Shorted Cluster UID] OR customer specified while backup cluster. Example: 20240515123000_1234 + */ + name?: string | null; + /** + * Output only. Node type of the cluster. + */ + nodeType?: string | null; + /** + * Output only. Number of replicas for the cluster. + */ + replicaCount?: number | null; + /** + * Output only. Number of shards for the cluster. + */ + shardCount?: number | null; + /** + * Output only. State of the backup. + */ + state?: string | null; + /** + * Output only. Total size of the backup in bytes. + */ + totalSizeBytes?: string | null; + /** + * Output only. System assigned unique identifier of the backup. + */ + uid?: string | null; + } + /** + * Request for [BackupCluster]. + */ + export interface Schema$BackupClusterRequest { + /** + * Optional. The id of the backup to be created. If not specified, the default value ([YYYYMMDDHHMMSS]_[Shortened Cluster UID] is used. + */ + backupId?: string | null; + /** + * Optional. TTL for the backup to expire. Value range is 1 day to 100 years. If not specified, the default value is 100 years. + */ + ttl?: string | null; + } + /** + * BackupCollection of a cluster. + */ + export interface Schema$BackupCollection { + /** + * Output only. The full resource path of the cluster the backup collection belongs to. Example: projects/{project\}/locations/{location\}/clusters/{cluster\} + */ + cluster?: string | null; + /** + * Output only. The cluster uid of the backup collection. + */ + clusterUid?: string | null; + /** + * Identifier. Full resource path of the backup collection. + */ + name?: string | null; + /** + * Output only. System assigned unique identifier of the backup collection. + */ + uid?: string | null; + } /** * Configuration for automatic backups */ @@ -194,6 +281,23 @@ export namespace redis_v1beta1 { */ pointInTimeRecoveryEnabled?: boolean | null; } + /** + * Backup is consisted of multiple backup files. + */ + export interface Schema$BackupFile { + /** + * Output only. The time when the backup file was created. + */ + createTime?: string | null; + /** + * Output only. e.g: .rdb + */ + fileName?: string | null; + /** + * Output only. Size of the backup file in bytes. + */ + sizeBytes?: string | null; + } /** * A backup run. */ @@ -215,12 +319,6 @@ export namespace redis_v1beta1 { */ status?: string | null; } - /** - * Policy ID that identified data placement in Blobstore as per go/blobstore-user-guide#data-metadata-placement-and-failure-domains - */ - export interface Schema$BlobstoreLocation { - policyId?: string[] | null; - } export interface Schema$CertChain { /** * The certificates that form the CA chain, from leaf to root order. @@ -237,13 +335,6 @@ export namespace redis_v1beta1 { */ name?: string | null; } - export interface Schema$CloudAsset { - assetName?: string | null; - assetType?: string | null; - } - export interface Schema$CloudAssetComposition { - childAsset?: Schema$CloudAsset[]; - } /** * A cluster instance. */ @@ -252,6 +343,18 @@ export namespace redis_v1beta1 { * Optional. The authorization mode of the Redis cluster. If not provided, auth feature is disabled for the cluster. */ authorizationMode?: string | null; + /** + * Optional. The automated backup config for the cluster. + */ + automatedBackupConfig?: Schema$AutomatedBackupConfig; + /** + * Optional. Output only. The backup collection full resource name. Example: projects/{project\}/locations/{location\}/backupCollections/{collection\} + */ + backupCollection?: string | null; + /** + * Optional. A list of cluster enpoints. + */ + clusterEndpoints?: Schema$ClusterEndpoint[]; /** * Output only. The timestamp associated with the cluster creation request. */ @@ -268,6 +371,10 @@ export namespace redis_v1beta1 { * Output only. Endpoints created on each given network, for Redis clients to connect to the cluster. Currently only one discovery endpoint is supported. */ discoveryEndpoints?: Schema$DiscoveryEndpoint[]; + /** + * Optional. Backups stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the clusters. Read permission is required to import from the provided Cloud Storage objects. + */ + gcsSource?: Schema$GcsBackupSource; /** * Optional. ClusterMaintenancePolicy determines when to allow or deny updates. */ @@ -276,6 +383,10 @@ export namespace redis_v1beta1 { * Output only. ClusterMaintenanceSchedule Output only Published maintenance schedule. */ maintenanceSchedule?: Schema$ClusterMaintenanceSchedule; + /** + * Optional. Backups generated and managed by memorystore service. + */ + managedBackupSource?: Schema$ManagedBackupSource; /** * Required. Identifier. Unique name of the resource in this scope including project and location using the form: `projects/{project_id\}/locations/{location_id\}/clusters/{cluster_id\}` */ @@ -293,13 +404,17 @@ export namespace redis_v1beta1 { */ preciseSizeGb?: number | null; /** - * Required. Each PscConfig configures the consumer network where IPs will be designated to the cluster for client access through Private Service Connect Automation. Currently, only one PscConfig is supported. + * Optional. Each PscConfig configures the consumer network where IPs will be designated to the cluster for client access through Private Service Connect Automation. Currently, only one PscConfig is supported. */ pscConfigs?: Schema$PscConfig[]; /** * Output only. The list of PSC connections that are auto-created through service connectivity automation. */ pscConnections?: Schema$PscConnection[]; + /** + * Output only. Service attachment details to configure Psc connections + */ + pscServiceAttachments?: Schema$PscServiceAttachment[]; /** * Optional. Key/Value pairs of customer overrides for mutable Redis Configs */ @@ -337,6 +452,15 @@ export namespace redis_v1beta1 { */ zoneDistributionConfig?: Schema$ZoneDistributionConfig; } + /** + * ClusterEndpoint consists of PSC connections that are created as a group in each VPC network for accessing the cluster. In each group, there shall be one connection for each service attachment in the cluster. + */ + export interface Schema$ClusterEndpoint { + /** + * A group of PSC connections. They are created in the same VPC network, one for each service attachment in the cluster. + */ + connections?: Schema$ConnectionDetail[]; + } /** * Maintenance policy per cluster. */ @@ -410,6 +534,19 @@ export namespace redis_v1beta1 { */ version?: string | null; } + /** + * Detailed information of each PSC connection. + */ + export interface Schema$ConnectionDetail { + /** + * Detailed information of a PSC connection that is created through service connectivity automation. + */ + pscAutoConnection?: Schema$PscAutoConnection; + /** + * Detailed information of a PSC connection that is created by the customer who owns the cluster. + */ + pscConnection?: Schema$PscConnection; + } /** * Cross cluster replication config. */ @@ -670,9 +807,6 @@ export namespace redis_v1beta1 { */ signalType?: string | null; } - export interface Schema$DirectLocationAssignment { - location?: Schema$LocationAssignment[]; - } /** * Endpoints on each network, for Redis clients to connect to the cluster. */ @@ -708,22 +842,22 @@ export namespace redis_v1beta1 { type?: string | null; } /** - * Request for Export. + * Request for [ExportBackup]. */ - export interface Schema$ExportInstanceRequest { + export interface Schema$ExportBackupRequest { /** - * Required. Specify data to be exported. + * Google Cloud Storage bucket, like "my-bucket". */ - outputConfig?: Schema$OutputConfig; + gcsBucket?: string | null; } /** - * Defines parameters that should only be used for specific asset types. + * Request for Export. */ - export interface Schema$ExtraParameter { + export interface Schema$ExportInstanceRequest { /** - * Details about zones used by regional compute.googleapis.com/InstanceGroupManager to create instances. + * Required. Specify data to be exported. */ - regionalMigDistributionPolicy?: Schema$RegionalMigDistributionPolicy; + outputConfig?: Schema$OutputConfig; } /** * Request for Failover. @@ -734,6 +868,24 @@ export namespace redis_v1beta1 { */ dataProtectionMode?: string | null; } + /** + * This schedule allows the backup to be triggered at a fixed frequency (currently only daily is supported). + */ + export interface Schema$FixedFrequencySchedule { + /** + * Required. The start time of every automated backup in UTC. It must be set to the start of an hour. This field is required. + */ + startTime?: Schema$TimeOfDay; + } + /** + * Backups stored in Cloud Storage buckets. The Cloud Storage buckets need to be the same region as the clusters. + */ + export interface Schema$GcsBackupSource { + /** + * Optional. URIs of the GCS objects to import. Example: gs://bucket1/object1, gs://bucket2/folder2/object2 + */ + uris?: string[] | null; + } /** * The Cloud Storage location for the output content */ @@ -761,7 +913,7 @@ export namespace redis_v1beta1 { */ apiVersion?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. */ cancelRequested?: boolean | null; /** @@ -999,24 +1151,39 @@ export namespace redis_v1beta1 { */ resourceName?: string | null; } - export interface Schema$IsolationExpectations { + /** + * Response for [ListBackupCollections]. + */ + export interface Schema$ListBackupCollectionsResponse { + /** + * A list of backupCollections in the project. If the `location_id` in the parent field of the request is "-", all regions available to the project are queried, and the results aggregated. If in such an aggregated query a location is unavailable, a placeholder backupCollection entry is included in the response with the `name` field set to a value of the form `projects/{project_id\}/locations/{location_id\}/backupCollections/`- and the `status` field set to ERROR and `status_message` field set to "location not available for ListBackupCollections". + */ + backupCollections?: Schema$BackupCollection[]; + /** + * Token to retrieve the next page of results, or empty if there are no more results in the list. + */ + nextPageToken?: string | null; + /** + * Locations that could not be reached. + */ + unreachable?: string[] | null; + } + /** + * Response for [ListBackups]. + */ + export interface Schema$ListBackupsResponse { /** - * Explicit overrides for ZI and ZS requirements to be used for resources that should be excluded from ZI/ZS verification logic. + * A list of backups in the project. */ - requirementOverride?: Schema$RequirementOverride; - ziOrgPolicy?: string | null; - ziRegionPolicy?: string | null; - ziRegionState?: string | null; + backups?: Schema$Backup[]; /** - * Deprecated: use zi_org_policy, zi_region_policy and zi_region_state instead for setting ZI expectations as per go/zicy-publish-physical-location. + * Token to retrieve the next page of results, or empty if there are no more results in the list. */ - zoneIsolation?: string | null; + nextPageToken?: string | null; /** - * Deprecated: use zs_org_policy, and zs_region_stateinstead for setting Zs expectations as per go/zicy-publish-physical-location. + * Backups that could not be reached. */ - zoneSeparation?: string | null; - zsOrgPolicy?: string | null; - zsRegionState?: string | null; + unreachable?: string[] | null; } /** * Response for ListClusters. @@ -1103,18 +1270,6 @@ export namespace redis_v1beta1 { */ name?: string | null; } - export interface Schema$LocationAssignment { - location?: string | null; - locationType?: string | null; - } - export interface Schema$LocationData { - blobstoreLocation?: Schema$BlobstoreLocation; - childAssetLocation?: Schema$CloudAssetComposition; - directLocation?: Schema$DirectLocationAssignment; - gcpProjectProxy?: Schema$TenantProjectProxy; - placerLocation?: Schema$PlacerLocation; - spannerLocation?: Schema$SpannerLocation; - } /** * MachineConfiguration describes the configuration of a machine specific to Database Resource. */ @@ -1131,6 +1286,10 @@ export namespace redis_v1beta1 { * Optional. Number of shards (if applicable). */ shardCount?: number | null; + /** + * Optional. The number of vCPUs. TODO(b/342344482, b/342346271) add proto validations again after bug fix. + */ + vcpuCount?: number | null; } /** * Maintenance policy for an instance. @@ -1174,6 +1333,15 @@ export namespace redis_v1beta1 { */ startTime?: string | null; } + /** + * Backups that generated and managed by memorystore. + */ + export interface Schema$ManagedBackupSource { + /** + * Optional. Example: //redis.googleapis.com/projects/{project\}/locations/{location\}/backupCollections/{collection\}/backups/{backup\} A shorter version (without the prefix) of the backup name is also supported, like projects/{project\}/locations/{location\}/backupCollections/{collection\}/backups/{backup_id\} In this case, it assumes the backup is under redis.googleapis.com. + */ + backup?: string | null; + } export interface Schema$ManagedCertificateAuthority { /** * The PEM encoded CA certificate chains for redis managed server authentication @@ -1330,15 +1498,6 @@ export namespace redis_v1beta1 { */ rdbSnapshotStartTime?: string | null; } - /** - * Message describing that the location of the customer resource is tied to placer allocations - */ - export interface Schema$PlacerLocation { - /** - * Directory with a config related to it in placer (e.g. "/placer/prod/home/my-root/my-dir") - */ - placerConfig?: string | null; - } /** * Product specification for Condor resources. */ @@ -1356,6 +1515,43 @@ export namespace redis_v1beta1 { */ version?: string | null; } + /** + * Details of consumer resources in a PSC connection that is created through Service Connectivity Automation. + */ + export interface Schema$PscAutoConnection { + /** + * Output only. The IP allocated on the consumer network for the PSC forwarding rule. + */ + address?: string | null; + /** + * Output only. Type of the PSC connection. + */ + connectionType?: string | null; + /** + * Output only. The URI of the consumer side forwarding rule. Example: projects/{projectNumOrId\}/regions/us-east1/forwardingRules/{resourceId\}. + */ + forwardingRule?: string | null; + /** + * Required. The consumer network where the IP address resides, in the form of projects/{project_id\}/global/networks/{network_id\}. + */ + network?: string | null; + /** + * Required. The consumer project_id where the forwarding rule is created from. + */ + projectId?: string | null; + /** + * Output only. The PSC connection id of the forwarding rule connected to the service attachment. + */ + pscConnectionId?: string | null; + /** + * Output only. The status of the PSC connection. Please note that this value is updated periodically. Please use Private Service Connect APIs for the latest status. + */ + pscConnectionStatus?: string | null; + /** + * Output only. The service attachment which is the target of the PSC connection, in the form of projects/{project-id\}/regions/{region\}/serviceAttachments/{service-attachment-id\}. + */ + serviceAttachment?: string | null; + } export interface Schema$PscConfig { /** * Required. The network where the IP address of the discovery endpoint will be reserved, in the form of projects/{network_project\}/global/networks/{network_id\}. @@ -1370,6 +1566,10 @@ export namespace redis_v1beta1 { * Required. The IP allocated on the consumer network for the PSC forwarding rule. */ address?: string | null; + /** + * Output only. Type of the PSC connection. + */ + connectionType?: string | null; /** * Required. The URI of the consumer side forwarding rule. Example: projects/{projectNumOrId\}/regions/us-east1/forwardingRules/{resourceId\}. */ @@ -1386,11 +1586,28 @@ export namespace redis_v1beta1 { * Required. The PSC connection id of the forwarding rule connected to the service attachment. */ pscConnectionId?: string | null; + /** + * Output only. The status of the PSC connection. Please note that this value is updated periodically. To get the latest status of a PSC connection, follow https://cloud.google.com/vpc/docs/configure-private-service-connect-services#endpoint-details. + */ + pscConnectionStatus?: string | null; /** * Required. The service attachment which is the target of the PSC connection, in the form of projects/{project-id\}/regions/{region\}/serviceAttachments/{service-attachment-id\}. */ serviceAttachment?: string | null; } + /** + * Configuration of a service attachment of the cluster, for creating PSC connections. + */ + export interface Schema$PscServiceAttachment { + /** + * Output only. Type of a PSC connection targeting this service attachment. + */ + connectionType?: string | null; + /** + * Output only. Service attachment URI which your self-created PscConnection should use as target + */ + serviceAttachment?: string | null; + } /** * Configuration of the RDB based persistence. */ @@ -1417,19 +1634,6 @@ export namespace redis_v1beta1 { */ exclusiveAction?: string | null; } - /** - * To be used for specifying the intended distribution of regional compute.googleapis.com/InstanceGroupManager instances - */ - export interface Schema$RegionalMigDistributionPolicy { - /** - * The shape in which the group converges around distribution of resources. Instance of proto2 enum - */ - targetShape?: number | null; - /** - * Cloud zones used by regional MIG to create instances. - */ - zones?: Schema$ZoneConfiguration[]; - } /** * Details of the remote cluster associated with this cluster in a cross cluster replication setup. */ @@ -1443,10 +1647,6 @@ export namespace redis_v1beta1 { */ uid?: string | null; } - export interface Schema$RequirementOverride { - ziOverride?: string | null; - zsOverride?: string | null; - } /** * Request for rescheduling a cluster maintenance. */ @@ -1484,16 +1684,10 @@ export namespace redis_v1beta1 { */ retentionUnit?: string | null; timeBasedRetention?: string | null; - } - export interface Schema$SpannerLocation { /** - * Set of backups used by the resource with name in the same format as what is available at http://table/spanner_automon.backup_metadata + * Timestamp based retention period i.e. 2024-05-01T00:00:00Z */ - backupName?: string[] | null; - /** - * Set of databases used by the resource in format /span// - */ - dbName?: string[] | null; + timestampBasedRetentionTime?: string | null; } /** * Represents additional information about the state of the cluster. @@ -1530,27 +1724,24 @@ export namespace redis_v1beta1 { */ tags?: {[key: string]: string} | null; } - export interface Schema$TenantProjectProxy { - projectNumbers?: string[] | null; - } /** * Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. */ export interface Schema$TimeOfDay { /** - * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. */ hours?: number | null; /** - * Minutes of hour of day. Must be from 0 to 59. + * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. */ minutes?: number | null; /** - * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. */ nanos?: number | null; /** - * Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. */ seconds?: number | null; } @@ -1645,9 +1836,6 @@ export namespace redis_v1beta1 { */ startTime?: Schema$TimeOfDay; } - export interface Schema$ZoneConfiguration { - zone?: string | null; - } /** * Zone distribution config for allocation of cluster resources. */ @@ -1673,11 +1861,14 @@ export namespace redis_v1beta1 { export class Resource$Projects$Locations { context: APIRequestContext; + backupCollections: Resource$Projects$Locations$Backupcollections; clusters: Resource$Projects$Locations$Clusters; instances: Resource$Projects$Locations$Instances; operations: Resource$Projects$Locations$Operations; constructor(context: APIRequestContext) { this.context = context; + this.backupCollections = + new Resource$Projects$Locations$Backupcollections(this.context); this.clusters = new Resource$Projects$Locations$Clusters(this.context); this.instances = new Resource$Projects$Locations$Instances(this.context); this.operations = new Resource$Projects$Locations$Operations( @@ -1891,64 +2082,68 @@ export namespace redis_v1beta1 { pageToken?: string; } - export class Resource$Projects$Locations$Clusters { + export class Resource$Projects$Locations$Backupcollections { context: APIRequestContext; + backups: Resource$Projects$Locations$Backupcollections$Backups; constructor(context: APIRequestContext) { this.context = context; + this.backups = new Resource$Projects$Locations$Backupcollections$Backups( + this.context + ); } /** - * Creates a Redis cluster based on the specified properties. The creation is executed asynchronously and callers may check the returned operation to track its progress. Once the operation is completed the Redis cluster will be fully functional. The completed longrunning.Operation will contain the new cluster object in the response field. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation. + * Get a backup collection. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. * @param callback - Optional callback that handles the response. * @returns A promise if used with async/await, or void if used with a callback. */ - create( - params: Params$Resource$Projects$Locations$Clusters$Create, + get( + params: Params$Resource$Projects$Locations$Backupcollections$Get, options: StreamMethodOptions ): GaxiosPromise; - create( - params?: Params$Resource$Projects$Locations$Clusters$Create, + get( + params?: Params$Resource$Projects$Locations$Backupcollections$Get, options?: MethodOptions - ): GaxiosPromise; - create( - params: Params$Resource$Projects$Locations$Clusters$Create, + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Backupcollections$Get, options: StreamMethodOptions | BodyResponseCallback, callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Clusters$Create, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Backupcollections$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; - create( - params: Params$Resource$Projects$Locations$Clusters$Create, - callback: BodyResponseCallback + get( + params: Params$Resource$Projects$Locations$Backupcollections$Get, + callback: BodyResponseCallback ): void; - create(callback: BodyResponseCallback): void; - create( + get(callback: BodyResponseCallback): void; + get( paramsOrCallback?: - | Params$Resource$Projects$Locations$Clusters$Create - | BodyResponseCallback + | Params$Resource$Projects$Locations$Backupcollections$Get + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, callback?: - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || - {}) as Params$Resource$Projects$Locations$Clusters$Create; + {}) as Params$Resource$Projects$Locations$Backupcollections$Get; let options = (optionsOrCallback || {}) as MethodOptions; if (typeof paramsOrCallback === 'function') { callback = paramsOrCallback; - params = {} as Params$Resource$Projects$Locations$Clusters$Create; + params = {} as Params$Resource$Projects$Locations$Backupcollections$Get; options = {}; } @@ -1961,32 +2156,739 @@ export namespace redis_v1beta1 { const parameters = { options: Object.assign( { - url: (rootUrl + '/v1beta1/{+parent}/clusters').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', apiVersion: '', }, options ), params, - requiredParams: ['parent'], - pathParams: ['parent'], + requiredParams: ['name'], + pathParams: ['name'], context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } /** - * Deletes a specific Redis cluster. Cluster stops serving and data is deleted. + * Lists all backup collections owned by a consumer project in either the specified location (region) or all locations. If `location_id` is specified as `-` (wildcard), then all regions available to the project are queried, and the results are aggregated. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Backupcollections$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Backupcollections$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Backupcollections$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backupcollections$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backupcollections$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupcollections$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupcollections$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupcollections$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/backupCollections').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Projects$Locations$Backupcollections$Get + extends StandardParameters { + /** + * Required. Redis backupCollection resource name using the form: `projects/{project_id\}/locations/{location_id\}/backupCollections/{backup_collection_id\}` where `location_id` refers to a GCP region. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Backupcollections$List + extends StandardParameters { + /** + * Optional. The maximum number of items to return. If not specified, a default value of 1000 will be used by the service. Regardless of the page_size value, the response may include a partial list and a caller should only rely on response's `next_page_token` to determine if there are more clusters left to be queried. + */ + pageSize?: number; + /** + * Optional. The `next_page_token` value returned from a previous [ListBackupCollections] request, if any. + */ + pageToken?: string; + /** + * Required. The resource name of the backupCollection location using the form: `projects/{project_id\}/locations/{location_id\}` where `location_id` refers to a GCP region. + */ + parent?: string; + } + + export class Resource$Projects$Locations$Backupcollections$Backups { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Deletes a specific backup. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Projects$Locations$Backupcollections$Backups$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupcollections$Backups$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupcollections$Backups$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupcollections$Backups$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Exports a specific backup to a customer target Cloud Storage URI. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + export( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$Export, + options: StreamMethodOptions + ): GaxiosPromise; + export( + params?: Params$Resource$Projects$Locations$Backupcollections$Backups$Export, + options?: MethodOptions + ): GaxiosPromise; + export( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$Export, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + export( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$Export, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + export( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$Export, + callback: BodyResponseCallback + ): void; + export(callback: BodyResponseCallback): void; + export( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupcollections$Backups$Export + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupcollections$Backups$Export; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupcollections$Backups$Export; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}:export').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets the details of a specific backup. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Backupcollections$Backups$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupcollections$Backups$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupcollections$Backups$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupcollections$Backups$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists all backups owned by a backup collection. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$Backupcollections$Backups$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$Backupcollections$Backups$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Backupcollections$Backups$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Backupcollections$Backups$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Backupcollections$Backups$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/backups').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Backupcollections$Backups$Delete + extends StandardParameters { + /** + * Required. Redis backup resource name using the form: `projects/{project_id\}/locations/{location_id\}/backupCollections/{backup_collection_id\}/backups/{backup_id\}` + */ + name?: string; + /** + * Optional. Idempotent request UUID. + */ + requestId?: string; + } + export interface Params$Resource$Projects$Locations$Backupcollections$Backups$Export + extends StandardParameters { + /** + * Required. Redis backup resource name using the form: `projects/{project_id\}/locations/{location_id\}/backupCollections/{backup_collection_id\}/backups/{backup_id\}` + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ExportBackupRequest; + } + export interface Params$Resource$Projects$Locations$Backupcollections$Backups$Get + extends StandardParameters { + /** + * Required. Redis backup resource name using the form: `projects/{project_id\}/locations/{location_id\}/backupCollections/{backup_collection_id\}/backups/{backup_id\}` + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$Backupcollections$Backups$List + extends StandardParameters { + /** + * Optional. The maximum number of items to return. If not specified, a default value of 1000 will be used by the service. Regardless of the page_size value, the response may include a partial list and a caller should only rely on response's `next_page_token` to determine if there are more clusters left to be queried. + */ + pageSize?: number; + /** + * Optional. The `next_page_token` value returned from a previous [ListBackupCollections] request, if any. + */ + pageToken?: string; + /** + * Required. The resource name of the backupCollection using the form: `projects/{project_id\}/locations/{location_id\}/backupCollections/{backup_collection_id\}` + */ + parent?: string; + } + + export class Resource$Projects$Locations$Clusters { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Backup Redis Cluster. If this is the first time a backup is being created, a backup collection will be created at the backend, and this backup belongs to this collection. Both collection and backup will have a resource name. Backup will be executed for each shard. A replica (primary if nonHA) will be selected to perform the execution. Backup call will be rejected if there is an ongoing backup or update operation. Be aware that during preview, if the cluster's internal software version is too old, critical update will be performed before actual backup. Once the internal software version is updated to the minimum version required by the backup feature, subsequent backups will not require critical update. After preview, there will be no critical update needed for backup. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + backup( + params: Params$Resource$Projects$Locations$Clusters$Backup, + options: StreamMethodOptions + ): GaxiosPromise; + backup( + params?: Params$Resource$Projects$Locations$Clusters$Backup, + options?: MethodOptions + ): GaxiosPromise; + backup( + params: Params$Resource$Projects$Locations$Clusters$Backup, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + backup( + params: Params$Resource$Projects$Locations$Clusters$Backup, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + backup( + params: Params$Resource$Projects$Locations$Clusters$Backup, + callback: BodyResponseCallback + ): void; + backup(callback: BodyResponseCallback): void; + backup( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Clusters$Backup + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Clusters$Backup; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Clusters$Backup; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+name}:backup').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Creates a Redis cluster based on the specified properties. The creation is executed asynchronously and callers may check the returned operation to track its progress. Once the operation is completed the Redis cluster will be fully functional. The completed longrunning.Operation will contain the new cluster object in the response field. The returned operation is automatically deleted after a few hours, so there is no need to call DeleteOperation. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Projects$Locations$Clusters$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Projects$Locations$Clusters$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Projects$Locations$Clusters$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Clusters$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Projects$Locations$Clusters$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Clusters$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Clusters$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Clusters$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://redis.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1beta1/{+parent}/clusters').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a specific Redis cluster. Cluster stops serving and data is deleted. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -2517,6 +3419,18 @@ export namespace redis_v1beta1 { } } + export interface Params$Resource$Projects$Locations$Clusters$Backup + extends StandardParameters { + /** + * Required. Redis cluster resource name using the form: `projects/{project_id\}/locations/{location_id\}/clusters/{cluster_id\}` where `location_id` refers to a GCP region. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$BackupClusterRequest; + } export interface Params$Resource$Projects$Locations$Clusters$Create extends StandardParameters { /** @@ -3726,7 +4640,7 @@ export namespace redis_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/retail/v2.ts b/src/apis/retail/v2.ts index 7214754415..2a73cae950 100644 --- a/src/apis/retail/v2.ts +++ b/src/apis/retail/v2.ts @@ -1371,7 +1371,7 @@ export namespace retail_v2 { */ gcsStagingDir?: string | null; /** - * BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. + * BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. */ partitionDate?: Schema$GoogleTypeDate; /** @@ -1421,7 +1421,7 @@ export namespace retail_v2 { */ indexableOption?: string | null; /** - * Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded catalog attributes that are neither in use by products nor predefined can be deleted. Catalog attributes that are either in use by products or are predefined attributes cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update. + * Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded catalog attributes that are neither in use by products nor predefined can be deleted. Catalog attributes that are either in use by products or are predefined attributes cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update. */ inUse?: boolean | null; /** @@ -1518,12 +1518,37 @@ export namespace retail_v2 { */ rerankFacet?: boolean | null; } + /** + * Request message for CollectUserEvent method. + */ + export interface Schema$GoogleCloudRetailV2CollectUserEventRequest { + /** + * The event timestamp in milliseconds. This prevents browser caching of otherwise identical get requests. The name is abbreviated to reduce the payload bytes. + */ + ets?: string | null; + /** + * The prebuilt rule name that can convert a specific type of raw_json. For example: "ga4_bq" rule for the GA4 user event schema. + */ + prebuiltRule?: string | null; + /** + * An arbitrary serialized JSON string that contains necessary information that can comprise a user event. When this field is specified, the user_event field will be ignored. Note: line-delimited JSON is not supported, a single JSON only. + */ + rawJson?: string | null; + /** + * The URL including cgi-parameters but excluding the hash fragment with a length limit of 5,000 characters. This is often more useful than the referer URL, because many browsers only send the domain for 3rd party requests. + */ + uri?: string | null; + /** + * Required. URL encoded UserEvent proto with a length limit of 2,000,000 characters. + */ + userEvent?: string | null; + } /** * The color information of a Product. */ export interface Schema$GoogleCloudRetailV2ColorInfo { /** - * The standard color families. Strongly recommended to use the following standard color groups: "Red", "Pink", "Orange", "Yellow", "Purple", "Green", "Cyan", "Blue", "Brown", "White", "Gray", "Black" and "Mixed". Normally it is expected to have only 1 color family. May consider using single "Mixed" instead of multiple values. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). + * The standard color families. Strongly recommended to use the following standard color groups: "Red", "Pink", "Orange", "Yellow", "Purple", "Green", "Cyan", "Blue", "Brown", "White", "Gray", "Black" and "Mixed". Normally it is expected to have only 1 color family. May consider using single "Mixed" instead of multiple values. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). The colorFamilies field as a system attribute is not a required field but strongly recommended to be specified. Google Search models treat this field as more important than a custom product attribute when specified. */ colorFamilies?: string[] | null; /** @@ -1764,7 +1789,7 @@ export namespace retail_v2 { text?: string[] | null; } /** - * Metadata for active A/B testing Experiment. + * Metadata for active A/B testing experiment. */ export interface Schema$GoogleCloudRetailV2ExperimentInfo { /** @@ -1781,7 +1806,7 @@ export namespace retail_v2 { */ export interface Schema$GoogleCloudRetailV2ExperimentInfoServingConfigExperiment { /** - * The fully qualified resource name of the serving config Experiment.VariantArm.serving_config_id responsible for generating the search response. For example: `projects/x/locations/x/catalogs/x/servingConfigs/x`. + * The fully qualified resource name of the serving config `Experiment.VariantArm.serving_config_id` responsible for generating the search response. For example: `projects/x/locations/x/catalogs/x/servingConfigs/x`. */ experimentServingConfig?: string | null; /** @@ -1944,7 +1969,7 @@ export namespace retail_v2 { setTime?: string | null; } /** - * Product image. Recommendations AI and Retail Search do not use product images to improve prediction and search results. However, product images can be returned in results, and are shown in prediction or search previews in the console. + * Product image. Recommendations AI and Retail Search use product images to improve prediction and search results. Product images can be returned in results, and are shown in prediction or search previews in the console. Please try to provide correct product images and avoid using images with size too small. */ export interface Schema$GoogleCloudRetailV2Image { /** @@ -2192,21 +2217,25 @@ export namespace retail_v2 { */ export interface Schema$GoogleCloudRetailV2LocalInventory { /** - * Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB. + * Optional. Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB. */ attributes?: { [key: string]: Schema$GoogleCloudRetailV2CustomAttribute; } | null; /** - * Input only. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-day-delivery" * "next-day-delivery" * "custom-type-1" * "custom-type-2" * "custom-type-3" * "custom-type-4" * "custom-type-5" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned. + * Optional. The availability of the Product at this place_id. Default to Availability.IN_STOCK. For primary products with variants set the availability of the primary as Availability.OUT_OF_STOCK and set the true availability at the variant level. This way the primary product will be considered "in stock" as long as it has at least one variant in stock. For primary products with no variants set the true availability at the primary level. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability). + */ + availability?: string | null; + /** + * Optional. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-day-delivery" * "next-day-delivery" * "custom-type-1" * "custom-type-2" * "custom-type-3" * "custom-type-4" * "custom-type-5" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned. */ fulfillmentTypes?: string[] | null; /** - * The place ID for the current set of inventory information. + * Required. The place ID for the current set of inventory information. */ placeId?: string | null; /** - * Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). + * Optional. Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). */ priceInfo?: Schema$GoogleCloudRetailV2PriceInfo; } @@ -2358,6 +2387,32 @@ export namespace retail_v2 { * Request for pausing training of a model. */ export interface Schema$GoogleCloudRetailV2PauseModelRequest {} + /** + * Metadata for pinning to be returned in the response. This is used for distinguishing between applied vs dropped pins. + */ + export interface Schema$GoogleCloudRetailV2PinControlMetadata { + /** + * Map of all matched pins, keyed by pin position. + */ + allMatchedPins?: { + [key: string]: Schema$GoogleCloudRetailV2PinControlMetadataProductPins; + } | null; + /** + * Map of pins that were dropped due to overlap with other matching pins, keyed by pin position. + */ + droppedPins?: { + [key: string]: Schema$GoogleCloudRetailV2PinControlMetadataProductPins; + } | null; + } + /** + * List of product ids which have associated pins. + */ + export interface Schema$GoogleCloudRetailV2PinControlMetadataProductPins { + /** + * List of product ids which have associated pins. + */ + productId?: string[] | null; + } /** * Request message for Predict method. */ @@ -2582,7 +2637,7 @@ export namespace retail_v2 { */ rating?: Schema$GoogleCloudRetailV2Rating; /** - * Indicates which fields in the Products are returned in SearchResponse. Supported fields for all types: * audience * availability * brands * color_info * conditions * gtin * materials * name * patterns * price_info * rating * sizes * title * uri Supported fields only for Type.PRIMARY and Type.COLLECTION: * categories * description * images Supported fields only for Type.VARIANT: * Only the first image in images To mark attributes as retrievable, include paths of the form "attributes.key" where "key" is the key of a custom attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION, the following fields are always returned in SearchResponse by default: * name For Type.VARIANT, the following fields are always returned in by default: * name * color_info The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is returned. Note: Returning more fields in SearchResponse can increase response payload size and serving latency. This field is deprecated. Use the retrievable site-wide control instead. + * Indicates which fields in the Products are returned in SearchResponse. Supported fields for all types: * audience * availability * brands * color_info * conditions * gtin * materials * name * patterns * price_info * rating * sizes * title * uri Supported fields only for Type.PRIMARY and Type.COLLECTION: * categories * description * images Supported fields only for Type.VARIANT: * Only the first image in images To mark attributes as retrievable, include paths of the form "attributes.key" where "key" is the key of a custom attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION, the following fields are always returned in SearchResponse by default: * name For Type.VARIANT, the following fields are always returned in by default: * name * color_info Note: Returning more fields in SearchResponse can increase response payload size and serving latency. This field is deprecated. Use the retrievable site-wide control instead. */ retrievableFields?: string | null; /** @@ -2959,6 +3014,10 @@ export namespace retail_v2 { * Treats specific term as a synonym with a group of terms. Group of terms will not be treated as synonyms with the specific term. */ onewaySynonymsAction?: Schema$GoogleCloudRetailV2RuleOnewaySynonymsAction; + /** + * Pins one or more specified products to a specific position in the results. + */ + pinAction?: Schema$GoogleCloudRetailV2RulePinAction; /** * Redirects a shopper to a specific page. */ @@ -3063,6 +3122,15 @@ export namespace retail_v2 { */ synonyms?: string[] | null; } + /** + * Pins one or more specified products to a specific position in the results. * Rule Condition: Must specify non-empty Condition.query_terms (for search only) or Condition.page_categories (for browse only), but can't specify both. * Action Input: mapping of `[pin_position, product_id]` pairs (pin position uses 1-based indexing). * Action Result: Will pin products with matching ids to the position specified in the final result order. Example: Suppose the query is `shoes`, the Condition.query_terms is `shoes` and the pin_map has `{1, "pid1"\}`, then product with `pid1` will be pinned to the top position in the final results. If multiple PinActions are matched to a single request the actions will be processed from most to least recently updated. Pins to positions larger than the max allowed page size of 120 are not allowed. + */ + export interface Schema$GoogleCloudRetailV2RulePinAction { + /** + * Required. A map of positions to product_ids. Partial matches per action are allowed, if a certain position in the map is already filled that `[position, product_id]` pair will be ignored but the rest may still be applied. This case will only occur if multiple pin actions are matched to a single request, as the map guarantees that pin positions are unique within the same action. Duplicate product_ids are not permitted within a single pin map. The max size of this map is 120, equivalent to the max [request page size](https://cloud.google.com/retail/docs/reference/rest/v2/projects.locations.catalogs.placements/search#request-body). + */ + pinMap?: {[key: string]: string} | null; + } /** * Redirects a shopper to a specific page. * Rule Condition: Must specify Condition.query_terms. * Action Input: Request Query * Action Result: Redirects shopper to provided uri. */ @@ -3409,7 +3477,7 @@ export namespace retail_v2 { */ correctedQuery?: string | null; /** - * Metadata related to A/B testing Experiment associated with this response. Only exists when an experiment is triggered. + * Metadata related to A/B testing experiment associated with this response. Only exists when an experiment is triggered. */ experimentInfo?: Schema$GoogleCloudRetailV2ExperimentInfo[]; /** @@ -3424,6 +3492,10 @@ export namespace retail_v2 { * A token that can be sent as SearchRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages. */ nextPageToken?: string | null; + /** + * Metadata for pin controls which were applicable to the request. This contains two map fields, one for all matched pins and one for pins which were matched but not applied. The two maps are keyed by pin position, and the values are the product ids which were matched to that pin. + */ + pinControlMetadata?: Schema$GoogleCloudRetailV2PinControlMetadata; /** * Query expansion information for the returned results. */ @@ -3906,7 +3978,7 @@ export namespace retail_v2 { */ ipAddress?: string | null; /** - * User agent as included in the HTTP header. Required for getting SearchResponse.sponsored_results. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request is set. + * User agent as included in the HTTP header. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request is set. */ userAgent?: string | null; /** @@ -10444,7 +10516,7 @@ export namespace retail_v2 { } /** - * Writes a single user event from the browser. This uses a GET request to due to browser restriction of POST-ing to a 3rd party domain. This method is used only by the Retail API JavaScript pixel and Google Tag Manager. Users should not call this method directly. + * Writes a single user event from the browser. For larger user event payload over 16 KB, the POST method should be used instead, otherwise a 400 Bad Request error is returned. This method is used only by the Retail API JavaScript pixel and Google Tag Manager. Users should not call this method directly. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -10515,7 +10587,7 @@ export namespace retail_v2 { /([^:]\/)\/+/g, '$1' ), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -10924,30 +10996,15 @@ export namespace retail_v2 { export interface Params$Resource$Projects$Locations$Catalogs$Userevents$Collect extends StandardParameters { - /** - * The event timestamp in milliseconds. This prevents browser caching of otherwise identical get requests. The name is abbreviated to reduce the payload bytes. - */ - ets?: string; /** * Required. The parent catalog name, such as `projects/1234/locations/global/catalogs/default_catalog`. */ parent?: string; + /** - * The prebuilt rule name that can convert a specific type of raw_json. For example: "ga4_bq" rule for the GA4 user event schema. - */ - prebuiltRule?: string; - /** - * An arbitrary serialized JSON string that contains necessary information that can comprise a user event. When this field is specified, the user_event field will be ignored. Note: line-delimited JSON is not supported, a single JSON only. - */ - rawJson?: string; - /** - * The URL including cgi-parameters but excluding the hash fragment with a length limit of 5,000 characters. This is often more useful than the referer URL, because many browsers only send the domain for 3rd party requests. - */ - uri?: string; - /** - * Required. URL encoded UserEvent proto with a length limit of 2,000,000 characters. + * Request body metadata */ - userEvent?: string; + requestBody?: Schema$GoogleCloudRetailV2CollectUserEventRequest; } export interface Params$Resource$Projects$Locations$Catalogs$Userevents$Import extends StandardParameters { diff --git a/src/apis/retail/v2alpha.ts b/src/apis/retail/v2alpha.ts index d2f4e4f035..bb38f9b6b2 100644 --- a/src/apis/retail/v2alpha.ts +++ b/src/apis/retail/v2alpha.ts @@ -480,7 +480,7 @@ export namespace retail_v2alpha { */ gcsStagingDir?: string | null; /** - * BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. + * BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. */ partitionDate?: Schema$GoogleTypeDate; /** @@ -601,7 +601,7 @@ export namespace retail_v2alpha { */ indexableOption?: string | null; /** - * Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded catalog attributes that are neither in use by products nor predefined can be deleted. Catalog attributes that are either in use by products or are predefined attributes cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update. + * Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded catalog attributes that are neither in use by products nor predefined can be deleted. Catalog attributes that are either in use by products or are predefined attributes cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update. */ inUse?: boolean | null; /** @@ -702,12 +702,37 @@ export namespace retail_v2alpha { */ rerankFacet?: boolean | null; } + /** + * Request message for CollectUserEvent method. + */ + export interface Schema$GoogleCloudRetailV2alphaCollectUserEventRequest { + /** + * The event timestamp in milliseconds. This prevents browser caching of otherwise identical get requests. The name is abbreviated to reduce the payload bytes. + */ + ets?: string | null; + /** + * The prebuilt rule name that can convert a specific type of raw_json. For example: "ga4_bq" rule for the GA4 user event schema. + */ + prebuiltRule?: string | null; + /** + * An arbitrary serialized JSON string that contains necessary information that can comprise a user event. When this field is specified, the user_event field will be ignored. Note: line-delimited JSON is not supported, a single JSON only. + */ + rawJson?: string | null; + /** + * The URL including cgi-parameters but excluding the hash fragment with a length limit of 5,000 characters. This is often more useful than the referer URL, because many browsers only send the domain for 3rd party requests. + */ + uri?: string | null; + /** + * Required. URL encoded UserEvent proto with a length limit of 2,000,000 characters. + */ + userEvent?: string | null; + } /** * The color information of a Product. */ export interface Schema$GoogleCloudRetailV2alphaColorInfo { /** - * The standard color families. Strongly recommended to use the following standard color groups: "Red", "Pink", "Orange", "Yellow", "Purple", "Green", "Cyan", "Blue", "Brown", "White", "Gray", "Black" and "Mixed". Normally it is expected to have only 1 color family. May consider using single "Mixed" instead of multiple values. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). + * The standard color families. Strongly recommended to use the following standard color groups: "Red", "Pink", "Orange", "Yellow", "Purple", "Green", "Cyan", "Blue", "Brown", "White", "Gray", "Black" and "Mixed". Normally it is expected to have only 1 color family. May consider using single "Mixed" instead of multiple values. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). The colorFamilies field as a system attribute is not a required field but strongly recommended to be specified. Google Search models treat this field as more important than a custom product attribute when specified. */ colorFamilies?: string[] | null; /** @@ -995,7 +1020,7 @@ export namespace retail_v2alpha { enrolledSolution?: string | null; } /** - * Metadata for active A/B testing Experiment. + * Metadata for active A/B testing experiment. */ export interface Schema$GoogleCloudRetailV2alphaExperimentInfo { /** @@ -1012,7 +1037,7 @@ export namespace retail_v2alpha { */ export interface Schema$GoogleCloudRetailV2alphaExperimentInfoServingConfigExperiment { /** - * The fully qualified resource name of the serving config Experiment.VariantArm.serving_config_id responsible for generating the search response. For example: `projects/x/locations/x/catalogs/x/servingConfigs/x`. + * The fully qualified resource name of the serving config `Experiment.VariantArm.serving_config_id` responsible for generating the search response. For example: `projects/x/locations/x/catalogs/x/servingConfigs/x`. */ experimentServingConfig?: string | null; /** @@ -1235,7 +1260,7 @@ export namespace retail_v2alpha { setTime?: string | null; } /** - * Product image. Recommendations AI and Retail Search do not use product images to improve prediction and search results. However, product images can be returned in results, and are shown in prediction or search previews in the console. + * Product image. Recommendations AI and Retail Search use product images to improve prediction and search results. Product images can be returned in results, and are shown in prediction or search previews in the console. Please try to provide correct product images and avoid using images with size too small. */ export interface Schema$GoogleCloudRetailV2alphaImage { /** @@ -1522,21 +1547,25 @@ export namespace retail_v2alpha { */ export interface Schema$GoogleCloudRetailV2alphaLocalInventory { /** - * Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB. + * Optional. Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB. */ attributes?: { [key: string]: Schema$GoogleCloudRetailV2alphaCustomAttribute; } | null; /** - * Input only. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-day-delivery" * "next-day-delivery" * "custom-type-1" * "custom-type-2" * "custom-type-3" * "custom-type-4" * "custom-type-5" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned. + * Optional. The availability of the Product at this place_id. Default to Availability.IN_STOCK. For primary products with variants set the availability of the primary as Availability.OUT_OF_STOCK and set the true availability at the variant level. This way the primary product will be considered "in stock" as long as it has at least one variant in stock. For primary products with no variants set the true availability at the primary level. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability). + */ + availability?: string | null; + /** + * Optional. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-day-delivery" * "next-day-delivery" * "custom-type-1" * "custom-type-2" * "custom-type-3" * "custom-type-4" * "custom-type-5" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned. */ fulfillmentTypes?: string[] | null; /** - * The place ID for the current set of inventory information. + * Required. The place ID for the current set of inventory information. */ placeId?: string | null; /** - * Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). + * Optional. Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). */ priceInfo?: Schema$GoogleCloudRetailV2alphaPriceInfo; } @@ -1887,6 +1916,36 @@ export namespace retail_v2alpha { * Request for pausing training of a model. */ export interface Schema$GoogleCloudRetailV2alphaPauseModelRequest {} + /** + * Metadata for pinning to be returned in the response. This is used for distinguishing between applied vs dropped pins. + */ + export interface Schema$GoogleCloudRetailV2alphaPinControlMetadata { + /** + * Map of all matched pins, keyed by pin position. + */ + allMatchedPins?: { + [ + key: string + ]: Schema$GoogleCloudRetailV2alphaPinControlMetadataProductPins; + } | null; + /** + * Map of pins that were dropped due to overlap with other matching pins, keyed by pin position. + */ + droppedPins?: { + [ + key: string + ]: Schema$GoogleCloudRetailV2alphaPinControlMetadataProductPins; + } | null; + } + /** + * List of product ids which have associated pins. + */ + export interface Schema$GoogleCloudRetailV2alphaPinControlMetadataProductPins { + /** + * List of product ids which have associated pins. + */ + productId?: string[] | null; + } /** * Request message for Predict method. */ @@ -2111,7 +2170,7 @@ export namespace retail_v2alpha { */ rating?: Schema$GoogleCloudRetailV2alphaRating; /** - * Indicates which fields in the Products are returned in SearchResponse. Supported fields for all types: * audience * availability * brands * color_info * conditions * gtin * materials * name * patterns * price_info * rating * sizes * title * uri Supported fields only for Type.PRIMARY and Type.COLLECTION: * categories * description * images Supported fields only for Type.VARIANT: * Only the first image in images To mark attributes as retrievable, include paths of the form "attributes.key" where "key" is the key of a custom attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION, the following fields are always returned in SearchResponse by default: * name For Type.VARIANT, the following fields are always returned in by default: * name * color_info The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is returned. Note: Returning more fields in SearchResponse can increase response payload size and serving latency. This field is deprecated. Use the retrievable site-wide control instead. + * Indicates which fields in the Products are returned in SearchResponse. Supported fields for all types: * audience * availability * brands * color_info * conditions * gtin * materials * name * patterns * price_info * rating * sizes * title * uri Supported fields only for Type.PRIMARY and Type.COLLECTION: * categories * description * images Supported fields only for Type.VARIANT: * Only the first image in images To mark attributes as retrievable, include paths of the form "attributes.key" where "key" is the key of a custom attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION, the following fields are always returned in SearchResponse by default: * name For Type.VARIANT, the following fields are always returned in by default: * name * color_info Note: Returning more fields in SearchResponse can increase response payload size and serving latency. This field is deprecated. Use the retrievable site-wide control instead. */ retrievableFields?: string | null; /** @@ -2501,6 +2560,10 @@ export namespace retail_v2alpha { * Treats specific term as a synonym with a group of terms. Group of terms will not be treated as synonyms with the specific term. */ onewaySynonymsAction?: Schema$GoogleCloudRetailV2alphaRuleOnewaySynonymsAction; + /** + * Pins one or more specified products to a specific position in the results. + */ + pinAction?: Schema$GoogleCloudRetailV2alphaRulePinAction; /** * Redirects a shopper to a specific page. */ @@ -2605,6 +2668,15 @@ export namespace retail_v2alpha { */ synonyms?: string[] | null; } + /** + * Pins one or more specified products to a specific position in the results. * Rule Condition: Must specify non-empty Condition.query_terms (for search only) or Condition.page_categories (for browse only), but can't specify both. * Action Input: mapping of `[pin_position, product_id]` pairs (pin position uses 1-based indexing). * Action Result: Will pin products with matching ids to the position specified in the final result order. Example: Suppose the query is `shoes`, the Condition.query_terms is `shoes` and the pin_map has `{1, "pid1"\}`, then product with `pid1` will be pinned to the top position in the final results. If multiple PinActions are matched to a single request the actions will be processed from most to least recently updated. Pins to positions larger than the max allowed page size of 120 are not allowed. + */ + export interface Schema$GoogleCloudRetailV2alphaRulePinAction { + /** + * Required. A map of positions to product_ids. Partial matches per action are allowed, if a certain position in the map is already filled that `[position, product_id]` pair will be ignored but the rest may still be applied. This case will only occur if multiple pin actions are matched to a single request, as the map guarantees that pin positions are unique within the same action. Duplicate product_ids are not permitted within a single pin map. The max size of this map is 120, equivalent to the max [request page size](https://cloud.google.com/retail/docs/reference/rest/v2/projects.locations.catalogs.placements/search#request-body). + */ + pinMap?: {[key: string]: string} | null; + } /** * Redirects a shopper to a specific page. * Rule Condition: Must specify Condition.query_terms. * Action Input: Request Query * Action Result: Redirects shopper to provided uri. */ @@ -2955,7 +3027,7 @@ export namespace retail_v2alpha { */ correctedQuery?: string | null; /** - * Metadata related to A/B testing Experiment associated with this response. Only exists when an experiment is triggered. + * Metadata related to A/B testing experiment associated with this response. Only exists when an experiment is triggered. */ experimentInfo?: Schema$GoogleCloudRetailV2alphaExperimentInfo[]; /** @@ -2970,6 +3042,10 @@ export namespace retail_v2alpha { * A token that can be sent as SearchRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages. */ nextPageToken?: string | null; + /** + * Metadata for pin controls which were applicable to the request. This contains two map fields, one for all matched pins and one for pins which were matched but not applied. The two maps are keyed by pin position, and the values are the product ids which were matched to that pin. + */ + pinControlMetadata?: Schema$GoogleCloudRetailV2alphaPinControlMetadata; /** * Query expansion information for the returned results. */ @@ -3465,7 +3541,7 @@ export namespace retail_v2alpha { */ ipAddress?: string | null; /** - * User agent as included in the HTTP header. Required for getting SearchResponse.sponsored_results. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request is set. + * User agent as included in the HTTP header. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request is set. */ userAgent?: string | null; /** @@ -12427,7 +12503,7 @@ export namespace retail_v2alpha { } /** - * Writes a single user event from the browser. This uses a GET request to due to browser restriction of POST-ing to a 3rd party domain. This method is used only by the Retail API JavaScript pixel and Google Tag Manager. Users should not call this method directly. + * Writes a single user event from the browser. For larger user event payload over 16 KB, the POST method should be used instead, otherwise a 400 Bad Request error is returned. This method is used only by the Retail API JavaScript pixel and Google Tag Manager. Users should not call this method directly. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -12498,7 +12574,7 @@ export namespace retail_v2alpha { /([^:]\/)\/+/g, '$1' ), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -13003,30 +13079,15 @@ export namespace retail_v2alpha { export interface Params$Resource$Projects$Locations$Catalogs$Userevents$Collect extends StandardParameters { - /** - * The event timestamp in milliseconds. This prevents browser caching of otherwise identical get requests. The name is abbreviated to reduce the payload bytes. - */ - ets?: string; /** * Required. The parent catalog name, such as `projects/1234/locations/global/catalogs/default_catalog`. */ parent?: string; + /** - * The prebuilt rule name that can convert a specific type of raw_json. For example: "ga4_bq" rule for the GA4 user event schema. - */ - prebuiltRule?: string; - /** - * An arbitrary serialized JSON string that contains necessary information that can comprise a user event. When this field is specified, the user_event field will be ignored. Note: line-delimited JSON is not supported, a single JSON only. - */ - rawJson?: string; - /** - * The URL including cgi-parameters but excluding the hash fragment with a length limit of 5,000 characters. This is often more useful than the referer URL, because many browsers only send the domain for 3rd party requests. - */ - uri?: string; - /** - * Required. URL encoded UserEvent proto with a length limit of 2,000,000 characters. + * Request body metadata */ - userEvent?: string; + requestBody?: Schema$GoogleCloudRetailV2alphaCollectUserEventRequest; } export interface Params$Resource$Projects$Locations$Catalogs$Userevents$Export extends StandardParameters { diff --git a/src/apis/retail/v2beta.ts b/src/apis/retail/v2beta.ts index 48db942a66..de319a9075 100644 --- a/src/apis/retail/v2beta.ts +++ b/src/apis/retail/v2beta.ts @@ -1036,7 +1036,7 @@ export namespace retail_v2beta { */ gcsStagingDir?: string | null; /** - * BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. Only supported in ImportProductsRequest. + * BigQuery time partitioned table's _PARTITIONDATE in YYYY-MM-DD format. */ partitionDate?: Schema$GoogleTypeDate; /** @@ -1090,7 +1090,7 @@ export namespace retail_v2beta { */ indexableOption?: string | null; /** - * Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded catalog attributes that are neither in use by products nor predefined can be deleted. Catalog attributes that are either in use by products or are predefined attributes cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update. + * Output only. Indicates whether this attribute has been used by any products. `True` if at least one Product is using this attribute in Product.attributes. Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using CatalogService.AddCatalogAttribute or CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded catalog attributes that are neither in use by products nor predefined can be deleted. Catalog attributes that are either in use by products or are predefined attributes cannot be deleted; however, their configuration properties will reset to default values upon removal request. After catalog changes, it takes about 10 minutes for this field to update. */ inUse?: boolean | null; /** @@ -1191,12 +1191,37 @@ export namespace retail_v2beta { */ rerankFacet?: boolean | null; } + /** + * Request message for CollectUserEvent method. + */ + export interface Schema$GoogleCloudRetailV2betaCollectUserEventRequest { + /** + * The event timestamp in milliseconds. This prevents browser caching of otherwise identical get requests. The name is abbreviated to reduce the payload bytes. + */ + ets?: string | null; + /** + * The prebuilt rule name that can convert a specific type of raw_json. For example: "ga4_bq" rule for the GA4 user event schema. + */ + prebuiltRule?: string | null; + /** + * An arbitrary serialized JSON string that contains necessary information that can comprise a user event. When this field is specified, the user_event field will be ignored. Note: line-delimited JSON is not supported, a single JSON only. + */ + rawJson?: string | null; + /** + * The URL including cgi-parameters but excluding the hash fragment with a length limit of 5,000 characters. This is often more useful than the referer URL, because many browsers only send the domain for 3rd party requests. + */ + uri?: string | null; + /** + * Required. URL encoded UserEvent proto with a length limit of 2,000,000 characters. + */ + userEvent?: string | null; + } /** * The color information of a Product. */ export interface Schema$GoogleCloudRetailV2betaColorInfo { /** - * The standard color families. Strongly recommended to use the following standard color groups: "Red", "Pink", "Orange", "Yellow", "Purple", "Green", "Cyan", "Blue", "Brown", "White", "Gray", "Black" and "Mixed". Normally it is expected to have only 1 color family. May consider using single "Mixed" instead of multiple values. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). + * The standard color families. Strongly recommended to use the following standard color groups: "Red", "Pink", "Orange", "Yellow", "Purple", "Green", "Cyan", "Blue", "Brown", "White", "Gray", "Black" and "Mixed". Normally it is expected to have only 1 color family. May consider using single "Mixed" instead of multiple values. A maximum of 5 values are allowed. Each value must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center property [color](https://support.google.com/merchants/answer/6324487). Schema.org property [Product.color](https://schema.org/color). The colorFamilies field as a system attribute is not a required field but strongly recommended to be specified. Google Search models treat this field as more important than a custom product attribute when specified. */ colorFamilies?: string[] | null; /** @@ -1441,7 +1466,7 @@ export namespace retail_v2beta { text?: string[] | null; } /** - * Metadata for active A/B testing Experiment. + * Metadata for active A/B testing experiment. */ export interface Schema$GoogleCloudRetailV2betaExperimentInfo { /** @@ -1458,7 +1483,7 @@ export namespace retail_v2beta { */ export interface Schema$GoogleCloudRetailV2betaExperimentInfoServingConfigExperiment { /** - * The fully qualified resource name of the serving config Experiment.VariantArm.serving_config_id responsible for generating the search response. For example: `projects/x/locations/x/catalogs/x/servingConfigs/x`. + * The fully qualified resource name of the serving config `Experiment.VariantArm.serving_config_id` responsible for generating the search response. For example: `projects/x/locations/x/catalogs/x/servingConfigs/x`. */ experimentServingConfig?: string | null; /** @@ -1681,7 +1706,7 @@ export namespace retail_v2beta { setTime?: string | null; } /** - * Product image. Recommendations AI and Retail Search do not use product images to improve prediction and search results. However, product images can be returned in results, and are shown in prediction or search previews in the console. + * Product image. Recommendations AI and Retail Search use product images to improve prediction and search results. Product images can be returned in results, and are shown in prediction or search previews in the console. Please try to provide correct product images and avoid using images with size too small. */ export interface Schema$GoogleCloudRetailV2betaImage { /** @@ -1929,21 +1954,25 @@ export namespace retail_v2beta { */ export interface Schema$GoogleCloudRetailV2betaLocalInventory { /** - * Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB. + * Optional. Additional local inventory attributes, for example, store name, promotion tags, etc. This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The key must be a UTF-8 encoded string with a length limit of 32 characters. * The key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or number). * Only 1 value is allowed for each attribute. * For text values, the length limit is 256 UTF-8 characters. * The attribute does not support search. The `searchable` field should be unset or set to false. * The max summed total bytes of custom attribute keys and values per product is 5MiB. */ attributes?: { [key: string]: Schema$GoogleCloudRetailV2betaCustomAttribute; } | null; /** - * Input only. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-day-delivery" * "next-day-delivery" * "custom-type-1" * "custom-type-2" * "custom-type-3" * "custom-type-4" * "custom-type-5" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned. + * Optional. The availability of the Product at this place_id. Default to Availability.IN_STOCK. For primary products with variants set the availability of the primary as Availability.OUT_OF_STOCK and set the true availability at the variant level. This way the primary product will be considered "in stock" as long as it has at least one variant in stock. For primary products with no variants set the true availability at the primary level. Corresponding properties: Google Merchant Center property [availability](https://support.google.com/merchants/answer/6324448). Schema.org property [Offer.availability](https://schema.org/availability). + */ + availability?: string | null; + /** + * Optional. Supported fulfillment types. Valid fulfillment type values include commonly used types (such as pickup in store and same day delivery), and custom types. Customers have to map custom types to their display names before rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-day-delivery" * "next-day-delivery" * "custom-type-1" * "custom-type-2" * "custom-type-3" * "custom-type-4" * "custom-type-5" If this field is set to an invalid value other than these, an INVALID_ARGUMENT error is returned. All the elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned. */ fulfillmentTypes?: string[] | null; /** - * The place ID for the current set of inventory information. + * Required. The place ID for the current set of inventory information. */ placeId?: string | null; /** - * Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). + * Optional. Product price and cost information. Google Merchant Center property [price](https://support.google.com/merchants/answer/6324371). */ priceInfo?: Schema$GoogleCloudRetailV2betaPriceInfo; } @@ -2146,6 +2175,36 @@ export namespace retail_v2beta { * Request for pausing training of a model. */ export interface Schema$GoogleCloudRetailV2betaPauseModelRequest {} + /** + * Metadata for pinning to be returned in the response. This is used for distinguishing between applied vs dropped pins. + */ + export interface Schema$GoogleCloudRetailV2betaPinControlMetadata { + /** + * Map of all matched pins, keyed by pin position. + */ + allMatchedPins?: { + [ + key: string + ]: Schema$GoogleCloudRetailV2betaPinControlMetadataProductPins; + } | null; + /** + * Map of pins that were dropped due to overlap with other matching pins, keyed by pin position. + */ + droppedPins?: { + [ + key: string + ]: Schema$GoogleCloudRetailV2betaPinControlMetadataProductPins; + } | null; + } + /** + * List of product ids which have associated pins. + */ + export interface Schema$GoogleCloudRetailV2betaPinControlMetadataProductPins { + /** + * List of product ids which have associated pins. + */ + productId?: string[] | null; + } /** * Request message for Predict method. */ @@ -2370,7 +2429,7 @@ export namespace retail_v2beta { */ rating?: Schema$GoogleCloudRetailV2betaRating; /** - * Indicates which fields in the Products are returned in SearchResponse. Supported fields for all types: * audience * availability * brands * color_info * conditions * gtin * materials * name * patterns * price_info * rating * sizes * title * uri Supported fields only for Type.PRIMARY and Type.COLLECTION: * categories * description * images Supported fields only for Type.VARIANT: * Only the first image in images To mark attributes as retrievable, include paths of the form "attributes.key" where "key" is the key of a custom attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION, the following fields are always returned in SearchResponse by default: * name For Type.VARIANT, the following fields are always returned in by default: * name * color_info The maximum number of paths is 30. Otherwise, an INVALID_ARGUMENT error is returned. Note: Returning more fields in SearchResponse can increase response payload size and serving latency. This field is deprecated. Use the retrievable site-wide control instead. + * Indicates which fields in the Products are returned in SearchResponse. Supported fields for all types: * audience * availability * brands * color_info * conditions * gtin * materials * name * patterns * price_info * rating * sizes * title * uri Supported fields only for Type.PRIMARY and Type.COLLECTION: * categories * description * images Supported fields only for Type.VARIANT: * Only the first image in images To mark attributes as retrievable, include paths of the form "attributes.key" where "key" is the key of a custom attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION, the following fields are always returned in SearchResponse by default: * name For Type.VARIANT, the following fields are always returned in by default: * name * color_info Note: Returning more fields in SearchResponse can increase response payload size and serving latency. This field is deprecated. Use the retrievable site-wide control instead. */ retrievableFields?: string | null; /** @@ -2747,6 +2806,10 @@ export namespace retail_v2beta { * Treats specific term as a synonym with a group of terms. Group of terms will not be treated as synonyms with the specific term. */ onewaySynonymsAction?: Schema$GoogleCloudRetailV2betaRuleOnewaySynonymsAction; + /** + * Pins one or more specified products to a specific position in the results. + */ + pinAction?: Schema$GoogleCloudRetailV2betaRulePinAction; /** * Redirects a shopper to a specific page. */ @@ -2851,6 +2914,15 @@ export namespace retail_v2beta { */ synonyms?: string[] | null; } + /** + * Pins one or more specified products to a specific position in the results. * Rule Condition: Must specify non-empty Condition.query_terms (for search only) or Condition.page_categories (for browse only), but can't specify both. * Action Input: mapping of `[pin_position, product_id]` pairs (pin position uses 1-based indexing). * Action Result: Will pin products with matching ids to the position specified in the final result order. Example: Suppose the query is `shoes`, the Condition.query_terms is `shoes` and the pin_map has `{1, "pid1"\}`, then product with `pid1` will be pinned to the top position in the final results. If multiple PinActions are matched to a single request the actions will be processed from most to least recently updated. Pins to positions larger than the max allowed page size of 120 are not allowed. + */ + export interface Schema$GoogleCloudRetailV2betaRulePinAction { + /** + * Required. A map of positions to product_ids. Partial matches per action are allowed, if a certain position in the map is already filled that `[position, product_id]` pair will be ignored but the rest may still be applied. This case will only occur if multiple pin actions are matched to a single request, as the map guarantees that pin positions are unique within the same action. Duplicate product_ids are not permitted within a single pin map. The max size of this map is 120, equivalent to the max [request page size](https://cloud.google.com/retail/docs/reference/rest/v2/projects.locations.catalogs.placements/search#request-body). + */ + pinMap?: {[key: string]: string} | null; + } /** * Redirects a shopper to a specific page. * Rule Condition: Must specify Condition.query_terms. * Action Input: Request Query * Action Result: Redirects shopper to provided uri. */ @@ -3197,7 +3269,7 @@ export namespace retail_v2beta { */ correctedQuery?: string | null; /** - * Metadata related to A/B testing Experiment associated with this response. Only exists when an experiment is triggered. + * Metadata related to A/B testing experiment associated with this response. Only exists when an experiment is triggered. */ experimentInfo?: Schema$GoogleCloudRetailV2betaExperimentInfo[]; /** @@ -3212,6 +3284,10 @@ export namespace retail_v2beta { * A token that can be sent as SearchRequest.page_token to retrieve the next page. If this field is omitted, there are no subsequent pages. */ nextPageToken?: string | null; + /** + * Metadata for pin controls which were applicable to the request. This contains two map fields, one for all matched pins and one for pins which were matched but not applied. The two maps are keyed by pin position, and the values are the product ids which were matched to that pin. + */ + pinControlMetadata?: Schema$GoogleCloudRetailV2betaPinControlMetadata; /** * Query expansion information for the returned results. */ @@ -3694,7 +3770,7 @@ export namespace retail_v2beta { */ ipAddress?: string | null; /** - * User agent as included in the HTTP header. Required for getting SearchResponse.sponsored_results. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request is set. + * User agent as included in the HTTP header. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request is set. */ userAgent?: string | null; /** @@ -11052,7 +11128,7 @@ export namespace retail_v2beta { } /** - * Writes a single user event from the browser. This uses a GET request to due to browser restriction of POST-ing to a 3rd party domain. This method is used only by the Retail API JavaScript pixel and Google Tag Manager. Users should not call this method directly. + * Writes a single user event from the browser. For larger user event payload over 16 KB, the POST method should be used instead, otherwise a 400 Bad Request error is returned. This method is used only by the Retail API JavaScript pixel and Google Tag Manager. Users should not call this method directly. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -11123,7 +11199,7 @@ export namespace retail_v2beta { /([^:]\/)\/+/g, '$1' ), - method: 'GET', + method: 'POST', apiVersion: '', }, options @@ -11628,30 +11704,15 @@ export namespace retail_v2beta { export interface Params$Resource$Projects$Locations$Catalogs$Userevents$Collect extends StandardParameters { - /** - * The event timestamp in milliseconds. This prevents browser caching of otherwise identical get requests. The name is abbreviated to reduce the payload bytes. - */ - ets?: string; /** * Required. The parent catalog name, such as `projects/1234/locations/global/catalogs/default_catalog`. */ parent?: string; + /** - * The prebuilt rule name that can convert a specific type of raw_json. For example: "ga4_bq" rule for the GA4 user event schema. - */ - prebuiltRule?: string; - /** - * An arbitrary serialized JSON string that contains necessary information that can comprise a user event. When this field is specified, the user_event field will be ignored. Note: line-delimited JSON is not supported, a single JSON only. - */ - rawJson?: string; - /** - * The URL including cgi-parameters but excluding the hash fragment with a length limit of 5,000 characters. This is often more useful than the referer URL, because many browsers only send the domain for 3rd party requests. - */ - uri?: string; - /** - * Required. URL encoded UserEvent proto with a length limit of 2,000,000 characters. + * Request body metadata */ - userEvent?: string; + requestBody?: Schema$GoogleCloudRetailV2betaCollectUserEventRequest; } export interface Params$Resource$Projects$Locations$Catalogs$Userevents$Export extends StandardParameters { diff --git a/src/apis/run/v1.ts b/src/apis/run/v1.ts index be81ae4407..8c564cd215 100644 --- a/src/apis/run/v1.ts +++ b/src/apis/run/v1.ts @@ -2111,7 +2111,7 @@ export namespace run_v1 { */ export interface Schema$ObjectMeta { /** - * Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with 'run.googleapis.com/' and 'autoscaling.knative.dev' are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service. * `run.googleapis.com/build-id`: Service. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/ingress`: Service. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution. * `run.googleapis.com/vpc-access-egress`: Revision, Execution. + * Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with 'run.googleapis.com/' and 'autoscaling.knative.dev' are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service. * `run.googleapis.com/build-id`: Service. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution. * `run.googleapis.com/vpc-access-egress`: Revision, Execution. */ annotations?: {[key: string]: string} | null; /** @@ -2406,7 +2406,7 @@ export namespace run_v1 { */ export interface Schema$RevisionTemplate { /** - * Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`. + * Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/health-check-disabled`: if true, deploy-time startup probes will not run for this revision. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`. */ metadata?: Schema$ObjectMeta; /** diff --git a/src/apis/run/v2.ts b/src/apis/run/v2.ts index 678d4b8b65..7bd79946f4 100644 --- a/src/apis/run/v2.ts +++ b/src/apis/run/v2.ts @@ -133,7 +133,7 @@ export namespace run_v2 { */ breakglassJustification?: string | null; /** - * Optional. The path to a binary authorization policy. Format: projects/{project\}/platforms/cloudRun/{policy-name\} + * Optional. The path to a binary authorization policy. Format: `projects/{project\}/platforms/cloudRun/{policy-name\}` */ policy?: string | null; /** @@ -165,6 +165,10 @@ export namespace run_v2 { * Optional. Name of the function target if the source is a function source. Required for function builds. */ functionTarget?: string | null; + /** + * Optional. project_descriptor stores the path to the project descriptor file. When empty, it means that there is no project descriptor file in the source. + */ + projectDescriptor?: string | null; /** * The runtime name, e.g. 'go113'. Leave blank for generic builds. */ @@ -565,6 +569,10 @@ export namespace run_v2 { * Cloud Storage Bucket name. */ bucket?: string | null; + /** + * A list of additional flags to pass to the gcsfuse CLI. Options should be specified without the leading "--". + */ + mountOptions?: string[] | null; /** * If true, the volume will be mounted as read only for all mounts. */ @@ -1098,6 +1106,14 @@ export namespace run_v2 { * A reference to a customer managed encryption key (CMEK) to use to encrypt this container image. For more information, go to https://cloud.google.com/run/docs/securing/using-cmek */ encryptionKey?: string | null; + /** + * Optional. The action to take if the encryption key is revoked. + */ + encryptionKeyRevocationAction?: string | null; + /** + * Optional. If encryption_key_revocation_action is SHUTDOWN, the duration before shutting down all instances. The minimum increment is 1 hour. + */ + encryptionKeyShutdownDuration?: string | null; /** * Optional. The sandbox environment to host this Revision. */ @@ -1111,7 +1127,7 @@ export namespace run_v2 { */ labels?: {[key: string]: string} | null; /** - * Optional. Sets the maximum number of requests that each serving instance can receive. If not specified or 0, defaults to 80 when requested CPU \>= 1 and defaults to 1 when requested CPU < 1. + * Optional. Sets the maximum number of requests that each serving instance can receive. If not specified or 0, concurrency defaults to 80 when requested `CPU \>= 1` and defaults to 1 when requested `CPU < 1`. */ maxInstanceRequestConcurrency?: number | null; /** @@ -1186,7 +1202,7 @@ export namespace run_v2 { */ export interface Schema$GoogleCloudRunV2SecretVolumeSource { /** - * Integer representation of mode bits to use on created files by default. Must be a value between 0000 and 0777 (octal), defaulting to 0444. Directories within the path are not affected by this setting. Notes * Internally, a umask of 0222 will be applied to any non-zero value. * This is an integer representation of the mode bits. So, the octal integer value should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod 777 (a=rwx), set to 0777 (octal) or 511 (base-10). For chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 (base-10). * This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. This might be in conflict with other options that affect the file mode, like fsGroup, and as a result, other mode bits could be set. + * Integer representation of mode bits to use on created files by default. Must be a value between 0000 and 0777 (octal), defaulting to 0444. Directories within the path are not affected by this setting. Notes * Internally, a umask of 0222 will be applied to any non-zero value. * This is an integer representation of the mode bits. So, the octal integer value should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 (base-10). * This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. This might be in conflict with other options that affect the file mode, like fsGroup, and as a result, other mode bits could be set. */ defaultMode?: number | null; /** @@ -1263,7 +1279,7 @@ export namespace run_v2 { */ ingress?: string | null; /** - * Optional. Disables IAM permission check for run.routes.invoke for callers of this service. This setting should not be used with external ingress. + * Optional. Disables IAM permission check for run.routes.invoke for callers of this service. This feature is available by invitation only. For more information, visit https://cloud.google.com/run/docs/securing/managing-access#invoker_check. */ invokerIamDisabled?: boolean | null; /** @@ -1344,7 +1360,7 @@ export namespace run_v2 { */ export interface Schema$GoogleCloudRunV2ServiceMesh { /** - * The Mesh resource name. Format: projects/{project\}/locations/global/meshes/{mesh\}, where {project\} can be project id or number. + * The Mesh resource name. Format: `projects/{project\}/locations/global/meshes/{mesh\}`, where `{project\}` can be project id or number. */ mesh?: string | null; } @@ -1352,6 +1368,14 @@ export namespace run_v2 { * Scaling settings applied at the service level rather than at the revision level. */ export interface Schema$GoogleCloudRunV2ServiceScaling { + /** + * Optional. total instance count for the service in manual scaling mode. This number of instances is divided among all revisions with specified traffic based on the percent of traffic they are receiving. + */ + manualInstanceCount?: number | null; + /** + * Optional. total max instances for the service. This number of instances is divided among all revisions with specified traffic based on the percent of traffic they are receiving. + */ + maxInstanceCount?: number | null; /** * Optional. total min instances for the service. This number of instances is divided among all revisions with specified traffic based on the percent of traffic they are receiving. */ @@ -1407,7 +1431,7 @@ export namespace run_v2 { */ tags?: string[] | null; /** - * Optional. Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project\}/locations/{region\}/workerPools/{workerPool\}` where {project\} and {region\} are the project id and region respectively where the worker pool is defined and {workerPool\} is the short name of the worker pool. + * Optional. Name of the Cloud Build Custom Worker Pool that should be used to build the function. The format of this field is `projects/{project\}/locations/{region\}/workerPools/{workerPool\}` where `{project\}` and `{region\}` are the project id and region respectively where the worker pool is defined and `{workerPool\}` is the short name of the worker pool. */ workerPool?: string | null; } @@ -1667,7 +1691,7 @@ export namespace run_v2 { */ export interface Schema$GoogleCloudRunV2VersionToPath { /** - * Integer octal mode bits to use on this file, must be a value between 01 and 0777 (octal). If 0 or not set, the Volume's default mode will be used. Notes * Internally, a umask of 0222 will be applied to any non-zero value. * This is an integer representation of the mode bits. So, the octal integer value should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod 777 (a=rwx), set to 0777 (octal) or 511 (base-10). For chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 (base-10). * This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. + * Integer octal mode bits to use on this file, must be a value between 01 and 0777 (octal). If 0 or not set, the Volume's default mode will be used. Notes * Internally, a umask of 0222 will be applied to any non-zero value. * This is an integer representation of the mode bits. So, the octal integer value should look exactly as the chmod numeric notation with a leading zero. Some examples: for chmod 640 (u=rw,g=r), set to 0640 (octal) or 416 (base-10). For chmod 755 (u=rwx,g=rx,o=rx), set to 0755 (octal) or 493 (base-10). * This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set. */ mode?: number | null; /** @@ -1726,7 +1750,7 @@ export namespace run_v2 { */ export interface Schema$GoogleCloudRunV2VpcAccess { /** - * VPC Access connector name. Format: projects/{project\}/locations/{location\}/connectors/{connector\}, where {project\} can be project id or number. For more information on sending traffic to a VPC network via a connector, visit https://cloud.google.com/run/docs/configuring/vpc-connectors. + * VPC Access connector name. Format: `projects/{project\}/locations/{location\}/connectors/{connector\}`, where `{project\}` can be project id or number. For more information on sending traffic to a VPC network via a connector, visit https://cloud.google.com/run/docs/configuring/vpc-connectors. */ connector?: string | null; /** @@ -2807,11 +2831,11 @@ export namespace run_v2 { */ code?: number | null; /** - * Detail message + * Detail message copybara:strip_begin(b/383363683) copybara:strip_end_and_replace optional string message = 3; */ message?: string | null; /** - * message_set associates an arbitrary proto message with the status. + * message_set associates an arbitrary proto message with the status. copybara:strip_begin(b/383363683) copybara:strip_end_and_replace optional proto2.bridge.MessageSet message_set = 5; */ messageSet?: Schema$Proto2BridgeMessageSet; /** @@ -3369,7 +3393,7 @@ export namespace run_v2 { export interface Params$Resource$Projects$Locations$Builds$Submit extends StandardParameters { /** - * Required. The project and location to build in. Location must be a region, e.g., 'us-central1' or 'global' if the global builder is to be used. Format: projects/{project\}/locations/{location\} + * Required. The project and location to build in. Location must be a region, e.g., 'us-central1' or 'global' if the global builder is to be used. Format: `projects/{project\}/locations/{location\}` */ parent?: string; diff --git a/src/apis/runtimeconfig/v1.ts b/src/apis/runtimeconfig/v1.ts index 997daeb010..3867cfc73d 100644 --- a/src/apis/runtimeconfig/v1.ts +++ b/src/apis/runtimeconfig/v1.ts @@ -195,7 +195,7 @@ export namespace runtimeconfig_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/searchads360/v0.ts b/src/apis/searchads360/v0.ts index 491f98dc4e..9c079ed695 100644 --- a/src/apis/searchads360/v0.ts +++ b/src/apis/searchads360/v0.ts @@ -2204,6 +2204,10 @@ export namespace searchads360_v0 { * Output only. The timestamp when this ad_group_ad was created. The datetime is in the customer's time zone and in "yyyy-MM-dd HH:mm:ss.ssssss" format. */ creationTime?: string | null; + /** + * Output only. The resource names of effective labels attached to this ad. An effective label is a label inherited or directly assigned to this ad. + */ + effectiveLabels?: string[] | null; /** * Output only. ID of the ad in the external engine account. This field is for Search Ads 360 account only, for example, Yahoo Japan, Microsoft, Baidu etc. For non-Search Ads 360 entity, use "ad_group_ad.ad.id" instead. */ @@ -2229,6 +2233,27 @@ export namespace searchads360_v0 { */ status?: string | null; } + /** + * A relationship between an ad group ad and an effective label. An effective label is a label inherited or directly assigned to this ad group ad. + */ + export interface Schema$GoogleAdsSearchads360V0Resources__AdGroupAdEffectiveLabel { + /** + * Immutable. The ad group ad to which the effective label is attached. + */ + adGroupAd?: string | null; + /** + * Immutable. The effective label assigned to the ad group ad. + */ + label?: string | null; + /** + * Output only. The ID of the Customer which owns the effective label. + */ + ownerCustomerId?: string | null; + /** + * Immutable. The resource name of the ad group ad effective label. Ad group ad effective label resource names have the form: `customers/{customer_id\}/adGroupAdEffectiveLabels/{ad_group_id\}~{ad_id\}~{label_id\}` + */ + resourceName?: string | null; + } /** * A relationship between an ad group ad and a label. */ @@ -2350,6 +2375,10 @@ export namespace searchads360_v0 { * Output only. The effective CPC (cost-per-click) bid. */ effectiveCpcBidMicros?: string | null; + /** + * Output only. The resource names of effective labels attached to this ad group criterion. An effective label is a label inherited or directly assigned to this ad group criterion. + */ + effectiveLabels?: string[] | null; /** * Output only. ID of the ad group criterion in the external engine account. This field is for non-Google Ads account only, for example, Yahoo Japan, Microsoft, Baidu etc. For Google Ads entity, use "ad_group_criterion.criterion_id" instead. */ @@ -2427,6 +2456,27 @@ export namespace searchads360_v0 { */ webpage?: Schema$GoogleAdsSearchads360V0Common__WebpageInfo; } + /** + * A relationship between an ad group criterion and an effective label. An effective label is a label inherited or directly assigned to this ad group criterion. + */ + export interface Schema$GoogleAdsSearchads360V0Resources__AdGroupCriterionEffectiveLabel { + /** + * Immutable. The ad group criterion to which the effective label is attached. + */ + adGroupCriterion?: string | null; + /** + * Immutable. The effective label assigned to the ad group criterion. + */ + label?: string | null; + /** + * Output only. The ID of the Customer which owns the effective label. + */ + ownerCustomerId?: string | null; + /** + * Immutable. The resource name of the ad group criterion effective label. Ad group criterion effective label resource names have the form: `customers/{customer_id\}/adGroupCriterionEffectiveLabels/{ad_group_id\}~{criterion_id\}~{label_id\}` + */ + resourceName?: string | null; + } /** * A relationship between an ad group criterion and a label. */ @@ -4048,6 +4098,23 @@ export namespace searchads360_v0 { */ type?: string | null; } + /** + * A user location view. User Location View includes all metrics aggregated at the country level, one row per country. It reports metrics at the actual physical location of the user by targeted or not targeted location. If other segment fields are used, you may get more than one row per country. + */ + export interface Schema$GoogleAdsSearchads360V0Resources__UserLocationView { + /** + * Output only. Criterion Id for the country. + */ + countryCriterionId?: string | null; + /** + * Output only. The resource name of the user location view. UserLocation view resource names have the form: `customers/{customer_id\}/userLocationViews/{country_criterion_id\}~{targeting_location\}` + */ + resourceName?: string | null; + /** + * Output only. Indicates whether location was targeted or not. + */ + targetingLocation?: boolean | null; + } /** * A visit. */ @@ -4221,6 +4288,10 @@ export namespace searchads360_v0 { * The ad referenced in the query. */ adGroupAd?: Schema$GoogleAdsSearchads360V0Resources__AdGroupAd; + /** + * The ad group ad effective label referenced in the query. + */ + adGroupAdEffectiveLabel?: Schema$GoogleAdsSearchads360V0Resources__AdGroupAdEffectiveLabel; /** * The ad group ad label referenced in the query. */ @@ -4245,6 +4316,10 @@ export namespace searchads360_v0 { * The criterion referenced in the query. */ adGroupCriterion?: Schema$GoogleAdsSearchads360V0Resources__AdGroupCriterion; + /** + * The ad group criterion effective label referenced in the query. + */ + adGroupCriterionEffectiveLabel?: Schema$GoogleAdsSearchads360V0Resources__AdGroupCriterionEffectiveLabel; /** * The ad group criterion label referenced in the query. */ @@ -4425,6 +4500,10 @@ export namespace searchads360_v0 { * The user list referenced in the query. */ userList?: Schema$GoogleAdsSearchads360V0Resources__UserList; + /** + * The user location view referenced in the query. + */ + userLocationView?: Schema$GoogleAdsSearchads360V0Resources__UserLocationView; /** * The event level visit referenced in the query. */ diff --git a/src/apis/secretmanager/v1.ts b/src/apis/secretmanager/v1.ts index 8e2d1a61d4..7d8e70397b 100644 --- a/src/apis/secretmanager/v1.ts +++ b/src/apis/secretmanager/v1.ts @@ -587,7 +587,7 @@ export namespace secretmanager_v1 { name?: string | null; } /** - * A replication policy that replicates the Secret payload into the locations specified in Secret.replication.user_managed.replicas + * A replication policy that replicates the Secret payload into the locations specified in Replication.UserManaged.replicas */ export interface Schema$UserManaged { /** diff --git a/src/apis/secretmanager/v1beta1.ts b/src/apis/secretmanager/v1beta1.ts index 76a7afd127..5f793b7b1b 100644 --- a/src/apis/secretmanager/v1beta1.ts +++ b/src/apis/secretmanager/v1beta1.ts @@ -428,7 +428,7 @@ export namespace secretmanager_v1beta1 { permissions?: string[] | null; } /** - * A replication policy that replicates the Secret payload into the locations specified in Secret.replication.user_managed.replicas + * A replication policy that replicates the Secret payload into the locations specified in Replication.UserManaged.replicas */ export interface Schema$UserManaged { /** diff --git a/src/apis/secretmanager/v1beta2.ts b/src/apis/secretmanager/v1beta2.ts index 5bf24c2929..7b7a0c672f 100644 --- a/src/apis/secretmanager/v1beta2.ts +++ b/src/apis/secretmanager/v1beta2.ts @@ -587,7 +587,7 @@ export namespace secretmanager_v1beta2 { name?: string | null; } /** - * A replication policy that replicates the Secret payload into the locations specified in Secret.replication.user_managed.replicas + * A replication policy that replicates the Secret payload into the locations specified in Replication.UserManaged.replicas */ export interface Schema$UserManaged { /** diff --git a/src/apis/securitycenter/v1.ts b/src/apis/securitycenter/v1.ts index e34b631c49..98a6f9e132 100644 --- a/src/apis/securitycenter/v1.ts +++ b/src/apis/securitycenter/v1.ts @@ -295,13 +295,21 @@ export namespace securitycenter_v1 { */ classification?: string | null; /** - * Total BPS (bytes per second) volume of attack. + * Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead. */ volumeBps?: number | null; /** - * Total PPS (packets per second) volume of attack. + * Total BPS (bytes per second) volume of attack. + */ + volumeBpsLong?: string | null; + /** + * Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead. */ volumePps?: number | null; + /** + * Total PPS (packets per second) volume of attack. + */ + volumePpsLong?: string | null; } /** * An attack exposure contains the results of an attack path simulation run. @@ -668,15 +676,6 @@ export namespace securitycenter_v1 { */ muteState?: string | null; } - /** - * YAML-based rule that uses CEL, which supports the declaration of variables and a filtering predicate. A vulnerable resource is emitted if the evaluation is false. Given: 1) the resource types as: - resource_types: "compute.googleapis.com/Instance" - resource_types: "compute.googleapis.com/Firewall" 2) the CEL policy spec as: name: bad_instance resource_filters: - name: instance resource_type: compute.googleapis.com/Instance filter: \> instance.status == 'RUNNING' && 'public' in instance.tags.items - name: firewall resource_type: compute.googleapis.com/Firewall filter: \> firewall.direction == 'INGRESS' && !firewall.disabled && firewall.allowed.exists(rule, rule.IPProtocol.upperAscii() in ['TCP', 'ALL'] && rule.ports.exists(port, network.portsInRange(port, '11-256'))) rule: match: - predicate: \> instance.networkInterfaces.exists(net, firewall.network == net.network) output: \> {'message': 'Compute instance with publicly accessible ports', 'instance': instance.name\} Users are able to join resource types together using the exact format as Kubernetes Validating Admission policies. - */ - export interface Schema$CelPolicySpec { - /** - * The CEL policy to evaluate to produce findings. A finding is generated when the policy validation evaluates to false. - */ - spec?: string | null; - } /** * Fields related to Google Cloud Armor findings. */ @@ -1084,6 +1083,27 @@ export namespace securitycenter_v1 { */ violatedLocation?: string | null; } + /** + * Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments. + */ + export interface Schema$DataRetentionDeletionEvent { + /** + * Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000. + */ + dataObjectCount?: string | null; + /** + * Timestamp indicating when the event was detected. + */ + eventDetectionTime?: string | null; + /** + * Type of the DRD event. + */ + eventType?: string | null; + /** + * Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user set the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days. + */ + maxRetentionAllowed?: string | null; + } /** * Memory hash detection contributing to the binary family match. */ @@ -1097,6 +1117,15 @@ export namespace securitycenter_v1 { */ percentPagesMatched?: number | null; } + /** + * Contains information about the disk associated with the finding. + */ + export interface Schema$Disk { + /** + * The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/project-id/zones/zone-id/disks/disk-id". + */ + name?: string | null; + } /** * Path of the file in terms of underlying disk/partition identifiers. */ @@ -1127,6 +1156,10 @@ export namespace securitycenter_v1 { * An EffectiveEventThreatDetectionCustomModule is the representation of an Event Threat Detection custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablement_state` property in EffectiveEventThreatDetectionCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective `enablement_state` for the module in all child folders or projects is also `enabled`. EffectiveEventThreatDetectionCustomModule is read-only. */ export interface Schema$EffectiveEventThreatDetectionCustomModule { + /** + * The cloud provider of the custom module. + */ + cloudProvider?: string | null; /** * Output only. Config for the effective module. */ @@ -1177,6 +1210,10 @@ export namespace securitycenter_v1 { * Output only. The closest ancestor module that this module inherits the enablement state from. The format is the same as the EventThreatDetectionCustomModule resource name. */ ancestorModule?: string | null; + /** + * The cloud provider of the custom module. + */ + cloudProvider?: string | null; /** * Config for the module. For the resident module, its config value is defined at this level. For the inherited module, its config value is inherited from the ancestor module. */ @@ -1366,10 +1403,18 @@ export namespace securitycenter_v1 { * Data flow events associated with the finding. */ dataFlowEvents?: Schema$DataFlowEvent[]; + /** + * Data retention deletion events associated with the finding. + */ + dataRetentionDeletionEvents?: Schema$DataRetentionDeletionEvent[]; /** * Contains more details about the finding. */ description?: string | null; + /** + * Disk associated with the finding. + */ + disk?: Schema$Disk; /** * The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp. */ @@ -1657,10 +1702,6 @@ export namespace securitycenter_v1 { * Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. */ export interface Schema$GoogleCloudSecuritycenterV1CustomConfig { - /** - * The CEL policy spec attached to the custom module. - */ - celPolicy?: Schema$CelPolicySpec; /** * Custom output properties. */ @@ -1699,6 +1740,10 @@ export namespace securitycenter_v1 { * An EffectiveSecurityHealthAnalyticsCustomModule is the representation of a Security Health Analytics custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablementState` property in EffectiveSecurityHealthAnalyticsCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective enablement_state for the module in all child folders or projects is also `enabled`. EffectiveSecurityHealthAnalyticsCustomModule is read-only. */ export interface Schema$GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule { + /** + * The cloud provider of the custom module. + */ + cloudProvider?: string | null; /** * Output only. The user-specified configuration for the module. */ @@ -2097,7 +2142,7 @@ export namespace securitycenter_v1 { */ sensitiveDataProtectionMapping?: Schema$GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping; /** - * Required. Tag values combined with `AND` to check against. Values in the form "tagValues/123" Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing + * Required. Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of "tagValues/123". Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing */ tagValues?: string[] | null; /** @@ -2126,6 +2171,10 @@ export namespace securitycenter_v1 { * Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited. */ ancestorModule?: string | null; + /** + * The cloud provider of the custom module. + */ + cloudProvider?: string | null; /** * The user specified custom configuration for the module. */ @@ -2277,13 +2326,21 @@ export namespace securitycenter_v1 { */ classification?: string | null; /** - * Total BPS (bytes per second) volume of attack. + * Total BPS (bytes per second) volume of attack. Deprecated - refer to volume_bps_long instead. */ volumeBps?: number | null; /** - * Total PPS (packets per second) volume of attack. + * Total BPS (bytes per second) volume of attack. + */ + volumeBpsLong?: string | null; + /** + * Total PPS (packets per second) volume of attack. Deprecated - refer to volume_pps_long instead. */ volumePps?: number | null; + /** + * Total PPS (packets per second) volume of attack. + */ + volumePpsLong?: string | null; } /** * An attack exposure contains the results of an attack path simulation run. @@ -2880,6 +2937,27 @@ export namespace securitycenter_v1 { */ violatedLocation?: string | null; } + /** + * Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments. + */ + export interface Schema$GoogleCloudSecuritycenterV2DataRetentionDeletionEvent { + /** + * Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000. + */ + dataObjectCount?: string | null; + /** + * Timestamp indicating when the event was detected. + */ + eventDetectionTime?: string | null; + /** + * Type of the DRD event. + */ + eventType?: string | null; + /** + * Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user set the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days. + */ + maxRetentionAllowed?: string | null; + } /** * Memory hash detection contributing to the binary family match. */ @@ -2893,6 +2971,15 @@ export namespace securitycenter_v1 { */ percentPagesMatched?: number | null; } + /** + * Contains information about the disk associated with the finding. + */ + export interface Schema$GoogleCloudSecuritycenterV2Disk { + /** + * The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/project-id/zones/zone-id/disks/disk-id". + */ + name?: string | null; + } /** * Path of the file in terms of underlying disk/partition identifiers. */ @@ -3118,10 +3205,18 @@ export namespace securitycenter_v1 { * Data flow events associated with the finding. */ dataFlowEvents?: Schema$GoogleCloudSecuritycenterV2DataFlowEvent[]; + /** + * Data retention deletion events associated with the finding. + */ + dataRetentionDeletionEvents?: Schema$GoogleCloudSecuritycenterV2DataRetentionDeletionEvent[]; /** * Contains more details about the finding. */ description?: string | null; + /** + * Disk associated with the finding. + */ + disk?: Schema$GoogleCloudSecuritycenterV2Disk; /** * The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp. */ @@ -3334,6 +3429,269 @@ export namespace securitycenter_v1 { */ uris?: string[] | null; } + /** + * Security Command Center Issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2Issue { + /** + * Output only. The time the issue was created. + */ + createTime?: string | null; + /** + * The description of the issue in Markdown format. + */ + description?: string | null; + /** + * The finding category or rule name that generated the issue. + */ + detection?: string | null; + /** + * The domains of the issue. + */ + domains?: Schema$GoogleCloudSecuritycenterV2IssueDomain[]; + /** + * The exposure score of the issue. + */ + exposureScore?: number | null; + /** + * The type of the issue. + */ + issueType?: string | null; + /** + * The time the issue was last observed. + */ + lastObservationTime?: string | null; + /** + * The mute information of the issue. + */ + mute?: Schema$GoogleCloudSecuritycenterV2IssueMute; + /** + * Identifier. The name of the issue. Format: organizations/{organization\}/locations/{location\}/issues/{issue\} + */ + name?: string | null; + /** + * The primary resource associated with the issue. + */ + primaryResource?: Schema$GoogleCloudSecuritycenterV2IssueResource; + /** + * The findings related to the issue. + */ + relatedFindings?: Schema$GoogleCloudSecuritycenterV2IssueFinding[]; + /** + * Approaches to remediate the issue in Markdown format. + */ + remediations?: string[] | null; + /** + * Additional resources associated with the issue. + */ + secondaryResources?: Schema$GoogleCloudSecuritycenterV2IssueResource[]; + /** + * The security context of the issue. + */ + securityContexts?: Schema$GoogleCloudSecuritycenterV2IssueSecurityContext[]; + /** + * The severity of the issue. + */ + severity?: string | null; + /** + * Output only. The state of the issue. + */ + state?: string | null; + /** + * Output only. The time the issue was last updated. + */ + updateTime?: string | null; + } + /** + * The domains of an issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueDomain { + /** + * The domain category of the issue. + */ + domainCategory?: string | null; + } + /** + * Finding related to an issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueFinding { + /** + * The CVE of the finding. + */ + cve?: Schema$GoogleCloudSecuritycenterV2IssueFindingCve; + /** + * The name of the finding. + */ + name?: string | null; + /** + * The security bulletin of the finding. + */ + securityBulletin?: Schema$GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin; + } + /** + * The CVE of the finding. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueFindingCve { + /** + * The CVE name. + */ + name?: string | null; + } + /** + * The security bulletin of the finding. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin { + /** + * The security bulletin name. + */ + name?: string | null; + } + /** + * The mute information of the issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueMute { + /** + * The email address of the user who last changed the mute state of the issue. + */ + muteInitiator?: string | null; + /** + * The user-provided reason for muting the issue. + */ + muteReason?: string | null; + /** + * Output only. The mute state of the issue. + */ + muteState?: string | null; + /** + * The time the issue was muted. + */ + muteUpdateTime?: string | null; + } + /** + * A resource associated with the an issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueResource { + /** + * The AWS metadata of the resource associated with the issue. Only populated for AWS resources. + */ + awsMetadata?: Schema$GoogleCloudSecuritycenterV2IssueResourceAwsMetadata; + /** + * The Azure metadata of the resource associated with the issue. Only populated for Azure resources. + */ + azureMetadata?: Schema$GoogleCloudSecuritycenterV2IssueResourceAzureMetadata; + /** + * The cloud provider of the resource associated with the issue. + */ + cloudProvider?: string | null; + /** + * The resource-type specific display name of the resource associated with the issue. + */ + displayName?: string | null; + /** + * The Google Cloud metadata of the resource associated with the issue. Only populated for Google Cloud resources. + */ + googleCloudMetadata?: Schema$GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata; + /** + * The full resource name of the resource associated with the issue. + */ + name?: string | null; + /** + * The type of the resource associated with the issue. + */ + type?: string | null; + } + /** + * The AWS metadata of a resource associated with an issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAwsMetadata { + /** + * The AWS account of the resource associated with the issue. + */ + account?: Schema$GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount; + } + /** + * The AWS account of the resource associated with the issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount { + /** + * The AWS account ID of the resource associated with the issue. + */ + id?: string | null; + /** + * The AWS account name of the resource associated with the issue. + */ + name?: string | null; + } + /** + * The Azure metadata of a resource associated with an issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAzureMetadata { + /** + * The Azure subscription of the resource associated with the issue. + */ + subscription?: Schema$GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription; + } + /** + * The Azure subscription of the resource associated with the issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription { + /** + * The Azure subscription display name of the resource associated with the issue. + */ + displayName?: string | null; + /** + * The Azure subscription ID of the resource associated with the issue. + */ + id?: string | null; + } + /** + * Google Cloud metadata of a resource associated with an issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata { + /** + * The project ID that the resource associated with the issue belongs to. + */ + projectId?: string | null; + } + /** + * Security context associated with an issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueSecurityContext { + /** + * The aggregated count of the security context. + */ + aggregatedCount?: Schema$GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount; + /** + * The context of the security context. + */ + context?: Schema$GoogleCloudSecuritycenterV2IssueSecurityContextContext; + } + /** + * Aggregated count of a security context. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount { + /** + * Aggregation key. + */ + key?: string | null; + /** + * Aggregation value. + */ + value?: number | null; + } + /** + * Context of a security context. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueSecurityContextContext { + /** + * Context type. + */ + type?: string | null; + /** + * Context values. + */ + values?: string[] | null; + } /** * Kernel mode rootkit signatures. */ @@ -3892,7 +4250,7 @@ export namespace securitycenter_v1 { */ sensitiveDataProtectionMapping?: Schema$GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping; /** - * Tag values combined with `AND` to check against. Values in the form "tagValues/123" Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing + * Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of "tagValues/123". Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing */ tagValues?: string[] | null; /** @@ -5336,7 +5694,7 @@ export namespace securitycenter_v1 { */ export interface Schema$SetFindingStateRequest { /** - * Required. The time at which the updated state takes effect. + * Optional. The time at which the updated state takes effect. If unset, defaults to the request time. */ startTime?: string | null; /** @@ -11021,6 +11379,7 @@ export namespace securitycenter_v1 { export class Resource$Organizations { context: APIRequestContext; assets: Resource$Organizations$Assets; + attackPaths: Resource$Organizations$Attackpaths; bigQueryExports: Resource$Organizations$Bigqueryexports; eventThreatDetectionSettings: Resource$Organizations$Eventthreatdetectionsettings; findings: Resource$Organizations$Findings; @@ -11036,6 +11395,7 @@ export namespace securitycenter_v1 { constructor(context: APIRequestContext) { this.context = context; this.assets = new Resource$Organizations$Assets(this.context); + this.attackPaths = new Resource$Organizations$Attackpaths(this.context); this.bigQueryExports = new Resource$Organizations$Bigqueryexports( this.context ); @@ -11720,6 +12080,127 @@ export namespace securitycenter_v1 { requestBody?: Schema$SecurityMarks; } + export class Resource$Organizations$Attackpaths { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Lists the attack paths for a set of simulation results or valued resources and filter. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Organizations$Attackpaths$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Organizations$Attackpaths$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Organizations$Attackpaths$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizations$Attackpaths$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizations$Attackpaths$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Organizations$Attackpaths$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Attackpaths$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizations$Attackpaths$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securitycenter.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/attackPaths').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Organizations$Attackpaths$List + extends StandardParameters { + /** + * The filter expression that filters the attack path in the response. Supported fields: * `valued_resources` supports = + */ + filter?: string; + /** + * The maximum number of results to return in a single response. Default is 10, minimum is 1, maximum is 1000. + */ + pageSize?: number; + /** + * The value returned by the last `ListAttackPathsResponse`; indicates that this is a continuation of a prior `ListAttackPaths` call, and that the system should return the next page of data. + */ + pageToken?: string; + /** + * Required. Name of parent to list attack paths. Valid formats: `organizations/{organization\}`, `organizations/{organization\}/simulations/{simulation\}` `organizations/{organization\}/simulations/{simulation\}/attackExposureResults/{attack_exposure_result_v2\}` `organizations/{organization\}/simulations/{simulation\}/valuedResources/{valued_resource\}` + */ + parent?: string; + } + export class Resource$Organizations$Bigqueryexports { context: APIRequestContext; constructor(context: APIRequestContext) { @@ -14771,7 +15252,7 @@ export namespace securitycenter_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/securitycenter/v1beta1.ts b/src/apis/securitycenter/v1beta1.ts index a0d76ff31b..00abfd29b9 100644 --- a/src/apis/securitycenter/v1beta1.ts +++ b/src/apis/securitycenter/v1beta1.ts @@ -537,15 +537,6 @@ export namespace securitycenter_v1beta1 { * The request message for Operations.CancelOperation. */ export interface Schema$CancelOperationRequest {} - /** - * YAML-based rule that uses CEL, which supports the declaration of variables and a filtering predicate. A vulnerable resource is emitted if the evaluation is false. Given: 1) the resource types as: - resource_types: "compute.googleapis.com/Instance" - resource_types: "compute.googleapis.com/Firewall" 2) the CEL policy spec as: name: bad_instance resource_filters: - name: instance resource_type: compute.googleapis.com/Instance filter: \> instance.status == 'RUNNING' && 'public' in instance.tags.items - name: firewall resource_type: compute.googleapis.com/Firewall filter: \> firewall.direction == 'INGRESS' && !firewall.disabled && firewall.allowed.exists(rule, rule.IPProtocol.upperAscii() in ['TCP', 'ALL'] && rule.ports.exists(port, network.portsInRange(port, '11-256'))) rule: match: - predicate: \> instance.networkInterfaces.exists(net, firewall.network == net.network) output: \> {'message': 'Compute instance with publicly accessible ports', 'instance': instance.name\} Users are able to join resource types together using the exact format as Kubernetes Validating Admission policies. - */ - export interface Schema$CelPolicySpec { - /** - * The CEL policy to evaluate to produce findings. A finding is generated when the policy validation evaluates to false. - */ - spec?: string | null; - } /** * Fields related to Google Cloud Armor findings. */ @@ -913,6 +904,27 @@ export namespace securitycenter_v1beta1 { */ violatedLocation?: string | null; } + /** + * Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments. + */ + export interface Schema$DataRetentionDeletionEvent { + /** + * Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000. + */ + dataObjectCount?: string | null; + /** + * Timestamp indicating when the event was detected. + */ + eventDetectionTime?: string | null; + /** + * Type of the DRD event. + */ + eventType?: string | null; + /** + * Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user set the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days. + */ + maxRetentionAllowed?: string | null; + } /** * Memory hash detection contributing to the binary family match. */ @@ -926,6 +938,15 @@ export namespace securitycenter_v1beta1 { */ percentPagesMatched?: number | null; } + /** + * Contains information about the disk associated with the finding. + */ + export interface Schema$Disk { + /** + * The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/project-id/zones/zone-id/disks/disk-id". + */ + name?: string | null; + } /** * Path of the file in terms of underlying disk/partition identifiers. */ @@ -1125,10 +1146,18 @@ export namespace securitycenter_v1beta1 { * Data flow events associated with the finding. */ dataFlowEvents?: Schema$DataFlowEvent[]; + /** + * Data retention deletion events associated with the finding. + */ + dataRetentionDeletionEvents?: Schema$DataRetentionDeletionEvent[]; /** * Contains more details about the finding. */ description?: string | null; + /** + * Disk associated with the finding. + */ + disk?: Schema$Disk; /** * The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp. */ @@ -1474,10 +1503,6 @@ export namespace securitycenter_v1beta1 { * Defines the properties in a custom module configuration for Security Health Analytics. Use the custom module configuration to create custom detectors that generate custom findings for resources that you specify. */ export interface Schema$GoogleCloudSecuritycenterV1CustomConfig { - /** - * The CEL policy spec attached to the custom module. - */ - celPolicy?: Schema$CelPolicySpec; /** * Custom output properties. */ @@ -1516,6 +1541,10 @@ export namespace securitycenter_v1beta1 { * An EffectiveSecurityHealthAnalyticsCustomModule is the representation of a Security Health Analytics custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablementState` property in EffectiveSecurityHealthAnalyticsCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective enablement_state for the module in all child folders or projects is also `enabled`. EffectiveSecurityHealthAnalyticsCustomModule is read-only. */ export interface Schema$GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule { + /** + * The cloud provider of the custom module. + */ + cloudProvider?: string | null; /** * Output only. The user-specified configuration for the module. */ @@ -1914,7 +1943,7 @@ export namespace securitycenter_v1beta1 { */ sensitiveDataProtectionMapping?: Schema$GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping; /** - * Required. Tag values combined with `AND` to check against. Values in the form "tagValues/123" Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing + * Required. Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of "tagValues/123". Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing */ tagValues?: string[] | null; /** @@ -1943,6 +1972,10 @@ export namespace securitycenter_v1beta1 { * Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited. */ ancestorModule?: string | null; + /** + * The cloud provider of the custom module. + */ + cloudProvider?: string | null; /** * The user specified custom configuration for the module. */ @@ -2697,6 +2730,27 @@ export namespace securitycenter_v1beta1 { */ violatedLocation?: string | null; } + /** + * Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments. + */ + export interface Schema$GoogleCloudSecuritycenterV2DataRetentionDeletionEvent { + /** + * Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000. + */ + dataObjectCount?: string | null; + /** + * Timestamp indicating when the event was detected. + */ + eventDetectionTime?: string | null; + /** + * Type of the DRD event. + */ + eventType?: string | null; + /** + * Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user set the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days. + */ + maxRetentionAllowed?: string | null; + } /** * Memory hash detection contributing to the binary family match. */ @@ -2710,6 +2764,15 @@ export namespace securitycenter_v1beta1 { */ percentPagesMatched?: number | null; } + /** + * Contains information about the disk associated with the finding. + */ + export interface Schema$GoogleCloudSecuritycenterV2Disk { + /** + * The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/project-id/zones/zone-id/disks/disk-id". + */ + name?: string | null; + } /** * Path of the file in terms of underlying disk/partition identifiers. */ @@ -2935,10 +2998,18 @@ export namespace securitycenter_v1beta1 { * Data flow events associated with the finding. */ dataFlowEvents?: Schema$GoogleCloudSecuritycenterV2DataFlowEvent[]; + /** + * Data retention deletion events associated with the finding. + */ + dataRetentionDeletionEvents?: Schema$GoogleCloudSecuritycenterV2DataRetentionDeletionEvent[]; /** * Contains more details about the finding. */ description?: string | null; + /** + * Disk associated with the finding. + */ + disk?: Schema$GoogleCloudSecuritycenterV2Disk; /** * The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp. */ @@ -3151,6 +3222,269 @@ export namespace securitycenter_v1beta1 { */ uris?: string[] | null; } + /** + * Security Command Center Issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2Issue { + /** + * Output only. The time the issue was created. + */ + createTime?: string | null; + /** + * The description of the issue in Markdown format. + */ + description?: string | null; + /** + * The finding category or rule name that generated the issue. + */ + detection?: string | null; + /** + * The domains of the issue. + */ + domains?: Schema$GoogleCloudSecuritycenterV2IssueDomain[]; + /** + * The exposure score of the issue. + */ + exposureScore?: number | null; + /** + * The type of the issue. + */ + issueType?: string | null; + /** + * The time the issue was last observed. + */ + lastObservationTime?: string | null; + /** + * The mute information of the issue. + */ + mute?: Schema$GoogleCloudSecuritycenterV2IssueMute; + /** + * Identifier. The name of the issue. Format: organizations/{organization\}/locations/{location\}/issues/{issue\} + */ + name?: string | null; + /** + * The primary resource associated with the issue. + */ + primaryResource?: Schema$GoogleCloudSecuritycenterV2IssueResource; + /** + * The findings related to the issue. + */ + relatedFindings?: Schema$GoogleCloudSecuritycenterV2IssueFinding[]; + /** + * Approaches to remediate the issue in Markdown format. + */ + remediations?: string[] | null; + /** + * Additional resources associated with the issue. + */ + secondaryResources?: Schema$GoogleCloudSecuritycenterV2IssueResource[]; + /** + * The security context of the issue. + */ + securityContexts?: Schema$GoogleCloudSecuritycenterV2IssueSecurityContext[]; + /** + * The severity of the issue. + */ + severity?: string | null; + /** + * Output only. The state of the issue. + */ + state?: string | null; + /** + * Output only. The time the issue was last updated. + */ + updateTime?: string | null; + } + /** + * The domains of an issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueDomain { + /** + * The domain category of the issue. + */ + domainCategory?: string | null; + } + /** + * Finding related to an issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueFinding { + /** + * The CVE of the finding. + */ + cve?: Schema$GoogleCloudSecuritycenterV2IssueFindingCve; + /** + * The name of the finding. + */ + name?: string | null; + /** + * The security bulletin of the finding. + */ + securityBulletin?: Schema$GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin; + } + /** + * The CVE of the finding. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueFindingCve { + /** + * The CVE name. + */ + name?: string | null; + } + /** + * The security bulletin of the finding. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin { + /** + * The security bulletin name. + */ + name?: string | null; + } + /** + * The mute information of the issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueMute { + /** + * The email address of the user who last changed the mute state of the issue. + */ + muteInitiator?: string | null; + /** + * The user-provided reason for muting the issue. + */ + muteReason?: string | null; + /** + * Output only. The mute state of the issue. + */ + muteState?: string | null; + /** + * The time the issue was muted. + */ + muteUpdateTime?: string | null; + } + /** + * A resource associated with the an issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueResource { + /** + * The AWS metadata of the resource associated with the issue. Only populated for AWS resources. + */ + awsMetadata?: Schema$GoogleCloudSecuritycenterV2IssueResourceAwsMetadata; + /** + * The Azure metadata of the resource associated with the issue. Only populated for Azure resources. + */ + azureMetadata?: Schema$GoogleCloudSecuritycenterV2IssueResourceAzureMetadata; + /** + * The cloud provider of the resource associated with the issue. + */ + cloudProvider?: string | null; + /** + * The resource-type specific display name of the resource associated with the issue. + */ + displayName?: string | null; + /** + * The Google Cloud metadata of the resource associated with the issue. Only populated for Google Cloud resources. + */ + googleCloudMetadata?: Schema$GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata; + /** + * The full resource name of the resource associated with the issue. + */ + name?: string | null; + /** + * The type of the resource associated with the issue. + */ + type?: string | null; + } + /** + * The AWS metadata of a resource associated with an issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAwsMetadata { + /** + * The AWS account of the resource associated with the issue. + */ + account?: Schema$GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount; + } + /** + * The AWS account of the resource associated with the issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount { + /** + * The AWS account ID of the resource associated with the issue. + */ + id?: string | null; + /** + * The AWS account name of the resource associated with the issue. + */ + name?: string | null; + } + /** + * The Azure metadata of a resource associated with an issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAzureMetadata { + /** + * The Azure subscription of the resource associated with the issue. + */ + subscription?: Schema$GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription; + } + /** + * The Azure subscription of the resource associated with the issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription { + /** + * The Azure subscription display name of the resource associated with the issue. + */ + displayName?: string | null; + /** + * The Azure subscription ID of the resource associated with the issue. + */ + id?: string | null; + } + /** + * Google Cloud metadata of a resource associated with an issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata { + /** + * The project ID that the resource associated with the issue belongs to. + */ + projectId?: string | null; + } + /** + * Security context associated with an issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueSecurityContext { + /** + * The aggregated count of the security context. + */ + aggregatedCount?: Schema$GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount; + /** + * The context of the security context. + */ + context?: Schema$GoogleCloudSecuritycenterV2IssueSecurityContextContext; + } + /** + * Aggregated count of a security context. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount { + /** + * Aggregation key. + */ + key?: string | null; + /** + * Aggregation value. + */ + value?: number | null; + } + /** + * Context of a security context. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueSecurityContextContext { + /** + * Context type. + */ + type?: string | null; + /** + * Context values. + */ + values?: string[] | null; + } /** * Kernel mode rootkit signatures. */ @@ -3709,7 +4043,7 @@ export namespace securitycenter_v1beta1 { */ sensitiveDataProtectionMapping?: Schema$GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping; /** - * Tag values combined with `AND` to check against. Values in the form "tagValues/123" Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing + * Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of "tagValues/123". Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing */ tagValues?: string[] | null; /** @@ -4812,7 +5146,7 @@ export namespace securitycenter_v1beta1 { */ export interface Schema$SetFindingStateRequest { /** - * Required. The time at which the updated state takes effect. + * Optional. The time at which the updated state takes effect. If not set uses the current time. */ startTime?: string | null; /** @@ -5703,7 +6037,7 @@ export namespace securitycenter_v1beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/securitycenter/v1beta2.ts b/src/apis/securitycenter/v1beta2.ts index 18db93026d..84d7b2a4bf 100644 --- a/src/apis/securitycenter/v1beta2.ts +++ b/src/apis/securitycenter/v1beta2.ts @@ -372,6 +372,10 @@ export namespace securitycenter_v1beta2 { * Represents an Azure resource group. */ export interface Schema$AzureResourceGroup { + /** + * The ID of the Azure resource group. + */ + id?: string | null; /** * The name of the Azure resource group. This is not a UUID. */ @@ -853,6 +857,27 @@ export namespace securitycenter_v1beta2 { */ violatedLocation?: string | null; } + /** + * Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments. + */ + export interface Schema$DataRetentionDeletionEvent { + /** + * Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000. + */ + dataObjectCount?: string | null; + /** + * Timestamp indicating when the event was detected. + */ + eventDetectionTime?: string | null; + /** + * Type of the DRD event. + */ + eventType?: string | null; + /** + * Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user set the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days. + */ + maxRetentionAllowed?: string | null; + } /** * Details of a subscription. */ @@ -883,6 +908,15 @@ export namespace securitycenter_v1beta2 { */ percentPagesMatched?: number | null; } + /** + * Contains information about the disk associated with the finding. + */ + export interface Schema$Disk { + /** + * The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/project-id/zones/zone-id/disks/disk-id". + */ + name?: string | null; + } /** * Path of the file in terms of underlying disk/partition identifiers. */ @@ -1099,10 +1133,18 @@ export namespace securitycenter_v1beta2 { * Data flow events associated with the finding. */ dataFlowEvents?: Schema$DataFlowEvent[]; + /** + * Data retention deletion events associated with the finding. + */ + dataRetentionDeletionEvents?: Schema$DataRetentionDeletionEvent[]; /** * Contains more details about the finding. */ description?: string | null; + /** + * Disk associated with the finding. + */ + disk?: Schema$Disk; /** * The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp. */ @@ -1410,6 +1452,10 @@ export namespace securitycenter_v1beta2 { * An EffectiveSecurityHealthAnalyticsCustomModule is the representation of a Security Health Analytics custom module at a specified level of the resource hierarchy: organization, folder, or project. If a custom module is inherited from a parent organization or folder, the value of the `enablementState` property in EffectiveSecurityHealthAnalyticsCustomModule is set to the value that is effective in the parent, instead of `INHERITED`. For example, if the module is enabled in a parent organization or folder, the effective enablement_state for the module in all child folders or projects is also `enabled`. EffectiveSecurityHealthAnalyticsCustomModule is read-only. */ export interface Schema$GoogleCloudSecuritycenterV1EffectiveSecurityHealthAnalyticsCustomModule { + /** + * The cloud provider of the custom module. + */ + cloudProvider?: string | null; /** * Output only. The user-specified configuration for the module. */ @@ -1808,7 +1854,7 @@ export namespace securitycenter_v1beta2 { */ sensitiveDataProtectionMapping?: Schema$GoogleCloudSecuritycenterV1SensitiveDataProtectionMapping; /** - * Required. Tag values combined with `AND` to check against. Values in the form "tagValues/123" Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing + * Required. Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of "tagValues/123". Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing */ tagValues?: string[] | null; /** @@ -1837,6 +1883,10 @@ export namespace securitycenter_v1beta2 { * Output only. If empty, indicates that the custom module was created in the organization, folder, or project in which you are viewing the custom module. Otherwise, `ancestor_module` specifies the organization or folder from which the custom module is inherited. */ ancestorModule?: string | null; + /** + * The cloud provider of the custom module. + */ + cloudProvider?: string | null; /** * The user specified custom configuration for the module. */ @@ -2119,6 +2169,10 @@ export namespace securitycenter_v1beta2 { * Represents an Azure resource group. */ export interface Schema$GoogleCloudSecuritycenterV2AzureResourceGroup { + /** + * The ID of the Azure resource group. + */ + id?: string | null; /** * The name of the Azure resource group. This is not a UUID. */ @@ -2587,6 +2641,27 @@ export namespace securitycenter_v1beta2 { */ violatedLocation?: string | null; } + /** + * Details about data retention deletion violations, in which the data is non-compliant based on their retention or deletion time, as defined in the applicable data security policy. The Data Retention Deletion (DRD) control is a control of the DSPM (Data Security Posture Management) suite that enables organizations to manage data retention and deletion policies in compliance with regulations, such as GDPR and CRPA. DRD supports two primary policy types: maximum storage length (max TTL) and minimum storage length (min TTL). Both are aimed at helping organizations meet regulatory and data management commitments. + */ + export interface Schema$GoogleCloudSecuritycenterV2DataRetentionDeletionEvent { + /** + * Number of objects that violated the policy for this resource. If the number is less than 1,000, then the value of this field is the exact number. If the number of objects that violated the policy is greater than or equal to 1,000, then the value of this field is 1000. + */ + dataObjectCount?: string | null; + /** + * Timestamp indicating when the event was detected. + */ + eventDetectionTime?: string | null; + /** + * Type of the DRD event. + */ + eventType?: string | null; + /** + * Maximum duration of retention allowed from the DRD control. This comes from the DRD control where users set a max TTL for their data. For example, suppose that a user set the max TTL for a Cloud Storage bucket to 90 days. However, an object in that bucket is 100 days old. In this case, a DataRetentionDeletionEvent will be generated for that Cloud Storage bucket, and the max_retention_allowed is 90 days. + */ + maxRetentionAllowed?: string | null; + } /** * Memory hash detection contributing to the binary family match. */ @@ -2600,6 +2675,15 @@ export namespace securitycenter_v1beta2 { */ percentPagesMatched?: number | null; } + /** + * Contains information about the disk associated with the finding. + */ + export interface Schema$GoogleCloudSecuritycenterV2Disk { + /** + * The name of the disk, for example, "https://www.googleapis.com/compute/v1/projects/project-id/zones/zone-id/disks/disk-id". + */ + name?: string | null; + } /** * Path of the file in terms of underlying disk/partition identifiers. */ @@ -2825,10 +2909,18 @@ export namespace securitycenter_v1beta2 { * Data flow events associated with the finding. */ dataFlowEvents?: Schema$GoogleCloudSecuritycenterV2DataFlowEvent[]; + /** + * Data retention deletion events associated with the finding. + */ + dataRetentionDeletionEvents?: Schema$GoogleCloudSecuritycenterV2DataRetentionDeletionEvent[]; /** * Contains more details about the finding. */ description?: string | null; + /** + * Disk associated with the finding. + */ + disk?: Schema$GoogleCloudSecuritycenterV2Disk; /** * The time the finding was first detected. If an existing finding is updated, then this is the time the update occurred. For example, if the finding represents an open firewall, this property captures the time the detector believes the firewall became open. The accuracy is determined by the detector. If the finding is later resolved, then this time reflects when the finding was resolved. This must not be set to a value greater than the current timestamp. */ @@ -3041,6 +3133,269 @@ export namespace securitycenter_v1beta2 { */ uris?: string[] | null; } + /** + * Security Command Center Issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2Issue { + /** + * Output only. The time the issue was created. + */ + createTime?: string | null; + /** + * The description of the issue in Markdown format. + */ + description?: string | null; + /** + * The finding category or rule name that generated the issue. + */ + detection?: string | null; + /** + * The domains of the issue. + */ + domains?: Schema$GoogleCloudSecuritycenterV2IssueDomain[]; + /** + * The exposure score of the issue. + */ + exposureScore?: number | null; + /** + * The type of the issue. + */ + issueType?: string | null; + /** + * The time the issue was last observed. + */ + lastObservationTime?: string | null; + /** + * The mute information of the issue. + */ + mute?: Schema$GoogleCloudSecuritycenterV2IssueMute; + /** + * Identifier. The name of the issue. Format: organizations/{organization\}/locations/{location\}/issues/{issue\} + */ + name?: string | null; + /** + * The primary resource associated with the issue. + */ + primaryResource?: Schema$GoogleCloudSecuritycenterV2IssueResource; + /** + * The findings related to the issue. + */ + relatedFindings?: Schema$GoogleCloudSecuritycenterV2IssueFinding[]; + /** + * Approaches to remediate the issue in Markdown format. + */ + remediations?: string[] | null; + /** + * Additional resources associated with the issue. + */ + secondaryResources?: Schema$GoogleCloudSecuritycenterV2IssueResource[]; + /** + * The security context of the issue. + */ + securityContexts?: Schema$GoogleCloudSecuritycenterV2IssueSecurityContext[]; + /** + * The severity of the issue. + */ + severity?: string | null; + /** + * Output only. The state of the issue. + */ + state?: string | null; + /** + * Output only. The time the issue was last updated. + */ + updateTime?: string | null; + } + /** + * The domains of an issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueDomain { + /** + * The domain category of the issue. + */ + domainCategory?: string | null; + } + /** + * Finding related to an issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueFinding { + /** + * The CVE of the finding. + */ + cve?: Schema$GoogleCloudSecuritycenterV2IssueFindingCve; + /** + * The name of the finding. + */ + name?: string | null; + /** + * The security bulletin of the finding. + */ + securityBulletin?: Schema$GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin; + } + /** + * The CVE of the finding. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueFindingCve { + /** + * The CVE name. + */ + name?: string | null; + } + /** + * The security bulletin of the finding. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueFindingSecurityBulletin { + /** + * The security bulletin name. + */ + name?: string | null; + } + /** + * The mute information of the issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueMute { + /** + * The email address of the user who last changed the mute state of the issue. + */ + muteInitiator?: string | null; + /** + * The user-provided reason for muting the issue. + */ + muteReason?: string | null; + /** + * Output only. The mute state of the issue. + */ + muteState?: string | null; + /** + * The time the issue was muted. + */ + muteUpdateTime?: string | null; + } + /** + * A resource associated with the an issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueResource { + /** + * The AWS metadata of the resource associated with the issue. Only populated for AWS resources. + */ + awsMetadata?: Schema$GoogleCloudSecuritycenterV2IssueResourceAwsMetadata; + /** + * The Azure metadata of the resource associated with the issue. Only populated for Azure resources. + */ + azureMetadata?: Schema$GoogleCloudSecuritycenterV2IssueResourceAzureMetadata; + /** + * The cloud provider of the resource associated with the issue. + */ + cloudProvider?: string | null; + /** + * The resource-type specific display name of the resource associated with the issue. + */ + displayName?: string | null; + /** + * The Google Cloud metadata of the resource associated with the issue. Only populated for Google Cloud resources. + */ + googleCloudMetadata?: Schema$GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata; + /** + * The full resource name of the resource associated with the issue. + */ + name?: string | null; + /** + * The type of the resource associated with the issue. + */ + type?: string | null; + } + /** + * The AWS metadata of a resource associated with an issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAwsMetadata { + /** + * The AWS account of the resource associated with the issue. + */ + account?: Schema$GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount; + } + /** + * The AWS account of the resource associated with the issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAwsMetadataAwsAccount { + /** + * The AWS account ID of the resource associated with the issue. + */ + id?: string | null; + /** + * The AWS account name of the resource associated with the issue. + */ + name?: string | null; + } + /** + * The Azure metadata of a resource associated with an issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAzureMetadata { + /** + * The Azure subscription of the resource associated with the issue. + */ + subscription?: Schema$GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription; + } + /** + * The Azure subscription of the resource associated with the issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueResourceAzureMetadataAzureSubscription { + /** + * The Azure subscription display name of the resource associated with the issue. + */ + displayName?: string | null; + /** + * The Azure subscription ID of the resource associated with the issue. + */ + id?: string | null; + } + /** + * Google Cloud metadata of a resource associated with an issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueResourceGoogleCloudMetadata { + /** + * The project ID that the resource associated with the issue belongs to. + */ + projectId?: string | null; + } + /** + * Security context associated with an issue. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueSecurityContext { + /** + * The aggregated count of the security context. + */ + aggregatedCount?: Schema$GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount; + /** + * The context of the security context. + */ + context?: Schema$GoogleCloudSecuritycenterV2IssueSecurityContextContext; + } + /** + * Aggregated count of a security context. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueSecurityContextAggregatedCount { + /** + * Aggregation key. + */ + key?: string | null; + /** + * Aggregation value. + */ + value?: number | null; + } + /** + * Context of a security context. + */ + export interface Schema$GoogleCloudSecuritycenterV2IssueSecurityContextContext { + /** + * Context type. + */ + type?: string | null; + /** + * Context values. + */ + values?: string[] | null; + } /** * Kernel mode rootkit signatures. */ @@ -3599,7 +3954,7 @@ export namespace securitycenter_v1beta2 { */ sensitiveDataProtectionMapping?: Schema$GoogleCloudSecuritycenterV2SensitiveDataProtectionMapping; /** - * Tag values combined with `AND` to check against. Values in the form "tagValues/123" Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing + * Tag values combined with `AND` to check against. For Google Cloud resources, they are tag value IDs in the form of "tagValues/123". Example: `[ "tagValues/123", "tagValues/456", "tagValues/789" ]` https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing */ tagValues?: string[] | null; /** diff --git a/src/apis/securityposture/README.md b/src/apis/securityposture/README.md new file mode 100644 index 0000000000..f982dbdfe2 --- /dev/null +++ b/src/apis/securityposture/README.md @@ -0,0 +1,28 @@ +Google Inc. logo + +# securityposture + +> Defines, assesses, and monitors the overall status of your security in Google Cloud. You can use security postures to evaluate your current cloud security against defined benchmarks and help maintain the level of security that your organization requires. + +## Installation + +```sh +$ npm install @googleapis/securityposture +``` + +## Usage +All documentation and usage information can be found on [GitHub](https://github.com/googleapis/google-api-nodejs-client). +Information on classes can be found in [Googleapis Documentation](https://googleapis.dev/nodejs/googleapis/latest/securityposture/classes/Securityposture.html). + +## License +This library is licensed under Apache 2.0. Full license text is available in [LICENSE](https://github.com/googleapis/google-api-nodejs-client/blob/main/LICENSE). + +## Contributing +We love contributions! Before submitting a Pull Request, it's always good to start with a new issue first. To learn more, see [CONTRIBUTING](https://github.com/google/google-api-nodejs-client/blob/main/.github/CONTRIBUTING.md). + +## Questions/problems? +* Ask your development related questions on [StackOverflow](http://stackoverflow.com/questions/tagged/google-api-nodejs-client). +* If you've found an bug/issue, please [file it on GitHub](https://github.com/googleapis/google-api-nodejs-client/issues). + + +*Crafted with ❤️ by the Google Node.js team* diff --git a/src/apis/securityposture/index.ts b/src/apis/securityposture/index.ts new file mode 100644 index 0000000000..7468f6729c --- /dev/null +++ b/src/apis/securityposture/index.ts @@ -0,0 +1,48 @@ +// Copyright 2020 Google LLC +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/*! THIS FILE IS AUTO-GENERATED */ + +import {AuthPlus, getAPI, GoogleConfigurable} from 'googleapis-common'; +import {securityposture_v1} from './v1'; + +export const VERSIONS = { + v1: securityposture_v1.Securityposture, +}; + +export function securityposture( + version: 'v1' +): securityposture_v1.Securityposture; +export function securityposture( + options: securityposture_v1.Options +): securityposture_v1.Securityposture; +export function securityposture( + this: GoogleConfigurable, + versionOrOptions: 'v1' | securityposture_v1.Options +) { + return getAPI('securityposture', versionOrOptions, VERSIONS, this); +} + +const auth = new AuthPlus(); +export {auth}; +export {securityposture_v1}; +export { + AuthPlus, + GlobalOptions, + APIRequestContext, + GoogleConfigurable, + StreamMethodOptions, + GaxiosPromise, + MethodOptions, + BodyResponseCallback, +} from 'googleapis-common'; diff --git a/src/apis/securityposture/package.json b/src/apis/securityposture/package.json new file mode 100644 index 0000000000..5ed26ef84d --- /dev/null +++ b/src/apis/securityposture/package.json @@ -0,0 +1,43 @@ +{ + "name": "@googleapis/securityposture", + "version": "0.1.0", + "description": "securityposture", + "main": "build/index.js", + "types": "build/index.d.ts", + "keywords": [ + "google" + ], + "author": "Google LLC", + "license": "Apache-2.0", + "homepage": "https://github.com/googleapis/google-api-nodejs-client", + "bugs": { + "url": "https://github.com/googleapis/google-api-nodejs-client/issues" + }, + "repository": { + "type": "git", + "url": "https://github.com/googleapis/google-api-nodejs-client.git" + }, + "engines": { + "node": ">=12.0.0" + }, + "scripts": { + "fix": "gts fix", + "lint": "gts check", + "compile": "tsc -p .", + "prepare": "npm run compile", + "webpack": "webpack" + }, + "dependencies": { + "googleapis-common": "^7.0.0" + }, + "devDependencies": { + "@microsoft/api-documenter": "^7.8.10", + "@microsoft/api-extractor": "^7.8.10", + "gts": "^5.0.0", + "null-loader": "^4.0.0", + "ts-loader": "^9.0.0", + "typescript": "~4.8.4", + "webpack": "^5.0.0", + "webpack-cli": "^5.0.0" + } +} diff --git a/src/apis/securityposture/tsconfig.json b/src/apis/securityposture/tsconfig.json new file mode 100644 index 0000000000..e081090496 --- /dev/null +++ b/src/apis/securityposture/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "./node_modules/gts/tsconfig-google.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "build" + }, + "include": [ + "*.ts", + ] +} diff --git a/src/apis/securityposture/v1.ts b/src/apis/securityposture/v1.ts new file mode 100644 index 0000000000..ed204646d9 --- /dev/null +++ b/src/apis/securityposture/v1.ts @@ -0,0 +1,3421 @@ +// Copyright 2020 Google LLC +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/* eslint-disable @typescript-eslint/no-explicit-any */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +/* eslint-disable @typescript-eslint/no-empty-interface */ +/* eslint-disable @typescript-eslint/no-namespace */ +/* eslint-disable no-irregular-whitespace */ + +import { + OAuth2Client, + JWT, + Compute, + UserRefreshClient, + BaseExternalAccountClient, + GaxiosPromise, + GoogleConfigurable, + createAPIRequest, + MethodOptions, + StreamMethodOptions, + GlobalOptions, + GoogleAuth, + BodyResponseCallback, + APIRequestContext, +} from 'googleapis-common'; +import {Readable} from 'stream'; + +export namespace securityposture_v1 { + export interface Options extends GlobalOptions { + version: 'v1'; + } + + interface StandardParameters { + /** + * Auth client or API Key for the request + */ + auth?: + | string + | OAuth2Client + | JWT + | Compute + | UserRefreshClient + | BaseExternalAccountClient + | GoogleAuth; + + /** + * V1 error format. + */ + '$.xgafv'?: string; + /** + * OAuth access token. + */ + access_token?: string; + /** + * Data format for response. + */ + alt?: string; + /** + * JSONP + */ + callback?: string; + /** + * Selector specifying which fields to include in a partial response. + */ + fields?: string; + /** + * API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. + */ + key?: string; + /** + * OAuth 2.0 token for the current user. + */ + oauth_token?: string; + /** + * Returns response with indentations and line breaks. + */ + prettyPrint?: boolean; + /** + * Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. + */ + quotaUser?: string; + /** + * Legacy upload protocol for media (e.g. "media", "multipart"). + */ + uploadType?: string; + /** + * Upload protocol for media (e.g. "raw", "multipart"). + */ + upload_protocol?: string; + } + + /** + * Security Posture API + * + * Defines, assesses, and monitors the overall status of your security in Google Cloud. You can use security postures to evaluate your current cloud security against defined benchmarks and help maintain the level of security that your organization requires. + * + * @example + * ```js + * const {google} = require('googleapis'); + * const securityposture = google.securityposture('v1'); + * ``` + */ + export class Securityposture { + context: APIRequestContext; + organizations: Resource$Organizations; + projects: Resource$Projects; + + constructor(options: GlobalOptions, google?: GoogleConfigurable) { + this.context = { + _options: options || {}, + google, + }; + + this.organizations = new Resource$Organizations(this.context); + this.projects = new Resource$Projects(this.context); + } + } + + /** + * Details of a Cloud Asset Inventory asset that caused a violation. + */ + export interface Schema$AssetDetails { + /** + * Information about the Cloud Asset Inventory asset that violated a policy. The format of this information can change at any time without prior notice. Your application must not depend on this information in any way. + */ + asset?: string | null; + /** + * The type of Cloud Asset Inventory asset. For a list of asset types, see [Supported asset types](https://cloud.google.com/asset-inventory/docs/supported-asset-types). + */ + assetType?: string | null; + } + /** + * The request message for Operations.CancelOperation. + */ + export interface Schema$CancelOperationRequest {} + /** + * Information about a compliance standard that the policy helps enforce. + */ + export interface Schema$ComplianceStandard { + /** + * Optional. The control in the compliance standard that the policy helps enforce. For example, `AC-3`. + */ + control?: string | null; + /** + * Optional. The compliance standard that the policy helps enforce. For example, `NIST SP 800-53`. + */ + standard?: string | null; + } + /** + * Metadata for a constraint in a Policy. + */ + export interface Schema$Constraint { + /** + * Optional. A predefined organization policy constraint. + */ + orgPolicyConstraint?: Schema$OrgPolicyConstraint; + /** + * Optional. A custom organization policy constraint. + */ + orgPolicyConstraintCustom?: Schema$OrgPolicyConstraintCustom; + /** + * Optional. A custom module for Security Health Analytics. + */ + securityHealthAnalyticsCustomModule?: Schema$SecurityHealthAnalyticsCustomModule; + /** + * Optional. A built-in detector for Security Health Analytics. + */ + securityHealthAnalyticsModule?: Schema$SecurityHealthAnalyticsModule; + } + /** + * Request message for CreateIaCValidationReport. + */ + export interface Schema$CreateIaCValidationReportRequest { + /** + * Required. The infrastructure-as-code (IaC) configuration to validate. + */ + iac?: Schema$IaC; + } + /** + * A custom module configuration for Security Health Analytics. Use `CustomConfig` to create custom detectors that generate custom findings for resources that you specify. + */ + export interface Schema$CustomConfig { + /** + * Optional. Definitions of custom source properties to include in findings. + */ + customOutput?: Schema$CustomOutputSpec; + /** + * Optional. A description of the vulnerability or misconfiguration that the custom module detects. The description appears in each finding. Provide enough information to help an investigator understand the finding. The value must be enclosed in quotation marks. + */ + description?: string | null; + /** + * Required. The Common Expression Language (CEL) expression to evaluate. When the expression evaluates to `true` for a resource, a finding is generated. + */ + predicate?: Schema$Expr; + /** + * Required. An explanation of the steps that security teams can take to resolve the detected issue. The explanation appears in each finding. + */ + recommendation?: string | null; + /** + * Required. The resource types that the custom module operates on. + */ + resourceSelector?: Schema$ResourceSelector; + /** + * Required. The severity of findings generated by the custom module. + */ + severity?: string | null; + } + /** + * Definitions of custom source properties that can appear in findings. + */ + export interface Schema$CustomOutputSpec { + /** + * Optional. The custom source properties that can appear in findings. + */ + properties?: Schema$Property[]; + } + /** + * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} + */ + export interface Schema$Empty {} + /** + * Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information. + */ + export interface Schema$Expr { + /** + * Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI. + */ + description?: string | null; + /** + * Textual representation of an expression in Common Expression Language syntax. + */ + expression?: string | null; + /** + * Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file. + */ + location?: string | null; + /** + * Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression. + */ + title?: string | null; + } + /** + * Request message for ExtractPosture. + */ + export interface Schema$ExtractPostureRequest { + /** + * Required. An identifier for the posture. + */ + postureId?: string | null; + /** + * Required. The organization, folder, or project from which policies are extracted. Must be within the organization defined in parent. Use one of the following formats: * `organization/{organization_number\}` * `folder/{folder_number\}` * `project/{project_number\}` + */ + workload?: string | null; + } + /** + * A custom, user-defined constraint. You can apply the constraint only to the resource types specified in the constraint, and only within the organization where the constraint is defined. _When you create a custom constraint, it is not enforced automatically._ You must use an organization policy to [enforce the constraint](https://cloud.google.com/resource-manager/help/organization-policy/constraints/enforce). + */ + export interface Schema$GoogleCloudSecuritypostureV1CustomConstraint { + /** + * Whether to allow or deny the action. + */ + actionType?: string | null; + /** + * A Common Expression Language (CEL) condition expression that must evaluate to `true` for the constraint to be enforced. The maximum length is 1000 characters. For example: + `resource.instanceName.matches('(production|test)_(.+_)?[\d]+')`: Evaluates to `true` if the resource's `instanceName` attribute contains the following: + The prefix `production` or `test` + An underscore (`_`) + Optional: One or more characters, followed by an underscore (`_`) + One or more digits + `resource.management.auto_upgrade == true`: Evaluates to `true` if the resource's `management.auto_upgrade` attribute is `true`. + */ + condition?: string | null; + /** + * A description of the constraint. The maximum length is 2000 characters. + */ + description?: string | null; + /** + * A display name for the constraint. The maximum length is 200 characters. + */ + displayName?: string | null; + /** + * The types of operations that the constraint applies to. + */ + methodTypes?: string[] | null; + /** + * Immutable. The name of the constraint, in the format `organizations/{organization_id\}/customConstraints/custom.{custom_constraint_id\}`. For example, `organizations/123456789012/customConstraints/custom.createOnlyE2TypeVms`. Must contain 1 to 62 characters, excluding the prefix `organizations/{organization_id\}/customConstraints/custom.`. + */ + name?: string | null; + /** + * Immutable. The resource type that the constraint applies to, in the format `{canonical_service_name\}/{resource_type_name\}`. For example, `compute.googleapis.com/Instance`. + */ + resourceTypes?: string[] | null; + /** + * Output only. The last time at which the constraint was updated or created. + */ + updateTime?: string | null; + } + /** + * A rule that defines the allowed and denied values for an organization policy constraint. + */ + export interface Schema$GoogleCloudSecuritypostureV1PolicyRule { + /** + * Whether to allow any value for a list constraint. Valid only for list constraints. + */ + allowAll?: boolean | null; + /** + * A condition that determines whether this rule is used to evaluate the policy. When set, the google.type.Expr.expression field must contain 1 to 10 subexpressions, joined by the `||` or `&&` operators. Each subexpression must use the `resource.matchTag()` or `resource.matchTagId()` Common Expression Language (CEL) function. The `resource.matchTag()` function takes the following arguments: * `key_name`: the namespaced name of the tag key, with the organization ID and a slash (`/`) as a prefix; for example, `123456789012/environment` * `value_name`: the short name of the tag value For example: `resource.matchTag('123456789012/environment, 'prod')` The `resource.matchTagId()` function takes the following arguments: * `key_id`: the permanent ID of the tag key; for example, `tagKeys/123456789012` * `value_id`: the permanent ID of the tag value; for example, `tagValues/567890123456` For example: `resource.matchTagId('tagKeys/123456789012', 'tagValues/567890123456')` + */ + condition?: Schema$Expr; + /** + * Whether to deny all values for a list constraint. Valid only for list constraints. + */ + denyAll?: boolean | null; + /** + * Whether to enforce the constraint. Valid only for boolean constraints. + */ + enforce?: boolean | null; + /** + * Optional. Required for GMCs if parameters defined in constraints. Pass parameter values when policy enforcement is enabled. Ensure that parameter value types match those defined in the constraint definition. For example: { "allowedLocations" : ["us-east1", "us-west1"], "allowAll" : true \} + */ + parameters?: {[key: string]: any} | null; + /** + * Optional. The resource types policy can support, only used for Google managed constraint and method type is GOVERN_TAGS. + */ + resourceTypes?: Schema$ResourceTypes; + /** + * The allowed and denied values for a list constraint. Valid only for list constraints. + */ + values?: Schema$GoogleCloudSecuritypostureV1PolicyRuleStringValues; + } + /** + * The allowed and denied values for a list constraint. For all constraints, these fields can contain literal values. Optionally, you can add the `is:` prefix to these values. If the value contains a colon (`:`), then the `is:` prefix is required. Some constraints allow you to specify a portion of the resource hierarchy, known as a [_hierarchy subtree_](https://cloud.google.com/resource-manager/help/organization-policy/hierarchy-subtree), that the constraint applies to. To specify a hierarchy subtree, use the `under:` prefix, followed by a value with one of these formats: - `projects/{project_id\}` (for example, `projects/tokyo-rain-123`) - `folders/{folder_id\}` (for example, `folders/1234567890123`) - `organizations/{organization_id\}` (for example, `organizations/123456789012`) A constraint's `supports_under` field indicates whether you can specify a hierarchy subtree. To learn which predefined constraints let you specify a hierarchy subtree, see the [constraints reference](https://cloud.google.com/resource-manager/help/organization-policy/constraints/reference). + */ + export interface Schema$GoogleCloudSecuritypostureV1PolicyRuleStringValues { + /** + * The allowed values for the constraint. + */ + allowedValues?: string[] | null; + /** + * The denied values for the constraint. + */ + deniedValues?: string[] | null; + } + /** + * Details of an infrastructure-as-code (IaC) configuration. + */ + export interface Schema$IaC { + /** + * Optional. A Terraform plan file, formatted as a stringified JSON object. To learn how to generate a Terraform plan file in JSON format, see [JSON output format](https://developer.hashicorp.com/terraform/internals/json-format) in the Terraform documentation. + */ + tfPlan?: string | null; + } + /** + * Details of an infrastructure-as-code (IaC) validation report. + */ + export interface Schema$IaCValidationReport { + /** + * Additional information about the report. + */ + note?: string | null; + /** + * A list of every Violation found in the IaC configuration. + */ + violations?: Schema$Violation[]; + } + /** + * The response message for Locations.ListLocations. + */ + export interface Schema$ListLocationsResponse { + /** + * A list of locations that matches the specified filter in the request. + */ + locations?: Schema$Location[]; + /** + * The standard List next-page token. + */ + nextPageToken?: string | null; + } + /** + * The response message for Operations.ListOperations. + */ + export interface Schema$ListOperationsResponse { + /** + * The standard List next-page token. + */ + nextPageToken?: string | null; + /** + * A list of operations that matches the specified filter in the request. + */ + operations?: Schema$Operation[]; + } + /** + * Response message for ListPostureDeployments. + */ + export interface Schema$ListPostureDeploymentsResponse { + /** + * A pagination token. To retrieve the next page of results, call the method again with this token. + */ + nextPageToken?: string | null; + /** + * The list of PostureDeployment resources. + */ + postureDeployments?: Schema$PostureDeployment[]; + /** + * Locations that were temporarily unavailable and could not be reached. + */ + unreachable?: string[] | null; + } + /** + * Response message for ListPostureRevisions. + */ + export interface Schema$ListPostureRevisionsResponse { + /** + * A pagination token. To retrieve the next page of results, call the method again with this token. + */ + nextPageToken?: string | null; + /** + * The list of revisions for the Posture. + */ + revisions?: Schema$Posture[]; + } + /** + * Response message for ListPostures. + */ + export interface Schema$ListPosturesResponse { + /** + * A pagination token. To retrieve the next page of results, call the method again with this token. + */ + nextPageToken?: string | null; + /** + * The list of Posture resources. + */ + postures?: Schema$Posture[]; + /** + * Locations that were temporarily unavailable and could not be reached. + */ + unreachable?: string[] | null; + } + /** + * Response message for ListPostureTemplates. + */ + export interface Schema$ListPostureTemplatesResponse { + /** + * A pagination token. To retrieve the next page of results, call the method again with this token. + */ + nextPageToken?: string | null; + /** + * The list of PostureTemplate resources. + */ + postureTemplates?: Schema$PostureTemplate[]; + } + /** + * Response message for ListReports. + */ + export interface Schema$ListReportsResponse { + /** + * A pagination token. To retrieve the next page of results, call the method again with this token. + */ + nextPageToken?: string | null; + /** + * The list of Report resources. + */ + reports?: Schema$Report[]; + /** + * Locations that were temporarily unavailable and could not be reached. + */ + unreachable?: string[] | null; + } + /** + * A resource that represents a Google Cloud location. + */ + export interface Schema$Location { + /** + * The friendly name for this location, typically a nearby city name. For example, "Tokyo". + */ + displayName?: string | null; + /** + * Cross-service attributes for the location. For example {"cloud.googleapis.com/region": "us-east1"\} + */ + labels?: {[key: string]: string} | null; + /** + * The canonical id for this location. For example: `"us-east1"`. + */ + locationId?: string | null; + /** + * Service-specific metadata. For example the available capacity at the given location. + */ + metadata?: {[key: string]: any} | null; + /** + * Resource name for the location, which may vary between implementations. For example: `"projects/example-project/locations/us-east1"` + */ + name?: string | null; + } + /** + * This resource represents a long-running operation that is the result of a network API call. + */ + export interface Schema$Operation { + /** + * If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. + */ + done?: boolean | null; + /** + * The error result of the operation in case of failure or cancellation. + */ + error?: Schema$Status; + /** + * Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. + */ + metadata?: {[key: string]: any} | null; + /** + * The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id\}`. + */ + name?: string | null; + /** + * The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. + */ + response?: {[key: string]: any} | null; + } + /** + * Metadata for an Operation. + */ + export interface Schema$OperationMetadata { + /** + * Output only. The API version used to start the operation. + */ + apiVersion?: string | null; + /** + * Output only. The time at which the operation was created. + */ + createTime?: string | null; + /** + * Output only. The time at which the operation finished running. + */ + endTime?: string | null; + /** + * Output only. An error message. Returned when a PostureDeployment enters a failure state like UPDATE_FAILED. + */ + errorMessage?: string | null; + /** + * Output only. Whether a request to cancel the operation has been received. For operations that have been cancelled successfully, the Operation.error field contains the error code CANCELLED. + */ + requestedCancellation?: boolean | null; + /** + * Output only. The status of the operation, if any. + */ + statusMessage?: string | null; + /** + * Output only. The server-defined resource path for the target of the operation. + */ + target?: string | null; + /** + * Output only. The name of the action executed by the operation. + */ + verb?: string | null; + } + /** + * A predefined organization policy constraint. + */ + export interface Schema$OrgPolicyConstraint { + /** + * Required. A unique identifier for the constraint. + */ + cannedConstraintId?: string | null; + /** + * Required. The rules enforced by the constraint. + */ + policyRules?: Schema$GoogleCloudSecuritypostureV1PolicyRule[]; + } + /** + * A custom organization policy constraint. + */ + export interface Schema$OrgPolicyConstraintCustom { + /** + * Required. Metadata for the constraint. + */ + customConstraint?: Schema$GoogleCloudSecuritypostureV1CustomConstraint; + /** + * Required. The rules enforced by the constraint. + */ + policyRules?: Schema$GoogleCloudSecuritypostureV1PolicyRule[]; + } + /** + * The details of a policy, including the constraints that it includes. + */ + export interface Schema$Policy { + /** + * Optional. The compliance standards that the policy helps enforce. + */ + complianceStandards?: Schema$ComplianceStandard[]; + /** + * Required. The constraints that the policy includes. + */ + constraint?: Schema$Constraint; + /** + * Optional. A description of the policy. + */ + description?: string | null; + /** + * Required. A user-specified identifier for the policy. In a PolicySet, each policy must have a unique identifier. + */ + policyId?: string | null; + } + /** + * Details of a policy that was violated. + */ + export interface Schema$PolicyDetails { + /** + * The compliance standards that the policy maps to. For example, `CIS-2.0 1.15`. + */ + complianceStandards?: string[] | null; + /** + * Information about the constraint that was violated. The format of this information can change at any time without prior notice. Your application must not depend on this information in any way. + */ + constraint?: string | null; + /** + * The type of constraint that was violated. + */ + constraintType?: string | null; + /** + * A description of the policy. + */ + description?: string | null; + } + /** + * A group of one or more Policy resources. + */ + export interface Schema$PolicySet { + /** + * Optional. A description of the policy set. + */ + description?: string | null; + /** + * Required. The Policy resources in the policy set. Each policy must have a policy_id that's unique within the policy set. + */ + policies?: Schema$Policy[]; + /** + * Required. An identifier for the policy set. + */ + policySetId?: string | null; + } + /** + * The details of a posture. + */ + export interface Schema$Posture { + /** + * Optional. The user-specified annotations for the posture. For details about the values you can use in an annotation, see [AIP-148: Standard fields](https://google.aip.dev/148#annotations). + */ + annotations?: {[key: string]: string} | null; + /** + * Output only. The categories that the posture belongs to, as determined by the Security Posture API. + */ + categories?: string[] | null; + /** + * Output only. The time at which the posture was created. + */ + createTime?: string | null; + /** + * Optional. A description of the posture. + */ + description?: string | null; + /** + * Optional. An opaque identifier for the current version of the posture at the specified `revision_id`. To prevent concurrent updates from overwriting each other, always provide the `etag` when you update a posture. You can also provide the `etag` when you delete a posture, to help ensure that you're deleting the intended version of the posture. + */ + etag?: string | null; + /** + * Required. Identifier. The name of the posture, in the format `organizations/{organization\}/locations/global/postures/{posture_id\}`. + */ + name?: string | null; + /** + * Required. The PolicySet resources that the posture includes. + */ + policySets?: Schema$PolicySet[]; + /** + * Output only. Whether the posture is in the process of being updated. + */ + reconciling?: boolean | null; + /** + * Output only. Immutable. An opaque eight-character string that identifies the revision of the posture. A posture can have multiple revisions; when you deploy a posture, you deploy a specific revision of the posture. + */ + revisionId?: string | null; + /** + * Required. The state of the posture at the specified `revision_id`. + */ + state?: string | null; + /** + * Output only. The time at which the posture was last updated. + */ + updateTime?: string | null; + } + /** + * Details for a Posture deployment on an organization, folder, or project. You can deploy at most one posture to each organization, folder, or project. The parent resource for a posture deployment is always the organization, even if the deployment applies to a folder or project. + */ + export interface Schema$PostureDeployment { + /** + * Optional. The user-specified annotations for the posture deployment. For details about the values you can use in an annotation, see [AIP-148: Standard fields](https://google.aip.dev/148#annotations). + */ + annotations?: {[key: string]: string} | null; + /** + * Output only. The categories that the posture deployment belongs to, as determined by the Security Posture API. + */ + categories?: string[] | null; + /** + * Output only. The time at which the posture deployment was created. + */ + createTime?: string | null; + /** + * Optional. A description of the posture deployment. + */ + description?: string | null; + /** + * Output only. The posture ID that was specified for the deployment. Present only if the posture deployment is in a failed state. + */ + desiredPostureId?: string | null; + /** + * Output only. The revision ID of the posture that was specified for the deployment. Present only if the deployment is in a failed state. + */ + desiredPostureRevisionId?: string | null; + /** + * Optional. An opaque identifier for the current version of the posture deployment. To prevent concurrent updates from overwriting each other, always provide the `etag` when you update a posture deployment. You can also provide the `etag` when you delete a posture deployment, to help ensure that you're deleting the intended posture deployment. + */ + etag?: string | null; + /** + * Output only. A description of why the posture deployment failed. Present only if the deployment is in a failed state. + */ + failureMessage?: string | null; + /** + * Required. Identifier. The name of the posture deployment, in the format `organizations/{organization\}/locations/global/postureDeployments/{deployment_id\}`. + */ + name?: string | null; + /** + * Required. The posture used in the deployment, in the format `organizations/{organization\}/locations/global/postures/{posture_id\}`. + */ + postureId?: string | null; + /** + * Required. The revision ID of the posture used in the deployment. + */ + postureRevisionId?: string | null; + /** + * Output only. Whether the posture deployment is in the process of being updated. + */ + reconciling?: boolean | null; + /** + * Output only. The state of the posture deployment. + */ + state?: string | null; + /** + * Required. The organization, folder, or project where the posture is deployed. Uses one of the following formats: * `organizations/{organization_number\}` * `folders/{folder_number\}` * `projects/{project_number\}` + */ + targetResource?: string | null; + /** + * Output only. The time at which the posture deployment was last updated. + */ + updateTime?: string | null; + } + /** + * Details of a posture deployment. + */ + export interface Schema$PostureDetails { + /** + * The identifier for the PolicySet that the relevant policy belongs to. + */ + policySet?: string | null; + /** + * The posture used in the deployment, in the format `organizations/{organization\}/locations/global/postures/{posture_id\}`. + */ + posture?: string | null; + /** + * The name of the posture deployment, in the format `organizations/{organization\}/locations/global/postureDeployments/{deployment_id\}`. + */ + postureDeployment?: string | null; + /** + * The organization, folder, or project where the posture is deployed. Uses one of the following formats: * `organizations/{organization_number\}` * `folders/{folder_number\}` * `projects/{project_number\}` + */ + postureDeploymentTargetResource?: string | null; + /** + * The revision ID of the posture used in the deployment. + */ + postureRevisionId?: string | null; + } + /** + * The details of a posture template. + */ + export interface Schema$PostureTemplate { + /** + * Output only. The categories that the posture template belongs to, as determined by the Security Posture API. + */ + categories?: string[] | null; + /** + * Output only. A description of the posture template. + */ + description?: string | null; + /** + * Output only. Identifier. The name of the posture template, in the format `organizations/{organization\}/locations/global/postureTemplates/{posture_template\}`. + */ + name?: string | null; + /** + * Output only. The PolicySet resources that the posture template includes. + */ + policySets?: Schema$PolicySet[]; + /** + * Output only. A string that identifies the revision of the posture template. + */ + revisionId?: string | null; + /** + * Output only. The state of the posture template at the specified `revision_id`. + */ + state?: string | null; + } + /** + * A name-value pair used as a custom source property. + */ + export interface Schema$Property { + /** + * Required. The name of the custom source property. + */ + name?: string | null; + /** + * Optional. The CEL expression for the value of the custom source property. For resource properties, you can return the value of the property or a string enclosed in quotation marks. + */ + valueExpression?: Schema$Expr; + } + /** + * Details of a report. + */ + export interface Schema$Report { + /** + * Output only. The time at which the report was created. + */ + createTime?: string | null; + /** + * Output only. An infrastructure-as-code (IaC) validation report. + */ + iacValidationReport?: Schema$IaCValidationReport; + /** + * Required. The name of the report, in the format `organizations/{organization\}/locations/global/reports/{report_id\}`. + */ + name?: string | null; + /** + * Output only. The time at which the report was last updated. + */ + updateTime?: string | null; + } + /** + * A selector for the resource types to run the detector on. + */ + export interface Schema$ResourceSelector { + /** + * Required. The resource types to run the detector on. Each custom module can specify up to 5 resource types. + */ + resourceTypes?: string[] | null; + } + /** + * Set multiple resource types for one policy, eg: resourceTypes: included: - compute.googleapis.com/Instance - compute.googleapis.com/Disk Constraint definition contains an empty resource type in order to support multiple resource types in the policy. Only support Google managed constriaint and method type is GOVERN_TAGS Refer go/multi-resource-support-force-tags-gmc to get more details. + */ + export interface Schema$ResourceTypes { + /** + * Optional. The resource type we currently support. cloud/orgpolicy/customconstraintconfig/prod/resource_types.prototext + */ + included?: string[] | null; + } + /** + * A custom module for Security Health Analytics. + */ + export interface Schema$SecurityHealthAnalyticsCustomModule { + /** + * Required. Configuration settings for the custom module. + */ + config?: Schema$CustomConfig; + /** + * Optional. The display name of the custom module. This value is used as the finding category for all the asset violation findings that the custom module returns. The display name must contain between 1 and 128 alphanumeric characters or underscores, and it must start with a lowercase letter. + */ + displayName?: string | null; + /** + * Output only. Immutable. The unique identifier for the custom module. Contains 1 to 20 digits. + */ + id?: string | null; + /** + * Whether the custom module is enabled at a specified level of the resource hierarchy. + */ + moduleEnablementState?: string | null; + } + /** + * A built-in detector for Security Health Analytics. + */ + export interface Schema$SecurityHealthAnalyticsModule { + /** + * Whether the detector is enabled at a specified level of the resource hierarchy. + */ + moduleEnablementState?: string | null; + /** + * Required. The name of the detector. For example, `BIGQUERY_TABLE_CMEK_DISABLED`. This field is also used as the finding category for all the asset violation findings that the detector returns. + */ + moduleName?: string | null; + } + /** + * The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). + */ + export interface Schema$Status { + /** + * The status code, which should be an enum value of google.rpc.Code. + */ + code?: number | null; + /** + * A list of messages that carry the error details. There is a common set of message types for APIs to use. + */ + details?: Array<{[key: string]: any}> | null; + /** + * A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. + */ + message?: string | null; + } + /** + * Details of a violation. + */ + export interface Schema$Violation { + /** + * The full resource name of the asset that caused the violation. For details about the format of the full resource name for each asset type, see [Resource name format](https://cloud.google.com/asset-inventory/docs/resource-name-format). + */ + assetId?: string | null; + /** + * A description of the steps that you can take to fix the violation. + */ + nextSteps?: string | null; + /** + * The policy that was violated. + */ + policyId?: string | null; + /** + * The severity of the violation. + */ + severity?: string | null; + /** + * Details of the Cloud Asset Inventory asset that caused the violation. + */ + violatedAsset?: Schema$AssetDetails; + /** + * Details of the policy that was violated. + */ + violatedPolicy?: Schema$PolicyDetails; + /** + * Details for the posture that was violated. This field is present only if the violated policy belongs to a deployed posture. + */ + violatedPosture?: Schema$PostureDetails; + } + + export class Resource$Organizations { + context: APIRequestContext; + locations: Resource$Organizations$Locations; + constructor(context: APIRequestContext) { + this.context = context; + this.locations = new Resource$Organizations$Locations(this.context); + } + } + + export class Resource$Organizations$Locations { + context: APIRequestContext; + operations: Resource$Organizations$Locations$Operations; + postureDeployments: Resource$Organizations$Locations$Posturedeployments; + postures: Resource$Organizations$Locations$Postures; + postureTemplates: Resource$Organizations$Locations$Posturetemplates; + reports: Resource$Organizations$Locations$Reports; + constructor(context: APIRequestContext) { + this.context = context; + this.operations = new Resource$Organizations$Locations$Operations( + this.context + ); + this.postureDeployments = + new Resource$Organizations$Locations$Posturedeployments(this.context); + this.postures = new Resource$Organizations$Locations$Postures( + this.context + ); + this.postureTemplates = + new Resource$Organizations$Locations$Posturetemplates(this.context); + this.reports = new Resource$Organizations$Locations$Reports(this.context); + } + } + + export class Resource$Organizations$Locations$Operations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * 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`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + cancel( + params: Params$Resource$Organizations$Locations$Operations$Cancel, + options: StreamMethodOptions + ): GaxiosPromise; + cancel( + params?: Params$Resource$Organizations$Locations$Operations$Cancel, + options?: MethodOptions + ): GaxiosPromise; + cancel( + params: Params$Resource$Organizations$Locations$Operations$Cancel, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Organizations$Locations$Operations$Cancel, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + cancel( + params: Params$Resource$Organizations$Locations$Operations$Cancel, + callback: BodyResponseCallback + ): void; + cancel(callback: BodyResponseCallback): void; + cancel( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Operations$Cancel + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Operations$Cancel; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizations$Locations$Operations$Cancel; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securityposture.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:cancel').replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Organizations$Locations$Operations$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Organizations$Locations$Operations$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Organizations$Locations$Operations$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Organizations$Locations$Operations$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Organizations$Locations$Operations$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Operations$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Operations$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizations$Locations$Operations$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securityposture.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * 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. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Organizations$Locations$Operations$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Organizations$Locations$Operations$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Organizations$Locations$Operations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizations$Locations$Operations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizations$Locations$Operations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Operations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Operations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizations$Locations$Operations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securityposture.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Organizations$Locations$Operations$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Organizations$Locations$Operations$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Organizations$Locations$Operations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizations$Locations$Operations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizations$Locations$Operations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Operations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Operations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizations$Locations$Operations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securityposture.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}/operations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Organizations$Locations$Operations$Cancel + extends StandardParameters { + /** + * The name of the operation resource to be cancelled. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CancelOperationRequest; + } + export interface Params$Resource$Organizations$Locations$Operations$Delete + extends StandardParameters { + /** + * The name of the operation resource to be deleted. + */ + name?: string; + } + export interface Params$Resource$Organizations$Locations$Operations$Get + extends StandardParameters { + /** + * The name of the operation resource. + */ + name?: string; + } + export interface Params$Resource$Organizations$Locations$Operations$List + extends StandardParameters { + /** + * The standard list filter. + */ + filter?: string; + /** + * The name of the operation's parent resource. + */ + name?: string; + /** + * The standard list page size. + */ + pageSize?: number; + /** + * The standard list page token. + */ + pageToken?: string; + } + + export class Resource$Organizations$Locations$Posturedeployments { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new PostureDeployment in a given project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Organizations$Locations$Posturedeployments$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Organizations$Locations$Posturedeployments$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Organizations$Locations$Posturedeployments$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Organizations$Locations$Posturedeployments$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Organizations$Locations$Posturedeployments$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Posturedeployments$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Posturedeployments$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizations$Locations$Posturedeployments$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securityposture.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/postureDeployments').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes a PostureDeployment. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Organizations$Locations$Posturedeployments$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Organizations$Locations$Posturedeployments$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Organizations$Locations$Posturedeployments$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Organizations$Locations$Posturedeployments$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Organizations$Locations$Posturedeployments$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Posturedeployments$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Posturedeployments$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizations$Locations$Posturedeployments$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securityposture.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details for a PostureDeployment. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Organizations$Locations$Posturedeployments$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Organizations$Locations$Posturedeployments$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Organizations$Locations$Posturedeployments$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizations$Locations$Posturedeployments$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizations$Locations$Posturedeployments$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Posturedeployments$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Posturedeployments$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizations$Locations$Posturedeployments$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securityposture.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists every PostureDeployment in a project and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Organizations$Locations$Posturedeployments$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Organizations$Locations$Posturedeployments$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Organizations$Locations$Posturedeployments$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizations$Locations$Posturedeployments$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizations$Locations$Posturedeployments$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Posturedeployments$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Posturedeployments$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizations$Locations$Posturedeployments$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securityposture.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/postureDeployments').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates an existing PostureDeployment. To prevent concurrent updates from overwriting each other, always follow the read-modify-write pattern when you update a posture deployment: 1. Call GetPostureDeployment to get the current version of the deployment. 2. Update the fields in the deployment as needed. 3. Call UpdatePostureDeployment to update the deployment. Ensure that your request includes the `etag` value from the GetPostureDeployment response. **Important:** If you omit the `etag` when you call UpdatePostureDeployment, then the updated deployment unconditionally overwrites the existing deployment. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Organizations$Locations$Posturedeployments$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Organizations$Locations$Posturedeployments$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Organizations$Locations$Posturedeployments$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Organizations$Locations$Posturedeployments$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Organizations$Locations$Posturedeployments$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Posturedeployments$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Posturedeployments$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizations$Locations$Posturedeployments$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securityposture.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Organizations$Locations$Posturedeployments$Create + extends StandardParameters { + /** + * Required. The parent resource name, in the format `organizations/{organization\}/locations/global`. + */ + parent?: string; + /** + * Required. An identifier for the posture deployment. + */ + postureDeploymentId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$PostureDeployment; + } + export interface Params$Resource$Organizations$Locations$Posturedeployments$Delete + extends StandardParameters { + /** + * Optional. An opaque identifier for the current version of the posture deployment. If you provide this value, then it must match the existing value. If the values don't match, then the request fails with an ABORTED error. If you omit this value, then the posture deployment is deleted regardless of its current `etag` value. + */ + etag?: string; + /** + * Required. The name of the posture deployment, in the format `organizations/{organization\}/locations/global/postureDeployments/{posture_id\}`. + */ + name?: string; + } + export interface Params$Resource$Organizations$Locations$Posturedeployments$Get + extends StandardParameters { + /** + * Required. The name of the PostureDeployment, in the format `organizations/{organization\}/locations/global/postureDeployments/{posture_deployment_id\}`. + */ + name?: string; + } + export interface Params$Resource$Organizations$Locations$Posturedeployments$List + extends StandardParameters { + /** + * Optional. A filter to apply to the list of postures, in the format defined in [AIP-160: Filtering](https://google.aip.dev/160). + */ + filter?: string; + /** + * Optional. The maximum number of posture deployments to return. The default value is `500`. If you exceed the maximum value of `1000`, then the service uses the maximum value. + */ + pageSize?: number; + /** + * Optional. A pagination token returned from a previous request to list posture deployments. Provide this token to retrieve the next page of results. + */ + pageToken?: string; + /** + * Required. The parent resource name, in the format `organizations/{organization\}/locations/global`. + */ + parent?: string; + } + export interface Params$Resource$Organizations$Locations$Posturedeployments$Patch + extends StandardParameters { + /** + * Required. Identifier. The name of the posture deployment, in the format `organizations/{organization\}/locations/global/postureDeployments/{deployment_id\}`. + */ + name?: string; + /** + * Required. The fields in the PostureDeployment to update. You can update only the following fields: * PostureDeployment.posture_id * PostureDeployment.posture_revision_id + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$PostureDeployment; + } + + export class Resource$Organizations$Locations$Postures { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Creates a new Posture. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + create( + params: Params$Resource$Organizations$Locations$Postures$Create, + options: StreamMethodOptions + ): GaxiosPromise; + create( + params?: Params$Resource$Organizations$Locations$Postures$Create, + options?: MethodOptions + ): GaxiosPromise; + create( + params: Params$Resource$Organizations$Locations$Postures$Create, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Organizations$Locations$Postures$Create, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + create( + params: Params$Resource$Organizations$Locations$Postures$Create, + callback: BodyResponseCallback + ): void; + create(callback: BodyResponseCallback): void; + create( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Postures$Create + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Postures$Create; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizations$Locations$Postures$Create; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securityposture.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/postures').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Deletes all revisions of a Posture. You can only delete a posture if none of its revisions are deployed. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + delete( + params: Params$Resource$Organizations$Locations$Postures$Delete, + options: StreamMethodOptions + ): GaxiosPromise; + delete( + params?: Params$Resource$Organizations$Locations$Postures$Delete, + options?: MethodOptions + ): GaxiosPromise; + delete( + params: Params$Resource$Organizations$Locations$Postures$Delete, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Organizations$Locations$Postures$Delete, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + delete( + params: Params$Resource$Organizations$Locations$Postures$Delete, + callback: BodyResponseCallback + ): void; + delete(callback: BodyResponseCallback): void; + delete( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Postures$Delete + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Postures$Delete; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizations$Locations$Postures$Delete; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securityposture.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'DELETE', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Extracts existing policies from an organization, folder, or project, and applies them to another organization, folder, or project as a Posture. If the other organization, folder, or project already has a posture, then the result of the long-running operation is an ALREADY_EXISTS error. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + extract( + params: Params$Resource$Organizations$Locations$Postures$Extract, + options: StreamMethodOptions + ): GaxiosPromise; + extract( + params?: Params$Resource$Organizations$Locations$Postures$Extract, + options?: MethodOptions + ): GaxiosPromise; + extract( + params: Params$Resource$Organizations$Locations$Postures$Extract, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + extract( + params: Params$Resource$Organizations$Locations$Postures$Extract, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + extract( + params: Params$Resource$Organizations$Locations$Postures$Extract, + callback: BodyResponseCallback + ): void; + extract(callback: BodyResponseCallback): void; + extract( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Postures$Extract + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Postures$Extract; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizations$Locations$Postures$Extract; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securityposture.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/postures:extract').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets a single revision of a Posture. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Organizations$Locations$Postures$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Organizations$Locations$Postures$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Organizations$Locations$Postures$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizations$Locations$Postures$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizations$Locations$Postures$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Postures$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Postures$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizations$Locations$Postures$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securityposture.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists the most recent revisions of all Posture resources in a specified organization and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Organizations$Locations$Postures$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Organizations$Locations$Postures$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Organizations$Locations$Postures$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizations$Locations$Postures$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizations$Locations$Postures$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Postures$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Postures$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizations$Locations$Postures$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securityposture.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/postures').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists all revisions of a single Posture. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + listRevisions( + params: Params$Resource$Organizations$Locations$Postures$Listrevisions, + options: StreamMethodOptions + ): GaxiosPromise; + listRevisions( + params?: Params$Resource$Organizations$Locations$Postures$Listrevisions, + options?: MethodOptions + ): GaxiosPromise; + listRevisions( + params: Params$Resource$Organizations$Locations$Postures$Listrevisions, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listRevisions( + params: Params$Resource$Organizations$Locations$Postures$Listrevisions, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + listRevisions( + params: Params$Resource$Organizations$Locations$Postures$Listrevisions, + callback: BodyResponseCallback + ): void; + listRevisions( + callback: BodyResponseCallback + ): void; + listRevisions( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Postures$Listrevisions + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Postures$Listrevisions; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizations$Locations$Postures$Listrevisions; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securityposture.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}:listRevisions').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + + /** + * Updates a revision of an existing Posture. If the posture revision that you update is currently deployed, then a new revision of the posture is created. To prevent concurrent updates from overwriting each other, always follow the read-modify-write pattern when you update a posture: 1. Call GetPosture to get the current version of the posture. 2. Update the fields in the posture as needed. 3. Call UpdatePosture to update the posture. Ensure that your request includes the `etag` value from the GetPosture response. **Important:** If you omit the `etag` when you call UpdatePosture, then the updated posture unconditionally overwrites the existing posture. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + patch( + params: Params$Resource$Organizations$Locations$Postures$Patch, + options: StreamMethodOptions + ): GaxiosPromise; + patch( + params?: Params$Resource$Organizations$Locations$Postures$Patch, + options?: MethodOptions + ): GaxiosPromise; + patch( + params: Params$Resource$Organizations$Locations$Postures$Patch, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Organizations$Locations$Postures$Patch, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + patch( + params: Params$Resource$Organizations$Locations$Postures$Patch, + callback: BodyResponseCallback + ): void; + patch(callback: BodyResponseCallback): void; + patch( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Postures$Patch + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Postures$Patch; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizations$Locations$Postures$Patch; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securityposture.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'PATCH', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Organizations$Locations$Postures$Create + extends StandardParameters { + /** + * Required. The parent resource name, in the format `organizations/{organization\}/locations/global`. + */ + parent?: string; + /** + * Required. An identifier for the posture. + */ + postureId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Posture; + } + export interface Params$Resource$Organizations$Locations$Postures$Delete + extends StandardParameters { + /** + * Optional. An opaque identifier for the current version of the posture. If you provide this value, then it must match the existing value. If the values don't match, then the request fails with an ABORTED error. If you omit this value, then the posture is deleted regardless of its current `etag` value. + */ + etag?: string; + /** + * Required. The name of the Posture, in the format `organizations/{organization\}/locations/global/postures/{posture_id\}`. + */ + name?: string; + } + export interface Params$Resource$Organizations$Locations$Postures$Extract + extends StandardParameters { + /** + * Required. The parent resource name, in the format `organizations/{organization\}/locations/global`. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$ExtractPostureRequest; + } + export interface Params$Resource$Organizations$Locations$Postures$Get + extends StandardParameters { + /** + * Required. The name of the Posture, in the format `organizations/{organization\}/locations/global/postures/{posture_id\}`. + */ + name?: string; + /** + * Optional. The posture revision to retrieve. If not specified, the most recently updated revision is retrieved. + */ + revisionId?: string; + } + export interface Params$Resource$Organizations$Locations$Postures$List + extends StandardParameters { + /** + * Optional. A filter to apply to the list of postures, in the format defined in [AIP-160: Filtering](https://google.aip.dev/160). + */ + filter?: string; + /** + * The maximum number of postures to return. The default value is `500`. If you exceed the maximum value of `1000`, then the service uses the maximum value. + */ + pageSize?: number; + /** + * A pagination token returned from a previous request to list postures. Provide this token to retrieve the next page of results. + */ + pageToken?: string; + /** + * Required. The parent resource name, in the format `organizations/{organization\}/locations/global`. + */ + parent?: string; + } + export interface Params$Resource$Organizations$Locations$Postures$Listrevisions + extends StandardParameters { + /** + * Required. The name of the Posture, in the format `organizations/{organization\}/locations/global/postures/{posture_id\}`. + */ + name?: string; + /** + * Optional. The maximum number of posture revisions to return. The default value is `500`. If you exceed the maximum value of `1000`, then the service uses the maximum value. + */ + pageSize?: number; + /** + * Optional. A pagination token from a previous request to list posture revisions. Provide this token to retrieve the next page of results. + */ + pageToken?: string; + } + export interface Params$Resource$Organizations$Locations$Postures$Patch + extends StandardParameters { + /** + * Required. Identifier. The name of the posture, in the format `organizations/{organization\}/locations/global/postures/{posture_id\}`. + */ + name?: string; + /** + * Required. The revision ID of the posture to update. If the posture revision that you update is currently deployed, then a new revision of the posture is created. + */ + revisionId?: string; + /** + * Required. The fields in the Posture to update. You can update only the following fields: * Posture.description * Posture.policy_sets * Posture.state + */ + updateMask?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$Posture; + } + + export class Resource$Organizations$Locations$Posturetemplates { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets a single revision of a PostureTemplate. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Organizations$Locations$Posturetemplates$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Organizations$Locations$Posturetemplates$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Organizations$Locations$Posturetemplates$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizations$Locations$Posturetemplates$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizations$Locations$Posturetemplates$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Posturetemplates$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Posturetemplates$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizations$Locations$Posturetemplates$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securityposture.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists every PostureTemplate in a given organization and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Organizations$Locations$Posturetemplates$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Organizations$Locations$Posturetemplates$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Organizations$Locations$Posturetemplates$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizations$Locations$Posturetemplates$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizations$Locations$Posturetemplates$List, + callback: BodyResponseCallback + ): void; + list( + callback: BodyResponseCallback + ): void; + list( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Posturetemplates$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Posturetemplates$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizations$Locations$Posturetemplates$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securityposture.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/postureTemplates').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest( + parameters + ); + } + } + } + + export interface Params$Resource$Organizations$Locations$Posturetemplates$Get + extends StandardParameters { + /** + * Required. The name of the PostureTemplate, in the format `organizations/{organization\}/locations/global/postureTemplates/{posture_template\}`. + */ + name?: string; + /** + * Optional. The posture template revision to retrieve. If not specified, the most recently updated revision is retrieved. + */ + revisionId?: string; + } + export interface Params$Resource$Organizations$Locations$Posturetemplates$List + extends StandardParameters { + /** + * Optional. A filter to apply to the list of postures, in the format defined in [AIP-160: Filtering](https://google.aip.dev/160). + */ + filter?: string; + /** + * Optional. The maximum number of posture templates to return. The default value is `500`. If you exceed the maximum value of `1000`, then the service uses the maximum value. + */ + pageSize?: number; + /** + * Optional. A pagination token returned from a previous request to list posture templates. Provide this token to retrieve the next page of results. + */ + pageToken?: string; + /** + * Required. The parent resource name, in the format `organizations/{organization\}/locations/global`. + */ + parent?: string; + } + + export class Resource$Organizations$Locations$Reports { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Validates a specified infrastructure-as-code (IaC) configuration, and creates a Report with the validation results. Only Terraform configurations are supported. Only modified assets are validated. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + createIaCValidationReport( + params: Params$Resource$Organizations$Locations$Reports$Createiacvalidationreport, + options: StreamMethodOptions + ): GaxiosPromise; + createIaCValidationReport( + params?: Params$Resource$Organizations$Locations$Reports$Createiacvalidationreport, + options?: MethodOptions + ): GaxiosPromise; + createIaCValidationReport( + params: Params$Resource$Organizations$Locations$Reports$Createiacvalidationreport, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + createIaCValidationReport( + params: Params$Resource$Organizations$Locations$Reports$Createiacvalidationreport, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + createIaCValidationReport( + params: Params$Resource$Organizations$Locations$Reports$Createiacvalidationreport, + callback: BodyResponseCallback + ): void; + createIaCValidationReport( + callback: BodyResponseCallback + ): void; + createIaCValidationReport( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Reports$Createiacvalidationreport + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Reports$Createiacvalidationreport; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Organizations$Locations$Reports$Createiacvalidationreport; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securityposture.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v1/{+parent}/reports:createIaCValidationReport' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Gets details for a Report. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Organizations$Locations$Reports$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Organizations$Locations$Reports$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Organizations$Locations$Reports$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizations$Locations$Reports$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Organizations$Locations$Reports$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Reports$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Reports$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizations$Locations$Reports$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securityposture.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists every Report in a given organization and location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Organizations$Locations$Reports$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Organizations$Locations$Reports$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Organizations$Locations$Reports$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizations$Locations$Reports$List, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Organizations$Locations$Reports$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Organizations$Locations$Reports$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Organizations$Locations$Reports$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Organizations$Locations$Reports$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securityposture.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+parent}/reports').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['parent'], + pathParams: ['parent'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Organizations$Locations$Reports$Createiacvalidationreport + extends StandardParameters { + /** + * Required. The parent resource name, in the format `organizations/{organization\}/locations/global`. + */ + parent?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$CreateIaCValidationReportRequest; + } + export interface Params$Resource$Organizations$Locations$Reports$Get + extends StandardParameters { + /** + * Required. The name of the report, in the format `organizations/{organization\}/locations/global/reports/{report_id\}`. + */ + name?: string; + } + export interface Params$Resource$Organizations$Locations$Reports$List + extends StandardParameters { + /** + * Optional. A filter to apply to the list of reports, in the format defined in [AIP-160: Filtering](https://google.aip.dev/160). + */ + filter?: string; + /** + * Optional. The maximum number of reports to return. The default value is `500`. If you exceed the maximum value of `1000`, then the service uses the maximum value. + */ + pageSize?: number; + /** + * Optional. A pagination token returned from a previous request to list reports. Provide this token to retrieve the next page of results. + */ + pageToken?: string; + /** + * Required. The parent resource name, in the format `organizations/{organization\}/locations/global`. + */ + parent?: string; + } + + export class Resource$Projects { + context: APIRequestContext; + locations: Resource$Projects$Locations; + constructor(context: APIRequestContext) { + this.context = context; + this.locations = new Resource$Projects$Locations(this.context); + } + } + + export class Resource$Projects$Locations { + context: APIRequestContext; + constructor(context: APIRequestContext) { + this.context = context; + } + + /** + * Gets information about a location. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + get( + params: Params$Resource$Projects$Locations$Get, + options: StreamMethodOptions + ): GaxiosPromise; + get( + params?: Params$Resource$Projects$Locations$Get, + options?: MethodOptions + ): GaxiosPromise; + get( + params: Params$Resource$Projects$Locations$Get, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Get, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + get( + params: Params$Resource$Projects$Locations$Get, + callback: BodyResponseCallback + ): void; + get(callback: BodyResponseCallback): void; + get( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Get + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Get; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$Get; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securityposture.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}').replace(/([^:]\/)\/+/g, '$1'), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + + /** + * Lists information about the supported locations for this service. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + list( + params: Params$Resource$Projects$Locations$List, + options: StreamMethodOptions + ): GaxiosPromise; + list( + params?: Params$Resource$Projects$Locations$List, + options?: MethodOptions + ): GaxiosPromise; + list( + params: Params$Resource$Projects$Locations$List, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$List, + options: + | MethodOptions + | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + list( + params: Params$Resource$Projects$Locations$List, + callback: BodyResponseCallback + ): void; + list(callback: BodyResponseCallback): void; + list( + paramsOrCallback?: + | Params$Resource$Projects$Locations$List + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): + | void + | GaxiosPromise + | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$List; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Projects$Locations$List; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = + options.rootUrl || 'https://securityposture.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v1/{+name}/locations').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'GET', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + } + + export interface Params$Resource$Projects$Locations$Get + extends StandardParameters { + /** + * Resource name for the location. + */ + name?: string; + } + export interface Params$Resource$Projects$Locations$List + extends StandardParameters { + /** + * A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160). + */ + filter?: string; + /** + * The resource that owns the locations collection, if applicable. + */ + name?: string; + /** + * The maximum number of results to return. If not set, the service selects a default. + */ + pageSize?: number; + /** + * A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page. + */ + pageToken?: string; + } +} diff --git a/src/apis/securityposture/webpack.config.js b/src/apis/securityposture/webpack.config.js new file mode 100644 index 0000000000..3b65f57f34 --- /dev/null +++ b/src/apis/securityposture/webpack.config.js @@ -0,0 +1,79 @@ +// Copyright 2019 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Use `npm run webpack` to produce Webpack bundle for this library. + +const path = require('path'); + +module.exports = { + entry: './index.ts', + resolve: { + extensions: ['.ts', '.js', '.json'], + fallback: { + crypto: false, + child_process: false, + fs: false, + http2: false, + buffer: 'browserify', + process: false, + os: false, + querystring: false, + path: false, + stream: 'stream-browserify', + url: false, + util: false, + zlib: false, + }, + }, + output: { + library: 'Securityposture', + filename: 'securityposture.min.js', + path: path.resolve(__dirname, 'dist'), + }, + module: { + rules: [ + { + test: /node_modules[\\/]google-auth-library[\\/]src[\\/]crypto[\\/]node[\\/]crypto/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]https-proxy-agent[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]gcp-metadata[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]gtoken[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]pkginfo[\\/]/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]semver[\\/]/, + use: 'null-loader', + }, + { + test: /\.ts$/, + use: 'ts-loader', + exclude: /node_modules/, + }, + ], + }, + mode: 'production', + plugins: [], +}; diff --git a/src/apis/serviceconsumermanagement/v1.ts b/src/apis/serviceconsumermanagement/v1.ts index 54d7c522a1..eba90889ab 100644 --- a/src/apis/serviceconsumermanagement/v1.ts +++ b/src/apis/serviceconsumermanagement/v1.ts @@ -547,6 +547,10 @@ export namespace serviceconsumermanagement_v1 { * `Documentation` provides the information for describing a service. Example: documentation: summary: \> The Google Calendar API gives access to most calendar features. pages: - name: Overview content: (== include google/foo/overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==) rules: - selector: google.calendar.Calendar.Get description: \> ... - selector: google.calendar.Calendar.Put description: \> ... Documentation is provided in markdown syntax. In addition to standard markdown features, definition lists, tables and fenced code blocks are supported. Section headers can be provided and are interpreted relative to the section nesting of the context where a documentation fragment is embedded. Documentation from the IDL is merged with documentation defined via the config at normalization time, where documentation provided by config rules overrides IDL provided. A number of constructs specific to the API platform are supported in documentation text. In order to reference a proto element, the following notation can be used: [fully.qualified.proto.name][] To override the display text used for the link, this can be used: [display text][fully.qualified.proto.name] Text can be excluded from doc using the following notation: (-- internal comment --) A few directives are available in documentation. Note that directives must appear on a single line to be properly identified. The `include` directive includes a markdown file from an external source: (== include path/to/file ==) The `resource_for` directive marks a message to be the resource of a collection in REST view. If it is not specified, tools attempt to infer the resource from the operations in a collection: (== resource_for v1.shelves.books ==) The directive `suppress_warning` does not directly affect documentation and is documented together with service config validation. */ export interface Schema$Documentation { + /** + * Optional information about the IAM configuration. This is typically used to link to documentation about a product's IAM roles and permissions. + */ + additionalIamInfo?: string | null; /** * The URL to the root of documentation. */ @@ -701,6 +705,10 @@ export namespace serviceconsumermanagement_v1 { * Experimental features to be included during client library generation. These fields will be deprecated once the feature graduates and is enabled by default. */ export interface Schema$ExperimentalFeatures { + /** + * Enables generation of protobuf code using new types that are more Pythonic which are included in `protobuf\>=5.29.x`. This feature will be enabled by default 1 month after launching the feature in preview packages. + */ + protobufPythonicTypesEnabled?: boolean | null; /** * Enables generation of asynchronous REST clients if `rest` transport is enabled. By default, asynchronous REST clients will not be generated. This feature will be enabled by default 1 month after launching the feature in preview packages. */ @@ -776,6 +784,10 @@ export namespace serviceconsumermanagement_v1 { * Some settings. */ common?: Schema$CommonLanguageSettings; + /** + * Map of service names to renamed services. Keys are the package relative service names and values are the name to be used for the service client and call options. publishing: go_settings: renamed_services: Publisher: TopicAdmin + */ + renamedServices?: {[key: string]: string} | null; } /** * Defines the HTTP configuration for an API service. It contains a list of HttpRule, each specifying the mapping of an RPC method to one or more HTTP REST API methods. @@ -1405,7 +1417,7 @@ export namespace serviceconsumermanagement_v1 { */ name?: string | null; /** - * Specify the unit of the quota limit. It uses the same syntax as Metric.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * "1/min/{project\}" for quota per minute per project. Note: the order of unit components is insignificant. The "1" at the beginning is required to follow the metric unit syntax. + * Specify the unit of the quota limit. It uses the same syntax as MetricDescriptor.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * "1/min/{project\}" for quota per minute per project. Note: the order of unit components is insignificant. The "1" at the beginning is required to follow the metric unit syntax. */ unit?: string | null; /** @@ -2050,7 +2062,7 @@ export namespace serviceconsumermanagement_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/serviceconsumermanagement/v1beta1.ts b/src/apis/serviceconsumermanagement/v1beta1.ts index 3533dcc966..bccf403322 100644 --- a/src/apis/serviceconsumermanagement/v1beta1.ts +++ b/src/apis/serviceconsumermanagement/v1beta1.ts @@ -473,6 +473,10 @@ export namespace serviceconsumermanagement_v1beta1 { * `Documentation` provides the information for describing a service. Example: documentation: summary: \> The Google Calendar API gives access to most calendar features. pages: - name: Overview content: (== include google/foo/overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==) rules: - selector: google.calendar.Calendar.Get description: \> ... - selector: google.calendar.Calendar.Put description: \> ... Documentation is provided in markdown syntax. In addition to standard markdown features, definition lists, tables and fenced code blocks are supported. Section headers can be provided and are interpreted relative to the section nesting of the context where a documentation fragment is embedded. Documentation from the IDL is merged with documentation defined via the config at normalization time, where documentation provided by config rules overrides IDL provided. A number of constructs specific to the API platform are supported in documentation text. In order to reference a proto element, the following notation can be used: [fully.qualified.proto.name][] To override the display text used for the link, this can be used: [display text][fully.qualified.proto.name] Text can be excluded from doc using the following notation: (-- internal comment --) A few directives are available in documentation. Note that directives must appear on a single line to be properly identified. The `include` directive includes a markdown file from an external source: (== include path/to/file ==) The `resource_for` directive marks a message to be the resource of a collection in REST view. If it is not specified, tools attempt to infer the resource from the operations in a collection: (== resource_for v1.shelves.books ==) The directive `suppress_warning` does not directly affect documentation and is documented together with service config validation. */ export interface Schema$Documentation { + /** + * Optional information about the IAM configuration. This is typically used to link to documentation about a product's IAM roles and permissions. + */ + additionalIamInfo?: string | null; /** * The URL to the root of documentation. */ @@ -627,6 +631,10 @@ export namespace serviceconsumermanagement_v1beta1 { * Experimental features to be included during client library generation. These fields will be deprecated once the feature graduates and is enabled by default. */ export interface Schema$ExperimentalFeatures { + /** + * Enables generation of protobuf code using new types that are more Pythonic which are included in `protobuf\>=5.29.x`. This feature will be enabled by default 1 month after launching the feature in preview packages. + */ + protobufPythonicTypesEnabled?: boolean | null; /** * Enables generation of asynchronous REST clients if `rest` transport is enabled. By default, asynchronous REST clients will not be generated. This feature will be enabled by default 1 month after launching the feature in preview packages. */ @@ -702,6 +710,10 @@ export namespace serviceconsumermanagement_v1beta1 { * Some settings. */ common?: Schema$CommonLanguageSettings; + /** + * Map of service names to renamed services. Keys are the package relative service names and values are the name to be used for the service client and call options. publishing: go_settings: renamed_services: Publisher: TopicAdmin + */ + renamedServices?: {[key: string]: string} | null; } /** * Defines the HTTP configuration for an API service. It contains a list of HttpRule, each specifying the mapping of an RPC method to one or more HTTP REST API methods. @@ -1292,7 +1304,7 @@ export namespace serviceconsumermanagement_v1beta1 { */ name?: string | null; /** - * Specify the unit of the quota limit. It uses the same syntax as Metric.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * "1/min/{project\}" for quota per minute per project. Note: the order of unit components is insignificant. The "1" at the beginning is required to follow the metric unit syntax. + * Specify the unit of the quota limit. It uses the same syntax as MetricDescriptor.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * "1/min/{project\}" for quota per minute per project. Note: the order of unit components is insignificant. The "1" at the beginning is required to follow the metric unit syntax. */ unit?: string | null; /** @@ -1759,13 +1771,17 @@ export namespace serviceconsumermanagement_v1beta1 { */ export interface Schema$V1Beta1ImportProducerQuotaPoliciesRequest { /** - * Whether to force the import of the quota policies. If the policy import would decrease the default limit of any consumer tier by more than 10 percent, the call is rejected, as a safety measure to avoid accidentally decreasing quota too quickly. Setting the force parameter to true ignores this restriction. + * Whether quota policy can result in a decrease of effective limit. Don't allow any decreases if force is not specified. If force is specified, then don't allow any decreases below 120% of the 7d quota usage, or for cases where usage cannot be examined (custom dimensions/ per user/per resource), only allow a 10% decrease. */ force?: boolean | null; /** - * If force option is set to true, force_justification is suggested to be set to log the reason in audit logs. + * If force or force_skip_quota_usage_check option is set to true, force_justification is suggested to be set to log the reason in audit logs. */ forceJustification?: string | null; + /** + * If set to true, skip the quota usage check. This field is only used when the effective limit can be decreased. If the force field is not set, this field will be ignored. + */ + forceSkipQuotaUsageCheck?: boolean | null; /** * The import data is specified in the request message itself */ diff --git a/src/apis/servicecontrol/v1.ts b/src/apis/servicecontrol/v1.ts index dffc30d867..70784f789c 100644 --- a/src/apis/servicecontrol/v1.ts +++ b/src/apis/servicecontrol/v1.ts @@ -173,7 +173,7 @@ export namespace servicecontrol_v1 { */ export interface Schema$Attributes { /** - * The set of attributes. Each attribute's key can be up to 128 bytes long. The value can be a string up to 256 bytes, a signed 64-bit integer, or the Boolean values `true` and `false`. For example: "/instance_id": "my-instance" "/http/user_agent": "" "/http/request_bytes": 300 "abc.com/myattribute": true + * The set of attributes. Each attribute's key can be up to 128 bytes long. The value can be a string up to 256 bytes, a signed 64-bit integer, or the Boolean values `true` and `false`. For example: "/instance_id": "my-instance" "/http/user_agent": "" "/http/request_bytes": 300 "example.com/myattribute": true */ attributeMap?: {[key: string]: Schema$AttributeValue} | null; /** @@ -279,10 +279,6 @@ export namespace servicecontrol_v1 { * Structured claims presented with the credential. JWTs include `{key: value\}` pairs for standard and private claims. The following is a subset of the standard required and optional claims that would typically be presented for a Google-based JWT: {'iss': 'accounts.google.com', 'sub': '113289723416554971153', 'aud': ['123456789012', 'pubsub.googleapis.com'], 'azp': '123456789012.apps.googleusercontent.com', 'email': 'jsmith@example.com', 'iat': 1353601026, 'exp': 1353604926\} SAML assertions are similarly specified, but with an identity provider dependent structure. */ claims?: {[key: string]: any} | null; - /** - * Identifies the client credential id used for authentication. credential_id is in the format of AUTH_METHOD:IDENTIFIER, e.g. "serviceaccount:XXXXX, apikey:XXXXX" where the format of the IDENTIFIER can vary for different AUTH_METHODs. - */ - credentialId?: string | null; /** * The authorized presenter of the credential. Reflects the optional Authorized Presenter (`azp`) claim within a JWT or the OAuth client id. For example, a Google Cloud Platform client id looks as follows: "123456789012.apps.googleusercontent.com". */ @@ -585,7 +581,7 @@ export namespace servicecontrol_v1 { */ protocol?: string | null; /** - * The referer URL of the request, as defined in [HTTP/1.1 Header Field Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). + * The referer URL of the request, as defined in [HTTP/1.1 Header Field Definitions](https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). */ referer?: string | null; /** @@ -1369,7 +1365,7 @@ export namespace servicecontrol_v1 { */ protocol?: string | null; /** - * The referer URL of the request, as defined in [HTTP/1.1 Header Field Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). + * The referer URL of the request, as defined in [HTTP/1.1 Header Field Definitions](https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). */ referer?: string | null; /** diff --git a/src/apis/servicecontrol/v2.ts b/src/apis/servicecontrol/v2.ts index 6b01ab0e77..bbf134bac2 100644 --- a/src/apis/servicecontrol/v2.ts +++ b/src/apis/servicecontrol/v2.ts @@ -263,10 +263,6 @@ export namespace servicecontrol_v2 { * Structured claims presented with the credential. JWTs include `{key: value\}` pairs for standard and private claims. The following is a subset of the standard required and optional claims that would typically be presented for a Google-based JWT: {'iss': 'accounts.google.com', 'sub': '113289723416554971153', 'aud': ['123456789012', 'pubsub.googleapis.com'], 'azp': '123456789012.apps.googleusercontent.com', 'email': 'jsmith@example.com', 'iat': 1353601026, 'exp': 1353604926\} SAML assertions are similarly specified, but with an identity provider dependent structure. */ claims?: {[key: string]: any} | null; - /** - * Identifies the client credential id used for authentication. credential_id is in the format of AUTH_METHOD:IDENTIFIER, e.g. "serviceaccount:XXXXX, apikey:XXXXX" where the format of the IDENTIFIER can vary for different AUTH_METHODs. - */ - credentialId?: string | null; /** * The authorized presenter of the credential. Reflects the optional Authorized Presenter (`azp`) claim within a JWT or the OAuth client id. For example, a Google Cloud Platform client id looks as follows: "123456789012.apps.googleusercontent.com". */ @@ -359,6 +355,10 @@ export namespace servicecontrol_v2 { * Response message for the Check method. */ export interface Schema$CheckResponse { + /** + * Optional response metadata that will be emitted as dynamic metadata to be consumed by the caller of ServiceController. For compatibility with the ext_authz interface. + */ + dynamicMetadata?: {[key: string]: any} | null; /** * Returns a set of request contexts generated from the `CheckRequest`. */ @@ -763,7 +763,7 @@ export namespace servicecontrol_v2 { */ protocol?: string | null; /** - * The referer URL of the request, as defined in [HTTP/1.1 Header Field Definitions](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). + * The referer URL of the request, as defined in [HTTP/1.1 Header Field Definitions](https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). */ referer?: string | null; /** diff --git a/src/apis/servicemanagement/v1.ts b/src/apis/servicemanagement/v1.ts index 70d2e18310..3a88f564db 100644 --- a/src/apis/servicemanagement/v1.ts +++ b/src/apis/servicemanagement/v1.ts @@ -619,6 +619,10 @@ export namespace servicemanagement_v1 { * `Documentation` provides the information for describing a service. Example: documentation: summary: \> The Google Calendar API gives access to most calendar features. pages: - name: Overview content: (== include google/foo/overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==) rules: - selector: google.calendar.Calendar.Get description: \> ... - selector: google.calendar.Calendar.Put description: \> ... Documentation is provided in markdown syntax. In addition to standard markdown features, definition lists, tables and fenced code blocks are supported. Section headers can be provided and are interpreted relative to the section nesting of the context where a documentation fragment is embedded. Documentation from the IDL is merged with documentation defined via the config at normalization time, where documentation provided by config rules overrides IDL provided. A number of constructs specific to the API platform are supported in documentation text. In order to reference a proto element, the following notation can be used: [fully.qualified.proto.name][] To override the display text used for the link, this can be used: [display text][fully.qualified.proto.name] Text can be excluded from doc using the following notation: (-- internal comment --) A few directives are available in documentation. Note that directives must appear on a single line to be properly identified. The `include` directive includes a markdown file from an external source: (== include path/to/file ==) The `resource_for` directive marks a message to be the resource of a collection in REST view. If it is not specified, tools attempt to infer the resource from the operations in a collection: (== resource_for v1.shelves.books ==) The directive `suppress_warning` does not directly affect documentation and is documented together with service config validation. */ export interface Schema$Documentation { + /** + * Optional information about the IAM configuration. This is typically used to link to documentation about a product's IAM roles and permissions. + */ + additionalIamInfo?: string | null; /** * The URL to the root of documentation. */ @@ -773,6 +777,10 @@ export namespace servicemanagement_v1 { * Experimental features to be included during client library generation. These fields will be deprecated once the feature graduates and is enabled by default. */ export interface Schema$ExperimentalFeatures { + /** + * Enables generation of protobuf code using new types that are more Pythonic which are included in `protobuf\>=5.29.x`. This feature will be enabled by default 1 month after launching the feature in preview packages. + */ + protobufPythonicTypesEnabled?: boolean | null; /** * Enables generation of asynchronous REST clients if `rest` transport is enabled. By default, asynchronous REST clients will not be generated. This feature will be enabled by default 1 month after launching the feature in preview packages. */ @@ -934,6 +942,10 @@ export namespace servicemanagement_v1 { * Some settings. */ common?: Schema$CommonLanguageSettings; + /** + * Map of service names to renamed services. Keys are the package relative service names and values are the name to be used for the service client and call options. publishing: go_settings: renamed_services: Publisher: TopicAdmin + */ + renamedServices?: {[key: string]: string} | null; } /** * Defines the HTTP configuration for an API service. It contains a list of HttpRule, each specifying the mapping of an RPC method to one or more HTTP REST API methods. @@ -1644,7 +1656,7 @@ export namespace servicemanagement_v1 { */ name?: string | null; /** - * Specify the unit of the quota limit. It uses the same syntax as Metric.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * "1/min/{project\}" for quota per minute per project. Note: the order of unit components is insignificant. The "1" at the beginning is required to follow the metric unit syntax. + * Specify the unit of the quota limit. It uses the same syntax as MetricDescriptor.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * "1/min/{project\}" for quota per minute per project. Note: the order of unit components is insignificant. The "1" at the beginning is required to follow the metric unit syntax. */ unit?: string | null; /** diff --git a/src/apis/servicenetworking/v1.ts b/src/apis/servicenetworking/v1.ts index 57405ca8bd..b8186dd47f 100644 --- a/src/apis/servicenetworking/v1.ts +++ b/src/apis/servicenetworking/v1.ts @@ -824,6 +824,10 @@ export namespace servicenetworking_v1 { * `Documentation` provides the information for describing a service. Example: documentation: summary: \> The Google Calendar API gives access to most calendar features. pages: - name: Overview content: (== include google/foo/overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==) rules: - selector: google.calendar.Calendar.Get description: \> ... - selector: google.calendar.Calendar.Put description: \> ... Documentation is provided in markdown syntax. In addition to standard markdown features, definition lists, tables and fenced code blocks are supported. Section headers can be provided and are interpreted relative to the section nesting of the context where a documentation fragment is embedded. Documentation from the IDL is merged with documentation defined via the config at normalization time, where documentation provided by config rules overrides IDL provided. A number of constructs specific to the API platform are supported in documentation text. In order to reference a proto element, the following notation can be used: [fully.qualified.proto.name][] To override the display text used for the link, this can be used: [display text][fully.qualified.proto.name] Text can be excluded from doc using the following notation: (-- internal comment --) A few directives are available in documentation. Note that directives must appear on a single line to be properly identified. The `include` directive includes a markdown file from an external source: (== include path/to/file ==) The `resource_for` directive marks a message to be the resource of a collection in REST view. If it is not specified, tools attempt to infer the resource from the operations in a collection: (== resource_for v1.shelves.books ==) The directive `suppress_warning` does not directly affect documentation and is documented together with service config validation. */ export interface Schema$Documentation { + /** + * Optional information about the IAM configuration. This is typically used to link to documentation about a product's IAM roles and permissions. + */ + additionalIamInfo?: string | null; /** * The URL to the root of documentation. */ @@ -987,6 +991,10 @@ export namespace servicenetworking_v1 { * Experimental features to be included during client library generation. These fields will be deprecated once the feature graduates and is enabled by default. */ export interface Schema$ExperimentalFeatures { + /** + * Enables generation of protobuf code using new types that are more Pythonic which are included in `protobuf\>=5.29.x`. This feature will be enabled by default 1 month after launching the feature in preview packages. + */ + protobufPythonicTypesEnabled?: boolean | null; /** * Enables generation of asynchronous REST clients if `rest` transport is enabled. By default, asynchronous REST clients will not be generated. This feature will be enabled by default 1 month after launching the feature in preview packages. */ @@ -1134,6 +1142,10 @@ export namespace servicenetworking_v1 { * Some settings. */ common?: Schema$CommonLanguageSettings; + /** + * Map of service names to renamed services. Keys are the package relative service names and values are the name to be used for the service client and call options. publishing: go_settings: renamed_services: Publisher: TopicAdmin + */ + renamedServices?: {[key: string]: string} | null; } /** * Defines the HTTP configuration for an API service. It contains a list of HttpRule, each specifying the mapping of an RPC method to one or more HTTP REST API methods. @@ -1807,7 +1819,7 @@ export namespace servicenetworking_v1 { */ name?: string | null; /** - * Specify the unit of the quota limit. It uses the same syntax as Metric.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * "1/min/{project\}" for quota per minute per project. Note: the order of unit components is insignificant. The "1" at the beginning is required to follow the metric unit syntax. + * Specify the unit of the quota limit. It uses the same syntax as MetricDescriptor.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * "1/min/{project\}" for quota per minute per project. Note: the order of unit components is insignificant. The "1" at the beginning is required to follow the metric unit syntax. */ unit?: string | null; /** @@ -2349,7 +2361,7 @@ export namespace servicenetworking_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -4973,7 +4985,7 @@ export namespace servicenetworking_v1 { export interface Params$Resource$Services$Projects$Global$Networks$Dnszones$Get extends StandardParameters { /** - * Required. The network that the consumer is using to connect with services. Must be in the form of services/{service\}/projects/{project\}/global/networks/{network\}/zones/{zoneName\} Where {service\} is the peering service that is managing connectivity for the service producer's organization. For Google services that support this {project\} is the project number, as in '12345' {network\} is the network name. {zoneName\} is the DNS zone name + * Required. The network that the consumer is using to connect with services. Must be in the form of services/{service\}/projects/{project\}/global/networks/{network\}/dnsZones/{zoneName\} Where {service\} is the peering service that is managing connectivity for the service producer's organization. For Google services that support this {project\} is the project number, as in '12345' {network\} is the network name. {zoneName\} is the DNS zone name */ name?: string; } diff --git a/src/apis/servicenetworking/v1beta.ts b/src/apis/servicenetworking/v1beta.ts index 2b7eb4032e..1f643bd6a4 100644 --- a/src/apis/servicenetworking/v1beta.ts +++ b/src/apis/servicenetworking/v1beta.ts @@ -685,6 +685,10 @@ export namespace servicenetworking_v1beta { * `Documentation` provides the information for describing a service. Example: documentation: summary: \> The Google Calendar API gives access to most calendar features. pages: - name: Overview content: (== include google/foo/overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==) rules: - selector: google.calendar.Calendar.Get description: \> ... - selector: google.calendar.Calendar.Put description: \> ... Documentation is provided in markdown syntax. In addition to standard markdown features, definition lists, tables and fenced code blocks are supported. Section headers can be provided and are interpreted relative to the section nesting of the context where a documentation fragment is embedded. Documentation from the IDL is merged with documentation defined via the config at normalization time, where documentation provided by config rules overrides IDL provided. A number of constructs specific to the API platform are supported in documentation text. In order to reference a proto element, the following notation can be used: [fully.qualified.proto.name][] To override the display text used for the link, this can be used: [display text][fully.qualified.proto.name] Text can be excluded from doc using the following notation: (-- internal comment --) A few directives are available in documentation. Note that directives must appear on a single line to be properly identified. The `include` directive includes a markdown file from an external source: (== include path/to/file ==) The `resource_for` directive marks a message to be the resource of a collection in REST view. If it is not specified, tools attempt to infer the resource from the operations in a collection: (== resource_for v1.shelves.books ==) The directive `suppress_warning` does not directly affect documentation and is documented together with service config validation. */ export interface Schema$Documentation { + /** + * Optional information about the IAM configuration. This is typically used to link to documentation about a product's IAM roles and permissions. + */ + additionalIamInfo?: string | null; /** * The URL to the root of documentation. */ @@ -835,6 +839,10 @@ export namespace servicenetworking_v1beta { * Experimental features to be included during client library generation. These fields will be deprecated once the feature graduates and is enabled by default. */ export interface Schema$ExperimentalFeatures { + /** + * Enables generation of protobuf code using new types that are more Pythonic which are included in `protobuf\>=5.29.x`. This feature will be enabled by default 1 month after launching the feature in preview packages. + */ + protobufPythonicTypesEnabled?: boolean | null; /** * Enables generation of asynchronous REST clients if `rest` transport is enabled. By default, asynchronous REST clients will not be generated. This feature will be enabled by default 1 month after launching the feature in preview packages. */ @@ -969,6 +977,10 @@ export namespace servicenetworking_v1beta { * Some settings. */ common?: Schema$CommonLanguageSettings; + /** + * Map of service names to renamed services. Keys are the package relative service names and values are the name to be used for the service client and call options. publishing: go_settings: renamed_services: Publisher: TopicAdmin + */ + renamedServices?: {[key: string]: string} | null; } /** * Defines the HTTP configuration for an API service. It contains a list of HttpRule, each specifying the mapping of an RPC method to one or more HTTP REST API methods. @@ -1602,7 +1614,7 @@ export namespace servicenetworking_v1beta { */ name?: string | null; /** - * Specify the unit of the quota limit. It uses the same syntax as Metric.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * "1/min/{project\}" for quota per minute per project. Note: the order of unit components is insignificant. The "1" at the beginning is required to follow the metric unit syntax. + * Specify the unit of the quota limit. It uses the same syntax as MetricDescriptor.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * "1/min/{project\}" for quota per minute per project. Note: the order of unit components is insignificant. The "1" at the beginning is required to follow the metric unit syntax. */ unit?: string | null; /** diff --git a/src/apis/serviceusage/v1.ts b/src/apis/serviceusage/v1.ts index 291e4615fd..cab73299b6 100644 --- a/src/apis/serviceusage/v1.ts +++ b/src/apis/serviceusage/v1.ts @@ -674,6 +674,10 @@ export namespace serviceusage_v1 { * `Documentation` provides the information for describing a service. Example: documentation: summary: \> The Google Calendar API gives access to most calendar features. pages: - name: Overview content: (== include google/foo/overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==) rules: - selector: google.calendar.Calendar.Get description: \> ... - selector: google.calendar.Calendar.Put description: \> ... Documentation is provided in markdown syntax. In addition to standard markdown features, definition lists, tables and fenced code blocks are supported. Section headers can be provided and are interpreted relative to the section nesting of the context where a documentation fragment is embedded. Documentation from the IDL is merged with documentation defined via the config at normalization time, where documentation provided by config rules overrides IDL provided. A number of constructs specific to the API platform are supported in documentation text. In order to reference a proto element, the following notation can be used: [fully.qualified.proto.name][] To override the display text used for the link, this can be used: [display text][fully.qualified.proto.name] Text can be excluded from doc using the following notation: (-- internal comment --) A few directives are available in documentation. Note that directives must appear on a single line to be properly identified. The `include` directive includes a markdown file from an external source: (== include path/to/file ==) The `resource_for` directive marks a message to be the resource of a collection in REST view. If it is not specified, tools attempt to infer the resource from the operations in a collection: (== resource_for v1.shelves.books ==) The directive `suppress_warning` does not directly affect documentation and is documented together with service config validation. */ export interface Schema$Documentation { + /** + * Optional information about the IAM configuration. This is typically used to link to documentation about a product's IAM roles and permissions. + */ + additionalIamInfo?: string | null; /** * The URL to the root of documentation. */ @@ -875,6 +879,10 @@ export namespace serviceusage_v1 { * Experimental features to be included during client library generation. These fields will be deprecated once the feature graduates and is enabled by default. */ export interface Schema$ExperimentalFeatures { + /** + * Enables generation of protobuf code using new types that are more Pythonic which are included in `protobuf\>=5.29.x`. This feature will be enabled by default 1 month after launching the feature in preview packages. + */ + protobufPythonicTypesEnabled?: boolean | null; /** * Enables generation of asynchronous REST clients if `rest` transport is enabled. By default, asynchronous REST clients will not be generated. This feature will be enabled by default 1 month after launching the feature in preview packages. */ @@ -1219,6 +1227,108 @@ export namespace serviceusage_v1 { * Metadata for the `UpdateConsumerPolicy` method. */ export interface Schema$GoogleApiServiceusageV2alphaUpdateConsumerPolicyMetadata {} + /** + * A message to group the analysis information. + */ + export interface Schema$GoogleApiServiceusageV2betaAnalysis { + /** + * Output only. Analysis result of updating a policy. + */ + analysis?: Schema$GoogleApiServiceusageV2betaAnalysisResult; + /** + * Output only. The type of analysis. + */ + analysisType?: string | null; + /** + * Output only. The user friendly display name of the analysis type. E.g. service dependency analysis, service resource usage analysis, etc. + */ + displayName?: string | null; + /** + * The names of the service that has analysis result of warnings or blockers. Example: `services/storage.googleapis.com`. + */ + service?: string | null; + } + /** + * An analysis result including blockers and warnings. + */ + export interface Schema$GoogleApiServiceusageV2betaAnalysisResult { + /** + * Blocking information that would prevent the policy changes at runtime. + */ + blockers?: Schema$GoogleApiServiceusageV2betaImpact[]; + /** + * Warning information indicating that the policy changes might be unsafe, but will not block the changes at runtime. + */ + warnings?: Schema$GoogleApiServiceusageV2betaImpact[]; + } + /** + * Metadata for the `AnalyzeConsumerPolicy` method. + */ + export interface Schema$GoogleApiServiceusageV2betaAnalyzeConsumerPolicyMetadata {} + /** + * The response of analyzing a consumer policy update. + */ + export interface Schema$GoogleApiServiceusageV2betaAnalyzeConsumerPolicyResponse { + /** + * The list of analyses returned from performing the intended policy update analysis. The analysis is grouped by service name and different analysis types. The empty analysis list means that the consumer policy can be updated without any warnings or blockers. + */ + analysis?: Schema$GoogleApiServiceusageV2betaAnalysis[]; + } + /** + * Consumer Policy is a set of rules that define what services or service groups can be used for a cloud resource hierarchy. + */ + export interface Schema$GoogleApiServiceusageV2betaConsumerPolicy { + /** + * Optional. Annotations is an unstructured key-value map stored with a policy that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. [AIP-128](https://google.aip.dev/128#annotations) + */ + annotations?: {[key: string]: string} | null; + /** + * Output only. The time the policy was created. For singleton policies, this is the first touch of the policy. + */ + createTime?: string | null; + /** + * Enable rules define usable services, groups, and categories. There can currently be at most one `EnableRule`. This restriction will be lifted in later releases. + */ + enableRules?: Schema$GoogleApiServiceusageV2betaEnableRule[]; + /** + * Output only. An opaque tag indicating the current version of the policy, used for concurrency control. + */ + etag?: string | null; + /** + * Output only. The resource name of the policy. Only the `default` policy is supported: `projects/12345/consumerPolicies/default`, `folders/12345/consumerPolicies/default`, `organizations/12345/consumerPolicies/default`. + */ + name?: string | null; + /** + * Output only. The time the policy was last updated. + */ + updateTime?: string | null; + } + /** + * The consumer policy rule that defines enabled services, groups, and categories. + */ + export interface Schema$GoogleApiServiceusageV2betaEnableRule { + /** + * The names of the services that are enabled. Example: `services/storage.googleapis.com`. + */ + services?: string[] | null; + } + /** + * A message to group impacts of updating a policy. + */ + export interface Schema$GoogleApiServiceusageV2betaImpact { + /** + * Output only. User friendly impact detail in a free form message. + */ + detail?: string | null; + /** + * Output only. The type of impact. + */ + impactType?: string | null; + } + /** + * Metadata for the `UpdateConsumerPolicy` method. + */ + export interface Schema$GoogleApiServiceusageV2betaUpdateConsumerPolicyMetadata {} /** * Settings for Go client libraries. */ @@ -1227,6 +1337,10 @@ export namespace serviceusage_v1 { * Some settings. */ common?: Schema$CommonLanguageSettings; + /** + * Map of service names to renamed services. Keys are the package relative service names and values are the name to be used for the service client and call options. publishing: go_settings: renamed_services: Publisher: TopicAdmin + */ + renamedServices?: {[key: string]: string} | null; } /** * Defines the HTTP configuration for an API service. It contains a list of HttpRule, each specifying the mapping of an RPC method to one or more HTTP REST API methods. @@ -1298,6 +1412,10 @@ export namespace serviceusage_v1 { * Output only. The type of impact. */ impactType?: string | null; + /** + * The parent resource that the analysis is based on and the service name that the analysis is for. Example: `projects/100/services/compute.googleapis.com`, folders/101/services/compute.googleapis.com` and `organizations/102/services/compute.googleapis.com`. Usually, the parent resource here is same as the parent resource of the analyzed policy. However, for some analysis types, the parent can be different. For example, for resource existence analysis, if the parent resource of the analyzed policy is a folder or an organization, the parent resource here can still be the project that contains the resources. + */ + parent?: string | null; } /** * Metadata message that provides information such as progress, partial failures, and similar information on each GetOperation call of LRO returned by ImportAdminOverrides. @@ -1904,7 +2022,7 @@ export namespace serviceusage_v1 { */ name?: string | null; /** - * Specify the unit of the quota limit. It uses the same syntax as Metric.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * "1/min/{project\}" for quota per minute per project. Note: the order of unit components is insignificant. The "1" at the beginning is required to follow the metric unit syntax. + * Specify the unit of the quota limit. It uses the same syntax as MetricDescriptor.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * "1/min/{project\}" for quota per minute per project. Note: the order of unit components is insignificant. The "1" at the beginning is required to follow the metric unit syntax. */ unit?: string | null; /** @@ -2146,7 +2264,7 @@ export namespace serviceusage_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/serviceusage/v1beta1.ts b/src/apis/serviceusage/v1beta1.ts index 738e44bfd1..a06af2e920 100644 --- a/src/apis/serviceusage/v1beta1.ts +++ b/src/apis/serviceusage/v1beta1.ts @@ -714,6 +714,10 @@ export namespace serviceusage_v1beta1 { * `Documentation` provides the information for describing a service. Example: documentation: summary: \> The Google Calendar API gives access to most calendar features. pages: - name: Overview content: (== include google/foo/overview.md ==) - name: Tutorial content: (== include google/foo/tutorial.md ==) subpages: - name: Java content: (== include google/foo/tutorial_java.md ==) rules: - selector: google.calendar.Calendar.Get description: \> ... - selector: google.calendar.Calendar.Put description: \> ... Documentation is provided in markdown syntax. In addition to standard markdown features, definition lists, tables and fenced code blocks are supported. Section headers can be provided and are interpreted relative to the section nesting of the context where a documentation fragment is embedded. Documentation from the IDL is merged with documentation defined via the config at normalization time, where documentation provided by config rules overrides IDL provided. A number of constructs specific to the API platform are supported in documentation text. In order to reference a proto element, the following notation can be used: [fully.qualified.proto.name][] To override the display text used for the link, this can be used: [display text][fully.qualified.proto.name] Text can be excluded from doc using the following notation: (-- internal comment --) A few directives are available in documentation. Note that directives must appear on a single line to be properly identified. The `include` directive includes a markdown file from an external source: (== include path/to/file ==) The `resource_for` directive marks a message to be the resource of a collection in REST view. If it is not specified, tools attempt to infer the resource from the operations in a collection: (== resource_for v1.shelves.books ==) The directive `suppress_warning` does not directly affect documentation and is documented together with service config validation. */ export interface Schema$Documentation { + /** + * Optional information about the IAM configuration. This is typically used to link to documentation about a product's IAM roles and permissions. + */ + additionalIamInfo?: string | null; /** * The URL to the root of documentation. */ @@ -915,6 +919,10 @@ export namespace serviceusage_v1beta1 { * Experimental features to be included during client library generation. These fields will be deprecated once the feature graduates and is enabled by default. */ export interface Schema$ExperimentalFeatures { + /** + * Enables generation of protobuf code using new types that are more Pythonic which are included in `protobuf\>=5.29.x`. This feature will be enabled by default 1 month after launching the feature in preview packages. + */ + protobufPythonicTypesEnabled?: boolean | null; /** * Enables generation of asynchronous REST clients if `rest` transport is enabled. By default, asynchronous REST clients will not be generated. This feature will be enabled by default 1 month after launching the feature in preview packages. */ @@ -1259,6 +1267,108 @@ export namespace serviceusage_v1beta1 { * Metadata for the `UpdateConsumerPolicy` method. */ export interface Schema$GoogleApiServiceusageV2alphaUpdateConsumerPolicyMetadata {} + /** + * A message to group the analysis information. + */ + export interface Schema$GoogleApiServiceusageV2betaAnalysis { + /** + * Output only. Analysis result of updating a policy. + */ + analysis?: Schema$GoogleApiServiceusageV2betaAnalysisResult; + /** + * Output only. The type of analysis. + */ + analysisType?: string | null; + /** + * Output only. The user friendly display name of the analysis type. E.g. service dependency analysis, service resource usage analysis, etc. + */ + displayName?: string | null; + /** + * The names of the service that has analysis result of warnings or blockers. Example: `services/storage.googleapis.com`. + */ + service?: string | null; + } + /** + * An analysis result including blockers and warnings. + */ + export interface Schema$GoogleApiServiceusageV2betaAnalysisResult { + /** + * Blocking information that would prevent the policy changes at runtime. + */ + blockers?: Schema$GoogleApiServiceusageV2betaImpact[]; + /** + * Warning information indicating that the policy changes might be unsafe, but will not block the changes at runtime. + */ + warnings?: Schema$GoogleApiServiceusageV2betaImpact[]; + } + /** + * Metadata for the `AnalyzeConsumerPolicy` method. + */ + export interface Schema$GoogleApiServiceusageV2betaAnalyzeConsumerPolicyMetadata {} + /** + * The response of analyzing a consumer policy update. + */ + export interface Schema$GoogleApiServiceusageV2betaAnalyzeConsumerPolicyResponse { + /** + * The list of analyses returned from performing the intended policy update analysis. The analysis is grouped by service name and different analysis types. The empty analysis list means that the consumer policy can be updated without any warnings or blockers. + */ + analysis?: Schema$GoogleApiServiceusageV2betaAnalysis[]; + } + /** + * Consumer Policy is a set of rules that define what services or service groups can be used for a cloud resource hierarchy. + */ + export interface Schema$GoogleApiServiceusageV2betaConsumerPolicy { + /** + * Optional. Annotations is an unstructured key-value map stored with a policy that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. [AIP-128](https://google.aip.dev/128#annotations) + */ + annotations?: {[key: string]: string} | null; + /** + * Output only. The time the policy was created. For singleton policies, this is the first touch of the policy. + */ + createTime?: string | null; + /** + * Enable rules define usable services, groups, and categories. There can currently be at most one `EnableRule`. This restriction will be lifted in later releases. + */ + enableRules?: Schema$GoogleApiServiceusageV2betaEnableRule[]; + /** + * Output only. An opaque tag indicating the current version of the policy, used for concurrency control. + */ + etag?: string | null; + /** + * Output only. The resource name of the policy. Only the `default` policy is supported: `projects/12345/consumerPolicies/default`, `folders/12345/consumerPolicies/default`, `organizations/12345/consumerPolicies/default`. + */ + name?: string | null; + /** + * Output only. The time the policy was last updated. + */ + updateTime?: string | null; + } + /** + * The consumer policy rule that defines enabled services, groups, and categories. + */ + export interface Schema$GoogleApiServiceusageV2betaEnableRule { + /** + * The names of the services that are enabled. Example: `services/storage.googleapis.com`. + */ + services?: string[] | null; + } + /** + * A message to group impacts of updating a policy. + */ + export interface Schema$GoogleApiServiceusageV2betaImpact { + /** + * Output only. User friendly impact detail in a free form message. + */ + detail?: string | null; + /** + * Output only. The type of impact. + */ + impactType?: string | null; + } + /** + * Metadata for the `UpdateConsumerPolicy` method. + */ + export interface Schema$GoogleApiServiceusageV2betaUpdateConsumerPolicyMetadata {} /** * Settings for Go client libraries. */ @@ -1267,6 +1377,10 @@ export namespace serviceusage_v1beta1 { * Some settings. */ common?: Schema$CommonLanguageSettings; + /** + * Map of service names to renamed services. Keys are the package relative service names and values are the name to be used for the service client and call options. publishing: go_settings: renamed_services: Publisher: TopicAdmin + */ + renamedServices?: {[key: string]: string} | null; } /** * Defines the HTTP configuration for an API service. It contains a list of HttpRule, each specifying the mapping of an RPC method to one or more HTTP REST API methods. @@ -1338,6 +1452,10 @@ export namespace serviceusage_v1beta1 { * Output only. The type of impact. */ impactType?: string | null; + /** + * The parent resource that the analysis is based on and the service name that the analysis is for. Example: `projects/100/services/compute.googleapis.com`, folders/101/services/compute.googleapis.com` and `organizations/102/services/compute.googleapis.com`. Usually, the parent resource here is same as the parent resource of the analyzed policy. However, for some analysis types, the parent can be different. For example, for resource existence analysis, if the parent resource of the analyzed policy is a folder or an organization, the parent resource here can still be the project that contains the resources. + */ + parent?: string | null; } /** * Metadata message that provides information such as progress, partial failures, and similar information on each GetOperation call of LRO returned by ImportAdminOverrides. @@ -2092,7 +2210,7 @@ export namespace serviceusage_v1beta1 { */ name?: string | null; /** - * Specify the unit of the quota limit. It uses the same syntax as Metric.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * "1/min/{project\}" for quota per minute per project. Note: the order of unit components is insignificant. The "1" at the beginning is required to follow the metric unit syntax. + * Specify the unit of the quota limit. It uses the same syntax as MetricDescriptor.unit. The supported unit kinds are determined by the quota backend system. Here are some examples: * "1/min/{project\}" for quota per minute per project. Note: the order of unit components is insignificant. The "1" at the beginning is required to follow the metric unit syntax. */ unit?: string | null; /** diff --git a/src/apis/sheets/v4.ts b/src/apis/sheets/v4.ts index 0ad15d0ab7..73f7235b6e 100644 --- a/src/apis/sheets/v4.ts +++ b/src/apis/sheets/v4.ts @@ -2057,7 +2057,7 @@ export namespace sheets_v4 { dimensionGroups?: Schema$DimensionGroup[]; } /** - * Deletes the dimensions from the sheet. + * Deletes the dimensions from the sheet. */ export interface Schema$DeleteDimensionRequest { /** @@ -2220,7 +2220,7 @@ export namespace sheets_v4 { */ metadataValue?: string | null; /** - * Limits the selected developer metadata to that which has a matching DeveloperMetadata.visibility. If left unspecified, all developer metadata visibile to the requesting project is considered. + * Limits the selected developer metadata to that which has a matching DeveloperMetadata.visibility. If left unspecified, all developer metadata visible to the requesting project is considered. */ visibility?: string | null; } @@ -3921,6 +3921,10 @@ export namespace sheets_v4 { * Sets a data validation rule to every cell in the range. To clear validation in a range, call this with no rule specified. */ export interface Schema$SetDataValidationRequest { + /** + * Optional. If true, the data validation rule will be applied to the filtered rows as well. + */ + filteredRowsIncluded?: boolean | null; /** * The range the data validation rule should apply to. */ @@ -4351,19 +4355,19 @@ export namespace sheets_v4 { */ export interface Schema$TimeOfDay { /** - * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. */ hours?: number | null; /** - * Minutes of hour of day. Must be from 0 to 59. + * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. */ minutes?: number | null; /** - * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. */ nanos?: number | null; /** - * Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. */ seconds?: number | null; } diff --git a/src/apis/solar/v1.ts b/src/apis/solar/v1.ts index c1651bbdb5..47a5cc9760 100644 --- a/src/apis/solar/v1.ts +++ b/src/apis/solar/v1.ts @@ -157,7 +157,7 @@ export namespace solar_v1 { */ imageryQuality?: string | null; /** - * The resource name for the building, of the format `building/`. + * The resource name for the building, of the format `buildings/{place_id\}`. */ name?: string | null; /** diff --git a/src/apis/spanner/v1.ts b/src/apis/spanner/v1.ts index 46c8073e3b..85d9292f95 100644 --- a/src/apis/spanner/v1.ts +++ b/src/apis/spanner/v1.ts @@ -126,10 +126,27 @@ export namespace spanner_v1 { } } + /** + * AsymmetricAutoscalingOption specifies the scaling of replicas identified by the given selection. + */ + export interface Schema$AsymmetricAutoscalingOption { + /** + * Optional. Overrides applied to the top-level autoscaling configuration for the selected replicas. + */ + overrides?: Schema$AutoscalingConfigOverrides; + /** + * Required. Selects the replicas to which this AsymmetricAutoscalingOption applies. Only read-only replicas are supported. + */ + replicaSelection?: Schema$InstanceReplicaSelection; + } /** * Autoscaling configuration for an instance. */ export interface Schema$AutoscalingConfig { + /** + * Optional. Optional asymmetric autoscaling options. Replicas matching the replica selection criteria will be autoscaled independently from other replicas. The autoscaler will scale the replicas based on the utilization of replicas identified by the replica selection. Replica selections should not overlap with each other. Other replicas (those do not match any replica selection) will be autoscaled together and will have the same compute capacity allocated to them. + */ + asymmetricAutoscalingOptions?: Schema$AsymmetricAutoscalingOption[]; /** * Required. Autoscaling limits for an instance. */ @@ -139,6 +156,19 @@ export namespace spanner_v1 { */ autoscalingTargets?: Schema$AutoscalingTargets; } + /** + * Overrides the top-level autoscaling configuration for the replicas identified by `replica_selection`. All fields in this message are optional. Any unspecified fields will use the corresponding values from the top-level autoscaling configuration. + */ + export interface Schema$AutoscalingConfigOverrides { + /** + * Optional. If specified, overrides the min/max limit in the top-level autoscaling configuration for the selected replicas. + */ + autoscalingLimits?: Schema$AutoscalingLimits; + /** + * Optional. If specified, overrides the autoscaling target high_priority_cpu_utilization_percent in the top-level autoscaling configuration for the selected replicas. + */ + autoscalingTargetHighPriorityCpuUtilizationPercent?: number | null; + } /** * The autoscaling limits for the instance. Users can define the minimum and maximum compute capacity allocated to the instance, and the autoscaler will only scale within that range. Users can either use nodes or processing units to specify the limits, but should use the same unit to set both the min_limit and max_limit. */ @@ -198,7 +228,7 @@ export namespace spanner_v1 { */ encryptionInfo?: Schema$EncryptionInfo; /** - * Output only. The encryption information for the backup, whether it is protected by one or more KMS keys. The information includes all Cloud KMS key versions used to encrypt the backup. The `encryption_status' field inside of each `EncryptionInfo` is not populated. At least one of the key versions must be available for the backup to be restored. If a key version is revoked in the middle of a restore, the restore behavior is undefined. + * Output only. The encryption information for the backup, whether it is protected by one or more KMS keys. The information includes all Cloud KMS key versions used to encrypt the backup. The `encryption_status` field inside of each `EncryptionInfo` is not populated. At least one of the key versions must be available for the backup to be restored. If a key version is revoked in the middle of a restore, the restore behavior is undefined. */ encryptionInformation?: Schema$EncryptionInfo[]; /** @@ -272,7 +302,7 @@ export namespace spanner_v1 { versionTime?: string | null; } /** - * BackupSchedule expresses the automated backup creation specification for a Spanner database. Next ID: 10 + * BackupSchedule expresses the automated backup creation specification for a Spanner database. */ export interface Schema$BackupSchedule { /** @@ -373,6 +403,10 @@ export namespace spanner_v1 { * The request for BeginTransaction. */ export interface Schema$BeginTransactionRequest { + /** + * Optional. Required for read-write transactions on a multiplexed session that commit mutations but do not perform any reads or queries. Clients should randomly select one of the mutations from the mutation set and send it as a part of this request. + */ + mutationKey?: Schema$Mutation; /** * Required. Options for the new transaction. */ @@ -462,6 +496,10 @@ export namespace spanner_v1 { * The mutations to be executed when this transaction commits. All mutations are applied atomically, in the order they appear in this list. */ mutations?: Schema$Mutation[]; + /** + * Optional. If the read-write transaction was executed on a multiplexed session, the precommit token with the highest sequence number received in this transaction attempt, should be included here. Failing to do so will result in a FailedPrecondition error. + */ + precommitToken?: Schema$MultiplexedSessionPrecommitToken; /** * Common options for this request. */ @@ -491,6 +529,10 @@ export namespace spanner_v1 { * The Cloud Spanner timestamp at which the transaction committed. */ commitTimestamp?: string | null; + /** + * If specified, transaction has not committed yet. Clients must retry the commit with the new precommit token. + */ + precommitToken?: Schema$MultiplexedSessionPrecommitToken; } /** * Additional statistics about a commit. @@ -535,7 +577,7 @@ export namespace spanner_v1 { */ kmsKeyName?: string | null; /** - * Optional. Specifies the KMS configuration for the one or more keys used to protect the backup. Values are of the form `projects//locations//keyRings//cryptoKeys/`. Kms keys specified can be in any order. The keys referenced by kms_key_names must fully cover all regions of the backup's instance configuration. Some examples: * For single region instance configs, specify a single regional location KMS key. * For multi-regional instance configs of type GOOGLE_MANAGED, either specify a multi-regional location KMS key or multiple regional location KMS keys that cover all regions in the instance config. * For an instance config of type USER_MANAGED, please specify only regional location KMS keys to cover each region in the instance config. Multi-regional location KMS keys are not supported for USER_MANAGED instance configs. + * Optional. Specifies the KMS configuration for the one or more keys used to protect the backup. Values are of the form `projects//locations//keyRings//cryptoKeys/`. KMS keys specified can be in any order. The keys referenced by `kms_key_names` must fully cover all regions of the backup's instance configuration. Some examples: * For regional (single-region) instance configurations, specify a regional location KMS key. * For multi-region instance configurations of type `GOOGLE_MANAGED`, either specify a multi-region location KMS key or multiple regional location KMS keys that cover all regions in the instance configuration. * For an instance configuration of type `USER_MANAGED`, specify only regional location KMS keys to cover each region in the instance configuration. Multi-region location KMS keys aren't supported for `USER_MANAGED` type instance configurations. */ kmsKeyNames?: string[] | null; } @@ -594,7 +636,7 @@ export namespace spanner_v1 { */ kmsKeyName?: string | null; /** - * Optional. Specifies the KMS configuration for the one or more keys used to protect the backup. Values are of the form `projects//locations//keyRings//cryptoKeys/`. The keys referenced by kms_key_names must fully cover all regions of the backup's instance configuration. Some examples: * For single region instance configs, specify a single regional location KMS key. * For multi-regional instance configs of type GOOGLE_MANAGED, either specify a multi-regional location KMS key or multiple regional location KMS keys that cover all regions in the instance config. * For an instance config of type USER_MANAGED, please specify only regional location KMS keys to cover each region in the instance config. Multi-regional location KMS keys are not supported for USER_MANAGED instance configs. + * Optional. Specifies the KMS configuration for the one or more keys used to protect the backup. Values are of the form `projects//locations//keyRings//cryptoKeys/`. The keys referenced by `kms_key_names` must fully cover all regions of the backup's instance configuration. Some examples: * For regional (single-region) instance configurations, specify a regional location KMS key. * For multi-region instance configurations of type `GOOGLE_MANAGED`, either specify a multi-region location KMS key or multiple regional location KMS keys that cover all regions in the instance configuration. * For an instance configuration of type `USER_MANAGED`, specify only regional location KMS keys to cover each region in the instance configuration. Multi-region location KMS keys aren't supported for `USER_MANAGED` type instance configurations. */ kmsKeyNames?: string[] | null; } @@ -671,7 +713,7 @@ export namespace spanner_v1 { progress?: Schema$InstanceOperationProgress; } /** - * The request for CreateInstanceConfigRequest. + * The request for CreateInstanceConfig. */ export interface Schema$CreateInstanceConfigRequest { /** @@ -814,7 +856,7 @@ export namespace spanner_v1 { */ encryptionConfig?: Schema$EncryptionConfig; /** - * Output only. For databases that are using customer managed encryption, this field contains the encryption information for the database, such as all Cloud KMS key versions that are in use. The `encryption_status' field inside of each `EncryptionInfo` is not populated. For databases that are using Google default or other types of encryption, this field is empty. This field is propagated lazily from the backend. There might be a delay from when a key version is being used and when it appears in this field. + * Output only. For databases that are using customer managed encryption, this field contains the encryption information for the database, such as all Cloud KMS key versions that are in use. The `encryption_status` field inside of each `EncryptionInfo` is not populated. For databases that are using Google default or other types of encryption, this field is empty. This field is propagated lazily from the backend. There might be a delay from when a key version is being used and when it appears in this field. */ encryptionInfo?: Schema$EncryptionInfo[]; /** @@ -949,7 +991,7 @@ export namespace spanner_v1 { */ kmsKeyName?: string | null; /** - * Specifies the KMS configuration for the one or more keys used to encrypt the database. Values are of the form `projects//locations//keyRings//cryptoKeys/`. The keys referenced by kms_key_names must fully cover all regions of the database instance configuration. Some examples: * For single region database instance configs, specify a single regional location KMS key. * For multi-regional database instance configs of type GOOGLE_MANAGED, either specify a multi-regional location KMS key or multiple regional location KMS keys that cover all regions in the instance config. * For a database instance config of type USER_MANAGED, please specify only regional location KMS keys to cover each region in the instance config. Multi-regional location KMS keys are not supported for USER_MANAGED instance configs. + * Specifies the KMS configuration for one or more keys used to encrypt the database. Values are of the form `projects//locations//keyRings//cryptoKeys/`. The keys referenced by `kms_key_names` must fully cover all regions of the database's instance configuration. Some examples: * For regional (single-region) instance configurations, specify a regional location KMS key. * For multi-region instance configurations of type `GOOGLE_MANAGED`, either specify a multi-region location KMS key or multiple regional location KMS keys that cover all regions in the instance configuration. * For an instance configuration of type `USER_MANAGED`, specify only regional location KMS keys to cover each region in the instance configuration. Multi-region location KMS keys aren't supported for `USER_MANAGED` type instance configurations. */ kmsKeyNames?: string[] | null; } @@ -1004,6 +1046,10 @@ export namespace spanner_v1 { * The response for ExecuteBatchDml. Contains a list of ResultSet messages, one for each DML statement that has successfully executed, in the same order as the statements in the request. If a statement fails, the status in the response body identifies the cause of the failure. To check for DML statements that failed, use the following approach: 1. Check the status in the response message. The google.rpc.Code enum value `OK` indicates that all statements were executed successfully. 2. If the status was not `OK`, check the number of result sets in the response. If the response contains `N` ResultSet messages, then statement `N+1` in the request failed. Example 1: * Request: 5 DML statements, all executed successfully. * Response: 5 ResultSet messages, with the status `OK`. Example 2: * Request: 5 DML statements. The third statement has a syntax error. * Response: 2 ResultSet messages, and a syntax error (`INVALID_ARGUMENT`) status. The number of ResultSet messages indicates that the third statement failed, and the fourth and fifth statements were not executed. */ export interface Schema$ExecuteBatchDmlResponse { + /** + * Optional. A precommit token will be included if the read-write transaction is on a multiplexed session. The precommit token with the highest sequence number from this transaction attempt should be passed to the Commit request for this transaction. + */ + precommitToken?: Schema$MultiplexedSessionPrecommitToken; /** * One ResultSet for each statement in the request that ran successfully, in the same order as the statements in the request. Each ResultSet does not contain any rows. The ResultSetStats in each ResultSet contain the number of rows modified by the statement. Only the first ResultSet in the response contains valid ResultSetMetadata. */ @@ -1216,6 +1262,10 @@ export namespace spanner_v1 { * Output only. The time at which the instance was created. */ createTime?: string | null; + /** + * Optional. Controls the default backup behavior for new databases within the instance. Note that `AUTOMATIC` is not permitted for free instances, as backups and backup schedules are not allowed for free instances. In the `GetInstance` or `ListInstances` response, if the value of default_backup_schedule_type is unset or NONE, no default backup schedule will be created for new databases within the instance. + */ + defaultBackupScheduleType?: string | null; /** * Required. The descriptive name for this instance as it appears in UIs. Must be unique per project and between 4 and 30 characters in length. */ @@ -1252,6 +1302,10 @@ export namespace spanner_v1 { * The number of processing units allocated to this instance. At most, one of either `processing_units` or `node_count` should be present in the message. Users can set the `processing_units` field to specify the target number of processing units allocated to the instance. If autoscaling is enabled, `processing_units` is treated as an `OUTPUT_ONLY` field and reflects the current number of processing units allocated to the instance. This might be zero in API responses for instances that are not yet in the `READY` state. For more information, see [Compute capacity, nodes and processing units](https://cloud.google.com/spanner/docs/compute-capacity). */ processingUnits?: number | null; + /** + * Output only. Lists the compute capacity per ReplicaSelection. A replica selection identifies a set of replicas with common properties. Replicas identified by a ReplicaSelection are scaled with the same compute capacity. + */ + replicaComputeCapacity?: Schema$ReplicaComputeCapacity[]; /** * Output only. The current instance state. For CreateInstance, the state must be either omitted or set to `CREATING`. For UpdateInstance, the state must be either omitted or set to `READY`. */ @@ -1388,6 +1442,15 @@ export namespace spanner_v1 { */ updateTime?: string | null; } + /** + * ReplicaSelection identifies replicas with common properties. + */ + export interface Schema$InstanceReplicaSelection { + /** + * Required. Name of the location of the replicas (e.g., "us-central1"). + */ + location?: string | null; + } /** * KeyRange represents a range of rows in a table or index. A range has a start key and an end key. These keys can be open or closed, indicating if the range includes rows with that key. Keys are represented by lists, where the ith value in the list corresponds to the ith component of the table or index primary key. Individual values are encoded as described here. For example, consider the following table definition: CREATE TABLE UserEvents ( UserName STRING(MAX), EventDate STRING(10) ) PRIMARY KEY(UserName, EventDate); The following keys name rows in this table: "Bob", "2014-09-23" Since the `UserEvents` table's `PRIMARY KEY` clause names two columns, each `UserEvents` key has two elements; the first is the `UserName`, and the second is the `EventDate`. Key ranges with multiple components are interpreted lexicographically by component using the table or index key's declared sort order. For example, the following range returns all events for user `"Bob"` that occurred in the year 2015: "start_closed": ["Bob", "2015-01-01"] "end_closed": ["Bob", "2015-12-31"] Start and end keys can omit trailing key components. This affects the inclusion and exclusion of rows that exactly match the provided key components: if the key is closed, then rows that exactly match the provided components are included; if the key is open, then rows that exactly match are not included. For example, the following range includes all events for `"Bob"` that occurred during and after the year 2000: "start_closed": ["Bob", "2000-01-01"] "end_closed": ["Bob"] The next example retrieves all events for `"Bob"`: "start_closed": ["Bob"] "end_closed": ["Bob"] To retrieve events before the year 2000: "start_closed": ["Bob"] "end_open": ["Bob", "2000-01-01"] The following range includes all rows in the table: "start_closed": [] "end_closed": [] This range returns all users whose `UserName` begins with any character from A to C: "start_closed": ["A"] "end_open": ["D"] This range returns all users whose `UserName` begins with B: "start_closed": ["B"] "end_open": ["C"] Key ranges honor column sort order. For example, suppose a table is defined as follows: CREATE TABLE DescendingSortedTable { Key INT64, ... ) PRIMARY KEY(Key DESC); The following range retrieves all rows with key values between 1 and 100 inclusive: "start_closed": ["100"] "end_closed": ["1"] Note that 100 is passed as the start, and 1 is passed as the end, because `Key` is a descending column in the schema. */ @@ -1885,6 +1948,10 @@ export namespace spanner_v1 { * Metadata about the result set, such as row type information. Only present in the first response. */ metadata?: Schema$ResultSetMetadata; + /** + * Optional. A precommit token will be included if the read-write transaction is on a multiplexed session. The precommit token with the highest sequence number from this transaction attempt should be passed to the Commit request for this transaction. + */ + precommitToken?: Schema$MultiplexedSessionPrecommitToken; /** * Streaming calls might be interrupted for a variety of reasons, such as TCP connection loss. If this occurs, the stream of results can be resumed by re-sending the original request and including `resume_token`. Note that executing any other transaction in the same session invalidates the token. */ @@ -2097,7 +2164,7 @@ export namespace spanner_v1 { */ planNodes?: Schema$PlanNode[]; /** - * Optional. The advices/recommendations for a query. Currently this field will be serving index recommendations for a query. + * Optional. The advise/recommendations for a query. Currently this field will be serving index recommendations for a query. */ queryAdvice?: Schema$QueryAdvisorResult; } @@ -2225,11 +2292,32 @@ export namespace spanner_v1 { * Message type to initiate a read-write transaction. Currently this transaction type has no options. */ export interface Schema$ReadWrite { + /** + * Optional. Clients should pass the transaction ID of the previous transaction attempt that was aborted if this transaction is being executed on a multiplexed session. + */ + multiplexedSessionPreviousTransactionId?: string | null; /** * Read lock mode for the transaction. */ readLockMode?: string | null; } + /** + * ReplicaComputeCapacity describes the amount of server resources that are allocated to each replica identified by the replica selection. + */ + export interface Schema$ReplicaComputeCapacity { + /** + * The number of nodes allocated to each replica. This may be zero in API responses for instances that are not yet in state `READY`. + */ + nodeCount?: number | null; + /** + * The number of processing units allocated to each replica. This may be zero in API responses for instances that are not yet in state `READY`. + */ + processingUnits?: number | null; + /** + * Required. Identifies replicas by specified properties. All replicas in the selection have the same amount of compute capacity. + */ + replicaSelection?: Schema$InstanceReplicaSelection; + } export interface Schema$ReplicaInfo { /** * If true, this location is designated as the default leader location where leader replicas are placed. See the [region types documentation](https://cloud.google.com/spanner/docs/instances#region_types) for more details. @@ -2287,7 +2375,7 @@ export namespace spanner_v1 { */ kmsKeyName?: string | null; /** - * Optional. Specifies the KMS configuration for the one or more keys used to encrypt the database. Values have the form `projects//locations//keyRings//cryptoKeys/`. The keys referenced by kms_key_names must fully cover all regions of the database instance configuration. Some examples: * For single region database instance configurations, specify a single regional location KMS key. * For multi-regional database instance configurations of type `GOOGLE_MANAGED`, either specify a multi-regional location KMS key or multiple regional location KMS keys that cover all regions in the instance configuration. * For a database instance configuration of type `USER_MANAGED`, please specify only regional location KMS keys to cover each region in the instance configuration. Multi-regional location KMS keys are not supported for USER_MANAGED instance configurations. + * Optional. Specifies the KMS configuration for one or more keys used to encrypt the database. Values have the form `projects//locations//keyRings//cryptoKeys/`. The keys referenced by `kms_key_names` must fully cover all regions of the database's instance configuration. Some examples: * For regional (single-region) instance configurations, specify a regional location KMS key. * For multi-region instance configurations of type `GOOGLE_MANAGED`, either specify a multi-region location KMS key or multiple regional location KMS keys that cover all regions in the instance configuration. * For an instance configuration of type `USER_MANAGED`, specify only regional location KMS keys to cover each region in the instance configuration. Multi-region location KMS keys aren't supported for `USER_MANAGED` type instance configurations. */ kmsKeyNames?: string[] | null; } @@ -2358,6 +2446,10 @@ export namespace spanner_v1 { * Metadata about the result set, such as row type information. */ metadata?: Schema$ResultSetMetadata; + /** + * Optional. A precommit token will be included if the read-write transaction is on a multiplexed session. The precommit token with the highest sequence number from this transaction attempt should be passed to the Commit request for this transaction. + */ + precommitToken?: Schema$MultiplexedSessionPrecommitToken; /** * Each element in `rows` is a row whose format is defined by metadata.row_type. The ith element in each row matches the ith field in metadata.row_type. Elements are encoded based on type as described here. */ @@ -2691,11 +2783,11 @@ export namespace spanner_v1 { */ export interface Schema$UpdateDatabaseDdlRequest { /** - * If empty, the new update request is assigned an automatically-generated operation ID. Otherwise, `operation_id` is used to construct the name of the resulting Operation. Specifying an explicit operation ID simplifies determining whether the statements were executed in the event that the UpdateDatabaseDdl call is replayed, or the return value is otherwise lost: the database and `operation_id` fields can be combined to form the name of the resulting longrunning.Operation: `/operations/`. `operation_id` should be unique within the database, and must be a valid identifier: `a-z*`. Note that automatically-generated operation IDs always begin with an underscore. If the named operation already exists, UpdateDatabaseDdl returns `ALREADY_EXISTS`. + * If empty, the new update request is assigned an automatically-generated operation ID. Otherwise, `operation_id` is used to construct the name of the resulting Operation. Specifying an explicit operation ID simplifies determining whether the statements were executed in the event that the UpdateDatabaseDdl call is replayed, or the return value is otherwise lost: the database and `operation_id` fields can be combined to form the `name` of the resulting longrunning.Operation: `/operations/`. `operation_id` should be unique within the database, and must be a valid identifier: `a-z*`. Note that automatically-generated operation IDs always begin with an underscore. If the named operation already exists, UpdateDatabaseDdl returns `ALREADY_EXISTS`. */ operationId?: string | null; /** - * Optional. Proto descriptors used by CREATE/ALTER PROTO BUNDLE statements. Contains a protobuf-serialized [google.protobuf.FileDescriptorSet](https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/descriptor.proto). To generate it, [install](https://grpc.io/docs/protoc-installation/) and run `protoc` with --include_imports and --descriptor_set_out. For example, to generate for moon/shot/app.proto, run ``` $protoc --proto_path=/app_path --proto_path=/lib_path \ --include_imports \ --descriptor_set_out=descriptors.data \ moon/shot/app.proto ``` For more details, see protobuffer [self description](https://developers.google.com/protocol-buffers/docs/techniques#self-description). + * Optional. Proto descriptors used by CREATE/ALTER PROTO BUNDLE statements. Contains a protobuf-serialized [google.protobufFileDescriptorSet](https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/descriptor.proto). To generate it, [install](https://grpc.io/docs/protoc-installation/) and run `protoc` with --include_imports and --descriptor_set_out. For example, to generate for moon/shot/app.proto, run ``` $protoc --proto_path=/app_path --proto_path=/lib_path \ --include_imports \ --descriptor_set_out=descriptors.data \ moon/shot/app.proto ``` For more details, see protobuffer [self description](https://developers.google.com/protocol-buffers/docs/techniques#self-description). */ protoDescriptors?: string | null; /** @@ -2751,7 +2843,7 @@ export namespace spanner_v1 { progress?: Schema$InstanceOperationProgress; } /** - * The request for UpdateInstanceConfigRequest. + * The request for UpdateInstanceConfig. */ export interface Schema$UpdateInstanceConfigRequest { /** @@ -3561,7 +3653,7 @@ export namespace spanner_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3968,7 +4060,7 @@ export namespace spanner_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -5775,7 +5867,7 @@ export namespace spanner_v1 { } /** - * Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource. + * Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource. For backup schedules, authorization requires `spanner.backupSchedules.getIamPolicy` permission on resource. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -6039,7 +6131,7 @@ export namespace spanner_v1 { } /** - * Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource. + * Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource. For backup schedules, authorization requires `spanner.backupSchedules.setIamPolicy` permission on resource. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -6127,7 +6219,7 @@ export namespace spanner_v1 { } /** - * Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance. + * Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance. Calling this method on a backup schedule that does not exist will result in a NOT_FOUND error if the user has `spanner.backupSchedules.list` permission on the containing database. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -6250,7 +6342,7 @@ export namespace spanner_v1 { */ 'encryptionConfig.kmsKeyName'?: string; /** - * Optional. Specifies the KMS configuration for the one or more keys used to protect the backup. Values are of the form `projects//locations//keyRings//cryptoKeys/`. The keys referenced by kms_key_names must fully cover all regions of the backup's instance configuration. Some examples: * For single region instance configs, specify a single regional location KMS key. * For multi-regional instance configs of type GOOGLE_MANAGED, either specify a multi-regional location KMS key or multiple regional location KMS keys that cover all regions in the instance config. * For an instance config of type USER_MANAGED, please specify only regional location KMS keys to cover each region in the instance config. Multi-regional location KMS keys are not supported for USER_MANAGED instance configs. + * Optional. Specifies the KMS configuration for the one or more keys used to protect the backup. Values are of the form `projects//locations//keyRings//cryptoKeys/`. The keys referenced by `kms_key_names` must fully cover all regions of the backup's instance configuration. Some examples: * For regional (single-region) instance configurations, specify a regional location KMS key. * For multi-region instance configurations of type `GOOGLE_MANAGED`, either specify a multi-region location KMS key or multiple regional location KMS keys that cover all regions in the instance configuration. * For an instance configuration of type `USER_MANAGED`, specify only regional location KMS keys to cover each region in the instance configuration. Multi-region location KMS keys aren't supported for `USER_MANAGED` type instance configurations. */ 'encryptionConfig.kmsKeyNames'?: string[]; /** @@ -6356,7 +6448,7 @@ export namespace spanner_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -6854,7 +6946,7 @@ export namespace spanner_v1 { export interface Params$Resource$Projects$Instances$Databaseoperations$List extends StandardParameters { /** - * An expression that filters the list of returned operations. A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string, a number, or a boolean. The comparison operator must be one of: `<`, `\>`, `<=`, `\>=`, `!=`, `=`, or `:`. Colon `:` is the contains operator. Filter rules are not case sensitive. The following fields in the Operation are eligible for filtering: * `name` - The name of the long-running operation * `done` - False if the operation is in progress, else true. * `metadata.@type` - the type of metadata. For example, the type string for RestoreDatabaseMetadata is `type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata`. * `metadata.` - any field in metadata.value. `metadata.@type` must be specified first, if filtering on metadata fields. * `error` - Error associated with the long-running operation. * `response.@type` - the type of response. * `response.` - any field in response.value. You can combine multiple expressions by enclosing each expression in parentheses. By default, expressions are combined with AND logic. However, you can specify AND, OR, and NOT logic explicitly. Here are a few examples: * `done:true` - The operation is complete. * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata) AND` \ `(metadata.source_type:BACKUP) AND` \ `(metadata.backup_info.backup:backup_howl) AND` \ `(metadata.name:restored_howl) AND` \ `(metadata.progress.start_time < \"2018-03-28T14:50:00Z\") AND` \ `(error:*)` - Return operations where: * The operation's metadata type is RestoreDatabaseMetadata. * The database is restored from a backup. * The backup name contains "backup_howl". * The restored database's name contains "restored_howl". * The operation started before 2018-03-28T14:50:00Z. * The operation resulted in an error. + * An expression that filters the list of returned operations. A filter expression consists of a field name, a comparison operator, and a value for filtering. The value must be a string, a number, or a boolean. The comparison operator must be one of: `<`, `\>`, `<=`, `\>=`, `!=`, `=`, or `:`. Colon `:` is the contains operator. Filter rules are not case sensitive. The following fields in the operation are eligible for filtering: * `name` - The name of the long-running operation * `done` - False if the operation is in progress, else true. * `metadata.@type` - the type of metadata. For example, the type string for RestoreDatabaseMetadata is `type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata`. * `metadata.` - any field in metadata.value. `metadata.@type` must be specified first, if filtering on metadata fields. * `error` - Error associated with the long-running operation. * `response.@type` - the type of response. * `response.` - any field in response.value. You can combine multiple expressions by enclosing each expression in parentheses. By default, expressions are combined with AND logic. However, you can specify AND, OR, and NOT logic explicitly. Here are a few examples: * `done:true` - The operation is complete. * `(metadata.@type=type.googleapis.com/google.spanner.admin.database.v1.RestoreDatabaseMetadata) AND` \ `(metadata.source_type:BACKUP) AND` \ `(metadata.backup_info.backup:backup_howl) AND` \ `(metadata.name:restored_howl) AND` \ `(metadata.progress.start_time < \"2018-03-28T14:50:00Z\") AND` \ `(error:*)` - Return operations where: * The operation's metadata type is RestoreDatabaseMetadata. * The database is restored from a backup. * The backup name contains "backup_howl". * The restored database's name contains "restored_howl". * The operation started before 2018-03-28T14:50:00Z. * The operation resulted in an error. */ filter?: string; /** @@ -7333,7 +7425,7 @@ export namespace spanner_v1 { } /** - * Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource. + * Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource. For backup schedules, authorization requires `spanner.backupSchedules.getIamPolicy` permission on resource. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -7773,7 +7865,7 @@ export namespace spanner_v1 { } /** - * Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource. + * Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource. For backup schedules, authorization requires `spanner.backupSchedules.setIamPolicy` permission on resource. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -7862,7 +7954,7 @@ export namespace spanner_v1 { } /** - * Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance. + * Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance. Calling this method on a backup schedule that does not exist will result in a NOT_FOUND error if the user has `spanner.backupSchedules.list` permission on the containing database. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -8470,7 +8562,7 @@ export namespace spanner_v1 { } /** - * Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource. + * Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource. For backup schedules, authorization requires `spanner.backupSchedules.getIamPolicy` permission on resource. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -8741,7 +8833,7 @@ export namespace spanner_v1 { } /** - * Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource. + * Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource. For backup schedules, authorization requires `spanner.backupSchedules.setIamPolicy` permission on resource. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -8830,7 +8922,7 @@ export namespace spanner_v1 { } /** - * Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance. + * Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance. Calling this method on a backup schedule that does not exist will result in a NOT_FOUND error if the user has `spanner.backupSchedules.list` permission on the containing database. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -9127,7 +9219,7 @@ export namespace spanner_v1 { } /** - * Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance. + * Returns permissions that the caller has on the specified database or backup resource. Attempting this RPC on a non-existent Cloud Spanner database will result in a NOT_FOUND error if the user has `spanner.databases.list` permission on the containing Cloud Spanner instance. Otherwise returns an empty set of permissions. Calling this method on a backup that does not exist will result in a NOT_FOUND error if the user has `spanner.backups.list` permission on the containing instance. Calling this method on a backup schedule that does not exist will result in a NOT_FOUND error if the user has `spanner.backupSchedules.list` permission on the containing database. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -9258,7 +9350,7 @@ export namespace spanner_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -11410,7 +11502,7 @@ export namespace spanner_v1 { */ filter?: string; /** - * Optional. Deadline used while retrieving metadata for instance partition operations. Instance partitions whose operation metadata cannot be retrieved within this deadline will be added to unreachable in ListInstancePartitionOperationsResponse. + * Optional. Deadline used while retrieving metadata for instance partition operations. Instance partitions whose operation metadata cannot be retrieved within this deadline will be added to unreachable_instance_partitions in ListInstancePartitionOperationsResponse. */ instancePartitionDeadline?: string; /** @@ -11956,7 +12048,7 @@ export namespace spanner_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -12353,7 +12445,7 @@ export namespace spanner_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/sqladmin/v1.ts b/src/apis/sqladmin/v1.ts index eace7dac18..c03b2480e6 100644 --- a/src/apis/sqladmin/v1.ts +++ b/src/apis/sqladmin/v1.ts @@ -284,10 +284,6 @@ export namespace sqladmin_v1 { * This is always `sql#backupContext`. */ kind?: string | null; - /** - * The name of the backup. Format: projects/{project\}/backups/{backup\} - */ - name?: string | null; } /** * Backup Reencryption Config @@ -475,6 +471,10 @@ export namespace sqladmin_v1 { * `SECOND_GEN`: Cloud SQL database instance. `EXTERNAL`: A database server that is not managed by Google. This property is read-only; use the `tier` property in the `settings` object to determine the database type. */ backendType?: string | null; + /** + * Custom subject alternative names for the server certificate. + */ + customSubjectAlternativeNames?: string[] | null; /** * The database engine type and version. The `databaseVersion` field cannot be changed after instance creation. MySQL instances: `MYSQL_8_0`, `MYSQL_5_7` (default), or `MYSQL_5_6`. PostgreSQL instances: `POSTGRES_9_6`, `POSTGRES_10`, `POSTGRES_11`, `POSTGRES_12` (default), `POSTGRES_13`, or `POSTGRES_14`. SQL Server instances: `SQLSERVER_2017_STANDARD` (default), `SQLSERVER_2017_ENTERPRISE`, `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`, `SQLSERVER_2019_STANDARD`, `SQLSERVER_2019_ENTERPRISE`, `SQLSERVER_2019_EXPRESS`, or `SQLSERVER_2019_WEB`. */ @@ -684,7 +684,7 @@ export namespace sqladmin_v1 { */ replicaNames?: string[] | null; /** - * Optional. A primary instance and disaster recovery (DR) replica pair. A DR replica is a cross-region replica that you designate for failover in the event that the primary instance experiences regional failure. Only applicable to MySQL. + * Optional. A primary instance and disaster recovery (DR) replica pair. A DR replica is a cross-region replica that you designate for failover in the event that the primary instance experiences regional failure. Applicable to MySQL and PostgreSQL. */ replicationCluster?: Schema$ReplicationCluster; /** @@ -736,6 +736,10 @@ export namespace sqladmin_v1 { * Input only. Whether Cloud SQL is enabled to switch storing point-in-time recovery log files from a data disk to Cloud Storage. */ switchTransactionLogsToCloudStorageEnabled?: boolean | null; + /** + * Optional. Input only. Immutable. Tag keys and tag values that are bound to this instance. You must represent each item in the map as: `"" : ""`. For example, a single resource can have the following tags: ``` "123/environment": "production", "123/costCenter": "marketing", ``` For more information on tag creation and management, see https://cloud.google.com/resource-manager/docs/tags/tags-overview. + */ + tags?: {[key: string]: string} | null; /** * Output only. All database versions that are available for upgrade. */ @@ -952,6 +956,15 @@ export namespace sqladmin_v1 { */ uri?: string | null; } + /** + * The selected object that Cloud SQL migrates. + */ + export interface Schema$ExternalSyncSelectedObject { + /** + * The name of the database that Cloud SQL migrates. + */ + database?: string | null; + } /** * Database instance failover context. */ @@ -1316,18 +1329,10 @@ export namespace sqladmin_v1 { * Database instance restore backup request. */ export interface Schema$InstancesRestoreBackupRequest { - /** - * The name of the backup to restore from in following format: projects/{project-id\}/backups/{backup-uid\} Only one of restore_backup_context or backup can be passed to the input. - */ - backup?: string | null; /** * Parameters required to perform the restore backup operation. */ restoreBackupContext?: Schema$RestoreBackupContext; - /** - * Optional. Restore instance settings overrides the instance settings stored as part of the backup. Instance's major database version cannot be changed and the disk size can only be increased. This feature is only available for restores to new instances using the backup name. - */ - restoreInstanceSettings?: Schema$DatabaseInstance; } /** * Rotate server CA request. @@ -1368,6 +1373,10 @@ export namespace sqladmin_v1 { * The list of external networks that are allowed to connect to the instance using the IP. In 'CIDR' notation, also known as 'slash' notation (for example: `157.197.200.0/24`). */ authorizedNetworks?: Schema$AclEntry[]; + /** + * Optional. Custom Subject Alternative Name(SAN)s for a Cloud SQL instance. + */ + customSubjectAlternativeNames?: string[] | null; /** * Controls connectivity to private IP instances from Google services, such as BigQuery. */ @@ -1392,6 +1401,10 @@ export namespace sqladmin_v1 { * Specify what type of CA is used for the server certificate. */ serverCaMode?: string | null; + /** + * Optional. The resource name of the server CA pool for an instance with `CUSTOMER_MANAGED_CAS_CA` as the `server_ca_mode`. Format: projects//locations//caPools/ + */ + serverCaPool?: string | null; /** * Specify how SSL/TLS is enforced in database connections. If you must use the `require_ssl` flag for backward compatibility, then only the following value pairs are valid: For PostgreSQL and MySQL: * `ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED` and `require_ssl=false` * `ssl_mode=ENCRYPTED_ONLY` and `require_ssl=false` * `ssl_mode=TRUSTED_CLIENT_CERTIFICATE_REQUIRED` and `require_ssl=true` For SQL Server: * `ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED` and `require_ssl=false` * `ssl_mode=ENCRYPTED_ONLY` and `require_ssl=true` The value of `ssl_mode` has priority over the value of `require_ssl`. For example, for the pair `ssl_mode=ENCRYPTED_ONLY` and `require_ssl=false`, `ssl_mode=ENCRYPTED_ONLY` means accept only SSL connections, while `require_ssl=false` means accept both non-SSL and SSL connections. In this case, MySQL and PostgreSQL databases respect `ssl_mode` and accepts only SSL connections. */ @@ -1546,10 +1559,18 @@ export namespace sqladmin_v1 { * The password for connecting to on-premises instance. */ password?: string | null; + /** + * Optional. A list of objects that the user selects for replication from an external source instance. + */ + selectedObjects?: Schema$SelectedObjects[]; /** * The reference to Cloud SQL instance if the source is Cloud SQL. */ sourceInstance?: Schema$InstanceReference; + /** + * Optional. SSL option for replica connection to the on-premises source. + */ + sslOption?: string | null; /** * The username for connecting to on-premises instance. */ @@ -1616,8 +1637,9 @@ export namespace sqladmin_v1 { */ status?: string | null; /** - * Name of the database instance related to this operation. + * Optional. The sub operation based on the operation type. */ + subOperationType?: Schema$SqlSubOperationType; targetId?: string | null; targetLink?: string | null; /** @@ -1668,7 +1690,7 @@ export namespace sqladmin_v1 { */ apiVersion?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. */ cancelRequested?: boolean | null; /** @@ -1708,10 +1730,6 @@ export namespace sqladmin_v1 { * The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results. */ nextPageToken?: string | null; - /** - * List of warnings that occurred while handling the request. - */ - warnings?: Schema$ApiWarning[]; } /** * Read-only password status. @@ -1768,6 +1786,31 @@ export namespace sqladmin_v1 { */ targetSizeGb?: string | null; } + /** + * Settings for an automatically-setup Private Service Connect consumer endpoint that is used to connect to a Cloud SQL instance. + */ + export interface Schema$PscAutoConnectionConfig { + /** + * The consumer network of this consumer endpoint. This must be a resource path that includes both the host project and the network name. For example, `projects/project1/global/networks/network1`. The consumer host project of this network might be different from the consumer service project. + */ + consumerNetwork?: string | null; + /** + * The connection policy status of the consumer network. + */ + consumerNetworkStatus?: string | null; + /** + * This is the project ID of consumer service project of this consumer endpoint. Optional. This is only applicable if consumer_network is a shared vpc network. + */ + consumerProject?: string | null; + /** + * The IP address of the consumer endpoint. + */ + ipAddress?: string | null; + /** + * The connection status of the consumer endpoint. + */ + status?: string | null; + } /** * PSC settings for a Cloud SQL instance. */ @@ -1776,6 +1819,10 @@ export namespace sqladmin_v1 { * Optional. The list of consumer projects that are allow-listed for PSC connections to this instance. This instance can be connected to with PSC from any network in these projects. Each consumer project in this list may be represented by a project number (numeric) or by a project id (alphanumeric). */ allowedConsumerProjects?: string[] | null; + /** + * Optional. The list of settings for requested Private Service Connect consumer endpoints that can be used to connect to this Cloud SQL instance. + */ + pscAutoConnections?: Schema$PscAutoConnectionConfig[]; /** * Whether PSC connectivity is enabled for this instance. */ @@ -1803,7 +1850,7 @@ export namespace sqladmin_v1 { mysqlReplicaConfiguration?: Schema$MySqlReplicaConfiguration; } /** - * A primary instance and disaster recovery (DR) replica pair. A DR replica is a cross-region replica that you designate for failover in the event that the primary instance experiences regional failure. Only applicable to MySQL. + * A primary instance and disaster recovery (DR) replica pair. A DR replica is a cross-region replica that you designate for failover in the event that the primary instance experiences regional failure. Applicable to MySQL and PostgreSQL. */ export interface Schema$ReplicationCluster { /** @@ -1815,7 +1862,7 @@ export namespace sqladmin_v1 { */ failoverDrReplicaName?: string | null; /** - * Output only. If set, it indicates this instance has a private service access (PSA) dns endpoint that is pointing to the primary instance of the cluster. If this instance is the primary, the dns should be pointing to this instance. After Switchover or Replica failover, this DNS endpoint points to the promoted instance. This is a read-only field, returned to the user as information. This field can exist even if a standalone instance does not yet have a replica, or had a DR replica that was deleted. + * Output only. If set, this field indicates this instance has a private service access (PSA) DNS endpoint that is pointing to the primary instance of the cluster. If this instance is the primary, then the DNS endpoint points to this instance. After a switchover or replica failover operation, this DNS endpoint points to the promoted instance. This is a read-only field, returned to the user as information. This field can exist even if a standalone instance doesn't have a DR replica yet or the DR replica is deleted. */ psaWriteEndpoint?: string | null; } @@ -1876,6 +1923,15 @@ export namespace sqladmin_v1 { */ nextVersion?: string | null; } + /** + * A list of objects that the user selects for replication from an external source instance. + */ + export interface Schema$SelectedObjects { + /** + * Required. The name of the database to migrate. + */ + database?: string | null; + } /** * Database instance settings. */ @@ -2145,6 +2201,10 @@ export namespace sqladmin_v1 { * Optional. MySQL-specific settings for start external sync. */ mysqlSyncConfig?: Schema$MySqlSyncConfig; + /** + * Optional. Migrate only the specified objects from the source instance. If this field is empty, then migrate all objects. + */ + selectedObjects?: Schema$ExternalSyncSelectedObject[]; /** * External sync mode */ @@ -2257,6 +2317,15 @@ export namespace sqladmin_v1 { */ serverRoles?: string[] | null; } + /** + * The sub operation type based on the operation type. + */ + export interface Schema$SqlSubOperationType { + /** + * The type of maintenance to be performed on the instance. + */ + maintenanceType?: string | null; + } /** * SslCerts Resource */ @@ -3995,7 +4064,7 @@ export namespace sqladmin_v1 { } /** - * Adds a new trusted Certificate Authority (CA) version for the specified instance. Required to prepare for a certificate rotation. If a CA version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one CA version waiting to be rotated in. For instances that have enabled Certificate Authority Service (CAS) based server CA, please use AddServerCertificate to add a new server certificate. + * Adds a new trusted Certificate Authority (CA) version for the specified instance. Required to prepare for a certificate rotation. If a CA version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one CA version waiting to be rotated in. For instances that have enabled Certificate Authority Service (CAS) based server CA, use AddServerCertificate to add a new server certificate. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -4083,7 +4152,7 @@ export namespace sqladmin_v1 { } /** - * Add a new trusted server certificate version for the specified instance using Certificate Authority Service (CAS) server CA. Required to prepare for a certificate rotation. If a server certificate version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one certificate version waiting to be rotated in. For instances not using CAS server CA, please use AddServerCa instead. + * Add a new trusted server certificate version for the specified instance using Certificate Authority Service (CAS) server CA. Required to prepare for a certificate rotation. If a server certificate version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one certificate version waiting to be rotated in. For instances not using CAS server CA, use AddServerCa instead. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -5140,7 +5209,7 @@ export namespace sqladmin_v1 { } /** - * Lists all versions of server certificates and certificate authorities (CAs) for the specified instance. There can be up to three sets of certs listed: the certificate that is currently in use, a future that has been added but not yet used to sign a certificate, and a certificate that has been rotated out. + * Lists all versions of server certificates and certificate authorities (CAs) for the specified instance. There can be up to three sets of certs listed: the certificate that is currently in use, a future that has been added but not yet used to sign a certificate, and a certificate that has been rotated out. For instances not using Certificate Authority Service (CAS) server CA, use ListServerCas instead. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -5858,7 +5927,7 @@ export namespace sqladmin_v1 { } /** - * Rotates the server certificate to one signed by the Certificate Authority (CA) version previously added with the addServerCA method. For instances that have enabled Certificate Authority Service (CAS) based server CA, please use RotateServerCertificate to rotate the server certificate. + * Rotates the server certificate to one signed by the Certificate Authority (CA) version previously added with the addServerCA method. For instances that have enabled Certificate Authority Service (CAS) based server CA, use RotateServerCertificate to rotate the server certificate. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -5946,7 +6015,7 @@ export namespace sqladmin_v1 { } /** - * Rotates the server certificate version to one previously added with the addServerCertificate method. For instances not using Certificate Authority Service (CAS) server CA, please use RotateServerCa instead. + * Rotates the server certificate version to one previously added with the addServerCertificate method. For instances not using Certificate Authority Service (CAS) server CA, use RotateServerCa instead. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -6212,7 +6281,7 @@ export namespace sqladmin_v1 { } /** - * Switches over from the primary instance to the designated DR replica instance. + * Switches over from the primary instance to the DR replica instance. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -6527,22 +6596,6 @@ export namespace sqladmin_v1 { requestBody?: Schema$InstancesCloneRequest; } export interface Params$Resource$Instances$Delete extends StandardParameters { - /** - * Flag to opt-in for final backup. By default, it is turned off. - */ - enableFinalBackup?: boolean; - /** - * Optional. The description of the final backup. - */ - finalBackupDescription?: string; - /** - * Optional. Final Backup expiration time. Timestamp in UTC of when this resource is considered expired. - */ - finalBackupExpiryTime?: string; - /** - * Optional. Retention period of the final backup. - */ - finalBackupTtlDays?: string; /** * Cloud SQL instance ID. This does not include the project ID. */ @@ -6708,7 +6761,7 @@ export namespace sqladmin_v1 { export interface Params$Resource$Instances$Promotereplica extends StandardParameters { /** - * Set to true to invoke a replica failover to the designated DR replica. As part of replica failover, the promote operation attempts to add the original primary instance as a replica of the promoted DR replica when the original primary instance comes back online. If set to false or not specified, then the original primary instance becomes an independent Cloud SQL primary instance. Only applicable to MySQL. + * Set to true to invoke a replica failover to the DR replica. As part of replica failover, the promote operation attempts to add the original primary instance as a replica of the promoted DR replica when the original primary instance comes back online. If set to false or not specified, then the original primary instance becomes an independent Cloud SQL primary instance. */ failover?: boolean; /** @@ -6842,7 +6895,7 @@ export namespace sqladmin_v1 { export interface Params$Resource$Instances$Switchover extends StandardParameters { /** - * Optional. (MySQL only) Cloud SQL instance operations timeout, which is a sum of all database operations. Default value is 10 minutes and can be modified to a maximum value of 24 hours. + * Optional. (MySQL and PostgreSQL only) Cloud SQL instance operations timeout, which is a sum of all database operations. Default value is 10 minutes and can be modified to a maximum value of 24 hours. */ dbTimeout?: string; /** @@ -7180,10 +7233,6 @@ export namespace sqladmin_v1 { project?: string; } export interface Params$Resource$Operations$List extends StandardParameters { - /** - * Optional. A filter string that follows the rules of EBNF grammar (https://google.aip.dev/assets/misc/ebnf-filtering.txt). Cloud SQL provides filters for status, operationType, and startTime. - */ - filter?: string; /** * Cloud SQL instance ID. This does not include the project ID. */ diff --git a/src/apis/sqladmin/v1beta4.ts b/src/apis/sqladmin/v1beta4.ts index c6930802fb..6453263528 100644 --- a/src/apis/sqladmin/v1beta4.ts +++ b/src/apis/sqladmin/v1beta4.ts @@ -284,10 +284,6 @@ export namespace sqladmin_v1beta4 { * This is always `sql#backupContext`. */ kind?: string | null; - /** - * The name of the backup. Format: projects/{project\}/backups/{backup\} - */ - name?: string | null; } /** * Backup Reencryption Config @@ -475,6 +471,10 @@ export namespace sqladmin_v1beta4 { * `SECOND_GEN`: Cloud SQL database instance. `EXTERNAL`: A database server that is not managed by Google. This property is read-only; use the `tier` property in the `settings` object to determine the database type. */ backendType?: string | null; + /** + * Custom subject alternative names for the server certificate. + */ + customSubjectAlternativeNames?: string[] | null; /** * The database engine type and version. The `databaseVersion` field cannot be changed after instance creation. MySQL instances: `MYSQL_8_0`, `MYSQL_5_7` (default), or `MYSQL_5_6`. PostgreSQL instances: `POSTGRES_9_6`, `POSTGRES_10`, `POSTGRES_11` or `POSTGRES_12` (default), `POSTGRES_13`, or `POSTGRES_14`. SQL Server instances: `SQLSERVER_2017_STANDARD` (default), `SQLSERVER_2017_ENTERPRISE`, `SQLSERVER_2017_EXPRESS`, `SQLSERVER_2017_WEB`, `SQLSERVER_2019_STANDARD`, `SQLSERVER_2019_ENTERPRISE`, `SQLSERVER_2019_EXPRESS`, or `SQLSERVER_2019_WEB`. */ @@ -684,7 +684,7 @@ export namespace sqladmin_v1beta4 { */ replicaNames?: string[] | null; /** - * A primary instance and disaster recovery (DR) replica pair. A DR replica is a cross-region replica that you designate for failover in the event that the primary instance experiences regional failure. Only applicable to MySQL. + * A primary instance and disaster recovery (DR) replica pair. A DR replica is a cross-region replica that you designate for failover in the event that the primary instance experiences regional failure. Applicable to MySQL and PostgreSQL. */ replicationCluster?: Schema$ReplicationCluster; /** @@ -739,6 +739,10 @@ export namespace sqladmin_v1beta4 { * Input only. Whether Cloud SQL is enabled to switch storing point-in-time recovery log files from a data disk to Cloud Storage. */ switchTransactionLogsToCloudStorageEnabled?: boolean | null; + /** + * Optional. Input only. Immutable. Tag keys and tag values that are bound to this instance. You must represent each item in the map as: `"" : ""`. For example, a single resource can have the following tags: ``` "123/environment": "production", "123/costCenter": "marketing", ``` For more information on tag creation and management, see https://cloud.google.com/resource-manager/docs/tags/tags-overview. + */ + tags?: {[key: string]: string} | null; /** * Output only. All database versions that are available for upgrade. */ @@ -955,6 +959,15 @@ export namespace sqladmin_v1beta4 { */ uri?: string | null; } + /** + * The selected object that Cloud SQL migrates. + */ + export interface Schema$ExternalSyncSelectedObject { + /** + * The name of the database that Cloud SQL migrates. + */ + database?: string | null; + } /** * Database instance failover context. */ @@ -1319,18 +1332,10 @@ export namespace sqladmin_v1beta4 { * Database instance restore backup request. */ export interface Schema$InstancesRestoreBackupRequest { - /** - * The name of the backup to restore from in following format: projects/{project-id\}/backups/{backup-uid\} Only one of restore_backup_context or backup can be passed to the input. - */ - backup?: string | null; /** * Parameters required to perform the restore backup operation. */ restoreBackupContext?: Schema$RestoreBackupContext; - /** - * Optional. Restore instance settings overrides the instance settings stored as part of the backup. Instance's major database version cannot be changed and the disk size can only be increased. This feature is only available for restores to new instances using the backup name. - */ - restoreInstanceSettings?: Schema$DatabaseInstance; } /** * Rotate Server CA request. @@ -1371,6 +1376,10 @@ export namespace sqladmin_v1beta4 { * The list of external networks that are allowed to connect to the instance using the IP. In 'CIDR' notation, also known as 'slash' notation (for example: `157.197.200.0/24`). */ authorizedNetworks?: Schema$AclEntry[]; + /** + * Optional. Custom Subject Alternative Name(SAN)s for a Cloud SQL instance. + */ + customSubjectAlternativeNames?: string[] | null; /** * Controls connectivity to private IP instances from Google services, such as BigQuery. */ @@ -1395,6 +1404,10 @@ export namespace sqladmin_v1beta4 { * Specify what type of CA is used for the server certificate. */ serverCaMode?: string | null; + /** + * Optional. The resource name of the server CA pool for an instance with `CUSTOMER_MANAGED_CAS_CA` as the `server_ca_mode`. Format: projects//locations//caPools/ + */ + serverCaPool?: string | null; /** * Specify how SSL/TLS is enforced in database connections. If you must use the `require_ssl` flag for backward compatibility, then only the following value pairs are valid: For PostgreSQL and MySQL: * `ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED` and `require_ssl=false` * `ssl_mode=ENCRYPTED_ONLY` and `require_ssl=false` * `ssl_mode=TRUSTED_CLIENT_CERTIFICATE_REQUIRED` and `require_ssl=true` For SQL Server: * `ssl_mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED` and `require_ssl=false` * `ssl_mode=ENCRYPTED_ONLY` and `require_ssl=true` The value of `ssl_mode` has priority over the value of `require_ssl`. For example, for the pair `ssl_mode=ENCRYPTED_ONLY` and `require_ssl=false`, `ssl_mode=ENCRYPTED_ONLY` means accept only SSL connections, while `require_ssl=false` means accept both non-SSL and SSL connections. In this case, MySQL and PostgreSQL databases respect `ssl_mode` and accepts only SSL connections. */ @@ -1549,10 +1562,18 @@ export namespace sqladmin_v1beta4 { * The password for connecting to on-premises instance. */ password?: string | null; + /** + * Optional. A list of objects that the user selects for replication from an external source instance. + */ + selectedObjects?: Schema$SelectedObjects[]; /** * The reference to Cloud SQL instance if the source is Cloud SQL. */ sourceInstance?: Schema$InstanceReference; + /** + * Optional. SslOption for replica connection to the on-premises source. + */ + sslOption?: string | null; /** * The username for connecting to on-premises instance. */ @@ -1619,8 +1640,9 @@ export namespace sqladmin_v1beta4 { */ status?: string | null; /** - * Name of the database instance related to this operation. + * Optional. The sub operation based on the operation type. */ + subOperationType?: Schema$SqlSubOperationType; targetId?: string | null; targetLink?: string | null; /** @@ -1671,7 +1693,7 @@ export namespace sqladmin_v1beta4 { */ apiVersion?: string | null; /** - * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have Operation.error value with a google.rpc.Status.code of 1, corresponding to `Code.CANCELLED`. + * Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`. */ cancelRequested?: boolean | null; /** @@ -1711,10 +1733,6 @@ export namespace sqladmin_v1beta4 { * The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results. */ nextPageToken?: string | null; - /** - * List of warnings that occurred while handling the request. - */ - warnings?: Schema$ApiWarning[]; } /** * Read-only password status. @@ -1771,6 +1789,31 @@ export namespace sqladmin_v1beta4 { */ targetSizeGb?: string | null; } + /** + * Settings for an automatically-setup Private Service Connect consumer endpoint that is used to connect to a Cloud SQL instance. + */ + export interface Schema$PscAutoConnectionConfig { + /** + * The consumer network of this consumer endpoint. This must be a resource path that includes both the host project and the network name. For example, `projects/project1/global/networks/network1`. The consumer host project of this network might be different from the consumer service project. + */ + consumerNetwork?: string | null; + /** + * The connection policy status of the consumer network. + */ + consumerNetworkStatus?: string | null; + /** + * This is the project ID of consumer service project of this consumer endpoint. Optional. This is only applicable if consumer_network is a shared vpc network. + */ + consumerProject?: string | null; + /** + * The IP address of the consumer endpoint. + */ + ipAddress?: string | null; + /** + * The connection status of the consumer endpoint. + */ + status?: string | null; + } /** * PSC settings for a Cloud SQL instance. */ @@ -1779,6 +1822,10 @@ export namespace sqladmin_v1beta4 { * Optional. The list of consumer projects that are allow-listed for PSC connections to this instance. This instance can be connected to with PSC from any network in these projects. Each consumer project in this list may be represented by a project number (numeric) or by a project id (alphanumeric). */ allowedConsumerProjects?: string[] | null; + /** + * Optional. The list of settings for requested Private Service Connect consumer endpoints that can be used to connect to this Cloud SQL instance. + */ + pscAutoConnections?: Schema$PscAutoConnectionConfig[]; /** * Whether PSC connectivity is enabled for this instance. */ @@ -1806,7 +1853,7 @@ export namespace sqladmin_v1beta4 { mysqlReplicaConfiguration?: Schema$MySqlReplicaConfiguration; } /** - * A primary instance and disaster recovery (DR) replica pair. A DR replica is a cross-region replica that you designate for failover in the event that the primary instance has regional failure. Only applicable to MySQL. + * A primary instance and disaster recovery (DR) replica pair. A DR replica is a cross-region replica that you designate for failover in the event that the primary instance has regional failure. Applicable to MySQL and PostgreSQL. */ export interface Schema$ReplicationCluster { /** @@ -1818,7 +1865,7 @@ export namespace sqladmin_v1beta4 { */ failoverDrReplicaName?: string | null; /** - * Output only. If set, it indicates this instance has a private service access (PSA) dns endpoint that is pointing to the primary instance of the cluster. If this instance is the primary, the dns should be pointing to this instance. After Switchover or Replica failover, this DNS endpoint points to the promoted instance. This is a read-only field, returned to the user as information. This field can exist even if a standalone instance does not yet have a replica, or had a DR replica that was deleted. + * Output only. If set, this field indicates this instance has a private service access (PSA) DNS endpoint that is pointing to the primary instance of the cluster. If this instance is the primary, then the DNS endpoint points to this instance. After a switchover or replica failover operation, this DNS endpoint points to the promoted instance. This is a read-only field, returned to the user as information. This field can exist even if a standalone instance doesn't have a DR replica yet or the DR replica is deleted. */ psaWriteEndpoint?: string | null; } @@ -1879,6 +1926,15 @@ export namespace sqladmin_v1beta4 { */ nextVersion?: string | null; } + /** + * A list of objects that the user selects for replication from an external source instance. + */ + export interface Schema$SelectedObjects { + /** + * Required. The name of the database to migrate. + */ + database?: string | null; + } /** * Database instance settings. */ @@ -2142,6 +2198,10 @@ export namespace sqladmin_v1beta4 { * Optional. MySQL-specific settings for start external sync. */ mysqlSyncConfig?: Schema$MySqlSyncConfig; + /** + * Optional. Migrate only the specified objects from the source instance. If this field is empty, then migrate all objects. + */ + selectedObjects?: Schema$ExternalSyncSelectedObject[]; /** * External sync mode */ @@ -2254,6 +2314,15 @@ export namespace sqladmin_v1beta4 { */ serverRoles?: string[] | null; } + /** + * The sub operation type based on the operation type. + */ + export interface Schema$SqlSubOperationType { + /** + * The type of maintenance to be performed on the instance. + */ + maintenanceType?: string | null; + } /** * SslCerts Resource */ @@ -3996,7 +4065,7 @@ export namespace sqladmin_v1beta4 { } /** - * Add a new trusted Certificate Authority (CA) version for the specified instance. Required to prepare for a certificate rotation. If a CA version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one CA version waiting to be rotated in. For instances that have enabled Certificate Authority Service (CAS) based server CA, please use AddServerCertificate to add a new server certificate. + * Add a new trusted Certificate Authority (CA) version for the specified instance. Required to prepare for a certificate rotation. If a CA version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one CA version waiting to be rotated in. For instances that have enabled Certificate Authority Service (CAS) based server CA, use AddServerCertificate to add a new server certificate. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -4084,7 +4153,7 @@ export namespace sqladmin_v1beta4 { } /** - * Add a new trusted server certificate version for the specified instance using Certificate Authority Service (CAS) server CA. Required to prepare for a certificate rotation. If a server certificate version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one certificate version waiting to be rotated in. For instances not using CAS server CA, please use AddServerCa instead. + * Add a new trusted server certificate version for the specified instance using Certificate Authority Service (CAS) server CA. Required to prepare for a certificate rotation. If a server certificate version was previously added but never used in a certificate rotation, this operation replaces that version. There cannot be more than one certificate version waiting to be rotated in. For instances not using CAS server CA, use AddServerCa instead. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -5144,7 +5213,7 @@ export namespace sqladmin_v1beta4 { } /** - * Lists all versions of server certificates and certificate authorities (CAs) for the specified instance. There can be up to three sets of certs listed: the certificate that is currently in use, a future that has been added but not yet used to sign a certificate, and a certificate that has been rotated out. + * Lists all versions of server certificates and certificate authorities (CAs) for the specified instance. There can be up to three sets of certs listed: the certificate that is currently in use, a future that has been added but not yet used to sign a certificate, and a certificate that has been rotated out. For instances not using Certificate Authority Service (CAS) server CA, use ListServerCas instead. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -5864,7 +5933,7 @@ export namespace sqladmin_v1beta4 { } /** - * Rotates the server certificate to one signed by the Certificate Authority (CA) version previously added with the addServerCA method. For instances that have enabled Certificate Authority Service (CAS) based server CA, please use RotateServerCertificate to rotate the server certificate. + * Rotates the server certificate to one signed by the Certificate Authority (CA) version previously added with the addServerCA method. For instances that have enabled Certificate Authority Service (CAS) based server CA, use RotateServerCertificate to rotate the server certificate. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -5952,7 +6021,7 @@ export namespace sqladmin_v1beta4 { } /** - * Rotates the server certificate version to one previously added with the addServerCertificate method. For instances not using Certificate Authority Service (CAS) server CA, please use RotateServerCa instead. + * Rotates the server certificate version to one previously added with the addServerCertificate method. For instances not using Certificate Authority Service (CAS) server CA, use RotateServerCa instead. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -6218,7 +6287,7 @@ export namespace sqladmin_v1beta4 { } /** - * Switches over from the primary instance to the designated DR replica instance. + * Switches over from the primary instance to the DR replica instance. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -6534,22 +6603,6 @@ export namespace sqladmin_v1beta4 { requestBody?: Schema$InstancesCloneRequest; } export interface Params$Resource$Instances$Delete extends StandardParameters { - /** - * Flag to opt-in for final backup. By default, it is turned off. - */ - enableFinalBackup?: boolean; - /** - * Optional. The description of the final backup. - */ - finalBackupDescription?: string; - /** - * Optional. Final Backup expiration time. Timestamp in UTC of when this resource is considered expired. - */ - finalBackupExpiryTime?: string; - /** - * Optional. Retention period of the final backup. - */ - finalBackupTtlDays?: string; /** * Cloud SQL instance ID. This does not include the project ID. */ @@ -6715,7 +6768,7 @@ export namespace sqladmin_v1beta4 { export interface Params$Resource$Instances$Promotereplica extends StandardParameters { /** - * Set to true to invoke a replica failover to the designated DR replica. As part of replica failover, the promote operation attempts to add the original primary instance as a replica of the promoted DR replica when the original primary instance comes back online. If set to false or not specified, then the original primary instance becomes an independent Cloud SQL primary instance. Only applicable to MySQL. + * Set to true to invoke a replica failover to the DR replica. As part of replica failover, the promote operation attempts to add the original primary instance as a replica of the promoted DR replica when the original primary instance comes back online. If set to false or not specified, then the original primary instance becomes an independent Cloud SQL primary instance. */ failover?: boolean; /** @@ -6849,7 +6902,7 @@ export namespace sqladmin_v1beta4 { export interface Params$Resource$Instances$Switchover extends StandardParameters { /** - * Optional. (MySQL only) Cloud SQL instance operations timeout, which is a sum of all database operations. Default value is 10 minutes and can be modified to a maximum value of 24 hours. + * Optional. (MySQL and PostgreSQL only) Cloud SQL instance operations timeout, which is a sum of all database operations. Default value is 10 minutes and can be modified to a maximum value of 24 hours. */ dbTimeout?: string; /** @@ -7187,10 +7240,6 @@ export namespace sqladmin_v1beta4 { project?: string; } export interface Params$Resource$Operations$List extends StandardParameters { - /** - * Optional. A filter string that follows the rules of EBNF grammar (https://google.aip.dev/assets/misc/ebnf-filtering.txt). Cloud SQL provides filters for status, operationType, and startTime. - */ - filter?: string; /** * Cloud SQL instance ID. This does not include the project ID. */ diff --git a/src/apis/storage/v1.ts b/src/apis/storage/v1.ts index b47650bac1..6a8a7c2b69 100644 --- a/src/apis/storage/v1.ts +++ b/src/apis/storage/v1.ts @@ -139,6 +139,19 @@ export namespace storage_v1 { } } + /** + * An AdvanceRelocateBucketOperation request. + */ + export interface Schema$AdvanceRelocateBucketOperationRequest { + /** + * Specifies the time when the relocation will revert to the sync stage if the relocation hasn't succeeded. + */ + expireTime?: string | null; + /** + * Specifies the duration after which the relocation will revert to the sync stage if the relocation hasn't succeeded. Optional, if not supplied, a default value of 12h will be used. + */ + ttl?: string | null; + } /** * An Anywhere Cache instance. */ @@ -1098,6 +1111,10 @@ export namespace storage_v1 { * The time at which the object became noncurrent in RFC 3339 format. Will be returned if and only if this version of the object has been deleted. */ timeDeleted?: string | null; + /** + * The time when the object was finalized. + */ + timeFinalized?: string | null; /** * The time at which the object's storage class was last changed. When the object is initially created, it will be set to timeCreated. */ @@ -3514,7 +3531,7 @@ export namespace storage_v1 { restore( params?: Params$Resource$Buckets$Restore, options?: MethodOptions - ): GaxiosPromise; + ): GaxiosPromise; restore( params: Params$Resource$Buckets$Restore, options: StreamMethodOptions | BodyResponseCallback, @@ -3522,26 +3539,28 @@ export namespace storage_v1 { ): void; restore( params: Params$Resource$Buckets$Restore, - options: MethodOptions | BodyResponseCallback, - callback: BodyResponseCallback + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback ): void; restore( params: Params$Resource$Buckets$Restore, - callback: BodyResponseCallback + callback: BodyResponseCallback ): void; - restore(callback: BodyResponseCallback): void; + restore(callback: BodyResponseCallback): void; restore( paramsOrCallback?: | Params$Resource$Buckets$Restore - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, optionsOrCallback?: | MethodOptions | StreamMethodOptions - | BodyResponseCallback + | BodyResponseCallback | BodyResponseCallback, - callback?: BodyResponseCallback | BodyResponseCallback - ): void | GaxiosPromise | GaxiosPromise { + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { let params = (paramsOrCallback || {}) as Params$Resource$Buckets$Restore; let options = (optionsOrCallback || {}) as MethodOptions; @@ -3575,12 +3594,12 @@ export namespace storage_v1 { context: this.context, }; if (callback) { - createAPIRequest( + createAPIRequest( parameters, callback as BodyResponseCallback ); } else { - return createAPIRequest(parameters); + return createAPIRequest(parameters); } } @@ -4059,6 +4078,10 @@ export namespace storage_v1 { * Generation of a bucket. */ generation?: string; + /** + * Set of properties to return. Defaults to full. + */ + projection?: string; /** * The project to be billed for this request. Required for Requester Pays buckets. */ @@ -8019,6 +8042,93 @@ export namespace storage_v1 { } } + /** + * Moves the source object to the destination object in the same bucket. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + move( + params: Params$Resource$Objects$Move, + options: StreamMethodOptions + ): GaxiosPromise; + move( + params?: Params$Resource$Objects$Move, + options?: MethodOptions + ): GaxiosPromise; + move( + params: Params$Resource$Objects$Move, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + move( + params: Params$Resource$Objects$Move, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + move( + params: Params$Resource$Objects$Move, + callback: BodyResponseCallback + ): void; + move(callback: BodyResponseCallback): void; + move( + paramsOrCallback?: + | Params$Resource$Objects$Move + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || {}) as Params$Resource$Objects$Move; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Objects$Move; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://storage.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/storage/v1/b/{bucket}/o/{sourceObject}/moveTo/o/{destinationObject}' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['bucket', 'sourceObject', 'destinationObject'], + pathParams: ['bucket', 'destinationObject', 'sourceObject'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Patches an object's metadata. * @@ -8991,6 +9101,56 @@ export namespace storage_v1 { */ versions?: boolean; } + export interface Params$Resource$Objects$Move extends StandardParameters { + /** + * Name of the bucket in which the object resides. + */ + bucket?: string; + /** + * Name of the destination object. For information about how to URL encode object names to be path safe, see [Encoding URI Path Parts](https://cloud.google.com/storage/docs/request-endpoints#encoding). + */ + destinationObject?: string; + /** + * Makes the operation conditional on whether the destination object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object. `ifGenerationMatch` and `ifGenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request. + */ + ifGenerationMatch?: string; + /** + * Makes the operation conditional on whether the destination object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.`ifGenerationMatch` and `ifGenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request. + */ + ifGenerationNotMatch?: string; + /** + * Makes the operation conditional on whether the destination object's current metageneration matches the given value. `ifMetagenerationMatch` and `ifMetagenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request. + */ + ifMetagenerationMatch?: string; + /** + * Makes the operation conditional on whether the destination object's current metageneration does not match the given value. `ifMetagenerationMatch` and `ifMetagenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request. + */ + ifMetagenerationNotMatch?: string; + /** + * Makes the operation conditional on whether the source object's current generation matches the given value. `ifSourceGenerationMatch` and `ifSourceGenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request. + */ + ifSourceGenerationMatch?: string; + /** + * Makes the operation conditional on whether the source object's current generation does not match the given value. `ifSourceGenerationMatch` and `ifSourceGenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request. + */ + ifSourceGenerationNotMatch?: string; + /** + * Makes the operation conditional on whether the source object's current metageneration matches the given value. `ifSourceMetagenerationMatch` and `ifSourceMetagenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request. + */ + ifSourceMetagenerationMatch?: string; + /** + * Makes the operation conditional on whether the source object's current metageneration does not match the given value. `ifSourceMetagenerationMatch` and `ifSourceMetagenerationNotMatch` conditions are mutually exclusive: it's an error for both of them to be set in the request. + */ + ifSourceMetagenerationNotMatch?: string; + /** + * Name of the source object. For information about how to URL encode object names to be path safe, see [Encoding URI Path Parts](https://cloud.google.com/storage/docs/request-endpoints#encoding). + */ + sourceObject?: string; + /** + * The project to be billed for this request. Required for Requester Pays buckets. + */ + userProject?: string; + } export interface Params$Resource$Objects$Patch extends StandardParameters { /** * Name of the bucket in which the object resides. @@ -9327,6 +9487,92 @@ export namespace storage_v1 { this.context = context; } + /** + * Starts asynchronous advancement of the relocate bucket operation in the case of required write downtime, to allow it to lock the bucket at the source location, and proceed with the bucket location swap. The server makes a best effort to advance the relocate bucket operation, but success is not guaranteed. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + advanceRelocateBucket( + params: Params$Resource$Operations$Advancerelocatebucket, + options: StreamMethodOptions + ): GaxiosPromise; + advanceRelocateBucket( + params?: Params$Resource$Operations$Advancerelocatebucket, + options?: MethodOptions + ): GaxiosPromise; + advanceRelocateBucket( + params: Params$Resource$Operations$Advancerelocatebucket, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + advanceRelocateBucket( + params: Params$Resource$Operations$Advancerelocatebucket, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + advanceRelocateBucket( + params: Params$Resource$Operations$Advancerelocatebucket, + callback: BodyResponseCallback + ): void; + advanceRelocateBucket(callback: BodyResponseCallback): void; + advanceRelocateBucket( + paramsOrCallback?: + | Params$Resource$Operations$Advancerelocatebucket + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: BodyResponseCallback | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Operations$Advancerelocatebucket; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = {} as Params$Resource$Operations$Advancerelocatebucket; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://storage.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + + '/storage/v1/b/{bucket}/operations/{operationId}/advanceRelocateBucket' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['bucket', 'operationId'], + pathParams: ['bucket', 'operationId'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. * @@ -9602,6 +9848,22 @@ export namespace storage_v1 { } } + export interface Params$Resource$Operations$Advancerelocatebucket + extends StandardParameters { + /** + * Name of the bucket to advance the relocate for. + */ + bucket?: string; + /** + * ID of the operation resource. + */ + operationId?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$AdvanceRelocateBucketOperationRequest; + } export interface Params$Resource$Operations$Cancel extends StandardParameters { /** diff --git a/src/apis/storagetransfer/v1.ts b/src/apis/storagetransfer/v1.ts index 67e5195592..d5478090b1 100644 --- a/src/apis/storagetransfer/v1.ts +++ b/src/apis/storagetransfer/v1.ts @@ -670,19 +670,19 @@ export namespace storagetransfer_v1 { */ export interface Schema$TimeOfDay { /** - * Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. + * Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. */ hours?: number | null; /** - * Minutes of hour of day. Must be from 0 to 59. + * Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. */ minutes?: number | null; /** - * Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999. + * Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. */ nanos?: number | null; /** - * Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds. + * Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. */ seconds?: number | null; } diff --git a/src/apis/sts/v1.ts b/src/apis/sts/v1.ts index 9b1d2be2a7..97709ecd93 100644 --- a/src/apis/sts/v1.ts +++ b/src/apis/sts/v1.ts @@ -252,7 +252,7 @@ export namespace sts_v1 { */ access_token?: string | null; /** - * The amount of time, in seconds, between the time when the access token was issued and the time when the access token will expire. This field is absent when the `subject_token` in the request is a Google-issued, short-lived access token. In this case, the access token has the same expiration time as the `subject_token`. + * The amount of time, in seconds, between the time when the access token was issued and the time when the access token will expire. This field is absent when the `subject_token` in the request is a a short-lived access token for a Cloud Identity or Google Workspace user account. In this case, the access token has the same expiration time as the `subject_token`. */ expires_in?: number | null; /** diff --git a/src/apis/tagmanager/v2.ts b/src/apis/tagmanager/v2.ts index 798aa2d146..44a1b64aee 100644 --- a/src/apis/tagmanager/v2.ts +++ b/src/apis/tagmanager/v2.ts @@ -876,6 +876,10 @@ export namespace tagmanager_v2 { * The signature of the community gallery template as computed at import time. This value is recomputed whenever the template is updated from the gallery. */ signature?: string | null; + /** + * The developer id of the community gallery template. This value is set whenever the template is created from the gallery. + */ + templateDeveloperId?: string | null; /** * The version of the community gallery template. */ diff --git a/src/apis/tasks/v1.ts b/src/apis/tasks/v1.ts index 9195fe233a..2448e686cd 100644 --- a/src/apis/tasks/v1.ts +++ b/src/apis/tasks/v1.ts @@ -1679,11 +1679,11 @@ export namespace tasks_v1 { */ destinationTasklist?: string; /** - * New parent task identifier. If the task is moved to the top level, this parameter is omitted. Assigned tasks can not be set as parent task (have subtasks) or be moved under a parent task (become subtasks). Optional. + * New parent task identifier. If the task is moved to the top level, this parameter is omitted. The task set as parent must exist in the task list and can not be hidden. Assigned tasks can not be set as parent task (have subtasks) or be moved under a parent task (become subtasks). Optional. */ parent?: string; /** - * New previous sibling task identifier. If the task is moved to the first position among its siblings, this parameter is omitted. Optional. + * New previous sibling task identifier. If the task is moved to the first position among its siblings, this parameter is omitted. The task set as previous must exist in the task list and can not be hidden. Optional. */ previous?: string; /** diff --git a/src/apis/testing/v1.ts b/src/apis/testing/v1.ts index df61d8a98f..f49031c4d3 100644 --- a/src/apis/testing/v1.ts +++ b/src/apis/testing/v1.ts @@ -495,10 +495,11 @@ export namespace testing_v1 { * Feature usage tags defined in the manifest. */ usesFeature?: Schema$UsesFeature[]; + usesPermission?: string[] | null; /** * Permissions declared to be used by the application */ - usesPermission?: string[] | null; + usesPermissionTags?: Schema$UsesPermissionTag[]; /** * Version number used internally by the app. */ @@ -904,7 +905,7 @@ export namespace testing_v1 { */ appIpa?: Schema$FileReference; /** - * An optional Roboscript to customize the crawl. See https://firebase.google.com/docs/test-lab/android/robo-scripts-reference for more information about Roboscripts. + * An optional Roboscript to customize the crawl. See https://firebase.google.com/docs/test-lab/android/robo-scripts-reference for more information about Roboscripts. The maximum allowed file size of the roboscript is 10MiB. */ roboScript?: Schema$FileReference; } @@ -1702,6 +1703,19 @@ export namespace testing_v1 { */ name?: string | null; } + /** + * The tag within a manifest. https://developer.android.com/guide/topics/manifest/uses-permission-element.html + */ + export interface Schema$UsesPermissionTag { + /** + * The android:name value + */ + maxSdkVersion?: number | null; + /** + * The android:name value + */ + name?: string | null; + } /** * An Xcode version that an iOS version is compatible with. */ diff --git a/src/apis/texttospeech/v1.ts b/src/apis/texttospeech/v1.ts index da8fc231db..4e0aaec904 100644 --- a/src/apis/texttospeech/v1.ts +++ b/src/apis/texttospeech/v1.ts @@ -135,7 +135,7 @@ export namespace texttospeech_v1 { */ export interface Schema$AdvancedVoiceOptions { /** - * Only for Jounrney voices. If false, the synthesis will be context aware and have higher latency. + * Only for Journey voices. If false, the synthesis will be context aware and have higher latency. */ lowLatencyJourneySynthesis?: boolean | null; } @@ -215,36 +215,6 @@ export namespace texttospeech_v1 { * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} */ export interface Schema$Empty {} - /** - * Request message for the `GenerateVoiceCloningKey` method. - */ - export interface Schema$GenerateVoiceCloningKeyRequest { - /** - * Required. The script used for the voice talent statement. The script will be provided to the caller through other channels. It must be returned unchanged in this field. - */ - consentScript?: string | null; - /** - * Required. The language of the supplied audio as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. Example: "en-US". See [Language Support](https://cloud.google.com/speech-to-text/docs/languages) for a list of the currently supported language codes. - */ - languageCode?: string | null; - /** - * Required. The training audio used to create voice clone. This is currently limited to LINEAR16 PCM WAV files mono audio with 24khz sample rate. This needs to be specified in [InputAudio.audio_config], other values will be explicitly rejected. - */ - referenceAudio?: Schema$InputAudio; - /** - * Required. The voice talent audio used to verify consent to voice clone. - */ - voiceTalentConsent?: Schema$InputAudio; - } - /** - * Response message for the `GenerateVoiceCloningKey` method. - */ - export interface Schema$GenerateVoiceCloningKeyResponse { - /** - * The voice clone key. Use it in the SynthesizeSpeechRequest by setting [voice.voice_clone.voice_cloning_key]. - */ - voiceCloningKey?: string | null; - } /** * Metadata for response returned by the `SynthesizeLongAudio` method. */ @@ -262,32 +232,6 @@ export namespace texttospeech_v1 { */ startTime?: string | null; } - /** - * Holds audio content and config. - */ - export interface Schema$InputAudio { - /** - * Required. Provides information that specifies how to process content. - */ - audioConfig?: Schema$InputAudioConfig; - /** - * Required. The audio data bytes encoded as specified in `InputAudioConfig`. Note: as with all bytes fields, proto buffers use a pure binary representation, whereas JSON representations use base64. Audio samples should be between 5-25 seconds in length. - */ - content?: string | null; - } - /** - * Description of inputted audio data. - */ - export interface Schema$InputAudioConfig { - /** - * Required. The format of the audio byte stream. - */ - audioEncoding?: string | null; - /** - * Required. The sample rate (in hertz) for this audio. - */ - sampleRateHertz?: number | null; - } /** * The response message for Operations.ListOperations. */ @@ -310,6 +254,15 @@ export namespace texttospeech_v1 { */ voices?: Schema$Voice[]; } + /** + * A collection of turns for multi-speaker synthesis. + */ + export interface Schema$MultiSpeakerMarkup { + /** + * Required. Speaker turns. + */ + turns?: Schema$Turn[]; + } /** * This resource represents a long-running operation that is the result of a network API call. */ @@ -360,6 +313,10 @@ export namespace texttospeech_v1 { * Optional. The pronunciation customizations to be applied to the input. If this is set, the input will be synthesized using the given pronunciation customizations. The initial support will be for EFIGS (English, French, Italian, German, Spanish) languages, as provided in VoiceSelectionParams. Journey and Instant Clone voices are not supported yet. In order to customize the pronunciation of a phrase, there must be an exact match of the phrase in the input types. If using SSML, the phrase must not be inside a phoneme tag (entirely or partially). */ customPronunciations?: Schema$CustomPronunciations; + /** + * The multi-speaker input to be synthesized. Only applicable for multi-speaker synthesis. + */ + multiSpeakerMarkup?: Schema$MultiSpeakerMarkup; /** * The SSML document to be synthesized. The SSML document must be valid and well-formed. Otherwise the RPC will fail and return google.rpc.Code.INVALID_ARGUMENT. For more information, see [SSML](https://cloud.google.com/text-to-speech/docs/ssml). */ @@ -412,7 +369,7 @@ export namespace texttospeech_v1 { */ export interface Schema$SynthesizeSpeechRequest { /** - * Adnanced voice options. + * Advanced voice options. */ advancedVoiceOptions?: Schema$AdvancedVoiceOptions; /** @@ -437,6 +394,19 @@ export namespace texttospeech_v1 { */ audioContent?: string | null; } + /** + * A Multi-speaker turn. + */ + export interface Schema$Turn { + /** + * Required. The speaker of the turn, for example, 'O' or 'Q'. Please refer to documentation for available speakers. + */ + speaker?: string | null; + /** + * Required. The text to speak. + */ + text?: string | null; + } /** * Description of a voice supported by the TTS service. */ @@ -500,7 +470,7 @@ export namespace texttospeech_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -1137,103 +1107,6 @@ export namespace texttospeech_v1 { this.context = context; } - /** - * Generates voice clone key given a short voice prompt. This method validates the voice prompts with a series of checks against the voice talent statement to verify the voice clone is safe to generate. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - generateVoiceCloningKey( - params: Params$Resource$Voices$Generatevoicecloningkey, - options: StreamMethodOptions - ): GaxiosPromise; - generateVoiceCloningKey( - params?: Params$Resource$Voices$Generatevoicecloningkey, - options?: MethodOptions - ): GaxiosPromise; - generateVoiceCloningKey( - params: Params$Resource$Voices$Generatevoicecloningkey, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - generateVoiceCloningKey( - params: Params$Resource$Voices$Generatevoicecloningkey, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - generateVoiceCloningKey( - params: Params$Resource$Voices$Generatevoicecloningkey, - callback: BodyResponseCallback - ): void; - generateVoiceCloningKey( - callback: BodyResponseCallback - ): void; - generateVoiceCloningKey( - paramsOrCallback?: - | Params$Resource$Voices$Generatevoicecloningkey - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Voices$Generatevoicecloningkey; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Voices$Generatevoicecloningkey; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://texttospeech.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1/voices:generateVoiceCloningKey').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: [], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - /** * Returns a list of Voice supported for synthesis. * @@ -1322,13 +1195,6 @@ export namespace texttospeech_v1 { } } - export interface Params$Resource$Voices$Generatevoicecloningkey - extends StandardParameters { - /** - * Request body metadata - */ - requestBody?: Schema$GenerateVoiceCloningKeyRequest; - } export interface Params$Resource$Voices$List extends StandardParameters { /** * Optional. Recommended. [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. If not specified, the API will return all supported voices. If specified, the ListVoices call will only return voices that can be used to synthesize this language_code. For example, if you specify `"en-NZ"`, all `"en-NZ"` voices will be returned. If you specify `"no"`, both `"no-\*"` (Norwegian) and `"nb-\*"` (Norwegian Bokmal) voices will be returned. diff --git a/src/apis/texttospeech/v1beta1.ts b/src/apis/texttospeech/v1beta1.ts index bf9c5b023a..a8f1dd0e32 100644 --- a/src/apis/texttospeech/v1beta1.ts +++ b/src/apis/texttospeech/v1beta1.ts @@ -133,7 +133,7 @@ export namespace texttospeech_v1beta1 { */ export interface Schema$AdvancedVoiceOptions { /** - * Only for Jounrney voices. If false, the synthesis will be context aware and have higher latency. + * Only for Journey voices. If false, the synthesis will be context aware and have higher latency. */ lowLatencyJourneySynthesis?: boolean | null; } @@ -205,36 +205,6 @@ export namespace texttospeech_v1beta1 { */ reportedUsage?: string | null; } - /** - * Request message for the `GenerateVoiceCloningKey` method. - */ - export interface Schema$GenerateVoiceCloningKeyRequest { - /** - * Required. The script used for the voice talent statement. The script will be provided to the caller through other channels. It must be returned unchanged in this field. - */ - consentScript?: string | null; - /** - * Required. The language of the supplied audio as a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. Example: "en-US". See [Language Support](https://cloud.google.com/speech-to-text/docs/languages) for a list of the currently supported language codes. - */ - languageCode?: string | null; - /** - * Required. The training audio used to create voice clone. This is currently limited to LINEAR16 PCM WAV files mono audio with 24khz sample rate. This needs to be specified in [InputAudio.audio_config], other values will be explicitly rejected. - */ - referenceAudio?: Schema$InputAudio; - /** - * Required. The voice talent audio used to verify consent to voice clone. - */ - voiceTalentConsent?: Schema$InputAudio; - } - /** - * Response message for the `GenerateVoiceCloningKey` method. - */ - export interface Schema$GenerateVoiceCloningKeyResponse { - /** - * The voice clone key. Use it in the SynthesizeSpeechRequest by setting [voice.voice_clone.voice_cloning_key]. - */ - voiceCloningKey?: string | null; - } /** * Metadata for response returned by the `SynthesizeLongAudio` method. */ @@ -252,32 +222,6 @@ export namespace texttospeech_v1beta1 { */ startTime?: string | null; } - /** - * Holds audio content and config. - */ - export interface Schema$InputAudio { - /** - * Required. Provides information that specifies how to process content. - */ - audioConfig?: Schema$InputAudioConfig; - /** - * Required. The audio data bytes encoded as specified in `InputAudioConfig`. Note: as with all bytes fields, proto buffers use a pure binary representation, whereas JSON representations use base64. Audio samples should be between 5-25 seconds in length. - */ - content?: string | null; - } - /** - * Description of inputted audio data. - */ - export interface Schema$InputAudioConfig { - /** - * Required. The format of the audio byte stream. - */ - audioEncoding?: string | null; - /** - * Required. The sample rate (in hertz) for this audio. - */ - sampleRateHertz?: number | null; - } /** * The response message for Operations.ListOperations. */ @@ -300,6 +244,15 @@ export namespace texttospeech_v1beta1 { */ voices?: Schema$Voice[]; } + /** + * A collection of turns for multi-speaker synthesis. + */ + export interface Schema$MultiSpeakerMarkup { + /** + * Required. Speaker turns. + */ + turns?: Schema$Turn[]; + } /** * This resource represents a long-running operation that is the result of a network API call. */ @@ -350,6 +303,10 @@ export namespace texttospeech_v1beta1 { * Optional. The pronunciation customizations to be applied to the input. If this is set, the input will be synthesized using the given pronunciation customizations. The initial support will be for EFIGS (English, French, Italian, German, Spanish) languages, as provided in VoiceSelectionParams. Journey and Instant Clone voices are not supported yet. In order to customize the pronunciation of a phrase, there must be an exact match of the phrase in the input types. If using SSML, the phrase must not be inside a phoneme tag (entirely or partially). */ customPronunciations?: Schema$CustomPronunciations; + /** + * The multi-speaker input to be synthesized. Only applicable for multi-speaker synthesis. + */ + multiSpeakerMarkup?: Schema$MultiSpeakerMarkup; /** * The SSML document to be synthesized. The SSML document must be valid and well-formed. Otherwise the RPC will fail and return google.rpc.Code.INVALID_ARGUMENT. For more information, see [SSML](https://cloud.google.com/text-to-speech/docs/ssml). */ @@ -402,7 +359,7 @@ export namespace texttospeech_v1beta1 { */ export interface Schema$SynthesizeSpeechRequest { /** - * Adnanced voice options. + * Advanced voice options. */ advancedVoiceOptions?: Schema$AdvancedVoiceOptions; /** @@ -452,6 +409,19 @@ export namespace texttospeech_v1beta1 { */ timeSeconds?: number | null; } + /** + * A Multi-speaker turn. + */ + export interface Schema$Turn { + /** + * Required. The speaker of the turn, for example, 'O' or 'Q'. Please refer to documentation for available speakers. + */ + speaker?: string | null; + /** + * Required. The text to speak. + */ + text?: string | null; + } /** * Description of a voice supported by the TTS service. */ @@ -955,103 +925,6 @@ export namespace texttospeech_v1beta1 { this.context = context; } - /** - * Generates voice clone key given a short voice prompt. This method validates the voice prompts with a series of checks against the voice talent statement to verify the voice clone is safe to generate. - * - * @param params - Parameters for request - * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. - * @param callback - Optional callback that handles the response. - * @returns A promise if used with async/await, or void if used with a callback. - */ - generateVoiceCloningKey( - params: Params$Resource$Voices$Generatevoicecloningkey, - options: StreamMethodOptions - ): GaxiosPromise; - generateVoiceCloningKey( - params?: Params$Resource$Voices$Generatevoicecloningkey, - options?: MethodOptions - ): GaxiosPromise; - generateVoiceCloningKey( - params: Params$Resource$Voices$Generatevoicecloningkey, - options: StreamMethodOptions | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - generateVoiceCloningKey( - params: Params$Resource$Voices$Generatevoicecloningkey, - options: - | MethodOptions - | BodyResponseCallback, - callback: BodyResponseCallback - ): void; - generateVoiceCloningKey( - params: Params$Resource$Voices$Generatevoicecloningkey, - callback: BodyResponseCallback - ): void; - generateVoiceCloningKey( - callback: BodyResponseCallback - ): void; - generateVoiceCloningKey( - paramsOrCallback?: - | Params$Resource$Voices$Generatevoicecloningkey - | BodyResponseCallback - | BodyResponseCallback, - optionsOrCallback?: - | MethodOptions - | StreamMethodOptions - | BodyResponseCallback - | BodyResponseCallback, - callback?: - | BodyResponseCallback - | BodyResponseCallback - ): - | void - | GaxiosPromise - | GaxiosPromise { - let params = (paramsOrCallback || - {}) as Params$Resource$Voices$Generatevoicecloningkey; - let options = (optionsOrCallback || {}) as MethodOptions; - - if (typeof paramsOrCallback === 'function') { - callback = paramsOrCallback; - params = {} as Params$Resource$Voices$Generatevoicecloningkey; - options = {}; - } - - if (typeof optionsOrCallback === 'function') { - callback = optionsOrCallback; - options = {}; - } - - const rootUrl = options.rootUrl || 'https://texttospeech.googleapis.com/'; - const parameters = { - options: Object.assign( - { - url: (rootUrl + '/v1beta1/voices:generateVoiceCloningKey').replace( - /([^:]\/)\/+/g, - '$1' - ), - method: 'POST', - apiVersion: '', - }, - options - ), - params, - requiredParams: [], - pathParams: [], - context: this.context, - }; - if (callback) { - createAPIRequest( - parameters, - callback as BodyResponseCallback - ); - } else { - return createAPIRequest( - parameters - ); - } - } - /** * Returns a list of Voice supported for synthesis. * @@ -1140,13 +1013,6 @@ export namespace texttospeech_v1beta1 { } } - export interface Params$Resource$Voices$Generatevoicecloningkey - extends StandardParameters { - /** - * Request body metadata - */ - requestBody?: Schema$GenerateVoiceCloningKeyRequest; - } export interface Params$Resource$Voices$List extends StandardParameters { /** * Optional. Recommended. [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt) language tag. If not specified, the API will return all supported voices. If specified, the ListVoices call will only return voices that can be used to synthesize this language_code. For example, if you specify `"en-NZ"`, all `"en-NZ"` voices will be returned. If you specify `"no"`, both `"no-\*"` (Norwegian) and `"nb-\*"` (Norwegian Bokmal) voices will be returned. diff --git a/src/apis/tpu/v1.ts b/src/apis/tpu/v1.ts index 0563a85717..590d11f114 100644 --- a/src/apis/tpu/v1.ts +++ b/src/apis/tpu/v1.ts @@ -1634,7 +1634,7 @@ export namespace tpu_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/tpu/v1alpha1.ts b/src/apis/tpu/v1alpha1.ts index b4d2d4b3ac..7d392e699d 100644 --- a/src/apis/tpu/v1alpha1.ts +++ b/src/apis/tpu/v1alpha1.ts @@ -1648,7 +1648,7 @@ export namespace tpu_v1alpha1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/tpu/v2.ts b/src/apis/tpu/v2.ts index 04a8d69fb7..5acb79e306 100644 --- a/src/apis/tpu/v2.ts +++ b/src/apis/tpu/v2.ts @@ -2280,7 +2280,7 @@ export namespace tpu_v2 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/tpu/v2alpha1.ts b/src/apis/tpu/v2alpha1.ts index dc5666fe18..3f47f45832 100644 --- a/src/apis/tpu/v2alpha1.ts +++ b/src/apis/tpu/v2alpha1.ts @@ -475,6 +475,10 @@ export namespace tpu_v2alpha1 { * Prefix of node_ids in case of multi-node request Should follow the `^[A-Za-z0-9_.~+%-]+$` regex format. If node_count = 3 and node_id_prefix = "np", node ids of nodes created will be "np-0", "np-1", "np-2". If this field is not provided we use queued_resource_id as the node_id_prefix. */ nodeIdPrefix?: string | null; + /** + * Optional. The workload type for the multi-node request. + */ + workloadType?: string | null; } /** * Network related configurations. @@ -630,6 +634,10 @@ export namespace tpu_v2alpha1 { * Tags to apply to the TPU Node. Tags are used to identify valid sources or targets for network firewalls. */ tags?: string[] | null; + /** + * Output only. Upcoming maintenance on this TPU node. + */ + upcomingMaintenance?: Schema$UpcomingMaintenance; } /** * Details of the TPU node(s) being requested. Users can request either a single node or multiple nodes. NodeSpec provides the specification for node(s) to be created. @@ -710,6 +718,19 @@ export namespace tpu_v2alpha1 { */ verb?: string | null; } + /** + * Request for PerformMaintenanceQueuedResource. + */ + export interface Schema$PerformMaintenanceQueuedResourceRequest { + /** + * The names of the nodes to perform maintenance on. + */ + nodeNames?: string[] | null; + } + /** + * Request for PerformMaintenance. + */ + export interface Schema$PerformMaintenanceRequest {} /** * Further data for the provisioning state. */ @@ -996,6 +1017,35 @@ export namespace tpu_v2alpha1 { */ nodeSpec?: Schema$NodeSpec[]; } + /** + * Upcoming Maintenance notification information. + */ + export interface Schema$UpcomingMaintenance { + /** + * Indicates if the maintenance can be customer triggered. + */ + canReschedule?: boolean | null; + /** + * The latest time for the planned maintenance window to start. This timestamp value is in RFC3339 text format. + */ + latestWindowStartTime?: string | null; + /** + * The status of the maintenance. + */ + maintenanceStatus?: string | null; + /** + * Defines the type of maintenance. + */ + type?: string | null; + /** + * The time by which the maintenance disruption will be completed. This timestamp value is in RFC3339 text format. + */ + windowEndTime?: string | null; + /** + * The current start time of the maintenance window. This timestamp value is in RFC3339 text format. + */ + windowStartTime?: string | null; + } export interface Schema$Usage { /** * The real-time value of usage within the reservation, with the unit specified in field capacity_units. @@ -2111,6 +2161,95 @@ export namespace tpu_v2alpha1 { } } + /** + * Perform manual maintenance on a node. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + performMaintenance( + params: Params$Resource$Projects$Locations$Nodes$Performmaintenance, + options: StreamMethodOptions + ): GaxiosPromise; + performMaintenance( + params?: Params$Resource$Projects$Locations$Nodes$Performmaintenance, + options?: MethodOptions + ): GaxiosPromise; + performMaintenance( + params: Params$Resource$Projects$Locations$Nodes$Performmaintenance, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + performMaintenance( + params: Params$Resource$Projects$Locations$Nodes$Performmaintenance, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + performMaintenance( + params: Params$Resource$Projects$Locations$Nodes$Performmaintenance, + callback: BodyResponseCallback + ): void; + performMaintenance(callback: BodyResponseCallback): void; + performMaintenance( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Nodes$Performmaintenance + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Nodes$Performmaintenance; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Nodes$Performmaintenance; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: (rootUrl + '/v2alpha1/{+name}:performMaintenance').replace( + /([^:]\/)\/+/g, + '$1' + ), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Simulates a maintenance event. * @@ -2459,6 +2598,18 @@ export namespace tpu_v2alpha1 { */ requestBody?: Schema$Node; } + export interface Params$Resource$Projects$Locations$Nodes$Performmaintenance + extends StandardParameters { + /** + * Required. The resource name. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$PerformMaintenanceRequest; + } export interface Params$Resource$Projects$Locations$Nodes$Simulatemaintenanceevent extends StandardParameters { /** @@ -2503,7 +2654,7 @@ export namespace tpu_v2alpha1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3256,6 +3407,96 @@ export namespace tpu_v2alpha1 { } } + /** + * Perform manual maintenance on specific nodes of a QueuedResource. + * + * @param params - Parameters for request + * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. + * @param callback - Optional callback that handles the response. + * @returns A promise if used with async/await, or void if used with a callback. + */ + performMaintenanceQueuedResource( + params: Params$Resource$Projects$Locations$Queuedresources$Performmaintenancequeuedresource, + options: StreamMethodOptions + ): GaxiosPromise; + performMaintenanceQueuedResource( + params?: Params$Resource$Projects$Locations$Queuedresources$Performmaintenancequeuedresource, + options?: MethodOptions + ): GaxiosPromise; + performMaintenanceQueuedResource( + params: Params$Resource$Projects$Locations$Queuedresources$Performmaintenancequeuedresource, + options: StreamMethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + performMaintenanceQueuedResource( + params: Params$Resource$Projects$Locations$Queuedresources$Performmaintenancequeuedresource, + options: MethodOptions | BodyResponseCallback, + callback: BodyResponseCallback + ): void; + performMaintenanceQueuedResource( + params: Params$Resource$Projects$Locations$Queuedresources$Performmaintenancequeuedresource, + callback: BodyResponseCallback + ): void; + performMaintenanceQueuedResource( + callback: BodyResponseCallback + ): void; + performMaintenanceQueuedResource( + paramsOrCallback?: + | Params$Resource$Projects$Locations$Queuedresources$Performmaintenancequeuedresource + | BodyResponseCallback + | BodyResponseCallback, + optionsOrCallback?: + | MethodOptions + | StreamMethodOptions + | BodyResponseCallback + | BodyResponseCallback, + callback?: + | BodyResponseCallback + | BodyResponseCallback + ): void | GaxiosPromise | GaxiosPromise { + let params = (paramsOrCallback || + {}) as Params$Resource$Projects$Locations$Queuedresources$Performmaintenancequeuedresource; + let options = (optionsOrCallback || {}) as MethodOptions; + + if (typeof paramsOrCallback === 'function') { + callback = paramsOrCallback; + params = + {} as Params$Resource$Projects$Locations$Queuedresources$Performmaintenancequeuedresource; + options = {}; + } + + if (typeof optionsOrCallback === 'function') { + callback = optionsOrCallback; + options = {}; + } + + const rootUrl = options.rootUrl || 'https://tpu.googleapis.com/'; + const parameters = { + options: Object.assign( + { + url: ( + rootUrl + '/v2alpha1/{+name}:performMaintenanceQueuedResource' + ).replace(/([^:]\/)\/+/g, '$1'), + method: 'POST', + apiVersion: '', + }, + options + ), + params, + requiredParams: ['name'], + pathParams: ['name'], + context: this.context, + }; + if (callback) { + createAPIRequest( + parameters, + callback as BodyResponseCallback + ); + } else { + return createAPIRequest(parameters); + } + } + /** * Resets a QueuedResource TPU instance * @@ -3402,6 +3643,18 @@ export namespace tpu_v2alpha1 { */ parent?: string; } + export interface Params$Resource$Projects$Locations$Queuedresources$Performmaintenancequeuedresource + extends StandardParameters { + /** + * Required. The name of the QueuedResource which holds the nodes to perform maintenance on. + */ + name?: string; + + /** + * Request body metadata + */ + requestBody?: Schema$PerformMaintenanceQueuedResourceRequest; + } export interface Params$Resource$Projects$Locations$Queuedresources$Reset extends StandardParameters { /** diff --git a/src/apis/transcoder/v1.ts b/src/apis/transcoder/v1.ts index dbde1eab17..ab5d0b11be 100644 --- a/src/apis/transcoder/v1.ts +++ b/src/apis/transcoder/v1.ts @@ -260,7 +260,7 @@ export namespace transcoder_v1 { */ channelLayout?: string[] | null; /** - * The codec for this audio stream. The default is `aac`. Supported audio codecs: - `aac` - `aac-he` - `aac-he-v2` - `mp3` - `ac3` - `eac3` + * The codec for this audio stream. The default is `aac`. Supported audio codecs: - `aac` - `aac-he` - `aac-he-v2` - `mp3` - `ac3` - `eac3` - `vorbis` */ codec?: string | null; /** @@ -944,7 +944,7 @@ export namespace transcoder_v1 { */ export interface Schema$MuxStream { /** - * The container format. The default is `mp4` Supported container formats: - `ts` - `fmp4`- the corresponding file extension is `.m4s` - `mp4` - `vtt` See also: [Supported input and output formats](https://cloud.google.com/transcoder/docs/concepts/supported-input-and-output-formats) + * The container format. The default is `mp4` Supported container formats: - `ts` - `fmp4`- the corresponding file extension is `.m4s` - `mp4` - `vtt` - `ogg` See also: [Supported input and output formats](https://cloud.google.com/transcoder/docs/concepts/supported-input-and-output-formats) */ container?: string | null; /** diff --git a/src/apis/translate/v3.ts b/src/apis/translate/v3.ts index 256a5baaae..f71fed0388 100644 --- a/src/apis/translate/v3.ts +++ b/src/apis/translate/v3.ts @@ -635,6 +635,10 @@ export namespace translate_v3 { * Configures which glossary is used for a specific target language and defines options for applying that glossary. */ export interface Schema$GlossaryConfig { + /** + * Optional. If set to true, the glossary will be used for contextual translation. + */ + contextualTranslationEnabled?: boolean | null; /** * Required. The `glossary` to be applied for this translation. The format depends on the glossary: - User-provided custom glossary: `projects/{project-number-or-id\}/locations/{location-id\}/glossaries/{glossary-id\}` */ @@ -1217,6 +1221,10 @@ export namespace translate_v3 { * Configures which glossary is used for a specific target language and defines options for applying that glossary. */ export interface Schema$TranslateTextGlossaryConfig { + /** + * Optional. If set to true, the glossary will be used for contextual translation. + */ + contextualTranslationEnabled?: boolean | null; /** * Required. The `glossary` to be applied for this translation. The format depends on the glossary: - User-provided custom glossary: `projects/{project-number-or-id\}/locations/{location-id\}/glossaries/{glossary-id\}` */ @@ -6063,7 +6071,7 @@ export namespace translate_v3 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/translate/v3beta1.ts b/src/apis/translate/v3beta1.ts index 5d0123cf42..082f1c431a 100644 --- a/src/apis/translate/v3beta1.ts +++ b/src/apis/translate/v3beta1.ts @@ -629,9 +629,13 @@ export namespace translate_v3beta1 { model?: string | null; } /** - * Configures which glossary should be used for a specific target language, and defines options for applying that glossary. + * ----------------------------------------------------------------------------- Configures which glossary should be used for a specific target language, and defines options for applying that glossary. */ export interface Schema$TranslateTextGlossaryConfig { + /** + * Optional. If set to true, the glossary will be used for contextual translation. + */ + contextualTranslationEnabled?: boolean | null; /** * Required. Specifies the glossary used for this translation. Use this format: projects/x/locations/x/glossaries/x */ @@ -2309,7 +2313,7 @@ export namespace translate_v3beta1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/travelimpactmodel/v1.ts b/src/apis/travelimpactmodel/v1.ts index c162d390d7..308e8fb4a3 100644 --- a/src/apis/travelimpactmodel/v1.ts +++ b/src/apis/travelimpactmodel/v1.ts @@ -214,7 +214,7 @@ export namespace travelimpactmodel_v1 { */ export interface Schema$FlightWithEmissions { /** - * Optional. Per-passenger emission estimate numbers. Will not be present if emissions could not be computed. For the list of reasons why emissions could not be computed, see ComputeFlightEmissions. Note this field is currently equivalent to ttw_emissions_grams_per_pax until TIM version 1.X.0 which will update this to be total wtw emissions aka wtt_emissions_grams_per_pax + ttw_emissions_grams_per_pax. + * Optional. Per-passenger emission estimate numbers. Will not be present if emissions could not be computed. For the list of reasons why emissions could not be computed, see ComputeFlightEmissions. This field uses wtw emissions aka ttw_emissions_grams_per_pax + wtt_emissions_grams_per_pax. */ emissionsGramsPerPax?: Schema$EmissionsGramsPerPax; /** diff --git a/src/apis/vault/v1.ts b/src/apis/vault/v1.ts index 4d37a16741..868bb510f5 100644 --- a/src/apis/vault/v1.ts +++ b/src/apis/vault/v1.ts @@ -4135,7 +4135,7 @@ export namespace vault_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/verifiedaccess/v2.ts b/src/apis/verifiedaccess/v2.ts index be28dc6993..9ed55e0a97 100644 --- a/src/apis/verifiedaccess/v2.ts +++ b/src/apis/verifiedaccess/v2.ts @@ -215,7 +215,7 @@ export namespace verifiedaccess_v2 { */ operatingSystem?: string | null; /** - * The state of the OS level firewall. On ChromeOS, the value will always be ENABLED on regular devices and UNKNOWN on devices in developer mode. + * The state of the OS level firewall. On ChromeOS, the value will always be ENABLED on regular devices and UNKNOWN on devices in developer mode. Support for MacOS 15 (Sequoia) and later has been introduced in Chrome M131. */ osFirewall?: string | null; /** diff --git a/src/apis/vision/v1.ts b/src/apis/vision/v1.ts index a46f731821..61f9f19f1b 100644 --- a/src/apis/vision/v1.ts +++ b/src/apis/vision/v1.ts @@ -5695,7 +5695,7 @@ export namespace vision_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/vmmigration/v1.ts b/src/apis/vmmigration/v1.ts index eb463fe47c..84cb8d2022 100644 --- a/src/apis/vmmigration/v1.ts +++ b/src/apis/vmmigration/v1.ts @@ -272,6 +272,10 @@ export namespace vmmigration_v1 { * Represent the source AWS VM details. */ export interface Schema$AwsSourceVmDetails { + /** + * Output only. The VM architecture. + */ + architecture?: string | null; /** * Output only. The total size of the disks being migrated in bytes. */ @@ -429,6 +433,10 @@ export namespace vmmigration_v1 { * Represent the source Azure VM details. */ export interface Schema$AzureSourceVmDetails { + /** + * Output only. The VM architecture. + */ + architecture?: string | null; /** * Output only. The total size of the disks being migrated in bytes. */ @@ -450,6 +458,10 @@ export namespace vmmigration_v1 { * AzureVmDetails describes a VM in Azure. */ export interface Schema$AzureVmDetails { + /** + * The CPU architecture. + */ + architecture?: string | null; /** * The VM Boot Option. */ @@ -2551,6 +2563,10 @@ export namespace vmmigration_v1 { * Represent the source Vmware VM details. */ export interface Schema$VmwareSourceVmDetails { + /** + * Output only. The VM architecture. + */ + architecture?: string | null; /** * Output only. The total size of the disks being migrated in bytes. */ @@ -2572,6 +2588,10 @@ export namespace vmmigration_v1 { * VmwareVmDetails describes a VM in vCenter. */ export interface Schema$VmwareVmDetails { + /** + * Output only. The CPU architecture. + */ + architecture?: string | null; /** * Output only. The VM Boot Option. */ @@ -4345,7 +4365,7 @@ export namespace vmmigration_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/vmmigration/v1alpha1.ts b/src/apis/vmmigration/v1alpha1.ts index 31cf7805aa..5c96beaea0 100644 --- a/src/apis/vmmigration/v1alpha1.ts +++ b/src/apis/vmmigration/v1alpha1.ts @@ -272,6 +272,10 @@ export namespace vmmigration_v1alpha1 { * Represent the source AWS VM details. */ export interface Schema$AwsSourceVmDetails { + /** + * Output only. The VM architecture. + */ + architecture?: string | null; /** * Output only. The total size of the disks being migrated in bytes. */ @@ -429,6 +433,10 @@ export namespace vmmigration_v1alpha1 { * Represent the source Azure VM details. */ export interface Schema$AzureSourceVmDetails { + /** + * Output only. The VM architecture. + */ + architecture?: string | null; /** * Output only. The total size of the disks being migrated in bytes. */ @@ -450,6 +458,10 @@ export namespace vmmigration_v1alpha1 { * AzureVmDetails describes a VM in Azure. */ export interface Schema$AzureVmDetails { + /** + * The CPU architecture. + */ + architecture?: string | null; /** * The VM Boot Option. */ @@ -2713,6 +2725,10 @@ export namespace vmmigration_v1alpha1 { * Represent the source Vmware VM details. */ export interface Schema$VmwareSourceVmDetails { + /** + * Output only. The VM architecture. + */ + architecture?: string | null; /** * Output only. The total size of the disks being migrated in bytes. */ @@ -2734,6 +2750,10 @@ export namespace vmmigration_v1alpha1 { * VmwareVmDetails describes a VM in vCenter. */ export interface Schema$VmwareVmDetails { + /** + * Output only. The CPU architecture. + */ + architecture?: string | null; /** * Output only. The VM Boot Option. */ @@ -4514,7 +4534,7 @@ export namespace vmmigration_v1alpha1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/vmwareengine/v1.ts b/src/apis/vmwareengine/v1.ts index faf3ffb915..362399b53c 100644 --- a/src/apis/vmwareengine/v1.ts +++ b/src/apis/vmwareengine/v1.ts @@ -234,7 +234,7 @@ export namespace vmwareengine_v1 { */ management?: boolean | null; /** - * Output only. The resource name of this cluster. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/clusters/my-cluster` + * Output only. Identifier. The resource name of this cluster. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/clusters/my-cluster` */ name?: string | null; /** @@ -297,7 +297,7 @@ export namespace vmwareengine_v1 { */ forwardingRules?: Schema$ForwardingRule[]; /** - * Output only. The resource name of this DNS profile. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/dnsForwarding` + * Output only. Identifier. The resource name of this DNS profile. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/dnsForwarding` */ name?: string | null; /** @@ -408,7 +408,7 @@ export namespace vmwareengine_v1 { */ internalIp?: string | null; /** - * Output only. The resource name of this external IP address. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/externalAddresses/my-address` + * Output only. Identifier. The resource name of this external IP address. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/externalAddresses/my-address` */ name?: string | null; /** @@ -995,7 +995,7 @@ export namespace vmwareengine_v1 { */ importCustomRoutesWithPublicIp?: boolean | null; /** - * Output only. The resource name of the network peering. NetworkPeering is a global resource and location can only be global. Resource names are scheme-less URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/global/networkPeerings/my-peering` + * Output only. Identifier. The resource name of the network peering. NetworkPeering is a global resource and location can only be global. Resource names are scheme-less URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/global/networkPeerings/my-peering` */ name?: string | null; /** @@ -1056,7 +1056,7 @@ export namespace vmwareengine_v1 { */ internetAccess?: Schema$NetworkService; /** - * Output only. The resource name of this network policy. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1/networkPolicies/my-network-policy` + * Output only. Identifier. The resource name of this network policy. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1/networkPolicies/my-network-policy` */ name?: string | null; /** @@ -1355,7 +1355,7 @@ export namespace vmwareengine_v1 { */ managementCluster?: Schema$ManagementCluster; /** - * Output only. The resource name of this private cloud. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` + * Output only. Identifier. The resource name of this private cloud. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` */ name?: string | null; /** @@ -1544,7 +1544,7 @@ export namespace vmwareengine_v1 { */ ipCidrRange?: string | null; /** - * Output only. The resource name of this subnet. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/subnets/my-subnet` + * Output only. Identifier. The resource name of this subnet. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/subnets/my-subnet` */ name?: string | null; /** @@ -1638,7 +1638,7 @@ export namespace vmwareengine_v1 { */ etag?: string | null; /** - * Output only. The resource name of the VMware Engine network. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/global/vmwareEngineNetworks/my-network` + * Output only. Identifier. The resource name of the VMware Engine network. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/global/vmwareEngineNetworks/my-network` */ name?: string | null; /** @@ -2741,7 +2741,7 @@ export namespace vmwareengine_v1 { export interface Params$Resource$Projects$Locations$Networkpeerings$Patch extends StandardParameters { /** - * Output only. The resource name of the network peering. NetworkPeering is a global resource and location can only be global. Resource names are scheme-less URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/global/networkPeerings/my-peering` + * Output only. Identifier. The resource name of the network peering. NetworkPeering is a global resource and location can only be global. Resource names are scheme-less URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/global/networkPeerings/my-peering` */ name?: string; /** @@ -3510,7 +3510,7 @@ export namespace vmwareengine_v1 { export interface Params$Resource$Projects$Locations$Networkpolicies$Patch extends StandardParameters { /** - * Output only. The resource name of this network policy. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1/networkPolicies/my-network-policy` + * Output only. Identifier. The resource name of this network policy. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1/networkPolicies/my-network-policy` */ name?: string; /** @@ -6045,7 +6045,7 @@ export namespace vmwareengine_v1 { export interface Params$Resource$Projects$Locations$Privateclouds$Patch extends StandardParameters { /** - * Output only. The resource name of this private cloud. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` + * Output only. Identifier. The resource name of this private cloud. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud` */ name?: string; /** @@ -6143,7 +6143,7 @@ export namespace vmwareengine_v1 { export interface Params$Resource$Projects$Locations$Privateclouds$Updatednsforwarding extends StandardParameters { /** - * Output only. The resource name of this DNS profile. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/dnsForwarding` + * Output only. Identifier. The resource name of this DNS profile. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/dnsForwarding` */ name?: string; /** @@ -6966,7 +6966,7 @@ export namespace vmwareengine_v1 { export interface Params$Resource$Projects$Locations$Privateclouds$Clusters$Patch extends StandardParameters { /** - * Output only. The resource name of this cluster. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/clusters/my-cluster` + * Output only. Identifier. The resource name of this cluster. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/clusters/my-cluster` */ name?: string; /** @@ -7736,7 +7736,7 @@ export namespace vmwareengine_v1 { export interface Params$Resource$Projects$Locations$Privateclouds$Externaladdresses$Patch extends StandardParameters { /** - * Output only. The resource name of this external IP address. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/externalAddresses/my-address` + * Output only. Identifier. The resource name of this external IP address. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/externalAddresses/my-address` */ name?: string; /** @@ -9851,7 +9851,7 @@ export namespace vmwareengine_v1 { export interface Params$Resource$Projects$Locations$Privateclouds$Subnets$Patch extends StandardParameters { /** - * Output only. The resource name of this subnet. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/subnets/my-subnet` + * Output only. Identifier. The resource name of this subnet. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/us-central1-a/privateClouds/my-cloud/subnets/my-subnet` */ name?: string; /** @@ -11051,7 +11051,7 @@ export namespace vmwareengine_v1 { export interface Params$Resource$Projects$Locations$Vmwareenginenetworks$Patch extends StandardParameters { /** - * Output only. The resource name of the VMware Engine network. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/global/vmwareEngineNetworks/my-network` + * Output only. Identifier. The resource name of the VMware Engine network. Resource names are schemeless URIs that follow the conventions in https://cloud.google.com/apis/design/resource_names. For example: `projects/my-project/locations/global/vmwareEngineNetworks/my-network` */ name?: string; /** diff --git a/src/apis/walletobjects/v1.ts b/src/apis/walletobjects/v1.ts index e9e6a35d0b..a416fa1033 100644 --- a/src/apis/walletobjects/v1.ts +++ b/src/apis/walletobjects/v1.ts @@ -212,6 +212,10 @@ export namespace walletobjects_v1 { * Optional information about the partner app link. */ androidAppLinkInfo?: Schema$AppLinkDataAppLinkInfo; + /** + * Optional display text for the app link button. Character limit is 30. + */ + displayText?: Schema$LocalizedString; /** * Deprecated. Links to open iOS apps are not supported. */ @@ -639,7 +643,7 @@ export namespace walletobjects_v1 { objectVersion?: string | null; } /** - * Information about how a class may be discovered and instantiated from within the Android Pay app. This is done by searching for a loyalty or gift card program and scanning or manually entering. + * Information about how a class may be discovered and instantiated from within the Google Wallet app. This is done by searching for a loyalty or gift card program and scanning or manually entering. */ export interface Schema$DiscoverableProgram { /** @@ -865,6 +869,10 @@ export namespace walletobjects_v1 { * The logo image of the ticket. This image is displayed in the card detail view of the app. */ logo?: Schema$Image; + /** + * Merchant locations. There is a maximum of ten on the class. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints. + */ + merchantLocations?: Schema$MerchantLocation[]; /** * An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10. */ @@ -873,6 +881,10 @@ export namespace walletobjects_v1 { * Identifies whether multiple users and devices will save the same object referencing this class. */ multipleDevicesAndHoldersAllowedStatus?: string | null; + /** + * Whether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If not specified, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered. + */ + notifyPreference?: string | null; /** * Identifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap. */ @@ -1023,10 +1035,18 @@ export namespace walletobjects_v1 { * Note: This field is currently not supported to trigger geo notifications. */ locations?: Schema$LatLongPoint[]; + /** + * Merchant locations. There is a maximum of ten on the object. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints. + */ + merchantLocations?: Schema$MerchantLocation[]; /** * An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10. */ messages?: Schema$Message[]; + /** + * Whether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered. + */ + notifyPreference?: string | null; /** * Pass constraints for the object. Includes limiting NFC and screenshot behaviors. */ @@ -1295,6 +1315,10 @@ export namespace walletobjects_v1 { * Note: This field is currently not supported to trigger geo notifications. */ locations?: Schema$LatLongPoint[]; + /** + * Merchant locations. There is a maximum of ten on the class. Any additional MerchantLocations added beyond the 10 will be rejected by the validator. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints. + */ + merchantLocations?: Schema$MerchantLocation[]; /** * An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10. */ @@ -1303,6 +1327,10 @@ export namespace walletobjects_v1 { * Identifies whether multiple users and devices will save the same object referencing this class. */ multipleDevicesAndHoldersAllowedStatus?: string | null; + /** + * Whether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If not specified, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered. + */ + notifyPreference?: string | null; /** * Required. Origin airport. */ @@ -1459,10 +1487,18 @@ export namespace walletobjects_v1 { * Note: This field is currently not supported to trigger geo notifications. */ locations?: Schema$LatLongPoint[]; + /** + * Merchant locations. There is a maximum of ten on the object. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints. + */ + merchantLocations?: Schema$MerchantLocation[]; /** * An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10. */ messages?: Schema$Message[]; + /** + * Whether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered. + */ + notifyPreference?: string | null; /** * Pass constraints for the object. Includes limiting NFC and screenshot behaviors. */ @@ -1574,6 +1610,10 @@ export namespace walletobjects_v1 { * Links module data. If `linksModuleData` is also defined on the object, both will be displayed. The maximum number of these fields displayed is 10 from class and 10 from object. */ linksModuleData?: Schema$LinksModuleData; + /** + * Merchant locations. There is a maximum of ten on the class. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints. + */ + merchantLocations?: Schema$MerchantLocation[]; /** * An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10. */ @@ -1689,6 +1729,10 @@ export namespace walletobjects_v1 { * The logo image of the pass. This image is displayed in the card detail view in upper left, and also on the list/thumbnail view. If the logo is not present, the first letter of `cardTitle` would be shown as logo. */ logo?: Schema$Image; + /** + * Merchant locations. There is a maximum of ten on the object. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints. + */ + merchantLocations?: Schema$MerchantLocation[]; /** * An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10. */ @@ -1857,6 +1901,10 @@ export namespace walletobjects_v1 { * Note: This field is currently not supported to trigger geo notifications. */ locations?: Schema$LatLongPoint[]; + /** + * Merchant locations. There is a maximum of ten on the class. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints. + */ + merchantLocations?: Schema$MerchantLocation[]; /** * Merchant name, such as "Adam's Apparel". The app may display an ellipsis after the first 20 characters to ensure full string is displayed on smaller screens. */ @@ -1869,6 +1917,10 @@ export namespace walletobjects_v1 { * Identifies whether multiple users and devices will save the same object referencing this class. */ multipleDevicesAndHoldersAllowedStatus?: string | null; + /** + * Whether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If not specified, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered. + */ + notifyPreference?: string | null; /** * The label to display for the PIN, such as "4-digit PIN". */ @@ -2015,10 +2067,18 @@ export namespace walletobjects_v1 { * Note: This field is currently not supported to trigger geo notifications. */ locations?: Schema$LatLongPoint[]; + /** + * Merchant locations. There is a maximum of ten on the object. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints. + */ + merchantLocations?: Schema$MerchantLocation[]; /** * An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10. */ messages?: Schema$Message[]; + /** + * Whether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered. + */ + notifyPreference?: string | null; /** * Pass constraints for the object. Includes limiting NFC and screenshot behaviors. */ @@ -2396,6 +2456,10 @@ export namespace walletobjects_v1 { * Note: This field is currently not supported to trigger geo notifications. */ locations?: Schema$LatLongPoint[]; + /** + * Merchant locations. There is a maximum of ten on the class. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints. + */ + merchantLocations?: Schema$MerchantLocation[]; /** * An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10. */ @@ -2404,6 +2468,10 @@ export namespace walletobjects_v1 { * Identifies whether multiple users and devices will save the same object referencing this class. */ multipleDevicesAndHoldersAllowedStatus?: string | null; + /** + * Whether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If not specified, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered. + */ + notifyPreference?: string | null; /** * Required. The logo of the loyalty program or company. This logo is displayed in both the details and list views of the app. */ @@ -2566,10 +2634,18 @@ export namespace walletobjects_v1 { * The loyalty reward points label, balance, and type. */ loyaltyPoints?: Schema$LoyaltyPoints; + /** + * Merchant locations. There is a maximum of ten on the object. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints. + */ + merchantLocations?: Schema$MerchantLocation[]; /** * An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10. */ messages?: Schema$Message[]; + /** + * Whether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered. + */ + notifyPreference?: string | null; /** * Pass constraints for the object. Includes limiting NFC and screenshot behaviors. */ @@ -2825,6 +2901,19 @@ export namespace walletobjects_v1 { */ totalBytesIsEstimated?: boolean | null; } + /** + * Locations of interest for this class or object. Currently, this location is used for geofenced notifications. When a user is within a set radius of this lat/long, and dwells there, Google will trigger a notification. When a user exits this radius, the notification will be hidden. + */ + export interface Schema$MerchantLocation { + /** + * The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected. + */ + latitude?: number | null; + /** + * The longitude specified in the range -180.0 through +180.0, both inclusive. Values outside these bounds will be rejected. + */ + longitude?: number | null; + } /** * A message that will be displayed with a Valuable */ @@ -3032,6 +3121,10 @@ export namespace walletobjects_v1 { * Note: This field is currently not supported to trigger geo notifications. */ locations?: Schema$LatLongPoint[]; + /** + * Merchant locations. There is a maximum of ten on the class. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints. + */ + merchantLocations?: Schema$MerchantLocation[]; /** * An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10. */ @@ -3040,6 +3133,10 @@ export namespace walletobjects_v1 { * Identifies whether multiple users and devices will save the same object referencing this class. */ multipleDevicesAndHoldersAllowedStatus?: string | null; + /** + * Whether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If not specified, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered. + */ + notifyPreference?: string | null; /** * Required. The offer provider (either the aggregator name or merchant name). Recommended maximum length is 12 characters to ensure full string is displayed on smaller screens. */ @@ -3182,10 +3279,18 @@ export namespace walletobjects_v1 { * Note: This field is currently not supported to trigger geo notifications. */ locations?: Schema$LatLongPoint[]; + /** + * Merchant locations. There is a maximum of ten on the object. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints. + */ + merchantLocations?: Schema$MerchantLocation[]; /** * An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10. */ messages?: Schema$Message[]; + /** + * Whether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered. + */ + notifyPreference?: string | null; /** * Pass constraints for the object. Includes limiting NFC and screenshot behaviors. */ @@ -3835,6 +3940,10 @@ export namespace walletobjects_v1 { * Required. The logo image of the ticket. This image is displayed in the card detail view of the app. */ logo?: Schema$Image; + /** + * Merchant locations. There is a maximum of ten on the class. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints. + */ + merchantLocations?: Schema$MerchantLocation[]; /** * An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10. */ @@ -3843,6 +3952,10 @@ export namespace walletobjects_v1 { * Identifies whether multiple users and devices will save the same object referencing this class. */ multipleDevicesAndHoldersAllowedStatus?: string | null; + /** + * Whether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered. + */ + notifyPreference?: string | null; /** * Identifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap. */ @@ -3997,10 +4110,18 @@ export namespace walletobjects_v1 { * Note: This field is currently not supported to trigger geo notifications. */ locations?: Schema$LatLongPoint[]; + /** + * Merchant locations. There is a maximum of ten on the object. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints. + */ + merchantLocations?: Schema$MerchantLocation[]; /** * An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10. */ messages?: Schema$Message[]; + /** + * Whether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered. + */ + notifyPreference?: string | null; /** * Pass constraints for the object. Includes limiting NFC and screenshot behaviors. */ diff --git a/src/apis/webrisk/v1.ts b/src/apis/webrisk/v1.ts index 63e85df285..7456ce238e 100644 --- a/src/apis/webrisk/v1.ts +++ b/src/apis/webrisk/v1.ts @@ -482,7 +482,7 @@ export namespace webrisk_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/workflowexecutions/v1.ts b/src/apis/workflowexecutions/v1.ts index 9d3e76c010..c6384461a8 100644 --- a/src/apis/workflowexecutions/v1.ts +++ b/src/apis/workflowexecutions/v1.ts @@ -490,7 +490,7 @@ export namespace workflowexecutions_v1 { */ expectedIteration?: string | null; /** - * Progress number represents the current state of the current progress. eg: A step entry represents the 4th iteration in a progress of PROGRESS_TYPE_FOR. + * Progress number represents the current state of the current progress. eg: A step entry represents the 4th iteration in a progress of PROGRESS_TYPE_FOR. Note: This field is only populated when an iteration exists and the starting value is 1. */ progressNumber?: string | null; /** diff --git a/src/apis/workflows/v1.ts b/src/apis/workflows/v1.ts index ac70f106d3..1ed3dad801 100644 --- a/src/apis/workflows/v1.ts +++ b/src/apis/workflows/v1.ts @@ -357,6 +357,10 @@ export namespace workflows_v1 { * Output only. Error regarding the state of the workflow. For example, this field will have error details if the execution data is unavailable due to revoked KMS key permissions. */ stateError?: Schema$StateError; + /** + * Optional. Input only. Immutable. Tags associated with this workflow. + */ + tags?: {[key: string]: string} | null; /** * Output only. The timestamp for when the workflow was last updated. This is a workflow-wide field and is not tied to a specific revision. */ diff --git a/src/apis/workloadmanager/v1.ts b/src/apis/workloadmanager/v1.ts index deb479ccaf..c155ebd2ea 100644 --- a/src/apis/workloadmanager/v1.ts +++ b/src/apis/workloadmanager/v1.ts @@ -137,31 +137,6 @@ export namespace workloadmanager_v1 { */ parameters?: {[key: string]: string} | null; } - /** - * Provides the mapping of a cloud asset to a direct physical location or to a proxy that defines the location on its behalf. - */ - export interface Schema$AssetLocation { - /** - * Spanner path of the CCFE RMS database. It is only applicable for CCFE tenants that use CCFE RMS for storing resource metadata. - */ - ccfeRmsPath?: string | null; - /** - * Defines the customer expectation around ZI/ZS for this asset and ZI/ZS state of the region at the time of asset creation. - */ - expected?: Schema$IsolationExpectations; - /** - * Defines extra parameters required for specific asset types. - */ - extraParameters?: Schema$ExtraParameter[]; - /** - * Contains all kinds of physical location definitions for this asset. - */ - locationData?: Schema$LocationData[]; - /** - * Defines parents assets if any in order to allow later generation of child_asset_location data via child assets. - */ - parentAsset?: Schema$CloudAsset[]; - } /** * Message describing big query destination */ @@ -175,23 +150,10 @@ export namespace workloadmanager_v1 { */ destinationDataset?: string | null; } - /** - * Policy ID that identified data placement in Blobstore as per go/blobstore-user-guide#data-metadata-placement-and-failure-domains - */ - export interface Schema$BlobstoreLocation { - policyId?: string[] | null; - } /** * The request message for Operations.CancelOperation. */ export interface Schema$CancelOperationRequest {} - export interface Schema$CloudAsset { - assetName?: string | null; - assetType?: string | null; - } - export interface Schema$CloudAssetComposition { - childAsset?: Schema$CloudAsset[]; - } /** * * Command specifies the type of command to execute. */ @@ -205,9 +167,6 @@ export namespace workloadmanager_v1 { */ shellCommand?: Schema$ShellCommand; } - export interface Schema$DirectLocationAssignment { - location?: Schema$LocationAssignment[]; - } /** * A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); \} */ @@ -232,6 +191,10 @@ export namespace workloadmanager_v1 { * Description of the Evaluation */ description?: string | null; + /** + * Evaluation type + */ + evaluationType?: string | null; /** * Labels as key value pairs */ @@ -293,6 +256,18 @@ export namespace workloadmanager_v1 { * The name of execution resource. The format is projects/{project\}/locations/{location\}/evaluations/{evaluation\}/executions/{execution\} */ name?: string | null; + /** + * Output only. Additional information generated by the execution + */ + notices?: Schema$Notice[]; + /** + * Output only. [Output only] Result summary + */ + resultSummary?: Schema$Summary; + /** + * Output only. execution result summary per rule + */ + ruleResults?: Schema$RuleExecutionResult[]; /** * type represent whether the execution executed directly by user or scheduled according evaluation.schedule field. */ @@ -330,6 +305,10 @@ export namespace workloadmanager_v1 { * The severity of violation. */ severity?: string | null; + /** + * Execution result type of the scanned resource + */ + type?: string | null; /** * The details of violation in an evaluation result. */ @@ -360,15 +339,6 @@ export namespace workloadmanager_v1 { */ uri?: string | null; } - /** - * Defines parameters that should only be used for specific asset types. - */ - export interface Schema$ExtraParameter { - /** - * Details about zones used by regional compute.googleapis.com/InstanceGroupManager to create instances. - */ - regionalMigDistributionPolicy?: Schema$RegionalMigDistributionPolicy; - } /** * Message describing compute engine instance filter */ @@ -402,25 +372,10 @@ export namespace workloadmanager_v1 { * The insights data for the sqlserver workload validation. */ sqlserverValidation?: Schema$SqlserverValidation; - } - export interface Schema$IsolationExpectations { - /** - * Explicit overrides for ZI and ZS requirements to be used for resources that should be excluded from ZI/ZS verification logic. - */ - requirementOverride?: Schema$RequirementOverride; - ziOrgPolicy?: string | null; - ziRegionPolicy?: string | null; - ziRegionState?: string | null; /** - * Deprecated: use zi_org_policy, zi_region_policy and zi_region_state instead for setting ZI expectations as per go/zicy-publish-physical-location. + * The insights data for workload validation of torso workloads. */ - zoneIsolation?: string | null; - /** - * Deprecated: use zs_org_policy, and zs_region_stateinstead for setting Zs expectations as per go/zicy-publish-physical-location. - */ - zoneSeparation?: string | null; - zsOrgPolicy?: string | null; - zsRegionState?: string | null; + torsoValidation?: Schema$TorsoValidation; } /** * Message for response to listing Evaluations @@ -546,17 +501,14 @@ export namespace workloadmanager_v1 { */ name?: string | null; } - export interface Schema$LocationAssignment { - location?: string | null; - locationType?: string | null; - } - export interface Schema$LocationData { - blobstoreLocation?: Schema$BlobstoreLocation; - childAssetLocation?: Schema$CloudAssetComposition; - directLocation?: Schema$DirectLocationAssignment; - gcpProjectProxy?: Schema$TenantProjectProxy; - placerLocation?: Schema$PlacerLocation; - spannerLocation?: Schema$SpannerLocation; + /** + * Message for additional information generated by the execution + */ + export interface Schema$Notice { + /** + * Output only. Message of the notice + */ + message?: string | null; } /** * This resource represents a long-running operation that is the result of a network API call. @@ -616,32 +568,6 @@ export namespace workloadmanager_v1 { */ verb?: string | null; } - /** - * Message describing that the location of the customer resource is tied to placer allocations - */ - export interface Schema$PlacerLocation { - /** - * Directory with a config related to it in placer (e.g. "/placer/prod/home/my-root/my-dir") - */ - placerConfig?: string | null; - } - /** - * To be used for specifying the intended distribution of regional compute.googleapis.com/InstanceGroupManager instances - */ - export interface Schema$RegionalMigDistributionPolicy { - /** - * The shape in which the group converges around distribution of resources. Instance of proto2 enum - */ - targetShape?: number | null; - /** - * Cloud zones used by regional MIG to create instances. - */ - zones?: Schema$ZoneConfiguration[]; - } - export interface Schema$RequirementOverride { - ziOverride?: string | null; - zsOverride?: string | null; - } /** * Message represent resource in execution result */ @@ -742,6 +668,31 @@ export namespace workloadmanager_v1 { */ uri?: string | null; } + /** + * Message for execution result summary per rule + */ + export interface Schema$RuleExecutionResult { + /** + * Execution message, if any + */ + message?: string | null; + /** + * Number of violations + */ + resultCount?: string | null; + /** + * rule name + */ + rule?: string | null; + /** + * Number of total scanned resources + */ + scannedResourceCount?: string | null; + /** + * Output only. The execution status + */ + state?: string | null; + } /** * Message for creating a Execution */ @@ -965,6 +916,10 @@ export namespace workloadmanager_v1 { * Optional. Bitmask of instance role, a resource may have multiple roles at once. */ instanceRole?: string | null; + /** + * Optional. Instance is part of a DR site. + */ + isDrSite?: boolean | null; /** * Optional. A virtual hostname of the instance if it has one. */ @@ -1094,16 +1049,6 @@ export namespace workloadmanager_v1 { */ timeoutSeconds?: number | null; } - export interface Schema$SpannerLocation { - /** - * Set of backups used by the resource with name in the same format as what is available at http://table/spanner_automon.backup_metadata - */ - backupName?: string[] | null; - /** - * Set of databases used by the resource in format /span// - */ - dbName?: string[] | null; - } /** * A presentation of SQLServer workload insight. The schema of SqlServer workloads validation related data. */ @@ -1164,8 +1109,47 @@ export namespace workloadmanager_v1 { */ message?: string | null; } - export interface Schema$TenantProjectProxy { - projectNumbers?: string[] | null; + /** + * Message for execution summary + */ + export interface Schema$Summary { + /** + * Output only. Number of failures + */ + failures?: string | null; + /** + * Output only. Number of new failures compared to the previous execution + */ + newFailures?: string | null; + /** + * Output only. Number of new fixes compared to the previous execution + */ + newFixes?: string | null; + } + /** + * The schema of torso workload validation data. + */ + export interface Schema$TorsoValidation { + /** + * Required. agent_version lists the version of the agent that collected this data. + */ + agentVersion?: string | null; + /** + * Required. instance_name lists the human readable name of the instance that the data comes from. + */ + instanceName?: string | null; + /** + * Required. project_id lists the human readable cloud project that the data comes from. + */ + projectId?: string | null; + /** + * Required. validation_details contains the pairs of validation data: field name & field value. + */ + validationDetails?: {[key: string]: string} | null; + /** + * Required. workload_type specifies the type of torso workload. + */ + workloadType?: string | null; } /** * Message describing the violation in an evaluation result. @@ -1205,9 +1189,6 @@ export namespace workloadmanager_v1 { * The response for write insights request. */ export interface Schema$WriteInsightResponse {} - export interface Schema$ZoneConfiguration { - zone?: string | null; - } export class Resource$Projects { context: APIRequestContext; @@ -2689,7 +2670,7 @@ export namespace workloadmanager_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/workspaceevents/v1.ts b/src/apis/workspaceevents/v1.ts index 468838121f..b1cff67934 100644 --- a/src/apis/workspaceevents/v1.ts +++ b/src/apis/workspaceevents/v1.ts @@ -232,7 +232,7 @@ export namespace workspaceevents_v1 { */ expireTime?: string | null; /** - * Optional. Immutable. Identifier. Resource name of the subscription. Format: `subscriptions/{subscription\}` + * Identifier. Resource name of the subscription. Format: `subscriptions/{subscription\}` */ name?: string | null; /** @@ -816,7 +816,7 @@ export namespace workspaceevents_v1 { } /** - * [Developer Preview](https://developers.google.com/workspace/preview): Reactivates a suspended Google Workspace subscription. This method resets your subscription's `State` field to `ACTIVE`. Before you use this method, you must fix the error that suspended the subscription. To learn how to use this method, see [Reactivate a Google Workspace subscription](https://developers.google.com/workspace/events/guides/reactivate-subscription). + * [Developer Preview](https://developers.google.com/workspace/preview): Reactivates a suspended Google Workspace subscription. This method resets your subscription's `State` field to `ACTIVE`. Before you use this method, you must fix the error that suspended the subscription. This method will ignore or reject any subscription that isn't currently in a suspended state. To learn how to use this method, see [Reactivate a Google Workspace subscription](https://developers.google.com/workspace/events/guides/reactivate-subscription). * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -961,7 +961,7 @@ export namespace workspaceevents_v1 { export interface Params$Resource$Subscriptions$Patch extends StandardParameters { /** - * Optional. Immutable. Identifier. Resource name of the subscription. Format: `subscriptions/{subscription\}` + * Identifier. Resource name of the subscription. Format: `subscriptions/{subscription\}` */ name?: string; /** diff --git a/src/apis/workstations/v1.ts b/src/apis/workstations/v1.ts index a5096cb444..eaf1f2cf33 100644 --- a/src/apis/workstations/v1.ts +++ b/src/apis/workstations/v1.ts @@ -180,6 +180,35 @@ export namespace workstations_v1 { */ role?: string | null; } + /** + * A boost configuration is a set of resources that a workstation can use to increase its performance. If you specify a boost configuration, upon startup, workstation users can choose to use a VM provisioned under the boost config by passing the boost config ID in the start request. If the workstation user does not provide a boost config ID in the start request, the system will choose a VM from the pool provisioned under the default config. + */ + export interface Schema$BoostConfig { + /** + * Optional. A list of the type and count of accelerator cards attached to the boost instance. Defaults to `none`. + */ + accelerators?: Schema$Accelerator[]; + /** + * Optional. The size of the boot disk for the VM in gigabytes (GB). The minimum boot disk size is `30` GB. Defaults to `50` GB. + */ + bootDiskSizeGb?: number | null; + /** + * Optional. Whether to enable nested virtualization on boosted Cloud Workstations VMs running using this boost configuration. Defaults to false. Nested virtualization lets you run virtual machine (VM) instances inside your workstation. Before enabling nested virtualization, consider the following important considerations. Cloud Workstations instances are subject to the [same restrictions as Compute Engine instances](https://cloud.google.com/compute/docs/instances/nested-virtualization/overview#restrictions): * **Organization policy**: projects, folders, or organizations may be restricted from creating nested VMs if the **Disable VM nested virtualization** constraint is enforced in the organization policy. For more information, see the Compute Engine section, [Checking whether nested virtualization is allowed](https://cloud.google.com/compute/docs/instances/nested-virtualization/managing-constraint#checking_whether_nested_virtualization_is_allowed). * **Performance**: nested VMs might experience a 10% or greater decrease in performance for workloads that are CPU-bound and possibly greater than a 10% decrease for workloads that are input/output bound. * **Machine Type**: nested virtualization can only be enabled on boost configurations that specify a machine_type in the N1 or N2 machine series. + */ + enableNestedVirtualization?: boolean | null; + /** + * Required. The ID to be used for the boost configuration. + */ + id?: string | null; + /** + * Optional. The type of machine that boosted VM instances will use—for example, `e2-standard-4`. For more information about machine types that Cloud Workstations supports, see the list of [available machine types](https://cloud.google.com/workstations/docs/available-machine-types). Defaults to `e2-standard-4`. + */ + machineType?: string | null; + /** + * Optional. The number of boost VMs that the system should keep idle so that workstations can be boosted quickly. Defaults to `0`. + */ + poolSize?: number | null; + } /** * The request message for Operations.CancelOperation. */ @@ -286,6 +315,10 @@ export namespace workstations_v1 { * Optional. A list of the type and count of accelerator cards attached to the instance. */ accelerators?: Schema$Accelerator[]; + /** + * Optional. A list of the boost configurations that workstations created using this workstation configuration are allowed to use. If specified, users will have the option to choose from the list of boost configs when starting a workstation. + */ + boostConfigs?: Schema$BoostConfig[]; /** * Optional. The size of the boot disk for the VM in gigabytes (GB). The minimum boot disk size is `30` GB. Defaults to `50` GB. */ @@ -339,6 +372,23 @@ export namespace workstations_v1 { */ vmTags?: {[key: string]: string} | null; } + /** + * The Compute Engine instance host. + */ + export interface Schema$GceInstanceHost { + /** + * Optional. Output only. The ID of the Compute Engine instance. + */ + id?: string | null; + /** + * Optional. Output only. The name of the Compute Engine instance. + */ + name?: string | null; + /** + * Optional. Output only. The zone of the Compute Engine instance. + */ + zone?: string | null; + } /** * An EphemeralDirectory is backed by a Compute Engine persistent disk. */ @@ -640,7 +690,7 @@ export namespace workstations_v1 { verb?: string | null; } /** - * A directory to persist across workstation sessions. + * A directory to persist across workstation sessions. Updates to this field will not update existing workstations and will only take effect on new workstations. */ export interface Schema$PersistentDirectory { /** @@ -720,6 +770,15 @@ export namespace workstations_v1 { */ port?: number | null; } + /** + * Runtime host for the workstation. + */ + export interface Schema$RuntimeHost { + /** + * Specifies a Compute Engine instance as the host. + */ + gceInstanceHost?: Schema$GceInstanceHost; + } /** * Request message for `SetIamPolicy` method. */ @@ -737,6 +796,10 @@ export namespace workstations_v1 { * Request message for StartWorkstation. */ export interface Schema$StartWorkstationRequest { + /** + * Optional. If set, the workstation starts using the boost configuration with the specified ID. + */ + boostConfig?: string | null; /** * Optional. If set, the request will be rejected if the latest version of the workstation on the server does not have this ETag. */ @@ -842,6 +905,14 @@ export namespace workstations_v1 { * Output only. Indicates whether this workstation is currently being updated to match its intended state. */ reconciling?: boolean | null; + /** + * Optional. Output only. Runtime host for the workstation when in STATE_RUNNING. + */ + runtimeHost?: Schema$RuntimeHost; + /** + * Optional. The source workstation from which this workstation's persistent directories were cloned on creation. + */ + sourceWorkstation?: string | null; /** * Output only. Time when this workstation was most recently successfully started, regardless of the workstation's initial state. */ @@ -923,6 +994,10 @@ export namespace workstations_v1 { * Immutable. Name of the Compute Engine subnetwork in which instances associated with this workstation cluster will be created. Must be part of the subnetwork specified for this workstation cluster. */ subnetwork?: string | null; + /** + * Optional. Tag keys/values directly bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing" + */ + tags?: {[key: string]: string} | null; /** * Output only. A system-assigned unique identifier for this workstation cluster. */ @@ -1277,7 +1352,7 @@ export namespace workstations_v1 { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3372,7 +3447,7 @@ export namespace workstations_v1 { } /** - * Returns a short-lived credential that can be used to send authenticated and authorized traffic to a workstation. + * Returns a short-lived credential that can be used to send authenticated and authorized traffic to a workstation. Once generated this token cannot be revoked and is good for the lifetime of the token. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/workstations/v1beta.ts b/src/apis/workstations/v1beta.ts index 94d1ed4dde..4c729deb31 100644 --- a/src/apis/workstations/v1beta.ts +++ b/src/apis/workstations/v1beta.ts @@ -181,7 +181,7 @@ export namespace workstations_v1beta { role?: string | null; } /** - * A configuration that workstations can boost to. + * A boost configuration is a set of resources that a workstation can use to increase its performance. If you specify a boost configuration, upon startup, workstation users can choose to use a VM provisioned under the boost config by passing the boost config ID in the start request. If the workstation user does not provide a boost config ID in the start request, the system will choose a VM from the pool provisioned under the default config. */ export interface Schema$BoostConfig { /** @@ -197,7 +197,7 @@ export namespace workstations_v1beta { */ enableNestedVirtualization?: boolean | null; /** - * Optional. Required. The id to be used for the boost configuration. + * Required. The ID to be used for the boost configuration. */ id?: string | null; /** @@ -316,7 +316,7 @@ export namespace workstations_v1beta { */ accelerators?: Schema$Accelerator[]; /** - * Optional. A list of the boost configurations that workstations created using this workstation configuration are allowed to use. + * Optional. A list of the boost configurations that workstations created using this workstation configuration are allowed to use. If specified, users will have the option to choose from the list of boost configs when starting a workstation. */ boostConfigs?: Schema$BoostConfig[]; /** @@ -372,6 +372,23 @@ export namespace workstations_v1beta { */ vmTags?: {[key: string]: string} | null; } + /** + * The Compute Engine instance host. + */ + export interface Schema$GceInstanceHost { + /** + * Optional. Output only. The ID of the Compute Engine instance. + */ + id?: string | null; + /** + * Optional. Output only. The name of the Compute Engine instance. + */ + name?: string | null; + /** + * Optional. Output only. The zone of the Compute Engine instance. + */ + zone?: string | null; + } /** * An EphemeralDirectory is backed by a Compute Engine persistent disk. */ @@ -486,6 +503,10 @@ export namespace workstations_v1beta { * Optional. By default, the workstations service makes sure that all requests to the workstation are authenticated. CORS preflight requests do not include cookies or custom headers, and so are considered unauthenticated and blocked by the workstations service. Enabling this option allows these unauthenticated CORS preflight requests through to the workstation, where it becomes the responsibility of the destination server in the workstation to validate the request. */ allowedUnauthenticatedCorsPreflightRequests?: boolean | null; + /** + * Optional. By default, the workstations service replaces references to localhost, 127.0.0.1, and 0.0.0.0 with the workstation's hostname in http responses from the workstation so that applications under development run properly on the workstation. This may intefere with some applications, and so this option allows that behavior to be disabled. + */ + disableLocalhostReplacement?: boolean | null; } /** * The response message for Operations.ListOperations. @@ -644,7 +665,7 @@ export namespace workstations_v1beta { verb?: string | null; } /** - * A directory to persist across workstation sessions. + * A directory to persist across workstation sessions. Updates to this field will not update existing workstations and will only take effect on new workstations. */ export interface Schema$PersistentDirectory { /** @@ -724,6 +745,15 @@ export namespace workstations_v1beta { */ port?: number | null; } + /** + * Runtime host for the workstation. + */ + export interface Schema$RuntimeHost { + /** + * Specifies a Compute Engine instance as the host. + */ + gceInstanceHost?: Schema$GceInstanceHost; + } /** * Request message for `SetIamPolicy` method. */ @@ -854,6 +884,10 @@ export namespace workstations_v1beta { * Output only. Indicates whether this workstation is currently being updated to match its intended state. */ reconciling?: boolean | null; + /** + * Optional. Output only. Runtime host for the workstation when in STATE_RUNNING. + */ + runtimeHost?: Schema$RuntimeHost; /** * Output only. Reserved for future use. */ @@ -964,6 +998,10 @@ export namespace workstations_v1beta { * Immutable. Name of the Compute Engine subnetwork in which instances associated with this workstation cluster will be created. Must be part of the subnetwork specified for this workstation cluster. */ subnetwork?: string | null; + /** + * Optional. Tag keys/values directly bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing" + */ + tags?: {[key: string]: string} | null; /** * Output only. A system-assigned unique identifier for this workstation cluster. */ @@ -1125,7 +1163,7 @@ export namespace workstations_v1beta { } /** - * 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`. + * 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`. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. @@ -3223,7 +3261,7 @@ export namespace workstations_v1beta { } /** - * Returns a short-lived credential that can be used to send authenticated and authorized traffic to a workstation. + * Returns a short-lived credential that can be used to send authenticated and authorized traffic to a workstation. Once generated this token cannot be revoked and is good for the lifetime of the token. * * @param params - Parameters for request * @param options - Optionally override request options, such as `url`, `method`, and `encoding`. diff --git a/src/apis/youtube/v3.ts b/src/apis/youtube/v3.ts index bbbc613a33..330f84d39c 100644 --- a/src/apis/youtube/v3.ts +++ b/src/apis/youtube/v3.ts @@ -1146,6 +1146,10 @@ export namespace youtube_v3 { * Information specific to billing (read-only). */ billingDetails?: Schema$ChannelToStoreLinkDetailsBillingDetails; + /** + * Information specific to merchant affiliate program (read-only). + */ + merchantAffiliateProgramDetails?: Schema$ChannelToStoreLinkDetailsMerchantAffiliateProgramDetails; /** * Google Merchant Center id of the store. */ @@ -1168,6 +1172,15 @@ export namespace youtube_v3 { */ billingStatus?: string | null; } + /** + * Information specific to merchant affiliate program. + */ + export interface Schema$ChannelToStoreLinkDetailsMerchantAffiliateProgramDetails { + /** + * The current merchant affiliate program status. + */ + status?: string | null; + } /** * A *comment* represents a single YouTube comment. */ @@ -1965,7 +1978,7 @@ export namespace youtube_v3 { streamName?: string | null; } /** - * LINT.IfChange Describes an invideo branding. + * Describes an invideo branding. */ export interface Schema$InvideoBranding { /** @@ -3172,7 +3185,7 @@ export namespace youtube_v3 { */ items?: Schema$PlaylistItem[]; /** - * Identifies what kind of resource this is. Value: the fixed string "youtube#playlistItemListResponse". Etag of this resource. + * Identifies what kind of resource this is. Value: the fixed string "youtube#playlistItemListResponse". */ kind?: string | null; /** @@ -3721,6 +3734,10 @@ export namespace youtube_v3 { stickerId?: string | null; } export interface Schema$TestItem { + /** + * Etag for the resource. See https://en.wikipedia.org/wiki/HTTP_ETag. + */ + etag?: string | null; featuredPart?: boolean | null; gaia?: string | null; id?: string | null; @@ -4332,7 +4349,7 @@ export namespace youtube_v3 { */ concurrentViewers?: string | null; /** - * The time that the broadcast is scheduled to end. If the value is empty or the property is not present, then the broadcast is scheduled to contiue indefinitely. + * The time that the broadcast is scheduled to end. If the value is empty or the property is not present, then the broadcast is scheduled to continue indefinitely. */ scheduledEndTime?: string | null; /** @@ -4555,6 +4572,10 @@ export namespace youtube_v3 { * Basic details about a video category, such as its localized title. Next Id: 19 */ export interface Schema$VideoStatus { + /** + * Indicates if the video contains altered or synthetic media. + */ + containsSyntheticMedia?: boolean | null; /** * This value indicates if the video can be embedded on another website. @mutable youtube.videos.insert youtube.videos.update */ @@ -4616,7 +4637,7 @@ export namespace youtube_v3 { tagSuggestions?: Schema$VideoSuggestionsTagSuggestion[]; } /** - * A single tag suggestion with it's relevance information. + * A single tag suggestion with its relevance information. */ export interface Schema$VideoSuggestionsTagSuggestion { /** @@ -8788,7 +8809,7 @@ export namespace youtube_v3 { */ liveChatId?: string; /** - * The *maxResults* parameter specifies the maximum number of items that should be returned in the result set. + * The *maxResults* parameter specifies the maximum number of items that should be returned in the result set. Not used in the streaming RPC. */ maxResults?: number; /** diff --git a/src/index.ts b/src/index.ts index 902c620ad8..ed413ed184 100644 --- a/src/index.ts +++ b/src/index.ts @@ -76,6 +76,7 @@ export {apphub_v1} from './apis/apphub/v1'; export {apphub_v1alpha} from './apis/apphub/v1alpha'; export {appsactivity_v1} from './apis/appsactivity/v1'; export {area120tables_v1alpha1} from './apis/area120tables/v1alpha1'; +export {areainsights_v1} from './apis/areainsights/v1'; export {artifactregistry_v1} from './apis/artifactregistry/v1'; export {artifactregistry_v1beta1} from './apis/artifactregistry/v1beta1'; export {artifactregistry_v1beta2} from './apis/artifactregistry/v1beta2'; @@ -355,9 +356,13 @@ export {merchantapi_products_v1beta} from './apis/merchantapi/products_v1beta'; export {merchantapi_promotions_v1beta} from './apis/merchantapi/promotions_v1beta'; export {merchantapi_quota_v1beta} from './apis/merchantapi/quota_v1beta'; export {merchantapi_reports_v1beta} from './apis/merchantapi/reports_v1beta'; +export {merchantapi_reviews_v1beta} from './apis/merchantapi/reviews_v1beta'; export {metastore_v1} from './apis/metastore/v1'; export {metastore_v1alpha} from './apis/metastore/v1alpha'; export {metastore_v1beta} from './apis/metastore/v1beta'; +export {metastore_v2} from './apis/metastore/v2'; +export {metastore_v2alpha} from './apis/metastore/v2alpha'; +export {metastore_v2beta} from './apis/metastore/v2beta'; export {migrationcenter_v1} from './apis/migrationcenter/v1'; export {migrationcenter_v1alpha1} from './apis/migrationcenter/v1alpha1'; export {ml_v1} from './apis/ml/v1'; @@ -371,6 +376,8 @@ export {mybusinessnotifications_v1} from './apis/mybusinessnotifications/v1'; export {mybusinessplaceactions_v1} from './apis/mybusinessplaceactions/v1'; export {mybusinessqanda_v1} from './apis/mybusinessqanda/v1'; export {mybusinessverifications_v1} from './apis/mybusinessverifications/v1'; +export {netapp_v1} from './apis/netapp/v1'; +export {netapp_v1beta1} from './apis/netapp/v1beta1'; export {networkconnectivity_v1} from './apis/networkconnectivity/v1'; export {networkconnectivity_v1alpha1} from './apis/networkconnectivity/v1alpha1'; export {networkmanagement_v1} from './apis/networkmanagement/v1'; @@ -389,10 +396,13 @@ export {orgpolicy_v2} from './apis/orgpolicy/v2'; export {osconfig_v1} from './apis/osconfig/v1'; export {osconfig_v1alpha} from './apis/osconfig/v1alpha'; export {osconfig_v1beta} from './apis/osconfig/v1beta'; +export {osconfig_v2beta} from './apis/osconfig/v2beta'; export {oslogin_v1} from './apis/oslogin/v1'; export {oslogin_v1alpha} from './apis/oslogin/v1alpha'; export {oslogin_v1beta} from './apis/oslogin/v1beta'; export {pagespeedonline_v5} from './apis/pagespeedonline/v5'; +export {parallelstore_v1} from './apis/parallelstore/v1'; +export {parallelstore_v1beta} from './apis/parallelstore/v1beta'; export {paymentsresellersubscription_v1} from './apis/paymentsresellersubscription/v1'; export {people_v1} from './apis/people/v1'; export {places_v1} from './apis/places/v1'; @@ -461,6 +471,7 @@ export {securitycenter_v1beta1} from './apis/securitycenter/v1beta1'; export {securitycenter_v1beta2} from './apis/securitycenter/v1beta2'; export {securitycenter_v1p1alpha1} from './apis/securitycenter/v1p1alpha1'; export {securitycenter_v1p1beta1} from './apis/securitycenter/v1p1beta1'; +export {securityposture_v1} from './apis/securityposture/v1'; export {serviceconsumermanagement_v1} from './apis/serviceconsumermanagement/v1'; export {serviceconsumermanagement_v1beta1} from './apis/serviceconsumermanagement/v1beta1'; export {servicecontrol_v1} from './apis/servicecontrol/v1';